ZGlmZiAtLWdpdCBhL25kbmJvb3N0L2FsaWduZWRfc3RvcmFnZS5ocHAgYi9uZG5ib29zdC9hbGlnbmVkX3N0b3JhZ2UuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE0NjJiYjkKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9hbGlnbmVkX3N0b3JhZ2UuaHBwCkBAIC0wLDAgKzEsMTgxIEBACisvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisvLyBib29zdCBhbGlnbmVkX3N0b3JhZ2UuaHBwIGhlYWRlciBmaWxlCisvLyBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcgZm9yIHVwZGF0ZXMsIGRvY3VtZW50YXRpb24sIGFuZCByZXZpc2lvbiBoaXN0b3J5LgorLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLy8KKy8vIENvcHlyaWdodCAoYykgMjAwMi0yMDAzCisvLyBFcmljIEZyaWVkbWFuLCBJdGF5IE1hbWFuCisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAoU2VlCisvLyBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorCisjaWZuZGVmIEJPT1NUX0FMSUdORURfU1RPUkFHRV9IUFAKKyNkZWZpbmUgQk9PU1RfQUxJR05FRF9TVE9SQUdFX0hQUAorCisjaW5jbHVkZSA8Y3N0ZGRlZj4gLy8gZm9yIHN0ZDo6c2l6ZV90CisKKyNpbmNsdWRlICJuZG5ib29zdC9jb25maWcuaHBwIgorI2luY2x1ZGUgIm5kbmJvb3N0L2RldGFpbC93b3JrYXJvdW5kLmhwcCIKKyNpbmNsdWRlICJuZG5ib29zdC90eXBlX3RyYWl0cy9hbGlnbm1lbnRfb2YuaHBwIgorI2luY2x1ZGUgIm5kbmJvb3N0L3R5cGVfdHJhaXRzL3R5cGVfd2l0aF9hbGlnbm1lbnQuaHBwIgorI2luY2x1ZGUgIm5kbmJvb3N0L3R5cGVfdHJhaXRzL2lzX3BvZC5ocHAiCisKKyNpbmNsdWRlICJuZG5ib29zdC9tcGwvZXZhbF9pZi5ocHAiCisjaW5jbHVkZSAibmRuYm9vc3QvbXBsL2lkZW50aXR5LmhwcCIKKworI2luY2x1ZGUgIm5kbmJvb3N0L3R5cGVfdHJhaXRzL2RldGFpbC9ib29sX3RyYWl0X2RlZi5ocHAiCisKK25hbWVzcGFjZSBuZG5ib29zdCB7CisKK25hbWVzcGFjZSBkZXRhaWwgeyBuYW1lc3BhY2UgYWxpZ25lZF9zdG9yYWdlIHsKKworQk9PU1RfU1RBVElDX0NPTlNUQU5UKAorICAgICAgc3RkOjpzaXplX3QKKyAgICAsIGFsaWdubWVudF9vZl9tYXhfYWxpZ24gPSA6Om5kbmJvb3N0OjphbGlnbm1lbnRfb2Y8bWF4X2FsaWduPjo6dmFsdWUKKyAgICApOworCisvLworLy8gVG8gYmUgVFIxIGNvbmZvcm1pbmcgdGhpcyBtdXN0IGJlIGEgUE9EIHR5cGU6CisvLwordGVtcGxhdGUgPAorICAgICAgc3RkOjpzaXplX3Qgc2l6ZV8KKyAgICAsIHN0ZDo6c2l6ZV90IGFsaWdubWVudF8KKz4KK3N0cnVjdCBhbGlnbmVkX3N0b3JhZ2VfaW1wCit7CisgICAgdW5pb24gZGF0YV90CisgICAgeworICAgICAgICBjaGFyIGJ1ZltzaXplX107CisKKyAgICAgICAgdHlwZW5hbWUgbXBsOjpldmFsX2lmX2M8CisgICAgICAgICAgICAgIGFsaWdubWVudF8gPT0gc3RkOjpzaXplX3QoLTEpCisgICAgICAgICAgICAsIG1wbDo6aWRlbnRpdHk8ZGV0YWlsOjptYXhfYWxpZ24+CisgICAgICAgICAgICAsIHR5cGVfd2l0aF9hbGlnbm1lbnQ8YWxpZ25tZW50Xz4KKyAgICAgICAgICAgID46OnR5cGUgYWxpZ25fOworICAgIH0gZGF0YV87CisgICAgdm9pZCogYWRkcmVzcygpIGNvbnN0IHsgcmV0dXJuIGNvbnN0X2Nhc3Q8YWxpZ25lZF9zdG9yYWdlX2ltcCo+KHRoaXMpOyB9Cit9OworCit0ZW1wbGF0ZTwgc3RkOjpzaXplX3QgYWxpZ25tZW50XyA+CitzdHJ1Y3QgYWxpZ25lZF9zdG9yYWdlX2ltcDwwdSxhbGlnbm1lbnRfPgoreworICAgIC8qIGludGVudGlvbmFsbHkgZW1wdHkgKi8KKyAgICB2b2lkKiBhZGRyZXNzKCkgY29uc3QgeyByZXR1cm4gMDsgfQorfTsKKworfX0gLy8gbmFtZXNwYWNlIGRldGFpbDo6YWxpZ25lZF9zdG9yYWdlCisKK3RlbXBsYXRlIDwKKyAgICAgIHN0ZDo6c2l6ZV90IHNpemVfCisgICAgLCBzdGQ6OnNpemVfdCBhbGlnbm1lbnRfID0gc3RkOjpzaXplX3QoLTEpCis+CitjbGFzcyBhbGlnbmVkX3N0b3JhZ2UgOiAKKyNpZm5kZWYgX19CT1JMQU5EQ19fCisgICBwcml2YXRlIAorI2Vsc2UKKyAgIHB1YmxpYworI2VuZGlmCisgICBkZXRhaWw6OmFsaWduZWRfc3RvcmFnZTo6YWxpZ25lZF9zdG9yYWdlX2ltcDxzaXplXywgYWxpZ25tZW50Xz4gCit7CisgCitwdWJsaWM6IC8vIGNvbnN0YW50cworCisgICAgdHlwZWRlZiBkZXRhaWw6OmFsaWduZWRfc3RvcmFnZTo6YWxpZ25lZF9zdG9yYWdlX2ltcDxzaXplXywgYWxpZ25tZW50Xz4gdHlwZTsKKworICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVCgKKyAgICAgICAgICBzdGQ6OnNpemVfdAorICAgICAgICAsIHNpemUgPSBzaXplXworICAgICAgICApOworICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVCgKKyAgICAgICAgICBzdGQ6OnNpemVfdAorICAgICAgICAsIGFsaWdubWVudCA9ICgKKyAgICAgICAgICAgICAgYWxpZ25tZW50XyA9PSBzdGQ6OnNpemVfdCgtMSkKKyAgICAgICAgICAgID8gOjpuZG5ib29zdDo6ZGV0YWlsOjphbGlnbmVkX3N0b3JhZ2U6OmFsaWdubWVudF9vZl9tYXhfYWxpZ24KKyAgICAgICAgICAgIDogYWxpZ25tZW50XworICAgICAgICAgICAgKQorICAgICAgICApOworCisjaWYgZGVmaW5lZChfX0dOVUNfXykgJiZcCisgICAgKF9fR05VQ19fID4gIDMpIHx8XAorICAgIChfX0dOVUNfXyA9PSAzICYmIChfX0dOVUNfTUlOT1JfXyA+ICAyIHx8XAorICAgICAgICAgICAgICAgICAgICAgIChfX0dOVUNfTUlOT1JfXyA9PSAyICYmIF9fR05VQ19QQVRDSExFVkVMX18gPj0zKSkpCisKK3ByaXZhdGU6IC8vIG5vbmNvcHlhYmxlCisKKyAgICBhbGlnbmVkX3N0b3JhZ2UoY29uc3QgYWxpZ25lZF9zdG9yYWdlJik7CisgICAgYWxpZ25lZF9zdG9yYWdlJiBvcGVyYXRvcj0oY29uc3QgYWxpZ25lZF9zdG9yYWdlJik7CisKKyNlbHNlIC8vIGdjYyBsZXNzIHRoYW4gMy4yLjMKKworcHVibGljOiAvLyBfc2hvdWxkXyBiZSBub25jb3B5YWJsZSwgYnV0IEdDQyBjb21waWxlciBlbWl0cyBlcnJvcgorCisgICAgYWxpZ25lZF9zdG9yYWdlKGNvbnN0IGFsaWduZWRfc3RvcmFnZSYpOworICAgIGFsaWduZWRfc3RvcmFnZSYgb3BlcmF0b3I9KGNvbnN0IGFsaWduZWRfc3RvcmFnZSYpOworCisjZW5kaWYgLy8gZ2NjIDwgMy4yLjMgd29ya2Fyb3VuZAorCitwdWJsaWM6IC8vIHN0cnVjdG9ycworCisgICAgYWxpZ25lZF9zdG9yYWdlKCkKKyAgICB7CisgICAgfQorCisgICAgfmFsaWduZWRfc3RvcmFnZSgpCisgICAgeworICAgIH0KKworcHVibGljOiAvLyBhY2Nlc3NvcnMKKworICAgIHZvaWQqIGFkZHJlc3MoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PHR5cGUqPih0aGlzKS0+YWRkcmVzcygpOworICAgIH0KKworI2lmICFCT09TVF9XT1JLQVJPVU5EKEJPT1NUX01TVkMsIDwgMTMwMCkKKworICAgIGNvbnN0IHZvaWQqIGFkZHJlc3MoKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGNvbnN0IHR5cGUqPih0aGlzKS0+YWRkcmVzcygpOworICAgIH0KKworI2Vsc2UgLy8gTVNWQzYKKworICAgIGNvbnN0IHZvaWQqIGFkZHJlc3MoKSBjb25zdDsKKworI2VuZGlmIC8vIE1TVkM2IHdvcmthcm91bmQKKworfTsKKworI2lmIEJPT1NUX1dPUktBUk9VTkQoQk9PU1RfTVNWQywgPCAxMzAwKQorCisvLyBNU1ZDNiBzZWVtcyBub3QgdG8gbGlrZSBpbmxpbmUgZnVuY3Rpb25zIHdpdGggY29uc3Qgdm9pZCogcmV0dXJucywgc28gd2UKKy8vIGRlY2xhcmUgdGhlIGZvbGxvd2luZyBoZXJlOgorCit0ZW1wbGF0ZSA8c3RkOjpzaXplX3QgUywgc3RkOjpzaXplX3QgQT4KK2NvbnN0IHZvaWQqIGFsaWduZWRfc3RvcmFnZTxTLEE+OjphZGRyZXNzKCkgY29uc3QKK3sKKyAgICByZXR1cm4gY29uc3RfY2FzdDwgYWxpZ25lZF9zdG9yYWdlPFMsQT4qID4odGhpcyktPmFkZHJlc3MoKTsKK30KKworI2VuZGlmIC8vIE1TVkM2IHdvcmthcm91bmQKKworI2lmbmRlZiBCT09TVF9OT19URU1QTEFURV9QQVJUSUFMX1NQRUNJQUxJWkFUSU9OCisvLworLy8gTWFrZSBzdXJlIHRoYXQgaXNfcG9kIHJlY29nbmlzZXMgYWxpZ25lZF9zdG9yYWdlPD46OnR5cGUKKy8vIGFzIGEgUE9EIChOb3RlIHRoYXQgYWxpZ25lZF9zdG9yYWdlPD4gaXRzZWxmIGlzIG5vdCBhIFBPRCk6CisvLwordGVtcGxhdGUgPHN0ZDo6c2l6ZV90IHNpemVfLCBzdGQ6OnNpemVfdCBhbGlnbm1lbnRfPgorc3RydWN0IGlzX3BvZDxuZG5ib29zdDo6ZGV0YWlsOjphbGlnbmVkX3N0b3JhZ2U6OmFsaWduZWRfc3RvcmFnZV9pbXA8c2l6ZV8sYWxpZ25tZW50Xz4gPgorICAgQk9PU1RfVFRfQVVYX0JPT0xfQ19CQVNFKHRydWUpCit7IAorICAgIEJPT1NUX1RUX0FVWF9CT09MX1RSQUlUX1ZBTFVFX0RFQ0wodHJ1ZSkKK307IAorI2VuZGlmCisKKworfSAvLyBuYW1lc3BhY2UgbmRuYm9vc3QKKworI2luY2x1ZGUgIm5kbmJvb3N0L3R5cGVfdHJhaXRzL2RldGFpbC9ib29sX3RyYWl0X3VuZGVmLmhwcCIKKworI2VuZGlmIC8vIEJPT1NUX0FMSUdORURfU1RPUkFHRV9IUFAKZGlmZiAtLWdpdCBhL25kbmJvb3N0L2Fzc2VydC5ocHAgYi9uZG5ib29zdC9hc3NlcnQuaHBwCmluZGV4IDczZjNkZjIuLjUzOTg1N2MgMTAwNjQ0Ci0tLSBhL25kbmJvb3N0L2Fzc2VydC5ocHAKKysrIGIvbmRuYm9vc3QvYXNzZXJ0LmhwcApAQCAtMTAxLDcgKzEwMSwxMiBAQAogICAgICAgICAgICAgICA8PCAiKioqKiogSW50ZXJuYWwgUHJvZ3JhbSBFcnJvciAtIGFzc2VydGlvbiAoIiA8PCBleHByIDw8ICIpIGZhaWxlZCBpbiAiCiAgICAgICAgICAgICAgIDw8IGZ1bmN0aW9uIDw8ICI6XG4iCiAgICAgICAgICAgICAgIDw8IGZpbGUgPDwgJygnIDw8IGxpbmUgPDwgIik6ICIgPDwgbXNnIDw8IHN0ZDo6ZW5kbDsKLSAgICAgICAgICAgIHN0ZDo6YWJvcnQoKTsKKwkJCSNpZmRlZiBVTkRFUl9DRQorCQkJCS8vIFRoZSBXaW5kb3dzIENFIENSVCBsaWJyYXJ5IGRvZXMgbm90IGhhdmUgYWJvcnQoKSBzbyB1c2UgZXhpdCgtMSkgaW5zdGVhZC4KKwkJCQlzdGQ6OmV4aXQoLTEpOworCQkJI2Vsc2UKKwkJCQlzdGQ6OmFib3J0KCk7CisJCQkjZW5kaWYKICAgICAgICAgICB9CiAgICAgICAgIH0gLy8gZGV0YWlsCiAgICAgICB9IC8vIGFzc2VydGlvbgpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvYmluZC9tZW1fZm4uaHBwIGIvbmRuYm9vc3QvYmluZC9tZW1fZm4uaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdjMDdkNGYKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9iaW5kL21lbV9mbi5ocHAKQEAgLTAsMCArMSwzODkgQEAKKyNpZm5kZWYgQk9PU1RfQklORF9NRU1fRk5fSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX0JJTkRfTUVNX0ZOX0hQUF9JTkNMVURFRAorCisvLyBNUyBjb21wYXRpYmxlIGNvbXBpbGVycyBzdXBwb3J0ICNwcmFnbWEgb25jZQorCisjaWYgZGVmaW5lZChfTVNDX1ZFUikgJiYgKF9NU0NfVkVSID49IDEwMjApCisjIHByYWdtYSBvbmNlCisjZW5kaWYKKworLy8KKy8vICBtZW1fZm4uaHBwIC0gYSBnZW5lcmFsaXphdGlvbiBvZiBzdGQ6Om1lbV9mdW5bX3JlZl0KKy8vCisvLyAgQ29weXJpZ2h0IChjKSAyMDAxLCAyMDAyIFBldGVyIERpbW92IGFuZCBNdWx0aSBNZWRpYSBMdGQuCisvLyAgQ29weXJpZ2h0IChjKSAyMDAxIERhdmlkIEFicmFoYW1zCisvLyAgQ29weXJpZ2h0IChjKSAyMDAzLTIwMDUgUGV0ZXIgRGltb3YKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIChTZWUKKy8vIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0CisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworLy8gIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL2JpbmQvbWVtX2ZuLmh0bWwgZm9yIGRvY3VtZW50YXRpb24uCisvLworCisjaW5jbHVkZSA8bmRuYm9vc3QvY29uZmlnLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9nZXRfcG9pbnRlci5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvZGV0YWlsL3dvcmthcm91bmQuaHBwPgorCituYW1lc3BhY2UgbmRuYm9vc3QKK3sKKworI2lmIGRlZmluZWQoQk9PU1RfTk9fVk9JRF9SRVRVUk5TKQorCisjZGVmaW5lIEJPT1NUX01FTV9GTl9DTEFTU19GICwgY2xhc3MgRgorI2RlZmluZSBCT09TVF9NRU1fRk5fVFlQRURFRihYKQorCituYW1lc3BhY2UgX21maSAvLyBtZW1fZnVuX2ltcGwKK3sKKwordGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IG1mCit7CisKKyNkZWZpbmUgQk9PU1RfTUVNX0ZOX1JFVFVSTiByZXR1cm4KKworI2RlZmluZSBCT09TVF9NRU1fRk5fTkFNRShYKSBpbm5lcl8jI1gKKyNkZWZpbmUgQk9PU1RfTUVNX0ZOX0NDCisKKyNpbmNsdWRlIDxuZG5ib29zdC9iaW5kL21lbV9mbl90ZW1wbGF0ZS5ocHA+CisKKyN1bmRlZiBCT09TVF9NRU1fRk5fQ0MKKyN1bmRlZiBCT09TVF9NRU1fRk5fTkFNRQorCisjaWZkZWYgQk9PU1RfTUVNX0ZOX0VOQUJMRV9DREVDTAorCisjZGVmaW5lIEJPT1NUX01FTV9GTl9OQU1FKFgpIGlubmVyXyMjWCMjX2NkZWNsCisjZGVmaW5lIEJPT1NUX01FTV9GTl9DQyBfX2NkZWNsCisKKyNpbmNsdWRlIDxuZG5ib29zdC9iaW5kL21lbV9mbl90ZW1wbGF0ZS5ocHA+CisKKyN1bmRlZiBCT09TVF9NRU1fRk5fQ0MKKyN1bmRlZiBCT09TVF9NRU1fRk5fTkFNRQorCisjZW5kaWYKKworI2lmZGVmIEJPT1NUX01FTV9GTl9FTkFCTEVfU1REQ0FMTAorCisjZGVmaW5lIEJPT1NUX01FTV9GTl9OQU1FKFgpIGlubmVyXyMjWCMjX3N0ZGNhbGwKKyNkZWZpbmUgQk9PU1RfTUVNX0ZOX0NDIF9fc3RkY2FsbAorCisjaW5jbHVkZSA8bmRuYm9vc3QvYmluZC9tZW1fZm5fdGVtcGxhdGUuaHBwPgorCisjdW5kZWYgQk9PU1RfTUVNX0ZOX0NDCisjdW5kZWYgQk9PU1RfTUVNX0ZOX05BTUUKKworI2VuZGlmCisKKyNpZmRlZiBCT09TVF9NRU1fRk5fRU5BQkxFX0ZBU1RDQUxMCisKKyNkZWZpbmUgQk9PU1RfTUVNX0ZOX05BTUUoWCkgaW5uZXJfIyNYIyNfZmFzdGNhbGwKKyNkZWZpbmUgQk9PU1RfTUVNX0ZOX0NDIF9fZmFzdGNhbGwKKworI2luY2x1ZGUgPG5kbmJvb3N0L2JpbmQvbWVtX2ZuX3RlbXBsYXRlLmhwcD4KKworI3VuZGVmIEJPT1NUX01FTV9GTl9DQworI3VuZGVmIEJPT1NUX01FTV9GTl9OQU1FCisKKyNlbmRpZgorCisjdW5kZWYgQk9PU1RfTUVNX0ZOX1JFVFVSTgorCit9OyAvLyBzdHJ1Y3QgbWY8Vj4KKwordGVtcGxhdGU8PiBzdHJ1Y3QgbWY8dm9pZD4KK3sKKworI2RlZmluZSBCT09TVF9NRU1fRk5fUkVUVVJOCisKKyNkZWZpbmUgQk9PU1RfTUVNX0ZOX05BTUUoWCkgaW5uZXJfIyNYCisjZGVmaW5lIEJPT1NUX01FTV9GTl9DQworCisjaW5jbHVkZSA8bmRuYm9vc3QvYmluZC9tZW1fZm5fdGVtcGxhdGUuaHBwPgorCisjdW5kZWYgQk9PU1RfTUVNX0ZOX0NDCisjdW5kZWYgQk9PU1RfTUVNX0ZOX05BTUUKKworI2lmZGVmIEJPT1NUX01FTV9GTl9FTkFCTEVfQ0RFQ0wKKworI2RlZmluZSBCT09TVF9NRU1fRk5fTkFNRShYKSBpbm5lcl8jI1gjI19jZGVjbAorI2RlZmluZSBCT09TVF9NRU1fRk5fQ0MgX19jZGVjbAorCisjaW5jbHVkZSA8bmRuYm9vc3QvYmluZC9tZW1fZm5fdGVtcGxhdGUuaHBwPgorCisjdW5kZWYgQk9PU1RfTUVNX0ZOX0NDCisjdW5kZWYgQk9PU1RfTUVNX0ZOX05BTUUKKworI2VuZGlmCisKKyNpZmRlZiBCT09TVF9NRU1fRk5fRU5BQkxFX1NURENBTEwKKworI2RlZmluZSBCT09TVF9NRU1fRk5fTkFNRShYKSBpbm5lcl8jI1gjI19zdGRjYWxsCisjZGVmaW5lIEJPT1NUX01FTV9GTl9DQyBfX3N0ZGNhbGwKKworI2luY2x1ZGUgPG5kbmJvb3N0L2JpbmQvbWVtX2ZuX3RlbXBsYXRlLmhwcD4KKworI3VuZGVmIEJPT1NUX01FTV9GTl9DQworI3VuZGVmIEJPT1NUX01FTV9GTl9OQU1FCisKKyNlbmRpZgorCisjaWZkZWYgQk9PU1RfTUVNX0ZOX0VOQUJMRV9GQVNUQ0FMTAorCisjZGVmaW5lIEJPT1NUX01FTV9GTl9OQU1FKFgpIGlubmVyXyMjWCMjX2Zhc3RjYWxsCisjZGVmaW5lIEJPT1NUX01FTV9GTl9DQyBfX2Zhc3RjYWxsCisKKyNpbmNsdWRlIDxuZG5ib29zdC9iaW5kL21lbV9mbl90ZW1wbGF0ZS5ocHA+CisKKyN1bmRlZiBCT09TVF9NRU1fRk5fQ0MKKyN1bmRlZiBCT09TVF9NRU1fRk5fTkFNRQorCisjZW5kaWYKKworI3VuZGVmIEJPT1NUX01FTV9GTl9SRVRVUk4KKworfTsgLy8gc3RydWN0IG1mPHZvaWQ+CisKKyN1bmRlZiBCT09TVF9NRU1fRk5fQ0xBU1NfRgorI3VuZGVmIEJPT1NUX01FTV9GTl9UWVBFREVGX0YKKworI2RlZmluZSBCT09TVF9NRU1fRk5fTkFNRShYKSBYCisjZGVmaW5lIEJPT1NUX01FTV9GTl9OQU1FMihYKSBpbm5lcl8jI1gKKyNkZWZpbmUgQk9PU1RfTUVNX0ZOX0NDCisKKyNpbmNsdWRlIDxuZG5ib29zdC9iaW5kL21lbV9mbl92dy5ocHA+CisKKyN1bmRlZiBCT09TVF9NRU1fRk5fTkFNRQorI3VuZGVmIEJPT1NUX01FTV9GTl9OQU1FMgorI3VuZGVmIEJPT1NUX01FTV9GTl9DQworCisjaWZkZWYgQk9PU1RfTUVNX0ZOX0VOQUJMRV9DREVDTAorCisjZGVmaW5lIEJPT1NUX01FTV9GTl9OQU1FKFgpIFgjI19jZGVjbAorI2RlZmluZSBCT09TVF9NRU1fRk5fTkFNRTIoWCkgaW5uZXJfIyNYIyNfY2RlY2wKKyNkZWZpbmUgQk9PU1RfTUVNX0ZOX0NDIF9fY2RlY2wKKworI2luY2x1ZGUgPG5kbmJvb3N0L2JpbmQvbWVtX2ZuX3Z3LmhwcD4KKworI3VuZGVmIEJPT1NUX01FTV9GTl9OQU1FCisjdW5kZWYgQk9PU1RfTUVNX0ZOX05BTUUyCisjdW5kZWYgQk9PU1RfTUVNX0ZOX0NDCisKKyNlbmRpZgorCisjaWZkZWYgQk9PU1RfTUVNX0ZOX0VOQUJMRV9TVERDQUxMCisKKyNkZWZpbmUgQk9PU1RfTUVNX0ZOX05BTUUoWCkgWCMjX3N0ZGNhbGwKKyNkZWZpbmUgQk9PU1RfTUVNX0ZOX05BTUUyKFgpIGlubmVyXyMjWCMjX3N0ZGNhbGwKKyNkZWZpbmUgQk9PU1RfTUVNX0ZOX0NDIF9fc3RkY2FsbAorCisjaW5jbHVkZSA8bmRuYm9vc3QvYmluZC9tZW1fZm5fdncuaHBwPgorCisjdW5kZWYgQk9PU1RfTUVNX0ZOX05BTUUKKyN1bmRlZiBCT09TVF9NRU1fRk5fTkFNRTIKKyN1bmRlZiBCT09TVF9NRU1fRk5fQ0MKKworI2VuZGlmCisKKyNpZmRlZiBCT09TVF9NRU1fRk5fRU5BQkxFX0ZBU1RDQUxMCisKKyNkZWZpbmUgQk9PU1RfTUVNX0ZOX05BTUUoWCkgWCMjX2Zhc3RjYWxsCisjZGVmaW5lIEJPT1NUX01FTV9GTl9OQU1FMihYKSBpbm5lcl8jI1gjI19mYXN0Y2FsbAorI2RlZmluZSBCT09TVF9NRU1fRk5fQ0MgX19mYXN0Y2FsbAorCisjaW5jbHVkZSA8bmRuYm9vc3QvYmluZC9tZW1fZm5fdncuaHBwPgorCisjdW5kZWYgQk9PU1RfTUVNX0ZOX05BTUUKKyN1bmRlZiBCT09TVF9NRU1fRk5fTkFNRTIKKyN1bmRlZiBCT09TVF9NRU1fRk5fQ0MKKworI2VuZGlmCisKK30gLy8gbmFtZXNwYWNlIF9tZmkKKworI2Vsc2UgLy8gI2lmZGVmIEJPT1NUX05PX1ZPSURfUkVUVVJOUworCisjZGVmaW5lIEJPT1NUX01FTV9GTl9DTEFTU19GCisjZGVmaW5lIEJPT1NUX01FTV9GTl9UWVBFREVGKFgpIHR5cGVkZWYgWDsKKworbmFtZXNwYWNlIF9tZmkKK3sKKworI2RlZmluZSBCT09TVF9NRU1fRk5fUkVUVVJOIHJldHVybgorCisjZGVmaW5lIEJPT1NUX01FTV9GTl9OQU1FKFgpIFgKKyNkZWZpbmUgQk9PU1RfTUVNX0ZOX0NDCisKKyNpbmNsdWRlIDxuZG5ib29zdC9iaW5kL21lbV9mbl90ZW1wbGF0ZS5ocHA+CisKKyN1bmRlZiBCT09TVF9NRU1fRk5fQ0MKKyN1bmRlZiBCT09TVF9NRU1fRk5fTkFNRQorCisjaWZkZWYgQk9PU1RfTUVNX0ZOX0VOQUJMRV9DREVDTAorCisjZGVmaW5lIEJPT1NUX01FTV9GTl9OQU1FKFgpIFgjI19jZGVjbAorI2RlZmluZSBCT09TVF9NRU1fRk5fQ0MgX19jZGVjbAorCisjaW5jbHVkZSA8bmRuYm9vc3QvYmluZC9tZW1fZm5fdGVtcGxhdGUuaHBwPgorCisjdW5kZWYgQk9PU1RfTUVNX0ZOX0NDCisjdW5kZWYgQk9PU1RfTUVNX0ZOX05BTUUKKworI2VuZGlmCisKKyNpZmRlZiBCT09TVF9NRU1fRk5fRU5BQkxFX1NURENBTEwKKworI2RlZmluZSBCT09TVF9NRU1fRk5fTkFNRShYKSBYIyNfc3RkY2FsbAorI2RlZmluZSBCT09TVF9NRU1fRk5fQ0MgX19zdGRjYWxsCisKKyNpbmNsdWRlIDxuZG5ib29zdC9iaW5kL21lbV9mbl90ZW1wbGF0ZS5ocHA+CisKKyN1bmRlZiBCT09TVF9NRU1fRk5fQ0MKKyN1bmRlZiBCT09TVF9NRU1fRk5fTkFNRQorCisjZW5kaWYKKworI2lmZGVmIEJPT1NUX01FTV9GTl9FTkFCTEVfRkFTVENBTEwKKworI2RlZmluZSBCT09TVF9NRU1fRk5fTkFNRShYKSBYIyNfZmFzdGNhbGwKKyNkZWZpbmUgQk9PU1RfTUVNX0ZOX0NDIF9fZmFzdGNhbGwKKworI2luY2x1ZGUgPG5kbmJvb3N0L2JpbmQvbWVtX2ZuX3RlbXBsYXRlLmhwcD4KKworI3VuZGVmIEJPT1NUX01FTV9GTl9DQworI3VuZGVmIEJPT1NUX01FTV9GTl9OQU1FCisKKyNlbmRpZgorCisjdW5kZWYgQk9PU1RfTUVNX0ZOX1JFVFVSTgorCit9IC8vIG5hbWVzcGFjZSBfbWZpCisKKyN1bmRlZiBCT09TVF9NRU1fRk5fQ0xBU1NfRgorI3VuZGVmIEJPT1NUX01FTV9GTl9UWVBFREVGCisKKyNlbmRpZiAvLyAjaWZkZWYgQk9PU1RfTk9fVk9JRF9SRVRVUk5TCisKKyNkZWZpbmUgQk9PU1RfTUVNX0ZOX05BTUUoWCkgWAorI2RlZmluZSBCT09TVF9NRU1fRk5fQ0MKKworI2luY2x1ZGUgPG5kbmJvb3N0L2JpbmQvbWVtX2ZuX2NjLmhwcD4KKworI3VuZGVmIEJPT1NUX01FTV9GTl9OQU1FCisjdW5kZWYgQk9PU1RfTUVNX0ZOX0NDCisKKyNpZmRlZiBCT09TVF9NRU1fRk5fRU5BQkxFX0NERUNMCisKKyNkZWZpbmUgQk9PU1RfTUVNX0ZOX05BTUUoWCkgWCMjX2NkZWNsCisjZGVmaW5lIEJPT1NUX01FTV9GTl9DQyBfX2NkZWNsCisKKyNpbmNsdWRlIDxuZG5ib29zdC9iaW5kL21lbV9mbl9jYy5ocHA+CisKKyN1bmRlZiBCT09TVF9NRU1fRk5fTkFNRQorI3VuZGVmIEJPT1NUX01FTV9GTl9DQworCisjZW5kaWYKKworI2lmZGVmIEJPT1NUX01FTV9GTl9FTkFCTEVfU1REQ0FMTAorCisjZGVmaW5lIEJPT1NUX01FTV9GTl9OQU1FKFgpIFgjI19zdGRjYWxsCisjZGVmaW5lIEJPT1NUX01FTV9GTl9DQyBfX3N0ZGNhbGwKKworI2luY2x1ZGUgPG5kbmJvb3N0L2JpbmQvbWVtX2ZuX2NjLmhwcD4KKworI3VuZGVmIEJPT1NUX01FTV9GTl9OQU1FCisjdW5kZWYgQk9PU1RfTUVNX0ZOX0NDCisKKyNlbmRpZgorCisjaWZkZWYgQk9PU1RfTUVNX0ZOX0VOQUJMRV9GQVNUQ0FMTAorCisjZGVmaW5lIEJPT1NUX01FTV9GTl9OQU1FKFgpIFgjI19mYXN0Y2FsbAorI2RlZmluZSBCT09TVF9NRU1fRk5fQ0MgX19mYXN0Y2FsbAorCisjaW5jbHVkZSA8bmRuYm9vc3QvYmluZC9tZW1fZm5fY2MuaHBwPgorCisjdW5kZWYgQk9PU1RfTUVNX0ZOX05BTUUKKyN1bmRlZiBCT09TVF9NRU1fRk5fQ0MKKworI2VuZGlmCisKKy8vIGRhdGEgbWVtYmVyIHN1cHBvcnQKKworbmFtZXNwYWNlIF9tZmkKK3sKKwordGVtcGxhdGU8Y2xhc3MgUiwgY2xhc3MgVD4gY2xhc3MgZG0KK3sKK3B1YmxpYzoKKworICAgIHR5cGVkZWYgUiBjb25zdCAmIHJlc3VsdF90eXBlOworICAgIHR5cGVkZWYgVCBjb25zdCAqIGFyZ3VtZW50X3R5cGU7CisKK3ByaXZhdGU6CisgICAgCisgICAgdHlwZWRlZiBSIChUOjoqRik7CisgICAgRiBmXzsKKworICAgIHRlbXBsYXRlPGNsYXNzIFU+IFIgY29uc3QgJiBjYWxsKFUgJiB1LCBUIGNvbnN0ICopIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gKHUuKmZfKTsKKyAgICB9CisKKyAgICB0ZW1wbGF0ZTxjbGFzcyBVPiBSIGNvbnN0ICYgY2FsbChVICYgdSwgdm9pZCBjb25zdCAqKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIChnZXRfcG9pbnRlcih1KS0+KmZfKTsKKyAgICB9CisKK3B1YmxpYzoKKyAgICAKKyAgICBleHBsaWNpdCBkbShGIGYpOiBmXyhmKSB7fQorCisgICAgUiAmIG9wZXJhdG9yKCkoVCAqIHApIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gKHAtPipmXyk7CisgICAgfQorCisgICAgUiBjb25zdCAmIG9wZXJhdG9yKCkoVCBjb25zdCAqIHApIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gKHAtPipmXyk7CisgICAgfQorCisgICAgdGVtcGxhdGU8Y2xhc3MgVT4gUiBjb25zdCAmIG9wZXJhdG9yKCkoVSBjb25zdCAmIHUpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gY2FsbCh1LCAmdSk7CisgICAgfQorCisjaWYgIUJPT1NUX1dPUktBUk9VTkQoQk9PU1RfTVNWQywgPD0gMTMwMCkgJiYgIUJPT1NUX1dPUktBUk9VTkQoX19NV0VSS1NfXywgPCAweDMyMDApCisKKyAgICBSICYgb3BlcmF0b3IoKShUICYgdCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiAodC4qZl8pOworICAgIH0KKworICAgIFIgY29uc3QgJiBvcGVyYXRvcigpKFQgY29uc3QgJiB0KSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuICh0LipmXyk7CisgICAgfQorCisjZW5kaWYKKworICAgIGJvb2wgb3BlcmF0b3I9PShkbSBjb25zdCAmIHJocykgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiBmXyA9PSByaHMuZl87CisgICAgfQorCisgICAgYm9vbCBvcGVyYXRvciE9KGRtIGNvbnN0ICYgcmhzKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIGZfICE9IHJocy5mXzsKKyAgICB9Cit9OworCit9IC8vIG5hbWVzcGFjZSBfbWZpCisKK3RlbXBsYXRlPGNsYXNzIFIsIGNsYXNzIFQ+IF9tZmk6OmRtPFIsIFQ+IG1lbV9mbihSIFQ6OipmKQoreworICAgIHJldHVybiBfbWZpOjpkbTxSLCBUPihmKTsKK30KKworfSAvLyBuYW1lc3BhY2UgbmRuYm9vc3QKKworI2VuZGlmIC8vICNpZm5kZWYgQk9PU1RfQklORF9NRU1fRk5fSFBQX0lOQ0xVREVECmRpZmYgLS1naXQgYS9uZG5ib29zdC9iaW5kL21lbV9mbl9jYy5ocHAgYi9uZG5ib29zdC9iaW5kL21lbV9mbl9jYy5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGI2ZWEwYgotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L2JpbmQvbWVtX2ZuX2NjLmhwcApAQCAtMCwwICsxLDEwMyBAQAorLy8KKy8vICBiaW5kL21lbV9mbl9jYy5ocHAgLSBzdXBwb3J0IGZvciBkaWZmZXJlbnQgY2FsbGluZyBjb252ZW50aW9ucworLy8KKy8vICBEbyBub3QgaW5jbHVkZSB0aGlzIGhlYWRlciBkaXJlY3RseS4KKy8vCisvLyAgQ29weXJpZ2h0IChjKSAyMDAxIFBldGVyIERpbW92IGFuZCBNdWx0aSBNZWRpYSBMdGQuCisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAoU2VlCisvLyBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKy8vICBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvbGlicy9iaW5kL21lbV9mbi5odG1sIGZvciBkb2N1bWVudGF0aW9uLgorLy8KKwordGVtcGxhdGU8Y2xhc3MgUiwgY2xhc3MgVD4gX21maTo6Qk9PU1RfTUVNX0ZOX05BTUUobWYwKTxSLCBUPiBtZW1fZm4oUiAoQk9PU1RfTUVNX0ZOX0NDIFQ6OipmKSAoKSkKK3sKKyAgICByZXR1cm4gX21maTo6Qk9PU1RfTUVNX0ZOX05BTUUobWYwKTxSLCBUPihmKTsKK30KKwordGVtcGxhdGU8Y2xhc3MgUiwgY2xhc3MgVD4gX21maTo6Qk9PU1RfTUVNX0ZOX05BTUUoY21mMCk8UiwgVD4gbWVtX2ZuKFIgKEJPT1NUX01FTV9GTl9DQyBUOjoqZikgKCkgY29uc3QpCit7CisgICAgcmV0dXJuIF9tZmk6OkJPT1NUX01FTV9GTl9OQU1FKGNtZjApPFIsIFQ+KGYpOworfQorCit0ZW1wbGF0ZTxjbGFzcyBSLCBjbGFzcyBULCBjbGFzcyBBMT4gX21maTo6Qk9PU1RfTUVNX0ZOX05BTUUobWYxKTxSLCBULCBBMT4gbWVtX2ZuKFIgKEJPT1NUX01FTV9GTl9DQyBUOjoqZikgKEExKSkKK3sKKyAgICByZXR1cm4gX21maTo6Qk9PU1RfTUVNX0ZOX05BTUUobWYxKTxSLCBULCBBMT4oZik7Cit9CisKK3RlbXBsYXRlPGNsYXNzIFIsIGNsYXNzIFQsIGNsYXNzIEExPiBfbWZpOjpCT09TVF9NRU1fRk5fTkFNRShjbWYxKTxSLCBULCBBMT4gbWVtX2ZuKFIgKEJPT1NUX01FTV9GTl9DQyBUOjoqZikgKEExKSBjb25zdCkKK3sKKyAgICByZXR1cm4gX21maTo6Qk9PU1RfTUVNX0ZOX05BTUUoY21mMSk8UiwgVCwgQTE+KGYpOworfQorCit0ZW1wbGF0ZTxjbGFzcyBSLCBjbGFzcyBULCBjbGFzcyBBMSwgY2xhc3MgQTI+IF9tZmk6OkJPT1NUX01FTV9GTl9OQU1FKG1mMik8UiwgVCwgQTEsIEEyPiBtZW1fZm4oUiAoQk9PU1RfTUVNX0ZOX0NDIFQ6OipmKSAoQTEsIEEyKSkKK3sKKyAgICByZXR1cm4gX21maTo6Qk9PU1RfTUVNX0ZOX05BTUUobWYyKTxSLCBULCBBMSwgQTI+KGYpOworfQorCit0ZW1wbGF0ZTxjbGFzcyBSLCBjbGFzcyBULCBjbGFzcyBBMSwgY2xhc3MgQTI+IF9tZmk6OkJPT1NUX01FTV9GTl9OQU1FKGNtZjIpPFIsIFQsIEExLCBBMj4gbWVtX2ZuKFIgKEJPT1NUX01FTV9GTl9DQyBUOjoqZikgKEExLCBBMikgY29uc3QpCit7CisgICAgcmV0dXJuIF9tZmk6OkJPT1NUX01FTV9GTl9OQU1FKGNtZjIpPFIsIFQsIEExLCBBMj4oZik7Cit9CisKK3RlbXBsYXRlPGNsYXNzIFIsIGNsYXNzIFQsIGNsYXNzIEExLCBjbGFzcyBBMiwgY2xhc3MgQTM+IF9tZmk6OkJPT1NUX01FTV9GTl9OQU1FKG1mMyk8UiwgVCwgQTEsIEEyLCBBMz4gbWVtX2ZuKFIgKEJPT1NUX01FTV9GTl9DQyBUOjoqZikgKEExLCBBMiwgQTMpKQoreworICAgIHJldHVybiBfbWZpOjpCT09TVF9NRU1fRk5fTkFNRShtZjMpPFIsIFQsIEExLCBBMiwgQTM+KGYpOworfQorCit0ZW1wbGF0ZTxjbGFzcyBSLCBjbGFzcyBULCBjbGFzcyBBMSwgY2xhc3MgQTIsIGNsYXNzIEEzPiBfbWZpOjpCT09TVF9NRU1fRk5fTkFNRShjbWYzKTxSLCBULCBBMSwgQTIsIEEzPiBtZW1fZm4oUiAoQk9PU1RfTUVNX0ZOX0NDIFQ6OipmKSAoQTEsIEEyLCBBMykgY29uc3QpCit7CisgICAgcmV0dXJuIF9tZmk6OkJPT1NUX01FTV9GTl9OQU1FKGNtZjMpPFIsIFQsIEExLCBBMiwgQTM+KGYpOworfQorCit0ZW1wbGF0ZTxjbGFzcyBSLCBjbGFzcyBULCBjbGFzcyBBMSwgY2xhc3MgQTIsIGNsYXNzIEEzLCBjbGFzcyBBND4gX21maTo6Qk9PU1RfTUVNX0ZOX05BTUUobWY0KTxSLCBULCBBMSwgQTIsIEEzLCBBND4gbWVtX2ZuKFIgKEJPT1NUX01FTV9GTl9DQyBUOjoqZikgKEExLCBBMiwgQTMsIEE0KSkKK3sKKyAgICByZXR1cm4gX21maTo6Qk9PU1RfTUVNX0ZOX05BTUUobWY0KTxSLCBULCBBMSwgQTIsIEEzLCBBND4oZik7Cit9CisKK3RlbXBsYXRlPGNsYXNzIFIsIGNsYXNzIFQsIGNsYXNzIEExLCBjbGFzcyBBMiwgY2xhc3MgQTMsIGNsYXNzIEE0PiBfbWZpOjpCT09TVF9NRU1fRk5fTkFNRShjbWY0KTxSLCBULCBBMSwgQTIsIEEzLCBBND4gbWVtX2ZuKFIgKEJPT1NUX01FTV9GTl9DQyBUOjoqZikgKEExLCBBMiwgQTMsIEE0KSBjb25zdCkKK3sKKyAgICByZXR1cm4gX21maTo6Qk9PU1RfTUVNX0ZOX05BTUUoY21mNCk8UiwgVCwgQTEsIEEyLCBBMywgQTQ+KGYpOworfQorCit0ZW1wbGF0ZTxjbGFzcyBSLCBjbGFzcyBULCBjbGFzcyBBMSwgY2xhc3MgQTIsIGNsYXNzIEEzLCBjbGFzcyBBNCwgY2xhc3MgQTU+IF9tZmk6OkJPT1NUX01FTV9GTl9OQU1FKG1mNSk8UiwgVCwgQTEsIEEyLCBBMywgQTQsIEE1PiBtZW1fZm4oUiAoQk9PU1RfTUVNX0ZOX0NDIFQ6OipmKSAoQTEsIEEyLCBBMywgQTQsIEE1KSkKK3sKKyAgICByZXR1cm4gX21maTo6Qk9PU1RfTUVNX0ZOX05BTUUobWY1KTxSLCBULCBBMSwgQTIsIEEzLCBBNCwgQTU+KGYpOworfQorCit0ZW1wbGF0ZTxjbGFzcyBSLCBjbGFzcyBULCBjbGFzcyBBMSwgY2xhc3MgQTIsIGNsYXNzIEEzLCBjbGFzcyBBNCwgY2xhc3MgQTU+IF9tZmk6OkJPT1NUX01FTV9GTl9OQU1FKGNtZjUpPFIsIFQsIEExLCBBMiwgQTMsIEE0LCBBNT4gbWVtX2ZuKFIgKEJPT1NUX01FTV9GTl9DQyBUOjoqZikgKEExLCBBMiwgQTMsIEE0LCBBNSkgY29uc3QpCit7CisgICAgcmV0dXJuIF9tZmk6OkJPT1NUX01FTV9GTl9OQU1FKGNtZjUpPFIsIFQsIEExLCBBMiwgQTMsIEE0LCBBNT4oZik7Cit9CisKK3RlbXBsYXRlPGNsYXNzIFIsIGNsYXNzIFQsIGNsYXNzIEExLCBjbGFzcyBBMiwgY2xhc3MgQTMsIGNsYXNzIEE0LCBjbGFzcyBBNSwgY2xhc3MgQTY+IF9tZmk6OkJPT1NUX01FTV9GTl9OQU1FKG1mNik8UiwgVCwgQTEsIEEyLCBBMywgQTQsIEE1LCBBNj4gbWVtX2ZuKFIgKEJPT1NUX01FTV9GTl9DQyBUOjoqZikgKEExLCBBMiwgQTMsIEE0LCBBNSwgQTYpKQoreworICAgIHJldHVybiBfbWZpOjpCT09TVF9NRU1fRk5fTkFNRShtZjYpPFIsIFQsIEExLCBBMiwgQTMsIEE0LCBBNSwgQTY+KGYpOworfQorCit0ZW1wbGF0ZTxjbGFzcyBSLCBjbGFzcyBULCBjbGFzcyBBMSwgY2xhc3MgQTIsIGNsYXNzIEEzLCBjbGFzcyBBNCwgY2xhc3MgQTUsIGNsYXNzIEE2PiBfbWZpOjpCT09TVF9NRU1fRk5fTkFNRShjbWY2KTxSLCBULCBBMSwgQTIsIEEzLCBBNCwgQTUsIEE2PiBtZW1fZm4oUiAoQk9PU1RfTUVNX0ZOX0NDIFQ6OipmKSAoQTEsIEEyLCBBMywgQTQsIEE1LCBBNikgY29uc3QpCit7CisgICAgcmV0dXJuIF9tZmk6OkJPT1NUX01FTV9GTl9OQU1FKGNtZjYpPFIsIFQsIEExLCBBMiwgQTMsIEE0LCBBNSwgQTY+KGYpOworfQorCit0ZW1wbGF0ZTxjbGFzcyBSLCBjbGFzcyBULCBjbGFzcyBBMSwgY2xhc3MgQTIsIGNsYXNzIEEzLCBjbGFzcyBBNCwgY2xhc3MgQTUsIGNsYXNzIEE2LCBjbGFzcyBBNz4gX21maTo6Qk9PU1RfTUVNX0ZOX05BTUUobWY3KTxSLCBULCBBMSwgQTIsIEEzLCBBNCwgQTUsIEE2LCBBNz4gbWVtX2ZuKFIgKEJPT1NUX01FTV9GTl9DQyBUOjoqZikgKEExLCBBMiwgQTMsIEE0LCBBNSwgQTYsIEE3KSkKK3sKKyAgICByZXR1cm4gX21maTo6Qk9PU1RfTUVNX0ZOX05BTUUobWY3KTxSLCBULCBBMSwgQTIsIEEzLCBBNCwgQTUsIEE2LCBBNz4oZik7Cit9CisKK3RlbXBsYXRlPGNsYXNzIFIsIGNsYXNzIFQsIGNsYXNzIEExLCBjbGFzcyBBMiwgY2xhc3MgQTMsIGNsYXNzIEE0LCBjbGFzcyBBNSwgY2xhc3MgQTYsIGNsYXNzIEE3PiBfbWZpOjpCT09TVF9NRU1fRk5fTkFNRShjbWY3KTxSLCBULCBBMSwgQTIsIEEzLCBBNCwgQTUsIEE2LCBBNz4gbWVtX2ZuKFIgKEJPT1NUX01FTV9GTl9DQyBUOjoqZikgKEExLCBBMiwgQTMsIEE0LCBBNSwgQTYsIEE3KSBjb25zdCkKK3sKKyAgICByZXR1cm4gX21maTo6Qk9PU1RfTUVNX0ZOX05BTUUoY21mNyk8UiwgVCwgQTEsIEEyLCBBMywgQTQsIEE1LCBBNiwgQTc+KGYpOworfQorCit0ZW1wbGF0ZTxjbGFzcyBSLCBjbGFzcyBULCBjbGFzcyBBMSwgY2xhc3MgQTIsIGNsYXNzIEEzLCBjbGFzcyBBNCwgY2xhc3MgQTUsIGNsYXNzIEE2LCBjbGFzcyBBNywgY2xhc3MgQTg+IF9tZmk6OkJPT1NUX01FTV9GTl9OQU1FKG1mOCk8UiwgVCwgQTEsIEEyLCBBMywgQTQsIEE1LCBBNiwgQTcsIEE4PiBtZW1fZm4oUiAoQk9PU1RfTUVNX0ZOX0NDIFQ6OipmKSAoQTEsIEEyLCBBMywgQTQsIEE1LCBBNiwgQTcsIEE4KSkKK3sKKyAgICByZXR1cm4gX21maTo6Qk9PU1RfTUVNX0ZOX05BTUUobWY4KTxSLCBULCBBMSwgQTIsIEEzLCBBNCwgQTUsIEE2LCBBNywgQTg+KGYpOworfQorCit0ZW1wbGF0ZTxjbGFzcyBSLCBjbGFzcyBULCBjbGFzcyBBMSwgY2xhc3MgQTIsIGNsYXNzIEEzLCBjbGFzcyBBNCwgY2xhc3MgQTUsIGNsYXNzIEE2LCBjbGFzcyBBNywgY2xhc3MgQTg+IF9tZmk6OkJPT1NUX01FTV9GTl9OQU1FKGNtZjgpPFIsIFQsIEExLCBBMiwgQTMsIEE0LCBBNSwgQTYsIEE3LCBBOD4gbWVtX2ZuKFIgKEJPT1NUX01FTV9GTl9DQyBUOjoqZikgKEExLCBBMiwgQTMsIEE0LCBBNSwgQTYsIEE3LCBBOCkgY29uc3QpCit7CisgICAgcmV0dXJuIF9tZmk6OkJPT1NUX01FTV9GTl9OQU1FKGNtZjgpPFIsIFQsIEExLCBBMiwgQTMsIEE0LCBBNSwgQTYsIEE3LCBBOD4oZik7Cit9CmRpZmYgLS1naXQgYS9uZG5ib29zdC9iaW5kL21lbV9mbl90ZW1wbGF0ZS5ocHAgYi9uZG5ib29zdC9iaW5kL21lbV9mbl90ZW1wbGF0ZS5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjI2ZDU4NQotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L2JpbmQvbWVtX2ZuX3RlbXBsYXRlLmhwcApAQCAtMCwwICsxLDEwNDcgQEAKKy8vCisvLyAgYmluZC9tZW1fZm5fdGVtcGxhdGUuaHBwCisvLworLy8gIERvIG5vdCBpbmNsdWRlIHRoaXMgaGVhZGVyIGRpcmVjdGx5CisvLworLy8gIENvcHlyaWdodCAoYykgMjAwMSBQZXRlciBEaW1vdiBhbmQgTXVsdGkgTWVkaWEgTHRkLgorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gKFNlZQorLy8gYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisvLyAgU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL2xpYnMvYmluZC9tZW1fZm4uaHRtbCBmb3IgZG9jdW1lbnRhdGlvbi4KKy8vCisKKyNpZiAhZGVmaW5lZChCT09TVF9OT19GVU5DVElPTl9URU1QTEFURV9PUkRFUklORykKKyMgZGVmaW5lIEJPT1NUX01FTV9GTl9FTkFCTEVfQ09OU1RfT1ZFUkxPQURTCisjZW5kaWYKKworLy8gbWYwCisKK3RlbXBsYXRlPGNsYXNzIFIsIGNsYXNzIFQgQk9PU1RfTUVNX0ZOX0NMQVNTX0Y+IGNsYXNzIEJPT1NUX01FTV9GTl9OQU1FKG1mMCkKK3sKK3B1YmxpYzoKKworICAgIHR5cGVkZWYgUiByZXN1bHRfdHlwZTsKKyAgICB0eXBlZGVmIFQgKiBhcmd1bWVudF90eXBlOworCitwcml2YXRlOgorICAgIAorICAgIEJPT1NUX01FTV9GTl9UWVBFREVGKFIgKEJPT1NUX01FTV9GTl9DQyBUOjoqRikgKCkpCisgICAgRiBmXzsKKworICAgIHRlbXBsYXRlPGNsYXNzIFU+IFIgY2FsbChVICYgdSwgVCBjb25zdCAqKSBjb25zdAorICAgIHsKKyAgICAgICAgQk9PU1RfTUVNX0ZOX1JFVFVSTiAodS4qZl8pKCk7CisgICAgfQorCisgICAgdGVtcGxhdGU8Y2xhc3MgVT4gUiBjYWxsKFUgJiB1LCB2b2lkIGNvbnN0ICopIGNvbnN0CisgICAgeworICAgICAgICBCT09TVF9NRU1fRk5fUkVUVVJOIChnZXRfcG9pbnRlcih1KS0+KmZfKSgpOworICAgIH0KKworcHVibGljOgorICAgIAorICAgIGV4cGxpY2l0IEJPT1NUX01FTV9GTl9OQU1FKG1mMCkoRiBmKTogZl8oZikge30KKworICAgIFIgb3BlcmF0b3IoKShUICogcCkgY29uc3QKKyAgICB7CisgICAgICAgIEJPT1NUX01FTV9GTl9SRVRVUk4gKHAtPipmXykoKTsKKyAgICB9CisKKyAgICB0ZW1wbGF0ZTxjbGFzcyBVPiBSIG9wZXJhdG9yKCkoVSAmIHUpIGNvbnN0CisgICAgeworICAgICAgICBVIGNvbnN0ICogcCA9IDA7CisgICAgICAgIEJPT1NUX01FTV9GTl9SRVRVUk4gY2FsbCh1LCBwKTsKKyAgICB9CisKKyNpZmRlZiBCT09TVF9NRU1fRk5fRU5BQkxFX0NPTlNUX09WRVJMT0FEUworCisgICAgdGVtcGxhdGU8Y2xhc3MgVT4gUiBvcGVyYXRvcigpKFUgY29uc3QgJiB1KSBjb25zdAorICAgIHsKKyAgICAgICAgVSBjb25zdCAqIHAgPSAwOworICAgICAgICBCT09TVF9NRU1fRk5fUkVUVVJOIGNhbGwodSwgcCk7CisgICAgfQorCisjZW5kaWYKKworICAgIFIgb3BlcmF0b3IoKShUICYgdCkgY29uc3QKKyAgICB7CisgICAgICAgIEJPT1NUX01FTV9GTl9SRVRVUk4gKHQuKmZfKSgpOworICAgIH0KKworICAgIGJvb2wgb3BlcmF0b3I9PShCT09TVF9NRU1fRk5fTkFNRShtZjApIGNvbnN0ICYgcmhzKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIGZfID09IHJocy5mXzsKKyAgICB9CisKKyAgICBib29sIG9wZXJhdG9yIT0oQk9PU1RfTUVNX0ZOX05BTUUobWYwKSBjb25zdCAmIHJocykgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiBmXyAhPSByaHMuZl87CisgICAgfQorfTsKKworLy8gY21mMAorCit0ZW1wbGF0ZTxjbGFzcyBSLCBjbGFzcyBUIEJPT1NUX01FTV9GTl9DTEFTU19GPiBjbGFzcyBCT09TVF9NRU1fRk5fTkFNRShjbWYwKQoreworcHVibGljOgorCisgICAgdHlwZWRlZiBSIHJlc3VsdF90eXBlOworICAgIHR5cGVkZWYgVCBjb25zdCAqIGFyZ3VtZW50X3R5cGU7CisKK3ByaXZhdGU6CisgICAgCisgICAgQk9PU1RfTUVNX0ZOX1RZUEVERUYoUiAoQk9PU1RfTUVNX0ZOX0NDIFQ6OipGKSAoKSBjb25zdCkKKyAgICBGIGZfOworCisgICAgdGVtcGxhdGU8Y2xhc3MgVT4gUiBjYWxsKFUgJiB1LCBUIGNvbnN0ICopIGNvbnN0CisgICAgeworICAgICAgICBCT09TVF9NRU1fRk5fUkVUVVJOICh1LipmXykoKTsKKyAgICB9CisKKyAgICB0ZW1wbGF0ZTxjbGFzcyBVPiBSIGNhbGwoVSAmIHUsIHZvaWQgY29uc3QgKikgY29uc3QKKyAgICB7CisgICAgICAgIEJPT1NUX01FTV9GTl9SRVRVUk4gKGdldF9wb2ludGVyKHUpLT4qZl8pKCk7CisgICAgfQorCitwdWJsaWM6CisgICAgCisgICAgZXhwbGljaXQgQk9PU1RfTUVNX0ZOX05BTUUoY21mMCkoRiBmKTogZl8oZikge30KKworICAgIHRlbXBsYXRlPGNsYXNzIFU+IFIgb3BlcmF0b3IoKShVIGNvbnN0ICYgdSkgY29uc3QKKyAgICB7CisgICAgICAgIFUgY29uc3QgKiBwID0gMDsKKyAgICAgICAgQk9PU1RfTUVNX0ZOX1JFVFVSTiBjYWxsKHUsIHApOworICAgIH0KKworICAgIFIgb3BlcmF0b3IoKShUIGNvbnN0ICYgdCkgY29uc3QKKyAgICB7CisgICAgICAgIEJPT1NUX01FTV9GTl9SRVRVUk4gKHQuKmZfKSgpOworICAgIH0KKworICAgIGJvb2wgb3BlcmF0b3I9PShCT09TVF9NRU1fRk5fTkFNRShjbWYwKSBjb25zdCAmIHJocykgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiBmXyA9PSByaHMuZl87CisgICAgfQorCisgICAgYm9vbCBvcGVyYXRvciE9KEJPT1NUX01FTV9GTl9OQU1FKGNtZjApIGNvbnN0ICYgcmhzKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIGZfICE9IHJocy5mXzsKKyAgICB9Cit9OworCisvLyBtZjEKKwordGVtcGxhdGU8Y2xhc3MgUiwgY2xhc3MgVCwgY2xhc3MgQTEgQk9PU1RfTUVNX0ZOX0NMQVNTX0Y+IGNsYXNzIEJPT1NUX01FTV9GTl9OQU1FKG1mMSkKK3sKK3B1YmxpYzoKKworICAgIHR5cGVkZWYgUiByZXN1bHRfdHlwZTsKKyAgICB0eXBlZGVmIFQgKiBmaXJzdF9hcmd1bWVudF90eXBlOworICAgIHR5cGVkZWYgQTEgc2Vjb25kX2FyZ3VtZW50X3R5cGU7CisKK3ByaXZhdGU6CisgICAgCisgICAgQk9PU1RfTUVNX0ZOX1RZUEVERUYoUiAoQk9PU1RfTUVNX0ZOX0NDIFQ6OipGKSAoQTEpKQorICAgIEYgZl87CisKKyAgICB0ZW1wbGF0ZTxjbGFzcyBVLCBjbGFzcyBCMT4gUiBjYWxsKFUgJiB1LCBUIGNvbnN0ICosIEIxICYgYjEpIGNvbnN0CisgICAgeworICAgICAgICBCT09TVF9NRU1fRk5fUkVUVVJOICh1LipmXykoYjEpOworICAgIH0KKworICAgIHRlbXBsYXRlPGNsYXNzIFUsIGNsYXNzIEIxPiBSIGNhbGwoVSAmIHUsIHZvaWQgY29uc3QgKiwgQjEgJiBiMSkgY29uc3QKKyAgICB7CisgICAgICAgIEJPT1NUX01FTV9GTl9SRVRVUk4gKGdldF9wb2ludGVyKHUpLT4qZl8pKGIxKTsKKyAgICB9CisKK3B1YmxpYzoKKyAgICAKKyAgICBleHBsaWNpdCBCT09TVF9NRU1fRk5fTkFNRShtZjEpKEYgZik6IGZfKGYpIHt9CisKKyAgICBSIG9wZXJhdG9yKCkoVCAqIHAsIEExIGExKSBjb25zdAorICAgIHsKKyAgICAgICAgQk9PU1RfTUVNX0ZOX1JFVFVSTiAocC0+KmZfKShhMSk7CisgICAgfQorCisgICAgdGVtcGxhdGU8Y2xhc3MgVT4gUiBvcGVyYXRvcigpKFUgJiB1LCBBMSBhMSkgY29uc3QKKyAgICB7CisgICAgICAgIFUgY29uc3QgKiBwID0gMDsKKyAgICAgICAgQk9PU1RfTUVNX0ZOX1JFVFVSTiBjYWxsKHUsIHAsIGExKTsKKyAgICB9CisKKyNpZmRlZiBCT09TVF9NRU1fRk5fRU5BQkxFX0NPTlNUX09WRVJMT0FEUworCisgICAgdGVtcGxhdGU8Y2xhc3MgVT4gUiBvcGVyYXRvcigpKFUgY29uc3QgJiB1LCBBMSBhMSkgY29uc3QKKyAgICB7CisgICAgICAgIFUgY29uc3QgKiBwID0gMDsKKyAgICAgICAgQk9PU1RfTUVNX0ZOX1JFVFVSTiBjYWxsKHUsIHAsIGExKTsKKyAgICB9CisKKyNlbmRpZgorCisgICAgUiBvcGVyYXRvcigpKFQgJiB0LCBBMSBhMSkgY29uc3QKKyAgICB7CisgICAgICAgIEJPT1NUX01FTV9GTl9SRVRVUk4gKHQuKmZfKShhMSk7CisgICAgfQorCisgICAgYm9vbCBvcGVyYXRvcj09KEJPT1NUX01FTV9GTl9OQU1FKG1mMSkgY29uc3QgJiByaHMpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gZl8gPT0gcmhzLmZfOworICAgIH0KKworICAgIGJvb2wgb3BlcmF0b3IhPShCT09TVF9NRU1fRk5fTkFNRShtZjEpIGNvbnN0ICYgcmhzKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIGZfICE9IHJocy5mXzsKKyAgICB9Cit9OworCisvLyBjbWYxCisKK3RlbXBsYXRlPGNsYXNzIFIsIGNsYXNzIFQsIGNsYXNzIEExIEJPT1NUX01FTV9GTl9DTEFTU19GPiBjbGFzcyBCT09TVF9NRU1fRk5fTkFNRShjbWYxKQoreworcHVibGljOgorCisgICAgdHlwZWRlZiBSIHJlc3VsdF90eXBlOworICAgIHR5cGVkZWYgVCBjb25zdCAqIGZpcnN0X2FyZ3VtZW50X3R5cGU7CisgICAgdHlwZWRlZiBBMSBzZWNvbmRfYXJndW1lbnRfdHlwZTsKKworcHJpdmF0ZToKKyAgICAKKyAgICBCT09TVF9NRU1fRk5fVFlQRURFRihSIChCT09TVF9NRU1fRk5fQ0MgVDo6KkYpIChBMSkgY29uc3QpCisgICAgRiBmXzsKKworICAgIHRlbXBsYXRlPGNsYXNzIFUsIGNsYXNzIEIxPiBSIGNhbGwoVSAmIHUsIFQgY29uc3QgKiwgQjEgJiBiMSkgY29uc3QKKyAgICB7CisgICAgICAgIEJPT1NUX01FTV9GTl9SRVRVUk4gKHUuKmZfKShiMSk7CisgICAgfQorCisgICAgdGVtcGxhdGU8Y2xhc3MgVSwgY2xhc3MgQjE+IFIgY2FsbChVICYgdSwgdm9pZCBjb25zdCAqLCBCMSAmIGIxKSBjb25zdAorICAgIHsKKyAgICAgICAgQk9PU1RfTUVNX0ZOX1JFVFVSTiAoZ2V0X3BvaW50ZXIodSktPipmXykoYjEpOworICAgIH0KKworcHVibGljOgorICAgIAorICAgIGV4cGxpY2l0IEJPT1NUX01FTV9GTl9OQU1FKGNtZjEpKEYgZik6IGZfKGYpIHt9CisKKyAgICB0ZW1wbGF0ZTxjbGFzcyBVPiBSIG9wZXJhdG9yKCkoVSBjb25zdCAmIHUsIEExIGExKSBjb25zdAorICAgIHsKKyAgICAgICAgVSBjb25zdCAqIHAgPSAwOworICAgICAgICBCT09TVF9NRU1fRk5fUkVUVVJOIGNhbGwodSwgcCwgYTEpOworICAgIH0KKworICAgIFIgb3BlcmF0b3IoKShUIGNvbnN0ICYgdCwgQTEgYTEpIGNvbnN0CisgICAgeworICAgICAgICBCT09TVF9NRU1fRk5fUkVUVVJOICh0LipmXykoYTEpOworICAgIH0KKworICAgIGJvb2wgb3BlcmF0b3I9PShCT09TVF9NRU1fRk5fTkFNRShjbWYxKSBjb25zdCAmIHJocykgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiBmXyA9PSByaHMuZl87CisgICAgfQorCisgICAgYm9vbCBvcGVyYXRvciE9KEJPT1NUX01FTV9GTl9OQU1FKGNtZjEpIGNvbnN0ICYgcmhzKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIGZfICE9IHJocy5mXzsKKyAgICB9Cit9OworCisvLyBtZjIKKwordGVtcGxhdGU8Y2xhc3MgUiwgY2xhc3MgVCwgY2xhc3MgQTEsIGNsYXNzIEEyIEJPT1NUX01FTV9GTl9DTEFTU19GPiBjbGFzcyBCT09TVF9NRU1fRk5fTkFNRShtZjIpCit7CitwdWJsaWM6CisKKyAgICB0eXBlZGVmIFIgcmVzdWx0X3R5cGU7CisKK3ByaXZhdGU6CisgICAgCisgICAgQk9PU1RfTUVNX0ZOX1RZUEVERUYoUiAoQk9PU1RfTUVNX0ZOX0NDIFQ6OipGKSAoQTEsIEEyKSkKKyAgICBGIGZfOworCisgICAgdGVtcGxhdGU8Y2xhc3MgVSwgY2xhc3MgQjEsIGNsYXNzIEIyPiBSIGNhbGwoVSAmIHUsIFQgY29uc3QgKiwgQjEgJiBiMSwgQjIgJiBiMikgY29uc3QKKyAgICB7CisgICAgICAgIEJPT1NUX01FTV9GTl9SRVRVUk4gKHUuKmZfKShiMSwgYjIpOworICAgIH0KKworICAgIHRlbXBsYXRlPGNsYXNzIFUsIGNsYXNzIEIxLCBjbGFzcyBCMj4gUiBjYWxsKFUgJiB1LCB2b2lkIGNvbnN0ICosIEIxICYgYjEsIEIyICYgYjIpIGNvbnN0CisgICAgeworICAgICAgICBCT09TVF9NRU1fRk5fUkVUVVJOIChnZXRfcG9pbnRlcih1KS0+KmZfKShiMSwgYjIpOworICAgIH0KKworcHVibGljOgorICAgIAorICAgIGV4cGxpY2l0IEJPT1NUX01FTV9GTl9OQU1FKG1mMikoRiBmKTogZl8oZikge30KKworICAgIFIgb3BlcmF0b3IoKShUICogcCwgQTEgYTEsIEEyIGEyKSBjb25zdAorICAgIHsKKyAgICAgICAgQk9PU1RfTUVNX0ZOX1JFVFVSTiAocC0+KmZfKShhMSwgYTIpOworICAgIH0KKworICAgIHRlbXBsYXRlPGNsYXNzIFU+IFIgb3BlcmF0b3IoKShVICYgdSwgQTEgYTEsIEEyIGEyKSBjb25zdAorICAgIHsKKyAgICAgICAgVSBjb25zdCAqIHAgPSAwOworICAgICAgICBCT09TVF9NRU1fRk5fUkVUVVJOIGNhbGwodSwgcCwgYTEsIGEyKTsKKyAgICB9CisKKyNpZmRlZiBCT09TVF9NRU1fRk5fRU5BQkxFX0NPTlNUX09WRVJMT0FEUworCisgICAgdGVtcGxhdGU8Y2xhc3MgVT4gUiBvcGVyYXRvcigpKFUgY29uc3QgJiB1LCBBMSBhMSwgQTIgYTIpIGNvbnN0CisgICAgeworICAgICAgICBVIGNvbnN0ICogcCA9IDA7CisgICAgICAgIEJPT1NUX01FTV9GTl9SRVRVUk4gY2FsbCh1LCBwLCBhMSwgYTIpOworICAgIH0KKworI2VuZGlmCisKKyAgICBSIG9wZXJhdG9yKCkoVCAmIHQsIEExIGExLCBBMiBhMikgY29uc3QKKyAgICB7CisgICAgICAgIEJPT1NUX01FTV9GTl9SRVRVUk4gKHQuKmZfKShhMSwgYTIpOworICAgIH0KKworICAgIGJvb2wgb3BlcmF0b3I9PShCT09TVF9NRU1fRk5fTkFNRShtZjIpIGNvbnN0ICYgcmhzKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIGZfID09IHJocy5mXzsKKyAgICB9CisKKyAgICBib29sIG9wZXJhdG9yIT0oQk9PU1RfTUVNX0ZOX05BTUUobWYyKSBjb25zdCAmIHJocykgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiBmXyAhPSByaHMuZl87CisgICAgfQorfTsKKworLy8gY21mMgorCit0ZW1wbGF0ZTxjbGFzcyBSLCBjbGFzcyBULCBjbGFzcyBBMSwgY2xhc3MgQTIgQk9PU1RfTUVNX0ZOX0NMQVNTX0Y+IGNsYXNzIEJPT1NUX01FTV9GTl9OQU1FKGNtZjIpCit7CitwdWJsaWM6CisKKyAgICB0eXBlZGVmIFIgcmVzdWx0X3R5cGU7CisKK3ByaXZhdGU6CisgICAgCisgICAgQk9PU1RfTUVNX0ZOX1RZUEVERUYoUiAoQk9PU1RfTUVNX0ZOX0NDIFQ6OipGKSAoQTEsIEEyKSBjb25zdCkKKyAgICBGIGZfOworCisgICAgdGVtcGxhdGU8Y2xhc3MgVSwgY2xhc3MgQjEsIGNsYXNzIEIyPiBSIGNhbGwoVSAmIHUsIFQgY29uc3QgKiwgQjEgJiBiMSwgQjIgJiBiMikgY29uc3QKKyAgICB7CisgICAgICAgIEJPT1NUX01FTV9GTl9SRVRVUk4gKHUuKmZfKShiMSwgYjIpOworICAgIH0KKworICAgIHRlbXBsYXRlPGNsYXNzIFUsIGNsYXNzIEIxLCBjbGFzcyBCMj4gUiBjYWxsKFUgJiB1LCB2b2lkIGNvbnN0ICosIEIxICYgYjEsIEIyICYgYjIpIGNvbnN0CisgICAgeworICAgICAgICBCT09TVF9NRU1fRk5fUkVUVVJOIChnZXRfcG9pbnRlcih1KS0+KmZfKShiMSwgYjIpOworICAgIH0KKworcHVibGljOgorICAgIAorICAgIGV4cGxpY2l0IEJPT1NUX01FTV9GTl9OQU1FKGNtZjIpKEYgZik6IGZfKGYpIHt9CisKKyAgICB0ZW1wbGF0ZTxjbGFzcyBVPiBSIG9wZXJhdG9yKCkoVSBjb25zdCAmIHUsIEExIGExLCBBMiBhMikgY29uc3QKKyAgICB7CisgICAgICAgIFUgY29uc3QgKiBwID0gMDsKKyAgICAgICAgQk9PU1RfTUVNX0ZOX1JFVFVSTiBjYWxsKHUsIHAsIGExLCBhMik7CisgICAgfQorCisgICAgUiBvcGVyYXRvcigpKFQgY29uc3QgJiB0LCBBMSBhMSwgQTIgYTIpIGNvbnN0CisgICAgeworICAgICAgICBCT09TVF9NRU1fRk5fUkVUVVJOICh0LipmXykoYTEsIGEyKTsKKyAgICB9CisKKyAgICBib29sIG9wZXJhdG9yPT0oQk9PU1RfTUVNX0ZOX05BTUUoY21mMikgY29uc3QgJiByaHMpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gZl8gPT0gcmhzLmZfOworICAgIH0KKworICAgIGJvb2wgb3BlcmF0b3IhPShCT09TVF9NRU1fRk5fTkFNRShjbWYyKSBjb25zdCAmIHJocykgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiBmXyAhPSByaHMuZl87CisgICAgfQorfTsKKworLy8gbWYzCisKK3RlbXBsYXRlPGNsYXNzIFIsIGNsYXNzIFQsIGNsYXNzIEExLCBjbGFzcyBBMiwgY2xhc3MgQTMgQk9PU1RfTUVNX0ZOX0NMQVNTX0Y+IGNsYXNzIEJPT1NUX01FTV9GTl9OQU1FKG1mMykKK3sKK3B1YmxpYzoKKworICAgIHR5cGVkZWYgUiByZXN1bHRfdHlwZTsKKworcHJpdmF0ZToKKyAgICAKKyAgICBCT09TVF9NRU1fRk5fVFlQRURFRihSIChCT09TVF9NRU1fRk5fQ0MgVDo6KkYpIChBMSwgQTIsIEEzKSkKKyAgICBGIGZfOworCisgICAgdGVtcGxhdGU8Y2xhc3MgVSwgY2xhc3MgQjEsIGNsYXNzIEIyLCBjbGFzcyBCMz4gUiBjYWxsKFUgJiB1LCBUIGNvbnN0ICosIEIxICYgYjEsIEIyICYgYjIsIEIzICYgYjMpIGNvbnN0CisgICAgeworICAgICAgICBCT09TVF9NRU1fRk5fUkVUVVJOICh1LipmXykoYjEsIGIyLCBiMyk7CisgICAgfQorCisgICAgdGVtcGxhdGU8Y2xhc3MgVSwgY2xhc3MgQjEsIGNsYXNzIEIyLCBjbGFzcyBCMz4gUiBjYWxsKFUgJiB1LCB2b2lkIGNvbnN0ICosIEIxICYgYjEsIEIyICYgYjIsIEIzICYgYjMpIGNvbnN0CisgICAgeworICAgICAgICBCT09TVF9NRU1fRk5fUkVUVVJOIChnZXRfcG9pbnRlcih1KS0+KmZfKShiMSwgYjIsIGIzKTsKKyAgICB9CisKK3B1YmxpYzoKKyAgICAKKyAgICBleHBsaWNpdCBCT09TVF9NRU1fRk5fTkFNRShtZjMpKEYgZik6IGZfKGYpIHt9CisKKyAgICBSIG9wZXJhdG9yKCkoVCAqIHAsIEExIGExLCBBMiBhMiwgQTMgYTMpIGNvbnN0CisgICAgeworICAgICAgICBCT09TVF9NRU1fRk5fUkVUVVJOIChwLT4qZl8pKGExLCBhMiwgYTMpOworICAgIH0KKworICAgIHRlbXBsYXRlPGNsYXNzIFU+IFIgb3BlcmF0b3IoKShVICYgdSwgQTEgYTEsIEEyIGEyLCBBMyBhMykgY29uc3QKKyAgICB7CisgICAgICAgIFUgY29uc3QgKiBwID0gMDsKKyAgICAgICAgQk9PU1RfTUVNX0ZOX1JFVFVSTiBjYWxsKHUsIHAsIGExLCBhMiwgYTMpOworICAgIH0KKworI2lmZGVmIEJPT1NUX01FTV9GTl9FTkFCTEVfQ09OU1RfT1ZFUkxPQURTCisKKyAgICB0ZW1wbGF0ZTxjbGFzcyBVPiBSIG9wZXJhdG9yKCkoVSBjb25zdCAmIHUsIEExIGExLCBBMiBhMiwgQTMgYTMpIGNvbnN0CisgICAgeworICAgICAgICBVIGNvbnN0ICogcCA9IDA7CisgICAgICAgIEJPT1NUX01FTV9GTl9SRVRVUk4gY2FsbCh1LCBwLCBhMSwgYTIsIGEzKTsKKyAgICB9CisKKyNlbmRpZgorCisgICAgUiBvcGVyYXRvcigpKFQgJiB0LCBBMSBhMSwgQTIgYTIsIEEzIGEzKSBjb25zdAorICAgIHsKKyAgICAgICAgQk9PU1RfTUVNX0ZOX1JFVFVSTiAodC4qZl8pKGExLCBhMiwgYTMpOworICAgIH0KKworICAgIGJvb2wgb3BlcmF0b3I9PShCT09TVF9NRU1fRk5fTkFNRShtZjMpIGNvbnN0ICYgcmhzKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIGZfID09IHJocy5mXzsKKyAgICB9CisKKyAgICBib29sIG9wZXJhdG9yIT0oQk9PU1RfTUVNX0ZOX05BTUUobWYzKSBjb25zdCAmIHJocykgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiBmXyAhPSByaHMuZl87CisgICAgfQorfTsKKworLy8gY21mMworCit0ZW1wbGF0ZTxjbGFzcyBSLCBjbGFzcyBULCBjbGFzcyBBMSwgY2xhc3MgQTIsIGNsYXNzIEEzIEJPT1NUX01FTV9GTl9DTEFTU19GPiBjbGFzcyBCT09TVF9NRU1fRk5fTkFNRShjbWYzKQoreworcHVibGljOgorCisgICAgdHlwZWRlZiBSIHJlc3VsdF90eXBlOworCitwcml2YXRlOgorCisgICAgQk9PU1RfTUVNX0ZOX1RZUEVERUYoUiAoQk9PU1RfTUVNX0ZOX0NDIFQ6OipGKSAoQTEsIEEyLCBBMykgY29uc3QpCisgICAgRiBmXzsKKworICAgIHRlbXBsYXRlPGNsYXNzIFUsIGNsYXNzIEIxLCBjbGFzcyBCMiwgY2xhc3MgQjM+IFIgY2FsbChVICYgdSwgVCBjb25zdCAqLCBCMSAmIGIxLCBCMiAmIGIyLCBCMyAmIGIzKSBjb25zdAorICAgIHsKKyAgICAgICAgQk9PU1RfTUVNX0ZOX1JFVFVSTiAodS4qZl8pKGIxLCBiMiwgYjMpOworICAgIH0KKworICAgIHRlbXBsYXRlPGNsYXNzIFUsIGNsYXNzIEIxLCBjbGFzcyBCMiwgY2xhc3MgQjM+IFIgY2FsbChVICYgdSwgdm9pZCBjb25zdCAqLCBCMSAmIGIxLCBCMiAmIGIyLCBCMyAmIGIzKSBjb25zdAorICAgIHsKKyAgICAgICAgQk9PU1RfTUVNX0ZOX1JFVFVSTiAoZ2V0X3BvaW50ZXIodSktPipmXykoYjEsIGIyLCBiMyk7CisgICAgfQorCitwdWJsaWM6CisKKyAgICBleHBsaWNpdCBCT09TVF9NRU1fRk5fTkFNRShjbWYzKShGIGYpOiBmXyhmKSB7fQorCisgICAgdGVtcGxhdGU8Y2xhc3MgVT4gUiBvcGVyYXRvcigpKFUgY29uc3QgJiB1LCBBMSBhMSwgQTIgYTIsIEEzIGEzKSBjb25zdAorICAgIHsKKyAgICAgICAgVSBjb25zdCAqIHAgPSAwOworICAgICAgICBCT09TVF9NRU1fRk5fUkVUVVJOIGNhbGwodSwgcCwgYTEsIGEyLCBhMyk7CisgICAgfQorCisgICAgUiBvcGVyYXRvcigpKFQgY29uc3QgJiB0LCBBMSBhMSwgQTIgYTIsIEEzIGEzKSBjb25zdAorICAgIHsKKyAgICAgICAgQk9PU1RfTUVNX0ZOX1JFVFVSTiAodC4qZl8pKGExLCBhMiwgYTMpOworICAgIH0KKworICAgIGJvb2wgb3BlcmF0b3I9PShCT09TVF9NRU1fRk5fTkFNRShjbWYzKSBjb25zdCAmIHJocykgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiBmXyA9PSByaHMuZl87CisgICAgfQorCisgICAgYm9vbCBvcGVyYXRvciE9KEJPT1NUX01FTV9GTl9OQU1FKGNtZjMpIGNvbnN0ICYgcmhzKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIGZfICE9IHJocy5mXzsKKyAgICB9Cit9OworCisvLyBtZjQKKwordGVtcGxhdGU8Y2xhc3MgUiwgY2xhc3MgVCwgY2xhc3MgQTEsIGNsYXNzIEEyLCBjbGFzcyBBMywgY2xhc3MgQTQgQk9PU1RfTUVNX0ZOX0NMQVNTX0Y+IGNsYXNzIEJPT1NUX01FTV9GTl9OQU1FKG1mNCkKK3sKK3B1YmxpYzoKKworICAgIHR5cGVkZWYgUiByZXN1bHRfdHlwZTsKKworcHJpdmF0ZToKKyAgICAKKyAgICBCT09TVF9NRU1fRk5fVFlQRURFRihSIChCT09TVF9NRU1fRk5fQ0MgVDo6KkYpIChBMSwgQTIsIEEzLCBBNCkpCisgICAgRiBmXzsKKworICAgIHRlbXBsYXRlPGNsYXNzIFUsIGNsYXNzIEIxLCBjbGFzcyBCMiwgY2xhc3MgQjMsIGNsYXNzIEI0PiBSIGNhbGwoVSAmIHUsIFQgY29uc3QgKiwgQjEgJiBiMSwgQjIgJiBiMiwgQjMgJiBiMywgQjQgJiBiNCkgY29uc3QKKyAgICB7CisgICAgICAgIEJPT1NUX01FTV9GTl9SRVRVUk4gKHUuKmZfKShiMSwgYjIsIGIzLCBiNCk7CisgICAgfQorCisgICAgdGVtcGxhdGU8Y2xhc3MgVSwgY2xhc3MgQjEsIGNsYXNzIEIyLCBjbGFzcyBCMywgY2xhc3MgQjQ+IFIgY2FsbChVICYgdSwgdm9pZCBjb25zdCAqLCBCMSAmIGIxLCBCMiAmIGIyLCBCMyAmIGIzLCBCNCAmIGI0KSBjb25zdAorICAgIHsKKyAgICAgICAgQk9PU1RfTUVNX0ZOX1JFVFVSTiAoZ2V0X3BvaW50ZXIodSktPipmXykoYjEsIGIyLCBiMywgYjQpOworICAgIH0KKworcHVibGljOgorICAgIAorICAgIGV4cGxpY2l0IEJPT1NUX01FTV9GTl9OQU1FKG1mNCkoRiBmKTogZl8oZikge30KKworICAgIFIgb3BlcmF0b3IoKShUICogcCwgQTEgYTEsIEEyIGEyLCBBMyBhMywgQTQgYTQpIGNvbnN0CisgICAgeworICAgICAgICBCT09TVF9NRU1fRk5fUkVUVVJOIChwLT4qZl8pKGExLCBhMiwgYTMsIGE0KTsKKyAgICB9CisKKyAgICB0ZW1wbGF0ZTxjbGFzcyBVPiBSIG9wZXJhdG9yKCkoVSAmIHUsIEExIGExLCBBMiBhMiwgQTMgYTMsIEE0IGE0KSBjb25zdAorICAgIHsKKyAgICAgICAgVSBjb25zdCAqIHAgPSAwOworICAgICAgICBCT09TVF9NRU1fRk5fUkVUVVJOIGNhbGwodSwgcCwgYTEsIGEyLCBhMywgYTQpOworICAgIH0KKworI2lmZGVmIEJPT1NUX01FTV9GTl9FTkFCTEVfQ09OU1RfT1ZFUkxPQURTCisKKyAgICB0ZW1wbGF0ZTxjbGFzcyBVPiBSIG9wZXJhdG9yKCkoVSBjb25zdCAmIHUsIEExIGExLCBBMiBhMiwgQTMgYTMsIEE0IGE0KSBjb25zdAorICAgIHsKKyAgICAgICAgVSBjb25zdCAqIHAgPSAwOworICAgICAgICBCT09TVF9NRU1fRk5fUkVUVVJOIGNhbGwodSwgcCwgYTEsIGEyLCBhMywgYTQpOworICAgIH0KKworI2VuZGlmCisKKyAgICBSIG9wZXJhdG9yKCkoVCAmIHQsIEExIGExLCBBMiBhMiwgQTMgYTMsIEE0IGE0KSBjb25zdAorICAgIHsKKyAgICAgICAgQk9PU1RfTUVNX0ZOX1JFVFVSTiAodC4qZl8pKGExLCBhMiwgYTMsIGE0KTsKKyAgICB9CisKKyAgICBib29sIG9wZXJhdG9yPT0oQk9PU1RfTUVNX0ZOX05BTUUobWY0KSBjb25zdCAmIHJocykgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiBmXyA9PSByaHMuZl87CisgICAgfQorCisgICAgYm9vbCBvcGVyYXRvciE9KEJPT1NUX01FTV9GTl9OQU1FKG1mNCkgY29uc3QgJiByaHMpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gZl8gIT0gcmhzLmZfOworICAgIH0KK307CisKKy8vIGNtZjQKKwordGVtcGxhdGU8Y2xhc3MgUiwgY2xhc3MgVCwgY2xhc3MgQTEsIGNsYXNzIEEyLCBjbGFzcyBBMywgY2xhc3MgQTQgQk9PU1RfTUVNX0ZOX0NMQVNTX0Y+IGNsYXNzIEJPT1NUX01FTV9GTl9OQU1FKGNtZjQpCit7CitwdWJsaWM6CisKKyAgICB0eXBlZGVmIFIgcmVzdWx0X3R5cGU7CisKK3ByaXZhdGU6CisgICAgCisgICAgQk9PU1RfTUVNX0ZOX1RZUEVERUYoUiAoQk9PU1RfTUVNX0ZOX0NDIFQ6OipGKSAoQTEsIEEyLCBBMywgQTQpIGNvbnN0KQorICAgIEYgZl87CisKKyAgICB0ZW1wbGF0ZTxjbGFzcyBVLCBjbGFzcyBCMSwgY2xhc3MgQjIsIGNsYXNzIEIzLCBjbGFzcyBCND4gUiBjYWxsKFUgJiB1LCBUIGNvbnN0ICosIEIxICYgYjEsIEIyICYgYjIsIEIzICYgYjMsIEI0ICYgYjQpIGNvbnN0CisgICAgeworICAgICAgICBCT09TVF9NRU1fRk5fUkVUVVJOICh1LipmXykoYjEsIGIyLCBiMywgYjQpOworICAgIH0KKworICAgIHRlbXBsYXRlPGNsYXNzIFUsIGNsYXNzIEIxLCBjbGFzcyBCMiwgY2xhc3MgQjMsIGNsYXNzIEI0PiBSIGNhbGwoVSAmIHUsIHZvaWQgY29uc3QgKiwgQjEgJiBiMSwgQjIgJiBiMiwgQjMgJiBiMywgQjQgJiBiNCkgY29uc3QKKyAgICB7CisgICAgICAgIEJPT1NUX01FTV9GTl9SRVRVUk4gKGdldF9wb2ludGVyKHUpLT4qZl8pKGIxLCBiMiwgYjMsIGI0KTsKKyAgICB9CisKK3B1YmxpYzoKKyAgICAKKyAgICBleHBsaWNpdCBCT09TVF9NRU1fRk5fTkFNRShjbWY0KShGIGYpOiBmXyhmKSB7fQorCisgICAgdGVtcGxhdGU8Y2xhc3MgVT4gUiBvcGVyYXRvcigpKFUgY29uc3QgJiB1LCBBMSBhMSwgQTIgYTIsIEEzIGEzLCBBNCBhNCkgY29uc3QKKyAgICB7CisgICAgICAgIFUgY29uc3QgKiBwID0gMDsKKyAgICAgICAgQk9PU1RfTUVNX0ZOX1JFVFVSTiBjYWxsKHUsIHAsIGExLCBhMiwgYTMsIGE0KTsKKyAgICB9CisKKyAgICBSIG9wZXJhdG9yKCkoVCBjb25zdCAmIHQsIEExIGExLCBBMiBhMiwgQTMgYTMsIEE0IGE0KSBjb25zdAorICAgIHsKKyAgICAgICAgQk9PU1RfTUVNX0ZOX1JFVFVSTiAodC4qZl8pKGExLCBhMiwgYTMsIGE0KTsKKyAgICB9CisKKyAgICBib29sIG9wZXJhdG9yPT0oQk9PU1RfTUVNX0ZOX05BTUUoY21mNCkgY29uc3QgJiByaHMpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gZl8gPT0gcmhzLmZfOworICAgIH0KKworICAgIGJvb2wgb3BlcmF0b3IhPShCT09TVF9NRU1fRk5fTkFNRShjbWY0KSBjb25zdCAmIHJocykgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiBmXyAhPSByaHMuZl87CisgICAgfQorfTsKKworLy8gbWY1CisKK3RlbXBsYXRlPGNsYXNzIFIsIGNsYXNzIFQsIGNsYXNzIEExLCBjbGFzcyBBMiwgY2xhc3MgQTMsIGNsYXNzIEE0LCBjbGFzcyBBNSBCT09TVF9NRU1fRk5fQ0xBU1NfRj4gY2xhc3MgQk9PU1RfTUVNX0ZOX05BTUUobWY1KQoreworcHVibGljOgorCisgICAgdHlwZWRlZiBSIHJlc3VsdF90eXBlOworCitwcml2YXRlOgorICAgIAorICAgIEJPT1NUX01FTV9GTl9UWVBFREVGKFIgKEJPT1NUX01FTV9GTl9DQyBUOjoqRikgKEExLCBBMiwgQTMsIEE0LCBBNSkpCisgICAgRiBmXzsKKworICAgIHRlbXBsYXRlPGNsYXNzIFUsIGNsYXNzIEIxLCBjbGFzcyBCMiwgY2xhc3MgQjMsIGNsYXNzIEI0LCBjbGFzcyBCNT4gUiBjYWxsKFUgJiB1LCBUIGNvbnN0ICosIEIxICYgYjEsIEIyICYgYjIsIEIzICYgYjMsIEI0ICYgYjQsIEI1ICYgYjUpIGNvbnN0CisgICAgeworICAgICAgICBCT09TVF9NRU1fRk5fUkVUVVJOICh1LipmXykoYjEsIGIyLCBiMywgYjQsIGI1KTsKKyAgICB9CisKKyAgICB0ZW1wbGF0ZTxjbGFzcyBVLCBjbGFzcyBCMSwgY2xhc3MgQjIsIGNsYXNzIEIzLCBjbGFzcyBCNCwgY2xhc3MgQjU+IFIgY2FsbChVICYgdSwgdm9pZCBjb25zdCAqLCBCMSAmIGIxLCBCMiAmIGIyLCBCMyAmIGIzLCBCNCAmIGI0LCBCNSAmIGI1KSBjb25zdAorICAgIHsKKyAgICAgICAgQk9PU1RfTUVNX0ZOX1JFVFVSTiAoZ2V0X3BvaW50ZXIodSktPipmXykoYjEsIGIyLCBiMywgYjQsIGI1KTsKKyAgICB9CisKK3B1YmxpYzoKKyAgICAKKyAgICBleHBsaWNpdCBCT09TVF9NRU1fRk5fTkFNRShtZjUpKEYgZik6IGZfKGYpIHt9CisKKyAgICBSIG9wZXJhdG9yKCkoVCAqIHAsIEExIGExLCBBMiBhMiwgQTMgYTMsIEE0IGE0LCBBNSBhNSkgY29uc3QKKyAgICB7CisgICAgICAgIEJPT1NUX01FTV9GTl9SRVRVUk4gKHAtPipmXykoYTEsIGEyLCBhMywgYTQsIGE1KTsKKyAgICB9CisKKyAgICB0ZW1wbGF0ZTxjbGFzcyBVPiBSIG9wZXJhdG9yKCkoVSAmIHUsIEExIGExLCBBMiBhMiwgQTMgYTMsIEE0IGE0LCBBNSBhNSkgY29uc3QKKyAgICB7CisgICAgICAgIFUgY29uc3QgKiBwID0gMDsKKyAgICAgICAgQk9PU1RfTUVNX0ZOX1JFVFVSTiBjYWxsKHUsIHAsIGExLCBhMiwgYTMsIGE0LCBhNSk7CisgICAgfQorCisjaWZkZWYgQk9PU1RfTUVNX0ZOX0VOQUJMRV9DT05TVF9PVkVSTE9BRFMKKworICAgIHRlbXBsYXRlPGNsYXNzIFU+IFIgb3BlcmF0b3IoKShVIGNvbnN0ICYgdSwgQTEgYTEsIEEyIGEyLCBBMyBhMywgQTQgYTQsIEE1IGE1KSBjb25zdAorICAgIHsKKyAgICAgICAgVSBjb25zdCAqIHAgPSAwOworICAgICAgICBCT09TVF9NRU1fRk5fUkVUVVJOIGNhbGwodSwgcCwgYTEsIGEyLCBhMywgYTQsIGE1KTsKKyAgICB9CisKKyNlbmRpZgorCisgICAgUiBvcGVyYXRvcigpKFQgJiB0LCBBMSBhMSwgQTIgYTIsIEEzIGEzLCBBNCBhNCwgQTUgYTUpIGNvbnN0CisgICAgeworICAgICAgICBCT09TVF9NRU1fRk5fUkVUVVJOICh0LipmXykoYTEsIGEyLCBhMywgYTQsIGE1KTsKKyAgICB9CisKKyAgICBib29sIG9wZXJhdG9yPT0oQk9PU1RfTUVNX0ZOX05BTUUobWY1KSBjb25zdCAmIHJocykgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiBmXyA9PSByaHMuZl87CisgICAgfQorCisgICAgYm9vbCBvcGVyYXRvciE9KEJPT1NUX01FTV9GTl9OQU1FKG1mNSkgY29uc3QgJiByaHMpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gZl8gIT0gcmhzLmZfOworICAgIH0KK307CisKKy8vIGNtZjUKKwordGVtcGxhdGU8Y2xhc3MgUiwgY2xhc3MgVCwgY2xhc3MgQTEsIGNsYXNzIEEyLCBjbGFzcyBBMywgY2xhc3MgQTQsIGNsYXNzIEE1IEJPT1NUX01FTV9GTl9DTEFTU19GPiBjbGFzcyBCT09TVF9NRU1fRk5fTkFNRShjbWY1KQoreworcHVibGljOgorCisgICAgdHlwZWRlZiBSIHJlc3VsdF90eXBlOworCitwcml2YXRlOgorICAgIAorICAgIEJPT1NUX01FTV9GTl9UWVBFREVGKFIgKEJPT1NUX01FTV9GTl9DQyBUOjoqRikgKEExLCBBMiwgQTMsIEE0LCBBNSkgY29uc3QpCisgICAgRiBmXzsKKworICAgIHRlbXBsYXRlPGNsYXNzIFUsIGNsYXNzIEIxLCBjbGFzcyBCMiwgY2xhc3MgQjMsIGNsYXNzIEI0LCBjbGFzcyBCNT4gUiBjYWxsKFUgJiB1LCBUIGNvbnN0ICosIEIxICYgYjEsIEIyICYgYjIsIEIzICYgYjMsIEI0ICYgYjQsIEI1ICYgYjUpIGNvbnN0CisgICAgeworICAgICAgICBCT09TVF9NRU1fRk5fUkVUVVJOICh1LipmXykoYjEsIGIyLCBiMywgYjQsIGI1KTsKKyAgICB9CisKKyAgICB0ZW1wbGF0ZTxjbGFzcyBVLCBjbGFzcyBCMSwgY2xhc3MgQjIsIGNsYXNzIEIzLCBjbGFzcyBCNCwgY2xhc3MgQjU+IFIgY2FsbChVICYgdSwgdm9pZCBjb25zdCAqLCBCMSAmIGIxLCBCMiAmIGIyLCBCMyAmIGIzLCBCNCAmIGI0LCBCNSAmIGI1KSBjb25zdAorICAgIHsKKyAgICAgICAgQk9PU1RfTUVNX0ZOX1JFVFVSTiAoZ2V0X3BvaW50ZXIodSktPipmXykoYjEsIGIyLCBiMywgYjQsIGI1KTsKKyAgICB9CisKK3B1YmxpYzoKKyAgICAKKyAgICBleHBsaWNpdCBCT09TVF9NRU1fRk5fTkFNRShjbWY1KShGIGYpOiBmXyhmKSB7fQorCisgICAgdGVtcGxhdGU8Y2xhc3MgVT4gUiBvcGVyYXRvcigpKFUgY29uc3QgJiB1LCBBMSBhMSwgQTIgYTIsIEEzIGEzLCBBNCBhNCwgQTUgYTUpIGNvbnN0CisgICAgeworICAgICAgICBVIGNvbnN0ICogcCA9IDA7CisgICAgICAgIEJPT1NUX01FTV9GTl9SRVRVUk4gY2FsbCh1LCBwLCBhMSwgYTIsIGEzLCBhNCwgYTUpOworICAgIH0KKworICAgIFIgb3BlcmF0b3IoKShUIGNvbnN0ICYgdCwgQTEgYTEsIEEyIGEyLCBBMyBhMywgQTQgYTQsIEE1IGE1KSBjb25zdAorICAgIHsKKyAgICAgICAgQk9PU1RfTUVNX0ZOX1JFVFVSTiAodC4qZl8pKGExLCBhMiwgYTMsIGE0LCBhNSk7CisgICAgfQorCisgICAgYm9vbCBvcGVyYXRvcj09KEJPT1NUX01FTV9GTl9OQU1FKGNtZjUpIGNvbnN0ICYgcmhzKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIGZfID09IHJocy5mXzsKKyAgICB9CisKKyAgICBib29sIG9wZXJhdG9yIT0oQk9PU1RfTUVNX0ZOX05BTUUoY21mNSkgY29uc3QgJiByaHMpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gZl8gIT0gcmhzLmZfOworICAgIH0KK307CisKKy8vIG1mNgorCit0ZW1wbGF0ZTxjbGFzcyBSLCBjbGFzcyBULCBjbGFzcyBBMSwgY2xhc3MgQTIsIGNsYXNzIEEzLCBjbGFzcyBBNCwgY2xhc3MgQTUsIGNsYXNzIEE2IEJPT1NUX01FTV9GTl9DTEFTU19GPiBjbGFzcyBCT09TVF9NRU1fRk5fTkFNRShtZjYpCit7CitwdWJsaWM6CisKKyAgICB0eXBlZGVmIFIgcmVzdWx0X3R5cGU7CisKK3ByaXZhdGU6CisKKyAgICBCT09TVF9NRU1fRk5fVFlQRURFRihSIChCT09TVF9NRU1fRk5fQ0MgVDo6KkYpIChBMSwgQTIsIEEzLCBBNCwgQTUsIEE2KSkKKyAgICBGIGZfOworCisgICAgdGVtcGxhdGU8Y2xhc3MgVSwgY2xhc3MgQjEsIGNsYXNzIEIyLCBjbGFzcyBCMywgY2xhc3MgQjQsIGNsYXNzIEI1LCBjbGFzcyBCNj4gUiBjYWxsKFUgJiB1LCBUIGNvbnN0ICosIEIxICYgYjEsIEIyICYgYjIsIEIzICYgYjMsIEI0ICYgYjQsIEI1ICYgYjUsIEI2ICYgYjYpIGNvbnN0CisgICAgeworICAgICAgICBCT09TVF9NRU1fRk5fUkVUVVJOICh1LipmXykoYjEsIGIyLCBiMywgYjQsIGI1LCBiNik7CisgICAgfQorCisgICAgdGVtcGxhdGU8Y2xhc3MgVSwgY2xhc3MgQjEsIGNsYXNzIEIyLCBjbGFzcyBCMywgY2xhc3MgQjQsIGNsYXNzIEI1LCBjbGFzcyBCNj4gUiBjYWxsKFUgJiB1LCB2b2lkIGNvbnN0ICosIEIxICYgYjEsIEIyICYgYjIsIEIzICYgYjMsIEI0ICYgYjQsIEI1ICYgYjUsIEI2ICYgYjYpIGNvbnN0CisgICAgeworICAgICAgICBCT09TVF9NRU1fRk5fUkVUVVJOIChnZXRfcG9pbnRlcih1KS0+KmZfKShiMSwgYjIsIGIzLCBiNCwgYjUsIGI2KTsKKyAgICB9CisKK3B1YmxpYzoKKworICAgIGV4cGxpY2l0IEJPT1NUX01FTV9GTl9OQU1FKG1mNikoRiBmKTogZl8oZikge30KKworICAgIFIgb3BlcmF0b3IoKShUICogcCwgQTEgYTEsIEEyIGEyLCBBMyBhMywgQTQgYTQsIEE1IGE1LCBBNiBhNikgY29uc3QKKyAgICB7CisgICAgICAgIEJPT1NUX01FTV9GTl9SRVRVUk4gKHAtPipmXykoYTEsIGEyLCBhMywgYTQsIGE1LCBhNik7CisgICAgfQorCisgICAgdGVtcGxhdGU8Y2xhc3MgVT4gUiBvcGVyYXRvcigpKFUgJiB1LCBBMSBhMSwgQTIgYTIsIEEzIGEzLCBBNCBhNCwgQTUgYTUsIEE2IGE2KSBjb25zdAorICAgIHsKKyAgICAgICAgVSBjb25zdCAqIHAgPSAwOworICAgICAgICBCT09TVF9NRU1fRk5fUkVUVVJOIGNhbGwodSwgcCwgYTEsIGEyLCBhMywgYTQsIGE1LCBhNik7CisgICAgfQorCisjaWZkZWYgQk9PU1RfTUVNX0ZOX0VOQUJMRV9DT05TVF9PVkVSTE9BRFMKKworICAgIHRlbXBsYXRlPGNsYXNzIFU+IFIgb3BlcmF0b3IoKShVIGNvbnN0ICYgdSwgQTEgYTEsIEEyIGEyLCBBMyBhMywgQTQgYTQsIEE1IGE1LCBBNiBhNikgY29uc3QKKyAgICB7CisgICAgICAgIFUgY29uc3QgKiBwID0gMDsKKyAgICAgICAgQk9PU1RfTUVNX0ZOX1JFVFVSTiBjYWxsKHUsIHAsIGExLCBhMiwgYTMsIGE0LCBhNSwgYTYpOworICAgIH0KKworI2VuZGlmCisKKyAgICBSIG9wZXJhdG9yKCkoVCAmIHQsIEExIGExLCBBMiBhMiwgQTMgYTMsIEE0IGE0LCBBNSBhNSwgQTYgYTYpIGNvbnN0CisgICAgeworICAgICAgICBCT09TVF9NRU1fRk5fUkVUVVJOICh0LipmXykoYTEsIGEyLCBhMywgYTQsIGE1LCBhNik7CisgICAgfQorCisgICAgYm9vbCBvcGVyYXRvcj09KEJPT1NUX01FTV9GTl9OQU1FKG1mNikgY29uc3QgJiByaHMpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gZl8gPT0gcmhzLmZfOworICAgIH0KKworICAgIGJvb2wgb3BlcmF0b3IhPShCT09TVF9NRU1fRk5fTkFNRShtZjYpIGNvbnN0ICYgcmhzKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIGZfICE9IHJocy5mXzsKKyAgICB9Cit9OworCisvLyBjbWY2CisKK3RlbXBsYXRlPGNsYXNzIFIsIGNsYXNzIFQsIGNsYXNzIEExLCBjbGFzcyBBMiwgY2xhc3MgQTMsIGNsYXNzIEE0LCBjbGFzcyBBNSwgY2xhc3MgQTYgQk9PU1RfTUVNX0ZOX0NMQVNTX0Y+IGNsYXNzIEJPT1NUX01FTV9GTl9OQU1FKGNtZjYpCit7CitwdWJsaWM6CisKKyAgICB0eXBlZGVmIFIgcmVzdWx0X3R5cGU7CisKK3ByaXZhdGU6CisgICAgCisgICAgQk9PU1RfTUVNX0ZOX1RZUEVERUYoUiAoQk9PU1RfTUVNX0ZOX0NDIFQ6OipGKSAoQTEsIEEyLCBBMywgQTQsIEE1LCBBNikgY29uc3QpCisgICAgRiBmXzsKKworICAgIHRlbXBsYXRlPGNsYXNzIFUsIGNsYXNzIEIxLCBjbGFzcyBCMiwgY2xhc3MgQjMsIGNsYXNzIEI0LCBjbGFzcyBCNSwgY2xhc3MgQjY+IFIgY2FsbChVICYgdSwgVCBjb25zdCAqLCBCMSAmIGIxLCBCMiAmIGIyLCBCMyAmIGIzLCBCNCAmIGI0LCBCNSAmIGI1LCBCNiAmIGI2KSBjb25zdAorICAgIHsKKyAgICAgICAgQk9PU1RfTUVNX0ZOX1JFVFVSTiAodS4qZl8pKGIxLCBiMiwgYjMsIGI0LCBiNSwgYjYpOworICAgIH0KKworICAgIHRlbXBsYXRlPGNsYXNzIFUsIGNsYXNzIEIxLCBjbGFzcyBCMiwgY2xhc3MgQjMsIGNsYXNzIEI0LCBjbGFzcyBCNSwgY2xhc3MgQjY+IFIgY2FsbChVICYgdSwgdm9pZCBjb25zdCAqLCBCMSAmIGIxLCBCMiAmIGIyLCBCMyAmIGIzLCBCNCAmIGI0LCBCNSAmIGI1LCBCNiAmIGI2KSBjb25zdAorICAgIHsKKyAgICAgICAgQk9PU1RfTUVNX0ZOX1JFVFVSTiAoZ2V0X3BvaW50ZXIodSktPipmXykoYjEsIGIyLCBiMywgYjQsIGI1LCBiNik7CisgICAgfQorCitwdWJsaWM6CisgICAgCisgICAgZXhwbGljaXQgQk9PU1RfTUVNX0ZOX05BTUUoY21mNikoRiBmKTogZl8oZikge30KKworICAgIHRlbXBsYXRlPGNsYXNzIFU+IFIgb3BlcmF0b3IoKShVIGNvbnN0ICYgdSwgQTEgYTEsIEEyIGEyLCBBMyBhMywgQTQgYTQsIEE1IGE1LCBBNiBhNikgY29uc3QKKyAgICB7CisgICAgICAgIFUgY29uc3QgKiBwID0gMDsKKyAgICAgICAgQk9PU1RfTUVNX0ZOX1JFVFVSTiBjYWxsKHUsIHAsIGExLCBhMiwgYTMsIGE0LCBhNSwgYTYpOworICAgIH0KKworICAgIFIgb3BlcmF0b3IoKShUIGNvbnN0ICYgdCwgQTEgYTEsIEEyIGEyLCBBMyBhMywgQTQgYTQsIEE1IGE1LCBBNiBhNikgY29uc3QKKyAgICB7CisgICAgICAgIEJPT1NUX01FTV9GTl9SRVRVUk4gKHQuKmZfKShhMSwgYTIsIGEzLCBhNCwgYTUsIGE2KTsKKyAgICB9CisKKyAgICBib29sIG9wZXJhdG9yPT0oQk9PU1RfTUVNX0ZOX05BTUUoY21mNikgY29uc3QgJiByaHMpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gZl8gPT0gcmhzLmZfOworICAgIH0KKworICAgIGJvb2wgb3BlcmF0b3IhPShCT09TVF9NRU1fRk5fTkFNRShjbWY2KSBjb25zdCAmIHJocykgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiBmXyAhPSByaHMuZl87CisgICAgfQorfTsKKworLy8gbWY3CisKK3RlbXBsYXRlPGNsYXNzIFIsIGNsYXNzIFQsIGNsYXNzIEExLCBjbGFzcyBBMiwgY2xhc3MgQTMsIGNsYXNzIEE0LCBjbGFzcyBBNSwgY2xhc3MgQTYsIGNsYXNzIEE3IEJPT1NUX01FTV9GTl9DTEFTU19GPiBjbGFzcyBCT09TVF9NRU1fRk5fTkFNRShtZjcpCit7CitwdWJsaWM6CisKKyAgICB0eXBlZGVmIFIgcmVzdWx0X3R5cGU7CisKK3ByaXZhdGU6CisgICAgCisgICAgQk9PU1RfTUVNX0ZOX1RZUEVERUYoUiAoQk9PU1RfTUVNX0ZOX0NDIFQ6OipGKSAoQTEsIEEyLCBBMywgQTQsIEE1LCBBNiwgQTcpKQorICAgIEYgZl87CisKKyAgICB0ZW1wbGF0ZTxjbGFzcyBVLCBjbGFzcyBCMSwgY2xhc3MgQjIsIGNsYXNzIEIzLCBjbGFzcyBCNCwgY2xhc3MgQjUsIGNsYXNzIEI2LCBjbGFzcyBCNz4gUiBjYWxsKFUgJiB1LCBUIGNvbnN0ICosIEIxICYgYjEsIEIyICYgYjIsIEIzICYgYjMsIEI0ICYgYjQsIEI1ICYgYjUsIEI2ICYgYjYsIEI3ICYgYjcpIGNvbnN0CisgICAgeworICAgICAgICBCT09TVF9NRU1fRk5fUkVUVVJOICh1LipmXykoYjEsIGIyLCBiMywgYjQsIGI1LCBiNiwgYjcpOworICAgIH0KKworICAgIHRlbXBsYXRlPGNsYXNzIFUsIGNsYXNzIEIxLCBjbGFzcyBCMiwgY2xhc3MgQjMsIGNsYXNzIEI0LCBjbGFzcyBCNSwgY2xhc3MgQjYsIGNsYXNzIEI3PiBSIGNhbGwoVSAmIHUsIHZvaWQgY29uc3QgKiwgQjEgJiBiMSwgQjIgJiBiMiwgQjMgJiBiMywgQjQgJiBiNCwgQjUgJiBiNSwgQjYgJiBiNiwgQjcgJiBiNykgY29uc3QKKyAgICB7CisgICAgICAgIEJPT1NUX01FTV9GTl9SRVRVUk4gKGdldF9wb2ludGVyKHUpLT4qZl8pKGIxLCBiMiwgYjMsIGI0LCBiNSwgYjYsIGI3KTsKKyAgICB9CisKK3B1YmxpYzoKKyAgICAKKyAgICBleHBsaWNpdCBCT09TVF9NRU1fRk5fTkFNRShtZjcpKEYgZik6IGZfKGYpIHt9CisKKyAgICBSIG9wZXJhdG9yKCkoVCAqIHAsIEExIGExLCBBMiBhMiwgQTMgYTMsIEE0IGE0LCBBNSBhNSwgQTYgYTYsIEE3IGE3KSBjb25zdAorICAgIHsKKyAgICAgICAgQk9PU1RfTUVNX0ZOX1JFVFVSTiAocC0+KmZfKShhMSwgYTIsIGEzLCBhNCwgYTUsIGE2LCBhNyk7CisgICAgfQorCisgICAgdGVtcGxhdGU8Y2xhc3MgVT4gUiBvcGVyYXRvcigpKFUgJiB1LCBBMSBhMSwgQTIgYTIsIEEzIGEzLCBBNCBhNCwgQTUgYTUsIEE2IGE2LCBBNyBhNykgY29uc3QKKyAgICB7CisgICAgICAgIFUgY29uc3QgKiBwID0gMDsKKyAgICAgICAgQk9PU1RfTUVNX0ZOX1JFVFVSTiBjYWxsKHUsIHAsIGExLCBhMiwgYTMsIGE0LCBhNSwgYTYsIGE3KTsKKyAgICB9CisKKyNpZmRlZiBCT09TVF9NRU1fRk5fRU5BQkxFX0NPTlNUX09WRVJMT0FEUworCisgICAgdGVtcGxhdGU8Y2xhc3MgVT4gUiBvcGVyYXRvcigpKFUgY29uc3QgJiB1LCBBMSBhMSwgQTIgYTIsIEEzIGEzLCBBNCBhNCwgQTUgYTUsIEE2IGE2LCBBNyBhNykgY29uc3QKKyAgICB7CisgICAgICAgIFUgY29uc3QgKiBwID0gMDsKKyAgICAgICAgQk9PU1RfTUVNX0ZOX1JFVFVSTiBjYWxsKHUsIHAsIGExLCBhMiwgYTMsIGE0LCBhNSwgYTYsIGE3KTsKKyAgICB9CisKKyNlbmRpZgorCisgICAgUiBvcGVyYXRvcigpKFQgJiB0LCBBMSBhMSwgQTIgYTIsIEEzIGEzLCBBNCBhNCwgQTUgYTUsIEE2IGE2LCBBNyBhNykgY29uc3QKKyAgICB7CisgICAgICAgIEJPT1NUX01FTV9GTl9SRVRVUk4gKHQuKmZfKShhMSwgYTIsIGEzLCBhNCwgYTUsIGE2LCBhNyk7CisgICAgfQorCisgICAgYm9vbCBvcGVyYXRvcj09KEJPT1NUX01FTV9GTl9OQU1FKG1mNykgY29uc3QgJiByaHMpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gZl8gPT0gcmhzLmZfOworICAgIH0KKworICAgIGJvb2wgb3BlcmF0b3IhPShCT09TVF9NRU1fRk5fTkFNRShtZjcpIGNvbnN0ICYgcmhzKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIGZfICE9IHJocy5mXzsKKyAgICB9Cit9OworCisvLyBjbWY3CisKK3RlbXBsYXRlPGNsYXNzIFIsIGNsYXNzIFQsIGNsYXNzIEExLCBjbGFzcyBBMiwgY2xhc3MgQTMsIGNsYXNzIEE0LCBjbGFzcyBBNSwgY2xhc3MgQTYsIGNsYXNzIEE3IEJPT1NUX01FTV9GTl9DTEFTU19GPiBjbGFzcyBCT09TVF9NRU1fRk5fTkFNRShjbWY3KQoreworcHVibGljOgorCisgICAgdHlwZWRlZiBSIHJlc3VsdF90eXBlOworCitwcml2YXRlOgorICAgIAorICAgIEJPT1NUX01FTV9GTl9UWVBFREVGKFIgKEJPT1NUX01FTV9GTl9DQyBUOjoqRikgKEExLCBBMiwgQTMsIEE0LCBBNSwgQTYsIEE3KSBjb25zdCkKKyAgICBGIGZfOworCisgICAgdGVtcGxhdGU8Y2xhc3MgVSwgY2xhc3MgQjEsIGNsYXNzIEIyLCBjbGFzcyBCMywgY2xhc3MgQjQsIGNsYXNzIEI1LCBjbGFzcyBCNiwgY2xhc3MgQjc+IFIgY2FsbChVICYgdSwgVCBjb25zdCAqLCBCMSAmIGIxLCBCMiAmIGIyLCBCMyAmIGIzLCBCNCAmIGI0LCBCNSAmIGI1LCBCNiAmIGI2LCBCNyAmIGI3KSBjb25zdAorICAgIHsKKyAgICAgICAgQk9PU1RfTUVNX0ZOX1JFVFVSTiAodS4qZl8pKGIxLCBiMiwgYjMsIGI0LCBiNSwgYjYsIGI3KTsKKyAgICB9CisKKyAgICB0ZW1wbGF0ZTxjbGFzcyBVLCBjbGFzcyBCMSwgY2xhc3MgQjIsIGNsYXNzIEIzLCBjbGFzcyBCNCwgY2xhc3MgQjUsIGNsYXNzIEI2LCBjbGFzcyBCNz4gUiBjYWxsKFUgJiB1LCB2b2lkIGNvbnN0ICosIEIxICYgYjEsIEIyICYgYjIsIEIzICYgYjMsIEI0ICYgYjQsIEI1ICYgYjUsIEI2ICYgYjYsIEI3ICYgYjcpIGNvbnN0CisgICAgeworICAgICAgICBCT09TVF9NRU1fRk5fUkVUVVJOIChnZXRfcG9pbnRlcih1KS0+KmZfKShiMSwgYjIsIGIzLCBiNCwgYjUsIGI2LCBiNyk7CisgICAgfQorCitwdWJsaWM6CisgICAgCisgICAgZXhwbGljaXQgQk9PU1RfTUVNX0ZOX05BTUUoY21mNykoRiBmKTogZl8oZikge30KKworICAgIHRlbXBsYXRlPGNsYXNzIFU+IFIgb3BlcmF0b3IoKShVIGNvbnN0ICYgdSwgQTEgYTEsIEEyIGEyLCBBMyBhMywgQTQgYTQsIEE1IGE1LCBBNiBhNiwgQTcgYTcpIGNvbnN0CisgICAgeworICAgICAgICBVIGNvbnN0ICogcCA9IDA7CisgICAgICAgIEJPT1NUX01FTV9GTl9SRVRVUk4gY2FsbCh1LCBwLCBhMSwgYTIsIGEzLCBhNCwgYTUsIGE2LCBhNyk7CisgICAgfQorCisgICAgUiBvcGVyYXRvcigpKFQgY29uc3QgJiB0LCBBMSBhMSwgQTIgYTIsIEEzIGEzLCBBNCBhNCwgQTUgYTUsIEE2IGE2LCBBNyBhNykgY29uc3QKKyAgICB7CisgICAgICAgIEJPT1NUX01FTV9GTl9SRVRVUk4gKHQuKmZfKShhMSwgYTIsIGEzLCBhNCwgYTUsIGE2LCBhNyk7CisgICAgfQorCisgICAgYm9vbCBvcGVyYXRvcj09KEJPT1NUX01FTV9GTl9OQU1FKGNtZjcpIGNvbnN0ICYgcmhzKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIGZfID09IHJocy5mXzsKKyAgICB9CisKKyAgICBib29sIG9wZXJhdG9yIT0oQk9PU1RfTUVNX0ZOX05BTUUoY21mNykgY29uc3QgJiByaHMpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gZl8gIT0gcmhzLmZfOworICAgIH0KK307CisKKy8vIG1mOAorCit0ZW1wbGF0ZTxjbGFzcyBSLCBjbGFzcyBULCBjbGFzcyBBMSwgY2xhc3MgQTIsIGNsYXNzIEEzLCBjbGFzcyBBNCwgY2xhc3MgQTUsIGNsYXNzIEE2LCBjbGFzcyBBNywgY2xhc3MgQTggQk9PU1RfTUVNX0ZOX0NMQVNTX0Y+IGNsYXNzIEJPT1NUX01FTV9GTl9OQU1FKG1mOCkKK3sKK3B1YmxpYzoKKworICAgIHR5cGVkZWYgUiByZXN1bHRfdHlwZTsKKworcHJpdmF0ZToKKyAgICAKKyAgICBCT09TVF9NRU1fRk5fVFlQRURFRihSIChCT09TVF9NRU1fRk5fQ0MgVDo6KkYpIChBMSwgQTIsIEEzLCBBNCwgQTUsIEE2LCBBNywgQTgpKQorICAgIEYgZl87CisKKyAgICB0ZW1wbGF0ZTxjbGFzcyBVLCBjbGFzcyBCMSwgY2xhc3MgQjIsIGNsYXNzIEIzLCBjbGFzcyBCNCwgY2xhc3MgQjUsIGNsYXNzIEI2LCBjbGFzcyBCNywgY2xhc3MgQjg+IFIgY2FsbChVICYgdSwgVCBjb25zdCAqLCBCMSAmIGIxLCBCMiAmIGIyLCBCMyAmIGIzLCBCNCAmIGI0LCBCNSAmIGI1LCBCNiAmIGI2LCBCNyAmIGI3LCBCOCAmIGI4KSBjb25zdAorICAgIHsKKyAgICAgICAgQk9PU1RfTUVNX0ZOX1JFVFVSTiAodS4qZl8pKGIxLCBiMiwgYjMsIGI0LCBiNSwgYjYsIGI3LCBiOCk7CisgICAgfQorCisgICAgdGVtcGxhdGU8Y2xhc3MgVSwgY2xhc3MgQjEsIGNsYXNzIEIyLCBjbGFzcyBCMywgY2xhc3MgQjQsIGNsYXNzIEI1LCBjbGFzcyBCNiwgY2xhc3MgQjcsIGNsYXNzIEI4PiBSIGNhbGwoVSAmIHUsIHZvaWQgY29uc3QgKiwgQjEgJiBiMSwgQjIgJiBiMiwgQjMgJiBiMywgQjQgJiBiNCwgQjUgJiBiNSwgQjYgJiBiNiwgQjcgJiBiNywgQjggJiBiOCkgY29uc3QKKyAgICB7CisgICAgICAgIEJPT1NUX01FTV9GTl9SRVRVUk4gKGdldF9wb2ludGVyKHUpLT4qZl8pKGIxLCBiMiwgYjMsIGI0LCBiNSwgYjYsIGI3LCBiOCk7CisgICAgfQorCitwdWJsaWM6CisgICAgCisgICAgZXhwbGljaXQgQk9PU1RfTUVNX0ZOX05BTUUobWY4KShGIGYpOiBmXyhmKSB7fQorCisgICAgUiBvcGVyYXRvcigpKFQgKiBwLCBBMSBhMSwgQTIgYTIsIEEzIGEzLCBBNCBhNCwgQTUgYTUsIEE2IGE2LCBBNyBhNywgQTggYTgpIGNvbnN0CisgICAgeworICAgICAgICBCT09TVF9NRU1fRk5fUkVUVVJOIChwLT4qZl8pKGExLCBhMiwgYTMsIGE0LCBhNSwgYTYsIGE3LCBhOCk7CisgICAgfQorCisgICAgdGVtcGxhdGU8Y2xhc3MgVT4gUiBvcGVyYXRvcigpKFUgJiB1LCBBMSBhMSwgQTIgYTIsIEEzIGEzLCBBNCBhNCwgQTUgYTUsIEE2IGE2LCBBNyBhNywgQTggYTgpIGNvbnN0CisgICAgeworICAgICAgICBVIGNvbnN0ICogcCA9IDA7CisgICAgICAgIEJPT1NUX01FTV9GTl9SRVRVUk4gY2FsbCh1LCBwLCBhMSwgYTIsIGEzLCBhNCwgYTUsIGE2LCBhNywgYTgpOworICAgIH0KKworI2lmZGVmIEJPT1NUX01FTV9GTl9FTkFCTEVfQ09OU1RfT1ZFUkxPQURTCisKKyAgICB0ZW1wbGF0ZTxjbGFzcyBVPiBSIG9wZXJhdG9yKCkoVSBjb25zdCAmIHUsIEExIGExLCBBMiBhMiwgQTMgYTMsIEE0IGE0LCBBNSBhNSwgQTYgYTYsIEE3IGE3LCBBOCBhOCkgY29uc3QKKyAgICB7CisgICAgICAgIFUgY29uc3QgKiBwID0gMDsKKyAgICAgICAgQk9PU1RfTUVNX0ZOX1JFVFVSTiBjYWxsKHUsIHAsIGExLCBhMiwgYTMsIGE0LCBhNSwgYTYsIGE3LCBhOCk7CisgICAgfQorCisjZW5kaWYKKworICAgIFIgb3BlcmF0b3IoKShUICYgdCwgQTEgYTEsIEEyIGEyLCBBMyBhMywgQTQgYTQsIEE1IGE1LCBBNiBhNiwgQTcgYTcsIEE4IGE4KSBjb25zdAorICAgIHsKKyAgICAgICAgQk9PU1RfTUVNX0ZOX1JFVFVSTiAodC4qZl8pKGExLCBhMiwgYTMsIGE0LCBhNSwgYTYsIGE3LCBhOCk7CisgICAgfQorCisgICAgYm9vbCBvcGVyYXRvcj09KEJPT1NUX01FTV9GTl9OQU1FKG1mOCkgY29uc3QgJiByaHMpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gZl8gPT0gcmhzLmZfOworICAgIH0KKworICAgIGJvb2wgb3BlcmF0b3IhPShCT09TVF9NRU1fRk5fTkFNRShtZjgpIGNvbnN0ICYgcmhzKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIGZfICE9IHJocy5mXzsKKyAgICB9Cit9OworCisvLyBjbWY4CisKK3RlbXBsYXRlPGNsYXNzIFIsIGNsYXNzIFQsIGNsYXNzIEExLCBjbGFzcyBBMiwgY2xhc3MgQTMsIGNsYXNzIEE0LCBjbGFzcyBBNSwgY2xhc3MgQTYsIGNsYXNzIEE3LCBjbGFzcyBBOCBCT09TVF9NRU1fRk5fQ0xBU1NfRj4gY2xhc3MgQk9PU1RfTUVNX0ZOX05BTUUoY21mOCkKK3sKK3B1YmxpYzoKKworICAgIHR5cGVkZWYgUiByZXN1bHRfdHlwZTsKKworcHJpdmF0ZToKKyAgICAKKyAgICBCT09TVF9NRU1fRk5fVFlQRURFRihSIChCT09TVF9NRU1fRk5fQ0MgVDo6KkYpIChBMSwgQTIsIEEzLCBBNCwgQTUsIEE2LCBBNywgQTgpIGNvbnN0KQorICAgIEYgZl87CisKKyAgICB0ZW1wbGF0ZTxjbGFzcyBVLCBjbGFzcyBCMSwgY2xhc3MgQjIsIGNsYXNzIEIzLCBjbGFzcyBCNCwgY2xhc3MgQjUsIGNsYXNzIEI2LCBjbGFzcyBCNywgY2xhc3MgQjg+IFIgY2FsbChVICYgdSwgVCBjb25zdCAqLCBCMSAmIGIxLCBCMiAmIGIyLCBCMyAmIGIzLCBCNCAmIGI0LCBCNSAmIGI1LCBCNiAmIGI2LCBCNyAmIGI3LCBCOCAmIGI4KSBjb25zdAorICAgIHsKKyAgICAgICAgQk9PU1RfTUVNX0ZOX1JFVFVSTiAodS4qZl8pKGIxLCBiMiwgYjMsIGI0LCBiNSwgYjYsIGI3LCBiOCk7CisgICAgfQorCisgICAgdGVtcGxhdGU8Y2xhc3MgVSwgY2xhc3MgQjEsIGNsYXNzIEIyLCBjbGFzcyBCMywgY2xhc3MgQjQsIGNsYXNzIEI1LCBjbGFzcyBCNiwgY2xhc3MgQjcsIGNsYXNzIEI4PiBSIGNhbGwoVSAmIHUsIHZvaWQgY29uc3QgKiwgQjEgJiBiMSwgQjIgJiBiMiwgQjMgJiBiMywgQjQgJiBiNCwgQjUgJiBiNSwgQjYgJiBiNiwgQjcgJiBiNywgQjggJiBiOCkgY29uc3QKKyAgICB7CisgICAgICAgIEJPT1NUX01FTV9GTl9SRVRVUk4gKGdldF9wb2ludGVyKHUpLT4qZl8pKGIxLCBiMiwgYjMsIGI0LCBiNSwgYjYsIGI3LCBiOCk7CisgICAgfQorCitwdWJsaWM6CisgICAgCisgICAgZXhwbGljaXQgQk9PU1RfTUVNX0ZOX05BTUUoY21mOCkoRiBmKTogZl8oZikge30KKworICAgIFIgb3BlcmF0b3IoKShUIGNvbnN0ICogcCwgQTEgYTEsIEEyIGEyLCBBMyBhMywgQTQgYTQsIEE1IGE1LCBBNiBhNiwgQTcgYTcsIEE4IGE4KSBjb25zdAorICAgIHsKKyAgICAgICAgQk9PU1RfTUVNX0ZOX1JFVFVSTiAocC0+KmZfKShhMSwgYTIsIGEzLCBhNCwgYTUsIGE2LCBhNywgYTgpOworICAgIH0KKworICAgIHRlbXBsYXRlPGNsYXNzIFU+IFIgb3BlcmF0b3IoKShVIGNvbnN0ICYgdSwgQTEgYTEsIEEyIGEyLCBBMyBhMywgQTQgYTQsIEE1IGE1LCBBNiBhNiwgQTcgYTcsIEE4IGE4KSBjb25zdAorICAgIHsKKyAgICAgICAgVSBjb25zdCAqIHAgPSAwOworICAgICAgICBCT09TVF9NRU1fRk5fUkVUVVJOIGNhbGwodSwgcCwgYTEsIGEyLCBhMywgYTQsIGE1LCBhNiwgYTcsIGE4KTsKKyAgICB9CisKKyAgICBSIG9wZXJhdG9yKCkoVCBjb25zdCAmIHQsIEExIGExLCBBMiBhMiwgQTMgYTMsIEE0IGE0LCBBNSBhNSwgQTYgYTYsIEE3IGE3LCBBOCBhOCkgY29uc3QKKyAgICB7CisgICAgICAgIEJPT1NUX01FTV9GTl9SRVRVUk4gKHQuKmZfKShhMSwgYTIsIGEzLCBhNCwgYTUsIGE2LCBhNywgYTgpOworICAgIH0KKworICAgIGJvb2wgb3BlcmF0b3I9PShCT09TVF9NRU1fRk5fTkFNRShjbWY4KSBjb25zdCAmIHJocykgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiBmXyA9PSByaHMuZl87CisgICAgfQorCisgICAgYm9vbCBvcGVyYXRvciE9KEJPT1NUX01FTV9GTl9OQU1FKGNtZjgpIGNvbnN0ICYgcmhzKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIGZfICE9IHJocy5mXzsKKyAgICB9Cit9OworCisjdW5kZWYgQk9PU1RfTUVNX0ZOX0VOQUJMRV9DT05TVF9PVkVSTE9BRFMKZGlmZiAtLWdpdCBhL25kbmJvb3N0L2JpbmQvbWVtX2ZuX3Z3LmhwcCBiL25kbmJvb3N0L2JpbmQvbWVtX2ZuX3Z3LmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mM2ZjNThkCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvYmluZC9tZW1fZm5fdncuaHBwCkBAIC0wLDAgKzEsMTMwIEBACisvLworLy8gIGJpbmQvbWVtX2ZuX3Z3LmhwcCAtIHZvaWQgcmV0dXJuIGhlbHBlciB3cmFwcGVycworLy8KKy8vICBEbyBub3QgaW5jbHVkZSB0aGlzIGhlYWRlciBkaXJlY3RseQorLy8KKy8vICBDb3B5cmlnaHQgKGMpIDIwMDEgUGV0ZXIgRGltb3YgYW5kIE11bHRpIE1lZGlhIEx0ZC4KKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIChTZWUKKy8vIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0CisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworLy8gIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL2JpbmQvbWVtX2ZuLmh0bWwgZm9yIGRvY3VtZW50YXRpb24uCisvLworCit0ZW1wbGF0ZTxjbGFzcyBSLCBjbGFzcyBUPiBzdHJ1Y3QgQk9PU1RfTUVNX0ZOX05BTUUobWYwKTogcHVibGljIG1mPFI+OjpCT09TVF9ORVNURURfVEVNUExBVEUgQk9PU1RfTUVNX0ZOX05BTUUyKG1mMCk8UiwgVCwgUiAoQk9PU1RfTUVNX0ZOX0NDIFQ6OiopICgpPgoreworICAgIHR5cGVkZWYgUiAoQk9PU1RfTUVNX0ZOX0NDIFQ6OipGKSAoKTsKKyAgICBleHBsaWNpdCBCT09TVF9NRU1fRk5fTkFNRShtZjApKEYgZik6IG1mPFI+OjpCT09TVF9ORVNURURfVEVNUExBVEUgQk9PU1RfTUVNX0ZOX05BTUUyKG1mMCk8UiwgVCwgRj4oZikge30KK307CisKK3RlbXBsYXRlPGNsYXNzIFIsIGNsYXNzIFQ+IHN0cnVjdCBCT09TVF9NRU1fRk5fTkFNRShjbWYwKTogcHVibGljIG1mPFI+OjpCT09TVF9ORVNURURfVEVNUExBVEUgQk9PU1RfTUVNX0ZOX05BTUUyKGNtZjApPFIsIFQsIFIgKEJPT1NUX01FTV9GTl9DQyBUOjoqKSAoKSBjb25zdD4KK3sKKyAgICB0eXBlZGVmIFIgKEJPT1NUX01FTV9GTl9DQyBUOjoqRikgKCkgY29uc3Q7CisgICAgZXhwbGljaXQgQk9PU1RfTUVNX0ZOX05BTUUoY21mMCkoRiBmKTogbWY8Uj46OkJPT1NUX05FU1RFRF9URU1QTEFURSBCT09TVF9NRU1fRk5fTkFNRTIoY21mMCk8UiwgVCwgRj4oZikge30KK307CisKKwordGVtcGxhdGU8Y2xhc3MgUiwgY2xhc3MgVCwgY2xhc3MgQTE+IHN0cnVjdCBCT09TVF9NRU1fRk5fTkFNRShtZjEpOiBwdWJsaWMgbWY8Uj46OkJPT1NUX05FU1RFRF9URU1QTEFURSBCT09TVF9NRU1fRk5fTkFNRTIobWYxKTxSLCBULCBBMSwgUiAoQk9PU1RfTUVNX0ZOX0NDIFQ6OiopIChBMSk+Cit7CisgICAgdHlwZWRlZiBSIChCT09TVF9NRU1fRk5fQ0MgVDo6KkYpIChBMSk7CisgICAgZXhwbGljaXQgQk9PU1RfTUVNX0ZOX05BTUUobWYxKShGIGYpOiBtZjxSPjo6Qk9PU1RfTkVTVEVEX1RFTVBMQVRFIEJPT1NUX01FTV9GTl9OQU1FMihtZjEpPFIsIFQsIEExLCBGPihmKSB7fQorfTsKKwordGVtcGxhdGU8Y2xhc3MgUiwgY2xhc3MgVCwgY2xhc3MgQTE+IHN0cnVjdCBCT09TVF9NRU1fRk5fTkFNRShjbWYxKTogcHVibGljIG1mPFI+OjpCT09TVF9ORVNURURfVEVNUExBVEUgQk9PU1RfTUVNX0ZOX05BTUUyKGNtZjEpPFIsIFQsIEExLCBSIChCT09TVF9NRU1fRk5fQ0MgVDo6KikgKEExKSBjb25zdD4KK3sKKyAgICB0eXBlZGVmIFIgKEJPT1NUX01FTV9GTl9DQyBUOjoqRikgKEExKSBjb25zdDsKKyAgICBleHBsaWNpdCBCT09TVF9NRU1fRk5fTkFNRShjbWYxKShGIGYpOiBtZjxSPjo6Qk9PU1RfTkVTVEVEX1RFTVBMQVRFIEJPT1NUX01FTV9GTl9OQU1FMihjbWYxKTxSLCBULCBBMSwgRj4oZikge30KK307CisKKwordGVtcGxhdGU8Y2xhc3MgUiwgY2xhc3MgVCwgY2xhc3MgQTEsIGNsYXNzIEEyPiBzdHJ1Y3QgQk9PU1RfTUVNX0ZOX05BTUUobWYyKTogcHVibGljIG1mPFI+OjpCT09TVF9ORVNURURfVEVNUExBVEUgQk9PU1RfTUVNX0ZOX05BTUUyKG1mMik8UiwgVCwgQTEsIEEyLCBSIChCT09TVF9NRU1fRk5fQ0MgVDo6KikgKEExLCBBMik+Cit7CisgICAgdHlwZWRlZiBSIChCT09TVF9NRU1fRk5fQ0MgVDo6KkYpIChBMSwgQTIpOworICAgIGV4cGxpY2l0IEJPT1NUX01FTV9GTl9OQU1FKG1mMikoRiBmKTogbWY8Uj46OkJPT1NUX05FU1RFRF9URU1QTEFURSBCT09TVF9NRU1fRk5fTkFNRTIobWYyKTxSLCBULCBBMSwgQTIsIEY+KGYpIHt9Cit9OworCit0ZW1wbGF0ZTxjbGFzcyBSLCBjbGFzcyBULCBjbGFzcyBBMSwgY2xhc3MgQTI+IHN0cnVjdCBCT09TVF9NRU1fRk5fTkFNRShjbWYyKTogcHVibGljIG1mPFI+OjpCT09TVF9ORVNURURfVEVNUExBVEUgQk9PU1RfTUVNX0ZOX05BTUUyKGNtZjIpPFIsIFQsIEExLCBBMiwgUiAoQk9PU1RfTUVNX0ZOX0NDIFQ6OiopIChBMSwgQTIpIGNvbnN0PgoreworICAgIHR5cGVkZWYgUiAoQk9PU1RfTUVNX0ZOX0NDIFQ6OipGKSAoQTEsIEEyKSBjb25zdDsKKyAgICBleHBsaWNpdCBCT09TVF9NRU1fRk5fTkFNRShjbWYyKShGIGYpOiBtZjxSPjo6Qk9PU1RfTkVTVEVEX1RFTVBMQVRFIEJPT1NUX01FTV9GTl9OQU1FMihjbWYyKTxSLCBULCBBMSwgQTIsIEY+KGYpIHt9Cit9OworCisKK3RlbXBsYXRlPGNsYXNzIFIsIGNsYXNzIFQsIGNsYXNzIEExLCBjbGFzcyBBMiwgY2xhc3MgQTM+IHN0cnVjdCBCT09TVF9NRU1fRk5fTkFNRShtZjMpOiBwdWJsaWMgbWY8Uj46OkJPT1NUX05FU1RFRF9URU1QTEFURSBCT09TVF9NRU1fRk5fTkFNRTIobWYzKTxSLCBULCBBMSwgQTIsIEEzLCBSIChCT09TVF9NRU1fRk5fQ0MgVDo6KikgKEExLCBBMiwgQTMpPgoreworICAgIHR5cGVkZWYgUiAoQk9PU1RfTUVNX0ZOX0NDIFQ6OipGKSAoQTEsIEEyLCBBMyk7CisgICAgZXhwbGljaXQgQk9PU1RfTUVNX0ZOX05BTUUobWYzKShGIGYpOiBtZjxSPjo6Qk9PU1RfTkVTVEVEX1RFTVBMQVRFIEJPT1NUX01FTV9GTl9OQU1FMihtZjMpPFIsIFQsIEExLCBBMiwgQTMsIEY+KGYpIHt9Cit9OworCit0ZW1wbGF0ZTxjbGFzcyBSLCBjbGFzcyBULCBjbGFzcyBBMSwgY2xhc3MgQTIsIGNsYXNzIEEzPiBzdHJ1Y3QgQk9PU1RfTUVNX0ZOX05BTUUoY21mMyk6IHB1YmxpYyBtZjxSPjo6Qk9PU1RfTkVTVEVEX1RFTVBMQVRFIEJPT1NUX01FTV9GTl9OQU1FMihjbWYzKTxSLCBULCBBMSwgQTIsIEEzLCBSIChCT09TVF9NRU1fRk5fQ0MgVDo6KikgKEExLCBBMiwgQTMpIGNvbnN0PgoreworICAgIHR5cGVkZWYgUiAoQk9PU1RfTUVNX0ZOX0NDIFQ6OipGKSAoQTEsIEEyLCBBMykgY29uc3Q7CisgICAgZXhwbGljaXQgQk9PU1RfTUVNX0ZOX05BTUUoY21mMykoRiBmKTogbWY8Uj46OkJPT1NUX05FU1RFRF9URU1QTEFURSBCT09TVF9NRU1fRk5fTkFNRTIoY21mMyk8UiwgVCwgQTEsIEEyLCBBMywgRj4oZikge30KK307CisKKwordGVtcGxhdGU8Y2xhc3MgUiwgY2xhc3MgVCwgY2xhc3MgQTEsIGNsYXNzIEEyLCBjbGFzcyBBMywgY2xhc3MgQTQ+IHN0cnVjdCBCT09TVF9NRU1fRk5fTkFNRShtZjQpOiBwdWJsaWMgbWY8Uj46OkJPT1NUX05FU1RFRF9URU1QTEFURSBCT09TVF9NRU1fRk5fTkFNRTIobWY0KTxSLCBULCBBMSwgQTIsIEEzLCBBNCwgUiAoQk9PU1RfTUVNX0ZOX0NDIFQ6OiopIChBMSwgQTIsIEEzLCBBNCk+Cit7CisgICAgdHlwZWRlZiBSIChCT09TVF9NRU1fRk5fQ0MgVDo6KkYpIChBMSwgQTIsIEEzLCBBNCk7CisgICAgZXhwbGljaXQgQk9PU1RfTUVNX0ZOX05BTUUobWY0KShGIGYpOiBtZjxSPjo6Qk9PU1RfTkVTVEVEX1RFTVBMQVRFIEJPT1NUX01FTV9GTl9OQU1FMihtZjQpPFIsIFQsIEExLCBBMiwgQTMsIEE0LCBGPihmKSB7fQorfTsKKwordGVtcGxhdGU8Y2xhc3MgUiwgY2xhc3MgVCwgY2xhc3MgQTEsIGNsYXNzIEEyLCBjbGFzcyBBMywgY2xhc3MgQTQ+IHN0cnVjdCBCT09TVF9NRU1fRk5fTkFNRShjbWY0KTogcHVibGljIG1mPFI+OjpCT09TVF9ORVNURURfVEVNUExBVEUgQk9PU1RfTUVNX0ZOX05BTUUyKGNtZjQpPFIsIFQsIEExLCBBMiwgQTMsIEE0LCBSIChCT09TVF9NRU1fRk5fQ0MgVDo6KikgKEExLCBBMiwgQTMsIEE0KSBjb25zdD4KK3sKKyAgICB0eXBlZGVmIFIgKEJPT1NUX01FTV9GTl9DQyBUOjoqRikgKEExLCBBMiwgQTMsIEE0KSBjb25zdDsKKyAgICBleHBsaWNpdCBCT09TVF9NRU1fRk5fTkFNRShjbWY0KShGIGYpOiBtZjxSPjo6Qk9PU1RfTkVTVEVEX1RFTVBMQVRFIEJPT1NUX01FTV9GTl9OQU1FMihjbWY0KTxSLCBULCBBMSwgQTIsIEEzLCBBNCwgRj4oZikge30KK307CisKKwordGVtcGxhdGU8Y2xhc3MgUiwgY2xhc3MgVCwgY2xhc3MgQTEsIGNsYXNzIEEyLCBjbGFzcyBBMywgY2xhc3MgQTQsIGNsYXNzIEE1PiBzdHJ1Y3QgQk9PU1RfTUVNX0ZOX05BTUUobWY1KTogcHVibGljIG1mPFI+OjpCT09TVF9ORVNURURfVEVNUExBVEUgQk9PU1RfTUVNX0ZOX05BTUUyKG1mNSk8UiwgVCwgQTEsIEEyLCBBMywgQTQsIEE1LCBSIChCT09TVF9NRU1fRk5fQ0MgVDo6KikgKEExLCBBMiwgQTMsIEE0LCBBNSk+Cit7CisgICAgdHlwZWRlZiBSIChCT09TVF9NRU1fRk5fQ0MgVDo6KkYpIChBMSwgQTIsIEEzLCBBNCwgQTUpOworICAgIGV4cGxpY2l0IEJPT1NUX01FTV9GTl9OQU1FKG1mNSkoRiBmKTogbWY8Uj46OkJPT1NUX05FU1RFRF9URU1QTEFURSBCT09TVF9NRU1fRk5fTkFNRTIobWY1KTxSLCBULCBBMSwgQTIsIEEzLCBBNCwgQTUsIEY+KGYpIHt9Cit9OworCit0ZW1wbGF0ZTxjbGFzcyBSLCBjbGFzcyBULCBjbGFzcyBBMSwgY2xhc3MgQTIsIGNsYXNzIEEzLCBjbGFzcyBBNCwgY2xhc3MgQTU+IHN0cnVjdCBCT09TVF9NRU1fRk5fTkFNRShjbWY1KTogcHVibGljIG1mPFI+OjpCT09TVF9ORVNURURfVEVNUExBVEUgQk9PU1RfTUVNX0ZOX05BTUUyKGNtZjUpPFIsIFQsIEExLCBBMiwgQTMsIEE0LCBBNSwgUiAoQk9PU1RfTUVNX0ZOX0NDIFQ6OiopIChBMSwgQTIsIEEzLCBBNCwgQTUpIGNvbnN0PgoreworICAgIHR5cGVkZWYgUiAoQk9PU1RfTUVNX0ZOX0NDIFQ6OipGKSAoQTEsIEEyLCBBMywgQTQsIEE1KSBjb25zdDsKKyAgICBleHBsaWNpdCBCT09TVF9NRU1fRk5fTkFNRShjbWY1KShGIGYpOiBtZjxSPjo6Qk9PU1RfTkVTVEVEX1RFTVBMQVRFIEJPT1NUX01FTV9GTl9OQU1FMihjbWY1KTxSLCBULCBBMSwgQTIsIEEzLCBBNCwgQTUsIEY+KGYpIHt9Cit9OworCisKK3RlbXBsYXRlPGNsYXNzIFIsIGNsYXNzIFQsIGNsYXNzIEExLCBjbGFzcyBBMiwgY2xhc3MgQTMsIGNsYXNzIEE0LCBjbGFzcyBBNSwgY2xhc3MgQTY+IHN0cnVjdCBCT09TVF9NRU1fRk5fTkFNRShtZjYpOiBwdWJsaWMgbWY8Uj46OkJPT1NUX05FU1RFRF9URU1QTEFURSBCT09TVF9NRU1fRk5fTkFNRTIobWY2KTxSLCBULCBBMSwgQTIsIEEzLCBBNCwgQTUsIEE2LCBSIChCT09TVF9NRU1fRk5fQ0MgVDo6KikgKEExLCBBMiwgQTMsIEE0LCBBNSwgQTYpPgoreworICAgIHR5cGVkZWYgUiAoQk9PU1RfTUVNX0ZOX0NDIFQ6OipGKSAoQTEsIEEyLCBBMywgQTQsIEE1LCBBNik7CisgICAgZXhwbGljaXQgQk9PU1RfTUVNX0ZOX05BTUUobWY2KShGIGYpOiBtZjxSPjo6Qk9PU1RfTkVTVEVEX1RFTVBMQVRFIEJPT1NUX01FTV9GTl9OQU1FMihtZjYpPFIsIFQsIEExLCBBMiwgQTMsIEE0LCBBNSwgQTYsIEY+KGYpIHt9Cit9OworCit0ZW1wbGF0ZTxjbGFzcyBSLCBjbGFzcyBULCBjbGFzcyBBMSwgY2xhc3MgQTIsIGNsYXNzIEEzLCBjbGFzcyBBNCwgY2xhc3MgQTUsIGNsYXNzIEE2PiBzdHJ1Y3QgQk9PU1RfTUVNX0ZOX05BTUUoY21mNik6IHB1YmxpYyBtZjxSPjo6Qk9PU1RfTkVTVEVEX1RFTVBMQVRFIEJPT1NUX01FTV9GTl9OQU1FMihjbWY2KTxSLCBULCBBMSwgQTIsIEEzLCBBNCwgQTUsIEE2LCBSIChCT09TVF9NRU1fRk5fQ0MgVDo6KikgKEExLCBBMiwgQTMsIEE0LCBBNSwgQTYpIGNvbnN0PgoreworICAgIHR5cGVkZWYgUiAoQk9PU1RfTUVNX0ZOX0NDIFQ6OipGKSAoQTEsIEEyLCBBMywgQTQsIEE1LCBBNikgY29uc3Q7CisgICAgZXhwbGljaXQgQk9PU1RfTUVNX0ZOX05BTUUoY21mNikoRiBmKTogbWY8Uj46OkJPT1NUX05FU1RFRF9URU1QTEFURSBCT09TVF9NRU1fRk5fTkFNRTIoY21mNik8UiwgVCwgQTEsIEEyLCBBMywgQTQsIEE1LCBBNiwgRj4oZikge30KK307CisKKwordGVtcGxhdGU8Y2xhc3MgUiwgY2xhc3MgVCwgY2xhc3MgQTEsIGNsYXNzIEEyLCBjbGFzcyBBMywgY2xhc3MgQTQsIGNsYXNzIEE1LCBjbGFzcyBBNiwgY2xhc3MgQTc+IHN0cnVjdCBCT09TVF9NRU1fRk5fTkFNRShtZjcpOiBwdWJsaWMgbWY8Uj46OkJPT1NUX05FU1RFRF9URU1QTEFURSBCT09TVF9NRU1fRk5fTkFNRTIobWY3KTxSLCBULCBBMSwgQTIsIEEzLCBBNCwgQTUsIEE2LCBBNywgUiAoQk9PU1RfTUVNX0ZOX0NDIFQ6OiopIChBMSwgQTIsIEEzLCBBNCwgQTUsIEE2LCBBNyk+Cit7CisgICAgdHlwZWRlZiBSIChCT09TVF9NRU1fRk5fQ0MgVDo6KkYpIChBMSwgQTIsIEEzLCBBNCwgQTUsIEE2LCBBNyk7CisgICAgZXhwbGljaXQgQk9PU1RfTUVNX0ZOX05BTUUobWY3KShGIGYpOiBtZjxSPjo6Qk9PU1RfTkVTVEVEX1RFTVBMQVRFIEJPT1NUX01FTV9GTl9OQU1FMihtZjcpPFIsIFQsIEExLCBBMiwgQTMsIEE0LCBBNSwgQTYsIEE3LCBGPihmKSB7fQorfTsKKwordGVtcGxhdGU8Y2xhc3MgUiwgY2xhc3MgVCwgY2xhc3MgQTEsIGNsYXNzIEEyLCBjbGFzcyBBMywgY2xhc3MgQTQsIGNsYXNzIEE1LCBjbGFzcyBBNiwgY2xhc3MgQTc+IHN0cnVjdCBCT09TVF9NRU1fRk5fTkFNRShjbWY3KTogcHVibGljIG1mPFI+OjpCT09TVF9ORVNURURfVEVNUExBVEUgQk9PU1RfTUVNX0ZOX05BTUUyKGNtZjcpPFIsIFQsIEExLCBBMiwgQTMsIEE0LCBBNSwgQTYsIEE3LCBSIChCT09TVF9NRU1fRk5fQ0MgVDo6KikgKEExLCBBMiwgQTMsIEE0LCBBNSwgQTYsIEE3KSBjb25zdD4KK3sKKyAgICB0eXBlZGVmIFIgKEJPT1NUX01FTV9GTl9DQyBUOjoqRikgKEExLCBBMiwgQTMsIEE0LCBBNSwgQTYsIEE3KSBjb25zdDsKKyAgICBleHBsaWNpdCBCT09TVF9NRU1fRk5fTkFNRShjbWY3KShGIGYpOiBtZjxSPjo6Qk9PU1RfTkVTVEVEX1RFTVBMQVRFIEJPT1NUX01FTV9GTl9OQU1FMihjbWY3KTxSLCBULCBBMSwgQTIsIEEzLCBBNCwgQTUsIEE2LCBBNywgRj4oZikge30KK307CisKKwordGVtcGxhdGU8Y2xhc3MgUiwgY2xhc3MgVCwgY2xhc3MgQTEsIGNsYXNzIEEyLCBjbGFzcyBBMywgY2xhc3MgQTQsIGNsYXNzIEE1LCBjbGFzcyBBNiwgY2xhc3MgQTcsIGNsYXNzIEE4PiBzdHJ1Y3QgQk9PU1RfTUVNX0ZOX05BTUUobWY4KTogcHVibGljIG1mPFI+OjpCT09TVF9ORVNURURfVEVNUExBVEUgQk9PU1RfTUVNX0ZOX05BTUUyKG1mOCk8UiwgVCwgQTEsIEEyLCBBMywgQTQsIEE1LCBBNiwgQTcsIEE4LCBSIChCT09TVF9NRU1fRk5fQ0MgVDo6KikgKEExLCBBMiwgQTMsIEE0LCBBNSwgQTYsIEE3LCBBOCk+Cit7CisgICAgdHlwZWRlZiBSIChCT09TVF9NRU1fRk5fQ0MgVDo6KkYpIChBMSwgQTIsIEEzLCBBNCwgQTUsIEE2LCBBNywgQTgpOworICAgIGV4cGxpY2l0IEJPT1NUX01FTV9GTl9OQU1FKG1mOCkoRiBmKTogbWY8Uj46OkJPT1NUX05FU1RFRF9URU1QTEFURSBCT09TVF9NRU1fRk5fTkFNRTIobWY4KTxSLCBULCBBMSwgQTIsIEEzLCBBNCwgQTUsIEE2LCBBNywgQTgsIEY+KGYpIHt9Cit9OworCit0ZW1wbGF0ZTxjbGFzcyBSLCBjbGFzcyBULCBjbGFzcyBBMSwgY2xhc3MgQTIsIGNsYXNzIEEzLCBjbGFzcyBBNCwgY2xhc3MgQTUsIGNsYXNzIEE2LCBjbGFzcyBBNywgY2xhc3MgQTg+IHN0cnVjdCBCT09TVF9NRU1fRk5fTkFNRShjbWY4KTogcHVibGljIG1mPFI+OjpCT09TVF9ORVNURURfVEVNUExBVEUgQk9PU1RfTUVNX0ZOX05BTUUyKGNtZjgpPFIsIFQsIEExLCBBMiwgQTMsIEE0LCBBNSwgQTYsIEE3LCBBOCwgUiAoQk9PU1RfTUVNX0ZOX0NDIFQ6OiopIChBMSwgQTIsIEEzLCBBNCwgQTUsIEE2LCBBNywgQTgpIGNvbnN0PgoreworICAgIHR5cGVkZWYgUiAoQk9PU1RfTUVNX0ZOX0NDIFQ6OipGKSAoQTEsIEEyLCBBMywgQTQsIEE1LCBBNiwgQTcsIEE4KSBjb25zdDsKKyAgICBleHBsaWNpdCBCT09TVF9NRU1fRk5fTkFNRShjbWY4KShGIGYpOiBtZjxSPjo6Qk9PU1RfTkVTVEVEX1RFTVBMQVRFIEJPT1NUX01FTV9GTl9OQU1FMihjbWY4KTxSLCBULCBBMSwgQTIsIEEzLCBBNCwgQTUsIEE2LCBBNywgQTgsIEY+KGYpIHt9Cit9OworCmRpZmYgLS1naXQgYS9uZG5ib29zdC9ibGFuay5ocHAgYi9uZG5ib29zdC9ibGFuay5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWFiMzlhNAotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L2JsYW5rLmhwcApAQCAtMCwwICsxLDEwNiBAQAorLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLy8gYm9vc3QgYmxhbmsuaHBwIGhlYWRlciBmaWxlCisvLyBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcgZm9yIHVwZGF0ZXMsIGRvY3VtZW50YXRpb24sIGFuZCByZXZpc2lvbiBoaXN0b3J5LgorLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLy8KKy8vIENvcHlyaWdodCAoYykgMjAwMworLy8gRXJpYyBGcmllZG1hbgorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gKFNlZQorLy8gYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKworI2lmbmRlZiBCT09TVF9CTEFOS19IUFAKKyNkZWZpbmUgQk9PU1RfQkxBTktfSFBQCisKKyNpbmNsdWRlICJuZG5ib29zdC9ibGFua19md2QuaHBwIgorCisjaWYgIWRlZmluZWQoQk9PU1RfTk9fSU9TVFJFQU0pCisjaW5jbHVkZSA8aW9zZndkPiAvLyBmb3Igc3RkOjpiYXNpY19vc3RyZWFtIGZvcndhcmQgZGVjbGFyZQorI2luY2x1ZGUgIm5kbmJvb3N0L2RldGFpbC90ZW1wbGF0ZWRfc3RyZWFtcy5ocHAiCisjZW5kaWYgLy8gQk9PU1RfTk9fSU9TVFJFQU0KKworI2luY2x1ZGUgIm5kbmJvb3N0L21wbC9ib29sLmhwcCIKKyNpbmNsdWRlICJuZG5ib29zdC90eXBlX3RyYWl0cy9pc19lbXB0eS5ocHAiCisjaW5jbHVkZSAibmRuYm9vc3QvdHlwZV90cmFpdHMvaXNfcG9kLmhwcCIKKyNpbmNsdWRlICJuZG5ib29zdC90eXBlX3RyYWl0cy9pc19zdGF0ZWxlc3MuaHBwIgorCituYW1lc3BhY2UgbmRuYm9vc3QgeworCitzdHJ1Y3QgYmxhbmsKK3sKK307CisKKy8vIHR5cGUgdHJhaXRzIHNwZWNpYWxpemF0aW9ucworLy8KKwordGVtcGxhdGUgPD4KK3N0cnVjdCBpc19wb2Q8IGJsYW5rID4KKyAgICA6IG1wbDo6dHJ1ZV8KK3sKK307CisKK3RlbXBsYXRlIDw+CitzdHJ1Y3QgaXNfZW1wdHk8IGJsYW5rID4KKyAgICA6IG1wbDo6dHJ1ZV8KK3sKK307CisKK3RlbXBsYXRlIDw+CitzdHJ1Y3QgaXNfc3RhdGVsZXNzPCBibGFuayA+CisgICAgOiBtcGw6OnRydWVfCit7Cit9OworCisvLyByZWxhdGlvbmFsIG9wZXJhdG9ycworLy8KKworaW5saW5lIGJvb2wgb3BlcmF0b3I9PShjb25zdCBibGFuayYsIGNvbnN0IGJsYW5rJikKK3sKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworaW5saW5lIGJvb2wgb3BlcmF0b3I8PShjb25zdCBibGFuayYsIGNvbnN0IGJsYW5rJikKK3sKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworaW5saW5lIGJvb2wgb3BlcmF0b3I+PShjb25zdCBibGFuayYsIGNvbnN0IGJsYW5rJikKK3sKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworaW5saW5lIGJvb2wgb3BlcmF0b3IhPShjb25zdCBibGFuayYsIGNvbnN0IGJsYW5rJikKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK2lubGluZSBib29sIG9wZXJhdG9yPChjb25zdCBibGFuayYsIGNvbnN0IGJsYW5rJikKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK2lubGluZSBib29sIG9wZXJhdG9yPihjb25zdCBibGFuayYsIGNvbnN0IGJsYW5rJikKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKKy8vIHN0cmVhbWluZyBzdXBwb3J0CisvLworI2lmICFkZWZpbmVkKEJPT1NUX05PX0lPU1RSRUFNKQorCitCT09TVF9URU1QTEFURURfU1RSRUFNX1RFTVBMQVRFKEUsVCkKK2lubGluZSBCT09TVF9URU1QTEFURURfU1RSRUFNKG9zdHJlYW0sIEUsVCkmIG9wZXJhdG9yPDwoCisgICAgICBCT09TVF9URU1QTEFURURfU1RSRUFNKG9zdHJlYW0sIEUsVCkmIG91dAorICAgICwgY29uc3QgYmxhbmsmCisgICAgKQoreworICAgIC8vIChvdXRwdXQgbm90aGluZykKKyAgICByZXR1cm4gb3V0OworfQorCisjZW5kaWYgLy8gQk9PU1RfTk9fSU9TVFJFQU0KKworfSAvLyBuYW1lc3BhY2UgbmRuYm9vc3QKKworI2VuZGlmIC8vIEJPT1NUX0JMQU5LX0hQUApkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvYmxhbmtfZndkLmhwcCBiL25kbmJvb3N0L2JsYW5rX2Z3ZC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmVlMWQ3OQotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L2JsYW5rX2Z3ZC5ocHAKQEAgLTAsMCArMSwyMiBAQAorLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLy8gYm9vc3QgYmxhbmtfZndkLmhwcCBoZWFkZXIgZmlsZQorLy8gU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnIGZvciB1cGRhdGVzLCBkb2N1bWVudGF0aW9uLCBhbmQgcmV2aXNpb24gaGlzdG9yeS4KKy8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy8vCisvLyBDb3B5cmlnaHQgKGMpIDIwMDMKKy8vIEVyaWMgRnJpZWRtYW4KKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIChTZWUKKy8vIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0CisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisKKyNpZm5kZWYgQk9PU1RfQkxBTktfRldEX0hQUAorI2RlZmluZSBCT09TVF9CTEFOS19GV0RfSFBQCisKK25hbWVzcGFjZSBuZG5ib29zdCB7CisKK3N0cnVjdCBibGFuazsKKworfSAvLyBuYW1lc3BhY2UgbmRuYm9vc3QKKworI2VuZGlmIC8vIEJPT1NUX0JMQU5LX0ZXRF9IUFAKZGlmZiAtLWdpdCBhL25kbmJvb3N0L2NhbGxfdHJhaXRzLmhwcCBiL25kbmJvb3N0L2NhbGxfdHJhaXRzLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hZWZlZWZmCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvY2FsbF90cmFpdHMuaHBwCkBAIC0wLDAgKzEsMjQgQEAKKy8vICAoQykgQ29weXJpZ2h0IFN0ZXZlIENsZWFyeSwgQmVtYW4gRGF3ZXMsIEhvd2FyZCBIaW5uYW50ICYgSm9obiBNYWRkb2NrIDIwMDAuCisvLyAgVXNlLCBtb2RpZmljYXRpb24gYW5kIGRpc3RyaWJ1dGlvbiBhcmUgc3ViamVjdCB0byB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwKKy8vICBWZXJzaW9uIDEuMC4gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdAorLy8gIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkuCisvLworLy8gIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL3V0aWxpdHkgZm9yIG1vc3QgcmVjZW50IHZlcnNpb24gaW5jbHVkaW5nIGRvY3VtZW50YXRpb24uCisKKy8vICBTZWUgYm9vc3QvZGV0YWlsL2NhbGxfdHJhaXRzLmhwcCBhbmQgYm9vc3QvZGV0YWlsL29iX2NhbGxfdHJhaXRzLmhwcAorLy8gIGZvciBmdWxsIGNvcHlyaWdodCBub3RpY2VzLgorCisjaWZuZGVmIEJPT1NUX0NBTExfVFJBSVRTX0hQUAorI2RlZmluZSBCT09TVF9DQUxMX1RSQUlUU19IUFAKKworI2lmbmRlZiBCT09TVF9DT05GSUdfSFBQCisjaW5jbHVkZSA8bmRuYm9vc3QvY29uZmlnLmhwcD4KKyNlbmRpZgorCisjaWZkZWYgQk9PU1RfTk9fVEVNUExBVEVfUEFSVElBTF9TUEVDSUFMSVpBVElPTgorI2luY2x1ZGUgPG5kbmJvb3N0L2RldGFpbC9vYl9jYWxsX3RyYWl0cy5ocHA+CisjZWxzZQorI2luY2x1ZGUgPG5kbmJvb3N0L2RldGFpbC9jYWxsX3RyYWl0cy5ocHA+CisjZW5kaWYKKworI2VuZGlmIC8vIEJPT1NUX0NBTExfVFJBSVRTX0hQUApkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvY29uZmlnL2NvbXBpbGVyL2JvcmxhbmQuaHBwIGIvbmRuYm9vc3QvY29uZmlnL2NvbXBpbGVyL2JvcmxhbmQuaHBwCmluZGV4IGJjYjYxNTYuLjk5OTY1YzQgMTAwNjQ0Ci0tLSBhL25kbmJvb3N0L2NvbmZpZy9jb21waWxlci9ib3JsYW5kLmhwcAorKysgYi9uZG5ib29zdC9jb25maWcvY29tcGlsZXIvYm9ybGFuZC5ocHAKQEAgLTE5MCw2ICsxOTAsNyBAQAogI2RlZmluZSBCT09TVF9OT19DWFgxMV9WQVJJQURJQ19URU1QTEFURVMKICNkZWZpbmUgQk9PU1RfTk9fQ1hYMTFfTk9FWENFUFQKICNkZWZpbmUgQk9PU1RfTk9fQ1hYMTFfVU5JRklFRF9JTklUSUFMSVpBVElPTl9TWU5UQVgKKyNkZWZpbmUgQk9PU1RfTk9fQ1hYMTFfVVNFUl9ERUZJTkVEX0xJVEVSQUxTCiAKICNpZiBfX0JPUkxBTkRDX18gPj0gMHg1OTAKICMgIGRlZmluZSBCT09TVF9IQVNfVFIxX0hBU0gKZGlmZiAtLWdpdCBhL25kbmJvb3N0L2NvbmZpZy9jb21waWxlci9jbGFuZy5ocHAgYi9uZG5ib29zdC9jb25maWcvY29tcGlsZXIvY2xhbmcuaHBwCmluZGV4IDE4ZDZlNTQuLjhlMzg4MjEgMTAwNjQ0Ci0tLSBhL25kbmJvb3N0L2NvbmZpZy9jb21waWxlci9jbGFuZy5ocHAKKysrIGIvbmRuYm9vc3QvY29uZmlnL2NvbXBpbGVyL2NsYW5nLmhwcApAQCAtMjAsNyArMjAsNyBAQAogIyAgZGVmaW5lIEJPT1NUX05PX1RZUEVJRAogI2VuZGlmCiAKLSNpZiBkZWZpbmVkKF9faW50NjQpCisjaWYgZGVmaW5lZChfX2ludDY0KSAmJiAhZGVmaW5lZChfX0dOVUNfXykKICMgIGRlZmluZSBCT09TVF9IQVNfTVNfSU5UNjQKICNlbmRpZgogCkBAIC0zOCw2ICszOCwxNiBAQAogIyAgZGVmaW5lIEJPT1NUX1NZTUJPTF9WSVNJQkxFIF9fYXR0cmlidXRlX18oKF9fdmlzaWJpbGl0eV9fKCJkZWZhdWx0IikpKQogI2VuZGlmCiAKKy8vIAorLy8gVGhlIEJPT1NUX0ZBTExUSFJPVUdIIG1hY3JvIGNhbiBiZSB1c2VkIHRvIGFubm90YXRlIGltcGxpY2l0IGZhbGwtdGhyb3VnaCAKKy8vIGJldHdlZW4gc3dpdGNoIGxhYmVscy4gCisvLyAKKyNpZiBfX2NwbHVzcGx1cyA+PSAyMDExMDNMICYmIGRlZmluZWQoX19oYXNfd2FybmluZykgCisjICBpZiBfX2hhc19mZWF0dXJlKGN4eF9hdHRyaWJ1dGVzKSAmJiBfX2hhc193YXJuaW5nKCItV2ltcGxpY2l0LWZhbGx0aHJvdWdoIikgCisjICAgIGRlZmluZSBCT09TVF9GQUxMVEhST1VHSCBbW2NsYW5nOjpmYWxsdGhyb3VnaF1dIAorIyAgZW5kaWYgCisjZW5kaWYgCisKICNpZiAhX19oYXNfZmVhdHVyZShjeHhfYXV0b190eXBlKQogIyAgZGVmaW5lIEJPT1NUX05PX0NYWDExX0FVVE9fREVDTEFSQVRJT05TCiAjICBkZWZpbmUgQk9PU1RfTk9fQ1hYMTFfQVVUT19NVUxUSURFQ0xBUkFUSU9OUwpAQCAtMTMyLDYgKzE0MiwxMCBAQAogIyAgZGVmaW5lIEJPT1NUX05PX0NYWDExX1ZBUklBRElDX1RFTVBMQVRFUwogI2VuZGlmCiAKKyNpZiAhX19oYXNfZmVhdHVyZShjeHhfdXNlcl9saXRlcmFscykKKyMgIGRlZmluZSBCT09TVF9OT19DWFgxMV9VU0VSX0RFRklORURfTElURVJBTFMKKyNlbmRpZgorCiAvLyBDbGFuZyBhbHdheXMgc3VwcG9ydHMgdmFyaWFkaWMgbWFjcm9zCiAvLyBDbGFuZyBhbHdheXMgc3VwcG9ydHMgZXh0ZXJuIHRlbXBsYXRlcwogCmRpZmYgLS1naXQgYS9uZG5ib29zdC9jb25maWcvY29tcGlsZXIvY29kZWdlYXIuaHBwIGIvbmRuYm9vc3QvY29uZmlnL2NvbXBpbGVyL2NvZGVnZWFyLmhwcAppbmRleCA5MDc5MGRlLi43MTA4NjYzIDEwMDY0NAotLS0gYS9uZG5ib29zdC9jb25maWcvY29tcGlsZXIvY29kZWdlYXIuaHBwCisrKyBiL25kbmJvb3N0L2NvbmZpZy9jb21waWxlci9jb2RlZ2Vhci5ocHAKQEAgLTExMCw2ICsxMTAsNyBAQAogI2RlZmluZSBCT09TVF9OT19DWFgxMV9VTklDT0RFX0xJVEVSQUxTCiAjZGVmaW5lIEJPT1NUX05PX0NYWDExX1ZBUklBRElDX1RFTVBMQVRFUwogI2RlZmluZSBCT09TVF9OT19DWFgxMV9VTklGSUVEX0lOSVRJQUxJWkFUSU9OX1NZTlRBWAorI2RlZmluZSBCT09TVF9OT19DWFgxMV9VU0VSX0RFRklORURfTElURVJBTFMKIAogLy8KIC8vIFRSMSBtYWNyb3M6CmRpZmYgLS1naXQgYS9uZG5ib29zdC9jb25maWcvY29tcGlsZXIvY29tbW9uX2VkZy5ocHAgYi9uZG5ib29zdC9jb25maWcvY29tcGlsZXIvY29tbW9uX2VkZy5ocHAKaW5kZXggNDQxYTA1NS4uNGI1ZDJkMiAxMDA2NDQKLS0tIGEvbmRuYm9vc3QvY29uZmlnL2NvbXBpbGVyL2NvbW1vbl9lZGcuaHBwCisrKyBiL25kbmJvb3N0L2NvbmZpZy9jb21waWxlci9jb21tb25fZWRnLmhwcApAQCAtOTUsNiArOTUsNyBAQAogI2RlZmluZSBCT09TVF9OT19DWFgxMV9VTklDT0RFX0xJVEVSQUxTCiAjZGVmaW5lIEJPT1NUX05PX0NYWDExX1ZBUklBRElDX1RFTVBMQVRFUwogI2RlZmluZSBCT09TVF9OT19DWFgxMV9VTklGSUVEX0lOSVRJQUxJWkFUSU9OX1NZTlRBWAorI2RlZmluZSBCT09TVF9OT19DWFgxMV9VU0VSX0RFRklORURfTElURVJBTFMKIAogI2lmZGVmIGNfcGx1c3BsdXMKIC8vIEVERyBoYXMgImxvbmcgbG9uZyIgaW4gbm9uLXN0cmljdCBtb2RlCmRpZmYgLS1naXQgYS9uZG5ib29zdC9jb25maWcvY29tcGlsZXIvY3JheS5ocHAgYi9uZG5ib29zdC9jb25maWcvY29tcGlsZXIvY3JheS5ocHAKaW5kZXggY2FiYjk4YS4uNDNhNWRiOSAxMDA2NDQKLS0tIGEvbmRuYm9vc3QvY29uZmlnL2NvbXBpbGVyL2NyYXkuaHBwCisrKyBiL25kbmJvb3N0L2NvbmZpZy9jb21waWxlci9jcmF5LmhwcApAQCAtNTEsNiArNTEsNyBAQAogI2RlZmluZSBCT09TVF9OT19DWFgxMV9ERUNMVFlQRV9OMzI3NgogI2RlZmluZSBCT09TVF9OT19DWFgxMV9ERUNMVFlQRQogI2RlZmluZSBCT09TVF9OT19DWFgxMV9DT05TVEVYUFIKKyNkZWZpbmUgQk9PU1RfTk9fQ1hYMTFfVVNFUl9ERUZJTkVEX0xJVEVSQUxTCiAjZGVmaW5lIEJPT1NUX05PX0NPTVBMRVRFX1ZBTFVFX0lOSVRJQUxJWkFUSU9OCiAjZGVmaW5lIEJPT1NUX05PX0NYWDExX0NIQVIzMl9UCiAjZGVmaW5lIEJPT1NUX05PX0NYWDExX0NIQVIxNl9UCmRpZmYgLS1naXQgYS9uZG5ib29zdC9jb25maWcvY29tcGlsZXIvZGlnaXRhbG1hcnMuaHBwIGIvbmRuYm9vc3QvY29uZmlnL2NvbXBpbGVyL2RpZ2l0YWxtYXJzLmhwcAppbmRleCAxNWNjMjA5Li4wMjA2ZGMzIDEwMDY0NAotLS0gYS9uZG5ib29zdC9jb25maWcvY29tcGlsZXIvZGlnaXRhbG1hcnMuaHBwCisrKyBiL25kbmJvb3N0L2NvbmZpZy9jb21waWxlci9kaWdpdGFsbWFycy5ocHAKQEAgLTg2LDYgKzg2LDcgQEAKICNkZWZpbmUgQk9PU1RfTk9fQ1hYMTFfVU5JQ09ERV9MSVRFUkFMUwogI2RlZmluZSBCT09TVF9OT19DWFgxMV9WQVJJQURJQ19URU1QTEFURVMKICNkZWZpbmUgQk9PU1RfTk9fQ1hYMTFfVU5JRklFRF9JTklUSUFMSVpBVElPTl9TWU5UQVgKKyNkZWZpbmUgQk9PU1RfTk9fQ1hYMTFfVVNFUl9ERUZJTkVEX0xJVEVSQUxTCiAKICNpZiAoX19ETUNfXyA8IDB4ODEyKQogI2RlZmluZSBCT09TVF9OT19DWFgxMV9WQVJJQURJQ19NQUNST1MKZGlmZiAtLWdpdCBhL25kbmJvb3N0L2NvbmZpZy9jb21waWxlci9nY2MuaHBwIGIvbmRuYm9vc3QvY29uZmlnL2NvbXBpbGVyL2djYy5ocHAKaW5kZXggYzBhYzMwYS4uYjNkMTJlYyAxMDA2NDQKLS0tIGEvbmRuYm9vc3QvY29uZmlnL2NvbXBpbGVyL2djYy5ocHAKKysrIGIvbmRuYm9vc3QvY29uZmlnL2NvbXBpbGVyL2djYy5ocHAKQEAgLTExLDcgKzExLDE0IEBACiAKIC8vICBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcgZm9yIG1vc3QgcmVjZW50IHZlcnNpb24uCiAKLS8vICBHTlUgQysrIGNvbXBpbGVyIHNldHVwOgorLy8gIEdOVSBDKysgY29tcGlsZXIgc2V0dXAuCisKKy8vCisvLyBEZWZpbmUgQk9PU1RfR0NDIHNvIHdlIGtub3cgdGhpcyBpcyAicmVhbCIgR0NDIGFuZCBub3Qgc29tZSBwcmV0ZW5kZXI6CisvLworI2lmICFkZWZpbmVkKF9fQ1VEQUNDX18pCisjZGVmaW5lIEJPT1NUX0dDQyAoX19HTlVDX18gKiAxMDAwMCArIF9fR05VQ19NSU5PUl9fICogMTAwICsgX19HTlVDX1BBVENITEVWRUxfXykKKyNlbmRpZgogCiAjaWYgX19HTlVDX18gPCAzCiAjICAgaWYgX19HTlVDX01JTk9SX18gPT0gOTEKQEAgLTE0Nyw5ICsxNTQsMTYgQEAKICNlbmRpZgogCiAvLwotLy8gUmVjZW50IEdDQyB2ZXJzaW9ucyBoYXZlIF9faW50MTI4IHdoZW4gaW4gNjQtYml0IG1vZGU6CisvLyBSZWNlbnQgR0NDIHZlcnNpb25zIGhhdmUgX19pbnQxMjggd2hlbiBpbiA2NC1iaXQgbW9kZS4KIC8vCi0jaWYgZGVmaW5lZChfX1NJWkVPRl9JTlQxMjhfXykKKy8vIFdlIGRpc2FibGUgdGhpcyBpZiB0aGUgY29tcGlsZXIgaXMgcmVhbGx5IG52Y2MgYXMgaXQKKy8vIGRvZXNuJ3QgYWN0dWFsbHkgc3VwcG9ydCBfX2ludDEyOCBhcyBvZiBDVURBX1ZFUlNJT049NTAwMAorLy8gZXZlbiB0aG91Z2ggaXQgZGVmaW5lcyBfX1NJWkVPRl9JTlQxMjhfXy4gIAorLy8gU2VlIGh0dHBzOi8vc3ZuLmJvb3N0Lm9yZy90cmFjL2Jvb3N0L3RpY2tldC84MDQ4CisvLyBPbmx5IHJlLWVuYWJsZSB0aGlzIGZvciBudmNjIGlmIHlvdSdyZSBhYnNvbHV0ZWx5IHN1cmUKKy8vIG9mIHRoZSBjaXJjdW1zdGFuY2VzIHVuZGVyIHdoaWNoIGl0J3Mgc3VwcG9ydGVkOgorLy8KKyNpZiBkZWZpbmVkKF9fU0laRU9GX0lOVDEyOF9fKSAmJiAhZGVmaW5lZChfX0NVREFDQ19fKQogIyAgZGVmaW5lIEJPT1NUX0hBU19JTlQxMjgKICNlbmRpZgogCkBAIC0yMjIsMTIgKzIzNiwxOCBAQAogI2RlZmluZSBCT09TVF9OT19DWFgxMV9VTklGSUVEX0lOSVRJQUxJWkFUSU9OX1NZTlRBWAogI2VuZGlmCiAKKy8vIEMrKzB4IGZlYXR1cmVzIGluIDQuNy5uIGFuZCBsYXRlcgorLy8KICNpZiBfX0dOVUNfXyA8IDQgfHwgKF9fR05VQ19fID09IDQgJiYgX19HTlVDX01JTk9SX18gPCA3KSB8fCAhZGVmaW5lZChfX0dYWF9FWFBFUklNRU5UQUxfQ1hYMFhfXykKICMgIGRlZmluZSBCT09TVF9OT19DWFgxMV9URU1QTEFURV9BTElBU0VTCisjICBkZWZpbmUgQk9PU1RfTk9fQ1hYMTFfVVNFUl9ERUZJTkVEX0xJVEVSQUxTCiAjZW5kaWYKLS8vIEMrKzB4IGZlYXR1cmVzIG5vdCBzdXBwb3J0ZWQgYXQgYWxsIHlldAorCisvLyBDKysweCBmZWF0dXJlcyBpbiA0LjguMSBhbmQgbGF0ZXIKIC8vCi0jZGVmaW5lIEJPT1NUX05PX0NYWDExX0RFQ0xUWVBFX04zMjc2CisjaWYgKF9fR05VQ19fKjEwMDAwICsgX19HTlVDX01JTk9SX18qMTAwICsgX19HTlVDX1BBVENITEVWRUxfXyA8IDQwODAxKSB8fCAhZGVmaW5lZChfX0dYWF9FWFBFUklNRU5UQUxfQ1hYMFhfXykKKyMgIGRlZmluZSBCT09TVF9OT19DWFgxMV9ERUNMVFlQRV9OMzI3NgorI2VuZGlmCiAKICNpZm5kZWYgQk9PU1RfQ09NUElMRVIKICMgIGRlZmluZSBCT09TVF9DT01QSUxFUiAiR05VIEMrKyB2ZXJzaW9uICIgX19WRVJTSU9OX18KZGlmZiAtLWdpdCBhL25kbmJvb3N0L2NvbmZpZy9jb21waWxlci9nY2NfeG1sLmhwcCBiL25kbmJvb3N0L2NvbmZpZy9jb21waWxlci9nY2NfeG1sLmhwcAppbmRleCBlYWVkNGI1Li4xYWYyZmMxIDEwMDY0NAotLS0gYS9uZG5ib29zdC9jb25maWcvY29tcGlsZXIvZ2NjX3htbC5ocHAKKysrIGIvbmRuYm9vc3QvY29uZmlnL2NvbXBpbGVyL2djY194bWwuaHBwCkBAIC01Myw3ICs1Myw4IEBACiAjICBkZWZpbmUgQk9PU1RfTk9fQ1hYMTFfUkFXX0xJVEVSQUxTCiAjICBkZWZpbmUgQk9PU1RfTk9fQ1hYMTFfVU5JQ09ERV9MSVRFUkFMUwogIyAgZGVmaW5lIEJPT1NUX05PX0NYWDExX05PRVhDRVBUCi0jZGVmaW5lIEJPT1NUX05PX0NYWDExX1VOSUZJRURfSU5JVElBTElaQVRJT05fU1lOVEFYCisjICBkZWZpbmUgQk9PU1RfTk9fQ1hYMTFfVU5JRklFRF9JTklUSUFMSVpBVElPTl9TWU5UQVgKKyMgIGRlZmluZSBCT09TVF9OT19DWFgxMV9VU0VSX0RFRklORURfTElURVJBTFMKIAogI2RlZmluZSBCT09TVF9DT01QSUxFUiAiR0NDLVhNTCBDKysgdmVyc2lvbiAiIF9fR0NDWE1MX18KIApkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvY29uZmlnL2NvbXBpbGVyL2hwX2FjYy5ocHAgYi9uZG5ib29zdC9jb25maWcvY29tcGlsZXIvaHBfYWNjLmhwcAppbmRleCBiYWQxYTQ1Li5mMmM5MTdhIDEwMDY0NAotLS0gYS9uZG5ib29zdC9jb25maWcvY29tcGlsZXIvaHBfYWNjLmhwcAorKysgYi9uZG5ib29zdC9jb25maWcvY29tcGlsZXIvaHBfYWNjLmhwcApAQCAtMTE4LDYgKzExOCw3IEBACiAjZGVmaW5lIEJPT1NUX05PX0NYWDExX1RFTVBMQVRFX0FMSUFTRVMKICNkZWZpbmUgQk9PU1RfTk9fQ1hYMTFfVU5JQ09ERV9MSVRFUkFMUwogI2RlZmluZSBCT09TVF9OT19DWFgxMV9WQVJJQURJQ19URU1QTEFURVMKKyNkZWZpbmUgQk9PU1RfTk9fQ1hYMTFfVVNFUl9ERUZJTkVEX0xJVEVSQUxTCiAKIC8qIAogICBTZWUgaHR0cHM6Ly9mb3J1bXMxMy5pdHJjLmhwLmNvbS9zZXJ2aWNlL2ZvcnVtcy9xdWVzdGlvbmFuc3dlci5kbz90aHJlYWRJZD0xNDQzMzMxIGFuZApkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvY29uZmlnL2NvbXBpbGVyL2ludGVsLmhwcCBiL25kbmJvb3N0L2NvbmZpZy9jb21waWxlci9pbnRlbC5ocHAKaW5kZXggZTc5ZTNjZi4uZWEyN2I4ZCAxMDA2NDQKLS0tIGEvbmRuYm9vc3QvY29uZmlnL2NvbXBpbGVyL2ludGVsLmhwcAorKysgYi9uZG5ib29zdC9jb25maWcvY29tcGlsZXIvaW50ZWwuaHBwCkBAIC0xODEsNyArMTgxLDcgQEAKIC8vIChOaWVscyBEZWtrZXIsIExLRUIsIE1heSAyMDEwKQogLy8gQXBwYXJlbnRseSBJbnRlbCAxMi4xIChjb21waWxlciB2ZXJzaW9uIG51bWJlciA5OTk5ICEhKSBoYXMgdGhlIHNhbWUgaXNzdWUgKGNvbXBpbGVyIHJlZ3Jlc3Npb24pLgogI2lmIGRlZmluZWQoX19JTlRFTF9DT01QSUxFUikKLSMgIGlmIChfX0lOVEVMX0NPTVBJTEVSIDw9IDExMTApIHx8IChfX0lOVEVMX0NPTVBJTEVSID09IDk5OTkpCisjICBpZiAoX19JTlRFTF9DT01QSUxFUiA8PSAxMTEwKSB8fCAoX19JTlRFTF9DT01QSUxFUiA9PSA5OTk5KSB8fCAoZGVmaW5lZChfV0lOMzIpICYmIChfX0lOVEVMX0NPTVBJTEVSIDwgMTUwMCkpCiAjICAgIGRlZmluZSBCT09TVF9OT19DT01QTEVURV9WQUxVRV9JTklUSUFMSVpBVElPTgogIyAgZW5kaWYKICNlbmRpZgpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvY29uZmlnL2NvbXBpbGVyL21ldHJvd2Vya3MuaHBwIGIvbmRuYm9vc3QvY29uZmlnL2NvbXBpbGVyL21ldHJvd2Vya3MuaHBwCmluZGV4IDE4NGNiNzEuLjRjYThhZjggMTAwNjQ0Ci0tLSBhL25kbmJvb3N0L2NvbmZpZy9jb21waWxlci9tZXRyb3dlcmtzLmhwcAorKysgYi9uZG5ib29zdC9jb25maWcvY29tcGlsZXIvbWV0cm93ZXJrcy5ocHAKQEAgLTExOSw2ICsxMTksNyBAQAogI2RlZmluZSBCT09TVF9OT19DWFgxMV9WQVJJQURJQ19URU1QTEFURVMKICNkZWZpbmUgQk9PU1RfTk9fQ1hYMTFfVkFSSUFESUNfTUFDUk9TCiAjZGVmaW5lIEJPT1NUX05PX0NYWDExX1VOSUZJRURfSU5JVElBTElaQVRJT05fU1lOVEFYCisjZGVmaW5lIEJPT1NUX05PX0NYWDExX1VTRVJfREVGSU5FRF9MSVRFUkFMUwogCiAjZGVmaW5lIEJPT1NUX0NPTVBJTEVSICJNZXRyb3dlcmtzIENvZGVXYXJyaW9yIEMrKyB2ZXJzaW9uICIgQk9PU1RfU1RSSU5HSVpFKEJPT1NUX0NPTVBJTEVSX1ZFUlNJT04pCiAKZGlmZiAtLWdpdCBhL25kbmJvb3N0L2NvbmZpZy9jb21waWxlci9tcHcuaHBwIGIvbmRuYm9vc3QvY29uZmlnL2NvbXBpbGVyL21wdy5ocHAKaW5kZXggMTRhZGVlMC4uN2VmMzhlZiAxMDA2NDQKLS0tIGEvbmRuYm9vc3QvY29uZmlnL2NvbXBpbGVyL21wdy5ocHAKKysrIGIvbmRuYm9vc3QvY29uZmlnL2NvbXBpbGVyL21wdy5ocHAKQEAgLTY4LDYgKzY4LDcgQEAKICNkZWZpbmUgQk9PU1RfTk9fQ1hYMTFfVkFSSUFESUNfVEVNUExBVEVTCiAjZGVmaW5lIEJPT1NUX05PX0NYWDExX1ZBUklBRElDX01BQ1JPUwogI2RlZmluZSBCT09TVF9OT19DWFgxMV9VTklGSUVEX0lOSVRJQUxJWkFUSU9OX1NZTlRBWAorI2RlZmluZSBCT09TVF9OT19DWFgxMV9VU0VSX0RFRklORURfTElURVJBTFMKIAogLy8KIC8vIHZlcnNpb25zIGNoZWNrOgpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvY29uZmlnL2NvbXBpbGVyL3BhdGhzY2FsZS5ocHAgYi9uZG5ib29zdC9jb25maWcvY29tcGlsZXIvcGF0aHNjYWxlLmhwcAppbmRleCAzMDQxMTI2Li4wN2QxNDYwIDEwMDY0NAotLS0gYS9uZG5ib29zdC9jb25maWcvY29tcGlsZXIvcGF0aHNjYWxlLmhwcAorKysgYi9uZG5ib29zdC9jb25maWcvY29tcGlsZXIvcGF0aHNjYWxlLmhwcApAQCAtNzYsNSArNzYsNiBAQAogIyAgZGVmaW5lIEJPT1NUX05PX0NYWDExX0hEUl9DT05ESVRJT05fVkFSSUFCTEUKICMgIGRlZmluZSBCT09TVF9OT19DWFgxMV9IRFJfQ09ERUNWVAogIyAgZGVmaW5lIEJPT1NUX05PX0NYWDExX0hEUl9DSFJPTk8KKyMgIGRlZmluZSBCT09TVF9OT19DWFgxMV9VU0VSX0RFRklORURfTElURVJBTFMKICNlbmRpZgogCmRpZmYgLS1naXQgYS9uZG5ib29zdC9jb25maWcvY29tcGlsZXIvcGdpLmhwcCBiL25kbmJvb3N0L2NvbmZpZy9jb21waWxlci9wZ2kuaHBwCmluZGV4IGZhMzJmZWYuLjY0YzBkNzUgMTAwNjQ0Ci0tLSBhL25kbmJvb3N0L2NvbmZpZy9jb21waWxlci9wZ2kuaHBwCisrKyBiL25kbmJvb3N0L2NvbmZpZy9jb21waWxlci9wZ2kuaHBwCkBAIC0xMTEsNiArMTExLDcgQEAKICNkZWZpbmUgQk9PU1RfTk9fQ1hYMTFfSERSX0NPREVDVlQKICNkZWZpbmUgQk9PU1RfTk9fQ1hYMTFfSERSX0NIUk9OTwogI2RlZmluZSBCT09TVF9OT19DWFgxMV9IRFJfQVJSQVkKKyNkZWZpbmUgQk9PU1RfTk9fQ1hYMTFfVVNFUl9ERUZJTkVEX0xJVEVSQUxTCiAKIC8vCiAvLyB2ZXJzaW9uIGNoZWNrOgpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvY29uZmlnL2NvbXBpbGVyL3N1bnByb19jYy5ocHAgYi9uZG5ib29zdC9jb25maWcvY29tcGlsZXIvc3VucHJvX2NjLmhwcAppbmRleCA2NWJlYjUwLi44ODQyMWVlIDEwMDY0NAotLS0gYS9uZG5ib29zdC9jb25maWcvY29tcGlsZXIvc3VucHJvX2NjLmhwcAorKysgYi9uZG5ib29zdC9jb25maWcvY29tcGlsZXIvc3VucHJvX2NjLmhwcApAQCAtMTI3LDYgKzEyNyw3IEBACiAjZGVmaW5lIEJPT1NUX05PX0NYWDExX1ZBUklBRElDX1RFTVBMQVRFUwogI2RlZmluZSBCT09TVF9OT19DWFgxMV9WQVJJQURJQ19NQUNST1MKICNkZWZpbmUgQk9PU1RfTk9fQ1hYMTFfVU5JRklFRF9JTklUSUFMSVpBVElPTl9TWU5UQVgKKyNkZWZpbmUgQk9PU1RfTk9fQ1hYMTFfVVNFUl9ERUZJTkVEX0xJVEVSQUxTCiAKIC8vCiAvLyBWZXJzaW9uCmRpZmYgLS1naXQgYS9uZG5ib29zdC9jb25maWcvY29tcGlsZXIvdmFjcHAuaHBwIGIvbmRuYm9vc3QvY29uZmlnL2NvbXBpbGVyL3ZhY3BwLmhwcAppbmRleCAyNDEwZDVhLi40N2I5OTAzIDEwMDY0NAotLS0gYS9uZG5ib29zdC9jb25maWcvY29tcGlsZXIvdmFjcHAuaHBwCisrKyBiL25kbmJvb3N0L2NvbmZpZy9jb21waWxlci92YWNwcC5ocHAKQEAgLTUzLDggKzUzLDggQEAKICNlcnJvciAiQ29tcGlsZXIgbm90IHN1cHBvcnRlZCBvciBjb25maWd1cmVkIC0gcGxlYXNlIHJlY29uZmlndXJlIgogI2VuZGlmCiAvLwotLy8gbGFzdCBrbm93biBhbmQgY2hlY2tlZCB2ZXJzaW9uIGlzIDExMTA6Ci0jaWYgKF9fSUJNQ1BQX18gPiAxMTEwKQorLy8gbGFzdCBrbm93biBhbmQgY2hlY2tlZCB2ZXJzaW9uIGlzIDEyMTA6CisjaWYgKF9fSUJNQ1BQX18gPiAxMjEwKQogIyAgaWYgZGVmaW5lZChCT09TVF9BU1NFUlRfQ09ORklHKQogIyAgICAgZXJyb3IgIlVua25vd24gY29tcGlsZXIgdmVyc2lvbiAtIHBsZWFzZSBydW4gdGhlIGNvbmZpZ3VyZSB0ZXN0cyBhbmQgcmVwb3J0IHRoZSByZXN1bHRzIgogIyAgZW5kaWYKQEAgLTEwNiw2ICsxMDYsNyBAQAogI2RlZmluZSBCT09TVF9OT19DWFgxMV9OVUxMUFRSCiAjZGVmaW5lIEJPT1NUX05PX0NYWDExX1JBTkdFX0JBU0VEX0ZPUgogI2RlZmluZSBCT09TVF9OT19DWFgxMV9SQVdfTElURVJBTFMKKyNkZWZpbmUgQk9PU1RfTk9fQ1hYMTFfVVNFUl9ERUZJTkVEX0xJVEVSQUxTCiAjaWYgISBfX0lCTUNQUF9SVkFMVUVfUkVGRVJFTkNFUwogIyAgZGVmaW5lIEJPT1NUX05PX0NYWDExX1JWQUxVRV9SRUZFUkVOQ0VTCiAjZW5kaWYKZGlmZiAtLWdpdCBhL25kbmJvb3N0L2NvbmZpZy9jb21waWxlci92aXN1YWxjLmhwcCBiL25kbmJvb3N0L2NvbmZpZy9jb21waWxlci92aXN1YWxjLmhwcAppbmRleCAyMmM1NzA4Li5hN2QzMDI1IDEwMDY0NAotLS0gYS9uZG5ib29zdC9jb25maWcvY29tcGlsZXIvdmlzdWFsYy5ocHAKKysrIGIvbmRuYm9vc3QvY29uZmlnL2NvbXBpbGVyL3Zpc3VhbGMuaHBwCkBAIC0xMzQsMTAgKzEzNCw2IEBACiAvLyAoTmllbHMgRGVra2VyLCBMS0VCLCBNYXkgMjAxMCkKICMgIGRlZmluZSBCT09TVF9OT19DT01QTEVURV9WQUxVRV9JTklUSUFMSVpBVElPTgogCi0jaWYgX01TQ19WRVIgPCAxNjAwICB8fCAhZGVmaW5lZChCT09TVF9TVFJJQ1RfQ09ORklHKSAvLyAxNTBYID09IFZDKysgOS4wCi0jICBkZWZpbmUgQk9PU1RfTk9fQ1hYMTFfSERSX0lOSVRJQUxJWkVSX0xJU1QKLSNlbmRpZgotCiAjaWZuZGVmIF9OQVRJVkVfV0NIQVJfVF9ERUZJTkVECiAjICBkZWZpbmUgQk9PU1RfTk9fSU5UUklOU0lDX1dDSEFSX1QKICNlbmRpZgpAQCAtMjIxLDI0ICsyMTcsMzIgQEAKICMgIGRlZmluZSBCT09TVF9OT19DWFgxMV9TQ09QRURfRU5VTVMKICNlbmRpZiAvLyBfTVNDX1ZFUiA8IDE3MDAKIAotLy8gQysrMHggZmVhdHVyZXMgbm90IHN1cHBvcnRlZCBieSBhbnkgdmVyc2lvbnMKKy8vIEMrKzExIGZlYXR1cmVzIHN1cHBvcnRlZCBieSBWQysrIDExIChha2EgMjAxMikgTm92ZW1iZXIgMjAxMiBDVFAKKy8vIEJlY2F1c2UgdGhlIENUUCBpcyB1bnN1cHBvcnRlZCwgdW5yZWxlYXNlLCBhbmQgb25seSBhbHBoYSBxdWFsaXR5LAorLy8gaXQgaXMgb25seSBzdXBwb3J0ZWQgaWYgQk9PU1RfTVNWQ19FTkFCTEVfMjAxMl9OT1ZfQ1RQIGlzIGRlZmluZWQuCisvLworI2lmIF9NU0NfRlVMTF9WRVIgPCAxNzAwNTEwMjUgfHwgIWRlZmluZWQoQk9PU1RfTVNWQ19FTkFCTEVfMjAxMl9OT1ZfQ1RQKQorIyAgZGVmaW5lIEJPT1NUX05PX0NYWDExX0VYUExJQ0lUX0NPTlZFUlNJT05fT1BFUkFUT1JTCisjICBkZWZpbmUgQk9PU1RfTk9fQ1hYMTFfRlVOQ1RJT05fVEVNUExBVEVfREVGQVVMVF9BUkdTCisjICBkZWZpbmUgQk9PU1RfTk9fQ1hYMTFfUkFXX0xJVEVSQUxTCisjICBkZWZpbmUgQk9PU1RfTk9fQ1hYMTFfVkFSSUFESUNfVEVNUExBVEVTCisjICBkZWZpbmUgQk9PU1RfTk9fQ1hYMTFfVU5JRklFRF9JTklUSUFMSVpBVElPTl9TWU5UQVgKKyNlbmRpZgorCisvLyBDKysxMSBmZWF0dXJlcyBub3Qgc3VwcG9ydGVkIGJ5IGFueSB2ZXJzaW9ucwogI2RlZmluZSBCT09TVF9OT19DWFgxMV9DSEFSMTZfVAogI2RlZmluZSBCT09TVF9OT19DWFgxMV9DSEFSMzJfVAogI2RlZmluZSBCT09TVF9OT19DWFgxMV9DT05TVEVYUFIKICNkZWZpbmUgQk9PU1RfTk9fQ1hYMTFfREVDTFRZUEVfTjMyNzYKICNkZWZpbmUgQk9PU1RfTk9fQ1hYMTFfREVGQVVMVEVEX0ZVTkNUSU9OUwogI2RlZmluZSBCT09TVF9OT19DWFgxMV9ERUxFVEVEX0ZVTkNUSU9OUwotI2RlZmluZSBCT09TVF9OT19DWFgxMV9FWFBMSUNJVF9DT05WRVJTSU9OX09QRVJBVE9SUwotI2RlZmluZSBCT09TVF9OT19DWFgxMV9GVU5DVElPTl9URU1QTEFURV9ERUZBVUxUX0FSR1MKLSNkZWZpbmUgQk9PU1RfTk9fQ1hYMTFfSERSX0lOSVRJQUxJWkVSX0xJU1QKICNkZWZpbmUgQk9PU1RfTk9fQ1hYMTFfTk9FWENFUFQKLSNkZWZpbmUgQk9PU1RfTk9fQ1hYMTFfUkFXX0xJVEVSQUxTCiAjZGVmaW5lIEJPT1NUX05PX0NYWDExX1RFTVBMQVRFX0FMSUFTRVMKICNkZWZpbmUgQk9PU1RfTk9fQ1hYMTFfVU5JQ09ERV9MSVRFUkFMUwotI2RlZmluZSBCT09TVF9OT19DWFgxMV9WQVJJQURJQ19URU1QTEFURVMKICNkZWZpbmUgQk9PU1RfTk9fU0ZJTkFFX0VYUFIKICNkZWZpbmUgQk9PU1RfTk9fVFdPX1BIQVNFX05BTUVfTE9PS1VQCi0jZGVmaW5lIEJPT1NUX05PX0NYWDExX1VOSUZJRURfSU5JVElBTElaQVRJT05fU1lOVEFYCisjZGVmaW5lIEJPT1NUX05PX0NYWDExX1VTRVJfREVGSU5FRF9MSVRFUkFMUworCiAvLwogLy8gcHJlZml4IGFuZCBzdWZmaXggaGVhZGVyczoKIC8vCmRpZmYgLS1naXQgYS9uZG5ib29zdC9jb25maWcvcGxhdGZvcm0vdnh3b3Jrcy5ocHAgYi9uZG5ib29zdC9jb25maWcvcGxhdGZvcm0vdnh3b3Jrcy5ocHAKaW5kZXggOTJhZWFkZS4uYjk0YzMyOSAxMDA2NDQKLS0tIGEvbmRuYm9vc3QvY29uZmlnL3BsYXRmb3JtL3Z4d29ya3MuaHBwCisrKyBiL25kbmJvb3N0L2NvbmZpZy9wbGF0Zm9ybS92eHdvcmtzLmhwcApAQCAtMSwzMSArMSwzNjkgQEAKLS8vICAoQykgQ29weXJpZ2h0IER1c3RpbiBTcGljdXp6YSAyMDA5LiAKLS8vICBVc2UsIG1vZGlmaWNhdGlvbiBhbmQgZGlzdHJpYnV0aW9uIGFyZSBzdWJqZWN0IHRvIHRoZSAKLS8vICBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSAKKy8vICAoQykgQ29weXJpZ2h0IER1c3RpbiBTcGljdXp6YSAyMDA5LgorLy8gICAgICBBZGFwdGVkIHRvIHZ4V29ya3MgNi45IGJ5IFBldGVyIEJyb2NrYW1wIDIwMTIuCisvLyAgVXNlLCBtb2RpZmljYXRpb24gYW5kIGRpc3RyaWJ1dGlvbiBhcmUgc3ViamVjdCB0byB0aGUKKy8vICBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZQogLy8gIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKIAogLy8gIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZyBmb3IgbW9zdCByZWNlbnQgdmVyc2lvbi4KIAotLy8gIHZ4V29ya3Mgc3BlY2lmaWMgY29uZmlnIG9wdGlvbnM6CisvLyAgU2luY2UgV1JTIGRvZXMgbm90IHlldCBwcm9wZXJseSBzdXBwb3J0IGJvb3N0IHVuZGVyIHZ4V29ya3MKKy8vICBhbmQgdGhpcyBmaWxlIHdhcyBiYWRseSBvdXRkYXRlZCwgYnV0IEkgd2FzIGtlZW4gb24gdXNpbmcgaXQsCisvLyAgSSBwYXRjaGVkIGJvb3N0IG15c2VsZiB0byBtYWtlIHRoaW5ncyB3b3JrLiBUaGlzIGhhcyBiZWVuIHRlc3RlZAorLy8gIGFuZCBhZGFwdGVkIGJ5IG1lIGZvciB2eFdvcmtzIDYuOSAqb25seSosIGFzIEknbSBsYWNraW5nIGFjY2VzcworLy8gIHRvIGVhcmxpZXIgNi5YIHZlcnNpb25zISBUaGUgb25seSB0aGluZyBJIGtub3cgZm9yIHN1cmUgaXMgdGhhdAorLy8gIHZlcnkgb2xkIHZlcnNpb25zIG9mIHZ4V29ya3MgKG5hbWVseSBldmVyeXRoaW5nIGJlbG93IDYueCkgYXJlCisvLyAgYWJzb2x1dGVseSB1bmFibGUgdG8gdXNlIGJvb3N0LiBUaGlzIGlzIG1haW5seSBkdWUgdG8gdGhlIGNvbXBsZXRlbHkKKy8vICBvdXRkYXRlZCBsaWJyYXJpZXMgYW5kIGFuY2llbnQgY29tcGlsZXIgKEdDQyAyLjk2IG9yIHdvcnNlKS4gRG8KKy8vICBub3QgZXZlbiB0aGluayBvZiBnZXR0aW5nIHRoaXMgdG8gd29yaywgYSBtaXNlcmFibGUgZmFpbHVyZSB3aWxsCisvLyAgYmUgZ3VhcmFudGVlZCEKKy8vICBFcXVhbGx5LCB0aGlzIGZpbGUgaGFzIGJlZW4gdGVzdGVkIGZvciBSVFBzIChSZWFsIFRpbWUgUHJvY2Vzc2VzKQorLy8gIG9ubHksIG5vdCBmb3IgREtNcyAoRG93bmxvYWRhYmxlIEtlcm5lbCBNb2R1bGVzKS4gVGhlc2UgdHdvIHR5cGVzCisvLyAgb2YgZXhlY3V0YWJsZXMgZGlmZmVyIGxhcmdlbHkgaW4gdGhlIGF2YWlsYWJsZSBmdW5jdGlvbmFsaXR5IG9mCisvLyAgdGhlIEMtbGlicmFyeSwgU1RMLCBhbmQgc28gb24uIEEgREtNIHVzZXMgYSBsaWJyYXJ5IHNpbWlsYXIgdG8gdGhvc2UKKy8vICBvZiB2eFdvcmtzIDUuWCAtIHdpdGggYWxsIGl0cyBsaW1pdGF0aW9ucyBhbmQgaW5jb21wYXRpYmlsaXRpZXMKKy8vICB3aXRoIHJlc3BlY3QgdG8gQU5TSSBDKysgYW5kIFNUTC4gU28gcHJvYmFibHkgdGhlcmUgbWlnaHQgYmUgcHJvYmxlbXMKKy8vICB3aXRoIHRoZSB1c2FnZSBvZiBib29zdCBmcm9tIERLTXMuIFdSUyBvciBhbnkgdm9sdXRlZXJzIGFyZSBmcmVlIHRvCisvLyAgcHJvdmUgdGhlIG9wcG9zaXRlIQogCi0jZGVmaW5lIEJPT1NUX1BMQVRGT1JNICJ2eFdvcmtzIgorLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy8vCisvLyBTb21lIGltcG9ydGFudCBpbmZvcm1hdGlvbiByZWdhcmRpbmcgdGhlIHVzYWdlIG9mIFBPU0lYIHNlbWFwaG9yZXM6CisvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisvLworLy8gVnhXb3JrcyBhcyBhIHJlYWwgdGltZSBvcGVyYXRpbmcgc3lzdGVtIGhhbmRsZXMgdGhyZWFkcyBzb21ld2hhdAorLy8gZGlmZmVyZW50IGZyb20gd2hhdCAibm9ybWFsIiBPU2VzIGRvLCByZWdhcmRpbmcgdGhlaXIgc2NoZWR1bGluZyEKKy8vIFRoaXMgY291bGQgbGVhZCB0byBhIHNjZW5hcmlvIGNhbGxlZCAicHJpb3JpdHkgaW52ZXJzaW9uIiB3aGVuIHVzaW5nCisvLyBzZW1hcGhvcmVzLCBzZWUgaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9Qcmlvcml0eV9pbnZlcnNpb24uCisvLworLy8gTm93LCBWeFdvcmtzIFBPU0lYLXNlbWFwaG9yZXMgZm9yIERLTSdzIGRlZmF1bHQgdG8gdGhlIHVzYWdlIG9mCisvLyBwcmlvcml0eSBpbnZlcnRpbmcgc2VtYXBob3Jlcywgd2hpY2ggaXMgZmluZS4gT24gdGhlIG90aGVyIGhhbmQsCisvLyBmb3IgUlRQJ3MgaXQgZGVmYXVsdHMgdG8gdXNpbmcgbm9uIHByaW9yaXR5IGludmVydGluZyBzZW1hcGhvcmVzLAorLy8gd2hpY2ggY291bGQgZWFzaWx5IHBvc2UgYSBzZXJpb3VzIHByb2JsZW0gZm9yIGEgcmVhbCB0aW1lIHByb2Nlc3MsCisvLyBpLmUuIGRlYWRsb2NrcyEgVG8gb3ZlcmNvbWUgdGhpcyB0d28gcG9zc2liaWxpdGllcyBkbyBleGlzdDoKKy8vCisvLyBhKSBQYXRjaCBldmVyeSBwaWVjZSBvZiBib29zdCB0aGF0IHVzZXMgc2VtYXBob3JlcyB0byBpbnN0YW5jaWF0ZQorLy8gICAgdGhlIHByb3BlciB0eXBlIG9mIHNlbWFwaG9yZXMuIFRoaXMgaXMgbm9uLWludHJ1c2l2ZSB3aXRoIHJlc3BlY3QKKy8vICAgIHRvIHRoZSBPUyBhbmQgY291bGQgcmVsYXRpdmVseSBlYXN5IGJlZW4gZG9uZSBieSBnaXZpbmcgYWxsCisvLyAgICBzZW1hcGhvcmVzIGF0dHJpYnV0ZXMgZGV2aWF0aW5nIGZyb20gdGhlIGRlZmF1bHQgKGZvciBpbi1kZXB0aAorLy8gICAgaW5mb3JtYXRpb24gc2VlIHRoZSBQT1NJWCBmdW5jdGlvbnMgcHRocmVhZF9tdXRleGF0dHJfaW5pdCgpCisvLyAgICBhbmQgcHRocmVhZF9tdXRleGF0dHJfc2V0cHJvdG9jb2woKSkuIEhvd2V2ZXIgdGhpcyBicmVha3MgYWxsCisvLyAgICB0b28gZWFzaWx5LCBhcyB3aXRoIGV2ZXJ5IG5ldyB2ZXJzaW9uIHNvbWUgYm9vc3QgbGlicmFyeSBjb3VsZAorLy8gICAgYWxsIGluIGEgc3VkZGVuIHN0YXJ0IHVzaW5nIHNlbWFwaG9yZXMsIHJlc3VycmVjdGluZyB0aGUgdmVyeQorLy8gICAgc2FtZSwgaGFyZCB0byBsb2NhdGUgcHJvYmxlbSBvdmVyIGFuZCBvdmVyIGFnYWluIQorLy8KKy8vIGIpIFdlIGNvdWxkIGNoYW5nZSB0aGUgZGVmYXVsdCBwcm9wZXJ0aWVzIGZvciBQT1NJWC1zZW1hcGhvcmVzCisvLyAgICB0aGF0IFZ4V29ya3MgdXNlcyBmb3IgUlRQJ3MgYW5kIHRoaXMgaXMgYmVpbmcgc3VnZ2VzdGVkIGhlcmUsCisvLyAgICBhcyBpdCB3aWxsIG1vcmUgb3IgbGVzcyBzZWFtbGVzc2x5IGludGVncmF0ZSB3aXRoIGJvb3N0LiBJIGdvdAorLy8gICAgdGhlIGZvbGxvd2luZyBpbmZvcm1hdGlvbiBmcm9tIFdSUyBob3cgdG8gZG8gdGhpcywgY29tcGFyZQorLy8gICAgV2luZCBSaXZlciBUU1IjIDEyMDk3Njg6CisvLworLy8gSW5zdHJ1Y3Rpb25zIGZvciBjaGFuZ2luZyB0aGUgZGVmYXVsdCBwcm9wZXJ0aWVzIG9mIFBPU0lYLQorLy8gc2VtYXBob3JlcyBmb3IgUlRQJ3MgaW4gVnhXb3JrcyA2Ljk6CisvLyAtIEVkaXQgdGhlIGZpbGUgL3Z4d29ya3MtNi45L3RhcmdldC91c3Ivc3JjL3Bvc2l4L3B0aHJlYWRMaWIuYworLy8gICBpbiB0aGUgcm9vdCBvZiB5b3VyIFdvcmtiZW5jaC1pbnN0YWxsYXRpb24uCisvLyAtIEFyb3VuZCBsaW5lIDkxNyB0aGVyZSBzaG91bGQgYmUgdGhlIGRlZmluaXRpb24gb2YgdGhlIGRlZmF1bHQKKy8vICAgbXV0ZXggYXR0cmlidXRlczoKKy8vCisvLyAgIExPQ0FMIHB0aHJlYWRfbXV0ZXhhdHRyX3QgZGVmYXVsdE11dGV4QXR0ciA9CisvLyAgICAgICB7CisvLyAgICAgICBQVEhSRUFEX0lOSVRJQUxJWkVEX09CSiwgUFRIUkVBRF9QUklPX05PTkUsIDAsCisvLyAgICAgICBQVEhSRUFEX01VVEVYX0RFRkFVTFQKKy8vICAgICAgIH07CisvLworLy8gICBIZXJlLCByZXBsYWNlIFBUSFJFQURfUFJJT19OT05FIGJ5IFBUSFJFQURfUFJJT19JTkhFUklULgorLy8gLSBBcm91bmQgbGluZSAxMjM2IHRoZXJlIHNob3VsZCBiZSBhIGRlZmluaXRpb24gZm9yIHRoZSBmdW5jdGlvbgorLy8gICBwdGhyZWFkX211dGV4YXR0cl9pbml0KCkuIEEgY291cGxlIG9mIGxpbmVzIGJlbG93IHlvdSBzaG91bGQKKy8vICAgZmluZCBhIGJsb2NrIG9mIGNvZGUgbGlrZSB0aGlzOgorLy8KKy8vICAgcEF0dHItPm11dGV4QXR0clN0YXR1cyAgICAgID0gUFRIUkVBRF9JTklUSUFMSVpFRF9PQko7CisvLyAgIHBBdHRyLT5tdXRleEF0dHJQcm90b2NvbCAgICA9IFBUSFJFQURfUFJJT19OT05FOworLy8gICBwQXR0ci0+bXV0ZXhBdHRyUHJpb2NlaWxpbmcgPSAwOworLy8gICBwQXR0ci0+bXV0ZXhBdHRyVHlwZSAgICAgICAgPSBQVEhSRUFEX01VVEVYX0RFRkFVTFQ7CisvLworLy8gICBIZXJlIGFnYWluLCByZXBsYWNlIFBUSFJFQURfUFJJT19OT05FIGJ5IFBUSFJFQURfUFJJT19JTkhFUklULgorLy8gLSBGaW5hbGx5LCByZWJ1aWxkIHlvdXIgVlNCLiBUaGlzIHdpbGwgY3JlYXRlIGEgbmV3IFZ4V29ya3Mga2VybmVsCisvLyAgIHdpdGggdGhlIGNoYW5nZWQgcHJvcGVydGllcy4gVGhhdCdzIGl0ISBOb3csIHVzaW5nIGJvb3N0IHNob3VsZAorLy8gICBubyBsb25nZXIgY2F1c2UgYW55IHByb2JsZW1zIHdpdGggdGFzayBkZWFkbG9ja3MhCisvLworLy8gQW5kIGhlcmUncyBhbm90aGVyIHVzZWZ1bCBwaWVjZSBvZiBpbmZvcm1hdGlvbiBjb25jZXJuaW5nIFZ4V29ya3MnCisvLyBQT1NJWC1mdW5jdGlvbmFsaXR5IGluIGdlbmVyYWw6CisvLyBWeFdvcmtzIGlzIG5vdCBhIGdlbnVpbmUgUE9TSVgtT1MgaW4gaXRzZWxmLCByYXRoZXIgaXQgaXMgdXNpbmcgYQorLy8ga2luZCBvZiBjb21wYXRpYmlsaXR5IGxheWVyIChzb3J0IG9mIGEgd3JhcHBlcikgdG8gZW11bGF0ZSB0aGUKKy8vIFBPU0lYLWZ1bmN0aW9uYWxpdHkgYnkgdXNpbmcgaXRzIG93biByZXNvdXJjZXMgYW5kIGZ1bmN0aW9ucy4KKy8vIEF0IHRoZSB0aW1lIGEgdGFzayAodGhyZWFkKSBjYWxscyBpdCdzIGZpcnN0IFBPU0lYLWZ1bmN0aW9uIGR1cmluZworLy8gcnVudGltZSBpdCBpcyBiZWluZyB0cmFuc2Zvcm1lZCBieSB0aGUgT1MgaW50byBhIFBPU0lYLXRocmVhZC4KKy8vIFRoaXMgdHJhbnNmb3JtYXRpb24gZG9lcyBpbmNsdWRlIGEgY2FsbCB0byBtYWxsb2MoKSB0byBhbGxvY2F0ZSB0aGUKKy8vIG1lbW9yeSByZXF1aXJlZCBmb3IgdGhlIGhvdXNla2VlcGluZyBvZiBQT1NJWC10aHJlYWRzLiBJbiBhIGhpZ2gKKy8vIHByaW9yaXR5IFJUUCB0aGlzIG1hbGxvYygpIGNhbGwgbWF5IGJlIGhpZ2hseSB1bmRlc2lyYWJsZSwgYXMgaXRzCisvLyB0aW1pbmcgaXMgbW9yZSBvciBsZXNzIHVucHJlZGljdGFibGUgKGRlcGVuZGluZyBvbiB3aGF0IHlvdXIgYWN0dWFsCisvLyBoZWFwIGxvb2tzIGxpa2UpLiBZb3UgY2FuIGNpcmN1bXZlbnQgdGhpcyBwcm9ibGVtIGJ5IGNhbGxpbmcgdGhlCisvLyBmdW5jdGlvbiB0aHJlYWRfc2VsZigpIGF0IGEgd2VsbCBkZWZpbmVkIHBvaW50IGluIHRoZSBjb2RlIG9mIHRoZQorLy8gdGFzaywgZS5nLiBzaG9ydGx5IGFmdGVyIHRoZSB0YXNrIHNwYXducyB1cC4gVGhlcmVieSB5b3UgYXJlIGFibGUKKy8vIHRvIGRlZmluZSB0aGUgdGltZSB3aGVuIHRoZSB0YXNrLXRyYW5zZm9ybWF0aW9uIHdpbGwgdGFrZSBwbGFjZSBhbmQKKy8vIHlvdSBjb3VsZCBzaGlmdCBpdCB0byBhbiB1bmNyaXRpY2FsIHBvaW50IHdoZXJlIGEgbWFsbG9jKCkgY2FsbCBpcworLy8gdG9sZXJhYmxlLiBTbywgaWYgdGhpcyBjb3VsZCBwb3NlIGEgcHJvYmxlbSBmb3IgeW91ciBjb2RlLCByZW1lbWJlcgorLy8gdG8gY2FsbCB0aHJlYWRfc2VsZigpIGZyb20gdGhlIGFmZmVjdGVkIHRhc2sgYXQgYW4gZWFybHkgc3RhZ2UuCisvLworLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIAotI2RlZmluZSBCT09TVF9OT19DV0NIQVIKLSNkZWZpbmUgQk9PU1RfTk9fSU5UUklOU0lDX1dDSEFSX1QKLQotI2lmIGRlZmluZWQoX19HTlVDX18pICYmIGRlZmluZWQoX19TVFJJQ1RfQU5TSV9fKQotI2RlZmluZSBCT09TVF9OT19JTlQ2NF9UCisvLyBCbG9jayBvdXQgYWxsIHZlcnNpb25zIGJlZm9yZSB2eFdvcmtzIDYueCwgYXMgdGhlc2UgZG9uJ3Qgd29yazoKKy8vIEluY2x1ZGUgaGVhZGVyIHdpdGggdGhlIHZ4V29ya3MgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgcXVlcnkgdGhlbQorI2luY2x1ZGUgPHZlcnNpb24uaD4KKyNpZiAhZGVmaW5lZChfV1JTX1ZYV09SS1NfTUFKT1IpIHx8IChfV1JTX1ZYV09SS1NfTUFKT1IgPCA2KQorIyAgZXJyb3IgIlRoZSB2eFdvcmtzIHZlcnNpb24geW91J3JlIHVzaW5nIGlzIHNvIGJhZGx5IG91dGRhdGVkLFwKKyAgICAgICAgICBpdCBkb2Vzbid0IHdvcmsgYXQgYWxsIHdpdGggYm9vc3QsIHNvcnJ5LCBubyBjaGFuY2UhIgogI2VuZGlmCiAKKy8vIEhhbmRsZSB2ZXJzaW9ucyBhYm92ZSA1LlggYnV0IGJlbG93IDYuOQorI2lmIChfV1JTX1ZYV09SS1NfTUFKT1IgPT0gNikgJiYgKF9XUlNfVlhXT1JLU19NSU5PUiA8IDkpCisvLyBUT0RPOiBTdGFydGluZyBmcm9tIHdoYXQgdmVyc2lvbiBkb2VzIHZ4V29ya3Mgd29yayB3aXRoIGJvb3N0PworLy8gV2UgY2FuJ3QgcmVhc29uYWJseSBpbnNlcnQgYSAjd2FybmluZyAiIiBhcyBhIHVzZXIgaGludCBoZXJlLAorLy8gYXMgdGhpcyB3aWxsIHNob3cgdXAgd2l0aCBldmVyeSBmaWxlIGluY2x1ZGluZyBzb21lIGJvb3N0IGhlYWRlciwKKy8vIGJhZGx5IGJ1Z2dpbmcgdGhlIHVzZXIuLi4gU28gZm9yIHRoZSB0aW1lIGJlaW5nIHdlIGp1c3QgbGVhdmUgaXQuCisjZW5kaWYKKworLy8gdnhXb3JrcyBzcGVjaWZpYyBjb25maWcgb3B0aW9uczoKKy8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjZGVmaW5lIEJPT1NUX1BMQVRGT1JNICJ2eFdvcmtzIgorCisvLyBTcGVjaWFsIGJlaGF2aW91ciBmb3IgREtNczoKKyNpZmRlZiBfV1JTX0tFUk5FTAorICAvLyBES01zIGRvIG5vdCBoYXZlIHRoZSA8Y3djaGFyPi1oZWFkZXIsCisgIC8vIGJ1dCBhcHBhcmVudGx5IHRoZXkgZG8gaGF2ZSBhbiBpbnRyaW5zaWMgd2NoYXJfdCBtZWFud2hpbGUhCisjICBkZWZpbmUgQk9PU1RfTk9fQ1dDSEFSCisKKyAgLy8gTG90cyBvZiB3aWRlLWZ1bmN0aW9ucyBhbmQgLWhlYWRlcnMgYXJlIHVuYXZhaWxhYmxlIGZvciBES01zIGFzIHdlbGw6CisjICBkZWZpbmUgQk9PU1RfTk9fQ1dDVFlQRQorIyAgZGVmaW5lIEJPT1NUX05PX1NXUFJJTlRGCisjICBkZWZpbmUgQk9PU1RfTk9fU1REX1dTVFJJTkcKKyMgIGRlZmluZSBCT09TVF9OT19TVERfV1NUUkVBTUJVRgorI2VuZGlmCisKKy8vIEdlbmVyYWxseSBhdmFpbGFibGUgaGVhZGVyczoKICNkZWZpbmUgQk9PU1RfSEFTX1VOSVNURF9ICisjZGVmaW5lIEJPT1NUX0hBU19TVERJTlRfSAorI2RlZmluZSBCT09TVF9IQVNfRElSRU5UX0gKKyNkZWZpbmUgQk9PU1RfSEFTX1NMSVNUCiAKLS8vIHRoZXNlIGFsbG93IHBvc2l4X2ZlYXR1cmVzIHRvIHdvcmssIHNpbmNlIHZ4V29ya3MgZG9lc24ndAotLy8gZGVmaW5lIHRoZW0gaXRzZWxmCi0jZGVmaW5lIF9QT1NJWF9USU1FUlMgMQotI2RlZmluZSBfUE9TSVhfVEhSRUFEUyAxCisvLyB2eFdvcmtzIGRvZXMgbm90IGhhdmUgaW5zdGFsbGVkIGFuIGljb252LWxpYnJhcnkgYnkgZGVmYXVsdCwKKy8vIHNvIHVuZm9ydHVuYXRlbHkgbm8gVW5pY29kZSBzdXBwb3J0IGZyb20gc2NyYXRjaCBpcyBhdmFpbGFibGUhCisvLyBUaHVzLCBpbnN0ZWFkIGl0IGlzIHN1Z2dlc3RlZCB0byBzd2l0Y2ggdG8gSUNVLCBhcyB0aGlzIHNlZW1zCisvLyB0byBiZSB0aGUgbW9zdCBjb21wbGV0ZSBhbmQgcG9ydGFibGUgb3B0aW9uLi4uCisjZGVmaW5lIEJPT1NUX0xPQ0FMRV9XSVRIX0lDVQogCi0vLyB2eHdvcmtzIGRvZXNuJ3Qgd29yayB3aXRoIGFzaW8gc2VyaWFsIHBvcnRzCisvLyBHZW5lcmFsbHkgYXZhaWxhYmxlIGZ1bmN0aW9uYWxpdHk6CisjZGVmaW5lIEJPT1NUX0hBU19USFJFQURTCisjZGVmaW5lIEJPT1NUX0hBU19OQU5PU0xFRVAKKyNkZWZpbmUgQk9PU1RfSEFTX0dFVFRJTUVPRkRBWQorI2RlZmluZSBCT09TVF9IQVNfQ0xPQ0tfR0VUVElNRQorI2RlZmluZSBCT09TVF9IQVNfTUFDUk9fVVNFX0ZBQ0VUCisKKy8vIEdlbmVyYWxseSB1bmF2YWlsYWJsZSBmdW5jdGlvbmFsaXR5LCBkZWxpdmVyZWQgYnkgYm9vc3QncyB0ZXN0IGZ1bmN0aW9uOgorLy8jZGVmaW5lIEJPT1NUX05PX0RFRFVDRURfVFlQRU5BTUUgLy8gQ29tbWVudGVkIHRoaXMgb3V0LCBib29zdCdzIHRlc3QgZ2l2ZXMgYW4gZXJyb3JuZW91cyByZXN1bHQhCisjZGVmaW5lIEJPT1NUX05PX0NYWDExX0VYVEVSTl9URU1QTEFURQorI2RlZmluZSBCT09TVF9OT19DWFgxMV9WQVJJQURJQ19NQUNST1MKKworLy8gR2VuZXJhbGx5IGF2YWlsYWJsZSB0aHJlYWRpbmcgQVBJJ3M6CisjZGVmaW5lIEJPT1NUX0hBU19QVEhSRUFEUworI2RlZmluZSBCT09TVF9IQVNfU0NIRURfWUlFTEQKKyNkZWZpbmUgQk9PU1RfSEFTX1NJR0FDVElPTgorCisvLyBGdW5jdGlvbmFsaXR5IGF2YWlsYWJsZSBmb3IgUlRQcyBvbmx5OgorI2lmZGVmIF9fUlRQX18KKyMgIGRlZmluZSBCT09TVF9IQVNfUFRIUkVBRF9NVVRFWEFUVFJfU0VUVFlQRQorIyAgZGVmaW5lIEJPT1NUX0hBU19MT0cxUAorIyAgZGVmaW5lIEJPT1NUX0hBU19FWFBNMQorI2VuZGlmCisKKy8vIEZ1bmN0aW9uYWxpdHkgYXZhaWxhYmxlIGZvciBES01zIG9ubHk6CisjaWZkZWYgX1dSU19LRVJORUwKKyAgLy8gTHVja2lseSwgYXQgdGhlIG1vbWVudCB0aGVyZSBzZWVtcyB0byBiZSBub25lIQorI2VuZGlmCisKKy8vIFRoZXNlICNkZWZpbmVzIGFsbG93IHBvc2l4X2ZlYXR1cmVzIHRvIHdvcmssIHNpbmNlIHZ4V29ya3MgZG9lc24ndAorLy8gI2RlZmluZSB0aGVtIGl0c2VsZiBmb3IgREtNcyAoZm9yIFJUUHMgb24gdGhlIGNvbnRyYXJ5IGl0IGRvZXMpOgorI2lmZGVmIF9XUlNfS0VSTkVMCisjICBpZm5kZWYgX1BPU0lYX1RJTUVSUworIyAgICBkZWZpbmUgX1BPU0lYX1RJTUVSUyAgMQorIyAgZW5kaWYKKyMgIGlmbmRlZiBfUE9TSVhfVEhSRUFEUworIyAgICBkZWZpbmUgX1BPU0lYX1RIUkVBRFMgMQorIyAgZW5kaWYKKyNlbmRpZgorCisvLyB2eFdvcmtzIGRvZXNuJ3Qgd29yayB3aXRoIGFzaW8gc2VyaWFsIHBvcnRzOgogI2RlZmluZSBCT09TVF9BU0lPX0RJU0FCTEVfU0VSSUFMX1BPUlQKKy8vIFRPRE86IFRoZSBwcm9ibGVtIGhlcmUgc2VlbXMgdG8gYmVlIHRoYXQgdnhXb3JrcyB1c2VzIGl0cyBvd24sIHZlcnkgc3BlY2lmaWMKKy8vICAgICAgIHdheXMgdG8gaGFuZGxlIHNlcmlhbCBwb3J0cywgaW5jb21wYXRpYmxlIHdpdGggUE9TSVggb3IgYW55dGhpbmcuLi4KKy8vICAgICAgIE1heWJlIGEgc3BlY2lmaWMgaW1wbGVtZW50YXRpb24gd291bGQgYmUgcG9zc2libGUsIGJ1dCB1bnRpbCB0aGUKKy8vICAgICAgIHN0cmFpZ2h0IG5lZWQgYXJpc2VzLi4uIFRoaXMgaW1wbGVtZW50YXRpb24gd291bGQgcHJlc3VtYWJseSBjb25zaXN0CisvLyAgICAgICBvZiBzb21lIHZ4V29ya3Mgc3BlY2lmaWMgaW9jdGwtY2FsbHMsIGV0Yy4gQW55IHZvbHV0ZWVycz8KIAotLy8gYm9pbGVycGxhdGUgY29kZToKKy8vIHZ4V29ya3MtYXJvdW5kOiA8dGltZS5oPiAjZGVmaW5lcyBDTE9DS1NfUEVSX1NFQyBhcyBzeXNDbGtSYXRlR2V0KCkgYnV0CisvLyAgICAgICAgICAgICAgICAgbWlzZXJhYmx5IGZhaWxzIHRvICNpbmNsdWRlIHRoZSByZXF1aXJlZCA8c3lzTGliLmg+IHRvIG1ha2UKKy8vICAgICAgICAgICAgICAgICBzeXNDbGtSYXRlR2V0KCkgYXZhaWxhYmxlISBTbyB3ZSBtYW51YWxseSBpbmNsdWRlIGl0IGhlcmUuCisjaWZkZWYgX19SVFBfXworIyAgaW5jbHVkZSA8dGltZS5oPgorIyAgaW5jbHVkZSA8c3lzTGliLmg+CisjZW5kaWYKKworLy8gdnhXb3Jrcy1hcm91bmQ6IEluIDxzdGRpbnQuaD4gdGhlIG1hY3JvcyBJTlQzMl9DKCksIFVJTlQzMl9DKCksIElOVDY0X0MoKSBhbmQKKy8vICAgICAgICAgICAgICAgICBVSU5UNjRfQygpIGFyZSBkZWZpbmVkIGVycm9ybmVvdXNseSwgeWllbGRpbmcgbm90IGEgc2lnbmVkLworLy8gICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcvbG9uZyBsb25nIHR5cGUsIGJ1dCBhIHNpZ25lZC91bnNpZ25lZCBpbnQvbG9uZworLy8gICAgICAgICAgICAgICAgIHR5cGUuIEV2ZW50dWFsbHkgdGhpcyBsZWFkcyB0byBjb21waWxlIGVycm9ycyBpbiByYXRpb19md2QuaHBwLAorLy8gICAgICAgICAgICAgICAgIHdoZW4gdHJ5aW5nIHRvIGRlZmluZSBzZXZlcmFsIGNvbnN0YW50cyB3aGljaCBkbyBub3QgZml0IGludG8gYQorLy8gICAgICAgICAgICAgICAgIGxvbmcgdHlwZSEgV2UgY29ycmVjdCB0aGVtIGhlcmUgYnkgcmVkZWZpbmluZy4KKyNpbmNsdWRlIDxjc3RkaW50PgorCisvLyBTb21lIG1hY3JvLW1hZ2ljIHRvIGRvIHRoZSBqb2IKKyNkZWZpbmUgVlhfSk9JTihYLCBZKSAgICAgVlhfRE9fSk9JTihYLCBZKQorI2RlZmluZSBWWF9ET19KT0lOKFgsIFkpICBWWF9ET19KT0lOMihYLCBZKQorI2RlZmluZSBWWF9ET19KT0lOMihYLCBZKSBYIyNZCisKKy8vIENvcnJlY3RseSBzZXR1cCB0aGUgbWFjcm9zCisjdW5kZWYgIElOVDMyX0MKKyN1bmRlZiAgVUlOVDMyX0MKKyN1bmRlZiAgSU5UNjRfQworI3VuZGVmICBVSU5UNjRfQworI2RlZmluZSBJTlQzMl9DKHgpICBWWF9KT0lOKHgsIEwpCisjZGVmaW5lIFVJTlQzMl9DKHgpIFZYX0pPSU4oeCwgVUwpCisjZGVmaW5lIElOVDY0X0MoeCkgIFZYX0pPSU4oeCwgTEwpCisjZGVmaW5lIFVJTlQ2NF9DKHgpIFZYX0pPSU4oeCwgVUxMKQorCisvLyAjaW5jbHVkZSBMaWJyYXJpZXMgcmVxdWlyZWQgZm9yIHRoZSBmb2xsb3dpbmcgZnVuY3Rpb24gYWRhcHRpb24KKyNpbmNsdWRlIDxpb0xpYi5oPgorI2luY2x1ZGUgPHRpY2tMaWIuaD4KKyNpbmNsdWRlIDxzeXMvdGltZS5oPgorCisvLyBVc2UgQy1saW5rYWdlIGZvciB0aGUgZm9sbG93aW5nIGhlbHBlciBmdW5jdGlvbnMKK2V4dGVybiAiQyIgeworCisvLyB2eFdvcmtzLWFyb3VuZDogVGhlIHJlcXVpcmVkIGZ1bmN0aW9ucyBnZXRybGltaXQoKSBhbmQgZ2V0cmxpbWl0KCkgYXJlIG1pc3NpbmcuCisvLyAgICAgICAgICAgICAgICAgQnV0IHdlIGhhdmUgdGhlIHNpbWlsYXIgZnVuY3Rpb25zIGdldHBybGltaXQoKSBhbmQgc2V0cHJsaW1pdCgpLAorLy8gICAgICAgICAgICAgICAgIHdoaWNoIG1heSBzZXJ2ZSB0aGUgcHVycG9zZS4KKy8vICAgICAgICAgICAgICAgICBQcm9ibGVtOiBUaGUgdnhXb3Jrcy1kb2N1bWVudGF0aW9uIHJlZ2FyZGluZyB0aGVzZSBmdW5jdGlvbnMKKy8vICAgICAgICAgICAgICAgICBkb2Vzbid0IGRlc2VydmUgaXRzIG5hbWUhIEl0IGlzbid0IGRvY3VtZW50ZWQgd2hhdCB0aGUgZmlyc3QgdHdvCisvLyAgICAgICAgICAgICAgICAgcGFyYW1ldGVycyBpZHR5cGUgYW5kIGlkIG1lYW4sIHNvIHdlIG11c3QgZmFsbCBiYWNrIHRvIGFuIGVkdWNhdGVkCisvLyAgICAgICAgICAgICAgICAgZ3Vlc3MgLSBudWxsLCBhcmdoLi4uIDotLworCisvLyBUT0RPOiBnZXRwcmxpbWl0KCkgYW5kIHNldHBybGltaXQoKSBkbyBleGlzdCBmb3IgUlRQcyBvbmx5LCBmb3Igd2hhdGV2ZXIgcmVhc29uLgorLy8gICAgICAgVGh1cyBmb3IgREtNcyB0aGVyZSB3b3VsZCBoYXZlIHRvIGJlIGFub3RoZXIgaW1wbGVtZW50YXRpb24uCisjaWZkZWYgX19SVFBfXworICBpbmxpbmUgaW50IGdldHJsaW1pdChpbnQgcmVzb3VyY2UsIHN0cnVjdCBybGltaXQgKnJscCl7CisgICAgcmV0dXJuIGdldHBybGltaXQoMCwgMCwgcmVzb3VyY2UsIHJscCk7CisgIH0KKworICBpbmxpbmUgaW50IHNldHJsaW1pdChpbnQgcmVzb3VyY2UsIGNvbnN0IHN0cnVjdCBybGltaXQgKnJscCl7CisgICAgcmV0dXJuIHNldHBybGltaXQoMCwgMCwgcmVzb3VyY2UsIGNvbnN0X2Nhc3Q8c3RydWN0IHJsaW1pdCo+KHJscCkpOworICB9CisjZW5kaWYKKworLy8gdnhXb3JrcyBoYXMgZnRydW5jYXRlKCkgb25seSwgc28gd2UgZG8gc2ltdWxhdGUgdHJ1bmNhdGUoKToKK2lubGluZSBpbnQgdHJ1bmNhdGUoY29uc3QgY2hhciAqcCwgb2ZmX3QgbCl7CisgIGludCBmZCA9IG9wZW4ocCwgT19XUk9OTFkpOworICBpZiAoZmQgPT0gLTEpeworICAgIGVycm5vID0gRUFDQ0VTOworICAgIHJldHVybiAtMTsKKyAgfQorICBpZiAoZnRydW5jYXRlKGZkLCBsKSA9PSAtMSl7CisgICAgY2xvc2UoZmQpOworICAgIGVycm5vID0gRUFDQ0VTOworICAgIHJldHVybiAtMTsKKyAgfQorICByZXR1cm4gY2xvc2UoZmQpOworfQorCisvLyBGYWtlIHN5bWxpbmsgaGFuZGxpbmcgYnkgZHVtbXkgZnVuY3Rpb25zOgoraW5saW5lIGludCBzeW1saW5rKGNvbnN0IGNoYXIqLCBjb25zdCBjaGFyKil7CisgIC8vIHZ4V29ya3MgaGFzIG5vIHN5bWxpbmtzIC0+IGFsd2F5cyByZXR1cm4gYW4gZXJyb3IhCisgIGVycm5vID0gRUFDQ0VTOworICByZXR1cm4gLTE7Cit9CisKK2lubGluZSBzc2l6ZV90IHJlYWRsaW5rKGNvbnN0IGNoYXIqLCBjaGFyKiwgc2l6ZV90KXsKKyAgLy8gdnhXb3JrcyBoYXMgbm8gc3ltbGlua3MgLT4gYWx3YXlzIHJldHVybiBhbiBlcnJvciEKKyAgZXJybm8gPSBFQUNDRVM7CisgIHJldHVybiAtMTsKK30KKworLy8gdnhXb3JrcyBjbGFpbXMgdG8gaW1wbGVtZW50IGdldHRpbWVvZmRheSBpbiBzeXMvdGltZS5oCisvLyBidXQgbmV2ZXJ0aGVsZXNzIGRvZXMgbm90IHByb3ZpZGUgaXQhIFNlZQorLy8gaHR0cHM6Ly9zdXBwb3J0LndpbmRyaXZlci5jb20vb2xzUG9ydGFsL2ZhY2VzL21haW50ZW5hbmNlL3RlY2h0aXBEZXRhaWxfbm9IZWFkZXIuanNweD9kb2NJZD0xNjQ0MiZjb250ZW50SWQ9V1JfVEVDSFRJUF8wMDYyNTYKKy8vIFdlIGltcGxlbWVudCBhIHN1cnJvZ2F0ZSB2ZXJzaW9uIGhlcmUgdmlhIGNsb2NrX2dldHRpbWU6CitpbmxpbmUgaW50IGdldHRpbWVvZmRheShzdHJ1Y3QgdGltZXZhbCAqdHYsIHZvaWQgKiAvKnR6diovKSB7CisgIHN0cnVjdCB0aW1lc3BlYyB0czsKKyAgY2xvY2tfZ2V0dGltZShDTE9DS19NT05PVE9OSUMsICZ0cyk7CisgIHR2LT50dl9zZWMgID0gdHMudHZfc2VjOworICB0di0+dHZfdXNlYyA9IHRzLnR2X25zZWMgLyAxMDAwOworICByZXR1cm4gMDsKK30KKworLy8gdnhXb3JrcyBkb2VzIHByb3ZpZGUgbmVpdGhlciBzdHJ1Y3QgdG1zIG5vciBmdW5jdGlvbiB0aW1lcygpIQorLy8gV2UgaW1wbGVtZW50IGFuIGVtcHR5IGR1bW15LWZ1bmN0aW9uLCBzaW1wbHkgc2V0dGluZyB0aGUgdXNlcgorLy8gYW5kIHN5c3RlbSB0aW1lIHRvIHRoZSBoYWxmIG9mIHRoZXcgYWN0dWFsIHN5c3RlbSB0aWNrcy12YWx1ZQorLy8gYW5kIHRoZSBjaGlsZCB1c2VyIGFuZCBzeXN0ZW0gdGltZSB0byAwLgorLy8gUmF0aGVyIHVnbHkgYnV0IGF0IGxlYXN0IGl0IHN1cHByZXNzZXMgY29tcGlsZXIgZXJyb3JzLi4uCisvLyBVbmZvcnR1bmF0ZWx5LCB0aGlzIG9mIGNvdXJzZSAqZG9lcyogaGF2ZSBhbiBzZXZlcmUgaW1wYWN0IG9uCisvLyBkZXBlbmRhbnQgbGlicmFyaWVzLCBhY3R1YWxseSB0aGlzIGlzIGNocm9ubyBvbmx5ISBIZXJlIGl0IHdpbGwKKy8vIG5vdCBiZSBwb3NzaWJsZSB0byBjb3JyZWN0bHkgdXNlIHVzZXIgYW5kIHN5c3RlbSB0aW1lcyEgQnV0CisvLyBhcyB2eFdvcmtzIGlzIGxhY2tpbmcgdGhlIGFiaWxpdHkgdG8gY2FsY3VsYXRlIHVzZXIgYW5kIHN5c3RlbQorLy8gcHJvY2VzcyB0aW1lcyB0aGVyZSBzZWVtcyB0byBiZSBubyBvdGhlciBwb3NzaWJsZSBzb2x1dGlvbi4KK3N0cnVjdCB0bXN7CisgIGNsb2NrX3QgdG1zX3V0aW1lOyAgLy8gVXNlciBDUFUgdGltZQorICBjbG9ja190IHRtc19zdGltZTsgIC8vIFN5c3RlbSBDUFUgdGltZQorICBjbG9ja190IHRtc19jdXRpbWU7IC8vIFVzZXIgQ1BVIHRpbWUgb2YgdGVybWluYXRlZCBjaGlsZCBwcm9jZXNzZXMKKyAgY2xvY2tfdCB0bXNfY3N0aW1lOyAvLyBTeXN0ZW0gQ1BVIHRpbWUgb2YgdGVybWluYXRlZCBjaGlsZCBwcm9jZXNzZXMKK307CisKK2lubGluZSBjbG9ja190IHRpbWVzKHN0cnVjdCB0bXMgKnQpeworICBzdHJ1Y3QgdGltZXNwZWMgdHM7CisgIGNsb2NrX2dldHRpbWUoQ0xPQ0tfVEhSRUFEX0NQVVRJTUVfSUQsICZ0cyk7CisgIGNsb2NrX3QgdGlja3Moc3RhdGljX2Nhc3Q8Y2xvY2tfdD4oc3RhdGljX2Nhc3Q8ZG91YmxlPih0cy50dl9zZWMpICAqIENMT0NLU19QRVJfU0VDICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0aWNfY2FzdDxkb3VibGU+KHRzLnR2X25zZWMpICogQ0xPQ0tTX1BFUl9TRUMgLyAxMDAwMDAwLjApKTsKKyAgdC0+dG1zX3V0aW1lICA9IHRpY2tzLzJVOworICB0LT50bXNfc3RpbWUgID0gdGlja3MvMlU7CisgIHQtPnRtc19jdXRpbWUgPSAwOyAvLyB2eFdvcmtzIGlzIGxhY2tpbmcgdGhlIGNvbmNlcHQgb2YgYSBjaGlsZCBwcm9jZXNzIQorICB0LT50bXNfY3N0aW1lID0gMDsgLy8gLT4gU2V0IHRoZSB3YWl0IHRpbWVzIGZvciBjaGlsZHMgdG8gMAorICByZXR1cm4gdGlja3M7Cit9CisKK30gLy8gZXh0ZXJuICJDIgorCisvLyBQdXQgdGhlIHNlbGZtYWRlIGZ1bmN0aW9ucyBpbnRvIHRoZSBzdGQtbmFtZXNwYWNlLCBqdXN0IGluIGNhc2UKK25hbWVzcGFjZSBzdGQgeworIyBpZmRlZiBfX1JUUF9fCisgICAgdXNpbmcgOjpnZXRybGltaXQ7CisgICAgdXNpbmcgOjpzZXRybGltaXQ7CisjIGVuZGlmCisgIHVzaW5nIDo6dHJ1bmNhdGU7CisgIHVzaW5nIDo6c3ltbGluazsKKyAgdXNpbmcgOjpyZWFkbGluazsKKyAgdXNpbmcgOjp0aW1lczsKKyAgdXNpbmcgOjpnZXR0aW1lb2ZkYXk7Cit9CisKKy8vIFNvbWUgbW9yZSBtYWNyby1tYWdpYzoKKy8vIHZ4V29ya3MtYXJvdW5kOiBTb21lIGZ1bmN0aW9ucyBhcmUgbm90IHByZXNlbnQgb3IgYnJva2VuIGluIHZ4V29ya3MKKy8vICAgICAgICAgICAgICAgICBidXQgbWF5IGJlIHBhdGNoZWQgdG8gbGlmZSB2aWEgaGVscGVyIG1hY3Jvcy4uLgorCisvLyBJbmNsdWRlIHNpZ25hbC5oIHdoaWNoIG1pZ2h0IGNvbnRhaW4gYSB0eXBvIHRvIGJlIGNvcnJlY3RlZCBoZXJlCisjaW5jbHVkZSA8c2lnbmFsLmg+CisKKyNkZWZpbmUgZ2V0cGFnZXNpemUoKSAgICBzeXNjb25mKF9TQ19QQUdFU0laRSkgICAgICAgICAvLyBnZXRwYWdlc2l6ZSBpcyBkZXByZWNhdGVkIGFueXdheSEKKyNpZm5kZWYgU19JU1NPQ0sKKyMgIGRlZmluZSBTX0lTU09DSyhtb2RlKSAoKG1vZGUgJiBTX0lGTVQpID09IFNfSUZTT0NLKSAvLyBJcyBmaWxlIGEgc29ja2V0PworI2VuZGlmCisjZGVmaW5lIGxzdGF0KHAsIGIpICAgICAgc3RhdChwLCBiKSAgICAgICAgICAgICAgICAgICAgLy8gbHN0YXQoKSA9PSBzdGF0KCksIGFzIHZ4V29ya3MgaGFzIG5vIHN5bWxpbmtzIQorI2lmbmRlZiBGUEVfRkxUSU5WCisjICBkZWZpbmUgRlBFX0ZMVElOViAgICAgKEZQRV9GTFRTVUIrMSkgICAgICAgICAgICAgICAgLy8gdnhXb3JrcyBoYXMgbm8gRlBFX0ZMVElOViwgc28gZGVmaW5lIG9uZSBhcyBhIGR1bW15CisjZW5kaWYKKyNpZiAhZGVmaW5lZChCVVNfQURSQUxOKSAmJiBkZWZpbmVkKEJVU19BRFJBTE5SKQorIyAgZGVmaW5lIEJVU19BRFJBTE4gICAgIEJVU19BRFJBTE5SICAgICAgICAgICAgICAgICAgIC8vIENvcnJlY3QgYSBzdXBwb3NlZCB0eXBvIGluIHZ4V29ya3MnIDxzaWduYWwuaD4KKyNlbmRpZgorLy90eXBlZGVmIGludCAgICAgICAgICAgICAgbG9jYWxlX3Q7ICAgICAgICAgICAgICAgICAgICAgLy8gbG9jYWxlX3QgaXMgYSBQT1NJWC1leHRlbnNpb24sIGN1cnJlbnRseSB1bnByZXNlbnQgaW4gdnhXb3JrcyEKKworLy8gI2luY2x1ZGUgYm9pbGVycGxhdGUgY29kZToKICNpbmNsdWRlIDxuZG5ib29zdC9jb25maWcvcG9zaXhfZmVhdHVyZXMuaHBwPgotIAorCisvLyB2eFdvcmtzIGxpZXMgYWJvdXQgWFNJIGNvbmZvcm1hbmNlLCB0aGVyZSBpcyBubyBubF90eXBlcy5oOgorI3VuZGVmIEJPT1NUX0hBU19OTF9UWVBFU19ICmRpZmYgLS1naXQgYS9uZG5ib29zdC9jb25maWcvcGxhdGZvcm0vd2luMzIuaHBwIGIvbmRuYm9vc3QvY29uZmlnL3BsYXRmb3JtL3dpbjMyLmhwcAppbmRleCAzOTIyMDEyLi42YWI1OWY0IDEwMDY0NAotLS0gYS9uZG5ib29zdC9jb25maWcvcGxhdGZvcm0vd2luMzIuaHBwCisrKyBiL25kbmJvb3N0L2NvbmZpZy9wbGF0Zm9ybS93aW4zMi5ocHAKQEAgLTMzLDcgKzMzLDkgQEAKIAogI2lmIGRlZmluZWQoX19NSU5HVzMyX18pICYmICgoX19NSU5HVzMyX01BSk9SX1ZFUlNJT04gPiAyKSB8fCAoKF9fTUlOR1czMl9NQUpPUl9WRVJTSU9OID09IDIpICYmIChfX01JTkdXMzJfTUlOT1JfVkVSU0lPTiA+PSAwKSkpCiAjICBkZWZpbmUgQk9PU1RfSEFTX1NURElOVF9ICi0jICBkZWZpbmUgX19TVERDX0xJTUlUX01BQ1JPUworIyAgaWZuZGVmIF9fU1REQ19MSU1JVF9NQUNST1MKKyMgICAgIGRlZmluZSBfX1NURENfTElNSVRfTUFDUk9TCisjICBlbmRpZgogIyAgZGVmaW5lIEJPT1NUX0hBU19ESVJFTlRfSAogIyAgZGVmaW5lIEJPT1NUX0hBU19VTklTVERfSAogI2VuZGlmCmRpZmYgLS1naXQgYS9uZG5ib29zdC9jb25maWcvc2VsZWN0X2NvbXBpbGVyX2NvbmZpZy5ocHAgYi9uZG5ib29zdC9jb25maWcvc2VsZWN0X2NvbXBpbGVyX2NvbmZpZy5ocHAKaW5kZXggZWE0N2Q0MC4uMmQzY2RlMyAxMDA2NDQKLS0tIGEvbmRuYm9vc3QvY29uZmlnL3NlbGVjdF9jb21waWxlcl9jb25maWcuaHBwCisrKyBiL25kbmJvb3N0L2NvbmZpZy9zZWxlY3RfY29tcGlsZXJfY29uZmlnLmhwcApAQCAtMzMsNiArMzMsMTAgQEAKIC8vIFBhdGhTY2FsZSBFS09QYXRoIGNvbXBpbGVyIChoYXMgdG8gY29tZSBiZWZvcmUgY2xhbmcgYW5kIGdjYykKICMgICBkZWZpbmUgQk9PU1RfQ09NUElMRVJfQ09ORklHICJuZG5ib29zdC9jb25maWcvY29tcGlsZXIvcGF0aHNjYWxlLmhwcCIKIAorI2VsaWYgZGVmaW5lZChfX0lOVEVMX0NPTVBJTEVSKSB8fCBkZWZpbmVkKF9fSUNMKSB8fCBkZWZpbmVkKF9fSUNDKSB8fCBkZWZpbmVkKF9fRUNDKQorLy8gIEludGVsCisjICAgZGVmaW5lIEJPT1NUX0NPTVBJTEVSX0NPTkZJRyAibmRuYm9vc3QvY29uZmlnL2NvbXBpbGVyL2ludGVsLmhwcCIKKwogI2VsaWYgZGVmaW5lZCBfX2NsYW5nX18KIC8vICBDbGFuZyBDKysgZW11bGF0ZXMgR0NDLCBzbyBpdCBoYXMgdG8gYXBwZWFyIGVhcmx5LgogIyAgIGRlZmluZSBCT09TVF9DT01QSUxFUl9DT05GSUcgIm5kbmJvb3N0L2NvbmZpZy9jb21waWxlci9jbGFuZy5ocHAiCkBAIC00MSwxMCArNDUsNiBAQAogLy8gIERpZ2l0YWwgTWFycyBDKysKICMgICBkZWZpbmUgQk9PU1RfQ09NUElMRVJfQ09ORklHICJuZG5ib29zdC9jb25maWcvY29tcGlsZXIvZGlnaXRhbG1hcnMuaHBwIgogCi0jZWxpZiBkZWZpbmVkKF9fSU5URUxfQ09NUElMRVIpIHx8IGRlZmluZWQoX19JQ0wpIHx8IGRlZmluZWQoX19JQ0MpIHx8IGRlZmluZWQoX19FQ0MpCi0vLyAgSW50ZWwKLSMgICBkZWZpbmUgQk9PU1RfQ09NUElMRVJfQ09ORklHICJuZG5ib29zdC9jb25maWcvY29tcGlsZXIvaW50ZWwuaHBwIgotCiAjIGVsaWYgZGVmaW5lZCBfX0dOVUNfXwogLy8gIEdOVSBDKys6CiAjICAgZGVmaW5lIEJPT1NUX0NPTVBJTEVSX0NPTkZJRyAibmRuYm9vc3QvY29uZmlnL2NvbXBpbGVyL2djYy5ocHAiCmRpZmYgLS1naXQgYS9uZG5ib29zdC9jb25maWcvc3RkbGliL2Rpbmt1bXdhcmUuaHBwIGIvbmRuYm9vc3QvY29uZmlnL3N0ZGxpYi9kaW5rdW13YXJlLmhwcAppbmRleCA4ZWU2YmNmLi5lYzdiOTg1IDEwMDY0NAotLS0gYS9uZG5ib29zdC9jb25maWcvc3RkbGliL2Rpbmt1bXdhcmUuaHBwCisrKyBiL25kbmJvb3N0L2NvbmZpZy9zdGRsaWIvZGlua3Vtd2FyZS5ocHAKQEAgLTg3LDcgKzg3LDcgQEAKICNlbmRpZgogCiAjaW5jbHVkZSA8dHlwZWluZm8+Ci0jaWYgKCAoIV9IQVNfRVhDRVBUSU9OUyAmJiAhZGVmaW5lZChfX2doc19fKSkgfHwgKCFfSEFTX05BTUVTUEFDRSAmJiBkZWZpbmVkKF9fZ2hzX18pKSApIAorI2lmICggKCFfSEFTX0VYQ0VQVElPTlMgJiYgIWRlZmluZWQoX19naHNfXykpIHx8ICghX0hBU19OQU1FU1BBQ0UgJiYgZGVmaW5lZChfX2doc19fKSkgKSAmJiAhZGVmaW5lZChfX1RJX0NPTVBJTEVSX1ZFUlNJT05fXykKICMgIGRlZmluZSBCT09TVF9OT19TVERfVFlQRUlORk8gICAgCiAjZW5kaWYgIAogCmRpZmYgLS1naXQgYS9uZG5ib29zdC9jb25maWcvc3RkbGliL2xpYnN0ZGNwcDMuaHBwIGIvbmRuYm9vc3QvY29uZmlnL3N0ZGxpYi9saWJzdGRjcHAzLmhwcAppbmRleCBjNTZkZmYyLi45NzZhYjc2IDEwMDY0NAotLS0gYS9uZG5ib29zdC9jb25maWcvc3RkbGliL2xpYnN0ZGNwcDMuaHBwCisrKyBiL25kbmJvb3N0L2NvbmZpZy9zdGRsaWIvbGlic3RkY3BwMy5ocHAKQEAgLTM1LDcgKzM1LDggQEAKICMgIGlmIGRlZmluZWQoX0dMSUJDWFhfSEFWRV9HVEhSX0RFRkFVTFQpIFwKICAgICAgICAgfHwgZGVmaW5lZChfR0xJQkNYWF9fUFRIUkVBRFMpIFwKICAgICAgICAgfHwgZGVmaW5lZChfR0xJQkNYWF9IQVNfR1RIUkVBRFMpIFwKLSAgICAgICAgfHwgZGVmaW5lZChfV0lOMzIpCisgICAgICAgIHx8IGRlZmluZWQoX1dJTjMyKSBcCisgICAgICAgIHx8IGRlZmluZWQoX0FJWCkKICAgICAgIC8vCiAgICAgICAvLyBJZiB0aGUgc3RkIGxpYiBoYXMgdGhyZWFkIHN1cHBvcnQgdHVybmVkIG9uLCB0aGVuIHR1cm4gaXQgb24gaW4gQm9vc3QKICAgICAgIC8vIGFzIHdlbGwuICBXZSBkbyB0aGlzIGJlY2F1c2Ugc29tZSBnY2MtMy40IHN0ZCBsaWIgaGVhZGVycyBkZWZpbmUgX1JFRU5UQU5UCmRpZmYgLS1naXQgYS9uZG5ib29zdC9jb25maWcvc3VmZml4LmhwcCBiL25kbmJvb3N0L2NvbmZpZy9zdWZmaXguaHBwCmluZGV4IGZjMWVlZWIuLjlmODkwMjkgMTAwNjQ0Ci0tLSBhL25kbmJvb3N0L2NvbmZpZy9zdWZmaXguaHBwCisrKyBiL25kbmJvb3N0L2NvbmZpZy9zdWZmaXguaHBwCkBAIC02NDEsNyArNjQxLDggQEAKICMgIGlmIGRlZmluZWQoX01TQ19WRVIpCiAjICAgIGRlZmluZSBCT09TVF9GT1JDRUlOTElORSBfX2ZvcmNlaW5saW5lCiAjICBlbGlmIGRlZmluZWQoX19HTlVDX18pICYmIF9fR05VQ19fID4gMwotIyAgICBkZWZpbmUgQk9PU1RfRk9SQ0VJTkxJTkUgaW5saW5lIF9fYXR0cmlidXRlX18gKChhbHdheXNfaW5saW5lKSkKKyAgICAgLy8gQ2xhbmcgYWxzbyBkZWZpbmVzIF9fR05VQ19fIChhcyA0KQorIyAgICBkZWZpbmUgQk9PU1RfRk9SQ0VJTkxJTkUgaW5saW5lIF9fYXR0cmlidXRlX18gKChfX2Fsd2F5c19pbmxpbmVfXykpCiAjICBlbHNlCiAjICAgIGRlZmluZSBCT09TVF9GT1JDRUlOTElORSBpbmxpbmUKICMgIGVuZGlmCkBAIC02NzEsNyArNjcyLDcgQEAKICNlbmRpZgogCiAvLyAgVXNlIEJPT1NUX05PX0NYWDExX0hEUl9BUlJBWSBpbnN0ZWFkIG9mIEJPT1NUX05PXzBYX0hEUl9BUlJBWQotI2lmIGRlZmluZWQoQk9PU1RfTk9fQ1hYMTFfSERSX0FSUkFZKSAmJiAhZGVmaW5lZChCT09TVF9OT19CT09TVF9OT18wWF9IRFJfQVJSQVkpCisjaWYgZGVmaW5lZChCT09TVF9OT19DWFgxMV9IRFJfQVJSQVkpICYmICFkZWZpbmVkKEJPT1NUX05PXzBYX0hEUl9BUlJBWSkKICMgIGRlZmluZSBCT09TVF9OT18wWF9IRFJfQVJSQVkKICNlbmRpZgogLy8gIFVzZSBCT09TVF9OT19DWFgxMV9IRFJfQ0hST05PIGluc3RlYWQgb2YgQk9PU1RfTk9fMFhfSERSX0NIUk9OTwpAQCAtODc0LDEzICs4NzUsMjUgQEAKIC8vCiAjaWZkZWYgQk9PU1RfTk9fQ1hYMTFfTk9FWENFUFQKICMgIGRlZmluZSBCT09TVF9OT0VYQ0VQVAorIyAgZGVmaW5lIEJPT1NUX05PRVhDRVBUX09SX05PVEhST1cgdGhyb3coKQogIyAgZGVmaW5lIEJPT1NUX05PRVhDRVBUX0lGKFByZWRpY2F0ZSkKICMgIGRlZmluZSBCT09TVF9OT0VYQ0VQVF9FWFBSKEV4cHJlc3Npb24pIGZhbHNlCiAjZWxzZQogIyAgZGVmaW5lIEJPT1NUX05PRVhDRVBUIG5vZXhjZXB0CisjICBkZWZpbmUgQk9PU1RfTk9FWENFUFRfT1JfTk9USFJPVyBub2V4Y2VwdAogIyAgZGVmaW5lIEJPT1NUX05PRVhDRVBUX0lGKFByZWRpY2F0ZSkgbm9leGNlcHQoKFByZWRpY2F0ZSkpCiAjICBkZWZpbmUgQk9PU1RfTk9FWENFUFRfRVhQUihFeHByZXNzaW9uKSBub2V4Y2VwdCgoRXhwcmVzc2lvbikpCiAjZW5kaWYKKy8vCisvLyBIZWxwZXIgbWFjcm8gQk9PU1RfRkFMTFRIUk9VR0ggCisvLyBGYWxsYmFjayBkZWZpbml0aW9uIG9mIEJPT1NUX0ZBTExUSFJPVUdIIG1hY3JvIHVzZWQgdG8gbWFyayBpbnRlbmRlZCAKKy8vIGZhbGwtdGhyb3VnaCBiZXR3ZWVuIGNhc2UgbGFiZWxzIGluIGEgc3dpdGNoIHN0YXRlbWVudC4gV2UgdXNlIGEgZGVmaW5pdGlvbiAKKy8vIHRoYXQgcmVxdWlyZXMgYSBzZW1pY29sb24gYWZ0ZXIgaXQgdG8gYXZvaWQgYXQgbGVhc3Qgb25lIHR5cGUgb2YgbWlzdXNlIGV2ZW4gCisvLyBvbiB1bnN1cHBvcnRlZCBjb21waWxlcnMuIAorLy8gCisjaWZuZGVmIEJPT1NUX0ZBTExUSFJPVUdIIAorIyAgZGVmaW5lIEJPT1NUX0ZBTExUSFJPVUdIICgodm9pZCkwKSAKKyNlbmRpZiAKIAogLy8KIC8vIGNvbnN0ZXhwciB3b3JrYXJvdW5kcwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvY29udGFpbmVyL2FsbG9jYXRvcl90cmFpdHMuaHBwIGIvbmRuYm9vc3QvY29udGFpbmVyL2FsbG9jYXRvcl90cmFpdHMuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMxZTBjZWIKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9jb250YWluZXIvYWxsb2NhdG9yX3RyYWl0cy5ocHAKQEAgLTAsMCArMSw0MDAgQEAKKy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworLy8KKy8vIChDKSBDb3B5cmlnaHQgUGFibG8gSGFscGVybiAyMDA5LiBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QKKy8vIFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAoU2VlIGFjY29tcGFueWluZyBmaWxlCisvLyBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCisvLworLy8gKEMpIENvcHlyaWdodCBJb24gR2F6dGFuYWdhIDIwMTEtMjAxMi4gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0CisvLyBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZQorLy8gTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKy8vIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL2NvbnRhaW5lciBmb3IgZG9jdW1lbnRhdGlvbi4KKy8vCisvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKworI2lmbmRlZiBCT09TVF9DT05UQUlORVJfQUxMT0NBVE9SX0FMTE9DQVRPUl9UUkFJVFNfSFBQCisjZGVmaW5lIEJPT1NUX0NPTlRBSU5FUl9BTExPQ0FUT1JfQUxMT0NBVE9SX1RSQUlUU19IUFAKKworI2lmIChkZWZpbmVkIF9NU0NfVkVSKSAmJiAoX01TQ19WRVIgPj0gMTIwMCkKKyMgIHByYWdtYSBvbmNlCisjZW5kaWYKKworI2luY2x1ZGUgPG5kbmJvb3N0L2NvbnRhaW5lci9kZXRhaWwvY29uZmlnX2JlZ2luLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9jb250YWluZXIvZGV0YWlsL3dvcmthcm91bmQuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L2ludHJ1c2l2ZS9wb2ludGVyX3RyYWl0cy5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvaW50cnVzaXZlL2RldGFpbC9tZW1vcnlfdXRpbC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvY29udGFpbmVyL2RldGFpbC9tZW1vcnlfdXRpbC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvaW50ZWdyYWxfY29uc3RhbnQuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L2NvbnRhaW5lci9kZXRhaWwvbXBsLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tb3ZlL3V0aWxpdHkuaHBwPgorI2luY2x1ZGUgPGxpbWl0cz4gLy9udW1lcmljX2xpbWl0czw+OjptYXgoKQorI2luY2x1ZGUgPG5ldz4gICAgLy9wbGFjZW1lbnQgbmV3CisjaW5jbHVkZSA8bWVtb3J5PiAvL3N0ZDo6YWxsb2NhdG9yCisKKyNpZiBkZWZpbmVkKEJPT1NUX05PX0NYWDExX1ZBUklBRElDX1RFTVBMQVRFUykKKyNpbmNsdWRlIDxuZG5ib29zdC9jb250YWluZXIvZGV0YWlsL3ByZXByb2Nlc3Nvci5ocHA+CisjZW5kaWYKKworLy8vQGNvbmQKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsKK25hbWVzcGFjZSBjb250YWluZXIgeworbmFtZXNwYWNlIGNvbnRhaW5lcl9kZXRhaWwgeworCisvL3dvcmthcm91bmQgbmVlZGVkIGZvciBDKyswMyBjb21waWxlcnMgd2l0aCBubyBjb25zdHJ1Y3QoKQorLy9zdXBwb3J0aW5nIHJ2YWx1ZSByZWZlcmVuY2VzCit0ZW1wbGF0ZTxjbGFzcyBBPgorc3RydWN0IGlzX3N0ZF9hbGxvY2F0b3IKK3sgIHN0YXRpYyBjb25zdCBib29sIHZhbHVlID0gZmFsc2U7IH07CisKK3RlbXBsYXRlPGNsYXNzIFQ+CitzdHJ1Y3QgaXNfc3RkX2FsbG9jYXRvcjwgc3RkOjphbGxvY2F0b3I8VD4gPgoreyAgc3RhdGljIGNvbnN0IGJvb2wgdmFsdWUgPSB0cnVlOyB9OworCit9ICAvL25hbWVzcGFjZSBjb250YWluZXJfZGV0YWlsIHsKKworLy8vQGVuZGNvbmQKKworLy8hIFRoZSBjbGFzcyB0ZW1wbGF0ZSBhbGxvY2F0b3JfdHJhaXRzIHN1cHBsaWVzIGEgdW5pZm9ybSBpbnRlcmZhY2UgdG8gYWxsIGFsbG9jYXRvciB0eXBlcy4KKy8vISBUaGlzIGNsYXNzIGlzIGEgQysrMDMtY29tcGF0aWJsZSBpbXBsZW1lbnRhdGlvbiBvZiBzdGQ6OmFsbG9jYXRvcl90cmFpdHMKK3RlbXBsYXRlIDx0eXBlbmFtZSBBbGxvYz4KK3N0cnVjdCBhbGxvY2F0b3JfdHJhaXRzCit7CisgICAvL2FsbG9jYXRvcl90eXBlCisgICB0eXBlZGVmIEFsbG9jIGFsbG9jYXRvcl90eXBlOworICAgLy92YWx1ZV90eXBlCisgICB0eXBlZGVmIHR5cGVuYW1lIEFsbG9jOjp2YWx1ZV90eXBlICAgICAgICAgdmFsdWVfdHlwZTsKKworICAgI2lmIGRlZmluZWQoQk9PU1RfQ09OVEFJTkVSX0RPWFlHRU5fSU5WT0tFRCkKKyAgICAgIC8vISBBbGxvYzo6cG9pbnRlciBpZiBzdWNoIGEgdHlwZSBleGlzdHM7IG90aGVyd2lzZSwgdmFsdWVfdHlwZSoKKyAgICAgIC8vIQorICAgICAgdHlwZWRlZiB1bnNwZWNpZmllZCBwb2ludGVyOworICAgICAgLy8hIEFsbG9jOjpjb25zdF9wb2ludGVyIGlmIHN1Y2ggYSB0eXBlIGV4aXN0cyA7IG90aGVyd2lzZSwgcG9pbnRlcl90cmFpdHM8cG9pbnRlcj46OnJlYmluZDxjb25zdAorICAgICAgLy8hCisgICAgICB0eXBlZGVmIHNlZV9kb2N1bWVudGF0aW9uIGNvbnN0X3BvaW50ZXI7CisgICAgICAvLyEgTm9uLXN0YW5kYXJkIGV4dGVuc2lvbgorICAgICAgLy8hIEFsbG9jOjpyZWZlcmVuY2UgaWYgc3VjaCBhIHR5cGUgZXhpc3RzOyBvdGhlcndpc2UsIHZhbHVlX3R5cGUmCisgICAgICB0eXBlZGVmIHNlZV9kb2N1bWVudGF0aW9uIHJlZmVyZW5jZTsKKyAgICAgIC8vISBOb24tc3RhbmRhcmQgZXh0ZW5zaW9uCisgICAgICAvLyEgQWxsb2M6OmNvbnN0X3JlZmVyZW5jZSBpZiBzdWNoIGEgdHlwZSBleGlzdHMgOyBvdGhlcndpc2UsIGNvbnN0IHZhbHVlX3R5cGUmCisgICAgICB0eXBlZGVmIHNlZV9kb2N1bWVudGF0aW9uIGNvbnN0X3JlZmVyZW5jZTsKKyAgICAgIC8vISBBbGxvYzo6dm9pZF9wb2ludGVyIGlmIHN1Y2ggYSB0eXBlIGV4aXN0cyA7IG90aGVyd2lzZSwgcG9pbnRlcl90cmFpdHM8cG9pbnRlcj46OnJlYmluZDx2b2lkPi4KKyAgICAgIC8vIQorICAgICAgdHlwZWRlZiBzZWVfZG9jdW1lbnRhdGlvbiB2b2lkX3BvaW50ZXI7CisgICAgICAvLyEgQWxsb2M6OmNvbnN0X3ZvaWRfcG9pbnRlciBpZiBzdWNoIGEgdHlwZSBleGlzdHMgOyBvdGhlcndpcyBlLCBwb2ludGVyX3RyYWl0czxwb2ludGVyPjo6cmViaW5kPGNvbnN0CisgICAgICAvLyEKKyAgICAgIHR5cGVkZWYgc2VlX2RvY3VtZW50YXRpb24gY29uc3Rfdm9pZF9wb2ludGVyOworICAgICAgLy8hIEFsbG9jOjpkaWZmZXJlbmNlX3R5cGUgaWYgc3VjaCBhIHR5cGUgZXhpc3RzIDsgb3RoZXJ3aXNlLCBwb2ludGVyX3RyYWl0czxwb2ludGVyPjo6ZGlmZmVyZW5jZV90eXBlLgorICAgICAgLy8hCisgICAgICB0eXBlZGVmIHNlZV9kb2N1bWVudGF0aW9uIGRpZmZlcmVuY2VfdHlwZTsKKyAgICAgIC8vISBBbGxvYzo6c2l6ZV90eXBlIGlmIHN1Y2ggYSB0eXBlIGV4aXN0cyA7IG90aGVyd2lzZSwgbWFrZV91bnNpZ25lZDxkaWZmZXJlbmNlX3R5cGU+Ojp0eXBlCisgICAgICAvLyEKKyAgICAgIHR5cGVkZWYgc2VlX2RvY3VtZW50YXRpb24gc2l6ZV90eXBlOworICAgICAgLy8hIEFsbG9jOjpwcm9wYWdhdGVfb25fY29udGFpbmVyX2NvcHlfYXNzaWdubWVudCBpZiBzdWNoIGEgdHlwZSBleGlzdHMsIG90aGVyd2lzZSBhbiBpbnRlZ3JhbF9jb25zdGFudAorICAgICAgLy8hIHR5cGUgd2l0aCBpbnRlcm5hbCBjb25zdGFudCBzdGF0aWMgbWVtYmVyIGB2YWx1ZWAgPT0gZmFsc2UuCisgICAgICB0eXBlZGVmIHNlZV9kb2N1bWVudGF0aW9uIHByb3BhZ2F0ZV9vbl9jb250YWluZXJfY29weV9hc3NpZ25tZW50OworICAgICAgLy8hIEFsbG9jOjpwcm9wYWdhdGVfb25fY29udGFpbmVyX21vdmVfYXNzaWdubWVudCBpZiBzdWNoIGEgdHlwZSBleGlzdHMsIG90aGVyd2lzZSBhbiBpbnRlZ3JhbF9jb25zdGFudAorICAgICAgLy8hIHR5cGUgd2l0aCBpbnRlcm5hbCBjb25zdGFudCBzdGF0aWMgbWVtYmVyIGB2YWx1ZWAgPT0gZmFsc2UuCisgICAgICB0eXBlZGVmIHNlZV9kb2N1bWVudGF0aW9uIHByb3BhZ2F0ZV9vbl9jb250YWluZXJfbW92ZV9hc3NpZ25tZW50OworICAgICAgLy8hIEFsbG9jOjpwcm9wYWdhdGVfb25fY29udGFpbmVyX3N3YXAgaWYgc3VjaCBhIHR5cGUgZXhpc3RzLCBvdGhlcndpc2UgYW4gaW50ZWdyYWxfY29uc3RhbnQKKyAgICAgIC8vISB0eXBlIHdpdGggaW50ZXJuYWwgY29uc3RhbnQgc3RhdGljIG1lbWJlciBgdmFsdWVgID09IGZhbHNlLgorICAgICAgdHlwZWRlZiBzZWVfZG9jdW1lbnRhdGlvbiBwcm9wYWdhdGVfb25fY29udGFpbmVyX3N3YXA7CisgICAgICAvLyEgRGVmaW5lcyBhbiBhbGxvY2F0b3I6IEFsbG9jOjpyZWJpbmQ8VD46Om90aGVyIGlmIHN1Y2ggYSB0eXBlIGV4aXN0czsgb3RoZXJ3aXNlLCBBbGxvYzxULCBBcmdzPgorICAgICAgLy8hIGlmIEFsbG9jIGlzIGEgY2xhc3MgdGVtcGxhdGUgaW5zdGFudGlhdGlvbiBvZiB0aGUgZm9ybSBBbGxvYzxVLCBBcmdzPiwgd2hlcmUgQXJncyBpcyB6ZXJvIG9yCisgICAgICAvLyEgbW9yZSB0eXBlIGFyZ3VtZW50cyA7IG90aGVyd2lzZSwgdGhlIGluc3RhbnRpYXRpb24gb2YgcmViaW5kX2FsbG9jIGlzIGlsbC1mb3JtZWQuCisgICAgICAvLyEKKyAgICAgIC8vISBJbiBDKyswMyBjb21waWxlcnMgYHJlYmluZF9hbGxvY2AgaXMgYSBzdHJ1Y3QgZGVyaXZlZCBmcm9tIGFuIGFsbG9jYXRvcgorICAgICAgLy8hIGRlZHVjZWQgYnkgcHJldmlvdXNseSBkZXRhaWxlZCBydWxlcy4KKyAgICAgIHRlbXBsYXRlIDxjbGFzcyBUPiB1c2luZyByZWJpbmRfYWxsb2MgPSBzZWVfZG9jdW1lbnRhdGlvbjsKKworICAgICAgLy8hIEluIEMrKzAzIGNvbXBpbGVycyBgcmViaW5kX3RyYWl0c2AgaXMgYSBzdHJ1Y3QgZGVyaXZlZCBmcm9tCisgICAgICAvLyEgYGFsbG9jYXRvcl90cmFpdHM8T3RoZXJBbGxvYz5gLCB3aGVyZSBgT3RoZXJBbGxvY2AgaXMKKyAgICAgIC8vISB0aGUgYWxsb2NhdG9yIGRlZHVjZWQgYnkgcnVsZXMgZXhwbGFpbmVkIGluIGByZWJpbmRfYWxsb2NgLgorICAgICAgdGVtcGxhdGUgPGNsYXNzIFQ+IHVzaW5nIHJlYmluZF90cmFpdHMgPSBhbGxvY2F0b3JfdHJhaXRzPHJlYmluZF9hbGxvYzxUPiA+OworCisgICAgICAvLyEgTm9uLXN0YW5kYXJkIGV4dGVuc2lvbjogUG9ydGFibGUgYWxsb2NhdG9yIHJlYmluZCBmb3IgQysrMDMgYW5kIEMrKzExIGNvbXBpbGVycy4KKyAgICAgIC8vISBgdHlwZWAgaXMgYW4gYWxsb2NhdG9yIHJlbGF0ZWQgdG8gQWxsb2MgZGVkdWNlZCBkZWR1Y2VkIGJ5IHJ1bGVzIGV4cGxhaW5lZCBpbiBgcmViaW5kX2FsbG9jYC4KKyAgICAgIHRlbXBsYXRlIDxjbGFzcyBUPgorICAgICAgc3RydWN0IHBvcnRhYmxlX3JlYmluZF9hbGxvYworICAgICAgeyAgdHlwZWRlZiBzZWVfZG9jdW1lbnRhdGlvbiB0eXBlOyAgfTsKKyAgICNlbHNlCisgICAgICAvL3BvaW50ZXIKKyAgICAgIHR5cGVkZWYgQk9PU1RfSU5UUlVTSVZFX09CVEFJTl9UWVBFX1dJVEhfREVGQVVMVChuZG5ib29zdDo6Y29udGFpbmVyOjpjb250YWluZXJfZGV0YWlsOjosIEFsbG9jLAorICAgICAgICAgcG9pbnRlciwgdmFsdWVfdHlwZSopCisgICAgICAgICAgICBwb2ludGVyOworICAgICAgLy9jb25zdF9wb2ludGVyCisgICAgICB0eXBlZGVmIEJPT1NUX0lOVFJVU0lWRV9PQlRBSU5fVFlQRV9XSVRIX0VWQUxfREVGQVVMVChuZG5ib29zdDo6Y29udGFpbmVyOjpjb250YWluZXJfZGV0YWlsOjosIEFsbG9jLAorICAgICAgICAgY29uc3RfcG9pbnRlciwgdHlwZW5hbWUgbmRuYm9vc3Q6OmludHJ1c2l2ZTo6cG9pbnRlcl90cmFpdHM8cG9pbnRlcj46OnRlbXBsYXRlCisgICAgICAgICAgICByZWJpbmRfcG9pbnRlcjxjb25zdCB2YWx1ZV90eXBlPikKKyAgICAgICAgICAgICAgIGNvbnN0X3BvaW50ZXI7CisgICAgICAvL3JlZmVyZW5jZQorICAgICAgdHlwZWRlZiBCT09TVF9JTlRSVVNJVkVfT0JUQUlOX1RZUEVfV0lUSF9ERUZBVUxUKG5kbmJvb3N0Ojpjb250YWluZXI6OmNvbnRhaW5lcl9kZXRhaWw6OiwgQWxsb2MsCisgICAgICAgICByZWZlcmVuY2UsIHR5cGVuYW1lIGNvbnRhaW5lcl9kZXRhaWw6OnVudm9pZDx2YWx1ZV90eXBlPjo6dHlwZSYpCisgICAgICAgICAgICByZWZlcmVuY2U7CisgICAgICAvL2NvbnN0X3JlZmVyZW5jZQorICAgICAgdHlwZWRlZiBCT09TVF9JTlRSVVNJVkVfT0JUQUlOX1RZUEVfV0lUSF9ERUZBVUxUKG5kbmJvb3N0Ojpjb250YWluZXI6OmNvbnRhaW5lcl9kZXRhaWw6OiwgQWxsb2MsCisgICAgICAgICBjb25zdF9yZWZlcmVuY2UsIGNvbnN0IHR5cGVuYW1lIGNvbnRhaW5lcl9kZXRhaWw6OnVudm9pZDx2YWx1ZV90eXBlPjo6dHlwZSYpCisgICAgICAgICAgICAgICBjb25zdF9yZWZlcmVuY2U7CisgICAgICAvL3ZvaWRfcG9pbnRlcgorICAgICAgdHlwZWRlZiBCT09TVF9JTlRSVVNJVkVfT0JUQUlOX1RZUEVfV0lUSF9FVkFMX0RFRkFVTFQobmRuYm9vc3Q6OmNvbnRhaW5lcjo6Y29udGFpbmVyX2RldGFpbDo6LCBBbGxvYywKKyAgICAgICAgIHZvaWRfcG9pbnRlciwgdHlwZW5hbWUgbmRuYm9vc3Q6OmludHJ1c2l2ZTo6cG9pbnRlcl90cmFpdHM8cG9pbnRlcj46OnRlbXBsYXRlCisgICAgICAgICAgICByZWJpbmRfcG9pbnRlcjx2b2lkPikKKyAgICAgICAgICAgICAgIHZvaWRfcG9pbnRlcjsKKyAgICAgIC8vY29uc3Rfdm9pZF9wb2ludGVyCisgICAgICB0eXBlZGVmIEJPT1NUX0lOVFJVU0lWRV9PQlRBSU5fVFlQRV9XSVRIX0VWQUxfREVGQVVMVChuZG5ib29zdDo6Y29udGFpbmVyOjpjb250YWluZXJfZGV0YWlsOjosIEFsbG9jLAorICAgICAgICAgY29uc3Rfdm9pZF9wb2ludGVyLCB0eXBlbmFtZSBuZG5ib29zdDo6aW50cnVzaXZlOjpwb2ludGVyX3RyYWl0czxwb2ludGVyPjo6dGVtcGxhdGUKKyAgICAgICAgICAgIHJlYmluZF9wb2ludGVyPGNvbnN0IHZvaWQ+KQorICAgICAgICAgICAgICAgY29uc3Rfdm9pZF9wb2ludGVyOworICAgICAgLy9kaWZmZXJlbmNlX3R5cGUKKyAgICAgIHR5cGVkZWYgQk9PU1RfSU5UUlVTSVZFX09CVEFJTl9UWVBFX1dJVEhfREVGQVVMVChuZG5ib29zdDo6Y29udGFpbmVyOjpjb250YWluZXJfZGV0YWlsOjosIEFsbG9jLAorICAgICAgICAgZGlmZmVyZW5jZV90eXBlLCBzdGQ6OnB0cmRpZmZfdCkKKyAgICAgICAgICAgIGRpZmZlcmVuY2VfdHlwZTsKKyAgICAgIC8vc2l6ZV90eXBlCisgICAgICB0eXBlZGVmIEJPT1NUX0lOVFJVU0lWRV9PQlRBSU5fVFlQRV9XSVRIX0RFRkFVTFQobmRuYm9vc3Q6OmNvbnRhaW5lcjo6Y29udGFpbmVyX2RldGFpbDo6LCBBbGxvYywKKyAgICAgICAgIHNpemVfdHlwZSwgc3RkOjpzaXplX3QpCisgICAgICAgICAgICBzaXplX3R5cGU7CisgICAgICAvL3Byb3BhZ2F0ZV9vbl9jb250YWluZXJfY29weV9hc3NpZ25tZW50CisgICAgICB0eXBlZGVmIEJPT1NUX0lOVFJVU0lWRV9PQlRBSU5fVFlQRV9XSVRIX0RFRkFVTFQobmRuYm9vc3Q6OmNvbnRhaW5lcjo6Y29udGFpbmVyX2RldGFpbDo6LCBBbGxvYywKKyAgICAgICAgIHByb3BhZ2F0ZV9vbl9jb250YWluZXJfY29weV9hc3NpZ25tZW50LCBuZG5ib29zdDo6ZmFsc2VfdHlwZSkKKyAgICAgICAgICAgIHByb3BhZ2F0ZV9vbl9jb250YWluZXJfY29weV9hc3NpZ25tZW50OworICAgICAgLy9wcm9wYWdhdGVfb25fY29udGFpbmVyX21vdmVfYXNzaWdubWVudAorICAgICAgdHlwZWRlZiBCT09TVF9JTlRSVVNJVkVfT0JUQUlOX1RZUEVfV0lUSF9ERUZBVUxUKG5kbmJvb3N0Ojpjb250YWluZXI6OmNvbnRhaW5lcl9kZXRhaWw6OiwgQWxsb2MsCisgICAgICAgICBwcm9wYWdhdGVfb25fY29udGFpbmVyX21vdmVfYXNzaWdubWVudCwgbmRuYm9vc3Q6OmZhbHNlX3R5cGUpCisgICAgICAgICAgICBwcm9wYWdhdGVfb25fY29udGFpbmVyX21vdmVfYXNzaWdubWVudDsKKyAgICAgIC8vcHJvcGFnYXRlX29uX2NvbnRhaW5lcl9zd2FwCisgICAgICB0eXBlZGVmIEJPT1NUX0lOVFJVU0lWRV9PQlRBSU5fVFlQRV9XSVRIX0RFRkFVTFQobmRuYm9vc3Q6OmNvbnRhaW5lcjo6Y29udGFpbmVyX2RldGFpbDo6LCBBbGxvYywKKyAgICAgICAgIHByb3BhZ2F0ZV9vbl9jb250YWluZXJfc3dhcCwgbmRuYm9vc3Q6OmZhbHNlX3R5cGUpCisgICAgICAgICAgICBwcm9wYWdhdGVfb25fY29udGFpbmVyX3N3YXA7CisKKyAgICAgICNpZiAhZGVmaW5lZChCT09TVF9OT19DWFgxMV9URU1QTEFURV9BTElBU0VTKQorICAgICAgICAgLy9DKysxMQorICAgICAgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFQ+IHVzaW5nIHJlYmluZF9hbGxvYyAgPSB0eXBlbmFtZSBuZG5ib29zdDo6aW50cnVzaXZlOjpkZXRhaWw6OnR5cGVfcmViaW5kZXI8QWxsb2MsIFQ+Ojp0eXBlOworICAgICAgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFQ+IHVzaW5nIHJlYmluZF90cmFpdHMgPSBhbGxvY2F0b3JfdHJhaXRzPCByZWJpbmRfYWxsb2M8VD4gPjsKKyAgICAgICNlbHNlICAgIC8vICNpZiAhZGVmaW5lZChCT09TVF9OT19DWFgxMV9URU1QTEFURV9BTElBU0VTKQorICAgICAgICAgLy9Tb21lIHdvcmthcm91bmQgZm9yIEMrKzAzIG9yIEMrKzExIGNvbXBpbGVycyB3aXRoIG5vIHRlbXBsYXRlIGFsaWFzZXMKKyAgICAgICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgorICAgICAgICAgc3RydWN0IHJlYmluZF9hbGxvYyA6IG5kbmJvb3N0OjppbnRydXNpdmU6OmRldGFpbDo6dHlwZV9yZWJpbmRlcjxBbGxvYyxUPjo6dHlwZQorICAgICAgICAgeworICAgICAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBuZG5ib29zdDo6aW50cnVzaXZlOjpkZXRhaWw6OnR5cGVfcmViaW5kZXI8QWxsb2MsVD46OnR5cGUgQmFzZTsKKyAgICAgICAgICAgICNpZiAhZGVmaW5lZChCT09TVF9OT19DWFgxMV9WQVJJQURJQ19URU1QTEFURVMpCisgICAgICAgICAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUuLi4gQXJncz4KKyAgICAgICAgICAgIHJlYmluZF9hbGxvYyhCT09TVF9GV0RfUkVGKEFyZ3MpLi4uIGFyZ3MpCisgICAgICAgICAgICAgICA6IEJhc2UobmRuYm9vc3Q6OmZvcndhcmQ8QXJncz4oYXJncykuLi4pCisgICAgICAgICAgICB7fQorICAgICAgICAgICAgI2Vsc2UgICAgLy8gI2lmICFkZWZpbmVkKEJPT1NUX05PX0NYWDExX1ZBUklBRElDX1RFTVBMQVRFUykKKyAgICAgICAgICAgICNkZWZpbmUgQk9PU1RfUFBfTE9DQUxfTUFDUk8obikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgIEJPT1NUX1BQX0VYUFJfSUYobiwgdGVtcGxhdGU8KSBCT09TVF9QUF9FTlVNX1BBUkFNUyhuLCBjbGFzcyBQKSBCT09TVF9QUF9FWFBSX0lGKG4sID4pIFwKKyAgICAgICAgICAgIHJlYmluZF9hbGxvYyhCT09TVF9QUF9FTlVNKG4sIEJPT1NUX0NPTlRBSU5FUl9QUF9QQVJBTV9MSVNULCBfKSkgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgIDogQmFzZShCT09TVF9QUF9FTlVNKG4sIEJPT1NUX0NPTlRBSU5FUl9QUF9QQVJBTV9GT1JXQVJELCBfKSkgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgIHt9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgIC8vCisgICAgICAgICAgICAjZGVmaW5lIEJPT1NUX1BQX0xPQ0FMX0xJTUlUUyAoMCwgQk9PU1RfQ09OVEFJTkVSX01BWF9DT05TVFJVQ1RPUl9QQVJBTUVURVJTKQorICAgICAgICAgICAgI2luY2x1ZGUgQk9PU1RfUFBfTE9DQUxfSVRFUkFURSgpCisgICAgICAgICAgICAjZW5kaWYgICAvLyAjaWYgIWRlZmluZWQoQk9PU1RfTk9fQ1hYMTFfVkFSSUFESUNfVEVNUExBVEVTKQorICAgICAgICAgfTsKKworICAgICAgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFQ+CisgICAgICAgICBzdHJ1Y3QgcmViaW5kX3RyYWl0cworICAgICAgICAgICAgOiBhbGxvY2F0b3JfdHJhaXRzPHR5cGVuYW1lIG5kbmJvb3N0OjppbnRydXNpdmU6OmRldGFpbDo6dHlwZV9yZWJpbmRlcjxBbGxvYywgVD46OnR5cGU+CisgICAgICAgICB7fTsKKyAgICAgICNlbmRpZiAgIC8vICNpZiAhZGVmaW5lZChCT09TVF9OT19DWFgxMV9URU1QTEFURV9BTElBU0VTKQorICAgICAgdGVtcGxhdGUgPGNsYXNzIFQ+CisgICAgICBzdHJ1Y3QgcG9ydGFibGVfcmViaW5kX2FsbG9jCisgICAgICB7ICB0eXBlZGVmIHR5cGVuYW1lIG5kbmJvb3N0OjppbnRydXNpdmU6OmRldGFpbDo6dHlwZV9yZWJpbmRlcjxBbGxvYywgVD46OnR5cGUgdHlwZTsgIH07CisgICAjZW5kaWYgICAvL0JPT1NUX0NPTlRBSU5FUl9ET1hZR0VOX0lOVk9LRUQKKworICAgLy8hIDxiPlJldHVybnM8L2I+OiBgYS5hbGxvY2F0ZShuKWAKKyAgIC8vIQorICAgc3RhdGljIHBvaW50ZXIgYWxsb2NhdGUoQWxsb2MgJmEsIHNpemVfdHlwZSBuKQorICAgeyAgcmV0dXJuIGEuYWxsb2NhdGUobik7ICB9CisKKyAgIC8vISA8Yj5SZXR1cm5zPC9iPjogYGEuZGVhbGxvY2F0ZShwLCBuKWAKKyAgIC8vIQorICAgLy8hIDxiPlRocm93czwvYj46IE5vdGhpbmcKKyAgIHN0YXRpYyB2b2lkIGRlYWxsb2NhdGUoQWxsb2MgJmEsIHBvaW50ZXIgcCwgc2l6ZV90eXBlIG4pCisgICB7ICBhLmRlYWxsb2NhdGUocCwgbik7ICB9CisKKyAgIC8vISA8Yj5FZmZlY3RzPC9iPjogY2FsbHMgYGEuYWxsb2NhdGUobiwgcClgIGlmIHRoYXQgY2FsbCBpcyB3ZWxsLWZvcm1lZDsKKyAgIC8vISBvdGhlcndpc2UsIGludm9rZXMgYGEuYWxsb2NhdGUobilgCisgICBzdGF0aWMgcG9pbnRlciBhbGxvY2F0ZShBbGxvYyAmYSwgc2l6ZV90eXBlIG4sIGNvbnN0X3ZvaWRfcG9pbnRlciBwKQorICAgeworICAgICAgY29uc3QgYm9vbCB2YWx1ZSA9IG5kbmJvb3N0Ojpjb250YWluZXI6OmNvbnRhaW5lcl9kZXRhaWw6OgorICAgICAgICAgaGFzX21lbWJlcl9mdW5jdGlvbl9jYWxsYWJsZV93aXRoX2FsbG9jYXRlCisgICAgICAgICAgICA8QWxsb2MsIGNvbnN0IHNpemVfdHlwZSwgY29uc3QgY29uc3Rfdm9pZF9wb2ludGVyPjo6dmFsdWU7CisgICAgICA6Om5kbmJvb3N0OjppbnRlZ3JhbF9jb25zdGFudDxib29sLCB2YWx1ZT4gZmxhZzsKKyAgICAgIHJldHVybiBhbGxvY2F0b3JfdHJhaXRzOjpwcml2X2FsbG9jYXRlKGZsYWcsIGEsIG4sIHApOworICAgfQorCisgICAvLyEgPGI+RWZmZWN0czwvYj46IGNhbGxzIGBhLmRlc3Ryb3kocClgIGlmIHRoYXQgY2FsbCBpcyB3ZWxsLWZvcm1lZDsKKyAgIC8vISBvdGhlcndpc2UsIGludm9rZXMgYHAtPn5UKClgLgorICAgdGVtcGxhdGU8Y2xhc3MgVD4KKyAgIHN0YXRpYyB2b2lkIGRlc3Ryb3koQWxsb2MgJmEsIFQqcCkKKyAgIHsKKyAgICAgIHR5cGVkZWYgVCogZGVzdHJveV9wb2ludGVyOworICAgICAgY29uc3QgYm9vbCB2YWx1ZSA9IG5kbmJvb3N0Ojpjb250YWluZXI6OmNvbnRhaW5lcl9kZXRhaWw6OgorICAgICAgICAgaGFzX21lbWJlcl9mdW5jdGlvbl9jYWxsYWJsZV93aXRoX2Rlc3Ryb3kKKyAgICAgICAgICAgIDxBbGxvYywgY29uc3QgZGVzdHJveV9wb2ludGVyPjo6dmFsdWU7CisgICAgICA6Om5kbmJvb3N0OjppbnRlZ3JhbF9jb25zdGFudDxib29sLCB2YWx1ZT4gZmxhZzsKKyAgICAgIGFsbG9jYXRvcl90cmFpdHM6OnByaXZfZGVzdHJveShmbGFnLCBhLCBwKTsKKyAgIH0KKworICAgLy8hIDxiPlJldHVybnM8L2I+OiBgYS5tYXhfc2l6ZSgpYCBpZiB0aGF0IGV4cHJlc3Npb24gaXMgd2VsbC1mb3JtZWQ7IG90aGVyd2lzZSwKKyAgIC8vISBgbnVtZXJpY19saW1pdHM8c2l6ZV90eXBlPjo6bWF4KClgLgorICAgc3RhdGljIHNpemVfdHlwZSBtYXhfc2l6ZShjb25zdCBBbGxvYyAmYSkKKyAgIHsKKyAgICAgIGNvbnN0IGJvb2wgdmFsdWUgPSBuZG5ib29zdDo6Y29udGFpbmVyOjpjb250YWluZXJfZGV0YWlsOjoKKyAgICAgICAgIGhhc19tZW1iZXJfZnVuY3Rpb25fY2FsbGFibGVfd2l0aF9tYXhfc2l6ZQorICAgICAgICAgICAgPGNvbnN0IEFsbG9jPjo6dmFsdWU7CisgICAgICA6Om5kbmJvb3N0OjppbnRlZ3JhbF9jb25zdGFudDxib29sLCB2YWx1ZT4gZmxhZzsKKyAgICAgIHJldHVybiBhbGxvY2F0b3JfdHJhaXRzOjpwcml2X21heF9zaXplKGZsYWcsIGEpOworICAgfQorCisgICAvLyEgPGI+UmV0dXJuczwvYj46IGBhLnNlbGVjdF9vbl9jb250YWluZXJfY29weV9jb25zdHJ1Y3Rpb24oKWAgaWYgdGhhdCBleHByZXNzaW9uIGlzIHdlbGwtZm9ybWVkOworICAgLy8hIG90aGVyd2lzZSwgYS4KKyAgIHN0YXRpYworICAgI2lmICFkZWZpbmVkKEJPT1NUX0NPTlRBSU5FUl9ET1hZR0VOX0lOVk9LRUQpCisgICB0eXBlbmFtZSBjb250YWluZXJfZGV0YWlsOjppZl9jCisgICAgICA8ICBuZG5ib29zdDo6Y29udGFpbmVyOjpjb250YWluZXJfZGV0YWlsOjoKKyAgICAgICAgICAgICAgICAgIGhhc19tZW1iZXJfZnVuY3Rpb25fY2FsbGFibGVfd2l0aF9zZWxlY3Rfb25fY29udGFpbmVyX2NvcHlfY29uc3RydWN0aW9uCisgICAgICAgICAgICAgICAgICAgICA8Y29uc3QgQWxsb2M+Ojp2YWx1ZQorICAgICAgLCBBbGxvYworICAgICAgLCBjb25zdCBBbGxvYyAmCisgICAgICA+Ojp0eXBlCisgICAjZWxzZQorICAgQWxsb2MKKyAgICNlbmRpZgorICAgc2VsZWN0X29uX2NvbnRhaW5lcl9jb3B5X2NvbnN0cnVjdGlvbihjb25zdCBBbGxvYyAmYSkKKyAgIHsKKyAgICAgIGNvbnN0IGJvb2wgdmFsdWUgPSBuZG5ib29zdDo6Y29udGFpbmVyOjpjb250YWluZXJfZGV0YWlsOjoKKyAgICAgICAgIGhhc19tZW1iZXJfZnVuY3Rpb25fY2FsbGFibGVfd2l0aF9zZWxlY3Rfb25fY29udGFpbmVyX2NvcHlfY29uc3RydWN0aW9uCisgICAgICAgICAgICA8Y29uc3QgQWxsb2M+Ojp2YWx1ZTsKKyAgICAgIDo6bmRuYm9vc3Q6OmludGVncmFsX2NvbnN0YW50PGJvb2wsIHZhbHVlPiBmbGFnOworICAgICAgcmV0dXJuIGFsbG9jYXRvcl90cmFpdHM6OnByaXZfc2VsZWN0X29uX2NvbnRhaW5lcl9jb3B5X2NvbnN0cnVjdGlvbihmbGFnLCBhKTsKKyAgIH0KKworICAgI2lmICFkZWZpbmVkKEJPT1NUX05PX0NYWDExX1ZBUklBRElDX1RFTVBMQVRFUykgfHwgZGVmaW5lZChCT09TVF9DT05UQUlORVJfRE9YWUdFTl9JTlZPS0VEKQorICAgICAgLy8hIDxiPkVmZmVjdHM8L2I+OiBjYWxscyBgYS5jb25zdHJ1Y3QocCwgc3RkOjpmb3J3YXJkPEFyZ3M+KGFyZ3MpLi4uKWAgaWYgdGhhdCBjYWxsIGlzIHdlbGwtZm9ybWVkOworICAgICAgLy8hIG90aGVyd2lzZSwgaW52b2tlcyBgOjpuZXcgKHN0YXRpY19jYXN0PHZvaWQqPihwKSkgVChzdGQ6OmZvcndhcmQ8QXJncz4oYXJncykuLi4pYAorICAgICAgdGVtcGxhdGUgPGNsYXNzIFQsIGNsYXNzIC4uLkFyZ3M+CisgICAgICBzdGF0aWMgdm9pZCBjb25zdHJ1Y3QoQWxsb2MgJiBhLCBUKiBwLCBCT09TVF9GV0RfUkVGKEFyZ3MpLi4uIGFyZ3MpCisgICAgICB7CisgICAgICAgICA6Om5kbmJvb3N0OjppbnRlZ3JhbF9jb25zdGFudDxib29sLCBjb250YWluZXJfZGV0YWlsOjppc19zdGRfYWxsb2NhdG9yPEFsbG9jPjo6dmFsdWU+IGZsYWc7CisgICAgICAgICBhbGxvY2F0b3JfdHJhaXRzOjpwcml2X2NvbnN0cnVjdChmbGFnLCBhLCBwLCA6Om5kbmJvb3N0Ojpmb3J3YXJkPEFyZ3M+KGFyZ3MpLi4uKTsKKyAgICAgIH0KKyAgICNlbmRpZgorICAgLy8vQGNvbmQKKyAgICNpZiAhZGVmaW5lZChCT09TVF9DT05UQUlORVJfRE9YWUdFTl9JTlZPS0VEKQorICAgICAgcHJpdmF0ZToKKyAgICAgIHN0YXRpYyBwb2ludGVyIHByaXZfYWxsb2NhdGUobmRuYm9vc3Q6OnRydWVfdHlwZSwgQWxsb2MgJmEsIHNpemVfdHlwZSBuLCBjb25zdF92b2lkX3BvaW50ZXIgcCkKKyAgICAgIHsgIHJldHVybiBhLmFsbG9jYXRlKG4sIHApOyAgfQorCisgICAgICBzdGF0aWMgcG9pbnRlciBwcml2X2FsbG9jYXRlKG5kbmJvb3N0OjpmYWxzZV90eXBlLCBBbGxvYyAmYSwgc2l6ZV90eXBlIG4sIGNvbnN0X3ZvaWRfcG9pbnRlcikKKyAgICAgIHsgIHJldHVybiBhbGxvY2F0b3JfdHJhaXRzOjphbGxvY2F0ZShhLCBuKTsgIH0KKworICAgICAgdGVtcGxhdGU8Y2xhc3MgVD4KKyAgICAgIHN0YXRpYyB2b2lkIHByaXZfZGVzdHJveShuZG5ib29zdDo6dHJ1ZV90eXBlLCBBbGxvYyAmYSwgVCogcCkKKyAgICAgIHsgIGEuZGVzdHJveShwKTsgIH0KKworICAgICAgdGVtcGxhdGU8Y2xhc3MgVD4KKyAgICAgIHN0YXRpYyB2b2lkIHByaXZfZGVzdHJveShuZG5ib29zdDo6ZmFsc2VfdHlwZSwgQWxsb2MgJiwgVCogcCkKKyAgICAgIHsgIHAtPn5UKCk7ICh2b2lkKXA7ICB9CisKKyAgICAgIHN0YXRpYyBzaXplX3R5cGUgcHJpdl9tYXhfc2l6ZShuZG5ib29zdDo6dHJ1ZV90eXBlLCBjb25zdCBBbGxvYyAmYSkKKyAgICAgIHsgIHJldHVybiBhLm1heF9zaXplKCk7ICB9CisKKyAgICAgIHN0YXRpYyBzaXplX3R5cGUgcHJpdl9tYXhfc2l6ZShuZG5ib29zdDo6ZmFsc2VfdHlwZSwgY29uc3QgQWxsb2MgJikKKyAgICAgIHsgIHJldHVybiAoc3RkOjpudW1lcmljX2xpbWl0czxzaXplX3R5cGU+OjptYXgpKCk7ICB9CisKKyAgICAgIHN0YXRpYyBBbGxvYyBwcml2X3NlbGVjdF9vbl9jb250YWluZXJfY29weV9jb25zdHJ1Y3Rpb24obmRuYm9vc3Q6OnRydWVfdHlwZSwgY29uc3QgQWxsb2MgJmEpCisgICAgICB7ICByZXR1cm4gYS5zZWxlY3Rfb25fY29udGFpbmVyX2NvcHlfY29uc3RydWN0aW9uKCk7ICB9CisKKyAgICAgIHN0YXRpYyBjb25zdCBBbGxvYyAmcHJpdl9zZWxlY3Rfb25fY29udGFpbmVyX2NvcHlfY29uc3RydWN0aW9uKG5kbmJvb3N0OjpmYWxzZV90eXBlLCBjb25zdCBBbGxvYyAmYSkKKyAgICAgIHsgIHJldHVybiBhOyAgfQorCisgICAgICAjaWYgIWRlZmluZWQoQk9PU1RfTk9fQ1hYMTFfVkFSSUFESUNfVEVNUExBVEVTKQorICAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVCwgY2xhc3MgLi4uQXJncz4KKyAgICAgICAgIHN0YXRpYyB2b2lkIHByaXZfY29uc3RydWN0KG5kbmJvb3N0OjpmYWxzZV90eXBlLCBBbGxvYyAmYSwgVCAqcCwgQk9PU1RfRldEX1JFRihBcmdzKSAuLi5hcmdzKSAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICBjb25zdCBib29sIHZhbHVlID0gbmRuYm9vc3Q6OmNvbnRhaW5lcjo6Y29udGFpbmVyX2RldGFpbDo6CisgICAgICAgICAgICAgICAgICBoYXNfbWVtYmVyX2Z1bmN0aW9uX2NhbGxhYmxlX3dpdGhfY29uc3RydWN0CisgICAgICAgICAgICAgICAgICAgICA8IEFsbG9jLCBUKiwgQXJncy4uLiA+Ojp2YWx1ZTsKKyAgICAgICAgICAgIDo6bmRuYm9vc3Q6OmludGVncmFsX2NvbnN0YW50PGJvb2wsIHZhbHVlPiBmbGFnOworICAgICAgICAgICAgcHJpdl9jb25zdHJ1Y3RfZGlzcGF0Y2gyKGZsYWcsIGEsIHAsIDo6bmRuYm9vc3Q6OmZvcndhcmQ8QXJncz4oYXJncykuLi4pOworICAgICAgICAgfQorCisgICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBULCBjbGFzcyAuLi5BcmdzPgorICAgICAgICAgc3RhdGljIHZvaWQgcHJpdl9jb25zdHJ1Y3QobmRuYm9vc3Q6OnRydWVfdHlwZSwgQWxsb2MgJmEsIFQgKnAsIEJPT1NUX0ZXRF9SRUYoQXJncykgLi4uYXJncykKKyAgICAgICAgIHsKKyAgICAgICAgICAgIHByaXZfY29uc3RydWN0X2Rpc3BhdGNoMihuZG5ib29zdDo6ZmFsc2VfdHlwZSgpLCBhLCBwLCA6Om5kbmJvb3N0Ojpmb3J3YXJkPEFyZ3M+KGFyZ3MpLi4uKTsKKyAgICAgICAgIH0KKworICAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVCwgY2xhc3MgLi4uQXJncz4KKyAgICAgICAgIHN0YXRpYyB2b2lkIHByaXZfY29uc3RydWN0X2Rpc3BhdGNoMihuZG5ib29zdDo6dHJ1ZV90eXBlLCBBbGxvYyAmYSwgVCAqcCwgQk9PU1RfRldEX1JFRihBcmdzKSAuLi5hcmdzKQorICAgICAgICAgeyAgYS5jb25zdHJ1Y3QoIHAsIDo6bmRuYm9vc3Q6OmZvcndhcmQ8QXJncz4oYXJncykuLi4pOyAgfQorCisgICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBULCBjbGFzcyAuLi5BcmdzPgorICAgICAgICAgc3RhdGljIHZvaWQgcHJpdl9jb25zdHJ1Y3RfZGlzcGF0Y2gyKG5kbmJvb3N0OjpmYWxzZV90eXBlLCBBbGxvYyAmLCBUICpwLCBCT09TVF9GV0RfUkVGKEFyZ3MpIC4uLmFyZ3MpCisgICAgICAgICB7ICA6Om5ldygodm9pZCopcCkgVCg6Om5kbmJvb3N0Ojpmb3J3YXJkPEFyZ3M+KGFyZ3MpLi4uKTsgfQorICAgICAgI2Vsc2UgLy8gI2lmICFkZWZpbmVkKEJPT1NUX05PX0NYWDExX1ZBUklBRElDX1RFTVBMQVRFUykKKyAgICAgICAgIHB1YmxpYzoKKyAgICAgICAgICNkZWZpbmUgQk9PU1RfUFBfTE9DQUxfTUFDUk8obikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgIHRlbXBsYXRlPGNsYXNzIFQgQk9PU1RfUFBfRU5VTV9UUkFJTElOR19QQVJBTVMobiwgY2xhc3MgUCkgPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgIHN0YXRpYyB2b2lkIGNvbnN0cnVjdChBbGxvYyAmYSwgVCAqcCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJPT1NUX1BQX0VOVU1fVFJBSUxJTkcobiwgQk9PU1RfQ09OVEFJTkVSX1BQX1BBUkFNX0xJU1QsIF8pKSAgICAgICAgICAgIFwKKyAgICAgICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgIDo6bmRuYm9vc3Q6OmludGVncmFsX2NvbnN0YW50PGJvb2wsIGNvbnRhaW5lcl9kZXRhaWw6OmlzX3N0ZF9hbGxvY2F0b3I8QWxsb2M+Ojp2YWx1ZT4gZmxhZzsgIFwKKyAgICAgICAgICAgIGFsbG9jYXRvcl90cmFpdHM6OnByaXZfY29uc3RydWN0KGZsYWcsIGEsIHAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgIEJPT1NUX1BQX0VOVU1fVFJBSUxJTkcobiwgQk9PU1RfQ09OVEFJTkVSX1BQX1BBUkFNX0ZPUldBUkQsIF8pKTsgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgIC8vCisgICAgICAgICAjZGVmaW5lIEJPT1NUX1BQX0xPQ0FMX0xJTUlUUyAoMCwgQk9PU1RfQ09OVEFJTkVSX01BWF9DT05TVFJVQ1RPUl9QQVJBTUVURVJTKQorICAgICAgICAgI2luY2x1ZGUgQk9PU1RfUFBfTE9DQUxfSVRFUkFURSgpCisgICAgIAorICAgICAgICAgcHJpdmF0ZToKKyAgICAgICAgICNkZWZpbmUgQk9PU1RfUFBfTE9DQUxfTUFDUk8obikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgIHRlbXBsYXRlPGNsYXNzIFQgIEJPT1NUX1BQX0VOVU1fVFJBSUxJTkdfUEFSQU1TKG4sIGNsYXNzIFApID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgIHN0YXRpYyB2b2lkIHByaXZfY29uc3RydWN0KG5kbmJvb3N0OjpmYWxzZV90eXBlLCBBbGxvYyAmYSwgVCAqcCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgIEJPT1NUX1BQX0VOVU1fVFJBSUxJTkcobiwgQk9PU1RfQ09OVEFJTkVSX1BQX1BBUkFNX0xJU1QsXykpICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgIGNvbnN0IGJvb2wgdmFsdWUgPSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgIG5kbmJvb3N0Ojpjb250YWluZXI6OmNvbnRhaW5lcl9kZXRhaWw6Omhhc19tZW1iZXJfZnVuY3Rpb25fY2FsbGFibGVfd2l0aF9jb25zdHJ1Y3QgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgIDwgQWxsb2MsIFQqIEJPT1NUX1BQX0VOVU1fVFJBSUxJTkcobiwgQk9PU1RfQ09OVEFJTkVSX1BQX0ZXRF9UWVBFLCBfKSA+Ojp2YWx1ZTsgICAgICAgIFwKKyAgICAgICAgICAgIDo6bmRuYm9vc3Q6OmludGVncmFsX2NvbnN0YW50PGJvb2wsIHZhbHVlPiBmbGFnOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgIHByaXZfY29uc3RydWN0X2Rpc3BhdGNoMihmbGFnLCBhLCBwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgIEJPT1NUX1BQX0VOVU1fVFJBSUxJTkcobiwgQk9PU1RfQ09OVEFJTkVSX1BQX1BBUkFNX0ZPUldBUkQsIF8pICk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgIHRlbXBsYXRlPGNsYXNzIFQgIEJPT1NUX1BQX0VOVU1fVFJBSUxJTkdfUEFSQU1TKG4sIGNsYXNzIFApID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgIHN0YXRpYyB2b2lkIHByaXZfY29uc3RydWN0KG5kbmJvb3N0Ojp0cnVlX3R5cGUsIEFsbG9jICZhLCBUICpwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgIEJPT1NUX1BQX0VOVU1fVFJBSUxJTkcobiwgQk9PU1RfQ09OVEFJTkVSX1BQX1BBUkFNX0xJU1QsXykpICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgIHByaXZfY29uc3RydWN0X2Rpc3BhdGNoMihuZG5ib29zdDo6ZmFsc2VfdHlwZSgpLCBhLCBwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgIEJPT1NUX1BQX0VOVU1fVFJBSUxJTkcobiwgQk9PU1RfQ09OVEFJTkVSX1BQX1BBUkFNX0ZPUldBUkQsIF8pICk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgIHRlbXBsYXRlPGNsYXNzIFQgIEJPT1NUX1BQX0VOVU1fVFJBSUxJTkdfUEFSQU1TKG4sIGNsYXNzIFApID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgIHN0YXRpYyB2b2lkIHByaXZfY29uc3RydWN0X2Rpc3BhdGNoMihuZG5ib29zdDo6dHJ1ZV90eXBlLCBBbGxvYyAmYSwgVCAqcCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgIEJPT1NUX1BQX0VOVU1fVFJBSUxJTkcobiwgQk9PU1RfQ09OVEFJTkVSX1BQX1BBUkFNX0xJU1QsXykpICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgIHsgIGEuY29uc3RydWN0KCBwIEJPT1NUX1BQX0VOVU1fVFJBSUxJTkcobiwgQk9PU1RfQ09OVEFJTkVSX1BQX1BBUkFNX0ZPUldBUkQsIF8pICk7ICB9ICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgIHRlbXBsYXRlPGNsYXNzIFQgIEJPT1NUX1BQX0VOVU1fVFJBSUxJTkdfUEFSQU1TKG4sIGNsYXNzIFApID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgIHN0YXRpYyB2b2lkIHByaXZfY29uc3RydWN0X2Rpc3BhdGNoMihuZG5ib29zdDo6ZmFsc2VfdHlwZSwgQWxsb2MgJiwgVCAqcCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgIEJPT1NUX1BQX0VOVU1fVFJBSUxJTkcobiwgQk9PU1RfQ09OVEFJTkVSX1BQX1BBUkFNX0xJU1QsIF8pICkgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgIHsgIDo6bmV3KCh2b2lkKilwKSBUKEJPT1NUX1BQX0VOVU0obiwgQk9PU1RfQ09OVEFJTkVSX1BQX1BBUkFNX0ZPUldBUkQsIF8pKTsgfSAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgIC8vCisgICAgICAgICAjZGVmaW5lIEJPT1NUX1BQX0xPQ0FMX0xJTUlUUyAoMCwgQk9PU1RfQ09OVEFJTkVSX01BWF9DT05TVFJVQ1RPUl9QQVJBTUVURVJTKQorICAgICAgICAgI2luY2x1ZGUgQk9PU1RfUFBfTE9DQUxfSVRFUkFURSgpCisgICAgICAjZW5kaWYgICAvLyAjaWYgIWRlZmluZWQoQk9PU1RfTk9fQ1hYMTFfVkFSSUFESUNfVEVNUExBVEVTKQorICAgI2VuZGlmICAgLy8jaWYgZGVmaW5lZChCT09TVF9DT05UQUlORVJfRE9YWUdFTl9JTlZPS0VEKQorCisgICAvLy9AZW5kY29uZAorfTsKKworfSAgLy9uYW1lc3BhY2UgY29udGFpbmVyIHsKK30gIC8vbmFtZXNwYWNlIG5kbmJvb3N0IHsKKworI2luY2x1ZGUgPG5kbmJvb3N0L2NvbnRhaW5lci9kZXRhaWwvY29uZmlnX2VuZC5ocHA+CisKKyNlbmRpZiAvLyAhIGRlZmluZWQoQk9PU1RfQ09OVEFJTkVSX0FMTE9DQVRPUl9BTExPQ0FUT1JfVFJBSVRTX0hQUCkKZGlmZiAtLWdpdCBhL25kbmJvb3N0L2NvbnRhaW5lci9kZXRhaWwvY29uZmlnX2JlZ2luLmhwcCBiL25kbmJvb3N0L2NvbnRhaW5lci9kZXRhaWwvY29uZmlnX2JlZ2luLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNTBhYjE3Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvY29udGFpbmVyL2RldGFpbC9jb25maWdfYmVnaW4uaHBwCkBAIC0wLDAgKzEsNDkgQEAKKy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworLy8KKy8vIChDKSBDb3B5cmlnaHQgSW9uIEdhenRhbmFnYSAyMDA1LTIwMTIuIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdAorLy8gU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIChTZWUgYWNjb21wYW55aW5nIGZpbGUKKy8vIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisvLyBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvbGlicy9jb250YWluZXIgZm9yIGRvY3VtZW50YXRpb24uCisvLworLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCisjaWZuZGVmIEJPT1NUX0NPTlRBSU5FUl9DT05UQUlORVJfREVUQUlMX0NPTkZJR19JTkNMVURFRAorI2RlZmluZSBCT09TVF9DT05UQUlORVJfQ09OVEFJTkVSX0RFVEFJTF9DT05GSUdfSU5DTFVERUQKKyNpbmNsdWRlIDxuZG5ib29zdC9jb25maWcuaHBwPgorCisjZW5kaWYgICAvL0JPT1NUX0NPTlRBSU5FUl9DT05UQUlORVJfREVUQUlMX0NPTkZJR19JTkNMVURFRAorCisjaWZkZWYgQk9PU1RfTVNWQworICAgI2lmbmRlZiBfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEUKKyAgICNkZWZpbmUgIEJPT1NUX0NPTlRBSU5FUl9ERVRBSUxfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEUKKyAgICNkZWZpbmUgX0NSVF9TRUNVUkVfTk9fREVQUkVDQVRFCisgICAjZW5kaWYKKyAgICNwcmFnbWEgd2FybmluZyAocHVzaCkKKyAgICNwcmFnbWEgd2FybmluZyAoZGlzYWJsZSA6IDQ3MDIpIC8vIHVucmVhY2hhYmxlIGNvZGUKKyAgICNwcmFnbWEgd2FybmluZyAoZGlzYWJsZSA6IDQ3MDYpIC8vIGFzc2lnbm1lbnQgd2l0aGluIGNvbmRpdGlvbmFsIGV4cHJlc3Npb24KKyAgICNwcmFnbWEgd2FybmluZyAoZGlzYWJsZSA6IDQxMjcpIC8vIGNvbmRpdGlvbmFsIGV4cHJlc3Npb24gaXMgY29uc3RhbnQKKyAgICNwcmFnbWEgd2FybmluZyAoZGlzYWJsZSA6IDQxNDYpIC8vIHVuYXJ5IG1pbnVzIG9wZXJhdG9yIGFwcGxpZWQgdG8gdW5zaWduZWQgdHlwZSwgcmVzdWx0IHN0aWxsIHVuc2lnbmVkCisgICAjcHJhZ21hIHdhcm5pbmcgKGRpc2FibGUgOiA0Mjg0KSAvLyBvZGQgcmV0dXJuIHR5cGUgZm9yIG9wZXJhdG9yLT4KKyAgICNwcmFnbWEgd2FybmluZyAoZGlzYWJsZSA6IDQyNDQpIC8vIHBvc3NpYmxlIGxvc3Mgb2YgZGF0YQorICAgI3ByYWdtYSB3YXJuaW5nIChkaXNhYmxlIDogNDI1MSkgLy8gImlkZW50aWZpZXIiIDogY2xhc3MgInR5cGUiIG5lZWRzIHRvIGhhdmUgZGxsLWludGVyZmFjZSB0byBiZSB1c2VkIGJ5IGNsaWVudHMgb2YgY2xhc3MgInR5cGUyIgorICAgI3ByYWdtYSB3YXJuaW5nIChkaXNhYmxlIDogNDI2NykgLy8gY29udmVyc2lvbiBmcm9tICJYIiB0byAiWSIsIHBvc3NpYmxlIGxvc3Mgb2YgZGF0YQorICAgI3ByYWdtYSB3YXJuaW5nIChkaXNhYmxlIDogNDI3NSkgLy8gbm9uIERMTC1pbnRlcmZhY2UgY2xhc3NrZXkgImlkZW50aWZpZXIiIHVzZWQgYXMgYmFzZSBmb3IgRExMLWludGVyZmFjZSBjbGFzc2tleSAiaWRlbnRpZmllciIKKyAgICNwcmFnbWEgd2FybmluZyAoZGlzYWJsZSA6IDQzNTUpIC8vICJ0aGlzIiA6IHVzZWQgaW4gYmFzZSBtZW1iZXIgaW5pdGlhbGl6ZXIgbGlzdAorICAgI3ByYWdtYSB3YXJuaW5nIChkaXNhYmxlIDogNDUwMykgLy8gImlkZW50aWZpZXIiIDogZGVjb3JhdGVkIG5hbWUgbGVuZ3RoIGV4Y2VlZGVkLCBuYW1lIHdhcyB0cnVuY2F0ZWQKKyAgICNwcmFnbWEgd2FybmluZyAoZGlzYWJsZSA6IDQ1MTEpIC8vIGNvcHkgY29uc3RydWN0b3IgY291bGQgbm90IGJlIGdlbmVyYXRlZAorICAgI3ByYWdtYSB3YXJuaW5nIChkaXNhYmxlIDogNDUxMikgLy8gYXNzaWdubWVudCBvcGVyYXRvciBjb3VsZCBub3QgYmUgZ2VuZXJhdGVkCisgICAjcHJhZ21hIHdhcm5pbmcgKGRpc2FibGUgOiA0NTE0KSAvLyB1bnJlZmVyZW5jZWQgaW5saW5lIHJlbW92ZWQKKyAgICNwcmFnbWEgd2FybmluZyAoZGlzYWJsZSA6IDQ1MjEpIC8vIERpc2FibGUgIm11bHRpcGxlIGNvcHkgY29uc3RydWN0b3JzIHNwZWNpZmllZCIKKyAgICNwcmFnbWEgd2FybmluZyAoZGlzYWJsZSA6IDQ1MjIpIC8vICJjbGFzcyIgOiBtdWx0aXBsZSBhc3NpZ25tZW50IG9wZXJhdG9ycyBzcGVjaWZpZWQKKyAgICNwcmFnbWEgd2FybmluZyAoZGlzYWJsZSA6IDQ2NzUpIC8vICJtZXRob2QiIHNob3VsZCBiZSBkZWNsYXJlZCAic3RhdGljIiBhbmQgaGF2ZSBleGFjdGx5IG9uZSBwYXJhbWV0ZXIKKyAgICNwcmFnbWEgd2FybmluZyAoZGlzYWJsZSA6IDQ3MTApIC8vIGZ1bmN0aW9uIG5vdCBpbmxpbmVkCisgICAjcHJhZ21hIHdhcm5pbmcgKGRpc2FibGUgOiA0NzExKSAvLyBmdW5jdGlvbiBzZWxlY3RlZCBmb3IgYXV0b21hdGljIGlubGluZSBleHBhbnNpb24KKyAgICNwcmFnbWEgd2FybmluZyAoZGlzYWJsZSA6IDQ3ODYpIC8vIGlkZW50aWZpZXIgdHJ1bmNhdGVkIGluIGRlYnVnIGluZm8KKyAgICNwcmFnbWEgd2FybmluZyAoZGlzYWJsZSA6IDQ5OTYpIC8vICJmdW5jdGlvbiI6IHdhcyBkZWNsYXJlZCBkZXByZWNhdGVkCisgICAjcHJhZ21hIHdhcm5pbmcgKGRpc2FibGUgOiA0MTk3KSAvLyB0b3AtbGV2ZWwgdm9sYXRpbGUgaW4gY2FzdCBpcyBpZ25vcmVkCisgICAjcHJhZ21hIHdhcm5pbmcgKGRpc2FibGUgOiA0NTQxKSAvLyAndHlwZWlkJyB1c2VkIG9uIHBvbHltb3JwaGljIHR5cGUgJ25kbmJvb3N0OjpleGNlcHRpb24nCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAgICB3aXRoIC9HUi07IHVucHJlZGljdGFibGUgYmVoYXZpb3IgbWF5IHJlc3VsdAorICAgI3ByYWdtYSB3YXJuaW5nIChkaXNhYmxlIDogNDY3MykgLy8gIHRocm93aW5nICcnIHRoZSBmb2xsb3dpbmcgdHlwZXMgd2lsbCBub3QgYmUgY29uc2lkZXJlZCBhdCB0aGUgY2F0Y2ggc2l0ZQorICAgI3ByYWdtYSB3YXJuaW5nIChkaXNhYmxlIDogNDY3MSkgLy8gIHRoZSBjb3B5IGNvbnN0cnVjdG9yIGlzIGluYWNjZXNzaWJsZQorICAgI3ByYWdtYSB3YXJuaW5nIChkaXNhYmxlIDogNDU4NCkgLy8gIFggaXMgYWxyZWFkeSBhIGJhc2UtY2xhc3Mgb2YgWQorI2VuZGlmICAgLy9CT09TVF9NU1ZDCmRpZmYgLS1naXQgYS9uZG5ib29zdC9jb250YWluZXIvZGV0YWlsL2NvbmZpZ19lbmQuaHBwIGIvbmRuYm9vc3QvY29udGFpbmVyL2RldGFpbC9jb25maWdfZW5kLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNDUxMzcxCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvY29udGFpbmVyL2RldGFpbC9jb25maWdfZW5kLmhwcApAQCAtMCwwICsxLDE3IEBACisvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKy8vCisvLyAoQykgQ29weXJpZ2h0IElvbiBHYXp0YW5hZ2EgMjAwNS0yMDEyLiBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QKKy8vIFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAoU2VlIGFjY29tcGFueWluZyBmaWxlCisvLyBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworLy8gU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL2xpYnMvY29udGFpbmVyIGZvciBkb2N1bWVudGF0aW9uLgorLy8KKy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworI2lmIGRlZmluZWQgQk9PU1RfTVNWQworICAgI3ByYWdtYSB3YXJuaW5nIChwb3ApCisgICAjaWZkZWYgQk9PU1RfQ09OVEFJTkVSX0RFVEFJTF9DUlRfU0VDVVJFX05PX0RFUFJFQ0FURQorICAgI3VuZGVmIEJPT1NUX0NPTlRBSU5FUl9ERVRBSUxfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEUKKyAgICN1bmRlZiBfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEUKKyAgICNlbmRpZgorI2VuZGlmCisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L2NvbnRhaW5lci9kZXRhaWwvbWVtb3J5X3V0aWwuaHBwIGIvbmRuYm9vc3QvY29udGFpbmVyL2RldGFpbC9tZW1vcnlfdXRpbC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDdkZDZmYQotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L2NvbnRhaW5lci9kZXRhaWwvbWVtb3J5X3V0aWwuaHBwCkBAIC0wLDAgKzEsODMgQEAKKy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworLy8KKy8vIChDKSBDb3B5cmlnaHQgSW9uIEdhenRhbmFnYSAyMDExLTIwMTIuIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdAorLy8gU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIChTZWUgYWNjb21wYW55aW5nIGZpbGUKKy8vIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisvLyBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvbGlicy9jb250YWluZXIgZm9yIGRvY3VtZW50YXRpb24uCisvLworLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCisKKyNpZm5kZWYgQk9PU1RfQ09OVEFJTkVSX0FMTE9DQVRPUl9NRU1PUllfVVRJTF9IUFAKKyNkZWZpbmUgQk9PU1RfQ09OVEFJTkVSX0FMTE9DQVRPUl9NRU1PUllfVVRJTF9IUFAKKworI2lmIChkZWZpbmVkIF9NU0NfVkVSKSAmJiAoX01TQ19WRVIgPj0gMTIwMCkKKyMgIHByYWdtYSBvbmNlCisjZW5kaWYKKworI2luY2x1ZGUgPG5kbmJvb3N0L2NvbnRhaW5lci9kZXRhaWwvY29uZmlnX2JlZ2luLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9jb250YWluZXIvZGV0YWlsL3dvcmthcm91bmQuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L2NvbnRhaW5lci9kZXRhaWwvcHJlcHJvY2Vzc29yLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9pbnRydXNpdmUvZGV0YWlsL2hhc19tZW1iZXJfZnVuY3Rpb25fY2FsbGFibGVfd2l0aC5ocHA+CisKKworI2RlZmluZSBCT09TVF9JTlRSVVNJVkVfSEFTX01FTUJFUl9GVU5DVElPTl9DQUxMQUJMRV9XSVRIX0ZVTkNOQU1FIGFsbG9jYXRlCisjZGVmaW5lIEJPT1NUX0lOVFJVU0lWRV9IQVNfTUVNQkVSX0ZVTkNUSU9OX0NBTExBQkxFX1dJVEhfTlNfQkVHSU4gbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIGNvbnRhaW5lciB7IG5hbWVzcGFjZSBjb250YWluZXJfZGV0YWlsIHsKKyNkZWZpbmUgQk9PU1RfSU5UUlVTSVZFX0hBU19NRU1CRVJfRlVOQ1RJT05fQ0FMTEFCTEVfV0lUSF9OU19FTkQgICB9fX0KKyNkZWZpbmUgQk9PU1RfUFBfSVRFUkFUSU9OX1BBUkFNU18xICgzLCAoMCwgMiwgPG5kbmJvb3N0L2ludHJ1c2l2ZS9kZXRhaWwvaGFzX21lbWJlcl9mdW5jdGlvbl9jYWxsYWJsZV93aXRoLmhwcD4pKQorI2luY2x1ZGUgQk9PU1RfUFBfSVRFUkFURSgpCisKKyNkZWZpbmUgQk9PU1RfSU5UUlVTSVZFX0hBU19NRU1CRVJfRlVOQ1RJT05fQ0FMTEFCTEVfV0lUSF9GVU5DTkFNRSBkZXN0cm95CisjZGVmaW5lIEJPT1NUX0lOVFJVU0lWRV9IQVNfTUVNQkVSX0ZVTkNUSU9OX0NBTExBQkxFX1dJVEhfTlNfQkVHSU4gbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIGNvbnRhaW5lciB7IG5hbWVzcGFjZSBjb250YWluZXJfZGV0YWlsIHsKKyNkZWZpbmUgQk9PU1RfSU5UUlVTSVZFX0hBU19NRU1CRVJfRlVOQ1RJT05fQ0FMTEFCTEVfV0lUSF9OU19FTkQgICB9fX0KKyNkZWZpbmUgQk9PU1RfUFBfSVRFUkFUSU9OX1BBUkFNU18xICgzLCAoMCwgMywgPG5kbmJvb3N0L2ludHJ1c2l2ZS9kZXRhaWwvaGFzX21lbWJlcl9mdW5jdGlvbl9jYWxsYWJsZV93aXRoLmhwcD4pKQorI2luY2x1ZGUgQk9PU1RfUFBfSVRFUkFURSgpCisKKyNkZWZpbmUgQk9PU1RfSU5UUlVTSVZFX0hBU19NRU1CRVJfRlVOQ1RJT05fQ0FMTEFCTEVfV0lUSF9GVU5DTkFNRSBtYXhfc2l6ZQorI2RlZmluZSBCT09TVF9JTlRSVVNJVkVfSEFTX01FTUJFUl9GVU5DVElPTl9DQUxMQUJMRV9XSVRIX05TX0JFR0lOIG5hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBjb250YWluZXIgeyBuYW1lc3BhY2UgY29udGFpbmVyX2RldGFpbCB7CisjZGVmaW5lIEJPT1NUX0lOVFJVU0lWRV9IQVNfTUVNQkVSX0ZVTkNUSU9OX0NBTExBQkxFX1dJVEhfTlNfRU5EICAgfX19CisjZGVmaW5lIEJPT1NUX1BQX0lURVJBVElPTl9QQVJBTVNfMSAoMywgKDAsIDAsIDxuZG5ib29zdC9pbnRydXNpdmUvZGV0YWlsL2hhc19tZW1iZXJfZnVuY3Rpb25fY2FsbGFibGVfd2l0aC5ocHA+KSkKKyNpbmNsdWRlIEJPT1NUX1BQX0lURVJBVEUoKQorCisjZGVmaW5lIEJPT1NUX0lOVFJVU0lWRV9IQVNfTUVNQkVSX0ZVTkNUSU9OX0NBTExBQkxFX1dJVEhfRlVOQ05BTUUgc2VsZWN0X29uX2NvbnRhaW5lcl9jb3B5X2NvbnN0cnVjdGlvbgorI2RlZmluZSBCT09TVF9JTlRSVVNJVkVfSEFTX01FTUJFUl9GVU5DVElPTl9DQUxMQUJMRV9XSVRIX05TX0JFR0lOIG5hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBjb250YWluZXIgeyBuYW1lc3BhY2UgY29udGFpbmVyX2RldGFpbCB7CisjZGVmaW5lIEJPT1NUX0lOVFJVU0lWRV9IQVNfTUVNQkVSX0ZVTkNUSU9OX0NBTExBQkxFX1dJVEhfTlNfRU5EICAgfX19CisjZGVmaW5lIEJPT1NUX1BQX0lURVJBVElPTl9QQVJBTVNfMSAoMywgKDAsIDAsIDxuZG5ib29zdC9pbnRydXNpdmUvZGV0YWlsL2hhc19tZW1iZXJfZnVuY3Rpb25fY2FsbGFibGVfd2l0aC5ocHA+KSkKKyNpbmNsdWRlIEJPT1NUX1BQX0lURVJBVEUoKQorCisjZGVmaW5lIEJPT1NUX0lOVFJVU0lWRV9IQVNfTUVNQkVSX0ZVTkNUSU9OX0NBTExBQkxFX1dJVEhfRlVOQ05BTUUgY29uc3RydWN0CisjZGVmaW5lIEJPT1NUX0lOVFJVU0lWRV9IQVNfTUVNQkVSX0ZVTkNUSU9OX0NBTExBQkxFX1dJVEhfTlNfQkVHSU4gbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIGNvbnRhaW5lciB7IG5hbWVzcGFjZSBjb250YWluZXJfZGV0YWlsIHsKKyNkZWZpbmUgQk9PU1RfSU5UUlVTSVZFX0hBU19NRU1CRVJfRlVOQ1RJT05fQ0FMTEFCTEVfV0lUSF9OU19FTkQgICB9fX0KKyNkZWZpbmUgQk9PU1RfUFBfSVRFUkFUSU9OX1BBUkFNU18xICgzLCAoMCwgQk9PU1RfQ09OVEFJTkVSX01BWF9DT05TVFJVQ1RPUl9QQVJBTUVURVJTKzEsIDxuZG5ib29zdC9pbnRydXNpdmUvZGV0YWlsL2hhc19tZW1iZXJfZnVuY3Rpb25fY2FsbGFibGVfd2l0aC5ocHA+KSkKKyNpbmNsdWRlIEJPT1NUX1BQX0lURVJBVEUoKQorCisjZGVmaW5lIEJPT1NUX0lOVFJVU0lWRV9IQVNfTUVNQkVSX0ZVTkNUSU9OX0NBTExBQkxFX1dJVEhfRlVOQ05BTUUgc3dhcAorI2RlZmluZSBCT09TVF9JTlRSVVNJVkVfSEFTX01FTUJFUl9GVU5DVElPTl9DQUxMQUJMRV9XSVRIX05TX0JFR0lOIG5hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBjb250YWluZXIgeyBuYW1lc3BhY2UgY29udGFpbmVyX2RldGFpbCB7CisjZGVmaW5lIEJPT1NUX0lOVFJVU0lWRV9IQVNfTUVNQkVSX0ZVTkNUSU9OX0NBTExBQkxFX1dJVEhfTlNfRU5EICAgfX19CisjZGVmaW5lIEJPT1NUX1BQX0lURVJBVElPTl9QQVJBTVNfMSAoMywgKDAsIDEsIDxuZG5ib29zdC9pbnRydXNpdmUvZGV0YWlsL2hhc19tZW1iZXJfZnVuY3Rpb25fY2FsbGFibGVfd2l0aC5ocHA+KSkKKyNpbmNsdWRlIEJPT1NUX1BQX0lURVJBVEUoKQorCituYW1lc3BhY2UgbmRuYm9vc3QgeworbmFtZXNwYWNlIGNvbnRhaW5lciB7CituYW1lc3BhY2UgY29udGFpbmVyX2RldGFpbCB7CisKKworQk9PU1RfSU5UUlVTSVZFX0lOU1RBTlRJQVRFX0RFRkFVTFRfVFlQRV9UTVBMVChwb2ludGVyKQorQk9PU1RfSU5UUlVTSVZFX0lOU1RBTlRJQVRFX0RFRkFVTFRfVFlQRV9UTVBMVChjb25zdF9wb2ludGVyKQorQk9PU1RfSU5UUlVTSVZFX0lOU1RBTlRJQVRFX0RFRkFVTFRfVFlQRV9UTVBMVChyZWZlcmVuY2UpCitCT09TVF9JTlRSVVNJVkVfSU5TVEFOVElBVEVfREVGQVVMVF9UWVBFX1RNUExUKGNvbnN0X3JlZmVyZW5jZSkKK0JPT1NUX0lOVFJVU0lWRV9JTlNUQU5USUFURV9ERUZBVUxUX1RZUEVfVE1QTFQodm9pZF9wb2ludGVyKQorQk9PU1RfSU5UUlVTSVZFX0lOU1RBTlRJQVRFX0RFRkFVTFRfVFlQRV9UTVBMVChjb25zdF92b2lkX3BvaW50ZXIpCitCT09TVF9JTlRSVVNJVkVfSU5TVEFOVElBVEVfREVGQVVMVF9UWVBFX1RNUExUKHNpemVfdHlwZSkKK0JPT1NUX0lOVFJVU0lWRV9JTlNUQU5USUFURV9ERUZBVUxUX1RZUEVfVE1QTFQocHJvcGFnYXRlX29uX2NvbnRhaW5lcl9jb3B5X2Fzc2lnbm1lbnQpCitCT09TVF9JTlRSVVNJVkVfSU5TVEFOVElBVEVfREVGQVVMVF9UWVBFX1RNUExUKHByb3BhZ2F0ZV9vbl9jb250YWluZXJfbW92ZV9hc3NpZ25tZW50KQorQk9PU1RfSU5UUlVTSVZFX0lOU1RBTlRJQVRFX0RFRkFVTFRfVFlQRV9UTVBMVChwcm9wYWdhdGVfb25fY29udGFpbmVyX3N3YXApCitCT09TVF9JTlRSVVNJVkVfSU5TVEFOVElBVEVfREVGQVVMVF9UWVBFX1RNUExUKGRpZmZlcmVuY2VfdHlwZSkKKworfSAgLy9uYW1lc3BhY2UgY29udGFpbmVyX2RldGFpbCB7Cit9ICAvL25hbWVzcGFjZSBjb250YWluZXIgeworfSAgLy9uYW1lc3BhY2UgbmRuYm9vc3QgeworCisjaW5jbHVkZSA8bmRuYm9vc3QvY29udGFpbmVyL2RldGFpbC9jb25maWdfZW5kLmhwcD4KKworI2VuZGlmIC8vICEgZGVmaW5lZChCT09TVF9DT05UQUlORVJfQUxMT0NBVE9SX01FTU9SWV9VVElMX0hQUCkKZGlmZiAtLWdpdCBhL25kbmJvb3N0L2NvbnRhaW5lci9kZXRhaWwvbXBsLmhwcCBiL25kbmJvb3N0L2NvbnRhaW5lci9kZXRhaWwvbXBsLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMjgxNDE5Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvY29udGFpbmVyL2RldGFpbC9tcGwuaHBwCkBAIC0wLDAgKzEsMTYwIEBACisvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKy8vCisvLyAoQykgQ29weXJpZ2h0IElvbiBHYXp0YW5hZ2EgMjAwNS0yMDEyLgorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4KKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisvLyBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvbGlicy9jb250YWluZXIgZm9yIGRvY3VtZW50YXRpb24uCisvLworLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCisKKyNpZm5kZWYgQk9PU1RfQ09OVEFJTkVSX0NPTlRBSU5FUl9ERVRBSUxfTVBMX0hQUAorI2RlZmluZSBCT09TVF9DT05UQUlORVJfQ09OVEFJTkVSX0RFVEFJTF9NUExfSFBQCisKKyNpZiAoZGVmaW5lZCBfTVNDX1ZFUikgJiYgKF9NU0NfVkVSID49IDEyMDApCisjICBwcmFnbWEgb25jZQorI2VuZGlmCisKKyNpbmNsdWRlIDxjc3RkZGVmPgorCituYW1lc3BhY2UgbmRuYm9vc3QgeworbmFtZXNwYWNlIGNvbnRhaW5lciB7CituYW1lc3BhY2UgY29udGFpbmVyX2RldGFpbCB7CisKK3RlbXBsYXRlIDxjbGFzcyBULCBUIHZhbD4KK3N0cnVjdCBpbnRlZ3JhbF9jb25zdGFudAoreworICAgc3RhdGljIGNvbnN0IFQgdmFsdWUgPSB2YWw7CisgICB0eXBlZGVmIGludGVncmFsX2NvbnN0YW50PFQsdmFsPiB0eXBlOworfTsKKwordGVtcGxhdGU8IGJvb2wgQ18gPgorc3RydWN0IGJvb2xfIDogaW50ZWdyYWxfY29uc3RhbnQ8Ym9vbCwgQ18+Cit7CisgICBzdGF0aWMgY29uc3QgYm9vbCB2YWx1ZSA9IENfOworICAgb3BlcmF0b3IgYm9vbCgpIGNvbnN0IHsgcmV0dXJuIGJvb2xfOjp2YWx1ZTsgfQorfTsKKwordHlwZWRlZiBib29sXzx0cnVlPiAgICAgICAgdHJ1ZV87Cit0eXBlZGVmIGJvb2xfPGZhbHNlPiAgICAgICBmYWxzZV87CisKK3R5cGVkZWYgdHJ1ZV8gIHRydWVfdHlwZTsKK3R5cGVkZWYgZmFsc2VfIGZhbHNlX3R5cGU7CisKK3R5cGVkZWYgY2hhciB5ZXNfdHlwZTsKK3N0cnVjdCBub190eXBlCit7CisgICBjaGFyIHBhZGRpbmdbOF07Cit9OworCit0ZW1wbGF0ZSA8Ym9vbCBCLCBjbGFzcyBUID0gdm9pZD4KK3N0cnVjdCBlbmFibGVfaWZfYyB7CisgIHR5cGVkZWYgVCB0eXBlOworfTsKKwordGVtcGxhdGUgPGNsYXNzIFQ+CitzdHJ1Y3QgZW5hYmxlX2lmX2M8ZmFsc2UsIFQ+IHt9OworCit0ZW1wbGF0ZSA8Y2xhc3MgQ29uZCwgY2xhc3MgVCA9IHZvaWQ+CitzdHJ1Y3QgZW5hYmxlX2lmIDogcHVibGljIGVuYWJsZV9pZl9jPENvbmQ6OnZhbHVlLCBUPiB7fTsKKwordGVtcGxhdGUgPGNsYXNzIENvbmQsIGNsYXNzIFQgPSB2b2lkPgorc3RydWN0IGRpc2FibGVfaWYgOiBwdWJsaWMgZW5hYmxlX2lmX2M8IUNvbmQ6OnZhbHVlLCBUPiB7fTsKKwordGVtcGxhdGUgPGJvb2wgQiwgY2xhc3MgVCA9IHZvaWQ+CitzdHJ1Y3QgZGlzYWJsZV9pZl9jIDogcHVibGljIGVuYWJsZV9pZl9jPCFCLCBUPiB7fTsKKwordGVtcGxhdGUgPGNsYXNzIFQsIGNsYXNzIFU+CitjbGFzcyBpc19jb252ZXJ0aWJsZQoreworICAgdHlwZWRlZiBjaGFyIHRydWVfdDsKKyAgIGNsYXNzIGZhbHNlX3QgeyBjaGFyIGR1bW15WzJdOyB9OworICAgc3RhdGljIHRydWVfdCBkaXNwYXRjaChVKTsKKyAgIHN0YXRpYyBmYWxzZV90IGRpc3BhdGNoKC4uLik7CisgICBzdGF0aWMgVCB0cmlnZ2VyKCk7CisgICBwdWJsaWM6CisgICBlbnVtIHsgdmFsdWUgPSBzaXplb2YoZGlzcGF0Y2godHJpZ2dlcigpKSkgPT0gc2l6ZW9mKHRydWVfdCkgfTsKK307CisKK3RlbXBsYXRlPAorICAgICAgYm9vbCBDCisgICAgLCB0eXBlbmFtZSBUMQorICAgICwgdHlwZW5hbWUgVDIKKyAgICA+CitzdHJ1Y3QgaWZfYworeworICAgIHR5cGVkZWYgVDEgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDEKKyAgICAsIHR5cGVuYW1lIFQyCisgICAgPgorc3RydWN0IGlmX2M8ZmFsc2UsVDEsVDI+Cit7CisgICAgdHlwZWRlZiBUMiB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMQorICAgICwgdHlwZW5hbWUgVDIKKyAgICAsIHR5cGVuYW1lIFQzCisgICAgPgorc3RydWN0IGlmXworeworICAgdHlwZWRlZiB0eXBlbmFtZSBpZl9jPDAgIT0gVDE6OnZhbHVlLCBUMiwgVDM+Ojp0eXBlIHR5cGU7Cit9OworCisKK3RlbXBsYXRlIDxjbGFzcyBQYWlyPgorc3RydWN0IHNlbGVjdDFzdAorLy8gICA6IHB1YmxpYyBzdGQ6OnVuYXJ5X2Z1bmN0aW9uPFBhaXIsIHR5cGVuYW1lIFBhaXI6OmZpcnN0X3R5cGU+Cit7CisgICB0ZW1wbGF0ZTxjbGFzcyBPdGhlclBhaXI+CisgICBjb25zdCB0eXBlbmFtZSBQYWlyOjpmaXJzdF90eXBlJiBvcGVyYXRvcigpKGNvbnN0IE90aGVyUGFpciYgeCkgY29uc3QKKyAgIHsgIHJldHVybiB4LmZpcnN0OyAgIH0KKworICAgY29uc3QgdHlwZW5hbWUgUGFpcjo6Zmlyc3RfdHlwZSYgb3BlcmF0b3IoKShjb25zdCB0eXBlbmFtZSBQYWlyOjpmaXJzdF90eXBlJiB4KSBjb25zdAorICAgeyAgcmV0dXJuIHg7ICAgfQorfTsKKworLy8gaWRlbnRpdHkgaXMgYW4gZXh0ZW5zaW9uOiBpdCBpcyBub3QgcGFydCBvZiB0aGUgc3RhbmRhcmQuCit0ZW1wbGF0ZSA8Y2xhc3MgVD4KK3N0cnVjdCBpZGVudGl0eQorLy8gICA6IHB1YmxpYyBzdGQ6OnVuYXJ5X2Z1bmN0aW9uPFQsVD4KK3sKKyAgIHR5cGVkZWYgVCB0eXBlOworICAgY29uc3QgVCYgb3BlcmF0b3IoKShjb25zdCBUJiB4KSBjb25zdAorICAgeyByZXR1cm4geDsgfQorfTsKKwordGVtcGxhdGU8c3RkOjpzaXplX3QgUz4KK3N0cnVjdCBsc196ZXJvcworeworICAgc3RhdGljIGNvbnN0IHN0ZDo6c2l6ZV90IHZhbHVlID0gKFMgJiBzdGQ6OnNpemVfdCgxKSkgPyAwIDogKDF1ICsgbHNfemVyb3M8KFMgPj4gMXUpPjo6dmFsdWUpOworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGxzX3plcm9zPDA+Cit7CisgICBzdGF0aWMgY29uc3Qgc3RkOjpzaXplX3QgdmFsdWUgPSAwOworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGxzX3plcm9zPDE+Cit7CisgICBzdGF0aWMgY29uc3Qgc3RkOjpzaXplX3QgdmFsdWUgPSAwOworfTsKKwordGVtcGxhdGUgPHR5cGVuYW1lIFQ+IHN0cnVjdCB1bnZvaWQgeyB0eXBlZGVmIFQgdHlwZTsgfTsKK3RlbXBsYXRlIDw+IHN0cnVjdCB1bnZvaWQ8dm9pZD4geyBzdHJ1Y3QgdHlwZSB7IH07IH07Cit0ZW1wbGF0ZSA8PiBzdHJ1Y3QgdW52b2lkPGNvbnN0IHZvaWQ+IHsgc3RydWN0IHR5cGUgeyB9OyB9OworCit9ICAvL25hbWVzcGFjZSBjb250YWluZXJfZGV0YWlsIHsKK30gIC8vbmFtZXNwYWNlIGNvbnRhaW5lciB7Cit9ICAvL25hbWVzcGFjZSBuZG5ib29zdCB7CisKKyNlbmRpZiAgIC8vI2lmbmRlZiBCT09TVF9DT05UQUlORVJfQ09OVEFJTkVSX0RFVEFJTF9NUExfSFBQCisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L2NvbnRhaW5lci9kZXRhaWwvcHJlcHJvY2Vzc29yLmhwcCBiL25kbmJvb3N0L2NvbnRhaW5lci9kZXRhaWwvcHJlcHJvY2Vzc29yLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yYTU4NTRkCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvY29udGFpbmVyL2RldGFpbC9wcmVwcm9jZXNzb3IuaHBwCkBAIC0wLDAgKzEsMjMyIEBACisvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKy8vCisvLyAoQykgQ29weXJpZ2h0IElvbiBHYXp0YW5hZ2EgMjAwOC0yMDEyLiBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QKKy8vIFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAoU2VlIGFjY29tcGFueWluZyBmaWxlCisvLyBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworLy8gU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL2xpYnMvY29udGFpbmVyIGZvciBkb2N1bWVudGF0aW9uLgorLy8KKy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworCisjaWZuZGVmIEJPT1NUX0NPTlRBSU5FUl9ERVRBSUxfUFJFUFJPQ0VTU09SX0hQUAorI2RlZmluZSBCT09TVF9DT05UQUlORVJfREVUQUlMX1BSRVBST0NFU1NPUl9IUFAKKworI2lmIChkZWZpbmVkIF9NU0NfVkVSKSAmJiAoX01TQ19WRVIgPj0gMTIwMCkKKyMgIHByYWdtYSBvbmNlCisjZW5kaWYKKworI2luY2x1ZGUgPG5kbmJvb3N0L2NvbnRhaW5lci9kZXRhaWwvY29uZmlnX2JlZ2luLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9jb250YWluZXIvZGV0YWlsL3dvcmthcm91bmQuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21vdmUvdXRpbGl0eS5ocHA+CisKKyNpZmRlZiBCT09TVF9DT05UQUlORVJfUEVSRkVDVF9GT1JXQVJESU5HCisvLyNlcnJvciAiVGhpcyBmaWxlIGlzIG5vdCBuZWVkZWQgd2hlbiBwZXJmZWN0IGZvcndhcmRpbmcgaXMgYXZhaWxhYmxlIgorI2VuZGlmICAgLy9CT09TVF9DT05UQUlORVJfUEVSRkVDVF9GT1JXQVJESU5HCisKKyNpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3IvaXRlcmF0aW9uL2xvY2FsLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3IvcHVuY3R1YXRpb24vcGFyZW5faWYuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9wdW5jdHVhdGlvbi9jb21tYV9pZi5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL2NvbnRyb2wvZXhwcl9pZi5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL2NhdC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL3JlcGV0aXRpb24vZW51bS5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL3JlcGV0aXRpb24vZW51bV9wYXJhbXMuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9yZXBldGl0aW9uL2VudW1fdHJhaWxpbmdfcGFyYW1zLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3IvcmVwZXRpdGlvbi9lbnVtX3RyYWlsaW5nLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3IvcmVwZXRpdGlvbi9lbnVtX3NoaWZ0ZWRfcGFyYW1zLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3IvcmVwZXRpdGlvbi9lbnVtX3NoaWZ0ZWQuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9yZXBldGl0aW9uL3JlcGVhdC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL2xvZ2ljYWwvbm90LmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3IvYXJpdGhtZXRpYy9zdWIuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9hcml0aG1ldGljL2FkZC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL2l0ZXJhdGlvbi9pdGVyYXRlLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tb3ZlL3V0aWxpdHkuaHBwPgorCisjZGVmaW5lIEJPT1NUX0NPTlRBSU5FUl9NQVhfQ09OU1RSVUNUT1JfUEFSQU1FVEVSUyAxMAorCisvL05vdGU6CisvL1dlIGRlZmluZSB0ZW1wbGF0ZSBwYXJhbWV0ZXJzIGFzIGNvbnN0IHJlZmVyZW5jZXMgdG8KKy8vYmUgYWJsZSB0byBiaW5kIHRlbXBvcmFyaWVzLiBBZnRlciB0aGF0IHdlIHdpbGwgdW4tY29uc3QgdGhlbS4KKy8vVGhpcyBjYXN0IGlzIHVnbHkgYnV0IGl0IGlzIG5lY2Vzc2FyeSB1bnRpbCAicGVyZmVjdCBmb3J3YXJkaW5nIgorLy9pcyBhY2hpZXZlZCBpbiBDKysweC4gTWVhbndoaWxlLCBpZiB3ZSB3YW50IHRvIGJlIGFibGUgdG8KKy8vYmluZCBydmFsdWVzIHdpdGggbm9uLWNvbnN0IHJlZmVyZW5jZXMsIHdlIGhhdmUgdG8gYmUgdWdseQorI2lmbmRlZiBCT09TVF9OT19DWFgxMV9SVkFMVUVfUkVGRVJFTkNFUworICAgI2RlZmluZSBCT09TVF9DT05UQUlORVJfUFBfUEFSQU1fTElTVCh6LCBuLCBkYXRhKSBcCisgICBCT09TVF9QUF9DQVQoUCwgbikgJiYgQk9PU1RfUFBfQ0FUKHAsIG4pIFwKKyAgIC8vIQorI2Vsc2UKKyAgICNkZWZpbmUgQk9PU1RfQ09OVEFJTkVSX1BQX1BBUkFNX0xJU1QoeiwgbiwgZGF0YSkgXAorICAgY29uc3QgQk9PU1RfUFBfQ0FUKFAsIG4pICYgQk9PU1RfUFBfQ0FUKHAsIG4pIFwKKyAgIC8vIQorI2VuZGlmICAgLy8jaWZuZGVmIEJPT1NUX05PX0NYWDExX1JWQUxVRV9SRUZFUkVOQ0VTCisKKyNkZWZpbmUgQk9PU1RfQ09OVEFJTkVSX1BQX0NPTlNUX1JFRl9QQVJBTV9MSVNUX1EoeiwgbiwgRGF0YSkgXAorY29uc3QgQk9PU1RfUFBfQ0FUKFEsIG4pICYgQk9PU1RfUFBfQ0FUKHEsIG4pIFwKKy8vIQorCisjaWZuZGVmIEJPT1NUX05PX0NYWDExX1JWQUxVRV9SRUZFUkVOQ0VTCisgICAjZGVmaW5lIEJPT1NUX0NPTlRBSU5FUl9QUF9QQVJBTShVLCB1KSBcCisgICBVICYmIHUgXAorICAgLy8hCisjZWxzZQorICAgI2RlZmluZSBCT09TVF9DT05UQUlORVJfUFBfUEFSQU0oVSwgdSkgXAorICAgY29uc3QgVSAmIHUgXAorICAgLy8hCisjZW5kaWYgICAvLyNpZm5kZWYgQk9PU1RfTk9fQ1hYMTFfUlZBTFVFX1JFRkVSRU5DRVMKKworI2lmbmRlZiBCT09TVF9OT19DWFgxMV9SVkFMVUVfUkVGRVJFTkNFUworCisgICAjZGVmaW5lIEJPT1NUX0NPTlRBSU5FUl9QUF9QQVJBTV9JTklUKHosIG4sIGRhdGEpIFwKKyAgIEJPT1NUX1BQX0NBVChtX3AsIG4pICg6Om5kbmJvb3N0Ojpmb3J3YXJkPCBCT09TVF9QUF9DQVQoUCwgbikgPiggQk9PU1RfUFBfQ0FUKHAsIG4pICkpICAgICAgICAgICBcCisgICAvLyEKKworI2Vsc2UgLy9CT09TVF9OT19DWFgxMV9SVkFMVUVfUkVGRVJFTkNFUworCisgICAjZGVmaW5lIEJPT1NUX0NPTlRBSU5FUl9QUF9QQVJBTV9JTklUKHosIG4sIGRhdGEpIFwKKyAgIEJPT1NUX1BQX0NBVChtX3AsIG4pIChjb25zdF9jYXN0PEJPT1NUX1BQX0NBVChQLCBuKSAmPihCT09TVF9QUF9DQVQocCwgbikpKSBcCisgICAvLyEKKyNlbmRpZiAgIC8vI2lmbmRlZiBCT09TVF9OT19DWFgxMV9SVkFMVUVfUkVGRVJFTkNFUworCisjaWZuZGVmIEJPT1NUX05PX0NYWDExX1JWQUxVRV9SRUZFUkVOQ0VTCisKKyAgICNpZiBkZWZpbmVkKEJPT1NUX01PVkVfTVNWQ18xMF9NRU1CRVJfUlZBTFVFX1JFRl9CVUcpCisKKyAgICAgIG5hbWVzcGFjZSBuZG5ib29zdCB7CisgICAgICBuYW1lc3BhY2UgY29udGFpbmVyIHsKKyAgICAgIG5hbWVzcGFjZSBjb250YWluZXJfZGV0YWlsIHsKKyAgICAgICAgIHRlbXBsYXRlPGNsYXNzIFQ+CisgICAgICAgICBzdHJ1Y3QgcmVmX2hvbGRlcjsKKworICAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVD4KKyAgICAgICAgIHN0cnVjdCByZWZfaG9sZGVyPFQgJj4KKyAgICAgICAgIHsKKyAgICAgICAgICAgIGV4cGxpY2l0IHJlZl9ob2xkZXIoVCAmdCkKKyAgICAgICAgICAgICAgIDogdF8odCkKKyAgICAgICAgICAgIHt9CisgICAgICAgICAgICBUICZ0XzsKKyAgICAgICAgICAgIFQgJiBnZXQoKSB7ICByZXR1cm4gdF87ICAgfQorICAgICAgICAgfTsKKworICAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVD4KKyAgICAgICAgIHN0cnVjdCByZWZfaG9sZGVyPGNvbnN0IFQ+CisgICAgICAgICB7CisgICAgICAgICAgICBleHBsaWNpdCByZWZfaG9sZGVyKGNvbnN0IFQgJnQpCisgICAgICAgICAgICAgICA6IHRfKHQpCisgICAgICAgICAgICB7fQorICAgICAgICAgICAgY29uc3QgVCAmdF87CisgICAgICAgICAgICBjb25zdCBUICYgZ2V0KCkgeyAgcmV0dXJuIHRfOyAgIH0KKyAgICAgICAgIH07CisKKyAgICAgICAgIHRlbXBsYXRlPGNsYXNzIFQ+CisgICAgICAgICBzdHJ1Y3QgcmVmX2hvbGRlcjxjb25zdCBUICYmPgorICAgICAgICAgeworICAgICAgICAgICAgZXhwbGljaXQgcmVmX2hvbGRlcihjb25zdCBUICZ0KQorICAgICAgICAgICAgICAgOiB0Xyh0KQorICAgICAgICAgICAge30KKyAgICAgICAgICAgIGNvbnN0IFQgJnRfOworICAgICAgICAgICAgY29uc3QgVCAmIGdldCgpIHsgIHJldHVybiB0XzsgICB9CisgICAgICAgICB9OworCisgICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBUPgorICAgICAgICAgc3RydWN0IHJlZl9ob2xkZXIKKyAgICAgICAgIHsKKyAgICAgICAgICAgIGV4cGxpY2l0IHJlZl9ob2xkZXIoVCAmJnQpCisgICAgICAgICAgICAgICA6IHRfKHQpCisgICAgICAgICAgICB7fQorICAgICAgICAgICAgVCAmdF87CisgICAgICAgICAgICBUICYmIGdldCgpIHsgIHJldHVybiA6Om5kbmJvb3N0Ojptb3ZlKHRfKTsgICB9CisgICAgICAgICB9OworCisgICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBUPgorICAgICAgICAgc3RydWN0IHJlZl9ob2xkZXI8VCAmJj4KKyAgICAgICAgIHsKKyAgICAgICAgICAgIGV4cGxpY2l0IHJlZl9ob2xkZXIoVCAmJnQpCisgICAgICAgICAgICAgICA6IHRfKHQpCisgICAgICAgICAgICB7fQorICAgICAgICAgICAgVCAmdF87CisgICAgICAgICAgICBUICYmIGdldCgpICB7IHJldHVybiA6Om5kbmJvb3N0Ojptb3ZlKHRfKTsgfQorICAgICAgICAgfTsKKworICAgICAgfSAgLy9uYW1lc3BhY2UgY29udGFpbmVyX2RldGFpbCB7CisgICAgICB9ICAvL25hbWVzcGFjZSBjb250YWluZXIgeworICAgICAgfSAgLy9uYW1lc3BhY2UgbmRuYm9vc3QgeworCisgICAgICAjZGVmaW5lIEJPT1NUX0NPTlRBSU5FUl9QUF9QQVJBTV9ERUZJTkUoeiwgbiwgZGF0YSkgIFwKKyAgICAgICAgIDo6bmRuYm9vc3Q6OmNvbnRhaW5lcjo6Y29udGFpbmVyX2RldGFpbDo6cmVmX2hvbGRlcjxCT09TVF9QUF9DQVQoUCwgbik+IEJPT1NUX1BQX0NBVChtX3AsIG4pOyAgXAorICAgICAgLy8hCisKKyAgICNlbHNlIC8vQk9PU1RfTU9WRV9NU1ZDXzEwX01FTUJFUl9SVkFMVUVfUkVGX0JVRworCisgICAgICAjZGVmaW5lIEJPT1NUX0NPTlRBSU5FUl9QUF9QQVJBTV9ERUZJTkUoeiwgbiwgZGF0YSkgIFwKKyAgICAgIEJPT1NUX1BQX0NBVChQLCBuKSAmJiBCT09TVF9QUF9DQVQobV9wLCBuKTsgICAgICAgICAgICBcCisgICAgICAvLyEKKworICAgI2VuZGlmIC8vZGVmaW5lZChCT09TVF9NT1ZFX01TVkNfMTBfTUVNQkVSX1JWQUxVRV9SRUZfQlVHKQorCisjZWxzZSAvL0JPT1NUX05PX0NYWDExX1JWQUxVRV9SRUZFUkVOQ0VTCisKKyAgICNkZWZpbmUgQk9PU1RfQ09OVEFJTkVSX1BQX1BBUkFNX0RFRklORSh6LCBuLCBkYXRhKSAgXAorICAgQk9PU1RfUFBfQ0FUKFAsIG4pICYgQk9PU1RfUFBfQ0FUKG1fcCwgbik7ICAgICAgICAgICAgIFwKKyAgIC8vIQorI2VuZGlmICAgLy8jaWZuZGVmIEJPT1NUX05PX0NYWDExX1JWQUxVRV9SRUZFUkVOQ0VTCisKKyNpZiAhZGVmaW5lZChCT09TVF9OT19DWFgxMV9SVkFMVUVfUkVGRVJFTkNFUykgJiYgZGVmaW5lZChCT09TVF9NT1ZFX01TVkNfMTBfTUVNQkVSX1JWQUxVRV9SRUZfQlVHKQorCisgICAjZGVmaW5lIEJPT1NUX0NPTlRBSU5FUl9QUF9NRU1CRVJfRk9SV0FSRCh6LCBuLCBkYXRhKSBCT09TVF9QUF9DQVQodGhpcy0+bV9wLCBuKS5nZXQoKSBcCisgICAvLyEKKworI2Vsc2UgLy8hZGVmaW5lZChCT09TVF9OT19DWFgxMV9SVkFMVUVfUkVGRVJFTkNFUykgJiYgZGVmaW5lZChCT09TVF9NT1ZFX01TVkNfMTBfTUVNQkVSX1JWQUxVRV9SRUZfQlVHKQorCisgICAjZGVmaW5lIEJPT1NUX0NPTlRBSU5FUl9QUF9NRU1CRVJfRk9SV0FSRCh6LCBuLCBkYXRhKSBcCisgICA6Om5kbmJvb3N0Ojpmb3J3YXJkPCBCT09TVF9QUF9DQVQoUCwgbikgPiggQk9PU1RfUFBfQ0FUKHRoaXMtPm1fcCwgbikgKSBcCisgICAvLyEKKworI2VuZGlmICAgLy8hZGVmaW5lZChCT09TVF9OT19DWFgxMV9SVkFMVUVfUkVGRVJFTkNFUykgJiYgZGVmaW5lZChCT09TVF9NT1ZFX01TVkNfMTBfTUVNQkVSX1JWQUxVRV9SRUZfQlVHKQorCisjZGVmaW5lIEJPT1NUX0NPTlRBSU5FUl9QUF9QQVJBTV9JTkMoeiwgbiwgZGF0YSkgICBcCisgIEJPT1NUX1BQX0NBVCgrK3RoaXMtPm1fcCwgbikgICAgICAgICAgICAgICAgICAgICBcCisvLyEKKworI2RlZmluZSBCT09TVF9DT05UQUlORVJfUFBfSURFTlRJVFkoeiwgbiwgZGF0YSkgZGF0YQorCisKKyNkZWZpbmUgQk9PU1RfQ09OVEFJTkVSX1BQX1BBUkFNX0ZPUldBUkQoeiwgbiwgZGF0YSkgXAorOjpuZG5ib29zdDo6Zm9yd2FyZDwgQk9PU1RfUFBfQ0FUKFAsIG4pID4oIEJPT1NUX1BQX0NBVChwLCBuKSApIFwKKy8vIQorCisjZGVmaW5lIEJPT1NUX0NPTlRBSU5FUl9QUF9ERUNMVkFMKHosIG4sIGRhdGEpIFwKKzo6bmRuYm9vc3Q6Om1vdmVfZGV0YWlsOjpkZWNsdmFsPCBCT09TVF9QUF9DQVQoUCwgbikgPigpIFwKKy8vIQorCisjZGVmaW5lIEJPT1NUX0NPTlRBSU5FUl9QUF9NRU1CRVJfSVRfRk9SV0FSRCh6LCBuLCBkYXRhKSBcCitCT09TVF9QUF9DQVQoKnRoaXMtPm1fcCwgbikgXAorLy8hCisKKyNkZWZpbmUgQk9PU1RfQ09OVEFJTkVSX1BQX1RFTVBMQVRFX1BBUkFNX1ZPSURfREVGQVVMVCh6LCBuLCBkYXRhKSAgIFwKKyAgQk9PU1RfUFBfQ0FUKGNsYXNzIFAsIG4pID0gdm9pZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKy8vIQorCisjZGVmaW5lIEJPT1NUX0NPTlRBSU5FUl9QUF9URU1QTEFURV9QQVJBTV9XSVRIX0RFRkFVTFQoeiwgbiwgZGVmYXVsdF90eXBlKSBcCisgIEJPT1NUX1BQX0NBVChjbGFzcyBQLCBuKSA9IGRlZmF1bHRfdHlwZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisvLyEKKworI2RlZmluZSBCT09TVF9DT05UQUlORVJfUFBfU1RBVElDX1BBUkFNX1JFRl9ERUNMQVJFKHosIG4sIGRhdGEpIFwKKyAgIHN0YXRpYyBCT09TVF9QUF9DQVQoUCwgbikgJiBCT09TVF9QUF9DQVQocCwgbik7IFwKKy8vIQorCisjZGVmaW5lIEJPT1NUX0NPTlRBSU5FUl9QUF9QQVJBTV9QQVNTKHosIG4sIGRhdGEpIFwKKyAgIEJPT1NUX1BQX0NBVChwLCBuKSBcCisvLyEKKworI2RlZmluZSBCT09TVF9DT05UQUlORVJfUFBfRldEX1RZUEUoeiwgbiwgZGF0YSkgXAorICAgdHlwZW5hbWUgOjpuZG5ib29zdDo6bW92ZV9kZXRhaWw6OmZvcndhcmRfdHlwZTwgQk9PU1RfUFBfQ0FUKFAsIG4pID46OnR5cGUgXAorLy8hCisKKyNpbmNsdWRlIDxuZG5ib29zdC9jb250YWluZXIvZGV0YWlsL2NvbmZpZ19lbmQuaHBwPgorCisvLyNlbHNlCisKKy8vI2lmZGVmIEJPT1NUX0NPTlRBSU5FUl9QRVJGRUNUX0ZPUldBUkRJTkcKKy8vI2Vycm9yICJUaGlzIGZpbGUgaXMgbm90IG5lZWRlZCB3aGVuIHBlcmZlY3QgZm9yd2FyZGluZyBpcyBhdmFpbGFibGUiCisvLyNlbmRpZiAgIC8vQk9PU1RfQ09OVEFJTkVSX1BFUkZFQ1RfRk9SV0FSRElORworCisjZW5kaWYgLy8jaWZuZGVmIEJPT1NUX0NPTlRBSU5FUl9ERVRBSUxfUFJFUFJPQ0VTU09SX0hQUApkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvY29udGFpbmVyL2RldGFpbC93b3JrYXJvdW5kLmhwcCBiL25kbmJvb3N0L2NvbnRhaW5lci9kZXRhaWwvd29ya2Fyb3VuZC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZThkNzdjMAotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L2NvbnRhaW5lci9kZXRhaWwvd29ya2Fyb3VuZC5ocHAKQEAgLTAsMCArMSw0NCBAQAorLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCisvLworLy8gKEMpIENvcHlyaWdodCBJb24gR2F6dGFuYWdhIDIwMDUtMjAxMi4gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0CisvLyBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZQorLy8gTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKy8vIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL2NvbnRhaW5lciBmb3IgZG9jdW1lbnRhdGlvbi4KKy8vCisvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKworI2lmbmRlZiBCT09TVF9DT05UQUlORVJfREVUQUlMX1dPUktBUk9VTkRfSFBQCisjZGVmaW5lIEJPT1NUX0NPTlRBSU5FUl9ERVRBSUxfV09SS0FST1VORF9IUFAKKworI2luY2x1ZGUgPG5kbmJvb3N0L2NvbnRhaW5lci9kZXRhaWwvY29uZmlnX2JlZ2luLmhwcD4KKworI2lmICAgICFkZWZpbmVkKEJPT1NUX05PX0NYWDExX1JWQUxVRV9SRUZFUkVOQ0VTKSAmJiAhZGVmaW5lZChCT09TVF9OT19DWFgxMV9WQVJJQURJQ19URU1QTEFURVMpXAorICAgICYmICFkZWZpbmVkKEJPT1NUX0lOVEVSUFJPQ0VTU19ESVNBQkxFX1ZBUklBRElDX1RNUEwpCisgICAjZGVmaW5lIEJPT1NUX0NPTlRBSU5FUl9QRVJGRUNUX0ZPUldBUkRJTkcKKyNlbmRpZgorCisjaWYgZGVmaW5lZChCT09TVF9OT19DWFgxMV9OT0VYQ0VQVCkKKyAgICNpZiBkZWZpbmVkKEJPT1NUX01TVkMpCisgICAgICAjZGVmaW5lIEJPT1NUX0NPTlRBSU5FUl9OT0VYQ0VQVCB0aHJvdygpCisgICAjZWxzZQorICAgICAgI2RlZmluZSBCT09TVF9DT05UQUlORVJfTk9FWENFUFQKKyAgICNlbmRpZgorICAgI2RlZmluZSBCT09TVF9DT05UQUlORVJfTk9FWENFUFRfSUYoeCkKKyNlbHNlCisgICAjZGVmaW5lIEJPT1NUX0NPTlRBSU5FUl9OT0VYQ0VQVCAgICBub2V4Y2VwdAorICAgI2RlZmluZSBCT09TVF9DT05UQUlORVJfTk9FWENFUFRfSUYoeCkgbm9leGNlcHQoeCkKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoQk9PU1RfTk9fQ1hYMTFfVkFSSUFESUNfVEVNUExBVEVTKSAmJiBkZWZpbmVkKF9fR1hYX0VYUEVSSU1FTlRBTF9DWFgwWF9fKVwKKyAgICAmJiAoX19HTlVDX18qMTAwMDAgKyBfX0dOVUNfTUlOT1JfXyoxMDAgKyBfX0dOVUNfUEFUQ0hMRVZFTF9fIDwgNDA3MDApCisgICAjZGVmaW5lIEJPT1NUX0NPTlRBSU5FUl9VTklNUExFTUVOVEVEX1BBQ0tfRVhQQU5TSU9OX1RPX0ZJWEVEX0xJU1QKKyNlbmRpZgorCisvL01hY3JvcyBmb3IgZG9jdW1lbnRhdGlvbiBwdXJwb3Nlcy4gRm9yIGNvZGUsIGV4cGFuZHMgdG8gdGhlIGFyZ3VtZW50CisjZGVmaW5lIEJPT1NUX0NPTlRBSU5FUl9JTVBERUYoVFlQRSkgVFlQRQorI2RlZmluZSBCT09TVF9DT05UQUlORVJfU0VFRE9DKFRZUEUpIFRZUEUKKworI2luY2x1ZGUgPG5kbmJvb3N0L2NvbnRhaW5lci9kZXRhaWwvY29uZmlnX2VuZC5ocHA+CisKKyNlbmRpZiAgIC8vI2lmbmRlZiBCT09TVF9DT05UQUlORVJfREVUQUlMX1dPUktBUk9VTkRfSFBQCmRpZmYgLS1naXQgYS9uZG5ib29zdC9jc3RkaW50LmhwcCBiL25kbmJvb3N0L2NzdGRpbnQuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgzYmI4YTAKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9jc3RkaW50LmhwcApAQCAtMCwwICsxLDUwOCBAQAorLy8gIGJvb3N0IGNzdGRpbnQuaHBwIGhlYWRlciBmaWxlICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0vLworCisvLyAgKEMpIENvcHlyaWdodCBCZW1hbiBEYXdlcyAxOTk5LiAKKy8vICAoQykgQ29weXJpZ2h0IEplbnMgTWF1ZXIgMjAwMSAgCisvLyAgKEMpIENvcHlyaWdodCBKb2huIE1hZGRvY2sgMjAwMSAKKy8vICBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QKKy8vICBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZQorLy8gIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKworLy8gIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL2ludGVnZXIgZm9yIGRvY3VtZW50YXRpb24uCisKKy8vICBSZXZpc2lvbiBIaXN0b3J5CisvLyAgIDMxIE9jdCAwMSAgdXNlIEJPT1NUX0hBU19MT05HX0xPTkcgdG8gY2hlY2sgZm9yICJsb25nIGxvbmciIChKZW5zIE0uKQorLy8gICAxNiBBcHIgMDEgIGNoZWNrIExPTkdMT05HX01BWCB3aGVuIGxvb2tpbmcgZm9yICJsb25nIGxvbmciIChKZW5zIE1hdXJlcikKKy8vICAgMjMgSmFuIDAxICBwcmVmZXIgImxvbmciIG92ZXIgImludCIgZm9yIGludDMyX3QgYW5kIGludG1heF90IChKZW5zIE1hdXJlcikKKy8vICAgMTIgTm92IDAwICBNZXJnZWQgPG5kbmJvb3N0L3N0ZGludC5oPiAoSmVucyBNYXVyZXIpCisvLyAgIDIzIFNlcCAwMCAgQWRkZWQgSU5UWFhfQyBtYWNybyBzdXBwb3J0IChKb2huIE1hZGRvY2spLgorLy8gICAyMiBTZXAgMDAgIEJldHRlciA2NC1iaXQgc3VwcG9ydCAoSm9obiBNYWRkb2NrKQorLy8gICAyOSBKdW4gMDAgIFJlaW1wbGVtZW50IHRvIGF2b2lkIGluY2x1ZGluZyBzdGRpbnQuaCB3aXRoaW4gbmFtZXNwYWNlIG5kbmJvb3N0CisvLyAgICA4IEF1ZyA5OSAgSW5pdGlhbCB2ZXJzaW9uIChCZW1hbiBEYXdlcykKKworCisjaWZuZGVmIEJPT1NUX0NTVERJTlRfSFBQCisjZGVmaW5lIEJPT1NUX0NTVERJTlRfSFBQCisKKy8vCisvLyBTaW5jZSB3ZSBhbHdheXMgZGVmaW5lIHRoZSBJTlQjX0MgbWFjcm9zIGFzIHBlciBDKysweCwgCisvLyBkZWZpbmUgX19TVERDX0NPTlNUQU5UX01BQ1JPUyBzbyB0aGF0IDxzdGRpbnQuaD4gZG9lcyB0aGUgcmlnaHQKKy8vIHRoaW5nIGlmIHBvc3NpYmxlLCBhbmQgc28gdGhhdCB0aGUgdXNlciBrbm93cyB0aGF0IHRoZSBtYWNyb3MgCisvLyBhcmUgYWN0dWFsbHkgZGVmaW5lZCBhcyBwZXIgQzk5LgorLy8KKyNpZm5kZWYgX19TVERDX0NPTlNUQU5UX01BQ1JPUworIyAgZGVmaW5lIF9fU1REQ19DT05TVEFOVF9NQUNST1MKKyNlbmRpZgorCisjaW5jbHVkZSA8bmRuYm9vc3QvY29uZmlnLmhwcD4KKworLy8KKy8vIE5vdGUgdGhhdCBHTElCQyBpcyBhIGJpdCBpbmNvbnNpc3RlbnQgYWJvdXQgd2hldGhlciBpbnQ2NF90IGlzIGRlZmluZWQgb3Igbm90CisvLyBkZXBlbmRpbmcgdXBvbiB3aGF0IGhlYWRlcnMgaGFwcGVuIHRvIGhhdmUgYmVlbiBpbmNsdWRlZCBmaXJzdC4uLgorLy8gc28gd2UgZGlzYWJsZSB1c2Ugb2Ygc3RkaW50Lmggd2hlbiBHTElCQyBkb2VzIG5vdCBkZWZpbmUgX19HTElCQ19IQVZFX0xPTkdfTE9ORy4KKy8vIFNlZSBodHRwczovL3N2bi5ib29zdC5vcmcvdHJhYy9ib29zdC90aWNrZXQvMzU0OCBhbmQgaHR0cDovL3NvdXJjZXMucmVkaGF0LmNvbS9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9MTA5OTAKKy8vCisjaWYgZGVmaW5lZChCT09TVF9IQVNfU1RESU5UX0gpICYmICghZGVmaW5lZChfX0dMSUJDX18pIHx8IGRlZmluZWQoX19HTElCQ19IQVZFX0xPTkdfTE9ORykpCisKKy8vIFRoZSBmb2xsb3dpbmcgI2luY2x1ZGUgaXMgYW4gaW1wbGVtZW50YXRpb24gYXJ0aWZhY3Q7IG5vdCBwYXJ0IG9mIGludGVyZmFjZS4KKyMgaWZkZWYgX19ocHV4CisvLyBIUC1VWCBoYXMgYSB2YWd1ZWx5IG5pY2UgPHN0ZGludC5oPiBpbiBhIG5vbi1zdGFuZGFyZCBsb2NhdGlvbgorIyAgIGluY2x1ZGUgPGludHR5cGVzLmg+CisjICAgaWZkZWYgX19TVERDXzMyX01PREVfXworICAgICAgLy8gdGhpcyBpcyB0cmlnZ2VyZWQgd2l0aCBHQ0MsIGJlY2F1c2UgaXQgZGVmaW5lcyBfX2NwbHVzcGx1cyA8IDE5OTcwN0wKKyMgICAgIGRlZmluZSBCT09TVF9OT19JTlQ2NF9UCisjICAgZW5kaWYgCisjIGVsaWYgZGVmaW5lZChfX0ZyZWVCU0RfXykgfHwgZGVmaW5lZChfX0lCTUNQUF9fKSB8fCBkZWZpbmVkKF9BSVgpCisjICAgaW5jbHVkZSA8aW50dHlwZXMuaD4KKyMgZWxzZQorIyAgIGluY2x1ZGUgPHN0ZGludC5oPgorCisvLyBUaGVyZSBpcyBhIGJ1ZyBpbiBDeWd3aW4gdHdvIF9DIG1hY3JvcworIyAgIGlmIGRlZmluZWQoX19TVERDX0NPTlNUQU5UX01BQ1JPUykgJiYgZGVmaW5lZChfX0NZR1dJTl9fKQorIyAgICAgdW5kZWYgSU5UTUFYX0MKKyMgICAgIHVuZGVmIFVJTlRNQVhfQworIyAgICAgZGVmaW5lIElOVE1BWF9DKGMpIGMjI0xMCisjICAgICBkZWZpbmUgVUlOVE1BWF9DKGMpIGMjI1VMTAorIyAgIGVuZGlmCisKKyMgZW5kaWYKKworI2lmZGVmIF9fUU5YX18KKworLy8gUU5YIChEaW5rdW13YXJlIHN0ZGxpYikgZGVmaW5lcyB0aGVzZSBhcyBub24tc3RhbmRhcmQgbmFtZXMuCisvLyBSZWZsZWN0IHRvIHRoZSBzdGFuZGFyZCBuYW1lcy4KKwordHlwZWRlZiA6OmludGxlYXN0OF90IGludF9sZWFzdDhfdDsKK3R5cGVkZWYgOjppbnRmYXN0OF90IGludF9mYXN0OF90OwordHlwZWRlZiA6OnVpbnRsZWFzdDhfdCB1aW50X2xlYXN0OF90OwordHlwZWRlZiA6OnVpbnRmYXN0OF90IHVpbnRfZmFzdDhfdDsKKwordHlwZWRlZiA6OmludGxlYXN0MTZfdCBpbnRfbGVhc3QxNl90OwordHlwZWRlZiA6OmludGZhc3QxNl90IGludF9mYXN0MTZfdDsKK3R5cGVkZWYgOjp1aW50bGVhc3QxNl90IHVpbnRfbGVhc3QxNl90OwordHlwZWRlZiA6OnVpbnRmYXN0MTZfdCB1aW50X2Zhc3QxNl90OworCit0eXBlZGVmIDo6aW50bGVhc3QzMl90IGludF9sZWFzdDMyX3Q7Cit0eXBlZGVmIDo6aW50ZmFzdDMyX3QgaW50X2Zhc3QzMl90OwordHlwZWRlZiA6OnVpbnRsZWFzdDMyX3QgdWludF9sZWFzdDMyX3Q7Cit0eXBlZGVmIDo6dWludGZhc3QzMl90IHVpbnRfZmFzdDMyX3Q7CisKKyMgaWZuZGVmIEJPT1NUX05PX0lOVDY0X1QKKwordHlwZWRlZiA6OmludGxlYXN0NjRfdCBpbnRfbGVhc3Q2NF90OwordHlwZWRlZiA6OmludGZhc3Q2NF90IGludF9mYXN0NjRfdDsKK3R5cGVkZWYgOjp1aW50bGVhc3Q2NF90IHVpbnRfbGVhc3Q2NF90OwordHlwZWRlZiA6OnVpbnRmYXN0NjRfdCB1aW50X2Zhc3Q2NF90OworCisjIGVuZGlmCisKKyNlbmRpZgorCituYW1lc3BhY2UgbmRuYm9vc3QKK3sKKworICB1c2luZyA6OmludDhfdDsgICAgICAgICAgICAgCisgIHVzaW5nIDo6aW50X2xlYXN0OF90OyAgICAgICAKKyAgdXNpbmcgOjppbnRfZmFzdDhfdDsgICAgICAgIAorICB1c2luZyA6OnVpbnQ4X3Q7ICAgICAgICAgICAgCisgIHVzaW5nIDo6dWludF9sZWFzdDhfdDsgICAgICAKKyAgdXNpbmcgOjp1aW50X2Zhc3Q4X3Q7ICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgCisgIHVzaW5nIDo6aW50MTZfdDsgICAgICAgICAgICAKKyAgdXNpbmcgOjppbnRfbGVhc3QxNl90OyAgICAgIAorICB1c2luZyA6OmludF9mYXN0MTZfdDsgICAgICAgCisgIHVzaW5nIDo6dWludDE2X3Q7ICAgICAgICAgICAKKyAgdXNpbmcgOjp1aW50X2xlYXN0MTZfdDsgICAgIAorICB1c2luZyA6OnVpbnRfZmFzdDE2X3Q7ICAgICAgCisgICAgICAgICAgICAgICAgICAgICAKKyAgdXNpbmcgOjppbnQzMl90OyAgICAgICAgICAgIAorICB1c2luZyA6OmludF9sZWFzdDMyX3Q7ICAgICAgCisgIHVzaW5nIDo6aW50X2Zhc3QzMl90OyAgICAgICAKKyAgdXNpbmcgOjp1aW50MzJfdDsgICAgICAgICAgIAorICB1c2luZyA6OnVpbnRfbGVhc3QzMl90OyAgICAgCisgIHVzaW5nIDo6dWludF9mYXN0MzJfdDsgICAgICAKKyAgICAgICAgICAgICAgICAgICAgIAorIyBpZm5kZWYgQk9PU1RfTk9fSU5UNjRfVAorCisgIHVzaW5nIDo6aW50NjRfdDsgICAgICAgICAgICAKKyAgdXNpbmcgOjppbnRfbGVhc3Q2NF90OyAgICAgIAorICB1c2luZyA6OmludF9mYXN0NjRfdDsgICAgICAgCisgIHVzaW5nIDo6dWludDY0X3Q7ICAgICAgICAgICAKKyAgdXNpbmcgOjp1aW50X2xlYXN0NjRfdDsgICAgIAorICB1c2luZyA6OnVpbnRfZmFzdDY0X3Q7ICAgICAgCisgICAgICAgICAgICAgICAgICAgICAKKyMgZW5kaWYKKworICB1c2luZyA6OmludG1heF90OyAgICAgIAorICB1c2luZyA6OnVpbnRtYXhfdDsgICAgIAorCit9IC8vIG5hbWVzcGFjZSBuZG5ib29zdAorCisjZWxpZiBkZWZpbmVkKF9fRnJlZUJTRF9fKSAmJiAoX19GcmVlQlNEX18gPD0gNCkgfHwgZGVmaW5lZChfX29zZl9fKSB8fCBkZWZpbmVkKF9fVk1TKQorLy8gRnJlZUJTRCBhbmQgVHJ1NjQgaGF2ZSBhbiA8aW50dHlwZXMuaD4gdGhhdCBjb250YWlucyBtdWNoIG9mIHdoYXQgd2UgbmVlZC4KKyMgaW5jbHVkZSA8aW50dHlwZXMuaD4KKworbmFtZXNwYWNlIG5kbmJvb3N0IHsKKworICB1c2luZyA6OmludDhfdDsgICAgICAgICAgICAgCisgIHR5cGVkZWYgaW50OF90IGludF9sZWFzdDhfdDsgICAgICAgCisgIHR5cGVkZWYgaW50OF90IGludF9mYXN0OF90OyAgICAgICAgCisgIHVzaW5nIDo6dWludDhfdDsgICAgICAgICAgICAKKyAgdHlwZWRlZiB1aW50OF90IHVpbnRfbGVhc3Q4X3Q7ICAgICAgCisgIHR5cGVkZWYgdWludDhfdCB1aW50X2Zhc3Q4X3Q7ICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgCisgIHVzaW5nIDo6aW50MTZfdDsgICAgICAgICAgICAKKyAgdHlwZWRlZiBpbnQxNl90IGludF9sZWFzdDE2X3Q7ICAgICAgCisgIHR5cGVkZWYgaW50MTZfdCBpbnRfZmFzdDE2X3Q7ICAgICAgIAorICB1c2luZyA6OnVpbnQxNl90OyAgICAgICAgICAgCisgIHR5cGVkZWYgdWludDE2X3QgdWludF9sZWFzdDE2X3Q7ICAgICAKKyAgdHlwZWRlZiB1aW50MTZfdCB1aW50X2Zhc3QxNl90OyAgICAgIAorICAgICAgICAgICAgICAgICAgICAgCisgIHVzaW5nIDo6aW50MzJfdDsgICAgICAgICAgICAKKyAgdHlwZWRlZiBpbnQzMl90IGludF9sZWFzdDMyX3Q7ICAgICAgCisgIHR5cGVkZWYgaW50MzJfdCBpbnRfZmFzdDMyX3Q7ICAgICAgIAorICB1c2luZyA6OnVpbnQzMl90OyAgICAgICAgICAgCisgIHR5cGVkZWYgdWludDMyX3QgdWludF9sZWFzdDMyX3Q7ICAgICAKKyAgdHlwZWRlZiB1aW50MzJfdCB1aW50X2Zhc3QzMl90OyAgICAgIAorICAgICAgICAgCisjIGlmbmRlZiBCT09TVF9OT19JTlQ2NF9UICAgICAgICAgIAorCisgIHVzaW5nIDo6aW50NjRfdDsgICAgICAgICAgICAKKyAgdHlwZWRlZiBpbnQ2NF90IGludF9sZWFzdDY0X3Q7ICAgICAgCisgIHR5cGVkZWYgaW50NjRfdCBpbnRfZmFzdDY0X3Q7ICAgICAgIAorICB1c2luZyA6OnVpbnQ2NF90OyAgICAgICAgICAgCisgIHR5cGVkZWYgdWludDY0X3QgdWludF9sZWFzdDY0X3Q7ICAgICAKKyAgdHlwZWRlZiB1aW50NjRfdCB1aW50X2Zhc3Q2NF90OyAgICAgIAorCisgIHR5cGVkZWYgaW50NjRfdCBpbnRtYXhfdDsKKyAgdHlwZWRlZiB1aW50NjRfdCB1aW50bWF4X3Q7CisKKyMgZWxzZQorCisgIHR5cGVkZWYgaW50MzJfdCBpbnRtYXhfdDsKKyAgdHlwZWRlZiB1aW50MzJfdCB1aW50bWF4X3Q7CisKKyMgZW5kaWYKKworfSAvLyBuYW1lc3BhY2UgbmRuYm9vc3QKKworI2Vsc2UgIC8vIEJPT1NUX0hBU19TVERJTlRfSAorCisjIGluY2x1ZGUgPG5kbmJvb3N0L2xpbWl0cy5ocHA+IC8vIGltcGxlbWVudGF0aW9uIGFydGlmYWN0OyBub3QgcGFydCBvZiBpbnRlcmZhY2UKKyMgaW5jbHVkZSA8bGltaXRzLmg+ICAgICAgICAgLy8gbmVlZGVkIGZvciBsaW1pdHMgbWFjcm9zCisKKworbmFtZXNwYWNlIG5kbmJvb3N0Cit7CisKKy8vICBUaGVzZSBhcmUgZmFpcmx5IHNhZmUgZ3Vlc3NlcyBmb3Igc29tZSAxNi1iaXQsIGFuZCBtb3N0IDMyLWJpdCBhbmQgNjQtYml0CisvLyAgcGxhdGZvcm1zLiAgRm9yIG90aGVyIHN5c3RlbXMsIHRoZXkgd2lsbCBoYXZlIHRvIGJlIGhhbmQgdGFpbG9yZWQuCisvLworLy8gIEJlY2F1c2UgdGhlIGZhc3QgdHlwZXMgYXJlIGFzc3VtZWQgdG8gYmUgdGhlIHNhbWUgYXMgdGhlIHVuZGVjb3JhdGVkIHR5cGVzLAorLy8gIGl0IG1heSBiZSBwb3NzaWJsZSB0byBoYW5kIHRhaWxvciBhIG1vcmUgZWZmaWNpZW50IGltcGxlbWVudGF0aW9uLiAgU3VjaAorLy8gIGFuIG9wdGltaXphdGlvbiBtYXkgYmUgaWxsdXNpb25hcnk7IG9uIHRoZSBJbnRlbCB4ODYtZmFtaWx5IDM4NiBvbiwgZm9yCisvLyAgZXhhbXBsZSwgYnl0ZSBhcml0aG1ldGljIGFuZCBsb2FkL3N0b3JlcyBhcmUgYXMgZmFzdCBhcyAiaW50IiBzaXplZCBvbmVzLgorCisvLyAgOC1iaXQgdHlwZXMgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS8vCisKKyMgaWYgVUNIQVJfTUFYID09IDB4ZmYKKyAgICAgdHlwZWRlZiBzaWduZWQgY2hhciAgICAgaW50OF90OworICAgICB0eXBlZGVmIHNpZ25lZCBjaGFyICAgICBpbnRfbGVhc3Q4X3Q7CisgICAgIHR5cGVkZWYgc2lnbmVkIGNoYXIgICAgIGludF9mYXN0OF90OworICAgICB0eXBlZGVmIHVuc2lnbmVkIGNoYXIgICB1aW50OF90OworICAgICB0eXBlZGVmIHVuc2lnbmVkIGNoYXIgICB1aW50X2xlYXN0OF90OworICAgICB0eXBlZGVmIHVuc2lnbmVkIGNoYXIgICB1aW50X2Zhc3Q4X3Q7CisjIGVsc2UKKyMgICAgZXJyb3IgZGVmYXVsdHMgbm90IGNvcnJlY3Q7IHlvdSBtdXN0IGhhbmQgbW9kaWZ5IGJvb3N0L2NzdGRpbnQuaHBwCisjIGVuZGlmCisKKy8vICAxNi1iaXQgdHlwZXMgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLy8KKworIyBpZiBVU0hSVF9NQVggPT0gMHhmZmZmCisjICBpZiBkZWZpbmVkKF9fY3JheXgxKQorICAgICAvLyBUaGUgQ3JheSBYMSBoYXMgYSAxNi1iaXQgc2hvcnQsIGhvd2V2ZXIgaXQgaXMgbm90IHJlY29tbWVuZAorICAgICAvLyBmb3IgdXNlIGluIHBlcmZvcm1hbmNlIGNyaXRpY2FsIGNvZGUuCisgICAgIHR5cGVkZWYgc2hvcnQgICAgICAgICAgIGludDE2X3Q7CisgICAgIHR5cGVkZWYgc2hvcnQgICAgICAgICAgIGludF9sZWFzdDE2X3Q7CisgICAgIHR5cGVkZWYgaW50ICAgICAgICAgICAgIGludF9mYXN0MTZfdDsKKyAgICAgdHlwZWRlZiB1bnNpZ25lZCBzaG9ydCAgdWludDE2X3Q7CisgICAgIHR5cGVkZWYgdW5zaWduZWQgc2hvcnQgIHVpbnRfbGVhc3QxNl90OworICAgICB0eXBlZGVmIHVuc2lnbmVkIGludCAgICB1aW50X2Zhc3QxNl90OworIyAgZWxzZQorICAgICB0eXBlZGVmIHNob3J0ICAgICAgICAgICBpbnQxNl90OworICAgICB0eXBlZGVmIHNob3J0ICAgICAgICAgICBpbnRfbGVhc3QxNl90OworICAgICB0eXBlZGVmIHNob3J0ICAgICAgICAgICBpbnRfZmFzdDE2X3Q7CisgICAgIHR5cGVkZWYgdW5zaWduZWQgc2hvcnQgIHVpbnQxNl90OworICAgICB0eXBlZGVmIHVuc2lnbmVkIHNob3J0ICB1aW50X2xlYXN0MTZfdDsKKyAgICAgdHlwZWRlZiB1bnNpZ25lZCBzaG9ydCAgdWludF9mYXN0MTZfdDsKKyMgIGVuZGlmCisjIGVsaWYgKFVTSFJUX01BWCA9PSAweGZmZmZmZmZmKSAmJiBkZWZpbmVkKF9fTVRBX18pIAorICAgICAgLy8gT24gTVRBIC8gWE1UIHNob3J0IGlzIDMyIGJpdHMgdW5sZXNzIHRoZSAtc2hvcnQxNiBjb21waWxlciBmbGFnIGlzIHNwZWNpZmllZCAKKyAgICAgIC8vIE1UQSAvIFhNVCBkb2VzIHN1cHBvcnQgdGhlIGZvbGxvd2luZyBub24tc3RhbmRhcmQgaW50ZWdlciB0eXBlcyAKKyAgICAgIHR5cGVkZWYgX19zaG9ydDE2ICAgICAgICAgICBpbnQxNl90OyAKKyAgICAgIHR5cGVkZWYgX19zaG9ydDE2ICAgICAgICAgICBpbnRfbGVhc3QxNl90OyAKKyAgICAgIHR5cGVkZWYgX19zaG9ydDE2ICAgICAgICAgICBpbnRfZmFzdDE2X3Q7IAorICAgICAgdHlwZWRlZiB1bnNpZ25lZCBfX3Nob3J0MTYgIHVpbnQxNl90OyAKKyAgICAgIHR5cGVkZWYgdW5zaWduZWQgX19zaG9ydDE2ICB1aW50X2xlYXN0MTZfdDsgCisgICAgICB0eXBlZGVmIHVuc2lnbmVkIF9fc2hvcnQxNiAgdWludF9mYXN0MTZfdDsgCisjIGVsaWYgKFVTSFJUX01BWCA9PSAweGZmZmZmZmZmKSAmJiBkZWZpbmVkKENSQVkpCisgICAgIC8vIG5vIDE2LWJpdCB0eXBlcyBvbiBDcmF5OgorICAgICB0eXBlZGVmIHNob3J0ICAgICAgICAgICBpbnRfbGVhc3QxNl90OworICAgICB0eXBlZGVmIHNob3J0ICAgICAgICAgICBpbnRfZmFzdDE2X3Q7CisgICAgIHR5cGVkZWYgdW5zaWduZWQgc2hvcnQgIHVpbnRfbGVhc3QxNl90OworICAgICB0eXBlZGVmIHVuc2lnbmVkIHNob3J0ICB1aW50X2Zhc3QxNl90OworIyBlbHNlCisjICAgIGVycm9yIGRlZmF1bHRzIG5vdCBjb3JyZWN0OyB5b3UgbXVzdCBoYW5kIG1vZGlmeSBib29zdC9jc3RkaW50LmhwcAorIyBlbmRpZgorCisvLyAgMzItYml0IHR5cGVzICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS8vCisKKyMgaWYgVUlOVF9NQVggPT0gMHhmZmZmZmZmZgorICAgICB0eXBlZGVmIGludCAgICAgICAgICAgICBpbnQzMl90OworICAgICB0eXBlZGVmIGludCAgICAgICAgICAgICBpbnRfbGVhc3QzMl90OworICAgICB0eXBlZGVmIGludCAgICAgICAgICAgICBpbnRfZmFzdDMyX3Q7CisgICAgIHR5cGVkZWYgdW5zaWduZWQgaW50ICAgIHVpbnQzMl90OworICAgICB0eXBlZGVmIHVuc2lnbmVkIGludCAgICB1aW50X2xlYXN0MzJfdDsKKyAgICAgdHlwZWRlZiB1bnNpZ25lZCBpbnQgICAgdWludF9mYXN0MzJfdDsKKyMgZWxpZiAoVVNIUlRfTUFYID09IDB4ZmZmZmZmZmYpCisgICAgIHR5cGVkZWYgc2hvcnQgICAgICAgICAgICAgaW50MzJfdDsKKyAgICAgdHlwZWRlZiBzaG9ydCAgICAgICAgICAgICBpbnRfbGVhc3QzMl90OworICAgICB0eXBlZGVmIHNob3J0ICAgICAgICAgICAgIGludF9mYXN0MzJfdDsKKyAgICAgdHlwZWRlZiB1bnNpZ25lZCBzaG9ydCAgICB1aW50MzJfdDsKKyAgICAgdHlwZWRlZiB1bnNpZ25lZCBzaG9ydCAgICB1aW50X2xlYXN0MzJfdDsKKyAgICAgdHlwZWRlZiB1bnNpZ25lZCBzaG9ydCAgICB1aW50X2Zhc3QzMl90OworIyBlbGlmIFVMT05HX01BWCA9PSAweGZmZmZmZmZmCisgICAgIHR5cGVkZWYgbG9uZyAgICAgICAgICAgIGludDMyX3Q7CisgICAgIHR5cGVkZWYgbG9uZyAgICAgICAgICAgIGludF9sZWFzdDMyX3Q7CisgICAgIHR5cGVkZWYgbG9uZyAgICAgICAgICAgIGludF9mYXN0MzJfdDsKKyAgICAgdHlwZWRlZiB1bnNpZ25lZCBsb25nICAgdWludDMyX3Q7CisgICAgIHR5cGVkZWYgdW5zaWduZWQgbG9uZyAgIHVpbnRfbGVhc3QzMl90OworICAgICB0eXBlZGVmIHVuc2lnbmVkIGxvbmcgICB1aW50X2Zhc3QzMl90OworIyBlbGlmIChVSU5UX01BWCA9PSAweGZmZmZmZmZmZmZmZmZmZmYpICYmIGRlZmluZWQoX19NVEFfXykgCisgICAgICAvLyBJbnRlZ2VycyBhcmUgNjQgYml0cyBvbiB0aGUgTVRBIC8gWE1UIAorICAgICAgdHlwZWRlZiBfX2ludDMyICAgICAgICAgICBpbnQzMl90OyAKKyAgICAgIHR5cGVkZWYgX19pbnQzMiAgICAgICAgICAgaW50X2xlYXN0MzJfdDsgCisgICAgICB0eXBlZGVmIF9faW50MzIgICAgICAgICAgIGludF9mYXN0MzJfdDsgCisgICAgICB0eXBlZGVmIHVuc2lnbmVkIF9faW50MzIgIHVpbnQzMl90OyAKKyAgICAgIHR5cGVkZWYgdW5zaWduZWQgX19pbnQzMiAgdWludF9sZWFzdDMyX3Q7IAorICAgICAgdHlwZWRlZiB1bnNpZ25lZCBfX2ludDMyICB1aW50X2Zhc3QzMl90OyAKKyMgZWxzZQorIyAgICBlcnJvciBkZWZhdWx0cyBub3QgY29ycmVjdDsgeW91IG11c3QgaGFuZCBtb2RpZnkgYm9vc3QvY3N0ZGludC5ocHAKKyMgZW5kaWYKKworLy8gIDY0LWJpdCB0eXBlcyArIGludG1heF90IGFuZCB1aW50bWF4X3QgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0vLworCisjIGlmIGRlZmluZWQoQk9PU1RfSEFTX0xPTkdfTE9ORykgJiYgXAorICAgIWRlZmluZWQoQk9PU1RfTVNWQykgJiYgIWRlZmluZWQoX19CT1JMQU5EQ19fKSAmJiBcCisgICAoIWRlZmluZWQoX19HTElCQ1BQX18pIHx8IGRlZmluZWQoX0dMSUJDUFBfVVNFX0xPTkdfTE9ORykpICYmIFwKKyAgIChkZWZpbmVkKFVMTE9OR19NQVgpIHx8IGRlZmluZWQoVUxPTkdfTE9OR19NQVgpIHx8IGRlZmluZWQoVUxPTkdMT05HX01BWCkpCisjICAgIGlmIGRlZmluZWQoX19ocHV4KQorICAgICAvLyBIUC1VWCdzIHZhbHVlIG9mIFVMT05HX0xPTkdfTUFYIGlzIHVudXNhYmxlIGluIHByZXByb2Nlc3NvciBleHByZXNzaW9ucworIyAgICBlbGlmIChkZWZpbmVkKFVMTE9OR19NQVgpICYmIFVMTE9OR19NQVggPT0gMTg0NDY3NDQwNzM3MDk1NTE2MTVVTEwpIHx8IChkZWZpbmVkKFVMT05HX0xPTkdfTUFYKSAmJiBVTE9OR19MT05HX01BWCA9PSAxODQ0Njc0NDA3MzcwOTU1MTYxNVVMTCkgfHwgKGRlZmluZWQoVUxPTkdMT05HX01BWCkgJiYgVUxPTkdMT05HX01BWCA9PSAxODQ0Njc0NDA3MzcwOTU1MTYxNVVMTCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gMioqNjQgLSAxCisjICAgIGVsc2UKKyMgICAgICAgZXJyb3IgZGVmYXVsdHMgbm90IGNvcnJlY3Q7IHlvdSBtdXN0IGhhbmQgbW9kaWZ5IGJvb3N0L2NzdGRpbnQuaHBwCisjICAgIGVuZGlmCisKKyAgICAgdHlwZWRlZiAgOjpuZG5ib29zdDo6bG9uZ19sb25nX3R5cGUgICAgICAgICAgICBpbnRtYXhfdDsKKyAgICAgdHlwZWRlZiAgOjpuZG5ib29zdDo6dWxvbmdfbG9uZ190eXBlICAgdWludG1heF90OworICAgICB0eXBlZGVmICA6Om5kbmJvb3N0Ojpsb25nX2xvbmdfdHlwZSAgICAgICAgICAgIGludDY0X3Q7CisgICAgIHR5cGVkZWYgIDo6bmRuYm9vc3Q6OmxvbmdfbG9uZ190eXBlICAgICAgICAgICAgaW50X2xlYXN0NjRfdDsKKyAgICAgdHlwZWRlZiAgOjpuZG5ib29zdDo6bG9uZ19sb25nX3R5cGUgICAgICAgICAgICBpbnRfZmFzdDY0X3Q7CisgICAgIHR5cGVkZWYgIDo6bmRuYm9vc3Q6OnVsb25nX2xvbmdfdHlwZSAgIHVpbnQ2NF90OworICAgICB0eXBlZGVmICA6Om5kbmJvb3N0Ojp1bG9uZ19sb25nX3R5cGUgICB1aW50X2xlYXN0NjRfdDsKKyAgICAgdHlwZWRlZiAgOjpuZG5ib29zdDo6dWxvbmdfbG9uZ190eXBlICAgdWludF9mYXN0NjRfdDsKKworIyBlbGlmIFVMT05HX01BWCAhPSAweGZmZmZmZmZmCisKKyMgICAgaWYgVUxPTkdfTUFYID09IDE4NDQ2NzQ0MDczNzA5NTUxNjE1IC8vIDIqKjY0IC0gMQorICAgICB0eXBlZGVmIGxvbmcgICAgICAgICAgICAgICAgIGludG1heF90OworICAgICB0eXBlZGVmIHVuc2lnbmVkIGxvbmcgICAgICAgIHVpbnRtYXhfdDsKKyAgICAgdHlwZWRlZiBsb25nICAgICAgICAgICAgICAgICBpbnQ2NF90OworICAgICB0eXBlZGVmIGxvbmcgICAgICAgICAgICAgICAgIGludF9sZWFzdDY0X3Q7CisgICAgIHR5cGVkZWYgbG9uZyAgICAgICAgICAgICAgICAgaW50X2Zhc3Q2NF90OworICAgICB0eXBlZGVmIHVuc2lnbmVkIGxvbmcgICAgICAgIHVpbnQ2NF90OworICAgICB0eXBlZGVmIHVuc2lnbmVkIGxvbmcgICAgICAgIHVpbnRfbGVhc3Q2NF90OworICAgICB0eXBlZGVmIHVuc2lnbmVkIGxvbmcgICAgICAgIHVpbnRfZmFzdDY0X3Q7CisjICAgIGVsc2UKKyMgICAgICAgZXJyb3IgZGVmYXVsdHMgbm90IGNvcnJlY3Q7IHlvdSBtdXN0IGhhbmQgbW9kaWZ5IGJvb3N0L2NzdGRpbnQuaHBwCisjICAgIGVuZGlmCisjIGVsaWYgZGVmaW5lZChfX0dOVUNfXykgJiYgZGVmaW5lZChCT09TVF9IQVNfTE9OR19MT05HKQorICAgICBfX2V4dGVuc2lvbl9fIHR5cGVkZWYgbG9uZyBsb25nICAgICAgICAgICAgaW50bWF4X3Q7CisgICAgIF9fZXh0ZW5zaW9uX18gdHlwZWRlZiB1bnNpZ25lZCBsb25nIGxvbmcgICB1aW50bWF4X3Q7CisgICAgIF9fZXh0ZW5zaW9uX18gdHlwZWRlZiBsb25nIGxvbmcgICAgICAgICAgICBpbnQ2NF90OworICAgICBfX2V4dGVuc2lvbl9fIHR5cGVkZWYgbG9uZyBsb25nICAgICAgICAgICAgaW50X2xlYXN0NjRfdDsKKyAgICAgX19leHRlbnNpb25fXyB0eXBlZGVmIGxvbmcgbG9uZyAgICAgICAgICAgIGludF9mYXN0NjRfdDsKKyAgICAgX19leHRlbnNpb25fXyB0eXBlZGVmIHVuc2lnbmVkIGxvbmcgbG9uZyAgIHVpbnQ2NF90OworICAgICBfX2V4dGVuc2lvbl9fIHR5cGVkZWYgdW5zaWduZWQgbG9uZyBsb25nICAgdWludF9sZWFzdDY0X3Q7CisgICAgIF9fZXh0ZW5zaW9uX18gdHlwZWRlZiB1bnNpZ25lZCBsb25nIGxvbmcgICB1aW50X2Zhc3Q2NF90OworIyBlbGlmIGRlZmluZWQoQk9PU1RfSEFTX01TX0lOVDY0KQorICAgICAvLworICAgICAvLyB3ZSBoYXZlIEJvcmxhbmQvSW50ZWwvTWljcm9zb2Z0IF9faW50NjQ6CisgICAgIC8vCisgICAgIHR5cGVkZWYgX19pbnQ2NCAgICAgICAgICAgICBpbnRtYXhfdDsKKyAgICAgdHlwZWRlZiB1bnNpZ25lZCBfX2ludDY0ICAgIHVpbnRtYXhfdDsKKyAgICAgdHlwZWRlZiBfX2ludDY0ICAgICAgICAgICAgIGludDY0X3Q7CisgICAgIHR5cGVkZWYgX19pbnQ2NCAgICAgICAgICAgICBpbnRfbGVhc3Q2NF90OworICAgICB0eXBlZGVmIF9faW50NjQgICAgICAgICAgICAgaW50X2Zhc3Q2NF90OworICAgICB0eXBlZGVmIHVuc2lnbmVkIF9faW50NjQgICAgdWludDY0X3Q7CisgICAgIHR5cGVkZWYgdW5zaWduZWQgX19pbnQ2NCAgICB1aW50X2xlYXN0NjRfdDsKKyAgICAgdHlwZWRlZiB1bnNpZ25lZCBfX2ludDY0ICAgIHVpbnRfZmFzdDY0X3Q7CisjIGVsc2UgLy8gYXNzdW1lIG5vIDY0LWJpdCBpbnRlZ2VycworIyAgZGVmaW5lIEJPT1NUX05PX0lOVDY0X1QKKyAgICAgdHlwZWRlZiBpbnQzMl90ICAgICAgICAgICAgICBpbnRtYXhfdDsKKyAgICAgdHlwZWRlZiB1aW50MzJfdCAgICAgICAgICAgICB1aW50bWF4X3Q7CisjIGVuZGlmCisKK30gLy8gbmFtZXNwYWNlIG5kbmJvb3N0CisKKworI2VuZGlmIC8vIEJPT1NUX0hBU19TVERJTlRfSAorCisjZW5kaWYgLy8gQk9PU1RfQ1NURElOVF9IUFAKKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorCitNYWNybyBkZWZpbml0aW9uIHNlY3Rpb246CisKK0FkZGVkIDIzcmQgU2VwdGVtYmVyIDIwMDAgKEpvaG4gTWFkZG9jaykuCitNb2RpZmllZCAxMXRoIFNlcHRlbWJlciAyMDAxIHRvIGJlIGV4Y2x1ZGVkIHdoZW4KK0JPT1NUX0hBU19TVERJTlRfSCBpcyBkZWZpbmVkIChKb2huIE1hZGRvY2spLgorTW9kaWZpZWQgMTF0aCBEZWMgMjAwOSB0byBhbHdheXMgZGVmaW5lIHRoZQorSU5UI19DIG1hY3JvcyBpZiB0aGV5J3JlIG5vdCBhbHJlYWR5IGRlZmluZWQgKEpvaG4gTWFkZG9jaykuCisKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2lmICFkZWZpbmVkKEJPT1NUX19TVERDX0NPTlNUQU5UX01BQ1JPU19ERUZJTkVEKSAmJiBcCisgICAoIWRlZmluZWQoSU5UOF9DKSB8fCAhZGVmaW5lZChJTlQxNl9DKSB8fCAhZGVmaW5lZChJTlQzMl9DKSB8fCAhZGVmaW5lZChJTlQ2NF9DKSkKKy8vCisvLyBGb3IgdGhlIGZvbGxvd2luZyBjb2RlIHdlIGdldCBzZXZlcmFsIHdhcm5pbmdzIGFsb25nIHRoZSBsaW5lcyBvZjogCisvLyAKKy8vIGJvb3N0L2NzdGRpbnQuaHBwOjQyODozNTogZXJyb3I6IHVzZSBvZiBDOTkgbG9uZyBsb25nIGludGVnZXIgY29uc3RhbnQgCisvLyAKKy8vIFNvIHdlIGRlY2xhcmUgdGhpcyBhIHN5c3RlbSBoZWFkZXIgdG8gc3VwcHJlc3MgdGhlc2Ugd2FybmluZ3MuIAorLy8KKyNpZiBkZWZpbmVkKF9fR05VQ19fKSAmJiAoX19HTlVDX18gPj0gNCkgCisjcHJhZ21hIEdDQyBzeXN0ZW1faGVhZGVyIAorI2VuZGlmIAorCisjaW5jbHVkZSA8bGltaXRzLmg+CisjIGRlZmluZSBCT09TVF9fU1REQ19DT05TVEFOVF9NQUNST1NfREVGSU5FRAorIyBpZiBkZWZpbmVkKEJPT1NUX0hBU19NU19JTlQ2NCkKKy8vCisvLyBCb3JsYW5kL0ludGVsL01pY3Jvc29mdCBjb21waWxlcnMgaGF2ZSB3aWR0aCBzcGVjaWZpYyBzdWZmaXhlczoKKy8vCisjaWZuZGVmIElOVDhfQworIyAgZGVmaW5lIElOVDhfQyh2YWx1ZSkgICAgIHZhbHVlIyNpOAorI2VuZGlmCisjaWZuZGVmIElOVDE2X0MKKyMgIGRlZmluZSBJTlQxNl9DKHZhbHVlKSAgICB2YWx1ZSMjaTE2CisjZW5kaWYKKyNpZm5kZWYgSU5UMzJfQworIyAgZGVmaW5lIElOVDMyX0ModmFsdWUpICAgIHZhbHVlIyNpMzIKKyNlbmRpZgorI2lmbmRlZiBJTlQ2NF9DCisjICBkZWZpbmUgSU5UNjRfQyh2YWx1ZSkgICAgdmFsdWUjI2k2NAorI2VuZGlmCisjICBpZmRlZiBfX0JPUkxBTkRDX18KKyAgICAvLyBCb3JsYW5kIGJ1ZzogYXBwZW5kaW5nIHVpOCBtYWtlcyB0aGUgdHlwZSBhIHNpZ25lZCBjaGFyCisjICAgZGVmaW5lIFVJTlQ4X0ModmFsdWUpICAgIHN0YXRpY19jYXN0PHVuc2lnbmVkIGNoYXI+KHZhbHVlIyN1KQorIyAgZWxzZQorIyAgIGRlZmluZSBVSU5UOF9DKHZhbHVlKSAgICB2YWx1ZSMjdWk4CisjICBlbmRpZgorI2lmbmRlZiBVSU5UMTZfQworIyAgZGVmaW5lIFVJTlQxNl9DKHZhbHVlKSAgIHZhbHVlIyN1aTE2CisjZW5kaWYKKyNpZm5kZWYgVUlOVDMyX0MKKyMgIGRlZmluZSBVSU5UMzJfQyh2YWx1ZSkgICB2YWx1ZSMjdWkzMgorI2VuZGlmCisjaWZuZGVmIFVJTlQ2NF9DCisjICBkZWZpbmUgVUlOVDY0X0ModmFsdWUpICAgdmFsdWUjI3VpNjQKKyNlbmRpZgorI2lmbmRlZiBJTlRNQVhfQworIyAgZGVmaW5lIElOVE1BWF9DKHZhbHVlKSAgIHZhbHVlIyNpNjQKKyMgIGRlZmluZSBVSU5UTUFYX0ModmFsdWUpICB2YWx1ZSMjdWk2NAorI2VuZGlmCisKKyMgZWxzZQorLy8gIGRvIGl0IHRoZSBvbGQgZmFzaGlvbmVkIHdheToKKworLy8gIDgtYml0IHR5cGVzICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0vLworCisjICBpZiAoVUNIQVJfTUFYID09IDB4ZmYpICYmICFkZWZpbmVkKElOVDhfQykKKyMgICBkZWZpbmUgSU5UOF9DKHZhbHVlKSBzdGF0aWNfY2FzdDxuZG5ib29zdDo6aW50OF90Pih2YWx1ZSkKKyMgICBkZWZpbmUgVUlOVDhfQyh2YWx1ZSkgc3RhdGljX2Nhc3Q8bmRuYm9vc3Q6OnVpbnQ4X3Q+KHZhbHVlIyN1KQorIyAgZW5kaWYKKworLy8gIDE2LWJpdCB0eXBlcyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0vLworCisjICBpZiAoVVNIUlRfTUFYID09IDB4ZmZmZikgJiYgIWRlZmluZWQoSU5UMTZfQykKKyMgICBkZWZpbmUgSU5UMTZfQyh2YWx1ZSkgc3RhdGljX2Nhc3Q8bmRuYm9vc3Q6OmludDE2X3Q+KHZhbHVlKQorIyAgIGRlZmluZSBVSU5UMTZfQyh2YWx1ZSkgc3RhdGljX2Nhc3Q8bmRuYm9vc3Q6OnVpbnQxNl90Pih2YWx1ZSMjdSkKKyMgIGVuZGlmCisKKy8vICAzMi1iaXQgdHlwZXMgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLy8KKyNpZm5kZWYgSU5UMzJfQworIyAgaWYgKFVJTlRfTUFYID09IDB4ZmZmZmZmZmYpCisjICAgZGVmaW5lIElOVDMyX0ModmFsdWUpIHZhbHVlCisjICAgZGVmaW5lIFVJTlQzMl9DKHZhbHVlKSB2YWx1ZSMjdQorIyAgZWxpZiBVTE9OR19NQVggPT0gMHhmZmZmZmZmZgorIyAgIGRlZmluZSBJTlQzMl9DKHZhbHVlKSB2YWx1ZSMjTAorIyAgIGRlZmluZSBVSU5UMzJfQyh2YWx1ZSkgdmFsdWUjI3VMCisjICBlbmRpZgorI2VuZGlmCisKKy8vICA2NC1iaXQgdHlwZXMgKyBpbnRtYXhfdCBhbmQgdWludG1heF90ICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLy8KKyNpZm5kZWYgSU5UNjRfQworIyAgaWYgZGVmaW5lZChCT09TVF9IQVNfTE9OR19MT05HKSAmJiBcCisgICAgKGRlZmluZWQoVUxMT05HX01BWCkgfHwgZGVmaW5lZChVTE9OR19MT05HX01BWCkgfHwgZGVmaW5lZChVTE9OR0xPTkdfTUFYKSB8fCBkZWZpbmVkKF9MTE9OR19NQVgpKQorCisjICAgIGlmIGRlZmluZWQoX19ocHV4KQorICAgICAgICAvLyBIUC1VWCdzIHZhbHVlIG9mIFVMT05HX0xPTkdfTUFYIGlzIHVudXNhYmxlIGluIHByZXByb2Nlc3NvciBleHByZXNzaW9ucworIyAgICAgICBkZWZpbmUgSU5UNjRfQyh2YWx1ZSkgdmFsdWUjI0xMCisjICAgICAgIGRlZmluZSBVSU5UNjRfQyh2YWx1ZSkgdmFsdWUjI3VMTAorIyAgICBlbGlmIChkZWZpbmVkKFVMTE9OR19NQVgpICYmIFVMTE9OR19NQVggPT0gMTg0NDY3NDQwNzM3MDk1NTE2MTVVTEwpIHx8ICBcCisgICAgICAgIChkZWZpbmVkKFVMT05HX0xPTkdfTUFYKSAmJiBVTE9OR19MT05HX01BWCA9PSAxODQ0Njc0NDA3MzcwOTU1MTYxNVVMTCkgfHwgIFwKKyAgICAgICAgKGRlZmluZWQoVUxPTkdMT05HX01BWCkgJiYgVUxPTkdMT05HX01BWCA9PSAxODQ0Njc0NDA3MzcwOTU1MTYxNVVMTCkgfHwgXAorICAgICAgICAoZGVmaW5lZChfTExPTkdfTUFYKSAmJiBfTExPTkdfTUFYID09IDE4NDQ2NzQ0MDczNzA5NTUxNjE1VUxMKQorCisjICAgICAgIGRlZmluZSBJTlQ2NF9DKHZhbHVlKSB2YWx1ZSMjTEwKKyMgICAgICAgZGVmaW5lIFVJTlQ2NF9DKHZhbHVlKSB2YWx1ZSMjdUxMCisjICAgIGVsc2UKKyMgICAgICAgZXJyb3IgZGVmYXVsdHMgbm90IGNvcnJlY3Q7IHlvdSBtdXN0IGhhbmQgbW9kaWZ5IGJvb3N0L2NzdGRpbnQuaHBwCisjICAgIGVuZGlmCisjICBlbGlmIFVMT05HX01BWCAhPSAweGZmZmZmZmZmCisKKyMgICAgaWYgVUxPTkdfTUFYID09IDE4NDQ2NzQ0MDczNzA5NTUxNjE1VSAvLyAyKio2NCAtIDEKKyMgICAgICAgZGVmaW5lIElOVDY0X0ModmFsdWUpIHZhbHVlIyNMCisjICAgICAgIGRlZmluZSBVSU5UNjRfQyh2YWx1ZSkgdmFsdWUjI3VMCisjICAgIGVsc2UKKyMgICAgICAgZXJyb3IgZGVmYXVsdHMgbm90IGNvcnJlY3Q7IHlvdSBtdXN0IGhhbmQgbW9kaWZ5IGJvb3N0L2NzdGRpbnQuaHBwCisjICAgIGVuZGlmCisjICBlbGlmIGRlZmluZWQoQk9PU1RfSEFTX0xPTkdfTE9ORykKKyAgICAgLy8gVXN1YWwgbWFjcm9zIG5vdCBkZWZpbmVkLCB3b3JrIHRoaW5ncyBvdXQgZm9yIG91cnNlbHZlczoKKyMgICAgaWYofjB1TEwgPT0gMTg0NDY3NDQwNzM3MDk1NTE2MTVVTEwpCisjICAgICAgIGRlZmluZSBJTlQ2NF9DKHZhbHVlKSB2YWx1ZSMjTEwKKyMgICAgICAgZGVmaW5lIFVJTlQ2NF9DKHZhbHVlKSB2YWx1ZSMjdUxMCisjICAgIGVsc2UKKyMgICAgICAgZXJyb3IgZGVmYXVsdHMgbm90IGNvcnJlY3Q7IHlvdSBtdXN0IGhhbmQgbW9kaWZ5IGJvb3N0L2NzdGRpbnQuaHBwCisjICAgIGVuZGlmCisjICBlbHNlCisjICAgIGVycm9yIGRlZmF1bHRzIG5vdCBjb3JyZWN0OyB5b3UgbXVzdCBoYW5kIG1vZGlmeSBib29zdC9jc3RkaW50LmhwcAorIyAgZW5kaWYKKworIyAgaWZkZWYgQk9PU1RfTk9fSU5UNjRfVAorIyAgIGRlZmluZSBJTlRNQVhfQyh2YWx1ZSkgSU5UMzJfQyh2YWx1ZSkKKyMgICBkZWZpbmUgVUlOVE1BWF9DKHZhbHVlKSBVSU5UMzJfQyh2YWx1ZSkKKyMgIGVsc2UKKyMgICBkZWZpbmUgSU5UTUFYX0ModmFsdWUpIElOVDY0X0ModmFsdWUpCisjICAgZGVmaW5lIFVJTlRNQVhfQyh2YWx1ZSkgVUlOVDY0X0ModmFsdWUpCisjICBlbmRpZgorI2VuZGlmCisjIGVuZGlmIC8vIEJvcmxhbmQvTWljcm9zb2Z0IHNwZWNpZmljIHdpZHRoIHN1ZmZpeGVzCisKKyNlbmRpZiAvLyBJTlQjX0MgbWFjcm9zLgorCisKKworCmRpZmYgLS1naXQgYS9uZG5ib29zdC9kZXRhaWwvY2FsbF90cmFpdHMuaHBwIGIvbmRuYm9vc3QvZGV0YWlsL2NhbGxfdHJhaXRzLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wYTJjZGIyCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvZGV0YWlsL2NhbGxfdHJhaXRzLmhwcApAQCAtMCwwICsxLDE3MiBAQAorLy8gIChDKSBDb3B5cmlnaHQgU3RldmUgQ2xlYXJ5LCBCZW1hbiBEYXdlcywgSG93YXJkIEhpbm5hbnQgJiBKb2huIE1hZGRvY2sgMjAwMC4KKy8vICBVc2UsIG1vZGlmaWNhdGlvbiBhbmQgZGlzdHJpYnV0aW9uIGFyZSBzdWJqZWN0IHRvIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLAorLy8gIFZlcnNpb24gMS4wLiAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0CisvLyAgaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KS4KKy8vCisvLyAgU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL2xpYnMvdXRpbGl0eSBmb3IgbW9zdCByZWNlbnQgdmVyc2lvbiBpbmNsdWRpbmcgZG9jdW1lbnRhdGlvbi4KKworLy8gY2FsbF90cmFpdHM6IGRlZmluZXMgdHlwZWRlZnMgZm9yIGZ1bmN0aW9uIHVzYWdlCisvLyAoc2VlIGxpYnMvdXRpbGl0eS9jYWxsX3RyYWl0cy5odG0pCisKKy8qIFJlbGVhc2Ugbm90ZXM6CisgICAyM3JkIEp1bHkgMjAwMDoKKyAgICAgIEZpeGVkIGFycmF5IHNwZWNpYWxpemF0aW9uLiAoSk0pCisgICAgICBBZGRlZCBCb3JsYW5kIHNwZWNpZmljIGZpeGVzIGZvciByZWZlcmVuY2UgdHlwZXMKKyAgICAgIChpc3N1ZSByYWlzZWQgYnkgU3RldmUgQ2xlYXJ5KS4KKyovCisKKyNpZm5kZWYgQk9PU1RfREVUQUlMX0NBTExfVFJBSVRTX0hQUAorI2RlZmluZSBCT09TVF9ERVRBSUxfQ0FMTF9UUkFJVFNfSFBQCisKKyNpZm5kZWYgQk9PU1RfQ09ORklHX0hQUAorI2luY2x1ZGUgPG5kbmJvb3N0L2NvbmZpZy5ocHA+CisjZW5kaWYKKyNpbmNsdWRlIDxjc3RkZGVmPgorCisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvaXNfYXJpdGhtZXRpYy5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvaXNfZW51bS5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvaXNfcG9pbnRlci5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvZGV0YWlsL3dvcmthcm91bmQuaHBwPgorCituYW1lc3BhY2UgbmRuYm9vc3R7CisKK25hbWVzcGFjZSBkZXRhaWx7CisKK3RlbXBsYXRlIDx0eXBlbmFtZSBULCBib29sIHNtYWxsXz4KK3N0cnVjdCBjdF9pbXAyCit7CisgICB0eXBlZGVmIGNvbnN0IFQmIHBhcmFtX3R5cGU7Cit9OworCit0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KK3N0cnVjdCBjdF9pbXAyPFQsIHRydWU+Cit7CisgICB0eXBlZGVmIGNvbnN0IFQgcGFyYW1fdHlwZTsKK307CisKK3RlbXBsYXRlIDx0eXBlbmFtZSBULCBib29sIGlzcCwgYm9vbCBiMSwgYm9vbCBiMj4KK3N0cnVjdCBjdF9pbXAKK3sKKyAgIHR5cGVkZWYgY29uc3QgVCYgcGFyYW1fdHlwZTsKK307CisKK3RlbXBsYXRlIDx0eXBlbmFtZSBULCBib29sIGlzcCwgYm9vbCBiMj4KK3N0cnVjdCBjdF9pbXA8VCwgaXNwLCB0cnVlLCBiMj4KK3sKKyAgIHR5cGVkZWYgdHlwZW5hbWUgY3RfaW1wMjxULCBzaXplb2YoVCkgPD0gc2l6ZW9mKHZvaWQqKT46OnBhcmFtX3R5cGUgcGFyYW1fdHlwZTsKK307CisKK3RlbXBsYXRlIDx0eXBlbmFtZSBULCBib29sIGlzcCwgYm9vbCBiMT4KK3N0cnVjdCBjdF9pbXA8VCwgaXNwLCBiMSwgdHJ1ZT4KK3sKKyAgIHR5cGVkZWYgdHlwZW5hbWUgY3RfaW1wMjxULCBzaXplb2YoVCkgPD0gc2l6ZW9mKHZvaWQqKT46OnBhcmFtX3R5cGUgcGFyYW1fdHlwZTsKK307CisKK3RlbXBsYXRlIDx0eXBlbmFtZSBULCBib29sIGIxLCBib29sIGIyPgorc3RydWN0IGN0X2ltcDxULCB0cnVlLCBiMSwgYjI+Cit7CisgICB0eXBlZGVmIGNvbnN0IFQgcGFyYW1fdHlwZTsKK307CisKK30KKwordGVtcGxhdGUgPHR5cGVuYW1lIFQ+CitzdHJ1Y3QgY2FsbF90cmFpdHMKK3sKK3B1YmxpYzoKKyAgIHR5cGVkZWYgVCB2YWx1ZV90eXBlOworICAgdHlwZWRlZiBUJiByZWZlcmVuY2U7CisgICB0eXBlZGVmIGNvbnN0IFQmIGNvbnN0X3JlZmVyZW5jZTsKKyAgIC8vCisgICAvLyBDKysgQnVpbGRlciB3b3JrYXJvdW5kOiB3ZSBzaG91bGQgYmUgYWJsZSB0byBkZWZpbmUgYSBjb21waWxlIHRpbWUKKyAgIC8vIGNvbnN0YW50IGFuZCBwYXNzIHRoYXQgYXMgYSBzaW5nbGUgdGVtcGxhdGUgcGFyYW1ldGVyIHRvIGN0X2ltcDxULGJvb2w+LAorICAgLy8gaG93ZXZlciBjb21waWxlciBidWdzIHByZXZlbnQgdGhpcyAtIGluc3RlYWQgcGFzcyB0aHJlZSBib29sJ3MgdG8KKyAgIC8vIGN0X2ltcDxULGJvb2wsYm9vbCxib29sPiBhbmQgYWRkIGFuIGV4dHJhIHBhcnRpYWwgc3BlY2lhbGlzYXRpb24KKyAgIC8vIG9mIGN0X2ltcCB0byBoYW5kbGUgdGhlIGxvZ2ljLiAoSk0pCisgICB0eXBlZGVmIHR5cGVuYW1lIG5kbmJvb3N0OjpkZXRhaWw6OmN0X2ltcDwKKyAgICAgIFQsCisgICAgICA6Om5kbmJvb3N0Ojppc19wb2ludGVyPFQ+Ojp2YWx1ZSwKKyAgICAgIDo6bmRuYm9vc3Q6OmlzX2FyaXRobWV0aWM8VD46OnZhbHVlLAorICAgICAgOjpuZG5ib29zdDo6aXNfZW51bTxUPjo6dmFsdWUKKyAgID46OnBhcmFtX3R5cGUgcGFyYW1fdHlwZTsKK307CisKK3RlbXBsYXRlIDx0eXBlbmFtZSBUPgorc3RydWN0IGNhbGxfdHJhaXRzPFQmPgoreworICAgdHlwZWRlZiBUJiB2YWx1ZV90eXBlOworICAgdHlwZWRlZiBUJiByZWZlcmVuY2U7CisgICB0eXBlZGVmIGNvbnN0IFQmIGNvbnN0X3JlZmVyZW5jZTsKKyAgIHR5cGVkZWYgVCYgcGFyYW1fdHlwZTsgIC8vIGhoIHJlbW92ZWQgY29uc3QKK307CisKKyNpZiBCT09TVF9XT1JLQVJPVU5EKCBfX0JPUkxBTkRDX18sICA8IDB4NUEwICkKKy8vIHRoZXNlIGFyZSBpbGxlZ2FsIHNwZWNpYWxpc2F0aW9uczsgY3YtcXVhbGlmaWVzIGFwcGxpZWQgdG8KKy8vIHJlZmVyZW5jZXMgaGF2ZSBubyBlZmZlY3QgYWNjb3JkaW5nIHRvIFs4LjMuMnAxXSwKKy8vIEMrKyBCdWlsZGVyIHJlcXVpcmVzIHRoZW0gdGhvdWdoIGFzIGl0IHRyZWF0cyBjdi1xdWFsaWZpZWQKKy8vIHJlZmVyZW5jZXMgYXMgZGlzdGluY3QgdHlwZXMuLi4KK3RlbXBsYXRlIDx0eXBlbmFtZSBUPgorc3RydWN0IGNhbGxfdHJhaXRzPFQmY29uc3Q+Cit7CisgICB0eXBlZGVmIFQmIHZhbHVlX3R5cGU7CisgICB0eXBlZGVmIFQmIHJlZmVyZW5jZTsKKyAgIHR5cGVkZWYgY29uc3QgVCYgY29uc3RfcmVmZXJlbmNlOworICAgdHlwZWRlZiBUJiBwYXJhbV90eXBlOyAgLy8gaGggcmVtb3ZlZCBjb25zdAorfTsKK3RlbXBsYXRlIDx0eXBlbmFtZSBUPgorc3RydWN0IGNhbGxfdHJhaXRzPFQmdm9sYXRpbGU+Cit7CisgICB0eXBlZGVmIFQmIHZhbHVlX3R5cGU7CisgICB0eXBlZGVmIFQmIHJlZmVyZW5jZTsKKyAgIHR5cGVkZWYgY29uc3QgVCYgY29uc3RfcmVmZXJlbmNlOworICAgdHlwZWRlZiBUJiBwYXJhbV90eXBlOyAgLy8gaGggcmVtb3ZlZCBjb25zdAorfTsKK3RlbXBsYXRlIDx0eXBlbmFtZSBUPgorc3RydWN0IGNhbGxfdHJhaXRzPFQmY29uc3Qgdm9sYXRpbGU+Cit7CisgICB0eXBlZGVmIFQmIHZhbHVlX3R5cGU7CisgICB0eXBlZGVmIFQmIHJlZmVyZW5jZTsKKyAgIHR5cGVkZWYgY29uc3QgVCYgY29uc3RfcmVmZXJlbmNlOworICAgdHlwZWRlZiBUJiBwYXJhbV90eXBlOyAgLy8gaGggcmVtb3ZlZCBjb25zdAorfTsKKwordGVtcGxhdGUgPHR5cGVuYW1lIFQ+CitzdHJ1Y3QgY2FsbF90cmFpdHM8IFQgKiA+Cit7CisgICB0eXBlZGVmIFQgKiB2YWx1ZV90eXBlOworICAgdHlwZWRlZiBUICogJiByZWZlcmVuY2U7CisgICB0eXBlZGVmIFQgKiBjb25zdCAmIGNvbnN0X3JlZmVyZW5jZTsKKyAgIHR5cGVkZWYgVCAqIGNvbnN0IHBhcmFtX3R5cGU7ICAvLyBoaCByZW1vdmVkIGNvbnN0Cit9OworI2VuZGlmCisjaWYgIWRlZmluZWQoQk9PU1RfTk9fQVJSQVlfVFlQRV9TUEVDSUFMSVpBVElPTlMpCit0ZW1wbGF0ZSA8dHlwZW5hbWUgVCwgc3RkOjpzaXplX3QgTj4KK3N0cnVjdCBjYWxsX3RyYWl0czxUIFtOXT4KK3sKK3ByaXZhdGU6CisgICB0eXBlZGVmIFQgYXJyYXlfdHlwZVtOXTsKK3B1YmxpYzoKKyAgIC8vIGRlZ3JhZGVzIGFycmF5IHRvIHBvaW50ZXI6CisgICB0eXBlZGVmIGNvbnN0IFQqIHZhbHVlX3R5cGU7CisgICB0eXBlZGVmIGFycmF5X3R5cGUmIHJlZmVyZW5jZTsKKyAgIHR5cGVkZWYgY29uc3QgYXJyYXlfdHlwZSYgY29uc3RfcmVmZXJlbmNlOworICAgdHlwZWRlZiBjb25zdCBUKiBjb25zdCBwYXJhbV90eXBlOworfTsKKwordGVtcGxhdGUgPHR5cGVuYW1lIFQsIHN0ZDo6c2l6ZV90IE4+CitzdHJ1Y3QgY2FsbF90cmFpdHM8Y29uc3QgVCBbTl0+Cit7Citwcml2YXRlOgorICAgdHlwZWRlZiBjb25zdCBUIGFycmF5X3R5cGVbTl07CitwdWJsaWM6CisgICAvLyBkZWdyYWRlcyBhcnJheSB0byBwb2ludGVyOgorICAgdHlwZWRlZiBjb25zdCBUKiB2YWx1ZV90eXBlOworICAgdHlwZWRlZiBhcnJheV90eXBlJiByZWZlcmVuY2U7CisgICB0eXBlZGVmIGNvbnN0IGFycmF5X3R5cGUmIGNvbnN0X3JlZmVyZW5jZTsKKyAgIHR5cGVkZWYgY29uc3QgVCogY29uc3QgcGFyYW1fdHlwZTsKK307CisjZW5kaWYKKworfQorCisjZW5kaWYgLy8gQk9PU1RfREVUQUlMX0NBTExfVFJBSVRTX0hQUApkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvZGV0YWlsL2NvbnRhaW5lcl9md2QuaHBwIGIvbmRuYm9vc3QvZGV0YWlsL2NvbnRhaW5lcl9md2QuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAyNTRlN2IKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9kZXRhaWwvY29udGFpbmVyX2Z3ZC5ocHAKQEAgLTAsMCArMSwxNjIgQEAKKworLy8gQ29weXJpZ2h0IDIwMDUtMjAxMSBEYW5pZWwgSmFtZXMuCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIChTZWUgYWNjb21wYW55aW5nCisvLyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKworLy8gTm90ZTogaWYgeW91IGNoYW5nZSB0aGlzIGluY2x1ZGUgZ3VhcmQsIHlvdSBhbHNvIG5lZWQgdG8gY2hhbmdlCisvLyBjb250YWluZXJfZndkX2NvbXBpbGVfZmFpbC5jcHAKKyNpZiAhZGVmaW5lZChCT09TVF9ERVRBSUxfQ09OVEFJTkVSX0ZXRF9IUFApCisjZGVmaW5lIEJPT1NUX0RFVEFJTF9DT05UQUlORVJfRldEX0hQUAorCisjaWYgZGVmaW5lZChfTVNDX1ZFUikgJiYgKF9NU0NfVkVSID49IDEwMjApICYmIFwKKyAgICAhZGVmaW5lZChCT09TVF9ERVRBSUxfVEVTVF9DT05GSUdfT05MWSkKKyMgcHJhZ21hIG9uY2UKKyNlbmRpZgorCisjaW5jbHVkZSA8bmRuYm9vc3QvY29uZmlnLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9kZXRhaWwvd29ya2Fyb3VuZC5ocHA+CisKKy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCisvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLworLy8gRGVmaW5lIEJPT1NUX0RFVEFJTF9OT19DT05UQUlORVJfRldEIGlmIHlvdSBkb24ndCB3YW50IHRoaXMgaGVhZGVyIHRvICAgICAgLy8KKy8vIGZvcndhcmQgZGVjbGFyZSBzdGFuZGFyZCBjb250YWluZXJzLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vCisvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLworLy8gQk9PU1RfREVUQUlMX0NPTlRBSU5FUl9GV0QgdG8gbWFrZSBpdCBmb3dhcmQgZGVjbGFyZSBjb250YWluZXJzIGV2ZW4gaWYgaXQgLy8KKy8vIG5vcm1hbGx5IGRvZXNuJ3QuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vCisvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLworLy8gQk9PU1RfREVUQUlMX05PX0NPTlRBSU5FUl9GV0Qgb3ZlcnJpZGVzIEJPT1NUX0RFVEFJTF9DT05UQUlORVJfRldELiAgICAgICAgLy8KKy8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vCisvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworCisjaWYgIWRlZmluZWQoQk9PU1RfREVUQUlMX05PX0NPTlRBSU5FUl9GV0QpCisjICBpZiBkZWZpbmVkKEJPT1NUX0RFVEFJTF9DT05UQUlORVJfRldEKQorICAgICAvLyBGb3JjZSBmb3J3YXJkIGRlY2xhcmF0aW9ucy4KKyMgIGVsaWYgZGVmaW5lZChfX1NHSV9TVExfUE9SVCkgfHwgZGVmaW5lZChfU1RMUE9SVF9WRVJTSU9OKQorICAgICAvLyBTVExwb3J0CisjICAgIGRlZmluZSBCT09TVF9ERVRBSUxfTk9fQ09OVEFJTkVSX0ZXRAorIyAgZWxpZiBkZWZpbmVkKF9fTElCQ09NT19fKQorICAgICAvLyBDb21lYXUgU1RMOgorIyAgICBkZWZpbmUgQk9PU1RfREVUQUlMX05PX0NPTlRBSU5FUl9GV0QKKyMgIGVsaWYgZGVmaW5lZChfX1NURF9SV0NPTVBJTEVSX0hfXykgfHwgZGVmaW5lZChfUldTVERfVkVSKQorICAgICAvLyBSb2d1ZSBXYXZlIGxpYnJhcnk6CisjICAgIGRlZmluZSBCT09TVF9ERVRBSUxfTk9fQ09OVEFJTkVSX0ZXRAorIyAgZWxpZiBkZWZpbmVkKF9MSUJDUFBfVkVSU0lPTikKKyAgICAgLy8gbGliYysrCisjICAgIGRlZmluZSBCT09TVF9ERVRBSUxfTk9fQ09OVEFJTkVSX0ZXRAorIyAgZWxpZiBkZWZpbmVkKF9fR0xJQkNQUF9fKSB8fCBkZWZpbmVkKF9fR0xJQkNYWF9fKQorICAgICAvLyBHTlUgbGlic3RkYysrIDMKKyAgICAgLy8KKyAgICAgLy8gRGlzYWJsZSBmb3J3YXJkaW5nIGZvciBhbGwgcmVjZW50IHZlcnNpb25zLCBhcyB0aGUgbGlicmFyeSBoYXMgYQorICAgICAvLyB2ZXJzaW9uZWQgbmFtZXNwYWNlIG1vZGUsIGFuZCBJIGRvbid0IGtub3cgaG93IHRvIGRldGVjdCBpdC4KKyMgICAgaWYgX19HTElCQ1hYX18gPj0gMjAwNzA1MTMgXAorICAgICAgICB8fCBkZWZpbmVkKF9HTElCQ1hYX0RFQlVHKSBcCisgICAgICAgIHx8IGRlZmluZWQoX0dMSUJDWFhfUEFSQUxMRUwpIFwKKyAgICAgICAgfHwgZGVmaW5lZChfR0xJQkNYWF9QUk9GSUxFKQorIyAgICAgIGRlZmluZSBCT09TVF9ERVRBSUxfTk9fQ09OVEFJTkVSX0ZXRAorIyAgICBlbHNlCisjICAgICAgaWYgZGVmaW5lZChfX0dMSUJDWFhfXykgJiYgX19HTElCQ1hYX18gPj0gMjAwNDA1MzAKKyMgICAgICAgIGRlZmluZSBCT09TVF9DT05UQUlORVJfRldEX0NPTVBMRVhfU1RSVUNUCisjICAgICAgZW5kaWYKKyMgICAgZW5kaWYKKyMgIGVsaWYgZGVmaW5lZChfX1NUTF9DT05GSUdfSCkKKyAgICAgLy8gZ2VuZXJpYyBTR0kgU1RMCisgICAgIC8vCisgICAgIC8vIEZvcndhcmQgZGVjbGFyYXRpb24gc2VlbXMgdG8gYmUgb2theSwgYnV0IGl0IGhhcyBhIGNvdXBsZSBvZiBvZGQKKyAgICAgLy8gaW1wbGVtZW50YXRpb25zLgorIyAgICBkZWZpbmUgQk9PU1RfQ09OVEFJTkVSX0ZXRF9CQURfQklUU0VUCisjICAgIGlmICFkZWZpbmVkKF9fU1RMX05PTl9UWVBFX1RNUExfUEFSQU1fQlVHKQorIyAgICAgIGRlZmluZSBCT09TVF9DT05UQUlORVJfRldEX0JBRF9ERVFVRQorIyAgICAgZW5kaWYKKyMgIGVsaWYgZGVmaW5lZChfX01TTF9DUFBfXykKKyAgICAgLy8gTVNMIHN0YW5kYXJkIGxpYjoKKyMgICAgZGVmaW5lIEJPT1NUX0RFVEFJTF9OT19DT05UQUlORVJfRldECisjICBlbGlmIGRlZmluZWQoX19JQk1DUFBfXykKKyAgICAgLy8gVGhlIGRlZmF1bHQgVkFDUFAgc3RkIGxpYiwgZm9yd2FyZCBkZWNsYXJhdGlvbiBzZWVtcyB0byBiZSBmaW5lLgorIyAgZWxpZiBkZWZpbmVkKE1TSVBMX0NPTVBJTEVfSCkKKyAgICAgLy8gTW9kZW5hIEMrKyBzdGFuZGFyZCBsaWJyYXJ5CisjICAgIGRlZmluZSBCT09TVF9ERVRBSUxfTk9fQ09OVEFJTkVSX0ZXRAorIyAgZWxpZiAoZGVmaW5lZChfWVZBTFMpICYmICFkZWZpbmVkKF9fSUJNQ1BQX18pKSB8fCBkZWZpbmVkKF9DUFBMSUJfVkVSKQorICAgICAvLyBEaW5rdW13YXJlIExpYnJhcnkgKHRoaXMgaGFzIHRvIGFwcGVhciBhZnRlciBhbnkgcG9zc2libGUgcmVwbGFjZW1lbnQKKyAgICAgLy8gbGlicmFyaWVzKQorIyAgZWxzZQorIyAgICBkZWZpbmUgQk9PU1RfREVUQUlMX05PX0NPTlRBSU5FUl9GV0QKKyMgIGVuZGlmCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEJPT1NUX0RFVEFJTF9URVNUX0NPTkZJR19PTkxZKQorCisjaWYgZGVmaW5lZChCT09TVF9ERVRBSUxfTk9fQ09OVEFJTkVSX0ZXRCkgJiYgXAorICAgICFkZWZpbmVkKEJPT1NUX0RFVEFJTF9URVNUX0ZPUkNFX0NPTlRBSU5FUl9GV0QpCisKKyNpbmNsdWRlIDxkZXF1ZT4KKyNpbmNsdWRlIDxsaXN0PgorI2luY2x1ZGUgPHZlY3Rvcj4KKyNpbmNsdWRlIDxtYXA+CisjaW5jbHVkZSA8c2V0PgorI2luY2x1ZGUgPGJpdHNldD4KKyNpbmNsdWRlIDxzdHJpbmc+CisjaW5jbHVkZSA8Y29tcGxleD4KKworI2Vsc2UKKworI2luY2x1ZGUgPGNzdGRkZWY+CisKKyNpZiBkZWZpbmVkKEJPT1NUX0NPTlRBSU5FUl9GV0RfQkFEX0RFUVVFKQorI2luY2x1ZGUgPGRlcXVlPgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKEJPT1NUX0NPTlRBSU5FUl9GV0RfQkFEX0JJVFNFVCkKKyNpbmNsdWRlIDxiaXRzZXQ+CisjZW5kaWYKKworI2lmIGRlZmluZWQoQk9PU1RfTVNWQykKKyNwcmFnbWEgd2FybmluZyhwdXNoKQorI3ByYWdtYSB3YXJuaW5nKGRpc2FibGU6NDA5OSkgLy8gc3RydWN0L2NsYXNzIG1pc21hdGNoIGluIGZ3ZCBkZWNsYXJhdGlvbnMKKyNlbmRpZgorCituYW1lc3BhY2Ugc3RkCit7CisgICAgdGVtcGxhdGUgPGNsYXNzIFQ+IGNsYXNzIGFsbG9jYXRvcjsKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgY2hhclQsIGNsYXNzIHRyYWl0cywgY2xhc3MgQWxsb2NhdG9yPiBjbGFzcyBiYXNpY19zdHJpbmc7CisKKyNpZiBCT09TVF9XT1JLQVJPVU5EKF9fR05VQ19fLCA8IDMpICYmICFkZWZpbmVkKF9fU0dJX1NUTF9QT1JUKSAmJiAhZGVmaW5lZChfU1RMUE9SVF9WRVJTSU9OKQorCisgICAgdGVtcGxhdGUgPGNsYXNzIGNoYXJUPiBzdHJ1Y3Qgc3RyaW5nX2NoYXJfdHJhaXRzOworI2Vsc2UKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgY2hhclQ+IHN0cnVjdCBjaGFyX3RyYWl0czsKKyNlbmRpZgorCisjaWYgZGVmaW5lZChCT09TVF9DT05UQUlORVJfRldEX0NPTVBMRVhfU1RSVUNUKQorICAgIHRlbXBsYXRlIDxjbGFzcyBUPiBzdHJ1Y3QgY29tcGxleDsKKyNlbHNlCisgICAgdGVtcGxhdGUgPGNsYXNzIFQ+IGNsYXNzIGNvbXBsZXg7CisjZW5kaWYKKworI2lmICFkZWZpbmVkKEJPT1NUX0NPTlRBSU5FUl9GV0RfQkFEX0RFUVVFKQorICAgIHRlbXBsYXRlIDxjbGFzcyBULCBjbGFzcyBBbGxvY2F0b3I+IGNsYXNzIGRlcXVlOworI2VuZGlmCisKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVCwgY2xhc3MgQWxsb2NhdG9yPiBjbGFzcyBsaXN0OworICAgIHRlbXBsYXRlIDxjbGFzcyBULCBjbGFzcyBBbGxvY2F0b3I+IGNsYXNzIHZlY3RvcjsKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgS2V5LCBjbGFzcyBULCBjbGFzcyBDb21wYXJlLCBjbGFzcyBBbGxvY2F0b3I+IGNsYXNzIG1hcDsKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgS2V5LCBjbGFzcyBULCBjbGFzcyBDb21wYXJlLCBjbGFzcyBBbGxvY2F0b3I+CisgICAgY2xhc3MgbXVsdGltYXA7CisgICAgdGVtcGxhdGUgPGNsYXNzIEtleSwgY2xhc3MgQ29tcGFyZSwgY2xhc3MgQWxsb2NhdG9yPiBjbGFzcyBzZXQ7CisgICAgdGVtcGxhdGUgPGNsYXNzIEtleSwgY2xhc3MgQ29tcGFyZSwgY2xhc3MgQWxsb2NhdG9yPiBjbGFzcyBtdWx0aXNldDsKKworI2lmICFkZWZpbmVkKEJPT1NUX0NPTlRBSU5FUl9GV0RfQkFEX0JJVFNFVCkKKyAgICB0ZW1wbGF0ZSA8c2l6ZV90IE4+IGNsYXNzIGJpdHNldDsKKyNlbmRpZgorICAgIHRlbXBsYXRlIDxjbGFzcyBUMSwgY2xhc3MgVDI+IHN0cnVjdCBwYWlyOworfQorCisjaWYgZGVmaW5lZChCT09TVF9NU1ZDKQorI3ByYWdtYSB3YXJuaW5nKHBvcCkKKyNlbmRpZgorCisjZW5kaWYgLy8gQk9PU1RfREVUQUlMX05PX0NPTlRBSU5FUl9GV0QgJiYKKyAgICAgICAvLyAhZGVmaW5lZChCT09TVF9ERVRBSUxfVEVTVF9GT1JDRV9DT05UQUlORVJfRldEKQorCisjZW5kaWYgLy8gQk9PU1RfREVUQUlMX1RFU1RfQ09ORklHX09OTFkKKworI2VuZGlmCmRpZmYgLS1naXQgYS9uZG5ib29zdC9kZXRhaWwvaXNfaW5jcmVtZW50YWJsZS5ocHAgYi9uZG5ib29zdC9kZXRhaWwvaXNfaW5jcmVtZW50YWJsZS5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTE1Y2NiNgotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L2RldGFpbC9pc19pbmNyZW1lbnRhYmxlLmhwcApAQCAtMCwwICsxLDEzNCBAQAorLy8gQ29weXJpZ2h0IERhdmlkIEFicmFoYW1zIDIwMDQuIFVzZSwgbW9kaWZpY2F0aW9uIGFuZCBkaXN0cmlidXRpb24gaXMKKy8vIHN1YmplY3QgdG8gdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAoU2VlIGFjY29tcGFueWluZworLy8gZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisjaWZuZGVmIElTX0lOQ1JFTUVOVEFCTEVfRFdBMjAwNDE1X0hQUAorIyBkZWZpbmUgSVNfSU5DUkVNRU5UQUJMRV9EV0EyMDA0MTVfSFBQCisKKyMgaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvZGV0YWlsL3RlbXBsYXRlX2FyaXR5X3NwZWMuaHBwPgorIyBpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9yZW1vdmVfY3YuaHBwPgorIyBpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9sYW1iZGFfc3VwcG9ydC5ocHA+CisjIGluY2x1ZGUgPG5kbmJvb3N0L21wbC9ib29sLmhwcD4KKyMgaW5jbHVkZSA8bmRuYm9vc3QvZGV0YWlsL3dvcmthcm91bmQuaHBwPgorCisvLyBNdXN0IGJlIHRoZSBsYXN0IGluY2x1ZGUKKyMgaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvZGV0YWlsL2Jvb2xfdHJhaXRfZGVmLmhwcD4KKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIGRldGFpbCB7IAorCisvLyBpc19pbmNyZW1lbnRhYmxlPFQ+IG1ldGFmdW5jdGlvbgorLy8KKy8vIFJlcXVpcmVzOiBHaXZlbiB4IG9mIHR5cGUgVCYsIGlmIHRoZSBleHByZXNzaW9uICsreCBpcyB3ZWxsLWZvcm1lZAorLy8gaXQgbXVzdCBoYXZlIGNvbXBsZXRlIHR5cGU7IG90aGVyd2lzZSwgaXQgbXVzdCBuZWl0aGVyIGJlIGFtYmlndW91cworLy8gbm9yIHZpb2xhdGUgYWNjZXNzLgorCisvLyBUaGlzIG5hbWVzcGFjZSBlbnN1cmVzIHRoYXQgQURMIGRvZXNuJ3QgbWVzcyB0aGluZ3MgdXAuCituYW1lc3BhY2UgaXNfaW5jcmVtZW50YWJsZV8KK3sKKyAgLy8gYSB0eXBlIHJldHVybmVkIGZyb20gb3BlcmF0b3IrKyB3aGVuIG5vIGluY3JlbWVudCBpcyBmb3VuZCBpbiB0aGUKKyAgLy8gdHlwZSdzIG93biBuYW1lc3BhY2UKKyAgc3RydWN0IHRhZyB7fTsKKyAgCisgIC8vIGFueSBzb2FrcyB1cCBpbXBsaWNpdCBjb252ZXJzaW9ucyBhbmQgbWFrZXMgdGhlIGZvbGxvd2luZworICAvLyBvcGVyYXRvcisrIGxlc3MtcHJlZmVycmVkIHRoYW4gYW55IG90aGVyIHN1Y2ggb3BlcmF0b3IgdGhhdAorICAvLyBtaWdodCBiZSBmb3VuZCB2aWEgQURMLgorICBzdHJ1Y3QgYW55IHsgdGVtcGxhdGUgPGNsYXNzIFQ+IGFueShUIGNvbnN0Jik7IH07CisKKyAgLy8gVGhpcyBpcyBhIGxhc3QtcmVzb3J0IG9wZXJhdG9yKysgZm9yIHdoZW4gbm9uZSBvdGhlciBpcyBmb3VuZAorIyBpZiBCT09TVF9XT1JLQVJPVU5EKF9fR05VQ19fLCA9PSA0KSAmJiBfX0dOVUNfTUlOT1JfXyA9PSAwICYmIF9fR05VQ19QQVRDSExFVkVMX18gPT0gMgorICAKK30KKworbmFtZXNwYWNlIGlzX2luY3JlbWVudGFibGVfMgoreworICBpc19pbmNyZW1lbnRhYmxlXzo6dGFnIG9wZXJhdG9yKysoaXNfaW5jcmVtZW50YWJsZV86OmFueSBjb25zdCYpOworICBpc19pbmNyZW1lbnRhYmxlXzo6dGFnIG9wZXJhdG9yKysoaXNfaW5jcmVtZW50YWJsZV86OmFueSBjb25zdCYsaW50KTsKK30KK3VzaW5nIG5hbWVzcGFjZSBpc19pbmNyZW1lbnRhYmxlXzI7CisKK25hbWVzcGFjZSBpc19pbmNyZW1lbnRhYmxlXworeworICAKKyMgZWxzZQorICAKKyAgdGFnIG9wZXJhdG9yKysoYW55IGNvbnN0Jik7CisgIHRhZyBvcGVyYXRvcisrKGFueSBjb25zdCYsaW50KTsKKyAgCisjIGVuZGlmIAorCisjIGlmIEJPT1NUX1dPUktBUk9VTkQoX19NV0VSS1NfXywgQk9PU1RfVEVTVEVEX0FUKDB4MzIwMikpIFwKKyAgICB8fCBCT09TVF9XT1JLQVJPVU5EKEJPT1NUX01TVkMsIDw9IDEzMDApCisjICBkZWZpbmUgQk9PU1RfY29tbWEoYSxiKSAoYSkKKyMgZWxzZSAKKyAgLy8gSW4gY2FzZSBhbiBvcGVyYXRvcisrIGlzIGZvdW5kIHRoYXQgcmV0dXJucyB2b2lkLCB3ZSdsbCB1c2UgKyt4LDAKKyAgdGFnIG9wZXJhdG9yLCh0YWcsaW50KTsgIAorIyAgZGVmaW5lIEJPT1NUX2NvbW1hKGEsYikgKGEsYikKKyMgZW5kaWYgCisKKyMgaWYgZGVmaW5lZChCT09TVF9NU1ZDKQorIyAgcHJhZ21hIHdhcm5pbmcocHVzaCkKKyMgIHByYWdtYSB3YXJuaW5nKGRpc2FibGU6NDkxMykgLy8gV2FybmluZyBhYm91dCBvcGVyYXRvciwKKyMgZW5kaWYgCisKKyAgLy8gdHdvIGNoZWNrIG92ZXJsb2FkcyBoZWxwIHVzIGlkZW50aWZ5IHdoaWNoIG9wZXJhdG9yKysgd2FzIHBpY2tlZAorICBjaGFyICgmIGNoZWNrXyh0YWcpIClbMl07CisgIAorICB0ZW1wbGF0ZSA8Y2xhc3MgVD4KKyAgY2hhciBjaGVja18oVCBjb25zdCYpOworICAKKworICB0ZW1wbGF0ZSA8Y2xhc3MgVD4KKyAgc3RydWN0IGltcGwKKyAgeworICAgICAgc3RhdGljIHR5cGVuYW1lIG5kbmJvb3N0OjpyZW1vdmVfY3Y8VD46OnR5cGUmIHg7CisKKyAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVCgKKyAgICAgICAgICBib29sCisgICAgICAgICwgdmFsdWUgPSBzaXplb2YoaXNfaW5jcmVtZW50YWJsZV86OmNoZWNrXyhCT09TVF9jb21tYSgrK3gsMCkpKSA9PSAxCisgICAgICApOworICB9OworCisgIHRlbXBsYXRlIDxjbGFzcyBUPgorICBzdHJ1Y3QgcG9zdGZpeF9pbXBsCisgIHsKKyAgICAgIHN0YXRpYyB0eXBlbmFtZSBuZG5ib29zdDo6cmVtb3ZlX2N2PFQ+Ojp0eXBlJiB4OworCisgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoCisgICAgICAgICAgYm9vbAorICAgICAgICAsIHZhbHVlID0gc2l6ZW9mKGlzX2luY3JlbWVudGFibGVfOjpjaGVja18oQk9PU1RfY29tbWEoeCsrLDApKSkgPT0gMQorICAgICAgKTsKKyAgfTsKKworIyBpZiBkZWZpbmVkKEJPT1NUX01TVkMpCisjICBwcmFnbWEgd2FybmluZyhwb3ApCisjIGVuZGlmIAorCit9CisKKyMgdW5kZWYgQk9PU1RfY29tbWEKKwordGVtcGxhdGU8dHlwZW5hbWUgVD4gCitzdHJ1Y3QgaXNfaW5jcmVtZW50YWJsZSAKK0JPT1NUX1RUX0FVWF9CT09MX0NfQkFTRSg6Om5kbmJvb3N0OjpkZXRhaWw6OmlzX2luY3JlbWVudGFibGVfOjppbXBsPFQ+Ojp2YWx1ZSkKK3sgCisgICAgQk9PU1RfVFRfQVVYX0JPT0xfVFJBSVRfVkFMVUVfREVDTCg6Om5kbmJvb3N0OjpkZXRhaWw6OmlzX2luY3JlbWVudGFibGVfOjppbXBsPFQ+Ojp2YWx1ZSkKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKDEsaXNfaW5jcmVtZW50YWJsZSwoVCkpCit9OworCit0ZW1wbGF0ZTx0eXBlbmFtZSBUPiAKK3N0cnVjdCBpc19wb3N0Zml4X2luY3JlbWVudGFibGUgCitCT09TVF9UVF9BVVhfQk9PTF9DX0JBU0UoOjpuZG5ib29zdDo6ZGV0YWlsOjppc19pbmNyZW1lbnRhYmxlXzo6aW1wbDxUPjo6dmFsdWUpCit7IAorICAgIEJPT1NUX1RUX0FVWF9CT09MX1RSQUlUX1ZBTFVFX0RFQ0woOjpuZG5ib29zdDo6ZGV0YWlsOjppc19pbmNyZW1lbnRhYmxlXzo6cG9zdGZpeF9pbXBsPFQ+Ojp2YWx1ZSkKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKDEsaXNfcG9zdGZpeF9pbmNyZW1lbnRhYmxlLChUKSkKK307CisKK30gLy8gbmFtZXNwYWNlIGRldGFpbAorCitCT09TVF9UVF9BVVhfVEVNUExBVEVfQVJJVFlfU1BFQygxLCA6Om5kbmJvb3N0OjpkZXRhaWw6OmlzX2luY3JlbWVudGFibGUpCitCT09TVF9UVF9BVVhfVEVNUExBVEVfQVJJVFlfU1BFQygxLCA6Om5kbmJvb3N0OjpkZXRhaWw6OmlzX3Bvc3RmaXhfaW5jcmVtZW50YWJsZSkKKworfSAvLyBuYW1lc3BhY2UgbmRuYm9vc3QKKworIyBpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9kZXRhaWwvYm9vbF90cmFpdF91bmRlZi5ocHA+CisKKyNlbmRpZiAvLyBJU19JTkNSRU1FTlRBQkxFX0RXQTIwMDQxNV9IUFAKZGlmZiAtLWdpdCBhL25kbmJvb3N0L2RldGFpbC9pdGVyYXRvci5ocHAgYi9uZG5ib29zdC9kZXRhaWwvaXRlcmF0b3IuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZjZmI1YWEKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9kZXRhaWwvaXRlcmF0b3IuaHBwCkBAIC0wLDAgKzEsNDk0IEBACisvLyAoQykgQ29weXJpZ2h0IERhdmlkIEFicmFoYW1zIDIwMDIuCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIChTZWUKKy8vIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0CisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisKKy8vIEJvb3N0IHZlcnNpb25zIG9mCisvLworLy8gICAgc3RkOjppdGVyYXRvcl90cmFpdHM8Pjo6aXRlcmF0b3JfY2F0ZWdvcnkKKy8vICAgIHN0ZDo6aXRlcmF0b3JfdHJhaXRzPD46OmRpZmZlcmVuY2VfdHlwZQorLy8gICAgc3RkOjpkaXN0YW5jZSgpCisvLworLy8gLi4uZm9yIGFsbCBjb21waWxlcnMgYW5kIGl0ZXJhdG9ycworLy8KKy8vIEFkZGl0aW9uYWxseSwgaWYgWCBpcyBhIHBvaW50ZXIKKy8vICAgIHN0ZDo6aXRlcmF0b3JfdHJhaXRzPFg+Ojpwb2ludGVyCisKKy8vIE90aGVyd2lzZSwgaWYgcGFydGlhbCBzcGVjaWFsaXphdGlvbiBpcyBzdXBwb3J0ZWQgb3IgWCBpcyBub3QgYSBwb2ludGVyCisvLyAgICBzdGQ6Oml0ZXJhdG9yX3RyYWl0czxYPjo6dmFsdWVfdHlwZQorLy8gICAgc3RkOjppdGVyYXRvcl90cmFpdHM8WD46OnBvaW50ZXIKKy8vICAgIHN0ZDo6aXRlcmF0b3JfdHJhaXRzPFg+OjpyZWZlcmVuY2UKKy8vCisvLyBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcgZm9yIG1vc3QgcmVjZW50IHZlcnNpb24gaW5jbHVkaW5nIGRvY3VtZW50YXRpb24uCisKKy8vIFJldmlzaW9uIEhpc3RvcnkKKy8vIDA0IE1hciAyMDAxIC0gTW9yZSBhdHRlbXB0ZWQgZml4ZXMgZm9yIEludGVsIEMrKyAoRGF2aWQgQWJyYWhhbXMpCisvLyAwMyBNYXIgMjAwMSAtIFB1dCBhbGwgaW1wbGVtZW50YXRpb24gaW50byBuYW1lc3BhY2UKKy8vICAgICAgICAgICAgICAgbmRuYm9vc3Q6OmRldGFpbDo6aXRlcmF0b3JfdHJhaXRzXy4gU29tZSBwcm9ncmVzcyBtYWRlIG9uIGZpeGVzCisvLyAgICAgICAgICAgICAgIGZvciBJbnRlbCBjb21waWxlci4gKERhdmlkIEFicmFoYW1zKQorLy8gMDIgTWFyIDIwMDEgLSBDaGFuZ2VkIEJPT1NUX01TVkMgdG8gQk9PU1RfTVNWQ19TVERfSVRFUkFUT1IgaW4gYSBmZXcKKy8vICAgICAgICAgICAgICAgcGxhY2VzLiAoSmVyZW15IFNpZWspCisvLyAxOSBGZWIgMjAwMSAtIEltcHJvdmVkIHdvcmthcm91bmRzIGZvciBzdG9jayBNU1ZDNjsgdXNlIHllc190eXBlIGFuZAorLy8gICAgICAgICAgICAgICBub190eXBlIGZyb20gdHlwZV90cmFpdHMuaHBwOyBzdG9wcGVkIHRyeWluZyB0byByZW1vdmVfY3YKKy8vICAgICAgICAgICAgICAgYmVmb3JlIGRldGVjdGluZyBpc19wb2ludGVyLCBpbiBob25vciBvZiB0aGUgbmV3IHR5cGVfdHJhaXRzCisvLyAgICAgICAgICAgICAgIHNlbWFudGljcy4gKERhdmlkIEFicmFoYW1zKQorLy8gMTMgRmViIDIwMDEgLSBNYWtlIGl0IHdvcmsgd2l0aCBuZWFybHkgYWxsIHN0YW5kYXJkLWNvbmZvcm1pbmcgaXRlcmF0b3JzCisvLyAgICAgICAgICAgICAgIHVuZGVyIHJhdyBWQzYuIFRoZSBvbmUgY2F0ZWdvcnkgcmVtYWluaW5nIHdoaWNoIHdpbGwgZmFpbCBpcworLy8gICAgICAgICAgICAgICB0aGF0IG9mIGl0ZXJhdG9ycyBkZXJpdmVkIGZyb20gc3RkOjppdGVyYXRvciBidXQgbm90CisvLyAgICAgICAgICAgICAgIG5kbmJvb3N0OjppdGVyYXRvciBhbmQgd2hpY2ggcmVkZWZpbmUgZGlmZmVyZW5jZV90eXBlLgorLy8gMTEgRmViIDIwMDEgLSBDbGVhbiBhd2F5IGNvZGUgd2hpY2ggY2FuIG5ldmVyIGJlIHVzZWQgKERhdmlkIEFicmFoYW1zKQorLy8gMDkgRmViIDIwMDEgLSBBbHdheXMgaGF2ZSBhIGRlZmluaXRpb24gZm9yIGVhY2ggdHJhaXRzIG1lbWJlciwgZXZlbiBpZiBpdAorLy8gICAgICAgICAgICAgICBjYW4ndCBiZSBwcm9wZXJseSBkZWR1Y2VkLiBUaGVzZSB3aWxsIGJlIGluY29tcGxldGUgdHlwZXMgaW4KKy8vICAgICAgICAgICAgICAgc29tZSBjYXNlcyAodW5kZWZpbmVkPHZvaWQ+KSwgYnV0IGl0IGhlbHBzIHN1cHByZXNzIE1TVkMgZXJyb3JzCisvLyAgICAgICAgICAgICAgIGVsc2V3aGVyZSAoRGF2aWQgQWJyYWhhbXMpCisvLyAwNyBGZWIgMjAwMSAtIFN1cHBvcnQgZm9yIG1vcmUgb2YgdGhlIHRyYWl0cyBtZW1iZXJzIHdoZXJlIHBvc3NpYmxlLCBtYWtpbmcKKy8vICAgICAgICAgICAgICAgdGhpcyB1c2VmdWwgYXMgYSByZXBsYWNlbWVudCBmb3Igc3RkOjppdGVyYXRvcl90cmFpdHM8VD4gd2hlbgorLy8gICAgICAgICAgICAgICB1c2VkIGFzIGEgZGVmYXVsdCB0ZW1wbGF0ZSBwYXJhbWV0ZXIuCisvLyAwNiBGZWIgMjAwMSAtIFJlbW92ZWQgdXNlbGVzcyAjaW5jbHVkZXMgb2Ygc3RhbmRhcmQgbGlicmFyeSBoZWFkZXJzCisvLyAgICAgICAgICAgICAgIChEYXZpZCBBYnJhaGFtcykKKworI2lmbmRlZiBJVEVSQVRPUl9EV0ExMjI2MDBfSFBQXworIyBkZWZpbmUgSVRFUkFUT1JfRFdBMTIyNjAwX0hQUF8KKworIyBpbmNsdWRlIDxuZG5ib29zdC9jb25maWcuaHBwPgorIyBpbmNsdWRlIDxpdGVyYXRvcj4KKworLy8gU1RMUG9ydCA0LjAgYW5kIGJldGFzIGhhdmUgYSBidWcgd2hlbiBkZWJ1Z2dpbmcgaXMgZW5hYmxlZCBhbmQgdGhlcmUgaXMgbm8KKy8vIHBhcnRpYWwgc3BlY2lhbGl6YXRpb246IGluc3RlYWQgb2YgYW4gaXRlcmF0b3JfY2F0ZWdvcnkgdHlwZWRlZiwgdGhlIHN0YW5kYXJkCisvLyBjb250YWluZXIgaXRlcmF0b3JzIGhhdmUgX0l0ZXJhdG9yX2NhdGVnb3J5LgorLy8KKy8vIEFsc28sIHdoZXRoZXIgZGVidWdnaW5nIGlzIGVuYWJsZWQgb3Igbm90LCB0aGVyZSBpcyBhIGJyb2tlbiBzcGVjaWFsaXphdGlvbgorLy8gb2Ygc3RkOjppdGVyYXRvcjxvdXRwdXRfaXRlcmF0b3JfdGFnLHZvaWQsdm9pZCx2b2lkLHZvaWQ+IHdoaWNoIGhhcyBubworLy8gdHlwZWRlZnMgYnV0IGl0ZXJhdG9yX2NhdGVnb3J5LgorIyBpZiBkZWZpbmVkKF9fU0dJX1NUTF9QT1JUKQorCisjICBpZiAoX19TR0lfU1RMX1BPUlQgPD0gMHg0MTApICYmICFkZWZpbmVkKF9fU1RMX0NMQVNTX1BBUlRJQUxfU1BFQ0lBTElaQVRJT04pICYmIGRlZmluZWQoX19TVExfREVCVUcpCisjICAgZGVmaW5lIEJPT1NUX0JBRF9DT05UQUlORVJfSVRFUkFUT1JfQ0FURUdPUllfVFlQRURFRgorIyAgZW5kaWYKKworIyAgZGVmaW5lIEJPT1NUX0JBRF9PVVRQVVRfSVRFUkFUT1JfU1BFQ0lBTElaQVRJT04KKworIyBlbmRpZiAvLyBTVExQb3J0IDw9IDQuMWI0ICYmIG5vIHBhcnRpYWwgc3BlY2lhbGl6YXRpb24KKworIyBpZiAhZGVmaW5lZChCT09TVF9OT19TVERfSVRFUkFUT1JfVFJBSVRTKSAgICAgICAgICAgICBcCisgICYmICFkZWZpbmVkKEJPT1NUX05PX1RFTVBMQVRFX1BBUlRJQUxfU1BFQ0lBTElaQVRJT04pIFwKKyAgJiYgIWRlZmluZWQoQk9PU1RfTVNWQ19TVERfSVRFUkFUT1IpCisgICAgCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgZGV0YWlsIHsKKworLy8gRGVmaW5lIGEgbmV3IHRlbXBsYXRlIHNvIGl0IGNhbiBiZSBzcGVjaWFsaXplZAordGVtcGxhdGUgPGNsYXNzIEl0ZXJhdG9yPgorc3RydWN0IGl0ZXJhdG9yX3RyYWl0cworICAgIDogc3RkOjppdGVyYXRvcl90cmFpdHM8SXRlcmF0b3I+Cit7fTsKK3VzaW5nIHN0ZDo6ZGlzdGFuY2U7CisKK319IC8vIG5hbWVzcGFjZSBuZG5ib29zdDo6ZGV0YWlsCisKKyMgZWxzZQorCisjICBpZiAgIWRlZmluZWQoQk9PU1RfTk9fVEVNUExBVEVfUEFSVElBTF9TUEVDSUFMSVpBVElPTikgIFwKKyAgICAmJiAhZGVmaW5lZChCT09TVF9NU1ZDX1NURF9JVEVSQVRPUikKKworLy8gVGhpcyBpcyB0aGUgY2FzZSB3aGVyZSBldmVyeXRoaW5nIGNvbmZvcm1zIGV4Y2VwdCBCT09TVF9OT19TVERfSVRFUkFUT1JfVFJBSVRTCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBkZXRhaWwgeworCisvLyBSb2d1ZSBXYXZlIFN0YW5kYXJkIExpYnJhcnkgZm9vbHMgaXRzZWxmIGludG8gdGhpbmtpbmcgcGFydGlhbAorLy8gc3BlY2lhbGl6YXRpb24gaXMgbWlzc2luZyBvbiBzb21lIHBsYXRmb3JtcyAoZS5nLiBTdW4pLCBzbyBmYWlscyB0bworLy8gc3VwcGx5IGl0ZXJhdG9yX3RyYWl0cyEKK3RlbXBsYXRlIDxjbGFzcyBJdGVyYXRvcj4KK3N0cnVjdCBpdGVyYXRvcl90cmFpdHMKK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIEl0ZXJhdG9yOjp2YWx1ZV90eXBlIHZhbHVlX3R5cGU7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBJdGVyYXRvcjo6cmVmZXJlbmNlIHJlZmVyZW5jZTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIEl0ZXJhdG9yOjpwb2ludGVyIHBvaW50ZXI7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBJdGVyYXRvcjo6ZGlmZmVyZW5jZV90eXBlIGRpZmZlcmVuY2VfdHlwZTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIEl0ZXJhdG9yOjppdGVyYXRvcl9jYXRlZ29yeSBpdGVyYXRvcl9jYXRlZ29yeTsKK307CisKK3RlbXBsYXRlIDxjbGFzcyBUPgorc3RydWN0IGl0ZXJhdG9yX3RyYWl0czxUKj4KK3sKKyAgICB0eXBlZGVmIFQgdmFsdWVfdHlwZTsKKyAgICB0eXBlZGVmIFQmIHJlZmVyZW5jZTsKKyAgICB0eXBlZGVmIFQqIHBvaW50ZXI7CisgICAgdHlwZWRlZiBzdGQ6OnB0cmRpZmZfdCBkaWZmZXJlbmNlX3R5cGU7CisgICAgdHlwZWRlZiBzdGQ6OnJhbmRvbV9hY2Nlc3NfaXRlcmF0b3JfdGFnIGl0ZXJhdG9yX2NhdGVnb3J5OworfTsKKwordGVtcGxhdGUgPGNsYXNzIFQ+CitzdHJ1Y3QgaXRlcmF0b3JfdHJhaXRzPFQgY29uc3QqPgoreworICAgIHR5cGVkZWYgVCB2YWx1ZV90eXBlOworICAgIHR5cGVkZWYgVCBjb25zdCYgcmVmZXJlbmNlOworICAgIHR5cGVkZWYgVCBjb25zdCogcG9pbnRlcjsKKyAgICB0eXBlZGVmIHN0ZDo6cHRyZGlmZl90IGRpZmZlcmVuY2VfdHlwZTsKKyAgICB0eXBlZGVmIHN0ZDo6cmFuZG9tX2FjY2Vzc19pdGVyYXRvcl90YWcgaXRlcmF0b3JfY2F0ZWdvcnk7Cit9OworCit9fSAvLyBuYW1lc3BhY2UgbmRuYm9vc3Q6OmRldGFpbAorCisjICBlbHNlCisKKyMgaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvcmVtb3ZlX2NvbnN0LmhwcD4KKyMgaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvZGV0YWlsL3llc19ub190eXBlLmhwcD4KKyMgaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvaXNfcG9pbnRlci5ocHA+CisKKyMgaWZkZWYgQk9PU1RfTk9fVEVNUExBVEVfUEFSVElBTF9TUEVDSUFMSVpBVElPTgorIyAgaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvaXNfc2FtZS5ocHA+CisjICBpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9yZW1vdmVfcG9pbnRlci5ocHA+CisjIGVuZGlmCisjIGlmZGVmIEJPT1NUX0JBRF9PVVRQVVRfSVRFUkFUT1JfU1BFQ0lBTElaQVRJT04KKyMgIGluY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2lzX2Jhc2VfYW5kX2Rlcml2ZWQuaHBwPgorIyBlbmRpZgorCisjIGluY2x1ZGUgPG5kbmJvb3N0L21wbC9pZi5ocHA+CisjIGluY2x1ZGUgPG5kbmJvb3N0L21wbC9oYXNfeHh4LmhwcD4KKyMgaW5jbHVkZSA8Y3N0ZGRlZj4KKworLy8gc2hvdWxkIGJlIHRoZSBsYXN0ICNpbmNsdWRlCisjIGluY2x1ZGUgIm5kbmJvb3N0L3R5cGVfdHJhaXRzL2RldGFpbC9ib29sX3RyYWl0X2RlZi5ocHAiCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBkZXRhaWwgeworCitCT09TVF9NUExfSEFTX1hYWF9UUkFJVF9ERUYodmFsdWVfdHlwZSkKK0JPT1NUX01QTF9IQVNfWFhYX1RSQUlUX0RFRihyZWZlcmVuY2UpCitCT09TVF9NUExfSEFTX1hYWF9UUkFJVF9ERUYocG9pbnRlcikKK0JPT1NUX01QTF9IQVNfWFhYX1RSQUlUX0RFRihkaWZmZXJlbmNlX3R5cGUpCitCT09TVF9NUExfSEFTX1hYWF9UUkFJVF9ERUYoaXRlcmF0b3JfY2F0ZWdvcnkpCisKKy8vIGlzX211dGFibGVfaXRlcmF0b3IgLS0KKy8vCisvLyAgIEEgbWV0YWZ1bmN0aW9uIHJldHVybmluZyB0cnVlIGlmZiBUIGlzIGEgbXV0YWJsZSBpdGVyYXRvciB0eXBlCisvLyAgIHdpdGggYSBuZXN0ZWQgdmFsdWVfdHlwZS4gV2lsbCBvbmx5IHdvcmsgcG9ydGFibHkgd2l0aCBpdGVyYXRvcnMKKy8vICAgd2hvc2Ugb3BlcmF0b3IqIHJldHVybnMgYSByZWZlcmVuY2UsIGJ1dCB0aGF0IHNlZW1zIHRvIGJlIE9LIGZvcgorLy8gICB0aGUgaXRlcmF0b3JzIHN1cHBsaWVkIGJ5IERpbmt1bXdhcmUuIFNvbWUgaW5wdXQgaXRlcmF0b3JzIG1heQorLy8gICBjb21waWxlLXRpbWUgaWYgdGhleSBhcnJpdmUgaGVyZSwgYW5kIGlmIHRoZSBjb21waWxlciBpcyBzdHJpY3QKKy8vICAgYWJvdXQgbm90IHRha2luZyB0aGUgYWRkcmVzcyBvZiBhbiBydmFsdWUuCisKKy8vIFRoaXMgb25lIGRldGVjdHMgb3JkaW5hcnkgbXV0YWJsZSBpdGVyYXRvcnMgLSB0aGUgcmVzdWx0IG9mCisvLyBvcGVyYXRvciogaXMgY29udmVydGlibGUgdG8gdGhlIHZhbHVlX3R5cGUuCit0ZW1wbGF0ZSA8Y2xhc3MgVD4KK3R5cGVfdHJhaXRzOjp5ZXNfdHlwZSBpc19tdXRhYmxlX2l0ZXJhdG9yX2hlbHBlcihUIGNvbnN0KiwgQk9PU1RfREVEVUNFRF9UWVBFTkFNRSBUOjp2YWx1ZV90eXBlKik7CisKKy8vIFNpbmNlIHlvdSBjYW4ndCB0YWtlIHRoZSBhZGRyZXNzIG9mIGFuIHJ2YWx1ZSwgdGhlIGd1dHMgb2YKKy8vIGlzX211dGFibGVfaXRlcmF0b3JfaW1wbCB3aWxsIGZhaWwgaWYgd2UgdXNlICYqdCBkaXJlY3RseS4gIFRoaXMKKy8vIG1ha2VzIHN1cmUgd2UgY2FuIHN0aWxsIHdvcmsgd2l0aCBub24tbHZhbHVlIGl0ZXJhdG9ycy4KK3RlbXBsYXRlIDxjbGFzcyBUPiBUKiBtdXRhYmxlX2l0ZXJhdG9yX2x2YWx1ZV9oZWxwZXIoVCYgeCk7CitpbnQgbXV0YWJsZV9pdGVyYXRvcl9sdmFsdWVfaGVscGVyKC4uLik7CisKKworLy8gVGhpcyBvbmUgZGV0ZWN0cyBvdXRwdXQgaXRlcmF0b3JzIHN1Y2ggYXMgb3N0cmVhbV9pdGVyYXRvciB3aGljaAorLy8gcmV0dXJuIHJlZmVyZW5jZXMgdG8gdGhlbXNlbHZlcy4KK3RlbXBsYXRlIDxjbGFzcyBUPgordHlwZV90cmFpdHM6Onllc190eXBlIGlzX211dGFibGVfaXRlcmF0b3JfaGVscGVyKFQgY29uc3QqLCBUIGNvbnN0Kik7CisKK3R5cGVfdHJhaXRzOjpub190eXBlIGlzX211dGFibGVfaXRlcmF0b3JfaGVscGVyKC4uLik7CisKK3RlbXBsYXRlIDxjbGFzcyBUPgorc3RydWN0IGlzX211dGFibGVfaXRlcmF0b3JfaW1wbAoreworICAgIHN0YXRpYyBUIHQ7CisgICAgCisgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKAorICAgICAgICBib29sLCB2YWx1ZSA9IHNpemVvZigKKyAgICAgICAgICAgIGRldGFpbDo6aXNfbXV0YWJsZV9pdGVyYXRvcl9oZWxwZXIoCisgICAgICAgICAgICAgICAgKFQqKTAKKyAgICAgICAgICAgICAgLCBtdXRhYmxlX2l0ZXJhdG9yX2x2YWx1ZV9oZWxwZXIoKnQpIC8vIGxpa2UgJip0CisgICAgICAgICAgICApKQorICAgICAgICA9PSBzaXplb2YodHlwZV90cmFpdHM6Onllc190eXBlKQorICAgICk7Cit9OworCitCT09TVF9UVF9BVVhfQk9PTF9UUkFJVF9ERUYxKAorICAgIGlzX211dGFibGVfaXRlcmF0b3IsVCw6Om5kbmJvb3N0OjpkZXRhaWw6OmlzX211dGFibGVfaXRlcmF0b3JfaW1wbDxUPjo6dmFsdWUpCisKKworLy8gaXNfZnVsbF9pdGVyYXRvcl90cmFpdHMgLS0KKy8vCisvLyAgIEEgbWV0YWZ1bmN0aW9uIHJldHVybmluZyB0cnVlIGlmZiBUIGhhcyBhbGwgdGhlIHJlcXVpc2l0ZSBuZXN0ZWQKKy8vICAgdHlwZXMgdG8gc2F0aXNmeSB0aGUgcmVxdWlyZW1lbnRzIGZvciBhIGZ1bGx5LWNvbmZvcm1pbmcKKy8vICAgaXRlcmF0b3JfdHJhaXRzIGltcGxlbWVudGF0aW9uLgordGVtcGxhdGUgPGNsYXNzIFQ+CitzdHJ1Y3QgaXNfZnVsbF9pdGVyYXRvcl90cmFpdHNfaW1wbAoreworICAgIGVudW0geyB2YWx1ZSA9IAorICAgICAgICAgICBoYXNfdmFsdWVfdHlwZTxUPjo6dmFsdWUgCisgICAgICAgICAgICYgaGFzX3JlZmVyZW5jZTxUPjo6dmFsdWUgCisgICAgICAgICAgICYgaGFzX3BvaW50ZXI8VD46OnZhbHVlIAorICAgICAgICAgICAmIGhhc19kaWZmZXJlbmNlX3R5cGU8VD46OnZhbHVlCisgICAgICAgICAgICYgaGFzX2l0ZXJhdG9yX2NhdGVnb3J5PFQ+Ojp2YWx1ZQorICAgIH07Cit9OworCitCT09TVF9UVF9BVVhfQk9PTF9UUkFJVF9ERUYxKAorICAgIGlzX2Z1bGxfaXRlcmF0b3JfdHJhaXRzLFQsOjpuZG5ib29zdDo6ZGV0YWlsOjppc19mdWxsX2l0ZXJhdG9yX3RyYWl0c19pbXBsPFQ+Ojp2YWx1ZSkKKworCisjICAgaWZkZWYgQk9PU1RfQkFEX0NPTlRBSU5FUl9JVEVSQVRPUl9DQVRFR09SWV9UWVBFREVGCitCT09TVF9NUExfSEFTX1hYWF9UUkFJVF9ERUYoX0l0ZXJhdG9yX2NhdGVnb3J5KQorICAgIAorLy8gaXNfc3RscG9ydF80MF9kZWJ1Z19pdGVyYXRvciAtLQorLy8KKy8vICAgQSBtZXRhZnVuY3Rpb24gcmV0dXJuaW5nIHRydWUgaWZmIFQgaGFzIGFsbCB0aGUgcmVxdWlzaXRlIG5lc3RlZAorLy8gICB0eXBlcyB0byBzYXRpc2Z5IHRoZSByZXF1aXJlbWVudHMgb2YgYW4gU1RMUG9ydCA0LjAgZGVidWcgaXRlcmF0b3IKKy8vICAgaXRlcmF0b3JfdHJhaXRzIGltcGxlbWVudGF0aW9uLgordGVtcGxhdGUgPGNsYXNzIFQ+CitzdHJ1Y3QgaXNfc3RscG9ydF80MF9kZWJ1Z19pdGVyYXRvcl9pbXBsCit7CisgICAgZW51bSB7IHZhbHVlID0gCisgICAgICAgICAgIGhhc192YWx1ZV90eXBlPFQ+Ojp2YWx1ZSAKKyAgICAgICAgICAgJiBoYXNfcmVmZXJlbmNlPFQ+Ojp2YWx1ZSAKKyAgICAgICAgICAgJiBoYXNfcG9pbnRlcjxUPjo6dmFsdWUgCisgICAgICAgICAgICYgaGFzX2RpZmZlcmVuY2VfdHlwZTxUPjo6dmFsdWUKKyAgICAgICAgICAgJiBoYXNfX0l0ZXJhdG9yX2NhdGVnb3J5PFQ+Ojp2YWx1ZQorICAgIH07Cit9OworCitCT09TVF9UVF9BVVhfQk9PTF9UUkFJVF9ERUYxKAorICAgIGlzX3N0bHBvcnRfNDBfZGVidWdfaXRlcmF0b3IsVCw6Om5kbmJvb3N0OjpkZXRhaWw6OmlzX3N0bHBvcnRfNDBfZGVidWdfaXRlcmF0b3JfaW1wbDxUPjo6dmFsdWUpCisKK3RlbXBsYXRlIDxjbGFzcyBUPgorc3RydWN0IHN0bHBvcnRfNDBfZGVidWdfaXRlcmF0b3JfdHJhaXRzCit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBUOjp2YWx1ZV90eXBlIHZhbHVlX3R5cGU7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBUOjpyZWZlcmVuY2UgcmVmZXJlbmNlOworICAgIHR5cGVkZWYgdHlwZW5hbWUgVDo6cG9pbnRlciBwb2ludGVyOworICAgIHR5cGVkZWYgdHlwZW5hbWUgVDo6ZGlmZmVyZW5jZV90eXBlIGRpZmZlcmVuY2VfdHlwZTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIFQ6Ol9JdGVyYXRvcl9jYXRlZ29yeSBpdGVyYXRvcl9jYXRlZ29yeTsKK307CisjICAgZW5kaWYgLy8gQk9PU1RfQkFEX0NPTlRBSU5FUl9JVEVSQVRPUl9DQVRFR09SWV9UWVBFREVGIAorCit0ZW1wbGF0ZSA8Y2xhc3MgVD4gc3RydWN0IHBvaW50ZXJfaXRlcmF0b3JfdHJhaXRzOworCisjICAgaWZuZGVmIEJPT1NUX05PX1RFTVBMQVRFX1BBUlRJQUxfU1BFQ0lBTElaQVRJT04KK3RlbXBsYXRlIDxjbGFzcyBUPgorc3RydWN0IHBvaW50ZXJfaXRlcmF0b3JfdHJhaXRzPFQqPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgcmVtb3ZlX2NvbnN0PFQ+Ojp0eXBlIHZhbHVlX3R5cGU7CisgICAgdHlwZWRlZiBUKiBwb2ludGVyOworICAgIHR5cGVkZWYgVCYgcmVmZXJlbmNlOworICAgIHR5cGVkZWYgc3RkOjpyYW5kb21fYWNjZXNzX2l0ZXJhdG9yX3RhZyBpdGVyYXRvcl9jYXRlZ29yeTsKKyAgICB0eXBlZGVmIHN0ZDo6cHRyZGlmZl90IGRpZmZlcmVuY2VfdHlwZTsKK307CisjICAgZWxzZQorCisvLyBJbiBjYXNlIG9mIG5vIHRlbXBsYXRlIHBhcnRpYWwgc3BlY2lhbGl6YXRpb24sIGFuZCBpZiBUIGlzIGEKKy8vIHBvaW50ZXIsIGl0ZXJhdG9yX3RyYWl0czxUPjo6dmFsdWVfdHlwZSBjYW4gc3RpbGwgYmUgY29tcHV0ZWQuICBGb3IKKy8vIHNvbWUgYmFzaWMgdHlwZXMsIHJlbW92ZV9wb2ludGVyIGlzIG1hbnVhbGx5IGRlZmluZWQgaW4KKy8vIHR5cGVfdHJhaXRzL2Jyb2tlbl9jb21waWxlcl9zcGVjLmhwcC4gRm9yIG90aGVycywgZG8gaXQgeW91cnNlbGYuCisKK3RlbXBsYXRlPGNsYXNzIFA+IGNsYXNzIHBsZWFzZV9pbnZva2VfQk9PU1RfVFRfQlJPS0VOX0NPTVBJTEVSX1NQRUNfb25fY3ZfdW5xdWFsaWZpZWRfcG9pbnRlZTsKKwordGVtcGxhdGU8Y2xhc3MgUD4KK3N0cnVjdCBwb2ludGVyX3ZhbHVlX3R5cGUKKyAgOiBtcGw6OmlmXzwKKyAgICAgICAgaXNfc2FtZTxQLCB0eXBlbmFtZSByZW1vdmVfcG9pbnRlcjxQPjo6dHlwZT4KKyAgICAgICwgcGxlYXNlX2ludm9rZV9CT09TVF9UVF9CUk9LRU5fQ09NUElMRVJfU1BFQ19vbl9jdl91bnF1YWxpZmllZF9wb2ludGVlPFA+CisgICAgICAsIHR5cGVuYW1lIHJlbW92ZV9jb25zdDwKKyAgICAgICAgICAgIHR5cGVuYW1lIHJlbW92ZV9wb2ludGVyPFA+Ojp0eXBlCisgICAgICAgID46OnR5cGUKKyAgICA+Cit7Cit9OworCisKK3RlbXBsYXRlPGNsYXNzIFA+CitzdHJ1Y3QgcG9pbnRlcl9yZWZlcmVuY2UKKyAgOiBtcGw6OmlmXzwKKyAgICAgICAgaXNfc2FtZTxQLCB0eXBlbmFtZSByZW1vdmVfcG9pbnRlcjxQPjo6dHlwZT4KKyAgICAgICwgcGxlYXNlX2ludm9rZV9CT09TVF9UVF9CUk9LRU5fQ09NUElMRVJfU1BFQ19vbl9jdl91bnF1YWxpZmllZF9wb2ludGVlPFA+CisgICAgICAsIHR5cGVuYW1lIHJlbW92ZV9wb2ludGVyPFA+Ojp0eXBlJgorICAgID4KK3sKK307CisKK3RlbXBsYXRlIDxjbGFzcyBUPgorc3RydWN0IHBvaW50ZXJfaXRlcmF0b3JfdHJhaXRzCit7CisgICAgdHlwZWRlZiBUIHBvaW50ZXI7CisgICAgdHlwZWRlZiBzdGQ6OnJhbmRvbV9hY2Nlc3NfaXRlcmF0b3JfdGFnIGl0ZXJhdG9yX2NhdGVnb3J5OworICAgIHR5cGVkZWYgc3RkOjpwdHJkaWZmX3QgZGlmZmVyZW5jZV90eXBlOworCisgICAgdHlwZWRlZiB0eXBlbmFtZSBwb2ludGVyX3ZhbHVlX3R5cGU8VD46OnR5cGUgdmFsdWVfdHlwZTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHBvaW50ZXJfcmVmZXJlbmNlPFQ+Ojp0eXBlIHJlZmVyZW5jZTsKK307CisKKyMgICBlbmRpZiAvLyBCT09TVF9OT19URU1QTEFURV9QQVJUSUFMX1NQRUNJQUxJWkFUSU9OCisKKy8vIFdlJ2xsIHNvcnQgaXRlcmF0b3IgdHlwZXMgaW50byBvbmUgb2YgdGhlc2UgY2xhc3NpZmljYXRpb25zLCBmcm9tIHdoaWNoIHdlCisvLyBjYW4gZGV0ZXJtaW5lIHRoZSBkaWZmZXJlbmNlX3R5cGUsIHBvaW50ZXIsIHJlZmVyZW5jZSwgYW5kIHZhbHVlX3R5cGUKK3RlbXBsYXRlIDxjbGFzcyBJdGVyYXRvcj4KK3N0cnVjdCBzdGFuZGFyZF9pdGVyYXRvcl90cmFpdHMKK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIEl0ZXJhdG9yOjpkaWZmZXJlbmNlX3R5cGUgZGlmZmVyZW5jZV90eXBlOworICAgIHR5cGVkZWYgdHlwZW5hbWUgSXRlcmF0b3I6OnZhbHVlX3R5cGUgdmFsdWVfdHlwZTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIEl0ZXJhdG9yOjpwb2ludGVyIHBvaW50ZXI7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBJdGVyYXRvcjo6cmVmZXJlbmNlIHJlZmVyZW5jZTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIEl0ZXJhdG9yOjppdGVyYXRvcl9jYXRlZ29yeSBpdGVyYXRvcl9jYXRlZ29yeTsKK307CisKK3RlbXBsYXRlIDxjbGFzcyBJdGVyYXRvcj4KK3N0cnVjdCBtc3ZjX3N0ZGxpYl9tdXRhYmxlX3RyYWl0cworICAgIDogc3RkOjppdGVyYXRvcl90cmFpdHM8SXRlcmF0b3I+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzdGQ6Oml0ZXJhdG9yX3RyYWl0czxJdGVyYXRvcj46OmRpc3RhbmNlX3R5cGUgZGlmZmVyZW5jZV90eXBlOworICAgIHR5cGVkZWYgdHlwZW5hbWUgc3RkOjppdGVyYXRvcl90cmFpdHM8SXRlcmF0b3I+Ojp2YWx1ZV90eXBlKiBwb2ludGVyOworICAgIHR5cGVkZWYgdHlwZW5hbWUgc3RkOjppdGVyYXRvcl90cmFpdHM8SXRlcmF0b3I+Ojp2YWx1ZV90eXBlJiByZWZlcmVuY2U7Cit9OworCit0ZW1wbGF0ZSA8Y2xhc3MgSXRlcmF0b3I+CitzdHJ1Y3QgbXN2Y19zdGRsaWJfY29uc3RfdHJhaXRzCisgICAgOiBzdGQ6Oml0ZXJhdG9yX3RyYWl0czxJdGVyYXRvcj4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHN0ZDo6aXRlcmF0b3JfdHJhaXRzPEl0ZXJhdG9yPjo6ZGlzdGFuY2VfdHlwZSBkaWZmZXJlbmNlX3R5cGU7CisgICAgdHlwZWRlZiBjb25zdCB0eXBlbmFtZSBzdGQ6Oml0ZXJhdG9yX3RyYWl0czxJdGVyYXRvcj46OnZhbHVlX3R5cGUqIHBvaW50ZXI7CisgICAgdHlwZWRlZiBjb25zdCB0eXBlbmFtZSBzdGQ6Oml0ZXJhdG9yX3RyYWl0czxJdGVyYXRvcj46OnZhbHVlX3R5cGUmIHJlZmVyZW5jZTsKK307CisKKyMgICBpZmRlZiBCT09TVF9CQURfT1VUUFVUX0lURVJBVE9SX1NQRUNJQUxJWkFUSU9OCit0ZW1wbGF0ZSA8Y2xhc3MgSXRlcmF0b3I+CitzdHJ1Y3QgaXNfYmFkX291dHB1dF9pdGVyYXRvcgorICAgIDogaXNfYmFzZV9hbmRfZGVyaXZlZDwKKyAgICAgICAgc3RkOjppdGVyYXRvcjxzdGQ6Om91dHB1dF9pdGVyYXRvcl90YWcsdm9pZCx2b2lkLHZvaWQsdm9pZD4KKyAgICAgICAgLCBJdGVyYXRvcj4KK3sKK307CisKK3N0cnVjdCBiYWRfb3V0cHV0X2l0ZXJhdG9yX3RyYWl0cworeworICAgIHR5cGVkZWYgdm9pZCB2YWx1ZV90eXBlOworICAgIHR5cGVkZWYgdm9pZCBkaWZmZXJlbmNlX3R5cGU7CisgICAgdHlwZWRlZiBzdGQ6Om91dHB1dF9pdGVyYXRvcl90YWcgaXRlcmF0b3JfY2F0ZWdvcnk7CisgICAgdHlwZWRlZiB2b2lkIHBvaW50ZXI7CisgICAgdHlwZWRlZiB2b2lkIHJlZmVyZW5jZTsKK307CisjICAgZW5kaWYKKworLy8gSWYgd2UncmUgbG9va2luZyBhdCBhbiBNU1ZDNiAob2xkIERpbmt1bXdhcmUpIGBgc3RhbmRhcmQnJworLy8gaXRlcmF0b3IsIHRoaXMgd2lsbCBnZW5lcmF0ZSBhbiBhcHByb3ByaWF0ZSB0cmFpdHMgY2xhc3MuIAordGVtcGxhdGUgPGNsYXNzIEl0ZXJhdG9yPgorc3RydWN0IG1zdmNfc3RkbGliX2l0ZXJhdG9yX3RyYWl0cworICAgIDogbXBsOjppZl88CisgICAgICAgaXNfbXV0YWJsZV9pdGVyYXRvcjxJdGVyYXRvcj4KKyAgICAgICAsIG1zdmNfc3RkbGliX211dGFibGVfdHJhaXRzPEl0ZXJhdG9yPgorICAgICAgICwgbXN2Y19zdGRsaWJfY29uc3RfdHJhaXRzPEl0ZXJhdG9yPgorICAgICAgPjo6dHlwZQore307CisKK3RlbXBsYXRlIDxjbGFzcyBJdGVyYXRvcj4KK3N0cnVjdCBub25fcG9pbnRlcl9pdGVyYXRvcl90cmFpdHMKKyAgICA6IG1wbDo6aWZfPAorICAgICAgICAvLyBpZiB0aGUgaXRlcmF0b3IgY29udGFpbnMgYWxsIHRoZSByaWdodCBuZXN0ZWQgdHlwZXMuLi4KKyAgICAgICAgaXNfZnVsbF9pdGVyYXRvcl90cmFpdHM8SXRlcmF0b3I+CisgICAgICAgIC8vIFVzZSBhIHN0YW5kYXJkIGl0ZXJhdG9yX3RyYWl0cyBpbXBsZW1lbnRhdGlvbgorICAgICAgICAsIHN0YW5kYXJkX2l0ZXJhdG9yX3RyYWl0czxJdGVyYXRvcj4KKyMgICBpZmRlZiBCT09TVF9CQURfQ09OVEFJTkVSX0lURVJBVE9SX0NBVEVHT1JZX1RZUEVERUYKKyAgICAgICAgLy8gQ2hlY2sgZm9yIFNUTFBvcnQgNC4wIGJyb2tlbiBfSXRlcmF0b3JfY2F0ZWdvcnkgdHlwZQorICAgICAgICAsIG1wbDo6aWZfPAorICAgICAgICAgICAgIGlzX3N0bHBvcnRfNDBfZGVidWdfaXRlcmF0b3I8SXRlcmF0b3I+CisgICAgICAgICAgICAgLCBzdGxwb3J0XzQwX2RlYnVnX2l0ZXJhdG9yX3RyYWl0czxJdGVyYXRvcj4KKyMgICBlbmRpZgorICAgICAgICAvLyBPdGhlcndpc2UsIGFzc3VtZSBpdCdzIGEgRGlua3VtIGl0ZXJhdG9yCisgICAgICAgICwgbXN2Y19zdGRsaWJfaXRlcmF0b3JfdHJhaXRzPEl0ZXJhdG9yPgorIyAgIGlmZGVmIEJPT1NUX0JBRF9DT05UQUlORVJfSVRFUkFUT1JfQ0FURUdPUllfVFlQRURFRgorICAgICAgICA+Ojp0eXBlCisjICAgZW5kaWYgCisgICAgPjo6dHlwZQoreworfTsKKwordGVtcGxhdGUgPGNsYXNzIEl0ZXJhdG9yPgorc3RydWN0IGl0ZXJhdG9yX3RyYWl0c19hdXgKKyAgICA6IG1wbDo6aWZfPAorICAgICAgICBpc19wb2ludGVyPEl0ZXJhdG9yPgorICAgICAgICAsIHBvaW50ZXJfaXRlcmF0b3JfdHJhaXRzPEl0ZXJhdG9yPgorICAgICAgICAsIG5vbl9wb2ludGVyX2l0ZXJhdG9yX3RyYWl0czxJdGVyYXRvcj4KKyAgICA+Ojp0eXBlCit7Cit9OworCit0ZW1wbGF0ZSA8Y2xhc3MgSXRlcmF0b3I+CitzdHJ1Y3QgaXRlcmF0b3JfdHJhaXRzCit7CisgICAgLy8gRXhwbGljaXQgZm9yd2FyZGluZyBmcm9tIGJhc2UgY2xhc3MgbmVlZGVkIHRvIGtlZXAgTVNWQzYgaGFwcHkKKyAgICAvLyB1bmRlciBzb21lIGNpcmN1bXN0YW5jZXMuCisgcHJpdmF0ZToKKyMgICBpZmRlZiBCT09TVF9CQURfT1VUUFVUX0lURVJBVE9SX1NQRUNJQUxJWkFUSU9OCisgICAgdHlwZWRlZiAKKyAgICB0eXBlbmFtZSBtcGw6OmlmXzwKKyAgICAgICAgaXNfYmFkX291dHB1dF9pdGVyYXRvcjxJdGVyYXRvcj4KKyAgICAgICAgLCBiYWRfb3V0cHV0X2l0ZXJhdG9yX3RyYWl0cworICAgICAgICAsIGl0ZXJhdG9yX3RyYWl0c19hdXg8SXRlcmF0b3I+CisgICAgPjo6dHlwZSBiYXNlOworIyAgIGVsc2UKKyAgICB0eXBlZGVmIGl0ZXJhdG9yX3RyYWl0c19hdXg8SXRlcmF0b3I+IGJhc2U7CisjICAgZW5kaWYKKyBwdWJsaWM6CisgICAgdHlwZWRlZiB0eXBlbmFtZSBiYXNlOjp2YWx1ZV90eXBlIHZhbHVlX3R5cGU7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBiYXNlOjpwb2ludGVyIHBvaW50ZXI7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBiYXNlOjpyZWZlcmVuY2UgcmVmZXJlbmNlOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYmFzZTo6ZGlmZmVyZW5jZV90eXBlIGRpZmZlcmVuY2VfdHlwZTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGJhc2U6Oml0ZXJhdG9yX2NhdGVnb3J5IGl0ZXJhdG9yX2NhdGVnb3J5OworfTsKKworLy8gVGhpcyBzcGVjaWFsaXphdGlvbiBjdXRzIG9mZiBFVEkgKEVhcmx5IFRlbXBsYXRlIEluc3RhbnRpYXRpb24pIGZvciBNU1ZDLgordGVtcGxhdGUgPD4gc3RydWN0IGl0ZXJhdG9yX3RyYWl0czxpbnQ+Cit7CisgICAgdHlwZWRlZiBpbnQgdmFsdWVfdHlwZTsKKyAgICB0eXBlZGVmIGludCBwb2ludGVyOworICAgIHR5cGVkZWYgaW50IHJlZmVyZW5jZTsKKyAgICB0eXBlZGVmIGludCBkaWZmZXJlbmNlX3R5cGU7CisgICAgdHlwZWRlZiBpbnQgaXRlcmF0b3JfY2F0ZWdvcnk7Cit9OworCit9fSAvLyBuYW1lc3BhY2UgbmRuYm9vc3Q6OmRldGFpbAorCisjICBlbmRpZiAvLyB3b3JrYXJvdW5kcworCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgZGV0YWlsIHsKKworbmFtZXNwYWNlIGl0ZXJhdG9yX3RyYWl0c18KK3sKKyAgdGVtcGxhdGUgPGNsYXNzIEl0ZXJhdG9yLCBjbGFzcyBEaWZmZXJlbmNlPgorICBzdHJ1Y3QgZGlzdGFuY2Vfc2VsZWN0CisgIHsKKyAgICAgIHN0YXRpYyBEaWZmZXJlbmNlIGV4ZWN1dGUoSXRlcmF0b3IgaTEsIGNvbnN0IEl0ZXJhdG9yIGkyLCAuLi4pCisgICAgICB7CisgICAgICAgICAgRGlmZmVyZW5jZSByZXN1bHQgPSAwOworICAgICAgICAgIHdoaWxlIChpMSAhPSBpMikKKyAgICAgICAgICB7CisgICAgICAgICAgICAgICsraTE7CisgICAgICAgICAgICAgICsrcmVzdWx0OworICAgICAgICAgIH0KKyAgICAgICAgICByZXR1cm4gcmVzdWx0OworICAgICAgfQorCisgICAgICBzdGF0aWMgRGlmZmVyZW5jZSBleGVjdXRlKEl0ZXJhdG9yIGkxLCBjb25zdCBJdGVyYXRvciBpMiwgc3RkOjpyYW5kb21fYWNjZXNzX2l0ZXJhdG9yX3RhZyopCisgICAgICB7CisgICAgICAgICAgcmV0dXJuIGkyIC0gaTE7CisgICAgICB9CisgIH07Cit9IC8vIG5hbWVzcGFjZSBuZG5ib29zdDo6ZGV0YWlsOjppdGVyYXRvcl90cmFpdHNfCisKK3RlbXBsYXRlIDxjbGFzcyBJdGVyYXRvcj4KK2lubGluZSB0eXBlbmFtZSBpdGVyYXRvcl90cmFpdHM8SXRlcmF0b3I+OjpkaWZmZXJlbmNlX3R5cGUKK2Rpc3RhbmNlKEl0ZXJhdG9yIGZpcnN0LCBJdGVyYXRvciBsYXN0KQoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgaXRlcmF0b3JfdHJhaXRzPEl0ZXJhdG9yPjo6ZGlmZmVyZW5jZV90eXBlIGRpZmZfdDsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIDo6bmRuYm9vc3Q6OmRldGFpbDo6aXRlcmF0b3JfdHJhaXRzPEl0ZXJhdG9yPjo6aXRlcmF0b3JfY2F0ZWdvcnkgaXRlcmF0b3JfY2F0ZWdvcnk7CisgICAgCisgICAgcmV0dXJuIGl0ZXJhdG9yX3RyYWl0c186OmRpc3RhbmNlX3NlbGVjdDxJdGVyYXRvcixkaWZmX3Q+OjpleGVjdXRlKAorICAgICAgICBmaXJzdCwgbGFzdCwgKGl0ZXJhdG9yX2NhdGVnb3J5KikwKTsKK30KKworfX0KKworIyBlbmRpZgorCisKKyMgdW5kZWYgQk9PU1RfQkFEX0NPTlRBSU5FUl9JVEVSQVRPUl9DQVRFR09SWV9UWVBFREVGCisjIHVuZGVmIEJPT1NUX0JBRF9PVVRQVVRfSVRFUkFUT1JfU1BFQ0lBTElaQVRJT04KKworI2VuZGlmIC8vIElURVJBVE9SX0RXQTEyMjYwMF9IUFBfCmRpZmYgLS1naXQgYS9uZG5ib29zdC9kZXRhaWwvbGlnaHR3ZWlnaHRfbXV0ZXguaHBwIGIvbmRuYm9vc3QvZGV0YWlsL2xpZ2h0d2VpZ2h0X211dGV4LmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42Yjk1MmU1Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvZGV0YWlsL2xpZ2h0d2VpZ2h0X211dGV4LmhwcApAQCAtMCwwICsxLDIyIEBACisjaWZuZGVmIEJPT1NUX0RFVEFJTF9MSUdIVFdFSUdIVF9NVVRFWF9IUFBfSU5DTFVERUQKKyNkZWZpbmUgQk9PU1RfREVUQUlMX0xJR0hUV0VJR0hUX01VVEVYX0hQUF9JTkNMVURFRAorCisvLyBNUyBjb21wYXRpYmxlIGNvbXBpbGVycyBzdXBwb3J0ICNwcmFnbWEgb25jZQorCisjaWYgZGVmaW5lZChfTVNDX1ZFUikgJiYgKF9NU0NfVkVSID49IDEwMjApCisjIHByYWdtYSBvbmNlCisjZW5kaWYKKworLy8KKy8vICBib29zdC9kZXRhaWwvbGlnaHR3ZWlnaHRfbXV0ZXguaHBwIC0gbGlnaHR3ZWlnaHQgbXV0ZXgKKy8vCisvLyAgQ29weXJpZ2h0IChjKSAyMDAyLCAyMDAzIFBldGVyIERpbW92IGFuZCBNdWx0aSBNZWRpYSBMdGQuCisvLworLy8gIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4KKy8vICBTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQKKy8vICBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQKKy8vCisKKyNpbmNsdWRlIDxuZG5ib29zdC9zbWFydF9wdHIvZGV0YWlsL2xpZ2h0d2VpZ2h0X211dGV4LmhwcD4KKworI2VuZGlmIC8vICNpZm5kZWYgQk9PU1RfREVUQUlMX0xJR0hUV0VJR0hUX01VVEVYX0hQUF9JTkNMVURFRApkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvZGV0YWlsL2xpZ2h0d2VpZ2h0X3Rlc3QuaHBwIGIvbmRuYm9vc3QvZGV0YWlsL2xpZ2h0d2VpZ2h0X3Rlc3QuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJiODdiMmUKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9kZXRhaWwvbGlnaHR3ZWlnaHRfdGVzdC5ocHAKQEAgLTAsMCArMSwyMDggQEAKKyNpZm5kZWYgQk9PU1RfREVUQUlMX0xJR0hUV0VJR0hUX1RFU1RfSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX0RFVEFJTF9MSUdIVFdFSUdIVF9URVNUX0hQUF9JTkNMVURFRAorCisvLyBNUyBjb21wYXRpYmxlIGNvbXBpbGVycyBzdXBwb3J0ICNwcmFnbWEgb25jZQorCisjaWYgZGVmaW5lZChfTVNDX1ZFUikgJiYgKF9NU0NfVkVSID49IDEwMjApCisjIHByYWdtYSBvbmNlCisjZW5kaWYKKworLy8KKy8vICBib29zdC9kZXRhaWwvbGlnaHR3ZWlnaHRfdGVzdC5ocHAgLSBsaWdodHdlaWdodCB0ZXN0IGxpYnJhcnkKKy8vCisvLyAgQ29weXJpZ2h0IChjKSAyMDAyLCAyMDA5IFBldGVyIERpbW92CisvLyAgQ29weXJpZ2h0ICgyKSBCZW1hbiBEYXdlcyAyMDEwLCAyMDExCisvLyAgQ29weXJpZ2h0ICgzKSBJb24gR2F6dGFuYWdhIDIwMTMKKy8vCisvLyAgRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLgorLy8gIFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdAorLy8gIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dAorLy8KKy8vICAgIC0tLS0tLS0tLS0tLS0tLQorLy8KKy8vICAgIElmIGV4cHJlc3Npb24gaXMgZmFsc2UgaW5jcmVhc2VzIHRoZSBlcnJvciBjb3VudCAKKy8vICAgIGFuZCBvdXRwdXRzIGEgbWVzc2FnZSBjb250YWluaW5nICdleHByZXNzaW9uJworLy8KKy8vICBCT09TVF9URVNUKGV4cHJlc3Npb24pCisvLworLy8gICAgLS0tLS0tLS0tLS0tLS0tCisvLworLy8gICAgSW5jcmVhc2VzIGVycm9yIGNvdW50IGFuZCBvdXRwdXRzIGEgbWVzc2FnZSBjb250YWluaW5nICdtZXNzYWdlJworLy8KKy8vICBCT09TVF9FUlJPUihtZXNzYWdlKQorLy8KKy8vICAgIC0tLS0tLS0tLS0tLS0tLQorLy8KKy8vICAgIElmICdleHByMScgIT0gJ2V4cHIyJyBpbmNyZWFzZXMgdGhlIGVycm9yIGNvdW50IAorLy8gICAgYW5kIG91dHB1dHMgYSBtZXNzYWdlIGNvbnRhaW5pbmcgYm90aCBleHByZXNzaW9ucworLy8KKy8vICBCT09TVF9URVNUX0VRKGV4cHIxLCBleHByMikKKy8vCisvLyAgICAtLS0tLS0tLS0tLS0tLS0KKy8vCisvLyAgICBJZiAnZXhwcjEnID09ICdleHByMicgaW5jcmVhc2VzIHRoZSBlcnJvciBjb3VudCAKKy8vICAgIGFuZCBvdXRwdXRzIGEgbWVzc2FnZSBjb250YWluaW5nIGJvdGggZXhwcmVzc2lvbnMKKy8vCisvLyAgQk9PU1RfVEVTVF9ORShleHByMSwgZXhwcjIpCisvLworLy8gICAgLS0tLS0tLS0tLS0tLS0tCisvLworLy8gICAgSWYgQk9PU1RfTk9fRVhDRVBUSU9OUyBpcyBOT1QgZGVmaW5lZCBhbmQgaWYgJ2V4cHInIGRvZXMgbm90CisvLyAgICB0aHJvdyBhbiBleGNlcHRpb24gb2YgdHlwZSAnZXhjZXAnLCBpbmNyZWFzZXMgdGhlIGVycm9yIGNvdW50CisvLyAgICBhbmQgb3V0cHV0cyBhIG1lc3NhZ2UgY29udGFpbmluZyB0aGUgZXhwcmVzc2lvbi4KKy8vCisvLyAgICBJZiBCT09TVF9OT19FWENFUFRJT05TIGlzIGRlZmluZWQsIHRoaXMgbWFjcm8gZXhwYW5kcyB0byBub3RoaW5nCisvLyAgICBhbmQgJ2V4cHInIGlzIG5vdCBldmFsdWF0ZWQuCisvLworLy8gIEJPT1NUX1RFU1RfVEhST1dTKGV4cHIsIGV4Y2VwKQorLy8KKy8vICAgIC0tLS0tLS0tLS0tLS0tLQorLy8KKy8vICAgIFJldHVybnMgdGhlIGVycm9yIGNvdW50CisvLworLy8gIGludCBuZG5ib29zdDo6cmVwb3J0X2Vycm9ycygpCisvLworCisjaW5jbHVkZSA8aW9zdHJlYW0+CisjaW5jbHVkZSA8bmRuYm9vc3QvY3VycmVudF9mdW5jdGlvbi5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvYXNzZXJ0LmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9kZXRhaWwvbm9fZXhjZXB0aW9uc19zdXBwb3J0LmhwcD4KKworLy8gIElERSdzIGxpa2UgVmlzdWFsIFN0dWRpbyBwZXJmb3JtIGJldHRlciBpZiBvdXRwdXQgZ29lcyB0byBzdGQ6OmNvdXQgb3IKKy8vICBzb21lIG90aGVyIHN0cmVhbSwgc28gYWxsb3cgdXNlciB0byBjb25maWd1cmUgb3V0cHV0IHN0cmVhbToKKyNpZm5kZWYgQk9PU1RfTElHSFRXRUlHSFRfVEVTVF9PU1RSRUFNCisjIGRlZmluZSBCT09TVF9MSUdIVFdFSUdIVF9URVNUX09TVFJFQU0gc3RkOjpjZXJyCisjZW5kaWYKKworbmFtZXNwYWNlIG5kbmJvb3N0Cit7CisKK25hbWVzcGFjZSBkZXRhaWwKK3sKKworc3RydWN0IHJlcG9ydF9lcnJvcnNfcmVtaW5kZXIKK3sKKyAgYm9vbCBjYWxsZWRfcmVwb3J0X2Vycm9yc19mdW5jdGlvbjsKKyAgcmVwb3J0X2Vycm9yc19yZW1pbmRlcigpIDogY2FsbGVkX3JlcG9ydF9lcnJvcnNfZnVuY3Rpb24oZmFsc2UpIHt9CisgfnJlcG9ydF9lcnJvcnNfcmVtaW5kZXIoKQorICB7CisgICAgQk9PU1RfQVNTRVJUKGNhbGxlZF9yZXBvcnRfZXJyb3JzX2Z1bmN0aW9uKTsgIC8vIHZlcmlmeSByZXBvcnRfZXJyb3JzKCkgd2FzIGNhbGxlZCAgCisgIH0KK307CisKK2lubGluZSByZXBvcnRfZXJyb3JzX3JlbWluZGVyJiByZXBvcnRfZXJyb3JzX3JlbWluZCgpCit7CisgIHN0YXRpYyByZXBvcnRfZXJyb3JzX3JlbWluZGVyIHI7CisgIHJldHVybiByOworfQorCitpbmxpbmUgaW50ICYgdGVzdF9lcnJvcnMoKQoreworICAgIHN0YXRpYyBpbnQgeCA9IDA7CisgICAgcmVwb3J0X2Vycm9yc19yZW1pbmQoKTsKKyAgICByZXR1cm4geDsKK30KKworaW5saW5lIHZvaWQgdGVzdF9mYWlsZWRfaW1wbChjaGFyIGNvbnN0ICogZXhwciwgY2hhciBjb25zdCAqIGZpbGUsIGludCBsaW5lLCBjaGFyIGNvbnN0ICogZnVuY3Rpb24pCit7CisgICAgQk9PU1RfTElHSFRXRUlHSFRfVEVTVF9PU1RSRUFNCisgICAgICA8PCBmaWxlIDw8ICIoIiA8PCBsaW5lIDw8ICIpOiB0ZXN0ICciIDw8IGV4cHIgPDwgIicgZmFpbGVkIGluIGZ1bmN0aW9uICciCisgICAgICA8PCBmdW5jdGlvbiA8PCAiJyIgPDwgc3RkOjplbmRsOworICAgICsrdGVzdF9lcnJvcnMoKTsKK30KKworaW5saW5lIHZvaWQgZXJyb3JfaW1wbChjaGFyIGNvbnN0ICogbXNnLCBjaGFyIGNvbnN0ICogZmlsZSwgaW50IGxpbmUsIGNoYXIgY29uc3QgKiBmdW5jdGlvbikKK3sKKyAgICBCT09TVF9MSUdIVFdFSUdIVF9URVNUX09TVFJFQU0KKyAgICAgIDw8IGZpbGUgPDwgIigiIDw8IGxpbmUgPDwgIik6ICIgPDwgbXNnIDw8ICIgaW4gZnVuY3Rpb24gJyIKKyAgICAgIDw8IGZ1bmN0aW9uIDw8ICInIiA8PCBzdGQ6OmVuZGw7CisgICAgKyt0ZXN0X2Vycm9ycygpOworfQorCitpbmxpbmUgdm9pZCB0aHJvd19mYWlsZWRfaW1wbChjaGFyIGNvbnN0ICogZXhjZXAsIGNoYXIgY29uc3QgKiBmaWxlLCBpbnQgbGluZSwgY2hhciBjb25zdCAqIGZ1bmN0aW9uKQoreworICAgQk9PU1RfTElHSFRXRUlHSFRfVEVTVF9PU1RSRUFNCisgICAgPDwgZmlsZSA8PCAiKCIgPDwgbGluZSA8PCAiKTogRXhjZXB0aW9uICciIDw8IGV4Y2VwIDw8ICInIG5vdCB0aHJvd24gaW4gZnVuY3Rpb24gJyIKKyAgICA8PCBmdW5jdGlvbiA8PCAiJyIgPDwgc3RkOjplbmRsOworICAgKyt0ZXN0X2Vycm9ycygpOworfQorCit0ZW1wbGF0ZTxjbGFzcyBULCBjbGFzcyBVPiBpbmxpbmUgdm9pZCB0ZXN0X2VxX2ltcGwoIGNoYXIgY29uc3QgKiBleHByMSwgY2hhciBjb25zdCAqIGV4cHIyLAorICBjaGFyIGNvbnN0ICogZmlsZSwgaW50IGxpbmUsIGNoYXIgY29uc3QgKiBmdW5jdGlvbiwgVCBjb25zdCAmIHQsIFUgY29uc3QgJiB1ICkKK3sKKyAgICBpZiggdCA9PSB1ICkKKyAgICB7CisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICAgIEJPT1NUX0xJR0hUV0VJR0hUX1RFU1RfT1NUUkVBTQorICAgICAgICAgICAgPDwgZmlsZSA8PCAiKCIgPDwgbGluZSA8PCAiKTogdGVzdCAnIiA8PCBleHByMSA8PCAiID09ICIgPDwgZXhwcjIKKyAgICAgICAgICAgIDw8ICInIGZhaWxlZCBpbiBmdW5jdGlvbiAnIiA8PCBmdW5jdGlvbiA8PCAiJzogIgorICAgICAgICAgICAgPDwgIiciIDw8IHQgPDwgIicgIT0gJyIgPDwgdSA8PCAiJyIgPDwgc3RkOjplbmRsOworICAgICAgICArK3Rlc3RfZXJyb3JzKCk7CisgICAgfQorfQorCit0ZW1wbGF0ZTxjbGFzcyBULCBjbGFzcyBVPiBpbmxpbmUgdm9pZCB0ZXN0X25lX2ltcGwoIGNoYXIgY29uc3QgKiBleHByMSwgY2hhciBjb25zdCAqIGV4cHIyLAorICBjaGFyIGNvbnN0ICogZmlsZSwgaW50IGxpbmUsIGNoYXIgY29uc3QgKiBmdW5jdGlvbiwgVCBjb25zdCAmIHQsIFUgY29uc3QgJiB1ICkKK3sKKyAgICBpZiggdCAhPSB1ICkKKyAgICB7CisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICAgIEJPT1NUX0xJR0hUV0VJR0hUX1RFU1RfT1NUUkVBTQorICAgICAgICAgICAgPDwgZmlsZSA8PCAiKCIgPDwgbGluZSA8PCAiKTogdGVzdCAnIiA8PCBleHByMSA8PCAiICE9ICIgPDwgZXhwcjIKKyAgICAgICAgICAgIDw8ICInIGZhaWxlZCBpbiBmdW5jdGlvbiAnIiA8PCBmdW5jdGlvbiA8PCAiJzogIgorICAgICAgICAgICAgPDwgIiciIDw8IHQgPDwgIicgPT0gJyIgPDwgdSA8PCAiJyIgPDwgc3RkOjplbmRsOworICAgICAgICArK3Rlc3RfZXJyb3JzKCk7CisgICAgfQorfQorCit9IC8vIG5hbWVzcGFjZSBkZXRhaWwKKworaW5saW5lIGludCByZXBvcnRfZXJyb3JzKCkKK3sKKyAgICBkZXRhaWw6OnJlcG9ydF9lcnJvcnNfcmVtaW5kKCkuY2FsbGVkX3JlcG9ydF9lcnJvcnNfZnVuY3Rpb24gPSB0cnVlOworCisgICAgaW50IGVycm9ycyA9IGRldGFpbDo6dGVzdF9lcnJvcnMoKTsKKworICAgIGlmKCBlcnJvcnMgPT0gMCApCisgICAgeworICAgICAgICBCT09TVF9MSUdIVFdFSUdIVF9URVNUX09TVFJFQU0KKyAgICAgICAgICA8PCAiTm8gZXJyb3JzIGRldGVjdGVkLiIgPDwgc3RkOjplbmRsOworICAgICAgICByZXR1cm4gMDsKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgICAgQk9PU1RfTElHSFRXRUlHSFRfVEVTVF9PU1RSRUFNCisgICAgICAgICAgPDwgZXJyb3JzIDw8ICIgZXJyb3IiIDw8IChlcnJvcnMgPT0gMT8gIiI6ICJzIikgPDwgIiBkZXRlY3RlZC4iIDw8IHN0ZDo6ZW5kbDsKKyAgICAgICAgcmV0dXJuIDE7CisgICAgfQorfQorCit9IC8vIG5hbWVzcGFjZSBuZG5ib29zdAorCisjZGVmaW5lIEJPT1NUX1RFU1QoZXhwcikgKChleHByKT8gKHZvaWQpMDogOjpuZG5ib29zdDo6ZGV0YWlsOjp0ZXN0X2ZhaWxlZF9pbXBsKCNleHByLCBfX0ZJTEVfXywgX19MSU5FX18sIEJPT1NUX0NVUlJFTlRfRlVOQ1RJT04pKQorI2RlZmluZSBCT09TVF9FUlJPUihtc2cpIDo6bmRuYm9vc3Q6OmRldGFpbDo6ZXJyb3JfaW1wbChtc2csIF9fRklMRV9fLCBfX0xJTkVfXywgQk9PU1RfQ1VSUkVOVF9GVU5DVElPTikKKyNkZWZpbmUgQk9PU1RfVEVTVF9FUShleHByMSxleHByMikgKCA6Om5kbmJvb3N0OjpkZXRhaWw6OnRlc3RfZXFfaW1wbCgjZXhwcjEsICNleHByMiwgX19GSUxFX18sIF9fTElORV9fLCBCT09TVF9DVVJSRU5UX0ZVTkNUSU9OLCBleHByMSwgZXhwcjIpICkKKyNkZWZpbmUgQk9PU1RfVEVTVF9ORShleHByMSxleHByMikgKCA6Om5kbmJvb3N0OjpkZXRhaWw6OnRlc3RfbmVfaW1wbCgjZXhwcjEsICNleHByMiwgX19GSUxFX18sIF9fTElORV9fLCBCT09TVF9DVVJSRU5UX0ZVTkNUSU9OLCBleHByMSwgZXhwcjIpICkKKyNpZm5kZWYgQk9PU1RfTk9fRVhDRVBUSU9OUworICAgI2RlZmluZSBCT09TVF9URVNUX1RIUk9XUyggRVhQUiwgRVhDRVAgKSAgICAgICAgICAgICAgICAgICAgXAorICAgICAgdHJ5IHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgRVhQUjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgOjpuZG5ib29zdDo6ZGV0YWlsOjp0aHJvd19mYWlsZWRfaW1wbCAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgKCNFWENFUCwgX19GSUxFX18sIF9fTElORV9fLCBCT09TVF9DVVJSRU5UX0ZVTkNUSU9OKTsgXAorICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgY2F0Y2goRVhDRVAgY29uc3QmKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgY2F0Y2goLi4uKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgOjpuZG5ib29zdDo6ZGV0YWlsOjp0aHJvd19mYWlsZWRfaW1wbCAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgKCNFWENFUCwgX19GSUxFX18sIF9fTElORV9fLCBCT09TVF9DVVJSRU5UX0ZVTkNUSU9OKTsgXAorICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgLy8KKyNlbHNlCisgICAjZGVmaW5lIEJPT1NUX1RFU1RfVEhST1dTKCBFWFBSLCBFWENFUCApCisjZW5kaWYKKworI2VuZGlmIC8vICNpZm5kZWYgQk9PU1RfREVUQUlMX0xJR0hUV0VJR0hUX1RFU1RfSFBQX0lOQ0xVREVECmRpZmYgLS1naXQgYS9uZG5ib29zdC9kZXRhaWwvbm9fZXhjZXB0aW9uc19zdXBwb3J0LmhwcCBiL25kbmJvb3N0L2RldGFpbC9ub19leGNlcHRpb25zX3N1cHBvcnQuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE1Njk1OGUKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9kZXRhaWwvbm9fZXhjZXB0aW9uc19zdXBwb3J0LmhwcApAQCAtMCwwICsxLDg3IEBACisjaWZuZGVmIEJPT1NUX0RFVEFJTF9OT19FWENFUFRJT05TX1NVUFBPUlRfSFBQXworI2RlZmluZSBCT09TVF9ERVRBSUxfTk9fRVhDRVBUSU9OU19TVVBQT1JUX0hQUF8KKworI2lmIChkZWZpbmVkIF9NU0NfVkVSKSAmJiAoX01TQ19WRVIgPj0gMTIwMCkKKyMgIHByYWdtYSBvbmNlCisjZW5kaWYKKworLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisvLyAoQykgQ29weXJpZ2h0IDIwMDQgUGF2ZWwgVm96ZW5pbGVrLgorLy8gVXNlLCBtb2RpZmljYXRpb24gYW5kIGRpc3RyaWJ1dGlvbiBpcyBzdWJqZWN0IHRvIHRoZSBCb29zdCBTb2Z0d2FyZQorLy8gTGljZW5zZSwgVmVyc2lvbiAxLjAuIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0CisvLyBvciBjb3B5IGF0IGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisvLworLy8gVGhpcyBmaWxlIGNvbnRhaW5zIGhlbHBlciBtYWNyb3MgdXNlZCB3aGVuIGV4Y2VwdGlvbiBzdXBwb3J0IG1heSBiZQorLy8gZGlzYWJsZWQgKGFzIGluZGljYXRlZCBieSBtYWNybyBCT09TVF9OT19FWENFUFRJT05TKS4KKy8vCisvLyBCZWZvcmUgcGlja2luZyB1cCB0aGVzZSBtYWNyb3MgeW91IG1heSBjb25zaWRlciB1c2luZyBSQUlJIHRlY2huaXF1ZXMKKy8vIHRvIGRlYWwgd2l0aCBleGNlcHRpb25zIC0gdGhlaXIgc3ludGF4IGNhbiBiZSBhbHdheXMgdGhlIHNhbWUgd2l0aCAKKy8vIG9yIHdpdGhvdXQgZXhjZXB0aW9uIHN1cHBvcnQgZW5hYmxlZC4KKy8vCisKKy8qIEV4YW1wbGUgb2YgdXNlOgorCit2b2lkIGZvbygpIHsKKyAgQk9PU1RfVFJZIHsKKyAgICAuLi4KKyAgfSBCT09TVF9DQVRDSChjb25zdCBzdGQ6OmJhZF9hbGxvYyYpIHsKKyAgICAgIC4uLgorICAgICAgQk9PU1RfUkVUSFJPVworICB9IEJPT1NUX0NBVENIKGNvbnN0IHN0ZDo6ZXhjZXB0aW9uJiBlKSB7CisgICAgICAuLi4KKyAgfQorICBCT09TVF9DQVRDSF9FTkQKK30KKworV2l0aCBleGNlcHRpb24gc3VwcG9ydCBlbmFibGVkIGl0IHdpbGwgZXhwYW5kIGludG86CisKK3ZvaWQgZm9vKCkgeworICB7IHRyeSB7CisgICAgLi4uCisgIH0gY2F0Y2ggKGNvbnN0IHN0ZDo6YmFkX2FsbG9jJikgeworICAgICAgLi4uCisgICAgICB0aHJvdzsKKyAgfSBjYXRjaCAoY29uc3Qgc3RkOjpleGNlcHRpb24mIGUpIHsKKyAgICAgIC4uLgorICB9CisgIH0KK30KKworV2l0aCBleGNlcHRpb24gc3VwcG9ydCBkaXNhYmxlZCBpdCB3aWxsIGV4cGFuZCBpbnRvOgorCit2b2lkIGZvbygpIHsKKyAgeyBpZih0cnVlKSB7CisgICAgLi4uCisgIH0gZWxzZSBpZiAoZmFsc2UpIHsKKyAgICAgIC4uLgorICB9IGVsc2UgaWYgKGZhbHNlKSAgeworICAgICAgLi4uCisgIH0KKyAgfQorfQorKi8KKy8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisjaW5jbHVkZSA8bmRuYm9vc3QvY29uZmlnLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9kZXRhaWwvd29ya2Fyb3VuZC5ocHA+CisKKyNpZiAhKGRlZmluZWQgQk9PU1RfTk9fRVhDRVBUSU9OUykKKyMgICAgZGVmaW5lIEJPT1NUX1RSWSB7IHRyeQorIyAgICBkZWZpbmUgQk9PU1RfQ0FUQ0goeCkgY2F0Y2goeCkKKyMgICAgZGVmaW5lIEJPT1NUX1JFVEhST1cgdGhyb3c7CisjICAgIGRlZmluZSBCT09TVF9DQVRDSF9FTkQgfQorI2Vsc2UKKyMgICAgaWYgQk9PU1RfV09SS0FST1VORChfX0JPUkxBTkRDX18sIEJPT1NUX1RFU1RFRF9BVCgweDU2NCkpCisjICAgICAgICBkZWZpbmUgQk9PU1RfVFJZIHsgaWYgKCIiKQorIyAgICAgICAgZGVmaW5lIEJPT1NUX0NBVENIKHgpIGVsc2UgaWYgKCEiIikKKyMgICAgZWxzZQorIyAgICAgICAgZGVmaW5lIEJPT1NUX1RSWSB7IGlmICh0cnVlKQorIyAgICAgICAgZGVmaW5lIEJPT1NUX0NBVENIKHgpIGVsc2UgaWYgKGZhbHNlKQorIyAgICBlbmRpZgorIyAgICBkZWZpbmUgQk9PU1RfUkVUSFJPVworIyAgICBkZWZpbmUgQk9PU1RfQ0FUQ0hfRU5EIH0KKyNlbmRpZgorCisKKyNlbmRpZiAKZGlmZiAtLWdpdCBhL25kbmJvb3N0L2RldGFpbC9vYl9jYWxsX3RyYWl0cy5ocHAgYi9uZG5ib29zdC9kZXRhaWwvb2JfY2FsbF90cmFpdHMuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ1ZjM3NDMKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9kZXRhaWwvb2JfY2FsbF90cmFpdHMuaHBwCkBAIC0wLDAgKzEsMTY4IEBACisvLyAgKEMpIENvcHlyaWdodCBTdGV2ZSBDbGVhcnksIEJlbWFuIERhd2VzLCBIb3dhcmQgSGlubmFudCAmIEpvaG4gTWFkZG9jayAyMDAwLgorLy8gIFVzZSwgbW9kaWZpY2F0aW9uIGFuZCBkaXN0cmlidXRpb24gYXJlIHN1YmplY3QgdG8gdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsCisvLyAgVmVyc2lvbiAxLjAuIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQKKy8vICBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpLgorLy8KKy8vICBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvbGlicy91dGlsaXR5IGZvciBtb3N0IHJlY2VudCB2ZXJzaW9uIGluY2x1ZGluZyBkb2N1bWVudGF0aW9uLgorLy8KKy8vICBDcmlwcGxlZCB2ZXJzaW9uIGZvciBjcmlwcGxlZCBjb21waWxlcnM6CisvLyAgc2VlIGxpYnMvdXRpbGl0eS9jYWxsX3RyYWl0cy5odG0KKy8vCisKKy8qIFJlbGVhc2Ugbm90ZXM6CisgICAwMXN0IE9jdG9iZXIgMjAwMDoKKyAgICAgIEZpeGVkIGNhbGxfdHJhaXRzIG9uIFZDNiwgdXNpbmcgInBvb3IgbWFuJ3MgcGFydGlhbCBzcGVjaWFsaXNhdGlvbiIsCisgICAgICB1c2luZyBpZGVhcyB0YWtlbiBmcm9tICJHZW5lcmF0aXZlIHByb2dyYW1taW5nIiBieSBLcnp5c3p0b2YgQ3phcm5lY2tpIAorICAgICAgJiBVbHJpY2ggRWlzZW5lY2tlci4KKyovCisKKyNpZm5kZWYgQk9PU1RfT0JfQ0FMTF9UUkFJVFNfSFBQCisjZGVmaW5lIEJPT1NUX09CX0NBTExfVFJBSVRTX0hQUAorCisjaWZuZGVmIEJPT1NUX0NPTkZJR19IUFAKKyNpbmNsdWRlIDxuZG5ib29zdC9jb25maWcuaHBwPgorI2VuZGlmCisKKyNpZm5kZWYgQk9PU1RfQVJJVEhNRVRJQ19UWVBFX1RSQUlUU19IUFAKKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9hcml0aG1ldGljX3RyYWl0cy5ocHA+CisjZW5kaWYKKyNpZm5kZWYgQk9PU1RfQ09NUE9TSVRFX1RZUEVfVFJBSVRTX0hQUAorI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2NvbXBvc2l0ZV90cmFpdHMuaHBwPgorI2VuZGlmCisKK25hbWVzcGFjZSBuZG5ib29zdHsKKworI2lmZGVmIEJPT1NUX01TVkM2X01FTUJFUl9URU1QTEFURVMKKy8vCisvLyB1c2UgbWVtYmVyIHRlbXBsYXRlcyB0byBlbXVsYXRlCisvLyBwYXJ0aWFsIHNwZWNpYWxpc2F0aW9uOgorLy8KK25hbWVzcGFjZSBkZXRhaWx7CisKK3RlbXBsYXRlIDxjbGFzcyBUPgorc3RydWN0IHN0YW5kYXJkX2NhbGxfdHJhaXRzCit7CisgICB0eXBlZGVmIFQgdmFsdWVfdHlwZTsKKyAgIHR5cGVkZWYgVCYgcmVmZXJlbmNlOworICAgdHlwZWRlZiBjb25zdCBUJiBjb25zdF9yZWZlcmVuY2U7CisgICB0eXBlZGVmIGNvbnN0IFQmIHBhcmFtX3R5cGU7Cit9OwordGVtcGxhdGUgPGNsYXNzIFQ+CitzdHJ1Y3Qgc2ltcGxlX2NhbGxfdHJhaXRzCit7CisgICB0eXBlZGVmIFQgdmFsdWVfdHlwZTsKKyAgIHR5cGVkZWYgVCYgcmVmZXJlbmNlOworICAgdHlwZWRlZiBjb25zdCBUJiBjb25zdF9yZWZlcmVuY2U7CisgICB0eXBlZGVmIGNvbnN0IFQgcGFyYW1fdHlwZTsKK307Cit0ZW1wbGF0ZSA8Y2xhc3MgVD4KK3N0cnVjdCByZWZlcmVuY2VfY2FsbF90cmFpdHMKK3sKKyAgIHR5cGVkZWYgVCB2YWx1ZV90eXBlOworICAgdHlwZWRlZiBUIHJlZmVyZW5jZTsKKyAgIHR5cGVkZWYgVCBjb25zdF9yZWZlcmVuY2U7CisgICB0eXBlZGVmIFQgcGFyYW1fdHlwZTsKK307CisKK3RlbXBsYXRlIDxib29sIHBvaW50ZXIsIGJvb2wgYXJpdGhtZXRpYywgYm9vbCByZWZlcmVuY2U+CitzdHJ1Y3QgY2FsbF90cmFpdHNfY2hvb3NlcgoreworICAgdGVtcGxhdGUgPGNsYXNzIFQ+CisgICBzdHJ1Y3QgcmViaW5kCisgICB7CisgICAgICB0eXBlZGVmIHN0YW5kYXJkX2NhbGxfdHJhaXRzPFQ+IHR5cGU7CisgICB9OworfTsKKwordGVtcGxhdGUgPD4KK3N0cnVjdCBjYWxsX3RyYWl0c19jaG9vc2VyPHRydWUsIGZhbHNlLCBmYWxzZT4KK3sKKyAgIHRlbXBsYXRlIDxjbGFzcyBUPgorICAgc3RydWN0IHJlYmluZAorICAgeworICAgICAgdHlwZWRlZiBzaW1wbGVfY2FsbF90cmFpdHM8VD4gdHlwZTsKKyAgIH07Cit9OworCit0ZW1wbGF0ZSA8Pgorc3RydWN0IGNhbGxfdHJhaXRzX2Nob29zZXI8ZmFsc2UsIGZhbHNlLCB0cnVlPgoreworICAgdGVtcGxhdGUgPGNsYXNzIFQ+CisgICBzdHJ1Y3QgcmViaW5kCisgICB7CisgICAgICB0eXBlZGVmIHJlZmVyZW5jZV9jYWxsX3RyYWl0czxUPiB0eXBlOworICAgfTsKK307CisKK3RlbXBsYXRlIDxib29sIHNpemVfaXNfc21hbGw+IAorc3RydWN0IGNhbGxfdHJhaXRzX3NpemVvZl9jaG9vc2VyMgoreworICAgdGVtcGxhdGUgPGNsYXNzIFQ+CisgICBzdHJ1Y3Qgc21hbGxfcmViaW5kCisgICB7CisgICAgICB0eXBlZGVmIHNpbXBsZV9jYWxsX3RyYWl0czxUPiBzbWFsbF90eXBlOworICAgfTsKK307CisKK3RlbXBsYXRlPD4gCitzdHJ1Y3QgY2FsbF90cmFpdHNfc2l6ZW9mX2Nob29zZXIyPGZhbHNlPgoreworICAgdGVtcGxhdGUgPGNsYXNzIFQ+CisgICBzdHJ1Y3Qgc21hbGxfcmViaW5kCisgICB7CisgICAgICB0eXBlZGVmIHN0YW5kYXJkX2NhbGxfdHJhaXRzPFQ+IHNtYWxsX3R5cGU7CisgICB9OworfTsKKwordGVtcGxhdGUgPD4KK3N0cnVjdCBjYWxsX3RyYWl0c19jaG9vc2VyPGZhbHNlLCB0cnVlLCBmYWxzZT4KK3sKKyAgIHRlbXBsYXRlIDxjbGFzcyBUPgorICAgc3RydWN0IHJlYmluZAorICAgeworICAgICAgZW51bSB7IHNpemVvZl9jaG9pY2UgPSAoc2l6ZW9mKFQpIDw9IHNpemVvZih2b2lkKikpIH07CisgICAgICB0eXBlZGVmIGNhbGxfdHJhaXRzX3NpemVvZl9jaG9vc2VyMjwoc2l6ZW9mKFQpIDw9IHNpemVvZih2b2lkKikpPiBjaG9vc2VyOworICAgICAgdHlwZWRlZiB0eXBlbmFtZSBjaG9vc2VyOjp0ZW1wbGF0ZSBzbWFsbF9yZWJpbmQ8VD4gYm91bmRfdHlwZTsKKyAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYm91bmRfdHlwZTo6c21hbGxfdHlwZSB0eXBlOworICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGRldGFpbAordGVtcGxhdGUgPHR5cGVuYW1lIFQ+CitzdHJ1Y3QgY2FsbF90cmFpdHMKK3sKK3ByaXZhdGU6CisgICAgdHlwZWRlZiBkZXRhaWw6OmNhbGxfdHJhaXRzX2Nob29zZXI8CisgICAgICAgICA6Om5kbmJvb3N0Ojppc19wb2ludGVyPFQ+Ojp2YWx1ZSwKKyAgICAgICAgIDo6bmRuYm9vc3Q6OmlzX2FyaXRobWV0aWM8VD46OnZhbHVlLCAKKyAgICAgICAgIDo6bmRuYm9vc3Q6OmlzX3JlZmVyZW5jZTxUPjo6dmFsdWUKKyAgICAgID4gY2hvb3NlcjsKKyAgIHR5cGVkZWYgdHlwZW5hbWUgY2hvb3Nlcjo6dGVtcGxhdGUgcmViaW5kPFQ+IGJvdW5kX3R5cGU7CisgICB0eXBlZGVmIHR5cGVuYW1lIGJvdW5kX3R5cGU6OnR5cGUgY2FsbF90cmFpdHNfdHlwZTsKK3B1YmxpYzoKKyAgIHR5cGVkZWYgdHlwZW5hbWUgY2FsbF90cmFpdHNfdHlwZTo6dmFsdWVfdHlwZSAgICAgICB2YWx1ZV90eXBlOworICAgdHlwZWRlZiB0eXBlbmFtZSBjYWxsX3RyYWl0c190eXBlOjpyZWZlcmVuY2UgICAgICAgIHJlZmVyZW5jZTsKKyAgIHR5cGVkZWYgdHlwZW5hbWUgY2FsbF90cmFpdHNfdHlwZTo6Y29uc3RfcmVmZXJlbmNlICBjb25zdF9yZWZlcmVuY2U7CisgICB0eXBlZGVmIHR5cGVuYW1lIGNhbGxfdHJhaXRzX3R5cGU6OnBhcmFtX3R5cGUgICAgICAgcGFyYW1fdHlwZTsKK307CisKKyNlbHNlCisvLworLy8gc29ycnkgY2FsbF90cmFpdHMgaXMgY29tcGxldGVseSBub24tZnVuY3Rpb25hbAorLy8gYmxhbWUgeW91ciBicm9rZW4gY29tcGlsZXI6CisvLworCit0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KK3N0cnVjdCBjYWxsX3RyYWl0cworeworICAgdHlwZWRlZiBUIHZhbHVlX3R5cGU7CisgICB0eXBlZGVmIFQmIHJlZmVyZW5jZTsKKyAgIHR5cGVkZWYgY29uc3QgVCYgY29uc3RfcmVmZXJlbmNlOworICAgdHlwZWRlZiBjb25zdCBUJiBwYXJhbV90eXBlOworfTsKKworI2VuZGlmIC8vIG1lbWJlciB0ZW1wbGF0ZXMKKworfQorCisjZW5kaWYgLy8gQk9PU1RfT0JfQ0FMTF9UUkFJVFNfSFBQCmRpZmYgLS1naXQgYS9uZG5ib29zdC9kZXRhaWwvc2VsZWN0X3R5cGUuaHBwIGIvbmRuYm9vc3QvZGV0YWlsL3NlbGVjdF90eXBlLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZTNjYWM3Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvZGV0YWlsL3NlbGVjdF90eXBlLmhwcApAQCAtMCwwICsxLDM2IEBACisvLyAoQykgQ29weXJpZ2h0IERhdmlkIEFicmFoYW1zIDIwMDEuCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIChTZWUKKy8vIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0CisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworLy8gU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnIGZvciBtb3N0IHJlY2VudCB2ZXJzaW9uIGluY2x1ZGluZyBkb2N1bWVudGF0aW9uLgorCisvLyBSZXZpc2lvbiBIaXN0b3J5CisvLyAwOSBGZWIgMDEgIEFwcGxpZWQgSm9obiBNYWRkb2NrJ3MgQm9ybGFuZCBwYXRjaCBNb3ZpbmcgPHRydWU+CisvLyAgICAgICAgICAgIHNwZWNpYWxpemF0aW9uIHRvIHVuc3BlY2lhbGl6ZWQgdGVtcGxhdGUgKERhdmlkIEFicmFoYW1zKQorLy8gMDYgRmViIDAxICBDcmVhdGVkIChEYXZpZCBBYnJhaGFtcykKKworI2lmbmRlZiBTRUxFQ1RfVFlQRV9EV0EyMDAxMDIwNl9IUFAKKyMgZGVmaW5lIFNFTEVDVF9UWVBFX0RXQTIwMDEwMjA2X0hQUAorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgZGV0YWlsIHsKKworICAvLyBUZW1wbGF0ZSBjbGFzcyBpZl90cnVlIC0tIHNlbGVjdCBhbW9uZyAyIHR5cGVzIGJhc2VkIG9uIGEgYm9vbCBjb25zdGFudCBleHByZXNzaW9uCisgIC8vIFVzYWdlOgorICAvLyAgIHR5cGVuYW1lIGlmX3RydWU8KGJvb2xfY29uc3RfZXhwcmVzc2lvbik+Ojp0ZW1wbGF0ZSB0aGVuPHRydWVfdHlwZSwgZmFsc2VfdHlwZT46OnR5cGUKKworICAvLyBIUCBhQ0MgY2Fubm90IGRlYWwgd2l0aCBtaXNzaW5nIG5hbWVzIGZvciB0ZW1wbGF0ZSB2YWx1ZSBwYXJhbWV0ZXJzCisgIHRlbXBsYXRlIDxib29sIGI+IHN0cnVjdCBpZl90cnVlCisgIHsKKyAgICAgIHRlbXBsYXRlIDxjbGFzcyBULCBjbGFzcyBGPgorICAgICAgc3RydWN0IHRoZW4geyB0eXBlZGVmIFQgdHlwZTsgfTsKKyAgfTsKKworICB0ZW1wbGF0ZSA8PgorICBzdHJ1Y3QgaWZfdHJ1ZTxmYWxzZT4KKyAgeworICAgICAgdGVtcGxhdGUgPGNsYXNzIFQsIGNsYXNzIEY+CisgICAgICBzdHJ1Y3QgdGhlbiB7IHR5cGVkZWYgRiB0eXBlOyB9OworICB9OworfX0KKyNlbmRpZiAvLyBTRUxFQ1RfVFlQRV9EV0EyMDAxMDIwNl9IUFAKZGlmZiAtLWdpdCBhL25kbmJvb3N0L2RldGFpbC90ZW1wbGF0ZWRfc3RyZWFtcy5ocHAgYi9uZG5ib29zdC9kZXRhaWwvdGVtcGxhdGVkX3N0cmVhbXMuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIxMTU5ZjgKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9kZXRhaWwvdGVtcGxhdGVkX3N0cmVhbXMuaHBwCkBAIC0wLDAgKzEsNzQgQEAKKy8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy8vIGJvb3N0IGRldGFpbC90ZW1wbGF0ZWRfc3RyZWFtcy5ocHAgaGVhZGVyIGZpbGUKKy8vIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZyBmb3IgdXBkYXRlcywgZG9jdW1lbnRhdGlvbiwgYW5kIHJldmlzaW9uIGhpc3RvcnkuCisvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisvLworLy8gQ29weXJpZ2h0IChjKSAyMDAzCisvLyBFcmljIEZyaWVkbWFuCisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAoU2VlCisvLyBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorCisjaWZuZGVmIEJPT1NUX0RFVEFJTF9URU1QTEFURURfU1RSRUFNU19IUFAKKyNkZWZpbmUgQk9PU1RfREVUQUlMX1RFTVBMQVRFRF9TVFJFQU1TX0hQUAorCisjaW5jbHVkZSAibmRuYm9vc3QvY29uZmlnLmhwcCIKKworLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworLy8gKGRldGFpbCkgQk9PU1RfVEVNUExBVEVEX1NUUkVBTV8qIG1hY3JvcworLy8KKy8vIFByb3ZpZGVzIHdvcmthcm91bmQgcGxhdGZvcm1zIHdpdGhvdXQgc3RyZWFtIGNsYXNzIHRlbXBsYXRlcy4KKy8vCisKKyNpZiAhZGVmaW5lZChCT09TVF9OT19TVERfTE9DQUxFKQorCisjZGVmaW5lIEJPT1NUX1RFTVBMQVRFRF9TVFJFQU1fVEVNUExBVEUoRSxUKSBcCisgICAgdGVtcGxhdGUgPCB0eXBlbmFtZSBFICwgdHlwZW5hbWUgVCA+CisKKyNkZWZpbmUgQk9PU1RfVEVNUExBVEVEX1NUUkVBTV9URU1QTEFURV9BTExPQyhFLFQsQSkgXAorICAgIHRlbXBsYXRlIDwgdHlwZW5hbWUgRSAsIHR5cGVuYW1lIFQgLCB0eXBlbmFtZSBBID4KKworI2RlZmluZSBCT09TVF9URU1QTEFURURfU1RSRUFNX0FSR1MoRSxUKSBcCisgICAgdHlwZW5hbWUgRSAsIHR5cGVuYW1lIFQgCisKKyNkZWZpbmUgQk9PU1RfVEVNUExBVEVEX1NUUkVBTV9BUkdTX0FMTE9DKEUsVCxBKSBcCisgICAgdHlwZW5hbWUgRSAsIHR5cGVuYW1lIFQgLCB0eXBlbmFtZSBBIAorCisjZGVmaW5lIEJPT1NUX1RFTVBMQVRFRF9TVFJFQU1fQ09NTUEgICAgICAgICwKKworI2RlZmluZSBCT09TVF9URU1QTEFURURfU1RSRUFNX0VMRU0oRSkgICAgICBFCisjZGVmaW5lIEJPT1NUX1RFTVBMQVRFRF9TVFJFQU1fVFJBSVRTKFQpICAgIFQKKyNkZWZpbmUgQk9PU1RfVEVNUExBVEVEX1NUUkVBTV9BTExPQyhBKSAgICAgQQorCisjZGVmaW5lIEJPT1NUX1RFTVBMQVRFRF9TVFJFQU0oWCxFLFQpIFwKKyAgICBCT09TVF9KT0lOKHN0ZDo6YmFzaWNfLFgpPCBFICwgVCA+CisKKyNkZWZpbmUgQk9PU1RfVEVNUExBVEVEX1NUUkVBTV9XSVRIX0FMTE9DKFgsRSxULEEpIFwKKyAgICBCT09TVF9KT0lOKHN0ZDo6YmFzaWNfLFgpPCBFICwgVCAsIEEgPgorCisjZWxzZSAvLyBkZWZpbmVkKEJPT1NUX05PX1NURF9MT0NBTEUpCisKKyNkZWZpbmUgQk9PU1RfVEVNUExBVEVEX1NUUkVBTV9URU1QTEFURShFLFQpIC8qKi8KKworI2RlZmluZSBCT09TVF9URU1QTEFURURfU1RSRUFNX1RFTVBMQVRFX0FMTE9DKEUsVCxBKSAvKiovCisKKyNkZWZpbmUgQk9PU1RfVEVNUExBVEVEX1NUUkVBTV9BUkdTKEUsVCkgLyoqLworCisjZGVmaW5lIEJPT1NUX1RFTVBMQVRFRF9TVFJFQU1fQVJHU19BTExPQyhFLFQsQSkgLyoqLworCisjZGVmaW5lIEJPT1NUX1RFTVBMQVRFRF9TVFJFQU1fQ09NTUEgICAgICAgIC8qKi8KKworI2RlZmluZSBCT09TVF9URU1QTEFURURfU1RSRUFNX0VMRU0oRSkgICAgICBjaGFyCisjZGVmaW5lIEJPT1NUX1RFTVBMQVRFRF9TVFJFQU1fVFJBSVRTKFQpICAgIHN0ZDo6Y2hhcl90cmFpdHM8Y2hhcj4KKyNkZWZpbmUgQk9PU1RfVEVNUExBVEVEX1NUUkVBTV9BTExPQyhBKSAgICAgc3RkOjphbGxvY2F0b3I8Y2hhcj4KKworI2RlZmluZSBCT09TVF9URU1QTEFURURfU1RSRUFNKFgsRSxUKSBcCisgICAgc3RkOjpYCisKKyNkZWZpbmUgQk9PU1RfVEVNUExBVEVEX1NUUkVBTV9XSVRIX0FMTE9DKFgsRSxULEEpIFwKKyAgICBzdGQ6OlgKKworI2VuZGlmIC8vIEJPT1NUX05PX1NURF9MT0NBTEUKKworI2VuZGlmIC8vIEJPT1NUX0RFVEFJTF9URU1QTEFURURfU1RSRUFNU19IUFAKZGlmZiAtLWdpdCBhL25kbmJvb3N0L2V4Y2VwdGlvbi9leGNlcHRpb24uaHBwIGIvbmRuYm9vc3QvZXhjZXB0aW9uL2V4Y2VwdGlvbi5ocHAKaW5kZXggNzI3MTYxZC4uMTU5NzI1MiAxMDA2NDQKLS0tIGEvbmRuYm9vc3QvZXhjZXB0aW9uL2V4Y2VwdGlvbi5ocHAKKysrIGIvbmRuYm9vc3QvZXhjZXB0aW9uL2V4Y2VwdGlvbi5ocHAKQEAgLTUsNyArNSw3IEBACiAKICNpZm5kZWYgVVVJRF8yNzREQTM2NjAwNEUxMURDQjFEREZFMkU1NkQ4OTU5MwogI2RlZmluZSBVVUlEXzI3NERBMzY2MDA0RTExRENCMURERkUyRTU2RDg5NTkzCi0jaWYgZGVmaW5lZChfX0dOVUNfXykgJiYgIWRlZmluZWQoQk9PU1RfRVhDRVBUSU9OX0VOQUJMRV9XQVJOSU5HUykKKyNpZiAoX19HTlVDX18qMTAwK19fR05VQ19NSU5PUl9fPjMwMSkgJiYgIWRlZmluZWQoQk9PU1RfRVhDRVBUSU9OX0VOQUJMRV9XQVJOSU5HUykKICNwcmFnbWEgR0NDIHN5c3RlbV9oZWFkZXIKICNlbmRpZgogI2lmIGRlZmluZWQoX01TQ19WRVIpICYmICFkZWZpbmVkKEJPT1NUX0VYQ0VQVElPTl9FTkFCTEVfV0FSTklOR1MpCmRpZmYgLS1naXQgYS9uZG5ib29zdC9mdW5jdGlvbi5ocHAgYi9uZG5ib29zdC9mdW5jdGlvbi5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTM1MTEwMgotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L2Z1bmN0aW9uLmhwcApAQCAtMCwwICsxLDY2IEBACisvLyBCb29zdC5GdW5jdGlvbiBsaWJyYXJ5CisKKy8vICBDb3B5cmlnaHQgRG91Z2xhcyBHcmVnb3IgMjAwMS0yMDAzLiBVc2UsIG1vZGlmaWNhdGlvbiBhbmQKKy8vICBkaXN0cmlidXRpb24gaXMgc3ViamVjdCB0byB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbgorLy8gIDEuMC4gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdAorLy8gIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKworLy8gRm9yIG1vcmUgaW5mb3JtYXRpb24sIHNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL2Z1bmN0aW9uCisKKy8vIFdpbGxpYW0gS2VtcGYsIEplc3NlIEpvbmVzIGFuZCBLYXJsIE5lbHNvbiB3ZXJlIGFsbCB2ZXJ5IGhlbHBmdWwgaW4gdGhlCisvLyBkZXNpZ24gb2YgdGhpcyBsaWJyYXJ5LgorCisjaW5jbHVkZSA8ZnVuY3Rpb25hbD4gLy8gdW5hcnlfZnVuY3Rpb24sIGJpbmFyeV9mdW5jdGlvbgorCisjaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL2l0ZXJhdGUuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L2RldGFpbC93b3JrYXJvdW5kLmhwcD4KKworI2lmbmRlZiBCT09TVF9GVU5DVElPTl9NQVhfQVJHUworIyAgZGVmaW5lIEJPT1NUX0ZVTkNUSU9OX01BWF9BUkdTIDEwCisjZW5kaWYgLy8gQk9PU1RfRlVOQ1RJT05fTUFYX0FSR1MKKworLy8gSW5jbHVkZSB0aGUgcHJvbG9ndWUgaGVyZSBzbyB0aGF0IHRoZSB1c2Ugb2YgZmlsZS1sZXZlbCBpdGVyYXRpb24KKy8vIGluIGFueXRoaW5nIHRoYXQgbWF5IGJlIGluY2x1ZGVkIGJ5IGZ1bmN0aW9uX3RlbXBsYXRlLmhwcCBkb2Vzbid0IGJyZWFrCisjaW5jbHVkZSA8bmRuYm9vc3QvZnVuY3Rpb24vZGV0YWlsL3Byb2xvZ3VlLmhwcD4KKworLy8gT2xkZXIgVmlzdWFsIEFnZSBDKysgdmVyc2lvbiBkbyBub3QgaGFuZGxlIHRoZSBmaWxlIGl0ZXJhdGlvbiB3ZWxsCisjaWYgQk9PU1RfV09SS0FST1VORChfX0lCTUNQUF9fLCA+PSA1MDApICYmIEJPT1NUX1dPUktBUk9VTkQoX19JQk1DUFBfXywgPCA4MDApCisjICBpZiBCT09TVF9GVU5DVElPTl9NQVhfQVJHUyA+PSAwCisjICAgIGluY2x1ZGUgPG5kbmJvb3N0L2Z1bmN0aW9uL2Z1bmN0aW9uMC5ocHA+CisjICBlbmRpZgorIyAgaWYgQk9PU1RfRlVOQ1RJT05fTUFYX0FSR1MgPj0gMQorIyAgICBpbmNsdWRlIDxuZG5ib29zdC9mdW5jdGlvbi9mdW5jdGlvbjEuaHBwPgorIyAgZW5kaWYKKyMgIGlmIEJPT1NUX0ZVTkNUSU9OX01BWF9BUkdTID49IDIKKyMgICAgaW5jbHVkZSA8bmRuYm9vc3QvZnVuY3Rpb24vZnVuY3Rpb24yLmhwcD4KKyMgIGVuZGlmCisjICBpZiBCT09TVF9GVU5DVElPTl9NQVhfQVJHUyA+PSAzCisjICAgIGluY2x1ZGUgPG5kbmJvb3N0L2Z1bmN0aW9uL2Z1bmN0aW9uMy5ocHA+CisjICBlbmRpZgorIyAgaWYgQk9PU1RfRlVOQ1RJT05fTUFYX0FSR1MgPj0gNAorIyAgICBpbmNsdWRlIDxuZG5ib29zdC9mdW5jdGlvbi9mdW5jdGlvbjQuaHBwPgorIyAgZW5kaWYKKyMgIGlmIEJPT1NUX0ZVTkNUSU9OX01BWF9BUkdTID49IDUKKyMgICAgaW5jbHVkZSA8bmRuYm9vc3QvZnVuY3Rpb24vZnVuY3Rpb241LmhwcD4KKyMgIGVuZGlmCisjICBpZiBCT09TVF9GVU5DVElPTl9NQVhfQVJHUyA+PSA2CisjICAgIGluY2x1ZGUgPG5kbmJvb3N0L2Z1bmN0aW9uL2Z1bmN0aW9uNi5ocHA+CisjICBlbmRpZgorIyAgaWYgQk9PU1RfRlVOQ1RJT05fTUFYX0FSR1MgPj0gNworIyAgICBpbmNsdWRlIDxuZG5ib29zdC9mdW5jdGlvbi9mdW5jdGlvbjcuaHBwPgorIyAgZW5kaWYKKyMgIGlmIEJPT1NUX0ZVTkNUSU9OX01BWF9BUkdTID49IDgKKyMgICAgaW5jbHVkZSA8bmRuYm9vc3QvZnVuY3Rpb24vZnVuY3Rpb244LmhwcD4KKyMgIGVuZGlmCisjICBpZiBCT09TVF9GVU5DVElPTl9NQVhfQVJHUyA+PSA5CisjICAgIGluY2x1ZGUgPG5kbmJvb3N0L2Z1bmN0aW9uL2Z1bmN0aW9uOS5ocHA+CisjICBlbmRpZgorIyAgaWYgQk9PU1RfRlVOQ1RJT05fTUFYX0FSR1MgPj0gMTAKKyMgICAgaW5jbHVkZSA8bmRuYm9vc3QvZnVuY3Rpb24vZnVuY3Rpb24xMC5ocHA+CisjICBlbmRpZgorI2Vsc2UKKy8vIFdoYXQgaXMgdGhlICczJyBmb3I/CisjICBkZWZpbmUgQk9PU1RfUFBfSVRFUkFUSU9OX1BBUkFNU18xICgzLCgwLEJPT1NUX0ZVTkNUSU9OX01BWF9BUkdTLDxuZG5ib29zdC9mdW5jdGlvbi9kZXRhaWwvZnVuY3Rpb25faXRlcmF0ZS5ocHA+KSkKKyMgIGluY2x1ZGUgQk9PU1RfUFBfSVRFUkFURSgpCisjICB1bmRlZiBCT09TVF9QUF9JVEVSQVRJT05fUEFSQU1TXzEKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvZnVuY3Rpb24vZGV0YWlsL2Z1bmN0aW9uX2l0ZXJhdGUuaHBwIGIvbmRuYm9vc3QvZnVuY3Rpb24vZGV0YWlsL2Z1bmN0aW9uX2l0ZXJhdGUuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVjNDExOTYKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9mdW5jdGlvbi9kZXRhaWwvZnVuY3Rpb25faXRlcmF0ZS5ocHAKQEAgLTAsMCArMSwxNiBAQAorLy8gQm9vc3QuRnVuY3Rpb24gbGlicmFyeQorCisvLyAgQ29weXJpZ2h0IERvdWdsYXMgR3JlZ29yIDIwMDMuIFVzZSwgbW9kaWZpY2F0aW9uIGFuZAorLy8gIGRpc3RyaWJ1dGlvbiBpcyBzdWJqZWN0IHRvIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uCisvLyAgMS4wLiAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0CisvLyAgaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorCisvLyBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnCisjaWYgIWRlZmluZWQoQk9PU1RfUFBfSVNfSVRFUkFUSU5HKQorIyBlcnJvciBCb29zdC5GdW5jdGlvbiAtIGRvIG5vdCBpbmNsdWRlIHRoaXMgZmlsZSEKKyNlbmRpZgorCisjZGVmaW5lIEJPT1NUX0ZVTkNUSU9OX05VTV9BUkdTIEJPT1NUX1BQX0lURVJBVElPTigpCisjaW5jbHVkZSA8bmRuYm9vc3QvZnVuY3Rpb24vZGV0YWlsL21heWJlX2luY2x1ZGUuaHBwPgorI3VuZGVmIEJPT1NUX0ZVTkNUSU9OX05VTV9BUkdTCisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L2Z1bmN0aW9uL2RldGFpbC9nZW5fbWF5YmVfaW5jbHVkZS5wbCBiL25kbmJvb3N0L2Z1bmN0aW9uL2RldGFpbC9nZW5fbWF5YmVfaW5jbHVkZS5wbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hYjQzNjdkCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvZnVuY3Rpb24vZGV0YWlsL2dlbl9tYXliZV9pbmNsdWRlLnBsCkBAIC0wLDAgKzEsMzcgQEAKKyMhL3Vzci9iaW4vcGVybCAtdworIworIyBCb29zdC5GdW5jdGlvbiBsaWJyYXJ5CisjCisjIENvcHlyaWdodCAoQykgMjAwMS0yMDAzIERvdWdsYXMgR3JlZ29yIChncmVnb2RAY3MucnBpLmVkdSkKKyMKKyMgUGVybWlzc2lvbiB0byBjb3B5LCB1c2UsIHNlbGwgYW5kIGRpc3RyaWJ1dGUgdGhpcyBzb2Z0d2FyZSBpcyBncmFudGVkCisjIHByb3ZpZGVkIHRoaXMgY29weXJpZ2h0IG5vdGljZSBhcHBlYXJzIGluIGFsbCBjb3BpZXMuCisjIFBlcm1pc3Npb24gdG8gbW9kaWZ5IHRoZSBjb2RlIGFuZCB0byBkaXN0cmlidXRlIG1vZGlmaWVkIGNvZGUgaXMgZ3JhbnRlZAorIyBwcm92aWRlZCB0aGlzIGNvcHlyaWdodCBub3RpY2UgYXBwZWFycyBpbiBhbGwgY29waWVzLCBhbmQgYSBub3RpY2UKKyMgdGhhdCB0aGUgY29kZSB3YXMgbW9kaWZpZWQgaXMgaW5jbHVkZWQgd2l0aCB0aGUgY29weXJpZ2h0IG5vdGljZS4KKyMKKyMgVGhpcyBzb2Z0d2FyZSBpcyBwcm92aWRlZCAiYXMgaXMiIHdpdGhvdXQgZXhwcmVzcyBvciBpbXBsaWVkIHdhcnJhbnR5LAorIyBhbmQgd2l0aCBubyBjbGFpbSBhcyB0byBpdHMgc3VpdGFiaWxpdHkgZm9yIGFueSBwdXJwb3NlLgorIworIyBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnCit1c2UgRW5nbGlzaDsKKworJG1heF9hcmdzID0gJEFSR1ZbMF07CisKK29wZW4gKE9VVCwgIj5tYXliZV9pbmNsdWRlLmhwcCIpIG9yIGRpZSgiQ2Fubm90IHdyaXRlIHRvIG1heWJlX2luY2x1ZGUuaHBwIik7Citmb3IoJG9uX2FyZyA9IDA7ICRvbl9hcmcgPD0gJG1heF9hcmdzOyArKyRvbl9hcmcpIHsKKyAgICBpZiAoJG9uX2FyZyA9PSAwKSB7CisJcHJpbnQgT1VUICIjaWYiOworICAgIH0KKyAgICBlbHNlIHsKKwlwcmludCBPVVQgIiNlbGlmIjsKKyAgICB9CisgICAgcHJpbnQgT1VUICIgQk9PU1RfRlVOQ1RJT05fTlVNX0FSR1MgPT0gJG9uX2FyZ1xuIjsKKyAgICBwcmludCBPVVQgIiMgIGlmbmRlZiBCT09TVF9GVU5DVElPTl8kb25fYXJnXG4iOworICAgIHByaW50IE9VVCAiIyAgICBkZWZpbmUgQk9PU1RfRlVOQ1RJT05fJG9uX2FyZ1xuIjsKKyAgICBwcmludCBPVVQgIiMgICAgaW5jbHVkZSA8bmRuYm9vc3QvZnVuY3Rpb24vZnVuY3Rpb25fdGVtcGxhdGUuaHBwPlxuIjsKKyAgICBwcmludCBPVVQgIiMgIGVuZGlmXG4iOworfQorcHJpbnQgT1VUICIjZWxzZVxuIjsKK3ByaW50IE9VVCAiIyAgZXJyb3IgQ2Fubm90IGhhbmRsZSBCb29zdC5GdW5jdGlvbiBvYmplY3RzIHRoYXQgYWNjZXB0IG1vcmUgdGhhbiAkbWF4X2FyZ3MgYXJndW1lbnRzIVxuIjsKK3ByaW50IE9VVCAiI2VuZGlmXG4iOwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvZnVuY3Rpb24vZGV0YWlsL21heWJlX2luY2x1ZGUuaHBwIGIvbmRuYm9vc3QvZnVuY3Rpb24vZGV0YWlsL21heWJlX2luY2x1ZGUuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEyZjAwM2UKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9mdW5jdGlvbi9kZXRhaWwvbWF5YmVfaW5jbHVkZS5ocHAKQEAgLTAsMCArMSwyNjcgQEAKKy8vIEJvb3N0LkZ1bmN0aW9uIGxpYnJhcnkKKworLy8gIENvcHlyaWdodCBEb3VnbGFzIEdyZWdvciAyMDAzLiBVc2UsIG1vZGlmaWNhdGlvbiBhbmQKKy8vICBkaXN0cmlidXRpb24gaXMgc3ViamVjdCB0byB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbgorLy8gIDEuMC4gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdAorLy8gIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKworLy8gRm9yIG1vcmUgaW5mb3JtYXRpb24sIHNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZworCisjaWYgQk9PU1RfRlVOQ1RJT05fTlVNX0FSR1MgPT0gMAorIyAgaWZuZGVmIEJPT1NUX0ZVTkNUSU9OXzAKKyMgICAgZGVmaW5lIEJPT1NUX0ZVTkNUSU9OXzAKKyMgICAgaW5jbHVkZSA8bmRuYm9vc3QvZnVuY3Rpb24vZnVuY3Rpb25fdGVtcGxhdGUuaHBwPgorIyAgZW5kaWYKKyNlbGlmIEJPT1NUX0ZVTkNUSU9OX05VTV9BUkdTID09IDEKKyMgIGlmbmRlZiBCT09TVF9GVU5DVElPTl8xCisjICAgIGRlZmluZSBCT09TVF9GVU5DVElPTl8xCisjICAgIGluY2x1ZGUgPG5kbmJvb3N0L2Z1bmN0aW9uL2Z1bmN0aW9uX3RlbXBsYXRlLmhwcD4KKyMgIGVuZGlmCisjZWxpZiBCT09TVF9GVU5DVElPTl9OVU1fQVJHUyA9PSAyCisjICBpZm5kZWYgQk9PU1RfRlVOQ1RJT05fMgorIyAgICBkZWZpbmUgQk9PU1RfRlVOQ1RJT05fMgorIyAgICBpbmNsdWRlIDxuZG5ib29zdC9mdW5jdGlvbi9mdW5jdGlvbl90ZW1wbGF0ZS5ocHA+CisjICBlbmRpZgorI2VsaWYgQk9PU1RfRlVOQ1RJT05fTlVNX0FSR1MgPT0gMworIyAgaWZuZGVmIEJPT1NUX0ZVTkNUSU9OXzMKKyMgICAgZGVmaW5lIEJPT1NUX0ZVTkNUSU9OXzMKKyMgICAgaW5jbHVkZSA8bmRuYm9vc3QvZnVuY3Rpb24vZnVuY3Rpb25fdGVtcGxhdGUuaHBwPgorIyAgZW5kaWYKKyNlbGlmIEJPT1NUX0ZVTkNUSU9OX05VTV9BUkdTID09IDQKKyMgIGlmbmRlZiBCT09TVF9GVU5DVElPTl80CisjICAgIGRlZmluZSBCT09TVF9GVU5DVElPTl80CisjICAgIGluY2x1ZGUgPG5kbmJvb3N0L2Z1bmN0aW9uL2Z1bmN0aW9uX3RlbXBsYXRlLmhwcD4KKyMgIGVuZGlmCisjZWxpZiBCT09TVF9GVU5DVElPTl9OVU1fQVJHUyA9PSA1CisjICBpZm5kZWYgQk9PU1RfRlVOQ1RJT05fNQorIyAgICBkZWZpbmUgQk9PU1RfRlVOQ1RJT05fNQorIyAgICBpbmNsdWRlIDxuZG5ib29zdC9mdW5jdGlvbi9mdW5jdGlvbl90ZW1wbGF0ZS5ocHA+CisjICBlbmRpZgorI2VsaWYgQk9PU1RfRlVOQ1RJT05fTlVNX0FSR1MgPT0gNgorIyAgaWZuZGVmIEJPT1NUX0ZVTkNUSU9OXzYKKyMgICAgZGVmaW5lIEJPT1NUX0ZVTkNUSU9OXzYKKyMgICAgaW5jbHVkZSA8bmRuYm9vc3QvZnVuY3Rpb24vZnVuY3Rpb25fdGVtcGxhdGUuaHBwPgorIyAgZW5kaWYKKyNlbGlmIEJPT1NUX0ZVTkNUSU9OX05VTV9BUkdTID09IDcKKyMgIGlmbmRlZiBCT09TVF9GVU5DVElPTl83CisjICAgIGRlZmluZSBCT09TVF9GVU5DVElPTl83CisjICAgIGluY2x1ZGUgPG5kbmJvb3N0L2Z1bmN0aW9uL2Z1bmN0aW9uX3RlbXBsYXRlLmhwcD4KKyMgIGVuZGlmCisjZWxpZiBCT09TVF9GVU5DVElPTl9OVU1fQVJHUyA9PSA4CisjICBpZm5kZWYgQk9PU1RfRlVOQ1RJT05fOAorIyAgICBkZWZpbmUgQk9PU1RfRlVOQ1RJT05fOAorIyAgICBpbmNsdWRlIDxuZG5ib29zdC9mdW5jdGlvbi9mdW5jdGlvbl90ZW1wbGF0ZS5ocHA+CisjICBlbmRpZgorI2VsaWYgQk9PU1RfRlVOQ1RJT05fTlVNX0FSR1MgPT0gOQorIyAgaWZuZGVmIEJPT1NUX0ZVTkNUSU9OXzkKKyMgICAgZGVmaW5lIEJPT1NUX0ZVTkNUSU9OXzkKKyMgICAgaW5jbHVkZSA8bmRuYm9vc3QvZnVuY3Rpb24vZnVuY3Rpb25fdGVtcGxhdGUuaHBwPgorIyAgZW5kaWYKKyNlbGlmIEJPT1NUX0ZVTkNUSU9OX05VTV9BUkdTID09IDEwCisjICBpZm5kZWYgQk9PU1RfRlVOQ1RJT05fMTAKKyMgICAgZGVmaW5lIEJPT1NUX0ZVTkNUSU9OXzEwCisjICAgIGluY2x1ZGUgPG5kbmJvb3N0L2Z1bmN0aW9uL2Z1bmN0aW9uX3RlbXBsYXRlLmhwcD4KKyMgIGVuZGlmCisjZWxpZiBCT09TVF9GVU5DVElPTl9OVU1fQVJHUyA9PSAxMQorIyAgaWZuZGVmIEJPT1NUX0ZVTkNUSU9OXzExCisjICAgIGRlZmluZSBCT09TVF9GVU5DVElPTl8xMQorIyAgICBpbmNsdWRlIDxuZG5ib29zdC9mdW5jdGlvbi9mdW5jdGlvbl90ZW1wbGF0ZS5ocHA+CisjICBlbmRpZgorI2VsaWYgQk9PU1RfRlVOQ1RJT05fTlVNX0FSR1MgPT0gMTIKKyMgIGlmbmRlZiBCT09TVF9GVU5DVElPTl8xMgorIyAgICBkZWZpbmUgQk9PU1RfRlVOQ1RJT05fMTIKKyMgICAgaW5jbHVkZSA8bmRuYm9vc3QvZnVuY3Rpb24vZnVuY3Rpb25fdGVtcGxhdGUuaHBwPgorIyAgZW5kaWYKKyNlbGlmIEJPT1NUX0ZVTkNUSU9OX05VTV9BUkdTID09IDEzCisjICBpZm5kZWYgQk9PU1RfRlVOQ1RJT05fMTMKKyMgICAgZGVmaW5lIEJPT1NUX0ZVTkNUSU9OXzEzCisjICAgIGluY2x1ZGUgPG5kbmJvb3N0L2Z1bmN0aW9uL2Z1bmN0aW9uX3RlbXBsYXRlLmhwcD4KKyMgIGVuZGlmCisjZWxpZiBCT09TVF9GVU5DVElPTl9OVU1fQVJHUyA9PSAxNAorIyAgaWZuZGVmIEJPT1NUX0ZVTkNUSU9OXzE0CisjICAgIGRlZmluZSBCT09TVF9GVU5DVElPTl8xNAorIyAgICBpbmNsdWRlIDxuZG5ib29zdC9mdW5jdGlvbi9mdW5jdGlvbl90ZW1wbGF0ZS5ocHA+CisjICBlbmRpZgorI2VsaWYgQk9PU1RfRlVOQ1RJT05fTlVNX0FSR1MgPT0gMTUKKyMgIGlmbmRlZiBCT09TVF9GVU5DVElPTl8xNQorIyAgICBkZWZpbmUgQk9PU1RfRlVOQ1RJT05fMTUKKyMgICAgaW5jbHVkZSA8bmRuYm9vc3QvZnVuY3Rpb24vZnVuY3Rpb25fdGVtcGxhdGUuaHBwPgorIyAgZW5kaWYKKyNlbGlmIEJPT1NUX0ZVTkNUSU9OX05VTV9BUkdTID09IDE2CisjICBpZm5kZWYgQk9PU1RfRlVOQ1RJT05fMTYKKyMgICAgZGVmaW5lIEJPT1NUX0ZVTkNUSU9OXzE2CisjICAgIGluY2x1ZGUgPG5kbmJvb3N0L2Z1bmN0aW9uL2Z1bmN0aW9uX3RlbXBsYXRlLmhwcD4KKyMgIGVuZGlmCisjZWxpZiBCT09TVF9GVU5DVElPTl9OVU1fQVJHUyA9PSAxNworIyAgaWZuZGVmIEJPT1NUX0ZVTkNUSU9OXzE3CisjICAgIGRlZmluZSBCT09TVF9GVU5DVElPTl8xNworIyAgICBpbmNsdWRlIDxuZG5ib29zdC9mdW5jdGlvbi9mdW5jdGlvbl90ZW1wbGF0ZS5ocHA+CisjICBlbmRpZgorI2VsaWYgQk9PU1RfRlVOQ1RJT05fTlVNX0FSR1MgPT0gMTgKKyMgIGlmbmRlZiBCT09TVF9GVU5DVElPTl8xOAorIyAgICBkZWZpbmUgQk9PU1RfRlVOQ1RJT05fMTgKKyMgICAgaW5jbHVkZSA8bmRuYm9vc3QvZnVuY3Rpb24vZnVuY3Rpb25fdGVtcGxhdGUuaHBwPgorIyAgZW5kaWYKKyNlbGlmIEJPT1NUX0ZVTkNUSU9OX05VTV9BUkdTID09IDE5CisjICBpZm5kZWYgQk9PU1RfRlVOQ1RJT05fMTkKKyMgICAgZGVmaW5lIEJPT1NUX0ZVTkNUSU9OXzE5CisjICAgIGluY2x1ZGUgPG5kbmJvb3N0L2Z1bmN0aW9uL2Z1bmN0aW9uX3RlbXBsYXRlLmhwcD4KKyMgIGVuZGlmCisjZWxpZiBCT09TVF9GVU5DVElPTl9OVU1fQVJHUyA9PSAyMAorIyAgaWZuZGVmIEJPT1NUX0ZVTkNUSU9OXzIwCisjICAgIGRlZmluZSBCT09TVF9GVU5DVElPTl8yMAorIyAgICBpbmNsdWRlIDxuZG5ib29zdC9mdW5jdGlvbi9mdW5jdGlvbl90ZW1wbGF0ZS5ocHA+CisjICBlbmRpZgorI2VsaWYgQk9PU1RfRlVOQ1RJT05fTlVNX0FSR1MgPT0gMjEKKyMgIGlmbmRlZiBCT09TVF9GVU5DVElPTl8yMQorIyAgICBkZWZpbmUgQk9PU1RfRlVOQ1RJT05fMjEKKyMgICAgaW5jbHVkZSA8bmRuYm9vc3QvZnVuY3Rpb24vZnVuY3Rpb25fdGVtcGxhdGUuaHBwPgorIyAgZW5kaWYKKyNlbGlmIEJPT1NUX0ZVTkNUSU9OX05VTV9BUkdTID09IDIyCisjICBpZm5kZWYgQk9PU1RfRlVOQ1RJT05fMjIKKyMgICAgZGVmaW5lIEJPT1NUX0ZVTkNUSU9OXzIyCisjICAgIGluY2x1ZGUgPG5kbmJvb3N0L2Z1bmN0aW9uL2Z1bmN0aW9uX3RlbXBsYXRlLmhwcD4KKyMgIGVuZGlmCisjZWxpZiBCT09TVF9GVU5DVElPTl9OVU1fQVJHUyA9PSAyMworIyAgaWZuZGVmIEJPT1NUX0ZVTkNUSU9OXzIzCisjICAgIGRlZmluZSBCT09TVF9GVU5DVElPTl8yMworIyAgICBpbmNsdWRlIDxuZG5ib29zdC9mdW5jdGlvbi9mdW5jdGlvbl90ZW1wbGF0ZS5ocHA+CisjICBlbmRpZgorI2VsaWYgQk9PU1RfRlVOQ1RJT05fTlVNX0FSR1MgPT0gMjQKKyMgIGlmbmRlZiBCT09TVF9GVU5DVElPTl8yNAorIyAgICBkZWZpbmUgQk9PU1RfRlVOQ1RJT05fMjQKKyMgICAgaW5jbHVkZSA8bmRuYm9vc3QvZnVuY3Rpb24vZnVuY3Rpb25fdGVtcGxhdGUuaHBwPgorIyAgZW5kaWYKKyNlbGlmIEJPT1NUX0ZVTkNUSU9OX05VTV9BUkdTID09IDI1CisjICBpZm5kZWYgQk9PU1RfRlVOQ1RJT05fMjUKKyMgICAgZGVmaW5lIEJPT1NUX0ZVTkNUSU9OXzI1CisjICAgIGluY2x1ZGUgPG5kbmJvb3N0L2Z1bmN0aW9uL2Z1bmN0aW9uX3RlbXBsYXRlLmhwcD4KKyMgIGVuZGlmCisjZWxpZiBCT09TVF9GVU5DVElPTl9OVU1fQVJHUyA9PSAyNgorIyAgaWZuZGVmIEJPT1NUX0ZVTkNUSU9OXzI2CisjICAgIGRlZmluZSBCT09TVF9GVU5DVElPTl8yNgorIyAgICBpbmNsdWRlIDxuZG5ib29zdC9mdW5jdGlvbi9mdW5jdGlvbl90ZW1wbGF0ZS5ocHA+CisjICBlbmRpZgorI2VsaWYgQk9PU1RfRlVOQ1RJT05fTlVNX0FSR1MgPT0gMjcKKyMgIGlmbmRlZiBCT09TVF9GVU5DVElPTl8yNworIyAgICBkZWZpbmUgQk9PU1RfRlVOQ1RJT05fMjcKKyMgICAgaW5jbHVkZSA8bmRuYm9vc3QvZnVuY3Rpb24vZnVuY3Rpb25fdGVtcGxhdGUuaHBwPgorIyAgZW5kaWYKKyNlbGlmIEJPT1NUX0ZVTkNUSU9OX05VTV9BUkdTID09IDI4CisjICBpZm5kZWYgQk9PU1RfRlVOQ1RJT05fMjgKKyMgICAgZGVmaW5lIEJPT1NUX0ZVTkNUSU9OXzI4CisjICAgIGluY2x1ZGUgPG5kbmJvb3N0L2Z1bmN0aW9uL2Z1bmN0aW9uX3RlbXBsYXRlLmhwcD4KKyMgIGVuZGlmCisjZWxpZiBCT09TVF9GVU5DVElPTl9OVU1fQVJHUyA9PSAyOQorIyAgaWZuZGVmIEJPT1NUX0ZVTkNUSU9OXzI5CisjICAgIGRlZmluZSBCT09TVF9GVU5DVElPTl8yOQorIyAgICBpbmNsdWRlIDxuZG5ib29zdC9mdW5jdGlvbi9mdW5jdGlvbl90ZW1wbGF0ZS5ocHA+CisjICBlbmRpZgorI2VsaWYgQk9PU1RfRlVOQ1RJT05fTlVNX0FSR1MgPT0gMzAKKyMgIGlmbmRlZiBCT09TVF9GVU5DVElPTl8zMAorIyAgICBkZWZpbmUgQk9PU1RfRlVOQ1RJT05fMzAKKyMgICAgaW5jbHVkZSA8bmRuYm9vc3QvZnVuY3Rpb24vZnVuY3Rpb25fdGVtcGxhdGUuaHBwPgorIyAgZW5kaWYKKyNlbGlmIEJPT1NUX0ZVTkNUSU9OX05VTV9BUkdTID09IDMxCisjICBpZm5kZWYgQk9PU1RfRlVOQ1RJT05fMzEKKyMgICAgZGVmaW5lIEJPT1NUX0ZVTkNUSU9OXzMxCisjICAgIGluY2x1ZGUgPG5kbmJvb3N0L2Z1bmN0aW9uL2Z1bmN0aW9uX3RlbXBsYXRlLmhwcD4KKyMgIGVuZGlmCisjZWxpZiBCT09TVF9GVU5DVElPTl9OVU1fQVJHUyA9PSAzMgorIyAgaWZuZGVmIEJPT1NUX0ZVTkNUSU9OXzMyCisjICAgIGRlZmluZSBCT09TVF9GVU5DVElPTl8zMgorIyAgICBpbmNsdWRlIDxuZG5ib29zdC9mdW5jdGlvbi9mdW5jdGlvbl90ZW1wbGF0ZS5ocHA+CisjICBlbmRpZgorI2VsaWYgQk9PU1RfRlVOQ1RJT05fTlVNX0FSR1MgPT0gMzMKKyMgIGlmbmRlZiBCT09TVF9GVU5DVElPTl8zMworIyAgICBkZWZpbmUgQk9PU1RfRlVOQ1RJT05fMzMKKyMgICAgaW5jbHVkZSA8bmRuYm9vc3QvZnVuY3Rpb24vZnVuY3Rpb25fdGVtcGxhdGUuaHBwPgorIyAgZW5kaWYKKyNlbGlmIEJPT1NUX0ZVTkNUSU9OX05VTV9BUkdTID09IDM0CisjICBpZm5kZWYgQk9PU1RfRlVOQ1RJT05fMzQKKyMgICAgZGVmaW5lIEJPT1NUX0ZVTkNUSU9OXzM0CisjICAgIGluY2x1ZGUgPG5kbmJvb3N0L2Z1bmN0aW9uL2Z1bmN0aW9uX3RlbXBsYXRlLmhwcD4KKyMgIGVuZGlmCisjZWxpZiBCT09TVF9GVU5DVElPTl9OVU1fQVJHUyA9PSAzNQorIyAgaWZuZGVmIEJPT1NUX0ZVTkNUSU9OXzM1CisjICAgIGRlZmluZSBCT09TVF9GVU5DVElPTl8zNQorIyAgICBpbmNsdWRlIDxuZG5ib29zdC9mdW5jdGlvbi9mdW5jdGlvbl90ZW1wbGF0ZS5ocHA+CisjICBlbmRpZgorI2VsaWYgQk9PU1RfRlVOQ1RJT05fTlVNX0FSR1MgPT0gMzYKKyMgIGlmbmRlZiBCT09TVF9GVU5DVElPTl8zNgorIyAgICBkZWZpbmUgQk9PU1RfRlVOQ1RJT05fMzYKKyMgICAgaW5jbHVkZSA8bmRuYm9vc3QvZnVuY3Rpb24vZnVuY3Rpb25fdGVtcGxhdGUuaHBwPgorIyAgZW5kaWYKKyNlbGlmIEJPT1NUX0ZVTkNUSU9OX05VTV9BUkdTID09IDM3CisjICBpZm5kZWYgQk9PU1RfRlVOQ1RJT05fMzcKKyMgICAgZGVmaW5lIEJPT1NUX0ZVTkNUSU9OXzM3CisjICAgIGluY2x1ZGUgPG5kbmJvb3N0L2Z1bmN0aW9uL2Z1bmN0aW9uX3RlbXBsYXRlLmhwcD4KKyMgIGVuZGlmCisjZWxpZiBCT09TVF9GVU5DVElPTl9OVU1fQVJHUyA9PSAzOAorIyAgaWZuZGVmIEJPT1NUX0ZVTkNUSU9OXzM4CisjICAgIGRlZmluZSBCT09TVF9GVU5DVElPTl8zOAorIyAgICBpbmNsdWRlIDxuZG5ib29zdC9mdW5jdGlvbi9mdW5jdGlvbl90ZW1wbGF0ZS5ocHA+CisjICBlbmRpZgorI2VsaWYgQk9PU1RfRlVOQ1RJT05fTlVNX0FSR1MgPT0gMzkKKyMgIGlmbmRlZiBCT09TVF9GVU5DVElPTl8zOQorIyAgICBkZWZpbmUgQk9PU1RfRlVOQ1RJT05fMzkKKyMgICAgaW5jbHVkZSA8bmRuYm9vc3QvZnVuY3Rpb24vZnVuY3Rpb25fdGVtcGxhdGUuaHBwPgorIyAgZW5kaWYKKyNlbGlmIEJPT1NUX0ZVTkNUSU9OX05VTV9BUkdTID09IDQwCisjICBpZm5kZWYgQk9PU1RfRlVOQ1RJT05fNDAKKyMgICAgZGVmaW5lIEJPT1NUX0ZVTkNUSU9OXzQwCisjICAgIGluY2x1ZGUgPG5kbmJvb3N0L2Z1bmN0aW9uL2Z1bmN0aW9uX3RlbXBsYXRlLmhwcD4KKyMgIGVuZGlmCisjZWxpZiBCT09TVF9GVU5DVElPTl9OVU1fQVJHUyA9PSA0MQorIyAgaWZuZGVmIEJPT1NUX0ZVTkNUSU9OXzQxCisjICAgIGRlZmluZSBCT09TVF9GVU5DVElPTl80MQorIyAgICBpbmNsdWRlIDxuZG5ib29zdC9mdW5jdGlvbi9mdW5jdGlvbl90ZW1wbGF0ZS5ocHA+CisjICBlbmRpZgorI2VsaWYgQk9PU1RfRlVOQ1RJT05fTlVNX0FSR1MgPT0gNDIKKyMgIGlmbmRlZiBCT09TVF9GVU5DVElPTl80MgorIyAgICBkZWZpbmUgQk9PU1RfRlVOQ1RJT05fNDIKKyMgICAgaW5jbHVkZSA8bmRuYm9vc3QvZnVuY3Rpb24vZnVuY3Rpb25fdGVtcGxhdGUuaHBwPgorIyAgZW5kaWYKKyNlbGlmIEJPT1NUX0ZVTkNUSU9OX05VTV9BUkdTID09IDQzCisjICBpZm5kZWYgQk9PU1RfRlVOQ1RJT05fNDMKKyMgICAgZGVmaW5lIEJPT1NUX0ZVTkNUSU9OXzQzCisjICAgIGluY2x1ZGUgPG5kbmJvb3N0L2Z1bmN0aW9uL2Z1bmN0aW9uX3RlbXBsYXRlLmhwcD4KKyMgIGVuZGlmCisjZWxpZiBCT09TVF9GVU5DVElPTl9OVU1fQVJHUyA9PSA0NAorIyAgaWZuZGVmIEJPT1NUX0ZVTkNUSU9OXzQ0CisjICAgIGRlZmluZSBCT09TVF9GVU5DVElPTl80NAorIyAgICBpbmNsdWRlIDxuZG5ib29zdC9mdW5jdGlvbi9mdW5jdGlvbl90ZW1wbGF0ZS5ocHA+CisjICBlbmRpZgorI2VsaWYgQk9PU1RfRlVOQ1RJT05fTlVNX0FSR1MgPT0gNDUKKyMgIGlmbmRlZiBCT09TVF9GVU5DVElPTl80NQorIyAgICBkZWZpbmUgQk9PU1RfRlVOQ1RJT05fNDUKKyMgICAgaW5jbHVkZSA8bmRuYm9vc3QvZnVuY3Rpb24vZnVuY3Rpb25fdGVtcGxhdGUuaHBwPgorIyAgZW5kaWYKKyNlbGlmIEJPT1NUX0ZVTkNUSU9OX05VTV9BUkdTID09IDQ2CisjICBpZm5kZWYgQk9PU1RfRlVOQ1RJT05fNDYKKyMgICAgZGVmaW5lIEJPT1NUX0ZVTkNUSU9OXzQ2CisjICAgIGluY2x1ZGUgPG5kbmJvb3N0L2Z1bmN0aW9uL2Z1bmN0aW9uX3RlbXBsYXRlLmhwcD4KKyMgIGVuZGlmCisjZWxpZiBCT09TVF9GVU5DVElPTl9OVU1fQVJHUyA9PSA0NworIyAgaWZuZGVmIEJPT1NUX0ZVTkNUSU9OXzQ3CisjICAgIGRlZmluZSBCT09TVF9GVU5DVElPTl80NworIyAgICBpbmNsdWRlIDxuZG5ib29zdC9mdW5jdGlvbi9mdW5jdGlvbl90ZW1wbGF0ZS5ocHA+CisjICBlbmRpZgorI2VsaWYgQk9PU1RfRlVOQ1RJT05fTlVNX0FSR1MgPT0gNDgKKyMgIGlmbmRlZiBCT09TVF9GVU5DVElPTl80OAorIyAgICBkZWZpbmUgQk9PU1RfRlVOQ1RJT05fNDgKKyMgICAgaW5jbHVkZSA8bmRuYm9vc3QvZnVuY3Rpb24vZnVuY3Rpb25fdGVtcGxhdGUuaHBwPgorIyAgZW5kaWYKKyNlbGlmIEJPT1NUX0ZVTkNUSU9OX05VTV9BUkdTID09IDQ5CisjICBpZm5kZWYgQk9PU1RfRlVOQ1RJT05fNDkKKyMgICAgZGVmaW5lIEJPT1NUX0ZVTkNUSU9OXzQ5CisjICAgIGluY2x1ZGUgPG5kbmJvb3N0L2Z1bmN0aW9uL2Z1bmN0aW9uX3RlbXBsYXRlLmhwcD4KKyMgIGVuZGlmCisjZWxpZiBCT09TVF9GVU5DVElPTl9OVU1fQVJHUyA9PSA1MAorIyAgaWZuZGVmIEJPT1NUX0ZVTkNUSU9OXzUwCisjICAgIGRlZmluZSBCT09TVF9GVU5DVElPTl81MAorIyAgICBpbmNsdWRlIDxuZG5ib29zdC9mdW5jdGlvbi9mdW5jdGlvbl90ZW1wbGF0ZS5ocHA+CisjICBlbmRpZgorI2Vsc2UKKyMgIGVycm9yIENhbm5vdCBoYW5kbGUgQm9vc3QuRnVuY3Rpb24gb2JqZWN0cyB0aGF0IGFjY2VwdCBtb3JlIHRoYW4gNTAgYXJndW1lbnRzIQorI2VuZGlmCmRpZmYgLS1naXQgYS9uZG5ib29zdC9mdW5jdGlvbi9kZXRhaWwvcHJvbG9ndWUuaHBwIGIvbmRuYm9vc3QvZnVuY3Rpb24vZGV0YWlsL3Byb2xvZ3VlLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NTgzMjRjCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvZnVuY3Rpb24vZGV0YWlsL3Byb2xvZ3VlLmhwcApAQCAtMCwwICsxLDI2IEBACisvLyBCb29zdC5GdW5jdGlvbiBsaWJyYXJ5CisKKy8vICBDb3B5cmlnaHQgRG91Z2xhcyBHcmVnb3IgMjAwMi0yMDAzLiBVc2UsIG1vZGlmaWNhdGlvbiBhbmQKKy8vICBkaXN0cmlidXRpb24gaXMgc3ViamVjdCB0byB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbgorLy8gIDEuMC4gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdAorLy8gIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKworLy8gRm9yIG1vcmUgaW5mb3JtYXRpb24sIHNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZworCisjaWZuZGVmIEJPT1NUX0ZVTkNUSU9OX1BST0xPR1VFX0hQUAorI2RlZmluZSBCT09TVF9GVU5DVElPTl9QUk9MT0dVRV9IUFAKKyMgIGluY2x1ZGUgPGNhc3NlcnQ+CisjICBpbmNsdWRlIDxhbGdvcml0aG0+CisjICBpbmNsdWRlIDxuZG5ib29zdC9jb25maWcvbm9fdHIxL2Z1bmN0aW9uYWwuaHBwPiAvLyB1bmFyeV9mdW5jdGlvbiwgYmluYXJ5X2Z1bmN0aW9uCisjICBpbmNsdWRlIDxuZG5ib29zdC90aHJvd19leGNlcHRpb24uaHBwPgorIyAgaW5jbHVkZSA8bmRuYm9vc3QvY29uZmlnLmhwcD4KKyMgIGluY2x1ZGUgPG5kbmJvb3N0L2Z1bmN0aW9uL2Z1bmN0aW9uX2Jhc2UuaHBwPgorIyAgaW5jbHVkZSA8bmRuYm9vc3QvbWVtX2ZuLmhwcD4KKyMgIGluY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2lzX2ludGVncmFsLmhwcD4KKyMgIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9lbnVtLmhwcD4KKyMgIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9lbnVtX3BhcmFtcy5ocHA+CisjICBpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3IvY2F0LmhwcD4KKyMgIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9yZXBlYXQuaHBwPgorIyAgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL2luYy5ocHA+CisjICBpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9pc192b2lkLmhwcD4KKyNlbmRpZiAvLyBCT09TVF9GVU5DVElPTl9QUk9MT0dVRV9IUFAKZGlmZiAtLWdpdCBhL25kbmJvb3N0L2Z1bmN0aW9uL2Z1bmN0aW9uMC5ocHAgYi9uZG5ib29zdC9mdW5jdGlvbi9mdW5jdGlvbjAuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc5MjExZGMKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9mdW5jdGlvbi9mdW5jdGlvbjAuaHBwCkBAIC0wLDAgKzEsMTIgQEAKKy8vIEJvb3N0LkZ1bmN0aW9uIGxpYnJhcnkKKworLy8gIENvcHlyaWdodCBEb3VnbGFzIEdyZWdvciAyMDAyLTIwMDMuIFVzZSwgbW9kaWZpY2F0aW9uIGFuZAorLy8gIGRpc3RyaWJ1dGlvbiBpcyBzdWJqZWN0IHRvIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uCisvLyAgMS4wLiAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0CisvLyAgaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorCisvLyBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnCisKKyNkZWZpbmUgQk9PU1RfRlVOQ1RJT05fTlVNX0FSR1MgMAorI2luY2x1ZGUgPG5kbmJvb3N0L2Z1bmN0aW9uL2RldGFpbC9tYXliZV9pbmNsdWRlLmhwcD4KKyN1bmRlZiBCT09TVF9GVU5DVElPTl9OVU1fQVJHUwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvZnVuY3Rpb24vZnVuY3Rpb24xLmhwcCBiL25kbmJvb3N0L2Z1bmN0aW9uL2Z1bmN0aW9uMS5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODNmYmMxOQotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L2Z1bmN0aW9uL2Z1bmN0aW9uMS5ocHAKQEAgLTAsMCArMSwxMiBAQAorLy8gQm9vc3QuRnVuY3Rpb24gbGlicmFyeQorCisvLyAgQ29weXJpZ2h0IERvdWdsYXMgR3JlZ29yIDIwMDItMjAwMy4gVXNlLCBtb2RpZmljYXRpb24gYW5kCisvLyAgZGlzdHJpYnV0aW9uIGlzIHN1YmplY3QgdG8gdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24KKy8vICAxLjAuIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQKKy8vICBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisKKy8vIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUgaHR0cDovL3d3dy5ib29zdC5vcmcKKworI2RlZmluZSBCT09TVF9GVU5DVElPTl9OVU1fQVJHUyAxCisjaW5jbHVkZSA8bmRuYm9vc3QvZnVuY3Rpb24vZGV0YWlsL21heWJlX2luY2x1ZGUuaHBwPgorI3VuZGVmIEJPT1NUX0ZVTkNUSU9OX05VTV9BUkdTCmRpZmYgLS1naXQgYS9uZG5ib29zdC9mdW5jdGlvbi9mdW5jdGlvbjEwLmhwcCBiL25kbmJvb3N0L2Z1bmN0aW9uL2Z1bmN0aW9uMTAuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJiZDNkZWMKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9mdW5jdGlvbi9mdW5jdGlvbjEwLmhwcApAQCAtMCwwICsxLDEyIEBACisvLyBCb29zdC5GdW5jdGlvbiBsaWJyYXJ5CisKKy8vICBDb3B5cmlnaHQgRG91Z2xhcyBHcmVnb3IgMjAwMi0yMDAzLiBVc2UsIG1vZGlmaWNhdGlvbiBhbmQKKy8vICBkaXN0cmlidXRpb24gaXMgc3ViamVjdCB0byB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbgorLy8gIDEuMC4gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdAorLy8gIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKworLy8gRm9yIG1vcmUgaW5mb3JtYXRpb24sIHNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZworCisjZGVmaW5lIEJPT1NUX0ZVTkNUSU9OX05VTV9BUkdTIDEwCisjaW5jbHVkZSA8bmRuYm9vc3QvZnVuY3Rpb24vZGV0YWlsL21heWJlX2luY2x1ZGUuaHBwPgorI3VuZGVmIEJPT1NUX0ZVTkNUSU9OX05VTV9BUkdTCmRpZmYgLS1naXQgYS9uZG5ib29zdC9mdW5jdGlvbi9mdW5jdGlvbjIuaHBwIGIvbmRuYm9vc3QvZnVuY3Rpb24vZnVuY3Rpb24yLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NWRiZmRhCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvZnVuY3Rpb24vZnVuY3Rpb24yLmhwcApAQCAtMCwwICsxLDEyIEBACisvLyBCb29zdC5GdW5jdGlvbiBsaWJyYXJ5CisKKy8vICBDb3B5cmlnaHQgRG91Z2xhcyBHcmVnb3IgMjAwMi0yMDAzLiBVc2UsIG1vZGlmaWNhdGlvbiBhbmQKKy8vICBkaXN0cmlidXRpb24gaXMgc3ViamVjdCB0byB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbgorLy8gIDEuMC4gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdAorLy8gIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKworLy8gRm9yIG1vcmUgaW5mb3JtYXRpb24sIHNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZworCisjZGVmaW5lIEJPT1NUX0ZVTkNUSU9OX05VTV9BUkdTIDIKKyNpbmNsdWRlIDxuZG5ib29zdC9mdW5jdGlvbi9kZXRhaWwvbWF5YmVfaW5jbHVkZS5ocHA+CisjdW5kZWYgQk9PU1RfRlVOQ1RJT05fTlVNX0FSR1MKZGlmZiAtLWdpdCBhL25kbmJvb3N0L2Z1bmN0aW9uL2Z1bmN0aW9uMy5ocHAgYi9uZG5ib29zdC9mdW5jdGlvbi9mdW5jdGlvbjMuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMyNDQ3NTUKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9mdW5jdGlvbi9mdW5jdGlvbjMuaHBwCkBAIC0wLDAgKzEsMTIgQEAKKy8vIEJvb3N0LkZ1bmN0aW9uIGxpYnJhcnkKKworLy8gIENvcHlyaWdodCBEb3VnbGFzIEdyZWdvciAyMDAyLTIwMDMuIFVzZSwgbW9kaWZpY2F0aW9uIGFuZAorLy8gIGRpc3RyaWJ1dGlvbiBpcyBzdWJqZWN0IHRvIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uCisvLyAgMS4wLiAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0CisvLyAgaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorCisvLyBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnCisKKyNkZWZpbmUgQk9PU1RfRlVOQ1RJT05fTlVNX0FSR1MgMworI2luY2x1ZGUgPG5kbmJvb3N0L2Z1bmN0aW9uL2RldGFpbC9tYXliZV9pbmNsdWRlLmhwcD4KKyN1bmRlZiBCT09TVF9GVU5DVElPTl9OVU1fQVJHUwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvZnVuY3Rpb24vZnVuY3Rpb240LmhwcCBiL25kbmJvb3N0L2Z1bmN0aW9uL2Z1bmN0aW9uNC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDY3YjAzYgotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L2Z1bmN0aW9uL2Z1bmN0aW9uNC5ocHAKQEAgLTAsMCArMSwxMiBAQAorLy8gQm9vc3QuRnVuY3Rpb24gbGlicmFyeQorCisvLyAgQ29weXJpZ2h0IERvdWdsYXMgR3JlZ29yIDIwMDItMjAwMy4gVXNlLCBtb2RpZmljYXRpb24gYW5kCisvLyAgZGlzdHJpYnV0aW9uIGlzIHN1YmplY3QgdG8gdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24KKy8vICAxLjAuIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQKKy8vICBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisKKy8vIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUgaHR0cDovL3d3dy5ib29zdC5vcmcKKworI2RlZmluZSBCT09TVF9GVU5DVElPTl9OVU1fQVJHUyA0CisjaW5jbHVkZSA8bmRuYm9vc3QvZnVuY3Rpb24vZGV0YWlsL21heWJlX2luY2x1ZGUuaHBwPgorI3VuZGVmIEJPT1NUX0ZVTkNUSU9OX05VTV9BUkdTCmRpZmYgLS1naXQgYS9uZG5ib29zdC9mdW5jdGlvbi9mdW5jdGlvbjUuaHBwIGIvbmRuYm9vc3QvZnVuY3Rpb24vZnVuY3Rpb241LmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43N2NmNDIwCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvZnVuY3Rpb24vZnVuY3Rpb241LmhwcApAQCAtMCwwICsxLDEyIEBACisvLyBCb29zdC5GdW5jdGlvbiBsaWJyYXJ5CisKKy8vICBDb3B5cmlnaHQgRG91Z2xhcyBHcmVnb3IgMjAwMi0yMDAzLiBVc2UsIG1vZGlmaWNhdGlvbiBhbmQKKy8vICBkaXN0cmlidXRpb24gaXMgc3ViamVjdCB0byB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbgorLy8gIDEuMC4gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdAorLy8gIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKworLy8gRm9yIG1vcmUgaW5mb3JtYXRpb24sIHNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZworCisjZGVmaW5lIEJPT1NUX0ZVTkNUSU9OX05VTV9BUkdTIDUKKyNpbmNsdWRlIDxuZG5ib29zdC9mdW5jdGlvbi9kZXRhaWwvbWF5YmVfaW5jbHVkZS5ocHA+CisjdW5kZWYgQk9PU1RfRlVOQ1RJT05fTlVNX0FSR1MKZGlmZiAtLWdpdCBhL25kbmJvb3N0L2Z1bmN0aW9uL2Z1bmN0aW9uNi5ocHAgYi9uZG5ib29zdC9mdW5jdGlvbi9mdW5jdGlvbjYuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVhZTgyOWQKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9mdW5jdGlvbi9mdW5jdGlvbjYuaHBwCkBAIC0wLDAgKzEsMTIgQEAKKy8vIEJvb3N0LkZ1bmN0aW9uIGxpYnJhcnkKKworLy8gIENvcHlyaWdodCBEb3VnbGFzIEdyZWdvciAyMDAyLTIwMDMuIFVzZSwgbW9kaWZpY2F0aW9uIGFuZAorLy8gIGRpc3RyaWJ1dGlvbiBpcyBzdWJqZWN0IHRvIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uCisvLyAgMS4wLiAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0CisvLyAgaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorCisvLyBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnCisKKyNkZWZpbmUgQk9PU1RfRlVOQ1RJT05fTlVNX0FSR1MgNgorI2luY2x1ZGUgPG5kbmJvb3N0L2Z1bmN0aW9uL2RldGFpbC9tYXliZV9pbmNsdWRlLmhwcD4KKyN1bmRlZiBCT09TVF9GVU5DVElPTl9OVU1fQVJHUwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvZnVuY3Rpb24vZnVuY3Rpb243LmhwcCBiL25kbmJvb3N0L2Z1bmN0aW9uL2Z1bmN0aW9uNy5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGM3YTVhYQotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L2Z1bmN0aW9uL2Z1bmN0aW9uNy5ocHAKQEAgLTAsMCArMSwxMiBAQAorLy8gQm9vc3QuRnVuY3Rpb24gbGlicmFyeQorCisvLyAgQ29weXJpZ2h0IERvdWdsYXMgR3JlZ29yIDIwMDItMjAwMy4gVXNlLCBtb2RpZmljYXRpb24gYW5kCisvLyAgZGlzdHJpYnV0aW9uIGlzIHN1YmplY3QgdG8gdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24KKy8vICAxLjAuIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQKKy8vICBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisKKy8vIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUgaHR0cDovL3d3dy5ib29zdC5vcmcKKworI2RlZmluZSBCT09TVF9GVU5DVElPTl9OVU1fQVJHUyA3CisjaW5jbHVkZSA8bmRuYm9vc3QvZnVuY3Rpb24vZGV0YWlsL21heWJlX2luY2x1ZGUuaHBwPgorI3VuZGVmIEJPT1NUX0ZVTkNUSU9OX05VTV9BUkdTCmRpZmYgLS1naXQgYS9uZG5ib29zdC9mdW5jdGlvbi9mdW5jdGlvbjguaHBwIGIvbmRuYm9vc3QvZnVuY3Rpb24vZnVuY3Rpb244LmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jOWNjMjhiCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvZnVuY3Rpb24vZnVuY3Rpb244LmhwcApAQCAtMCwwICsxLDEyIEBACisvLyBCb29zdC5GdW5jdGlvbiBsaWJyYXJ5CisKKy8vICBDb3B5cmlnaHQgRG91Z2xhcyBHcmVnb3IgMjAwMi0yMDAzLiBVc2UsIG1vZGlmaWNhdGlvbiBhbmQKKy8vICBkaXN0cmlidXRpb24gaXMgc3ViamVjdCB0byB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbgorLy8gIDEuMC4gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdAorLy8gIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKworLy8gRm9yIG1vcmUgaW5mb3JtYXRpb24sIHNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZworCisjZGVmaW5lIEJPT1NUX0ZVTkNUSU9OX05VTV9BUkdTIDgKKyNpbmNsdWRlIDxuZG5ib29zdC9mdW5jdGlvbi9kZXRhaWwvbWF5YmVfaW5jbHVkZS5ocHA+CisjdW5kZWYgQk9PU1RfRlVOQ1RJT05fTlVNX0FSR1MKZGlmZiAtLWdpdCBhL25kbmJvb3N0L2Z1bmN0aW9uL2Z1bmN0aW9uOS5ocHAgYi9uZG5ib29zdC9mdW5jdGlvbi9mdW5jdGlvbjkuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMzYzg4MzYKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9mdW5jdGlvbi9mdW5jdGlvbjkuaHBwCkBAIC0wLDAgKzEsMTIgQEAKKy8vIEJvb3N0LkZ1bmN0aW9uIGxpYnJhcnkKKworLy8gIENvcHlyaWdodCBEb3VnbGFzIEdyZWdvciAyMDAyLTIwMDMuIFVzZSwgbW9kaWZpY2F0aW9uIGFuZAorLy8gIGRpc3RyaWJ1dGlvbiBpcyBzdWJqZWN0IHRvIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uCisvLyAgMS4wLiAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0CisvLyAgaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorCisvLyBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnCisKKyNkZWZpbmUgQk9PU1RfRlVOQ1RJT05fTlVNX0FSR1MgOQorI2luY2x1ZGUgPG5kbmJvb3N0L2Z1bmN0aW9uL2RldGFpbC9tYXliZV9pbmNsdWRlLmhwcD4KKyN1bmRlZiBCT09TVF9GVU5DVElPTl9OVU1fQVJHUwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvZnVuY3Rpb24vZnVuY3Rpb25fYmFzZS5ocHAgYi9uZG5ib29zdC9mdW5jdGlvbi9mdW5jdGlvbl9iYXNlLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMGFmMWEzCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvZnVuY3Rpb24vZnVuY3Rpb25fYmFzZS5ocHAKQEAgLTAsMCArMSw5MTAgQEAKKy8vIEJvb3N0LkZ1bmN0aW9uIGxpYnJhcnkKKworLy8gIENvcHlyaWdodCBEb3VnbGFzIEdyZWdvciAyMDAxLTIwMDYKKy8vICBDb3B5cmlnaHQgRW1pbCBEb3RjaGV2c2tpIDIwMDcKKy8vICBVc2UsIG1vZGlmaWNhdGlvbiBhbmQgZGlzdHJpYnV0aW9uIGlzIHN1YmplY3QgdG8gdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLgorLy8gIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQKKy8vICBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisKKy8vIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUgaHR0cDovL3d3dy5ib29zdC5vcmcKKworI2lmbmRlZiBCT09TVF9GVU5DVElPTl9CQVNFX0hFQURFUgorI2RlZmluZSBCT09TVF9GVU5DVElPTl9CQVNFX0hFQURFUgorCisjaW5jbHVkZSA8c3RkZXhjZXB0PgorI2luY2x1ZGUgPHN0cmluZz4KKyNpbmNsdWRlIDxtZW1vcnk+CisjaW5jbHVkZSA8bmV3PgorI2luY2x1ZGUgPG5kbmJvb3N0L2NvbmZpZy5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvZGV0YWlsL3NwX3R5cGVpbmZvLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9hc3NlcnQuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L2ludGVnZXIuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2hhc190cml2aWFsX2NvcHkuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2hhc190cml2aWFsX2Rlc3RydWN0b3IuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2lzX2NvbnN0LmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9pc19pbnRlZ3JhbC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvaXNfdm9sYXRpbGUuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2NvbXBvc2l0ZV90cmFpdHMuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2ljZS5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvcmVmLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvaWYuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L2RldGFpbC93b3JrYXJvdW5kLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9hbGlnbm1lbnRfb2YuaHBwPgorI2lmbmRlZiBCT09TVF9OT19TRklOQUUKKyMgIGluY2x1ZGUgIm5kbmJvb3N0L3V0aWxpdHkvZW5hYmxlX2lmLmhwcCIKKyNlbHNlCisjICBpbmNsdWRlICJuZG5ib29zdC9tcGwvYm9vbC5ocHAiCisjZW5kaWYKKyNpbmNsdWRlIDxuZG5ib29zdC9mdW5jdGlvbl9lcXVhbC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvZnVuY3Rpb24vZnVuY3Rpb25fZndkLmhwcD4KKworI2lmIGRlZmluZWQoQk9PU1RfTVNWQykKKyMgICBwcmFnbWEgd2FybmluZyggcHVzaCApCisjICAgcHJhZ21hIHdhcm5pbmcoIGRpc2FibGUgOiA0NzkzICkgLy8gY29tcGxhaW50IGFib3V0IG5hdGl2ZSBjb2RlIGdlbmVyYXRpb24KKyMgICBwcmFnbWEgd2FybmluZyggZGlzYWJsZSA6IDQxMjcgKSAvLyAiY29uZGl0aW9uYWwgZXhwcmVzc2lvbiBpcyBjb25zdGFudCIKKyNlbmRpZiAgICAgICAKKworLy8gRGVmaW5lIEJPT1NUX0ZVTkNUSU9OX1NURF9OUyB0byB0aGUgbmFtZXNwYWNlIHRoYXQgY29udGFpbnMgdHlwZV9pbmZvLgorI2lmZGVmIEJPT1NUX05PX1NURF9UWVBFSU5GTworLy8gRW1iZWRkZWQgVkMrKyBkb2VzIG5vdCBoYXZlIHR5cGVfaW5mbyBpbiBuYW1lc3BhY2Ugc3RkCisjICBkZWZpbmUgQk9PU1RfRlVOQ1RJT05fU1REX05TCisjZWxzZQorIyAgZGVmaW5lIEJPT1NUX0ZVTkNUSU9OX1NURF9OUyBzdGQKKyNlbmRpZgorCisvLyBCb3Jyb3dlZCBmcm9tIEJvb3N0LlB5dGhvbiBsaWJyYXJ5OiBkZXRlcm1pbmVzIHRoZSBjYXNlcyB3aGVyZSB3ZQorLy8gbmVlZCB0byB1c2Ugc3RkOjp0eXBlX2luZm86Om5hbWUgdG8gY29tcGFyZSBpbnN0ZWFkIG9mIG9wZXJhdG9yPT0uCisjaWYgZGVmaW5lZCggQk9PU1RfTk9fVFlQRUlEICkKKyMgIGRlZmluZSBCT09TVF9GVU5DVElPTl9DT01QQVJFX1RZUEVfSUQoWCxZKSAoKFgpPT0oWSkpCisjZWxpZiAoZGVmaW5lZChfX0dOVUNfXykgJiYgX19HTlVDX18gPj0gMykgXAorIHx8IGRlZmluZWQoX0FJWCkgXAorIHx8ICggICBkZWZpbmVkKF9fc2dpKSAmJiBkZWZpbmVkKF9faG9zdF9taXBzKSkKKyMgIGluY2x1ZGUgPGNzdHJpbmc+CisjICBkZWZpbmUgQk9PU1RfRlVOQ1RJT05fQ09NUEFSRV9UWVBFX0lEKFgsWSkgXAorICAgICAoc3RkOjpzdHJjbXAoKFgpLm5hbWUoKSwoWSkubmFtZSgpKSA9PSAwKQorIyBlbHNlCisjICBkZWZpbmUgQk9PU1RfRlVOQ1RJT05fQ09NUEFSRV9UWVBFX0lEKFgsWSkgKChYKT09KFkpKQorI2VuZGlmCisKKyNpZiBkZWZpbmVkKEJPT1NUX01TVkMpICYmIEJPT1NUX01TVkMgPD0gMTMwMCB8fCBkZWZpbmVkKF9fSUNMKSAmJiBfX0lDTCA8PSA2MDAgfHwgZGVmaW5lZChfX01XRVJLU19fKSAmJiBfX01XRVJLU19fIDwgMHgyNDA2ICYmICFkZWZpbmVkKEJPT1NUX1NUUklDVF9DT05GSUcpCisjICBkZWZpbmUgQk9PU1RfRlVOQ1RJT05fVEFSR0VUX0ZJWCh4KSB4CisjZWxzZQorIyAgZGVmaW5lIEJPT1NUX0ZVTkNUSU9OX1RBUkdFVF9GSVgoeCkKKyNlbmRpZiAvLyBub3QgTVNWQworCisjaWYgIUJPT1NUX1dPUktBUk9VTkQoX19CT1JMQU5EQ19fLCA8IDB4NUEwKQorIyAgZGVmaW5lIEJPT1NUX0ZVTkNUSU9OX0VOQUJMRV9JRl9OT1RfSU5URUdSQUwoRnVuY3RvcixUeXBlKSAgICAgICAgICAgICAgXAorICAgICAgdHlwZW5hbWUgOjpuZG5ib29zdDo6ZW5hYmxlX2lmX2M8KDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2Vfbm90PCAgICAgICAgICBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDo6bmRuYm9vc3Q6OmlzX2ludGVncmFsPEZ1bmN0b3I+Ojp2YWx1ZSk+Ojp2YWx1ZSksIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIFR5cGU+Ojp0eXBlCisjZWxzZQorLy8gQkNDIGRvZXNuJ3QgcmVjb2duaXplIHRoaXMgZGVwZW5kcyBvbiBhIHRlbXBsYXRlIGFyZ3VtZW50IGFuZCBjb21wbGFpbnMKKy8vIGFib3V0IHRoZSB1c2Ugb2YgJ3R5cGVuYW1lJworIyAgZGVmaW5lIEJPT1NUX0ZVTkNUSU9OX0VOQUJMRV9JRl9OT1RfSU5URUdSQUwoRnVuY3RvcixUeXBlKSAgICAgXAorICAgICAgOjpuZG5ib29zdDo6ZW5hYmxlX2lmX2M8KDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2Vfbm90PCAgICAgICAgICBcCisgICAgICAgICAgICAgICAgICAgKDo6bmRuYm9vc3Q6OmlzX2ludGVncmFsPEZ1bmN0b3I+Ojp2YWx1ZSk+Ojp2YWx1ZSksIFwKKyAgICAgICAgICAgICAgICAgICAgICAgVHlwZT46OnR5cGUKKyNlbmRpZgorCituYW1lc3BhY2UgbmRuYm9vc3QgeworICBuYW1lc3BhY2UgZGV0YWlsIHsKKyAgICBuYW1lc3BhY2UgZnVuY3Rpb24geworICAgICAgY2xhc3MgWDsKKworICAgICAgLyoqCisgICAgICAgKiBBIGJ1ZmZlciB1c2VkIHRvIHN0b3JlIHNtYWxsIGZ1bmN0aW9uIG9iamVjdHMgaW4KKyAgICAgICAqIG5kbmJvb3N0OjpmdW5jdGlvbi4gSXQgaXMgYSB1bmlvbiBjb250YWluaW5nIGZ1bmN0aW9uIHBvaW50ZXJzLAorICAgICAgICogb2JqZWN0IHBvaW50ZXJzLCBhbmQgYSBzdHJ1Y3R1cmUgdGhhdCByZXNlbWJsZXMgYSBib3VuZAorICAgICAgICogbWVtYmVyIGZ1bmN0aW9uIHBvaW50ZXIuCisgICAgICAgKi8KKyAgICAgIHVuaW9uIGZ1bmN0aW9uX2J1ZmZlcgorICAgICAgeworICAgICAgICAvLyBGb3IgcG9pbnRlcnMgdG8gZnVuY3Rpb24gb2JqZWN0cworICAgICAgICBtdXRhYmxlIHZvaWQqIG9ial9wdHI7CisKKyAgICAgICAgLy8gRm9yIHBvaW50ZXJzIHRvIHN0ZDo6dHlwZV9pbmZvIG9iamVjdHMKKyAgICAgICAgc3RydWN0IHR5cGVfdCB7CisgICAgICAgICAgLy8gKGdldF9mdW5jdG9yX3R5cGVfdGFnLCBjaGVja19mdW5jdG9yX3R5cGVfdGFnKS4KKyAgICAgICAgICBjb25zdCBkZXRhaWw6OnNwX3R5cGVpbmZvKiB0eXBlOworCisgICAgICAgICAgLy8gV2hldGhlciB0aGUgdHlwZSBpcyBjb25zdC1xdWFsaWZpZWQuCisgICAgICAgICAgYm9vbCBjb25zdF9xdWFsaWZpZWQ7CisgICAgICAgICAgLy8gV2hldGhlciB0aGUgdHlwZSBpcyB2b2xhdGlsZS1xdWFsaWZpZWQuCisgICAgICAgICAgYm9vbCB2b2xhdGlsZV9xdWFsaWZpZWQ7CisgICAgICAgIH0gdHlwZTsKKworICAgICAgICAvLyBGb3IgZnVuY3Rpb24gcG9pbnRlcnMgb2YgYWxsIGtpbmRzCisgICAgICAgIG11dGFibGUgdm9pZCAoKmZ1bmNfcHRyKSgpOworCisgICAgICAgIC8vIEZvciBib3VuZCBtZW1iZXIgcG9pbnRlcnMKKyAgICAgICAgc3RydWN0IGJvdW5kX21lbWZ1bmNfcHRyX3QgeworICAgICAgICAgIHZvaWQgKFg6OiptZW1mdW5jX3B0cikoaW50KTsKKyAgICAgICAgICB2b2lkKiBvYmpfcHRyOworICAgICAgICB9IGJvdW5kX21lbWZ1bmNfcHRyOworCisgICAgICAgIC8vIEZvciByZWZlcmVuY2VzIHRvIGZ1bmN0aW9uIG9iamVjdHMuIFdlIGV4cGxpY2l0bHkga2VlcAorICAgICAgICAvLyB0cmFjayBvZiB0aGUgY3YtcXVhbGlmaWVycyBvbiB0aGUgb2JqZWN0IHJlZmVyZW5jZWQuCisgICAgICAgIHN0cnVjdCBvYmpfcmVmX3QgeworICAgICAgICAgIG11dGFibGUgdm9pZCogb2JqX3B0cjsKKyAgICAgICAgICBib29sIGlzX2NvbnN0X3F1YWxpZmllZDsKKyAgICAgICAgICBib29sIGlzX3ZvbGF0aWxlX3F1YWxpZmllZDsKKyAgICAgICAgfSBvYmpfcmVmOworCisgICAgICAgIC8vIFRvIHJlbGF4IGFsaWFzaW5nIGNvbnN0cmFpbnRzCisgICAgICAgIG11dGFibGUgY2hhciBkYXRhOworICAgICAgfTsKKworICAgICAgLyoqCisgICAgICAgKiBUaGUgdW51c2FibGUgY2xhc3MgaXMgYSBwbGFjZWhvbGRlciBmb3IgdW51c2VkIGZ1bmN0aW9uIGFyZ3VtZW50cworICAgICAgICogSXQgaXMgYWxzbyBjb21wbGV0ZWx5IHVudXNhYmxlIGV4Y2VwdCB0aGF0IGl0IGNvbnN0cnVjdGFibGUgZnJvbQorICAgICAgICogYW55dGhpbmcuIFRoaXMgaGVscHMgY29tcGlsZXJzIHdpdGhvdXQgcGFydGlhbCBzcGVjaWFsaXphdGlvbiB0bworICAgICAgICogaGFuZGxlIEJvb3N0LkZ1bmN0aW9uIG9iamVjdHMgcmV0dXJuaW5nIHZvaWQuCisgICAgICAgKi8KKyAgICAgIHN0cnVjdCB1bnVzYWJsZQorICAgICAgeworICAgICAgICB1bnVzYWJsZSgpIHt9CisgICAgICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHVudXNhYmxlKGNvbnN0IFQmKSB7fQorICAgICAgfTsKKworICAgICAgLyogRGV0ZXJtaW5lIHRoZSByZXR1cm4gdHlwZS4gVGhpcyBzdXBwb3J0cyBjb21waWxlcnMgdGhhdCBkbyBub3Qgc3VwcG9ydAorICAgICAgICogdm9pZCByZXR1cm5zIG9yIHBhcnRpYWwgc3BlY2lhbGl6YXRpb24gYnkgc2lsZW50bHkgY2hhbmdpbmcgdGhlIHJldHVybgorICAgICAgICogdHlwZSB0byAidW51c2FibGUiLgorICAgICAgICovCisgICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgZnVuY3Rpb25fcmV0dXJuX3R5cGUgeyB0eXBlZGVmIFQgdHlwZTsgfTsKKworICAgICAgdGVtcGxhdGU8PgorICAgICAgc3RydWN0IGZ1bmN0aW9uX3JldHVybl90eXBlPHZvaWQ+CisgICAgICB7CisgICAgICAgIHR5cGVkZWYgdW51c2FibGUgdHlwZTsKKyAgICAgIH07CisKKyAgICAgIC8vIFRoZSBvcGVyYXRpb24gdHlwZSB0byBwZXJmb3JtIG9uIHRoZSBnaXZlbiBmdW5jdG9yL2Z1bmN0aW9uIHBvaW50ZXIKKyAgICAgIGVudW0gZnVuY3Rvcl9tYW5hZ2VyX29wZXJhdGlvbl90eXBlIHsKKyAgICAgICAgY2xvbmVfZnVuY3Rvcl90YWcsCisgICAgICAgIG1vdmVfZnVuY3Rvcl90YWcsCisgICAgICAgIGRlc3Ryb3lfZnVuY3Rvcl90YWcsCisgICAgICAgIGNoZWNrX2Z1bmN0b3JfdHlwZV90YWcsCisgICAgICAgIGdldF9mdW5jdG9yX3R5cGVfdGFnCisgICAgICB9OworCisgICAgICAvLyBUYWdzIHVzZWQgdG8gZGVjaWRlIGJldHdlZW4gZGlmZmVyZW50IHR5cGVzIG9mIGZ1bmN0aW9ucworICAgICAgc3RydWN0IGZ1bmN0aW9uX3B0cl90YWcge307CisgICAgICBzdHJ1Y3QgZnVuY3Rpb25fb2JqX3RhZyB7fTsKKyAgICAgIHN0cnVjdCBtZW1iZXJfcHRyX3RhZyB7fTsKKyAgICAgIHN0cnVjdCBmdW5jdGlvbl9vYmpfcmVmX3RhZyB7fTsKKworICAgICAgdGVtcGxhdGU8dHlwZW5hbWUgRj4KKyAgICAgIGNsYXNzIGdldF9mdW5jdGlvbl90YWcKKyAgICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6OmlmX2M8KGlzX3BvaW50ZXI8Rj46OnZhbHVlKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb25fcHRyX3RhZywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb25fb2JqX3RhZz46OnR5cGUgcHRyX29yX29ial90YWc7CisKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6OmlmX2M8KGlzX21lbWJlcl9wb2ludGVyPEY+Ojp2YWx1ZSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lbWJlcl9wdHJfdGFnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJfb3Jfb2JqX3RhZz46OnR5cGUgcHRyX29yX29ial9vcl9tZW1fdGFnOworCisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjppZl9jPChpc19yZWZlcmVuY2Vfd3JhcHBlcjxGPjo6dmFsdWUpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbl9vYmpfcmVmX3RhZywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyX29yX29ial9vcl9tZW1fdGFnPjo6dHlwZSBvcl9yZWZfdGFnOworCisgICAgICBwdWJsaWM6CisgICAgICAgIHR5cGVkZWYgb3JfcmVmX3RhZyB0eXBlOworICAgICAgfTsKKworICAgICAgLy8gVGhlIHRyaXZpYWwgbWFuYWdlciBkb2VzIG5vdGhpbmcgYnV0IHJldHVybiB0aGUgc2FtZSBwb2ludGVyIChpZiB3ZQorICAgICAgLy8gYXJlIGNsb25pbmcpIG9yIHJldHVybiB0aGUgbnVsbCBwb2ludGVyIChpZiB3ZSBhcmUgZGVsZXRpbmcpLgorICAgICAgdGVtcGxhdGU8dHlwZW5hbWUgRj4KKyAgICAgIHN0cnVjdCByZWZlcmVuY2VfbWFuYWdlcgorICAgICAgeworICAgICAgICBzdGF0aWMgaW5saW5lIHZvaWQKKyAgICAgICAgbWFuYWdlKGNvbnN0IGZ1bmN0aW9uX2J1ZmZlciYgaW5fYnVmZmVyLCBmdW5jdGlvbl9idWZmZXImIG91dF9idWZmZXIsIAorICAgICAgICAgICAgICAgZnVuY3Rvcl9tYW5hZ2VyX29wZXJhdGlvbl90eXBlIG9wKQorICAgICAgICB7CisgICAgICAgICAgc3dpdGNoIChvcCkgeworICAgICAgICAgIGNhc2UgY2xvbmVfZnVuY3Rvcl90YWc6IAorICAgICAgICAgICAgb3V0X2J1ZmZlci5vYmpfcmVmID0gaW5fYnVmZmVyLm9ial9yZWY7CisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgICBjYXNlIG1vdmVfZnVuY3Rvcl90YWc6CisgICAgICAgICAgICBvdXRfYnVmZmVyLm9ial9yZWYgPSBpbl9idWZmZXIub2JqX3JlZjsKKyAgICAgICAgICAgIGluX2J1ZmZlci5vYmpfcmVmLm9ial9wdHIgPSAwOworICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgICAgY2FzZSBkZXN0cm95X2Z1bmN0b3JfdGFnOgorICAgICAgICAgICAgb3V0X2J1ZmZlci5vYmpfcmVmLm9ial9wdHIgPSAwOworICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgICAgY2FzZSBjaGVja19mdW5jdG9yX3R5cGVfdGFnOgorICAgICAgICAgICAgeworICAgICAgICAgICAgICBjb25zdCBkZXRhaWw6OnNwX3R5cGVpbmZvJiBjaGVja190eXBlIAorICAgICAgICAgICAgICAgID0gKm91dF9idWZmZXIudHlwZS50eXBlOworCisgICAgICAgICAgICAgIC8vIENoZWNrIHdoZXRoZXIgd2UgaGF2ZSB0aGUgc2FtZSB0eXBlLiBXZSBjYW4gYWRkCisgICAgICAgICAgICAgIC8vIGN2LXF1YWxpZmllcnMsIGJ1dCB3ZSBjYW4ndCB0YWtlIHRoZW0gYXdheS4KKyAgICAgICAgICAgICAgaWYgKEJPT1NUX0ZVTkNUSU9OX0NPTVBBUkVfVFlQRV9JRChjaGVja190eXBlLCBCT09TVF9TUF9UWVBFSUQoRikpCisgICAgICAgICAgICAgICAgICAmJiAoIWluX2J1ZmZlci5vYmpfcmVmLmlzX2NvbnN0X3F1YWxpZmllZCAKKyAgICAgICAgICAgICAgICAgICAgICB8fCBvdXRfYnVmZmVyLnR5cGUuY29uc3RfcXVhbGlmaWVkKQorICAgICAgICAgICAgICAgICAgJiYgKCFpbl9idWZmZXIub2JqX3JlZi5pc192b2xhdGlsZV9xdWFsaWZpZWQKKyAgICAgICAgICAgICAgICAgICAgICB8fCBvdXRfYnVmZmVyLnR5cGUudm9sYXRpbGVfcXVhbGlmaWVkKSkKKyAgICAgICAgICAgICAgICBvdXRfYnVmZmVyLm9ial9wdHIgPSBpbl9idWZmZXIub2JqX3JlZi5vYmpfcHRyOworICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgb3V0X2J1ZmZlci5vYmpfcHRyID0gMDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICAgIGNhc2UgZ2V0X2Z1bmN0b3JfdHlwZV90YWc6CisgICAgICAgICAgICBvdXRfYnVmZmVyLnR5cGUudHlwZSA9ICZCT09TVF9TUF9UWVBFSUQoRik7CisgICAgICAgICAgICBvdXRfYnVmZmVyLnR5cGUuY29uc3RfcXVhbGlmaWVkID0gaW5fYnVmZmVyLm9ial9yZWYuaXNfY29uc3RfcXVhbGlmaWVkOworICAgICAgICAgICAgb3V0X2J1ZmZlci50eXBlLnZvbGF0aWxlX3F1YWxpZmllZCA9IGluX2J1ZmZlci5vYmpfcmVmLmlzX3ZvbGF0aWxlX3F1YWxpZmllZDsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgIH07CisKKyAgICAgIC8qKgorICAgICAgICogRGV0ZXJtaW5lIGlmIG5kbmJvb3N0OjpmdW5jdGlvbiBjYW4gdXNlIHRoZSBzbWFsbC1vYmplY3QKKyAgICAgICAqIG9wdGltaXphdGlvbiB3aXRoIHRoZSBmdW5jdGlvbiBvYmplY3QgdHlwZSBGLgorICAgICAgICovCisgICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBGPgorICAgICAgc3RydWN0IGZ1bmN0aW9uX2FsbG93c19zbWFsbF9vYmplY3Rfb3B0aW1pemF0aW9uCisgICAgICB7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVAorICAgICAgICAgIChib29sLCAKKyAgICAgICAgICAgdmFsdWUgPSAoKHNpemVvZihGKSA8PSBzaXplb2YoZnVuY3Rpb25fYnVmZmVyKSAmJgorICAgICAgICAgICAgICAgICAgICAgKGFsaWdubWVudF9vZjxmdW5jdGlvbl9idWZmZXI+Ojp2YWx1ZSAKKyAgICAgICAgICAgICAgICAgICAgICAlIGFsaWdubWVudF9vZjxGPjo6dmFsdWUgPT0gMCkpKSk7CisgICAgICB9OworCisgICAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgRix0eXBlbmFtZSBBPgorICAgICAgc3RydWN0IGZ1bmN0b3Jfd3JhcHBlcjogcHVibGljIEYsIHB1YmxpYyBBCisgICAgICB7CisgICAgICAgIGZ1bmN0b3Jfd3JhcHBlciggRiBmLCBBIGEgKToKKyAgICAgICAgICBGKGYpLAorICAgICAgICAgIEEoYSkKKyAgICAgICAgeworICAgICAgICB9CisgICAgICAgIAorICAgICAgICBmdW5jdG9yX3dyYXBwZXIoY29uc3QgZnVuY3Rvcl93cmFwcGVyJiBmKSA6CisgICAgICAgICAgRihzdGF0aWNfY2FzdDxjb25zdCBGJj4oZikpLAorICAgICAgICAgIEEoc3RhdGljX2Nhc3Q8Y29uc3QgQSY+KGYpKQorICAgICAgICB7CisgICAgICAgIH0KKyAgICAgIH07CisKKyAgICAgIC8qKgorICAgICAgICogVGhlIGZ1bmN0b3JfbWFuYWdlciBjbGFzcyBjb250YWlucyBhIHN0YXRpYyBmdW5jdGlvbiAibWFuYWdlIiB3aGljaAorICAgICAgICogY2FuIGNsb25lIG9yIGRlc3Ryb3kgdGhlIGdpdmVuIGZ1bmN0aW9uL2Z1bmN0aW9uIG9iamVjdCBwb2ludGVyLgorICAgICAgICovCisgICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBGdW5jdG9yPgorICAgICAgc3RydWN0IGZ1bmN0b3JfbWFuYWdlcl9jb21tb24KKyAgICAgIHsKKyAgICAgICAgdHlwZWRlZiBGdW5jdG9yIGZ1bmN0b3JfdHlwZTsKKworICAgICAgICAvLyBGdW5jdGlvbiBwb2ludGVycworICAgICAgICBzdGF0aWMgaW5saW5lIHZvaWQKKyAgICAgICAgbWFuYWdlX3B0cihjb25zdCBmdW5jdGlvbl9idWZmZXImIGluX2J1ZmZlciwgZnVuY3Rpb25fYnVmZmVyJiBvdXRfYnVmZmVyLCAKKyAgICAgICAgICAgICAgICBmdW5jdG9yX21hbmFnZXJfb3BlcmF0aW9uX3R5cGUgb3ApCisgICAgICAgIHsKKyAgICAgICAgICBpZiAob3AgPT0gY2xvbmVfZnVuY3Rvcl90YWcpCisgICAgICAgICAgICBvdXRfYnVmZmVyLmZ1bmNfcHRyID0gaW5fYnVmZmVyLmZ1bmNfcHRyOworICAgICAgICAgIGVsc2UgaWYgKG9wID09IG1vdmVfZnVuY3Rvcl90YWcpIHsKKyAgICAgICAgICAgIG91dF9idWZmZXIuZnVuY19wdHIgPSBpbl9idWZmZXIuZnVuY19wdHI7CisgICAgICAgICAgICBpbl9idWZmZXIuZnVuY19wdHIgPSAwOworICAgICAgICAgIH0gZWxzZSBpZiAob3AgPT0gZGVzdHJveV9mdW5jdG9yX3RhZykKKyAgICAgICAgICAgIG91dF9idWZmZXIuZnVuY19wdHIgPSAwOworICAgICAgICAgIGVsc2UgaWYgKG9wID09IGNoZWNrX2Z1bmN0b3JfdHlwZV90YWcpIHsKKyAgICAgICAgICAgIGNvbnN0IGRldGFpbDo6c3BfdHlwZWluZm8mIGNoZWNrX3R5cGUgCisgICAgICAgICAgICAgID0gKm91dF9idWZmZXIudHlwZS50eXBlOworICAgICAgICAgICAgaWYgKEJPT1NUX0ZVTkNUSU9OX0NPTVBBUkVfVFlQRV9JRChjaGVja190eXBlLCBCT09TVF9TUF9UWVBFSUQoRnVuY3RvcikpKQorICAgICAgICAgICAgICBvdXRfYnVmZmVyLm9ial9wdHIgPSAmaW5fYnVmZmVyLmZ1bmNfcHRyOworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICBvdXRfYnVmZmVyLm9ial9wdHIgPSAwOworICAgICAgICAgIH0gZWxzZSAvKiBvcCA9PSBnZXRfZnVuY3Rvcl90eXBlX3RhZyAqLyB7CisgICAgICAgICAgICBvdXRfYnVmZmVyLnR5cGUudHlwZSA9ICZCT09TVF9TUF9UWVBFSUQoRnVuY3Rvcik7CisgICAgICAgICAgICBvdXRfYnVmZmVyLnR5cGUuY29uc3RfcXVhbGlmaWVkID0gZmFsc2U7CisgICAgICAgICAgICBvdXRfYnVmZmVyLnR5cGUudm9sYXRpbGVfcXVhbGlmaWVkID0gZmFsc2U7CisgICAgICAgICAgfQorICAgICAgICB9CisKKyAgICAgICAgLy8gRnVuY3Rpb24gb2JqZWN0cyB0aGF0IGZpdCBpbiB0aGUgc21hbGwtb2JqZWN0IGJ1ZmZlci4KKyAgICAgICAgc3RhdGljIGlubGluZSB2b2lkCisgICAgICAgIG1hbmFnZV9zbWFsbChjb25zdCBmdW5jdGlvbl9idWZmZXImIGluX2J1ZmZlciwgZnVuY3Rpb25fYnVmZmVyJiBvdXRfYnVmZmVyLCAKKyAgICAgICAgICAgICAgICBmdW5jdG9yX21hbmFnZXJfb3BlcmF0aW9uX3R5cGUgb3ApCisgICAgICAgIHsKKyAgICAgICAgICBpZiAob3AgPT0gY2xvbmVfZnVuY3Rvcl90YWcgfHwgb3AgPT0gbW92ZV9mdW5jdG9yX3RhZykgeworICAgICAgICAgICAgY29uc3QgZnVuY3Rvcl90eXBlKiBpbl9mdW5jdG9yID0gCisgICAgICAgICAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgZnVuY3Rvcl90eXBlKj4oJmluX2J1ZmZlci5kYXRhKTsKKyAgICAgICAgICAgIG5ldyAocmVpbnRlcnByZXRfY2FzdDx2b2lkKj4oJm91dF9idWZmZXIuZGF0YSkpIGZ1bmN0b3JfdHlwZSgqaW5fZnVuY3Rvcik7CisKKyAgICAgICAgICAgIGlmIChvcCA9PSBtb3ZlX2Z1bmN0b3JfdGFnKSB7CisgICAgICAgICAgICAgIGZ1bmN0b3JfdHlwZSogZiA9IHJlaW50ZXJwcmV0X2Nhc3Q8ZnVuY3Rvcl90eXBlKj4oJmluX2J1ZmZlci5kYXRhKTsKKyAgICAgICAgICAgICAgKHZvaWQpZjsgLy8gc3VwcHJlc3Mgd2FybmluZyBhYm91dCB0aGUgdmFsdWUgb2YgZiBub3QgYmVpbmcgdXNlZCAoTVNWQykKKyAgICAgICAgICAgICAgZi0+fkZ1bmN0b3IoKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICB9IGVsc2UgaWYgKG9wID09IGRlc3Ryb3lfZnVuY3Rvcl90YWcpIHsKKyAgICAgICAgICAgIC8vIFNvbWUgY29tcGlsZXJzIChCb3JsYW5kLCB2YzYsIC4uLikgYXJlIHVuaGFwcHkgd2l0aCB+ZnVuY3Rvcl90eXBlLgorICAgICAgICAgICAgIGZ1bmN0b3JfdHlwZSogZiA9IHJlaW50ZXJwcmV0X2Nhc3Q8ZnVuY3Rvcl90eXBlKj4oJm91dF9idWZmZXIuZGF0YSk7CisgICAgICAgICAgICAgKHZvaWQpZjsgLy8gc3VwcHJlc3Mgd2FybmluZyBhYm91dCB0aGUgdmFsdWUgb2YgZiBub3QgYmVpbmcgdXNlZCAoTVNWQykKKyAgICAgICAgICAgICBmLT5+RnVuY3RvcigpOworICAgICAgICAgIH0gZWxzZSBpZiAob3AgPT0gY2hlY2tfZnVuY3Rvcl90eXBlX3RhZykgeworICAgICAgICAgICAgY29uc3QgZGV0YWlsOjpzcF90eXBlaW5mbyYgY2hlY2tfdHlwZSAKKyAgICAgICAgICAgICAgPSAqb3V0X2J1ZmZlci50eXBlLnR5cGU7CisgICAgICAgICAgICBpZiAoQk9PU1RfRlVOQ1RJT05fQ09NUEFSRV9UWVBFX0lEKGNoZWNrX3R5cGUsIEJPT1NUX1NQX1RZUEVJRChGdW5jdG9yKSkpCisgICAgICAgICAgICAgIG91dF9idWZmZXIub2JqX3B0ciA9ICZpbl9idWZmZXIuZGF0YTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgb3V0X2J1ZmZlci5vYmpfcHRyID0gMDsKKyAgICAgICAgICB9IGVsc2UgLyogb3AgPT0gZ2V0X2Z1bmN0b3JfdHlwZV90YWcgKi8geworICAgICAgICAgICAgb3V0X2J1ZmZlci50eXBlLnR5cGUgPSAmQk9PU1RfU1BfVFlQRUlEKEZ1bmN0b3IpOworICAgICAgICAgICAgb3V0X2J1ZmZlci50eXBlLmNvbnN0X3F1YWxpZmllZCA9IGZhbHNlOworICAgICAgICAgICAgb3V0X2J1ZmZlci50eXBlLnZvbGF0aWxlX3F1YWxpZmllZCA9IGZhbHNlOyAgICAgICAgICAgIAorICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgfTsKKworICAgICAgdGVtcGxhdGU8dHlwZW5hbWUgRnVuY3Rvcj4KKyAgICAgIHN0cnVjdCBmdW5jdG9yX21hbmFnZXIKKyAgICAgIHsKKyAgICAgIHByaXZhdGU6CisgICAgICAgIHR5cGVkZWYgRnVuY3RvciBmdW5jdG9yX3R5cGU7CisKKyAgICAgICAgLy8gRnVuY3Rpb24gcG9pbnRlcnMKKyAgICAgICAgc3RhdGljIGlubGluZSB2b2lkCisgICAgICAgIG1hbmFnZXIoY29uc3QgZnVuY3Rpb25fYnVmZmVyJiBpbl9idWZmZXIsIGZ1bmN0aW9uX2J1ZmZlciYgb3V0X2J1ZmZlciwgCisgICAgICAgICAgICAgICAgZnVuY3Rvcl9tYW5hZ2VyX29wZXJhdGlvbl90eXBlIG9wLCBmdW5jdGlvbl9wdHJfdGFnKQorICAgICAgICB7CisgICAgICAgICAgZnVuY3Rvcl9tYW5hZ2VyX2NvbW1vbjxGdW5jdG9yPjo6bWFuYWdlX3B0cihpbl9idWZmZXIsb3V0X2J1ZmZlcixvcCk7CisgICAgICAgIH0KKworICAgICAgICAvLyBGdW5jdGlvbiBvYmplY3RzIHRoYXQgZml0IGluIHRoZSBzbWFsbC1vYmplY3QgYnVmZmVyLgorICAgICAgICBzdGF0aWMgaW5saW5lIHZvaWQKKyAgICAgICAgbWFuYWdlcihjb25zdCBmdW5jdGlvbl9idWZmZXImIGluX2J1ZmZlciwgZnVuY3Rpb25fYnVmZmVyJiBvdXRfYnVmZmVyLCAKKyAgICAgICAgICAgICAgICBmdW5jdG9yX21hbmFnZXJfb3BlcmF0aW9uX3R5cGUgb3AsIG1wbDo6dHJ1ZV8pCisgICAgICAgIHsKKyAgICAgICAgICBmdW5jdG9yX21hbmFnZXJfY29tbW9uPEZ1bmN0b3I+OjptYW5hZ2Vfc21hbGwoaW5fYnVmZmVyLG91dF9idWZmZXIsb3ApOworICAgICAgICB9CisgICAgICAgIAorICAgICAgICAvLyBGdW5jdGlvbiBvYmplY3RzIHRoYXQgcmVxdWlyZSBoZWFwIGFsbG9jYXRpb24KKyAgICAgICAgc3RhdGljIGlubGluZSB2b2lkCisgICAgICAgIG1hbmFnZXIoY29uc3QgZnVuY3Rpb25fYnVmZmVyJiBpbl9idWZmZXIsIGZ1bmN0aW9uX2J1ZmZlciYgb3V0X2J1ZmZlciwgCisgICAgICAgICAgICAgICAgZnVuY3Rvcl9tYW5hZ2VyX29wZXJhdGlvbl90eXBlIG9wLCBtcGw6OmZhbHNlXykKKyAgICAgICAgeworICAgICAgICAgIGlmIChvcCA9PSBjbG9uZV9mdW5jdG9yX3RhZykgeworICAgICAgICAgICAgLy8gQ2xvbmUgdGhlIGZ1bmN0b3IKKyAgICAgICAgICAgIC8vIEdDQyAyLjk1LjMgZ2V0cyB0aGUgQ1YgcXVhbGlmaWVycyB3cm9uZyBoZXJlLCBzbyB3ZQorICAgICAgICAgICAgLy8gY2FuJ3QgZG8gdGhlIHN0YXRpY19jYXN0IHRoYXQgd2Ugc2hvdWxkIGRvLgorICAgICAgICAgICAgLy8gamV3aWxsY286IENoYW5naW5nIHRoaXMgdG8gc3RhdGljX2Nhc3QgYmVjYXVzZSBHQ0MgMi45NS4zIGlzCisgICAgICAgICAgICAvLyBvYnNvbGV0ZS4KKyAgICAgICAgICAgIGNvbnN0IGZ1bmN0b3JfdHlwZSogZiA9CisgICAgICAgICAgICAgIHN0YXRpY19jYXN0PGNvbnN0IGZ1bmN0b3JfdHlwZSo+KGluX2J1ZmZlci5vYmpfcHRyKTsKKyAgICAgICAgICAgIGZ1bmN0b3JfdHlwZSogbmV3X2YgPSBuZXcgZnVuY3Rvcl90eXBlKCpmKTsKKyAgICAgICAgICAgIG91dF9idWZmZXIub2JqX3B0ciA9IG5ld19mOworICAgICAgICAgIH0gZWxzZSBpZiAob3AgPT0gbW92ZV9mdW5jdG9yX3RhZykgeworICAgICAgICAgICAgb3V0X2J1ZmZlci5vYmpfcHRyID0gaW5fYnVmZmVyLm9ial9wdHI7CisgICAgICAgICAgICBpbl9idWZmZXIub2JqX3B0ciA9IDA7CisgICAgICAgICAgfSBlbHNlIGlmIChvcCA9PSBkZXN0cm95X2Z1bmN0b3JfdGFnKSB7CisgICAgICAgICAgICAvKiBDYXN0IGZyb20gdGhlIHZvaWQgcG9pbnRlciB0byB0aGUgZnVuY3RvciBwb2ludGVyIHR5cGUgKi8KKyAgICAgICAgICAgIGZ1bmN0b3JfdHlwZSogZiA9CisgICAgICAgICAgICAgIHN0YXRpY19jYXN0PGZ1bmN0b3JfdHlwZSo+KG91dF9idWZmZXIub2JqX3B0cik7CisgICAgICAgICAgICBkZWxldGUgZjsKKyAgICAgICAgICAgIG91dF9idWZmZXIub2JqX3B0ciA9IDA7CisgICAgICAgICAgfSBlbHNlIGlmIChvcCA9PSBjaGVja19mdW5jdG9yX3R5cGVfdGFnKSB7CisgICAgICAgICAgICBjb25zdCBkZXRhaWw6OnNwX3R5cGVpbmZvJiBjaGVja190eXBlCisgICAgICAgICAgICAgID0gKm91dF9idWZmZXIudHlwZS50eXBlOworICAgICAgICAgICAgaWYgKEJPT1NUX0ZVTkNUSU9OX0NPTVBBUkVfVFlQRV9JRChjaGVja190eXBlLCBCT09TVF9TUF9UWVBFSUQoRnVuY3RvcikpKQorICAgICAgICAgICAgICBvdXRfYnVmZmVyLm9ial9wdHIgPSBpbl9idWZmZXIub2JqX3B0cjsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgb3V0X2J1ZmZlci5vYmpfcHRyID0gMDsKKyAgICAgICAgICB9IGVsc2UgLyogb3AgPT0gZ2V0X2Z1bmN0b3JfdHlwZV90YWcgKi8geworICAgICAgICAgICAgb3V0X2J1ZmZlci50eXBlLnR5cGUgPSAmQk9PU1RfU1BfVFlQRUlEKEZ1bmN0b3IpOworICAgICAgICAgICAgb3V0X2J1ZmZlci50eXBlLmNvbnN0X3F1YWxpZmllZCA9IGZhbHNlOworICAgICAgICAgICAgb3V0X2J1ZmZlci50eXBlLnZvbGF0aWxlX3F1YWxpZmllZCA9IGZhbHNlOworICAgICAgICAgIH0KKyAgICAgICAgfQorCisgICAgICAgIC8vIEZvciBmdW5jdGlvbiBvYmplY3RzLCB3ZSBkZXRlcm1pbmUgd2hldGhlciB0aGUgZnVuY3Rpb24KKyAgICAgICAgLy8gb2JqZWN0IGNhbiB1c2UgdGhlIHNtYWxsLW9iamVjdCBvcHRpbWl6YXRpb24gYnVmZmVyIG9yCisgICAgICAgIC8vIHdoZXRoZXIgd2UgbmVlZCB0byBhbGxvY2F0ZSBpdCBvbiB0aGUgaGVhcC4KKyAgICAgICAgc3RhdGljIGlubGluZSB2b2lkCisgICAgICAgIG1hbmFnZXIoY29uc3QgZnVuY3Rpb25fYnVmZmVyJiBpbl9idWZmZXIsIGZ1bmN0aW9uX2J1ZmZlciYgb3V0X2J1ZmZlciwgCisgICAgICAgICAgICAgICAgZnVuY3Rvcl9tYW5hZ2VyX29wZXJhdGlvbl90eXBlIG9wLCBmdW5jdGlvbl9vYmpfdGFnKQorICAgICAgICB7CisgICAgICAgICAgbWFuYWdlcihpbl9idWZmZXIsIG91dF9idWZmZXIsIG9wLAorICAgICAgICAgICAgICAgICAgbXBsOjpib29sXzwoZnVuY3Rpb25fYWxsb3dzX3NtYWxsX29iamVjdF9vcHRpbWl6YXRpb248ZnVuY3Rvcl90eXBlPjo6dmFsdWUpPigpKTsKKyAgICAgICAgfQorCisgICAgICAgIC8vIEZvciBtZW1iZXIgcG9pbnRlcnMsIHdlIHVzZSB0aGUgc21hbGwtb2JqZWN0IG9wdGltaXphdGlvbiBidWZmZXIuCisgICAgICAgIHN0YXRpYyBpbmxpbmUgdm9pZAorICAgICAgICBtYW5hZ2VyKGNvbnN0IGZ1bmN0aW9uX2J1ZmZlciYgaW5fYnVmZmVyLCBmdW5jdGlvbl9idWZmZXImIG91dF9idWZmZXIsIAorICAgICAgICAgICAgICAgIGZ1bmN0b3JfbWFuYWdlcl9vcGVyYXRpb25fdHlwZSBvcCwgbWVtYmVyX3B0cl90YWcpCisgICAgICAgIHsKKyAgICAgICAgICBtYW5hZ2VyKGluX2J1ZmZlciwgb3V0X2J1ZmZlciwgb3AsIG1wbDo6dHJ1ZV8oKSk7CisgICAgICAgIH0KKworICAgICAgcHVibGljOgorICAgICAgICAvKiBEaXNwYXRjaCB0byBhbiBhcHByb3ByaWF0ZSBtYW5hZ2VyIGJhc2VkIG9uIHdoZXRoZXIgd2UgaGF2ZSBhCisgICAgICAgICAgIGZ1bmN0aW9uIHBvaW50ZXIgb3IgYSBmdW5jdGlvbiBvYmplY3QgcG9pbnRlci4gKi8KKyAgICAgICAgc3RhdGljIGlubGluZSB2b2lkCisgICAgICAgIG1hbmFnZShjb25zdCBmdW5jdGlvbl9idWZmZXImIGluX2J1ZmZlciwgZnVuY3Rpb25fYnVmZmVyJiBvdXRfYnVmZmVyLCAKKyAgICAgICAgICAgICAgIGZ1bmN0b3JfbWFuYWdlcl9vcGVyYXRpb25fdHlwZSBvcCkKKyAgICAgICAgeworICAgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgZ2V0X2Z1bmN0aW9uX3RhZzxmdW5jdG9yX3R5cGU+Ojp0eXBlIHRhZ190eXBlOworICAgICAgICAgIHN3aXRjaCAob3ApIHsKKyAgICAgICAgICBjYXNlIGdldF9mdW5jdG9yX3R5cGVfdGFnOgorICAgICAgICAgICAgb3V0X2J1ZmZlci50eXBlLnR5cGUgPSAmQk9PU1RfU1BfVFlQRUlEKGZ1bmN0b3JfdHlwZSk7CisgICAgICAgICAgICBvdXRfYnVmZmVyLnR5cGUuY29uc3RfcXVhbGlmaWVkID0gZmFsc2U7CisgICAgICAgICAgICBvdXRfYnVmZmVyLnR5cGUudm9sYXRpbGVfcXVhbGlmaWVkID0gZmFsc2U7CisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgbWFuYWdlcihpbl9idWZmZXIsIG91dF9idWZmZXIsIG9wLCB0YWdfdHlwZSgpKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgIH07CisKKyAgICAgIHRlbXBsYXRlPHR5cGVuYW1lIEZ1bmN0b3IsIHR5cGVuYW1lIEFsbG9jYXRvcj4KKyAgICAgIHN0cnVjdCBmdW5jdG9yX21hbmFnZXJfYQorICAgICAgeworICAgICAgcHJpdmF0ZToKKyAgICAgICAgdHlwZWRlZiBGdW5jdG9yIGZ1bmN0b3JfdHlwZTsKKworICAgICAgICAvLyBGdW5jdGlvbiBwb2ludGVycworICAgICAgICBzdGF0aWMgaW5saW5lIHZvaWQKKyAgICAgICAgbWFuYWdlcihjb25zdCBmdW5jdGlvbl9idWZmZXImIGluX2J1ZmZlciwgZnVuY3Rpb25fYnVmZmVyJiBvdXRfYnVmZmVyLCAKKyAgICAgICAgICAgICAgICBmdW5jdG9yX21hbmFnZXJfb3BlcmF0aW9uX3R5cGUgb3AsIGZ1bmN0aW9uX3B0cl90YWcpCisgICAgICAgIHsKKyAgICAgICAgICBmdW5jdG9yX21hbmFnZXJfY29tbW9uPEZ1bmN0b3I+OjptYW5hZ2VfcHRyKGluX2J1ZmZlcixvdXRfYnVmZmVyLG9wKTsKKyAgICAgICAgfQorCisgICAgICAgIC8vIEZ1bmN0aW9uIG9iamVjdHMgdGhhdCBmaXQgaW4gdGhlIHNtYWxsLW9iamVjdCBidWZmZXIuCisgICAgICAgIHN0YXRpYyBpbmxpbmUgdm9pZAorICAgICAgICBtYW5hZ2VyKGNvbnN0IGZ1bmN0aW9uX2J1ZmZlciYgaW5fYnVmZmVyLCBmdW5jdGlvbl9idWZmZXImIG91dF9idWZmZXIsIAorICAgICAgICAgICAgICAgIGZ1bmN0b3JfbWFuYWdlcl9vcGVyYXRpb25fdHlwZSBvcCwgbXBsOjp0cnVlXykKKyAgICAgICAgeworICAgICAgICAgIGZ1bmN0b3JfbWFuYWdlcl9jb21tb248RnVuY3Rvcj46Om1hbmFnZV9zbWFsbChpbl9idWZmZXIsb3V0X2J1ZmZlcixvcCk7CisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIC8vIEZ1bmN0aW9uIG9iamVjdHMgdGhhdCByZXF1aXJlIGhlYXAgYWxsb2NhdGlvbgorICAgICAgICBzdGF0aWMgaW5saW5lIHZvaWQKKyAgICAgICAgbWFuYWdlcihjb25zdCBmdW5jdGlvbl9idWZmZXImIGluX2J1ZmZlciwgZnVuY3Rpb25fYnVmZmVyJiBvdXRfYnVmZmVyLCAKKyAgICAgICAgICAgICAgICBmdW5jdG9yX21hbmFnZXJfb3BlcmF0aW9uX3R5cGUgb3AsIG1wbDo6ZmFsc2VfKQorICAgICAgICB7CisgICAgICAgICAgdHlwZWRlZiBmdW5jdG9yX3dyYXBwZXI8RnVuY3RvcixBbGxvY2F0b3I+IGZ1bmN0b3Jfd3JhcHBlcl90eXBlOworICAgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgQWxsb2NhdG9yOjp0ZW1wbGF0ZSByZWJpbmQ8ZnVuY3Rvcl93cmFwcGVyX3R5cGU+OjpvdGhlcgorICAgICAgICAgICAgd3JhcHBlcl9hbGxvY2F0b3JfdHlwZTsKKyAgICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHdyYXBwZXJfYWxsb2NhdG9yX3R5cGU6OnBvaW50ZXIgd3JhcHBlcl9hbGxvY2F0b3JfcG9pbnRlcl90eXBlOworCisgICAgICAgICAgaWYgKG9wID09IGNsb25lX2Z1bmN0b3JfdGFnKSB7CisgICAgICAgICAgICAvLyBDbG9uZSB0aGUgZnVuY3RvcgorICAgICAgICAgICAgLy8gR0NDIDIuOTUuMyBnZXRzIHRoZSBDViBxdWFsaWZpZXJzIHdyb25nIGhlcmUsIHNvIHdlCisgICAgICAgICAgICAvLyBjYW4ndCBkbyB0aGUgc3RhdGljX2Nhc3QgdGhhdCB3ZSBzaG91bGQgZG8uCisgICAgICAgICAgICBjb25zdCBmdW5jdG9yX3dyYXBwZXJfdHlwZSogZiA9CisgICAgICAgICAgICAgIHN0YXRpY19jYXN0PGNvbnN0IGZ1bmN0b3Jfd3JhcHBlcl90eXBlKj4oaW5fYnVmZmVyLm9ial9wdHIpOworICAgICAgICAgICAgd3JhcHBlcl9hbGxvY2F0b3JfdHlwZSB3cmFwcGVyX2FsbG9jYXRvcihzdGF0aWNfY2FzdDxBbGxvY2F0b3IgY29uc3QgJj4oKmYpKTsKKyAgICAgICAgICAgIHdyYXBwZXJfYWxsb2NhdG9yX3BvaW50ZXJfdHlwZSBjb3B5ID0gd3JhcHBlcl9hbGxvY2F0b3IuYWxsb2NhdGUoMSk7CisgICAgICAgICAgICB3cmFwcGVyX2FsbG9jYXRvci5jb25zdHJ1Y3QoY29weSwgKmYpOworCisgICAgICAgICAgICAvLyBHZXQgYmFjayB0byB0aGUgb3JpZ2luYWwgcG9pbnRlciB0eXBlCisgICAgICAgICAgICBmdW5jdG9yX3dyYXBwZXJfdHlwZSogbmV3X2YgPSBzdGF0aWNfY2FzdDxmdW5jdG9yX3dyYXBwZXJfdHlwZSo+KGNvcHkpOworICAgICAgICAgICAgb3V0X2J1ZmZlci5vYmpfcHRyID0gbmV3X2Y7CisgICAgICAgICAgfSBlbHNlIGlmIChvcCA9PSBtb3ZlX2Z1bmN0b3JfdGFnKSB7CisgICAgICAgICAgICBvdXRfYnVmZmVyLm9ial9wdHIgPSBpbl9idWZmZXIub2JqX3B0cjsKKyAgICAgICAgICAgIGluX2J1ZmZlci5vYmpfcHRyID0gMDsKKyAgICAgICAgICB9IGVsc2UgaWYgKG9wID09IGRlc3Ryb3lfZnVuY3Rvcl90YWcpIHsKKyAgICAgICAgICAgIC8qIENhc3QgZnJvbSB0aGUgdm9pZCBwb2ludGVyIHRvIHRoZSBmdW5jdG9yX3dyYXBwZXJfdHlwZSAqLworICAgICAgICAgICAgZnVuY3Rvcl93cmFwcGVyX3R5cGUqIHZpY3RpbSA9CisgICAgICAgICAgICAgIHN0YXRpY19jYXN0PGZ1bmN0b3Jfd3JhcHBlcl90eXBlKj4oaW5fYnVmZmVyLm9ial9wdHIpOworICAgICAgICAgICAgd3JhcHBlcl9hbGxvY2F0b3JfdHlwZSB3cmFwcGVyX2FsbG9jYXRvcihzdGF0aWNfY2FzdDxBbGxvY2F0b3IgY29uc3QgJj4oKnZpY3RpbSkpOworICAgICAgICAgICAgd3JhcHBlcl9hbGxvY2F0b3IuZGVzdHJveSh2aWN0aW0pOworICAgICAgICAgICAgd3JhcHBlcl9hbGxvY2F0b3IuZGVhbGxvY2F0ZSh2aWN0aW0sMSk7CisgICAgICAgICAgICBvdXRfYnVmZmVyLm9ial9wdHIgPSAwOworICAgICAgICAgIH0gZWxzZSBpZiAob3AgPT0gY2hlY2tfZnVuY3Rvcl90eXBlX3RhZykgeworICAgICAgICAgICAgY29uc3QgZGV0YWlsOjpzcF90eXBlaW5mbyYgY2hlY2tfdHlwZSAKKyAgICAgICAgICAgICAgPSAqb3V0X2J1ZmZlci50eXBlLnR5cGU7CisgICAgICAgICAgICBpZiAoQk9PU1RfRlVOQ1RJT05fQ09NUEFSRV9UWVBFX0lEKGNoZWNrX3R5cGUsIEJPT1NUX1NQX1RZUEVJRChGdW5jdG9yKSkpCisgICAgICAgICAgICAgIG91dF9idWZmZXIub2JqX3B0ciA9IGluX2J1ZmZlci5vYmpfcHRyOworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICBvdXRfYnVmZmVyLm9ial9wdHIgPSAwOworICAgICAgICAgIH0gZWxzZSAvKiBvcCA9PSBnZXRfZnVuY3Rvcl90eXBlX3RhZyAqLyB7CisgICAgICAgICAgICBvdXRfYnVmZmVyLnR5cGUudHlwZSA9ICZCT09TVF9TUF9UWVBFSUQoRnVuY3Rvcik7CisgICAgICAgICAgICBvdXRfYnVmZmVyLnR5cGUuY29uc3RfcXVhbGlmaWVkID0gZmFsc2U7CisgICAgICAgICAgICBvdXRfYnVmZmVyLnR5cGUudm9sYXRpbGVfcXVhbGlmaWVkID0gZmFsc2U7CisgICAgICAgICAgfQorICAgICAgICB9CisKKyAgICAgICAgLy8gRm9yIGZ1bmN0aW9uIG9iamVjdHMsIHdlIGRldGVybWluZSB3aGV0aGVyIHRoZSBmdW5jdGlvbgorICAgICAgICAvLyBvYmplY3QgY2FuIHVzZSB0aGUgc21hbGwtb2JqZWN0IG9wdGltaXphdGlvbiBidWZmZXIgb3IKKyAgICAgICAgLy8gd2hldGhlciB3ZSBuZWVkIHRvIGFsbG9jYXRlIGl0IG9uIHRoZSBoZWFwLgorICAgICAgICBzdGF0aWMgaW5saW5lIHZvaWQKKyAgICAgICAgbWFuYWdlcihjb25zdCBmdW5jdGlvbl9idWZmZXImIGluX2J1ZmZlciwgZnVuY3Rpb25fYnVmZmVyJiBvdXRfYnVmZmVyLCAKKyAgICAgICAgICAgICAgICBmdW5jdG9yX21hbmFnZXJfb3BlcmF0aW9uX3R5cGUgb3AsIGZ1bmN0aW9uX29ial90YWcpCisgICAgICAgIHsKKyAgICAgICAgICBtYW5hZ2VyKGluX2J1ZmZlciwgb3V0X2J1ZmZlciwgb3AsCisgICAgICAgICAgICAgICAgICBtcGw6OmJvb2xfPChmdW5jdGlvbl9hbGxvd3Nfc21hbGxfb2JqZWN0X29wdGltaXphdGlvbjxmdW5jdG9yX3R5cGU+Ojp2YWx1ZSk+KCkpOworICAgICAgICB9CisKKyAgICAgIHB1YmxpYzoKKyAgICAgICAgLyogRGlzcGF0Y2ggdG8gYW4gYXBwcm9wcmlhdGUgbWFuYWdlciBiYXNlZCBvbiB3aGV0aGVyIHdlIGhhdmUgYQorICAgICAgICAgICBmdW5jdGlvbiBwb2ludGVyIG9yIGEgZnVuY3Rpb24gb2JqZWN0IHBvaW50ZXIuICovCisgICAgICAgIHN0YXRpYyBpbmxpbmUgdm9pZAorICAgICAgICBtYW5hZ2UoY29uc3QgZnVuY3Rpb25fYnVmZmVyJiBpbl9idWZmZXIsIGZ1bmN0aW9uX2J1ZmZlciYgb3V0X2J1ZmZlciwgCisgICAgICAgICAgICAgICBmdW5jdG9yX21hbmFnZXJfb3BlcmF0aW9uX3R5cGUgb3ApCisgICAgICAgIHsKKyAgICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGdldF9mdW5jdGlvbl90YWc8ZnVuY3Rvcl90eXBlPjo6dHlwZSB0YWdfdHlwZTsKKyAgICAgICAgICBzd2l0Y2ggKG9wKSB7CisgICAgICAgICAgY2FzZSBnZXRfZnVuY3Rvcl90eXBlX3RhZzoKKyAgICAgICAgICAgIG91dF9idWZmZXIudHlwZS50eXBlID0gJkJPT1NUX1NQX1RZUEVJRChmdW5jdG9yX3R5cGUpOworICAgICAgICAgICAgb3V0X2J1ZmZlci50eXBlLmNvbnN0X3F1YWxpZmllZCA9IGZhbHNlOworICAgICAgICAgICAgb3V0X2J1ZmZlci50eXBlLnZvbGF0aWxlX3F1YWxpZmllZCA9IGZhbHNlOworICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIG1hbmFnZXIoaW5fYnVmZmVyLCBvdXRfYnVmZmVyLCBvcCwgdGFnX3R5cGUoKSk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgfQorICAgICAgICB9CisgICAgICB9OworCisgICAgICAvLyBBIHR5cGUgdGhhdCBpcyBvbmx5IHVzZWQgZm9yIGNvbXBhcmlzb25zIGFnYWluc3QgemVybworICAgICAgc3RydWN0IHVzZWxlc3NfY2xlYXJfdHlwZSB7fTsKKworI2lmZGVmIEJPT1NUX05PX1NGSU5BRQorICAgICAgLy8gVGhlc2Ugcm91dGluZXMgcGVyZm9ybSBjb21wYXJpc29ucyBiZXR3ZWVuIGEgQm9vc3QuRnVuY3Rpb24KKyAgICAgIC8vIG9iamVjdCBhbmQgYW4gYXJiaXRyYXJ5IGZ1bmN0aW9uIG9iamVjdCAod2hlbiB0aGUgbGFzdAorICAgICAgLy8gcGFyYW1ldGVyIGlzIG1wbDo6Ym9vbF88ZmFsc2U+KSBvciBhZ2FpbnN0IHplcm8gKHdoZW4gdGhlCisgICAgICAvLyBsYXN0IHBhcmFtZXRlciBpcyBtcGw6OmJvb2xfPHRydWU+KS4gVGhleSBhcmUgb25seSBuZWNlc3NhcnkKKyAgICAgIC8vIGZvciBjb21waWxlcnMgdGhhdCBkb24ndCBzdXBwb3J0IFNGSU5BRS4KKyAgICAgIHRlbXBsYXRlPHR5cGVuYW1lIEZ1bmN0aW9uLCB0eXBlbmFtZSBGdW5jdG9yPgorICAgICAgICBib29sCisgICAgICAgIGNvbXBhcmVfZXF1YWwoY29uc3QgRnVuY3Rpb24mIGYsIGNvbnN0IEZ1bmN0b3ImLCBpbnQsIG1wbDo6Ym9vbF88dHJ1ZT4pCisgICAgICAgIHsgcmV0dXJuIGYuZW1wdHkoKTsgfQorCisgICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBGdW5jdGlvbiwgdHlwZW5hbWUgRnVuY3Rvcj4KKyAgICAgICAgYm9vbAorICAgICAgICBjb21wYXJlX25vdF9lcXVhbChjb25zdCBGdW5jdGlvbiYgZiwgY29uc3QgRnVuY3RvciYsIGludCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgbXBsOjpib29sXzx0cnVlPikKKyAgICAgICAgeyByZXR1cm4gIWYuZW1wdHkoKTsgfQorCisgICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBGdW5jdGlvbiwgdHlwZW5hbWUgRnVuY3Rvcj4KKyAgICAgICAgYm9vbAorICAgICAgICBjb21wYXJlX2VxdWFsKGNvbnN0IEZ1bmN0aW9uJiBmLCBjb25zdCBGdW5jdG9yJiBnLCBsb25nLAorICAgICAgICAgICAgICAgICAgICAgIG1wbDo6Ym9vbF88ZmFsc2U+KQorICAgICAgICB7CisgICAgICAgICAgaWYgKGNvbnN0IEZ1bmN0b3IqIGZwID0gZi50ZW1wbGF0ZSB0YXJnZXQ8RnVuY3Rvcj4oKSkKKyAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbl9lcXVhbCgqZnAsIGcpOworICAgICAgICAgIGVsc2UgcmV0dXJuIGZhbHNlOworICAgICAgICB9CisKKyAgICAgIHRlbXBsYXRlPHR5cGVuYW1lIEZ1bmN0aW9uLCB0eXBlbmFtZSBGdW5jdG9yPgorICAgICAgICBib29sCisgICAgICAgIGNvbXBhcmVfZXF1YWwoY29uc3QgRnVuY3Rpb24mIGYsIGNvbnN0IHJlZmVyZW5jZV93cmFwcGVyPEZ1bmN0b3I+JiBnLAorICAgICAgICAgICAgICAgICAgICAgIGludCwgbXBsOjpib29sXzxmYWxzZT4pCisgICAgICAgIHsKKyAgICAgICAgICBpZiAoY29uc3QgRnVuY3RvciogZnAgPSBmLnRlbXBsYXRlIHRhcmdldDxGdW5jdG9yPigpKQorICAgICAgICAgICAgcmV0dXJuIGZwID09IGcuZ2V0X3BvaW50ZXIoKTsKKyAgICAgICAgICBlbHNlIHJldHVybiBmYWxzZTsKKyAgICAgICAgfQorCisgICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBGdW5jdGlvbiwgdHlwZW5hbWUgRnVuY3Rvcj4KKyAgICAgICAgYm9vbAorICAgICAgICBjb21wYXJlX25vdF9lcXVhbChjb25zdCBGdW5jdGlvbiYgZiwgY29uc3QgRnVuY3RvciYgZywgbG9uZywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgbXBsOjpib29sXzxmYWxzZT4pCisgICAgICAgIHsKKyAgICAgICAgICBpZiAoY29uc3QgRnVuY3RvciogZnAgPSBmLnRlbXBsYXRlIHRhcmdldDxGdW5jdG9yPigpKQorICAgICAgICAgICAgcmV0dXJuICFmdW5jdGlvbl9lcXVhbCgqZnAsIGcpOworICAgICAgICAgIGVsc2UgcmV0dXJuIHRydWU7CisgICAgICAgIH0KKworICAgICAgdGVtcGxhdGU8dHlwZW5hbWUgRnVuY3Rpb24sIHR5cGVuYW1lIEZ1bmN0b3I+CisgICAgICAgIGJvb2wKKyAgICAgICAgY29tcGFyZV9ub3RfZXF1YWwoY29uc3QgRnVuY3Rpb24mIGYsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlZmVyZW5jZV93cmFwcGVyPEZ1bmN0b3I+JiBnLCBpbnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgIG1wbDo6Ym9vbF88ZmFsc2U+KQorICAgICAgICB7CisgICAgICAgICAgaWYgKGNvbnN0IEZ1bmN0b3IqIGZwID0gZi50ZW1wbGF0ZSB0YXJnZXQ8RnVuY3Rvcj4oKSkKKyAgICAgICAgICAgIHJldHVybiBmcCAhPSBnLmdldF9wb2ludGVyKCk7CisgICAgICAgICAgZWxzZSByZXR1cm4gdHJ1ZTsKKyAgICAgICAgfQorI2VuZGlmIC8vIEJPT1NUX05PX1NGSU5BRQorCisgICAgICAvKioKKyAgICAgICAqIFN0b3JlcyB0aGUgIm1hbmFnZXIiIHBvcnRpb24gb2YgdGhlIHZ0YWJsZSBmb3IgYQorICAgICAgICogbmRuYm9vc3Q6OmZ1bmN0aW9uIG9iamVjdC4KKyAgICAgICAqLworICAgICAgc3RydWN0IHZ0YWJsZV9iYXNlCisgICAgICB7CisgICAgICAgIHZvaWQgKCptYW5hZ2VyKShjb25zdCBmdW5jdGlvbl9idWZmZXImIGluX2J1ZmZlciwgCisgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbl9idWZmZXImIG91dF9idWZmZXIsIAorICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rvcl9tYW5hZ2VyX29wZXJhdGlvbl90eXBlIG9wKTsKKyAgICAgIH07CisgICAgfSAvLyBlbmQgbmFtZXNwYWNlIGZ1bmN0aW9uCisgIH0gLy8gZW5kIG5hbWVzcGFjZSBkZXRhaWwKKworLyoqCisgKiBUaGUgZnVuY3Rpb25fYmFzZSBjbGFzcyBjb250YWlucyB0aGUgYmFzaWMgZWxlbWVudHMgbmVlZGVkIGZvciB0aGUKKyAqIGZ1bmN0aW9uMSwgZnVuY3Rpb24yLCBmdW5jdGlvbjMsIGV0Yy4gY2xhc3Nlcy4gSXQgaXMgY29tbW9uIHRvIGFsbAorICogZnVuY3Rpb25zIChhbmQgYXMgc3VjaCBjYW4gYmUgdXNlZCB0byB0ZWxsIGlmIHdlIGhhdmUgb25lIG9mIHRoZQorICogZnVuY3Rpb25OIG9iamVjdHMpLgorICovCitjbGFzcyBmdW5jdGlvbl9iYXNlCit7CitwdWJsaWM6CisgIGZ1bmN0aW9uX2Jhc2UoKSA6IHZ0YWJsZSgwKSB7IH0KKworICAvKiogRGV0ZXJtaW5lIGlmIHRoZSBmdW5jdGlvbiBpcyBlbXB0eSAoaS5lLiwgaGFzIG5vIHRhcmdldCkuICovCisgIGJvb2wgZW1wdHkoKSBjb25zdCB7IHJldHVybiAhdnRhYmxlOyB9CisKKyAgLyoqIFJldHJpZXZlIHRoZSB0eXBlIG9mIHRoZSBzdG9yZWQgZnVuY3Rpb24gb2JqZWN0LCBvciBCT09TVF9TUF9UWVBFSUQodm9pZCkKKyAgICAgIGlmIHRoaXMgaXMgZW1wdHkuICovCisgIGNvbnN0IGRldGFpbDo6c3BfdHlwZWluZm8mIHRhcmdldF90eXBlKCkgY29uc3QKKyAgeworICAgIGlmICghdnRhYmxlKSByZXR1cm4gQk9PU1RfU1BfVFlQRUlEKHZvaWQpOworCisgICAgZGV0YWlsOjpmdW5jdGlvbjo6ZnVuY3Rpb25fYnVmZmVyIHR5cGU7CisgICAgZ2V0X3Z0YWJsZSgpLT5tYW5hZ2VyKGZ1bmN0b3IsIHR5cGUsIGRldGFpbDo6ZnVuY3Rpb246OmdldF9mdW5jdG9yX3R5cGVfdGFnKTsKKyAgICByZXR1cm4gKnR5cGUudHlwZS50eXBlOworICB9CisKKyAgdGVtcGxhdGU8dHlwZW5hbWUgRnVuY3Rvcj4KKyAgICBGdW5jdG9yKiB0YXJnZXQoKQorICAgIHsKKyAgICAgIGlmICghdnRhYmxlKSByZXR1cm4gMDsKKworICAgICAgZGV0YWlsOjpmdW5jdGlvbjo6ZnVuY3Rpb25fYnVmZmVyIHR5cGVfcmVzdWx0OworICAgICAgdHlwZV9yZXN1bHQudHlwZS50eXBlID0gJkJPT1NUX1NQX1RZUEVJRChGdW5jdG9yKTsKKyAgICAgIHR5cGVfcmVzdWx0LnR5cGUuY29uc3RfcXVhbGlmaWVkID0gaXNfY29uc3Q8RnVuY3Rvcj46OnZhbHVlOworICAgICAgdHlwZV9yZXN1bHQudHlwZS52b2xhdGlsZV9xdWFsaWZpZWQgPSBpc192b2xhdGlsZTxGdW5jdG9yPjo6dmFsdWU7CisgICAgICBnZXRfdnRhYmxlKCktPm1hbmFnZXIoZnVuY3RvciwgdHlwZV9yZXN1bHQsIAorICAgICAgICAgICAgICAgICAgICAgIGRldGFpbDo6ZnVuY3Rpb246OmNoZWNrX2Z1bmN0b3JfdHlwZV90YWcpOworICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PEZ1bmN0b3IqPih0eXBlX3Jlc3VsdC5vYmpfcHRyKTsKKyAgICB9CisKKyAgdGVtcGxhdGU8dHlwZW5hbWUgRnVuY3Rvcj4KKyNpZiBkZWZpbmVkKEJPT1NUX01TVkMpICYmIEJPT1NUX1dPUktBUk9VTkQoQk9PU1RfTVNWQywgPCAxMzAwKQorICAgIGNvbnN0IEZ1bmN0b3IqIHRhcmdldCggRnVuY3RvciAqID0gMCApIGNvbnN0CisjZWxzZQorICAgIGNvbnN0IEZ1bmN0b3IqIHRhcmdldCgpIGNvbnN0CisjZW5kaWYKKyAgICB7CisgICAgICBpZiAoIXZ0YWJsZSkgcmV0dXJuIDA7CisKKyAgICAgIGRldGFpbDo6ZnVuY3Rpb246OmZ1bmN0aW9uX2J1ZmZlciB0eXBlX3Jlc3VsdDsKKyAgICAgIHR5cGVfcmVzdWx0LnR5cGUudHlwZSA9ICZCT09TVF9TUF9UWVBFSUQoRnVuY3Rvcik7CisgICAgICB0eXBlX3Jlc3VsdC50eXBlLmNvbnN0X3F1YWxpZmllZCA9IHRydWU7CisgICAgICB0eXBlX3Jlc3VsdC50eXBlLnZvbGF0aWxlX3F1YWxpZmllZCA9IGlzX3ZvbGF0aWxlPEZ1bmN0b3I+Ojp2YWx1ZTsKKyAgICAgIGdldF92dGFibGUoKS0+bWFuYWdlcihmdW5jdG9yLCB0eXBlX3Jlc3VsdCwgCisgICAgICAgICAgICAgICAgICAgICAgZGV0YWlsOjpmdW5jdGlvbjo6Y2hlY2tfZnVuY3Rvcl90eXBlX3RhZyk7CisgICAgICAvLyBHQ0MgMi45NS4zIGdldHMgdGhlIENWIHF1YWxpZmllcnMgd3JvbmcgaGVyZSwgc28gd2UKKyAgICAgIC8vIGNhbid0IGRvIHRoZSBzdGF0aWNfY2FzdCB0aGF0IHdlIHNob3VsZCBkby4KKyAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxjb25zdCBGdW5jdG9yKj4odHlwZV9yZXN1bHQub2JqX3B0cik7CisgICAgfQorCisgIHRlbXBsYXRlPHR5cGVuYW1lIEY+CisgICAgYm9vbCBjb250YWlucyhjb25zdCBGJiBmKSBjb25zdAorICAgIHsKKyNpZiBkZWZpbmVkKEJPT1NUX01TVkMpICYmIEJPT1NUX1dPUktBUk9VTkQoQk9PU1RfTVNWQywgPCAxMzAwKQorICAgICAgaWYgKGNvbnN0IEYqIGZwID0gdGhpcy0+dGFyZ2V0KCAoRiopMCApKQorI2Vsc2UKKyAgICAgIGlmIChjb25zdCBGKiBmcCA9IHRoaXMtPnRlbXBsYXRlIHRhcmdldDxGPigpKQorI2VuZGlmCisgICAgICB7CisgICAgICAgIHJldHVybiBmdW5jdGlvbl9lcXVhbCgqZnAsIGYpOworICAgICAgfSBlbHNlIHsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgfQorICAgIH0KKworI2lmIGRlZmluZWQoX19HTlVDX18pICYmIF9fR05VQ19fID09IDMgJiYgX19HTlVDX01JTk9SX18gPD0gMworICAvLyBHQ0MgMy4zIGFuZCBuZXdlciBjYW5ub3QgY29weSB3aXRoIHRoZSBnbG9iYWwgb3BlcmF0b3I9PSwgZHVlIHRvCisgIC8vIHByb2JsZW1zIHdpdGggaW5zdGFudGlhdGlvbiBvZiBmdW5jdGlvbiByZXR1cm4gdHlwZXMgYmVmb3JlIGl0CisgIC8vIGhhcyBiZWVuIHZlcmlmaWVkIHRoYXQgdGhlIGFyZ3VtZW50IHR5cGVzIG1hdGNoIHVwLgorICB0ZW1wbGF0ZTx0eXBlbmFtZSBGdW5jdG9yPgorICAgIEJPT1NUX0ZVTkNUSU9OX0VOQUJMRV9JRl9OT1RfSU5URUdSQUwoRnVuY3RvciwgYm9vbCkKKyAgICBvcGVyYXRvcj09KEZ1bmN0b3IgZykgY29uc3QKKyAgICB7CisgICAgICBpZiAoY29uc3QgRnVuY3RvciogZnAgPSB0YXJnZXQ8RnVuY3Rvcj4oKSkKKyAgICAgICAgcmV0dXJuIGZ1bmN0aW9uX2VxdWFsKCpmcCwgZyk7CisgICAgICBlbHNlIHJldHVybiBmYWxzZTsKKyAgICB9CisKKyAgdGVtcGxhdGU8dHlwZW5hbWUgRnVuY3Rvcj4KKyAgICBCT09TVF9GVU5DVElPTl9FTkFCTEVfSUZfTk9UX0lOVEVHUkFMKEZ1bmN0b3IsIGJvb2wpCisgICAgb3BlcmF0b3IhPShGdW5jdG9yIGcpIGNvbnN0CisgICAgeworICAgICAgaWYgKGNvbnN0IEZ1bmN0b3IqIGZwID0gdGFyZ2V0PEZ1bmN0b3I+KCkpCisgICAgICAgIHJldHVybiAhZnVuY3Rpb25fZXF1YWwoKmZwLCBnKTsKKyAgICAgIGVsc2UgcmV0dXJuIHRydWU7CisgICAgfQorI2VuZGlmCisKK3B1YmxpYzogLy8gc2hvdWxkIGJlIHByb3RlY3RlZCwgYnV0IEdDQyAyLjk1LjMgd2lsbCBmYWlsIHRvIGFsbG93IGFjY2VzcworICBkZXRhaWw6OmZ1bmN0aW9uOjp2dGFibGVfYmFzZSogZ2V0X3Z0YWJsZSgpIGNvbnN0IHsKKyAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxkZXRhaWw6OmZ1bmN0aW9uOjp2dGFibGVfYmFzZSo+KAorICAgICAgICAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8c3RkOjpzaXplX3Q+KHZ0YWJsZSkgJiB+c3RhdGljX2Nhc3Q8c3RkOjpzaXplX3Q+KDB4MDEpKTsKKyAgfQorCisgIGJvb2wgaGFzX3RyaXZpYWxfY29weV9hbmRfZGVzdHJveSgpIGNvbnN0IHsKKyAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxzdGQ6OnNpemVfdD4odnRhYmxlKSAmIDB4MDE7CisgIH0KKworICBkZXRhaWw6OmZ1bmN0aW9uOjp2dGFibGVfYmFzZSogdnRhYmxlOworICBtdXRhYmxlIGRldGFpbDo6ZnVuY3Rpb246OmZ1bmN0aW9uX2J1ZmZlciBmdW5jdG9yOworfTsKKworLyoqCisgKiBUaGUgYmFkX2Z1bmN0aW9uX2NhbGwgZXhjZXB0aW9uIGNsYXNzIGlzIHRocm93biB3aGVuIGEgbmRuYm9vc3Q6OmZ1bmN0aW9uCisgKiBvYmplY3QgaXMgaW52b2tlZAorICovCitjbGFzcyBiYWRfZnVuY3Rpb25fY2FsbCA6IHB1YmxpYyBzdGQ6OnJ1bnRpbWVfZXJyb3IKK3sKK3B1YmxpYzoKKyAgYmFkX2Z1bmN0aW9uX2NhbGwoKSA6IHN0ZDo6cnVudGltZV9lcnJvcigiY2FsbCB0byBlbXB0eSBuZG5ib29zdDo6ZnVuY3Rpb24iKSB7fQorfTsKKworI2lmbmRlZiBCT09TVF9OT19TRklOQUUKK2lubGluZSBib29sIG9wZXJhdG9yPT0oY29uc3QgZnVuY3Rpb25fYmFzZSYgZiwKKyAgICAgICAgICAgICAgICAgICAgICAgZGV0YWlsOjpmdW5jdGlvbjo6dXNlbGVzc19jbGVhcl90eXBlKikKK3sKKyAgcmV0dXJuIGYuZW1wdHkoKTsKK30KKworaW5saW5lIGJvb2wgb3BlcmF0b3IhPShjb25zdCBmdW5jdGlvbl9iYXNlJiBmLAorICAgICAgICAgICAgICAgICAgICAgICBkZXRhaWw6OmZ1bmN0aW9uOjp1c2VsZXNzX2NsZWFyX3R5cGUqKQoreworICByZXR1cm4gIWYuZW1wdHkoKTsKK30KKworaW5saW5lIGJvb2wgb3BlcmF0b3I9PShkZXRhaWw6OmZ1bmN0aW9uOjp1c2VsZXNzX2NsZWFyX3R5cGUqLAorICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBmdW5jdGlvbl9iYXNlJiBmKQoreworICByZXR1cm4gZi5lbXB0eSgpOworfQorCitpbmxpbmUgYm9vbCBvcGVyYXRvciE9KGRldGFpbDo6ZnVuY3Rpb246OnVzZWxlc3NfY2xlYXJfdHlwZSosCisgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGZ1bmN0aW9uX2Jhc2UmIGYpCit7CisgIHJldHVybiAhZi5lbXB0eSgpOworfQorI2VuZGlmCisKKyNpZmRlZiBCT09TVF9OT19TRklOQUUKKy8vIENvbXBhcmlzb25zIGJldHdlZW4gbmRuYm9vc3Q6OmZ1bmN0aW9uIG9iamVjdHMgYW5kIGFyYml0cmFyeSBmdW5jdGlvbiBvYmplY3RzCit0ZW1wbGF0ZTx0eXBlbmFtZSBGdW5jdG9yPgorICBpbmxpbmUgYm9vbCBvcGVyYXRvcj09KGNvbnN0IGZ1bmN0aW9uX2Jhc2UmIGYsIEZ1bmN0b3IgZykKKyAgeworICAgIHR5cGVkZWYgbXBsOjpib29sXzwoaXNfaW50ZWdyYWw8RnVuY3Rvcj46OnZhbHVlKT4gaW50ZWdyYWw7CisgICAgcmV0dXJuIGRldGFpbDo6ZnVuY3Rpb246OmNvbXBhcmVfZXF1YWwoZiwgZywgMCwgaW50ZWdyYWwoKSk7CisgIH0KKwordGVtcGxhdGU8dHlwZW5hbWUgRnVuY3Rvcj4KKyAgaW5saW5lIGJvb2wgb3BlcmF0b3I9PShGdW5jdG9yIGcsIGNvbnN0IGZ1bmN0aW9uX2Jhc2UmIGYpCisgIHsKKyAgICB0eXBlZGVmIG1wbDo6Ym9vbF88KGlzX2ludGVncmFsPEZ1bmN0b3I+Ojp2YWx1ZSk+IGludGVncmFsOworICAgIHJldHVybiBkZXRhaWw6OmZ1bmN0aW9uOjpjb21wYXJlX2VxdWFsKGYsIGcsIDAsIGludGVncmFsKCkpOworICB9CisKK3RlbXBsYXRlPHR5cGVuYW1lIEZ1bmN0b3I+CisgIGlubGluZSBib29sIG9wZXJhdG9yIT0oY29uc3QgZnVuY3Rpb25fYmFzZSYgZiwgRnVuY3RvciBnKQorICB7CisgICAgdHlwZWRlZiBtcGw6OmJvb2xfPChpc19pbnRlZ3JhbDxGdW5jdG9yPjo6dmFsdWUpPiBpbnRlZ3JhbDsKKyAgICByZXR1cm4gZGV0YWlsOjpmdW5jdGlvbjo6Y29tcGFyZV9ub3RfZXF1YWwoZiwgZywgMCwgaW50ZWdyYWwoKSk7CisgIH0KKwordGVtcGxhdGU8dHlwZW5hbWUgRnVuY3Rvcj4KKyAgaW5saW5lIGJvb2wgb3BlcmF0b3IhPShGdW5jdG9yIGcsIGNvbnN0IGZ1bmN0aW9uX2Jhc2UmIGYpCisgIHsKKyAgICB0eXBlZGVmIG1wbDo6Ym9vbF88KGlzX2ludGVncmFsPEZ1bmN0b3I+Ojp2YWx1ZSk+IGludGVncmFsOworICAgIHJldHVybiBkZXRhaWw6OmZ1bmN0aW9uOjpjb21wYXJlX25vdF9lcXVhbChmLCBnLCAwLCBpbnRlZ3JhbCgpKTsKKyAgfQorI2Vsc2UKKworIyAgaWYgIShkZWZpbmVkKF9fR05VQ19fKSAmJiBfX0dOVUNfXyA9PSAzICYmIF9fR05VQ19NSU5PUl9fIDw9IDMpCisvLyBDb21wYXJpc29ucyBiZXR3ZWVuIG5kbmJvb3N0OjpmdW5jdGlvbiBvYmplY3RzIGFuZCBhcmJpdHJhcnkgZnVuY3Rpb24KKy8vIG9iamVjdHMuIEdDQyAzLjMgYW5kIGJlZm9yZSBoYXMgYW4gb2Jub3hpb3VzIGJ1ZyB0aGF0IHByZXZlbnRzIHRoaXMKKy8vIGZyb20gd29ya2luZy4KK3RlbXBsYXRlPHR5cGVuYW1lIEZ1bmN0b3I+CisgIEJPT1NUX0ZVTkNUSU9OX0VOQUJMRV9JRl9OT1RfSU5URUdSQUwoRnVuY3RvciwgYm9vbCkKKyAgb3BlcmF0b3I9PShjb25zdCBmdW5jdGlvbl9iYXNlJiBmLCBGdW5jdG9yIGcpCisgIHsKKyAgICBpZiAoY29uc3QgRnVuY3RvciogZnAgPSBmLnRlbXBsYXRlIHRhcmdldDxGdW5jdG9yPigpKQorICAgICAgcmV0dXJuIGZ1bmN0aW9uX2VxdWFsKCpmcCwgZyk7CisgICAgZWxzZSByZXR1cm4gZmFsc2U7CisgIH0KKwordGVtcGxhdGU8dHlwZW5hbWUgRnVuY3Rvcj4KKyAgQk9PU1RfRlVOQ1RJT05fRU5BQkxFX0lGX05PVF9JTlRFR1JBTChGdW5jdG9yLCBib29sKQorICBvcGVyYXRvcj09KEZ1bmN0b3IgZywgY29uc3QgZnVuY3Rpb25fYmFzZSYgZikKKyAgeworICAgIGlmIChjb25zdCBGdW5jdG9yKiBmcCA9IGYudGVtcGxhdGUgdGFyZ2V0PEZ1bmN0b3I+KCkpCisgICAgICByZXR1cm4gZnVuY3Rpb25fZXF1YWwoZywgKmZwKTsKKyAgICBlbHNlIHJldHVybiBmYWxzZTsKKyAgfQorCit0ZW1wbGF0ZTx0eXBlbmFtZSBGdW5jdG9yPgorICBCT09TVF9GVU5DVElPTl9FTkFCTEVfSUZfTk9UX0lOVEVHUkFMKEZ1bmN0b3IsIGJvb2wpCisgIG9wZXJhdG9yIT0oY29uc3QgZnVuY3Rpb25fYmFzZSYgZiwgRnVuY3RvciBnKQorICB7CisgICAgaWYgKGNvbnN0IEZ1bmN0b3IqIGZwID0gZi50ZW1wbGF0ZSB0YXJnZXQ8RnVuY3Rvcj4oKSkKKyAgICAgIHJldHVybiAhZnVuY3Rpb25fZXF1YWwoKmZwLCBnKTsKKyAgICBlbHNlIHJldHVybiB0cnVlOworICB9CisKK3RlbXBsYXRlPHR5cGVuYW1lIEZ1bmN0b3I+CisgIEJPT1NUX0ZVTkNUSU9OX0VOQUJMRV9JRl9OT1RfSU5URUdSQUwoRnVuY3RvciwgYm9vbCkKKyAgb3BlcmF0b3IhPShGdW5jdG9yIGcsIGNvbnN0IGZ1bmN0aW9uX2Jhc2UmIGYpCisgIHsKKyAgICBpZiAoY29uc3QgRnVuY3RvciogZnAgPSBmLnRlbXBsYXRlIHRhcmdldDxGdW5jdG9yPigpKQorICAgICAgcmV0dXJuICFmdW5jdGlvbl9lcXVhbChnLCAqZnApOworICAgIGVsc2UgcmV0dXJuIHRydWU7CisgIH0KKyMgIGVuZGlmCisKK3RlbXBsYXRlPHR5cGVuYW1lIEZ1bmN0b3I+CisgIEJPT1NUX0ZVTkNUSU9OX0VOQUJMRV9JRl9OT1RfSU5URUdSQUwoRnVuY3RvciwgYm9vbCkKKyAgb3BlcmF0b3I9PShjb25zdCBmdW5jdGlvbl9iYXNlJiBmLCByZWZlcmVuY2Vfd3JhcHBlcjxGdW5jdG9yPiBnKQorICB7CisgICAgaWYgKGNvbnN0IEZ1bmN0b3IqIGZwID0gZi50ZW1wbGF0ZSB0YXJnZXQ8RnVuY3Rvcj4oKSkKKyAgICAgIHJldHVybiBmcCA9PSBnLmdldF9wb2ludGVyKCk7CisgICAgZWxzZSByZXR1cm4gZmFsc2U7CisgIH0KKwordGVtcGxhdGU8dHlwZW5hbWUgRnVuY3Rvcj4KKyAgQk9PU1RfRlVOQ1RJT05fRU5BQkxFX0lGX05PVF9JTlRFR1JBTChGdW5jdG9yLCBib29sKQorICBvcGVyYXRvcj09KHJlZmVyZW5jZV93cmFwcGVyPEZ1bmN0b3I+IGcsIGNvbnN0IGZ1bmN0aW9uX2Jhc2UmIGYpCisgIHsKKyAgICBpZiAoY29uc3QgRnVuY3RvciogZnAgPSBmLnRlbXBsYXRlIHRhcmdldDxGdW5jdG9yPigpKQorICAgICAgcmV0dXJuIGcuZ2V0X3BvaW50ZXIoKSA9PSBmcDsKKyAgICBlbHNlIHJldHVybiBmYWxzZTsKKyAgfQorCit0ZW1wbGF0ZTx0eXBlbmFtZSBGdW5jdG9yPgorICBCT09TVF9GVU5DVElPTl9FTkFCTEVfSUZfTk9UX0lOVEVHUkFMKEZ1bmN0b3IsIGJvb2wpCisgIG9wZXJhdG9yIT0oY29uc3QgZnVuY3Rpb25fYmFzZSYgZiwgcmVmZXJlbmNlX3dyYXBwZXI8RnVuY3Rvcj4gZykKKyAgeworICAgIGlmIChjb25zdCBGdW5jdG9yKiBmcCA9IGYudGVtcGxhdGUgdGFyZ2V0PEZ1bmN0b3I+KCkpCisgICAgICByZXR1cm4gZnAgIT0gZy5nZXRfcG9pbnRlcigpOworICAgIGVsc2UgcmV0dXJuIHRydWU7CisgIH0KKwordGVtcGxhdGU8dHlwZW5hbWUgRnVuY3Rvcj4KKyAgQk9PU1RfRlVOQ1RJT05fRU5BQkxFX0lGX05PVF9JTlRFR1JBTChGdW5jdG9yLCBib29sKQorICBvcGVyYXRvciE9KHJlZmVyZW5jZV93cmFwcGVyPEZ1bmN0b3I+IGcsIGNvbnN0IGZ1bmN0aW9uX2Jhc2UmIGYpCisgIHsKKyAgICBpZiAoY29uc3QgRnVuY3RvciogZnAgPSBmLnRlbXBsYXRlIHRhcmdldDxGdW5jdG9yPigpKQorICAgICAgcmV0dXJuIGcuZ2V0X3BvaW50ZXIoKSAhPSBmcDsKKyAgICBlbHNlIHJldHVybiB0cnVlOworICB9CisKKyNlbmRpZiAvLyBDb21waWxlciBzdXBwb3J0aW5nIFNGSU5BRQorCituYW1lc3BhY2UgZGV0YWlsIHsKKyAgbmFtZXNwYWNlIGZ1bmN0aW9uIHsKKyAgICBpbmxpbmUgYm9vbCBoYXNfZW1wdHlfdGFyZ2V0KGNvbnN0IGZ1bmN0aW9uX2Jhc2UqIGYpCisgICAgeworICAgICAgcmV0dXJuIGYtPmVtcHR5KCk7CisgICAgfQorCisjaWYgQk9PU1RfV09SS0FST1VORChCT09TVF9NU1ZDLCA8PSAxMzEwKQorICAgIGlubGluZSBib29sIGhhc19lbXB0eV90YXJnZXQoY29uc3Qgdm9pZCopCisgICAgeworICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKyNlbHNlCisgICAgaW5saW5lIGJvb2wgaGFzX2VtcHR5X3RhcmdldCguLi4pCisgICAgeworICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKyNlbmRpZgorICB9IC8vIGVuZCBuYW1lc3BhY2UgZnVuY3Rpb24KK30gLy8gZW5kIG5hbWVzcGFjZSBkZXRhaWwKK30gLy8gZW5kIG5hbWVzcGFjZSBuZG5ib29zdAorCisjdW5kZWYgQk9PU1RfRlVOQ1RJT05fRU5BQkxFX0lGX05PVF9JTlRFR1JBTAorI3VuZGVmIEJPT1NUX0ZVTkNUSU9OX0NPTVBBUkVfVFlQRV9JRAorCisjaWYgZGVmaW5lZChCT09TVF9NU1ZDKQorIyAgIHByYWdtYSB3YXJuaW5nKCBwb3AgKQorI2VuZGlmICAgICAgIAorCisjZW5kaWYgLy8gQk9PU1RfRlVOQ1RJT05fQkFTRV9IRUFERVIKZGlmZiAtLWdpdCBhL25kbmJvb3N0L2Z1bmN0aW9uL2Z1bmN0aW9uX2Z3ZC5ocHAgYi9uZG5ib29zdC9mdW5jdGlvbi9mdW5jdGlvbl9md2QuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjExZGY2ZWIKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9mdW5jdGlvbi9mdW5jdGlvbl9md2QuaHBwCkBAIC0wLDAgKzEsNzAgQEAKKy8vIEJvb3N0LkZ1bmN0aW9uIGxpYnJhcnkKKy8vICBDb3B5cmlnaHQgKEMpIERvdWdsYXMgR3JlZ29yIDIwMDgKKy8vCisvLyAgVXNlLCBtb2RpZmljYXRpb24gYW5kIGRpc3RyaWJ1dGlvbiBpcyBzdWJqZWN0IHRvIHRoZSBCb29zdAorLy8gIFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAgKFNlZSBhY2NvbXBhbnlpbmcgZmlsZQorLy8gIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisvLyBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnCisjaWZuZGVmIEJPT1NUX0ZVTkNUSU9OX0ZXRF9IUFAKKyNkZWZpbmUgQk9PU1RfRlVOQ1RJT05fRldEX0hQUAorI2luY2x1ZGUgPG5kbmJvb3N0L2NvbmZpZy5ocHA+CisKKyNpZiBkZWZpbmVkKF9fc2dpKSAmJiBkZWZpbmVkKF9DT01QSUxFUl9WRVJTSU9OKSAmJiBfQ09NUElMRVJfVkVSU0lPTiA8PSA3MzAgJiYgIWRlZmluZWQoQk9PU1RfU1RSSUNUX0NPTkZJRykKKy8vIFdvcmsgYXJvdW5kIGEgY29tcGlsZXIgYnVnLgorLy8gbmRuYm9vc3Q6OnB5dGhvbjo6b2JqZWN0czo6ZnVuY3Rpb24gaGFzIHRvIGJlIHNlZW4gYnkgdGhlIGNvbXBpbGVyIGJlZm9yZSB0aGUKKy8vIG5kbmJvb3N0OjpmdW5jdGlvbiBjbGFzcyB0ZW1wbGF0ZS4KK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBweXRob24geyBuYW1lc3BhY2Ugb2JqZWN0cyB7CisgIGNsYXNzIGZ1bmN0aW9uOworfX19CisjZW5kaWYKKworI2lmIGRlZmluZWQgKEJPT1NUX05PX1RFTVBMQVRFX1BBUlRJQUxfU1BFQ0lBTElaQVRJT04pICAgICAgICAgICAgICAgICAgICBcCisgfHwgZGVmaW5lZChCT09TVF9CQ0JfUEFSVElBTF9TUEVDSUFMSVpBVElPTl9CVUcpICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyB8fCAhKGRlZmluZWQoQk9PU1RfU1RSSUNUX0NPTkZJRykgfHwgIWRlZmluZWQoX19TVU5QUk9fQ0MpIHx8IF9fU1VOUFJPX0NDID4gMHg1NDApCisjICBkZWZpbmUgQk9PU1RfRlVOQ1RJT05fTk9fRlVOQ1RJT05fVFlQRV9TWU5UQVgKKyNlbmRpZgorCituYW1lc3BhY2UgbmRuYm9vc3QgeworICBjbGFzcyBiYWRfZnVuY3Rpb25fY2FsbDsKKworI2lmICFkZWZpbmVkKEJPT1NUX0ZVTkNUSU9OX05PX0ZVTkNUSU9OX1RZUEVfU1lOVEFYKQorICAvLyBQcmVmZXJyZWQgc3ludGF4CisgIHRlbXBsYXRlPHR5cGVuYW1lIFNpZ25hdHVyZT4gY2xhc3MgZnVuY3Rpb247CisKKyAgdGVtcGxhdGU8dHlwZW5hbWUgU2lnbmF0dXJlPgorICBpbmxpbmUgdm9pZCBzd2FwKGZ1bmN0aW9uPFNpZ25hdHVyZT4mIGYxLCBmdW5jdGlvbjxTaWduYXR1cmU+JiBmMikKKyAgeworICAgIGYxLnN3YXAoZjIpOworICB9CisjZW5kaWYgLy8gaGF2ZSBwYXJ0aWFsIHNwZWNpYWxpemF0aW9uCisKKyAgLy8gUG9ydGFibGUgc3ludGF4CisgIHRlbXBsYXRlPHR5cGVuYW1lIFI+IGNsYXNzIGZ1bmN0aW9uMDsKKyAgdGVtcGxhdGU8dHlwZW5hbWUgUiwgdHlwZW5hbWUgVDE+IGNsYXNzIGZ1bmN0aW9uMTsKKyAgdGVtcGxhdGU8dHlwZW5hbWUgUiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyPiBjbGFzcyBmdW5jdGlvbjI7CisgIHRlbXBsYXRlPHR5cGVuYW1lIFIsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDM+IGNsYXNzIGZ1bmN0aW9uMzsKKyAgdGVtcGxhdGU8dHlwZW5hbWUgUiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQ+IAorICAgIGNsYXNzIGZ1bmN0aW9uNDsKKyAgdGVtcGxhdGU8dHlwZW5hbWUgUiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQsCisgICAgICAgICAgIHR5cGVuYW1lIFQ1PiAKKyAgICBjbGFzcyBmdW5jdGlvbjU7CisgIHRlbXBsYXRlPHR5cGVuYW1lIFIsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0LAorICAgICAgICAgICB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDY+IAorICAgIGNsYXNzIGZ1bmN0aW9uNjsKKyAgdGVtcGxhdGU8dHlwZW5hbWUgUiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQsCisgICAgICAgICAgIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDc+IAorICAgIGNsYXNzIGZ1bmN0aW9uNzsKKyAgdGVtcGxhdGU8dHlwZW5hbWUgUiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQsCisgICAgICAgICAgIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4PiAKKyAgICBjbGFzcyBmdW5jdGlvbjg7CisgIHRlbXBsYXRlPHR5cGVuYW1lIFIsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0LAorICAgICAgICAgICB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDk+IAorICAgIGNsYXNzIGZ1bmN0aW9uOTsKKyAgdGVtcGxhdGU8dHlwZW5hbWUgUiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQsCisgICAgICAgICAgIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOSwKKyAgICAgICAgICAgdHlwZW5hbWUgVDEwPiAKKyAgICBjbGFzcyBmdW5jdGlvbjEwOworfQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL25kbmJvb3N0L2Z1bmN0aW9uL2Z1bmN0aW9uX3RlbXBsYXRlLmhwcCBiL25kbmJvb3N0L2Z1bmN0aW9uL2Z1bmN0aW9uX3RlbXBsYXRlLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MjU2YjczCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvZnVuY3Rpb24vZnVuY3Rpb25fdGVtcGxhdGUuaHBwCkBAIC0wLDAgKzEsMTE4NSBAQAorLy8gQm9vc3QuRnVuY3Rpb24gbGlicmFyeQorCisvLyAgQ29weXJpZ2h0IERvdWdsYXMgR3JlZ29yIDIwMDEtMjAwNgorLy8gIENvcHlyaWdodCBFbWlsIERvdGNoZXZza2kgMjAwNworLy8gIFVzZSwgbW9kaWZpY2F0aW9uIGFuZCBkaXN0cmlidXRpb24gaXMgc3ViamVjdCB0byB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuCisvLyAgKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdAorLy8gIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKworLy8gRm9yIG1vcmUgaW5mb3JtYXRpb24sIHNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZworCisvLyBOb3RlOiB0aGlzIGhlYWRlciBpcyBhIGhlYWRlciB0ZW1wbGF0ZSBhbmQgbXVzdCBOT1QgaGF2ZSBtdWx0aXBsZS1pbmNsdXNpb24KKy8vIHByb3RlY3Rpb24uCisjaW5jbHVkZSA8bmRuYm9vc3QvZnVuY3Rpb24vZGV0YWlsL3Byb2xvZ3VlLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9kZXRhaWwvbm9fZXhjZXB0aW9uc19zdXBwb3J0LmhwcD4KKworI2lmIGRlZmluZWQoQk9PU1RfTVNWQykKKyMgICBwcmFnbWEgd2FybmluZyggcHVzaCApCisjICAgcHJhZ21hIHdhcm5pbmcoIGRpc2FibGUgOiA0MTI3ICkgLy8gImNvbmRpdGlvbmFsIGV4cHJlc3Npb24gaXMgY29uc3RhbnQiCisjZW5kaWYgICAgICAgCisKKyNkZWZpbmUgQk9PU1RfRlVOQ1RJT05fVEVNUExBVEVfUEFSTVMgQk9PU1RfUFBfRU5VTV9QQVJBTVMoQk9PU1RfRlVOQ1RJT05fTlVNX0FSR1MsIHR5cGVuYW1lIFQpCisKKyNkZWZpbmUgQk9PU1RfRlVOQ1RJT05fVEVNUExBVEVfQVJHUyBCT09TVF9QUF9FTlVNX1BBUkFNUyhCT09TVF9GVU5DVElPTl9OVU1fQVJHUywgVCkKKworI2RlZmluZSBCT09TVF9GVU5DVElPTl9QQVJNKEosSSxEKSBCT09TVF9QUF9DQVQoVCxJKSBCT09TVF9QUF9DQVQoYSxJKQorCisjZGVmaW5lIEJPT1NUX0ZVTkNUSU9OX1BBUk1TIEJPT1NUX1BQX0VOVU0oQk9PU1RfRlVOQ1RJT05fTlVNX0FSR1MsQk9PU1RfRlVOQ1RJT05fUEFSTSxCT09TVF9QUF9FTVBUWSkKKworI2RlZmluZSBCT09TVF9GVU5DVElPTl9BUkdTIEJPT1NUX1BQX0VOVU1fUEFSQU1TKEJPT1NUX0ZVTkNUSU9OX05VTV9BUkdTLCBhKQorCisjZGVmaW5lIEJPT1NUX0ZVTkNUSU9OX0FSR19UWVBFKEosSSxEKSBcCisgIHR5cGVkZWYgQk9PU1RfUFBfQ0FUKFQsSSkgQk9PU1RfUFBfQ0FUKEJPT1NUX1BQX0NBVChhcmcsIEJPT1NUX1BQX0lOQyhJKSksX3R5cGUpOworCisjZGVmaW5lIEJPT1NUX0ZVTkNUSU9OX0FSR19UWVBFUyBCT09TVF9QUF9SRVBFQVQoQk9PU1RfRlVOQ1RJT05fTlVNX0FSR1MsQk9PU1RfRlVOQ1RJT05fQVJHX1RZUEUsQk9PU1RfUFBfRU1QVFkpCisKKy8vIENvbW1hIGlmIG5vbnplcm8gbnVtYmVyIG9mIGFyZ3VtZW50cworI2lmIEJPT1NUX0ZVTkNUSU9OX05VTV9BUkdTID09IDAKKyMgIGRlZmluZSBCT09TVF9GVU5DVElPTl9DT01NQQorI2Vsc2UKKyMgIGRlZmluZSBCT09TVF9GVU5DVElPTl9DT01NQSAsCisjZW5kaWYgLy8gQk9PU1RfRlVOQ1RJT05fTlVNX0FSR1MgPiAwCisKKy8vIENsYXNzIG5hbWVzIHVzZWQgaW4gdGhpcyB2ZXJzaW9uIG9mIHRoZSBjb2RlCisjZGVmaW5lIEJPT1NUX0ZVTkNUSU9OX0ZVTkNUSU9OIEJPT1NUX0pPSU4oZnVuY3Rpb24sQk9PU1RfRlVOQ1RJT05fTlVNX0FSR1MpCisjZGVmaW5lIEJPT1NUX0ZVTkNUSU9OX0ZVTkNUSU9OX0lOVk9LRVIgXAorICBCT09TVF9KT0lOKGZ1bmN0aW9uX2ludm9rZXIsQk9PU1RfRlVOQ1RJT05fTlVNX0FSR1MpCisjZGVmaW5lIEJPT1NUX0ZVTkNUSU9OX1ZPSURfRlVOQ1RJT05fSU5WT0tFUiBcCisgIEJPT1NUX0pPSU4odm9pZF9mdW5jdGlvbl9pbnZva2VyLEJPT1NUX0ZVTkNUSU9OX05VTV9BUkdTKQorI2RlZmluZSBCT09TVF9GVU5DVElPTl9GVU5DVElPTl9PQkpfSU5WT0tFUiBcCisgIEJPT1NUX0pPSU4oZnVuY3Rpb25fb2JqX2ludm9rZXIsQk9PU1RfRlVOQ1RJT05fTlVNX0FSR1MpCisjZGVmaW5lIEJPT1NUX0ZVTkNUSU9OX1ZPSURfRlVOQ1RJT05fT0JKX0lOVk9LRVIgXAorICBCT09TVF9KT0lOKHZvaWRfZnVuY3Rpb25fb2JqX2ludm9rZXIsQk9PU1RfRlVOQ1RJT05fTlVNX0FSR1MpCisjZGVmaW5lIEJPT1NUX0ZVTkNUSU9OX0ZVTkNUSU9OX1JFRl9JTlZPS0VSIFwKKyAgQk9PU1RfSk9JTihmdW5jdGlvbl9yZWZfaW52b2tlcixCT09TVF9GVU5DVElPTl9OVU1fQVJHUykKKyNkZWZpbmUgQk9PU1RfRlVOQ1RJT05fVk9JRF9GVU5DVElPTl9SRUZfSU5WT0tFUiBcCisgIEJPT1NUX0pPSU4odm9pZF9mdW5jdGlvbl9yZWZfaW52b2tlcixCT09TVF9GVU5DVElPTl9OVU1fQVJHUykKKyNkZWZpbmUgQk9PU1RfRlVOQ1RJT05fTUVNQkVSX0lOVk9LRVIgXAorICBCT09TVF9KT0lOKGZ1bmN0aW9uX21lbV9pbnZva2VyLEJPT1NUX0ZVTkNUSU9OX05VTV9BUkdTKQorI2RlZmluZSBCT09TVF9GVU5DVElPTl9WT0lEX01FTUJFUl9JTlZPS0VSIFwKKyAgQk9PU1RfSk9JTihmdW5jdGlvbl92b2lkX21lbV9pbnZva2VyLEJPT1NUX0ZVTkNUSU9OX05VTV9BUkdTKQorI2RlZmluZSBCT09TVF9GVU5DVElPTl9HRVRfRlVOQ1RJT05fSU5WT0tFUiBcCisgIEJPT1NUX0pPSU4oZ2V0X2Z1bmN0aW9uX2ludm9rZXIsQk9PU1RfRlVOQ1RJT05fTlVNX0FSR1MpCisjZGVmaW5lIEJPT1NUX0ZVTkNUSU9OX0dFVF9GVU5DVElPTl9PQkpfSU5WT0tFUiBcCisgIEJPT1NUX0pPSU4oZ2V0X2Z1bmN0aW9uX29ial9pbnZva2VyLEJPT1NUX0ZVTkNUSU9OX05VTV9BUkdTKQorI2RlZmluZSBCT09TVF9GVU5DVElPTl9HRVRfRlVOQ1RJT05fUkVGX0lOVk9LRVIgXAorICBCT09TVF9KT0lOKGdldF9mdW5jdGlvbl9yZWZfaW52b2tlcixCT09TVF9GVU5DVElPTl9OVU1fQVJHUykKKyNkZWZpbmUgQk9PU1RfRlVOQ1RJT05fR0VUX01FTUJFUl9JTlZPS0VSIFwKKyAgQk9PU1RfSk9JTihnZXRfbWVtYmVyX2ludm9rZXIsQk9PU1RfRlVOQ1RJT05fTlVNX0FSR1MpCisjZGVmaW5lIEJPT1NUX0ZVTkNUSU9OX0dFVF9JTlZPS0VSIFwKKyAgQk9PU1RfSk9JTihnZXRfaW52b2tlcixCT09TVF9GVU5DVElPTl9OVU1fQVJHUykKKyNkZWZpbmUgQk9PU1RfRlVOQ1RJT05fVlRBQkxFIEJPT1NUX0pPSU4oYmFzaWNfdnRhYmxlLEJPT1NUX0ZVTkNUSU9OX05VTV9BUkdTKQorCisjaWZuZGVmIEJPT1NUX05PX1ZPSURfUkVUVVJOUworIyAgZGVmaW5lIEJPT1NUX0ZVTkNUSU9OX1ZPSURfUkVUVVJOX1RZUEUgdm9pZAorIyAgZGVmaW5lIEJPT1NUX0ZVTkNUSU9OX1JFVFVSTihYKSBYCisjZWxzZQorIyAgZGVmaW5lIEJPT1NUX0ZVTkNUSU9OX1ZPSURfUkVUVVJOX1RZUEUgbmRuYm9vc3Q6OmRldGFpbDo6ZnVuY3Rpb246OnVudXNhYmxlCisjICBkZWZpbmUgQk9PU1RfRlVOQ1RJT05fUkVUVVJOKFgpIFg7IHJldHVybiBCT09TVF9GVU5DVElPTl9WT0lEX1JFVFVSTl9UWVBFICgpCisjZW5kaWYKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsKKyAgbmFtZXNwYWNlIGRldGFpbCB7CisgICAgbmFtZXNwYWNlIGZ1bmN0aW9uIHsKKyAgICAgIHRlbXBsYXRlPAorICAgICAgICB0eXBlbmFtZSBGdW5jdGlvblB0ciwKKyAgICAgICAgdHlwZW5hbWUgUiBCT09TVF9GVU5DVElPTl9DT01NQQorICAgICAgICBCT09TVF9GVU5DVElPTl9URU1QTEFURV9QQVJNUworICAgICAgICA+CisgICAgICBzdHJ1Y3QgQk9PU1RfRlVOQ1RJT05fRlVOQ1RJT05fSU5WT0tFUgorICAgICAgeworICAgICAgICBzdGF0aWMgUiBpbnZva2UoZnVuY3Rpb25fYnVmZmVyJiBmdW5jdGlvbl9wdHIgQk9PU1RfRlVOQ1RJT05fQ09NTUEKKyAgICAgICAgICAgICAgICAgICAgICAgIEJPT1NUX0ZVTkNUSU9OX1BBUk1TKQorICAgICAgICB7CisgICAgICAgICAgRnVuY3Rpb25QdHIgZiA9IHJlaW50ZXJwcmV0X2Nhc3Q8RnVuY3Rpb25QdHI+KGZ1bmN0aW9uX3B0ci5mdW5jX3B0cik7CisgICAgICAgICAgcmV0dXJuIGYoQk9PU1RfRlVOQ1RJT05fQVJHUyk7CisgICAgICAgIH0KKyAgICAgIH07CisKKyAgICAgIHRlbXBsYXRlPAorICAgICAgICB0eXBlbmFtZSBGdW5jdGlvblB0ciwKKyAgICAgICAgdHlwZW5hbWUgUiBCT09TVF9GVU5DVElPTl9DT01NQQorICAgICAgICBCT09TVF9GVU5DVElPTl9URU1QTEFURV9QQVJNUworICAgICAgICA+CisgICAgICBzdHJ1Y3QgQk9PU1RfRlVOQ1RJT05fVk9JRF9GVU5DVElPTl9JTlZPS0VSCisgICAgICB7CisgICAgICAgIHN0YXRpYyBCT09TVF9GVU5DVElPTl9WT0lEX1JFVFVSTl9UWVBFCisgICAgICAgIGludm9rZShmdW5jdGlvbl9idWZmZXImIGZ1bmN0aW9uX3B0ciBCT09TVF9GVU5DVElPTl9DT01NQQorICAgICAgICAgICAgICAgQk9PU1RfRlVOQ1RJT05fUEFSTVMpCisKKyAgICAgICAgeworICAgICAgICAgIEZ1bmN0aW9uUHRyIGYgPSByZWludGVycHJldF9jYXN0PEZ1bmN0aW9uUHRyPihmdW5jdGlvbl9wdHIuZnVuY19wdHIpOworICAgICAgICAgIEJPT1NUX0ZVTkNUSU9OX1JFVFVSTihmKEJPT1NUX0ZVTkNUSU9OX0FSR1MpKTsKKyAgICAgICAgfQorICAgICAgfTsKKworICAgICAgdGVtcGxhdGU8CisgICAgICAgIHR5cGVuYW1lIEZ1bmN0aW9uT2JqLAorICAgICAgICB0eXBlbmFtZSBSIEJPT1NUX0ZVTkNUSU9OX0NPTU1BCisgICAgICAgIEJPT1NUX0ZVTkNUSU9OX1RFTVBMQVRFX1BBUk1TCisgICAgICA+CisgICAgICBzdHJ1Y3QgQk9PU1RfRlVOQ1RJT05fRlVOQ1RJT05fT0JKX0lOVk9LRVIKKyAgICAgIHsKKyAgICAgICAgc3RhdGljIFIgaW52b2tlKGZ1bmN0aW9uX2J1ZmZlciYgZnVuY3Rpb25fb2JqX3B0ciBCT09TVF9GVU5DVElPTl9DT01NQQorICAgICAgICAgICAgICAgICAgICAgICAgQk9PU1RfRlVOQ1RJT05fUEFSTVMpCisKKyAgICAgICAgeworICAgICAgICAgIEZ1bmN0aW9uT2JqKiBmOworICAgICAgICAgIGlmIChmdW5jdGlvbl9hbGxvd3Nfc21hbGxfb2JqZWN0X29wdGltaXphdGlvbjxGdW5jdGlvbk9iaj46OnZhbHVlKQorICAgICAgICAgICAgZiA9IHJlaW50ZXJwcmV0X2Nhc3Q8RnVuY3Rpb25PYmoqPigmZnVuY3Rpb25fb2JqX3B0ci5kYXRhKTsKKyAgICAgICAgICBlbHNlCisgICAgICAgICAgICBmID0gcmVpbnRlcnByZXRfY2FzdDxGdW5jdGlvbk9iaio+KGZ1bmN0aW9uX29ial9wdHIub2JqX3B0cik7CisgICAgICAgICAgcmV0dXJuICgqZikoQk9PU1RfRlVOQ1RJT05fQVJHUyk7CisgICAgICAgIH0KKyAgICAgIH07CisKKyAgICAgIHRlbXBsYXRlPAorICAgICAgICB0eXBlbmFtZSBGdW5jdGlvbk9iaiwKKyAgICAgICAgdHlwZW5hbWUgUiBCT09TVF9GVU5DVElPTl9DT01NQQorICAgICAgICBCT09TVF9GVU5DVElPTl9URU1QTEFURV9QQVJNUworICAgICAgPgorICAgICAgc3RydWN0IEJPT1NUX0ZVTkNUSU9OX1ZPSURfRlVOQ1RJT05fT0JKX0lOVk9LRVIKKyAgICAgIHsKKyAgICAgICAgc3RhdGljIEJPT1NUX0ZVTkNUSU9OX1ZPSURfUkVUVVJOX1RZUEUKKyAgICAgICAgaW52b2tlKGZ1bmN0aW9uX2J1ZmZlciYgZnVuY3Rpb25fb2JqX3B0ciBCT09TVF9GVU5DVElPTl9DT01NQQorICAgICAgICAgICAgICAgQk9PU1RfRlVOQ1RJT05fUEFSTVMpCisKKyAgICAgICAgeworICAgICAgICAgIEZ1bmN0aW9uT2JqKiBmOworICAgICAgICAgIGlmIChmdW5jdGlvbl9hbGxvd3Nfc21hbGxfb2JqZWN0X29wdGltaXphdGlvbjxGdW5jdGlvbk9iaj46OnZhbHVlKQorICAgICAgICAgICAgZiA9IHJlaW50ZXJwcmV0X2Nhc3Q8RnVuY3Rpb25PYmoqPigmZnVuY3Rpb25fb2JqX3B0ci5kYXRhKTsKKyAgICAgICAgICBlbHNlCisgICAgICAgICAgICBmID0gcmVpbnRlcnByZXRfY2FzdDxGdW5jdGlvbk9iaio+KGZ1bmN0aW9uX29ial9wdHIub2JqX3B0cik7CisgICAgICAgICAgQk9PU1RfRlVOQ1RJT05fUkVUVVJOKCgqZikoQk9PU1RfRlVOQ1RJT05fQVJHUykpOworICAgICAgICB9CisgICAgICB9OworCisgICAgICB0ZW1wbGF0ZTwKKyAgICAgICAgdHlwZW5hbWUgRnVuY3Rpb25PYmosCisgICAgICAgIHR5cGVuYW1lIFIgQk9PU1RfRlVOQ1RJT05fQ09NTUEKKyAgICAgICAgQk9PU1RfRlVOQ1RJT05fVEVNUExBVEVfUEFSTVMKKyAgICAgID4KKyAgICAgIHN0cnVjdCBCT09TVF9GVU5DVElPTl9GVU5DVElPTl9SRUZfSU5WT0tFUgorICAgICAgeworICAgICAgICBzdGF0aWMgUiBpbnZva2UoZnVuY3Rpb25fYnVmZmVyJiBmdW5jdGlvbl9vYmpfcHRyIEJPT1NUX0ZVTkNUSU9OX0NPTU1BCisgICAgICAgICAgICAgICAgICAgICAgICBCT09TVF9GVU5DVElPTl9QQVJNUykKKworICAgICAgICB7CisgICAgICAgICAgRnVuY3Rpb25PYmoqIGYgPSAKKyAgICAgICAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8RnVuY3Rpb25PYmoqPihmdW5jdGlvbl9vYmpfcHRyLm9ial9wdHIpOworICAgICAgICAgIHJldHVybiAoKmYpKEJPT1NUX0ZVTkNUSU9OX0FSR1MpOworICAgICAgICB9CisgICAgICB9OworCisgICAgICB0ZW1wbGF0ZTwKKyAgICAgICAgdHlwZW5hbWUgRnVuY3Rpb25PYmosCisgICAgICAgIHR5cGVuYW1lIFIgQk9PU1RfRlVOQ1RJT05fQ09NTUEKKyAgICAgICAgQk9PU1RfRlVOQ1RJT05fVEVNUExBVEVfUEFSTVMKKyAgICAgID4KKyAgICAgIHN0cnVjdCBCT09TVF9GVU5DVElPTl9WT0lEX0ZVTkNUSU9OX1JFRl9JTlZPS0VSCisgICAgICB7CisgICAgICAgIHN0YXRpYyBCT09TVF9GVU5DVElPTl9WT0lEX1JFVFVSTl9UWVBFCisgICAgICAgIGludm9rZShmdW5jdGlvbl9idWZmZXImIGZ1bmN0aW9uX29ial9wdHIgQk9PU1RfRlVOQ1RJT05fQ09NTUEKKyAgICAgICAgICAgICAgIEJPT1NUX0ZVTkNUSU9OX1BBUk1TKQorCisgICAgICAgIHsKKyAgICAgICAgICBGdW5jdGlvbk9iaiogZiA9IAorICAgICAgICAgICAgcmVpbnRlcnByZXRfY2FzdDxGdW5jdGlvbk9iaio+KGZ1bmN0aW9uX29ial9wdHIub2JqX3B0cik7CisgICAgICAgICAgQk9PU1RfRlVOQ1RJT05fUkVUVVJOKCgqZikoQk9PU1RfRlVOQ1RJT05fQVJHUykpOworICAgICAgICB9CisgICAgICB9OworCisjaWYgQk9PU1RfRlVOQ1RJT05fTlVNX0FSR1MgPiAwCisgICAgICAvKiBIYW5kbGUgaW52b2NhdGlvbiBvZiBtZW1iZXIgcG9pbnRlcnMuICovCisgICAgICB0ZW1wbGF0ZTwKKyAgICAgICAgdHlwZW5hbWUgTWVtYmVyUHRyLAorICAgICAgICB0eXBlbmFtZSBSIEJPT1NUX0ZVTkNUSU9OX0NPTU1BCisgICAgICAgIEJPT1NUX0ZVTkNUSU9OX1RFTVBMQVRFX1BBUk1TCisgICAgICA+CisgICAgICBzdHJ1Y3QgQk9PU1RfRlVOQ1RJT05fTUVNQkVSX0lOVk9LRVIKKyAgICAgIHsKKyAgICAgICAgc3RhdGljIFIgaW52b2tlKGZ1bmN0aW9uX2J1ZmZlciYgZnVuY3Rpb25fb2JqX3B0ciBCT09TVF9GVU5DVElPTl9DT01NQQorICAgICAgICAgICAgICAgICAgICAgICAgQk9PU1RfRlVOQ1RJT05fUEFSTVMpCisKKyAgICAgICAgeworICAgICAgICAgIE1lbWJlclB0ciogZiA9IAorICAgICAgICAgICAgcmVpbnRlcnByZXRfY2FzdDxNZW1iZXJQdHIqPigmZnVuY3Rpb25fb2JqX3B0ci5kYXRhKTsKKyAgICAgICAgICByZXR1cm4gbmRuYm9vc3Q6Om1lbV9mbigqZikoQk9PU1RfRlVOQ1RJT05fQVJHUyk7CisgICAgICAgIH0KKyAgICAgIH07CisKKyAgICAgIHRlbXBsYXRlPAorICAgICAgICB0eXBlbmFtZSBNZW1iZXJQdHIsCisgICAgICAgIHR5cGVuYW1lIFIgQk9PU1RfRlVOQ1RJT05fQ09NTUEKKyAgICAgICAgQk9PU1RfRlVOQ1RJT05fVEVNUExBVEVfUEFSTVMKKyAgICAgID4KKyAgICAgIHN0cnVjdCBCT09TVF9GVU5DVElPTl9WT0lEX01FTUJFUl9JTlZPS0VSCisgICAgICB7CisgICAgICAgIHN0YXRpYyBCT09TVF9GVU5DVElPTl9WT0lEX1JFVFVSTl9UWVBFCisgICAgICAgIGludm9rZShmdW5jdGlvbl9idWZmZXImIGZ1bmN0aW9uX29ial9wdHIgQk9PU1RfRlVOQ1RJT05fQ09NTUEKKyAgICAgICAgICAgICAgIEJPT1NUX0ZVTkNUSU9OX1BBUk1TKQorCisgICAgICAgIHsKKyAgICAgICAgICBNZW1iZXJQdHIqIGYgPSAKKyAgICAgICAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8TWVtYmVyUHRyKj4oJmZ1bmN0aW9uX29ial9wdHIuZGF0YSk7CisgICAgICAgICAgQk9PU1RfRlVOQ1RJT05fUkVUVVJOKG5kbmJvb3N0OjptZW1fZm4oKmYpKEJPT1NUX0ZVTkNUSU9OX0FSR1MpKTsKKyAgICAgICAgfQorICAgICAgfTsKKyNlbmRpZgorCisgICAgICB0ZW1wbGF0ZTwKKyAgICAgICAgdHlwZW5hbWUgRnVuY3Rpb25QdHIsCisgICAgICAgIHR5cGVuYW1lIFIgQk9PU1RfRlVOQ1RJT05fQ09NTUEKKyAgICAgICAgQk9PU1RfRlVOQ1RJT05fVEVNUExBVEVfUEFSTVMKKyAgICAgID4KKyAgICAgIHN0cnVjdCBCT09TVF9GVU5DVElPTl9HRVRfRlVOQ1RJT05fSU5WT0tFUgorICAgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6aWZfYzwoaXNfdm9pZDxSPjo6dmFsdWUpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJPT1NUX0ZVTkNUSU9OX1ZPSURfRlVOQ1RJT05fSU5WT0tFUjwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBGdW5jdGlvblB0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBSIEJPT1NUX0ZVTkNUSU9OX0NPTU1BCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgQk9PU1RfRlVOQ1RJT05fVEVNUExBVEVfQVJHUworICAgICAgICAgICAgICAgICAgICAgICAgICA+LAorICAgICAgICAgICAgICAgICAgICAgICAgICBCT09TVF9GVU5DVElPTl9GVU5DVElPTl9JTlZPS0VSPAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZ1bmN0aW9uUHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIFIgQk9PU1RfRlVOQ1RJT05fQ09NTUEKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBCT09TVF9GVU5DVElPTl9URU1QTEFURV9BUkdTCisgICAgICAgICAgICAgICAgICAgICAgICAgID4KKyAgICAgICAgICAgICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworICAgICAgfTsKKworICAgICAgdGVtcGxhdGU8CisgICAgICAgIHR5cGVuYW1lIEZ1bmN0aW9uT2JqLAorICAgICAgICB0eXBlbmFtZSBSIEJPT1NUX0ZVTkNUSU9OX0NPTU1BCisgICAgICAgIEJPT1NUX0ZVTkNUSU9OX1RFTVBMQVRFX1BBUk1TCisgICAgICAgPgorICAgICAgc3RydWN0IEJPT1NUX0ZVTkNUSU9OX0dFVF9GVU5DVElPTl9PQkpfSU5WT0tFUgorICAgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6aWZfYzwoaXNfdm9pZDxSPjo6dmFsdWUpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJPT1NUX0ZVTkNUSU9OX1ZPSURfRlVOQ1RJT05fT0JKX0lOVk9LRVI8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgRnVuY3Rpb25PYmosCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgUiBCT09TVF9GVU5DVElPTl9DT01NQQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJPT1NUX0ZVTkNUSU9OX1RFTVBMQVRFX0FSR1MKKyAgICAgICAgICAgICAgICAgICAgICAgICAgPiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgQk9PU1RfRlVOQ1RJT05fRlVOQ1RJT05fT0JKX0lOVk9LRVI8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgRnVuY3Rpb25PYmosCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgUiBCT09TVF9GVU5DVElPTl9DT01NQQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJPT1NUX0ZVTkNUSU9OX1RFTVBMQVRFX0FSR1MKKyAgICAgICAgICAgICAgICAgICAgICAgICAgPgorICAgICAgICAgICAgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisgICAgICB9OworCisgICAgICB0ZW1wbGF0ZTwKKyAgICAgICAgdHlwZW5hbWUgRnVuY3Rpb25PYmosCisgICAgICAgIHR5cGVuYW1lIFIgQk9PU1RfRlVOQ1RJT05fQ09NTUEKKyAgICAgICAgQk9PU1RfRlVOQ1RJT05fVEVNUExBVEVfUEFSTVMKKyAgICAgICA+CisgICAgICBzdHJ1Y3QgQk9PU1RfRlVOQ1RJT05fR0VUX0ZVTkNUSU9OX1JFRl9JTlZPS0VSCisgICAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjppZl9jPChpc192b2lkPFI+Ojp2YWx1ZSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgQk9PU1RfRlVOQ1RJT05fVk9JRF9GVU5DVElPTl9SRUZfSU5WT0tFUjwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBGdW5jdGlvbk9iaiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBSIEJPT1NUX0ZVTkNUSU9OX0NPTU1BCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgQk9PU1RfRlVOQ1RJT05fVEVNUExBVEVfQVJHUworICAgICAgICAgICAgICAgICAgICAgICAgICA+LAorICAgICAgICAgICAgICAgICAgICAgICAgICBCT09TVF9GVU5DVElPTl9GVU5DVElPTl9SRUZfSU5WT0tFUjwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBGdW5jdGlvbk9iaiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBSIEJPT1NUX0ZVTkNUSU9OX0NPTU1BCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgQk9PU1RfRlVOQ1RJT05fVEVNUExBVEVfQVJHUworICAgICAgICAgICAgICAgICAgICAgICAgICA+CisgICAgICAgICAgICAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKyAgICAgIH07CisKKyNpZiBCT09TVF9GVU5DVElPTl9OVU1fQVJHUyA+IDAKKyAgICAgIC8qIFJldHJpZXZlIHRoZSBhcHByb3ByaWF0ZSBpbnZva2VyIGZvciBhIG1lbWJlciBwb2ludGVyLiAgKi8KKyAgICAgIHRlbXBsYXRlPAorICAgICAgICB0eXBlbmFtZSBNZW1iZXJQdHIsCisgICAgICAgIHR5cGVuYW1lIFIgQk9PU1RfRlVOQ1RJT05fQ09NTUEKKyAgICAgICAgQk9PU1RfRlVOQ1RJT05fVEVNUExBVEVfUEFSTVMKKyAgICAgICA+CisgICAgICBzdHJ1Y3QgQk9PU1RfRlVOQ1RJT05fR0VUX01FTUJFUl9JTlZPS0VSCisgICAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjppZl9jPChpc192b2lkPFI+Ojp2YWx1ZSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgQk9PU1RfRlVOQ1RJT05fVk9JRF9NRU1CRVJfSU5WT0tFUjwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBNZW1iZXJQdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgUiBCT09TVF9GVU5DVElPTl9DT01NQQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJPT1NUX0ZVTkNUSU9OX1RFTVBMQVRFX0FSR1MKKyAgICAgICAgICAgICAgICAgICAgICAgICAgPiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgQk9PU1RfRlVOQ1RJT05fTUVNQkVSX0lOVk9LRVI8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgTWVtYmVyUHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIFIgQk9PU1RfRlVOQ1RJT05fQ09NTUEKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBCT09TVF9GVU5DVElPTl9URU1QTEFURV9BUkdTCisgICAgICAgICAgICAgICAgICAgICAgICAgID4KKyAgICAgICAgICAgICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworICAgICAgfTsKKyNlbmRpZgorCisgICAgICAvKiBHaXZlbiB0aGUgdGFnIHJldHVybmVkIGJ5IGdldF9mdW5jdGlvbl90YWcsIHJldHJpZXZlIHRoZQorICAgICAgICAgYWN0dWFsIGludm9rZXIgdGhhdCB3aWxsIGJlIHVzZWQgZm9yIHRoZSBnaXZlbiBmdW5jdGlvbgorICAgICAgICAgb2JqZWN0LiAKKworICAgICAgICAgRWFjaCBzcGVjaWFsaXphdGlvbiBjb250YWlucyBhbiAiYXBwbHkiIG5lc3RlZCBjbGFzcyB0ZW1wbGF0ZQorICAgICAgICAgdGhhdCBhY2NlcHRzIHRoZSBmdW5jdGlvbiBvYmplY3QsIHJldHVybiB0eXBlLCBmdW5jdGlvbgorICAgICAgICAgYXJndW1lbnQgdHlwZXMsIGFuZCBhbGxvY2F0b3IuIFRoZSByZXN1bHRpbmcgImFwcGx5IiBjbGFzcworICAgICAgICAgY29udGFpbnMgdHdvIHR5cGVkZWZzLCAiaW52b2tlcl90eXBlIiBhbmQgIm1hbmFnZXJfdHlwZSIsCisgICAgICAgICB3aGljaCBjb3JyZXNwb25kIHRvIHRoZSBpbnZva2VyIGFuZCBtYW5hZ2VyIHR5cGVzLiAqLworICAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVGFnPgorICAgICAgc3RydWN0IEJPT1NUX0ZVTkNUSU9OX0dFVF9JTlZPS0VSIHsgfTsKKworICAgICAgLyogUmV0cmlldmUgdGhlIGludm9rZXIgZm9yIGEgZnVuY3Rpb24gcG9pbnRlci4gKi8KKyAgICAgIHRlbXBsYXRlPD4KKyAgICAgIHN0cnVjdCBCT09TVF9GVU5DVElPTl9HRVRfSU5WT0tFUjxmdW5jdGlvbl9wdHJfdGFnPgorICAgICAgeworICAgICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBGdW5jdGlvblB0ciwKKyAgICAgICAgICAgICAgICAgdHlwZW5hbWUgUiBCT09TVF9GVU5DVElPTl9DT01NQSBCT09TVF9GVU5DVElPTl9URU1QTEFURV9QQVJNUz4KKyAgICAgICAgc3RydWN0IGFwcGx5CisgICAgICAgIHsKKyAgICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIEJPT1NUX0ZVTkNUSU9OX0dFVF9GVU5DVElPTl9JTlZPS0VSPAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGdW5jdGlvblB0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUiBCT09TVF9GVU5DVElPTl9DT01NQQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCT09TVF9GVU5DVElPTl9URU1QTEFURV9BUkdTCisgICAgICAgICAgICAgICAgICAgICAgICAgICA+Ojp0eXBlCisgICAgICAgICAgICBpbnZva2VyX3R5cGU7CisKKyAgICAgICAgICB0eXBlZGVmIGZ1bmN0b3JfbWFuYWdlcjxGdW5jdGlvblB0cj4gbWFuYWdlcl90eXBlOworICAgICAgICB9OworCisgICAgICAgIHRlbXBsYXRlPHR5cGVuYW1lIEZ1bmN0aW9uUHRyLAorICAgICAgICAgICAgICAgICB0eXBlbmFtZSBSIEJPT1NUX0ZVTkNUSU9OX0NPTU1BIEJPT1NUX0ZVTkNUSU9OX1RFTVBMQVRFX1BBUk1TLAorICAgICAgICAgICAgICAgICB0eXBlbmFtZSBBbGxvY2F0b3I+CisgICAgICAgIHN0cnVjdCBhcHBseV9hCisgICAgICAgIHsKKyAgICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIEJPT1NUX0ZVTkNUSU9OX0dFVF9GVU5DVElPTl9JTlZPS0VSPAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGdW5jdGlvblB0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUiBCT09TVF9GVU5DVElPTl9DT01NQQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCT09TVF9GVU5DVElPTl9URU1QTEFURV9BUkdTCisgICAgICAgICAgICAgICAgICAgICAgICAgICA+Ojp0eXBlCisgICAgICAgICAgICBpbnZva2VyX3R5cGU7CisKKyAgICAgICAgICB0eXBlZGVmIGZ1bmN0b3JfbWFuYWdlcjxGdW5jdGlvblB0cj4gbWFuYWdlcl90eXBlOworICAgICAgICB9OworICAgICAgfTsKKworI2lmIEJPT1NUX0ZVTkNUSU9OX05VTV9BUkdTID4gMAorICAgICAgLyogUmV0cmlldmUgdGhlIGludm9rZXIgZm9yIGEgbWVtYmVyIHBvaW50ZXIuICovCisgICAgICB0ZW1wbGF0ZTw+CisgICAgICBzdHJ1Y3QgQk9PU1RfRlVOQ1RJT05fR0VUX0lOVk9LRVI8bWVtYmVyX3B0cl90YWc+CisgICAgICB7CisgICAgICAgIHRlbXBsYXRlPHR5cGVuYW1lIE1lbWJlclB0ciwKKyAgICAgICAgICAgICAgICAgdHlwZW5hbWUgUiBCT09TVF9GVU5DVElPTl9DT01NQSBCT09TVF9GVU5DVElPTl9URU1QTEFURV9QQVJNUz4KKyAgICAgICAgc3RydWN0IGFwcGx5CisgICAgICAgIHsKKyAgICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIEJPT1NUX0ZVTkNUSU9OX0dFVF9NRU1CRVJfSU5WT0tFUjwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTWVtYmVyUHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSIEJPT1NUX0ZVTkNUSU9OX0NPTU1BCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJPT1NUX0ZVTkNUSU9OX1RFTVBMQVRFX0FSR1MKKyAgICAgICAgICAgICAgICAgICAgICAgICAgID46OnR5cGUKKyAgICAgICAgICAgIGludm9rZXJfdHlwZTsKKworICAgICAgICAgIHR5cGVkZWYgZnVuY3Rvcl9tYW5hZ2VyPE1lbWJlclB0cj4gbWFuYWdlcl90eXBlOworICAgICAgICB9OworCisgICAgICAgIHRlbXBsYXRlPHR5cGVuYW1lIE1lbWJlclB0ciwKKyAgICAgICAgICAgICAgICAgdHlwZW5hbWUgUiBCT09TVF9GVU5DVElPTl9DT01NQSBCT09TVF9GVU5DVElPTl9URU1QTEFURV9QQVJNUywKKyAgICAgICAgICAgICAgICAgdHlwZW5hbWUgQWxsb2NhdG9yPgorICAgICAgICBzdHJ1Y3QgYXBwbHlfYQorICAgICAgICB7CisgICAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBCT09TVF9GVU5DVElPTl9HRVRfTUVNQkVSX0lOVk9LRVI8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1lbWJlclB0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUiBCT09TVF9GVU5DVElPTl9DT01NQQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCT09TVF9GVU5DVElPTl9URU1QTEFURV9BUkdTCisgICAgICAgICAgICAgICAgICAgICAgICAgICA+Ojp0eXBlCisgICAgICAgICAgICBpbnZva2VyX3R5cGU7CisKKyAgICAgICAgICB0eXBlZGVmIGZ1bmN0b3JfbWFuYWdlcjxNZW1iZXJQdHI+IG1hbmFnZXJfdHlwZTsKKyAgICAgICAgfTsKKyAgICAgIH07CisjZW5kaWYKKworICAgICAgLyogUmV0cmlldmUgdGhlIGludm9rZXIgZm9yIGEgZnVuY3Rpb24gb2JqZWN0LiAqLworICAgICAgdGVtcGxhdGU8PgorICAgICAgc3RydWN0IEJPT1NUX0ZVTkNUSU9OX0dFVF9JTlZPS0VSPGZ1bmN0aW9uX29ial90YWc+CisgICAgICB7CisgICAgICAgIHRlbXBsYXRlPHR5cGVuYW1lIEZ1bmN0aW9uT2JqLAorICAgICAgICAgICAgICAgICB0eXBlbmFtZSBSIEJPT1NUX0ZVTkNUSU9OX0NPTU1BIEJPT1NUX0ZVTkNUSU9OX1RFTVBMQVRFX1BBUk1TPgorICAgICAgICBzdHJ1Y3QgYXBwbHkKKyAgICAgICAgeworICAgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgQk9PU1RfRlVOQ1RJT05fR0VUX0ZVTkNUSU9OX09CSl9JTlZPS0VSPAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGdW5jdGlvbk9iaiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUiBCT09TVF9GVU5DVElPTl9DT01NQQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCT09TVF9GVU5DVElPTl9URU1QTEFURV9BUkdTCisgICAgICAgICAgICAgICAgICAgICAgICAgICA+Ojp0eXBlCisgICAgICAgICAgICBpbnZva2VyX3R5cGU7CisKKyAgICAgICAgICB0eXBlZGVmIGZ1bmN0b3JfbWFuYWdlcjxGdW5jdGlvbk9iaj4gbWFuYWdlcl90eXBlOworICAgICAgICB9OworCisgICAgICAgIHRlbXBsYXRlPHR5cGVuYW1lIEZ1bmN0aW9uT2JqLAorICAgICAgICAgICAgICAgICB0eXBlbmFtZSBSIEJPT1NUX0ZVTkNUSU9OX0NPTU1BIEJPT1NUX0ZVTkNUSU9OX1RFTVBMQVRFX1BBUk1TLAorICAgICAgICAgICAgICAgICB0eXBlbmFtZSBBbGxvY2F0b3I+CisgICAgICAgIHN0cnVjdCBhcHBseV9hCisgICAgICAgIHsKKyAgICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIEJPT1NUX0ZVTkNUSU9OX0dFVF9GVU5DVElPTl9PQkpfSU5WT0tFUjwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRnVuY3Rpb25PYmosCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFIgQk9PU1RfRlVOQ1RJT05fQ09NTUEKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQk9PU1RfRlVOQ1RJT05fVEVNUExBVEVfQVJHUworICAgICAgICAgICAgICAgICAgICAgICAgICAgPjo6dHlwZQorICAgICAgICAgICAgaW52b2tlcl90eXBlOworCisgICAgICAgICAgdHlwZWRlZiBmdW5jdG9yX21hbmFnZXJfYTxGdW5jdGlvbk9iaiwgQWxsb2NhdG9yPiBtYW5hZ2VyX3R5cGU7CisgICAgICAgIH07CisgICAgICB9OworCisgICAgICAvKiBSZXRyaWV2ZSB0aGUgaW52b2tlciBmb3IgYSByZWZlcmVuY2UgdG8gYSBmdW5jdGlvbiBvYmplY3QuICovCisgICAgICB0ZW1wbGF0ZTw+CisgICAgICBzdHJ1Y3QgQk9PU1RfRlVOQ1RJT05fR0VUX0lOVk9LRVI8ZnVuY3Rpb25fb2JqX3JlZl90YWc+CisgICAgICB7CisgICAgICAgIHRlbXBsYXRlPHR5cGVuYW1lIFJlZldyYXBwZXIsCisgICAgICAgICAgICAgICAgIHR5cGVuYW1lIFIgQk9PU1RfRlVOQ1RJT05fQ09NTUEgQk9PU1RfRlVOQ1RJT05fVEVNUExBVEVfUEFSTVM+CisgICAgICAgIHN0cnVjdCBhcHBseQorICAgICAgICB7CisgICAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBCT09TVF9GVU5DVElPTl9HRVRfRlVOQ1RJT05fUkVGX0lOVk9LRVI8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGVuYW1lIFJlZldyYXBwZXI6OnR5cGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFIgQk9PU1RfRlVOQ1RJT05fQ09NTUEKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQk9PU1RfRlVOQ1RJT05fVEVNUExBVEVfQVJHUworICAgICAgICAgICAgICAgICAgICAgICAgICAgPjo6dHlwZQorICAgICAgICAgICAgaW52b2tlcl90eXBlOworCisgICAgICAgICAgdHlwZWRlZiByZWZlcmVuY2VfbWFuYWdlcjx0eXBlbmFtZSBSZWZXcmFwcGVyOjp0eXBlPiBtYW5hZ2VyX3R5cGU7CisgICAgICAgIH07CisKKyAgICAgICAgdGVtcGxhdGU8dHlwZW5hbWUgUmVmV3JhcHBlciwKKyAgICAgICAgICAgICAgICAgdHlwZW5hbWUgUiBCT09TVF9GVU5DVElPTl9DT01NQSBCT09TVF9GVU5DVElPTl9URU1QTEFURV9QQVJNUywKKyAgICAgICAgICAgICAgICAgdHlwZW5hbWUgQWxsb2NhdG9yPgorICAgICAgICBzdHJ1Y3QgYXBwbHlfYQorICAgICAgICB7CisgICAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBCT09TVF9GVU5DVElPTl9HRVRfRlVOQ1RJT05fUkVGX0lOVk9LRVI8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGVuYW1lIFJlZldyYXBwZXI6OnR5cGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFIgQk9PU1RfRlVOQ1RJT05fQ09NTUEKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQk9PU1RfRlVOQ1RJT05fVEVNUExBVEVfQVJHUworICAgICAgICAgICAgICAgICAgICAgICAgICAgPjo6dHlwZQorICAgICAgICAgICAgaW52b2tlcl90eXBlOworCisgICAgICAgICAgdHlwZWRlZiByZWZlcmVuY2VfbWFuYWdlcjx0eXBlbmFtZSBSZWZXcmFwcGVyOjp0eXBlPiBtYW5hZ2VyX3R5cGU7CisgICAgICAgIH07CisgICAgICB9OworCisKKyAgICAgIC8qKgorICAgICAgICogdnRhYmxlIGZvciBhIHNwZWNpZmljIG5kbmJvb3N0OjpmdW5jdGlvbiBpbnN0YW5jZS4gVGhpcworICAgICAgICogc3RydWN0dXJlIG11c3QgYmUgYW4gYWdncmVnYXRlIHNvIHRoYXQgd2UgY2FuIHVzZSBzdGF0aWMKKyAgICAgICAqIGluaXRpYWxpemF0aW9uIGluIG5kbmJvb3N0OjpmdW5jdGlvbidzIGFzc2lnbl90byBhbmQgYXNzaWduX3RvX2EKKyAgICAgICAqIG1lbWJlcnMuIEl0IHRoZXJlZm9yZSBjYW5ub3QgaGF2ZSBhbnkgY29uc3RydWN0b3JzLAorICAgICAgICogZGVzdHJ1Y3RvcnMsIGJhc2UgY2xhc3NlcywgZXRjLgorICAgICAgICovCisgICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBSIEJPT1NUX0ZVTkNUSU9OX0NPTU1BIEJPT1NUX0ZVTkNUSU9OX1RFTVBMQVRFX1BBUk1TPgorICAgICAgc3RydWN0IEJPT1NUX0ZVTkNUSU9OX1ZUQUJMRQorICAgICAgeworI2lmbmRlZiBCT09TVF9OT19WT0lEX1JFVFVSTlMKKyAgICAgICAgdHlwZWRlZiBSICAgICAgICAgcmVzdWx0X3R5cGU7CisjZWxzZQorICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGZ1bmN0aW9uX3JldHVybl90eXBlPFI+Ojp0eXBlIHJlc3VsdF90eXBlOworI2VuZGlmIC8vIEJPT1NUX05PX1ZPSURfUkVUVVJOUworCisgICAgICAgIHR5cGVkZWYgcmVzdWx0X3R5cGUgKCppbnZva2VyX3R5cGUpKGZ1bmN0aW9uX2J1ZmZlciYKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQk9PU1RfRlVOQ1RJT05fQ09NTUEKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQk9PU1RfRlVOQ1RJT05fVEVNUExBVEVfQVJHUyk7CisKKyAgICAgICAgdGVtcGxhdGU8dHlwZW5hbWUgRj4KKyAgICAgICAgYm9vbCBhc3NpZ25fdG8oRiBmLCBmdW5jdGlvbl9idWZmZXImIGZ1bmN0b3IpIGNvbnN0CisgICAgICAgIHsKKyAgICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGdldF9mdW5jdGlvbl90YWc8Rj46OnR5cGUgdGFnOworICAgICAgICAgIHJldHVybiBhc3NpZ25fdG8oZiwgZnVuY3RvciwgdGFnKCkpOworICAgICAgICB9CisgICAgICAgIHRlbXBsYXRlPHR5cGVuYW1lIEYsdHlwZW5hbWUgQWxsb2NhdG9yPgorICAgICAgICBib29sIGFzc2lnbl90b19hKEYgZiwgZnVuY3Rpb25fYnVmZmVyJiBmdW5jdG9yLCBBbGxvY2F0b3IgYSkgY29uc3QKKyAgICAgICAgeworICAgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgZ2V0X2Z1bmN0aW9uX3RhZzxGPjo6dHlwZSB0YWc7CisgICAgICAgICAgcmV0dXJuIGFzc2lnbl90b19hKGYsIGZ1bmN0b3IsIGEsIHRhZygpKTsKKyAgICAgICAgfQorCisgICAgICAgIHZvaWQgY2xlYXIoZnVuY3Rpb25fYnVmZmVyJiBmdW5jdG9yKSBjb25zdAorICAgICAgICB7CisgICAgICAgICAgaWYgKGJhc2UubWFuYWdlcikKKyAgICAgICAgICAgIGJhc2UubWFuYWdlcihmdW5jdG9yLCBmdW5jdG9yLCBkZXN0cm95X2Z1bmN0b3JfdGFnKTsKKyAgICAgICAgfQorCisgICAgICBwcml2YXRlOgorICAgICAgICAvLyBGdW5jdGlvbiBwb2ludGVycworICAgICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBGdW5jdGlvblB0cj4KKyAgICAgICAgYm9vbCAKKyAgICAgICAgYXNzaWduX3RvKEZ1bmN0aW9uUHRyIGYsIGZ1bmN0aW9uX2J1ZmZlciYgZnVuY3RvciwgZnVuY3Rpb25fcHRyX3RhZykgY29uc3QKKyAgICAgICAgeworICAgICAgICAgIHRoaXMtPmNsZWFyKGZ1bmN0b3IpOworICAgICAgICAgIGlmIChmKSB7CisgICAgICAgICAgICAvLyBzaG91bGQgYmUgYSByZWludGVycHJldCBjYXN0LCBidXQgc29tZSBjb21waWxlcnMgaW5zaXN0CisgICAgICAgICAgICAvLyBvbiBnaXZpbmcgY3YtcXVhbGlmaWVycyB0byBmcmVlIGZ1bmN0aW9ucworICAgICAgICAgICAgZnVuY3Rvci5mdW5jX3B0ciA9IHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCAoKikoKT4oZik7CisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBGdW5jdGlvblB0cix0eXBlbmFtZSBBbGxvY2F0b3I+CisgICAgICAgIGJvb2wgCisgICAgICAgIGFzc2lnbl90b19hKEZ1bmN0aW9uUHRyIGYsIGZ1bmN0aW9uX2J1ZmZlciYgZnVuY3RvciwgQWxsb2NhdG9yLCBmdW5jdGlvbl9wdHJfdGFnKSBjb25zdAorICAgICAgICB7CisgICAgICAgICAgcmV0dXJuIGFzc2lnbl90byhmLGZ1bmN0b3IsZnVuY3Rpb25fcHRyX3RhZygpKTsKKyAgICAgICAgfQorCisgICAgICAgIC8vIE1lbWJlciBwb2ludGVycworI2lmIEJPT1NUX0ZVTkNUSU9OX05VTV9BUkdTID4gMAorICAgICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBNZW1iZXJQdHI+CisgICAgICAgIGJvb2wgYXNzaWduX3RvKE1lbWJlclB0ciBmLCBmdW5jdGlvbl9idWZmZXImIGZ1bmN0b3IsIG1lbWJlcl9wdHJfdGFnKSBjb25zdAorICAgICAgICB7CisgICAgICAgICAgLy8gRFBHIFRCRDogQWRkIGV4cGxpY2l0IHN1cHBvcnQgZm9yIG1lbWJlciBmdW5jdGlvbgorICAgICAgICAgIC8vIG9iamVjdHMsIHNvIHdlIGludm9rZSB0aHJvdWdoIG1lbV9mbigpIGJ1dCB3ZSByZXRhaW4gdGhlCisgICAgICAgICAgLy8gcmlnaHQgdGFyZ2V0X3R5cGUoKSB2YWx1ZXMuCisgICAgICAgICAgaWYgKGYpIHsKKyAgICAgICAgICAgIHRoaXMtPmFzc2lnbl90byhuZG5ib29zdDo6bWVtX2ZuKGYpLCBmdW5jdG9yKTsKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIHRlbXBsYXRlPHR5cGVuYW1lIE1lbWJlclB0cix0eXBlbmFtZSBBbGxvY2F0b3I+CisgICAgICAgIGJvb2wgYXNzaWduX3RvX2EoTWVtYmVyUHRyIGYsIGZ1bmN0aW9uX2J1ZmZlciYgZnVuY3RvciwgQWxsb2NhdG9yIGEsIG1lbWJlcl9wdHJfdGFnKSBjb25zdAorICAgICAgICB7CisgICAgICAgICAgLy8gRFBHIFRCRDogQWRkIGV4cGxpY2l0IHN1cHBvcnQgZm9yIG1lbWJlciBmdW5jdGlvbgorICAgICAgICAgIC8vIG9iamVjdHMsIHNvIHdlIGludm9rZSB0aHJvdWdoIG1lbV9mbigpIGJ1dCB3ZSByZXRhaW4gdGhlCisgICAgICAgICAgLy8gcmlnaHQgdGFyZ2V0X3R5cGUoKSB2YWx1ZXMuCisgICAgICAgICAgaWYgKGYpIHsKKyAgICAgICAgICAgIHRoaXMtPmFzc2lnbl90b19hKG5kbmJvb3N0OjptZW1fZm4oZiksIGZ1bmN0b3IsIGEpOworICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgICB9CisgICAgICAgIH0KKyNlbmRpZiAvLyBCT09TVF9GVU5DVElPTl9OVU1fQVJHUyA+IDAKKworICAgICAgICAvLyBGdW5jdGlvbiBvYmplY3RzCisgICAgICAgIC8vIEFzc2lnbiB0byBhIGZ1bmN0aW9uIG9iamVjdCB1c2luZyB0aGUgc21hbGwgb2JqZWN0IG9wdGltaXphdGlvbgorICAgICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBGdW5jdGlvbk9iaj4KKyAgICAgICAgdm9pZCAKKyAgICAgICAgYXNzaWduX2Z1bmN0b3IoRnVuY3Rpb25PYmogZiwgZnVuY3Rpb25fYnVmZmVyJiBmdW5jdG9yLCBtcGw6OnRydWVfKSBjb25zdAorICAgICAgICB7CisgICAgICAgICAgbmV3IChyZWludGVycHJldF9jYXN0PHZvaWQqPigmZnVuY3Rvci5kYXRhKSkgRnVuY3Rpb25PYmooZik7CisgICAgICAgIH0KKyAgICAgICAgdGVtcGxhdGU8dHlwZW5hbWUgRnVuY3Rpb25PYmosdHlwZW5hbWUgQWxsb2NhdG9yPgorICAgICAgICB2b2lkIAorICAgICAgICBhc3NpZ25fZnVuY3Rvcl9hKEZ1bmN0aW9uT2JqIGYsIGZ1bmN0aW9uX2J1ZmZlciYgZnVuY3RvciwgQWxsb2NhdG9yLCBtcGw6OnRydWVfKSBjb25zdAorICAgICAgICB7CisgICAgICAgICAgYXNzaWduX2Z1bmN0b3IoZixmdW5jdG9yLG1wbDo6dHJ1ZV8oKSk7CisgICAgICAgIH0KKworICAgICAgICAvLyBBc3NpZ24gdG8gYSBmdW5jdGlvbiBvYmplY3QgYWxsb2NhdGVkIG9uIHRoZSBoZWFwLgorICAgICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBGdW5jdGlvbk9iaj4KKyAgICAgICAgdm9pZCAKKyAgICAgICAgYXNzaWduX2Z1bmN0b3IoRnVuY3Rpb25PYmogZiwgZnVuY3Rpb25fYnVmZmVyJiBmdW5jdG9yLCBtcGw6OmZhbHNlXykgY29uc3QKKyAgICAgICAgeworICAgICAgICAgIGZ1bmN0b3Iub2JqX3B0ciA9IG5ldyBGdW5jdGlvbk9iaihmKTsKKyAgICAgICAgfQorICAgICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBGdW5jdGlvbk9iaix0eXBlbmFtZSBBbGxvY2F0b3I+CisgICAgICAgIHZvaWQgCisgICAgICAgIGFzc2lnbl9mdW5jdG9yX2EoRnVuY3Rpb25PYmogZiwgZnVuY3Rpb25fYnVmZmVyJiBmdW5jdG9yLCBBbGxvY2F0b3IgYSwgbXBsOjpmYWxzZV8pIGNvbnN0CisgICAgICAgIHsKKyAgICAgICAgICB0eXBlZGVmIGZ1bmN0b3Jfd3JhcHBlcjxGdW5jdGlvbk9iaixBbGxvY2F0b3I+IGZ1bmN0b3Jfd3JhcHBlcl90eXBlOworICAgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgQWxsb2NhdG9yOjp0ZW1wbGF0ZSByZWJpbmQ8ZnVuY3Rvcl93cmFwcGVyX3R5cGU+OjpvdGhlcgorICAgICAgICAgICAgd3JhcHBlcl9hbGxvY2F0b3JfdHlwZTsKKyAgICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHdyYXBwZXJfYWxsb2NhdG9yX3R5cGU6OnBvaW50ZXIgd3JhcHBlcl9hbGxvY2F0b3JfcG9pbnRlcl90eXBlOworICAgICAgICAgIHdyYXBwZXJfYWxsb2NhdG9yX3R5cGUgd3JhcHBlcl9hbGxvY2F0b3IoYSk7CisgICAgICAgICAgd3JhcHBlcl9hbGxvY2F0b3JfcG9pbnRlcl90eXBlIGNvcHkgPSB3cmFwcGVyX2FsbG9jYXRvci5hbGxvY2F0ZSgxKTsKKyAgICAgICAgICB3cmFwcGVyX2FsbG9jYXRvci5jb25zdHJ1Y3QoY29weSwgZnVuY3Rvcl93cmFwcGVyX3R5cGUoZixhKSk7CisgICAgICAgICAgZnVuY3Rvcl93cmFwcGVyX3R5cGUqIG5ld19mID0gc3RhdGljX2Nhc3Q8ZnVuY3Rvcl93cmFwcGVyX3R5cGUqPihjb3B5KTsKKyAgICAgICAgICBmdW5jdG9yLm9ial9wdHIgPSBuZXdfZjsKKyAgICAgICAgfQorCisgICAgICAgIHRlbXBsYXRlPHR5cGVuYW1lIEZ1bmN0aW9uT2JqPgorICAgICAgICBib29sIAorICAgICAgICBhc3NpZ25fdG8oRnVuY3Rpb25PYmogZiwgZnVuY3Rpb25fYnVmZmVyJiBmdW5jdG9yLCBmdW5jdGlvbl9vYmpfdGFnKSBjb25zdAorICAgICAgICB7CisgICAgICAgICAgaWYgKCFuZG5ib29zdDo6ZGV0YWlsOjpmdW5jdGlvbjo6aGFzX2VtcHR5X3RhcmdldChuZG5ib29zdDo6YWRkcmVzc29mKGYpKSkgeworICAgICAgICAgICAgYXNzaWduX2Z1bmN0b3IoZiwgZnVuY3RvciwgCisgICAgICAgICAgICAgICAgICAgICAgICAgICBtcGw6OmJvb2xfPChmdW5jdGlvbl9hbGxvd3Nfc21hbGxfb2JqZWN0X29wdGltaXphdGlvbjxGdW5jdGlvbk9iaj46OnZhbHVlKT4oKSk7CisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBGdW5jdGlvbk9iaix0eXBlbmFtZSBBbGxvY2F0b3I+CisgICAgICAgIGJvb2wgCisgICAgICAgIGFzc2lnbl90b19hKEZ1bmN0aW9uT2JqIGYsIGZ1bmN0aW9uX2J1ZmZlciYgZnVuY3RvciwgQWxsb2NhdG9yIGEsIGZ1bmN0aW9uX29ial90YWcpIGNvbnN0CisgICAgICAgIHsKKyAgICAgICAgICBpZiAoIW5kbmJvb3N0OjpkZXRhaWw6OmZ1bmN0aW9uOjpoYXNfZW1wdHlfdGFyZ2V0KG5kbmJvb3N0OjphZGRyZXNzb2YoZikpKSB7CisgICAgICAgICAgICBhc3NpZ25fZnVuY3Rvcl9hKGYsIGZ1bmN0b3IsIGEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBtcGw6OmJvb2xfPChmdW5jdGlvbl9hbGxvd3Nfc21hbGxfb2JqZWN0X29wdGltaXphdGlvbjxGdW5jdGlvbk9iaj46OnZhbHVlKT4oKSk7CisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAgIH0KKyAgICAgICAgfQorCisgICAgICAgIC8vIFJlZmVyZW5jZSB0byBhIGZ1bmN0aW9uIG9iamVjdAorICAgICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBGdW5jdGlvbk9iaj4KKyAgICAgICAgYm9vbCAKKyAgICAgICAgYXNzaWduX3RvKGNvbnN0IHJlZmVyZW5jZV93cmFwcGVyPEZ1bmN0aW9uT2JqPiYgZiwgCisgICAgICAgICAgICAgICAgICBmdW5jdGlvbl9idWZmZXImIGZ1bmN0b3IsIGZ1bmN0aW9uX29ial9yZWZfdGFnKSBjb25zdAorICAgICAgICB7CisgICAgICAgICAgZnVuY3Rvci5vYmpfcmVmLm9ial9wdHIgPSAodm9pZCAqKShmLmdldF9wb2ludGVyKCkpOworICAgICAgICAgIGZ1bmN0b3Iub2JqX3JlZi5pc19jb25zdF9xdWFsaWZpZWQgPSBpc19jb25zdDxGdW5jdGlvbk9iaj46OnZhbHVlOworICAgICAgICAgIGZ1bmN0b3Iub2JqX3JlZi5pc192b2xhdGlsZV9xdWFsaWZpZWQgPSBpc192b2xhdGlsZTxGdW5jdGlvbk9iaj46OnZhbHVlOworICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICB9CisgICAgICAgIHRlbXBsYXRlPHR5cGVuYW1lIEZ1bmN0aW9uT2JqLHR5cGVuYW1lIEFsbG9jYXRvcj4KKyAgICAgICAgYm9vbCAKKyAgICAgICAgYXNzaWduX3RvX2EoY29uc3QgcmVmZXJlbmNlX3dyYXBwZXI8RnVuY3Rpb25PYmo+JiBmLCAKKyAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uX2J1ZmZlciYgZnVuY3RvciwgQWxsb2NhdG9yLCBmdW5jdGlvbl9vYmpfcmVmX3RhZykgY29uc3QKKyAgICAgICAgeworICAgICAgICAgIHJldHVybiBhc3NpZ25fdG8oZixmdW5jdG9yLGZ1bmN0aW9uX29ial9yZWZfdGFnKCkpOworICAgICAgICB9CisKKyAgICAgIHB1YmxpYzoKKyAgICAgICAgdnRhYmxlX2Jhc2UgYmFzZTsKKyAgICAgICAgaW52b2tlcl90eXBlIGludm9rZXI7CisgICAgICB9OworICAgIH0gLy8gZW5kIG5hbWVzcGFjZSBmdW5jdGlvbgorICB9IC8vIGVuZCBuYW1lc3BhY2UgZGV0YWlsCisKKyAgdGVtcGxhdGU8CisgICAgdHlwZW5hbWUgUiBCT09TVF9GVU5DVElPTl9DT01NQQorICAgIEJPT1NUX0ZVTkNUSU9OX1RFTVBMQVRFX1BBUk1TCisgID4KKyAgY2xhc3MgQk9PU1RfRlVOQ1RJT05fRlVOQ1RJT04gOiBwdWJsaWMgZnVuY3Rpb25fYmFzZQorCisjaWYgQk9PU1RfRlVOQ1RJT05fTlVNX0FSR1MgPT0gMQorCisgICAgLCBwdWJsaWMgc3RkOjp1bmFyeV9mdW5jdGlvbjxUMCxSPgorCisjZWxpZiBCT09TVF9GVU5DVElPTl9OVU1fQVJHUyA9PSAyCisKKyAgICAsIHB1YmxpYyBzdGQ6OmJpbmFyeV9mdW5jdGlvbjxUMCxUMSxSPgorCisjZW5kaWYKKworICB7CisgIHB1YmxpYzoKKyNpZm5kZWYgQk9PU1RfTk9fVk9JRF9SRVRVUk5TCisgICAgdHlwZWRlZiBSICAgICAgICAgcmVzdWx0X3R5cGU7CisjZWxzZQorICAgIHR5cGVkZWYgIHR5cGVuYW1lIG5kbmJvb3N0OjpkZXRhaWw6OmZ1bmN0aW9uOjpmdW5jdGlvbl9yZXR1cm5fdHlwZTxSPjo6dHlwZQorICAgICAgcmVzdWx0X3R5cGU7CisjZW5kaWYgLy8gQk9PU1RfTk9fVk9JRF9SRVRVUk5TCisKKyAgcHJpdmF0ZToKKyAgICB0eXBlZGVmIG5kbmJvb3N0OjpkZXRhaWw6OmZ1bmN0aW9uOjpCT09TVF9GVU5DVElPTl9WVEFCTEU8CisgICAgICAgICAgICAgIFIgQk9PU1RfRlVOQ1RJT05fQ09NTUEgQk9PU1RfRlVOQ1RJT05fVEVNUExBVEVfQVJHUz4KKyAgICAgIHZ0YWJsZV90eXBlOworCisgICAgdnRhYmxlX3R5cGUqIGdldF92dGFibGUoKSBjb25zdCB7CisgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDx2dGFibGVfdHlwZSo+KAorICAgICAgICAgICAgICAgcmVpbnRlcnByZXRfY2FzdDxzdGQ6OnNpemVfdD4odnRhYmxlKSAmIH5zdGF0aWNfY2FzdDxzdGQ6OnNpemVfdD4oMHgwMSkpOworICAgIH0KKworICAgIHN0cnVjdCBjbGVhcl90eXBlIHt9OworCisgIHB1YmxpYzoKKyAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCBhcmdzID0gQk9PU1RfRlVOQ1RJT05fTlVNX0FSR1MpOworCisgICAgLy8gYWRkIHNpZ25hdHVyZSBmb3IgbmRuYm9vc3Q6OmxhbWJkYQorICAgIHRlbXBsYXRlPHR5cGVuYW1lIEFyZ3M+CisgICAgc3RydWN0IHNpZworICAgIHsKKyAgICAgIHR5cGVkZWYgcmVzdWx0X3R5cGUgdHlwZTsKKyAgICB9OworCisjaWYgQk9PU1RfRlVOQ1RJT05fTlVNX0FSR1MgPT0gMQorICAgIHR5cGVkZWYgVDAgYXJndW1lbnRfdHlwZTsKKyNlbGlmIEJPT1NUX0ZVTkNUSU9OX05VTV9BUkdTID09IDIKKyAgICB0eXBlZGVmIFQwIGZpcnN0X2FyZ3VtZW50X3R5cGU7CisgICAgdHlwZWRlZiBUMSBzZWNvbmRfYXJndW1lbnRfdHlwZTsKKyNlbmRpZgorCisgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgYXJpdHkgPSBCT09TVF9GVU5DVElPTl9OVU1fQVJHUyk7CisgICAgQk9PU1RfRlVOQ1RJT05fQVJHX1RZUEVTCisKKyAgICB0eXBlZGVmIEJPT1NUX0ZVTkNUSU9OX0ZVTkNUSU9OIHNlbGZfdHlwZTsKKworICAgIEJPT1NUX0ZVTkNUSU9OX0ZVTkNUSU9OKCkgOiBmdW5jdGlvbl9iYXNlKCkgeyB9CisKKyAgICAvLyBNU1ZDIGNob2tlcyBpZiB0aGUgZm9sbG93aW5nIHR3byBjb25zdHJ1Y3RvcnMgYXJlIGNvbGxhcHNlZCBpbnRvCisgICAgLy8gb25lIHdpdGggYSBkZWZhdWx0IHBhcmFtZXRlci4KKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBGdW5jdG9yPgorICAgIEJPT1NUX0ZVTkNUSU9OX0ZVTkNUSU9OKEZ1bmN0b3IgQk9PU1RfRlVOQ1RJT05fVEFSR0VUX0ZJWChjb25zdCAmKSBmCisjaWZuZGVmIEJPT1NUX05PX1NGSU5BRQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICx0eXBlbmFtZSBlbmFibGVfaWZfYzwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAobmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2Vfbm90PAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoaXNfaW50ZWdyYWw8RnVuY3Rvcj46OnZhbHVlKT46OnZhbHVlKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQ+Ojp0eXBlID0gMAorI2VuZGlmIC8vIEJPT1NUX05PX1NGSU5BRQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICkgOgorICAgICAgZnVuY3Rpb25fYmFzZSgpCisgICAgeworICAgICAgdGhpcy0+YXNzaWduX3RvKGYpOworICAgIH0KKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBGdW5jdG9yLHR5cGVuYW1lIEFsbG9jYXRvcj4KKyAgICBCT09TVF9GVU5DVElPTl9GVU5DVElPTihGdW5jdG9yIEJPT1NUX0ZVTkNUSU9OX1RBUkdFVF9GSVgoY29uc3QgJikgZiwgQWxsb2NhdG9yIGEKKyNpZm5kZWYgQk9PU1RfTk9fU0ZJTkFFCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgLHR5cGVuYW1lIGVuYWJsZV9pZl9jPAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIChuZG5ib29zdDo6dHlwZV90cmFpdHM6OmljZV9ub3Q8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChpc19pbnRlZ3JhbDxGdW5jdG9yPjo6dmFsdWUpPjo6dmFsdWUpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludD46OnR5cGUgPSAwCisjZW5kaWYgLy8gQk9PU1RfTk9fU0ZJTkFFCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSA6CisgICAgICBmdW5jdGlvbl9iYXNlKCkKKyAgICB7CisgICAgICB0aGlzLT5hc3NpZ25fdG9fYShmLGEpOworICAgIH0KKworI2lmbmRlZiBCT09TVF9OT19TRklOQUUKKyAgICBCT09TVF9GVU5DVElPTl9GVU5DVElPTihjbGVhcl90eXBlKikgOiBmdW5jdGlvbl9iYXNlKCkgeyB9CisjZWxzZQorICAgIEJPT1NUX0ZVTkNUSU9OX0ZVTkNUSU9OKGludCB6ZXJvKSA6IGZ1bmN0aW9uX2Jhc2UoKQorICAgIHsKKyAgICAgIEJPT1NUX0FTU0VSVCh6ZXJvID09IDApOworICAgIH0KKyNlbmRpZgorCisgICAgQk9PU1RfRlVOQ1RJT05fRlVOQ1RJT04oY29uc3QgQk9PU1RfRlVOQ1RJT05fRlVOQ1RJT04mIGYpIDogZnVuY3Rpb25fYmFzZSgpCisgICAgeworICAgICAgdGhpcy0+YXNzaWduX3RvX293bihmKTsKKyAgICB9CisgICAgCisjaWZuZGVmIEJPT1NUX05PX0NYWDExX1JWQUxVRV9SRUZFUkVOQ0VTCisgICAgQk9PU1RfRlVOQ1RJT05fRlVOQ1RJT04oQk9PU1RfRlVOQ1RJT05fRlVOQ1RJT04mJiBmKSA6IGZ1bmN0aW9uX2Jhc2UoKQorICAgIHsKKyAgICAgIHRoaXMtPm1vdmVfYXNzaWduKGYpOworICAgIH0KKyNlbmRpZgorICAgIAorICAgIH5CT09TVF9GVU5DVElPTl9GVU5DVElPTigpIHsgY2xlYXIoKTsgfQorCisgICAgcmVzdWx0X3R5cGUgb3BlcmF0b3IoKShCT09TVF9GVU5DVElPTl9QQVJNUykgY29uc3QKKyAgICB7CisgICAgICBpZiAodGhpcy0+ZW1wdHkoKSkKKyAgICAgICAgbmRuYm9vc3Q6OnRocm93X2V4Y2VwdGlvbihiYWRfZnVuY3Rpb25fY2FsbCgpKTsKKworICAgICAgcmV0dXJuIGdldF92dGFibGUoKS0+aW52b2tlcgorICAgICAgICAgICAgICAgKHRoaXMtPmZ1bmN0b3IgQk9PU1RfRlVOQ1RJT05fQ09NTUEgQk9PU1RfRlVOQ1RJT05fQVJHUyk7CisgICAgfQorCisgICAgLy8gVGhlIGRpc3RpbmN0aW9uIGJldHdlZW4gd2hlbiB0byB1c2UgQk9PU1RfRlVOQ1RJT05fRlVOQ1RJT04gYW5kCisgICAgLy8gd2hlbiB0byB1c2Ugc2VsZl90eXBlIGlzIG9ibm94aW91cy4gTVNWQyBjYW5ub3QgaGFuZGxlIHNlbGZfdHlwZSBhcworICAgIC8vIHRoZSByZXR1cm4gdHlwZSBvZiB0aGVzZSBhc3NpZ25tZW50IG9wZXJhdG9ycywgYnV0IEJvcmxhbmQgQysrIGNhbm5vdAorICAgIC8vIGhhbmRsZSBCT09TVF9GVU5DVElPTl9GVU5DVElPTiBhcyB0aGUgdHlwZSBvZiB0aGUgdGVtcG9yYXJ5IHRvCisgICAgLy8gY29uc3RydWN0LgorICAgIHRlbXBsYXRlPHR5cGVuYW1lIEZ1bmN0b3I+CisjaWZuZGVmIEJPT1NUX05PX1NGSU5BRQorICAgIHR5cGVuYW1lIGVuYWJsZV9pZl9jPAorICAgICAgICAgICAgICAgKG5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6aWNlX25vdDwKKyAgICAgICAgICAgICAgICAgKGlzX2ludGVncmFsPEZ1bmN0b3I+Ojp2YWx1ZSk+Ojp2YWx1ZSksCisgICAgICAgICAgICAgICBCT09TVF9GVU5DVElPTl9GVU5DVElPTiY+Ojp0eXBlCisjZWxzZQorICAgIEJPT1NUX0ZVTkNUSU9OX0ZVTkNUSU9OJgorI2VuZGlmCisgICAgb3BlcmF0b3I9KEZ1bmN0b3IgQk9PU1RfRlVOQ1RJT05fVEFSR0VUX0ZJWChjb25zdCAmKSBmKQorICAgIHsKKyAgICAgIHRoaXMtPmNsZWFyKCk7CisgICAgICBCT09TVF9UUlkgIHsKKyAgICAgICAgdGhpcy0+YXNzaWduX3RvKGYpOworICAgICAgfSBCT09TVF9DQVRDSCAoLi4uKSB7CisgICAgICAgIHZ0YWJsZSA9IDA7CisgICAgICAgIEJPT1NUX1JFVEhST1c7CisgICAgICB9CisgICAgICBCT09TVF9DQVRDSF9FTkQKKyAgICAgIHJldHVybiAqdGhpczsKKyAgICB9CisgICAgdGVtcGxhdGU8dHlwZW5hbWUgRnVuY3Rvcix0eXBlbmFtZSBBbGxvY2F0b3I+CisgICAgdm9pZCBhc3NpZ24oRnVuY3RvciBCT09TVF9GVU5DVElPTl9UQVJHRVRfRklYKGNvbnN0ICYpIGYsIEFsbG9jYXRvciBhKQorICAgIHsKKyAgICAgIHRoaXMtPmNsZWFyKCk7CisgICAgICBCT09TVF9UUll7CisgICAgICAgIHRoaXMtPmFzc2lnbl90b19hKGYsYSk7CisgICAgICB9IEJPT1NUX0NBVENIICguLi4pIHsKKyAgICAgICAgdnRhYmxlID0gMDsKKyAgICAgICAgQk9PU1RfUkVUSFJPVzsKKyAgICAgIH0KKyAgICAgIEJPT1NUX0NBVENIX0VORAorICAgIH0KKworI2lmbmRlZiBCT09TVF9OT19TRklOQUUKKyAgICBCT09TVF9GVU5DVElPTl9GVU5DVElPTiYgb3BlcmF0b3I9KGNsZWFyX3R5cGUqKQorICAgIHsKKyAgICAgIHRoaXMtPmNsZWFyKCk7CisgICAgICByZXR1cm4gKnRoaXM7CisgICAgfQorI2Vsc2UKKyAgICBCT09TVF9GVU5DVElPTl9GVU5DVElPTiYgb3BlcmF0b3I9KGludCB6ZXJvKQorICAgIHsKKyAgICAgIEJPT1NUX0FTU0VSVCh6ZXJvID09IDApOworICAgICAgdGhpcy0+Y2xlYXIoKTsKKyAgICAgIHJldHVybiAqdGhpczsKKyAgICB9CisjZW5kaWYKKworICAgIC8vIEFzc2lnbm1lbnQgZnJvbSBhbm90aGVyIEJPT1NUX0ZVTkNUSU9OX0ZVTkNUSU9OCisgICAgQk9PU1RfRlVOQ1RJT05fRlVOQ1RJT04mIG9wZXJhdG9yPShjb25zdCBCT09TVF9GVU5DVElPTl9GVU5DVElPTiYgZikKKyAgICB7CisgICAgICBpZiAoJmYgPT0gdGhpcykKKyAgICAgICAgcmV0dXJuICp0aGlzOworCisgICAgICB0aGlzLT5jbGVhcigpOworICAgICAgQk9PU1RfVFJZIHsKKyAgICAgICAgdGhpcy0+YXNzaWduX3RvX293bihmKTsKKyAgICAgIH0gQk9PU1RfQ0FUQ0ggKC4uLikgeworICAgICAgICB2dGFibGUgPSAwOworICAgICAgICBCT09TVF9SRVRIUk9XOworICAgICAgfQorICAgICAgQk9PU1RfQ0FUQ0hfRU5ECisgICAgICByZXR1cm4gKnRoaXM7CisgICAgfQorICAgIAorI2lmbmRlZiBCT09TVF9OT19DWFgxMV9SVkFMVUVfUkVGRVJFTkNFUworICAgIC8vIE1vdmUgYXNzaWdubWVudCBmcm9tIGFub3RoZXIgQk9PU1RfRlVOQ1RJT05fRlVOQ1RJT04KKyAgICBCT09TVF9GVU5DVElPTl9GVU5DVElPTiYgb3BlcmF0b3I9KEJPT1NUX0ZVTkNUSU9OX0ZVTkNUSU9OJiYgZikKKyAgICB7CisgICAgICAKKyAgICAgIGlmICgmZiA9PSB0aGlzKQorICAgICAgICByZXR1cm4gKnRoaXM7CisKKyAgICAgIHRoaXMtPmNsZWFyKCk7CisgICAgICBCT09TVF9UUlkgeworICAgICAgICB0aGlzLT5tb3ZlX2Fzc2lnbihmKTsKKyAgICAgIH0gQk9PU1RfQ0FUQ0ggKC4uLikgeworICAgICAgICB2dGFibGUgPSAwOworICAgICAgICBCT09TVF9SRVRIUk9XOworICAgICAgfQorICAgICAgQk9PU1RfQ0FUQ0hfRU5ECisgICAgICByZXR1cm4gKnRoaXM7CisgICAgfQorI2VuZGlmCisKKyAgICB2b2lkIHN3YXAoQk9PU1RfRlVOQ1RJT05fRlVOQ1RJT04mIG90aGVyKQorICAgIHsKKyAgICAgIGlmICgmb3RoZXIgPT0gdGhpcykKKyAgICAgICAgcmV0dXJuOworCisgICAgICBCT09TVF9GVU5DVElPTl9GVU5DVElPTiB0bXA7CisgICAgICB0bXAubW92ZV9hc3NpZ24oKnRoaXMpOworICAgICAgdGhpcy0+bW92ZV9hc3NpZ24ob3RoZXIpOworICAgICAgb3RoZXIubW92ZV9hc3NpZ24odG1wKTsKKyAgICB9CisKKyAgICAvLyBDbGVhciBvdXQgYSB0YXJnZXQsIGlmIHRoZXJlIGlzIG9uZQorICAgIHZvaWQgY2xlYXIoKQorICAgIHsKKyAgICAgIGlmICh2dGFibGUpIHsKKyAgICAgICAgaWYgKCF0aGlzLT5oYXNfdHJpdmlhbF9jb3B5X2FuZF9kZXN0cm95KCkpCisgICAgICAgICAgZ2V0X3Z0YWJsZSgpLT5jbGVhcih0aGlzLT5mdW5jdG9yKTsKKyAgICAgICAgdnRhYmxlID0gMDsKKyAgICAgIH0KKyAgICB9CisKKyNpZiAoZGVmaW5lZCBfX1NVTlBST19DQykgJiYgKF9fU1VOUFJPX0NDIDw9IDB4NTMwKSAmJiAhKGRlZmluZWQgQk9PU1RfTk9fQ09NUElMRVJfQ09ORklHKQorICAgIC8vIFN1biBDKysgNS4zIGNhbid0IGhhbmRsZSB0aGUgc2FmZV9ib29sIGlkaW9tLCBzbyBkb24ndCB1c2UgaXQKKyAgICBvcGVyYXRvciBib29sICgpIGNvbnN0IHsgcmV0dXJuICF0aGlzLT5lbXB0eSgpOyB9CisjZWxzZQorICBwcml2YXRlOgorICAgIHN0cnVjdCBkdW1teSB7CisgICAgICB2b2lkIG5vbm51bGwoKSB7fQorICAgIH07CisKKyAgICB0eXBlZGVmIHZvaWQgKGR1bW15Ojoqc2FmZV9ib29sKSgpOworCisgIHB1YmxpYzoKKyAgICBvcGVyYXRvciBzYWZlX2Jvb2wgKCkgY29uc3QKKyAgICAgIHsgcmV0dXJuICh0aGlzLT5lbXB0eSgpKT8gMCA6ICZkdW1teTo6bm9ubnVsbDsgfQorCisgICAgYm9vbCBvcGVyYXRvciEoKSBjb25zdAorICAgICAgeyByZXR1cm4gdGhpcy0+ZW1wdHkoKTsgfQorI2VuZGlmCisKKyAgcHJpdmF0ZToKKyAgICB2b2lkIGFzc2lnbl90b19vd24oY29uc3QgQk9PU1RfRlVOQ1RJT05fRlVOQ1RJT04mIGYpCisgICAgeworICAgICAgaWYgKCFmLmVtcHR5KCkpIHsKKyAgICAgICAgdGhpcy0+dnRhYmxlID0gZi52dGFibGU7CisgICAgICAgIGlmICh0aGlzLT5oYXNfdHJpdmlhbF9jb3B5X2FuZF9kZXN0cm95KCkpCisgICAgICAgICAgdGhpcy0+ZnVuY3RvciA9IGYuZnVuY3RvcjsKKyAgICAgICAgZWxzZQorICAgICAgICAgIGdldF92dGFibGUoKS0+YmFzZS5tYW5hZ2VyKGYuZnVuY3RvciwgdGhpcy0+ZnVuY3RvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZG5ib29zdDo6ZGV0YWlsOjpmdW5jdGlvbjo6Y2xvbmVfZnVuY3Rvcl90YWcpOworICAgICAgfQorICAgIH0KKworICAgIHRlbXBsYXRlPHR5cGVuYW1lIEZ1bmN0b3I+CisgICAgdm9pZCBhc3NpZ25fdG8oRnVuY3RvciBmKQorICAgIHsKKyAgICAgIHVzaW5nIGRldGFpbDo6ZnVuY3Rpb246OnZ0YWJsZV9iYXNlOworCisgICAgICB0eXBlZGVmIHR5cGVuYW1lIGRldGFpbDo6ZnVuY3Rpb246OmdldF9mdW5jdGlvbl90YWc8RnVuY3Rvcj46OnR5cGUgdGFnOworICAgICAgdHlwZWRlZiBkZXRhaWw6OmZ1bmN0aW9uOjpCT09TVF9GVU5DVElPTl9HRVRfSU5WT0tFUjx0YWc+IGdldF9pbnZva2VyOworICAgICAgdHlwZWRlZiB0eXBlbmFtZSBnZXRfaW52b2tlcjo6CisgICAgICAgICAgICAgICAgICAgICAgICAgdGVtcGxhdGUgYXBwbHk8RnVuY3RvciwgUiBCT09TVF9GVU5DVElPTl9DT01NQSAKKyAgICAgICAgICAgICAgICAgICAgICAgIEJPT1NUX0ZVTkNUSU9OX1RFTVBMQVRFX0FSR1M+CisgICAgICAgIGhhbmRsZXJfdHlwZTsKKyAgICAgIAorICAgICAgdHlwZWRlZiB0eXBlbmFtZSBoYW5kbGVyX3R5cGU6Omludm9rZXJfdHlwZSBpbnZva2VyX3R5cGU7CisgICAgICB0eXBlZGVmIHR5cGVuYW1lIGhhbmRsZXJfdHlwZTo6bWFuYWdlcl90eXBlIG1hbmFnZXJfdHlwZTsKKworICAgICAgLy8gTm90ZTogaXQgaXMgZXh0cmVtZWx5IGltcG9ydGFudCB0aGF0IHRoaXMgaW5pdGlhbGl6YXRpb24gdXNlCisgICAgICAvLyBzdGF0aWMgaW5pdGlhbGl6YXRpb24uIE90aGVyd2lzZSwgd2Ugd2lsbCBoYXZlIGEgcmFjZQorICAgICAgLy8gY29uZGl0aW9uIGhlcmUgaW4gbXVsdGktdGhyZWFkZWQgY29kZS4gU2VlCisgICAgICAvLyBodHRwOi8vdGhyZWFkLmdtYW5lLm9yZy9nbWFuZS5jb21wLmxpYi5ib29zdC5kZXZlbC8xNjQ5MDIvLgorICAgICAgc3RhdGljIGNvbnN0IHZ0YWJsZV90eXBlIHN0b3JlZF92dGFibGUgPSAKKyAgICAgICAgeyB7ICZtYW5hZ2VyX3R5cGU6Om1hbmFnZSB9LCAmaW52b2tlcl90eXBlOjppbnZva2UgfTsKKworICAgICAgaWYgKHN0b3JlZF92dGFibGUuYXNzaWduX3RvKGYsIGZ1bmN0b3IpKSB7CisgICAgICAgIHN0ZDo6c2l6ZV90IHZhbHVlID0gcmVpbnRlcnByZXRfY2FzdDxzdGQ6OnNpemVfdD4oJnN0b3JlZF92dGFibGUuYmFzZSk7CisgICAgICAgIGlmIChuZG5ib29zdDo6aGFzX3RyaXZpYWxfY29weV9jb25zdHJ1Y3RvcjxGdW5jdG9yPjo6dmFsdWUgJiYKKyAgICAgICAgICAgIG5kbmJvb3N0OjpoYXNfdHJpdmlhbF9kZXN0cnVjdG9yPEZ1bmN0b3I+Ojp2YWx1ZSAmJgorICAgICAgICAgICAgZGV0YWlsOjpmdW5jdGlvbjo6ZnVuY3Rpb25fYWxsb3dzX3NtYWxsX29iamVjdF9vcHRpbWl6YXRpb248RnVuY3Rvcj46OnZhbHVlKQorICAgICAgICAgIHZhbHVlIHw9IHN0YXRpY19jYXN0PHNpemVfdD4oMHgwMSk7CisgICAgICAgIHZ0YWJsZSA9IHJlaW50ZXJwcmV0X2Nhc3Q8ZGV0YWlsOjpmdW5jdGlvbjo6dnRhYmxlX2Jhc2UgKj4odmFsdWUpOworICAgICAgfSBlbHNlIAorICAgICAgICB2dGFibGUgPSAwOworICAgIH0KKworICAgIHRlbXBsYXRlPHR5cGVuYW1lIEZ1bmN0b3IsdHlwZW5hbWUgQWxsb2NhdG9yPgorICAgIHZvaWQgYXNzaWduX3RvX2EoRnVuY3RvciBmLEFsbG9jYXRvciBhKQorICAgIHsKKyAgICAgIHVzaW5nIGRldGFpbDo6ZnVuY3Rpb246OnZ0YWJsZV9iYXNlOworCisgICAgICB0eXBlZGVmIHR5cGVuYW1lIGRldGFpbDo6ZnVuY3Rpb246OmdldF9mdW5jdGlvbl90YWc8RnVuY3Rvcj46OnR5cGUgdGFnOworICAgICAgdHlwZWRlZiBkZXRhaWw6OmZ1bmN0aW9uOjpCT09TVF9GVU5DVElPTl9HRVRfSU5WT0tFUjx0YWc+IGdldF9pbnZva2VyOworICAgICAgdHlwZWRlZiB0eXBlbmFtZSBnZXRfaW52b2tlcjo6CisgICAgICAgICAgICAgICAgICAgICAgICAgdGVtcGxhdGUgYXBwbHlfYTxGdW5jdG9yLCBSIEJPT1NUX0ZVTkNUSU9OX0NPTU1BIAorICAgICAgICAgICAgICAgICAgICAgICAgIEJPT1NUX0ZVTkNUSU9OX1RFTVBMQVRFX0FSR1MsCisgICAgICAgICAgICAgICAgICAgICAgICAgQWxsb2NhdG9yPgorICAgICAgICBoYW5kbGVyX3R5cGU7CisgICAgICAKKyAgICAgIHR5cGVkZWYgdHlwZW5hbWUgaGFuZGxlcl90eXBlOjppbnZva2VyX3R5cGUgaW52b2tlcl90eXBlOworICAgICAgdHlwZWRlZiB0eXBlbmFtZSBoYW5kbGVyX3R5cGU6Om1hbmFnZXJfdHlwZSBtYW5hZ2VyX3R5cGU7CisKKyAgICAgIC8vIE5vdGU6IGl0IGlzIGV4dHJlbWVseSBpbXBvcnRhbnQgdGhhdCB0aGlzIGluaXRpYWxpemF0aW9uIHVzZQorICAgICAgLy8gc3RhdGljIGluaXRpYWxpemF0aW9uLiBPdGhlcndpc2UsIHdlIHdpbGwgaGF2ZSBhIHJhY2UKKyAgICAgIC8vIGNvbmRpdGlvbiBoZXJlIGluIG11bHRpLXRocmVhZGVkIGNvZGUuIFNlZQorICAgICAgLy8gaHR0cDovL3RocmVhZC5nbWFuZS5vcmcvZ21hbmUuY29tcC5saWIuYm9vc3QuZGV2ZWwvMTY0OTAyLy4KKyAgICAgIHN0YXRpYyBjb25zdCB2dGFibGVfdHlwZSBzdG9yZWRfdnRhYmxlID0KKyAgICAgICAgeyB7ICZtYW5hZ2VyX3R5cGU6Om1hbmFnZSB9LCAmaW52b2tlcl90eXBlOjppbnZva2UgfTsKKworICAgICAgaWYgKHN0b3JlZF92dGFibGUuYXNzaWduX3RvX2EoZiwgZnVuY3RvciwgYSkpIHsgCisgICAgICAgIHN0ZDo6c2l6ZV90IHZhbHVlID0gcmVpbnRlcnByZXRfY2FzdDxzdGQ6OnNpemVfdD4oJnN0b3JlZF92dGFibGUuYmFzZSk7CisgICAgICAgIGlmIChuZG5ib29zdDo6aGFzX3RyaXZpYWxfY29weV9jb25zdHJ1Y3RvcjxGdW5jdG9yPjo6dmFsdWUgJiYKKyAgICAgICAgICAgIG5kbmJvb3N0OjpoYXNfdHJpdmlhbF9kZXN0cnVjdG9yPEZ1bmN0b3I+Ojp2YWx1ZSAmJgorICAgICAgICAgICAgZGV0YWlsOjpmdW5jdGlvbjo6ZnVuY3Rpb25fYWxsb3dzX3NtYWxsX29iamVjdF9vcHRpbWl6YXRpb248RnVuY3Rvcj46OnZhbHVlKQorICAgICAgICAgIHZhbHVlIHw9IHN0YXRpY19jYXN0PHN0ZDo6c2l6ZV90PigweDAxKTsKKyAgICAgICAgdnRhYmxlID0gcmVpbnRlcnByZXRfY2FzdDxkZXRhaWw6OmZ1bmN0aW9uOjp2dGFibGVfYmFzZSAqPih2YWx1ZSk7CisgICAgICB9IGVsc2UgCisgICAgICAgIHZ0YWJsZSA9IDA7CisgICAgfQorCisgICAgLy8gTW92ZXMgdGhlIHZhbHVlIGZyb20gdGhlIHNwZWNpZmllZCBhcmd1bWVudCB0byAqdGhpcy4gSWYgdGhlIGFyZ3VtZW50IAorICAgIC8vIGhhcyBpdHMgZnVuY3Rpb24gb2JqZWN0IGFsbG9jYXRlZCBvbiB0aGUgaGVhcCwgbW92ZV9hc3NpZ24gd2lsbCBwYXNzIAorICAgIC8vIGl0cyBidWZmZXIgdG8gKnRoaXMsIGFuZCBzZXQgdGhlIGFyZ3VtZW50J3MgYnVmZmVyIHBvaW50ZXIgdG8gTlVMTC4gCisgICAgdm9pZCBtb3ZlX2Fzc2lnbihCT09TVF9GVU5DVElPTl9GVU5DVElPTiYgZikgCisgICAgeyAKKyAgICAgIGlmICgmZiA9PSB0aGlzKQorICAgICAgICByZXR1cm47CisKKyAgICAgIEJPT1NUX1RSWSB7CisgICAgICAgIGlmICghZi5lbXB0eSgpKSB7CisgICAgICAgICAgdGhpcy0+dnRhYmxlID0gZi52dGFibGU7CisgICAgICAgICAgaWYgKHRoaXMtPmhhc190cml2aWFsX2NvcHlfYW5kX2Rlc3Ryb3koKSkKKyAgICAgICAgICAgIHRoaXMtPmZ1bmN0b3IgPSBmLmZ1bmN0b3I7CisgICAgICAgICAgZWxzZQorICAgICAgICAgICAgZ2V0X3Z0YWJsZSgpLT5iYXNlLm1hbmFnZXIoZi5mdW5jdG9yLCB0aGlzLT5mdW5jdG9yLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5kbmJvb3N0OjpkZXRhaWw6OmZ1bmN0aW9uOjptb3ZlX2Z1bmN0b3JfdGFnKTsKKyAgICAgICAgICBmLnZ0YWJsZSA9IDA7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgY2xlYXIoKTsKKyAgICAgICAgfQorICAgICAgfSBCT09TVF9DQVRDSCAoLi4uKSB7CisgICAgICAgIHZ0YWJsZSA9IDA7CisgICAgICAgIEJPT1NUX1JFVEhST1c7CisgICAgICB9CisgICAgICBCT09TVF9DQVRDSF9FTkQKKyAgICB9CisgIH07CisKKyAgdGVtcGxhdGU8dHlwZW5hbWUgUiBCT09TVF9GVU5DVElPTl9DT01NQSBCT09TVF9GVU5DVElPTl9URU1QTEFURV9QQVJNUz4KKyAgaW5saW5lIHZvaWQgc3dhcChCT09TVF9GVU5DVElPTl9GVU5DVElPTjwKKyAgICAgICAgICAgICAgICAgICAgIFIgQk9PU1RfRlVOQ1RJT05fQ09NTUEKKyAgICAgICAgICAgICAgICAgICAgIEJPT1NUX0ZVTkNUSU9OX1RFTVBMQVRFX0FSR1MKKyAgICAgICAgICAgICAgICAgICA+JiBmMSwKKyAgICAgICAgICAgICAgICAgICBCT09TVF9GVU5DVElPTl9GVU5DVElPTjwKKyAgICAgICAgICAgICAgICAgICAgIFIgQk9PU1RfRlVOQ1RJT05fQ09NTUEKKyAgICAgICAgICAgICAgICAgICAgIEJPT1NUX0ZVTkNUSU9OX1RFTVBMQVRFX0FSR1MKKyAgICAgICAgICAgICAgICAgICA+JiBmMikKKyAgeworICAgIGYxLnN3YXAoZjIpOworICB9CisKKy8vIFBvaXNvbiBjb21wYXJpc29ucyBiZXR3ZWVuIG5kbmJvb3N0OjpmdW5jdGlvbiBvYmplY3RzIG9mIHRoZSBzYW1lIHR5cGUuCit0ZW1wbGF0ZTx0eXBlbmFtZSBSIEJPT1NUX0ZVTkNUSU9OX0NPTU1BIEJPT1NUX0ZVTkNUSU9OX1RFTVBMQVRFX1BBUk1TPgorICB2b2lkIG9wZXJhdG9yPT0oY29uc3QgQk9PU1RfRlVOQ1RJT05fRlVOQ1RJT048CisgICAgICAgICAgICAgICAgICAgICAgICAgIFIgQk9PU1RfRlVOQ1RJT05fQ09NTUEKKyAgICAgICAgICAgICAgICAgICAgICAgICAgQk9PU1RfRlVOQ1RJT05fVEVNUExBVEVfQVJHUz4mLAorICAgICAgICAgICAgICAgICAgY29uc3QgQk9PU1RfRlVOQ1RJT05fRlVOQ1RJT048CisgICAgICAgICAgICAgICAgICAgICAgICAgIFIgQk9PU1RfRlVOQ1RJT05fQ09NTUEKKyAgICAgICAgICAgICAgICAgICAgICAgICAgQk9PU1RfRlVOQ1RJT05fVEVNUExBVEVfQVJHUz4mKTsKK3RlbXBsYXRlPHR5cGVuYW1lIFIgQk9PU1RfRlVOQ1RJT05fQ09NTUEgQk9PU1RfRlVOQ1RJT05fVEVNUExBVEVfUEFSTVM+CisgIHZvaWQgb3BlcmF0b3IhPShjb25zdCBCT09TVF9GVU5DVElPTl9GVU5DVElPTjwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgUiBCT09TVF9GVU5DVElPTl9DT01NQQorICAgICAgICAgICAgICAgICAgICAgICAgICBCT09TVF9GVU5DVElPTl9URU1QTEFURV9BUkdTPiYsCisgICAgICAgICAgICAgICAgICBjb25zdCBCT09TVF9GVU5DVElPTl9GVU5DVElPTjwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgUiBCT09TVF9GVU5DVElPTl9DT01NQQorICAgICAgICAgICAgICAgICAgICAgICAgICBCT09TVF9GVU5DVElPTl9URU1QTEFURV9BUkdTPiYgKTsKKworI2lmICFkZWZpbmVkKEJPT1NUX0ZVTkNUSU9OX05PX0ZVTkNUSU9OX1RZUEVfU1lOVEFYKQorCisjaWYgQk9PU1RfRlVOQ1RJT05fTlVNX0FSR1MgPT0gMAorI2RlZmluZSBCT09TVF9GVU5DVElPTl9QQVJUSUFMX1NQRUMgUiAodm9pZCkKKyNlbHNlCisjZGVmaW5lIEJPT1NUX0ZVTkNUSU9OX1BBUlRJQUxfU1BFQyBSIChCT09TVF9QUF9FTlVNX1BBUkFNUyhCT09TVF9GVU5DVElPTl9OVU1fQVJHUyxUKSkKKyNlbmRpZgorCit0ZW1wbGF0ZTx0eXBlbmFtZSBSIEJPT1NUX0ZVTkNUSU9OX0NPTU1BCisgICAgICAgICBCT09TVF9GVU5DVElPTl9URU1QTEFURV9QQVJNUz4KK2NsYXNzIGZ1bmN0aW9uPEJPT1NUX0ZVTkNUSU9OX1BBUlRJQUxfU1BFQz4KKyAgOiBwdWJsaWMgQk9PU1RfRlVOQ1RJT05fRlVOQ1RJT048UiBCT09TVF9GVU5DVElPTl9DT01NQSBCT09TVF9GVU5DVElPTl9URU1QTEFURV9BUkdTPgoreworICB0eXBlZGVmIEJPT1NUX0ZVTkNUSU9OX0ZVTkNUSU9OPFIgQk9PU1RfRlVOQ1RJT05fQ09NTUEgQk9PU1RfRlVOQ1RJT05fVEVNUExBVEVfQVJHUz4gYmFzZV90eXBlOworICB0eXBlZGVmIGZ1bmN0aW9uIHNlbGZfdHlwZTsKKworICBzdHJ1Y3QgY2xlYXJfdHlwZSB7fTsKKworcHVibGljOgorCisgIGZ1bmN0aW9uKCkgOiBiYXNlX3R5cGUoKSB7fQorCisgIHRlbXBsYXRlPHR5cGVuYW1lIEZ1bmN0b3I+CisgIGZ1bmN0aW9uKEZ1bmN0b3IgZgorI2lmbmRlZiBCT09TVF9OT19TRklOQUUKKyAgICAgICAgICAgLHR5cGVuYW1lIGVuYWJsZV9pZl9jPAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIChuZG5ib29zdDo6dHlwZV90cmFpdHM6OmljZV9ub3Q8CisgICAgICAgICAgICAgICAgICAgICAgICAgIChpc19pbnRlZ3JhbDxGdW5jdG9yPjo6dmFsdWUpPjo6dmFsdWUpLAorICAgICAgICAgICAgICAgICAgICAgICBpbnQ+Ojp0eXBlID0gMAorI2VuZGlmCisgICAgICAgICAgICkgOgorICAgIGJhc2VfdHlwZShmKQorICB7CisgIH0KKyAgdGVtcGxhdGU8dHlwZW5hbWUgRnVuY3Rvcix0eXBlbmFtZSBBbGxvY2F0b3I+CisgIGZ1bmN0aW9uKEZ1bmN0b3IgZiwgQWxsb2NhdG9yIGEKKyNpZm5kZWYgQk9PU1RfTk9fU0ZJTkFFCisgICAgICAgICAgICx0eXBlbmFtZSBlbmFibGVfaWZfYzwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAobmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2Vfbm90PAorICAgICAgICAgICAgICAgICAgICAgICAgICAoaXNfaW50ZWdyYWw8RnVuY3Rvcj46OnZhbHVlKT46OnZhbHVlKSwKKyAgICAgICAgICAgICAgICAgICAgICAgaW50Pjo6dHlwZSA9IDAKKyNlbmRpZgorICAgICAgICAgICApIDoKKyAgICBiYXNlX3R5cGUoZixhKQorICB7CisgIH0KKworI2lmbmRlZiBCT09TVF9OT19TRklOQUUKKyAgZnVuY3Rpb24oY2xlYXJfdHlwZSopIDogYmFzZV90eXBlKCkge30KKyNlbmRpZgorCisgIGZ1bmN0aW9uKGNvbnN0IHNlbGZfdHlwZSYgZikgOiBiYXNlX3R5cGUoc3RhdGljX2Nhc3Q8Y29uc3QgYmFzZV90eXBlJj4oZikpe30KKworICBmdW5jdGlvbihjb25zdCBiYXNlX3R5cGUmIGYpIDogYmFzZV90eXBlKHN0YXRpY19jYXN0PGNvbnN0IGJhc2VfdHlwZSY+KGYpKXt9CisKKyNpZm5kZWYgQk9PU1RfTk9fQ1hYMTFfUlZBTFVFX1JFRkVSRU5DRVMKKyAgLy8gTW92ZSBjb25zdHJ1Y3RvcnMKKyAgZnVuY3Rpb24oc2VsZl90eXBlJiYgZik6IGJhc2VfdHlwZShzdGF0aWNfY2FzdDxiYXNlX3R5cGUmJj4oZikpe30KKyAgZnVuY3Rpb24oYmFzZV90eXBlJiYgZik6IGJhc2VfdHlwZShzdGF0aWNfY2FzdDxiYXNlX3R5cGUmJj4oZikpe30KKyNlbmRpZgorICAKKyAgc2VsZl90eXBlJiBvcGVyYXRvcj0oY29uc3Qgc2VsZl90eXBlJiBmKQorICB7CisgICAgc2VsZl90eXBlKGYpLnN3YXAoKnRoaXMpOworICAgIHJldHVybiAqdGhpczsKKyAgfQorCisjaWZuZGVmIEJPT1NUX05PX0NYWDExX1JWQUxVRV9SRUZFUkVOQ0VTCisgIHNlbGZfdHlwZSYgb3BlcmF0b3I9KHNlbGZfdHlwZSYmIGYpCisgIHsKKyAgICBzZWxmX3R5cGUoc3RhdGljX2Nhc3Q8c2VsZl90eXBlJiY+KGYpKS5zd2FwKCp0aGlzKTsKKyAgICByZXR1cm4gKnRoaXM7CisgIH0KKyNlbmRpZiAgCisKKyAgdGVtcGxhdGU8dHlwZW5hbWUgRnVuY3Rvcj4KKyNpZm5kZWYgQk9PU1RfTk9fU0ZJTkFFCisgIHR5cGVuYW1lIGVuYWJsZV9pZl9jPAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIChuZG5ib29zdDo6dHlwZV90cmFpdHM6OmljZV9ub3Q8CisgICAgICAgICAgICAgICAgICAgICAgICAgKGlzX2ludGVncmFsPEZ1bmN0b3I+Ojp2YWx1ZSk+Ojp2YWx1ZSksCisgICAgICAgICAgICAgICAgICAgICAgc2VsZl90eXBlJj46OnR5cGUKKyNlbHNlCisgIHNlbGZfdHlwZSYKKyNlbmRpZgorICBvcGVyYXRvcj0oRnVuY3RvciBmKQorICB7CisgICAgc2VsZl90eXBlKGYpLnN3YXAoKnRoaXMpOworICAgIHJldHVybiAqdGhpczsKKyAgfQorCisjaWZuZGVmIEJPT1NUX05PX1NGSU5BRQorICBzZWxmX3R5cGUmIG9wZXJhdG9yPShjbGVhcl90eXBlKikKKyAgeworICAgIHRoaXMtPmNsZWFyKCk7CisgICAgcmV0dXJuICp0aGlzOworICB9CisjZW5kaWYKKworICBzZWxmX3R5cGUmIG9wZXJhdG9yPShjb25zdCBiYXNlX3R5cGUmIGYpCisgIHsKKyAgICBzZWxmX3R5cGUoZikuc3dhcCgqdGhpcyk7CisgICAgcmV0dXJuICp0aGlzOworICB9CisgIAorI2lmbmRlZiBCT09TVF9OT19DWFgxMV9SVkFMVUVfUkVGRVJFTkNFUworICBzZWxmX3R5cGUmIG9wZXJhdG9yPShiYXNlX3R5cGUmJiBmKQorICB7CisgICAgc2VsZl90eXBlKHN0YXRpY19jYXN0PGJhc2VfdHlwZSYmPihmKSkuc3dhcCgqdGhpcyk7CisgICAgcmV0dXJuICp0aGlzOworICB9CisjZW5kaWYgCit9OworCisjdW5kZWYgQk9PU1RfRlVOQ1RJT05fUEFSVElBTF9TUEVDCisjZW5kaWYgLy8gaGF2ZSBwYXJ0aWFsIHNwZWNpYWxpemF0aW9uCisKK30gLy8gZW5kIG5hbWVzcGFjZSBuZG5ib29zdAorCisvLyBDbGVhbnVwIGFmdGVyIG91cnNlbHZlcy4uLgorI3VuZGVmIEJPT1NUX0ZVTkNUSU9OX1ZUQUJMRQorI3VuZGVmIEJPT1NUX0ZVTkNUSU9OX0NPTU1BCisjdW5kZWYgQk9PU1RfRlVOQ1RJT05fRlVOQ1RJT04KKyN1bmRlZiBCT09TVF9GVU5DVElPTl9GVU5DVElPTl9JTlZPS0VSCisjdW5kZWYgQk9PU1RfRlVOQ1RJT05fVk9JRF9GVU5DVElPTl9JTlZPS0VSCisjdW5kZWYgQk9PU1RfRlVOQ1RJT05fRlVOQ1RJT05fT0JKX0lOVk9LRVIKKyN1bmRlZiBCT09TVF9GVU5DVElPTl9WT0lEX0ZVTkNUSU9OX09CSl9JTlZPS0VSCisjdW5kZWYgQk9PU1RfRlVOQ1RJT05fRlVOQ1RJT05fUkVGX0lOVk9LRVIKKyN1bmRlZiBCT09TVF9GVU5DVElPTl9WT0lEX0ZVTkNUSU9OX1JFRl9JTlZPS0VSCisjdW5kZWYgQk9PU1RfRlVOQ1RJT05fTUVNQkVSX0lOVk9LRVIKKyN1bmRlZiBCT09TVF9GVU5DVElPTl9WT0lEX01FTUJFUl9JTlZPS0VSCisjdW5kZWYgQk9PU1RfRlVOQ1RJT05fR0VUX0ZVTkNUSU9OX0lOVk9LRVIKKyN1bmRlZiBCT09TVF9GVU5DVElPTl9HRVRfRlVOQ1RJT05fT0JKX0lOVk9LRVIKKyN1bmRlZiBCT09TVF9GVU5DVElPTl9HRVRfRlVOQ1RJT05fUkVGX0lOVk9LRVIKKyN1bmRlZiBCT09TVF9GVU5DVElPTl9HRVRfTUVNX0ZVTkNUSU9OX0lOVk9LRVIKKyN1bmRlZiBCT09TVF9GVU5DVElPTl9HRVRfSU5WT0tFUgorI3VuZGVmIEJPT1NUX0ZVTkNUSU9OX1RFTVBMQVRFX1BBUk1TCisjdW5kZWYgQk9PU1RfRlVOQ1RJT05fVEVNUExBVEVfQVJHUworI3VuZGVmIEJPT1NUX0ZVTkNUSU9OX1BBUk1TCisjdW5kZWYgQk9PU1RfRlVOQ1RJT05fUEFSTQorI3VuZGVmIEJPT1NUX0ZVTkNUSU9OX0FSR1MKKyN1bmRlZiBCT09TVF9GVU5DVElPTl9BUkdfVFlQRQorI3VuZGVmIEJPT1NUX0ZVTkNUSU9OX0FSR19UWVBFUworI3VuZGVmIEJPT1NUX0ZVTkNUSU9OX1ZPSURfUkVUVVJOX1RZUEUKKyN1bmRlZiBCT09TVF9GVU5DVElPTl9SRVRVUk4KKworI2lmIGRlZmluZWQoQk9PU1RfTVNWQykKKyMgICBwcmFnbWEgd2FybmluZyggcG9wICkKKyNlbmRpZiAgICAgICAKZGlmZiAtLWdpdCBhL25kbmJvb3N0L2Z1bmN0aW9uX2VxdWFsLmhwcCBiL25kbmJvb3N0L2Z1bmN0aW9uX2VxdWFsLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNDkyZDU2Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvZnVuY3Rpb25fZXF1YWwuaHBwCkBAIC0wLDAgKzEsMjggQEAKKy8vICBDb3B5cmlnaHQgRG91Z2xhcyBHcmVnb3IgMjAwNC4KKy8vICBDb3B5cmlnaHQgMjAwNSBQZXRlciBEaW1vdgorCisvLyAgVXNlLCBtb2RpZmljYXRpb24gYW5kIGRpc3RyaWJ1dGlvbiBpcyBzdWJqZWN0IHRvCisvLyAgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLgorLy8gIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQKKy8vICBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisKKy8vIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUgaHR0cDovL3d3dy5ib29zdC5vcmcKKyNpZm5kZWYgQk9PU1RfRlVOQ1RJT05fRVFVQUxfSFBQCisjZGVmaW5lIEJPT1NUX0ZVTkNUSU9OX0VRVUFMX0hQUAorCituYW1lc3BhY2UgbmRuYm9vc3QgeworCit0ZW1wbGF0ZTx0eXBlbmFtZSBGLCB0eXBlbmFtZSBHPgorICBib29sIGZ1bmN0aW9uX2VxdWFsX2ltcGwoY29uc3QgRiYgZiwgY29uc3QgRyYgZywgbG9uZykKKyAgeyByZXR1cm4gZiA9PSBnOyB9CisKKy8vIGZ1bmN0aW9uX2VxdWFsX2ltcGwgbmVlZHMgdG8gYmUgdW5xdWFsaWZpZWQgdG8gcGljaworLy8gdXNlciBvdmVybG9hZHMgb24gdHdvLXBoYXNlIGNvbXBpbGVycworCit0ZW1wbGF0ZTx0eXBlbmFtZSBGLCB0eXBlbmFtZSBHPgorICBib29sIGZ1bmN0aW9uX2VxdWFsKGNvbnN0IEYmIGYsIGNvbnN0IEcmIGcpCisgIHsgcmV0dXJuIGZ1bmN0aW9uX2VxdWFsX2ltcGwoZiwgZywgMCk7IH0KKworfSAvLyBlbmQgbmFtZXNwYWNlIG5kbmJvb3N0CisKKyNlbmRpZiAvLyBCT09TVF9GVU5DVElPTl9FUVVBTF9IUFAKZGlmZiAtLWdpdCBhL25kbmJvb3N0L2Z1bmN0aW9uX3R5cGVzL2NvbXBvbmVudHMuaHBwIGIvbmRuYm9vc3QvZnVuY3Rpb25fdHlwZXMvY29tcG9uZW50cy5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGM1MzAyNAotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L2Z1bmN0aW9uX3R5cGVzL2NvbXBvbmVudHMuaHBwCkBAIC0wLDAgKzEsNDMxIEBACisKKy8vIChDKSBDb3B5cmlnaHQgVG9iaWFzIFNjaHdpbmdlcgorLy8KKy8vIFVzZSBtb2RpZmljYXRpb24gYW5kIGRpc3RyaWJ1dGlvbiBhcmUgc3ViamVjdCB0byB0aGUgYm9vc3QgU29mdHdhcmUgTGljZW5zZSwKKy8vIFZlcnNpb24gMS4wLiAoU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkuCisKKy8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKyNpZm5kZWYgQk9PU1RfRlRfQ09NUE9ORU5UU19IUFBfSU5DTFVERUQKKyNkZWZpbmUgQk9PU1RfRlRfQ09NUE9ORU5UU19IUFBfSU5DTFVERUQKKworI2luY2x1ZGUgPGNzdGRkZWY+CisKKyNpbmNsdWRlIDxuZG5ib29zdC9jb25maWcuaHBwPgorCisjaW5jbHVkZSA8bmRuYm9vc3QvZGV0YWlsL3dvcmthcm91bmQuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2xhbWJkYV9zdXBwb3J0LmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9kZXRhaWwvdGVtcGxhdGVfYXJpdHlfc3BlYy5ocHA+CisKKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9pbnRlZ3JhbF9jb25zdGFudC5ocHA+CisKKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvaWYuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9pbnRlZ3JhbF9jLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvdmVjdG9yL3ZlY3RvcjAuaHBwPgorCisjaWYgQk9PU1RfV09SS0FST1VORChfX0JPUkxBTkRDX18sIDw9IDB4NTY1KQorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL3JlbW92ZV9jdi5ocHA+CisKKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvaWRlbnRpdHkuaHBwPgorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC9iaXRhbmQuaHBwPgorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC92ZWN0b3IvdmVjdG9yMTAuaHBwPgorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC9mcm9udC5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2JlZ2luLmhwcD4KKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvYWR2YW5jZS5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2l0ZXJhdG9yX3JhbmdlLmhwcD4KKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvam9pbnRfdmlldy5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2VxdWFsX3RvLmhwcD4KKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvY29weS5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2Zyb250X2luc2VydGVyLmhwcD4KKworIyAgIGluY2x1ZGUgPG5kbmJvb3N0L2Z1bmN0aW9uX3R5cGVzL2RldGFpbC9jbGFzc2lmaWVyLmhwcD4KKyNlbmRpZgorCisjaWZuZGVmIEJPT1NUX0ZUX05PX0NWX0ZVTkNfU1VQUE9SVAorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC9yZW1vdmUuaHBwPgorI2VuZGlmCisKKyNpbmNsdWRlIDxuZG5ib29zdC9mdW5jdGlvbl90eXBlcy9jb25maWcvY29uZmlnLmhwcD4KKworI2lmbmRlZiBCT09TVF9OT19URU1QTEFURV9QQVJUSUFMX1NQRUNJQUxJWkFUSU9OCisjICAgaWYgICBCT09TVF9GVF9NQVhfQVJJVFkgPCAxMAorIyAgICAgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL3ZlY3Rvci92ZWN0b3IxMC5ocHA+CisjICAgZWxpZiBCT09TVF9GVF9NQVhfQVJJVFkgPCAyMAorIyAgICAgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL3ZlY3Rvci92ZWN0b3IyMC5ocHA+CisjICAgZWxpZiBCT09TVF9GVF9NQVhfQVJJVFkgPCAzMAorIyAgICAgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL3ZlY3Rvci92ZWN0b3IzMC5ocHA+CisjICAgZWxpZiBCT09TVF9GVF9NQVhfQVJJVFkgPCA0MAorIyAgICAgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL3ZlY3Rvci92ZWN0b3I0MC5ocHA+CisjICAgZWxpZiBCT09TVF9GVF9NQVhfQVJJVFkgPCA1MAorIyAgICAgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL3ZlY3Rvci92ZWN0b3I1MC5ocHA+CisjICAgZW5kaWYKKyNlbHNlCisjICAgaW5jbHVkZSA8bmRuYm9vc3QvZnVuY3Rpb25fdHlwZXMvZGV0YWlsL2NsYXNzaWZpZXIuaHBwPgorI2VuZGlmCisKKyNpbmNsdWRlIDxuZG5ib29zdC9mdW5jdGlvbl90eXBlcy9kZXRhaWwvY2xhc3NfdHJhbnNmb3JtLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9mdW5jdGlvbl90eXBlcy9wcm9wZXJ0eV90YWdzLmhwcD4KKworLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0KKworbmFtZXNwYWNlIG5kbmJvb3N0IAoreyAKKyAgbmFtZXNwYWNlIGZ1bmN0aW9uX3R5cGVzIAorICB7CisKKyAgICB1c2luZyBtcGw6OnBsYWNlaG9sZGVyczo6XzsKKworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBULCB0eXBlbmFtZSBDbGFzc1R5cGVUcmFuc2Zvcm0gPSBhZGRfcmVmZXJlbmNlPF8+ID4gCisgICAgc3RydWN0IGNvbXBvbmVudHM7CisKKyAgICBuYW1lc3BhY2UgZGV0YWlsIAorICAgIHsKKyAgICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lIEw+IHN0cnVjdCBjb21wb25lbnRzX2ltcGw7CisjaWYgQk9PU1RfV09SS0FST1VORChfX0JPUkxBTkRDX18sIDw9IDB4NTY1KQorICAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUgT3JpZ1QsIHR5cGVuYW1lIEw+IHN0cnVjdCBjb21wb25lbnRzX2JjYzsKKyNlbmRpZgorICAgIH0KKworICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lIENsYXNzVHlwZVRyYW5zZm9ybT4gCisgICAgc3RydWN0IGNvbXBvbmVudHMKKyNpZiAhQk9PU1RfV09SS0FST1VORChfX0JPUkxBTkRDX18sIDw9IDB4NTY1KQorICAgICAgOiBkZXRhaWw6OmNvbXBvbmVudHNfaW1wbDxULCBDbGFzc1R5cGVUcmFuc2Zvcm0+CisjZWxzZQorICAgICAgOiBkZXRhaWw6OmNvbXBvbmVudHNfYmNjPHR5cGVuYW1lIHJlbW92ZV9jdjxUPjo6dHlwZSxULAorICAgICAgICAgICAgQ2xhc3NUeXBlVHJhbnNmb3JtPgorI2VuZGlmCisgICAgeyAKKyAgICAgIHR5cGVkZWYgY29tcG9uZW50czxULENsYXNzVHlwZVRyYW5zZm9ybT4gdHlwZTsKKworICAgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgyLGNvbXBvbmVudHMsKFQsQ2xhc3NUeXBlVHJhbnNmb3JtKSkKKyAgICB9OworCisvLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLQorCisgIG5hbWVzcGFjZSBkZXRhaWwgeworCisgICAgc3RydWN0IGNvbXBvbmVudHNfbXBsX3NlcXVlbmNlX3RhZzsgCisKKyAgICBzdHJ1Y3QgY29tcG9uZW50c19ub25fZnVuY19iYXNlCisgICAgeworICAgICAgdHlwZWRlZiBtcGw6OnZlY3RvcjA8PiB0eXBlczsKKyAgICAgIHR5cGVkZWYgdm9pZCBmdW5jdGlvbl9hcml0eTsKKworICAgICAgdHlwZWRlZiBkZXRhaWw6OmNvbnN0YW50PDA+IGJpdHM7CisgICAgICB0eXBlZGVmIGRldGFpbDo6Y29uc3RhbnQ8MD4gbWFzazsKKworICAgICAgdHlwZWRlZiBjb21wb25lbnRzX21wbF9zZXF1ZW5jZV90YWcgdGFnOworICAgIH07CisKKyAgICB0ZW1wbGF0ZQorICAgIDwgdHlwZW5hbWUgQ29tcG9uZW50cworICAgICwgdHlwZW5hbWUgSWZUYWdnZWQKKyAgICAsIHR5cGVuYW1lIFRoZW5UYWcKKyAgICAsIHR5cGVuYW1lIERlZmF1bHRCYXNlID0gY29tcG9uZW50c19ub25fZnVuY19iYXNlCisgICAgPgorICAgIHN0cnVjdCByZXRhZ2dlZF9pZgorICAgICAgOiBtcGw6OmlmXworICAgICAgICA8IGRldGFpbDo6cmVwcmVzZW50c19pbXBsPENvbXBvbmVudHMsIElmVGFnZ2VkPgorICAgICAgICAsIGRldGFpbDo6Y2hhbmdlZF90YWc8Q29tcG9uZW50cyxJZlRhZ2dlZCxUaGVuVGFnPgorICAgICAgICAsIERlZmF1bHRCYXNlCisgICAgICAgID46OnR5cGUKKyAgICB7IH07CisKKyAgICAvLyBXZSBkZXRlY3QgcGxhaW4gZnVuY3Rpb24gdHlwZXMgYW5kIGZ1bmN0aW9uIHJlZmVyZW5jZXMgYXMgZnVuY3Rpb24gCisgICAgLy8gcG9pbnRlcnMgYnkgcmVjdXJzaXZlIGluc3RhbnRpYXRpb24gb2YgY29tcG9uZW50c19pbXBsLiAKKyAgICAvLyBUaGUgdGhpcmQgc3BlY2lhbGl6YXRpb24gb2YgY29tcG9uZW50c19pbXBsIG1ha2VzIHN1cmUgdGhlIHJlY3Vyc2lvbiAKKyAgICAvLyB0ZXJtaW5hdGVzICh3aGVuIGFkZGluZyBwb2ludGVycykuCisgICAgdGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUgTD4KKyAgICBzdHJ1Y3QgY29tcG9uZW50c19pbXBsCisgICAgICA6IGRldGFpbDo6cmV0YWdnZWRfaWYKKyAgICAgICAgPCBkZXRhaWw6OmNvbXBvbmVudHNfaW1wbDxUKixMPgorICAgICAgICAsIHBvaW50ZXJfdGFnLCAvKiAtLT4gKi8gZnVuY3Rpb25fdGFnID4KKyAgICB7IH07CisgICAgdGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUgTD4KKyAgICBzdHJ1Y3QgY29tcG9uZW50c19pbXBsPFQmLCBMPgorICAgICAgOiBkZXRhaWw6OnJldGFnZ2VkX2lmCisgICAgICAgIDwgZGV0YWlsOjpjb21wb25lbnRzX2ltcGw8VCosTD4KKyAgICAgICAgLCBwb2ludGVyX3RhZywgLyogLS0+ICovIHJlZmVyZW5jZV90YWcgPgorICAgIHsgfTsKKworI2lmICFCT09TVF9GVF9OT19DVl9GVU5DX1NVUFBPUlQKKyAgICAvLyBSZXRyeSB0aGUgdHlwZSB3aXRoIGEgbWVtYmVyIHBvaW50ZXIgYXR0YWNoZWQgdG8gZGV0ZWN0IGN2IGZ1bmN0aW9ucworICAgIGNsYXNzIGFfY2xhc3M7CisKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBCYXNlLCB0eXBlbmFtZSBULCB0eXBlbmFtZSBMPgorICAgIHN0cnVjdCBjdl9mdW5jX2Jhc2UKKyAgICAgIDogZGV0YWlsOjpyZXRhZ2dlZF9pZjxCYXNlLG1lbWJlcl9wb2ludGVyX3RhZyxmdW5jdGlvbl90YWc+CisgICAgeworICAgICAgdHlwZWRlZiB0eXBlbmFtZQorICAgICAgICBtcGw6OnJlbW92ZQorICAgICAgICAgIDwgdHlwZW5hbWUgQmFzZTo6dHlwZXMKKyAgICAgICAgICAsIHR5cGVuYW1lIGRldGFpbDo6Y2xhc3NfdHJhbnNmb3JtPGFfY2xhc3MsTD46OnR5cGU+Ojp0eXBlCisgICAgICB0eXBlczsKKyAgICB9OworCisgICAgdGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUgTD4KKyAgICBzdHJ1Y3QgY29tcG9uZW50c19pbXBsPFQqLCBMPgorICAgICAgOiBtcGw6OmlmXworICAgICAgICA8IGRldGFpbDo6cmVwcmVzZW50c19pbXBsPCBkZXRhaWw6OmNvbXBvbmVudHNfaW1wbDxUIGFfY2xhc3M6OiosIEw+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsIG1lbWJlcl9wb2ludGVyX3RhZyA+CisgICAgICAgICwgZGV0YWlsOjpjdl9mdW5jX2Jhc2U8IGRldGFpbDo6Y29tcG9uZW50c19pbXBsPFQgYV9jbGFzczo6KiwgTD4sIFQsIEw+CisgICAgICAgICwgY29tcG9uZW50c19ub25fZnVuY19iYXNlCisgICAgICAgID46OnR5cGUKKyAgICB7IH07CisKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFtZSBMPgorICAgIHN0cnVjdCBjb21wb25lbnRzX2ltcGw8VCBhX2NsYXNzOjoqLCBMPgorICAgICAgOiBjb21wb25lbnRzX25vbl9mdW5jX2Jhc2UKKyAgICB7IH07CisjZWxzZQorICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lIEw+CisgICAgc3RydWN0IGNvbXBvbmVudHNfaW1wbDxUKiwgTD4KKyAgICAgIDogY29tcG9uZW50c19ub25fZnVuY19iYXNlCisgICAgeyB9OyAKKyNlbmRpZgorCisgICAgdGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUgTD4KKyAgICBzdHJ1Y3QgY29tcG9uZW50c19pbXBsPFQqIGNvbnN0LCBMPiAKKyAgICAgIDogY29tcG9uZW50c19pbXBsPFQqLEw+CisgICAgeyB9OworCisgICAgdGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUgTD4KKyAgICBzdHJ1Y3QgY29tcG9uZW50c19pbXBsPFQqIHZvbGF0aWxlLCBMPiAKKyAgICAgIDogY29tcG9uZW50c19pbXBsPFQqLEw+CisgICAgeyB9OworCisgICAgdGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUgTD4KKyAgICBzdHJ1Y3QgY29tcG9uZW50c19pbXBsPFQqIGNvbnN0IHZvbGF0aWxlLCBMPiAKKyAgICAgIDogY29tcG9uZW50c19pbXBsPFQqLEw+CisgICAgeyB9OworCisgICAgdGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUgTD4KKyAgICBzdHJ1Y3QgY29tcG9uZW50c19pbXBsPFQgY29uc3QsIEw+IAorICAgICAgOiBjb21wb25lbnRzX2ltcGw8VCxMPgorICAgIHsgfTsKKworICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lIEw+CisgICAgc3RydWN0IGNvbXBvbmVudHNfaW1wbDxUIHZvbGF0aWxlLCBMPiAKKyAgICAgIDogY29tcG9uZW50c19pbXBsPFQsTD4KKyAgICB7IH07CisKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFtZSBMPgorICAgIHN0cnVjdCBjb21wb25lbnRzX2ltcGw8VCBjb25zdCB2b2xhdGlsZSwgTD4gCisgICAgICA6IGNvbXBvbmVudHNfaW1wbDxULEw+CisgICAgeyB9OworCisKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBULCBjbGFzcyBDPgorICAgIHN0cnVjdCBtZW1iZXJfb2JqX3B0cl9yZXN1bHQKKyAgICB7IHR5cGVkZWYgVCAmIHR5cGU7IH07CisKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBULCBjbGFzcyBDPgorICAgIHN0cnVjdCBtZW1iZXJfb2JqX3B0cl9yZXN1bHQ8VCwgQyBjb25zdD4KKyAgICB7IHR5cGVkZWYgVCBjb25zdCAmIHR5cGU7IH07CisKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBULCBjbGFzcyBDPgorICAgIHN0cnVjdCBtZW1iZXJfb2JqX3B0cl9yZXN1bHQ8VCwgQyB2b2xhdGlsZT4KKyAgICB7IHR5cGVkZWYgVCB2b2xhdGlsZSAmIHR5cGU7IH07CisKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBULCBjbGFzcyBDPgorICAgIHN0cnVjdCBtZW1iZXJfb2JqX3B0cl9yZXN1bHQ8VCwgQyBjb25zdCB2b2xhdGlsZT4KKyAgICB7IHR5cGVkZWYgVCBjb25zdCB2b2xhdGlsZSAmIHR5cGU7IH07CisKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBULCBjbGFzcyBDPgorICAgIHN0cnVjdCBtZW1iZXJfb2JqX3B0cl9yZXN1bHQ8VCAmLCBDPgorICAgIHsgdHlwZWRlZiBUICYgdHlwZTsgfTsKKworICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQsIGNsYXNzIEM+CisgICAgc3RydWN0IG1lbWJlcl9vYmpfcHRyX3Jlc3VsdDxUICYsIEMgY29uc3Q+CisgICAgeyB0eXBlZGVmIFQgJiB0eXBlOyB9OworCisgICAgdGVtcGxhdGU8dHlwZW5hbWUgVCwgY2xhc3MgQz4KKyAgICBzdHJ1Y3QgbWVtYmVyX29ial9wdHJfcmVzdWx0PFQgJiwgQyB2b2xhdGlsZT4KKyAgICB7IHR5cGVkZWYgVCAmIHR5cGU7IH07CisKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBULCBjbGFzcyBDPgorICAgIHN0cnVjdCBtZW1iZXJfb2JqX3B0cl9yZXN1bHQ8VCAmLCBDIGNvbnN0IHZvbGF0aWxlPgorICAgIHsgdHlwZWRlZiBUICYgdHlwZTsgfTsKKworICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQsIGNsYXNzIEMsIHR5cGVuYW1lIEw+CisgICAgc3RydWN0IG1lbWJlcl9vYmpfcHRyX2NvbXBvbmVudHMKKyAgICAgIDogbWVtYmVyX29iamVjdF9wb2ludGVyX2Jhc2UKKyAgICB7CisgICAgICB0eXBlZGVmIGZ1bmN0aW9uX3R5cGVzOjpjb21wb25lbnRzPFQgQzo6KiwgTD4gdHlwZTsKKyAgICAgIHR5cGVkZWYgY29tcG9uZW50c19tcGxfc2VxdWVuY2VfdGFnIHRhZzsKKworICAgICAgdHlwZWRlZiBtcGw6OmludGVncmFsX2M8c3RkOjpzaXplX3QsMT4gZnVuY3Rpb25fYXJpdHk7CisKKyAgICAgIHR5cGVkZWYgbXBsOjp2ZWN0b3IyPCB0eXBlbmFtZSBkZXRhaWw6Om1lbWJlcl9vYmpfcHRyX3Jlc3VsdDxULEM+Ojp0eXBlLAorICAgICAgICAgIHR5cGVuYW1lIGRldGFpbDo6Y2xhc3NfdHJhbnNmb3JtPEMsTD46OnR5cGUgPiB0eXBlczsKKyAgICB9OworCisjaWYgIUJPT1NUX1dPUktBUk9VTkQoX19CT1JMQU5EQ19fLCA8PSAweDU2NSkKKyMgICBkZWZpbmUgQk9PU1RfRlRfdmFyaWF0aW9ucyBCT09TVF9GVF9wb2ludGVyfEJPT1NUX0ZUX21lbWJlcl9wb2ludGVyCisKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBULCBjbGFzcyBDLCB0eXBlbmFtZSBMPgorICAgIHN0cnVjdCBjb21wb25lbnRzX2ltcGw8VCBDOjoqLCBMPgorICAgICAgOiBtZW1iZXJfb2JqX3B0cl9jb21wb25lbnRzPFQsQyxMPgorICAgIHsgfTsKKworI2Vsc2UgIAorIyAgIGRlZmluZSBCT09TVF9GVF92YXJpYXRpb25zIEJPT1NUX0ZUX3BvaW50ZXIKKworICAgIC8vIFRoaXMgd29ya2Fyb3VuZCByZW1vdmVzIHRoZSBtZW1iZXIgcG9pbnRlciBmcm9tIHRoZSB0eXBlIHRvIGFsbG93IAorICAgIC8vIGRldGVjdGlvbiBvZiBtZW1iZXIgZnVuY3Rpb24gcG9pbnRlcnMgd2l0aCBCQ0MuIAorICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lIEMsIHR5cGVuYW1lIEw+CisgICAgc3RydWN0IGNvbXBvbmVudHNfaW1wbDxUIEM6OiosIEw+CisgICAgICA6IGRldGFpbDo6cmV0YWdnZWRfaWYKKyAgICAgICAgPCBkZXRhaWw6OmNvbXBvbmVudHNfaW1wbDx0eXBlbmFtZSBuZG5ib29zdDo6cmVtb3ZlX2N2PFQ+Ojp0eXBlICosIEw+CisgICAgICAgICwgcG9pbnRlcl90YWcsIC8qIC0tPiAqLyBtZW1iZXJfZnVuY3Rpb25fcG9pbnRlcl90YWcKKyAgICAgICAgLCBtZW1iZXJfb2JqX3B0cl9jb21wb25lbnRzPFQsQyxMPiA+CisgICAgeyB9OworCisgICAgLy8gQkNDIGxldHMgdXMgdGVzdCB0aGUgY3YtcXVhbGlmaWNhdGlvbiBvZiBhIGZ1bmN0aW9uIHR5cGUgYnkgdGVtcGxhdGUgCisgICAgLy8gcGFydGlhbCBzcGVjaWFsaXphdGlvbiAtIHNvIHdlIHVzZSB0aGlzIGJ1ZyBmZWF0dXJlIHRvIGZpbmQgb3V0IHRoZSAKKyAgICAvLyBtZW1iZXIgZnVuY3Rpb24ncyBjdi1xdWFsaWZpY2F0aW9uICh1bmZvcnR1bmF0ZWx5IHRoZXJlIGFyZSBzb21lIAorICAgIC8vIGludmlzaWJsZSBtb2RpZmllcnMgdGhhdCBpbXBvc2Ugc29tZSBsaW1pdGF0aW9ucyBvbiB0aGVzZSB0eXBlcyBldmVuIGlmCisgICAgLy8gd2UgcmVtb3ZlIHRoZSBxdWFsaWZpZXJzLCBTbyB3ZSBjYW5ub3QgZXhwbG9pdCB0aGUgc2FtZSBidWcgdG8gbWFrZSB0aGUgCisgICAgLy8gbGlicmFyeSB3b3JrIGZvciBjdi1xdWFsaWZpZWQgZnVuY3Rpb24gdHlwZXMpLgorICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBlbmNvZGVfY3YKKyAgICB7IHR5cGVkZWYgY2hhciAoJiB0eXBlKVsxXTsgQk9PU1RfU1RBVElDX0NPTlNUQU5UKHN0ZDo6c2l6ZV90LCB2YWx1ZSA9IDEpOyB9OworICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBlbmNvZGVfY3Y8VCBjb25zdCAqPgorICAgIHsgdHlwZWRlZiBjaGFyICgmIHR5cGUpWzJdOyBCT09TVF9TVEFUSUNfQ09OU1RBTlQoc3RkOjpzaXplX3QsIHZhbHVlID0gMik7IH07CisgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IGVuY29kZV9jdjxUIHZvbGF0aWxlICo+CisgICAgeyB0eXBlZGVmIGNoYXIgKCYgdHlwZSlbM107IEJPT1NUX1NUQVRJQ19DT05TVEFOVChzdGQ6OnNpemVfdCwgdmFsdWUgPSAzKTsgfTsKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgZW5jb2RlX2N2PFQgY29uc3Qgdm9sYXRpbGUgKj4gCisgICAgeyB0eXBlZGVmIGNoYXIgKCYgdHlwZSlbNF07IEJPT1NUX1NUQVRJQ19DT05TVEFOVChzdGQ6OnNpemVfdCwgdmFsdWUgPSA0KTsgfTsKKworICAgIC8vIEZvciBtZW1iZXIgZnVuY3Rpb24gcG9pbnRlcnMgd2UgaGF2ZSB0byB1c2UgYSBmdW5jdGlvbiB0ZW1wbGF0ZSAocGFydGlhbAorICAgIC8vIHRlbXBsYXRlIHNwZWNpYWxpemF0aW9uIGZvciBhIG1lbWJlciBwb2ludGVyIGRyb3BzIHRoZSBjdiBxdWFsaWZpY2F0aW9uIAorICAgIC8vIG9mIHRoZSBmdW5jdGlvbiB0eXBlKS4KKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFtZSBDPgorICAgIHR5cGVuYW1lIGVuY29kZV9jdjxUICo+Ojp0eXBlIG1mcF9jdl90ZXN0ZXIoVCBDOjoqKTsKKworICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBlbmNvZGVfbWZwX2N2CisgICAgeyAKKyAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChzdGQ6OnNpemVfdCwgdmFsdWUgPSAKKyAgICAgICAgICBzaXplb2YoZGV0YWlsOjptZnBfY3ZfdGVzdGVyKChUKTBMKSkpOyAKKyAgICB9OworCisgICAgLy8gQXNzb2NpYXRlIGJpdHMgd2l0aCB0aGUgQ1YgY29kZXMgYWJvdmUuCisgICAgdGVtcGxhdGU8c3RkOjpzaXplX3Q+IHN0cnVjdCBjdl90YWdfbWZwX2ltcGw7CisKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgY3ZfdGFnX21mcAorICAgICAgOiBkZXRhaWw6OmN2X3RhZ19tZnBfaW1wbAorICAgICAgICA8IDo6bmRuYm9vc3Q6OmZ1bmN0aW9uX3R5cGVzOjpkZXRhaWw6OmVuY29kZV9tZnBfY3Y8VD46OnZhbHVlID4KKyAgICB7IH07CisKKyAgICB0ZW1wbGF0ZTw+IHN0cnVjdCBjdl90YWdfbWZwX2ltcGw8MT4gOiBub25fY3YgICAgICAgICAgICAgIHsgfTsKKyAgICB0ZW1wbGF0ZTw+IHN0cnVjdCBjdl90YWdfbWZwX2ltcGw8Mj4gOiBjb25zdF9ub25fdm9sYXRpbGUgIHsgfTsKKyAgICB0ZW1wbGF0ZTw+IHN0cnVjdCBjdl90YWdfbWZwX2ltcGw8Mz4gOiB2b2xhdGlsZV9ub25fY29uc3QgIHsgfTsKKyAgICB0ZW1wbGF0ZTw+IHN0cnVjdCBjdl90YWdfbWZwX2ltcGw8ND4gOiBjdl9xdWFsaWZpZWQgICAgICAgIHsgfTsKKworICAgIC8vIE1ldGFmdW5jdGlvbiB0byBkZWNvZGUgdGhlIGN2IGNvZGUgYW5kIGFwcGx5IGl0IHRvIGEgdHlwZS4KKyAgICAvLyBXZSBhZGQgYSBwb2ludGVyLCBiZWNhdXNlIG90aGVyd2lzZSBjdi1xdWFsaWZpZXJzIHdvbid0IHN0aWNrIChhbm90aGVyIGJ1ZykuCisgICAgdGVtcGxhdGU8dHlwZW5hbWUgVCwgc3RkOjpzaXplX3QgQ1Y+IHN0cnVjdCBkZWNvZGVfY3Y7CisKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgZGVjb2RlX2N2PFQsMT4gOiBtcGw6OmlkZW50aXR5PFQgKj4gICAgICAgICAge307CisgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IGRlY29kZV9jdjxULDI+IDogbXBsOjppZGVudGl0eTxUIGNvbnN0ICo+ICAgIHt9OworICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBkZWNvZGVfY3Y8VCwzPiA6IG1wbDo6aWRlbnRpdHk8VCB2b2xhdGlsZSAqPiB7fTsKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgZGVjb2RlX2N2PFQsND4gCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogbXBsOjppZGVudGl0eTxUIGNvbnN0IHZvbGF0aWxlICo+IHt9OworCisgICAgLy8gVGhlIGNsYXNzIHR5cGUgdHJhbnNmb3JtYXRpb24gY29tZXMgYWZ0ZXIgYWRkaW5nIGN2LXF1YWxpZmllcnMuIFdlIGhhdmUKKyAgICAvLyB3cmFwIGl0IHRvIHJlbW92ZSB0aGUgcG9pbnRlciBhZGRlZCBpbiBkZWNvZGVfY3ZfaW1wbC4KKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFtZSBMPiBzdHJ1Y3QgYmNjX2NsYXNzX3RyYW5zZm9ybV9pbXBsOworICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lIEw+IHN0cnVjdCBiY2NfY2xhc3NfdHJhbnNmb3JtX2ltcGw8VCAqLCBMPgorICAgICAgOiBjbGFzc190cmFuc2Zvcm08VCxMPiAKKyAgICB7IH07CisKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFtZSBELCB0eXBlbmFtZSBMPiBzdHJ1Y3QgYmNjX2NsYXNzX3RyYW5zZm9ybSAKKyAgICAgIDogYmNjX2NsYXNzX3RyYW5zZm9ybV9pbXBsCisgICAgICAgIDwgdHlwZW5hbWUgZGVjb2RlX2N2CisgICAgICAgICAgPCBUCisgICAgICAgICAgLCA6Om5kbmJvb3N0OjpmdW5jdGlvbl90eXBlczo6ZGV0YWlsOjplbmNvZGVfbWZwX2N2PEQ+Ojp2YWx1ZSAKKyAgICAgICAgICA+Ojp0eXBlCisgICAgICAgICwgTAorICAgICAgICA+IAorICAgIHsgfTsKKworICAgIC8vIEFmdGVyIGV4dHJhY3RpbmcgdGhlIG1lbWJlciBwb2ludGVlIGZyb20gdGhlIHR5cGUgdGhlIGNsYXNzIHR5cGUgaXMgc3RpbGwKKyAgICAvLyBpbiB0aGUgdHlwZSAoc29tZXdoZXJlIC0tIHlvdSB3b24ndCBzZWUgd2l0aCBSVFRJLCB0aGF0IGlzKSBhbmQgdGhhdCB0eXBlCisgICAgLy8gaXMgZmxhZ2dlZCB1bnVzYWJsZSBhbmQgKm5vdCogaWRlbnRpY2FsIHRvIHRoZSBub25tZW1iZXIgZnVuY3Rpb24gdHlwZS4KKyAgICAvLyBXZSBjYW4sIGhvd2V2ZXIsIGRlY29tcG9zZSB0aGlzIHR5cGUgdmlhIGNvbXBvbmVudHNfaW1wbCBidXQgc3VycHJpc2luZ2x5CisgICAgLy8gYSBwb2ludGVyIHRvIHRoZSBjb25zdCBxdWFsaWZpZWQgY2xhc3MgdHlwZSBwb3BzIHVwIGFnYWluIGFzIHRoZSBmaXJzdCAKKyAgICAvLyBwYXJhbWV0ZXIgdHlwZS4gCisgICAgLy8gV2UgaGF2ZSB0byByZXBsYWNlIHRoaXMgdHlwZSB3aXRoIHRoZSBwcm9wZXJseSBjdi1xdWFsaWZpZWQgYW5kIAorICAgIC8vIHRyYW5zZm9ybWVkIGNsYXNzIHR5cGUsIGludGVncmF0ZSB0aGUgY3YgcXVhbGlmaWNhdGlvbiBpbnRvIHRoZSBiaXRzLgorICAgIHRlbXBsYXRlPHR5cGVuYW1lIEJhc2UsIHR5cGVuYW1lIE1GUCwgdHlwZW5hbWUgT3JpZ1QsIHR5cGVuYW1lIEw+CisgICAgc3RydWN0IG1mcF9jb21wb25lbnRzOworCisKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBCYXNlLCB0eXBlbmFtZSBULCB0eXBlbmFtZSBDLCB0eXBlbmFtZSBPcmlnVCwgdHlwZW5hbWUgTD4KKyAgICBzdHJ1Y3QgbWZwX2NvbXBvbmVudHM8QmFzZSxUIEM6OiosT3JpZ1QsTD4gCisgICAgeworICAgIHByaXZhdGU6CisgICAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6ZnJvbnQ8dHlwZW5hbWUgQmFzZTo6dHlwZXM+Ojp0eXBlIHJlc3VsdF90eXBlOworICAgICAgdHlwZWRlZiB0eXBlbmFtZSBkZXRhaWw6OmJjY19jbGFzc190cmFuc2Zvcm08QyxPcmlnVCxMPjo6dHlwZSBjbGFzc190eXBlOworCisgICAgICB0eXBlZGVmIG1wbDo6dmVjdG9yMjxyZXN1bHRfdHlwZSwgY2xhc3NfdHlwZT4gcmVzdWx0X2FuZF9jbGFzc190eXBlOworCisgICAgICB0eXBlZGVmIHR5cGVuYW1lIAorICAgICAgICBtcGw6OmFkdmFuY2UKKyAgICAgICAgPCB0eXBlbmFtZSBtcGw6OmJlZ2luPHR5cGVuYW1lIEJhc2U6OnR5cGVzPjo6dHlwZQorICAgICAgICAsIHR5cGVuYW1lIG1wbDo6aWZfCisgICAgICAgICAgPCBtcGw6OmVxdWFsX3RvPCB0eXBlbmFtZSBkZXRhaWw6OmNsYXNzaWZpZXI8T3JpZ1Q+OjpmdW5jdGlvbl9hcml0eQorICAgICAgICAgICAgICAgICAgICAgICAgICwgdHlwZW5hbWUgQmFzZTo6ZnVuY3Rpb25fYXJpdHkgPgorICAgICAgICAgICwgbXBsOjppbnRlZ3JhbF9jPGludCwyPiAsIG1wbDo6aW50ZWdyYWxfYzxpbnQsMT4gCisgICAgICAgICAgPjo6dHlwZQorICAgICAgICA+Ojp0eXBlCisgICAgICBmcm9tOworICAgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6OmVuZDx0eXBlbmFtZSBCYXNlOjp0eXBlcz46OnR5cGUgdG87CisKKyAgICAgIHR5cGVkZWYgbXBsOjppdGVyYXRvcl9yYW5nZTxmcm9tLHRvPiBwYXJhbV90eXBlczsKKworICAgICAgdHlwZWRlZiBtcGw6OmpvaW50X3ZpZXc8IHJlc3VsdF9hbmRfY2xhc3NfdHlwZSwgcGFyYW1fdHlwZXM+IHR5cGVzX3ZpZXc7CisgICAgcHVibGljOgorCisgICAgICB0eXBlZGVmIHR5cGVuYW1lIAorICAgICAgICBtcGw6OnJldmVyc2VfY29weTx0eXBlc192aWV3LCBtcGw6OmZyb250X2luc2VydGVyPCBtcGw6OnZlY3RvcjA8PiA+ID46OnR5cGUgCisgICAgICB0eXBlczsKKworICAgICAgdHlwZWRlZiB0eXBlbmFtZSAKKyAgICAgICAgZnVuY3Rpb25fdHlwZXM6OnRhZzwgQmFzZSwgZGV0YWlsOjpjdl90YWdfbWZwPE9yaWdUPiA+OjpiaXRzIAorICAgICAgYml0czsKKworICAgICAgdHlwZWRlZiB0eXBlbmFtZSBCYXNlOjptYXNrIG1hc2s7CisKKyAgICAgIHR5cGVkZWYgdHlwZW5hbWUgZGV0YWlsOjpjbGFzc2lmaWVyPE9yaWdUPjo6ZnVuY3Rpb25fYXJpdHkgZnVuY3Rpb25fYXJpdHk7CisKKyAgICAgIHR5cGVkZWYgY29tcG9uZW50c19tcGxfc2VxdWVuY2VfdGFnIHRhZzsKKyAgICB9OworCisgICAgLy8gTm93IHB1dCBpdCBhbGwgdG9nZXRoZXI6IGRldGVjdCBjdi1xdWFsaWZpY2F0aW9uIG9mIGZ1bmN0aW9uIHR5cGVzIGFuZCBkbworICAgIC8vIHRoZSB3ZWlyZCB0cmFuc2Zvcm1hdGlvbnMgYWJvdmUgZm9yIG1lbWJlciBmdW5jdGlvbiBwb2ludGVycy4KKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFtZSBPcmlnVCwgdHlwZW5hbWUgTD4KKyAgICBzdHJ1Y3QgY29tcG9uZW50c19iY2MKKyAgICAgIDogbXBsOjppZl8KKyAgICAgICAgPCBkZXRhaWw6OnJlcHJlc2VudHNfaW1wbDwgZGV0YWlsOjpjb21wb25lbnRzX2ltcGw8VCxMPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLCBtZW1iZXJfZnVuY3Rpb25fcG9pbnRlcl90YWc+CisgICAgICAgICwgZGV0YWlsOjptZnBfY29tcG9uZW50czxkZXRhaWw6OmNvbXBvbmVudHNfaW1wbDxULEw+LFQsT3JpZ1QsTD4KKyAgICAgICAgLCBkZXRhaWw6OmNvbXBvbmVudHNfaW1wbDxULEw+CisgICAgICAgID46OnR5cGUKKyAgICB7IH07CisKKyNlbmRpZiAvLyBlbmQgb2YgQk9STEFORCBXT1JLQVJPVU5ECisKKyNkZWZpbmUgQk9PU1RfRlRfYWxfcGF0aCBib29zdC9mdW5jdGlvbl90eXBlcy9kZXRhaWwvY29tcG9uZW50c19pbXBsCisjaW5jbHVkZSA8bmRuYm9vc3QvZnVuY3Rpb25fdHlwZXMvZGV0YWlsL3BwX2xvb3AuaHBwPgorCisgIH0gfSAvLyBuYW1lc3BhY2UgZnVuY3Rpb25fdHlwZXM6OmRldGFpbAorCisgIEJPT1NUX1RUX0FVWF9URU1QTEFURV9BUklUWV9TUEVDKDIsZnVuY3Rpb25fdHlwZXM6OmNvbXBvbmVudHMpCisKK30gLy8gbmFtZXNwYWNlIDo6Ym9vc3QKKworI2luY2x1ZGUgPG5kbmJvb3N0L2Z1bmN0aW9uX3R5cGVzL2RldGFpbC9jb21wb25lbnRzX2FzX21wbF9zZXF1ZW5jZS5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvZnVuY3Rpb25fdHlwZXMvZGV0YWlsL3JldGFnX2RlZmF1bHRfY2MuaHBwPgorCisjZW5kaWYKKwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvZnVuY3Rpb25fdHlwZXMvY29uZmlnL2NjX25hbWVzLmhwcCBiL25kbmJvb3N0L2Z1bmN0aW9uX3R5cGVzL2NvbmZpZy9jY19uYW1lcy5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWI2OWQ2NAotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L2Z1bmN0aW9uX3R5cGVzL2NvbmZpZy9jY19uYW1lcy5ocHAKQEAgLTAsMCArMSwzMSBAQAorCisvLyAoQykgQ29weXJpZ2h0IFRvYmlhcyBTY2h3aW5nZXIKKy8vCisvLyBVc2UgbW9kaWZpY2F0aW9uIGFuZCBkaXN0cmlidXRpb24gYXJlIHN1YmplY3QgdG8gdGhlIGJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsCisvLyBWZXJzaW9uIDEuMC4gKFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpLgorCisvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisjaWZuZGVmIEJPT1NUX0ZUX0NPTkZJR19DQ19OQU1FU19IUFBfSU5DTFVERUQKKyNkZWZpbmUgQk9PU1RfRlRfQ09ORklHX0NDX05BTUVTX0hQUF9JTkNMVURFRAorCisjZGVmaW5lIEJPT1NUX0ZUX0JVSUxUSU5fQ0NfTkFNRVMgXAorICAoKCBJTVBMSUNJVCAgICAgICAgICAgLCBpbXBsaWNpdF9jYyAsIEJPT1NUX1BQX0VNUFRZICAgICAgICAgICAgICAgICkpXAorICAoKCBDREVDTCAgICAgICAgICAgICAgLCBjZGVjbF9jYyAgICAsIEJPT1NUX1BQX0lERU5USVRZKF9fY2RlY2wgICApICkpXAorICAoKCBTVERDQUxMICAgICAgICAgICAgLCBzdGRjYWxsX2NjICAsIEJPT1NUX1BQX0lERU5USVRZKF9fc3RkY2FsbCApICkpXAorICAoKCBQQVNDQUwgICAgICAgICAgICAgLCBwYXNjYWxfY2MgICAsIEJPT1NUX1BQX0lERU5USVRZKHBhc2NhbCAgICApICkpXAorICAoKCBGQVNUQ0FMTCAgICAgICAgICAgLCBmYXN0Y2FsbF9jYyAsIEJPT1NUX1BQX0lERU5USVRZKF9fZmFzdGNhbGwpICkpXAorICAoKCBDTFJDQUxMICAgICAgICAgICAgLCBjbHJjYWxsX2NjICAsIEJPT1NUX1BQX0lERU5USVRZKF9fY2xyY2FsbCApICkpXAorICAoKCBUSElTQ0FMTCAgICAgICAgICAgLCB0aGlzY2FsbF9jYyAsIEJPT1NUX1BQX0lERU5USVRZKF9fdGhpc2NhbGwpICkpXAorICAoKCBJTVBMSUNJVF9USElTQ0FMTCAgLCB0aGlzY2FsbF9jYyAsIEJPT1NUX1BQX0VNUFRZICAgICAgICAgICAgICAgICkpIAorCisvLyBhcHBlbmQgdXNlci1kZWZpbmVkIGNjIG5hbWVzIHRvIGJ1aWx0aW4gb25lcworI2lmZGVmIEJPT1NUX0ZUX0NDX05BTUVTIAorIyAgIGRlZmluZSBCT09TVF9GVF9DQ19OQU1FU19TRVEgQk9PU1RfRlRfQlVJTFRJTl9DQ19OQU1FUyBCT09TVF9GVF9DQ19OQU1FUworIyAgIGRlZmluZSBCT09TVF9GVF9DQ19QUkVQUk9DRVNTSU5HIDEKKyNlbHNlCisjICAgZGVmaW5lIEJPT1NUX0ZUX0NDX05BTUVTX1NFUSBCT09TVF9GVF9CVUlMVElOX0NDX05BTUVTCisjZW5kaWYKKworI2VuZGlmCisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L2Z1bmN0aW9uX3R5cGVzL2NvbmZpZy9jb21waWxlci5ocHAgYi9uZG5ib29zdC9mdW5jdGlvbl90eXBlcy9jb25maWcvY29tcGlsZXIuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjliMDZkMTgKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9mdW5jdGlvbl90eXBlcy9jb25maWcvY29tcGlsZXIuaHBwCkBAIC0wLDAgKzEsMTE2IEBACisKKy8vIChDKSBDb3B5cmlnaHQgVG9iaWFzIFNjaHdpbmdlcgorLy8KKy8vIFVzZSBtb2RpZmljYXRpb24gYW5kIGRpc3RyaWJ1dGlvbiBhcmUgc3ViamVjdCB0byB0aGUgYm9vc3QgU29mdHdhcmUgTGljZW5zZSwKKy8vIFZlcnNpb24gMS4wLiAoU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkuCisKKy8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKyNpZm5kZWYgQk9PU1RfRlRfQ09ORklHX0NPTVBJTEVSX0hQUF9JTkNMVURFRAorI2RlZmluZSBCT09TVF9GVF9DT05GSUdfQ09NUElMRVJfSFBQX0lOQ0xVREVECisKKyNpbmNsdWRlIDxuZG5ib29zdC9jb25maWcuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L2RldGFpbC93b3JrYXJvdW5kLmhwcD4KKworI2lmIGRlZmluZWQoQk9PU1RfTVNWQykKKworIyAgIGlmIEJPT1NUX01TVkMgPCAxMzEwCisjICAgICBlcnJvciAidW5zdXBwb3J0ZWQgY29tcGlsZXIgdmVyc2lvbiIKKyMgICBlbmRpZgorCisjICAgaWZkZWYgQk9PU1RfRlRfQVVUT0RFVEVDVF9DQUxMSU5HX0NPTlZFTlRJT05TCisKKyAgICAgIC8vIGVuYWJsZSBjbHJjYWxsIGNhbGxpbmcgY292ZW50aW9uIChjYWxsIHRvIC5ORVQgbWFuYWdlZCBjb2RlKSB3aGVuCisgICAgICAvLyBjb21waWxpbmcgd2l0aCAvY2xyIAorIyAgICAgaWYgQk9PU1RfTVNWQyA+PSAxNDAwICYmIGRlZmluZWQoX19jcGx1c3BsdXNfY2xpKQorIyAgICAgICBpZm5kZWYgQk9PU1RfRlRfQ0NfQ0xSQ0FMTAorIyAgICAgICBkZWZpbmUgQk9PU1RfRlRfQ0NfQ0xSQ0FMTCBjYWxsYWJsZV9idWlsdGluCisjICAgICAgIGVuZGlmCisjICAgICBlbmRpZgorCisgICAgICAvLyBJbnRlbCB4ODYgYXJjaGl0ZWN0dXJlIHNwZWNpZmljIGNhbGxpbmcgY29udmVudGlvbnMKKyMgICAgIGlmZGVmIF9NX0lYODYKKyMgICAgICAgZGVmaW5lIEJPT1NUX0ZUX0NPTU1PTl9YODZfQ0NzIGNhbGxhYmxlX2J1aWx0aW4KKyMgICAgICAgaWYgQk9PU1RfTVNWQyA8IDE0MDAKKyAgICAgICAgICAvLyB2ZXJzaW9uIDcuMSBpcyBtaXNzaW5nIGEga2V5d29yZCB0byBzcGVjaWZ5IHRoZSB0aGlzY2FsbCBjYyAuLi4KKyMgICAgICAgICBpZm5kZWYgQk9PU1RfRlRfQ0NfSU1QTElDSVRfVEhJU0NBTEwKKyMgICAgICAgICBkZWZpbmUgQk9PU1RfRlRfQ0NfSU1QTElDSVRfVEhJU0NBTEwgbm9uX3ZhcmlhZGljfG1lbWJlcnxjYWxsYWJsZV9idWlsdGluCisjICAgICAgICAgaWZuZGVmIEJPT1NUX0ZUX0NPTkZJR19PSworIyAgICAgICAgICAgcHJhZ21hIG1lc3NhZ2UoIklORk98IC9HZCAvR3IgL0d6IHdpbGwgY29tcGlsZXIgb3B0aW9ucyB3aWxsIGNhdXNlIikKKyMgICAgICAgICAgIHByYWdtYSBtZXNzYWdlKCJJTkZPfCBhIGNvbXBpbGUgZXJyb3IuIikKKyMgICAgICAgICAgIHByYWdtYSBtZXNzYWdlKCJJTkZPfCBSZWNvbmZpZ3VyZSBCb29zdC5GdW5jdGlvblR5cGVzIGluIHRoaXMgY2FzZS4iKQorIyAgICAgICAgICAgcHJhZ21hIG1lc3NhZ2UoIklORk98IFRoaXMgbWVzc2FnZSBjYW4gYmUgc3VwcHJlc3NlZCBieSBkZWZpbmluZyIpCisjICAgICAgICAgICBwcmFnbWEgbWVzc2FnZSgiSU5GT3wgQk9PU1RfRlRfQ09ORklHX09LLiIpCisjICAgICAgICAgZW5kaWYKKyMgICAgICAgICBlbmRpZgorIyAgICAgICBlbHNlIAorICAgICAgICAgIC8vIC4uLmludHJvZHVjZWQgaW4gdmVyc2lvbiA4CisjICAgICAgICAgaWZuZGVmIEJPT1NUX0ZUX0NDX1RISVNDQUxMCisjICAgICAgICAgZGVmaW5lIEJPT1NUX0ZUX0NDX1RISVNDQUxMIG5vbl92YXJpYWRpY3xtZW1iZXJ8Y2FsbGFibGVfYnVpbHRpbgorIyAgICAgICAgIGVuZGlmCisjICAgICAgIGVuZGlmCisjICAgICBlbmRpZgorIyAgIGVuZGlmCisKKyNlbGlmIGRlZmluZWQoX19HTlVDX18pICYmICFkZWZpbmVkKEJPT1NUX0lOVEVMX0xJTlVYKQorCisjICAgaWYgX19HTlVDX18gPCAzCisjICAgICBlcnJvciAidW5zdXBwb3J0ZWQgY29tcGlsZXIgdmVyc2lvbiIKKyMgICBlbmRpZgorCisjICAgaWZkZWYgQk9PU1RfRlRfQVVUT0RFVEVDVF9DQUxMSU5HX0NPTlZFTlRJT05TCisKKyMgICAgIGlmIGRlZmluZWQoX19pMzg2X18pCisjICAgICAgIC8vIHNlZSBodHRwOi8vZ2NjLmdudS5vcmcvYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTIwNDM5CisjICAgICAgIC8vIHNlZSBodHRwOi8vZ2NjLmdudS5vcmcvYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTI5MzI4CisjICAgICAgIGlmIEJPT1NUX1dPUktBUk9VTkQoX19HTlVDX18sQk9PU1RfVEVTVEVEX0FUKDQpKQorIyAgICAgICAgIGlmbmRlZiBCT09TVF9GVF9DQ19JTVBMSUNJVCAKKyMgICAgICAgICBkZWZpbmUgQk9PU1RfRlRfQ0NfSU1QTElDSVQgbWVtYmVyfGNhbGxhYmxlX2J1aWx0aW4KKyMgICAgICAgICBlbmRpZgorIyAgICAgICAgIGRlZmluZSBCT09TVF9GVF9DT01NT05fWDg2X0NDcyBub25fbWVtYmVyfGNhbGxhYmxlX2J1aWx0aW4KKyMgICAgICAgZWxzZQorIyAgICAgICAgIGRlZmluZSBCT09TVF9GVF9DT01NT05fWDg2X0NDcyBjYWxsYWJsZV9idWlsdGluCisjICAgICAgIGVuZGlmCisjICAgICBlbHNlCisjICAgICAgIGlmbmRlZiBCT09TVF9GVF9DQ19JTVBMSUNJVAorIyAgICAgICBkZWZpbmUgQk9PU1RfRlRfQ0NfSU1QTElDSVQgY2FsbGFibGVfYnVpbHRpbgorIyAgICAgICBlbmRpZgorIyAgICAgZW5kaWYKKyMgICBlbmRpZgorCisjICAgaWYgKGRlZmluZWQoQk9PU1RfRlRfQ0NfQ0RFQ0wpIHx8IGRlZmluZWQoQk9PU1RfRlRfQ09NTU9OX1g4Nl9DQ3MpKSBcCisgICAgICAgICYmICFkZWZpbmVkKF9fY2RlY2wpCisjICAgICBkZWZpbmUgX19jZGVjbCBfX2F0dHJpYnV0ZV9fKChfX2NkZWNsX18pKQorIyAgIGVuZGlmCisjICAgaWYgKGRlZmluZWQoQk9PU1RfRlRfQ0NfU1REQ0FMTCkgfHwgZGVmaW5lZChCT09TVF9GVF9DT01NT05fWDg2X0NDcykpIFwKKyAgICAgICAgJiYgIWRlZmluZWQoX19zdGRjYWxsKQorIyAgICAgZGVmaW5lIF9fc3RkY2FsbCBfX2F0dHJpYnV0ZV9fKChfX3N0ZGNhbGxfXykpCisjICAgZW5kaWYKKyMgICBpZiAoZGVmaW5lZChCT09TVF9GVF9DQ19GQVNUQ0FMTCkgfHwgZGVmaW5lZChCT09TVF9GVF9DT01NT05fWDg2X0NDcykpIFwKKyAgICAgICAgJiYgIWRlZmluZWQoX19mYXN0Y2FsbCkKKyMgICAgIGRlZmluZSBfX2Zhc3RjYWxsIF9fYXR0cmlidXRlX18oKF9fZmFzdGNhbGxfXykpCisjICAgZW5kaWYKKworI2VsaWYgZGVmaW5lZChfX0JPUkxBTkRDX18pCisKKyMgICBpZiBfX0JPUkxBTkRDX18gPCAweDU1MAorIyAgICAgZXJyb3IgInVuc3VwcG9ydGVkIGNvbXBpbGVyIHZlcnNpb24iCisjICAgZWxpZiBfX0JPUkxBTkRDX18gPiAweDU2NQorIyAgICAgcHJhZ21hIG1lc3NhZ2UoIldBUk5JTkc6IGxpYnJhcnkgdW50ZXN0ZWQgd2l0aCB0aGlzIGNvbXBpbGVyIHZlcnNpb24iKQorIyAgIGVuZGlmCisKKyMgICBpZmRlZiBCT09TVF9GVF9BVVRPREVURUNUX0NBTExJTkdfQ09OVkVOVElPTlMKKyMgICAgIGRlZmluZSBCT09TVF9GVF9DT01NT05fWDg2X0NDcyBjYWxsYWJsZV9idWlsdGluCisjICAgZW5kaWYKKworICAgIC8vIHN5bnRhY3RpYyBzcGVjaWFsaXRpZXMgb2YgY2Mgc3BlY2lmaWVyCisjICAgZGVmaW5lIEJPT1NUX0ZUX1NZTlRBWChyZXN1bHQsbHBhcmVuLGNjX3NwZWMsdHlwZV9tb2QsbmFtZSxycGFyZW4pIFwKKyAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdCgpIGNjX3NwZWMoKSBscGFyZW4oKSB0eXBlX21vZCgpIG5hbWUoKSBycGFyZW4oKQorI2Vsc2UKKyAgICAvLyBvbmx5IGVuYWJsZSBkZWZhdWx0IGNhbGxpbmcgY29udmVudGlvbgorIyAgIGRlZmluZSBCT09TVF9GVF9DQ19JTVBMSUNJVCBjYWxsYWJsZV9idWlsdGluCisjZW5kaWYKKworCisjZW5kaWYKKwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvZnVuY3Rpb25fdHlwZXMvY29uZmlnL2NvbmZpZy5ocHAgYi9uZG5ib29zdC9mdW5jdGlvbl90eXBlcy9jb25maWcvY29uZmlnLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mYjQyOGE0Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvZnVuY3Rpb25fdHlwZXMvY29uZmlnL2NvbmZpZy5ocHAKQEAgLTAsMCArMSw1OSBAQAorCisvLyAoQykgQ29weXJpZ2h0IFRvYmlhcyBTY2h3aW5nZXIKKy8vCisvLyBVc2UgbW9kaWZpY2F0aW9uIGFuZCBkaXN0cmlidXRpb24gYXJlIHN1YmplY3QgdG8gdGhlIGJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsCisvLyBWZXJzaW9uIDEuMC4gKFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpLgorCisvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisjaWZuZGVmIEJPT1NUX0ZUX0NPTkZJR19IUFBfSU5DTFVERUQKKyNkZWZpbmUgQk9PU1RfRlRfQ09ORklHX0hQUF9JTkNMVURFRAorCisjaW5jbHVkZSA8bmRuYm9vc3QvZnVuY3Rpb25fdHlwZXMvY29uZmlnL2NvbXBpbGVyLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9mdW5jdGlvbl90eXBlcy9jb25maWcvY2NfbmFtZXMuaHBwPgorCisvLyBtYXhpbXVtIGFsbG93ZWQgYXJpdHkKKyNpZm5kZWYgQk9PU1RfRlRfTUFYX0FSSVRZCisjZGVmaW5lIEJPT1NUX0ZUX01BWF9BUklUWSAyMAorI2VuZGlmCisKKy8vIHRoZSBtb3N0IGNvbW1vbiBjYWxsaW5nIGNvbnZlbnRpb25zIGZvciB4ODYgYXJjaGl0ZWN0dXJlIGNhbiBiZSBlbmFibGVkIGF0CisvLyBvbmNlIGluIHRoZSBjb21waWxlciBjb25maWcKKyNpZmRlZiBCT09TVF9GVF9DT01NT05fWDg2X0NDcworIyAgIGlmbmRlZiBCT09TVF9GVF9DQ19DREVDTAorIyAgIGRlZmluZSBCT09TVF9GVF9DQ19DREVDTCBCT09TVF9GVF9DT01NT05fWDg2X0NDcworIyAgIGVuZGlmCisjICAgaWZuZGVmIEJPT1NUX0ZUX0NDX1NURENBTEwKKyMgICBkZWZpbmUgQk9PU1RfRlRfQ0NfU1REQ0FMTCBub25fdmFyaWFkaWN8Qk9PU1RfRlRfQ09NTU9OX1g4Nl9DQ3MKKyMgICBlbmRpZgorIyAgIGlmbmRlZiBCT09TVF9GVF9DQ19GQVNUQ0FMTAorIyAgIGRlZmluZSBCT09TVF9GVF9DQ19GQVNUQ0FMTCBub25fdmFyaWFkaWN8Qk9PU1RfRlRfQ09NTU9OX1g4Nl9DQ3MKKyMgICBlbmRpZgorI2VuZGlmCisKKy8vIHdoZXJlIHRvIHBsYWNlIHRoZSBjYyBzcGVjaWZpZXIgKHRoZSBjb21tb24gd2F5KQorI2lmbmRlZiBCT09TVF9GVF9TWU5UQVgKKyMgICBkZWZpbmUgQk9PU1RfRlRfU1lOVEFYKHJlc3VsdCxscGFyZW4sY2Nfc3BlYyx0eXBlX21vZCxuYW1lLHJwYXJlbikgXAorICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0KCkgbHBhcmVuKCkgY2Nfc3BlYygpIHR5cGVfbW9kKCkgbmFtZSgpIHJwYXJlbigpCisjZW5kaWYKKworLy8gcGFyYW0gZm9yIG51bGxhcnkgZnVuY3Rpb25zCisvLyBzZXQgdG8gInZvaWQiIGZvciBjb21waWxlcnMgdGhhdCByZXF1aXJlIG51bGxhcnkgZnVuY3Rpb25zIHRvIHJlYWQgCisvLyAiUiAodm9pZCkiIGluIHRlbXBsYXRlIHBhcnRpYWwgc3BlY2lhbGl6YXRpb24KKyNpZm5kZWYgQk9PU1RfRlRfTlVMTEFSWV9QQVJBTQorI2RlZmluZSBCT09TVF9GVF9OVUxMQVJZX1BBUkFNIAorI2VuZGlmCisKKy8vIHRoZXJlIGlzIGEgcGVuZGluZyBkZWZlY3QgcmVwb3J0IG9uIGN2IHF1YWxpZmllZCBmdW5jdGlvbiB0eXBlcywgc28gc3VwcG9ydAorLy8gZm9yIHRoZXNlIHR5cGVzIGlzIGRpc2FibGVkLCB1bmxlc3MgZm9yIGNvbXBpbGVycyB3aGVyZSBpdCdzIGtub3duIHRvIHdvcmsKKyNpZm5kZWYgQk9PU1RfRlRfTk9fQ1ZfRlVOQ19TVVBQT1JUCisjZGVmaW5lIEJPT1NUX0ZUX05PX0NWX0ZVTkNfU1VQUE9SVCAxCisjZW5kaWYKKworLy8gZnVsbCBwcmVwcm9jZXNzaW5nIGltcGxpZXMgcHJlcHJvY2Vzc2luZyBvZiB0aGUgY2NzCisjaWYgZGVmaW5lZChCT09TVF9GVF9QUkVQUk9DRVNTSU5HX01PREUpICYmICFkZWZpbmVkKEJPT1NUX0ZUX0NDX1BSRVBST0NFU1NJTkcpCisjICAgZGVmaW5lIEJPT1NUX0ZUX0NDX1BSRVBST0NFU1NJTkcgMQorI2VuZGlmCisKKyNlbmRpZgorCmRpZmYgLS1naXQgYS9uZG5ib29zdC9mdW5jdGlvbl90eXBlcy9kZXRhaWwvY2xhc3NfdHJhbnNmb3JtLmhwcCBiL25kbmJvb3N0L2Z1bmN0aW9uX3R5cGVzL2RldGFpbC9jbGFzc190cmFuc2Zvcm0uaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU2YWNlMTcKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9mdW5jdGlvbl90eXBlcy9kZXRhaWwvY2xhc3NfdHJhbnNmb3JtLmhwcApAQCAtMCwwICsxLDYyIEBACisKKy8vIChDKSBDb3B5cmlnaHQgVG9iaWFzIFNjaHdpbmdlcgorLy8KKy8vIFVzZSBtb2RpZmljYXRpb24gYW5kIGRpc3RyaWJ1dGlvbiBhcmUgc3ViamVjdCB0byB0aGUgYm9vc3QgU29mdHdhcmUgTGljZW5zZSwKKy8vIFZlcnNpb24gMS4wLiAoU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkuCisKKy8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKyNpZm5kZWYgQk9PU1RfRlRfREVUQUlMX0NMQVNTX1RSQU5TRk9STV9IUFBfSU5DTFVERUQKKyNkZWZpbmUgQk9PU1RfRlRfREVUQUlMX0NMQVNTX1RSQU5TRk9STV9IUFBfSU5DTFVERUQKKworI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hcHBseS5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2Fsd2F5cy5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2lkZW50aXR5LmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvcGxhY2Vob2xkZXJzLmhwcD4KKworI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL3JlbW92ZV9jdi5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvYWRkX3BvaW50ZXIuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2FkZF9yZWZlcmVuY2UuaHBwPgorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgZnVuY3Rpb25fdHlwZXMgeyBuYW1lc3BhY2UgZGV0YWlsIHsKKwordXNpbmcgbXBsOjpwbGFjZWhvbGRlcnM6Ol87CisKKy8vIFRyYW5zZm9ybWF0aW9uIG1ldGFmdW5jdGlvbiBmb3IgdGhlIGNsYXNzIHR5cGUgb2YgbWVtYmVyIGZ1bmN0aW9uIHBvaW50ZXJzLgordGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUgTD4KK3N0cnVjdCBjbGFzc190cmFuc2Zvcm0KK3sgdHlwZWRlZiB0eXBlbmFtZSBtcGw6OmFwcGx5MTxMLFQ+Ojp0eXBlIHR5cGU7IH07CisKKworI2lmbmRlZiBCT09TVF9OT19URU1QTEFURV9QQVJUSUFMX1NQRUNJQUxJWkFUSU9OCisvLyBXZSBjYW4gc2hvcnQtY2lyY3VpdCB0aGUgbWVjaGFuaXNtIGltcGxlbWVudGVkIGluIHRoZSBwcmltYXJ5IHRlbXBsYXRlIGZvciAKKy8vIHRoZSBtb3N0IGNvbW1vbiBsYW1iZGEgZXhwcmVzc2lvbiBhbmQgc2F2ZSBib3RoIHRoZSAidW4tbGFtYmRhaW5nIiBhbmQgdGhlCisvLyB0eXBlIHRyYWl0cyBpbnZvY2F0aW9uICh3ZSBrbm93IHRoYXQgVCBjYW4gb25seSBiZSBhIGNsYXNzIHR5cGUpLgorCit0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgY2xhc3NfdHJhbnNmb3JtPCBULCBtcGw6OmlkZW50aXR5PF8+ID4KK3sgdHlwZWRlZiBUIHR5cGU7IH07CisKK3RlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBjbGFzc190cmFuc2Zvcm08IFQsIGFkZF9yZWZlcmVuY2U8Xz4gPiAKK3sgdHlwZWRlZiBUICYgdHlwZTsgfTsKKwordGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IGNsYXNzX3RyYW5zZm9ybTwgVCwgYWRkX3BvaW50ZXI8Xz4gPgoreyB0eXBlZGVmIFQgKiB0eXBlOyB9OworCit0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgY2xhc3NfdHJhbnNmb3JtPCBULCByZW1vdmVfY3Y8Xz4gPgoreyB0eXBlZGVmIHR5cGVuYW1lIG5kbmJvb3N0OjpyZW1vdmVfY3Y8VD46OnR5cGUgdHlwZTsgfTsKKwordGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IGNsYXNzX3RyYW5zZm9ybTwgVCwgYWRkX3JlZmVyZW5jZTwgcmVtb3ZlX2N2PF8+ID4gPgoreyB0eXBlZGVmIHR5cGVuYW1lIG5kbmJvb3N0OjpyZW1vdmVfY3Y8VD46OnR5cGUgJiB0eXBlOyB9OworCit0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgY2xhc3NfdHJhbnNmb3JtPCBULCBhZGRfcG9pbnRlcjwgcmVtb3ZlX2N2PF8+ID4gPgoreyB0eXBlZGVmIHR5cGVuYW1lIG5kbmJvb3N0OjpyZW1vdmVfY3Y8VD46OnR5cGUgKiB0eXBlOyB9OworCit0ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFtZSBVPiBzdHJ1Y3QgY2xhc3NfdHJhbnNmb3JtPCBULCBtcGw6OmFsd2F5czxVPiA+Cit7IHR5cGVkZWYgVSB0eXBlOyB9OworI2VuZGlmCisKKworfSB9IH0gLy8gbmFtZXNwYWNlIDo6bmRuYm9vc3Q6OmZ1bmN0aW9uX3R5cGVzOjpkZXRhaWwKKworI2VuZGlmCisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L2Z1bmN0aW9uX3R5cGVzL2RldGFpbC9jbGFzc2lmaWVyLmhwcCBiL25kbmJvb3N0L2Z1bmN0aW9uX3R5cGVzL2RldGFpbC9jbGFzc2lmaWVyLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MTA4YmNkCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvZnVuY3Rpb25fdHlwZXMvZGV0YWlsL2NsYXNzaWZpZXIuaHBwCkBAIC0wLDAgKzEsODIgQEAKKworLy8gKEMpIENvcHlyaWdodCBUb2JpYXMgU2Nod2luZ2VyCisvLworLy8gVXNlIG1vZGlmaWNhdGlvbiBhbmQgZGlzdHJpYnV0aW9uIGFyZSBzdWJqZWN0IHRvIHRoZSBib29zdCBTb2Z0d2FyZSBMaWNlbnNlLAorLy8gVmVyc2lvbiAxLjAuIChTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KS4KKworLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworI2lmbmRlZiBCT09TVF9GVF9ERVRBSUxfQ0xBU1NJRklFUl9IUFBfSU5DTFVERUQKKyNkZWZpbmUgQk9PU1RfRlRfREVUQUlMX0NMQVNTSUZJRVJfSFBQX0lOQ0xVREVECisKKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9jb25maWcuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2NvbmZpZy5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvaXNfcmVmZXJlbmNlLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9hZGRfcmVmZXJlbmNlLmhwcD4KKworI2luY2x1ZGUgPG5kbmJvb3N0L2Z1bmN0aW9uX3R5cGVzL2NvbmZpZy9jb25maWcuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L2Z1bmN0aW9uX3R5cGVzL3Byb3BlcnR5X3RhZ3MuaHBwPgorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgZnVuY3Rpb25fdHlwZXMgeyBuYW1lc3BhY2UgZGV0YWlsIHsKKwordGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IGNsYXNzaWZpZXI7CisKK3RlbXBsYXRlPHN0ZDo6c2l6ZV90IFM+IHN0cnVjdCBjaGFyX2FycmF5IHsgdHlwZWRlZiBjaGFyICgmdHlwZSlbU107IH07CisKK3RlbXBsYXRlPGJpdHNfdCBGbGFncywgYml0c190IENDSUQsIHN0ZDo6c2l6ZV90IEFyaXR5PiBzdHJ1Y3QgZW5jb2RlX2NoYXJyCit7CisgIHR5cGVkZWYgdHlwZW5hbWUgY2hhcl9hcnJheTwKKyAgICA6Om5kbmJvb3N0OjpmdW5jdGlvbl90eXBlczo6ZGV0YWlsOjplbmNvZGVfY2hhcnJfaW1wbDxGbGFncyxDQ0lELEFyaXR5Pjo6dmFsdWUgCisgID46OnR5cGUgdHlwZTsKK307CisKK2NoYXIgQk9PU1RfVFRfREVDTCBjbGFzc2lmaWVyX2ltcGwoLi4uKTsKKworI2RlZmluZSBCT09TVF9GVF92YXJpYXRpb25zIEJPT1NUX0ZUX2Z1bmN0aW9ufEJPT1NUX0ZUX3BvaW50ZXJ8XAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJPT1NUX0ZUX21lbWJlcl9wb2ludGVyCisKKyNkZWZpbmUgQk9PU1RfRlRfdHlwZV9mdW5jdGlvbihjYyxuYW1lKSBCT09TVF9GVF9TWU5UQVgoIFwKKyAgICBSIEJPT1NUX1BQX0VNUFRZLEJPT1NUX1BQX0xQQVJFTixjYywqIEJPT1NUX1BQX0VNUFRZLG5hbWUsQk9PU1RfUFBfUlBBUkVOKQorCisjZGVmaW5lIEJPT1NUX0ZUX3R5cGVfZnVuY3Rpb25fcG9pbnRlcihjYyxuYW1lKSBCT09TVF9GVF9TWU5UQVgoIFwKKyAgICBSIEJPT1NUX1BQX0VNUFRZLEJPT1NUX1BQX0xQQVJFTixjYywqKiBCT09TVF9QUF9FTVBUWSxuYW1lLEJPT1NUX1BQX1JQQVJFTikKKworI2RlZmluZSBCT09TVF9GVF90eXBlX21lbWJlcl9mdW5jdGlvbl9wb2ludGVyKGNjLG5hbWUpIEJPT1NUX0ZUX1NZTlRBWCggXAorICAgIFIgQk9PU1RfUFBfRU1QVFksQk9PU1RfUFBfTFBBUkVOLGNjLFQwOjoqKiBCT09TVF9QUF9FTVBUWSxuYW1lLEJPT1NUX1BQX1JQQVJFTikKKworI2RlZmluZSBCT09TVF9GVF9hbF9wYXRoIGJvb3N0L2Z1bmN0aW9uX3R5cGVzL2RldGFpbC9jbGFzc2lmaWVyX2ltcGwKKyNpbmNsdWRlIDxuZG5ib29zdC9mdW5jdGlvbl90eXBlcy9kZXRhaWwvcHBfbG9vcC5ocHA+CisKK3RlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBjbGFzc2lmaWVyX2JpdHMKK3sKKyAgc3RhdGljIHR5cGVuYW1lIG5kbmJvb3N0OjphZGRfcmVmZXJlbmNlPFQ+Ojp0eXBlIHRlc3RlcjsKKworICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoYml0c190LHZhbHVlID0gKGJpdHNfdClzaXplb2YoCisgICAgbmRuYm9vc3Q6OmZ1bmN0aW9uX3R5cGVzOjpkZXRhaWw6OmNsYXNzaWZpZXJfaW1wbCgmIHRlc3RlcikgCisgICktMSk7Cit9OworCit0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgY2xhc3NpZmllcgoreworICB0eXBlZGVmIGRldGFpbDo6Y29uc3RhbnQ8CisgICAgOjpuZG5ib29zdDo6ZnVuY3Rpb25fdHlwZXM6OmRldGFpbDo6ZGVjb2RlX2JpdHM8CisgICAgICA6Om5kbmJvb3N0OjpmdW5jdGlvbl90eXBlczo6ZGV0YWlsOjpjbGFzc2lmaWVyX2JpdHM8VD46OnZhbHVlCisgICAgPjo6dGFnX2JpdHMgPiAKKyAgYml0czsKKworICB0eXBlZGVmIGRldGFpbDo6ZnVsbF9tYXNrIG1hc2s7CisgCisgIHR5cGVkZWYgZGV0YWlsOjpjb25zdGFudDwKKyAgICA6Om5kbmJvb3N0OjpmdW5jdGlvbl90eXBlczo6ZGV0YWlsOjpkZWNvZGVfYml0czwKKyAgICAgIDo6bmRuYm9vc3Q6OmZ1bmN0aW9uX3R5cGVzOjpkZXRhaWw6OmNsYXNzaWZpZXJfYml0czxUPjo6dmFsdWUKKyAgICA+Ojphcml0eSA+IAorICBmdW5jdGlvbl9hcml0eTsKK307CisKKworCit9IH0gfSAvLyBuYW1lc3BhY2UgOjpuZG5ib29zdDo6ZnVuY3Rpb25fdHlwZXM6OmRldGFpbAorCisjZW5kaWYKKwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvZnVuY3Rpb25fdHlwZXMvZGV0YWlsL2NsYXNzaWZpZXJfaW1wbC9hcml0eTEwXzAuaHBwIGIvbmRuYm9vc3QvZnVuY3Rpb25fdHlwZXMvZGV0YWlsL2NsYXNzaWZpZXJfaW1wbC9hcml0eTEwXzAuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUyN2YzYzIKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9mdW5jdGlvbl90eXBlcy9kZXRhaWwvY2xhc3NpZmllcl9pbXBsL2FyaXR5MTBfMC5ocHAKQEAgLTAsMCArMSw1NSBAQAorCisvLyAoQykgQ29weXJpZ2h0IFRvYmlhcyBTY2h3aW5nZXIKKy8vCisvLyBVc2UgbW9kaWZpY2F0aW9uIGFuZCBkaXN0cmlidXRpb24gYXJlIHN1YmplY3QgdG8gdGhlIGJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsCisvLyBWZXJzaW9uIDEuMC4gKFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpLgorCisvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisvLyBubyBpbmNsdWRlIGd1YXJkcywgdGhpcyBmaWxlIGlzIGludGVuZGVkIGZvciBtdWx0aXBsZSBpbmNsdXNpb24KKworLy8gaW5wdXQ6ICBCT09TVF9GVF9zeW50YXggICAgIHR5cGUgbWFjcm8gdG8gdXNlCisvLyBpbnB1dDogIEJPT1NUX0ZUX2NjICAgICAgICAgZW1wdHkgb3IgY2Mgc3BlY2lmaWVyIAorLy8gaW5wdXQ6ICBCT09TVF9GVF9lbGwgICAgICAgIGVtcHR5IG9yICIuLi4iCisvLyBpbnB1dDogIEJPT1NUX0ZUX2N2ICAgICAgICAgZW1wdHkgb3IgY3YgcXVhbGlmaWVycworLy8gaW5wdXQ6ICBCT09TVF9GVF9mbGFncyAgICAgIHNpbmdsZSBkZWNpbWFsIGludGVnZXIgZW5jb2RpbmcgdGhlIGZsYWdzCisvLyBvdXRwdXQ6IEJPT1NUX0ZUX24gICAgICAgICAgbnVtYmVyIG9mIGNvbXBvbmVudCB0eXBlcyAoYXJpdHkrMSkKKy8vIG91dHB1dDogQk9PU1RfRlRfYXJpdHkgICAgICBjdXJyZW50IGFyaXR5CisvLyBvdXRwdXQ6IEJPT1NUX0ZUX3R5cGUgICAgICAgbWFjcm8gdGhhdCBleHBhbmRzIHRvIHRoZSB0eXBlCisvLyBvdXRwdXQ6IEJPT1NUX0ZUX3RwbGFyZ3MocCkgdGVtcGxhdGUgYXJndW1lbnRzIHdpdGggZ2l2ZW4gcHJlZml4CisvLyBvdXRwdXQ6IEJPT1NUX0ZUX3BhcmFtcyhwKSAgcGFyYW1ldGVycyB3aXRoIGdpdmVuIHByZWZpeAorCit0ZW1wbGF0ZTwgdHlwZW5hbWUgUiA+Cit0eXBlbmFtZSBlbmNvZGVfY2hhcnI8Qk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQsMD4gOjp0eXBlCitjbGFzc2lmaWVyX2ltcGwoQk9PU1RfRlRfc3ludGF4KEJPT1NUX0ZUX2NjLCBCT09TVF9QUF9FTVBUWSkgKEJPT1NUX0ZUX251bGxhcnlfcGFyYW0gQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdik7Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgUiAsIHR5cGVuYW1lIFQwID4KK3R5cGVuYW1lIGVuY29kZV9jaGFycjxCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZCwxPiA6OnR5cGUKK2NsYXNzaWZpZXJfaW1wbChCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsIEJPT1NUX1BQX0VNUFRZKSAoVDAgQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdik7Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgUiAsIHR5cGVuYW1lIFQwICwgdHlwZW5hbWUgVDEgPgordHlwZW5hbWUgZW5jb2RlX2NoYXJyPEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDI+IDo6dHlwZQorY2xhc3NpZmllcl9pbXBsKEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYywgQk9PU1RfUFBfRU1QVFkpIChUMCAsIFQxIEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YpOwordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIgPgordHlwZW5hbWUgZW5jb2RlX2NoYXJyPEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDM+IDo6dHlwZQorY2xhc3NpZmllcl9pbXBsKEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYywgQk9PU1RfUFBfRU1QVFkpIChUMCAsIFQxICwgVDIgQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdik7Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgUiAsIHR5cGVuYW1lIFQwICwgdHlwZW5hbWUgVDEgLCB0eXBlbmFtZSBUMiAsIHR5cGVuYW1lIFQzID4KK3R5cGVuYW1lIGVuY29kZV9jaGFycjxCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZCw0PiA6OnR5cGUKK2NsYXNzaWZpZXJfaW1wbChCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsIEJPT1NUX1BQX0VNUFRZKSAoVDAgLCBUMSAsIFQyICwgVDMgQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdik7Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgUiAsIHR5cGVuYW1lIFQwICwgdHlwZW5hbWUgVDEgLCB0eXBlbmFtZSBUMiAsIHR5cGVuYW1lIFQzICwgdHlwZW5hbWUgVDQgPgordHlwZW5hbWUgZW5jb2RlX2NoYXJyPEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDU+IDo6dHlwZQorY2xhc3NpZmllcl9pbXBsKEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYywgQk9PU1RfUFBfRU1QVFkpIChUMCAsIFQxICwgVDIgLCBUMyAsIFQ0IEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YpOwordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIgLCB0eXBlbmFtZSBUMyAsIHR5cGVuYW1lIFQ0ICwgdHlwZW5hbWUgVDUgPgordHlwZW5hbWUgZW5jb2RlX2NoYXJyPEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDY+IDo6dHlwZQorY2xhc3NpZmllcl9pbXBsKEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYywgQk9PU1RfUFBfRU1QVFkpIChUMCAsIFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdik7Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgUiAsIHR5cGVuYW1lIFQwICwgdHlwZW5hbWUgVDEgLCB0eXBlbmFtZSBUMiAsIHR5cGVuYW1lIFQzICwgdHlwZW5hbWUgVDQgLCB0eXBlbmFtZSBUNSAsIHR5cGVuYW1lIFQ2ID4KK3R5cGVuYW1lIGVuY29kZV9jaGFycjxCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZCw3PiA6OnR5cGUKK2NsYXNzaWZpZXJfaW1wbChCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsIEJPT1NUX1BQX0VNUFRZKSAoVDAgLCBUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdik7Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgUiAsIHR5cGVuYW1lIFQwICwgdHlwZW5hbWUgVDEgLCB0eXBlbmFtZSBUMiAsIHR5cGVuYW1lIFQzICwgdHlwZW5hbWUgVDQgLCB0eXBlbmFtZSBUNSAsIHR5cGVuYW1lIFQ2ICwgdHlwZW5hbWUgVDcgPgordHlwZW5hbWUgZW5jb2RlX2NoYXJyPEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDg+IDo6dHlwZQorY2xhc3NpZmllcl9pbXBsKEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYywgQk9PU1RfUFBfRU1QVFkpIChUMCAsIFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3IEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YpOwordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIgLCB0eXBlbmFtZSBUMyAsIHR5cGVuYW1lIFQ0ICwgdHlwZW5hbWUgVDUgLCB0eXBlbmFtZSBUNiAsIHR5cGVuYW1lIFQ3ICwgdHlwZW5hbWUgVDggPgordHlwZW5hbWUgZW5jb2RlX2NoYXJyPEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDk+IDo6dHlwZQorY2xhc3NpZmllcl9pbXBsKEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYywgQk9PU1RfUFBfRU1QVFkpIChUMCAsIFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdik7Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgUiAsIHR5cGVuYW1lIFQwICwgdHlwZW5hbWUgVDEgLCB0eXBlbmFtZSBUMiAsIHR5cGVuYW1lIFQzICwgdHlwZW5hbWUgVDQgLCB0eXBlbmFtZSBUNSAsIHR5cGVuYW1lIFQ2ICwgdHlwZW5hbWUgVDcgLCB0eXBlbmFtZSBUOCAsIHR5cGVuYW1lIFQ5ID4KK3R5cGVuYW1lIGVuY29kZV9jaGFycjxCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZCwxMD4gOjp0eXBlCitjbGFzc2lmaWVyX2ltcGwoQk9PU1RfRlRfc3ludGF4KEJPT1NUX0ZUX2NjLCBCT09TVF9QUF9FTVBUWSkgKFQwICwgVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5IEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YpOworCmRpZmYgLS1naXQgYS9uZG5ib29zdC9mdW5jdGlvbl90eXBlcy9kZXRhaWwvY2xhc3NpZmllcl9pbXBsL2FyaXR5MTBfMS5ocHAgYi9uZG5ib29zdC9mdW5jdGlvbl90eXBlcy9kZXRhaWwvY2xhc3NpZmllcl9pbXBsL2FyaXR5MTBfMS5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2NhODAyNwotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L2Z1bmN0aW9uX3R5cGVzL2RldGFpbC9jbGFzc2lmaWVyX2ltcGwvYXJpdHkxMF8xLmhwcApAQCAtMCwwICsxLDUyIEBACisKKy8vIChDKSBDb3B5cmlnaHQgVG9iaWFzIFNjaHdpbmdlcgorLy8KKy8vIFVzZSBtb2RpZmljYXRpb24gYW5kIGRpc3RyaWJ1dGlvbiBhcmUgc3ViamVjdCB0byB0aGUgYm9vc3QgU29mdHdhcmUgTGljZW5zZSwKKy8vIFZlcnNpb24gMS4wLiAoU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkuCisKKy8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKy8vIG5vIGluY2x1ZGUgZ3VhcmRzLCB0aGlzIGZpbGUgaXMgaW50ZW5kZWQgZm9yIG11bHRpcGxlIGluY2x1c2lvbgorCisvLyBpbnB1dDogIEJPT1NUX0ZUX3N5bnRheCAgICAgdHlwZSBtYWNybyB0byB1c2UKKy8vIGlucHV0OiAgQk9PU1RfRlRfY2MgICAgICAgICBlbXB0eSBvciBjYyBzcGVjaWZpZXIgCisvLyBpbnB1dDogIEJPT1NUX0ZUX2VsbCAgICAgICAgZW1wdHkgb3IgIi4uLiIKKy8vIGlucHV0OiAgQk9PU1RfRlRfY3YgICAgICAgICBlbXB0eSBvciBjdiBxdWFsaWZpZXJzCisvLyBpbnB1dDogIEJPT1NUX0ZUX2ZsYWdzICAgICAgc2luZ2xlIGRlY2ltYWwgaW50ZWdlciBlbmNvZGluZyB0aGUgZmxhZ3MKKy8vIG91dHB1dDogQk9PU1RfRlRfbiAgICAgICAgICBudW1iZXIgb2YgY29tcG9uZW50IHR5cGVzIChhcml0eSsxKQorLy8gb3V0cHV0OiBCT09TVF9GVF9hcml0eSAgICAgIGN1cnJlbnQgYXJpdHkKKy8vIG91dHB1dDogQk9PU1RfRlRfdHlwZSAgICAgICBtYWNybyB0aGF0IGV4cGFuZHMgdG8gdGhlIHR5cGUKKy8vIG91dHB1dDogQk9PU1RfRlRfdHBsYXJncyhwKSB0ZW1wbGF0ZSBhcmd1bWVudHMgd2l0aCBnaXZlbiBwcmVmaXgKKy8vIG91dHB1dDogQk9PU1RfRlRfcGFyYW1zKHApICBwYXJhbWV0ZXJzIHdpdGggZ2l2ZW4gcHJlZml4CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBSICwgdHlwZW5hbWUgVDAgPgordHlwZW5hbWUgZW5jb2RlX2NoYXJyPEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDE+IDo6dHlwZQorY2xhc3NpZmllcl9pbXBsKEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYywgQk9PU1RfUFBfRU1QVFkpICggQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdik7Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgUiAsIHR5cGVuYW1lIFQwICwgdHlwZW5hbWUgVDEgPgordHlwZW5hbWUgZW5jb2RlX2NoYXJyPEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDI+IDo6dHlwZQorY2xhc3NpZmllcl9pbXBsKEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYywgQk9PU1RfUFBfRU1QVFkpIChUMSBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2KTsKK3RlbXBsYXRlPCB0eXBlbmFtZSBSICwgdHlwZW5hbWUgVDAgLCB0eXBlbmFtZSBUMSAsIHR5cGVuYW1lIFQyID4KK3R5cGVuYW1lIGVuY29kZV9jaGFycjxCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZCwzPiA6OnR5cGUKK2NsYXNzaWZpZXJfaW1wbChCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsIEJPT1NUX1BQX0VNUFRZKSAoVDEgLCBUMiBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2KTsKK3RlbXBsYXRlPCB0eXBlbmFtZSBSICwgdHlwZW5hbWUgVDAgLCB0eXBlbmFtZSBUMSAsIHR5cGVuYW1lIFQyICwgdHlwZW5hbWUgVDMgPgordHlwZW5hbWUgZW5jb2RlX2NoYXJyPEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDQ+IDo6dHlwZQorY2xhc3NpZmllcl9pbXBsKEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYywgQk9PU1RfUFBfRU1QVFkpIChUMSAsIFQyICwgVDMgQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdik7Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgUiAsIHR5cGVuYW1lIFQwICwgdHlwZW5hbWUgVDEgLCB0eXBlbmFtZSBUMiAsIHR5cGVuYW1lIFQzICwgdHlwZW5hbWUgVDQgPgordHlwZW5hbWUgZW5jb2RlX2NoYXJyPEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDU+IDo6dHlwZQorY2xhc3NpZmllcl9pbXBsKEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYywgQk9PU1RfUFBfRU1QVFkpIChUMSAsIFQyICwgVDMgLCBUNCBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2KTsKK3RlbXBsYXRlPCB0eXBlbmFtZSBSICwgdHlwZW5hbWUgVDAgLCB0eXBlbmFtZSBUMSAsIHR5cGVuYW1lIFQyICwgdHlwZW5hbWUgVDMgLCB0eXBlbmFtZSBUNCAsIHR5cGVuYW1lIFQ1ID4KK3R5cGVuYW1lIGVuY29kZV9jaGFycjxCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZCw2PiA6OnR5cGUKK2NsYXNzaWZpZXJfaW1wbChCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsIEJPT1NUX1BQX0VNUFRZKSAoVDEgLCBUMiAsIFQzICwgVDQgLCBUNSBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2KTsKK3RlbXBsYXRlPCB0eXBlbmFtZSBSICwgdHlwZW5hbWUgVDAgLCB0eXBlbmFtZSBUMSAsIHR5cGVuYW1lIFQyICwgdHlwZW5hbWUgVDMgLCB0eXBlbmFtZSBUNCAsIHR5cGVuYW1lIFQ1ICwgdHlwZW5hbWUgVDYgPgordHlwZW5hbWUgZW5jb2RlX2NoYXJyPEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDc+IDo6dHlwZQorY2xhc3NpZmllcl9pbXBsKEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYywgQk9PU1RfUFBfRU1QVFkpIChUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdik7Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgUiAsIHR5cGVuYW1lIFQwICwgdHlwZW5hbWUgVDEgLCB0eXBlbmFtZSBUMiAsIHR5cGVuYW1lIFQzICwgdHlwZW5hbWUgVDQgLCB0eXBlbmFtZSBUNSAsIHR5cGVuYW1lIFQ2ICwgdHlwZW5hbWUgVDcgPgordHlwZW5hbWUgZW5jb2RlX2NoYXJyPEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDg+IDo6dHlwZQorY2xhc3NpZmllcl9pbXBsKEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYywgQk9PU1RfUFBfRU1QVFkpIChUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2KTsKK3RlbXBsYXRlPCB0eXBlbmFtZSBSICwgdHlwZW5hbWUgVDAgLCB0eXBlbmFtZSBUMSAsIHR5cGVuYW1lIFQyICwgdHlwZW5hbWUgVDMgLCB0eXBlbmFtZSBUNCAsIHR5cGVuYW1lIFQ1ICwgdHlwZW5hbWUgVDYgLCB0eXBlbmFtZSBUNyAsIHR5cGVuYW1lIFQ4ID4KK3R5cGVuYW1lIGVuY29kZV9jaGFycjxCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZCw5PiA6OnR5cGUKK2NsYXNzaWZpZXJfaW1wbChCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsIEJPT1NUX1BQX0VNUFRZKSAoVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2KTsKK3RlbXBsYXRlPCB0eXBlbmFtZSBSICwgdHlwZW5hbWUgVDAgLCB0eXBlbmFtZSBUMSAsIHR5cGVuYW1lIFQyICwgdHlwZW5hbWUgVDMgLCB0eXBlbmFtZSBUNCAsIHR5cGVuYW1lIFQ1ICwgdHlwZW5hbWUgVDYgLCB0eXBlbmFtZSBUNyAsIHR5cGVuYW1lIFQ4ICwgdHlwZW5hbWUgVDkgPgordHlwZW5hbWUgZW5jb2RlX2NoYXJyPEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDEwPiA6OnR5cGUKK2NsYXNzaWZpZXJfaW1wbChCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsIEJPT1NUX1BQX0VNUFRZKSAoVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5IEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YpOworCmRpZmYgLS1naXQgYS9uZG5ib29zdC9mdW5jdGlvbl90eXBlcy9kZXRhaWwvY2xhc3NpZmllcl9pbXBsL2FyaXR5MjBfMC5ocHAgYi9uZG5ib29zdC9mdW5jdGlvbl90eXBlcy9kZXRhaWwvY2xhc3NpZmllcl9pbXBsL2FyaXR5MjBfMC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWMwNWJiZAotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L2Z1bmN0aW9uX3R5cGVzL2RldGFpbC9jbGFzc2lmaWVyX2ltcGwvYXJpdHkyMF8wLmhwcApAQCAtMCwwICsxLDUzIEBACisKKy8vIChDKSBDb3B5cmlnaHQgVG9iaWFzIFNjaHdpbmdlcgorLy8KKy8vIFVzZSBtb2RpZmljYXRpb24gYW5kIGRpc3RyaWJ1dGlvbiBhcmUgc3ViamVjdCB0byB0aGUgYm9vc3QgU29mdHdhcmUgTGljZW5zZSwKKy8vIFZlcnNpb24gMS4wLiAoU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkuCisKKy8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKy8vIG5vIGluY2x1ZGUgZ3VhcmRzLCB0aGlzIGZpbGUgaXMgaW50ZW5kZWQgZm9yIG11bHRpcGxlIGluY2x1c2lvbgorCisvLyBpbnB1dDogIEJPT1NUX0ZUX3N5bnRheCAgICAgdHlwZSBtYWNybyB0byB1c2UKKy8vIGlucHV0OiAgQk9PU1RfRlRfY2MgICAgICAgICBlbXB0eSBvciBjYyBzcGVjaWZpZXIgCisvLyBpbnB1dDogIEJPT1NUX0ZUX2VsbCAgICAgICAgZW1wdHkgb3IgIi4uLiIKKy8vIGlucHV0OiAgQk9PU1RfRlRfY3YgICAgICAgICBlbXB0eSBvciBjdiBxdWFsaWZpZXJzCisvLyBpbnB1dDogIEJPT1NUX0ZUX2ZsYWdzICAgICAgc2luZ2xlIGRlY2ltYWwgaW50ZWdlciBlbmNvZGluZyB0aGUgZmxhZ3MKKy8vIG91dHB1dDogQk9PU1RfRlRfbiAgICAgICAgICBudW1iZXIgb2YgY29tcG9uZW50IHR5cGVzIChhcml0eSsxKQorLy8gb3V0cHV0OiBCT09TVF9GVF9hcml0eSAgICAgIGN1cnJlbnQgYXJpdHkKKy8vIG91dHB1dDogQk9PU1RfRlRfdHlwZSAgICAgICBtYWNybyB0aGF0IGV4cGFuZHMgdG8gdGhlIHR5cGUKKy8vIG91dHB1dDogQk9PU1RfRlRfdHBsYXJncyhwKSB0ZW1wbGF0ZSBhcmd1bWVudHMgd2l0aCBnaXZlbiBwcmVmaXgKKy8vIG91dHB1dDogQk9PU1RfRlRfcGFyYW1zKHApICBwYXJhbWV0ZXJzIHdpdGggZ2l2ZW4gcHJlZml4CisKKyMgaW5jbHVkZSA8bmRuYm9vc3QvZnVuY3Rpb25fdHlwZXMvZGV0YWlsL2NsYXNzaWZpZXJfaW1wbC9hcml0eTEwXzAuaHBwPgordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIgLCB0eXBlbmFtZSBUMyAsIHR5cGVuYW1lIFQ0ICwgdHlwZW5hbWUgVDUgLCB0eXBlbmFtZSBUNiAsIHR5cGVuYW1lIFQ3ICwgdHlwZW5hbWUgVDggLCB0eXBlbmFtZSBUOSAsIHR5cGVuYW1lIFQxMCA+Cit0eXBlbmFtZSBlbmNvZGVfY2hhcnI8Qk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQsMTE+IDo6dHlwZQorY2xhc3NpZmllcl9pbXBsKEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYywgQk9PU1RfUFBfRU1QVFkpIChUMCAsIFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2KTsKK3RlbXBsYXRlPCB0eXBlbmFtZSBSICwgdHlwZW5hbWUgVDAgLCB0eXBlbmFtZSBUMSAsIHR5cGVuYW1lIFQyICwgdHlwZW5hbWUgVDMgLCB0eXBlbmFtZSBUNCAsIHR5cGVuYW1lIFQ1ICwgdHlwZW5hbWUgVDYgLCB0eXBlbmFtZSBUNyAsIHR5cGVuYW1lIFQ4ICwgdHlwZW5hbWUgVDkgLCB0eXBlbmFtZSBUMTAgLCB0eXBlbmFtZSBUMTEgPgordHlwZW5hbWUgZW5jb2RlX2NoYXJyPEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDEyPiA6OnR5cGUKK2NsYXNzaWZpZXJfaW1wbChCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsIEJPT1NUX1BQX0VNUFRZKSAoVDAgLCBUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdik7Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgUiAsIHR5cGVuYW1lIFQwICwgdHlwZW5hbWUgVDEgLCB0eXBlbmFtZSBUMiAsIHR5cGVuYW1lIFQzICwgdHlwZW5hbWUgVDQgLCB0eXBlbmFtZSBUNSAsIHR5cGVuYW1lIFQ2ICwgdHlwZW5hbWUgVDcgLCB0eXBlbmFtZSBUOCAsIHR5cGVuYW1lIFQ5ICwgdHlwZW5hbWUgVDEwICwgdHlwZW5hbWUgVDExICwgdHlwZW5hbWUgVDEyID4KK3R5cGVuYW1lIGVuY29kZV9jaGFycjxCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZCwxMz4gOjp0eXBlCitjbGFzc2lmaWVyX2ltcGwoQk9PU1RfRlRfc3ludGF4KEJPT1NUX0ZUX2NjLCBCT09TVF9QUF9FTVBUWSkgKFQwICwgVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyIEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YpOwordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIgLCB0eXBlbmFtZSBUMyAsIHR5cGVuYW1lIFQ0ICwgdHlwZW5hbWUgVDUgLCB0eXBlbmFtZSBUNiAsIHR5cGVuYW1lIFQ3ICwgdHlwZW5hbWUgVDggLCB0eXBlbmFtZSBUOSAsIHR5cGVuYW1lIFQxMCAsIHR5cGVuYW1lIFQxMSAsIHR5cGVuYW1lIFQxMiAsIHR5cGVuYW1lIFQxMyA+Cit0eXBlbmFtZSBlbmNvZGVfY2hhcnI8Qk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQsMTQ+IDo6dHlwZQorY2xhc3NpZmllcl9pbXBsKEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYywgQk9PU1RfUFBfRU1QVFkpIChUMCAsIFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2KTsKK3RlbXBsYXRlPCB0eXBlbmFtZSBSICwgdHlwZW5hbWUgVDAgLCB0eXBlbmFtZSBUMSAsIHR5cGVuYW1lIFQyICwgdHlwZW5hbWUgVDMgLCB0eXBlbmFtZSBUNCAsIHR5cGVuYW1lIFQ1ICwgdHlwZW5hbWUgVDYgLCB0eXBlbmFtZSBUNyAsIHR5cGVuYW1lIFQ4ICwgdHlwZW5hbWUgVDkgLCB0eXBlbmFtZSBUMTAgLCB0eXBlbmFtZSBUMTEgLCB0eXBlbmFtZSBUMTIgLCB0eXBlbmFtZSBUMTMgLCB0eXBlbmFtZSBUMTQgPgordHlwZW5hbWUgZW5jb2RlX2NoYXJyPEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDE1PiA6OnR5cGUKK2NsYXNzaWZpZXJfaW1wbChCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsIEJPT1NUX1BQX0VNUFRZKSAoVDAgLCBUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgLCBUMTIgLCBUMTMgLCBUMTQgQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdik7Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgUiAsIHR5cGVuYW1lIFQwICwgdHlwZW5hbWUgVDEgLCB0eXBlbmFtZSBUMiAsIHR5cGVuYW1lIFQzICwgdHlwZW5hbWUgVDQgLCB0eXBlbmFtZSBUNSAsIHR5cGVuYW1lIFQ2ICwgdHlwZW5hbWUgVDcgLCB0eXBlbmFtZSBUOCAsIHR5cGVuYW1lIFQ5ICwgdHlwZW5hbWUgVDEwICwgdHlwZW5hbWUgVDExICwgdHlwZW5hbWUgVDEyICwgdHlwZW5hbWUgVDEzICwgdHlwZW5hbWUgVDE0ICwgdHlwZW5hbWUgVDE1ID4KK3R5cGVuYW1lIGVuY29kZV9jaGFycjxCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZCwxNj4gOjp0eXBlCitjbGFzc2lmaWVyX2ltcGwoQk9PU1RfRlRfc3ludGF4KEJPT1NUX0ZUX2NjLCBCT09TVF9QUF9FTVBUWSkgKFQwICwgVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzICwgVDE0ICwgVDE1IEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YpOwordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIgLCB0eXBlbmFtZSBUMyAsIHR5cGVuYW1lIFQ0ICwgdHlwZW5hbWUgVDUgLCB0eXBlbmFtZSBUNiAsIHR5cGVuYW1lIFQ3ICwgdHlwZW5hbWUgVDggLCB0eXBlbmFtZSBUOSAsIHR5cGVuYW1lIFQxMCAsIHR5cGVuYW1lIFQxMSAsIHR5cGVuYW1lIFQxMiAsIHR5cGVuYW1lIFQxMyAsIHR5cGVuYW1lIFQxNCAsIHR5cGVuYW1lIFQxNSAsIHR5cGVuYW1lIFQxNiA+Cit0eXBlbmFtZSBlbmNvZGVfY2hhcnI8Qk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQsMTc+IDo6dHlwZQorY2xhc3NpZmllcl9pbXBsKEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYywgQk9PU1RfUFBfRU1QVFkpIChUMCAsIFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2KTsKK3RlbXBsYXRlPCB0eXBlbmFtZSBSICwgdHlwZW5hbWUgVDAgLCB0eXBlbmFtZSBUMSAsIHR5cGVuYW1lIFQyICwgdHlwZW5hbWUgVDMgLCB0eXBlbmFtZSBUNCAsIHR5cGVuYW1lIFQ1ICwgdHlwZW5hbWUgVDYgLCB0eXBlbmFtZSBUNyAsIHR5cGVuYW1lIFQ4ICwgdHlwZW5hbWUgVDkgLCB0eXBlbmFtZSBUMTAgLCB0eXBlbmFtZSBUMTEgLCB0eXBlbmFtZSBUMTIgLCB0eXBlbmFtZSBUMTMgLCB0eXBlbmFtZSBUMTQgLCB0eXBlbmFtZSBUMTUgLCB0eXBlbmFtZSBUMTYgLCB0eXBlbmFtZSBUMTcgPgordHlwZW5hbWUgZW5jb2RlX2NoYXJyPEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDE4PiA6OnR5cGUKK2NsYXNzaWZpZXJfaW1wbChCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsIEJPT1NUX1BQX0VNUFRZKSAoVDAgLCBUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgLCBUMTIgLCBUMTMgLCBUMTQgLCBUMTUgLCBUMTYgLCBUMTcgQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdik7Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgUiAsIHR5cGVuYW1lIFQwICwgdHlwZW5hbWUgVDEgLCB0eXBlbmFtZSBUMiAsIHR5cGVuYW1lIFQzICwgdHlwZW5hbWUgVDQgLCB0eXBlbmFtZSBUNSAsIHR5cGVuYW1lIFQ2ICwgdHlwZW5hbWUgVDcgLCB0eXBlbmFtZSBUOCAsIHR5cGVuYW1lIFQ5ICwgdHlwZW5hbWUgVDEwICwgdHlwZW5hbWUgVDExICwgdHlwZW5hbWUgVDEyICwgdHlwZW5hbWUgVDEzICwgdHlwZW5hbWUgVDE0ICwgdHlwZW5hbWUgVDE1ICwgdHlwZW5hbWUgVDE2ICwgdHlwZW5hbWUgVDE3ICwgdHlwZW5hbWUgVDE4ID4KK3R5cGVuYW1lIGVuY29kZV9jaGFycjxCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZCwxOT4gOjp0eXBlCitjbGFzc2lmaWVyX2ltcGwoQk9PU1RfRlRfc3ludGF4KEJPT1NUX0ZUX2NjLCBCT09TVF9QUF9FTVBUWSkgKFQwICwgVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzICwgVDE0ICwgVDE1ICwgVDE2ICwgVDE3ICwgVDE4IEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YpOwordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIgLCB0eXBlbmFtZSBUMyAsIHR5cGVuYW1lIFQ0ICwgdHlwZW5hbWUgVDUgLCB0eXBlbmFtZSBUNiAsIHR5cGVuYW1lIFQ3ICwgdHlwZW5hbWUgVDggLCB0eXBlbmFtZSBUOSAsIHR5cGVuYW1lIFQxMCAsIHR5cGVuYW1lIFQxMSAsIHR5cGVuYW1lIFQxMiAsIHR5cGVuYW1lIFQxMyAsIHR5cGVuYW1lIFQxNCAsIHR5cGVuYW1lIFQxNSAsIHR5cGVuYW1lIFQxNiAsIHR5cGVuYW1lIFQxNyAsIHR5cGVuYW1lIFQxOCAsIHR5cGVuYW1lIFQxOSA+Cit0eXBlbmFtZSBlbmNvZGVfY2hhcnI8Qk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQsMjA+IDo6dHlwZQorY2xhc3NpZmllcl9pbXBsKEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYywgQk9PU1RfUFBfRU1QVFkpIChUMCAsIFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2KTsKKwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvZnVuY3Rpb25fdHlwZXMvZGV0YWlsL2NsYXNzaWZpZXJfaW1wbC9hcml0eTIwXzEuaHBwIGIvbmRuYm9vc3QvZnVuY3Rpb25fdHlwZXMvZGV0YWlsL2NsYXNzaWZpZXJfaW1wbC9hcml0eTIwXzEuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI4NzFkMjcKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9mdW5jdGlvbl90eXBlcy9kZXRhaWwvY2xhc3NpZmllcl9pbXBsL2FyaXR5MjBfMS5ocHAKQEAgLTAsMCArMSw1MyBAQAorCisvLyAoQykgQ29weXJpZ2h0IFRvYmlhcyBTY2h3aW5nZXIKKy8vCisvLyBVc2UgbW9kaWZpY2F0aW9uIGFuZCBkaXN0cmlidXRpb24gYXJlIHN1YmplY3QgdG8gdGhlIGJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsCisvLyBWZXJzaW9uIDEuMC4gKFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpLgorCisvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisvLyBubyBpbmNsdWRlIGd1YXJkcywgdGhpcyBmaWxlIGlzIGludGVuZGVkIGZvciBtdWx0aXBsZSBpbmNsdXNpb24KKworLy8gaW5wdXQ6ICBCT09TVF9GVF9zeW50YXggICAgIHR5cGUgbWFjcm8gdG8gdXNlCisvLyBpbnB1dDogIEJPT1NUX0ZUX2NjICAgICAgICAgZW1wdHkgb3IgY2Mgc3BlY2lmaWVyIAorLy8gaW5wdXQ6ICBCT09TVF9GVF9lbGwgICAgICAgIGVtcHR5IG9yICIuLi4iCisvLyBpbnB1dDogIEJPT1NUX0ZUX2N2ICAgICAgICAgZW1wdHkgb3IgY3YgcXVhbGlmaWVycworLy8gaW5wdXQ6ICBCT09TVF9GVF9mbGFncyAgICAgIHNpbmdsZSBkZWNpbWFsIGludGVnZXIgZW5jb2RpbmcgdGhlIGZsYWdzCisvLyBvdXRwdXQ6IEJPT1NUX0ZUX24gICAgICAgICAgbnVtYmVyIG9mIGNvbXBvbmVudCB0eXBlcyAoYXJpdHkrMSkKKy8vIG91dHB1dDogQk9PU1RfRlRfYXJpdHkgICAgICBjdXJyZW50IGFyaXR5CisvLyBvdXRwdXQ6IEJPT1NUX0ZUX3R5cGUgICAgICAgbWFjcm8gdGhhdCBleHBhbmRzIHRvIHRoZSB0eXBlCisvLyBvdXRwdXQ6IEJPT1NUX0ZUX3RwbGFyZ3MocCkgdGVtcGxhdGUgYXJndW1lbnRzIHdpdGggZ2l2ZW4gcHJlZml4CisvLyBvdXRwdXQ6IEJPT1NUX0ZUX3BhcmFtcyhwKSAgcGFyYW1ldGVycyB3aXRoIGdpdmVuIHByZWZpeAorCisjIGluY2x1ZGUgPG5kbmJvb3N0L2Z1bmN0aW9uX3R5cGVzL2RldGFpbC9jbGFzc2lmaWVyX2ltcGwvYXJpdHkxMF8xLmhwcD4KK3RlbXBsYXRlPCB0eXBlbmFtZSBSICwgdHlwZW5hbWUgVDAgLCB0eXBlbmFtZSBUMSAsIHR5cGVuYW1lIFQyICwgdHlwZW5hbWUgVDMgLCB0eXBlbmFtZSBUNCAsIHR5cGVuYW1lIFQ1ICwgdHlwZW5hbWUgVDYgLCB0eXBlbmFtZSBUNyAsIHR5cGVuYW1lIFQ4ICwgdHlwZW5hbWUgVDkgLCB0eXBlbmFtZSBUMTAgPgordHlwZW5hbWUgZW5jb2RlX2NoYXJyPEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDExPiA6OnR5cGUKK2NsYXNzaWZpZXJfaW1wbChCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsIEJPT1NUX1BQX0VNUFRZKSAoVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwIEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YpOwordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIgLCB0eXBlbmFtZSBUMyAsIHR5cGVuYW1lIFQ0ICwgdHlwZW5hbWUgVDUgLCB0eXBlbmFtZSBUNiAsIHR5cGVuYW1lIFQ3ICwgdHlwZW5hbWUgVDggLCB0eXBlbmFtZSBUOSAsIHR5cGVuYW1lIFQxMCAsIHR5cGVuYW1lIFQxMSA+Cit0eXBlbmFtZSBlbmNvZGVfY2hhcnI8Qk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQsMTI+IDo6dHlwZQorY2xhc3NpZmllcl9pbXBsKEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYywgQk9PU1RfUFBfRU1QVFkpIChUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdik7Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgUiAsIHR5cGVuYW1lIFQwICwgdHlwZW5hbWUgVDEgLCB0eXBlbmFtZSBUMiAsIHR5cGVuYW1lIFQzICwgdHlwZW5hbWUgVDQgLCB0eXBlbmFtZSBUNSAsIHR5cGVuYW1lIFQ2ICwgdHlwZW5hbWUgVDcgLCB0eXBlbmFtZSBUOCAsIHR5cGVuYW1lIFQ5ICwgdHlwZW5hbWUgVDEwICwgdHlwZW5hbWUgVDExICwgdHlwZW5hbWUgVDEyID4KK3R5cGVuYW1lIGVuY29kZV9jaGFycjxCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZCwxMz4gOjp0eXBlCitjbGFzc2lmaWVyX2ltcGwoQk9PU1RfRlRfc3ludGF4KEJPT1NUX0ZUX2NjLCBCT09TVF9QUF9FTVBUWSkgKFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2KTsKK3RlbXBsYXRlPCB0eXBlbmFtZSBSICwgdHlwZW5hbWUgVDAgLCB0eXBlbmFtZSBUMSAsIHR5cGVuYW1lIFQyICwgdHlwZW5hbWUgVDMgLCB0eXBlbmFtZSBUNCAsIHR5cGVuYW1lIFQ1ICwgdHlwZW5hbWUgVDYgLCB0eXBlbmFtZSBUNyAsIHR5cGVuYW1lIFQ4ICwgdHlwZW5hbWUgVDkgLCB0eXBlbmFtZSBUMTAgLCB0eXBlbmFtZSBUMTEgLCB0eXBlbmFtZSBUMTIgLCB0eXBlbmFtZSBUMTMgPgordHlwZW5hbWUgZW5jb2RlX2NoYXJyPEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDE0PiA6OnR5cGUKK2NsYXNzaWZpZXJfaW1wbChCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsIEJPT1NUX1BQX0VNUFRZKSAoVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzIEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YpOwordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIgLCB0eXBlbmFtZSBUMyAsIHR5cGVuYW1lIFQ0ICwgdHlwZW5hbWUgVDUgLCB0eXBlbmFtZSBUNiAsIHR5cGVuYW1lIFQ3ICwgdHlwZW5hbWUgVDggLCB0eXBlbmFtZSBUOSAsIHR5cGVuYW1lIFQxMCAsIHR5cGVuYW1lIFQxMSAsIHR5cGVuYW1lIFQxMiAsIHR5cGVuYW1lIFQxMyAsIHR5cGVuYW1lIFQxNCA+Cit0eXBlbmFtZSBlbmNvZGVfY2hhcnI8Qk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQsMTU+IDo6dHlwZQorY2xhc3NpZmllcl9pbXBsKEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYywgQk9PU1RfUFBfRU1QVFkpIChUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgLCBUMTIgLCBUMTMgLCBUMTQgQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdik7Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgUiAsIHR5cGVuYW1lIFQwICwgdHlwZW5hbWUgVDEgLCB0eXBlbmFtZSBUMiAsIHR5cGVuYW1lIFQzICwgdHlwZW5hbWUgVDQgLCB0eXBlbmFtZSBUNSAsIHR5cGVuYW1lIFQ2ICwgdHlwZW5hbWUgVDcgLCB0eXBlbmFtZSBUOCAsIHR5cGVuYW1lIFQ5ICwgdHlwZW5hbWUgVDEwICwgdHlwZW5hbWUgVDExICwgdHlwZW5hbWUgVDEyICwgdHlwZW5hbWUgVDEzICwgdHlwZW5hbWUgVDE0ICwgdHlwZW5hbWUgVDE1ID4KK3R5cGVuYW1lIGVuY29kZV9jaGFycjxCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZCwxNj4gOjp0eXBlCitjbGFzc2lmaWVyX2ltcGwoQk9PU1RfRlRfc3ludGF4KEJPT1NUX0ZUX2NjLCBCT09TVF9QUF9FTVBUWSkgKFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2KTsKK3RlbXBsYXRlPCB0eXBlbmFtZSBSICwgdHlwZW5hbWUgVDAgLCB0eXBlbmFtZSBUMSAsIHR5cGVuYW1lIFQyICwgdHlwZW5hbWUgVDMgLCB0eXBlbmFtZSBUNCAsIHR5cGVuYW1lIFQ1ICwgdHlwZW5hbWUgVDYgLCB0eXBlbmFtZSBUNyAsIHR5cGVuYW1lIFQ4ICwgdHlwZW5hbWUgVDkgLCB0eXBlbmFtZSBUMTAgLCB0eXBlbmFtZSBUMTEgLCB0eXBlbmFtZSBUMTIgLCB0eXBlbmFtZSBUMTMgLCB0eXBlbmFtZSBUMTQgLCB0eXBlbmFtZSBUMTUgLCB0eXBlbmFtZSBUMTYgPgordHlwZW5hbWUgZW5jb2RlX2NoYXJyPEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDE3PiA6OnR5cGUKK2NsYXNzaWZpZXJfaW1wbChCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsIEJPT1NUX1BQX0VNUFRZKSAoVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzICwgVDE0ICwgVDE1ICwgVDE2IEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YpOwordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIgLCB0eXBlbmFtZSBUMyAsIHR5cGVuYW1lIFQ0ICwgdHlwZW5hbWUgVDUgLCB0eXBlbmFtZSBUNiAsIHR5cGVuYW1lIFQ3ICwgdHlwZW5hbWUgVDggLCB0eXBlbmFtZSBUOSAsIHR5cGVuYW1lIFQxMCAsIHR5cGVuYW1lIFQxMSAsIHR5cGVuYW1lIFQxMiAsIHR5cGVuYW1lIFQxMyAsIHR5cGVuYW1lIFQxNCAsIHR5cGVuYW1lIFQxNSAsIHR5cGVuYW1lIFQxNiAsIHR5cGVuYW1lIFQxNyA+Cit0eXBlbmFtZSBlbmNvZGVfY2hhcnI8Qk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQsMTg+IDo6dHlwZQorY2xhc3NpZmllcl9pbXBsKEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYywgQk9PU1RfUFBfRU1QVFkpIChUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgLCBUMTIgLCBUMTMgLCBUMTQgLCBUMTUgLCBUMTYgLCBUMTcgQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdik7Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgUiAsIHR5cGVuYW1lIFQwICwgdHlwZW5hbWUgVDEgLCB0eXBlbmFtZSBUMiAsIHR5cGVuYW1lIFQzICwgdHlwZW5hbWUgVDQgLCB0eXBlbmFtZSBUNSAsIHR5cGVuYW1lIFQ2ICwgdHlwZW5hbWUgVDcgLCB0eXBlbmFtZSBUOCAsIHR5cGVuYW1lIFQ5ICwgdHlwZW5hbWUgVDEwICwgdHlwZW5hbWUgVDExICwgdHlwZW5hbWUgVDEyICwgdHlwZW5hbWUgVDEzICwgdHlwZW5hbWUgVDE0ICwgdHlwZW5hbWUgVDE1ICwgdHlwZW5hbWUgVDE2ICwgdHlwZW5hbWUgVDE3ICwgdHlwZW5hbWUgVDE4ID4KK3R5cGVuYW1lIGVuY29kZV9jaGFycjxCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZCwxOT4gOjp0eXBlCitjbGFzc2lmaWVyX2ltcGwoQk9PU1RfRlRfc3ludGF4KEJPT1NUX0ZUX2NjLCBCT09TVF9QUF9FTVBUWSkgKFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2KTsKK3RlbXBsYXRlPCB0eXBlbmFtZSBSICwgdHlwZW5hbWUgVDAgLCB0eXBlbmFtZSBUMSAsIHR5cGVuYW1lIFQyICwgdHlwZW5hbWUgVDMgLCB0eXBlbmFtZSBUNCAsIHR5cGVuYW1lIFQ1ICwgdHlwZW5hbWUgVDYgLCB0eXBlbmFtZSBUNyAsIHR5cGVuYW1lIFQ4ICwgdHlwZW5hbWUgVDkgLCB0eXBlbmFtZSBUMTAgLCB0eXBlbmFtZSBUMTEgLCB0eXBlbmFtZSBUMTIgLCB0eXBlbmFtZSBUMTMgLCB0eXBlbmFtZSBUMTQgLCB0eXBlbmFtZSBUMTUgLCB0eXBlbmFtZSBUMTYgLCB0eXBlbmFtZSBUMTcgLCB0eXBlbmFtZSBUMTggLCB0eXBlbmFtZSBUMTkgPgordHlwZW5hbWUgZW5jb2RlX2NoYXJyPEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDIwPiA6OnR5cGUKK2NsYXNzaWZpZXJfaW1wbChCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsIEJPT1NUX1BQX0VNUFRZKSAoVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzICwgVDE0ICwgVDE1ICwgVDE2ICwgVDE3ICwgVDE4ICwgVDE5IEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YpOworCmRpZmYgLS1naXQgYS9uZG5ib29zdC9mdW5jdGlvbl90eXBlcy9kZXRhaWwvY2xhc3NpZmllcl9pbXBsL2FyaXR5MzBfMC5ocHAgYi9uZG5ib29zdC9mdW5jdGlvbl90eXBlcy9kZXRhaWwvY2xhc3NpZmllcl9pbXBsL2FyaXR5MzBfMC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjRhNGZiMwotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L2Z1bmN0aW9uX3R5cGVzL2RldGFpbC9jbGFzc2lmaWVyX2ltcGwvYXJpdHkzMF8wLmhwcApAQCAtMCwwICsxLDUzIEBACisKKy8vIChDKSBDb3B5cmlnaHQgVG9iaWFzIFNjaHdpbmdlcgorLy8KKy8vIFVzZSBtb2RpZmljYXRpb24gYW5kIGRpc3RyaWJ1dGlvbiBhcmUgc3ViamVjdCB0byB0aGUgYm9vc3QgU29mdHdhcmUgTGljZW5zZSwKKy8vIFZlcnNpb24gMS4wLiAoU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkuCisKKy8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKy8vIG5vIGluY2x1ZGUgZ3VhcmRzLCB0aGlzIGZpbGUgaXMgaW50ZW5kZWQgZm9yIG11bHRpcGxlIGluY2x1c2lvbgorCisvLyBpbnB1dDogIEJPT1NUX0ZUX3N5bnRheCAgICAgdHlwZSBtYWNybyB0byB1c2UKKy8vIGlucHV0OiAgQk9PU1RfRlRfY2MgICAgICAgICBlbXB0eSBvciBjYyBzcGVjaWZpZXIgCisvLyBpbnB1dDogIEJPT1NUX0ZUX2VsbCAgICAgICAgZW1wdHkgb3IgIi4uLiIKKy8vIGlucHV0OiAgQk9PU1RfRlRfY3YgICAgICAgICBlbXB0eSBvciBjdiBxdWFsaWZpZXJzCisvLyBpbnB1dDogIEJPT1NUX0ZUX2ZsYWdzICAgICAgc2luZ2xlIGRlY2ltYWwgaW50ZWdlciBlbmNvZGluZyB0aGUgZmxhZ3MKKy8vIG91dHB1dDogQk9PU1RfRlRfbiAgICAgICAgICBudW1iZXIgb2YgY29tcG9uZW50IHR5cGVzIChhcml0eSsxKQorLy8gb3V0cHV0OiBCT09TVF9GVF9hcml0eSAgICAgIGN1cnJlbnQgYXJpdHkKKy8vIG91dHB1dDogQk9PU1RfRlRfdHlwZSAgICAgICBtYWNybyB0aGF0IGV4cGFuZHMgdG8gdGhlIHR5cGUKKy8vIG91dHB1dDogQk9PU1RfRlRfdHBsYXJncyhwKSB0ZW1wbGF0ZSBhcmd1bWVudHMgd2l0aCBnaXZlbiBwcmVmaXgKKy8vIG91dHB1dDogQk9PU1RfRlRfcGFyYW1zKHApICBwYXJhbWV0ZXJzIHdpdGggZ2l2ZW4gcHJlZml4CisKKyMgaW5jbHVkZSA8bmRuYm9vc3QvZnVuY3Rpb25fdHlwZXMvZGV0YWlsL2NsYXNzaWZpZXJfaW1wbC9hcml0eTIwXzAuaHBwPgordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIgLCB0eXBlbmFtZSBUMyAsIHR5cGVuYW1lIFQ0ICwgdHlwZW5hbWUgVDUgLCB0eXBlbmFtZSBUNiAsIHR5cGVuYW1lIFQ3ICwgdHlwZW5hbWUgVDggLCB0eXBlbmFtZSBUOSAsIHR5cGVuYW1lIFQxMCAsIHR5cGVuYW1lIFQxMSAsIHR5cGVuYW1lIFQxMiAsIHR5cGVuYW1lIFQxMyAsIHR5cGVuYW1lIFQxNCAsIHR5cGVuYW1lIFQxNSAsIHR5cGVuYW1lIFQxNiAsIHR5cGVuYW1lIFQxNyAsIHR5cGVuYW1lIFQxOCAsIHR5cGVuYW1lIFQxOSAsIHR5cGVuYW1lIFQyMCA+Cit0eXBlbmFtZSBlbmNvZGVfY2hhcnI8Qk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQsMjE+IDo6dHlwZQorY2xhc3NpZmllcl9pbXBsKEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYywgQk9PU1RfUFBfRU1QVFkpIChUMCAsIFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSAsIFQyMCBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2KTsKK3RlbXBsYXRlPCB0eXBlbmFtZSBSICwgdHlwZW5hbWUgVDAgLCB0eXBlbmFtZSBUMSAsIHR5cGVuYW1lIFQyICwgdHlwZW5hbWUgVDMgLCB0eXBlbmFtZSBUNCAsIHR5cGVuYW1lIFQ1ICwgdHlwZW5hbWUgVDYgLCB0eXBlbmFtZSBUNyAsIHR5cGVuYW1lIFQ4ICwgdHlwZW5hbWUgVDkgLCB0eXBlbmFtZSBUMTAgLCB0eXBlbmFtZSBUMTEgLCB0eXBlbmFtZSBUMTIgLCB0eXBlbmFtZSBUMTMgLCB0eXBlbmFtZSBUMTQgLCB0eXBlbmFtZSBUMTUgLCB0eXBlbmFtZSBUMTYgLCB0eXBlbmFtZSBUMTcgLCB0eXBlbmFtZSBUMTggLCB0eXBlbmFtZSBUMTkgLCB0eXBlbmFtZSBUMjAgLCB0eXBlbmFtZSBUMjEgPgordHlwZW5hbWUgZW5jb2RlX2NoYXJyPEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDIyPiA6OnR5cGUKK2NsYXNzaWZpZXJfaW1wbChCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsIEJPT1NUX1BQX0VNUFRZKSAoVDAgLCBUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgLCBUMTIgLCBUMTMgLCBUMTQgLCBUMTUgLCBUMTYgLCBUMTcgLCBUMTggLCBUMTkgLCBUMjAgLCBUMjEgQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdik7Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgUiAsIHR5cGVuYW1lIFQwICwgdHlwZW5hbWUgVDEgLCB0eXBlbmFtZSBUMiAsIHR5cGVuYW1lIFQzICwgdHlwZW5hbWUgVDQgLCB0eXBlbmFtZSBUNSAsIHR5cGVuYW1lIFQ2ICwgdHlwZW5hbWUgVDcgLCB0eXBlbmFtZSBUOCAsIHR5cGVuYW1lIFQ5ICwgdHlwZW5hbWUgVDEwICwgdHlwZW5hbWUgVDExICwgdHlwZW5hbWUgVDEyICwgdHlwZW5hbWUgVDEzICwgdHlwZW5hbWUgVDE0ICwgdHlwZW5hbWUgVDE1ICwgdHlwZW5hbWUgVDE2ICwgdHlwZW5hbWUgVDE3ICwgdHlwZW5hbWUgVDE4ICwgdHlwZW5hbWUgVDE5ICwgdHlwZW5hbWUgVDIwICwgdHlwZW5hbWUgVDIxICwgdHlwZW5hbWUgVDIyID4KK3R5cGVuYW1lIGVuY29kZV9jaGFycjxCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZCwyMz4gOjp0eXBlCitjbGFzc2lmaWVyX2ltcGwoQk9PU1RfRlRfc3ludGF4KEJPT1NUX0ZUX2NjLCBCT09TVF9QUF9FTVBUWSkgKFQwICwgVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzICwgVDE0ICwgVDE1ICwgVDE2ICwgVDE3ICwgVDE4ICwgVDE5ICwgVDIwICwgVDIxICwgVDIyIEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YpOwordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIgLCB0eXBlbmFtZSBUMyAsIHR5cGVuYW1lIFQ0ICwgdHlwZW5hbWUgVDUgLCB0eXBlbmFtZSBUNiAsIHR5cGVuYW1lIFQ3ICwgdHlwZW5hbWUgVDggLCB0eXBlbmFtZSBUOSAsIHR5cGVuYW1lIFQxMCAsIHR5cGVuYW1lIFQxMSAsIHR5cGVuYW1lIFQxMiAsIHR5cGVuYW1lIFQxMyAsIHR5cGVuYW1lIFQxNCAsIHR5cGVuYW1lIFQxNSAsIHR5cGVuYW1lIFQxNiAsIHR5cGVuYW1lIFQxNyAsIHR5cGVuYW1lIFQxOCAsIHR5cGVuYW1lIFQxOSAsIHR5cGVuYW1lIFQyMCAsIHR5cGVuYW1lIFQyMSAsIHR5cGVuYW1lIFQyMiAsIHR5cGVuYW1lIFQyMyA+Cit0eXBlbmFtZSBlbmNvZGVfY2hhcnI8Qk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQsMjQ+IDo6dHlwZQorY2xhc3NpZmllcl9pbXBsKEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYywgQk9PU1RfUFBfRU1QVFkpIChUMCAsIFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSAsIFQyMCAsIFQyMSAsIFQyMiAsIFQyMyBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2KTsKK3RlbXBsYXRlPCB0eXBlbmFtZSBSICwgdHlwZW5hbWUgVDAgLCB0eXBlbmFtZSBUMSAsIHR5cGVuYW1lIFQyICwgdHlwZW5hbWUgVDMgLCB0eXBlbmFtZSBUNCAsIHR5cGVuYW1lIFQ1ICwgdHlwZW5hbWUgVDYgLCB0eXBlbmFtZSBUNyAsIHR5cGVuYW1lIFQ4ICwgdHlwZW5hbWUgVDkgLCB0eXBlbmFtZSBUMTAgLCB0eXBlbmFtZSBUMTEgLCB0eXBlbmFtZSBUMTIgLCB0eXBlbmFtZSBUMTMgLCB0eXBlbmFtZSBUMTQgLCB0eXBlbmFtZSBUMTUgLCB0eXBlbmFtZSBUMTYgLCB0eXBlbmFtZSBUMTcgLCB0eXBlbmFtZSBUMTggLCB0eXBlbmFtZSBUMTkgLCB0eXBlbmFtZSBUMjAgLCB0eXBlbmFtZSBUMjEgLCB0eXBlbmFtZSBUMjIgLCB0eXBlbmFtZSBUMjMgLCB0eXBlbmFtZSBUMjQgPgordHlwZW5hbWUgZW5jb2RlX2NoYXJyPEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDI1PiA6OnR5cGUKK2NsYXNzaWZpZXJfaW1wbChCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsIEJPT1NUX1BQX0VNUFRZKSAoVDAgLCBUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgLCBUMTIgLCBUMTMgLCBUMTQgLCBUMTUgLCBUMTYgLCBUMTcgLCBUMTggLCBUMTkgLCBUMjAgLCBUMjEgLCBUMjIgLCBUMjMgLCBUMjQgQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdik7Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgUiAsIHR5cGVuYW1lIFQwICwgdHlwZW5hbWUgVDEgLCB0eXBlbmFtZSBUMiAsIHR5cGVuYW1lIFQzICwgdHlwZW5hbWUgVDQgLCB0eXBlbmFtZSBUNSAsIHR5cGVuYW1lIFQ2ICwgdHlwZW5hbWUgVDcgLCB0eXBlbmFtZSBUOCAsIHR5cGVuYW1lIFQ5ICwgdHlwZW5hbWUgVDEwICwgdHlwZW5hbWUgVDExICwgdHlwZW5hbWUgVDEyICwgdHlwZW5hbWUgVDEzICwgdHlwZW5hbWUgVDE0ICwgdHlwZW5hbWUgVDE1ICwgdHlwZW5hbWUgVDE2ICwgdHlwZW5hbWUgVDE3ICwgdHlwZW5hbWUgVDE4ICwgdHlwZW5hbWUgVDE5ICwgdHlwZW5hbWUgVDIwICwgdHlwZW5hbWUgVDIxICwgdHlwZW5hbWUgVDIyICwgdHlwZW5hbWUgVDIzICwgdHlwZW5hbWUgVDI0ICwgdHlwZW5hbWUgVDI1ID4KK3R5cGVuYW1lIGVuY29kZV9jaGFycjxCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZCwyNj4gOjp0eXBlCitjbGFzc2lmaWVyX2ltcGwoQk9PU1RfRlRfc3ludGF4KEJPT1NUX0ZUX2NjLCBCT09TVF9QUF9FTVBUWSkgKFQwICwgVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzICwgVDE0ICwgVDE1ICwgVDE2ICwgVDE3ICwgVDE4ICwgVDE5ICwgVDIwICwgVDIxICwgVDIyICwgVDIzICwgVDI0ICwgVDI1IEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YpOwordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIgLCB0eXBlbmFtZSBUMyAsIHR5cGVuYW1lIFQ0ICwgdHlwZW5hbWUgVDUgLCB0eXBlbmFtZSBUNiAsIHR5cGVuYW1lIFQ3ICwgdHlwZW5hbWUgVDggLCB0eXBlbmFtZSBUOSAsIHR5cGVuYW1lIFQxMCAsIHR5cGVuYW1lIFQxMSAsIHR5cGVuYW1lIFQxMiAsIHR5cGVuYW1lIFQxMyAsIHR5cGVuYW1lIFQxNCAsIHR5cGVuYW1lIFQxNSAsIHR5cGVuYW1lIFQxNiAsIHR5cGVuYW1lIFQxNyAsIHR5cGVuYW1lIFQxOCAsIHR5cGVuYW1lIFQxOSAsIHR5cGVuYW1lIFQyMCAsIHR5cGVuYW1lIFQyMSAsIHR5cGVuYW1lIFQyMiAsIHR5cGVuYW1lIFQyMyAsIHR5cGVuYW1lIFQyNCAsIHR5cGVuYW1lIFQyNSAsIHR5cGVuYW1lIFQyNiA+Cit0eXBlbmFtZSBlbmNvZGVfY2hhcnI8Qk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQsMjc+IDo6dHlwZQorY2xhc3NpZmllcl9pbXBsKEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYywgQk9PU1RfUFBfRU1QVFkpIChUMCAsIFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSAsIFQyMCAsIFQyMSAsIFQyMiAsIFQyMyAsIFQyNCAsIFQyNSAsIFQyNiBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2KTsKK3RlbXBsYXRlPCB0eXBlbmFtZSBSICwgdHlwZW5hbWUgVDAgLCB0eXBlbmFtZSBUMSAsIHR5cGVuYW1lIFQyICwgdHlwZW5hbWUgVDMgLCB0eXBlbmFtZSBUNCAsIHR5cGVuYW1lIFQ1ICwgdHlwZW5hbWUgVDYgLCB0eXBlbmFtZSBUNyAsIHR5cGVuYW1lIFQ4ICwgdHlwZW5hbWUgVDkgLCB0eXBlbmFtZSBUMTAgLCB0eXBlbmFtZSBUMTEgLCB0eXBlbmFtZSBUMTIgLCB0eXBlbmFtZSBUMTMgLCB0eXBlbmFtZSBUMTQgLCB0eXBlbmFtZSBUMTUgLCB0eXBlbmFtZSBUMTYgLCB0eXBlbmFtZSBUMTcgLCB0eXBlbmFtZSBUMTggLCB0eXBlbmFtZSBUMTkgLCB0eXBlbmFtZSBUMjAgLCB0eXBlbmFtZSBUMjEgLCB0eXBlbmFtZSBUMjIgLCB0eXBlbmFtZSBUMjMgLCB0eXBlbmFtZSBUMjQgLCB0eXBlbmFtZSBUMjUgLCB0eXBlbmFtZSBUMjYgLCB0eXBlbmFtZSBUMjcgPgordHlwZW5hbWUgZW5jb2RlX2NoYXJyPEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDI4PiA6OnR5cGUKK2NsYXNzaWZpZXJfaW1wbChCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsIEJPT1NUX1BQX0VNUFRZKSAoVDAgLCBUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgLCBUMTIgLCBUMTMgLCBUMTQgLCBUMTUgLCBUMTYgLCBUMTcgLCBUMTggLCBUMTkgLCBUMjAgLCBUMjEgLCBUMjIgLCBUMjMgLCBUMjQgLCBUMjUgLCBUMjYgLCBUMjcgQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdik7Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgUiAsIHR5cGVuYW1lIFQwICwgdHlwZW5hbWUgVDEgLCB0eXBlbmFtZSBUMiAsIHR5cGVuYW1lIFQzICwgdHlwZW5hbWUgVDQgLCB0eXBlbmFtZSBUNSAsIHR5cGVuYW1lIFQ2ICwgdHlwZW5hbWUgVDcgLCB0eXBlbmFtZSBUOCAsIHR5cGVuYW1lIFQ5ICwgdHlwZW5hbWUgVDEwICwgdHlwZW5hbWUgVDExICwgdHlwZW5hbWUgVDEyICwgdHlwZW5hbWUgVDEzICwgdHlwZW5hbWUgVDE0ICwgdHlwZW5hbWUgVDE1ICwgdHlwZW5hbWUgVDE2ICwgdHlwZW5hbWUgVDE3ICwgdHlwZW5hbWUgVDE4ICwgdHlwZW5hbWUgVDE5ICwgdHlwZW5hbWUgVDIwICwgdHlwZW5hbWUgVDIxICwgdHlwZW5hbWUgVDIyICwgdHlwZW5hbWUgVDIzICwgdHlwZW5hbWUgVDI0ICwgdHlwZW5hbWUgVDI1ICwgdHlwZW5hbWUgVDI2ICwgdHlwZW5hbWUgVDI3ICwgdHlwZW5hbWUgVDI4ID4KK3R5cGVuYW1lIGVuY29kZV9jaGFycjxCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZCwyOT4gOjp0eXBlCitjbGFzc2lmaWVyX2ltcGwoQk9PU1RfRlRfc3ludGF4KEJPT1NUX0ZUX2NjLCBCT09TVF9QUF9FTVBUWSkgKFQwICwgVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzICwgVDE0ICwgVDE1ICwgVDE2ICwgVDE3ICwgVDE4ICwgVDE5ICwgVDIwICwgVDIxICwgVDIyICwgVDIzICwgVDI0ICwgVDI1ICwgVDI2ICwgVDI3ICwgVDI4IEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YpOwordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIgLCB0eXBlbmFtZSBUMyAsIHR5cGVuYW1lIFQ0ICwgdHlwZW5hbWUgVDUgLCB0eXBlbmFtZSBUNiAsIHR5cGVuYW1lIFQ3ICwgdHlwZW5hbWUgVDggLCB0eXBlbmFtZSBUOSAsIHR5cGVuYW1lIFQxMCAsIHR5cGVuYW1lIFQxMSAsIHR5cGVuYW1lIFQxMiAsIHR5cGVuYW1lIFQxMyAsIHR5cGVuYW1lIFQxNCAsIHR5cGVuYW1lIFQxNSAsIHR5cGVuYW1lIFQxNiAsIHR5cGVuYW1lIFQxNyAsIHR5cGVuYW1lIFQxOCAsIHR5cGVuYW1lIFQxOSAsIHR5cGVuYW1lIFQyMCAsIHR5cGVuYW1lIFQyMSAsIHR5cGVuYW1lIFQyMiAsIHR5cGVuYW1lIFQyMyAsIHR5cGVuYW1lIFQyNCAsIHR5cGVuYW1lIFQyNSAsIHR5cGVuYW1lIFQyNiAsIHR5cGVuYW1lIFQyNyAsIHR5cGVuYW1lIFQyOCAsIHR5cGVuYW1lIFQyOSA+Cit0eXBlbmFtZSBlbmNvZGVfY2hhcnI8Qk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQsMzA+IDo6dHlwZQorY2xhc3NpZmllcl9pbXBsKEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYywgQk9PU1RfUFBfRU1QVFkpIChUMCAsIFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSAsIFQyMCAsIFQyMSAsIFQyMiAsIFQyMyAsIFQyNCAsIFQyNSAsIFQyNiAsIFQyNyAsIFQyOCAsIFQyOSBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2KTsKKwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvZnVuY3Rpb25fdHlwZXMvZGV0YWlsL2NsYXNzaWZpZXJfaW1wbC9hcml0eTMwXzEuaHBwIGIvbmRuYm9vc3QvZnVuY3Rpb25fdHlwZXMvZGV0YWlsL2NsYXNzaWZpZXJfaW1wbC9hcml0eTMwXzEuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRkMWNkNmYKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9mdW5jdGlvbl90eXBlcy9kZXRhaWwvY2xhc3NpZmllcl9pbXBsL2FyaXR5MzBfMS5ocHAKQEAgLTAsMCArMSw1MyBAQAorCisvLyAoQykgQ29weXJpZ2h0IFRvYmlhcyBTY2h3aW5nZXIKKy8vCisvLyBVc2UgbW9kaWZpY2F0aW9uIGFuZCBkaXN0cmlidXRpb24gYXJlIHN1YmplY3QgdG8gdGhlIGJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsCisvLyBWZXJzaW9uIDEuMC4gKFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpLgorCisvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisvLyBubyBpbmNsdWRlIGd1YXJkcywgdGhpcyBmaWxlIGlzIGludGVuZGVkIGZvciBtdWx0aXBsZSBpbmNsdXNpb24KKworLy8gaW5wdXQ6ICBCT09TVF9GVF9zeW50YXggICAgIHR5cGUgbWFjcm8gdG8gdXNlCisvLyBpbnB1dDogIEJPT1NUX0ZUX2NjICAgICAgICAgZW1wdHkgb3IgY2Mgc3BlY2lmaWVyIAorLy8gaW5wdXQ6ICBCT09TVF9GVF9lbGwgICAgICAgIGVtcHR5IG9yICIuLi4iCisvLyBpbnB1dDogIEJPT1NUX0ZUX2N2ICAgICAgICAgZW1wdHkgb3IgY3YgcXVhbGlmaWVycworLy8gaW5wdXQ6ICBCT09TVF9GVF9mbGFncyAgICAgIHNpbmdsZSBkZWNpbWFsIGludGVnZXIgZW5jb2RpbmcgdGhlIGZsYWdzCisvLyBvdXRwdXQ6IEJPT1NUX0ZUX24gICAgICAgICAgbnVtYmVyIG9mIGNvbXBvbmVudCB0eXBlcyAoYXJpdHkrMSkKKy8vIG91dHB1dDogQk9PU1RfRlRfYXJpdHkgICAgICBjdXJyZW50IGFyaXR5CisvLyBvdXRwdXQ6IEJPT1NUX0ZUX3R5cGUgICAgICAgbWFjcm8gdGhhdCBleHBhbmRzIHRvIHRoZSB0eXBlCisvLyBvdXRwdXQ6IEJPT1NUX0ZUX3RwbGFyZ3MocCkgdGVtcGxhdGUgYXJndW1lbnRzIHdpdGggZ2l2ZW4gcHJlZml4CisvLyBvdXRwdXQ6IEJPT1NUX0ZUX3BhcmFtcyhwKSAgcGFyYW1ldGVycyB3aXRoIGdpdmVuIHByZWZpeAorCisjIGluY2x1ZGUgPG5kbmJvb3N0L2Z1bmN0aW9uX3R5cGVzL2RldGFpbC9jbGFzc2lmaWVyX2ltcGwvYXJpdHkyMF8xLmhwcD4KK3RlbXBsYXRlPCB0eXBlbmFtZSBSICwgdHlwZW5hbWUgVDAgLCB0eXBlbmFtZSBUMSAsIHR5cGVuYW1lIFQyICwgdHlwZW5hbWUgVDMgLCB0eXBlbmFtZSBUNCAsIHR5cGVuYW1lIFQ1ICwgdHlwZW5hbWUgVDYgLCB0eXBlbmFtZSBUNyAsIHR5cGVuYW1lIFQ4ICwgdHlwZW5hbWUgVDkgLCB0eXBlbmFtZSBUMTAgLCB0eXBlbmFtZSBUMTEgLCB0eXBlbmFtZSBUMTIgLCB0eXBlbmFtZSBUMTMgLCB0eXBlbmFtZSBUMTQgLCB0eXBlbmFtZSBUMTUgLCB0eXBlbmFtZSBUMTYgLCB0eXBlbmFtZSBUMTcgLCB0eXBlbmFtZSBUMTggLCB0eXBlbmFtZSBUMTkgLCB0eXBlbmFtZSBUMjAgPgordHlwZW5hbWUgZW5jb2RlX2NoYXJyPEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDIxPiA6OnR5cGUKK2NsYXNzaWZpZXJfaW1wbChCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsIEJPT1NUX1BQX0VNUFRZKSAoVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzICwgVDE0ICwgVDE1ICwgVDE2ICwgVDE3ICwgVDE4ICwgVDE5ICwgVDIwIEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YpOwordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIgLCB0eXBlbmFtZSBUMyAsIHR5cGVuYW1lIFQ0ICwgdHlwZW5hbWUgVDUgLCB0eXBlbmFtZSBUNiAsIHR5cGVuYW1lIFQ3ICwgdHlwZW5hbWUgVDggLCB0eXBlbmFtZSBUOSAsIHR5cGVuYW1lIFQxMCAsIHR5cGVuYW1lIFQxMSAsIHR5cGVuYW1lIFQxMiAsIHR5cGVuYW1lIFQxMyAsIHR5cGVuYW1lIFQxNCAsIHR5cGVuYW1lIFQxNSAsIHR5cGVuYW1lIFQxNiAsIHR5cGVuYW1lIFQxNyAsIHR5cGVuYW1lIFQxOCAsIHR5cGVuYW1lIFQxOSAsIHR5cGVuYW1lIFQyMCAsIHR5cGVuYW1lIFQyMSA+Cit0eXBlbmFtZSBlbmNvZGVfY2hhcnI8Qk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQsMjI+IDo6dHlwZQorY2xhc3NpZmllcl9pbXBsKEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYywgQk9PU1RfUFBfRU1QVFkpIChUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgLCBUMTIgLCBUMTMgLCBUMTQgLCBUMTUgLCBUMTYgLCBUMTcgLCBUMTggLCBUMTkgLCBUMjAgLCBUMjEgQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdik7Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgUiAsIHR5cGVuYW1lIFQwICwgdHlwZW5hbWUgVDEgLCB0eXBlbmFtZSBUMiAsIHR5cGVuYW1lIFQzICwgdHlwZW5hbWUgVDQgLCB0eXBlbmFtZSBUNSAsIHR5cGVuYW1lIFQ2ICwgdHlwZW5hbWUgVDcgLCB0eXBlbmFtZSBUOCAsIHR5cGVuYW1lIFQ5ICwgdHlwZW5hbWUgVDEwICwgdHlwZW5hbWUgVDExICwgdHlwZW5hbWUgVDEyICwgdHlwZW5hbWUgVDEzICwgdHlwZW5hbWUgVDE0ICwgdHlwZW5hbWUgVDE1ICwgdHlwZW5hbWUgVDE2ICwgdHlwZW5hbWUgVDE3ICwgdHlwZW5hbWUgVDE4ICwgdHlwZW5hbWUgVDE5ICwgdHlwZW5hbWUgVDIwICwgdHlwZW5hbWUgVDIxICwgdHlwZW5hbWUgVDIyID4KK3R5cGVuYW1lIGVuY29kZV9jaGFycjxCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZCwyMz4gOjp0eXBlCitjbGFzc2lmaWVyX2ltcGwoQk9PU1RfRlRfc3ludGF4KEJPT1NUX0ZUX2NjLCBCT09TVF9QUF9FTVBUWSkgKFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSAsIFQyMCAsIFQyMSAsIFQyMiBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2KTsKK3RlbXBsYXRlPCB0eXBlbmFtZSBSICwgdHlwZW5hbWUgVDAgLCB0eXBlbmFtZSBUMSAsIHR5cGVuYW1lIFQyICwgdHlwZW5hbWUgVDMgLCB0eXBlbmFtZSBUNCAsIHR5cGVuYW1lIFQ1ICwgdHlwZW5hbWUgVDYgLCB0eXBlbmFtZSBUNyAsIHR5cGVuYW1lIFQ4ICwgdHlwZW5hbWUgVDkgLCB0eXBlbmFtZSBUMTAgLCB0eXBlbmFtZSBUMTEgLCB0eXBlbmFtZSBUMTIgLCB0eXBlbmFtZSBUMTMgLCB0eXBlbmFtZSBUMTQgLCB0eXBlbmFtZSBUMTUgLCB0eXBlbmFtZSBUMTYgLCB0eXBlbmFtZSBUMTcgLCB0eXBlbmFtZSBUMTggLCB0eXBlbmFtZSBUMTkgLCB0eXBlbmFtZSBUMjAgLCB0eXBlbmFtZSBUMjEgLCB0eXBlbmFtZSBUMjIgLCB0eXBlbmFtZSBUMjMgPgordHlwZW5hbWUgZW5jb2RlX2NoYXJyPEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDI0PiA6OnR5cGUKK2NsYXNzaWZpZXJfaW1wbChCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsIEJPT1NUX1BQX0VNUFRZKSAoVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzICwgVDE0ICwgVDE1ICwgVDE2ICwgVDE3ICwgVDE4ICwgVDE5ICwgVDIwICwgVDIxICwgVDIyICwgVDIzIEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YpOwordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIgLCB0eXBlbmFtZSBUMyAsIHR5cGVuYW1lIFQ0ICwgdHlwZW5hbWUgVDUgLCB0eXBlbmFtZSBUNiAsIHR5cGVuYW1lIFQ3ICwgdHlwZW5hbWUgVDggLCB0eXBlbmFtZSBUOSAsIHR5cGVuYW1lIFQxMCAsIHR5cGVuYW1lIFQxMSAsIHR5cGVuYW1lIFQxMiAsIHR5cGVuYW1lIFQxMyAsIHR5cGVuYW1lIFQxNCAsIHR5cGVuYW1lIFQxNSAsIHR5cGVuYW1lIFQxNiAsIHR5cGVuYW1lIFQxNyAsIHR5cGVuYW1lIFQxOCAsIHR5cGVuYW1lIFQxOSAsIHR5cGVuYW1lIFQyMCAsIHR5cGVuYW1lIFQyMSAsIHR5cGVuYW1lIFQyMiAsIHR5cGVuYW1lIFQyMyAsIHR5cGVuYW1lIFQyNCA+Cit0eXBlbmFtZSBlbmNvZGVfY2hhcnI8Qk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQsMjU+IDo6dHlwZQorY2xhc3NpZmllcl9pbXBsKEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYywgQk9PU1RfUFBfRU1QVFkpIChUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgLCBUMTIgLCBUMTMgLCBUMTQgLCBUMTUgLCBUMTYgLCBUMTcgLCBUMTggLCBUMTkgLCBUMjAgLCBUMjEgLCBUMjIgLCBUMjMgLCBUMjQgQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdik7Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgUiAsIHR5cGVuYW1lIFQwICwgdHlwZW5hbWUgVDEgLCB0eXBlbmFtZSBUMiAsIHR5cGVuYW1lIFQzICwgdHlwZW5hbWUgVDQgLCB0eXBlbmFtZSBUNSAsIHR5cGVuYW1lIFQ2ICwgdHlwZW5hbWUgVDcgLCB0eXBlbmFtZSBUOCAsIHR5cGVuYW1lIFQ5ICwgdHlwZW5hbWUgVDEwICwgdHlwZW5hbWUgVDExICwgdHlwZW5hbWUgVDEyICwgdHlwZW5hbWUgVDEzICwgdHlwZW5hbWUgVDE0ICwgdHlwZW5hbWUgVDE1ICwgdHlwZW5hbWUgVDE2ICwgdHlwZW5hbWUgVDE3ICwgdHlwZW5hbWUgVDE4ICwgdHlwZW5hbWUgVDE5ICwgdHlwZW5hbWUgVDIwICwgdHlwZW5hbWUgVDIxICwgdHlwZW5hbWUgVDIyICwgdHlwZW5hbWUgVDIzICwgdHlwZW5hbWUgVDI0ICwgdHlwZW5hbWUgVDI1ID4KK3R5cGVuYW1lIGVuY29kZV9jaGFycjxCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZCwyNj4gOjp0eXBlCitjbGFzc2lmaWVyX2ltcGwoQk9PU1RfRlRfc3ludGF4KEJPT1NUX0ZUX2NjLCBCT09TVF9QUF9FTVBUWSkgKFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSAsIFQyMCAsIFQyMSAsIFQyMiAsIFQyMyAsIFQyNCAsIFQyNSBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2KTsKK3RlbXBsYXRlPCB0eXBlbmFtZSBSICwgdHlwZW5hbWUgVDAgLCB0eXBlbmFtZSBUMSAsIHR5cGVuYW1lIFQyICwgdHlwZW5hbWUgVDMgLCB0eXBlbmFtZSBUNCAsIHR5cGVuYW1lIFQ1ICwgdHlwZW5hbWUgVDYgLCB0eXBlbmFtZSBUNyAsIHR5cGVuYW1lIFQ4ICwgdHlwZW5hbWUgVDkgLCB0eXBlbmFtZSBUMTAgLCB0eXBlbmFtZSBUMTEgLCB0eXBlbmFtZSBUMTIgLCB0eXBlbmFtZSBUMTMgLCB0eXBlbmFtZSBUMTQgLCB0eXBlbmFtZSBUMTUgLCB0eXBlbmFtZSBUMTYgLCB0eXBlbmFtZSBUMTcgLCB0eXBlbmFtZSBUMTggLCB0eXBlbmFtZSBUMTkgLCB0eXBlbmFtZSBUMjAgLCB0eXBlbmFtZSBUMjEgLCB0eXBlbmFtZSBUMjIgLCB0eXBlbmFtZSBUMjMgLCB0eXBlbmFtZSBUMjQgLCB0eXBlbmFtZSBUMjUgLCB0eXBlbmFtZSBUMjYgPgordHlwZW5hbWUgZW5jb2RlX2NoYXJyPEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDI3PiA6OnR5cGUKK2NsYXNzaWZpZXJfaW1wbChCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsIEJPT1NUX1BQX0VNUFRZKSAoVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzICwgVDE0ICwgVDE1ICwgVDE2ICwgVDE3ICwgVDE4ICwgVDE5ICwgVDIwICwgVDIxICwgVDIyICwgVDIzICwgVDI0ICwgVDI1ICwgVDI2IEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YpOwordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIgLCB0eXBlbmFtZSBUMyAsIHR5cGVuYW1lIFQ0ICwgdHlwZW5hbWUgVDUgLCB0eXBlbmFtZSBUNiAsIHR5cGVuYW1lIFQ3ICwgdHlwZW5hbWUgVDggLCB0eXBlbmFtZSBUOSAsIHR5cGVuYW1lIFQxMCAsIHR5cGVuYW1lIFQxMSAsIHR5cGVuYW1lIFQxMiAsIHR5cGVuYW1lIFQxMyAsIHR5cGVuYW1lIFQxNCAsIHR5cGVuYW1lIFQxNSAsIHR5cGVuYW1lIFQxNiAsIHR5cGVuYW1lIFQxNyAsIHR5cGVuYW1lIFQxOCAsIHR5cGVuYW1lIFQxOSAsIHR5cGVuYW1lIFQyMCAsIHR5cGVuYW1lIFQyMSAsIHR5cGVuYW1lIFQyMiAsIHR5cGVuYW1lIFQyMyAsIHR5cGVuYW1lIFQyNCAsIHR5cGVuYW1lIFQyNSAsIHR5cGVuYW1lIFQyNiAsIHR5cGVuYW1lIFQyNyA+Cit0eXBlbmFtZSBlbmNvZGVfY2hhcnI8Qk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQsMjg+IDo6dHlwZQorY2xhc3NpZmllcl9pbXBsKEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYywgQk9PU1RfUFBfRU1QVFkpIChUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgLCBUMTIgLCBUMTMgLCBUMTQgLCBUMTUgLCBUMTYgLCBUMTcgLCBUMTggLCBUMTkgLCBUMjAgLCBUMjEgLCBUMjIgLCBUMjMgLCBUMjQgLCBUMjUgLCBUMjYgLCBUMjcgQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdik7Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgUiAsIHR5cGVuYW1lIFQwICwgdHlwZW5hbWUgVDEgLCB0eXBlbmFtZSBUMiAsIHR5cGVuYW1lIFQzICwgdHlwZW5hbWUgVDQgLCB0eXBlbmFtZSBUNSAsIHR5cGVuYW1lIFQ2ICwgdHlwZW5hbWUgVDcgLCB0eXBlbmFtZSBUOCAsIHR5cGVuYW1lIFQ5ICwgdHlwZW5hbWUgVDEwICwgdHlwZW5hbWUgVDExICwgdHlwZW5hbWUgVDEyICwgdHlwZW5hbWUgVDEzICwgdHlwZW5hbWUgVDE0ICwgdHlwZW5hbWUgVDE1ICwgdHlwZW5hbWUgVDE2ICwgdHlwZW5hbWUgVDE3ICwgdHlwZW5hbWUgVDE4ICwgdHlwZW5hbWUgVDE5ICwgdHlwZW5hbWUgVDIwICwgdHlwZW5hbWUgVDIxICwgdHlwZW5hbWUgVDIyICwgdHlwZW5hbWUgVDIzICwgdHlwZW5hbWUgVDI0ICwgdHlwZW5hbWUgVDI1ICwgdHlwZW5hbWUgVDI2ICwgdHlwZW5hbWUgVDI3ICwgdHlwZW5hbWUgVDI4ID4KK3R5cGVuYW1lIGVuY29kZV9jaGFycjxCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZCwyOT4gOjp0eXBlCitjbGFzc2lmaWVyX2ltcGwoQk9PU1RfRlRfc3ludGF4KEJPT1NUX0ZUX2NjLCBCT09TVF9QUF9FTVBUWSkgKFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSAsIFQyMCAsIFQyMSAsIFQyMiAsIFQyMyAsIFQyNCAsIFQyNSAsIFQyNiAsIFQyNyAsIFQyOCBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2KTsKK3RlbXBsYXRlPCB0eXBlbmFtZSBSICwgdHlwZW5hbWUgVDAgLCB0eXBlbmFtZSBUMSAsIHR5cGVuYW1lIFQyICwgdHlwZW5hbWUgVDMgLCB0eXBlbmFtZSBUNCAsIHR5cGVuYW1lIFQ1ICwgdHlwZW5hbWUgVDYgLCB0eXBlbmFtZSBUNyAsIHR5cGVuYW1lIFQ4ICwgdHlwZW5hbWUgVDkgLCB0eXBlbmFtZSBUMTAgLCB0eXBlbmFtZSBUMTEgLCB0eXBlbmFtZSBUMTIgLCB0eXBlbmFtZSBUMTMgLCB0eXBlbmFtZSBUMTQgLCB0eXBlbmFtZSBUMTUgLCB0eXBlbmFtZSBUMTYgLCB0eXBlbmFtZSBUMTcgLCB0eXBlbmFtZSBUMTggLCB0eXBlbmFtZSBUMTkgLCB0eXBlbmFtZSBUMjAgLCB0eXBlbmFtZSBUMjEgLCB0eXBlbmFtZSBUMjIgLCB0eXBlbmFtZSBUMjMgLCB0eXBlbmFtZSBUMjQgLCB0eXBlbmFtZSBUMjUgLCB0eXBlbmFtZSBUMjYgLCB0eXBlbmFtZSBUMjcgLCB0eXBlbmFtZSBUMjggLCB0eXBlbmFtZSBUMjkgPgordHlwZW5hbWUgZW5jb2RlX2NoYXJyPEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDMwPiA6OnR5cGUKK2NsYXNzaWZpZXJfaW1wbChCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsIEJPT1NUX1BQX0VNUFRZKSAoVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzICwgVDE0ICwgVDE1ICwgVDE2ICwgVDE3ICwgVDE4ICwgVDE5ICwgVDIwICwgVDIxICwgVDIyICwgVDIzICwgVDI0ICwgVDI1ICwgVDI2ICwgVDI3ICwgVDI4ICwgVDI5IEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YpOworCmRpZmYgLS1naXQgYS9uZG5ib29zdC9mdW5jdGlvbl90eXBlcy9kZXRhaWwvY2xhc3NpZmllcl9pbXBsL2FyaXR5NDBfMC5ocHAgYi9uZG5ib29zdC9mdW5jdGlvbl90eXBlcy9kZXRhaWwvY2xhc3NpZmllcl9pbXBsL2FyaXR5NDBfMC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzczZDg0YgotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L2Z1bmN0aW9uX3R5cGVzL2RldGFpbC9jbGFzc2lmaWVyX2ltcGwvYXJpdHk0MF8wLmhwcApAQCAtMCwwICsxLDUzIEBACisKKy8vIChDKSBDb3B5cmlnaHQgVG9iaWFzIFNjaHdpbmdlcgorLy8KKy8vIFVzZSBtb2RpZmljYXRpb24gYW5kIGRpc3RyaWJ1dGlvbiBhcmUgc3ViamVjdCB0byB0aGUgYm9vc3QgU29mdHdhcmUgTGljZW5zZSwKKy8vIFZlcnNpb24gMS4wLiAoU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkuCisKKy8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKy8vIG5vIGluY2x1ZGUgZ3VhcmRzLCB0aGlzIGZpbGUgaXMgaW50ZW5kZWQgZm9yIG11bHRpcGxlIGluY2x1c2lvbgorCisvLyBpbnB1dDogIEJPT1NUX0ZUX3N5bnRheCAgICAgdHlwZSBtYWNybyB0byB1c2UKKy8vIGlucHV0OiAgQk9PU1RfRlRfY2MgICAgICAgICBlbXB0eSBvciBjYyBzcGVjaWZpZXIgCisvLyBpbnB1dDogIEJPT1NUX0ZUX2VsbCAgICAgICAgZW1wdHkgb3IgIi4uLiIKKy8vIGlucHV0OiAgQk9PU1RfRlRfY3YgICAgICAgICBlbXB0eSBvciBjdiBxdWFsaWZpZXJzCisvLyBpbnB1dDogIEJPT1NUX0ZUX2ZsYWdzICAgICAgc2luZ2xlIGRlY2ltYWwgaW50ZWdlciBlbmNvZGluZyB0aGUgZmxhZ3MKKy8vIG91dHB1dDogQk9PU1RfRlRfbiAgICAgICAgICBudW1iZXIgb2YgY29tcG9uZW50IHR5cGVzIChhcml0eSsxKQorLy8gb3V0cHV0OiBCT09TVF9GVF9hcml0eSAgICAgIGN1cnJlbnQgYXJpdHkKKy8vIG91dHB1dDogQk9PU1RfRlRfdHlwZSAgICAgICBtYWNybyB0aGF0IGV4cGFuZHMgdG8gdGhlIHR5cGUKKy8vIG91dHB1dDogQk9PU1RfRlRfdHBsYXJncyhwKSB0ZW1wbGF0ZSBhcmd1bWVudHMgd2l0aCBnaXZlbiBwcmVmaXgKKy8vIG91dHB1dDogQk9PU1RfRlRfcGFyYW1zKHApICBwYXJhbWV0ZXJzIHdpdGggZ2l2ZW4gcHJlZml4CisKKyMgaW5jbHVkZSA8bmRuYm9vc3QvZnVuY3Rpb25fdHlwZXMvZGV0YWlsL2NsYXNzaWZpZXJfaW1wbC9hcml0eTMwXzAuaHBwPgordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIgLCB0eXBlbmFtZSBUMyAsIHR5cGVuYW1lIFQ0ICwgdHlwZW5hbWUgVDUgLCB0eXBlbmFtZSBUNiAsIHR5cGVuYW1lIFQ3ICwgdHlwZW5hbWUgVDggLCB0eXBlbmFtZSBUOSAsIHR5cGVuYW1lIFQxMCAsIHR5cGVuYW1lIFQxMSAsIHR5cGVuYW1lIFQxMiAsIHR5cGVuYW1lIFQxMyAsIHR5cGVuYW1lIFQxNCAsIHR5cGVuYW1lIFQxNSAsIHR5cGVuYW1lIFQxNiAsIHR5cGVuYW1lIFQxNyAsIHR5cGVuYW1lIFQxOCAsIHR5cGVuYW1lIFQxOSAsIHR5cGVuYW1lIFQyMCAsIHR5cGVuYW1lIFQyMSAsIHR5cGVuYW1lIFQyMiAsIHR5cGVuYW1lIFQyMyAsIHR5cGVuYW1lIFQyNCAsIHR5cGVuYW1lIFQyNSAsIHR5cGVuYW1lIFQyNiAsIHR5cGVuYW1lIFQyNyAsIHR5cGVuYW1lIFQyOCAsIHR5cGVuYW1lIFQyOSAsIHR5cGVuYW1lIFQzMCA+Cit0eXBlbmFtZSBlbmNvZGVfY2hhcnI8Qk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQsMzE+IDo6dHlwZQorY2xhc3NpZmllcl9pbXBsKEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYywgQk9PU1RfUFBfRU1QVFkpIChUMCAsIFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSAsIFQyMCAsIFQyMSAsIFQyMiAsIFQyMyAsIFQyNCAsIFQyNSAsIFQyNiAsIFQyNyAsIFQyOCAsIFQyOSAsIFQzMCBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2KTsKK3RlbXBsYXRlPCB0eXBlbmFtZSBSICwgdHlwZW5hbWUgVDAgLCB0eXBlbmFtZSBUMSAsIHR5cGVuYW1lIFQyICwgdHlwZW5hbWUgVDMgLCB0eXBlbmFtZSBUNCAsIHR5cGVuYW1lIFQ1ICwgdHlwZW5hbWUgVDYgLCB0eXBlbmFtZSBUNyAsIHR5cGVuYW1lIFQ4ICwgdHlwZW5hbWUgVDkgLCB0eXBlbmFtZSBUMTAgLCB0eXBlbmFtZSBUMTEgLCB0eXBlbmFtZSBUMTIgLCB0eXBlbmFtZSBUMTMgLCB0eXBlbmFtZSBUMTQgLCB0eXBlbmFtZSBUMTUgLCB0eXBlbmFtZSBUMTYgLCB0eXBlbmFtZSBUMTcgLCB0eXBlbmFtZSBUMTggLCB0eXBlbmFtZSBUMTkgLCB0eXBlbmFtZSBUMjAgLCB0eXBlbmFtZSBUMjEgLCB0eXBlbmFtZSBUMjIgLCB0eXBlbmFtZSBUMjMgLCB0eXBlbmFtZSBUMjQgLCB0eXBlbmFtZSBUMjUgLCB0eXBlbmFtZSBUMjYgLCB0eXBlbmFtZSBUMjcgLCB0eXBlbmFtZSBUMjggLCB0eXBlbmFtZSBUMjkgLCB0eXBlbmFtZSBUMzAgLCB0eXBlbmFtZSBUMzEgPgordHlwZW5hbWUgZW5jb2RlX2NoYXJyPEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDMyPiA6OnR5cGUKK2NsYXNzaWZpZXJfaW1wbChCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsIEJPT1NUX1BQX0VNUFRZKSAoVDAgLCBUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgLCBUMTIgLCBUMTMgLCBUMTQgLCBUMTUgLCBUMTYgLCBUMTcgLCBUMTggLCBUMTkgLCBUMjAgLCBUMjEgLCBUMjIgLCBUMjMgLCBUMjQgLCBUMjUgLCBUMjYgLCBUMjcgLCBUMjggLCBUMjkgLCBUMzAgLCBUMzEgQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdik7Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgUiAsIHR5cGVuYW1lIFQwICwgdHlwZW5hbWUgVDEgLCB0eXBlbmFtZSBUMiAsIHR5cGVuYW1lIFQzICwgdHlwZW5hbWUgVDQgLCB0eXBlbmFtZSBUNSAsIHR5cGVuYW1lIFQ2ICwgdHlwZW5hbWUgVDcgLCB0eXBlbmFtZSBUOCAsIHR5cGVuYW1lIFQ5ICwgdHlwZW5hbWUgVDEwICwgdHlwZW5hbWUgVDExICwgdHlwZW5hbWUgVDEyICwgdHlwZW5hbWUgVDEzICwgdHlwZW5hbWUgVDE0ICwgdHlwZW5hbWUgVDE1ICwgdHlwZW5hbWUgVDE2ICwgdHlwZW5hbWUgVDE3ICwgdHlwZW5hbWUgVDE4ICwgdHlwZW5hbWUgVDE5ICwgdHlwZW5hbWUgVDIwICwgdHlwZW5hbWUgVDIxICwgdHlwZW5hbWUgVDIyICwgdHlwZW5hbWUgVDIzICwgdHlwZW5hbWUgVDI0ICwgdHlwZW5hbWUgVDI1ICwgdHlwZW5hbWUgVDI2ICwgdHlwZW5hbWUgVDI3ICwgdHlwZW5hbWUgVDI4ICwgdHlwZW5hbWUgVDI5ICwgdHlwZW5hbWUgVDMwICwgdHlwZW5hbWUgVDMxICwgdHlwZW5hbWUgVDMyID4KK3R5cGVuYW1lIGVuY29kZV9jaGFycjxCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZCwzMz4gOjp0eXBlCitjbGFzc2lmaWVyX2ltcGwoQk9PU1RfRlRfc3ludGF4KEJPT1NUX0ZUX2NjLCBCT09TVF9QUF9FTVBUWSkgKFQwICwgVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzICwgVDE0ICwgVDE1ICwgVDE2ICwgVDE3ICwgVDE4ICwgVDE5ICwgVDIwICwgVDIxICwgVDIyICwgVDIzICwgVDI0ICwgVDI1ICwgVDI2ICwgVDI3ICwgVDI4ICwgVDI5ICwgVDMwICwgVDMxICwgVDMyIEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YpOwordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIgLCB0eXBlbmFtZSBUMyAsIHR5cGVuYW1lIFQ0ICwgdHlwZW5hbWUgVDUgLCB0eXBlbmFtZSBUNiAsIHR5cGVuYW1lIFQ3ICwgdHlwZW5hbWUgVDggLCB0eXBlbmFtZSBUOSAsIHR5cGVuYW1lIFQxMCAsIHR5cGVuYW1lIFQxMSAsIHR5cGVuYW1lIFQxMiAsIHR5cGVuYW1lIFQxMyAsIHR5cGVuYW1lIFQxNCAsIHR5cGVuYW1lIFQxNSAsIHR5cGVuYW1lIFQxNiAsIHR5cGVuYW1lIFQxNyAsIHR5cGVuYW1lIFQxOCAsIHR5cGVuYW1lIFQxOSAsIHR5cGVuYW1lIFQyMCAsIHR5cGVuYW1lIFQyMSAsIHR5cGVuYW1lIFQyMiAsIHR5cGVuYW1lIFQyMyAsIHR5cGVuYW1lIFQyNCAsIHR5cGVuYW1lIFQyNSAsIHR5cGVuYW1lIFQyNiAsIHR5cGVuYW1lIFQyNyAsIHR5cGVuYW1lIFQyOCAsIHR5cGVuYW1lIFQyOSAsIHR5cGVuYW1lIFQzMCAsIHR5cGVuYW1lIFQzMSAsIHR5cGVuYW1lIFQzMiAsIHR5cGVuYW1lIFQzMyA+Cit0eXBlbmFtZSBlbmNvZGVfY2hhcnI8Qk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQsMzQ+IDo6dHlwZQorY2xhc3NpZmllcl9pbXBsKEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYywgQk9PU1RfUFBfRU1QVFkpIChUMCAsIFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSAsIFQyMCAsIFQyMSAsIFQyMiAsIFQyMyAsIFQyNCAsIFQyNSAsIFQyNiAsIFQyNyAsIFQyOCAsIFQyOSAsIFQzMCAsIFQzMSAsIFQzMiAsIFQzMyBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2KTsKK3RlbXBsYXRlPCB0eXBlbmFtZSBSICwgdHlwZW5hbWUgVDAgLCB0eXBlbmFtZSBUMSAsIHR5cGVuYW1lIFQyICwgdHlwZW5hbWUgVDMgLCB0eXBlbmFtZSBUNCAsIHR5cGVuYW1lIFQ1ICwgdHlwZW5hbWUgVDYgLCB0eXBlbmFtZSBUNyAsIHR5cGVuYW1lIFQ4ICwgdHlwZW5hbWUgVDkgLCB0eXBlbmFtZSBUMTAgLCB0eXBlbmFtZSBUMTEgLCB0eXBlbmFtZSBUMTIgLCB0eXBlbmFtZSBUMTMgLCB0eXBlbmFtZSBUMTQgLCB0eXBlbmFtZSBUMTUgLCB0eXBlbmFtZSBUMTYgLCB0eXBlbmFtZSBUMTcgLCB0eXBlbmFtZSBUMTggLCB0eXBlbmFtZSBUMTkgLCB0eXBlbmFtZSBUMjAgLCB0eXBlbmFtZSBUMjEgLCB0eXBlbmFtZSBUMjIgLCB0eXBlbmFtZSBUMjMgLCB0eXBlbmFtZSBUMjQgLCB0eXBlbmFtZSBUMjUgLCB0eXBlbmFtZSBUMjYgLCB0eXBlbmFtZSBUMjcgLCB0eXBlbmFtZSBUMjggLCB0eXBlbmFtZSBUMjkgLCB0eXBlbmFtZSBUMzAgLCB0eXBlbmFtZSBUMzEgLCB0eXBlbmFtZSBUMzIgLCB0eXBlbmFtZSBUMzMgLCB0eXBlbmFtZSBUMzQgPgordHlwZW5hbWUgZW5jb2RlX2NoYXJyPEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDM1PiA6OnR5cGUKK2NsYXNzaWZpZXJfaW1wbChCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsIEJPT1NUX1BQX0VNUFRZKSAoVDAgLCBUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgLCBUMTIgLCBUMTMgLCBUMTQgLCBUMTUgLCBUMTYgLCBUMTcgLCBUMTggLCBUMTkgLCBUMjAgLCBUMjEgLCBUMjIgLCBUMjMgLCBUMjQgLCBUMjUgLCBUMjYgLCBUMjcgLCBUMjggLCBUMjkgLCBUMzAgLCBUMzEgLCBUMzIgLCBUMzMgLCBUMzQgQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdik7Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgUiAsIHR5cGVuYW1lIFQwICwgdHlwZW5hbWUgVDEgLCB0eXBlbmFtZSBUMiAsIHR5cGVuYW1lIFQzICwgdHlwZW5hbWUgVDQgLCB0eXBlbmFtZSBUNSAsIHR5cGVuYW1lIFQ2ICwgdHlwZW5hbWUgVDcgLCB0eXBlbmFtZSBUOCAsIHR5cGVuYW1lIFQ5ICwgdHlwZW5hbWUgVDEwICwgdHlwZW5hbWUgVDExICwgdHlwZW5hbWUgVDEyICwgdHlwZW5hbWUgVDEzICwgdHlwZW5hbWUgVDE0ICwgdHlwZW5hbWUgVDE1ICwgdHlwZW5hbWUgVDE2ICwgdHlwZW5hbWUgVDE3ICwgdHlwZW5hbWUgVDE4ICwgdHlwZW5hbWUgVDE5ICwgdHlwZW5hbWUgVDIwICwgdHlwZW5hbWUgVDIxICwgdHlwZW5hbWUgVDIyICwgdHlwZW5hbWUgVDIzICwgdHlwZW5hbWUgVDI0ICwgdHlwZW5hbWUgVDI1ICwgdHlwZW5hbWUgVDI2ICwgdHlwZW5hbWUgVDI3ICwgdHlwZW5hbWUgVDI4ICwgdHlwZW5hbWUgVDI5ICwgdHlwZW5hbWUgVDMwICwgdHlwZW5hbWUgVDMxICwgdHlwZW5hbWUgVDMyICwgdHlwZW5hbWUgVDMzICwgdHlwZW5hbWUgVDM0ICwgdHlwZW5hbWUgVDM1ID4KK3R5cGVuYW1lIGVuY29kZV9jaGFycjxCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZCwzNj4gOjp0eXBlCitjbGFzc2lmaWVyX2ltcGwoQk9PU1RfRlRfc3ludGF4KEJPT1NUX0ZUX2NjLCBCT09TVF9QUF9FTVBUWSkgKFQwICwgVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzICwgVDE0ICwgVDE1ICwgVDE2ICwgVDE3ICwgVDE4ICwgVDE5ICwgVDIwICwgVDIxICwgVDIyICwgVDIzICwgVDI0ICwgVDI1ICwgVDI2ICwgVDI3ICwgVDI4ICwgVDI5ICwgVDMwICwgVDMxICwgVDMyICwgVDMzICwgVDM0ICwgVDM1IEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YpOwordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIgLCB0eXBlbmFtZSBUMyAsIHR5cGVuYW1lIFQ0ICwgdHlwZW5hbWUgVDUgLCB0eXBlbmFtZSBUNiAsIHR5cGVuYW1lIFQ3ICwgdHlwZW5hbWUgVDggLCB0eXBlbmFtZSBUOSAsIHR5cGVuYW1lIFQxMCAsIHR5cGVuYW1lIFQxMSAsIHR5cGVuYW1lIFQxMiAsIHR5cGVuYW1lIFQxMyAsIHR5cGVuYW1lIFQxNCAsIHR5cGVuYW1lIFQxNSAsIHR5cGVuYW1lIFQxNiAsIHR5cGVuYW1lIFQxNyAsIHR5cGVuYW1lIFQxOCAsIHR5cGVuYW1lIFQxOSAsIHR5cGVuYW1lIFQyMCAsIHR5cGVuYW1lIFQyMSAsIHR5cGVuYW1lIFQyMiAsIHR5cGVuYW1lIFQyMyAsIHR5cGVuYW1lIFQyNCAsIHR5cGVuYW1lIFQyNSAsIHR5cGVuYW1lIFQyNiAsIHR5cGVuYW1lIFQyNyAsIHR5cGVuYW1lIFQyOCAsIHR5cGVuYW1lIFQyOSAsIHR5cGVuYW1lIFQzMCAsIHR5cGVuYW1lIFQzMSAsIHR5cGVuYW1lIFQzMiAsIHR5cGVuYW1lIFQzMyAsIHR5cGVuYW1lIFQzNCAsIHR5cGVuYW1lIFQzNSAsIHR5cGVuYW1lIFQzNiA+Cit0eXBlbmFtZSBlbmNvZGVfY2hhcnI8Qk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQsMzc+IDo6dHlwZQorY2xhc3NpZmllcl9pbXBsKEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYywgQk9PU1RfUFBfRU1QVFkpIChUMCAsIFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSAsIFQyMCAsIFQyMSAsIFQyMiAsIFQyMyAsIFQyNCAsIFQyNSAsIFQyNiAsIFQyNyAsIFQyOCAsIFQyOSAsIFQzMCAsIFQzMSAsIFQzMiAsIFQzMyAsIFQzNCAsIFQzNSAsIFQzNiBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2KTsKK3RlbXBsYXRlPCB0eXBlbmFtZSBSICwgdHlwZW5hbWUgVDAgLCB0eXBlbmFtZSBUMSAsIHR5cGVuYW1lIFQyICwgdHlwZW5hbWUgVDMgLCB0eXBlbmFtZSBUNCAsIHR5cGVuYW1lIFQ1ICwgdHlwZW5hbWUgVDYgLCB0eXBlbmFtZSBUNyAsIHR5cGVuYW1lIFQ4ICwgdHlwZW5hbWUgVDkgLCB0eXBlbmFtZSBUMTAgLCB0eXBlbmFtZSBUMTEgLCB0eXBlbmFtZSBUMTIgLCB0eXBlbmFtZSBUMTMgLCB0eXBlbmFtZSBUMTQgLCB0eXBlbmFtZSBUMTUgLCB0eXBlbmFtZSBUMTYgLCB0eXBlbmFtZSBUMTcgLCB0eXBlbmFtZSBUMTggLCB0eXBlbmFtZSBUMTkgLCB0eXBlbmFtZSBUMjAgLCB0eXBlbmFtZSBUMjEgLCB0eXBlbmFtZSBUMjIgLCB0eXBlbmFtZSBUMjMgLCB0eXBlbmFtZSBUMjQgLCB0eXBlbmFtZSBUMjUgLCB0eXBlbmFtZSBUMjYgLCB0eXBlbmFtZSBUMjcgLCB0eXBlbmFtZSBUMjggLCB0eXBlbmFtZSBUMjkgLCB0eXBlbmFtZSBUMzAgLCB0eXBlbmFtZSBUMzEgLCB0eXBlbmFtZSBUMzIgLCB0eXBlbmFtZSBUMzMgLCB0eXBlbmFtZSBUMzQgLCB0eXBlbmFtZSBUMzUgLCB0eXBlbmFtZSBUMzYgLCB0eXBlbmFtZSBUMzcgPgordHlwZW5hbWUgZW5jb2RlX2NoYXJyPEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDM4PiA6OnR5cGUKK2NsYXNzaWZpZXJfaW1wbChCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsIEJPT1NUX1BQX0VNUFRZKSAoVDAgLCBUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgLCBUMTIgLCBUMTMgLCBUMTQgLCBUMTUgLCBUMTYgLCBUMTcgLCBUMTggLCBUMTkgLCBUMjAgLCBUMjEgLCBUMjIgLCBUMjMgLCBUMjQgLCBUMjUgLCBUMjYgLCBUMjcgLCBUMjggLCBUMjkgLCBUMzAgLCBUMzEgLCBUMzIgLCBUMzMgLCBUMzQgLCBUMzUgLCBUMzYgLCBUMzcgQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdik7Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgUiAsIHR5cGVuYW1lIFQwICwgdHlwZW5hbWUgVDEgLCB0eXBlbmFtZSBUMiAsIHR5cGVuYW1lIFQzICwgdHlwZW5hbWUgVDQgLCB0eXBlbmFtZSBUNSAsIHR5cGVuYW1lIFQ2ICwgdHlwZW5hbWUgVDcgLCB0eXBlbmFtZSBUOCAsIHR5cGVuYW1lIFQ5ICwgdHlwZW5hbWUgVDEwICwgdHlwZW5hbWUgVDExICwgdHlwZW5hbWUgVDEyICwgdHlwZW5hbWUgVDEzICwgdHlwZW5hbWUgVDE0ICwgdHlwZW5hbWUgVDE1ICwgdHlwZW5hbWUgVDE2ICwgdHlwZW5hbWUgVDE3ICwgdHlwZW5hbWUgVDE4ICwgdHlwZW5hbWUgVDE5ICwgdHlwZW5hbWUgVDIwICwgdHlwZW5hbWUgVDIxICwgdHlwZW5hbWUgVDIyICwgdHlwZW5hbWUgVDIzICwgdHlwZW5hbWUgVDI0ICwgdHlwZW5hbWUgVDI1ICwgdHlwZW5hbWUgVDI2ICwgdHlwZW5hbWUgVDI3ICwgdHlwZW5hbWUgVDI4ICwgdHlwZW5hbWUgVDI5ICwgdHlwZW5hbWUgVDMwICwgdHlwZW5hbWUgVDMxICwgdHlwZW5hbWUgVDMyICwgdHlwZW5hbWUgVDMzICwgdHlwZW5hbWUgVDM0ICwgdHlwZW5hbWUgVDM1ICwgdHlwZW5hbWUgVDM2ICwgdHlwZW5hbWUgVDM3ICwgdHlwZW5hbWUgVDM4ID4KK3R5cGVuYW1lIGVuY29kZV9jaGFycjxCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZCwzOT4gOjp0eXBlCitjbGFzc2lmaWVyX2ltcGwoQk9PU1RfRlRfc3ludGF4KEJPT1NUX0ZUX2NjLCBCT09TVF9QUF9FTVBUWSkgKFQwICwgVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzICwgVDE0ICwgVDE1ICwgVDE2ICwgVDE3ICwgVDE4ICwgVDE5ICwgVDIwICwgVDIxICwgVDIyICwgVDIzICwgVDI0ICwgVDI1ICwgVDI2ICwgVDI3ICwgVDI4ICwgVDI5ICwgVDMwICwgVDMxICwgVDMyICwgVDMzICwgVDM0ICwgVDM1ICwgVDM2ICwgVDM3ICwgVDM4IEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YpOwordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIgLCB0eXBlbmFtZSBUMyAsIHR5cGVuYW1lIFQ0ICwgdHlwZW5hbWUgVDUgLCB0eXBlbmFtZSBUNiAsIHR5cGVuYW1lIFQ3ICwgdHlwZW5hbWUgVDggLCB0eXBlbmFtZSBUOSAsIHR5cGVuYW1lIFQxMCAsIHR5cGVuYW1lIFQxMSAsIHR5cGVuYW1lIFQxMiAsIHR5cGVuYW1lIFQxMyAsIHR5cGVuYW1lIFQxNCAsIHR5cGVuYW1lIFQxNSAsIHR5cGVuYW1lIFQxNiAsIHR5cGVuYW1lIFQxNyAsIHR5cGVuYW1lIFQxOCAsIHR5cGVuYW1lIFQxOSAsIHR5cGVuYW1lIFQyMCAsIHR5cGVuYW1lIFQyMSAsIHR5cGVuYW1lIFQyMiAsIHR5cGVuYW1lIFQyMyAsIHR5cGVuYW1lIFQyNCAsIHR5cGVuYW1lIFQyNSAsIHR5cGVuYW1lIFQyNiAsIHR5cGVuYW1lIFQyNyAsIHR5cGVuYW1lIFQyOCAsIHR5cGVuYW1lIFQyOSAsIHR5cGVuYW1lIFQzMCAsIHR5cGVuYW1lIFQzMSAsIHR5cGVuYW1lIFQzMiAsIHR5cGVuYW1lIFQzMyAsIHR5cGVuYW1lIFQzNCAsIHR5cGVuYW1lIFQzNSAsIHR5cGVuYW1lIFQzNiAsIHR5cGVuYW1lIFQzNyAsIHR5cGVuYW1lIFQzOCAsIHR5cGVuYW1lIFQzOSA+Cit0eXBlbmFtZSBlbmNvZGVfY2hhcnI8Qk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQsNDA+IDo6dHlwZQorY2xhc3NpZmllcl9pbXBsKEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYywgQk9PU1RfUFBfRU1QVFkpIChUMCAsIFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSAsIFQyMCAsIFQyMSAsIFQyMiAsIFQyMyAsIFQyNCAsIFQyNSAsIFQyNiAsIFQyNyAsIFQyOCAsIFQyOSAsIFQzMCAsIFQzMSAsIFQzMiAsIFQzMyAsIFQzNCAsIFQzNSAsIFQzNiAsIFQzNyAsIFQzOCAsIFQzOSBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2KTsKKwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvZnVuY3Rpb25fdHlwZXMvZGV0YWlsL2NsYXNzaWZpZXJfaW1wbC9hcml0eTQwXzEuaHBwIGIvbmRuYm9vc3QvZnVuY3Rpb25fdHlwZXMvZGV0YWlsL2NsYXNzaWZpZXJfaW1wbC9hcml0eTQwXzEuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI5ZGFiZDAKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9mdW5jdGlvbl90eXBlcy9kZXRhaWwvY2xhc3NpZmllcl9pbXBsL2FyaXR5NDBfMS5ocHAKQEAgLTAsMCArMSw1MyBAQAorCisvLyAoQykgQ29weXJpZ2h0IFRvYmlhcyBTY2h3aW5nZXIKKy8vCisvLyBVc2UgbW9kaWZpY2F0aW9uIGFuZCBkaXN0cmlidXRpb24gYXJlIHN1YmplY3QgdG8gdGhlIGJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsCisvLyBWZXJzaW9uIDEuMC4gKFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpLgorCisvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisvLyBubyBpbmNsdWRlIGd1YXJkcywgdGhpcyBmaWxlIGlzIGludGVuZGVkIGZvciBtdWx0aXBsZSBpbmNsdXNpb24KKworLy8gaW5wdXQ6ICBCT09TVF9GVF9zeW50YXggICAgIHR5cGUgbWFjcm8gdG8gdXNlCisvLyBpbnB1dDogIEJPT1NUX0ZUX2NjICAgICAgICAgZW1wdHkgb3IgY2Mgc3BlY2lmaWVyIAorLy8gaW5wdXQ6ICBCT09TVF9GVF9lbGwgICAgICAgIGVtcHR5IG9yICIuLi4iCisvLyBpbnB1dDogIEJPT1NUX0ZUX2N2ICAgICAgICAgZW1wdHkgb3IgY3YgcXVhbGlmaWVycworLy8gaW5wdXQ6ICBCT09TVF9GVF9mbGFncyAgICAgIHNpbmdsZSBkZWNpbWFsIGludGVnZXIgZW5jb2RpbmcgdGhlIGZsYWdzCisvLyBvdXRwdXQ6IEJPT1NUX0ZUX24gICAgICAgICAgbnVtYmVyIG9mIGNvbXBvbmVudCB0eXBlcyAoYXJpdHkrMSkKKy8vIG91dHB1dDogQk9PU1RfRlRfYXJpdHkgICAgICBjdXJyZW50IGFyaXR5CisvLyBvdXRwdXQ6IEJPT1NUX0ZUX3R5cGUgICAgICAgbWFjcm8gdGhhdCBleHBhbmRzIHRvIHRoZSB0eXBlCisvLyBvdXRwdXQ6IEJPT1NUX0ZUX3RwbGFyZ3MocCkgdGVtcGxhdGUgYXJndW1lbnRzIHdpdGggZ2l2ZW4gcHJlZml4CisvLyBvdXRwdXQ6IEJPT1NUX0ZUX3BhcmFtcyhwKSAgcGFyYW1ldGVycyB3aXRoIGdpdmVuIHByZWZpeAorCisjIGluY2x1ZGUgPG5kbmJvb3N0L2Z1bmN0aW9uX3R5cGVzL2RldGFpbC9jbGFzc2lmaWVyX2ltcGwvYXJpdHkzMF8xLmhwcD4KK3RlbXBsYXRlPCB0eXBlbmFtZSBSICwgdHlwZW5hbWUgVDAgLCB0eXBlbmFtZSBUMSAsIHR5cGVuYW1lIFQyICwgdHlwZW5hbWUgVDMgLCB0eXBlbmFtZSBUNCAsIHR5cGVuYW1lIFQ1ICwgdHlwZW5hbWUgVDYgLCB0eXBlbmFtZSBUNyAsIHR5cGVuYW1lIFQ4ICwgdHlwZW5hbWUgVDkgLCB0eXBlbmFtZSBUMTAgLCB0eXBlbmFtZSBUMTEgLCB0eXBlbmFtZSBUMTIgLCB0eXBlbmFtZSBUMTMgLCB0eXBlbmFtZSBUMTQgLCB0eXBlbmFtZSBUMTUgLCB0eXBlbmFtZSBUMTYgLCB0eXBlbmFtZSBUMTcgLCB0eXBlbmFtZSBUMTggLCB0eXBlbmFtZSBUMTkgLCB0eXBlbmFtZSBUMjAgLCB0eXBlbmFtZSBUMjEgLCB0eXBlbmFtZSBUMjIgLCB0eXBlbmFtZSBUMjMgLCB0eXBlbmFtZSBUMjQgLCB0eXBlbmFtZSBUMjUgLCB0eXBlbmFtZSBUMjYgLCB0eXBlbmFtZSBUMjcgLCB0eXBlbmFtZSBUMjggLCB0eXBlbmFtZSBUMjkgLCB0eXBlbmFtZSBUMzAgPgordHlwZW5hbWUgZW5jb2RlX2NoYXJyPEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDMxPiA6OnR5cGUKK2NsYXNzaWZpZXJfaW1wbChCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsIEJPT1NUX1BQX0VNUFRZKSAoVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzICwgVDE0ICwgVDE1ICwgVDE2ICwgVDE3ICwgVDE4ICwgVDE5ICwgVDIwICwgVDIxICwgVDIyICwgVDIzICwgVDI0ICwgVDI1ICwgVDI2ICwgVDI3ICwgVDI4ICwgVDI5ICwgVDMwIEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YpOwordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIgLCB0eXBlbmFtZSBUMyAsIHR5cGVuYW1lIFQ0ICwgdHlwZW5hbWUgVDUgLCB0eXBlbmFtZSBUNiAsIHR5cGVuYW1lIFQ3ICwgdHlwZW5hbWUgVDggLCB0eXBlbmFtZSBUOSAsIHR5cGVuYW1lIFQxMCAsIHR5cGVuYW1lIFQxMSAsIHR5cGVuYW1lIFQxMiAsIHR5cGVuYW1lIFQxMyAsIHR5cGVuYW1lIFQxNCAsIHR5cGVuYW1lIFQxNSAsIHR5cGVuYW1lIFQxNiAsIHR5cGVuYW1lIFQxNyAsIHR5cGVuYW1lIFQxOCAsIHR5cGVuYW1lIFQxOSAsIHR5cGVuYW1lIFQyMCAsIHR5cGVuYW1lIFQyMSAsIHR5cGVuYW1lIFQyMiAsIHR5cGVuYW1lIFQyMyAsIHR5cGVuYW1lIFQyNCAsIHR5cGVuYW1lIFQyNSAsIHR5cGVuYW1lIFQyNiAsIHR5cGVuYW1lIFQyNyAsIHR5cGVuYW1lIFQyOCAsIHR5cGVuYW1lIFQyOSAsIHR5cGVuYW1lIFQzMCAsIHR5cGVuYW1lIFQzMSA+Cit0eXBlbmFtZSBlbmNvZGVfY2hhcnI8Qk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQsMzI+IDo6dHlwZQorY2xhc3NpZmllcl9pbXBsKEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYywgQk9PU1RfUFBfRU1QVFkpIChUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgLCBUMTIgLCBUMTMgLCBUMTQgLCBUMTUgLCBUMTYgLCBUMTcgLCBUMTggLCBUMTkgLCBUMjAgLCBUMjEgLCBUMjIgLCBUMjMgLCBUMjQgLCBUMjUgLCBUMjYgLCBUMjcgLCBUMjggLCBUMjkgLCBUMzAgLCBUMzEgQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdik7Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgUiAsIHR5cGVuYW1lIFQwICwgdHlwZW5hbWUgVDEgLCB0eXBlbmFtZSBUMiAsIHR5cGVuYW1lIFQzICwgdHlwZW5hbWUgVDQgLCB0eXBlbmFtZSBUNSAsIHR5cGVuYW1lIFQ2ICwgdHlwZW5hbWUgVDcgLCB0eXBlbmFtZSBUOCAsIHR5cGVuYW1lIFQ5ICwgdHlwZW5hbWUgVDEwICwgdHlwZW5hbWUgVDExICwgdHlwZW5hbWUgVDEyICwgdHlwZW5hbWUgVDEzICwgdHlwZW5hbWUgVDE0ICwgdHlwZW5hbWUgVDE1ICwgdHlwZW5hbWUgVDE2ICwgdHlwZW5hbWUgVDE3ICwgdHlwZW5hbWUgVDE4ICwgdHlwZW5hbWUgVDE5ICwgdHlwZW5hbWUgVDIwICwgdHlwZW5hbWUgVDIxICwgdHlwZW5hbWUgVDIyICwgdHlwZW5hbWUgVDIzICwgdHlwZW5hbWUgVDI0ICwgdHlwZW5hbWUgVDI1ICwgdHlwZW5hbWUgVDI2ICwgdHlwZW5hbWUgVDI3ICwgdHlwZW5hbWUgVDI4ICwgdHlwZW5hbWUgVDI5ICwgdHlwZW5hbWUgVDMwICwgdHlwZW5hbWUgVDMxICwgdHlwZW5hbWUgVDMyID4KK3R5cGVuYW1lIGVuY29kZV9jaGFycjxCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZCwzMz4gOjp0eXBlCitjbGFzc2lmaWVyX2ltcGwoQk9PU1RfRlRfc3ludGF4KEJPT1NUX0ZUX2NjLCBCT09TVF9QUF9FTVBUWSkgKFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSAsIFQyMCAsIFQyMSAsIFQyMiAsIFQyMyAsIFQyNCAsIFQyNSAsIFQyNiAsIFQyNyAsIFQyOCAsIFQyOSAsIFQzMCAsIFQzMSAsIFQzMiBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2KTsKK3RlbXBsYXRlPCB0eXBlbmFtZSBSICwgdHlwZW5hbWUgVDAgLCB0eXBlbmFtZSBUMSAsIHR5cGVuYW1lIFQyICwgdHlwZW5hbWUgVDMgLCB0eXBlbmFtZSBUNCAsIHR5cGVuYW1lIFQ1ICwgdHlwZW5hbWUgVDYgLCB0eXBlbmFtZSBUNyAsIHR5cGVuYW1lIFQ4ICwgdHlwZW5hbWUgVDkgLCB0eXBlbmFtZSBUMTAgLCB0eXBlbmFtZSBUMTEgLCB0eXBlbmFtZSBUMTIgLCB0eXBlbmFtZSBUMTMgLCB0eXBlbmFtZSBUMTQgLCB0eXBlbmFtZSBUMTUgLCB0eXBlbmFtZSBUMTYgLCB0eXBlbmFtZSBUMTcgLCB0eXBlbmFtZSBUMTggLCB0eXBlbmFtZSBUMTkgLCB0eXBlbmFtZSBUMjAgLCB0eXBlbmFtZSBUMjEgLCB0eXBlbmFtZSBUMjIgLCB0eXBlbmFtZSBUMjMgLCB0eXBlbmFtZSBUMjQgLCB0eXBlbmFtZSBUMjUgLCB0eXBlbmFtZSBUMjYgLCB0eXBlbmFtZSBUMjcgLCB0eXBlbmFtZSBUMjggLCB0eXBlbmFtZSBUMjkgLCB0eXBlbmFtZSBUMzAgLCB0eXBlbmFtZSBUMzEgLCB0eXBlbmFtZSBUMzIgLCB0eXBlbmFtZSBUMzMgPgordHlwZW5hbWUgZW5jb2RlX2NoYXJyPEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDM0PiA6OnR5cGUKK2NsYXNzaWZpZXJfaW1wbChCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsIEJPT1NUX1BQX0VNUFRZKSAoVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzICwgVDE0ICwgVDE1ICwgVDE2ICwgVDE3ICwgVDE4ICwgVDE5ICwgVDIwICwgVDIxICwgVDIyICwgVDIzICwgVDI0ICwgVDI1ICwgVDI2ICwgVDI3ICwgVDI4ICwgVDI5ICwgVDMwICwgVDMxICwgVDMyICwgVDMzIEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YpOwordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIgLCB0eXBlbmFtZSBUMyAsIHR5cGVuYW1lIFQ0ICwgdHlwZW5hbWUgVDUgLCB0eXBlbmFtZSBUNiAsIHR5cGVuYW1lIFQ3ICwgdHlwZW5hbWUgVDggLCB0eXBlbmFtZSBUOSAsIHR5cGVuYW1lIFQxMCAsIHR5cGVuYW1lIFQxMSAsIHR5cGVuYW1lIFQxMiAsIHR5cGVuYW1lIFQxMyAsIHR5cGVuYW1lIFQxNCAsIHR5cGVuYW1lIFQxNSAsIHR5cGVuYW1lIFQxNiAsIHR5cGVuYW1lIFQxNyAsIHR5cGVuYW1lIFQxOCAsIHR5cGVuYW1lIFQxOSAsIHR5cGVuYW1lIFQyMCAsIHR5cGVuYW1lIFQyMSAsIHR5cGVuYW1lIFQyMiAsIHR5cGVuYW1lIFQyMyAsIHR5cGVuYW1lIFQyNCAsIHR5cGVuYW1lIFQyNSAsIHR5cGVuYW1lIFQyNiAsIHR5cGVuYW1lIFQyNyAsIHR5cGVuYW1lIFQyOCAsIHR5cGVuYW1lIFQyOSAsIHR5cGVuYW1lIFQzMCAsIHR5cGVuYW1lIFQzMSAsIHR5cGVuYW1lIFQzMiAsIHR5cGVuYW1lIFQzMyAsIHR5cGVuYW1lIFQzNCA+Cit0eXBlbmFtZSBlbmNvZGVfY2hhcnI8Qk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQsMzU+IDo6dHlwZQorY2xhc3NpZmllcl9pbXBsKEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYywgQk9PU1RfUFBfRU1QVFkpIChUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgLCBUMTIgLCBUMTMgLCBUMTQgLCBUMTUgLCBUMTYgLCBUMTcgLCBUMTggLCBUMTkgLCBUMjAgLCBUMjEgLCBUMjIgLCBUMjMgLCBUMjQgLCBUMjUgLCBUMjYgLCBUMjcgLCBUMjggLCBUMjkgLCBUMzAgLCBUMzEgLCBUMzIgLCBUMzMgLCBUMzQgQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdik7Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgUiAsIHR5cGVuYW1lIFQwICwgdHlwZW5hbWUgVDEgLCB0eXBlbmFtZSBUMiAsIHR5cGVuYW1lIFQzICwgdHlwZW5hbWUgVDQgLCB0eXBlbmFtZSBUNSAsIHR5cGVuYW1lIFQ2ICwgdHlwZW5hbWUgVDcgLCB0eXBlbmFtZSBUOCAsIHR5cGVuYW1lIFQ5ICwgdHlwZW5hbWUgVDEwICwgdHlwZW5hbWUgVDExICwgdHlwZW5hbWUgVDEyICwgdHlwZW5hbWUgVDEzICwgdHlwZW5hbWUgVDE0ICwgdHlwZW5hbWUgVDE1ICwgdHlwZW5hbWUgVDE2ICwgdHlwZW5hbWUgVDE3ICwgdHlwZW5hbWUgVDE4ICwgdHlwZW5hbWUgVDE5ICwgdHlwZW5hbWUgVDIwICwgdHlwZW5hbWUgVDIxICwgdHlwZW5hbWUgVDIyICwgdHlwZW5hbWUgVDIzICwgdHlwZW5hbWUgVDI0ICwgdHlwZW5hbWUgVDI1ICwgdHlwZW5hbWUgVDI2ICwgdHlwZW5hbWUgVDI3ICwgdHlwZW5hbWUgVDI4ICwgdHlwZW5hbWUgVDI5ICwgdHlwZW5hbWUgVDMwICwgdHlwZW5hbWUgVDMxICwgdHlwZW5hbWUgVDMyICwgdHlwZW5hbWUgVDMzICwgdHlwZW5hbWUgVDM0ICwgdHlwZW5hbWUgVDM1ID4KK3R5cGVuYW1lIGVuY29kZV9jaGFycjxCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZCwzNj4gOjp0eXBlCitjbGFzc2lmaWVyX2ltcGwoQk9PU1RfRlRfc3ludGF4KEJPT1NUX0ZUX2NjLCBCT09TVF9QUF9FTVBUWSkgKFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSAsIFQyMCAsIFQyMSAsIFQyMiAsIFQyMyAsIFQyNCAsIFQyNSAsIFQyNiAsIFQyNyAsIFQyOCAsIFQyOSAsIFQzMCAsIFQzMSAsIFQzMiAsIFQzMyAsIFQzNCAsIFQzNSBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2KTsKK3RlbXBsYXRlPCB0eXBlbmFtZSBSICwgdHlwZW5hbWUgVDAgLCB0eXBlbmFtZSBUMSAsIHR5cGVuYW1lIFQyICwgdHlwZW5hbWUgVDMgLCB0eXBlbmFtZSBUNCAsIHR5cGVuYW1lIFQ1ICwgdHlwZW5hbWUgVDYgLCB0eXBlbmFtZSBUNyAsIHR5cGVuYW1lIFQ4ICwgdHlwZW5hbWUgVDkgLCB0eXBlbmFtZSBUMTAgLCB0eXBlbmFtZSBUMTEgLCB0eXBlbmFtZSBUMTIgLCB0eXBlbmFtZSBUMTMgLCB0eXBlbmFtZSBUMTQgLCB0eXBlbmFtZSBUMTUgLCB0eXBlbmFtZSBUMTYgLCB0eXBlbmFtZSBUMTcgLCB0eXBlbmFtZSBUMTggLCB0eXBlbmFtZSBUMTkgLCB0eXBlbmFtZSBUMjAgLCB0eXBlbmFtZSBUMjEgLCB0eXBlbmFtZSBUMjIgLCB0eXBlbmFtZSBUMjMgLCB0eXBlbmFtZSBUMjQgLCB0eXBlbmFtZSBUMjUgLCB0eXBlbmFtZSBUMjYgLCB0eXBlbmFtZSBUMjcgLCB0eXBlbmFtZSBUMjggLCB0eXBlbmFtZSBUMjkgLCB0eXBlbmFtZSBUMzAgLCB0eXBlbmFtZSBUMzEgLCB0eXBlbmFtZSBUMzIgLCB0eXBlbmFtZSBUMzMgLCB0eXBlbmFtZSBUMzQgLCB0eXBlbmFtZSBUMzUgLCB0eXBlbmFtZSBUMzYgPgordHlwZW5hbWUgZW5jb2RlX2NoYXJyPEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDM3PiA6OnR5cGUKK2NsYXNzaWZpZXJfaW1wbChCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsIEJPT1NUX1BQX0VNUFRZKSAoVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzICwgVDE0ICwgVDE1ICwgVDE2ICwgVDE3ICwgVDE4ICwgVDE5ICwgVDIwICwgVDIxICwgVDIyICwgVDIzICwgVDI0ICwgVDI1ICwgVDI2ICwgVDI3ICwgVDI4ICwgVDI5ICwgVDMwICwgVDMxICwgVDMyICwgVDMzICwgVDM0ICwgVDM1ICwgVDM2IEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YpOwordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIgLCB0eXBlbmFtZSBUMyAsIHR5cGVuYW1lIFQ0ICwgdHlwZW5hbWUgVDUgLCB0eXBlbmFtZSBUNiAsIHR5cGVuYW1lIFQ3ICwgdHlwZW5hbWUgVDggLCB0eXBlbmFtZSBUOSAsIHR5cGVuYW1lIFQxMCAsIHR5cGVuYW1lIFQxMSAsIHR5cGVuYW1lIFQxMiAsIHR5cGVuYW1lIFQxMyAsIHR5cGVuYW1lIFQxNCAsIHR5cGVuYW1lIFQxNSAsIHR5cGVuYW1lIFQxNiAsIHR5cGVuYW1lIFQxNyAsIHR5cGVuYW1lIFQxOCAsIHR5cGVuYW1lIFQxOSAsIHR5cGVuYW1lIFQyMCAsIHR5cGVuYW1lIFQyMSAsIHR5cGVuYW1lIFQyMiAsIHR5cGVuYW1lIFQyMyAsIHR5cGVuYW1lIFQyNCAsIHR5cGVuYW1lIFQyNSAsIHR5cGVuYW1lIFQyNiAsIHR5cGVuYW1lIFQyNyAsIHR5cGVuYW1lIFQyOCAsIHR5cGVuYW1lIFQyOSAsIHR5cGVuYW1lIFQzMCAsIHR5cGVuYW1lIFQzMSAsIHR5cGVuYW1lIFQzMiAsIHR5cGVuYW1lIFQzMyAsIHR5cGVuYW1lIFQzNCAsIHR5cGVuYW1lIFQzNSAsIHR5cGVuYW1lIFQzNiAsIHR5cGVuYW1lIFQzNyA+Cit0eXBlbmFtZSBlbmNvZGVfY2hhcnI8Qk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQsMzg+IDo6dHlwZQorY2xhc3NpZmllcl9pbXBsKEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYywgQk9PU1RfUFBfRU1QVFkpIChUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgLCBUMTIgLCBUMTMgLCBUMTQgLCBUMTUgLCBUMTYgLCBUMTcgLCBUMTggLCBUMTkgLCBUMjAgLCBUMjEgLCBUMjIgLCBUMjMgLCBUMjQgLCBUMjUgLCBUMjYgLCBUMjcgLCBUMjggLCBUMjkgLCBUMzAgLCBUMzEgLCBUMzIgLCBUMzMgLCBUMzQgLCBUMzUgLCBUMzYgLCBUMzcgQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdik7Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgUiAsIHR5cGVuYW1lIFQwICwgdHlwZW5hbWUgVDEgLCB0eXBlbmFtZSBUMiAsIHR5cGVuYW1lIFQzICwgdHlwZW5hbWUgVDQgLCB0eXBlbmFtZSBUNSAsIHR5cGVuYW1lIFQ2ICwgdHlwZW5hbWUgVDcgLCB0eXBlbmFtZSBUOCAsIHR5cGVuYW1lIFQ5ICwgdHlwZW5hbWUgVDEwICwgdHlwZW5hbWUgVDExICwgdHlwZW5hbWUgVDEyICwgdHlwZW5hbWUgVDEzICwgdHlwZW5hbWUgVDE0ICwgdHlwZW5hbWUgVDE1ICwgdHlwZW5hbWUgVDE2ICwgdHlwZW5hbWUgVDE3ICwgdHlwZW5hbWUgVDE4ICwgdHlwZW5hbWUgVDE5ICwgdHlwZW5hbWUgVDIwICwgdHlwZW5hbWUgVDIxICwgdHlwZW5hbWUgVDIyICwgdHlwZW5hbWUgVDIzICwgdHlwZW5hbWUgVDI0ICwgdHlwZW5hbWUgVDI1ICwgdHlwZW5hbWUgVDI2ICwgdHlwZW5hbWUgVDI3ICwgdHlwZW5hbWUgVDI4ICwgdHlwZW5hbWUgVDI5ICwgdHlwZW5hbWUgVDMwICwgdHlwZW5hbWUgVDMxICwgdHlwZW5hbWUgVDMyICwgdHlwZW5hbWUgVDMzICwgdHlwZW5hbWUgVDM0ICwgdHlwZW5hbWUgVDM1ICwgdHlwZW5hbWUgVDM2ICwgdHlwZW5hbWUgVDM3ICwgdHlwZW5hbWUgVDM4ID4KK3R5cGVuYW1lIGVuY29kZV9jaGFycjxCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZCwzOT4gOjp0eXBlCitjbGFzc2lmaWVyX2ltcGwoQk9PU1RfRlRfc3ludGF4KEJPT1NUX0ZUX2NjLCBCT09TVF9QUF9FTVBUWSkgKFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSAsIFQyMCAsIFQyMSAsIFQyMiAsIFQyMyAsIFQyNCAsIFQyNSAsIFQyNiAsIFQyNyAsIFQyOCAsIFQyOSAsIFQzMCAsIFQzMSAsIFQzMiAsIFQzMyAsIFQzNCAsIFQzNSAsIFQzNiAsIFQzNyAsIFQzOCBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2KTsKK3RlbXBsYXRlPCB0eXBlbmFtZSBSICwgdHlwZW5hbWUgVDAgLCB0eXBlbmFtZSBUMSAsIHR5cGVuYW1lIFQyICwgdHlwZW5hbWUgVDMgLCB0eXBlbmFtZSBUNCAsIHR5cGVuYW1lIFQ1ICwgdHlwZW5hbWUgVDYgLCB0eXBlbmFtZSBUNyAsIHR5cGVuYW1lIFQ4ICwgdHlwZW5hbWUgVDkgLCB0eXBlbmFtZSBUMTAgLCB0eXBlbmFtZSBUMTEgLCB0eXBlbmFtZSBUMTIgLCB0eXBlbmFtZSBUMTMgLCB0eXBlbmFtZSBUMTQgLCB0eXBlbmFtZSBUMTUgLCB0eXBlbmFtZSBUMTYgLCB0eXBlbmFtZSBUMTcgLCB0eXBlbmFtZSBUMTggLCB0eXBlbmFtZSBUMTkgLCB0eXBlbmFtZSBUMjAgLCB0eXBlbmFtZSBUMjEgLCB0eXBlbmFtZSBUMjIgLCB0eXBlbmFtZSBUMjMgLCB0eXBlbmFtZSBUMjQgLCB0eXBlbmFtZSBUMjUgLCB0eXBlbmFtZSBUMjYgLCB0eXBlbmFtZSBUMjcgLCB0eXBlbmFtZSBUMjggLCB0eXBlbmFtZSBUMjkgLCB0eXBlbmFtZSBUMzAgLCB0eXBlbmFtZSBUMzEgLCB0eXBlbmFtZSBUMzIgLCB0eXBlbmFtZSBUMzMgLCB0eXBlbmFtZSBUMzQgLCB0eXBlbmFtZSBUMzUgLCB0eXBlbmFtZSBUMzYgLCB0eXBlbmFtZSBUMzcgLCB0eXBlbmFtZSBUMzggLCB0eXBlbmFtZSBUMzkgPgordHlwZW5hbWUgZW5jb2RlX2NoYXJyPEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDQwPiA6OnR5cGUKK2NsYXNzaWZpZXJfaW1wbChCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsIEJPT1NUX1BQX0VNUFRZKSAoVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzICwgVDE0ICwgVDE1ICwgVDE2ICwgVDE3ICwgVDE4ICwgVDE5ICwgVDIwICwgVDIxICwgVDIyICwgVDIzICwgVDI0ICwgVDI1ICwgVDI2ICwgVDI3ICwgVDI4ICwgVDI5ICwgVDMwICwgVDMxICwgVDMyICwgVDMzICwgVDM0ICwgVDM1ICwgVDM2ICwgVDM3ICwgVDM4ICwgVDM5IEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YpOworCmRpZmYgLS1naXQgYS9uZG5ib29zdC9mdW5jdGlvbl90eXBlcy9kZXRhaWwvY2xhc3NpZmllcl9pbXBsL2FyaXR5NTBfMC5ocHAgYi9uZG5ib29zdC9mdW5jdGlvbl90eXBlcy9kZXRhaWwvY2xhc3NpZmllcl9pbXBsL2FyaXR5NTBfMC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzEyZjY2YwotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L2Z1bmN0aW9uX3R5cGVzL2RldGFpbC9jbGFzc2lmaWVyX2ltcGwvYXJpdHk1MF8wLmhwcApAQCAtMCwwICsxLDUzIEBACisKKy8vIChDKSBDb3B5cmlnaHQgVG9iaWFzIFNjaHdpbmdlcgorLy8KKy8vIFVzZSBtb2RpZmljYXRpb24gYW5kIGRpc3RyaWJ1dGlvbiBhcmUgc3ViamVjdCB0byB0aGUgYm9vc3QgU29mdHdhcmUgTGljZW5zZSwKKy8vIFZlcnNpb24gMS4wLiAoU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkuCisKKy8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKy8vIG5vIGluY2x1ZGUgZ3VhcmRzLCB0aGlzIGZpbGUgaXMgaW50ZW5kZWQgZm9yIG11bHRpcGxlIGluY2x1c2lvbgorCisvLyBpbnB1dDogIEJPT1NUX0ZUX3N5bnRheCAgICAgdHlwZSBtYWNybyB0byB1c2UKKy8vIGlucHV0OiAgQk9PU1RfRlRfY2MgICAgICAgICBlbXB0eSBvciBjYyBzcGVjaWZpZXIgCisvLyBpbnB1dDogIEJPT1NUX0ZUX2VsbCAgICAgICAgZW1wdHkgb3IgIi4uLiIKKy8vIGlucHV0OiAgQk9PU1RfRlRfY3YgICAgICAgICBlbXB0eSBvciBjdiBxdWFsaWZpZXJzCisvLyBpbnB1dDogIEJPT1NUX0ZUX2ZsYWdzICAgICAgc2luZ2xlIGRlY2ltYWwgaW50ZWdlciBlbmNvZGluZyB0aGUgZmxhZ3MKKy8vIG91dHB1dDogQk9PU1RfRlRfbiAgICAgICAgICBudW1iZXIgb2YgY29tcG9uZW50IHR5cGVzIChhcml0eSsxKQorLy8gb3V0cHV0OiBCT09TVF9GVF9hcml0eSAgICAgIGN1cnJlbnQgYXJpdHkKKy8vIG91dHB1dDogQk9PU1RfRlRfdHlwZSAgICAgICBtYWNybyB0aGF0IGV4cGFuZHMgdG8gdGhlIHR5cGUKKy8vIG91dHB1dDogQk9PU1RfRlRfdHBsYXJncyhwKSB0ZW1wbGF0ZSBhcmd1bWVudHMgd2l0aCBnaXZlbiBwcmVmaXgKKy8vIG91dHB1dDogQk9PU1RfRlRfcGFyYW1zKHApICBwYXJhbWV0ZXJzIHdpdGggZ2l2ZW4gcHJlZml4CisKKyMgaW5jbHVkZSA8bmRuYm9vc3QvZnVuY3Rpb25fdHlwZXMvZGV0YWlsL2NsYXNzaWZpZXJfaW1wbC9hcml0eTQwXzAuaHBwPgordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIgLCB0eXBlbmFtZSBUMyAsIHR5cGVuYW1lIFQ0ICwgdHlwZW5hbWUgVDUgLCB0eXBlbmFtZSBUNiAsIHR5cGVuYW1lIFQ3ICwgdHlwZW5hbWUgVDggLCB0eXBlbmFtZSBUOSAsIHR5cGVuYW1lIFQxMCAsIHR5cGVuYW1lIFQxMSAsIHR5cGVuYW1lIFQxMiAsIHR5cGVuYW1lIFQxMyAsIHR5cGVuYW1lIFQxNCAsIHR5cGVuYW1lIFQxNSAsIHR5cGVuYW1lIFQxNiAsIHR5cGVuYW1lIFQxNyAsIHR5cGVuYW1lIFQxOCAsIHR5cGVuYW1lIFQxOSAsIHR5cGVuYW1lIFQyMCAsIHR5cGVuYW1lIFQyMSAsIHR5cGVuYW1lIFQyMiAsIHR5cGVuYW1lIFQyMyAsIHR5cGVuYW1lIFQyNCAsIHR5cGVuYW1lIFQyNSAsIHR5cGVuYW1lIFQyNiAsIHR5cGVuYW1lIFQyNyAsIHR5cGVuYW1lIFQyOCAsIHR5cGVuYW1lIFQyOSAsIHR5cGVuYW1lIFQzMCAsIHR5cGVuYW1lIFQzMSAsIHR5cGVuYW1lIFQzMiAsIHR5cGVuYW1lIFQzMyAsIHR5cGVuYW1lIFQzNCAsIHR5cGVuYW1lIFQzNSAsIHR5cGVuYW1lIFQzNiAsIHR5cGVuYW1lIFQzNyAsIHR5cGVuYW1lIFQzOCAsIHR5cGVuYW1lIFQzOSAsIHR5cGVuYW1lIFQ0MCA+Cit0eXBlbmFtZSBlbmNvZGVfY2hhcnI8Qk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQsNDE+IDo6dHlwZQorY2xhc3NpZmllcl9pbXBsKEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYywgQk9PU1RfUFBfRU1QVFkpIChUMCAsIFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSAsIFQyMCAsIFQyMSAsIFQyMiAsIFQyMyAsIFQyNCAsIFQyNSAsIFQyNiAsIFQyNyAsIFQyOCAsIFQyOSAsIFQzMCAsIFQzMSAsIFQzMiAsIFQzMyAsIFQzNCAsIFQzNSAsIFQzNiAsIFQzNyAsIFQzOCAsIFQzOSAsIFQ0MCBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2KTsKK3RlbXBsYXRlPCB0eXBlbmFtZSBSICwgdHlwZW5hbWUgVDAgLCB0eXBlbmFtZSBUMSAsIHR5cGVuYW1lIFQyICwgdHlwZW5hbWUgVDMgLCB0eXBlbmFtZSBUNCAsIHR5cGVuYW1lIFQ1ICwgdHlwZW5hbWUgVDYgLCB0eXBlbmFtZSBUNyAsIHR5cGVuYW1lIFQ4ICwgdHlwZW5hbWUgVDkgLCB0eXBlbmFtZSBUMTAgLCB0eXBlbmFtZSBUMTEgLCB0eXBlbmFtZSBUMTIgLCB0eXBlbmFtZSBUMTMgLCB0eXBlbmFtZSBUMTQgLCB0eXBlbmFtZSBUMTUgLCB0eXBlbmFtZSBUMTYgLCB0eXBlbmFtZSBUMTcgLCB0eXBlbmFtZSBUMTggLCB0eXBlbmFtZSBUMTkgLCB0eXBlbmFtZSBUMjAgLCB0eXBlbmFtZSBUMjEgLCB0eXBlbmFtZSBUMjIgLCB0eXBlbmFtZSBUMjMgLCB0eXBlbmFtZSBUMjQgLCB0eXBlbmFtZSBUMjUgLCB0eXBlbmFtZSBUMjYgLCB0eXBlbmFtZSBUMjcgLCB0eXBlbmFtZSBUMjggLCB0eXBlbmFtZSBUMjkgLCB0eXBlbmFtZSBUMzAgLCB0eXBlbmFtZSBUMzEgLCB0eXBlbmFtZSBUMzIgLCB0eXBlbmFtZSBUMzMgLCB0eXBlbmFtZSBUMzQgLCB0eXBlbmFtZSBUMzUgLCB0eXBlbmFtZSBUMzYgLCB0eXBlbmFtZSBUMzcgLCB0eXBlbmFtZSBUMzggLCB0eXBlbmFtZSBUMzkgLCB0eXBlbmFtZSBUNDAgLCB0eXBlbmFtZSBUNDEgPgordHlwZW5hbWUgZW5jb2RlX2NoYXJyPEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDQyPiA6OnR5cGUKK2NsYXNzaWZpZXJfaW1wbChCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsIEJPT1NUX1BQX0VNUFRZKSAoVDAgLCBUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgLCBUMTIgLCBUMTMgLCBUMTQgLCBUMTUgLCBUMTYgLCBUMTcgLCBUMTggLCBUMTkgLCBUMjAgLCBUMjEgLCBUMjIgLCBUMjMgLCBUMjQgLCBUMjUgLCBUMjYgLCBUMjcgLCBUMjggLCBUMjkgLCBUMzAgLCBUMzEgLCBUMzIgLCBUMzMgLCBUMzQgLCBUMzUgLCBUMzYgLCBUMzcgLCBUMzggLCBUMzkgLCBUNDAgLCBUNDEgQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdik7Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgUiAsIHR5cGVuYW1lIFQwICwgdHlwZW5hbWUgVDEgLCB0eXBlbmFtZSBUMiAsIHR5cGVuYW1lIFQzICwgdHlwZW5hbWUgVDQgLCB0eXBlbmFtZSBUNSAsIHR5cGVuYW1lIFQ2ICwgdHlwZW5hbWUgVDcgLCB0eXBlbmFtZSBUOCAsIHR5cGVuYW1lIFQ5ICwgdHlwZW5hbWUgVDEwICwgdHlwZW5hbWUgVDExICwgdHlwZW5hbWUgVDEyICwgdHlwZW5hbWUgVDEzICwgdHlwZW5hbWUgVDE0ICwgdHlwZW5hbWUgVDE1ICwgdHlwZW5hbWUgVDE2ICwgdHlwZW5hbWUgVDE3ICwgdHlwZW5hbWUgVDE4ICwgdHlwZW5hbWUgVDE5ICwgdHlwZW5hbWUgVDIwICwgdHlwZW5hbWUgVDIxICwgdHlwZW5hbWUgVDIyICwgdHlwZW5hbWUgVDIzICwgdHlwZW5hbWUgVDI0ICwgdHlwZW5hbWUgVDI1ICwgdHlwZW5hbWUgVDI2ICwgdHlwZW5hbWUgVDI3ICwgdHlwZW5hbWUgVDI4ICwgdHlwZW5hbWUgVDI5ICwgdHlwZW5hbWUgVDMwICwgdHlwZW5hbWUgVDMxICwgdHlwZW5hbWUgVDMyICwgdHlwZW5hbWUgVDMzICwgdHlwZW5hbWUgVDM0ICwgdHlwZW5hbWUgVDM1ICwgdHlwZW5hbWUgVDM2ICwgdHlwZW5hbWUgVDM3ICwgdHlwZW5hbWUgVDM4ICwgdHlwZW5hbWUgVDM5ICwgdHlwZW5hbWUgVDQwICwgdHlwZW5hbWUgVDQxICwgdHlwZW5hbWUgVDQyID4KK3R5cGVuYW1lIGVuY29kZV9jaGFycjxCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZCw0Mz4gOjp0eXBlCitjbGFzc2lmaWVyX2ltcGwoQk9PU1RfRlRfc3ludGF4KEJPT1NUX0ZUX2NjLCBCT09TVF9QUF9FTVBUWSkgKFQwICwgVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzICwgVDE0ICwgVDE1ICwgVDE2ICwgVDE3ICwgVDE4ICwgVDE5ICwgVDIwICwgVDIxICwgVDIyICwgVDIzICwgVDI0ICwgVDI1ICwgVDI2ICwgVDI3ICwgVDI4ICwgVDI5ICwgVDMwICwgVDMxICwgVDMyICwgVDMzICwgVDM0ICwgVDM1ICwgVDM2ICwgVDM3ICwgVDM4ICwgVDM5ICwgVDQwICwgVDQxICwgVDQyIEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YpOwordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIgLCB0eXBlbmFtZSBUMyAsIHR5cGVuYW1lIFQ0ICwgdHlwZW5hbWUgVDUgLCB0eXBlbmFtZSBUNiAsIHR5cGVuYW1lIFQ3ICwgdHlwZW5hbWUgVDggLCB0eXBlbmFtZSBUOSAsIHR5cGVuYW1lIFQxMCAsIHR5cGVuYW1lIFQxMSAsIHR5cGVuYW1lIFQxMiAsIHR5cGVuYW1lIFQxMyAsIHR5cGVuYW1lIFQxNCAsIHR5cGVuYW1lIFQxNSAsIHR5cGVuYW1lIFQxNiAsIHR5cGVuYW1lIFQxNyAsIHR5cGVuYW1lIFQxOCAsIHR5cGVuYW1lIFQxOSAsIHR5cGVuYW1lIFQyMCAsIHR5cGVuYW1lIFQyMSAsIHR5cGVuYW1lIFQyMiAsIHR5cGVuYW1lIFQyMyAsIHR5cGVuYW1lIFQyNCAsIHR5cGVuYW1lIFQyNSAsIHR5cGVuYW1lIFQyNiAsIHR5cGVuYW1lIFQyNyAsIHR5cGVuYW1lIFQyOCAsIHR5cGVuYW1lIFQyOSAsIHR5cGVuYW1lIFQzMCAsIHR5cGVuYW1lIFQzMSAsIHR5cGVuYW1lIFQzMiAsIHR5cGVuYW1lIFQzMyAsIHR5cGVuYW1lIFQzNCAsIHR5cGVuYW1lIFQzNSAsIHR5cGVuYW1lIFQzNiAsIHR5cGVuYW1lIFQzNyAsIHR5cGVuYW1lIFQzOCAsIHR5cGVuYW1lIFQzOSAsIHR5cGVuYW1lIFQ0MCAsIHR5cGVuYW1lIFQ0MSAsIHR5cGVuYW1lIFQ0MiAsIHR5cGVuYW1lIFQ0MyA+Cit0eXBlbmFtZSBlbmNvZGVfY2hhcnI8Qk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQsNDQ+IDo6dHlwZQorY2xhc3NpZmllcl9pbXBsKEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYywgQk9PU1RfUFBfRU1QVFkpIChUMCAsIFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSAsIFQyMCAsIFQyMSAsIFQyMiAsIFQyMyAsIFQyNCAsIFQyNSAsIFQyNiAsIFQyNyAsIFQyOCAsIFQyOSAsIFQzMCAsIFQzMSAsIFQzMiAsIFQzMyAsIFQzNCAsIFQzNSAsIFQzNiAsIFQzNyAsIFQzOCAsIFQzOSAsIFQ0MCAsIFQ0MSAsIFQ0MiAsIFQ0MyBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2KTsKK3RlbXBsYXRlPCB0eXBlbmFtZSBSICwgdHlwZW5hbWUgVDAgLCB0eXBlbmFtZSBUMSAsIHR5cGVuYW1lIFQyICwgdHlwZW5hbWUgVDMgLCB0eXBlbmFtZSBUNCAsIHR5cGVuYW1lIFQ1ICwgdHlwZW5hbWUgVDYgLCB0eXBlbmFtZSBUNyAsIHR5cGVuYW1lIFQ4ICwgdHlwZW5hbWUgVDkgLCB0eXBlbmFtZSBUMTAgLCB0eXBlbmFtZSBUMTEgLCB0eXBlbmFtZSBUMTIgLCB0eXBlbmFtZSBUMTMgLCB0eXBlbmFtZSBUMTQgLCB0eXBlbmFtZSBUMTUgLCB0eXBlbmFtZSBUMTYgLCB0eXBlbmFtZSBUMTcgLCB0eXBlbmFtZSBUMTggLCB0eXBlbmFtZSBUMTkgLCB0eXBlbmFtZSBUMjAgLCB0eXBlbmFtZSBUMjEgLCB0eXBlbmFtZSBUMjIgLCB0eXBlbmFtZSBUMjMgLCB0eXBlbmFtZSBUMjQgLCB0eXBlbmFtZSBUMjUgLCB0eXBlbmFtZSBUMjYgLCB0eXBlbmFtZSBUMjcgLCB0eXBlbmFtZSBUMjggLCB0eXBlbmFtZSBUMjkgLCB0eXBlbmFtZSBUMzAgLCB0eXBlbmFtZSBUMzEgLCB0eXBlbmFtZSBUMzIgLCB0eXBlbmFtZSBUMzMgLCB0eXBlbmFtZSBUMzQgLCB0eXBlbmFtZSBUMzUgLCB0eXBlbmFtZSBUMzYgLCB0eXBlbmFtZSBUMzcgLCB0eXBlbmFtZSBUMzggLCB0eXBlbmFtZSBUMzkgLCB0eXBlbmFtZSBUNDAgLCB0eXBlbmFtZSBUNDEgLCB0eXBlbmFtZSBUNDIgLCB0eXBlbmFtZSBUNDMgLCB0eXBlbmFtZSBUNDQgPgordHlwZW5hbWUgZW5jb2RlX2NoYXJyPEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDQ1PiA6OnR5cGUKK2NsYXNzaWZpZXJfaW1wbChCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsIEJPT1NUX1BQX0VNUFRZKSAoVDAgLCBUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgLCBUMTIgLCBUMTMgLCBUMTQgLCBUMTUgLCBUMTYgLCBUMTcgLCBUMTggLCBUMTkgLCBUMjAgLCBUMjEgLCBUMjIgLCBUMjMgLCBUMjQgLCBUMjUgLCBUMjYgLCBUMjcgLCBUMjggLCBUMjkgLCBUMzAgLCBUMzEgLCBUMzIgLCBUMzMgLCBUMzQgLCBUMzUgLCBUMzYgLCBUMzcgLCBUMzggLCBUMzkgLCBUNDAgLCBUNDEgLCBUNDIgLCBUNDMgLCBUNDQgQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdik7Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgUiAsIHR5cGVuYW1lIFQwICwgdHlwZW5hbWUgVDEgLCB0eXBlbmFtZSBUMiAsIHR5cGVuYW1lIFQzICwgdHlwZW5hbWUgVDQgLCB0eXBlbmFtZSBUNSAsIHR5cGVuYW1lIFQ2ICwgdHlwZW5hbWUgVDcgLCB0eXBlbmFtZSBUOCAsIHR5cGVuYW1lIFQ5ICwgdHlwZW5hbWUgVDEwICwgdHlwZW5hbWUgVDExICwgdHlwZW5hbWUgVDEyICwgdHlwZW5hbWUgVDEzICwgdHlwZW5hbWUgVDE0ICwgdHlwZW5hbWUgVDE1ICwgdHlwZW5hbWUgVDE2ICwgdHlwZW5hbWUgVDE3ICwgdHlwZW5hbWUgVDE4ICwgdHlwZW5hbWUgVDE5ICwgdHlwZW5hbWUgVDIwICwgdHlwZW5hbWUgVDIxICwgdHlwZW5hbWUgVDIyICwgdHlwZW5hbWUgVDIzICwgdHlwZW5hbWUgVDI0ICwgdHlwZW5hbWUgVDI1ICwgdHlwZW5hbWUgVDI2ICwgdHlwZW5hbWUgVDI3ICwgdHlwZW5hbWUgVDI4ICwgdHlwZW5hbWUgVDI5ICwgdHlwZW5hbWUgVDMwICwgdHlwZW5hbWUgVDMxICwgdHlwZW5hbWUgVDMyICwgdHlwZW5hbWUgVDMzICwgdHlwZW5hbWUgVDM0ICwgdHlwZW5hbWUgVDM1ICwgdHlwZW5hbWUgVDM2ICwgdHlwZW5hbWUgVDM3ICwgdHlwZW5hbWUgVDM4ICwgdHlwZW5hbWUgVDM5ICwgdHlwZW5hbWUgVDQwICwgdHlwZW5hbWUgVDQxICwgdHlwZW5hbWUgVDQyICwgdHlwZW5hbWUgVDQzICwgdHlwZW5hbWUgVDQ0ICwgdHlwZW5hbWUgVDQ1ID4KK3R5cGVuYW1lIGVuY29kZV9jaGFycjxCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZCw0Nj4gOjp0eXBlCitjbGFzc2lmaWVyX2ltcGwoQk9PU1RfRlRfc3ludGF4KEJPT1NUX0ZUX2NjLCBCT09TVF9QUF9FTVBUWSkgKFQwICwgVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzICwgVDE0ICwgVDE1ICwgVDE2ICwgVDE3ICwgVDE4ICwgVDE5ICwgVDIwICwgVDIxICwgVDIyICwgVDIzICwgVDI0ICwgVDI1ICwgVDI2ICwgVDI3ICwgVDI4ICwgVDI5ICwgVDMwICwgVDMxICwgVDMyICwgVDMzICwgVDM0ICwgVDM1ICwgVDM2ICwgVDM3ICwgVDM4ICwgVDM5ICwgVDQwICwgVDQxICwgVDQyICwgVDQzICwgVDQ0ICwgVDQ1IEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YpOwordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIgLCB0eXBlbmFtZSBUMyAsIHR5cGVuYW1lIFQ0ICwgdHlwZW5hbWUgVDUgLCB0eXBlbmFtZSBUNiAsIHR5cGVuYW1lIFQ3ICwgdHlwZW5hbWUgVDggLCB0eXBlbmFtZSBUOSAsIHR5cGVuYW1lIFQxMCAsIHR5cGVuYW1lIFQxMSAsIHR5cGVuYW1lIFQxMiAsIHR5cGVuYW1lIFQxMyAsIHR5cGVuYW1lIFQxNCAsIHR5cGVuYW1lIFQxNSAsIHR5cGVuYW1lIFQxNiAsIHR5cGVuYW1lIFQxNyAsIHR5cGVuYW1lIFQxOCAsIHR5cGVuYW1lIFQxOSAsIHR5cGVuYW1lIFQyMCAsIHR5cGVuYW1lIFQyMSAsIHR5cGVuYW1lIFQyMiAsIHR5cGVuYW1lIFQyMyAsIHR5cGVuYW1lIFQyNCAsIHR5cGVuYW1lIFQyNSAsIHR5cGVuYW1lIFQyNiAsIHR5cGVuYW1lIFQyNyAsIHR5cGVuYW1lIFQyOCAsIHR5cGVuYW1lIFQyOSAsIHR5cGVuYW1lIFQzMCAsIHR5cGVuYW1lIFQzMSAsIHR5cGVuYW1lIFQzMiAsIHR5cGVuYW1lIFQzMyAsIHR5cGVuYW1lIFQzNCAsIHR5cGVuYW1lIFQzNSAsIHR5cGVuYW1lIFQzNiAsIHR5cGVuYW1lIFQzNyAsIHR5cGVuYW1lIFQzOCAsIHR5cGVuYW1lIFQzOSAsIHR5cGVuYW1lIFQ0MCAsIHR5cGVuYW1lIFQ0MSAsIHR5cGVuYW1lIFQ0MiAsIHR5cGVuYW1lIFQ0MyAsIHR5cGVuYW1lIFQ0NCAsIHR5cGVuYW1lIFQ0NSAsIHR5cGVuYW1lIFQ0NiA+Cit0eXBlbmFtZSBlbmNvZGVfY2hhcnI8Qk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQsNDc+IDo6dHlwZQorY2xhc3NpZmllcl9pbXBsKEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYywgQk9PU1RfUFBfRU1QVFkpIChUMCAsIFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSAsIFQyMCAsIFQyMSAsIFQyMiAsIFQyMyAsIFQyNCAsIFQyNSAsIFQyNiAsIFQyNyAsIFQyOCAsIFQyOSAsIFQzMCAsIFQzMSAsIFQzMiAsIFQzMyAsIFQzNCAsIFQzNSAsIFQzNiAsIFQzNyAsIFQzOCAsIFQzOSAsIFQ0MCAsIFQ0MSAsIFQ0MiAsIFQ0MyAsIFQ0NCAsIFQ0NSAsIFQ0NiBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2KTsKK3RlbXBsYXRlPCB0eXBlbmFtZSBSICwgdHlwZW5hbWUgVDAgLCB0eXBlbmFtZSBUMSAsIHR5cGVuYW1lIFQyICwgdHlwZW5hbWUgVDMgLCB0eXBlbmFtZSBUNCAsIHR5cGVuYW1lIFQ1ICwgdHlwZW5hbWUgVDYgLCB0eXBlbmFtZSBUNyAsIHR5cGVuYW1lIFQ4ICwgdHlwZW5hbWUgVDkgLCB0eXBlbmFtZSBUMTAgLCB0eXBlbmFtZSBUMTEgLCB0eXBlbmFtZSBUMTIgLCB0eXBlbmFtZSBUMTMgLCB0eXBlbmFtZSBUMTQgLCB0eXBlbmFtZSBUMTUgLCB0eXBlbmFtZSBUMTYgLCB0eXBlbmFtZSBUMTcgLCB0eXBlbmFtZSBUMTggLCB0eXBlbmFtZSBUMTkgLCB0eXBlbmFtZSBUMjAgLCB0eXBlbmFtZSBUMjEgLCB0eXBlbmFtZSBUMjIgLCB0eXBlbmFtZSBUMjMgLCB0eXBlbmFtZSBUMjQgLCB0eXBlbmFtZSBUMjUgLCB0eXBlbmFtZSBUMjYgLCB0eXBlbmFtZSBUMjcgLCB0eXBlbmFtZSBUMjggLCB0eXBlbmFtZSBUMjkgLCB0eXBlbmFtZSBUMzAgLCB0eXBlbmFtZSBUMzEgLCB0eXBlbmFtZSBUMzIgLCB0eXBlbmFtZSBUMzMgLCB0eXBlbmFtZSBUMzQgLCB0eXBlbmFtZSBUMzUgLCB0eXBlbmFtZSBUMzYgLCB0eXBlbmFtZSBUMzcgLCB0eXBlbmFtZSBUMzggLCB0eXBlbmFtZSBUMzkgLCB0eXBlbmFtZSBUNDAgLCB0eXBlbmFtZSBUNDEgLCB0eXBlbmFtZSBUNDIgLCB0eXBlbmFtZSBUNDMgLCB0eXBlbmFtZSBUNDQgLCB0eXBlbmFtZSBUNDUgLCB0eXBlbmFtZSBUNDYgLCB0eXBlbmFtZSBUNDcgPgordHlwZW5hbWUgZW5jb2RlX2NoYXJyPEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDQ4PiA6OnR5cGUKK2NsYXNzaWZpZXJfaW1wbChCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsIEJPT1NUX1BQX0VNUFRZKSAoVDAgLCBUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgLCBUMTIgLCBUMTMgLCBUMTQgLCBUMTUgLCBUMTYgLCBUMTcgLCBUMTggLCBUMTkgLCBUMjAgLCBUMjEgLCBUMjIgLCBUMjMgLCBUMjQgLCBUMjUgLCBUMjYgLCBUMjcgLCBUMjggLCBUMjkgLCBUMzAgLCBUMzEgLCBUMzIgLCBUMzMgLCBUMzQgLCBUMzUgLCBUMzYgLCBUMzcgLCBUMzggLCBUMzkgLCBUNDAgLCBUNDEgLCBUNDIgLCBUNDMgLCBUNDQgLCBUNDUgLCBUNDYgLCBUNDcgQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdik7Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgUiAsIHR5cGVuYW1lIFQwICwgdHlwZW5hbWUgVDEgLCB0eXBlbmFtZSBUMiAsIHR5cGVuYW1lIFQzICwgdHlwZW5hbWUgVDQgLCB0eXBlbmFtZSBUNSAsIHR5cGVuYW1lIFQ2ICwgdHlwZW5hbWUgVDcgLCB0eXBlbmFtZSBUOCAsIHR5cGVuYW1lIFQ5ICwgdHlwZW5hbWUgVDEwICwgdHlwZW5hbWUgVDExICwgdHlwZW5hbWUgVDEyICwgdHlwZW5hbWUgVDEzICwgdHlwZW5hbWUgVDE0ICwgdHlwZW5hbWUgVDE1ICwgdHlwZW5hbWUgVDE2ICwgdHlwZW5hbWUgVDE3ICwgdHlwZW5hbWUgVDE4ICwgdHlwZW5hbWUgVDE5ICwgdHlwZW5hbWUgVDIwICwgdHlwZW5hbWUgVDIxICwgdHlwZW5hbWUgVDIyICwgdHlwZW5hbWUgVDIzICwgdHlwZW5hbWUgVDI0ICwgdHlwZW5hbWUgVDI1ICwgdHlwZW5hbWUgVDI2ICwgdHlwZW5hbWUgVDI3ICwgdHlwZW5hbWUgVDI4ICwgdHlwZW5hbWUgVDI5ICwgdHlwZW5hbWUgVDMwICwgdHlwZW5hbWUgVDMxICwgdHlwZW5hbWUgVDMyICwgdHlwZW5hbWUgVDMzICwgdHlwZW5hbWUgVDM0ICwgdHlwZW5hbWUgVDM1ICwgdHlwZW5hbWUgVDM2ICwgdHlwZW5hbWUgVDM3ICwgdHlwZW5hbWUgVDM4ICwgdHlwZW5hbWUgVDM5ICwgdHlwZW5hbWUgVDQwICwgdHlwZW5hbWUgVDQxICwgdHlwZW5hbWUgVDQyICwgdHlwZW5hbWUgVDQzICwgdHlwZW5hbWUgVDQ0ICwgdHlwZW5hbWUgVDQ1ICwgdHlwZW5hbWUgVDQ2ICwgdHlwZW5hbWUgVDQ3ICwgdHlwZW5hbWUgVDQ4ID4KK3R5cGVuYW1lIGVuY29kZV9jaGFycjxCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZCw0OT4gOjp0eXBlCitjbGFzc2lmaWVyX2ltcGwoQk9PU1RfRlRfc3ludGF4KEJPT1NUX0ZUX2NjLCBCT09TVF9QUF9FTVBUWSkgKFQwICwgVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzICwgVDE0ICwgVDE1ICwgVDE2ICwgVDE3ICwgVDE4ICwgVDE5ICwgVDIwICwgVDIxICwgVDIyICwgVDIzICwgVDI0ICwgVDI1ICwgVDI2ICwgVDI3ICwgVDI4ICwgVDI5ICwgVDMwICwgVDMxICwgVDMyICwgVDMzICwgVDM0ICwgVDM1ICwgVDM2ICwgVDM3ICwgVDM4ICwgVDM5ICwgVDQwICwgVDQxICwgVDQyICwgVDQzICwgVDQ0ICwgVDQ1ICwgVDQ2ICwgVDQ3ICwgVDQ4IEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YpOwordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIgLCB0eXBlbmFtZSBUMyAsIHR5cGVuYW1lIFQ0ICwgdHlwZW5hbWUgVDUgLCB0eXBlbmFtZSBUNiAsIHR5cGVuYW1lIFQ3ICwgdHlwZW5hbWUgVDggLCB0eXBlbmFtZSBUOSAsIHR5cGVuYW1lIFQxMCAsIHR5cGVuYW1lIFQxMSAsIHR5cGVuYW1lIFQxMiAsIHR5cGVuYW1lIFQxMyAsIHR5cGVuYW1lIFQxNCAsIHR5cGVuYW1lIFQxNSAsIHR5cGVuYW1lIFQxNiAsIHR5cGVuYW1lIFQxNyAsIHR5cGVuYW1lIFQxOCAsIHR5cGVuYW1lIFQxOSAsIHR5cGVuYW1lIFQyMCAsIHR5cGVuYW1lIFQyMSAsIHR5cGVuYW1lIFQyMiAsIHR5cGVuYW1lIFQyMyAsIHR5cGVuYW1lIFQyNCAsIHR5cGVuYW1lIFQyNSAsIHR5cGVuYW1lIFQyNiAsIHR5cGVuYW1lIFQyNyAsIHR5cGVuYW1lIFQyOCAsIHR5cGVuYW1lIFQyOSAsIHR5cGVuYW1lIFQzMCAsIHR5cGVuYW1lIFQzMSAsIHR5cGVuYW1lIFQzMiAsIHR5cGVuYW1lIFQzMyAsIHR5cGVuYW1lIFQzNCAsIHR5cGVuYW1lIFQzNSAsIHR5cGVuYW1lIFQzNiAsIHR5cGVuYW1lIFQzNyAsIHR5cGVuYW1lIFQzOCAsIHR5cGVuYW1lIFQzOSAsIHR5cGVuYW1lIFQ0MCAsIHR5cGVuYW1lIFQ0MSAsIHR5cGVuYW1lIFQ0MiAsIHR5cGVuYW1lIFQ0MyAsIHR5cGVuYW1lIFQ0NCAsIHR5cGVuYW1lIFQ0NSAsIHR5cGVuYW1lIFQ0NiAsIHR5cGVuYW1lIFQ0NyAsIHR5cGVuYW1lIFQ0OCAsIHR5cGVuYW1lIFQ0OSA+Cit0eXBlbmFtZSBlbmNvZGVfY2hhcnI8Qk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQsNTA+IDo6dHlwZQorY2xhc3NpZmllcl9pbXBsKEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYywgQk9PU1RfUFBfRU1QVFkpIChUMCAsIFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSAsIFQyMCAsIFQyMSAsIFQyMiAsIFQyMyAsIFQyNCAsIFQyNSAsIFQyNiAsIFQyNyAsIFQyOCAsIFQyOSAsIFQzMCAsIFQzMSAsIFQzMiAsIFQzMyAsIFQzNCAsIFQzNSAsIFQzNiAsIFQzNyAsIFQzOCAsIFQzOSAsIFQ0MCAsIFQ0MSAsIFQ0MiAsIFQ0MyAsIFQ0NCAsIFQ0NSAsIFQ0NiAsIFQ0NyAsIFQ0OCAsIFQ0OSBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2KTsKKwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvZnVuY3Rpb25fdHlwZXMvZGV0YWlsL2NsYXNzaWZpZXJfaW1wbC9hcml0eTUwXzEuaHBwIGIvbmRuYm9vc3QvZnVuY3Rpb25fdHlwZXMvZGV0YWlsL2NsYXNzaWZpZXJfaW1wbC9hcml0eTUwXzEuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJiNzEwYTUKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9mdW5jdGlvbl90eXBlcy9kZXRhaWwvY2xhc3NpZmllcl9pbXBsL2FyaXR5NTBfMS5ocHAKQEAgLTAsMCArMSw1MiBAQAorCisvLyAoQykgQ29weXJpZ2h0IFRvYmlhcyBTY2h3aW5nZXIKKy8vCisvLyBVc2UgbW9kaWZpY2F0aW9uIGFuZCBkaXN0cmlidXRpb24gYXJlIHN1YmplY3QgdG8gdGhlIGJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsCisvLyBWZXJzaW9uIDEuMC4gKFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpLgorCisvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisvLyBubyBpbmNsdWRlIGd1YXJkcywgdGhpcyBmaWxlIGlzIGludGVuZGVkIGZvciBtdWx0aXBsZSBpbmNsdXNpb24KKworLy8gaW5wdXQ6ICBCT09TVF9GVF9zeW50YXggICAgIHR5cGUgbWFjcm8gdG8gdXNlCisvLyBpbnB1dDogIEJPT1NUX0ZUX2NjICAgICAgICAgZW1wdHkgb3IgY2Mgc3BlY2lmaWVyIAorLy8gaW5wdXQ6ICBCT09TVF9GVF9lbGwgICAgICAgIGVtcHR5IG9yICIuLi4iCisvLyBpbnB1dDogIEJPT1NUX0ZUX2N2ICAgICAgICAgZW1wdHkgb3IgY3YgcXVhbGlmaWVycworLy8gaW5wdXQ6ICBCT09TVF9GVF9mbGFncyAgICAgIHNpbmdsZSBkZWNpbWFsIGludGVnZXIgZW5jb2RpbmcgdGhlIGZsYWdzCisvLyBvdXRwdXQ6IEJPT1NUX0ZUX24gICAgICAgICAgbnVtYmVyIG9mIGNvbXBvbmVudCB0eXBlcyAoYXJpdHkrMSkKKy8vIG91dHB1dDogQk9PU1RfRlRfYXJpdHkgICAgICBjdXJyZW50IGFyaXR5CisvLyBvdXRwdXQ6IEJPT1NUX0ZUX3R5cGUgICAgICAgbWFjcm8gdGhhdCBleHBhbmRzIHRvIHRoZSB0eXBlCisvLyBvdXRwdXQ6IEJPT1NUX0ZUX3RwbGFyZ3MocCkgdGVtcGxhdGUgYXJndW1lbnRzIHdpdGggZ2l2ZW4gcHJlZml4CisvLyBvdXRwdXQ6IEJPT1NUX0ZUX3BhcmFtcyhwKSAgcGFyYW1ldGVycyB3aXRoIGdpdmVuIHByZWZpeAorCisjIGluY2x1ZGUgPG5kbmJvb3N0L2Z1bmN0aW9uX3R5cGVzL2RldGFpbC9jbGFzc2lmaWVyX2ltcGwvYXJpdHk0MF8xLmhwcD4KK3RlbXBsYXRlPCB0eXBlbmFtZSBSICwgdHlwZW5hbWUgVDAgLCB0eXBlbmFtZSBUMSAsIHR5cGVuYW1lIFQyICwgdHlwZW5hbWUgVDMgLCB0eXBlbmFtZSBUNCAsIHR5cGVuYW1lIFQ1ICwgdHlwZW5hbWUgVDYgLCB0eXBlbmFtZSBUNyAsIHR5cGVuYW1lIFQ4ICwgdHlwZW5hbWUgVDkgLCB0eXBlbmFtZSBUMTAgLCB0eXBlbmFtZSBUMTEgLCB0eXBlbmFtZSBUMTIgLCB0eXBlbmFtZSBUMTMgLCB0eXBlbmFtZSBUMTQgLCB0eXBlbmFtZSBUMTUgLCB0eXBlbmFtZSBUMTYgLCB0eXBlbmFtZSBUMTcgLCB0eXBlbmFtZSBUMTggLCB0eXBlbmFtZSBUMTkgLCB0eXBlbmFtZSBUMjAgLCB0eXBlbmFtZSBUMjEgLCB0eXBlbmFtZSBUMjIgLCB0eXBlbmFtZSBUMjMgLCB0eXBlbmFtZSBUMjQgLCB0eXBlbmFtZSBUMjUgLCB0eXBlbmFtZSBUMjYgLCB0eXBlbmFtZSBUMjcgLCB0eXBlbmFtZSBUMjggLCB0eXBlbmFtZSBUMjkgLCB0eXBlbmFtZSBUMzAgLCB0eXBlbmFtZSBUMzEgLCB0eXBlbmFtZSBUMzIgLCB0eXBlbmFtZSBUMzMgLCB0eXBlbmFtZSBUMzQgLCB0eXBlbmFtZSBUMzUgLCB0eXBlbmFtZSBUMzYgLCB0eXBlbmFtZSBUMzcgLCB0eXBlbmFtZSBUMzggLCB0eXBlbmFtZSBUMzkgLCB0eXBlbmFtZSBUNDAgPgordHlwZW5hbWUgZW5jb2RlX2NoYXJyPEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDQxPiA6OnR5cGUKK2NsYXNzaWZpZXJfaW1wbChCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsIEJPT1NUX1BQX0VNUFRZKSAoVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzICwgVDE0ICwgVDE1ICwgVDE2ICwgVDE3ICwgVDE4ICwgVDE5ICwgVDIwICwgVDIxICwgVDIyICwgVDIzICwgVDI0ICwgVDI1ICwgVDI2ICwgVDI3ICwgVDI4ICwgVDI5ICwgVDMwICwgVDMxICwgVDMyICwgVDMzICwgVDM0ICwgVDM1ICwgVDM2ICwgVDM3ICwgVDM4ICwgVDM5ICwgVDQwIEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YpOwordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIgLCB0eXBlbmFtZSBUMyAsIHR5cGVuYW1lIFQ0ICwgdHlwZW5hbWUgVDUgLCB0eXBlbmFtZSBUNiAsIHR5cGVuYW1lIFQ3ICwgdHlwZW5hbWUgVDggLCB0eXBlbmFtZSBUOSAsIHR5cGVuYW1lIFQxMCAsIHR5cGVuYW1lIFQxMSAsIHR5cGVuYW1lIFQxMiAsIHR5cGVuYW1lIFQxMyAsIHR5cGVuYW1lIFQxNCAsIHR5cGVuYW1lIFQxNSAsIHR5cGVuYW1lIFQxNiAsIHR5cGVuYW1lIFQxNyAsIHR5cGVuYW1lIFQxOCAsIHR5cGVuYW1lIFQxOSAsIHR5cGVuYW1lIFQyMCAsIHR5cGVuYW1lIFQyMSAsIHR5cGVuYW1lIFQyMiAsIHR5cGVuYW1lIFQyMyAsIHR5cGVuYW1lIFQyNCAsIHR5cGVuYW1lIFQyNSAsIHR5cGVuYW1lIFQyNiAsIHR5cGVuYW1lIFQyNyAsIHR5cGVuYW1lIFQyOCAsIHR5cGVuYW1lIFQyOSAsIHR5cGVuYW1lIFQzMCAsIHR5cGVuYW1lIFQzMSAsIHR5cGVuYW1lIFQzMiAsIHR5cGVuYW1lIFQzMyAsIHR5cGVuYW1lIFQzNCAsIHR5cGVuYW1lIFQzNSAsIHR5cGVuYW1lIFQzNiAsIHR5cGVuYW1lIFQzNyAsIHR5cGVuYW1lIFQzOCAsIHR5cGVuYW1lIFQzOSAsIHR5cGVuYW1lIFQ0MCAsIHR5cGVuYW1lIFQ0MSA+Cit0eXBlbmFtZSBlbmNvZGVfY2hhcnI8Qk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQsNDI+IDo6dHlwZQorY2xhc3NpZmllcl9pbXBsKEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYywgQk9PU1RfUFBfRU1QVFkpIChUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgLCBUMTIgLCBUMTMgLCBUMTQgLCBUMTUgLCBUMTYgLCBUMTcgLCBUMTggLCBUMTkgLCBUMjAgLCBUMjEgLCBUMjIgLCBUMjMgLCBUMjQgLCBUMjUgLCBUMjYgLCBUMjcgLCBUMjggLCBUMjkgLCBUMzAgLCBUMzEgLCBUMzIgLCBUMzMgLCBUMzQgLCBUMzUgLCBUMzYgLCBUMzcgLCBUMzggLCBUMzkgLCBUNDAgLCBUNDEgQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdik7Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgUiAsIHR5cGVuYW1lIFQwICwgdHlwZW5hbWUgVDEgLCB0eXBlbmFtZSBUMiAsIHR5cGVuYW1lIFQzICwgdHlwZW5hbWUgVDQgLCB0eXBlbmFtZSBUNSAsIHR5cGVuYW1lIFQ2ICwgdHlwZW5hbWUgVDcgLCB0eXBlbmFtZSBUOCAsIHR5cGVuYW1lIFQ5ICwgdHlwZW5hbWUgVDEwICwgdHlwZW5hbWUgVDExICwgdHlwZW5hbWUgVDEyICwgdHlwZW5hbWUgVDEzICwgdHlwZW5hbWUgVDE0ICwgdHlwZW5hbWUgVDE1ICwgdHlwZW5hbWUgVDE2ICwgdHlwZW5hbWUgVDE3ICwgdHlwZW5hbWUgVDE4ICwgdHlwZW5hbWUgVDE5ICwgdHlwZW5hbWUgVDIwICwgdHlwZW5hbWUgVDIxICwgdHlwZW5hbWUgVDIyICwgdHlwZW5hbWUgVDIzICwgdHlwZW5hbWUgVDI0ICwgdHlwZW5hbWUgVDI1ICwgdHlwZW5hbWUgVDI2ICwgdHlwZW5hbWUgVDI3ICwgdHlwZW5hbWUgVDI4ICwgdHlwZW5hbWUgVDI5ICwgdHlwZW5hbWUgVDMwICwgdHlwZW5hbWUgVDMxICwgdHlwZW5hbWUgVDMyICwgdHlwZW5hbWUgVDMzICwgdHlwZW5hbWUgVDM0ICwgdHlwZW5hbWUgVDM1ICwgdHlwZW5hbWUgVDM2ICwgdHlwZW5hbWUgVDM3ICwgdHlwZW5hbWUgVDM4ICwgdHlwZW5hbWUgVDM5ICwgdHlwZW5hbWUgVDQwICwgdHlwZW5hbWUgVDQxICwgdHlwZW5hbWUgVDQyID4KK3R5cGVuYW1lIGVuY29kZV9jaGFycjxCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZCw0Mz4gOjp0eXBlCitjbGFzc2lmaWVyX2ltcGwoQk9PU1RfRlRfc3ludGF4KEJPT1NUX0ZUX2NjLCBCT09TVF9QUF9FTVBUWSkgKFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSAsIFQyMCAsIFQyMSAsIFQyMiAsIFQyMyAsIFQyNCAsIFQyNSAsIFQyNiAsIFQyNyAsIFQyOCAsIFQyOSAsIFQzMCAsIFQzMSAsIFQzMiAsIFQzMyAsIFQzNCAsIFQzNSAsIFQzNiAsIFQzNyAsIFQzOCAsIFQzOSAsIFQ0MCAsIFQ0MSAsIFQ0MiBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2KTsKK3RlbXBsYXRlPCB0eXBlbmFtZSBSICwgdHlwZW5hbWUgVDAgLCB0eXBlbmFtZSBUMSAsIHR5cGVuYW1lIFQyICwgdHlwZW5hbWUgVDMgLCB0eXBlbmFtZSBUNCAsIHR5cGVuYW1lIFQ1ICwgdHlwZW5hbWUgVDYgLCB0eXBlbmFtZSBUNyAsIHR5cGVuYW1lIFQ4ICwgdHlwZW5hbWUgVDkgLCB0eXBlbmFtZSBUMTAgLCB0eXBlbmFtZSBUMTEgLCB0eXBlbmFtZSBUMTIgLCB0eXBlbmFtZSBUMTMgLCB0eXBlbmFtZSBUMTQgLCB0eXBlbmFtZSBUMTUgLCB0eXBlbmFtZSBUMTYgLCB0eXBlbmFtZSBUMTcgLCB0eXBlbmFtZSBUMTggLCB0eXBlbmFtZSBUMTkgLCB0eXBlbmFtZSBUMjAgLCB0eXBlbmFtZSBUMjEgLCB0eXBlbmFtZSBUMjIgLCB0eXBlbmFtZSBUMjMgLCB0eXBlbmFtZSBUMjQgLCB0eXBlbmFtZSBUMjUgLCB0eXBlbmFtZSBUMjYgLCB0eXBlbmFtZSBUMjcgLCB0eXBlbmFtZSBUMjggLCB0eXBlbmFtZSBUMjkgLCB0eXBlbmFtZSBUMzAgLCB0eXBlbmFtZSBUMzEgLCB0eXBlbmFtZSBUMzIgLCB0eXBlbmFtZSBUMzMgLCB0eXBlbmFtZSBUMzQgLCB0eXBlbmFtZSBUMzUgLCB0eXBlbmFtZSBUMzYgLCB0eXBlbmFtZSBUMzcgLCB0eXBlbmFtZSBUMzggLCB0eXBlbmFtZSBUMzkgLCB0eXBlbmFtZSBUNDAgLCB0eXBlbmFtZSBUNDEgLCB0eXBlbmFtZSBUNDIgLCB0eXBlbmFtZSBUNDMgPgordHlwZW5hbWUgZW5jb2RlX2NoYXJyPEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDQ0PiA6OnR5cGUKK2NsYXNzaWZpZXJfaW1wbChCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsIEJPT1NUX1BQX0VNUFRZKSAoVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzICwgVDE0ICwgVDE1ICwgVDE2ICwgVDE3ICwgVDE4ICwgVDE5ICwgVDIwICwgVDIxICwgVDIyICwgVDIzICwgVDI0ICwgVDI1ICwgVDI2ICwgVDI3ICwgVDI4ICwgVDI5ICwgVDMwICwgVDMxICwgVDMyICwgVDMzICwgVDM0ICwgVDM1ICwgVDM2ICwgVDM3ICwgVDM4ICwgVDM5ICwgVDQwICwgVDQxICwgVDQyICwgVDQzIEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YpOwordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIgLCB0eXBlbmFtZSBUMyAsIHR5cGVuYW1lIFQ0ICwgdHlwZW5hbWUgVDUgLCB0eXBlbmFtZSBUNiAsIHR5cGVuYW1lIFQ3ICwgdHlwZW5hbWUgVDggLCB0eXBlbmFtZSBUOSAsIHR5cGVuYW1lIFQxMCAsIHR5cGVuYW1lIFQxMSAsIHR5cGVuYW1lIFQxMiAsIHR5cGVuYW1lIFQxMyAsIHR5cGVuYW1lIFQxNCAsIHR5cGVuYW1lIFQxNSAsIHR5cGVuYW1lIFQxNiAsIHR5cGVuYW1lIFQxNyAsIHR5cGVuYW1lIFQxOCAsIHR5cGVuYW1lIFQxOSAsIHR5cGVuYW1lIFQyMCAsIHR5cGVuYW1lIFQyMSAsIHR5cGVuYW1lIFQyMiAsIHR5cGVuYW1lIFQyMyAsIHR5cGVuYW1lIFQyNCAsIHR5cGVuYW1lIFQyNSAsIHR5cGVuYW1lIFQyNiAsIHR5cGVuYW1lIFQyNyAsIHR5cGVuYW1lIFQyOCAsIHR5cGVuYW1lIFQyOSAsIHR5cGVuYW1lIFQzMCAsIHR5cGVuYW1lIFQzMSAsIHR5cGVuYW1lIFQzMiAsIHR5cGVuYW1lIFQzMyAsIHR5cGVuYW1lIFQzNCAsIHR5cGVuYW1lIFQzNSAsIHR5cGVuYW1lIFQzNiAsIHR5cGVuYW1lIFQzNyAsIHR5cGVuYW1lIFQzOCAsIHR5cGVuYW1lIFQzOSAsIHR5cGVuYW1lIFQ0MCAsIHR5cGVuYW1lIFQ0MSAsIHR5cGVuYW1lIFQ0MiAsIHR5cGVuYW1lIFQ0MyAsIHR5cGVuYW1lIFQ0NCA+Cit0eXBlbmFtZSBlbmNvZGVfY2hhcnI8Qk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQsNDU+IDo6dHlwZQorY2xhc3NpZmllcl9pbXBsKEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYywgQk9PU1RfUFBfRU1QVFkpIChUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgLCBUMTIgLCBUMTMgLCBUMTQgLCBUMTUgLCBUMTYgLCBUMTcgLCBUMTggLCBUMTkgLCBUMjAgLCBUMjEgLCBUMjIgLCBUMjMgLCBUMjQgLCBUMjUgLCBUMjYgLCBUMjcgLCBUMjggLCBUMjkgLCBUMzAgLCBUMzEgLCBUMzIgLCBUMzMgLCBUMzQgLCBUMzUgLCBUMzYgLCBUMzcgLCBUMzggLCBUMzkgLCBUNDAgLCBUNDEgLCBUNDIgLCBUNDMgLCBUNDQgQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdik7Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgUiAsIHR5cGVuYW1lIFQwICwgdHlwZW5hbWUgVDEgLCB0eXBlbmFtZSBUMiAsIHR5cGVuYW1lIFQzICwgdHlwZW5hbWUgVDQgLCB0eXBlbmFtZSBUNSAsIHR5cGVuYW1lIFQ2ICwgdHlwZW5hbWUgVDcgLCB0eXBlbmFtZSBUOCAsIHR5cGVuYW1lIFQ5ICwgdHlwZW5hbWUgVDEwICwgdHlwZW5hbWUgVDExICwgdHlwZW5hbWUgVDEyICwgdHlwZW5hbWUgVDEzICwgdHlwZW5hbWUgVDE0ICwgdHlwZW5hbWUgVDE1ICwgdHlwZW5hbWUgVDE2ICwgdHlwZW5hbWUgVDE3ICwgdHlwZW5hbWUgVDE4ICwgdHlwZW5hbWUgVDE5ICwgdHlwZW5hbWUgVDIwICwgdHlwZW5hbWUgVDIxICwgdHlwZW5hbWUgVDIyICwgdHlwZW5hbWUgVDIzICwgdHlwZW5hbWUgVDI0ICwgdHlwZW5hbWUgVDI1ICwgdHlwZW5hbWUgVDI2ICwgdHlwZW5hbWUgVDI3ICwgdHlwZW5hbWUgVDI4ICwgdHlwZW5hbWUgVDI5ICwgdHlwZW5hbWUgVDMwICwgdHlwZW5hbWUgVDMxICwgdHlwZW5hbWUgVDMyICwgdHlwZW5hbWUgVDMzICwgdHlwZW5hbWUgVDM0ICwgdHlwZW5hbWUgVDM1ICwgdHlwZW5hbWUgVDM2ICwgdHlwZW5hbWUgVDM3ICwgdHlwZW5hbWUgVDM4ICwgdHlwZW5hbWUgVDM5ICwgdHlwZW5hbWUgVDQwICwgdHlwZW5hbWUgVDQxICwgdHlwZW5hbWUgVDQyICwgdHlwZW5hbWUgVDQzICwgdHlwZW5hbWUgVDQ0ICwgdHlwZW5hbWUgVDQ1ID4KK3R5cGVuYW1lIGVuY29kZV9jaGFycjxCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZCw0Nj4gOjp0eXBlCitjbGFzc2lmaWVyX2ltcGwoQk9PU1RfRlRfc3ludGF4KEJPT1NUX0ZUX2NjLCBCT09TVF9QUF9FTVBUWSkgKFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSAsIFQyMCAsIFQyMSAsIFQyMiAsIFQyMyAsIFQyNCAsIFQyNSAsIFQyNiAsIFQyNyAsIFQyOCAsIFQyOSAsIFQzMCAsIFQzMSAsIFQzMiAsIFQzMyAsIFQzNCAsIFQzNSAsIFQzNiAsIFQzNyAsIFQzOCAsIFQzOSAsIFQ0MCAsIFQ0MSAsIFQ0MiAsIFQ0MyAsIFQ0NCAsIFQ0NSBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2KTsKK3RlbXBsYXRlPCB0eXBlbmFtZSBSICwgdHlwZW5hbWUgVDAgLCB0eXBlbmFtZSBUMSAsIHR5cGVuYW1lIFQyICwgdHlwZW5hbWUgVDMgLCB0eXBlbmFtZSBUNCAsIHR5cGVuYW1lIFQ1ICwgdHlwZW5hbWUgVDYgLCB0eXBlbmFtZSBUNyAsIHR5cGVuYW1lIFQ4ICwgdHlwZW5hbWUgVDkgLCB0eXBlbmFtZSBUMTAgLCB0eXBlbmFtZSBUMTEgLCB0eXBlbmFtZSBUMTIgLCB0eXBlbmFtZSBUMTMgLCB0eXBlbmFtZSBUMTQgLCB0eXBlbmFtZSBUMTUgLCB0eXBlbmFtZSBUMTYgLCB0eXBlbmFtZSBUMTcgLCB0eXBlbmFtZSBUMTggLCB0eXBlbmFtZSBUMTkgLCB0eXBlbmFtZSBUMjAgLCB0eXBlbmFtZSBUMjEgLCB0eXBlbmFtZSBUMjIgLCB0eXBlbmFtZSBUMjMgLCB0eXBlbmFtZSBUMjQgLCB0eXBlbmFtZSBUMjUgLCB0eXBlbmFtZSBUMjYgLCB0eXBlbmFtZSBUMjcgLCB0eXBlbmFtZSBUMjggLCB0eXBlbmFtZSBUMjkgLCB0eXBlbmFtZSBUMzAgLCB0eXBlbmFtZSBUMzEgLCB0eXBlbmFtZSBUMzIgLCB0eXBlbmFtZSBUMzMgLCB0eXBlbmFtZSBUMzQgLCB0eXBlbmFtZSBUMzUgLCB0eXBlbmFtZSBUMzYgLCB0eXBlbmFtZSBUMzcgLCB0eXBlbmFtZSBUMzggLCB0eXBlbmFtZSBUMzkgLCB0eXBlbmFtZSBUNDAgLCB0eXBlbmFtZSBUNDEgLCB0eXBlbmFtZSBUNDIgLCB0eXBlbmFtZSBUNDMgLCB0eXBlbmFtZSBUNDQgLCB0eXBlbmFtZSBUNDUgLCB0eXBlbmFtZSBUNDYgPgordHlwZW5hbWUgZW5jb2RlX2NoYXJyPEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDQ3PiA6OnR5cGUKK2NsYXNzaWZpZXJfaW1wbChCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsIEJPT1NUX1BQX0VNUFRZKSAoVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzICwgVDE0ICwgVDE1ICwgVDE2ICwgVDE3ICwgVDE4ICwgVDE5ICwgVDIwICwgVDIxICwgVDIyICwgVDIzICwgVDI0ICwgVDI1ICwgVDI2ICwgVDI3ICwgVDI4ICwgVDI5ICwgVDMwICwgVDMxICwgVDMyICwgVDMzICwgVDM0ICwgVDM1ICwgVDM2ICwgVDM3ICwgVDM4ICwgVDM5ICwgVDQwICwgVDQxICwgVDQyICwgVDQzICwgVDQ0ICwgVDQ1ICwgVDQ2IEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YpOwordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIgLCB0eXBlbmFtZSBUMyAsIHR5cGVuYW1lIFQ0ICwgdHlwZW5hbWUgVDUgLCB0eXBlbmFtZSBUNiAsIHR5cGVuYW1lIFQ3ICwgdHlwZW5hbWUgVDggLCB0eXBlbmFtZSBUOSAsIHR5cGVuYW1lIFQxMCAsIHR5cGVuYW1lIFQxMSAsIHR5cGVuYW1lIFQxMiAsIHR5cGVuYW1lIFQxMyAsIHR5cGVuYW1lIFQxNCAsIHR5cGVuYW1lIFQxNSAsIHR5cGVuYW1lIFQxNiAsIHR5cGVuYW1lIFQxNyAsIHR5cGVuYW1lIFQxOCAsIHR5cGVuYW1lIFQxOSAsIHR5cGVuYW1lIFQyMCAsIHR5cGVuYW1lIFQyMSAsIHR5cGVuYW1lIFQyMiAsIHR5cGVuYW1lIFQyMyAsIHR5cGVuYW1lIFQyNCAsIHR5cGVuYW1lIFQyNSAsIHR5cGVuYW1lIFQyNiAsIHR5cGVuYW1lIFQyNyAsIHR5cGVuYW1lIFQyOCAsIHR5cGVuYW1lIFQyOSAsIHR5cGVuYW1lIFQzMCAsIHR5cGVuYW1lIFQzMSAsIHR5cGVuYW1lIFQzMiAsIHR5cGVuYW1lIFQzMyAsIHR5cGVuYW1lIFQzNCAsIHR5cGVuYW1lIFQzNSAsIHR5cGVuYW1lIFQzNiAsIHR5cGVuYW1lIFQzNyAsIHR5cGVuYW1lIFQzOCAsIHR5cGVuYW1lIFQzOSAsIHR5cGVuYW1lIFQ0MCAsIHR5cGVuYW1lIFQ0MSAsIHR5cGVuYW1lIFQ0MiAsIHR5cGVuYW1lIFQ0MyAsIHR5cGVuYW1lIFQ0NCAsIHR5cGVuYW1lIFQ0NSAsIHR5cGVuYW1lIFQ0NiAsIHR5cGVuYW1lIFQ0NyA+Cit0eXBlbmFtZSBlbmNvZGVfY2hhcnI8Qk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQsNDg+IDo6dHlwZQorY2xhc3NpZmllcl9pbXBsKEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYywgQk9PU1RfUFBfRU1QVFkpIChUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgLCBUMTIgLCBUMTMgLCBUMTQgLCBUMTUgLCBUMTYgLCBUMTcgLCBUMTggLCBUMTkgLCBUMjAgLCBUMjEgLCBUMjIgLCBUMjMgLCBUMjQgLCBUMjUgLCBUMjYgLCBUMjcgLCBUMjggLCBUMjkgLCBUMzAgLCBUMzEgLCBUMzIgLCBUMzMgLCBUMzQgLCBUMzUgLCBUMzYgLCBUMzcgLCBUMzggLCBUMzkgLCBUNDAgLCBUNDEgLCBUNDIgLCBUNDMgLCBUNDQgLCBUNDUgLCBUNDYgLCBUNDcgQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdik7Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgUiAsIHR5cGVuYW1lIFQwICwgdHlwZW5hbWUgVDEgLCB0eXBlbmFtZSBUMiAsIHR5cGVuYW1lIFQzICwgdHlwZW5hbWUgVDQgLCB0eXBlbmFtZSBUNSAsIHR5cGVuYW1lIFQ2ICwgdHlwZW5hbWUgVDcgLCB0eXBlbmFtZSBUOCAsIHR5cGVuYW1lIFQ5ICwgdHlwZW5hbWUgVDEwICwgdHlwZW5hbWUgVDExICwgdHlwZW5hbWUgVDEyICwgdHlwZW5hbWUgVDEzICwgdHlwZW5hbWUgVDE0ICwgdHlwZW5hbWUgVDE1ICwgdHlwZW5hbWUgVDE2ICwgdHlwZW5hbWUgVDE3ICwgdHlwZW5hbWUgVDE4ICwgdHlwZW5hbWUgVDE5ICwgdHlwZW5hbWUgVDIwICwgdHlwZW5hbWUgVDIxICwgdHlwZW5hbWUgVDIyICwgdHlwZW5hbWUgVDIzICwgdHlwZW5hbWUgVDI0ICwgdHlwZW5hbWUgVDI1ICwgdHlwZW5hbWUgVDI2ICwgdHlwZW5hbWUgVDI3ICwgdHlwZW5hbWUgVDI4ICwgdHlwZW5hbWUgVDI5ICwgdHlwZW5hbWUgVDMwICwgdHlwZW5hbWUgVDMxICwgdHlwZW5hbWUgVDMyICwgdHlwZW5hbWUgVDMzICwgdHlwZW5hbWUgVDM0ICwgdHlwZW5hbWUgVDM1ICwgdHlwZW5hbWUgVDM2ICwgdHlwZW5hbWUgVDM3ICwgdHlwZW5hbWUgVDM4ICwgdHlwZW5hbWUgVDM5ICwgdHlwZW5hbWUgVDQwICwgdHlwZW5hbWUgVDQxICwgdHlwZW5hbWUgVDQyICwgdHlwZW5hbWUgVDQzICwgdHlwZW5hbWUgVDQ0ICwgdHlwZW5hbWUgVDQ1ICwgdHlwZW5hbWUgVDQ2ICwgdHlwZW5hbWUgVDQ3ICwgdHlwZW5hbWUgVDQ4ID4KK3R5cGVuYW1lIGVuY29kZV9jaGFycjxCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZCw0OT4gOjp0eXBlCitjbGFzc2lmaWVyX2ltcGwoQk9PU1RfRlRfc3ludGF4KEJPT1NUX0ZUX2NjLCBCT09TVF9QUF9FTVBUWSkgKFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSAsIFQyMCAsIFQyMSAsIFQyMiAsIFQyMyAsIFQyNCAsIFQyNSAsIFQyNiAsIFQyNyAsIFQyOCAsIFQyOSAsIFQzMCAsIFQzMSAsIFQzMiAsIFQzMyAsIFQzNCAsIFQzNSAsIFQzNiAsIFQzNyAsIFQzOCAsIFQzOSAsIFQ0MCAsIFQ0MSAsIFQ0MiAsIFQ0MyAsIFQ0NCAsIFQ0NSAsIFQ0NiAsIFQ0NyAsIFQ0OCBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2KTsKK3RlbXBsYXRlPCB0eXBlbmFtZSBSICwgdHlwZW5hbWUgVDAgLCB0eXBlbmFtZSBUMSAsIHR5cGVuYW1lIFQyICwgdHlwZW5hbWUgVDMgLCB0eXBlbmFtZSBUNCAsIHR5cGVuYW1lIFQ1ICwgdHlwZW5hbWUgVDYgLCB0eXBlbmFtZSBUNyAsIHR5cGVuYW1lIFQ4ICwgdHlwZW5hbWUgVDkgLCB0eXBlbmFtZSBUMTAgLCB0eXBlbmFtZSBUMTEgLCB0eXBlbmFtZSBUMTIgLCB0eXBlbmFtZSBUMTMgLCB0eXBlbmFtZSBUMTQgLCB0eXBlbmFtZSBUMTUgLCB0eXBlbmFtZSBUMTYgLCB0eXBlbmFtZSBUMTcgLCB0eXBlbmFtZSBUMTggLCB0eXBlbmFtZSBUMTkgLCB0eXBlbmFtZSBUMjAgLCB0eXBlbmFtZSBUMjEgLCB0eXBlbmFtZSBUMjIgLCB0eXBlbmFtZSBUMjMgLCB0eXBlbmFtZSBUMjQgLCB0eXBlbmFtZSBUMjUgLCB0eXBlbmFtZSBUMjYgLCB0eXBlbmFtZSBUMjcgLCB0eXBlbmFtZSBUMjggLCB0eXBlbmFtZSBUMjkgLCB0eXBlbmFtZSBUMzAgLCB0eXBlbmFtZSBUMzEgLCB0eXBlbmFtZSBUMzIgLCB0eXBlbmFtZSBUMzMgLCB0eXBlbmFtZSBUMzQgLCB0eXBlbmFtZSBUMzUgLCB0eXBlbmFtZSBUMzYgLCB0eXBlbmFtZSBUMzcgLCB0eXBlbmFtZSBUMzggLCB0eXBlbmFtZSBUMzkgLCB0eXBlbmFtZSBUNDAgLCB0eXBlbmFtZSBUNDEgLCB0eXBlbmFtZSBUNDIgLCB0eXBlbmFtZSBUNDMgLCB0eXBlbmFtZSBUNDQgLCB0eXBlbmFtZSBUNDUgLCB0eXBlbmFtZSBUNDYgLCB0eXBlbmFtZSBUNDcgLCB0eXBlbmFtZSBUNDggLCB0eXBlbmFtZSBUNDkgPgordHlwZW5hbWUgZW5jb2RlX2NoYXJyPEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDUwPiA6OnR5cGUKK2NsYXNzaWZpZXJfaW1wbChCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsIEJPT1NUX1BQX0VNUFRZKSAoVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzICwgVDE0ICwgVDE1ICwgVDE2ICwgVDE3ICwgVDE4ICwgVDE5ICwgVDIwICwgVDIxICwgVDIyICwgVDIzICwgVDI0ICwgVDI1ICwgVDI2ICwgVDI3ICwgVDI4ICwgVDI5ICwgVDMwICwgVDMxICwgVDMyICwgVDMzICwgVDM0ICwgVDM1ICwgVDM2ICwgVDM3ICwgVDM4ICwgVDM5ICwgVDQwICwgVDQxICwgVDQyICwgVDQzICwgVDQ0ICwgVDQ1ICwgVDQ2ICwgVDQ3ICwgVDQ4ICwgVDQ5IEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YpOwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvZnVuY3Rpb25fdHlwZXMvZGV0YWlsL2NsYXNzaWZpZXJfaW1wbC9tYXN0ZXIuaHBwIGIvbmRuYm9vc3QvZnVuY3Rpb25fdHlwZXMvZGV0YWlsL2NsYXNzaWZpZXJfaW1wbC9tYXN0ZXIuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBkZGFjZjYKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9mdW5jdGlvbl90eXBlcy9kZXRhaWwvY2xhc3NpZmllcl9pbXBsL21hc3Rlci5ocHAKQEAgLTAsMCArMSwzMyBAQAorCisvLyAoQykgQ29weXJpZ2h0IFRvYmlhcyBTY2h3aW5nZXIKKy8vCisvLyBVc2UgbW9kaWZpY2F0aW9uIGFuZCBkaXN0cmlidXRpb24gYXJlIHN1YmplY3QgdG8gdGhlIGJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsCisvLyBWZXJzaW9uIDEuMC4gKFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpLgorCisvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisvLyBubyBpbmNsdWRlIGd1YXJkcywgdGhpcyBmaWxlIGlzIGludGVuZGVkIGZvciBtdWx0aXBsZSBpbmNsdXNpb24KKworI2lmIEJPT1NUX0ZUX0FSSVRZX0xPT1BfUFJFRklYCisKKyMgICBpZm5kZWYgQk9PU1RfRlRfREVUQUlMX0NMQVNTSUZJRVJfSU1QTF9NQVNURVJfSFBQX0lOQ0xVREVECisjICAgZGVmaW5lIEJPT1NUX0ZUX0RFVEFJTF9DTEFTU0lGSUVSX0lNUExfTUFTVEVSX0hQUF9JTkNMVURFRAorIyAgICAgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL2ZhY2lsaXRpZXMvaWRlbnRpdHkuaHBwPgorIyAgIGVuZGlmCisKKyMgICBkZWZpbmUgQk9PU1RfRlRfdHlwZV9uYW1lCisKKyNlbGlmIEJPT1NUX0ZUX0FSSVRZX0xPT1BfSVNfSVRFUkFUSU5HCisKK3RlbXBsYXRlPCBCT09TVF9GVF90cGxhcmdzKEJPT1NUX1BQX0lERU5USVRZKHR5cGVuYW1lKSkgPgordHlwZW5hbWUgZW5jb2RlX2NoYXJyPEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLEJPT1NUX0ZUX2FyaXR5Pjo6dHlwZQorY2xhc3NpZmllcl9pbXBsKEJPT1NUX0ZUX3R5cGUpOworCisjZWxpZiBCT09TVF9GVF9BUklUWV9MT09QX1NVRkZJWAorCisjICAgdW5kZWYgQk9PU1RfRlRfdHlwZV9uYW1lCisKKyNlbHNlCisjICAgZXJyb3IgImF0dGVtcHQgdG8gdXNlIGFyaXR5IGxvb3AgbWFzdGVyIGZpbGUgd2l0aG91dCBsb29wIgorI2VuZGlmCisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L2Z1bmN0aW9uX3R5cGVzL2RldGFpbC9jb21wb25lbnRzX2FzX21wbF9zZXF1ZW5jZS5ocHAgYi9uZG5ib29zdC9mdW5jdGlvbl90eXBlcy9kZXRhaWwvY29tcG9uZW50c19hc19tcGxfc2VxdWVuY2UuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNkOTRlNGUKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9mdW5jdGlvbl90eXBlcy9kZXRhaWwvY29tcG9uZW50c19hc19tcGxfc2VxdWVuY2UuaHBwCkBAIC0wLDAgKzEsMTM4IEBACisKKy8vIChDKSBDb3B5cmlnaHQgVG9iaWFzIFNjaHdpbmdlcgorLy8KKy8vIFVzZSBtb2RpZmljYXRpb24gYW5kIGRpc3RyaWJ1dGlvbiBhcmUgc3ViamVjdCB0byB0aGUgYm9vc3QgU29mdHdhcmUgTGljZW5zZSwKKy8vIFZlcnNpb24gMS4wLiAoU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkuCisKKy8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKyNpZm5kZWYgQk9PU1RfRlRfREVUQUlMX0NPTVBPTkVOVFNfQVNfTVBMX1NFUVVFTkNFX0hQUF9JTkNMVURFRAorI2RlZmluZSBCT09TVF9GVF9ERVRBSUxfQ09NUE9ORU5UU19BU19NUExfU0VRVUVOQ0VfSFBQX0lOQ0xVREVECisKKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvc2l6ZV9md2QuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9lbXB0eV9md2QuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9mcm9udF9md2QuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9iYWNrX2Z3ZC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F0X2Z3ZC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2JlZ2luX2VuZF9md2QuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9jbGVhcl9md2QuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9wdXNoX2Zyb250X2Z3ZC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL3BvcF9mcm9udF9md2QuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9wdXNoX2JhY2tfZndkLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvcG9wX2JhY2tfZndkLmhwcD4KKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPD4gc3RydWN0IHNpemVfaW1wbAorPCBmdW5jdGlvbl90eXBlczo6ZGV0YWlsOjpjb21wb25lbnRzX21wbF9zZXF1ZW5jZV90YWcgPgoreworICB0ZW1wbGF0ZTwgdHlwZW5hbWUgUyA+IHN0cnVjdCBhcHBseQorICAgIDogbXBsOjpzaXplIDx0eXBlbmFtZSBTOjp0eXBlcz4KKyAgeyB9OworfTsKK3RlbXBsYXRlPD4gc3RydWN0IGVtcHR5X2ltcGwKKzwgZnVuY3Rpb25fdHlwZXM6OmRldGFpbDo6Y29tcG9uZW50c19tcGxfc2VxdWVuY2VfdGFnID4KK3sKKyAgdGVtcGxhdGU8IHR5cGVuYW1lIFMgPiBzdHJ1Y3QgYXBwbHkKKyAgICA6IG1wbDo6ZW1wdHkgPHR5cGVuYW1lIFM6OnR5cGVzPgorICB7IH07Cit9OwordGVtcGxhdGU8PiBzdHJ1Y3QgZnJvbnRfaW1wbAorPCBmdW5jdGlvbl90eXBlczo6ZGV0YWlsOjpjb21wb25lbnRzX21wbF9zZXF1ZW5jZV90YWcgPgoreworICB0ZW1wbGF0ZTwgdHlwZW5hbWUgUyA+IHN0cnVjdCBhcHBseQorICAgIDogbXBsOjpmcm9udCA8dHlwZW5hbWUgUzo6dHlwZXM+CisgIHsgfTsKK307Cit0ZW1wbGF0ZTw+IHN0cnVjdCBiYWNrX2ltcGwKKzwgZnVuY3Rpb25fdHlwZXM6OmRldGFpbDo6Y29tcG9uZW50c19tcGxfc2VxdWVuY2VfdGFnID4KK3sKKyAgdGVtcGxhdGU8IHR5cGVuYW1lIFMgPiBzdHJ1Y3QgYXBwbHkKKyAgICA6IG1wbDo6YmFjayA8dHlwZW5hbWUgUzo6dHlwZXM+CisgIHsgfTsKK307Cit0ZW1wbGF0ZTw+IHN0cnVjdCBhdF9pbXBsCis8IGZ1bmN0aW9uX3R5cGVzOjpkZXRhaWw6OmNvbXBvbmVudHNfbXBsX3NlcXVlbmNlX3RhZyA+Cit7CisgIHRlbXBsYXRlPCB0eXBlbmFtZSBTLCB0eXBlbmFtZSBOID4gc3RydWN0IGFwcGx5CisgICAgOiBtcGw6OmF0IDx0eXBlbmFtZSBTOjp0eXBlcywgTiA+CisgIHsgfTsKK307Cit0ZW1wbGF0ZTw+IHN0cnVjdCBiZWdpbl9pbXBsCis8IGZ1bmN0aW9uX3R5cGVzOjpkZXRhaWw6OmNvbXBvbmVudHNfbXBsX3NlcXVlbmNlX3RhZyA+Cit7CisgIHRlbXBsYXRlPCB0eXBlbmFtZSBTID4gc3RydWN0IGFwcGx5CisgICAgOiBtcGw6OmJlZ2luIDx0eXBlbmFtZSBTOjp0eXBlcz4KKyAgeyB9OworfTsKK3RlbXBsYXRlPD4gc3RydWN0IGVuZF9pbXBsCis8IGZ1bmN0aW9uX3R5cGVzOjpkZXRhaWw6OmNvbXBvbmVudHNfbXBsX3NlcXVlbmNlX3RhZyA+Cit7CisgIHRlbXBsYXRlPCB0eXBlbmFtZSBTID4gc3RydWN0IGFwcGx5CisgICAgOiBtcGw6OmVuZCA8dHlwZW5hbWUgUzo6dHlwZXM+CisgIHsgfTsKK307Cit0ZW1wbGF0ZTw+IHN0cnVjdCBjbGVhcl9pbXBsCis8IGZ1bmN0aW9uX3R5cGVzOjpkZXRhaWw6OmNvbXBvbmVudHNfbXBsX3NlcXVlbmNlX3RhZyA+Cit7CisgIHRlbXBsYXRlPCB0eXBlbmFtZSBTID4KKyAgc3RydWN0IGFwcGx5CisgICAgOiBTCisgIHsKKyAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6OmNsZWFyPCB0eXBlbmFtZSBTOjp0eXBlcyA+Ojp0eXBlIHR5cGVzOworICB9OworfTsKK3RlbXBsYXRlPD4KK3N0cnVjdCBwdXNoX2Zyb250X2ltcGwKKzwgZnVuY3Rpb25fdHlwZXM6OmRldGFpbDo6Y29tcG9uZW50c19tcGxfc2VxdWVuY2VfdGFnID4KK3sKKyAgdGVtcGxhdGU8IHR5cGVuYW1lIFMsIHR5cGVuYW1lIFQgPgorICBzdHJ1Y3QgYXBwbHkKKyAgICA6IFMKKyAgeyAKKyAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6OnB1c2hfZnJvbnQ8IHR5cGVuYW1lIFM6OnR5cGVzLCBUID46OnR5cGUgdHlwZXM7CisgIH07Cit9OwordGVtcGxhdGU8Pgorc3RydWN0IHBvcF9mcm9udF9pbXBsCis8IGZ1bmN0aW9uX3R5cGVzOjpkZXRhaWw6OmNvbXBvbmVudHNfbXBsX3NlcXVlbmNlX3RhZyA+Cit7CisgIHRlbXBsYXRlPCB0eXBlbmFtZSBTID4KKyAgc3RydWN0IGFwcGx5CisgICAgOiBTCisgIHsKKyAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6OnBvcF9mcm9udDwgdHlwZW5hbWUgUzo6dHlwZXMgPjo6dHlwZSB0eXBlczsgCisgIH07Cit9OwordGVtcGxhdGU8Pgorc3RydWN0IHB1c2hfYmFja19pbXBsCis8IGZ1bmN0aW9uX3R5cGVzOjpkZXRhaWw6OmNvbXBvbmVudHNfbXBsX3NlcXVlbmNlX3RhZyA+Cit7CisgIHRlbXBsYXRlPCB0eXBlbmFtZSBTLCB0eXBlbmFtZSBUID4KKyAgc3RydWN0IGFwcGx5CisgICAgOiBTCisgIHsKKyAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6OnB1c2hfYmFjazwgdHlwZW5hbWUgUzo6dHlwZXMsIFQgPjo6dHlwZSB0eXBlczsgCisgIH07Cit9OwordGVtcGxhdGU8Pgorc3RydWN0IHBvcF9iYWNrX2ltcGwKKzwgZnVuY3Rpb25fdHlwZXM6OmRldGFpbDo6Y29tcG9uZW50c19tcGxfc2VxdWVuY2VfdGFnID4KK3sKKyAgdGVtcGxhdGU8IHR5cGVuYW1lIFMgPgorICBzdHJ1Y3QgYXBwbHkKKyAgICA6IFMKKyAgeworICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6cG9wX2JhY2s8IHR5cGVuYW1lIFM6OnR5cGVzID46OnR5cGUgdHlwZXM7IAorICB9OworfTsKKworfSB9IC8vIG5hbWVzcGFjZSA6Om5kbmJvb3N0OjptcGwKKworI2VuZGlmCisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L2Z1bmN0aW9uX3R5cGVzL2RldGFpbC9jb21wb25lbnRzX2ltcGwvYXJpdHkxMF8wLmhwcCBiL25kbmJvb3N0L2Z1bmN0aW9uX3R5cGVzL2RldGFpbC9jb21wb25lbnRzX2ltcGwvYXJpdHkxMF8wLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mOTZjNmE5Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvZnVuY3Rpb25fdHlwZXMvZGV0YWlsL2NvbXBvbmVudHNfaW1wbC9hcml0eTEwXzAuaHBwCkBAIC0wLDAgKzEsMTMyIEBACisKKy8vIChDKSBDb3B5cmlnaHQgVG9iaWFzIFNjaHdpbmdlcgorLy8KKy8vIFVzZSBtb2RpZmljYXRpb24gYW5kIGRpc3RyaWJ1dGlvbiBhcmUgc3ViamVjdCB0byB0aGUgYm9vc3QgU29mdHdhcmUgTGljZW5zZSwKKy8vIFZlcnNpb24gMS4wLiAoU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkuCisKKy8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKy8vIG5vIGluY2x1ZGUgZ3VhcmRzLCB0aGlzIGZpbGUgaXMgaW50ZW5kZWQgZm9yIG11bHRpcGxlIGluY2x1c2lvbgorCisvLyBpbnB1dDogIEJPT1NUX0ZUX3N5bnRheCAgICAgdHlwZSBtYWNybyB0byB1c2UKKy8vIGlucHV0OiAgQk9PU1RfRlRfY2MgICAgICAgICBlbXB0eSBvciBjYyBzcGVjaWZpZXIgCisvLyBpbnB1dDogIEJPT1NUX0ZUX2VsbCAgICAgICAgZW1wdHkgb3IgIi4uLiIKKy8vIGlucHV0OiAgQk9PU1RfRlRfY3YgICAgICAgICBlbXB0eSBvciBjdiBxdWFsaWZpZXJzCisvLyBpbnB1dDogIEJPT1NUX0ZUX2ZsYWdzICAgICAgc2luZ2xlIGRlY2ltYWwgaW50ZWdlciBlbmNvZGluZyB0aGUgZmxhZ3MKKy8vIG91dHB1dDogQk9PU1RfRlRfbiAgICAgICAgICBudW1iZXIgb2YgY29tcG9uZW50IHR5cGVzIChhcml0eSsxKQorLy8gb3V0cHV0OiBCT09TVF9GVF9hcml0eSAgICAgIGN1cnJlbnQgYXJpdHkKKy8vIG91dHB1dDogQk9PU1RfRlRfdHlwZSAgICAgICBtYWNybyB0aGF0IGV4cGFuZHMgdG8gdGhlIHR5cGUKKy8vIG91dHB1dDogQk9PU1RfRlRfdHBsYXJncyhwKSB0ZW1wbGF0ZSBhcmd1bWVudHMgd2l0aCBnaXZlbiBwcmVmaXgKKy8vIG91dHB1dDogQk9PU1RfRlRfcGFyYW1zKHApICBwYXJhbWV0ZXJzIHdpdGggZ2l2ZW4gcHJlZml4CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBSLCB0eXBlbmFtZSBMPgorc3RydWN0IGNvbXBvbmVudHNfaW1wbDxCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsIEJPT1NUX1BQX0VNUFRZKSAoQk9PU1RfRlRfbnVsbGFyeV9wYXJhbSBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2LCBMPgorewordHlwZWRlZiBlbmNvZGVfYml0czxCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZD4gYml0czsKK3R5cGVkZWYgY29uc3RhbnQ8Qk9PU1RfRlRfZnVsbF9tYXNrPiBtYXNrOwordHlwZWRlZiBmdW5jdGlvbl90eXBlczo6Y29tcG9uZW50czxCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsIEJPT1NUX1BQX0VNUFRZKSAoQk9PU1RfRlRfbnVsbGFyeV9wYXJhbSBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2LCBMPiB0eXBlOwordHlwZWRlZiBjb21wb25lbnRzX21wbF9zZXF1ZW5jZV90YWcgdGFnOwordHlwZWRlZiBtcGw6OmludGVncmFsX2M8c3RkOjpzaXplX3QsMD4gZnVuY3Rpb25fYXJpdHk7Cit0eXBlZGVmIG1wbDo6dmVjdG9yMTwgUiBCT09TVF9GVF9udWxsYXJ5X3BhcmFtID4gdHlwZXM7Cit9OwordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgTD4KK3N0cnVjdCBjb21wb25lbnRzX2ltcGw8Qk9PU1RfRlRfc3ludGF4KEJPT1NUX0ZUX2NjLCBCT09TVF9QUF9FTVBUWSkgKFQwIEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YsIEw+Cit7Cit0eXBlZGVmIGVuY29kZV9iaXRzPEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkPiBiaXRzOwordHlwZWRlZiBjb25zdGFudDxCT09TVF9GVF9mdWxsX21hc2s+IG1hc2s7Cit0eXBlZGVmIGZ1bmN0aW9uX3R5cGVzOjpjb21wb25lbnRzPEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYywgQk9PU1RfUFBfRU1QVFkpIChUMCBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2LCBMPiB0eXBlOwordHlwZWRlZiBjb21wb25lbnRzX21wbF9zZXF1ZW5jZV90YWcgdGFnOwordHlwZWRlZiBtcGw6OmludGVncmFsX2M8c3RkOjpzaXplX3QsMT4gZnVuY3Rpb25fYXJpdHk7Cit0eXBlZGVmIG1wbDo6dmVjdG9yMjwgUiAsIFQwID4gdHlwZXM7Cit9OwordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBMPgorc3RydWN0IGNvbXBvbmVudHNfaW1wbDxCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsIEJPT1NUX1BQX0VNUFRZKSAoVDAgLCBUMSBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2LCBMPgorewordHlwZWRlZiBlbmNvZGVfYml0czxCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZD4gYml0czsKK3R5cGVkZWYgY29uc3RhbnQ8Qk9PU1RfRlRfZnVsbF9tYXNrPiBtYXNrOwordHlwZWRlZiBmdW5jdGlvbl90eXBlczo6Y29tcG9uZW50czxCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsIEJPT1NUX1BQX0VNUFRZKSAoVDAgLCBUMSBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2LCBMPiB0eXBlOwordHlwZWRlZiBjb21wb25lbnRzX21wbF9zZXF1ZW5jZV90YWcgdGFnOwordHlwZWRlZiBtcGw6OmludGVncmFsX2M8c3RkOjpzaXplX3QsMj4gZnVuY3Rpb25fYXJpdHk7Cit0eXBlZGVmIG1wbDo6dmVjdG9yMzwgUiAsIFQwICwgVDEgPiB0eXBlczsKK307Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgUiAsIHR5cGVuYW1lIFQwICwgdHlwZW5hbWUgVDEgLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgTD4KK3N0cnVjdCBjb21wb25lbnRzX2ltcGw8Qk9PU1RfRlRfc3ludGF4KEJPT1NUX0ZUX2NjLCBCT09TVF9QUF9FTVBUWSkgKFQwICwgVDEgLCBUMiBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2LCBMPgorewordHlwZWRlZiBlbmNvZGVfYml0czxCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZD4gYml0czsKK3R5cGVkZWYgY29uc3RhbnQ8Qk9PU1RfRlRfZnVsbF9tYXNrPiBtYXNrOwordHlwZWRlZiBmdW5jdGlvbl90eXBlczo6Y29tcG9uZW50czxCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsIEJPT1NUX1BQX0VNUFRZKSAoVDAgLCBUMSAsIFQyIEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YsIEw+IHR5cGU7Cit0eXBlZGVmIGNvbXBvbmVudHNfbXBsX3NlcXVlbmNlX3RhZyB0YWc7Cit0eXBlZGVmIG1wbDo6aW50ZWdyYWxfYzxzdGQ6OnNpemVfdCwzPiBmdW5jdGlvbl9hcml0eTsKK3R5cGVkZWYgbXBsOjp2ZWN0b3I0PCBSICwgVDAgLCBUMSAsIFQyID4gdHlwZXM7Cit9OwordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIgLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgTD4KK3N0cnVjdCBjb21wb25lbnRzX2ltcGw8Qk9PU1RfRlRfc3ludGF4KEJPT1NUX0ZUX2NjLCBCT09TVF9QUF9FTVBUWSkgKFQwICwgVDEgLCBUMiAsIFQzIEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YsIEw+Cit7Cit0eXBlZGVmIGVuY29kZV9iaXRzPEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkPiBiaXRzOwordHlwZWRlZiBjb25zdGFudDxCT09TVF9GVF9mdWxsX21hc2s+IG1hc2s7Cit0eXBlZGVmIGZ1bmN0aW9uX3R5cGVzOjpjb21wb25lbnRzPEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYywgQk9PU1RfUFBfRU1QVFkpIChUMCAsIFQxICwgVDIgLCBUMyBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2LCBMPiB0eXBlOwordHlwZWRlZiBjb21wb25lbnRzX21wbF9zZXF1ZW5jZV90YWcgdGFnOwordHlwZWRlZiBtcGw6OmludGVncmFsX2M8c3RkOjpzaXplX3QsND4gZnVuY3Rpb25fYXJpdHk7Cit0eXBlZGVmIG1wbDo6dmVjdG9yNTwgUiAsIFQwICwgVDEgLCBUMiAsIFQzID4gdHlwZXM7Cit9OwordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIgLCB0eXBlbmFtZSBUMyAsIHR5cGVuYW1lIFQ0LCB0eXBlbmFtZSBMPgorc3RydWN0IGNvbXBvbmVudHNfaW1wbDxCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsIEJPT1NUX1BQX0VNUFRZKSAoVDAgLCBUMSAsIFQyICwgVDMgLCBUNCBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2LCBMPgorewordHlwZWRlZiBlbmNvZGVfYml0czxCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZD4gYml0czsKK3R5cGVkZWYgY29uc3RhbnQ8Qk9PU1RfRlRfZnVsbF9tYXNrPiBtYXNrOwordHlwZWRlZiBmdW5jdGlvbl90eXBlczo6Y29tcG9uZW50czxCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsIEJPT1NUX1BQX0VNUFRZKSAoVDAgLCBUMSAsIFQyICwgVDMgLCBUNCBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2LCBMPiB0eXBlOwordHlwZWRlZiBjb21wb25lbnRzX21wbF9zZXF1ZW5jZV90YWcgdGFnOwordHlwZWRlZiBtcGw6OmludGVncmFsX2M8c3RkOjpzaXplX3QsNT4gZnVuY3Rpb25fYXJpdHk7Cit0eXBlZGVmIG1wbDo6dmVjdG9yNjwgUiAsIFQwICwgVDEgLCBUMiAsIFQzICwgVDQgPiB0eXBlczsKK307Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgUiAsIHR5cGVuYW1lIFQwICwgdHlwZW5hbWUgVDEgLCB0eXBlbmFtZSBUMiAsIHR5cGVuYW1lIFQzICwgdHlwZW5hbWUgVDQgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgTD4KK3N0cnVjdCBjb21wb25lbnRzX2ltcGw8Qk9PU1RfRlRfc3ludGF4KEJPT1NUX0ZUX2NjLCBCT09TVF9QUF9FTVBUWSkgKFQwICwgVDEgLCBUMiAsIFQzICwgVDQgLCBUNSBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2LCBMPgorewordHlwZWRlZiBlbmNvZGVfYml0czxCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZD4gYml0czsKK3R5cGVkZWYgY29uc3RhbnQ8Qk9PU1RfRlRfZnVsbF9tYXNrPiBtYXNrOwordHlwZWRlZiBmdW5jdGlvbl90eXBlczo6Y29tcG9uZW50czxCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsIEJPT1NUX1BQX0VNUFRZKSAoVDAgLCBUMSAsIFQyICwgVDMgLCBUNCAsIFQ1IEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YsIEw+IHR5cGU7Cit0eXBlZGVmIGNvbXBvbmVudHNfbXBsX3NlcXVlbmNlX3RhZyB0YWc7Cit0eXBlZGVmIG1wbDo6aW50ZWdyYWxfYzxzdGQ6OnNpemVfdCw2PiBmdW5jdGlvbl9hcml0eTsKK3R5cGVkZWYgbXBsOjp2ZWN0b3I3PCBSICwgVDAgLCBUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ID4gdHlwZXM7Cit9OwordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIgLCB0eXBlbmFtZSBUMyAsIHR5cGVuYW1lIFQ0ICwgdHlwZW5hbWUgVDUgLCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgTD4KK3N0cnVjdCBjb21wb25lbnRzX2ltcGw8Qk9PU1RfRlRfc3ludGF4KEJPT1NUX0ZUX2NjLCBCT09TVF9QUF9FTVBUWSkgKFQwICwgVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2IEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YsIEw+Cit7Cit0eXBlZGVmIGVuY29kZV9iaXRzPEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkPiBiaXRzOwordHlwZWRlZiBjb25zdGFudDxCT09TVF9GVF9mdWxsX21hc2s+IG1hc2s7Cit0eXBlZGVmIGZ1bmN0aW9uX3R5cGVzOjpjb21wb25lbnRzPEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYywgQk9PU1RfUFBfRU1QVFkpIChUMCAsIFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2LCBMPiB0eXBlOwordHlwZWRlZiBjb21wb25lbnRzX21wbF9zZXF1ZW5jZV90YWcgdGFnOwordHlwZWRlZiBtcGw6OmludGVncmFsX2M8c3RkOjpzaXplX3QsNz4gZnVuY3Rpb25fYXJpdHk7Cit0eXBlZGVmIG1wbDo6dmVjdG9yODwgUiAsIFQwICwgVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ID4gdHlwZXM7Cit9OwordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIgLCB0eXBlbmFtZSBUMyAsIHR5cGVuYW1lIFQ0ICwgdHlwZW5hbWUgVDUgLCB0eXBlbmFtZSBUNiAsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBMPgorc3RydWN0IGNvbXBvbmVudHNfaW1wbDxCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsIEJPT1NUX1BQX0VNUFRZKSAoVDAgLCBUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2LCBMPgorewordHlwZWRlZiBlbmNvZGVfYml0czxCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZD4gYml0czsKK3R5cGVkZWYgY29uc3RhbnQ8Qk9PU1RfRlRfZnVsbF9tYXNrPiBtYXNrOwordHlwZWRlZiBmdW5jdGlvbl90eXBlczo6Y29tcG9uZW50czxCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsIEJPT1NUX1BQX0VNUFRZKSAoVDAgLCBUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2LCBMPiB0eXBlOwordHlwZWRlZiBjb21wb25lbnRzX21wbF9zZXF1ZW5jZV90YWcgdGFnOwordHlwZWRlZiBtcGw6OmludGVncmFsX2M8c3RkOjpzaXplX3QsOD4gZnVuY3Rpb25fYXJpdHk7Cit0eXBlZGVmIG1wbDo6dmVjdG9yOTwgUiAsIFQwICwgVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgPiB0eXBlczsKK307Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgUiAsIHR5cGVuYW1lIFQwICwgdHlwZW5hbWUgVDEgLCB0eXBlbmFtZSBUMiAsIHR5cGVuYW1lIFQzICwgdHlwZW5hbWUgVDQgLCB0eXBlbmFtZSBUNSAsIHR5cGVuYW1lIFQ2ICwgdHlwZW5hbWUgVDcgLCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgTD4KK3N0cnVjdCBjb21wb25lbnRzX2ltcGw8Qk9PU1RfRlRfc3ludGF4KEJPT1NUX0ZUX2NjLCBCT09TVF9QUF9FTVBUWSkgKFQwICwgVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2LCBMPgorewordHlwZWRlZiBlbmNvZGVfYml0czxCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZD4gYml0czsKK3R5cGVkZWYgY29uc3RhbnQ8Qk9PU1RfRlRfZnVsbF9tYXNrPiBtYXNrOwordHlwZWRlZiBmdW5jdGlvbl90eXBlczo6Y29tcG9uZW50czxCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsIEJPT1NUX1BQX0VNUFRZKSAoVDAgLCBUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4IEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YsIEw+IHR5cGU7Cit0eXBlZGVmIGNvbXBvbmVudHNfbXBsX3NlcXVlbmNlX3RhZyB0YWc7Cit0eXBlZGVmIG1wbDo6aW50ZWdyYWxfYzxzdGQ6OnNpemVfdCw5PiBmdW5jdGlvbl9hcml0eTsKK3R5cGVkZWYgbXBsOjp2ZWN0b3IxMDwgUiAsIFQwICwgVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCA+IHR5cGVzOworfTsKK3RlbXBsYXRlPCB0eXBlbmFtZSBSICwgdHlwZW5hbWUgVDAgLCB0eXBlbmFtZSBUMSAsIHR5cGVuYW1lIFQyICwgdHlwZW5hbWUgVDMgLCB0eXBlbmFtZSBUNCAsIHR5cGVuYW1lIFQ1ICwgdHlwZW5hbWUgVDYgLCB0eXBlbmFtZSBUNyAsIHR5cGVuYW1lIFQ4ICwgdHlwZW5hbWUgVDksIHR5cGVuYW1lIEw+CitzdHJ1Y3QgY29tcG9uZW50c19pbXBsPEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYywgQk9PU1RfUFBfRU1QVFkpIChUMCAsIFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2LCBMPgorewordHlwZWRlZiBlbmNvZGVfYml0czxCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZD4gYml0czsKK3R5cGVkZWYgY29uc3RhbnQ8Qk9PU1RfRlRfZnVsbF9tYXNrPiBtYXNrOwordHlwZWRlZiBmdW5jdGlvbl90eXBlczo6Y29tcG9uZW50czxCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsIEJPT1NUX1BQX0VNUFRZKSAoVDAgLCBUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdiwgTD4gdHlwZTsKK3R5cGVkZWYgY29tcG9uZW50c19tcGxfc2VxdWVuY2VfdGFnIHRhZzsKK3R5cGVkZWYgbXBsOjppbnRlZ3JhbF9jPHN0ZDo6c2l6ZV90LDEwPiBmdW5jdGlvbl9hcml0eTsKK3R5cGVkZWYgbXBsOjp2ZWN0b3IxMTwgUiAsIFQwICwgVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ID4gdHlwZXM7Cit9OworCmRpZmYgLS1naXQgYS9uZG5ib29zdC9mdW5jdGlvbl90eXBlcy9kZXRhaWwvY29tcG9uZW50c19pbXBsL2FyaXR5MTBfMS5ocHAgYi9uZG5ib29zdC9mdW5jdGlvbl90eXBlcy9kZXRhaWwvY29tcG9uZW50c19pbXBsL2FyaXR5MTBfMS5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWIwNmE5NwotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L2Z1bmN0aW9uX3R5cGVzL2RldGFpbC9jb21wb25lbnRzX2ltcGwvYXJpdHkxMF8xLmhwcApAQCAtMCwwICsxLDEyMiBAQAorCisvLyAoQykgQ29weXJpZ2h0IFRvYmlhcyBTY2h3aW5nZXIKKy8vCisvLyBVc2UgbW9kaWZpY2F0aW9uIGFuZCBkaXN0cmlidXRpb24gYXJlIHN1YmplY3QgdG8gdGhlIGJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsCisvLyBWZXJzaW9uIDEuMC4gKFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpLgorCisvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisvLyBubyBpbmNsdWRlIGd1YXJkcywgdGhpcyBmaWxlIGlzIGludGVuZGVkIGZvciBtdWx0aXBsZSBpbmNsdXNpb24KKworLy8gaW5wdXQ6ICBCT09TVF9GVF9zeW50YXggICAgIHR5cGUgbWFjcm8gdG8gdXNlCisvLyBpbnB1dDogIEJPT1NUX0ZUX2NjICAgICAgICAgZW1wdHkgb3IgY2Mgc3BlY2lmaWVyIAorLy8gaW5wdXQ6ICBCT09TVF9GVF9lbGwgICAgICAgIGVtcHR5IG9yICIuLi4iCisvLyBpbnB1dDogIEJPT1NUX0ZUX2N2ICAgICAgICAgZW1wdHkgb3IgY3YgcXVhbGlmaWVycworLy8gaW5wdXQ6ICBCT09TVF9GVF9mbGFncyAgICAgIHNpbmdsZSBkZWNpbWFsIGludGVnZXIgZW5jb2RpbmcgdGhlIGZsYWdzCisvLyBvdXRwdXQ6IEJPT1NUX0ZUX24gICAgICAgICAgbnVtYmVyIG9mIGNvbXBvbmVudCB0eXBlcyAoYXJpdHkrMSkKKy8vIG91dHB1dDogQk9PU1RfRlRfYXJpdHkgICAgICBjdXJyZW50IGFyaXR5CisvLyBvdXRwdXQ6IEJPT1NUX0ZUX3R5cGUgICAgICAgbWFjcm8gdGhhdCBleHBhbmRzIHRvIHRoZSB0eXBlCisvLyBvdXRwdXQ6IEJPT1NUX0ZUX3RwbGFyZ3MocCkgdGVtcGxhdGUgYXJndW1lbnRzIHdpdGggZ2l2ZW4gcHJlZml4CisvLyBvdXRwdXQ6IEJPT1NUX0ZUX3BhcmFtcyhwKSAgcGFyYW1ldGVycyB3aXRoIGdpdmVuIHByZWZpeAorCit0ZW1wbGF0ZTwgdHlwZW5hbWUgUiAsIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBMPgorc3RydWN0IGNvbXBvbmVudHNfaW1wbDxCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsIEJPT1NUX1BQX0VNUFRZKSAoIEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YsIEw+Cit7Cit0eXBlZGVmIGVuY29kZV9iaXRzPEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkPiBiaXRzOwordHlwZWRlZiBjb25zdGFudDxCT09TVF9GVF9mdWxsX21hc2s+IG1hc2s7Cit0eXBlZGVmIGZ1bmN0aW9uX3R5cGVzOjpjb21wb25lbnRzPEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYywgQk9PU1RfUFBfRU1QVFkpICggQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdiwgTD4gdHlwZTsKK3R5cGVkZWYgY29tcG9uZW50c19tcGxfc2VxdWVuY2VfdGFnIHRhZzsKK3R5cGVkZWYgbXBsOjppbnRlZ3JhbF9jPHN0ZDo6c2l6ZV90LDE+IGZ1bmN0aW9uX2FyaXR5OwordHlwZWRlZiBtcGw6OnZlY3RvcjI8IFIsIHR5cGVuYW1lIGNsYXNzX3RyYW5zZm9ybTxUMCBCT09TVF9GVF9jdiwgTD4gOjp0eXBlID4gdHlwZXM7Cit9OwordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBMPgorc3RydWN0IGNvbXBvbmVudHNfaW1wbDxCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsIEJPT1NUX1BQX0VNUFRZKSAoVDEgQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdiwgTD4KK3sKK3R5cGVkZWYgZW5jb2RlX2JpdHM8Qk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQ+IGJpdHM7Cit0eXBlZGVmIGNvbnN0YW50PEJPT1NUX0ZUX2Z1bGxfbWFzaz4gbWFzazsKK3R5cGVkZWYgZnVuY3Rpb25fdHlwZXM6OmNvbXBvbmVudHM8Qk9PU1RfRlRfc3ludGF4KEJPT1NUX0ZUX2NjLCBCT09TVF9QUF9FTVBUWSkgKFQxIEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YsIEw+IHR5cGU7Cit0eXBlZGVmIGNvbXBvbmVudHNfbXBsX3NlcXVlbmNlX3RhZyB0YWc7Cit0eXBlZGVmIG1wbDo6aW50ZWdyYWxfYzxzdGQ6OnNpemVfdCwyPiBmdW5jdGlvbl9hcml0eTsKK3R5cGVkZWYgbXBsOjp2ZWN0b3IzPCBSLCB0eXBlbmFtZSBjbGFzc190cmFuc2Zvcm08VDAgQk9PU1RfRlRfY3YsIEw+IDo6dHlwZSAsIFQxID4gdHlwZXM7Cit9OwordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIEw+CitzdHJ1Y3QgY29tcG9uZW50c19pbXBsPEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYywgQk9PU1RfUFBfRU1QVFkpIChUMSAsIFQyIEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YsIEw+Cit7Cit0eXBlZGVmIGVuY29kZV9iaXRzPEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkPiBiaXRzOwordHlwZWRlZiBjb25zdGFudDxCT09TVF9GVF9mdWxsX21hc2s+IG1hc2s7Cit0eXBlZGVmIGZ1bmN0aW9uX3R5cGVzOjpjb21wb25lbnRzPEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYywgQk9PU1RfUFBfRU1QVFkpIChUMSAsIFQyIEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YsIEw+IHR5cGU7Cit0eXBlZGVmIGNvbXBvbmVudHNfbXBsX3NlcXVlbmNlX3RhZyB0YWc7Cit0eXBlZGVmIG1wbDo6aW50ZWdyYWxfYzxzdGQ6OnNpemVfdCwzPiBmdW5jdGlvbl9hcml0eTsKK3R5cGVkZWYgbXBsOjp2ZWN0b3I0PCBSLCB0eXBlbmFtZSBjbGFzc190cmFuc2Zvcm08VDAgQk9PU1RfRlRfY3YsIEw+IDo6dHlwZSAsIFQxICwgVDIgPiB0eXBlczsKK307Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgUiAsIHR5cGVuYW1lIFQwICwgdHlwZW5hbWUgVDEgLCB0eXBlbmFtZSBUMiAsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBMPgorc3RydWN0IGNvbXBvbmVudHNfaW1wbDxCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsIEJPT1NUX1BQX0VNUFRZKSAoVDEgLCBUMiAsIFQzIEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YsIEw+Cit7Cit0eXBlZGVmIGVuY29kZV9iaXRzPEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkPiBiaXRzOwordHlwZWRlZiBjb25zdGFudDxCT09TVF9GVF9mdWxsX21hc2s+IG1hc2s7Cit0eXBlZGVmIGZ1bmN0aW9uX3R5cGVzOjpjb21wb25lbnRzPEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYywgQk9PU1RfUFBfRU1QVFkpIChUMSAsIFQyICwgVDMgQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdiwgTD4gdHlwZTsKK3R5cGVkZWYgY29tcG9uZW50c19tcGxfc2VxdWVuY2VfdGFnIHRhZzsKK3R5cGVkZWYgbXBsOjppbnRlZ3JhbF9jPHN0ZDo6c2l6ZV90LDQ+IGZ1bmN0aW9uX2FyaXR5OwordHlwZWRlZiBtcGw6OnZlY3RvcjU8IFIsIHR5cGVuYW1lIGNsYXNzX3RyYW5zZm9ybTxUMCBCT09TVF9GVF9jdiwgTD4gOjp0eXBlICwgVDEgLCBUMiAsIFQzID4gdHlwZXM7Cit9OwordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIgLCB0eXBlbmFtZSBUMyAsIHR5cGVuYW1lIFQ0LCB0eXBlbmFtZSBMPgorc3RydWN0IGNvbXBvbmVudHNfaW1wbDxCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsIEJPT1NUX1BQX0VNUFRZKSAoVDEgLCBUMiAsIFQzICwgVDQgQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdiwgTD4KK3sKK3R5cGVkZWYgZW5jb2RlX2JpdHM8Qk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQ+IGJpdHM7Cit0eXBlZGVmIGNvbnN0YW50PEJPT1NUX0ZUX2Z1bGxfbWFzaz4gbWFzazsKK3R5cGVkZWYgZnVuY3Rpb25fdHlwZXM6OmNvbXBvbmVudHM8Qk9PU1RfRlRfc3ludGF4KEJPT1NUX0ZUX2NjLCBCT09TVF9QUF9FTVBUWSkgKFQxICwgVDIgLCBUMyAsIFQ0IEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YsIEw+IHR5cGU7Cit0eXBlZGVmIGNvbXBvbmVudHNfbXBsX3NlcXVlbmNlX3RhZyB0YWc7Cit0eXBlZGVmIG1wbDo6aW50ZWdyYWxfYzxzdGQ6OnNpemVfdCw1PiBmdW5jdGlvbl9hcml0eTsKK3R5cGVkZWYgbXBsOjp2ZWN0b3I2PCBSLCB0eXBlbmFtZSBjbGFzc190cmFuc2Zvcm08VDAgQk9PU1RfRlRfY3YsIEw+IDo6dHlwZSAsIFQxICwgVDIgLCBUMyAsIFQ0ID4gdHlwZXM7Cit9OwordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIgLCB0eXBlbmFtZSBUMyAsIHR5cGVuYW1lIFQ0ICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIEw+CitzdHJ1Y3QgY29tcG9uZW50c19pbXBsPEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYywgQk9PU1RfUFBfRU1QVFkpIChUMSAsIFQyICwgVDMgLCBUNCAsIFQ1IEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YsIEw+Cit7Cit0eXBlZGVmIGVuY29kZV9iaXRzPEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkPiBiaXRzOwordHlwZWRlZiBjb25zdGFudDxCT09TVF9GVF9mdWxsX21hc2s+IG1hc2s7Cit0eXBlZGVmIGZ1bmN0aW9uX3R5cGVzOjpjb21wb25lbnRzPEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYywgQk9PU1RfUFBfRU1QVFkpIChUMSAsIFQyICwgVDMgLCBUNCAsIFQ1IEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YsIEw+IHR5cGU7Cit0eXBlZGVmIGNvbXBvbmVudHNfbXBsX3NlcXVlbmNlX3RhZyB0YWc7Cit0eXBlZGVmIG1wbDo6aW50ZWdyYWxfYzxzdGQ6OnNpemVfdCw2PiBmdW5jdGlvbl9hcml0eTsKK3R5cGVkZWYgbXBsOjp2ZWN0b3I3PCBSLCB0eXBlbmFtZSBjbGFzc190cmFuc2Zvcm08VDAgQk9PU1RfRlRfY3YsIEw+IDo6dHlwZSAsIFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgPiB0eXBlczsKK307Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgUiAsIHR5cGVuYW1lIFQwICwgdHlwZW5hbWUgVDEgLCB0eXBlbmFtZSBUMiAsIHR5cGVuYW1lIFQzICwgdHlwZW5hbWUgVDQgLCB0eXBlbmFtZSBUNSAsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBMPgorc3RydWN0IGNvbXBvbmVudHNfaW1wbDxCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsIEJPT1NUX1BQX0VNUFRZKSAoVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2IEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YsIEw+Cit7Cit0eXBlZGVmIGVuY29kZV9iaXRzPEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkPiBiaXRzOwordHlwZWRlZiBjb25zdGFudDxCT09TVF9GVF9mdWxsX21hc2s+IG1hc2s7Cit0eXBlZGVmIGZ1bmN0aW9uX3R5cGVzOjpjb21wb25lbnRzPEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYywgQk9PU1RfUFBfRU1QVFkpIChUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdiwgTD4gdHlwZTsKK3R5cGVkZWYgY29tcG9uZW50c19tcGxfc2VxdWVuY2VfdGFnIHRhZzsKK3R5cGVkZWYgbXBsOjppbnRlZ3JhbF9jPHN0ZDo6c2l6ZV90LDc+IGZ1bmN0aW9uX2FyaXR5OwordHlwZWRlZiBtcGw6OnZlY3Rvcjg8IFIsIHR5cGVuYW1lIGNsYXNzX3RyYW5zZm9ybTxUMCBCT09TVF9GVF9jdiwgTD4gOjp0eXBlICwgVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ID4gdHlwZXM7Cit9OwordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIgLCB0eXBlbmFtZSBUMyAsIHR5cGVuYW1lIFQ0ICwgdHlwZW5hbWUgVDUgLCB0eXBlbmFtZSBUNiAsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBMPgorc3RydWN0IGNvbXBvbmVudHNfaW1wbDxCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsIEJPT1NUX1BQX0VNUFRZKSAoVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdiwgTD4KK3sKK3R5cGVkZWYgZW5jb2RlX2JpdHM8Qk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQ+IGJpdHM7Cit0eXBlZGVmIGNvbnN0YW50PEJPT1NUX0ZUX2Z1bGxfbWFzaz4gbWFzazsKK3R5cGVkZWYgZnVuY3Rpb25fdHlwZXM6OmNvbXBvbmVudHM8Qk9PU1RfRlRfc3ludGF4KEJPT1NUX0ZUX2NjLCBCT09TVF9QUF9FTVBUWSkgKFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3IEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YsIEw+IHR5cGU7Cit0eXBlZGVmIGNvbXBvbmVudHNfbXBsX3NlcXVlbmNlX3RhZyB0YWc7Cit0eXBlZGVmIG1wbDo6aW50ZWdyYWxfYzxzdGQ6OnNpemVfdCw4PiBmdW5jdGlvbl9hcml0eTsKK3R5cGVkZWYgbXBsOjp2ZWN0b3I5PCBSLCB0eXBlbmFtZSBjbGFzc190cmFuc2Zvcm08VDAgQk9PU1RfRlRfY3YsIEw+IDo6dHlwZSAsIFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ID4gdHlwZXM7Cit9OwordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIgLCB0eXBlbmFtZSBUMyAsIHR5cGVuYW1lIFQ0ICwgdHlwZW5hbWUgVDUgLCB0eXBlbmFtZSBUNiAsIHR5cGVuYW1lIFQ3ICwgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIEw+CitzdHJ1Y3QgY29tcG9uZW50c19pbXBsPEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYywgQk9PU1RfUFBfRU1QVFkpIChUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4IEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YsIEw+Cit7Cit0eXBlZGVmIGVuY29kZV9iaXRzPEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkPiBiaXRzOwordHlwZWRlZiBjb25zdGFudDxCT09TVF9GVF9mdWxsX21hc2s+IG1hc2s7Cit0eXBlZGVmIGZ1bmN0aW9uX3R5cGVzOjpjb21wb25lbnRzPEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYywgQk9PU1RfUFBfRU1QVFkpIChUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4IEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YsIEw+IHR5cGU7Cit0eXBlZGVmIGNvbXBvbmVudHNfbXBsX3NlcXVlbmNlX3RhZyB0YWc7Cit0eXBlZGVmIG1wbDo6aW50ZWdyYWxfYzxzdGQ6OnNpemVfdCw5PiBmdW5jdGlvbl9hcml0eTsKK3R5cGVkZWYgbXBsOjp2ZWN0b3IxMDwgUiwgdHlwZW5hbWUgY2xhc3NfdHJhbnNmb3JtPFQwIEJPT1NUX0ZUX2N2LCBMPiA6OnR5cGUgLCBUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ID4gdHlwZXM7Cit9OwordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIgLCB0eXBlbmFtZSBUMyAsIHR5cGVuYW1lIFQ0ICwgdHlwZW5hbWUgVDUgLCB0eXBlbmFtZSBUNiAsIHR5cGVuYW1lIFQ3ICwgdHlwZW5hbWUgVDggLCB0eXBlbmFtZSBUOSwgdHlwZW5hbWUgTD4KK3N0cnVjdCBjb21wb25lbnRzX2ltcGw8Qk9PU1RfRlRfc3ludGF4KEJPT1NUX0ZUX2NjLCBCT09TVF9QUF9FTVBUWSkgKFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2LCBMPgorewordHlwZWRlZiBlbmNvZGVfYml0czxCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZD4gYml0czsKK3R5cGVkZWYgY29uc3RhbnQ8Qk9PU1RfRlRfZnVsbF9tYXNrPiBtYXNrOwordHlwZWRlZiBmdW5jdGlvbl90eXBlczo6Y29tcG9uZW50czxCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsIEJPT1NUX1BQX0VNUFRZKSAoVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5IEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YsIEw+IHR5cGU7Cit0eXBlZGVmIGNvbXBvbmVudHNfbXBsX3NlcXVlbmNlX3RhZyB0YWc7Cit0eXBlZGVmIG1wbDo6aW50ZWdyYWxfYzxzdGQ6OnNpemVfdCwxMD4gZnVuY3Rpb25fYXJpdHk7Cit0eXBlZGVmIG1wbDo6dmVjdG9yMTE8IFIsIHR5cGVuYW1lIGNsYXNzX3RyYW5zZm9ybTxUMCBCT09TVF9GVF9jdiwgTD4gOjp0eXBlICwgVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ID4gdHlwZXM7Cit9OworCmRpZmYgLS1naXQgYS9uZG5ib29zdC9mdW5jdGlvbl90eXBlcy9kZXRhaWwvY29tcG9uZW50c19pbXBsL2FyaXR5MjBfMC5ocHAgYi9uZG5ib29zdC9mdW5jdGlvbl90eXBlcy9kZXRhaWwvY29tcG9uZW50c19pbXBsL2FyaXR5MjBfMC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjM2NzBjNgotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L2Z1bmN0aW9uX3R5cGVzL2RldGFpbC9jb21wb25lbnRzX2ltcGwvYXJpdHkyMF8wLmhwcApAQCAtMCwwICsxLDEyMyBAQAorCisvLyAoQykgQ29weXJpZ2h0IFRvYmlhcyBTY2h3aW5nZXIKKy8vCisvLyBVc2UgbW9kaWZpY2F0aW9uIGFuZCBkaXN0cmlidXRpb24gYXJlIHN1YmplY3QgdG8gdGhlIGJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsCisvLyBWZXJzaW9uIDEuMC4gKFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpLgorCisvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisvLyBubyBpbmNsdWRlIGd1YXJkcywgdGhpcyBmaWxlIGlzIGludGVuZGVkIGZvciBtdWx0aXBsZSBpbmNsdXNpb24KKworLy8gaW5wdXQ6ICBCT09TVF9GVF9zeW50YXggICAgIHR5cGUgbWFjcm8gdG8gdXNlCisvLyBpbnB1dDogIEJPT1NUX0ZUX2NjICAgICAgICAgZW1wdHkgb3IgY2Mgc3BlY2lmaWVyIAorLy8gaW5wdXQ6ICBCT09TVF9GVF9lbGwgICAgICAgIGVtcHR5IG9yICIuLi4iCisvLyBpbnB1dDogIEJPT1NUX0ZUX2N2ICAgICAgICAgZW1wdHkgb3IgY3YgcXVhbGlmaWVycworLy8gaW5wdXQ6ICBCT09TVF9GVF9mbGFncyAgICAgIHNpbmdsZSBkZWNpbWFsIGludGVnZXIgZW5jb2RpbmcgdGhlIGZsYWdzCisvLyBvdXRwdXQ6IEJPT1NUX0ZUX24gICAgICAgICAgbnVtYmVyIG9mIGNvbXBvbmVudCB0eXBlcyAoYXJpdHkrMSkKKy8vIG91dHB1dDogQk9PU1RfRlRfYXJpdHkgICAgICBjdXJyZW50IGFyaXR5CisvLyBvdXRwdXQ6IEJPT1NUX0ZUX3R5cGUgICAgICAgbWFjcm8gdGhhdCBleHBhbmRzIHRvIHRoZSB0eXBlCisvLyBvdXRwdXQ6IEJPT1NUX0ZUX3RwbGFyZ3MocCkgdGVtcGxhdGUgYXJndW1lbnRzIHdpdGggZ2l2ZW4gcHJlZml4CisvLyBvdXRwdXQ6IEJPT1NUX0ZUX3BhcmFtcyhwKSAgcGFyYW1ldGVycyB3aXRoIGdpdmVuIHByZWZpeAorCisjIGluY2x1ZGUgPG5kbmJvb3N0L2Z1bmN0aW9uX3R5cGVzL2RldGFpbC9jb21wb25lbnRzX2ltcGwvYXJpdHkxMF8wLmhwcD4KK3RlbXBsYXRlPCB0eXBlbmFtZSBSICwgdHlwZW5hbWUgVDAgLCB0eXBlbmFtZSBUMSAsIHR5cGVuYW1lIFQyICwgdHlwZW5hbWUgVDMgLCB0eXBlbmFtZSBUNCAsIHR5cGVuYW1lIFQ1ICwgdHlwZW5hbWUgVDYgLCB0eXBlbmFtZSBUNyAsIHR5cGVuYW1lIFQ4ICwgdHlwZW5hbWUgVDkgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIEw+CitzdHJ1Y3QgY29tcG9uZW50c19pbXBsPEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYywgQk9PU1RfUFBfRU1QVFkpIChUMCAsIFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2LCBMPgorewordHlwZWRlZiBlbmNvZGVfYml0czxCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZD4gYml0czsKK3R5cGVkZWYgY29uc3RhbnQ8Qk9PU1RfRlRfZnVsbF9tYXNrPiBtYXNrOwordHlwZWRlZiBmdW5jdGlvbl90eXBlczo6Y29tcG9uZW50czxCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsIEJPT1NUX1BQX0VNUFRZKSAoVDAgLCBUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdiwgTD4gdHlwZTsKK3R5cGVkZWYgY29tcG9uZW50c19tcGxfc2VxdWVuY2VfdGFnIHRhZzsKK3R5cGVkZWYgbXBsOjppbnRlZ3JhbF9jPHN0ZDo6c2l6ZV90LDExPiBmdW5jdGlvbl9hcml0eTsKK3R5cGVkZWYgbXBsOjp2ZWN0b3IxMjwgUiAsIFQwICwgVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwID4gdHlwZXM7Cit9OwordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIgLCB0eXBlbmFtZSBUMyAsIHR5cGVuYW1lIFQ0ICwgdHlwZW5hbWUgVDUgLCB0eXBlbmFtZSBUNiAsIHR5cGVuYW1lIFQ3ICwgdHlwZW5hbWUgVDggLCB0eXBlbmFtZSBUOSAsIHR5cGVuYW1lIFQxMCAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgTD4KK3N0cnVjdCBjb21wb25lbnRzX2ltcGw8Qk9PU1RfRlRfc3ludGF4KEJPT1NUX0ZUX2NjLCBCT09TVF9QUF9FTVBUWSkgKFQwICwgVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExIEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YsIEw+Cit7Cit0eXBlZGVmIGVuY29kZV9iaXRzPEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkPiBiaXRzOwordHlwZWRlZiBjb25zdGFudDxCT09TVF9GVF9mdWxsX21hc2s+IG1hc2s7Cit0eXBlZGVmIGZ1bmN0aW9uX3R5cGVzOjpjb21wb25lbnRzPEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYywgQk9PU1RfUFBfRU1QVFkpIChUMCAsIFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2LCBMPiB0eXBlOwordHlwZWRlZiBjb21wb25lbnRzX21wbF9zZXF1ZW5jZV90YWcgdGFnOwordHlwZWRlZiBtcGw6OmludGVncmFsX2M8c3RkOjpzaXplX3QsMTI+IGZ1bmN0aW9uX2FyaXR5OwordHlwZWRlZiBtcGw6OnZlY3RvcjEzPCBSICwgVDAgLCBUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgPiB0eXBlczsKK307Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgUiAsIHR5cGVuYW1lIFQwICwgdHlwZW5hbWUgVDEgLCB0eXBlbmFtZSBUMiAsIHR5cGVuYW1lIFQzICwgdHlwZW5hbWUgVDQgLCB0eXBlbmFtZSBUNSAsIHR5cGVuYW1lIFQ2ICwgdHlwZW5hbWUgVDcgLCB0eXBlbmFtZSBUOCAsIHR5cGVuYW1lIFQ5ICwgdHlwZW5hbWUgVDEwICwgdHlwZW5hbWUgVDExICwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBMPgorc3RydWN0IGNvbXBvbmVudHNfaW1wbDxCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsIEJPT1NUX1BQX0VNUFRZKSAoVDAgLCBUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgLCBUMTIgQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdiwgTD4KK3sKK3R5cGVkZWYgZW5jb2RlX2JpdHM8Qk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQ+IGJpdHM7Cit0eXBlZGVmIGNvbnN0YW50PEJPT1NUX0ZUX2Z1bGxfbWFzaz4gbWFzazsKK3R5cGVkZWYgZnVuY3Rpb25fdHlwZXM6OmNvbXBvbmVudHM8Qk9PU1RfRlRfc3ludGF4KEJPT1NUX0ZUX2NjLCBCT09TVF9QUF9FTVBUWSkgKFQwICwgVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyIEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YsIEw+IHR5cGU7Cit0eXBlZGVmIGNvbXBvbmVudHNfbXBsX3NlcXVlbmNlX3RhZyB0YWc7Cit0eXBlZGVmIG1wbDo6aW50ZWdyYWxfYzxzdGQ6OnNpemVfdCwxMz4gZnVuY3Rpb25fYXJpdHk7Cit0eXBlZGVmIG1wbDo6dmVjdG9yMTQ8IFIgLCBUMCAsIFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiA+IHR5cGVzOworfTsKK3RlbXBsYXRlPCB0eXBlbmFtZSBSICwgdHlwZW5hbWUgVDAgLCB0eXBlbmFtZSBUMSAsIHR5cGVuYW1lIFQyICwgdHlwZW5hbWUgVDMgLCB0eXBlbmFtZSBUNCAsIHR5cGVuYW1lIFQ1ICwgdHlwZW5hbWUgVDYgLCB0eXBlbmFtZSBUNyAsIHR5cGVuYW1lIFQ4ICwgdHlwZW5hbWUgVDkgLCB0eXBlbmFtZSBUMTAgLCB0eXBlbmFtZSBUMTEgLCB0eXBlbmFtZSBUMTIgLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIEw+CitzdHJ1Y3QgY29tcG9uZW50c19pbXBsPEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYywgQk9PU1RfUFBfRU1QVFkpIChUMCAsIFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2LCBMPgorewordHlwZWRlZiBlbmNvZGVfYml0czxCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZD4gYml0czsKK3R5cGVkZWYgY29uc3RhbnQ8Qk9PU1RfRlRfZnVsbF9tYXNrPiBtYXNrOwordHlwZWRlZiBmdW5jdGlvbl90eXBlczo6Y29tcG9uZW50czxCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsIEJPT1NUX1BQX0VNUFRZKSAoVDAgLCBUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgLCBUMTIgLCBUMTMgQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdiwgTD4gdHlwZTsKK3R5cGVkZWYgY29tcG9uZW50c19tcGxfc2VxdWVuY2VfdGFnIHRhZzsKK3R5cGVkZWYgbXBsOjppbnRlZ3JhbF9jPHN0ZDo6c2l6ZV90LDE0PiBmdW5jdGlvbl9hcml0eTsKK3R5cGVkZWYgbXBsOjp2ZWN0b3IxNTwgUiAsIFQwICwgVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzID4gdHlwZXM7Cit9OwordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIgLCB0eXBlbmFtZSBUMyAsIHR5cGVuYW1lIFQ0ICwgdHlwZW5hbWUgVDUgLCB0eXBlbmFtZSBUNiAsIHR5cGVuYW1lIFQ3ICwgdHlwZW5hbWUgVDggLCB0eXBlbmFtZSBUOSAsIHR5cGVuYW1lIFQxMCAsIHR5cGVuYW1lIFQxMSAsIHR5cGVuYW1lIFQxMiAsIHR5cGVuYW1lIFQxMyAsIHR5cGVuYW1lIFQxNCwgdHlwZW5hbWUgTD4KK3N0cnVjdCBjb21wb25lbnRzX2ltcGw8Qk9PU1RfRlRfc3ludGF4KEJPT1NUX0ZUX2NjLCBCT09TVF9QUF9FTVBUWSkgKFQwICwgVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzICwgVDE0IEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YsIEw+Cit7Cit0eXBlZGVmIGVuY29kZV9iaXRzPEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkPiBiaXRzOwordHlwZWRlZiBjb25zdGFudDxCT09TVF9GVF9mdWxsX21hc2s+IG1hc2s7Cit0eXBlZGVmIGZ1bmN0aW9uX3R5cGVzOjpjb21wb25lbnRzPEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYywgQk9PU1RfUFBfRU1QVFkpIChUMCAsIFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2LCBMPiB0eXBlOwordHlwZWRlZiBjb21wb25lbnRzX21wbF9zZXF1ZW5jZV90YWcgdGFnOwordHlwZWRlZiBtcGw6OmludGVncmFsX2M8c3RkOjpzaXplX3QsMTU+IGZ1bmN0aW9uX2FyaXR5OwordHlwZWRlZiBtcGw6OnZlY3RvcjE2PCBSICwgVDAgLCBUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgLCBUMTIgLCBUMTMgLCBUMTQgPiB0eXBlczsKK307Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgUiAsIHR5cGVuYW1lIFQwICwgdHlwZW5hbWUgVDEgLCB0eXBlbmFtZSBUMiAsIHR5cGVuYW1lIFQzICwgdHlwZW5hbWUgVDQgLCB0eXBlbmFtZSBUNSAsIHR5cGVuYW1lIFQ2ICwgdHlwZW5hbWUgVDcgLCB0eXBlbmFtZSBUOCAsIHR5cGVuYW1lIFQ5ICwgdHlwZW5hbWUgVDEwICwgdHlwZW5hbWUgVDExICwgdHlwZW5hbWUgVDEyICwgdHlwZW5hbWUgVDEzICwgdHlwZW5hbWUgVDE0ICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBMPgorc3RydWN0IGNvbXBvbmVudHNfaW1wbDxCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsIEJPT1NUX1BQX0VNUFRZKSAoVDAgLCBUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgLCBUMTIgLCBUMTMgLCBUMTQgLCBUMTUgQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdiwgTD4KK3sKK3R5cGVkZWYgZW5jb2RlX2JpdHM8Qk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQ+IGJpdHM7Cit0eXBlZGVmIGNvbnN0YW50PEJPT1NUX0ZUX2Z1bGxfbWFzaz4gbWFzazsKK3R5cGVkZWYgZnVuY3Rpb25fdHlwZXM6OmNvbXBvbmVudHM8Qk9PU1RfRlRfc3ludGF4KEJPT1NUX0ZUX2NjLCBCT09TVF9QUF9FTVBUWSkgKFQwICwgVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzICwgVDE0ICwgVDE1IEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YsIEw+IHR5cGU7Cit0eXBlZGVmIGNvbXBvbmVudHNfbXBsX3NlcXVlbmNlX3RhZyB0YWc7Cit0eXBlZGVmIG1wbDo6aW50ZWdyYWxfYzxzdGQ6OnNpemVfdCwxNj4gZnVuY3Rpb25fYXJpdHk7Cit0eXBlZGVmIG1wbDo6dmVjdG9yMTc8IFIgLCBUMCAsIFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSA+IHR5cGVzOworfTsKK3RlbXBsYXRlPCB0eXBlbmFtZSBSICwgdHlwZW5hbWUgVDAgLCB0eXBlbmFtZSBUMSAsIHR5cGVuYW1lIFQyICwgdHlwZW5hbWUgVDMgLCB0eXBlbmFtZSBUNCAsIHR5cGVuYW1lIFQ1ICwgdHlwZW5hbWUgVDYgLCB0eXBlbmFtZSBUNyAsIHR5cGVuYW1lIFQ4ICwgdHlwZW5hbWUgVDkgLCB0eXBlbmFtZSBUMTAgLCB0eXBlbmFtZSBUMTEgLCB0eXBlbmFtZSBUMTIgLCB0eXBlbmFtZSBUMTMgLCB0eXBlbmFtZSBUMTQgLCB0eXBlbmFtZSBUMTUgLCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIEw+CitzdHJ1Y3QgY29tcG9uZW50c19pbXBsPEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYywgQk9PU1RfUFBfRU1QVFkpIChUMCAsIFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2LCBMPgorewordHlwZWRlZiBlbmNvZGVfYml0czxCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZD4gYml0czsKK3R5cGVkZWYgY29uc3RhbnQ8Qk9PU1RfRlRfZnVsbF9tYXNrPiBtYXNrOwordHlwZWRlZiBmdW5jdGlvbl90eXBlczo6Y29tcG9uZW50czxCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsIEJPT1NUX1BQX0VNUFRZKSAoVDAgLCBUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgLCBUMTIgLCBUMTMgLCBUMTQgLCBUMTUgLCBUMTYgQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdiwgTD4gdHlwZTsKK3R5cGVkZWYgY29tcG9uZW50c19tcGxfc2VxdWVuY2VfdGFnIHRhZzsKK3R5cGVkZWYgbXBsOjppbnRlZ3JhbF9jPHN0ZDo6c2l6ZV90LDE3PiBmdW5jdGlvbl9hcml0eTsKK3R5cGVkZWYgbXBsOjp2ZWN0b3IxODwgUiAsIFQwICwgVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzICwgVDE0ICwgVDE1ICwgVDE2ID4gdHlwZXM7Cit9OwordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIgLCB0eXBlbmFtZSBUMyAsIHR5cGVuYW1lIFQ0ICwgdHlwZW5hbWUgVDUgLCB0eXBlbmFtZSBUNiAsIHR5cGVuYW1lIFQ3ICwgdHlwZW5hbWUgVDggLCB0eXBlbmFtZSBUOSAsIHR5cGVuYW1lIFQxMCAsIHR5cGVuYW1lIFQxMSAsIHR5cGVuYW1lIFQxMiAsIHR5cGVuYW1lIFQxMyAsIHR5cGVuYW1lIFQxNCAsIHR5cGVuYW1lIFQxNSAsIHR5cGVuYW1lIFQxNiAsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgTD4KK3N0cnVjdCBjb21wb25lbnRzX2ltcGw8Qk9PU1RfRlRfc3ludGF4KEJPT1NUX0ZUX2NjLCBCT09TVF9QUF9FTVBUWSkgKFQwICwgVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzICwgVDE0ICwgVDE1ICwgVDE2ICwgVDE3IEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YsIEw+Cit7Cit0eXBlZGVmIGVuY29kZV9iaXRzPEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkPiBiaXRzOwordHlwZWRlZiBjb25zdGFudDxCT09TVF9GVF9mdWxsX21hc2s+IG1hc2s7Cit0eXBlZGVmIGZ1bmN0aW9uX3R5cGVzOjpjb21wb25lbnRzPEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYywgQk9PU1RfUFBfRU1QVFkpIChUMCAsIFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2LCBMPiB0eXBlOwordHlwZWRlZiBjb21wb25lbnRzX21wbF9zZXF1ZW5jZV90YWcgdGFnOwordHlwZWRlZiBtcGw6OmludGVncmFsX2M8c3RkOjpzaXplX3QsMTg+IGZ1bmN0aW9uX2FyaXR5OwordHlwZWRlZiBtcGw6OnZlY3RvcjE5PCBSICwgVDAgLCBUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgLCBUMTIgLCBUMTMgLCBUMTQgLCBUMTUgLCBUMTYgLCBUMTcgPiB0eXBlczsKK307Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgUiAsIHR5cGVuYW1lIFQwICwgdHlwZW5hbWUgVDEgLCB0eXBlbmFtZSBUMiAsIHR5cGVuYW1lIFQzICwgdHlwZW5hbWUgVDQgLCB0eXBlbmFtZSBUNSAsIHR5cGVuYW1lIFQ2ICwgdHlwZW5hbWUgVDcgLCB0eXBlbmFtZSBUOCAsIHR5cGVuYW1lIFQ5ICwgdHlwZW5hbWUgVDEwICwgdHlwZW5hbWUgVDExICwgdHlwZW5hbWUgVDEyICwgdHlwZW5hbWUgVDEzICwgdHlwZW5hbWUgVDE0ICwgdHlwZW5hbWUgVDE1ICwgdHlwZW5hbWUgVDE2ICwgdHlwZW5hbWUgVDE3ICwgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBMPgorc3RydWN0IGNvbXBvbmVudHNfaW1wbDxCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsIEJPT1NUX1BQX0VNUFRZKSAoVDAgLCBUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgLCBUMTIgLCBUMTMgLCBUMTQgLCBUMTUgLCBUMTYgLCBUMTcgLCBUMTggQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdiwgTD4KK3sKK3R5cGVkZWYgZW5jb2RlX2JpdHM8Qk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQ+IGJpdHM7Cit0eXBlZGVmIGNvbnN0YW50PEJPT1NUX0ZUX2Z1bGxfbWFzaz4gbWFzazsKK3R5cGVkZWYgZnVuY3Rpb25fdHlwZXM6OmNvbXBvbmVudHM8Qk9PU1RfRlRfc3ludGF4KEJPT1NUX0ZUX2NjLCBCT09TVF9QUF9FTVBUWSkgKFQwICwgVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzICwgVDE0ICwgVDE1ICwgVDE2ICwgVDE3ICwgVDE4IEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YsIEw+IHR5cGU7Cit0eXBlZGVmIGNvbXBvbmVudHNfbXBsX3NlcXVlbmNlX3RhZyB0YWc7Cit0eXBlZGVmIG1wbDo6aW50ZWdyYWxfYzxzdGQ6OnNpemVfdCwxOT4gZnVuY3Rpb25fYXJpdHk7Cit0eXBlZGVmIG1wbDo6dmVjdG9yMjA8IFIgLCBUMCAsIFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCA+IHR5cGVzOworfTsKK3RlbXBsYXRlPCB0eXBlbmFtZSBSICwgdHlwZW5hbWUgVDAgLCB0eXBlbmFtZSBUMSAsIHR5cGVuYW1lIFQyICwgdHlwZW5hbWUgVDMgLCB0eXBlbmFtZSBUNCAsIHR5cGVuYW1lIFQ1ICwgdHlwZW5hbWUgVDYgLCB0eXBlbmFtZSBUNyAsIHR5cGVuYW1lIFQ4ICwgdHlwZW5hbWUgVDkgLCB0eXBlbmFtZSBUMTAgLCB0eXBlbmFtZSBUMTEgLCB0eXBlbmFtZSBUMTIgLCB0eXBlbmFtZSBUMTMgLCB0eXBlbmFtZSBUMTQgLCB0eXBlbmFtZSBUMTUgLCB0eXBlbmFtZSBUMTYgLCB0eXBlbmFtZSBUMTcgLCB0eXBlbmFtZSBUMTggLCB0eXBlbmFtZSBUMTksIHR5cGVuYW1lIEw+CitzdHJ1Y3QgY29tcG9uZW50c19pbXBsPEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYywgQk9PU1RfUFBfRU1QVFkpIChUMCAsIFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2LCBMPgorewordHlwZWRlZiBlbmNvZGVfYml0czxCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZD4gYml0czsKK3R5cGVkZWYgY29uc3RhbnQ8Qk9PU1RfRlRfZnVsbF9tYXNrPiBtYXNrOwordHlwZWRlZiBmdW5jdGlvbl90eXBlczo6Y29tcG9uZW50czxCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsIEJPT1NUX1BQX0VNUFRZKSAoVDAgLCBUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgLCBUMTIgLCBUMTMgLCBUMTQgLCBUMTUgLCBUMTYgLCBUMTcgLCBUMTggLCBUMTkgQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdiwgTD4gdHlwZTsKK3R5cGVkZWYgY29tcG9uZW50c19tcGxfc2VxdWVuY2VfdGFnIHRhZzsKK3R5cGVkZWYgbXBsOjppbnRlZ3JhbF9jPHN0ZDo6c2l6ZV90LDIwPiBmdW5jdGlvbl9hcml0eTsKK3R5cGVkZWYgbXBsOjp2ZWN0b3IyMTwgUiAsIFQwICwgVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzICwgVDE0ICwgVDE1ICwgVDE2ICwgVDE3ICwgVDE4ICwgVDE5ID4gdHlwZXM7Cit9OworCmRpZmYgLS1naXQgYS9uZG5ib29zdC9mdW5jdGlvbl90eXBlcy9kZXRhaWwvY29tcG9uZW50c19pbXBsL2FyaXR5MjBfMS5ocHAgYi9uZG5ib29zdC9mdW5jdGlvbl90eXBlcy9kZXRhaWwvY29tcG9uZW50c19pbXBsL2FyaXR5MjBfMS5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2M2ODhlNQotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L2Z1bmN0aW9uX3R5cGVzL2RldGFpbC9jb21wb25lbnRzX2ltcGwvYXJpdHkyMF8xLmhwcApAQCAtMCwwICsxLDEyMyBAQAorCisvLyAoQykgQ29weXJpZ2h0IFRvYmlhcyBTY2h3aW5nZXIKKy8vCisvLyBVc2UgbW9kaWZpY2F0aW9uIGFuZCBkaXN0cmlidXRpb24gYXJlIHN1YmplY3QgdG8gdGhlIGJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsCisvLyBWZXJzaW9uIDEuMC4gKFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpLgorCisvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisvLyBubyBpbmNsdWRlIGd1YXJkcywgdGhpcyBmaWxlIGlzIGludGVuZGVkIGZvciBtdWx0aXBsZSBpbmNsdXNpb24KKworLy8gaW5wdXQ6ICBCT09TVF9GVF9zeW50YXggICAgIHR5cGUgbWFjcm8gdG8gdXNlCisvLyBpbnB1dDogIEJPT1NUX0ZUX2NjICAgICAgICAgZW1wdHkgb3IgY2Mgc3BlY2lmaWVyIAorLy8gaW5wdXQ6ICBCT09TVF9GVF9lbGwgICAgICAgIGVtcHR5IG9yICIuLi4iCisvLyBpbnB1dDogIEJPT1NUX0ZUX2N2ICAgICAgICAgZW1wdHkgb3IgY3YgcXVhbGlmaWVycworLy8gaW5wdXQ6ICBCT09TVF9GVF9mbGFncyAgICAgIHNpbmdsZSBkZWNpbWFsIGludGVnZXIgZW5jb2RpbmcgdGhlIGZsYWdzCisvLyBvdXRwdXQ6IEJPT1NUX0ZUX24gICAgICAgICAgbnVtYmVyIG9mIGNvbXBvbmVudCB0eXBlcyAoYXJpdHkrMSkKKy8vIG91dHB1dDogQk9PU1RfRlRfYXJpdHkgICAgICBjdXJyZW50IGFyaXR5CisvLyBvdXRwdXQ6IEJPT1NUX0ZUX3R5cGUgICAgICAgbWFjcm8gdGhhdCBleHBhbmRzIHRvIHRoZSB0eXBlCisvLyBvdXRwdXQ6IEJPT1NUX0ZUX3RwbGFyZ3MocCkgdGVtcGxhdGUgYXJndW1lbnRzIHdpdGggZ2l2ZW4gcHJlZml4CisvLyBvdXRwdXQ6IEJPT1NUX0ZUX3BhcmFtcyhwKSAgcGFyYW1ldGVycyB3aXRoIGdpdmVuIHByZWZpeAorCisjIGluY2x1ZGUgPG5kbmJvb3N0L2Z1bmN0aW9uX3R5cGVzL2RldGFpbC9jb21wb25lbnRzX2ltcGwvYXJpdHkxMF8xLmhwcD4KK3RlbXBsYXRlPCB0eXBlbmFtZSBSICwgdHlwZW5hbWUgVDAgLCB0eXBlbmFtZSBUMSAsIHR5cGVuYW1lIFQyICwgdHlwZW5hbWUgVDMgLCB0eXBlbmFtZSBUNCAsIHR5cGVuYW1lIFQ1ICwgdHlwZW5hbWUgVDYgLCB0eXBlbmFtZSBUNyAsIHR5cGVuYW1lIFQ4ICwgdHlwZW5hbWUgVDkgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIEw+CitzdHJ1Y3QgY29tcG9uZW50c19pbXBsPEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYywgQk9PU1RfUFBfRU1QVFkpIChUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdiwgTD4KK3sKK3R5cGVkZWYgZW5jb2RlX2JpdHM8Qk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQ+IGJpdHM7Cit0eXBlZGVmIGNvbnN0YW50PEJPT1NUX0ZUX2Z1bGxfbWFzaz4gbWFzazsKK3R5cGVkZWYgZnVuY3Rpb25fdHlwZXM6OmNvbXBvbmVudHM8Qk9PU1RfRlRfc3ludGF4KEJPT1NUX0ZUX2NjLCBCT09TVF9QUF9FTVBUWSkgKFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2LCBMPiB0eXBlOwordHlwZWRlZiBjb21wb25lbnRzX21wbF9zZXF1ZW5jZV90YWcgdGFnOwordHlwZWRlZiBtcGw6OmludGVncmFsX2M8c3RkOjpzaXplX3QsMTE+IGZ1bmN0aW9uX2FyaXR5OwordHlwZWRlZiBtcGw6OnZlY3RvcjEyPCBSLCB0eXBlbmFtZSBjbGFzc190cmFuc2Zvcm08VDAgQk9PU1RfRlRfY3YsIEw+IDo6dHlwZSAsIFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCA+IHR5cGVzOworfTsKK3RlbXBsYXRlPCB0eXBlbmFtZSBSICwgdHlwZW5hbWUgVDAgLCB0eXBlbmFtZSBUMSAsIHR5cGVuYW1lIFQyICwgdHlwZW5hbWUgVDMgLCB0eXBlbmFtZSBUNCAsIHR5cGVuYW1lIFQ1ICwgdHlwZW5hbWUgVDYgLCB0eXBlbmFtZSBUNyAsIHR5cGVuYW1lIFQ4ICwgdHlwZW5hbWUgVDkgLCB0eXBlbmFtZSBUMTAgLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIEw+CitzdHJ1Y3QgY29tcG9uZW50c19pbXBsPEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYywgQk9PU1RfUFBfRU1QVFkpIChUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdiwgTD4KK3sKK3R5cGVkZWYgZW5jb2RlX2JpdHM8Qk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQ+IGJpdHM7Cit0eXBlZGVmIGNvbnN0YW50PEJPT1NUX0ZUX2Z1bGxfbWFzaz4gbWFzazsKK3R5cGVkZWYgZnVuY3Rpb25fdHlwZXM6OmNvbXBvbmVudHM8Qk9PU1RfRlRfc3ludGF4KEJPT1NUX0ZUX2NjLCBCT09TVF9QUF9FTVBUWSkgKFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2LCBMPiB0eXBlOwordHlwZWRlZiBjb21wb25lbnRzX21wbF9zZXF1ZW5jZV90YWcgdGFnOwordHlwZWRlZiBtcGw6OmludGVncmFsX2M8c3RkOjpzaXplX3QsMTI+IGZ1bmN0aW9uX2FyaXR5OwordHlwZWRlZiBtcGw6OnZlY3RvcjEzPCBSLCB0eXBlbmFtZSBjbGFzc190cmFuc2Zvcm08VDAgQk9PU1RfRlRfY3YsIEw+IDo6dHlwZSAsIFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSA+IHR5cGVzOworfTsKK3RlbXBsYXRlPCB0eXBlbmFtZSBSICwgdHlwZW5hbWUgVDAgLCB0eXBlbmFtZSBUMSAsIHR5cGVuYW1lIFQyICwgdHlwZW5hbWUgVDMgLCB0eXBlbmFtZSBUNCAsIHR5cGVuYW1lIFQ1ICwgdHlwZW5hbWUgVDYgLCB0eXBlbmFtZSBUNyAsIHR5cGVuYW1lIFQ4ICwgdHlwZW5hbWUgVDkgLCB0eXBlbmFtZSBUMTAgLCB0eXBlbmFtZSBUMTEgLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIEw+CitzdHJ1Y3QgY29tcG9uZW50c19pbXBsPEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYywgQk9PU1RfUFBfRU1QVFkpIChUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgLCBUMTIgQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdiwgTD4KK3sKK3R5cGVkZWYgZW5jb2RlX2JpdHM8Qk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQ+IGJpdHM7Cit0eXBlZGVmIGNvbnN0YW50PEJPT1NUX0ZUX2Z1bGxfbWFzaz4gbWFzazsKK3R5cGVkZWYgZnVuY3Rpb25fdHlwZXM6OmNvbXBvbmVudHM8Qk9PU1RfRlRfc3ludGF4KEJPT1NUX0ZUX2NjLCBCT09TVF9QUF9FTVBUWSkgKFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2LCBMPiB0eXBlOwordHlwZWRlZiBjb21wb25lbnRzX21wbF9zZXF1ZW5jZV90YWcgdGFnOwordHlwZWRlZiBtcGw6OmludGVncmFsX2M8c3RkOjpzaXplX3QsMTM+IGZ1bmN0aW9uX2FyaXR5OwordHlwZWRlZiBtcGw6OnZlY3RvcjE0PCBSLCB0eXBlbmFtZSBjbGFzc190cmFuc2Zvcm08VDAgQk9PU1RfRlRfY3YsIEw+IDo6dHlwZSAsIFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiA+IHR5cGVzOworfTsKK3RlbXBsYXRlPCB0eXBlbmFtZSBSICwgdHlwZW5hbWUgVDAgLCB0eXBlbmFtZSBUMSAsIHR5cGVuYW1lIFQyICwgdHlwZW5hbWUgVDMgLCB0eXBlbmFtZSBUNCAsIHR5cGVuYW1lIFQ1ICwgdHlwZW5hbWUgVDYgLCB0eXBlbmFtZSBUNyAsIHR5cGVuYW1lIFQ4ICwgdHlwZW5hbWUgVDkgLCB0eXBlbmFtZSBUMTAgLCB0eXBlbmFtZSBUMTEgLCB0eXBlbmFtZSBUMTIgLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIEw+CitzdHJ1Y3QgY29tcG9uZW50c19pbXBsPEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYywgQk9PU1RfUFBfRU1QVFkpIChUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgLCBUMTIgLCBUMTMgQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdiwgTD4KK3sKK3R5cGVkZWYgZW5jb2RlX2JpdHM8Qk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQ+IGJpdHM7Cit0eXBlZGVmIGNvbnN0YW50PEJPT1NUX0ZUX2Z1bGxfbWFzaz4gbWFzazsKK3R5cGVkZWYgZnVuY3Rpb25fdHlwZXM6OmNvbXBvbmVudHM8Qk9PU1RfRlRfc3ludGF4KEJPT1NUX0ZUX2NjLCBCT09TVF9QUF9FTVBUWSkgKFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2LCBMPiB0eXBlOwordHlwZWRlZiBjb21wb25lbnRzX21wbF9zZXF1ZW5jZV90YWcgdGFnOwordHlwZWRlZiBtcGw6OmludGVncmFsX2M8c3RkOjpzaXplX3QsMTQ+IGZ1bmN0aW9uX2FyaXR5OwordHlwZWRlZiBtcGw6OnZlY3RvcjE1PCBSLCB0eXBlbmFtZSBjbGFzc190cmFuc2Zvcm08VDAgQk9PU1RfRlRfY3YsIEw+IDo6dHlwZSAsIFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyA+IHR5cGVzOworfTsKK3RlbXBsYXRlPCB0eXBlbmFtZSBSICwgdHlwZW5hbWUgVDAgLCB0eXBlbmFtZSBUMSAsIHR5cGVuYW1lIFQyICwgdHlwZW5hbWUgVDMgLCB0eXBlbmFtZSBUNCAsIHR5cGVuYW1lIFQ1ICwgdHlwZW5hbWUgVDYgLCB0eXBlbmFtZSBUNyAsIHR5cGVuYW1lIFQ4ICwgdHlwZW5hbWUgVDkgLCB0eXBlbmFtZSBUMTAgLCB0eXBlbmFtZSBUMTEgLCB0eXBlbmFtZSBUMTIgLCB0eXBlbmFtZSBUMTMgLCB0eXBlbmFtZSBUMTQsIHR5cGVuYW1lIEw+CitzdHJ1Y3QgY29tcG9uZW50c19pbXBsPEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYywgQk9PU1RfUFBfRU1QVFkpIChUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgLCBUMTIgLCBUMTMgLCBUMTQgQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdiwgTD4KK3sKK3R5cGVkZWYgZW5jb2RlX2JpdHM8Qk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQ+IGJpdHM7Cit0eXBlZGVmIGNvbnN0YW50PEJPT1NUX0ZUX2Z1bGxfbWFzaz4gbWFzazsKK3R5cGVkZWYgZnVuY3Rpb25fdHlwZXM6OmNvbXBvbmVudHM8Qk9PU1RfRlRfc3ludGF4KEJPT1NUX0ZUX2NjLCBCT09TVF9QUF9FTVBUWSkgKFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2LCBMPiB0eXBlOwordHlwZWRlZiBjb21wb25lbnRzX21wbF9zZXF1ZW5jZV90YWcgdGFnOwordHlwZWRlZiBtcGw6OmludGVncmFsX2M8c3RkOjpzaXplX3QsMTU+IGZ1bmN0aW9uX2FyaXR5OwordHlwZWRlZiBtcGw6OnZlY3RvcjE2PCBSLCB0eXBlbmFtZSBjbGFzc190cmFuc2Zvcm08VDAgQk9PU1RfRlRfY3YsIEw+IDo6dHlwZSAsIFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCA+IHR5cGVzOworfTsKK3RlbXBsYXRlPCB0eXBlbmFtZSBSICwgdHlwZW5hbWUgVDAgLCB0eXBlbmFtZSBUMSAsIHR5cGVuYW1lIFQyICwgdHlwZW5hbWUgVDMgLCB0eXBlbmFtZSBUNCAsIHR5cGVuYW1lIFQ1ICwgdHlwZW5hbWUgVDYgLCB0eXBlbmFtZSBUNyAsIHR5cGVuYW1lIFQ4ICwgdHlwZW5hbWUgVDkgLCB0eXBlbmFtZSBUMTAgLCB0eXBlbmFtZSBUMTEgLCB0eXBlbmFtZSBUMTIgLCB0eXBlbmFtZSBUMTMgLCB0eXBlbmFtZSBUMTQgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIEw+CitzdHJ1Y3QgY29tcG9uZW50c19pbXBsPEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYywgQk9PU1RfUFBfRU1QVFkpIChUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgLCBUMTIgLCBUMTMgLCBUMTQgLCBUMTUgQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdiwgTD4KK3sKK3R5cGVkZWYgZW5jb2RlX2JpdHM8Qk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQ+IGJpdHM7Cit0eXBlZGVmIGNvbnN0YW50PEJPT1NUX0ZUX2Z1bGxfbWFzaz4gbWFzazsKK3R5cGVkZWYgZnVuY3Rpb25fdHlwZXM6OmNvbXBvbmVudHM8Qk9PU1RfRlRfc3ludGF4KEJPT1NUX0ZUX2NjLCBCT09TVF9QUF9FTVBUWSkgKFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2LCBMPiB0eXBlOwordHlwZWRlZiBjb21wb25lbnRzX21wbF9zZXF1ZW5jZV90YWcgdGFnOwordHlwZWRlZiBtcGw6OmludGVncmFsX2M8c3RkOjpzaXplX3QsMTY+IGZ1bmN0aW9uX2FyaXR5OwordHlwZWRlZiBtcGw6OnZlY3RvcjE3PCBSLCB0eXBlbmFtZSBjbGFzc190cmFuc2Zvcm08VDAgQk9PU1RfRlRfY3YsIEw+IDo6dHlwZSAsIFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSA+IHR5cGVzOworfTsKK3RlbXBsYXRlPCB0eXBlbmFtZSBSICwgdHlwZW5hbWUgVDAgLCB0eXBlbmFtZSBUMSAsIHR5cGVuYW1lIFQyICwgdHlwZW5hbWUgVDMgLCB0eXBlbmFtZSBUNCAsIHR5cGVuYW1lIFQ1ICwgdHlwZW5hbWUgVDYgLCB0eXBlbmFtZSBUNyAsIHR5cGVuYW1lIFQ4ICwgdHlwZW5hbWUgVDkgLCB0eXBlbmFtZSBUMTAgLCB0eXBlbmFtZSBUMTEgLCB0eXBlbmFtZSBUMTIgLCB0eXBlbmFtZSBUMTMgLCB0eXBlbmFtZSBUMTQgLCB0eXBlbmFtZSBUMTUgLCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIEw+CitzdHJ1Y3QgY29tcG9uZW50c19pbXBsPEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYywgQk9PU1RfUFBfRU1QVFkpIChUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgLCBUMTIgLCBUMTMgLCBUMTQgLCBUMTUgLCBUMTYgQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdiwgTD4KK3sKK3R5cGVkZWYgZW5jb2RlX2JpdHM8Qk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQ+IGJpdHM7Cit0eXBlZGVmIGNvbnN0YW50PEJPT1NUX0ZUX2Z1bGxfbWFzaz4gbWFzazsKK3R5cGVkZWYgZnVuY3Rpb25fdHlwZXM6OmNvbXBvbmVudHM8Qk9PU1RfRlRfc3ludGF4KEJPT1NUX0ZUX2NjLCBCT09TVF9QUF9FTVBUWSkgKFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2LCBMPiB0eXBlOwordHlwZWRlZiBjb21wb25lbnRzX21wbF9zZXF1ZW5jZV90YWcgdGFnOwordHlwZWRlZiBtcGw6OmludGVncmFsX2M8c3RkOjpzaXplX3QsMTc+IGZ1bmN0aW9uX2FyaXR5OwordHlwZWRlZiBtcGw6OnZlY3RvcjE4PCBSLCB0eXBlbmFtZSBjbGFzc190cmFuc2Zvcm08VDAgQk9PU1RfRlRfY3YsIEw+IDo6dHlwZSAsIFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiA+IHR5cGVzOworfTsKK3RlbXBsYXRlPCB0eXBlbmFtZSBSICwgdHlwZW5hbWUgVDAgLCB0eXBlbmFtZSBUMSAsIHR5cGVuYW1lIFQyICwgdHlwZW5hbWUgVDMgLCB0eXBlbmFtZSBUNCAsIHR5cGVuYW1lIFQ1ICwgdHlwZW5hbWUgVDYgLCB0eXBlbmFtZSBUNyAsIHR5cGVuYW1lIFQ4ICwgdHlwZW5hbWUgVDkgLCB0eXBlbmFtZSBUMTAgLCB0eXBlbmFtZSBUMTEgLCB0eXBlbmFtZSBUMTIgLCB0eXBlbmFtZSBUMTMgLCB0eXBlbmFtZSBUMTQgLCB0eXBlbmFtZSBUMTUgLCB0eXBlbmFtZSBUMTYgLCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIEw+CitzdHJ1Y3QgY29tcG9uZW50c19pbXBsPEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYywgQk9PU1RfUFBfRU1QVFkpIChUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgLCBUMTIgLCBUMTMgLCBUMTQgLCBUMTUgLCBUMTYgLCBUMTcgQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdiwgTD4KK3sKK3R5cGVkZWYgZW5jb2RlX2JpdHM8Qk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQ+IGJpdHM7Cit0eXBlZGVmIGNvbnN0YW50PEJPT1NUX0ZUX2Z1bGxfbWFzaz4gbWFzazsKK3R5cGVkZWYgZnVuY3Rpb25fdHlwZXM6OmNvbXBvbmVudHM8Qk9PU1RfRlRfc3ludGF4KEJPT1NUX0ZUX2NjLCBCT09TVF9QUF9FTVBUWSkgKFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2LCBMPiB0eXBlOwordHlwZWRlZiBjb21wb25lbnRzX21wbF9zZXF1ZW5jZV90YWcgdGFnOwordHlwZWRlZiBtcGw6OmludGVncmFsX2M8c3RkOjpzaXplX3QsMTg+IGZ1bmN0aW9uX2FyaXR5OwordHlwZWRlZiBtcGw6OnZlY3RvcjE5PCBSLCB0eXBlbmFtZSBjbGFzc190cmFuc2Zvcm08VDAgQk9PU1RfRlRfY3YsIEw+IDo6dHlwZSAsIFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyA+IHR5cGVzOworfTsKK3RlbXBsYXRlPCB0eXBlbmFtZSBSICwgdHlwZW5hbWUgVDAgLCB0eXBlbmFtZSBUMSAsIHR5cGVuYW1lIFQyICwgdHlwZW5hbWUgVDMgLCB0eXBlbmFtZSBUNCAsIHR5cGVuYW1lIFQ1ICwgdHlwZW5hbWUgVDYgLCB0eXBlbmFtZSBUNyAsIHR5cGVuYW1lIFQ4ICwgdHlwZW5hbWUgVDkgLCB0eXBlbmFtZSBUMTAgLCB0eXBlbmFtZSBUMTEgLCB0eXBlbmFtZSBUMTIgLCB0eXBlbmFtZSBUMTMgLCB0eXBlbmFtZSBUMTQgLCB0eXBlbmFtZSBUMTUgLCB0eXBlbmFtZSBUMTYgLCB0eXBlbmFtZSBUMTcgLCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIEw+CitzdHJ1Y3QgY29tcG9uZW50c19pbXBsPEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYywgQk9PU1RfUFBfRU1QVFkpIChUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgLCBUMTIgLCBUMTMgLCBUMTQgLCBUMTUgLCBUMTYgLCBUMTcgLCBUMTggQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdiwgTD4KK3sKK3R5cGVkZWYgZW5jb2RlX2JpdHM8Qk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQ+IGJpdHM7Cit0eXBlZGVmIGNvbnN0YW50PEJPT1NUX0ZUX2Z1bGxfbWFzaz4gbWFzazsKK3R5cGVkZWYgZnVuY3Rpb25fdHlwZXM6OmNvbXBvbmVudHM8Qk9PU1RfRlRfc3ludGF4KEJPT1NUX0ZUX2NjLCBCT09TVF9QUF9FTVBUWSkgKFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2LCBMPiB0eXBlOwordHlwZWRlZiBjb21wb25lbnRzX21wbF9zZXF1ZW5jZV90YWcgdGFnOwordHlwZWRlZiBtcGw6OmludGVncmFsX2M8c3RkOjpzaXplX3QsMTk+IGZ1bmN0aW9uX2FyaXR5OwordHlwZWRlZiBtcGw6OnZlY3RvcjIwPCBSLCB0eXBlbmFtZSBjbGFzc190cmFuc2Zvcm08VDAgQk9PU1RfRlRfY3YsIEw+IDo6dHlwZSAsIFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCA+IHR5cGVzOworfTsKK3RlbXBsYXRlPCB0eXBlbmFtZSBSICwgdHlwZW5hbWUgVDAgLCB0eXBlbmFtZSBUMSAsIHR5cGVuYW1lIFQyICwgdHlwZW5hbWUgVDMgLCB0eXBlbmFtZSBUNCAsIHR5cGVuYW1lIFQ1ICwgdHlwZW5hbWUgVDYgLCB0eXBlbmFtZSBUNyAsIHR5cGVuYW1lIFQ4ICwgdHlwZW5hbWUgVDkgLCB0eXBlbmFtZSBUMTAgLCB0eXBlbmFtZSBUMTEgLCB0eXBlbmFtZSBUMTIgLCB0eXBlbmFtZSBUMTMgLCB0eXBlbmFtZSBUMTQgLCB0eXBlbmFtZSBUMTUgLCB0eXBlbmFtZSBUMTYgLCB0eXBlbmFtZSBUMTcgLCB0eXBlbmFtZSBUMTggLCB0eXBlbmFtZSBUMTksIHR5cGVuYW1lIEw+CitzdHJ1Y3QgY29tcG9uZW50c19pbXBsPEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYywgQk9PU1RfUFBfRU1QVFkpIChUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgLCBUMTIgLCBUMTMgLCBUMTQgLCBUMTUgLCBUMTYgLCBUMTcgLCBUMTggLCBUMTkgQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdiwgTD4KK3sKK3R5cGVkZWYgZW5jb2RlX2JpdHM8Qk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQ+IGJpdHM7Cit0eXBlZGVmIGNvbnN0YW50PEJPT1NUX0ZUX2Z1bGxfbWFzaz4gbWFzazsKK3R5cGVkZWYgZnVuY3Rpb25fdHlwZXM6OmNvbXBvbmVudHM8Qk9PU1RfRlRfc3ludGF4KEJPT1NUX0ZUX2NjLCBCT09TVF9QUF9FTVBUWSkgKFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2LCBMPiB0eXBlOwordHlwZWRlZiBjb21wb25lbnRzX21wbF9zZXF1ZW5jZV90YWcgdGFnOwordHlwZWRlZiBtcGw6OmludGVncmFsX2M8c3RkOjpzaXplX3QsMjA+IGZ1bmN0aW9uX2FyaXR5OwordHlwZWRlZiBtcGw6OnZlY3RvcjIxPCBSLCB0eXBlbmFtZSBjbGFzc190cmFuc2Zvcm08VDAgQk9PU1RfRlRfY3YsIEw+IDo6dHlwZSAsIFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSA+IHR5cGVzOworfTsKKwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvZnVuY3Rpb25fdHlwZXMvZGV0YWlsL2NvbXBvbmVudHNfaW1wbC9hcml0eTMwXzAuaHBwIGIvbmRuYm9vc3QvZnVuY3Rpb25fdHlwZXMvZGV0YWlsL2NvbXBvbmVudHNfaW1wbC9hcml0eTMwXzAuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY2MGJhOWQKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9mdW5jdGlvbl90eXBlcy9kZXRhaWwvY29tcG9uZW50c19pbXBsL2FyaXR5MzBfMC5ocHAKQEAgLTAsMCArMSwxMjMgQEAKKworLy8gKEMpIENvcHlyaWdodCBUb2JpYXMgU2Nod2luZ2VyCisvLworLy8gVXNlIG1vZGlmaWNhdGlvbiBhbmQgZGlzdHJpYnV0aW9uIGFyZSBzdWJqZWN0IHRvIHRoZSBib29zdCBTb2Z0d2FyZSBMaWNlbnNlLAorLy8gVmVyc2lvbiAxLjAuIChTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KS4KKworLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworLy8gbm8gaW5jbHVkZSBndWFyZHMsIHRoaXMgZmlsZSBpcyBpbnRlbmRlZCBmb3IgbXVsdGlwbGUgaW5jbHVzaW9uCisKKy8vIGlucHV0OiAgQk9PU1RfRlRfc3ludGF4ICAgICB0eXBlIG1hY3JvIHRvIHVzZQorLy8gaW5wdXQ6ICBCT09TVF9GVF9jYyAgICAgICAgIGVtcHR5IG9yIGNjIHNwZWNpZmllciAKKy8vIGlucHV0OiAgQk9PU1RfRlRfZWxsICAgICAgICBlbXB0eSBvciAiLi4uIgorLy8gaW5wdXQ6ICBCT09TVF9GVF9jdiAgICAgICAgIGVtcHR5IG9yIGN2IHF1YWxpZmllcnMKKy8vIGlucHV0OiAgQk9PU1RfRlRfZmxhZ3MgICAgICBzaW5nbGUgZGVjaW1hbCBpbnRlZ2VyIGVuY29kaW5nIHRoZSBmbGFncworLy8gb3V0cHV0OiBCT09TVF9GVF9uICAgICAgICAgIG51bWJlciBvZiBjb21wb25lbnQgdHlwZXMgKGFyaXR5KzEpCisvLyBvdXRwdXQ6IEJPT1NUX0ZUX2FyaXR5ICAgICAgY3VycmVudCBhcml0eQorLy8gb3V0cHV0OiBCT09TVF9GVF90eXBlICAgICAgIG1hY3JvIHRoYXQgZXhwYW5kcyB0byB0aGUgdHlwZQorLy8gb3V0cHV0OiBCT09TVF9GVF90cGxhcmdzKHApIHRlbXBsYXRlIGFyZ3VtZW50cyB3aXRoIGdpdmVuIHByZWZpeAorLy8gb3V0cHV0OiBCT09TVF9GVF9wYXJhbXMocCkgIHBhcmFtZXRlcnMgd2l0aCBnaXZlbiBwcmVmaXgKKworIyBpbmNsdWRlIDxuZG5ib29zdC9mdW5jdGlvbl90eXBlcy9kZXRhaWwvY29tcG9uZW50c19pbXBsL2FyaXR5MjBfMC5ocHA+Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgUiAsIHR5cGVuYW1lIFQwICwgdHlwZW5hbWUgVDEgLCB0eXBlbmFtZSBUMiAsIHR5cGVuYW1lIFQzICwgdHlwZW5hbWUgVDQgLCB0eXBlbmFtZSBUNSAsIHR5cGVuYW1lIFQ2ICwgdHlwZW5hbWUgVDcgLCB0eXBlbmFtZSBUOCAsIHR5cGVuYW1lIFQ5ICwgdHlwZW5hbWUgVDEwICwgdHlwZW5hbWUgVDExICwgdHlwZW5hbWUgVDEyICwgdHlwZW5hbWUgVDEzICwgdHlwZW5hbWUgVDE0ICwgdHlwZW5hbWUgVDE1ICwgdHlwZW5hbWUgVDE2ICwgdHlwZW5hbWUgVDE3ICwgdHlwZW5hbWUgVDE4ICwgdHlwZW5hbWUgVDE5ICwgdHlwZW5hbWUgVDIwLCB0eXBlbmFtZSBMPgorc3RydWN0IGNvbXBvbmVudHNfaW1wbDxCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsIEJPT1NUX1BQX0VNUFRZKSAoVDAgLCBUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgLCBUMTIgLCBUMTMgLCBUMTQgLCBUMTUgLCBUMTYgLCBUMTcgLCBUMTggLCBUMTkgLCBUMjAgQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdiwgTD4KK3sKK3R5cGVkZWYgZW5jb2RlX2JpdHM8Qk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQ+IGJpdHM7Cit0eXBlZGVmIGNvbnN0YW50PEJPT1NUX0ZUX2Z1bGxfbWFzaz4gbWFzazsKK3R5cGVkZWYgZnVuY3Rpb25fdHlwZXM6OmNvbXBvbmVudHM8Qk9PU1RfRlRfc3ludGF4KEJPT1NUX0ZUX2NjLCBCT09TVF9QUF9FTVBUWSkgKFQwICwgVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzICwgVDE0ICwgVDE1ICwgVDE2ICwgVDE3ICwgVDE4ICwgVDE5ICwgVDIwIEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YsIEw+IHR5cGU7Cit0eXBlZGVmIGNvbXBvbmVudHNfbXBsX3NlcXVlbmNlX3RhZyB0YWc7Cit0eXBlZGVmIG1wbDo6aW50ZWdyYWxfYzxzdGQ6OnNpemVfdCwyMT4gZnVuY3Rpb25fYXJpdHk7Cit0eXBlZGVmIG1wbDo6dmVjdG9yMjI8IFIgLCBUMCAsIFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSAsIFQyMCA+IHR5cGVzOworfTsKK3RlbXBsYXRlPCB0eXBlbmFtZSBSICwgdHlwZW5hbWUgVDAgLCB0eXBlbmFtZSBUMSAsIHR5cGVuYW1lIFQyICwgdHlwZW5hbWUgVDMgLCB0eXBlbmFtZSBUNCAsIHR5cGVuYW1lIFQ1ICwgdHlwZW5hbWUgVDYgLCB0eXBlbmFtZSBUNyAsIHR5cGVuYW1lIFQ4ICwgdHlwZW5hbWUgVDkgLCB0eXBlbmFtZSBUMTAgLCB0eXBlbmFtZSBUMTEgLCB0eXBlbmFtZSBUMTIgLCB0eXBlbmFtZSBUMTMgLCB0eXBlbmFtZSBUMTQgLCB0eXBlbmFtZSBUMTUgLCB0eXBlbmFtZSBUMTYgLCB0eXBlbmFtZSBUMTcgLCB0eXBlbmFtZSBUMTggLCB0eXBlbmFtZSBUMTkgLCB0eXBlbmFtZSBUMjAgLCB0eXBlbmFtZSBUMjEsIHR5cGVuYW1lIEw+CitzdHJ1Y3QgY29tcG9uZW50c19pbXBsPEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYywgQk9PU1RfUFBfRU1QVFkpIChUMCAsIFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSAsIFQyMCAsIFQyMSBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2LCBMPgorewordHlwZWRlZiBlbmNvZGVfYml0czxCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZD4gYml0czsKK3R5cGVkZWYgY29uc3RhbnQ8Qk9PU1RfRlRfZnVsbF9tYXNrPiBtYXNrOwordHlwZWRlZiBmdW5jdGlvbl90eXBlczo6Y29tcG9uZW50czxCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsIEJPT1NUX1BQX0VNUFRZKSAoVDAgLCBUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgLCBUMTIgLCBUMTMgLCBUMTQgLCBUMTUgLCBUMTYgLCBUMTcgLCBUMTggLCBUMTkgLCBUMjAgLCBUMjEgQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdiwgTD4gdHlwZTsKK3R5cGVkZWYgY29tcG9uZW50c19tcGxfc2VxdWVuY2VfdGFnIHRhZzsKK3R5cGVkZWYgbXBsOjppbnRlZ3JhbF9jPHN0ZDo6c2l6ZV90LDIyPiBmdW5jdGlvbl9hcml0eTsKK3R5cGVkZWYgbXBsOjp2ZWN0b3IyMzwgUiAsIFQwICwgVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzICwgVDE0ICwgVDE1ICwgVDE2ICwgVDE3ICwgVDE4ICwgVDE5ICwgVDIwICwgVDIxID4gdHlwZXM7Cit9OwordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIgLCB0eXBlbmFtZSBUMyAsIHR5cGVuYW1lIFQ0ICwgdHlwZW5hbWUgVDUgLCB0eXBlbmFtZSBUNiAsIHR5cGVuYW1lIFQ3ICwgdHlwZW5hbWUgVDggLCB0eXBlbmFtZSBUOSAsIHR5cGVuYW1lIFQxMCAsIHR5cGVuYW1lIFQxMSAsIHR5cGVuYW1lIFQxMiAsIHR5cGVuYW1lIFQxMyAsIHR5cGVuYW1lIFQxNCAsIHR5cGVuYW1lIFQxNSAsIHR5cGVuYW1lIFQxNiAsIHR5cGVuYW1lIFQxNyAsIHR5cGVuYW1lIFQxOCAsIHR5cGVuYW1lIFQxOSAsIHR5cGVuYW1lIFQyMCAsIHR5cGVuYW1lIFQyMSAsIHR5cGVuYW1lIFQyMiwgdHlwZW5hbWUgTD4KK3N0cnVjdCBjb21wb25lbnRzX2ltcGw8Qk9PU1RfRlRfc3ludGF4KEJPT1NUX0ZUX2NjLCBCT09TVF9QUF9FTVBUWSkgKFQwICwgVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzICwgVDE0ICwgVDE1ICwgVDE2ICwgVDE3ICwgVDE4ICwgVDE5ICwgVDIwICwgVDIxICwgVDIyIEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YsIEw+Cit7Cit0eXBlZGVmIGVuY29kZV9iaXRzPEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkPiBiaXRzOwordHlwZWRlZiBjb25zdGFudDxCT09TVF9GVF9mdWxsX21hc2s+IG1hc2s7Cit0eXBlZGVmIGZ1bmN0aW9uX3R5cGVzOjpjb21wb25lbnRzPEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYywgQk9PU1RfUFBfRU1QVFkpIChUMCAsIFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSAsIFQyMCAsIFQyMSAsIFQyMiBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2LCBMPiB0eXBlOwordHlwZWRlZiBjb21wb25lbnRzX21wbF9zZXF1ZW5jZV90YWcgdGFnOwordHlwZWRlZiBtcGw6OmludGVncmFsX2M8c3RkOjpzaXplX3QsMjM+IGZ1bmN0aW9uX2FyaXR5OwordHlwZWRlZiBtcGw6OnZlY3RvcjI0PCBSICwgVDAgLCBUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgLCBUMTIgLCBUMTMgLCBUMTQgLCBUMTUgLCBUMTYgLCBUMTcgLCBUMTggLCBUMTkgLCBUMjAgLCBUMjEgLCBUMjIgPiB0eXBlczsKK307Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgUiAsIHR5cGVuYW1lIFQwICwgdHlwZW5hbWUgVDEgLCB0eXBlbmFtZSBUMiAsIHR5cGVuYW1lIFQzICwgdHlwZW5hbWUgVDQgLCB0eXBlbmFtZSBUNSAsIHR5cGVuYW1lIFQ2ICwgdHlwZW5hbWUgVDcgLCB0eXBlbmFtZSBUOCAsIHR5cGVuYW1lIFQ5ICwgdHlwZW5hbWUgVDEwICwgdHlwZW5hbWUgVDExICwgdHlwZW5hbWUgVDEyICwgdHlwZW5hbWUgVDEzICwgdHlwZW5hbWUgVDE0ICwgdHlwZW5hbWUgVDE1ICwgdHlwZW5hbWUgVDE2ICwgdHlwZW5hbWUgVDE3ICwgdHlwZW5hbWUgVDE4ICwgdHlwZW5hbWUgVDE5ICwgdHlwZW5hbWUgVDIwICwgdHlwZW5hbWUgVDIxICwgdHlwZW5hbWUgVDIyICwgdHlwZW5hbWUgVDIzLCB0eXBlbmFtZSBMPgorc3RydWN0IGNvbXBvbmVudHNfaW1wbDxCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsIEJPT1NUX1BQX0VNUFRZKSAoVDAgLCBUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgLCBUMTIgLCBUMTMgLCBUMTQgLCBUMTUgLCBUMTYgLCBUMTcgLCBUMTggLCBUMTkgLCBUMjAgLCBUMjEgLCBUMjIgLCBUMjMgQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdiwgTD4KK3sKK3R5cGVkZWYgZW5jb2RlX2JpdHM8Qk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQ+IGJpdHM7Cit0eXBlZGVmIGNvbnN0YW50PEJPT1NUX0ZUX2Z1bGxfbWFzaz4gbWFzazsKK3R5cGVkZWYgZnVuY3Rpb25fdHlwZXM6OmNvbXBvbmVudHM8Qk9PU1RfRlRfc3ludGF4KEJPT1NUX0ZUX2NjLCBCT09TVF9QUF9FTVBUWSkgKFQwICwgVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzICwgVDE0ICwgVDE1ICwgVDE2ICwgVDE3ICwgVDE4ICwgVDE5ICwgVDIwICwgVDIxICwgVDIyICwgVDIzIEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YsIEw+IHR5cGU7Cit0eXBlZGVmIGNvbXBvbmVudHNfbXBsX3NlcXVlbmNlX3RhZyB0YWc7Cit0eXBlZGVmIG1wbDo6aW50ZWdyYWxfYzxzdGQ6OnNpemVfdCwyND4gZnVuY3Rpb25fYXJpdHk7Cit0eXBlZGVmIG1wbDo6dmVjdG9yMjU8IFIgLCBUMCAsIFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSAsIFQyMCAsIFQyMSAsIFQyMiAsIFQyMyA+IHR5cGVzOworfTsKK3RlbXBsYXRlPCB0eXBlbmFtZSBSICwgdHlwZW5hbWUgVDAgLCB0eXBlbmFtZSBUMSAsIHR5cGVuYW1lIFQyICwgdHlwZW5hbWUgVDMgLCB0eXBlbmFtZSBUNCAsIHR5cGVuYW1lIFQ1ICwgdHlwZW5hbWUgVDYgLCB0eXBlbmFtZSBUNyAsIHR5cGVuYW1lIFQ4ICwgdHlwZW5hbWUgVDkgLCB0eXBlbmFtZSBUMTAgLCB0eXBlbmFtZSBUMTEgLCB0eXBlbmFtZSBUMTIgLCB0eXBlbmFtZSBUMTMgLCB0eXBlbmFtZSBUMTQgLCB0eXBlbmFtZSBUMTUgLCB0eXBlbmFtZSBUMTYgLCB0eXBlbmFtZSBUMTcgLCB0eXBlbmFtZSBUMTggLCB0eXBlbmFtZSBUMTkgLCB0eXBlbmFtZSBUMjAgLCB0eXBlbmFtZSBUMjEgLCB0eXBlbmFtZSBUMjIgLCB0eXBlbmFtZSBUMjMgLCB0eXBlbmFtZSBUMjQsIHR5cGVuYW1lIEw+CitzdHJ1Y3QgY29tcG9uZW50c19pbXBsPEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYywgQk9PU1RfUFBfRU1QVFkpIChUMCAsIFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSAsIFQyMCAsIFQyMSAsIFQyMiAsIFQyMyAsIFQyNCBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2LCBMPgorewordHlwZWRlZiBlbmNvZGVfYml0czxCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZD4gYml0czsKK3R5cGVkZWYgY29uc3RhbnQ8Qk9PU1RfRlRfZnVsbF9tYXNrPiBtYXNrOwordHlwZWRlZiBmdW5jdGlvbl90eXBlczo6Y29tcG9uZW50czxCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsIEJPT1NUX1BQX0VNUFRZKSAoVDAgLCBUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgLCBUMTIgLCBUMTMgLCBUMTQgLCBUMTUgLCBUMTYgLCBUMTcgLCBUMTggLCBUMTkgLCBUMjAgLCBUMjEgLCBUMjIgLCBUMjMgLCBUMjQgQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdiwgTD4gdHlwZTsKK3R5cGVkZWYgY29tcG9uZW50c19tcGxfc2VxdWVuY2VfdGFnIHRhZzsKK3R5cGVkZWYgbXBsOjppbnRlZ3JhbF9jPHN0ZDo6c2l6ZV90LDI1PiBmdW5jdGlvbl9hcml0eTsKK3R5cGVkZWYgbXBsOjp2ZWN0b3IyNjwgUiAsIFQwICwgVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzICwgVDE0ICwgVDE1ICwgVDE2ICwgVDE3ICwgVDE4ICwgVDE5ICwgVDIwICwgVDIxICwgVDIyICwgVDIzICwgVDI0ID4gdHlwZXM7Cit9OwordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIgLCB0eXBlbmFtZSBUMyAsIHR5cGVuYW1lIFQ0ICwgdHlwZW5hbWUgVDUgLCB0eXBlbmFtZSBUNiAsIHR5cGVuYW1lIFQ3ICwgdHlwZW5hbWUgVDggLCB0eXBlbmFtZSBUOSAsIHR5cGVuYW1lIFQxMCAsIHR5cGVuYW1lIFQxMSAsIHR5cGVuYW1lIFQxMiAsIHR5cGVuYW1lIFQxMyAsIHR5cGVuYW1lIFQxNCAsIHR5cGVuYW1lIFQxNSAsIHR5cGVuYW1lIFQxNiAsIHR5cGVuYW1lIFQxNyAsIHR5cGVuYW1lIFQxOCAsIHR5cGVuYW1lIFQxOSAsIHR5cGVuYW1lIFQyMCAsIHR5cGVuYW1lIFQyMSAsIHR5cGVuYW1lIFQyMiAsIHR5cGVuYW1lIFQyMyAsIHR5cGVuYW1lIFQyNCAsIHR5cGVuYW1lIFQyNSwgdHlwZW5hbWUgTD4KK3N0cnVjdCBjb21wb25lbnRzX2ltcGw8Qk9PU1RfRlRfc3ludGF4KEJPT1NUX0ZUX2NjLCBCT09TVF9QUF9FTVBUWSkgKFQwICwgVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzICwgVDE0ICwgVDE1ICwgVDE2ICwgVDE3ICwgVDE4ICwgVDE5ICwgVDIwICwgVDIxICwgVDIyICwgVDIzICwgVDI0ICwgVDI1IEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YsIEw+Cit7Cit0eXBlZGVmIGVuY29kZV9iaXRzPEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkPiBiaXRzOwordHlwZWRlZiBjb25zdGFudDxCT09TVF9GVF9mdWxsX21hc2s+IG1hc2s7Cit0eXBlZGVmIGZ1bmN0aW9uX3R5cGVzOjpjb21wb25lbnRzPEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYywgQk9PU1RfUFBfRU1QVFkpIChUMCAsIFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSAsIFQyMCAsIFQyMSAsIFQyMiAsIFQyMyAsIFQyNCAsIFQyNSBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2LCBMPiB0eXBlOwordHlwZWRlZiBjb21wb25lbnRzX21wbF9zZXF1ZW5jZV90YWcgdGFnOwordHlwZWRlZiBtcGw6OmludGVncmFsX2M8c3RkOjpzaXplX3QsMjY+IGZ1bmN0aW9uX2FyaXR5OwordHlwZWRlZiBtcGw6OnZlY3RvcjI3PCBSICwgVDAgLCBUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgLCBUMTIgLCBUMTMgLCBUMTQgLCBUMTUgLCBUMTYgLCBUMTcgLCBUMTggLCBUMTkgLCBUMjAgLCBUMjEgLCBUMjIgLCBUMjMgLCBUMjQgLCBUMjUgPiB0eXBlczsKK307Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgUiAsIHR5cGVuYW1lIFQwICwgdHlwZW5hbWUgVDEgLCB0eXBlbmFtZSBUMiAsIHR5cGVuYW1lIFQzICwgdHlwZW5hbWUgVDQgLCB0eXBlbmFtZSBUNSAsIHR5cGVuYW1lIFQ2ICwgdHlwZW5hbWUgVDcgLCB0eXBlbmFtZSBUOCAsIHR5cGVuYW1lIFQ5ICwgdHlwZW5hbWUgVDEwICwgdHlwZW5hbWUgVDExICwgdHlwZW5hbWUgVDEyICwgdHlwZW5hbWUgVDEzICwgdHlwZW5hbWUgVDE0ICwgdHlwZW5hbWUgVDE1ICwgdHlwZW5hbWUgVDE2ICwgdHlwZW5hbWUgVDE3ICwgdHlwZW5hbWUgVDE4ICwgdHlwZW5hbWUgVDE5ICwgdHlwZW5hbWUgVDIwICwgdHlwZW5hbWUgVDIxICwgdHlwZW5hbWUgVDIyICwgdHlwZW5hbWUgVDIzICwgdHlwZW5hbWUgVDI0ICwgdHlwZW5hbWUgVDI1ICwgdHlwZW5hbWUgVDI2LCB0eXBlbmFtZSBMPgorc3RydWN0IGNvbXBvbmVudHNfaW1wbDxCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsIEJPT1NUX1BQX0VNUFRZKSAoVDAgLCBUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgLCBUMTIgLCBUMTMgLCBUMTQgLCBUMTUgLCBUMTYgLCBUMTcgLCBUMTggLCBUMTkgLCBUMjAgLCBUMjEgLCBUMjIgLCBUMjMgLCBUMjQgLCBUMjUgLCBUMjYgQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdiwgTD4KK3sKK3R5cGVkZWYgZW5jb2RlX2JpdHM8Qk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQ+IGJpdHM7Cit0eXBlZGVmIGNvbnN0YW50PEJPT1NUX0ZUX2Z1bGxfbWFzaz4gbWFzazsKK3R5cGVkZWYgZnVuY3Rpb25fdHlwZXM6OmNvbXBvbmVudHM8Qk9PU1RfRlRfc3ludGF4KEJPT1NUX0ZUX2NjLCBCT09TVF9QUF9FTVBUWSkgKFQwICwgVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzICwgVDE0ICwgVDE1ICwgVDE2ICwgVDE3ICwgVDE4ICwgVDE5ICwgVDIwICwgVDIxICwgVDIyICwgVDIzICwgVDI0ICwgVDI1ICwgVDI2IEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YsIEw+IHR5cGU7Cit0eXBlZGVmIGNvbXBvbmVudHNfbXBsX3NlcXVlbmNlX3RhZyB0YWc7Cit0eXBlZGVmIG1wbDo6aW50ZWdyYWxfYzxzdGQ6OnNpemVfdCwyNz4gZnVuY3Rpb25fYXJpdHk7Cit0eXBlZGVmIG1wbDo6dmVjdG9yMjg8IFIgLCBUMCAsIFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSAsIFQyMCAsIFQyMSAsIFQyMiAsIFQyMyAsIFQyNCAsIFQyNSAsIFQyNiA+IHR5cGVzOworfTsKK3RlbXBsYXRlPCB0eXBlbmFtZSBSICwgdHlwZW5hbWUgVDAgLCB0eXBlbmFtZSBUMSAsIHR5cGVuYW1lIFQyICwgdHlwZW5hbWUgVDMgLCB0eXBlbmFtZSBUNCAsIHR5cGVuYW1lIFQ1ICwgdHlwZW5hbWUgVDYgLCB0eXBlbmFtZSBUNyAsIHR5cGVuYW1lIFQ4ICwgdHlwZW5hbWUgVDkgLCB0eXBlbmFtZSBUMTAgLCB0eXBlbmFtZSBUMTEgLCB0eXBlbmFtZSBUMTIgLCB0eXBlbmFtZSBUMTMgLCB0eXBlbmFtZSBUMTQgLCB0eXBlbmFtZSBUMTUgLCB0eXBlbmFtZSBUMTYgLCB0eXBlbmFtZSBUMTcgLCB0eXBlbmFtZSBUMTggLCB0eXBlbmFtZSBUMTkgLCB0eXBlbmFtZSBUMjAgLCB0eXBlbmFtZSBUMjEgLCB0eXBlbmFtZSBUMjIgLCB0eXBlbmFtZSBUMjMgLCB0eXBlbmFtZSBUMjQgLCB0eXBlbmFtZSBUMjUgLCB0eXBlbmFtZSBUMjYgLCB0eXBlbmFtZSBUMjcsIHR5cGVuYW1lIEw+CitzdHJ1Y3QgY29tcG9uZW50c19pbXBsPEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYywgQk9PU1RfUFBfRU1QVFkpIChUMCAsIFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSAsIFQyMCAsIFQyMSAsIFQyMiAsIFQyMyAsIFQyNCAsIFQyNSAsIFQyNiAsIFQyNyBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2LCBMPgorewordHlwZWRlZiBlbmNvZGVfYml0czxCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZD4gYml0czsKK3R5cGVkZWYgY29uc3RhbnQ8Qk9PU1RfRlRfZnVsbF9tYXNrPiBtYXNrOwordHlwZWRlZiBmdW5jdGlvbl90eXBlczo6Y29tcG9uZW50czxCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsIEJPT1NUX1BQX0VNUFRZKSAoVDAgLCBUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgLCBUMTIgLCBUMTMgLCBUMTQgLCBUMTUgLCBUMTYgLCBUMTcgLCBUMTggLCBUMTkgLCBUMjAgLCBUMjEgLCBUMjIgLCBUMjMgLCBUMjQgLCBUMjUgLCBUMjYgLCBUMjcgQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdiwgTD4gdHlwZTsKK3R5cGVkZWYgY29tcG9uZW50c19tcGxfc2VxdWVuY2VfdGFnIHRhZzsKK3R5cGVkZWYgbXBsOjppbnRlZ3JhbF9jPHN0ZDo6c2l6ZV90LDI4PiBmdW5jdGlvbl9hcml0eTsKK3R5cGVkZWYgbXBsOjp2ZWN0b3IyOTwgUiAsIFQwICwgVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzICwgVDE0ICwgVDE1ICwgVDE2ICwgVDE3ICwgVDE4ICwgVDE5ICwgVDIwICwgVDIxICwgVDIyICwgVDIzICwgVDI0ICwgVDI1ICwgVDI2ICwgVDI3ID4gdHlwZXM7Cit9OwordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIgLCB0eXBlbmFtZSBUMyAsIHR5cGVuYW1lIFQ0ICwgdHlwZW5hbWUgVDUgLCB0eXBlbmFtZSBUNiAsIHR5cGVuYW1lIFQ3ICwgdHlwZW5hbWUgVDggLCB0eXBlbmFtZSBUOSAsIHR5cGVuYW1lIFQxMCAsIHR5cGVuYW1lIFQxMSAsIHR5cGVuYW1lIFQxMiAsIHR5cGVuYW1lIFQxMyAsIHR5cGVuYW1lIFQxNCAsIHR5cGVuYW1lIFQxNSAsIHR5cGVuYW1lIFQxNiAsIHR5cGVuYW1lIFQxNyAsIHR5cGVuYW1lIFQxOCAsIHR5cGVuYW1lIFQxOSAsIHR5cGVuYW1lIFQyMCAsIHR5cGVuYW1lIFQyMSAsIHR5cGVuYW1lIFQyMiAsIHR5cGVuYW1lIFQyMyAsIHR5cGVuYW1lIFQyNCAsIHR5cGVuYW1lIFQyNSAsIHR5cGVuYW1lIFQyNiAsIHR5cGVuYW1lIFQyNyAsIHR5cGVuYW1lIFQyOCwgdHlwZW5hbWUgTD4KK3N0cnVjdCBjb21wb25lbnRzX2ltcGw8Qk9PU1RfRlRfc3ludGF4KEJPT1NUX0ZUX2NjLCBCT09TVF9QUF9FTVBUWSkgKFQwICwgVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzICwgVDE0ICwgVDE1ICwgVDE2ICwgVDE3ICwgVDE4ICwgVDE5ICwgVDIwICwgVDIxICwgVDIyICwgVDIzICwgVDI0ICwgVDI1ICwgVDI2ICwgVDI3ICwgVDI4IEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YsIEw+Cit7Cit0eXBlZGVmIGVuY29kZV9iaXRzPEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkPiBiaXRzOwordHlwZWRlZiBjb25zdGFudDxCT09TVF9GVF9mdWxsX21hc2s+IG1hc2s7Cit0eXBlZGVmIGZ1bmN0aW9uX3R5cGVzOjpjb21wb25lbnRzPEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYywgQk9PU1RfUFBfRU1QVFkpIChUMCAsIFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSAsIFQyMCAsIFQyMSAsIFQyMiAsIFQyMyAsIFQyNCAsIFQyNSAsIFQyNiAsIFQyNyAsIFQyOCBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2LCBMPiB0eXBlOwordHlwZWRlZiBjb21wb25lbnRzX21wbF9zZXF1ZW5jZV90YWcgdGFnOwordHlwZWRlZiBtcGw6OmludGVncmFsX2M8c3RkOjpzaXplX3QsMjk+IGZ1bmN0aW9uX2FyaXR5OwordHlwZWRlZiBtcGw6OnZlY3RvcjMwPCBSICwgVDAgLCBUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgLCBUMTIgLCBUMTMgLCBUMTQgLCBUMTUgLCBUMTYgLCBUMTcgLCBUMTggLCBUMTkgLCBUMjAgLCBUMjEgLCBUMjIgLCBUMjMgLCBUMjQgLCBUMjUgLCBUMjYgLCBUMjcgLCBUMjggPiB0eXBlczsKK307Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgUiAsIHR5cGVuYW1lIFQwICwgdHlwZW5hbWUgVDEgLCB0eXBlbmFtZSBUMiAsIHR5cGVuYW1lIFQzICwgdHlwZW5hbWUgVDQgLCB0eXBlbmFtZSBUNSAsIHR5cGVuYW1lIFQ2ICwgdHlwZW5hbWUgVDcgLCB0eXBlbmFtZSBUOCAsIHR5cGVuYW1lIFQ5ICwgdHlwZW5hbWUgVDEwICwgdHlwZW5hbWUgVDExICwgdHlwZW5hbWUgVDEyICwgdHlwZW5hbWUgVDEzICwgdHlwZW5hbWUgVDE0ICwgdHlwZW5hbWUgVDE1ICwgdHlwZW5hbWUgVDE2ICwgdHlwZW5hbWUgVDE3ICwgdHlwZW5hbWUgVDE4ICwgdHlwZW5hbWUgVDE5ICwgdHlwZW5hbWUgVDIwICwgdHlwZW5hbWUgVDIxICwgdHlwZW5hbWUgVDIyICwgdHlwZW5hbWUgVDIzICwgdHlwZW5hbWUgVDI0ICwgdHlwZW5hbWUgVDI1ICwgdHlwZW5hbWUgVDI2ICwgdHlwZW5hbWUgVDI3ICwgdHlwZW5hbWUgVDI4ICwgdHlwZW5hbWUgVDI5LCB0eXBlbmFtZSBMPgorc3RydWN0IGNvbXBvbmVudHNfaW1wbDxCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsIEJPT1NUX1BQX0VNUFRZKSAoVDAgLCBUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgLCBUMTIgLCBUMTMgLCBUMTQgLCBUMTUgLCBUMTYgLCBUMTcgLCBUMTggLCBUMTkgLCBUMjAgLCBUMjEgLCBUMjIgLCBUMjMgLCBUMjQgLCBUMjUgLCBUMjYgLCBUMjcgLCBUMjggLCBUMjkgQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdiwgTD4KK3sKK3R5cGVkZWYgZW5jb2RlX2JpdHM8Qk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQ+IGJpdHM7Cit0eXBlZGVmIGNvbnN0YW50PEJPT1NUX0ZUX2Z1bGxfbWFzaz4gbWFzazsKK3R5cGVkZWYgZnVuY3Rpb25fdHlwZXM6OmNvbXBvbmVudHM8Qk9PU1RfRlRfc3ludGF4KEJPT1NUX0ZUX2NjLCBCT09TVF9QUF9FTVBUWSkgKFQwICwgVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzICwgVDE0ICwgVDE1ICwgVDE2ICwgVDE3ICwgVDE4ICwgVDE5ICwgVDIwICwgVDIxICwgVDIyICwgVDIzICwgVDI0ICwgVDI1ICwgVDI2ICwgVDI3ICwgVDI4ICwgVDI5IEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YsIEw+IHR5cGU7Cit0eXBlZGVmIGNvbXBvbmVudHNfbXBsX3NlcXVlbmNlX3RhZyB0YWc7Cit0eXBlZGVmIG1wbDo6aW50ZWdyYWxfYzxzdGQ6OnNpemVfdCwzMD4gZnVuY3Rpb25fYXJpdHk7Cit0eXBlZGVmIG1wbDo6dmVjdG9yMzE8IFIgLCBUMCAsIFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSAsIFQyMCAsIFQyMSAsIFQyMiAsIFQyMyAsIFQyNCAsIFQyNSAsIFQyNiAsIFQyNyAsIFQyOCAsIFQyOSA+IHR5cGVzOworfTsKKwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvZnVuY3Rpb25fdHlwZXMvZGV0YWlsL2NvbXBvbmVudHNfaW1wbC9hcml0eTMwXzEuaHBwIGIvbmRuYm9vc3QvZnVuY3Rpb25fdHlwZXMvZGV0YWlsL2NvbXBvbmVudHNfaW1wbC9hcml0eTMwXzEuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFjNzc5OGYKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9mdW5jdGlvbl90eXBlcy9kZXRhaWwvY29tcG9uZW50c19pbXBsL2FyaXR5MzBfMS5ocHAKQEAgLTAsMCArMSwxMjMgQEAKKworLy8gKEMpIENvcHlyaWdodCBUb2JpYXMgU2Nod2luZ2VyCisvLworLy8gVXNlIG1vZGlmaWNhdGlvbiBhbmQgZGlzdHJpYnV0aW9uIGFyZSBzdWJqZWN0IHRvIHRoZSBib29zdCBTb2Z0d2FyZSBMaWNlbnNlLAorLy8gVmVyc2lvbiAxLjAuIChTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KS4KKworLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworLy8gbm8gaW5jbHVkZSBndWFyZHMsIHRoaXMgZmlsZSBpcyBpbnRlbmRlZCBmb3IgbXVsdGlwbGUgaW5jbHVzaW9uCisKKy8vIGlucHV0OiAgQk9PU1RfRlRfc3ludGF4ICAgICB0eXBlIG1hY3JvIHRvIHVzZQorLy8gaW5wdXQ6ICBCT09TVF9GVF9jYyAgICAgICAgIGVtcHR5IG9yIGNjIHNwZWNpZmllciAKKy8vIGlucHV0OiAgQk9PU1RfRlRfZWxsICAgICAgICBlbXB0eSBvciAiLi4uIgorLy8gaW5wdXQ6ICBCT09TVF9GVF9jdiAgICAgICAgIGVtcHR5IG9yIGN2IHF1YWxpZmllcnMKKy8vIGlucHV0OiAgQk9PU1RfRlRfZmxhZ3MgICAgICBzaW5nbGUgZGVjaW1hbCBpbnRlZ2VyIGVuY29kaW5nIHRoZSBmbGFncworLy8gb3V0cHV0OiBCT09TVF9GVF9uICAgICAgICAgIG51bWJlciBvZiBjb21wb25lbnQgdHlwZXMgKGFyaXR5KzEpCisvLyBvdXRwdXQ6IEJPT1NUX0ZUX2FyaXR5ICAgICAgY3VycmVudCBhcml0eQorLy8gb3V0cHV0OiBCT09TVF9GVF90eXBlICAgICAgIG1hY3JvIHRoYXQgZXhwYW5kcyB0byB0aGUgdHlwZQorLy8gb3V0cHV0OiBCT09TVF9GVF90cGxhcmdzKHApIHRlbXBsYXRlIGFyZ3VtZW50cyB3aXRoIGdpdmVuIHByZWZpeAorLy8gb3V0cHV0OiBCT09TVF9GVF9wYXJhbXMocCkgIHBhcmFtZXRlcnMgd2l0aCBnaXZlbiBwcmVmaXgKKworIyBpbmNsdWRlIDxuZG5ib29zdC9mdW5jdGlvbl90eXBlcy9kZXRhaWwvY29tcG9uZW50c19pbXBsL2FyaXR5MjBfMS5ocHA+Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgUiAsIHR5cGVuYW1lIFQwICwgdHlwZW5hbWUgVDEgLCB0eXBlbmFtZSBUMiAsIHR5cGVuYW1lIFQzICwgdHlwZW5hbWUgVDQgLCB0eXBlbmFtZSBUNSAsIHR5cGVuYW1lIFQ2ICwgdHlwZW5hbWUgVDcgLCB0eXBlbmFtZSBUOCAsIHR5cGVuYW1lIFQ5ICwgdHlwZW5hbWUgVDEwICwgdHlwZW5hbWUgVDExICwgdHlwZW5hbWUgVDEyICwgdHlwZW5hbWUgVDEzICwgdHlwZW5hbWUgVDE0ICwgdHlwZW5hbWUgVDE1ICwgdHlwZW5hbWUgVDE2ICwgdHlwZW5hbWUgVDE3ICwgdHlwZW5hbWUgVDE4ICwgdHlwZW5hbWUgVDE5ICwgdHlwZW5hbWUgVDIwLCB0eXBlbmFtZSBMPgorc3RydWN0IGNvbXBvbmVudHNfaW1wbDxCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsIEJPT1NUX1BQX0VNUFRZKSAoVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzICwgVDE0ICwgVDE1ICwgVDE2ICwgVDE3ICwgVDE4ICwgVDE5ICwgVDIwIEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YsIEw+Cit7Cit0eXBlZGVmIGVuY29kZV9iaXRzPEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkPiBiaXRzOwordHlwZWRlZiBjb25zdGFudDxCT09TVF9GVF9mdWxsX21hc2s+IG1hc2s7Cit0eXBlZGVmIGZ1bmN0aW9uX3R5cGVzOjpjb21wb25lbnRzPEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYywgQk9PU1RfUFBfRU1QVFkpIChUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgLCBUMTIgLCBUMTMgLCBUMTQgLCBUMTUgLCBUMTYgLCBUMTcgLCBUMTggLCBUMTkgLCBUMjAgQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdiwgTD4gdHlwZTsKK3R5cGVkZWYgY29tcG9uZW50c19tcGxfc2VxdWVuY2VfdGFnIHRhZzsKK3R5cGVkZWYgbXBsOjppbnRlZ3JhbF9jPHN0ZDo6c2l6ZV90LDIxPiBmdW5jdGlvbl9hcml0eTsKK3R5cGVkZWYgbXBsOjp2ZWN0b3IyMjwgUiwgdHlwZW5hbWUgY2xhc3NfdHJhbnNmb3JtPFQwIEJPT1NUX0ZUX2N2LCBMPiA6OnR5cGUgLCBUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgLCBUMTIgLCBUMTMgLCBUMTQgLCBUMTUgLCBUMTYgLCBUMTcgLCBUMTggLCBUMTkgLCBUMjAgPiB0eXBlczsKK307Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgUiAsIHR5cGVuYW1lIFQwICwgdHlwZW5hbWUgVDEgLCB0eXBlbmFtZSBUMiAsIHR5cGVuYW1lIFQzICwgdHlwZW5hbWUgVDQgLCB0eXBlbmFtZSBUNSAsIHR5cGVuYW1lIFQ2ICwgdHlwZW5hbWUgVDcgLCB0eXBlbmFtZSBUOCAsIHR5cGVuYW1lIFQ5ICwgdHlwZW5hbWUgVDEwICwgdHlwZW5hbWUgVDExICwgdHlwZW5hbWUgVDEyICwgdHlwZW5hbWUgVDEzICwgdHlwZW5hbWUgVDE0ICwgdHlwZW5hbWUgVDE1ICwgdHlwZW5hbWUgVDE2ICwgdHlwZW5hbWUgVDE3ICwgdHlwZW5hbWUgVDE4ICwgdHlwZW5hbWUgVDE5ICwgdHlwZW5hbWUgVDIwICwgdHlwZW5hbWUgVDIxLCB0eXBlbmFtZSBMPgorc3RydWN0IGNvbXBvbmVudHNfaW1wbDxCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsIEJPT1NUX1BQX0VNUFRZKSAoVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzICwgVDE0ICwgVDE1ICwgVDE2ICwgVDE3ICwgVDE4ICwgVDE5ICwgVDIwICwgVDIxIEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YsIEw+Cit7Cit0eXBlZGVmIGVuY29kZV9iaXRzPEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkPiBiaXRzOwordHlwZWRlZiBjb25zdGFudDxCT09TVF9GVF9mdWxsX21hc2s+IG1hc2s7Cit0eXBlZGVmIGZ1bmN0aW9uX3R5cGVzOjpjb21wb25lbnRzPEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYywgQk9PU1RfUFBfRU1QVFkpIChUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgLCBUMTIgLCBUMTMgLCBUMTQgLCBUMTUgLCBUMTYgLCBUMTcgLCBUMTggLCBUMTkgLCBUMjAgLCBUMjEgQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdiwgTD4gdHlwZTsKK3R5cGVkZWYgY29tcG9uZW50c19tcGxfc2VxdWVuY2VfdGFnIHRhZzsKK3R5cGVkZWYgbXBsOjppbnRlZ3JhbF9jPHN0ZDo6c2l6ZV90LDIyPiBmdW5jdGlvbl9hcml0eTsKK3R5cGVkZWYgbXBsOjp2ZWN0b3IyMzwgUiwgdHlwZW5hbWUgY2xhc3NfdHJhbnNmb3JtPFQwIEJPT1NUX0ZUX2N2LCBMPiA6OnR5cGUgLCBUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgLCBUMTIgLCBUMTMgLCBUMTQgLCBUMTUgLCBUMTYgLCBUMTcgLCBUMTggLCBUMTkgLCBUMjAgLCBUMjEgPiB0eXBlczsKK307Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgUiAsIHR5cGVuYW1lIFQwICwgdHlwZW5hbWUgVDEgLCB0eXBlbmFtZSBUMiAsIHR5cGVuYW1lIFQzICwgdHlwZW5hbWUgVDQgLCB0eXBlbmFtZSBUNSAsIHR5cGVuYW1lIFQ2ICwgdHlwZW5hbWUgVDcgLCB0eXBlbmFtZSBUOCAsIHR5cGVuYW1lIFQ5ICwgdHlwZW5hbWUgVDEwICwgdHlwZW5hbWUgVDExICwgdHlwZW5hbWUgVDEyICwgdHlwZW5hbWUgVDEzICwgdHlwZW5hbWUgVDE0ICwgdHlwZW5hbWUgVDE1ICwgdHlwZW5hbWUgVDE2ICwgdHlwZW5hbWUgVDE3ICwgdHlwZW5hbWUgVDE4ICwgdHlwZW5hbWUgVDE5ICwgdHlwZW5hbWUgVDIwICwgdHlwZW5hbWUgVDIxICwgdHlwZW5hbWUgVDIyLCB0eXBlbmFtZSBMPgorc3RydWN0IGNvbXBvbmVudHNfaW1wbDxCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsIEJPT1NUX1BQX0VNUFRZKSAoVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzICwgVDE0ICwgVDE1ICwgVDE2ICwgVDE3ICwgVDE4ICwgVDE5ICwgVDIwICwgVDIxICwgVDIyIEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YsIEw+Cit7Cit0eXBlZGVmIGVuY29kZV9iaXRzPEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkPiBiaXRzOwordHlwZWRlZiBjb25zdGFudDxCT09TVF9GVF9mdWxsX21hc2s+IG1hc2s7Cit0eXBlZGVmIGZ1bmN0aW9uX3R5cGVzOjpjb21wb25lbnRzPEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYywgQk9PU1RfUFBfRU1QVFkpIChUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgLCBUMTIgLCBUMTMgLCBUMTQgLCBUMTUgLCBUMTYgLCBUMTcgLCBUMTggLCBUMTkgLCBUMjAgLCBUMjEgLCBUMjIgQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdiwgTD4gdHlwZTsKK3R5cGVkZWYgY29tcG9uZW50c19tcGxfc2VxdWVuY2VfdGFnIHRhZzsKK3R5cGVkZWYgbXBsOjppbnRlZ3JhbF9jPHN0ZDo6c2l6ZV90LDIzPiBmdW5jdGlvbl9hcml0eTsKK3R5cGVkZWYgbXBsOjp2ZWN0b3IyNDwgUiwgdHlwZW5hbWUgY2xhc3NfdHJhbnNmb3JtPFQwIEJPT1NUX0ZUX2N2LCBMPiA6OnR5cGUgLCBUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgLCBUMTIgLCBUMTMgLCBUMTQgLCBUMTUgLCBUMTYgLCBUMTcgLCBUMTggLCBUMTkgLCBUMjAgLCBUMjEgLCBUMjIgPiB0eXBlczsKK307Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgUiAsIHR5cGVuYW1lIFQwICwgdHlwZW5hbWUgVDEgLCB0eXBlbmFtZSBUMiAsIHR5cGVuYW1lIFQzICwgdHlwZW5hbWUgVDQgLCB0eXBlbmFtZSBUNSAsIHR5cGVuYW1lIFQ2ICwgdHlwZW5hbWUgVDcgLCB0eXBlbmFtZSBUOCAsIHR5cGVuYW1lIFQ5ICwgdHlwZW5hbWUgVDEwICwgdHlwZW5hbWUgVDExICwgdHlwZW5hbWUgVDEyICwgdHlwZW5hbWUgVDEzICwgdHlwZW5hbWUgVDE0ICwgdHlwZW5hbWUgVDE1ICwgdHlwZW5hbWUgVDE2ICwgdHlwZW5hbWUgVDE3ICwgdHlwZW5hbWUgVDE4ICwgdHlwZW5hbWUgVDE5ICwgdHlwZW5hbWUgVDIwICwgdHlwZW5hbWUgVDIxICwgdHlwZW5hbWUgVDIyICwgdHlwZW5hbWUgVDIzLCB0eXBlbmFtZSBMPgorc3RydWN0IGNvbXBvbmVudHNfaW1wbDxCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsIEJPT1NUX1BQX0VNUFRZKSAoVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzICwgVDE0ICwgVDE1ICwgVDE2ICwgVDE3ICwgVDE4ICwgVDE5ICwgVDIwICwgVDIxICwgVDIyICwgVDIzIEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YsIEw+Cit7Cit0eXBlZGVmIGVuY29kZV9iaXRzPEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkPiBiaXRzOwordHlwZWRlZiBjb25zdGFudDxCT09TVF9GVF9mdWxsX21hc2s+IG1hc2s7Cit0eXBlZGVmIGZ1bmN0aW9uX3R5cGVzOjpjb21wb25lbnRzPEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYywgQk9PU1RfUFBfRU1QVFkpIChUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgLCBUMTIgLCBUMTMgLCBUMTQgLCBUMTUgLCBUMTYgLCBUMTcgLCBUMTggLCBUMTkgLCBUMjAgLCBUMjEgLCBUMjIgLCBUMjMgQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdiwgTD4gdHlwZTsKK3R5cGVkZWYgY29tcG9uZW50c19tcGxfc2VxdWVuY2VfdGFnIHRhZzsKK3R5cGVkZWYgbXBsOjppbnRlZ3JhbF9jPHN0ZDo6c2l6ZV90LDI0PiBmdW5jdGlvbl9hcml0eTsKK3R5cGVkZWYgbXBsOjp2ZWN0b3IyNTwgUiwgdHlwZW5hbWUgY2xhc3NfdHJhbnNmb3JtPFQwIEJPT1NUX0ZUX2N2LCBMPiA6OnR5cGUgLCBUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgLCBUMTIgLCBUMTMgLCBUMTQgLCBUMTUgLCBUMTYgLCBUMTcgLCBUMTggLCBUMTkgLCBUMjAgLCBUMjEgLCBUMjIgLCBUMjMgPiB0eXBlczsKK307Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgUiAsIHR5cGVuYW1lIFQwICwgdHlwZW5hbWUgVDEgLCB0eXBlbmFtZSBUMiAsIHR5cGVuYW1lIFQzICwgdHlwZW5hbWUgVDQgLCB0eXBlbmFtZSBUNSAsIHR5cGVuYW1lIFQ2ICwgdHlwZW5hbWUgVDcgLCB0eXBlbmFtZSBUOCAsIHR5cGVuYW1lIFQ5ICwgdHlwZW5hbWUgVDEwICwgdHlwZW5hbWUgVDExICwgdHlwZW5hbWUgVDEyICwgdHlwZW5hbWUgVDEzICwgdHlwZW5hbWUgVDE0ICwgdHlwZW5hbWUgVDE1ICwgdHlwZW5hbWUgVDE2ICwgdHlwZW5hbWUgVDE3ICwgdHlwZW5hbWUgVDE4ICwgdHlwZW5hbWUgVDE5ICwgdHlwZW5hbWUgVDIwICwgdHlwZW5hbWUgVDIxICwgdHlwZW5hbWUgVDIyICwgdHlwZW5hbWUgVDIzICwgdHlwZW5hbWUgVDI0LCB0eXBlbmFtZSBMPgorc3RydWN0IGNvbXBvbmVudHNfaW1wbDxCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsIEJPT1NUX1BQX0VNUFRZKSAoVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzICwgVDE0ICwgVDE1ICwgVDE2ICwgVDE3ICwgVDE4ICwgVDE5ICwgVDIwICwgVDIxICwgVDIyICwgVDIzICwgVDI0IEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YsIEw+Cit7Cit0eXBlZGVmIGVuY29kZV9iaXRzPEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkPiBiaXRzOwordHlwZWRlZiBjb25zdGFudDxCT09TVF9GVF9mdWxsX21hc2s+IG1hc2s7Cit0eXBlZGVmIGZ1bmN0aW9uX3R5cGVzOjpjb21wb25lbnRzPEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYywgQk9PU1RfUFBfRU1QVFkpIChUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgLCBUMTIgLCBUMTMgLCBUMTQgLCBUMTUgLCBUMTYgLCBUMTcgLCBUMTggLCBUMTkgLCBUMjAgLCBUMjEgLCBUMjIgLCBUMjMgLCBUMjQgQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdiwgTD4gdHlwZTsKK3R5cGVkZWYgY29tcG9uZW50c19tcGxfc2VxdWVuY2VfdGFnIHRhZzsKK3R5cGVkZWYgbXBsOjppbnRlZ3JhbF9jPHN0ZDo6c2l6ZV90LDI1PiBmdW5jdGlvbl9hcml0eTsKK3R5cGVkZWYgbXBsOjp2ZWN0b3IyNjwgUiwgdHlwZW5hbWUgY2xhc3NfdHJhbnNmb3JtPFQwIEJPT1NUX0ZUX2N2LCBMPiA6OnR5cGUgLCBUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgLCBUMTIgLCBUMTMgLCBUMTQgLCBUMTUgLCBUMTYgLCBUMTcgLCBUMTggLCBUMTkgLCBUMjAgLCBUMjEgLCBUMjIgLCBUMjMgLCBUMjQgPiB0eXBlczsKK307Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgUiAsIHR5cGVuYW1lIFQwICwgdHlwZW5hbWUgVDEgLCB0eXBlbmFtZSBUMiAsIHR5cGVuYW1lIFQzICwgdHlwZW5hbWUgVDQgLCB0eXBlbmFtZSBUNSAsIHR5cGVuYW1lIFQ2ICwgdHlwZW5hbWUgVDcgLCB0eXBlbmFtZSBUOCAsIHR5cGVuYW1lIFQ5ICwgdHlwZW5hbWUgVDEwICwgdHlwZW5hbWUgVDExICwgdHlwZW5hbWUgVDEyICwgdHlwZW5hbWUgVDEzICwgdHlwZW5hbWUgVDE0ICwgdHlwZW5hbWUgVDE1ICwgdHlwZW5hbWUgVDE2ICwgdHlwZW5hbWUgVDE3ICwgdHlwZW5hbWUgVDE4ICwgdHlwZW5hbWUgVDE5ICwgdHlwZW5hbWUgVDIwICwgdHlwZW5hbWUgVDIxICwgdHlwZW5hbWUgVDIyICwgdHlwZW5hbWUgVDIzICwgdHlwZW5hbWUgVDI0ICwgdHlwZW5hbWUgVDI1LCB0eXBlbmFtZSBMPgorc3RydWN0IGNvbXBvbmVudHNfaW1wbDxCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsIEJPT1NUX1BQX0VNUFRZKSAoVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzICwgVDE0ICwgVDE1ICwgVDE2ICwgVDE3ICwgVDE4ICwgVDE5ICwgVDIwICwgVDIxICwgVDIyICwgVDIzICwgVDI0ICwgVDI1IEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YsIEw+Cit7Cit0eXBlZGVmIGVuY29kZV9iaXRzPEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkPiBiaXRzOwordHlwZWRlZiBjb25zdGFudDxCT09TVF9GVF9mdWxsX21hc2s+IG1hc2s7Cit0eXBlZGVmIGZ1bmN0aW9uX3R5cGVzOjpjb21wb25lbnRzPEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYywgQk9PU1RfUFBfRU1QVFkpIChUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgLCBUMTIgLCBUMTMgLCBUMTQgLCBUMTUgLCBUMTYgLCBUMTcgLCBUMTggLCBUMTkgLCBUMjAgLCBUMjEgLCBUMjIgLCBUMjMgLCBUMjQgLCBUMjUgQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdiwgTD4gdHlwZTsKK3R5cGVkZWYgY29tcG9uZW50c19tcGxfc2VxdWVuY2VfdGFnIHRhZzsKK3R5cGVkZWYgbXBsOjppbnRlZ3JhbF9jPHN0ZDo6c2l6ZV90LDI2PiBmdW5jdGlvbl9hcml0eTsKK3R5cGVkZWYgbXBsOjp2ZWN0b3IyNzwgUiwgdHlwZW5hbWUgY2xhc3NfdHJhbnNmb3JtPFQwIEJPT1NUX0ZUX2N2LCBMPiA6OnR5cGUgLCBUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgLCBUMTIgLCBUMTMgLCBUMTQgLCBUMTUgLCBUMTYgLCBUMTcgLCBUMTggLCBUMTkgLCBUMjAgLCBUMjEgLCBUMjIgLCBUMjMgLCBUMjQgLCBUMjUgPiB0eXBlczsKK307Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgUiAsIHR5cGVuYW1lIFQwICwgdHlwZW5hbWUgVDEgLCB0eXBlbmFtZSBUMiAsIHR5cGVuYW1lIFQzICwgdHlwZW5hbWUgVDQgLCB0eXBlbmFtZSBUNSAsIHR5cGVuYW1lIFQ2ICwgdHlwZW5hbWUgVDcgLCB0eXBlbmFtZSBUOCAsIHR5cGVuYW1lIFQ5ICwgdHlwZW5hbWUgVDEwICwgdHlwZW5hbWUgVDExICwgdHlwZW5hbWUgVDEyICwgdHlwZW5hbWUgVDEzICwgdHlwZW5hbWUgVDE0ICwgdHlwZW5hbWUgVDE1ICwgdHlwZW5hbWUgVDE2ICwgdHlwZW5hbWUgVDE3ICwgdHlwZW5hbWUgVDE4ICwgdHlwZW5hbWUgVDE5ICwgdHlwZW5hbWUgVDIwICwgdHlwZW5hbWUgVDIxICwgdHlwZW5hbWUgVDIyICwgdHlwZW5hbWUgVDIzICwgdHlwZW5hbWUgVDI0ICwgdHlwZW5hbWUgVDI1ICwgdHlwZW5hbWUgVDI2LCB0eXBlbmFtZSBMPgorc3RydWN0IGNvbXBvbmVudHNfaW1wbDxCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsIEJPT1NUX1BQX0VNUFRZKSAoVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzICwgVDE0ICwgVDE1ICwgVDE2ICwgVDE3ICwgVDE4ICwgVDE5ICwgVDIwICwgVDIxICwgVDIyICwgVDIzICwgVDI0ICwgVDI1ICwgVDI2IEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YsIEw+Cit7Cit0eXBlZGVmIGVuY29kZV9iaXRzPEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkPiBiaXRzOwordHlwZWRlZiBjb25zdGFudDxCT09TVF9GVF9mdWxsX21hc2s+IG1hc2s7Cit0eXBlZGVmIGZ1bmN0aW9uX3R5cGVzOjpjb21wb25lbnRzPEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYywgQk9PU1RfUFBfRU1QVFkpIChUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgLCBUMTIgLCBUMTMgLCBUMTQgLCBUMTUgLCBUMTYgLCBUMTcgLCBUMTggLCBUMTkgLCBUMjAgLCBUMjEgLCBUMjIgLCBUMjMgLCBUMjQgLCBUMjUgLCBUMjYgQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdiwgTD4gdHlwZTsKK3R5cGVkZWYgY29tcG9uZW50c19tcGxfc2VxdWVuY2VfdGFnIHRhZzsKK3R5cGVkZWYgbXBsOjppbnRlZ3JhbF9jPHN0ZDo6c2l6ZV90LDI3PiBmdW5jdGlvbl9hcml0eTsKK3R5cGVkZWYgbXBsOjp2ZWN0b3IyODwgUiwgdHlwZW5hbWUgY2xhc3NfdHJhbnNmb3JtPFQwIEJPT1NUX0ZUX2N2LCBMPiA6OnR5cGUgLCBUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgLCBUMTIgLCBUMTMgLCBUMTQgLCBUMTUgLCBUMTYgLCBUMTcgLCBUMTggLCBUMTkgLCBUMjAgLCBUMjEgLCBUMjIgLCBUMjMgLCBUMjQgLCBUMjUgLCBUMjYgPiB0eXBlczsKK307Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgUiAsIHR5cGVuYW1lIFQwICwgdHlwZW5hbWUgVDEgLCB0eXBlbmFtZSBUMiAsIHR5cGVuYW1lIFQzICwgdHlwZW5hbWUgVDQgLCB0eXBlbmFtZSBUNSAsIHR5cGVuYW1lIFQ2ICwgdHlwZW5hbWUgVDcgLCB0eXBlbmFtZSBUOCAsIHR5cGVuYW1lIFQ5ICwgdHlwZW5hbWUgVDEwICwgdHlwZW5hbWUgVDExICwgdHlwZW5hbWUgVDEyICwgdHlwZW5hbWUgVDEzICwgdHlwZW5hbWUgVDE0ICwgdHlwZW5hbWUgVDE1ICwgdHlwZW5hbWUgVDE2ICwgdHlwZW5hbWUgVDE3ICwgdHlwZW5hbWUgVDE4ICwgdHlwZW5hbWUgVDE5ICwgdHlwZW5hbWUgVDIwICwgdHlwZW5hbWUgVDIxICwgdHlwZW5hbWUgVDIyICwgdHlwZW5hbWUgVDIzICwgdHlwZW5hbWUgVDI0ICwgdHlwZW5hbWUgVDI1ICwgdHlwZW5hbWUgVDI2ICwgdHlwZW5hbWUgVDI3LCB0eXBlbmFtZSBMPgorc3RydWN0IGNvbXBvbmVudHNfaW1wbDxCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsIEJPT1NUX1BQX0VNUFRZKSAoVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzICwgVDE0ICwgVDE1ICwgVDE2ICwgVDE3ICwgVDE4ICwgVDE5ICwgVDIwICwgVDIxICwgVDIyICwgVDIzICwgVDI0ICwgVDI1ICwgVDI2ICwgVDI3IEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YsIEw+Cit7Cit0eXBlZGVmIGVuY29kZV9iaXRzPEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkPiBiaXRzOwordHlwZWRlZiBjb25zdGFudDxCT09TVF9GVF9mdWxsX21hc2s+IG1hc2s7Cit0eXBlZGVmIGZ1bmN0aW9uX3R5cGVzOjpjb21wb25lbnRzPEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYywgQk9PU1RfUFBfRU1QVFkpIChUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgLCBUMTIgLCBUMTMgLCBUMTQgLCBUMTUgLCBUMTYgLCBUMTcgLCBUMTggLCBUMTkgLCBUMjAgLCBUMjEgLCBUMjIgLCBUMjMgLCBUMjQgLCBUMjUgLCBUMjYgLCBUMjcgQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdiwgTD4gdHlwZTsKK3R5cGVkZWYgY29tcG9uZW50c19tcGxfc2VxdWVuY2VfdGFnIHRhZzsKK3R5cGVkZWYgbXBsOjppbnRlZ3JhbF9jPHN0ZDo6c2l6ZV90LDI4PiBmdW5jdGlvbl9hcml0eTsKK3R5cGVkZWYgbXBsOjp2ZWN0b3IyOTwgUiwgdHlwZW5hbWUgY2xhc3NfdHJhbnNmb3JtPFQwIEJPT1NUX0ZUX2N2LCBMPiA6OnR5cGUgLCBUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgLCBUMTIgLCBUMTMgLCBUMTQgLCBUMTUgLCBUMTYgLCBUMTcgLCBUMTggLCBUMTkgLCBUMjAgLCBUMjEgLCBUMjIgLCBUMjMgLCBUMjQgLCBUMjUgLCBUMjYgLCBUMjcgPiB0eXBlczsKK307Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgUiAsIHR5cGVuYW1lIFQwICwgdHlwZW5hbWUgVDEgLCB0eXBlbmFtZSBUMiAsIHR5cGVuYW1lIFQzICwgdHlwZW5hbWUgVDQgLCB0eXBlbmFtZSBUNSAsIHR5cGVuYW1lIFQ2ICwgdHlwZW5hbWUgVDcgLCB0eXBlbmFtZSBUOCAsIHR5cGVuYW1lIFQ5ICwgdHlwZW5hbWUgVDEwICwgdHlwZW5hbWUgVDExICwgdHlwZW5hbWUgVDEyICwgdHlwZW5hbWUgVDEzICwgdHlwZW5hbWUgVDE0ICwgdHlwZW5hbWUgVDE1ICwgdHlwZW5hbWUgVDE2ICwgdHlwZW5hbWUgVDE3ICwgdHlwZW5hbWUgVDE4ICwgdHlwZW5hbWUgVDE5ICwgdHlwZW5hbWUgVDIwICwgdHlwZW5hbWUgVDIxICwgdHlwZW5hbWUgVDIyICwgdHlwZW5hbWUgVDIzICwgdHlwZW5hbWUgVDI0ICwgdHlwZW5hbWUgVDI1ICwgdHlwZW5hbWUgVDI2ICwgdHlwZW5hbWUgVDI3ICwgdHlwZW5hbWUgVDI4LCB0eXBlbmFtZSBMPgorc3RydWN0IGNvbXBvbmVudHNfaW1wbDxCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsIEJPT1NUX1BQX0VNUFRZKSAoVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzICwgVDE0ICwgVDE1ICwgVDE2ICwgVDE3ICwgVDE4ICwgVDE5ICwgVDIwICwgVDIxICwgVDIyICwgVDIzICwgVDI0ICwgVDI1ICwgVDI2ICwgVDI3ICwgVDI4IEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YsIEw+Cit7Cit0eXBlZGVmIGVuY29kZV9iaXRzPEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkPiBiaXRzOwordHlwZWRlZiBjb25zdGFudDxCT09TVF9GVF9mdWxsX21hc2s+IG1hc2s7Cit0eXBlZGVmIGZ1bmN0aW9uX3R5cGVzOjpjb21wb25lbnRzPEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYywgQk9PU1RfUFBfRU1QVFkpIChUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgLCBUMTIgLCBUMTMgLCBUMTQgLCBUMTUgLCBUMTYgLCBUMTcgLCBUMTggLCBUMTkgLCBUMjAgLCBUMjEgLCBUMjIgLCBUMjMgLCBUMjQgLCBUMjUgLCBUMjYgLCBUMjcgLCBUMjggQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdiwgTD4gdHlwZTsKK3R5cGVkZWYgY29tcG9uZW50c19tcGxfc2VxdWVuY2VfdGFnIHRhZzsKK3R5cGVkZWYgbXBsOjppbnRlZ3JhbF9jPHN0ZDo6c2l6ZV90LDI5PiBmdW5jdGlvbl9hcml0eTsKK3R5cGVkZWYgbXBsOjp2ZWN0b3IzMDwgUiwgdHlwZW5hbWUgY2xhc3NfdHJhbnNmb3JtPFQwIEJPT1NUX0ZUX2N2LCBMPiA6OnR5cGUgLCBUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgLCBUMTIgLCBUMTMgLCBUMTQgLCBUMTUgLCBUMTYgLCBUMTcgLCBUMTggLCBUMTkgLCBUMjAgLCBUMjEgLCBUMjIgLCBUMjMgLCBUMjQgLCBUMjUgLCBUMjYgLCBUMjcgLCBUMjggPiB0eXBlczsKK307Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgUiAsIHR5cGVuYW1lIFQwICwgdHlwZW5hbWUgVDEgLCB0eXBlbmFtZSBUMiAsIHR5cGVuYW1lIFQzICwgdHlwZW5hbWUgVDQgLCB0eXBlbmFtZSBUNSAsIHR5cGVuYW1lIFQ2ICwgdHlwZW5hbWUgVDcgLCB0eXBlbmFtZSBUOCAsIHR5cGVuYW1lIFQ5ICwgdHlwZW5hbWUgVDEwICwgdHlwZW5hbWUgVDExICwgdHlwZW5hbWUgVDEyICwgdHlwZW5hbWUgVDEzICwgdHlwZW5hbWUgVDE0ICwgdHlwZW5hbWUgVDE1ICwgdHlwZW5hbWUgVDE2ICwgdHlwZW5hbWUgVDE3ICwgdHlwZW5hbWUgVDE4ICwgdHlwZW5hbWUgVDE5ICwgdHlwZW5hbWUgVDIwICwgdHlwZW5hbWUgVDIxICwgdHlwZW5hbWUgVDIyICwgdHlwZW5hbWUgVDIzICwgdHlwZW5hbWUgVDI0ICwgdHlwZW5hbWUgVDI1ICwgdHlwZW5hbWUgVDI2ICwgdHlwZW5hbWUgVDI3ICwgdHlwZW5hbWUgVDI4ICwgdHlwZW5hbWUgVDI5LCB0eXBlbmFtZSBMPgorc3RydWN0IGNvbXBvbmVudHNfaW1wbDxCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsIEJPT1NUX1BQX0VNUFRZKSAoVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzICwgVDE0ICwgVDE1ICwgVDE2ICwgVDE3ICwgVDE4ICwgVDE5ICwgVDIwICwgVDIxICwgVDIyICwgVDIzICwgVDI0ICwgVDI1ICwgVDI2ICwgVDI3ICwgVDI4ICwgVDI5IEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YsIEw+Cit7Cit0eXBlZGVmIGVuY29kZV9iaXRzPEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkPiBiaXRzOwordHlwZWRlZiBjb25zdGFudDxCT09TVF9GVF9mdWxsX21hc2s+IG1hc2s7Cit0eXBlZGVmIGZ1bmN0aW9uX3R5cGVzOjpjb21wb25lbnRzPEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYywgQk9PU1RfUFBfRU1QVFkpIChUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgLCBUMTIgLCBUMTMgLCBUMTQgLCBUMTUgLCBUMTYgLCBUMTcgLCBUMTggLCBUMTkgLCBUMjAgLCBUMjEgLCBUMjIgLCBUMjMgLCBUMjQgLCBUMjUgLCBUMjYgLCBUMjcgLCBUMjggLCBUMjkgQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdiwgTD4gdHlwZTsKK3R5cGVkZWYgY29tcG9uZW50c19tcGxfc2VxdWVuY2VfdGFnIHRhZzsKK3R5cGVkZWYgbXBsOjppbnRlZ3JhbF9jPHN0ZDo6c2l6ZV90LDMwPiBmdW5jdGlvbl9hcml0eTsKK3R5cGVkZWYgbXBsOjp2ZWN0b3IzMTwgUiwgdHlwZW5hbWUgY2xhc3NfdHJhbnNmb3JtPFQwIEJPT1NUX0ZUX2N2LCBMPiA6OnR5cGUgLCBUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgLCBUMTIgLCBUMTMgLCBUMTQgLCBUMTUgLCBUMTYgLCBUMTcgLCBUMTggLCBUMTkgLCBUMjAgLCBUMjEgLCBUMjIgLCBUMjMgLCBUMjQgLCBUMjUgLCBUMjYgLCBUMjcgLCBUMjggLCBUMjkgPiB0eXBlczsKK307CisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L2Z1bmN0aW9uX3R5cGVzL2RldGFpbC9jb21wb25lbnRzX2ltcGwvYXJpdHk0MF8wLmhwcCBiL25kbmJvb3N0L2Z1bmN0aW9uX3R5cGVzL2RldGFpbC9jb21wb25lbnRzX2ltcGwvYXJpdHk0MF8wLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNDU3YmQ3Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvZnVuY3Rpb25fdHlwZXMvZGV0YWlsL2NvbXBvbmVudHNfaW1wbC9hcml0eTQwXzAuaHBwCkBAIC0wLDAgKzEsMTIzIEBACisKKy8vIChDKSBDb3B5cmlnaHQgVG9iaWFzIFNjaHdpbmdlcgorLy8KKy8vIFVzZSBtb2RpZmljYXRpb24gYW5kIGRpc3RyaWJ1dGlvbiBhcmUgc3ViamVjdCB0byB0aGUgYm9vc3QgU29mdHdhcmUgTGljZW5zZSwKKy8vIFZlcnNpb24gMS4wLiAoU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkuCisKKy8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKy8vIG5vIGluY2x1ZGUgZ3VhcmRzLCB0aGlzIGZpbGUgaXMgaW50ZW5kZWQgZm9yIG11bHRpcGxlIGluY2x1c2lvbgorCisvLyBpbnB1dDogIEJPT1NUX0ZUX3N5bnRheCAgICAgdHlwZSBtYWNybyB0byB1c2UKKy8vIGlucHV0OiAgQk9PU1RfRlRfY2MgICAgICAgICBlbXB0eSBvciBjYyBzcGVjaWZpZXIgCisvLyBpbnB1dDogIEJPT1NUX0ZUX2VsbCAgICAgICAgZW1wdHkgb3IgIi4uLiIKKy8vIGlucHV0OiAgQk9PU1RfRlRfY3YgICAgICAgICBlbXB0eSBvciBjdiBxdWFsaWZpZXJzCisvLyBpbnB1dDogIEJPT1NUX0ZUX2ZsYWdzICAgICAgc2luZ2xlIGRlY2ltYWwgaW50ZWdlciBlbmNvZGluZyB0aGUgZmxhZ3MKKy8vIG91dHB1dDogQk9PU1RfRlRfbiAgICAgICAgICBudW1iZXIgb2YgY29tcG9uZW50IHR5cGVzIChhcml0eSsxKQorLy8gb3V0cHV0OiBCT09TVF9GVF9hcml0eSAgICAgIGN1cnJlbnQgYXJpdHkKKy8vIG91dHB1dDogQk9PU1RfRlRfdHlwZSAgICAgICBtYWNybyB0aGF0IGV4cGFuZHMgdG8gdGhlIHR5cGUKKy8vIG91dHB1dDogQk9PU1RfRlRfdHBsYXJncyhwKSB0ZW1wbGF0ZSBhcmd1bWVudHMgd2l0aCBnaXZlbiBwcmVmaXgKKy8vIG91dHB1dDogQk9PU1RfRlRfcGFyYW1zKHApICBwYXJhbWV0ZXJzIHdpdGggZ2l2ZW4gcHJlZml4CisKKyMgaW5jbHVkZSA8bmRuYm9vc3QvZnVuY3Rpb25fdHlwZXMvZGV0YWlsL2NvbXBvbmVudHNfaW1wbC9hcml0eTMwXzAuaHBwPgordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIgLCB0eXBlbmFtZSBUMyAsIHR5cGVuYW1lIFQ0ICwgdHlwZW5hbWUgVDUgLCB0eXBlbmFtZSBUNiAsIHR5cGVuYW1lIFQ3ICwgdHlwZW5hbWUgVDggLCB0eXBlbmFtZSBUOSAsIHR5cGVuYW1lIFQxMCAsIHR5cGVuYW1lIFQxMSAsIHR5cGVuYW1lIFQxMiAsIHR5cGVuYW1lIFQxMyAsIHR5cGVuYW1lIFQxNCAsIHR5cGVuYW1lIFQxNSAsIHR5cGVuYW1lIFQxNiAsIHR5cGVuYW1lIFQxNyAsIHR5cGVuYW1lIFQxOCAsIHR5cGVuYW1lIFQxOSAsIHR5cGVuYW1lIFQyMCAsIHR5cGVuYW1lIFQyMSAsIHR5cGVuYW1lIFQyMiAsIHR5cGVuYW1lIFQyMyAsIHR5cGVuYW1lIFQyNCAsIHR5cGVuYW1lIFQyNSAsIHR5cGVuYW1lIFQyNiAsIHR5cGVuYW1lIFQyNyAsIHR5cGVuYW1lIFQyOCAsIHR5cGVuYW1lIFQyOSAsIHR5cGVuYW1lIFQzMCwgdHlwZW5hbWUgTD4KK3N0cnVjdCBjb21wb25lbnRzX2ltcGw8Qk9PU1RfRlRfc3ludGF4KEJPT1NUX0ZUX2NjLCBCT09TVF9QUF9FTVBUWSkgKFQwICwgVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzICwgVDE0ICwgVDE1ICwgVDE2ICwgVDE3ICwgVDE4ICwgVDE5ICwgVDIwICwgVDIxICwgVDIyICwgVDIzICwgVDI0ICwgVDI1ICwgVDI2ICwgVDI3ICwgVDI4ICwgVDI5ICwgVDMwIEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YsIEw+Cit7Cit0eXBlZGVmIGVuY29kZV9iaXRzPEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkPiBiaXRzOwordHlwZWRlZiBjb25zdGFudDxCT09TVF9GVF9mdWxsX21hc2s+IG1hc2s7Cit0eXBlZGVmIGZ1bmN0aW9uX3R5cGVzOjpjb21wb25lbnRzPEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYywgQk9PU1RfUFBfRU1QVFkpIChUMCAsIFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSAsIFQyMCAsIFQyMSAsIFQyMiAsIFQyMyAsIFQyNCAsIFQyNSAsIFQyNiAsIFQyNyAsIFQyOCAsIFQyOSAsIFQzMCBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2LCBMPiB0eXBlOwordHlwZWRlZiBjb21wb25lbnRzX21wbF9zZXF1ZW5jZV90YWcgdGFnOwordHlwZWRlZiBtcGw6OmludGVncmFsX2M8c3RkOjpzaXplX3QsMzE+IGZ1bmN0aW9uX2FyaXR5OwordHlwZWRlZiBtcGw6OnZlY3RvcjMyPCBSICwgVDAgLCBUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgLCBUMTIgLCBUMTMgLCBUMTQgLCBUMTUgLCBUMTYgLCBUMTcgLCBUMTggLCBUMTkgLCBUMjAgLCBUMjEgLCBUMjIgLCBUMjMgLCBUMjQgLCBUMjUgLCBUMjYgLCBUMjcgLCBUMjggLCBUMjkgLCBUMzAgPiB0eXBlczsKK307Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgUiAsIHR5cGVuYW1lIFQwICwgdHlwZW5hbWUgVDEgLCB0eXBlbmFtZSBUMiAsIHR5cGVuYW1lIFQzICwgdHlwZW5hbWUgVDQgLCB0eXBlbmFtZSBUNSAsIHR5cGVuYW1lIFQ2ICwgdHlwZW5hbWUgVDcgLCB0eXBlbmFtZSBUOCAsIHR5cGVuYW1lIFQ5ICwgdHlwZW5hbWUgVDEwICwgdHlwZW5hbWUgVDExICwgdHlwZW5hbWUgVDEyICwgdHlwZW5hbWUgVDEzICwgdHlwZW5hbWUgVDE0ICwgdHlwZW5hbWUgVDE1ICwgdHlwZW5hbWUgVDE2ICwgdHlwZW5hbWUgVDE3ICwgdHlwZW5hbWUgVDE4ICwgdHlwZW5hbWUgVDE5ICwgdHlwZW5hbWUgVDIwICwgdHlwZW5hbWUgVDIxICwgdHlwZW5hbWUgVDIyICwgdHlwZW5hbWUgVDIzICwgdHlwZW5hbWUgVDI0ICwgdHlwZW5hbWUgVDI1ICwgdHlwZW5hbWUgVDI2ICwgdHlwZW5hbWUgVDI3ICwgdHlwZW5hbWUgVDI4ICwgdHlwZW5hbWUgVDI5ICwgdHlwZW5hbWUgVDMwICwgdHlwZW5hbWUgVDMxLCB0eXBlbmFtZSBMPgorc3RydWN0IGNvbXBvbmVudHNfaW1wbDxCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsIEJPT1NUX1BQX0VNUFRZKSAoVDAgLCBUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgLCBUMTIgLCBUMTMgLCBUMTQgLCBUMTUgLCBUMTYgLCBUMTcgLCBUMTggLCBUMTkgLCBUMjAgLCBUMjEgLCBUMjIgLCBUMjMgLCBUMjQgLCBUMjUgLCBUMjYgLCBUMjcgLCBUMjggLCBUMjkgLCBUMzAgLCBUMzEgQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdiwgTD4KK3sKK3R5cGVkZWYgZW5jb2RlX2JpdHM8Qk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQ+IGJpdHM7Cit0eXBlZGVmIGNvbnN0YW50PEJPT1NUX0ZUX2Z1bGxfbWFzaz4gbWFzazsKK3R5cGVkZWYgZnVuY3Rpb25fdHlwZXM6OmNvbXBvbmVudHM8Qk9PU1RfRlRfc3ludGF4KEJPT1NUX0ZUX2NjLCBCT09TVF9QUF9FTVBUWSkgKFQwICwgVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzICwgVDE0ICwgVDE1ICwgVDE2ICwgVDE3ICwgVDE4ICwgVDE5ICwgVDIwICwgVDIxICwgVDIyICwgVDIzICwgVDI0ICwgVDI1ICwgVDI2ICwgVDI3ICwgVDI4ICwgVDI5ICwgVDMwICwgVDMxIEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YsIEw+IHR5cGU7Cit0eXBlZGVmIGNvbXBvbmVudHNfbXBsX3NlcXVlbmNlX3RhZyB0YWc7Cit0eXBlZGVmIG1wbDo6aW50ZWdyYWxfYzxzdGQ6OnNpemVfdCwzMj4gZnVuY3Rpb25fYXJpdHk7Cit0eXBlZGVmIG1wbDo6dmVjdG9yMzM8IFIgLCBUMCAsIFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSAsIFQyMCAsIFQyMSAsIFQyMiAsIFQyMyAsIFQyNCAsIFQyNSAsIFQyNiAsIFQyNyAsIFQyOCAsIFQyOSAsIFQzMCAsIFQzMSA+IHR5cGVzOworfTsKK3RlbXBsYXRlPCB0eXBlbmFtZSBSICwgdHlwZW5hbWUgVDAgLCB0eXBlbmFtZSBUMSAsIHR5cGVuYW1lIFQyICwgdHlwZW5hbWUgVDMgLCB0eXBlbmFtZSBUNCAsIHR5cGVuYW1lIFQ1ICwgdHlwZW5hbWUgVDYgLCB0eXBlbmFtZSBUNyAsIHR5cGVuYW1lIFQ4ICwgdHlwZW5hbWUgVDkgLCB0eXBlbmFtZSBUMTAgLCB0eXBlbmFtZSBUMTEgLCB0eXBlbmFtZSBUMTIgLCB0eXBlbmFtZSBUMTMgLCB0eXBlbmFtZSBUMTQgLCB0eXBlbmFtZSBUMTUgLCB0eXBlbmFtZSBUMTYgLCB0eXBlbmFtZSBUMTcgLCB0eXBlbmFtZSBUMTggLCB0eXBlbmFtZSBUMTkgLCB0eXBlbmFtZSBUMjAgLCB0eXBlbmFtZSBUMjEgLCB0eXBlbmFtZSBUMjIgLCB0eXBlbmFtZSBUMjMgLCB0eXBlbmFtZSBUMjQgLCB0eXBlbmFtZSBUMjUgLCB0eXBlbmFtZSBUMjYgLCB0eXBlbmFtZSBUMjcgLCB0eXBlbmFtZSBUMjggLCB0eXBlbmFtZSBUMjkgLCB0eXBlbmFtZSBUMzAgLCB0eXBlbmFtZSBUMzEgLCB0eXBlbmFtZSBUMzIsIHR5cGVuYW1lIEw+CitzdHJ1Y3QgY29tcG9uZW50c19pbXBsPEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYywgQk9PU1RfUFBfRU1QVFkpIChUMCAsIFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSAsIFQyMCAsIFQyMSAsIFQyMiAsIFQyMyAsIFQyNCAsIFQyNSAsIFQyNiAsIFQyNyAsIFQyOCAsIFQyOSAsIFQzMCAsIFQzMSAsIFQzMiBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2LCBMPgorewordHlwZWRlZiBlbmNvZGVfYml0czxCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZD4gYml0czsKK3R5cGVkZWYgY29uc3RhbnQ8Qk9PU1RfRlRfZnVsbF9tYXNrPiBtYXNrOwordHlwZWRlZiBmdW5jdGlvbl90eXBlczo6Y29tcG9uZW50czxCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsIEJPT1NUX1BQX0VNUFRZKSAoVDAgLCBUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgLCBUMTIgLCBUMTMgLCBUMTQgLCBUMTUgLCBUMTYgLCBUMTcgLCBUMTggLCBUMTkgLCBUMjAgLCBUMjEgLCBUMjIgLCBUMjMgLCBUMjQgLCBUMjUgLCBUMjYgLCBUMjcgLCBUMjggLCBUMjkgLCBUMzAgLCBUMzEgLCBUMzIgQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdiwgTD4gdHlwZTsKK3R5cGVkZWYgY29tcG9uZW50c19tcGxfc2VxdWVuY2VfdGFnIHRhZzsKK3R5cGVkZWYgbXBsOjppbnRlZ3JhbF9jPHN0ZDo6c2l6ZV90LDMzPiBmdW5jdGlvbl9hcml0eTsKK3R5cGVkZWYgbXBsOjp2ZWN0b3IzNDwgUiAsIFQwICwgVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzICwgVDE0ICwgVDE1ICwgVDE2ICwgVDE3ICwgVDE4ICwgVDE5ICwgVDIwICwgVDIxICwgVDIyICwgVDIzICwgVDI0ICwgVDI1ICwgVDI2ICwgVDI3ICwgVDI4ICwgVDI5ICwgVDMwICwgVDMxICwgVDMyID4gdHlwZXM7Cit9OwordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIgLCB0eXBlbmFtZSBUMyAsIHR5cGVuYW1lIFQ0ICwgdHlwZW5hbWUgVDUgLCB0eXBlbmFtZSBUNiAsIHR5cGVuYW1lIFQ3ICwgdHlwZW5hbWUgVDggLCB0eXBlbmFtZSBUOSAsIHR5cGVuYW1lIFQxMCAsIHR5cGVuYW1lIFQxMSAsIHR5cGVuYW1lIFQxMiAsIHR5cGVuYW1lIFQxMyAsIHR5cGVuYW1lIFQxNCAsIHR5cGVuYW1lIFQxNSAsIHR5cGVuYW1lIFQxNiAsIHR5cGVuYW1lIFQxNyAsIHR5cGVuYW1lIFQxOCAsIHR5cGVuYW1lIFQxOSAsIHR5cGVuYW1lIFQyMCAsIHR5cGVuYW1lIFQyMSAsIHR5cGVuYW1lIFQyMiAsIHR5cGVuYW1lIFQyMyAsIHR5cGVuYW1lIFQyNCAsIHR5cGVuYW1lIFQyNSAsIHR5cGVuYW1lIFQyNiAsIHR5cGVuYW1lIFQyNyAsIHR5cGVuYW1lIFQyOCAsIHR5cGVuYW1lIFQyOSAsIHR5cGVuYW1lIFQzMCAsIHR5cGVuYW1lIFQzMSAsIHR5cGVuYW1lIFQzMiAsIHR5cGVuYW1lIFQzMywgdHlwZW5hbWUgTD4KK3N0cnVjdCBjb21wb25lbnRzX2ltcGw8Qk9PU1RfRlRfc3ludGF4KEJPT1NUX0ZUX2NjLCBCT09TVF9QUF9FTVBUWSkgKFQwICwgVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzICwgVDE0ICwgVDE1ICwgVDE2ICwgVDE3ICwgVDE4ICwgVDE5ICwgVDIwICwgVDIxICwgVDIyICwgVDIzICwgVDI0ICwgVDI1ICwgVDI2ICwgVDI3ICwgVDI4ICwgVDI5ICwgVDMwICwgVDMxICwgVDMyICwgVDMzIEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YsIEw+Cit7Cit0eXBlZGVmIGVuY29kZV9iaXRzPEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkPiBiaXRzOwordHlwZWRlZiBjb25zdGFudDxCT09TVF9GVF9mdWxsX21hc2s+IG1hc2s7Cit0eXBlZGVmIGZ1bmN0aW9uX3R5cGVzOjpjb21wb25lbnRzPEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYywgQk9PU1RfUFBfRU1QVFkpIChUMCAsIFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSAsIFQyMCAsIFQyMSAsIFQyMiAsIFQyMyAsIFQyNCAsIFQyNSAsIFQyNiAsIFQyNyAsIFQyOCAsIFQyOSAsIFQzMCAsIFQzMSAsIFQzMiAsIFQzMyBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2LCBMPiB0eXBlOwordHlwZWRlZiBjb21wb25lbnRzX21wbF9zZXF1ZW5jZV90YWcgdGFnOwordHlwZWRlZiBtcGw6OmludGVncmFsX2M8c3RkOjpzaXplX3QsMzQ+IGZ1bmN0aW9uX2FyaXR5OwordHlwZWRlZiBtcGw6OnZlY3RvcjM1PCBSICwgVDAgLCBUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgLCBUMTIgLCBUMTMgLCBUMTQgLCBUMTUgLCBUMTYgLCBUMTcgLCBUMTggLCBUMTkgLCBUMjAgLCBUMjEgLCBUMjIgLCBUMjMgLCBUMjQgLCBUMjUgLCBUMjYgLCBUMjcgLCBUMjggLCBUMjkgLCBUMzAgLCBUMzEgLCBUMzIgLCBUMzMgPiB0eXBlczsKK307Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgUiAsIHR5cGVuYW1lIFQwICwgdHlwZW5hbWUgVDEgLCB0eXBlbmFtZSBUMiAsIHR5cGVuYW1lIFQzICwgdHlwZW5hbWUgVDQgLCB0eXBlbmFtZSBUNSAsIHR5cGVuYW1lIFQ2ICwgdHlwZW5hbWUgVDcgLCB0eXBlbmFtZSBUOCAsIHR5cGVuYW1lIFQ5ICwgdHlwZW5hbWUgVDEwICwgdHlwZW5hbWUgVDExICwgdHlwZW5hbWUgVDEyICwgdHlwZW5hbWUgVDEzICwgdHlwZW5hbWUgVDE0ICwgdHlwZW5hbWUgVDE1ICwgdHlwZW5hbWUgVDE2ICwgdHlwZW5hbWUgVDE3ICwgdHlwZW5hbWUgVDE4ICwgdHlwZW5hbWUgVDE5ICwgdHlwZW5hbWUgVDIwICwgdHlwZW5hbWUgVDIxICwgdHlwZW5hbWUgVDIyICwgdHlwZW5hbWUgVDIzICwgdHlwZW5hbWUgVDI0ICwgdHlwZW5hbWUgVDI1ICwgdHlwZW5hbWUgVDI2ICwgdHlwZW5hbWUgVDI3ICwgdHlwZW5hbWUgVDI4ICwgdHlwZW5hbWUgVDI5ICwgdHlwZW5hbWUgVDMwICwgdHlwZW5hbWUgVDMxICwgdHlwZW5hbWUgVDMyICwgdHlwZW5hbWUgVDMzICwgdHlwZW5hbWUgVDM0LCB0eXBlbmFtZSBMPgorc3RydWN0IGNvbXBvbmVudHNfaW1wbDxCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsIEJPT1NUX1BQX0VNUFRZKSAoVDAgLCBUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgLCBUMTIgLCBUMTMgLCBUMTQgLCBUMTUgLCBUMTYgLCBUMTcgLCBUMTggLCBUMTkgLCBUMjAgLCBUMjEgLCBUMjIgLCBUMjMgLCBUMjQgLCBUMjUgLCBUMjYgLCBUMjcgLCBUMjggLCBUMjkgLCBUMzAgLCBUMzEgLCBUMzIgLCBUMzMgLCBUMzQgQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdiwgTD4KK3sKK3R5cGVkZWYgZW5jb2RlX2JpdHM8Qk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQ+IGJpdHM7Cit0eXBlZGVmIGNvbnN0YW50PEJPT1NUX0ZUX2Z1bGxfbWFzaz4gbWFzazsKK3R5cGVkZWYgZnVuY3Rpb25fdHlwZXM6OmNvbXBvbmVudHM8Qk9PU1RfRlRfc3ludGF4KEJPT1NUX0ZUX2NjLCBCT09TVF9QUF9FTVBUWSkgKFQwICwgVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzICwgVDE0ICwgVDE1ICwgVDE2ICwgVDE3ICwgVDE4ICwgVDE5ICwgVDIwICwgVDIxICwgVDIyICwgVDIzICwgVDI0ICwgVDI1ICwgVDI2ICwgVDI3ICwgVDI4ICwgVDI5ICwgVDMwICwgVDMxICwgVDMyICwgVDMzICwgVDM0IEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YsIEw+IHR5cGU7Cit0eXBlZGVmIGNvbXBvbmVudHNfbXBsX3NlcXVlbmNlX3RhZyB0YWc7Cit0eXBlZGVmIG1wbDo6aW50ZWdyYWxfYzxzdGQ6OnNpemVfdCwzNT4gZnVuY3Rpb25fYXJpdHk7Cit0eXBlZGVmIG1wbDo6dmVjdG9yMzY8IFIgLCBUMCAsIFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSAsIFQyMCAsIFQyMSAsIFQyMiAsIFQyMyAsIFQyNCAsIFQyNSAsIFQyNiAsIFQyNyAsIFQyOCAsIFQyOSAsIFQzMCAsIFQzMSAsIFQzMiAsIFQzMyAsIFQzNCA+IHR5cGVzOworfTsKK3RlbXBsYXRlPCB0eXBlbmFtZSBSICwgdHlwZW5hbWUgVDAgLCB0eXBlbmFtZSBUMSAsIHR5cGVuYW1lIFQyICwgdHlwZW5hbWUgVDMgLCB0eXBlbmFtZSBUNCAsIHR5cGVuYW1lIFQ1ICwgdHlwZW5hbWUgVDYgLCB0eXBlbmFtZSBUNyAsIHR5cGVuYW1lIFQ4ICwgdHlwZW5hbWUgVDkgLCB0eXBlbmFtZSBUMTAgLCB0eXBlbmFtZSBUMTEgLCB0eXBlbmFtZSBUMTIgLCB0eXBlbmFtZSBUMTMgLCB0eXBlbmFtZSBUMTQgLCB0eXBlbmFtZSBUMTUgLCB0eXBlbmFtZSBUMTYgLCB0eXBlbmFtZSBUMTcgLCB0eXBlbmFtZSBUMTggLCB0eXBlbmFtZSBUMTkgLCB0eXBlbmFtZSBUMjAgLCB0eXBlbmFtZSBUMjEgLCB0eXBlbmFtZSBUMjIgLCB0eXBlbmFtZSBUMjMgLCB0eXBlbmFtZSBUMjQgLCB0eXBlbmFtZSBUMjUgLCB0eXBlbmFtZSBUMjYgLCB0eXBlbmFtZSBUMjcgLCB0eXBlbmFtZSBUMjggLCB0eXBlbmFtZSBUMjkgLCB0eXBlbmFtZSBUMzAgLCB0eXBlbmFtZSBUMzEgLCB0eXBlbmFtZSBUMzIgLCB0eXBlbmFtZSBUMzMgLCB0eXBlbmFtZSBUMzQgLCB0eXBlbmFtZSBUMzUsIHR5cGVuYW1lIEw+CitzdHJ1Y3QgY29tcG9uZW50c19pbXBsPEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYywgQk9PU1RfUFBfRU1QVFkpIChUMCAsIFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSAsIFQyMCAsIFQyMSAsIFQyMiAsIFQyMyAsIFQyNCAsIFQyNSAsIFQyNiAsIFQyNyAsIFQyOCAsIFQyOSAsIFQzMCAsIFQzMSAsIFQzMiAsIFQzMyAsIFQzNCAsIFQzNSBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2LCBMPgorewordHlwZWRlZiBlbmNvZGVfYml0czxCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZD4gYml0czsKK3R5cGVkZWYgY29uc3RhbnQ8Qk9PU1RfRlRfZnVsbF9tYXNrPiBtYXNrOwordHlwZWRlZiBmdW5jdGlvbl90eXBlczo6Y29tcG9uZW50czxCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsIEJPT1NUX1BQX0VNUFRZKSAoVDAgLCBUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgLCBUMTIgLCBUMTMgLCBUMTQgLCBUMTUgLCBUMTYgLCBUMTcgLCBUMTggLCBUMTkgLCBUMjAgLCBUMjEgLCBUMjIgLCBUMjMgLCBUMjQgLCBUMjUgLCBUMjYgLCBUMjcgLCBUMjggLCBUMjkgLCBUMzAgLCBUMzEgLCBUMzIgLCBUMzMgLCBUMzQgLCBUMzUgQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdiwgTD4gdHlwZTsKK3R5cGVkZWYgY29tcG9uZW50c19tcGxfc2VxdWVuY2VfdGFnIHRhZzsKK3R5cGVkZWYgbXBsOjppbnRlZ3JhbF9jPHN0ZDo6c2l6ZV90LDM2PiBmdW5jdGlvbl9hcml0eTsKK3R5cGVkZWYgbXBsOjp2ZWN0b3IzNzwgUiAsIFQwICwgVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzICwgVDE0ICwgVDE1ICwgVDE2ICwgVDE3ICwgVDE4ICwgVDE5ICwgVDIwICwgVDIxICwgVDIyICwgVDIzICwgVDI0ICwgVDI1ICwgVDI2ICwgVDI3ICwgVDI4ICwgVDI5ICwgVDMwICwgVDMxICwgVDMyICwgVDMzICwgVDM0ICwgVDM1ID4gdHlwZXM7Cit9OwordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIgLCB0eXBlbmFtZSBUMyAsIHR5cGVuYW1lIFQ0ICwgdHlwZW5hbWUgVDUgLCB0eXBlbmFtZSBUNiAsIHR5cGVuYW1lIFQ3ICwgdHlwZW5hbWUgVDggLCB0eXBlbmFtZSBUOSAsIHR5cGVuYW1lIFQxMCAsIHR5cGVuYW1lIFQxMSAsIHR5cGVuYW1lIFQxMiAsIHR5cGVuYW1lIFQxMyAsIHR5cGVuYW1lIFQxNCAsIHR5cGVuYW1lIFQxNSAsIHR5cGVuYW1lIFQxNiAsIHR5cGVuYW1lIFQxNyAsIHR5cGVuYW1lIFQxOCAsIHR5cGVuYW1lIFQxOSAsIHR5cGVuYW1lIFQyMCAsIHR5cGVuYW1lIFQyMSAsIHR5cGVuYW1lIFQyMiAsIHR5cGVuYW1lIFQyMyAsIHR5cGVuYW1lIFQyNCAsIHR5cGVuYW1lIFQyNSAsIHR5cGVuYW1lIFQyNiAsIHR5cGVuYW1lIFQyNyAsIHR5cGVuYW1lIFQyOCAsIHR5cGVuYW1lIFQyOSAsIHR5cGVuYW1lIFQzMCAsIHR5cGVuYW1lIFQzMSAsIHR5cGVuYW1lIFQzMiAsIHR5cGVuYW1lIFQzMyAsIHR5cGVuYW1lIFQzNCAsIHR5cGVuYW1lIFQzNSAsIHR5cGVuYW1lIFQzNiwgdHlwZW5hbWUgTD4KK3N0cnVjdCBjb21wb25lbnRzX2ltcGw8Qk9PU1RfRlRfc3ludGF4KEJPT1NUX0ZUX2NjLCBCT09TVF9QUF9FTVBUWSkgKFQwICwgVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzICwgVDE0ICwgVDE1ICwgVDE2ICwgVDE3ICwgVDE4ICwgVDE5ICwgVDIwICwgVDIxICwgVDIyICwgVDIzICwgVDI0ICwgVDI1ICwgVDI2ICwgVDI3ICwgVDI4ICwgVDI5ICwgVDMwICwgVDMxICwgVDMyICwgVDMzICwgVDM0ICwgVDM1ICwgVDM2IEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YsIEw+Cit7Cit0eXBlZGVmIGVuY29kZV9iaXRzPEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkPiBiaXRzOwordHlwZWRlZiBjb25zdGFudDxCT09TVF9GVF9mdWxsX21hc2s+IG1hc2s7Cit0eXBlZGVmIGZ1bmN0aW9uX3R5cGVzOjpjb21wb25lbnRzPEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYywgQk9PU1RfUFBfRU1QVFkpIChUMCAsIFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSAsIFQyMCAsIFQyMSAsIFQyMiAsIFQyMyAsIFQyNCAsIFQyNSAsIFQyNiAsIFQyNyAsIFQyOCAsIFQyOSAsIFQzMCAsIFQzMSAsIFQzMiAsIFQzMyAsIFQzNCAsIFQzNSAsIFQzNiBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2LCBMPiB0eXBlOwordHlwZWRlZiBjb21wb25lbnRzX21wbF9zZXF1ZW5jZV90YWcgdGFnOwordHlwZWRlZiBtcGw6OmludGVncmFsX2M8c3RkOjpzaXplX3QsMzc+IGZ1bmN0aW9uX2FyaXR5OwordHlwZWRlZiBtcGw6OnZlY3RvcjM4PCBSICwgVDAgLCBUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgLCBUMTIgLCBUMTMgLCBUMTQgLCBUMTUgLCBUMTYgLCBUMTcgLCBUMTggLCBUMTkgLCBUMjAgLCBUMjEgLCBUMjIgLCBUMjMgLCBUMjQgLCBUMjUgLCBUMjYgLCBUMjcgLCBUMjggLCBUMjkgLCBUMzAgLCBUMzEgLCBUMzIgLCBUMzMgLCBUMzQgLCBUMzUgLCBUMzYgPiB0eXBlczsKK307Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgUiAsIHR5cGVuYW1lIFQwICwgdHlwZW5hbWUgVDEgLCB0eXBlbmFtZSBUMiAsIHR5cGVuYW1lIFQzICwgdHlwZW5hbWUgVDQgLCB0eXBlbmFtZSBUNSAsIHR5cGVuYW1lIFQ2ICwgdHlwZW5hbWUgVDcgLCB0eXBlbmFtZSBUOCAsIHR5cGVuYW1lIFQ5ICwgdHlwZW5hbWUgVDEwICwgdHlwZW5hbWUgVDExICwgdHlwZW5hbWUgVDEyICwgdHlwZW5hbWUgVDEzICwgdHlwZW5hbWUgVDE0ICwgdHlwZW5hbWUgVDE1ICwgdHlwZW5hbWUgVDE2ICwgdHlwZW5hbWUgVDE3ICwgdHlwZW5hbWUgVDE4ICwgdHlwZW5hbWUgVDE5ICwgdHlwZW5hbWUgVDIwICwgdHlwZW5hbWUgVDIxICwgdHlwZW5hbWUgVDIyICwgdHlwZW5hbWUgVDIzICwgdHlwZW5hbWUgVDI0ICwgdHlwZW5hbWUgVDI1ICwgdHlwZW5hbWUgVDI2ICwgdHlwZW5hbWUgVDI3ICwgdHlwZW5hbWUgVDI4ICwgdHlwZW5hbWUgVDI5ICwgdHlwZW5hbWUgVDMwICwgdHlwZW5hbWUgVDMxICwgdHlwZW5hbWUgVDMyICwgdHlwZW5hbWUgVDMzICwgdHlwZW5hbWUgVDM0ICwgdHlwZW5hbWUgVDM1ICwgdHlwZW5hbWUgVDM2ICwgdHlwZW5hbWUgVDM3LCB0eXBlbmFtZSBMPgorc3RydWN0IGNvbXBvbmVudHNfaW1wbDxCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsIEJPT1NUX1BQX0VNUFRZKSAoVDAgLCBUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgLCBUMTIgLCBUMTMgLCBUMTQgLCBUMTUgLCBUMTYgLCBUMTcgLCBUMTggLCBUMTkgLCBUMjAgLCBUMjEgLCBUMjIgLCBUMjMgLCBUMjQgLCBUMjUgLCBUMjYgLCBUMjcgLCBUMjggLCBUMjkgLCBUMzAgLCBUMzEgLCBUMzIgLCBUMzMgLCBUMzQgLCBUMzUgLCBUMzYgLCBUMzcgQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdiwgTD4KK3sKK3R5cGVkZWYgZW5jb2RlX2JpdHM8Qk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQ+IGJpdHM7Cit0eXBlZGVmIGNvbnN0YW50PEJPT1NUX0ZUX2Z1bGxfbWFzaz4gbWFzazsKK3R5cGVkZWYgZnVuY3Rpb25fdHlwZXM6OmNvbXBvbmVudHM8Qk9PU1RfRlRfc3ludGF4KEJPT1NUX0ZUX2NjLCBCT09TVF9QUF9FTVBUWSkgKFQwICwgVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzICwgVDE0ICwgVDE1ICwgVDE2ICwgVDE3ICwgVDE4ICwgVDE5ICwgVDIwICwgVDIxICwgVDIyICwgVDIzICwgVDI0ICwgVDI1ICwgVDI2ICwgVDI3ICwgVDI4ICwgVDI5ICwgVDMwICwgVDMxICwgVDMyICwgVDMzICwgVDM0ICwgVDM1ICwgVDM2ICwgVDM3IEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YsIEw+IHR5cGU7Cit0eXBlZGVmIGNvbXBvbmVudHNfbXBsX3NlcXVlbmNlX3RhZyB0YWc7Cit0eXBlZGVmIG1wbDo6aW50ZWdyYWxfYzxzdGQ6OnNpemVfdCwzOD4gZnVuY3Rpb25fYXJpdHk7Cit0eXBlZGVmIG1wbDo6dmVjdG9yMzk8IFIgLCBUMCAsIFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSAsIFQyMCAsIFQyMSAsIFQyMiAsIFQyMyAsIFQyNCAsIFQyNSAsIFQyNiAsIFQyNyAsIFQyOCAsIFQyOSAsIFQzMCAsIFQzMSAsIFQzMiAsIFQzMyAsIFQzNCAsIFQzNSAsIFQzNiAsIFQzNyA+IHR5cGVzOworfTsKK3RlbXBsYXRlPCB0eXBlbmFtZSBSICwgdHlwZW5hbWUgVDAgLCB0eXBlbmFtZSBUMSAsIHR5cGVuYW1lIFQyICwgdHlwZW5hbWUgVDMgLCB0eXBlbmFtZSBUNCAsIHR5cGVuYW1lIFQ1ICwgdHlwZW5hbWUgVDYgLCB0eXBlbmFtZSBUNyAsIHR5cGVuYW1lIFQ4ICwgdHlwZW5hbWUgVDkgLCB0eXBlbmFtZSBUMTAgLCB0eXBlbmFtZSBUMTEgLCB0eXBlbmFtZSBUMTIgLCB0eXBlbmFtZSBUMTMgLCB0eXBlbmFtZSBUMTQgLCB0eXBlbmFtZSBUMTUgLCB0eXBlbmFtZSBUMTYgLCB0eXBlbmFtZSBUMTcgLCB0eXBlbmFtZSBUMTggLCB0eXBlbmFtZSBUMTkgLCB0eXBlbmFtZSBUMjAgLCB0eXBlbmFtZSBUMjEgLCB0eXBlbmFtZSBUMjIgLCB0eXBlbmFtZSBUMjMgLCB0eXBlbmFtZSBUMjQgLCB0eXBlbmFtZSBUMjUgLCB0eXBlbmFtZSBUMjYgLCB0eXBlbmFtZSBUMjcgLCB0eXBlbmFtZSBUMjggLCB0eXBlbmFtZSBUMjkgLCB0eXBlbmFtZSBUMzAgLCB0eXBlbmFtZSBUMzEgLCB0eXBlbmFtZSBUMzIgLCB0eXBlbmFtZSBUMzMgLCB0eXBlbmFtZSBUMzQgLCB0eXBlbmFtZSBUMzUgLCB0eXBlbmFtZSBUMzYgLCB0eXBlbmFtZSBUMzcgLCB0eXBlbmFtZSBUMzgsIHR5cGVuYW1lIEw+CitzdHJ1Y3QgY29tcG9uZW50c19pbXBsPEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYywgQk9PU1RfUFBfRU1QVFkpIChUMCAsIFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSAsIFQyMCAsIFQyMSAsIFQyMiAsIFQyMyAsIFQyNCAsIFQyNSAsIFQyNiAsIFQyNyAsIFQyOCAsIFQyOSAsIFQzMCAsIFQzMSAsIFQzMiAsIFQzMyAsIFQzNCAsIFQzNSAsIFQzNiAsIFQzNyAsIFQzOCBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2LCBMPgorewordHlwZWRlZiBlbmNvZGVfYml0czxCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZD4gYml0czsKK3R5cGVkZWYgY29uc3RhbnQ8Qk9PU1RfRlRfZnVsbF9tYXNrPiBtYXNrOwordHlwZWRlZiBmdW5jdGlvbl90eXBlczo6Y29tcG9uZW50czxCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsIEJPT1NUX1BQX0VNUFRZKSAoVDAgLCBUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgLCBUMTIgLCBUMTMgLCBUMTQgLCBUMTUgLCBUMTYgLCBUMTcgLCBUMTggLCBUMTkgLCBUMjAgLCBUMjEgLCBUMjIgLCBUMjMgLCBUMjQgLCBUMjUgLCBUMjYgLCBUMjcgLCBUMjggLCBUMjkgLCBUMzAgLCBUMzEgLCBUMzIgLCBUMzMgLCBUMzQgLCBUMzUgLCBUMzYgLCBUMzcgLCBUMzggQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdiwgTD4gdHlwZTsKK3R5cGVkZWYgY29tcG9uZW50c19tcGxfc2VxdWVuY2VfdGFnIHRhZzsKK3R5cGVkZWYgbXBsOjppbnRlZ3JhbF9jPHN0ZDo6c2l6ZV90LDM5PiBmdW5jdGlvbl9hcml0eTsKK3R5cGVkZWYgbXBsOjp2ZWN0b3I0MDwgUiAsIFQwICwgVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzICwgVDE0ICwgVDE1ICwgVDE2ICwgVDE3ICwgVDE4ICwgVDE5ICwgVDIwICwgVDIxICwgVDIyICwgVDIzICwgVDI0ICwgVDI1ICwgVDI2ICwgVDI3ICwgVDI4ICwgVDI5ICwgVDMwICwgVDMxICwgVDMyICwgVDMzICwgVDM0ICwgVDM1ICwgVDM2ICwgVDM3ICwgVDM4ID4gdHlwZXM7Cit9OwordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIgLCB0eXBlbmFtZSBUMyAsIHR5cGVuYW1lIFQ0ICwgdHlwZW5hbWUgVDUgLCB0eXBlbmFtZSBUNiAsIHR5cGVuYW1lIFQ3ICwgdHlwZW5hbWUgVDggLCB0eXBlbmFtZSBUOSAsIHR5cGVuYW1lIFQxMCAsIHR5cGVuYW1lIFQxMSAsIHR5cGVuYW1lIFQxMiAsIHR5cGVuYW1lIFQxMyAsIHR5cGVuYW1lIFQxNCAsIHR5cGVuYW1lIFQxNSAsIHR5cGVuYW1lIFQxNiAsIHR5cGVuYW1lIFQxNyAsIHR5cGVuYW1lIFQxOCAsIHR5cGVuYW1lIFQxOSAsIHR5cGVuYW1lIFQyMCAsIHR5cGVuYW1lIFQyMSAsIHR5cGVuYW1lIFQyMiAsIHR5cGVuYW1lIFQyMyAsIHR5cGVuYW1lIFQyNCAsIHR5cGVuYW1lIFQyNSAsIHR5cGVuYW1lIFQyNiAsIHR5cGVuYW1lIFQyNyAsIHR5cGVuYW1lIFQyOCAsIHR5cGVuYW1lIFQyOSAsIHR5cGVuYW1lIFQzMCAsIHR5cGVuYW1lIFQzMSAsIHR5cGVuYW1lIFQzMiAsIHR5cGVuYW1lIFQzMyAsIHR5cGVuYW1lIFQzNCAsIHR5cGVuYW1lIFQzNSAsIHR5cGVuYW1lIFQzNiAsIHR5cGVuYW1lIFQzNyAsIHR5cGVuYW1lIFQzOCAsIHR5cGVuYW1lIFQzOSwgdHlwZW5hbWUgTD4KK3N0cnVjdCBjb21wb25lbnRzX2ltcGw8Qk9PU1RfRlRfc3ludGF4KEJPT1NUX0ZUX2NjLCBCT09TVF9QUF9FTVBUWSkgKFQwICwgVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzICwgVDE0ICwgVDE1ICwgVDE2ICwgVDE3ICwgVDE4ICwgVDE5ICwgVDIwICwgVDIxICwgVDIyICwgVDIzICwgVDI0ICwgVDI1ICwgVDI2ICwgVDI3ICwgVDI4ICwgVDI5ICwgVDMwICwgVDMxICwgVDMyICwgVDMzICwgVDM0ICwgVDM1ICwgVDM2ICwgVDM3ICwgVDM4ICwgVDM5IEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YsIEw+Cit7Cit0eXBlZGVmIGVuY29kZV9iaXRzPEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkPiBiaXRzOwordHlwZWRlZiBjb25zdGFudDxCT09TVF9GVF9mdWxsX21hc2s+IG1hc2s7Cit0eXBlZGVmIGZ1bmN0aW9uX3R5cGVzOjpjb21wb25lbnRzPEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYywgQk9PU1RfUFBfRU1QVFkpIChUMCAsIFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSAsIFQyMCAsIFQyMSAsIFQyMiAsIFQyMyAsIFQyNCAsIFQyNSAsIFQyNiAsIFQyNyAsIFQyOCAsIFQyOSAsIFQzMCAsIFQzMSAsIFQzMiAsIFQzMyAsIFQzNCAsIFQzNSAsIFQzNiAsIFQzNyAsIFQzOCAsIFQzOSBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2LCBMPiB0eXBlOwordHlwZWRlZiBjb21wb25lbnRzX21wbF9zZXF1ZW5jZV90YWcgdGFnOwordHlwZWRlZiBtcGw6OmludGVncmFsX2M8c3RkOjpzaXplX3QsNDA+IGZ1bmN0aW9uX2FyaXR5OwordHlwZWRlZiBtcGw6OnZlY3RvcjQxPCBSICwgVDAgLCBUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgLCBUMTIgLCBUMTMgLCBUMTQgLCBUMTUgLCBUMTYgLCBUMTcgLCBUMTggLCBUMTkgLCBUMjAgLCBUMjEgLCBUMjIgLCBUMjMgLCBUMjQgLCBUMjUgLCBUMjYgLCBUMjcgLCBUMjggLCBUMjkgLCBUMzAgLCBUMzEgLCBUMzIgLCBUMzMgLCBUMzQgLCBUMzUgLCBUMzYgLCBUMzcgLCBUMzggLCBUMzkgPiB0eXBlczsKK307CisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L2Z1bmN0aW9uX3R5cGVzL2RldGFpbC9jb21wb25lbnRzX2ltcGwvYXJpdHk0MF8xLmhwcCBiL25kbmJvb3N0L2Z1bmN0aW9uX3R5cGVzL2RldGFpbC9jb21wb25lbnRzX2ltcGwvYXJpdHk0MF8xLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNzBlYzMwCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvZnVuY3Rpb25fdHlwZXMvZGV0YWlsL2NvbXBvbmVudHNfaW1wbC9hcml0eTQwXzEuaHBwCkBAIC0wLDAgKzEsMTIzIEBACisKKy8vIChDKSBDb3B5cmlnaHQgVG9iaWFzIFNjaHdpbmdlcgorLy8KKy8vIFVzZSBtb2RpZmljYXRpb24gYW5kIGRpc3RyaWJ1dGlvbiBhcmUgc3ViamVjdCB0byB0aGUgYm9vc3QgU29mdHdhcmUgTGljZW5zZSwKKy8vIFZlcnNpb24gMS4wLiAoU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkuCisKKy8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKy8vIG5vIGluY2x1ZGUgZ3VhcmRzLCB0aGlzIGZpbGUgaXMgaW50ZW5kZWQgZm9yIG11bHRpcGxlIGluY2x1c2lvbgorCisvLyBpbnB1dDogIEJPT1NUX0ZUX3N5bnRheCAgICAgdHlwZSBtYWNybyB0byB1c2UKKy8vIGlucHV0OiAgQk9PU1RfRlRfY2MgICAgICAgICBlbXB0eSBvciBjYyBzcGVjaWZpZXIgCisvLyBpbnB1dDogIEJPT1NUX0ZUX2VsbCAgICAgICAgZW1wdHkgb3IgIi4uLiIKKy8vIGlucHV0OiAgQk9PU1RfRlRfY3YgICAgICAgICBlbXB0eSBvciBjdiBxdWFsaWZpZXJzCisvLyBpbnB1dDogIEJPT1NUX0ZUX2ZsYWdzICAgICAgc2luZ2xlIGRlY2ltYWwgaW50ZWdlciBlbmNvZGluZyB0aGUgZmxhZ3MKKy8vIG91dHB1dDogQk9PU1RfRlRfbiAgICAgICAgICBudW1iZXIgb2YgY29tcG9uZW50IHR5cGVzIChhcml0eSsxKQorLy8gb3V0cHV0OiBCT09TVF9GVF9hcml0eSAgICAgIGN1cnJlbnQgYXJpdHkKKy8vIG91dHB1dDogQk9PU1RfRlRfdHlwZSAgICAgICBtYWNybyB0aGF0IGV4cGFuZHMgdG8gdGhlIHR5cGUKKy8vIG91dHB1dDogQk9PU1RfRlRfdHBsYXJncyhwKSB0ZW1wbGF0ZSBhcmd1bWVudHMgd2l0aCBnaXZlbiBwcmVmaXgKKy8vIG91dHB1dDogQk9PU1RfRlRfcGFyYW1zKHApICBwYXJhbWV0ZXJzIHdpdGggZ2l2ZW4gcHJlZml4CisKKyMgaW5jbHVkZSA8bmRuYm9vc3QvZnVuY3Rpb25fdHlwZXMvZGV0YWlsL2NvbXBvbmVudHNfaW1wbC9hcml0eTMwXzEuaHBwPgordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIgLCB0eXBlbmFtZSBUMyAsIHR5cGVuYW1lIFQ0ICwgdHlwZW5hbWUgVDUgLCB0eXBlbmFtZSBUNiAsIHR5cGVuYW1lIFQ3ICwgdHlwZW5hbWUgVDggLCB0eXBlbmFtZSBUOSAsIHR5cGVuYW1lIFQxMCAsIHR5cGVuYW1lIFQxMSAsIHR5cGVuYW1lIFQxMiAsIHR5cGVuYW1lIFQxMyAsIHR5cGVuYW1lIFQxNCAsIHR5cGVuYW1lIFQxNSAsIHR5cGVuYW1lIFQxNiAsIHR5cGVuYW1lIFQxNyAsIHR5cGVuYW1lIFQxOCAsIHR5cGVuYW1lIFQxOSAsIHR5cGVuYW1lIFQyMCAsIHR5cGVuYW1lIFQyMSAsIHR5cGVuYW1lIFQyMiAsIHR5cGVuYW1lIFQyMyAsIHR5cGVuYW1lIFQyNCAsIHR5cGVuYW1lIFQyNSAsIHR5cGVuYW1lIFQyNiAsIHR5cGVuYW1lIFQyNyAsIHR5cGVuYW1lIFQyOCAsIHR5cGVuYW1lIFQyOSAsIHR5cGVuYW1lIFQzMCwgdHlwZW5hbWUgTD4KK3N0cnVjdCBjb21wb25lbnRzX2ltcGw8Qk9PU1RfRlRfc3ludGF4KEJPT1NUX0ZUX2NjLCBCT09TVF9QUF9FTVBUWSkgKFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSAsIFQyMCAsIFQyMSAsIFQyMiAsIFQyMyAsIFQyNCAsIFQyNSAsIFQyNiAsIFQyNyAsIFQyOCAsIFQyOSAsIFQzMCBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2LCBMPgorewordHlwZWRlZiBlbmNvZGVfYml0czxCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZD4gYml0czsKK3R5cGVkZWYgY29uc3RhbnQ8Qk9PU1RfRlRfZnVsbF9tYXNrPiBtYXNrOwordHlwZWRlZiBmdW5jdGlvbl90eXBlczo6Y29tcG9uZW50czxCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsIEJPT1NUX1BQX0VNUFRZKSAoVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzICwgVDE0ICwgVDE1ICwgVDE2ICwgVDE3ICwgVDE4ICwgVDE5ICwgVDIwICwgVDIxICwgVDIyICwgVDIzICwgVDI0ICwgVDI1ICwgVDI2ICwgVDI3ICwgVDI4ICwgVDI5ICwgVDMwIEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YsIEw+IHR5cGU7Cit0eXBlZGVmIGNvbXBvbmVudHNfbXBsX3NlcXVlbmNlX3RhZyB0YWc7Cit0eXBlZGVmIG1wbDo6aW50ZWdyYWxfYzxzdGQ6OnNpemVfdCwzMT4gZnVuY3Rpb25fYXJpdHk7Cit0eXBlZGVmIG1wbDo6dmVjdG9yMzI8IFIsIHR5cGVuYW1lIGNsYXNzX3RyYW5zZm9ybTxUMCBCT09TVF9GVF9jdiwgTD4gOjp0eXBlICwgVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzICwgVDE0ICwgVDE1ICwgVDE2ICwgVDE3ICwgVDE4ICwgVDE5ICwgVDIwICwgVDIxICwgVDIyICwgVDIzICwgVDI0ICwgVDI1ICwgVDI2ICwgVDI3ICwgVDI4ICwgVDI5ICwgVDMwID4gdHlwZXM7Cit9OwordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIgLCB0eXBlbmFtZSBUMyAsIHR5cGVuYW1lIFQ0ICwgdHlwZW5hbWUgVDUgLCB0eXBlbmFtZSBUNiAsIHR5cGVuYW1lIFQ3ICwgdHlwZW5hbWUgVDggLCB0eXBlbmFtZSBUOSAsIHR5cGVuYW1lIFQxMCAsIHR5cGVuYW1lIFQxMSAsIHR5cGVuYW1lIFQxMiAsIHR5cGVuYW1lIFQxMyAsIHR5cGVuYW1lIFQxNCAsIHR5cGVuYW1lIFQxNSAsIHR5cGVuYW1lIFQxNiAsIHR5cGVuYW1lIFQxNyAsIHR5cGVuYW1lIFQxOCAsIHR5cGVuYW1lIFQxOSAsIHR5cGVuYW1lIFQyMCAsIHR5cGVuYW1lIFQyMSAsIHR5cGVuYW1lIFQyMiAsIHR5cGVuYW1lIFQyMyAsIHR5cGVuYW1lIFQyNCAsIHR5cGVuYW1lIFQyNSAsIHR5cGVuYW1lIFQyNiAsIHR5cGVuYW1lIFQyNyAsIHR5cGVuYW1lIFQyOCAsIHR5cGVuYW1lIFQyOSAsIHR5cGVuYW1lIFQzMCAsIHR5cGVuYW1lIFQzMSwgdHlwZW5hbWUgTD4KK3N0cnVjdCBjb21wb25lbnRzX2ltcGw8Qk9PU1RfRlRfc3ludGF4KEJPT1NUX0ZUX2NjLCBCT09TVF9QUF9FTVBUWSkgKFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSAsIFQyMCAsIFQyMSAsIFQyMiAsIFQyMyAsIFQyNCAsIFQyNSAsIFQyNiAsIFQyNyAsIFQyOCAsIFQyOSAsIFQzMCAsIFQzMSBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2LCBMPgorewordHlwZWRlZiBlbmNvZGVfYml0czxCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZD4gYml0czsKK3R5cGVkZWYgY29uc3RhbnQ8Qk9PU1RfRlRfZnVsbF9tYXNrPiBtYXNrOwordHlwZWRlZiBmdW5jdGlvbl90eXBlczo6Y29tcG9uZW50czxCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsIEJPT1NUX1BQX0VNUFRZKSAoVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzICwgVDE0ICwgVDE1ICwgVDE2ICwgVDE3ICwgVDE4ICwgVDE5ICwgVDIwICwgVDIxICwgVDIyICwgVDIzICwgVDI0ICwgVDI1ICwgVDI2ICwgVDI3ICwgVDI4ICwgVDI5ICwgVDMwICwgVDMxIEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YsIEw+IHR5cGU7Cit0eXBlZGVmIGNvbXBvbmVudHNfbXBsX3NlcXVlbmNlX3RhZyB0YWc7Cit0eXBlZGVmIG1wbDo6aW50ZWdyYWxfYzxzdGQ6OnNpemVfdCwzMj4gZnVuY3Rpb25fYXJpdHk7Cit0eXBlZGVmIG1wbDo6dmVjdG9yMzM8IFIsIHR5cGVuYW1lIGNsYXNzX3RyYW5zZm9ybTxUMCBCT09TVF9GVF9jdiwgTD4gOjp0eXBlICwgVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzICwgVDE0ICwgVDE1ICwgVDE2ICwgVDE3ICwgVDE4ICwgVDE5ICwgVDIwICwgVDIxICwgVDIyICwgVDIzICwgVDI0ICwgVDI1ICwgVDI2ICwgVDI3ICwgVDI4ICwgVDI5ICwgVDMwICwgVDMxID4gdHlwZXM7Cit9OwordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIgLCB0eXBlbmFtZSBUMyAsIHR5cGVuYW1lIFQ0ICwgdHlwZW5hbWUgVDUgLCB0eXBlbmFtZSBUNiAsIHR5cGVuYW1lIFQ3ICwgdHlwZW5hbWUgVDggLCB0eXBlbmFtZSBUOSAsIHR5cGVuYW1lIFQxMCAsIHR5cGVuYW1lIFQxMSAsIHR5cGVuYW1lIFQxMiAsIHR5cGVuYW1lIFQxMyAsIHR5cGVuYW1lIFQxNCAsIHR5cGVuYW1lIFQxNSAsIHR5cGVuYW1lIFQxNiAsIHR5cGVuYW1lIFQxNyAsIHR5cGVuYW1lIFQxOCAsIHR5cGVuYW1lIFQxOSAsIHR5cGVuYW1lIFQyMCAsIHR5cGVuYW1lIFQyMSAsIHR5cGVuYW1lIFQyMiAsIHR5cGVuYW1lIFQyMyAsIHR5cGVuYW1lIFQyNCAsIHR5cGVuYW1lIFQyNSAsIHR5cGVuYW1lIFQyNiAsIHR5cGVuYW1lIFQyNyAsIHR5cGVuYW1lIFQyOCAsIHR5cGVuYW1lIFQyOSAsIHR5cGVuYW1lIFQzMCAsIHR5cGVuYW1lIFQzMSAsIHR5cGVuYW1lIFQzMiwgdHlwZW5hbWUgTD4KK3N0cnVjdCBjb21wb25lbnRzX2ltcGw8Qk9PU1RfRlRfc3ludGF4KEJPT1NUX0ZUX2NjLCBCT09TVF9QUF9FTVBUWSkgKFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSAsIFQyMCAsIFQyMSAsIFQyMiAsIFQyMyAsIFQyNCAsIFQyNSAsIFQyNiAsIFQyNyAsIFQyOCAsIFQyOSAsIFQzMCAsIFQzMSAsIFQzMiBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2LCBMPgorewordHlwZWRlZiBlbmNvZGVfYml0czxCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZD4gYml0czsKK3R5cGVkZWYgY29uc3RhbnQ8Qk9PU1RfRlRfZnVsbF9tYXNrPiBtYXNrOwordHlwZWRlZiBmdW5jdGlvbl90eXBlczo6Y29tcG9uZW50czxCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsIEJPT1NUX1BQX0VNUFRZKSAoVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzICwgVDE0ICwgVDE1ICwgVDE2ICwgVDE3ICwgVDE4ICwgVDE5ICwgVDIwICwgVDIxICwgVDIyICwgVDIzICwgVDI0ICwgVDI1ICwgVDI2ICwgVDI3ICwgVDI4ICwgVDI5ICwgVDMwICwgVDMxICwgVDMyIEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YsIEw+IHR5cGU7Cit0eXBlZGVmIGNvbXBvbmVudHNfbXBsX3NlcXVlbmNlX3RhZyB0YWc7Cit0eXBlZGVmIG1wbDo6aW50ZWdyYWxfYzxzdGQ6OnNpemVfdCwzMz4gZnVuY3Rpb25fYXJpdHk7Cit0eXBlZGVmIG1wbDo6dmVjdG9yMzQ8IFIsIHR5cGVuYW1lIGNsYXNzX3RyYW5zZm9ybTxUMCBCT09TVF9GVF9jdiwgTD4gOjp0eXBlICwgVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzICwgVDE0ICwgVDE1ICwgVDE2ICwgVDE3ICwgVDE4ICwgVDE5ICwgVDIwICwgVDIxICwgVDIyICwgVDIzICwgVDI0ICwgVDI1ICwgVDI2ICwgVDI3ICwgVDI4ICwgVDI5ICwgVDMwICwgVDMxICwgVDMyID4gdHlwZXM7Cit9OwordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIgLCB0eXBlbmFtZSBUMyAsIHR5cGVuYW1lIFQ0ICwgdHlwZW5hbWUgVDUgLCB0eXBlbmFtZSBUNiAsIHR5cGVuYW1lIFQ3ICwgdHlwZW5hbWUgVDggLCB0eXBlbmFtZSBUOSAsIHR5cGVuYW1lIFQxMCAsIHR5cGVuYW1lIFQxMSAsIHR5cGVuYW1lIFQxMiAsIHR5cGVuYW1lIFQxMyAsIHR5cGVuYW1lIFQxNCAsIHR5cGVuYW1lIFQxNSAsIHR5cGVuYW1lIFQxNiAsIHR5cGVuYW1lIFQxNyAsIHR5cGVuYW1lIFQxOCAsIHR5cGVuYW1lIFQxOSAsIHR5cGVuYW1lIFQyMCAsIHR5cGVuYW1lIFQyMSAsIHR5cGVuYW1lIFQyMiAsIHR5cGVuYW1lIFQyMyAsIHR5cGVuYW1lIFQyNCAsIHR5cGVuYW1lIFQyNSAsIHR5cGVuYW1lIFQyNiAsIHR5cGVuYW1lIFQyNyAsIHR5cGVuYW1lIFQyOCAsIHR5cGVuYW1lIFQyOSAsIHR5cGVuYW1lIFQzMCAsIHR5cGVuYW1lIFQzMSAsIHR5cGVuYW1lIFQzMiAsIHR5cGVuYW1lIFQzMywgdHlwZW5hbWUgTD4KK3N0cnVjdCBjb21wb25lbnRzX2ltcGw8Qk9PU1RfRlRfc3ludGF4KEJPT1NUX0ZUX2NjLCBCT09TVF9QUF9FTVBUWSkgKFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSAsIFQyMCAsIFQyMSAsIFQyMiAsIFQyMyAsIFQyNCAsIFQyNSAsIFQyNiAsIFQyNyAsIFQyOCAsIFQyOSAsIFQzMCAsIFQzMSAsIFQzMiAsIFQzMyBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2LCBMPgorewordHlwZWRlZiBlbmNvZGVfYml0czxCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZD4gYml0czsKK3R5cGVkZWYgY29uc3RhbnQ8Qk9PU1RfRlRfZnVsbF9tYXNrPiBtYXNrOwordHlwZWRlZiBmdW5jdGlvbl90eXBlczo6Y29tcG9uZW50czxCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsIEJPT1NUX1BQX0VNUFRZKSAoVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzICwgVDE0ICwgVDE1ICwgVDE2ICwgVDE3ICwgVDE4ICwgVDE5ICwgVDIwICwgVDIxICwgVDIyICwgVDIzICwgVDI0ICwgVDI1ICwgVDI2ICwgVDI3ICwgVDI4ICwgVDI5ICwgVDMwICwgVDMxICwgVDMyICwgVDMzIEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YsIEw+IHR5cGU7Cit0eXBlZGVmIGNvbXBvbmVudHNfbXBsX3NlcXVlbmNlX3RhZyB0YWc7Cit0eXBlZGVmIG1wbDo6aW50ZWdyYWxfYzxzdGQ6OnNpemVfdCwzND4gZnVuY3Rpb25fYXJpdHk7Cit0eXBlZGVmIG1wbDo6dmVjdG9yMzU8IFIsIHR5cGVuYW1lIGNsYXNzX3RyYW5zZm9ybTxUMCBCT09TVF9GVF9jdiwgTD4gOjp0eXBlICwgVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzICwgVDE0ICwgVDE1ICwgVDE2ICwgVDE3ICwgVDE4ICwgVDE5ICwgVDIwICwgVDIxICwgVDIyICwgVDIzICwgVDI0ICwgVDI1ICwgVDI2ICwgVDI3ICwgVDI4ICwgVDI5ICwgVDMwICwgVDMxICwgVDMyICwgVDMzID4gdHlwZXM7Cit9OwordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIgLCB0eXBlbmFtZSBUMyAsIHR5cGVuYW1lIFQ0ICwgdHlwZW5hbWUgVDUgLCB0eXBlbmFtZSBUNiAsIHR5cGVuYW1lIFQ3ICwgdHlwZW5hbWUgVDggLCB0eXBlbmFtZSBUOSAsIHR5cGVuYW1lIFQxMCAsIHR5cGVuYW1lIFQxMSAsIHR5cGVuYW1lIFQxMiAsIHR5cGVuYW1lIFQxMyAsIHR5cGVuYW1lIFQxNCAsIHR5cGVuYW1lIFQxNSAsIHR5cGVuYW1lIFQxNiAsIHR5cGVuYW1lIFQxNyAsIHR5cGVuYW1lIFQxOCAsIHR5cGVuYW1lIFQxOSAsIHR5cGVuYW1lIFQyMCAsIHR5cGVuYW1lIFQyMSAsIHR5cGVuYW1lIFQyMiAsIHR5cGVuYW1lIFQyMyAsIHR5cGVuYW1lIFQyNCAsIHR5cGVuYW1lIFQyNSAsIHR5cGVuYW1lIFQyNiAsIHR5cGVuYW1lIFQyNyAsIHR5cGVuYW1lIFQyOCAsIHR5cGVuYW1lIFQyOSAsIHR5cGVuYW1lIFQzMCAsIHR5cGVuYW1lIFQzMSAsIHR5cGVuYW1lIFQzMiAsIHR5cGVuYW1lIFQzMyAsIHR5cGVuYW1lIFQzNCwgdHlwZW5hbWUgTD4KK3N0cnVjdCBjb21wb25lbnRzX2ltcGw8Qk9PU1RfRlRfc3ludGF4KEJPT1NUX0ZUX2NjLCBCT09TVF9QUF9FTVBUWSkgKFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSAsIFQyMCAsIFQyMSAsIFQyMiAsIFQyMyAsIFQyNCAsIFQyNSAsIFQyNiAsIFQyNyAsIFQyOCAsIFQyOSAsIFQzMCAsIFQzMSAsIFQzMiAsIFQzMyAsIFQzNCBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2LCBMPgorewordHlwZWRlZiBlbmNvZGVfYml0czxCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZD4gYml0czsKK3R5cGVkZWYgY29uc3RhbnQ8Qk9PU1RfRlRfZnVsbF9tYXNrPiBtYXNrOwordHlwZWRlZiBmdW5jdGlvbl90eXBlczo6Y29tcG9uZW50czxCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsIEJPT1NUX1BQX0VNUFRZKSAoVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzICwgVDE0ICwgVDE1ICwgVDE2ICwgVDE3ICwgVDE4ICwgVDE5ICwgVDIwICwgVDIxICwgVDIyICwgVDIzICwgVDI0ICwgVDI1ICwgVDI2ICwgVDI3ICwgVDI4ICwgVDI5ICwgVDMwICwgVDMxICwgVDMyICwgVDMzICwgVDM0IEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YsIEw+IHR5cGU7Cit0eXBlZGVmIGNvbXBvbmVudHNfbXBsX3NlcXVlbmNlX3RhZyB0YWc7Cit0eXBlZGVmIG1wbDo6aW50ZWdyYWxfYzxzdGQ6OnNpemVfdCwzNT4gZnVuY3Rpb25fYXJpdHk7Cit0eXBlZGVmIG1wbDo6dmVjdG9yMzY8IFIsIHR5cGVuYW1lIGNsYXNzX3RyYW5zZm9ybTxUMCBCT09TVF9GVF9jdiwgTD4gOjp0eXBlICwgVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzICwgVDE0ICwgVDE1ICwgVDE2ICwgVDE3ICwgVDE4ICwgVDE5ICwgVDIwICwgVDIxICwgVDIyICwgVDIzICwgVDI0ICwgVDI1ICwgVDI2ICwgVDI3ICwgVDI4ICwgVDI5ICwgVDMwICwgVDMxICwgVDMyICwgVDMzICwgVDM0ID4gdHlwZXM7Cit9OwordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIgLCB0eXBlbmFtZSBUMyAsIHR5cGVuYW1lIFQ0ICwgdHlwZW5hbWUgVDUgLCB0eXBlbmFtZSBUNiAsIHR5cGVuYW1lIFQ3ICwgdHlwZW5hbWUgVDggLCB0eXBlbmFtZSBUOSAsIHR5cGVuYW1lIFQxMCAsIHR5cGVuYW1lIFQxMSAsIHR5cGVuYW1lIFQxMiAsIHR5cGVuYW1lIFQxMyAsIHR5cGVuYW1lIFQxNCAsIHR5cGVuYW1lIFQxNSAsIHR5cGVuYW1lIFQxNiAsIHR5cGVuYW1lIFQxNyAsIHR5cGVuYW1lIFQxOCAsIHR5cGVuYW1lIFQxOSAsIHR5cGVuYW1lIFQyMCAsIHR5cGVuYW1lIFQyMSAsIHR5cGVuYW1lIFQyMiAsIHR5cGVuYW1lIFQyMyAsIHR5cGVuYW1lIFQyNCAsIHR5cGVuYW1lIFQyNSAsIHR5cGVuYW1lIFQyNiAsIHR5cGVuYW1lIFQyNyAsIHR5cGVuYW1lIFQyOCAsIHR5cGVuYW1lIFQyOSAsIHR5cGVuYW1lIFQzMCAsIHR5cGVuYW1lIFQzMSAsIHR5cGVuYW1lIFQzMiAsIHR5cGVuYW1lIFQzMyAsIHR5cGVuYW1lIFQzNCAsIHR5cGVuYW1lIFQzNSwgdHlwZW5hbWUgTD4KK3N0cnVjdCBjb21wb25lbnRzX2ltcGw8Qk9PU1RfRlRfc3ludGF4KEJPT1NUX0ZUX2NjLCBCT09TVF9QUF9FTVBUWSkgKFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSAsIFQyMCAsIFQyMSAsIFQyMiAsIFQyMyAsIFQyNCAsIFQyNSAsIFQyNiAsIFQyNyAsIFQyOCAsIFQyOSAsIFQzMCAsIFQzMSAsIFQzMiAsIFQzMyAsIFQzNCAsIFQzNSBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2LCBMPgorewordHlwZWRlZiBlbmNvZGVfYml0czxCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZD4gYml0czsKK3R5cGVkZWYgY29uc3RhbnQ8Qk9PU1RfRlRfZnVsbF9tYXNrPiBtYXNrOwordHlwZWRlZiBmdW5jdGlvbl90eXBlczo6Y29tcG9uZW50czxCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsIEJPT1NUX1BQX0VNUFRZKSAoVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzICwgVDE0ICwgVDE1ICwgVDE2ICwgVDE3ICwgVDE4ICwgVDE5ICwgVDIwICwgVDIxICwgVDIyICwgVDIzICwgVDI0ICwgVDI1ICwgVDI2ICwgVDI3ICwgVDI4ICwgVDI5ICwgVDMwICwgVDMxICwgVDMyICwgVDMzICwgVDM0ICwgVDM1IEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YsIEw+IHR5cGU7Cit0eXBlZGVmIGNvbXBvbmVudHNfbXBsX3NlcXVlbmNlX3RhZyB0YWc7Cit0eXBlZGVmIG1wbDo6aW50ZWdyYWxfYzxzdGQ6OnNpemVfdCwzNj4gZnVuY3Rpb25fYXJpdHk7Cit0eXBlZGVmIG1wbDo6dmVjdG9yMzc8IFIsIHR5cGVuYW1lIGNsYXNzX3RyYW5zZm9ybTxUMCBCT09TVF9GVF9jdiwgTD4gOjp0eXBlICwgVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzICwgVDE0ICwgVDE1ICwgVDE2ICwgVDE3ICwgVDE4ICwgVDE5ICwgVDIwICwgVDIxICwgVDIyICwgVDIzICwgVDI0ICwgVDI1ICwgVDI2ICwgVDI3ICwgVDI4ICwgVDI5ICwgVDMwICwgVDMxICwgVDMyICwgVDMzICwgVDM0ICwgVDM1ID4gdHlwZXM7Cit9OwordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIgLCB0eXBlbmFtZSBUMyAsIHR5cGVuYW1lIFQ0ICwgdHlwZW5hbWUgVDUgLCB0eXBlbmFtZSBUNiAsIHR5cGVuYW1lIFQ3ICwgdHlwZW5hbWUgVDggLCB0eXBlbmFtZSBUOSAsIHR5cGVuYW1lIFQxMCAsIHR5cGVuYW1lIFQxMSAsIHR5cGVuYW1lIFQxMiAsIHR5cGVuYW1lIFQxMyAsIHR5cGVuYW1lIFQxNCAsIHR5cGVuYW1lIFQxNSAsIHR5cGVuYW1lIFQxNiAsIHR5cGVuYW1lIFQxNyAsIHR5cGVuYW1lIFQxOCAsIHR5cGVuYW1lIFQxOSAsIHR5cGVuYW1lIFQyMCAsIHR5cGVuYW1lIFQyMSAsIHR5cGVuYW1lIFQyMiAsIHR5cGVuYW1lIFQyMyAsIHR5cGVuYW1lIFQyNCAsIHR5cGVuYW1lIFQyNSAsIHR5cGVuYW1lIFQyNiAsIHR5cGVuYW1lIFQyNyAsIHR5cGVuYW1lIFQyOCAsIHR5cGVuYW1lIFQyOSAsIHR5cGVuYW1lIFQzMCAsIHR5cGVuYW1lIFQzMSAsIHR5cGVuYW1lIFQzMiAsIHR5cGVuYW1lIFQzMyAsIHR5cGVuYW1lIFQzNCAsIHR5cGVuYW1lIFQzNSAsIHR5cGVuYW1lIFQzNiwgdHlwZW5hbWUgTD4KK3N0cnVjdCBjb21wb25lbnRzX2ltcGw8Qk9PU1RfRlRfc3ludGF4KEJPT1NUX0ZUX2NjLCBCT09TVF9QUF9FTVBUWSkgKFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSAsIFQyMCAsIFQyMSAsIFQyMiAsIFQyMyAsIFQyNCAsIFQyNSAsIFQyNiAsIFQyNyAsIFQyOCAsIFQyOSAsIFQzMCAsIFQzMSAsIFQzMiAsIFQzMyAsIFQzNCAsIFQzNSAsIFQzNiBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2LCBMPgorewordHlwZWRlZiBlbmNvZGVfYml0czxCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZD4gYml0czsKK3R5cGVkZWYgY29uc3RhbnQ8Qk9PU1RfRlRfZnVsbF9tYXNrPiBtYXNrOwordHlwZWRlZiBmdW5jdGlvbl90eXBlczo6Y29tcG9uZW50czxCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsIEJPT1NUX1BQX0VNUFRZKSAoVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzICwgVDE0ICwgVDE1ICwgVDE2ICwgVDE3ICwgVDE4ICwgVDE5ICwgVDIwICwgVDIxICwgVDIyICwgVDIzICwgVDI0ICwgVDI1ICwgVDI2ICwgVDI3ICwgVDI4ICwgVDI5ICwgVDMwICwgVDMxICwgVDMyICwgVDMzICwgVDM0ICwgVDM1ICwgVDM2IEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YsIEw+IHR5cGU7Cit0eXBlZGVmIGNvbXBvbmVudHNfbXBsX3NlcXVlbmNlX3RhZyB0YWc7Cit0eXBlZGVmIG1wbDo6aW50ZWdyYWxfYzxzdGQ6OnNpemVfdCwzNz4gZnVuY3Rpb25fYXJpdHk7Cit0eXBlZGVmIG1wbDo6dmVjdG9yMzg8IFIsIHR5cGVuYW1lIGNsYXNzX3RyYW5zZm9ybTxUMCBCT09TVF9GVF9jdiwgTD4gOjp0eXBlICwgVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzICwgVDE0ICwgVDE1ICwgVDE2ICwgVDE3ICwgVDE4ICwgVDE5ICwgVDIwICwgVDIxICwgVDIyICwgVDIzICwgVDI0ICwgVDI1ICwgVDI2ICwgVDI3ICwgVDI4ICwgVDI5ICwgVDMwICwgVDMxICwgVDMyICwgVDMzICwgVDM0ICwgVDM1ICwgVDM2ID4gdHlwZXM7Cit9OwordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIgLCB0eXBlbmFtZSBUMyAsIHR5cGVuYW1lIFQ0ICwgdHlwZW5hbWUgVDUgLCB0eXBlbmFtZSBUNiAsIHR5cGVuYW1lIFQ3ICwgdHlwZW5hbWUgVDggLCB0eXBlbmFtZSBUOSAsIHR5cGVuYW1lIFQxMCAsIHR5cGVuYW1lIFQxMSAsIHR5cGVuYW1lIFQxMiAsIHR5cGVuYW1lIFQxMyAsIHR5cGVuYW1lIFQxNCAsIHR5cGVuYW1lIFQxNSAsIHR5cGVuYW1lIFQxNiAsIHR5cGVuYW1lIFQxNyAsIHR5cGVuYW1lIFQxOCAsIHR5cGVuYW1lIFQxOSAsIHR5cGVuYW1lIFQyMCAsIHR5cGVuYW1lIFQyMSAsIHR5cGVuYW1lIFQyMiAsIHR5cGVuYW1lIFQyMyAsIHR5cGVuYW1lIFQyNCAsIHR5cGVuYW1lIFQyNSAsIHR5cGVuYW1lIFQyNiAsIHR5cGVuYW1lIFQyNyAsIHR5cGVuYW1lIFQyOCAsIHR5cGVuYW1lIFQyOSAsIHR5cGVuYW1lIFQzMCAsIHR5cGVuYW1lIFQzMSAsIHR5cGVuYW1lIFQzMiAsIHR5cGVuYW1lIFQzMyAsIHR5cGVuYW1lIFQzNCAsIHR5cGVuYW1lIFQzNSAsIHR5cGVuYW1lIFQzNiAsIHR5cGVuYW1lIFQzNywgdHlwZW5hbWUgTD4KK3N0cnVjdCBjb21wb25lbnRzX2ltcGw8Qk9PU1RfRlRfc3ludGF4KEJPT1NUX0ZUX2NjLCBCT09TVF9QUF9FTVBUWSkgKFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSAsIFQyMCAsIFQyMSAsIFQyMiAsIFQyMyAsIFQyNCAsIFQyNSAsIFQyNiAsIFQyNyAsIFQyOCAsIFQyOSAsIFQzMCAsIFQzMSAsIFQzMiAsIFQzMyAsIFQzNCAsIFQzNSAsIFQzNiAsIFQzNyBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2LCBMPgorewordHlwZWRlZiBlbmNvZGVfYml0czxCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZD4gYml0czsKK3R5cGVkZWYgY29uc3RhbnQ8Qk9PU1RfRlRfZnVsbF9tYXNrPiBtYXNrOwordHlwZWRlZiBmdW5jdGlvbl90eXBlczo6Y29tcG9uZW50czxCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsIEJPT1NUX1BQX0VNUFRZKSAoVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzICwgVDE0ICwgVDE1ICwgVDE2ICwgVDE3ICwgVDE4ICwgVDE5ICwgVDIwICwgVDIxICwgVDIyICwgVDIzICwgVDI0ICwgVDI1ICwgVDI2ICwgVDI3ICwgVDI4ICwgVDI5ICwgVDMwICwgVDMxICwgVDMyICwgVDMzICwgVDM0ICwgVDM1ICwgVDM2ICwgVDM3IEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YsIEw+IHR5cGU7Cit0eXBlZGVmIGNvbXBvbmVudHNfbXBsX3NlcXVlbmNlX3RhZyB0YWc7Cit0eXBlZGVmIG1wbDo6aW50ZWdyYWxfYzxzdGQ6OnNpemVfdCwzOD4gZnVuY3Rpb25fYXJpdHk7Cit0eXBlZGVmIG1wbDo6dmVjdG9yMzk8IFIsIHR5cGVuYW1lIGNsYXNzX3RyYW5zZm9ybTxUMCBCT09TVF9GVF9jdiwgTD4gOjp0eXBlICwgVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzICwgVDE0ICwgVDE1ICwgVDE2ICwgVDE3ICwgVDE4ICwgVDE5ICwgVDIwICwgVDIxICwgVDIyICwgVDIzICwgVDI0ICwgVDI1ICwgVDI2ICwgVDI3ICwgVDI4ICwgVDI5ICwgVDMwICwgVDMxICwgVDMyICwgVDMzICwgVDM0ICwgVDM1ICwgVDM2ICwgVDM3ID4gdHlwZXM7Cit9OwordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIgLCB0eXBlbmFtZSBUMyAsIHR5cGVuYW1lIFQ0ICwgdHlwZW5hbWUgVDUgLCB0eXBlbmFtZSBUNiAsIHR5cGVuYW1lIFQ3ICwgdHlwZW5hbWUgVDggLCB0eXBlbmFtZSBUOSAsIHR5cGVuYW1lIFQxMCAsIHR5cGVuYW1lIFQxMSAsIHR5cGVuYW1lIFQxMiAsIHR5cGVuYW1lIFQxMyAsIHR5cGVuYW1lIFQxNCAsIHR5cGVuYW1lIFQxNSAsIHR5cGVuYW1lIFQxNiAsIHR5cGVuYW1lIFQxNyAsIHR5cGVuYW1lIFQxOCAsIHR5cGVuYW1lIFQxOSAsIHR5cGVuYW1lIFQyMCAsIHR5cGVuYW1lIFQyMSAsIHR5cGVuYW1lIFQyMiAsIHR5cGVuYW1lIFQyMyAsIHR5cGVuYW1lIFQyNCAsIHR5cGVuYW1lIFQyNSAsIHR5cGVuYW1lIFQyNiAsIHR5cGVuYW1lIFQyNyAsIHR5cGVuYW1lIFQyOCAsIHR5cGVuYW1lIFQyOSAsIHR5cGVuYW1lIFQzMCAsIHR5cGVuYW1lIFQzMSAsIHR5cGVuYW1lIFQzMiAsIHR5cGVuYW1lIFQzMyAsIHR5cGVuYW1lIFQzNCAsIHR5cGVuYW1lIFQzNSAsIHR5cGVuYW1lIFQzNiAsIHR5cGVuYW1lIFQzNyAsIHR5cGVuYW1lIFQzOCwgdHlwZW5hbWUgTD4KK3N0cnVjdCBjb21wb25lbnRzX2ltcGw8Qk9PU1RfRlRfc3ludGF4KEJPT1NUX0ZUX2NjLCBCT09TVF9QUF9FTVBUWSkgKFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSAsIFQyMCAsIFQyMSAsIFQyMiAsIFQyMyAsIFQyNCAsIFQyNSAsIFQyNiAsIFQyNyAsIFQyOCAsIFQyOSAsIFQzMCAsIFQzMSAsIFQzMiAsIFQzMyAsIFQzNCAsIFQzNSAsIFQzNiAsIFQzNyAsIFQzOCBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2LCBMPgorewordHlwZWRlZiBlbmNvZGVfYml0czxCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZD4gYml0czsKK3R5cGVkZWYgY29uc3RhbnQ8Qk9PU1RfRlRfZnVsbF9tYXNrPiBtYXNrOwordHlwZWRlZiBmdW5jdGlvbl90eXBlczo6Y29tcG9uZW50czxCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsIEJPT1NUX1BQX0VNUFRZKSAoVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzICwgVDE0ICwgVDE1ICwgVDE2ICwgVDE3ICwgVDE4ICwgVDE5ICwgVDIwICwgVDIxICwgVDIyICwgVDIzICwgVDI0ICwgVDI1ICwgVDI2ICwgVDI3ICwgVDI4ICwgVDI5ICwgVDMwICwgVDMxICwgVDMyICwgVDMzICwgVDM0ICwgVDM1ICwgVDM2ICwgVDM3ICwgVDM4IEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YsIEw+IHR5cGU7Cit0eXBlZGVmIGNvbXBvbmVudHNfbXBsX3NlcXVlbmNlX3RhZyB0YWc7Cit0eXBlZGVmIG1wbDo6aW50ZWdyYWxfYzxzdGQ6OnNpemVfdCwzOT4gZnVuY3Rpb25fYXJpdHk7Cit0eXBlZGVmIG1wbDo6dmVjdG9yNDA8IFIsIHR5cGVuYW1lIGNsYXNzX3RyYW5zZm9ybTxUMCBCT09TVF9GVF9jdiwgTD4gOjp0eXBlICwgVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzICwgVDE0ICwgVDE1ICwgVDE2ICwgVDE3ICwgVDE4ICwgVDE5ICwgVDIwICwgVDIxICwgVDIyICwgVDIzICwgVDI0ICwgVDI1ICwgVDI2ICwgVDI3ICwgVDI4ICwgVDI5ICwgVDMwICwgVDMxICwgVDMyICwgVDMzICwgVDM0ICwgVDM1ICwgVDM2ICwgVDM3ICwgVDM4ID4gdHlwZXM7Cit9OwordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIgLCB0eXBlbmFtZSBUMyAsIHR5cGVuYW1lIFQ0ICwgdHlwZW5hbWUgVDUgLCB0eXBlbmFtZSBUNiAsIHR5cGVuYW1lIFQ3ICwgdHlwZW5hbWUgVDggLCB0eXBlbmFtZSBUOSAsIHR5cGVuYW1lIFQxMCAsIHR5cGVuYW1lIFQxMSAsIHR5cGVuYW1lIFQxMiAsIHR5cGVuYW1lIFQxMyAsIHR5cGVuYW1lIFQxNCAsIHR5cGVuYW1lIFQxNSAsIHR5cGVuYW1lIFQxNiAsIHR5cGVuYW1lIFQxNyAsIHR5cGVuYW1lIFQxOCAsIHR5cGVuYW1lIFQxOSAsIHR5cGVuYW1lIFQyMCAsIHR5cGVuYW1lIFQyMSAsIHR5cGVuYW1lIFQyMiAsIHR5cGVuYW1lIFQyMyAsIHR5cGVuYW1lIFQyNCAsIHR5cGVuYW1lIFQyNSAsIHR5cGVuYW1lIFQyNiAsIHR5cGVuYW1lIFQyNyAsIHR5cGVuYW1lIFQyOCAsIHR5cGVuYW1lIFQyOSAsIHR5cGVuYW1lIFQzMCAsIHR5cGVuYW1lIFQzMSAsIHR5cGVuYW1lIFQzMiAsIHR5cGVuYW1lIFQzMyAsIHR5cGVuYW1lIFQzNCAsIHR5cGVuYW1lIFQzNSAsIHR5cGVuYW1lIFQzNiAsIHR5cGVuYW1lIFQzNyAsIHR5cGVuYW1lIFQzOCAsIHR5cGVuYW1lIFQzOSwgdHlwZW5hbWUgTD4KK3N0cnVjdCBjb21wb25lbnRzX2ltcGw8Qk9PU1RfRlRfc3ludGF4KEJPT1NUX0ZUX2NjLCBCT09TVF9QUF9FTVBUWSkgKFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSAsIFQyMCAsIFQyMSAsIFQyMiAsIFQyMyAsIFQyNCAsIFQyNSAsIFQyNiAsIFQyNyAsIFQyOCAsIFQyOSAsIFQzMCAsIFQzMSAsIFQzMiAsIFQzMyAsIFQzNCAsIFQzNSAsIFQzNiAsIFQzNyAsIFQzOCAsIFQzOSBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2LCBMPgorewordHlwZWRlZiBlbmNvZGVfYml0czxCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZD4gYml0czsKK3R5cGVkZWYgY29uc3RhbnQ8Qk9PU1RfRlRfZnVsbF9tYXNrPiBtYXNrOwordHlwZWRlZiBmdW5jdGlvbl90eXBlczo6Y29tcG9uZW50czxCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsIEJPT1NUX1BQX0VNUFRZKSAoVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzICwgVDE0ICwgVDE1ICwgVDE2ICwgVDE3ICwgVDE4ICwgVDE5ICwgVDIwICwgVDIxICwgVDIyICwgVDIzICwgVDI0ICwgVDI1ICwgVDI2ICwgVDI3ICwgVDI4ICwgVDI5ICwgVDMwICwgVDMxICwgVDMyICwgVDMzICwgVDM0ICwgVDM1ICwgVDM2ICwgVDM3ICwgVDM4ICwgVDM5IEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YsIEw+IHR5cGU7Cit0eXBlZGVmIGNvbXBvbmVudHNfbXBsX3NlcXVlbmNlX3RhZyB0YWc7Cit0eXBlZGVmIG1wbDo6aW50ZWdyYWxfYzxzdGQ6OnNpemVfdCw0MD4gZnVuY3Rpb25fYXJpdHk7Cit0eXBlZGVmIG1wbDo6dmVjdG9yNDE8IFIsIHR5cGVuYW1lIGNsYXNzX3RyYW5zZm9ybTxUMCBCT09TVF9GVF9jdiwgTD4gOjp0eXBlICwgVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzICwgVDE0ICwgVDE1ICwgVDE2ICwgVDE3ICwgVDE4ICwgVDE5ICwgVDIwICwgVDIxICwgVDIyICwgVDIzICwgVDI0ICwgVDI1ICwgVDI2ICwgVDI3ICwgVDI4ICwgVDI5ICwgVDMwICwgVDMxICwgVDMyICwgVDMzICwgVDM0ICwgVDM1ICwgVDM2ICwgVDM3ICwgVDM4ICwgVDM5ID4gdHlwZXM7Cit9OworCmRpZmYgLS1naXQgYS9uZG5ib29zdC9mdW5jdGlvbl90eXBlcy9kZXRhaWwvY29tcG9uZW50c19pbXBsL2FyaXR5NTBfMC5ocHAgYi9uZG5ib29zdC9mdW5jdGlvbl90eXBlcy9kZXRhaWwvY29tcG9uZW50c19pbXBsL2FyaXR5NTBfMC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjJmZGE3MwotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L2Z1bmN0aW9uX3R5cGVzL2RldGFpbC9jb21wb25lbnRzX2ltcGwvYXJpdHk1MF8wLmhwcApAQCAtMCwwICsxLDEyMyBAQAorCisvLyAoQykgQ29weXJpZ2h0IFRvYmlhcyBTY2h3aW5nZXIKKy8vCisvLyBVc2UgbW9kaWZpY2F0aW9uIGFuZCBkaXN0cmlidXRpb24gYXJlIHN1YmplY3QgdG8gdGhlIGJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsCisvLyBWZXJzaW9uIDEuMC4gKFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpLgorCisvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisvLyBubyBpbmNsdWRlIGd1YXJkcywgdGhpcyBmaWxlIGlzIGludGVuZGVkIGZvciBtdWx0aXBsZSBpbmNsdXNpb24KKworLy8gaW5wdXQ6ICBCT09TVF9GVF9zeW50YXggICAgIHR5cGUgbWFjcm8gdG8gdXNlCisvLyBpbnB1dDogIEJPT1NUX0ZUX2NjICAgICAgICAgZW1wdHkgb3IgY2Mgc3BlY2lmaWVyIAorLy8gaW5wdXQ6ICBCT09TVF9GVF9lbGwgICAgICAgIGVtcHR5IG9yICIuLi4iCisvLyBpbnB1dDogIEJPT1NUX0ZUX2N2ICAgICAgICAgZW1wdHkgb3IgY3YgcXVhbGlmaWVycworLy8gaW5wdXQ6ICBCT09TVF9GVF9mbGFncyAgICAgIHNpbmdsZSBkZWNpbWFsIGludGVnZXIgZW5jb2RpbmcgdGhlIGZsYWdzCisvLyBvdXRwdXQ6IEJPT1NUX0ZUX24gICAgICAgICAgbnVtYmVyIG9mIGNvbXBvbmVudCB0eXBlcyAoYXJpdHkrMSkKKy8vIG91dHB1dDogQk9PU1RfRlRfYXJpdHkgICAgICBjdXJyZW50IGFyaXR5CisvLyBvdXRwdXQ6IEJPT1NUX0ZUX3R5cGUgICAgICAgbWFjcm8gdGhhdCBleHBhbmRzIHRvIHRoZSB0eXBlCisvLyBvdXRwdXQ6IEJPT1NUX0ZUX3RwbGFyZ3MocCkgdGVtcGxhdGUgYXJndW1lbnRzIHdpdGggZ2l2ZW4gcHJlZml4CisvLyBvdXRwdXQ6IEJPT1NUX0ZUX3BhcmFtcyhwKSAgcGFyYW1ldGVycyB3aXRoIGdpdmVuIHByZWZpeAorCisjIGluY2x1ZGUgPG5kbmJvb3N0L2Z1bmN0aW9uX3R5cGVzL2RldGFpbC9jb21wb25lbnRzX2ltcGwvYXJpdHk0MF8wLmhwcD4KK3RlbXBsYXRlPCB0eXBlbmFtZSBSICwgdHlwZW5hbWUgVDAgLCB0eXBlbmFtZSBUMSAsIHR5cGVuYW1lIFQyICwgdHlwZW5hbWUgVDMgLCB0eXBlbmFtZSBUNCAsIHR5cGVuYW1lIFQ1ICwgdHlwZW5hbWUgVDYgLCB0eXBlbmFtZSBUNyAsIHR5cGVuYW1lIFQ4ICwgdHlwZW5hbWUgVDkgLCB0eXBlbmFtZSBUMTAgLCB0eXBlbmFtZSBUMTEgLCB0eXBlbmFtZSBUMTIgLCB0eXBlbmFtZSBUMTMgLCB0eXBlbmFtZSBUMTQgLCB0eXBlbmFtZSBUMTUgLCB0eXBlbmFtZSBUMTYgLCB0eXBlbmFtZSBUMTcgLCB0eXBlbmFtZSBUMTggLCB0eXBlbmFtZSBUMTkgLCB0eXBlbmFtZSBUMjAgLCB0eXBlbmFtZSBUMjEgLCB0eXBlbmFtZSBUMjIgLCB0eXBlbmFtZSBUMjMgLCB0eXBlbmFtZSBUMjQgLCB0eXBlbmFtZSBUMjUgLCB0eXBlbmFtZSBUMjYgLCB0eXBlbmFtZSBUMjcgLCB0eXBlbmFtZSBUMjggLCB0eXBlbmFtZSBUMjkgLCB0eXBlbmFtZSBUMzAgLCB0eXBlbmFtZSBUMzEgLCB0eXBlbmFtZSBUMzIgLCB0eXBlbmFtZSBUMzMgLCB0eXBlbmFtZSBUMzQgLCB0eXBlbmFtZSBUMzUgLCB0eXBlbmFtZSBUMzYgLCB0eXBlbmFtZSBUMzcgLCB0eXBlbmFtZSBUMzggLCB0eXBlbmFtZSBUMzkgLCB0eXBlbmFtZSBUNDAsIHR5cGVuYW1lIEw+CitzdHJ1Y3QgY29tcG9uZW50c19pbXBsPEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYywgQk9PU1RfUFBfRU1QVFkpIChUMCAsIFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSAsIFQyMCAsIFQyMSAsIFQyMiAsIFQyMyAsIFQyNCAsIFQyNSAsIFQyNiAsIFQyNyAsIFQyOCAsIFQyOSAsIFQzMCAsIFQzMSAsIFQzMiAsIFQzMyAsIFQzNCAsIFQzNSAsIFQzNiAsIFQzNyAsIFQzOCAsIFQzOSAsIFQ0MCBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2LCBMPgorewordHlwZWRlZiBlbmNvZGVfYml0czxCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZD4gYml0czsKK3R5cGVkZWYgY29uc3RhbnQ8Qk9PU1RfRlRfZnVsbF9tYXNrPiBtYXNrOwordHlwZWRlZiBmdW5jdGlvbl90eXBlczo6Y29tcG9uZW50czxCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsIEJPT1NUX1BQX0VNUFRZKSAoVDAgLCBUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgLCBUMTIgLCBUMTMgLCBUMTQgLCBUMTUgLCBUMTYgLCBUMTcgLCBUMTggLCBUMTkgLCBUMjAgLCBUMjEgLCBUMjIgLCBUMjMgLCBUMjQgLCBUMjUgLCBUMjYgLCBUMjcgLCBUMjggLCBUMjkgLCBUMzAgLCBUMzEgLCBUMzIgLCBUMzMgLCBUMzQgLCBUMzUgLCBUMzYgLCBUMzcgLCBUMzggLCBUMzkgLCBUNDAgQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdiwgTD4gdHlwZTsKK3R5cGVkZWYgY29tcG9uZW50c19tcGxfc2VxdWVuY2VfdGFnIHRhZzsKK3R5cGVkZWYgbXBsOjppbnRlZ3JhbF9jPHN0ZDo6c2l6ZV90LDQxPiBmdW5jdGlvbl9hcml0eTsKK3R5cGVkZWYgbXBsOjp2ZWN0b3I0MjwgUiAsIFQwICwgVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzICwgVDE0ICwgVDE1ICwgVDE2ICwgVDE3ICwgVDE4ICwgVDE5ICwgVDIwICwgVDIxICwgVDIyICwgVDIzICwgVDI0ICwgVDI1ICwgVDI2ICwgVDI3ICwgVDI4ICwgVDI5ICwgVDMwICwgVDMxICwgVDMyICwgVDMzICwgVDM0ICwgVDM1ICwgVDM2ICwgVDM3ICwgVDM4ICwgVDM5ICwgVDQwID4gdHlwZXM7Cit9OwordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIgLCB0eXBlbmFtZSBUMyAsIHR5cGVuYW1lIFQ0ICwgdHlwZW5hbWUgVDUgLCB0eXBlbmFtZSBUNiAsIHR5cGVuYW1lIFQ3ICwgdHlwZW5hbWUgVDggLCB0eXBlbmFtZSBUOSAsIHR5cGVuYW1lIFQxMCAsIHR5cGVuYW1lIFQxMSAsIHR5cGVuYW1lIFQxMiAsIHR5cGVuYW1lIFQxMyAsIHR5cGVuYW1lIFQxNCAsIHR5cGVuYW1lIFQxNSAsIHR5cGVuYW1lIFQxNiAsIHR5cGVuYW1lIFQxNyAsIHR5cGVuYW1lIFQxOCAsIHR5cGVuYW1lIFQxOSAsIHR5cGVuYW1lIFQyMCAsIHR5cGVuYW1lIFQyMSAsIHR5cGVuYW1lIFQyMiAsIHR5cGVuYW1lIFQyMyAsIHR5cGVuYW1lIFQyNCAsIHR5cGVuYW1lIFQyNSAsIHR5cGVuYW1lIFQyNiAsIHR5cGVuYW1lIFQyNyAsIHR5cGVuYW1lIFQyOCAsIHR5cGVuYW1lIFQyOSAsIHR5cGVuYW1lIFQzMCAsIHR5cGVuYW1lIFQzMSAsIHR5cGVuYW1lIFQzMiAsIHR5cGVuYW1lIFQzMyAsIHR5cGVuYW1lIFQzNCAsIHR5cGVuYW1lIFQzNSAsIHR5cGVuYW1lIFQzNiAsIHR5cGVuYW1lIFQzNyAsIHR5cGVuYW1lIFQzOCAsIHR5cGVuYW1lIFQzOSAsIHR5cGVuYW1lIFQ0MCAsIHR5cGVuYW1lIFQ0MSwgdHlwZW5hbWUgTD4KK3N0cnVjdCBjb21wb25lbnRzX2ltcGw8Qk9PU1RfRlRfc3ludGF4KEJPT1NUX0ZUX2NjLCBCT09TVF9QUF9FTVBUWSkgKFQwICwgVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzICwgVDE0ICwgVDE1ICwgVDE2ICwgVDE3ICwgVDE4ICwgVDE5ICwgVDIwICwgVDIxICwgVDIyICwgVDIzICwgVDI0ICwgVDI1ICwgVDI2ICwgVDI3ICwgVDI4ICwgVDI5ICwgVDMwICwgVDMxICwgVDMyICwgVDMzICwgVDM0ICwgVDM1ICwgVDM2ICwgVDM3ICwgVDM4ICwgVDM5ICwgVDQwICwgVDQxIEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YsIEw+Cit7Cit0eXBlZGVmIGVuY29kZV9iaXRzPEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkPiBiaXRzOwordHlwZWRlZiBjb25zdGFudDxCT09TVF9GVF9mdWxsX21hc2s+IG1hc2s7Cit0eXBlZGVmIGZ1bmN0aW9uX3R5cGVzOjpjb21wb25lbnRzPEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYywgQk9PU1RfUFBfRU1QVFkpIChUMCAsIFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSAsIFQyMCAsIFQyMSAsIFQyMiAsIFQyMyAsIFQyNCAsIFQyNSAsIFQyNiAsIFQyNyAsIFQyOCAsIFQyOSAsIFQzMCAsIFQzMSAsIFQzMiAsIFQzMyAsIFQzNCAsIFQzNSAsIFQzNiAsIFQzNyAsIFQzOCAsIFQzOSAsIFQ0MCAsIFQ0MSBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2LCBMPiB0eXBlOwordHlwZWRlZiBjb21wb25lbnRzX21wbF9zZXF1ZW5jZV90YWcgdGFnOwordHlwZWRlZiBtcGw6OmludGVncmFsX2M8c3RkOjpzaXplX3QsNDI+IGZ1bmN0aW9uX2FyaXR5OwordHlwZWRlZiBtcGw6OnZlY3RvcjQzPCBSICwgVDAgLCBUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgLCBUMTIgLCBUMTMgLCBUMTQgLCBUMTUgLCBUMTYgLCBUMTcgLCBUMTggLCBUMTkgLCBUMjAgLCBUMjEgLCBUMjIgLCBUMjMgLCBUMjQgLCBUMjUgLCBUMjYgLCBUMjcgLCBUMjggLCBUMjkgLCBUMzAgLCBUMzEgLCBUMzIgLCBUMzMgLCBUMzQgLCBUMzUgLCBUMzYgLCBUMzcgLCBUMzggLCBUMzkgLCBUNDAgLCBUNDEgPiB0eXBlczsKK307Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgUiAsIHR5cGVuYW1lIFQwICwgdHlwZW5hbWUgVDEgLCB0eXBlbmFtZSBUMiAsIHR5cGVuYW1lIFQzICwgdHlwZW5hbWUgVDQgLCB0eXBlbmFtZSBUNSAsIHR5cGVuYW1lIFQ2ICwgdHlwZW5hbWUgVDcgLCB0eXBlbmFtZSBUOCAsIHR5cGVuYW1lIFQ5ICwgdHlwZW5hbWUgVDEwICwgdHlwZW5hbWUgVDExICwgdHlwZW5hbWUgVDEyICwgdHlwZW5hbWUgVDEzICwgdHlwZW5hbWUgVDE0ICwgdHlwZW5hbWUgVDE1ICwgdHlwZW5hbWUgVDE2ICwgdHlwZW5hbWUgVDE3ICwgdHlwZW5hbWUgVDE4ICwgdHlwZW5hbWUgVDE5ICwgdHlwZW5hbWUgVDIwICwgdHlwZW5hbWUgVDIxICwgdHlwZW5hbWUgVDIyICwgdHlwZW5hbWUgVDIzICwgdHlwZW5hbWUgVDI0ICwgdHlwZW5hbWUgVDI1ICwgdHlwZW5hbWUgVDI2ICwgdHlwZW5hbWUgVDI3ICwgdHlwZW5hbWUgVDI4ICwgdHlwZW5hbWUgVDI5ICwgdHlwZW5hbWUgVDMwICwgdHlwZW5hbWUgVDMxICwgdHlwZW5hbWUgVDMyICwgdHlwZW5hbWUgVDMzICwgdHlwZW5hbWUgVDM0ICwgdHlwZW5hbWUgVDM1ICwgdHlwZW5hbWUgVDM2ICwgdHlwZW5hbWUgVDM3ICwgdHlwZW5hbWUgVDM4ICwgdHlwZW5hbWUgVDM5ICwgdHlwZW5hbWUgVDQwICwgdHlwZW5hbWUgVDQxICwgdHlwZW5hbWUgVDQyLCB0eXBlbmFtZSBMPgorc3RydWN0IGNvbXBvbmVudHNfaW1wbDxCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsIEJPT1NUX1BQX0VNUFRZKSAoVDAgLCBUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgLCBUMTIgLCBUMTMgLCBUMTQgLCBUMTUgLCBUMTYgLCBUMTcgLCBUMTggLCBUMTkgLCBUMjAgLCBUMjEgLCBUMjIgLCBUMjMgLCBUMjQgLCBUMjUgLCBUMjYgLCBUMjcgLCBUMjggLCBUMjkgLCBUMzAgLCBUMzEgLCBUMzIgLCBUMzMgLCBUMzQgLCBUMzUgLCBUMzYgLCBUMzcgLCBUMzggLCBUMzkgLCBUNDAgLCBUNDEgLCBUNDIgQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdiwgTD4KK3sKK3R5cGVkZWYgZW5jb2RlX2JpdHM8Qk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQ+IGJpdHM7Cit0eXBlZGVmIGNvbnN0YW50PEJPT1NUX0ZUX2Z1bGxfbWFzaz4gbWFzazsKK3R5cGVkZWYgZnVuY3Rpb25fdHlwZXM6OmNvbXBvbmVudHM8Qk9PU1RfRlRfc3ludGF4KEJPT1NUX0ZUX2NjLCBCT09TVF9QUF9FTVBUWSkgKFQwICwgVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzICwgVDE0ICwgVDE1ICwgVDE2ICwgVDE3ICwgVDE4ICwgVDE5ICwgVDIwICwgVDIxICwgVDIyICwgVDIzICwgVDI0ICwgVDI1ICwgVDI2ICwgVDI3ICwgVDI4ICwgVDI5ICwgVDMwICwgVDMxICwgVDMyICwgVDMzICwgVDM0ICwgVDM1ICwgVDM2ICwgVDM3ICwgVDM4ICwgVDM5ICwgVDQwICwgVDQxICwgVDQyIEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YsIEw+IHR5cGU7Cit0eXBlZGVmIGNvbXBvbmVudHNfbXBsX3NlcXVlbmNlX3RhZyB0YWc7Cit0eXBlZGVmIG1wbDo6aW50ZWdyYWxfYzxzdGQ6OnNpemVfdCw0Mz4gZnVuY3Rpb25fYXJpdHk7Cit0eXBlZGVmIG1wbDo6dmVjdG9yNDQ8IFIgLCBUMCAsIFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSAsIFQyMCAsIFQyMSAsIFQyMiAsIFQyMyAsIFQyNCAsIFQyNSAsIFQyNiAsIFQyNyAsIFQyOCAsIFQyOSAsIFQzMCAsIFQzMSAsIFQzMiAsIFQzMyAsIFQzNCAsIFQzNSAsIFQzNiAsIFQzNyAsIFQzOCAsIFQzOSAsIFQ0MCAsIFQ0MSAsIFQ0MiA+IHR5cGVzOworfTsKK3RlbXBsYXRlPCB0eXBlbmFtZSBSICwgdHlwZW5hbWUgVDAgLCB0eXBlbmFtZSBUMSAsIHR5cGVuYW1lIFQyICwgdHlwZW5hbWUgVDMgLCB0eXBlbmFtZSBUNCAsIHR5cGVuYW1lIFQ1ICwgdHlwZW5hbWUgVDYgLCB0eXBlbmFtZSBUNyAsIHR5cGVuYW1lIFQ4ICwgdHlwZW5hbWUgVDkgLCB0eXBlbmFtZSBUMTAgLCB0eXBlbmFtZSBUMTEgLCB0eXBlbmFtZSBUMTIgLCB0eXBlbmFtZSBUMTMgLCB0eXBlbmFtZSBUMTQgLCB0eXBlbmFtZSBUMTUgLCB0eXBlbmFtZSBUMTYgLCB0eXBlbmFtZSBUMTcgLCB0eXBlbmFtZSBUMTggLCB0eXBlbmFtZSBUMTkgLCB0eXBlbmFtZSBUMjAgLCB0eXBlbmFtZSBUMjEgLCB0eXBlbmFtZSBUMjIgLCB0eXBlbmFtZSBUMjMgLCB0eXBlbmFtZSBUMjQgLCB0eXBlbmFtZSBUMjUgLCB0eXBlbmFtZSBUMjYgLCB0eXBlbmFtZSBUMjcgLCB0eXBlbmFtZSBUMjggLCB0eXBlbmFtZSBUMjkgLCB0eXBlbmFtZSBUMzAgLCB0eXBlbmFtZSBUMzEgLCB0eXBlbmFtZSBUMzIgLCB0eXBlbmFtZSBUMzMgLCB0eXBlbmFtZSBUMzQgLCB0eXBlbmFtZSBUMzUgLCB0eXBlbmFtZSBUMzYgLCB0eXBlbmFtZSBUMzcgLCB0eXBlbmFtZSBUMzggLCB0eXBlbmFtZSBUMzkgLCB0eXBlbmFtZSBUNDAgLCB0eXBlbmFtZSBUNDEgLCB0eXBlbmFtZSBUNDIgLCB0eXBlbmFtZSBUNDMsIHR5cGVuYW1lIEw+CitzdHJ1Y3QgY29tcG9uZW50c19pbXBsPEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYywgQk9PU1RfUFBfRU1QVFkpIChUMCAsIFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSAsIFQyMCAsIFQyMSAsIFQyMiAsIFQyMyAsIFQyNCAsIFQyNSAsIFQyNiAsIFQyNyAsIFQyOCAsIFQyOSAsIFQzMCAsIFQzMSAsIFQzMiAsIFQzMyAsIFQzNCAsIFQzNSAsIFQzNiAsIFQzNyAsIFQzOCAsIFQzOSAsIFQ0MCAsIFQ0MSAsIFQ0MiAsIFQ0MyBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2LCBMPgorewordHlwZWRlZiBlbmNvZGVfYml0czxCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZD4gYml0czsKK3R5cGVkZWYgY29uc3RhbnQ8Qk9PU1RfRlRfZnVsbF9tYXNrPiBtYXNrOwordHlwZWRlZiBmdW5jdGlvbl90eXBlczo6Y29tcG9uZW50czxCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsIEJPT1NUX1BQX0VNUFRZKSAoVDAgLCBUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgLCBUMTIgLCBUMTMgLCBUMTQgLCBUMTUgLCBUMTYgLCBUMTcgLCBUMTggLCBUMTkgLCBUMjAgLCBUMjEgLCBUMjIgLCBUMjMgLCBUMjQgLCBUMjUgLCBUMjYgLCBUMjcgLCBUMjggLCBUMjkgLCBUMzAgLCBUMzEgLCBUMzIgLCBUMzMgLCBUMzQgLCBUMzUgLCBUMzYgLCBUMzcgLCBUMzggLCBUMzkgLCBUNDAgLCBUNDEgLCBUNDIgLCBUNDMgQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdiwgTD4gdHlwZTsKK3R5cGVkZWYgY29tcG9uZW50c19tcGxfc2VxdWVuY2VfdGFnIHRhZzsKK3R5cGVkZWYgbXBsOjppbnRlZ3JhbF9jPHN0ZDo6c2l6ZV90LDQ0PiBmdW5jdGlvbl9hcml0eTsKK3R5cGVkZWYgbXBsOjp2ZWN0b3I0NTwgUiAsIFQwICwgVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzICwgVDE0ICwgVDE1ICwgVDE2ICwgVDE3ICwgVDE4ICwgVDE5ICwgVDIwICwgVDIxICwgVDIyICwgVDIzICwgVDI0ICwgVDI1ICwgVDI2ICwgVDI3ICwgVDI4ICwgVDI5ICwgVDMwICwgVDMxICwgVDMyICwgVDMzICwgVDM0ICwgVDM1ICwgVDM2ICwgVDM3ICwgVDM4ICwgVDM5ICwgVDQwICwgVDQxICwgVDQyICwgVDQzID4gdHlwZXM7Cit9OwordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIgLCB0eXBlbmFtZSBUMyAsIHR5cGVuYW1lIFQ0ICwgdHlwZW5hbWUgVDUgLCB0eXBlbmFtZSBUNiAsIHR5cGVuYW1lIFQ3ICwgdHlwZW5hbWUgVDggLCB0eXBlbmFtZSBUOSAsIHR5cGVuYW1lIFQxMCAsIHR5cGVuYW1lIFQxMSAsIHR5cGVuYW1lIFQxMiAsIHR5cGVuYW1lIFQxMyAsIHR5cGVuYW1lIFQxNCAsIHR5cGVuYW1lIFQxNSAsIHR5cGVuYW1lIFQxNiAsIHR5cGVuYW1lIFQxNyAsIHR5cGVuYW1lIFQxOCAsIHR5cGVuYW1lIFQxOSAsIHR5cGVuYW1lIFQyMCAsIHR5cGVuYW1lIFQyMSAsIHR5cGVuYW1lIFQyMiAsIHR5cGVuYW1lIFQyMyAsIHR5cGVuYW1lIFQyNCAsIHR5cGVuYW1lIFQyNSAsIHR5cGVuYW1lIFQyNiAsIHR5cGVuYW1lIFQyNyAsIHR5cGVuYW1lIFQyOCAsIHR5cGVuYW1lIFQyOSAsIHR5cGVuYW1lIFQzMCAsIHR5cGVuYW1lIFQzMSAsIHR5cGVuYW1lIFQzMiAsIHR5cGVuYW1lIFQzMyAsIHR5cGVuYW1lIFQzNCAsIHR5cGVuYW1lIFQzNSAsIHR5cGVuYW1lIFQzNiAsIHR5cGVuYW1lIFQzNyAsIHR5cGVuYW1lIFQzOCAsIHR5cGVuYW1lIFQzOSAsIHR5cGVuYW1lIFQ0MCAsIHR5cGVuYW1lIFQ0MSAsIHR5cGVuYW1lIFQ0MiAsIHR5cGVuYW1lIFQ0MyAsIHR5cGVuYW1lIFQ0NCwgdHlwZW5hbWUgTD4KK3N0cnVjdCBjb21wb25lbnRzX2ltcGw8Qk9PU1RfRlRfc3ludGF4KEJPT1NUX0ZUX2NjLCBCT09TVF9QUF9FTVBUWSkgKFQwICwgVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzICwgVDE0ICwgVDE1ICwgVDE2ICwgVDE3ICwgVDE4ICwgVDE5ICwgVDIwICwgVDIxICwgVDIyICwgVDIzICwgVDI0ICwgVDI1ICwgVDI2ICwgVDI3ICwgVDI4ICwgVDI5ICwgVDMwICwgVDMxICwgVDMyICwgVDMzICwgVDM0ICwgVDM1ICwgVDM2ICwgVDM3ICwgVDM4ICwgVDM5ICwgVDQwICwgVDQxICwgVDQyICwgVDQzICwgVDQ0IEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YsIEw+Cit7Cit0eXBlZGVmIGVuY29kZV9iaXRzPEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkPiBiaXRzOwordHlwZWRlZiBjb25zdGFudDxCT09TVF9GVF9mdWxsX21hc2s+IG1hc2s7Cit0eXBlZGVmIGZ1bmN0aW9uX3R5cGVzOjpjb21wb25lbnRzPEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYywgQk9PU1RfUFBfRU1QVFkpIChUMCAsIFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSAsIFQyMCAsIFQyMSAsIFQyMiAsIFQyMyAsIFQyNCAsIFQyNSAsIFQyNiAsIFQyNyAsIFQyOCAsIFQyOSAsIFQzMCAsIFQzMSAsIFQzMiAsIFQzMyAsIFQzNCAsIFQzNSAsIFQzNiAsIFQzNyAsIFQzOCAsIFQzOSAsIFQ0MCAsIFQ0MSAsIFQ0MiAsIFQ0MyAsIFQ0NCBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2LCBMPiB0eXBlOwordHlwZWRlZiBjb21wb25lbnRzX21wbF9zZXF1ZW5jZV90YWcgdGFnOwordHlwZWRlZiBtcGw6OmludGVncmFsX2M8c3RkOjpzaXplX3QsNDU+IGZ1bmN0aW9uX2FyaXR5OwordHlwZWRlZiBtcGw6OnZlY3RvcjQ2PCBSICwgVDAgLCBUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgLCBUMTIgLCBUMTMgLCBUMTQgLCBUMTUgLCBUMTYgLCBUMTcgLCBUMTggLCBUMTkgLCBUMjAgLCBUMjEgLCBUMjIgLCBUMjMgLCBUMjQgLCBUMjUgLCBUMjYgLCBUMjcgLCBUMjggLCBUMjkgLCBUMzAgLCBUMzEgLCBUMzIgLCBUMzMgLCBUMzQgLCBUMzUgLCBUMzYgLCBUMzcgLCBUMzggLCBUMzkgLCBUNDAgLCBUNDEgLCBUNDIgLCBUNDMgLCBUNDQgPiB0eXBlczsKK307Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgUiAsIHR5cGVuYW1lIFQwICwgdHlwZW5hbWUgVDEgLCB0eXBlbmFtZSBUMiAsIHR5cGVuYW1lIFQzICwgdHlwZW5hbWUgVDQgLCB0eXBlbmFtZSBUNSAsIHR5cGVuYW1lIFQ2ICwgdHlwZW5hbWUgVDcgLCB0eXBlbmFtZSBUOCAsIHR5cGVuYW1lIFQ5ICwgdHlwZW5hbWUgVDEwICwgdHlwZW5hbWUgVDExICwgdHlwZW5hbWUgVDEyICwgdHlwZW5hbWUgVDEzICwgdHlwZW5hbWUgVDE0ICwgdHlwZW5hbWUgVDE1ICwgdHlwZW5hbWUgVDE2ICwgdHlwZW5hbWUgVDE3ICwgdHlwZW5hbWUgVDE4ICwgdHlwZW5hbWUgVDE5ICwgdHlwZW5hbWUgVDIwICwgdHlwZW5hbWUgVDIxICwgdHlwZW5hbWUgVDIyICwgdHlwZW5hbWUgVDIzICwgdHlwZW5hbWUgVDI0ICwgdHlwZW5hbWUgVDI1ICwgdHlwZW5hbWUgVDI2ICwgdHlwZW5hbWUgVDI3ICwgdHlwZW5hbWUgVDI4ICwgdHlwZW5hbWUgVDI5ICwgdHlwZW5hbWUgVDMwICwgdHlwZW5hbWUgVDMxICwgdHlwZW5hbWUgVDMyICwgdHlwZW5hbWUgVDMzICwgdHlwZW5hbWUgVDM0ICwgdHlwZW5hbWUgVDM1ICwgdHlwZW5hbWUgVDM2ICwgdHlwZW5hbWUgVDM3ICwgdHlwZW5hbWUgVDM4ICwgdHlwZW5hbWUgVDM5ICwgdHlwZW5hbWUgVDQwICwgdHlwZW5hbWUgVDQxICwgdHlwZW5hbWUgVDQyICwgdHlwZW5hbWUgVDQzICwgdHlwZW5hbWUgVDQ0ICwgdHlwZW5hbWUgVDQ1LCB0eXBlbmFtZSBMPgorc3RydWN0IGNvbXBvbmVudHNfaW1wbDxCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsIEJPT1NUX1BQX0VNUFRZKSAoVDAgLCBUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgLCBUMTIgLCBUMTMgLCBUMTQgLCBUMTUgLCBUMTYgLCBUMTcgLCBUMTggLCBUMTkgLCBUMjAgLCBUMjEgLCBUMjIgLCBUMjMgLCBUMjQgLCBUMjUgLCBUMjYgLCBUMjcgLCBUMjggLCBUMjkgLCBUMzAgLCBUMzEgLCBUMzIgLCBUMzMgLCBUMzQgLCBUMzUgLCBUMzYgLCBUMzcgLCBUMzggLCBUMzkgLCBUNDAgLCBUNDEgLCBUNDIgLCBUNDMgLCBUNDQgLCBUNDUgQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdiwgTD4KK3sKK3R5cGVkZWYgZW5jb2RlX2JpdHM8Qk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQ+IGJpdHM7Cit0eXBlZGVmIGNvbnN0YW50PEJPT1NUX0ZUX2Z1bGxfbWFzaz4gbWFzazsKK3R5cGVkZWYgZnVuY3Rpb25fdHlwZXM6OmNvbXBvbmVudHM8Qk9PU1RfRlRfc3ludGF4KEJPT1NUX0ZUX2NjLCBCT09TVF9QUF9FTVBUWSkgKFQwICwgVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzICwgVDE0ICwgVDE1ICwgVDE2ICwgVDE3ICwgVDE4ICwgVDE5ICwgVDIwICwgVDIxICwgVDIyICwgVDIzICwgVDI0ICwgVDI1ICwgVDI2ICwgVDI3ICwgVDI4ICwgVDI5ICwgVDMwICwgVDMxICwgVDMyICwgVDMzICwgVDM0ICwgVDM1ICwgVDM2ICwgVDM3ICwgVDM4ICwgVDM5ICwgVDQwICwgVDQxICwgVDQyICwgVDQzICwgVDQ0ICwgVDQ1IEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YsIEw+IHR5cGU7Cit0eXBlZGVmIGNvbXBvbmVudHNfbXBsX3NlcXVlbmNlX3RhZyB0YWc7Cit0eXBlZGVmIG1wbDo6aW50ZWdyYWxfYzxzdGQ6OnNpemVfdCw0Nj4gZnVuY3Rpb25fYXJpdHk7Cit0eXBlZGVmIG1wbDo6dmVjdG9yNDc8IFIgLCBUMCAsIFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSAsIFQyMCAsIFQyMSAsIFQyMiAsIFQyMyAsIFQyNCAsIFQyNSAsIFQyNiAsIFQyNyAsIFQyOCAsIFQyOSAsIFQzMCAsIFQzMSAsIFQzMiAsIFQzMyAsIFQzNCAsIFQzNSAsIFQzNiAsIFQzNyAsIFQzOCAsIFQzOSAsIFQ0MCAsIFQ0MSAsIFQ0MiAsIFQ0MyAsIFQ0NCAsIFQ0NSA+IHR5cGVzOworfTsKK3RlbXBsYXRlPCB0eXBlbmFtZSBSICwgdHlwZW5hbWUgVDAgLCB0eXBlbmFtZSBUMSAsIHR5cGVuYW1lIFQyICwgdHlwZW5hbWUgVDMgLCB0eXBlbmFtZSBUNCAsIHR5cGVuYW1lIFQ1ICwgdHlwZW5hbWUgVDYgLCB0eXBlbmFtZSBUNyAsIHR5cGVuYW1lIFQ4ICwgdHlwZW5hbWUgVDkgLCB0eXBlbmFtZSBUMTAgLCB0eXBlbmFtZSBUMTEgLCB0eXBlbmFtZSBUMTIgLCB0eXBlbmFtZSBUMTMgLCB0eXBlbmFtZSBUMTQgLCB0eXBlbmFtZSBUMTUgLCB0eXBlbmFtZSBUMTYgLCB0eXBlbmFtZSBUMTcgLCB0eXBlbmFtZSBUMTggLCB0eXBlbmFtZSBUMTkgLCB0eXBlbmFtZSBUMjAgLCB0eXBlbmFtZSBUMjEgLCB0eXBlbmFtZSBUMjIgLCB0eXBlbmFtZSBUMjMgLCB0eXBlbmFtZSBUMjQgLCB0eXBlbmFtZSBUMjUgLCB0eXBlbmFtZSBUMjYgLCB0eXBlbmFtZSBUMjcgLCB0eXBlbmFtZSBUMjggLCB0eXBlbmFtZSBUMjkgLCB0eXBlbmFtZSBUMzAgLCB0eXBlbmFtZSBUMzEgLCB0eXBlbmFtZSBUMzIgLCB0eXBlbmFtZSBUMzMgLCB0eXBlbmFtZSBUMzQgLCB0eXBlbmFtZSBUMzUgLCB0eXBlbmFtZSBUMzYgLCB0eXBlbmFtZSBUMzcgLCB0eXBlbmFtZSBUMzggLCB0eXBlbmFtZSBUMzkgLCB0eXBlbmFtZSBUNDAgLCB0eXBlbmFtZSBUNDEgLCB0eXBlbmFtZSBUNDIgLCB0eXBlbmFtZSBUNDMgLCB0eXBlbmFtZSBUNDQgLCB0eXBlbmFtZSBUNDUgLCB0eXBlbmFtZSBUNDYsIHR5cGVuYW1lIEw+CitzdHJ1Y3QgY29tcG9uZW50c19pbXBsPEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYywgQk9PU1RfUFBfRU1QVFkpIChUMCAsIFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSAsIFQyMCAsIFQyMSAsIFQyMiAsIFQyMyAsIFQyNCAsIFQyNSAsIFQyNiAsIFQyNyAsIFQyOCAsIFQyOSAsIFQzMCAsIFQzMSAsIFQzMiAsIFQzMyAsIFQzNCAsIFQzNSAsIFQzNiAsIFQzNyAsIFQzOCAsIFQzOSAsIFQ0MCAsIFQ0MSAsIFQ0MiAsIFQ0MyAsIFQ0NCAsIFQ0NSAsIFQ0NiBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2LCBMPgorewordHlwZWRlZiBlbmNvZGVfYml0czxCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZD4gYml0czsKK3R5cGVkZWYgY29uc3RhbnQ8Qk9PU1RfRlRfZnVsbF9tYXNrPiBtYXNrOwordHlwZWRlZiBmdW5jdGlvbl90eXBlczo6Y29tcG9uZW50czxCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsIEJPT1NUX1BQX0VNUFRZKSAoVDAgLCBUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgLCBUMTIgLCBUMTMgLCBUMTQgLCBUMTUgLCBUMTYgLCBUMTcgLCBUMTggLCBUMTkgLCBUMjAgLCBUMjEgLCBUMjIgLCBUMjMgLCBUMjQgLCBUMjUgLCBUMjYgLCBUMjcgLCBUMjggLCBUMjkgLCBUMzAgLCBUMzEgLCBUMzIgLCBUMzMgLCBUMzQgLCBUMzUgLCBUMzYgLCBUMzcgLCBUMzggLCBUMzkgLCBUNDAgLCBUNDEgLCBUNDIgLCBUNDMgLCBUNDQgLCBUNDUgLCBUNDYgQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdiwgTD4gdHlwZTsKK3R5cGVkZWYgY29tcG9uZW50c19tcGxfc2VxdWVuY2VfdGFnIHRhZzsKK3R5cGVkZWYgbXBsOjppbnRlZ3JhbF9jPHN0ZDo6c2l6ZV90LDQ3PiBmdW5jdGlvbl9hcml0eTsKK3R5cGVkZWYgbXBsOjp2ZWN0b3I0ODwgUiAsIFQwICwgVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzICwgVDE0ICwgVDE1ICwgVDE2ICwgVDE3ICwgVDE4ICwgVDE5ICwgVDIwICwgVDIxICwgVDIyICwgVDIzICwgVDI0ICwgVDI1ICwgVDI2ICwgVDI3ICwgVDI4ICwgVDI5ICwgVDMwICwgVDMxICwgVDMyICwgVDMzICwgVDM0ICwgVDM1ICwgVDM2ICwgVDM3ICwgVDM4ICwgVDM5ICwgVDQwICwgVDQxICwgVDQyICwgVDQzICwgVDQ0ICwgVDQ1ICwgVDQ2ID4gdHlwZXM7Cit9OwordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIgLCB0eXBlbmFtZSBUMyAsIHR5cGVuYW1lIFQ0ICwgdHlwZW5hbWUgVDUgLCB0eXBlbmFtZSBUNiAsIHR5cGVuYW1lIFQ3ICwgdHlwZW5hbWUgVDggLCB0eXBlbmFtZSBUOSAsIHR5cGVuYW1lIFQxMCAsIHR5cGVuYW1lIFQxMSAsIHR5cGVuYW1lIFQxMiAsIHR5cGVuYW1lIFQxMyAsIHR5cGVuYW1lIFQxNCAsIHR5cGVuYW1lIFQxNSAsIHR5cGVuYW1lIFQxNiAsIHR5cGVuYW1lIFQxNyAsIHR5cGVuYW1lIFQxOCAsIHR5cGVuYW1lIFQxOSAsIHR5cGVuYW1lIFQyMCAsIHR5cGVuYW1lIFQyMSAsIHR5cGVuYW1lIFQyMiAsIHR5cGVuYW1lIFQyMyAsIHR5cGVuYW1lIFQyNCAsIHR5cGVuYW1lIFQyNSAsIHR5cGVuYW1lIFQyNiAsIHR5cGVuYW1lIFQyNyAsIHR5cGVuYW1lIFQyOCAsIHR5cGVuYW1lIFQyOSAsIHR5cGVuYW1lIFQzMCAsIHR5cGVuYW1lIFQzMSAsIHR5cGVuYW1lIFQzMiAsIHR5cGVuYW1lIFQzMyAsIHR5cGVuYW1lIFQzNCAsIHR5cGVuYW1lIFQzNSAsIHR5cGVuYW1lIFQzNiAsIHR5cGVuYW1lIFQzNyAsIHR5cGVuYW1lIFQzOCAsIHR5cGVuYW1lIFQzOSAsIHR5cGVuYW1lIFQ0MCAsIHR5cGVuYW1lIFQ0MSAsIHR5cGVuYW1lIFQ0MiAsIHR5cGVuYW1lIFQ0MyAsIHR5cGVuYW1lIFQ0NCAsIHR5cGVuYW1lIFQ0NSAsIHR5cGVuYW1lIFQ0NiAsIHR5cGVuYW1lIFQ0NywgdHlwZW5hbWUgTD4KK3N0cnVjdCBjb21wb25lbnRzX2ltcGw8Qk9PU1RfRlRfc3ludGF4KEJPT1NUX0ZUX2NjLCBCT09TVF9QUF9FTVBUWSkgKFQwICwgVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzICwgVDE0ICwgVDE1ICwgVDE2ICwgVDE3ICwgVDE4ICwgVDE5ICwgVDIwICwgVDIxICwgVDIyICwgVDIzICwgVDI0ICwgVDI1ICwgVDI2ICwgVDI3ICwgVDI4ICwgVDI5ICwgVDMwICwgVDMxICwgVDMyICwgVDMzICwgVDM0ICwgVDM1ICwgVDM2ICwgVDM3ICwgVDM4ICwgVDM5ICwgVDQwICwgVDQxICwgVDQyICwgVDQzICwgVDQ0ICwgVDQ1ICwgVDQ2ICwgVDQ3IEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YsIEw+Cit7Cit0eXBlZGVmIGVuY29kZV9iaXRzPEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkPiBiaXRzOwordHlwZWRlZiBjb25zdGFudDxCT09TVF9GVF9mdWxsX21hc2s+IG1hc2s7Cit0eXBlZGVmIGZ1bmN0aW9uX3R5cGVzOjpjb21wb25lbnRzPEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYywgQk9PU1RfUFBfRU1QVFkpIChUMCAsIFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSAsIFQyMCAsIFQyMSAsIFQyMiAsIFQyMyAsIFQyNCAsIFQyNSAsIFQyNiAsIFQyNyAsIFQyOCAsIFQyOSAsIFQzMCAsIFQzMSAsIFQzMiAsIFQzMyAsIFQzNCAsIFQzNSAsIFQzNiAsIFQzNyAsIFQzOCAsIFQzOSAsIFQ0MCAsIFQ0MSAsIFQ0MiAsIFQ0MyAsIFQ0NCAsIFQ0NSAsIFQ0NiAsIFQ0NyBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2LCBMPiB0eXBlOwordHlwZWRlZiBjb21wb25lbnRzX21wbF9zZXF1ZW5jZV90YWcgdGFnOwordHlwZWRlZiBtcGw6OmludGVncmFsX2M8c3RkOjpzaXplX3QsNDg+IGZ1bmN0aW9uX2FyaXR5OwordHlwZWRlZiBtcGw6OnZlY3RvcjQ5PCBSICwgVDAgLCBUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgLCBUMTIgLCBUMTMgLCBUMTQgLCBUMTUgLCBUMTYgLCBUMTcgLCBUMTggLCBUMTkgLCBUMjAgLCBUMjEgLCBUMjIgLCBUMjMgLCBUMjQgLCBUMjUgLCBUMjYgLCBUMjcgLCBUMjggLCBUMjkgLCBUMzAgLCBUMzEgLCBUMzIgLCBUMzMgLCBUMzQgLCBUMzUgLCBUMzYgLCBUMzcgLCBUMzggLCBUMzkgLCBUNDAgLCBUNDEgLCBUNDIgLCBUNDMgLCBUNDQgLCBUNDUgLCBUNDYgLCBUNDcgPiB0eXBlczsKK307Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgUiAsIHR5cGVuYW1lIFQwICwgdHlwZW5hbWUgVDEgLCB0eXBlbmFtZSBUMiAsIHR5cGVuYW1lIFQzICwgdHlwZW5hbWUgVDQgLCB0eXBlbmFtZSBUNSAsIHR5cGVuYW1lIFQ2ICwgdHlwZW5hbWUgVDcgLCB0eXBlbmFtZSBUOCAsIHR5cGVuYW1lIFQ5ICwgdHlwZW5hbWUgVDEwICwgdHlwZW5hbWUgVDExICwgdHlwZW5hbWUgVDEyICwgdHlwZW5hbWUgVDEzICwgdHlwZW5hbWUgVDE0ICwgdHlwZW5hbWUgVDE1ICwgdHlwZW5hbWUgVDE2ICwgdHlwZW5hbWUgVDE3ICwgdHlwZW5hbWUgVDE4ICwgdHlwZW5hbWUgVDE5ICwgdHlwZW5hbWUgVDIwICwgdHlwZW5hbWUgVDIxICwgdHlwZW5hbWUgVDIyICwgdHlwZW5hbWUgVDIzICwgdHlwZW5hbWUgVDI0ICwgdHlwZW5hbWUgVDI1ICwgdHlwZW5hbWUgVDI2ICwgdHlwZW5hbWUgVDI3ICwgdHlwZW5hbWUgVDI4ICwgdHlwZW5hbWUgVDI5ICwgdHlwZW5hbWUgVDMwICwgdHlwZW5hbWUgVDMxICwgdHlwZW5hbWUgVDMyICwgdHlwZW5hbWUgVDMzICwgdHlwZW5hbWUgVDM0ICwgdHlwZW5hbWUgVDM1ICwgdHlwZW5hbWUgVDM2ICwgdHlwZW5hbWUgVDM3ICwgdHlwZW5hbWUgVDM4ICwgdHlwZW5hbWUgVDM5ICwgdHlwZW5hbWUgVDQwICwgdHlwZW5hbWUgVDQxICwgdHlwZW5hbWUgVDQyICwgdHlwZW5hbWUgVDQzICwgdHlwZW5hbWUgVDQ0ICwgdHlwZW5hbWUgVDQ1ICwgdHlwZW5hbWUgVDQ2ICwgdHlwZW5hbWUgVDQ3ICwgdHlwZW5hbWUgVDQ4LCB0eXBlbmFtZSBMPgorc3RydWN0IGNvbXBvbmVudHNfaW1wbDxCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsIEJPT1NUX1BQX0VNUFRZKSAoVDAgLCBUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgLCBUMTIgLCBUMTMgLCBUMTQgLCBUMTUgLCBUMTYgLCBUMTcgLCBUMTggLCBUMTkgLCBUMjAgLCBUMjEgLCBUMjIgLCBUMjMgLCBUMjQgLCBUMjUgLCBUMjYgLCBUMjcgLCBUMjggLCBUMjkgLCBUMzAgLCBUMzEgLCBUMzIgLCBUMzMgLCBUMzQgLCBUMzUgLCBUMzYgLCBUMzcgLCBUMzggLCBUMzkgLCBUNDAgLCBUNDEgLCBUNDIgLCBUNDMgLCBUNDQgLCBUNDUgLCBUNDYgLCBUNDcgLCBUNDggQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdiwgTD4KK3sKK3R5cGVkZWYgZW5jb2RlX2JpdHM8Qk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQ+IGJpdHM7Cit0eXBlZGVmIGNvbnN0YW50PEJPT1NUX0ZUX2Z1bGxfbWFzaz4gbWFzazsKK3R5cGVkZWYgZnVuY3Rpb25fdHlwZXM6OmNvbXBvbmVudHM8Qk9PU1RfRlRfc3ludGF4KEJPT1NUX0ZUX2NjLCBCT09TVF9QUF9FTVBUWSkgKFQwICwgVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzICwgVDE0ICwgVDE1ICwgVDE2ICwgVDE3ICwgVDE4ICwgVDE5ICwgVDIwICwgVDIxICwgVDIyICwgVDIzICwgVDI0ICwgVDI1ICwgVDI2ICwgVDI3ICwgVDI4ICwgVDI5ICwgVDMwICwgVDMxICwgVDMyICwgVDMzICwgVDM0ICwgVDM1ICwgVDM2ICwgVDM3ICwgVDM4ICwgVDM5ICwgVDQwICwgVDQxICwgVDQyICwgVDQzICwgVDQ0ICwgVDQ1ICwgVDQ2ICwgVDQ3ICwgVDQ4IEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YsIEw+IHR5cGU7Cit0eXBlZGVmIGNvbXBvbmVudHNfbXBsX3NlcXVlbmNlX3RhZyB0YWc7Cit0eXBlZGVmIG1wbDo6aW50ZWdyYWxfYzxzdGQ6OnNpemVfdCw0OT4gZnVuY3Rpb25fYXJpdHk7Cit0eXBlZGVmIG1wbDo6dmVjdG9yNTA8IFIgLCBUMCAsIFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSAsIFQyMCAsIFQyMSAsIFQyMiAsIFQyMyAsIFQyNCAsIFQyNSAsIFQyNiAsIFQyNyAsIFQyOCAsIFQyOSAsIFQzMCAsIFQzMSAsIFQzMiAsIFQzMyAsIFQzNCAsIFQzNSAsIFQzNiAsIFQzNyAsIFQzOCAsIFQzOSAsIFQ0MCAsIFQ0MSAsIFQ0MiAsIFQ0MyAsIFQ0NCAsIFQ0NSAsIFQ0NiAsIFQ0NyAsIFQ0OCA+IHR5cGVzOworfTsKK3RlbXBsYXRlPCB0eXBlbmFtZSBSICwgdHlwZW5hbWUgVDAgLCB0eXBlbmFtZSBUMSAsIHR5cGVuYW1lIFQyICwgdHlwZW5hbWUgVDMgLCB0eXBlbmFtZSBUNCAsIHR5cGVuYW1lIFQ1ICwgdHlwZW5hbWUgVDYgLCB0eXBlbmFtZSBUNyAsIHR5cGVuYW1lIFQ4ICwgdHlwZW5hbWUgVDkgLCB0eXBlbmFtZSBUMTAgLCB0eXBlbmFtZSBUMTEgLCB0eXBlbmFtZSBUMTIgLCB0eXBlbmFtZSBUMTMgLCB0eXBlbmFtZSBUMTQgLCB0eXBlbmFtZSBUMTUgLCB0eXBlbmFtZSBUMTYgLCB0eXBlbmFtZSBUMTcgLCB0eXBlbmFtZSBUMTggLCB0eXBlbmFtZSBUMTkgLCB0eXBlbmFtZSBUMjAgLCB0eXBlbmFtZSBUMjEgLCB0eXBlbmFtZSBUMjIgLCB0eXBlbmFtZSBUMjMgLCB0eXBlbmFtZSBUMjQgLCB0eXBlbmFtZSBUMjUgLCB0eXBlbmFtZSBUMjYgLCB0eXBlbmFtZSBUMjcgLCB0eXBlbmFtZSBUMjggLCB0eXBlbmFtZSBUMjkgLCB0eXBlbmFtZSBUMzAgLCB0eXBlbmFtZSBUMzEgLCB0eXBlbmFtZSBUMzIgLCB0eXBlbmFtZSBUMzMgLCB0eXBlbmFtZSBUMzQgLCB0eXBlbmFtZSBUMzUgLCB0eXBlbmFtZSBUMzYgLCB0eXBlbmFtZSBUMzcgLCB0eXBlbmFtZSBUMzggLCB0eXBlbmFtZSBUMzkgLCB0eXBlbmFtZSBUNDAgLCB0eXBlbmFtZSBUNDEgLCB0eXBlbmFtZSBUNDIgLCB0eXBlbmFtZSBUNDMgLCB0eXBlbmFtZSBUNDQgLCB0eXBlbmFtZSBUNDUgLCB0eXBlbmFtZSBUNDYgLCB0eXBlbmFtZSBUNDcgLCB0eXBlbmFtZSBUNDggLCB0eXBlbmFtZSBUNDksIHR5cGVuYW1lIEw+CitzdHJ1Y3QgY29tcG9uZW50c19pbXBsPEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYywgQk9PU1RfUFBfRU1QVFkpIChUMCAsIFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSAsIFQyMCAsIFQyMSAsIFQyMiAsIFQyMyAsIFQyNCAsIFQyNSAsIFQyNiAsIFQyNyAsIFQyOCAsIFQyOSAsIFQzMCAsIFQzMSAsIFQzMiAsIFQzMyAsIFQzNCAsIFQzNSAsIFQzNiAsIFQzNyAsIFQzOCAsIFQzOSAsIFQ0MCAsIFQ0MSAsIFQ0MiAsIFQ0MyAsIFQ0NCAsIFQ0NSAsIFQ0NiAsIFQ0NyAsIFQ0OCAsIFQ0OSBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2LCBMPgorewordHlwZWRlZiBlbmNvZGVfYml0czxCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZD4gYml0czsKK3R5cGVkZWYgY29uc3RhbnQ8Qk9PU1RfRlRfZnVsbF9tYXNrPiBtYXNrOwordHlwZWRlZiBmdW5jdGlvbl90eXBlczo6Y29tcG9uZW50czxCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsIEJPT1NUX1BQX0VNUFRZKSAoVDAgLCBUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgLCBUMTIgLCBUMTMgLCBUMTQgLCBUMTUgLCBUMTYgLCBUMTcgLCBUMTggLCBUMTkgLCBUMjAgLCBUMjEgLCBUMjIgLCBUMjMgLCBUMjQgLCBUMjUgLCBUMjYgLCBUMjcgLCBUMjggLCBUMjkgLCBUMzAgLCBUMzEgLCBUMzIgLCBUMzMgLCBUMzQgLCBUMzUgLCBUMzYgLCBUMzcgLCBUMzggLCBUMzkgLCBUNDAgLCBUNDEgLCBUNDIgLCBUNDMgLCBUNDQgLCBUNDUgLCBUNDYgLCBUNDcgLCBUNDggLCBUNDkgQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdiwgTD4gdHlwZTsKK3R5cGVkZWYgY29tcG9uZW50c19tcGxfc2VxdWVuY2VfdGFnIHRhZzsKK3R5cGVkZWYgbXBsOjppbnRlZ3JhbF9jPHN0ZDo6c2l6ZV90LDUwPiBmdW5jdGlvbl9hcml0eTsKK3R5cGVkZWYgbXBsOjp2ZWN0b3I1MTwgUiAsIFQwICwgVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzICwgVDE0ICwgVDE1ICwgVDE2ICwgVDE3ICwgVDE4ICwgVDE5ICwgVDIwICwgVDIxICwgVDIyICwgVDIzICwgVDI0ICwgVDI1ICwgVDI2ICwgVDI3ICwgVDI4ICwgVDI5ICwgVDMwICwgVDMxICwgVDMyICwgVDMzICwgVDM0ICwgVDM1ICwgVDM2ICwgVDM3ICwgVDM4ICwgVDM5ICwgVDQwICwgVDQxICwgVDQyICwgVDQzICwgVDQ0ICwgVDQ1ICwgVDQ2ICwgVDQ3ICwgVDQ4ICwgVDQ5ID4gdHlwZXM7Cit9OworCmRpZmYgLS1naXQgYS9uZG5ib29zdC9mdW5jdGlvbl90eXBlcy9kZXRhaWwvY29tcG9uZW50c19pbXBsL2FyaXR5NTBfMS5ocHAgYi9uZG5ib29zdC9mdW5jdGlvbl90eXBlcy9kZXRhaWwvY29tcG9uZW50c19pbXBsL2FyaXR5NTBfMS5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjdmZDljOAotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L2Z1bmN0aW9uX3R5cGVzL2RldGFpbC9jb21wb25lbnRzX2ltcGwvYXJpdHk1MF8xLmhwcApAQCAtMCwwICsxLDEyMyBAQAorCisvLyAoQykgQ29weXJpZ2h0IFRvYmlhcyBTY2h3aW5nZXIKKy8vCisvLyBVc2UgbW9kaWZpY2F0aW9uIGFuZCBkaXN0cmlidXRpb24gYXJlIHN1YmplY3QgdG8gdGhlIGJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsCisvLyBWZXJzaW9uIDEuMC4gKFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpLgorCisvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisvLyBubyBpbmNsdWRlIGd1YXJkcywgdGhpcyBmaWxlIGlzIGludGVuZGVkIGZvciBtdWx0aXBsZSBpbmNsdXNpb24KKworLy8gaW5wdXQ6ICBCT09TVF9GVF9zeW50YXggICAgIHR5cGUgbWFjcm8gdG8gdXNlCisvLyBpbnB1dDogIEJPT1NUX0ZUX2NjICAgICAgICAgZW1wdHkgb3IgY2Mgc3BlY2lmaWVyIAorLy8gaW5wdXQ6ICBCT09TVF9GVF9lbGwgICAgICAgIGVtcHR5IG9yICIuLi4iCisvLyBpbnB1dDogIEJPT1NUX0ZUX2N2ICAgICAgICAgZW1wdHkgb3IgY3YgcXVhbGlmaWVycworLy8gaW5wdXQ6ICBCT09TVF9GVF9mbGFncyAgICAgIHNpbmdsZSBkZWNpbWFsIGludGVnZXIgZW5jb2RpbmcgdGhlIGZsYWdzCisvLyBvdXRwdXQ6IEJPT1NUX0ZUX24gICAgICAgICAgbnVtYmVyIG9mIGNvbXBvbmVudCB0eXBlcyAoYXJpdHkrMSkKKy8vIG91dHB1dDogQk9PU1RfRlRfYXJpdHkgICAgICBjdXJyZW50IGFyaXR5CisvLyBvdXRwdXQ6IEJPT1NUX0ZUX3R5cGUgICAgICAgbWFjcm8gdGhhdCBleHBhbmRzIHRvIHRoZSB0eXBlCisvLyBvdXRwdXQ6IEJPT1NUX0ZUX3RwbGFyZ3MocCkgdGVtcGxhdGUgYXJndW1lbnRzIHdpdGggZ2l2ZW4gcHJlZml4CisvLyBvdXRwdXQ6IEJPT1NUX0ZUX3BhcmFtcyhwKSAgcGFyYW1ldGVycyB3aXRoIGdpdmVuIHByZWZpeAorCisjIGluY2x1ZGUgPG5kbmJvb3N0L2Z1bmN0aW9uX3R5cGVzL2RldGFpbC9jb21wb25lbnRzX2ltcGwvYXJpdHk0MF8xLmhwcD4KK3RlbXBsYXRlPCB0eXBlbmFtZSBSICwgdHlwZW5hbWUgVDAgLCB0eXBlbmFtZSBUMSAsIHR5cGVuYW1lIFQyICwgdHlwZW5hbWUgVDMgLCB0eXBlbmFtZSBUNCAsIHR5cGVuYW1lIFQ1ICwgdHlwZW5hbWUgVDYgLCB0eXBlbmFtZSBUNyAsIHR5cGVuYW1lIFQ4ICwgdHlwZW5hbWUgVDkgLCB0eXBlbmFtZSBUMTAgLCB0eXBlbmFtZSBUMTEgLCB0eXBlbmFtZSBUMTIgLCB0eXBlbmFtZSBUMTMgLCB0eXBlbmFtZSBUMTQgLCB0eXBlbmFtZSBUMTUgLCB0eXBlbmFtZSBUMTYgLCB0eXBlbmFtZSBUMTcgLCB0eXBlbmFtZSBUMTggLCB0eXBlbmFtZSBUMTkgLCB0eXBlbmFtZSBUMjAgLCB0eXBlbmFtZSBUMjEgLCB0eXBlbmFtZSBUMjIgLCB0eXBlbmFtZSBUMjMgLCB0eXBlbmFtZSBUMjQgLCB0eXBlbmFtZSBUMjUgLCB0eXBlbmFtZSBUMjYgLCB0eXBlbmFtZSBUMjcgLCB0eXBlbmFtZSBUMjggLCB0eXBlbmFtZSBUMjkgLCB0eXBlbmFtZSBUMzAgLCB0eXBlbmFtZSBUMzEgLCB0eXBlbmFtZSBUMzIgLCB0eXBlbmFtZSBUMzMgLCB0eXBlbmFtZSBUMzQgLCB0eXBlbmFtZSBUMzUgLCB0eXBlbmFtZSBUMzYgLCB0eXBlbmFtZSBUMzcgLCB0eXBlbmFtZSBUMzggLCB0eXBlbmFtZSBUMzkgLCB0eXBlbmFtZSBUNDAsIHR5cGVuYW1lIEw+CitzdHJ1Y3QgY29tcG9uZW50c19pbXBsPEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYywgQk9PU1RfUFBfRU1QVFkpIChUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgLCBUMTIgLCBUMTMgLCBUMTQgLCBUMTUgLCBUMTYgLCBUMTcgLCBUMTggLCBUMTkgLCBUMjAgLCBUMjEgLCBUMjIgLCBUMjMgLCBUMjQgLCBUMjUgLCBUMjYgLCBUMjcgLCBUMjggLCBUMjkgLCBUMzAgLCBUMzEgLCBUMzIgLCBUMzMgLCBUMzQgLCBUMzUgLCBUMzYgLCBUMzcgLCBUMzggLCBUMzkgLCBUNDAgQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdiwgTD4KK3sKK3R5cGVkZWYgZW5jb2RlX2JpdHM8Qk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQ+IGJpdHM7Cit0eXBlZGVmIGNvbnN0YW50PEJPT1NUX0ZUX2Z1bGxfbWFzaz4gbWFzazsKK3R5cGVkZWYgZnVuY3Rpb25fdHlwZXM6OmNvbXBvbmVudHM8Qk9PU1RfRlRfc3ludGF4KEJPT1NUX0ZUX2NjLCBCT09TVF9QUF9FTVBUWSkgKFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSAsIFQyMCAsIFQyMSAsIFQyMiAsIFQyMyAsIFQyNCAsIFQyNSAsIFQyNiAsIFQyNyAsIFQyOCAsIFQyOSAsIFQzMCAsIFQzMSAsIFQzMiAsIFQzMyAsIFQzNCAsIFQzNSAsIFQzNiAsIFQzNyAsIFQzOCAsIFQzOSAsIFQ0MCBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2LCBMPiB0eXBlOwordHlwZWRlZiBjb21wb25lbnRzX21wbF9zZXF1ZW5jZV90YWcgdGFnOwordHlwZWRlZiBtcGw6OmludGVncmFsX2M8c3RkOjpzaXplX3QsNDE+IGZ1bmN0aW9uX2FyaXR5OwordHlwZWRlZiBtcGw6OnZlY3RvcjQyPCBSLCB0eXBlbmFtZSBjbGFzc190cmFuc2Zvcm08VDAgQk9PU1RfRlRfY3YsIEw+IDo6dHlwZSAsIFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSAsIFQyMCAsIFQyMSAsIFQyMiAsIFQyMyAsIFQyNCAsIFQyNSAsIFQyNiAsIFQyNyAsIFQyOCAsIFQyOSAsIFQzMCAsIFQzMSAsIFQzMiAsIFQzMyAsIFQzNCAsIFQzNSAsIFQzNiAsIFQzNyAsIFQzOCAsIFQzOSAsIFQ0MCA+IHR5cGVzOworfTsKK3RlbXBsYXRlPCB0eXBlbmFtZSBSICwgdHlwZW5hbWUgVDAgLCB0eXBlbmFtZSBUMSAsIHR5cGVuYW1lIFQyICwgdHlwZW5hbWUgVDMgLCB0eXBlbmFtZSBUNCAsIHR5cGVuYW1lIFQ1ICwgdHlwZW5hbWUgVDYgLCB0eXBlbmFtZSBUNyAsIHR5cGVuYW1lIFQ4ICwgdHlwZW5hbWUgVDkgLCB0eXBlbmFtZSBUMTAgLCB0eXBlbmFtZSBUMTEgLCB0eXBlbmFtZSBUMTIgLCB0eXBlbmFtZSBUMTMgLCB0eXBlbmFtZSBUMTQgLCB0eXBlbmFtZSBUMTUgLCB0eXBlbmFtZSBUMTYgLCB0eXBlbmFtZSBUMTcgLCB0eXBlbmFtZSBUMTggLCB0eXBlbmFtZSBUMTkgLCB0eXBlbmFtZSBUMjAgLCB0eXBlbmFtZSBUMjEgLCB0eXBlbmFtZSBUMjIgLCB0eXBlbmFtZSBUMjMgLCB0eXBlbmFtZSBUMjQgLCB0eXBlbmFtZSBUMjUgLCB0eXBlbmFtZSBUMjYgLCB0eXBlbmFtZSBUMjcgLCB0eXBlbmFtZSBUMjggLCB0eXBlbmFtZSBUMjkgLCB0eXBlbmFtZSBUMzAgLCB0eXBlbmFtZSBUMzEgLCB0eXBlbmFtZSBUMzIgLCB0eXBlbmFtZSBUMzMgLCB0eXBlbmFtZSBUMzQgLCB0eXBlbmFtZSBUMzUgLCB0eXBlbmFtZSBUMzYgLCB0eXBlbmFtZSBUMzcgLCB0eXBlbmFtZSBUMzggLCB0eXBlbmFtZSBUMzkgLCB0eXBlbmFtZSBUNDAgLCB0eXBlbmFtZSBUNDEsIHR5cGVuYW1lIEw+CitzdHJ1Y3QgY29tcG9uZW50c19pbXBsPEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYywgQk9PU1RfUFBfRU1QVFkpIChUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgLCBUMTIgLCBUMTMgLCBUMTQgLCBUMTUgLCBUMTYgLCBUMTcgLCBUMTggLCBUMTkgLCBUMjAgLCBUMjEgLCBUMjIgLCBUMjMgLCBUMjQgLCBUMjUgLCBUMjYgLCBUMjcgLCBUMjggLCBUMjkgLCBUMzAgLCBUMzEgLCBUMzIgLCBUMzMgLCBUMzQgLCBUMzUgLCBUMzYgLCBUMzcgLCBUMzggLCBUMzkgLCBUNDAgLCBUNDEgQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdiwgTD4KK3sKK3R5cGVkZWYgZW5jb2RlX2JpdHM8Qk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQ+IGJpdHM7Cit0eXBlZGVmIGNvbnN0YW50PEJPT1NUX0ZUX2Z1bGxfbWFzaz4gbWFzazsKK3R5cGVkZWYgZnVuY3Rpb25fdHlwZXM6OmNvbXBvbmVudHM8Qk9PU1RfRlRfc3ludGF4KEJPT1NUX0ZUX2NjLCBCT09TVF9QUF9FTVBUWSkgKFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSAsIFQyMCAsIFQyMSAsIFQyMiAsIFQyMyAsIFQyNCAsIFQyNSAsIFQyNiAsIFQyNyAsIFQyOCAsIFQyOSAsIFQzMCAsIFQzMSAsIFQzMiAsIFQzMyAsIFQzNCAsIFQzNSAsIFQzNiAsIFQzNyAsIFQzOCAsIFQzOSAsIFQ0MCAsIFQ0MSBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2LCBMPiB0eXBlOwordHlwZWRlZiBjb21wb25lbnRzX21wbF9zZXF1ZW5jZV90YWcgdGFnOwordHlwZWRlZiBtcGw6OmludGVncmFsX2M8c3RkOjpzaXplX3QsNDI+IGZ1bmN0aW9uX2FyaXR5OwordHlwZWRlZiBtcGw6OnZlY3RvcjQzPCBSLCB0eXBlbmFtZSBjbGFzc190cmFuc2Zvcm08VDAgQk9PU1RfRlRfY3YsIEw+IDo6dHlwZSAsIFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSAsIFQyMCAsIFQyMSAsIFQyMiAsIFQyMyAsIFQyNCAsIFQyNSAsIFQyNiAsIFQyNyAsIFQyOCAsIFQyOSAsIFQzMCAsIFQzMSAsIFQzMiAsIFQzMyAsIFQzNCAsIFQzNSAsIFQzNiAsIFQzNyAsIFQzOCAsIFQzOSAsIFQ0MCAsIFQ0MSA+IHR5cGVzOworfTsKK3RlbXBsYXRlPCB0eXBlbmFtZSBSICwgdHlwZW5hbWUgVDAgLCB0eXBlbmFtZSBUMSAsIHR5cGVuYW1lIFQyICwgdHlwZW5hbWUgVDMgLCB0eXBlbmFtZSBUNCAsIHR5cGVuYW1lIFQ1ICwgdHlwZW5hbWUgVDYgLCB0eXBlbmFtZSBUNyAsIHR5cGVuYW1lIFQ4ICwgdHlwZW5hbWUgVDkgLCB0eXBlbmFtZSBUMTAgLCB0eXBlbmFtZSBUMTEgLCB0eXBlbmFtZSBUMTIgLCB0eXBlbmFtZSBUMTMgLCB0eXBlbmFtZSBUMTQgLCB0eXBlbmFtZSBUMTUgLCB0eXBlbmFtZSBUMTYgLCB0eXBlbmFtZSBUMTcgLCB0eXBlbmFtZSBUMTggLCB0eXBlbmFtZSBUMTkgLCB0eXBlbmFtZSBUMjAgLCB0eXBlbmFtZSBUMjEgLCB0eXBlbmFtZSBUMjIgLCB0eXBlbmFtZSBUMjMgLCB0eXBlbmFtZSBUMjQgLCB0eXBlbmFtZSBUMjUgLCB0eXBlbmFtZSBUMjYgLCB0eXBlbmFtZSBUMjcgLCB0eXBlbmFtZSBUMjggLCB0eXBlbmFtZSBUMjkgLCB0eXBlbmFtZSBUMzAgLCB0eXBlbmFtZSBUMzEgLCB0eXBlbmFtZSBUMzIgLCB0eXBlbmFtZSBUMzMgLCB0eXBlbmFtZSBUMzQgLCB0eXBlbmFtZSBUMzUgLCB0eXBlbmFtZSBUMzYgLCB0eXBlbmFtZSBUMzcgLCB0eXBlbmFtZSBUMzggLCB0eXBlbmFtZSBUMzkgLCB0eXBlbmFtZSBUNDAgLCB0eXBlbmFtZSBUNDEgLCB0eXBlbmFtZSBUNDIsIHR5cGVuYW1lIEw+CitzdHJ1Y3QgY29tcG9uZW50c19pbXBsPEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYywgQk9PU1RfUFBfRU1QVFkpIChUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgLCBUMTIgLCBUMTMgLCBUMTQgLCBUMTUgLCBUMTYgLCBUMTcgLCBUMTggLCBUMTkgLCBUMjAgLCBUMjEgLCBUMjIgLCBUMjMgLCBUMjQgLCBUMjUgLCBUMjYgLCBUMjcgLCBUMjggLCBUMjkgLCBUMzAgLCBUMzEgLCBUMzIgLCBUMzMgLCBUMzQgLCBUMzUgLCBUMzYgLCBUMzcgLCBUMzggLCBUMzkgLCBUNDAgLCBUNDEgLCBUNDIgQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdiwgTD4KK3sKK3R5cGVkZWYgZW5jb2RlX2JpdHM8Qk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQ+IGJpdHM7Cit0eXBlZGVmIGNvbnN0YW50PEJPT1NUX0ZUX2Z1bGxfbWFzaz4gbWFzazsKK3R5cGVkZWYgZnVuY3Rpb25fdHlwZXM6OmNvbXBvbmVudHM8Qk9PU1RfRlRfc3ludGF4KEJPT1NUX0ZUX2NjLCBCT09TVF9QUF9FTVBUWSkgKFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSAsIFQyMCAsIFQyMSAsIFQyMiAsIFQyMyAsIFQyNCAsIFQyNSAsIFQyNiAsIFQyNyAsIFQyOCAsIFQyOSAsIFQzMCAsIFQzMSAsIFQzMiAsIFQzMyAsIFQzNCAsIFQzNSAsIFQzNiAsIFQzNyAsIFQzOCAsIFQzOSAsIFQ0MCAsIFQ0MSAsIFQ0MiBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2LCBMPiB0eXBlOwordHlwZWRlZiBjb21wb25lbnRzX21wbF9zZXF1ZW5jZV90YWcgdGFnOwordHlwZWRlZiBtcGw6OmludGVncmFsX2M8c3RkOjpzaXplX3QsNDM+IGZ1bmN0aW9uX2FyaXR5OwordHlwZWRlZiBtcGw6OnZlY3RvcjQ0PCBSLCB0eXBlbmFtZSBjbGFzc190cmFuc2Zvcm08VDAgQk9PU1RfRlRfY3YsIEw+IDo6dHlwZSAsIFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSAsIFQyMCAsIFQyMSAsIFQyMiAsIFQyMyAsIFQyNCAsIFQyNSAsIFQyNiAsIFQyNyAsIFQyOCAsIFQyOSAsIFQzMCAsIFQzMSAsIFQzMiAsIFQzMyAsIFQzNCAsIFQzNSAsIFQzNiAsIFQzNyAsIFQzOCAsIFQzOSAsIFQ0MCAsIFQ0MSAsIFQ0MiA+IHR5cGVzOworfTsKK3RlbXBsYXRlPCB0eXBlbmFtZSBSICwgdHlwZW5hbWUgVDAgLCB0eXBlbmFtZSBUMSAsIHR5cGVuYW1lIFQyICwgdHlwZW5hbWUgVDMgLCB0eXBlbmFtZSBUNCAsIHR5cGVuYW1lIFQ1ICwgdHlwZW5hbWUgVDYgLCB0eXBlbmFtZSBUNyAsIHR5cGVuYW1lIFQ4ICwgdHlwZW5hbWUgVDkgLCB0eXBlbmFtZSBUMTAgLCB0eXBlbmFtZSBUMTEgLCB0eXBlbmFtZSBUMTIgLCB0eXBlbmFtZSBUMTMgLCB0eXBlbmFtZSBUMTQgLCB0eXBlbmFtZSBUMTUgLCB0eXBlbmFtZSBUMTYgLCB0eXBlbmFtZSBUMTcgLCB0eXBlbmFtZSBUMTggLCB0eXBlbmFtZSBUMTkgLCB0eXBlbmFtZSBUMjAgLCB0eXBlbmFtZSBUMjEgLCB0eXBlbmFtZSBUMjIgLCB0eXBlbmFtZSBUMjMgLCB0eXBlbmFtZSBUMjQgLCB0eXBlbmFtZSBUMjUgLCB0eXBlbmFtZSBUMjYgLCB0eXBlbmFtZSBUMjcgLCB0eXBlbmFtZSBUMjggLCB0eXBlbmFtZSBUMjkgLCB0eXBlbmFtZSBUMzAgLCB0eXBlbmFtZSBUMzEgLCB0eXBlbmFtZSBUMzIgLCB0eXBlbmFtZSBUMzMgLCB0eXBlbmFtZSBUMzQgLCB0eXBlbmFtZSBUMzUgLCB0eXBlbmFtZSBUMzYgLCB0eXBlbmFtZSBUMzcgLCB0eXBlbmFtZSBUMzggLCB0eXBlbmFtZSBUMzkgLCB0eXBlbmFtZSBUNDAgLCB0eXBlbmFtZSBUNDEgLCB0eXBlbmFtZSBUNDIgLCB0eXBlbmFtZSBUNDMsIHR5cGVuYW1lIEw+CitzdHJ1Y3QgY29tcG9uZW50c19pbXBsPEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYywgQk9PU1RfUFBfRU1QVFkpIChUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgLCBUMTIgLCBUMTMgLCBUMTQgLCBUMTUgLCBUMTYgLCBUMTcgLCBUMTggLCBUMTkgLCBUMjAgLCBUMjEgLCBUMjIgLCBUMjMgLCBUMjQgLCBUMjUgLCBUMjYgLCBUMjcgLCBUMjggLCBUMjkgLCBUMzAgLCBUMzEgLCBUMzIgLCBUMzMgLCBUMzQgLCBUMzUgLCBUMzYgLCBUMzcgLCBUMzggLCBUMzkgLCBUNDAgLCBUNDEgLCBUNDIgLCBUNDMgQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdiwgTD4KK3sKK3R5cGVkZWYgZW5jb2RlX2JpdHM8Qk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQ+IGJpdHM7Cit0eXBlZGVmIGNvbnN0YW50PEJPT1NUX0ZUX2Z1bGxfbWFzaz4gbWFzazsKK3R5cGVkZWYgZnVuY3Rpb25fdHlwZXM6OmNvbXBvbmVudHM8Qk9PU1RfRlRfc3ludGF4KEJPT1NUX0ZUX2NjLCBCT09TVF9QUF9FTVBUWSkgKFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSAsIFQyMCAsIFQyMSAsIFQyMiAsIFQyMyAsIFQyNCAsIFQyNSAsIFQyNiAsIFQyNyAsIFQyOCAsIFQyOSAsIFQzMCAsIFQzMSAsIFQzMiAsIFQzMyAsIFQzNCAsIFQzNSAsIFQzNiAsIFQzNyAsIFQzOCAsIFQzOSAsIFQ0MCAsIFQ0MSAsIFQ0MiAsIFQ0MyBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2LCBMPiB0eXBlOwordHlwZWRlZiBjb21wb25lbnRzX21wbF9zZXF1ZW5jZV90YWcgdGFnOwordHlwZWRlZiBtcGw6OmludGVncmFsX2M8c3RkOjpzaXplX3QsNDQ+IGZ1bmN0aW9uX2FyaXR5OwordHlwZWRlZiBtcGw6OnZlY3RvcjQ1PCBSLCB0eXBlbmFtZSBjbGFzc190cmFuc2Zvcm08VDAgQk9PU1RfRlRfY3YsIEw+IDo6dHlwZSAsIFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSAsIFQyMCAsIFQyMSAsIFQyMiAsIFQyMyAsIFQyNCAsIFQyNSAsIFQyNiAsIFQyNyAsIFQyOCAsIFQyOSAsIFQzMCAsIFQzMSAsIFQzMiAsIFQzMyAsIFQzNCAsIFQzNSAsIFQzNiAsIFQzNyAsIFQzOCAsIFQzOSAsIFQ0MCAsIFQ0MSAsIFQ0MiAsIFQ0MyA+IHR5cGVzOworfTsKK3RlbXBsYXRlPCB0eXBlbmFtZSBSICwgdHlwZW5hbWUgVDAgLCB0eXBlbmFtZSBUMSAsIHR5cGVuYW1lIFQyICwgdHlwZW5hbWUgVDMgLCB0eXBlbmFtZSBUNCAsIHR5cGVuYW1lIFQ1ICwgdHlwZW5hbWUgVDYgLCB0eXBlbmFtZSBUNyAsIHR5cGVuYW1lIFQ4ICwgdHlwZW5hbWUgVDkgLCB0eXBlbmFtZSBUMTAgLCB0eXBlbmFtZSBUMTEgLCB0eXBlbmFtZSBUMTIgLCB0eXBlbmFtZSBUMTMgLCB0eXBlbmFtZSBUMTQgLCB0eXBlbmFtZSBUMTUgLCB0eXBlbmFtZSBUMTYgLCB0eXBlbmFtZSBUMTcgLCB0eXBlbmFtZSBUMTggLCB0eXBlbmFtZSBUMTkgLCB0eXBlbmFtZSBUMjAgLCB0eXBlbmFtZSBUMjEgLCB0eXBlbmFtZSBUMjIgLCB0eXBlbmFtZSBUMjMgLCB0eXBlbmFtZSBUMjQgLCB0eXBlbmFtZSBUMjUgLCB0eXBlbmFtZSBUMjYgLCB0eXBlbmFtZSBUMjcgLCB0eXBlbmFtZSBUMjggLCB0eXBlbmFtZSBUMjkgLCB0eXBlbmFtZSBUMzAgLCB0eXBlbmFtZSBUMzEgLCB0eXBlbmFtZSBUMzIgLCB0eXBlbmFtZSBUMzMgLCB0eXBlbmFtZSBUMzQgLCB0eXBlbmFtZSBUMzUgLCB0eXBlbmFtZSBUMzYgLCB0eXBlbmFtZSBUMzcgLCB0eXBlbmFtZSBUMzggLCB0eXBlbmFtZSBUMzkgLCB0eXBlbmFtZSBUNDAgLCB0eXBlbmFtZSBUNDEgLCB0eXBlbmFtZSBUNDIgLCB0eXBlbmFtZSBUNDMgLCB0eXBlbmFtZSBUNDQsIHR5cGVuYW1lIEw+CitzdHJ1Y3QgY29tcG9uZW50c19pbXBsPEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYywgQk9PU1RfUFBfRU1QVFkpIChUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgLCBUMTIgLCBUMTMgLCBUMTQgLCBUMTUgLCBUMTYgLCBUMTcgLCBUMTggLCBUMTkgLCBUMjAgLCBUMjEgLCBUMjIgLCBUMjMgLCBUMjQgLCBUMjUgLCBUMjYgLCBUMjcgLCBUMjggLCBUMjkgLCBUMzAgLCBUMzEgLCBUMzIgLCBUMzMgLCBUMzQgLCBUMzUgLCBUMzYgLCBUMzcgLCBUMzggLCBUMzkgLCBUNDAgLCBUNDEgLCBUNDIgLCBUNDMgLCBUNDQgQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdiwgTD4KK3sKK3R5cGVkZWYgZW5jb2RlX2JpdHM8Qk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQ+IGJpdHM7Cit0eXBlZGVmIGNvbnN0YW50PEJPT1NUX0ZUX2Z1bGxfbWFzaz4gbWFzazsKK3R5cGVkZWYgZnVuY3Rpb25fdHlwZXM6OmNvbXBvbmVudHM8Qk9PU1RfRlRfc3ludGF4KEJPT1NUX0ZUX2NjLCBCT09TVF9QUF9FTVBUWSkgKFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSAsIFQyMCAsIFQyMSAsIFQyMiAsIFQyMyAsIFQyNCAsIFQyNSAsIFQyNiAsIFQyNyAsIFQyOCAsIFQyOSAsIFQzMCAsIFQzMSAsIFQzMiAsIFQzMyAsIFQzNCAsIFQzNSAsIFQzNiAsIFQzNyAsIFQzOCAsIFQzOSAsIFQ0MCAsIFQ0MSAsIFQ0MiAsIFQ0MyAsIFQ0NCBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2LCBMPiB0eXBlOwordHlwZWRlZiBjb21wb25lbnRzX21wbF9zZXF1ZW5jZV90YWcgdGFnOwordHlwZWRlZiBtcGw6OmludGVncmFsX2M8c3RkOjpzaXplX3QsNDU+IGZ1bmN0aW9uX2FyaXR5OwordHlwZWRlZiBtcGw6OnZlY3RvcjQ2PCBSLCB0eXBlbmFtZSBjbGFzc190cmFuc2Zvcm08VDAgQk9PU1RfRlRfY3YsIEw+IDo6dHlwZSAsIFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSAsIFQyMCAsIFQyMSAsIFQyMiAsIFQyMyAsIFQyNCAsIFQyNSAsIFQyNiAsIFQyNyAsIFQyOCAsIFQyOSAsIFQzMCAsIFQzMSAsIFQzMiAsIFQzMyAsIFQzNCAsIFQzNSAsIFQzNiAsIFQzNyAsIFQzOCAsIFQzOSAsIFQ0MCAsIFQ0MSAsIFQ0MiAsIFQ0MyAsIFQ0NCA+IHR5cGVzOworfTsKK3RlbXBsYXRlPCB0eXBlbmFtZSBSICwgdHlwZW5hbWUgVDAgLCB0eXBlbmFtZSBUMSAsIHR5cGVuYW1lIFQyICwgdHlwZW5hbWUgVDMgLCB0eXBlbmFtZSBUNCAsIHR5cGVuYW1lIFQ1ICwgdHlwZW5hbWUgVDYgLCB0eXBlbmFtZSBUNyAsIHR5cGVuYW1lIFQ4ICwgdHlwZW5hbWUgVDkgLCB0eXBlbmFtZSBUMTAgLCB0eXBlbmFtZSBUMTEgLCB0eXBlbmFtZSBUMTIgLCB0eXBlbmFtZSBUMTMgLCB0eXBlbmFtZSBUMTQgLCB0eXBlbmFtZSBUMTUgLCB0eXBlbmFtZSBUMTYgLCB0eXBlbmFtZSBUMTcgLCB0eXBlbmFtZSBUMTggLCB0eXBlbmFtZSBUMTkgLCB0eXBlbmFtZSBUMjAgLCB0eXBlbmFtZSBUMjEgLCB0eXBlbmFtZSBUMjIgLCB0eXBlbmFtZSBUMjMgLCB0eXBlbmFtZSBUMjQgLCB0eXBlbmFtZSBUMjUgLCB0eXBlbmFtZSBUMjYgLCB0eXBlbmFtZSBUMjcgLCB0eXBlbmFtZSBUMjggLCB0eXBlbmFtZSBUMjkgLCB0eXBlbmFtZSBUMzAgLCB0eXBlbmFtZSBUMzEgLCB0eXBlbmFtZSBUMzIgLCB0eXBlbmFtZSBUMzMgLCB0eXBlbmFtZSBUMzQgLCB0eXBlbmFtZSBUMzUgLCB0eXBlbmFtZSBUMzYgLCB0eXBlbmFtZSBUMzcgLCB0eXBlbmFtZSBUMzggLCB0eXBlbmFtZSBUMzkgLCB0eXBlbmFtZSBUNDAgLCB0eXBlbmFtZSBUNDEgLCB0eXBlbmFtZSBUNDIgLCB0eXBlbmFtZSBUNDMgLCB0eXBlbmFtZSBUNDQgLCB0eXBlbmFtZSBUNDUsIHR5cGVuYW1lIEw+CitzdHJ1Y3QgY29tcG9uZW50c19pbXBsPEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYywgQk9PU1RfUFBfRU1QVFkpIChUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgLCBUMTIgLCBUMTMgLCBUMTQgLCBUMTUgLCBUMTYgLCBUMTcgLCBUMTggLCBUMTkgLCBUMjAgLCBUMjEgLCBUMjIgLCBUMjMgLCBUMjQgLCBUMjUgLCBUMjYgLCBUMjcgLCBUMjggLCBUMjkgLCBUMzAgLCBUMzEgLCBUMzIgLCBUMzMgLCBUMzQgLCBUMzUgLCBUMzYgLCBUMzcgLCBUMzggLCBUMzkgLCBUNDAgLCBUNDEgLCBUNDIgLCBUNDMgLCBUNDQgLCBUNDUgQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdiwgTD4KK3sKK3R5cGVkZWYgZW5jb2RlX2JpdHM8Qk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQ+IGJpdHM7Cit0eXBlZGVmIGNvbnN0YW50PEJPT1NUX0ZUX2Z1bGxfbWFzaz4gbWFzazsKK3R5cGVkZWYgZnVuY3Rpb25fdHlwZXM6OmNvbXBvbmVudHM8Qk9PU1RfRlRfc3ludGF4KEJPT1NUX0ZUX2NjLCBCT09TVF9QUF9FTVBUWSkgKFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSAsIFQyMCAsIFQyMSAsIFQyMiAsIFQyMyAsIFQyNCAsIFQyNSAsIFQyNiAsIFQyNyAsIFQyOCAsIFQyOSAsIFQzMCAsIFQzMSAsIFQzMiAsIFQzMyAsIFQzNCAsIFQzNSAsIFQzNiAsIFQzNyAsIFQzOCAsIFQzOSAsIFQ0MCAsIFQ0MSAsIFQ0MiAsIFQ0MyAsIFQ0NCAsIFQ0NSBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2LCBMPiB0eXBlOwordHlwZWRlZiBjb21wb25lbnRzX21wbF9zZXF1ZW5jZV90YWcgdGFnOwordHlwZWRlZiBtcGw6OmludGVncmFsX2M8c3RkOjpzaXplX3QsNDY+IGZ1bmN0aW9uX2FyaXR5OwordHlwZWRlZiBtcGw6OnZlY3RvcjQ3PCBSLCB0eXBlbmFtZSBjbGFzc190cmFuc2Zvcm08VDAgQk9PU1RfRlRfY3YsIEw+IDo6dHlwZSAsIFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSAsIFQyMCAsIFQyMSAsIFQyMiAsIFQyMyAsIFQyNCAsIFQyNSAsIFQyNiAsIFQyNyAsIFQyOCAsIFQyOSAsIFQzMCAsIFQzMSAsIFQzMiAsIFQzMyAsIFQzNCAsIFQzNSAsIFQzNiAsIFQzNyAsIFQzOCAsIFQzOSAsIFQ0MCAsIFQ0MSAsIFQ0MiAsIFQ0MyAsIFQ0NCAsIFQ0NSA+IHR5cGVzOworfTsKK3RlbXBsYXRlPCB0eXBlbmFtZSBSICwgdHlwZW5hbWUgVDAgLCB0eXBlbmFtZSBUMSAsIHR5cGVuYW1lIFQyICwgdHlwZW5hbWUgVDMgLCB0eXBlbmFtZSBUNCAsIHR5cGVuYW1lIFQ1ICwgdHlwZW5hbWUgVDYgLCB0eXBlbmFtZSBUNyAsIHR5cGVuYW1lIFQ4ICwgdHlwZW5hbWUgVDkgLCB0eXBlbmFtZSBUMTAgLCB0eXBlbmFtZSBUMTEgLCB0eXBlbmFtZSBUMTIgLCB0eXBlbmFtZSBUMTMgLCB0eXBlbmFtZSBUMTQgLCB0eXBlbmFtZSBUMTUgLCB0eXBlbmFtZSBUMTYgLCB0eXBlbmFtZSBUMTcgLCB0eXBlbmFtZSBUMTggLCB0eXBlbmFtZSBUMTkgLCB0eXBlbmFtZSBUMjAgLCB0eXBlbmFtZSBUMjEgLCB0eXBlbmFtZSBUMjIgLCB0eXBlbmFtZSBUMjMgLCB0eXBlbmFtZSBUMjQgLCB0eXBlbmFtZSBUMjUgLCB0eXBlbmFtZSBUMjYgLCB0eXBlbmFtZSBUMjcgLCB0eXBlbmFtZSBUMjggLCB0eXBlbmFtZSBUMjkgLCB0eXBlbmFtZSBUMzAgLCB0eXBlbmFtZSBUMzEgLCB0eXBlbmFtZSBUMzIgLCB0eXBlbmFtZSBUMzMgLCB0eXBlbmFtZSBUMzQgLCB0eXBlbmFtZSBUMzUgLCB0eXBlbmFtZSBUMzYgLCB0eXBlbmFtZSBUMzcgLCB0eXBlbmFtZSBUMzggLCB0eXBlbmFtZSBUMzkgLCB0eXBlbmFtZSBUNDAgLCB0eXBlbmFtZSBUNDEgLCB0eXBlbmFtZSBUNDIgLCB0eXBlbmFtZSBUNDMgLCB0eXBlbmFtZSBUNDQgLCB0eXBlbmFtZSBUNDUgLCB0eXBlbmFtZSBUNDYsIHR5cGVuYW1lIEw+CitzdHJ1Y3QgY29tcG9uZW50c19pbXBsPEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYywgQk9PU1RfUFBfRU1QVFkpIChUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgLCBUMTIgLCBUMTMgLCBUMTQgLCBUMTUgLCBUMTYgLCBUMTcgLCBUMTggLCBUMTkgLCBUMjAgLCBUMjEgLCBUMjIgLCBUMjMgLCBUMjQgLCBUMjUgLCBUMjYgLCBUMjcgLCBUMjggLCBUMjkgLCBUMzAgLCBUMzEgLCBUMzIgLCBUMzMgLCBUMzQgLCBUMzUgLCBUMzYgLCBUMzcgLCBUMzggLCBUMzkgLCBUNDAgLCBUNDEgLCBUNDIgLCBUNDMgLCBUNDQgLCBUNDUgLCBUNDYgQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdiwgTD4KK3sKK3R5cGVkZWYgZW5jb2RlX2JpdHM8Qk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQ+IGJpdHM7Cit0eXBlZGVmIGNvbnN0YW50PEJPT1NUX0ZUX2Z1bGxfbWFzaz4gbWFzazsKK3R5cGVkZWYgZnVuY3Rpb25fdHlwZXM6OmNvbXBvbmVudHM8Qk9PU1RfRlRfc3ludGF4KEJPT1NUX0ZUX2NjLCBCT09TVF9QUF9FTVBUWSkgKFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSAsIFQyMCAsIFQyMSAsIFQyMiAsIFQyMyAsIFQyNCAsIFQyNSAsIFQyNiAsIFQyNyAsIFQyOCAsIFQyOSAsIFQzMCAsIFQzMSAsIFQzMiAsIFQzMyAsIFQzNCAsIFQzNSAsIFQzNiAsIFQzNyAsIFQzOCAsIFQzOSAsIFQ0MCAsIFQ0MSAsIFQ0MiAsIFQ0MyAsIFQ0NCAsIFQ0NSAsIFQ0NiBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2LCBMPiB0eXBlOwordHlwZWRlZiBjb21wb25lbnRzX21wbF9zZXF1ZW5jZV90YWcgdGFnOwordHlwZWRlZiBtcGw6OmludGVncmFsX2M8c3RkOjpzaXplX3QsNDc+IGZ1bmN0aW9uX2FyaXR5OwordHlwZWRlZiBtcGw6OnZlY3RvcjQ4PCBSLCB0eXBlbmFtZSBjbGFzc190cmFuc2Zvcm08VDAgQk9PU1RfRlRfY3YsIEw+IDo6dHlwZSAsIFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSAsIFQyMCAsIFQyMSAsIFQyMiAsIFQyMyAsIFQyNCAsIFQyNSAsIFQyNiAsIFQyNyAsIFQyOCAsIFQyOSAsIFQzMCAsIFQzMSAsIFQzMiAsIFQzMyAsIFQzNCAsIFQzNSAsIFQzNiAsIFQzNyAsIFQzOCAsIFQzOSAsIFQ0MCAsIFQ0MSAsIFQ0MiAsIFQ0MyAsIFQ0NCAsIFQ0NSAsIFQ0NiA+IHR5cGVzOworfTsKK3RlbXBsYXRlPCB0eXBlbmFtZSBSICwgdHlwZW5hbWUgVDAgLCB0eXBlbmFtZSBUMSAsIHR5cGVuYW1lIFQyICwgdHlwZW5hbWUgVDMgLCB0eXBlbmFtZSBUNCAsIHR5cGVuYW1lIFQ1ICwgdHlwZW5hbWUgVDYgLCB0eXBlbmFtZSBUNyAsIHR5cGVuYW1lIFQ4ICwgdHlwZW5hbWUgVDkgLCB0eXBlbmFtZSBUMTAgLCB0eXBlbmFtZSBUMTEgLCB0eXBlbmFtZSBUMTIgLCB0eXBlbmFtZSBUMTMgLCB0eXBlbmFtZSBUMTQgLCB0eXBlbmFtZSBUMTUgLCB0eXBlbmFtZSBUMTYgLCB0eXBlbmFtZSBUMTcgLCB0eXBlbmFtZSBUMTggLCB0eXBlbmFtZSBUMTkgLCB0eXBlbmFtZSBUMjAgLCB0eXBlbmFtZSBUMjEgLCB0eXBlbmFtZSBUMjIgLCB0eXBlbmFtZSBUMjMgLCB0eXBlbmFtZSBUMjQgLCB0eXBlbmFtZSBUMjUgLCB0eXBlbmFtZSBUMjYgLCB0eXBlbmFtZSBUMjcgLCB0eXBlbmFtZSBUMjggLCB0eXBlbmFtZSBUMjkgLCB0eXBlbmFtZSBUMzAgLCB0eXBlbmFtZSBUMzEgLCB0eXBlbmFtZSBUMzIgLCB0eXBlbmFtZSBUMzMgLCB0eXBlbmFtZSBUMzQgLCB0eXBlbmFtZSBUMzUgLCB0eXBlbmFtZSBUMzYgLCB0eXBlbmFtZSBUMzcgLCB0eXBlbmFtZSBUMzggLCB0eXBlbmFtZSBUMzkgLCB0eXBlbmFtZSBUNDAgLCB0eXBlbmFtZSBUNDEgLCB0eXBlbmFtZSBUNDIgLCB0eXBlbmFtZSBUNDMgLCB0eXBlbmFtZSBUNDQgLCB0eXBlbmFtZSBUNDUgLCB0eXBlbmFtZSBUNDYgLCB0eXBlbmFtZSBUNDcsIHR5cGVuYW1lIEw+CitzdHJ1Y3QgY29tcG9uZW50c19pbXBsPEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYywgQk9PU1RfUFBfRU1QVFkpIChUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgLCBUMTIgLCBUMTMgLCBUMTQgLCBUMTUgLCBUMTYgLCBUMTcgLCBUMTggLCBUMTkgLCBUMjAgLCBUMjEgLCBUMjIgLCBUMjMgLCBUMjQgLCBUMjUgLCBUMjYgLCBUMjcgLCBUMjggLCBUMjkgLCBUMzAgLCBUMzEgLCBUMzIgLCBUMzMgLCBUMzQgLCBUMzUgLCBUMzYgLCBUMzcgLCBUMzggLCBUMzkgLCBUNDAgLCBUNDEgLCBUNDIgLCBUNDMgLCBUNDQgLCBUNDUgLCBUNDYgLCBUNDcgQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdiwgTD4KK3sKK3R5cGVkZWYgZW5jb2RlX2JpdHM8Qk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQ+IGJpdHM7Cit0eXBlZGVmIGNvbnN0YW50PEJPT1NUX0ZUX2Z1bGxfbWFzaz4gbWFzazsKK3R5cGVkZWYgZnVuY3Rpb25fdHlwZXM6OmNvbXBvbmVudHM8Qk9PU1RfRlRfc3ludGF4KEJPT1NUX0ZUX2NjLCBCT09TVF9QUF9FTVBUWSkgKFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSAsIFQyMCAsIFQyMSAsIFQyMiAsIFQyMyAsIFQyNCAsIFQyNSAsIFQyNiAsIFQyNyAsIFQyOCAsIFQyOSAsIFQzMCAsIFQzMSAsIFQzMiAsIFQzMyAsIFQzNCAsIFQzNSAsIFQzNiAsIFQzNyAsIFQzOCAsIFQzOSAsIFQ0MCAsIFQ0MSAsIFQ0MiAsIFQ0MyAsIFQ0NCAsIFQ0NSAsIFQ0NiAsIFQ0NyBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2LCBMPiB0eXBlOwordHlwZWRlZiBjb21wb25lbnRzX21wbF9zZXF1ZW5jZV90YWcgdGFnOwordHlwZWRlZiBtcGw6OmludGVncmFsX2M8c3RkOjpzaXplX3QsNDg+IGZ1bmN0aW9uX2FyaXR5OwordHlwZWRlZiBtcGw6OnZlY3RvcjQ5PCBSLCB0eXBlbmFtZSBjbGFzc190cmFuc2Zvcm08VDAgQk9PU1RfRlRfY3YsIEw+IDo6dHlwZSAsIFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSAsIFQyMCAsIFQyMSAsIFQyMiAsIFQyMyAsIFQyNCAsIFQyNSAsIFQyNiAsIFQyNyAsIFQyOCAsIFQyOSAsIFQzMCAsIFQzMSAsIFQzMiAsIFQzMyAsIFQzNCAsIFQzNSAsIFQzNiAsIFQzNyAsIFQzOCAsIFQzOSAsIFQ0MCAsIFQ0MSAsIFQ0MiAsIFQ0MyAsIFQ0NCAsIFQ0NSAsIFQ0NiAsIFQ0NyA+IHR5cGVzOworfTsKK3RlbXBsYXRlPCB0eXBlbmFtZSBSICwgdHlwZW5hbWUgVDAgLCB0eXBlbmFtZSBUMSAsIHR5cGVuYW1lIFQyICwgdHlwZW5hbWUgVDMgLCB0eXBlbmFtZSBUNCAsIHR5cGVuYW1lIFQ1ICwgdHlwZW5hbWUgVDYgLCB0eXBlbmFtZSBUNyAsIHR5cGVuYW1lIFQ4ICwgdHlwZW5hbWUgVDkgLCB0eXBlbmFtZSBUMTAgLCB0eXBlbmFtZSBUMTEgLCB0eXBlbmFtZSBUMTIgLCB0eXBlbmFtZSBUMTMgLCB0eXBlbmFtZSBUMTQgLCB0eXBlbmFtZSBUMTUgLCB0eXBlbmFtZSBUMTYgLCB0eXBlbmFtZSBUMTcgLCB0eXBlbmFtZSBUMTggLCB0eXBlbmFtZSBUMTkgLCB0eXBlbmFtZSBUMjAgLCB0eXBlbmFtZSBUMjEgLCB0eXBlbmFtZSBUMjIgLCB0eXBlbmFtZSBUMjMgLCB0eXBlbmFtZSBUMjQgLCB0eXBlbmFtZSBUMjUgLCB0eXBlbmFtZSBUMjYgLCB0eXBlbmFtZSBUMjcgLCB0eXBlbmFtZSBUMjggLCB0eXBlbmFtZSBUMjkgLCB0eXBlbmFtZSBUMzAgLCB0eXBlbmFtZSBUMzEgLCB0eXBlbmFtZSBUMzIgLCB0eXBlbmFtZSBUMzMgLCB0eXBlbmFtZSBUMzQgLCB0eXBlbmFtZSBUMzUgLCB0eXBlbmFtZSBUMzYgLCB0eXBlbmFtZSBUMzcgLCB0eXBlbmFtZSBUMzggLCB0eXBlbmFtZSBUMzkgLCB0eXBlbmFtZSBUNDAgLCB0eXBlbmFtZSBUNDEgLCB0eXBlbmFtZSBUNDIgLCB0eXBlbmFtZSBUNDMgLCB0eXBlbmFtZSBUNDQgLCB0eXBlbmFtZSBUNDUgLCB0eXBlbmFtZSBUNDYgLCB0eXBlbmFtZSBUNDcgLCB0eXBlbmFtZSBUNDgsIHR5cGVuYW1lIEw+CitzdHJ1Y3QgY29tcG9uZW50c19pbXBsPEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYywgQk9PU1RfUFBfRU1QVFkpIChUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgLCBUMTIgLCBUMTMgLCBUMTQgLCBUMTUgLCBUMTYgLCBUMTcgLCBUMTggLCBUMTkgLCBUMjAgLCBUMjEgLCBUMjIgLCBUMjMgLCBUMjQgLCBUMjUgLCBUMjYgLCBUMjcgLCBUMjggLCBUMjkgLCBUMzAgLCBUMzEgLCBUMzIgLCBUMzMgLCBUMzQgLCBUMzUgLCBUMzYgLCBUMzcgLCBUMzggLCBUMzkgLCBUNDAgLCBUNDEgLCBUNDIgLCBUNDMgLCBUNDQgLCBUNDUgLCBUNDYgLCBUNDcgLCBUNDggQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdiwgTD4KK3sKK3R5cGVkZWYgZW5jb2RlX2JpdHM8Qk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQ+IGJpdHM7Cit0eXBlZGVmIGNvbnN0YW50PEJPT1NUX0ZUX2Z1bGxfbWFzaz4gbWFzazsKK3R5cGVkZWYgZnVuY3Rpb25fdHlwZXM6OmNvbXBvbmVudHM8Qk9PU1RfRlRfc3ludGF4KEJPT1NUX0ZUX2NjLCBCT09TVF9QUF9FTVBUWSkgKFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSAsIFQyMCAsIFQyMSAsIFQyMiAsIFQyMyAsIFQyNCAsIFQyNSAsIFQyNiAsIFQyNyAsIFQyOCAsIFQyOSAsIFQzMCAsIFQzMSAsIFQzMiAsIFQzMyAsIFQzNCAsIFQzNSAsIFQzNiAsIFQzNyAsIFQzOCAsIFQzOSAsIFQ0MCAsIFQ0MSAsIFQ0MiAsIFQ0MyAsIFQ0NCAsIFQ0NSAsIFQ0NiAsIFQ0NyAsIFQ0OCBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2LCBMPiB0eXBlOwordHlwZWRlZiBjb21wb25lbnRzX21wbF9zZXF1ZW5jZV90YWcgdGFnOwordHlwZWRlZiBtcGw6OmludGVncmFsX2M8c3RkOjpzaXplX3QsNDk+IGZ1bmN0aW9uX2FyaXR5OwordHlwZWRlZiBtcGw6OnZlY3RvcjUwPCBSLCB0eXBlbmFtZSBjbGFzc190cmFuc2Zvcm08VDAgQk9PU1RfRlRfY3YsIEw+IDo6dHlwZSAsIFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSAsIFQyMCAsIFQyMSAsIFQyMiAsIFQyMyAsIFQyNCAsIFQyNSAsIFQyNiAsIFQyNyAsIFQyOCAsIFQyOSAsIFQzMCAsIFQzMSAsIFQzMiAsIFQzMyAsIFQzNCAsIFQzNSAsIFQzNiAsIFQzNyAsIFQzOCAsIFQzOSAsIFQ0MCAsIFQ0MSAsIFQ0MiAsIFQ0MyAsIFQ0NCAsIFQ0NSAsIFQ0NiAsIFQ0NyAsIFQ0OCA+IHR5cGVzOworfTsKK3RlbXBsYXRlPCB0eXBlbmFtZSBSICwgdHlwZW5hbWUgVDAgLCB0eXBlbmFtZSBUMSAsIHR5cGVuYW1lIFQyICwgdHlwZW5hbWUgVDMgLCB0eXBlbmFtZSBUNCAsIHR5cGVuYW1lIFQ1ICwgdHlwZW5hbWUgVDYgLCB0eXBlbmFtZSBUNyAsIHR5cGVuYW1lIFQ4ICwgdHlwZW5hbWUgVDkgLCB0eXBlbmFtZSBUMTAgLCB0eXBlbmFtZSBUMTEgLCB0eXBlbmFtZSBUMTIgLCB0eXBlbmFtZSBUMTMgLCB0eXBlbmFtZSBUMTQgLCB0eXBlbmFtZSBUMTUgLCB0eXBlbmFtZSBUMTYgLCB0eXBlbmFtZSBUMTcgLCB0eXBlbmFtZSBUMTggLCB0eXBlbmFtZSBUMTkgLCB0eXBlbmFtZSBUMjAgLCB0eXBlbmFtZSBUMjEgLCB0eXBlbmFtZSBUMjIgLCB0eXBlbmFtZSBUMjMgLCB0eXBlbmFtZSBUMjQgLCB0eXBlbmFtZSBUMjUgLCB0eXBlbmFtZSBUMjYgLCB0eXBlbmFtZSBUMjcgLCB0eXBlbmFtZSBUMjggLCB0eXBlbmFtZSBUMjkgLCB0eXBlbmFtZSBUMzAgLCB0eXBlbmFtZSBUMzEgLCB0eXBlbmFtZSBUMzIgLCB0eXBlbmFtZSBUMzMgLCB0eXBlbmFtZSBUMzQgLCB0eXBlbmFtZSBUMzUgLCB0eXBlbmFtZSBUMzYgLCB0eXBlbmFtZSBUMzcgLCB0eXBlbmFtZSBUMzggLCB0eXBlbmFtZSBUMzkgLCB0eXBlbmFtZSBUNDAgLCB0eXBlbmFtZSBUNDEgLCB0eXBlbmFtZSBUNDIgLCB0eXBlbmFtZSBUNDMgLCB0eXBlbmFtZSBUNDQgLCB0eXBlbmFtZSBUNDUgLCB0eXBlbmFtZSBUNDYgLCB0eXBlbmFtZSBUNDcgLCB0eXBlbmFtZSBUNDggLCB0eXBlbmFtZSBUNDksIHR5cGVuYW1lIEw+CitzdHJ1Y3QgY29tcG9uZW50c19pbXBsPEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYywgQk9PU1RfUFBfRU1QVFkpIChUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgLCBUMTIgLCBUMTMgLCBUMTQgLCBUMTUgLCBUMTYgLCBUMTcgLCBUMTggLCBUMTkgLCBUMjAgLCBUMjEgLCBUMjIgLCBUMjMgLCBUMjQgLCBUMjUgLCBUMjYgLCBUMjcgLCBUMjggLCBUMjkgLCBUMzAgLCBUMzEgLCBUMzIgLCBUMzMgLCBUMzQgLCBUMzUgLCBUMzYgLCBUMzcgLCBUMzggLCBUMzkgLCBUNDAgLCBUNDEgLCBUNDIgLCBUNDMgLCBUNDQgLCBUNDUgLCBUNDYgLCBUNDcgLCBUNDggLCBUNDkgQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdiwgTD4KK3sKK3R5cGVkZWYgZW5jb2RlX2JpdHM8Qk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQ+IGJpdHM7Cit0eXBlZGVmIGNvbnN0YW50PEJPT1NUX0ZUX2Z1bGxfbWFzaz4gbWFzazsKK3R5cGVkZWYgZnVuY3Rpb25fdHlwZXM6OmNvbXBvbmVudHM8Qk9PU1RfRlRfc3ludGF4KEJPT1NUX0ZUX2NjLCBCT09TVF9QUF9FTVBUWSkgKFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSAsIFQyMCAsIFQyMSAsIFQyMiAsIFQyMyAsIFQyNCAsIFQyNSAsIFQyNiAsIFQyNyAsIFQyOCAsIFQyOSAsIFQzMCAsIFQzMSAsIFQzMiAsIFQzMyAsIFQzNCAsIFQzNSAsIFQzNiAsIFQzNyAsIFQzOCAsIFQzOSAsIFQ0MCAsIFQ0MSAsIFQ0MiAsIFQ0MyAsIFQ0NCAsIFQ0NSAsIFQ0NiAsIFQ0NyAsIFQ0OCAsIFQ0OSBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2LCBMPiB0eXBlOwordHlwZWRlZiBjb21wb25lbnRzX21wbF9zZXF1ZW5jZV90YWcgdGFnOwordHlwZWRlZiBtcGw6OmludGVncmFsX2M8c3RkOjpzaXplX3QsNTA+IGZ1bmN0aW9uX2FyaXR5OwordHlwZWRlZiBtcGw6OnZlY3RvcjUxPCBSLCB0eXBlbmFtZSBjbGFzc190cmFuc2Zvcm08VDAgQk9PU1RfRlRfY3YsIEw+IDo6dHlwZSAsIFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSAsIFQyMCAsIFQyMSAsIFQyMiAsIFQyMyAsIFQyNCAsIFQyNSAsIFQyNiAsIFQyNyAsIFQyOCAsIFQyOSAsIFQzMCAsIFQzMSAsIFQzMiAsIFQzMyAsIFQzNCAsIFQzNSAsIFQzNiAsIFQzNyAsIFQzOCAsIFQzOSAsIFQ0MCAsIFQ0MSAsIFQ0MiAsIFQ0MyAsIFQ0NCAsIFQ0NSAsIFQ0NiAsIFQ0NyAsIFQ0OCAsIFQ0OSA+IHR5cGVzOworfTsKKwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvZnVuY3Rpb25fdHlwZXMvZGV0YWlsL2NvbXBvbmVudHNfaW1wbC9tYXN0ZXIuaHBwIGIvbmRuYm9vc3QvZnVuY3Rpb25fdHlwZXMvZGV0YWlsL2NvbXBvbmVudHNfaW1wbC9tYXN0ZXIuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNmM2NhODgKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9mdW5jdGlvbl90eXBlcy9kZXRhaWwvY29tcG9uZW50c19pbXBsL21hc3Rlci5ocHAKQEAgLTAsMCArMSw2MSBAQAorCisvLyAoQykgQ29weXJpZ2h0IFRvYmlhcyBTY2h3aW5nZXIKKy8vCisvLyBVc2UgbW9kaWZpY2F0aW9uIGFuZCBkaXN0cmlidXRpb24gYXJlIHN1YmplY3QgdG8gdGhlIGJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsCisvLyBWZXJzaW9uIDEuMC4gKFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpLgorCisvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisvLyBubyBpbmNsdWRlIGd1YXJkcywgdGhpcyBmaWxlIGlzIGludGVuZGVkIGZvciBtdWx0aXBsZSBpbmNsdXNpb24KKworI2lmICAgQk9PU1RfRlRfQVJJVFlfTE9PUF9QUkVGSVgKKworIyAgIGlmbmRlZiBCT09TVF9GVF9ERVRBSUxfQ09NUE9ORU5UU19JTVBMX01BU1RFUl9IUFBfSU5DTFVERUQKKyMgICBkZWZpbmUgQk9PU1RfRlRfREVUQUlMX0NPTVBPTkVOVFNfSU1QTF9NQVNURVJfSFBQX0lOQ0xVREVECisjICAgICBpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3IvY2F0LmhwcD4KKyMgICAgIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9mYWNpbGl0aWVzL2VtcHR5LmhwcD4KKyMgICAgIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9mYWNpbGl0aWVzL2lkZW50aXR5LmhwcD4KKyMgICAgIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9hcml0aG1ldGljL2RlYy5ocHA+CisjICAgICBpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3IvcHVuY3R1YXRpb24vY29tbWFfaWYuaHBwPgorIyAgIGVuZGlmCisKKyMgICBkZWZpbmUgQk9PU1RfRlRfdHlwZV9uYW1lCisKKyMgICBpZiAhQk9PU1RfRlRfbWZwCisKKyMgICAgIGRlZmluZSBCT09TVF9GVF90eXBlcyBcCisgICAgICAgICAgUiBCT09TVF9QUF9DT01NQV9JRihCT09TVF9GVF9hcml0eSkgQk9PU1RfRlRfcGFyYW1zKEJPT1NUX1BQX0VNUFRZKQorIyAgIGVsc2UKKworIyAgICAgZGVmaW5lIEJPT1NUX0ZUX3R5cGVzIFwKKyAgICAgICAgICBSLCB0eXBlbmFtZSBjbGFzc190cmFuc2Zvcm08VDAgQk9PU1RfRlRfY3YsIEw+Ojp0eXBlIFwKKyAgICAgICAgICBCT09TVF9QUF9DT01NQV9JRihCT09TVF9QUF9ERUMoQk9PU1RfRlRfYXJpdHkpKSBcCisgICAgICAgICAgQk9PU1RfRlRfcGFyYW1zKEJPT1NUX1BQX0VNUFRZKQorCisjICAgZW5kaWYKKworI2VsaWYgQk9PU1RfRlRfQVJJVFlfTE9PUF9JU19JVEVSQVRJTkcKKwordGVtcGxhdGU8IEJPT1NUX0ZUX3RwbGFyZ3MoQk9PU1RfUFBfSURFTlRJVFkodHlwZW5hbWUpKSwgdHlwZW5hbWUgTD4KK3N0cnVjdCBjb21wb25lbnRzX2ltcGw8Qk9PU1RfRlRfdHlwZSwgTD4KK3sKKyAgdHlwZWRlZiBlbmNvZGVfYml0czxCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZD4gYml0czsKKyAgdHlwZWRlZiBjb25zdGFudDxCT09TVF9GVF9mdWxsX21hc2s+IG1hc2s7CisKKyAgdHlwZWRlZiBmdW5jdGlvbl90eXBlczo6Y29tcG9uZW50czxCT09TVF9GVF90eXBlLCBMPiB0eXBlOworICB0eXBlZGVmIGNvbXBvbmVudHNfbXBsX3NlcXVlbmNlX3RhZyB0YWc7CisKKyAgdHlwZWRlZiBtcGw6OmludGVncmFsX2M8c3RkOjpzaXplX3QsQk9PU1RfRlRfYXJpdHk+IGZ1bmN0aW9uX2FyaXR5OworCisgIHR5cGVkZWYgQk9PU1RfUFBfQ0FUKG1wbDo6dmVjdG9yLEJPT1NUX0ZUX24pPCBCT09TVF9GVF90eXBlcyA+IHR5cGVzOworfTsKKworI2VsaWYgQk9PU1RfRlRfQVJJVFlfTE9PUF9TVUZGSVgKKworIyAgIHVuZGVmIEJPT1NUX0ZUX3R5cGVzCisjICAgdW5kZWYgQk9PU1RfRlRfdHlwZV9uYW1lCisKKyNlbHNlCisjICAgZXJyb3IgImF0dGVtcHQgdG8gdXNlIGFyaXR5IGxvb3AgbWFzdGVyIGZpbGUgd2l0aG91dCBsb29wIgorI2VuZGlmCisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L2Z1bmN0aW9uX3R5cGVzL2RldGFpbC9jdl90cmFpdHMuaHBwIGIvbmRuYm9vc3QvZnVuY3Rpb25fdHlwZXMvZGV0YWlsL2N2X3RyYWl0cy5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjk3ZGRmNAotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L2Z1bmN0aW9uX3R5cGVzL2RldGFpbC9jdl90cmFpdHMuaHBwCkBAIC0wLDAgKzEsMTM0IEBACisKKy8vIChDKSBDb3B5cmlnaHQgVG9iaWFzIFNjaHdpbmdlcgorLy8KKy8vIFVzZSBtb2RpZmljYXRpb24gYW5kIGRpc3RyaWJ1dGlvbiBhcmUgc3ViamVjdCB0byB0aGUgYm9vc3QgU29mdHdhcmUgTGljZW5zZSwKKy8vIFZlcnNpb24gMS4wLiAoU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkuCisKKy8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKyNpZm5kZWYgQk9PU1RfRlRfREVUQUlMX0NWX1RSQUlUU19IUFBfSU5DTFVERUQKKyNkZWZpbmUgQk9PU1RfRlRfREVUQUlMX0NWX1RSQUlUU19IUFBfSU5DTFVERUQKKworI2luY2x1ZGUgPGNzdGRkZWY+CisjaW5jbHVkZSA8bmRuYm9vc3QvZGV0YWlsL3dvcmthcm91bmQuaHBwPgorCisjaWYgZGVmaW5lZChCT09TVF9OT19URU1QTEFURV9QQVJUSUFMX1NQRUNJQUxJWkFUSU9OKSBcCisgICAgfHwgQk9PU1RfV09SS0FST1VORChfX0JPUkxBTkRDX18sIDw9IDB4NTgyKQorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL3JlbW92ZV9jdi5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvcmVtb3ZlX3BvaW50ZXIuaHBwPgorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL3JlbW92ZV9yZWZlcmVuY2UuaHBwPgorI2VuZGlmCisKKyNpbmNsdWRlIDxuZG5ib29zdC9mdW5jdGlvbl90eXBlcy9wcm9wZXJ0eV90YWdzLmhwcD4KKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIGZ1bmN0aW9uX3R5cGVzIHsgbmFtZXNwYWNlIGRldGFpbCB7CisKKyNpZiAhIChkZWZpbmVkKEJPT1NUX05PX1RFTVBMQVRFX1BBUlRJQUxfU1BFQ0lBTElaQVRJT04pIFwKKyAgICB8fCBCT09TVF9XT1JLQVJPVU5EKF9fQk9STEFORENfXywgPD0gMHg1ODIpKQorCit0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgY3ZfdHJhaXRzIAoreyB0eXBlZGVmIG5vbl9jdiB0YWc7IHR5cGVkZWYgVCB0eXBlOyB9OwordGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IGN2X3RyYWl0czxUICY+ICAgICAKK3sgdHlwZWRlZiBub25fY3YgdGFnOyB0eXBlZGVmIFQgdHlwZTsgfTsKK3RlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBjdl90cmFpdHM8VCAqPiAgICAKK3sgdHlwZWRlZiBub25fY3YgdGFnOyB0eXBlZGVmIFQgdHlwZTsgfTsKK3RlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBjdl90cmFpdHM8VCAqIGNvbnN0PiAKK3sgdHlwZWRlZiBub25fY3YgdGFnOyB0eXBlZGVmIFQgdHlwZTsgfTsKK3RlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBjdl90cmFpdHM8VCAqIHZvbGF0aWxlPiAKK3sgdHlwZWRlZiBub25fY3YgdGFnOyB0eXBlZGVmIFQgdHlwZTsgfTsKK3RlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBjdl90cmFpdHM8VCAqIGNvbnN0IHZvbGF0aWxlPiAKK3sgdHlwZWRlZiBub25fY3YgdGFnOyB0eXBlZGVmIFQgdHlwZTsgfTsKKwordGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IGN2X3RyYWl0czxUIGNvbnN0PiAKK3sgdHlwZWRlZiBjb25zdF9ub25fdm9sYXRpbGUgdGFnOyB0eXBlZGVmIFQgdHlwZTsgfTsKK3RlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBjdl90cmFpdHM8VCBjb25zdCAmPgoreyB0eXBlZGVmIGNvbnN0X25vbl92b2xhdGlsZSB0YWc7IHR5cGVkZWYgVCB0eXBlOyB9OwordGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IGN2X3RyYWl0czxUIGNvbnN0ICo+IAoreyB0eXBlZGVmIGNvbnN0X25vbl92b2xhdGlsZSB0YWc7IHR5cGVkZWYgVCB0eXBlOyB9OwordGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IGN2X3RyYWl0czxUIGNvbnN0ICogY29uc3Q+IAoreyB0eXBlZGVmIGNvbnN0X25vbl92b2xhdGlsZSB0YWc7IHR5cGVkZWYgVCB0eXBlOyB9OwordGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IGN2X3RyYWl0czxUIGNvbnN0ICogdm9sYXRpbGU+IAoreyB0eXBlZGVmIGNvbnN0X25vbl92b2xhdGlsZSB0YWc7IHR5cGVkZWYgVCB0eXBlOyB9OwordGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IGN2X3RyYWl0czxUIGNvbnN0ICogY29uc3Qgdm9sYXRpbGU+IAoreyB0eXBlZGVmIGNvbnN0X25vbl92b2xhdGlsZSB0YWc7IHR5cGVkZWYgVCB0eXBlOyB9OworCit0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgY3ZfdHJhaXRzPFQgdm9sYXRpbGU+ICAKK3sgdHlwZWRlZiB2b2xhdGlsZV9ub25fY29uc3QgdGFnOyB0eXBlZGVmIFQgdHlwZTsgfTsKK3RlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBjdl90cmFpdHM8VCB2b2xhdGlsZSAmPiAgCit7IHR5cGVkZWYgdm9sYXRpbGVfbm9uX2NvbnN0IHRhZzsgdHlwZWRlZiBUIHR5cGU7IH07Cit0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgY3ZfdHJhaXRzPFQgdm9sYXRpbGUgKj4gCit7IHR5cGVkZWYgdm9sYXRpbGVfbm9uX2NvbnN0IHRhZzsgdHlwZWRlZiBUIHR5cGU7IH07Cit0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgY3ZfdHJhaXRzPFQgdm9sYXRpbGUgKiBjb25zdD4gCit7IHR5cGVkZWYgdm9sYXRpbGVfbm9uX2NvbnN0IHRhZzsgdHlwZWRlZiBUIHR5cGU7IH07Cit0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgY3ZfdHJhaXRzPFQgdm9sYXRpbGUgKiB2b2xhdGlsZT4gCit7IHR5cGVkZWYgdm9sYXRpbGVfbm9uX2NvbnN0IHRhZzsgdHlwZWRlZiBUIHR5cGU7IH07Cit0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgY3ZfdHJhaXRzPFQgdm9sYXRpbGUgKiBjb25zdCB2b2xhdGlsZT4gCit7IHR5cGVkZWYgdm9sYXRpbGVfbm9uX2NvbnN0IHRhZzsgdHlwZWRlZiBUIHR5cGU7IH07CisKK3RlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBjdl90cmFpdHM8VCBjb25zdCB2b2xhdGlsZT4gICAKK3sgdHlwZWRlZiBjdl9xdWFsaWZpZWQgdGFnOyB0eXBlZGVmIFQgdHlwZTsgfTsKK3RlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBjdl90cmFpdHM8VCBjb25zdCB2b2xhdGlsZSAmPgoreyB0eXBlZGVmIGN2X3F1YWxpZmllZCB0YWc7IHR5cGVkZWYgVCB0eXBlOyB9OwordGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IGN2X3RyYWl0czxUIGNvbnN0IHZvbGF0aWxlICo+Cit7IHR5cGVkZWYgY3ZfcXVhbGlmaWVkIHRhZzsgdHlwZWRlZiBUIHR5cGU7IH07Cit0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgY3ZfdHJhaXRzPFQgY29uc3Qgdm9sYXRpbGUgKiBjb25zdD4KK3sgdHlwZWRlZiBjdl9xdWFsaWZpZWQgdGFnOyB0eXBlZGVmIFQgdHlwZTsgfTsKK3RlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBjdl90cmFpdHM8VCBjb25zdCB2b2xhdGlsZSAqIHZvbGF0aWxlPgoreyB0eXBlZGVmIGN2X3F1YWxpZmllZCB0YWc7IHR5cGVkZWYgVCB0eXBlOyB9OwordGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IGN2X3RyYWl0czxUIGNvbnN0IHZvbGF0aWxlICogY29uc3Qgdm9sYXRpbGU+Cit7IHR5cGVkZWYgY3ZfcXVhbGlmaWVkIHRhZzsgdHlwZWRlZiBUIHR5cGU7IH07CisKKyNlbHNlCit0ZW1wbGF0ZTxzdGQ6OnNpemVfdD4gc3RydWN0IGN2X3RhZ19pbXBsOworCit0ZW1wbGF0ZTw+IHN0cnVjdCBjdl90YWdfaW1wbDwxPiB7IHR5cGVkZWYgbm9uX2N2IHR5cGU7fTsKK3RlbXBsYXRlPD4gc3RydWN0IGN2X3RhZ19pbXBsPDI+IHsgdHlwZWRlZiBjb25zdF9ub25fdm9sYXRpbGUgdHlwZTsgfTsKK3RlbXBsYXRlPD4gc3RydWN0IGN2X3RhZ19pbXBsPDM+IHsgdHlwZWRlZiB2b2xhdGlsZV9ub25fY29uc3QgdHlwZTsgfTsKK3RlbXBsYXRlPD4gc3RydWN0IGN2X3RhZ19pbXBsPDQ+IHsgdHlwZWRlZiBjdl9xdWFsaWZpZWQgdHlwZTsgfTsKKwordHlwZWRlZiBjaGFyICgmIGNhc2VfMSlbMV07Cit0eXBlZGVmIGNoYXIgKCYgY2FzZV8yKVsyXTsKK3R5cGVkZWYgY2hhciAoJiBjYXNlXzMpWzNdOwordHlwZWRlZiBjaGFyICgmIGNhc2VfNClbNF07CisKK3RlbXBsYXRlPHR5cGVuYW1lIFQ+IGNhc2VfMSBzd2l0Y2hfY3YoVCAqKTsKK3RlbXBsYXRlPHR5cGVuYW1lIFQ+IGNhc2VfMiBzd2l0Y2hfY3YoVCBjb25zdCAqKTsKK3RlbXBsYXRlPHR5cGVuYW1lIFQ+IGNhc2VfMyBzd2l0Y2hfY3YoVCB2b2xhdGlsZSAqKTsKK3RlbXBsYXRlPHR5cGVuYW1lIFQ+IGNhc2VfNCBzd2l0Y2hfY3YoVCBjb25zdCB2b2xhdGlsZSAqKTsKKwordGVtcGxhdGU8dHlwZW5hbWUgVD4gVCAgICAgICAgICAgICAgICAqIHJlZl90b19wdHIoVCAmKTsKK3RlbXBsYXRlPHR5cGVuYW1lIFQ+IFQgY29uc3QgICAgICAgICAgKiByZWZfdG9fcHRyKFQgY29uc3QgJik7Cit0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBUIHZvbGF0aWxlICAgICAgICogcmVmX3RvX3B0cihUIHZvbGF0aWxlICYpOwordGVtcGxhdGU8dHlwZW5hbWUgVD4gVCBjb25zdCB2b2xhdGlsZSAqIHJlZl90b19wdHIoVCBjb25zdCB2b2xhdGlsZSAmKTsKKwordGVtcGxhdGU8dHlwZW5hbWUgVD4gVCAgICAgICAgICAgICAgICAqIHJlZl90b19wdHIoVCAqIGNvbnN0IHZvbGF0aWxlICYpOworCit0ZW1wbGF0ZTx0eXBlbmFtZSBUPgorc3RydWN0IGN2X2NvZGUKK3sKKyAgc3RhdGljIFQgX3Q7CisgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChzdGQ6OnNpemVfdCwgdmFsdWUgPSAKKyAgICAgIHNpemVvZig6Om5kbmJvb3N0OjpmdW5jdGlvbl90eXBlczo6ZGV0YWlsOjpzd2l0Y2hfY3YoCisgICAgICAgICA6Om5kbmJvb3N0OjpmdW5jdGlvbl90eXBlczo6ZGV0YWlsOjpyZWZfdG9fcHRyKF90KSApICkpOworfTsKKwordGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IGN2X3RyYWl0cyAKK3sKKyAgdHlwZWRlZiB0eXBlbmFtZSBuZG5ib29zdDo6ZnVuY3Rpb25fdHlwZXM6OmRldGFpbDo6Y3ZfdGFnX2ltcGw8IAorICAgIDo6bmRuYm9vc3Q6OmZ1bmN0aW9uX3R5cGVzOjpkZXRhaWw6OmN2X2NvZGU8VD46OnZhbHVlID46OnR5cGUKKyAgdGFnOworCisgIC8vIG1heSByZXF1aXJlIEJvb3N0LlR5cGVUcmFpdHMgYnJva2VuIGNvbXBpbGVyIHNwZWNpYWxpemF0aW9ucworICAvLyB0byB3b3JrCisgIHR5cGVkZWYgdHlwZW5hbWUgbmRuYm9vc3Q6OnJlbW92ZV9jdjwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgbmRuYm9vc3Q6OnJlbW92ZV9wb2ludGVyPAorICAgICAgICAgICAgICAgICAgdHlwZW5hbWUgbmRuYm9vc3Q6OnJlbW92ZV9yZWZlcmVuY2U8VD46OnR5cGUgCisgICAgICAgICAgICAgID46OnR5cGUgCisgICAgICAgICAgPjo6dHlwZSB0eXBlOyAKK307CisjZW5kaWYKKworfSB9IH0gLy8gbmFtZXNwYWNlIG5kbmJvb3N0OjpmdW5jdGlvbl90eXBlczo6ZGV0YWlsCisKKyNlbmRpZgorIApkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvZnVuY3Rpb25fdHlwZXMvZGV0YWlsL2VuY29kaW5nL2FsaWFzZXNfZGVmLmhwcCBiL25kbmJvb3N0L2Z1bmN0aW9uX3R5cGVzL2RldGFpbC9lbmNvZGluZy9hbGlhc2VzX2RlZi5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGQ0ODMzMQotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L2Z1bmN0aW9uX3R5cGVzL2RldGFpbC9lbmNvZGluZy9hbGlhc2VzX2RlZi5ocHAKQEAgLTAsMCArMSwxNiBAQAorCisvLyAoQykgQ29weXJpZ2h0IFRvYmlhcyBTY2h3aW5nZXIKKy8vCisvLyBVc2UgbW9kaWZpY2F0aW9uIGFuZCBkaXN0cmlidXRpb24gYXJlIHN1YmplY3QgdG8gdGhlIGJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsCisvLyBWZXJzaW9uIDEuMC4gKFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpLgorCisvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisvLyBubyBpbmNsdWRlIGd1YXJkcywgdGhpcyBmaWxlIGlzIGludGVuZGVkIGZvciBtdWx0aXBsZSBpbmNsdXNpb25zCisKKyNkZWZpbmUgY2FsbGFibGVfYnVpbHRpbiBCT09TVF9GVF9jYWxsYWJsZV9idWlsdGluCisjZGVmaW5lIG1lbWJlciAgICAgICAgICAgQk9PU1RfRlRfbWVtYmVyX3BvaW50ZXIKKyNkZWZpbmUgbm9uX21lbWJlciAgICAgICBCT09TVF9GVF9ub25fbWVtYmVyCisjZGVmaW5lIHZhcmlhZGljICAgICAgICAgQk9PU1RfRlRfdmFyaWFkaWMKKyNkZWZpbmUgbm9uX3ZhcmlhZGljICAgICBCT09TVF9GVF9ub25fdmFyaWFkaWMKKwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvZnVuY3Rpb25fdHlwZXMvZGV0YWlsL2VuY29kaW5nL2FsaWFzZXNfdW5kZWYuaHBwIGIvbmRuYm9vc3QvZnVuY3Rpb25fdHlwZXMvZGV0YWlsL2VuY29kaW5nL2FsaWFzZXNfdW5kZWYuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFkNGU1NzcKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9mdW5jdGlvbl90eXBlcy9kZXRhaWwvZW5jb2RpbmcvYWxpYXNlc191bmRlZi5ocHAKQEAgLTAsMCArMSwxNiBAQAorCisvLyAoQykgQ29weXJpZ2h0IFRvYmlhcyBTY2h3aW5nZXIKKy8vCisvLyBVc2UgbW9kaWZpY2F0aW9uIGFuZCBkaXN0cmlidXRpb24gYXJlIHN1YmplY3QgdG8gdGhlIGJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsCisvLyBWZXJzaW9uIDEuMC4gKFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpLgorCisvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisvLyBubyBpbmNsdWRlIGd1YXJkcywgdGhpcyBmaWxlIGlzIGludGVuZGVkIGZvciBtdWx0aXBsZSBpbmNsdXNpb25zCisKKyN1bmRlZiBjYWxsYWJsZV9idWlsdGluCisjdW5kZWYgbWVtYmVyCisjdW5kZWYgbm9uX21lbWJlcgorI3VuZGVmIHZhcmlhZGljCisjdW5kZWYgbm9uX3ZhcmlhZGljCisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L2Z1bmN0aW9uX3R5cGVzL2RldGFpbC9lbmNvZGluZy9kZWYuaHBwIGIvbmRuYm9vc3QvZnVuY3Rpb25fdHlwZXMvZGV0YWlsL2VuY29kaW5nL2RlZi5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDgwNzRmYgotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L2Z1bmN0aW9uX3R5cGVzL2RldGFpbC9lbmNvZGluZy9kZWYuaHBwCkBAIC0wLDAgKzEsNTEgQEAKKworLy8gKEMpIENvcHlyaWdodCBUb2JpYXMgU2Nod2luZ2VyCisvLworLy8gVXNlIG1vZGlmaWNhdGlvbiBhbmQgZGlzdHJpYnV0aW9uIGFyZSBzdWJqZWN0IHRvIHRoZSBib29zdCBTb2Z0d2FyZSBMaWNlbnNlLAorLy8gVmVyc2lvbiAxLjAuIChTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KS4KKworLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworLy8gbm8gaW5jbHVkZSBndWFyZHMsIHRoaXMgZmlsZSBpcyBpbnRlbmRlZCBmb3IgbXVsdGlwbGUgaW5jbHVzaW9ucworCisvLyBUeXBlIGVuY29kaW5nOgorLy8KKy8vIGJpdCAwOiBjYWxsYWJsZSBidWlsdGluCisvLyBiaXQgMTogbm9uIG1lbWJlcgorLy8gYml0IDI6IG5ha2VkIGZ1bmN0aW9uCisvLyBiaXQgMzogcG9pbnRlcgorLy8gYml0IDQ6IHJlZmVyZW5jZQorLy8gYml0IDU6IG1lbWJlciBwb2ludGVyCisvLyBiaXQgNjogbWVtYmVyIGZ1bmN0aW9uIHBvaW50ZXIKKy8vIGJpdCA3OiBtZW1iZXIgb2JqZWN0IHBvaW50ZXIKKworI2RlZmluZSBCT09TVF9GVF90eXBlX21hc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDBmZiAvLyAxMTExIDExMTEgCisjZGVmaW5lIEJPT1NUX0ZUX2NhbGxhYmxlX2J1aWx0aW4gICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAxIC8vIDAwMDAgMDAwMQorI2RlZmluZSBCT09TVF9GVF9ub25fbWVtYmVyICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMiAvLyAwMDAwIDAwMTAKKyNkZWZpbmUgQk9PU1RfRlRfZnVuY3Rpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDcgLy8gMDAwMCAwMTExCisjZGVmaW5lIEJPT1NUX0ZUX3BvaW50ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDBiIC8vIDAwMDAgMTAxMQorI2RlZmluZSBCT09TVF9GVF9yZWZlcmVuY2UgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAxMyAvLyAwMDAxIDAwMTEKKyNkZWZpbmUgQk9PU1RfRlRfbm9uX21lbWJlcl9jYWxsYWJsZV9idWlsdGluICAgICAgICAgIDB4MDAwMDAwMDMgLy8gMDAwMCAwMDExCisjZGVmaW5lIEJPT1NUX0ZUX21lbWJlcl9wb2ludGVyICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDIwIC8vIDAwMTAgMDAwMAorI2RlZmluZSBCT09TVF9GVF9tZW1iZXJfZnVuY3Rpb25fcG9pbnRlciAgICAgICAgICAgICAgMHgwMDAwMDA2MSAvLyAwMTEwIDAwMDEKKyNkZWZpbmUgQk9PU1RfRlRfbWVtYmVyX29iamVjdF9wb2ludGVyICAgICAgICAgICAgICAgIDB4MDAwMDAwYTMgLy8gMTAxMCAwMDAxCisjZGVmaW5lIEJPT1NUX0ZUX21lbWJlcl9vYmplY3RfcG9pbnRlcl9mbGFncyAgICAgICAgICAweDAwMDAwMmEzCisKKyNkZWZpbmUgQk9PU1RfRlRfdmFyaWFkaWMgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAxMDAKKyNkZWZpbmUgQk9PU1RfRlRfbm9uX3ZhcmlhZGljICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAyMDAKKyNkZWZpbmUgQk9PU1RfRlRfdmFyaWFkaWNfbWFzayAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAzMDAKKworI2RlZmluZSBCT09TVF9GVF9jb25zdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDQwMAorI2RlZmluZSBCT09TVF9GVF92b2xhdGlsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDgwMAorCisjZGVmaW5lIEJPT1NUX0ZUX2RlZmF1bHRfY2MgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDA4MDAwCisjZGVmaW5lIEJPT1NUX0ZUX2NjX21hc2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwZmY4MDAwCisKKyNkZWZpbmUgQk9PU1RfRlRfa2luZF9tYXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwZmMgCisKKyNkZWZpbmUgQk9PU1RfRlRfZmxhZ3NfbWFzayAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDBmZmYKKyNkZWZpbmUgQk9PU1RfRlRfZnVsbF9tYXNrICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDBmZjBmZmYKKworI2RlZmluZSBCT09TVF9GVF9hcml0eV9zaGlmdCAgICAgICAgICAgICAgICAgICAgICAgICAgMjQKKyNkZWZpbmUgQk9PU1RfRlRfYXJpdHlfbWFzayAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4N2YwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvZnVuY3Rpb25fdHlwZXMvZGV0YWlsL2VuY29kaW5nL3VuZGVmLmhwcCBiL25kbmJvb3N0L2Z1bmN0aW9uX3R5cGVzL2RldGFpbC9lbmNvZGluZy91bmRlZi5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTkyMGQ2ZgotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L2Z1bmN0aW9uX3R5cGVzL2RldGFpbC9lbmNvZGluZy91bmRlZi5ocHAKQEAgLTAsMCArMSwzOCBAQAorCisvLyAoQykgQ29weXJpZ2h0IFRvYmlhcyBTY2h3aW5nZXIKKy8vCisvLyBVc2UgbW9kaWZpY2F0aW9uIGFuZCBkaXN0cmlidXRpb24gYXJlIHN1YmplY3QgdG8gdGhlIGJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsCisvLyBWZXJzaW9uIDEuMC4gKFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpLgorCisvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisvLyBubyBpbmNsdWRlIGd1YXJkcywgdGhpcyBmaWxlIGlzIGludGVuZGVkIGZvciBtdWx0aXBsZSBpbmNsdXNpb24KKworI3VuZGVmIEJPT1NUX0ZUX3R5cGVfbWFzaworI3VuZGVmIEJPT1NUX0ZUX2tpbmRfbWFzaworI3VuZGVmIEJPT1NUX0ZUX2NhbGxhYmxlX2J1aWx0aW4KKyN1bmRlZiBCT09TVF9GVF9ub25fbWVtYmVyCisjdW5kZWYgQk9PU1RfRlRfZnVuY3Rpb24KKyN1bmRlZiBCT09TVF9GVF9wb2ludGVyCisjdW5kZWYgQk9PU1RfRlRfcmVmZXJlbmNlCisjdW5kZWYgQk9PU1RfRlRfbm9uX21lbWJlcl9jYWxsYWJsZV9idWlsdGluCisjdW5kZWYgQk9PU1RfRlRfbWVtYmVyX3BvaW50ZXIKKyN1bmRlZiBCT09TVF9GVF9tZW1iZXJfZnVuY3Rpb25fcG9pbnRlcgorI3VuZGVmIEJPT1NUX0ZUX21lbWJlcl9vYmplY3RfcG9pbnRlcgorI3VuZGVmIEJPT1NUX0ZUX21lbWJlcl9vYmplY3RfcG9pbnRlcl9mbGFncworCisjdW5kZWYgQk9PU1RfRlRfdmFyaWFkaWMKKyN1bmRlZiBCT09TVF9GVF9ub25fdmFyaWFkaWMKKyN1bmRlZiBCT09TVF9GVF92YXJpYWRpY19tYXNrCisKKyN1bmRlZiBCT09TVF9GVF9jb25zdAorI3VuZGVmIEJPT1NUX0ZUX3ZvbGF0aWxlCisKKyN1bmRlZiBCT09TVF9GVF9kZWZhdWx0X2NjCisjdW5kZWYgQk9PU1RfRlRfY2NfbWFzaworCisjdW5kZWYgQk9PU1RfRlRfZmxhZ3NfbWFzaworI3VuZGVmIEJPT1NUX0ZUX2Z1bGxfbWFzaworCisjdW5kZWYgQk9PU1RfRlRfYXJpdHlfbWFzaworCmRpZmYgLS1naXQgYS9uZG5ib29zdC9mdW5jdGlvbl90eXBlcy9kZXRhaWwvcHBfYXJpdHlfbG9vcC5ocHAgYi9uZG5ib29zdC9mdW5jdGlvbl90eXBlcy9kZXRhaWwvcHBfYXJpdHlfbG9vcC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzc5ODllOQotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L2Z1bmN0aW9uX3R5cGVzL2RldGFpbC9wcF9hcml0eV9sb29wLmhwcApAQCAtMCwwICsxLDE0OSBAQAorCisvLyAoQykgQ29weXJpZ2h0IFRvYmlhcyBTY2h3aW5nZXIKKy8vCisvLyBVc2UgbW9kaWZpY2F0aW9uIGFuZCBkaXN0cmlidXRpb24gYXJlIHN1YmplY3QgdG8gdGhlIGJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsCisvLyBWZXJzaW9uIDEuMC4gKFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpLgorCisvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisvLyBubyBpbmNsdWRlIGd1YXJkcywgdGhpcyBmaWxlIGlzIGludGVuZGVkIGZvciBtdWx0aXBsZSBpbmNsdXNpb24KKworI2lmbmRlZiBCT09TVF9GVF9QUkVQUk9DRVNTSU5HX01PREUKKy8vIGlucHV0OiAgQk9PU1RfRlRfbWZwICAgICAgICAwIG9yIDEgPD0+IG1lbWJlciBmdW5jdGlvbiBwb2ludGVyPworLy8gaW5wdXQ6ICBCT09TVF9GVF90eXBlX25hbWUgIEJPT1NUX0ZUX3R5cGUgLS0+ICJSICgqIC4uLl90eXBlX25hbWUpKCkiIChwYXNzMikKKyNlbmRpZgorLy8gaW5wdXQ6ICBCT09TVF9GVF9zeW50YXggICAgIHR5cGUgbWFjcm8gdG8gdXNlCisvLyBpbnB1dDogIEJPT1NUX0ZUX2NjICAgICAgICAgZW1wdHkgb3IgY2Mgc3BlY2lmaWVyIAorLy8gaW5wdXQ6ICBCT09TVF9GVF9lbGwgICAgICAgIGVtcHR5IG9yICIuLi4iCisvLyBpbnB1dDogIEJPT1NUX0ZUX2N2ICAgICAgICAgZW1wdHkgb3IgY3YgcXVhbGlmaWVycworLy8gaW5wdXQ6ICBCT09TVF9GVF9mbGFncyAgICAgIHNpbmdsZSBkZWNpbWFsIGludGVnZXIgZW5jb2RpbmcgdGhlIGZsYWdzCisvLyBvdXRwdXQ6IEJPT1NUX0ZUX24gICAgICAgICAgbnVtYmVyIG9mIGNvbXBvbmVudCB0eXBlcyAoYXJpdHkrMSkKKy8vIG91dHB1dDogQk9PU1RfRlRfYXJpdHkgICAgICBjdXJyZW50IGFyaXR5CisvLyBvdXRwdXQ6IEJPT1NUX0ZUX3R5cGUgICAgICAgbWFjcm8gdGhhdCBleHBhbmRzIHRvIHRoZSB0eXBlCisvLyBvdXRwdXQ6IEJPT1NUX0ZUX3RwbGFyZ3MocCkgdGVtcGxhdGUgYXJndW1lbnRzIHdpdGggZ2l2ZW4gcHJlZml4CisvLyBvdXRwdXQ6IEJPT1NUX0ZUX3BhcmFtcyhwKSAgcGFyYW1ldGVycyB3aXRoIGdpdmVuIHByZWZpeAorCisjaWZkZWYgX19XQVZFX18KKyMgICBwcmFnbWEgd2F2ZSBvcHRpb24ocHJlc2VydmU6IDApCisjZW5kaWYKKworI2lmbmRlZiBCT09TVF9GVF9BUklUWV9MT09QX0lTX0lURVJBVElORworCisjICAgZGVmaW5lIEJPT1NUX0ZUX0FMX1BSRVBST0NFU1NFRCBcCisgICAgICAgIEJPT1NUX0ZUX0FMX0ZJTEUoQk9PU1RfRlRfYWxfcGF0aCxCT09TVF9GVF9GUk9NX0FSSVRZLEJPT1NUX0ZUX21mcCkKKworIyAgIGRlZmluZSBCT09TVF9GVF9BTF9GSUxFKGJhc2VfcGF0aCxtYXhfYXJpdHksbWZwKSBcCisgICAgICAgIEJPT1NUX0ZUX0FMX0ZJTEVfSShiYXNlX3BhdGgsbWF4X2FyaXR5LG1mcCkKKyMgICBkZWZpbmUgQk9PU1RfRlRfQUxfRklMRV9JKGJhc2VfcGF0aCxtYXhfYXJpdHksbWZwKSBcCisgICAgICAgIDxiYXNlX3BhdGgvYXJpdHkgIyMgbWF4X2FyaXR5ICMjIF8gIyMgbWZwLmhwcD4KKworIyAgIGlmICFkZWZpbmVkKEJPT1NUX0ZUX1BSRVBST0NFU1NJTkdfTU9ERSkKKworIyAgICAgaWYgQk9PU1RfRlRfTUFYX0FSSVRZIDwgMTAKKyMgICAgICAgZGVmaW5lIEJPT1NUX0ZUX0ZST01fQVJJVFkgMCAKKyMgICAgIGVsaWYgQk9PU1RfRlRfTUFYX0FSSVRZIDwgMjAKKyMgICAgICAgZGVmaW5lIEJPT1NUX0ZUX0ZST01fQVJJVFkgMTAKKyMgICAgIGVsaWYgQk9PU1RfRlRfTUFYX0FSSVRZIDwgMzAKKyMgICAgICAgZGVmaW5lIEJPT1NUX0ZUX0ZST01fQVJJVFkgMjAKKyMgICAgIGVsaWYgQk9PU1RfRlRfTUFYX0FSSVRZIDwgNDAKKyMgICAgICAgZGVmaW5lIEJPT1NUX0ZUX0ZST01fQVJJVFkgMzAKKyMgICAgIGVuZGlmCisKKyMgICAgIGlmIEJPT1NUX0ZUX0ZST01fQVJJVFkKKyMgICAgICAgaW5jbHVkZSBCT09TVF9GVF9BTF9QUkVQUk9DRVNTRUQKKyMgICAgIGVuZGlmCisKKyMgICBlbGlmICFkZWZpbmVkKEJPT1NUX0ZUX0ZST01fQVJJVFkpIC8vIHNpbmdsZSBwYXNzIHByZXByb2Nlc3NpbmcKKyMgICAgIGRlZmluZSBCT09TVF9GVF9GUk9NX0FSSVRZIDAKKworIyAgIGVsaWYgQk9PU1RfRlRfRlJPTV9BUklUWSA+IDAgICAgICAgLy8gYXJpdHkyMCBpbmNsdWRlcyBhcml0eTEwCitCT09TVF9QUF9FWFBBTkQoIykgaW5jbHVkZSBCT09TVF9GVF9BTF9QUkVQUk9DRVNTRUQKKyMgICBlbmRpZgorCisjICAgdW5kZWYgQk9PU1RfRlRfQUxfUFJFUFJPQ0VTU0VECisKKyMgICB1bmRlZiBCT09TVF9GVF9BTF9GSUxFCisjICAgdW5kZWYgQk9PU1RfRlRfQUxfRklMRV9JCisKKyMgICBpZiBCT09TVF9GVF9NQVhfQVJJVFkgPiBCT09TVF9GVF9GUk9NX0FSSVRZCisKKyMgICAgIGlmbmRlZiBCT09TVF9GVF9ERVRBSUxfQVJJVFlfTE9PUF9IUFBfSU5DTFVERUQKKyMgICAgIGRlZmluZSBCT09TVF9GVF9ERVRBSUxfQVJJVFlfTE9PUF9IUFBfSU5DTFVERUQKKyMgICAgICAgICBpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3IvY2F0LmhwcD4KKyMgICAgICAgICBpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3IvdHVwbGUvZWF0LmhwcD4KKyMgICAgICAgICBpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3IvY29udHJvbC9pZi5ocHA+CisjICAgICAgICAgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL2FyaXRobWV0aWMvaW5jLmhwcD4KKyMgICAgICAgICBpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3IvZmFjaWxpdGllcy9lbXB0eS5ocHA+CisjICAgICAgICAgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL2ZhY2lsaXRpZXMvZXhwYW5kLmhwcD4KKyMgICAgICAgICBpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3IvaXRlcmF0aW9uL2l0ZXJhdGUuaHBwPgorIyAgICAgICAgIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9yZXBldGl0aW9uL2VudW1fcGFyYW1zLmhwcD4KKyMgICAgICAgICBpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3IvcmVwZXRpdGlvbi9lbnVtX3NoaWZ0ZWRfcGFyYW1zLmhwcD4KKyMgICAgICAgICBpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3IvcmVwZXRpdGlvbi9lbnVtX3RyYWlsaW5nX3BhcmFtcy5ocHA+CisjICAgICBlbmRpZgorCisjICAgICBkZWZpbmUgQk9PU1RfRlRfQUxfSU5DTFVERV9GSUxFIDxCT09TVF9GVF9hbF9wYXRoL21hc3Rlci5ocHA+CisKKyMgICAgIGRlZmluZSBCT09TVF9GVF9BUklUWV9MT09QX1BSRUZJWCAxCisjICAgICBpbmNsdWRlIEJPT1NUX0ZUX0FMX0lOQ0xVREVfRklMRQorIyAgICAgdW5kZWYgIEJPT1NUX0ZUX0FSSVRZX0xPT1BfUFJFRklYCisKKyMgICAgIGlmICFCT09TVF9QUF9JU19JVEVSQVRJTkcKKyMgICAgICAgZGVmaW5lIEJPT1NUX1BQX0ZJTEVOQU1FXzEgQk9PU1RfRlRfQUxfSU5DTFVERV9GSUxFCisjICAgICBlbGlmIEJPT1NUX1BQX0lURVJBVElPTl9ERVBUSCgpID09IDEKKyMgICAgICAgZGVmaW5lIEJPT1NUX1BQX0ZJTEVOQU1FXzIgQk9PU1RfRlRfQUxfSU5DTFVERV9GSUxFCisjICAgICBlbHNlCisjICAgICAgIGVycm9yICJsb29wcyBuZXN0ZWQgdG9vIGRlZXBseSIKKyMgICAgIGVuZGlmCisKKyMgICAgIGRlZmluZSBCT09TVF9GVF9hcml0eSBCT09TVF9QUF9JVEVSQVRJT04oKQorIyAgICAgZGVmaW5lIEJPT1NUX0ZUX24gICAgIEJPT1NUX1BQX0lOQyhCT09TVF9GVF9hcml0eSkKKworIyAgICAgZGVmaW5lIEJPT1NUX0ZUX3R5cGUgXAorICAgICAgICAgIEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYyxCT09TVF9GVF90eXBlX25hbWUgQk9PU1RfUFBfRU1QVFkpXAorICAgICAgICAgICAgICAgKEJPT1NUX0ZUX3BhcmFtcyhCT09TVF9QUF9FTVBUWSkgQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdgorCisjICAgICBkZWZpbmUgQk9PU1RfRlRfdHBsYXJncyhwcmVmeCkgXAorICAgICAgICAgIHByZWZ4KCkgUiBCT09TVF9QUF9FTlVNX1RSQUlMSU5HX1BBUkFNUyhCT09TVF9GVF9hcml0eSxwcmVmeCgpIFQpCisKKyMgICAgIGlmICFCT09TVF9GVF9tZnAKKworIyAgICAgICBkZWZpbmUgQk9PU1RfRlRfcGFyYW1zKHByZWZ4KSBcCisgICAgICAgICAgICBCT09TVF9QUF9JRihCT09TVF9GVF9hcml0eSxCT09TVF9QUF9FTlVNX1BBUkFNUywgXAorICAgICAgICAgICAgICAgIEJPT1NUX0ZUX251bGxhcnlfcGFyYW0gQk9PU1RfUFBfVFVQTEVfRUFUKDIpKSggXAorICAgICAgICAgICAgICAgICAgICBCT09TVF9GVF9hcml0eSxwcmVmeCgpIFQpIAorIyAgICAgZWxzZQorCisjICAgICAgIGRlZmluZSBCT09TVF9GVF9wYXJhbXMocHJlZngpIFwKKyAgICAgICAgICAgIEJPT1NUX1BQX0VOVU1fU0hJRlRFRF9QQVJBTVMoQk9PU1RfRlRfYXJpdHkscHJlZngoKSBUKQorCisjICAgICBlbmRpZgorCisjICAgICBpZiAhQk9PU1RfRlRfRlJPTV9BUklUWSAKKyMgICAgICAgZGVmaW5lIEJPT1NUX1BQX0lURVJBVElPTl9MSU1JVFMgKEJPT1NUX0ZUX21mcCwgQk9PU1RfRlRfTUFYX0FSSVRZKQorIyAgICAgZWxzZQorIyAgICAgICBkZWZpbmUgQk9PU1RfUFBfSVRFUkFUSU9OX0xJTUlUUyBcCisgICAgICAgICAgICAoQk9PU1RfRlRfRlJPTV9BUklUWSsxLCBCT09TVF9GVF9NQVhfQVJJVFkpCisjICAgICBlbmRpZgorCisjICAgICBkZWZpbmUgQk9PU1RfRlRfQVJJVFlfTE9PUF9JU19JVEVSQVRJTkcgMQorIyAgICAgaW5jbHVkZSBCT09TVF9QUF9JVEVSQVRFKCkKKyMgICAgIHVuZGVmICBCT09TVF9GVF9BUklUWV9MT09QX0lTX0lURVJBVElORworCisjICAgICB1bmRlZiBCT09TVF9GVF9hcml0eQorIyAgICAgdW5kZWYgQk9PU1RfRlRfcGFyYW1zCisjICAgICB1bmRlZiBCT09TVF9GVF90cGxhcmdzCisjICAgICB1bmRlZiBCT09TVF9GVF90eXBlCisKKyMgICAgIGRlZmluZSBCT09TVF9GVF9BUklUWV9MT09QX1NVRkZJWCAxCisjICAgICBpbmNsdWRlIEJPT1NUX0ZUX0FMX0lOQ0xVREVfRklMRQorIyAgICAgdW5kZWYgIEJPT1NUX0ZUX0FSSVRZX0xPT1BfU1VGRklYCisKKyMgICAgIHVuZGVmIEJPT1NUX0ZUX0FMX0lOQ0xVREVfRklMRQorIyAgIGVuZGlmCisKKyMgICB1bmRlZiBCT09TVF9GVF9GUk9NX0FSSVRZCisKKyNlbHNlCisjICAgZXJyb3IgImF0dGVtcHQgdG8gbmVzdCBhcml0eSBsb29wcyIKKyNlbmRpZgorCmRpZmYgLS1naXQgYS9uZG5ib29zdC9mdW5jdGlvbl90eXBlcy9kZXRhaWwvcHBfY2NfbG9vcC9tYXN0ZXIuaHBwIGIvbmRuYm9vc3QvZnVuY3Rpb25fdHlwZXMvZGV0YWlsL3BwX2NjX2xvb3AvbWFzdGVyLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZjgyMWQwCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvZnVuY3Rpb25fdHlwZXMvZGV0YWlsL3BwX2NjX2xvb3AvbWFzdGVyLmhwcApAQCAtMCwwICsxLDEzNiBAQAorCisvLyAoQykgQ29weXJpZ2h0IFRvYmlhcyBTY2h3aW5nZXIKKy8vCisvLyBVc2UgbW9kaWZpY2F0aW9uIGFuZCBkaXN0cmlidXRpb24gYXJlIHN1YmplY3QgdG8gdGhlIGJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsCisvLyBWZXJzaW9uIDEuMC4gKFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpLgorCisvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisvLyBubyBpbmNsdWRlIGd1YXJkcywgdGhpcyBmaWxlIGlzIGludGVuZGVkIGZvciBtdWx0aXBsZSBpbmNsdXNpb25zCisKKyNpZmRlZiBfX1dBVkVfXworLy8gdGhpcyBmaWxlIGhhcyBiZWVuIGdlbmVyYXRlZCBmcm9tIHRoZSBtYXN0ZXIuaHBwIGZpbGUgaW4gdGhlIHNhbWUgZGlyZWN0b3J5CisjICAgcHJhZ21hIHdhdmUgb3B0aW9uKHByZXNlcnZlOiAwKQorI2VuZGlmCisKKworI2lmICFCT09TVF9QUF9JU19JVEVSQVRJTkcKKworIyAgIGlmbmRlZiBCT09TVF9GVF9ERVRBSUxfQ0NfTE9PUF9NQVNURVJfSFBQX0lOQ0xVREVECisjICAgZGVmaW5lIEJPT1NUX0ZUX0RFVEFJTF9DQ19MT09QX01BU1RFUl9IUFBfSU5DTFVERUQKKyMgICAgIGluY2x1ZGUgPG5kbmJvb3N0L2Z1bmN0aW9uX3R5cGVzL2NvbmZpZy9jY19uYW1lcy5ocHA+CisKKyMgICAgIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9jYXQuaHBwPgorIyAgICAgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL3NlcS9zaXplLmhwcD4KKyMgICAgIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9zZXEvZWxlbS5ocHA+CisjICAgICBpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3IvdHVwbGUvZWxlbS5ocHA+CisjICAgICBpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3IvaXRlcmF0aW9uL2l0ZXJhdGUuaHBwPgorIyAgICAgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL2ZhY2lsaXRpZXMvZXhwYW5kLmhwcD4KKyMgICAgIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9hcml0aG1ldGljL2luYy5ocHA+CisjICAgZW5kaWYKKworIyAgIGluY2x1ZGUgPG5kbmJvb3N0L2Z1bmN0aW9uX3R5cGVzL2RldGFpbC9lbmNvZGluZy9kZWYuaHBwPgorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L2Z1bmN0aW9uX3R5cGVzL2RldGFpbC9lbmNvZGluZy9hbGlhc2VzX2RlZi5ocHA+CisKKyMgICBkZWZpbmUgIEJPT1NUX1BQX0ZJTEVOQU1FXzEgXAorICAgICAgICA8bmRuYm9vc3QvZnVuY3Rpb25fdHlwZXMvZGV0YWlsL3BwX2NjX2xvb3AvbWFzdGVyLmhwcD4KKyMgICBkZWZpbmUgIEJPT1NUX1BQX0lURVJBVElPTl9MSU1JVFMgXAorICAgICAgICAoMCxCT09TVF9QUF9TRVFfU0laRShCT09TVF9GVF9DQ19OQU1FU19TRVEpLTEpCisjICAgaW5jbHVkZSBCT09TVF9QUF9JVEVSQVRFKCkKKyMgICBpZiAhZGVmaW5lZChCT09TVF9GVF9jb25maWdfdmFsaWQpICYmIEJPT1NUX0ZUX0NDX1BSRVBST0NFU1NJTkcKKyMgICAgIGRlZmluZSBCT09TVF9GVF9jY19pZCAxCisjICAgICBkZWZpbmUgQk9PU1RfRlRfY2NfbmFtZSBpbXBsaWNpdF9jYworIyAgICAgZGVmaW5lIEJPT1NUX0ZUX2NjIEJPT1NUX1BQX0VNUFRZCisjICAgICBkZWZpbmUgQk9PU1RfRlRfY29uZCBjYWxsYWJsZV9idWlsdGluCisjICAgICBpbmNsdWRlIEJPT1NUX0ZUX2NjX2ZpbGUKKyMgICAgIHVuZGVmIEJPT1NUX0ZUX2NvbmQKKyMgICAgIHVuZGVmIEJPT1NUX0ZUX2NjX25hbWUKKyMgICAgIHVuZGVmIEJPT1NUX0ZUX2NjCisjICAgICB1bmRlZiBCT09TVF9GVF9jY19pZAorIyAgIGVsaWYgIWRlZmluZWQoQk9PU1RfRlRfY29uZmlnX3ZhbGlkKSAvLyBhbmQgZ2VuZXJhdGluZyBwcmVwcm9jZXNzZWQgZmlsZQorQk9PU1RfUFBfRVhQQU5EKCMpIGlmbmRlZiBCT09TVF9GVF9jb25maWdfdmFsaWQKK0JPT1NUX1BQX0VYUEFORCgjKSAgIGRlZmluZSBCT09TVF9GVF9jY19pZCAxCitCT09TVF9QUF9FWFBBTkQoIykgICBkZWZpbmUgQk9PU1RfRlRfY2NfbmFtZSBpbXBsaWNpdF9jYworQk9PU1RfUFBfRVhQQU5EKCMpICAgZGVmaW5lIEJPT1NUX0ZUX2NjIEJPT1NUX1BQX0VNUFRZCitCT09TVF9QUF9FWFBBTkQoIykgICBkZWZpbmUgQk9PU1RfRlRfY29uZCBjYWxsYWJsZV9idWlsdGluCisjZGVmaW5lIF8oKQorQk9PU1RfUFBfRVhQQU5EKCMpICAgaW5jbHVkZSBCT09TVF9GVF9jY19maWxlCisjdW5kZWYgXworQk9PU1RfUFBfRVhQQU5EKCMpICAgdW5kZWYgQk9PU1RfRlRfY29uZAorQk9PU1RfUFBfRVhQQU5EKCMpICAgdW5kZWYgQk9PU1RfRlRfY2NfbmFtZQorQk9PU1RfUFBfRVhQQU5EKCMpICAgdW5kZWYgQk9PU1RfRlRfY2MKK0JPT1NUX1BQX0VYUEFORCgjKSAgIHVuZGVmIEJPT1NUX0ZUX2NjX2lkCitCT09TVF9QUF9FWFBBTkQoIykgZWxzZQorQk9PU1RfUFBfRVhQQU5EKCMpICAgdW5kZWYgQk9PU1RfRlRfY29uZmlnX3ZhbGlkCitCT09TVF9QUF9FWFBBTkQoIykgZW5kaWYKKworIyAgIGVsc2UKKyMgICAgIHVuZGVmIEJPT1NUX0ZUX2NvbmZpZ192YWxpZAorIyAgIGVuZGlmCisKKyMgICBpbmNsdWRlIDxuZG5ib29zdC9mdW5jdGlvbl90eXBlcy9kZXRhaWwvZW5jb2RpbmcvYWxpYXNlc191bmRlZi5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvZnVuY3Rpb25fdHlwZXMvZGV0YWlsL2VuY29kaW5nL3VuZGVmLmhwcD4KKworI2VsaWYgQk9PU1RfRlRfQ0NfUFJFUFJPQ0VTU0lORworCisjICAgZGVmaW5lIEJPT1NUX0ZUX2NjX2lkICBCT09TVF9QUF9JTkMoQk9PU1RfUFBfRlJBTUVfSVRFUkFUSU9OKDEpKQorIyAgIGRlZmluZSBCT09TVF9GVF9jY19pbmYgXAorICAgICAgICBCT09TVF9QUF9TRVFfRUxFTShCT09TVF9QUF9GUkFNRV9JVEVSQVRJT04oMSksQk9PU1RfRlRfQ0NfTkFNRVNfU0VRKQorCisjICAgZGVmaW5lIEJPT1NUX0ZUX2NjX3BwX25hbWUgQk9PU1RfUFBfVFVQTEVfRUxFTSgzLDAsQk9PU1RfRlRfY2NfaW5mKQorIyAgIGRlZmluZSBCT09TVF9GVF9jY19uYW1lICAgIEJPT1NUX1BQX1RVUExFX0VMRU0oMywxLEJPT1NUX0ZUX2NjX2luZikKKyMgICBkZWZpbmUgQk9PU1RfRlRfY2MgICAgICAgICBCT09TVF9QUF9UVVBMRV9FTEVNKDMsMixCT09TVF9GVF9jY19pbmYpCisKKyMgICBkZWZpbmUgQk9PU1RfRlRfY29uZCBCT09TVF9QUF9DQVQoQk9PU1RfRlRfQ0NfLEJPT1NUX0ZUX2NjX3BwX25hbWUpCisKKyMgICBpZiBCT09TVF9GVF9jb25kCisjICAgICBkZWZpbmUgQk9PU1RfRlRfY29uZmlnX3ZhbGlkIDEKKyMgICAgIGluY2x1ZGUgQk9PU1RfRlRfY2NfZmlsZQorIyAgIGVuZGlmCisKKyMgICB1bmRlZiBCT09TVF9GVF9jb25kCisKKyMgICB1bmRlZiBCT09TVF9GVF9jY19wcF9uYW1lCisjICAgdW5kZWYgQk9PU1RfRlRfY2NfbmFtZQorIyAgIHVuZGVmIEJPT1NUX0ZUX2NjCisKKyMgICB1bmRlZiBCT09TVF9GVF9jY19pZAorIyAgIHVuZGVmIEJPT1NUX0ZUX2NjX2luZgorCisjZWxzZSAvLyBpZiBnZW5lcmF0aW5nIHByZXByb2Nlc3NlZCBmaWxlCitCT09TVF9QUF9FWFBBTkQoIykgZGVmaW5lIEJPT1NUX0ZUX2NjX2lkIEJPT1NUX1BQX0lOQyhCT09TVF9QUF9JVEVSQVRJT04oKSkKKworIyAgIGRlZmluZSBCT09TVF9GVF9jY19pbmYgXAorICAgICAgICBCT09TVF9QUF9TRVFfRUxFTShCT09TVF9QUF9JVEVSQVRJT04oKSxCT09TVF9GVF9DQ19OQU1FU19TRVEpCisKKyMgICBkZWZpbmUgQk9PU1RfRlRfY2NfcHBfbmFtZSBCT09TVF9QUF9UVVBMRV9FTEVNKDMsMCxCT09TVF9GVF9jY19pbmYpCisKKyMgICBkZWZpbmUgQk9PU1RfRlRfQ0NfREVGKG5hbWUsaW5kZXgpIFwKKyAgICAgICAgbmFtZSBCT09TVF9QUF9UVVBMRV9FTEVNKDMsaW5kZXgsQk9PU1RfRlRfY2NfaW5mKQorQk9PU1RfUFBfRVhQQU5EKCMpIGRlZmluZSBCT09TVF9GVF9DQ19ERUYoQk9PU1RfRlRfY2NfbmFtZSwxKQorQk9PU1RfUFBfRVhQQU5EKCMpIGRlZmluZSBCT09TVF9GVF9DQ19ERUYoQk9PU1RfRlRfY2MsMikKKyMgICB1bmRlZiAgQk9PU1RfRlRfQ0NfREVGCisKKyMgICBkZWZpbmUgQk9PU1RfRlRfY2NfY29uZF92IEJPT1NUX1BQX0NBVChCT09TVF9GVF9DQ18sQk9PU1RfRlRfY2NfcHBfbmFtZSkKK0JPT1NUX1BQX0VYUEFORCgjKSBkZWZpbmUgQk9PU1RfRlRfY29uZCBCT09TVF9GVF9jY19jb25kX3YKKyMgICB1bmRlZiAgQk9PU1RfRlRfY2NfY29uZF92CisKKyMgICB1bmRlZiBCT09TVF9GVF9jY19wcF9uYW1lCisjICAgdW5kZWYgQk9PU1RfRlRfY2NfaW5mCisKK0JPT1NUX1BQX0VYUEFORCgjKSBpZiBCT09TVF9GVF9jb25kCitCT09TVF9QUF9FWFBBTkQoIykgICBkZWZpbmUgQk9PU1RfRlRfY29uZmlnX3ZhbGlkIDEKKyNkZWZpbmUgXygpCitCT09TVF9QUF9FWFBBTkQoIykgICBpbmNsdWRlIEJPT1NUX0ZUX2NjX2ZpbGUKKyN1bmRlZiBfCitCT09TVF9QUF9FWFBBTkQoIykgZW5kaWYKKworQk9PU1RfUFBfRVhQQU5EKCMpIHVuZGVmIEJPT1NUX0ZUX2NvbmQKKworQk9PU1RfUFBfRVhQQU5EKCMpIHVuZGVmIEJPT1NUX0ZUX2NjX25hbWUKK0JPT1NUX1BQX0VYUEFORCgjKSB1bmRlZiBCT09TVF9GVF9jYworCitCT09TVF9QUF9FWFBBTkQoIykgdW5kZWYgQk9PU1RfRlRfY2NfaWQKKworI2VuZGlmCisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L2Z1bmN0aW9uX3R5cGVzL2RldGFpbC9wcF9jY19sb29wL3ByZXByb2Nlc3NlZC5ocHAgYi9uZG5ib29zdC9mdW5jdGlvbl90eXBlcy9kZXRhaWwvcHBfY2NfbG9vcC9wcmVwcm9jZXNzZWQuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRhNDA3OWMKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9mdW5jdGlvbl90eXBlcy9kZXRhaWwvcHBfY2NfbG9vcC9wcmVwcm9jZXNzZWQuaHBwCkBAIC0wLDAgKzEsMTIwIEBACisKKy8vIChDKSBDb3B5cmlnaHQgVG9iaWFzIFNjaHdpbmdlcgorLy8KKy8vIFVzZSBtb2RpZmljYXRpb24gYW5kIGRpc3RyaWJ1dGlvbiBhcmUgc3ViamVjdCB0byB0aGUgYm9vc3QgU29mdHdhcmUgTGljZW5zZSwKKy8vIFZlcnNpb24gMS4wLiAoU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkuCisKKy8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKy8vIG5vIGluY2x1ZGUgZ3VhcmRzLCB0aGlzIGZpbGUgaXMgaW50ZW5kZWQgZm9yIG11bHRpcGxlIGluY2x1c2lvbnMKKworLy8gdGhpcyBmaWxlIGhhcyBiZWVuIGdlbmVyYXRlZCBmcm9tIHRoZSBtYXN0ZXIuaHBwIGZpbGUgaW4gdGhlIHNhbWUgZGlyZWN0b3J5CisjIGRlZmluZSBCT09TVF9GVF9jY19pZCAxCisjIGRlZmluZSBCT09TVF9GVF9jY19uYW1lIGltcGxpY2l0X2NjCisjIGRlZmluZSBCT09TVF9GVF9jYyBCT09TVF9QUF9FTVBUWQorIyBkZWZpbmUgQk9PU1RfRlRfY29uZCBCT09TVF9GVF9DQ19JTVBMSUNJVAorIyBpZiBCT09TVF9GVF9jb25kCisjIGRlZmluZSBCT09TVF9GVF9jb25maWdfdmFsaWQgMQorIyBpbmNsdWRlIEJPT1NUX0ZUX2NjX2ZpbGUKKyMgZW5kaWYKKyMgdW5kZWYgQk9PU1RfRlRfY29uZAorIyB1bmRlZiBCT09TVF9GVF9jY19uYW1lCisjIHVuZGVmIEJPT1NUX0ZUX2NjCisjIHVuZGVmIEJPT1NUX0ZUX2NjX2lkCisjIGRlZmluZSBCT09TVF9GVF9jY19pZCAyCisjIGRlZmluZSBCT09TVF9GVF9jY19uYW1lIGNkZWNsX2NjCisjIGRlZmluZSBCT09TVF9GVF9jYyBCT09TVF9QUF9JREVOVElUWShfX2NkZWNsICkKKyMgZGVmaW5lIEJPT1NUX0ZUX2NvbmQgQk9PU1RfRlRfQ0NfQ0RFQ0wKKyMgaWYgQk9PU1RfRlRfY29uZAorIyBkZWZpbmUgQk9PU1RfRlRfY29uZmlnX3ZhbGlkIDEKKyMgaW5jbHVkZSBCT09TVF9GVF9jY19maWxlCisjIGVuZGlmCisjIHVuZGVmIEJPT1NUX0ZUX2NvbmQKKyMgdW5kZWYgQk9PU1RfRlRfY2NfbmFtZQorIyB1bmRlZiBCT09TVF9GVF9jYworIyB1bmRlZiBCT09TVF9GVF9jY19pZAorIyBkZWZpbmUgQk9PU1RfRlRfY2NfaWQgMworIyBkZWZpbmUgQk9PU1RfRlRfY2NfbmFtZSBzdGRjYWxsX2NjCisjIGRlZmluZSBCT09TVF9GVF9jYyBCT09TVF9QUF9JREVOVElUWShfX3N0ZGNhbGwgKQorIyBkZWZpbmUgQk9PU1RfRlRfY29uZCBCT09TVF9GVF9DQ19TVERDQUxMCisjIGlmIEJPT1NUX0ZUX2NvbmQKKyMgZGVmaW5lIEJPT1NUX0ZUX2NvbmZpZ192YWxpZCAxCisjIGluY2x1ZGUgQk9PU1RfRlRfY2NfZmlsZQorIyBlbmRpZgorIyB1bmRlZiBCT09TVF9GVF9jb25kCisjIHVuZGVmIEJPT1NUX0ZUX2NjX25hbWUKKyMgdW5kZWYgQk9PU1RfRlRfY2MKKyMgdW5kZWYgQk9PU1RfRlRfY2NfaWQKKyMgZGVmaW5lIEJPT1NUX0ZUX2NjX2lkIDQKKyMgZGVmaW5lIEJPT1NUX0ZUX2NjX25hbWUgcGFzY2FsX2NjCisjIGRlZmluZSBCT09TVF9GVF9jYyBCT09TVF9QUF9JREVOVElUWShwYXNjYWwgKQorIyBkZWZpbmUgQk9PU1RfRlRfY29uZCBCT09TVF9GVF9DQ19QQVNDQUwKKyMgaWYgQk9PU1RfRlRfY29uZAorIyBkZWZpbmUgQk9PU1RfRlRfY29uZmlnX3ZhbGlkIDEKKyMgaW5jbHVkZSBCT09TVF9GVF9jY19maWxlCisjIGVuZGlmCisjIHVuZGVmIEJPT1NUX0ZUX2NvbmQKKyMgdW5kZWYgQk9PU1RfRlRfY2NfbmFtZQorIyB1bmRlZiBCT09TVF9GVF9jYworIyB1bmRlZiBCT09TVF9GVF9jY19pZAorIyBkZWZpbmUgQk9PU1RfRlRfY2NfaWQgNQorIyBkZWZpbmUgQk9PU1RfRlRfY2NfbmFtZSBmYXN0Y2FsbF9jYworIyBkZWZpbmUgQk9PU1RfRlRfY2MgQk9PU1RfUFBfSURFTlRJVFkoX19mYXN0Y2FsbCkKKyMgZGVmaW5lIEJPT1NUX0ZUX2NvbmQgQk9PU1RfRlRfQ0NfRkFTVENBTEwKKyMgaWYgQk9PU1RfRlRfY29uZAorIyBkZWZpbmUgQk9PU1RfRlRfY29uZmlnX3ZhbGlkIDEKKyMgaW5jbHVkZSBCT09TVF9GVF9jY19maWxlCisjIGVuZGlmCisjIHVuZGVmIEJPT1NUX0ZUX2NvbmQKKyMgdW5kZWYgQk9PU1RfRlRfY2NfbmFtZQorIyB1bmRlZiBCT09TVF9GVF9jYworIyB1bmRlZiBCT09TVF9GVF9jY19pZAorIyBkZWZpbmUgQk9PU1RfRlRfY2NfaWQgNgorIyBkZWZpbmUgQk9PU1RfRlRfY2NfbmFtZSBjbHJjYWxsX2NjCisjIGRlZmluZSBCT09TVF9GVF9jYyBCT09TVF9QUF9JREVOVElUWShfX2NscmNhbGwgKQorIyBkZWZpbmUgQk9PU1RfRlRfY29uZCBCT09TVF9GVF9DQ19DTFJDQUxMCisjIGlmIEJPT1NUX0ZUX2NvbmQKKyMgZGVmaW5lIEJPT1NUX0ZUX2NvbmZpZ192YWxpZCAxCisjIGluY2x1ZGUgQk9PU1RfRlRfY2NfZmlsZQorIyBlbmRpZgorIyB1bmRlZiBCT09TVF9GVF9jb25kCisjIHVuZGVmIEJPT1NUX0ZUX2NjX25hbWUKKyMgdW5kZWYgQk9PU1RfRlRfY2MKKyMgdW5kZWYgQk9PU1RfRlRfY2NfaWQKKyMgZGVmaW5lIEJPT1NUX0ZUX2NjX2lkIDcKKyMgZGVmaW5lIEJPT1NUX0ZUX2NjX25hbWUgdGhpc2NhbGxfY2MKKyMgZGVmaW5lIEJPT1NUX0ZUX2NjIEJPT1NUX1BQX0lERU5USVRZKF9fdGhpc2NhbGwpCisjIGRlZmluZSBCT09TVF9GVF9jb25kIEJPT1NUX0ZUX0NDX1RISVNDQUxMCisjIGlmIEJPT1NUX0ZUX2NvbmQKKyMgZGVmaW5lIEJPT1NUX0ZUX2NvbmZpZ192YWxpZCAxCisjIGluY2x1ZGUgQk9PU1RfRlRfY2NfZmlsZQorIyBlbmRpZgorIyB1bmRlZiBCT09TVF9GVF9jb25kCisjIHVuZGVmIEJPT1NUX0ZUX2NjX25hbWUKKyMgdW5kZWYgQk9PU1RfRlRfY2MKKyMgdW5kZWYgQk9PU1RfRlRfY2NfaWQKKyMgZGVmaW5lIEJPT1NUX0ZUX2NjX2lkIDgKKyMgZGVmaW5lIEJPT1NUX0ZUX2NjX25hbWUgdGhpc2NhbGxfY2MKKyMgZGVmaW5lIEJPT1NUX0ZUX2NjIEJPT1NUX1BQX0VNUFRZCisjIGRlZmluZSBCT09TVF9GVF9jb25kIEJPT1NUX0ZUX0NDX0lNUExJQ0lUX1RISVNDQUxMCisjIGlmIEJPT1NUX0ZUX2NvbmQKKyMgZGVmaW5lIEJPT1NUX0ZUX2NvbmZpZ192YWxpZCAxCisjIGluY2x1ZGUgQk9PU1RfRlRfY2NfZmlsZQorIyBlbmRpZgorIyB1bmRlZiBCT09TVF9GVF9jb25kCisjIHVuZGVmIEJPT1NUX0ZUX2NjX25hbWUKKyMgdW5kZWYgQk9PU1RfRlRfY2MKKyMgdW5kZWYgQk9PU1RfRlRfY2NfaWQKKyMgaWZuZGVmIEJPT1NUX0ZUX2NvbmZpZ192YWxpZAorIyBkZWZpbmUgQk9PU1RfRlRfY2NfaWQgMQorIyBkZWZpbmUgQk9PU1RfRlRfY2NfbmFtZSBpbXBsaWNpdF9jYworIyBkZWZpbmUgQk9PU1RfRlRfY2MgQk9PU1RfUFBfRU1QVFkKKyMgZGVmaW5lIEJPT1NUX0ZUX2NvbmQgMHgwMDAwMDAwMQorIyBpbmNsdWRlIEJPT1NUX0ZUX2NjX2ZpbGUKKyMgdW5kZWYgQk9PU1RfRlRfY29uZAorIyB1bmRlZiBCT09TVF9GVF9jY19uYW1lCisjIHVuZGVmIEJPT1NUX0ZUX2NjCisjIHVuZGVmIEJPT1NUX0ZUX2NjX2lkCisjIGVsc2UKKyMgdW5kZWYgQk9PU1RfRlRfY29uZmlnX3ZhbGlkCisjIGVuZGlmCmRpZmYgLS1naXQgYS9uZG5ib29zdC9mdW5jdGlvbl90eXBlcy9kZXRhaWwvcHBfbG9vcC5ocHAgYi9uZG5ib29zdC9mdW5jdGlvbl90eXBlcy9kZXRhaWwvcHBfbG9vcC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWNlNmFiNwotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L2Z1bmN0aW9uX3R5cGVzL2RldGFpbC9wcF9sb29wLmhwcApAQCAtMCwwICsxLDgwIEBACisKKy8vIChDKSBDb3B5cmlnaHQgVG9iaWFzIFNjaHdpbmdlcgorLy8KKy8vIFVzZSBtb2RpZmljYXRpb24gYW5kIGRpc3RyaWJ1dGlvbiBhcmUgc3ViamVjdCB0byB0aGUgYm9vc3QgU29mdHdhcmUgTGljZW5zZSwKKy8vIFZlcnNpb24gMS4wLiAoU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkuCisKKy8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKy8vIG5vIGluY2x1ZGUgZ3VhcmRzLCB0aGlzIGZpbGUgaXMgaW50ZW5kZWQgZm9yIG11bHRpcGxlIGluY2x1c2lvbnMKKworI2lmbmRlZiBCT09TVF9GVF9ERVRBSUxfUFBfTE9PUF9IUFBfSU5DTFVERUQKKyNkZWZpbmUgQk9PU1RfRlRfREVUQUlMX1BQX0xPT1BfSFBQX0lOQ0xVREVECisjICAgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL2ZhY2lsaXRpZXMvZXhwYW5kLmhwcD4KKyMgICBpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3IvZmFjaWxpdGllcy9lbXB0eS5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL3B1bmN0dWF0aW9uL3BhcmVuLmhwcD4KKyNlbmRpZgorCisjaW5jbHVkZSA8bmRuYm9vc3QvZnVuY3Rpb25fdHlwZXMvZGV0YWlsL2VuY29kaW5nL2RlZi5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvZnVuY3Rpb25fdHlwZXMvZGV0YWlsL2VuY29kaW5nL2FsaWFzZXNfZGVmLmhwcD4KKworI2lmIGRlZmluZWQoQk9PU1RfRlRfUFJFUFJPQ0VTU0lOR19NT0RFKQorIyAgIGRlZmluZSBCT09TVF9GVF9sb29wIDxuZG5ib29zdC9mdW5jdGlvbl90eXBlcy9kZXRhaWwvcHBfY2NfbG9vcC9tYXN0ZXIuaHBwPgorI2Vsc2UKKyMgICBkZWZpbmUgQk9PU1RfRlRfbG9vcCBcCisgICAgICAgIDxuZG5ib29zdC9mdW5jdGlvbl90eXBlcy9kZXRhaWwvcHBfY2NfbG9vcC9wcmVwcm9jZXNzZWQuaHBwPgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKEJPT1NUX0ZUX2FsX3BhdGgpCisKKyMgICBkZWZpbmUgQk9PU1RfRlRfY2NfZmlsZSBcCisgICAgICAgIDxuZG5ib29zdC9mdW5jdGlvbl90eXBlcy9kZXRhaWwvcHBfdmFyaWF0ZV9sb29wL3ByZXByb2Nlc3NlZC5ocHA+CisjICAgZGVmaW5lIEJPT1NUX0ZUX3ZhcmlhdGVfZmlsZSBcCisgICAgICAgIDxuZG5ib29zdC9mdW5jdGlvbl90eXBlcy9kZXRhaWwvcHBfYXJpdHlfbG9vcC5ocHA+CisKKyMgICBpZm5kZWYgQk9PU1RfRlRfdHlwZV9mdW5jdGlvbgorIyAgIGRlZmluZSBCT09TVF9GVF90eXBlX2Z1bmN0aW9uKGNjLG5hbWUpIEJPT1NUX0ZUX1NZTlRBWCggXAorICAgICAgUiBCT09TVF9QUF9FTVBUWSxCT09TVF9QUF9FTVBUWSxjYyxCT09TVF9QUF9FTVBUWSxuYW1lLEJPT1NUX1BQX0VNUFRZKQorIyAgIGVuZGlmCisjICAgaWZuZGVmIEJPT1NUX0ZUX3R5cGVfZnVuY3Rpb25fcG9pbnRlcgorIyAgIGRlZmluZSBCT09TVF9GVF90eXBlX2Z1bmN0aW9uX3BvaW50ZXIoY2MsbmFtZSkgQk9PU1RfRlRfU1lOVEFYKCBcCisgICAgICBSIEJPT1NUX1BQX0VNUFRZLEJPT1NUX1BQX0xQQVJFTixjYywqIEJPT1NUX1BQX0VNUFRZLG5hbWUsQk9PU1RfUFBfUlBBUkVOKQorIyAgIGVuZGlmCisjICAgaWZuZGVmIEJPT1NUX0ZUX3R5cGVfZnVuY3Rpb25fcmVmZXJlbmNlCisjICAgZGVmaW5lIEJPT1NUX0ZUX3R5cGVfZnVuY3Rpb25fcmVmZXJlbmNlKGNjLG5hbWUpIEJPT1NUX0ZUX1NZTlRBWCggXAorICAgICAgUiBCT09TVF9QUF9FTVBUWSxCT09TVF9QUF9MUEFSRU4sY2MsJiBCT09TVF9QUF9FTVBUWSxuYW1lLEJPT1NUX1BQX1JQQVJFTikKKyMgICBlbmRpZgorIyAgIGlmbmRlZiBCT09TVF9GVF90eXBlX21lbWJlcl9mdW5jdGlvbl9wb2ludGVyCisjICAgZGVmaW5lIEJPT1NUX0ZUX3R5cGVfbWVtYmVyX2Z1bmN0aW9uX3BvaW50ZXIoY2MsbmFtZSkgQk9PU1RfRlRfU1lOVEFYKCBcCisgICAgICBSIEJPT1NUX1BQX0VNUFRZLEJPT1NUX1BQX0xQQVJFTixjYyxUMDo6KiBCT09TVF9QUF9FTVBUWSxuYW1lLEJPT1NUX1BQX1JQQVJFTikKKyMgICBlbmRpZgorCisjICAgaW5jbHVkZSBCT09TVF9GVF9sb29wCisKKyMgICB1bmRlZiBCT09TVF9GVF90eXBlX2Z1bmN0aW9uCisjICAgdW5kZWYgQk9PU1RfRlRfdHlwZV9mdW5jdGlvbl9wb2ludGVyCisjICAgdW5kZWYgQk9PU1RfRlRfdHlwZV9mdW5jdGlvbl9yZWZlcmVuY2UKKyMgICB1bmRlZiBCT09TVF9GVF90eXBlX21lbWJlcl9mdW5jdGlvbl9wb2ludGVyCisKKyMgICB1bmRlZiBCT09TVF9GVF92YXJpYXRpb25zCisjICAgdW5kZWYgQk9PU1RfRlRfdmFyaWF0ZV9maWxlCisjICAgdW5kZWYgQk9PU1RfRlRfY2NfZmlsZQorIyAgIHVuZGVmIEJPT1NUX0ZUX2FsX3BhdGgKKworI2VsaWYgZGVmaW5lZChCT09TVF9GVF9jY19maWxlKQorCisjICAgaW5jbHVkZSBCT09TVF9GVF9sb29wCisjICAgdW5kZWYgQk9PU1RfRlRfY2NfZmlsZQorCisjZWxzZQorCisjICAgZXJyb3IgImFyZ3VtZW50IG1pc3NpbmciCisKKyNlbmRpZgorCisjdW5kZWYgQk9PU1RfRlRfbG9vcAorCisjaW5jbHVkZSA8bmRuYm9vc3QvZnVuY3Rpb25fdHlwZXMvZGV0YWlsL2VuY29kaW5nL2FsaWFzZXNfdW5kZWYuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L2Z1bmN0aW9uX3R5cGVzL2RldGFpbC9lbmNvZGluZy91bmRlZi5ocHA+CisKKwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvZnVuY3Rpb25fdHlwZXMvZGV0YWlsL3BwX3JldGFnX2RlZmF1bHRfY2MvbWFzdGVyLmhwcCBiL25kbmJvb3N0L2Z1bmN0aW9uX3R5cGVzL2RldGFpbC9wcF9yZXRhZ19kZWZhdWx0X2NjL21hc3Rlci5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmIwZjJmOAotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L2Z1bmN0aW9uX3R5cGVzL2RldGFpbC9wcF9yZXRhZ19kZWZhdWx0X2NjL21hc3Rlci5ocHAKQEAgLTAsMCArMSwxMDMgQEAKKworLy8gKEMpIENvcHlyaWdodCBUb2JpYXMgU2Nod2luZ2VyCisvLworLy8gVXNlIG1vZGlmaWNhdGlvbiBhbmQgZGlzdHJpYnV0aW9uIGFyZSBzdWJqZWN0IHRvIHRoZSBib29zdCBTb2Z0d2FyZSBMaWNlbnNlLAorLy8gVmVyc2lvbiAxLjAuIChTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KS4KKworLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworLy8gbm8gaW5jbHVkZSBndWFyZHMsIHRoaXMgZmlsZSBpcyBndWFyZGVkIGV4dGVybmFsbHkKKworI2lmZGVmIF9fV0FWRV9fCisvLyB0aGlzIGZpbGUgaGFzIGJlZW4gZ2VuZXJhdGVkIGZyb20gdGhlIG1hc3Rlci5ocHAgZmlsZSBpbiB0aGUgc2FtZSBkaXJlY3RvcnkKKyMgICBwcmFnbWEgd2F2ZSBvcHRpb24ocHJlc2VydmU6IDApCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEJPT1NUX1BQX1ZBTFVFKQorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9zbG90L3Nsb3QuaHBwPgorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9pdGVyYXRpb24vc2VsZi5ocHA+CisKKyMgICBpbmNsdWRlIDxuZG5ib29zdC9mdW5jdGlvbl90eXBlcy9kZXRhaWwvZW5jb2RpbmcvZGVmLmhwcD4KKyMgICBpbmNsdWRlIDxuZG5ib29zdC9mdW5jdGlvbl90eXBlcy9kZXRhaWwvZW5jb2RpbmcvYWxpYXNlc19kZWYuaHBwPgorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgZnVuY3Rpb25fdHlwZXMgeworCituYW1lc3BhY2UgZGV0YWlsCit7CisgIHRlbXBsYXRlPGNsYXNzIFRhZywgY2xhc3MgUmVmVGFnPiBzdHJ1Y3Qgc2VsZWN0b3JfYml0cworICB7CisjICAgZGVmaW5lICBCT09TVF9QUF9WQUxVRSBub25fbWVtYmVyfG1lbWJlcnxub25fdmFyaWFkaWN8dmFyaWFkaWMKKyMgICBpbmNsdWRlIEJPT1NUX1BQX0FTU0lHTl9TTE9UKDEpCisKKyAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoYml0c190LCB2YWx1ZSA9ICgKKyAgICAgICAgKDo6bmRuYm9vc3Q6OmZ1bmN0aW9uX3R5cGVzOjpkZXRhaWw6OmJpdHM8VGFnPjo6dmFsdWUgJiBCT09TVF9GVF9kZWZhdWx0X2NjKSAKKyAgICAgIHwgKDo6bmRuYm9vc3Q6OmZ1bmN0aW9uX3R5cGVzOjpkZXRhaWw6OmJpdHM8UmVmVGFnPjo6dmFsdWUgJiBCT09TVF9QUF9TTE9UKDEpKQorICAgICkpOworICB9OworCisgIHRlbXBsYXRlPGJpdHNfdCBTZWxlY3RvckJpdHM+IHN0cnVjdCBkZWZhdWx0X2NjX3RhZzsgCisgIAorICB0ZW1wbGF0ZTxjbGFzcyBUYWcsIGNsYXNzIFJlZlRhZz4gc3RydWN0IHJldGFnX2RlZmF1bHRfY2MKKyAgICA6IGRldGFpbDo6Y29tcG91bmRfdGFnCisgICAgICA8IFRhZywgZGV0YWlsOjpkZWZhdWx0X2NjX3RhZzwgCisgICAgICAgICAgOjpuZG5ib29zdDo6ZnVuY3Rpb25fdHlwZXM6OmRldGFpbDo6c2VsZWN0b3JfYml0czxUYWcsUmVmVGFnPjo6dmFsdWUgPiA+CisgIHsgfTsKKworICB0ZW1wbGF0ZTxiaXRzX3QgU2VsZWN0b3JCaXRzPiBzdHJ1Y3QgZGVmYXVsdF9jY190YWcKKyAgeworICAgIHR5cGVkZWYgbnVsbF90YWc6OmJpdHMgYml0czsKKyAgICB0eXBlZGVmIG51bGxfdGFnOjptYXNrIG1hc2s7CisgIH07CisKKyAgY2xhc3MgdGVzdF9jbGFzczsKKyAgdHlwZWRlZiBjb25zdGFudDxCT09TVF9GVF9jY19tYXNrPiBjY19tYXNrX2NvbnN0YW50OworCisjICAgZGVmaW5lIEJPT1NUX0ZUX3NlbGYgXAorICAgICAgPG5kbmJvb3N0L2Z1bmN0aW9uX3R5cGVzL2RldGFpbC9wcF9yZXRhZ19kZWZhdWx0X2NjL21hc3Rlci5ocHA+CisKKyMgICBkZWZpbmUgIGRlZmF1bHRfY2NfIEJPT1NUX0ZUX2RlZmF1bHRfY2MKKworIyAgIGRlZmluZSAgQk9PU1RfUFBfVkFMVUUgZGVmYXVsdF9jY198bm9uX21lbWJlcnxub25fdmFyaWFkaWMKKyMgICBkZWZpbmUgIEJPT1NUX0ZUX3Rlc3RlciB2b2lkICgqdGVzdGVyKSgpCisjICAgZGVmaW5lICBCT09TVF9QUF9JTkRJUkVDVF9TRUxGIEJPT1NUX0ZUX3NlbGYKKyMgICBpbmNsdWRlIEJPT1NUX1BQX0lOQ0xVREVfU0VMRigpCisKKyMgICBkZWZpbmUgIEJPT1NUX1BQX1ZBTFVFIGRlZmF1bHRfY2NffG5vbl9tZW1iZXJ8dmFyaWFkaWMKKyMgICBkZWZpbmUgIEJPT1NUX0ZUX3Rlc3RlciB2b2lkICgqdGVzdGVyKSguLi4pCisjICAgZGVmaW5lICBCT09TVF9QUF9JTkRJUkVDVF9TRUxGIEJPT1NUX0ZUX3NlbGYKKyMgICBpbmNsdWRlIEJPT1NUX1BQX0lOQ0xVREVfU0VMRigpCisKKyMgICBkZWZpbmUgIEJPT1NUX1BQX1ZBTFVFIGRlZmF1bHRfY2NffG1lbWJlcnxub25fdmFyaWFkaWMKKyMgICBkZWZpbmUgIEJPT1NUX0ZUX3Rlc3RlciB2b2lkICh0ZXN0X2NsYXNzOjoqdGVzdGVyKSgpCisjICAgZGVmaW5lICBCT09TVF9QUF9JTkRJUkVDVF9TRUxGIEJPT1NUX0ZUX3NlbGYKKyMgICBpbmNsdWRlIEJPT1NUX1BQX0lOQ0xVREVfU0VMRigpCisKKyMgICBkZWZpbmUgIEJPT1NUX1BQX1ZBTFVFIGRlZmF1bHRfY2NffG1lbWJlcnx2YXJpYWRpYworIyAgIGRlZmluZSAgQk9PU1RfRlRfdGVzdGVyIHZvaWQgKHRlc3RfY2xhc3M6Oip0ZXN0ZXIpKC4uLikKKyMgICBkZWZpbmUgIEJPT1NUX1BQX0lORElSRUNUX1NFTEYgQk9PU1RfRlRfc2VsZgorIyAgIGluY2x1ZGUgQk9PU1RfUFBfSU5DTFVERV9TRUxGKCkKKworIyAgIHVuZGVmICAgZGVmYXVsdF9jY18KKworIyAgIHVuZGVmIEJPT1NUX0ZUX3NlbGYKKworfSB9IH0gLy8gbmFtZXNwYWNlIDo6bmRuYm9vc3Q6OmZ1bmN0aW9uX3R5cGVzOjpkZXRhaWwKKworIyAgIGluY2x1ZGUgPG5kbmJvb3N0L2Z1bmN0aW9uX3R5cGVzL2RldGFpbC9lbmNvZGluZy9hbGlhc2VzX3VuZGVmLmhwcD4KKyMgICBpbmNsdWRlIDxuZG5ib29zdC9mdW5jdGlvbl90eXBlcy9kZXRhaWwvZW5jb2RpbmcvdW5kZWYuaHBwPgorCisjZWxzZSAvLyBpZiBkZWZpbmVkKEJPT1NUX1BQX1ZBTFVFKQorCisjICAgaW5jbHVkZSBCT09TVF9QUF9BU1NJR05fU0xPVCgxKQorCisgIHRlbXBsYXRlPD4gc3RydWN0IGRlZmF1bHRfY2NfdGFnPEJPT1NUX1BQX1NMT1QoMSk+IAorICB7CisgICAgdHlwZWRlZiBCT09TVF9GVF90ZXN0ZXI7CisgICAgdHlwZWRlZiBtcGw6OmJpdGFuZF88Y29tcG9uZW50czx0ZXN0ZXI+OjpiaXRzLGNjX21hc2tfY29uc3RhbnQ+IGJpdHM7CisgICAgdHlwZWRlZiBjY19tYXNrX2NvbnN0YW50IG1hc2s7CisgIH07CisKKyMgICB1bmRlZiBCT09TVF9GVF90ZXN0ZXIKKworI2VuZGlmCisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L2Z1bmN0aW9uX3R5cGVzL2RldGFpbC9wcF9yZXRhZ19kZWZhdWx0X2NjL3ByZXByb2Nlc3NlZC5ocHAgYi9uZG5ib29zdC9mdW5jdGlvbl90eXBlcy9kZXRhaWwvcHBfcmV0YWdfZGVmYXVsdF9jYy9wcmVwcm9jZXNzZWQuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBjMGM3YWIKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9mdW5jdGlvbl90eXBlcy9kZXRhaWwvcHBfcmV0YWdfZGVmYXVsdF9jYy9wcmVwcm9jZXNzZWQuaHBwCkBAIC0wLDAgKzEsNTkgQEAKKworLy8gKEMpIENvcHlyaWdodCBUb2JpYXMgU2Nod2luZ2VyCisvLworLy8gVXNlIG1vZGlmaWNhdGlvbiBhbmQgZGlzdHJpYnV0aW9uIGFyZSBzdWJqZWN0IHRvIHRoZSBib29zdCBTb2Z0d2FyZSBMaWNlbnNlLAorLy8gVmVyc2lvbiAxLjAuIChTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KS4KKworLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworLy8gbm8gaW5jbHVkZSBndWFyZHMsIHRoaXMgZmlsZSBpcyBndWFyZGVkIGV4dGVybmFsbHkKKworLy8gdGhpcyBmaWxlIGhhcyBiZWVuIGdlbmVyYXRlZCBmcm9tIHRoZSBtYXN0ZXIuaHBwIGZpbGUgaW4gdGhlIHNhbWUgZGlyZWN0b3J5CituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgZnVuY3Rpb25fdHlwZXMgeworbmFtZXNwYWNlIGRldGFpbAorewordGVtcGxhdGU8Y2xhc3MgVGFnLCBjbGFzcyBSZWZUYWc+IHN0cnVjdCBzZWxlY3Rvcl9iaXRzCit7CitCT09TVF9TVEFUSUNfQ09OU1RBTlQoYml0c190LCB2YWx1ZSA9ICgKKyg6Om5kbmJvb3N0OjpmdW5jdGlvbl90eXBlczo6ZGV0YWlsOjpiaXRzPFRhZz4gOjp2YWx1ZSAmIDB4MDAwMDgwMDApIAorfCAoOjpuZG5ib29zdDo6ZnVuY3Rpb25fdHlwZXM6OmRldGFpbDo6Yml0czxSZWZUYWc+IDo6dmFsdWUgJiA4MDIpCispKTsKK307Cit0ZW1wbGF0ZTxiaXRzX3QgU2VsZWN0b3JCaXRzPiBzdHJ1Y3QgZGVmYXVsdF9jY190YWc7IAordGVtcGxhdGU8Y2xhc3MgVGFnLCBjbGFzcyBSZWZUYWc+IHN0cnVjdCByZXRhZ19kZWZhdWx0X2NjCis6IGRldGFpbDo6Y29tcG91bmRfdGFnCis8IFRhZywgZGV0YWlsOjpkZWZhdWx0X2NjX3RhZzwgCis6Om5kbmJvb3N0OjpmdW5jdGlvbl90eXBlczo6ZGV0YWlsOjpzZWxlY3Rvcl9iaXRzPFRhZyxSZWZUYWc+IDo6dmFsdWUgPiA+Cit7IH07Cit0ZW1wbGF0ZTxiaXRzX3QgU2VsZWN0b3JCaXRzPiBzdHJ1Y3QgZGVmYXVsdF9jY190YWcKK3sKK3R5cGVkZWYgbnVsbF90YWc6OmJpdHMgYml0czsKK3R5cGVkZWYgbnVsbF90YWc6Om1hc2sgbWFzazsKK307CitjbGFzcyB0ZXN0X2NsYXNzOwordHlwZWRlZiBjb25zdGFudDwweDAwZmY4MDAwPiBjY19tYXNrX2NvbnN0YW50OwordGVtcGxhdGU8ID4gc3RydWN0IGRlZmF1bHRfY2NfdGFnPDMzMjgyPiAKK3sKK3R5cGVkZWYgdm9pZCAoICp0ZXN0ZXIpKCk7Cit0eXBlZGVmIG1wbDo6Yml0YW5kXzxjb21wb25lbnRzPHRlc3Rlcj4gOjpiaXRzLGNjX21hc2tfY29uc3RhbnQ+IGJpdHM7Cit0eXBlZGVmIGNjX21hc2tfY29uc3RhbnQgbWFzazsKK307Cit0ZW1wbGF0ZTwgPiBzdHJ1Y3QgZGVmYXVsdF9jY190YWc8MzMwMjY+IAorewordHlwZWRlZiB2b2lkICggKnRlc3RlcikoIC4uLiApOwordHlwZWRlZiBtcGw6OmJpdGFuZF88Y29tcG9uZW50czx0ZXN0ZXI+IDo6Yml0cyxjY19tYXNrX2NvbnN0YW50PiBiaXRzOwordHlwZWRlZiBjY19tYXNrX2NvbnN0YW50IG1hc2s7Cit9OwordGVtcGxhdGU8ID4gc3RydWN0IGRlZmF1bHRfY2NfdGFnPDMzMzEyPiAKK3sKK3R5cGVkZWYgdm9pZCAodGVzdF9jbGFzczo6ICp0ZXN0ZXIpKCk7Cit0eXBlZGVmIG1wbDo6Yml0YW5kXzxjb21wb25lbnRzPHRlc3Rlcj4gOjpiaXRzLGNjX21hc2tfY29uc3RhbnQ+IGJpdHM7Cit0eXBlZGVmIGNjX21hc2tfY29uc3RhbnQgbWFzazsKK307Cit0ZW1wbGF0ZTwgPiBzdHJ1Y3QgZGVmYXVsdF9jY190YWc8MzMwNTY+IAorewordHlwZWRlZiB2b2lkICh0ZXN0X2NsYXNzOjogKnRlc3RlcikoIC4uLiApOwordHlwZWRlZiBtcGw6OmJpdGFuZF88Y29tcG9uZW50czx0ZXN0ZXI+IDo6Yml0cyxjY19tYXNrX2NvbnN0YW50PiBiaXRzOwordHlwZWRlZiBjY19tYXNrX2NvbnN0YW50IG1hc2s7Cit9OworfSB9IH0gCmRpZmYgLS1naXQgYS9uZG5ib29zdC9mdW5jdGlvbl90eXBlcy9kZXRhaWwvcHBfdGFncy9jY190YWcuaHBwIGIvbmRuYm9vc3QvZnVuY3Rpb25fdHlwZXMvZGV0YWlsL3BwX3RhZ3MvY2NfdGFnLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MWYxZDg5Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvZnVuY3Rpb25fdHlwZXMvZGV0YWlsL3BwX3RhZ3MvY2NfdGFnLmhwcApAQCAtMCwwICsxLDE3IEBACisKKy8vIChDKSBDb3B5cmlnaHQgVG9iaWFzIFNjaHdpbmdlcgorLy8KKy8vIFVzZSBtb2RpZmljYXRpb24gYW5kIGRpc3RyaWJ1dGlvbiBhcmUgc3ViamVjdCB0byB0aGUgYm9vc3QgU29mdHdhcmUgTGljZW5zZSwKKy8vIFZlcnNpb24gMS4wLiAoU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkuCisKKy8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKy8vIG5vIGluY2x1ZGUgZ3VhcmRzLCB0aGlzIGZpbGUgaXMgaW50ZW5kZWQgZm9yIG11bHRpcGxlIGluY2x1c2lvbnMKKworICBzdHJ1Y3QgQk9PU1RfRlRfY2NfbmFtZQorICB7CisgICAgdHlwZWRlZiBkZXRhaWw6OmVuY29kZV9iaXRzPDAsQk9PU1RfRlRfY2NfaWQ+IGJpdHM7CisgICAgdHlwZWRlZiBkZXRhaWw6OmNvbnN0YW50PEJPT1NUX0ZUX2NjX21hc2s+IG1hc2s7CisgIH07CisKKwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvZnVuY3Rpb25fdHlwZXMvZGV0YWlsL3BwX3RhZ3MvbWFzdGVyLmhwcCBiL25kbmJvb3N0L2Z1bmN0aW9uX3R5cGVzL2RldGFpbC9wcF90YWdzL21hc3Rlci5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGQ0NWVhNAotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L2Z1bmN0aW9uX3R5cGVzL2RldGFpbC9wcF90YWdzL21hc3Rlci5ocHAKQEAgLTAsMCArMSwxMjYgQEAKKworLy8gKEMpIENvcHlyaWdodCBUb2JpYXMgU2Nod2luZ2VyCisvLworLy8gVXNlIG1vZGlmaWNhdGlvbiBhbmQgZGlzdHJpYnV0aW9uIGFyZSBzdWJqZWN0IHRvIHRoZSBib29zdCBTb2Z0d2FyZSBMaWNlbnNlLAorLy8gVmVyc2lvbiAxLjAuIChTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KS4KKworLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworLy8gbm8gaW5jbHVkZSBndWFyZHMsIHRoaXMgZmlsZSBpcyBndWFyZGVkIGV4dGVybmFsbHkKKworI2lmZGVmIF9fV0FWRV9fCisvLyB0aGlzIGZpbGUgaGFzIGJlZW4gZ2VuZXJhdGVkIGZyb20gdGhlIG1hc3Rlci5ocHAgZmlsZSBpbiB0aGUgc2FtZSBkaXJlY3RvcnkKKyMgICBwcmFnbWEgd2F2ZSBvcHRpb24ocHJlc2VydmU6IDApCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEJPT1NUX0ZUX1BSRVBST0NFU1NJTkdfTU9ERSkgfHwgZGVmaW5lZChCT09TVF9GVF9DT05GSUdfSFBQX0lOQ0xVREVEKQorIyAgIGVycm9yICJ0aGlzIGZpbGUgdXNlZCB3aXRoIHR3by1wYXNzIHByZXByb2Nlc3NpbmcsIG9ubHkiCisjZW5kaWYKKworI2luY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9zbG90L3Nsb3QuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L2Z1bmN0aW9uX3R5cGVzL2RldGFpbC9lbmNvZGluZy9kZWYuaHBwPgorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgZnVuY3Rpb25fdHlwZXMgeworCit0eXBlZGVmIGRldGFpbDo6cHJvcGVydHlfdGFnPEJPT1NUX0ZUX25vbl92YXJpYWRpYyxCT09TVF9GVF92YXJpYWRpY19tYXNrPiBub25fdmFyaWFkaWM7Cit0eXBlZGVmIGRldGFpbDo6cHJvcGVydHlfdGFnPEJPT1NUX0ZUX3ZhcmlhZGljLEJPT1NUX0ZUX3ZhcmlhZGljX21hc2s+ICAgICB2YXJpYWRpYzsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCit0eXBlZGVmIGRldGFpbDo6cHJvcGVydHlfdGFnPDAsQk9PU1RfRlRfY29uc3Q+ICAgICAgICAgICAgICAgICAgICAgbm9uX2NvbnN0OwordHlwZWRlZiBkZXRhaWw6OnByb3BlcnR5X3RhZzxCT09TVF9GVF9jb25zdCxCT09TVF9GVF9jb25zdD4gICAgICAgIGNvbnN0X3F1YWxpZmllZDsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCit0eXBlZGVmIGRldGFpbDo6cHJvcGVydHlfdGFnPDAsQk9PU1RfRlRfdm9sYXRpbGU+ICAgICAgICAgICAgICAgICAgbm9uX3ZvbGF0aWxlOwordHlwZWRlZiBkZXRhaWw6OnByb3BlcnR5X3RhZzxCT09TVF9GVF92b2xhdGlsZSxCT09TVF9GVF92b2xhdGlsZT4gIHZvbGF0aWxlX3F1YWxpZmllZDsgCisKK3R5cGVkZWYgZGV0YWlsOjpwcm9wZXJ0eV90YWc8Qk9PU1RfRlRfZGVmYXVsdF9jYyxCT09TVF9GVF9jY19tYXNrPiBkZWZhdWx0X2NjOworCisjZGVmaW5lIEJPT1NUX1BQX1ZBTFVFIEJPT1NUX0ZUX2NvbnN0fEJPT1NUX0ZUX3ZvbGF0aWxlIAorI2luY2x1ZGUgQk9PU1RfUFBfQVNTSUdOX1NMT1QoMSkKKwordHlwZWRlZiBkZXRhaWw6OnByb3BlcnR5X3RhZzwwICAgICAgICAgICAgICAgICwgQk9PU1RfUFBfU0xPVCgxKT4gbm9uX2N2OwordHlwZWRlZiBkZXRhaWw6OnByb3BlcnR5X3RhZzxCT09TVF9GVF9jb25zdCAgICwgQk9PU1RfUFBfU0xPVCgxKT4gY29uc3Rfbm9uX3ZvbGF0aWxlOwordHlwZWRlZiBkZXRhaWw6OnByb3BlcnR5X3RhZzxCT09TVF9GVF92b2xhdGlsZSwgQk9PU1RfUFBfU0xPVCgxKT4gdm9sYXRpbGVfbm9uX2NvbnN0OwordHlwZWRlZiBkZXRhaWw6OnByb3BlcnR5X3RhZzxCT09TVF9QUF9TTE9UKDEpICwgQk9PU1RfUFBfU0xPVCgxKT4gY3ZfcXVhbGlmaWVkOworCituYW1lc3BhY2UgZGV0YWlsIHsKKworICB0eXBlZGVmIGNvbnN0YW50PEJPT1NUX0ZUX2Z1bGxfbWFzaz4gZnVsbF9tYXNrOworCisgIHRlbXBsYXRlIDxiaXRzX3QgRmxhZ3MsIGJpdHNfdCBDQ0lEPiBzdHJ1Y3QgZW5jb2RlX2JpdHNfaW1wbAorICB7CisgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKCBiaXRzX3QsIHZhbHVlID0gCisgICAgICBGbGFncyB8IChCT09TVF9GVF9kZWZhdWx0X2NjICogQ0NJRCkgPDwgMSApOworICB9OworCisgIHRlbXBsYXRlIDxiaXRzX3QgRmxhZ3MsIGJpdHNfdCBDQ0lELCBzdGQ6OnNpemVfdCBBcml0eT4gCisgIHN0cnVjdCBlbmNvZGVfY2hhcnJfaW1wbAorICB7CisgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKHN0ZDo6c2l6ZV90LCB2YWx1ZSA9IChzdGQ6OnNpemVfdCkoMSsKKyAgICAgIEZsYWdzIHwgKEJPT1NUX0ZUX2RlZmF1bHRfY2MgKiBDQ0lEKSA8PCAxIHwgQXJpdHkgPDwgQk9PU1RfRlRfYXJpdHlfc2hpZnQKKyAgICApKTsKKyAgfTsKKworICB0ZW1wbGF0ZSA8Yml0c190IEJpdHM+IHN0cnVjdCBkZWNvZGVfYml0cworICB7CisgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGJpdHNfdCwgZmxhZ3MgPSBCaXRzICYgQk9PU1RfRlRfZmxhZ3NfbWFzayk7CisKKyAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoYml0c190LCBjY19pZCA9IAorICAgICAgKCAoQml0cyAmIEJPT1NUX0ZUX2Z1bGxfbWFzaykgLyBCT09TVF9GVF9kZWZhdWx0X2NjKSA+PiAxIAorICAgICk7CisKKyAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoYml0c190LCB0YWdfYml0cyA9IChCaXRzICYgQk9PU1RfRlRfZnVsbF9tYXNrKSk7CisKKyAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoc3RkOjpzaXplX3QsIGFyaXR5ID0gKHN0ZDo6c2l6ZV90KQorICAgICAgKEJpdHMgPj4gQk9PU1RfRlRfYXJpdHlfc2hpZnQpIAorICAgICk7CisgIH07CisKKyAgdGVtcGxhdGUgPGJpdHNfdCBMSFNfYml0cywgYml0c190IExIU19tYXNrLCBiaXRzX3QgUkhTX2JpdHMsIGJpdHNfdCBSSFNfbWFzaz4KKyAgc3RydWN0IHRhZ19pY2UKKyAgeworICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChib29sLCBtYXRjaCA9CisgICAgICBSSFNfYml0cyA9PSAoTEhTX2JpdHMgJiBSSFNfbWFzayAmIChSSFNfYml0cyB8fkJPT1NUX0ZUX3R5cGVfbWFzaykpCisgICAgKTsKKworICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChiaXRzX3QsIGNvbWJpbmVkX2JpdHMgPSAKKyAgICAgIChMSFNfYml0cyAmIH5SSFNfbWFzaykgfCBSSFNfYml0cworICAgICk7CisKKyAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoYml0c190LCBjb21iaW5lZF9tYXNrID0KKyAgICAgIExIU19tYXNrIHwgUkhTX21hc2sKKyAgICApOworCisgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGJpdHNfdCwgZXh0cmFjdGVkX2JpdHMgPQorICAgICAgTEhTX2JpdHMgJiBSSFNfbWFzaworICAgICk7CisKKyAgfTsKKworI2RlZmluZSBCT09TVF9GVF9tYXNrIEJPT1NUX0ZUX3R5cGVfbWFzaworICB0eXBlZGVmIHByb3BlcnR5X3RhZzxCT09TVF9GVF9jYWxsYWJsZV9idWlsdGluLEJPT1NUX0ZUX21hc2s+ICAgICAgICAgICAgY2FsbGFibGVfYnVpbHRpbl90YWc7CisgIHR5cGVkZWYgcHJvcGVydHlfdGFnPEJPT1NUX0ZUX25vbl9tZW1iZXJfY2FsbGFibGVfYnVpbHRpbixCT09TVF9GVF9tYXNrPiBub25tZW1iZXJfY2FsbGFibGVfYnVpbHRpbl90YWc7CisgIHR5cGVkZWYgcHJvcGVydHlfdGFnPEJPT1NUX0ZUX2Z1bmN0aW9uLEJPT1NUX0ZUX21hc2s+ICAgICAgIGZ1bmN0aW9uX3RhZzsKKyAgdHlwZWRlZiBwcm9wZXJ0eV90YWc8Qk9PU1RfRlRfcmVmZXJlbmNlLEJPT1NUX0ZUX21hc2s+ICAgICAgcmVmZXJlbmNlX3RhZzsKKyAgdHlwZWRlZiBwcm9wZXJ0eV90YWc8Qk9PU1RfRlRfcG9pbnRlcixCT09TVF9GVF9tYXNrPiAgICAgICAgcG9pbnRlcl90YWc7CisgIHR5cGVkZWYgcHJvcGVydHlfdGFnPEJPT1NUX0ZUX21lbWJlcl9mdW5jdGlvbl9wb2ludGVyLEJPT1NUX0ZUX21hc2s+IG1lbWJlcl9mdW5jdGlvbl9wb2ludGVyX3RhZzsKKyAgdHlwZWRlZiBwcm9wZXJ0eV90YWc8Qk9PU1RfRlRfbWVtYmVyX29iamVjdF9wb2ludGVyLEJPT1NUX0ZUX21hc2s+IG1lbWJlcl9vYmplY3RfcG9pbnRlcl90YWc7CisgIHR5cGVkZWYgcHJvcGVydHlfdGFnPEJPT1NUX0ZUX21lbWJlcl9vYmplY3RfcG9pbnRlcl9mbGFncyxCT09TVF9GVF9mdWxsX21hc2s+IG1lbWJlcl9vYmplY3RfcG9pbnRlcl9iYXNlOworICB0eXBlZGVmIHByb3BlcnR5X3RhZzxCT09TVF9GVF9tZW1iZXJfcG9pbnRlcixCT09TVF9GVF9tYXNrPiBtZW1iZXJfcG9pbnRlcl90YWc7CisjdW5kZWYgIEJPT1NUX0ZUX21hc2sgCisKKyNkZWZpbmUgQk9PU1RfUFBfVkFMVUUgQk9PU1RfRlRfZnVuY3Rpb258Qk9PU1RfRlRfbm9uX3ZhcmlhZGljfEJPT1NUX0ZUX2RlZmF1bHRfY2MKKyNpbmNsdWRlIEJPT1NUX1BQX0FTU0lHTl9TTE9UKDEpCisjZGVmaW5lIEJPT1NUX1BQX1ZBTFVFIEJPT1NUX0ZUX3R5cGVfbWFza3xCT09TVF9GVF92YXJpYWRpY19tYXNrfEJPT1NUX0ZUX2NjX21hc2sKKyNpbmNsdWRlIEJPT1NUX1BQX0FTU0lHTl9TTE9UKDIpCisKKyAgdHlwZWRlZiBwcm9wZXJ0eV90YWc8IEJPT1NUX1BQX1NMT1QoMSkgLCBCT09TVF9QUF9TTE9UKDIpID4gbnZfZGNjX2Z1bmM7CisKKyNkZWZpbmUgQk9PU1RfUFBfVkFMVUUgXAorICAgIEJPT1NUX0ZUX21lbWJlcl9mdW5jdGlvbl9wb2ludGVyfEJPT1NUX0ZUX25vbl92YXJpYWRpY3xCT09TVF9GVF9kZWZhdWx0X2NjCisjaW5jbHVkZSBCT09TVF9QUF9BU1NJR05fU0xPVCgxKQorCisgIHR5cGVkZWYgcHJvcGVydHlfdGFnPCBCT09TVF9QUF9TTE9UKDEpICwgQk9PU1RfUFBfU0xPVCgyKSA+IG52X2RjY19tZnA7CisKK30gLy8gbmFtZXNwYWNlIGRldGFpbAorCit9IH0gLy8gbmFtZXNwYWNlIDo6bmRuYm9vc3Q6OmZ1bmN0aW9uX3R5cGVzCisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L2Z1bmN0aW9uX3R5cGVzL2RldGFpbC9wcF90YWdzL3ByZXByb2Nlc3NlZC5ocHAgYi9uZG5ib29zdC9mdW5jdGlvbl90eXBlcy9kZXRhaWwvcHBfdGFncy9wcmVwcm9jZXNzZWQuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhhYTFjMzYKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9mdW5jdGlvbl90eXBlcy9kZXRhaWwvcHBfdGFncy9wcmVwcm9jZXNzZWQuaHBwCkBAIC0wLDAgKzEsNzcgQEAKKworLy8gKEMpIENvcHlyaWdodCBUb2JpYXMgU2Nod2luZ2VyCisvLworLy8gVXNlIG1vZGlmaWNhdGlvbiBhbmQgZGlzdHJpYnV0aW9uIGFyZSBzdWJqZWN0IHRvIHRoZSBib29zdCBTb2Z0d2FyZSBMaWNlbnNlLAorLy8gVmVyc2lvbiAxLjAuIChTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KS4KKworLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworLy8gbm8gaW5jbHVkZSBndWFyZHMsIHRoaXMgZmlsZSBpcyBndWFyZGVkIGV4dGVybmFsbHkKKworLy8gdGhpcyBmaWxlIGhhcyBiZWVuIGdlbmVyYXRlZCBmcm9tIHRoZSBtYXN0ZXIuaHBwIGZpbGUgaW4gdGhlIHNhbWUgZGlyZWN0b3J5CituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgZnVuY3Rpb25fdHlwZXMgewordHlwZWRlZiBkZXRhaWw6OnByb3BlcnR5X3RhZzwweDAwMDAwMjAwLDB4MDAwMDAzMDA+IG5vbl92YXJpYWRpYzsKK3R5cGVkZWYgZGV0YWlsOjpwcm9wZXJ0eV90YWc8MHgwMDAwMDEwMCwweDAwMDAwMzAwPiB2YXJpYWRpYzsKK3R5cGVkZWYgZGV0YWlsOjpwcm9wZXJ0eV90YWc8MCwweDAwMDAwNDAwPiBub25fY29uc3Q7Cit0eXBlZGVmIGRldGFpbDo6cHJvcGVydHlfdGFnPDB4MDAwMDA0MDAsMHgwMDAwMDQwMD4gY29uc3RfcXVhbGlmaWVkOwordHlwZWRlZiBkZXRhaWw6OnByb3BlcnR5X3RhZzwwLDB4MDAwMDA4MDA+IG5vbl92b2xhdGlsZTsKK3R5cGVkZWYgZGV0YWlsOjpwcm9wZXJ0eV90YWc8MHgwMDAwMDgwMCwweDAwMDAwODAwPiB2b2xhdGlsZV9xdWFsaWZpZWQ7IAordHlwZWRlZiBkZXRhaWw6OnByb3BlcnR5X3RhZzwweDAwMDA4MDAwLDB4MDBmZjgwMDA+IGRlZmF1bHRfY2M7Cit0eXBlZGVmIGRldGFpbDo6cHJvcGVydHlfdGFnPDAgLCAzMDcyPiBub25fY3Y7Cit0eXBlZGVmIGRldGFpbDo6cHJvcGVydHlfdGFnPDB4MDAwMDA0MDAgLCAzMDcyPiBjb25zdF9ub25fdm9sYXRpbGU7Cit0eXBlZGVmIGRldGFpbDo6cHJvcGVydHlfdGFnPDB4MDAwMDA4MDAsIDMwNzI+IHZvbGF0aWxlX25vbl9jb25zdDsKK3R5cGVkZWYgZGV0YWlsOjpwcm9wZXJ0eV90YWc8MzA3MiAsIDMwNzI+IGN2X3F1YWxpZmllZDsKK25hbWVzcGFjZSBkZXRhaWwgewordHlwZWRlZiBjb25zdGFudDwweDAwZmYwZmZmPiBmdWxsX21hc2s7Cit0ZW1wbGF0ZSA8Yml0c190IEZsYWdzLCBiaXRzX3QgQ0NJRD4gc3RydWN0IGVuY29kZV9iaXRzX2ltcGwKK3sKK0JPT1NUX1NUQVRJQ19DT05TVEFOVCggYml0c190LCB2YWx1ZSA9IAorRmxhZ3MgfCAoMHgwMDAwODAwMCAqIENDSUQpIDw8IDEgKTsKK307Cit0ZW1wbGF0ZSA8Yml0c190IEZsYWdzLCBiaXRzX3QgQ0NJRCwgc3RkOjpzaXplX3QgQXJpdHk+IAorc3RydWN0IGVuY29kZV9jaGFycl9pbXBsCit7CitCT09TVF9TVEFUSUNfQ09OU1RBTlQoc3RkOjpzaXplX3QsIHZhbHVlID0gKHN0ZDo6c2l6ZV90KSgxKworRmxhZ3MgfCAoMHgwMDAwODAwMCAqIENDSUQpIDw8IDEgfCBBcml0eSA8PCAyNAorKSk7Cit9OwordGVtcGxhdGUgPGJpdHNfdCBCaXRzPiBzdHJ1Y3QgZGVjb2RlX2JpdHMKK3sKK0JPT1NUX1NUQVRJQ19DT05TVEFOVChiaXRzX3QsIGZsYWdzID0gQml0cyAmIDB4MDAwMDBmZmYpOworQk9PU1RfU1RBVElDX0NPTlNUQU5UKGJpdHNfdCwgY2NfaWQgPSAKKyggKEJpdHMgJiAweDAwZmYwZmZmKSAvIDB4MDAwMDgwMDApID4+IDEgCispOworQk9PU1RfU1RBVElDX0NPTlNUQU5UKGJpdHNfdCwgdGFnX2JpdHMgPSAoQml0cyAmIDB4MDBmZjBmZmYpKTsKK0JPT1NUX1NUQVRJQ19DT05TVEFOVChzdGQ6OnNpemVfdCwgYXJpdHkgPSAoc3RkOjpzaXplX3QpCisoQml0cyA+PiAyNCkgCispOworfTsKK3RlbXBsYXRlIDxiaXRzX3QgTEhTX2JpdHMsIGJpdHNfdCBMSFNfbWFzaywgYml0c190IFJIU19iaXRzLCBiaXRzX3QgUkhTX21hc2s+CitzdHJ1Y3QgdGFnX2ljZQoreworQk9PU1RfU1RBVElDX0NPTlNUQU5UKGJvb2wsIG1hdGNoID0KK1JIU19iaXRzID09IChMSFNfYml0cyAmIFJIU19tYXNrICYgKFJIU19iaXRzIHwgfjB4MDAwMDAwZmYpKQorKTsKK0JPT1NUX1NUQVRJQ19DT05TVEFOVChiaXRzX3QsIGNvbWJpbmVkX2JpdHMgPSAKKyhMSFNfYml0cyAmIH5SSFNfbWFzaykgfCBSSFNfYml0cworKTsKK0JPT1NUX1NUQVRJQ19DT05TVEFOVChiaXRzX3QsIGNvbWJpbmVkX21hc2sgPQorTEhTX21hc2sgfCBSSFNfbWFzaworKTsKK0JPT1NUX1NUQVRJQ19DT05TVEFOVChiaXRzX3QsIGV4dHJhY3RlZF9iaXRzID0KK0xIU19iaXRzICYgUkhTX21hc2sKKyk7Cit9OwordHlwZWRlZiBwcm9wZXJ0eV90YWc8MHgwMDAwMDAwMSwweDAwMDAwMGZmPiBjYWxsYWJsZV9idWlsdGluX3RhZzsKK3R5cGVkZWYgcHJvcGVydHlfdGFnPDB4MDAwMDAwMDMsMHgwMDAwMDBmZj4gbm9ubWVtYmVyX2NhbGxhYmxlX2J1aWx0aW5fdGFnOwordHlwZWRlZiBwcm9wZXJ0eV90YWc8MHgwMDAwMDAwNywweDAwMDAwMGZmPiBmdW5jdGlvbl90YWc7Cit0eXBlZGVmIHByb3BlcnR5X3RhZzwweDAwMDAwMDEzLDB4MDAwMDAwZmY+IHJlZmVyZW5jZV90YWc7Cit0eXBlZGVmIHByb3BlcnR5X3RhZzwweDAwMDAwMDBiLDB4MDAwMDAwZmY+IHBvaW50ZXJfdGFnOwordHlwZWRlZiBwcm9wZXJ0eV90YWc8MHgwMDAwMDA2MSwweDAwMDAwMGZmPiBtZW1iZXJfZnVuY3Rpb25fcG9pbnRlcl90YWc7Cit0eXBlZGVmIHByb3BlcnR5X3RhZzwweDAwMDAwMGEzLDB4MDAwMDAwZmY+IG1lbWJlcl9vYmplY3RfcG9pbnRlcl90YWc7Cit0eXBlZGVmIHByb3BlcnR5X3RhZzwweDAwMDAwMmEzLDB4MDBmZjBmZmY+IG1lbWJlcl9vYmplY3RfcG9pbnRlcl9iYXNlOwordHlwZWRlZiBwcm9wZXJ0eV90YWc8MHgwMDAwMDAyMCwweDAwMDAwMGZmPiBtZW1iZXJfcG9pbnRlcl90YWc7Cit0eXBlZGVmIHByb3BlcnR5X3RhZzwgMzMyODcgLCAxNjc0NTQ3MSA+IG52X2RjY19mdW5jOwordHlwZWRlZiBwcm9wZXJ0eV90YWc8IDMzMzc3ICwgMTY3NDU0NzEgPiBudl9kY2NfbWZwOworfSAKK30gfSAKZGlmZiAtLWdpdCBhL25kbmJvb3N0L2Z1bmN0aW9uX3R5cGVzL2RldGFpbC9wcF92YXJpYXRlX2xvb3AvbWFzdGVyLmhwcCBiL25kbmJvb3N0L2Z1bmN0aW9uX3R5cGVzL2RldGFpbC9wcF92YXJpYXRlX2xvb3AvbWFzdGVyLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNDUyMDE5Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvZnVuY3Rpb25fdHlwZXMvZGV0YWlsL3BwX3ZhcmlhdGVfbG9vcC9tYXN0ZXIuaHBwCkBAIC0wLDAgKzEsMTUyIEBACisKKy8vIChDKSBDb3B5cmlnaHQgVG9iaWFzIFNjaHdpbmdlcgorLy8KKy8vIFVzZSBtb2RpZmljYXRpb24gYW5kIGRpc3RyaWJ1dGlvbiBhcmUgc3ViamVjdCB0byB0aGUgYm9vc3QgU29mdHdhcmUgTGljZW5zZSwKKy8vIFZlcnNpb24gMS4wLiAoU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkuCisKKy8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKyNpZmRlZiBfX1dBVkVfXworLy8gdGhpcyBmaWxlIGhhcyBiZWVuIGdlbmVyYXRlZCBmcm9tIHRoZSBtYXN0ZXIuaHBwIGZpbGUgaW4gdGhlIHNhbWUgZGlyZWN0b3J5CisjICAgcHJhZ21hIHdhdmUgb3B0aW9uKHByZXNlcnZlOiAwKQorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChCT09TVF9GVF9QUkVQUk9DRVNTSU5HX01PREUpCisjICAgZXJyb3IgInRoaXMgZmlsZSBpcyBvbmx5IGZvciB0d28tcGFzcyBwcmVwcm9jZXNzaW5nIgorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChCT09TVF9QUF9WQUxVRSkKKyMgICBpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3Ivc2xvdC9zbG90LmhwcD4KKyMgICBpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3IvZmFjaWxpdGllcy9lbXB0eS5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL2ZhY2lsaXRpZXMvZXhwYW5kLmhwcD4KKyMgICBpbmNsdWRlIDxuZG5ib29zdC9mdW5jdGlvbl90eXBlcy9kZXRhaWwvZW5jb2RpbmcvZGVmLmhwcD4KKworQk9PU1RfUFBfRVhQQU5EKCMpIGRlZmluZSBCT09TVF9GVF9tZnAgMAorQk9PU1RfUFBfRVhQQU5EKCMpIGRlZmluZSBCT09TVF9GVF9zeW50YXggQk9PU1RfRlRfdHlwZV9mdW5jdGlvbgorCisjICAgZGVmaW5lICBCT09TVF9QUF9WQUxVRSBcCisgICAgICBCT09TVF9GVF9mdW5jdGlvbnxCT09TVF9GVF9ub25fdmFyaWFkaWMKKyMgICBpbmNsdWRlIF9fRklMRV9fCisjICAgZGVmaW5lICBCT09TVF9QUF9WQUxVRSBcCisgICAgICBCT09TVF9GVF9mdW5jdGlvbnxCT09TVF9GVF92YXJpYWRpYworIyAgIGluY2x1ZGUgX19GSUxFX18KKworQk9PU1RfUFBfRVhQQU5EKCMpIGlmICFCT09TVF9GVF9OT19DVl9GVU5DX1NVUFBPUlQKKyMgICBkZWZpbmUgIEJPT1NUX1BQX1ZBTFVFIFwKKyAgICAgIEJPT1NUX0ZUX2Z1bmN0aW9ufEJPT1NUX0ZUX25vbl92YXJpYWRpY3xCT09TVF9GVF9jb25zdAorIyAgIGluY2x1ZGUgX19GSUxFX18KKyMgICBkZWZpbmUgIEJPT1NUX1BQX1ZBTFVFIFwKKyAgICAgIEJPT1NUX0ZUX2Z1bmN0aW9ufEJPT1NUX0ZUX3ZhcmlhZGljfEJPT1NUX0ZUX2NvbnN0CisjICAgaW5jbHVkZSBfX0ZJTEVfXworIyAgIGRlZmluZSAgQk9PU1RfUFBfVkFMVUUgXAorICAgICAgQk9PU1RfRlRfZnVuY3Rpb258Qk9PU1RfRlRfbm9uX3ZhcmlhZGljfEJPT1NUX0ZUX3ZvbGF0aWxlCisjICAgaW5jbHVkZSBfX0ZJTEVfXworIyAgIGRlZmluZSAgQk9PU1RfUFBfVkFMVUUgXAorICAgICAgQk9PU1RfRlRfZnVuY3Rpb258Qk9PU1RfRlRfdmFyaWFkaWN8Qk9PU1RfRlRfdm9sYXRpbGUKKyMgICBpbmNsdWRlIF9fRklMRV9fCisjICAgZGVmaW5lICBCT09TVF9QUF9WQUxVRSBcCisgICAgICBCT09TVF9GVF9mdW5jdGlvbnxCT09TVF9GVF9ub25fdmFyaWFkaWN8Qk9PU1RfRlRfY29uc3R8Qk9PU1RfRlRfdm9sYXRpbGUKKyMgICBpbmNsdWRlIF9fRklMRV9fCisjICAgZGVmaW5lICBCT09TVF9QUF9WQUxVRSBcCisgICAgICBCT09TVF9GVF9mdW5jdGlvbnxCT09TVF9GVF92YXJpYWRpY3xCT09TVF9GVF9jb25zdHxCT09TVF9GVF92b2xhdGlsZQorIyAgIGluY2x1ZGUgX19GSUxFX18KK0JPT1NUX1BQX0VYUEFORCgjKSBlbmRpZgorCisKK0JPT1NUX1BQX0VYUEFORCgjKSB1bmRlZiAgQk9PU1RfRlRfc3ludGF4CitCT09TVF9QUF9FWFBBTkQoIykgZGVmaW5lIEJPT1NUX0ZUX3N5bnRheCBCT09TVF9GVF90eXBlX2Z1bmN0aW9uX3BvaW50ZXIKKworIyAgIGRlZmluZSAgQk9PU1RfUFBfVkFMVUUgXAorICAgICAgQk9PU1RfRlRfcG9pbnRlcnxCT09TVF9GVF9ub25fdmFyaWFkaWMKKyMgICBpbmNsdWRlIF9fRklMRV9fCisjICAgZGVmaW5lICBCT09TVF9QUF9WQUxVRSBcCisgICAgICBCT09TVF9GVF9wb2ludGVyfEJPT1NUX0ZUX3ZhcmlhZGljCisjICAgaW5jbHVkZSBfX0ZJTEVfXworCitCT09TVF9QUF9FWFBBTkQoIykgdW5kZWYgIEJPT1NUX0ZUX3N5bnRheAorQk9PU1RfUFBfRVhQQU5EKCMpIGRlZmluZSBCT09TVF9GVF9zeW50YXggQk9PU1RfRlRfdHlwZV9mdW5jdGlvbl9yZWZlcmVuY2UKKworIyAgIGRlZmluZSBCT09TVF9QUF9WQUxVRSBcCisgICAgICBCT09TVF9GVF9yZWZlcmVuY2V8Qk9PU1RfRlRfbm9uX3ZhcmlhZGljCisjICAgaW5jbHVkZSBfX0ZJTEVfXworIyAgIGRlZmluZSBCT09TVF9QUF9WQUxVRSBcCisgICAgICBCT09TVF9GVF9yZWZlcmVuY2V8Qk9PU1RfRlRfdmFyaWFkaWMKKyMgICBpbmNsdWRlIF9fRklMRV9fCisKK0JPT1NUX1BQX0VYUEFORCgjKSB1bmRlZiAgQk9PU1RfRlRfc3ludGF4CitCT09TVF9QUF9FWFBBTkQoIykgdW5kZWYgIEJPT1NUX0ZUX21mcAorCitCT09TVF9QUF9FWFBBTkQoIykgZGVmaW5lIEJPT1NUX0ZUX21mcCAxCitCT09TVF9QUF9FWFBBTkQoIykgZGVmaW5lIEJPT1NUX0ZUX3N5bnRheCBCT09TVF9GVF90eXBlX21lbWJlcl9mdW5jdGlvbl9wb2ludGVyCisKKyMgICBkZWZpbmUgIEJPT1NUX1BQX1ZBTFVFIFwKKyAgICAgIEJPT1NUX0ZUX21lbWJlcl9mdW5jdGlvbl9wb2ludGVyfEJPT1NUX0ZUX25vbl92YXJpYWRpYworIyAgIGluY2x1ZGUgX19GSUxFX18KKyMgICBkZWZpbmUgIEJPT1NUX1BQX1ZBTFVFIFwKKyAgICAgIEJPT1NUX0ZUX21lbWJlcl9mdW5jdGlvbl9wb2ludGVyfEJPT1NUX0ZUX3ZhcmlhZGljCisjICAgaW5jbHVkZSBfX0ZJTEVfXworIyAgIGRlZmluZSAgQk9PU1RfUFBfVkFMVUUgXAorICAgICAgQk9PU1RfRlRfbWVtYmVyX2Z1bmN0aW9uX3BvaW50ZXJ8Qk9PU1RfRlRfbm9uX3ZhcmlhZGljfEJPT1NUX0ZUX2NvbnN0CisjICAgaW5jbHVkZSBfX0ZJTEVfXworIyAgIGRlZmluZSAgQk9PU1RfUFBfVkFMVUUgXAorICAgICAgQk9PU1RfRlRfbWVtYmVyX2Z1bmN0aW9uX3BvaW50ZXJ8Qk9PU1RfRlRfdmFyaWFkaWN8Qk9PU1RfRlRfY29uc3QKKyMgICBpbmNsdWRlIF9fRklMRV9fCisjICAgZGVmaW5lICBCT09TVF9QUF9WQUxVRSBcCisgICAgICBCT09TVF9GVF9tZW1iZXJfZnVuY3Rpb25fcG9pbnRlcnxCT09TVF9GVF9ub25fdmFyaWFkaWN8Qk9PU1RfRlRfdm9sYXRpbGUKKyMgICBpbmNsdWRlIF9fRklMRV9fCisjICAgZGVmaW5lICBCT09TVF9QUF9WQUxVRSBcCisgICAgICBCT09TVF9GVF9tZW1iZXJfZnVuY3Rpb25fcG9pbnRlcnxCT09TVF9GVF92YXJpYWRpY3xCT09TVF9GVF92b2xhdGlsZQorIyAgIGluY2x1ZGUgX19GSUxFX18KKyMgICBkZWZpbmUgIEJPT1NUX1BQX1ZBTFVFIFwKKyAgICAgIEJPT1NUX0ZUX21lbWJlcl9mdW5jdGlvbl9wb2ludGVyfEJPT1NUX0ZUX25vbl92YXJpYWRpY3xCT09TVF9GVF9jb25zdHxCT09TVF9GVF92b2xhdGlsZQorIyAgIGluY2x1ZGUgX19GSUxFX18KKyMgICBkZWZpbmUgIEJPT1NUX1BQX1ZBTFVFIFwKKyAgICAgIEJPT1NUX0ZUX21lbWJlcl9mdW5jdGlvbl9wb2ludGVyfEJPT1NUX0ZUX3ZhcmlhZGljfEJPT1NUX0ZUX2NvbnN0fEJPT1NUX0ZUX3ZvbGF0aWxlCisjICAgaW5jbHVkZSBfX0ZJTEVfXworCitCT09TVF9QUF9FWFBBTkQoIykgdW5kZWYgIEJPT1NUX0ZUX3N5bnRheAorQk9PU1RfUFBfRVhQQU5EKCMpIHVuZGVmICBCT09TVF9GVF9tZnAKKworIyAgIGluY2x1ZGUgPG5kbmJvb3N0L2Z1bmN0aW9uX3R5cGVzL2RldGFpbC9lbmNvZGluZy91bmRlZi5ocHA+CisjZWxzZSAKKworIyAgIGluY2x1ZGUgQk9PU1RfUFBfQVNTSUdOX1NMT1QoMSkKKworIyAgIGRlZmluZSAgQk9PU1RfUFBfVkFMVUUgQk9PU1RfUFBfU0xPVCgxKSAmIEJPT1NUX0ZUX2tpbmRfbWFzaworIyAgIGluY2x1ZGUgQk9PU1RfUFBfQVNTSUdOX1NMT1QoMikKKworQk9PU1RfUFBfRVhQQU5EKCMpIGlmICEhKEJPT1NUX1BQX1NMT1QoMikgJiAoQk9PU1RfRlRfdmFyaWF0aW9ucykpCitCT09TVF9QUF9FWFBBTkQoIykgaWYgKEJPT1NUX1BQX1NMT1QoMSkgJiAoQk9PU1RfRlRfY29uZCkpID09IChCT09TVF9GVF9jb25kKQorCisjICAgaWYgKCBCT09TVF9QUF9TTE9UKDEpICYgKEJPT1NUX0ZUX3ZhcmlhZGljKSApCitCT09TVF9QUF9FWFBBTkQoIykgICBkZWZpbmUgQk9PU1RfRlRfZWxsIC4uLgorQk9PU1RfUFBfRVhQQU5EKCMpICAgZGVmaW5lIEJPT1NUX0ZUX251bGxhcnlfcGFyYW0KKyMgICBlbHNlCitCT09TVF9QUF9FWFBBTkQoIykgICBkZWZpbmUgQk9PU1RfRlRfZWxsCitCT09TVF9QUF9FWFBBTkQoIykgICBkZWZpbmUgQk9PU1RfRlRfbnVsbGFyeV9wYXJhbSBCT09TVF9GVF9OVUxMQVJZX1BBUkFNCisjICAgZW5kaWYKKworIyAgIGlmICEoIEJPT1NUX1BQX1NMT1QoMSkgJiAoQk9PU1RfRlRfdm9sYXRpbGUpICkKKyMgICAgIGlmICEoIEJPT1NUX1BQX1NMT1QoMSkgJiAoQk9PU1RfRlRfY29uc3QpICkKK0JPT1NUX1BQX0VYUEFORCgjKSAgIGRlZmluZSBCT09TVF9GVF9jdiAKKyMgICAgIGVsc2UKK0JPT1NUX1BQX0VYUEFORCgjKSAgIGRlZmluZSBCT09TVF9GVF9jdiBjb25zdAorIyAgICAgZW5kaWYKKyMgICBlbHNlCisjICAgICBpZiAhKCBCT09TVF9QUF9TTE9UKDEpICYgKEJPT1NUX0ZUX2NvbnN0KSApCitCT09TVF9QUF9FWFBBTkQoIykgICBkZWZpbmUgQk9PU1RfRlRfY3Ygdm9sYXRpbGUKKyMgICAgIGVsc2UKK0JPT1NUX1BQX0VYUEFORCgjKSAgIGRlZmluZSBCT09TVF9GVF9jdiBjb25zdCB2b2xhdGlsZQorIyAgICAgZW5kaWYKKyMgICBlbmRpZgorQk9PU1RfUFBfRVhQQU5EKCMpICAgZGVmaW5lIEJPT1NUX0ZUX2ZsYWdzIEJPT1NUX1BQX1NMT1QoMSkKK0JPT1NUX1BQX0VYUEFORCgjKSAgIGluY2x1ZGUgQk9PU1RfRlRfdmFyaWF0ZV9maWxlCisKK0JPT1NUX1BQX0VYUEFORCgjKSAgIHVuZGVmIEJPT1NUX0ZUX2N2CitCT09TVF9QUF9FWFBBTkQoIykgICB1bmRlZiBCT09TVF9GVF9lbGwKK0JPT1NUX1BQX0VYUEFORCgjKSAgIHVuZGVmIEJPT1NUX0ZUX251bGxhcnlfcGFyYW0KK0JPT1NUX1BQX0VYUEFORCgjKSAgIHVuZGVmIEJPT1NUX0ZUX2ZsYWdzCitCT09TVF9QUF9FWFBBTkQoIykgZW5kaWYKK0JPT1NUX1BQX0VYUEFORCgjKSBlbmRpZgorI2VuZGlmCisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L2Z1bmN0aW9uX3R5cGVzL2RldGFpbC9wcF92YXJpYXRlX2xvb3AvcHJlcHJvY2Vzc2VkLmhwcCBiL25kbmJvb3N0L2Z1bmN0aW9uX3R5cGVzL2RldGFpbC9wcF92YXJpYXRlX2xvb3AvcHJlcHJvY2Vzc2VkLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZTdjNGY5Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvZnVuY3Rpb25fdHlwZXMvZGV0YWlsL3BwX3ZhcmlhdGVfbG9vcC9wcmVwcm9jZXNzZWQuaHBwCkBAIC0wLDAgKzEsMjgzIEBACisKKy8vIChDKSBDb3B5cmlnaHQgVG9iaWFzIFNjaHdpbmdlcgorLy8KKy8vIFVzZSBtb2RpZmljYXRpb24gYW5kIGRpc3RyaWJ1dGlvbiBhcmUgc3ViamVjdCB0byB0aGUgYm9vc3QgU29mdHdhcmUgTGljZW5zZSwKKy8vIFZlcnNpb24gMS4wLiAoU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkuCisKKy8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKy8vIHRoaXMgZmlsZSBoYXMgYmVlbiBnZW5lcmF0ZWQgZnJvbSB0aGUgbWFzdGVyLmhwcCBmaWxlIGluIHRoZSBzYW1lIGRpcmVjdG9yeQorIyBkZWZpbmUgQk9PU1RfRlRfbWZwIDAKKyMgZGVmaW5lIEJPT1NUX0ZUX3N5bnRheCBCT09TVF9GVF90eXBlX2Z1bmN0aW9uCisjIGlmICEgISAoNCAmIChCT09TVF9GVF92YXJpYXRpb25zKSkKKyMgaWYgKDUxOSAmIChCT09TVF9GVF9jb25kKSkgPT0gKEJPT1NUX0ZUX2NvbmQpCisjIGRlZmluZSBCT09TVF9GVF9lbGwKKyMgZGVmaW5lIEJPT1NUX0ZUX251bGxhcnlfcGFyYW0gQk9PU1RfRlRfTlVMTEFSWV9QQVJBTQorIyBkZWZpbmUgQk9PU1RfRlRfY3YgCisjIGRlZmluZSBCT09TVF9GVF9mbGFncyA1MTkKKyMgaW5jbHVkZSBCT09TVF9GVF92YXJpYXRlX2ZpbGUKKyMgdW5kZWYgQk9PU1RfRlRfY3YKKyMgdW5kZWYgQk9PU1RfRlRfZWxsCisjIHVuZGVmIEJPT1NUX0ZUX251bGxhcnlfcGFyYW0KKyMgdW5kZWYgQk9PU1RfRlRfZmxhZ3MKKyMgZW5kaWYKKyMgZW5kaWYKKyMgaWYgISAhICg0ICYgKEJPT1NUX0ZUX3ZhcmlhdGlvbnMpKQorIyBpZiAoMjYzICYgKEJPT1NUX0ZUX2NvbmQpKSA9PSAoQk9PU1RfRlRfY29uZCkKKyMgZGVmaW5lIEJPT1NUX0ZUX2VsbCAuLi4KKyMgZGVmaW5lIEJPT1NUX0ZUX251bGxhcnlfcGFyYW0KKyMgZGVmaW5lIEJPT1NUX0ZUX2N2IAorIyBkZWZpbmUgQk9PU1RfRlRfZmxhZ3MgMjYzCisjIGluY2x1ZGUgQk9PU1RfRlRfdmFyaWF0ZV9maWxlCisjIHVuZGVmIEJPT1NUX0ZUX2N2CisjIHVuZGVmIEJPT1NUX0ZUX2VsbAorIyB1bmRlZiBCT09TVF9GVF9udWxsYXJ5X3BhcmFtCisjIHVuZGVmIEJPT1NUX0ZUX2ZsYWdzCisjIGVuZGlmCisjIGVuZGlmCisjIGlmICFCT09TVF9GVF9OT19DVl9GVU5DX1NVUFBPUlQKKyMgaWYgISAhICg0ICYgKEJPT1NUX0ZUX3ZhcmlhdGlvbnMpKQorIyBpZiAoMTU0MyAmIChCT09TVF9GVF9jb25kKSkgPT0gKEJPT1NUX0ZUX2NvbmQpCisjIGRlZmluZSBCT09TVF9GVF9lbGwKKyMgZGVmaW5lIEJPT1NUX0ZUX251bGxhcnlfcGFyYW0gQk9PU1RfRlRfTlVMTEFSWV9QQVJBTQorIyBkZWZpbmUgQk9PU1RfRlRfY3YgY29uc3QKKyMgZGVmaW5lIEJPT1NUX0ZUX2ZsYWdzIDE1NDMKKyMgaW5jbHVkZSBCT09TVF9GVF92YXJpYXRlX2ZpbGUKKyMgdW5kZWYgQk9PU1RfRlRfY3YKKyMgdW5kZWYgQk9PU1RfRlRfZWxsCisjIHVuZGVmIEJPT1NUX0ZUX251bGxhcnlfcGFyYW0KKyMgdW5kZWYgQk9PU1RfRlRfZmxhZ3MKKyMgZW5kaWYKKyMgZW5kaWYKKyMgaWYgISAhICg0ICYgKEJPT1NUX0ZUX3ZhcmlhdGlvbnMpKQorIyBpZiAoMTI4NyAmIChCT09TVF9GVF9jb25kKSkgPT0gKEJPT1NUX0ZUX2NvbmQpCisjIGRlZmluZSBCT09TVF9GVF9lbGwgLi4uCisjIGRlZmluZSBCT09TVF9GVF9udWxsYXJ5X3BhcmFtCisjIGRlZmluZSBCT09TVF9GVF9jdiBjb25zdAorIyBkZWZpbmUgQk9PU1RfRlRfZmxhZ3MgMTI4NworIyBpbmNsdWRlIEJPT1NUX0ZUX3ZhcmlhdGVfZmlsZQorIyB1bmRlZiBCT09TVF9GVF9jdgorIyB1bmRlZiBCT09TVF9GVF9lbGwKKyMgdW5kZWYgQk9PU1RfRlRfbnVsbGFyeV9wYXJhbQorIyB1bmRlZiBCT09TVF9GVF9mbGFncworIyBlbmRpZgorIyBlbmRpZgorIyBpZiAhICEgKDQgJiAoQk9PU1RfRlRfdmFyaWF0aW9ucykpCisjIGlmICgyNTY3ICYgKEJPT1NUX0ZUX2NvbmQpKSA9PSAoQk9PU1RfRlRfY29uZCkKKyMgZGVmaW5lIEJPT1NUX0ZUX2VsbAorIyBkZWZpbmUgQk9PU1RfRlRfbnVsbGFyeV9wYXJhbSBCT09TVF9GVF9OVUxMQVJZX1BBUkFNCisjIGRlZmluZSBCT09TVF9GVF9jdiB2b2xhdGlsZQorIyBkZWZpbmUgQk9PU1RfRlRfZmxhZ3MgMjU2NworIyBpbmNsdWRlIEJPT1NUX0ZUX3ZhcmlhdGVfZmlsZQorIyB1bmRlZiBCT09TVF9GVF9jdgorIyB1bmRlZiBCT09TVF9GVF9lbGwKKyMgdW5kZWYgQk9PU1RfRlRfbnVsbGFyeV9wYXJhbQorIyB1bmRlZiBCT09TVF9GVF9mbGFncworIyBlbmRpZgorIyBlbmRpZgorIyBpZiAhICEgKDQgJiAoQk9PU1RfRlRfdmFyaWF0aW9ucykpCisjIGlmICgyMzExICYgKEJPT1NUX0ZUX2NvbmQpKSA9PSAoQk9PU1RfRlRfY29uZCkKKyMgZGVmaW5lIEJPT1NUX0ZUX2VsbCAuLi4KKyMgZGVmaW5lIEJPT1NUX0ZUX251bGxhcnlfcGFyYW0KKyMgZGVmaW5lIEJPT1NUX0ZUX2N2IHZvbGF0aWxlCisjIGRlZmluZSBCT09TVF9GVF9mbGFncyAyMzExCisjIGluY2x1ZGUgQk9PU1RfRlRfdmFyaWF0ZV9maWxlCisjIHVuZGVmIEJPT1NUX0ZUX2N2CisjIHVuZGVmIEJPT1NUX0ZUX2VsbAorIyB1bmRlZiBCT09TVF9GVF9udWxsYXJ5X3BhcmFtCisjIHVuZGVmIEJPT1NUX0ZUX2ZsYWdzCisjIGVuZGlmCisjIGVuZGlmCisjIGlmICEgISAoNCAmIChCT09TVF9GVF92YXJpYXRpb25zKSkKKyMgaWYgKDM1OTEgJiAoQk9PU1RfRlRfY29uZCkpID09IChCT09TVF9GVF9jb25kKQorIyBkZWZpbmUgQk9PU1RfRlRfZWxsCisjIGRlZmluZSBCT09TVF9GVF9udWxsYXJ5X3BhcmFtIEJPT1NUX0ZUX05VTExBUllfUEFSQU0KKyMgZGVmaW5lIEJPT1NUX0ZUX2N2IGNvbnN0IHZvbGF0aWxlCisjIGRlZmluZSBCT09TVF9GVF9mbGFncyAzNTkxCisjIGluY2x1ZGUgQk9PU1RfRlRfdmFyaWF0ZV9maWxlCisjIHVuZGVmIEJPT1NUX0ZUX2N2CisjIHVuZGVmIEJPT1NUX0ZUX2VsbAorIyB1bmRlZiBCT09TVF9GVF9udWxsYXJ5X3BhcmFtCisjIHVuZGVmIEJPT1NUX0ZUX2ZsYWdzCisjIGVuZGlmCisjIGVuZGlmCisjIGlmICEgISAoNCAmIChCT09TVF9GVF92YXJpYXRpb25zKSkKKyMgaWYgKDMzMzUgJiAoQk9PU1RfRlRfY29uZCkpID09IChCT09TVF9GVF9jb25kKQorIyBkZWZpbmUgQk9PU1RfRlRfZWxsIC4uLgorIyBkZWZpbmUgQk9PU1RfRlRfbnVsbGFyeV9wYXJhbQorIyBkZWZpbmUgQk9PU1RfRlRfY3YgY29uc3Qgdm9sYXRpbGUKKyMgZGVmaW5lIEJPT1NUX0ZUX2ZsYWdzIDMzMzUKKyMgaW5jbHVkZSBCT09TVF9GVF92YXJpYXRlX2ZpbGUKKyMgdW5kZWYgQk9PU1RfRlRfY3YKKyMgdW5kZWYgQk9PU1RfRlRfZWxsCisjIHVuZGVmIEJPT1NUX0ZUX251bGxhcnlfcGFyYW0KKyMgdW5kZWYgQk9PU1RfRlRfZmxhZ3MKKyMgZW5kaWYKKyMgZW5kaWYKKyMgZW5kaWYKKyMgdW5kZWYgQk9PU1RfRlRfc3ludGF4CisjIGRlZmluZSBCT09TVF9GVF9zeW50YXggQk9PU1RfRlRfdHlwZV9mdW5jdGlvbl9wb2ludGVyCisjIGlmICEgISAoOCAmIChCT09TVF9GVF92YXJpYXRpb25zKSkKKyMgaWYgKDUyMyAmIChCT09TVF9GVF9jb25kKSkgPT0gKEJPT1NUX0ZUX2NvbmQpCisjIGRlZmluZSBCT09TVF9GVF9lbGwKKyMgZGVmaW5lIEJPT1NUX0ZUX251bGxhcnlfcGFyYW0gQk9PU1RfRlRfTlVMTEFSWV9QQVJBTQorIyBkZWZpbmUgQk9PU1RfRlRfY3YgCisjIGRlZmluZSBCT09TVF9GVF9mbGFncyA1MjMKKyMgaW5jbHVkZSBCT09TVF9GVF92YXJpYXRlX2ZpbGUKKyMgdW5kZWYgQk9PU1RfRlRfY3YKKyMgdW5kZWYgQk9PU1RfRlRfZWxsCisjIHVuZGVmIEJPT1NUX0ZUX251bGxhcnlfcGFyYW0KKyMgdW5kZWYgQk9PU1RfRlRfZmxhZ3MKKyMgZW5kaWYKKyMgZW5kaWYKKyMgaWYgISAhICg4ICYgKEJPT1NUX0ZUX3ZhcmlhdGlvbnMpKQorIyBpZiAoMjY3ICYgKEJPT1NUX0ZUX2NvbmQpKSA9PSAoQk9PU1RfRlRfY29uZCkKKyMgZGVmaW5lIEJPT1NUX0ZUX2VsbCAuLi4KKyMgZGVmaW5lIEJPT1NUX0ZUX251bGxhcnlfcGFyYW0KKyMgZGVmaW5lIEJPT1NUX0ZUX2N2IAorIyBkZWZpbmUgQk9PU1RfRlRfZmxhZ3MgMjY3CisjIGluY2x1ZGUgQk9PU1RfRlRfdmFyaWF0ZV9maWxlCisjIHVuZGVmIEJPT1NUX0ZUX2N2CisjIHVuZGVmIEJPT1NUX0ZUX2VsbAorIyB1bmRlZiBCT09TVF9GVF9udWxsYXJ5X3BhcmFtCisjIHVuZGVmIEJPT1NUX0ZUX2ZsYWdzCisjIGVuZGlmCisjIGVuZGlmCisjIHVuZGVmIEJPT1NUX0ZUX3N5bnRheAorIyBkZWZpbmUgQk9PU1RfRlRfc3ludGF4IEJPT1NUX0ZUX3R5cGVfZnVuY3Rpb25fcmVmZXJlbmNlCisjIGlmICEgISAoMTYgJiAoQk9PU1RfRlRfdmFyaWF0aW9ucykpCisjIGlmICg1MzEgJiAoQk9PU1RfRlRfY29uZCkpID09IChCT09TVF9GVF9jb25kKQorIyBkZWZpbmUgQk9PU1RfRlRfZWxsCisjIGRlZmluZSBCT09TVF9GVF9udWxsYXJ5X3BhcmFtIEJPT1NUX0ZUX05VTExBUllfUEFSQU0KKyMgZGVmaW5lIEJPT1NUX0ZUX2N2IAorIyBkZWZpbmUgQk9PU1RfRlRfZmxhZ3MgNTMxCisjIGluY2x1ZGUgQk9PU1RfRlRfdmFyaWF0ZV9maWxlCisjIHVuZGVmIEJPT1NUX0ZUX2N2CisjIHVuZGVmIEJPT1NUX0ZUX2VsbAorIyB1bmRlZiBCT09TVF9GVF9udWxsYXJ5X3BhcmFtCisjIHVuZGVmIEJPT1NUX0ZUX2ZsYWdzCisjIGVuZGlmCisjIGVuZGlmCisjIGlmICEgISAoMTYgJiAoQk9PU1RfRlRfdmFyaWF0aW9ucykpCisjIGlmICgyNzUgJiAoQk9PU1RfRlRfY29uZCkpID09IChCT09TVF9GVF9jb25kKQorIyBkZWZpbmUgQk9PU1RfRlRfZWxsIC4uLgorIyBkZWZpbmUgQk9PU1RfRlRfbnVsbGFyeV9wYXJhbQorIyBkZWZpbmUgQk9PU1RfRlRfY3YgCisjIGRlZmluZSBCT09TVF9GVF9mbGFncyAyNzUKKyMgaW5jbHVkZSBCT09TVF9GVF92YXJpYXRlX2ZpbGUKKyMgdW5kZWYgQk9PU1RfRlRfY3YKKyMgdW5kZWYgQk9PU1RfRlRfZWxsCisjIHVuZGVmIEJPT1NUX0ZUX251bGxhcnlfcGFyYW0KKyMgdW5kZWYgQk9PU1RfRlRfZmxhZ3MKKyMgZW5kaWYKKyMgZW5kaWYKKyMgdW5kZWYgQk9PU1RfRlRfc3ludGF4CisjIHVuZGVmIEJPT1NUX0ZUX21mcAorIyBkZWZpbmUgQk9PU1RfRlRfbWZwIDEKKyMgZGVmaW5lIEJPT1NUX0ZUX3N5bnRheCBCT09TVF9GVF90eXBlX21lbWJlcl9mdW5jdGlvbl9wb2ludGVyCisjIGlmICEgISAoOTYgJiAoQk9PU1RfRlRfdmFyaWF0aW9ucykpCisjIGlmICg2MDkgJiAoQk9PU1RfRlRfY29uZCkpID09IChCT09TVF9GVF9jb25kKQorIyBkZWZpbmUgQk9PU1RfRlRfZWxsCisjIGRlZmluZSBCT09TVF9GVF9udWxsYXJ5X3BhcmFtIEJPT1NUX0ZUX05VTExBUllfUEFSQU0KKyMgZGVmaW5lIEJPT1NUX0ZUX2N2IAorIyBkZWZpbmUgQk9PU1RfRlRfZmxhZ3MgNjA5CisjIGluY2x1ZGUgQk9PU1RfRlRfdmFyaWF0ZV9maWxlCisjIHVuZGVmIEJPT1NUX0ZUX2N2CisjIHVuZGVmIEJPT1NUX0ZUX2VsbAorIyB1bmRlZiBCT09TVF9GVF9udWxsYXJ5X3BhcmFtCisjIHVuZGVmIEJPT1NUX0ZUX2ZsYWdzCisjIGVuZGlmCisjIGVuZGlmCisjIGlmICEgISAoOTYgJiAoQk9PU1RfRlRfdmFyaWF0aW9ucykpCisjIGlmICgzNTMgJiAoQk9PU1RfRlRfY29uZCkpID09IChCT09TVF9GVF9jb25kKQorIyBkZWZpbmUgQk9PU1RfRlRfZWxsIC4uLgorIyBkZWZpbmUgQk9PU1RfRlRfbnVsbGFyeV9wYXJhbQorIyBkZWZpbmUgQk9PU1RfRlRfY3YgCisjIGRlZmluZSBCT09TVF9GVF9mbGFncyAzNTMKKyMgaW5jbHVkZSBCT09TVF9GVF92YXJpYXRlX2ZpbGUKKyMgdW5kZWYgQk9PU1RfRlRfY3YKKyMgdW5kZWYgQk9PU1RfRlRfZWxsCisjIHVuZGVmIEJPT1NUX0ZUX251bGxhcnlfcGFyYW0KKyMgdW5kZWYgQk9PU1RfRlRfZmxhZ3MKKyMgZW5kaWYKKyMgZW5kaWYKKyMgaWYgISAhICg5NiAmIChCT09TVF9GVF92YXJpYXRpb25zKSkKKyMgaWYgKDE2MzMgJiAoQk9PU1RfRlRfY29uZCkpID09IChCT09TVF9GVF9jb25kKQorIyBkZWZpbmUgQk9PU1RfRlRfZWxsCisjIGRlZmluZSBCT09TVF9GVF9udWxsYXJ5X3BhcmFtIEJPT1NUX0ZUX05VTExBUllfUEFSQU0KKyMgZGVmaW5lIEJPT1NUX0ZUX2N2IGNvbnN0CisjIGRlZmluZSBCT09TVF9GVF9mbGFncyAxNjMzCisjIGluY2x1ZGUgQk9PU1RfRlRfdmFyaWF0ZV9maWxlCisjIHVuZGVmIEJPT1NUX0ZUX2N2CisjIHVuZGVmIEJPT1NUX0ZUX2VsbAorIyB1bmRlZiBCT09TVF9GVF9udWxsYXJ5X3BhcmFtCisjIHVuZGVmIEJPT1NUX0ZUX2ZsYWdzCisjIGVuZGlmCisjIGVuZGlmCisjIGlmICEgISAoOTYgJiAoQk9PU1RfRlRfdmFyaWF0aW9ucykpCisjIGlmICgxMzc3ICYgKEJPT1NUX0ZUX2NvbmQpKSA9PSAoQk9PU1RfRlRfY29uZCkKKyMgZGVmaW5lIEJPT1NUX0ZUX2VsbCAuLi4KKyMgZGVmaW5lIEJPT1NUX0ZUX251bGxhcnlfcGFyYW0KKyMgZGVmaW5lIEJPT1NUX0ZUX2N2IGNvbnN0CisjIGRlZmluZSBCT09TVF9GVF9mbGFncyAxMzc3CisjIGluY2x1ZGUgQk9PU1RfRlRfdmFyaWF0ZV9maWxlCisjIHVuZGVmIEJPT1NUX0ZUX2N2CisjIHVuZGVmIEJPT1NUX0ZUX2VsbAorIyB1bmRlZiBCT09TVF9GVF9udWxsYXJ5X3BhcmFtCisjIHVuZGVmIEJPT1NUX0ZUX2ZsYWdzCisjIGVuZGlmCisjIGVuZGlmCisjIGlmICEgISAoOTYgJiAoQk9PU1RfRlRfdmFyaWF0aW9ucykpCisjIGlmICgyNjU3ICYgKEJPT1NUX0ZUX2NvbmQpKSA9PSAoQk9PU1RfRlRfY29uZCkKKyMgZGVmaW5lIEJPT1NUX0ZUX2VsbAorIyBkZWZpbmUgQk9PU1RfRlRfbnVsbGFyeV9wYXJhbSBCT09TVF9GVF9OVUxMQVJZX1BBUkFNCisjIGRlZmluZSBCT09TVF9GVF9jdiB2b2xhdGlsZQorIyBkZWZpbmUgQk9PU1RfRlRfZmxhZ3MgMjY1NworIyBpbmNsdWRlIEJPT1NUX0ZUX3ZhcmlhdGVfZmlsZQorIyB1bmRlZiBCT09TVF9GVF9jdgorIyB1bmRlZiBCT09TVF9GVF9lbGwKKyMgdW5kZWYgQk9PU1RfRlRfbnVsbGFyeV9wYXJhbQorIyB1bmRlZiBCT09TVF9GVF9mbGFncworIyBlbmRpZgorIyBlbmRpZgorIyBpZiAhICEgKDk2ICYgKEJPT1NUX0ZUX3ZhcmlhdGlvbnMpKQorIyBpZiAoMjQwMSAmIChCT09TVF9GVF9jb25kKSkgPT0gKEJPT1NUX0ZUX2NvbmQpCisjIGRlZmluZSBCT09TVF9GVF9lbGwgLi4uCisjIGRlZmluZSBCT09TVF9GVF9udWxsYXJ5X3BhcmFtCisjIGRlZmluZSBCT09TVF9GVF9jdiB2b2xhdGlsZQorIyBkZWZpbmUgQk9PU1RfRlRfZmxhZ3MgMjQwMQorIyBpbmNsdWRlIEJPT1NUX0ZUX3ZhcmlhdGVfZmlsZQorIyB1bmRlZiBCT09TVF9GVF9jdgorIyB1bmRlZiBCT09TVF9GVF9lbGwKKyMgdW5kZWYgQk9PU1RfRlRfbnVsbGFyeV9wYXJhbQorIyB1bmRlZiBCT09TVF9GVF9mbGFncworIyBlbmRpZgorIyBlbmRpZgorIyBpZiAhICEgKDk2ICYgKEJPT1NUX0ZUX3ZhcmlhdGlvbnMpKQorIyBpZiAoMzY4MSAmIChCT09TVF9GVF9jb25kKSkgPT0gKEJPT1NUX0ZUX2NvbmQpCisjIGRlZmluZSBCT09TVF9GVF9lbGwKKyMgZGVmaW5lIEJPT1NUX0ZUX251bGxhcnlfcGFyYW0gQk9PU1RfRlRfTlVMTEFSWV9QQVJBTQorIyBkZWZpbmUgQk9PU1RfRlRfY3YgY29uc3Qgdm9sYXRpbGUKKyMgZGVmaW5lIEJPT1NUX0ZUX2ZsYWdzIDM2ODEKKyMgaW5jbHVkZSBCT09TVF9GVF92YXJpYXRlX2ZpbGUKKyMgdW5kZWYgQk9PU1RfRlRfY3YKKyMgdW5kZWYgQk9PU1RfRlRfZWxsCisjIHVuZGVmIEJPT1NUX0ZUX251bGxhcnlfcGFyYW0KKyMgdW5kZWYgQk9PU1RfRlRfZmxhZ3MKKyMgZW5kaWYKKyMgZW5kaWYKKyMgaWYgISAhICg5NiAmIChCT09TVF9GVF92YXJpYXRpb25zKSkKKyMgaWYgKDM0MjUgJiAoQk9PU1RfRlRfY29uZCkpID09IChCT09TVF9GVF9jb25kKQorIyBkZWZpbmUgQk9PU1RfRlRfZWxsIC4uLgorIyBkZWZpbmUgQk9PU1RfRlRfbnVsbGFyeV9wYXJhbQorIyBkZWZpbmUgQk9PU1RfRlRfY3YgY29uc3Qgdm9sYXRpbGUKKyMgZGVmaW5lIEJPT1NUX0ZUX2ZsYWdzIDM0MjUKKyMgaW5jbHVkZSBCT09TVF9GVF92YXJpYXRlX2ZpbGUKKyMgdW5kZWYgQk9PU1RfRlRfY3YKKyMgdW5kZWYgQk9PU1RfRlRfZWxsCisjIHVuZGVmIEJPT1NUX0ZUX251bGxhcnlfcGFyYW0KKyMgdW5kZWYgQk9PU1RfRlRfZmxhZ3MKKyMgZW5kaWYKKyMgZW5kaWYKKyMgdW5kZWYgQk9PU1RfRlRfc3ludGF4CisjIHVuZGVmIEJPT1NUX0ZUX21mcApkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvZnVuY3Rpb25fdHlwZXMvZGV0YWlsL3JldGFnX2RlZmF1bHRfY2MuaHBwIGIvbmRuYm9vc3QvZnVuY3Rpb25fdHlwZXMvZGV0YWlsL3JldGFnX2RlZmF1bHRfY2MuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM5ZGNiMDIKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9mdW5jdGlvbl90eXBlcy9kZXRhaWwvcmV0YWdfZGVmYXVsdF9jYy5ocHAKQEAgLTAsMCArMSwyMyBAQAorCisvLyAoQykgQ29weXJpZ2h0IFRvYmlhcyBTY2h3aW5nZXIKKy8vCisvLyBVc2UgbW9kaWZpY2F0aW9uIGFuZCBkaXN0cmlidXRpb24gYXJlIHN1YmplY3QgdG8gdGhlIGJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsCisvLyBWZXJzaW9uIDEuMC4gKFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpLgorCisvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisjaWZuZGVmIEJPT1NUX0ZUX0RFVEFJTF9SRVRBR19ERUZBVUxUX0NDX0hQUF9JTkNMVURFRAorI2RlZmluZSBCT09TVF9GVF9ERVRBSUxfUkVUQUdfREVGQVVMVF9DQ19IUFBfSU5DTFVERUQKKworI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9iaXRhbmQuaHBwPgorCisjaW5jbHVkZSA8bmRuYm9vc3QvZnVuY3Rpb25fdHlwZXMvY29tcG9uZW50cy5ocHA+CisKKyNpZiBkZWZpbmVkKEJPT1NUX0ZUX1BSRVBST0NFU1NJTkdfTU9ERSkKKyMgICBpbmNsdWRlIDxuZG5ib29zdC9mdW5jdGlvbl90eXBlcy9kZXRhaWwvcHBfcmV0YWdfZGVmYXVsdF9jYy9tYXN0ZXIuaHBwPgorI2Vsc2UKKyMgICBpbmNsdWRlIDxuZG5ib29zdC9mdW5jdGlvbl90eXBlcy9kZXRhaWwvcHBfcmV0YWdfZGVmYXVsdF9jYy9wcmVwcm9jZXNzZWQuaHBwPgorI2VuZGlmCisKKyNlbmRpZgorCmRpZmYgLS1naXQgYS9uZG5ib29zdC9mdW5jdGlvbl90eXBlcy9kZXRhaWwvc3ludGhlc2l6ZS5ocHAgYi9uZG5ib29zdC9mdW5jdGlvbl90eXBlcy9kZXRhaWwvc3ludGhlc2l6ZS5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODc4NjVjYQotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L2Z1bmN0aW9uX3R5cGVzL2RldGFpbC9zeW50aGVzaXplLmhwcApAQCAtMCwwICsxLDc5IEBACisKKy8vIChDKSBDb3B5cmlnaHQgVG9iaWFzIFNjaHdpbmdlcgorLy8KKy8vIFVzZSBtb2RpZmljYXRpb24gYW5kIGRpc3RyaWJ1dGlvbiBhcmUgc3ViamVjdCB0byB0aGUgYm9vc3QgU29mdHdhcmUgTGljZW5zZSwKKy8vIFZlcnNpb24gMS4wLiAoU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkuCisKKy8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKyNpZm5kZWYgQk9PU1RfRlRfREVUQUlMX1NZTlRIRVNJWkVfSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX0ZUX0RFVEFJTF9TWU5USEVTSVpFX0hQUF9JTkNMVURFRAorCisjaW5jbHVkZSA8Y3N0ZGRlZj4KKworI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL3NpemUuaHBwPgorCisjaW5jbHVkZSA8bmRuYm9vc3QvZnVuY3Rpb25fdHlwZXMvY29uZmlnL2NvbmZpZy5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvZnVuY3Rpb25fdHlwZXMvcHJvcGVydHlfdGFncy5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvZnVuY3Rpb25fdHlwZXMvZGV0YWlsL2N2X3RyYWl0cy5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvZnVuY3Rpb25fdHlwZXMvZGV0YWlsL3JldGFnX2RlZmF1bHRfY2MuaHBwPgorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgZnVuY3Rpb25fdHlwZXMgeyBuYW1lc3BhY2UgZGV0YWlsIHsKKwordGVtcGxhdGU8Yml0c190IEZsYWdzLCBiaXRzX3QgQ0NJRCwgc3RkOjpzaXplX3QgU2l6ZT4KK3N0cnVjdCBzeW50aGVzaXplX2ltcGxfbworeworICB0ZW1wbGF0ZTx0eXBlbmFtZSBTZXE+IHN0cnVjdCBzeW50aGVzaXplX2ltcGxfaSB7IH07Cit9OworCit0ZW1wbGF0ZTx0eXBlbmFtZSBTZXEsIGJpdHNfdCBCaXRzPgorc3RydWN0IHN5bnRoZXNpemVfaW1wbAorICA6IGRldGFpbDo6c3ludGhlc2l6ZV9pbXBsX28KKyAgICA8IDo6bmRuYm9vc3Q6OmZ1bmN0aW9uX3R5cGVzOjpkZXRhaWw6OmRlY29kZV9iaXRzPEJpdHM+OjpmbGFncworICAgICwgOjpuZG5ib29zdDo6ZnVuY3Rpb25fdHlwZXM6OmRldGFpbDo6ZGVjb2RlX2JpdHM8Qml0cz46OmNjX2lkCisgICAgLCA6Om5kbmJvb3N0OjptcGw6OnNpemU8U2VxPjo6dmFsdWUKKyAgICA+CisgICAgOjp0ZW1wbGF0ZSBzeW50aGVzaXplX2ltcGxfaTxTZXE+Cit7IH07CisKK3RlbXBsYXRlPHR5cGVuYW1lIFNlcSwgdHlwZW5hbWUgVGFnPgorc3RydWN0IHN5bnRoZXNpemVfZnVuYworICA6IGRldGFpbDo6c3ludGhlc2l6ZV9pbXBsCisgICAgPCBTZXEKKyAgICAsIDo6bmRuYm9vc3Q6OmZ1bmN0aW9uX3R5cGVzOjpkZXRhaWw6OmJpdHMKKyAgICAgIDwgZGV0YWlsOjpyZXRhZ19kZWZhdWx0X2NjCisgICAgICAgIDwgZnVuY3Rpb25fdHlwZXM6OnRhZzxudl9kY2NfZnVuYywgVGFnPiA+IAorICAgICAgPjo6dmFsdWUgCisgICAgPgoreyB9OworCit0ZW1wbGF0ZTx0eXBlbmFtZSBTZXEsIHR5cGVuYW1lIFRhZz4KK3N0cnVjdCBzeW50aGVzaXplX21mcAorICA6IGRldGFpbDo6c3ludGhlc2l6ZV9pbXBsCisgICAgPCBTZXEgCisgICAgLCA6Om5kbmJvb3N0OjpmdW5jdGlvbl90eXBlczo6ZGV0YWlsOjpiaXRzCisgICAgICA8IGRldGFpbDo6cmV0YWdfZGVmYXVsdF9jYworICAgICAgICA8IGZ1bmN0aW9uX3R5cGVzOjp0YWcKKyAgICAgICAgICA8IHR5cGVuYW1lIGRldGFpbDo6Y3ZfdHJhaXRzPCB0eXBlbmFtZSBtcGw6OmF0X2M8U2VxLDE+Ojp0eXBlID46OnRhZworICAgICAgICAgICwgbnZfZGNjX21mcCwgVGFnCisgICAgICAgID4gPgorICAgICAgPjo6dmFsdWUKKyAgICA+Cit7IH07CisKK3RlbXBsYXRlPHR5cGVuYW1lIFMsIHR5cGVuYW1lIFIgPSB0eXBlbmFtZSBtcGw6OmF0X2M8UywwPjo6dHlwZSwKKyAgICB0eXBlbmFtZSBDID0gdHlwZW5hbWUgbXBsOjphdF9jPFMsMT46OnR5cGU+CitzdHJ1Y3Qgc3ludGhlc2l6ZV9tb3AKK3sKKyAgdHlwZWRlZiBSIEM6OiogdHlwZTsKK307CisKKyNkZWZpbmUgQk9PU1RfRlRfdmFyaWF0aW9ucyBCT09TVF9GVF9mdW5jdGlvbnxCT09TVF9GVF9tZW1iZXJfcG9pbnRlcgorI2RlZmluZSBCT09TVF9GVF9hbF9wYXRoIGJvb3N0L2Z1bmN0aW9uX3R5cGVzL2RldGFpbC9zeW50aGVzaXplX2ltcGwKKyNpbmNsdWRlIDxuZG5ib29zdC9mdW5jdGlvbl90eXBlcy9kZXRhaWwvcHBfbG9vcC5ocHA+CisKK30gfSB9IC8vIG5hbWVzcGFjZSA6Om5kbmJvb3N0OjpmdW5jdGlvbl90eXBlczo6ZGV0YWlsCisKKyNlbmRpZgorCmRpZmYgLS1naXQgYS9uZG5ib29zdC9mdW5jdGlvbl90eXBlcy9kZXRhaWwvc3ludGhlc2l6ZV9pbXBsL2FyaXR5MTBfMC5ocHAgYi9uZG5ib29zdC9mdW5jdGlvbl90eXBlcy9kZXRhaWwvc3ludGhlc2l6ZV9pbXBsL2FyaXR5MTBfMC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWQyMmU1MAotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L2Z1bmN0aW9uX3R5cGVzL2RldGFpbC9zeW50aGVzaXplX2ltcGwvYXJpdHkxMF8wLmhwcApAQCAtMCwwICsxLDMzNCBAQAorCisvLyAoQykgQ29weXJpZ2h0IFRvYmlhcyBTY2h3aW5nZXIKKy8vCisvLyBVc2UgbW9kaWZpY2F0aW9uIGFuZCBkaXN0cmlidXRpb24gYXJlIHN1YmplY3QgdG8gdGhlIGJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsCisvLyBWZXJzaW9uIDEuMC4gKFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpLgorCisvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisvLyBubyBpbmNsdWRlIGd1YXJkcywgdGhpcyBmaWxlIGlzIGludGVuZGVkIGZvciBtdWx0aXBsZSBpbmNsdXNpb24KKworLy8gaW5wdXQ6ICBCT09TVF9GVF9zeW50YXggICAgIHR5cGUgbWFjcm8gdG8gdXNlCisvLyBpbnB1dDogIEJPT1NUX0ZUX2NjICAgICAgICAgZW1wdHkgb3IgY2Mgc3BlY2lmaWVyIAorLy8gaW5wdXQ6ICBCT09TVF9GVF9lbGwgICAgICAgIGVtcHR5IG9yICIuLi4iCisvLyBpbnB1dDogIEJPT1NUX0ZUX2N2ICAgICAgICAgZW1wdHkgb3IgY3YgcXVhbGlmaWVycworLy8gaW5wdXQ6ICBCT09TVF9GVF9mbGFncyAgICAgIHNpbmdsZSBkZWNpbWFsIGludGVnZXIgZW5jb2RpbmcgdGhlIGZsYWdzCisvLyBvdXRwdXQ6IEJPT1NUX0ZUX24gICAgICAgICAgbnVtYmVyIG9mIGNvbXBvbmVudCB0eXBlcyAoYXJpdHkrMSkKKy8vIG91dHB1dDogQk9PU1RfRlRfYXJpdHkgICAgICBjdXJyZW50IGFyaXR5CisvLyBvdXRwdXQ6IEJPT1NUX0ZUX3R5cGUgICAgICAgbWFjcm8gdGhhdCBleHBhbmRzIHRvIHRoZSB0eXBlCisvLyBvdXRwdXQ6IEJPT1NUX0ZUX3RwbGFyZ3MocCkgdGVtcGxhdGUgYXJndW1lbnRzIHdpdGggZ2l2ZW4gcHJlZml4CisvLyBvdXRwdXQ6IEJPT1NUX0ZUX3BhcmFtcyhwKSAgcGFyYW1ldGVycyB3aXRoIGdpdmVuIHByZWZpeAorCisjIGRlZmluZSBCT09TVF9GVF9tYWtlX3R5cGUoZmxhZ3MsY2MsYXJpdHkpIEJPT1NUX0ZUX21ha2VfdHlwZV9pbXBsKGZsYWdzLGNjLGFyaXR5KQorIyBkZWZpbmUgQk9PU1RfRlRfbWFrZV90eXBlX2ltcGwoZmxhZ3MsY2MsYXJpdHkpIG1ha2VfdHlwZV8gIyMgZmxhZ3MgIyMgXyAjIyBjYyAjIyBfICMjIGFyaXR5Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgUiA+CitzdHJ1Y3QgQk9PU1RfRlRfbWFrZV90eXBlKEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDApCit7Cit0eXBlZGVmIEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYyx0eXBlIEJPT1NUX1BQX0VNUFRZKSAoQk9PU1RfRlRfbnVsbGFyeV9wYXJhbSBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2IDsKK307Cit0ZW1wbGF0ZTwgPiAKK3N0cnVjdCBzeW50aGVzaXplX2ltcGxfbzwgQk9PU1RfRlRfZmxhZ3MsIEJPT1NUX0ZUX2NjX2lkLCAxID4gCit7IAordGVtcGxhdGU8dHlwZW5hbWUgUz4gc3RydWN0IHN5bnRoZXNpemVfaW1wbF9pCit7Citwcml2YXRlOgordHlwZWRlZiB0eXBlbmFtZSBtcGw6OmJlZ2luPFM+IDo6dHlwZSBpdGVyXzA7CitwdWJsaWM6Cit0eXBlZGVmIHR5cGVuYW1lIGRldGFpbDo6Qk9PU1RfRlRfbWFrZV90eXBlKEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDApIAorPCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzAgPiA6OnR5cGUgCis+IDo6dHlwZSB0eXBlOworfTsKK307Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgUiAsIHR5cGVuYW1lIFQwID4KK3N0cnVjdCBCT09TVF9GVF9tYWtlX3R5cGUoQk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQsMSkKK3sKK3R5cGVkZWYgQk9PU1RfRlRfc3ludGF4KEJPT1NUX0ZUX2NjLHR5cGUgQk9PU1RfUFBfRU1QVFkpIChUMCBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2IDsKK307Cit0ZW1wbGF0ZTwgPiAKK3N0cnVjdCBzeW50aGVzaXplX2ltcGxfbzwgQk9PU1RfRlRfZmxhZ3MsIEJPT1NUX0ZUX2NjX2lkLCAyID4gCit7IAordGVtcGxhdGU8dHlwZW5hbWUgUz4gc3RydWN0IHN5bnRoZXNpemVfaW1wbF9pCit7Citwcml2YXRlOgordHlwZWRlZiB0eXBlbmFtZSBtcGw6OmJlZ2luPFM+IDo6dHlwZSBpdGVyXzA7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8wID4gOjp0eXBlIGl0ZXJfMTsKK3B1YmxpYzoKK3R5cGVkZWYgdHlwZW5hbWUgZGV0YWlsOjpCT09TVF9GVF9tYWtlX3R5cGUoQk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQsMSkgCis8IHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMCA+IDo6dHlwZSAKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xID4gOjp0eXBlCis+IDo6dHlwZSB0eXBlOworfTsKK307Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgUiAsIHR5cGVuYW1lIFQwICwgdHlwZW5hbWUgVDEgPgorc3RydWN0IEJPT1NUX0ZUX21ha2VfdHlwZShCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZCwyKQorewordHlwZWRlZiBCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsdHlwZSBCT09TVF9QUF9FTVBUWSkgKFQwICwgVDEgQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdiA7Cit9OwordGVtcGxhdGU8ID4gCitzdHJ1Y3Qgc3ludGhlc2l6ZV9pbXBsX288IEJPT1NUX0ZUX2ZsYWdzLCBCT09TVF9GVF9jY19pZCwgMyA+IAoreyAKK3RlbXBsYXRlPHR5cGVuYW1lIFM+IHN0cnVjdCBzeW50aGVzaXplX2ltcGxfaQoreworcHJpdmF0ZToKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpiZWdpbjxTPiA6OnR5cGUgaXRlcl8wOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMCA+IDo6dHlwZSBpdGVyXzE7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xID4gOjp0eXBlIGl0ZXJfMjsKK3B1YmxpYzoKK3R5cGVkZWYgdHlwZW5hbWUgZGV0YWlsOjpCT09TVF9GVF9tYWtlX3R5cGUoQk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQsMikgCis8IHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMCA+IDo6dHlwZSAKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMiA+IDo6dHlwZQorPiA6OnR5cGUgdHlwZTsKK307Cit9OwordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIgPgorc3RydWN0IEJPT1NUX0ZUX21ha2VfdHlwZShCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZCwzKQorewordHlwZWRlZiBCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsdHlwZSBCT09TVF9QUF9FTVBUWSkgKFQwICwgVDEgLCBUMiBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2IDsKK307Cit0ZW1wbGF0ZTwgPiAKK3N0cnVjdCBzeW50aGVzaXplX2ltcGxfbzwgQk9PU1RfRlRfZmxhZ3MsIEJPT1NUX0ZUX2NjX2lkLCA0ID4gCit7IAordGVtcGxhdGU8dHlwZW5hbWUgUz4gc3RydWN0IHN5bnRoZXNpemVfaW1wbF9pCit7Citwcml2YXRlOgordHlwZWRlZiB0eXBlbmFtZSBtcGw6OmJlZ2luPFM+IDo6dHlwZSBpdGVyXzA7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8wID4gOjp0eXBlIGl0ZXJfMTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzEgPiA6OnR5cGUgaXRlcl8yOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMiA+IDo6dHlwZSBpdGVyXzM7CitwdWJsaWM6Cit0eXBlZGVmIHR5cGVuYW1lIGRldGFpbDo6Qk9PU1RfRlRfbWFrZV90eXBlKEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDMpIAorPCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzAgPiA6OnR5cGUgCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zID4gOjp0eXBlCis+IDo6dHlwZSB0eXBlOworfTsKK307Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgUiAsIHR5cGVuYW1lIFQwICwgdHlwZW5hbWUgVDEgLCB0eXBlbmFtZSBUMiAsIHR5cGVuYW1lIFQzID4KK3N0cnVjdCBCT09TVF9GVF9tYWtlX3R5cGUoQk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQsNCkKK3sKK3R5cGVkZWYgQk9PU1RfRlRfc3ludGF4KEJPT1NUX0ZUX2NjLHR5cGUgQk9PU1RfUFBfRU1QVFkpIChUMCAsIFQxICwgVDIgLCBUMyBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2IDsKK307Cit0ZW1wbGF0ZTwgPiAKK3N0cnVjdCBzeW50aGVzaXplX2ltcGxfbzwgQk9PU1RfRlRfZmxhZ3MsIEJPT1NUX0ZUX2NjX2lkLCA1ID4gCit7IAordGVtcGxhdGU8dHlwZW5hbWUgUz4gc3RydWN0IHN5bnRoZXNpemVfaW1wbF9pCit7Citwcml2YXRlOgordHlwZWRlZiB0eXBlbmFtZSBtcGw6OmJlZ2luPFM+IDo6dHlwZSBpdGVyXzA7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8wID4gOjp0eXBlIGl0ZXJfMTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzEgPiA6OnR5cGUgaXRlcl8yOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMiA+IDo6dHlwZSBpdGVyXzM7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zID4gOjp0eXBlIGl0ZXJfNDsKK3B1YmxpYzoKK3R5cGVkZWYgdHlwZW5hbWUgZGV0YWlsOjpCT09TVF9GVF9tYWtlX3R5cGUoQk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQsNCkgCis8IHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMCA+IDo6dHlwZSAKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzMgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl80ID4gOjp0eXBlCis+IDo6dHlwZSB0eXBlOworfTsKK307Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgUiAsIHR5cGVuYW1lIFQwICwgdHlwZW5hbWUgVDEgLCB0eXBlbmFtZSBUMiAsIHR5cGVuYW1lIFQzICwgdHlwZW5hbWUgVDQgPgorc3RydWN0IEJPT1NUX0ZUX21ha2VfdHlwZShCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZCw1KQorewordHlwZWRlZiBCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsdHlwZSBCT09TVF9QUF9FTVBUWSkgKFQwICwgVDEgLCBUMiAsIFQzICwgVDQgQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdiA7Cit9OwordGVtcGxhdGU8ID4gCitzdHJ1Y3Qgc3ludGhlc2l6ZV9pbXBsX288IEJPT1NUX0ZUX2ZsYWdzLCBCT09TVF9GVF9jY19pZCwgNiA+IAoreyAKK3RlbXBsYXRlPHR5cGVuYW1lIFM+IHN0cnVjdCBzeW50aGVzaXplX2ltcGxfaQoreworcHJpdmF0ZToKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpiZWdpbjxTPiA6OnR5cGUgaXRlcl8wOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMCA+IDo6dHlwZSBpdGVyXzE7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xID4gOjp0eXBlIGl0ZXJfMjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIgPiA6OnR5cGUgaXRlcl8zOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMyA+IDo6dHlwZSBpdGVyXzQ7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl80ID4gOjp0eXBlIGl0ZXJfNTsKK3B1YmxpYzoKK3R5cGVkZWYgdHlwZW5hbWUgZGV0YWlsOjpCT09TVF9GVF9tYWtlX3R5cGUoQk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQsNSkgCis8IHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMCA+IDo6dHlwZSAKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzMgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl80ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNSA+IDo6dHlwZQorPiA6OnR5cGUgdHlwZTsKK307Cit9OwordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIgLCB0eXBlbmFtZSBUMyAsIHR5cGVuYW1lIFQ0ICwgdHlwZW5hbWUgVDUgPgorc3RydWN0IEJPT1NUX0ZUX21ha2VfdHlwZShCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZCw2KQorewordHlwZWRlZiBCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsdHlwZSBCT09TVF9QUF9FTVBUWSkgKFQwICwgVDEgLCBUMiAsIFQzICwgVDQgLCBUNSBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2IDsKK307Cit0ZW1wbGF0ZTwgPiAKK3N0cnVjdCBzeW50aGVzaXplX2ltcGxfbzwgQk9PU1RfRlRfZmxhZ3MsIEJPT1NUX0ZUX2NjX2lkLCA3ID4gCit7IAordGVtcGxhdGU8dHlwZW5hbWUgUz4gc3RydWN0IHN5bnRoZXNpemVfaW1wbF9pCit7Citwcml2YXRlOgordHlwZWRlZiB0eXBlbmFtZSBtcGw6OmJlZ2luPFM+IDo6dHlwZSBpdGVyXzA7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8wID4gOjp0eXBlIGl0ZXJfMTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzEgPiA6OnR5cGUgaXRlcl8yOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMiA+IDo6dHlwZSBpdGVyXzM7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zID4gOjp0eXBlIGl0ZXJfNDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzQgPiA6OnR5cGUgaXRlcl81OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNSA+IDo6dHlwZSBpdGVyXzY7CitwdWJsaWM6Cit0eXBlZGVmIHR5cGVuYW1lIGRldGFpbDo6Qk9PU1RfRlRfbWFrZV90eXBlKEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDYpIAorPCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzAgPiA6OnR5cGUgCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzUgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl82ID4gOjp0eXBlCis+IDo6dHlwZSB0eXBlOworfTsKK307Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgUiAsIHR5cGVuYW1lIFQwICwgdHlwZW5hbWUgVDEgLCB0eXBlbmFtZSBUMiAsIHR5cGVuYW1lIFQzICwgdHlwZW5hbWUgVDQgLCB0eXBlbmFtZSBUNSAsIHR5cGVuYW1lIFQ2ID4KK3N0cnVjdCBCT09TVF9GVF9tYWtlX3R5cGUoQk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQsNykKK3sKK3R5cGVkZWYgQk9PU1RfRlRfc3ludGF4KEJPT1NUX0ZUX2NjLHR5cGUgQk9PU1RfUFBfRU1QVFkpIChUMCAsIFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2IDsKK307Cit0ZW1wbGF0ZTwgPiAKK3N0cnVjdCBzeW50aGVzaXplX2ltcGxfbzwgQk9PU1RfRlRfZmxhZ3MsIEJPT1NUX0ZUX2NjX2lkLCA4ID4gCit7IAordGVtcGxhdGU8dHlwZW5hbWUgUz4gc3RydWN0IHN5bnRoZXNpemVfaW1wbF9pCit7Citwcml2YXRlOgordHlwZWRlZiB0eXBlbmFtZSBtcGw6OmJlZ2luPFM+IDo6dHlwZSBpdGVyXzA7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8wID4gOjp0eXBlIGl0ZXJfMTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzEgPiA6OnR5cGUgaXRlcl8yOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMiA+IDo6dHlwZSBpdGVyXzM7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zID4gOjp0eXBlIGl0ZXJfNDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzQgPiA6OnR5cGUgaXRlcl81OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNSA+IDo6dHlwZSBpdGVyXzY7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl82ID4gOjp0eXBlIGl0ZXJfNzsKK3B1YmxpYzoKK3R5cGVkZWYgdHlwZW5hbWUgZGV0YWlsOjpCT09TVF9GVF9tYWtlX3R5cGUoQk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQsNykgCis8IHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMCA+IDo6dHlwZSAKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzMgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl80ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzYgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl83ID4gOjp0eXBlCis+IDo6dHlwZSB0eXBlOworfTsKK307Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgUiAsIHR5cGVuYW1lIFQwICwgdHlwZW5hbWUgVDEgLCB0eXBlbmFtZSBUMiAsIHR5cGVuYW1lIFQzICwgdHlwZW5hbWUgVDQgLCB0eXBlbmFtZSBUNSAsIHR5cGVuYW1lIFQ2ICwgdHlwZW5hbWUgVDcgPgorc3RydWN0IEJPT1NUX0ZUX21ha2VfdHlwZShCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZCw4KQorewordHlwZWRlZiBCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsdHlwZSBCT09TVF9QUF9FTVBUWSkgKFQwICwgVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdiA7Cit9OwordGVtcGxhdGU8ID4gCitzdHJ1Y3Qgc3ludGhlc2l6ZV9pbXBsX288IEJPT1NUX0ZUX2ZsYWdzLCBCT09TVF9GVF9jY19pZCwgOSA+IAoreyAKK3RlbXBsYXRlPHR5cGVuYW1lIFM+IHN0cnVjdCBzeW50aGVzaXplX2ltcGxfaQoreworcHJpdmF0ZToKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpiZWdpbjxTPiA6OnR5cGUgaXRlcl8wOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMCA+IDo6dHlwZSBpdGVyXzE7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xID4gOjp0eXBlIGl0ZXJfMjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIgPiA6OnR5cGUgaXRlcl8zOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMyA+IDo6dHlwZSBpdGVyXzQ7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl80ID4gOjp0eXBlIGl0ZXJfNTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzUgPiA6OnR5cGUgaXRlcl82OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNiA+IDo6dHlwZSBpdGVyXzc7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl83ID4gOjp0eXBlIGl0ZXJfODsKK3B1YmxpYzoKK3R5cGVkZWYgdHlwZW5hbWUgZGV0YWlsOjpCT09TVF9GVF9tYWtlX3R5cGUoQk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQsOCkgCis8IHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMCA+IDo6dHlwZSAKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzMgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl80ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzYgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl83ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfOCA+IDo6dHlwZQorPiA6OnR5cGUgdHlwZTsKK307Cit9OwordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIgLCB0eXBlbmFtZSBUMyAsIHR5cGVuYW1lIFQ0ICwgdHlwZW5hbWUgVDUgLCB0eXBlbmFtZSBUNiAsIHR5cGVuYW1lIFQ3ICwgdHlwZW5hbWUgVDggPgorc3RydWN0IEJPT1NUX0ZUX21ha2VfdHlwZShCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZCw5KQorewordHlwZWRlZiBCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsdHlwZSBCT09TVF9QUF9FTVBUWSkgKFQwICwgVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2IDsKK307Cit0ZW1wbGF0ZTwgPiAKK3N0cnVjdCBzeW50aGVzaXplX2ltcGxfbzwgQk9PU1RfRlRfZmxhZ3MsIEJPT1NUX0ZUX2NjX2lkLCAxMCA+IAoreyAKK3RlbXBsYXRlPHR5cGVuYW1lIFM+IHN0cnVjdCBzeW50aGVzaXplX2ltcGxfaQoreworcHJpdmF0ZToKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpiZWdpbjxTPiA6OnR5cGUgaXRlcl8wOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMCA+IDo6dHlwZSBpdGVyXzE7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xID4gOjp0eXBlIGl0ZXJfMjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIgPiA6OnR5cGUgaXRlcl8zOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMyA+IDo6dHlwZSBpdGVyXzQ7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl80ID4gOjp0eXBlIGl0ZXJfNTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzUgPiA6OnR5cGUgaXRlcl82OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNiA+IDo6dHlwZSBpdGVyXzc7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl83ID4gOjp0eXBlIGl0ZXJfODsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzggPiA6OnR5cGUgaXRlcl85OworcHVibGljOgordHlwZWRlZiB0eXBlbmFtZSBkZXRhaWw6OkJPT1NUX0ZUX21ha2VfdHlwZShCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZCw5KSAKKzwgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8wID4gOjp0eXBlIAorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzEgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzQgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl81ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzcgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl84ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfOSA+IDo6dHlwZQorPiA6OnR5cGUgdHlwZTsKK307Cit9OwordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIgLCB0eXBlbmFtZSBUMyAsIHR5cGVuYW1lIFQ0ICwgdHlwZW5hbWUgVDUgLCB0eXBlbmFtZSBUNiAsIHR5cGVuYW1lIFQ3ICwgdHlwZW5hbWUgVDggLCB0eXBlbmFtZSBUOSA+CitzdHJ1Y3QgQk9PU1RfRlRfbWFrZV90eXBlKEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDEwKQorewordHlwZWRlZiBCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsdHlwZSBCT09TVF9QUF9FTVBUWSkgKFQwICwgVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5IEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YgOworfTsKK3RlbXBsYXRlPCA+IAorc3RydWN0IHN5bnRoZXNpemVfaW1wbF9vPCBCT09TVF9GVF9mbGFncywgQk9PU1RfRlRfY2NfaWQsIDExID4gCit7IAordGVtcGxhdGU8dHlwZW5hbWUgUz4gc3RydWN0IHN5bnRoZXNpemVfaW1wbF9pCit7Citwcml2YXRlOgordHlwZWRlZiB0eXBlbmFtZSBtcGw6OmJlZ2luPFM+IDo6dHlwZSBpdGVyXzA7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8wID4gOjp0eXBlIGl0ZXJfMTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzEgPiA6OnR5cGUgaXRlcl8yOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMiA+IDo6dHlwZSBpdGVyXzM7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zID4gOjp0eXBlIGl0ZXJfNDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzQgPiA6OnR5cGUgaXRlcl81OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNSA+IDo6dHlwZSBpdGVyXzY7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl82ID4gOjp0eXBlIGl0ZXJfNzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzcgPiA6OnR5cGUgaXRlcl84OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfOCA+IDo6dHlwZSBpdGVyXzk7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl85ID4gOjp0eXBlIGl0ZXJfMTA7CitwdWJsaWM6Cit0eXBlZGVmIHR5cGVuYW1lIGRldGFpbDo6Qk9PU1RfRlRfbWFrZV90eXBlKEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDEwKSAKKzwgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8wID4gOjp0eXBlIAorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzEgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzQgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl81ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzcgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl84ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfOSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzEwID4gOjp0eXBlCis+IDo6dHlwZSB0eXBlOworfTsKK307CisjIHVuZGVmIEJPT1NUX0ZUX21ha2VfdHlwZQorIyB1bmRlZiBCT09TVF9GVF9tYWtlX3R5cGVfaW1wbAorCmRpZmYgLS1naXQgYS9uZG5ib29zdC9mdW5jdGlvbl90eXBlcy9kZXRhaWwvc3ludGhlc2l6ZV9pbXBsL2FyaXR5MTBfMS5ocHAgYi9uZG5ib29zdC9mdW5jdGlvbl90eXBlcy9kZXRhaWwvc3ludGhlc2l6ZV9pbXBsL2FyaXR5MTBfMS5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmJkNTk2MwotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L2Z1bmN0aW9uX3R5cGVzL2RldGFpbC9zeW50aGVzaXplX2ltcGwvYXJpdHkxMF8xLmhwcApAQCAtMCwwICsxLDMyNiBAQAorCisvLyAoQykgQ29weXJpZ2h0IFRvYmlhcyBTY2h3aW5nZXIKKy8vCisvLyBVc2UgbW9kaWZpY2F0aW9uIGFuZCBkaXN0cmlidXRpb24gYXJlIHN1YmplY3QgdG8gdGhlIGJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsCisvLyBWZXJzaW9uIDEuMC4gKFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpLgorCisvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisvLyBubyBpbmNsdWRlIGd1YXJkcywgdGhpcyBmaWxlIGlzIGludGVuZGVkIGZvciBtdWx0aXBsZSBpbmNsdXNpb24KKworLy8gaW5wdXQ6ICBCT09TVF9GVF9zeW50YXggICAgIHR5cGUgbWFjcm8gdG8gdXNlCisvLyBpbnB1dDogIEJPT1NUX0ZUX2NjICAgICAgICAgZW1wdHkgb3IgY2Mgc3BlY2lmaWVyIAorLy8gaW5wdXQ6ICBCT09TVF9GVF9lbGwgICAgICAgIGVtcHR5IG9yICIuLi4iCisvLyBpbnB1dDogIEJPT1NUX0ZUX2N2ICAgICAgICAgZW1wdHkgb3IgY3YgcXVhbGlmaWVycworLy8gaW5wdXQ6ICBCT09TVF9GVF9mbGFncyAgICAgIHNpbmdsZSBkZWNpbWFsIGludGVnZXIgZW5jb2RpbmcgdGhlIGZsYWdzCisvLyBvdXRwdXQ6IEJPT1NUX0ZUX24gICAgICAgICAgbnVtYmVyIG9mIGNvbXBvbmVudCB0eXBlcyAoYXJpdHkrMSkKKy8vIG91dHB1dDogQk9PU1RfRlRfYXJpdHkgICAgICBjdXJyZW50IGFyaXR5CisvLyBvdXRwdXQ6IEJPT1NUX0ZUX3R5cGUgICAgICAgbWFjcm8gdGhhdCBleHBhbmRzIHRvIHRoZSB0eXBlCisvLyBvdXRwdXQ6IEJPT1NUX0ZUX3RwbGFyZ3MocCkgdGVtcGxhdGUgYXJndW1lbnRzIHdpdGggZ2l2ZW4gcHJlZml4CisvLyBvdXRwdXQ6IEJPT1NUX0ZUX3BhcmFtcyhwKSAgcGFyYW1ldGVycyB3aXRoIGdpdmVuIHByZWZpeAorCisjIGRlZmluZSBCT09TVF9GVF9tYWtlX3R5cGUoZmxhZ3MsY2MsYXJpdHkpIEJPT1NUX0ZUX21ha2VfdHlwZV9pbXBsKGZsYWdzLGNjLGFyaXR5KQorIyBkZWZpbmUgQk9PU1RfRlRfbWFrZV90eXBlX2ltcGwoZmxhZ3MsY2MsYXJpdHkpIG1ha2VfdHlwZV8gIyMgZmxhZ3MgIyMgXyAjIyBjYyAjIyBfICMjIGFyaXR5Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgUiAsIHR5cGVuYW1lIFQwID4KK3N0cnVjdCBCT09TVF9GVF9tYWtlX3R5cGUoQk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQsMSkKK3sKK3R5cGVkZWYgQk9PU1RfRlRfc3ludGF4KEJPT1NUX0ZUX2NjLHR5cGUgQk9PU1RfUFBfRU1QVFkpICggQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdiA7Cit9OwordGVtcGxhdGU8ID4gCitzdHJ1Y3Qgc3ludGhlc2l6ZV9pbXBsX288IEJPT1NUX0ZUX2ZsYWdzLCBCT09TVF9GVF9jY19pZCwgMiA+IAoreyAKK3RlbXBsYXRlPHR5cGVuYW1lIFM+IHN0cnVjdCBzeW50aGVzaXplX2ltcGxfaQoreworcHJpdmF0ZToKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpiZWdpbjxTPiA6OnR5cGUgaXRlcl8wOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMCA+IDo6dHlwZSBpdGVyXzE7CitwdWJsaWM6Cit0eXBlZGVmIHR5cGVuYW1lIGRldGFpbDo6Qk9PU1RfRlRfbWFrZV90eXBlKEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDEpIAorPCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzAgPiA6OnR5cGUgCissIHR5cGVuYW1lIGRldGFpbDo6Y3ZfdHJhaXRzPCAKK3R5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMSA+IDo6dHlwZSA+IDo6dHlwZQorPiA6OnR5cGUgdHlwZTsKK307Cit9OwordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxID4KK3N0cnVjdCBCT09TVF9GVF9tYWtlX3R5cGUoQk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQsMikKK3sKK3R5cGVkZWYgQk9PU1RfRlRfc3ludGF4KEJPT1NUX0ZUX2NjLHR5cGUgQk9PU1RfUFBfRU1QVFkpIChUMSBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2IDsKK307Cit0ZW1wbGF0ZTwgPiAKK3N0cnVjdCBzeW50aGVzaXplX2ltcGxfbzwgQk9PU1RfRlRfZmxhZ3MsIEJPT1NUX0ZUX2NjX2lkLCAzID4gCit7IAordGVtcGxhdGU8dHlwZW5hbWUgUz4gc3RydWN0IHN5bnRoZXNpemVfaW1wbF9pCit7Citwcml2YXRlOgordHlwZWRlZiB0eXBlbmFtZSBtcGw6OmJlZ2luPFM+IDo6dHlwZSBpdGVyXzA7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8wID4gOjp0eXBlIGl0ZXJfMTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzEgPiA6OnR5cGUgaXRlcl8yOworcHVibGljOgordHlwZWRlZiB0eXBlbmFtZSBkZXRhaWw6OkJPT1NUX0ZUX21ha2VfdHlwZShCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZCwyKSAKKzwgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8wID4gOjp0eXBlIAorLCB0eXBlbmFtZSBkZXRhaWw6OmN2X3RyYWl0czwgCit0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzEgPiA6OnR5cGUgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yID4gOjp0eXBlCis+IDo6dHlwZSB0eXBlOworfTsKK307Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgUiAsIHR5cGVuYW1lIFQwICwgdHlwZW5hbWUgVDEgLCB0eXBlbmFtZSBUMiA+CitzdHJ1Y3QgQk9PU1RfRlRfbWFrZV90eXBlKEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDMpCit7Cit0eXBlZGVmIEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYyx0eXBlIEJPT1NUX1BQX0VNUFRZKSAoVDEgLCBUMiBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2IDsKK307Cit0ZW1wbGF0ZTwgPiAKK3N0cnVjdCBzeW50aGVzaXplX2ltcGxfbzwgQk9PU1RfRlRfZmxhZ3MsIEJPT1NUX0ZUX2NjX2lkLCA0ID4gCit7IAordGVtcGxhdGU8dHlwZW5hbWUgUz4gc3RydWN0IHN5bnRoZXNpemVfaW1wbF9pCit7Citwcml2YXRlOgordHlwZWRlZiB0eXBlbmFtZSBtcGw6OmJlZ2luPFM+IDo6dHlwZSBpdGVyXzA7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8wID4gOjp0eXBlIGl0ZXJfMTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzEgPiA6OnR5cGUgaXRlcl8yOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMiA+IDo6dHlwZSBpdGVyXzM7CitwdWJsaWM6Cit0eXBlZGVmIHR5cGVuYW1lIGRldGFpbDo6Qk9PU1RfRlRfbWFrZV90eXBlKEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDMpIAorPCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzAgPiA6OnR5cGUgCissIHR5cGVuYW1lIGRldGFpbDo6Y3ZfdHJhaXRzPCAKK3R5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMSA+IDo6dHlwZSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zID4gOjp0eXBlCis+IDo6dHlwZSB0eXBlOworfTsKK307Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgUiAsIHR5cGVuYW1lIFQwICwgdHlwZW5hbWUgVDEgLCB0eXBlbmFtZSBUMiAsIHR5cGVuYW1lIFQzID4KK3N0cnVjdCBCT09TVF9GVF9tYWtlX3R5cGUoQk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQsNCkKK3sKK3R5cGVkZWYgQk9PU1RfRlRfc3ludGF4KEJPT1NUX0ZUX2NjLHR5cGUgQk9PU1RfUFBfRU1QVFkpIChUMSAsIFQyICwgVDMgQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdiA7Cit9OwordGVtcGxhdGU8ID4gCitzdHJ1Y3Qgc3ludGhlc2l6ZV9pbXBsX288IEJPT1NUX0ZUX2ZsYWdzLCBCT09TVF9GVF9jY19pZCwgNSA+IAoreyAKK3RlbXBsYXRlPHR5cGVuYW1lIFM+IHN0cnVjdCBzeW50aGVzaXplX2ltcGxfaQoreworcHJpdmF0ZToKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpiZWdpbjxTPiA6OnR5cGUgaXRlcl8wOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMCA+IDo6dHlwZSBpdGVyXzE7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xID4gOjp0eXBlIGl0ZXJfMjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIgPiA6OnR5cGUgaXRlcl8zOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMyA+IDo6dHlwZSBpdGVyXzQ7CitwdWJsaWM6Cit0eXBlZGVmIHR5cGVuYW1lIGRldGFpbDo6Qk9PU1RfRlRfbWFrZV90eXBlKEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDQpIAorPCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzAgPiA6OnR5cGUgCissIHR5cGVuYW1lIGRldGFpbDo6Y3ZfdHJhaXRzPCAKK3R5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMSA+IDo6dHlwZSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNCA+IDo6dHlwZQorPiA6OnR5cGUgdHlwZTsKK307Cit9OwordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIgLCB0eXBlbmFtZSBUMyAsIHR5cGVuYW1lIFQ0ID4KK3N0cnVjdCBCT09TVF9GVF9tYWtlX3R5cGUoQk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQsNSkKK3sKK3R5cGVkZWYgQk9PU1RfRlRfc3ludGF4KEJPT1NUX0ZUX2NjLHR5cGUgQk9PU1RfUFBfRU1QVFkpIChUMSAsIFQyICwgVDMgLCBUNCBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2IDsKK307Cit0ZW1wbGF0ZTwgPiAKK3N0cnVjdCBzeW50aGVzaXplX2ltcGxfbzwgQk9PU1RfRlRfZmxhZ3MsIEJPT1NUX0ZUX2NjX2lkLCA2ID4gCit7IAordGVtcGxhdGU8dHlwZW5hbWUgUz4gc3RydWN0IHN5bnRoZXNpemVfaW1wbF9pCit7Citwcml2YXRlOgordHlwZWRlZiB0eXBlbmFtZSBtcGw6OmJlZ2luPFM+IDo6dHlwZSBpdGVyXzA7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8wID4gOjp0eXBlIGl0ZXJfMTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzEgPiA6OnR5cGUgaXRlcl8yOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMiA+IDo6dHlwZSBpdGVyXzM7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zID4gOjp0eXBlIGl0ZXJfNDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzQgPiA6OnR5cGUgaXRlcl81OworcHVibGljOgordHlwZWRlZiB0eXBlbmFtZSBkZXRhaWw6OkJPT1NUX0ZUX21ha2VfdHlwZShCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZCw1KSAKKzwgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8wID4gOjp0eXBlIAorLCB0eXBlbmFtZSBkZXRhaWw6OmN2X3RyYWl0czwgCit0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzEgPiA6OnR5cGUgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzQgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl81ID4gOjp0eXBlCis+IDo6dHlwZSB0eXBlOworfTsKK307Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgUiAsIHR5cGVuYW1lIFQwICwgdHlwZW5hbWUgVDEgLCB0eXBlbmFtZSBUMiAsIHR5cGVuYW1lIFQzICwgdHlwZW5hbWUgVDQgLCB0eXBlbmFtZSBUNSA+CitzdHJ1Y3QgQk9PU1RfRlRfbWFrZV90eXBlKEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDYpCit7Cit0eXBlZGVmIEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYyx0eXBlIEJPT1NUX1BQX0VNUFRZKSAoVDEgLCBUMiAsIFQzICwgVDQgLCBUNSBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2IDsKK307Cit0ZW1wbGF0ZTwgPiAKK3N0cnVjdCBzeW50aGVzaXplX2ltcGxfbzwgQk9PU1RfRlRfZmxhZ3MsIEJPT1NUX0ZUX2NjX2lkLCA3ID4gCit7IAordGVtcGxhdGU8dHlwZW5hbWUgUz4gc3RydWN0IHN5bnRoZXNpemVfaW1wbF9pCit7Citwcml2YXRlOgordHlwZWRlZiB0eXBlbmFtZSBtcGw6OmJlZ2luPFM+IDo6dHlwZSBpdGVyXzA7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8wID4gOjp0eXBlIGl0ZXJfMTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzEgPiA6OnR5cGUgaXRlcl8yOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMiA+IDo6dHlwZSBpdGVyXzM7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zID4gOjp0eXBlIGl0ZXJfNDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzQgPiA6OnR5cGUgaXRlcl81OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNSA+IDo6dHlwZSBpdGVyXzY7CitwdWJsaWM6Cit0eXBlZGVmIHR5cGVuYW1lIGRldGFpbDo6Qk9PU1RfRlRfbWFrZV90eXBlKEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDYpIAorPCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzAgPiA6OnR5cGUgCissIHR5cGVuYW1lIGRldGFpbDo6Y3ZfdHJhaXRzPCAKK3R5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMSA+IDo6dHlwZSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzUgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl82ID4gOjp0eXBlCis+IDo6dHlwZSB0eXBlOworfTsKK307Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgUiAsIHR5cGVuYW1lIFQwICwgdHlwZW5hbWUgVDEgLCB0eXBlbmFtZSBUMiAsIHR5cGVuYW1lIFQzICwgdHlwZW5hbWUgVDQgLCB0eXBlbmFtZSBUNSAsIHR5cGVuYW1lIFQ2ID4KK3N0cnVjdCBCT09TVF9GVF9tYWtlX3R5cGUoQk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQsNykKK3sKK3R5cGVkZWYgQk9PU1RfRlRfc3ludGF4KEJPT1NUX0ZUX2NjLHR5cGUgQk9PU1RfUFBfRU1QVFkpIChUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdiA7Cit9OwordGVtcGxhdGU8ID4gCitzdHJ1Y3Qgc3ludGhlc2l6ZV9pbXBsX288IEJPT1NUX0ZUX2ZsYWdzLCBCT09TVF9GVF9jY19pZCwgOCA+IAoreyAKK3RlbXBsYXRlPHR5cGVuYW1lIFM+IHN0cnVjdCBzeW50aGVzaXplX2ltcGxfaQoreworcHJpdmF0ZToKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpiZWdpbjxTPiA6OnR5cGUgaXRlcl8wOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMCA+IDo6dHlwZSBpdGVyXzE7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xID4gOjp0eXBlIGl0ZXJfMjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIgPiA6OnR5cGUgaXRlcl8zOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMyA+IDo6dHlwZSBpdGVyXzQ7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl80ID4gOjp0eXBlIGl0ZXJfNTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzUgPiA6OnR5cGUgaXRlcl82OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNiA+IDo6dHlwZSBpdGVyXzc7CitwdWJsaWM6Cit0eXBlZGVmIHR5cGVuYW1lIGRldGFpbDo6Qk9PU1RfRlRfbWFrZV90eXBlKEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDcpIAorPCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzAgPiA6OnR5cGUgCissIHR5cGVuYW1lIGRldGFpbDo6Y3ZfdHJhaXRzPCAKK3R5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMSA+IDo6dHlwZSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzUgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl82ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNyA+IDo6dHlwZQorPiA6OnR5cGUgdHlwZTsKK307Cit9OwordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIgLCB0eXBlbmFtZSBUMyAsIHR5cGVuYW1lIFQ0ICwgdHlwZW5hbWUgVDUgLCB0eXBlbmFtZSBUNiAsIHR5cGVuYW1lIFQ3ID4KK3N0cnVjdCBCT09TVF9GVF9tYWtlX3R5cGUoQk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQsOCkKK3sKK3R5cGVkZWYgQk9PU1RfRlRfc3ludGF4KEJPT1NUX0ZUX2NjLHR5cGUgQk9PU1RfUFBfRU1QVFkpIChUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2IDsKK307Cit0ZW1wbGF0ZTwgPiAKK3N0cnVjdCBzeW50aGVzaXplX2ltcGxfbzwgQk9PU1RfRlRfZmxhZ3MsIEJPT1NUX0ZUX2NjX2lkLCA5ID4gCit7IAordGVtcGxhdGU8dHlwZW5hbWUgUz4gc3RydWN0IHN5bnRoZXNpemVfaW1wbF9pCit7Citwcml2YXRlOgordHlwZWRlZiB0eXBlbmFtZSBtcGw6OmJlZ2luPFM+IDo6dHlwZSBpdGVyXzA7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8wID4gOjp0eXBlIGl0ZXJfMTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzEgPiA6OnR5cGUgaXRlcl8yOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMiA+IDo6dHlwZSBpdGVyXzM7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zID4gOjp0eXBlIGl0ZXJfNDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzQgPiA6OnR5cGUgaXRlcl81OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNSA+IDo6dHlwZSBpdGVyXzY7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl82ID4gOjp0eXBlIGl0ZXJfNzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzcgPiA6OnR5cGUgaXRlcl84OworcHVibGljOgordHlwZWRlZiB0eXBlbmFtZSBkZXRhaWw6OkJPT1NUX0ZUX21ha2VfdHlwZShCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZCw4KSAKKzwgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8wID4gOjp0eXBlIAorLCB0eXBlbmFtZSBkZXRhaWw6OmN2X3RyYWl0czwgCit0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzEgPiA6OnR5cGUgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzQgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl81ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzcgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl84ID4gOjp0eXBlCis+IDo6dHlwZSB0eXBlOworfTsKK307Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgUiAsIHR5cGVuYW1lIFQwICwgdHlwZW5hbWUgVDEgLCB0eXBlbmFtZSBUMiAsIHR5cGVuYW1lIFQzICwgdHlwZW5hbWUgVDQgLCB0eXBlbmFtZSBUNSAsIHR5cGVuYW1lIFQ2ICwgdHlwZW5hbWUgVDcgLCB0eXBlbmFtZSBUOCA+CitzdHJ1Y3QgQk9PU1RfRlRfbWFrZV90eXBlKEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDkpCit7Cit0eXBlZGVmIEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYyx0eXBlIEJPT1NUX1BQX0VNUFRZKSAoVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2IDsKK307Cit0ZW1wbGF0ZTwgPiAKK3N0cnVjdCBzeW50aGVzaXplX2ltcGxfbzwgQk9PU1RfRlRfZmxhZ3MsIEJPT1NUX0ZUX2NjX2lkLCAxMCA+IAoreyAKK3RlbXBsYXRlPHR5cGVuYW1lIFM+IHN0cnVjdCBzeW50aGVzaXplX2ltcGxfaQoreworcHJpdmF0ZToKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpiZWdpbjxTPiA6OnR5cGUgaXRlcl8wOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMCA+IDo6dHlwZSBpdGVyXzE7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xID4gOjp0eXBlIGl0ZXJfMjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIgPiA6OnR5cGUgaXRlcl8zOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMyA+IDo6dHlwZSBpdGVyXzQ7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl80ID4gOjp0eXBlIGl0ZXJfNTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzUgPiA6OnR5cGUgaXRlcl82OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNiA+IDo6dHlwZSBpdGVyXzc7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl83ID4gOjp0eXBlIGl0ZXJfODsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzggPiA6OnR5cGUgaXRlcl85OworcHVibGljOgordHlwZWRlZiB0eXBlbmFtZSBkZXRhaWw6OkJPT1NUX0ZUX21ha2VfdHlwZShCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZCw5KSAKKzwgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8wID4gOjp0eXBlIAorLCB0eXBlbmFtZSBkZXRhaWw6OmN2X3RyYWl0czwgCit0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzEgPiA6OnR5cGUgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzQgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl81ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzcgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl84ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfOSA+IDo6dHlwZQorPiA6OnR5cGUgdHlwZTsKK307Cit9OwordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIgLCB0eXBlbmFtZSBUMyAsIHR5cGVuYW1lIFQ0ICwgdHlwZW5hbWUgVDUgLCB0eXBlbmFtZSBUNiAsIHR5cGVuYW1lIFQ3ICwgdHlwZW5hbWUgVDggLCB0eXBlbmFtZSBUOSA+CitzdHJ1Y3QgQk9PU1RfRlRfbWFrZV90eXBlKEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDEwKQorewordHlwZWRlZiBCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsdHlwZSBCT09TVF9QUF9FTVBUWSkgKFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2IDsKK307Cit0ZW1wbGF0ZTwgPiAKK3N0cnVjdCBzeW50aGVzaXplX2ltcGxfbzwgQk9PU1RfRlRfZmxhZ3MsIEJPT1NUX0ZUX2NjX2lkLCAxMSA+IAoreyAKK3RlbXBsYXRlPHR5cGVuYW1lIFM+IHN0cnVjdCBzeW50aGVzaXplX2ltcGxfaQoreworcHJpdmF0ZToKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpiZWdpbjxTPiA6OnR5cGUgaXRlcl8wOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMCA+IDo6dHlwZSBpdGVyXzE7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xID4gOjp0eXBlIGl0ZXJfMjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIgPiA6OnR5cGUgaXRlcl8zOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMyA+IDo6dHlwZSBpdGVyXzQ7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl80ID4gOjp0eXBlIGl0ZXJfNTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzUgPiA6OnR5cGUgaXRlcl82OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNiA+IDo6dHlwZSBpdGVyXzc7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl83ID4gOjp0eXBlIGl0ZXJfODsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzggPiA6OnR5cGUgaXRlcl85OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfOSA+IDo6dHlwZSBpdGVyXzEwOworcHVibGljOgordHlwZWRlZiB0eXBlbmFtZSBkZXRhaWw6OkJPT1NUX0ZUX21ha2VfdHlwZShCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZCwxMCkgCis8IHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMCA+IDo6dHlwZSAKKywgdHlwZW5hbWUgZGV0YWlsOjpjdl90cmFpdHM8IAordHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xID4gOjp0eXBlID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzMgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl80ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzYgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl83ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfOCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzkgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMCA+IDo6dHlwZQorPiA6OnR5cGUgdHlwZTsKK307Cit9OworIyB1bmRlZiBCT09TVF9GVF9tYWtlX3R5cGUKKyMgdW5kZWYgQk9PU1RfRlRfbWFrZV90eXBlX2ltcGwKKwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvZnVuY3Rpb25fdHlwZXMvZGV0YWlsL3N5bnRoZXNpemVfaW1wbC9hcml0eTIwXzAuaHBwIGIvbmRuYm9vc3QvZnVuY3Rpb25fdHlwZXMvZGV0YWlsL3N5bnRoZXNpemVfaW1wbC9hcml0eTIwXzAuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg2OTg4ZDcKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9mdW5jdGlvbl90eXBlcy9kZXRhaWwvc3ludGhlc2l6ZV9pbXBsL2FyaXR5MjBfMC5ocHAKQEAgLTAsMCArMSw1MTcgQEAKKworLy8gKEMpIENvcHlyaWdodCBUb2JpYXMgU2Nod2luZ2VyCisvLworLy8gVXNlIG1vZGlmaWNhdGlvbiBhbmQgZGlzdHJpYnV0aW9uIGFyZSBzdWJqZWN0IHRvIHRoZSBib29zdCBTb2Z0d2FyZSBMaWNlbnNlLAorLy8gVmVyc2lvbiAxLjAuIChTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KS4KKworLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworLy8gbm8gaW5jbHVkZSBndWFyZHMsIHRoaXMgZmlsZSBpcyBpbnRlbmRlZCBmb3IgbXVsdGlwbGUgaW5jbHVzaW9uCisKKy8vIGlucHV0OiAgQk9PU1RfRlRfc3ludGF4ICAgICB0eXBlIG1hY3JvIHRvIHVzZQorLy8gaW5wdXQ6ICBCT09TVF9GVF9jYyAgICAgICAgIGVtcHR5IG9yIGNjIHNwZWNpZmllciAKKy8vIGlucHV0OiAgQk9PU1RfRlRfZWxsICAgICAgICBlbXB0eSBvciAiLi4uIgorLy8gaW5wdXQ6ICBCT09TVF9GVF9jdiAgICAgICAgIGVtcHR5IG9yIGN2IHF1YWxpZmllcnMKKy8vIGlucHV0OiAgQk9PU1RfRlRfZmxhZ3MgICAgICBzaW5nbGUgZGVjaW1hbCBpbnRlZ2VyIGVuY29kaW5nIHRoZSBmbGFncworLy8gb3V0cHV0OiBCT09TVF9GVF9uICAgICAgICAgIG51bWJlciBvZiBjb21wb25lbnQgdHlwZXMgKGFyaXR5KzEpCisvLyBvdXRwdXQ6IEJPT1NUX0ZUX2FyaXR5ICAgICAgY3VycmVudCBhcml0eQorLy8gb3V0cHV0OiBCT09TVF9GVF90eXBlICAgICAgIG1hY3JvIHRoYXQgZXhwYW5kcyB0byB0aGUgdHlwZQorLy8gb3V0cHV0OiBCT09TVF9GVF90cGxhcmdzKHApIHRlbXBsYXRlIGFyZ3VtZW50cyB3aXRoIGdpdmVuIHByZWZpeAorLy8gb3V0cHV0OiBCT09TVF9GVF9wYXJhbXMocCkgIHBhcmFtZXRlcnMgd2l0aCBnaXZlbiBwcmVmaXgKKworIyBpbmNsdWRlIDxuZG5ib29zdC9mdW5jdGlvbl90eXBlcy9kZXRhaWwvc3ludGhlc2l6ZV9pbXBsL2FyaXR5MTBfMC5ocHA+CisjIGRlZmluZSBCT09TVF9GVF9tYWtlX3R5cGUoZmxhZ3MsY2MsYXJpdHkpIEJPT1NUX0ZUX21ha2VfdHlwZV9pbXBsKGZsYWdzLGNjLGFyaXR5KQorIyBkZWZpbmUgQk9PU1RfRlRfbWFrZV90eXBlX2ltcGwoZmxhZ3MsY2MsYXJpdHkpIG1ha2VfdHlwZV8gIyMgZmxhZ3MgIyMgXyAjIyBjYyAjIyBfICMjIGFyaXR5Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgUiAsIHR5cGVuYW1lIFQwICwgdHlwZW5hbWUgVDEgLCB0eXBlbmFtZSBUMiAsIHR5cGVuYW1lIFQzICwgdHlwZW5hbWUgVDQgLCB0eXBlbmFtZSBUNSAsIHR5cGVuYW1lIFQ2ICwgdHlwZW5hbWUgVDcgLCB0eXBlbmFtZSBUOCAsIHR5cGVuYW1lIFQ5ICwgdHlwZW5hbWUgVDEwID4KK3N0cnVjdCBCT09TVF9GVF9tYWtlX3R5cGUoQk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQsMTEpCit7Cit0eXBlZGVmIEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYyx0eXBlIEJPT1NUX1BQX0VNUFRZKSAoVDAgLCBUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdiA7Cit9OwordGVtcGxhdGU8ID4gCitzdHJ1Y3Qgc3ludGhlc2l6ZV9pbXBsX288IEJPT1NUX0ZUX2ZsYWdzLCBCT09TVF9GVF9jY19pZCwgMTIgPiAKK3sgCit0ZW1wbGF0ZTx0eXBlbmFtZSBTPiBzdHJ1Y3Qgc3ludGhlc2l6ZV9pbXBsX2kKK3sKK3ByaXZhdGU6Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6YmVnaW48Uz4gOjp0eXBlIGl0ZXJfMDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzAgPiA6OnR5cGUgaXRlcl8xOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMSA+IDo6dHlwZSBpdGVyXzI7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yID4gOjp0eXBlIGl0ZXJfMzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzMgPiA6OnR5cGUgaXRlcl80OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNCA+IDo6dHlwZSBpdGVyXzU7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl81ID4gOjp0eXBlIGl0ZXJfNjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzYgPiA6OnR5cGUgaXRlcl83OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNyA+IDo6dHlwZSBpdGVyXzg7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl84ID4gOjp0eXBlIGl0ZXJfOTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzkgPiA6OnR5cGUgaXRlcl8xMDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzEwID4gOjp0eXBlIGl0ZXJfMTE7CitwdWJsaWM6Cit0eXBlZGVmIHR5cGVuYW1lIGRldGFpbDo6Qk9PU1RfRlRfbWFrZV90eXBlKEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDExKSAKKzwgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8wID4gOjp0eXBlIAorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzEgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzQgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl81ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzcgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl84ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfOSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzEwID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTEgPiA6OnR5cGUKKz4gOjp0eXBlIHR5cGU7Cit9OworfTsKK3RlbXBsYXRlPCB0eXBlbmFtZSBSICwgdHlwZW5hbWUgVDAgLCB0eXBlbmFtZSBUMSAsIHR5cGVuYW1lIFQyICwgdHlwZW5hbWUgVDMgLCB0eXBlbmFtZSBUNCAsIHR5cGVuYW1lIFQ1ICwgdHlwZW5hbWUgVDYgLCB0eXBlbmFtZSBUNyAsIHR5cGVuYW1lIFQ4ICwgdHlwZW5hbWUgVDkgLCB0eXBlbmFtZSBUMTAgLCB0eXBlbmFtZSBUMTEgPgorc3RydWN0IEJPT1NUX0ZUX21ha2VfdHlwZShCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZCwxMikKK3sKK3R5cGVkZWYgQk9PU1RfRlRfc3ludGF4KEJPT1NUX0ZUX2NjLHR5cGUgQk9PU1RfUFBfRU1QVFkpIChUMCAsIFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2IDsKK307Cit0ZW1wbGF0ZTwgPiAKK3N0cnVjdCBzeW50aGVzaXplX2ltcGxfbzwgQk9PU1RfRlRfZmxhZ3MsIEJPT1NUX0ZUX2NjX2lkLCAxMyA+IAoreyAKK3RlbXBsYXRlPHR5cGVuYW1lIFM+IHN0cnVjdCBzeW50aGVzaXplX2ltcGxfaQoreworcHJpdmF0ZToKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpiZWdpbjxTPiA6OnR5cGUgaXRlcl8wOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMCA+IDo6dHlwZSBpdGVyXzE7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xID4gOjp0eXBlIGl0ZXJfMjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIgPiA6OnR5cGUgaXRlcl8zOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMyA+IDo6dHlwZSBpdGVyXzQ7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl80ID4gOjp0eXBlIGl0ZXJfNTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzUgPiA6OnR5cGUgaXRlcl82OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNiA+IDo6dHlwZSBpdGVyXzc7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl83ID4gOjp0eXBlIGl0ZXJfODsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzggPiA6OnR5cGUgaXRlcl85OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfOSA+IDo6dHlwZSBpdGVyXzEwOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTAgPiA6OnR5cGUgaXRlcl8xMTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzExID4gOjp0eXBlIGl0ZXJfMTI7CitwdWJsaWM6Cit0eXBlZGVmIHR5cGVuYW1lIGRldGFpbDo6Qk9PU1RfRlRfbWFrZV90eXBlKEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDEyKSAKKzwgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8wID4gOjp0eXBlIAorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzEgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzQgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl81ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzcgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl84ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfOSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzEwID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTEgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMiA+IDo6dHlwZQorPiA6OnR5cGUgdHlwZTsKK307Cit9OwordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIgLCB0eXBlbmFtZSBUMyAsIHR5cGVuYW1lIFQ0ICwgdHlwZW5hbWUgVDUgLCB0eXBlbmFtZSBUNiAsIHR5cGVuYW1lIFQ3ICwgdHlwZW5hbWUgVDggLCB0eXBlbmFtZSBUOSAsIHR5cGVuYW1lIFQxMCAsIHR5cGVuYW1lIFQxMSAsIHR5cGVuYW1lIFQxMiA+CitzdHJ1Y3QgQk9PU1RfRlRfbWFrZV90eXBlKEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDEzKQorewordHlwZWRlZiBCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsdHlwZSBCT09TVF9QUF9FTVBUWSkgKFQwICwgVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyIEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YgOworfTsKK3RlbXBsYXRlPCA+IAorc3RydWN0IHN5bnRoZXNpemVfaW1wbF9vPCBCT09TVF9GVF9mbGFncywgQk9PU1RfRlRfY2NfaWQsIDE0ID4gCit7IAordGVtcGxhdGU8dHlwZW5hbWUgUz4gc3RydWN0IHN5bnRoZXNpemVfaW1wbF9pCit7Citwcml2YXRlOgordHlwZWRlZiB0eXBlbmFtZSBtcGw6OmJlZ2luPFM+IDo6dHlwZSBpdGVyXzA7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8wID4gOjp0eXBlIGl0ZXJfMTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzEgPiA6OnR5cGUgaXRlcl8yOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMiA+IDo6dHlwZSBpdGVyXzM7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zID4gOjp0eXBlIGl0ZXJfNDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzQgPiA6OnR5cGUgaXRlcl81OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNSA+IDo6dHlwZSBpdGVyXzY7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl82ID4gOjp0eXBlIGl0ZXJfNzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzcgPiA6OnR5cGUgaXRlcl84OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfOCA+IDo6dHlwZSBpdGVyXzk7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl85ID4gOjp0eXBlIGl0ZXJfMTA7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xMCA+IDo6dHlwZSBpdGVyXzExOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTEgPiA6OnR5cGUgaXRlcl8xMjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzEyID4gOjp0eXBlIGl0ZXJfMTM7CitwdWJsaWM6Cit0eXBlZGVmIHR5cGVuYW1lIGRldGFpbDo6Qk9PU1RfRlRfbWFrZV90eXBlKEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDEzKSAKKzwgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8wID4gOjp0eXBlIAorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzEgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzQgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl81ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzcgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl84ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfOSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzEwID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTEgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzEzID4gOjp0eXBlCis+IDo6dHlwZSB0eXBlOworfTsKK307Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgUiAsIHR5cGVuYW1lIFQwICwgdHlwZW5hbWUgVDEgLCB0eXBlbmFtZSBUMiAsIHR5cGVuYW1lIFQzICwgdHlwZW5hbWUgVDQgLCB0eXBlbmFtZSBUNSAsIHR5cGVuYW1lIFQ2ICwgdHlwZW5hbWUgVDcgLCB0eXBlbmFtZSBUOCAsIHR5cGVuYW1lIFQ5ICwgdHlwZW5hbWUgVDEwICwgdHlwZW5hbWUgVDExICwgdHlwZW5hbWUgVDEyICwgdHlwZW5hbWUgVDEzID4KK3N0cnVjdCBCT09TVF9GVF9tYWtlX3R5cGUoQk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQsMTQpCit7Cit0eXBlZGVmIEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYyx0eXBlIEJPT1NUX1BQX0VNUFRZKSAoVDAgLCBUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgLCBUMTIgLCBUMTMgQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdiA7Cit9OwordGVtcGxhdGU8ID4gCitzdHJ1Y3Qgc3ludGhlc2l6ZV9pbXBsX288IEJPT1NUX0ZUX2ZsYWdzLCBCT09TVF9GVF9jY19pZCwgMTUgPiAKK3sgCit0ZW1wbGF0ZTx0eXBlbmFtZSBTPiBzdHJ1Y3Qgc3ludGhlc2l6ZV9pbXBsX2kKK3sKK3ByaXZhdGU6Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6YmVnaW48Uz4gOjp0eXBlIGl0ZXJfMDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzAgPiA6OnR5cGUgaXRlcl8xOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMSA+IDo6dHlwZSBpdGVyXzI7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yID4gOjp0eXBlIGl0ZXJfMzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzMgPiA6OnR5cGUgaXRlcl80OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNCA+IDo6dHlwZSBpdGVyXzU7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl81ID4gOjp0eXBlIGl0ZXJfNjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzYgPiA6OnR5cGUgaXRlcl83OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNyA+IDo6dHlwZSBpdGVyXzg7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl84ID4gOjp0eXBlIGl0ZXJfOTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzkgPiA6OnR5cGUgaXRlcl8xMDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzEwID4gOjp0eXBlIGl0ZXJfMTE7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xMSA+IDo6dHlwZSBpdGVyXzEyOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTIgPiA6OnR5cGUgaXRlcl8xMzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzEzID4gOjp0eXBlIGl0ZXJfMTQ7CitwdWJsaWM6Cit0eXBlZGVmIHR5cGVuYW1lIGRldGFpbDo6Qk9PU1RfRlRfbWFrZV90eXBlKEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDE0KSAKKzwgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8wID4gOjp0eXBlIAorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzEgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzQgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl81ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzcgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl84ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfOSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzEwID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTEgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzEzID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTQgPiA6OnR5cGUKKz4gOjp0eXBlIHR5cGU7Cit9OworfTsKK3RlbXBsYXRlPCB0eXBlbmFtZSBSICwgdHlwZW5hbWUgVDAgLCB0eXBlbmFtZSBUMSAsIHR5cGVuYW1lIFQyICwgdHlwZW5hbWUgVDMgLCB0eXBlbmFtZSBUNCAsIHR5cGVuYW1lIFQ1ICwgdHlwZW5hbWUgVDYgLCB0eXBlbmFtZSBUNyAsIHR5cGVuYW1lIFQ4ICwgdHlwZW5hbWUgVDkgLCB0eXBlbmFtZSBUMTAgLCB0eXBlbmFtZSBUMTEgLCB0eXBlbmFtZSBUMTIgLCB0eXBlbmFtZSBUMTMgLCB0eXBlbmFtZSBUMTQgPgorc3RydWN0IEJPT1NUX0ZUX21ha2VfdHlwZShCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZCwxNSkKK3sKK3R5cGVkZWYgQk9PU1RfRlRfc3ludGF4KEJPT1NUX0ZUX2NjLHR5cGUgQk9PU1RfUFBfRU1QVFkpIChUMCAsIFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2IDsKK307Cit0ZW1wbGF0ZTwgPiAKK3N0cnVjdCBzeW50aGVzaXplX2ltcGxfbzwgQk9PU1RfRlRfZmxhZ3MsIEJPT1NUX0ZUX2NjX2lkLCAxNiA+IAoreyAKK3RlbXBsYXRlPHR5cGVuYW1lIFM+IHN0cnVjdCBzeW50aGVzaXplX2ltcGxfaQoreworcHJpdmF0ZToKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpiZWdpbjxTPiA6OnR5cGUgaXRlcl8wOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMCA+IDo6dHlwZSBpdGVyXzE7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xID4gOjp0eXBlIGl0ZXJfMjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIgPiA6OnR5cGUgaXRlcl8zOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMyA+IDo6dHlwZSBpdGVyXzQ7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl80ID4gOjp0eXBlIGl0ZXJfNTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzUgPiA6OnR5cGUgaXRlcl82OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNiA+IDo6dHlwZSBpdGVyXzc7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl83ID4gOjp0eXBlIGl0ZXJfODsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzggPiA6OnR5cGUgaXRlcl85OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfOSA+IDo6dHlwZSBpdGVyXzEwOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTAgPiA6OnR5cGUgaXRlcl8xMTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzExID4gOjp0eXBlIGl0ZXJfMTI7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xMiA+IDo6dHlwZSBpdGVyXzEzOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTMgPiA6OnR5cGUgaXRlcl8xNDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE0ID4gOjp0eXBlIGl0ZXJfMTU7CitwdWJsaWM6Cit0eXBlZGVmIHR5cGVuYW1lIGRldGFpbDo6Qk9PU1RfRlRfbWFrZV90eXBlKEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDE1KSAKKzwgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8wID4gOjp0eXBlIAorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzEgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzQgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl81ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzcgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl84ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfOSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzEwID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTEgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzEzID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTQgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xNSA+IDo6dHlwZQorPiA6OnR5cGUgdHlwZTsKK307Cit9OwordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIgLCB0eXBlbmFtZSBUMyAsIHR5cGVuYW1lIFQ0ICwgdHlwZW5hbWUgVDUgLCB0eXBlbmFtZSBUNiAsIHR5cGVuYW1lIFQ3ICwgdHlwZW5hbWUgVDggLCB0eXBlbmFtZSBUOSAsIHR5cGVuYW1lIFQxMCAsIHR5cGVuYW1lIFQxMSAsIHR5cGVuYW1lIFQxMiAsIHR5cGVuYW1lIFQxMyAsIHR5cGVuYW1lIFQxNCAsIHR5cGVuYW1lIFQxNSA+CitzdHJ1Y3QgQk9PU1RfRlRfbWFrZV90eXBlKEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDE2KQorewordHlwZWRlZiBCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsdHlwZSBCT09TVF9QUF9FTVBUWSkgKFQwICwgVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzICwgVDE0ICwgVDE1IEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YgOworfTsKK3RlbXBsYXRlPCA+IAorc3RydWN0IHN5bnRoZXNpemVfaW1wbF9vPCBCT09TVF9GVF9mbGFncywgQk9PU1RfRlRfY2NfaWQsIDE3ID4gCit7IAordGVtcGxhdGU8dHlwZW5hbWUgUz4gc3RydWN0IHN5bnRoZXNpemVfaW1wbF9pCit7Citwcml2YXRlOgordHlwZWRlZiB0eXBlbmFtZSBtcGw6OmJlZ2luPFM+IDo6dHlwZSBpdGVyXzA7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8wID4gOjp0eXBlIGl0ZXJfMTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzEgPiA6OnR5cGUgaXRlcl8yOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMiA+IDo6dHlwZSBpdGVyXzM7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zID4gOjp0eXBlIGl0ZXJfNDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzQgPiA6OnR5cGUgaXRlcl81OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNSA+IDo6dHlwZSBpdGVyXzY7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl82ID4gOjp0eXBlIGl0ZXJfNzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzcgPiA6OnR5cGUgaXRlcl84OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfOCA+IDo6dHlwZSBpdGVyXzk7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl85ID4gOjp0eXBlIGl0ZXJfMTA7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xMCA+IDo6dHlwZSBpdGVyXzExOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTEgPiA6OnR5cGUgaXRlcl8xMjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzEyID4gOjp0eXBlIGl0ZXJfMTM7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xMyA+IDo6dHlwZSBpdGVyXzE0OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTQgPiA6OnR5cGUgaXRlcl8xNTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE1ID4gOjp0eXBlIGl0ZXJfMTY7CitwdWJsaWM6Cit0eXBlZGVmIHR5cGVuYW1lIGRldGFpbDo6Qk9PU1RfRlRfbWFrZV90eXBlKEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDE2KSAKKzwgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8wID4gOjp0eXBlIAorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzEgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzQgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl81ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzcgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl84ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfOSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzEwID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTEgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzEzID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTQgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xNSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE2ID4gOjp0eXBlCis+IDo6dHlwZSB0eXBlOworfTsKK307Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgUiAsIHR5cGVuYW1lIFQwICwgdHlwZW5hbWUgVDEgLCB0eXBlbmFtZSBUMiAsIHR5cGVuYW1lIFQzICwgdHlwZW5hbWUgVDQgLCB0eXBlbmFtZSBUNSAsIHR5cGVuYW1lIFQ2ICwgdHlwZW5hbWUgVDcgLCB0eXBlbmFtZSBUOCAsIHR5cGVuYW1lIFQ5ICwgdHlwZW5hbWUgVDEwICwgdHlwZW5hbWUgVDExICwgdHlwZW5hbWUgVDEyICwgdHlwZW5hbWUgVDEzICwgdHlwZW5hbWUgVDE0ICwgdHlwZW5hbWUgVDE1ICwgdHlwZW5hbWUgVDE2ID4KK3N0cnVjdCBCT09TVF9GVF9tYWtlX3R5cGUoQk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQsMTcpCit7Cit0eXBlZGVmIEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYyx0eXBlIEJPT1NUX1BQX0VNUFRZKSAoVDAgLCBUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgLCBUMTIgLCBUMTMgLCBUMTQgLCBUMTUgLCBUMTYgQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdiA7Cit9OwordGVtcGxhdGU8ID4gCitzdHJ1Y3Qgc3ludGhlc2l6ZV9pbXBsX288IEJPT1NUX0ZUX2ZsYWdzLCBCT09TVF9GVF9jY19pZCwgMTggPiAKK3sgCit0ZW1wbGF0ZTx0eXBlbmFtZSBTPiBzdHJ1Y3Qgc3ludGhlc2l6ZV9pbXBsX2kKK3sKK3ByaXZhdGU6Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6YmVnaW48Uz4gOjp0eXBlIGl0ZXJfMDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzAgPiA6OnR5cGUgaXRlcl8xOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMSA+IDo6dHlwZSBpdGVyXzI7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yID4gOjp0eXBlIGl0ZXJfMzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzMgPiA6OnR5cGUgaXRlcl80OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNCA+IDo6dHlwZSBpdGVyXzU7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl81ID4gOjp0eXBlIGl0ZXJfNjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzYgPiA6OnR5cGUgaXRlcl83OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNyA+IDo6dHlwZSBpdGVyXzg7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl84ID4gOjp0eXBlIGl0ZXJfOTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzkgPiA6OnR5cGUgaXRlcl8xMDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzEwID4gOjp0eXBlIGl0ZXJfMTE7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xMSA+IDo6dHlwZSBpdGVyXzEyOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTIgPiA6OnR5cGUgaXRlcl8xMzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzEzID4gOjp0eXBlIGl0ZXJfMTQ7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xNCA+IDo6dHlwZSBpdGVyXzE1OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTUgPiA6OnR5cGUgaXRlcl8xNjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE2ID4gOjp0eXBlIGl0ZXJfMTc7CitwdWJsaWM6Cit0eXBlZGVmIHR5cGVuYW1lIGRldGFpbDo6Qk9PU1RfRlRfbWFrZV90eXBlKEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDE3KSAKKzwgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8wID4gOjp0eXBlIAorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzEgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzQgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl81ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzcgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl84ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfOSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzEwID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTEgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzEzID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTQgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xNSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE2ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTcgPiA6OnR5cGUKKz4gOjp0eXBlIHR5cGU7Cit9OworfTsKK3RlbXBsYXRlPCB0eXBlbmFtZSBSICwgdHlwZW5hbWUgVDAgLCB0eXBlbmFtZSBUMSAsIHR5cGVuYW1lIFQyICwgdHlwZW5hbWUgVDMgLCB0eXBlbmFtZSBUNCAsIHR5cGVuYW1lIFQ1ICwgdHlwZW5hbWUgVDYgLCB0eXBlbmFtZSBUNyAsIHR5cGVuYW1lIFQ4ICwgdHlwZW5hbWUgVDkgLCB0eXBlbmFtZSBUMTAgLCB0eXBlbmFtZSBUMTEgLCB0eXBlbmFtZSBUMTIgLCB0eXBlbmFtZSBUMTMgLCB0eXBlbmFtZSBUMTQgLCB0eXBlbmFtZSBUMTUgLCB0eXBlbmFtZSBUMTYgLCB0eXBlbmFtZSBUMTcgPgorc3RydWN0IEJPT1NUX0ZUX21ha2VfdHlwZShCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZCwxOCkKK3sKK3R5cGVkZWYgQk9PU1RfRlRfc3ludGF4KEJPT1NUX0ZUX2NjLHR5cGUgQk9PU1RfUFBfRU1QVFkpIChUMCAsIFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2IDsKK307Cit0ZW1wbGF0ZTwgPiAKK3N0cnVjdCBzeW50aGVzaXplX2ltcGxfbzwgQk9PU1RfRlRfZmxhZ3MsIEJPT1NUX0ZUX2NjX2lkLCAxOSA+IAoreyAKK3RlbXBsYXRlPHR5cGVuYW1lIFM+IHN0cnVjdCBzeW50aGVzaXplX2ltcGxfaQoreworcHJpdmF0ZToKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpiZWdpbjxTPiA6OnR5cGUgaXRlcl8wOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMCA+IDo6dHlwZSBpdGVyXzE7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xID4gOjp0eXBlIGl0ZXJfMjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIgPiA6OnR5cGUgaXRlcl8zOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMyA+IDo6dHlwZSBpdGVyXzQ7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl80ID4gOjp0eXBlIGl0ZXJfNTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzUgPiA6OnR5cGUgaXRlcl82OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNiA+IDo6dHlwZSBpdGVyXzc7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl83ID4gOjp0eXBlIGl0ZXJfODsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzggPiA6OnR5cGUgaXRlcl85OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfOSA+IDo6dHlwZSBpdGVyXzEwOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTAgPiA6OnR5cGUgaXRlcl8xMTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzExID4gOjp0eXBlIGl0ZXJfMTI7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xMiA+IDo6dHlwZSBpdGVyXzEzOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTMgPiA6OnR5cGUgaXRlcl8xNDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE0ID4gOjp0eXBlIGl0ZXJfMTU7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xNSA+IDo6dHlwZSBpdGVyXzE2OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTYgPiA6OnR5cGUgaXRlcl8xNzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE3ID4gOjp0eXBlIGl0ZXJfMTg7CitwdWJsaWM6Cit0eXBlZGVmIHR5cGVuYW1lIGRldGFpbDo6Qk9PU1RfRlRfbWFrZV90eXBlKEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDE4KSAKKzwgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8wID4gOjp0eXBlIAorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzEgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzQgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl81ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzcgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl84ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfOSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzEwID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTEgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzEzID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTQgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xNSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE2ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTcgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xOCA+IDo6dHlwZQorPiA6OnR5cGUgdHlwZTsKK307Cit9OwordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIgLCB0eXBlbmFtZSBUMyAsIHR5cGVuYW1lIFQ0ICwgdHlwZW5hbWUgVDUgLCB0eXBlbmFtZSBUNiAsIHR5cGVuYW1lIFQ3ICwgdHlwZW5hbWUgVDggLCB0eXBlbmFtZSBUOSAsIHR5cGVuYW1lIFQxMCAsIHR5cGVuYW1lIFQxMSAsIHR5cGVuYW1lIFQxMiAsIHR5cGVuYW1lIFQxMyAsIHR5cGVuYW1lIFQxNCAsIHR5cGVuYW1lIFQxNSAsIHR5cGVuYW1lIFQxNiAsIHR5cGVuYW1lIFQxNyAsIHR5cGVuYW1lIFQxOCA+CitzdHJ1Y3QgQk9PU1RfRlRfbWFrZV90eXBlKEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDE5KQorewordHlwZWRlZiBCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsdHlwZSBCT09TVF9QUF9FTVBUWSkgKFQwICwgVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzICwgVDE0ICwgVDE1ICwgVDE2ICwgVDE3ICwgVDE4IEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YgOworfTsKK3RlbXBsYXRlPCA+IAorc3RydWN0IHN5bnRoZXNpemVfaW1wbF9vPCBCT09TVF9GVF9mbGFncywgQk9PU1RfRlRfY2NfaWQsIDIwID4gCit7IAordGVtcGxhdGU8dHlwZW5hbWUgUz4gc3RydWN0IHN5bnRoZXNpemVfaW1wbF9pCit7Citwcml2YXRlOgordHlwZWRlZiB0eXBlbmFtZSBtcGw6OmJlZ2luPFM+IDo6dHlwZSBpdGVyXzA7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8wID4gOjp0eXBlIGl0ZXJfMTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzEgPiA6OnR5cGUgaXRlcl8yOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMiA+IDo6dHlwZSBpdGVyXzM7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zID4gOjp0eXBlIGl0ZXJfNDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzQgPiA6OnR5cGUgaXRlcl81OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNSA+IDo6dHlwZSBpdGVyXzY7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl82ID4gOjp0eXBlIGl0ZXJfNzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzcgPiA6OnR5cGUgaXRlcl84OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfOCA+IDo6dHlwZSBpdGVyXzk7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl85ID4gOjp0eXBlIGl0ZXJfMTA7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xMCA+IDo6dHlwZSBpdGVyXzExOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTEgPiA6OnR5cGUgaXRlcl8xMjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzEyID4gOjp0eXBlIGl0ZXJfMTM7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xMyA+IDo6dHlwZSBpdGVyXzE0OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTQgPiA6OnR5cGUgaXRlcl8xNTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE1ID4gOjp0eXBlIGl0ZXJfMTY7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xNiA+IDo6dHlwZSBpdGVyXzE3OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTcgPiA6OnR5cGUgaXRlcl8xODsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE4ID4gOjp0eXBlIGl0ZXJfMTk7CitwdWJsaWM6Cit0eXBlZGVmIHR5cGVuYW1lIGRldGFpbDo6Qk9PU1RfRlRfbWFrZV90eXBlKEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDE5KSAKKzwgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8wID4gOjp0eXBlIAorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzEgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzQgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl81ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzcgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl84ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfOSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzEwID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTEgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzEzID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTQgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xNSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE2ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTcgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xOCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE5ID4gOjp0eXBlCis+IDo6dHlwZSB0eXBlOworfTsKK307Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgUiAsIHR5cGVuYW1lIFQwICwgdHlwZW5hbWUgVDEgLCB0eXBlbmFtZSBUMiAsIHR5cGVuYW1lIFQzICwgdHlwZW5hbWUgVDQgLCB0eXBlbmFtZSBUNSAsIHR5cGVuYW1lIFQ2ICwgdHlwZW5hbWUgVDcgLCB0eXBlbmFtZSBUOCAsIHR5cGVuYW1lIFQ5ICwgdHlwZW5hbWUgVDEwICwgdHlwZW5hbWUgVDExICwgdHlwZW5hbWUgVDEyICwgdHlwZW5hbWUgVDEzICwgdHlwZW5hbWUgVDE0ICwgdHlwZW5hbWUgVDE1ICwgdHlwZW5hbWUgVDE2ICwgdHlwZW5hbWUgVDE3ICwgdHlwZW5hbWUgVDE4ICwgdHlwZW5hbWUgVDE5ID4KK3N0cnVjdCBCT09TVF9GVF9tYWtlX3R5cGUoQk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQsMjApCit7Cit0eXBlZGVmIEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYyx0eXBlIEJPT1NUX1BQX0VNUFRZKSAoVDAgLCBUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgLCBUMTIgLCBUMTMgLCBUMTQgLCBUMTUgLCBUMTYgLCBUMTcgLCBUMTggLCBUMTkgQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdiA7Cit9OwordGVtcGxhdGU8ID4gCitzdHJ1Y3Qgc3ludGhlc2l6ZV9pbXBsX288IEJPT1NUX0ZUX2ZsYWdzLCBCT09TVF9GVF9jY19pZCwgMjEgPiAKK3sgCit0ZW1wbGF0ZTx0eXBlbmFtZSBTPiBzdHJ1Y3Qgc3ludGhlc2l6ZV9pbXBsX2kKK3sKK3ByaXZhdGU6Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6YmVnaW48Uz4gOjp0eXBlIGl0ZXJfMDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzAgPiA6OnR5cGUgaXRlcl8xOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMSA+IDo6dHlwZSBpdGVyXzI7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yID4gOjp0eXBlIGl0ZXJfMzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzMgPiA6OnR5cGUgaXRlcl80OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNCA+IDo6dHlwZSBpdGVyXzU7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl81ID4gOjp0eXBlIGl0ZXJfNjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzYgPiA6OnR5cGUgaXRlcl83OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNyA+IDo6dHlwZSBpdGVyXzg7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl84ID4gOjp0eXBlIGl0ZXJfOTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzkgPiA6OnR5cGUgaXRlcl8xMDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzEwID4gOjp0eXBlIGl0ZXJfMTE7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xMSA+IDo6dHlwZSBpdGVyXzEyOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTIgPiA6OnR5cGUgaXRlcl8xMzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzEzID4gOjp0eXBlIGl0ZXJfMTQ7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xNCA+IDo6dHlwZSBpdGVyXzE1OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTUgPiA6OnR5cGUgaXRlcl8xNjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE2ID4gOjp0eXBlIGl0ZXJfMTc7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xNyA+IDo6dHlwZSBpdGVyXzE4OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTggPiA6OnR5cGUgaXRlcl8xOTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE5ID4gOjp0eXBlIGl0ZXJfMjA7CitwdWJsaWM6Cit0eXBlZGVmIHR5cGVuYW1lIGRldGFpbDo6Qk9PU1RfRlRfbWFrZV90eXBlKEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDIwKSAKKzwgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8wID4gOjp0eXBlIAorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzEgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzQgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl81ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzcgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl84ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfOSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzEwID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTEgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzEzID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTQgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xNSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE2ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTcgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xOCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE5ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjAgPiA6OnR5cGUKKz4gOjp0eXBlIHR5cGU7Cit9OworfTsKKyMgdW5kZWYgQk9PU1RfRlRfbWFrZV90eXBlCisjIHVuZGVmIEJPT1NUX0ZUX21ha2VfdHlwZV9pbXBsCisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L2Z1bmN0aW9uX3R5cGVzL2RldGFpbC9zeW50aGVzaXplX2ltcGwvYXJpdHkyMF8xLmhwcCBiL25kbmJvb3N0L2Z1bmN0aW9uX3R5cGVzL2RldGFpbC9zeW50aGVzaXplX2ltcGwvYXJpdHkyMF8xLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMWU2NjQ1Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvZnVuY3Rpb25fdHlwZXMvZGV0YWlsL3N5bnRoZXNpemVfaW1wbC9hcml0eTIwXzEuaHBwCkBAIC0wLDAgKzEsNTI3IEBACisKKy8vIChDKSBDb3B5cmlnaHQgVG9iaWFzIFNjaHdpbmdlcgorLy8KKy8vIFVzZSBtb2RpZmljYXRpb24gYW5kIGRpc3RyaWJ1dGlvbiBhcmUgc3ViamVjdCB0byB0aGUgYm9vc3QgU29mdHdhcmUgTGljZW5zZSwKKy8vIFZlcnNpb24gMS4wLiAoU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkuCisKKy8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKy8vIG5vIGluY2x1ZGUgZ3VhcmRzLCB0aGlzIGZpbGUgaXMgaW50ZW5kZWQgZm9yIG11bHRpcGxlIGluY2x1c2lvbgorCisvLyBpbnB1dDogIEJPT1NUX0ZUX3N5bnRheCAgICAgdHlwZSBtYWNybyB0byB1c2UKKy8vIGlucHV0OiAgQk9PU1RfRlRfY2MgICAgICAgICBlbXB0eSBvciBjYyBzcGVjaWZpZXIgCisvLyBpbnB1dDogIEJPT1NUX0ZUX2VsbCAgICAgICAgZW1wdHkgb3IgIi4uLiIKKy8vIGlucHV0OiAgQk9PU1RfRlRfY3YgICAgICAgICBlbXB0eSBvciBjdiBxdWFsaWZpZXJzCisvLyBpbnB1dDogIEJPT1NUX0ZUX2ZsYWdzICAgICAgc2luZ2xlIGRlY2ltYWwgaW50ZWdlciBlbmNvZGluZyB0aGUgZmxhZ3MKKy8vIG91dHB1dDogQk9PU1RfRlRfbiAgICAgICAgICBudW1iZXIgb2YgY29tcG9uZW50IHR5cGVzIChhcml0eSsxKQorLy8gb3V0cHV0OiBCT09TVF9GVF9hcml0eSAgICAgIGN1cnJlbnQgYXJpdHkKKy8vIG91dHB1dDogQk9PU1RfRlRfdHlwZSAgICAgICBtYWNybyB0aGF0IGV4cGFuZHMgdG8gdGhlIHR5cGUKKy8vIG91dHB1dDogQk9PU1RfRlRfdHBsYXJncyhwKSB0ZW1wbGF0ZSBhcmd1bWVudHMgd2l0aCBnaXZlbiBwcmVmaXgKKy8vIG91dHB1dDogQk9PU1RfRlRfcGFyYW1zKHApICBwYXJhbWV0ZXJzIHdpdGggZ2l2ZW4gcHJlZml4CisKKyMgaW5jbHVkZSA8bmRuYm9vc3QvZnVuY3Rpb25fdHlwZXMvZGV0YWlsL3N5bnRoZXNpemVfaW1wbC9hcml0eTEwXzEuaHBwPgorIyBkZWZpbmUgQk9PU1RfRlRfbWFrZV90eXBlKGZsYWdzLGNjLGFyaXR5KSBCT09TVF9GVF9tYWtlX3R5cGVfaW1wbChmbGFncyxjYyxhcml0eSkKKyMgZGVmaW5lIEJPT1NUX0ZUX21ha2VfdHlwZV9pbXBsKGZsYWdzLGNjLGFyaXR5KSBtYWtlX3R5cGVfICMjIGZsYWdzICMjIF8gIyMgY2MgIyMgXyAjIyBhcml0eQordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIgLCB0eXBlbmFtZSBUMyAsIHR5cGVuYW1lIFQ0ICwgdHlwZW5hbWUgVDUgLCB0eXBlbmFtZSBUNiAsIHR5cGVuYW1lIFQ3ICwgdHlwZW5hbWUgVDggLCB0eXBlbmFtZSBUOSAsIHR5cGVuYW1lIFQxMCA+CitzdHJ1Y3QgQk9PU1RfRlRfbWFrZV90eXBlKEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDExKQorewordHlwZWRlZiBCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsdHlwZSBCT09TVF9QUF9FTVBUWSkgKFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2IDsKK307Cit0ZW1wbGF0ZTwgPiAKK3N0cnVjdCBzeW50aGVzaXplX2ltcGxfbzwgQk9PU1RfRlRfZmxhZ3MsIEJPT1NUX0ZUX2NjX2lkLCAxMiA+IAoreyAKK3RlbXBsYXRlPHR5cGVuYW1lIFM+IHN0cnVjdCBzeW50aGVzaXplX2ltcGxfaQoreworcHJpdmF0ZToKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpiZWdpbjxTPiA6OnR5cGUgaXRlcl8wOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMCA+IDo6dHlwZSBpdGVyXzE7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xID4gOjp0eXBlIGl0ZXJfMjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIgPiA6OnR5cGUgaXRlcl8zOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMyA+IDo6dHlwZSBpdGVyXzQ7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl80ID4gOjp0eXBlIGl0ZXJfNTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzUgPiA6OnR5cGUgaXRlcl82OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNiA+IDo6dHlwZSBpdGVyXzc7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl83ID4gOjp0eXBlIGl0ZXJfODsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzggPiA6OnR5cGUgaXRlcl85OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfOSA+IDo6dHlwZSBpdGVyXzEwOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTAgPiA6OnR5cGUgaXRlcl8xMTsKK3B1YmxpYzoKK3R5cGVkZWYgdHlwZW5hbWUgZGV0YWlsOjpCT09TVF9GVF9tYWtlX3R5cGUoQk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQsMTEpIAorPCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzAgPiA6OnR5cGUgCissIHR5cGVuYW1lIGRldGFpbDo6Y3ZfdHJhaXRzPCAKK3R5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMSA+IDo6dHlwZSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzUgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl82ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzggPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl85ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTAgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMSA+IDo6dHlwZQorPiA6OnR5cGUgdHlwZTsKK307Cit9OwordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIgLCB0eXBlbmFtZSBUMyAsIHR5cGVuYW1lIFQ0ICwgdHlwZW5hbWUgVDUgLCB0eXBlbmFtZSBUNiAsIHR5cGVuYW1lIFQ3ICwgdHlwZW5hbWUgVDggLCB0eXBlbmFtZSBUOSAsIHR5cGVuYW1lIFQxMCAsIHR5cGVuYW1lIFQxMSA+CitzdHJ1Y3QgQk9PU1RfRlRfbWFrZV90eXBlKEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDEyKQorewordHlwZWRlZiBCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsdHlwZSBCT09TVF9QUF9FTVBUWSkgKFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2IDsKK307Cit0ZW1wbGF0ZTwgPiAKK3N0cnVjdCBzeW50aGVzaXplX2ltcGxfbzwgQk9PU1RfRlRfZmxhZ3MsIEJPT1NUX0ZUX2NjX2lkLCAxMyA+IAoreyAKK3RlbXBsYXRlPHR5cGVuYW1lIFM+IHN0cnVjdCBzeW50aGVzaXplX2ltcGxfaQoreworcHJpdmF0ZToKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpiZWdpbjxTPiA6OnR5cGUgaXRlcl8wOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMCA+IDo6dHlwZSBpdGVyXzE7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xID4gOjp0eXBlIGl0ZXJfMjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIgPiA6OnR5cGUgaXRlcl8zOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMyA+IDo6dHlwZSBpdGVyXzQ7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl80ID4gOjp0eXBlIGl0ZXJfNTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzUgPiA6OnR5cGUgaXRlcl82OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNiA+IDo6dHlwZSBpdGVyXzc7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl83ID4gOjp0eXBlIGl0ZXJfODsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzggPiA6OnR5cGUgaXRlcl85OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfOSA+IDo6dHlwZSBpdGVyXzEwOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTAgPiA6OnR5cGUgaXRlcl8xMTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzExID4gOjp0eXBlIGl0ZXJfMTI7CitwdWJsaWM6Cit0eXBlZGVmIHR5cGVuYW1lIGRldGFpbDo6Qk9PU1RfRlRfbWFrZV90eXBlKEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDEyKSAKKzwgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8wID4gOjp0eXBlIAorLCB0eXBlbmFtZSBkZXRhaWw6OmN2X3RyYWl0czwgCit0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzEgPiA6OnR5cGUgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzQgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl81ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzcgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl84ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfOSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzEwID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTEgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMiA+IDo6dHlwZQorPiA6OnR5cGUgdHlwZTsKK307Cit9OwordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIgLCB0eXBlbmFtZSBUMyAsIHR5cGVuYW1lIFQ0ICwgdHlwZW5hbWUgVDUgLCB0eXBlbmFtZSBUNiAsIHR5cGVuYW1lIFQ3ICwgdHlwZW5hbWUgVDggLCB0eXBlbmFtZSBUOSAsIHR5cGVuYW1lIFQxMCAsIHR5cGVuYW1lIFQxMSAsIHR5cGVuYW1lIFQxMiA+CitzdHJ1Y3QgQk9PU1RfRlRfbWFrZV90eXBlKEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDEzKQorewordHlwZWRlZiBCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsdHlwZSBCT09TVF9QUF9FTVBUWSkgKFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2IDsKK307Cit0ZW1wbGF0ZTwgPiAKK3N0cnVjdCBzeW50aGVzaXplX2ltcGxfbzwgQk9PU1RfRlRfZmxhZ3MsIEJPT1NUX0ZUX2NjX2lkLCAxNCA+IAoreyAKK3RlbXBsYXRlPHR5cGVuYW1lIFM+IHN0cnVjdCBzeW50aGVzaXplX2ltcGxfaQoreworcHJpdmF0ZToKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpiZWdpbjxTPiA6OnR5cGUgaXRlcl8wOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMCA+IDo6dHlwZSBpdGVyXzE7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xID4gOjp0eXBlIGl0ZXJfMjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIgPiA6OnR5cGUgaXRlcl8zOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMyA+IDo6dHlwZSBpdGVyXzQ7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl80ID4gOjp0eXBlIGl0ZXJfNTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzUgPiA6OnR5cGUgaXRlcl82OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNiA+IDo6dHlwZSBpdGVyXzc7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl83ID4gOjp0eXBlIGl0ZXJfODsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzggPiA6OnR5cGUgaXRlcl85OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfOSA+IDo6dHlwZSBpdGVyXzEwOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTAgPiA6OnR5cGUgaXRlcl8xMTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzExID4gOjp0eXBlIGl0ZXJfMTI7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xMiA+IDo6dHlwZSBpdGVyXzEzOworcHVibGljOgordHlwZWRlZiB0eXBlbmFtZSBkZXRhaWw6OkJPT1NUX0ZUX21ha2VfdHlwZShCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZCwxMykgCis8IHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMCA+IDo6dHlwZSAKKywgdHlwZW5hbWUgZGV0YWlsOjpjdl90cmFpdHM8IAordHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xID4gOjp0eXBlID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzMgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl80ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzYgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl83ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfOCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzkgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzExID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTIgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMyA+IDo6dHlwZQorPiA6OnR5cGUgdHlwZTsKK307Cit9OwordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIgLCB0eXBlbmFtZSBUMyAsIHR5cGVuYW1lIFQ0ICwgdHlwZW5hbWUgVDUgLCB0eXBlbmFtZSBUNiAsIHR5cGVuYW1lIFQ3ICwgdHlwZW5hbWUgVDggLCB0eXBlbmFtZSBUOSAsIHR5cGVuYW1lIFQxMCAsIHR5cGVuYW1lIFQxMSAsIHR5cGVuYW1lIFQxMiAsIHR5cGVuYW1lIFQxMyA+CitzdHJ1Y3QgQk9PU1RfRlRfbWFrZV90eXBlKEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDE0KQorewordHlwZWRlZiBCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsdHlwZSBCT09TVF9QUF9FTVBUWSkgKFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2IDsKK307Cit0ZW1wbGF0ZTwgPiAKK3N0cnVjdCBzeW50aGVzaXplX2ltcGxfbzwgQk9PU1RfRlRfZmxhZ3MsIEJPT1NUX0ZUX2NjX2lkLCAxNSA+IAoreyAKK3RlbXBsYXRlPHR5cGVuYW1lIFM+IHN0cnVjdCBzeW50aGVzaXplX2ltcGxfaQoreworcHJpdmF0ZToKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpiZWdpbjxTPiA6OnR5cGUgaXRlcl8wOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMCA+IDo6dHlwZSBpdGVyXzE7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xID4gOjp0eXBlIGl0ZXJfMjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIgPiA6OnR5cGUgaXRlcl8zOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMyA+IDo6dHlwZSBpdGVyXzQ7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl80ID4gOjp0eXBlIGl0ZXJfNTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzUgPiA6OnR5cGUgaXRlcl82OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNiA+IDo6dHlwZSBpdGVyXzc7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl83ID4gOjp0eXBlIGl0ZXJfODsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzggPiA6OnR5cGUgaXRlcl85OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfOSA+IDo6dHlwZSBpdGVyXzEwOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTAgPiA6OnR5cGUgaXRlcl8xMTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzExID4gOjp0eXBlIGl0ZXJfMTI7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xMiA+IDo6dHlwZSBpdGVyXzEzOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTMgPiA6OnR5cGUgaXRlcl8xNDsKK3B1YmxpYzoKK3R5cGVkZWYgdHlwZW5hbWUgZGV0YWlsOjpCT09TVF9GVF9tYWtlX3R5cGUoQk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQsMTQpIAorPCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzAgPiA6OnR5cGUgCissIHR5cGVuYW1lIGRldGFpbDo6Y3ZfdHJhaXRzPCAKK3R5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMSA+IDo6dHlwZSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzUgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl82ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzggPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl85ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTAgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzEyID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTMgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xNCA+IDo6dHlwZQorPiA6OnR5cGUgdHlwZTsKK307Cit9OwordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIgLCB0eXBlbmFtZSBUMyAsIHR5cGVuYW1lIFQ0ICwgdHlwZW5hbWUgVDUgLCB0eXBlbmFtZSBUNiAsIHR5cGVuYW1lIFQ3ICwgdHlwZW5hbWUgVDggLCB0eXBlbmFtZSBUOSAsIHR5cGVuYW1lIFQxMCAsIHR5cGVuYW1lIFQxMSAsIHR5cGVuYW1lIFQxMiAsIHR5cGVuYW1lIFQxMyAsIHR5cGVuYW1lIFQxNCA+CitzdHJ1Y3QgQk9PU1RfRlRfbWFrZV90eXBlKEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDE1KQorewordHlwZWRlZiBCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsdHlwZSBCT09TVF9QUF9FTVBUWSkgKFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2IDsKK307Cit0ZW1wbGF0ZTwgPiAKK3N0cnVjdCBzeW50aGVzaXplX2ltcGxfbzwgQk9PU1RfRlRfZmxhZ3MsIEJPT1NUX0ZUX2NjX2lkLCAxNiA+IAoreyAKK3RlbXBsYXRlPHR5cGVuYW1lIFM+IHN0cnVjdCBzeW50aGVzaXplX2ltcGxfaQoreworcHJpdmF0ZToKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpiZWdpbjxTPiA6OnR5cGUgaXRlcl8wOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMCA+IDo6dHlwZSBpdGVyXzE7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xID4gOjp0eXBlIGl0ZXJfMjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIgPiA6OnR5cGUgaXRlcl8zOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMyA+IDo6dHlwZSBpdGVyXzQ7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl80ID4gOjp0eXBlIGl0ZXJfNTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzUgPiA6OnR5cGUgaXRlcl82OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNiA+IDo6dHlwZSBpdGVyXzc7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl83ID4gOjp0eXBlIGl0ZXJfODsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzggPiA6OnR5cGUgaXRlcl85OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfOSA+IDo6dHlwZSBpdGVyXzEwOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTAgPiA6OnR5cGUgaXRlcl8xMTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzExID4gOjp0eXBlIGl0ZXJfMTI7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xMiA+IDo6dHlwZSBpdGVyXzEzOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTMgPiA6OnR5cGUgaXRlcl8xNDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE0ID4gOjp0eXBlIGl0ZXJfMTU7CitwdWJsaWM6Cit0eXBlZGVmIHR5cGVuYW1lIGRldGFpbDo6Qk9PU1RfRlRfbWFrZV90eXBlKEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDE1KSAKKzwgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8wID4gOjp0eXBlIAorLCB0eXBlbmFtZSBkZXRhaWw6OmN2X3RyYWl0czwgCit0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzEgPiA6OnR5cGUgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzQgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl81ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzcgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl84ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfOSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzEwID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTEgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzEzID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTQgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xNSA+IDo6dHlwZQorPiA6OnR5cGUgdHlwZTsKK307Cit9OwordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIgLCB0eXBlbmFtZSBUMyAsIHR5cGVuYW1lIFQ0ICwgdHlwZW5hbWUgVDUgLCB0eXBlbmFtZSBUNiAsIHR5cGVuYW1lIFQ3ICwgdHlwZW5hbWUgVDggLCB0eXBlbmFtZSBUOSAsIHR5cGVuYW1lIFQxMCAsIHR5cGVuYW1lIFQxMSAsIHR5cGVuYW1lIFQxMiAsIHR5cGVuYW1lIFQxMyAsIHR5cGVuYW1lIFQxNCAsIHR5cGVuYW1lIFQxNSA+CitzdHJ1Y3QgQk9PU1RfRlRfbWFrZV90eXBlKEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDE2KQorewordHlwZWRlZiBCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsdHlwZSBCT09TVF9QUF9FTVBUWSkgKFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2IDsKK307Cit0ZW1wbGF0ZTwgPiAKK3N0cnVjdCBzeW50aGVzaXplX2ltcGxfbzwgQk9PU1RfRlRfZmxhZ3MsIEJPT1NUX0ZUX2NjX2lkLCAxNyA+IAoreyAKK3RlbXBsYXRlPHR5cGVuYW1lIFM+IHN0cnVjdCBzeW50aGVzaXplX2ltcGxfaQoreworcHJpdmF0ZToKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpiZWdpbjxTPiA6OnR5cGUgaXRlcl8wOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMCA+IDo6dHlwZSBpdGVyXzE7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xID4gOjp0eXBlIGl0ZXJfMjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIgPiA6OnR5cGUgaXRlcl8zOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMyA+IDo6dHlwZSBpdGVyXzQ7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl80ID4gOjp0eXBlIGl0ZXJfNTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzUgPiA6OnR5cGUgaXRlcl82OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNiA+IDo6dHlwZSBpdGVyXzc7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl83ID4gOjp0eXBlIGl0ZXJfODsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzggPiA6OnR5cGUgaXRlcl85OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfOSA+IDo6dHlwZSBpdGVyXzEwOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTAgPiA6OnR5cGUgaXRlcl8xMTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzExID4gOjp0eXBlIGl0ZXJfMTI7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xMiA+IDo6dHlwZSBpdGVyXzEzOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTMgPiA6OnR5cGUgaXRlcl8xNDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE0ID4gOjp0eXBlIGl0ZXJfMTU7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xNSA+IDo6dHlwZSBpdGVyXzE2OworcHVibGljOgordHlwZWRlZiB0eXBlbmFtZSBkZXRhaWw6OkJPT1NUX0ZUX21ha2VfdHlwZShCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZCwxNikgCis8IHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMCA+IDo6dHlwZSAKKywgdHlwZW5hbWUgZGV0YWlsOjpjdl90cmFpdHM8IAordHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xID4gOjp0eXBlID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzMgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl80ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzYgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl83ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfOCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzkgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzExID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTIgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE0ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTUgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xNiA+IDo6dHlwZQorPiA6OnR5cGUgdHlwZTsKK307Cit9OwordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIgLCB0eXBlbmFtZSBUMyAsIHR5cGVuYW1lIFQ0ICwgdHlwZW5hbWUgVDUgLCB0eXBlbmFtZSBUNiAsIHR5cGVuYW1lIFQ3ICwgdHlwZW5hbWUgVDggLCB0eXBlbmFtZSBUOSAsIHR5cGVuYW1lIFQxMCAsIHR5cGVuYW1lIFQxMSAsIHR5cGVuYW1lIFQxMiAsIHR5cGVuYW1lIFQxMyAsIHR5cGVuYW1lIFQxNCAsIHR5cGVuYW1lIFQxNSAsIHR5cGVuYW1lIFQxNiA+CitzdHJ1Y3QgQk9PU1RfRlRfbWFrZV90eXBlKEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDE3KQorewordHlwZWRlZiBCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsdHlwZSBCT09TVF9QUF9FTVBUWSkgKFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2IDsKK307Cit0ZW1wbGF0ZTwgPiAKK3N0cnVjdCBzeW50aGVzaXplX2ltcGxfbzwgQk9PU1RfRlRfZmxhZ3MsIEJPT1NUX0ZUX2NjX2lkLCAxOCA+IAoreyAKK3RlbXBsYXRlPHR5cGVuYW1lIFM+IHN0cnVjdCBzeW50aGVzaXplX2ltcGxfaQoreworcHJpdmF0ZToKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpiZWdpbjxTPiA6OnR5cGUgaXRlcl8wOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMCA+IDo6dHlwZSBpdGVyXzE7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xID4gOjp0eXBlIGl0ZXJfMjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIgPiA6OnR5cGUgaXRlcl8zOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMyA+IDo6dHlwZSBpdGVyXzQ7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl80ID4gOjp0eXBlIGl0ZXJfNTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzUgPiA6OnR5cGUgaXRlcl82OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNiA+IDo6dHlwZSBpdGVyXzc7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl83ID4gOjp0eXBlIGl0ZXJfODsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzggPiA6OnR5cGUgaXRlcl85OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfOSA+IDo6dHlwZSBpdGVyXzEwOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTAgPiA6OnR5cGUgaXRlcl8xMTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzExID4gOjp0eXBlIGl0ZXJfMTI7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xMiA+IDo6dHlwZSBpdGVyXzEzOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTMgPiA6OnR5cGUgaXRlcl8xNDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE0ID4gOjp0eXBlIGl0ZXJfMTU7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xNSA+IDo6dHlwZSBpdGVyXzE2OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTYgPiA6OnR5cGUgaXRlcl8xNzsKK3B1YmxpYzoKK3R5cGVkZWYgdHlwZW5hbWUgZGV0YWlsOjpCT09TVF9GVF9tYWtlX3R5cGUoQk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQsMTcpIAorPCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzAgPiA6OnR5cGUgCissIHR5cGVuYW1lIGRldGFpbDo6Y3ZfdHJhaXRzPCAKK3R5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMSA+IDo6dHlwZSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzUgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl82ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzggPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl85ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTAgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzEyID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTMgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xNCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE1ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTYgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xNyA+IDo6dHlwZQorPiA6OnR5cGUgdHlwZTsKK307Cit9OwordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIgLCB0eXBlbmFtZSBUMyAsIHR5cGVuYW1lIFQ0ICwgdHlwZW5hbWUgVDUgLCB0eXBlbmFtZSBUNiAsIHR5cGVuYW1lIFQ3ICwgdHlwZW5hbWUgVDggLCB0eXBlbmFtZSBUOSAsIHR5cGVuYW1lIFQxMCAsIHR5cGVuYW1lIFQxMSAsIHR5cGVuYW1lIFQxMiAsIHR5cGVuYW1lIFQxMyAsIHR5cGVuYW1lIFQxNCAsIHR5cGVuYW1lIFQxNSAsIHR5cGVuYW1lIFQxNiAsIHR5cGVuYW1lIFQxNyA+CitzdHJ1Y3QgQk9PU1RfRlRfbWFrZV90eXBlKEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDE4KQorewordHlwZWRlZiBCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsdHlwZSBCT09TVF9QUF9FTVBUWSkgKFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2IDsKK307Cit0ZW1wbGF0ZTwgPiAKK3N0cnVjdCBzeW50aGVzaXplX2ltcGxfbzwgQk9PU1RfRlRfZmxhZ3MsIEJPT1NUX0ZUX2NjX2lkLCAxOSA+IAoreyAKK3RlbXBsYXRlPHR5cGVuYW1lIFM+IHN0cnVjdCBzeW50aGVzaXplX2ltcGxfaQoreworcHJpdmF0ZToKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpiZWdpbjxTPiA6OnR5cGUgaXRlcl8wOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMCA+IDo6dHlwZSBpdGVyXzE7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xID4gOjp0eXBlIGl0ZXJfMjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIgPiA6OnR5cGUgaXRlcl8zOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMyA+IDo6dHlwZSBpdGVyXzQ7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl80ID4gOjp0eXBlIGl0ZXJfNTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzUgPiA6OnR5cGUgaXRlcl82OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNiA+IDo6dHlwZSBpdGVyXzc7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl83ID4gOjp0eXBlIGl0ZXJfODsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzggPiA6OnR5cGUgaXRlcl85OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfOSA+IDo6dHlwZSBpdGVyXzEwOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTAgPiA6OnR5cGUgaXRlcl8xMTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzExID4gOjp0eXBlIGl0ZXJfMTI7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xMiA+IDo6dHlwZSBpdGVyXzEzOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTMgPiA6OnR5cGUgaXRlcl8xNDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE0ID4gOjp0eXBlIGl0ZXJfMTU7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xNSA+IDo6dHlwZSBpdGVyXzE2OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTYgPiA6OnR5cGUgaXRlcl8xNzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE3ID4gOjp0eXBlIGl0ZXJfMTg7CitwdWJsaWM6Cit0eXBlZGVmIHR5cGVuYW1lIGRldGFpbDo6Qk9PU1RfRlRfbWFrZV90eXBlKEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDE4KSAKKzwgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8wID4gOjp0eXBlIAorLCB0eXBlbmFtZSBkZXRhaWw6OmN2X3RyYWl0czwgCit0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzEgPiA6OnR5cGUgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzQgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl81ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzcgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl84ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfOSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzEwID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTEgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzEzID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTQgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xNSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE2ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTcgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xOCA+IDo6dHlwZQorPiA6OnR5cGUgdHlwZTsKK307Cit9OwordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIgLCB0eXBlbmFtZSBUMyAsIHR5cGVuYW1lIFQ0ICwgdHlwZW5hbWUgVDUgLCB0eXBlbmFtZSBUNiAsIHR5cGVuYW1lIFQ3ICwgdHlwZW5hbWUgVDggLCB0eXBlbmFtZSBUOSAsIHR5cGVuYW1lIFQxMCAsIHR5cGVuYW1lIFQxMSAsIHR5cGVuYW1lIFQxMiAsIHR5cGVuYW1lIFQxMyAsIHR5cGVuYW1lIFQxNCAsIHR5cGVuYW1lIFQxNSAsIHR5cGVuYW1lIFQxNiAsIHR5cGVuYW1lIFQxNyAsIHR5cGVuYW1lIFQxOCA+CitzdHJ1Y3QgQk9PU1RfRlRfbWFrZV90eXBlKEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDE5KQorewordHlwZWRlZiBCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsdHlwZSBCT09TVF9QUF9FTVBUWSkgKFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2IDsKK307Cit0ZW1wbGF0ZTwgPiAKK3N0cnVjdCBzeW50aGVzaXplX2ltcGxfbzwgQk9PU1RfRlRfZmxhZ3MsIEJPT1NUX0ZUX2NjX2lkLCAyMCA+IAoreyAKK3RlbXBsYXRlPHR5cGVuYW1lIFM+IHN0cnVjdCBzeW50aGVzaXplX2ltcGxfaQoreworcHJpdmF0ZToKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpiZWdpbjxTPiA6OnR5cGUgaXRlcl8wOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMCA+IDo6dHlwZSBpdGVyXzE7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xID4gOjp0eXBlIGl0ZXJfMjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIgPiA6OnR5cGUgaXRlcl8zOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMyA+IDo6dHlwZSBpdGVyXzQ7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl80ID4gOjp0eXBlIGl0ZXJfNTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzUgPiA6OnR5cGUgaXRlcl82OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNiA+IDo6dHlwZSBpdGVyXzc7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl83ID4gOjp0eXBlIGl0ZXJfODsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzggPiA6OnR5cGUgaXRlcl85OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfOSA+IDo6dHlwZSBpdGVyXzEwOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTAgPiA6OnR5cGUgaXRlcl8xMTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzExID4gOjp0eXBlIGl0ZXJfMTI7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xMiA+IDo6dHlwZSBpdGVyXzEzOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTMgPiA6OnR5cGUgaXRlcl8xNDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE0ID4gOjp0eXBlIGl0ZXJfMTU7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xNSA+IDo6dHlwZSBpdGVyXzE2OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTYgPiA6OnR5cGUgaXRlcl8xNzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE3ID4gOjp0eXBlIGl0ZXJfMTg7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xOCA+IDo6dHlwZSBpdGVyXzE5OworcHVibGljOgordHlwZWRlZiB0eXBlbmFtZSBkZXRhaWw6OkJPT1NUX0ZUX21ha2VfdHlwZShCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZCwxOSkgCis8IHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMCA+IDo6dHlwZSAKKywgdHlwZW5hbWUgZGV0YWlsOjpjdl90cmFpdHM8IAordHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xID4gOjp0eXBlID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzMgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl80ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzYgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl83ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfOCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzkgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzExID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTIgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE0ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTUgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xNiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE3ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTggPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xOSA+IDo6dHlwZQorPiA6OnR5cGUgdHlwZTsKK307Cit9OwordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIgLCB0eXBlbmFtZSBUMyAsIHR5cGVuYW1lIFQ0ICwgdHlwZW5hbWUgVDUgLCB0eXBlbmFtZSBUNiAsIHR5cGVuYW1lIFQ3ICwgdHlwZW5hbWUgVDggLCB0eXBlbmFtZSBUOSAsIHR5cGVuYW1lIFQxMCAsIHR5cGVuYW1lIFQxMSAsIHR5cGVuYW1lIFQxMiAsIHR5cGVuYW1lIFQxMyAsIHR5cGVuYW1lIFQxNCAsIHR5cGVuYW1lIFQxNSAsIHR5cGVuYW1lIFQxNiAsIHR5cGVuYW1lIFQxNyAsIHR5cGVuYW1lIFQxOCAsIHR5cGVuYW1lIFQxOSA+CitzdHJ1Y3QgQk9PU1RfRlRfbWFrZV90eXBlKEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDIwKQorewordHlwZWRlZiBCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsdHlwZSBCT09TVF9QUF9FTVBUWSkgKFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2IDsKK307Cit0ZW1wbGF0ZTwgPiAKK3N0cnVjdCBzeW50aGVzaXplX2ltcGxfbzwgQk9PU1RfRlRfZmxhZ3MsIEJPT1NUX0ZUX2NjX2lkLCAyMSA+IAoreyAKK3RlbXBsYXRlPHR5cGVuYW1lIFM+IHN0cnVjdCBzeW50aGVzaXplX2ltcGxfaQoreworcHJpdmF0ZToKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpiZWdpbjxTPiA6OnR5cGUgaXRlcl8wOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMCA+IDo6dHlwZSBpdGVyXzE7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xID4gOjp0eXBlIGl0ZXJfMjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIgPiA6OnR5cGUgaXRlcl8zOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMyA+IDo6dHlwZSBpdGVyXzQ7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl80ID4gOjp0eXBlIGl0ZXJfNTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzUgPiA6OnR5cGUgaXRlcl82OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNiA+IDo6dHlwZSBpdGVyXzc7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl83ID4gOjp0eXBlIGl0ZXJfODsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzggPiA6OnR5cGUgaXRlcl85OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfOSA+IDo6dHlwZSBpdGVyXzEwOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTAgPiA6OnR5cGUgaXRlcl8xMTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzExID4gOjp0eXBlIGl0ZXJfMTI7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xMiA+IDo6dHlwZSBpdGVyXzEzOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTMgPiA6OnR5cGUgaXRlcl8xNDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE0ID4gOjp0eXBlIGl0ZXJfMTU7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xNSA+IDo6dHlwZSBpdGVyXzE2OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTYgPiA6OnR5cGUgaXRlcl8xNzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE3ID4gOjp0eXBlIGl0ZXJfMTg7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xOCA+IDo6dHlwZSBpdGVyXzE5OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTkgPiA6OnR5cGUgaXRlcl8yMDsKK3B1YmxpYzoKK3R5cGVkZWYgdHlwZW5hbWUgZGV0YWlsOjpCT09TVF9GVF9tYWtlX3R5cGUoQk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQsMjApIAorPCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzAgPiA6OnR5cGUgCissIHR5cGVuYW1lIGRldGFpbDo6Y3ZfdHJhaXRzPCAKK3R5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMSA+IDo6dHlwZSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzUgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl82ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzggPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl85ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTAgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzEyID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTMgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xNCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE1ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTYgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xNyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE4ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTkgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yMCA+IDo6dHlwZQorPiA6OnR5cGUgdHlwZTsKK307Cit9OworIyB1bmRlZiBCT09TVF9GVF9tYWtlX3R5cGUKKyMgdW5kZWYgQk9PU1RfRlRfbWFrZV90eXBlX2ltcGwKKwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvZnVuY3Rpb25fdHlwZXMvZGV0YWlsL3N5bnRoZXNpemVfaW1wbC9hcml0eTMwXzAuaHBwIGIvbmRuYm9vc3QvZnVuY3Rpb25fdHlwZXMvZGV0YWlsL3N5bnRoZXNpemVfaW1wbC9hcml0eTMwXzAuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA4MTA0MDkKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9mdW5jdGlvbl90eXBlcy9kZXRhaWwvc3ludGhlc2l6ZV9pbXBsL2FyaXR5MzBfMC5ocHAKQEAgLTAsMCArMSw3MTcgQEAKKworLy8gKEMpIENvcHlyaWdodCBUb2JpYXMgU2Nod2luZ2VyCisvLworLy8gVXNlIG1vZGlmaWNhdGlvbiBhbmQgZGlzdHJpYnV0aW9uIGFyZSBzdWJqZWN0IHRvIHRoZSBib29zdCBTb2Z0d2FyZSBMaWNlbnNlLAorLy8gVmVyc2lvbiAxLjAuIChTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KS4KKworLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworLy8gbm8gaW5jbHVkZSBndWFyZHMsIHRoaXMgZmlsZSBpcyBpbnRlbmRlZCBmb3IgbXVsdGlwbGUgaW5jbHVzaW9uCisKKy8vIGlucHV0OiAgQk9PU1RfRlRfc3ludGF4ICAgICB0eXBlIG1hY3JvIHRvIHVzZQorLy8gaW5wdXQ6ICBCT09TVF9GVF9jYyAgICAgICAgIGVtcHR5IG9yIGNjIHNwZWNpZmllciAKKy8vIGlucHV0OiAgQk9PU1RfRlRfZWxsICAgICAgICBlbXB0eSBvciAiLi4uIgorLy8gaW5wdXQ6ICBCT09TVF9GVF9jdiAgICAgICAgIGVtcHR5IG9yIGN2IHF1YWxpZmllcnMKKy8vIGlucHV0OiAgQk9PU1RfRlRfZmxhZ3MgICAgICBzaW5nbGUgZGVjaW1hbCBpbnRlZ2VyIGVuY29kaW5nIHRoZSBmbGFncworLy8gb3V0cHV0OiBCT09TVF9GVF9uICAgICAgICAgIG51bWJlciBvZiBjb21wb25lbnQgdHlwZXMgKGFyaXR5KzEpCisvLyBvdXRwdXQ6IEJPT1NUX0ZUX2FyaXR5ICAgICAgY3VycmVudCBhcml0eQorLy8gb3V0cHV0OiBCT09TVF9GVF90eXBlICAgICAgIG1hY3JvIHRoYXQgZXhwYW5kcyB0byB0aGUgdHlwZQorLy8gb3V0cHV0OiBCT09TVF9GVF90cGxhcmdzKHApIHRlbXBsYXRlIGFyZ3VtZW50cyB3aXRoIGdpdmVuIHByZWZpeAorLy8gb3V0cHV0OiBCT09TVF9GVF9wYXJhbXMocCkgIHBhcmFtZXRlcnMgd2l0aCBnaXZlbiBwcmVmaXgKKworIyBpbmNsdWRlIDxuZG5ib29zdC9mdW5jdGlvbl90eXBlcy9kZXRhaWwvc3ludGhlc2l6ZV9pbXBsL2FyaXR5MjBfMC5ocHA+CisjIGRlZmluZSBCT09TVF9GVF9tYWtlX3R5cGUoZmxhZ3MsY2MsYXJpdHkpIEJPT1NUX0ZUX21ha2VfdHlwZV9pbXBsKGZsYWdzLGNjLGFyaXR5KQorIyBkZWZpbmUgQk9PU1RfRlRfbWFrZV90eXBlX2ltcGwoZmxhZ3MsY2MsYXJpdHkpIG1ha2VfdHlwZV8gIyMgZmxhZ3MgIyMgXyAjIyBjYyAjIyBfICMjIGFyaXR5Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgUiAsIHR5cGVuYW1lIFQwICwgdHlwZW5hbWUgVDEgLCB0eXBlbmFtZSBUMiAsIHR5cGVuYW1lIFQzICwgdHlwZW5hbWUgVDQgLCB0eXBlbmFtZSBUNSAsIHR5cGVuYW1lIFQ2ICwgdHlwZW5hbWUgVDcgLCB0eXBlbmFtZSBUOCAsIHR5cGVuYW1lIFQ5ICwgdHlwZW5hbWUgVDEwICwgdHlwZW5hbWUgVDExICwgdHlwZW5hbWUgVDEyICwgdHlwZW5hbWUgVDEzICwgdHlwZW5hbWUgVDE0ICwgdHlwZW5hbWUgVDE1ICwgdHlwZW5hbWUgVDE2ICwgdHlwZW5hbWUgVDE3ICwgdHlwZW5hbWUgVDE4ICwgdHlwZW5hbWUgVDE5ICwgdHlwZW5hbWUgVDIwID4KK3N0cnVjdCBCT09TVF9GVF9tYWtlX3R5cGUoQk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQsMjEpCit7Cit0eXBlZGVmIEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYyx0eXBlIEJPT1NUX1BQX0VNUFRZKSAoVDAgLCBUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgLCBUMTIgLCBUMTMgLCBUMTQgLCBUMTUgLCBUMTYgLCBUMTcgLCBUMTggLCBUMTkgLCBUMjAgQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdiA7Cit9OwordGVtcGxhdGU8ID4gCitzdHJ1Y3Qgc3ludGhlc2l6ZV9pbXBsX288IEJPT1NUX0ZUX2ZsYWdzLCBCT09TVF9GVF9jY19pZCwgMjIgPiAKK3sgCit0ZW1wbGF0ZTx0eXBlbmFtZSBTPiBzdHJ1Y3Qgc3ludGhlc2l6ZV9pbXBsX2kKK3sKK3ByaXZhdGU6Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6YmVnaW48Uz4gOjp0eXBlIGl0ZXJfMDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzAgPiA6OnR5cGUgaXRlcl8xOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMSA+IDo6dHlwZSBpdGVyXzI7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yID4gOjp0eXBlIGl0ZXJfMzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzMgPiA6OnR5cGUgaXRlcl80OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNCA+IDo6dHlwZSBpdGVyXzU7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl81ID4gOjp0eXBlIGl0ZXJfNjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzYgPiA6OnR5cGUgaXRlcl83OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNyA+IDo6dHlwZSBpdGVyXzg7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl84ID4gOjp0eXBlIGl0ZXJfOTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzkgPiA6OnR5cGUgaXRlcl8xMDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzEwID4gOjp0eXBlIGl0ZXJfMTE7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xMSA+IDo6dHlwZSBpdGVyXzEyOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTIgPiA6OnR5cGUgaXRlcl8xMzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzEzID4gOjp0eXBlIGl0ZXJfMTQ7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xNCA+IDo6dHlwZSBpdGVyXzE1OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTUgPiA6OnR5cGUgaXRlcl8xNjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE2ID4gOjp0eXBlIGl0ZXJfMTc7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xNyA+IDo6dHlwZSBpdGVyXzE4OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTggPiA6OnR5cGUgaXRlcl8xOTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE5ID4gOjp0eXBlIGl0ZXJfMjA7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yMCA+IDo6dHlwZSBpdGVyXzIxOworcHVibGljOgordHlwZWRlZiB0eXBlbmFtZSBkZXRhaWw6OkJPT1NUX0ZUX21ha2VfdHlwZShCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZCwyMSkgCis8IHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMCA+IDo6dHlwZSAKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzMgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl80ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzYgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl83ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfOCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzkgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzExID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTIgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE0ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTUgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xNiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE3ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTggPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xOSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIwID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjEgPiA6OnR5cGUKKz4gOjp0eXBlIHR5cGU7Cit9OworfTsKK3RlbXBsYXRlPCB0eXBlbmFtZSBSICwgdHlwZW5hbWUgVDAgLCB0eXBlbmFtZSBUMSAsIHR5cGVuYW1lIFQyICwgdHlwZW5hbWUgVDMgLCB0eXBlbmFtZSBUNCAsIHR5cGVuYW1lIFQ1ICwgdHlwZW5hbWUgVDYgLCB0eXBlbmFtZSBUNyAsIHR5cGVuYW1lIFQ4ICwgdHlwZW5hbWUgVDkgLCB0eXBlbmFtZSBUMTAgLCB0eXBlbmFtZSBUMTEgLCB0eXBlbmFtZSBUMTIgLCB0eXBlbmFtZSBUMTMgLCB0eXBlbmFtZSBUMTQgLCB0eXBlbmFtZSBUMTUgLCB0eXBlbmFtZSBUMTYgLCB0eXBlbmFtZSBUMTcgLCB0eXBlbmFtZSBUMTggLCB0eXBlbmFtZSBUMTkgLCB0eXBlbmFtZSBUMjAgLCB0eXBlbmFtZSBUMjEgPgorc3RydWN0IEJPT1NUX0ZUX21ha2VfdHlwZShCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZCwyMikKK3sKK3R5cGVkZWYgQk9PU1RfRlRfc3ludGF4KEJPT1NUX0ZUX2NjLHR5cGUgQk9PU1RfUFBfRU1QVFkpIChUMCAsIFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSAsIFQyMCAsIFQyMSBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2IDsKK307Cit0ZW1wbGF0ZTwgPiAKK3N0cnVjdCBzeW50aGVzaXplX2ltcGxfbzwgQk9PU1RfRlRfZmxhZ3MsIEJPT1NUX0ZUX2NjX2lkLCAyMyA+IAoreyAKK3RlbXBsYXRlPHR5cGVuYW1lIFM+IHN0cnVjdCBzeW50aGVzaXplX2ltcGxfaQoreworcHJpdmF0ZToKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpiZWdpbjxTPiA6OnR5cGUgaXRlcl8wOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMCA+IDo6dHlwZSBpdGVyXzE7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xID4gOjp0eXBlIGl0ZXJfMjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIgPiA6OnR5cGUgaXRlcl8zOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMyA+IDo6dHlwZSBpdGVyXzQ7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl80ID4gOjp0eXBlIGl0ZXJfNTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzUgPiA6OnR5cGUgaXRlcl82OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNiA+IDo6dHlwZSBpdGVyXzc7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl83ID4gOjp0eXBlIGl0ZXJfODsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzggPiA6OnR5cGUgaXRlcl85OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfOSA+IDo6dHlwZSBpdGVyXzEwOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTAgPiA6OnR5cGUgaXRlcl8xMTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzExID4gOjp0eXBlIGl0ZXJfMTI7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xMiA+IDo6dHlwZSBpdGVyXzEzOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTMgPiA6OnR5cGUgaXRlcl8xNDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE0ID4gOjp0eXBlIGl0ZXJfMTU7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xNSA+IDo6dHlwZSBpdGVyXzE2OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTYgPiA6OnR5cGUgaXRlcl8xNzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE3ID4gOjp0eXBlIGl0ZXJfMTg7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xOCA+IDo6dHlwZSBpdGVyXzE5OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTkgPiA6OnR5cGUgaXRlcl8yMDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIwID4gOjp0eXBlIGl0ZXJfMjE7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yMSA+IDo6dHlwZSBpdGVyXzIyOworcHVibGljOgordHlwZWRlZiB0eXBlbmFtZSBkZXRhaWw6OkJPT1NUX0ZUX21ha2VfdHlwZShCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZCwyMikgCis8IHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMCA+IDo6dHlwZSAKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzMgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl80ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzYgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl83ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfOCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzkgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzExID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTIgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE0ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTUgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xNiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE3ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTggPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xOSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIwID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjEgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yMiA+IDo6dHlwZQorPiA6OnR5cGUgdHlwZTsKK307Cit9OwordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIgLCB0eXBlbmFtZSBUMyAsIHR5cGVuYW1lIFQ0ICwgdHlwZW5hbWUgVDUgLCB0eXBlbmFtZSBUNiAsIHR5cGVuYW1lIFQ3ICwgdHlwZW5hbWUgVDggLCB0eXBlbmFtZSBUOSAsIHR5cGVuYW1lIFQxMCAsIHR5cGVuYW1lIFQxMSAsIHR5cGVuYW1lIFQxMiAsIHR5cGVuYW1lIFQxMyAsIHR5cGVuYW1lIFQxNCAsIHR5cGVuYW1lIFQxNSAsIHR5cGVuYW1lIFQxNiAsIHR5cGVuYW1lIFQxNyAsIHR5cGVuYW1lIFQxOCAsIHR5cGVuYW1lIFQxOSAsIHR5cGVuYW1lIFQyMCAsIHR5cGVuYW1lIFQyMSAsIHR5cGVuYW1lIFQyMiA+CitzdHJ1Y3QgQk9PU1RfRlRfbWFrZV90eXBlKEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDIzKQorewordHlwZWRlZiBCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsdHlwZSBCT09TVF9QUF9FTVBUWSkgKFQwICwgVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzICwgVDE0ICwgVDE1ICwgVDE2ICwgVDE3ICwgVDE4ICwgVDE5ICwgVDIwICwgVDIxICwgVDIyIEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YgOworfTsKK3RlbXBsYXRlPCA+IAorc3RydWN0IHN5bnRoZXNpemVfaW1wbF9vPCBCT09TVF9GVF9mbGFncywgQk9PU1RfRlRfY2NfaWQsIDI0ID4gCit7IAordGVtcGxhdGU8dHlwZW5hbWUgUz4gc3RydWN0IHN5bnRoZXNpemVfaW1wbF9pCit7Citwcml2YXRlOgordHlwZWRlZiB0eXBlbmFtZSBtcGw6OmJlZ2luPFM+IDo6dHlwZSBpdGVyXzA7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8wID4gOjp0eXBlIGl0ZXJfMTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzEgPiA6OnR5cGUgaXRlcl8yOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMiA+IDo6dHlwZSBpdGVyXzM7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zID4gOjp0eXBlIGl0ZXJfNDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzQgPiA6OnR5cGUgaXRlcl81OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNSA+IDo6dHlwZSBpdGVyXzY7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl82ID4gOjp0eXBlIGl0ZXJfNzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzcgPiA6OnR5cGUgaXRlcl84OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfOCA+IDo6dHlwZSBpdGVyXzk7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl85ID4gOjp0eXBlIGl0ZXJfMTA7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xMCA+IDo6dHlwZSBpdGVyXzExOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTEgPiA6OnR5cGUgaXRlcl8xMjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzEyID4gOjp0eXBlIGl0ZXJfMTM7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xMyA+IDo6dHlwZSBpdGVyXzE0OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTQgPiA6OnR5cGUgaXRlcl8xNTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE1ID4gOjp0eXBlIGl0ZXJfMTY7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xNiA+IDo6dHlwZSBpdGVyXzE3OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTcgPiA6OnR5cGUgaXRlcl8xODsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE4ID4gOjp0eXBlIGl0ZXJfMTk7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xOSA+IDo6dHlwZSBpdGVyXzIwOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjAgPiA6OnR5cGUgaXRlcl8yMTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIxID4gOjp0eXBlIGl0ZXJfMjI7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yMiA+IDo6dHlwZSBpdGVyXzIzOworcHVibGljOgordHlwZWRlZiB0eXBlbmFtZSBkZXRhaWw6OkJPT1NUX0ZUX21ha2VfdHlwZShCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZCwyMykgCis8IHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMCA+IDo6dHlwZSAKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzMgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl80ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzYgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl83ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfOCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzkgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzExID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTIgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE0ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTUgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xNiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE3ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTggPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xOSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIwID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjEgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yMiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIzID4gOjp0eXBlCis+IDo6dHlwZSB0eXBlOworfTsKK307Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgUiAsIHR5cGVuYW1lIFQwICwgdHlwZW5hbWUgVDEgLCB0eXBlbmFtZSBUMiAsIHR5cGVuYW1lIFQzICwgdHlwZW5hbWUgVDQgLCB0eXBlbmFtZSBUNSAsIHR5cGVuYW1lIFQ2ICwgdHlwZW5hbWUgVDcgLCB0eXBlbmFtZSBUOCAsIHR5cGVuYW1lIFQ5ICwgdHlwZW5hbWUgVDEwICwgdHlwZW5hbWUgVDExICwgdHlwZW5hbWUgVDEyICwgdHlwZW5hbWUgVDEzICwgdHlwZW5hbWUgVDE0ICwgdHlwZW5hbWUgVDE1ICwgdHlwZW5hbWUgVDE2ICwgdHlwZW5hbWUgVDE3ICwgdHlwZW5hbWUgVDE4ICwgdHlwZW5hbWUgVDE5ICwgdHlwZW5hbWUgVDIwICwgdHlwZW5hbWUgVDIxICwgdHlwZW5hbWUgVDIyICwgdHlwZW5hbWUgVDIzID4KK3N0cnVjdCBCT09TVF9GVF9tYWtlX3R5cGUoQk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQsMjQpCit7Cit0eXBlZGVmIEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYyx0eXBlIEJPT1NUX1BQX0VNUFRZKSAoVDAgLCBUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgLCBUMTIgLCBUMTMgLCBUMTQgLCBUMTUgLCBUMTYgLCBUMTcgLCBUMTggLCBUMTkgLCBUMjAgLCBUMjEgLCBUMjIgLCBUMjMgQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdiA7Cit9OwordGVtcGxhdGU8ID4gCitzdHJ1Y3Qgc3ludGhlc2l6ZV9pbXBsX288IEJPT1NUX0ZUX2ZsYWdzLCBCT09TVF9GVF9jY19pZCwgMjUgPiAKK3sgCit0ZW1wbGF0ZTx0eXBlbmFtZSBTPiBzdHJ1Y3Qgc3ludGhlc2l6ZV9pbXBsX2kKK3sKK3ByaXZhdGU6Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6YmVnaW48Uz4gOjp0eXBlIGl0ZXJfMDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzAgPiA6OnR5cGUgaXRlcl8xOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMSA+IDo6dHlwZSBpdGVyXzI7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yID4gOjp0eXBlIGl0ZXJfMzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzMgPiA6OnR5cGUgaXRlcl80OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNCA+IDo6dHlwZSBpdGVyXzU7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl81ID4gOjp0eXBlIGl0ZXJfNjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzYgPiA6OnR5cGUgaXRlcl83OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNyA+IDo6dHlwZSBpdGVyXzg7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl84ID4gOjp0eXBlIGl0ZXJfOTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzkgPiA6OnR5cGUgaXRlcl8xMDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzEwID4gOjp0eXBlIGl0ZXJfMTE7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xMSA+IDo6dHlwZSBpdGVyXzEyOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTIgPiA6OnR5cGUgaXRlcl8xMzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzEzID4gOjp0eXBlIGl0ZXJfMTQ7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xNCA+IDo6dHlwZSBpdGVyXzE1OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTUgPiA6OnR5cGUgaXRlcl8xNjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE2ID4gOjp0eXBlIGl0ZXJfMTc7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xNyA+IDo6dHlwZSBpdGVyXzE4OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTggPiA6OnR5cGUgaXRlcl8xOTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE5ID4gOjp0eXBlIGl0ZXJfMjA7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yMCA+IDo6dHlwZSBpdGVyXzIxOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjEgPiA6OnR5cGUgaXRlcl8yMjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIyID4gOjp0eXBlIGl0ZXJfMjM7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yMyA+IDo6dHlwZSBpdGVyXzI0OworcHVibGljOgordHlwZWRlZiB0eXBlbmFtZSBkZXRhaWw6OkJPT1NUX0ZUX21ha2VfdHlwZShCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZCwyNCkgCis8IHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMCA+IDo6dHlwZSAKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzMgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl80ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzYgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl83ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfOCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzkgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzExID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTIgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE0ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTUgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xNiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE3ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTggPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xOSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIwID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjEgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yMiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIzID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjQgPiA6OnR5cGUKKz4gOjp0eXBlIHR5cGU7Cit9OworfTsKK3RlbXBsYXRlPCB0eXBlbmFtZSBSICwgdHlwZW5hbWUgVDAgLCB0eXBlbmFtZSBUMSAsIHR5cGVuYW1lIFQyICwgdHlwZW5hbWUgVDMgLCB0eXBlbmFtZSBUNCAsIHR5cGVuYW1lIFQ1ICwgdHlwZW5hbWUgVDYgLCB0eXBlbmFtZSBUNyAsIHR5cGVuYW1lIFQ4ICwgdHlwZW5hbWUgVDkgLCB0eXBlbmFtZSBUMTAgLCB0eXBlbmFtZSBUMTEgLCB0eXBlbmFtZSBUMTIgLCB0eXBlbmFtZSBUMTMgLCB0eXBlbmFtZSBUMTQgLCB0eXBlbmFtZSBUMTUgLCB0eXBlbmFtZSBUMTYgLCB0eXBlbmFtZSBUMTcgLCB0eXBlbmFtZSBUMTggLCB0eXBlbmFtZSBUMTkgLCB0eXBlbmFtZSBUMjAgLCB0eXBlbmFtZSBUMjEgLCB0eXBlbmFtZSBUMjIgLCB0eXBlbmFtZSBUMjMgLCB0eXBlbmFtZSBUMjQgPgorc3RydWN0IEJPT1NUX0ZUX21ha2VfdHlwZShCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZCwyNSkKK3sKK3R5cGVkZWYgQk9PU1RfRlRfc3ludGF4KEJPT1NUX0ZUX2NjLHR5cGUgQk9PU1RfUFBfRU1QVFkpIChUMCAsIFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSAsIFQyMCAsIFQyMSAsIFQyMiAsIFQyMyAsIFQyNCBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2IDsKK307Cit0ZW1wbGF0ZTwgPiAKK3N0cnVjdCBzeW50aGVzaXplX2ltcGxfbzwgQk9PU1RfRlRfZmxhZ3MsIEJPT1NUX0ZUX2NjX2lkLCAyNiA+IAoreyAKK3RlbXBsYXRlPHR5cGVuYW1lIFM+IHN0cnVjdCBzeW50aGVzaXplX2ltcGxfaQoreworcHJpdmF0ZToKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpiZWdpbjxTPiA6OnR5cGUgaXRlcl8wOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMCA+IDo6dHlwZSBpdGVyXzE7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xID4gOjp0eXBlIGl0ZXJfMjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIgPiA6OnR5cGUgaXRlcl8zOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMyA+IDo6dHlwZSBpdGVyXzQ7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl80ID4gOjp0eXBlIGl0ZXJfNTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzUgPiA6OnR5cGUgaXRlcl82OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNiA+IDo6dHlwZSBpdGVyXzc7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl83ID4gOjp0eXBlIGl0ZXJfODsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzggPiA6OnR5cGUgaXRlcl85OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfOSA+IDo6dHlwZSBpdGVyXzEwOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTAgPiA6OnR5cGUgaXRlcl8xMTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzExID4gOjp0eXBlIGl0ZXJfMTI7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xMiA+IDo6dHlwZSBpdGVyXzEzOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTMgPiA6OnR5cGUgaXRlcl8xNDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE0ID4gOjp0eXBlIGl0ZXJfMTU7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xNSA+IDo6dHlwZSBpdGVyXzE2OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTYgPiA6OnR5cGUgaXRlcl8xNzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE3ID4gOjp0eXBlIGl0ZXJfMTg7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xOCA+IDo6dHlwZSBpdGVyXzE5OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTkgPiA6OnR5cGUgaXRlcl8yMDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIwID4gOjp0eXBlIGl0ZXJfMjE7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yMSA+IDo6dHlwZSBpdGVyXzIyOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjIgPiA6OnR5cGUgaXRlcl8yMzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIzID4gOjp0eXBlIGl0ZXJfMjQ7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yNCA+IDo6dHlwZSBpdGVyXzI1OworcHVibGljOgordHlwZWRlZiB0eXBlbmFtZSBkZXRhaWw6OkJPT1NUX0ZUX21ha2VfdHlwZShCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZCwyNSkgCis8IHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMCA+IDo6dHlwZSAKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzMgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl80ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzYgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl83ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfOCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzkgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzExID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTIgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE0ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTUgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xNiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE3ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTggPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xOSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIwID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjEgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yMiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIzID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjQgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yNSA+IDo6dHlwZQorPiA6OnR5cGUgdHlwZTsKK307Cit9OwordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIgLCB0eXBlbmFtZSBUMyAsIHR5cGVuYW1lIFQ0ICwgdHlwZW5hbWUgVDUgLCB0eXBlbmFtZSBUNiAsIHR5cGVuYW1lIFQ3ICwgdHlwZW5hbWUgVDggLCB0eXBlbmFtZSBUOSAsIHR5cGVuYW1lIFQxMCAsIHR5cGVuYW1lIFQxMSAsIHR5cGVuYW1lIFQxMiAsIHR5cGVuYW1lIFQxMyAsIHR5cGVuYW1lIFQxNCAsIHR5cGVuYW1lIFQxNSAsIHR5cGVuYW1lIFQxNiAsIHR5cGVuYW1lIFQxNyAsIHR5cGVuYW1lIFQxOCAsIHR5cGVuYW1lIFQxOSAsIHR5cGVuYW1lIFQyMCAsIHR5cGVuYW1lIFQyMSAsIHR5cGVuYW1lIFQyMiAsIHR5cGVuYW1lIFQyMyAsIHR5cGVuYW1lIFQyNCAsIHR5cGVuYW1lIFQyNSA+CitzdHJ1Y3QgQk9PU1RfRlRfbWFrZV90eXBlKEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDI2KQorewordHlwZWRlZiBCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsdHlwZSBCT09TVF9QUF9FTVBUWSkgKFQwICwgVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzICwgVDE0ICwgVDE1ICwgVDE2ICwgVDE3ICwgVDE4ICwgVDE5ICwgVDIwICwgVDIxICwgVDIyICwgVDIzICwgVDI0ICwgVDI1IEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YgOworfTsKK3RlbXBsYXRlPCA+IAorc3RydWN0IHN5bnRoZXNpemVfaW1wbF9vPCBCT09TVF9GVF9mbGFncywgQk9PU1RfRlRfY2NfaWQsIDI3ID4gCit7IAordGVtcGxhdGU8dHlwZW5hbWUgUz4gc3RydWN0IHN5bnRoZXNpemVfaW1wbF9pCit7Citwcml2YXRlOgordHlwZWRlZiB0eXBlbmFtZSBtcGw6OmJlZ2luPFM+IDo6dHlwZSBpdGVyXzA7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8wID4gOjp0eXBlIGl0ZXJfMTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzEgPiA6OnR5cGUgaXRlcl8yOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMiA+IDo6dHlwZSBpdGVyXzM7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zID4gOjp0eXBlIGl0ZXJfNDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzQgPiA6OnR5cGUgaXRlcl81OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNSA+IDo6dHlwZSBpdGVyXzY7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl82ID4gOjp0eXBlIGl0ZXJfNzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzcgPiA6OnR5cGUgaXRlcl84OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfOCA+IDo6dHlwZSBpdGVyXzk7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl85ID4gOjp0eXBlIGl0ZXJfMTA7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xMCA+IDo6dHlwZSBpdGVyXzExOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTEgPiA6OnR5cGUgaXRlcl8xMjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzEyID4gOjp0eXBlIGl0ZXJfMTM7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xMyA+IDo6dHlwZSBpdGVyXzE0OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTQgPiA6OnR5cGUgaXRlcl8xNTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE1ID4gOjp0eXBlIGl0ZXJfMTY7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xNiA+IDo6dHlwZSBpdGVyXzE3OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTcgPiA6OnR5cGUgaXRlcl8xODsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE4ID4gOjp0eXBlIGl0ZXJfMTk7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xOSA+IDo6dHlwZSBpdGVyXzIwOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjAgPiA6OnR5cGUgaXRlcl8yMTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIxID4gOjp0eXBlIGl0ZXJfMjI7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yMiA+IDo6dHlwZSBpdGVyXzIzOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjMgPiA6OnR5cGUgaXRlcl8yNDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzI0ID4gOjp0eXBlIGl0ZXJfMjU7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yNSA+IDo6dHlwZSBpdGVyXzI2OworcHVibGljOgordHlwZWRlZiB0eXBlbmFtZSBkZXRhaWw6OkJPT1NUX0ZUX21ha2VfdHlwZShCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZCwyNikgCis8IHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMCA+IDo6dHlwZSAKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzMgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl80ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzYgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl83ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfOCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzkgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzExID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTIgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE0ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTUgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xNiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE3ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTggPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xOSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIwID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjEgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yMiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIzID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjQgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yNSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzI2ID4gOjp0eXBlCis+IDo6dHlwZSB0eXBlOworfTsKK307Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgUiAsIHR5cGVuYW1lIFQwICwgdHlwZW5hbWUgVDEgLCB0eXBlbmFtZSBUMiAsIHR5cGVuYW1lIFQzICwgdHlwZW5hbWUgVDQgLCB0eXBlbmFtZSBUNSAsIHR5cGVuYW1lIFQ2ICwgdHlwZW5hbWUgVDcgLCB0eXBlbmFtZSBUOCAsIHR5cGVuYW1lIFQ5ICwgdHlwZW5hbWUgVDEwICwgdHlwZW5hbWUgVDExICwgdHlwZW5hbWUgVDEyICwgdHlwZW5hbWUgVDEzICwgdHlwZW5hbWUgVDE0ICwgdHlwZW5hbWUgVDE1ICwgdHlwZW5hbWUgVDE2ICwgdHlwZW5hbWUgVDE3ICwgdHlwZW5hbWUgVDE4ICwgdHlwZW5hbWUgVDE5ICwgdHlwZW5hbWUgVDIwICwgdHlwZW5hbWUgVDIxICwgdHlwZW5hbWUgVDIyICwgdHlwZW5hbWUgVDIzICwgdHlwZW5hbWUgVDI0ICwgdHlwZW5hbWUgVDI1ICwgdHlwZW5hbWUgVDI2ID4KK3N0cnVjdCBCT09TVF9GVF9tYWtlX3R5cGUoQk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQsMjcpCit7Cit0eXBlZGVmIEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYyx0eXBlIEJPT1NUX1BQX0VNUFRZKSAoVDAgLCBUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgLCBUMTIgLCBUMTMgLCBUMTQgLCBUMTUgLCBUMTYgLCBUMTcgLCBUMTggLCBUMTkgLCBUMjAgLCBUMjEgLCBUMjIgLCBUMjMgLCBUMjQgLCBUMjUgLCBUMjYgQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdiA7Cit9OwordGVtcGxhdGU8ID4gCitzdHJ1Y3Qgc3ludGhlc2l6ZV9pbXBsX288IEJPT1NUX0ZUX2ZsYWdzLCBCT09TVF9GVF9jY19pZCwgMjggPiAKK3sgCit0ZW1wbGF0ZTx0eXBlbmFtZSBTPiBzdHJ1Y3Qgc3ludGhlc2l6ZV9pbXBsX2kKK3sKK3ByaXZhdGU6Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6YmVnaW48Uz4gOjp0eXBlIGl0ZXJfMDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzAgPiA6OnR5cGUgaXRlcl8xOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMSA+IDo6dHlwZSBpdGVyXzI7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yID4gOjp0eXBlIGl0ZXJfMzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzMgPiA6OnR5cGUgaXRlcl80OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNCA+IDo6dHlwZSBpdGVyXzU7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl81ID4gOjp0eXBlIGl0ZXJfNjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzYgPiA6OnR5cGUgaXRlcl83OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNyA+IDo6dHlwZSBpdGVyXzg7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl84ID4gOjp0eXBlIGl0ZXJfOTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzkgPiA6OnR5cGUgaXRlcl8xMDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzEwID4gOjp0eXBlIGl0ZXJfMTE7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xMSA+IDo6dHlwZSBpdGVyXzEyOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTIgPiA6OnR5cGUgaXRlcl8xMzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzEzID4gOjp0eXBlIGl0ZXJfMTQ7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xNCA+IDo6dHlwZSBpdGVyXzE1OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTUgPiA6OnR5cGUgaXRlcl8xNjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE2ID4gOjp0eXBlIGl0ZXJfMTc7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xNyA+IDo6dHlwZSBpdGVyXzE4OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTggPiA6OnR5cGUgaXRlcl8xOTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE5ID4gOjp0eXBlIGl0ZXJfMjA7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yMCA+IDo6dHlwZSBpdGVyXzIxOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjEgPiA6OnR5cGUgaXRlcl8yMjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIyID4gOjp0eXBlIGl0ZXJfMjM7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yMyA+IDo6dHlwZSBpdGVyXzI0OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjQgPiA6OnR5cGUgaXRlcl8yNTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzI1ID4gOjp0eXBlIGl0ZXJfMjY7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yNiA+IDo6dHlwZSBpdGVyXzI3OworcHVibGljOgordHlwZWRlZiB0eXBlbmFtZSBkZXRhaWw6OkJPT1NUX0ZUX21ha2VfdHlwZShCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZCwyNykgCis8IHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMCA+IDo6dHlwZSAKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzMgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl80ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzYgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl83ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfOCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzkgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzExID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTIgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE0ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTUgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xNiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE3ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTggPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xOSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIwID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjEgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yMiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIzID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjQgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yNSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzI2ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjcgPiA6OnR5cGUKKz4gOjp0eXBlIHR5cGU7Cit9OworfTsKK3RlbXBsYXRlPCB0eXBlbmFtZSBSICwgdHlwZW5hbWUgVDAgLCB0eXBlbmFtZSBUMSAsIHR5cGVuYW1lIFQyICwgdHlwZW5hbWUgVDMgLCB0eXBlbmFtZSBUNCAsIHR5cGVuYW1lIFQ1ICwgdHlwZW5hbWUgVDYgLCB0eXBlbmFtZSBUNyAsIHR5cGVuYW1lIFQ4ICwgdHlwZW5hbWUgVDkgLCB0eXBlbmFtZSBUMTAgLCB0eXBlbmFtZSBUMTEgLCB0eXBlbmFtZSBUMTIgLCB0eXBlbmFtZSBUMTMgLCB0eXBlbmFtZSBUMTQgLCB0eXBlbmFtZSBUMTUgLCB0eXBlbmFtZSBUMTYgLCB0eXBlbmFtZSBUMTcgLCB0eXBlbmFtZSBUMTggLCB0eXBlbmFtZSBUMTkgLCB0eXBlbmFtZSBUMjAgLCB0eXBlbmFtZSBUMjEgLCB0eXBlbmFtZSBUMjIgLCB0eXBlbmFtZSBUMjMgLCB0eXBlbmFtZSBUMjQgLCB0eXBlbmFtZSBUMjUgLCB0eXBlbmFtZSBUMjYgLCB0eXBlbmFtZSBUMjcgPgorc3RydWN0IEJPT1NUX0ZUX21ha2VfdHlwZShCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZCwyOCkKK3sKK3R5cGVkZWYgQk9PU1RfRlRfc3ludGF4KEJPT1NUX0ZUX2NjLHR5cGUgQk9PU1RfUFBfRU1QVFkpIChUMCAsIFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSAsIFQyMCAsIFQyMSAsIFQyMiAsIFQyMyAsIFQyNCAsIFQyNSAsIFQyNiAsIFQyNyBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2IDsKK307Cit0ZW1wbGF0ZTwgPiAKK3N0cnVjdCBzeW50aGVzaXplX2ltcGxfbzwgQk9PU1RfRlRfZmxhZ3MsIEJPT1NUX0ZUX2NjX2lkLCAyOSA+IAoreyAKK3RlbXBsYXRlPHR5cGVuYW1lIFM+IHN0cnVjdCBzeW50aGVzaXplX2ltcGxfaQoreworcHJpdmF0ZToKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpiZWdpbjxTPiA6OnR5cGUgaXRlcl8wOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMCA+IDo6dHlwZSBpdGVyXzE7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xID4gOjp0eXBlIGl0ZXJfMjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIgPiA6OnR5cGUgaXRlcl8zOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMyA+IDo6dHlwZSBpdGVyXzQ7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl80ID4gOjp0eXBlIGl0ZXJfNTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzUgPiA6OnR5cGUgaXRlcl82OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNiA+IDo6dHlwZSBpdGVyXzc7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl83ID4gOjp0eXBlIGl0ZXJfODsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzggPiA6OnR5cGUgaXRlcl85OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfOSA+IDo6dHlwZSBpdGVyXzEwOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTAgPiA6OnR5cGUgaXRlcl8xMTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzExID4gOjp0eXBlIGl0ZXJfMTI7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xMiA+IDo6dHlwZSBpdGVyXzEzOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTMgPiA6OnR5cGUgaXRlcl8xNDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE0ID4gOjp0eXBlIGl0ZXJfMTU7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xNSA+IDo6dHlwZSBpdGVyXzE2OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTYgPiA6OnR5cGUgaXRlcl8xNzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE3ID4gOjp0eXBlIGl0ZXJfMTg7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xOCA+IDo6dHlwZSBpdGVyXzE5OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTkgPiA6OnR5cGUgaXRlcl8yMDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIwID4gOjp0eXBlIGl0ZXJfMjE7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yMSA+IDo6dHlwZSBpdGVyXzIyOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjIgPiA6OnR5cGUgaXRlcl8yMzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIzID4gOjp0eXBlIGl0ZXJfMjQ7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yNCA+IDo6dHlwZSBpdGVyXzI1OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjUgPiA6OnR5cGUgaXRlcl8yNjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzI2ID4gOjp0eXBlIGl0ZXJfMjc7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yNyA+IDo6dHlwZSBpdGVyXzI4OworcHVibGljOgordHlwZWRlZiB0eXBlbmFtZSBkZXRhaWw6OkJPT1NUX0ZUX21ha2VfdHlwZShCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZCwyOCkgCis8IHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMCA+IDo6dHlwZSAKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzMgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl80ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzYgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl83ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfOCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzkgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzExID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTIgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE0ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTUgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xNiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE3ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTggPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xOSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIwID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjEgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yMiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIzID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjQgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yNSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzI2ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjcgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yOCA+IDo6dHlwZQorPiA6OnR5cGUgdHlwZTsKK307Cit9OwordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIgLCB0eXBlbmFtZSBUMyAsIHR5cGVuYW1lIFQ0ICwgdHlwZW5hbWUgVDUgLCB0eXBlbmFtZSBUNiAsIHR5cGVuYW1lIFQ3ICwgdHlwZW5hbWUgVDggLCB0eXBlbmFtZSBUOSAsIHR5cGVuYW1lIFQxMCAsIHR5cGVuYW1lIFQxMSAsIHR5cGVuYW1lIFQxMiAsIHR5cGVuYW1lIFQxMyAsIHR5cGVuYW1lIFQxNCAsIHR5cGVuYW1lIFQxNSAsIHR5cGVuYW1lIFQxNiAsIHR5cGVuYW1lIFQxNyAsIHR5cGVuYW1lIFQxOCAsIHR5cGVuYW1lIFQxOSAsIHR5cGVuYW1lIFQyMCAsIHR5cGVuYW1lIFQyMSAsIHR5cGVuYW1lIFQyMiAsIHR5cGVuYW1lIFQyMyAsIHR5cGVuYW1lIFQyNCAsIHR5cGVuYW1lIFQyNSAsIHR5cGVuYW1lIFQyNiAsIHR5cGVuYW1lIFQyNyAsIHR5cGVuYW1lIFQyOCA+CitzdHJ1Y3QgQk9PU1RfRlRfbWFrZV90eXBlKEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDI5KQorewordHlwZWRlZiBCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsdHlwZSBCT09TVF9QUF9FTVBUWSkgKFQwICwgVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzICwgVDE0ICwgVDE1ICwgVDE2ICwgVDE3ICwgVDE4ICwgVDE5ICwgVDIwICwgVDIxICwgVDIyICwgVDIzICwgVDI0ICwgVDI1ICwgVDI2ICwgVDI3ICwgVDI4IEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YgOworfTsKK3RlbXBsYXRlPCA+IAorc3RydWN0IHN5bnRoZXNpemVfaW1wbF9vPCBCT09TVF9GVF9mbGFncywgQk9PU1RfRlRfY2NfaWQsIDMwID4gCit7IAordGVtcGxhdGU8dHlwZW5hbWUgUz4gc3RydWN0IHN5bnRoZXNpemVfaW1wbF9pCit7Citwcml2YXRlOgordHlwZWRlZiB0eXBlbmFtZSBtcGw6OmJlZ2luPFM+IDo6dHlwZSBpdGVyXzA7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8wID4gOjp0eXBlIGl0ZXJfMTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzEgPiA6OnR5cGUgaXRlcl8yOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMiA+IDo6dHlwZSBpdGVyXzM7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zID4gOjp0eXBlIGl0ZXJfNDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzQgPiA6OnR5cGUgaXRlcl81OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNSA+IDo6dHlwZSBpdGVyXzY7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl82ID4gOjp0eXBlIGl0ZXJfNzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzcgPiA6OnR5cGUgaXRlcl84OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfOCA+IDo6dHlwZSBpdGVyXzk7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl85ID4gOjp0eXBlIGl0ZXJfMTA7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xMCA+IDo6dHlwZSBpdGVyXzExOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTEgPiA6OnR5cGUgaXRlcl8xMjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzEyID4gOjp0eXBlIGl0ZXJfMTM7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xMyA+IDo6dHlwZSBpdGVyXzE0OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTQgPiA6OnR5cGUgaXRlcl8xNTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE1ID4gOjp0eXBlIGl0ZXJfMTY7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xNiA+IDo6dHlwZSBpdGVyXzE3OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTcgPiA6OnR5cGUgaXRlcl8xODsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE4ID4gOjp0eXBlIGl0ZXJfMTk7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xOSA+IDo6dHlwZSBpdGVyXzIwOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjAgPiA6OnR5cGUgaXRlcl8yMTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIxID4gOjp0eXBlIGl0ZXJfMjI7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yMiA+IDo6dHlwZSBpdGVyXzIzOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjMgPiA6OnR5cGUgaXRlcl8yNDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzI0ID4gOjp0eXBlIGl0ZXJfMjU7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yNSA+IDo6dHlwZSBpdGVyXzI2OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjYgPiA6OnR5cGUgaXRlcl8yNzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzI3ID4gOjp0eXBlIGl0ZXJfMjg7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yOCA+IDo6dHlwZSBpdGVyXzI5OworcHVibGljOgordHlwZWRlZiB0eXBlbmFtZSBkZXRhaWw6OkJPT1NUX0ZUX21ha2VfdHlwZShCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZCwyOSkgCis8IHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMCA+IDo6dHlwZSAKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzMgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl80ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzYgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl83ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfOCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzkgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzExID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTIgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE0ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTUgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xNiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE3ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTggPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xOSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIwID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjEgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yMiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIzID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjQgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yNSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzI2ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjcgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yOCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzI5ID4gOjp0eXBlCis+IDo6dHlwZSB0eXBlOworfTsKK307Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgUiAsIHR5cGVuYW1lIFQwICwgdHlwZW5hbWUgVDEgLCB0eXBlbmFtZSBUMiAsIHR5cGVuYW1lIFQzICwgdHlwZW5hbWUgVDQgLCB0eXBlbmFtZSBUNSAsIHR5cGVuYW1lIFQ2ICwgdHlwZW5hbWUgVDcgLCB0eXBlbmFtZSBUOCAsIHR5cGVuYW1lIFQ5ICwgdHlwZW5hbWUgVDEwICwgdHlwZW5hbWUgVDExICwgdHlwZW5hbWUgVDEyICwgdHlwZW5hbWUgVDEzICwgdHlwZW5hbWUgVDE0ICwgdHlwZW5hbWUgVDE1ICwgdHlwZW5hbWUgVDE2ICwgdHlwZW5hbWUgVDE3ICwgdHlwZW5hbWUgVDE4ICwgdHlwZW5hbWUgVDE5ICwgdHlwZW5hbWUgVDIwICwgdHlwZW5hbWUgVDIxICwgdHlwZW5hbWUgVDIyICwgdHlwZW5hbWUgVDIzICwgdHlwZW5hbWUgVDI0ICwgdHlwZW5hbWUgVDI1ICwgdHlwZW5hbWUgVDI2ICwgdHlwZW5hbWUgVDI3ICwgdHlwZW5hbWUgVDI4ICwgdHlwZW5hbWUgVDI5ID4KK3N0cnVjdCBCT09TVF9GVF9tYWtlX3R5cGUoQk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQsMzApCit7Cit0eXBlZGVmIEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYyx0eXBlIEJPT1NUX1BQX0VNUFRZKSAoVDAgLCBUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgLCBUMTIgLCBUMTMgLCBUMTQgLCBUMTUgLCBUMTYgLCBUMTcgLCBUMTggLCBUMTkgLCBUMjAgLCBUMjEgLCBUMjIgLCBUMjMgLCBUMjQgLCBUMjUgLCBUMjYgLCBUMjcgLCBUMjggLCBUMjkgQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdiA7Cit9OwordGVtcGxhdGU8ID4gCitzdHJ1Y3Qgc3ludGhlc2l6ZV9pbXBsX288IEJPT1NUX0ZUX2ZsYWdzLCBCT09TVF9GVF9jY19pZCwgMzEgPiAKK3sgCit0ZW1wbGF0ZTx0eXBlbmFtZSBTPiBzdHJ1Y3Qgc3ludGhlc2l6ZV9pbXBsX2kKK3sKK3ByaXZhdGU6Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6YmVnaW48Uz4gOjp0eXBlIGl0ZXJfMDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzAgPiA6OnR5cGUgaXRlcl8xOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMSA+IDo6dHlwZSBpdGVyXzI7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yID4gOjp0eXBlIGl0ZXJfMzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzMgPiA6OnR5cGUgaXRlcl80OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNCA+IDo6dHlwZSBpdGVyXzU7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl81ID4gOjp0eXBlIGl0ZXJfNjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzYgPiA6OnR5cGUgaXRlcl83OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNyA+IDo6dHlwZSBpdGVyXzg7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl84ID4gOjp0eXBlIGl0ZXJfOTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzkgPiA6OnR5cGUgaXRlcl8xMDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzEwID4gOjp0eXBlIGl0ZXJfMTE7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xMSA+IDo6dHlwZSBpdGVyXzEyOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTIgPiA6OnR5cGUgaXRlcl8xMzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzEzID4gOjp0eXBlIGl0ZXJfMTQ7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xNCA+IDo6dHlwZSBpdGVyXzE1OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTUgPiA6OnR5cGUgaXRlcl8xNjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE2ID4gOjp0eXBlIGl0ZXJfMTc7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xNyA+IDo6dHlwZSBpdGVyXzE4OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTggPiA6OnR5cGUgaXRlcl8xOTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE5ID4gOjp0eXBlIGl0ZXJfMjA7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yMCA+IDo6dHlwZSBpdGVyXzIxOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjEgPiA6OnR5cGUgaXRlcl8yMjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIyID4gOjp0eXBlIGl0ZXJfMjM7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yMyA+IDo6dHlwZSBpdGVyXzI0OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjQgPiA6OnR5cGUgaXRlcl8yNTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzI1ID4gOjp0eXBlIGl0ZXJfMjY7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yNiA+IDo6dHlwZSBpdGVyXzI3OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjcgPiA6OnR5cGUgaXRlcl8yODsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzI4ID4gOjp0eXBlIGl0ZXJfMjk7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yOSA+IDo6dHlwZSBpdGVyXzMwOworcHVibGljOgordHlwZWRlZiB0eXBlbmFtZSBkZXRhaWw6OkJPT1NUX0ZUX21ha2VfdHlwZShCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZCwzMCkgCis8IHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMCA+IDo6dHlwZSAKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzMgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl80ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzYgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl83ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfOCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzkgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzExID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTIgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE0ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTUgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xNiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE3ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTggPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xOSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIwID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjEgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yMiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIzID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjQgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yNSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzI2ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjcgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yOCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzI5ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzAgPiA6OnR5cGUKKz4gOjp0eXBlIHR5cGU7Cit9OworfTsKKyMgdW5kZWYgQk9PU1RfRlRfbWFrZV90eXBlCisjIHVuZGVmIEJPT1NUX0ZUX21ha2VfdHlwZV9pbXBsCisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L2Z1bmN0aW9uX3R5cGVzL2RldGFpbC9zeW50aGVzaXplX2ltcGwvYXJpdHkzMF8xLmhwcCBiL25kbmJvb3N0L2Z1bmN0aW9uX3R5cGVzL2RldGFpbC9zeW50aGVzaXplX2ltcGwvYXJpdHkzMF8xLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wYTc1MzBkCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvZnVuY3Rpb25fdHlwZXMvZGV0YWlsL3N5bnRoZXNpemVfaW1wbC9hcml0eTMwXzEuaHBwCkBAIC0wLDAgKzEsNzI3IEBACisKKy8vIChDKSBDb3B5cmlnaHQgVG9iaWFzIFNjaHdpbmdlcgorLy8KKy8vIFVzZSBtb2RpZmljYXRpb24gYW5kIGRpc3RyaWJ1dGlvbiBhcmUgc3ViamVjdCB0byB0aGUgYm9vc3QgU29mdHdhcmUgTGljZW5zZSwKKy8vIFZlcnNpb24gMS4wLiAoU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkuCisKKy8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKy8vIG5vIGluY2x1ZGUgZ3VhcmRzLCB0aGlzIGZpbGUgaXMgaW50ZW5kZWQgZm9yIG11bHRpcGxlIGluY2x1c2lvbgorCisvLyBpbnB1dDogIEJPT1NUX0ZUX3N5bnRheCAgICAgdHlwZSBtYWNybyB0byB1c2UKKy8vIGlucHV0OiAgQk9PU1RfRlRfY2MgICAgICAgICBlbXB0eSBvciBjYyBzcGVjaWZpZXIgCisvLyBpbnB1dDogIEJPT1NUX0ZUX2VsbCAgICAgICAgZW1wdHkgb3IgIi4uLiIKKy8vIGlucHV0OiAgQk9PU1RfRlRfY3YgICAgICAgICBlbXB0eSBvciBjdiBxdWFsaWZpZXJzCisvLyBpbnB1dDogIEJPT1NUX0ZUX2ZsYWdzICAgICAgc2luZ2xlIGRlY2ltYWwgaW50ZWdlciBlbmNvZGluZyB0aGUgZmxhZ3MKKy8vIG91dHB1dDogQk9PU1RfRlRfbiAgICAgICAgICBudW1iZXIgb2YgY29tcG9uZW50IHR5cGVzIChhcml0eSsxKQorLy8gb3V0cHV0OiBCT09TVF9GVF9hcml0eSAgICAgIGN1cnJlbnQgYXJpdHkKKy8vIG91dHB1dDogQk9PU1RfRlRfdHlwZSAgICAgICBtYWNybyB0aGF0IGV4cGFuZHMgdG8gdGhlIHR5cGUKKy8vIG91dHB1dDogQk9PU1RfRlRfdHBsYXJncyhwKSB0ZW1wbGF0ZSBhcmd1bWVudHMgd2l0aCBnaXZlbiBwcmVmaXgKKy8vIG91dHB1dDogQk9PU1RfRlRfcGFyYW1zKHApICBwYXJhbWV0ZXJzIHdpdGggZ2l2ZW4gcHJlZml4CisKKyMgaW5jbHVkZSA8bmRuYm9vc3QvZnVuY3Rpb25fdHlwZXMvZGV0YWlsL3N5bnRoZXNpemVfaW1wbC9hcml0eTIwXzEuaHBwPgorIyBkZWZpbmUgQk9PU1RfRlRfbWFrZV90eXBlKGZsYWdzLGNjLGFyaXR5KSBCT09TVF9GVF9tYWtlX3R5cGVfaW1wbChmbGFncyxjYyxhcml0eSkKKyMgZGVmaW5lIEJPT1NUX0ZUX21ha2VfdHlwZV9pbXBsKGZsYWdzLGNjLGFyaXR5KSBtYWtlX3R5cGVfICMjIGZsYWdzICMjIF8gIyMgY2MgIyMgXyAjIyBhcml0eQordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIgLCB0eXBlbmFtZSBUMyAsIHR5cGVuYW1lIFQ0ICwgdHlwZW5hbWUgVDUgLCB0eXBlbmFtZSBUNiAsIHR5cGVuYW1lIFQ3ICwgdHlwZW5hbWUgVDggLCB0eXBlbmFtZSBUOSAsIHR5cGVuYW1lIFQxMCAsIHR5cGVuYW1lIFQxMSAsIHR5cGVuYW1lIFQxMiAsIHR5cGVuYW1lIFQxMyAsIHR5cGVuYW1lIFQxNCAsIHR5cGVuYW1lIFQxNSAsIHR5cGVuYW1lIFQxNiAsIHR5cGVuYW1lIFQxNyAsIHR5cGVuYW1lIFQxOCAsIHR5cGVuYW1lIFQxOSAsIHR5cGVuYW1lIFQyMCA+CitzdHJ1Y3QgQk9PU1RfRlRfbWFrZV90eXBlKEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDIxKQorewordHlwZWRlZiBCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsdHlwZSBCT09TVF9QUF9FTVBUWSkgKFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSAsIFQyMCBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2IDsKK307Cit0ZW1wbGF0ZTwgPiAKK3N0cnVjdCBzeW50aGVzaXplX2ltcGxfbzwgQk9PU1RfRlRfZmxhZ3MsIEJPT1NUX0ZUX2NjX2lkLCAyMiA+IAoreyAKK3RlbXBsYXRlPHR5cGVuYW1lIFM+IHN0cnVjdCBzeW50aGVzaXplX2ltcGxfaQoreworcHJpdmF0ZToKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpiZWdpbjxTPiA6OnR5cGUgaXRlcl8wOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMCA+IDo6dHlwZSBpdGVyXzE7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xID4gOjp0eXBlIGl0ZXJfMjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIgPiA6OnR5cGUgaXRlcl8zOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMyA+IDo6dHlwZSBpdGVyXzQ7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl80ID4gOjp0eXBlIGl0ZXJfNTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzUgPiA6OnR5cGUgaXRlcl82OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNiA+IDo6dHlwZSBpdGVyXzc7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl83ID4gOjp0eXBlIGl0ZXJfODsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzggPiA6OnR5cGUgaXRlcl85OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfOSA+IDo6dHlwZSBpdGVyXzEwOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTAgPiA6OnR5cGUgaXRlcl8xMTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzExID4gOjp0eXBlIGl0ZXJfMTI7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xMiA+IDo6dHlwZSBpdGVyXzEzOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTMgPiA6OnR5cGUgaXRlcl8xNDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE0ID4gOjp0eXBlIGl0ZXJfMTU7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xNSA+IDo6dHlwZSBpdGVyXzE2OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTYgPiA6OnR5cGUgaXRlcl8xNzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE3ID4gOjp0eXBlIGl0ZXJfMTg7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xOCA+IDo6dHlwZSBpdGVyXzE5OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTkgPiA6OnR5cGUgaXRlcl8yMDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIwID4gOjp0eXBlIGl0ZXJfMjE7CitwdWJsaWM6Cit0eXBlZGVmIHR5cGVuYW1lIGRldGFpbDo6Qk9PU1RfRlRfbWFrZV90eXBlKEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDIxKSAKKzwgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8wID4gOjp0eXBlIAorLCB0eXBlbmFtZSBkZXRhaWw6OmN2X3RyYWl0czwgCit0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzEgPiA6OnR5cGUgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzQgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl81ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzcgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl84ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfOSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzEwID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTEgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzEzID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTQgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xNSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE2ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTcgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xOCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE5ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjAgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yMSA+IDo6dHlwZQorPiA6OnR5cGUgdHlwZTsKK307Cit9OwordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIgLCB0eXBlbmFtZSBUMyAsIHR5cGVuYW1lIFQ0ICwgdHlwZW5hbWUgVDUgLCB0eXBlbmFtZSBUNiAsIHR5cGVuYW1lIFQ3ICwgdHlwZW5hbWUgVDggLCB0eXBlbmFtZSBUOSAsIHR5cGVuYW1lIFQxMCAsIHR5cGVuYW1lIFQxMSAsIHR5cGVuYW1lIFQxMiAsIHR5cGVuYW1lIFQxMyAsIHR5cGVuYW1lIFQxNCAsIHR5cGVuYW1lIFQxNSAsIHR5cGVuYW1lIFQxNiAsIHR5cGVuYW1lIFQxNyAsIHR5cGVuYW1lIFQxOCAsIHR5cGVuYW1lIFQxOSAsIHR5cGVuYW1lIFQyMCAsIHR5cGVuYW1lIFQyMSA+CitzdHJ1Y3QgQk9PU1RfRlRfbWFrZV90eXBlKEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDIyKQorewordHlwZWRlZiBCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsdHlwZSBCT09TVF9QUF9FTVBUWSkgKFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSAsIFQyMCAsIFQyMSBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2IDsKK307Cit0ZW1wbGF0ZTwgPiAKK3N0cnVjdCBzeW50aGVzaXplX2ltcGxfbzwgQk9PU1RfRlRfZmxhZ3MsIEJPT1NUX0ZUX2NjX2lkLCAyMyA+IAoreyAKK3RlbXBsYXRlPHR5cGVuYW1lIFM+IHN0cnVjdCBzeW50aGVzaXplX2ltcGxfaQoreworcHJpdmF0ZToKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpiZWdpbjxTPiA6OnR5cGUgaXRlcl8wOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMCA+IDo6dHlwZSBpdGVyXzE7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xID4gOjp0eXBlIGl0ZXJfMjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIgPiA6OnR5cGUgaXRlcl8zOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMyA+IDo6dHlwZSBpdGVyXzQ7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl80ID4gOjp0eXBlIGl0ZXJfNTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzUgPiA6OnR5cGUgaXRlcl82OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNiA+IDo6dHlwZSBpdGVyXzc7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl83ID4gOjp0eXBlIGl0ZXJfODsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzggPiA6OnR5cGUgaXRlcl85OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfOSA+IDo6dHlwZSBpdGVyXzEwOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTAgPiA6OnR5cGUgaXRlcl8xMTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzExID4gOjp0eXBlIGl0ZXJfMTI7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xMiA+IDo6dHlwZSBpdGVyXzEzOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTMgPiA6OnR5cGUgaXRlcl8xNDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE0ID4gOjp0eXBlIGl0ZXJfMTU7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xNSA+IDo6dHlwZSBpdGVyXzE2OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTYgPiA6OnR5cGUgaXRlcl8xNzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE3ID4gOjp0eXBlIGl0ZXJfMTg7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xOCA+IDo6dHlwZSBpdGVyXzE5OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTkgPiA6OnR5cGUgaXRlcl8yMDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIwID4gOjp0eXBlIGl0ZXJfMjE7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yMSA+IDo6dHlwZSBpdGVyXzIyOworcHVibGljOgordHlwZWRlZiB0eXBlbmFtZSBkZXRhaWw6OkJPT1NUX0ZUX21ha2VfdHlwZShCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZCwyMikgCis8IHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMCA+IDo6dHlwZSAKKywgdHlwZW5hbWUgZGV0YWlsOjpjdl90cmFpdHM8IAordHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xID4gOjp0eXBlID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzMgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl80ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzYgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl83ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfOCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzkgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzExID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTIgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE0ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTUgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xNiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE3ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTggPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xOSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIwID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjEgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yMiA+IDo6dHlwZQorPiA6OnR5cGUgdHlwZTsKK307Cit9OwordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIgLCB0eXBlbmFtZSBUMyAsIHR5cGVuYW1lIFQ0ICwgdHlwZW5hbWUgVDUgLCB0eXBlbmFtZSBUNiAsIHR5cGVuYW1lIFQ3ICwgdHlwZW5hbWUgVDggLCB0eXBlbmFtZSBUOSAsIHR5cGVuYW1lIFQxMCAsIHR5cGVuYW1lIFQxMSAsIHR5cGVuYW1lIFQxMiAsIHR5cGVuYW1lIFQxMyAsIHR5cGVuYW1lIFQxNCAsIHR5cGVuYW1lIFQxNSAsIHR5cGVuYW1lIFQxNiAsIHR5cGVuYW1lIFQxNyAsIHR5cGVuYW1lIFQxOCAsIHR5cGVuYW1lIFQxOSAsIHR5cGVuYW1lIFQyMCAsIHR5cGVuYW1lIFQyMSAsIHR5cGVuYW1lIFQyMiA+CitzdHJ1Y3QgQk9PU1RfRlRfbWFrZV90eXBlKEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDIzKQorewordHlwZWRlZiBCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsdHlwZSBCT09TVF9QUF9FTVBUWSkgKFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSAsIFQyMCAsIFQyMSAsIFQyMiBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2IDsKK307Cit0ZW1wbGF0ZTwgPiAKK3N0cnVjdCBzeW50aGVzaXplX2ltcGxfbzwgQk9PU1RfRlRfZmxhZ3MsIEJPT1NUX0ZUX2NjX2lkLCAyNCA+IAoreyAKK3RlbXBsYXRlPHR5cGVuYW1lIFM+IHN0cnVjdCBzeW50aGVzaXplX2ltcGxfaQoreworcHJpdmF0ZToKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpiZWdpbjxTPiA6OnR5cGUgaXRlcl8wOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMCA+IDo6dHlwZSBpdGVyXzE7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xID4gOjp0eXBlIGl0ZXJfMjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIgPiA6OnR5cGUgaXRlcl8zOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMyA+IDo6dHlwZSBpdGVyXzQ7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl80ID4gOjp0eXBlIGl0ZXJfNTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzUgPiA6OnR5cGUgaXRlcl82OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNiA+IDo6dHlwZSBpdGVyXzc7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl83ID4gOjp0eXBlIGl0ZXJfODsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzggPiA6OnR5cGUgaXRlcl85OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfOSA+IDo6dHlwZSBpdGVyXzEwOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTAgPiA6OnR5cGUgaXRlcl8xMTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzExID4gOjp0eXBlIGl0ZXJfMTI7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xMiA+IDo6dHlwZSBpdGVyXzEzOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTMgPiA6OnR5cGUgaXRlcl8xNDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE0ID4gOjp0eXBlIGl0ZXJfMTU7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xNSA+IDo6dHlwZSBpdGVyXzE2OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTYgPiA6OnR5cGUgaXRlcl8xNzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE3ID4gOjp0eXBlIGl0ZXJfMTg7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xOCA+IDo6dHlwZSBpdGVyXzE5OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTkgPiA6OnR5cGUgaXRlcl8yMDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIwID4gOjp0eXBlIGl0ZXJfMjE7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yMSA+IDo6dHlwZSBpdGVyXzIyOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjIgPiA6OnR5cGUgaXRlcl8yMzsKK3B1YmxpYzoKK3R5cGVkZWYgdHlwZW5hbWUgZGV0YWlsOjpCT09TVF9GVF9tYWtlX3R5cGUoQk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQsMjMpIAorPCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzAgPiA6OnR5cGUgCissIHR5cGVuYW1lIGRldGFpbDo6Y3ZfdHJhaXRzPCAKK3R5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMSA+IDo6dHlwZSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzUgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl82ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzggPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl85ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTAgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzEyID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTMgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xNCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE1ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTYgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xNyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE4ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTkgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yMCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIxID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjIgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yMyA+IDo6dHlwZQorPiA6OnR5cGUgdHlwZTsKK307Cit9OwordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIgLCB0eXBlbmFtZSBUMyAsIHR5cGVuYW1lIFQ0ICwgdHlwZW5hbWUgVDUgLCB0eXBlbmFtZSBUNiAsIHR5cGVuYW1lIFQ3ICwgdHlwZW5hbWUgVDggLCB0eXBlbmFtZSBUOSAsIHR5cGVuYW1lIFQxMCAsIHR5cGVuYW1lIFQxMSAsIHR5cGVuYW1lIFQxMiAsIHR5cGVuYW1lIFQxMyAsIHR5cGVuYW1lIFQxNCAsIHR5cGVuYW1lIFQxNSAsIHR5cGVuYW1lIFQxNiAsIHR5cGVuYW1lIFQxNyAsIHR5cGVuYW1lIFQxOCAsIHR5cGVuYW1lIFQxOSAsIHR5cGVuYW1lIFQyMCAsIHR5cGVuYW1lIFQyMSAsIHR5cGVuYW1lIFQyMiAsIHR5cGVuYW1lIFQyMyA+CitzdHJ1Y3QgQk9PU1RfRlRfbWFrZV90eXBlKEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDI0KQorewordHlwZWRlZiBCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsdHlwZSBCT09TVF9QUF9FTVBUWSkgKFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSAsIFQyMCAsIFQyMSAsIFQyMiAsIFQyMyBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2IDsKK307Cit0ZW1wbGF0ZTwgPiAKK3N0cnVjdCBzeW50aGVzaXplX2ltcGxfbzwgQk9PU1RfRlRfZmxhZ3MsIEJPT1NUX0ZUX2NjX2lkLCAyNSA+IAoreyAKK3RlbXBsYXRlPHR5cGVuYW1lIFM+IHN0cnVjdCBzeW50aGVzaXplX2ltcGxfaQoreworcHJpdmF0ZToKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpiZWdpbjxTPiA6OnR5cGUgaXRlcl8wOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMCA+IDo6dHlwZSBpdGVyXzE7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xID4gOjp0eXBlIGl0ZXJfMjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIgPiA6OnR5cGUgaXRlcl8zOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMyA+IDo6dHlwZSBpdGVyXzQ7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl80ID4gOjp0eXBlIGl0ZXJfNTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzUgPiA6OnR5cGUgaXRlcl82OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNiA+IDo6dHlwZSBpdGVyXzc7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl83ID4gOjp0eXBlIGl0ZXJfODsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzggPiA6OnR5cGUgaXRlcl85OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfOSA+IDo6dHlwZSBpdGVyXzEwOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTAgPiA6OnR5cGUgaXRlcl8xMTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzExID4gOjp0eXBlIGl0ZXJfMTI7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xMiA+IDo6dHlwZSBpdGVyXzEzOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTMgPiA6OnR5cGUgaXRlcl8xNDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE0ID4gOjp0eXBlIGl0ZXJfMTU7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xNSA+IDo6dHlwZSBpdGVyXzE2OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTYgPiA6OnR5cGUgaXRlcl8xNzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE3ID4gOjp0eXBlIGl0ZXJfMTg7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xOCA+IDo6dHlwZSBpdGVyXzE5OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTkgPiA6OnR5cGUgaXRlcl8yMDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIwID4gOjp0eXBlIGl0ZXJfMjE7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yMSA+IDo6dHlwZSBpdGVyXzIyOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjIgPiA6OnR5cGUgaXRlcl8yMzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIzID4gOjp0eXBlIGl0ZXJfMjQ7CitwdWJsaWM6Cit0eXBlZGVmIHR5cGVuYW1lIGRldGFpbDo6Qk9PU1RfRlRfbWFrZV90eXBlKEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDI0KSAKKzwgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8wID4gOjp0eXBlIAorLCB0eXBlbmFtZSBkZXRhaWw6OmN2X3RyYWl0czwgCit0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzEgPiA6OnR5cGUgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzQgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl81ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzcgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl84ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfOSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzEwID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTEgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzEzID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTQgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xNSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE2ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTcgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xOCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE5ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjAgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yMSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIyID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjMgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yNCA+IDo6dHlwZQorPiA6OnR5cGUgdHlwZTsKK307Cit9OwordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIgLCB0eXBlbmFtZSBUMyAsIHR5cGVuYW1lIFQ0ICwgdHlwZW5hbWUgVDUgLCB0eXBlbmFtZSBUNiAsIHR5cGVuYW1lIFQ3ICwgdHlwZW5hbWUgVDggLCB0eXBlbmFtZSBUOSAsIHR5cGVuYW1lIFQxMCAsIHR5cGVuYW1lIFQxMSAsIHR5cGVuYW1lIFQxMiAsIHR5cGVuYW1lIFQxMyAsIHR5cGVuYW1lIFQxNCAsIHR5cGVuYW1lIFQxNSAsIHR5cGVuYW1lIFQxNiAsIHR5cGVuYW1lIFQxNyAsIHR5cGVuYW1lIFQxOCAsIHR5cGVuYW1lIFQxOSAsIHR5cGVuYW1lIFQyMCAsIHR5cGVuYW1lIFQyMSAsIHR5cGVuYW1lIFQyMiAsIHR5cGVuYW1lIFQyMyAsIHR5cGVuYW1lIFQyNCA+CitzdHJ1Y3QgQk9PU1RfRlRfbWFrZV90eXBlKEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDI1KQorewordHlwZWRlZiBCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsdHlwZSBCT09TVF9QUF9FTVBUWSkgKFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSAsIFQyMCAsIFQyMSAsIFQyMiAsIFQyMyAsIFQyNCBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2IDsKK307Cit0ZW1wbGF0ZTwgPiAKK3N0cnVjdCBzeW50aGVzaXplX2ltcGxfbzwgQk9PU1RfRlRfZmxhZ3MsIEJPT1NUX0ZUX2NjX2lkLCAyNiA+IAoreyAKK3RlbXBsYXRlPHR5cGVuYW1lIFM+IHN0cnVjdCBzeW50aGVzaXplX2ltcGxfaQoreworcHJpdmF0ZToKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpiZWdpbjxTPiA6OnR5cGUgaXRlcl8wOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMCA+IDo6dHlwZSBpdGVyXzE7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xID4gOjp0eXBlIGl0ZXJfMjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIgPiA6OnR5cGUgaXRlcl8zOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMyA+IDo6dHlwZSBpdGVyXzQ7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl80ID4gOjp0eXBlIGl0ZXJfNTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzUgPiA6OnR5cGUgaXRlcl82OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNiA+IDo6dHlwZSBpdGVyXzc7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl83ID4gOjp0eXBlIGl0ZXJfODsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzggPiA6OnR5cGUgaXRlcl85OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfOSA+IDo6dHlwZSBpdGVyXzEwOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTAgPiA6OnR5cGUgaXRlcl8xMTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzExID4gOjp0eXBlIGl0ZXJfMTI7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xMiA+IDo6dHlwZSBpdGVyXzEzOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTMgPiA6OnR5cGUgaXRlcl8xNDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE0ID4gOjp0eXBlIGl0ZXJfMTU7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xNSA+IDo6dHlwZSBpdGVyXzE2OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTYgPiA6OnR5cGUgaXRlcl8xNzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE3ID4gOjp0eXBlIGl0ZXJfMTg7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xOCA+IDo6dHlwZSBpdGVyXzE5OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTkgPiA6OnR5cGUgaXRlcl8yMDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIwID4gOjp0eXBlIGl0ZXJfMjE7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yMSA+IDo6dHlwZSBpdGVyXzIyOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjIgPiA6OnR5cGUgaXRlcl8yMzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIzID4gOjp0eXBlIGl0ZXJfMjQ7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yNCA+IDo6dHlwZSBpdGVyXzI1OworcHVibGljOgordHlwZWRlZiB0eXBlbmFtZSBkZXRhaWw6OkJPT1NUX0ZUX21ha2VfdHlwZShCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZCwyNSkgCis8IHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMCA+IDo6dHlwZSAKKywgdHlwZW5hbWUgZGV0YWlsOjpjdl90cmFpdHM8IAordHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xID4gOjp0eXBlID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzMgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl80ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzYgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl83ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfOCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzkgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzExID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTIgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE0ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTUgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xNiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE3ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTggPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xOSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIwID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjEgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yMiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIzID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjQgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yNSA+IDo6dHlwZQorPiA6OnR5cGUgdHlwZTsKK307Cit9OwordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIgLCB0eXBlbmFtZSBUMyAsIHR5cGVuYW1lIFQ0ICwgdHlwZW5hbWUgVDUgLCB0eXBlbmFtZSBUNiAsIHR5cGVuYW1lIFQ3ICwgdHlwZW5hbWUgVDggLCB0eXBlbmFtZSBUOSAsIHR5cGVuYW1lIFQxMCAsIHR5cGVuYW1lIFQxMSAsIHR5cGVuYW1lIFQxMiAsIHR5cGVuYW1lIFQxMyAsIHR5cGVuYW1lIFQxNCAsIHR5cGVuYW1lIFQxNSAsIHR5cGVuYW1lIFQxNiAsIHR5cGVuYW1lIFQxNyAsIHR5cGVuYW1lIFQxOCAsIHR5cGVuYW1lIFQxOSAsIHR5cGVuYW1lIFQyMCAsIHR5cGVuYW1lIFQyMSAsIHR5cGVuYW1lIFQyMiAsIHR5cGVuYW1lIFQyMyAsIHR5cGVuYW1lIFQyNCAsIHR5cGVuYW1lIFQyNSA+CitzdHJ1Y3QgQk9PU1RfRlRfbWFrZV90eXBlKEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDI2KQorewordHlwZWRlZiBCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsdHlwZSBCT09TVF9QUF9FTVBUWSkgKFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSAsIFQyMCAsIFQyMSAsIFQyMiAsIFQyMyAsIFQyNCAsIFQyNSBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2IDsKK307Cit0ZW1wbGF0ZTwgPiAKK3N0cnVjdCBzeW50aGVzaXplX2ltcGxfbzwgQk9PU1RfRlRfZmxhZ3MsIEJPT1NUX0ZUX2NjX2lkLCAyNyA+IAoreyAKK3RlbXBsYXRlPHR5cGVuYW1lIFM+IHN0cnVjdCBzeW50aGVzaXplX2ltcGxfaQoreworcHJpdmF0ZToKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpiZWdpbjxTPiA6OnR5cGUgaXRlcl8wOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMCA+IDo6dHlwZSBpdGVyXzE7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xID4gOjp0eXBlIGl0ZXJfMjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIgPiA6OnR5cGUgaXRlcl8zOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMyA+IDo6dHlwZSBpdGVyXzQ7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl80ID4gOjp0eXBlIGl0ZXJfNTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzUgPiA6OnR5cGUgaXRlcl82OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNiA+IDo6dHlwZSBpdGVyXzc7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl83ID4gOjp0eXBlIGl0ZXJfODsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzggPiA6OnR5cGUgaXRlcl85OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfOSA+IDo6dHlwZSBpdGVyXzEwOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTAgPiA6OnR5cGUgaXRlcl8xMTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzExID4gOjp0eXBlIGl0ZXJfMTI7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xMiA+IDo6dHlwZSBpdGVyXzEzOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTMgPiA6OnR5cGUgaXRlcl8xNDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE0ID4gOjp0eXBlIGl0ZXJfMTU7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xNSA+IDo6dHlwZSBpdGVyXzE2OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTYgPiA6OnR5cGUgaXRlcl8xNzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE3ID4gOjp0eXBlIGl0ZXJfMTg7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xOCA+IDo6dHlwZSBpdGVyXzE5OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTkgPiA6OnR5cGUgaXRlcl8yMDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIwID4gOjp0eXBlIGl0ZXJfMjE7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yMSA+IDo6dHlwZSBpdGVyXzIyOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjIgPiA6OnR5cGUgaXRlcl8yMzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIzID4gOjp0eXBlIGl0ZXJfMjQ7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yNCA+IDo6dHlwZSBpdGVyXzI1OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjUgPiA6OnR5cGUgaXRlcl8yNjsKK3B1YmxpYzoKK3R5cGVkZWYgdHlwZW5hbWUgZGV0YWlsOjpCT09TVF9GVF9tYWtlX3R5cGUoQk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQsMjYpIAorPCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzAgPiA6OnR5cGUgCissIHR5cGVuYW1lIGRldGFpbDo6Y3ZfdHJhaXRzPCAKK3R5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMSA+IDo6dHlwZSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzUgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl82ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzggPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl85ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTAgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzEyID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTMgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xNCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE1ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTYgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xNyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE4ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTkgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yMCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIxID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjIgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yMyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzI0ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjUgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yNiA+IDo6dHlwZQorPiA6OnR5cGUgdHlwZTsKK307Cit9OwordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIgLCB0eXBlbmFtZSBUMyAsIHR5cGVuYW1lIFQ0ICwgdHlwZW5hbWUgVDUgLCB0eXBlbmFtZSBUNiAsIHR5cGVuYW1lIFQ3ICwgdHlwZW5hbWUgVDggLCB0eXBlbmFtZSBUOSAsIHR5cGVuYW1lIFQxMCAsIHR5cGVuYW1lIFQxMSAsIHR5cGVuYW1lIFQxMiAsIHR5cGVuYW1lIFQxMyAsIHR5cGVuYW1lIFQxNCAsIHR5cGVuYW1lIFQxNSAsIHR5cGVuYW1lIFQxNiAsIHR5cGVuYW1lIFQxNyAsIHR5cGVuYW1lIFQxOCAsIHR5cGVuYW1lIFQxOSAsIHR5cGVuYW1lIFQyMCAsIHR5cGVuYW1lIFQyMSAsIHR5cGVuYW1lIFQyMiAsIHR5cGVuYW1lIFQyMyAsIHR5cGVuYW1lIFQyNCAsIHR5cGVuYW1lIFQyNSAsIHR5cGVuYW1lIFQyNiA+CitzdHJ1Y3QgQk9PU1RfRlRfbWFrZV90eXBlKEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDI3KQorewordHlwZWRlZiBCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsdHlwZSBCT09TVF9QUF9FTVBUWSkgKFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSAsIFQyMCAsIFQyMSAsIFQyMiAsIFQyMyAsIFQyNCAsIFQyNSAsIFQyNiBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2IDsKK307Cit0ZW1wbGF0ZTwgPiAKK3N0cnVjdCBzeW50aGVzaXplX2ltcGxfbzwgQk9PU1RfRlRfZmxhZ3MsIEJPT1NUX0ZUX2NjX2lkLCAyOCA+IAoreyAKK3RlbXBsYXRlPHR5cGVuYW1lIFM+IHN0cnVjdCBzeW50aGVzaXplX2ltcGxfaQoreworcHJpdmF0ZToKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpiZWdpbjxTPiA6OnR5cGUgaXRlcl8wOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMCA+IDo6dHlwZSBpdGVyXzE7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xID4gOjp0eXBlIGl0ZXJfMjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIgPiA6OnR5cGUgaXRlcl8zOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMyA+IDo6dHlwZSBpdGVyXzQ7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl80ID4gOjp0eXBlIGl0ZXJfNTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzUgPiA6OnR5cGUgaXRlcl82OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNiA+IDo6dHlwZSBpdGVyXzc7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl83ID4gOjp0eXBlIGl0ZXJfODsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzggPiA6OnR5cGUgaXRlcl85OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfOSA+IDo6dHlwZSBpdGVyXzEwOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTAgPiA6OnR5cGUgaXRlcl8xMTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzExID4gOjp0eXBlIGl0ZXJfMTI7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xMiA+IDo6dHlwZSBpdGVyXzEzOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTMgPiA6OnR5cGUgaXRlcl8xNDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE0ID4gOjp0eXBlIGl0ZXJfMTU7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xNSA+IDo6dHlwZSBpdGVyXzE2OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTYgPiA6OnR5cGUgaXRlcl8xNzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE3ID4gOjp0eXBlIGl0ZXJfMTg7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xOCA+IDo6dHlwZSBpdGVyXzE5OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTkgPiA6OnR5cGUgaXRlcl8yMDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIwID4gOjp0eXBlIGl0ZXJfMjE7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yMSA+IDo6dHlwZSBpdGVyXzIyOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjIgPiA6OnR5cGUgaXRlcl8yMzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIzID4gOjp0eXBlIGl0ZXJfMjQ7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yNCA+IDo6dHlwZSBpdGVyXzI1OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjUgPiA6OnR5cGUgaXRlcl8yNjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzI2ID4gOjp0eXBlIGl0ZXJfMjc7CitwdWJsaWM6Cit0eXBlZGVmIHR5cGVuYW1lIGRldGFpbDo6Qk9PU1RfRlRfbWFrZV90eXBlKEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDI3KSAKKzwgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8wID4gOjp0eXBlIAorLCB0eXBlbmFtZSBkZXRhaWw6OmN2X3RyYWl0czwgCit0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzEgPiA6OnR5cGUgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzQgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl81ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzcgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl84ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfOSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzEwID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTEgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzEzID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTQgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xNSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE2ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTcgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xOCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE5ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjAgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yMSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIyID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjMgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yNCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzI1ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjYgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yNyA+IDo6dHlwZQorPiA6OnR5cGUgdHlwZTsKK307Cit9OwordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIgLCB0eXBlbmFtZSBUMyAsIHR5cGVuYW1lIFQ0ICwgdHlwZW5hbWUgVDUgLCB0eXBlbmFtZSBUNiAsIHR5cGVuYW1lIFQ3ICwgdHlwZW5hbWUgVDggLCB0eXBlbmFtZSBUOSAsIHR5cGVuYW1lIFQxMCAsIHR5cGVuYW1lIFQxMSAsIHR5cGVuYW1lIFQxMiAsIHR5cGVuYW1lIFQxMyAsIHR5cGVuYW1lIFQxNCAsIHR5cGVuYW1lIFQxNSAsIHR5cGVuYW1lIFQxNiAsIHR5cGVuYW1lIFQxNyAsIHR5cGVuYW1lIFQxOCAsIHR5cGVuYW1lIFQxOSAsIHR5cGVuYW1lIFQyMCAsIHR5cGVuYW1lIFQyMSAsIHR5cGVuYW1lIFQyMiAsIHR5cGVuYW1lIFQyMyAsIHR5cGVuYW1lIFQyNCAsIHR5cGVuYW1lIFQyNSAsIHR5cGVuYW1lIFQyNiAsIHR5cGVuYW1lIFQyNyA+CitzdHJ1Y3QgQk9PU1RfRlRfbWFrZV90eXBlKEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDI4KQorewordHlwZWRlZiBCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsdHlwZSBCT09TVF9QUF9FTVBUWSkgKFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSAsIFQyMCAsIFQyMSAsIFQyMiAsIFQyMyAsIFQyNCAsIFQyNSAsIFQyNiAsIFQyNyBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2IDsKK307Cit0ZW1wbGF0ZTwgPiAKK3N0cnVjdCBzeW50aGVzaXplX2ltcGxfbzwgQk9PU1RfRlRfZmxhZ3MsIEJPT1NUX0ZUX2NjX2lkLCAyOSA+IAoreyAKK3RlbXBsYXRlPHR5cGVuYW1lIFM+IHN0cnVjdCBzeW50aGVzaXplX2ltcGxfaQoreworcHJpdmF0ZToKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpiZWdpbjxTPiA6OnR5cGUgaXRlcl8wOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMCA+IDo6dHlwZSBpdGVyXzE7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xID4gOjp0eXBlIGl0ZXJfMjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIgPiA6OnR5cGUgaXRlcl8zOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMyA+IDo6dHlwZSBpdGVyXzQ7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl80ID4gOjp0eXBlIGl0ZXJfNTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzUgPiA6OnR5cGUgaXRlcl82OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNiA+IDo6dHlwZSBpdGVyXzc7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl83ID4gOjp0eXBlIGl0ZXJfODsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzggPiA6OnR5cGUgaXRlcl85OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfOSA+IDo6dHlwZSBpdGVyXzEwOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTAgPiA6OnR5cGUgaXRlcl8xMTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzExID4gOjp0eXBlIGl0ZXJfMTI7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xMiA+IDo6dHlwZSBpdGVyXzEzOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTMgPiA6OnR5cGUgaXRlcl8xNDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE0ID4gOjp0eXBlIGl0ZXJfMTU7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xNSA+IDo6dHlwZSBpdGVyXzE2OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTYgPiA6OnR5cGUgaXRlcl8xNzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE3ID4gOjp0eXBlIGl0ZXJfMTg7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xOCA+IDo6dHlwZSBpdGVyXzE5OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTkgPiA6OnR5cGUgaXRlcl8yMDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIwID4gOjp0eXBlIGl0ZXJfMjE7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yMSA+IDo6dHlwZSBpdGVyXzIyOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjIgPiA6OnR5cGUgaXRlcl8yMzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIzID4gOjp0eXBlIGl0ZXJfMjQ7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yNCA+IDo6dHlwZSBpdGVyXzI1OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjUgPiA6OnR5cGUgaXRlcl8yNjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzI2ID4gOjp0eXBlIGl0ZXJfMjc7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yNyA+IDo6dHlwZSBpdGVyXzI4OworcHVibGljOgordHlwZWRlZiB0eXBlbmFtZSBkZXRhaWw6OkJPT1NUX0ZUX21ha2VfdHlwZShCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZCwyOCkgCis8IHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMCA+IDo6dHlwZSAKKywgdHlwZW5hbWUgZGV0YWlsOjpjdl90cmFpdHM8IAordHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xID4gOjp0eXBlID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzMgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl80ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzYgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl83ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfOCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzkgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzExID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTIgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE0ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTUgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xNiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE3ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTggPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xOSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIwID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjEgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yMiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIzID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjQgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yNSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzI2ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjcgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yOCA+IDo6dHlwZQorPiA6OnR5cGUgdHlwZTsKK307Cit9OwordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIgLCB0eXBlbmFtZSBUMyAsIHR5cGVuYW1lIFQ0ICwgdHlwZW5hbWUgVDUgLCB0eXBlbmFtZSBUNiAsIHR5cGVuYW1lIFQ3ICwgdHlwZW5hbWUgVDggLCB0eXBlbmFtZSBUOSAsIHR5cGVuYW1lIFQxMCAsIHR5cGVuYW1lIFQxMSAsIHR5cGVuYW1lIFQxMiAsIHR5cGVuYW1lIFQxMyAsIHR5cGVuYW1lIFQxNCAsIHR5cGVuYW1lIFQxNSAsIHR5cGVuYW1lIFQxNiAsIHR5cGVuYW1lIFQxNyAsIHR5cGVuYW1lIFQxOCAsIHR5cGVuYW1lIFQxOSAsIHR5cGVuYW1lIFQyMCAsIHR5cGVuYW1lIFQyMSAsIHR5cGVuYW1lIFQyMiAsIHR5cGVuYW1lIFQyMyAsIHR5cGVuYW1lIFQyNCAsIHR5cGVuYW1lIFQyNSAsIHR5cGVuYW1lIFQyNiAsIHR5cGVuYW1lIFQyNyAsIHR5cGVuYW1lIFQyOCA+CitzdHJ1Y3QgQk9PU1RfRlRfbWFrZV90eXBlKEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDI5KQorewordHlwZWRlZiBCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsdHlwZSBCT09TVF9QUF9FTVBUWSkgKFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSAsIFQyMCAsIFQyMSAsIFQyMiAsIFQyMyAsIFQyNCAsIFQyNSAsIFQyNiAsIFQyNyAsIFQyOCBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2IDsKK307Cit0ZW1wbGF0ZTwgPiAKK3N0cnVjdCBzeW50aGVzaXplX2ltcGxfbzwgQk9PU1RfRlRfZmxhZ3MsIEJPT1NUX0ZUX2NjX2lkLCAzMCA+IAoreyAKK3RlbXBsYXRlPHR5cGVuYW1lIFM+IHN0cnVjdCBzeW50aGVzaXplX2ltcGxfaQoreworcHJpdmF0ZToKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpiZWdpbjxTPiA6OnR5cGUgaXRlcl8wOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMCA+IDo6dHlwZSBpdGVyXzE7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xID4gOjp0eXBlIGl0ZXJfMjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIgPiA6OnR5cGUgaXRlcl8zOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMyA+IDo6dHlwZSBpdGVyXzQ7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl80ID4gOjp0eXBlIGl0ZXJfNTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzUgPiA6OnR5cGUgaXRlcl82OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNiA+IDo6dHlwZSBpdGVyXzc7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl83ID4gOjp0eXBlIGl0ZXJfODsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzggPiA6OnR5cGUgaXRlcl85OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfOSA+IDo6dHlwZSBpdGVyXzEwOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTAgPiA6OnR5cGUgaXRlcl8xMTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzExID4gOjp0eXBlIGl0ZXJfMTI7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xMiA+IDo6dHlwZSBpdGVyXzEzOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTMgPiA6OnR5cGUgaXRlcl8xNDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE0ID4gOjp0eXBlIGl0ZXJfMTU7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xNSA+IDo6dHlwZSBpdGVyXzE2OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTYgPiA6OnR5cGUgaXRlcl8xNzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE3ID4gOjp0eXBlIGl0ZXJfMTg7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xOCA+IDo6dHlwZSBpdGVyXzE5OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTkgPiA6OnR5cGUgaXRlcl8yMDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIwID4gOjp0eXBlIGl0ZXJfMjE7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yMSA+IDo6dHlwZSBpdGVyXzIyOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjIgPiA6OnR5cGUgaXRlcl8yMzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIzID4gOjp0eXBlIGl0ZXJfMjQ7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yNCA+IDo6dHlwZSBpdGVyXzI1OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjUgPiA6OnR5cGUgaXRlcl8yNjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzI2ID4gOjp0eXBlIGl0ZXJfMjc7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yNyA+IDo6dHlwZSBpdGVyXzI4OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjggPiA6OnR5cGUgaXRlcl8yOTsKK3B1YmxpYzoKK3R5cGVkZWYgdHlwZW5hbWUgZGV0YWlsOjpCT09TVF9GVF9tYWtlX3R5cGUoQk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQsMjkpIAorPCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzAgPiA6OnR5cGUgCissIHR5cGVuYW1lIGRldGFpbDo6Y3ZfdHJhaXRzPCAKK3R5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMSA+IDo6dHlwZSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzUgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl82ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzggPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl85ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTAgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzEyID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTMgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xNCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE1ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTYgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xNyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE4ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTkgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yMCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIxID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjIgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yMyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzI0ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjUgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yNiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzI3ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjggPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yOSA+IDo6dHlwZQorPiA6OnR5cGUgdHlwZTsKK307Cit9OwordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIgLCB0eXBlbmFtZSBUMyAsIHR5cGVuYW1lIFQ0ICwgdHlwZW5hbWUgVDUgLCB0eXBlbmFtZSBUNiAsIHR5cGVuYW1lIFQ3ICwgdHlwZW5hbWUgVDggLCB0eXBlbmFtZSBUOSAsIHR5cGVuYW1lIFQxMCAsIHR5cGVuYW1lIFQxMSAsIHR5cGVuYW1lIFQxMiAsIHR5cGVuYW1lIFQxMyAsIHR5cGVuYW1lIFQxNCAsIHR5cGVuYW1lIFQxNSAsIHR5cGVuYW1lIFQxNiAsIHR5cGVuYW1lIFQxNyAsIHR5cGVuYW1lIFQxOCAsIHR5cGVuYW1lIFQxOSAsIHR5cGVuYW1lIFQyMCAsIHR5cGVuYW1lIFQyMSAsIHR5cGVuYW1lIFQyMiAsIHR5cGVuYW1lIFQyMyAsIHR5cGVuYW1lIFQyNCAsIHR5cGVuYW1lIFQyNSAsIHR5cGVuYW1lIFQyNiAsIHR5cGVuYW1lIFQyNyAsIHR5cGVuYW1lIFQyOCAsIHR5cGVuYW1lIFQyOSA+CitzdHJ1Y3QgQk9PU1RfRlRfbWFrZV90eXBlKEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDMwKQorewordHlwZWRlZiBCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsdHlwZSBCT09TVF9QUF9FTVBUWSkgKFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSAsIFQyMCAsIFQyMSAsIFQyMiAsIFQyMyAsIFQyNCAsIFQyNSAsIFQyNiAsIFQyNyAsIFQyOCAsIFQyOSBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2IDsKK307Cit0ZW1wbGF0ZTwgPiAKK3N0cnVjdCBzeW50aGVzaXplX2ltcGxfbzwgQk9PU1RfRlRfZmxhZ3MsIEJPT1NUX0ZUX2NjX2lkLCAzMSA+IAoreyAKK3RlbXBsYXRlPHR5cGVuYW1lIFM+IHN0cnVjdCBzeW50aGVzaXplX2ltcGxfaQoreworcHJpdmF0ZToKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpiZWdpbjxTPiA6OnR5cGUgaXRlcl8wOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMCA+IDo6dHlwZSBpdGVyXzE7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xID4gOjp0eXBlIGl0ZXJfMjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIgPiA6OnR5cGUgaXRlcl8zOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMyA+IDo6dHlwZSBpdGVyXzQ7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl80ID4gOjp0eXBlIGl0ZXJfNTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzUgPiA6OnR5cGUgaXRlcl82OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNiA+IDo6dHlwZSBpdGVyXzc7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl83ID4gOjp0eXBlIGl0ZXJfODsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzggPiA6OnR5cGUgaXRlcl85OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfOSA+IDo6dHlwZSBpdGVyXzEwOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTAgPiA6OnR5cGUgaXRlcl8xMTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzExID4gOjp0eXBlIGl0ZXJfMTI7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xMiA+IDo6dHlwZSBpdGVyXzEzOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTMgPiA6OnR5cGUgaXRlcl8xNDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE0ID4gOjp0eXBlIGl0ZXJfMTU7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xNSA+IDo6dHlwZSBpdGVyXzE2OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTYgPiA6OnR5cGUgaXRlcl8xNzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE3ID4gOjp0eXBlIGl0ZXJfMTg7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xOCA+IDo6dHlwZSBpdGVyXzE5OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTkgPiA6OnR5cGUgaXRlcl8yMDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIwID4gOjp0eXBlIGl0ZXJfMjE7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yMSA+IDo6dHlwZSBpdGVyXzIyOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjIgPiA6OnR5cGUgaXRlcl8yMzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIzID4gOjp0eXBlIGl0ZXJfMjQ7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yNCA+IDo6dHlwZSBpdGVyXzI1OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjUgPiA6OnR5cGUgaXRlcl8yNjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzI2ID4gOjp0eXBlIGl0ZXJfMjc7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yNyA+IDo6dHlwZSBpdGVyXzI4OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjggPiA6OnR5cGUgaXRlcl8yOTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzI5ID4gOjp0eXBlIGl0ZXJfMzA7CitwdWJsaWM6Cit0eXBlZGVmIHR5cGVuYW1lIGRldGFpbDo6Qk9PU1RfRlRfbWFrZV90eXBlKEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDMwKSAKKzwgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8wID4gOjp0eXBlIAorLCB0eXBlbmFtZSBkZXRhaWw6OmN2X3RyYWl0czwgCit0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzEgPiA6OnR5cGUgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzQgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl81ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzcgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl84ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfOSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzEwID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTEgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzEzID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTQgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xNSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE2ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTcgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xOCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE5ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjAgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yMSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIyID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjMgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yNCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzI1ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjYgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yNyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzI4ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjkgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zMCA+IDo6dHlwZQorPiA6OnR5cGUgdHlwZTsKK307Cit9OworIyB1bmRlZiBCT09TVF9GVF9tYWtlX3R5cGUKKyMgdW5kZWYgQk9PU1RfRlRfbWFrZV90eXBlX2ltcGwKKwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvZnVuY3Rpb25fdHlwZXMvZGV0YWlsL3N5bnRoZXNpemVfaW1wbC9hcml0eTQwXzAuaHBwIGIvbmRuYm9vc3QvZnVuY3Rpb25fdHlwZXMvZGV0YWlsL3N5bnRoZXNpemVfaW1wbC9hcml0eTQwXzAuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQxZWYyOTIKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9mdW5jdGlvbl90eXBlcy9kZXRhaWwvc3ludGhlc2l6ZV9pbXBsL2FyaXR5NDBfMC5ocHAKQEAgLTAsMCArMSw5MTcgQEAKKworLy8gKEMpIENvcHlyaWdodCBUb2JpYXMgU2Nod2luZ2VyCisvLworLy8gVXNlIG1vZGlmaWNhdGlvbiBhbmQgZGlzdHJpYnV0aW9uIGFyZSBzdWJqZWN0IHRvIHRoZSBib29zdCBTb2Z0d2FyZSBMaWNlbnNlLAorLy8gVmVyc2lvbiAxLjAuIChTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KS4KKworLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworLy8gbm8gaW5jbHVkZSBndWFyZHMsIHRoaXMgZmlsZSBpcyBpbnRlbmRlZCBmb3IgbXVsdGlwbGUgaW5jbHVzaW9uCisKKy8vIGlucHV0OiAgQk9PU1RfRlRfc3ludGF4ICAgICB0eXBlIG1hY3JvIHRvIHVzZQorLy8gaW5wdXQ6ICBCT09TVF9GVF9jYyAgICAgICAgIGVtcHR5IG9yIGNjIHNwZWNpZmllciAKKy8vIGlucHV0OiAgQk9PU1RfRlRfZWxsICAgICAgICBlbXB0eSBvciAiLi4uIgorLy8gaW5wdXQ6ICBCT09TVF9GVF9jdiAgICAgICAgIGVtcHR5IG9yIGN2IHF1YWxpZmllcnMKKy8vIGlucHV0OiAgQk9PU1RfRlRfZmxhZ3MgICAgICBzaW5nbGUgZGVjaW1hbCBpbnRlZ2VyIGVuY29kaW5nIHRoZSBmbGFncworLy8gb3V0cHV0OiBCT09TVF9GVF9uICAgICAgICAgIG51bWJlciBvZiBjb21wb25lbnQgdHlwZXMgKGFyaXR5KzEpCisvLyBvdXRwdXQ6IEJPT1NUX0ZUX2FyaXR5ICAgICAgY3VycmVudCBhcml0eQorLy8gb3V0cHV0OiBCT09TVF9GVF90eXBlICAgICAgIG1hY3JvIHRoYXQgZXhwYW5kcyB0byB0aGUgdHlwZQorLy8gb3V0cHV0OiBCT09TVF9GVF90cGxhcmdzKHApIHRlbXBsYXRlIGFyZ3VtZW50cyB3aXRoIGdpdmVuIHByZWZpeAorLy8gb3V0cHV0OiBCT09TVF9GVF9wYXJhbXMocCkgIHBhcmFtZXRlcnMgd2l0aCBnaXZlbiBwcmVmaXgKKworIyBpbmNsdWRlIDxuZG5ib29zdC9mdW5jdGlvbl90eXBlcy9kZXRhaWwvc3ludGhlc2l6ZV9pbXBsL2FyaXR5MzBfMC5ocHA+CisjIGRlZmluZSBCT09TVF9GVF9tYWtlX3R5cGUoZmxhZ3MsY2MsYXJpdHkpIEJPT1NUX0ZUX21ha2VfdHlwZV9pbXBsKGZsYWdzLGNjLGFyaXR5KQorIyBkZWZpbmUgQk9PU1RfRlRfbWFrZV90eXBlX2ltcGwoZmxhZ3MsY2MsYXJpdHkpIG1ha2VfdHlwZV8gIyMgZmxhZ3MgIyMgXyAjIyBjYyAjIyBfICMjIGFyaXR5Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgUiAsIHR5cGVuYW1lIFQwICwgdHlwZW5hbWUgVDEgLCB0eXBlbmFtZSBUMiAsIHR5cGVuYW1lIFQzICwgdHlwZW5hbWUgVDQgLCB0eXBlbmFtZSBUNSAsIHR5cGVuYW1lIFQ2ICwgdHlwZW5hbWUgVDcgLCB0eXBlbmFtZSBUOCAsIHR5cGVuYW1lIFQ5ICwgdHlwZW5hbWUgVDEwICwgdHlwZW5hbWUgVDExICwgdHlwZW5hbWUgVDEyICwgdHlwZW5hbWUgVDEzICwgdHlwZW5hbWUgVDE0ICwgdHlwZW5hbWUgVDE1ICwgdHlwZW5hbWUgVDE2ICwgdHlwZW5hbWUgVDE3ICwgdHlwZW5hbWUgVDE4ICwgdHlwZW5hbWUgVDE5ICwgdHlwZW5hbWUgVDIwICwgdHlwZW5hbWUgVDIxICwgdHlwZW5hbWUgVDIyICwgdHlwZW5hbWUgVDIzICwgdHlwZW5hbWUgVDI0ICwgdHlwZW5hbWUgVDI1ICwgdHlwZW5hbWUgVDI2ICwgdHlwZW5hbWUgVDI3ICwgdHlwZW5hbWUgVDI4ICwgdHlwZW5hbWUgVDI5ICwgdHlwZW5hbWUgVDMwID4KK3N0cnVjdCBCT09TVF9GVF9tYWtlX3R5cGUoQk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQsMzEpCit7Cit0eXBlZGVmIEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYyx0eXBlIEJPT1NUX1BQX0VNUFRZKSAoVDAgLCBUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgLCBUMTIgLCBUMTMgLCBUMTQgLCBUMTUgLCBUMTYgLCBUMTcgLCBUMTggLCBUMTkgLCBUMjAgLCBUMjEgLCBUMjIgLCBUMjMgLCBUMjQgLCBUMjUgLCBUMjYgLCBUMjcgLCBUMjggLCBUMjkgLCBUMzAgQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdiA7Cit9OwordGVtcGxhdGU8ID4gCitzdHJ1Y3Qgc3ludGhlc2l6ZV9pbXBsX288IEJPT1NUX0ZUX2ZsYWdzLCBCT09TVF9GVF9jY19pZCwgMzIgPiAKK3sgCit0ZW1wbGF0ZTx0eXBlbmFtZSBTPiBzdHJ1Y3Qgc3ludGhlc2l6ZV9pbXBsX2kKK3sKK3ByaXZhdGU6Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6YmVnaW48Uz4gOjp0eXBlIGl0ZXJfMDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzAgPiA6OnR5cGUgaXRlcl8xOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMSA+IDo6dHlwZSBpdGVyXzI7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yID4gOjp0eXBlIGl0ZXJfMzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzMgPiA6OnR5cGUgaXRlcl80OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNCA+IDo6dHlwZSBpdGVyXzU7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl81ID4gOjp0eXBlIGl0ZXJfNjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzYgPiA6OnR5cGUgaXRlcl83OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNyA+IDo6dHlwZSBpdGVyXzg7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl84ID4gOjp0eXBlIGl0ZXJfOTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzkgPiA6OnR5cGUgaXRlcl8xMDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzEwID4gOjp0eXBlIGl0ZXJfMTE7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xMSA+IDo6dHlwZSBpdGVyXzEyOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTIgPiA6OnR5cGUgaXRlcl8xMzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzEzID4gOjp0eXBlIGl0ZXJfMTQ7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xNCA+IDo6dHlwZSBpdGVyXzE1OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTUgPiA6OnR5cGUgaXRlcl8xNjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE2ID4gOjp0eXBlIGl0ZXJfMTc7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xNyA+IDo6dHlwZSBpdGVyXzE4OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTggPiA6OnR5cGUgaXRlcl8xOTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE5ID4gOjp0eXBlIGl0ZXJfMjA7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yMCA+IDo6dHlwZSBpdGVyXzIxOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjEgPiA6OnR5cGUgaXRlcl8yMjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIyID4gOjp0eXBlIGl0ZXJfMjM7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yMyA+IDo6dHlwZSBpdGVyXzI0OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjQgPiA6OnR5cGUgaXRlcl8yNTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzI1ID4gOjp0eXBlIGl0ZXJfMjY7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yNiA+IDo6dHlwZSBpdGVyXzI3OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjcgPiA6OnR5cGUgaXRlcl8yODsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzI4ID4gOjp0eXBlIGl0ZXJfMjk7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yOSA+IDo6dHlwZSBpdGVyXzMwOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMzAgPiA6OnR5cGUgaXRlcl8zMTsKK3B1YmxpYzoKK3R5cGVkZWYgdHlwZW5hbWUgZGV0YWlsOjpCT09TVF9GVF9tYWtlX3R5cGUoQk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQsMzEpIAorPCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzAgPiA6OnR5cGUgCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzUgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl82ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzggPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl85ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTAgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzEyID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTMgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xNCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE1ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTYgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xNyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE4ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTkgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yMCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIxID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjIgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yMyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzI0ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjUgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yNiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzI3ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjggPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yOSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzMwID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzEgPiA6OnR5cGUKKz4gOjp0eXBlIHR5cGU7Cit9OworfTsKK3RlbXBsYXRlPCB0eXBlbmFtZSBSICwgdHlwZW5hbWUgVDAgLCB0eXBlbmFtZSBUMSAsIHR5cGVuYW1lIFQyICwgdHlwZW5hbWUgVDMgLCB0eXBlbmFtZSBUNCAsIHR5cGVuYW1lIFQ1ICwgdHlwZW5hbWUgVDYgLCB0eXBlbmFtZSBUNyAsIHR5cGVuYW1lIFQ4ICwgdHlwZW5hbWUgVDkgLCB0eXBlbmFtZSBUMTAgLCB0eXBlbmFtZSBUMTEgLCB0eXBlbmFtZSBUMTIgLCB0eXBlbmFtZSBUMTMgLCB0eXBlbmFtZSBUMTQgLCB0eXBlbmFtZSBUMTUgLCB0eXBlbmFtZSBUMTYgLCB0eXBlbmFtZSBUMTcgLCB0eXBlbmFtZSBUMTggLCB0eXBlbmFtZSBUMTkgLCB0eXBlbmFtZSBUMjAgLCB0eXBlbmFtZSBUMjEgLCB0eXBlbmFtZSBUMjIgLCB0eXBlbmFtZSBUMjMgLCB0eXBlbmFtZSBUMjQgLCB0eXBlbmFtZSBUMjUgLCB0eXBlbmFtZSBUMjYgLCB0eXBlbmFtZSBUMjcgLCB0eXBlbmFtZSBUMjggLCB0eXBlbmFtZSBUMjkgLCB0eXBlbmFtZSBUMzAgLCB0eXBlbmFtZSBUMzEgPgorc3RydWN0IEJPT1NUX0ZUX21ha2VfdHlwZShCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZCwzMikKK3sKK3R5cGVkZWYgQk9PU1RfRlRfc3ludGF4KEJPT1NUX0ZUX2NjLHR5cGUgQk9PU1RfUFBfRU1QVFkpIChUMCAsIFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSAsIFQyMCAsIFQyMSAsIFQyMiAsIFQyMyAsIFQyNCAsIFQyNSAsIFQyNiAsIFQyNyAsIFQyOCAsIFQyOSAsIFQzMCAsIFQzMSBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2IDsKK307Cit0ZW1wbGF0ZTwgPiAKK3N0cnVjdCBzeW50aGVzaXplX2ltcGxfbzwgQk9PU1RfRlRfZmxhZ3MsIEJPT1NUX0ZUX2NjX2lkLCAzMyA+IAoreyAKK3RlbXBsYXRlPHR5cGVuYW1lIFM+IHN0cnVjdCBzeW50aGVzaXplX2ltcGxfaQoreworcHJpdmF0ZToKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpiZWdpbjxTPiA6OnR5cGUgaXRlcl8wOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMCA+IDo6dHlwZSBpdGVyXzE7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xID4gOjp0eXBlIGl0ZXJfMjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIgPiA6OnR5cGUgaXRlcl8zOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMyA+IDo6dHlwZSBpdGVyXzQ7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl80ID4gOjp0eXBlIGl0ZXJfNTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzUgPiA6OnR5cGUgaXRlcl82OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNiA+IDo6dHlwZSBpdGVyXzc7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl83ID4gOjp0eXBlIGl0ZXJfODsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzggPiA6OnR5cGUgaXRlcl85OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfOSA+IDo6dHlwZSBpdGVyXzEwOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTAgPiA6OnR5cGUgaXRlcl8xMTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzExID4gOjp0eXBlIGl0ZXJfMTI7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xMiA+IDo6dHlwZSBpdGVyXzEzOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTMgPiA6OnR5cGUgaXRlcl8xNDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE0ID4gOjp0eXBlIGl0ZXJfMTU7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xNSA+IDo6dHlwZSBpdGVyXzE2OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTYgPiA6OnR5cGUgaXRlcl8xNzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE3ID4gOjp0eXBlIGl0ZXJfMTg7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xOCA+IDo6dHlwZSBpdGVyXzE5OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTkgPiA6OnR5cGUgaXRlcl8yMDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIwID4gOjp0eXBlIGl0ZXJfMjE7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yMSA+IDo6dHlwZSBpdGVyXzIyOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjIgPiA6OnR5cGUgaXRlcl8yMzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIzID4gOjp0eXBlIGl0ZXJfMjQ7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yNCA+IDo6dHlwZSBpdGVyXzI1OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjUgPiA6OnR5cGUgaXRlcl8yNjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzI2ID4gOjp0eXBlIGl0ZXJfMjc7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yNyA+IDo6dHlwZSBpdGVyXzI4OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjggPiA6OnR5cGUgaXRlcl8yOTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzI5ID4gOjp0eXBlIGl0ZXJfMzA7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zMCA+IDo6dHlwZSBpdGVyXzMxOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMzEgPiA6OnR5cGUgaXRlcl8zMjsKK3B1YmxpYzoKK3R5cGVkZWYgdHlwZW5hbWUgZGV0YWlsOjpCT09TVF9GVF9tYWtlX3R5cGUoQk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQsMzIpIAorPCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzAgPiA6OnR5cGUgCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzUgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl82ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzggPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl85ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTAgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzEyID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTMgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xNCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE1ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTYgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xNyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE4ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTkgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yMCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIxID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjIgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yMyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzI0ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjUgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yNiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzI3ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjggPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yOSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzMwID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzEgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zMiA+IDo6dHlwZQorPiA6OnR5cGUgdHlwZTsKK307Cit9OwordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIgLCB0eXBlbmFtZSBUMyAsIHR5cGVuYW1lIFQ0ICwgdHlwZW5hbWUgVDUgLCB0eXBlbmFtZSBUNiAsIHR5cGVuYW1lIFQ3ICwgdHlwZW5hbWUgVDggLCB0eXBlbmFtZSBUOSAsIHR5cGVuYW1lIFQxMCAsIHR5cGVuYW1lIFQxMSAsIHR5cGVuYW1lIFQxMiAsIHR5cGVuYW1lIFQxMyAsIHR5cGVuYW1lIFQxNCAsIHR5cGVuYW1lIFQxNSAsIHR5cGVuYW1lIFQxNiAsIHR5cGVuYW1lIFQxNyAsIHR5cGVuYW1lIFQxOCAsIHR5cGVuYW1lIFQxOSAsIHR5cGVuYW1lIFQyMCAsIHR5cGVuYW1lIFQyMSAsIHR5cGVuYW1lIFQyMiAsIHR5cGVuYW1lIFQyMyAsIHR5cGVuYW1lIFQyNCAsIHR5cGVuYW1lIFQyNSAsIHR5cGVuYW1lIFQyNiAsIHR5cGVuYW1lIFQyNyAsIHR5cGVuYW1lIFQyOCAsIHR5cGVuYW1lIFQyOSAsIHR5cGVuYW1lIFQzMCAsIHR5cGVuYW1lIFQzMSAsIHR5cGVuYW1lIFQzMiA+CitzdHJ1Y3QgQk9PU1RfRlRfbWFrZV90eXBlKEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDMzKQorewordHlwZWRlZiBCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsdHlwZSBCT09TVF9QUF9FTVBUWSkgKFQwICwgVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzICwgVDE0ICwgVDE1ICwgVDE2ICwgVDE3ICwgVDE4ICwgVDE5ICwgVDIwICwgVDIxICwgVDIyICwgVDIzICwgVDI0ICwgVDI1ICwgVDI2ICwgVDI3ICwgVDI4ICwgVDI5ICwgVDMwICwgVDMxICwgVDMyIEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YgOworfTsKK3RlbXBsYXRlPCA+IAorc3RydWN0IHN5bnRoZXNpemVfaW1wbF9vPCBCT09TVF9GVF9mbGFncywgQk9PU1RfRlRfY2NfaWQsIDM0ID4gCit7IAordGVtcGxhdGU8dHlwZW5hbWUgUz4gc3RydWN0IHN5bnRoZXNpemVfaW1wbF9pCit7Citwcml2YXRlOgordHlwZWRlZiB0eXBlbmFtZSBtcGw6OmJlZ2luPFM+IDo6dHlwZSBpdGVyXzA7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8wID4gOjp0eXBlIGl0ZXJfMTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzEgPiA6OnR5cGUgaXRlcl8yOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMiA+IDo6dHlwZSBpdGVyXzM7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zID4gOjp0eXBlIGl0ZXJfNDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzQgPiA6OnR5cGUgaXRlcl81OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNSA+IDo6dHlwZSBpdGVyXzY7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl82ID4gOjp0eXBlIGl0ZXJfNzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzcgPiA6OnR5cGUgaXRlcl84OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfOCA+IDo6dHlwZSBpdGVyXzk7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl85ID4gOjp0eXBlIGl0ZXJfMTA7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xMCA+IDo6dHlwZSBpdGVyXzExOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTEgPiA6OnR5cGUgaXRlcl8xMjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzEyID4gOjp0eXBlIGl0ZXJfMTM7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xMyA+IDo6dHlwZSBpdGVyXzE0OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTQgPiA6OnR5cGUgaXRlcl8xNTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE1ID4gOjp0eXBlIGl0ZXJfMTY7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xNiA+IDo6dHlwZSBpdGVyXzE3OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTcgPiA6OnR5cGUgaXRlcl8xODsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE4ID4gOjp0eXBlIGl0ZXJfMTk7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xOSA+IDo6dHlwZSBpdGVyXzIwOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjAgPiA6OnR5cGUgaXRlcl8yMTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIxID4gOjp0eXBlIGl0ZXJfMjI7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yMiA+IDo6dHlwZSBpdGVyXzIzOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjMgPiA6OnR5cGUgaXRlcl8yNDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzI0ID4gOjp0eXBlIGl0ZXJfMjU7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yNSA+IDo6dHlwZSBpdGVyXzI2OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjYgPiA6OnR5cGUgaXRlcl8yNzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzI3ID4gOjp0eXBlIGl0ZXJfMjg7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yOCA+IDo6dHlwZSBpdGVyXzI5OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjkgPiA6OnR5cGUgaXRlcl8zMDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzMwID4gOjp0eXBlIGl0ZXJfMzE7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zMSA+IDo6dHlwZSBpdGVyXzMyOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMzIgPiA6OnR5cGUgaXRlcl8zMzsKK3B1YmxpYzoKK3R5cGVkZWYgdHlwZW5hbWUgZGV0YWlsOjpCT09TVF9GVF9tYWtlX3R5cGUoQk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQsMzMpIAorPCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzAgPiA6OnR5cGUgCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzUgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl82ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzggPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl85ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTAgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzEyID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTMgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xNCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE1ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTYgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xNyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE4ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTkgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yMCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIxID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjIgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yMyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzI0ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjUgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yNiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzI3ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjggPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yOSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzMwID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzEgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zMiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzMzID4gOjp0eXBlCis+IDo6dHlwZSB0eXBlOworfTsKK307Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgUiAsIHR5cGVuYW1lIFQwICwgdHlwZW5hbWUgVDEgLCB0eXBlbmFtZSBUMiAsIHR5cGVuYW1lIFQzICwgdHlwZW5hbWUgVDQgLCB0eXBlbmFtZSBUNSAsIHR5cGVuYW1lIFQ2ICwgdHlwZW5hbWUgVDcgLCB0eXBlbmFtZSBUOCAsIHR5cGVuYW1lIFQ5ICwgdHlwZW5hbWUgVDEwICwgdHlwZW5hbWUgVDExICwgdHlwZW5hbWUgVDEyICwgdHlwZW5hbWUgVDEzICwgdHlwZW5hbWUgVDE0ICwgdHlwZW5hbWUgVDE1ICwgdHlwZW5hbWUgVDE2ICwgdHlwZW5hbWUgVDE3ICwgdHlwZW5hbWUgVDE4ICwgdHlwZW5hbWUgVDE5ICwgdHlwZW5hbWUgVDIwICwgdHlwZW5hbWUgVDIxICwgdHlwZW5hbWUgVDIyICwgdHlwZW5hbWUgVDIzICwgdHlwZW5hbWUgVDI0ICwgdHlwZW5hbWUgVDI1ICwgdHlwZW5hbWUgVDI2ICwgdHlwZW5hbWUgVDI3ICwgdHlwZW5hbWUgVDI4ICwgdHlwZW5hbWUgVDI5ICwgdHlwZW5hbWUgVDMwICwgdHlwZW5hbWUgVDMxICwgdHlwZW5hbWUgVDMyICwgdHlwZW5hbWUgVDMzID4KK3N0cnVjdCBCT09TVF9GVF9tYWtlX3R5cGUoQk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQsMzQpCit7Cit0eXBlZGVmIEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYyx0eXBlIEJPT1NUX1BQX0VNUFRZKSAoVDAgLCBUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgLCBUMTIgLCBUMTMgLCBUMTQgLCBUMTUgLCBUMTYgLCBUMTcgLCBUMTggLCBUMTkgLCBUMjAgLCBUMjEgLCBUMjIgLCBUMjMgLCBUMjQgLCBUMjUgLCBUMjYgLCBUMjcgLCBUMjggLCBUMjkgLCBUMzAgLCBUMzEgLCBUMzIgLCBUMzMgQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdiA7Cit9OwordGVtcGxhdGU8ID4gCitzdHJ1Y3Qgc3ludGhlc2l6ZV9pbXBsX288IEJPT1NUX0ZUX2ZsYWdzLCBCT09TVF9GVF9jY19pZCwgMzUgPiAKK3sgCit0ZW1wbGF0ZTx0eXBlbmFtZSBTPiBzdHJ1Y3Qgc3ludGhlc2l6ZV9pbXBsX2kKK3sKK3ByaXZhdGU6Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6YmVnaW48Uz4gOjp0eXBlIGl0ZXJfMDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzAgPiA6OnR5cGUgaXRlcl8xOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMSA+IDo6dHlwZSBpdGVyXzI7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yID4gOjp0eXBlIGl0ZXJfMzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzMgPiA6OnR5cGUgaXRlcl80OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNCA+IDo6dHlwZSBpdGVyXzU7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl81ID4gOjp0eXBlIGl0ZXJfNjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzYgPiA6OnR5cGUgaXRlcl83OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNyA+IDo6dHlwZSBpdGVyXzg7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl84ID4gOjp0eXBlIGl0ZXJfOTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzkgPiA6OnR5cGUgaXRlcl8xMDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzEwID4gOjp0eXBlIGl0ZXJfMTE7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xMSA+IDo6dHlwZSBpdGVyXzEyOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTIgPiA6OnR5cGUgaXRlcl8xMzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzEzID4gOjp0eXBlIGl0ZXJfMTQ7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xNCA+IDo6dHlwZSBpdGVyXzE1OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTUgPiA6OnR5cGUgaXRlcl8xNjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE2ID4gOjp0eXBlIGl0ZXJfMTc7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xNyA+IDo6dHlwZSBpdGVyXzE4OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTggPiA6OnR5cGUgaXRlcl8xOTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE5ID4gOjp0eXBlIGl0ZXJfMjA7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yMCA+IDo6dHlwZSBpdGVyXzIxOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjEgPiA6OnR5cGUgaXRlcl8yMjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIyID4gOjp0eXBlIGl0ZXJfMjM7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yMyA+IDo6dHlwZSBpdGVyXzI0OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjQgPiA6OnR5cGUgaXRlcl8yNTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzI1ID4gOjp0eXBlIGl0ZXJfMjY7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yNiA+IDo6dHlwZSBpdGVyXzI3OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjcgPiA6OnR5cGUgaXRlcl8yODsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzI4ID4gOjp0eXBlIGl0ZXJfMjk7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yOSA+IDo6dHlwZSBpdGVyXzMwOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMzAgPiA6OnR5cGUgaXRlcl8zMTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzMxID4gOjp0eXBlIGl0ZXJfMzI7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zMiA+IDo6dHlwZSBpdGVyXzMzOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMzMgPiA6OnR5cGUgaXRlcl8zNDsKK3B1YmxpYzoKK3R5cGVkZWYgdHlwZW5hbWUgZGV0YWlsOjpCT09TVF9GVF9tYWtlX3R5cGUoQk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQsMzQpIAorPCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzAgPiA6OnR5cGUgCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzUgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl82ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzggPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl85ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTAgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzEyID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTMgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xNCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE1ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTYgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xNyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE4ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTkgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yMCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIxID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjIgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yMyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzI0ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjUgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yNiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzI3ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjggPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yOSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzMwID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzEgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zMiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzMzID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzQgPiA6OnR5cGUKKz4gOjp0eXBlIHR5cGU7Cit9OworfTsKK3RlbXBsYXRlPCB0eXBlbmFtZSBSICwgdHlwZW5hbWUgVDAgLCB0eXBlbmFtZSBUMSAsIHR5cGVuYW1lIFQyICwgdHlwZW5hbWUgVDMgLCB0eXBlbmFtZSBUNCAsIHR5cGVuYW1lIFQ1ICwgdHlwZW5hbWUgVDYgLCB0eXBlbmFtZSBUNyAsIHR5cGVuYW1lIFQ4ICwgdHlwZW5hbWUgVDkgLCB0eXBlbmFtZSBUMTAgLCB0eXBlbmFtZSBUMTEgLCB0eXBlbmFtZSBUMTIgLCB0eXBlbmFtZSBUMTMgLCB0eXBlbmFtZSBUMTQgLCB0eXBlbmFtZSBUMTUgLCB0eXBlbmFtZSBUMTYgLCB0eXBlbmFtZSBUMTcgLCB0eXBlbmFtZSBUMTggLCB0eXBlbmFtZSBUMTkgLCB0eXBlbmFtZSBUMjAgLCB0eXBlbmFtZSBUMjEgLCB0eXBlbmFtZSBUMjIgLCB0eXBlbmFtZSBUMjMgLCB0eXBlbmFtZSBUMjQgLCB0eXBlbmFtZSBUMjUgLCB0eXBlbmFtZSBUMjYgLCB0eXBlbmFtZSBUMjcgLCB0eXBlbmFtZSBUMjggLCB0eXBlbmFtZSBUMjkgLCB0eXBlbmFtZSBUMzAgLCB0eXBlbmFtZSBUMzEgLCB0eXBlbmFtZSBUMzIgLCB0eXBlbmFtZSBUMzMgLCB0eXBlbmFtZSBUMzQgPgorc3RydWN0IEJPT1NUX0ZUX21ha2VfdHlwZShCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZCwzNSkKK3sKK3R5cGVkZWYgQk9PU1RfRlRfc3ludGF4KEJPT1NUX0ZUX2NjLHR5cGUgQk9PU1RfUFBfRU1QVFkpIChUMCAsIFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSAsIFQyMCAsIFQyMSAsIFQyMiAsIFQyMyAsIFQyNCAsIFQyNSAsIFQyNiAsIFQyNyAsIFQyOCAsIFQyOSAsIFQzMCAsIFQzMSAsIFQzMiAsIFQzMyAsIFQzNCBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2IDsKK307Cit0ZW1wbGF0ZTwgPiAKK3N0cnVjdCBzeW50aGVzaXplX2ltcGxfbzwgQk9PU1RfRlRfZmxhZ3MsIEJPT1NUX0ZUX2NjX2lkLCAzNiA+IAoreyAKK3RlbXBsYXRlPHR5cGVuYW1lIFM+IHN0cnVjdCBzeW50aGVzaXplX2ltcGxfaQoreworcHJpdmF0ZToKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpiZWdpbjxTPiA6OnR5cGUgaXRlcl8wOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMCA+IDo6dHlwZSBpdGVyXzE7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xID4gOjp0eXBlIGl0ZXJfMjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIgPiA6OnR5cGUgaXRlcl8zOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMyA+IDo6dHlwZSBpdGVyXzQ7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl80ID4gOjp0eXBlIGl0ZXJfNTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzUgPiA6OnR5cGUgaXRlcl82OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNiA+IDo6dHlwZSBpdGVyXzc7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl83ID4gOjp0eXBlIGl0ZXJfODsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzggPiA6OnR5cGUgaXRlcl85OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfOSA+IDo6dHlwZSBpdGVyXzEwOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTAgPiA6OnR5cGUgaXRlcl8xMTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzExID4gOjp0eXBlIGl0ZXJfMTI7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xMiA+IDo6dHlwZSBpdGVyXzEzOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTMgPiA6OnR5cGUgaXRlcl8xNDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE0ID4gOjp0eXBlIGl0ZXJfMTU7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xNSA+IDo6dHlwZSBpdGVyXzE2OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTYgPiA6OnR5cGUgaXRlcl8xNzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE3ID4gOjp0eXBlIGl0ZXJfMTg7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xOCA+IDo6dHlwZSBpdGVyXzE5OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTkgPiA6OnR5cGUgaXRlcl8yMDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIwID4gOjp0eXBlIGl0ZXJfMjE7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yMSA+IDo6dHlwZSBpdGVyXzIyOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjIgPiA6OnR5cGUgaXRlcl8yMzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIzID4gOjp0eXBlIGl0ZXJfMjQ7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yNCA+IDo6dHlwZSBpdGVyXzI1OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjUgPiA6OnR5cGUgaXRlcl8yNjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzI2ID4gOjp0eXBlIGl0ZXJfMjc7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yNyA+IDo6dHlwZSBpdGVyXzI4OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjggPiA6OnR5cGUgaXRlcl8yOTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzI5ID4gOjp0eXBlIGl0ZXJfMzA7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zMCA+IDo6dHlwZSBpdGVyXzMxOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMzEgPiA6OnR5cGUgaXRlcl8zMjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzMyID4gOjp0eXBlIGl0ZXJfMzM7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zMyA+IDo6dHlwZSBpdGVyXzM0OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMzQgPiA6OnR5cGUgaXRlcl8zNTsKK3B1YmxpYzoKK3R5cGVkZWYgdHlwZW5hbWUgZGV0YWlsOjpCT09TVF9GVF9tYWtlX3R5cGUoQk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQsMzUpIAorPCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzAgPiA6OnR5cGUgCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzUgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl82ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzggPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl85ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTAgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzEyID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTMgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xNCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE1ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTYgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xNyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE4ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTkgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yMCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIxID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjIgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yMyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzI0ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjUgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yNiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzI3ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjggPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yOSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzMwID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzEgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zMiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzMzID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzQgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zNSA+IDo6dHlwZQorPiA6OnR5cGUgdHlwZTsKK307Cit9OwordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIgLCB0eXBlbmFtZSBUMyAsIHR5cGVuYW1lIFQ0ICwgdHlwZW5hbWUgVDUgLCB0eXBlbmFtZSBUNiAsIHR5cGVuYW1lIFQ3ICwgdHlwZW5hbWUgVDggLCB0eXBlbmFtZSBUOSAsIHR5cGVuYW1lIFQxMCAsIHR5cGVuYW1lIFQxMSAsIHR5cGVuYW1lIFQxMiAsIHR5cGVuYW1lIFQxMyAsIHR5cGVuYW1lIFQxNCAsIHR5cGVuYW1lIFQxNSAsIHR5cGVuYW1lIFQxNiAsIHR5cGVuYW1lIFQxNyAsIHR5cGVuYW1lIFQxOCAsIHR5cGVuYW1lIFQxOSAsIHR5cGVuYW1lIFQyMCAsIHR5cGVuYW1lIFQyMSAsIHR5cGVuYW1lIFQyMiAsIHR5cGVuYW1lIFQyMyAsIHR5cGVuYW1lIFQyNCAsIHR5cGVuYW1lIFQyNSAsIHR5cGVuYW1lIFQyNiAsIHR5cGVuYW1lIFQyNyAsIHR5cGVuYW1lIFQyOCAsIHR5cGVuYW1lIFQyOSAsIHR5cGVuYW1lIFQzMCAsIHR5cGVuYW1lIFQzMSAsIHR5cGVuYW1lIFQzMiAsIHR5cGVuYW1lIFQzMyAsIHR5cGVuYW1lIFQzNCAsIHR5cGVuYW1lIFQzNSA+CitzdHJ1Y3QgQk9PU1RfRlRfbWFrZV90eXBlKEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDM2KQorewordHlwZWRlZiBCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsdHlwZSBCT09TVF9QUF9FTVBUWSkgKFQwICwgVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzICwgVDE0ICwgVDE1ICwgVDE2ICwgVDE3ICwgVDE4ICwgVDE5ICwgVDIwICwgVDIxICwgVDIyICwgVDIzICwgVDI0ICwgVDI1ICwgVDI2ICwgVDI3ICwgVDI4ICwgVDI5ICwgVDMwICwgVDMxICwgVDMyICwgVDMzICwgVDM0ICwgVDM1IEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YgOworfTsKK3RlbXBsYXRlPCA+IAorc3RydWN0IHN5bnRoZXNpemVfaW1wbF9vPCBCT09TVF9GVF9mbGFncywgQk9PU1RfRlRfY2NfaWQsIDM3ID4gCit7IAordGVtcGxhdGU8dHlwZW5hbWUgUz4gc3RydWN0IHN5bnRoZXNpemVfaW1wbF9pCit7Citwcml2YXRlOgordHlwZWRlZiB0eXBlbmFtZSBtcGw6OmJlZ2luPFM+IDo6dHlwZSBpdGVyXzA7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8wID4gOjp0eXBlIGl0ZXJfMTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzEgPiA6OnR5cGUgaXRlcl8yOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMiA+IDo6dHlwZSBpdGVyXzM7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zID4gOjp0eXBlIGl0ZXJfNDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzQgPiA6OnR5cGUgaXRlcl81OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNSA+IDo6dHlwZSBpdGVyXzY7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl82ID4gOjp0eXBlIGl0ZXJfNzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzcgPiA6OnR5cGUgaXRlcl84OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfOCA+IDo6dHlwZSBpdGVyXzk7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl85ID4gOjp0eXBlIGl0ZXJfMTA7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xMCA+IDo6dHlwZSBpdGVyXzExOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTEgPiA6OnR5cGUgaXRlcl8xMjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzEyID4gOjp0eXBlIGl0ZXJfMTM7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xMyA+IDo6dHlwZSBpdGVyXzE0OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTQgPiA6OnR5cGUgaXRlcl8xNTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE1ID4gOjp0eXBlIGl0ZXJfMTY7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xNiA+IDo6dHlwZSBpdGVyXzE3OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTcgPiA6OnR5cGUgaXRlcl8xODsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE4ID4gOjp0eXBlIGl0ZXJfMTk7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xOSA+IDo6dHlwZSBpdGVyXzIwOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjAgPiA6OnR5cGUgaXRlcl8yMTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIxID4gOjp0eXBlIGl0ZXJfMjI7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yMiA+IDo6dHlwZSBpdGVyXzIzOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjMgPiA6OnR5cGUgaXRlcl8yNDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzI0ID4gOjp0eXBlIGl0ZXJfMjU7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yNSA+IDo6dHlwZSBpdGVyXzI2OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjYgPiA6OnR5cGUgaXRlcl8yNzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzI3ID4gOjp0eXBlIGl0ZXJfMjg7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yOCA+IDo6dHlwZSBpdGVyXzI5OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjkgPiA6OnR5cGUgaXRlcl8zMDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzMwID4gOjp0eXBlIGl0ZXJfMzE7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zMSA+IDo6dHlwZSBpdGVyXzMyOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMzIgPiA6OnR5cGUgaXRlcl8zMzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzMzID4gOjp0eXBlIGl0ZXJfMzQ7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zNCA+IDo6dHlwZSBpdGVyXzM1OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMzUgPiA6OnR5cGUgaXRlcl8zNjsKK3B1YmxpYzoKK3R5cGVkZWYgdHlwZW5hbWUgZGV0YWlsOjpCT09TVF9GVF9tYWtlX3R5cGUoQk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQsMzYpIAorPCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzAgPiA6OnR5cGUgCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzUgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl82ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzggPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl85ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTAgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzEyID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTMgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xNCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE1ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTYgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xNyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE4ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTkgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yMCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIxID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjIgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yMyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzI0ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjUgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yNiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzI3ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjggPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yOSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzMwID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzEgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zMiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzMzID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzQgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zNSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzM2ID4gOjp0eXBlCis+IDo6dHlwZSB0eXBlOworfTsKK307Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgUiAsIHR5cGVuYW1lIFQwICwgdHlwZW5hbWUgVDEgLCB0eXBlbmFtZSBUMiAsIHR5cGVuYW1lIFQzICwgdHlwZW5hbWUgVDQgLCB0eXBlbmFtZSBUNSAsIHR5cGVuYW1lIFQ2ICwgdHlwZW5hbWUgVDcgLCB0eXBlbmFtZSBUOCAsIHR5cGVuYW1lIFQ5ICwgdHlwZW5hbWUgVDEwICwgdHlwZW5hbWUgVDExICwgdHlwZW5hbWUgVDEyICwgdHlwZW5hbWUgVDEzICwgdHlwZW5hbWUgVDE0ICwgdHlwZW5hbWUgVDE1ICwgdHlwZW5hbWUgVDE2ICwgdHlwZW5hbWUgVDE3ICwgdHlwZW5hbWUgVDE4ICwgdHlwZW5hbWUgVDE5ICwgdHlwZW5hbWUgVDIwICwgdHlwZW5hbWUgVDIxICwgdHlwZW5hbWUgVDIyICwgdHlwZW5hbWUgVDIzICwgdHlwZW5hbWUgVDI0ICwgdHlwZW5hbWUgVDI1ICwgdHlwZW5hbWUgVDI2ICwgdHlwZW5hbWUgVDI3ICwgdHlwZW5hbWUgVDI4ICwgdHlwZW5hbWUgVDI5ICwgdHlwZW5hbWUgVDMwICwgdHlwZW5hbWUgVDMxICwgdHlwZW5hbWUgVDMyICwgdHlwZW5hbWUgVDMzICwgdHlwZW5hbWUgVDM0ICwgdHlwZW5hbWUgVDM1ICwgdHlwZW5hbWUgVDM2ID4KK3N0cnVjdCBCT09TVF9GVF9tYWtlX3R5cGUoQk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQsMzcpCit7Cit0eXBlZGVmIEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYyx0eXBlIEJPT1NUX1BQX0VNUFRZKSAoVDAgLCBUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgLCBUMTIgLCBUMTMgLCBUMTQgLCBUMTUgLCBUMTYgLCBUMTcgLCBUMTggLCBUMTkgLCBUMjAgLCBUMjEgLCBUMjIgLCBUMjMgLCBUMjQgLCBUMjUgLCBUMjYgLCBUMjcgLCBUMjggLCBUMjkgLCBUMzAgLCBUMzEgLCBUMzIgLCBUMzMgLCBUMzQgLCBUMzUgLCBUMzYgQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdiA7Cit9OwordGVtcGxhdGU8ID4gCitzdHJ1Y3Qgc3ludGhlc2l6ZV9pbXBsX288IEJPT1NUX0ZUX2ZsYWdzLCBCT09TVF9GVF9jY19pZCwgMzggPiAKK3sgCit0ZW1wbGF0ZTx0eXBlbmFtZSBTPiBzdHJ1Y3Qgc3ludGhlc2l6ZV9pbXBsX2kKK3sKK3ByaXZhdGU6Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6YmVnaW48Uz4gOjp0eXBlIGl0ZXJfMDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzAgPiA6OnR5cGUgaXRlcl8xOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMSA+IDo6dHlwZSBpdGVyXzI7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yID4gOjp0eXBlIGl0ZXJfMzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzMgPiA6OnR5cGUgaXRlcl80OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNCA+IDo6dHlwZSBpdGVyXzU7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl81ID4gOjp0eXBlIGl0ZXJfNjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzYgPiA6OnR5cGUgaXRlcl83OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNyA+IDo6dHlwZSBpdGVyXzg7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl84ID4gOjp0eXBlIGl0ZXJfOTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzkgPiA6OnR5cGUgaXRlcl8xMDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzEwID4gOjp0eXBlIGl0ZXJfMTE7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xMSA+IDo6dHlwZSBpdGVyXzEyOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTIgPiA6OnR5cGUgaXRlcl8xMzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzEzID4gOjp0eXBlIGl0ZXJfMTQ7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xNCA+IDo6dHlwZSBpdGVyXzE1OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTUgPiA6OnR5cGUgaXRlcl8xNjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE2ID4gOjp0eXBlIGl0ZXJfMTc7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xNyA+IDo6dHlwZSBpdGVyXzE4OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTggPiA6OnR5cGUgaXRlcl8xOTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE5ID4gOjp0eXBlIGl0ZXJfMjA7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yMCA+IDo6dHlwZSBpdGVyXzIxOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjEgPiA6OnR5cGUgaXRlcl8yMjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIyID4gOjp0eXBlIGl0ZXJfMjM7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yMyA+IDo6dHlwZSBpdGVyXzI0OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjQgPiA6OnR5cGUgaXRlcl8yNTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzI1ID4gOjp0eXBlIGl0ZXJfMjY7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yNiA+IDo6dHlwZSBpdGVyXzI3OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjcgPiA6OnR5cGUgaXRlcl8yODsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzI4ID4gOjp0eXBlIGl0ZXJfMjk7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yOSA+IDo6dHlwZSBpdGVyXzMwOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMzAgPiA6OnR5cGUgaXRlcl8zMTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzMxID4gOjp0eXBlIGl0ZXJfMzI7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zMiA+IDo6dHlwZSBpdGVyXzMzOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMzMgPiA6OnR5cGUgaXRlcl8zNDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzM0ID4gOjp0eXBlIGl0ZXJfMzU7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zNSA+IDo6dHlwZSBpdGVyXzM2OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMzYgPiA6OnR5cGUgaXRlcl8zNzsKK3B1YmxpYzoKK3R5cGVkZWYgdHlwZW5hbWUgZGV0YWlsOjpCT09TVF9GVF9tYWtlX3R5cGUoQk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQsMzcpIAorPCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzAgPiA6OnR5cGUgCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzUgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl82ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzggPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl85ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTAgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzEyID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTMgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xNCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE1ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTYgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xNyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE4ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTkgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yMCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIxID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjIgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yMyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzI0ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjUgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yNiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzI3ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjggPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yOSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzMwID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzEgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zMiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzMzID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzQgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zNSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzM2ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzcgPiA6OnR5cGUKKz4gOjp0eXBlIHR5cGU7Cit9OworfTsKK3RlbXBsYXRlPCB0eXBlbmFtZSBSICwgdHlwZW5hbWUgVDAgLCB0eXBlbmFtZSBUMSAsIHR5cGVuYW1lIFQyICwgdHlwZW5hbWUgVDMgLCB0eXBlbmFtZSBUNCAsIHR5cGVuYW1lIFQ1ICwgdHlwZW5hbWUgVDYgLCB0eXBlbmFtZSBUNyAsIHR5cGVuYW1lIFQ4ICwgdHlwZW5hbWUgVDkgLCB0eXBlbmFtZSBUMTAgLCB0eXBlbmFtZSBUMTEgLCB0eXBlbmFtZSBUMTIgLCB0eXBlbmFtZSBUMTMgLCB0eXBlbmFtZSBUMTQgLCB0eXBlbmFtZSBUMTUgLCB0eXBlbmFtZSBUMTYgLCB0eXBlbmFtZSBUMTcgLCB0eXBlbmFtZSBUMTggLCB0eXBlbmFtZSBUMTkgLCB0eXBlbmFtZSBUMjAgLCB0eXBlbmFtZSBUMjEgLCB0eXBlbmFtZSBUMjIgLCB0eXBlbmFtZSBUMjMgLCB0eXBlbmFtZSBUMjQgLCB0eXBlbmFtZSBUMjUgLCB0eXBlbmFtZSBUMjYgLCB0eXBlbmFtZSBUMjcgLCB0eXBlbmFtZSBUMjggLCB0eXBlbmFtZSBUMjkgLCB0eXBlbmFtZSBUMzAgLCB0eXBlbmFtZSBUMzEgLCB0eXBlbmFtZSBUMzIgLCB0eXBlbmFtZSBUMzMgLCB0eXBlbmFtZSBUMzQgLCB0eXBlbmFtZSBUMzUgLCB0eXBlbmFtZSBUMzYgLCB0eXBlbmFtZSBUMzcgPgorc3RydWN0IEJPT1NUX0ZUX21ha2VfdHlwZShCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZCwzOCkKK3sKK3R5cGVkZWYgQk9PU1RfRlRfc3ludGF4KEJPT1NUX0ZUX2NjLHR5cGUgQk9PU1RfUFBfRU1QVFkpIChUMCAsIFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSAsIFQyMCAsIFQyMSAsIFQyMiAsIFQyMyAsIFQyNCAsIFQyNSAsIFQyNiAsIFQyNyAsIFQyOCAsIFQyOSAsIFQzMCAsIFQzMSAsIFQzMiAsIFQzMyAsIFQzNCAsIFQzNSAsIFQzNiAsIFQzNyBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2IDsKK307Cit0ZW1wbGF0ZTwgPiAKK3N0cnVjdCBzeW50aGVzaXplX2ltcGxfbzwgQk9PU1RfRlRfZmxhZ3MsIEJPT1NUX0ZUX2NjX2lkLCAzOSA+IAoreyAKK3RlbXBsYXRlPHR5cGVuYW1lIFM+IHN0cnVjdCBzeW50aGVzaXplX2ltcGxfaQoreworcHJpdmF0ZToKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpiZWdpbjxTPiA6OnR5cGUgaXRlcl8wOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMCA+IDo6dHlwZSBpdGVyXzE7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xID4gOjp0eXBlIGl0ZXJfMjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIgPiA6OnR5cGUgaXRlcl8zOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMyA+IDo6dHlwZSBpdGVyXzQ7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl80ID4gOjp0eXBlIGl0ZXJfNTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzUgPiA6OnR5cGUgaXRlcl82OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNiA+IDo6dHlwZSBpdGVyXzc7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl83ID4gOjp0eXBlIGl0ZXJfODsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzggPiA6OnR5cGUgaXRlcl85OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfOSA+IDo6dHlwZSBpdGVyXzEwOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTAgPiA6OnR5cGUgaXRlcl8xMTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzExID4gOjp0eXBlIGl0ZXJfMTI7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xMiA+IDo6dHlwZSBpdGVyXzEzOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTMgPiA6OnR5cGUgaXRlcl8xNDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE0ID4gOjp0eXBlIGl0ZXJfMTU7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xNSA+IDo6dHlwZSBpdGVyXzE2OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTYgPiA6OnR5cGUgaXRlcl8xNzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE3ID4gOjp0eXBlIGl0ZXJfMTg7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xOCA+IDo6dHlwZSBpdGVyXzE5OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTkgPiA6OnR5cGUgaXRlcl8yMDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIwID4gOjp0eXBlIGl0ZXJfMjE7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yMSA+IDo6dHlwZSBpdGVyXzIyOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjIgPiA6OnR5cGUgaXRlcl8yMzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIzID4gOjp0eXBlIGl0ZXJfMjQ7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yNCA+IDo6dHlwZSBpdGVyXzI1OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjUgPiA6OnR5cGUgaXRlcl8yNjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzI2ID4gOjp0eXBlIGl0ZXJfMjc7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yNyA+IDo6dHlwZSBpdGVyXzI4OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjggPiA6OnR5cGUgaXRlcl8yOTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzI5ID4gOjp0eXBlIGl0ZXJfMzA7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zMCA+IDo6dHlwZSBpdGVyXzMxOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMzEgPiA6OnR5cGUgaXRlcl8zMjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzMyID4gOjp0eXBlIGl0ZXJfMzM7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zMyA+IDo6dHlwZSBpdGVyXzM0OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMzQgPiA6OnR5cGUgaXRlcl8zNTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzM1ID4gOjp0eXBlIGl0ZXJfMzY7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zNiA+IDo6dHlwZSBpdGVyXzM3OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMzcgPiA6OnR5cGUgaXRlcl8zODsKK3B1YmxpYzoKK3R5cGVkZWYgdHlwZW5hbWUgZGV0YWlsOjpCT09TVF9GVF9tYWtlX3R5cGUoQk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQsMzgpIAorPCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzAgPiA6OnR5cGUgCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzUgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl82ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzggPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl85ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTAgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzEyID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTMgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xNCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE1ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTYgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xNyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE4ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTkgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yMCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIxID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjIgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yMyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzI0ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjUgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yNiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzI3ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjggPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yOSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzMwID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzEgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zMiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzMzID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzQgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zNSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzM2ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzcgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zOCA+IDo6dHlwZQorPiA6OnR5cGUgdHlwZTsKK307Cit9OwordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIgLCB0eXBlbmFtZSBUMyAsIHR5cGVuYW1lIFQ0ICwgdHlwZW5hbWUgVDUgLCB0eXBlbmFtZSBUNiAsIHR5cGVuYW1lIFQ3ICwgdHlwZW5hbWUgVDggLCB0eXBlbmFtZSBUOSAsIHR5cGVuYW1lIFQxMCAsIHR5cGVuYW1lIFQxMSAsIHR5cGVuYW1lIFQxMiAsIHR5cGVuYW1lIFQxMyAsIHR5cGVuYW1lIFQxNCAsIHR5cGVuYW1lIFQxNSAsIHR5cGVuYW1lIFQxNiAsIHR5cGVuYW1lIFQxNyAsIHR5cGVuYW1lIFQxOCAsIHR5cGVuYW1lIFQxOSAsIHR5cGVuYW1lIFQyMCAsIHR5cGVuYW1lIFQyMSAsIHR5cGVuYW1lIFQyMiAsIHR5cGVuYW1lIFQyMyAsIHR5cGVuYW1lIFQyNCAsIHR5cGVuYW1lIFQyNSAsIHR5cGVuYW1lIFQyNiAsIHR5cGVuYW1lIFQyNyAsIHR5cGVuYW1lIFQyOCAsIHR5cGVuYW1lIFQyOSAsIHR5cGVuYW1lIFQzMCAsIHR5cGVuYW1lIFQzMSAsIHR5cGVuYW1lIFQzMiAsIHR5cGVuYW1lIFQzMyAsIHR5cGVuYW1lIFQzNCAsIHR5cGVuYW1lIFQzNSAsIHR5cGVuYW1lIFQzNiAsIHR5cGVuYW1lIFQzNyAsIHR5cGVuYW1lIFQzOCA+CitzdHJ1Y3QgQk9PU1RfRlRfbWFrZV90eXBlKEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDM5KQorewordHlwZWRlZiBCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsdHlwZSBCT09TVF9QUF9FTVBUWSkgKFQwICwgVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzICwgVDE0ICwgVDE1ICwgVDE2ICwgVDE3ICwgVDE4ICwgVDE5ICwgVDIwICwgVDIxICwgVDIyICwgVDIzICwgVDI0ICwgVDI1ICwgVDI2ICwgVDI3ICwgVDI4ICwgVDI5ICwgVDMwICwgVDMxICwgVDMyICwgVDMzICwgVDM0ICwgVDM1ICwgVDM2ICwgVDM3ICwgVDM4IEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YgOworfTsKK3RlbXBsYXRlPCA+IAorc3RydWN0IHN5bnRoZXNpemVfaW1wbF9vPCBCT09TVF9GVF9mbGFncywgQk9PU1RfRlRfY2NfaWQsIDQwID4gCit7IAordGVtcGxhdGU8dHlwZW5hbWUgUz4gc3RydWN0IHN5bnRoZXNpemVfaW1wbF9pCit7Citwcml2YXRlOgordHlwZWRlZiB0eXBlbmFtZSBtcGw6OmJlZ2luPFM+IDo6dHlwZSBpdGVyXzA7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8wID4gOjp0eXBlIGl0ZXJfMTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzEgPiA6OnR5cGUgaXRlcl8yOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMiA+IDo6dHlwZSBpdGVyXzM7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zID4gOjp0eXBlIGl0ZXJfNDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzQgPiA6OnR5cGUgaXRlcl81OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNSA+IDo6dHlwZSBpdGVyXzY7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl82ID4gOjp0eXBlIGl0ZXJfNzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzcgPiA6OnR5cGUgaXRlcl84OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfOCA+IDo6dHlwZSBpdGVyXzk7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl85ID4gOjp0eXBlIGl0ZXJfMTA7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xMCA+IDo6dHlwZSBpdGVyXzExOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTEgPiA6OnR5cGUgaXRlcl8xMjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzEyID4gOjp0eXBlIGl0ZXJfMTM7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xMyA+IDo6dHlwZSBpdGVyXzE0OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTQgPiA6OnR5cGUgaXRlcl8xNTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE1ID4gOjp0eXBlIGl0ZXJfMTY7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xNiA+IDo6dHlwZSBpdGVyXzE3OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTcgPiA6OnR5cGUgaXRlcl8xODsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE4ID4gOjp0eXBlIGl0ZXJfMTk7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xOSA+IDo6dHlwZSBpdGVyXzIwOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjAgPiA6OnR5cGUgaXRlcl8yMTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIxID4gOjp0eXBlIGl0ZXJfMjI7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yMiA+IDo6dHlwZSBpdGVyXzIzOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjMgPiA6OnR5cGUgaXRlcl8yNDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzI0ID4gOjp0eXBlIGl0ZXJfMjU7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yNSA+IDo6dHlwZSBpdGVyXzI2OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjYgPiA6OnR5cGUgaXRlcl8yNzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzI3ID4gOjp0eXBlIGl0ZXJfMjg7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yOCA+IDo6dHlwZSBpdGVyXzI5OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjkgPiA6OnR5cGUgaXRlcl8zMDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzMwID4gOjp0eXBlIGl0ZXJfMzE7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zMSA+IDo6dHlwZSBpdGVyXzMyOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMzIgPiA6OnR5cGUgaXRlcl8zMzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzMzID4gOjp0eXBlIGl0ZXJfMzQ7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zNCA+IDo6dHlwZSBpdGVyXzM1OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMzUgPiA6OnR5cGUgaXRlcl8zNjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzM2ID4gOjp0eXBlIGl0ZXJfMzc7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zNyA+IDo6dHlwZSBpdGVyXzM4OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMzggPiA6OnR5cGUgaXRlcl8zOTsKK3B1YmxpYzoKK3R5cGVkZWYgdHlwZW5hbWUgZGV0YWlsOjpCT09TVF9GVF9tYWtlX3R5cGUoQk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQsMzkpIAorPCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzAgPiA6OnR5cGUgCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzUgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl82ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzggPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl85ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTAgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzEyID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTMgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xNCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE1ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTYgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xNyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE4ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTkgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yMCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIxID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjIgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yMyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzI0ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjUgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yNiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzI3ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjggPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yOSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzMwID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzEgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zMiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzMzID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzQgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zNSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzM2ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzcgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zOCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzM5ID4gOjp0eXBlCis+IDo6dHlwZSB0eXBlOworfTsKK307Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgUiAsIHR5cGVuYW1lIFQwICwgdHlwZW5hbWUgVDEgLCB0eXBlbmFtZSBUMiAsIHR5cGVuYW1lIFQzICwgdHlwZW5hbWUgVDQgLCB0eXBlbmFtZSBUNSAsIHR5cGVuYW1lIFQ2ICwgdHlwZW5hbWUgVDcgLCB0eXBlbmFtZSBUOCAsIHR5cGVuYW1lIFQ5ICwgdHlwZW5hbWUgVDEwICwgdHlwZW5hbWUgVDExICwgdHlwZW5hbWUgVDEyICwgdHlwZW5hbWUgVDEzICwgdHlwZW5hbWUgVDE0ICwgdHlwZW5hbWUgVDE1ICwgdHlwZW5hbWUgVDE2ICwgdHlwZW5hbWUgVDE3ICwgdHlwZW5hbWUgVDE4ICwgdHlwZW5hbWUgVDE5ICwgdHlwZW5hbWUgVDIwICwgdHlwZW5hbWUgVDIxICwgdHlwZW5hbWUgVDIyICwgdHlwZW5hbWUgVDIzICwgdHlwZW5hbWUgVDI0ICwgdHlwZW5hbWUgVDI1ICwgdHlwZW5hbWUgVDI2ICwgdHlwZW5hbWUgVDI3ICwgdHlwZW5hbWUgVDI4ICwgdHlwZW5hbWUgVDI5ICwgdHlwZW5hbWUgVDMwICwgdHlwZW5hbWUgVDMxICwgdHlwZW5hbWUgVDMyICwgdHlwZW5hbWUgVDMzICwgdHlwZW5hbWUgVDM0ICwgdHlwZW5hbWUgVDM1ICwgdHlwZW5hbWUgVDM2ICwgdHlwZW5hbWUgVDM3ICwgdHlwZW5hbWUgVDM4ICwgdHlwZW5hbWUgVDM5ID4KK3N0cnVjdCBCT09TVF9GVF9tYWtlX3R5cGUoQk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQsNDApCit7Cit0eXBlZGVmIEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYyx0eXBlIEJPT1NUX1BQX0VNUFRZKSAoVDAgLCBUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgLCBUMTIgLCBUMTMgLCBUMTQgLCBUMTUgLCBUMTYgLCBUMTcgLCBUMTggLCBUMTkgLCBUMjAgLCBUMjEgLCBUMjIgLCBUMjMgLCBUMjQgLCBUMjUgLCBUMjYgLCBUMjcgLCBUMjggLCBUMjkgLCBUMzAgLCBUMzEgLCBUMzIgLCBUMzMgLCBUMzQgLCBUMzUgLCBUMzYgLCBUMzcgLCBUMzggLCBUMzkgQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdiA7Cit9OwordGVtcGxhdGU8ID4gCitzdHJ1Y3Qgc3ludGhlc2l6ZV9pbXBsX288IEJPT1NUX0ZUX2ZsYWdzLCBCT09TVF9GVF9jY19pZCwgNDEgPiAKK3sgCit0ZW1wbGF0ZTx0eXBlbmFtZSBTPiBzdHJ1Y3Qgc3ludGhlc2l6ZV9pbXBsX2kKK3sKK3ByaXZhdGU6Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6YmVnaW48Uz4gOjp0eXBlIGl0ZXJfMDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzAgPiA6OnR5cGUgaXRlcl8xOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMSA+IDo6dHlwZSBpdGVyXzI7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yID4gOjp0eXBlIGl0ZXJfMzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzMgPiA6OnR5cGUgaXRlcl80OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNCA+IDo6dHlwZSBpdGVyXzU7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl81ID4gOjp0eXBlIGl0ZXJfNjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzYgPiA6OnR5cGUgaXRlcl83OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNyA+IDo6dHlwZSBpdGVyXzg7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl84ID4gOjp0eXBlIGl0ZXJfOTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzkgPiA6OnR5cGUgaXRlcl8xMDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzEwID4gOjp0eXBlIGl0ZXJfMTE7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xMSA+IDo6dHlwZSBpdGVyXzEyOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTIgPiA6OnR5cGUgaXRlcl8xMzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzEzID4gOjp0eXBlIGl0ZXJfMTQ7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xNCA+IDo6dHlwZSBpdGVyXzE1OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTUgPiA6OnR5cGUgaXRlcl8xNjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE2ID4gOjp0eXBlIGl0ZXJfMTc7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xNyA+IDo6dHlwZSBpdGVyXzE4OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTggPiA6OnR5cGUgaXRlcl8xOTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE5ID4gOjp0eXBlIGl0ZXJfMjA7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yMCA+IDo6dHlwZSBpdGVyXzIxOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjEgPiA6OnR5cGUgaXRlcl8yMjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIyID4gOjp0eXBlIGl0ZXJfMjM7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yMyA+IDo6dHlwZSBpdGVyXzI0OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjQgPiA6OnR5cGUgaXRlcl8yNTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzI1ID4gOjp0eXBlIGl0ZXJfMjY7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yNiA+IDo6dHlwZSBpdGVyXzI3OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjcgPiA6OnR5cGUgaXRlcl8yODsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzI4ID4gOjp0eXBlIGl0ZXJfMjk7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yOSA+IDo6dHlwZSBpdGVyXzMwOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMzAgPiA6OnR5cGUgaXRlcl8zMTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzMxID4gOjp0eXBlIGl0ZXJfMzI7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zMiA+IDo6dHlwZSBpdGVyXzMzOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMzMgPiA6OnR5cGUgaXRlcl8zNDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzM0ID4gOjp0eXBlIGl0ZXJfMzU7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zNSA+IDo6dHlwZSBpdGVyXzM2OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMzYgPiA6OnR5cGUgaXRlcl8zNzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzM3ID4gOjp0eXBlIGl0ZXJfMzg7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zOCA+IDo6dHlwZSBpdGVyXzM5OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMzkgPiA6OnR5cGUgaXRlcl80MDsKK3B1YmxpYzoKK3R5cGVkZWYgdHlwZW5hbWUgZGV0YWlsOjpCT09TVF9GVF9tYWtlX3R5cGUoQk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQsNDApIAorPCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzAgPiA6OnR5cGUgCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzUgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl82ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzggPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl85ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTAgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzEyID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTMgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xNCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE1ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTYgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xNyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE4ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTkgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yMCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIxID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjIgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yMyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzI0ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjUgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yNiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzI3ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjggPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yOSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzMwID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzEgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zMiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzMzID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzQgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zNSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzM2ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzcgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zOCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzM5ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNDAgPiA6OnR5cGUKKz4gOjp0eXBlIHR5cGU7Cit9OworfTsKKyMgdW5kZWYgQk9PU1RfRlRfbWFrZV90eXBlCisjIHVuZGVmIEJPT1NUX0ZUX21ha2VfdHlwZV9pbXBsCisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L2Z1bmN0aW9uX3R5cGVzL2RldGFpbC9zeW50aGVzaXplX2ltcGwvYXJpdHk0MF8xLmhwcCBiL25kbmJvb3N0L2Z1bmN0aW9uX3R5cGVzL2RldGFpbC9zeW50aGVzaXplX2ltcGwvYXJpdHk0MF8xLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNjIwYzA0Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvZnVuY3Rpb25fdHlwZXMvZGV0YWlsL3N5bnRoZXNpemVfaW1wbC9hcml0eTQwXzEuaHBwCkBAIC0wLDAgKzEsOTI3IEBACisKKy8vIChDKSBDb3B5cmlnaHQgVG9iaWFzIFNjaHdpbmdlcgorLy8KKy8vIFVzZSBtb2RpZmljYXRpb24gYW5kIGRpc3RyaWJ1dGlvbiBhcmUgc3ViamVjdCB0byB0aGUgYm9vc3QgU29mdHdhcmUgTGljZW5zZSwKKy8vIFZlcnNpb24gMS4wLiAoU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkuCisKKy8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKy8vIG5vIGluY2x1ZGUgZ3VhcmRzLCB0aGlzIGZpbGUgaXMgaW50ZW5kZWQgZm9yIG11bHRpcGxlIGluY2x1c2lvbgorCisvLyBpbnB1dDogIEJPT1NUX0ZUX3N5bnRheCAgICAgdHlwZSBtYWNybyB0byB1c2UKKy8vIGlucHV0OiAgQk9PU1RfRlRfY2MgICAgICAgICBlbXB0eSBvciBjYyBzcGVjaWZpZXIgCisvLyBpbnB1dDogIEJPT1NUX0ZUX2VsbCAgICAgICAgZW1wdHkgb3IgIi4uLiIKKy8vIGlucHV0OiAgQk9PU1RfRlRfY3YgICAgICAgICBlbXB0eSBvciBjdiBxdWFsaWZpZXJzCisvLyBpbnB1dDogIEJPT1NUX0ZUX2ZsYWdzICAgICAgc2luZ2xlIGRlY2ltYWwgaW50ZWdlciBlbmNvZGluZyB0aGUgZmxhZ3MKKy8vIG91dHB1dDogQk9PU1RfRlRfbiAgICAgICAgICBudW1iZXIgb2YgY29tcG9uZW50IHR5cGVzIChhcml0eSsxKQorLy8gb3V0cHV0OiBCT09TVF9GVF9hcml0eSAgICAgIGN1cnJlbnQgYXJpdHkKKy8vIG91dHB1dDogQk9PU1RfRlRfdHlwZSAgICAgICBtYWNybyB0aGF0IGV4cGFuZHMgdG8gdGhlIHR5cGUKKy8vIG91dHB1dDogQk9PU1RfRlRfdHBsYXJncyhwKSB0ZW1wbGF0ZSBhcmd1bWVudHMgd2l0aCBnaXZlbiBwcmVmaXgKKy8vIG91dHB1dDogQk9PU1RfRlRfcGFyYW1zKHApICBwYXJhbWV0ZXJzIHdpdGggZ2l2ZW4gcHJlZml4CisKKyMgaW5jbHVkZSA8bmRuYm9vc3QvZnVuY3Rpb25fdHlwZXMvZGV0YWlsL3N5bnRoZXNpemVfaW1wbC9hcml0eTMwXzEuaHBwPgorIyBkZWZpbmUgQk9PU1RfRlRfbWFrZV90eXBlKGZsYWdzLGNjLGFyaXR5KSBCT09TVF9GVF9tYWtlX3R5cGVfaW1wbChmbGFncyxjYyxhcml0eSkKKyMgZGVmaW5lIEJPT1NUX0ZUX21ha2VfdHlwZV9pbXBsKGZsYWdzLGNjLGFyaXR5KSBtYWtlX3R5cGVfICMjIGZsYWdzICMjIF8gIyMgY2MgIyMgXyAjIyBhcml0eQordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIgLCB0eXBlbmFtZSBUMyAsIHR5cGVuYW1lIFQ0ICwgdHlwZW5hbWUgVDUgLCB0eXBlbmFtZSBUNiAsIHR5cGVuYW1lIFQ3ICwgdHlwZW5hbWUgVDggLCB0eXBlbmFtZSBUOSAsIHR5cGVuYW1lIFQxMCAsIHR5cGVuYW1lIFQxMSAsIHR5cGVuYW1lIFQxMiAsIHR5cGVuYW1lIFQxMyAsIHR5cGVuYW1lIFQxNCAsIHR5cGVuYW1lIFQxNSAsIHR5cGVuYW1lIFQxNiAsIHR5cGVuYW1lIFQxNyAsIHR5cGVuYW1lIFQxOCAsIHR5cGVuYW1lIFQxOSAsIHR5cGVuYW1lIFQyMCAsIHR5cGVuYW1lIFQyMSAsIHR5cGVuYW1lIFQyMiAsIHR5cGVuYW1lIFQyMyAsIHR5cGVuYW1lIFQyNCAsIHR5cGVuYW1lIFQyNSAsIHR5cGVuYW1lIFQyNiAsIHR5cGVuYW1lIFQyNyAsIHR5cGVuYW1lIFQyOCAsIHR5cGVuYW1lIFQyOSAsIHR5cGVuYW1lIFQzMCA+CitzdHJ1Y3QgQk9PU1RfRlRfbWFrZV90eXBlKEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDMxKQorewordHlwZWRlZiBCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsdHlwZSBCT09TVF9QUF9FTVBUWSkgKFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSAsIFQyMCAsIFQyMSAsIFQyMiAsIFQyMyAsIFQyNCAsIFQyNSAsIFQyNiAsIFQyNyAsIFQyOCAsIFQyOSAsIFQzMCBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2IDsKK307Cit0ZW1wbGF0ZTwgPiAKK3N0cnVjdCBzeW50aGVzaXplX2ltcGxfbzwgQk9PU1RfRlRfZmxhZ3MsIEJPT1NUX0ZUX2NjX2lkLCAzMiA+IAoreyAKK3RlbXBsYXRlPHR5cGVuYW1lIFM+IHN0cnVjdCBzeW50aGVzaXplX2ltcGxfaQoreworcHJpdmF0ZToKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpiZWdpbjxTPiA6OnR5cGUgaXRlcl8wOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMCA+IDo6dHlwZSBpdGVyXzE7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xID4gOjp0eXBlIGl0ZXJfMjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIgPiA6OnR5cGUgaXRlcl8zOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMyA+IDo6dHlwZSBpdGVyXzQ7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl80ID4gOjp0eXBlIGl0ZXJfNTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzUgPiA6OnR5cGUgaXRlcl82OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNiA+IDo6dHlwZSBpdGVyXzc7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl83ID4gOjp0eXBlIGl0ZXJfODsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzggPiA6OnR5cGUgaXRlcl85OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfOSA+IDo6dHlwZSBpdGVyXzEwOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTAgPiA6OnR5cGUgaXRlcl8xMTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzExID4gOjp0eXBlIGl0ZXJfMTI7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xMiA+IDo6dHlwZSBpdGVyXzEzOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTMgPiA6OnR5cGUgaXRlcl8xNDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE0ID4gOjp0eXBlIGl0ZXJfMTU7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xNSA+IDo6dHlwZSBpdGVyXzE2OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTYgPiA6OnR5cGUgaXRlcl8xNzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE3ID4gOjp0eXBlIGl0ZXJfMTg7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xOCA+IDo6dHlwZSBpdGVyXzE5OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTkgPiA6OnR5cGUgaXRlcl8yMDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIwID4gOjp0eXBlIGl0ZXJfMjE7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yMSA+IDo6dHlwZSBpdGVyXzIyOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjIgPiA6OnR5cGUgaXRlcl8yMzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIzID4gOjp0eXBlIGl0ZXJfMjQ7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yNCA+IDo6dHlwZSBpdGVyXzI1OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjUgPiA6OnR5cGUgaXRlcl8yNjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzI2ID4gOjp0eXBlIGl0ZXJfMjc7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yNyA+IDo6dHlwZSBpdGVyXzI4OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjggPiA6OnR5cGUgaXRlcl8yOTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzI5ID4gOjp0eXBlIGl0ZXJfMzA7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zMCA+IDo6dHlwZSBpdGVyXzMxOworcHVibGljOgordHlwZWRlZiB0eXBlbmFtZSBkZXRhaWw6OkJPT1NUX0ZUX21ha2VfdHlwZShCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZCwzMSkgCis8IHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMCA+IDo6dHlwZSAKKywgdHlwZW5hbWUgZGV0YWlsOjpjdl90cmFpdHM8IAordHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xID4gOjp0eXBlID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzMgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl80ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzYgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl83ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfOCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzkgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzExID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTIgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE0ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTUgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xNiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE3ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTggPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xOSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIwID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjEgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yMiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIzID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjQgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yNSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzI2ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjcgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yOCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzI5ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzAgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zMSA+IDo6dHlwZQorPiA6OnR5cGUgdHlwZTsKK307Cit9OwordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIgLCB0eXBlbmFtZSBUMyAsIHR5cGVuYW1lIFQ0ICwgdHlwZW5hbWUgVDUgLCB0eXBlbmFtZSBUNiAsIHR5cGVuYW1lIFQ3ICwgdHlwZW5hbWUgVDggLCB0eXBlbmFtZSBUOSAsIHR5cGVuYW1lIFQxMCAsIHR5cGVuYW1lIFQxMSAsIHR5cGVuYW1lIFQxMiAsIHR5cGVuYW1lIFQxMyAsIHR5cGVuYW1lIFQxNCAsIHR5cGVuYW1lIFQxNSAsIHR5cGVuYW1lIFQxNiAsIHR5cGVuYW1lIFQxNyAsIHR5cGVuYW1lIFQxOCAsIHR5cGVuYW1lIFQxOSAsIHR5cGVuYW1lIFQyMCAsIHR5cGVuYW1lIFQyMSAsIHR5cGVuYW1lIFQyMiAsIHR5cGVuYW1lIFQyMyAsIHR5cGVuYW1lIFQyNCAsIHR5cGVuYW1lIFQyNSAsIHR5cGVuYW1lIFQyNiAsIHR5cGVuYW1lIFQyNyAsIHR5cGVuYW1lIFQyOCAsIHR5cGVuYW1lIFQyOSAsIHR5cGVuYW1lIFQzMCAsIHR5cGVuYW1lIFQzMSA+CitzdHJ1Y3QgQk9PU1RfRlRfbWFrZV90eXBlKEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDMyKQorewordHlwZWRlZiBCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsdHlwZSBCT09TVF9QUF9FTVBUWSkgKFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSAsIFQyMCAsIFQyMSAsIFQyMiAsIFQyMyAsIFQyNCAsIFQyNSAsIFQyNiAsIFQyNyAsIFQyOCAsIFQyOSAsIFQzMCAsIFQzMSBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2IDsKK307Cit0ZW1wbGF0ZTwgPiAKK3N0cnVjdCBzeW50aGVzaXplX2ltcGxfbzwgQk9PU1RfRlRfZmxhZ3MsIEJPT1NUX0ZUX2NjX2lkLCAzMyA+IAoreyAKK3RlbXBsYXRlPHR5cGVuYW1lIFM+IHN0cnVjdCBzeW50aGVzaXplX2ltcGxfaQoreworcHJpdmF0ZToKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpiZWdpbjxTPiA6OnR5cGUgaXRlcl8wOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMCA+IDo6dHlwZSBpdGVyXzE7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xID4gOjp0eXBlIGl0ZXJfMjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIgPiA6OnR5cGUgaXRlcl8zOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMyA+IDo6dHlwZSBpdGVyXzQ7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl80ID4gOjp0eXBlIGl0ZXJfNTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzUgPiA6OnR5cGUgaXRlcl82OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNiA+IDo6dHlwZSBpdGVyXzc7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl83ID4gOjp0eXBlIGl0ZXJfODsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzggPiA6OnR5cGUgaXRlcl85OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfOSA+IDo6dHlwZSBpdGVyXzEwOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTAgPiA6OnR5cGUgaXRlcl8xMTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzExID4gOjp0eXBlIGl0ZXJfMTI7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xMiA+IDo6dHlwZSBpdGVyXzEzOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTMgPiA6OnR5cGUgaXRlcl8xNDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE0ID4gOjp0eXBlIGl0ZXJfMTU7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xNSA+IDo6dHlwZSBpdGVyXzE2OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTYgPiA6OnR5cGUgaXRlcl8xNzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE3ID4gOjp0eXBlIGl0ZXJfMTg7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xOCA+IDo6dHlwZSBpdGVyXzE5OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTkgPiA6OnR5cGUgaXRlcl8yMDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIwID4gOjp0eXBlIGl0ZXJfMjE7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yMSA+IDo6dHlwZSBpdGVyXzIyOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjIgPiA6OnR5cGUgaXRlcl8yMzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIzID4gOjp0eXBlIGl0ZXJfMjQ7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yNCA+IDo6dHlwZSBpdGVyXzI1OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjUgPiA6OnR5cGUgaXRlcl8yNjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzI2ID4gOjp0eXBlIGl0ZXJfMjc7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yNyA+IDo6dHlwZSBpdGVyXzI4OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjggPiA6OnR5cGUgaXRlcl8yOTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzI5ID4gOjp0eXBlIGl0ZXJfMzA7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zMCA+IDo6dHlwZSBpdGVyXzMxOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMzEgPiA6OnR5cGUgaXRlcl8zMjsKK3B1YmxpYzoKK3R5cGVkZWYgdHlwZW5hbWUgZGV0YWlsOjpCT09TVF9GVF9tYWtlX3R5cGUoQk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQsMzIpIAorPCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzAgPiA6OnR5cGUgCissIHR5cGVuYW1lIGRldGFpbDo6Y3ZfdHJhaXRzPCAKK3R5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMSA+IDo6dHlwZSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzUgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl82ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzggPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl85ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTAgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzEyID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTMgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xNCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE1ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTYgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xNyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE4ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTkgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yMCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIxID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjIgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yMyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzI0ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjUgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yNiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzI3ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjggPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yOSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzMwID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzEgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zMiA+IDo6dHlwZQorPiA6OnR5cGUgdHlwZTsKK307Cit9OwordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIgLCB0eXBlbmFtZSBUMyAsIHR5cGVuYW1lIFQ0ICwgdHlwZW5hbWUgVDUgLCB0eXBlbmFtZSBUNiAsIHR5cGVuYW1lIFQ3ICwgdHlwZW5hbWUgVDggLCB0eXBlbmFtZSBUOSAsIHR5cGVuYW1lIFQxMCAsIHR5cGVuYW1lIFQxMSAsIHR5cGVuYW1lIFQxMiAsIHR5cGVuYW1lIFQxMyAsIHR5cGVuYW1lIFQxNCAsIHR5cGVuYW1lIFQxNSAsIHR5cGVuYW1lIFQxNiAsIHR5cGVuYW1lIFQxNyAsIHR5cGVuYW1lIFQxOCAsIHR5cGVuYW1lIFQxOSAsIHR5cGVuYW1lIFQyMCAsIHR5cGVuYW1lIFQyMSAsIHR5cGVuYW1lIFQyMiAsIHR5cGVuYW1lIFQyMyAsIHR5cGVuYW1lIFQyNCAsIHR5cGVuYW1lIFQyNSAsIHR5cGVuYW1lIFQyNiAsIHR5cGVuYW1lIFQyNyAsIHR5cGVuYW1lIFQyOCAsIHR5cGVuYW1lIFQyOSAsIHR5cGVuYW1lIFQzMCAsIHR5cGVuYW1lIFQzMSAsIHR5cGVuYW1lIFQzMiA+CitzdHJ1Y3QgQk9PU1RfRlRfbWFrZV90eXBlKEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDMzKQorewordHlwZWRlZiBCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsdHlwZSBCT09TVF9QUF9FTVBUWSkgKFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSAsIFQyMCAsIFQyMSAsIFQyMiAsIFQyMyAsIFQyNCAsIFQyNSAsIFQyNiAsIFQyNyAsIFQyOCAsIFQyOSAsIFQzMCAsIFQzMSAsIFQzMiBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2IDsKK307Cit0ZW1wbGF0ZTwgPiAKK3N0cnVjdCBzeW50aGVzaXplX2ltcGxfbzwgQk9PU1RfRlRfZmxhZ3MsIEJPT1NUX0ZUX2NjX2lkLCAzNCA+IAoreyAKK3RlbXBsYXRlPHR5cGVuYW1lIFM+IHN0cnVjdCBzeW50aGVzaXplX2ltcGxfaQoreworcHJpdmF0ZToKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpiZWdpbjxTPiA6OnR5cGUgaXRlcl8wOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMCA+IDo6dHlwZSBpdGVyXzE7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xID4gOjp0eXBlIGl0ZXJfMjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIgPiA6OnR5cGUgaXRlcl8zOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMyA+IDo6dHlwZSBpdGVyXzQ7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl80ID4gOjp0eXBlIGl0ZXJfNTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzUgPiA6OnR5cGUgaXRlcl82OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNiA+IDo6dHlwZSBpdGVyXzc7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl83ID4gOjp0eXBlIGl0ZXJfODsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzggPiA6OnR5cGUgaXRlcl85OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfOSA+IDo6dHlwZSBpdGVyXzEwOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTAgPiA6OnR5cGUgaXRlcl8xMTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzExID4gOjp0eXBlIGl0ZXJfMTI7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xMiA+IDo6dHlwZSBpdGVyXzEzOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTMgPiA6OnR5cGUgaXRlcl8xNDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE0ID4gOjp0eXBlIGl0ZXJfMTU7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xNSA+IDo6dHlwZSBpdGVyXzE2OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTYgPiA6OnR5cGUgaXRlcl8xNzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE3ID4gOjp0eXBlIGl0ZXJfMTg7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xOCA+IDo6dHlwZSBpdGVyXzE5OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTkgPiA6OnR5cGUgaXRlcl8yMDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIwID4gOjp0eXBlIGl0ZXJfMjE7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yMSA+IDo6dHlwZSBpdGVyXzIyOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjIgPiA6OnR5cGUgaXRlcl8yMzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIzID4gOjp0eXBlIGl0ZXJfMjQ7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yNCA+IDo6dHlwZSBpdGVyXzI1OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjUgPiA6OnR5cGUgaXRlcl8yNjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzI2ID4gOjp0eXBlIGl0ZXJfMjc7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yNyA+IDo6dHlwZSBpdGVyXzI4OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjggPiA6OnR5cGUgaXRlcl8yOTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzI5ID4gOjp0eXBlIGl0ZXJfMzA7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zMCA+IDo6dHlwZSBpdGVyXzMxOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMzEgPiA6OnR5cGUgaXRlcl8zMjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzMyID4gOjp0eXBlIGl0ZXJfMzM7CitwdWJsaWM6Cit0eXBlZGVmIHR5cGVuYW1lIGRldGFpbDo6Qk9PU1RfRlRfbWFrZV90eXBlKEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDMzKSAKKzwgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8wID4gOjp0eXBlIAorLCB0eXBlbmFtZSBkZXRhaWw6OmN2X3RyYWl0czwgCit0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzEgPiA6OnR5cGUgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzQgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl81ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzcgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl84ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfOSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzEwID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTEgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzEzID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTQgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xNSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE2ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTcgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xOCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE5ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjAgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yMSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIyID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjMgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yNCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzI1ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjYgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yNyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzI4ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjkgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zMCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzMxID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzIgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zMyA+IDo6dHlwZQorPiA6OnR5cGUgdHlwZTsKK307Cit9OwordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIgLCB0eXBlbmFtZSBUMyAsIHR5cGVuYW1lIFQ0ICwgdHlwZW5hbWUgVDUgLCB0eXBlbmFtZSBUNiAsIHR5cGVuYW1lIFQ3ICwgdHlwZW5hbWUgVDggLCB0eXBlbmFtZSBUOSAsIHR5cGVuYW1lIFQxMCAsIHR5cGVuYW1lIFQxMSAsIHR5cGVuYW1lIFQxMiAsIHR5cGVuYW1lIFQxMyAsIHR5cGVuYW1lIFQxNCAsIHR5cGVuYW1lIFQxNSAsIHR5cGVuYW1lIFQxNiAsIHR5cGVuYW1lIFQxNyAsIHR5cGVuYW1lIFQxOCAsIHR5cGVuYW1lIFQxOSAsIHR5cGVuYW1lIFQyMCAsIHR5cGVuYW1lIFQyMSAsIHR5cGVuYW1lIFQyMiAsIHR5cGVuYW1lIFQyMyAsIHR5cGVuYW1lIFQyNCAsIHR5cGVuYW1lIFQyNSAsIHR5cGVuYW1lIFQyNiAsIHR5cGVuYW1lIFQyNyAsIHR5cGVuYW1lIFQyOCAsIHR5cGVuYW1lIFQyOSAsIHR5cGVuYW1lIFQzMCAsIHR5cGVuYW1lIFQzMSAsIHR5cGVuYW1lIFQzMiAsIHR5cGVuYW1lIFQzMyA+CitzdHJ1Y3QgQk9PU1RfRlRfbWFrZV90eXBlKEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDM0KQorewordHlwZWRlZiBCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsdHlwZSBCT09TVF9QUF9FTVBUWSkgKFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSAsIFQyMCAsIFQyMSAsIFQyMiAsIFQyMyAsIFQyNCAsIFQyNSAsIFQyNiAsIFQyNyAsIFQyOCAsIFQyOSAsIFQzMCAsIFQzMSAsIFQzMiAsIFQzMyBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2IDsKK307Cit0ZW1wbGF0ZTwgPiAKK3N0cnVjdCBzeW50aGVzaXplX2ltcGxfbzwgQk9PU1RfRlRfZmxhZ3MsIEJPT1NUX0ZUX2NjX2lkLCAzNSA+IAoreyAKK3RlbXBsYXRlPHR5cGVuYW1lIFM+IHN0cnVjdCBzeW50aGVzaXplX2ltcGxfaQoreworcHJpdmF0ZToKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpiZWdpbjxTPiA6OnR5cGUgaXRlcl8wOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMCA+IDo6dHlwZSBpdGVyXzE7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xID4gOjp0eXBlIGl0ZXJfMjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIgPiA6OnR5cGUgaXRlcl8zOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMyA+IDo6dHlwZSBpdGVyXzQ7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl80ID4gOjp0eXBlIGl0ZXJfNTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzUgPiA6OnR5cGUgaXRlcl82OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNiA+IDo6dHlwZSBpdGVyXzc7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl83ID4gOjp0eXBlIGl0ZXJfODsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzggPiA6OnR5cGUgaXRlcl85OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfOSA+IDo6dHlwZSBpdGVyXzEwOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTAgPiA6OnR5cGUgaXRlcl8xMTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzExID4gOjp0eXBlIGl0ZXJfMTI7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xMiA+IDo6dHlwZSBpdGVyXzEzOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTMgPiA6OnR5cGUgaXRlcl8xNDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE0ID4gOjp0eXBlIGl0ZXJfMTU7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xNSA+IDo6dHlwZSBpdGVyXzE2OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTYgPiA6OnR5cGUgaXRlcl8xNzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE3ID4gOjp0eXBlIGl0ZXJfMTg7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xOCA+IDo6dHlwZSBpdGVyXzE5OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTkgPiA6OnR5cGUgaXRlcl8yMDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIwID4gOjp0eXBlIGl0ZXJfMjE7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yMSA+IDo6dHlwZSBpdGVyXzIyOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjIgPiA6OnR5cGUgaXRlcl8yMzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIzID4gOjp0eXBlIGl0ZXJfMjQ7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yNCA+IDo6dHlwZSBpdGVyXzI1OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjUgPiA6OnR5cGUgaXRlcl8yNjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzI2ID4gOjp0eXBlIGl0ZXJfMjc7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yNyA+IDo6dHlwZSBpdGVyXzI4OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjggPiA6OnR5cGUgaXRlcl8yOTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzI5ID4gOjp0eXBlIGl0ZXJfMzA7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zMCA+IDo6dHlwZSBpdGVyXzMxOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMzEgPiA6OnR5cGUgaXRlcl8zMjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzMyID4gOjp0eXBlIGl0ZXJfMzM7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zMyA+IDo6dHlwZSBpdGVyXzM0OworcHVibGljOgordHlwZWRlZiB0eXBlbmFtZSBkZXRhaWw6OkJPT1NUX0ZUX21ha2VfdHlwZShCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZCwzNCkgCis8IHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMCA+IDo6dHlwZSAKKywgdHlwZW5hbWUgZGV0YWlsOjpjdl90cmFpdHM8IAordHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xID4gOjp0eXBlID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzMgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl80ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzYgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl83ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfOCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzkgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzExID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTIgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE0ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTUgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xNiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE3ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTggPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xOSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIwID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjEgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yMiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIzID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjQgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yNSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzI2ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjcgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yOCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzI5ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzAgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zMSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzMyID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzMgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zNCA+IDo6dHlwZQorPiA6OnR5cGUgdHlwZTsKK307Cit9OwordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIgLCB0eXBlbmFtZSBUMyAsIHR5cGVuYW1lIFQ0ICwgdHlwZW5hbWUgVDUgLCB0eXBlbmFtZSBUNiAsIHR5cGVuYW1lIFQ3ICwgdHlwZW5hbWUgVDggLCB0eXBlbmFtZSBUOSAsIHR5cGVuYW1lIFQxMCAsIHR5cGVuYW1lIFQxMSAsIHR5cGVuYW1lIFQxMiAsIHR5cGVuYW1lIFQxMyAsIHR5cGVuYW1lIFQxNCAsIHR5cGVuYW1lIFQxNSAsIHR5cGVuYW1lIFQxNiAsIHR5cGVuYW1lIFQxNyAsIHR5cGVuYW1lIFQxOCAsIHR5cGVuYW1lIFQxOSAsIHR5cGVuYW1lIFQyMCAsIHR5cGVuYW1lIFQyMSAsIHR5cGVuYW1lIFQyMiAsIHR5cGVuYW1lIFQyMyAsIHR5cGVuYW1lIFQyNCAsIHR5cGVuYW1lIFQyNSAsIHR5cGVuYW1lIFQyNiAsIHR5cGVuYW1lIFQyNyAsIHR5cGVuYW1lIFQyOCAsIHR5cGVuYW1lIFQyOSAsIHR5cGVuYW1lIFQzMCAsIHR5cGVuYW1lIFQzMSAsIHR5cGVuYW1lIFQzMiAsIHR5cGVuYW1lIFQzMyAsIHR5cGVuYW1lIFQzNCA+CitzdHJ1Y3QgQk9PU1RfRlRfbWFrZV90eXBlKEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDM1KQorewordHlwZWRlZiBCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsdHlwZSBCT09TVF9QUF9FTVBUWSkgKFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSAsIFQyMCAsIFQyMSAsIFQyMiAsIFQyMyAsIFQyNCAsIFQyNSAsIFQyNiAsIFQyNyAsIFQyOCAsIFQyOSAsIFQzMCAsIFQzMSAsIFQzMiAsIFQzMyAsIFQzNCBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2IDsKK307Cit0ZW1wbGF0ZTwgPiAKK3N0cnVjdCBzeW50aGVzaXplX2ltcGxfbzwgQk9PU1RfRlRfZmxhZ3MsIEJPT1NUX0ZUX2NjX2lkLCAzNiA+IAoreyAKK3RlbXBsYXRlPHR5cGVuYW1lIFM+IHN0cnVjdCBzeW50aGVzaXplX2ltcGxfaQoreworcHJpdmF0ZToKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpiZWdpbjxTPiA6OnR5cGUgaXRlcl8wOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMCA+IDo6dHlwZSBpdGVyXzE7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xID4gOjp0eXBlIGl0ZXJfMjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIgPiA6OnR5cGUgaXRlcl8zOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMyA+IDo6dHlwZSBpdGVyXzQ7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl80ID4gOjp0eXBlIGl0ZXJfNTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzUgPiA6OnR5cGUgaXRlcl82OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNiA+IDo6dHlwZSBpdGVyXzc7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl83ID4gOjp0eXBlIGl0ZXJfODsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzggPiA6OnR5cGUgaXRlcl85OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfOSA+IDo6dHlwZSBpdGVyXzEwOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTAgPiA6OnR5cGUgaXRlcl8xMTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzExID4gOjp0eXBlIGl0ZXJfMTI7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xMiA+IDo6dHlwZSBpdGVyXzEzOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTMgPiA6OnR5cGUgaXRlcl8xNDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE0ID4gOjp0eXBlIGl0ZXJfMTU7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xNSA+IDo6dHlwZSBpdGVyXzE2OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTYgPiA6OnR5cGUgaXRlcl8xNzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE3ID4gOjp0eXBlIGl0ZXJfMTg7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xOCA+IDo6dHlwZSBpdGVyXzE5OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTkgPiA6OnR5cGUgaXRlcl8yMDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIwID4gOjp0eXBlIGl0ZXJfMjE7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yMSA+IDo6dHlwZSBpdGVyXzIyOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjIgPiA6OnR5cGUgaXRlcl8yMzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIzID4gOjp0eXBlIGl0ZXJfMjQ7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yNCA+IDo6dHlwZSBpdGVyXzI1OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjUgPiA6OnR5cGUgaXRlcl8yNjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzI2ID4gOjp0eXBlIGl0ZXJfMjc7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yNyA+IDo6dHlwZSBpdGVyXzI4OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjggPiA6OnR5cGUgaXRlcl8yOTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzI5ID4gOjp0eXBlIGl0ZXJfMzA7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zMCA+IDo6dHlwZSBpdGVyXzMxOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMzEgPiA6OnR5cGUgaXRlcl8zMjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzMyID4gOjp0eXBlIGl0ZXJfMzM7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zMyA+IDo6dHlwZSBpdGVyXzM0OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMzQgPiA6OnR5cGUgaXRlcl8zNTsKK3B1YmxpYzoKK3R5cGVkZWYgdHlwZW5hbWUgZGV0YWlsOjpCT09TVF9GVF9tYWtlX3R5cGUoQk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQsMzUpIAorPCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzAgPiA6OnR5cGUgCissIHR5cGVuYW1lIGRldGFpbDo6Y3ZfdHJhaXRzPCAKK3R5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMSA+IDo6dHlwZSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzUgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl82ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzggPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl85ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTAgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzEyID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTMgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xNCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE1ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTYgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xNyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE4ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTkgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yMCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIxID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjIgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yMyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzI0ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjUgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yNiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzI3ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjggPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yOSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzMwID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzEgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zMiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzMzID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzQgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zNSA+IDo6dHlwZQorPiA6OnR5cGUgdHlwZTsKK307Cit9OwordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIgLCB0eXBlbmFtZSBUMyAsIHR5cGVuYW1lIFQ0ICwgdHlwZW5hbWUgVDUgLCB0eXBlbmFtZSBUNiAsIHR5cGVuYW1lIFQ3ICwgdHlwZW5hbWUgVDggLCB0eXBlbmFtZSBUOSAsIHR5cGVuYW1lIFQxMCAsIHR5cGVuYW1lIFQxMSAsIHR5cGVuYW1lIFQxMiAsIHR5cGVuYW1lIFQxMyAsIHR5cGVuYW1lIFQxNCAsIHR5cGVuYW1lIFQxNSAsIHR5cGVuYW1lIFQxNiAsIHR5cGVuYW1lIFQxNyAsIHR5cGVuYW1lIFQxOCAsIHR5cGVuYW1lIFQxOSAsIHR5cGVuYW1lIFQyMCAsIHR5cGVuYW1lIFQyMSAsIHR5cGVuYW1lIFQyMiAsIHR5cGVuYW1lIFQyMyAsIHR5cGVuYW1lIFQyNCAsIHR5cGVuYW1lIFQyNSAsIHR5cGVuYW1lIFQyNiAsIHR5cGVuYW1lIFQyNyAsIHR5cGVuYW1lIFQyOCAsIHR5cGVuYW1lIFQyOSAsIHR5cGVuYW1lIFQzMCAsIHR5cGVuYW1lIFQzMSAsIHR5cGVuYW1lIFQzMiAsIHR5cGVuYW1lIFQzMyAsIHR5cGVuYW1lIFQzNCAsIHR5cGVuYW1lIFQzNSA+CitzdHJ1Y3QgQk9PU1RfRlRfbWFrZV90eXBlKEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDM2KQorewordHlwZWRlZiBCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsdHlwZSBCT09TVF9QUF9FTVBUWSkgKFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSAsIFQyMCAsIFQyMSAsIFQyMiAsIFQyMyAsIFQyNCAsIFQyNSAsIFQyNiAsIFQyNyAsIFQyOCAsIFQyOSAsIFQzMCAsIFQzMSAsIFQzMiAsIFQzMyAsIFQzNCAsIFQzNSBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2IDsKK307Cit0ZW1wbGF0ZTwgPiAKK3N0cnVjdCBzeW50aGVzaXplX2ltcGxfbzwgQk9PU1RfRlRfZmxhZ3MsIEJPT1NUX0ZUX2NjX2lkLCAzNyA+IAoreyAKK3RlbXBsYXRlPHR5cGVuYW1lIFM+IHN0cnVjdCBzeW50aGVzaXplX2ltcGxfaQoreworcHJpdmF0ZToKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpiZWdpbjxTPiA6OnR5cGUgaXRlcl8wOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMCA+IDo6dHlwZSBpdGVyXzE7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xID4gOjp0eXBlIGl0ZXJfMjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIgPiA6OnR5cGUgaXRlcl8zOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMyA+IDo6dHlwZSBpdGVyXzQ7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl80ID4gOjp0eXBlIGl0ZXJfNTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzUgPiA6OnR5cGUgaXRlcl82OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNiA+IDo6dHlwZSBpdGVyXzc7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl83ID4gOjp0eXBlIGl0ZXJfODsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzggPiA6OnR5cGUgaXRlcl85OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfOSA+IDo6dHlwZSBpdGVyXzEwOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTAgPiA6OnR5cGUgaXRlcl8xMTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzExID4gOjp0eXBlIGl0ZXJfMTI7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xMiA+IDo6dHlwZSBpdGVyXzEzOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTMgPiA6OnR5cGUgaXRlcl8xNDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE0ID4gOjp0eXBlIGl0ZXJfMTU7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xNSA+IDo6dHlwZSBpdGVyXzE2OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTYgPiA6OnR5cGUgaXRlcl8xNzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE3ID4gOjp0eXBlIGl0ZXJfMTg7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xOCA+IDo6dHlwZSBpdGVyXzE5OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTkgPiA6OnR5cGUgaXRlcl8yMDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIwID4gOjp0eXBlIGl0ZXJfMjE7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yMSA+IDo6dHlwZSBpdGVyXzIyOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjIgPiA6OnR5cGUgaXRlcl8yMzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIzID4gOjp0eXBlIGl0ZXJfMjQ7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yNCA+IDo6dHlwZSBpdGVyXzI1OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjUgPiA6OnR5cGUgaXRlcl8yNjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzI2ID4gOjp0eXBlIGl0ZXJfMjc7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yNyA+IDo6dHlwZSBpdGVyXzI4OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjggPiA6OnR5cGUgaXRlcl8yOTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzI5ID4gOjp0eXBlIGl0ZXJfMzA7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zMCA+IDo6dHlwZSBpdGVyXzMxOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMzEgPiA6OnR5cGUgaXRlcl8zMjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzMyID4gOjp0eXBlIGl0ZXJfMzM7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zMyA+IDo6dHlwZSBpdGVyXzM0OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMzQgPiA6OnR5cGUgaXRlcl8zNTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzM1ID4gOjp0eXBlIGl0ZXJfMzY7CitwdWJsaWM6Cit0eXBlZGVmIHR5cGVuYW1lIGRldGFpbDo6Qk9PU1RfRlRfbWFrZV90eXBlKEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDM2KSAKKzwgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8wID4gOjp0eXBlIAorLCB0eXBlbmFtZSBkZXRhaWw6OmN2X3RyYWl0czwgCit0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzEgPiA6OnR5cGUgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzQgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl81ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzcgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl84ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfOSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzEwID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTEgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzEzID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTQgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xNSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE2ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTcgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xOCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE5ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjAgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yMSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIyID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjMgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yNCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzI1ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjYgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yNyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzI4ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjkgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zMCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzMxID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzIgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zMyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzM0ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzUgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zNiA+IDo6dHlwZQorPiA6OnR5cGUgdHlwZTsKK307Cit9OwordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIgLCB0eXBlbmFtZSBUMyAsIHR5cGVuYW1lIFQ0ICwgdHlwZW5hbWUgVDUgLCB0eXBlbmFtZSBUNiAsIHR5cGVuYW1lIFQ3ICwgdHlwZW5hbWUgVDggLCB0eXBlbmFtZSBUOSAsIHR5cGVuYW1lIFQxMCAsIHR5cGVuYW1lIFQxMSAsIHR5cGVuYW1lIFQxMiAsIHR5cGVuYW1lIFQxMyAsIHR5cGVuYW1lIFQxNCAsIHR5cGVuYW1lIFQxNSAsIHR5cGVuYW1lIFQxNiAsIHR5cGVuYW1lIFQxNyAsIHR5cGVuYW1lIFQxOCAsIHR5cGVuYW1lIFQxOSAsIHR5cGVuYW1lIFQyMCAsIHR5cGVuYW1lIFQyMSAsIHR5cGVuYW1lIFQyMiAsIHR5cGVuYW1lIFQyMyAsIHR5cGVuYW1lIFQyNCAsIHR5cGVuYW1lIFQyNSAsIHR5cGVuYW1lIFQyNiAsIHR5cGVuYW1lIFQyNyAsIHR5cGVuYW1lIFQyOCAsIHR5cGVuYW1lIFQyOSAsIHR5cGVuYW1lIFQzMCAsIHR5cGVuYW1lIFQzMSAsIHR5cGVuYW1lIFQzMiAsIHR5cGVuYW1lIFQzMyAsIHR5cGVuYW1lIFQzNCAsIHR5cGVuYW1lIFQzNSAsIHR5cGVuYW1lIFQzNiA+CitzdHJ1Y3QgQk9PU1RfRlRfbWFrZV90eXBlKEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDM3KQorewordHlwZWRlZiBCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsdHlwZSBCT09TVF9QUF9FTVBUWSkgKFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSAsIFQyMCAsIFQyMSAsIFQyMiAsIFQyMyAsIFQyNCAsIFQyNSAsIFQyNiAsIFQyNyAsIFQyOCAsIFQyOSAsIFQzMCAsIFQzMSAsIFQzMiAsIFQzMyAsIFQzNCAsIFQzNSAsIFQzNiBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2IDsKK307Cit0ZW1wbGF0ZTwgPiAKK3N0cnVjdCBzeW50aGVzaXplX2ltcGxfbzwgQk9PU1RfRlRfZmxhZ3MsIEJPT1NUX0ZUX2NjX2lkLCAzOCA+IAoreyAKK3RlbXBsYXRlPHR5cGVuYW1lIFM+IHN0cnVjdCBzeW50aGVzaXplX2ltcGxfaQoreworcHJpdmF0ZToKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpiZWdpbjxTPiA6OnR5cGUgaXRlcl8wOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMCA+IDo6dHlwZSBpdGVyXzE7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xID4gOjp0eXBlIGl0ZXJfMjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIgPiA6OnR5cGUgaXRlcl8zOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMyA+IDo6dHlwZSBpdGVyXzQ7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl80ID4gOjp0eXBlIGl0ZXJfNTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzUgPiA6OnR5cGUgaXRlcl82OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNiA+IDo6dHlwZSBpdGVyXzc7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl83ID4gOjp0eXBlIGl0ZXJfODsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzggPiA6OnR5cGUgaXRlcl85OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfOSA+IDo6dHlwZSBpdGVyXzEwOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTAgPiA6OnR5cGUgaXRlcl8xMTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzExID4gOjp0eXBlIGl0ZXJfMTI7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xMiA+IDo6dHlwZSBpdGVyXzEzOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTMgPiA6OnR5cGUgaXRlcl8xNDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE0ID4gOjp0eXBlIGl0ZXJfMTU7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xNSA+IDo6dHlwZSBpdGVyXzE2OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTYgPiA6OnR5cGUgaXRlcl8xNzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE3ID4gOjp0eXBlIGl0ZXJfMTg7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xOCA+IDo6dHlwZSBpdGVyXzE5OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTkgPiA6OnR5cGUgaXRlcl8yMDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIwID4gOjp0eXBlIGl0ZXJfMjE7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yMSA+IDo6dHlwZSBpdGVyXzIyOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjIgPiA6OnR5cGUgaXRlcl8yMzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIzID4gOjp0eXBlIGl0ZXJfMjQ7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yNCA+IDo6dHlwZSBpdGVyXzI1OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjUgPiA6OnR5cGUgaXRlcl8yNjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzI2ID4gOjp0eXBlIGl0ZXJfMjc7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yNyA+IDo6dHlwZSBpdGVyXzI4OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjggPiA6OnR5cGUgaXRlcl8yOTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzI5ID4gOjp0eXBlIGl0ZXJfMzA7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zMCA+IDo6dHlwZSBpdGVyXzMxOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMzEgPiA6OnR5cGUgaXRlcl8zMjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzMyID4gOjp0eXBlIGl0ZXJfMzM7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zMyA+IDo6dHlwZSBpdGVyXzM0OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMzQgPiA6OnR5cGUgaXRlcl8zNTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzM1ID4gOjp0eXBlIGl0ZXJfMzY7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zNiA+IDo6dHlwZSBpdGVyXzM3OworcHVibGljOgordHlwZWRlZiB0eXBlbmFtZSBkZXRhaWw6OkJPT1NUX0ZUX21ha2VfdHlwZShCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZCwzNykgCis8IHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMCA+IDo6dHlwZSAKKywgdHlwZW5hbWUgZGV0YWlsOjpjdl90cmFpdHM8IAordHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xID4gOjp0eXBlID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzMgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl80ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzYgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl83ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfOCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzkgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzExID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTIgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE0ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTUgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xNiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE3ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTggPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xOSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIwID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjEgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yMiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIzID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjQgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yNSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzI2ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjcgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yOCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzI5ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzAgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zMSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzMyID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzMgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zNCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzM1ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzYgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zNyA+IDo6dHlwZQorPiA6OnR5cGUgdHlwZTsKK307Cit9OwordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIgLCB0eXBlbmFtZSBUMyAsIHR5cGVuYW1lIFQ0ICwgdHlwZW5hbWUgVDUgLCB0eXBlbmFtZSBUNiAsIHR5cGVuYW1lIFQ3ICwgdHlwZW5hbWUgVDggLCB0eXBlbmFtZSBUOSAsIHR5cGVuYW1lIFQxMCAsIHR5cGVuYW1lIFQxMSAsIHR5cGVuYW1lIFQxMiAsIHR5cGVuYW1lIFQxMyAsIHR5cGVuYW1lIFQxNCAsIHR5cGVuYW1lIFQxNSAsIHR5cGVuYW1lIFQxNiAsIHR5cGVuYW1lIFQxNyAsIHR5cGVuYW1lIFQxOCAsIHR5cGVuYW1lIFQxOSAsIHR5cGVuYW1lIFQyMCAsIHR5cGVuYW1lIFQyMSAsIHR5cGVuYW1lIFQyMiAsIHR5cGVuYW1lIFQyMyAsIHR5cGVuYW1lIFQyNCAsIHR5cGVuYW1lIFQyNSAsIHR5cGVuYW1lIFQyNiAsIHR5cGVuYW1lIFQyNyAsIHR5cGVuYW1lIFQyOCAsIHR5cGVuYW1lIFQyOSAsIHR5cGVuYW1lIFQzMCAsIHR5cGVuYW1lIFQzMSAsIHR5cGVuYW1lIFQzMiAsIHR5cGVuYW1lIFQzMyAsIHR5cGVuYW1lIFQzNCAsIHR5cGVuYW1lIFQzNSAsIHR5cGVuYW1lIFQzNiAsIHR5cGVuYW1lIFQzNyA+CitzdHJ1Y3QgQk9PU1RfRlRfbWFrZV90eXBlKEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDM4KQorewordHlwZWRlZiBCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsdHlwZSBCT09TVF9QUF9FTVBUWSkgKFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSAsIFQyMCAsIFQyMSAsIFQyMiAsIFQyMyAsIFQyNCAsIFQyNSAsIFQyNiAsIFQyNyAsIFQyOCAsIFQyOSAsIFQzMCAsIFQzMSAsIFQzMiAsIFQzMyAsIFQzNCAsIFQzNSAsIFQzNiAsIFQzNyBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2IDsKK307Cit0ZW1wbGF0ZTwgPiAKK3N0cnVjdCBzeW50aGVzaXplX2ltcGxfbzwgQk9PU1RfRlRfZmxhZ3MsIEJPT1NUX0ZUX2NjX2lkLCAzOSA+IAoreyAKK3RlbXBsYXRlPHR5cGVuYW1lIFM+IHN0cnVjdCBzeW50aGVzaXplX2ltcGxfaQoreworcHJpdmF0ZToKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpiZWdpbjxTPiA6OnR5cGUgaXRlcl8wOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMCA+IDo6dHlwZSBpdGVyXzE7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xID4gOjp0eXBlIGl0ZXJfMjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIgPiA6OnR5cGUgaXRlcl8zOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMyA+IDo6dHlwZSBpdGVyXzQ7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl80ID4gOjp0eXBlIGl0ZXJfNTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzUgPiA6OnR5cGUgaXRlcl82OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNiA+IDo6dHlwZSBpdGVyXzc7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl83ID4gOjp0eXBlIGl0ZXJfODsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzggPiA6OnR5cGUgaXRlcl85OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfOSA+IDo6dHlwZSBpdGVyXzEwOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTAgPiA6OnR5cGUgaXRlcl8xMTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzExID4gOjp0eXBlIGl0ZXJfMTI7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xMiA+IDo6dHlwZSBpdGVyXzEzOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTMgPiA6OnR5cGUgaXRlcl8xNDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE0ID4gOjp0eXBlIGl0ZXJfMTU7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xNSA+IDo6dHlwZSBpdGVyXzE2OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTYgPiA6OnR5cGUgaXRlcl8xNzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE3ID4gOjp0eXBlIGl0ZXJfMTg7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xOCA+IDo6dHlwZSBpdGVyXzE5OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTkgPiA6OnR5cGUgaXRlcl8yMDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIwID4gOjp0eXBlIGl0ZXJfMjE7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yMSA+IDo6dHlwZSBpdGVyXzIyOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjIgPiA6OnR5cGUgaXRlcl8yMzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIzID4gOjp0eXBlIGl0ZXJfMjQ7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yNCA+IDo6dHlwZSBpdGVyXzI1OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjUgPiA6OnR5cGUgaXRlcl8yNjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzI2ID4gOjp0eXBlIGl0ZXJfMjc7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yNyA+IDo6dHlwZSBpdGVyXzI4OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjggPiA6OnR5cGUgaXRlcl8yOTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzI5ID4gOjp0eXBlIGl0ZXJfMzA7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zMCA+IDo6dHlwZSBpdGVyXzMxOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMzEgPiA6OnR5cGUgaXRlcl8zMjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzMyID4gOjp0eXBlIGl0ZXJfMzM7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zMyA+IDo6dHlwZSBpdGVyXzM0OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMzQgPiA6OnR5cGUgaXRlcl8zNTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzM1ID4gOjp0eXBlIGl0ZXJfMzY7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zNiA+IDo6dHlwZSBpdGVyXzM3OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMzcgPiA6OnR5cGUgaXRlcl8zODsKK3B1YmxpYzoKK3R5cGVkZWYgdHlwZW5hbWUgZGV0YWlsOjpCT09TVF9GVF9tYWtlX3R5cGUoQk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQsMzgpIAorPCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzAgPiA6OnR5cGUgCissIHR5cGVuYW1lIGRldGFpbDo6Y3ZfdHJhaXRzPCAKK3R5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMSA+IDo6dHlwZSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzUgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl82ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzggPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl85ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTAgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzEyID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTMgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xNCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE1ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTYgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xNyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE4ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTkgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yMCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIxID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjIgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yMyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzI0ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjUgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yNiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzI3ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjggPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yOSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzMwID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzEgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zMiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzMzID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzQgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zNSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzM2ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzcgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zOCA+IDo6dHlwZQorPiA6OnR5cGUgdHlwZTsKK307Cit9OwordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIgLCB0eXBlbmFtZSBUMyAsIHR5cGVuYW1lIFQ0ICwgdHlwZW5hbWUgVDUgLCB0eXBlbmFtZSBUNiAsIHR5cGVuYW1lIFQ3ICwgdHlwZW5hbWUgVDggLCB0eXBlbmFtZSBUOSAsIHR5cGVuYW1lIFQxMCAsIHR5cGVuYW1lIFQxMSAsIHR5cGVuYW1lIFQxMiAsIHR5cGVuYW1lIFQxMyAsIHR5cGVuYW1lIFQxNCAsIHR5cGVuYW1lIFQxNSAsIHR5cGVuYW1lIFQxNiAsIHR5cGVuYW1lIFQxNyAsIHR5cGVuYW1lIFQxOCAsIHR5cGVuYW1lIFQxOSAsIHR5cGVuYW1lIFQyMCAsIHR5cGVuYW1lIFQyMSAsIHR5cGVuYW1lIFQyMiAsIHR5cGVuYW1lIFQyMyAsIHR5cGVuYW1lIFQyNCAsIHR5cGVuYW1lIFQyNSAsIHR5cGVuYW1lIFQyNiAsIHR5cGVuYW1lIFQyNyAsIHR5cGVuYW1lIFQyOCAsIHR5cGVuYW1lIFQyOSAsIHR5cGVuYW1lIFQzMCAsIHR5cGVuYW1lIFQzMSAsIHR5cGVuYW1lIFQzMiAsIHR5cGVuYW1lIFQzMyAsIHR5cGVuYW1lIFQzNCAsIHR5cGVuYW1lIFQzNSAsIHR5cGVuYW1lIFQzNiAsIHR5cGVuYW1lIFQzNyAsIHR5cGVuYW1lIFQzOCA+CitzdHJ1Y3QgQk9PU1RfRlRfbWFrZV90eXBlKEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDM5KQorewordHlwZWRlZiBCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsdHlwZSBCT09TVF9QUF9FTVBUWSkgKFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSAsIFQyMCAsIFQyMSAsIFQyMiAsIFQyMyAsIFQyNCAsIFQyNSAsIFQyNiAsIFQyNyAsIFQyOCAsIFQyOSAsIFQzMCAsIFQzMSAsIFQzMiAsIFQzMyAsIFQzNCAsIFQzNSAsIFQzNiAsIFQzNyAsIFQzOCBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2IDsKK307Cit0ZW1wbGF0ZTwgPiAKK3N0cnVjdCBzeW50aGVzaXplX2ltcGxfbzwgQk9PU1RfRlRfZmxhZ3MsIEJPT1NUX0ZUX2NjX2lkLCA0MCA+IAoreyAKK3RlbXBsYXRlPHR5cGVuYW1lIFM+IHN0cnVjdCBzeW50aGVzaXplX2ltcGxfaQoreworcHJpdmF0ZToKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpiZWdpbjxTPiA6OnR5cGUgaXRlcl8wOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMCA+IDo6dHlwZSBpdGVyXzE7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xID4gOjp0eXBlIGl0ZXJfMjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIgPiA6OnR5cGUgaXRlcl8zOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMyA+IDo6dHlwZSBpdGVyXzQ7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl80ID4gOjp0eXBlIGl0ZXJfNTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzUgPiA6OnR5cGUgaXRlcl82OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNiA+IDo6dHlwZSBpdGVyXzc7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl83ID4gOjp0eXBlIGl0ZXJfODsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzggPiA6OnR5cGUgaXRlcl85OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfOSA+IDo6dHlwZSBpdGVyXzEwOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTAgPiA6OnR5cGUgaXRlcl8xMTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzExID4gOjp0eXBlIGl0ZXJfMTI7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xMiA+IDo6dHlwZSBpdGVyXzEzOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTMgPiA6OnR5cGUgaXRlcl8xNDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE0ID4gOjp0eXBlIGl0ZXJfMTU7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xNSA+IDo6dHlwZSBpdGVyXzE2OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTYgPiA6OnR5cGUgaXRlcl8xNzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE3ID4gOjp0eXBlIGl0ZXJfMTg7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xOCA+IDo6dHlwZSBpdGVyXzE5OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTkgPiA6OnR5cGUgaXRlcl8yMDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIwID4gOjp0eXBlIGl0ZXJfMjE7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yMSA+IDo6dHlwZSBpdGVyXzIyOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjIgPiA6OnR5cGUgaXRlcl8yMzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIzID4gOjp0eXBlIGl0ZXJfMjQ7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yNCA+IDo6dHlwZSBpdGVyXzI1OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjUgPiA6OnR5cGUgaXRlcl8yNjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzI2ID4gOjp0eXBlIGl0ZXJfMjc7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yNyA+IDo6dHlwZSBpdGVyXzI4OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjggPiA6OnR5cGUgaXRlcl8yOTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzI5ID4gOjp0eXBlIGl0ZXJfMzA7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zMCA+IDo6dHlwZSBpdGVyXzMxOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMzEgPiA6OnR5cGUgaXRlcl8zMjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzMyID4gOjp0eXBlIGl0ZXJfMzM7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zMyA+IDo6dHlwZSBpdGVyXzM0OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMzQgPiA6OnR5cGUgaXRlcl8zNTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzM1ID4gOjp0eXBlIGl0ZXJfMzY7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zNiA+IDo6dHlwZSBpdGVyXzM3OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMzcgPiA6OnR5cGUgaXRlcl8zODsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzM4ID4gOjp0eXBlIGl0ZXJfMzk7CitwdWJsaWM6Cit0eXBlZGVmIHR5cGVuYW1lIGRldGFpbDo6Qk9PU1RfRlRfbWFrZV90eXBlKEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDM5KSAKKzwgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8wID4gOjp0eXBlIAorLCB0eXBlbmFtZSBkZXRhaWw6OmN2X3RyYWl0czwgCit0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzEgPiA6OnR5cGUgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzQgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl81ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzcgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl84ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfOSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzEwID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTEgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzEzID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTQgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xNSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE2ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTcgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xOCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE5ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjAgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yMSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIyID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjMgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yNCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzI1ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjYgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yNyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzI4ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjkgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zMCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzMxID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzIgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zMyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzM0ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzUgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zNiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzM3ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzggPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zOSA+IDo6dHlwZQorPiA6OnR5cGUgdHlwZTsKK307Cit9OwordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIgLCB0eXBlbmFtZSBUMyAsIHR5cGVuYW1lIFQ0ICwgdHlwZW5hbWUgVDUgLCB0eXBlbmFtZSBUNiAsIHR5cGVuYW1lIFQ3ICwgdHlwZW5hbWUgVDggLCB0eXBlbmFtZSBUOSAsIHR5cGVuYW1lIFQxMCAsIHR5cGVuYW1lIFQxMSAsIHR5cGVuYW1lIFQxMiAsIHR5cGVuYW1lIFQxMyAsIHR5cGVuYW1lIFQxNCAsIHR5cGVuYW1lIFQxNSAsIHR5cGVuYW1lIFQxNiAsIHR5cGVuYW1lIFQxNyAsIHR5cGVuYW1lIFQxOCAsIHR5cGVuYW1lIFQxOSAsIHR5cGVuYW1lIFQyMCAsIHR5cGVuYW1lIFQyMSAsIHR5cGVuYW1lIFQyMiAsIHR5cGVuYW1lIFQyMyAsIHR5cGVuYW1lIFQyNCAsIHR5cGVuYW1lIFQyNSAsIHR5cGVuYW1lIFQyNiAsIHR5cGVuYW1lIFQyNyAsIHR5cGVuYW1lIFQyOCAsIHR5cGVuYW1lIFQyOSAsIHR5cGVuYW1lIFQzMCAsIHR5cGVuYW1lIFQzMSAsIHR5cGVuYW1lIFQzMiAsIHR5cGVuYW1lIFQzMyAsIHR5cGVuYW1lIFQzNCAsIHR5cGVuYW1lIFQzNSAsIHR5cGVuYW1lIFQzNiAsIHR5cGVuYW1lIFQzNyAsIHR5cGVuYW1lIFQzOCAsIHR5cGVuYW1lIFQzOSA+CitzdHJ1Y3QgQk9PU1RfRlRfbWFrZV90eXBlKEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDQwKQorewordHlwZWRlZiBCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsdHlwZSBCT09TVF9QUF9FTVBUWSkgKFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSAsIFQyMCAsIFQyMSAsIFQyMiAsIFQyMyAsIFQyNCAsIFQyNSAsIFQyNiAsIFQyNyAsIFQyOCAsIFQyOSAsIFQzMCAsIFQzMSAsIFQzMiAsIFQzMyAsIFQzNCAsIFQzNSAsIFQzNiAsIFQzNyAsIFQzOCAsIFQzOSBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2IDsKK307Cit0ZW1wbGF0ZTwgPiAKK3N0cnVjdCBzeW50aGVzaXplX2ltcGxfbzwgQk9PU1RfRlRfZmxhZ3MsIEJPT1NUX0ZUX2NjX2lkLCA0MSA+IAoreyAKK3RlbXBsYXRlPHR5cGVuYW1lIFM+IHN0cnVjdCBzeW50aGVzaXplX2ltcGxfaQoreworcHJpdmF0ZToKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpiZWdpbjxTPiA6OnR5cGUgaXRlcl8wOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMCA+IDo6dHlwZSBpdGVyXzE7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xID4gOjp0eXBlIGl0ZXJfMjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIgPiA6OnR5cGUgaXRlcl8zOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMyA+IDo6dHlwZSBpdGVyXzQ7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl80ID4gOjp0eXBlIGl0ZXJfNTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzUgPiA6OnR5cGUgaXRlcl82OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNiA+IDo6dHlwZSBpdGVyXzc7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl83ID4gOjp0eXBlIGl0ZXJfODsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzggPiA6OnR5cGUgaXRlcl85OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfOSA+IDo6dHlwZSBpdGVyXzEwOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTAgPiA6OnR5cGUgaXRlcl8xMTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzExID4gOjp0eXBlIGl0ZXJfMTI7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xMiA+IDo6dHlwZSBpdGVyXzEzOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTMgPiA6OnR5cGUgaXRlcl8xNDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE0ID4gOjp0eXBlIGl0ZXJfMTU7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xNSA+IDo6dHlwZSBpdGVyXzE2OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTYgPiA6OnR5cGUgaXRlcl8xNzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE3ID4gOjp0eXBlIGl0ZXJfMTg7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xOCA+IDo6dHlwZSBpdGVyXzE5OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTkgPiA6OnR5cGUgaXRlcl8yMDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIwID4gOjp0eXBlIGl0ZXJfMjE7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yMSA+IDo6dHlwZSBpdGVyXzIyOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjIgPiA6OnR5cGUgaXRlcl8yMzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIzID4gOjp0eXBlIGl0ZXJfMjQ7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yNCA+IDo6dHlwZSBpdGVyXzI1OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjUgPiA6OnR5cGUgaXRlcl8yNjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzI2ID4gOjp0eXBlIGl0ZXJfMjc7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yNyA+IDo6dHlwZSBpdGVyXzI4OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjggPiA6OnR5cGUgaXRlcl8yOTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzI5ID4gOjp0eXBlIGl0ZXJfMzA7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zMCA+IDo6dHlwZSBpdGVyXzMxOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMzEgPiA6OnR5cGUgaXRlcl8zMjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzMyID4gOjp0eXBlIGl0ZXJfMzM7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zMyA+IDo6dHlwZSBpdGVyXzM0OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMzQgPiA6OnR5cGUgaXRlcl8zNTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzM1ID4gOjp0eXBlIGl0ZXJfMzY7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zNiA+IDo6dHlwZSBpdGVyXzM3OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMzcgPiA6OnR5cGUgaXRlcl8zODsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzM4ID4gOjp0eXBlIGl0ZXJfMzk7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zOSA+IDo6dHlwZSBpdGVyXzQwOworcHVibGljOgordHlwZWRlZiB0eXBlbmFtZSBkZXRhaWw6OkJPT1NUX0ZUX21ha2VfdHlwZShCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZCw0MCkgCis8IHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMCA+IDo6dHlwZSAKKywgdHlwZW5hbWUgZGV0YWlsOjpjdl90cmFpdHM8IAordHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xID4gOjp0eXBlID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzMgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl80ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzYgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl83ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfOCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzkgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzExID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTIgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE0ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTUgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xNiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE3ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTggPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xOSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIwID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjEgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yMiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIzID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjQgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yNSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzI2ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjcgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yOCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzI5ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzAgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zMSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzMyID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzMgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zNCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzM1ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzYgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zNyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzM4ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzkgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl80MCA+IDo6dHlwZQorPiA6OnR5cGUgdHlwZTsKK307Cit9OworIyB1bmRlZiBCT09TVF9GVF9tYWtlX3R5cGUKKyMgdW5kZWYgQk9PU1RfRlRfbWFrZV90eXBlX2ltcGwKKwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvZnVuY3Rpb25fdHlwZXMvZGV0YWlsL3N5bnRoZXNpemVfaW1wbC9hcml0eTUwXzAuaHBwIGIvbmRuYm9vc3QvZnVuY3Rpb25fdHlwZXMvZGV0YWlsL3N5bnRoZXNpemVfaW1wbC9hcml0eTUwXzAuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNlMmM2YTgKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9mdW5jdGlvbl90eXBlcy9kZXRhaWwvc3ludGhlc2l6ZV9pbXBsL2FyaXR5NTBfMC5ocHAKQEAgLTAsMCArMSwxMTE3IEBACisKKy8vIChDKSBDb3B5cmlnaHQgVG9iaWFzIFNjaHdpbmdlcgorLy8KKy8vIFVzZSBtb2RpZmljYXRpb24gYW5kIGRpc3RyaWJ1dGlvbiBhcmUgc3ViamVjdCB0byB0aGUgYm9vc3QgU29mdHdhcmUgTGljZW5zZSwKKy8vIFZlcnNpb24gMS4wLiAoU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkuCisKKy8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKy8vIG5vIGluY2x1ZGUgZ3VhcmRzLCB0aGlzIGZpbGUgaXMgaW50ZW5kZWQgZm9yIG11bHRpcGxlIGluY2x1c2lvbgorCisvLyBpbnB1dDogIEJPT1NUX0ZUX3N5bnRheCAgICAgdHlwZSBtYWNybyB0byB1c2UKKy8vIGlucHV0OiAgQk9PU1RfRlRfY2MgICAgICAgICBlbXB0eSBvciBjYyBzcGVjaWZpZXIgCisvLyBpbnB1dDogIEJPT1NUX0ZUX2VsbCAgICAgICAgZW1wdHkgb3IgIi4uLiIKKy8vIGlucHV0OiAgQk9PU1RfRlRfY3YgICAgICAgICBlbXB0eSBvciBjdiBxdWFsaWZpZXJzCisvLyBpbnB1dDogIEJPT1NUX0ZUX2ZsYWdzICAgICAgc2luZ2xlIGRlY2ltYWwgaW50ZWdlciBlbmNvZGluZyB0aGUgZmxhZ3MKKy8vIG91dHB1dDogQk9PU1RfRlRfbiAgICAgICAgICBudW1iZXIgb2YgY29tcG9uZW50IHR5cGVzIChhcml0eSsxKQorLy8gb3V0cHV0OiBCT09TVF9GVF9hcml0eSAgICAgIGN1cnJlbnQgYXJpdHkKKy8vIG91dHB1dDogQk9PU1RfRlRfdHlwZSAgICAgICBtYWNybyB0aGF0IGV4cGFuZHMgdG8gdGhlIHR5cGUKKy8vIG91dHB1dDogQk9PU1RfRlRfdHBsYXJncyhwKSB0ZW1wbGF0ZSBhcmd1bWVudHMgd2l0aCBnaXZlbiBwcmVmaXgKKy8vIG91dHB1dDogQk9PU1RfRlRfcGFyYW1zKHApICBwYXJhbWV0ZXJzIHdpdGggZ2l2ZW4gcHJlZml4CisKKyMgaW5jbHVkZSA8bmRuYm9vc3QvZnVuY3Rpb25fdHlwZXMvZGV0YWlsL3N5bnRoZXNpemVfaW1wbC9hcml0eTQwXzAuaHBwPgorIyBkZWZpbmUgQk9PU1RfRlRfbWFrZV90eXBlKGZsYWdzLGNjLGFyaXR5KSBCT09TVF9GVF9tYWtlX3R5cGVfaW1wbChmbGFncyxjYyxhcml0eSkKKyMgZGVmaW5lIEJPT1NUX0ZUX21ha2VfdHlwZV9pbXBsKGZsYWdzLGNjLGFyaXR5KSBtYWtlX3R5cGVfICMjIGZsYWdzICMjIF8gIyMgY2MgIyMgXyAjIyBhcml0eQordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIgLCB0eXBlbmFtZSBUMyAsIHR5cGVuYW1lIFQ0ICwgdHlwZW5hbWUgVDUgLCB0eXBlbmFtZSBUNiAsIHR5cGVuYW1lIFQ3ICwgdHlwZW5hbWUgVDggLCB0eXBlbmFtZSBUOSAsIHR5cGVuYW1lIFQxMCAsIHR5cGVuYW1lIFQxMSAsIHR5cGVuYW1lIFQxMiAsIHR5cGVuYW1lIFQxMyAsIHR5cGVuYW1lIFQxNCAsIHR5cGVuYW1lIFQxNSAsIHR5cGVuYW1lIFQxNiAsIHR5cGVuYW1lIFQxNyAsIHR5cGVuYW1lIFQxOCAsIHR5cGVuYW1lIFQxOSAsIHR5cGVuYW1lIFQyMCAsIHR5cGVuYW1lIFQyMSAsIHR5cGVuYW1lIFQyMiAsIHR5cGVuYW1lIFQyMyAsIHR5cGVuYW1lIFQyNCAsIHR5cGVuYW1lIFQyNSAsIHR5cGVuYW1lIFQyNiAsIHR5cGVuYW1lIFQyNyAsIHR5cGVuYW1lIFQyOCAsIHR5cGVuYW1lIFQyOSAsIHR5cGVuYW1lIFQzMCAsIHR5cGVuYW1lIFQzMSAsIHR5cGVuYW1lIFQzMiAsIHR5cGVuYW1lIFQzMyAsIHR5cGVuYW1lIFQzNCAsIHR5cGVuYW1lIFQzNSAsIHR5cGVuYW1lIFQzNiAsIHR5cGVuYW1lIFQzNyAsIHR5cGVuYW1lIFQzOCAsIHR5cGVuYW1lIFQzOSAsIHR5cGVuYW1lIFQ0MCA+CitzdHJ1Y3QgQk9PU1RfRlRfbWFrZV90eXBlKEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDQxKQorewordHlwZWRlZiBCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsdHlwZSBCT09TVF9QUF9FTVBUWSkgKFQwICwgVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzICwgVDE0ICwgVDE1ICwgVDE2ICwgVDE3ICwgVDE4ICwgVDE5ICwgVDIwICwgVDIxICwgVDIyICwgVDIzICwgVDI0ICwgVDI1ICwgVDI2ICwgVDI3ICwgVDI4ICwgVDI5ICwgVDMwICwgVDMxICwgVDMyICwgVDMzICwgVDM0ICwgVDM1ICwgVDM2ICwgVDM3ICwgVDM4ICwgVDM5ICwgVDQwIEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YgOworfTsKK3RlbXBsYXRlPCA+IAorc3RydWN0IHN5bnRoZXNpemVfaW1wbF9vPCBCT09TVF9GVF9mbGFncywgQk9PU1RfRlRfY2NfaWQsIDQyID4gCit7IAordGVtcGxhdGU8dHlwZW5hbWUgUz4gc3RydWN0IHN5bnRoZXNpemVfaW1wbF9pCit7Citwcml2YXRlOgordHlwZWRlZiB0eXBlbmFtZSBtcGw6OmJlZ2luPFM+IDo6dHlwZSBpdGVyXzA7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8wID4gOjp0eXBlIGl0ZXJfMTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzEgPiA6OnR5cGUgaXRlcl8yOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMiA+IDo6dHlwZSBpdGVyXzM7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zID4gOjp0eXBlIGl0ZXJfNDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzQgPiA6OnR5cGUgaXRlcl81OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNSA+IDo6dHlwZSBpdGVyXzY7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl82ID4gOjp0eXBlIGl0ZXJfNzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzcgPiA6OnR5cGUgaXRlcl84OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfOCA+IDo6dHlwZSBpdGVyXzk7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl85ID4gOjp0eXBlIGl0ZXJfMTA7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xMCA+IDo6dHlwZSBpdGVyXzExOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTEgPiA6OnR5cGUgaXRlcl8xMjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzEyID4gOjp0eXBlIGl0ZXJfMTM7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xMyA+IDo6dHlwZSBpdGVyXzE0OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTQgPiA6OnR5cGUgaXRlcl8xNTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE1ID4gOjp0eXBlIGl0ZXJfMTY7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xNiA+IDo6dHlwZSBpdGVyXzE3OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTcgPiA6OnR5cGUgaXRlcl8xODsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE4ID4gOjp0eXBlIGl0ZXJfMTk7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xOSA+IDo6dHlwZSBpdGVyXzIwOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjAgPiA6OnR5cGUgaXRlcl8yMTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIxID4gOjp0eXBlIGl0ZXJfMjI7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yMiA+IDo6dHlwZSBpdGVyXzIzOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjMgPiA6OnR5cGUgaXRlcl8yNDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzI0ID4gOjp0eXBlIGl0ZXJfMjU7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yNSA+IDo6dHlwZSBpdGVyXzI2OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjYgPiA6OnR5cGUgaXRlcl8yNzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzI3ID4gOjp0eXBlIGl0ZXJfMjg7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yOCA+IDo6dHlwZSBpdGVyXzI5OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjkgPiA6OnR5cGUgaXRlcl8zMDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzMwID4gOjp0eXBlIGl0ZXJfMzE7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zMSA+IDo6dHlwZSBpdGVyXzMyOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMzIgPiA6OnR5cGUgaXRlcl8zMzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzMzID4gOjp0eXBlIGl0ZXJfMzQ7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zNCA+IDo6dHlwZSBpdGVyXzM1OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMzUgPiA6OnR5cGUgaXRlcl8zNjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzM2ID4gOjp0eXBlIGl0ZXJfMzc7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zNyA+IDo6dHlwZSBpdGVyXzM4OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMzggPiA6OnR5cGUgaXRlcl8zOTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzM5ID4gOjp0eXBlIGl0ZXJfNDA7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl80MCA+IDo6dHlwZSBpdGVyXzQxOworcHVibGljOgordHlwZWRlZiB0eXBlbmFtZSBkZXRhaWw6OkJPT1NUX0ZUX21ha2VfdHlwZShCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZCw0MSkgCis8IHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMCA+IDo6dHlwZSAKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzMgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl80ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzYgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl83ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfOCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzkgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzExID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTIgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE0ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTUgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xNiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE3ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTggPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xOSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIwID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjEgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yMiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIzID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjQgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yNSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzI2ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjcgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yOCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzI5ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzAgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zMSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzMyID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzMgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zNCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzM1ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzYgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zNyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzM4ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzkgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl80MCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzQxID4gOjp0eXBlCis+IDo6dHlwZSB0eXBlOworfTsKK307Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgUiAsIHR5cGVuYW1lIFQwICwgdHlwZW5hbWUgVDEgLCB0eXBlbmFtZSBUMiAsIHR5cGVuYW1lIFQzICwgdHlwZW5hbWUgVDQgLCB0eXBlbmFtZSBUNSAsIHR5cGVuYW1lIFQ2ICwgdHlwZW5hbWUgVDcgLCB0eXBlbmFtZSBUOCAsIHR5cGVuYW1lIFQ5ICwgdHlwZW5hbWUgVDEwICwgdHlwZW5hbWUgVDExICwgdHlwZW5hbWUgVDEyICwgdHlwZW5hbWUgVDEzICwgdHlwZW5hbWUgVDE0ICwgdHlwZW5hbWUgVDE1ICwgdHlwZW5hbWUgVDE2ICwgdHlwZW5hbWUgVDE3ICwgdHlwZW5hbWUgVDE4ICwgdHlwZW5hbWUgVDE5ICwgdHlwZW5hbWUgVDIwICwgdHlwZW5hbWUgVDIxICwgdHlwZW5hbWUgVDIyICwgdHlwZW5hbWUgVDIzICwgdHlwZW5hbWUgVDI0ICwgdHlwZW5hbWUgVDI1ICwgdHlwZW5hbWUgVDI2ICwgdHlwZW5hbWUgVDI3ICwgdHlwZW5hbWUgVDI4ICwgdHlwZW5hbWUgVDI5ICwgdHlwZW5hbWUgVDMwICwgdHlwZW5hbWUgVDMxICwgdHlwZW5hbWUgVDMyICwgdHlwZW5hbWUgVDMzICwgdHlwZW5hbWUgVDM0ICwgdHlwZW5hbWUgVDM1ICwgdHlwZW5hbWUgVDM2ICwgdHlwZW5hbWUgVDM3ICwgdHlwZW5hbWUgVDM4ICwgdHlwZW5hbWUgVDM5ICwgdHlwZW5hbWUgVDQwICwgdHlwZW5hbWUgVDQxID4KK3N0cnVjdCBCT09TVF9GVF9tYWtlX3R5cGUoQk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQsNDIpCit7Cit0eXBlZGVmIEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYyx0eXBlIEJPT1NUX1BQX0VNUFRZKSAoVDAgLCBUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgLCBUMTIgLCBUMTMgLCBUMTQgLCBUMTUgLCBUMTYgLCBUMTcgLCBUMTggLCBUMTkgLCBUMjAgLCBUMjEgLCBUMjIgLCBUMjMgLCBUMjQgLCBUMjUgLCBUMjYgLCBUMjcgLCBUMjggLCBUMjkgLCBUMzAgLCBUMzEgLCBUMzIgLCBUMzMgLCBUMzQgLCBUMzUgLCBUMzYgLCBUMzcgLCBUMzggLCBUMzkgLCBUNDAgLCBUNDEgQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdiA7Cit9OwordGVtcGxhdGU8ID4gCitzdHJ1Y3Qgc3ludGhlc2l6ZV9pbXBsX288IEJPT1NUX0ZUX2ZsYWdzLCBCT09TVF9GVF9jY19pZCwgNDMgPiAKK3sgCit0ZW1wbGF0ZTx0eXBlbmFtZSBTPiBzdHJ1Y3Qgc3ludGhlc2l6ZV9pbXBsX2kKK3sKK3ByaXZhdGU6Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6YmVnaW48Uz4gOjp0eXBlIGl0ZXJfMDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzAgPiA6OnR5cGUgaXRlcl8xOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMSA+IDo6dHlwZSBpdGVyXzI7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yID4gOjp0eXBlIGl0ZXJfMzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzMgPiA6OnR5cGUgaXRlcl80OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNCA+IDo6dHlwZSBpdGVyXzU7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl81ID4gOjp0eXBlIGl0ZXJfNjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzYgPiA6OnR5cGUgaXRlcl83OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNyA+IDo6dHlwZSBpdGVyXzg7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl84ID4gOjp0eXBlIGl0ZXJfOTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzkgPiA6OnR5cGUgaXRlcl8xMDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzEwID4gOjp0eXBlIGl0ZXJfMTE7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xMSA+IDo6dHlwZSBpdGVyXzEyOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTIgPiA6OnR5cGUgaXRlcl8xMzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzEzID4gOjp0eXBlIGl0ZXJfMTQ7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xNCA+IDo6dHlwZSBpdGVyXzE1OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTUgPiA6OnR5cGUgaXRlcl8xNjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE2ID4gOjp0eXBlIGl0ZXJfMTc7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xNyA+IDo6dHlwZSBpdGVyXzE4OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTggPiA6OnR5cGUgaXRlcl8xOTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE5ID4gOjp0eXBlIGl0ZXJfMjA7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yMCA+IDo6dHlwZSBpdGVyXzIxOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjEgPiA6OnR5cGUgaXRlcl8yMjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIyID4gOjp0eXBlIGl0ZXJfMjM7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yMyA+IDo6dHlwZSBpdGVyXzI0OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjQgPiA6OnR5cGUgaXRlcl8yNTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzI1ID4gOjp0eXBlIGl0ZXJfMjY7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yNiA+IDo6dHlwZSBpdGVyXzI3OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjcgPiA6OnR5cGUgaXRlcl8yODsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzI4ID4gOjp0eXBlIGl0ZXJfMjk7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yOSA+IDo6dHlwZSBpdGVyXzMwOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMzAgPiA6OnR5cGUgaXRlcl8zMTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzMxID4gOjp0eXBlIGl0ZXJfMzI7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zMiA+IDo6dHlwZSBpdGVyXzMzOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMzMgPiA6OnR5cGUgaXRlcl8zNDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzM0ID4gOjp0eXBlIGl0ZXJfMzU7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zNSA+IDo6dHlwZSBpdGVyXzM2OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMzYgPiA6OnR5cGUgaXRlcl8zNzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzM3ID4gOjp0eXBlIGl0ZXJfMzg7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zOCA+IDo6dHlwZSBpdGVyXzM5OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMzkgPiA6OnR5cGUgaXRlcl80MDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzQwID4gOjp0eXBlIGl0ZXJfNDE7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl80MSA+IDo6dHlwZSBpdGVyXzQyOworcHVibGljOgordHlwZWRlZiB0eXBlbmFtZSBkZXRhaWw6OkJPT1NUX0ZUX21ha2VfdHlwZShCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZCw0MikgCis8IHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMCA+IDo6dHlwZSAKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzMgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl80ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzYgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl83ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfOCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzkgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzExID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTIgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE0ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTUgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xNiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE3ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTggPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xOSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIwID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjEgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yMiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIzID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjQgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yNSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzI2ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjcgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yOCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzI5ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzAgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zMSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzMyID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzMgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zNCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzM1ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzYgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zNyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzM4ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzkgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl80MCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzQxID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNDIgPiA6OnR5cGUKKz4gOjp0eXBlIHR5cGU7Cit9OworfTsKK3RlbXBsYXRlPCB0eXBlbmFtZSBSICwgdHlwZW5hbWUgVDAgLCB0eXBlbmFtZSBUMSAsIHR5cGVuYW1lIFQyICwgdHlwZW5hbWUgVDMgLCB0eXBlbmFtZSBUNCAsIHR5cGVuYW1lIFQ1ICwgdHlwZW5hbWUgVDYgLCB0eXBlbmFtZSBUNyAsIHR5cGVuYW1lIFQ4ICwgdHlwZW5hbWUgVDkgLCB0eXBlbmFtZSBUMTAgLCB0eXBlbmFtZSBUMTEgLCB0eXBlbmFtZSBUMTIgLCB0eXBlbmFtZSBUMTMgLCB0eXBlbmFtZSBUMTQgLCB0eXBlbmFtZSBUMTUgLCB0eXBlbmFtZSBUMTYgLCB0eXBlbmFtZSBUMTcgLCB0eXBlbmFtZSBUMTggLCB0eXBlbmFtZSBUMTkgLCB0eXBlbmFtZSBUMjAgLCB0eXBlbmFtZSBUMjEgLCB0eXBlbmFtZSBUMjIgLCB0eXBlbmFtZSBUMjMgLCB0eXBlbmFtZSBUMjQgLCB0eXBlbmFtZSBUMjUgLCB0eXBlbmFtZSBUMjYgLCB0eXBlbmFtZSBUMjcgLCB0eXBlbmFtZSBUMjggLCB0eXBlbmFtZSBUMjkgLCB0eXBlbmFtZSBUMzAgLCB0eXBlbmFtZSBUMzEgLCB0eXBlbmFtZSBUMzIgLCB0eXBlbmFtZSBUMzMgLCB0eXBlbmFtZSBUMzQgLCB0eXBlbmFtZSBUMzUgLCB0eXBlbmFtZSBUMzYgLCB0eXBlbmFtZSBUMzcgLCB0eXBlbmFtZSBUMzggLCB0eXBlbmFtZSBUMzkgLCB0eXBlbmFtZSBUNDAgLCB0eXBlbmFtZSBUNDEgLCB0eXBlbmFtZSBUNDIgPgorc3RydWN0IEJPT1NUX0ZUX21ha2VfdHlwZShCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZCw0MykKK3sKK3R5cGVkZWYgQk9PU1RfRlRfc3ludGF4KEJPT1NUX0ZUX2NjLHR5cGUgQk9PU1RfUFBfRU1QVFkpIChUMCAsIFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSAsIFQyMCAsIFQyMSAsIFQyMiAsIFQyMyAsIFQyNCAsIFQyNSAsIFQyNiAsIFQyNyAsIFQyOCAsIFQyOSAsIFQzMCAsIFQzMSAsIFQzMiAsIFQzMyAsIFQzNCAsIFQzNSAsIFQzNiAsIFQzNyAsIFQzOCAsIFQzOSAsIFQ0MCAsIFQ0MSAsIFQ0MiBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2IDsKK307Cit0ZW1wbGF0ZTwgPiAKK3N0cnVjdCBzeW50aGVzaXplX2ltcGxfbzwgQk9PU1RfRlRfZmxhZ3MsIEJPT1NUX0ZUX2NjX2lkLCA0NCA+IAoreyAKK3RlbXBsYXRlPHR5cGVuYW1lIFM+IHN0cnVjdCBzeW50aGVzaXplX2ltcGxfaQoreworcHJpdmF0ZToKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpiZWdpbjxTPiA6OnR5cGUgaXRlcl8wOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMCA+IDo6dHlwZSBpdGVyXzE7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xID4gOjp0eXBlIGl0ZXJfMjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIgPiA6OnR5cGUgaXRlcl8zOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMyA+IDo6dHlwZSBpdGVyXzQ7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl80ID4gOjp0eXBlIGl0ZXJfNTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzUgPiA6OnR5cGUgaXRlcl82OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNiA+IDo6dHlwZSBpdGVyXzc7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl83ID4gOjp0eXBlIGl0ZXJfODsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzggPiA6OnR5cGUgaXRlcl85OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfOSA+IDo6dHlwZSBpdGVyXzEwOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTAgPiA6OnR5cGUgaXRlcl8xMTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzExID4gOjp0eXBlIGl0ZXJfMTI7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xMiA+IDo6dHlwZSBpdGVyXzEzOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTMgPiA6OnR5cGUgaXRlcl8xNDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE0ID4gOjp0eXBlIGl0ZXJfMTU7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xNSA+IDo6dHlwZSBpdGVyXzE2OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTYgPiA6OnR5cGUgaXRlcl8xNzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE3ID4gOjp0eXBlIGl0ZXJfMTg7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xOCA+IDo6dHlwZSBpdGVyXzE5OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTkgPiA6OnR5cGUgaXRlcl8yMDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIwID4gOjp0eXBlIGl0ZXJfMjE7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yMSA+IDo6dHlwZSBpdGVyXzIyOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjIgPiA6OnR5cGUgaXRlcl8yMzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIzID4gOjp0eXBlIGl0ZXJfMjQ7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yNCA+IDo6dHlwZSBpdGVyXzI1OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjUgPiA6OnR5cGUgaXRlcl8yNjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzI2ID4gOjp0eXBlIGl0ZXJfMjc7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yNyA+IDo6dHlwZSBpdGVyXzI4OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjggPiA6OnR5cGUgaXRlcl8yOTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzI5ID4gOjp0eXBlIGl0ZXJfMzA7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zMCA+IDo6dHlwZSBpdGVyXzMxOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMzEgPiA6OnR5cGUgaXRlcl8zMjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzMyID4gOjp0eXBlIGl0ZXJfMzM7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zMyA+IDo6dHlwZSBpdGVyXzM0OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMzQgPiA6OnR5cGUgaXRlcl8zNTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzM1ID4gOjp0eXBlIGl0ZXJfMzY7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zNiA+IDo6dHlwZSBpdGVyXzM3OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMzcgPiA6OnR5cGUgaXRlcl8zODsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzM4ID4gOjp0eXBlIGl0ZXJfMzk7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zOSA+IDo6dHlwZSBpdGVyXzQwOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNDAgPiA6OnR5cGUgaXRlcl80MTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzQxID4gOjp0eXBlIGl0ZXJfNDI7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl80MiA+IDo6dHlwZSBpdGVyXzQzOworcHVibGljOgordHlwZWRlZiB0eXBlbmFtZSBkZXRhaWw6OkJPT1NUX0ZUX21ha2VfdHlwZShCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZCw0MykgCis8IHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMCA+IDo6dHlwZSAKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzMgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl80ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzYgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl83ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfOCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzkgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzExID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTIgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE0ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTUgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xNiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE3ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTggPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xOSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIwID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjEgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yMiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIzID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjQgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yNSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzI2ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjcgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yOCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzI5ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzAgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zMSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzMyID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzMgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zNCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzM1ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzYgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zNyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzM4ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzkgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl80MCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzQxID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNDIgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl80MyA+IDo6dHlwZQorPiA6OnR5cGUgdHlwZTsKK307Cit9OwordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIgLCB0eXBlbmFtZSBUMyAsIHR5cGVuYW1lIFQ0ICwgdHlwZW5hbWUgVDUgLCB0eXBlbmFtZSBUNiAsIHR5cGVuYW1lIFQ3ICwgdHlwZW5hbWUgVDggLCB0eXBlbmFtZSBUOSAsIHR5cGVuYW1lIFQxMCAsIHR5cGVuYW1lIFQxMSAsIHR5cGVuYW1lIFQxMiAsIHR5cGVuYW1lIFQxMyAsIHR5cGVuYW1lIFQxNCAsIHR5cGVuYW1lIFQxNSAsIHR5cGVuYW1lIFQxNiAsIHR5cGVuYW1lIFQxNyAsIHR5cGVuYW1lIFQxOCAsIHR5cGVuYW1lIFQxOSAsIHR5cGVuYW1lIFQyMCAsIHR5cGVuYW1lIFQyMSAsIHR5cGVuYW1lIFQyMiAsIHR5cGVuYW1lIFQyMyAsIHR5cGVuYW1lIFQyNCAsIHR5cGVuYW1lIFQyNSAsIHR5cGVuYW1lIFQyNiAsIHR5cGVuYW1lIFQyNyAsIHR5cGVuYW1lIFQyOCAsIHR5cGVuYW1lIFQyOSAsIHR5cGVuYW1lIFQzMCAsIHR5cGVuYW1lIFQzMSAsIHR5cGVuYW1lIFQzMiAsIHR5cGVuYW1lIFQzMyAsIHR5cGVuYW1lIFQzNCAsIHR5cGVuYW1lIFQzNSAsIHR5cGVuYW1lIFQzNiAsIHR5cGVuYW1lIFQzNyAsIHR5cGVuYW1lIFQzOCAsIHR5cGVuYW1lIFQzOSAsIHR5cGVuYW1lIFQ0MCAsIHR5cGVuYW1lIFQ0MSAsIHR5cGVuYW1lIFQ0MiAsIHR5cGVuYW1lIFQ0MyA+CitzdHJ1Y3QgQk9PU1RfRlRfbWFrZV90eXBlKEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDQ0KQorewordHlwZWRlZiBCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsdHlwZSBCT09TVF9QUF9FTVBUWSkgKFQwICwgVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzICwgVDE0ICwgVDE1ICwgVDE2ICwgVDE3ICwgVDE4ICwgVDE5ICwgVDIwICwgVDIxICwgVDIyICwgVDIzICwgVDI0ICwgVDI1ICwgVDI2ICwgVDI3ICwgVDI4ICwgVDI5ICwgVDMwICwgVDMxICwgVDMyICwgVDMzICwgVDM0ICwgVDM1ICwgVDM2ICwgVDM3ICwgVDM4ICwgVDM5ICwgVDQwICwgVDQxICwgVDQyICwgVDQzIEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YgOworfTsKK3RlbXBsYXRlPCA+IAorc3RydWN0IHN5bnRoZXNpemVfaW1wbF9vPCBCT09TVF9GVF9mbGFncywgQk9PU1RfRlRfY2NfaWQsIDQ1ID4gCit7IAordGVtcGxhdGU8dHlwZW5hbWUgUz4gc3RydWN0IHN5bnRoZXNpemVfaW1wbF9pCit7Citwcml2YXRlOgordHlwZWRlZiB0eXBlbmFtZSBtcGw6OmJlZ2luPFM+IDo6dHlwZSBpdGVyXzA7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8wID4gOjp0eXBlIGl0ZXJfMTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzEgPiA6OnR5cGUgaXRlcl8yOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMiA+IDo6dHlwZSBpdGVyXzM7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zID4gOjp0eXBlIGl0ZXJfNDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzQgPiA6OnR5cGUgaXRlcl81OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNSA+IDo6dHlwZSBpdGVyXzY7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl82ID4gOjp0eXBlIGl0ZXJfNzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzcgPiA6OnR5cGUgaXRlcl84OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfOCA+IDo6dHlwZSBpdGVyXzk7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl85ID4gOjp0eXBlIGl0ZXJfMTA7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xMCA+IDo6dHlwZSBpdGVyXzExOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTEgPiA6OnR5cGUgaXRlcl8xMjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzEyID4gOjp0eXBlIGl0ZXJfMTM7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xMyA+IDo6dHlwZSBpdGVyXzE0OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTQgPiA6OnR5cGUgaXRlcl8xNTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE1ID4gOjp0eXBlIGl0ZXJfMTY7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xNiA+IDo6dHlwZSBpdGVyXzE3OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTcgPiA6OnR5cGUgaXRlcl8xODsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE4ID4gOjp0eXBlIGl0ZXJfMTk7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xOSA+IDo6dHlwZSBpdGVyXzIwOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjAgPiA6OnR5cGUgaXRlcl8yMTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIxID4gOjp0eXBlIGl0ZXJfMjI7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yMiA+IDo6dHlwZSBpdGVyXzIzOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjMgPiA6OnR5cGUgaXRlcl8yNDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzI0ID4gOjp0eXBlIGl0ZXJfMjU7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yNSA+IDo6dHlwZSBpdGVyXzI2OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjYgPiA6OnR5cGUgaXRlcl8yNzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzI3ID4gOjp0eXBlIGl0ZXJfMjg7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yOCA+IDo6dHlwZSBpdGVyXzI5OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjkgPiA6OnR5cGUgaXRlcl8zMDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzMwID4gOjp0eXBlIGl0ZXJfMzE7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zMSA+IDo6dHlwZSBpdGVyXzMyOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMzIgPiA6OnR5cGUgaXRlcl8zMzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzMzID4gOjp0eXBlIGl0ZXJfMzQ7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zNCA+IDo6dHlwZSBpdGVyXzM1OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMzUgPiA6OnR5cGUgaXRlcl8zNjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzM2ID4gOjp0eXBlIGl0ZXJfMzc7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zNyA+IDo6dHlwZSBpdGVyXzM4OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMzggPiA6OnR5cGUgaXRlcl8zOTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzM5ID4gOjp0eXBlIGl0ZXJfNDA7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl80MCA+IDo6dHlwZSBpdGVyXzQxOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNDEgPiA6OnR5cGUgaXRlcl80MjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzQyID4gOjp0eXBlIGl0ZXJfNDM7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl80MyA+IDo6dHlwZSBpdGVyXzQ0OworcHVibGljOgordHlwZWRlZiB0eXBlbmFtZSBkZXRhaWw6OkJPT1NUX0ZUX21ha2VfdHlwZShCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZCw0NCkgCis8IHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMCA+IDo6dHlwZSAKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzMgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl80ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzYgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl83ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfOCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzkgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzExID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTIgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE0ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTUgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xNiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE3ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTggPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xOSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIwID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjEgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yMiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIzID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjQgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yNSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzI2ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjcgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yOCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzI5ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzAgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zMSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzMyID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzMgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zNCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzM1ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzYgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zNyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzM4ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzkgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl80MCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzQxID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNDIgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl80MyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzQ0ID4gOjp0eXBlCis+IDo6dHlwZSB0eXBlOworfTsKK307Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgUiAsIHR5cGVuYW1lIFQwICwgdHlwZW5hbWUgVDEgLCB0eXBlbmFtZSBUMiAsIHR5cGVuYW1lIFQzICwgdHlwZW5hbWUgVDQgLCB0eXBlbmFtZSBUNSAsIHR5cGVuYW1lIFQ2ICwgdHlwZW5hbWUgVDcgLCB0eXBlbmFtZSBUOCAsIHR5cGVuYW1lIFQ5ICwgdHlwZW5hbWUgVDEwICwgdHlwZW5hbWUgVDExICwgdHlwZW5hbWUgVDEyICwgdHlwZW5hbWUgVDEzICwgdHlwZW5hbWUgVDE0ICwgdHlwZW5hbWUgVDE1ICwgdHlwZW5hbWUgVDE2ICwgdHlwZW5hbWUgVDE3ICwgdHlwZW5hbWUgVDE4ICwgdHlwZW5hbWUgVDE5ICwgdHlwZW5hbWUgVDIwICwgdHlwZW5hbWUgVDIxICwgdHlwZW5hbWUgVDIyICwgdHlwZW5hbWUgVDIzICwgdHlwZW5hbWUgVDI0ICwgdHlwZW5hbWUgVDI1ICwgdHlwZW5hbWUgVDI2ICwgdHlwZW5hbWUgVDI3ICwgdHlwZW5hbWUgVDI4ICwgdHlwZW5hbWUgVDI5ICwgdHlwZW5hbWUgVDMwICwgdHlwZW5hbWUgVDMxICwgdHlwZW5hbWUgVDMyICwgdHlwZW5hbWUgVDMzICwgdHlwZW5hbWUgVDM0ICwgdHlwZW5hbWUgVDM1ICwgdHlwZW5hbWUgVDM2ICwgdHlwZW5hbWUgVDM3ICwgdHlwZW5hbWUgVDM4ICwgdHlwZW5hbWUgVDM5ICwgdHlwZW5hbWUgVDQwICwgdHlwZW5hbWUgVDQxICwgdHlwZW5hbWUgVDQyICwgdHlwZW5hbWUgVDQzICwgdHlwZW5hbWUgVDQ0ID4KK3N0cnVjdCBCT09TVF9GVF9tYWtlX3R5cGUoQk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQsNDUpCit7Cit0eXBlZGVmIEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYyx0eXBlIEJPT1NUX1BQX0VNUFRZKSAoVDAgLCBUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgLCBUMTIgLCBUMTMgLCBUMTQgLCBUMTUgLCBUMTYgLCBUMTcgLCBUMTggLCBUMTkgLCBUMjAgLCBUMjEgLCBUMjIgLCBUMjMgLCBUMjQgLCBUMjUgLCBUMjYgLCBUMjcgLCBUMjggLCBUMjkgLCBUMzAgLCBUMzEgLCBUMzIgLCBUMzMgLCBUMzQgLCBUMzUgLCBUMzYgLCBUMzcgLCBUMzggLCBUMzkgLCBUNDAgLCBUNDEgLCBUNDIgLCBUNDMgLCBUNDQgQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdiA7Cit9OwordGVtcGxhdGU8ID4gCitzdHJ1Y3Qgc3ludGhlc2l6ZV9pbXBsX288IEJPT1NUX0ZUX2ZsYWdzLCBCT09TVF9GVF9jY19pZCwgNDYgPiAKK3sgCit0ZW1wbGF0ZTx0eXBlbmFtZSBTPiBzdHJ1Y3Qgc3ludGhlc2l6ZV9pbXBsX2kKK3sKK3ByaXZhdGU6Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6YmVnaW48Uz4gOjp0eXBlIGl0ZXJfMDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzAgPiA6OnR5cGUgaXRlcl8xOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMSA+IDo6dHlwZSBpdGVyXzI7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yID4gOjp0eXBlIGl0ZXJfMzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzMgPiA6OnR5cGUgaXRlcl80OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNCA+IDo6dHlwZSBpdGVyXzU7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl81ID4gOjp0eXBlIGl0ZXJfNjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzYgPiA6OnR5cGUgaXRlcl83OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNyA+IDo6dHlwZSBpdGVyXzg7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl84ID4gOjp0eXBlIGl0ZXJfOTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzkgPiA6OnR5cGUgaXRlcl8xMDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzEwID4gOjp0eXBlIGl0ZXJfMTE7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xMSA+IDo6dHlwZSBpdGVyXzEyOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTIgPiA6OnR5cGUgaXRlcl8xMzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzEzID4gOjp0eXBlIGl0ZXJfMTQ7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xNCA+IDo6dHlwZSBpdGVyXzE1OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTUgPiA6OnR5cGUgaXRlcl8xNjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE2ID4gOjp0eXBlIGl0ZXJfMTc7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xNyA+IDo6dHlwZSBpdGVyXzE4OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTggPiA6OnR5cGUgaXRlcl8xOTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE5ID4gOjp0eXBlIGl0ZXJfMjA7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yMCA+IDo6dHlwZSBpdGVyXzIxOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjEgPiA6OnR5cGUgaXRlcl8yMjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIyID4gOjp0eXBlIGl0ZXJfMjM7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yMyA+IDo6dHlwZSBpdGVyXzI0OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjQgPiA6OnR5cGUgaXRlcl8yNTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzI1ID4gOjp0eXBlIGl0ZXJfMjY7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yNiA+IDo6dHlwZSBpdGVyXzI3OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjcgPiA6OnR5cGUgaXRlcl8yODsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzI4ID4gOjp0eXBlIGl0ZXJfMjk7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yOSA+IDo6dHlwZSBpdGVyXzMwOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMzAgPiA6OnR5cGUgaXRlcl8zMTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzMxID4gOjp0eXBlIGl0ZXJfMzI7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zMiA+IDo6dHlwZSBpdGVyXzMzOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMzMgPiA6OnR5cGUgaXRlcl8zNDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzM0ID4gOjp0eXBlIGl0ZXJfMzU7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zNSA+IDo6dHlwZSBpdGVyXzM2OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMzYgPiA6OnR5cGUgaXRlcl8zNzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzM3ID4gOjp0eXBlIGl0ZXJfMzg7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zOCA+IDo6dHlwZSBpdGVyXzM5OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMzkgPiA6OnR5cGUgaXRlcl80MDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzQwID4gOjp0eXBlIGl0ZXJfNDE7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl80MSA+IDo6dHlwZSBpdGVyXzQyOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNDIgPiA6OnR5cGUgaXRlcl80MzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzQzID4gOjp0eXBlIGl0ZXJfNDQ7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl80NCA+IDo6dHlwZSBpdGVyXzQ1OworcHVibGljOgordHlwZWRlZiB0eXBlbmFtZSBkZXRhaWw6OkJPT1NUX0ZUX21ha2VfdHlwZShCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZCw0NSkgCis8IHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMCA+IDo6dHlwZSAKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzMgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl80ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzYgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl83ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfOCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzkgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzExID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTIgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE0ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTUgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xNiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE3ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTggPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xOSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIwID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjEgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yMiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIzID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjQgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yNSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzI2ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjcgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yOCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzI5ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzAgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zMSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzMyID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzMgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zNCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzM1ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzYgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zNyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzM4ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzkgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl80MCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzQxID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNDIgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl80MyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzQ0ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNDUgPiA6OnR5cGUKKz4gOjp0eXBlIHR5cGU7Cit9OworfTsKK3RlbXBsYXRlPCB0eXBlbmFtZSBSICwgdHlwZW5hbWUgVDAgLCB0eXBlbmFtZSBUMSAsIHR5cGVuYW1lIFQyICwgdHlwZW5hbWUgVDMgLCB0eXBlbmFtZSBUNCAsIHR5cGVuYW1lIFQ1ICwgdHlwZW5hbWUgVDYgLCB0eXBlbmFtZSBUNyAsIHR5cGVuYW1lIFQ4ICwgdHlwZW5hbWUgVDkgLCB0eXBlbmFtZSBUMTAgLCB0eXBlbmFtZSBUMTEgLCB0eXBlbmFtZSBUMTIgLCB0eXBlbmFtZSBUMTMgLCB0eXBlbmFtZSBUMTQgLCB0eXBlbmFtZSBUMTUgLCB0eXBlbmFtZSBUMTYgLCB0eXBlbmFtZSBUMTcgLCB0eXBlbmFtZSBUMTggLCB0eXBlbmFtZSBUMTkgLCB0eXBlbmFtZSBUMjAgLCB0eXBlbmFtZSBUMjEgLCB0eXBlbmFtZSBUMjIgLCB0eXBlbmFtZSBUMjMgLCB0eXBlbmFtZSBUMjQgLCB0eXBlbmFtZSBUMjUgLCB0eXBlbmFtZSBUMjYgLCB0eXBlbmFtZSBUMjcgLCB0eXBlbmFtZSBUMjggLCB0eXBlbmFtZSBUMjkgLCB0eXBlbmFtZSBUMzAgLCB0eXBlbmFtZSBUMzEgLCB0eXBlbmFtZSBUMzIgLCB0eXBlbmFtZSBUMzMgLCB0eXBlbmFtZSBUMzQgLCB0eXBlbmFtZSBUMzUgLCB0eXBlbmFtZSBUMzYgLCB0eXBlbmFtZSBUMzcgLCB0eXBlbmFtZSBUMzggLCB0eXBlbmFtZSBUMzkgLCB0eXBlbmFtZSBUNDAgLCB0eXBlbmFtZSBUNDEgLCB0eXBlbmFtZSBUNDIgLCB0eXBlbmFtZSBUNDMgLCB0eXBlbmFtZSBUNDQgLCB0eXBlbmFtZSBUNDUgPgorc3RydWN0IEJPT1NUX0ZUX21ha2VfdHlwZShCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZCw0NikKK3sKK3R5cGVkZWYgQk9PU1RfRlRfc3ludGF4KEJPT1NUX0ZUX2NjLHR5cGUgQk9PU1RfUFBfRU1QVFkpIChUMCAsIFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSAsIFQyMCAsIFQyMSAsIFQyMiAsIFQyMyAsIFQyNCAsIFQyNSAsIFQyNiAsIFQyNyAsIFQyOCAsIFQyOSAsIFQzMCAsIFQzMSAsIFQzMiAsIFQzMyAsIFQzNCAsIFQzNSAsIFQzNiAsIFQzNyAsIFQzOCAsIFQzOSAsIFQ0MCAsIFQ0MSAsIFQ0MiAsIFQ0MyAsIFQ0NCAsIFQ0NSBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2IDsKK307Cit0ZW1wbGF0ZTwgPiAKK3N0cnVjdCBzeW50aGVzaXplX2ltcGxfbzwgQk9PU1RfRlRfZmxhZ3MsIEJPT1NUX0ZUX2NjX2lkLCA0NyA+IAoreyAKK3RlbXBsYXRlPHR5cGVuYW1lIFM+IHN0cnVjdCBzeW50aGVzaXplX2ltcGxfaQoreworcHJpdmF0ZToKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpiZWdpbjxTPiA6OnR5cGUgaXRlcl8wOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMCA+IDo6dHlwZSBpdGVyXzE7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xID4gOjp0eXBlIGl0ZXJfMjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIgPiA6OnR5cGUgaXRlcl8zOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMyA+IDo6dHlwZSBpdGVyXzQ7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl80ID4gOjp0eXBlIGl0ZXJfNTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzUgPiA6OnR5cGUgaXRlcl82OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNiA+IDo6dHlwZSBpdGVyXzc7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl83ID4gOjp0eXBlIGl0ZXJfODsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzggPiA6OnR5cGUgaXRlcl85OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfOSA+IDo6dHlwZSBpdGVyXzEwOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTAgPiA6OnR5cGUgaXRlcl8xMTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzExID4gOjp0eXBlIGl0ZXJfMTI7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xMiA+IDo6dHlwZSBpdGVyXzEzOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTMgPiA6OnR5cGUgaXRlcl8xNDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE0ID4gOjp0eXBlIGl0ZXJfMTU7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xNSA+IDo6dHlwZSBpdGVyXzE2OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTYgPiA6OnR5cGUgaXRlcl8xNzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE3ID4gOjp0eXBlIGl0ZXJfMTg7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xOCA+IDo6dHlwZSBpdGVyXzE5OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTkgPiA6OnR5cGUgaXRlcl8yMDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIwID4gOjp0eXBlIGl0ZXJfMjE7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yMSA+IDo6dHlwZSBpdGVyXzIyOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjIgPiA6OnR5cGUgaXRlcl8yMzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIzID4gOjp0eXBlIGl0ZXJfMjQ7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yNCA+IDo6dHlwZSBpdGVyXzI1OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjUgPiA6OnR5cGUgaXRlcl8yNjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzI2ID4gOjp0eXBlIGl0ZXJfMjc7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yNyA+IDo6dHlwZSBpdGVyXzI4OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjggPiA6OnR5cGUgaXRlcl8yOTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzI5ID4gOjp0eXBlIGl0ZXJfMzA7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zMCA+IDo6dHlwZSBpdGVyXzMxOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMzEgPiA6OnR5cGUgaXRlcl8zMjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzMyID4gOjp0eXBlIGl0ZXJfMzM7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zMyA+IDo6dHlwZSBpdGVyXzM0OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMzQgPiA6OnR5cGUgaXRlcl8zNTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzM1ID4gOjp0eXBlIGl0ZXJfMzY7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zNiA+IDo6dHlwZSBpdGVyXzM3OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMzcgPiA6OnR5cGUgaXRlcl8zODsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzM4ID4gOjp0eXBlIGl0ZXJfMzk7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zOSA+IDo6dHlwZSBpdGVyXzQwOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNDAgPiA6OnR5cGUgaXRlcl80MTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzQxID4gOjp0eXBlIGl0ZXJfNDI7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl80MiA+IDo6dHlwZSBpdGVyXzQzOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNDMgPiA6OnR5cGUgaXRlcl80NDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzQ0ID4gOjp0eXBlIGl0ZXJfNDU7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl80NSA+IDo6dHlwZSBpdGVyXzQ2OworcHVibGljOgordHlwZWRlZiB0eXBlbmFtZSBkZXRhaWw6OkJPT1NUX0ZUX21ha2VfdHlwZShCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZCw0NikgCis8IHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMCA+IDo6dHlwZSAKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzMgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl80ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzYgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl83ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfOCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzkgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzExID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTIgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE0ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTUgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xNiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE3ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTggPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xOSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIwID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjEgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yMiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIzID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjQgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yNSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzI2ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjcgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yOCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzI5ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzAgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zMSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzMyID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzMgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zNCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzM1ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzYgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zNyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzM4ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzkgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl80MCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzQxID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNDIgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl80MyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzQ0ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNDUgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl80NiA+IDo6dHlwZQorPiA6OnR5cGUgdHlwZTsKK307Cit9OwordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIgLCB0eXBlbmFtZSBUMyAsIHR5cGVuYW1lIFQ0ICwgdHlwZW5hbWUgVDUgLCB0eXBlbmFtZSBUNiAsIHR5cGVuYW1lIFQ3ICwgdHlwZW5hbWUgVDggLCB0eXBlbmFtZSBUOSAsIHR5cGVuYW1lIFQxMCAsIHR5cGVuYW1lIFQxMSAsIHR5cGVuYW1lIFQxMiAsIHR5cGVuYW1lIFQxMyAsIHR5cGVuYW1lIFQxNCAsIHR5cGVuYW1lIFQxNSAsIHR5cGVuYW1lIFQxNiAsIHR5cGVuYW1lIFQxNyAsIHR5cGVuYW1lIFQxOCAsIHR5cGVuYW1lIFQxOSAsIHR5cGVuYW1lIFQyMCAsIHR5cGVuYW1lIFQyMSAsIHR5cGVuYW1lIFQyMiAsIHR5cGVuYW1lIFQyMyAsIHR5cGVuYW1lIFQyNCAsIHR5cGVuYW1lIFQyNSAsIHR5cGVuYW1lIFQyNiAsIHR5cGVuYW1lIFQyNyAsIHR5cGVuYW1lIFQyOCAsIHR5cGVuYW1lIFQyOSAsIHR5cGVuYW1lIFQzMCAsIHR5cGVuYW1lIFQzMSAsIHR5cGVuYW1lIFQzMiAsIHR5cGVuYW1lIFQzMyAsIHR5cGVuYW1lIFQzNCAsIHR5cGVuYW1lIFQzNSAsIHR5cGVuYW1lIFQzNiAsIHR5cGVuYW1lIFQzNyAsIHR5cGVuYW1lIFQzOCAsIHR5cGVuYW1lIFQzOSAsIHR5cGVuYW1lIFQ0MCAsIHR5cGVuYW1lIFQ0MSAsIHR5cGVuYW1lIFQ0MiAsIHR5cGVuYW1lIFQ0MyAsIHR5cGVuYW1lIFQ0NCAsIHR5cGVuYW1lIFQ0NSAsIHR5cGVuYW1lIFQ0NiA+CitzdHJ1Y3QgQk9PU1RfRlRfbWFrZV90eXBlKEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDQ3KQorewordHlwZWRlZiBCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsdHlwZSBCT09TVF9QUF9FTVBUWSkgKFQwICwgVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzICwgVDE0ICwgVDE1ICwgVDE2ICwgVDE3ICwgVDE4ICwgVDE5ICwgVDIwICwgVDIxICwgVDIyICwgVDIzICwgVDI0ICwgVDI1ICwgVDI2ICwgVDI3ICwgVDI4ICwgVDI5ICwgVDMwICwgVDMxICwgVDMyICwgVDMzICwgVDM0ICwgVDM1ICwgVDM2ICwgVDM3ICwgVDM4ICwgVDM5ICwgVDQwICwgVDQxICwgVDQyICwgVDQzICwgVDQ0ICwgVDQ1ICwgVDQ2IEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YgOworfTsKK3RlbXBsYXRlPCA+IAorc3RydWN0IHN5bnRoZXNpemVfaW1wbF9vPCBCT09TVF9GVF9mbGFncywgQk9PU1RfRlRfY2NfaWQsIDQ4ID4gCit7IAordGVtcGxhdGU8dHlwZW5hbWUgUz4gc3RydWN0IHN5bnRoZXNpemVfaW1wbF9pCit7Citwcml2YXRlOgordHlwZWRlZiB0eXBlbmFtZSBtcGw6OmJlZ2luPFM+IDo6dHlwZSBpdGVyXzA7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8wID4gOjp0eXBlIGl0ZXJfMTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzEgPiA6OnR5cGUgaXRlcl8yOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMiA+IDo6dHlwZSBpdGVyXzM7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zID4gOjp0eXBlIGl0ZXJfNDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzQgPiA6OnR5cGUgaXRlcl81OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNSA+IDo6dHlwZSBpdGVyXzY7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl82ID4gOjp0eXBlIGl0ZXJfNzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzcgPiA6OnR5cGUgaXRlcl84OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfOCA+IDo6dHlwZSBpdGVyXzk7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl85ID4gOjp0eXBlIGl0ZXJfMTA7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xMCA+IDo6dHlwZSBpdGVyXzExOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTEgPiA6OnR5cGUgaXRlcl8xMjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzEyID4gOjp0eXBlIGl0ZXJfMTM7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xMyA+IDo6dHlwZSBpdGVyXzE0OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTQgPiA6OnR5cGUgaXRlcl8xNTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE1ID4gOjp0eXBlIGl0ZXJfMTY7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xNiA+IDo6dHlwZSBpdGVyXzE3OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTcgPiA6OnR5cGUgaXRlcl8xODsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE4ID4gOjp0eXBlIGl0ZXJfMTk7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xOSA+IDo6dHlwZSBpdGVyXzIwOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjAgPiA6OnR5cGUgaXRlcl8yMTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIxID4gOjp0eXBlIGl0ZXJfMjI7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yMiA+IDo6dHlwZSBpdGVyXzIzOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjMgPiA6OnR5cGUgaXRlcl8yNDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzI0ID4gOjp0eXBlIGl0ZXJfMjU7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yNSA+IDo6dHlwZSBpdGVyXzI2OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjYgPiA6OnR5cGUgaXRlcl8yNzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzI3ID4gOjp0eXBlIGl0ZXJfMjg7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yOCA+IDo6dHlwZSBpdGVyXzI5OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjkgPiA6OnR5cGUgaXRlcl8zMDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzMwID4gOjp0eXBlIGl0ZXJfMzE7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zMSA+IDo6dHlwZSBpdGVyXzMyOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMzIgPiA6OnR5cGUgaXRlcl8zMzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzMzID4gOjp0eXBlIGl0ZXJfMzQ7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zNCA+IDo6dHlwZSBpdGVyXzM1OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMzUgPiA6OnR5cGUgaXRlcl8zNjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzM2ID4gOjp0eXBlIGl0ZXJfMzc7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zNyA+IDo6dHlwZSBpdGVyXzM4OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMzggPiA6OnR5cGUgaXRlcl8zOTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzM5ID4gOjp0eXBlIGl0ZXJfNDA7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl80MCA+IDo6dHlwZSBpdGVyXzQxOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNDEgPiA6OnR5cGUgaXRlcl80MjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzQyID4gOjp0eXBlIGl0ZXJfNDM7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl80MyA+IDo6dHlwZSBpdGVyXzQ0OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNDQgPiA6OnR5cGUgaXRlcl80NTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzQ1ID4gOjp0eXBlIGl0ZXJfNDY7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl80NiA+IDo6dHlwZSBpdGVyXzQ3OworcHVibGljOgordHlwZWRlZiB0eXBlbmFtZSBkZXRhaWw6OkJPT1NUX0ZUX21ha2VfdHlwZShCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZCw0NykgCis8IHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMCA+IDo6dHlwZSAKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzMgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl80ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzYgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl83ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfOCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzkgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzExID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTIgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE0ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTUgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xNiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE3ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTggPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xOSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIwID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjEgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yMiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIzID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjQgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yNSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzI2ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjcgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yOCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzI5ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzAgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zMSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzMyID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzMgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zNCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzM1ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzYgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zNyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzM4ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzkgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl80MCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzQxID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNDIgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl80MyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzQ0ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNDUgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl80NiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzQ3ID4gOjp0eXBlCis+IDo6dHlwZSB0eXBlOworfTsKK307Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgUiAsIHR5cGVuYW1lIFQwICwgdHlwZW5hbWUgVDEgLCB0eXBlbmFtZSBUMiAsIHR5cGVuYW1lIFQzICwgdHlwZW5hbWUgVDQgLCB0eXBlbmFtZSBUNSAsIHR5cGVuYW1lIFQ2ICwgdHlwZW5hbWUgVDcgLCB0eXBlbmFtZSBUOCAsIHR5cGVuYW1lIFQ5ICwgdHlwZW5hbWUgVDEwICwgdHlwZW5hbWUgVDExICwgdHlwZW5hbWUgVDEyICwgdHlwZW5hbWUgVDEzICwgdHlwZW5hbWUgVDE0ICwgdHlwZW5hbWUgVDE1ICwgdHlwZW5hbWUgVDE2ICwgdHlwZW5hbWUgVDE3ICwgdHlwZW5hbWUgVDE4ICwgdHlwZW5hbWUgVDE5ICwgdHlwZW5hbWUgVDIwICwgdHlwZW5hbWUgVDIxICwgdHlwZW5hbWUgVDIyICwgdHlwZW5hbWUgVDIzICwgdHlwZW5hbWUgVDI0ICwgdHlwZW5hbWUgVDI1ICwgdHlwZW5hbWUgVDI2ICwgdHlwZW5hbWUgVDI3ICwgdHlwZW5hbWUgVDI4ICwgdHlwZW5hbWUgVDI5ICwgdHlwZW5hbWUgVDMwICwgdHlwZW5hbWUgVDMxICwgdHlwZW5hbWUgVDMyICwgdHlwZW5hbWUgVDMzICwgdHlwZW5hbWUgVDM0ICwgdHlwZW5hbWUgVDM1ICwgdHlwZW5hbWUgVDM2ICwgdHlwZW5hbWUgVDM3ICwgdHlwZW5hbWUgVDM4ICwgdHlwZW5hbWUgVDM5ICwgdHlwZW5hbWUgVDQwICwgdHlwZW5hbWUgVDQxICwgdHlwZW5hbWUgVDQyICwgdHlwZW5hbWUgVDQzICwgdHlwZW5hbWUgVDQ0ICwgdHlwZW5hbWUgVDQ1ICwgdHlwZW5hbWUgVDQ2ICwgdHlwZW5hbWUgVDQ3ID4KK3N0cnVjdCBCT09TVF9GVF9tYWtlX3R5cGUoQk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQsNDgpCit7Cit0eXBlZGVmIEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYyx0eXBlIEJPT1NUX1BQX0VNUFRZKSAoVDAgLCBUMSAsIFQyICwgVDMgLCBUNCAsIFQ1ICwgVDYgLCBUNyAsIFQ4ICwgVDkgLCBUMTAgLCBUMTEgLCBUMTIgLCBUMTMgLCBUMTQgLCBUMTUgLCBUMTYgLCBUMTcgLCBUMTggLCBUMTkgLCBUMjAgLCBUMjEgLCBUMjIgLCBUMjMgLCBUMjQgLCBUMjUgLCBUMjYgLCBUMjcgLCBUMjggLCBUMjkgLCBUMzAgLCBUMzEgLCBUMzIgLCBUMzMgLCBUMzQgLCBUMzUgLCBUMzYgLCBUMzcgLCBUMzggLCBUMzkgLCBUNDAgLCBUNDEgLCBUNDIgLCBUNDMgLCBUNDQgLCBUNDUgLCBUNDYgLCBUNDcgQk9PU1RfRlRfZWxsKSBCT09TVF9GVF9jdiA7Cit9OwordGVtcGxhdGU8ID4gCitzdHJ1Y3Qgc3ludGhlc2l6ZV9pbXBsX288IEJPT1NUX0ZUX2ZsYWdzLCBCT09TVF9GVF9jY19pZCwgNDkgPiAKK3sgCit0ZW1wbGF0ZTx0eXBlbmFtZSBTPiBzdHJ1Y3Qgc3ludGhlc2l6ZV9pbXBsX2kKK3sKK3ByaXZhdGU6Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6YmVnaW48Uz4gOjp0eXBlIGl0ZXJfMDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzAgPiA6OnR5cGUgaXRlcl8xOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMSA+IDo6dHlwZSBpdGVyXzI7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yID4gOjp0eXBlIGl0ZXJfMzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzMgPiA6OnR5cGUgaXRlcl80OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNCA+IDo6dHlwZSBpdGVyXzU7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl81ID4gOjp0eXBlIGl0ZXJfNjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzYgPiA6OnR5cGUgaXRlcl83OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNyA+IDo6dHlwZSBpdGVyXzg7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl84ID4gOjp0eXBlIGl0ZXJfOTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzkgPiA6OnR5cGUgaXRlcl8xMDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzEwID4gOjp0eXBlIGl0ZXJfMTE7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xMSA+IDo6dHlwZSBpdGVyXzEyOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTIgPiA6OnR5cGUgaXRlcl8xMzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzEzID4gOjp0eXBlIGl0ZXJfMTQ7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xNCA+IDo6dHlwZSBpdGVyXzE1OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTUgPiA6OnR5cGUgaXRlcl8xNjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE2ID4gOjp0eXBlIGl0ZXJfMTc7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xNyA+IDo6dHlwZSBpdGVyXzE4OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTggPiA6OnR5cGUgaXRlcl8xOTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE5ID4gOjp0eXBlIGl0ZXJfMjA7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yMCA+IDo6dHlwZSBpdGVyXzIxOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjEgPiA6OnR5cGUgaXRlcl8yMjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIyID4gOjp0eXBlIGl0ZXJfMjM7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yMyA+IDo6dHlwZSBpdGVyXzI0OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjQgPiA6OnR5cGUgaXRlcl8yNTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzI1ID4gOjp0eXBlIGl0ZXJfMjY7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yNiA+IDo6dHlwZSBpdGVyXzI3OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjcgPiA6OnR5cGUgaXRlcl8yODsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzI4ID4gOjp0eXBlIGl0ZXJfMjk7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yOSA+IDo6dHlwZSBpdGVyXzMwOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMzAgPiA6OnR5cGUgaXRlcl8zMTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzMxID4gOjp0eXBlIGl0ZXJfMzI7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zMiA+IDo6dHlwZSBpdGVyXzMzOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMzMgPiA6OnR5cGUgaXRlcl8zNDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzM0ID4gOjp0eXBlIGl0ZXJfMzU7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zNSA+IDo6dHlwZSBpdGVyXzM2OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMzYgPiA6OnR5cGUgaXRlcl8zNzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzM3ID4gOjp0eXBlIGl0ZXJfMzg7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zOCA+IDo6dHlwZSBpdGVyXzM5OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMzkgPiA6OnR5cGUgaXRlcl80MDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzQwID4gOjp0eXBlIGl0ZXJfNDE7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl80MSA+IDo6dHlwZSBpdGVyXzQyOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNDIgPiA6OnR5cGUgaXRlcl80MzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzQzID4gOjp0eXBlIGl0ZXJfNDQ7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl80NCA+IDo6dHlwZSBpdGVyXzQ1OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNDUgPiA6OnR5cGUgaXRlcl80NjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzQ2ID4gOjp0eXBlIGl0ZXJfNDc7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl80NyA+IDo6dHlwZSBpdGVyXzQ4OworcHVibGljOgordHlwZWRlZiB0eXBlbmFtZSBkZXRhaWw6OkJPT1NUX0ZUX21ha2VfdHlwZShCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZCw0OCkgCis8IHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMCA+IDo6dHlwZSAKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzMgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl80ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzYgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl83ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfOCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzkgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzExID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTIgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE0ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTUgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xNiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE3ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTggPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xOSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIwID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjEgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yMiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIzID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjQgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yNSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzI2ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjcgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yOCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzI5ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzAgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zMSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzMyID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzMgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zNCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzM1ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzYgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zNyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzM4ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzkgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl80MCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzQxID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNDIgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl80MyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzQ0ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNDUgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl80NiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzQ3ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNDggPiA6OnR5cGUKKz4gOjp0eXBlIHR5cGU7Cit9OworfTsKK3RlbXBsYXRlPCB0eXBlbmFtZSBSICwgdHlwZW5hbWUgVDAgLCB0eXBlbmFtZSBUMSAsIHR5cGVuYW1lIFQyICwgdHlwZW5hbWUgVDMgLCB0eXBlbmFtZSBUNCAsIHR5cGVuYW1lIFQ1ICwgdHlwZW5hbWUgVDYgLCB0eXBlbmFtZSBUNyAsIHR5cGVuYW1lIFQ4ICwgdHlwZW5hbWUgVDkgLCB0eXBlbmFtZSBUMTAgLCB0eXBlbmFtZSBUMTEgLCB0eXBlbmFtZSBUMTIgLCB0eXBlbmFtZSBUMTMgLCB0eXBlbmFtZSBUMTQgLCB0eXBlbmFtZSBUMTUgLCB0eXBlbmFtZSBUMTYgLCB0eXBlbmFtZSBUMTcgLCB0eXBlbmFtZSBUMTggLCB0eXBlbmFtZSBUMTkgLCB0eXBlbmFtZSBUMjAgLCB0eXBlbmFtZSBUMjEgLCB0eXBlbmFtZSBUMjIgLCB0eXBlbmFtZSBUMjMgLCB0eXBlbmFtZSBUMjQgLCB0eXBlbmFtZSBUMjUgLCB0eXBlbmFtZSBUMjYgLCB0eXBlbmFtZSBUMjcgLCB0eXBlbmFtZSBUMjggLCB0eXBlbmFtZSBUMjkgLCB0eXBlbmFtZSBUMzAgLCB0eXBlbmFtZSBUMzEgLCB0eXBlbmFtZSBUMzIgLCB0eXBlbmFtZSBUMzMgLCB0eXBlbmFtZSBUMzQgLCB0eXBlbmFtZSBUMzUgLCB0eXBlbmFtZSBUMzYgLCB0eXBlbmFtZSBUMzcgLCB0eXBlbmFtZSBUMzggLCB0eXBlbmFtZSBUMzkgLCB0eXBlbmFtZSBUNDAgLCB0eXBlbmFtZSBUNDEgLCB0eXBlbmFtZSBUNDIgLCB0eXBlbmFtZSBUNDMgLCB0eXBlbmFtZSBUNDQgLCB0eXBlbmFtZSBUNDUgLCB0eXBlbmFtZSBUNDYgLCB0eXBlbmFtZSBUNDcgLCB0eXBlbmFtZSBUNDggPgorc3RydWN0IEJPT1NUX0ZUX21ha2VfdHlwZShCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZCw0OSkKK3sKK3R5cGVkZWYgQk9PU1RfRlRfc3ludGF4KEJPT1NUX0ZUX2NjLHR5cGUgQk9PU1RfUFBfRU1QVFkpIChUMCAsIFQxICwgVDIgLCBUMyAsIFQ0ICwgVDUgLCBUNiAsIFQ3ICwgVDggLCBUOSAsIFQxMCAsIFQxMSAsIFQxMiAsIFQxMyAsIFQxNCAsIFQxNSAsIFQxNiAsIFQxNyAsIFQxOCAsIFQxOSAsIFQyMCAsIFQyMSAsIFQyMiAsIFQyMyAsIFQyNCAsIFQyNSAsIFQyNiAsIFQyNyAsIFQyOCAsIFQyOSAsIFQzMCAsIFQzMSAsIFQzMiAsIFQzMyAsIFQzNCAsIFQzNSAsIFQzNiAsIFQzNyAsIFQzOCAsIFQzOSAsIFQ0MCAsIFQ0MSAsIFQ0MiAsIFQ0MyAsIFQ0NCAsIFQ0NSAsIFQ0NiAsIFQ0NyAsIFQ0OCBCT09TVF9GVF9lbGwpIEJPT1NUX0ZUX2N2IDsKK307Cit0ZW1wbGF0ZTwgPiAKK3N0cnVjdCBzeW50aGVzaXplX2ltcGxfbzwgQk9PU1RfRlRfZmxhZ3MsIEJPT1NUX0ZUX2NjX2lkLCA1MCA+IAoreyAKK3RlbXBsYXRlPHR5cGVuYW1lIFM+IHN0cnVjdCBzeW50aGVzaXplX2ltcGxfaQoreworcHJpdmF0ZToKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpiZWdpbjxTPiA6OnR5cGUgaXRlcl8wOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMCA+IDo6dHlwZSBpdGVyXzE7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xID4gOjp0eXBlIGl0ZXJfMjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIgPiA6OnR5cGUgaXRlcl8zOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMyA+IDo6dHlwZSBpdGVyXzQ7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl80ID4gOjp0eXBlIGl0ZXJfNTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzUgPiA6OnR5cGUgaXRlcl82OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNiA+IDo6dHlwZSBpdGVyXzc7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl83ID4gOjp0eXBlIGl0ZXJfODsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzggPiA6OnR5cGUgaXRlcl85OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfOSA+IDo6dHlwZSBpdGVyXzEwOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTAgPiA6OnR5cGUgaXRlcl8xMTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzExID4gOjp0eXBlIGl0ZXJfMTI7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xMiA+IDo6dHlwZSBpdGVyXzEzOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTMgPiA6OnR5cGUgaXRlcl8xNDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE0ID4gOjp0eXBlIGl0ZXJfMTU7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xNSA+IDo6dHlwZSBpdGVyXzE2OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTYgPiA6OnR5cGUgaXRlcl8xNzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE3ID4gOjp0eXBlIGl0ZXJfMTg7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xOCA+IDo6dHlwZSBpdGVyXzE5OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTkgPiA6OnR5cGUgaXRlcl8yMDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIwID4gOjp0eXBlIGl0ZXJfMjE7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yMSA+IDo6dHlwZSBpdGVyXzIyOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjIgPiA6OnR5cGUgaXRlcl8yMzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIzID4gOjp0eXBlIGl0ZXJfMjQ7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yNCA+IDo6dHlwZSBpdGVyXzI1OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjUgPiA6OnR5cGUgaXRlcl8yNjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzI2ID4gOjp0eXBlIGl0ZXJfMjc7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yNyA+IDo6dHlwZSBpdGVyXzI4OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjggPiA6OnR5cGUgaXRlcl8yOTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzI5ID4gOjp0eXBlIGl0ZXJfMzA7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zMCA+IDo6dHlwZSBpdGVyXzMxOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMzEgPiA6OnR5cGUgaXRlcl8zMjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzMyID4gOjp0eXBlIGl0ZXJfMzM7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zMyA+IDo6dHlwZSBpdGVyXzM0OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMzQgPiA6OnR5cGUgaXRlcl8zNTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzM1ID4gOjp0eXBlIGl0ZXJfMzY7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zNiA+IDo6dHlwZSBpdGVyXzM3OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMzcgPiA6OnR5cGUgaXRlcl8zODsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzM4ID4gOjp0eXBlIGl0ZXJfMzk7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zOSA+IDo6dHlwZSBpdGVyXzQwOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNDAgPiA6OnR5cGUgaXRlcl80MTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzQxID4gOjp0eXBlIGl0ZXJfNDI7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl80MiA+IDo6dHlwZSBpdGVyXzQzOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNDMgPiA6OnR5cGUgaXRlcl80NDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzQ0ID4gOjp0eXBlIGl0ZXJfNDU7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl80NSA+IDo6dHlwZSBpdGVyXzQ2OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNDYgPiA6OnR5cGUgaXRlcl80NzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzQ3ID4gOjp0eXBlIGl0ZXJfNDg7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl80OCA+IDo6dHlwZSBpdGVyXzQ5OworcHVibGljOgordHlwZWRlZiB0eXBlbmFtZSBkZXRhaWw6OkJPT1NUX0ZUX21ha2VfdHlwZShCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZCw0OSkgCis8IHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMCA+IDo6dHlwZSAKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzMgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl80ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzYgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl83ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfOCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzkgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzExID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTIgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE0ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTUgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xNiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE3ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTggPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xOSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIwID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjEgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yMiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIzID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjQgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yNSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzI2ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjcgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yOCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzI5ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzAgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zMSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzMyID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzMgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zNCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzM1ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzYgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zNyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzM4ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzkgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl80MCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzQxID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNDIgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl80MyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzQ0ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNDUgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl80NiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzQ3ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNDggPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl80OSA+IDo6dHlwZQorPiA6OnR5cGUgdHlwZTsKK307Cit9OwordGVtcGxhdGU8IHR5cGVuYW1lIFIgLCB0eXBlbmFtZSBUMCAsIHR5cGVuYW1lIFQxICwgdHlwZW5hbWUgVDIgLCB0eXBlbmFtZSBUMyAsIHR5cGVuYW1lIFQ0ICwgdHlwZW5hbWUgVDUgLCB0eXBlbmFtZSBUNiAsIHR5cGVuYW1lIFQ3ICwgdHlwZW5hbWUgVDggLCB0eXBlbmFtZSBUOSAsIHR5cGVuYW1lIFQxMCAsIHR5cGVuYW1lIFQxMSAsIHR5cGVuYW1lIFQxMiAsIHR5cGVuYW1lIFQxMyAsIHR5cGVuYW1lIFQxNCAsIHR5cGVuYW1lIFQxNSAsIHR5cGVuYW1lIFQxNiAsIHR5cGVuYW1lIFQxNyAsIHR5cGVuYW1lIFQxOCAsIHR5cGVuYW1lIFQxOSAsIHR5cGVuYW1lIFQyMCAsIHR5cGVuYW1lIFQyMSAsIHR5cGVuYW1lIFQyMiAsIHR5cGVuYW1lIFQyMyAsIHR5cGVuYW1lIFQyNCAsIHR5cGVuYW1lIFQyNSAsIHR5cGVuYW1lIFQyNiAsIHR5cGVuYW1lIFQyNyAsIHR5cGVuYW1lIFQyOCAsIHR5cGVuYW1lIFQyOSAsIHR5cGVuYW1lIFQzMCAsIHR5cGVuYW1lIFQzMSAsIHR5cGVuYW1lIFQzMiAsIHR5cGVuYW1lIFQzMyAsIHR5cGVuYW1lIFQzNCAsIHR5cGVuYW1lIFQzNSAsIHR5cGVuYW1lIFQzNiAsIHR5cGVuYW1lIFQzNyAsIHR5cGVuYW1lIFQzOCAsIHR5cGVuYW1lIFQzOSAsIHR5cGVuYW1lIFQ0MCAsIHR5cGVuYW1lIFQ0MSAsIHR5cGVuYW1lIFQ0MiAsIHR5cGVuYW1lIFQ0MyAsIHR5cGVuYW1lIFQ0NCAsIHR5cGVuYW1lIFQ0NSAsIHR5cGVuYW1lIFQ0NiAsIHR5cGVuYW1lIFQ0NyAsIHR5cGVuYW1lIFQ0OCAsIHR5cGVuYW1lIFQ0OSA+CitzdHJ1Y3QgQk9PU1RfRlRfbWFrZV90eXBlKEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDUwKQorewordHlwZWRlZiBCT09TVF9GVF9zeW50YXgoQk9PU1RfRlRfY2MsdHlwZSBCT09TVF9QUF9FTVBUWSkgKFQwICwgVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzICwgVDE0ICwgVDE1ICwgVDE2ICwgVDE3ICwgVDE4ICwgVDE5ICwgVDIwICwgVDIxICwgVDIyICwgVDIzICwgVDI0ICwgVDI1ICwgVDI2ICwgVDI3ICwgVDI4ICwgVDI5ICwgVDMwICwgVDMxICwgVDMyICwgVDMzICwgVDM0ICwgVDM1ICwgVDM2ICwgVDM3ICwgVDM4ICwgVDM5ICwgVDQwICwgVDQxICwgVDQyICwgVDQzICwgVDQ0ICwgVDQ1ICwgVDQ2ICwgVDQ3ICwgVDQ4ICwgVDQ5IEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YgOworfTsKK3RlbXBsYXRlPCA+IAorc3RydWN0IHN5bnRoZXNpemVfaW1wbF9vPCBCT09TVF9GVF9mbGFncywgQk9PU1RfRlRfY2NfaWQsIDUxID4gCit7IAordGVtcGxhdGU8dHlwZW5hbWUgUz4gc3RydWN0IHN5bnRoZXNpemVfaW1wbF9pCit7Citwcml2YXRlOgordHlwZWRlZiB0eXBlbmFtZSBtcGw6OmJlZ2luPFM+IDo6dHlwZSBpdGVyXzA7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8wID4gOjp0eXBlIGl0ZXJfMTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzEgPiA6OnR5cGUgaXRlcl8yOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMiA+IDo6dHlwZSBpdGVyXzM7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zID4gOjp0eXBlIGl0ZXJfNDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzQgPiA6OnR5cGUgaXRlcl81OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNSA+IDo6dHlwZSBpdGVyXzY7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl82ID4gOjp0eXBlIGl0ZXJfNzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzcgPiA6OnR5cGUgaXRlcl84OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfOCA+IDo6dHlwZSBpdGVyXzk7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl85ID4gOjp0eXBlIGl0ZXJfMTA7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xMCA+IDo6dHlwZSBpdGVyXzExOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTEgPiA6OnR5cGUgaXRlcl8xMjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzEyID4gOjp0eXBlIGl0ZXJfMTM7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xMyA+IDo6dHlwZSBpdGVyXzE0OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTQgPiA6OnR5cGUgaXRlcl8xNTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE1ID4gOjp0eXBlIGl0ZXJfMTY7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xNiA+IDo6dHlwZSBpdGVyXzE3OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTcgPiA6OnR5cGUgaXRlcl8xODsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE4ID4gOjp0eXBlIGl0ZXJfMTk7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xOSA+IDo6dHlwZSBpdGVyXzIwOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjAgPiA6OnR5cGUgaXRlcl8yMTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIxID4gOjp0eXBlIGl0ZXJfMjI7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yMiA+IDo6dHlwZSBpdGVyXzIzOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjMgPiA6OnR5cGUgaXRlcl8yNDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzI0ID4gOjp0eXBlIGl0ZXJfMjU7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yNSA+IDo6dHlwZSBpdGVyXzI2OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjYgPiA6OnR5cGUgaXRlcl8yNzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzI3ID4gOjp0eXBlIGl0ZXJfMjg7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yOCA+IDo6dHlwZSBpdGVyXzI5OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjkgPiA6OnR5cGUgaXRlcl8zMDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzMwID4gOjp0eXBlIGl0ZXJfMzE7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zMSA+IDo6dHlwZSBpdGVyXzMyOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMzIgPiA6OnR5cGUgaXRlcl8zMzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzMzID4gOjp0eXBlIGl0ZXJfMzQ7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zNCA+IDo6dHlwZSBpdGVyXzM1OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMzUgPiA6OnR5cGUgaXRlcl8zNjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzM2ID4gOjp0eXBlIGl0ZXJfMzc7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zNyA+IDo6dHlwZSBpdGVyXzM4OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMzggPiA6OnR5cGUgaXRlcl8zOTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzM5ID4gOjp0eXBlIGl0ZXJfNDA7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl80MCA+IDo6dHlwZSBpdGVyXzQxOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNDEgPiA6OnR5cGUgaXRlcl80MjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzQyID4gOjp0eXBlIGl0ZXJfNDM7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl80MyA+IDo6dHlwZSBpdGVyXzQ0OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNDQgPiA6OnR5cGUgaXRlcl80NTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzQ1ID4gOjp0eXBlIGl0ZXJfNDY7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl80NiA+IDo6dHlwZSBpdGVyXzQ3OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNDcgPiA6OnR5cGUgaXRlcl80ODsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzQ4ID4gOjp0eXBlIGl0ZXJfNDk7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl80OSA+IDo6dHlwZSBpdGVyXzUwOworcHVibGljOgordHlwZWRlZiB0eXBlbmFtZSBkZXRhaWw6OkJPT1NUX0ZUX21ha2VfdHlwZShCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZCw1MCkgCis8IHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMCA+IDo6dHlwZSAKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzMgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl80ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzYgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl83ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfOCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzkgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzExID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTIgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE0ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTUgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xNiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE3ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTggPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xOSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIwID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjEgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yMiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIzID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjQgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yNSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzI2ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjcgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yOCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzI5ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzAgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zMSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzMyID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzMgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zNCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzM1ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzYgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zNyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzM4ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzkgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl80MCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzQxID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNDIgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl80MyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzQ0ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNDUgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl80NiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzQ3ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNDggPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl80OSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzUwID4gOjp0eXBlCis+IDo6dHlwZSB0eXBlOworfTsKK307CisjIHVuZGVmIEJPT1NUX0ZUX21ha2VfdHlwZQorIyB1bmRlZiBCT09TVF9GVF9tYWtlX3R5cGVfaW1wbAorCmRpZmYgLS1naXQgYS9uZG5ib29zdC9mdW5jdGlvbl90eXBlcy9kZXRhaWwvc3ludGhlc2l6ZV9pbXBsL2FyaXR5NTBfMS5ocHAgYi9uZG5ib29zdC9mdW5jdGlvbl90eXBlcy9kZXRhaWwvc3ludGhlc2l6ZV9pbXBsL2FyaXR5NTBfMS5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWE3NGQxNwotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L2Z1bmN0aW9uX3R5cGVzL2RldGFpbC9zeW50aGVzaXplX2ltcGwvYXJpdHk1MF8xLmhwcApAQCAtMCwwICsxLDExMjcgQEAKKworLy8gKEMpIENvcHlyaWdodCBUb2JpYXMgU2Nod2luZ2VyCisvLworLy8gVXNlIG1vZGlmaWNhdGlvbiBhbmQgZGlzdHJpYnV0aW9uIGFyZSBzdWJqZWN0IHRvIHRoZSBib29zdCBTb2Z0d2FyZSBMaWNlbnNlLAorLy8gVmVyc2lvbiAxLjAuIChTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KS4KKworLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworLy8gbm8gaW5jbHVkZSBndWFyZHMsIHRoaXMgZmlsZSBpcyBpbnRlbmRlZCBmb3IgbXVsdGlwbGUgaW5jbHVzaW9uCisKKy8vIGlucHV0OiAgQk9PU1RfRlRfc3ludGF4ICAgICB0eXBlIG1hY3JvIHRvIHVzZQorLy8gaW5wdXQ6ICBCT09TVF9GVF9jYyAgICAgICAgIGVtcHR5IG9yIGNjIHNwZWNpZmllciAKKy8vIGlucHV0OiAgQk9PU1RfRlRfZWxsICAgICAgICBlbXB0eSBvciAiLi4uIgorLy8gaW5wdXQ6ICBCT09TVF9GVF9jdiAgICAgICAgIGVtcHR5IG9yIGN2IHF1YWxpZmllcnMKKy8vIGlucHV0OiAgQk9PU1RfRlRfZmxhZ3MgICAgICBzaW5nbGUgZGVjaW1hbCBpbnRlZ2VyIGVuY29kaW5nIHRoZSBmbGFncworLy8gb3V0cHV0OiBCT09TVF9GVF9uICAgICAgICAgIG51bWJlciBvZiBjb21wb25lbnQgdHlwZXMgKGFyaXR5KzEpCisvLyBvdXRwdXQ6IEJPT1NUX0ZUX2FyaXR5ICAgICAgY3VycmVudCBhcml0eQorLy8gb3V0cHV0OiBCT09TVF9GVF90eXBlICAgICAgIG1hY3JvIHRoYXQgZXhwYW5kcyB0byB0aGUgdHlwZQorLy8gb3V0cHV0OiBCT09TVF9GVF90cGxhcmdzKHApIHRlbXBsYXRlIGFyZ3VtZW50cyB3aXRoIGdpdmVuIHByZWZpeAorLy8gb3V0cHV0OiBCT09TVF9GVF9wYXJhbXMocCkgIHBhcmFtZXRlcnMgd2l0aCBnaXZlbiBwcmVmaXgKKworIyBpbmNsdWRlIDxuZG5ib29zdC9mdW5jdGlvbl90eXBlcy9kZXRhaWwvc3ludGhlc2l6ZV9pbXBsL2FyaXR5NDBfMS5ocHA+CisjIGRlZmluZSBCT09TVF9GVF9tYWtlX3R5cGUoZmxhZ3MsY2MsYXJpdHkpIEJPT1NUX0ZUX21ha2VfdHlwZV9pbXBsKGZsYWdzLGNjLGFyaXR5KQorIyBkZWZpbmUgQk9PU1RfRlRfbWFrZV90eXBlX2ltcGwoZmxhZ3MsY2MsYXJpdHkpIG1ha2VfdHlwZV8gIyMgZmxhZ3MgIyMgXyAjIyBjYyAjIyBfICMjIGFyaXR5Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgUiAsIHR5cGVuYW1lIFQwICwgdHlwZW5hbWUgVDEgLCB0eXBlbmFtZSBUMiAsIHR5cGVuYW1lIFQzICwgdHlwZW5hbWUgVDQgLCB0eXBlbmFtZSBUNSAsIHR5cGVuYW1lIFQ2ICwgdHlwZW5hbWUgVDcgLCB0eXBlbmFtZSBUOCAsIHR5cGVuYW1lIFQ5ICwgdHlwZW5hbWUgVDEwICwgdHlwZW5hbWUgVDExICwgdHlwZW5hbWUgVDEyICwgdHlwZW5hbWUgVDEzICwgdHlwZW5hbWUgVDE0ICwgdHlwZW5hbWUgVDE1ICwgdHlwZW5hbWUgVDE2ICwgdHlwZW5hbWUgVDE3ICwgdHlwZW5hbWUgVDE4ICwgdHlwZW5hbWUgVDE5ICwgdHlwZW5hbWUgVDIwICwgdHlwZW5hbWUgVDIxICwgdHlwZW5hbWUgVDIyICwgdHlwZW5hbWUgVDIzICwgdHlwZW5hbWUgVDI0ICwgdHlwZW5hbWUgVDI1ICwgdHlwZW5hbWUgVDI2ICwgdHlwZW5hbWUgVDI3ICwgdHlwZW5hbWUgVDI4ICwgdHlwZW5hbWUgVDI5ICwgdHlwZW5hbWUgVDMwICwgdHlwZW5hbWUgVDMxICwgdHlwZW5hbWUgVDMyICwgdHlwZW5hbWUgVDMzICwgdHlwZW5hbWUgVDM0ICwgdHlwZW5hbWUgVDM1ICwgdHlwZW5hbWUgVDM2ICwgdHlwZW5hbWUgVDM3ICwgdHlwZW5hbWUgVDM4ICwgdHlwZW5hbWUgVDM5ICwgdHlwZW5hbWUgVDQwID4KK3N0cnVjdCBCT09TVF9GVF9tYWtlX3R5cGUoQk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQsNDEpCit7Cit0eXBlZGVmIEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYyx0eXBlIEJPT1NUX1BQX0VNUFRZKSAoVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzICwgVDE0ICwgVDE1ICwgVDE2ICwgVDE3ICwgVDE4ICwgVDE5ICwgVDIwICwgVDIxICwgVDIyICwgVDIzICwgVDI0ICwgVDI1ICwgVDI2ICwgVDI3ICwgVDI4ICwgVDI5ICwgVDMwICwgVDMxICwgVDMyICwgVDMzICwgVDM0ICwgVDM1ICwgVDM2ICwgVDM3ICwgVDM4ICwgVDM5ICwgVDQwIEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YgOworfTsKK3RlbXBsYXRlPCA+IAorc3RydWN0IHN5bnRoZXNpemVfaW1wbF9vPCBCT09TVF9GVF9mbGFncywgQk9PU1RfRlRfY2NfaWQsIDQyID4gCit7IAordGVtcGxhdGU8dHlwZW5hbWUgUz4gc3RydWN0IHN5bnRoZXNpemVfaW1wbF9pCit7Citwcml2YXRlOgordHlwZWRlZiB0eXBlbmFtZSBtcGw6OmJlZ2luPFM+IDo6dHlwZSBpdGVyXzA7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8wID4gOjp0eXBlIGl0ZXJfMTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzEgPiA6OnR5cGUgaXRlcl8yOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMiA+IDo6dHlwZSBpdGVyXzM7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zID4gOjp0eXBlIGl0ZXJfNDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzQgPiA6OnR5cGUgaXRlcl81OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNSA+IDo6dHlwZSBpdGVyXzY7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl82ID4gOjp0eXBlIGl0ZXJfNzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzcgPiA6OnR5cGUgaXRlcl84OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfOCA+IDo6dHlwZSBpdGVyXzk7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl85ID4gOjp0eXBlIGl0ZXJfMTA7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xMCA+IDo6dHlwZSBpdGVyXzExOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTEgPiA6OnR5cGUgaXRlcl8xMjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzEyID4gOjp0eXBlIGl0ZXJfMTM7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xMyA+IDo6dHlwZSBpdGVyXzE0OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTQgPiA6OnR5cGUgaXRlcl8xNTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE1ID4gOjp0eXBlIGl0ZXJfMTY7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xNiA+IDo6dHlwZSBpdGVyXzE3OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTcgPiA6OnR5cGUgaXRlcl8xODsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE4ID4gOjp0eXBlIGl0ZXJfMTk7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xOSA+IDo6dHlwZSBpdGVyXzIwOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjAgPiA6OnR5cGUgaXRlcl8yMTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIxID4gOjp0eXBlIGl0ZXJfMjI7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yMiA+IDo6dHlwZSBpdGVyXzIzOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjMgPiA6OnR5cGUgaXRlcl8yNDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzI0ID4gOjp0eXBlIGl0ZXJfMjU7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yNSA+IDo6dHlwZSBpdGVyXzI2OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjYgPiA6OnR5cGUgaXRlcl8yNzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzI3ID4gOjp0eXBlIGl0ZXJfMjg7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yOCA+IDo6dHlwZSBpdGVyXzI5OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjkgPiA6OnR5cGUgaXRlcl8zMDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzMwID4gOjp0eXBlIGl0ZXJfMzE7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zMSA+IDo6dHlwZSBpdGVyXzMyOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMzIgPiA6OnR5cGUgaXRlcl8zMzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzMzID4gOjp0eXBlIGl0ZXJfMzQ7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zNCA+IDo6dHlwZSBpdGVyXzM1OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMzUgPiA6OnR5cGUgaXRlcl8zNjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzM2ID4gOjp0eXBlIGl0ZXJfMzc7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zNyA+IDo6dHlwZSBpdGVyXzM4OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMzggPiA6OnR5cGUgaXRlcl8zOTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzM5ID4gOjp0eXBlIGl0ZXJfNDA7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl80MCA+IDo6dHlwZSBpdGVyXzQxOworcHVibGljOgordHlwZWRlZiB0eXBlbmFtZSBkZXRhaWw6OkJPT1NUX0ZUX21ha2VfdHlwZShCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZCw0MSkgCis8IHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMCA+IDo6dHlwZSAKKywgdHlwZW5hbWUgZGV0YWlsOjpjdl90cmFpdHM8IAordHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xID4gOjp0eXBlID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzMgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl80ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzYgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl83ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfOCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzkgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzExID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTIgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE0ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTUgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xNiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE3ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTggPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xOSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIwID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjEgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yMiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIzID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjQgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yNSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzI2ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjcgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yOCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzI5ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzAgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zMSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzMyID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzMgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zNCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzM1ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzYgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zNyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzM4ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzkgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl80MCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzQxID4gOjp0eXBlCis+IDo6dHlwZSB0eXBlOworfTsKK307Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgUiAsIHR5cGVuYW1lIFQwICwgdHlwZW5hbWUgVDEgLCB0eXBlbmFtZSBUMiAsIHR5cGVuYW1lIFQzICwgdHlwZW5hbWUgVDQgLCB0eXBlbmFtZSBUNSAsIHR5cGVuYW1lIFQ2ICwgdHlwZW5hbWUgVDcgLCB0eXBlbmFtZSBUOCAsIHR5cGVuYW1lIFQ5ICwgdHlwZW5hbWUgVDEwICwgdHlwZW5hbWUgVDExICwgdHlwZW5hbWUgVDEyICwgdHlwZW5hbWUgVDEzICwgdHlwZW5hbWUgVDE0ICwgdHlwZW5hbWUgVDE1ICwgdHlwZW5hbWUgVDE2ICwgdHlwZW5hbWUgVDE3ICwgdHlwZW5hbWUgVDE4ICwgdHlwZW5hbWUgVDE5ICwgdHlwZW5hbWUgVDIwICwgdHlwZW5hbWUgVDIxICwgdHlwZW5hbWUgVDIyICwgdHlwZW5hbWUgVDIzICwgdHlwZW5hbWUgVDI0ICwgdHlwZW5hbWUgVDI1ICwgdHlwZW5hbWUgVDI2ICwgdHlwZW5hbWUgVDI3ICwgdHlwZW5hbWUgVDI4ICwgdHlwZW5hbWUgVDI5ICwgdHlwZW5hbWUgVDMwICwgdHlwZW5hbWUgVDMxICwgdHlwZW5hbWUgVDMyICwgdHlwZW5hbWUgVDMzICwgdHlwZW5hbWUgVDM0ICwgdHlwZW5hbWUgVDM1ICwgdHlwZW5hbWUgVDM2ICwgdHlwZW5hbWUgVDM3ICwgdHlwZW5hbWUgVDM4ICwgdHlwZW5hbWUgVDM5ICwgdHlwZW5hbWUgVDQwICwgdHlwZW5hbWUgVDQxID4KK3N0cnVjdCBCT09TVF9GVF9tYWtlX3R5cGUoQk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQsNDIpCit7Cit0eXBlZGVmIEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYyx0eXBlIEJPT1NUX1BQX0VNUFRZKSAoVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzICwgVDE0ICwgVDE1ICwgVDE2ICwgVDE3ICwgVDE4ICwgVDE5ICwgVDIwICwgVDIxICwgVDIyICwgVDIzICwgVDI0ICwgVDI1ICwgVDI2ICwgVDI3ICwgVDI4ICwgVDI5ICwgVDMwICwgVDMxICwgVDMyICwgVDMzICwgVDM0ICwgVDM1ICwgVDM2ICwgVDM3ICwgVDM4ICwgVDM5ICwgVDQwICwgVDQxIEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YgOworfTsKK3RlbXBsYXRlPCA+IAorc3RydWN0IHN5bnRoZXNpemVfaW1wbF9vPCBCT09TVF9GVF9mbGFncywgQk9PU1RfRlRfY2NfaWQsIDQzID4gCit7IAordGVtcGxhdGU8dHlwZW5hbWUgUz4gc3RydWN0IHN5bnRoZXNpemVfaW1wbF9pCit7Citwcml2YXRlOgordHlwZWRlZiB0eXBlbmFtZSBtcGw6OmJlZ2luPFM+IDo6dHlwZSBpdGVyXzA7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8wID4gOjp0eXBlIGl0ZXJfMTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzEgPiA6OnR5cGUgaXRlcl8yOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMiA+IDo6dHlwZSBpdGVyXzM7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zID4gOjp0eXBlIGl0ZXJfNDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzQgPiA6OnR5cGUgaXRlcl81OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNSA+IDo6dHlwZSBpdGVyXzY7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl82ID4gOjp0eXBlIGl0ZXJfNzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzcgPiA6OnR5cGUgaXRlcl84OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfOCA+IDo6dHlwZSBpdGVyXzk7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl85ID4gOjp0eXBlIGl0ZXJfMTA7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xMCA+IDo6dHlwZSBpdGVyXzExOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTEgPiA6OnR5cGUgaXRlcl8xMjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzEyID4gOjp0eXBlIGl0ZXJfMTM7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xMyA+IDo6dHlwZSBpdGVyXzE0OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTQgPiA6OnR5cGUgaXRlcl8xNTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE1ID4gOjp0eXBlIGl0ZXJfMTY7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xNiA+IDo6dHlwZSBpdGVyXzE3OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTcgPiA6OnR5cGUgaXRlcl8xODsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE4ID4gOjp0eXBlIGl0ZXJfMTk7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xOSA+IDo6dHlwZSBpdGVyXzIwOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjAgPiA6OnR5cGUgaXRlcl8yMTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIxID4gOjp0eXBlIGl0ZXJfMjI7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yMiA+IDo6dHlwZSBpdGVyXzIzOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjMgPiA6OnR5cGUgaXRlcl8yNDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzI0ID4gOjp0eXBlIGl0ZXJfMjU7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yNSA+IDo6dHlwZSBpdGVyXzI2OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjYgPiA6OnR5cGUgaXRlcl8yNzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzI3ID4gOjp0eXBlIGl0ZXJfMjg7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yOCA+IDo6dHlwZSBpdGVyXzI5OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjkgPiA6OnR5cGUgaXRlcl8zMDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzMwID4gOjp0eXBlIGl0ZXJfMzE7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zMSA+IDo6dHlwZSBpdGVyXzMyOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMzIgPiA6OnR5cGUgaXRlcl8zMzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzMzID4gOjp0eXBlIGl0ZXJfMzQ7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zNCA+IDo6dHlwZSBpdGVyXzM1OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMzUgPiA6OnR5cGUgaXRlcl8zNjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzM2ID4gOjp0eXBlIGl0ZXJfMzc7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zNyA+IDo6dHlwZSBpdGVyXzM4OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMzggPiA6OnR5cGUgaXRlcl8zOTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzM5ID4gOjp0eXBlIGl0ZXJfNDA7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl80MCA+IDo6dHlwZSBpdGVyXzQxOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNDEgPiA6OnR5cGUgaXRlcl80MjsKK3B1YmxpYzoKK3R5cGVkZWYgdHlwZW5hbWUgZGV0YWlsOjpCT09TVF9GVF9tYWtlX3R5cGUoQk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQsNDIpIAorPCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzAgPiA6OnR5cGUgCissIHR5cGVuYW1lIGRldGFpbDo6Y3ZfdHJhaXRzPCAKK3R5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMSA+IDo6dHlwZSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzUgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl82ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzggPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl85ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTAgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzEyID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTMgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xNCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE1ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTYgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xNyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE4ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTkgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yMCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIxID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjIgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yMyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzI0ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjUgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yNiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzI3ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjggPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yOSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzMwID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzEgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zMiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzMzID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzQgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zNSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzM2ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzcgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zOCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzM5ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNDAgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl80MSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzQyID4gOjp0eXBlCis+IDo6dHlwZSB0eXBlOworfTsKK307Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgUiAsIHR5cGVuYW1lIFQwICwgdHlwZW5hbWUgVDEgLCB0eXBlbmFtZSBUMiAsIHR5cGVuYW1lIFQzICwgdHlwZW5hbWUgVDQgLCB0eXBlbmFtZSBUNSAsIHR5cGVuYW1lIFQ2ICwgdHlwZW5hbWUgVDcgLCB0eXBlbmFtZSBUOCAsIHR5cGVuYW1lIFQ5ICwgdHlwZW5hbWUgVDEwICwgdHlwZW5hbWUgVDExICwgdHlwZW5hbWUgVDEyICwgdHlwZW5hbWUgVDEzICwgdHlwZW5hbWUgVDE0ICwgdHlwZW5hbWUgVDE1ICwgdHlwZW5hbWUgVDE2ICwgdHlwZW5hbWUgVDE3ICwgdHlwZW5hbWUgVDE4ICwgdHlwZW5hbWUgVDE5ICwgdHlwZW5hbWUgVDIwICwgdHlwZW5hbWUgVDIxICwgdHlwZW5hbWUgVDIyICwgdHlwZW5hbWUgVDIzICwgdHlwZW5hbWUgVDI0ICwgdHlwZW5hbWUgVDI1ICwgdHlwZW5hbWUgVDI2ICwgdHlwZW5hbWUgVDI3ICwgdHlwZW5hbWUgVDI4ICwgdHlwZW5hbWUgVDI5ICwgdHlwZW5hbWUgVDMwICwgdHlwZW5hbWUgVDMxICwgdHlwZW5hbWUgVDMyICwgdHlwZW5hbWUgVDMzICwgdHlwZW5hbWUgVDM0ICwgdHlwZW5hbWUgVDM1ICwgdHlwZW5hbWUgVDM2ICwgdHlwZW5hbWUgVDM3ICwgdHlwZW5hbWUgVDM4ICwgdHlwZW5hbWUgVDM5ICwgdHlwZW5hbWUgVDQwICwgdHlwZW5hbWUgVDQxICwgdHlwZW5hbWUgVDQyID4KK3N0cnVjdCBCT09TVF9GVF9tYWtlX3R5cGUoQk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQsNDMpCit7Cit0eXBlZGVmIEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYyx0eXBlIEJPT1NUX1BQX0VNUFRZKSAoVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzICwgVDE0ICwgVDE1ICwgVDE2ICwgVDE3ICwgVDE4ICwgVDE5ICwgVDIwICwgVDIxICwgVDIyICwgVDIzICwgVDI0ICwgVDI1ICwgVDI2ICwgVDI3ICwgVDI4ICwgVDI5ICwgVDMwICwgVDMxICwgVDMyICwgVDMzICwgVDM0ICwgVDM1ICwgVDM2ICwgVDM3ICwgVDM4ICwgVDM5ICwgVDQwICwgVDQxICwgVDQyIEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YgOworfTsKK3RlbXBsYXRlPCA+IAorc3RydWN0IHN5bnRoZXNpemVfaW1wbF9vPCBCT09TVF9GVF9mbGFncywgQk9PU1RfRlRfY2NfaWQsIDQ0ID4gCit7IAordGVtcGxhdGU8dHlwZW5hbWUgUz4gc3RydWN0IHN5bnRoZXNpemVfaW1wbF9pCit7Citwcml2YXRlOgordHlwZWRlZiB0eXBlbmFtZSBtcGw6OmJlZ2luPFM+IDo6dHlwZSBpdGVyXzA7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8wID4gOjp0eXBlIGl0ZXJfMTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzEgPiA6OnR5cGUgaXRlcl8yOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMiA+IDo6dHlwZSBpdGVyXzM7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zID4gOjp0eXBlIGl0ZXJfNDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzQgPiA6OnR5cGUgaXRlcl81OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNSA+IDo6dHlwZSBpdGVyXzY7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl82ID4gOjp0eXBlIGl0ZXJfNzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzcgPiA6OnR5cGUgaXRlcl84OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfOCA+IDo6dHlwZSBpdGVyXzk7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl85ID4gOjp0eXBlIGl0ZXJfMTA7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xMCA+IDo6dHlwZSBpdGVyXzExOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTEgPiA6OnR5cGUgaXRlcl8xMjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzEyID4gOjp0eXBlIGl0ZXJfMTM7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xMyA+IDo6dHlwZSBpdGVyXzE0OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTQgPiA6OnR5cGUgaXRlcl8xNTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE1ID4gOjp0eXBlIGl0ZXJfMTY7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xNiA+IDo6dHlwZSBpdGVyXzE3OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTcgPiA6OnR5cGUgaXRlcl8xODsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE4ID4gOjp0eXBlIGl0ZXJfMTk7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xOSA+IDo6dHlwZSBpdGVyXzIwOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjAgPiA6OnR5cGUgaXRlcl8yMTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIxID4gOjp0eXBlIGl0ZXJfMjI7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yMiA+IDo6dHlwZSBpdGVyXzIzOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjMgPiA6OnR5cGUgaXRlcl8yNDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzI0ID4gOjp0eXBlIGl0ZXJfMjU7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yNSA+IDo6dHlwZSBpdGVyXzI2OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjYgPiA6OnR5cGUgaXRlcl8yNzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzI3ID4gOjp0eXBlIGl0ZXJfMjg7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yOCA+IDo6dHlwZSBpdGVyXzI5OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjkgPiA6OnR5cGUgaXRlcl8zMDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzMwID4gOjp0eXBlIGl0ZXJfMzE7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zMSA+IDo6dHlwZSBpdGVyXzMyOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMzIgPiA6OnR5cGUgaXRlcl8zMzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzMzID4gOjp0eXBlIGl0ZXJfMzQ7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zNCA+IDo6dHlwZSBpdGVyXzM1OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMzUgPiA6OnR5cGUgaXRlcl8zNjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzM2ID4gOjp0eXBlIGl0ZXJfMzc7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zNyA+IDo6dHlwZSBpdGVyXzM4OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMzggPiA6OnR5cGUgaXRlcl8zOTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzM5ID4gOjp0eXBlIGl0ZXJfNDA7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl80MCA+IDo6dHlwZSBpdGVyXzQxOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNDEgPiA6OnR5cGUgaXRlcl80MjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzQyID4gOjp0eXBlIGl0ZXJfNDM7CitwdWJsaWM6Cit0eXBlZGVmIHR5cGVuYW1lIGRldGFpbDo6Qk9PU1RfRlRfbWFrZV90eXBlKEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDQzKSAKKzwgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8wID4gOjp0eXBlIAorLCB0eXBlbmFtZSBkZXRhaWw6OmN2X3RyYWl0czwgCit0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzEgPiA6OnR5cGUgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzQgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl81ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzcgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl84ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfOSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzEwID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTEgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzEzID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTQgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xNSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE2ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTcgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xOCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE5ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjAgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yMSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIyID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjMgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yNCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzI1ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjYgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yNyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzI4ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjkgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zMCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzMxID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzIgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zMyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzM0ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzUgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zNiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzM3ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzggPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zOSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzQwID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNDEgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl80MiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzQzID4gOjp0eXBlCis+IDo6dHlwZSB0eXBlOworfTsKK307Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgUiAsIHR5cGVuYW1lIFQwICwgdHlwZW5hbWUgVDEgLCB0eXBlbmFtZSBUMiAsIHR5cGVuYW1lIFQzICwgdHlwZW5hbWUgVDQgLCB0eXBlbmFtZSBUNSAsIHR5cGVuYW1lIFQ2ICwgdHlwZW5hbWUgVDcgLCB0eXBlbmFtZSBUOCAsIHR5cGVuYW1lIFQ5ICwgdHlwZW5hbWUgVDEwICwgdHlwZW5hbWUgVDExICwgdHlwZW5hbWUgVDEyICwgdHlwZW5hbWUgVDEzICwgdHlwZW5hbWUgVDE0ICwgdHlwZW5hbWUgVDE1ICwgdHlwZW5hbWUgVDE2ICwgdHlwZW5hbWUgVDE3ICwgdHlwZW5hbWUgVDE4ICwgdHlwZW5hbWUgVDE5ICwgdHlwZW5hbWUgVDIwICwgdHlwZW5hbWUgVDIxICwgdHlwZW5hbWUgVDIyICwgdHlwZW5hbWUgVDIzICwgdHlwZW5hbWUgVDI0ICwgdHlwZW5hbWUgVDI1ICwgdHlwZW5hbWUgVDI2ICwgdHlwZW5hbWUgVDI3ICwgdHlwZW5hbWUgVDI4ICwgdHlwZW5hbWUgVDI5ICwgdHlwZW5hbWUgVDMwICwgdHlwZW5hbWUgVDMxICwgdHlwZW5hbWUgVDMyICwgdHlwZW5hbWUgVDMzICwgdHlwZW5hbWUgVDM0ICwgdHlwZW5hbWUgVDM1ICwgdHlwZW5hbWUgVDM2ICwgdHlwZW5hbWUgVDM3ICwgdHlwZW5hbWUgVDM4ICwgdHlwZW5hbWUgVDM5ICwgdHlwZW5hbWUgVDQwICwgdHlwZW5hbWUgVDQxICwgdHlwZW5hbWUgVDQyICwgdHlwZW5hbWUgVDQzID4KK3N0cnVjdCBCT09TVF9GVF9tYWtlX3R5cGUoQk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQsNDQpCit7Cit0eXBlZGVmIEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYyx0eXBlIEJPT1NUX1BQX0VNUFRZKSAoVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzICwgVDE0ICwgVDE1ICwgVDE2ICwgVDE3ICwgVDE4ICwgVDE5ICwgVDIwICwgVDIxICwgVDIyICwgVDIzICwgVDI0ICwgVDI1ICwgVDI2ICwgVDI3ICwgVDI4ICwgVDI5ICwgVDMwICwgVDMxICwgVDMyICwgVDMzICwgVDM0ICwgVDM1ICwgVDM2ICwgVDM3ICwgVDM4ICwgVDM5ICwgVDQwICwgVDQxICwgVDQyICwgVDQzIEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YgOworfTsKK3RlbXBsYXRlPCA+IAorc3RydWN0IHN5bnRoZXNpemVfaW1wbF9vPCBCT09TVF9GVF9mbGFncywgQk9PU1RfRlRfY2NfaWQsIDQ1ID4gCit7IAordGVtcGxhdGU8dHlwZW5hbWUgUz4gc3RydWN0IHN5bnRoZXNpemVfaW1wbF9pCit7Citwcml2YXRlOgordHlwZWRlZiB0eXBlbmFtZSBtcGw6OmJlZ2luPFM+IDo6dHlwZSBpdGVyXzA7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8wID4gOjp0eXBlIGl0ZXJfMTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzEgPiA6OnR5cGUgaXRlcl8yOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMiA+IDo6dHlwZSBpdGVyXzM7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zID4gOjp0eXBlIGl0ZXJfNDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzQgPiA6OnR5cGUgaXRlcl81OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNSA+IDo6dHlwZSBpdGVyXzY7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl82ID4gOjp0eXBlIGl0ZXJfNzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzcgPiA6OnR5cGUgaXRlcl84OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfOCA+IDo6dHlwZSBpdGVyXzk7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl85ID4gOjp0eXBlIGl0ZXJfMTA7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xMCA+IDo6dHlwZSBpdGVyXzExOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTEgPiA6OnR5cGUgaXRlcl8xMjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzEyID4gOjp0eXBlIGl0ZXJfMTM7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xMyA+IDo6dHlwZSBpdGVyXzE0OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTQgPiA6OnR5cGUgaXRlcl8xNTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE1ID4gOjp0eXBlIGl0ZXJfMTY7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xNiA+IDo6dHlwZSBpdGVyXzE3OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTcgPiA6OnR5cGUgaXRlcl8xODsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE4ID4gOjp0eXBlIGl0ZXJfMTk7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xOSA+IDo6dHlwZSBpdGVyXzIwOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjAgPiA6OnR5cGUgaXRlcl8yMTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIxID4gOjp0eXBlIGl0ZXJfMjI7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yMiA+IDo6dHlwZSBpdGVyXzIzOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjMgPiA6OnR5cGUgaXRlcl8yNDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzI0ID4gOjp0eXBlIGl0ZXJfMjU7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yNSA+IDo6dHlwZSBpdGVyXzI2OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjYgPiA6OnR5cGUgaXRlcl8yNzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzI3ID4gOjp0eXBlIGl0ZXJfMjg7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yOCA+IDo6dHlwZSBpdGVyXzI5OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjkgPiA6OnR5cGUgaXRlcl8zMDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzMwID4gOjp0eXBlIGl0ZXJfMzE7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zMSA+IDo6dHlwZSBpdGVyXzMyOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMzIgPiA6OnR5cGUgaXRlcl8zMzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzMzID4gOjp0eXBlIGl0ZXJfMzQ7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zNCA+IDo6dHlwZSBpdGVyXzM1OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMzUgPiA6OnR5cGUgaXRlcl8zNjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzM2ID4gOjp0eXBlIGl0ZXJfMzc7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zNyA+IDo6dHlwZSBpdGVyXzM4OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMzggPiA6OnR5cGUgaXRlcl8zOTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzM5ID4gOjp0eXBlIGl0ZXJfNDA7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl80MCA+IDo6dHlwZSBpdGVyXzQxOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNDEgPiA6OnR5cGUgaXRlcl80MjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzQyID4gOjp0eXBlIGl0ZXJfNDM7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl80MyA+IDo6dHlwZSBpdGVyXzQ0OworcHVibGljOgordHlwZWRlZiB0eXBlbmFtZSBkZXRhaWw6OkJPT1NUX0ZUX21ha2VfdHlwZShCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZCw0NCkgCis8IHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMCA+IDo6dHlwZSAKKywgdHlwZW5hbWUgZGV0YWlsOjpjdl90cmFpdHM8IAordHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xID4gOjp0eXBlID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzMgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl80ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzYgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl83ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfOCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzkgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzExID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTIgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE0ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTUgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xNiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE3ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTggPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xOSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIwID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjEgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yMiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIzID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjQgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yNSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzI2ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjcgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yOCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzI5ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzAgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zMSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzMyID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzMgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zNCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzM1ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzYgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zNyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzM4ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzkgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl80MCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzQxID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNDIgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl80MyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzQ0ID4gOjp0eXBlCis+IDo6dHlwZSB0eXBlOworfTsKK307Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgUiAsIHR5cGVuYW1lIFQwICwgdHlwZW5hbWUgVDEgLCB0eXBlbmFtZSBUMiAsIHR5cGVuYW1lIFQzICwgdHlwZW5hbWUgVDQgLCB0eXBlbmFtZSBUNSAsIHR5cGVuYW1lIFQ2ICwgdHlwZW5hbWUgVDcgLCB0eXBlbmFtZSBUOCAsIHR5cGVuYW1lIFQ5ICwgdHlwZW5hbWUgVDEwICwgdHlwZW5hbWUgVDExICwgdHlwZW5hbWUgVDEyICwgdHlwZW5hbWUgVDEzICwgdHlwZW5hbWUgVDE0ICwgdHlwZW5hbWUgVDE1ICwgdHlwZW5hbWUgVDE2ICwgdHlwZW5hbWUgVDE3ICwgdHlwZW5hbWUgVDE4ICwgdHlwZW5hbWUgVDE5ICwgdHlwZW5hbWUgVDIwICwgdHlwZW5hbWUgVDIxICwgdHlwZW5hbWUgVDIyICwgdHlwZW5hbWUgVDIzICwgdHlwZW5hbWUgVDI0ICwgdHlwZW5hbWUgVDI1ICwgdHlwZW5hbWUgVDI2ICwgdHlwZW5hbWUgVDI3ICwgdHlwZW5hbWUgVDI4ICwgdHlwZW5hbWUgVDI5ICwgdHlwZW5hbWUgVDMwICwgdHlwZW5hbWUgVDMxICwgdHlwZW5hbWUgVDMyICwgdHlwZW5hbWUgVDMzICwgdHlwZW5hbWUgVDM0ICwgdHlwZW5hbWUgVDM1ICwgdHlwZW5hbWUgVDM2ICwgdHlwZW5hbWUgVDM3ICwgdHlwZW5hbWUgVDM4ICwgdHlwZW5hbWUgVDM5ICwgdHlwZW5hbWUgVDQwICwgdHlwZW5hbWUgVDQxICwgdHlwZW5hbWUgVDQyICwgdHlwZW5hbWUgVDQzICwgdHlwZW5hbWUgVDQ0ID4KK3N0cnVjdCBCT09TVF9GVF9tYWtlX3R5cGUoQk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQsNDUpCit7Cit0eXBlZGVmIEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYyx0eXBlIEJPT1NUX1BQX0VNUFRZKSAoVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzICwgVDE0ICwgVDE1ICwgVDE2ICwgVDE3ICwgVDE4ICwgVDE5ICwgVDIwICwgVDIxICwgVDIyICwgVDIzICwgVDI0ICwgVDI1ICwgVDI2ICwgVDI3ICwgVDI4ICwgVDI5ICwgVDMwICwgVDMxICwgVDMyICwgVDMzICwgVDM0ICwgVDM1ICwgVDM2ICwgVDM3ICwgVDM4ICwgVDM5ICwgVDQwICwgVDQxICwgVDQyICwgVDQzICwgVDQ0IEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YgOworfTsKK3RlbXBsYXRlPCA+IAorc3RydWN0IHN5bnRoZXNpemVfaW1wbF9vPCBCT09TVF9GVF9mbGFncywgQk9PU1RfRlRfY2NfaWQsIDQ2ID4gCit7IAordGVtcGxhdGU8dHlwZW5hbWUgUz4gc3RydWN0IHN5bnRoZXNpemVfaW1wbF9pCit7Citwcml2YXRlOgordHlwZWRlZiB0eXBlbmFtZSBtcGw6OmJlZ2luPFM+IDo6dHlwZSBpdGVyXzA7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8wID4gOjp0eXBlIGl0ZXJfMTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzEgPiA6OnR5cGUgaXRlcl8yOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMiA+IDo6dHlwZSBpdGVyXzM7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zID4gOjp0eXBlIGl0ZXJfNDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzQgPiA6OnR5cGUgaXRlcl81OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNSA+IDo6dHlwZSBpdGVyXzY7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl82ID4gOjp0eXBlIGl0ZXJfNzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzcgPiA6OnR5cGUgaXRlcl84OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfOCA+IDo6dHlwZSBpdGVyXzk7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl85ID4gOjp0eXBlIGl0ZXJfMTA7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xMCA+IDo6dHlwZSBpdGVyXzExOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTEgPiA6OnR5cGUgaXRlcl8xMjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzEyID4gOjp0eXBlIGl0ZXJfMTM7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xMyA+IDo6dHlwZSBpdGVyXzE0OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTQgPiA6OnR5cGUgaXRlcl8xNTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE1ID4gOjp0eXBlIGl0ZXJfMTY7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xNiA+IDo6dHlwZSBpdGVyXzE3OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTcgPiA6OnR5cGUgaXRlcl8xODsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE4ID4gOjp0eXBlIGl0ZXJfMTk7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xOSA+IDo6dHlwZSBpdGVyXzIwOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjAgPiA6OnR5cGUgaXRlcl8yMTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIxID4gOjp0eXBlIGl0ZXJfMjI7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yMiA+IDo6dHlwZSBpdGVyXzIzOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjMgPiA6OnR5cGUgaXRlcl8yNDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzI0ID4gOjp0eXBlIGl0ZXJfMjU7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yNSA+IDo6dHlwZSBpdGVyXzI2OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjYgPiA6OnR5cGUgaXRlcl8yNzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzI3ID4gOjp0eXBlIGl0ZXJfMjg7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yOCA+IDo6dHlwZSBpdGVyXzI5OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjkgPiA6OnR5cGUgaXRlcl8zMDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzMwID4gOjp0eXBlIGl0ZXJfMzE7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zMSA+IDo6dHlwZSBpdGVyXzMyOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMzIgPiA6OnR5cGUgaXRlcl8zMzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzMzID4gOjp0eXBlIGl0ZXJfMzQ7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zNCA+IDo6dHlwZSBpdGVyXzM1OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMzUgPiA6OnR5cGUgaXRlcl8zNjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzM2ID4gOjp0eXBlIGl0ZXJfMzc7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zNyA+IDo6dHlwZSBpdGVyXzM4OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMzggPiA6OnR5cGUgaXRlcl8zOTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzM5ID4gOjp0eXBlIGl0ZXJfNDA7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl80MCA+IDo6dHlwZSBpdGVyXzQxOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNDEgPiA6OnR5cGUgaXRlcl80MjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzQyID4gOjp0eXBlIGl0ZXJfNDM7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl80MyA+IDo6dHlwZSBpdGVyXzQ0OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNDQgPiA6OnR5cGUgaXRlcl80NTsKK3B1YmxpYzoKK3R5cGVkZWYgdHlwZW5hbWUgZGV0YWlsOjpCT09TVF9GVF9tYWtlX3R5cGUoQk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQsNDUpIAorPCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzAgPiA6OnR5cGUgCissIHR5cGVuYW1lIGRldGFpbDo6Y3ZfdHJhaXRzPCAKK3R5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMSA+IDo6dHlwZSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzUgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl82ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzggPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl85ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTAgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzEyID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTMgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xNCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE1ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTYgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xNyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE4ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTkgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yMCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIxID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjIgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yMyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzI0ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjUgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yNiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzI3ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjggPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yOSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzMwID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzEgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zMiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzMzID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzQgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zNSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzM2ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzcgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zOCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzM5ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNDAgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl80MSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzQyID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNDMgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl80NCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzQ1ID4gOjp0eXBlCis+IDo6dHlwZSB0eXBlOworfTsKK307Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgUiAsIHR5cGVuYW1lIFQwICwgdHlwZW5hbWUgVDEgLCB0eXBlbmFtZSBUMiAsIHR5cGVuYW1lIFQzICwgdHlwZW5hbWUgVDQgLCB0eXBlbmFtZSBUNSAsIHR5cGVuYW1lIFQ2ICwgdHlwZW5hbWUgVDcgLCB0eXBlbmFtZSBUOCAsIHR5cGVuYW1lIFQ5ICwgdHlwZW5hbWUgVDEwICwgdHlwZW5hbWUgVDExICwgdHlwZW5hbWUgVDEyICwgdHlwZW5hbWUgVDEzICwgdHlwZW5hbWUgVDE0ICwgdHlwZW5hbWUgVDE1ICwgdHlwZW5hbWUgVDE2ICwgdHlwZW5hbWUgVDE3ICwgdHlwZW5hbWUgVDE4ICwgdHlwZW5hbWUgVDE5ICwgdHlwZW5hbWUgVDIwICwgdHlwZW5hbWUgVDIxICwgdHlwZW5hbWUgVDIyICwgdHlwZW5hbWUgVDIzICwgdHlwZW5hbWUgVDI0ICwgdHlwZW5hbWUgVDI1ICwgdHlwZW5hbWUgVDI2ICwgdHlwZW5hbWUgVDI3ICwgdHlwZW5hbWUgVDI4ICwgdHlwZW5hbWUgVDI5ICwgdHlwZW5hbWUgVDMwICwgdHlwZW5hbWUgVDMxICwgdHlwZW5hbWUgVDMyICwgdHlwZW5hbWUgVDMzICwgdHlwZW5hbWUgVDM0ICwgdHlwZW5hbWUgVDM1ICwgdHlwZW5hbWUgVDM2ICwgdHlwZW5hbWUgVDM3ICwgdHlwZW5hbWUgVDM4ICwgdHlwZW5hbWUgVDM5ICwgdHlwZW5hbWUgVDQwICwgdHlwZW5hbWUgVDQxICwgdHlwZW5hbWUgVDQyICwgdHlwZW5hbWUgVDQzICwgdHlwZW5hbWUgVDQ0ICwgdHlwZW5hbWUgVDQ1ID4KK3N0cnVjdCBCT09TVF9GVF9tYWtlX3R5cGUoQk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQsNDYpCit7Cit0eXBlZGVmIEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYyx0eXBlIEJPT1NUX1BQX0VNUFRZKSAoVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzICwgVDE0ICwgVDE1ICwgVDE2ICwgVDE3ICwgVDE4ICwgVDE5ICwgVDIwICwgVDIxICwgVDIyICwgVDIzICwgVDI0ICwgVDI1ICwgVDI2ICwgVDI3ICwgVDI4ICwgVDI5ICwgVDMwICwgVDMxICwgVDMyICwgVDMzICwgVDM0ICwgVDM1ICwgVDM2ICwgVDM3ICwgVDM4ICwgVDM5ICwgVDQwICwgVDQxICwgVDQyICwgVDQzICwgVDQ0ICwgVDQ1IEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YgOworfTsKK3RlbXBsYXRlPCA+IAorc3RydWN0IHN5bnRoZXNpemVfaW1wbF9vPCBCT09TVF9GVF9mbGFncywgQk9PU1RfRlRfY2NfaWQsIDQ3ID4gCit7IAordGVtcGxhdGU8dHlwZW5hbWUgUz4gc3RydWN0IHN5bnRoZXNpemVfaW1wbF9pCit7Citwcml2YXRlOgordHlwZWRlZiB0eXBlbmFtZSBtcGw6OmJlZ2luPFM+IDo6dHlwZSBpdGVyXzA7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8wID4gOjp0eXBlIGl0ZXJfMTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzEgPiA6OnR5cGUgaXRlcl8yOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMiA+IDo6dHlwZSBpdGVyXzM7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zID4gOjp0eXBlIGl0ZXJfNDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzQgPiA6OnR5cGUgaXRlcl81OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNSA+IDo6dHlwZSBpdGVyXzY7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl82ID4gOjp0eXBlIGl0ZXJfNzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzcgPiA6OnR5cGUgaXRlcl84OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfOCA+IDo6dHlwZSBpdGVyXzk7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl85ID4gOjp0eXBlIGl0ZXJfMTA7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xMCA+IDo6dHlwZSBpdGVyXzExOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTEgPiA6OnR5cGUgaXRlcl8xMjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzEyID4gOjp0eXBlIGl0ZXJfMTM7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xMyA+IDo6dHlwZSBpdGVyXzE0OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTQgPiA6OnR5cGUgaXRlcl8xNTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE1ID4gOjp0eXBlIGl0ZXJfMTY7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xNiA+IDo6dHlwZSBpdGVyXzE3OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTcgPiA6OnR5cGUgaXRlcl8xODsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE4ID4gOjp0eXBlIGl0ZXJfMTk7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xOSA+IDo6dHlwZSBpdGVyXzIwOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjAgPiA6OnR5cGUgaXRlcl8yMTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIxID4gOjp0eXBlIGl0ZXJfMjI7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yMiA+IDo6dHlwZSBpdGVyXzIzOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjMgPiA6OnR5cGUgaXRlcl8yNDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzI0ID4gOjp0eXBlIGl0ZXJfMjU7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yNSA+IDo6dHlwZSBpdGVyXzI2OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjYgPiA6OnR5cGUgaXRlcl8yNzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzI3ID4gOjp0eXBlIGl0ZXJfMjg7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yOCA+IDo6dHlwZSBpdGVyXzI5OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjkgPiA6OnR5cGUgaXRlcl8zMDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzMwID4gOjp0eXBlIGl0ZXJfMzE7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zMSA+IDo6dHlwZSBpdGVyXzMyOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMzIgPiA6OnR5cGUgaXRlcl8zMzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzMzID4gOjp0eXBlIGl0ZXJfMzQ7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zNCA+IDo6dHlwZSBpdGVyXzM1OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMzUgPiA6OnR5cGUgaXRlcl8zNjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzM2ID4gOjp0eXBlIGl0ZXJfMzc7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zNyA+IDo6dHlwZSBpdGVyXzM4OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMzggPiA6OnR5cGUgaXRlcl8zOTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzM5ID4gOjp0eXBlIGl0ZXJfNDA7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl80MCA+IDo6dHlwZSBpdGVyXzQxOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNDEgPiA6OnR5cGUgaXRlcl80MjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzQyID4gOjp0eXBlIGl0ZXJfNDM7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl80MyA+IDo6dHlwZSBpdGVyXzQ0OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNDQgPiA6OnR5cGUgaXRlcl80NTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzQ1ID4gOjp0eXBlIGl0ZXJfNDY7CitwdWJsaWM6Cit0eXBlZGVmIHR5cGVuYW1lIGRldGFpbDo6Qk9PU1RfRlRfbWFrZV90eXBlKEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDQ2KSAKKzwgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8wID4gOjp0eXBlIAorLCB0eXBlbmFtZSBkZXRhaWw6OmN2X3RyYWl0czwgCit0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzEgPiA6OnR5cGUgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzQgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl81ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzcgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl84ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfOSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzEwID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTEgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzEzID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTQgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xNSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE2ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTcgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xOCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE5ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjAgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yMSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIyID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjMgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yNCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzI1ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjYgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yNyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzI4ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjkgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zMCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzMxID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzIgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zMyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzM0ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzUgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zNiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzM3ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzggPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zOSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzQwID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNDEgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl80MiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzQzID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNDQgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl80NSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzQ2ID4gOjp0eXBlCis+IDo6dHlwZSB0eXBlOworfTsKK307Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgUiAsIHR5cGVuYW1lIFQwICwgdHlwZW5hbWUgVDEgLCB0eXBlbmFtZSBUMiAsIHR5cGVuYW1lIFQzICwgdHlwZW5hbWUgVDQgLCB0eXBlbmFtZSBUNSAsIHR5cGVuYW1lIFQ2ICwgdHlwZW5hbWUgVDcgLCB0eXBlbmFtZSBUOCAsIHR5cGVuYW1lIFQ5ICwgdHlwZW5hbWUgVDEwICwgdHlwZW5hbWUgVDExICwgdHlwZW5hbWUgVDEyICwgdHlwZW5hbWUgVDEzICwgdHlwZW5hbWUgVDE0ICwgdHlwZW5hbWUgVDE1ICwgdHlwZW5hbWUgVDE2ICwgdHlwZW5hbWUgVDE3ICwgdHlwZW5hbWUgVDE4ICwgdHlwZW5hbWUgVDE5ICwgdHlwZW5hbWUgVDIwICwgdHlwZW5hbWUgVDIxICwgdHlwZW5hbWUgVDIyICwgdHlwZW5hbWUgVDIzICwgdHlwZW5hbWUgVDI0ICwgdHlwZW5hbWUgVDI1ICwgdHlwZW5hbWUgVDI2ICwgdHlwZW5hbWUgVDI3ICwgdHlwZW5hbWUgVDI4ICwgdHlwZW5hbWUgVDI5ICwgdHlwZW5hbWUgVDMwICwgdHlwZW5hbWUgVDMxICwgdHlwZW5hbWUgVDMyICwgdHlwZW5hbWUgVDMzICwgdHlwZW5hbWUgVDM0ICwgdHlwZW5hbWUgVDM1ICwgdHlwZW5hbWUgVDM2ICwgdHlwZW5hbWUgVDM3ICwgdHlwZW5hbWUgVDM4ICwgdHlwZW5hbWUgVDM5ICwgdHlwZW5hbWUgVDQwICwgdHlwZW5hbWUgVDQxICwgdHlwZW5hbWUgVDQyICwgdHlwZW5hbWUgVDQzICwgdHlwZW5hbWUgVDQ0ICwgdHlwZW5hbWUgVDQ1ICwgdHlwZW5hbWUgVDQ2ID4KK3N0cnVjdCBCT09TVF9GVF9tYWtlX3R5cGUoQk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQsNDcpCit7Cit0eXBlZGVmIEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYyx0eXBlIEJPT1NUX1BQX0VNUFRZKSAoVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzICwgVDE0ICwgVDE1ICwgVDE2ICwgVDE3ICwgVDE4ICwgVDE5ICwgVDIwICwgVDIxICwgVDIyICwgVDIzICwgVDI0ICwgVDI1ICwgVDI2ICwgVDI3ICwgVDI4ICwgVDI5ICwgVDMwICwgVDMxICwgVDMyICwgVDMzICwgVDM0ICwgVDM1ICwgVDM2ICwgVDM3ICwgVDM4ICwgVDM5ICwgVDQwICwgVDQxICwgVDQyICwgVDQzICwgVDQ0ICwgVDQ1ICwgVDQ2IEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YgOworfTsKK3RlbXBsYXRlPCA+IAorc3RydWN0IHN5bnRoZXNpemVfaW1wbF9vPCBCT09TVF9GVF9mbGFncywgQk9PU1RfRlRfY2NfaWQsIDQ4ID4gCit7IAordGVtcGxhdGU8dHlwZW5hbWUgUz4gc3RydWN0IHN5bnRoZXNpemVfaW1wbF9pCit7Citwcml2YXRlOgordHlwZWRlZiB0eXBlbmFtZSBtcGw6OmJlZ2luPFM+IDo6dHlwZSBpdGVyXzA7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8wID4gOjp0eXBlIGl0ZXJfMTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzEgPiA6OnR5cGUgaXRlcl8yOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMiA+IDo6dHlwZSBpdGVyXzM7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zID4gOjp0eXBlIGl0ZXJfNDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzQgPiA6OnR5cGUgaXRlcl81OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNSA+IDo6dHlwZSBpdGVyXzY7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl82ID4gOjp0eXBlIGl0ZXJfNzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzcgPiA6OnR5cGUgaXRlcl84OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfOCA+IDo6dHlwZSBpdGVyXzk7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl85ID4gOjp0eXBlIGl0ZXJfMTA7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xMCA+IDo6dHlwZSBpdGVyXzExOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTEgPiA6OnR5cGUgaXRlcl8xMjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzEyID4gOjp0eXBlIGl0ZXJfMTM7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xMyA+IDo6dHlwZSBpdGVyXzE0OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTQgPiA6OnR5cGUgaXRlcl8xNTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE1ID4gOjp0eXBlIGl0ZXJfMTY7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xNiA+IDo6dHlwZSBpdGVyXzE3OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTcgPiA6OnR5cGUgaXRlcl8xODsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE4ID4gOjp0eXBlIGl0ZXJfMTk7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xOSA+IDo6dHlwZSBpdGVyXzIwOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjAgPiA6OnR5cGUgaXRlcl8yMTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIxID4gOjp0eXBlIGl0ZXJfMjI7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yMiA+IDo6dHlwZSBpdGVyXzIzOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjMgPiA6OnR5cGUgaXRlcl8yNDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzI0ID4gOjp0eXBlIGl0ZXJfMjU7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yNSA+IDo6dHlwZSBpdGVyXzI2OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjYgPiA6OnR5cGUgaXRlcl8yNzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzI3ID4gOjp0eXBlIGl0ZXJfMjg7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yOCA+IDo6dHlwZSBpdGVyXzI5OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjkgPiA6OnR5cGUgaXRlcl8zMDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzMwID4gOjp0eXBlIGl0ZXJfMzE7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zMSA+IDo6dHlwZSBpdGVyXzMyOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMzIgPiA6OnR5cGUgaXRlcl8zMzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzMzID4gOjp0eXBlIGl0ZXJfMzQ7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zNCA+IDo6dHlwZSBpdGVyXzM1OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMzUgPiA6OnR5cGUgaXRlcl8zNjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzM2ID4gOjp0eXBlIGl0ZXJfMzc7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zNyA+IDo6dHlwZSBpdGVyXzM4OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMzggPiA6OnR5cGUgaXRlcl8zOTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzM5ID4gOjp0eXBlIGl0ZXJfNDA7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl80MCA+IDo6dHlwZSBpdGVyXzQxOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNDEgPiA6OnR5cGUgaXRlcl80MjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzQyID4gOjp0eXBlIGl0ZXJfNDM7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl80MyA+IDo6dHlwZSBpdGVyXzQ0OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNDQgPiA6OnR5cGUgaXRlcl80NTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzQ1ID4gOjp0eXBlIGl0ZXJfNDY7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl80NiA+IDo6dHlwZSBpdGVyXzQ3OworcHVibGljOgordHlwZWRlZiB0eXBlbmFtZSBkZXRhaWw6OkJPT1NUX0ZUX21ha2VfdHlwZShCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZCw0NykgCis8IHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMCA+IDo6dHlwZSAKKywgdHlwZW5hbWUgZGV0YWlsOjpjdl90cmFpdHM8IAordHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xID4gOjp0eXBlID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzMgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl80ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzYgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl83ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfOCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzkgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzExID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTIgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE0ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTUgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xNiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE3ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTggPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xOSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIwID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjEgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yMiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIzID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjQgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yNSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzI2ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjcgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yOCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzI5ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzAgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zMSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzMyID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzMgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zNCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzM1ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzYgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zNyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzM4ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzkgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl80MCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzQxID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNDIgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl80MyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzQ0ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNDUgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl80NiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzQ3ID4gOjp0eXBlCis+IDo6dHlwZSB0eXBlOworfTsKK307Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgUiAsIHR5cGVuYW1lIFQwICwgdHlwZW5hbWUgVDEgLCB0eXBlbmFtZSBUMiAsIHR5cGVuYW1lIFQzICwgdHlwZW5hbWUgVDQgLCB0eXBlbmFtZSBUNSAsIHR5cGVuYW1lIFQ2ICwgdHlwZW5hbWUgVDcgLCB0eXBlbmFtZSBUOCAsIHR5cGVuYW1lIFQ5ICwgdHlwZW5hbWUgVDEwICwgdHlwZW5hbWUgVDExICwgdHlwZW5hbWUgVDEyICwgdHlwZW5hbWUgVDEzICwgdHlwZW5hbWUgVDE0ICwgdHlwZW5hbWUgVDE1ICwgdHlwZW5hbWUgVDE2ICwgdHlwZW5hbWUgVDE3ICwgdHlwZW5hbWUgVDE4ICwgdHlwZW5hbWUgVDE5ICwgdHlwZW5hbWUgVDIwICwgdHlwZW5hbWUgVDIxICwgdHlwZW5hbWUgVDIyICwgdHlwZW5hbWUgVDIzICwgdHlwZW5hbWUgVDI0ICwgdHlwZW5hbWUgVDI1ICwgdHlwZW5hbWUgVDI2ICwgdHlwZW5hbWUgVDI3ICwgdHlwZW5hbWUgVDI4ICwgdHlwZW5hbWUgVDI5ICwgdHlwZW5hbWUgVDMwICwgdHlwZW5hbWUgVDMxICwgdHlwZW5hbWUgVDMyICwgdHlwZW5hbWUgVDMzICwgdHlwZW5hbWUgVDM0ICwgdHlwZW5hbWUgVDM1ICwgdHlwZW5hbWUgVDM2ICwgdHlwZW5hbWUgVDM3ICwgdHlwZW5hbWUgVDM4ICwgdHlwZW5hbWUgVDM5ICwgdHlwZW5hbWUgVDQwICwgdHlwZW5hbWUgVDQxICwgdHlwZW5hbWUgVDQyICwgdHlwZW5hbWUgVDQzICwgdHlwZW5hbWUgVDQ0ICwgdHlwZW5hbWUgVDQ1ICwgdHlwZW5hbWUgVDQ2ICwgdHlwZW5hbWUgVDQ3ID4KK3N0cnVjdCBCT09TVF9GVF9tYWtlX3R5cGUoQk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQsNDgpCit7Cit0eXBlZGVmIEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYyx0eXBlIEJPT1NUX1BQX0VNUFRZKSAoVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzICwgVDE0ICwgVDE1ICwgVDE2ICwgVDE3ICwgVDE4ICwgVDE5ICwgVDIwICwgVDIxICwgVDIyICwgVDIzICwgVDI0ICwgVDI1ICwgVDI2ICwgVDI3ICwgVDI4ICwgVDI5ICwgVDMwICwgVDMxICwgVDMyICwgVDMzICwgVDM0ICwgVDM1ICwgVDM2ICwgVDM3ICwgVDM4ICwgVDM5ICwgVDQwICwgVDQxICwgVDQyICwgVDQzICwgVDQ0ICwgVDQ1ICwgVDQ2ICwgVDQ3IEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YgOworfTsKK3RlbXBsYXRlPCA+IAorc3RydWN0IHN5bnRoZXNpemVfaW1wbF9vPCBCT09TVF9GVF9mbGFncywgQk9PU1RfRlRfY2NfaWQsIDQ5ID4gCit7IAordGVtcGxhdGU8dHlwZW5hbWUgUz4gc3RydWN0IHN5bnRoZXNpemVfaW1wbF9pCit7Citwcml2YXRlOgordHlwZWRlZiB0eXBlbmFtZSBtcGw6OmJlZ2luPFM+IDo6dHlwZSBpdGVyXzA7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8wID4gOjp0eXBlIGl0ZXJfMTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzEgPiA6OnR5cGUgaXRlcl8yOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMiA+IDo6dHlwZSBpdGVyXzM7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zID4gOjp0eXBlIGl0ZXJfNDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzQgPiA6OnR5cGUgaXRlcl81OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNSA+IDo6dHlwZSBpdGVyXzY7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl82ID4gOjp0eXBlIGl0ZXJfNzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzcgPiA6OnR5cGUgaXRlcl84OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfOCA+IDo6dHlwZSBpdGVyXzk7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl85ID4gOjp0eXBlIGl0ZXJfMTA7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xMCA+IDo6dHlwZSBpdGVyXzExOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTEgPiA6OnR5cGUgaXRlcl8xMjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzEyID4gOjp0eXBlIGl0ZXJfMTM7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xMyA+IDo6dHlwZSBpdGVyXzE0OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTQgPiA6OnR5cGUgaXRlcl8xNTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE1ID4gOjp0eXBlIGl0ZXJfMTY7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xNiA+IDo6dHlwZSBpdGVyXzE3OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTcgPiA6OnR5cGUgaXRlcl8xODsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE4ID4gOjp0eXBlIGl0ZXJfMTk7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xOSA+IDo6dHlwZSBpdGVyXzIwOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjAgPiA6OnR5cGUgaXRlcl8yMTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIxID4gOjp0eXBlIGl0ZXJfMjI7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yMiA+IDo6dHlwZSBpdGVyXzIzOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjMgPiA6OnR5cGUgaXRlcl8yNDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzI0ID4gOjp0eXBlIGl0ZXJfMjU7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yNSA+IDo6dHlwZSBpdGVyXzI2OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjYgPiA6OnR5cGUgaXRlcl8yNzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzI3ID4gOjp0eXBlIGl0ZXJfMjg7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yOCA+IDo6dHlwZSBpdGVyXzI5OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjkgPiA6OnR5cGUgaXRlcl8zMDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzMwID4gOjp0eXBlIGl0ZXJfMzE7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zMSA+IDo6dHlwZSBpdGVyXzMyOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMzIgPiA6OnR5cGUgaXRlcl8zMzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzMzID4gOjp0eXBlIGl0ZXJfMzQ7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zNCA+IDo6dHlwZSBpdGVyXzM1OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMzUgPiA6OnR5cGUgaXRlcl8zNjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzM2ID4gOjp0eXBlIGl0ZXJfMzc7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zNyA+IDo6dHlwZSBpdGVyXzM4OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMzggPiA6OnR5cGUgaXRlcl8zOTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzM5ID4gOjp0eXBlIGl0ZXJfNDA7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl80MCA+IDo6dHlwZSBpdGVyXzQxOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNDEgPiA6OnR5cGUgaXRlcl80MjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzQyID4gOjp0eXBlIGl0ZXJfNDM7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl80MyA+IDo6dHlwZSBpdGVyXzQ0OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNDQgPiA6OnR5cGUgaXRlcl80NTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzQ1ID4gOjp0eXBlIGl0ZXJfNDY7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl80NiA+IDo6dHlwZSBpdGVyXzQ3OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNDcgPiA6OnR5cGUgaXRlcl80ODsKK3B1YmxpYzoKK3R5cGVkZWYgdHlwZW5hbWUgZGV0YWlsOjpCT09TVF9GVF9tYWtlX3R5cGUoQk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQsNDgpIAorPCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzAgPiA6OnR5cGUgCissIHR5cGVuYW1lIGRldGFpbDo6Y3ZfdHJhaXRzPCAKK3R5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMSA+IDo6dHlwZSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzUgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl82ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzggPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl85ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTAgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzEyID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTMgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xNCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE1ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTYgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xNyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE4ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTkgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yMCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIxID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjIgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yMyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzI0ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjUgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yNiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzI3ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjggPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yOSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzMwID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzEgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zMiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzMzID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzQgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zNSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzM2ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzcgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zOCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzM5ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNDAgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl80MSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzQyID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNDMgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl80NCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzQ1ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNDYgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl80NyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzQ4ID4gOjp0eXBlCis+IDo6dHlwZSB0eXBlOworfTsKK307Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgUiAsIHR5cGVuYW1lIFQwICwgdHlwZW5hbWUgVDEgLCB0eXBlbmFtZSBUMiAsIHR5cGVuYW1lIFQzICwgdHlwZW5hbWUgVDQgLCB0eXBlbmFtZSBUNSAsIHR5cGVuYW1lIFQ2ICwgdHlwZW5hbWUgVDcgLCB0eXBlbmFtZSBUOCAsIHR5cGVuYW1lIFQ5ICwgdHlwZW5hbWUgVDEwICwgdHlwZW5hbWUgVDExICwgdHlwZW5hbWUgVDEyICwgdHlwZW5hbWUgVDEzICwgdHlwZW5hbWUgVDE0ICwgdHlwZW5hbWUgVDE1ICwgdHlwZW5hbWUgVDE2ICwgdHlwZW5hbWUgVDE3ICwgdHlwZW5hbWUgVDE4ICwgdHlwZW5hbWUgVDE5ICwgdHlwZW5hbWUgVDIwICwgdHlwZW5hbWUgVDIxICwgdHlwZW5hbWUgVDIyICwgdHlwZW5hbWUgVDIzICwgdHlwZW5hbWUgVDI0ICwgdHlwZW5hbWUgVDI1ICwgdHlwZW5hbWUgVDI2ICwgdHlwZW5hbWUgVDI3ICwgdHlwZW5hbWUgVDI4ICwgdHlwZW5hbWUgVDI5ICwgdHlwZW5hbWUgVDMwICwgdHlwZW5hbWUgVDMxICwgdHlwZW5hbWUgVDMyICwgdHlwZW5hbWUgVDMzICwgdHlwZW5hbWUgVDM0ICwgdHlwZW5hbWUgVDM1ICwgdHlwZW5hbWUgVDM2ICwgdHlwZW5hbWUgVDM3ICwgdHlwZW5hbWUgVDM4ICwgdHlwZW5hbWUgVDM5ICwgdHlwZW5hbWUgVDQwICwgdHlwZW5hbWUgVDQxICwgdHlwZW5hbWUgVDQyICwgdHlwZW5hbWUgVDQzICwgdHlwZW5hbWUgVDQ0ICwgdHlwZW5hbWUgVDQ1ICwgdHlwZW5hbWUgVDQ2ICwgdHlwZW5hbWUgVDQ3ICwgdHlwZW5hbWUgVDQ4ID4KK3N0cnVjdCBCT09TVF9GVF9tYWtlX3R5cGUoQk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQsNDkpCit7Cit0eXBlZGVmIEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYyx0eXBlIEJPT1NUX1BQX0VNUFRZKSAoVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzICwgVDE0ICwgVDE1ICwgVDE2ICwgVDE3ICwgVDE4ICwgVDE5ICwgVDIwICwgVDIxICwgVDIyICwgVDIzICwgVDI0ICwgVDI1ICwgVDI2ICwgVDI3ICwgVDI4ICwgVDI5ICwgVDMwICwgVDMxICwgVDMyICwgVDMzICwgVDM0ICwgVDM1ICwgVDM2ICwgVDM3ICwgVDM4ICwgVDM5ICwgVDQwICwgVDQxICwgVDQyICwgVDQzICwgVDQ0ICwgVDQ1ICwgVDQ2ICwgVDQ3ICwgVDQ4IEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YgOworfTsKK3RlbXBsYXRlPCA+IAorc3RydWN0IHN5bnRoZXNpemVfaW1wbF9vPCBCT09TVF9GVF9mbGFncywgQk9PU1RfRlRfY2NfaWQsIDUwID4gCit7IAordGVtcGxhdGU8dHlwZW5hbWUgUz4gc3RydWN0IHN5bnRoZXNpemVfaW1wbF9pCit7Citwcml2YXRlOgordHlwZWRlZiB0eXBlbmFtZSBtcGw6OmJlZ2luPFM+IDo6dHlwZSBpdGVyXzA7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8wID4gOjp0eXBlIGl0ZXJfMTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzEgPiA6OnR5cGUgaXRlcl8yOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMiA+IDo6dHlwZSBpdGVyXzM7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zID4gOjp0eXBlIGl0ZXJfNDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzQgPiA6OnR5cGUgaXRlcl81OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNSA+IDo6dHlwZSBpdGVyXzY7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl82ID4gOjp0eXBlIGl0ZXJfNzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzcgPiA6OnR5cGUgaXRlcl84OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfOCA+IDo6dHlwZSBpdGVyXzk7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl85ID4gOjp0eXBlIGl0ZXJfMTA7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xMCA+IDo6dHlwZSBpdGVyXzExOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTEgPiA6OnR5cGUgaXRlcl8xMjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzEyID4gOjp0eXBlIGl0ZXJfMTM7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xMyA+IDo6dHlwZSBpdGVyXzE0OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTQgPiA6OnR5cGUgaXRlcl8xNTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE1ID4gOjp0eXBlIGl0ZXJfMTY7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xNiA+IDo6dHlwZSBpdGVyXzE3OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTcgPiA6OnR5cGUgaXRlcl8xODsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE4ID4gOjp0eXBlIGl0ZXJfMTk7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xOSA+IDo6dHlwZSBpdGVyXzIwOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjAgPiA6OnR5cGUgaXRlcl8yMTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIxID4gOjp0eXBlIGl0ZXJfMjI7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yMiA+IDo6dHlwZSBpdGVyXzIzOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjMgPiA6OnR5cGUgaXRlcl8yNDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzI0ID4gOjp0eXBlIGl0ZXJfMjU7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yNSA+IDo6dHlwZSBpdGVyXzI2OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjYgPiA6OnR5cGUgaXRlcl8yNzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzI3ID4gOjp0eXBlIGl0ZXJfMjg7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yOCA+IDo6dHlwZSBpdGVyXzI5OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjkgPiA6OnR5cGUgaXRlcl8zMDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzMwID4gOjp0eXBlIGl0ZXJfMzE7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zMSA+IDo6dHlwZSBpdGVyXzMyOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMzIgPiA6OnR5cGUgaXRlcl8zMzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzMzID4gOjp0eXBlIGl0ZXJfMzQ7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zNCA+IDo6dHlwZSBpdGVyXzM1OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMzUgPiA6OnR5cGUgaXRlcl8zNjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzM2ID4gOjp0eXBlIGl0ZXJfMzc7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zNyA+IDo6dHlwZSBpdGVyXzM4OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMzggPiA6OnR5cGUgaXRlcl8zOTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzM5ID4gOjp0eXBlIGl0ZXJfNDA7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl80MCA+IDo6dHlwZSBpdGVyXzQxOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNDEgPiA6OnR5cGUgaXRlcl80MjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzQyID4gOjp0eXBlIGl0ZXJfNDM7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl80MyA+IDo6dHlwZSBpdGVyXzQ0OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNDQgPiA6OnR5cGUgaXRlcl80NTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzQ1ID4gOjp0eXBlIGl0ZXJfNDY7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl80NiA+IDo6dHlwZSBpdGVyXzQ3OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNDcgPiA6OnR5cGUgaXRlcl80ODsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzQ4ID4gOjp0eXBlIGl0ZXJfNDk7CitwdWJsaWM6Cit0eXBlZGVmIHR5cGVuYW1lIGRldGFpbDo6Qk9PU1RfRlRfbWFrZV90eXBlKEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLDQ5KSAKKzwgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8wID4gOjp0eXBlIAorLCB0eXBlbmFtZSBkZXRhaWw6OmN2X3RyYWl0czwgCit0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzEgPiA6OnR5cGUgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzQgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl81ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzcgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl84ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfOSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzEwID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTEgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzEzID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTQgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xNSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE2ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTcgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xOCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE5ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjAgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yMSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIyID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjMgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yNCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzI1ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjYgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yNyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzI4ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjkgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zMCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzMxID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzIgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zMyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzM0ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzUgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zNiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzM3ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzggPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zOSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzQwID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNDEgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl80MiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzQzID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNDQgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl80NSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzQ2ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNDcgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl80OCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzQ5ID4gOjp0eXBlCis+IDo6dHlwZSB0eXBlOworfTsKK307Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgUiAsIHR5cGVuYW1lIFQwICwgdHlwZW5hbWUgVDEgLCB0eXBlbmFtZSBUMiAsIHR5cGVuYW1lIFQzICwgdHlwZW5hbWUgVDQgLCB0eXBlbmFtZSBUNSAsIHR5cGVuYW1lIFQ2ICwgdHlwZW5hbWUgVDcgLCB0eXBlbmFtZSBUOCAsIHR5cGVuYW1lIFQ5ICwgdHlwZW5hbWUgVDEwICwgdHlwZW5hbWUgVDExICwgdHlwZW5hbWUgVDEyICwgdHlwZW5hbWUgVDEzICwgdHlwZW5hbWUgVDE0ICwgdHlwZW5hbWUgVDE1ICwgdHlwZW5hbWUgVDE2ICwgdHlwZW5hbWUgVDE3ICwgdHlwZW5hbWUgVDE4ICwgdHlwZW5hbWUgVDE5ICwgdHlwZW5hbWUgVDIwICwgdHlwZW5hbWUgVDIxICwgdHlwZW5hbWUgVDIyICwgdHlwZW5hbWUgVDIzICwgdHlwZW5hbWUgVDI0ICwgdHlwZW5hbWUgVDI1ICwgdHlwZW5hbWUgVDI2ICwgdHlwZW5hbWUgVDI3ICwgdHlwZW5hbWUgVDI4ICwgdHlwZW5hbWUgVDI5ICwgdHlwZW5hbWUgVDMwICwgdHlwZW5hbWUgVDMxICwgdHlwZW5hbWUgVDMyICwgdHlwZW5hbWUgVDMzICwgdHlwZW5hbWUgVDM0ICwgdHlwZW5hbWUgVDM1ICwgdHlwZW5hbWUgVDM2ICwgdHlwZW5hbWUgVDM3ICwgdHlwZW5hbWUgVDM4ICwgdHlwZW5hbWUgVDM5ICwgdHlwZW5hbWUgVDQwICwgdHlwZW5hbWUgVDQxICwgdHlwZW5hbWUgVDQyICwgdHlwZW5hbWUgVDQzICwgdHlwZW5hbWUgVDQ0ICwgdHlwZW5hbWUgVDQ1ICwgdHlwZW5hbWUgVDQ2ICwgdHlwZW5hbWUgVDQ3ICwgdHlwZW5hbWUgVDQ4ICwgdHlwZW5hbWUgVDQ5ID4KK3N0cnVjdCBCT09TVF9GVF9tYWtlX3R5cGUoQk9PU1RfRlRfZmxhZ3MsQk9PU1RfRlRfY2NfaWQsNTApCit7Cit0eXBlZGVmIEJPT1NUX0ZUX3N5bnRheChCT09TVF9GVF9jYyx0eXBlIEJPT1NUX1BQX0VNUFRZKSAoVDEgLCBUMiAsIFQzICwgVDQgLCBUNSAsIFQ2ICwgVDcgLCBUOCAsIFQ5ICwgVDEwICwgVDExICwgVDEyICwgVDEzICwgVDE0ICwgVDE1ICwgVDE2ICwgVDE3ICwgVDE4ICwgVDE5ICwgVDIwICwgVDIxICwgVDIyICwgVDIzICwgVDI0ICwgVDI1ICwgVDI2ICwgVDI3ICwgVDI4ICwgVDI5ICwgVDMwICwgVDMxICwgVDMyICwgVDMzICwgVDM0ICwgVDM1ICwgVDM2ICwgVDM3ICwgVDM4ICwgVDM5ICwgVDQwICwgVDQxICwgVDQyICwgVDQzICwgVDQ0ICwgVDQ1ICwgVDQ2ICwgVDQ3ICwgVDQ4ICwgVDQ5IEJPT1NUX0ZUX2VsbCkgQk9PU1RfRlRfY3YgOworfTsKK3RlbXBsYXRlPCA+IAorc3RydWN0IHN5bnRoZXNpemVfaW1wbF9vPCBCT09TVF9GVF9mbGFncywgQk9PU1RfRlRfY2NfaWQsIDUxID4gCit7IAordGVtcGxhdGU8dHlwZW5hbWUgUz4gc3RydWN0IHN5bnRoZXNpemVfaW1wbF9pCit7Citwcml2YXRlOgordHlwZWRlZiB0eXBlbmFtZSBtcGw6OmJlZ2luPFM+IDo6dHlwZSBpdGVyXzA7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8wID4gOjp0eXBlIGl0ZXJfMTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzEgPiA6OnR5cGUgaXRlcl8yOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMiA+IDo6dHlwZSBpdGVyXzM7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zID4gOjp0eXBlIGl0ZXJfNDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzQgPiA6OnR5cGUgaXRlcl81OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNSA+IDo6dHlwZSBpdGVyXzY7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl82ID4gOjp0eXBlIGl0ZXJfNzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzcgPiA6OnR5cGUgaXRlcl84OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfOCA+IDo6dHlwZSBpdGVyXzk7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl85ID4gOjp0eXBlIGl0ZXJfMTA7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xMCA+IDo6dHlwZSBpdGVyXzExOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTEgPiA6OnR5cGUgaXRlcl8xMjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzEyID4gOjp0eXBlIGl0ZXJfMTM7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xMyA+IDo6dHlwZSBpdGVyXzE0OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTQgPiA6OnR5cGUgaXRlcl8xNTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE1ID4gOjp0eXBlIGl0ZXJfMTY7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xNiA+IDo6dHlwZSBpdGVyXzE3OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMTcgPiA6OnR5cGUgaXRlcl8xODsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzE4ID4gOjp0eXBlIGl0ZXJfMTk7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8xOSA+IDo6dHlwZSBpdGVyXzIwOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjAgPiA6OnR5cGUgaXRlcl8yMTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzIxID4gOjp0eXBlIGl0ZXJfMjI7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yMiA+IDo6dHlwZSBpdGVyXzIzOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjMgPiA6OnR5cGUgaXRlcl8yNDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzI0ID4gOjp0eXBlIGl0ZXJfMjU7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yNSA+IDo6dHlwZSBpdGVyXzI2OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjYgPiA6OnR5cGUgaXRlcl8yNzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzI3ID4gOjp0eXBlIGl0ZXJfMjg7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8yOCA+IDo6dHlwZSBpdGVyXzI5OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMjkgPiA6OnR5cGUgaXRlcl8zMDsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzMwID4gOjp0eXBlIGl0ZXJfMzE7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zMSA+IDo6dHlwZSBpdGVyXzMyOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMzIgPiA6OnR5cGUgaXRlcl8zMzsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzMzID4gOjp0eXBlIGl0ZXJfMzQ7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zNCA+IDo6dHlwZSBpdGVyXzM1OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMzUgPiA6OnR5cGUgaXRlcl8zNjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzM2ID4gOjp0eXBlIGl0ZXJfMzc7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl8zNyA+IDo6dHlwZSBpdGVyXzM4OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfMzggPiA6OnR5cGUgaXRlcl8zOTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzM5ID4gOjp0eXBlIGl0ZXJfNDA7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl80MCA+IDo6dHlwZSBpdGVyXzQxOwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNDEgPiA6OnR5cGUgaXRlcl80MjsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzQyID4gOjp0eXBlIGl0ZXJfNDM7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl80MyA+IDo6dHlwZSBpdGVyXzQ0OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNDQgPiA6OnR5cGUgaXRlcl80NTsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzQ1ID4gOjp0eXBlIGl0ZXJfNDY7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl80NiA+IDo6dHlwZSBpdGVyXzQ3OwordHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IGl0ZXJfNDcgPiA6OnR5cGUgaXRlcl80ODsKK3R5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PCBpdGVyXzQ4ID4gOjp0eXBlIGl0ZXJfNDk7Cit0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDwgaXRlcl80OSA+IDo6dHlwZSBpdGVyXzUwOworcHVibGljOgordHlwZWRlZiB0eXBlbmFtZSBkZXRhaWw6OkJPT1NUX0ZUX21ha2VfdHlwZShCT09TVF9GVF9mbGFncyxCT09TVF9GVF9jY19pZCw1MCkgCis8IHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMCA+IDo6dHlwZSAKKywgdHlwZW5hbWUgZGV0YWlsOjpjdl90cmFpdHM8IAordHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xID4gOjp0eXBlID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzMgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl80ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzYgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl83ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfOCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzkgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzExID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTIgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xMyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE0ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTUgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xNiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzE3ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMTggPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8xOSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIwID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjEgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yMiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzIzID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjQgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yNSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzI2ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMjcgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8yOCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzI5ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzAgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zMSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzMyID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzMgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zNCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzM1ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzYgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl8zNyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzM4ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfMzkgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl80MCA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzQxID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNDIgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl80MyA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzQ0ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNDUgPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl80NiA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzQ3ID4gOjp0eXBlCissIHR5cGVuYW1lIG1wbDo6ZGVyZWY8IGl0ZXJfNDggPiA6OnR5cGUKKywgdHlwZW5hbWUgbXBsOjpkZXJlZjwgaXRlcl80OSA+IDo6dHlwZQorLCB0eXBlbmFtZSBtcGw6OmRlcmVmPCBpdGVyXzUwID4gOjp0eXBlCis+IDo6dHlwZSB0eXBlOworfTsKK307CisjIHVuZGVmIEJPT1NUX0ZUX21ha2VfdHlwZQorIyB1bmRlZiBCT09TVF9GVF9tYWtlX3R5cGVfaW1wbAorCmRpZmYgLS1naXQgYS9uZG5ib29zdC9mdW5jdGlvbl90eXBlcy9kZXRhaWwvc3ludGhlc2l6ZV9pbXBsL21hc3Rlci5ocHAgYi9uZG5ib29zdC9mdW5jdGlvbl90eXBlcy9kZXRhaWwvc3ludGhlc2l6ZV9pbXBsL21hc3Rlci5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmEwNjc4OQotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L2Z1bmN0aW9uX3R5cGVzL2RldGFpbC9zeW50aGVzaXplX2ltcGwvbWFzdGVyLmhwcApAQCAtMCwwICsxLDg3IEBACisKKy8vIChDKSBDb3B5cmlnaHQgVG9iaWFzIFNjaHdpbmdlcgorLy8KKy8vIFVzZSBtb2RpZmljYXRpb24gYW5kIGRpc3RyaWJ1dGlvbiBhcmUgc3ViamVjdCB0byB0aGUgYm9vc3QgU29mdHdhcmUgTGljZW5zZSwKKy8vIFZlcnNpb24gMS4wLiAoU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkuCisKKy8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKy8vIG5vIGluY2x1ZGUgZ3VhcmRzLCB0aGlzIGZpbGUgaXMgaW50ZW5kZWQgZm9yIG11bHRpcGxlIGluY2x1c2lvbgorCisjaWYgICBCT09TVF9GVF9BUklUWV9MT09QX1BSRUZJWAorCisjICAgaWZuZGVmIEJPT1NUX0ZUX0RFVEFJTF9TWU5USEVTSVpFX0lNUExfTUFTVEVSX0hQUF9JTkNMVURFRAorIyAgIGRlZmluZSBCT09TVF9GVF9ERVRBSUxfU1lOVEhFU0laRV9JTVBMX01BU1RFUl9IUFBfSU5DTFVERUQKKyMgICAgIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9jYXQuaHBwPgorIyAgICAgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL2FyaXRobWV0aWMvZGVjLmhwcD4KKyMgICAgIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9pdGVyYXRpb24vbG9jYWwuaHBwPgorIyAgICAgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL2ZhY2lsaXRpZXMvZW1wdHkuaHBwPgorIyAgICAgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL2ZhY2lsaXRpZXMvaWRlbnRpdHkuaHBwPgorIyAgIGVuZGlmCisKKyMgICBkZWZpbmUgQk9PU1RfRlRfdHlwZV9uYW1lIHR5cGUKKworIyAgIGlmZGVmIEJPT1NUX0ZUX2ZsYWdzCisjICAgICBkZWZpbmUgQk9PU1RfRlRfbWFrZV90eXBlKGZsYWdzLGNjLGFyaXR5KSBCT09TVF9GVF9tYWtlX3R5cGVfaW1wbChmbGFncyxjYyxhcml0eSkKKyMgICAgIGRlZmluZSBCT09TVF9GVF9tYWtlX3R5cGVfaW1wbChmbGFncyxjYyxhcml0eSkgbWFrZV90eXBlXyAjIyBmbGFncyAjIyBfICMjIGNjICMjIF8gIyMgYXJpdHkKKyMgICBlbHNlCitCT09TVF9QUF9FWFBBTkQoIykgZGVmaW5lIEJPT1NUX0ZUX21ha2VfdHlwZShmbGFncyxjYyxhcml0eSkgQk9PU1RfRlRfbWFrZV90eXBlX2ltcGwoZmxhZ3MsY2MsYXJpdHkpCitCT09TVF9QUF9FWFBBTkQoIykgZGVmaW5lIEJPT1NUX0ZUX21ha2VfdHlwZV9pbXBsKGZsYWdzLGNjLGFyaXR5KSBtYWtlX3R5cGVfICMjIGZsYWdzICMjIF8gIyMgY2MgIyMgXyAjIyBhcml0eQorIyAgIGVuZGlmCisKKyMgICBkZWZpbmUgQk9PU1RfRlRfaXRlcihpKSBCT09TVF9QUF9DQVQoaXRlcl8saSkKKworI2VsaWYgQk9PU1RfRlRfQVJJVFlfTE9PUF9JU19JVEVSQVRJTkcKKwordGVtcGxhdGU8IEJPT1NUX0ZUX3RwbGFyZ3MoQk9PU1RfUFBfSURFTlRJVFkodHlwZW5hbWUpKSA+CitzdHJ1Y3QgQk9PU1RfRlRfbWFrZV90eXBlKEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLEJPT1NUX0ZUX2FyaXR5KQoreworICB0eXBlZGVmIEJPT1NUX0ZUX3R5cGUgOworfTsKKwordGVtcGxhdGU8PiAKK3N0cnVjdCBzeW50aGVzaXplX2ltcGxfbzwgQk9PU1RfRlRfZmxhZ3MsIEJPT1NUX0ZUX2NjX2lkLCBCT09TVF9GVF9uID4gCit7IAorICB0ZW1wbGF0ZTx0eXBlbmFtZSBTPiBzdHJ1Y3Qgc3ludGhlc2l6ZV9pbXBsX2kKKyAgeworICBwcml2YXRlOgorICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpiZWdpbjxTPjo6dHlwZSBCT09TVF9GVF9pdGVyKDApOworIyAgIGlmIEJPT1NUX0ZUX24gPiAxCisjICAgICBkZWZpbmUgQk9PU1RfUFBfTE9DQUxfTUFDUk8oaSkgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8IFwKKyAgICAgICAgICBCT09TVF9GVF9pdGVyKEJPT1NUX1BQX0RFQyhpKSkgPjo6dHlwZSBCT09TVF9GVF9pdGVyKGkpOworIyAgICAgZGVmaW5lIEJPT1NUX1BQX0xPQ0FMX0xJTUlUUyAoMSxCT09TVF9GVF9uLTEpCisjICAgICBpbmNsdWRlIEJPT1NUX1BQX0xPQ0FMX0lURVJBVEUoKQorIyAgIGVuZGlmCisgIHB1YmxpYzoKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGRldGFpbDo6Qk9PU1RfRlRfbWFrZV90eXBlKEJPT1NUX0ZUX2ZsYWdzLEJPT1NUX0ZUX2NjX2lkLEJPT1NUX0ZUX2FyaXR5KSAKKyAgICA8IHR5cGVuYW1lIG1wbDo6ZGVyZWY8IEJPT1NUX0ZUX2l0ZXIoMCkgPjo6dHlwZSAKKyMgICBpZiBCT09TVF9GVF9tZnAKKyAgICAsIHR5cGVuYW1lIGRldGFpbDo6Y3ZfdHJhaXRzPCAKKyAgICAgICAgICB0eXBlbmFtZSBtcGw6OmRlcmVmPCBCT09TVF9GVF9pdGVyKDEpID46OnR5cGUgPjo6dHlwZQorIyAgIGVuZGlmCisjICAgaWYgQk9PU1RfRlRfbiA+IChCT09TVF9GVF9tZnArMSkKKyMgICAgIGRlZmluZSBCT09TVF9QUF9MT0NBTF9MSU1JVFMgKEJPT1NUX0ZUX21mcCsxLEJPT1NUX0ZUX24tMSkKKyMgICAgIGRlZmluZSBCT09TVF9QUF9MT0NBTF9NQUNSTyhpKSBcCisgICAgICAgICwgdHlwZW5hbWUgbXBsOjpkZXJlZjwgQk9PU1RfRlRfaXRlcihpKSA+Ojp0eXBlCisjICAgICBpbmNsdWRlIEJPT1NUX1BQX0xPQ0FMX0lURVJBVEUoKQorIyAgIGVuZGlmCisgICAgPjo6dHlwZSB0eXBlOworICB9OworfTsKKworI2VsaWYgQk9PU1RfRlRfQVJJVFlfTE9PUF9TVUZGSVgKKworIyAgIGlmZGVmIEJPT1NUX0ZUX2ZsYWdzCisjICAgICB1bmRlZiBCT09TVF9GVF9tYWtlX3R5cGUKKyMgICAgIHVuZGVmIEJPT1NUX0ZUX21ha2VfdHlwZV9pbXBsCisjICAgZWxzZQorQk9PU1RfUFBfRVhQQU5EKCMpIHVuZGVmIEJPT1NUX0ZUX21ha2VfdHlwZQorQk9PU1RfUFBfRVhQQU5EKCMpIHVuZGVmIEJPT1NUX0ZUX21ha2VfdHlwZV9pbXBsCisjICAgZW5kaWYKKyMgICB1bmRlZiBCT09TVF9GVF9pdGVyCisjICAgdW5kZWYgQk9PU1RfRlRfdHlwZV9uYW1lCisKKyNlbHNlCisjICAgZXJyb3IgImF0dGVtcHQgdG8gdXNlIGFyaXR5IGxvb3AgbWFzdGVyIGZpbGUgd2l0aG91dCBsb29wIgorI2VuZGlmCisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L2Z1bmN0aW9uX3R5cGVzL2RldGFpbC90b19zZXF1ZW5jZS5ocHAgYi9uZG5ib29zdC9mdW5jdGlvbl90eXBlcy9kZXRhaWwvdG9fc2VxdWVuY2UuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRlNTFhNGIKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9mdW5jdGlvbl90eXBlcy9kZXRhaWwvdG9fc2VxdWVuY2UuaHBwCkBAIC0wLDAgKzEsNDcgQEAKKworLy8gKEMpIENvcHlyaWdodCBUb2JpYXMgU2Nod2luZ2VyCisvLworLy8gVXNlIG1vZGlmaWNhdGlvbiBhbmQgZGlzdHJpYnV0aW9uIGFyZSBzdWJqZWN0IHRvIHRoZSBib29zdCBTb2Z0d2FyZSBMaWNlbnNlLAorLy8gVmVyc2lvbiAxLjAuIChTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KS4KKworLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworI2lmbmRlZiBCT09TVF9GVF9ERVRBSUxfVE9fU0VRVUVOQ0VfSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX0ZUX0RFVEFJTF9UT19TRVFVRU5DRV9IUFBfSU5DTFVERUQKKworI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9ldmFsX2lmLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvaWRlbnRpdHkuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9pc19zZXF1ZW5jZS5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL3BsYWNlaG9sZGVycy5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvYWRkX3JlZmVyZW5jZS5ocHA+CisKKyNpbmNsdWRlIDxuZG5ib29zdC9mdW5jdGlvbl90eXBlcy9pc19jYWxsYWJsZV9idWlsdGluLmhwcD4KKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIGZ1bmN0aW9uX3R5cGVzIHsgbmFtZXNwYWNlIGRldGFpbCB7CisKKy8vIHdyYXAgZmlyc3QgYXJndW1lbnRzIGluIGNvbXBvbmVudHMsIGlmIGNhbGxhYmxlIGJ1aWx0aW4gdHlwZQordGVtcGxhdGU8dHlwZW5hbWUgVD4KK3N0cnVjdCB0b19zZXF1ZW5jZQoreworICB0eXBlZGVmIHR5cGVuYW1lCisgICBtcGw6OmV2YWxfaWYKKyAgIDwgaXNfY2FsbGFibGVfYnVpbHRpbjxUPgorICAgLCB0b19zZXF1ZW5jZTwgY29tcG9uZW50czxUPiA+CisgICAsIG1wbDo6aWRlbnRpdHk8IFQgPgorICAgPjo6dHlwZQorICB0eXBlOworfTsKKworI2lmbmRlZiBCT09TVF9OT19URU1QTEFURV9QQVJUSUFMX1NQRUNJQUxJWkFUSU9OCisvLyByZWR1Y2UgdGVtcGxhdGUgaW5zdGFudGlhdGlvbnMsIGlmIHBvc3NpYmxlCit0ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFtZSBVPgorc3RydWN0IHRvX3NlcXVlbmNlPCBjb21wb25lbnRzPFQsVT4gPiAKK3sKKyAgdHlwZWRlZiB0eXBlbmFtZSBjb21wb25lbnRzPFQsVT46OnR5cGVzIHR5cGU7Cit9OworI2VuZGlmCisKK30gfSB9IC8vIG5hbWVzcGFjZSA6Om5kbmJvb3N0OjpmdW5jdGlvbl90eXBlczo6ZGV0YWlsCisKKyNlbmRpZgorCmRpZmYgLS1naXQgYS9uZG5ib29zdC9mdW5jdGlvbl90eXBlcy9mdW5jdGlvbl90eXBlLmhwcCBiL25kbmJvb3N0L2Z1bmN0aW9uX3R5cGVzL2Z1bmN0aW9uX3R5cGUuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJhZDkwYmEKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9mdW5jdGlvbl90eXBlcy9mdW5jdGlvbl90eXBlLmhwcApAQCAtMCwwICsxLDI5IEBACisKKy8vIChDKSBDb3B5cmlnaHQgVG9iaWFzIFNjaHdpbmdlcgorLy8KKy8vIFVzZSBtb2RpZmljYXRpb24gYW5kIGRpc3RyaWJ1dGlvbiBhcmUgc3ViamVjdCB0byB0aGUgYm9vc3QgU29mdHdhcmUgTGljZW5zZSwKKy8vIFZlcnNpb24gMS4wLiAoU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkuCisKKy8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKyNpZm5kZWYgQk9PU1RfRlRfRlVOQ1RJT05fVFlQRV9IUFBfSU5DTFVERUQKKyNkZWZpbmUgQk9PU1RfRlRfRlVOQ1RJT05fVFlQRV9IUFBfSU5DTFVERUQKKworI2luY2x1ZGUgPG5kbmJvb3N0L2Z1bmN0aW9uX3R5cGVzL2RldGFpbC9zeW50aGVzaXplLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9mdW5jdGlvbl90eXBlcy9kZXRhaWwvdG9fc2VxdWVuY2UuaHBwPgorCituYW1lc3BhY2UgbmRuYm9vc3QgCit7IAorICBuYW1lc3BhY2UgZnVuY3Rpb25fdHlwZXMgCisgIHsKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUeXBlcywgdHlwZW5hbWUgVGFnID0gbnVsbF90YWc+IHN0cnVjdCBmdW5jdGlvbl90eXBlCisgICAgICA6IGRldGFpbDo6c3ludGhlc2l6ZV9mdW5jPHR5cGVuYW1lIGRldGFpbDo6dG9fc2VxdWVuY2U8VHlwZXM+Ojp0eXBlLCBUYWc+CisgICAgeworICAgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgyLGZ1bmN0aW9uX3R5cGUsKFR5cGVzLFRhZykpCisgICAgfTsKKyAgfQorICBCT09TVF9UVF9BVVhfVEVNUExBVEVfQVJJVFlfU1BFQygyLGZ1bmN0aW9uX3R5cGVzOjpmdW5jdGlvbl90eXBlKQorfQorCisjZW5kaWYKKyAKZGlmZiAtLWdpdCBhL25kbmJvb3N0L2Z1bmN0aW9uX3R5cGVzL2lzX2NhbGxhYmxlX2J1aWx0aW4uaHBwIGIvbmRuYm9vc3QvZnVuY3Rpb25fdHlwZXMvaXNfY2FsbGFibGVfYnVpbHRpbi5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2QxMzhlYQotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L2Z1bmN0aW9uX3R5cGVzL2lzX2NhbGxhYmxlX2J1aWx0aW4uaHBwCkBAIC0wLDAgKzEsMzUgQEAKKworLy8gKEMpIENvcHlyaWdodCBUb2JpYXMgU2Nod2luZ2VyCisvLworLy8gVXNlIG1vZGlmaWNhdGlvbiBhbmQgZGlzdHJpYnV0aW9uIGFyZSBzdWJqZWN0IHRvIHRoZSBib29zdCBTb2Z0d2FyZSBMaWNlbnNlLAorLy8gVmVyc2lvbiAxLjAuIChTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KS4KKworLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworI2lmbmRlZiBCT09TVF9GVF9JU19DQUxMQUJMRV9CVUlMVElOX0hQUF9JTkNMVURFRAorI2RlZmluZSBCT09TVF9GVF9JU19DQUxMQUJMRV9CVUlMVElOX0hQUF9JTkNMVURFRAorCisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vbGFtYmRhX3N1cHBvcnQuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2RldGFpbC90ZW1wbGF0ZV9hcml0eV9zcGVjLmhwcD4KKworI2luY2x1ZGUgPG5kbmJvb3N0L2Z1bmN0aW9uX3R5cGVzL2NvbXBvbmVudHMuaHBwPgorCituYW1lc3BhY2UgbmRuYm9vc3QgCit7IAorICBuYW1lc3BhY2UgZnVuY3Rpb25fdHlwZXMgCisgIHsKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVCwgdHlwZW5hbWUgVGFnID0gbnVsbF90YWcgPiAKKyAgICBzdHJ1Y3QgaXNfY2FsbGFibGVfYnVpbHRpbgorICAgICAgOiBmdW5jdGlvbl90eXBlczo6cmVwcmVzZW50cworICAgICAgICA8IGZ1bmN0aW9uX3R5cGVzOjpjb21wb25lbnRzPFQ+CisgICAgICAgICwgZnVuY3Rpb25fdHlwZXM6OnRhZzxUYWcsIGRldGFpbDo6Y2FsbGFibGVfYnVpbHRpbl90YWc+IAorICAgICAgICA+CisgICAgeyAKKyAgICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoMixpc19jYWxsYWJsZV9idWlsdGluLChULFRhZykpCisgICAgfTsKKyAgfQorICBCT09TVF9UVF9BVVhfVEVNUExBVEVfQVJJVFlfU1BFQygyLGZ1bmN0aW9uX3R5cGVzOjppc19jYWxsYWJsZV9idWlsdGluKQorfQorCisjZW5kaWYKKwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvZnVuY3Rpb25fdHlwZXMvaXNfZnVuY3Rpb24uaHBwIGIvbmRuYm9vc3QvZnVuY3Rpb25fdHlwZXMvaXNfZnVuY3Rpb24uaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY2ZWIwMjAKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9mdW5jdGlvbl90eXBlcy9pc19mdW5jdGlvbi5ocHAKQEAgLTAsMCArMSwzNCBAQAorCisvLyAoQykgQ29weXJpZ2h0IFRvYmlhcyBTY2h3aW5nZXIKKy8vCisvLyBVc2UgbW9kaWZpY2F0aW9uIGFuZCBkaXN0cmlidXRpb24gYXJlIHN1YmplY3QgdG8gdGhlIGJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsCisvLyBWZXJzaW9uIDEuMC4gKFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpLgorLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworI2lmbmRlZiBCT09TVF9GVF9JU19GVU5DVElPTl9IUFBfSU5DTFVERUQKKyNkZWZpbmUgQk9PU1RfRlRfSVNfRlVOQ1RJT05fSFBQX0lOQ0xVREVECisKKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9sYW1iZGFfc3VwcG9ydC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvZGV0YWlsL3RlbXBsYXRlX2FyaXR5X3NwZWMuaHBwPgorCisjaW5jbHVkZSA8bmRuYm9vc3QvZnVuY3Rpb25fdHlwZXMvY29tcG9uZW50cy5ocHA+CisKK25hbWVzcGFjZSBuZG5ib29zdCAKK3sgCisgIG5hbWVzcGFjZSBmdW5jdGlvbl90eXBlcyAKKyAgeworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBULCB0eXBlbmFtZSBUYWcgPSBudWxsX3RhZyA+IAorICAgIHN0cnVjdCBpc19mdW5jdGlvbgorICAgICAgOiBmdW5jdGlvbl90eXBlczo6cmVwcmVzZW50cworICAgICAgICA8IGZ1bmN0aW9uX3R5cGVzOjpjb21wb25lbnRzPFQ+CisgICAgICAgICwgZnVuY3Rpb25fdHlwZXM6OnRhZzxUYWcgLGRldGFpbDo6ZnVuY3Rpb25fdGFnPiAKKyAgICAgICAgPgorICAgIHsgCisgICAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKDIsaXNfZnVuY3Rpb24sKFQsVGFnKSkKKyAgICB9OworICB9CisgIEJPT1NUX1RUX0FVWF9URU1QTEFURV9BUklUWV9TUEVDKDIsZnVuY3Rpb25fdHlwZXM6OmlzX2Z1bmN0aW9uKQorfSAKKworI2VuZGlmCisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L2Z1bmN0aW9uX3R5cGVzL2lzX2Z1bmN0aW9uX3BvaW50ZXIuaHBwIGIvbmRuYm9vc3QvZnVuY3Rpb25fdHlwZXMvaXNfZnVuY3Rpb25fcG9pbnRlci5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjg1M2FhMwotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L2Z1bmN0aW9uX3R5cGVzL2lzX2Z1bmN0aW9uX3BvaW50ZXIuaHBwCkBAIC0wLDAgKzEsMzQgQEAKKworLy8gKEMpIENvcHlyaWdodCBUb2JpYXMgU2Nod2luZ2VyCisvLworLy8gVXNlIG1vZGlmaWNhdGlvbiBhbmQgZGlzdHJpYnV0aW9uIGFyZSBzdWJqZWN0IHRvIHRoZSBib29zdCBTb2Z0d2FyZSBMaWNlbnNlLAorLy8gVmVyc2lvbiAxLjAuIChTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KS4KKworLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworI2lmbmRlZiBCT09TVF9GVF9JU19GVU5DVElPTl9QT0lOVEVSX0hQUF9JTkNMVURFRAorI2RlZmluZSBCT09TVF9GVF9JU19GVU5DVElPTl9QT0lOVEVSX0hQUF9JTkNMVURFRAorCisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vbGFtYmRhX3N1cHBvcnQuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2RldGFpbC90ZW1wbGF0ZV9hcml0eV9zcGVjLmhwcD4KKworI2luY2x1ZGUgPG5kbmJvb3N0L2Z1bmN0aW9uX3R5cGVzL2NvbXBvbmVudHMuaHBwPgorCituYW1lc3BhY2UgbmRuYm9vc3QgCit7IAorICBuYW1lc3BhY2UgZnVuY3Rpb25fdHlwZXMgCisgIHsKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVCwgdHlwZW5hbWUgVGFnID0gbnVsbF90YWcgPiAKKyAgICBzdHJ1Y3QgaXNfZnVuY3Rpb25fcG9pbnRlcgorICAgICAgOiBmdW5jdGlvbl90eXBlczo6cmVwcmVzZW50cworICAgICAgICA8IGZ1bmN0aW9uX3R5cGVzOjpjb21wb25lbnRzPFQ+CisgICAgICAgICwgZnVuY3Rpb25fdHlwZXM6OnRhZzxUYWcgLGRldGFpbDo6cG9pbnRlcl90YWc+IAorICAgICAgICA+CisgICAgeyAKKyAgICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoMixpc19mdW5jdGlvbl9wb2ludGVyLChULFRhZykpCisgICAgfTsKKyAgfQorICBCT09TVF9UVF9BVVhfVEVNUExBVEVfQVJJVFlfU1BFQygyLGZ1bmN0aW9uX3R5cGVzOjppc19mdW5jdGlvbl9wb2ludGVyKQorfQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL25kbmJvb3N0L2Z1bmN0aW9uX3R5cGVzL2lzX2Z1bmN0aW9uX3JlZmVyZW5jZS5ocHAgYi9uZG5ib29zdC9mdW5jdGlvbl90eXBlcy9pc19mdW5jdGlvbl9yZWZlcmVuY2UuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYxZDcwNTAKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9mdW5jdGlvbl90eXBlcy9pc19mdW5jdGlvbl9yZWZlcmVuY2UuaHBwCkBAIC0wLDAgKzEsMzQgQEAKKworLy8gKEMpIENvcHlyaWdodCBUb2JpYXMgU2Nod2luZ2VyCisvLworLy8gVXNlIG1vZGlmaWNhdGlvbiBhbmQgZGlzdHJpYnV0aW9uIGFyZSBzdWJqZWN0IHRvIHRoZSBib29zdCBTb2Z0d2FyZSBMaWNlbnNlLAorLy8gVmVyc2lvbiAxLjAuIChTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KS4KKworLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworI2lmbmRlZiBCT09TVF9GVF9JU19GVU5DVElPTl9SRUZFUkVOQ0VfSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX0ZUX0lTX0ZVTkNUSU9OX1JFRkVSRU5DRV9IUFBfSU5DTFVERUQKKworI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2xhbWJkYV9zdXBwb3J0LmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9kZXRhaWwvdGVtcGxhdGVfYXJpdHlfc3BlYy5ocHA+CisKKyNpbmNsdWRlIDxuZG5ib29zdC9mdW5jdGlvbl90eXBlcy9jb21wb25lbnRzLmhwcD4KKworbmFtZXNwYWNlIG5kbmJvb3N0IAoreyAKKyAgbmFtZXNwYWNlIGZ1bmN0aW9uX3R5cGVzIAorICB7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFQsIHR5cGVuYW1lIFRhZyA9IG51bGxfdGFnID4gCisgICAgc3RydWN0IGlzX2Z1bmN0aW9uX3JlZmVyZW5jZQorICAgICAgOiBmdW5jdGlvbl90eXBlczo6cmVwcmVzZW50cworICAgICAgICA8IGZ1bmN0aW9uX3R5cGVzOjpjb21wb25lbnRzPFQ+CisgICAgICAgICwgZnVuY3Rpb25fdHlwZXM6OnRhZzxUYWcgLGRldGFpbDo6cmVmZXJlbmNlX3RhZz4gPgorICAgIHsgCisgICAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKDIsaXNfZnVuY3Rpb25fcmVmZXJlbmNlLChULFRhZykpCisgICAgfTsKKyAgfQorICBCT09TVF9UVF9BVVhfVEVNUExBVEVfQVJJVFlfU1BFQygyLGZ1bmN0aW9uX3R5cGVzOjppc19mdW5jdGlvbl9yZWZlcmVuY2UpCit9IAorCisjZW5kaWYKKwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvZnVuY3Rpb25fdHlwZXMvcGFyYW1ldGVyX3R5cGVzLmhwcCBiL25kbmJvb3N0L2Z1bmN0aW9uX3R5cGVzL3BhcmFtZXRlcl90eXBlcy5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWUzNWIwMgotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L2Z1bmN0aW9uX3R5cGVzL3BhcmFtZXRlcl90eXBlcy5ocHAKQEAgLTAsMCArMSw1NSBAQAorCisvLyAoQykgQ29weXJpZ2h0IFRvYmlhcyBTY2h3aW5nZXIKKy8vCisvLyBVc2UgbW9kaWZpY2F0aW9uIGFuZCBkaXN0cmlidXRpb24gYXJlIHN1YmplY3QgdG8gdGhlIGJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsCisvLyBWZXJzaW9uIDEuMC4gKFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpLgorCisvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisjaWZuZGVmIEJPT1NUX0ZUX1BBUkFNRVRFUl9UWVBFU19IUFBfSU5DTFVERUQKKyNkZWZpbmUgQk9PU1RfRlRfUEFSQU1FVEVSX1RZUEVTX0hQUF9JTkNMVURFRAorCisjaW5jbHVkZSA8bmRuYm9vc3QvYmxhbmsuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9pZi5ocHA+CisKKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9sYW1iZGFfc3VwcG9ydC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvZGV0YWlsL3RlbXBsYXRlX2FyaXR5X3NwZWMuaHBwPgorCisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL3BvcF9mcm9udC5ocHA+CisKKyNpbmNsdWRlIDxuZG5ib29zdC9mdW5jdGlvbl90eXBlcy9pc19jYWxsYWJsZV9idWlsdGluLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9mdW5jdGlvbl90eXBlcy9jb21wb25lbnRzLmhwcD4KKworbmFtZXNwYWNlIG5kbmJvb3N0IAoreyAKKyAgbmFtZXNwYWNlIGZ1bmN0aW9uX3R5cGVzIAorICB7CisgICAgdXNpbmcgbXBsOjpwbGFjZWhvbGRlcnM6Ol87CisgCisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFQsIHR5cGVuYW1lIENsYXNzVHlwZVRyYW5zZm9ybSA9IGFkZF9yZWZlcmVuY2U8Xz4gPgorICAgIHN0cnVjdCBwYXJhbWV0ZXJfdHlwZXM7CisKKyAgICBuYW1lc3BhY2UgZGV0YWlsCisgICAgeworICAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUgQ2xhc3NUeXBlVHJhbnNmb3JtPiAKKyAgICAgIHN0cnVjdCBwYXJhbWV0ZXJfdHlwZXNfaW1wbAorICAgICAgICA6IG1wbDo6cG9wX2Zyb250CisgICAgICAgICAgPCB0eXBlbmFtZSBmdW5jdGlvbl90eXBlczo6Y29tcG9uZW50czxULENsYXNzVHlwZVRyYW5zZm9ybT46OnR5cGVzIAorICAgICAgICAgID46OnR5cGUKKyAgICAgIHsgfTsKKyAgICB9CisKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFtZSBDbGFzc1R5cGVUcmFuc2Zvcm0+IHN0cnVjdCBwYXJhbWV0ZXJfdHlwZXMKKyAgICAgIDogbXBsOjppZl8KKyAgICAgICAgPCBmdW5jdGlvbl90eXBlczo6aXNfY2FsbGFibGVfYnVpbHRpbjxUPgorICAgICAgICAsIGRldGFpbDo6cGFyYW1ldGVyX3R5cGVzX2ltcGw8VCxDbGFzc1R5cGVUcmFuc2Zvcm0+LCBuZG5ib29zdDo6YmxhbmsKKyAgICAgICAgPjo6dHlwZQorICAgIHsKKyAgICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoMixwYXJhbWV0ZXJfdHlwZXMsKFQsQ2xhc3NUeXBlVHJhbnNmb3JtKSkgCisgICAgfTsKKyAgfQorICBCT09TVF9UVF9BVVhfVEVNUExBVEVfQVJJVFlfU1BFQygyLGZ1bmN0aW9uX3R5cGVzOjpwYXJhbWV0ZXJfdHlwZXMpCit9CisKKyNlbmRpZgorCmRpZmYgLS1naXQgYS9uZG5ib29zdC9mdW5jdGlvbl90eXBlcy9wcm9wZXJ0eV90YWdzLmhwcCBiL25kbmJvb3N0L2Z1bmN0aW9uX3R5cGVzL3Byb3BlcnR5X3RhZ3MuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVmMTRkMzgKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9mdW5jdGlvbl90eXBlcy9wcm9wZXJ0eV90YWdzLmhwcApAQCAtMCwwICsxLDE0OSBAQAorCisvLyAoQykgQ29weXJpZ2h0IFRvYmlhcyBTY2h3aW5nZXIKKy8vCisvLyBVc2UgbW9kaWZpY2F0aW9uIGFuZCBkaXN0cmlidXRpb24gYXJlIHN1YmplY3QgdG8gdGhlIGJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsCisvLyBWZXJzaW9uIDEuMC4gKFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpLgorCisvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisjaWZuZGVmIEJPT1NUX0ZUX0RFVEFJTF9UQUdTX0hQUF9JTkNMVURFRAorI2RlZmluZSBCT09TVF9GVF9ERVRBSUxfVEFHU19IUFBfSU5DTFVERUQKKworI2luY2x1ZGUgPGNzdGRkZWY+CisKKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9pbnRlZ3JhbF9jb25zdGFudC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2JpdHhvci5ocHA+CisKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIGZ1bmN0aW9uX3R5cGVzIHsgCisKK25hbWVzcGFjZSBkZXRhaWwgCit7CisgIHR5cGVkZWYgbG9uZyBiaXRzX3Q7CisKKyAgdGVtcGxhdGU8Yml0c190IFZhbHVlPiBzdHJ1Y3QgY29uc3RhbnQgCisgICAgOiBuZG5ib29zdDo6aW50ZWdyYWxfY29uc3RhbnQ8Yml0c190LFZhbHVlPiAKKyAgeyB9OworCisgIHRlbXBsYXRlPGJpdHNfdCBCaXRzLCBiaXRzX3QgTWFzaz4gc3RydWN0IHByb3BlcnR5X3RhZyAKKyAgeworICAgIHR5cGVkZWYgY29uc3RhbnQ8Qml0cz4gYml0czsKKyAgICB0eXBlZGVmIGNvbnN0YW50PE1hc2s+IG1hc2s7CisgIH07CisKKyAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IGJpdHMgOiBUOjpiaXRzIHsgfTsKKyAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IG1hc2sgOiBUOjptYXNrIHsgfTsKKworICAvLyBmb3J3YXJkIGRlY2xhcmF0aW9uLCBkZWZpbmVkIGluIHBwX3RhZ3MKKyAgdGVtcGxhdGU8Yml0c190IEJpdHMsIGJpdHNfdCBDQ0lEPiBzdHJ1Y3QgZW5jb2RlX2JpdHNfaW1wbDsgCisKKyAgLy8gZm9yd2FyZCBkZWNsYXJhdGlvbiwgZGVmaW5lZCBpbiBwcF90YWdzCisgIHRlbXBsYXRlPGJpdHNfdCBMSFNfYml0cywgYml0c190IExIU19tYXNrLCAKKyAgICAgICAgICAgYml0c190IFJIU19iaXRzLCBiaXRzX3QgUkhTX21hc2s+IAorICBzdHJ1Y3QgdGFnX2ljZTsKKyAKKyAgLy8gZm9yd2FyZCBkZWNsYXJhdGlvbiwgZGVmaW5lZCBpbiByZXRhZ19kZWZhdWx0X2NjIAorICB0ZW1wbGF0ZTxjbGFzcyBUYWcsIGNsYXNzIFJlZ1RhZyA9IFRhZz4gc3RydWN0IHJldGFnX2RlZmF1bHRfY2M7IAorIAorICB0ZW1wbGF0ZTxiaXRzX3QgQml0cywgYml0c190IENDSUQ+IHN0cnVjdCBlbmNvZGVfYml0cworICAgIDogY29uc3RhbnQ8IAorICAgICAgICA6Om5kbmJvb3N0OjpmdW5jdGlvbl90eXBlczo6ZGV0YWlsOjplbmNvZGVfYml0c19pbXBsPEJpdHMsQ0NJRD46OnZhbHVlIAorICAgICAgPgorICB7IH07CisKKyAgdGVtcGxhdGU8Y2xhc3MgTEhTLCBjbGFzcyBSSFM+IHN0cnVjdCBjb21wb3VuZF90YWcKKyAgeworICAgIHR5cGVkZWYgY29uc3RhbnQ8CisgICAgICA6Om5kbmJvb3N0OjpmdW5jdGlvbl90eXBlczo6ZGV0YWlsOjp0YWdfaWNlCisgICAgICAgIDwgOjpuZG5ib29zdDo6ZnVuY3Rpb25fdHlwZXM6OmRldGFpbDo6Yml0czxMSFM+Ojp2YWx1ZQorICAgICAgICAsIDo6bmRuYm9vc3Q6OmZ1bmN0aW9uX3R5cGVzOjpkZXRhaWw6Om1hc2s8TEhTPjo6dmFsdWUKKyAgICAgICAgLCA6Om5kbmJvb3N0OjpmdW5jdGlvbl90eXBlczo6ZGV0YWlsOjpiaXRzPFJIUz46OnZhbHVlCisgICAgICAgICwgOjpuZG5ib29zdDo6ZnVuY3Rpb25fdHlwZXM6OmRldGFpbDo6bWFzazxSSFM+Ojp2YWx1ZQorICAgICAgICA+Ojpjb21iaW5lZF9iaXRzIAorICAgID4gYml0czsKKworICAgIHR5cGVkZWYgY29uc3RhbnQ8IAorICAgICAgOjpuZG5ib29zdDo6ZnVuY3Rpb25fdHlwZXM6OmRldGFpbDo6dGFnX2ljZQorICAgICAgICA8IDo6bmRuYm9vc3Q6OmZ1bmN0aW9uX3R5cGVzOjpkZXRhaWw6OmJpdHM8TEhTPjo6dmFsdWUKKyAgICAgICAgLCA6Om5kbmJvb3N0OjpmdW5jdGlvbl90eXBlczo6ZGV0YWlsOjptYXNrPExIUz46OnZhbHVlCisgICAgICAgICwgOjpuZG5ib29zdDo6ZnVuY3Rpb25fdHlwZXM6OmRldGFpbDo6Yml0czxSSFM+Ojp2YWx1ZQorICAgICAgICAsIDo6bmRuYm9vc3Q6OmZ1bmN0aW9uX3R5cGVzOjpkZXRhaWw6Om1hc2s8UkhTPjo6dmFsdWUKKyAgICAgICAgPjo6Y29tYmluZWRfbWFzayAKKyAgICA+IG1hc2s7IAorICB9OworCisgIHRlbXBsYXRlIDxjbGFzcyBCYXNlLCBjbGFzcyBQcm9wT2xkLCBjbGFzcyBQcm9wTmV3PgorICBzdHJ1Y3QgY2hhbmdlZF90YWcKKyAgICA6IEJhc2UKKyAgeworICAgIHR5cGVkZWYgbXBsOjpiaXR4b3JfCisgICAgICAgIDx0eXBlbmFtZSBCYXNlOjpiaXRzLCB0eXBlbmFtZSBQcm9wT2xkOjpiaXRzLCB0eXBlbmFtZSBQcm9wTmV3OjpiaXRzPgorICAgIGJpdHM7CisgIH07CisKKyAgdGVtcGxhdGU8Y2xhc3MgVGFnLCBjbGFzcyBRdWVyeVRhZz4gc3RydWN0IHJlcHJlc2VudHNfaW1wbAorICAgIDogbmRuYm9vc3Q6OmludGVncmFsX2NvbnN0YW50PGJvb2wsCisgICAgICAgIDo6bmRuYm9vc3Q6OmZ1bmN0aW9uX3R5cGVzOjpkZXRhaWw6OnRhZ19pY2UKKyAgICAgICAgICA8IDo6bmRuYm9vc3Q6OmZ1bmN0aW9uX3R5cGVzOjpkZXRhaWw6OmJpdHM8VGFnPjo6dmFsdWUKKyAgICAgICAgICAsIDo6bmRuYm9vc3Q6OmZ1bmN0aW9uX3R5cGVzOjpkZXRhaWw6Om1hc2s8VGFnPjo6dmFsdWUKKyAgICAgICAgICAsIDo6bmRuYm9vc3Q6OmZ1bmN0aW9uX3R5cGVzOjpkZXRhaWw6OmJpdHM8UXVlcnlUYWc+Ojp2YWx1ZQorICAgICAgICAgICwgOjpuZG5ib29zdDo6ZnVuY3Rpb25fdHlwZXM6OmRldGFpbDo6bWFzazxRdWVyeVRhZz46OnZhbHVlCisgICAgICAgICAgPjo6bWF0Y2gKKyAgICAgID4KKyAgeyB9OworCit9IC8vIG5hbWVzcGFjZSBkZXRhaWwKKwordHlwZWRlZiBkZXRhaWw6OnByb3BlcnR5X3RhZzwwLDA+IG51bGxfdGFnOworCit0ZW1wbGF0ZTxjbGFzcyBUYWcxLCBjbGFzcyBUYWcyLCBjbGFzcyBUYWczID0gbnVsbF90YWcsIGNsYXNzIFRhZzQgPSBudWxsX3RhZz4KK3N0cnVjdCB0YWcKKyAgOiBkZXRhaWw6OmNvbXBvdW5kX3RhZzwgZGV0YWlsOjpjb21wb3VuZF90YWc8VGFnMSxUYWcyPiwgCisgICAgICAgIGRldGFpbDo6Y29tcG91bmRfdGFnPFRhZzMsVGFnND4gPgoreyB9OworCisjaWZuZGVmIEJPT1NUX05PX1RFTVBMQVRFX1BBUlRJQUxfU1BFQ0lBTElaQVRJT04KK3RlbXBsYXRlPGNsYXNzIFRhZzEsIGNsYXNzIFRhZzIsIGNsYXNzIFRhZzM+IHN0cnVjdCB0YWc8VGFnMSxUYWcyLFRhZzMsbnVsbF90YWc+CisgIDogZGV0YWlsOjpjb21wb3VuZF90YWc8ZGV0YWlsOjpjb21wb3VuZF90YWc8VGFnMSxUYWcyPixUYWczPgoreyB9OwordGVtcGxhdGU8Y2xhc3MgVGFnMSwgY2xhc3MgVGFnMj4gc3RydWN0IHRhZzxUYWcxLFRhZzIsbnVsbF90YWcsbnVsbF90YWc+CisgIDogZGV0YWlsOjpjb21wb3VuZF90YWc8VGFnMSxUYWcyPgoreyB9OwordGVtcGxhdGU8Y2xhc3MgVGFnMT4gc3RydWN0IHRhZzxUYWcxLG51bGxfdGFnLG51bGxfdGFnLG51bGxfdGFnPgorICA6IFRhZzEKK3sgfTsKKyNlbmRpZgorCisKK3RlbXBsYXRlPGNsYXNzIFRhZywgY2xhc3MgUXVlcnlUYWc+IHN0cnVjdCByZXByZXNlbnRzCisgIDogZGV0YWlsOjpyZXByZXNlbnRzX2ltcGw8VGFnLCBkZXRhaWw6OnJldGFnX2RlZmF1bHRfY2M8UXVlcnlUYWcsVGFnPiA+Cit7IH07CisKKwordGVtcGxhdGU8Y2xhc3MgVGFnLCBjbGFzcyBRdWVyeVRhZz4gc3RydWN0IGV4dHJhY3QKK3sgCisgIHR5cGVkZWYgZGV0YWlsOjpjb25zdGFudDwKKyAgICA6Om5kbmJvb3N0OjpmdW5jdGlvbl90eXBlczo6ZGV0YWlsOjp0YWdfaWNlCisgICAgICA8IDo6bmRuYm9vc3Q6OmZ1bmN0aW9uX3R5cGVzOjpkZXRhaWw6OmJpdHM8VGFnPjo6dmFsdWUKKyAgICAgICwgOjpuZG5ib29zdDo6ZnVuY3Rpb25fdHlwZXM6OmRldGFpbDo6bWFzazxUYWc+Ojp2YWx1ZQorICAgICAgLCA6Om5kbmJvb3N0OjpmdW5jdGlvbl90eXBlczo6ZGV0YWlsOjpiaXRzPFF1ZXJ5VGFnPjo6dmFsdWUKKyAgICAgICwgOjpuZG5ib29zdDo6ZnVuY3Rpb25fdHlwZXM6OmRldGFpbDo6bWFzazxRdWVyeVRhZz46OnZhbHVlCisgICAgICA+OjpleHRyYWN0ZWRfYml0cyAKKyAgPiBiaXRzOworCisgIHR5cGVkZWYgZGV0YWlsOjpjb25zdGFudDwgCisgICAgOjpuZG5ib29zdDo6ZnVuY3Rpb25fdHlwZXM6OmRldGFpbDo6bWFzazxRdWVyeVRhZz46OnZhbHVlCisgID4gbWFzazsgCit9OworCit9IH0gLy8gbmFtZXNwYWNlIDo6bmRuYm9vc3Q6OmZ1bmN0aW9uX3R5cGVzCisKKyNpbmNsdWRlIDxuZG5ib29zdC9mdW5jdGlvbl90eXBlcy9kZXRhaWwvcHBfdGFncy9wcmVwcm9jZXNzZWQuaHBwPgorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgZnVuY3Rpb25fdHlwZXMgeworI2RlZmluZSBCT09TVF9GVF9jY19maWxlIDxuZG5ib29zdC9mdW5jdGlvbl90eXBlcy9kZXRhaWwvcHBfdGFncy9jY190YWcuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L2Z1bmN0aW9uX3R5cGVzL2RldGFpbC9wcF9sb29wLmhwcD4KK30gfSAvLyBuYW1lc3BhY2UgbmRuYm9vc3Q6OmZ1bmN0aW9uX3R5cGVzCisKKyNlbmRpZgorCmRpZmYgLS1naXQgYS9uZG5ib29zdC9mdW5jdGlvbl90eXBlcy9yZXN1bHRfdHlwZS5ocHAgYi9uZG5ib29zdC9mdW5jdGlvbl90eXBlcy9yZXN1bHRfdHlwZS5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWZjZGQ1MwotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L2Z1bmN0aW9uX3R5cGVzL3Jlc3VsdF90eXBlLmhwcApAQCAtMCwwICsxLDUwIEBACisKKy8vIChDKSBDb3B5cmlnaHQgVG9iaWFzIFNjaHdpbmdlcgorLy8KKy8vIFVzZSBtb2RpZmljYXRpb24gYW5kIGRpc3RyaWJ1dGlvbiBhcmUgc3ViamVjdCB0byB0aGUgYm9vc3QgU29mdHdhcmUgTGljZW5zZSwKKy8vIFZlcnNpb24gMS4wLiAoU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkuCisKKy8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKyNpZm5kZWYgQk9PU1RfRlRfUkVTVUxUX1RZUEVfSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX0ZUX1JFU1VMVF9UWVBFX0hQUF9JTkNMVURFRAorCisjaW5jbHVkZSA8bmRuYm9vc3QvYmxhbmsuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9pZi5ocHA+CisKKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9sYW1iZGFfc3VwcG9ydC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvZGV0YWlsL3RlbXBsYXRlX2FyaXR5X3NwZWMuaHBwPgorCisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F0LmhwcD4KKworI2luY2x1ZGUgPG5kbmJvb3N0L2Z1bmN0aW9uX3R5cGVzL2lzX2NhbGxhYmxlX2J1aWx0aW4uaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L2Z1bmN0aW9uX3R5cGVzL2NvbXBvbmVudHMuaHBwPgorCituYW1lc3BhY2UgbmRuYm9vc3QgCit7IAorICBuYW1lc3BhY2UgZnVuY3Rpb25fdHlwZXMgCisgIHsKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVCA+IHN0cnVjdCByZXN1bHRfdHlwZTsKKworICAgIG5hbWVzcGFjZSBkZXRhaWwKKyAgICB7CisgICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgcmVzdWx0X3R5cGVfaW1wbAorICAgICAgICA6IG1wbDo6YXRfYworICAgICAgICAgIDwgdHlwZW5hbWUgZnVuY3Rpb25fdHlwZXM6OmNvbXBvbmVudHM8VD46OnR5cGVzLCAwID4KKyAgICAgIHsgfTsKKyAgICB9CisKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgcmVzdWx0X3R5cGUKKyAgICAgIDogbXBsOjppZl8KKyAgICAgICAgPCBmdW5jdGlvbl90eXBlczo6aXNfY2FsbGFibGVfYnVpbHRpbjxUPgorICAgICAgICAsIGRldGFpbDo6cmVzdWx0X3R5cGVfaW1wbDxUPiwgbmRuYm9vc3Q6OmJsYW5rCisgICAgICAgID46OnR5cGUKKyAgICB7IAorICAgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgxLHJlc3VsdF90eXBlLChUKSkgCisgICAgfTsKKyAgfQorICBCT09TVF9UVF9BVVhfVEVNUExBVEVfQVJJVFlfU1BFQygxLGZ1bmN0aW9uX3R5cGVzOjpyZXN1bHRfdHlwZSkKK30KKworI2VuZGlmCisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L2Z1bmN0aW9uYWwuaHBwIGIvbmRuYm9vc3QvZnVuY3Rpb25hbC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzQ1ODZiZAotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L2Z1bmN0aW9uYWwuaHBwCkBAIC0wLDAgKzEsNTQ4IEBACisvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy8vIENvcHlyaWdodCAoYykgMjAwMCBDYWRlbnphIE5ldyBaZWFsYW5kIEx0ZAorLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAoU2VlIGFjY29tcGFueS0KKy8vIGluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLy8gQm9vc3QgZnVuY3Rpb25hbC5ocHAgaGVhZGVyIGZpbGUKKy8vIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL2Z1bmN0aW9uYWwgZm9yIGRvY3VtZW50YXRpb24uCisvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy8vICRJZDogZnVuY3Rpb25hbC5ocHAgMzYyNDYgMjAwNi0xMi0wMiAxNDoxNzoyNlogYW5kcmVhc19odWJlcjY5ICQKKy8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisjaWZuZGVmIEJPT1NUX0ZVTkNUSU9OQUxfSFBQCisjZGVmaW5lIEJPT1NUX0ZVTkNUSU9OQUxfSFBQCisKKyNpbmNsdWRlIDxuZG5ib29zdC9jb25maWcuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L2NhbGxfdHJhaXRzLmhwcD4KKyNpbmNsdWRlIDxmdW5jdGlvbmFsPgorCituYW1lc3BhY2UgbmRuYm9vc3QKK3sKKyNpZm5kZWYgQk9PU1RfTk9fVEVNUExBVEVfUEFSVElBTF9TUEVDSUFMSVpBVElPTgorICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAgLy8gVGhlIGZvbGxvd2luZyB0cmFpdHMgY2xhc3NlcyBhbGxvdyB1cyB0byBhdm9pZCB0aGUgbmVlZCBmb3IgcHRyX2Z1bgorICAgIC8vIGJlY2F1c2UgdGhlIHR5cGVzIG9mIGFyZ3VtZW50cyBhbmQgdGhlIHJlc3VsdCBvZiBhIGZ1bmN0aW9uIGNhbiBiZSAKKyAgICAvLyBkZWR1Y2VkLgorICAgIC8vCisgICAgLy8gSW4gYWRkaXRpb24gdG8gdGhlIHN0YW5kYXJkIHR5cGVzIGRlZmluZWQgaW4gdW5hcnlfZnVuY3Rpb24gYW5kIAorICAgIC8vIGJpbmFyeV9mdW5jdGlvbiwgd2UgYWRkCisgICAgLy8KKyAgICAvLyAtIGZ1bmN0aW9uX3R5cGUsIHRoZSB0eXBlIG9mIHRoZSBmdW5jdGlvbiBvciBmdW5jdGlvbiBvYmplY3QgaXRzZWxmLgorICAgIC8vCisgICAgLy8gLSBwYXJhbV90eXBlLCB0aGUgdHlwZSB0aGF0IHNob3VsZCBiZSB1c2VkIGZvciBwYXNzaW5nIHRoZSBmdW5jdGlvbiBvcgorICAgIC8vICAgZnVuY3Rpb24gb2JqZWN0IGFzIGFuIGFyZ3VtZW50LgorICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAgbmFtZXNwYWNlIGRldGFpbAorICAgIHsKKyAgICAgICAgdGVtcGxhdGUgPGNsYXNzIE9wZXJhdGlvbj4KKyAgICAgICAgc3RydWN0IHVuYXJ5X3RyYWl0c19pbXA7CisgICAgICAgIAorICAgICAgICB0ZW1wbGF0ZSA8Y2xhc3MgT3BlcmF0aW9uPgorICAgICAgICBzdHJ1Y3QgdW5hcnlfdHJhaXRzX2ltcDxPcGVyYXRpb24qPgorICAgICAgICB7CisgICAgICAgICAgICB0eXBlZGVmIE9wZXJhdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbl90eXBlOworICAgICAgICAgICAgdHlwZWRlZiBjb25zdCBmdW5jdGlvbl90eXBlICYgICAgICAgICAgICAgcGFyYW1fdHlwZTsKKyAgICAgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgT3BlcmF0aW9uOjpyZXN1bHRfdHlwZSAgIHJlc3VsdF90eXBlOworICAgICAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBPcGVyYXRpb246OmFyZ3VtZW50X3R5cGUgYXJndW1lbnRfdHlwZTsKKyAgICAgICAgfTsKKworICAgICAgICB0ZW1wbGF0ZSA8Y2xhc3MgUiwgY2xhc3MgQT4KKyAgICAgICAgc3RydWN0IHVuYXJ5X3RyYWl0c19pbXA8UigqKShBKT4KKyAgICAgICAgeworICAgICAgICAgICAgdHlwZWRlZiBSICgqZnVuY3Rpb25fdHlwZSkoQSk7CisgICAgICAgICAgICB0eXBlZGVmIFIgKCpwYXJhbV90eXBlKShBKTsKKyAgICAgICAgICAgIHR5cGVkZWYgUiByZXN1bHRfdHlwZTsKKyAgICAgICAgICAgIHR5cGVkZWYgQSBhcmd1bWVudF90eXBlOworICAgICAgICB9OworCisgICAgICAgIHRlbXBsYXRlIDxjbGFzcyBPcGVyYXRpb24+CisgICAgICAgIHN0cnVjdCBiaW5hcnlfdHJhaXRzX2ltcDsKKworICAgICAgICB0ZW1wbGF0ZSA8Y2xhc3MgT3BlcmF0aW9uPgorICAgICAgICBzdHJ1Y3QgYmluYXJ5X3RyYWl0c19pbXA8T3BlcmF0aW9uKj4KKyAgICAgICAgeworICAgICAgICAgICAgdHlwZWRlZiBPcGVyYXRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uX3R5cGU7CisgICAgICAgICAgICB0eXBlZGVmIGNvbnN0IGZ1bmN0aW9uX3R5cGUgJiAgICAgICAgICAgICAgICAgICAgcGFyYW1fdHlwZTsKKyAgICAgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgT3BlcmF0aW9uOjpyZXN1bHRfdHlwZSAgICAgICAgICByZXN1bHRfdHlwZTsKKyAgICAgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgT3BlcmF0aW9uOjpmaXJzdF9hcmd1bWVudF90eXBlICBmaXJzdF9hcmd1bWVudF90eXBlOworICAgICAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBPcGVyYXRpb246OnNlY29uZF9hcmd1bWVudF90eXBlIHNlY29uZF9hcmd1bWVudF90eXBlOworICAgICAgICB9OworICAgICAgICAKKyAgICAgICAgdGVtcGxhdGUgPGNsYXNzIFIsIGNsYXNzIEExLCBjbGFzcyBBMj4KKyAgICAgICAgc3RydWN0IGJpbmFyeV90cmFpdHNfaW1wPFIoKikoQTEsQTIpPgorICAgICAgICB7CisgICAgICAgICAgICB0eXBlZGVmIFIgKCpmdW5jdGlvbl90eXBlKShBMSxBMik7CisgICAgICAgICAgICB0eXBlZGVmIFIgKCpwYXJhbV90eXBlKShBMSxBMik7CisgICAgICAgICAgICB0eXBlZGVmIFIgcmVzdWx0X3R5cGU7CisgICAgICAgICAgICB0eXBlZGVmIEExIGZpcnN0X2FyZ3VtZW50X3R5cGU7CisgICAgICAgICAgICB0eXBlZGVmIEEyIHNlY29uZF9hcmd1bWVudF90eXBlOworICAgICAgICB9OworICAgIH0gLy8gbmFtZXNwYWNlIGRldGFpbAorICAgIAorICAgIHRlbXBsYXRlIDxjbGFzcyBPcGVyYXRpb24+CisgICAgc3RydWN0IHVuYXJ5X3RyYWl0cworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBkZXRhaWw6OnVuYXJ5X3RyYWl0c19pbXA8T3BlcmF0aW9uKj46OmZ1bmN0aW9uX3R5cGUgZnVuY3Rpb25fdHlwZTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBkZXRhaWw6OnVuYXJ5X3RyYWl0c19pbXA8T3BlcmF0aW9uKj46OnBhcmFtX3R5cGUgICAgcGFyYW1fdHlwZTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBkZXRhaWw6OnVuYXJ5X3RyYWl0c19pbXA8T3BlcmF0aW9uKj46OnJlc3VsdF90eXBlICAgcmVzdWx0X3R5cGU7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgZGV0YWlsOjp1bmFyeV90cmFpdHNfaW1wPE9wZXJhdGlvbio+Ojphcmd1bWVudF90eXBlIGFyZ3VtZW50X3R5cGU7CisgICAgfTsgCisKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgUiwgY2xhc3MgQT4KKyAgICBzdHJ1Y3QgdW5hcnlfdHJhaXRzPFIoKikoQSk+CisgICAgeworICAgICAgICB0eXBlZGVmIFIgKCpmdW5jdGlvbl90eXBlKShBKTsKKyAgICAgICAgdHlwZWRlZiBSICgqcGFyYW1fdHlwZSkoQSk7CisgICAgICAgIHR5cGVkZWYgUiByZXN1bHRfdHlwZTsKKyAgICAgICAgdHlwZWRlZiBBIGFyZ3VtZW50X3R5cGU7CisgICAgfTsKKworICAgIHRlbXBsYXRlIDxjbGFzcyBPcGVyYXRpb24+CisgICAgc3RydWN0IGJpbmFyeV90cmFpdHMKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgZGV0YWlsOjpiaW5hcnlfdHJhaXRzX2ltcDxPcGVyYXRpb24qPjo6ZnVuY3Rpb25fdHlwZSAgICAgICAgZnVuY3Rpb25fdHlwZTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBkZXRhaWw6OmJpbmFyeV90cmFpdHNfaW1wPE9wZXJhdGlvbio+OjpwYXJhbV90eXBlICAgICAgICAgICBwYXJhbV90eXBlOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGRldGFpbDo6YmluYXJ5X3RyYWl0c19pbXA8T3BlcmF0aW9uKj46OnJlc3VsdF90eXBlICAgICAgICAgIHJlc3VsdF90eXBlOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGRldGFpbDo6YmluYXJ5X3RyYWl0c19pbXA8T3BlcmF0aW9uKj46OmZpcnN0X2FyZ3VtZW50X3R5cGUgIGZpcnN0X2FyZ3VtZW50X3R5cGU7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgZGV0YWlsOjpiaW5hcnlfdHJhaXRzX2ltcDxPcGVyYXRpb24qPjo6c2Vjb25kX2FyZ3VtZW50X3R5cGUgc2Vjb25kX2FyZ3VtZW50X3R5cGU7CisgICAgfTsKKyAgICAKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgUiwgY2xhc3MgQTEsIGNsYXNzIEEyPgorICAgIHN0cnVjdCBiaW5hcnlfdHJhaXRzPFIoKikoQTEsQTIpPgorICAgIHsKKyAgICAgICAgdHlwZWRlZiBSICgqZnVuY3Rpb25fdHlwZSkoQTEsQTIpOworICAgICAgICB0eXBlZGVmIFIgKCpwYXJhbV90eXBlKShBMSxBMik7CisgICAgICAgIHR5cGVkZWYgUiByZXN1bHRfdHlwZTsKKyAgICAgICAgdHlwZWRlZiBBMSBmaXJzdF9hcmd1bWVudF90eXBlOworICAgICAgICB0eXBlZGVmIEEyIHNlY29uZF9hcmd1bWVudF90eXBlOworICAgIH07CisjZWxzZSAvLyBCT09TVF9OT19URU1QTEFURV9QQVJUSUFMX1NQRUNJQUxJWkFUSU9OCisgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgICAvLyBJZiB3ZSBoYXZlIG5vIHBhcnRpYWwgc3BlY2lhbGlzYXRpb24gYXZhaWxhYmxlLCBkZWNheSB0byBhIHNpdHVhdGlvbgorICAgIC8vIHRoYXQgaXMgbm8gd29yc2UgdGhhbiBpbiB0aGUgU3RhbmRhcmQsIGkuZS4sIHB0cl9mdW4gd2lsbCBiZSByZXF1aXJlZC4KKyAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisgICAgdGVtcGxhdGUgPGNsYXNzIE9wZXJhdGlvbj4KKyAgICBzdHJ1Y3QgdW5hcnlfdHJhaXRzCisgICAgeworICAgICAgICB0eXBlZGVmIE9wZXJhdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbl90eXBlOworICAgICAgICB0eXBlZGVmIGNvbnN0IE9wZXJhdGlvbiYgICAgICAgICAgICAgICAgICBwYXJhbV90eXBlOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIE9wZXJhdGlvbjo6cmVzdWx0X3R5cGUgICByZXN1bHRfdHlwZTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBPcGVyYXRpb246OmFyZ3VtZW50X3R5cGUgYXJndW1lbnRfdHlwZTsKKyAgICB9OyAKKyAgICAKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgT3BlcmF0aW9uPgorICAgIHN0cnVjdCBiaW5hcnlfdHJhaXRzCisgICAgeworICAgICAgICB0eXBlZGVmIE9wZXJhdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb25fdHlwZTsKKyAgICAgICAgdHlwZWRlZiBjb25zdCBPcGVyYXRpb24gJiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtX3R5cGU7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgT3BlcmF0aW9uOjpyZXN1bHRfdHlwZSAgICAgICAgICByZXN1bHRfdHlwZTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBPcGVyYXRpb246OmZpcnN0X2FyZ3VtZW50X3R5cGUgIGZpcnN0X2FyZ3VtZW50X3R5cGU7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgT3BlcmF0aW9uOjpzZWNvbmRfYXJndW1lbnRfdHlwZSBzZWNvbmRfYXJndW1lbnRfdHlwZTsKKyAgICB9OyAgICAKKyNlbmRpZiAvLyBCT09TVF9OT19URU1QTEFURV9QQVJUSUFMX1NQRUNJQUxJWkFUSU9OCisgICAgCisgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgICAvLyB1bmFyeV9uZWdhdGUsIG5vdDEKKyAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAgIHRlbXBsYXRlIDxjbGFzcyBQcmVkaWNhdGU+CisgICAgY2xhc3MgdW5hcnlfbmVnYXRlCisgICAgICAgIDogcHVibGljIHN0ZDo6dW5hcnlfZnVuY3Rpb248dHlwZW5hbWUgdW5hcnlfdHJhaXRzPFByZWRpY2F0ZT46OmFyZ3VtZW50X3R5cGUsYm9vbD4KKyAgICB7CisgICAgICBwdWJsaWM6CisgICAgICAgIGV4cGxpY2l0IHVuYXJ5X25lZ2F0ZSh0eXBlbmFtZSB1bmFyeV90cmFpdHM8UHJlZGljYXRlPjo6cGFyYW1fdHlwZSB4KQorICAgICAgICAgICAgOgorICAgICAgICAgICAgcHJlZCh4KQorICAgICAgICB7fQorICAgICAgICBib29sIG9wZXJhdG9yKCkodHlwZW5hbWUgY2FsbF90cmFpdHM8dHlwZW5hbWUgdW5hcnlfdHJhaXRzPFByZWRpY2F0ZT46OmFyZ3VtZW50X3R5cGU+OjpwYXJhbV90eXBlIHgpIGNvbnN0CisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiAhcHJlZCh4KTsKKyAgICAgICAgfQorICAgICAgcHJpdmF0ZToKKyAgICAgICAgdHlwZW5hbWUgdW5hcnlfdHJhaXRzPFByZWRpY2F0ZT46OmZ1bmN0aW9uX3R5cGUgcHJlZDsKKyAgICB9OworCisgICAgdGVtcGxhdGUgPGNsYXNzIFByZWRpY2F0ZT4KKyAgICB1bmFyeV9uZWdhdGU8UHJlZGljYXRlPiBub3QxKGNvbnN0IFByZWRpY2F0ZSAmcHJlZCkKKyAgICB7CisgICAgICAgIC8vIFRoZSBjYXN0IGlzIHRvIHBsYWNhdGUgQm9ybGFuZCBDKytCdWlsZGVyIGluIGNlcnRhaW4gY2lyY3Vtc3RhbmNlcy4KKyAgICAgICAgLy8gSSBkb24ndCB0aGluayBpdCBzaG91bGQgYmUgbmVjZXNzYXJ5LgorICAgICAgICByZXR1cm4gdW5hcnlfbmVnYXRlPFByZWRpY2F0ZT4oKHR5cGVuYW1lIHVuYXJ5X3RyYWl0czxQcmVkaWNhdGU+OjpwYXJhbV90eXBlKXByZWQpOworICAgIH0KKworICAgIHRlbXBsYXRlIDxjbGFzcyBQcmVkaWNhdGU+CisgICAgdW5hcnlfbmVnYXRlPFByZWRpY2F0ZT4gbm90MShQcmVkaWNhdGUgJnByZWQpCisgICAgeworICAgICAgICByZXR1cm4gdW5hcnlfbmVnYXRlPFByZWRpY2F0ZT4ocHJlZCk7CisgICAgfQorCisgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgICAvLyBiaW5hcnlfbmVnYXRlLCBub3QyCisgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgUHJlZGljYXRlPgorICAgIGNsYXNzIGJpbmFyeV9uZWdhdGUKKyAgICAgICAgOiBwdWJsaWMgc3RkOjpiaW5hcnlfZnVuY3Rpb248dHlwZW5hbWUgYmluYXJ5X3RyYWl0czxQcmVkaWNhdGU+OjpmaXJzdF9hcmd1bWVudF90eXBlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlbmFtZSBiaW5hcnlfdHJhaXRzPFByZWRpY2F0ZT46OnNlY29uZF9hcmd1bWVudF90eXBlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sPgorICAgIHsKKyAgICAgIHB1YmxpYzoKKyAgICAgICAgZXhwbGljaXQgYmluYXJ5X25lZ2F0ZSh0eXBlbmFtZSBiaW5hcnlfdHJhaXRzPFByZWRpY2F0ZT46OnBhcmFtX3R5cGUgeCkKKyAgICAgICAgICAgIDoKKyAgICAgICAgICAgIHByZWQoeCkKKyAgICAgICAge30KKyAgICAgICAgYm9vbCBvcGVyYXRvcigpKHR5cGVuYW1lIGNhbGxfdHJhaXRzPHR5cGVuYW1lIGJpbmFyeV90cmFpdHM8UHJlZGljYXRlPjo6Zmlyc3RfYXJndW1lbnRfdHlwZT46OnBhcmFtX3R5cGUgeCwKKyAgICAgICAgICAgICAgICAgICAgICAgIHR5cGVuYW1lIGNhbGxfdHJhaXRzPHR5cGVuYW1lIGJpbmFyeV90cmFpdHM8UHJlZGljYXRlPjo6c2Vjb25kX2FyZ3VtZW50X3R5cGU+OjpwYXJhbV90eXBlIHkpIGNvbnN0CisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiAhcHJlZCh4LHkpOworICAgICAgICB9CisgICAgICBwcml2YXRlOgorICAgICAgICB0eXBlbmFtZSBiaW5hcnlfdHJhaXRzPFByZWRpY2F0ZT46OmZ1bmN0aW9uX3R5cGUgcHJlZDsKKyAgICB9OworCisgICAgdGVtcGxhdGUgPGNsYXNzIFByZWRpY2F0ZT4KKyAgICBiaW5hcnlfbmVnYXRlPFByZWRpY2F0ZT4gbm90Mihjb25zdCBQcmVkaWNhdGUgJnByZWQpCisgICAgeworICAgICAgICAvLyBUaGUgY2FzdCBpcyB0byBwbGFjYXRlIEJvcmxhbmQgQysrQnVpbGRlciBpbiBjZXJ0YWluIGNpcmN1bXN0YW5jZXMuCisgICAgICAgIC8vIEkgZG9uJ3QgdGhpbmsgaXQgc2hvdWxkIGJlIG5lY2Vzc2FyeS4KKyAgICAgICAgcmV0dXJuIGJpbmFyeV9uZWdhdGU8UHJlZGljYXRlPigodHlwZW5hbWUgYmluYXJ5X3RyYWl0czxQcmVkaWNhdGU+OjpwYXJhbV90eXBlKXByZWQpOworICAgIH0KKworICAgIHRlbXBsYXRlIDxjbGFzcyBQcmVkaWNhdGU+CisgICAgYmluYXJ5X25lZ2F0ZTxQcmVkaWNhdGU+IG5vdDIoUHJlZGljYXRlICZwcmVkKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGJpbmFyeV9uZWdhdGU8UHJlZGljYXRlPihwcmVkKTsKKyAgICB9CisgICAgICAgIAorICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAgLy8gYmluZGVyMXN0LCBiaW5kMXN0CisgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgT3BlcmF0aW9uPgorICAgIGNsYXNzIGJpbmRlcjFzdAorICAgICAgICA6IHB1YmxpYyBzdGQ6OnVuYXJ5X2Z1bmN0aW9uPHR5cGVuYW1lIGJpbmFyeV90cmFpdHM8T3BlcmF0aW9uPjo6c2Vjb25kX2FyZ3VtZW50X3R5cGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZW5hbWUgYmluYXJ5X3RyYWl0czxPcGVyYXRpb24+OjpyZXN1bHRfdHlwZT4KKyAgICB7ICAgICAgIAorICAgICAgcHVibGljOgorICAgICAgICBiaW5kZXIxc3QodHlwZW5hbWUgYmluYXJ5X3RyYWl0czxPcGVyYXRpb24+OjpwYXJhbV90eXBlIHgsCisgICAgICAgICAgICAgICAgICB0eXBlbmFtZSBjYWxsX3RyYWl0czx0eXBlbmFtZSBiaW5hcnlfdHJhaXRzPE9wZXJhdGlvbj46OmZpcnN0X2FyZ3VtZW50X3R5cGU+OjpwYXJhbV90eXBlIHkpCisgICAgICAgICAgICA6CisgICAgICAgICAgICBvcCh4KSwgdmFsdWUoeSkKKyAgICAgICAge30KKyAgICAgICAgCisgICAgICAgIHR5cGVuYW1lIGJpbmFyeV90cmFpdHM8T3BlcmF0aW9uPjo6cmVzdWx0X3R5cGUKKyAgICAgICAgb3BlcmF0b3IoKSh0eXBlbmFtZSBjYWxsX3RyYWl0czx0eXBlbmFtZSBiaW5hcnlfdHJhaXRzPE9wZXJhdGlvbj46OnNlY29uZF9hcmd1bWVudF90eXBlPjo6cGFyYW1fdHlwZSB4KSBjb25zdAorICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4gb3AodmFsdWUsIHgpOworICAgICAgICB9CisgICAgICAgIAorICAgICAgcHJvdGVjdGVkOgorICAgICAgICB0eXBlbmFtZSBiaW5hcnlfdHJhaXRzPE9wZXJhdGlvbj46OmZ1bmN0aW9uX3R5cGUgb3A7CisgICAgICAgIHR5cGVuYW1lIGJpbmFyeV90cmFpdHM8T3BlcmF0aW9uPjo6Zmlyc3RfYXJndW1lbnRfdHlwZSB2YWx1ZTsKKyAgICB9OworCisgICAgdGVtcGxhdGUgPGNsYXNzIE9wZXJhdGlvbj4KKyAgICBpbmxpbmUgYmluZGVyMXN0PE9wZXJhdGlvbj4gYmluZDFzdChjb25zdCBPcGVyYXRpb24gJm9wLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGVuYW1lIGNhbGxfdHJhaXRzPAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGVuYW1lIGJpbmFyeV90cmFpdHM8T3BlcmF0aW9uPjo6Zmlyc3RfYXJndW1lbnRfdHlwZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID46OnBhcmFtX3R5cGUgeCkKKyAgICB7CisgICAgICAgIC8vIFRoZSBjYXN0IGlzIHRvIHBsYWNhdGUgQm9ybGFuZCBDKytCdWlsZGVyIGluIGNlcnRhaW4gY2lyY3Vtc3RhbmNlcy4KKyAgICAgICAgLy8gSSBkb24ndCB0aGluayBpdCBzaG91bGQgYmUgbmVjZXNzYXJ5LgorICAgICAgICByZXR1cm4gYmluZGVyMXN0PE9wZXJhdGlvbj4oKHR5cGVuYW1lIGJpbmFyeV90cmFpdHM8T3BlcmF0aW9uPjo6cGFyYW1fdHlwZSlvcCwgeCk7CisgICAgfQorCisgICAgdGVtcGxhdGUgPGNsYXNzIE9wZXJhdGlvbj4KKyAgICBpbmxpbmUgYmluZGVyMXN0PE9wZXJhdGlvbj4gYmluZDFzdChPcGVyYXRpb24gJm9wLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGVuYW1lIGNhbGxfdHJhaXRzPAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGVuYW1lIGJpbmFyeV90cmFpdHM8T3BlcmF0aW9uPjo6Zmlyc3RfYXJndW1lbnRfdHlwZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID46OnBhcmFtX3R5cGUgeCkKKyAgICB7CisgICAgICAgIHJldHVybiBiaW5kZXIxc3Q8T3BlcmF0aW9uPihvcCwgeCk7CisgICAgfQorCisgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgICAvLyBiaW5kZXIybmQsIGJpbmQybmQKKyAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAgIHRlbXBsYXRlIDxjbGFzcyBPcGVyYXRpb24+CisgICAgY2xhc3MgYmluZGVyMm5kCisgICAgICAgIDogcHVibGljIHN0ZDo6dW5hcnlfZnVuY3Rpb248dHlwZW5hbWUgYmluYXJ5X3RyYWl0czxPcGVyYXRpb24+OjpmaXJzdF9hcmd1bWVudF90eXBlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGVuYW1lIGJpbmFyeV90cmFpdHM8T3BlcmF0aW9uPjo6cmVzdWx0X3R5cGU+CisgICAgeworICAgICAgcHVibGljOgorICAgICAgICBiaW5kZXIybmQodHlwZW5hbWUgYmluYXJ5X3RyYWl0czxPcGVyYXRpb24+OjpwYXJhbV90eXBlIHgsCisgICAgICAgICAgICAgICAgICB0eXBlbmFtZSBjYWxsX3RyYWl0czx0eXBlbmFtZSBiaW5hcnlfdHJhaXRzPE9wZXJhdGlvbj46OnNlY29uZF9hcmd1bWVudF90eXBlPjo6cGFyYW1fdHlwZSB5KQorICAgICAgICAgICAgOgorICAgICAgICAgICAgb3AoeCksIHZhbHVlKHkpCisgICAgICAgIHt9CisgICAgICAgIAorICAgICAgICB0eXBlbmFtZSBiaW5hcnlfdHJhaXRzPE9wZXJhdGlvbj46OnJlc3VsdF90eXBlCisgICAgICAgIG9wZXJhdG9yKCkodHlwZW5hbWUgY2FsbF90cmFpdHM8dHlwZW5hbWUgYmluYXJ5X3RyYWl0czxPcGVyYXRpb24+OjpmaXJzdF9hcmd1bWVudF90eXBlPjo6cGFyYW1fdHlwZSB4KSBjb25zdAorICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4gb3AoeCwgdmFsdWUpOworICAgICAgICB9ICAgICAgICAgICAgICAgCisgICAgICAgIAorICAgICAgcHJvdGVjdGVkOgorICAgICAgICB0eXBlbmFtZSBiaW5hcnlfdHJhaXRzPE9wZXJhdGlvbj46OmZ1bmN0aW9uX3R5cGUgb3A7CisgICAgICAgIHR5cGVuYW1lIGJpbmFyeV90cmFpdHM8T3BlcmF0aW9uPjo6c2Vjb25kX2FyZ3VtZW50X3R5cGUgdmFsdWU7CisgICAgfTsKKworICAgIHRlbXBsYXRlIDxjbGFzcyBPcGVyYXRpb24+CisgICAgaW5saW5lIGJpbmRlcjJuZDxPcGVyYXRpb24+IGJpbmQybmQoY29uc3QgT3BlcmF0aW9uICZvcCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlbmFtZSBjYWxsX3RyYWl0czwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlbmFtZSBiaW5hcnlfdHJhaXRzPE9wZXJhdGlvbj46OnNlY29uZF9hcmd1bWVudF90eXBlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjo6cGFyYW1fdHlwZSB4KQorICAgIHsKKyAgICAgICAgLy8gVGhlIGNhc3QgaXMgdG8gcGxhY2F0ZSBCb3JsYW5kIEMrK0J1aWxkZXIgaW4gY2VydGFpbiBjaXJjdW1zdGFuY2VzLgorICAgICAgICAvLyBJIGRvbid0IHRoaW5rIGl0IHNob3VsZCBiZSBuZWNlc3NhcnkuCisgICAgICAgIHJldHVybiBiaW5kZXIybmQ8T3BlcmF0aW9uPigodHlwZW5hbWUgYmluYXJ5X3RyYWl0czxPcGVyYXRpb24+OjpwYXJhbV90eXBlKW9wLCB4KTsKKyAgICB9CisKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgT3BlcmF0aW9uPgorICAgIGlubGluZSBiaW5kZXIybmQ8T3BlcmF0aW9uPiBiaW5kMm5kKE9wZXJhdGlvbiAmb3AsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZW5hbWUgY2FsbF90cmFpdHM8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZW5hbWUgYmluYXJ5X3RyYWl0czxPcGVyYXRpb24+OjpzZWNvbmRfYXJndW1lbnRfdHlwZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID46OnBhcmFtX3R5cGUgeCkKKyAgICB7CisgICAgICAgIHJldHVybiBiaW5kZXIybmQ8T3BlcmF0aW9uPihvcCwgeCk7CisgICAgfQorCisgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgICAvLyBtZW1fZnVuLCBldGMKKyAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAgIHRlbXBsYXRlIDxjbGFzcyBTLCBjbGFzcyBUPgorICAgIGNsYXNzIG1lbV9mdW5fdCA6IHB1YmxpYyBzdGQ6OnVuYXJ5X2Z1bmN0aW9uPFQqLCBTPgorICAgIHsKKyAgICAgIHB1YmxpYzoKKyAgICAgICAgZXhwbGljaXQgbWVtX2Z1bl90KFMgKFQ6OipwKSgpKQorICAgICAgICAgICAgOgorICAgICAgICAgICAgcHRyKHApCisgICAgICAgIHt9CisgICAgICAgIFMgb3BlcmF0b3IoKShUKiBwKSBjb25zdAorICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4gKHAtPipwdHIpKCk7CisgICAgICAgIH0KKyAgICAgIHByaXZhdGU6CisgICAgICAgIFMgKFQ6OipwdHIpKCk7CisgICAgfTsKKworICAgIHRlbXBsYXRlIDxjbGFzcyBTLCBjbGFzcyBULCBjbGFzcyBBPgorICAgIGNsYXNzIG1lbV9mdW4xX3QgOiBwdWJsaWMgc3RkOjpiaW5hcnlfZnVuY3Rpb248VCosIEEsIFM+CisgICAgeworICAgICAgcHVibGljOiAgIAorICAgICAgICBleHBsaWNpdCBtZW1fZnVuMV90KFMgKFQ6OipwKShBKSkKKyAgICAgICAgICAgIDoKKyAgICAgICAgICAgIHB0cihwKQorICAgICAgICB7fQorICAgICAgICBTIG9wZXJhdG9yKCkoVCogcCwgdHlwZW5hbWUgY2FsbF90cmFpdHM8QT46OnBhcmFtX3R5cGUgeCkgY29uc3QKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJuIChwLT4qcHRyKSh4KTsKKyAgICAgICAgfQorICAgICAgcHJpdmF0ZToKKyAgICAgICAgUyAoVDo6KnB0cikoQSk7CisgICAgfTsKKworICAgIHRlbXBsYXRlIDxjbGFzcyBTLCBjbGFzcyBUPgorICAgIGNsYXNzIGNvbnN0X21lbV9mdW5fdCA6IHB1YmxpYyBzdGQ6OnVuYXJ5X2Z1bmN0aW9uPGNvbnN0IFQqLCBTPgorICAgIHsKKyAgICAgIHB1YmxpYzoKKyAgICAgICAgZXhwbGljaXQgY29uc3RfbWVtX2Z1bl90KFMgKFQ6OipwKSgpIGNvbnN0KQorICAgICAgICAgICAgOgorICAgICAgICAgICAgcHRyKHApCisgICAgICAgIHt9CisgICAgICAgIFMgb3BlcmF0b3IoKShjb25zdCBUKiBwKSBjb25zdAorICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4gKHAtPipwdHIpKCk7CisgICAgICAgIH0KKyAgICAgIHByaXZhdGU6CisgICAgICAgIFMgKFQ6OipwdHIpKCkgY29uc3Q7ICAgICAgICAKKyAgICB9OworCisgICAgdGVtcGxhdGUgPGNsYXNzIFMsIGNsYXNzIFQsIGNsYXNzIEE+CisgICAgY2xhc3MgY29uc3RfbWVtX2Z1bjFfdCA6IHB1YmxpYyBzdGQ6OmJpbmFyeV9mdW5jdGlvbjxjb25zdCBUKiwgQSwgUz4KKyAgICB7CisgICAgICBwdWJsaWM6CisgICAgICAgIGV4cGxpY2l0IGNvbnN0X21lbV9mdW4xX3QoUyAoVDo6KnApKEEpIGNvbnN0KQorICAgICAgICAgICAgOgorICAgICAgICAgICAgcHRyKHApCisgICAgICAgIHt9CisgICAgICAgIFMgb3BlcmF0b3IoKShjb25zdCBUKiBwLCB0eXBlbmFtZSBjYWxsX3RyYWl0czxBPjo6cGFyYW1fdHlwZSB4KSBjb25zdAorICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4gKHAtPipwdHIpKHgpOworICAgICAgICB9CisgICAgICBwcml2YXRlOgorICAgICAgICBTIChUOjoqcHRyKShBKSBjb25zdDsKKyAgICB9OworICAgIAorICAgIHRlbXBsYXRlPGNsYXNzIFMsIGNsYXNzIFQ+CisgICAgaW5saW5lIG1lbV9mdW5fdDxTLFQ+IG1lbV9mdW4oUyAoVDo6KmYpKCkpCisgICAgeworICAgICAgICByZXR1cm4gbWVtX2Z1bl90PFMsVD4oZik7CisgICAgfQorICAgIAorICAgIHRlbXBsYXRlPGNsYXNzIFMsIGNsYXNzIFQsIGNsYXNzIEE+CisgICAgaW5saW5lIG1lbV9mdW4xX3Q8UyxULEE+IG1lbV9mdW4oUyAoVDo6KmYpKEEpKQorICAgIHsKKyAgICAgICAgcmV0dXJuIG1lbV9mdW4xX3Q8UyxULEE+KGYpOworICAgIH0KKworI2lmbmRlZiBCT09TVF9OT19QT0lOVEVSX1RPX01FTUJFUl9DT05TVAorICAgIHRlbXBsYXRlPGNsYXNzIFMsIGNsYXNzIFQ+CisgICAgaW5saW5lIGNvbnN0X21lbV9mdW5fdDxTLFQ+IG1lbV9mdW4oUyAoVDo6KmYpKCkgY29uc3QpCisgICAgeworICAgICAgICByZXR1cm4gY29uc3RfbWVtX2Z1bl90PFMsVD4oZik7CisgICAgfQorICAgIAorICAgIHRlbXBsYXRlPGNsYXNzIFMsIGNsYXNzIFQsIGNsYXNzIEE+CisgICAgaW5saW5lIGNvbnN0X21lbV9mdW4xX3Q8UyxULEE+IG1lbV9mdW4oUyAoVDo6KmYpKEEpIGNvbnN0KQorICAgIHsKKyAgICAgICAgcmV0dXJuIGNvbnN0X21lbV9mdW4xX3Q8UyxULEE+KGYpOworICAgIH0KKyNlbmRpZiAvLyBCT09TVF9OT19QT0lOVEVSX1RPX01FTUJFUl9DT05TVAorCisgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgICAvLyBtZW1fZnVuX3JlZiwgZXRjCisgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgUywgY2xhc3MgVD4KKyAgICBjbGFzcyBtZW1fZnVuX3JlZl90IDogcHVibGljIHN0ZDo6dW5hcnlfZnVuY3Rpb248VCYsIFM+CisgICAgeworICAgICAgcHVibGljOgorICAgICAgICBleHBsaWNpdCBtZW1fZnVuX3JlZl90KFMgKFQ6OipwKSgpKQorICAgICAgICAgICAgOgorICAgICAgICAgICAgcHRyKHApCisgICAgICAgIHt9CisgICAgICAgIFMgb3BlcmF0b3IoKShUJiBwKSBjb25zdAorICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4gKHAuKnB0cikoKTsKKyAgICAgICAgfQorICAgICAgcHJpdmF0ZToKKyAgICAgICAgUyAoVDo6KnB0cikoKTsKKyAgICB9OworCisgICAgdGVtcGxhdGUgPGNsYXNzIFMsIGNsYXNzIFQsIGNsYXNzIEE+CisgICAgY2xhc3MgbWVtX2Z1bjFfcmVmX3QgOiBwdWJsaWMgc3RkOjpiaW5hcnlfZnVuY3Rpb248VCYsIEEsIFM+CisgICAgeworICAgICAgcHVibGljOgorICAgICAgICBleHBsaWNpdCBtZW1fZnVuMV9yZWZfdChTIChUOjoqcCkoQSkpCisgICAgICAgICAgICA6CisgICAgICAgICAgICBwdHIocCkKKyAgICAgICAge30KKyAgICAgICAgUyBvcGVyYXRvcigpKFQmIHAsIHR5cGVuYW1lIGNhbGxfdHJhaXRzPEE+OjpwYXJhbV90eXBlIHgpIGNvbnN0CisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiAocC4qcHRyKSh4KTsKKyAgICAgICAgfQorICAgICAgcHJpdmF0ZToKKyAgICAgICAgUyAoVDo6KnB0cikoQSk7CisgICAgfTsKKyAgICAKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgUywgY2xhc3MgVD4KKyAgICBjbGFzcyBjb25zdF9tZW1fZnVuX3JlZl90IDogcHVibGljIHN0ZDo6dW5hcnlfZnVuY3Rpb248Y29uc3QgVCYsIFM+CisgICAgeworICAgICAgcHVibGljOgorICAgICAgICBleHBsaWNpdCBjb25zdF9tZW1fZnVuX3JlZl90KFMgKFQ6OipwKSgpIGNvbnN0KQorICAgICAgICAgICAgOgorICAgICAgICAgICAgcHRyKHApCisgICAgICAgIHt9CisgICAgICAgIAorICAgICAgICBTIG9wZXJhdG9yKCkoY29uc3QgVCAmcCkgY29uc3QKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJuIChwLipwdHIpKCk7CisgICAgICAgIH0KKyAgICAgIHByaXZhdGU6CisgICAgICAgIFMgKFQ6OipwdHIpKCkgY29uc3Q7CisgICAgfTsKKworICAgIHRlbXBsYXRlIDxjbGFzcyBTLCBjbGFzcyBULCBjbGFzcyBBPgorICAgIGNsYXNzIGNvbnN0X21lbV9mdW4xX3JlZl90IDogcHVibGljIHN0ZDo6YmluYXJ5X2Z1bmN0aW9uPGNvbnN0IFQmLCBBLCBTPgorICAgIHsKKyAgICAgIHB1YmxpYzoKKyAgICAgICAgZXhwbGljaXQgY29uc3RfbWVtX2Z1bjFfcmVmX3QoUyAoVDo6KnApKEEpIGNvbnN0KQorICAgICAgICAgICAgOgorICAgICAgICAgICAgcHRyKHApCisgICAgICAgIHt9CisKKyAgICAgICAgUyBvcGVyYXRvcigpKGNvbnN0IFQmIHAsIHR5cGVuYW1lIGNhbGxfdHJhaXRzPEE+OjpwYXJhbV90eXBlIHgpIGNvbnN0CisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiAocC4qcHRyKSh4KTsKKyAgICAgICAgfQorICAgICAgcHJpdmF0ZToKKyAgICAgICAgUyAoVDo6KnB0cikoQSkgY29uc3Q7CisgICAgfTsKKyAgICAKKyAgICB0ZW1wbGF0ZTxjbGFzcyBTLCBjbGFzcyBUPgorICAgIGlubGluZSBtZW1fZnVuX3JlZl90PFMsVD4gbWVtX2Z1bl9yZWYoUyAoVDo6KmYpKCkpCisgICAgeworICAgICAgICByZXR1cm4gbWVtX2Z1bl9yZWZfdDxTLFQ+KGYpOworICAgIH0KKworICAgIHRlbXBsYXRlPGNsYXNzIFMsIGNsYXNzIFQsIGNsYXNzIEE+CisgICAgaW5saW5lIG1lbV9mdW4xX3JlZl90PFMsVCxBPiBtZW1fZnVuX3JlZihTIChUOjoqZikoQSkpCisgICAgeworICAgICAgICByZXR1cm4gbWVtX2Z1bjFfcmVmX3Q8UyxULEE+KGYpOworICAgIH0KKworI2lmbmRlZiBCT09TVF9OT19QT0lOVEVSX1RPX01FTUJFUl9DT05TVAorICAgIHRlbXBsYXRlPGNsYXNzIFMsIGNsYXNzIFQ+CisgICAgaW5saW5lIGNvbnN0X21lbV9mdW5fcmVmX3Q8UyxUPiBtZW1fZnVuX3JlZihTIChUOjoqZikoKSBjb25zdCkKKyAgICB7CisgICAgICAgIHJldHVybiBjb25zdF9tZW1fZnVuX3JlZl90PFMsVD4oZik7CisgICAgfQorCisgICAgdGVtcGxhdGU8Y2xhc3MgUywgY2xhc3MgVCwgY2xhc3MgQT4KKyAgICBpbmxpbmUgY29uc3RfbWVtX2Z1bjFfcmVmX3Q8UyxULEE+IG1lbV9mdW5fcmVmKFMgKFQ6OipmKShBKSBjb25zdCkKKyAgICB7CisgICAgICAgIHJldHVybiBjb25zdF9tZW1fZnVuMV9yZWZfdDxTLFQsQT4oZik7CisgICAgfSAgIAorI2VuZGlmIC8vIEJPT1NUX05PX1BPSU5URVJfVE9fTUVNQkVSX0NPTlNUCisKKyAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAgIC8vIHB0cl9mdW4KKyAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAgIHRlbXBsYXRlIDxjbGFzcyBBcmcsIGNsYXNzIFJlc3VsdD4KKyAgICBjbGFzcyBwb2ludGVyX3RvX3VuYXJ5X2Z1bmN0aW9uIDogcHVibGljIHN0ZDo6dW5hcnlfZnVuY3Rpb248QXJnLFJlc3VsdD4KKyAgICB7CisgICAgICBwdWJsaWM6CisgICAgICAgIGV4cGxpY2l0IHBvaW50ZXJfdG9fdW5hcnlfZnVuY3Rpb24oUmVzdWx0ICgqZikoQXJnKSkKKyAgICAgICAgICAgIDoKKyAgICAgICAgICAgIGZ1bmMoZikKKyAgICAgICAge30KKworICAgICAgICBSZXN1bHQgb3BlcmF0b3IoKSh0eXBlbmFtZSBjYWxsX3RyYWl0czxBcmc+OjpwYXJhbV90eXBlIHgpIGNvbnN0CisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiBmdW5jKHgpOworICAgICAgICB9CisgICAgICAgIAorICAgICAgcHJpdmF0ZToKKyAgICAgICAgUmVzdWx0ICgqZnVuYykoQXJnKTsKKyAgICB9OworCisgICAgdGVtcGxhdGUgPGNsYXNzIEFyZywgY2xhc3MgUmVzdWx0PgorICAgIGlubGluZSBwb2ludGVyX3RvX3VuYXJ5X2Z1bmN0aW9uPEFyZyxSZXN1bHQ+IHB0cl9mdW4oUmVzdWx0ICgqZikoQXJnKSkKKyAgICB7CisgICAgICAgIHJldHVybiBwb2ludGVyX3RvX3VuYXJ5X2Z1bmN0aW9uPEFyZyxSZXN1bHQ+KGYpOworICAgIH0KKworICAgIHRlbXBsYXRlIDxjbGFzcyBBcmcxLCBjbGFzcyBBcmcyLCBjbGFzcyBSZXN1bHQ+CisgICAgY2xhc3MgcG9pbnRlcl90b19iaW5hcnlfZnVuY3Rpb24gOiBwdWJsaWMgc3RkOjpiaW5hcnlfZnVuY3Rpb248QXJnMSxBcmcyLFJlc3VsdD4KKyAgICB7CisgICAgICBwdWJsaWM6CisgICAgICAgIGV4cGxpY2l0IHBvaW50ZXJfdG9fYmluYXJ5X2Z1bmN0aW9uKFJlc3VsdCAoKmYpKEFyZzEsIEFyZzIpKQorICAgICAgICAgICAgOgorICAgICAgICAgICAgZnVuYyhmKQorICAgICAgICB7fQorICAgICAgICAKKyAgICAgICAgUmVzdWx0IG9wZXJhdG9yKCkodHlwZW5hbWUgY2FsbF90cmFpdHM8QXJnMT46OnBhcmFtX3R5cGUgeCwgdHlwZW5hbWUgY2FsbF90cmFpdHM8QXJnMj46OnBhcmFtX3R5cGUgeSkgY29uc3QKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJuIGZ1bmMoeCx5KTsKKyAgICAgICAgfQorICAgICAgICAKKyAgICAgIHByaXZhdGU6CisgICAgICAgIFJlc3VsdCAoKmZ1bmMpKEFyZzEsIEFyZzIpOworICAgIH07CisKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgQXJnMSwgY2xhc3MgQXJnMiwgY2xhc3MgUmVzdWx0PgorICAgIGlubGluZSBwb2ludGVyX3RvX2JpbmFyeV9mdW5jdGlvbjxBcmcxLEFyZzIsUmVzdWx0PiBwdHJfZnVuKFJlc3VsdCAoKmYpKEFyZzEsIEFyZzIpKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHBvaW50ZXJfdG9fYmluYXJ5X2Z1bmN0aW9uPEFyZzEsQXJnMixSZXN1bHQ+KGYpOworICAgIH0KK30gLy8gbmFtZXNwYWNlIG5kbmJvb3N0CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvZnVuY3Rpb25hbC9mYWN0b3J5LmhwcCBiL25kbmJvb3N0L2Z1bmN0aW9uYWwvZmFjdG9yeS5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTYxNDY1ZAotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L2Z1bmN0aW9uYWwvZmFjdG9yeS5ocHAKQEAgLTAsMCArMSwxNjMgQEAKKy8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAgICBDb3B5cmlnaHQgKGMpIDIwMDcgVG9iaWFzIFNjaHdpbmdlcgorICAKKyAgICBVc2UgbW9kaWZpY2F0aW9uIGFuZCBkaXN0cmlidXRpb24gYXJlIHN1YmplY3QgdG8gdGhlIEJvb3N0IFNvZnR3YXJlIAorICAgIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0CisgICAgaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KS4KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovCisKKyNpZm5kZWYgQk9PU1RfRlVOQ1RJT05BTF9GQUNUT1JZX0hQUF9JTkNMVURFRAorIyAgIGlmbmRlZiBCT09TVF9QUF9JU19JVEVSQVRJTkcKKworIyAgICAgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL2l0ZXJhdGlvbi9pdGVyYXRlLmhwcD4KKyMgICAgIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9yZXBldGl0aW9uL2VudW1fcGFyYW1zLmhwcD4KKyMgICAgIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9yZXBldGl0aW9uL2VudW1fYmluYXJ5X3BhcmFtcy5ocHA+CisKKyMgICAgIGluY2x1ZGUgPG5ldz4KKyMgICAgIGluY2x1ZGUgPG5kbmJvb3N0L3BvaW50ZWUuaHBwPgorIyAgICAgaW5jbHVkZSA8bmRuYm9vc3Qvbm9uZV90LmhwcD4KKyMgICAgIGluY2x1ZGUgPG5kbmJvb3N0L2dldF9wb2ludGVyLmhwcD4KKyMgICAgIGluY2x1ZGUgPG5kbmJvb3N0L25vbl90eXBlLmhwcD4KKyMgICAgIGluY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL3JlbW92ZV9jdi5ocHA+CisKKyMgICAgIGlmbmRlZiBCT09TVF9GVU5DVElPTkFMX0ZBQ1RPUllfTUFYX0FSSVRZCisjICAgICAgIGRlZmluZSBCT09TVF9GVU5DVElPTkFMX0ZBQ1RPUllfTUFYX0FSSVRZIDEwCisjICAgICBlbGlmIEJPT1NUX0ZVTkNUSU9OQUxfRkFDVE9SWV9NQVhfQVJJVFkgPCAzCisjICAgICAgIHVuZGVmICBCT09TVF9GVU5DVElPTkFMX0ZBQ1RPUllfTUFYX0FSSVRZCisjICAgICAgIGRlZmluZSBCT09TVF9GVU5DVElPTkFMX0ZBQ1RPUllfTUFYX0FSSVRZIDMKKyMgICAgIGVuZGlmCisKK25hbWVzcGFjZSBuZG5ib29zdAoreworICAgIGVudW0gZmFjdG9yeV9hbGxvY19wcm9wYWdhdGlvbgorICAgIHsKKyAgICAgICAgZmFjdG9yeV9hbGxvY19mb3JfcG9pbnRlZV9hbmRfZGVsZXRlciwKKyAgICAgICAgZmFjdG9yeV9wYXNzZXNfYWxsb2NfdG9fc21hcnRfcG9pbnRlcgorICAgIH07CisKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgUG9pbnRlciwgY2xhc3MgQWxsb2NhdG9yID0gbmRuYm9vc3Q6Om5vbmVfdCwKKyAgICAgICAgZmFjdG9yeV9hbGxvY19wcm9wYWdhdGlvbiBBUCA9IGZhY3RvcnlfYWxsb2NfZm9yX3BvaW50ZWVfYW5kX2RlbGV0ZXIgPgorICAgIGNsYXNzIGZhY3Rvcnk7CisKKyAgICAvLy0tLS0tIC0tLS0gLS0tIC0tIC0gLSAgLSAgIC0KKworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBQb2ludGVyLCBmYWN0b3J5X2FsbG9jX3Byb3BhZ2F0aW9uIEFQID4KKyAgICBjbGFzcyBmYWN0b3J5PFBvaW50ZXIsIG5kbmJvb3N0Ojpub25lX3QsIEFQPiAKKyAgICB7CisgICAgICBwdWJsaWM6CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbmRuYm9vc3Q6OnJlbW92ZV9jdjxQb2ludGVyPjo6dHlwZSByZXN1bHRfdHlwZTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBuZG5ib29zdDo6cG9pbnRlZTxyZXN1bHRfdHlwZT46OnR5cGUgdmFsdWVfdHlwZTsKKworICAgICAgICBmYWN0b3J5KCkKKyAgICAgICAgeyB9CisKKyMgICAgIGRlZmluZSBCT09TVF9QUF9GSUxFTkFNRV8xIDxuZG5ib29zdC9mdW5jdGlvbmFsL2ZhY3RvcnkuaHBwPgorIyAgICAgZGVmaW5lIEJPT1NUX1BQX0lURVJBVElPTl9MSU1JVFMgKDAsQk9PU1RfRlVOQ1RJT05BTF9GQUNUT1JZX01BWF9BUklUWSkKKyMgICAgIGluY2x1ZGUgQk9PU1RfUFBfSVRFUkFURSgpCisgICAgfTsKKworICAgIHRlbXBsYXRlPCBjbGFzcyBQb2ludGVyLCBjbGFzcyBBbGxvY2F0b3IsIGZhY3RvcnlfYWxsb2NfcHJvcGFnYXRpb24gQVAgPgorICAgIGNsYXNzIGZhY3RvcnkKKyAgICAgICAgOiBwcml2YXRlIEFsbG9jYXRvcjo6dGVtcGxhdGUgcmViaW5kPCB0eXBlbmFtZSBuZG5ib29zdDo6cG9pbnRlZTwKKyAgICAgICAgICAgIHR5cGVuYW1lIG5kbmJvb3N0OjpyZW1vdmVfY3Y8UG9pbnRlcj46OnR5cGUgPjo6dHlwZSA+OjpvdGhlcgorICAgIHsKKyAgICAgIHB1YmxpYzoKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBuZG5ib29zdDo6cmVtb3ZlX2N2PFBvaW50ZXI+Ojp0eXBlIHJlc3VsdF90eXBlOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG5kbmJvb3N0Ojpwb2ludGVlPHJlc3VsdF90eXBlPjo6dHlwZSB2YWx1ZV90eXBlOworCisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgQWxsb2NhdG9yOjp0ZW1wbGF0ZSByZWJpbmQ8dmFsdWVfdHlwZT46Om90aGVyCisgICAgICAgICAgICBhbGxvY2F0b3JfdHlwZTsKKworICAgICAgICBleHBsaWNpdCBmYWN0b3J5KGFsbG9jYXRvcl90eXBlIGNvbnN0ICYgYSA9IGFsbG9jYXRvcl90eXBlKCkpCisgICAgICAgICAgOiBhbGxvY2F0b3JfdHlwZShhKQorICAgICAgICB7IH0KKworICAgICAgcHJpdmF0ZToKKworICAgICAgICBzdHJ1Y3QgZGVsZXRlcgorICAgICAgICAgICAgOiBhbGxvY2F0b3JfdHlwZQorICAgICAgICB7CisgICAgICAgICAgICBpbmxpbmUgZGVsZXRlcihhbGxvY2F0b3JfdHlwZSBjb25zdCYgdGhhdCkgCisgICAgICAgICAgICAgIDogYWxsb2NhdG9yX3R5cGUodGhhdCkKKyAgICAgICAgICAgIHsgfQorCisgICAgICAgICAgICBhbGxvY2F0b3JfdHlwZSYgZ2V0X2FsbG9jYXRvcigpIGNvbnN0CisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgcmV0dXJuICpjb25zdF9jYXN0PGFsbG9jYXRvcl90eXBlKj4oCisgICAgICAgICAgICAgICAgICAgIHN0YXRpY19jYXN0PGFsbG9jYXRvcl90eXBlIGNvbnN0Kj4odGhpcykpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICB2b2lkIG9wZXJhdG9yKCkodmFsdWVfdHlwZSogcHRyKSBjb25zdAorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGlmICghISBwdHIpIHB0ci0+fnZhbHVlX3R5cGUoKTsKKyAgICAgICAgICAgICAgICBjb25zdF9jYXN0PGFsbG9jYXRvcl90eXBlKj4oc3RhdGljX2Nhc3Q8YWxsb2NhdG9yX3R5cGUgY29uc3QqPigKKyAgICAgICAgICAgICAgICAgICAgdGhpcykpLT5kZWFsbG9jYXRlKHB0ciwxKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfTsKKworICAgICAgICBpbmxpbmUgYWxsb2NhdG9yX3R5cGUmIGdldF9hbGxvY2F0b3IoKSBjb25zdAorICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4gKmNvbnN0X2Nhc3Q8YWxsb2NhdG9yX3R5cGUqPigKKyAgICAgICAgICAgICAgICBzdGF0aWNfY2FzdDxhbGxvY2F0b3JfdHlwZSBjb25zdCo+KHRoaXMpKTsKKyAgICAgICAgfQorCisgICAgICAgIGlubGluZSByZXN1bHRfdHlwZSBtYWtlX3BvaW50ZXIodmFsdWVfdHlwZSogcHRyLCBuZG5ib29zdDo6bm9uX3R5cGU8CisgICAgICAgICAgICBmYWN0b3J5X2FsbG9jX3Byb3BhZ2F0aW9uLGZhY3RvcnlfcGFzc2VzX2FsbG9jX3RvX3NtYXJ0X3BvaW50ZXI+KQorICAgICAgICBjb25zdAorICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4gcmVzdWx0X3R5cGUocHRyLGRlbGV0ZXIodGhpcy0+Z2V0X2FsbG9jYXRvcigpKSk7CisgICAgICAgIH0KKyAgICAgICAgaW5saW5lIHJlc3VsdF90eXBlIG1ha2VfcG9pbnRlcih2YWx1ZV90eXBlKiBwdHIsIG5kbmJvb3N0Ojpub25fdHlwZTwKKyAgICAgICAgICAgIGZhY3RvcnlfYWxsb2NfcHJvcGFnYXRpb24sZmFjdG9yeV9hbGxvY19mb3JfcG9pbnRlZV9hbmRfZGVsZXRlcj4pCisgICAgICAgIGNvbnN0CisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiByZXN1bHRfdHlwZShwdHIsZGVsZXRlcih0aGlzLT5nZXRfYWxsb2NhdG9yKCkpLAorICAgICAgICAgICAgICAgIHRoaXMtPmdldF9hbGxvY2F0b3IoKSk7CisgICAgICAgIH0KKworICAgICAgcHVibGljOgorCisjICAgICBkZWZpbmUgQk9PU1RfVE1QX01BQ1JPCisjICAgICBkZWZpbmUgQk9PU1RfUFBfRklMRU5BTUVfMSA8bmRuYm9vc3QvZnVuY3Rpb25hbC9mYWN0b3J5LmhwcD4KKyMgICAgIGRlZmluZSBCT09TVF9QUF9JVEVSQVRJT05fTElNSVRTICgwLEJPT1NUX0ZVTkNUSU9OQUxfRkFDVE9SWV9NQVhfQVJJVFkpCisjICAgICBpbmNsdWRlIEJPT1NUX1BQX0lURVJBVEUoKQorIyAgICAgdW5kZWYgQk9PU1RfVE1QX01BQ1JPCisgICAgfTsKKworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBQb2ludGVyLCBjbGFzcyBBbGxvY2F0b3IsIGZhY3RvcnlfYWxsb2NfcHJvcGFnYXRpb24gQVAgPiAKKyAgICBjbGFzcyBmYWN0b3J5PFBvaW50ZXImLCBBbGxvY2F0b3IsIEFQPjsKKyAgICAvLyBmb3JiaWRkZW4sIHdvdWxkIGNyZWF0ZSBhIGRhbmdsaW5nIHJlZmVyZW5jZQorfQorCisjICAgICBkZWZpbmUgQk9PU1RfRlVOQ1RJT05BTF9GQUNUT1JZX0hQUF9JTkNMVURFRAorIyAgIGVsc2UgLy8gZGVmaW5lZChCT09TVF9QUF9JU19JVEVSQVRJTkcpCisjICAgICBkZWZpbmUgTiBCT09TVF9QUF9JVEVSQVRJT04oKQorIyAgICAgaWYgIWRlZmluZWQoQk9PU1RfVE1QX01BQ1JPKQorIyAgICAgICBpZiBOID4gMAorICAgIHRlbXBsYXRlPCBCT09TVF9QUF9FTlVNX1BBUkFNUyhOLCB0eXBlbmFtZSBUKSA+CisjICAgICAgIGVuZGlmCisgICAgaW5saW5lIHJlc3VsdF90eXBlIG9wZXJhdG9yKCkoQk9PU1RfUFBfRU5VTV9CSU5BUllfUEFSQU1TKE4sVCwmIGEpKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIHJlc3VsdF90eXBlKCBuZXcgdmFsdWVfdHlwZShCT09TVF9QUF9FTlVNX1BBUkFNUyhOLGEpKSApOworICAgIH0KKyMgICAgIGVsc2UgLy8gZGVmaW5lZChCT09TVF9UTVBfTUFDUk8pCisjICAgICAgIGlmIE4gPiAwCisgICAgdGVtcGxhdGU8IEJPT1NUX1BQX0VOVU1fUEFSQU1TKE4sIHR5cGVuYW1lIFQpID4KKyMgICAgICAgZW5kaWYKKyAgICBpbmxpbmUgcmVzdWx0X3R5cGUgb3BlcmF0b3IoKShCT09TVF9QUF9FTlVNX0JJTkFSWV9QQVJBTVMoTixULCYgYSkpIGNvbnN0CisgICAgeworICAgICAgICB2YWx1ZV90eXBlKiBtZW1vcnkgPSB0aGlzLT5nZXRfYWxsb2NhdG9yKCkuYWxsb2NhdGUoMSk7CisgICAgICAgIHRyeQorICAgICAgICB7IAorICAgICAgICAgICAgcmV0dXJuIG1ha2VfcG9pbnRlcigKKyAgICAgICAgICAgICAgICBuZXcobWVtb3J5KSB2YWx1ZV90eXBlKEJPT1NUX1BQX0VOVU1fUEFSQU1TKE4sYSkpLAorICAgICAgICAgICAgICAgIG5kbmJvb3N0Ojpub25fdHlwZTxmYWN0b3J5X2FsbG9jX3Byb3BhZ2F0aW9uLEFQPigpICk7CisgICAgICAgIH0KKyAgICAgICAgY2F0Y2ggKC4uLikgeyB0aGlzLT5nZXRfYWxsb2NhdG9yKCkuZGVhbGxvY2F0ZShtZW1vcnksMSk7IHRocm93OyB9CisgICAgfQorIyAgICAgZW5kaWYKKyMgICAgIHVuZGVmIE4KKyMgICBlbmRpZiAvLyBkZWZpbmVkKEJPT1NUX1BQX0lTX0lURVJBVElORykKKworI2VuZGlmIC8vIGluY2x1ZGUgZ3VhcmQKKwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvZnVuY3Rpb25hbC9mb3J3YXJkX2FkYXB0ZXIuaHBwIGIvbmRuYm9vc3QvZnVuY3Rpb25hbC9mb3J3YXJkX2FkYXB0ZXIuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJiYjU2MjMKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9mdW5jdGlvbmFsL2ZvcndhcmRfYWRhcHRlci5ocHAKQEAgLTAsMCArMSw0NzIgQEAKKy8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAgICBDb3B5cmlnaHQgKGMpIDIwMDctMjAwOCBUb2JpYXMgU2Nod2luZ2VyCisgIAorICAgIFVzZSBtb2RpZmljYXRpb24gYW5kIGRpc3RyaWJ1dGlvbiBhcmUgc3ViamVjdCB0byB0aGUgQm9vc3QgU29mdHdhcmUgCisgICAgTGljZW5zZSwgVmVyc2lvbiAxLjAuIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQKKyAgICBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpLiAgCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLworCisjaWZuZGVmIEJPT1NUX0ZVTkNUSU9OQUxfRk9SV0FSRF9BREFQVEVSX0hQUF9JTkNMVURFRAorIyAgIGlmbmRlZiBCT09TVF9QUF9JU19JVEVSQVRJTkcKKworIyAgIGluY2x1ZGUgPG5kbmJvb3N0L2NvbmZpZy5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvZGV0YWlsL3dvcmthcm91bmQuaHBwPgorCisjICAgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL2l0ZXJhdGlvbi9pdGVyYXRlLmhwcD4KKyMgICBpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3IvcmVwZXRpdGlvbi9lbnVtX3BhcmFtcy5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL3JlcGV0aXRpb24vZW51bV9iaW5hcnlfcGFyYW1zLmhwcD4KKyMgICBpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3IvZmFjaWxpdGllcy9pbnRlcmNlcHQuaHBwPgorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9hcml0aG1ldGljL2RlYy5ocHA+CisKKyMgICBpbmNsdWRlIDxuZG5ib29zdC91dGlsaXR5L3Jlc3VsdF9vZi5ocHA+CisKKyMgICBpZm5kZWYgQk9PU1RfRlVOQ1RJT05BTF9GT1JXQVJEX0FEQVBURVJfTUFYX0FSSVRZCisjICAgICBkZWZpbmUgQk9PU1RfRlVOQ1RJT05BTF9GT1JXQVJEX0FEQVBURVJfTUFYX0FSSVRZIDYKKyMgICBlbGlmIEJPT1NUX0ZVTkNUSU9OQUxfRk9SV0FSRF9BREFQVEVSX01BWF9BUklUWSA8IDMKKyMgICAgIHVuZGVmICBCT09TVF9GVU5DVElPTkFMX0ZPUldBUkRfQURBUFRFUl9NQVhfQVJJVFkKKyMgICAgIGRlZmluZSBCT09TVF9GVU5DVElPTkFMX0ZPUldBUkRfQURBUFRFUl9NQVhfQVJJVFkgMworIyAgIGVuZGlmCisKKworbmFtZXNwYWNlIG5kbmJvb3N0IAoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBGdW5jdGlvbiwgaW50IEFyaXR5X09yX01pbkFyaXR5ID0gLTEsIGludCBNYXhBcml0eSA9IC0xID4KKyAgICBjbGFzcyBmb3J3YXJkX2FkYXB0ZXI7CisKKyAgICAvLy0tLS0tIC0tLS0gLS0tIC0tIC0gLSAgLSAgIC0KKworICAgIG5hbWVzcGFjZSBkZXRhaWwKKyAgICB7CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBNb3N0RGVyaXZlZCwgdHlwZW5hbWUgRnVuY3Rpb24sIHR5cGVuYW1lIEZ1bmN0aW9uQ29uc3QsIAorICAgICAgICAgICAgaW50IEFyaXR5LCBpbnQgTWluQXJpdHkgPgorICAgICAgICBzdHJ1Y3QgZm9yd2FyZF9hZGFwdGVyX2ltcGw7CisKKyAgICAgICAgc3RydWN0IGZvcndhcmRfYWRhcHRlcl9yZXN1bHQKKyAgICAgICAgeworICAgICAgICAgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFNpZyA+IHN0cnVjdCBhcHBseTsKKworICAgICAgICAgICAgLy8gVXRpbGl0eSBtZXRhZnVuY3Rpb24gZm9yIHF1YWxpZmljYXRpb24gYWRqdXN0bWVudCBvbiBhcmd1bWVudHMKKyAgICAgICAgICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBUID4gc3RydWN0IHEgICAgICAgICAgeyB0eXBlZGVmIFQgY29uc3QgdDsgfTsKKyAgICAgICAgICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBUID4gc3RydWN0IHE8VCBjb25zdD4geyB0eXBlZGVmIFQgY29uc3QgdDsgfTsKKyAgICAgICAgICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBUID4gc3RydWN0IHE8VCAmPiAgICAgeyB0eXBlZGVmIFQgICAgICAgdDsgfTsKKworICAgICAgICAgICAgLy8gVXRpbGl0eSBtZXRhZnVuY3Rpb24gdG8gY2hvb3NlIHRhcmdldCBmdW5jdGlvbiBxdWFsaWZpY2F0aW9uCisgICAgICAgICAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVCA+IHN0cnVjdCBjCisgICAgICAgICAgICB7IHR5cGVkZWYgdHlwZW5hbWUgVDo6dGFyZ2V0X2Z1bmN0aW9uX3QgdDsgfTsKKyAgICAgICAgICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBUID4gc3RydWN0IGM8VCYgICAgICA+CisgICAgICAgICAgICB7IHR5cGVkZWYgdHlwZW5hbWUgVDo6dGFyZ2V0X2Z1bmN0aW9uX3QgdDsgfTsKKyAgICAgICAgICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBUID4gc3RydWN0IGM8VCBjb25zdCA+CisgICAgICAgICAgICB7IHR5cGVkZWYgdHlwZW5hbWUgVDo6dGFyZ2V0X2Z1bmN0aW9uX2NvbnN0X3QgdDsgfTsKKyAgICAgICAgICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBUID4gc3RydWN0IGM8VCBjb25zdCY+CisgICAgICAgICAgICB7IHR5cGVkZWYgdHlwZW5hbWUgVDo6dGFyZ2V0X2Z1bmN0aW9uX2NvbnN0X3QgdDsgfTsKKyAgICAgICAgfTsKKyAgICB9CisKKyMgICBkZWZpbmUgQk9PU1RfVE1QX01BQ1JPKGYsZm4sZmMpIFwKKyAgICAgICAgbmRuYm9vc3Q6OmRldGFpbDo6Zm9yd2FyZF9hZGFwdGVyX2ltcGw8IFwKKyAgICAgICAgICAgIGZvcndhcmRfYWRhcHRlcjxmLEFyaXR5X09yX01pbkFyaXR5LE1heEFyaXR5PiwgZm4sIGZjLCBcCisgICAgICAgICAgICAoTWF4QXJpdHkhPS0xPyBNYXhBcml0eSA6QXJpdHlfT3JfTWluQXJpdHkhPS0xPyBBcml0eV9Pcl9NaW5Bcml0eSBcCisgICAgICAgICAgICAgICAgOkJPT1NUX0ZVTkNUSU9OQUxfRk9SV0FSRF9BREFQVEVSX01BWF9BUklUWSksIFwKKyAgICAgICAgICAgIChBcml0eV9Pcl9NaW5Bcml0eSE9LTE/IEFyaXR5X09yX01pbkFyaXR5IDogMCkgPgorCisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIEZ1bmN0aW9uLCBpbnQgQXJpdHlfT3JfTWluQXJpdHksIGludCBNYXhBcml0eSA+CisgICAgY2xhc3MgZm9yd2FyZF9hZGFwdGVyCisgICAgICAgIDogcHVibGljIEJPT1NUX1RNUF9NQUNSTyhGdW5jdGlvbixGdW5jdGlvbixGdW5jdGlvbiBjb25zdCkKKyAgICAgICAgLCBwcml2YXRlIEZ1bmN0aW9uCisgICAgeworICAgICAgcHVibGljOgorICAgICAgICBmb3J3YXJkX2FkYXB0ZXIoRnVuY3Rpb24gY29uc3QmIGYgPSBGdW5jdGlvbigpKSAKKyAgICAgICAgICA6IEZ1bmN0aW9uKGYpIAorICAgICAgICB7IH0KKworICAgICAgICB0eXBlZGVmIEZ1bmN0aW9uICAgICAgICB0YXJnZXRfZnVuY3Rpb25fdDsKKyAgICAgICAgdHlwZWRlZiBGdW5jdGlvbiBjb25zdCAgdGFyZ2V0X2Z1bmN0aW9uX2NvbnN0X3Q7CisKKyAgICAgICAgRnVuY3Rpb24gICAgICAgJiB0YXJnZXRfZnVuY3Rpb24oKSAgICAgICB7IHJldHVybiAqdGhpczsgfQorICAgICAgICBGdW5jdGlvbiBjb25zdCAmIHRhcmdldF9mdW5jdGlvbigpIGNvbnN0IHsgcmV0dXJuICp0aGlzOyB9CisKKyAgICAgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFNpZyA+IHN0cnVjdCByZXN1bHQKKyAgICAgICAgICAgIDogZGV0YWlsOjpmb3J3YXJkX2FkYXB0ZXJfcmVzdWx0Ojp0ZW1wbGF0ZSBhcHBseTxTaWc+CisgICAgICAgIHsgfTsKKworICAgICAgICB1c2luZyBCT09TVF9UTVBfTUFDUk8oRnVuY3Rpb24sRnVuY3Rpb24sIEZ1bmN0aW9uIGNvbnN0KTo6b3BlcmF0b3IoKTsKKyAgICB9OworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBGdW5jdGlvbiwgaW50IEFyaXR5X09yX01pbkFyaXR5LCBpbnQgTWF4QXJpdHkgPgorICAgIGNsYXNzIGZvcndhcmRfYWRhcHRlcjwgRnVuY3Rpb24gY29uc3QsIEFyaXR5X09yX01pbkFyaXR5LCBNYXhBcml0eSA+CisgICAgICAgIDogcHVibGljIEJPT1NUX1RNUF9NQUNSTyhGdW5jdGlvbiBjb25zdCwgRnVuY3Rpb24gY29uc3QsIEZ1bmN0aW9uIGNvbnN0KQorICAgICAgICAsIHByaXZhdGUgRnVuY3Rpb24KKyAgICB7CisgICAgICBwdWJsaWM6CisgICAgICAgIGZvcndhcmRfYWRhcHRlcihGdW5jdGlvbiBjb25zdCYgZiA9IEZ1bmN0aW9uKCkpCisgICAgICAgICAgOiBGdW5jdGlvbihmKSAKKyAgICAgICAgeyB9CisKKyAgICAgICAgdHlwZWRlZiBGdW5jdGlvbiBjb25zdCB0YXJnZXRfZnVuY3Rpb25fdDsKKyAgICAgICAgdHlwZWRlZiBGdW5jdGlvbiBjb25zdCB0YXJnZXRfZnVuY3Rpb25fY29uc3RfdDsKKworICAgICAgICBGdW5jdGlvbiBjb25zdCAmIHRhcmdldF9mdW5jdGlvbigpIGNvbnN0IHsgcmV0dXJuICp0aGlzOyB9CisKKyAgICAgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFNpZyA+IHN0cnVjdCByZXN1bHQKKyAgICAgICAgICAgIDogZGV0YWlsOjpmb3J3YXJkX2FkYXB0ZXJfcmVzdWx0Ojp0ZW1wbGF0ZSBhcHBseTxTaWc+CisgICAgICAgIHsgfTsKKworICAgICAgICB1c2luZyBCT09TVF9UTVBfTUFDUk8oRnVuY3Rpb24gY29uc3QsRnVuY3Rpb24gY29uc3QsIEZ1bmN0aW9uIGNvbnN0KQorICAgICAgICAgICAgOjpvcGVyYXRvcigpOworICAgIH07CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIEZ1bmN0aW9uLCBpbnQgQXJpdHlfT3JfTWluQXJpdHksIGludCBNYXhBcml0eSA+CisgICAgY2xhc3MgZm9yd2FyZF9hZGFwdGVyPCBGdW5jdGlvbiAmLCBBcml0eV9Pcl9NaW5Bcml0eSwgTWF4QXJpdHkgPgorICAgICAgICA6IHB1YmxpYyBCT09TVF9UTVBfTUFDUk8oRnVuY3Rpb24mLCBGdW5jdGlvbiwgRnVuY3Rpb24pCisgICAgeworICAgICAgICBGdW5jdGlvbiYgcmVmX2Z1bmN0aW9uOworICAgICAgcHVibGljOgorICAgICAgICBmb3J3YXJkX2FkYXB0ZXIoRnVuY3Rpb24mIGYpCisgICAgICAgICAgOiByZWZfZnVuY3Rpb24oZikgCisgICAgICAgIHsgfQorCisgICAgICAgIHR5cGVkZWYgRnVuY3Rpb24gdGFyZ2V0X2Z1bmN0aW9uX3Q7CisgICAgICAgIHR5cGVkZWYgRnVuY3Rpb24gdGFyZ2V0X2Z1bmN0aW9uX2NvbnN0X3Q7CisKKyAgICAgICAgRnVuY3Rpb24gJiB0YXJnZXRfZnVuY3Rpb24oKSBjb25zdCB7IHJldHVybiB0aGlzLT5yZWZfZnVuY3Rpb247IH0KKworICAgICAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgU2lnID4gc3RydWN0IHJlc3VsdAorICAgICAgICAgICAgOiBkZXRhaWw6OmZvcndhcmRfYWRhcHRlcl9yZXN1bHQ6OnRlbXBsYXRlIGFwcGx5PFNpZz4KKyAgICAgICAgeyB9OworCisgICAgICAgIHVzaW5nIEJPT1NUX1RNUF9NQUNSTyhGdW5jdGlvbiYsIEZ1bmN0aW9uLCBGdW5jdGlvbik6Om9wZXJhdG9yKCk7CisgICAgfTsgCisKKyAgICAjdW5kZWYgQk9PU1RfVE1QX01BQ1JPCisKKyAgICBuYW1lc3BhY2UgZGV0YWlsCisgICAgeworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgU2VsZiA+CisgICAgICAgIHN0cnVjdCBmb3J3YXJkX2FkYXB0ZXJfcmVzdWx0OjphcHBseTwgU2VsZigpID4KKyAgICAgICAgICAgIDogbmRuYm9vc3Q6OnJlc3VsdF9vZjwgQk9PU1RfREVEVUNFRF9UWVBFTkFNRSBjPFNlbGY+Ojp0KCkgPgorICAgICAgICB7IH07CisKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIE1ELCBjbGFzcyBGLCBjbGFzcyBGQyA+CisgICAgICAgIHN0cnVjdCBmb3J3YXJkX2FkYXB0ZXJfaW1wbDxNRCxGLEZDLDAsMD4KKyAgICAgICAgeworICAgICAgICAgICAgaW5saW5lIHR5cGVuYW1lIG5kbmJvb3N0OjpyZXN1bHRfb2Y8IEZDKCkgPjo6dHlwZQorICAgICAgICAgICAgb3BlcmF0b3IoKSgpIGNvbnN0CisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PE1EIGNvbnN0Kj4odGhpcyktPnRhcmdldF9mdW5jdGlvbigpKCk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGlubGluZSB0eXBlbmFtZSBuZG5ib29zdDo6cmVzdWx0X29mPCBGKCkgPjo6dHlwZQorICAgICAgICAgICAgb3BlcmF0b3IoKSgpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PE1EKj4odGhpcyktPnRhcmdldF9mdW5jdGlvbigpKCk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgLy8gY2xvc2luZyBicmFjZSBnZXRzIGdlbmVyYXRlZCBieSBwcmVwcm9jZXNzaW5nIGNvZGUsIGJlbG93CisKKyMgICAgICAgZGVmaW5lIEJPT1NUX1RNUF9NQUNSTyh0cGxfcGFyYW1zLGFyZ190eXBlcyxwYXJhbXMsYXJncykgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgIHRlbXBsYXRlPCB0cGxfcGFyYW1zID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICBpbmxpbmUgdHlwZW5hbWUgbmRuYm9vc3Q6OnJlc3VsdF9vZjwgRkMoYXJnX3R5cGVzKSA+Ojp0eXBlICAgICAgICAgICAgXAorICAgICAgICAgICAgb3BlcmF0b3IoKShwYXJhbXMpIGNvbnN0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PE1EIGNvbnN0Kj4odGhpcyktPnRhcmdldF9mdW5jdGlvbigpKGFyZ3MpOyAgXAorICAgICAgICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgIHRlbXBsYXRlPCB0cGxfcGFyYW1zID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICBpbmxpbmUgdHlwZW5hbWUgbmRuYm9vc3Q6OnJlc3VsdF9vZjwgRihhcmdfdHlwZXMpPjo6dHlwZSAgICAgICAgICAgICAgXAorICAgICAgICAgICAgb3BlcmF0b3IoKShwYXJhbXMpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PE1EKj4odGhpcyktPnRhcmdldF9mdW5jdGlvbigpKGFyZ3MpOyAgICAgICAgXAorICAgICAgICAgICAgfQorCisjICAgICAgIC8vIFRoaXMgaXMgdGhlIHRvdGFsIG51bWJlciBvZiBpdGVyYXRpb25zIHdlIG5lZWQKKyMgICAgICAgZGVmaW5lIGNvdW50ICgoMSA8PCBCT09TVF9GVU5DVElPTkFMX0ZPUldBUkRfQURBUFRFUl9NQVhfQVJJVFkrMSktMikKKworIyAgICAgICAvLyBDaGFpbiBmaWxlIGl0ZXJhdGlvbiB0byB2aXJ0dWFsbHkgb25lIGxvb3AKKyMgICAgICAgaWYgQk9PU1RfRlVOQ1RJT05BTF9GT1JXQVJEX0FEQVBURVJfTUFYX0FSSVRZIDw9IDcKKyMgICAgICAgICBkZWZpbmUgbGltaXQxIGNvdW50CisjICAgICAgICAgZGVmaW5lIGxpbWl0MiAwCisjICAgICAgICAgZGVmaW5lIGxpbWl0MyAwCisjICAgICAgIGVsc2UKKyMgICAgICAgICBpZiBCT09TVF9GVU5DVElPTkFMX0ZPUldBUkRfQURBUFRFUl9NQVhfQVJJVFkgPD0gMTUKKyMgICAgICAgICAgIGRlZmluZSBsaW1pdDEgKGNvdW50ID4+IDgpCisjICAgICAgICAgICBkZWZpbmUgbGltaXQyIDI1NQorIyAgICAgICAgICAgZGVmaW5lIGxpbWl0MyAwCisjICAgICAgICAgZWxzZQorIyAgICAgICAgICAgZGVmaW5lIGxpbWl0MSAoY291bnQgPj4gMTYpCisjICAgICAgICAgICBkZWZpbmUgbGltaXQyIDI1NQorIyAgICAgICAgICAgZGVmaW5lIGxpbWl0MyAyNTUKKyMgICAgICAgICBlbmRpZgorIyAgICAgICBlbmRpZgorCisjICAgICAgIGRlZmluZSBOIDAKKworIyAgICAgICBkZWZpbmUgIEJPT1NUX1BQX0ZJTEVOQU1FXzEgPG5kbmJvb3N0L2Z1bmN0aW9uYWwvZm9yd2FyZF9hZGFwdGVyLmhwcD4KKyMgICAgICAgZGVmaW5lICBCT09TVF9QUF9JVEVSQVRJT05fTElNSVRTICgwLGxpbWl0MSkKKyMgICAgICAgaW5jbHVkZSBCT09TVF9QUF9JVEVSQVRFKCkKKworIyAgICAgICB1bmRlZiBOCisjICAgICAgIHVuZGVmIGxpbWl0MworIyAgICAgICB1bmRlZiBsaW1pdDIKKyMgICAgICAgdW5kZWYgbGltaXQxCisjICAgICAgIHVuZGVmIGNvdW50CisjICAgICAgIHVuZGVmIEJPT1NUX1RNUF9NQUNSTworCisgICAgICAgIH07CisKKyAgICB9IC8vIG5hbWVzcGFjZSBkZXRhaWwKKworICAgIHRlbXBsYXRlPGNsYXNzIEYsIGludCBBMCwgaW50IEExPgorICAgIHN0cnVjdCByZXN1bHRfb2Y8bmRuYm9vc3Q6OmZvcndhcmRfYWRhcHRlcjxGLEEwLEExPiBjb25zdCAoKT4KKyAgICAgICAgOiBuZG5ib29zdDo6ZGV0YWlsOjpmb3J3YXJkX2FkYXB0ZXJfcmVzdWx0Ojp0ZW1wbGF0ZSBhcHBseTwKKyAgICAgICAgICAgIG5kbmJvb3N0Ojpmb3J3YXJkX2FkYXB0ZXI8RixBMCxBMT4gY29uc3QgKCkgPgorICAgIHsgfTsKKyAgICB0ZW1wbGF0ZTxjbGFzcyBGLCBpbnQgQTAsIGludCBBMT4KKyAgICBzdHJ1Y3QgcmVzdWx0X29mPG5kbmJvb3N0Ojpmb3J3YXJkX2FkYXB0ZXI8RixBMCxBMT4oKT4KKyAgICAgICAgOiBuZG5ib29zdDo6ZGV0YWlsOjpmb3J3YXJkX2FkYXB0ZXJfcmVzdWx0Ojp0ZW1wbGF0ZSBhcHBseTwKKyAgICAgICAgICAgIG5kbmJvb3N0Ojpmb3J3YXJkX2FkYXB0ZXI8RixBMCxBMT4oKSA+CisgICAgeyB9OworICAgIHRlbXBsYXRlPGNsYXNzIEYsIGludCBBMCwgaW50IEExPgorICAgIHN0cnVjdCByZXN1bHRfb2Y8bmRuYm9vc3Q6OmZvcndhcmRfYWRhcHRlcjxGLEEwLEExPiBjb25zdCYgKCk+CisgICAgICAgIDogbmRuYm9vc3Q6OmRldGFpbDo6Zm9yd2FyZF9hZGFwdGVyX3Jlc3VsdDo6dGVtcGxhdGUgYXBwbHk8CisgICAgICAgICAgICBuZG5ib29zdDo6Zm9yd2FyZF9hZGFwdGVyPEYsQTAsQTE+IGNvbnN0ICgpID4KKyAgICB7IH07CisgICAgdGVtcGxhdGU8Y2xhc3MgRiwgaW50IEEwLCBpbnQgQTE+CisgICAgc3RydWN0IHJlc3VsdF9vZjxuZG5ib29zdDo6Zm9yd2FyZF9hZGFwdGVyPEYsQTAsQTE+JiAoKT4KKyAgICAgICAgOiBuZG5ib29zdDo6ZGV0YWlsOjpmb3J3YXJkX2FkYXB0ZXJfcmVzdWx0Ojp0ZW1wbGF0ZSBhcHBseTwKKyAgICAgICAgICAgIG5kbmJvb3N0Ojpmb3J3YXJkX2FkYXB0ZXI8RixBMCxBMT4oKSA+CisgICAgeyB9OworfQorCisjICAgICAgIGRlZmluZSBCT09TVF9GVU5DVElPTkFMX0ZPUldBUkRfQURBUFRFUl9IUFBfSU5DTFVERUQKKworIyAgIGVsaWYgQk9PU1RfUFBfSVRFUkFUSU9OX0RFUFRIKCkgPT0gMSAmJiBsaW1pdDIKKyMgICAgIGRlZmluZSAgQk9PU1RfUFBfRklMRU5BTUVfMiA8bmRuYm9vc3QvZnVuY3Rpb25hbC9mb3J3YXJkX2FkYXB0ZXIuaHBwPgorIyAgICAgZGVmaW5lICBCT09TVF9QUF9JVEVSQVRJT05fTElNSVRTICgwLGxpbWl0MikKKyMgICAgIGluY2x1ZGUgQk9PU1RfUFBfSVRFUkFURSgpCisjICAgZWxpZiBCT09TVF9QUF9JVEVSQVRJT05fREVQVEgoKSA9PSAyICYmIGxpbWl0MworIyAgICAgZGVmaW5lICBCT09TVF9QUF9GSUxFTkFNRV8zIDxuZG5ib29zdC9mdW5jdGlvbmFsL2ZvcndhcmRfYWRhcHRlci5ocHA+CisjICAgICBkZWZpbmUgIEJPT1NUX1BQX0lURVJBVElPTl9MSU1JVFMgKDAsbGltaXQzKQorIyAgICAgaW5jbHVkZSBCT09TVF9QUF9JVEVSQVRFKCkKKworIyAgIGVsc2UKKworIyAgICAgLy8gSSBpcyB0aGUgbG9vcCBjb3VudGVyCisjICAgICBpZiBsaW1pdDIgJiYgbGltaXQzCisjICAgICAgIGRlZmluZSBJIChCT09TVF9QUF9JVEVSQVRJT05fMSA8PCAxNiB8IEJPT1NUX1BQX0lURVJBVElPTl8yIDw8IDggfCBcCisgICAgICAgICAgICBCT09TVF9QUF9JVEVSQVRJT05fMykKKyMgICAgIGVsaWYgbGltaXQyCisjICAgICAgIGRlZmluZSBJIChCT09TVF9QUF9JVEVSQVRJT05fMSA8PCA4IHwgQk9PU1RfUFBfSVRFUkFUSU9OXzIpCisjICAgICBlbHNlCisjICAgICAgIGRlZmluZSBJIEJPT1NUX1BQX0lURVJBVElPTl8xCisjICAgICBlbmRpZgorCisjICAgICBpZiBJIDwgY291bnQKKworIyAgICAgICAvLyBEb25lIGZvciB0aGlzIGFyaXR5PyBJbmNyZW1lbnQgTgorIyAgICAgICBpZiAoSSsyID4+IE4rMSkgCisjICAgICAgICAgaWYgTiA9PSAwCisjICAgICAgICAgICB1bmRlZiBOCisjICAgICAgICAgICBkZWZpbmUgTiAxCisjICAgICAgICAgZWxpZiBOID09IDEKKyMgICAgICAgICAgIHVuZGVmIE4KKyMgICAgICAgICAgIGRlZmluZSBOIDIKKyMgICAgICAgICBlbGlmIE4gPT0gMgorIyAgICAgICAgICAgdW5kZWYgTgorIyAgICAgICAgICAgZGVmaW5lIE4gMworIyAgICAgICAgIGVsaWYgTiA9PSAzCisjICAgICAgICAgICB1bmRlZiBOCisjICAgICAgICAgICBkZWZpbmUgTiA0CisjICAgICAgICAgZWxpZiBOID09IDQKKyMgICAgICAgICAgIHVuZGVmIE4KKyMgICAgICAgICAgIGRlZmluZSBOIDUKKyMgICAgICAgICBlbGlmIE4gPT0gNQorIyAgICAgICAgICAgdW5kZWYgTgorIyAgICAgICAgICAgZGVmaW5lIE4gNgorIyAgICAgICAgIGVsaWYgTiA9PSA2CisjICAgICAgICAgICB1bmRlZiBOCisjICAgICAgICAgICBkZWZpbmUgTiA3CisjICAgICAgICAgZWxpZiBOID09IDcKKyMgICAgICAgICAgIHVuZGVmIE4KKyMgICAgICAgICAgIGRlZmluZSBOIDgKKyMgICAgICAgICBlbGlmIE4gPT0gOAorIyAgICAgICAgICAgdW5kZWYgTgorIyAgICAgICAgICAgZGVmaW5lIE4gOQorIyAgICAgICAgIGVsaWYgTiA9PSA5CisjICAgICAgICAgICB1bmRlZiBOCisjICAgICAgICAgICBkZWZpbmUgTiAxMAorIyAgICAgICAgIGVsaWYgTiA9PSAxMAorIyAgICAgICAgICAgdW5kZWYgTgorIyAgICAgICAgICAgZGVmaW5lIE4gMTEKKyMgICAgICAgICBlbGlmIE4gPT0gMTEKKyMgICAgICAgICAgIHVuZGVmIE4KKyMgICAgICAgICAgIGRlZmluZSBOIDEyCisjICAgICAgICAgZWxpZiBOID09IDEyCisjICAgICAgICAgICB1bmRlZiBOCisjICAgICAgICAgICBkZWZpbmUgTiAxMworIyAgICAgICAgIGVsaWYgTiA9PSAxMworIyAgICAgICAgICAgdW5kZWYgTgorIyAgICAgICAgICAgZGVmaW5lIE4gMTQKKyMgICAgICAgICBlbGlmIE4gPT0gMTQKKyMgICAgICAgICAgIHVuZGVmIE4KKyMgICAgICAgICAgIGRlZmluZSBOIDE1CisjICAgICAgICAgZWxpZiBOID09IDE1CisjICAgICAgICAgICB1bmRlZiBOCisjICAgICAgICAgICBkZWZpbmUgTiAxNgorIyAgICAgICAgIGVuZGlmCisKKyAgICAgICAgfTsKKworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgU2VsZiwgQk9PU1RfUFBfRU5VTV9QQVJBTVMoTix0eXBlbmFtZSBUKSA+CisgICAgICAgIHN0cnVjdCBmb3J3YXJkX2FkYXB0ZXJfcmVzdWx0OjphcHBseTwgU2VsZihCT09TVF9QUF9FTlVNX1BBUkFNUyhOLFQpKSA+CisgICAgICAgICAgICA6IG5kbmJvb3N0OjpyZXN1bHRfb2Y8IAorICAgICAgICAgICAgICAgIEJPT1NUX0RFRFVDRURfVFlQRU5BTUUgYzxTZWxmPjo6dChCT09TVF9QUF9FTlVNX0JJTkFSWV9QQVJBTVMoTiwgCisgICAgICAgICAgICAgICAgICAgICAgdHlwZW5hbWUgcTxULD46OnQmIEJPT1NUX1BQX0lOVEVSQ0VQVCkpID4KKyAgICAgICAgeyB9OworCisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBNRCwgY2xhc3MgRiwgY2xhc3MgRkMgPgorICAgICAgICBzdHJ1Y3QgZm9yd2FyZF9hZGFwdGVyX2ltcGw8TUQsRixGQyxCT09TVF9QUF9ERUMoTiksTj4KKyAgICAgICAgeworICAgICAgICAgICAgdGVtcGxhdGU8IEJPT1NUX1BQX0VOVU1fUEFSQU1TKE4sdHlwZW5hbWUgVCkgPgorICAgICAgICAgICAgaW5saW5lIHR5cGVuYW1lIG5kbmJvb3N0OjpyZXN1bHRfb2Y8IEYoCisgICAgICAgICAgICAgICAgQk9PU1RfUFBfRU5VTV9CSU5BUllfUEFSQU1TKE4sVCwmIEJPT1NUX1BQX0lOVEVSQ0VQVCkpID46OnR5cGUKKyAgICAgICAgICAgIG9wZXJhdG9yKCkoQk9PU1RfUFBfRU5VTV9CSU5BUllfUEFSQU1TKE4sVCwmIEJPT1NUX1BQX0lOVEVSQ0VQVCkpOworICAgICAgICB9OworCisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBNRCwgY2xhc3MgRiwgY2xhc3MgRkMsIGludCBNaW5Bcml0eSA+CisgICAgICAgIHN0cnVjdCBmb3J3YXJkX2FkYXB0ZXJfaW1wbDxNRCxGLEZDLE4sTWluQXJpdHk+CisgICAgICAgICAgICA6IGZvcndhcmRfYWRhcHRlcl9pbXBsPE1ELEYsRkMsQk9PU1RfUFBfREVDKE4pLE1pbkFyaXR5PgorICAgICAgICB7CisgICAgICAgICAgICB1c2luZyBmb3J3YXJkX2FkYXB0ZXJfaW1wbDxNRCxGLEZDLEJPT1NUX1BQX0RFQyhOKSxNaW5Bcml0eT46Om9wZXJhdG9yKCk7CisKKyMgICAgICAgZW5kaWYKKworIyAgICAgICAvLyBaZXJvIGJhc2VkIGNvdW50IGZvciBlYWNoIGFyaXR5IHdvdWxkIGJlIEktKDE8PE4pKzIsIGJ1dCB3ZSBkb24ndAorIyAgICAgICAvLyBuZWVkIGl0LCB1bmxlc3Mgd2UgbmVlZCBhIG5pY2VyIG9yZGVyLgorCisjICAgICAgIC8vIE1hY3JvcyBmb3IgdGhlIHBhcmFtZXRlcidzIHR5cGUgbW9kaWZpZXJzLgorIyAgICAgICBpZiBJICYgMHgwMDAwMDEKKyMgICAgICAgICBkZWZpbmUgUFQwIFQwICYKKyMgICAgICAgZWxzZQorIyAgICAgICAgIGRlZmluZSBQVDAgVDAgY29uc3QgJgorIyAgICAgICBlbmRpZgorIyAgICAgICBpZiBJICYgMHgwMDAwMDIKKyMgICAgICAgICBkZWZpbmUgUFQxIFQxICYKKyMgICAgICAgZWxzZQorIyAgICAgICAgIGRlZmluZSBQVDEgVDEgY29uc3QgJgorIyAgICAgICBlbmRpZgorIyAgICAgICBpZiBJICYgMHgwMDAwMDQKKyMgICAgICAgICBkZWZpbmUgUFQyIFQyICYKKyMgICAgICAgZWxzZQorIyAgICAgICAgIGRlZmluZSBQVDIgVDIgY29uc3QgJgorIyAgICAgICBlbmRpZgorIyAgICAgICBpZiBJICYgMHgwMDAwMDgKKyMgICAgICAgICBkZWZpbmUgUFQzIFQzICYKKyMgICAgICAgZWxzZQorIyAgICAgICAgIGRlZmluZSBQVDMgVDMgY29uc3QgJgorIyAgICAgICBlbmRpZgorIyAgICAgICBpZiBJICYgMHgwMDAwMTAKKyMgICAgICAgICBkZWZpbmUgUFQ0IFQ0ICYKKyMgICAgICAgZWxzZQorIyAgICAgICAgIGRlZmluZSBQVDQgVDQgY29uc3QgJgorIyAgICAgICBlbmRpZgorIyAgICAgICBpZiBJICYgMHgwMDAwMjAKKyMgICAgICAgICBkZWZpbmUgUFQ1IFQ1ICYKKyMgICAgICAgZWxzZQorIyAgICAgICAgIGRlZmluZSBQVDUgVDUgY29uc3QgJgorIyAgICAgICBlbmRpZgorIyAgICAgICBpZiBJICYgMHgwMDAwNDAKKyMgICAgICAgICBkZWZpbmUgUFQ2IFQ2ICYKKyMgICAgICAgZWxzZQorIyAgICAgICAgIGRlZmluZSBQVDYgVDYgY29uc3QgJgorIyAgICAgICBlbmRpZgorIyAgICAgICBpZiBJICYgMHgwMDAwODAKKyMgICAgICAgICBkZWZpbmUgUFQ3IFQ3ICYKKyMgICAgICAgZWxzZQorIyAgICAgICAgIGRlZmluZSBQVDcgVDcgY29uc3QgJgorIyAgICAgICBlbmRpZgorIyAgICAgICBpZiBJICYgMHgwMDAxMDAKKyMgICAgICAgICBkZWZpbmUgUFQ4IFQ4ICYKKyMgICAgICAgZWxzZQorIyAgICAgICAgIGRlZmluZSBQVDggVDggY29uc3QgJgorIyAgICAgICBlbmRpZgorIyAgICAgICBpZiBJICYgMHgwMDAyMDAKKyMgICAgICAgICBkZWZpbmUgUFQ5IFQ5ICYKKyMgICAgICAgZWxzZQorIyAgICAgICAgIGRlZmluZSBQVDkgVDkgY29uc3QgJgorIyAgICAgICBlbmRpZgorIyAgICAgICBpZiBJICYgMHgwMDA0MDAKKyMgICAgICAgICBkZWZpbmUgUFQxMCBUMTAgJgorIyAgICAgICBlbHNlCisjICAgICAgICAgZGVmaW5lIFBUMTAgVDEwIGNvbnN0ICYKKyMgICAgICAgZW5kaWYKKyMgICAgICAgaWYgSSAmIDB4MDAwODAwCisjICAgICAgICAgZGVmaW5lIFBUMTEgVDExICYKKyMgICAgICAgZWxzZQorIyAgICAgICAgIGRlZmluZSBQVDExIFQxMSBjb25zdCAmCisjICAgICAgIGVuZGlmCisjICAgICAgIGlmIEkgJiAweDAwMTAwMAorIyAgICAgICAgIGRlZmluZSBQVDEyIFQxMiAmCisjICAgICAgIGVsc2UKKyMgICAgICAgICBkZWZpbmUgUFQxMiBUMTIgY29uc3QgJgorIyAgICAgICBlbmRpZgorIyAgICAgICBpZiBJICYgMHgwMDIwMDAKKyMgICAgICAgICBkZWZpbmUgUFQxMyBUMTMgJgorIyAgICAgICBlbHNlCisjICAgICAgICAgZGVmaW5lIFBUMTMgVDEzIGNvbnN0ICYKKyMgICAgICAgZW5kaWYKKyMgICAgICAgaWYgSSAmIDB4MDA0MDAwCisjICAgICAgICAgZGVmaW5lIFBUMTQgVDE0ICYKKyMgICAgICAgZWxzZQorIyAgICAgICAgIGRlZmluZSBQVDE0IFQxNCBjb25zdCAmCisjICAgICAgIGVuZGlmCisjICAgICAgIGlmIEkgJiAweDAwODAwMAorIyAgICAgICAgIGRlZmluZSBQVDE1IFQxNSAmCisjICAgICAgIGVsc2UKKyMgICAgICAgICBkZWZpbmUgUFQxNSBUMTUgY29uc3QgJgorIyAgICAgICBlbmRpZgorCisjICAgICAgIGlmIEJPT1NUX1dPUktBUk9VTkQoQk9PU1RfTVNWQyxCT09TVF9URVNURURfQVQoMTQwMCkpIAorICAgICAgICAgICAgdGVtcGxhdGU8IEJPT1NUX1BQX0VOVU1fUEFSQU1TKE4sdHlwZW5hbWUgVCkgPgorICAgICAgICAgICAgaW5saW5lIHR5cGVuYW1lIG5kbmJvb3N0OjpyZXN1bHRfb2Y8ICBGQyhCT09TVF9QUF9FTlVNX1BBUkFNUyhOLFBUKSkgCisgICAgICAgICAgICAgICAgPjo6dHlwZQorICAgICAgICAgICAgb3BlcmF0b3IoKShCT09TVF9QUF9FTlVNX0JJTkFSWV9QQVJBTVMoTixQVCxhKSkgY29uc3QKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8TUQgY29uc3QqIGNvbnN0Pih0aGlzKQorICAgICAgICAgICAgICAgICAgICAtPnRhcmdldF9mdW5jdGlvbigpKEJPT1NUX1BQX0VOVU1fUEFSQU1TKE4sYSkpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgdGVtcGxhdGU8IEJPT1NUX1BQX0VOVU1fUEFSQU1TKE4sdHlwZW5hbWUgVCkgPgorICAgICAgICAgICAgaW5saW5lIHR5cGVuYW1lIG5kbmJvb3N0OjpyZXN1bHRfb2Y8ICBGKEJPT1NUX1BQX0VOVU1fUEFSQU1TKE4sUFQpKQorICAgICAgICAgICAgICAgID46OnR5cGUKKyAgICAgICAgICAgIG9wZXJhdG9yKCkoQk9PU1RfUFBfRU5VTV9CSU5BUllfUEFSQU1TKE4sUFQsYSkpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PE1EKiBjb25zdD4odGhpcykKKyAgICAgICAgICAgICAgICAgICAgLT50YXJnZXRfZnVuY3Rpb24oKShCT09TVF9QUF9FTlVNX1BBUkFNUyhOLGEpKTsKKyAgICAgICAgICAgIH0KKyMgICAgICAgZWxzZQorICAgICAgICBCT09TVF9UTVBfTUFDUk8oQk9PU1RfUFBfRU5VTV9QQVJBTVMoTix0eXBlbmFtZSBUKSwKKyAgICAgICAgICAgIEJPT1NUX1BQX0VOVU1fUEFSQU1TKE4sUFQpLCBCT09TVF9QUF9FTlVNX0JJTkFSWV9QQVJBTVMoTixQVCxhKSwKKyAgICAgICAgICAgIEJPT1NUX1BQX0VOVU1fUEFSQU1TKE4sYSkgKQorICAgICAgICAvLyAuLi5nZW5lcmF0ZXMgdWdsaWVyIGNvZGUgYnV0IGlzIGZhc3RlciAtIGl0IGNhY2hlcyBFTlVNXyoKKyMgICAgICAgZW5kaWYKKworIyAgICAgICB1bmRlZiBQVDAKKyMgICAgICAgdW5kZWYgUFQxCisjICAgICAgIHVuZGVmIFBUMgorIyAgICAgICB1bmRlZiBQVDMKKyMgICAgICAgdW5kZWYgUFQ0CisjICAgICAgIHVuZGVmIFBUNQorIyAgICAgICB1bmRlZiBQVDYKKyMgICAgICAgdW5kZWYgUFQ3CisjICAgICAgIHVuZGVmIFBUOAorIyAgICAgICB1bmRlZiBQVDkKKyMgICAgICAgdW5kZWYgUFQxMAorIyAgICAgICB1bmRlZiBQVDExCisjICAgICAgIHVuZGVmIFBUMTIKKyMgICAgICAgdW5kZWYgUFQxMworIyAgICAgICB1bmRlZiBQVDE0CisjICAgICAgIHVuZGVmIFBUMTUKKworIyAgICAgZW5kaWYgLy8gSSA8IGNvdW50CisKKyMgICAgIHVuZGVmIEkKKyMgICBlbmRpZiAvLyBkZWZpbmVkKEJPT1NUX1BQX0lTX0lURVJBVElORykKKworI2VuZGlmIC8vIGluY2x1ZGUgZ3VhcmQKKwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvZnVuY3Rpb25hbC9oYXNoLmhwcCBiL25kbmJvb3N0L2Z1bmN0aW9uYWwvaGFzaC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmNjNjhiYwotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L2Z1bmN0aW9uYWwvaGFzaC5ocHAKQEAgLTAsMCArMSw3IEBACisKKy8vIENvcHlyaWdodCAyMDA1LTIwMDkgRGFuaWVsIEphbWVzLgorLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAoU2VlIGFjY29tcGFueWluZworLy8gZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisKKyNpbmNsdWRlIDxuZG5ib29zdC9mdW5jdGlvbmFsL2hhc2gvaGFzaC5ocHA+CisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L2Z1bmN0aW9uYWwvaGFzaC9kZXRhaWwvZmxvYXRfZnVuY3Rpb25zLmhwcCBiL25kbmJvb3N0L2Z1bmN0aW9uYWwvaGFzaC9kZXRhaWwvZmxvYXRfZnVuY3Rpb25zLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41YTZkY2U0Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvZnVuY3Rpb25hbC9oYXNoL2RldGFpbC9mbG9hdF9mdW5jdGlvbnMuaHBwCkBAIC0wLDAgKzEsMzM2IEBACisKKy8vIENvcHlyaWdodCAyMDA1LTIwMDkgRGFuaWVsIEphbWVzLgorLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAoU2VlIGFjY29tcGFueWluZworLy8gZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisKKyNpZiAhZGVmaW5lZChCT09TVF9GVU5DVElPTkFMX0hBU0hfREVUQUlMX0ZMT0FUX0ZVTkNUSU9OU19IUFApCisjZGVmaW5lIEJPT1NUX0ZVTkNUSU9OQUxfSEFTSF9ERVRBSUxfRkxPQVRfRlVOQ1RJT05TX0hQUAorCisjaW5jbHVkZSA8bmRuYm9vc3QvY29uZmlnLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9jb25maWcvbm9fdHIxL2NtYXRoLmhwcD4KKworI2lmIGRlZmluZWQoX01TQ19WRVIpICYmIChfTVNDX1ZFUiA+PSAxMDIwKQorIyBwcmFnbWEgb25jZQorI2VuZGlmCisKKy8vIFNldCBCT09TVF9IQVNIX0NPTkZPUk1BTlRfRkxPQVRTIHRvIDEgZm9yIGxpYnJhcmllcyBrbm93biB0byBoYXZlCisvLyBzdWZmaWNpZW50bHkgZ29vZCBmbG9hdGluZyBwb2ludCBzdXBwb3J0IHRvIG5vdCByZXF1aXJlIGFueQorLy8gd29ya2Fyb3VuZHMuCisvLworLy8gV2hlbiBzZXQgdG8gMCwgdGhlIGxpYnJhcnkgdHJpZXMgdG8gYXV0b21hdGljYWxseQorLy8gdXNlIHRoZSBiZXN0IGF2YWlsYWJsZSBpbXBsZW1lbnRhdGlvbi4gVGhpcyBub3JtYWxseSB3b3JrcyB3ZWxsLCBidXQKKy8vIGJyZWFrcyB3aGVuIGFtYmlndWl0aWVzIGFyZSBjcmVhdGVkIGJ5IG9kZCBuYW1lc3BhY2luZyBvZiB0aGUgZnVuY3Rpb25zLgorLy8KKy8vIE5vdGUgdGhhdCBpZiB0aGlzIGlzIHNldCB0byAwLCB0aGUgbGlicmFyeSBzaG91bGQgc3RpbGwgdGFrZSBmdWxsCisvLyBhZHZhbnRhZ2Ugb2YgdGhlIHBsYXRmb3JtJ3MgZmxvYXRpbmcgcG9pbnQgc3VwcG9ydC4KKworI2lmIGRlZmluZWQoX19TR0lfU1RMX1BPUlQpIHx8IGRlZmluZWQoX1NUTFBPUlRfVkVSU0lPTikKKyMgICBkZWZpbmUgQk9PU1RfSEFTSF9DT05GT1JNQU5UX0ZMT0FUUyAwCisjZWxpZiBkZWZpbmVkKF9fTElCQ09NT19fKQorIyAgIGRlZmluZSBCT09TVF9IQVNIX0NPTkZPUk1BTlRfRkxPQVRTIDAKKyNlbGlmIGRlZmluZWQoX19TVERfUldDT01QSUxFUl9IX18pIHx8IGRlZmluZWQoX1JXU1REX1ZFUikKKy8vIFJvZ3VlIFdhdmUgbGlicmFyeToKKyMgICBkZWZpbmUgQk9PU1RfSEFTSF9DT05GT1JNQU5UX0ZMT0FUUyAwCisjZWxpZiBkZWZpbmVkKF9MSUJDUFBfVkVSU0lPTikKKy8vIGxpYmMrKworIyAgIGRlZmluZSBCT09TVF9IQVNIX0NPTkZPUk1BTlRfRkxPQVRTIDEKKyNlbGlmIGRlZmluZWQoX19HTElCQ1BQX18pIHx8IGRlZmluZWQoX19HTElCQ1hYX18pCisvLyBHTlUgbGlic3RkYysrIDMKKyMgICBpZiBkZWZpbmVkKF9fR05VQ19fKSAmJiBfX0dOVUNfXyA+PSA0CisjICAgICAgIGRlZmluZSBCT09TVF9IQVNIX0NPTkZPUk1BTlRfRkxPQVRTIDEKKyMgICBlbHNlCisjICAgICAgIGRlZmluZSBCT09TVF9IQVNIX0NPTkZPUk1BTlRfRkxPQVRTIDAKKyMgICBlbmRpZgorI2VsaWYgZGVmaW5lZChfX1NUTF9DT05GSUdfSCkKKy8vIGdlbmVyaWMgU0dJIFNUTAorIyAgIGRlZmluZSBCT09TVF9IQVNIX0NPTkZPUk1BTlRfRkxPQVRTIDAKKyNlbGlmIGRlZmluZWQoX19NU0xfQ1BQX18pCisvLyBNU0wgc3RhbmRhcmQgbGliOgorIyAgIGRlZmluZSBCT09TVF9IQVNIX0NPTkZPUk1BTlRfRkxPQVRTIDAKKyNlbGlmIGRlZmluZWQoX19JQk1DUFBfXykKKy8vIFZBQ1BQIHN0ZCBsaWIgKHByb2JhYmx5IGNvbmZvcm1hbnQgZm9yIG11Y2ggZWFybGllciB2ZXJzaW9uKS4KKyMgICBpZiBfX0lCTUNQUF9fID49IDEyMTAKKyMgICAgICAgZGVmaW5lIEJPT1NUX0hBU0hfQ09ORk9STUFOVF9GTE9BVFMgMQorIyAgIGVsc2UKKyMgICAgICAgZGVmaW5lIEJPT1NUX0hBU0hfQ09ORk9STUFOVF9GTE9BVFMgMAorIyAgIGVuZGlmCisjZWxpZiBkZWZpbmVkKE1TSVBMX0NPTVBJTEVfSCkKKy8vIE1vZGVuYSBDKysgc3RhbmRhcmQgbGlicmFyeQorIyAgIGRlZmluZSBCT09TVF9IQVNIX0NPTkZPUk1BTlRfRkxPQVRTIDAKKyNlbGlmIChkZWZpbmVkKF9ZVkFMUykgJiYgIWRlZmluZWQoX19JQk1DUFBfXykpIHx8IGRlZmluZWQoX0NQUExJQl9WRVIpCisvLyBEaW5rdW13YXJlIExpYnJhcnkgKHRoaXMgaGFzIHRvIGFwcGVhciBhZnRlciBhbnkgcG9zc2libGUgcmVwbGFjZW1lbnQgbGlicmFyaWVzKToKKyMgICBpZiBfQ1BQTElCX1ZFUiA+PSA0MDUKKyMgICAgICAgZGVmaW5lIEJPT1NUX0hBU0hfQ09ORk9STUFOVF9GTE9BVFMgMQorIyAgIGVsc2UKKyMgICAgICAgZGVmaW5lIEJPT1NUX0hBU0hfQ09ORk9STUFOVF9GTE9BVFMgMAorIyAgIGVuZGlmCisjZWxzZQorIyAgIGRlZmluZSBCT09TVF9IQVNIX0NPTkZPUk1BTlRfRkxPQVRTIDAKKyNlbmRpZgorCisjaWYgQk9PU1RfSEFTSF9DT05GT1JNQU5UX0ZMT0FUUworCisvLyBUaGUgc3RhbmRhcmQgbGlicmFyeSBpcyBrbm93biB0byBiZSBjb21wbGlhbnQsIHNvIGRvbid0IHVzZSB0aGUKKy8vIGNvbmZpZ3VyYXRpb24gbWVjaGFuaXNtLgorCituYW1lc3BhY2UgbmRuYm9vc3QgeworICAgIG5hbWVzcGFjZSBoYXNoX2RldGFpbCB7CisgICAgICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBGbG9hdD4KKyAgICAgICAgc3RydWN0IGNhbGxfbGRleHAgeworICAgICAgICAgICAgdHlwZWRlZiBGbG9hdCBmbG9hdF90eXBlOworICAgICAgICAgICAgaW5saW5lIEZsb2F0IG9wZXJhdG9yKCkoRmxvYXQgeCwgaW50IHkpIGNvbnN0IHsKKyAgICAgICAgICAgICAgICByZXR1cm4gc3RkOjpsZGV4cCh4LCB5KTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfTsKKworICAgICAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgRmxvYXQ+CisgICAgICAgIHN0cnVjdCBjYWxsX2ZyZXhwIHsKKyAgICAgICAgICAgIHR5cGVkZWYgRmxvYXQgZmxvYXRfdHlwZTsKKyAgICAgICAgICAgIGlubGluZSBGbG9hdCBvcGVyYXRvcigpKEZsb2F0IHgsIGludCogeSkgY29uc3QgeworICAgICAgICAgICAgICAgIHJldHVybiBzdGQ6OmZyZXhwKHgsIHkpOworICAgICAgICAgICAgfQorICAgICAgICB9OworCisgICAgICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBGbG9hdD4KKyAgICAgICAgc3RydWN0IHNlbGVjdF9oYXNoX3R5cGUKKyAgICAgICAgeworICAgICAgICAgICAgdHlwZWRlZiBGbG9hdCB0eXBlOworICAgICAgICB9OworICAgIH0KK30KKworI2Vsc2UgLy8gQk9PU1RfSEFTSF9DT05GT1JNQU5UX0ZMT0FUUyA9PSAwCisKKy8vIFRoZSBDKysgc3RhbmRhcmQgcmVxdWlyZXMgdGhhdCB0aGUgQyBmbG9hdCBmdW5jdGlvbnMgYXJlIG92ZXJsb2FyZGVkCisvLyBmb3IgZmxvYXQsIGRvdWJsZSBhbmQgbG9uZyBkb3VibGUgaW4gdGhlIHN0ZCBuYW1lc3BhY2UsIGJ1dCBzb21lIG9mIHRoZSBvbGRlcgorLy8gbGlicmFyeSBpbXBsZW1lbnRhdGlvbnMgZG9uJ3Qgc3VwcG9ydCB0aGlzLiBPbiBzb21lIHRoYXQgZG9uJ3QsIHRoZSBDOTkKKy8vIGZsb2F0IGZ1bmN0aW9ucyAoZnJleHBmLCBmcmV4cGwsIGV0Yy4pIGFyZSBhdmFpbGFibGUuCisvLworLy8gVGhlIGZvbGxvd2luZyB0cmllcyB0byBhdXRvbWF0aWNhbGx5IGRldGVjdCB3aGljaCBhcmUgYXZhaWxhYmxlLgorCituYW1lc3BhY2UgbmRuYm9vc3QgeworICAgIG5hbWVzcGFjZSBoYXNoX2RldGFpbCB7CisKKyAgICAgICAgLy8gUmV0dXJuZWQgYnkgZHVtbXkgdmVyc2lvbnMgb2YgdGhlIGZsb2F0IGZ1bmN0aW9ucy4KKyAgICAKKyAgICAgICAgc3RydWN0IG5vdF9mb3VuZCB7CisgICAgICAgICAgICAvLyBJbXBsaWNpdGx5IGNvbnZlcnRpYmxlIHRvIGZsb2F0IGFuZCBsb25nIGRvdWJsZSBpbiBvcmRlciB0byBhdm9pZAorICAgICAgICAgICAgLy8gYSBjb21waWxlIGVycm9yIHdoZW4gdGhlIGR1bW15IGZsb2F0IGZ1bmN0aW9ucyBhcmUgdXNlZC4KKworICAgICAgICAgICAgaW5saW5lIG9wZXJhdG9yIGZsb2F0KCkgY29uc3QgeyByZXR1cm4gMDsgfQorICAgICAgICAgICAgaW5saW5lIG9wZXJhdG9yIGxvbmcgZG91YmxlKCkgY29uc3QgeyByZXR1cm4gMDsgfQorICAgICAgICB9OworICAgICAgICAgIAorICAgICAgICAvLyBBIHR5cGUgZm9yIGRldGVjdGluZyB0aGUgcmV0dXJuIHR5cGUgb2YgZnVuY3Rpb25zLgorCisgICAgICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBUPiBzdHJ1Y3QgaXM7CisgICAgICAgIHRlbXBsYXRlIDw+IHN0cnVjdCBpczxmbG9hdD4geyBjaGFyIHhbMTBdOyB9OworICAgICAgICB0ZW1wbGF0ZSA8PiBzdHJ1Y3QgaXM8ZG91YmxlPiB7IGNoYXIgeFsyMF07IH07CisgICAgICAgIHRlbXBsYXRlIDw+IHN0cnVjdCBpczxsb25nIGRvdWJsZT4geyBjaGFyIHhbMzBdOyB9OworICAgICAgICB0ZW1wbGF0ZSA8PiBzdHJ1Y3QgaXM8bmRuYm9vc3Q6Omhhc2hfZGV0YWlsOjpub3RfZm91bmQ+IHsgY2hhciB4WzQwXTsgfTsKKyAgICAgICAgICAgIAorICAgICAgICAvLyBVc2VkIHRvIGNvbnZlcnQgdGhlIHJldHVybiB0eXBlIG9mIGEgZnVuY3Rpb24gdG8gYSB0eXBlIGZvciBzaXplb2YuCisKKyAgICAgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFQ+IGlzPFQ+IGZsb2F0X3R5cGUoVCk7CisKKyAgICAgICAgLy8gY2FsbF9sZGV4cAorICAgICAgICAvLworICAgICAgICAvLyBUaGlzIHdpbGwgZ2V0IHNwZWNpYWxpemVkIGZvciBmbG9hdCBhbmQgbG9uZyBkb3VibGUKKyAgICAgICAgCisgICAgICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBGbG9hdD4gc3RydWN0IGNhbGxfbGRleHAKKyAgICAgICAgeworICAgICAgICAgICAgdHlwZWRlZiBkb3VibGUgZmxvYXRfdHlwZTsKKyAgICAgICAgICAgIAorICAgICAgICAgICAgaW5saW5lIGRvdWJsZSBvcGVyYXRvcigpKGRvdWJsZSBhLCBpbnQgYikgY29uc3QKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICB1c2luZyBuYW1lc3BhY2Ugc3RkOworICAgICAgICAgICAgICAgIHJldHVybiBsZGV4cChhLCBiKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfTsKKworICAgICAgICAvLyBjYWxsX2ZyZXhwCisgICAgICAgIC8vCisgICAgICAgIC8vIFRoaXMgd2lsbCBnZXQgc3BlY2lhbGl6ZWQgZm9yIGZsb2F0IGFuZCBsb25nIGRvdWJsZQorCisgICAgICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBGbG9hdD4gc3RydWN0IGNhbGxfZnJleHAKKyAgICAgICAgeworICAgICAgICAgICAgdHlwZWRlZiBkb3VibGUgZmxvYXRfdHlwZTsKKyAgICAgICAgICAgIAorICAgICAgICAgICAgaW5saW5lIGRvdWJsZSBvcGVyYXRvcigpKGRvdWJsZSBhLCBpbnQqIGIpIGNvbnN0CisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgdXNpbmcgbmFtZXNwYWNlIHN0ZDsKKyAgICAgICAgICAgICAgICByZXR1cm4gZnJleHAoYSwgYik7CisgICAgICAgICAgICB9CisgICAgICAgIH07CisgICAgfQorfQorICAgICAgICAgICAgCisvLyBBIG5hbWVzcGFjZSBmb3IgZHVtbXkgZnVuY3Rpb25zIHRvIGRldGVjdCB3aGVuIHRoZSBhY3R1YWwgZnVuY3Rpb24gd2Ugd2FudAorLy8gaXNuJ3QgYXZhaWxhYmxlLiBsZGV4cGwsIGxkZXhwZiBldGMuIG1pZ2h0IGJlIGFkZGVkIHRieSB0aGUgbWFjcm9zIGJlbG93LgorLy8KKy8vIEFGQUlDVCB0aGVzZSBoYXZlIHRvIGJlIG91dHNpZGUgb2YgdGhlIGJvb3N0IG5hbWVzcGFjZSwgYXMgaWYgdGhleSdyZSBpbgorLy8gdGhlIGJvb3N0IG5hbWVzcGFjZSB0aGV5J2xsIGFsd2F5cyBiZSBwcmVmZXJhYmxlIHRvIGFueSBvdGhlciBmdW5jdGlvbgorLy8gKHNpbmNlIHRoZSBhcmd1bWVudHMgYXJlIGJ1aWx0IGluIHR5cGVzLCBBREwgY2FuJ3QgYmUgdXNlZCkuCisKK25hbWVzcGFjZSBuZG5ib29zdF9oYXNoX2RldGVjdF9mbG9hdF9mdW5jdGlvbnMgeworICAgIHRlbXBsYXRlIDxjbGFzcyBGbG9hdD4gbmRuYm9vc3Q6Omhhc2hfZGV0YWlsOjpub3RfZm91bmQgbGRleHAoRmxvYXQsIGludCk7CisgICAgdGVtcGxhdGUgPGNsYXNzIEZsb2F0PiBuZG5ib29zdDo6aGFzaF9kZXRhaWw6Om5vdF9mb3VuZCBmcmV4cChGbG9hdCwgaW50Kik7ICAgIAorfQorCisvLyBNYWNyb3MgZm9yIGdlbmVyYXRpbmcgc3BlY2lhbGl6YXRpb25zIG9mIGNhbGxfbGRleHAgYW5kIGNhbGxfZnJleHAuCisvLworLy8gY2hlY2tfY3BwIGFuZCBjaGVja19jOTkgY2hlY2sgaWYgdGhlIEMrKyBvciBDOTkgZnVuY3Rpb25zIGFyZSBhdmFpbGFibGUuCisvLworLy8gVGhlbiB0aGUgY2FsbF8qIGZ1bmN0aW9ucyBzZWxlY3QgYW4gYXBwcm9wcmlhdGUgaW1wbGVtZW50YXRpb24uCisvLworLy8gSSB1c2VkIGM5OV9mdW5jIGluIGEgZmV3IHBsYWNlcyBqdXN0IHRvIGdldCBhIHVuaXF1ZSBuYW1lLgorLy8KKy8vIEltcG9ydGFudDogd2hlbiB1c2luZyAndXNpbmcgbmFtZXNwYWNlJyBhdCBuYW1lc3BhY2UgbGV2ZWwsIGluY2x1ZGUgYXMKKy8vIGxpdHRsZSBhcyBwb3NzaWJsZSBpbiB0aGF0IG5hbWVzcGFjZSwgYXMgVmlzdWFsIEMrKyBoYXMgYW4gb2RkIGJ1ZyB3aGljaAorLy8gY2FuIGNhdXNlIHRoZSBuYW1lc3BhY2UgdG8gYmUgaW1wb3J0ZWQgYXQgdGhlIGdsb2JhbCBsZXZlbC4gVGhpcyBzZWVtcyB0bworLy8gaGFwcGVuIG1haW5seSB3aGVuIHRoZXJlJ3MgYSB0ZW1wbGF0ZSBpbiB0aGUgc2FtZSBuYW1lc2FwY2UuCisKKyNkZWZpbmUgQk9PU1RfSEFTSF9DQUxMX0ZMT0FUX0ZVTkMoY3BwX2Z1bmMsIGM5OV9mdW5jLCB0eXBlMSwgdHlwZTIpICAgIFwKK25hbWVzcGFjZSBuZG5ib29zdF9oYXNoX2RldGVjdF9mbG9hdF9mdW5jdGlvbnMgeyAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgRmxvYXQ+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBuZG5ib29zdDo6aGFzaF9kZXRhaWw6Om5vdF9mb3VuZCBjOTlfZnVuYyhGbG9hdCwgdHlwZTIpOyAgICAgICAgICAgICAgIFwKK30gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKK25hbWVzcGFjZSBuZG5ib29zdCB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBuYW1lc3BhY2UgaGFzaF9kZXRhaWwgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgbmFtZXNwYWNlIGM5OV9mdW5jIyNfZGV0ZWN0IHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgIHVzaW5nIG5hbWVzcGFjZSBzdGQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgIHVzaW5nIG5hbWVzcGFjZSBuZG5ib29zdF9oYXNoX2RldGVjdF9mbG9hdF9mdW5jdGlvbnM7ICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgIHN0cnVjdCBjaGVjayB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICBzdGF0aWMgdHlwZTEgeDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICBzdGF0aWMgdHlwZTIgeTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoYm9vbCwgY3BwID0gICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKGZsb2F0X3R5cGUoY3BwX2Z1bmMoeCx5KSkpICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgID09IHNpemVvZihpczx0eXBlMT4pKTsgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoYm9vbCwgYzk5ID0gICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKGZsb2F0X3R5cGUoYzk5X2Z1bmMoeCx5KSkpICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgID09IHNpemVvZihpczx0eXBlMT4pKTsgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgIH07ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgdGVtcGxhdGUgPGJvb2wgeD4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgc3RydWN0IGNhbGxfYzk5XyMjYzk5X2Z1bmMgOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgIG5kbmJvb3N0OjpoYXNoX2RldGFpbDo6Y2FsbF8jI2NwcF9mdW5jPGRvdWJsZT4ge307ICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgdGVtcGxhdGUgPD4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgc3RydWN0IGNhbGxfYzk5XyMjYzk5X2Z1bmM8dHJ1ZT4geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgIHR5cGVkZWYgdHlwZTEgZmxvYXRfdHlwZTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBUPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgIGlubGluZSB0eXBlMSBvcGVyYXRvcigpKHR5cGUxIGEsIFQgYikgIGNvbnN0ICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICB1c2luZyBuYW1lc3BhY2Ugc3RkOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICByZXR1cm4gYzk5X2Z1bmMoYSwgYik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgfTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgdGVtcGxhdGUgPGJvb2wgeD4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgc3RydWN0IGNhbGxfY3BwXyMjYzk5X2Z1bmMgOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgIGNhbGxfYzk5XyMjYzk5X2Z1bmM8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICA6Om5kbmJvb3N0OjpoYXNoX2RldGFpbDo6Yzk5X2Z1bmMjI19kZXRlY3Q6OmNoZWNrOjpjOTkgICAgIFwKKyAgICAgICAgICAgID4ge307ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgdGVtcGxhdGUgPD4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgc3RydWN0IGNhbGxfY3BwXyMjYzk5X2Z1bmM8dHJ1ZT4geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgIHR5cGVkZWYgdHlwZTEgZmxvYXRfdHlwZTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBUPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgIGlubGluZSB0eXBlMSBvcGVyYXRvcigpKHR5cGUxIGEsIFQgYikgIGNvbnN0ICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICB1c2luZyBuYW1lc3BhY2Ugc3RkOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICByZXR1cm4gY3BwX2Z1bmMoYSwgYik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgfTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgdGVtcGxhdGUgPD4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgc3RydWN0IGNhbGxfIyNjcHBfZnVuYzx0eXBlMT4gOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgIGNhbGxfY3BwXyMjYzk5X2Z1bmM8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICA6Om5kbmJvb3N0OjpoYXNoX2RldGFpbDo6Yzk5X2Z1bmMjI19kZXRlY3Q6OmNoZWNrOjpjcHAgICAgIFwKKyAgICAgICAgICAgID4ge307ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKK30KKworI2RlZmluZSBCT09TVF9IQVNIX0NBTExfRkxPQVRfTUFDUk8oY3BwX2Z1bmMsIGM5OV9mdW5jLCB0eXBlMSwgdHlwZTIpICAgXAorbmFtZXNwYWNlIG5kbmJvb3N0IHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIG5hbWVzcGFjZSBoYXNoX2RldGFpbCB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICB0ZW1wbGF0ZSA8PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICBzdHJ1Y3QgY2FsbF8jI2NwcF9mdW5jPHR5cGUxPiB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgdHlwZWRlZiB0eXBlMSBmbG9hdF90eXBlOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgaW5saW5lIHR5cGUxIG9wZXJhdG9yKCkodHlwZTEgeCwgdHlwZTIgeSkgY29uc3QgeyAgICAgICAgICAgXAorICAgICAgICAgICAgICAgIHJldHVybiBjOTlfZnVuYyh4LCB5KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICB9OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorfQorCisjaWYgZGVmaW5lZChsZGV4cGYpCitCT09TVF9IQVNIX0NBTExfRkxPQVRfTUFDUk8obGRleHAsIGxkZXhwZiwgZmxvYXQsIGludCkKKyNlbHNlCitCT09TVF9IQVNIX0NBTExfRkxPQVRfRlVOQyhsZGV4cCwgbGRleHBmLCBmbG9hdCwgaW50KQorI2VuZGlmCisKKyNpZiBkZWZpbmVkKGxkZXhwbCkKK0JPT1NUX0hBU0hfQ0FMTF9GTE9BVF9NQUNSTyhsZGV4cCwgbGRleHBsLCBsb25nIGRvdWJsZSwgaW50KQorI2Vsc2UKK0JPT1NUX0hBU0hfQ0FMTF9GTE9BVF9GVU5DKGxkZXhwLCBsZGV4cGwsIGxvbmcgZG91YmxlLCBpbnQpCisjZW5kaWYKKworI2lmIGRlZmluZWQoZnJleHBmKQorQk9PU1RfSEFTSF9DQUxMX0ZMT0FUX01BQ1JPKGZyZXhwLCBmcmV4cGYsIGZsb2F0LCBpbnQqKQorI2Vsc2UKK0JPT1NUX0hBU0hfQ0FMTF9GTE9BVF9GVU5DKGZyZXhwLCBmcmV4cGYsIGZsb2F0LCBpbnQqKQorI2VuZGlmCisKKyNpZiBkZWZpbmVkKGZyZXhwbCkKK0JPT1NUX0hBU0hfQ0FMTF9GTE9BVF9NQUNSTyhmcmV4cCwgZnJleHBsLCBsb25nIGRvdWJsZSwgaW50KikKKyNlbHNlCitCT09TVF9IQVNIX0NBTExfRkxPQVRfRlVOQyhmcmV4cCwgZnJleHBsLCBsb25nIGRvdWJsZSwgaW50KikKKyNlbmRpZgorCisjdW5kZWYgQk9PU1RfSEFTSF9DQUxMX0ZMT0FUX01BQ1JPCisjdW5kZWYgQk9PU1RfSEFTSF9DQUxMX0ZMT0FUX0ZVTkMKKworCituYW1lc3BhY2UgbmRuYm9vc3QKK3sKKyAgICBuYW1lc3BhY2UgaGFzaF9kZXRhaWwKKyAgICB7CisgICAgICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBGbG9hdDEsIHR5cGVuYW1lIEZsb2F0Mj4KKyAgICAgICAgc3RydWN0IHNlbGVjdF9oYXNoX3R5cGVfaW1wbCB7CisgICAgICAgICAgICB0eXBlZGVmIGRvdWJsZSB0eXBlOworICAgICAgICB9OworCisgICAgICAgIHRlbXBsYXRlIDw+CisgICAgICAgIHN0cnVjdCBzZWxlY3RfaGFzaF90eXBlX2ltcGw8ZmxvYXQsIGZsb2F0PiB7CisgICAgICAgICAgICB0eXBlZGVmIGZsb2F0IHR5cGU7CisgICAgICAgIH07CisKKyAgICAgICAgdGVtcGxhdGUgPD4KKyAgICAgICAgc3RydWN0IHNlbGVjdF9oYXNoX3R5cGVfaW1wbDxsb25nIGRvdWJsZSwgbG9uZyBkb3VibGU+IHsKKyAgICAgICAgICAgIHR5cGVkZWYgbG9uZyBkb3VibGUgdHlwZTsKKyAgICAgICAgfTsKKworCisgICAgICAgIC8vIHNlbGVjdF9oYXNoX3R5cGUKKyAgICAgICAgLy8KKyAgICAgICAgLy8gSWYgdGhlcmUgaXMgc3VwcG9ydCBmb3IgYSBwYXJ0aWN1bGFyIGZsb2F0aW5nIHBvaW50IHR5cGUsIHVzZSB0aGF0CisgICAgICAgIC8vIG90aGVyd2lzZSB1c2UgZG91YmxlICh0aGVyZSdzIGFsd2F5cyBzdXBwb3J0IGZvciBkb3VibGUpLgorICAgICAgICAgICAgIAorICAgICAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgRmxvYXQ+CisgICAgICAgIHN0cnVjdCBzZWxlY3RfaGFzaF90eXBlIDogc2VsZWN0X2hhc2hfdHlwZV9pbXBsPAorICAgICAgICAgICAgICAgIEJPT1NUX0RFRFVDRURfVFlQRU5BTUUgY2FsbF9sZGV4cDxGbG9hdD46OmZsb2F0X3R5cGUsCisgICAgICAgICAgICAgICAgQk9PU1RfREVEVUNFRF9UWVBFTkFNRSBjYWxsX2ZyZXhwPEZsb2F0Pjo6ZmxvYXRfdHlwZQorICAgICAgICAgICAgPiB7fTsgICAgICAgICAgICAKKyAgICB9Cit9CisKKyNlbmRpZiAvLyBCT09TVF9IQVNIX0NPTkZPUk1BTlRfRkxPQVRTCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvZnVuY3Rpb25hbC9oYXNoL2RldGFpbC9oYXNoX2Zsb2F0LmhwcCBiL25kbmJvb3N0L2Z1bmN0aW9uYWwvaGFzaC9kZXRhaWwvaGFzaF9mbG9hdC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzE1YTEzOQotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L2Z1bmN0aW9uYWwvaGFzaC9kZXRhaWwvaGFzaF9mbG9hdC5ocHAKQEAgLTAsMCArMSwyNzcgQEAKKworLy8gQ29weXJpZ2h0IDIwMDUtMjAxMiBEYW5pZWwgSmFtZXMuCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIChTZWUgYWNjb21wYW55aW5nCisvLyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKworI2lmICFkZWZpbmVkKEJPT1NUX0ZVTkNUSU9OQUxfSEFTSF9ERVRBSUxfSEFTSF9GTE9BVF9IRUFERVIpCisjZGVmaW5lIEJPT1NUX0ZVTkNUSU9OQUxfSEFTSF9ERVRBSUxfSEFTSF9GTE9BVF9IRUFERVIKKworI2lmIGRlZmluZWQoX01TQ19WRVIpICYmIChfTVNDX1ZFUiA+PSAxMDIwKQorIyBwcmFnbWEgb25jZQorI2VuZGlmCisKKyNpbmNsdWRlIDxuZG5ib29zdC9jb25maWcuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L2Z1bmN0aW9uYWwvaGFzaC9kZXRhaWwvZmxvYXRfZnVuY3Rpb25zLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9mdW5jdGlvbmFsL2hhc2gvZGV0YWlsL2xpbWl0cy5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvdXRpbGl0eS9lbmFibGVfaWYuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L2ludGVnZXIvc3RhdGljX2xvZzIuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L2NzdGRpbnQuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L2Fzc2VydC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbGltaXRzLmhwcD4KKyNpbmNsdWRlIDxjc3RyaW5nPgorCisjaWYgZGVmaW5lZChCT09TVF9NU1ZDKQorI3ByYWdtYSB3YXJuaW5nKHB1c2gpCisjaWYgQk9PU1RfTVNWQyA+PSAxNDAwCisjcHJhZ21hIHdhcm5pbmcoZGlzYWJsZTo2Mjk0KSAvLyBJbGwtZGVmaW5lZCBmb3ItbG9vcDogaW5pdGlhbCBjb25kaXRpb24gZG9lcworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gbm90IHNhdGlzZnkgdGVzdC4gTG9vcCBib2R5IG5vdCBleGVjdXRlZAorI2VuZGlmCisjZW5kaWYKKworLy8gQ2FuIHdlIHVzZSBmcGNsYXNzaWZ5PworCisvLyBTVExwb3J0CisjaWYgZGVmaW5lZChfX1NHSV9TVExfUE9SVCkgfHwgZGVmaW5lZChfU1RMUE9SVF9WRVJTSU9OKQorI2RlZmluZSBCT09TVF9IQVNIX1VTRV9GUENMQVNTSUZZIDAKKworLy8gR05VIGxpYnN0ZGMrKyAzCisjZWxpZiBkZWZpbmVkKF9fR0xJQkNQUF9fKSB8fCBkZWZpbmVkKF9fR0xJQkNYWF9fKQorIyAgaWYgKGRlZmluZWQoX19VU0VfSVNPQzk5KSB8fCBkZWZpbmVkKF9HTElCQ1hYX1VTRV9DOTlfTUFUSCkpICYmIFwKKyAgICAgICEoZGVmaW5lZChtYWNpbnRvc2gpIHx8IGRlZmluZWQoX19BUFBMRV9fKSB8fCBkZWZpbmVkKF9fQVBQTEVfQ0NfXykpCisjICAgIGRlZmluZSBCT09TVF9IQVNIX1VTRV9GUENMQVNTSUZZIDEKKyMgIGVsc2UKKyMgICAgZGVmaW5lIEJPT1NUX0hBU0hfVVNFX0ZQQ0xBU1NJRlkgMAorIyAgZW5kaWYKKworLy8gRXZlcnl0aGluZyBlbHNlCisjZWxzZQorIyAgZGVmaW5lIEJPT1NUX0hBU0hfVVNFX0ZQQ0xBU1NJRlkgMAorI2VuZGlmCisKK25hbWVzcGFjZSBuZG5ib29zdAoreworICAgIG5hbWVzcGFjZSBoYXNoX2RldGFpbAorICAgIHsKKyAgICAgICAgaW5saW5lIHZvaWQgaGFzaF9mbG9hdF9jb21iaW5lKHN0ZDo6c2l6ZV90JiBzZWVkLCBzdGQ6OnNpemVfdCB2YWx1ZSkKKyAgICAgICAgeworICAgICAgICAgICAgc2VlZCBePSB2YWx1ZSArIChzZWVkPDw2KSArIChzZWVkPj4yKTsKKyAgICAgICAgfQorCisgICAgICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworICAgICAgICAvLyBCaW5hcnkgaGFzaCBmdW5jdGlvbgorICAgICAgICAvLworICAgICAgICAvLyBPbmx5IHVzZWQgZm9yIGZsb2F0cyB3aXRoIGtub3duIGllYzU1OSBmbG9hdHMsIGFuZCBjZXJ0YWluIHZhbHVlcyBpbgorICAgICAgICAvLyBudW1lcmljX2xpbWl0cworCisgICAgICAgIGlubGluZSBzdGQ6OnNpemVfdCBoYXNoX2JpbmFyeShjaGFyKiBwdHIsIHN0ZDo6c2l6ZV90IGxlbmd0aCkKKyAgICAgICAgeworICAgICAgICAgICAgc3RkOjpzaXplX3Qgc2VlZCA9IDA7CisKKyAgICAgICAgICAgIGlmIChsZW5ndGggPj0gc2l6ZW9mKHN0ZDo6c2l6ZV90KSkgeworICAgICAgICAgICAgICAgIHNlZWQgPSAqKHN0ZDo6c2l6ZV90KikgcHRyOworICAgICAgICAgICAgICAgIGxlbmd0aCAtPSBzaXplb2Yoc3RkOjpzaXplX3QpOworICAgICAgICAgICAgICAgIHB0ciArPSBzaXplb2Yoc3RkOjpzaXplX3QpOworCisgICAgICAgICAgICAgICAgd2hpbGUobGVuZ3RoID49IHNpemVvZihzdGQ6OnNpemVfdCkpIHsKKyAgICAgICAgICAgICAgICAgICAgc3RkOjpzaXplX3QgYnVmZmVyID0gMDsKKyAgICAgICAgICAgICAgICAgICAgc3RkOjptZW1jcHkoJmJ1ZmZlciwgcHRyLCBzaXplb2Yoc3RkOjpzaXplX3QpKTsKKyAgICAgICAgICAgICAgICAgICAgaGFzaF9mbG9hdF9jb21iaW5lKHNlZWQsIGJ1ZmZlcik7CisgICAgICAgICAgICAgICAgICAgIGxlbmd0aCAtPSBzaXplb2Yoc3RkOjpzaXplX3QpOworICAgICAgICAgICAgICAgICAgICBwdHIgKz0gc2l6ZW9mKHN0ZDo6c2l6ZV90KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGlmIChsZW5ndGggPiAwKSB7CisgICAgICAgICAgICAgICAgc3RkOjpzaXplX3QgYnVmZmVyID0gMDsKKyAgICAgICAgICAgICAgICBzdGQ6Om1lbWNweSgmYnVmZmVyLCBwdHIsIGxlbmd0aCk7CisgICAgICAgICAgICAgICAgaGFzaF9mbG9hdF9jb21iaW5lKHNlZWQsIGJ1ZmZlcik7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIHJldHVybiBzZWVkOworICAgICAgICB9CisKKyAgICAgICAgdGVtcGxhdGUgPHR5cGVuYW1lIEZsb2F0PgorICAgICAgICBpbmxpbmUgc3RkOjpzaXplX3QgZmxvYXRfaGFzaF9pbXBsKEZsb2F0IHYsCisgICAgICAgICAgICBCT09TVF9ERURVQ0VEX1RZUEVOQU1FIG5kbmJvb3N0OjplbmFibGVfaWZfYzwKKyAgICAgICAgICAgICAgICBzdGQ6Om51bWVyaWNfbGltaXRzPEZsb2F0Pjo6aXNfaWVjNTU5ICYmCisgICAgICAgICAgICAgICAgc3RkOjpudW1lcmljX2xpbWl0czxGbG9hdD46OmRpZ2l0cyA9PSAyNCAmJgorICAgICAgICAgICAgICAgIHN0ZDo6bnVtZXJpY19saW1pdHM8RmxvYXQ+OjpyYWRpeCA9PSAyICYmCisgICAgICAgICAgICAgICAgc3RkOjpudW1lcmljX2xpbWl0czxGbG9hdD46Om1heF9leHBvbmVudCA9PSAxMjgsCisgICAgICAgICAgICAgICAgaW50Pjo6dHlwZQorICAgICAgICAgICAgKQorICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4gaGFzaF9iaW5hcnkoKGNoYXIqKSAmdiwgNCk7CisgICAgICAgIH0KKworCisgICAgICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBGbG9hdD4KKyAgICAgICAgaW5saW5lIHN0ZDo6c2l6ZV90IGZsb2F0X2hhc2hfaW1wbChGbG9hdCB2LAorICAgICAgICAgICAgQk9PU1RfREVEVUNFRF9UWVBFTkFNRSBuZG5ib29zdDo6ZW5hYmxlX2lmX2M8CisgICAgICAgICAgICAgICAgc3RkOjpudW1lcmljX2xpbWl0czxGbG9hdD46OmlzX2llYzU1OSAmJgorICAgICAgICAgICAgICAgIHN0ZDo6bnVtZXJpY19saW1pdHM8RmxvYXQ+OjpkaWdpdHMgPT0gNTMgJiYKKyAgICAgICAgICAgICAgICBzdGQ6Om51bWVyaWNfbGltaXRzPEZsb2F0Pjo6cmFkaXggPT0gMiAmJgorICAgICAgICAgICAgICAgIHN0ZDo6bnVtZXJpY19saW1pdHM8RmxvYXQ+OjptYXhfZXhwb25lbnQgPT0gMTAyNCwKKyAgICAgICAgICAgICAgICBpbnQ+Ojp0eXBlCisgICAgICAgICAgICApCisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiBoYXNoX2JpbmFyeSgoY2hhciopICZ2LCA4KTsKKyAgICAgICAgfQorCisgICAgICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBGbG9hdD4KKyAgICAgICAgaW5saW5lIHN0ZDo6c2l6ZV90IGZsb2F0X2hhc2hfaW1wbChGbG9hdCB2LAorICAgICAgICAgICAgQk9PU1RfREVEVUNFRF9UWVBFTkFNRSBuZG5ib29zdDo6ZW5hYmxlX2lmX2M8CisgICAgICAgICAgICAgICAgc3RkOjpudW1lcmljX2xpbWl0czxGbG9hdD46OmlzX2llYzU1OSAmJgorICAgICAgICAgICAgICAgIHN0ZDo6bnVtZXJpY19saW1pdHM8RmxvYXQ+OjpkaWdpdHMgPT0gNjQgJiYKKyAgICAgICAgICAgICAgICBzdGQ6Om51bWVyaWNfbGltaXRzPEZsb2F0Pjo6cmFkaXggPT0gMiAmJgorICAgICAgICAgICAgICAgIHN0ZDo6bnVtZXJpY19saW1pdHM8RmxvYXQ+OjptYXhfZXhwb25lbnQgPT0gMTYzODQsCisgICAgICAgICAgICAgICAgaW50Pjo6dHlwZQorICAgICAgICAgICAgKQorICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4gaGFzaF9iaW5hcnkoKGNoYXIqKSAmdiwgMTApOworICAgICAgICB9CisKKyAgICAgICAgdGVtcGxhdGUgPHR5cGVuYW1lIEZsb2F0PgorICAgICAgICBpbmxpbmUgc3RkOjpzaXplX3QgZmxvYXRfaGFzaF9pbXBsKEZsb2F0IHYsCisgICAgICAgICAgICBCT09TVF9ERURVQ0VEX1RZUEVOQU1FIG5kbmJvb3N0OjplbmFibGVfaWZfYzwKKyAgICAgICAgICAgICAgICBzdGQ6Om51bWVyaWNfbGltaXRzPEZsb2F0Pjo6aXNfaWVjNTU5ICYmCisgICAgICAgICAgICAgICAgc3RkOjpudW1lcmljX2xpbWl0czxGbG9hdD46OmRpZ2l0cyA9PSAxMTMgJiYKKyAgICAgICAgICAgICAgICBzdGQ6Om51bWVyaWNfbGltaXRzPEZsb2F0Pjo6cmFkaXggPT0gMiAmJgorICAgICAgICAgICAgICAgIHN0ZDo6bnVtZXJpY19saW1pdHM8RmxvYXQ+OjptYXhfZXhwb25lbnQgPT0gMTYzODQsCisgICAgICAgICAgICAgICAgaW50Pjo6dHlwZQorICAgICAgICAgICAgKQorICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4gaGFzaF9iaW5hcnkoKGNoYXIqKSAmdiwgMTYpOworICAgICAgICB9CisKKyAgICAgICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCisgICAgICAgIC8vIFBvcnRhYmxlIGhhc2ggZnVuY3Rpb24KKyAgICAgICAgLy8KKyAgICAgICAgLy8gVXNlZCBhcyBhIGZhbGxiYWNrIHdoZW4gdGhlIGJpbmFyeSBoYXNoIGZ1bmN0aW9uIGlzbid0IHN1cHBvcnRlZC4KKworICAgICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVD4KKyAgICAgICAgaW5saW5lIHN0ZDo6c2l6ZV90IGZsb2F0X2hhc2hfaW1wbDIoVCB2KQorICAgICAgICB7CisgICAgICAgICAgICBuZG5ib29zdDo6aGFzaF9kZXRhaWw6OmNhbGxfZnJleHA8VD4gZnJleHA7CisgICAgICAgICAgICBuZG5ib29zdDo6aGFzaF9kZXRhaWw6OmNhbGxfbGRleHA8VD4gbGRleHA7CisKKyAgICAgICAgICAgIGludCBleHAgPSAwOworCisgICAgICAgICAgICB2ID0gZnJleHAodiwgJmV4cCk7CisKKyAgICAgICAgICAgIC8vIEEgcG9zdGl2ZSB2YWx1ZSBpcyBlYXNpZXIgdG8gaGFzaCwgc28gY29tYmluZSB0aGUKKyAgICAgICAgICAgIC8vIHNpZ24gd2l0aCB0aGUgZXhwb25lbnQgYW5kIHVzZSB0aGUgYWJzb2x1dGUgdmFsdWUuCisgICAgICAgICAgICBpZih2IDwgMCkgeworICAgICAgICAgICAgICAgIHYgPSAtdjsKKyAgICAgICAgICAgICAgICBleHAgKz0gbGltaXRzPFQ+OjptYXhfZXhwb25lbnQgLQorICAgICAgICAgICAgICAgICAgICBsaW1pdHM8VD46Om1pbl9leHBvbmVudDsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgdiA9IGxkZXhwKHYsIGxpbWl0czxzdGQ6OnNpemVfdD46OmRpZ2l0cyk7CisgICAgICAgICAgICBzdGQ6OnNpemVfdCBzZWVkID0gc3RhdGljX2Nhc3Q8c3RkOjpzaXplX3Q+KHYpOworICAgICAgICAgICAgdiAtPSBzdGF0aWNfY2FzdDxUPihzZWVkKTsKKworICAgICAgICAgICAgLy8gY2VpbGluZyhkaWdpdHMoVCkgKiBsb2cyKHJhZGl4KFQpKS8gZGlnaXRzKHNpemVfdCkpIC0gMTsKKyAgICAgICAgICAgIHN0ZDo6c2l6ZV90IGNvbnN0IGxlbmd0aAorICAgICAgICAgICAgICAgID0gKGxpbWl0czxUPjo6ZGlnaXRzICoKKyAgICAgICAgICAgICAgICAgICAgICAgIG5kbmJvb3N0OjpzdGF0aWNfbG9nMjxsaW1pdHM8VD46OnJhZGl4Pjo6dmFsdWUKKyAgICAgICAgICAgICAgICAgICAgICAgICsgbGltaXRzPHN0ZDo6c2l6ZV90Pjo6ZGlnaXRzIC0gMSkKKyAgICAgICAgICAgICAgICAvIGxpbWl0czxzdGQ6OnNpemVfdD46OmRpZ2l0czsKKworICAgICAgICAgICAgZm9yKHN0ZDo6c2l6ZV90IGkgPSAwOyBpICE9IGxlbmd0aDsgKytpKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHYgPSBsZGV4cCh2LCBsaW1pdHM8c3RkOjpzaXplX3Q+OjpkaWdpdHMpOworICAgICAgICAgICAgICAgIHN0ZDo6c2l6ZV90IHBhcnQgPSBzdGF0aWNfY2FzdDxzdGQ6OnNpemVfdD4odik7CisgICAgICAgICAgICAgICAgdiAtPSBzdGF0aWNfY2FzdDxUPihwYXJ0KTsKKyAgICAgICAgICAgICAgICBoYXNoX2Zsb2F0X2NvbWJpbmUoc2VlZCwgcGFydCk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGhhc2hfZmxvYXRfY29tYmluZShzZWVkLCBleHApOworCisgICAgICAgICAgICByZXR1cm4gc2VlZDsKKyAgICAgICAgfQorCisjaWYgIWRlZmluZWQoQk9PU1RfSEFTSF9ERVRBSUxfVEVTVF9XSVRIT1VUX0dFTkVSSUMpCisgICAgICAgIHRlbXBsYXRlIDxjbGFzcyBUPgorICAgICAgICBpbmxpbmUgc3RkOjpzaXplX3QgZmxvYXRfaGFzaF9pbXBsKFQgdiwgLi4uKQorICAgICAgICB7CisgICAgICAgICAgICB0eXBlZGVmIEJPT1NUX0RFRFVDRURfVFlQRU5BTUUgc2VsZWN0X2hhc2hfdHlwZTxUPjo6dHlwZSB0eXBlOworICAgICAgICAgICAgcmV0dXJuIGZsb2F0X2hhc2hfaW1wbDIoc3RhdGljX2Nhc3Q8dHlwZT4odikpOworICAgICAgICB9CisjZW5kaWYKKyAgICB9Cit9CisKKyNpZiBCT09TVF9IQVNIX1VTRV9GUENMQVNTSUZZCisKKyNpbmNsdWRlIDxuZG5ib29zdC9jb25maWcvbm9fdHIxL2NtYXRoLmhwcD4KKworbmFtZXNwYWNlIG5kbmJvb3N0Cit7CisgICAgbmFtZXNwYWNlIGhhc2hfZGV0YWlsCisgICAgeworICAgICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVD4KKyAgICAgICAgaW5saW5lIHN0ZDo6c2l6ZV90IGZsb2F0X2hhc2hfdmFsdWUoVCB2KQorICAgICAgICB7CisjaWYgZGVmaW5lZChmcGNsYXNzaWZ5KQorICAgICAgICAgICAgc3dpdGNoIChmcGNsYXNzaWZ5KHYpKQorI2VsaWYgQk9PU1RfSEFTSF9DT05GT1JNQU5UX0ZMT0FUUworICAgICAgICAgICAgc3dpdGNoIChzdGQ6OmZwY2xhc3NpZnkodikpCisjZWxzZQorICAgICAgICAgICAgdXNpbmcgbmFtZXNwYWNlIHN0ZDsKKyAgICAgICAgICAgIHN3aXRjaCAoZnBjbGFzc2lmeSh2KSkKKyNlbmRpZgorICAgICAgICAgICAgeworICAgICAgICAgICAgY2FzZSBGUF9aRVJPOgorICAgICAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICAgICAgY2FzZSBGUF9JTkZJTklURToKKyAgICAgICAgICAgICAgICByZXR1cm4gKHN0ZDo6c2l6ZV90KSh2ID4gMCA/IC0xIDogLTIpOworICAgICAgICAgICAgY2FzZSBGUF9OQU46CisgICAgICAgICAgICAgICAgcmV0dXJuIChzdGQ6OnNpemVfdCkoLTMpOworICAgICAgICAgICAgY2FzZSBGUF9OT1JNQUw6CisgICAgICAgICAgICBjYXNlIEZQX1NVQk5PUk1BTDoKKyAgICAgICAgICAgICAgICByZXR1cm4gZmxvYXRfaGFzaF9pbXBsKHYsIDApOworICAgICAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgICAgICBCT09TVF9BU1NFUlQoMCk7CisgICAgICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9Cit9CisKKyNlbHNlIC8vICFCT09TVF9IQVNIX1VTRV9GUENMQVNTSUZZCisKK25hbWVzcGFjZSBuZG5ib29zdAoreworICAgIG5hbWVzcGFjZSBoYXNoX2RldGFpbAorICAgIHsKKyAgICAgICAgdGVtcGxhdGUgPGNsYXNzIFQ+CisgICAgICAgIGlubGluZSBib29sIGlzX3plcm8oVCB2KQorICAgICAgICB7CisjaWYgIWRlZmluZWQoX19HTlVDX18pCisgICAgICAgICAgICByZXR1cm4gdiA9PSAwOworI2Vsc2UKKyAgICAgICAgICAgIC8vIEdDQydzICctV2Zsb2F0LWVxdWFsJyB3aWxsIGNvbXBsYWluIGFib3V0IGNvbXBhcmluZworICAgICAgICAgICAgLy8gdiB0byAwLCBidXQgYmVjYXVzZSBpdCBkaXNhYmxlcyB3YXJuaW5ncyBmb3Igc3lzdGVtCisgICAgICAgICAgICAvLyBoZWFkZXJzIGl0IHdvbid0IGNvbXBsYWluIGlmIHlvdSB1c2Ugc3RkOjplcXVhbF90byB0bworICAgICAgICAgICAgLy8gY29tcGFyZSB3aXRoIDAuIFJlc3VsdGluZyBpbiB0aGlzIHNpbGxpbmVzczoKKyAgICAgICAgICAgIHJldHVybiBzdGQ6OmVxdWFsX3RvPFQ+KCkodiwgMCk7CisjZW5kaWYKKyAgICAgICAgfQorCisgICAgICAgIHRlbXBsYXRlIDxjbGFzcyBUPgorICAgICAgICBpbmxpbmUgc3RkOjpzaXplX3QgZmxvYXRfaGFzaF92YWx1ZShUIHYpCisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiBuZG5ib29zdDo6aGFzaF9kZXRhaWw6OmlzX3plcm8odikgPyAwIDogZmxvYXRfaGFzaF9pbXBsKHYsIDApOworICAgICAgICB9CisgICAgfQorfQorCisjZW5kaWYgLy8gQk9PU1RfSEFTSF9VU0VfRlBDTEFTU0lGWQorCisjdW5kZWYgQk9PU1RfSEFTSF9VU0VfRlBDTEFTU0lGWQorCisjaWYgZGVmaW5lZChCT09TVF9NU1ZDKQorI3ByYWdtYSB3YXJuaW5nKHBvcCkKKyNlbmRpZgorCisjZW5kaWYKZGlmZiAtLWdpdCBhL25kbmJvb3N0L2Z1bmN0aW9uYWwvaGFzaC9kZXRhaWwvbGltaXRzLmhwcCBiL25kbmJvb3N0L2Z1bmN0aW9uYWwvaGFzaC9kZXRhaWwvbGltaXRzLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hZmYyNmRhCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvZnVuY3Rpb25hbC9oYXNoL2RldGFpbC9saW1pdHMuaHBwCkBAIC0wLDAgKzEsNjEgQEAKKworLy8gQ29weXJpZ2h0IDIwMDUtMjAwOSBEYW5pZWwgSmFtZXMuCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIChTZWUgYWNjb21wYW55aW5nCisvLyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisvLyBPbiBzb21lIHBsYXRmb3JtcyBzdGQ6OmxpbWl0cyBnaXZlcyBpbmNvcnJlY3QgdmFsdWVzIGZvciBsb25nIGRvdWJsZS4KKy8vIFRoaXMgdHJpZXMgdG8gd29yayBhcm91bmQgdGhlbS4KKworI2lmICFkZWZpbmVkKEJPT1NUX0ZVTkNUSU9OQUxfSEFTSF9ERVRBSUxfTElNSVRTX0hFQURFUikKKyNkZWZpbmUgQk9PU1RfRlVOQ1RJT05BTF9IQVNIX0RFVEFJTF9MSU1JVFNfSEVBREVSCisKKyNpZiBkZWZpbmVkKF9NU0NfVkVSKSAmJiAoX01TQ19WRVIgPj0gMTAyMCkKKyMgcHJhZ21hIG9uY2UKKyNlbmRpZgorCisjaW5jbHVkZSA8bmRuYm9vc3QvbGltaXRzLmhwcD4KKworLy8gT24gT3BlbkJTRCwgbnVtZXJpY19saW1pdHMgaXMgbm90IHJlbGlhYmxlIGZvciBsb25nIGRvdWJsZXMsIGJ1dAorLy8gdGhlIG1hY3JvcyBkZWZpbmVkIGluIDxmbG9hdC5oPiBhcmUgYW5kIHN1cHBvcnQgbG9uZyBkb3VibGUgd2hlbiBTVExwb3J0CisvLyBkb2Vzbid0LgorCisjaWYgZGVmaW5lZChfX09wZW5CU0RfXykgfHwgZGVmaW5lZChfU1RMUF9OT19MT05HX0RPVUJMRSkKKyNpbmNsdWRlIDxmbG9hdC5oPgorI2VuZGlmCisKK25hbWVzcGFjZSBuZG5ib29zdAoreworICAgIG5hbWVzcGFjZSBoYXNoX2RldGFpbAorICAgIHsKKyAgICAgICAgdGVtcGxhdGUgPGNsYXNzIFQ+CisgICAgICAgIHN0cnVjdCBsaW1pdHMgOiBzdGQ6Om51bWVyaWNfbGltaXRzPFQ+IHt9OworCisjaWYgZGVmaW5lZChfX09wZW5CU0RfXykgfHwgZGVmaW5lZChfU1RMUF9OT19MT05HX0RPVUJMRSkKKyAgICAgICAgdGVtcGxhdGUgPD4KKyAgICAgICAgc3RydWN0IGxpbWl0czxsb25nIGRvdWJsZT4KKyAgICAgICAgICAgICA6IHN0ZDo6bnVtZXJpY19saW1pdHM8bG9uZyBkb3VibGU+CisgICAgICAgIHsKKyAgICAgICAgICAgIHN0YXRpYyBsb25nIGRvdWJsZSBlcHNpbG9uKCkgeworICAgICAgICAgICAgICAgIHJldHVybiBMREJMX0VQU0lMT047CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIHN0YXRpYyBsb25nIGRvdWJsZSAobWF4KSgpIHsKKyAgICAgICAgICAgICAgICByZXR1cm4gTERCTF9NQVg7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIHN0YXRpYyBsb25nIGRvdWJsZSAobWluKSgpIHsKKyAgICAgICAgICAgICAgICByZXR1cm4gTERCTF9NSU47CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIGRpZ2l0cyA9IExEQkxfTUFOVF9ESUcpOworICAgICAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgbWF4X2V4cG9uZW50ID0gTERCTF9NQVhfRVhQKTsKKyAgICAgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIG1pbl9leHBvbmVudCA9IExEQkxfTUlOX0VYUCk7CisjaWYgZGVmaW5lZChfU1RMUF9OT19MT05HX0RPVUJMRSkKKyAgICAgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHJhZGl4ID0gRkxUX1JBRElYKTsKKyNlbmRpZgorICAgICAgICB9OworI2VuZGlmIC8vIF9fT3BlbkJTRF9fCisgICAgfQorfQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL25kbmJvb3N0L2Z1bmN0aW9uYWwvaGFzaC9leHRlbnNpb25zLmhwcCBiL25kbmJvb3N0L2Z1bmN0aW9uYWwvaGFzaC9leHRlbnNpb25zLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMTkwNDNiCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvZnVuY3Rpb25hbC9oYXNoL2V4dGVuc2lvbnMuaHBwCkBAIC0wLDAgKzEsMzc5IEBACisKKy8vIENvcHlyaWdodCAyMDA1LTIwMDkgRGFuaWVsIEphbWVzLgorLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAoU2VlIGFjY29tcGFueWluZworLy8gZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisKKy8vICBCYXNlZCBvbiBQZXRlciBEaW1vdidzIHByb3Bvc2FsCisvLyAgaHR0cDovL3d3dy5vcGVuLXN0ZC5vcmcvSlRDMS9TQzIyL1dHMjEvZG9jcy9wYXBlcnMvMjAwNS9uMTc1Ni5wZGYKKy8vICBpc3N1ZSA2LjE4LiAKKworLy8gVGhpcyBpbXBsZW1lbnRzIHRoZSBleHRlbnNpb25zIHRvIHRoZSBzdGFuZGFyZC4KKy8vIEl0J3MgdW5kb2N1bWVudGVkLCBzbyB5b3Ugc2hvdWxkbid0IHVzZSBpdC4uLi4KKworI2lmICFkZWZpbmVkKEJPT1NUX0ZVTkNUSU9OQUxfSEFTSF9FWFRFTlNJT05TX0hQUCkKKyNkZWZpbmUgQk9PU1RfRlVOQ1RJT05BTF9IQVNIX0VYVEVOU0lPTlNfSFBQCisKKyNpbmNsdWRlIDxuZG5ib29zdC9mdW5jdGlvbmFsL2hhc2gvaGFzaC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvZGV0YWlsL2NvbnRhaW5lcl9md2QuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3V0aWxpdHkvZW5hYmxlX2lmLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9zdGF0aWNfYXNzZXJ0LmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3IvcmVwZXRpdGlvbi9yZXBlYXRfZnJvbV90by5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL3JlcGV0aXRpb24vZW51bV9wYXJhbXMuaHBwPgorCisjaWYgIWRlZmluZWQoQk9PU1RfTk9fQ1hYMTFfSERSX0FSUkFZKQorIyAgIGluY2x1ZGUgPGFycmF5PgorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChCT09TVF9OT19DWFgxMV9IRFJfVFVQTEUpCisjICAgaW5jbHVkZSA8dHVwbGU+CisjZW5kaWYKKworI2lmICFkZWZpbmVkKEJPT1NUX05PX0NYWDExX0hEUl9NRU1PUlkpCisjICAgaW5jbHVkZSA8bWVtb3J5PgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKF9NU0NfVkVSKSAmJiAoX01TQ19WRVIgPj0gMTAyMCkKKyMgcHJhZ21hIG9uY2UKKyNlbmRpZgorCisjaWYgZGVmaW5lZChCT09TVF9OT19GVU5DVElPTl9URU1QTEFURV9PUkRFUklORykKKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9pc19hcnJheS5ocHA+CisjZW5kaWYKKworI2lmIEJPT1NUX1dPUktBUk9VTkQoQk9PU1RfTVNWQywgPCAxMzAwKQorI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2lzX2NvbnN0LmhwcD4KKyNlbmRpZgorCituYW1lc3BhY2UgbmRuYm9vc3QKK3sKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgQSwgY2xhc3MgQj4KKyAgICBzdGQ6OnNpemVfdCBoYXNoX3ZhbHVlKHN0ZDo6cGFpcjxBLCBCPiBjb25zdCYpOworICAgIHRlbXBsYXRlIDxjbGFzcyBULCBjbGFzcyBBPgorICAgIHN0ZDo6c2l6ZV90IGhhc2hfdmFsdWUoc3RkOjp2ZWN0b3I8VCwgQT4gY29uc3QmKTsKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVCwgY2xhc3MgQT4KKyAgICBzdGQ6OnNpemVfdCBoYXNoX3ZhbHVlKHN0ZDo6bGlzdDxULCBBPiBjb25zdCYgdik7CisgICAgdGVtcGxhdGUgPGNsYXNzIFQsIGNsYXNzIEE+CisgICAgc3RkOjpzaXplX3QgaGFzaF92YWx1ZShzdGQ6OmRlcXVlPFQsIEE+IGNvbnN0JiB2KTsKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgSywgY2xhc3MgQywgY2xhc3MgQT4KKyAgICBzdGQ6OnNpemVfdCBoYXNoX3ZhbHVlKHN0ZDo6c2V0PEssIEMsIEE+IGNvbnN0JiB2KTsKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgSywgY2xhc3MgQywgY2xhc3MgQT4KKyAgICBzdGQ6OnNpemVfdCBoYXNoX3ZhbHVlKHN0ZDo6bXVsdGlzZXQ8SywgQywgQT4gY29uc3QmIHYpOworICAgIHRlbXBsYXRlIDxjbGFzcyBLLCBjbGFzcyBULCBjbGFzcyBDLCBjbGFzcyBBPgorICAgIHN0ZDo6c2l6ZV90IGhhc2hfdmFsdWUoc3RkOjptYXA8SywgVCwgQywgQT4gY29uc3QmIHYpOworICAgIHRlbXBsYXRlIDxjbGFzcyBLLCBjbGFzcyBULCBjbGFzcyBDLCBjbGFzcyBBPgorICAgIHN0ZDo6c2l6ZV90IGhhc2hfdmFsdWUoc3RkOjptdWx0aW1hcDxLLCBULCBDLCBBPiBjb25zdCYgdik7CisKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVD4KKyAgICBzdGQ6OnNpemVfdCBoYXNoX3ZhbHVlKHN0ZDo6Y29tcGxleDxUPiBjb25zdCYpOworCisgICAgdGVtcGxhdGUgPGNsYXNzIEEsIGNsYXNzIEI+CisgICAgc3RkOjpzaXplX3QgaGFzaF92YWx1ZShzdGQ6OnBhaXI8QSwgQj4gY29uc3QmIHYpCisgICAgeworICAgICAgICBzdGQ6OnNpemVfdCBzZWVkID0gMDsKKyAgICAgICAgbmRuYm9vc3Q6Omhhc2hfY29tYmluZShzZWVkLCB2LmZpcnN0KTsKKyAgICAgICAgbmRuYm9vc3Q6Omhhc2hfY29tYmluZShzZWVkLCB2LnNlY29uZCk7CisgICAgICAgIHJldHVybiBzZWVkOworICAgIH0KKworICAgIHRlbXBsYXRlIDxjbGFzcyBULCBjbGFzcyBBPgorICAgIHN0ZDo6c2l6ZV90IGhhc2hfdmFsdWUoc3RkOjp2ZWN0b3I8VCwgQT4gY29uc3QmIHYpCisgICAgeworICAgICAgICByZXR1cm4gbmRuYm9vc3Q6Omhhc2hfcmFuZ2Uodi5iZWdpbigpLCB2LmVuZCgpKTsKKyAgICB9CisKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVCwgY2xhc3MgQT4KKyAgICBzdGQ6OnNpemVfdCBoYXNoX3ZhbHVlKHN0ZDo6bGlzdDxULCBBPiBjb25zdCYgdikKKyAgICB7CisgICAgICAgIHJldHVybiBuZG5ib29zdDo6aGFzaF9yYW5nZSh2LmJlZ2luKCksIHYuZW5kKCkpOworICAgIH0KKworICAgIHRlbXBsYXRlIDxjbGFzcyBULCBjbGFzcyBBPgorICAgIHN0ZDo6c2l6ZV90IGhhc2hfdmFsdWUoc3RkOjpkZXF1ZTxULCBBPiBjb25zdCYgdikKKyAgICB7CisgICAgICAgIHJldHVybiBuZG5ib29zdDo6aGFzaF9yYW5nZSh2LmJlZ2luKCksIHYuZW5kKCkpOworICAgIH0KKworICAgIHRlbXBsYXRlIDxjbGFzcyBLLCBjbGFzcyBDLCBjbGFzcyBBPgorICAgIHN0ZDo6c2l6ZV90IGhhc2hfdmFsdWUoc3RkOjpzZXQ8SywgQywgQT4gY29uc3QmIHYpCisgICAgeworICAgICAgICByZXR1cm4gbmRuYm9vc3Q6Omhhc2hfcmFuZ2Uodi5iZWdpbigpLCB2LmVuZCgpKTsKKyAgICB9CisKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgSywgY2xhc3MgQywgY2xhc3MgQT4KKyAgICBzdGQ6OnNpemVfdCBoYXNoX3ZhbHVlKHN0ZDo6bXVsdGlzZXQ8SywgQywgQT4gY29uc3QmIHYpCisgICAgeworICAgICAgICByZXR1cm4gbmRuYm9vc3Q6Omhhc2hfcmFuZ2Uodi5iZWdpbigpLCB2LmVuZCgpKTsKKyAgICB9CisKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgSywgY2xhc3MgVCwgY2xhc3MgQywgY2xhc3MgQT4KKyAgICBzdGQ6OnNpemVfdCBoYXNoX3ZhbHVlKHN0ZDo6bWFwPEssIFQsIEMsIEE+IGNvbnN0JiB2KQorICAgIHsKKyAgICAgICAgcmV0dXJuIG5kbmJvb3N0OjpoYXNoX3JhbmdlKHYuYmVnaW4oKSwgdi5lbmQoKSk7CisgICAgfQorCisgICAgdGVtcGxhdGUgPGNsYXNzIEssIGNsYXNzIFQsIGNsYXNzIEMsIGNsYXNzIEE+CisgICAgc3RkOjpzaXplX3QgaGFzaF92YWx1ZShzdGQ6Om11bHRpbWFwPEssIFQsIEMsIEE+IGNvbnN0JiB2KQorICAgIHsKKyAgICAgICAgcmV0dXJuIG5kbmJvb3N0OjpoYXNoX3JhbmdlKHYuYmVnaW4oKSwgdi5lbmQoKSk7CisgICAgfQorCisgICAgdGVtcGxhdGUgPGNsYXNzIFQ+CisgICAgc3RkOjpzaXplX3QgaGFzaF92YWx1ZShzdGQ6OmNvbXBsZXg8VD4gY29uc3QmIHYpCisgICAgeworICAgICAgICBuZG5ib29zdDo6aGFzaDxUPiBoYXNoZXI7CisgICAgICAgIHN0ZDo6c2l6ZV90IHNlZWQgPSBoYXNoZXIodi5pbWFnKCkpOworICAgICAgICBzZWVkIF49IGhhc2hlcih2LnJlYWwoKSkgKyAoc2VlZDw8NikgKyAoc2VlZD4+Mik7CisgICAgICAgIHJldHVybiBzZWVkOworICAgIH0KKworI2lmICFkZWZpbmVkKEJPT1NUX05PX0NYWDExX0hEUl9BUlJBWSkKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVCwgc3RkOjpzaXplX3QgTj4KKyAgICBzdGQ6OnNpemVfdCBoYXNoX3ZhbHVlKHN0ZDo6YXJyYXk8VCwgTj4gY29uc3QmIHYpCisgICAgeworICAgICAgICByZXR1cm4gbmRuYm9vc3Q6Omhhc2hfcmFuZ2Uodi5iZWdpbigpLCB2LmVuZCgpKTsKKyAgICB9CisjZW5kaWYKKworI2lmICFkZWZpbmVkKEJPT1NUX05PX0NYWDExX0hEUl9UVVBMRSkKKyAgICBuYW1lc3BhY2UgaGFzaF9kZXRhaWwgeworICAgICAgICB0ZW1wbGF0ZSA8c3RkOjpzaXplX3QgSSwgdHlwZW5hbWUgVD4KKyAgICAgICAgaW5saW5lIHR5cGVuYW1lIG5kbmJvb3N0OjplbmFibGVfaWZfYzwoSSA9PSBzdGQ6OnR1cGxlX3NpemU8VD46OnZhbHVlKSwKKyAgICAgICAgICAgICAgICB2b2lkPjo6dHlwZQorICAgICAgICAgICAgaGFzaF9jb21iaW5lX3R1cGxlKHN0ZDo6c2l6ZV90JiwgVCBjb25zdCYpCisgICAgICAgIHsKKyAgICAgICAgfQorCisgICAgICAgIHRlbXBsYXRlIDxzdGQ6OnNpemVfdCBJLCB0eXBlbmFtZSBUPgorICAgICAgICBpbmxpbmUgdHlwZW5hbWUgbmRuYm9vc3Q6OmVuYWJsZV9pZl9jPChJIDwgc3RkOjp0dXBsZV9zaXplPFQ+Ojp2YWx1ZSksCisgICAgICAgICAgICAgICAgdm9pZD46OnR5cGUKKyAgICAgICAgICAgIGhhc2hfY29tYmluZV90dXBsZShzdGQ6OnNpemVfdCYgc2VlZCwgVCBjb25zdCYgdikKKyAgICAgICAgeworICAgICAgICAgICAgbmRuYm9vc3Q6Omhhc2hfY29tYmluZShzZWVkLCBzdGQ6OmdldDxJPih2KSk7CisgICAgICAgICAgICBuZG5ib29zdDo6aGFzaF9kZXRhaWw6Omhhc2hfY29tYmluZV90dXBsZTxJICsgMT4oc2VlZCwgdik7CisgICAgICAgIH0KKworICAgICAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KKyAgICAgICAgaW5saW5lIHN0ZDo6c2l6ZV90IGhhc2hfdHVwbGUoVCBjb25zdCYgdikKKyAgICAgICAgeworICAgICAgICAgICAgc3RkOjpzaXplX3Qgc2VlZCA9IDA7CisgICAgICAgICAgICBuZG5ib29zdDo6aGFzaF9kZXRhaWw6Omhhc2hfY29tYmluZV90dXBsZTwwPihzZWVkLCB2KTsKKyAgICAgICAgICAgIHJldHVybiBzZWVkOworICAgICAgICB9CisgICAgfQorCisjaWYgIWRlZmluZWQoQk9PU1RfTk9fQ1hYMTFfVkFSSUFESUNfVEVNUExBVEVTKQorICAgIHRlbXBsYXRlIDx0eXBlbmFtZS4uLiBUPgorICAgIGlubGluZSBzdGQ6OnNpemVfdCBoYXNoX3ZhbHVlKHN0ZDo6dHVwbGU8VC4uLj4gY29uc3QmIHYpCisgICAgeworICAgICAgICByZXR1cm4gbmRuYm9vc3Q6Omhhc2hfZGV0YWlsOjpoYXNoX3R1cGxlKHYpOworICAgIH0KKyNlbHNlCisKKyAgICBpbmxpbmUgc3RkOjpzaXplX3QgaGFzaF92YWx1ZShzdGQ6OnR1cGxlPD4gY29uc3QmIHYpCisgICAgeworICAgICAgICByZXR1cm4gbmRuYm9vc3Q6Omhhc2hfZGV0YWlsOjpoYXNoX3R1cGxlKHYpOworICAgIH0KKworIyAgIGRlZmluZSBCT09TVF9IQVNIX1RVUExFX0YoeiwgbiwgXykgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICB0ZW1wbGF0ZTwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIEJPT1NUX1BQX0VOVU1fUEFSQU1TX1ooeiwgbiwgdHlwZW5hbWUgQSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBpbmxpbmUgc3RkOjpzaXplX3QgaGFzaF92YWx1ZShzdGQ6OnR1cGxlPCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIEJPT1NUX1BQX0VOVU1fUEFSQU1TX1ooeiwgbiwgQSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgID4gY29uc3QmIHYpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIHJldHVybiBuZG5ib29zdDo6aGFzaF9kZXRhaWw6Omhhc2hfdHVwbGUodik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIH0KKworICAgIEJPT1NUX1BQX1JFUEVBVF9GUk9NX1RPKDEsIDExLCBCT09TVF9IQVNIX1RVUExFX0YsIF8pCisjICAgdW5kZWYgQk9PU1RfSEFTSF9UVVBMRV9GCisjZW5kaWYKKworI2VuZGlmCisKKyNpZiAhZGVmaW5lZChCT09TVF9OT19DWFgxMV9TTUFSVF9QVFIpCisgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFQ+CisgICAgaW5saW5lIHN0ZDo6c2l6ZV90IGhhc2hfdmFsdWUoc3RkOjpzaGFyZWRfcHRyPFQ+IGNvbnN0JiB4KSB7CisgICAgICAgIHJldHVybiBuZG5ib29zdDo6aGFzaF92YWx1ZSh4LmdldCgpKTsKKyAgICB9CisKKyAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVCwgdHlwZW5hbWUgRGVsZXRlcj4KKyAgICBpbmxpbmUgc3RkOjpzaXplX3QgaGFzaF92YWx1ZShzdGQ6OnVuaXF1ZV9wdHI8VCwgRGVsZXRlcj4gY29uc3QmIHgpIHsKKyAgICAgICAgcmV0dXJuIG5kbmJvb3N0OjpoYXNoX3ZhbHVlKHguZ2V0KCkpOworICAgIH0KKyNlbmRpZgorCisgICAgLy8KKyAgICAvLyBjYWxsX2hhc2hfaW1wbAorICAgIC8vCisKKyAgICAvLyBPbiBjb21waWxlcnMgd2l0aG91dCBmdW5jdGlvbiB0ZW1wbGF0ZSBvcmRlcmluZywgdGhpcyBkZWFscyB3aXRoIGFycmF5cy4KKworI2lmIGRlZmluZWQoQk9PU1RfTk9fRlVOQ1RJT05fVEVNUExBVEVfT1JERVJJTkcpCisgICAgbmFtZXNwYWNlIGhhc2hfZGV0YWlsCisgICAgeworICAgICAgICB0ZW1wbGF0ZSA8Ym9vbCBJc0FycmF5PgorICAgICAgICBzdHJ1Y3QgY2FsbF9oYXNoX2ltcGwKKyAgICAgICAgeworICAgICAgICAgICAgdGVtcGxhdGUgPGNsYXNzIFQ+CisgICAgICAgICAgICBzdHJ1Y3QgaW5uZXIKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBzdGF0aWMgc3RkOjpzaXplX3QgY2FsbChUIGNvbnN0JiB2KQorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgdXNpbmcgbmFtZXNwYWNlIG5kbmJvb3N0OworICAgICAgICAgICAgICAgICAgICByZXR1cm4gaGFzaF92YWx1ZSh2KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9OworICAgICAgICB9OworCisgICAgICAgIHRlbXBsYXRlIDw+CisgICAgICAgIHN0cnVjdCBjYWxsX2hhc2hfaW1wbDx0cnVlPgorICAgICAgICB7CisgICAgICAgICAgICB0ZW1wbGF0ZSA8Y2xhc3MgQXJyYXk+CisgICAgICAgICAgICBzdHJ1Y3QgaW5uZXIKKyAgICAgICAgICAgIHsKKyNpZiAhQk9PU1RfV09SS0FST1VORChCT09TVF9NU1ZDLCA8IDEzMDApCisgICAgICAgICAgICAgICAgc3RhdGljIHN0ZDo6c2l6ZV90IGNhbGwoQXJyYXkgY29uc3QmIHYpCisjZWxzZQorICAgICAgICAgICAgICAgIHN0YXRpYyBzdGQ6OnNpemVfdCBjYWxsKEFycmF5JiB2KQorI2VuZGlmCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQgc2l6ZSA9IHNpemVvZih2KSAvIHNpemVvZigqdik7CisgICAgICAgICAgICAgICAgICAgIHJldHVybiBuZG5ib29zdDo6aGFzaF9yYW5nZSh2LCB2ICsgc2l6ZSk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfTsKKyAgICAgICAgfTsKKworICAgICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVD4KKyAgICAgICAgc3RydWN0IGNhbGxfaGFzaAorICAgICAgICAgICAgOiBwdWJsaWMgY2FsbF9oYXNoX2ltcGw8bmRuYm9vc3Q6OmlzX2FycmF5PFQ+Ojp2YWx1ZT4KKyAgICAgICAgICAgICAgICA6OkJPT1NUX05FU1RFRF9URU1QTEFURSBpbm5lcjxUPgorICAgICAgICB7CisgICAgICAgIH07CisgICAgfQorI2VuZGlmIC8vIEJPT1NUX05PX0ZVTkNUSU9OX1RFTVBMQVRFX09SREVSSU5HCisKKyAgICAvLworICAgIC8vIG5kbmJvb3N0OjpoYXNoCisgICAgLy8KKworCisjaWYgIWRlZmluZWQoQk9PU1RfTk9fVEVNUExBVEVfUEFSVElBTF9TUEVDSUFMSVpBVElPTikKKworICAgIHRlbXBsYXRlIDxjbGFzcyBUPiBzdHJ1Y3QgaGFzaAorICAgICAgICA6IHN0ZDo6dW5hcnlfZnVuY3Rpb248VCwgc3RkOjpzaXplX3Q+CisgICAgeworI2lmICFkZWZpbmVkKEJPT1NUX05PX0ZVTkNUSU9OX1RFTVBMQVRFX09SREVSSU5HKQorICAgICAgICBzdGQ6OnNpemVfdCBvcGVyYXRvcigpKFQgY29uc3QmIHZhbCkgY29uc3QKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJuIGhhc2hfdmFsdWUodmFsKTsKKyAgICAgICAgfQorI2Vsc2UKKyAgICAgICAgc3RkOjpzaXplX3Qgb3BlcmF0b3IoKShUIGNvbnN0JiB2YWwpIGNvbnN0CisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiBoYXNoX2RldGFpbDo6Y2FsbF9oYXNoPFQ+OjpjYWxsKHZhbCk7CisgICAgICAgIH0KKyNlbmRpZgorICAgIH07CisKKyNpZiBCT09TVF9XT1JLQVJPVU5EKF9fRE1DX18sIDw9IDB4ODQ4KQorICAgIHRlbXBsYXRlIDxjbGFzcyBULCB1bnNpZ25lZCBpbnQgbj4gc3RydWN0IGhhc2g8VFtuXT4KKyAgICAgICAgOiBzdGQ6OnVuYXJ5X2Z1bmN0aW9uPFRbbl0sIHN0ZDo6c2l6ZV90PgorICAgIHsKKyAgICAgICAgc3RkOjpzaXplX3Qgb3BlcmF0b3IoKShjb25zdCBUKiB2YWwpIGNvbnN0CisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiBuZG5ib29zdDo6aGFzaF9yYW5nZSh2YWwsIHZhbCtuKTsKKyAgICAgICAgfQorICAgIH07CisjZW5kaWYKKworI2Vsc2UgLy8gQk9PU1RfTk9fVEVNUExBVEVfUEFSVElBTF9TUEVDSUFMSVpBVElPTgorCisgICAgLy8gT24gY29tcGlsZXJzIHdpdGhvdXQgcGFydGlhbCBzcGVjaWFsaXphdGlvbiwgbmRuYm9vc3Q6Omhhc2g8VD4KKyAgICAvLyBoYXMgYWxyZWFkeSBiZWVuIGRlY2xhcmVkIHRvIGRlYWwgd2l0aCBwb2ludGVycywgc28ganVzdAorICAgIC8vIG5lZWQgdG8gc3VwcGx5IHRoZSBub24tcG9pbnRlciB2ZXJzaW9uIG9mIGhhc2hfaW1wbC4KKworICAgIG5hbWVzcGFjZSBoYXNoX2RldGFpbAorICAgIHsKKyAgICAgICAgdGVtcGxhdGUgPGJvb2wgSXNQb2ludGVyPgorICAgICAgICBzdHJ1Y3QgaGFzaF9pbXBsOworCisjaWYgIUJPT1NUX1dPUktBUk9VTkQoQk9PU1RfTVNWQywgPCAxMzAwKQorCisgICAgICAgIHRlbXBsYXRlIDw+CisgICAgICAgIHN0cnVjdCBoYXNoX2ltcGw8ZmFsc2U+CisgICAgICAgIHsKKyAgICAgICAgICAgIHRlbXBsYXRlIDxjbGFzcyBUPgorICAgICAgICAgICAgc3RydWN0IGlubmVyCisgICAgICAgICAgICAgICAgOiBzdGQ6OnVuYXJ5X2Z1bmN0aW9uPFQsIHN0ZDo6c2l6ZV90PgorICAgICAgICAgICAgeworI2lmICFkZWZpbmVkKEJPT1NUX05PX0ZVTkNUSU9OX1RFTVBMQVRFX09SREVSSU5HKQorICAgICAgICAgICAgICAgIHN0ZDo6c2l6ZV90IG9wZXJhdG9yKCkoVCBjb25zdCYgdmFsKSBjb25zdAorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGhhc2hfdmFsdWUodmFsKTsKKyAgICAgICAgICAgICAgICB9CisjZWxzZQorICAgICAgICAgICAgICAgIHN0ZDo6c2l6ZV90IG9wZXJhdG9yKCkoVCBjb25zdCYgdmFsKSBjb25zdAorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGhhc2hfZGV0YWlsOjpjYWxsX2hhc2g8VD46OmNhbGwodmFsKTsKKyAgICAgICAgICAgICAgICB9CisjZW5kaWYKKyAgICAgICAgICAgIH07CisgICAgICAgIH07CisKKyNlbHNlIC8vIFZpc3VhbCBDKysgNi41CisKKyAgICAgICAgLy8gVmlzdWFsIEMrKyA2LjUgaGFzIHByb2JsZW1zIHdpdGggbmVzdGVkIG1lbWJlciBmdW5jdGlvbnMgYW5kCisgICAgICAgIC8vIGFwcGx5aW5nIGNvbnN0IHRvIGNvbnN0IHR5cGVzIGluIHRlbXBsYXRlcy4gU28gd2UgZ2V0IHRoaXM6CisKKyAgICAgICAgdGVtcGxhdGUgPGJvb2wgSXNDb25zdD4KKyAgICAgICAgc3RydWN0IGhhc2hfaW1wbF9tc3ZjCisgICAgICAgIHsKKyAgICAgICAgICAgIHRlbXBsYXRlIDxjbGFzcyBUPgorICAgICAgICAgICAgc3RydWN0IGlubmVyCisgICAgICAgICAgICAgICAgOiBwdWJsaWMgc3RkOjp1bmFyeV9mdW5jdGlvbjxULCBzdGQ6OnNpemVfdD4KKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBzdGQ6OnNpemVfdCBvcGVyYXRvcigpKFQgY29uc3QmIHZhbCkgY29uc3QKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgIHJldHVybiBoYXNoX2RldGFpbDo6Y2FsbF9oYXNoPFQgY29uc3Q+OjpjYWxsKHZhbCk7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgc3RkOjpzaXplX3Qgb3BlcmF0b3IoKShUJiB2YWwpIGNvbnN0CisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICByZXR1cm4gaGFzaF9kZXRhaWw6OmNhbGxfaGFzaDxUPjo6Y2FsbCh2YWwpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH07CisgICAgICAgIH07CisKKyAgICAgICAgdGVtcGxhdGUgPD4KKyAgICAgICAgc3RydWN0IGhhc2hfaW1wbF9tc3ZjPHRydWU+CisgICAgICAgIHsKKyAgICAgICAgICAgIHRlbXBsYXRlIDxjbGFzcyBUPgorICAgICAgICAgICAgc3RydWN0IGlubmVyCisgICAgICAgICAgICAgICAgOiBwdWJsaWMgc3RkOjp1bmFyeV9mdW5jdGlvbjxULCBzdGQ6OnNpemVfdD4KKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBzdGQ6OnNpemVfdCBvcGVyYXRvcigpKFQmIHZhbCkgY29uc3QKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgIHJldHVybiBoYXNoX2RldGFpbDo6Y2FsbF9oYXNoPFQ+OjpjYWxsKHZhbCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfTsKKyAgICAgICAgfTsKKyAgICAgICAgCisgICAgICAgIHRlbXBsYXRlIDxjbGFzcyBUPgorICAgICAgICBzdHJ1Y3QgaGFzaF9pbXBsX21zdmMyCisgICAgICAgICAgICA6IHB1YmxpYyBoYXNoX2ltcGxfbXN2YzxuZG5ib29zdDo6aXNfY29uc3Q8VD46OnZhbHVlPgorICAgICAgICAgICAgICAgICAgICA6OkJPT1NUX05FU1RFRF9URU1QTEFURSBpbm5lcjxUPiB7fTsKKyAgICAgICAgCisgICAgICAgIHRlbXBsYXRlIDw+CisgICAgICAgIHN0cnVjdCBoYXNoX2ltcGw8ZmFsc2U+CisgICAgICAgIHsKKyAgICAgICAgICAgIHRlbXBsYXRlIDxjbGFzcyBUPgorICAgICAgICAgICAgc3RydWN0IGlubmVyIDogcHVibGljIGhhc2hfaW1wbF9tc3ZjMjxUPiB7fTsKKyAgICAgICAgfTsKKworI2VuZGlmIC8vIFZpc3VhbCBDKysgNi41CisgICAgfQorI2VuZGlmICAvLyBCT09TVF9OT19URU1QTEFURV9QQVJUSUFMX1NQRUNJQUxJWkFUSU9OCit9CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvZnVuY3Rpb25hbC9oYXNoL2hhc2guaHBwIGIvbmRuYm9vc3QvZnVuY3Rpb25hbC9oYXNoL2hhc2guaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM2MTc5M2MKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9mdW5jdGlvbmFsL2hhc2gvaGFzaC5ocHAKQEAgLTAsMCArMSw1MzAgQEAKKworLy8gQ29weXJpZ2h0IDIwMDUtMjAwOSBEYW5pZWwgSmFtZXMuCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIChTZWUgYWNjb21wYW55aW5nCisvLyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKworLy8gIEJhc2VkIG9uIFBldGVyIERpbW92J3MgcHJvcG9zYWwKKy8vICBodHRwOi8vd3d3Lm9wZW4tc3RkLm9yZy9KVEMxL1NDMjIvV0cyMS9kb2NzL3BhcGVycy8yMDA1L24xNzU2LnBkZgorLy8gIGlzc3VlIDYuMTguIAorCisjaWYgIWRlZmluZWQoQk9PU1RfRlVOQ1RJT05BTF9IQVNIX0hBU0hfSFBQKQorI2RlZmluZSBCT09TVF9GVU5DVElPTkFMX0hBU0hfSEFTSF9IUFAKKworI2luY2x1ZGUgPG5kbmJvb3N0L2Z1bmN0aW9uYWwvaGFzaC9oYXNoX2Z3ZC5ocHA+CisjaW5jbHVkZSA8ZnVuY3Rpb25hbD4KKyNpbmNsdWRlIDxuZG5ib29zdC9mdW5jdGlvbmFsL2hhc2gvZGV0YWlsL2hhc2hfZmxvYXQuaHBwPgorI2luY2x1ZGUgPHN0cmluZz4KKyNpbmNsdWRlIDxuZG5ib29zdC9saW1pdHMuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2lzX2VudW0uaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2lzX2ludGVncmFsLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC91dGlsaXR5L2VuYWJsZV9pZi5ocHA+CisKKyNpZiBkZWZpbmVkKEJPT1NUX05PX1RFTVBMQVRFX1BBUlRJQUxfU1BFQ0lBTElaQVRJT04pCisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvaXNfcG9pbnRlci5ocHA+CisjZW5kaWYKKworI2lmICFkZWZpbmVkKEJPT1NUX05PX0NYWDExX0hEUl9UWVBFSU5ERVgpCisjaW5jbHVkZSA8dHlwZWluZGV4PgorI2VuZGlmCisKKyNpZiBCT09TVF9XT1JLQVJPVU5EKF9fR05VQ19fLCA8IDMpIFwKKyAgICAmJiAhZGVmaW5lZChfX1NHSV9TVExfUE9SVCkgJiYgIWRlZmluZWQoX1NUTFBPUlRfVkVSU0lPTikKKyNkZWZpbmUgQk9PU1RfSEFTSF9DSEFSX1RSQUlUUyBzdHJpbmdfY2hhcl90cmFpdHMKKyNlbHNlCisjZGVmaW5lIEJPT1NUX0hBU0hfQ0hBUl9UUkFJVFMgY2hhcl90cmFpdHMKKyNlbmRpZgorCituYW1lc3BhY2UgbmRuYm9vc3QKK3sKKyAgICBuYW1lc3BhY2UgaGFzaF9kZXRhaWwKKyAgICB7CisgICAgICAgIHN0cnVjdCBlbmFibGVfaGFzaF92YWx1ZSB7IHR5cGVkZWYgc3RkOjpzaXplX3QgdHlwZTsgfTsKKworICAgICAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gc3RydWN0IGJhc2ljX251bWJlcnMge307CisgICAgICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBUPiBzdHJ1Y3QgbG9uZ19udW1iZXJzOworICAgICAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gc3RydWN0IHVsb25nX251bWJlcnM7CisgICAgICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBUPiBzdHJ1Y3QgZmxvYXRfbnVtYmVycyB7fTsKKworICAgICAgICB0ZW1wbGF0ZSA8PiBzdHJ1Y3QgYmFzaWNfbnVtYmVyczxib29sPiA6CisgICAgICAgICAgICBuZG5ib29zdDo6aGFzaF9kZXRhaWw6OmVuYWJsZV9oYXNoX3ZhbHVlIHt9OworICAgICAgICB0ZW1wbGF0ZSA8PiBzdHJ1Y3QgYmFzaWNfbnVtYmVyczxjaGFyPiA6CisgICAgICAgICAgICBuZG5ib29zdDo6aGFzaF9kZXRhaWw6OmVuYWJsZV9oYXNoX3ZhbHVlIHt9OworICAgICAgICB0ZW1wbGF0ZSA8PiBzdHJ1Y3QgYmFzaWNfbnVtYmVyczx1bnNpZ25lZCBjaGFyPiA6CisgICAgICAgICAgICBuZG5ib29zdDo6aGFzaF9kZXRhaWw6OmVuYWJsZV9oYXNoX3ZhbHVlIHt9OworICAgICAgICB0ZW1wbGF0ZSA8PiBzdHJ1Y3QgYmFzaWNfbnVtYmVyczxzaWduZWQgY2hhcj4gOgorICAgICAgICAgICAgbmRuYm9vc3Q6Omhhc2hfZGV0YWlsOjplbmFibGVfaGFzaF92YWx1ZSB7fTsKKyAgICAgICAgdGVtcGxhdGUgPD4gc3RydWN0IGJhc2ljX251bWJlcnM8c2hvcnQ+IDoKKyAgICAgICAgICAgIG5kbmJvb3N0OjpoYXNoX2RldGFpbDo6ZW5hYmxlX2hhc2hfdmFsdWUge307CisgICAgICAgIHRlbXBsYXRlIDw+IHN0cnVjdCBiYXNpY19udW1iZXJzPHVuc2lnbmVkIHNob3J0PiA6CisgICAgICAgICAgICBuZG5ib29zdDo6aGFzaF9kZXRhaWw6OmVuYWJsZV9oYXNoX3ZhbHVlIHt9OworICAgICAgICB0ZW1wbGF0ZSA8PiBzdHJ1Y3QgYmFzaWNfbnVtYmVyczxpbnQ+IDoKKyAgICAgICAgICAgIG5kbmJvb3N0OjpoYXNoX2RldGFpbDo6ZW5hYmxlX2hhc2hfdmFsdWUge307CisgICAgICAgIHRlbXBsYXRlIDw+IHN0cnVjdCBiYXNpY19udW1iZXJzPHVuc2lnbmVkIGludD4gOgorICAgICAgICAgICAgbmRuYm9vc3Q6Omhhc2hfZGV0YWlsOjplbmFibGVfaGFzaF92YWx1ZSB7fTsKKyAgICAgICAgdGVtcGxhdGUgPD4gc3RydWN0IGJhc2ljX251bWJlcnM8bG9uZz4gOgorICAgICAgICAgICAgbmRuYm9vc3Q6Omhhc2hfZGV0YWlsOjplbmFibGVfaGFzaF92YWx1ZSB7fTsKKyAgICAgICAgdGVtcGxhdGUgPD4gc3RydWN0IGJhc2ljX251bWJlcnM8dW5zaWduZWQgbG9uZz4gOgorICAgICAgICAgICAgbmRuYm9vc3Q6Omhhc2hfZGV0YWlsOjplbmFibGVfaGFzaF92YWx1ZSB7fTsKKworI2lmICFkZWZpbmVkKEJPT1NUX05PX0lOVFJJTlNJQ19XQ0hBUl9UKQorICAgICAgICB0ZW1wbGF0ZSA8PiBzdHJ1Y3QgYmFzaWNfbnVtYmVyczx3Y2hhcl90PiA6CisgICAgICAgICAgICBuZG5ib29zdDo6aGFzaF9kZXRhaWw6OmVuYWJsZV9oYXNoX3ZhbHVlIHt9OworI2VuZGlmCisKKyAgICAgICAgLy8gbG9uZ19udW1iZXJzIGlzIGRlZmluZWQgbGlrZSB0aGlzIHRvIGFsbG93IGZvciBzZXBhcmF0ZQorICAgICAgICAvLyBzcGVjaWFsaXphdGlvbiBmb3IgbG9uZ19sb25nIGFuZCBpbnQxMjhfdHlwZSwgaW4gY2FzZQorICAgICAgICAvLyB0aGV5IGNvbmZsaWN0LgorICAgICAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gc3RydWN0IGxvbmdfbnVtYmVyczIge307CisgICAgICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBUPiBzdHJ1Y3QgdWxvbmdfbnVtYmVyczIge307CisgICAgICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBUPiBzdHJ1Y3QgbG9uZ19udW1iZXJzIDogbG9uZ19udW1iZXJzMjxUPiB7fTsKKyAgICAgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFQ+IHN0cnVjdCB1bG9uZ19udW1iZXJzIDogdWxvbmdfbnVtYmVyczI8VD4ge307CisKKyNpZiAhZGVmaW5lZChCT09TVF9OT19MT05HX0xPTkcpCisgICAgICAgIHRlbXBsYXRlIDw+IHN0cnVjdCBsb25nX251bWJlcnM8bmRuYm9vc3Q6OmxvbmdfbG9uZ190eXBlPiA6CisgICAgICAgICAgICBuZG5ib29zdDo6aGFzaF9kZXRhaWw6OmVuYWJsZV9oYXNoX3ZhbHVlIHt9OworICAgICAgICB0ZW1wbGF0ZSA8PiBzdHJ1Y3QgdWxvbmdfbnVtYmVyczxuZG5ib29zdDo6dWxvbmdfbG9uZ190eXBlPiA6CisgICAgICAgICAgICBuZG5ib29zdDo6aGFzaF9kZXRhaWw6OmVuYWJsZV9oYXNoX3ZhbHVlIHt9OworI2VuZGlmCisKKyNpZiBkZWZpbmVkKEJPT1NUX0hBU19JTlQxMjgpCisgICAgICAgIHRlbXBsYXRlIDw+IHN0cnVjdCBsb25nX251bWJlcnMyPG5kbmJvb3N0OjppbnQxMjhfdHlwZT4gOgorICAgICAgICAgICAgbmRuYm9vc3Q6Omhhc2hfZGV0YWlsOjplbmFibGVfaGFzaF92YWx1ZSB7fTsKKyAgICAgICAgdGVtcGxhdGUgPD4gc3RydWN0IHVsb25nX251bWJlcnMyPG5kbmJvb3N0Ojp1aW50MTI4X3R5cGU+IDoKKyAgICAgICAgICAgIG5kbmJvb3N0OjpoYXNoX2RldGFpbDo6ZW5hYmxlX2hhc2hfdmFsdWUge307CisjZW5kaWYKKworICAgICAgICB0ZW1wbGF0ZSA8PiBzdHJ1Y3QgZmxvYXRfbnVtYmVyczxmbG9hdD4gOgorICAgICAgICAgICAgbmRuYm9vc3Q6Omhhc2hfZGV0YWlsOjplbmFibGVfaGFzaF92YWx1ZSB7fTsKKyAgICAgICAgdGVtcGxhdGUgPD4gc3RydWN0IGZsb2F0X251bWJlcnM8ZG91YmxlPiA6CisgICAgICAgICAgICBuZG5ib29zdDo6aGFzaF9kZXRhaWw6OmVuYWJsZV9oYXNoX3ZhbHVlIHt9OworICAgICAgICB0ZW1wbGF0ZSA8PiBzdHJ1Y3QgZmxvYXRfbnVtYmVyczxsb25nIGRvdWJsZT4gOgorICAgICAgICAgICAgbmRuYm9vc3Q6Omhhc2hfZGV0YWlsOjplbmFibGVfaGFzaF92YWx1ZSB7fTsKKyAgICB9CisKKyAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KKyAgICB0eXBlbmFtZSBuZG5ib29zdDo6aGFzaF9kZXRhaWw6OmJhc2ljX251bWJlcnM8VD46OnR5cGUgaGFzaF92YWx1ZShUKTsKKyAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KKyAgICB0eXBlbmFtZSBuZG5ib29zdDo6aGFzaF9kZXRhaWw6OmxvbmdfbnVtYmVyczxUPjo6dHlwZSBoYXNoX3ZhbHVlKFQpOworICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgorICAgIHR5cGVuYW1lIG5kbmJvb3N0OjpoYXNoX2RldGFpbDo6dWxvbmdfbnVtYmVyczxUPjo6dHlwZSBoYXNoX3ZhbHVlKFQpOworCisgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFQ+CisgICAgdHlwZW5hbWUgbmRuYm9vc3Q6OmVuYWJsZV9pZjxuZG5ib29zdDo6aXNfZW51bTxUPiwgc3RkOjpzaXplX3Q+Ojp0eXBlCisgICAgICAgIGhhc2hfdmFsdWUoVCk7CisKKyNpZiAhQk9PU1RfV09SS0FST1VORChfX0RNQ19fLCA8PSAweDg0OCkKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVD4gc3RkOjpzaXplX3QgaGFzaF92YWx1ZShUKiBjb25zdCYpOworI2Vsc2UKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVD4gc3RkOjpzaXplX3QgaGFzaF92YWx1ZShUKik7CisjZW5kaWYKKworI2lmICFkZWZpbmVkKEJPT1NUX05PX0ZVTkNUSU9OX1RFTVBMQVRFX09SREVSSU5HKQorICAgIHRlbXBsYXRlPCBjbGFzcyBULCB1bnNpZ25lZCBOID4KKyAgICBzdGQ6OnNpemVfdCBoYXNoX3ZhbHVlKGNvbnN0IFQgKCZ4KVtOXSk7CisKKyAgICB0ZW1wbGF0ZTwgY2xhc3MgVCwgdW5zaWduZWQgTiA+CisgICAgc3RkOjpzaXplX3QgaGFzaF92YWx1ZShUICgmeClbTl0pOworI2VuZGlmCisKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgQ2gsIGNsYXNzIEE+CisgICAgc3RkOjpzaXplX3QgaGFzaF92YWx1ZSgKKyAgICAgICAgc3RkOjpiYXNpY19zdHJpbmc8Q2gsIHN0ZDo6Qk9PU1RfSEFTSF9DSEFSX1RSQUlUUzxDaD4sIEE+IGNvbnN0Jik7CisKKyAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KKyAgICB0eXBlbmFtZSBuZG5ib29zdDo6aGFzaF9kZXRhaWw6OmZsb2F0X251bWJlcnM8VD46OnR5cGUgaGFzaF92YWx1ZShUKTsKKworI2lmICFkZWZpbmVkKEJPT1NUX05PX0NYWDExX0hEUl9UWVBFSU5ERVgpCisgICAgc3RkOjpzaXplX3QgaGFzaF92YWx1ZShzdGQ6OnR5cGVfaW5kZXgpOworI2VuZGlmCisKKyAgICAvLyBJbXBsZW1lbnRhdGlvbgorCisgICAgbmFtZXNwYWNlIGhhc2hfZGV0YWlsCisgICAgeworICAgICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVD4KKyAgICAgICAgaW5saW5lIHN0ZDo6c2l6ZV90IGhhc2hfdmFsdWVfc2lnbmVkKFQgdmFsKQorICAgICAgICB7CisgICAgICAgICAgICAgY29uc3QgaW50IHNpemVfdF9iaXRzID0gc3RkOjpudW1lcmljX2xpbWl0czxzdGQ6OnNpemVfdD46OmRpZ2l0czsKKyAgICAgICAgICAgICAvLyBjZWlsaW5nKHN0ZDo6bnVtZXJpY19saW1pdHM8VD46OmRpZ2l0cyAvIHNpemVfdF9iaXRzKSAtIDEKKyAgICAgICAgICAgICBjb25zdCBpbnQgbGVuZ3RoID0gKHN0ZDo6bnVtZXJpY19saW1pdHM8VD46OmRpZ2l0cyAtIDEpCisgICAgICAgICAgICAgICAgIC8gc2l6ZV90X2JpdHM7CisKKyAgICAgICAgICAgICBzdGQ6OnNpemVfdCBzZWVkID0gMDsKKyAgICAgICAgICAgICBUIHBvc2l0aXZlID0gdmFsIDwgMCA/IC0xIC0gdmFsIDogdmFsOworCisgICAgICAgICAgICAgLy8gSG9wZWZ1bGx5LCB0aGlzIGxvb3AgY2FuIGJlIHVucm9sbGVkLgorICAgICAgICAgICAgIGZvcih1bnNpZ25lZCBpbnQgaSA9IGxlbmd0aCAqIHNpemVfdF9iaXRzOyBpID4gMDsgaSAtPSBzaXplX3RfYml0cykKKyAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgIHNlZWQgXj0gKHN0ZDo6c2l6ZV90KSAocG9zaXRpdmUgPj4gaSkgKyAoc2VlZDw8NikgKyAoc2VlZD4+Mik7CisgICAgICAgICAgICAgfQorICAgICAgICAgICAgIHNlZWQgXj0gKHN0ZDo6c2l6ZV90KSB2YWwgKyAoc2VlZDw8NikgKyAoc2VlZD4+Mik7CisKKyAgICAgICAgICAgICByZXR1cm4gc2VlZDsKKyAgICAgICAgfQorCisgICAgICAgIHRlbXBsYXRlIDxjbGFzcyBUPgorICAgICAgICBpbmxpbmUgc3RkOjpzaXplX3QgaGFzaF92YWx1ZV91bnNpZ25lZChUIHZhbCkKKyAgICAgICAgeworICAgICAgICAgICAgIGNvbnN0IGludCBzaXplX3RfYml0cyA9IHN0ZDo6bnVtZXJpY19saW1pdHM8c3RkOjpzaXplX3Q+OjpkaWdpdHM7CisgICAgICAgICAgICAgLy8gY2VpbGluZyhzdGQ6Om51bWVyaWNfbGltaXRzPFQ+OjpkaWdpdHMgLyBzaXplX3RfYml0cykgLSAxCisgICAgICAgICAgICAgY29uc3QgaW50IGxlbmd0aCA9IChzdGQ6Om51bWVyaWNfbGltaXRzPFQ+OjpkaWdpdHMgLSAxKQorICAgICAgICAgICAgICAgICAvIHNpemVfdF9iaXRzOworCisgICAgICAgICAgICAgc3RkOjpzaXplX3Qgc2VlZCA9IDA7CisKKyAgICAgICAgICAgICAvLyBIb3BlZnVsbHksIHRoaXMgbG9vcCBjYW4gYmUgdW5yb2xsZWQuCisgICAgICAgICAgICAgZm9yKHVuc2lnbmVkIGludCBpID0gbGVuZ3RoICogc2l6ZV90X2JpdHM7IGkgPiAwOyBpIC09IHNpemVfdF9iaXRzKQorICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgc2VlZCBePSAoc3RkOjpzaXplX3QpICh2YWwgPj4gaSkgKyAoc2VlZDw8NikgKyAoc2VlZD4+Mik7CisgICAgICAgICAgICAgfQorICAgICAgICAgICAgIHNlZWQgXj0gKHN0ZDo6c2l6ZV90KSB2YWwgKyAoc2VlZDw8NikgKyAoc2VlZD4+Mik7CisKKyAgICAgICAgICAgICByZXR1cm4gc2VlZDsKKyAgICAgICAgfQorICAgIH0KKworICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgorICAgIHR5cGVuYW1lIG5kbmJvb3N0OjpoYXNoX2RldGFpbDo6YmFzaWNfbnVtYmVyczxUPjo6dHlwZSBoYXNoX3ZhbHVlKFQgdikKKyAgICB7CisgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxzdGQ6OnNpemVfdD4odik7CisgICAgfQorCisgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFQ+CisgICAgdHlwZW5hbWUgbmRuYm9vc3Q6Omhhc2hfZGV0YWlsOjpsb25nX251bWJlcnM8VD46OnR5cGUgaGFzaF92YWx1ZShUIHYpCisgICAgeworICAgICAgICByZXR1cm4gaGFzaF9kZXRhaWw6Omhhc2hfdmFsdWVfc2lnbmVkKHYpOworICAgIH0KKworICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgorICAgIHR5cGVuYW1lIG5kbmJvb3N0OjpoYXNoX2RldGFpbDo6dWxvbmdfbnVtYmVyczxUPjo6dHlwZSBoYXNoX3ZhbHVlKFQgdikKKyAgICB7CisgICAgICAgIHJldHVybiBoYXNoX2RldGFpbDo6aGFzaF92YWx1ZV91bnNpZ25lZCh2KTsKKyAgICB9CisKKyAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KKyAgICB0eXBlbmFtZSBuZG5ib29zdDo6ZW5hYmxlX2lmPG5kbmJvb3N0Ojppc19lbnVtPFQ+LCBzdGQ6OnNpemVfdD46OnR5cGUKKyAgICAgICAgaGFzaF92YWx1ZShUIHYpCisgICAgeworICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8c3RkOjpzaXplX3Q+KHYpOworICAgIH0KKworICAgIC8vIEltcGxlbWVudGF0aW9uIGJ5IEFsYmVydG8gQmFyYmF0aSBhbmQgRGF2ZSBIYXJyaXMuCisjaWYgIUJPT1NUX1dPUktBUk9VTkQoX19ETUNfXywgPD0gMHg4NDgpCisgICAgdGVtcGxhdGUgPGNsYXNzIFQ+IHN0ZDo6c2l6ZV90IGhhc2hfdmFsdWUoVCogY29uc3QmIHYpCisjZWxzZQorICAgIHRlbXBsYXRlIDxjbGFzcyBUPiBzdGQ6OnNpemVfdCBoYXNoX3ZhbHVlKFQqIHYpCisjZW5kaWYKKyAgICB7CisjaWYgZGVmaW5lZChfX1ZNUykgJiYgX19JTklUSUFMX1BPSU5URVJfU0laRSA9PSA2NAorICAgIC8vIGZvciBzb21lIHJlYXNvbiBwdHJkaWZmX3Qgb24gT3BlblZNUyBjb21waWxlciB3aXRoCisgICAgLy8gNjQgYml0IGlzIG5vdCA2NCBiaXQgISEhCisgICAgICAgIHN0ZDo6c2l6ZV90IHggPSBzdGF0aWNfY2FzdDxzdGQ6OnNpemVfdD4oCisgICAgICAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8bG9uZyBsb25nIGludD4odikpOworI2Vsc2UKKyAgICAgICAgc3RkOjpzaXplX3QgeCA9IHN0YXRpY19jYXN0PHN0ZDo6c2l6ZV90PigKKyAgICAgICAgICAgcmVpbnRlcnByZXRfY2FzdDxzdGQ6OnB0cmRpZmZfdD4odikpOworI2VuZGlmCisgICAgICAgIHJldHVybiB4ICsgKHggPj4gMyk7CisgICAgfQorCisjaWYgZGVmaW5lZChCT09TVF9NU1ZDKQorI3ByYWdtYSB3YXJuaW5nKHB1c2gpCisjaWYgQk9PU1RfTVNWQyA8PSAxNDAwCisjcHJhZ21hIHdhcm5pbmcoZGlzYWJsZTo0MjY3KSAvLyAnYXJndW1lbnQnIDogY29udmVyc2lvbiBmcm9tICdzaXplX3QnIHRvCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAndW5zaWduZWQgaW50JywgcG9zc2libGUgbG9zcyBvZiBkYXRhCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBBIG1pc2d1aWRlZCBhdHRlbXB0IHRvIGRldGVjdCA2NC1iaXQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGluY29tcGF0YWJpbGl0eS4KKyNlbmRpZgorI2VuZGlmCisKKyNpZiBCT09TVF9XT1JLQVJPVU5EKEJPT1NUX01TVkMsIDwgMTMwMCkKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVD4KKyAgICBpbmxpbmUgdm9pZCBoYXNoX2NvbWJpbmUoc3RkOjpzaXplX3QmIHNlZWQsIFQmIHYpCisjZWxzZQorICAgIHRlbXBsYXRlIDxjbGFzcyBUPgorICAgIGlubGluZSB2b2lkIGhhc2hfY29tYmluZShzdGQ6OnNpemVfdCYgc2VlZCwgVCBjb25zdCYgdikKKyNlbmRpZgorICAgIHsKKyAgICAgICAgbmRuYm9vc3Q6Omhhc2g8VD4gaGFzaGVyOworICAgICAgICBzZWVkIF49IGhhc2hlcih2KSArIDB4OWUzNzc5YjkgKyAoc2VlZDw8NikgKyAoc2VlZD4+Mik7CisgICAgfQorCisjaWYgZGVmaW5lZChCT09TVF9NU1ZDKQorI3ByYWdtYSB3YXJuaW5nKHBvcCkKKyNlbmRpZgorCisgICAgdGVtcGxhdGUgPGNsYXNzIEl0PgorICAgIGlubGluZSBzdGQ6OnNpemVfdCBoYXNoX3JhbmdlKEl0IGZpcnN0LCBJdCBsYXN0KQorICAgIHsKKyAgICAgICAgc3RkOjpzaXplX3Qgc2VlZCA9IDA7CisKKyAgICAgICAgZm9yKDsgZmlyc3QgIT0gbGFzdDsgKytmaXJzdCkKKyAgICAgICAgeworICAgICAgICAgICAgaGFzaF9jb21iaW5lKHNlZWQsICpmaXJzdCk7CisgICAgICAgIH0KKworICAgICAgICByZXR1cm4gc2VlZDsKKyAgICB9CisKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgSXQ+CisgICAgaW5saW5lIHZvaWQgaGFzaF9yYW5nZShzdGQ6OnNpemVfdCYgc2VlZCwgSXQgZmlyc3QsIEl0IGxhc3QpCisgICAgeworICAgICAgICBmb3IoOyBmaXJzdCAhPSBsYXN0OyArK2ZpcnN0KQorICAgICAgICB7CisgICAgICAgICAgICBoYXNoX2NvbWJpbmUoc2VlZCwgKmZpcnN0KTsKKyAgICAgICAgfQorICAgIH0KKworI2lmIEJPT1NUX1dPUktBUk9VTkQoX19CT1JMQU5EQ19fLCBCT09TVF9URVNURURfQVQoMHg1NTEpKQorICAgIHRlbXBsYXRlIDxjbGFzcyBUPgorICAgIGlubGluZSBzdGQ6OnNpemVfdCBoYXNoX3JhbmdlKFQqIGZpcnN0LCBUKiBsYXN0KQorICAgIHsKKyAgICAgICAgc3RkOjpzaXplX3Qgc2VlZCA9IDA7CisKKyAgICAgICAgZm9yKDsgZmlyc3QgIT0gbGFzdDsgKytmaXJzdCkKKyAgICAgICAgeworICAgICAgICAgICAgbmRuYm9vc3Q6Omhhc2g8VD4gaGFzaGVyOworICAgICAgICAgICAgc2VlZCBePSBoYXNoZXIoKmZpcnN0KSArIDB4OWUzNzc5YjkgKyAoc2VlZDw8NikgKyAoc2VlZD4+Mik7CisgICAgICAgIH0KKworICAgICAgICByZXR1cm4gc2VlZDsKKyAgICB9CisKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVD4KKyAgICBpbmxpbmUgdm9pZCBoYXNoX3JhbmdlKHN0ZDo6c2l6ZV90JiBzZWVkLCBUKiBmaXJzdCwgVCogbGFzdCkKKyAgICB7CisgICAgICAgIGZvcig7IGZpcnN0ICE9IGxhc3Q7ICsrZmlyc3QpCisgICAgICAgIHsKKyAgICAgICAgICAgIG5kbmJvb3N0OjpoYXNoPFQ+IGhhc2hlcjsKKyAgICAgICAgICAgIHNlZWQgXj0gaGFzaGVyKCpmaXJzdCkgKyAweDllMzc3OWI5ICsgKHNlZWQ8PDYpICsgKHNlZWQ+PjIpOworICAgICAgICB9CisgICAgfQorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChCT09TVF9OT19GVU5DVElPTl9URU1QTEFURV9PUkRFUklORykKKyAgICB0ZW1wbGF0ZTwgY2xhc3MgVCwgdW5zaWduZWQgTiA+CisgICAgaW5saW5lIHN0ZDo6c2l6ZV90IGhhc2hfdmFsdWUoY29uc3QgVCAoJngpW05dKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGhhc2hfcmFuZ2UoeCwgeCArIE4pOworICAgIH0KKworICAgIHRlbXBsYXRlPCBjbGFzcyBULCB1bnNpZ25lZCBOID4KKyAgICBpbmxpbmUgc3RkOjpzaXplX3QgaGFzaF92YWx1ZShUICgmeClbTl0pCisgICAgeworICAgICAgICByZXR1cm4gaGFzaF9yYW5nZSh4LCB4ICsgTik7CisgICAgfQorI2VuZGlmCisKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgQ2gsIGNsYXNzIEE+CisgICAgaW5saW5lIHN0ZDo6c2l6ZV90IGhhc2hfdmFsdWUoCisgICAgICAgIHN0ZDo6YmFzaWNfc3RyaW5nPENoLCBzdGQ6OkJPT1NUX0hBU0hfQ0hBUl9UUkFJVFM8Q2g+LCBBPiBjb25zdCYgdikKKyAgICB7CisgICAgICAgIHJldHVybiBoYXNoX3JhbmdlKHYuYmVnaW4oKSwgdi5lbmQoKSk7CisgICAgfQorCisgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFQ+CisgICAgdHlwZW5hbWUgbmRuYm9vc3Q6Omhhc2hfZGV0YWlsOjpmbG9hdF9udW1iZXJzPFQ+Ojp0eXBlIGhhc2hfdmFsdWUoVCB2KQorICAgIHsKKyAgICAgICAgcmV0dXJuIG5kbmJvb3N0OjpoYXNoX2RldGFpbDo6ZmxvYXRfaGFzaF92YWx1ZSh2KTsKKyAgICB9CisKKyNpZiAhZGVmaW5lZChCT09TVF9OT19DWFgxMV9IRFJfVFlQRUlOREVYKQorICAgIGlubGluZSBzdGQ6OnNpemVfdCBoYXNoX3ZhbHVlKHN0ZDo6dHlwZV9pbmRleCB2KQorICAgIHsKKyAgICAgICAgcmV0dXJuIHYuaGFzaF9jb2RlKCk7CisgICAgfQorI2VuZGlmCisKKyAgICAvLworICAgIC8vIG5kbmJvb3N0OjpoYXNoCisgICAgLy8KKyAgICAKKyAgICAvLyBEZWZpbmUgdGhlIHNwZWNpYWxpemF0aW9ucyByZXF1aXJlZCBieSB0aGUgc3RhbmRhcmQuIFRoZSBnZW5lcmFsIHB1cnBvc2UKKyAgICAvLyBuZG5ib29zdDo6aGFzaCBpcyBkZWZpbmVkIGxhdGVyIGluIGV4dGVuc2lvbnMuaHBwIGlmCisgICAgLy8gQk9PU1RfSEFTSF9OT19FWFRFTlNJT05TIGlzIG5vdCBkZWZpbmVkLgorICAgIAorICAgIC8vIEJPT1NUX0hBU0hfU1BFQ0lBTElaRSAtIGRlZmluZSBhIHNwZWNpYWxpemF0aW9uIGZvciBhIHR5cGUgd2hpY2ggaXMKKyAgICAvLyBwYXNzZWQgYnkgY29weS4KKyAgICAvLworICAgIC8vIEJPT1NUX0hBU0hfU1BFQ0lBTElaRV9SRUYgLSBkZWZpbmUgYSBzcGVjaWFsaXphdGlvbiBmb3IgYSB0eXBlIHdoaWNoIGlzCisgICAgLy8gcGFzc2VkIGJ5IGNvcHkuCisgICAgLy8KKyAgICAvLyBUaGVzZSBhcmUgdW5kZWZpbmVkIGxhdGVyLgorCisjaWYgIUJPT1NUX1dPUktBUk9VTkQoQk9PU1RfTVNWQywgPCAxMzAwKQorI2RlZmluZSBCT09TVF9IQVNIX1NQRUNJQUxJWkUodHlwZSkgXAorICAgIHRlbXBsYXRlIDw+IHN0cnVjdCBoYXNoPHR5cGU+IFwKKyAgICAgICAgIDogcHVibGljIHN0ZDo6dW5hcnlfZnVuY3Rpb248dHlwZSwgc3RkOjpzaXplX3Q+IFwKKyAgICB7IFwKKyAgICAgICAgc3RkOjpzaXplX3Qgb3BlcmF0b3IoKSh0eXBlIHYpIGNvbnN0IFwKKyAgICAgICAgeyBcCisgICAgICAgICAgICByZXR1cm4gbmRuYm9vc3Q6Omhhc2hfdmFsdWUodik7IFwKKyAgICAgICAgfSBcCisgICAgfTsKKworI2RlZmluZSBCT09TVF9IQVNIX1NQRUNJQUxJWkVfUkVGKHR5cGUpIFwKKyAgICB0ZW1wbGF0ZSA8PiBzdHJ1Y3QgaGFzaDx0eXBlPiBcCisgICAgICAgICA6IHB1YmxpYyBzdGQ6OnVuYXJ5X2Z1bmN0aW9uPHR5cGUsIHN0ZDo6c2l6ZV90PiBcCisgICAgeyBcCisgICAgICAgIHN0ZDo6c2l6ZV90IG9wZXJhdG9yKCkodHlwZSBjb25zdCYgdikgY29uc3QgXAorICAgICAgICB7IFwKKyAgICAgICAgICAgIHJldHVybiBuZG5ib29zdDo6aGFzaF92YWx1ZSh2KTsgXAorICAgICAgICB9IFwKKyAgICB9OworI2Vsc2UKKyNkZWZpbmUgQk9PU1RfSEFTSF9TUEVDSUFMSVpFKHR5cGUpIFwKKyAgICB0ZW1wbGF0ZSA8PiBzdHJ1Y3QgaGFzaDx0eXBlPiBcCisgICAgICAgICA6IHB1YmxpYyBzdGQ6OnVuYXJ5X2Z1bmN0aW9uPHR5cGUsIHN0ZDo6c2l6ZV90PiBcCisgICAgeyBcCisgICAgICAgIHN0ZDo6c2l6ZV90IG9wZXJhdG9yKCkodHlwZSB2KSBjb25zdCBcCisgICAgICAgIHsgXAorICAgICAgICAgICAgcmV0dXJuIG5kbmJvb3N0OjpoYXNoX3ZhbHVlKHYpOyBcCisgICAgICAgIH0gXAorICAgIH07IFwKKyAgICBcCisgICAgdGVtcGxhdGUgPD4gc3RydWN0IGhhc2g8Y29uc3QgdHlwZT4gXAorICAgICAgICAgOiBwdWJsaWMgc3RkOjp1bmFyeV9mdW5jdGlvbjxjb25zdCB0eXBlLCBzdGQ6OnNpemVfdD4gXAorICAgIHsgXAorICAgICAgICBzdGQ6OnNpemVfdCBvcGVyYXRvcigpKGNvbnN0IHR5cGUgdikgY29uc3QgXAorICAgICAgICB7IFwKKyAgICAgICAgICAgIHJldHVybiBuZG5ib29zdDo6aGFzaF92YWx1ZSh2KTsgXAorICAgICAgICB9IFwKKyAgICB9OworCisjZGVmaW5lIEJPT1NUX0hBU0hfU1BFQ0lBTElaRV9SRUYodHlwZSkgXAorICAgIHRlbXBsYXRlIDw+IHN0cnVjdCBoYXNoPHR5cGU+IFwKKyAgICAgICAgIDogcHVibGljIHN0ZDo6dW5hcnlfZnVuY3Rpb248dHlwZSwgc3RkOjpzaXplX3Q+IFwKKyAgICB7IFwKKyAgICAgICAgc3RkOjpzaXplX3Qgb3BlcmF0b3IoKSh0eXBlIGNvbnN0JiB2KSBjb25zdCBcCisgICAgICAgIHsgXAorICAgICAgICAgICAgcmV0dXJuIG5kbmJvb3N0OjpoYXNoX3ZhbHVlKHYpOyBcCisgICAgICAgIH0gXAorICAgIH07IFwKKyAgICBcCisgICAgdGVtcGxhdGUgPD4gc3RydWN0IGhhc2g8Y29uc3QgdHlwZT4gXAorICAgICAgICAgOiBwdWJsaWMgc3RkOjp1bmFyeV9mdW5jdGlvbjxjb25zdCB0eXBlLCBzdGQ6OnNpemVfdD4gXAorICAgIHsgXAorICAgICAgICBzdGQ6OnNpemVfdCBvcGVyYXRvcigpKHR5cGUgY29uc3QmIHYpIGNvbnN0IFwKKyAgICAgICAgeyBcCisgICAgICAgICAgICByZXR1cm4gbmRuYm9vc3Q6Omhhc2hfdmFsdWUodik7IFwKKyAgICAgICAgfSBcCisgICAgfTsKKyNlbmRpZgorCisgICAgQk9PU1RfSEFTSF9TUEVDSUFMSVpFKGJvb2wpCisgICAgQk9PU1RfSEFTSF9TUEVDSUFMSVpFKGNoYXIpCisgICAgQk9PU1RfSEFTSF9TUEVDSUFMSVpFKHNpZ25lZCBjaGFyKQorICAgIEJPT1NUX0hBU0hfU1BFQ0lBTElaRSh1bnNpZ25lZCBjaGFyKQorI2lmICFkZWZpbmVkKEJPT1NUX05PX0lOVFJJTlNJQ19XQ0hBUl9UKQorICAgIEJPT1NUX0hBU0hfU1BFQ0lBTElaRSh3Y2hhcl90KQorI2VuZGlmCisgICAgQk9PU1RfSEFTSF9TUEVDSUFMSVpFKHNob3J0KQorICAgIEJPT1NUX0hBU0hfU1BFQ0lBTElaRSh1bnNpZ25lZCBzaG9ydCkKKyAgICBCT09TVF9IQVNIX1NQRUNJQUxJWkUoaW50KQorICAgIEJPT1NUX0hBU0hfU1BFQ0lBTElaRSh1bnNpZ25lZCBpbnQpCisgICAgQk9PU1RfSEFTSF9TUEVDSUFMSVpFKGxvbmcpCisgICAgQk9PU1RfSEFTSF9TUEVDSUFMSVpFKHVuc2lnbmVkIGxvbmcpCisKKyAgICBCT09TVF9IQVNIX1NQRUNJQUxJWkUoZmxvYXQpCisgICAgQk9PU1RfSEFTSF9TUEVDSUFMSVpFKGRvdWJsZSkKKyAgICBCT09TVF9IQVNIX1NQRUNJQUxJWkUobG9uZyBkb3VibGUpCisKKyAgICBCT09TVF9IQVNIX1NQRUNJQUxJWkVfUkVGKHN0ZDo6c3RyaW5nKQorI2lmICFkZWZpbmVkKEJPT1NUX05PX1NURF9XU1RSSU5HKQorICAgIEJPT1NUX0hBU0hfU1BFQ0lBTElaRV9SRUYoc3RkOjp3c3RyaW5nKQorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChCT09TVF9OT19MT05HX0xPTkcpCisgICAgQk9PU1RfSEFTSF9TUEVDSUFMSVpFKG5kbmJvb3N0Ojpsb25nX2xvbmdfdHlwZSkKKyAgICBCT09TVF9IQVNIX1NQRUNJQUxJWkUobmRuYm9vc3Q6OnVsb25nX2xvbmdfdHlwZSkKKyNlbmRpZgorCisjaWYgZGVmaW5lZChCT09TVF9IQVNfSU5UMTI4KQorICAgIEJPT1NUX0hBU0hfU1BFQ0lBTElaRShuZG5ib29zdDo6aW50MTI4X3R5cGUpCisgICAgQk9PU1RfSEFTSF9TUEVDSUFMSVpFKG5kbmJvb3N0Ojp1aW50MTI4X3R5cGUpCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEJPT1NUX05PX0NYWDExX0hEUl9UWVBFSU5ERVgpCisgICAgQk9PU1RfSEFTSF9TUEVDSUFMSVpFKHN0ZDo6dHlwZV9pbmRleCkKKyNlbmRpZgorCisjdW5kZWYgQk9PU1RfSEFTSF9TUEVDSUFMSVpFCisjdW5kZWYgQk9PU1RfSEFTSF9TUEVDSUFMSVpFX1JFRgorCisvLyBTcGVjaWFsaXppbmcgbmRuYm9vc3Q6Omhhc2ggZm9yIHBvaW50ZXJzLgorCisjaWYgIWRlZmluZWQoQk9PU1RfTk9fVEVNUExBVEVfUEFSVElBTF9TUEVDSUFMSVpBVElPTikKKworICAgIHRlbXBsYXRlIDxjbGFzcyBUPgorICAgIHN0cnVjdCBoYXNoPFQqPgorICAgICAgICA6IHB1YmxpYyBzdGQ6OnVuYXJ5X2Z1bmN0aW9uPFQqLCBzdGQ6OnNpemVfdD4KKyAgICB7CisgICAgICAgIHN0ZDo6c2l6ZV90IG9wZXJhdG9yKCkoVCogdikgY29uc3QKKyAgICAgICAgeworI2lmICFCT09TVF9XT1JLQVJPVU5EKF9fU1VOUFJPX0NDLCA8PSAweDU5MCkKKyAgICAgICAgICAgIHJldHVybiBuZG5ib29zdDo6aGFzaF92YWx1ZSh2KTsKKyNlbHNlCisgICAgICAgICAgICBzdGQ6OnNpemVfdCB4ID0gc3RhdGljX2Nhc3Q8c3RkOjpzaXplX3Q+KAorICAgICAgICAgICAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8c3RkOjpwdHJkaWZmX3Q+KHYpKTsKKworICAgICAgICAgICAgcmV0dXJuIHggKyAoeCA+PiAzKTsKKyNlbmRpZgorICAgICAgICB9CisgICAgfTsKKworI2Vsc2UKKworICAgIC8vIEZvciBjb21waWxlcnMgd2l0aG91dCBwYXJ0aWFsIHNwZWNpYWxpemF0aW9uLCB3ZSBkZWZpbmUgYQorICAgIC8vIG5kbmJvb3N0OjpoYXNoIGZvciBhbGwgcmVtYWluaW5nIHR5cGVzLiBCdXQgaGFzaF9pbXBsIGlzIG9ubHkgZGVmaW5lZAorICAgIC8vIGZvciBwb2ludGVycyBpbiAnZXh0ZW5zaW9ucy5ocHAnIC0gc28gd2hlbiBCT09TVF9IQVNIX05PX0VYVEVOU0lPTlMKKyAgICAvLyBpcyBkZWZpbmVkIHRoZXJlIHdpbGwgc3RpbGwgYmUgYSBjb21waWxlIGVycm9yIGZvciB0eXBlcyBub3Qgc3VwcG9ydGVkCisgICAgLy8gaW4gdGhlIHN0YW5kYXJkLgorCisgICAgbmFtZXNwYWNlIGhhc2hfZGV0YWlsCisgICAgeworICAgICAgICB0ZW1wbGF0ZSA8Ym9vbCBJc1BvaW50ZXI+CisgICAgICAgIHN0cnVjdCBoYXNoX2ltcGw7CisKKyAgICAgICAgdGVtcGxhdGUgPD4KKyAgICAgICAgc3RydWN0IGhhc2hfaW1wbDx0cnVlPgorICAgICAgICB7CisgICAgICAgICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVD4KKyAgICAgICAgICAgIHN0cnVjdCBpbm5lcgorICAgICAgICAgICAgICAgIDogcHVibGljIHN0ZDo6dW5hcnlfZnVuY3Rpb248VCwgc3RkOjpzaXplX3Q+CisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgc3RkOjpzaXplX3Qgb3BlcmF0b3IoKShUIHZhbCkgY29uc3QKKyAgICAgICAgICAgICAgICB7CisjaWYgIUJPT1NUX1dPUktBUk9VTkQoX19TVU5QUk9fQ0MsIDw9IDU5MCkKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5kbmJvb3N0OjpoYXNoX3ZhbHVlKHZhbCk7CisjZWxzZQorICAgICAgICAgICAgICAgICAgICBzdGQ6OnNpemVfdCB4ID0gc3RhdGljX2Nhc3Q8c3RkOjpzaXplX3Q+KAorICAgICAgICAgICAgICAgICAgICAgICAgcmVpbnRlcnByZXRfY2FzdDxzdGQ6OnB0cmRpZmZfdD4odmFsKSk7CisKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHggKyAoeCA+PiAzKTsKKyNlbmRpZgorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH07CisgICAgICAgIH07CisgICAgfQorCisgICAgdGVtcGxhdGUgPGNsYXNzIFQ+IHN0cnVjdCBoYXNoCisgICAgICAgIDogcHVibGljIG5kbmJvb3N0OjpoYXNoX2RldGFpbDo6aGFzaF9pbXBsPG5kbmJvb3N0Ojppc19wb2ludGVyPFQ+Ojp2YWx1ZT4KKyAgICAgICAgICAgIDo6Qk9PU1RfTkVTVEVEX1RFTVBMQVRFIGlubmVyPFQ+CisgICAgeworICAgIH07CisKKyNlbmRpZgorfQorCisjdW5kZWYgQk9PU1RfSEFTSF9DSEFSX1RSQUlUUworCisjZW5kaWYgLy8gQk9PU1RfRlVOQ1RJT05BTF9IQVNIX0hBU0hfSFBQCisKKy8vIEluY2x1ZGUgdGhpcyBvdXRzaWRlIG9mIHRoZSBpbmNsdWRlIGd1YXJkcyBpbiBjYXNlIHRoZSBmaWxlIGlzIGluY2x1ZGVkCisvLyB0d2ljZSAtIG9uY2Ugd2l0aCBCT09TVF9IQVNIX05PX0VYVEVOU0lPTlMgZGVmaW5lZCwgYW5kIHRoZW4gd2l0aCBpdAorLy8gdW5kZWZpbmVkLgorCisjaWYgIWRlZmluZWQoQk9PU1RfSEFTSF9OT19FWFRFTlNJT05TKSBcCisgICAgJiYgIWRlZmluZWQoQk9PU1RfRlVOQ1RJT05BTF9IQVNIX0VYVEVOU0lPTlNfSFBQKQorI2luY2x1ZGUgPG5kbmJvb3N0L2Z1bmN0aW9uYWwvaGFzaC9leHRlbnNpb25zLmhwcD4KKyNlbmRpZgpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvZnVuY3Rpb25hbC9oYXNoL2hhc2hfZndkLmhwcCBiL25kbmJvb3N0L2Z1bmN0aW9uYWwvaGFzaC9oYXNoX2Z3ZC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDZiYWJmYgotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L2Z1bmN0aW9uYWwvaGFzaC9oYXNoX2Z3ZC5ocHAKQEAgLTAsMCArMSw0MCBAQAorCisvLyBDb3B5cmlnaHQgMjAwNS0yMDA5IERhbmllbCBKYW1lcy4KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gKFNlZSBhY2NvbXBhbnlpbmcKKy8vIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorCisvLyAgQmFzZWQgb24gUGV0ZXIgRGltb3YncyBwcm9wb3NhbAorLy8gIGh0dHA6Ly93d3cub3Blbi1zdGQub3JnL0pUQzEvU0MyMi9XRzIxL2RvY3MvcGFwZXJzLzIwMDUvbjE3NTYucGRmCisvLyAgaXNzdWUgNi4xOC4gCisKKyNpZiAhZGVmaW5lZChCT09TVF9GVU5DVElPTkFMX0hBU0hfRldEX0hQUCkKKyNkZWZpbmUgQk9PU1RfRlVOQ1RJT05BTF9IQVNIX0ZXRF9IUFAKKworI2lmIGRlZmluZWQoX01TQ19WRVIpICYmIChfTVNDX1ZFUiA+PSAxMDIwKQorIyBwcmFnbWEgb25jZQorI2VuZGlmCisKKyNpbmNsdWRlIDxuZG5ib29zdC9jb25maWcuaHBwPgorI2luY2x1ZGUgPGNzdGRkZWY+CisjaW5jbHVkZSA8bmRuYm9vc3QvZGV0YWlsL3dvcmthcm91bmQuaHBwPgorCituYW1lc3BhY2UgbmRuYm9vc3QKK3sKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVD4gc3RydWN0IGhhc2g7CisKKyNpZiBCT09TVF9XT1JLQVJPVU5EKEJPT1NUX01TVkMsIDwgMTMwMCkKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVD4gdm9pZCBoYXNoX2NvbWJpbmUoc3RkOjpzaXplX3QmIHNlZWQsIFQmIHYpOworI2Vsc2UKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVD4gdm9pZCBoYXNoX2NvbWJpbmUoc3RkOjpzaXplX3QmIHNlZWQsIFQgY29uc3QmIHYpOworI2VuZGlmCisKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgSXQ+IHN0ZDo6c2l6ZV90IGhhc2hfcmFuZ2UoSXQsIEl0KTsKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgSXQ+IHZvaWQgaGFzaF9yYW5nZShzdGQ6OnNpemVfdCYsIEl0LCBJdCk7CisKKyNpZiBCT09TVF9XT1JLQVJPVU5EKF9fQk9STEFORENfXywgQk9PU1RfVEVTVEVEX0FUKDB4NTUxKSkKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVD4gaW5saW5lIHN0ZDo6c2l6ZV90IGhhc2hfcmFuZ2UoVCosIFQqKTsKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVD4gaW5saW5lIHZvaWQgaGFzaF9yYW5nZShzdGQ6OnNpemVfdCYsIFQqLCBUKik7CisjZW5kaWYKK30KKworI2VuZGlmCmRpZmYgLS1naXQgYS9uZG5ib29zdC9mdW5jdGlvbmFsL2hhc2hfZndkLmhwcCBiL25kbmJvb3N0L2Z1bmN0aW9uYWwvaGFzaF9md2QuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRiOTNkMGIKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9mdW5jdGlvbmFsL2hhc2hfZndkLmhwcApAQCAtMCwwICsxLDcgQEAKKworLy8gQ29weXJpZ2h0IDIwMDUtMjAwOSBEYW5pZWwgSmFtZXMuCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIChTZWUgYWNjb21wYW55aW5nCisvLyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKworI2luY2x1ZGUgPG5kbmJvb3N0L2Z1bmN0aW9uYWwvaGFzaC9oYXNoX2Z3ZC5ocHA+CisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L2Z1bmN0aW9uYWwvbGlnaHR3ZWlnaHRfZm9yd2FyZF9hZGFwdGVyLmhwcCBiL25kbmJvb3N0L2Z1bmN0aW9uYWwvbGlnaHR3ZWlnaHRfZm9yd2FyZF9hZGFwdGVyLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MzEyYTJjCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvZnVuY3Rpb25hbC9saWdodHdlaWdodF9mb3J3YXJkX2FkYXB0ZXIuaHBwCkBAIC0wLDAgKzEsMjU5IEBACisvKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgICAgQ29weXJpZ2h0IChjKSAyMDA3IFRvYmlhcyBTY2h3aW5nZXIKKyAgCisgICAgVXNlIG1vZGlmaWNhdGlvbiBhbmQgZGlzdHJpYnV0aW9uIGFyZSBzdWJqZWN0IHRvIHRoZSBCb29zdCBTb2Z0d2FyZSAKKyAgICBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdAorICAgIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkuCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLworCisjaWZuZGVmIEJPT1NUX0ZVTkNUSU9OQUxfTElHSFRXRUlHSFRfRk9SV0FSRF9BREFQVEVSX0hQUF9JTkNMVURFRAorIyAgIGlmbmRlZiBCT09TVF9QUF9JU19JVEVSQVRJTkcKKworIyAgIGluY2x1ZGUgPG5kbmJvb3N0L2NvbmZpZy5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvZGV0YWlsL3dvcmthcm91bmQuaHBwPgorCisjICAgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL2NhdC5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL2l0ZXJhdGlvbi9pdGVyYXRlLmhwcD4KKyMgICBpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3IvcmVwZXRpdGlvbi9lbnVtLmhwcD4KKyMgICBpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3IvcmVwZXRpdGlvbi9lbnVtX3BhcmFtcy5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL3JlcGV0aXRpb24vZW51bV9iaW5hcnlfcGFyYW1zLmhwcD4KKyMgICBpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3IvZmFjaWxpdGllcy9pbnRlcmNlcHQuaHBwPgorCisjICAgaW5jbHVkZSA8bmRuYm9vc3QvdXRpbGl0eS9yZXN1bHRfb2YuaHBwPgorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L3JlZi5ocHA+CisKKyMgICBpZm5kZWYgQk9PU1RfRlVOQ1RJT05BTF9MSUdIVFdFSUdIVF9GT1JXQVJEX0FEQVBURVJfTUFYX0FSSVRZCisjICAgICBkZWZpbmUgQk9PU1RfRlVOQ1RJT05BTF9MSUdIVFdFSUdIVF9GT1JXQVJEX0FEQVBURVJfTUFYX0FSSVRZIDEwCisjICAgZWxpZiBCT09TVF9GVU5DVElPTkFMX0ZPUkRXQVJEX0FEQVBURVJfTUFYX0FSSVRZIDwgMworIyAgICAgdW5kZWYgIEJPT1NUX0ZVTkNUSU9OQUxfTElHSFRXRUlHSFRfRk9SV0FSRF9BREFQVEVSX01BWF9BUklUWQorIyAgICAgZGVmaW5lIEJPT1NUX0ZVTkNUSU9OQUxfTElHSFRXRUlHSFRfRk9SV0FSRF9BREFQVEVSX01BWF9BUklUWSAzCisjICAgZW5kaWYKKworbmFtZXNwYWNlIG5kbmJvb3N0IAoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBGdW5jdGlvbiwgaW50IEFyaXR5X09yX01pbkFyaXR5ID0gLTEsIGludCBNYXhBcml0eSA9IC0xID4KKyAgICBjbGFzcyBsaWdodHdlaWdodF9mb3J3YXJkX2FkYXB0ZXI7CisKKyAgICAvLy0tLS0tIC0tLS0gLS0tIC0tIC0gLSAgLSAgIC0KKworICAgIG5hbWVzcGFjZSBkZXRhaWwKKyAgICB7CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBNb3N0RGVyaXZlZCwgdHlwZW5hbWUgRnVuY3Rpb24sIHR5cGVuYW1lIEZ1bmN0aW9uQ29uc3QsIAorICAgICAgICAgICAgaW50IEFyaXR5LCBpbnQgTWluQXJpdHkgPgorICAgICAgICBzdHJ1Y3QgbGlnaHR3ZWlnaHRfZm9yd2FyZF9hZGFwdGVyX2ltcGw7CisKKyAgICAgICAgc3RydWN0IGxpZ2h0d2VpZ2h0X2ZvcndhcmRfYWRhcHRlcl9yZXN1bHQKKyAgICAgICAgeworICAgICAgICAgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFNpZyA+IHN0cnVjdCBhcHBseTsKKworICAgICAgICAgICAgLy8gVXRpbGl0eSBtZXRhZnVuY3Rpb24gZm9yIGFyZ3VtZW50IHRyYW5zZm9ybQorICAgICAgICAgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFQgPiBzdHJ1Y3QgeCAgeyB0eXBlZGVmIFQgY29uc3QmIHQ7IH07CisgICAgICAgICAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVCA+IHN0cnVjdCB4PCBuZG5ib29zdDo6cmVmZXJlbmNlX3dyYXBwZXI8VD4gPgorICAgICAgICAgICAgeyB0eXBlZGVmIFQmIHQ7IH07CisgICAgICAgICAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVCA+IHN0cnVjdCB4PFQmPiAgICAgICA6IHg8VD4geyB9OworICAgICAgICAgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFQgPiBzdHJ1Y3QgeDxUIGNvbnN0Jj4gOiB4PFQ+IHsgfTsKKyAgICAgICAgICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBUID4gc3RydWN0IHg8VCBjb25zdD4gIDogeDxUPiB7IH07CisKKyAgICAgICAgICAgIC8vIFV0aWxpdHkgbWV0YWZ1bmN0aW9uIHRvIGNob29zZSB0YXJnZXQgZnVuY3Rpb24gcXVhbGlmaWNhdGlvbgorICAgICAgICAgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFQgPiBzdHJ1Y3QgYworICAgICAgICAgICAgeyB0eXBlZGVmIHR5cGVuYW1lIFQ6OnRhcmdldF9mdW5jdGlvbl90IHQ7IH07CisgICAgICAgICAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVCA+IHN0cnVjdCBjPFQmICAgICAgPgorICAgICAgICAgICAgeyB0eXBlZGVmIHR5cGVuYW1lIFQ6OnRhcmdldF9mdW5jdGlvbl90IHQ7IH07CisgICAgICAgICAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVCA+IHN0cnVjdCBjPFQgY29uc3QgPgorICAgICAgICAgICAgeyB0eXBlZGVmIHR5cGVuYW1lIFQ6OnRhcmdldF9mdW5jdGlvbl9jb25zdF90IHQ7IH07CisgICAgICAgICAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVCA+IHN0cnVjdCBjPFQgY29uc3QmPgorICAgICAgICAgICAgeyB0eXBlZGVmIHR5cGVuYW1lIFQ6OnRhcmdldF9mdW5jdGlvbl9jb25zdF90IHQ7IH07CisgICAgICAgIH07CisgICAgfQorCisjICAgZGVmaW5lIEJPT1NUX1RNUF9NQUNSTyhmLGZuLGZjKSBcCisgICAgICAgIG5kbmJvb3N0OjpkZXRhaWw6OmxpZ2h0d2VpZ2h0X2ZvcndhcmRfYWRhcHRlcl9pbXBsPCBcCisgICAgICAgICAgICBsaWdodHdlaWdodF9mb3J3YXJkX2FkYXB0ZXI8ZixBcml0eV9Pcl9NaW5Bcml0eSxNYXhBcml0eT4sIGZuLCBmYywgXAorICAgICAgICAgICAgKE1heEFyaXR5IT0tMT8gTWF4QXJpdHkgOkFyaXR5X09yX01pbkFyaXR5IT0tMT8gQXJpdHlfT3JfTWluQXJpdHkgXAorICAgICAgICAgICAgICAgIDpCT09TVF9GVU5DVElPTkFMX0xJR0hUV0VJR0hUX0ZPUldBUkRfQURBUFRFUl9NQVhfQVJJVFkpLCBcCisgICAgICAgICAgICAoQXJpdHlfT3JfTWluQXJpdHkhPS0xPyBBcml0eV9Pcl9NaW5Bcml0eSA6IDApID4KKworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBGdW5jdGlvbiwgaW50IEFyaXR5X09yX01pbkFyaXR5LCBpbnQgTWF4QXJpdHkgPgorICAgIGNsYXNzIGxpZ2h0d2VpZ2h0X2ZvcndhcmRfYWRhcHRlcgorICAgICAgICA6IHB1YmxpYyBCT09TVF9UTVBfTUFDUk8oRnVuY3Rpb24sRnVuY3Rpb24sRnVuY3Rpb24gY29uc3QpCisgICAgICAgICwgcHJpdmF0ZSBGdW5jdGlvbgorICAgIHsKKyAgICAgIHB1YmxpYzoKKyAgICAgICAgbGlnaHR3ZWlnaHRfZm9yd2FyZF9hZGFwdGVyKEZ1bmN0aW9uIGNvbnN0JiBmID0gRnVuY3Rpb24oKSkgCisgICAgICAgICAgOiBGdW5jdGlvbihmKSAKKyAgICAgICAgeyB9CisKKyAgICAgICAgdHlwZWRlZiBGdW5jdGlvbiAgICAgICAgdGFyZ2V0X2Z1bmN0aW9uX3Q7CisgICAgICAgIHR5cGVkZWYgRnVuY3Rpb24gY29uc3QgIHRhcmdldF9mdW5jdGlvbl9jb25zdF90OworCisgICAgICAgIEZ1bmN0aW9uICAgICAgICYgdGFyZ2V0X2Z1bmN0aW9uKCkgICAgICAgeyByZXR1cm4gKnRoaXM7IH0KKyAgICAgICAgRnVuY3Rpb24gY29uc3QgJiB0YXJnZXRfZnVuY3Rpb24oKSBjb25zdCB7IHJldHVybiAqdGhpczsgfQorCisgICAgICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBTaWcgPiBzdHJ1Y3QgcmVzdWx0CisgICAgICAgICAgICA6IGRldGFpbDo6bGlnaHR3ZWlnaHRfZm9yd2FyZF9hZGFwdGVyX3Jlc3VsdDo6dGVtcGxhdGUgYXBwbHk8U2lnPgorICAgICAgICB7IH07CisKKyAgICAgICAgdXNpbmcgQk9PU1RfVE1QX01BQ1JPKEZ1bmN0aW9uLEZ1bmN0aW9uLCBGdW5jdGlvbiBjb25zdCk6Om9wZXJhdG9yKCk7CisgICAgfTsKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgRnVuY3Rpb24sIGludCBBcml0eV9Pcl9NaW5Bcml0eSwgaW50IE1heEFyaXR5ID4KKyAgICBjbGFzcyBsaWdodHdlaWdodF9mb3J3YXJkX2FkYXB0ZXI8IEZ1bmN0aW9uIGNvbnN0LCBBcml0eV9Pcl9NaW5Bcml0eSwgCisgICAgICAgIE1heEFyaXR5ID4KKyAgICAgICAgOiBwdWJsaWMgQk9PU1RfVE1QX01BQ1JPKEZ1bmN0aW9uIGNvbnN0LCBGdW5jdGlvbiBjb25zdCwgRnVuY3Rpb24gY29uc3QpCisgICAgICAgICwgcHJpdmF0ZSBGdW5jdGlvbgorICAgIHsKKyAgICAgIHB1YmxpYzoKKyAgICAgICAgbGlnaHR3ZWlnaHRfZm9yd2FyZF9hZGFwdGVyKEZ1bmN0aW9uIGNvbnN0JiBmID0gRnVuY3Rpb24oKSkKKyAgICAgICAgICA6IEZ1bmN0aW9uKGYpIAorICAgICAgICB7IH0KKworICAgICAgICB0eXBlZGVmIEZ1bmN0aW9uIGNvbnN0IHRhcmdldF9mdW5jdGlvbl90OworICAgICAgICB0eXBlZGVmIEZ1bmN0aW9uIGNvbnN0IHRhcmdldF9mdW5jdGlvbl9jb25zdF90OworCisgICAgICAgIEZ1bmN0aW9uIGNvbnN0ICYgdGFyZ2V0X2Z1bmN0aW9uKCkgY29uc3QgeyByZXR1cm4gKnRoaXM7IH0KKworICAgICAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgU2lnID4gc3RydWN0IHJlc3VsdAorICAgICAgICAgICAgOiBkZXRhaWw6OmxpZ2h0d2VpZ2h0X2ZvcndhcmRfYWRhcHRlcl9yZXN1bHQ6OnRlbXBsYXRlIGFwcGx5PFNpZz4KKyAgICAgICAgeyB9OworCisgICAgICAgIHVzaW5nIEJPT1NUX1RNUF9NQUNSTyhGdW5jdGlvbiBjb25zdCxGdW5jdGlvbiBjb25zdCwgRnVuY3Rpb24gY29uc3QpCisgICAgICAgICAgICA6Om9wZXJhdG9yKCk7CisgICAgfTsKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgRnVuY3Rpb24sIGludCBBcml0eV9Pcl9NaW5Bcml0eSwgaW50IE1heEFyaXR5ID4KKyAgICBjbGFzcyBsaWdodHdlaWdodF9mb3J3YXJkX2FkYXB0ZXI8IEZ1bmN0aW9uICYsIEFyaXR5X09yX01pbkFyaXR5LCBNYXhBcml0eSA+CisgICAgICAgIDogcHVibGljIEJPT1NUX1RNUF9NQUNSTyhGdW5jdGlvbiYsIEZ1bmN0aW9uLCBGdW5jdGlvbikKKyAgICB7CisgICAgICAgIEZ1bmN0aW9uJiByZWZfZnVuY3Rpb247CisgICAgICBwdWJsaWM6CisgICAgICAgIGxpZ2h0d2VpZ2h0X2ZvcndhcmRfYWRhcHRlcihGdW5jdGlvbiYgZikKKyAgICAgICAgICA6IHJlZl9mdW5jdGlvbihmKSAKKyAgICAgICAgeyB9CisKKyAgICAgICAgdHlwZWRlZiBGdW5jdGlvbiB0YXJnZXRfZnVuY3Rpb25fdDsKKyAgICAgICAgdHlwZWRlZiBGdW5jdGlvbiB0YXJnZXRfZnVuY3Rpb25fY29uc3RfdDsKKworICAgICAgICBGdW5jdGlvbiAmIHRhcmdldF9mdW5jdGlvbigpIGNvbnN0IHsgcmV0dXJuIHRoaXMtPnJlZl9mdW5jdGlvbjsgfQorCisgICAgICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBTaWcgPiBzdHJ1Y3QgcmVzdWx0CisgICAgICAgICAgICA6IGRldGFpbDo6bGlnaHR3ZWlnaHRfZm9yd2FyZF9hZGFwdGVyX3Jlc3VsdDo6dGVtcGxhdGUgYXBwbHk8U2lnPgorICAgICAgICB7IH07CisKKyAgICAgICAgdXNpbmcgQk9PU1RfVE1QX01BQ1JPKEZ1bmN0aW9uJiwgRnVuY3Rpb24sIEZ1bmN0aW9uKTo6b3BlcmF0b3IoKTsKKyAgICB9OyAKKworICAgICN1bmRlZiBCT09TVF9UTVBfTUFDUk8KKworICAgIG5hbWVzcGFjZSBkZXRhaWwKKyAgICB7CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBTZWxmID4KKyAgICAgICAgc3RydWN0IGxpZ2h0d2VpZ2h0X2ZvcndhcmRfYWRhcHRlcl9yZXN1bHQ6OmFwcGx5PCBTZWxmKCkgPgorICAgICAgICAgICAgOiBuZG5ib29zdDo6cmVzdWx0X29mPCBCT09TVF9ERURVQ0VEX1RZUEVOQU1FIGM8U2VsZj46OnQoKSA+CisgICAgICAgIHsgfTsKKworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgTUQsIGNsYXNzIEYsIGNsYXNzIEZDID4KKyAgICAgICAgc3RydWN0IGxpZ2h0d2VpZ2h0X2ZvcndhcmRfYWRhcHRlcl9pbXBsPE1ELEYsRkMsMCwwPgorICAgICAgICAgICAgOiBsaWdodHdlaWdodF9mb3J3YXJkX2FkYXB0ZXJfcmVzdWx0CisgICAgICAgIHsKKyAgICAgICAgICAgIGlubGluZSB0eXBlbmFtZSBuZG5ib29zdDo6cmVzdWx0X29mPCBGQygpID46OnR5cGUKKyAgICAgICAgICAgIG9wZXJhdG9yKCkoKSBjb25zdAorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxNRCBjb25zdCo+KHRoaXMpLT50YXJnZXRfZnVuY3Rpb24oKSgpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBpbmxpbmUgdHlwZW5hbWUgbmRuYm9vc3Q6OnJlc3VsdF9vZjwgRigpID46OnR5cGUKKyAgICAgICAgICAgIG9wZXJhdG9yKCkoKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxNRCo+KHRoaXMpLT50YXJnZXRfZnVuY3Rpb24oKSgpOworICAgICAgICAgICAgfQorICAgICAgICB9OworCisjICAgICAgIGRlZmluZSAgQk9PU1RfUFBfRklMRU5BTUVfMSBcCisgICAgICAgICAgICA8bmRuYm9vc3QvZnVuY3Rpb25hbC9saWdodHdlaWdodF9mb3J3YXJkX2FkYXB0ZXIuaHBwPgorIyAgICAgICBkZWZpbmUgIEJPT1NUX1BQX0lURVJBVElPTl9MSU1JVFMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgKDEsQk9PU1RfRlVOQ1RJT05BTF9MSUdIVFdFSUdIVF9GT1JXQVJEX0FEQVBURVJfTUFYX0FSSVRZKSAKKyMgICAgICAgaW5jbHVkZSBCT09TVF9QUF9JVEVSQVRFKCkKKworICAgIH0gLy8gbmFtZXNwYWNlIGRldGFpbAorCisgICAgdGVtcGxhdGU8Y2xhc3MgRiwgaW50IEEwLCBpbnQgQTE+CisgICAgc3RydWN0IHJlc3VsdF9vZjxuZG5ib29zdDo6bGlnaHR3ZWlnaHRfZm9yd2FyZF9hZGFwdGVyPEYsQTAsQTE+IGNvbnN0ICgpPgorICAgICAgICA6IG5kbmJvb3N0OjpkZXRhaWw6OmxpZ2h0d2VpZ2h0X2ZvcndhcmRfYWRhcHRlcl9yZXN1bHQ6OnRlbXBsYXRlIGFwcGx5PAorICAgICAgICAgICAgbmRuYm9vc3Q6OmxpZ2h0d2VpZ2h0X2ZvcndhcmRfYWRhcHRlcjxGLEEwLEExPiBjb25zdCAoKSA+CisgICAgeyB9OworICAgIHRlbXBsYXRlPGNsYXNzIEYsIGludCBBMCwgaW50IEExPgorICAgIHN0cnVjdCByZXN1bHRfb2Y8bmRuYm9vc3Q6OmxpZ2h0d2VpZ2h0X2ZvcndhcmRfYWRhcHRlcjxGLEEwLEExPigpPgorICAgICAgICA6IG5kbmJvb3N0OjpkZXRhaWw6OmxpZ2h0d2VpZ2h0X2ZvcndhcmRfYWRhcHRlcl9yZXN1bHQ6OnRlbXBsYXRlIGFwcGx5PAorICAgICAgICAgICAgbmRuYm9vc3Q6OmxpZ2h0d2VpZ2h0X2ZvcndhcmRfYWRhcHRlcjxGLEEwLEExPigpID4KKyAgICB7IH07CisgICAgdGVtcGxhdGU8Y2xhc3MgRiwgaW50IEEwLCBpbnQgQTE+CisgICAgc3RydWN0IHJlc3VsdF9vZjxuZG5ib29zdDo6bGlnaHR3ZWlnaHRfZm9yd2FyZF9hZGFwdGVyPEYsQTAsQTE+IGNvbnN0JiAoKT4KKyAgICAgICAgOiBuZG5ib29zdDo6ZGV0YWlsOjpsaWdodHdlaWdodF9mb3J3YXJkX2FkYXB0ZXJfcmVzdWx0Ojp0ZW1wbGF0ZSBhcHBseTwKKyAgICAgICAgICAgIG5kbmJvb3N0OjpsaWdodHdlaWdodF9mb3J3YXJkX2FkYXB0ZXI8RixBMCxBMT4gY29uc3QgKCkgPgorICAgIHsgfTsKKyAgICB0ZW1wbGF0ZTxjbGFzcyBGLCBpbnQgQTAsIGludCBBMT4KKyAgICBzdHJ1Y3QgcmVzdWx0X29mPG5kbmJvb3N0OjpsaWdodHdlaWdodF9mb3J3YXJkX2FkYXB0ZXI8RixBMCxBMT4mICgpPgorICAgICAgICA6IG5kbmJvb3N0OjpkZXRhaWw6OmxpZ2h0d2VpZ2h0X2ZvcndhcmRfYWRhcHRlcl9yZXN1bHQ6OnRlbXBsYXRlIGFwcGx5PAorICAgICAgICAgICAgbmRuYm9vc3Q6OmxpZ2h0d2VpZ2h0X2ZvcndhcmRfYWRhcHRlcjxGLEEwLEExPigpID4KKyAgICB7IH07Cit9CisKKyMgICAgIGRlZmluZSBCT09TVF9GVU5DVElPTkFMX0xJR0hUV0VJR0hUX0ZPUldBUkRfQURBUFRFUl9IUFBfSU5DTFVERUQKKworIyAgIGVsc2UgLy8gZGVmaW5lZChCT09TVF9QUF9JU19JVEVSQVRJTkcpCisjICAgICBkZWZpbmUgTiBCT09TVF9QUF9JVEVSQVRJT04oKSAKKworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgU2VsZiwgQk9PU1RfUFBfRU5VTV9QQVJBTVMoTix0eXBlbmFtZSBUKSA+CisgICAgICAgIHN0cnVjdCBsaWdodHdlaWdodF9mb3J3YXJkX2FkYXB0ZXJfcmVzdWx0OjphcHBseTwKKyAgICAgICAgICAgIFNlbGYgKEJPT1NUX1BQX0VOVU1fUEFSQU1TKE4sVCkpID4KKyAgICAgICAgICAgIDogbmRuYm9vc3Q6OnJlc3VsdF9vZjwKKyAgICAgICAgICAgICAgICBCT09TVF9ERURVQ0VEX1RZUEVOQU1FIGM8U2VsZj46OnQgKEJPT1NUX1BQX0VOVU1fQklOQVJZX1BBUkFNUyhOLAorICAgICAgICAgICAgICAgICAgICB0eXBlbmFtZSB4PFQsPjo6dCBCT09TVF9QUF9JTlRFUkNFUFQpKSA+CisgICAgICAgIHsgfTsKKworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgTUQsIGNsYXNzIEYsIGNsYXNzIEZDID4KKyAgICAgICAgc3RydWN0IGxpZ2h0d2VpZ2h0X2ZvcndhcmRfYWRhcHRlcl9pbXBsPE1ELEYsRkMsQk9PU1RfUFBfREVDKE4pLE4+CisgICAgICAgICAgICA6IGxpZ2h0d2VpZ2h0X2ZvcndhcmRfYWRhcHRlcl9yZXN1bHQKKyAgICAgICAgeworICAgICAgICAgICAgdGVtcGxhdGU8IEJPT1NUX1BQX0VOVU1fUEFSQU1TKE4sdHlwZW5hbWUgVCkgPgorICAgICAgICAgICAgaW5saW5lIHR5cGVuYW1lIG5kbmJvb3N0OjpyZXN1bHRfb2Y8IEYoQk9PU1RfUFBfRU5VTV9CSU5BUllfUEFSQU1TKE4sCisgICAgICAgICAgICAgICAgVCxjb25zdCYgQk9PU1RfUFBfSU5URVJDRVBUKSkgPjo6dHlwZQorICAgICAgICAgICAgb3BlcmF0b3IoKShCT09TVF9QUF9FTlVNX0JJTkFSWV9QQVJBTVMoTixULCYgQk9PU1RfUFBfSU5URVJDRVBUKSk7CisgICAgICAgIH07CisKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIE1ELCBjbGFzcyBGLCBjbGFzcyBGQywgaW50IE1pbkFyaXR5ID4KKyAgICAgICAgc3RydWN0IGxpZ2h0d2VpZ2h0X2ZvcndhcmRfYWRhcHRlcl9pbXBsPE1ELEYsRkMsTixNaW5Bcml0eT4KKyAgICAgICAgICAgIDogbGlnaHR3ZWlnaHRfZm9yd2FyZF9hZGFwdGVyX2ltcGw8TUQsRixGQyxCT09TVF9QUF9ERUMoTiksTWluQXJpdHk+CisgICAgICAgIHsKKyAgICAgICAgICAgIHVzaW5nIGxpZ2h0d2VpZ2h0X2ZvcndhcmRfYWRhcHRlcl9pbXBsPE1ELEYsRkMsQk9PU1RfUFBfREVDKE4pLAorICAgICAgICAgICAgICAgIE1pbkFyaXR5Pjo6b3BlcmF0b3IoKTsKKworIyAgICAgZGVmaW5lIE0oeixpLGQpIFwKKyAgICAgICAgICBzdGF0aWNfY2FzdDx0eXBlbmFtZSBkOjp0ZW1wbGF0ZSB4PFQjI2k+Ojp0PihhIyNpKQorCisgICAgICAgICAgICB0ZW1wbGF0ZTwgQk9PU1RfUFBfRU5VTV9QQVJBTVMoTix0eXBlbmFtZSBUKSA+CisgICAgICAgICAgICBpbmxpbmUgdHlwZW5hbWUgbGlnaHR3ZWlnaHRfZm9yd2FyZF9hZGFwdGVyX3Jlc3VsdDo6dGVtcGxhdGUgYXBwbHk8CisgICAgICAgICAgICAgICAgTUQgY29uc3QgKEJPT1NUX1BQX0VOVU1fQklOQVJZX1BBUkFNUyhOLAorICAgICAgICAgICAgICAgICAgICBULGNvbnN0JiBCT09TVF9QUF9JTlRFUkNFUFQpKSA+Ojp0eXBlCisgICAgICAgICAgICBvcGVyYXRvcigpKEJPT1NUX1BQX0VOVU1fQklOQVJZX1BBUkFNUyhOLFQsY29uc3QmIGEpKSBjb25zdAorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHR5cGVkZWYgbGlnaHR3ZWlnaHRfZm9yd2FyZF9hZGFwdGVyX3Jlc3VsdCBfOworICAgICAgICAgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxNRCBjb25zdCo+KHRoaXMpLT50YXJnZXRfZnVuY3Rpb24oKSgKKyAgICAgICAgICAgICAgICAgICAgQk9PU1RfUFBfRU5VTShOLE0sXykpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgdGVtcGxhdGU8IEJPT1NUX1BQX0VOVU1fUEFSQU1TKE4sdHlwZW5hbWUgVCkgPgorICAgICAgICAgICAgaW5saW5lIHR5cGVuYW1lIGxpZ2h0d2VpZ2h0X2ZvcndhcmRfYWRhcHRlcl9yZXN1bHQ6OnRlbXBsYXRlIGFwcGx5PAorICAgICAgICAgICAgICAgIE1EIChCT09TVF9QUF9FTlVNX0JJTkFSWV9QQVJBTVMoTiwKKyAgICAgICAgICAgICAgICAgICAgVCxjb25zdCYgQk9PU1RfUFBfSU5URVJDRVBUKSkgPjo6dHlwZQorICAgICAgICAgICAgb3BlcmF0b3IoKShCT09TVF9QUF9FTlVNX0JJTkFSWV9QQVJBTVMoTixULGNvbnN0JiBhKSkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICB0eXBlZGVmIGxpZ2h0d2VpZ2h0X2ZvcndhcmRfYWRhcHRlcl9yZXN1bHQgXzsKKyAgICAgICAgICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8TUQqPih0aGlzKS0+dGFyZ2V0X2Z1bmN0aW9uKCkoCisgICAgICAgICAgICAgICAgICAgIEJPT1NUX1BQX0VOVU0oTixNLF8pKTsKKyAgICAgICAgICAgIH0KKyMgICAgIHVuZGVmIE0KKyAgICAgIH07CisKKyMgICAgIHVuZGVmIE4KKyMgICBlbmRpZiAvLyBkZWZpbmVkKEJPT1NUX1BQX0lTX0lURVJBVElORykKKworI2VuZGlmIC8vIGluY2x1ZGUgZ3VhcmQKKwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvZnVuY3Rpb25hbC9vdmVybG9hZGVkX2Z1bmN0aW9uLmhwcCBiL25kbmJvb3N0L2Z1bmN0aW9uYWwvb3ZlcmxvYWRlZF9mdW5jdGlvbi5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDJhMTM2OQotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L2Z1bmN0aW9uYWwvb3ZlcmxvYWRlZF9mdW5jdGlvbi5ocHAKQEAgLTAsMCArMSwzMTEgQEAKKworLy8gQ29weXJpZ2h0IChDKSAyMDA5LTIwMTIgTG9yZW56byBDYW1pbml0aQorLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wCisvLyAoc2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBhIGNvcHkgYXQKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vIEhvbWUgYXQgaHR0cDovL3d3dy5ib29zdC5vcmcvbGlicy9mdW5jdGlvbmFsL292ZXJsb2FkZWRfZnVuY3Rpb24KKworI2lmbmRlZiBET1hZR0VOIC8vIERveHlnZW4gZG9jdW1lbnRhdGlvbiBvbmx5LgorCisjaWYgIUJPT1NUX1BQX0lTX0lURVJBVElORworIyAgIGlmbmRlZiBCT09TVF9GVU5DVElPTkFMX09WRVJMT0FERURfRlVOQ1RJT05fSFBQXworIyAgICAgICBkZWZpbmUgQk9PU1RfRlVOQ1RJT05BTF9PVkVSTE9BREVEX0ZVTkNUSU9OX0hQUF8KKworIyAgICAgICBpbmNsdWRlIDxuZG5ib29zdC9mdW5jdGlvbmFsL292ZXJsb2FkZWRfZnVuY3Rpb24vZGV0YWlsL2Jhc2UuaHBwPgorIyAgICAgICBpbmNsdWRlIDxuZG5ib29zdC9mdW5jdGlvbmFsL292ZXJsb2FkZWRfZnVuY3Rpb24vZGV0YWlsL2Z1bmN0aW9uX3R5cGUuaHBwPgorIyAgICAgICBpbmNsdWRlIDxuZG5ib29zdC9mdW5jdGlvbmFsL292ZXJsb2FkZWRfZnVuY3Rpb24vY29uZmlnLmhwcD4KKyMgICAgICAgaW5jbHVkZSA8bmRuYm9vc3QvdHlwZW9mL3R5cGVvZi5ocHA+CisjICAgICAgIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9pdGVyYXRpb24vaXRlcmF0ZS5ocHA+CisjICAgICAgIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9yZXBldGl0aW9uL2VudW0uaHBwPgorIyAgICAgICBpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3IvcmVwZXRpdGlvbi9yZXBlYXQuaHBwPgorIyAgICAgICBpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3IvY29udHJvbC9leHByX2lpZi5ocHA+CisjICAgICAgIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9jb250cm9sL2V4cHJfaWYuaHBwPgorIyAgICAgICBpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3IvY29tcGFyaXNvbi9ncmVhdGVyLmhwcD4KKyMgICAgICAgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL2NvbXBhcmlzb24vbGVzcy5ocHA+CisjICAgICAgIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9jYXQuaHBwPgorIyAgICAgICBpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3IvYXJpdGhtZXRpYy9hZGQuaHBwPgorIyAgICAgICBpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3IvYXJpdGhtZXRpYy9zdWIuaHBwPgorIyAgICAgICBpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3IvdHVwbGUvZWF0LmhwcD4KKyMgICAgICAgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL2xvZ2ljYWwvYW5kLmhwcD4KKyMgICAgICAgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL2xvZ2ljYWwvbm90LmhwcD4KKyMgICAgICAgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL2ZhY2lsaXRpZXMvZXhwYW5kLmhwcD4KKworI2RlZmluZSBCT09TVF9GVU5DVElPTkFMX2ZfdHlwZSh6LCBuLCB1bnVzZWQpIFwKKyAgICBCT09TVF9QUF9DQVQoRiwgbikKKworI2RlZmluZSBCT09TVF9GVU5DVElPTkFMX2ZfYXJnKHosIG4sIHVudXNlZCkgXAorICAgIEJPT1NUX1BQX0NBVChmLCBuKQorCisjZGVmaW5lIEJPT1NUX0ZVTkNUSU9OQUxfZl90cGFyYW0oeiwgbiwgdW51c2VkKSBcCisgICAgdHlwZW5hbWUgQk9PU1RfRlVOQ1RJT05BTF9mX3R5cGUoeiwgbiwgfikgXAorCisjZGVmaW5lIEJPT1NUX0ZVTkNUSU9OQUxfZl90cGFyYW1fZGZsdCh6LCBuLCBpc190c3BlYykgXAorICAgIEJPT1NUX0ZVTkNUSU9OQUxfZl90cGFyYW0oeiwgbiwgfikgXAorICAgIC8qIG92ZXJsb2FkIHJlcXVpcmVzIGF0IGxlYXN0IDIgZnVuY3RvcnMgc28gRjAgYW5kIEYxIG5vdCBvcHRpb25hbCAqLyBcCisgICAgQk9PU1RfUFBfRVhQUl9JSUYoQk9PU1RfUFBfQU5EKEJPT1NUX1BQX05PVChpc190c3BlYyksIFwKKyAgICAgICAgICAgIEJPT1NUX1BQX0dSRUFURVIobiwgMSkpLCBcCisgICAgICAgID0gdm9pZCBcCisgICAgKQorCisjZGVmaW5lIEJPT1NUX0ZVTkNUSU9OQUxfZl9hcmdfZGVjbCh6LCBuLCB1bnVzZWQpIFwKKyAgICBCT09TVF9GVU5DVElPTkFMX2ZfdHlwZSh6LCBuLCB+KSAvKiBubyBxdWFsaWZpZXIgdG8gZGVkdWNlIHRwYXJhbSAqLyBcCisgICAgQk9PU1RfRlVOQ1RJT05BTF9mX2FyZyh6LCBuLCB+KQorCisjZGVmaW5lIEJPT1NUX0ZVTkNUSU9OQUxfZ190eXBlKHosIG4sIHVudXNlZCkgXAorICAgIEJPT1NUX1BQX0NBVChHLCBuKQorCisjZGVmaW5lIEJPT1NUX0ZVTkNUSU9OQUxfZ19hcmcoeiwgbiwgdW51c2VkKSBcCisgICAgQk9PU1RfUFBfQ0FUKGcsIG4pCisKKyNkZWZpbmUgQk9PU1RfRlVOQ1RJT05BTF9nX3RwYXJhbSh6LCBuLCB1bnVzZWQpIFwKKyAgICB0eXBlbmFtZSBCT09TVF9GVU5DVElPTkFMX2dfdHlwZSh6LCBuLCB+KQorCisjZGVmaW5lIEJPT1NUX0ZVTkNUSU9OQUxfZ19hcmdfZGVjbCh6LCBuLCB1bnVzZWQpIFwKKyAgICBCT09TVF9GVU5DVElPTkFMX2dfdHlwZSh6LCBuLCB+KSAvKiBubyBxdWFsaWZpZXIgdG8gZGVkdWNlIHRwYXJhbSAqLyBcCisgICAgQk9PU1RfRlVOQ1RJT05BTF9nX2FyZyh6LCBuLCB+KQorCisjZGVmaW5lIEJPT1NUX0ZVTkNUSU9OQUxfYmFzZSh6LCBuLCB1bnVzZWQpIFwKKyAgICA6Om5kbmJvb3N0OjpvdmVybG9hZGVkX2Z1bmN0aW9uX2RldGFpbDo6YmFzZTwgXAorICAgICAgICBCT09TVF9GVU5DVElPTkFMX2ZfdHlwZSh6LCBuLCB+KSBcCisgICAgPgorCisjZGVmaW5lIEJPT1NUX0ZVTkNUSU9OQUxfaW5oZXJpdCh6LCBuLCB1bnVzZWQpIFwKKyAgICBwdWJsaWMgQk9PU1RfRlVOQ1RJT05BTF9iYXNlKHosIG4sIH4pCisKKyNkZWZpbmUgQk9PU1RfRlVOQ1RJT05BTF9iYXNlX2luaXQoeiwgbiwgdW51c2VkKSBcCisgICAgQk9PU1RfRlVOQ1RJT05BTF9iYXNlKHosIG4sIH4pKEJPT1NUX0ZVTkNUSU9OQUxfZ19hcmcoeiwgbiwgfikpCisKKyNkZWZpbmUgQk9PU1RfRlVOQ1RJT05BTF91c2luZ19vcGVyYXRvcl9jYWxsKHosIG4sIHVudXNlZCkgXAorICAgIHVzaW5nIEJPT1NUX0ZVTkNUSU9OQUxfYmFzZSh6LCBuLCB+KTo6b3BlcmF0b3IoKTsKKworI2RlZmluZSBCT09TVF9GVU5DVElPTkFMX2Z1bmN0aW9uX3R5cGUoeiwgbiwgdW51c2VkKSBcCisgICAgdHlwZW5hbWUgOjpuZG5ib29zdDo6b3ZlcmxvYWRlZF9mdW5jdGlvbl9kZXRhaWw6OmZ1bmN0aW9uX3R5cGU8IFwKKyAgICAgICAgQk9PU1RfRlVOQ1RJT05BTF9mX3R5cGUoeiwgbiwgfikgXAorICAgID46OnR5cGUKKworIyAgICAgICBkZWZpbmUgQk9PU1RfUFBfSVRFUkFUSU9OX1BBUkFNU18xIFwKKyAgICAgICAgICAgIC8qIGF0IGxlYXN0IDIgZnVuYyB0byBvdmVybG9hZCBzbyBzdGFydCBmcm9tIDIgdG8gTUFYICovIFwKKyAgICAgICAgICAgIC8qIChjYW5ub3QgaXRlcmF0ZSBbMCwgTUFYLTIpIGJlY2F1c2UgZXJyb3Igb24gU3VuKSAqLyBcCisgICAgICAgICAgICAoMywgKDIsIEJPT1NUX0ZVTkNUSU9OQUxfT1ZFUkxPQURFRF9GVU5DVElPTl9DT05GSUdfT1ZFUkxPQURfTUFYLCBcCisgICAgICAgICAgICAibmRuYm9vc3QvZnVuY3Rpb25hbC9vdmVybG9hZGVkX2Z1bmN0aW9uLmhwcCIpKQorIyAgICAgICBpbmNsdWRlIEJPT1NUX1BQX0lURVJBVEUoKSAvLyBJdGVyYXRlIG92ZXIgZnVuY3Rpb24gYXJpdHkuCisKKyN1bmRlZiBCT09TVF9GVU5DVElPTkFMX2ZfdHlwZQorI3VuZGVmIEJPT1NUX0ZVTkNUSU9OQUxfZl9hcmcKKyN1bmRlZiBCT09TVF9GVU5DVElPTkFMX2ZfdHBhcmFtCisjdW5kZWYgQk9PU1RfRlVOQ1RJT05BTF9mX2FyZ19kZWNsCisjdW5kZWYgQk9PU1RfRlVOQ1RJT05BTF9mX3RwYXJhbV9kZmx0CisjdW5kZWYgQk9PU1RfRlVOQ1RJT05BTF9nX3R5cGUKKyN1bmRlZiBCT09TVF9GVU5DVElPTkFMX2dfYXJnCisjdW5kZWYgQk9PU1RfRlVOQ1RJT05BTF9nX3RwYXJhbQorI3VuZGVmIEJPT1NUX0ZVTkNUSU9OQUxfZ19hcmdfZGVjbAorI3VuZGVmIEJPT1NUX0ZVTkNUSU9OQUxfYmFzZQorI3VuZGVmIEJPT1NUX0ZVTkNUSU9OQUxfaW5oZXJpdAorI3VuZGVmIEJPT1NUX0ZVTkNUSU9OQUxfYmFzZV9pbml0CisjdW5kZWYgQk9PU1RfRlVOQ1RJT05BTF91c2luZ19vcGVyYXRvcl9jYWxsCisjdW5kZWYgQk9PU1RfRlVOQ1RJT05BTF9mdW5jdGlvbl90eXBlCisKKyMgICBlbmRpZiAvLyAjaW5jbHVkZSBndWFyZAorCisjZWxpZiBCT09TVF9QUF9JVEVSQVRJT05fREVQVEgoKSA9PSAxCisjICAgZGVmaW5lIEJPT1NUX0ZVTkNUSU9OQUxfb3ZlcmxvYWRzIFwKKyAgICAgICAgLyogaXRlcmF0ZSBhcyBPVkVSTE9BRFMsIE9WRVJMT0FEUy0xLCBPVkVSTE9BRFMtMiwgLi4uICovIFwKKyAgICAgICAgLyogKGFkZCAyIGJlY2F1c2UgaXRlcmF0aW9uIHN0YXJ0ZWQgZnJvbSAyIHRvIE1BWCkgKi8gXAorICAgICAgICBCT09TVF9QUF9BREQoMiwgQk9PU1RfUFBfU1VCKCBcCisgICAgICAgICAgICAgICAgQk9PU1RfRlVOQ1RJT05BTF9PVkVSTE9BREVEX0ZVTkNUSU9OX0NPTkZJR19PVkVSTE9BRF9NQVgsIFwKKyAgICAgICAgICAgICAgICBCT09TVF9QUF9GUkFNRV9JVEVSQVRJT04oMSkpKQorIyAgIGRlZmluZSBCT09TVF9GVU5DVElPTkFMX2lzX3RzcGVjIFwKKyAgICAgICAgLyogaWYgdGVtcGxhdGUgc3BlY2lhbGl6YXRpb24gKi8gXAorICAgICAgICBCT09TVF9QUF9MRVNTKEJPT1NUX0ZVTkNUSU9OQUxfb3ZlcmxvYWRzLCBcCisgICAgICAgICAgICAgICAgQk9PU1RfRlVOQ1RJT05BTF9PVkVSTE9BREVEX0ZVTkNUSU9OX0NPTkZJR19PVkVSTE9BRF9NQVgpCisKKy8vIEZvciB0eXBlLW9mIGVtdWxhdGlvbjogVGhpcyBtdXN0IGJlIGluY2x1ZGVkIGF0IHRoaXMgcHAgaXRlcmF0aW9uIGxldmVsLgorIyAgIGluY2x1ZGUgQk9PU1RfVFlQRU9GX0lOQ1JFTUVOVF9SRUdJU1RSQVRJT05fR1JPVVAoKQorCituYW1lc3BhY2UgbmRuYm9vc3QgeworCit0ZW1wbGF0ZTwKKyAgICBCT09TVF9QUF9FTlVNKEJPT1NUX0ZVTkNUSU9OQUxfb3ZlcmxvYWRzLCBCT09TVF9GVU5DVElPTkFMX2ZfdHBhcmFtX2RmbHQsCisgICAgICAgICAgICBCT09TVF9GVU5DVElPTkFMX2lzX3RzcGVjKQorPgorY2xhc3Mgb3ZlcmxvYWRlZF9mdW5jdGlvbgorICAgIC8vIFRlbXBsYXRlIHNwZWNpYWxpemF0aW9uLgorICAgIEJPT1NUX1BQX0VYUFJfSUlGKEJPT1NUX1BQX0VYUEFORChCT09TVF9GVU5DVElPTkFMX2lzX3RzcGVjKSwgPCkKKyAgICBCT09TVF9QUF9JSUYoQk9PU1RfRlVOQ1RJT05BTF9pc190c3BlYywKKyAgICAgICAgQk9PU1RfUFBfRU5VTQorICAgICwKKyAgICAgICAgQk9PU1RfUFBfVFVQTEVfRUFUKDMpCisgICAgKShCT09TVF9GVU5DVElPTkFMX292ZXJsb2FkcywgQk9PU1RfRlVOQ1RJT05BTF9mX3R5cGUsIH4pCisgICAgQk9PU1RfUFBfRVhQUl9JSUYoQk9PU1RfUFBfRVhQQU5EKEJPT1NUX0ZVTkNUSU9OQUxfaXNfdHNwZWMpLCA+KQorICAgIC8vIEJhc2VzIChvdmVybG9hZHMgPj0gMiBzbyBhbHdheXMgYXQgbGVhc3QgMiBiYXNlcykuCisgICAgOiBCT09TVF9QUF9FTlVNKEJPT1NUX0ZVTkNUSU9OQUxfb3ZlcmxvYWRzLAorICAgICAgICAgICAgQk9PU1RfRlVOQ1RJT05BTF9pbmhlcml0LCB+KQoreworcHVibGljOgorICAgIHRlbXBsYXRlPAorICAgICAgICBCT09TVF9QUF9FTlVNKEJPT1NUX0ZVTkNUSU9OQUxfb3ZlcmxvYWRzLCBCT09TVF9GVU5DVElPTkFMX2dfdHBhcmFtLCB+KQorICAgID4gLyogaW1wbGljaXQgKi8gaW5saW5lIG92ZXJsb2FkZWRfZnVuY3Rpb24oCisgICAgICAgICAgICBCT09TVF9QUF9FTlVNKEJPT1NUX0ZVTkNUSU9OQUxfb3ZlcmxvYWRzLAorICAgICAgICAgICAgICAgICAgICBCT09TVF9GVU5DVElPTkFMX2dfYXJnX2RlY2wsIH4pKQorICAgICAgICAgICAgLy8gT3ZlcmxvYWRzID49IDIgc28gYWx3YXlzIGF0IGxlYXN0IDIgYmFzZXMgdG8gaW5pdGlhbGl6ZS4KKyAgICAgICAgICAgIDogQk9PU1RfUFBfRU5VTShCT09TVF9GVU5DVElPTkFMX292ZXJsb2FkcywKKyAgICAgICAgICAgICAgICAgICAgQk9PU1RfRlVOQ1RJT05BTF9iYXNlX2luaXQsIH4pCisgICAge30KKworICAgIEJPT1NUX1BQX1JFUEVBVChCT09TVF9GVU5DVElPTkFMX292ZXJsb2FkcywgCisgICAgICAgICAgICBCT09TVF9GVU5DVElPTkFMX3VzaW5nX29wZXJhdG9yX2NhbGwsIH4pCit9OworCit0ZW1wbGF0ZTwKKyAgICBCT09TVF9QUF9FTlVNKEJPT1NUX0ZVTkNUSU9OQUxfb3ZlcmxvYWRzLCBCT09TVF9GVU5DVElPTkFMX2ZfdHBhcmFtLCB+KQorPgorb3ZlcmxvYWRlZF9mdW5jdGlvbjwKKyAgICBCT09TVF9QUF9FTlVNKEJPT1NUX0ZVTkNUSU9OQUxfb3ZlcmxvYWRzLCBCT09TVF9GVU5DVElPTkFMX2Z1bmN0aW9uX3R5cGUsIH4pCis+IG1ha2Vfb3ZlcmxvYWRlZF9mdW5jdGlvbigKKyAgICBCT09TVF9QUF9FTlVNKEJPT1NUX0ZVTkNUSU9OQUxfb3ZlcmxvYWRzLCBCT09TVF9GVU5DVElPTkFMX2ZfYXJnX2RlY2wsIH4pCispIHsKKyAgICByZXR1cm4gb3ZlcmxvYWRlZF9mdW5jdGlvbjwKKyAgICAgICAgQk9PU1RfUFBfRU5VTShCT09TVF9GVU5DVElPTkFMX292ZXJsb2FkcywKKyAgICAgICAgICAgICAgICBCT09TVF9GVU5DVElPTkFMX2Z1bmN0aW9uX3R5cGUsIH4pCisgICAgPihCT09TVF9QUF9FTlVNKEJPT1NUX0ZVTkNUSU9OQUxfb3ZlcmxvYWRzLCBCT09TVF9GVU5DVElPTkFMX2ZfYXJnLCB+KSk7Cit9CisKK30gLy8gbmFtZXNwYWNlCisKKy8vIEZvciB0eXBlLW9mIGVtdWxhdGlvbjogUmVnaXN0ZXIgb3ZlcmxvYWRlZCBmdW5jdGlvbiB0eXBlIChmb3IgX0FVVE8sIGV0YykuCitCT09TVF9UWVBFT0ZfUkVHSVNURVJfVEVNUExBVEUobmRuYm9vc3Q6Om92ZXJsb2FkZWRfZnVuY3Rpb24sCisgICAgQk9PU1RfRlVOQ1RJT05BTF9vdmVybG9hZHMpCisKKyMgICB1bmRlZiBCT09TVF9GVU5DVElPTkFMX292ZXJsb2FkcworIyAgIHVuZGVmIEJPT1NUX0ZVTkNUSU9OQUxfaXNfdHNwZWMKKyNlbmRpZiAvLyBpdGVyYXRpb24KKworLy8gRE9DVU1FTlRBVElPTiAvLworCisjZWxzZSAvLyBET1hZR0VOCisKKy8qKiBAZmlsZQorQGJyaWVmIE92ZXJsb2FkIGRpc3RpbmN0IGZ1bmN0aW9uIHBvaW50ZXJzLCBmdW5jdGlvbiByZWZlcmVuY2VzLCBhbmQKK21vbm9tb3JwaGljIGZ1bmN0aW9uIG9iamVjdHMgaW50byBhIHNpbmdsZSBmdW5jdGlvbiBvYmplY3QuCisqLworCituYW1lc3BhY2UgbmRuYm9vc3QgeworCisvKioKK0BicmllZiBGdW5jdGlvbiBvYmplY3QgdG8gb3ZlcmxvYWQgZnVuY3Rpb25zIHdpdGggZGlzdGluY3Qgc2lnbmF0dXJlcy4KKworVGhpcyBmdW5jdGlvbiBvYmplY3QgYWdncmVnYXRlcyB0b2dldGhlciBjYWxscyB0byBmdW5jdGlvbnMgb2YgYWxsIHRoZQorc3BlY2lmaWVkIGZ1bmN0aW9uIHR5cGVzIDxjPkYxPC9jPiwgPGM+RjI8L2M+LCBldGMgd2hpY2ggbXVzdCBoYXZlIGRpc3RpbmN0CitmdW5jdGlvbiBzaWduYXR1cmVzIGZyb20gb25lIGFub3RoZXIuCisKK0BQYXJhbXMKK0BQYXJhbXtGPGVtPmk8L2VtPiwKK0VhY2ggZnVuY3Rpb24gdHlwZSBtdXN0IGJlIHNwZWNpZmllZCB1c2luZyB0aGUgZm9sbG93aW5nIHN5bnRheCAod2hpY2ggaXMKK0Jvb3N0LkZ1bmN0aW9uJ3MgcHJlZmVycmVkIHN5bnRheCk6CitAY29kZQorICAgIHJlc3VsdF90eXBlIChhcmd1bWVudDFfdHlwZVwsIGFyZ3VtZ25ldDJfdHlwZVwsIC4uLikKK0BlbmRjb2RlCit9CitARW5kUGFyYW1zCisKK0luIHNvbWUgY2FzZXMsIHRoZSBAUmVmRnVuY3ttYWtlX292ZXJsb2FkZWRfZnVuY3Rpb259IGZ1bmN0aW9uIHRlbXBsYXRlIGNhbiBiZQordXNlZnVsIHRvIGNvbnN0cnVjdCBhbiBvdmVybG9hZGVkIGZ1bmN0aW9uIG9iamVjdCB3aXRob3V0IGV4cGxpY2l0bHkKK3NwZWNpZnlpbmcgdGhlIGZ1bmN0aW9uIHR5cGVzLgorCitBdCBsZWFzdCB0d28gZGlzdGluY3QgZnVuY3Rpb24gdHlwZXMgbXVzdCBiZSBzcGVjaWZpZWQgKGJlY2F1c2UgdGhlcmUgaXMKK25vdGhpbmcgdG8gb3ZlcmxvYWQgYmV0d2VlbiBvbmUgb3IgemVybyBmdW5jdGlvbnMpLgorVGhlIG1heGltdW0gbnVtYmVyIG9mIGZ1bmN0aW9ucyB0byBvdmVybG9hZCBpcyBnaXZlbiBieSB0aGUKK0BSZWZNYWNyb3tCT09TVF9GVU5DVElPTkFMX09WRVJMT0FERURfRlVOQ1RJT05fQ09ORklHX09WRVJMT0FEX01BWH0KK2NvbmZpZ3VyYXRpb24gbWFjcm8uCitUaGUgbWF4aW11bSBudW1iZXIgb2YgZnVuY3Rpb24gcGFyYW1ldGVycyBmb3IgZWFjaCBvZiB0aGUgc3BlY2lmaWVkIGZ1bmN0aW9uCit0eXBlcyBpcyBnaXZlbiBieSB0aGUKK0BSZWZNYWNyb3tCT09TVF9GVU5DVElPTkFMX09WRVJMT0FERURfRlVOQ1RJT05fQ09ORklHX0FSSVRZX01BWH0KK2NvbmZpZ3VyYXRpb24gbWFjcm8uCisKK0BTZWUgQFJlZlNlY3R7dHV0b3JpYWwsIFR1dG9yaWFsfSBzZWN0aW9uLCBAUmVmRnVuY3ttYWtlX292ZXJsb2FkZWRfZnVuY3Rpb259LAorQFJlZk1hY3Jve0JPT1NUX0ZVTkNUSU9OQUxfT1ZFUkxPQURFRF9GVU5DVElPTl9DT05GSUdfT1ZFUkxPQURfTUFYfSwKK0BSZWZNYWNyb3tCT09TVF9GVU5DVElPTkFMX09WRVJMT0FERURfRlVOQ1RJT05fQ09ORklHX0FSSVRZX01BWH0sCitCb29zdC5GdW5jdGlvbi4KKyovCit0ZW1wbGF0ZTx0eXBlbmFtZSBGMSwgdHlwZW5hbWUgRjIsIC4uLj4KK2NsYXNzIG92ZXJsb2FkZWRfZnVuY3Rpb24geworcHVibGljOgorICAgIC8qKgorICAgIEBicmllZiBDb25zdHJ1Y3QgdGhlIG92ZXJsb2FkZWQgZnVuY3Rpb24gb2JqZWN0LgorCisgICAgQW55IGZ1bmN0aW9uIHBvaW50ZXIsIGZ1bmN0aW9uIHJlZmVyZW5jZSwgYW5kIG1vbm9tb3JwaGljIGZ1bmN0aW9uIG9iamVjdAorICAgIHRoYXQgY2FuIGJlIGNvbnZlcnRlZCB0byBhIDxjPm5kbmJvb3N0OjpmdW5jdGlvbjwvYz4gZnVuY3Rpb24gb2JqZWN0IGNhbiBiZQorICAgIHNwZWNpZmllZCBhcyBwYXJhbWV0ZXIuCisKKyAgICBATm90ZSBVbmZvcnR1bmF0ZWx5LCBpdCBpcyBub3QgcG9zc2libGUgdG8gc3VwcG9ydCBwb2x5bW9ycGhpYyBmdW5jdGlvbgorICAgIG9iamVjdHMgKGFzIGV4cGxhaW5lZCA8YQorICAgIGhyZWY9Imh0dHA6Ly9saXN0cy5ib29zdC5vcmcvQXJjaGl2ZXMvYm9vc3QvMjAxMi8wMy8xOTE3NDQucGhwIj5oZXJlPC9hPikuCisgICAgKi8KKyAgICBvdmVybG9hZGVkX2Z1bmN0aW9uKGNvbnN0IG5kbmJvb3N0OjpmdW5jdGlvbjxGMT4mLAorICAgICAgICAgICAgY29uc3QgbmRuYm9vc3Q6OmZ1bmN0aW9uPEYyPiYsIC4uLik7CisKKyAgICAvKioKKyAgICBAYnJpZWYgQ2FsbCBvcGVyYXRvciBtYXRjaGluZyB0aGUgc2lnbmF0dXJlIG9mIHRoZSBmdW5jdGlvbiB0eXBlIHNwZWNpZmllZAorICAgIGFzIDFzdCB0ZW1wbGF0ZSBwYXJhbWV0ZXIuCisKKyAgICBUaGlzIHdpbGwgaW4gdHVybiBpbnZva2UgdGhlIGNhbGwgb3BlcmF0b3Igb2YgdGhlIDFzdCBmdW5jdGlvbiBwYXNzZWQgdG8KKyAgICB0aGUgY29uc3RydWN0b3IuCisgICAgKi8KKyAgICB0eXBlbmFtZSBuZG5ib29zdDo6ZnVuY3Rpb25fdHJhaXRzPEYxPjo6cmVzdWx0X3R5cGUgb3BlcmF0b3IoKSgKKyAgICAgICAgICAgIHR5cGVuYW1lIG5kbmJvb3N0OjpmdW5jdGlvbl90cmFpdHM8RjE+OjphcmcxX3R5cGUsCisgICAgICAgICAgICB0eXBlbmFtZSBuZG5ib29zdDo6ZnVuY3Rpb25fdHJhaXRzPEYxPjo6YXJnMl90eXBlLAorICAgICAgICAgICAgLi4uKSBjb25zdDsKKworICAgIC8qKgorICAgIEBicmllZiBDYWxsIG9wZXJhdG9yIG1hdGNoaW5nIHRoZSBzaWduYXR1cmUgb2YgdGhlIGZ1bmN0aW9uIHR5cGUgc3BlY2lmaWVkCisgICAgYXMgMm5kIHRlbXBsYXRlIHBhcmFtZXRlci4KKworICAgIFRoaXMgd2lsbCBpbiB0dXJuIGludm9rZSB0aGUgY2FsbCBvcGVyYXRvciBvZiB0aGUgMm5kIGZ1bmN0aW9uIHBhc3NlZCB0bworICAgIHRoZSBjb25zdHJ1Y3Rvci4KKworICAgIEBOb3RlIFNpbWlsYXIgY2FsbCBvcGVyYXRvcnMgYXJlIHByZXNlbnQgZm9yIGFsbCBzcGVjaWZpZWQgZnVuY3Rpb24gdHlwZXMKKyAgICA8Yz5GMTwvYz4sIDxjPkYyPC9jPiwgZXRjIChldmVuIGlmIG5vdCBleGhhdXN0aXZlbHkgbGlzdGVkIGJ5IHRoaXMKKyAgICBkb2N1bWVudGF0aW9uKS4KKyAgICAqLworICAgIHR5cGVuYW1lIG5kbmJvb3N0OjpmdW5jdGlvbl90cmFpdHM8RjI+OjpyZXN1bHRfdHlwZSBvcGVyYXRvcigpKAorICAgICAgICAgICAgdHlwZW5hbWUgbmRuYm9vc3Q6OmZ1bmN0aW9uX3RyYWl0czxGMj46OmFyZzFfdHlwZSwKKyAgICAgICAgICAgIHR5cGVuYW1lIG5kbmJvb3N0OjpmdW5jdGlvbl90cmFpdHM8RjI+OjphcmcyX3R5cGUsCisgICAgICAgICAgICAuLi4pIGNvbnN0OworfTsKKworLyoqCitAYnJpZWYgTWFrZSBhbiBvdmVybG9hZGVkIGZ1bmN0aW9uIG9iamVjdCB3aXRob3V0IGV4cGxpY2l0bHkgc3BlY2lmeWluZyB0aGUKK2Z1bmN0aW9uIHR5cGVzLgorCitUaGlzIGZ1bmN0aW9uIHRlbXBsYXRlIGNyZWF0ZXMgYW5kIHJldHVybnMgYW4gQFJlZkNsYXNze292ZXJsb2FkZWRfZnVuY3Rpb259CitvYmplY3QgdGhhdCBvdmVybG9hZHMgYWxsIHRoZSBzcGVjaWZpZWQgZnVuY3Rpb25zIDxjPmYxPC9jPiwgPGM+ZjI8L2M+LCBldGMuCisKK1RoZSBmdW5jdGlvbiB0eXBlcyBhcmUgaW50ZXJuYWxseSBkZXRlcm1pbmVkIGZyb20gdGhlIHRlbXBsYXRlIHBhcmFtZXRlciB0eXBlcworc28gdGhleSBkbyBub3QgbmVlZCB0byBiZSBleHBsaWNpdGx5IHNwZWNpZmllZC4KK1RoZXJlZm9yZSwgdGhpcyBmdW5jdGlvbiB0ZW1wbGF0ZSB1c3VhbGx5IGhhcyBhIG1vcmUgY29uY2lzZSBzeW50YXggd2hlbgorY29tcGFyZWQgd2l0aCBAUmVmQ2xhc3N7b3ZlcmxvYWRlZF9mdW5jdGlvbn0uCitUaGlzIGlzIGVzcGVjaWFsbHkgdXNlZnVsIHdoZW4gdGhlIGV4cGxpY2l0IHR5cGUgb2YgdGhlIHJldHVybmVkCitAUmVmQ2xhc3N7b3ZlcmxvYWRlZF9mdW5jdGlvbn0gb2JqZWN0IGRvZXMgbm90IG5lZWQgdG8gYmUga25vd24gKGUuZy4sIHdoZW4KK3VzZWQgd2l0aCBCb29zdC5UeXBlb2YncyA8Yz5CT09TVF9BVVRPPC9jPiwgQysrMTEgPGM+YXV0bzwvYz4sIG9yIHdoZW4gdGhlCitvdmVybG9hZGVkIGZ1bmN0aW9uIG9iamVjdCBpcyBoYW5kbGVkIHVzaW5nIGEgZnVuY3Rpb24gdGVtcGxhdGUgcGFyYW1ldGVyLCBzZWUKK3RoZSBAUmVmU2VjdHt0dXRvcmlhbCwgVHV0b3JpYWx9IHNlY3Rpb24pLgorCitUaGUgbWF4aW11bSBudW1iZXIgb2YgZnVuY3Rpb25zIHRvIG92ZXJsb2FkIGlzIGdpdmVuIGJ5IHRoZQorQFJlZk1hY3Jve0JPT1NUX0ZVTkNUSU9OQUxfT1ZFUkxPQURFRF9GVU5DVElPTl9DT05GSUdfT1ZFUkxPQURfTUFYfQorY29uZmlndXJhdGlvbiBtYWNyby4KKworQE5vdGUgSW4gdGhpcyBkb2N1bWVudGF0aW9uLCA8Yz5fX2Z1bmN0aW9uX3R5cGVfXzwvYz4gaXMgYSBwbGFjZWhvbGRlciBmb3IgYQorc3ltYm9sIHRoYXQgaXMgc3BlY2lmaWMgdG8gdGhlIGltcGxlbWVudGF0aW9uIG9mIHRoaXMgbGlicmFyeS4KKworQFNlZSBAUmVmU2VjdHt0dXRvcmlhbCwgVHV0b3JpYWx9IHNlY3Rpb24sIEBSZWZDbGFzc3tvdmVybG9hZGVkX2Z1bmN0aW9ufSwKK0BSZWZNYWNyb3tCT09TVF9GVU5DVElPTkFMX09WRVJMT0FERURfRlVOQ1RJT05fQ09ORklHX09WRVJMT0FEX01BWH0uCisqLwordGVtcGxhdGU8dHlwZW5hbWUgRjEsIHR5cGVuYW1lIEYyLCAuLi4+CitvdmVybG9hZGVkX2Z1bmN0aW9uPAorICAgIF9fZnVuY3Rpb25fdHlwZV9fPEYxPiwgX19mdW5jdGlvbl90eXBlX188RjI+LCAuLi4KKz4gbWFrZV9vdmVybG9hZGVkX2Z1bmN0aW9uKEYxIGYxLCBGMiBmMiwgLi4uKTsKKworfSAvLyBuYW1lc3BhY2UKKworI2VuZGlmIC8vIERPWFlHRU4KKwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvZnVuY3Rpb25hbC9vdmVybG9hZGVkX2Z1bmN0aW9uL2NvbmZpZy5ocHAgYi9uZG5ib29zdC9mdW5jdGlvbmFsL292ZXJsb2FkZWRfZnVuY3Rpb24vY29uZmlnLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zM2ZmMWI1Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvZnVuY3Rpb25hbC9vdmVybG9hZGVkX2Z1bmN0aW9uL2NvbmZpZy5ocHAKQEAgLTAsMCArMSw1MCBAQAorCisvLyBDb3B5cmlnaHQgKEMpIDIwMDktMjAxMiBMb3JlbnpvIENhbWluaXRpCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAKKy8vIChzZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGEgY29weSBhdAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8gSG9tZSBhdCBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL2Z1bmN0aW9uYWwvb3ZlcmxvYWRlZF9mdW5jdGlvbgorCisjaWZuZGVmIEJPT1NUX0ZVTkNUSU9OQUxfT1ZFUkxPQURFRF9GVU5DVElPTl9DT05GSUdfSFBQXworI2RlZmluZSBCT09TVF9GVU5DVElPTkFMX09WRVJMT0FERURfRlVOQ1RJT05fQ09ORklHX0hQUF8KKworLyoqIEBmaWxlCitAYnJpZWYgQ2hhbmdlIHRoZSBjb21waWxlLXRpbWUgY29uZmlndXJhdGlvbiBvZiB0aGlzIGxpYnJhcnkuCisqLworCisvKioKK0BicmllZiBTcGVjaWZ5IHRoZSBtYXhpbXVtIG51bWJlciBvZiBhcmd1bWVudHMgb2YgdGhlIGZ1bmN0aW9ucyBiZWluZworb3ZlcmxvYWRlZC4KKworSWYgdGhpcyBtYWNybyBpcyBsZWZ0IHVuZGVmaW5lZCBieSB0aGUgdXNlciwgaXQgaGFzIGEgZGVmYXVsdCB2YWx1ZSBvZiA1CisoaW5jcmVhc2luZyB0aGlzIG51bWJlciBtaWdodCBpbmNyZWFzZSBjb21waWxhdGlvbiB0aW1lKS4KK1doZW4gc3BlY2lmaWVkIGJ5IHRoZSB1c2VyLCB0aGlzIG1hY3JvIG11c3QgYmUgYSBub24tbmVnYXRpdmUgaW50ZWdlciBudW1iZXIuCisKK0BTZWUgQFJlZlNlY3R7Z2V0dGluZ19zdGFydGVkLCBHZXR0aW5nIFN0YXJ0ZWR9LAorQFJlZkNsYXNze25kbmJvb3N0OjpvdmVybG9hZGVkX2Z1bmN0aW9ufS4KKyovCisjaWZuZGVmIEJPT1NUX0ZVTkNUSU9OQUxfT1ZFUkxPQURFRF9GVU5DVElPTl9DT05GSUdfQVJJVFlfTUFYIAorIyAgIGRlZmluZSBCT09TVF9GVU5DVElPTkFMX09WRVJMT0FERURfRlVOQ1RJT05fQ09ORklHX0FSSVRZX01BWCA1CisjZW5kaWYKKworLyoqCitAYnJpZWYgU3BlY2lmeSB0aGUgbWF4aW11bSBudW1iZXIgb2YgZnVuY3Rpb25zIHRoYXQgY2FuIGJlIG92ZXJsb2FkZWQuCisKK0lmIHRoaXMgbWFjcm8gaXMgbGVmdCB1bmRlZmluZWQgYnkgdGhlIHVzZXIsIGl0IGhhcyBhIGRlZmF1bHQgdmFsdWUgb2YgNQorKGluY3JlYXNpbmcgdGhpcyBudW1iZXIgbWlnaHQgaW5jcmVhc2UgY29tcGlsYXRpb24gdGltZSkuCitXaGVuIGRlZmluZWQgYnkgdGhlIHVzZXIsIHRoaXMgbWFjcm8gbXVzdCBiZSBhbiBpbnRlZ2VyIG51bWJlciBncmVhdGVyIG9yCitlcXVhbCB0aGFuIDIgKGJlY2F1c2UgYXQgbGVhc3QgdHdvIGRpc3RpbmN0IGZ1bmN0aW9ucyBuZWVkIHRvIGJlIHNwZWNpZmllZCBpbgorb3JkZXIgdG8gZGVmaW5lIGFuIG92ZXJsb2FkKS4KKworQFNlZSBAUmVmU2VjdHtnZXR0aW5nX3N0YXJ0ZWQsIEdldHRpbmcgU3RhcnRlZH0sCitAUmVmQ2xhc3N7bmRuYm9vc3Q6Om92ZXJsb2FkZWRfZnVuY3Rpb259LgorKi8KKyNpZm5kZWYgQk9PU1RfRlVOQ1RJT05BTF9PVkVSTE9BREVEX0ZVTkNUSU9OX0NPTkZJR19PVkVSTE9BRF9NQVgKKyMgICBkZWZpbmUgQk9PU1RfRlVOQ1RJT05BTF9PVkVSTE9BREVEX0ZVTkNUSU9OX0NPTkZJR19PVkVSTE9BRF9NQVggNQorI2VuZGlmCisjaWYgQk9PU1RfRlVOQ1RJT05BTF9PVkVSTE9BREVEX0ZVTkNUSU9OX0NPTkZJR19PVkVSTE9BRF9NQVggPCAyCisjICAgZXJyb3IgIm1heGltdW0gb3ZlcmxvYWQgbWFjcm8gY2Fubm90IGJlIGxlc3MgdGhhbiAyIgorI2VuZGlmCisKKyNlbmRpZiAvLyAjaW5jbHVkZSBndWFyZAorCmRpZmYgLS1naXQgYS9uZG5ib29zdC9mdW5jdGlvbmFsL292ZXJsb2FkZWRfZnVuY3Rpb24vZGV0YWlsL2Jhc2UuaHBwIGIvbmRuYm9vc3QvZnVuY3Rpb25hbC9vdmVybG9hZGVkX2Z1bmN0aW9uL2RldGFpbC9iYXNlLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNGNlZjA0Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvZnVuY3Rpb25hbC9vdmVybG9hZGVkX2Z1bmN0aW9uL2RldGFpbC9iYXNlLmhwcApAQCAtMCwwICsxLDg2IEBACisKKy8vIENvcHlyaWdodCAoQykgMjAwOS0yMDEyIExvcmVuem8gQ2FtaW5pdGkKKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMAorLy8gKHNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgYSBjb3B5IGF0CisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLyBIb21lIGF0IGh0dHA6Ly93d3cuYm9vc3Qub3JnL2xpYnMvZnVuY3Rpb25hbC9vdmVybG9hZGVkX2Z1bmN0aW9uCisKKyNpZiAhQk9PU1RfUFBfSVNfSVRFUkFUSU5HCisjICAgaWZuZGVmIEJPT1NUX0ZVTkNUSU9OQUxfT1ZFUkxPQURFRF9GVU5DVElPTl9ERVRBSUxfQkFTRV9IUFBfCisjICAgICAgIGRlZmluZSBCT09TVF9GVU5DVElPTkFMX09WRVJMT0FERURfRlVOQ1RJT05fREVUQUlMX0JBU0VfSFBQXworCisjICAgICAgIGluY2x1ZGUgPG5kbmJvb3N0L2Z1bmN0aW9uYWwvb3ZlcmxvYWRlZF9mdW5jdGlvbi9jb25maWcuaHBwPgorIyAgICAgICBpbmNsdWRlIDxuZG5ib29zdC9mdW5jdGlvbi5ocHA+CisjICAgICAgIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9pdGVyYXRpb24vaXRlcmF0ZS5ocHA+CisjICAgICAgIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9yZXBldGl0aW9uL2VudW0uaHBwPgorIyAgICAgICBpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3IvY2F0LmhwcD4KKyMgICAgICAgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL2NvbW1hX2lmLmhwcD4KKworI2RlZmluZSBCT09TVF9GVU5DVElPTkFMX0RFVEFJTF9hcmdfdHlwZSh6LCBuLCB1bnVzZWQpIFwKKyAgICBCT09TVF9QUF9DQVQoQSwgbikKKworI2RlZmluZSBCT09TVF9GVU5DVElPTkFMX0RFVEFJTF9hcmdfbmFtZSh6LCBuLCB1bnVzZWQpIFwKKyAgICBCT09TVF9QUF9DQVQoYSwgbikKKworI2RlZmluZSBCT09TVF9GVU5DVElPTkFMX0RFVEFJTF9hcmdfdHBhcmFtKHosIG4sIHVudXNlZCkgXAorICAgIHR5cGVuYW1lIEJPT1NUX0ZVTkNUSU9OQUxfREVUQUlMX2FyZ190eXBlKHosIG4sIHVudXNlZCkKKworI2RlZmluZSBCT09TVF9GVU5DVElPTkFMX0RFVEFJTF9hcmcoeiwgbiwgdW51c2VkKSBcCisgICAgQk9PU1RfRlVOQ1RJT05BTF9ERVRBSUxfYXJnX3R5cGUoeiwgbiwgdW51c2VkKSBcCisgICAgQk9PU1RfRlVOQ1RJT05BTF9ERVRBSUxfYXJnX25hbWUoeiwgbiwgdW51c2VkKQorCisjZGVmaW5lIEJPT1NUX0ZVTkNUSU9OQUxfREVUQUlMX2YgXAorICAgIFIgKEJPT1NUX1BQX0VOVU0oQk9PU1RfRlVOQ1RJT05BTF9ERVRBSUxfYXJpdHksIFwKKyAgICAgICAgICAgIEJPT1NUX0ZVTkNUSU9OQUxfREVUQUlMX2FyZ190eXBlLCB+KSkKKworLy8gRG8gbm90IHVzZSBuYW1lc3BhY2UgOjpkZXRhaWwgYmVjYXVzZSBvdmVybG9hZGVkX2Z1bmN0aW9uIGlzIGFscmVhZHkgYSBjbGFzcy4KK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBvdmVybG9hZGVkX2Z1bmN0aW9uX2RldGFpbCB7CisKK3RlbXBsYXRlPHR5cGVuYW1lIEY+CitjbGFzcyBiYXNlIHt9OyAvLyBFbXB0eSB0ZW1wbGF0ZSBjYW5ub3QgYmUgdXNlZCBkaXJlY3RseSAob25seSBpdHMgc3BlYykuCisKKyMgICAgICAgZGVmaW5lIEJPT1NUX1BQX0lURVJBVElPTl9QQVJBTVNfMSBcCisgICAgICAgICAgICAgICAgKDMsICgwLCBCT09TVF9GVU5DVElPTkFMX09WRVJMT0FERURfRlVOQ1RJT05fQ09ORklHX0FSSVRZX01BWCwgXAorICAgICAgICAgICAgICAgICJuZG5ib29zdC9mdW5jdGlvbmFsL292ZXJsb2FkZWRfZnVuY3Rpb24vZGV0YWlsL2Jhc2UuaHBwIikpCisjICAgICAgIGluY2x1ZGUgQk9PU1RfUFBfSVRFUkFURSgpIC8vIEl0ZXJhdGUgb3ZlciBmdW5jaXRvbiBhcml0eS4KKworfSB9IC8vIG5hbWVzcGFjZQorCisjdW5kZWYgQk9PU1RfRlVOQ1RJT05BTF9ERVRBSUxfYXJnX3R5cGUKKyN1bmRlZiBCT09TVF9GVU5DVElPTkFMX0RFVEFJTF9hcmdfbmFtZQorI3VuZGVmIEJPT1NUX0ZVTkNUSU9OQUxfREVUQUlMX2FyZ190cGFyYW0KKyN1bmRlZiBCT09TVF9GVU5DVElPTkFMX0RFVEFJTF9hcmcKKyN1bmRlZiBCT09TVF9GVU5DVElPTkFMX0RFVEFJTF9mCisKKyMgICBlbmRpZiAvLyAjaW5jbHVkZSBndWFyZAorCisjZWxpZiBCT09TVF9QUF9JVEVSQVRJT05fREVQVEgoKSA9PSAxCisjICAgZGVmaW5lIEJPT1NUX0ZVTkNUSU9OQUxfREVUQUlMX2FyaXR5IEJPT1NUX1BQX0ZSQU1FX0lURVJBVElPTigxKQorCit0ZW1wbGF0ZTwKKyAgICB0eXBlbmFtZSBSCisgICAgQk9PU1RfUFBfQ09NTUFfSUYoQk9PU1RfRlVOQ1RJT05BTF9ERVRBSUxfYXJpdHkpCisgICAgQk9PU1RfUFBfRU5VTShCT09TVF9GVU5DVElPTkFMX0RFVEFJTF9hcml0eSwKKyAgICAgICAgICAgIEJPT1NUX0ZVTkNUSU9OQUxfREVUQUlMX2FyZ190cGFyYW0sIH4pCis+CitjbGFzcyBiYXNlPCBCT09TVF9GVU5DVElPTkFMX0RFVEFJTF9mID4geworcHVibGljOgorICAgIC8qIGltcGxpY2l0ICovIGlubGluZSBiYXNlKAorICAgICAgICAgICAgLy8gVGhpcyByZXF1aXJlcyBzcGVjaWZpZWQgdHlwZSB0byBiZSBpbXBsaWNpdGx5IGNvbnZlcnRpYmxlIHRvCisgICAgICAgICAgICAvLyBhIG5kbmJvb3N0OjpmdW5jdGlvbjw+IGZ1bmN0b3IuCisgICAgICAgICAgICBuZG5ib29zdDo6ZnVuY3Rpb248IEJPT1NUX0ZVTkNUSU9OQUxfREVUQUlMX2YgPiBjb25zdCYgZik6IGZfKGYpCisgICAge30KKworICAgIGlubGluZSBSIG9wZXJhdG9yKCkoQk9PU1RfUFBfRU5VTShCT09TVF9GVU5DVElPTkFMX0RFVEFJTF9hcml0eSwKKyAgICAgICAgICAgIEJPT1NUX0ZVTkNUSU9OQUxfREVUQUlMX2FyZywgfikpIGNvbnN0IHsKKyAgICAgICAgcmV0dXJuIGZfKEJPT1NUX1BQX0VOVU0oQk9PU1RfRlVOQ1RJT05BTF9ERVRBSUxfYXJpdHksCisgICAgICAgICAgICAgICAgQk9PU1RfRlVOQ1RJT05BTF9ERVRBSUxfYXJnX25hbWUsIH4pKTsKKyAgICB9CisKK3ByaXZhdGU6CisgICAgbmRuYm9vc3Q6OmZ1bmN0aW9uPCBCT09TVF9GVU5DVElPTkFMX0RFVEFJTF9mID4gY29uc3QgZl87Cit9OworCisjICAgdW5kZWYgQk9PU1RfRlVOQ1RJT05BTF9ERVRBSUxfYXJpdHkKKyNlbmRpZiAvLyBpdGVyYXRpb24KKwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvZnVuY3Rpb25hbC9vdmVybG9hZGVkX2Z1bmN0aW9uL2RldGFpbC9mdW5jdGlvbl90eXBlLmhwcCBiL25kbmJvb3N0L2Z1bmN0aW9uYWwvb3ZlcmxvYWRlZF9mdW5jdGlvbi9kZXRhaWwvZnVuY3Rpb25fdHlwZS5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzExOWY5MwotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L2Z1bmN0aW9uYWwvb3ZlcmxvYWRlZF9mdW5jdGlvbi9kZXRhaWwvZnVuY3Rpb25fdHlwZS5ocHAKQEAgLTAsMCArMSw4NSBAQAorCisvLyBDb3B5cmlnaHQgKEMpIDIwMDktMjAxMiBMb3JlbnpvIENhbWluaXRpCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAKKy8vIChzZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGEgY29weSBhdAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8gSG9tZSBhdCBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL2Z1bmN0aW9uYWwvb3ZlcmxvYWRlZF9mdW5jdGlvbgorCisjaWZuZGVmIEJPT1NUX0ZVTkNUSU9OQUxfT1ZFUkxPQURFRF9GVU5DVElPTl9ERVRBSUxfRlVOQ1RJT05fVFlQRV9IUFBfCisjZGVmaW5lIEJPT1NUX0ZVTkNUSU9OQUxfT1ZFUkxPQURFRF9GVU5DVElPTl9ERVRBSUxfRlVOQ1RJT05fVFlQRV9IUFBfCisKKyNpbmNsdWRlIDxuZG5ib29zdC9mdW5jdGlvbl90eXBlcy9pc19mdW5jdGlvbi5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvZnVuY3Rpb25fdHlwZXMvaXNfZnVuY3Rpb25fcG9pbnRlci5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvZnVuY3Rpb25fdHlwZXMvaXNfZnVuY3Rpb25fcmVmZXJlbmNlLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9mdW5jdGlvbl90eXBlcy9mdW5jdGlvbl90eXBlLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9mdW5jdGlvbl90eXBlcy9wYXJhbWV0ZXJfdHlwZXMuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L2Z1bmN0aW9uX3R5cGVzL3Jlc3VsdF90eXBlLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9yZW1vdmVfcG9pbnRlci5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvcmVtb3ZlX3JlZmVyZW5jZS5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvZnVuY3Rpb24uaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9pZi5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2lkZW50aXR5LmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvcG9wX2Zyb250LmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvcHVzaF9mcm9udC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZW9mL3R5cGVvZi5ocHA+CisKKy8vIERvIG5vdCB1c2UgbmFtZXNwYWNlIDo6ZGV0YWlsIGJlY2F1c2Ugb3ZlcmxvYWRlZF9mdW5jdGlvbiBpcyBhbHJlYWR5IGEgY2xhc3MuCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2Ugb3ZlcmxvYWRlZF9mdW5jdGlvbl9kZXRhaWwgeworCisvLyBSZXF1aXJlczogRiBpcyBhIG1vbm9tb3JwaGljIGZ1bmN0b3IgKGkuZS4sIGhhcyBub24tdGVtcGxhdGUgYG9wZXJhdG9yKClgKS4KKy8vIFJldHVybnM6IEYncyBmdW5jdGlvbiB0eXBlIGByZXN1bHRfdHlwZSAoYXJnMV90eXBlLCBhcmcyX3R5cGUsIC4uLilgLgorLy8gSXQgZG9lcyBub3QgYXNzdW1lIEYgdHlwZWRlZiByZXN1bHRfdHlwZSwgYXJnMV90eXBlLCAuLi4gYnV0IG5lZWRzIHR5cGVvZi4KK3RlbXBsYXRlPHR5cGVuYW1lIEY+CitjbGFzcyBmdW5jdG9yX3R5cGUgeworICAgIC8vIE5PVEU6IGNsYW5nIGRvZXMgbm90IGFjY2VwdCBleHRyYSBwYXJlbnRoZXNpcyBgJiguLi4pYC4KKyAgICB0eXBlZGVmIEJPT1NUX1RZUEVPRl9UUEwoJkY6Om9wZXJhdG9yKCkpIGNhbGxfcHRyOworcHVibGljOgorICAgIHR5cGVkZWYKKyAgICAgICAgdHlwZW5hbWUgbmRuYm9vc3Q6OmZ1bmN0aW9uX3R5cGVzOjpmdW5jdGlvbl90eXBlPAorICAgICAgICAgICAgdHlwZW5hbWUgbmRuYm9vc3Q6Om1wbDo6cHVzaF9mcm9udDwKKyAgICAgICAgICAgICAgICAgIHR5cGVuYW1lIG5kbmJvb3N0OjptcGw6OnBvcF9mcm9udDwgLy8gUmVtb3ZlIGZ1bmN0b3IgdHlwZSAoMXN0KS4KKyAgICAgICAgICAgICAgICAgICAgdHlwZW5hbWUgbmRuYm9vc3Q6OmZ1bmN0aW9uX3R5cGVzOjpwYXJhbWV0ZXJfdHlwZXM8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FsbF9wdHI+Ojp0eXBlCisgICAgICAgICAgICAgICAgICA+Ojp0eXBlCisgICAgICAgICAgICAgICAgLCB0eXBlbmFtZSBuZG5ib29zdDo6ZnVuY3Rpb25fdHlwZXM6OnJlc3VsdF90eXBlPGNhbGxfcHRyPjo6dHlwZQorICAgICAgICAgICAgPjo6dHlwZQorICAgICAgICA+Ojp0eXBlCisgICAgdHlwZTsKK307CisKKy8vIE5PVEU6IFdoZW4gdXNpbmcgbmRuYm9vc3Q6OmZ1bmN0aW9uIGluIEJvb3N0LlR5cGVvZiBlbXVsYXRpb24gbW9kZSwgdGhlIHVzZXIKKy8vIGhhcyB0byByZWdpc3RlciBuZG5ib29zdDo6ZnVuY3Rpb25OIGluc3RlYWQgb2YgbmRuYm9vc3Q6OmZ1bmN0aW9uIGluIG9kZXIgdG8KKy8vIGRvIFRZUEVPRihGOjpvcGVyYXRvcigpKS4gVGhhdCBpcyBjb25mdXNpbmcsIHNvIG5kbmJvb3N0OjpmdW5jdGlvbiBpcyBoYW5kbGVkCisvLyBzZXBhcmF0ZWx5IHNvIGl0IGRvZXMgbm90IHJlcXVpcmUgYW55IEJvb3N0LlR5cGVvZiByZWdpc3RyYXRpb24gYXQgYWxsLgordGVtcGxhdGU8dHlwZW5hbWUgRj4KK3N0cnVjdCBmdW5jdG9yX3R5cGU8IG5kbmJvb3N0OjpmdW5jdGlvbjxGPiA+IHsKKyAgICB0eXBlZGVmIEYgdHlwZTsKK307CisKKy8vIFJlcXVpcmVzOiBGIGlzIGEgZnVuY3Rpb24gdHlwZSwgcG9pbnRlciwgcmVmZXJlbmNlLCBvciBtb25vbW9ycGhpYyBmdW5jdG9yLgorLy8gUmV0dXJuczogRidzIGZ1bmN0aW9uIHR5cGUgYHJlc3VsdF90eXBlIChhcmcxX3R5cGUsIGFyZzJfdHlwZSwgLi4uKWAuCit0ZW1wbGF0ZTx0eXBlbmFtZSBGPgorc3RydWN0IGZ1bmN0aW9uX3R5cGUgeworICAgIHR5cGVkZWYKKyAgICAgICAgdHlwZW5hbWUgbmRuYm9vc3Q6Om1wbDo6aWZfPG5kbmJvb3N0OjpmdW5jdGlvbl90eXBlczo6aXNfZnVuY3Rpb248Rj4sCisgICAgICAgICAgICBuZG5ib29zdDo6bXBsOjppZGVudGl0eTxGPgorICAgICAgICAsCisgICAgICAgICAgICB0eXBlbmFtZSBuZG5ib29zdDo6bXBsOjppZl88bmRuYm9vc3Q6OmZ1bmN0aW9uX3R5cGVzOjoKKyAgICAgICAgICAgICAgICAgICAgaXNfZnVuY3Rpb25fcG9pbnRlcjxGPiwKKyAgICAgICAgICAgICAgICBuZG5ib29zdDo6cmVtb3ZlX3BvaW50ZXI8Rj4KKyAgICAgICAgICAgICwKKyAgICAgICAgICAgICAgICB0eXBlbmFtZSBuZG5ib29zdDo6bXBsOjppZl88bmRuYm9vc3Q6OmZ1bmN0aW9uX3R5cGVzOjoKKyAgICAgICAgICAgICAgICAgICAgICAgIGlzX2Z1bmN0aW9uX3JlZmVyZW5jZTxGPiwKKyAgICAgICAgICAgICAgICAgICAgbmRuYm9vc3Q6OnJlbW92ZV9yZWZlcmVuY2U8Rj4KKyAgICAgICAgICAgICAgICAsIC8vIEVsc2UsIHJlcXVpcmVzIHRoYXQgRiBpcyBhIGZ1bmN0b3IuCisgICAgICAgICAgICAgICAgICAgIGZ1bmN0b3JfdHlwZTxGPgorICAgICAgICAgICAgICAgID46OnR5cGUKKyAgICAgICAgICAgID46OnR5cGUKKyAgICAgICAgPjo6dHlwZQorICAgIDo6dHlwZSB0eXBlOworfTsKKworfSB9IC8vIG5hbWVzcGFjZQorCisjZW5kaWYgLy8gI2luY2x1ZGUgZ3VhcmQKKwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvZnVuY3Rpb25hbC92YWx1ZV9mYWN0b3J5LmhwcCBiL25kbmJvb3N0L2Z1bmN0aW9uYWwvdmFsdWVfZmFjdG9yeS5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzkxNzUxOQotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L2Z1bmN0aW9uYWwvdmFsdWVfZmFjdG9yeS5ocHAKQEAgLTAsMCArMSw3MCBAQAorLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorICAgIENvcHlyaWdodCAoYykgMjAwNyBUb2JpYXMgU2Nod2luZ2VyCisgIAorICAgIFVzZSBtb2RpZmljYXRpb24gYW5kIGRpc3RyaWJ1dGlvbiBhcmUgc3ViamVjdCB0byB0aGUgQm9vc3QgU29mdHdhcmUgCisgICAgTGljZW5zZSwgVmVyc2lvbiAxLjAuIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQKKyAgICBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpLgorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki8KKworI2lmbmRlZiBCT09TVF9GVU5DVElPTkFMX1ZBTFVFX0ZBQ1RPUllfSFBQX0lOQ0xVREVECisjICAgaWZuZGVmIEJPT1NUX1BQX0lTX0lURVJBVElORworCisjICAgICBpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3IvaXRlcmF0aW9uL2l0ZXJhdGUuaHBwPgorIyAgICAgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL3JlcGV0aXRpb24vZW51bV9wYXJhbXMuaHBwPgorIyAgICAgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL3JlcGV0aXRpb24vZW51bV9iaW5hcnlfcGFyYW1zLmhwcD4KKworIyAgICAgaW5jbHVkZSA8bmV3PgorIyAgICAgaW5jbHVkZSA8bmRuYm9vc3QvcG9pbnRlZS5ocHA+CisjICAgICBpbmNsdWRlIDxuZG5ib29zdC9ub25lX3QuaHBwPgorIyAgICAgaW5jbHVkZSA8bmRuYm9vc3QvZ2V0X3BvaW50ZXIuaHBwPgorIyAgICAgaW5jbHVkZSA8bmRuYm9vc3Qvbm9uX3R5cGUuaHBwPgorIyAgICAgaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvcmVtb3ZlX2N2LmhwcD4KKworIyAgICAgaWZuZGVmIEJPT1NUX0ZVTkNUSU9OQUxfVkFMVUVfRkFDVE9SWV9NQVhfQVJJVFkKKyMgICAgICAgZGVmaW5lIEJPT1NUX0ZVTkNUSU9OQUxfVkFMVUVfRkFDVE9SWV9NQVhfQVJJVFkgMTAKKyMgICAgIGVsaWYgQk9PU1RfRlVOQ1RJT05BTF9WQUxVRV9GQUNUT1JZX01BWF9BUklUWSA8IDMKKyMgICAgICAgdW5kZWYgIEJPT1NUX0ZVTkNUSU9OQUxfVkFMVUVfRkFDVE9SWV9NQVhfQVJJVFkKKyMgICAgICAgZGVmaW5lIEJPT1NUX0ZVTkNUSU9OQUxfVkFMVUVfRkFDVE9SWV9NQVhfQVJJVFkgMworIyAgICAgZW5kaWYKKworbmFtZXNwYWNlIG5kbmJvb3N0Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFQgPgorICAgIGNsYXNzIHZhbHVlX2ZhY3Rvcnk7CisKKyAgICAvLy0tLS0tIC0tLS0gLS0tIC0tIC0gLSAgLSAgIC0KKworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBUID4KKyAgICBjbGFzcyB2YWx1ZV9mYWN0b3J5CisgICAgeworICAgICAgcHVibGljOgorICAgICAgICB0eXBlZGVmIFQgcmVzdWx0X3R5cGU7CisKKyAgICAgICAgdmFsdWVfZmFjdG9yeSgpCisgICAgICAgIHsgfQorCisjICAgICBkZWZpbmUgQk9PU1RfUFBfRklMRU5BTUVfMSA8bmRuYm9vc3QvZnVuY3Rpb25hbC92YWx1ZV9mYWN0b3J5LmhwcD4KKyMgICAgIGRlZmluZSBCT09TVF9QUF9JVEVSQVRJT05fTElNSVRTICgwLEJPT1NUX0ZVTkNUSU9OQUxfVkFMVUVfRkFDVE9SWV9NQVhfQVJJVFkpCisjICAgICBpbmNsdWRlIEJPT1NUX1BQX0lURVJBVEUoKQorICAgIH07CisKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVCA+IGNsYXNzIHZhbHVlX2ZhY3Rvcnk8VCY+OworICAgIC8vIGZvcmJpZGRlbiwgd291bGQgY3JlYXRlIGEgZGFuZ2xpbmcgcmVmZXJlbmNlCit9CisjICAgICBkZWZpbmUgQk9PU1RfRlVOQ1RJT05BTF9WQUxVRV9GQUNUT1JZX0hQUF9JTkNMVURFRAorIyAgIGVsc2UgLy8gZGVmaW5lZChCT09TVF9QUF9JU19JVEVSQVRJTkcpCisKKyMgICAgIGRlZmluZSBOIEJPT1NUX1BQX0lURVJBVElPTigpCisjICAgICBpZiBOID4gMAorICAgIHRlbXBsYXRlPCBCT09TVF9QUF9FTlVNX1BBUkFNUyhOLCB0eXBlbmFtZSBUKSA+CisjICAgICBlbmRpZgorICAgIGlubGluZSByZXN1bHRfdHlwZSBvcGVyYXRvcigpKEJPT1NUX1BQX0VOVU1fQklOQVJZX1BBUkFNUyhOLFQsJiBhKSkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiByZXN1bHRfdHlwZShCT09TVF9QUF9FTlVNX1BBUkFNUyhOLGEpKTsKKyAgICB9CisjICAgICB1bmRlZiBOCisKKyMgICBlbmRpZiAvLyBkZWZpbmVkKEJPT1NUX1BQX0lTX0lURVJBVElORykKKworI2VuZGlmIC8vIGluY2x1ZGUgZ3VhcmQKKwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvZ2V0X3BvaW50ZXIuaHBwIGIvbmRuYm9vc3QvZ2V0X3BvaW50ZXIuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI0ZWE2YzcKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9nZXRfcG9pbnRlci5ocHAKQEAgLTAsMCArMSw0OCBAQAorLy8gQ29weXJpZ2h0IFBldGVyIERpbW92IGFuZCBEYXZpZCBBYnJhaGFtcyAyMDAyLgorLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAoU2VlCisvLyBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorI2lmbmRlZiBHRVRfUE9JTlRFUl9EV0EyMDAyMTIxOV9IUFAKKyNkZWZpbmUgR0VUX1BPSU5URVJfRFdBMjAwMjEyMTlfSFBQCisKKyNpbmNsdWRlIDxuZG5ib29zdC9jb25maWcuaHBwPgorCisvLyBJbiBvcmRlciB0byBhdm9pZCBjaXJjdWxhciBkZXBlbmRlbmNpZXMgd2l0aCBCb29zdC5UUjEKKy8vIHdlIG1ha2Ugc3VyZSB0aGF0IG91ciBpbmNsdWRlIG9mIDxtZW1vcnk+IGRvZXNuJ3QgdHJ5IHRvCisvLyBwdWxsIGluIHRoZSBUUjEgaGVhZGVyczogdGhhdCdzIHdoeSB3ZSB1c2UgdGhpcyBoZWFkZXIgCisvLyByYXRoZXIgdGhhbiBpbmNsdWRpbmcgPG1lbW9yeT4gZGlyZWN0bHk6CisjaW5jbHVkZSA8bmRuYm9vc3QvY29uZmlnL25vX3RyMS9tZW1vcnkuaHBwPiAgLy8gc3RkOjphdXRvX3B0cgorCituYW1lc3BhY2UgbmRuYm9vc3QgeyAKKworLy8gZ2V0X3BvaW50ZXIocCkgZXh0cmFjdHMgYSAtPiogY2FwYWJsZSBwb2ludGVyIGZyb20gcAorCit0ZW1wbGF0ZTxjbGFzcyBUPiBUICogZ2V0X3BvaW50ZXIoVCAqIHApCit7CisgICAgcmV0dXJuIHA7Cit9CisKKy8vIGdldF9wb2ludGVyKHNoYXJlZF9wdHI8VD4gY29uc3QgJiBwKSBoYXMgYmVlbiBtb3ZlZCB0byBzaGFyZWRfcHRyLmhwcAorCit0ZW1wbGF0ZTxjbGFzcyBUPiBUICogZ2V0X3BvaW50ZXIoc3RkOjphdXRvX3B0cjxUPiBjb25zdCYgcCkKK3sKKyAgICByZXR1cm4gcC5nZXQoKTsKK30KKworI2lmICFkZWZpbmVkKCBCT09TVF9OT19DWFgxMV9TTUFSVF9QVFIgKQorCit0ZW1wbGF0ZTxjbGFzcyBUPiBUICogZ2V0X3BvaW50ZXIoIHN0ZDo6dW5pcXVlX3B0cjxUPiBjb25zdCYgcCApCit7CisgICAgcmV0dXJuIHAuZ2V0KCk7Cit9CisKK3RlbXBsYXRlPGNsYXNzIFQ+IFQgKiBnZXRfcG9pbnRlciggc3RkOjpzaGFyZWRfcHRyPFQ+IGNvbnN0JiBwICkKK3sKKyAgICByZXR1cm4gcC5nZXQoKTsKK30KKworI2VuZGlmCisKK30gLy8gbmFtZXNwYWNlIG5kbmJvb3N0CisKKyNlbmRpZiAvLyBHRVRfUE9JTlRFUl9EV0EyMDAyMTIxOV9IUFAKZGlmZiAtLWdpdCBhL25kbmJvb3N0L2ludGVnZXIuaHBwIGIvbmRuYm9vc3QvaW50ZWdlci5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjY5MmJjYQotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L2ludGVnZXIuaHBwCkBAIC0wLDAgKzEsMjYxIEBACisvLyAgYm9vc3QgaW50ZWdlci5ocHAgaGVhZGVyIGZpbGUgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0vLworCisvLyAgQ29weXJpZ2h0IEJlbWFuIERhd2VzIGFuZCBEYXJ5bGUgV2Fsa2VyIDE5OTkuICBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QKKy8vICBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZQorLy8gIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKworLy8gIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL2ludGVnZXIgZm9yIGRvY3VtZW50YXRpb24uCisKKy8vICBSZXZpc2lvbiBIaXN0b3J5CisvLyAgIDIyIFNlcCAwMSAgQWRkZWQgdmFsdWUtYmFzZWQgaW50ZWdlciB0ZW1wbGF0ZXMuIChEYXJ5bGUgV2Fsa2VyKQorLy8gICAwMSBBcHIgMDEgIE1vZGlmaWVkIHRvIHVzZSBuZXcgPG5kbmJvb3N0L2xpbWl0cy5ocHA+IGhlYWRlci4gKEpvaG4gTWFkZG9jaykKKy8vICAgMzAgSnVsIDAwICBBZGQgdHlwZW5hbWUgc3ludGF4IGZpeCAoSmVucyBNYXVyZXIpCisvLyAgIDI4IEF1ZyA5OSAgSW5pdGlhbCB2ZXJzaW9uCisKKyNpZm5kZWYgQk9PU1RfSU5URUdFUl9IUFAKKyNkZWZpbmUgQk9PU1RfSU5URUdFUl9IUFAKKworI2luY2x1ZGUgPG5kbmJvb3N0L2ludGVnZXJfZndkLmhwcD4gIC8vIHNlbGYgaW5jbHVkZQorCisjaW5jbHVkZSA8bmRuYm9vc3QvaW50ZWdlcl90cmFpdHMuaHBwPiAgLy8gZm9yIG5kbmJvb3N0Ojo6Om5kbmJvb3N0OjppbnRlZ2VyX3RyYWl0cworI2luY2x1ZGUgPG5kbmJvb3N0L2xpbWl0cy5ocHA+ICAgICAgICAgIC8vIGZvciA6OnN0ZDo6bnVtZXJpY19saW1pdHMKKyNpbmNsdWRlIDxuZG5ib29zdC9jc3RkaW50LmhwcD4gICAgICAgICAvLyBmb3IgbmRuYm9vc3Q6OmludDY0X3QgYW5kIEJPT1NUX05PX0lOVEVHUkFMX0lOVDY0X1QKKyNpbmNsdWRlIDxuZG5ib29zdC9zdGF0aWNfYXNzZXJ0LmhwcD4KKworLy8KKy8vIFdlIHNpbXBseSBjYW5ub3QgaW5jbHVkZSB0aGlzIGhlYWRlciBvbiBnY2Mgd2l0aG91dCBnZXR0aW5nIGNvcGlvdXMgd2FybmluZ3Mgb2YgdGhlIGtpbmQ6CisvLworLy8gYm9vc3QvaW50ZWdlci5ocHA6Nzc6MzA6IHdhcm5pbmc6IHVzZSBvZiBDOTkgbG9uZyBsb25nIGludGVnZXIgY29uc3RhbnQKKy8vCisvLyBBbmQgeWV0IHRoZXJlIGlzIG5vIG90aGVyIHJlYXNvbmFibGUgaW1wbGVtZW50YXRpb24sIHNvIHdlIGRlY2xhcmUgdGhpcyBhIHN5c3RlbSBoZWFkZXIKKy8vIHRvIHN1cHByZXNzIHRoZXNlIHdhcm5pbmdzLgorLy8KKyNpZiBkZWZpbmVkKF9fR05VQ19fKSAmJiAoX19HTlVDX18gPj0gNCkKKyNwcmFnbWEgR0NDIHN5c3RlbV9oZWFkZXIKKyNlbmRpZgorCituYW1lc3BhY2UgbmRuYm9vc3QKK3sKKworICAvLyAgSGVscGVyIHRlbXBsYXRlcyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLy8KKworICAvLyAgZmFzdCBpbnRlZ2VycyBmcm9tIGxlYXN0IGludGVnZXJzCisgIC8vICBpbnRfZmFzdF90PD4gd29ya3MgY29ycmVjdGx5IGZvciB1bnNpZ25lZCB0b28sIGluIHNwaXRlIG9mIHRoZSBuYW1lLgorICB0ZW1wbGF0ZTwgdHlwZW5hbWUgTGVhc3RJbnQgPgorICBzdHJ1Y3QgaW50X2Zhc3RfdCAKKyAgeyAKKyAgICAgdHlwZWRlZiBMZWFzdEludCBmYXN0OyAKKyAgICAgdHlwZWRlZiBmYXN0ICAgICB0eXBlOworICB9OyAvLyBpbXBzIG1heSBzcGVjaWFsaXplCisKKyAgbmFtZXNwYWNlIGRldGFpbHsKKworICAvLyAgY29udmVydCBjYXRlZ29yeSB0byB0eXBlIAorICB0ZW1wbGF0ZTwgaW50IENhdGVnb3J5ID4gc3RydWN0IGludF9sZWFzdF9oZWxwZXIge307IC8vIGRlZmF1bHQgaXMgZW1wdHkKKyAgdGVtcGxhdGU8IGludCBDYXRlZ29yeSA+IHN0cnVjdCB1aW50X2xlYXN0X2hlbHBlciB7fTsgLy8gZGVmYXVsdCBpcyBlbXB0eQorCisgIC8vICBzcGVjaWFsaXphdG9uczogMT1sb25nLCAyPWludCwgMz1zaG9ydCwgND1zaWduZWQgY2hhciwKKyAgLy8gICAgIDY9dW5zaWduZWQgbG9uZywgNz11bnNpZ25lZCBpbnQsIDg9dW5zaWduZWQgc2hvcnQsIDk9dW5zaWduZWQgY2hhcgorICAvLyAgbm8gc3BlY2lhbGl6YXRpb25zIGZvciAwIGFuZCA1OiByZXF1ZXN0cyBmb3IgYSB0eXBlID4gbG9uZyBhcmUgaW4gZXJyb3IKKyNpZmRlZiBCT09TVF9IQVNfTE9OR19MT05HCisgIHRlbXBsYXRlPD4gc3RydWN0IGludF9sZWFzdF9oZWxwZXI8MT4geyB0eXBlZGVmIG5kbmJvb3N0Ojpsb25nX2xvbmdfdHlwZSBsZWFzdDsgfTsKKyNlbGlmIGRlZmluZWQoQk9PU1RfSEFTX01TX0lOVDY0KQorICB0ZW1wbGF0ZTw+IHN0cnVjdCBpbnRfbGVhc3RfaGVscGVyPDE+IHsgdHlwZWRlZiBfX2ludDY0IGxlYXN0OyB9OworI2VuZGlmCisgIHRlbXBsYXRlPD4gc3RydWN0IGludF9sZWFzdF9oZWxwZXI8Mj4geyB0eXBlZGVmIGxvbmcgbGVhc3Q7IH07CisgIHRlbXBsYXRlPD4gc3RydWN0IGludF9sZWFzdF9oZWxwZXI8Mz4geyB0eXBlZGVmIGludCBsZWFzdDsgfTsKKyAgdGVtcGxhdGU8PiBzdHJ1Y3QgaW50X2xlYXN0X2hlbHBlcjw0PiB7IHR5cGVkZWYgc2hvcnQgbGVhc3Q7IH07CisgIHRlbXBsYXRlPD4gc3RydWN0IGludF9sZWFzdF9oZWxwZXI8NT4geyB0eXBlZGVmIHNpZ25lZCBjaGFyIGxlYXN0OyB9OworI2lmZGVmIEJPT1NUX0hBU19MT05HX0xPTkcKKyAgdGVtcGxhdGU8PiBzdHJ1Y3QgdWludF9sZWFzdF9oZWxwZXI8MT4geyB0eXBlZGVmIG5kbmJvb3N0Ojp1bG9uZ19sb25nX3R5cGUgbGVhc3Q7IH07CisjZWxpZiBkZWZpbmVkKEJPT1NUX0hBU19NU19JTlQ2NCkKKyAgdGVtcGxhdGU8PiBzdHJ1Y3QgdWludF9sZWFzdF9oZWxwZXI8MT4geyB0eXBlZGVmIHVuc2lnbmVkIF9faW50NjQgbGVhc3Q7IH07CisjZW5kaWYKKyAgdGVtcGxhdGU8PiBzdHJ1Y3QgdWludF9sZWFzdF9oZWxwZXI8Mj4geyB0eXBlZGVmIHVuc2lnbmVkIGxvbmcgbGVhc3Q7IH07CisgIHRlbXBsYXRlPD4gc3RydWN0IHVpbnRfbGVhc3RfaGVscGVyPDM+IHsgdHlwZWRlZiB1bnNpZ25lZCBpbnQgbGVhc3Q7IH07CisgIHRlbXBsYXRlPD4gc3RydWN0IHVpbnRfbGVhc3RfaGVscGVyPDQ+IHsgdHlwZWRlZiB1bnNpZ25lZCBzaG9ydCBsZWFzdDsgfTsKKyAgdGVtcGxhdGU8PiBzdHJ1Y3QgdWludF9sZWFzdF9oZWxwZXI8NT4geyB0eXBlZGVmIHVuc2lnbmVkIGNoYXIgbGVhc3Q7IH07CisKKyAgdGVtcGxhdGUgPGludCBCaXRzPgorICBzdHJ1Y3QgZXhhY3Rfc2lnbmVkX2Jhc2VfaGVscGVye307CisgIHRlbXBsYXRlIDxpbnQgQml0cz4KKyAgc3RydWN0IGV4YWN0X3Vuc2lnbmVkX2Jhc2VfaGVscGVye307CisKKyAgdGVtcGxhdGUgPD4gc3RydWN0IGV4YWN0X3NpZ25lZF9iYXNlX2hlbHBlcjxzaXplb2Yoc2lnbmVkIGNoYXIpKiBDSEFSX0JJVD4geyB0eXBlZGVmIHNpZ25lZCBjaGFyIGV4YWN0OyB9OworICB0ZW1wbGF0ZSA8PiBzdHJ1Y3QgZXhhY3RfdW5zaWduZWRfYmFzZV9oZWxwZXI8c2l6ZW9mKHVuc2lnbmVkIGNoYXIpKiBDSEFSX0JJVD4geyB0eXBlZGVmIHVuc2lnbmVkIGNoYXIgZXhhY3Q7IH07CisjaWYgVVNIUlRfTUFYICE9IFVDSEFSX01BWAorICB0ZW1wbGF0ZSA8PiBzdHJ1Y3QgZXhhY3Rfc2lnbmVkX2Jhc2VfaGVscGVyPHNpemVvZihzaG9ydCkqIENIQVJfQklUPiB7IHR5cGVkZWYgc2hvcnQgZXhhY3Q7IH07CisgIHRlbXBsYXRlIDw+IHN0cnVjdCBleGFjdF91bnNpZ25lZF9iYXNlX2hlbHBlcjxzaXplb2YodW5zaWduZWQgc2hvcnQpKiBDSEFSX0JJVD4geyB0eXBlZGVmIHVuc2lnbmVkIHNob3J0IGV4YWN0OyB9OworI2VuZGlmCisjaWYgVUlOVF9NQVggIT0gVVNIUlRfTUFYCisgIHRlbXBsYXRlIDw+IHN0cnVjdCBleGFjdF9zaWduZWRfYmFzZV9oZWxwZXI8c2l6ZW9mKGludCkqIENIQVJfQklUPiB7IHR5cGVkZWYgaW50IGV4YWN0OyB9OworICB0ZW1wbGF0ZSA8PiBzdHJ1Y3QgZXhhY3RfdW5zaWduZWRfYmFzZV9oZWxwZXI8c2l6ZW9mKHVuc2lnbmVkIGludCkqIENIQVJfQklUPiB7IHR5cGVkZWYgdW5zaWduZWQgaW50IGV4YWN0OyB9OworI2VuZGlmCisjaWYgVUxPTkdfTUFYICE9IFVJTlRfTUFYCisgIHRlbXBsYXRlIDw+IHN0cnVjdCBleGFjdF9zaWduZWRfYmFzZV9oZWxwZXI8c2l6ZW9mKGxvbmcpKiBDSEFSX0JJVD4geyB0eXBlZGVmIGxvbmcgZXhhY3Q7IH07CisgIHRlbXBsYXRlIDw+IHN0cnVjdCBleGFjdF91bnNpZ25lZF9iYXNlX2hlbHBlcjxzaXplb2YodW5zaWduZWQgbG9uZykqIENIQVJfQklUPiB7IHR5cGVkZWYgdW5zaWduZWQgbG9uZyBleGFjdDsgfTsKKyNlbmRpZgorI2lmIGRlZmluZWQoQk9PU1RfSEFTX0xPTkdfTE9ORykgJiZcCisgICAoKGRlZmluZWQoVUxMT05HX01BWCkgJiYgKFVMTE9OR19NQVggIT0gVUxPTkdfTUFYKSkgfHxcCisgICAgKGRlZmluZWQoVUxPTkdfTE9OR19NQVgpICYmIChVTE9OR19MT05HX01BWCAhPSBVTE9OR19NQVgpKSB8fFwKKyAgICAoZGVmaW5lZChVTE9OR0xPTkdfTUFYKSAmJiAoVUxPTkdMT05HX01BWCAhPSBVTE9OR19NQVgpKSB8fFwKKyAgICAoZGVmaW5lZChfVUxMT05HX01BWCkgJiYgKF9VTExPTkdfTUFYICE9IFVMT05HX01BWCkpKQorICB0ZW1wbGF0ZSA8PiBzdHJ1Y3QgZXhhY3Rfc2lnbmVkX2Jhc2VfaGVscGVyPHNpemVvZihuZG5ib29zdDo6bG9uZ19sb25nX3R5cGUpKiBDSEFSX0JJVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojpsb25nX2xvbmdfdHlwZSBleGFjdDsgfTsKKyAgdGVtcGxhdGUgPD4gc3RydWN0IGV4YWN0X3Vuc2lnbmVkX2Jhc2VfaGVscGVyPHNpemVvZihuZG5ib29zdDo6dWxvbmdfbG9uZ190eXBlKSogQ0hBUl9CSVQ+IHsgdHlwZWRlZiBuZG5ib29zdDo6dWxvbmdfbG9uZ190eXBlIGV4YWN0OyB9OworI2VuZGlmCisKKworICB9IC8vIG5hbWVzcGFjZSBkZXRhaWwKKworICAvLyAgaW50ZWdlciB0ZW1wbGF0ZXMgc3BlY2lmeWluZyBudW1iZXIgb2YgYml0cyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLy8KKworICAvLyAgc2lnbmVkCisgIHRlbXBsYXRlPCBpbnQgQml0cyA+ICAgLy8gYml0cyAoaW5jbHVkaW5nIHNpZ24pIHJlcXVpcmVkCisgIHN0cnVjdCBpbnRfdCA6IHB1YmxpYyBkZXRhaWw6OmV4YWN0X3NpZ25lZF9iYXNlX2hlbHBlcjxCaXRzPgorICB7CisgICAgICBCT09TVF9TVEFUSUNfQVNTRVJUX01TRyhCaXRzIDw9IChpbnQpKHNpemVvZihuZG5ib29zdDo6aW50bWF4X3QpICogQ0hBUl9CSVQpLAorICAgICAgICAgIk5vIHN1aXRhYmxlIHNpZ25lZCBpbnRlZ2VyIHR5cGUgd2l0aCB0aGUgcmVxdWVzdGVkIG51bWJlciBvZiBiaXRzIGlzIGF2YWlsYWJsZS4iKTsKKyAgICAgIHR5cGVkZWYgdHlwZW5hbWUgZGV0YWlsOjppbnRfbGVhc3RfaGVscGVyCisgICAgICAgIDwKKyNpZmRlZiBCT09TVF9IQVNfTE9OR19MT05HCisgICAgICAgICAgKEJpdHMgPD0gKGludCkoc2l6ZW9mKG5kbmJvb3N0Ojpsb25nX2xvbmdfdHlwZSkgKiBDSEFSX0JJVCkpICsKKyNlbHNlCisgICAgICAgICAgIDEgKworI2VuZGlmCisgICAgICAgICAgKEJpdHMtMSA8PSA6OnN0ZDo6bnVtZXJpY19saW1pdHM8bG9uZz46OmRpZ2l0cykgKworICAgICAgICAgIChCaXRzLTEgPD0gOjpzdGQ6Om51bWVyaWNfbGltaXRzPGludD46OmRpZ2l0cykgKworICAgICAgICAgIChCaXRzLTEgPD0gOjpzdGQ6Om51bWVyaWNfbGltaXRzPHNob3J0Pjo6ZGlnaXRzKSArCisgICAgICAgICAgKEJpdHMtMSA8PSA6OnN0ZDo6bnVtZXJpY19saW1pdHM8c2lnbmVkIGNoYXI+OjpkaWdpdHMpCisgICAgICAgID46OmxlYXN0ICBsZWFzdDsKKyAgICAgIHR5cGVkZWYgdHlwZW5hbWUgaW50X2Zhc3RfdDxsZWFzdD46OnR5cGUgIGZhc3Q7CisgIH07CisKKyAgLy8gIHVuc2lnbmVkCisgIHRlbXBsYXRlPCBpbnQgQml0cyA+ICAgLy8gYml0cyByZXF1aXJlZAorICBzdHJ1Y3QgdWludF90IDogcHVibGljIGRldGFpbDo6ZXhhY3RfdW5zaWduZWRfYmFzZV9oZWxwZXI8Qml0cz4KKyAgeworICAgICBCT09TVF9TVEFUSUNfQVNTRVJUX01TRyhCaXRzIDw9IChpbnQpKHNpemVvZihuZG5ib29zdDo6dWludG1heF90KSAqIENIQVJfQklUKSwKKyAgICAgICAgICJObyBzdWl0YWJsZSB1bnNpZ25lZCBpbnRlZ2VyIHR5cGUgd2l0aCB0aGUgcmVxdWVzdGVkIG51bWJlciBvZiBiaXRzIGlzIGF2YWlsYWJsZS4iKTsKKyNpZiAoZGVmaW5lZChfX0JPUkxBTkRDX18pIHx8IGRlZmluZWQoX19DT0RFR0VBUl9fKSkgJiYgZGVmaW5lZChCT09TVF9OT19JTlRFR1JBTF9JTlQ2NF9UKQorICAgICAvLyBJdCdzIHJlYWxseSBub3QgY2xlYXIgd2h5IHRoaXMgd29ya2Fyb3VuZCBzaG91bGQgYmUgbmVlZGVkLi4uIHNocnVnIEkgZ3Vlc3MhICBKTQorICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCBzID0gCisgICAgICAgICAgIDYgKworICAgICAgICAgIChCaXRzIDw9IDo6c3RkOjpudW1lcmljX2xpbWl0czx1bnNpZ25lZCBsb25nPjo6ZGlnaXRzKSArCisgICAgICAgICAgKEJpdHMgPD0gOjpzdGQ6Om51bWVyaWNfbGltaXRzPHVuc2lnbmVkIGludD46OmRpZ2l0cykgKworICAgICAgICAgIChCaXRzIDw9IDo6c3RkOjpudW1lcmljX2xpbWl0czx1bnNpZ25lZCBzaG9ydD46OmRpZ2l0cykgKworICAgICAgICAgIChCaXRzIDw9IDo6c3RkOjpudW1lcmljX2xpbWl0czx1bnNpZ25lZCBjaGFyPjo6ZGlnaXRzKSk7CisgICAgIHR5cGVkZWYgdHlwZW5hbWUgZGV0YWlsOjppbnRfbGVhc3RfaGVscGVyPCA6Om5kbmJvb3N0Ojp1aW50X3Q8Qml0cz46OnM+OjpsZWFzdCBsZWFzdDsKKyNlbHNlCisgICAgICB0eXBlZGVmIHR5cGVuYW1lIGRldGFpbDo6dWludF9sZWFzdF9oZWxwZXIKKyAgICAgICAgPCAKKyNpZmRlZiBCT09TVF9IQVNfTE9OR19MT05HCisgICAgICAgICAgKEJpdHMgPD0gKGludCkoc2l6ZW9mKG5kbmJvb3N0Ojpsb25nX2xvbmdfdHlwZSkgKiBDSEFSX0JJVCkpICsKKyNlbHNlCisgICAgICAgICAgIDEgKworI2VuZGlmCisgICAgICAgICAgKEJpdHMgPD0gOjpzdGQ6Om51bWVyaWNfbGltaXRzPHVuc2lnbmVkIGxvbmc+OjpkaWdpdHMpICsKKyAgICAgICAgICAoQml0cyA8PSA6OnN0ZDo6bnVtZXJpY19saW1pdHM8dW5zaWduZWQgaW50Pjo6ZGlnaXRzKSArCisgICAgICAgICAgKEJpdHMgPD0gOjpzdGQ6Om51bWVyaWNfbGltaXRzPHVuc2lnbmVkIHNob3J0Pjo6ZGlnaXRzKSArCisgICAgICAgICAgKEJpdHMgPD0gOjpzdGQ6Om51bWVyaWNfbGltaXRzPHVuc2lnbmVkIGNoYXI+OjpkaWdpdHMpCisgICAgICAgID46OmxlYXN0ICBsZWFzdDsKKyNlbmRpZgorICAgICAgdHlwZWRlZiB0eXBlbmFtZSBpbnRfZmFzdF90PGxlYXN0Pjo6dHlwZSAgZmFzdDsKKyAgICAgIC8vIGludF9mYXN0X3Q8PiB3b3JrcyBjb3JyZWN0bHkgZm9yIHVuc2lnbmVkIHRvbywgaW4gc3BpdGUgb2YgdGhlIG5hbWUuCisgIH07CisKKyAgLy8gIGludGVnZXIgdGVtcGxhdGVzIHNwZWNpZnlpbmcgZXh0cmVtZSB2YWx1ZSAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS8vCisKKyAgLy8gIHNpZ25lZAorI2lmICFkZWZpbmVkKEJPT1NUX05PX0lOVEVHUkFMX0lOVDY0X1QpICYmIGRlZmluZWQoQk9PU1RfSEFTX0xPTkdfTE9ORykKKyAgdGVtcGxhdGU8IG5kbmJvb3N0Ojpsb25nX2xvbmdfdHlwZSBNYXhWYWx1ZSA+ICAgLy8gbWF4aW11bSB2YWx1ZSB0byByZXF1aXJlIHN1cHBvcnQKKyNlbHNlCisgIHRlbXBsYXRlPCBsb25nIE1heFZhbHVlID4gICAvLyBtYXhpbXVtIHZhbHVlIHRvIHJlcXVpcmUgc3VwcG9ydAorI2VuZGlmCisgIHN0cnVjdCBpbnRfbWF4X3ZhbHVlX3QgCisgIHsKKyAgICAgIHR5cGVkZWYgdHlwZW5hbWUgZGV0YWlsOjppbnRfbGVhc3RfaGVscGVyCisgICAgICAgIDwKKyNpZiAhZGVmaW5lZChCT09TVF9OT19JTlRFR1JBTF9JTlQ2NF9UKSAmJiBkZWZpbmVkKEJPT1NUX0hBU19MT05HX0xPTkcpCisgICAgICAgICAgKE1heFZhbHVlIDw9IDo6bmRuYm9vc3Q6OmludGVnZXJfdHJhaXRzPG5kbmJvb3N0Ojpsb25nX2xvbmdfdHlwZT46OmNvbnN0X21heCkgKworI2Vsc2UKKyAgICAgICAgICAgMSArCisjZW5kaWYKKyAgICAgICAgICAoTWF4VmFsdWUgPD0gOjpuZG5ib29zdDo6aW50ZWdlcl90cmFpdHM8bG9uZz46OmNvbnN0X21heCkgKworICAgICAgICAgIChNYXhWYWx1ZSA8PSA6Om5kbmJvb3N0OjppbnRlZ2VyX3RyYWl0czxpbnQ+Ojpjb25zdF9tYXgpICsKKyAgICAgICAgICAoTWF4VmFsdWUgPD0gOjpuZG5ib29zdDo6aW50ZWdlcl90cmFpdHM8c2hvcnQ+Ojpjb25zdF9tYXgpICsKKyAgICAgICAgICAoTWF4VmFsdWUgPD0gOjpuZG5ib29zdDo6aW50ZWdlcl90cmFpdHM8c2lnbmVkIGNoYXI+Ojpjb25zdF9tYXgpCisgICAgICAgID46OmxlYXN0ICBsZWFzdDsKKyAgICAgIHR5cGVkZWYgdHlwZW5hbWUgaW50X2Zhc3RfdDxsZWFzdD46OnR5cGUgIGZhc3Q7CisgIH07CisKKyNpZiAhZGVmaW5lZChCT09TVF9OT19JTlRFR1JBTF9JTlQ2NF9UKSAmJiBkZWZpbmVkKEJPT1NUX0hBU19MT05HX0xPTkcpCisgIHRlbXBsYXRlPCBuZG5ib29zdDo6bG9uZ19sb25nX3R5cGUgTWluVmFsdWUgPiAgIC8vIG1pbmltdW0gdmFsdWUgdG8gcmVxdWlyZSBzdXBwb3J0CisjZWxzZQorICB0ZW1wbGF0ZTwgbG9uZyBNaW5WYWx1ZSA+ICAgLy8gbWluaW11bSB2YWx1ZSB0byByZXF1aXJlIHN1cHBvcnQKKyNlbmRpZgorICBzdHJ1Y3QgaW50X21pbl92YWx1ZV90IAorICB7CisgICAgICB0eXBlZGVmIHR5cGVuYW1lIGRldGFpbDo6aW50X2xlYXN0X2hlbHBlcgorICAgICAgICA8CisjaWYgIWRlZmluZWQoQk9PU1RfTk9fSU5URUdSQUxfSU5UNjRfVCkgJiYgZGVmaW5lZChCT09TVF9IQVNfTE9OR19MT05HKQorICAgICAgICAgIChNaW5WYWx1ZSA+PSA6Om5kbmJvb3N0OjppbnRlZ2VyX3RyYWl0czxuZG5ib29zdDo6bG9uZ19sb25nX3R5cGU+Ojpjb25zdF9taW4pICsKKyNlbHNlCisgICAgICAgICAgIDEgKworI2VuZGlmCisgICAgICAgICAgKE1pblZhbHVlID49IDo6bmRuYm9vc3Q6OmludGVnZXJfdHJhaXRzPGxvbmc+Ojpjb25zdF9taW4pICsKKyAgICAgICAgICAoTWluVmFsdWUgPj0gOjpuZG5ib29zdDo6aW50ZWdlcl90cmFpdHM8aW50Pjo6Y29uc3RfbWluKSArCisgICAgICAgICAgKE1pblZhbHVlID49IDo6bmRuYm9vc3Q6OmludGVnZXJfdHJhaXRzPHNob3J0Pjo6Y29uc3RfbWluKSArCisgICAgICAgICAgKE1pblZhbHVlID49IDo6bmRuYm9vc3Q6OmludGVnZXJfdHJhaXRzPHNpZ25lZCBjaGFyPjo6Y29uc3RfbWluKQorICAgICAgICA+OjpsZWFzdCAgbGVhc3Q7CisgICAgICB0eXBlZGVmIHR5cGVuYW1lIGludF9mYXN0X3Q8bGVhc3Q+Ojp0eXBlICBmYXN0OworICB9OworCisgIC8vICB1bnNpZ25lZAorI2lmICFkZWZpbmVkKEJPT1NUX05PX0lOVEVHUkFMX0lOVDY0X1QpICYmIGRlZmluZWQoQk9PU1RfSEFTX0xPTkdfTE9ORykKKyAgdGVtcGxhdGU8IG5kbmJvb3N0Ojp1bG9uZ19sb25nX3R5cGUgTWF4VmFsdWUgPiAgIC8vIG1pbmltdW0gdmFsdWUgdG8gcmVxdWlyZSBzdXBwb3J0CisjZWxzZQorICB0ZW1wbGF0ZTwgdW5zaWduZWQgbG9uZyBNYXhWYWx1ZSA+ICAgLy8gbWluaW11bSB2YWx1ZSB0byByZXF1aXJlIHN1cHBvcnQKKyNlbmRpZgorICBzdHJ1Y3QgdWludF92YWx1ZV90IAorICB7CisjaWYgKGRlZmluZWQoX19CT1JMQU5EQ19fKSB8fCBkZWZpbmVkKF9fQ09ERUdFQVJfXykpCisgICAgIC8vIEl0J3MgcmVhbGx5IG5vdCBjbGVhciB3aHkgdGhpcyB3b3JrYXJvdW5kIHNob3VsZCBiZSBuZWVkZWQuLi4gc2hydWcgSSBndWVzcyEgIEpNCisjaWYgZGVmaW5lZChCT09TVF9OT19JTlRFR1JBTF9JTlQ2NF9UKQorICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKHVuc2lnbmVkLCB3aGljaCA9IAorICAgICAgICAgICAxICsKKyAgICAgICAgICAoTWF4VmFsdWUgPD0gOjpuZG5ib29zdDo6aW50ZWdlcl90cmFpdHM8dW5zaWduZWQgbG9uZz46OmNvbnN0X21heCkgKworICAgICAgICAgIChNYXhWYWx1ZSA8PSA6Om5kbmJvb3N0OjppbnRlZ2VyX3RyYWl0czx1bnNpZ25lZCBpbnQ+Ojpjb25zdF9tYXgpICsKKyAgICAgICAgICAoTWF4VmFsdWUgPD0gOjpuZG5ib29zdDo6aW50ZWdlcl90cmFpdHM8dW5zaWduZWQgc2hvcnQ+Ojpjb25zdF9tYXgpICsKKyAgICAgICAgICAoTWF4VmFsdWUgPD0gOjpuZG5ib29zdDo6aW50ZWdlcl90cmFpdHM8dW5zaWduZWQgY2hhcj46OmNvbnN0X21heCkpOworICAgICAgdHlwZWRlZiB0eXBlbmFtZSBkZXRhaWw6OmludF9sZWFzdF9oZWxwZXI8IDo6bmRuYm9vc3Q6OnVpbnRfdmFsdWVfdDxNYXhWYWx1ZT46OndoaWNoPjo6bGVhc3QgbGVhc3Q7CisjZWxzZSAvLyBCT09TVF9OT19JTlRFR1JBTF9JTlQ2NF9UCisgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQodW5zaWduZWQsIHdoaWNoID0gCisgICAgICAgICAgIDEgKworICAgICAgICAgIChNYXhWYWx1ZSA8PSA6Om5kbmJvb3N0OjppbnRlZ2VyX3RyYWl0czxuZG5ib29zdDo6dWxvbmdfbG9uZ190eXBlPjo6Y29uc3RfbWF4KSArCisgICAgICAgICAgKE1heFZhbHVlIDw9IDo6bmRuYm9vc3Q6OmludGVnZXJfdHJhaXRzPHVuc2lnbmVkIGxvbmc+Ojpjb25zdF9tYXgpICsKKyAgICAgICAgICAoTWF4VmFsdWUgPD0gOjpuZG5ib29zdDo6aW50ZWdlcl90cmFpdHM8dW5zaWduZWQgaW50Pjo6Y29uc3RfbWF4KSArCisgICAgICAgICAgKE1heFZhbHVlIDw9IDo6bmRuYm9vc3Q6OmludGVnZXJfdHJhaXRzPHVuc2lnbmVkIHNob3J0Pjo6Y29uc3RfbWF4KSArCisgICAgICAgICAgKE1heFZhbHVlIDw9IDo6bmRuYm9vc3Q6OmludGVnZXJfdHJhaXRzPHVuc2lnbmVkIGNoYXI+Ojpjb25zdF9tYXgpKTsKKyAgICAgIHR5cGVkZWYgdHlwZW5hbWUgZGV0YWlsOjp1aW50X2xlYXN0X2hlbHBlcjwgOjpuZG5ib29zdDo6dWludF92YWx1ZV90PE1heFZhbHVlPjo6d2hpY2g+OjpsZWFzdCBsZWFzdDsKKyNlbmRpZiAvLyBCT09TVF9OT19JTlRFR1JBTF9JTlQ2NF9UCisjZWxzZQorICAgICAgdHlwZWRlZiB0eXBlbmFtZSBkZXRhaWw6OnVpbnRfbGVhc3RfaGVscGVyCisgICAgICAgIDwgCisjaWYgIWRlZmluZWQoQk9PU1RfTk9fSU5URUdSQUxfSU5UNjRfVCkgJiYgZGVmaW5lZChCT09TVF9IQVNfTE9OR19MT05HKQorICAgICAgICAgIChNYXhWYWx1ZSA8PSA6Om5kbmJvb3N0OjppbnRlZ2VyX3RyYWl0czxuZG5ib29zdDo6dWxvbmdfbG9uZ190eXBlPjo6Y29uc3RfbWF4KSArCisjZWxzZQorICAgICAgICAgICAxICsKKyNlbmRpZgorICAgICAgICAgIChNYXhWYWx1ZSA8PSA6Om5kbmJvb3N0OjppbnRlZ2VyX3RyYWl0czx1bnNpZ25lZCBsb25nPjo6Y29uc3RfbWF4KSArCisgICAgICAgICAgKE1heFZhbHVlIDw9IDo6bmRuYm9vc3Q6OmludGVnZXJfdHJhaXRzPHVuc2lnbmVkIGludD46OmNvbnN0X21heCkgKworICAgICAgICAgIChNYXhWYWx1ZSA8PSA6Om5kbmJvb3N0OjppbnRlZ2VyX3RyYWl0czx1bnNpZ25lZCBzaG9ydD46OmNvbnN0X21heCkgKworICAgICAgICAgIChNYXhWYWx1ZSA8PSA6Om5kbmJvb3N0OjppbnRlZ2VyX3RyYWl0czx1bnNpZ25lZCBjaGFyPjo6Y29uc3RfbWF4KQorICAgICAgICA+OjpsZWFzdCAgbGVhc3Q7CisjZW5kaWYKKyAgICAgIHR5cGVkZWYgdHlwZW5hbWUgaW50X2Zhc3RfdDxsZWFzdD46OnR5cGUgIGZhc3Q7CisgIH07CisKKworfSAvLyBuYW1lc3BhY2UgbmRuYm9vc3QKKworI2VuZGlmICAvLyBCT09TVF9JTlRFR0VSX0hQUApkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvaW50ZWdlci9zdGF0aWNfbG9nMi5ocHAgYi9uZG5ib29zdC9pbnRlZ2VyL3N0YXRpY19sb2cyLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZjg5MGY4Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvaW50ZWdlci9zdGF0aWNfbG9nMi5ocHAKQEAgLTAsMCArMSwxMjcgQEAKKy8vIC0tLS0tLS0tLS0tLS0tIEJvb3N0IHN0YXRpY19sb2cyLmhwcCBoZWFkZXIgZmlsZSAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gLy8KKy8vCisvLyAgICAgICAgICAgICAgICAgQ29weXJpZ2h0IChDKSAyMDAxIERhcnlsZSBXYWxrZXIuCisvLyAgICAgICAgICAgICAgICAgQ29weXJpZ2h0IChDKSAyMDAzIFZlc2EgS2Fydm9uZW4uCisvLyAgICAgICAgICAgICAgICAgQ29weXJpZ2h0IChDKSAyMDAzIEdlbm5hcm8gUHJvdGEuCisvLworLy8gICAgIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4KKy8vICAgICAgICAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0CisvLyAgICAgICAgICAgICAgaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKy8vICAgICAgICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisvLyAgICAgICBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvbGlicy9pbnRlZ2VyIGZvciBkb2N1bWVudGF0aW9uLgorLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAvLworCisKKyNpZm5kZWYgQk9PU1RfSU5URUdFUl9TVEFUSUNfTE9HMl9IUFAKKyNkZWZpbmUgQk9PU1RfSU5URUdFUl9TVEFUSUNfTE9HMl9IUFAKKworI2luY2x1ZGUgIm5kbmJvb3N0L2ludGVnZXJfZndkLmhwcCIgLy8gZm9yIG5kbmJvb3N0OjppbnRtYXhfdAorCituYW1lc3BhY2UgbmRuYm9vc3QgeworCisgbmFtZXNwYWNlIGRldGFpbCB7CisKKyAgICAgbmFtZXNwYWNlIHN0YXRpY19sb2cyX2ltcGwgeworCisgICAgIC8vIGNob29zZV9pbml0aWFsX248PgorICAgICAvLworICAgICAvLyBSZWN1cnNpdmVseSBkb3VibGVzIGl0cyBpbnRlZ2VyIGFyZ3VtZW50LCB1bnRpbCBpdAorICAgICAvLyBiZWNvbWVzID49IG9mIHRoZSAid2lkdGgiIChDOTksIDYuMi42LjJwNCkgb2YKKyAgICAgLy8gc3RhdGljX2xvZzJfYXJndW1lbnRfdHlwZS4KKyAgICAgLy8KKyAgICAgLy8gVXNlZCB0byBnZXQgdGhlIG1heGltdW0gcG93ZXIgb2YgdHdvIGxlc3MgdGhlbiB0aGUgd2lkdGguCisgICAgIC8vCisgICAgIC8vIEV4YW1wbGU6IGlmIG9uIHlvdXIgcGxhdGZvcm0gYXJndW1lbnRfdHlwZSBoYXMgNDggdmFsdWUKKyAgICAgLy8gICAgICAgICAgYml0cyBpdCB5aWVsZHMgbj0zMi4KKyAgICAgLy8KKyAgICAgLy8gSXQncyBlYXN5IHRvIHByb3ZlIHRoYXQsIHN0YXJ0aW5nIGZyb20gc3VjaCBhIHZhbHVlCisgICAgIC8vIG9mIG4sIHRoZSBjb3JlIGFsZ29yaXRobSB3b3JrcyBjb3JyZWN0bHkgZm9yIGFueSB3aWR0aAorICAgICAvLyBvZiBzdGF0aWNfbG9nMl9hcmd1bWVudF90eXBlIGFuZCB0aGF0IHJlY3Vyc2lvbiBhbHdheXMKKyAgICAgLy8gdGVybWluYXRlcyB3aXRoIHggPSAxIGFuZCBuID0gMCAoc2VlIHRoZSBhbGdvcml0aG0ncworICAgICAvLyBpbnZhcmlhbnQpLgorCisgICAgIHR5cGVkZWYgbmRuYm9vc3Q6OnN0YXRpY19sb2cyX2FyZ3VtZW50X3R5cGUgYXJndW1lbnRfdHlwZTsKKyAgICAgdHlwZWRlZiBuZG5ib29zdDo6c3RhdGljX2xvZzJfcmVzdWx0X3R5cGUgcmVzdWx0X3R5cGU7CisKKyAgICAgdGVtcGxhdGUgPHJlc3VsdF90eXBlIG4+CisgICAgIHN0cnVjdCBjaG9vc2VfaW5pdGlhbF9uIHsKKworICAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGJvb2wsIGMgPSAoYXJndW1lbnRfdHlwZSgxKSA8PCBuIDw8IG4pICE9IDApOworICAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKAorICAgICAgICAgICAgIHJlc3VsdF90eXBlLAorICAgICAgICAgICAgIHZhbHVlID0gIWMqbiArIGNob29zZV9pbml0aWFsX248MipjKm4+Ojp2YWx1ZQorICAgICAgICAgKTsKKworICAgICB9OworCisgICAgIHRlbXBsYXRlIDw+CisgICAgIHN0cnVjdCBjaG9vc2VfaW5pdGlhbF9uPDA+IHsKKyAgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChyZXN1bHRfdHlwZSwgdmFsdWUgPSAwKTsKKyAgICAgfTsKKworCisKKyAgICAgLy8gc3RhcnQgY29tcHV0aW5nIGZyb20gbl96ZXJvIC0gbXVzdCBiZSBhIHBvd2VyIG9mIHR3bworICAgICBjb25zdCByZXN1bHRfdHlwZSBuX3plcm8gPSAxNjsKKyAgICAgY29uc3QgcmVzdWx0X3R5cGUgaW5pdGlhbF9uID0gY2hvb3NlX2luaXRpYWxfbjxuX3plcm8+Ojp2YWx1ZTsKKworICAgICAvLyBzdGF0aWNfbG9nMl9pbXBsPD4KKyAgICAgLy8KKyAgICAgLy8gKiBJbnZhcmlhbnQ6CisgICAgIC8vICAgICAgICAgICAgICAgICAybgorICAgICAvLyAgMSA8PSB4ICYmIHggPCAyICAgIGF0IHRoZSBzdGFydCBvZiBlYWNoIHJlY3Vyc2lvbgorICAgICAvLyAgICAgICAgICAgICAgICAgICAgIChzZWUgYWxzbyBjaG9vc2VfaW5pdGlhbF9uPD4pCisgICAgIC8vCisgICAgIC8vICogVHlwZSByZXF1aXJlbWVudHM6CisgICAgIC8vCisgICAgIC8vICAgYXJndW1lbnRfdHlwZSBtYXliZSBhbnkgdW5zaWduZWQgdHlwZSB3aXRoIGF0IGxlYXN0IG5femVybyArIDEKKyAgICAgLy8gICB2YWx1ZSBiaXRzLiAoTm90ZTogSWYgbGFyZ2VyIHR5cGVzIHdpbGwgYmUgc3RhbmRhcmRpemVkIC1lLmcuCisgICAgIC8vICAgdW5zaWduZWQgbG9uZyBsb25nLSB0aGVuIHRoZSBhcmd1bWVudF90eXBlIHR5cGVkZWYgY2FuIGJlCisgICAgIC8vICAgY2hhbmdlZCB3aXRob3V0IGFmZmVjdGluZyB0aGUgcmVzdCBvZiB0aGUgY29kZS4pCisgICAgIC8vCisKKyAgICAgdGVtcGxhdGUgPGFyZ3VtZW50X3R5cGUgeCwgcmVzdWx0X3R5cGUgbiA9IGluaXRpYWxfbj4KKyAgICAgc3RydWN0IHN0YXRpY19sb2cyX2ltcGwgeworCisgICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoYm9vbCwgYyA9ICh4ID4+IG4pID4gMCk7IC8vIHggPj0gMioqbiA/CisgICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoCisgICAgICAgICAgICAgcmVzdWx0X3R5cGUsCisgICAgICAgICAgICAgdmFsdWUgPSBjKm4gKyAoc3RhdGljX2xvZzJfaW1wbDwgKHg+PmMqbiksIG4vMiA+Ojp2YWx1ZSkKKyAgICAgICAgICk7CisKKyAgICAgfTsKKworICAgICB0ZW1wbGF0ZSA8PgorICAgICBzdHJ1Y3Qgc3RhdGljX2xvZzJfaW1wbDwxLCAwPiB7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChyZXN1bHRfdHlwZSwgdmFsdWUgPSAwKTsKKyAgICAgfTsKKworICAgICB9CisgfSAvLyBkZXRhaWwKKworCisKKyAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIC8vIHN0YXRpY19sb2cyPHg+CisgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisgdGVtcGxhdGUgPHN0YXRpY19sb2cyX2FyZ3VtZW50X3R5cGUgeD4KKyBzdHJ1Y3Qgc3RhdGljX2xvZzIgeworCisgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVCgKKyAgICAgICAgIHN0YXRpY19sb2cyX3Jlc3VsdF90eXBlLAorICAgICAgICAgdmFsdWUgPSBkZXRhaWw6OnN0YXRpY19sb2cyX2ltcGw6OnN0YXRpY19sb2cyX2ltcGw8eD46OnZhbHVlCisgICAgICk7CisKKyB9OworCisKKyB0ZW1wbGF0ZSA8PgorIHN0cnVjdCBzdGF0aWNfbG9nMjwwPiB7IH07CisKK30KKworCisKKyNlbmRpZiAvLyBpbmNsdWRlIGd1YXJkCmRpZmYgLS1naXQgYS9uZG5ib29zdC9pbnRlZ2VyX2Z3ZC5ocHAgYi9uZG5ib29zdC9pbnRlZ2VyX2Z3ZC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWM3ZGQ0YwotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L2ludGVnZXJfZndkLmhwcApAQCAtMCwwICsxLDE2NCBAQAorLy8gIEJvb3N0IGludGVnZXJfZndkLmhwcCBoZWFkZXIgZmlsZSAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLy8KKworLy8gIChDKSBDb3B5cmlnaHQgRGF2ZSBBYnJhaGFtcyBhbmQgRGFyeWxlIFdhbGtlciAyMDAxLiBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QKKy8vICBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZQorLy8gIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKworLy8gIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL2ludGVnZXIgZm9yIGRvY3VtZW50YXRpb24uCisKKyNpZm5kZWYgQk9PU1RfSU5URUdFUl9GV0RfSFBQCisjZGVmaW5lIEJPT1NUX0lOVEVHRVJfRldEX0hQUAorCisjaW5jbHVkZSA8Y2xpbWl0cz4gIC8vIGZvciBVQ0hBUl9NQVgsIGV0Yy4KKyNpbmNsdWRlIDxjc3RkZGVmPiAgLy8gZm9yIHN0ZDo6c2l6ZV90CisKKyNpbmNsdWRlIDxuZG5ib29zdC9jb25maWcuaHBwPiAgLy8gZm9yIEJPT1NUX05PX0lOVFJJTlNJQ19XQ0hBUl9UCisjaW5jbHVkZSA8bmRuYm9vc3QvbGltaXRzLmhwcD4gIC8vIGZvciBzdGQ6Om51bWVyaWNfbGltaXRzCisjaW5jbHVkZSA8bmRuYm9vc3QvY3N0ZGludC5ocHA+ICAvLyBGb3IgaW50bWF4X3QKKworCituYW1lc3BhY2UgbmRuYm9vc3QKK3sKKworI2lmZGVmIEJPT1NUX05PX0lOVEVHUkFMX0lOVDY0X1QKKyAgICAgdHlwZWRlZiB1bnNpZ25lZCBsb25nIHN0YXRpY19sb2cyX2FyZ3VtZW50X3R5cGU7CisgICAgIHR5cGVkZWYgICAgICAgICAgaW50ICBzdGF0aWNfbG9nMl9yZXN1bHRfdHlwZTsKKyAgICAgdHlwZWRlZiBsb25nICAgICAgICAgIHN0YXRpY19taW5fbWF4X3NpZ25lZF90eXBlOworICAgICB0eXBlZGVmIHVuc2lnbmVkIGxvbmcgc3RhdGljX21pbl9tYXhfdW5zaWduZWRfdHlwZTsKKyNlbHNlCisgICAgIHR5cGVkZWYgbmRuYm9vc3Q6OnVpbnRtYXhfdCBzdGF0aWNfbWluX21heF91bnNpZ25lZF90eXBlOworICAgICB0eXBlZGVmIG5kbmJvb3N0OjppbnRtYXhfdCAgc3RhdGljX21pbl9tYXhfc2lnbmVkX3R5cGU7CisgICAgIHR5cGVkZWYgbmRuYm9vc3Q6OnVpbnRtYXhfdCBzdGF0aWNfbG9nMl9hcmd1bWVudF90eXBlOworICAgICB0eXBlZGVmIGludCAgICAgICAgICAgICAgc3RhdGljX2xvZzJfcmVzdWx0X3R5cGU7CisjZW5kaWYKKworLy8gIEZyb20gPG5kbmJvb3N0L2NzdGRpbnQuaHBwPiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLy8KKworLy8gT25seSBoYXMgdHlwZWRlZnMgb3IgdXNpbmcgc3RhdGVtZW50cywgd2l0aCAjY29uZGl0aW9uYWxzCisKKworLy8gIEZyb20gPG5kbmJvb3N0L2ludGVnZXJfdHJhaXRzLmhwcD4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLy8KKwordGVtcGxhdGUgPCBjbGFzcyBUID4KKyAgICBjbGFzcyBpbnRlZ2VyX3RyYWl0czsKKwordGVtcGxhdGUgPCAgPgorICAgIGNsYXNzIGludGVnZXJfdHJhaXRzPCBib29sID47CisKK3RlbXBsYXRlIDwgID4KKyAgICBjbGFzcyBpbnRlZ2VyX3RyYWl0czwgY2hhciA+OworCit0ZW1wbGF0ZSA8ICA+CisgICAgY2xhc3MgaW50ZWdlcl90cmFpdHM8IHNpZ25lZCBjaGFyID47CisKK3RlbXBsYXRlIDwgID4KKyAgICBjbGFzcyBpbnRlZ2VyX3RyYWl0czwgdW5zaWduZWQgY2hhciA+OworCisjaWZuZGVmIEJPT1NUX05PX0lOVFJJTlNJQ19XQ0hBUl9UCit0ZW1wbGF0ZSA8ICA+CisgICAgY2xhc3MgaW50ZWdlcl90cmFpdHM8IHdjaGFyX3QgPjsKKyNlbmRpZgorCit0ZW1wbGF0ZSA8ICA+CisgICAgY2xhc3MgaW50ZWdlcl90cmFpdHM8IHNob3J0ID47CisKK3RlbXBsYXRlIDwgID4KKyAgICBjbGFzcyBpbnRlZ2VyX3RyYWl0czwgdW5zaWduZWQgc2hvcnQgPjsKKwordGVtcGxhdGUgPCAgPgorICAgIGNsYXNzIGludGVnZXJfdHJhaXRzPCBpbnQgPjsKKwordGVtcGxhdGUgPCAgPgorICAgIGNsYXNzIGludGVnZXJfdHJhaXRzPCB1bnNpZ25lZCBpbnQgPjsKKwordGVtcGxhdGUgPCAgPgorICAgIGNsYXNzIGludGVnZXJfdHJhaXRzPCBsb25nID47CisKK3RlbXBsYXRlIDwgID4KKyAgICBjbGFzcyBpbnRlZ2VyX3RyYWl0czwgdW5zaWduZWQgbG9uZyA+OworCisjaWYgIWRlZmluZWQoQk9PU1RfTk9fSU5URUdSQUxfSU5UNjRfVCkgJiYgIWRlZmluZWQoQk9PU1RfTk9fSU5UNjRfVCkgJiYgZGVmaW5lZChCT09TVF9IQVNfTE9OR19MT05HKQordGVtcGxhdGUgPCAgPgorY2xhc3MgaW50ZWdlcl90cmFpdHM8ICA6Om5kbmJvb3N0Ojpsb25nX2xvbmdfdHlwZT47CisKK3RlbXBsYXRlIDwgID4KK2NsYXNzIGludGVnZXJfdHJhaXRzPCAgOjpuZG5ib29zdDo6dWxvbmdfbG9uZ190eXBlID47CisjZWxpZiAhZGVmaW5lZChCT09TVF9OT19JTlRFR1JBTF9JTlQ2NF9UKSAmJiAhZGVmaW5lZChCT09TVF9OT19JTlQ2NF9UKSAmJiBkZWZpbmVkKEJPT1NUX0hBU19NU19JTlQ2NCkKK3RlbXBsYXRlIDwgID4KK2NsYXNzIGludGVnZXJfdHJhaXRzPF9faW50NjQ+OworCit0ZW1wbGF0ZSA8ICA+CitjbGFzcyBpbnRlZ2VyX3RyYWl0czx1bnNpZ25lZCBfX2ludDY0PjsKKyNlbmRpZgorCisKKy8vICBGcm9tIDxuZG5ib29zdC9pbnRlZ2VyLmhwcD4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS8vCisKK3RlbXBsYXRlIDwgdHlwZW5hbWUgTGVhc3RJbnQgPgorICAgIHN0cnVjdCBpbnRfZmFzdF90OworCit0ZW1wbGF0ZTwgaW50IEJpdHMgPgorICAgIHN0cnVjdCBpbnRfdDsKKwordGVtcGxhdGU8IGludCBCaXRzID4KKyAgICBzdHJ1Y3QgdWludF90OworCisjaWYgIWRlZmluZWQoQk9PU1RfTk9fSU5URUdSQUxfSU5UNjRfVCkgJiYgZGVmaW5lZChCT09TVF9IQVNfTE9OR19MT05HKQorICAgIHRlbXBsYXRlPCBuZG5ib29zdDo6bG9uZ19sb25nX3R5cGUgTWF4VmFsdWUgPiAgIC8vIG1heGltdW0gdmFsdWUgdG8gcmVxdWlyZSBzdXBwb3J0CisjZWxzZQorICB0ZW1wbGF0ZTwgbG9uZyBNYXhWYWx1ZSA+ICAgLy8gbWF4aW11bSB2YWx1ZSB0byByZXF1aXJlIHN1cHBvcnQKKyNlbmRpZgorICAgIHN0cnVjdCBpbnRfbWF4X3ZhbHVlX3Q7CisKKyNpZiAhZGVmaW5lZChCT09TVF9OT19JTlRFR1JBTF9JTlQ2NF9UKSAmJiBkZWZpbmVkKEJPT1NUX0hBU19MT05HX0xPTkcpCisgIHRlbXBsYXRlPCBuZG5ib29zdDo6bG9uZ19sb25nX3R5cGUgTWluVmFsdWUgPiAgIC8vIG1pbmltdW0gdmFsdWUgdG8gcmVxdWlyZSBzdXBwb3J0CisjZWxzZQorICB0ZW1wbGF0ZTwgbG9uZyBNaW5WYWx1ZSA+ICAgLy8gbWluaW11bSB2YWx1ZSB0byByZXF1aXJlIHN1cHBvcnQKKyNlbmRpZgorICAgIHN0cnVjdCBpbnRfbWluX3ZhbHVlX3Q7CisKKyNpZiAhZGVmaW5lZChCT09TVF9OT19JTlRFR1JBTF9JTlQ2NF9UKSAmJiBkZWZpbmVkKEJPT1NUX0hBU19MT05HX0xPTkcpCisgIHRlbXBsYXRlPCBuZG5ib29zdDo6dWxvbmdfbG9uZ190eXBlIE1heFZhbHVlID4gICAvLyBtYXhpbXVtIHZhbHVlIHRvIHJlcXVpcmUgc3VwcG9ydAorI2Vsc2UKKyAgdGVtcGxhdGU8IHVuc2lnbmVkIGxvbmcgTWF4VmFsdWUgPiAgIC8vIG1heGltdW0gdmFsdWUgdG8gcmVxdWlyZSBzdXBwb3J0CisjZW5kaWYKKyAgICBzdHJ1Y3QgdWludF92YWx1ZV90OworCisKKy8vICBGcm9tIDxuZG5ib29zdC9pbnRlZ2VyL2ludGVnZXJfbWFzay5ocHA+ICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS8vCisKK3RlbXBsYXRlIDwgc3RkOjpzaXplX3QgQml0ID4KKyAgICBzdHJ1Y3QgaGlnaF9iaXRfbWFza190OworCit0ZW1wbGF0ZSA8IHN0ZDo6c2l6ZV90IEJpdHMgPgorICAgIHN0cnVjdCBsb3dfYml0c19tYXNrX3Q7CisKK3RlbXBsYXRlIDwgID4KKyAgICBzdHJ1Y3QgbG93X2JpdHNfbWFza190PCA6OnN0ZDo6bnVtZXJpY19saW1pdHM8dW5zaWduZWQgY2hhcj46OmRpZ2l0cyA+OworCisvLyAgRnJvbSA8bmRuYm9vc3QvaW50ZWdlci9zdGF0aWNfbG9nMi5ocHA+ICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0vLworCit0ZW1wbGF0ZSA8c3RhdGljX2xvZzJfYXJndW1lbnRfdHlwZSBWYWx1ZSA+CisgICAgc3RydWN0IHN0YXRpY19sb2cyOworCit0ZW1wbGF0ZSA8PiBzdHJ1Y3Qgc3RhdGljX2xvZzI8MHU+OworCisKKy8vICBGcm9tIDxuZG5ib29zdC9pbnRlZ2VyL3N0YXRpY19taW5fbWF4LmhwcD4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS8vCisKK3RlbXBsYXRlIDxzdGF0aWNfbWluX21heF9zaWduZWRfdHlwZSBWYWx1ZTEsIHN0YXRpY19taW5fbWF4X3NpZ25lZF90eXBlIFZhbHVlMj4KKyAgICBzdHJ1Y3Qgc3RhdGljX3NpZ25lZF9taW47CisKK3RlbXBsYXRlIDxzdGF0aWNfbWluX21heF9zaWduZWRfdHlwZSBWYWx1ZTEsIHN0YXRpY19taW5fbWF4X3NpZ25lZF90eXBlIFZhbHVlMj4KKyAgICBzdHJ1Y3Qgc3RhdGljX3NpZ25lZF9tYXg7CisKK3RlbXBsYXRlIDxzdGF0aWNfbWluX21heF91bnNpZ25lZF90eXBlIFZhbHVlMSwgc3RhdGljX21pbl9tYXhfdW5zaWduZWRfdHlwZSBWYWx1ZTI+CisgICAgc3RydWN0IHN0YXRpY191bnNpZ25lZF9taW47CisKK3RlbXBsYXRlIDxzdGF0aWNfbWluX21heF91bnNpZ25lZF90eXBlIFZhbHVlMSwgc3RhdGljX21pbl9tYXhfdW5zaWduZWRfdHlwZSBWYWx1ZTI+CisgICAgc3RydWN0IHN0YXRpY191bnNpZ25lZF9tYXg7CisKK30gIC8vIG5hbWVzcGFjZSBuZG5ib29zdAorCisKKyNlbmRpZiAgLy8gQk9PU1RfSU5URUdFUl9GV0RfSFBQCmRpZmYgLS1naXQgYS9uZG5ib29zdC9pbnRlZ2VyX3RyYWl0cy5ocHAgYi9uZG5ib29zdC9pbnRlZ2VyX3RyYWl0cy5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmFiZjVkMQotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L2ludGVnZXJfdHJhaXRzLmhwcApAQCAtMCwwICsxLDI2MSBAQAorLyogYm9vc3QgaW50ZWdlcl90cmFpdHMuaHBwIGhlYWRlciBmaWxlCisgKgorICogQ29weXJpZ2h0IEplbnMgTWF1cmVyIDIwMDAKKyAqIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gKFNlZQorICogYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQKKyAqIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKyAqCisgKiAkSWQ6IGludGVnZXJfdHJhaXRzLmhwcCA4MzM4MSAyMDEzLTAzLTA5IDIyOjU1OjA1WiBlcmljX25pZWJsZXIgJAorICoKKyAqIElkZWEgYnkgQmVtYW4gRGF3ZXMsIEVkIEJyZXksIFN0ZXZlIENsZWFyeSwgYW5kIE5hdGhhbiBNeWVycworICovCisKKy8vICBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvbGlicy9pbnRlZ2VyIGZvciBkb2N1bWVudGF0aW9uLgorCisKKyNpZm5kZWYgQk9PU1RfSU5URUdFUl9UUkFJVFNfSFBQCisjZGVmaW5lIEJPT1NUX0lOVEVHRVJfVFJBSVRTX0hQUAorCisjaW5jbHVkZSA8bmRuYm9vc3QvY29uZmlnLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9saW1pdHMuaHBwPgorCisvLyBUaGVzZSBhcmUgYW4gaW1wbGVtZW50YXRpb24gZGV0YWlsIGFuZCBub3QgcGFydCBvZiB0aGUgaW50ZXJmYWNlCisjaW5jbHVkZSA8bGltaXRzLmg+CisvLyB3ZSBuZWVkIHdjaGFyLmggZm9yIFdDSEFSX01BWC9NSU4gYnV0IG5vdCBhbGwgcGxhdGZvcm1zIHByb3ZpZGUgaXQsCisvLyBhbmQgc29tZSBtYXkgaGF2ZSA8d2NoYXIuaD4gYnV0IG5vdCA8Y3djaGFyPiAuLi4KKyNpZiAhZGVmaW5lZChCT09TVF9OT19JTlRSSU5TSUNfV0NIQVJfVCkgJiYgKCFkZWZpbmVkKEJPT1NUX05PX0NXQ0hBUikgfHwgZGVmaW5lZChzdW4pIHx8IGRlZmluZWQoX19zdW4pIHx8IGRlZmluZWQoX19RTlhfXykpCisjaW5jbHVkZSA8d2NoYXIuaD4KKyNlbmRpZgorCisvLworLy8gV2Ugc2ltcGx5IGNhbm5vdCBpbmNsdWRlIHRoaXMgaGVhZGVyIG9uIGdjYyB3aXRob3V0IGdldHRpbmcgY29waW91cyB3YXJuaW5ncyBvZiB0aGUga2luZDoKKy8vCisvLyAuLi8uLi8uLi9ib29zdC9pbnRlZ2VyX3RyYWl0cy5ocHA6MTY0OjY2OiB3YXJuaW5nOiB1c2Ugb2YgQzk5IGxvbmcgbG9uZyBpbnRlZ2VyIGNvbnN0YW50CisvLworLy8gQW5kIHlldCB0aGVyZSBpcyBubyBvdGhlciByZWFzb25hYmxlIGltcGxlbWVudGF0aW9uLCBzbyB3ZSBkZWNsYXJlIHRoaXMgYSBzeXN0ZW0gaGVhZGVyCisvLyB0byBzdXBwcmVzcyB0aGVzZSB3YXJuaW5ncy4KKy8vCisjaWYgZGVmaW5lZChfX0dOVUNfXykgJiYgKF9fR05VQ19fID49IDQpCisjcHJhZ21hIEdDQyBzeXN0ZW1faGVhZGVyCisjZW5kaWYKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsKK3RlbXBsYXRlPGNsYXNzIFQ+CitjbGFzcyBpbnRlZ2VyX3RyYWl0cyA6IHB1YmxpYyBzdGQ6Om51bWVyaWNfbGltaXRzPFQ+Cit7CitwdWJsaWM6CisgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChib29sLCBpc19pbnRlZ3JhbCA9IGZhbHNlKTsKK307CisKK25hbWVzcGFjZSBkZXRhaWwgewordGVtcGxhdGU8Y2xhc3MgVCwgVCBtaW5fdmFsLCBUIG1heF92YWw+CitjbGFzcyBpbnRlZ2VyX3RyYWl0c19iYXNlCit7CitwdWJsaWM6CisgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChib29sLCBpc19pbnRlZ3JhbCA9IHRydWUpOworICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoVCwgY29uc3RfbWluID0gbWluX3ZhbCk7CisgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChULCBjb25zdF9tYXggPSBtYXhfdmFsKTsKK307CisKKyNpZm5kZWYgQk9PU1RfTk9fSU5DTEFTU19NRU1CRVJfSU5JVElBTElaQVRJT04KKy8vICBBIGRlZmluaXRpb24gaXMgcmVxdWlyZWQgZXZlbiBmb3IgaW50ZWdyYWwgc3RhdGljIGNvbnN0YW50cwordGVtcGxhdGU8Y2xhc3MgVCwgVCBtaW5fdmFsLCBUIG1heF92YWw+Citjb25zdCBib29sIGludGVnZXJfdHJhaXRzX2Jhc2U8VCwgbWluX3ZhbCwgbWF4X3ZhbD46OmlzX2ludGVncmFsOworCit0ZW1wbGF0ZTxjbGFzcyBULCBUIG1pbl92YWwsIFQgbWF4X3ZhbD4KK2NvbnN0IFQgaW50ZWdlcl90cmFpdHNfYmFzZTxULCBtaW5fdmFsLCBtYXhfdmFsPjo6Y29uc3RfbWluOworCit0ZW1wbGF0ZTxjbGFzcyBULCBUIG1pbl92YWwsIFQgbWF4X3ZhbD4KK2NvbnN0IFQgaW50ZWdlcl90cmFpdHNfYmFzZTxULCBtaW5fdmFsLCBtYXhfdmFsPjo6Y29uc3RfbWF4OworI2VuZGlmCisKK30gLy8gbmFtZXNwYWNlIGRldGFpbAorCit0ZW1wbGF0ZTw+CitjbGFzcyBpbnRlZ2VyX3RyYWl0czxib29sPgorICA6IHB1YmxpYyBzdGQ6Om51bWVyaWNfbGltaXRzPGJvb2w+LAorICAgIHB1YmxpYyBkZXRhaWw6OmludGVnZXJfdHJhaXRzX2Jhc2U8Ym9vbCwgZmFsc2UsIHRydWU+Cit7IH07CisKK3RlbXBsYXRlPD4KK2NsYXNzIGludGVnZXJfdHJhaXRzPGNoYXI+CisgIDogcHVibGljIHN0ZDo6bnVtZXJpY19saW1pdHM8Y2hhcj4sCisgICAgcHVibGljIGRldGFpbDo6aW50ZWdlcl90cmFpdHNfYmFzZTxjaGFyLCBDSEFSX01JTiwgQ0hBUl9NQVg+Cit7IH07CisKK3RlbXBsYXRlPD4KK2NsYXNzIGludGVnZXJfdHJhaXRzPHNpZ25lZCBjaGFyPgorICA6IHB1YmxpYyBzdGQ6Om51bWVyaWNfbGltaXRzPHNpZ25lZCBjaGFyPiwKKyAgICBwdWJsaWMgZGV0YWlsOjppbnRlZ2VyX3RyYWl0c19iYXNlPHNpZ25lZCBjaGFyLCBTQ0hBUl9NSU4sIFNDSEFSX01BWD4KK3sgfTsKKwordGVtcGxhdGU8PgorY2xhc3MgaW50ZWdlcl90cmFpdHM8dW5zaWduZWQgY2hhcj4KKyAgOiBwdWJsaWMgc3RkOjpudW1lcmljX2xpbWl0czx1bnNpZ25lZCBjaGFyPiwKKyAgICBwdWJsaWMgZGV0YWlsOjppbnRlZ2VyX3RyYWl0c19iYXNlPHVuc2lnbmVkIGNoYXIsIDAsIFVDSEFSX01BWD4KK3sgfTsKKworI2lmbmRlZiBCT09TVF9OT19JTlRSSU5TSUNfV0NIQVJfVAordGVtcGxhdGU8PgorY2xhc3MgaW50ZWdlcl90cmFpdHM8d2NoYXJfdD4KKyAgOiBwdWJsaWMgc3RkOjpudW1lcmljX2xpbWl0czx3Y2hhcl90PiwKKyAgICAvLyBEb24ndCB0cnVzdCBXQ0hBUl9NSU4gYW5kIFdDSEFSX01BWCB3aXRoIE1hYyBPUyBYJ3MgbmF0aXZlCisgICAgLy8gbGlicmFyeTogdGhleSBhcmUgd3JvbmchCisjaWYgZGVmaW5lZChXQ0hBUl9NSU4pICYmIGRlZmluZWQoV0NIQVJfTUFYKSAmJiAhZGVmaW5lZChfX0FQUExFX18pCisgICAgcHVibGljIGRldGFpbDo6aW50ZWdlcl90cmFpdHNfYmFzZTx3Y2hhcl90LCBXQ0hBUl9NSU4sIFdDSEFSX01BWD4KKyNlbGlmIGRlZmluZWQoX19CT1JMQU5EQ19fKSB8fCBkZWZpbmVkKF9fQ1lHV0lOX18pIHx8IGRlZmluZWQoX19NSU5HVzMyX18pIHx8IChkZWZpbmVkKF9fQkVPU19fKSAmJiBkZWZpbmVkKF9fR05VQ19fKSkKKyAgICAvLyBObyBXQ0hBUl9NSU4gYW5kIFdDSEFSX01BWCwgd2hhcl90IGlzIHNob3J0IGFuZCB1bnNpZ25lZDoKKyAgICBwdWJsaWMgZGV0YWlsOjppbnRlZ2VyX3RyYWl0c19iYXNlPHdjaGFyX3QsIDAsIDB4ZmZmZj4KKyNlbGlmIChkZWZpbmVkKF9fc2dpKSAmJiAoIWRlZmluZWQoX19TR0lfU1RMX1BPUlQpIHx8IF9fU0dJX1NUTF9QT1JUIDwgMHg0MDApKVwKKyAgICB8fCAoZGVmaW5lZCBfX0FQUExFX18pXAorICAgIHx8IChkZWZpbmVkKF9fT3BlbkJTRF9fKSAmJiBkZWZpbmVkKF9fR05VQ19fKSlcCisgICAgfHwgKGRlZmluZWQoX19OZXRCU0RfXykgJiYgZGVmaW5lZChfX0dOVUNfXykpXAorICAgIHx8IChkZWZpbmVkKF9fRnJlZUJTRF9fKSAmJiBkZWZpbmVkKF9fR05VQ19fKSlcCisgICAgfHwgKGRlZmluZWQoX19EcmFnb25GbHlfXykgJiYgZGVmaW5lZChfX0dOVUNfXykpXAorICAgIHx8IChkZWZpbmVkKF9faHB1eCkgJiYgZGVmaW5lZChfX0dOVUNfXykgJiYgKF9fR05VQ19fID09IDMpICYmICFkZWZpbmVkKF9fU0dJX1NUTF9QT1JUKSkKKyAgICAvLyBObyBXQ0hBUl9NSU4gYW5kIFdDSEFSX01BWCwgd2NoYXJfdCBoYXMgdGhlIHNhbWUgcmFuZ2UgYXMgaW50LgorICAgIC8vICAtIFNHSSBNSVBTcHJvIHdpdGggbmF0aXZlIGxpYnJhcnkKKyAgICAvLyAgLSBnY2MgMy54IG9uIEhQLVVYCisgICAgLy8gIC0gTWFjIE9TIFggd2l0aCBuYXRpdmUgbGlicmFyeQorICAgIC8vICAtIGdjYyBvbiBGcmVlQlNELCBPcGVuQlNEIGFuZCBOZXRCU0QKKyAgICBwdWJsaWMgZGV0YWlsOjppbnRlZ2VyX3RyYWl0c19iYXNlPHdjaGFyX3QsIElOVF9NSU4sIElOVF9NQVg+CisjZWxpZiBkZWZpbmVkKF9faHB1eCkgJiYgZGVmaW5lZChfX0dOVUNfXykgJiYgKF9fR05VQ19fID09IDIpICYmICFkZWZpbmVkKF9fU0dJX1NUTF9QT1JUKQorICAgIC8vIE5vIFdDSEFSX01JTiBhbmQgV0NIQVJfTUFYLCB3Y2hhcl90IGhhcyB0aGUgc2FtZSByYW5nZSBhcyB1bnNpZ25lZCBpbnQuCisgICAgLy8gIC0gZ2NjIDIuOTUueCBvbiBIUC1VWAorICAgIC8vIChhbHNvLCBzdGQ6Om51bWVyaWNfbGltaXRzPHdjaGFyX3Q+IGFwcGVhcnMgdG8gcmV0dXJuIHRoZSB3cm9uZyB2YWx1ZXMpLgorICAgIHB1YmxpYyBkZXRhaWw6OmludGVnZXJfdHJhaXRzX2Jhc2U8d2NoYXJfdCwgMCwgVUlOVF9NQVg+CisjZWxzZQorI2Vycm9yIE5vIFdDSEFSX01JTiBhbmQgV0NIQVJfTUFYIHByZXNlbnQsIHBsZWFzZSBhZGp1c3QgaW50ZWdlcl90cmFpdHM8PiBmb3IgeW91ciBjb21waWxlci4KKyNlbmRpZgoreyB9OworI2VuZGlmIC8vIEJPT1NUX05PX0lOVFJJTlNJQ19XQ0hBUl9UCisKK3RlbXBsYXRlPD4KK2NsYXNzIGludGVnZXJfdHJhaXRzPHNob3J0PgorICA6IHB1YmxpYyBzdGQ6Om51bWVyaWNfbGltaXRzPHNob3J0PiwKKyAgICBwdWJsaWMgZGV0YWlsOjppbnRlZ2VyX3RyYWl0c19iYXNlPHNob3J0LCBTSFJUX01JTiwgU0hSVF9NQVg+Cit7IH07CisKK3RlbXBsYXRlPD4KK2NsYXNzIGludGVnZXJfdHJhaXRzPHVuc2lnbmVkIHNob3J0PgorICA6IHB1YmxpYyBzdGQ6Om51bWVyaWNfbGltaXRzPHVuc2lnbmVkIHNob3J0PiwKKyAgICBwdWJsaWMgZGV0YWlsOjppbnRlZ2VyX3RyYWl0c19iYXNlPHVuc2lnbmVkIHNob3J0LCAwLCBVU0hSVF9NQVg+Cit7IH07CisKK3RlbXBsYXRlPD4KK2NsYXNzIGludGVnZXJfdHJhaXRzPGludD4KKyAgOiBwdWJsaWMgc3RkOjpudW1lcmljX2xpbWl0czxpbnQ+LAorICAgIHB1YmxpYyBkZXRhaWw6OmludGVnZXJfdHJhaXRzX2Jhc2U8aW50LCBJTlRfTUlOLCBJTlRfTUFYPgoreyB9OworCit0ZW1wbGF0ZTw+CitjbGFzcyBpbnRlZ2VyX3RyYWl0czx1bnNpZ25lZCBpbnQ+CisgIDogcHVibGljIHN0ZDo6bnVtZXJpY19saW1pdHM8dW5zaWduZWQgaW50PiwKKyAgICBwdWJsaWMgZGV0YWlsOjppbnRlZ2VyX3RyYWl0c19iYXNlPHVuc2lnbmVkIGludCwgMCwgVUlOVF9NQVg+Cit7IH07CisKK3RlbXBsYXRlPD4KK2NsYXNzIGludGVnZXJfdHJhaXRzPGxvbmc+CisgIDogcHVibGljIHN0ZDo6bnVtZXJpY19saW1pdHM8bG9uZz4sCisgICAgcHVibGljIGRldGFpbDo6aW50ZWdlcl90cmFpdHNfYmFzZTxsb25nLCBMT05HX01JTiwgTE9OR19NQVg+Cit7IH07CisKK3RlbXBsYXRlPD4KK2NsYXNzIGludGVnZXJfdHJhaXRzPHVuc2lnbmVkIGxvbmc+CisgIDogcHVibGljIHN0ZDo6bnVtZXJpY19saW1pdHM8dW5zaWduZWQgbG9uZz4sCisgICAgcHVibGljIGRldGFpbDo6aW50ZWdlcl90cmFpdHNfYmFzZTx1bnNpZ25lZCBsb25nLCAwLCBVTE9OR19NQVg+Cit7IH07CisKKyNpZiAhZGVmaW5lZChCT09TVF9OT19JTlRFR1JBTF9JTlQ2NF9UKSAmJiAhZGVmaW5lZChCT09TVF9OT19JTlQ2NF9UKQorI2lmIGRlZmluZWQoVUxMT05HX01BWCkgJiYgZGVmaW5lZChCT09TVF9IQVNfTE9OR19MT05HKQorCit0ZW1wbGF0ZTw+CitjbGFzcyBpbnRlZ2VyX3RyYWl0czwgOjpuZG5ib29zdDo6bG9uZ19sb25nX3R5cGU+CisgIDogcHVibGljIHN0ZDo6bnVtZXJpY19saW1pdHM8IDo6bmRuYm9vc3Q6OmxvbmdfbG9uZ190eXBlPiwKKyAgICBwdWJsaWMgZGV0YWlsOjppbnRlZ2VyX3RyYWl0c19iYXNlPCA6Om5kbmJvb3N0Ojpsb25nX2xvbmdfdHlwZSwgTExPTkdfTUlOLCBMTE9OR19NQVg+Cit7IH07CisKK3RlbXBsYXRlPD4KK2NsYXNzIGludGVnZXJfdHJhaXRzPCA6Om5kbmJvb3N0Ojp1bG9uZ19sb25nX3R5cGU+CisgIDogcHVibGljIHN0ZDo6bnVtZXJpY19saW1pdHM8IDo6bmRuYm9vc3Q6OnVsb25nX2xvbmdfdHlwZT4sCisgICAgcHVibGljIGRldGFpbDo6aW50ZWdlcl90cmFpdHNfYmFzZTwgOjpuZG5ib29zdDo6dWxvbmdfbG9uZ190eXBlLCAwLCBVTExPTkdfTUFYPgoreyB9OworCisjZWxpZiBkZWZpbmVkKFVMT05HX0xPTkdfTUFYKSAmJiBkZWZpbmVkKEJPT1NUX0hBU19MT05HX0xPTkcpCisKK3RlbXBsYXRlPD4KK2NsYXNzIGludGVnZXJfdHJhaXRzPCA6Om5kbmJvb3N0Ojpsb25nX2xvbmdfdHlwZT4gIDogcHVibGljIHN0ZDo6bnVtZXJpY19saW1pdHM8IDo6bmRuYm9vc3Q6OmxvbmdfbG9uZ190eXBlPiwgICAgcHVibGljIGRldGFpbDo6aW50ZWdlcl90cmFpdHNfYmFzZTwgOjpuZG5ib29zdDo6bG9uZ19sb25nX3R5cGUsIExPTkdfTE9OR19NSU4sIExPTkdfTE9OR19NQVg+eyB9OwordGVtcGxhdGU8PgorY2xhc3MgaW50ZWdlcl90cmFpdHM8IDo6bmRuYm9vc3Q6OnVsb25nX2xvbmdfdHlwZT4KKyAgOiBwdWJsaWMgc3RkOjpudW1lcmljX2xpbWl0czwgOjpuZG5ib29zdDo6dWxvbmdfbG9uZ190eXBlPiwKKyAgICBwdWJsaWMgZGV0YWlsOjppbnRlZ2VyX3RyYWl0c19iYXNlPCA6Om5kbmJvb3N0Ojp1bG9uZ19sb25nX3R5cGUsIDAsIFVMT05HX0xPTkdfTUFYPgoreyB9OworCisjZWxpZiBkZWZpbmVkKFVMT05HTE9OR19NQVgpICYmIGRlZmluZWQoQk9PU1RfSEFTX0xPTkdfTE9ORykKKwordGVtcGxhdGU8PgorY2xhc3MgaW50ZWdlcl90cmFpdHM8IDo6bmRuYm9vc3Q6OmxvbmdfbG9uZ190eXBlPgorICA6IHB1YmxpYyBzdGQ6Om51bWVyaWNfbGltaXRzPCA6Om5kbmJvb3N0Ojpsb25nX2xvbmdfdHlwZT4sCisgICAgcHVibGljIGRldGFpbDo6aW50ZWdlcl90cmFpdHNfYmFzZTwgOjpuZG5ib29zdDo6bG9uZ19sb25nX3R5cGUsIExPTkdMT05HX01JTiwgTE9OR0xPTkdfTUFYPgoreyB9OworCit0ZW1wbGF0ZTw+CitjbGFzcyBpbnRlZ2VyX3RyYWl0czwgOjpuZG5ib29zdDo6dWxvbmdfbG9uZ190eXBlPgorICA6IHB1YmxpYyBzdGQ6Om51bWVyaWNfbGltaXRzPCA6Om5kbmJvb3N0Ojp1bG9uZ19sb25nX3R5cGU+LAorICAgIHB1YmxpYyBkZXRhaWw6OmludGVnZXJfdHJhaXRzX2Jhc2U8IDo6bmRuYm9vc3Q6OnVsb25nX2xvbmdfdHlwZSwgMCwgVUxPTkdMT05HX01BWD4KK3sgfTsKKworI2VsaWYgZGVmaW5lZChfTExPTkdfTUFYKSAmJiBkZWZpbmVkKF9DMikgJiYgZGVmaW5lZChCT09TVF9IQVNfTE9OR19MT05HKQorCit0ZW1wbGF0ZTw+CitjbGFzcyBpbnRlZ2VyX3RyYWl0czwgOjpuZG5ib29zdDo6bG9uZ19sb25nX3R5cGU+CisgIDogcHVibGljIHN0ZDo6bnVtZXJpY19saW1pdHM8IDo6bmRuYm9vc3Q6OmxvbmdfbG9uZ190eXBlPiwKKyAgICBwdWJsaWMgZGV0YWlsOjppbnRlZ2VyX3RyYWl0c19iYXNlPCA6Om5kbmJvb3N0Ojpsb25nX2xvbmdfdHlwZSwgLV9MTE9OR19NQVggLSBfQzIsIF9MTE9OR19NQVg+Cit7IH07CisKK3RlbXBsYXRlPD4KK2NsYXNzIGludGVnZXJfdHJhaXRzPCA6Om5kbmJvb3N0Ojp1bG9uZ19sb25nX3R5cGU+CisgIDogcHVibGljIHN0ZDo6bnVtZXJpY19saW1pdHM8IDo6bmRuYm9vc3Q6OnVsb25nX2xvbmdfdHlwZT4sCisgICAgcHVibGljIGRldGFpbDo6aW50ZWdlcl90cmFpdHNfYmFzZTwgOjpuZG5ib29zdDo6dWxvbmdfbG9uZ190eXBlLCAwLCBfVUxMT05HX01BWD4KK3sgfTsKKworI2VsaWYgZGVmaW5lZChCT09TVF9IQVNfTE9OR19MT05HKQorLy8KKy8vIHdlIGhhdmUgbG9uZyBsb25nIGJ1dCBubyBjb25zdGFudHMsIHRoaXMgaGFwcGVucyBmb3IgZXhhbXBsZSB3aXRoIGdjYyBpbiAtYW5zaSBtb2RlLAorLy8gd2UnbGwganVzdCBoYXZlIHRvIHdvcmsgb3V0IHRoZSB2YWx1ZXMgZm9yIG91cnNlbHZlcyAoYXNzdW1lcyAyJ3MgY29tcGxpbWVudCByZXByZXNlbnRhdGlvbik6CisvLwordGVtcGxhdGU8PgorY2xhc3MgaW50ZWdlcl90cmFpdHM8IDo6bmRuYm9vc3Q6OmxvbmdfbG9uZ190eXBlPgorICA6IHB1YmxpYyBzdGQ6Om51bWVyaWNfbGltaXRzPCA6Om5kbmJvb3N0Ojpsb25nX2xvbmdfdHlwZT4sCisgICAgcHVibGljIGRldGFpbDo6aW50ZWdlcl90cmFpdHNfYmFzZTwgOjpuZG5ib29zdDo6bG9uZ19sb25nX3R5cGUsICgxTEwgPDwgKHNpemVvZig6Om5kbmJvb3N0Ojpsb25nX2xvbmdfdHlwZSkgKiBDSEFSX0JJVCAtIDEpKSwgfigxTEwgPDwgKHNpemVvZig6Om5kbmJvb3N0Ojpsb25nX2xvbmdfdHlwZSkgKiBDSEFSX0JJVCAtIDEpKT4KK3sgfTsKKwordGVtcGxhdGU8PgorY2xhc3MgaW50ZWdlcl90cmFpdHM8IDo6bmRuYm9vc3Q6OnVsb25nX2xvbmdfdHlwZT4KKyAgOiBwdWJsaWMgc3RkOjpudW1lcmljX2xpbWl0czwgOjpuZG5ib29zdDo6dWxvbmdfbG9uZ190eXBlPiwKKyAgICBwdWJsaWMgZGV0YWlsOjppbnRlZ2VyX3RyYWl0c19iYXNlPCA6Om5kbmJvb3N0Ojp1bG9uZ19sb25nX3R5cGUsIDAsIH4wdUxMPgoreyB9OworCisjZWxpZiBkZWZpbmVkKEJPT1NUX0hBU19NU19JTlQ2NCkKKwordGVtcGxhdGU8PgorY2xhc3MgaW50ZWdlcl90cmFpdHM8IF9faW50NjQ+CisgIDogcHVibGljIHN0ZDo6bnVtZXJpY19saW1pdHM8IF9faW50NjQ+LAorICAgIHB1YmxpYyBkZXRhaWw6OmludGVnZXJfdHJhaXRzX2Jhc2U8IF9faW50NjQsIF9JNjRfTUlOLCBfSTY0X01BWD4KK3sgfTsKKwordGVtcGxhdGU8PgorY2xhc3MgaW50ZWdlcl90cmFpdHM8IHVuc2lnbmVkIF9faW50NjQ+CisgIDogcHVibGljIHN0ZDo6bnVtZXJpY19saW1pdHM8IHVuc2lnbmVkIF9faW50NjQ+LAorICAgIHB1YmxpYyBkZXRhaWw6OmludGVnZXJfdHJhaXRzX2Jhc2U8IHVuc2lnbmVkIF9faW50NjQsIDAsIF9VSTY0X01BWD4KK3sgfTsKKworI2VuZGlmCisjZW5kaWYKKworfSAvLyBuYW1lc3BhY2UgbmRuYm9vc3QKKworI2VuZGlmIC8qIEJPT1NUX0lOVEVHRVJfVFJBSVRTX0hQUCAqLworCisKKwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvaW50cnVzaXZlL2RldGFpbC9jb25maWdfYmVnaW4uaHBwIGIvbmRuYm9vc3QvaW50cnVzaXZlL2RldGFpbC9jb25maWdfYmVnaW4uaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUzNTBjMWMKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9pbnRydXNpdmUvZGV0YWlsL2NvbmZpZ19iZWdpbi5ocHAKQEAgLTAsMCArMSw1MiBAQAorLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKy8vCisvLyAoQykgQ29weXJpZ2h0IElvbiBHYXp0YW5hZ2EgIDIwMDYtMjAxMgorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4KKy8vICAgIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQKKy8vICAgICAgICAgIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisvLyBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvbGlicy9pbnRydXNpdmUgZm9yIGRvY3VtZW50YXRpb24uCisvLworLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKworI2lmbmRlZiBCT09TVF9JTlRSVVNJVkVfQ09ORklHX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX0lOVFJVU0lWRV9DT05GSUdfSU5DTFVERUQKKyNpbmNsdWRlIDxuZG5ib29zdC9jb25maWcuaHBwPgorI2VuZGlmCisKKyNpZmRlZiBCT09TVF9NU1ZDCisKKyAgICNwcmFnbWEgd2FybmluZyAocHVzaCkKKyAgIC8vCisgICAvLydmdW5jdGlvbicgOiByZXNvbHZlZCBvdmVybG9hZCB3YXMgZm91bmQgYnkgYXJndW1lbnQtZGVwZW5kZW50IGxvb2t1cAorICAgLy9BIGZ1bmN0aW9uIGZvdW5kIGJ5IGFyZ3VtZW50LWRlcGVuZGVudCBsb29rdXAgKEtvZW5pZyBsb29rdXApIHdhcyBldmVudHVhbGx5CisgICAvL2Nob3NlbiBieSBvdmVybG9hZCByZXNvbHV0aW9uLgorICAgLy8KKyAgIC8vSW4gVmlzdWFsIEMrKyAuTkVUIGFuZCBlYXJsaWVyIGNvbXBpbGVycywgYSBkaWZmZXJlbnQgZnVuY3Rpb24gd291bGQgaGF2ZQorICAgLy9iZWVuIGNhbGxlZC4gVG8gcGljayB0aGUgb3JpZ2luYWwgZnVuY3Rpb24sIHVzZSBhbiBleHBsaWNpdGx5IHF1YWxpZmllZCBuYW1lLgorICAgLy8KKworICAgLy93YXJuaW5nIEM0Mjc1OiBub24gZGxsLWludGVyZmFjZSBjbGFzcyAneCcgdXNlZCBhcyBiYXNlIGZvcgorICAgLy9kbGwtaW50ZXJmYWNlIGNsYXNzICdZJworICAgI3ByYWdtYSB3YXJuaW5nIChkaXNhYmxlIDogNDI3NSkKKyAgIC8vd2FybmluZyBDNDI1MTogJ3gnIDogY2xhc3MgJ3knIG5lZWRzIHRvIGhhdmUgZGxsLWludGVyZmFjZSB0bworICAgLy9iZSB1c2VkIGJ5IGNsaWVudHMgb2YgY2xhc3MgJ3onCisgICAjcHJhZ21hIHdhcm5pbmcgKGRpc2FibGUgOiA0MjUxKQorICAgI3ByYWdtYSB3YXJuaW5nIChkaXNhYmxlIDogNDY3NSkKKyAgICNwcmFnbWEgd2FybmluZyAoZGlzYWJsZSA6IDQ5OTYpCisgICAjcHJhZ21hIHdhcm5pbmcgKGRpc2FibGUgOiA0NTAzKQorICAgI3ByYWdtYSB3YXJuaW5nIChkaXNhYmxlIDogNDI4NCkgLy8gb2RkIHJldHVybiB0eXBlIGZvciBvcGVyYXRvci0+CisgICAjcHJhZ21hIHdhcm5pbmcgKGRpc2FibGUgOiA0MjQ0KSAvLyBwb3NzaWJsZSBsb3NzIG9mIGRhdGEKKyAgICNwcmFnbWEgd2FybmluZyAoZGlzYWJsZSA6IDQ1MjEpIC8vLy9EaXNhYmxlICJtdWx0aXBsZSBjb3B5IGNvbnN0cnVjdG9ycyBzcGVjaWZpZWQiCisgICAjcHJhZ21hIHdhcm5pbmcgKGRpc2FibGUgOiA0NTIyKQorICAgI3ByYWdtYSB3YXJuaW5nIChkaXNhYmxlIDogNDE0NikKKyAgICNwcmFnbWEgd2FybmluZyAoZGlzYWJsZSA6IDQyNjcpIC8vY29udmVyc2lvbiBmcm9tICdYJyB0byAnWScsIHBvc3NpYmxlIGxvc3Mgb2YgZGF0YQorICAgI3ByYWdtYSB3YXJuaW5nIChkaXNhYmxlIDogNDEyNykgLy9jb25kaXRpb25hbCBleHByZXNzaW9uIGlzIGNvbnN0YW50CisgICAjcHJhZ21hIHdhcm5pbmcgKGRpc2FibGUgOiA0NzA2KSAvL2Fzc2lnbm1lbnQgd2l0aGluIGNvbmRpdGlvbmFsIGV4cHJlc3Npb24KKyAgICNwcmFnbWEgd2FybmluZyAoZGlzYWJsZSA6IDQ1NDEpIC8vJ3R5cGVpZCcgdXNlZCBvbiBwb2x5bW9ycGhpYyB0eXBlICduZG5ib29zdDo6ZXhjZXB0aW9uJyB3aXRoIC9HUi0KKyAgICNwcmFnbWEgd2FybmluZyAoZGlzYWJsZSA6IDQ1MTIpIC8vJ3R5cGVpZCcgdXNlZCBvbiBwb2x5bW9ycGhpYyB0eXBlICduZG5ib29zdDo6ZXhjZXB0aW9uJyB3aXRoIC9HUi0KKyNlbmRpZgorCisvLyNkZWZpbmUgQk9PU1RfSU5UUlVTSVZFX1VTRV9JVEVSQVRPUl9GQUNBREUKKy8vI2RlZmluZSBCT09TVF9JTlRSVVNJVkVfVVNFX0lURVJBVE9SX0VOQUJMRV9JRl9DT05WRVJUSUJMRQpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvaW50cnVzaXZlL2RldGFpbC9jb25maWdfZW5kLmhwcCBiL25kbmJvb3N0L2ludHJ1c2l2ZS9kZXRhaWwvY29uZmlnX2VuZC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDY1MzAzMAotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L2ludHJ1c2l2ZS9kZXRhaWwvY29uZmlnX2VuZC5ocHAKQEAgLTAsMCArMSwxNSBAQAorLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKy8vCisvLyAoQykgQ29weXJpZ2h0IElvbiBHYXp0YW5hZ2EgIDIwMDYtMjAxMgorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4KKy8vICAgIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQKKy8vICAgICAgICAgIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisvLyBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvbGlicy9pbnRydXNpdmUgZm9yIGRvY3VtZW50YXRpb24uCisvLworLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKworI2lmIGRlZmluZWQgQk9PU1RfTVNWQworICAgI3ByYWdtYSB3YXJuaW5nIChwb3ApCisjZW5kaWYKZGlmZiAtLWdpdCBhL25kbmJvb3N0L2ludHJ1c2l2ZS9kZXRhaWwvaGFzX21lbWJlcl9mdW5jdGlvbl9jYWxsYWJsZV93aXRoLmhwcCBiL25kbmJvb3N0L2ludHJ1c2l2ZS9kZXRhaWwvaGFzX21lbWJlcl9mdW5jdGlvbl9jYWxsYWJsZV93aXRoLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hOWNkZmY5Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvaW50cnVzaXZlL2RldGFpbC9oYXNfbWVtYmVyX2Z1bmN0aW9uX2NhbGxhYmxlX3dpdGguaHBwCkBAIC0wLDAgKzEsMzU3IEBACisvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKy8vCisvLyAoQykgQ29weXJpZ2h0IElvbiBHYXp0YW5hZ2EgMjAxMS0yMDEyLiBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QKKy8vIFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAoU2VlIGFjY29tcGFueWluZyBmaWxlCisvLyBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworLy8gU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL2xpYnMvaW50cnVzaXZlIGZvciBkb2N1bWVudGF0aW9uLgorLy8KKy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworCisvLyBzYW1wbGUuaAorCisjaWYgIWRlZmluZWQoQk9PU1RfUFBfSVNfSVRFUkFUSU5HKQorCisgICAjaWZuZGVmIEJPT1NUX0lOVFJVU0lWRV9ERVRBSUxfSEFTX01FTUJFUl9GVU5DVElPTl9DQUxMQUJMRV9XSVRIX0RFVEFJTFNfSU5DTFVERUQKKyAgICNkZWZpbmUgQk9PU1RfSU5UUlVTSVZFX0RFVEFJTF9IQVNfTUVNQkVSX0ZVTkNUSU9OX0NBTExBQkxFX1dJVEhfREVUQUlMU19JTkNMVURFRAorCisgICAgICAjaW5jbHVkZSA8bmRuYm9vc3QvaW50cnVzaXZlL2RldGFpbC9jb25maWdfYmVnaW4uaHBwPgorICAgICAgI2luY2x1ZGUgPG5kbmJvb3N0L2ludHJ1c2l2ZS9kZXRhaWwvd29ya2Fyb3VuZC5ocHA+CisgICAgICAjaW5jbHVkZSA8bmRuYm9vc3QvaW50cnVzaXZlL2RldGFpbC9wcmVwcm9jZXNzb3IuaHBwPgorICAgICAgI2luY2x1ZGUgPG5kbmJvb3N0L2ludHJ1c2l2ZS9kZXRhaWwvbXBsLmhwcD4KKyAgICAgICNpbmNsdWRlIDxuZG5ib29zdC9zdGF0aWNfYXNzZXJ0LmhwcD4KKyAgICAgICNpbmNsdWRlIDxuZG5ib29zdC9tb3ZlL21vdmUuaHBwPgorCisgICAgICAvL01hcmsgdGhhdCB3ZSBkb24ndCBzdXBwb3J0IDAgYXJnIGNhbGxzIGR1ZSB0byBjb21waWxlciBJQ0UgaW4gR0NDIDMuNC80LjAvNC4xIGFuZAorICAgICAgLy93cm9uZyBTRklOQUUgZm9yIEdDQyA0LjIvNC4zCisgICAgICAjaWYgZGVmaW5lZChfX0dOVUNfXykgJiYgIWRlZmluZWQoX19jbGFuZ19fKSAmJiAoKF9fR05VQ19fKjEwMCArIF9fR05VQ19NSU5PUl9fKjEwKSA+PSAzNDApICYmICgoX19HTlVDX18qMTAwICsgX19HTlVDX01JTk9SX18qMTApIDw9IDQzMCkKKyAgICAgICNkZWZpbmUgQk9PU1RfSU5UUlVTSVZFX0RFVEFJTF9IQVNfTUVNQkVSX0ZVTkNUSU9OX0NBTExBQkxFX1dJVEhfMF9BUkdTX1VOU1VQUE9SVEVECisgICAgICAjZWxpZiBkZWZpbmVkKEJPT1NUX0lOVEVMKSAmJiAoQk9PU1RfSU5URUwgPCAxMjAwICkKKyAgICAgICNkZWZpbmUgQk9PU1RfSU5UUlVTSVZFX0RFVEFJTF9IQVNfTUVNQkVSX0ZVTkNUSU9OX0NBTExBQkxFX1dJVEhfMF9BUkdTX1VOU1VQUE9SVEVECisgICAgICAjZW5kaWYKKworICAgICAgbmFtZXNwYWNlIG5kbmJvb3N0X2ludHJ1c2l2ZV9oYXNfbWVtYmVyX2Z1bmN0aW9uX2NhbGxhYmxlX3dpdGggeworCisgICAgICBzdHJ1Y3QgZG9udF9jYXJlCisgICAgICB7CisgICAgICAgICBkb250X2NhcmUoLi4uKTsKKyAgICAgIH07CisKKyAgICAgIHN0cnVjdCBwcml2YXRlX3R5cGUKKyAgICAgIHsKKyAgICAgICAgIHN0YXRpYyBwcml2YXRlX3R5cGUgcDsKKyAgICAgICAgIHByaXZhdGVfdHlwZSBjb25zdCAmb3BlcmF0b3IsKGludCkgY29uc3Q7CisgICAgICB9OworCisgICAgICB0eXBlZGVmIGNoYXIgeWVzX3R5cGU7ICAgICAgICAgICAgLy8gc2l6ZW9mKHllc190eXBlKSA9PSAxCisgICAgICBzdHJ1Y3Qgbm9fdHlwZXsgY2hhciBkdW1teVsyXTsgfTsgLy8gc2l6ZW9mKG5vX3R5cGUpICA9PSAyCisKKyAgICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+CisgICAgICBub190eXBlIGlzX3ByaXZhdGVfdHlwZShUIGNvbnN0ICYpOworICAgICAgeWVzX3R5cGUgaXNfcHJpdmF0ZV90eXBlKHByaXZhdGVfdHlwZSBjb25zdCAmKTsKKworICAgICAgfSAgLy9ib29zdF9pbnRydXNpdmVfaGFzX21lbWJlcl9mdW5jdGlvbl9jYWxsYWJsZV93aXRoCisKKyAgICAgICNpbmNsdWRlIDxuZG5ib29zdC9pbnRydXNpdmUvZGV0YWlsL2NvbmZpZ19lbmQuaHBwPgorCisgICAjZW5kaWYgICAvL0JPT1NUX0lOVFJVU0lWRV9ERVRBSUxfSEFTX01FTUJFUl9GVU5DVElPTl9DQUxMQUJMRV9XSVRIX0RFVEFJTFNfSU5DTFVERUQKKworI2Vsc2UgLy8hQk9PU1RfUFBfSVNfSVRFUkFUSU5HCisKKyAgICNpZm5kZWYgIEJPT1NUX0lOVFJVU0lWRV9IQVNfTUVNQkVSX0ZVTkNUSU9OX0NBTExBQkxFX1dJVEhfRlVOQ05BTUUKKyAgICNlcnJvciAiQk9PU1RfSU5UUlVTSVZFX0hBU19NRU1CRVJfRlVOQ1RJT05fQ0FMTEFCTEVfV0lUSF9GVU5DTkFNRSBub3QgZGVmaW5lZCEiCisgICAjZW5kaWYKKworICAgI2lmbmRlZiAgQk9PU1RfSU5UUlVTSVZFX0hBU19NRU1CRVJfRlVOQ1RJT05fQ0FMTEFCTEVfV0lUSF9OU19CRUdJTgorICAgI2Vycm9yICJCT09TVF9JTlRSVVNJVkVfSEFTX01FTUJFUl9GVU5DVElPTl9DQUxMQUJMRV9XSVRIX05TX0JFR0lOIG5vdCBkZWZpbmVkISIKKyAgICNlbmRpZgorCisgICAjaWZuZGVmICBCT09TVF9JTlRSVVNJVkVfSEFTX01FTUJFUl9GVU5DVElPTl9DQUxMQUJMRV9XSVRIX05TX0VORAorICAgI2Vycm9yICJCT09TVF9JTlRSVVNJVkVfSEFTX01FTUJFUl9GVU5DVElPTl9DQUxMQUJMRV9XSVRIX05TX0VORCBub3QgZGVmaW5lZCEiCisgICAjZW5kaWYKKworICAgI2lmIEJPT1NUX1BQX0lURVJBVElPTl9TVEFSVCgpICE9IDAKKyAgICNlcnJvciAiQk9PU1RfUFBfSVRFUkFUSU9OX1NUQVJUKCkgbXVzdCBiZSB6ZXJvICgwKSIKKyAgICNlbmRpZgorCisgICAjaWYgQk9PU1RfUFBfSVRFUkFUSU9OKCkgPT0gMAorCisgICAgICBCT09TVF9JTlRSVVNJVkVfSEFTX01FTUJFUl9GVU5DVElPTl9DQUxMQUJMRV9XSVRIX05TX0JFR0lOCisKKyAgICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBUeXBlPgorICAgICAgY2xhc3MgQk9PU1RfUFBfQ0FUKGhhc19tZW1iZXJfZnVuY3Rpb25fbmFtZWRfLCBCT09TVF9JTlRSVVNJVkVfSEFTX01FTUJFUl9GVU5DVElPTl9DQUxMQUJMRV9XSVRIX0ZVTkNOQU1FKQorICAgICAgeworICAgICAgICAgc3RydWN0IEJhc2VNaXhpbgorICAgICAgICAgeworICAgICAgICAgICAgdm9pZCBCT09TVF9JTlRSVVNJVkVfSEFTX01FTUJFUl9GVU5DVElPTl9DQUxMQUJMRV9XSVRIX0ZVTkNOQU1FKCk7CisgICAgICAgICB9OworCisgICAgICAgICBzdHJ1Y3QgQmFzZSA6IHB1YmxpYyA6Om5kbmJvb3N0OjppbnRydXNpdmU6OmRldGFpbDo6cmVtb3ZlX2N2PFR5cGU+Ojp0eXBlLCBwdWJsaWMgQmFzZU1peGluIHsgQmFzZSgpOyB9OworICAgICAgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFQsIFQgdD4gY2xhc3MgSGVscGVye307CisKKyAgICAgICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBVPgorICAgICAgICAgc3RhdGljIG5kbmJvb3N0X2ludHJ1c2l2ZV9oYXNfbWVtYmVyX2Z1bmN0aW9uX2NhbGxhYmxlX3dpdGg6Om5vX3R5cGUgIGRlZHVjZQorICAgICAgICAgICAgKFUqLCBIZWxwZXI8dm9pZCAoQmFzZU1peGluOjoqKSgpLCAmVTo6Qk9PU1RfSU5UUlVTSVZFX0hBU19NRU1CRVJfRlVOQ1RJT05fQ0FMTEFCTEVfV0lUSF9GVU5DTkFNRT4qID0gMCk7CisgICAgICAgICBzdGF0aWMgbmRuYm9vc3RfaW50cnVzaXZlX2hhc19tZW1iZXJfZnVuY3Rpb25fY2FsbGFibGVfd2l0aDo6eWVzX3R5cGUgZGVkdWNlKC4uLik7CisKKyAgICAgICAgIHB1YmxpYzoKKyAgICAgICAgIHN0YXRpYyBjb25zdCBib29sIHZhbHVlID0KKyAgICAgICAgICAgIHNpemVvZihuZG5ib29zdF9pbnRydXNpdmVfaGFzX21lbWJlcl9mdW5jdGlvbl9jYWxsYWJsZV93aXRoOjp5ZXNfdHlwZSkgPT0gc2l6ZW9mKGRlZHVjZSgoQmFzZSopKDApKSk7CisgICAgICB9OworCisgICAgICAjaWYgIWRlZmluZWQoQk9PU1RfSU5UUlVTSVZFX1BFUkZFQ1RfRk9SV0FSRElORykKKworICAgICAgICAgdGVtcGxhdGU8dHlwZW5hbWUgRnVuLCBib29sIEhhc0Z1bmMKKyAgICAgICAgICAgICAgICAgIEJPT1NUX1BQX0VOVU1fVFJBSUxJTkcoQk9PU1RfUFBfSVRFUkFUSU9OX0ZJTklTSCgpLCBCT09TVF9JTlRSVVNJVkVfUFBfVEVNUExBVEVfUEFSQU1fVk9JRF9ERUZBVUxULCBfKT4KKyAgICAgICAgIHN0cnVjdCBCT09TVF9QUF9DQVQoQk9PU1RfUFBfQ0FUKGhhc19tZW1iZXJfZnVuY3Rpb25fY2FsbGFibGVfd2l0aF8sIEJPT1NUX0lOVFJVU0lWRV9IQVNfTUVNQkVSX0ZVTkNUSU9OX0NBTExBQkxFX1dJVEhfRlVOQ05BTUUpLCBfaW1wbCk7CisgICAgICAgICAvLyEKKworICAgICAgICAgdGVtcGxhdGU8dHlwZW5hbWUgRnVuIEJPT1NUX1BQX0VOVU1fVFJBSUxJTkdfUEFSQU1TKEJPT1NUX1BQX0lURVJBVElPTl9GSU5JU0goKSwgY2xhc3MgUCk+CisgICAgICAgICBzdHJ1Y3QgQk9PU1RfUFBfQ0FUKEJPT1NUX1BQX0NBVChoYXNfbWVtYmVyX2Z1bmN0aW9uX2NhbGxhYmxlX3dpdGhfLCBCT09TVF9JTlRSVVNJVkVfSEFTX01FTUJFUl9GVU5DVElPTl9DQUxMQUJMRV9XSVRIX0ZVTkNOQU1FKSwgX2ltcGwpCisgICAgICAgICAgICA8RnVuLCBmYWxzZSBCT09TVF9QUF9FTlVNX1RSQUlMSU5HX1BBUkFNUyhCT09TVF9QUF9JVEVSQVRJT05fRklOSVNIKCksIFApPgorICAgICAgICAgeworICAgICAgICAgICAgc3RhdGljIGNvbnN0IGJvb2wgdmFsdWUgPSBmYWxzZTsKKyAgICAgICAgIH07CisgICAgICAgICAvLyEKKworICAgICAgICAgI2lmICFkZWZpbmVkKF9NU0NfVkVSKSB8fCAoX01TQ19WRVIgPCAxNjAwKQorCisgICAgICAgICAgICAjaWYgZGVmaW5lZChCT09TVF9JTlRSVVNJVkVfREVUQUlMX0hBU19NRU1CRVJfRlVOQ1RJT05fQ0FMTEFCTEVfV0lUSF8wX0FSR1NfVU5TVVBQT1JURUQpCisKKyAgICAgICAgICAgIHRlbXBsYXRlPHR5cGVuYW1lIEZ1bj4KKyAgICAgICAgICAgIHN0cnVjdCBCT09TVF9QUF9DQVQoQk9PU1RfUFBfQ0FUKGhhc19tZW1iZXJfZnVuY3Rpb25fY2FsbGFibGVfd2l0aF8sIEJPT1NUX0lOVFJVU0lWRV9IQVNfTUVNQkVSX0ZVTkNUSU9OX0NBTExBQkxFX1dJVEhfRlVOQ05BTUUpLF9pbXBsKQorICAgICAgICAgICAgICAgPEZ1biwgdHJ1ZSBCT09TVF9QUF9FTlVNX1RSQUlMSU5HKEJPT1NUX1BQX1NVQihCT09TVF9QUF9JVEVSQVRJT05fRklOSVNIKCksIEJPT1NUX1BQX0lURVJBVElPTigpKSwgQk9PU1RfSU5UUlVTSVZFX1BQX0lERU5USVRZLCB2b2lkKT4KKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgIC8vTWFyayB0aGF0IHdlIGRvbid0IHN1cHBvcnQgMCBhcmcgY2FsbHMgZHVlIHRvIGNvbXBpbGVyIElDRSBpbiBHQ0MgMy40LzQuMC80LjEgYW5kCisgICAgICAgICAgICAgICAvL3dyb25nIFNGSU5BRSBmb3IgR0NDIDQuMi80LjMKKyAgICAgICAgICAgICAgIHN0YXRpYyBjb25zdCBib29sIHZhbHVlID0gdHJ1ZTsKKyAgICAgICAgICAgIH07CisKKyAgICAgICAgICAgICNlbHNlIC8vZGVmaW5lZChCT09TVF9JTlRSVVNJVkVfREVUQUlMX0hBU19NRU1CRVJfRlVOQ1RJT05fQ0FMTEFCTEVfV0lUSF8wX0FSR1NfVU5TVVBQT1JURUQpCisKKyAgICAgICAgICAgIC8vU3BlY2lhbCBjYXNlIGZvciAwIGFyZ3MKKyAgICAgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBGCisgICAgICAgICAgICAgICAgICAsIHN0ZDo6c2l6ZV90IE4gPQorICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKChuZG5ib29zdDo6bW92ZV9kZXRhaWw6OmRlY2x2YWw8Rj4oKS4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgIEJPT1NUX0lOVFJVU0lWRV9IQVNfTUVNQkVSX0ZVTkNUSU9OX0NBTExBQkxFX1dJVEhfRlVOQ05BTUUgKCksIDApKT4KKyAgICAgICAgICAgIHN0cnVjdCBCT09TVF9QUF9DQVQoemVyb2FyZ19jaGVja2VyXywgQk9PU1RfSU5UUlVTSVZFX0hBU19NRU1CRVJfRlVOQ1RJT05fQ0FMTEFCTEVfV0lUSF9GVU5DTkFNRSkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgIG5kbmJvb3N0X2ludHJ1c2l2ZV9oYXNfbWVtYmVyX2Z1bmN0aW9uX2NhbGxhYmxlX3dpdGg6Onllc190eXBlIGR1bW15OworICAgICAgICAgICAgICAgQk9PU1RfUFBfQ0FUKHplcm9hcmdfY2hlY2tlcl8sIEJPT1NUX0lOVFJVU0lWRV9IQVNfTUVNQkVSX0ZVTkNUSU9OX0NBTExBQkxFX1dJVEhfRlVOQ05BTUUpKGludCk7CisgICAgICAgICAgICB9OworCisgICAgICAgICAgICAvL0ZvciBidWdneSBjb21waWxlcnMgbGlrZSBNU1ZDIDcuMSsgKChGKikwKS0+ZnVuYygpIGRvZXMgbm90CisgICAgICAgICAgICAvL1NGSU5BRS1vdXQgdGhlIHplcm9hcmdfY2hlY2tlcl8gaW5zdGFudGlhdGlvbiBidXQgc2l6ZW9mIHlpZWxkcyB0byAwLgorICAgICAgICAgICAgdGVtcGxhdGU8Y2xhc3MgRj4KKyAgICAgICAgICAgIHN0cnVjdCBCT09TVF9QUF9DQVQoemVyb2FyZ19jaGVja2VyXywgQk9PU1RfSU5UUlVTSVZFX0hBU19NRU1CRVJfRlVOQ1RJT05fQ0FMTEFCTEVfV0lUSF9GVU5DTkFNRSk8RiwgMD4KKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgIG5kbmJvb3N0X2ludHJ1c2l2ZV9oYXNfbWVtYmVyX2Z1bmN0aW9uX2NhbGxhYmxlX3dpdGg6Om5vX3R5cGUgZHVtbXk7CisgICAgICAgICAgICAgICBCT09TVF9QUF9DQVQoemVyb2FyZ19jaGVja2VyXywgQk9PU1RfSU5UUlVTSVZFX0hBU19NRU1CRVJfRlVOQ1RJT05fQ0FMTEFCTEVfV0lUSF9GVU5DTkFNRSkoaW50KTsKKyAgICAgICAgICAgIH07CisKKyAgICAgICAgICAgIHRlbXBsYXRlPHR5cGVuYW1lIEZ1bj4KKyAgICAgICAgICAgIHN0cnVjdCBCT09TVF9QUF9DQVQoQk9PU1RfUFBfQ0FUKGhhc19tZW1iZXJfZnVuY3Rpb25fY2FsbGFibGVfd2l0aF8sIEJPT1NUX0lOVFJVU0lWRV9IQVNfTUVNQkVSX0ZVTkNUSU9OX0NBTExBQkxFX1dJVEhfRlVOQ05BTUUpLF9pbXBsKQorICAgICAgICAgICAgICAgPEZ1biwgdHJ1ZSBCT09TVF9QUF9FTlVNX1RSQUlMSU5HKEJPT1NUX1BQX1NVQihCT09TVF9QUF9JVEVSQVRJT05fRklOSVNIKCksIEJPT1NUX1BQX0lURVJBVElPTigpKSwgQk9PU1RfSU5UUlVTSVZFX1BQX0lERU5USVRZLCB2b2lkKT4KKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgIHRlbXBsYXRlPGNsYXNzIFU+CisgICAgICAgICAgICAgICBzdGF0aWMgQk9PU1RfUFBfQ0FUKHplcm9hcmdfY2hlY2tlcl8sIEJPT1NUX0lOVFJVU0lWRV9IQVNfTUVNQkVSX0ZVTkNUSU9OX0NBTExBQkxFX1dJVEhfRlVOQ05BTUUpPFU+CisgICAgICAgICAgICAgICAgICBUZXN0KEJPT1NUX1BQX0NBVCh6ZXJvYXJnX2NoZWNrZXJfLCBCT09TVF9JTlRSVVNJVkVfSEFTX01FTUJFUl9GVU5DVElPTl9DQUxMQUJMRV9XSVRIX0ZVTkNOQU1FKTxVPiopOworCisgICAgICAgICAgICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVT4KKyAgICAgICAgICAgICAgIHN0YXRpYyBuZG5ib29zdF9pbnRydXNpdmVfaGFzX21lbWJlcl9mdW5jdGlvbl9jYWxsYWJsZV93aXRoOjpub190eXBlIFRlc3QoLi4uKTsKKworICAgICAgICAgICAgICAgc3RhdGljIGNvbnN0IGJvb2wgdmFsdWUgPSBzaXplb2YoVGVzdDwgRnVuID4oMCkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9PSBzaXplb2YobmRuYm9vc3RfaW50cnVzaXZlX2hhc19tZW1iZXJfZnVuY3Rpb25fY2FsbGFibGVfd2l0aDo6eWVzX3R5cGUpOworICAgICAgICAgICAgfTsKKyAgICAgICAgICAgICNlbmRpZiAgIC8vZGVmaW5lZChCT09TVF9JTlRSVVNJVkVfREVUQUlMX0hBU19NRU1CRVJfRlVOQ1RJT05fQ0FMTEFCTEVfV0lUSF8wX0FSR1NfVU5TVVBQT1JURUQpCisKKyAgICAgICAgICNlbHNlIC8vI2lmICFkZWZpbmVkKF9NU0NfVkVSKSB8fCAoX01TQ19WRVIgPCAxNjAwKQorICAgICAgICAgICAgdGVtcGxhdGU8dHlwZW5hbWUgRnVuPgorICAgICAgICAgICAgc3RydWN0IEJPT1NUX1BQX0NBVChCT09TVF9QUF9DQVQoaGFzX21lbWJlcl9mdW5jdGlvbl9jYWxsYWJsZV93aXRoXywgQk9PU1RfSU5UUlVTSVZFX0hBU19NRU1CRVJfRlVOQ1RJT05fQ0FMTEFCTEVfV0lUSF9GVU5DTkFNRSksX2ltcGwpCisgICAgICAgICAgICAgICA8RnVuLCB0cnVlIEJPT1NUX1BQX0VOVU1fVFJBSUxJTkcoQk9PU1RfUFBfU1VCKEJPT1NUX1BQX0lURVJBVElPTl9GSU5JU0goKSwgQk9PU1RfUFBfSVRFUkFUSU9OKCkpLCBCT09TVF9JTlRSVVNJVkVfUFBfSURFTlRJVFksIHZvaWQpPgorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVT4KKyAgICAgICAgICAgICAgIHN0YXRpYyBkZWNsdHlwZSggbmRuYm9vc3Q6Om1vdmVfZGV0YWlsOjpkZWNsdmFsPEZ1bj4oKS5CT09TVF9JTlRSVVNJVkVfSEFTX01FTUJFUl9GVU5DVElPTl9DQUxMQUJMRV9XSVRIX0ZVTkNOQU1FKCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICwgbmRuYm9vc3RfaW50cnVzaXZlX2hhc19tZW1iZXJfZnVuY3Rpb25fY2FsbGFibGVfd2l0aDo6eWVzX3R5cGUoKSkKKyAgICAgICAgICAgICAgICAgIFRlc3QoRnVuKik7CisKKyAgICAgICAgICAgICAgIHRlbXBsYXRlPGNsYXNzIFU+CisgICAgICAgICAgICAgICBzdGF0aWMgbmRuYm9vc3RfaW50cnVzaXZlX2hhc19tZW1iZXJfZnVuY3Rpb25fY2FsbGFibGVfd2l0aDo6bm9fdHlwZSBUZXN0KC4uLik7CisKKyAgICAgICAgICAgICAgIHN0YXRpYyBjb25zdCBib29sIHZhbHVlID0gc2l6ZW9mKFRlc3Q8RnVuPigwKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID09IHNpemVvZihuZG5ib29zdF9pbnRydXNpdmVfaGFzX21lbWJlcl9mdW5jdGlvbl9jYWxsYWJsZV93aXRoOjp5ZXNfdHlwZSk7CisgICAgICAgICAgICB9OworICAgICAgICAgI2VuZGlmICAgLy8jaWYgIWRlZmluZWQoX01TQ19WRVIpIHx8IChfTVNDX1ZFUiA8IDE2MDApCisKKyAgICAgICNlbHNlICAgLy8jaWYgIWRlZmluZWQoQk9PU1RfSU5UUlVTSVZFX1BFUkZFQ1RfRk9SV0FSRElORykKKworICAgICAgICAgdGVtcGxhdGU8dHlwZW5hbWUgRnVuLCBib29sIEhhc0Z1bmMsIGNsYXNzIC4uLkFyZ3M+CisgICAgICAgICBzdHJ1Y3QgQk9PU1RfUFBfQ0FUKEJPT1NUX1BQX0NBVChoYXNfbWVtYmVyX2Z1bmN0aW9uX2NhbGxhYmxlX3dpdGhfLCBCT09TVF9JTlRSVVNJVkVfSEFTX01FTUJFUl9GVU5DVElPTl9DQUxMQUJMRV9XSVRIX0ZVTkNOQU1FKSxfaW1wbCk7CisKKyAgICAgICAgIHRlbXBsYXRlPHR5cGVuYW1lIEZ1biwgY2xhc3MgLi4uQXJncz4KKyAgICAgICAgIHN0cnVjdCBCT09TVF9QUF9DQVQoQk9PU1RfUFBfQ0FUKGhhc19tZW1iZXJfZnVuY3Rpb25fY2FsbGFibGVfd2l0aF8sIEJPT1NUX0lOVFJVU0lWRV9IQVNfTUVNQkVSX0ZVTkNUSU9OX0NBTExBQkxFX1dJVEhfRlVOQ05BTUUpLF9pbXBsKQorICAgICAgICAgICAgPEZ1biwgZmFsc2UsIEFyZ3MuLi4+CisgICAgICAgICB7CisgICAgICAgICAgICBzdGF0aWMgY29uc3QgYm9vbCB2YWx1ZSA9IGZhbHNlOworICAgICAgICAgfTsKKworICAgICAgICAgLy9TcGVjaWFsIGNhc2UgZm9yIDAgYXJncworICAgICAgICAgdGVtcGxhdGU8IGNsYXNzIEYKKyAgICAgICAgICAgICAgICwgc3RkOjpzaXplX3QgTiA9CisgICAgICAgICAgICAgICAgICAgICBzaXplb2YoKG5kbmJvb3N0Ojptb3ZlX2RldGFpbDo6ZGVjbHZhbDxGPigpLgorICAgICAgICAgICAgICAgICAgICAgICAgQk9PU1RfSU5UUlVTSVZFX0hBU19NRU1CRVJfRlVOQ1RJT05fQ0FMTEFCTEVfV0lUSF9GVU5DTkFNRSAoKSwgMCkpPgorICAgICAgICAgc3RydWN0IEJPT1NUX1BQX0NBVCh6ZXJvYXJnX2NoZWNrZXJfLCBCT09TVF9JTlRSVVNJVkVfSEFTX01FTUJFUl9GVU5DVElPTl9DQUxMQUJMRV9XSVRIX0ZVTkNOQU1FKQorICAgICAgICAgeworICAgICAgICAgICAgbmRuYm9vc3RfaW50cnVzaXZlX2hhc19tZW1iZXJfZnVuY3Rpb25fY2FsbGFibGVfd2l0aDo6eWVzX3R5cGUgZHVtbXk7CisgICAgICAgICAgICBCT09TVF9QUF9DQVQoemVyb2FyZ19jaGVja2VyXywgQk9PU1RfSU5UUlVTSVZFX0hBU19NRU1CRVJfRlVOQ1RJT05fQ0FMTEFCTEVfV0lUSF9GVU5DTkFNRSkoaW50KTsKKyAgICAgICAgIH07CisKKyAgICAgICAgIC8vRm9yIGJ1Z2d5IGNvbXBpbGVycyBsaWtlIE1TVkMgNy4xKyAoKEYqKTApLT5mdW5jKCkgZG9lcyBub3QKKyAgICAgICAgIC8vU0ZJTkFFLW91dCB0aGUgemVyb2FyZ19jaGVja2VyXyBpbnN0YW50aWF0aW9uIGJ1dCBzaXplb2YgeWllbGRzIHRvIDAuCisgICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBGPgorICAgICAgICAgc3RydWN0IEJPT1NUX1BQX0NBVCh6ZXJvYXJnX2NoZWNrZXJfLCBCT09TVF9JTlRSVVNJVkVfSEFTX01FTUJFUl9GVU5DVElPTl9DQUxMQUJMRV9XSVRIX0ZVTkNOQU1FKTxGLCAwPgorICAgICAgICAgeworICAgICAgICAgICAgbmRuYm9vc3RfaW50cnVzaXZlX2hhc19tZW1iZXJfZnVuY3Rpb25fY2FsbGFibGVfd2l0aDo6bm9fdHlwZSBkdW1teTsKKyAgICAgICAgICAgIEJPT1NUX1BQX0NBVCh6ZXJvYXJnX2NoZWNrZXJfLCBCT09TVF9JTlRSVVNJVkVfSEFTX01FTUJFUl9GVU5DVElPTl9DQUxMQUJMRV9XSVRIX0ZVTkNOQU1FKShpbnQpOworICAgICAgICAgfTsKKworICAgICAgICAgdGVtcGxhdGU8dHlwZW5hbWUgRnVuPgorICAgICAgICAgc3RydWN0IEJPT1NUX1BQX0NBVChCT09TVF9QUF9DQVQoaGFzX21lbWJlcl9mdW5jdGlvbl9jYWxsYWJsZV93aXRoXywgQk9PU1RfSU5UUlVTSVZFX0hBU19NRU1CRVJfRlVOQ1RJT05fQ0FMTEFCTEVfV0lUSF9GVU5DTkFNRSksX2ltcGwpCisgICAgICAgICAgICA8RnVuLCB0cnVlPgorICAgICAgICAgeworICAgICAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVT4KKyAgICAgICAgICAgIHN0YXRpYyBCT09TVF9QUF9DQVQoemVyb2FyZ19jaGVja2VyXywgQk9PU1RfSU5UUlVTSVZFX0hBU19NRU1CRVJfRlVOQ1RJT05fQ0FMTEFCTEVfV0lUSF9GVU5DTkFNRSkKKyAgICAgICAgICAgICAgIDxVPiBUZXN0KEJPT1NUX1BQX0NBVCh6ZXJvYXJnX2NoZWNrZXJfLCBCT09TVF9JTlRSVVNJVkVfSEFTX01FTUJFUl9GVU5DVElPTl9DQUxMQUJMRV9XSVRIX0ZVTkNOQU1FKTxVPiopOworCisgICAgICAgICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVT4KKyAgICAgICAgICAgIHN0YXRpYyBuZG5ib29zdF9pbnRydXNpdmVfaGFzX21lbWJlcl9mdW5jdGlvbl9jYWxsYWJsZV93aXRoOjpub190eXBlIFRlc3QoLi4uKTsKKworICAgICAgICAgICAgc3RhdGljIGNvbnN0IGJvb2wgdmFsdWUgPSBzaXplb2YoVGVzdDwgRnVuID4oMCkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9PSBzaXplb2YobmRuYm9vc3RfaW50cnVzaXZlX2hhc19tZW1iZXJfZnVuY3Rpb25fY2FsbGFibGVfd2l0aDo6eWVzX3R5cGUpOworICAgICAgICAgfTsKKworICAgICAgICAgdGVtcGxhdGU8dHlwZW5hbWUgRnVuLCBjbGFzcyAuLi5Eb250Q2FyZXM+CisgICAgICAgICBzdHJ1Y3QgQk9PU1RfUFBfQ0FUKCBmdW53cmFwXywgQk9PU1RfSU5UUlVTSVZFX0hBU19NRU1CRVJfRlVOQ1RJT05fQ0FMTEFCTEVfV0lUSF9GVU5DTkFNRSApCisgICAgICAgICAgICA6IEZ1bgorICAgICAgICAgeworICAgICAgICAgICAgQk9PU1RfUFBfQ0FUKCBmdW53cmFwXywgQk9PU1RfSU5UUlVTSVZFX0hBU19NRU1CRVJfRlVOQ1RJT05fQ0FMTEFCTEVfV0lUSF9GVU5DTkFNRSApKCk7CisgICAgICAgICAgICB1c2luZyBGdW46OkJPT1NUX0lOVFJVU0lWRV9IQVNfTUVNQkVSX0ZVTkNUSU9OX0NBTExBQkxFX1dJVEhfRlVOQ05BTUU7CisKKyAgICAgICAgICAgIG5kbmJvb3N0X2ludHJ1c2l2ZV9oYXNfbWVtYmVyX2Z1bmN0aW9uX2NhbGxhYmxlX3dpdGg6OnByaXZhdGVfdHlwZQorICAgICAgICAgICAgICAgQk9PU1RfSU5UUlVTSVZFX0hBU19NRU1CRVJfRlVOQ1RJT05fQ0FMTEFCTEVfV0lUSF9GVU5DTkFNRQorICAgICAgICAgICAgICAgICAgKCBEb250Q2FyZXMuLi4pICBjb25zdDsKKyAgICAgICAgIH07CisKKyAgICAgICAgIHRlbXBsYXRlPHR5cGVuYW1lIEZ1biwgY2xhc3MgLi4uQXJncz4KKyAgICAgICAgIHN0cnVjdCBCT09TVF9QUF9DQVQoIEJPT1NUX1BQX0NBVChoYXNfbWVtYmVyX2Z1bmN0aW9uX2NhbGxhYmxlX3dpdGhfLCBCT09TVF9JTlRSVVNJVkVfSEFTX01FTUJFUl9GVU5DVElPTl9DQUxMQUJMRV9XSVRIX0ZVTkNOQU1FKSwgX2ltcGwpCisgICAgICAgICAgICA8RnVuLCB0cnVlICwgQXJncy4uLj4KKyAgICAgICAgIHsKKyAgICAgICAgICAgIHRlbXBsYXRlPGNsYXNzIFQ+CisgICAgICAgICAgICBzdHJ1Y3QgbWFrZV9kb250Y2FyZQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgdHlwZWRlZiBuZG5ib29zdF9pbnRydXNpdmVfaGFzX21lbWJlcl9mdW5jdGlvbl9jYWxsYWJsZV93aXRoOjpkb250X2NhcmUgdHlwZTsKKyAgICAgICAgICAgIH07CisKKyAgICAgICAgICAgIHR5cGVkZWYgQk9PU1RfUFBfQ0FUKCBmdW53cmFwXywgQk9PU1RfSU5UUlVTSVZFX0hBU19NRU1CRVJfRlVOQ1RJT05fQ0FMTEFCTEVfV0lUSF9GVU5DTkFNRSApCisgICAgICAgICAgICAgICA8RnVuLCB0eXBlbmFtZSBtYWtlX2RvbnRjYXJlPEFyZ3M+Ojp0eXBlLi4uPiBGdW5XcmFwOworCisgICAgICAgICAgICBzdGF0aWMgYm9vbCBjb25zdCB2YWx1ZSA9IChzaXplb2YobmRuYm9vc3RfaW50cnVzaXZlX2hhc19tZW1iZXJfZnVuY3Rpb25fY2FsbGFibGVfd2l0aDo6bm9fdHlwZSkgPT0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVvZihuZG5ib29zdF9pbnRydXNpdmVfaGFzX21lbWJlcl9mdW5jdGlvbl9jYWxsYWJsZV93aXRoOjppc19wcml2YXRlX3R5cGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICggKDo6bmRuYm9vc3Q6Om1vdmVfZGV0YWlsOjpkZWNsdmFsPCBGdW5XcmFwID4oKS4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJPT1NUX0lOVFJVU0lWRV9IQVNfTUVNQkVSX0ZVTkNUSU9OX0NBTExBQkxFX1dJVEhfRlVOQ05BTUUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICggOjpuZG5ib29zdDo6bW92ZV9kZXRhaWw6OmRlY2x2YWw8QXJncz4oKS4uLiApLCAwKSApCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApOworICAgICAgICAgfTsKKworICAgICAgICAgdGVtcGxhdGU8dHlwZW5hbWUgRnVuLCBjbGFzcyAuLi5BcmdzPgorICAgICAgICAgc3RydWN0IEJPT1NUX1BQX0NBVCggaGFzX21lbWJlcl9mdW5jdGlvbl9jYWxsYWJsZV93aXRoXworICAgICAgICAgICAgICAgICAgICAgICAgICAgICwgQk9PU1RfSU5UUlVTSVZFX0hBU19NRU1CRVJfRlVOQ1RJT05fQ0FMTEFCTEVfV0lUSF9GVU5DTkFNRSkKKyAgICAgICAgICAgIDogcHVibGljIEJPT1NUX1BQX0NBVCggQk9PU1RfUFBfQ0FUKGhhc19tZW1iZXJfZnVuY3Rpb25fY2FsbGFibGVfd2l0aF8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICwgQk9PU1RfSU5UUlVTSVZFX0hBU19NRU1CRVJfRlVOQ1RJT05fQ0FMTEFCTEVfV0lUSF9GVU5DTkFNRSksX2ltcGwpCisgICAgICAgICAgICAgICA8IEZ1bgorICAgICAgICAgICAgICAgLCBCT09TVF9QUF9DQVQoIGhhc19tZW1iZXJfZnVuY3Rpb25fbmFtZWRfCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICwgQk9PU1RfSU5UUlVTSVZFX0hBU19NRU1CRVJfRlVOQ1RJT05fQ0FMTEFCTEVfV0lUSF9GVU5DTkFNRSApPEZ1bj46OnZhbHVlCisgICAgICAgICAgICAgICAsIEFyZ3MuLi4gPgorICAgICAgICAge307CisKKyAgICAgICNlbmRpZiAgIC8vI2lmICFkZWZpbmVkKEJPT1NUX0lOVFJVU0lWRV9QRVJGRUNUX0ZPUldBUkRJTkcpCisKKyAgICAgIEJPT1NUX0lOVFJVU0lWRV9IQVNfTUVNQkVSX0ZVTkNUSU9OX0NBTExBQkxFX1dJVEhfTlNfRU5ECisKKyAgICNlbHNlICAgLy9CT09TVF9QUF9JVEVSQVRJT04oKSA9PSAwCisKKyAgICAgICNpZiAhZGVmaW5lZChCT09TVF9JTlRSVVNJVkVfUEVSRkVDVF9GT1JXQVJESU5HKQorCisgICAgICAgICBCT09TVF9JTlRSVVNJVkVfSEFTX01FTUJFUl9GVU5DVElPTl9DQUxMQUJMRV9XSVRIX05TX0JFR0lOCisKKyAgICAgICAgIHRlbXBsYXRlPHR5cGVuYW1lIEZ1bj4KKyAgICAgICAgIHN0cnVjdCBCT09TVF9QUF9DQVQoIEJPT1NUX1BQX0NBVChmdW53cmFwLCBCT09TVF9QUF9JVEVSQVRJT04oKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICwgQk9PU1RfUFBfQ0FUKF8sIEJPT1NUX0lOVFJVU0lWRV9IQVNfTUVNQkVSX0ZVTkNUSU9OX0NBTExBQkxFX1dJVEhfRlVOQ05BTUUpKQorICAgICAgICAgICAgOiBGdW4KKyAgICAgICAgIHsKKyAgICAgICAgICAgIEJPT1NUX1BQX0NBVCggQk9PU1RfUFBfQ0FUKGZ1bndyYXAsIEJPT1NUX1BQX0lURVJBVElPTigpKQorICAgICAgICAgICAgICAgICAgICAgICAgLCBCT09TVF9QUF9DQVQoXywgQk9PU1RfSU5UUlVTSVZFX0hBU19NRU1CRVJfRlVOQ1RJT05fQ0FMTEFCTEVfV0lUSF9GVU5DTkFNRSkpKCk7CisKKyAgICAgICAgICAgIHVzaW5nIEZ1bjo6Qk9PU1RfSU5UUlVTSVZFX0hBU19NRU1CRVJfRlVOQ1RJT05fQ0FMTEFCTEVfV0lUSF9GVU5DTkFNRTsKKyAgICAgICAgICAgIG5kbmJvb3N0X2ludHJ1c2l2ZV9oYXNfbWVtYmVyX2Z1bmN0aW9uX2NhbGxhYmxlX3dpdGg6OnByaXZhdGVfdHlwZQorICAgICAgICAgICAgICAgQk9PU1RfSU5UUlVTSVZFX0hBU19NRU1CRVJfRlVOQ1RJT05fQ0FMTEFCTEVfV0lUSF9GVU5DTkFNRQorICAgICAgICAgICAgICAgICAgKCBCT09TVF9QUF9FTlVNKEJPT1NUX1BQX0lURVJBVElPTigpCisgICAgICAgICAgICAgICAgICAsIEJPT1NUX0lOVFJVU0lWRV9QUF9JREVOVElUWQorICAgICAgICAgICAgICAgICAgLCBuZG5ib29zdF9pbnRydXNpdmVfaGFzX21lbWJlcl9mdW5jdGlvbl9jYWxsYWJsZV93aXRoOjpkb250X2NhcmUpKSAgY29uc3Q7CisgICAgICAgICB9OworCisgICAgICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBGdW4gQk9PU1RfUFBfRU5VTV9UUkFJTElOR19QQVJBTVMoQk9PU1RfUFBfSVRFUkFUSU9OKCksIGNsYXNzIFApPgorICAgICAgICAgc3RydWN0IEJPT1NUX1BQX0NBVCggQk9PU1RfUFBfQ0FUKGhhc19tZW1iZXJfZnVuY3Rpb25fY2FsbGFibGVfd2l0aF8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAsIEJPT1NUX0lOVFJVU0lWRV9IQVNfTUVNQkVSX0ZVTkNUSU9OX0NBTExBQkxFX1dJVEhfRlVOQ05BTUUpLF9pbXBsKQorICAgICAgICAgICAgPEZ1biwgdHJ1ZQorICAgICAgICAgICAgQk9PU1RfUFBfRU5VTV9UUkFJTElOR19QQVJBTVMoQk9PU1RfUFBfSVRFUkFUSU9OKCksIFApCisgICAgICAgICAgICBCT09TVF9QUF9FTlVNX1RSQUlMSU5HKCBCT09TVF9QUF9TVUIoQk9PU1RfUFBfSVRFUkFUSU9OX0ZJTklTSCgpLCBCT09TVF9QUF9JVEVSQVRJT04oKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsIEJPT1NUX0lOVFJVU0lWRV9QUF9JREVOVElUWQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICwgdm9pZCk+CisgICAgICAgICB7CisgICAgICAgICAgICB0eXBlZGVmIEJPT1NUX1BQX0NBVCggQk9PU1RfUFBfQ0FUKGZ1bndyYXAsIEJPT1NUX1BQX0lURVJBVElPTigpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLCBCT09TVF9QUF9DQVQoXywgQk9PU1RfSU5UUlVTSVZFX0hBU19NRU1CRVJfRlVOQ1RJT05fQ0FMTEFCTEVfV0lUSF9GVU5DTkFNRSkpPEZ1bj4KKyAgICAgICAgICAgICAgICAgICAgIEZ1bldyYXA7CisgICAgICAgICAgICBzdGF0aWMgYm9vbCBjb25zdCB2YWx1ZSA9CisgICAgICAgICAgICAoc2l6ZW9mKG5kbmJvb3N0X2ludHJ1c2l2ZV9oYXNfbWVtYmVyX2Z1bmN0aW9uX2NhbGxhYmxlX3dpdGg6Om5vX3R5cGUpID09CisgICAgICAgICAgICAgICBzaXplb2YobmRuYm9vc3RfaW50cnVzaXZlX2hhc19tZW1iZXJfZnVuY3Rpb25fY2FsbGFibGVfd2l0aDo6aXNfcHJpdmF0ZV90eXBlCisgICAgICAgICAgICAgICAgICAgICAgICAoICAobmRuYm9vc3Q6Om1vdmVfZGV0YWlsOjpkZWNsdmFsPEZ1bldyYXA+KCkuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCT09TVF9JTlRSVVNJVkVfSEFTX01FTUJFUl9GVU5DVElPTl9DQUxMQUJMRV9XSVRIX0ZVTkNOQU1FCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoIEJPT1NUX1BQX0VOVU0oIEJPT1NUX1BQX0lURVJBVElPTigpLCBCT09TVF9JTlRSVVNJVkVfUFBfREVDTFZBTCwgXykgKSwgMAorICAgICAgICAgICAgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgKTsKKyAgICAgICAgIH07CisKKyAgICAgICAgIEJPT1NUX0lOVFJVU0lWRV9IQVNfTUVNQkVSX0ZVTkNUSU9OX0NBTExBQkxFX1dJVEhfTlNfRU5ECisgICAgICAjZW5kaWYgICAvLyNpZiAhZGVmaW5lZChCT09TVF9JTlRSVVNJVkVfUEVSRkVDVF9GT1JXQVJESU5HKQorCisgICAjZW5kaWYgICAvL0JPT1NUX1BQX0lURVJBVElPTigpID09IDAKKworICAgI2lmIEJPT1NUX1BQX0lURVJBVElPTigpID09IEJPT1NUX1BQX0lURVJBVElPTl9GSU5JU0goKQorCisgICAgICAjaWYgIWRlZmluZWQoQk9PU1RfSU5UUlVTSVZFX1BFUkZFQ1RfRk9SV0FSRElORykKKworICAgICAgICAgQk9PU1RfSU5UUlVTSVZFX0hBU19NRU1CRVJfRlVOQ1RJT05fQ0FMTEFCTEVfV0lUSF9OU19CRUdJTgorCisgICAgICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBGdW4KKyAgICAgICAgICAgICAgICAgIEJPT1NUX1BQX0VOVU1fVFJBSUxJTkcoQk9PU1RfUFBfSVRFUkFUSU9OX0ZJTklTSCgpLCBCT09TVF9JTlRSVVNJVkVfUFBfVEVNUExBVEVfUEFSQU1fVk9JRF9ERUZBVUxULCBfKT4KKyAgICAgICAgIHN0cnVjdCBCT09TVF9QUF9DQVQoaGFzX21lbWJlcl9mdW5jdGlvbl9jYWxsYWJsZV93aXRoXywgQk9PU1RfSU5UUlVTSVZFX0hBU19NRU1CRVJfRlVOQ1RJT05fQ0FMTEFCTEVfV0lUSF9GVU5DTkFNRSkKKyAgICAgICAgICAgIDogcHVibGljIEJPT1NUX1BQX0NBVChCT09TVF9QUF9DQVQoaGFzX21lbWJlcl9mdW5jdGlvbl9jYWxsYWJsZV93aXRoXywgQk9PU1RfSU5UUlVTSVZFX0hBU19NRU1CRVJfRlVOQ1RJT05fQ0FMTEFCTEVfV0lUSF9GVU5DTkFNRSksIF9pbXBsKQorICAgICAgICAgICAgICAgPEZ1biwgQk9PU1RfUFBfQ0FUKGhhc19tZW1iZXJfZnVuY3Rpb25fbmFtZWRfLCBCT09TVF9JTlRSVVNJVkVfSEFTX01FTUJFUl9GVU5DVElPTl9DQUxMQUJMRV9XSVRIX0ZVTkNOQU1FKTxGdW4+Ojp2YWx1ZQorICAgICAgICAgICAgICAgQk9PU1RfUFBfRU5VTV9UUkFJTElOR19QQVJBTVMoQk9PU1RfUFBfSVRFUkFUSU9OX0ZJTklTSCgpLCBQKSA+CisgICAgICAgICB7fTsKKworICAgICAgICAgQk9PU1RfSU5UUlVTSVZFX0hBU19NRU1CRVJfRlVOQ1RJT05fQ0FMTEFCTEVfV0lUSF9OU19FTkQKKworICAgICAgI2VuZGlmIC8vI2lmICFkZWZpbmVkKEJPT1NUX0lOVFJVU0lWRV9QRVJGRUNUX0ZPUldBUkRJTkcpCisKKyAgICAgICN1bmRlZiBCT09TVF9JTlRSVVNJVkVfSEFTX01FTUJFUl9GVU5DVElPTl9DQUxMQUJMRV9XSVRIX0ZVTkNOQU1FCisgICAgICAjdW5kZWYgQk9PU1RfSU5UUlVTSVZFX0hBU19NRU1CRVJfRlVOQ1RJT05fQ0FMTEFCTEVfV0lUSF9OU19CRUdJTgorICAgICAgI3VuZGVmIEJPT1NUX0lOVFJVU0lWRV9IQVNfTUVNQkVSX0ZVTkNUSU9OX0NBTExBQkxFX1dJVEhfTlNfRU5ECisKKyAgICNlbmRpZiAgIC8vI2lmIEJPT1NUX1BQX0lURVJBVElPTigpID09IEJPT1NUX1BQX0lURVJBVElPTl9GSU5JU0goKQorCisjZW5kaWYgICAvLyFCT09TVF9QUF9JU19JVEVSQVRJTkcKZGlmZiAtLWdpdCBhL25kbmJvb3N0L2ludHJ1c2l2ZS9kZXRhaWwvbWVtb3J5X3V0aWwuaHBwIGIvbmRuYm9vc3QvaW50cnVzaXZlL2RldGFpbC9tZW1vcnlfdXRpbC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODFjYzEwNQotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L2ludHJ1c2l2ZS9kZXRhaWwvbWVtb3J5X3V0aWwuaHBwCkBAIC0wLDAgKzEsMjg4IEBACisvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKy8vCisvLyAoQykgQ29weXJpZ2h0IFBhYmxvIEhhbHBlcm4gMjAwOS4gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0CisvLyBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZQorLy8gTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworLy8KKy8vIChDKSBDb3B5cmlnaHQgSW9uIEdhenRhbmFnYSAyMDExLTIwMTIuIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdAorLy8gU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIChTZWUgYWNjb21wYW55aW5nIGZpbGUKKy8vIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisvLyBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvbGlicy9pbnRydXNpdmUgZm9yIGRvY3VtZW50YXRpb24uCisvLworLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCisKKyNpZm5kZWYgQk9PU1RfSU5UUlVTSVZFX0FMTE9DQVRPUl9NRU1PUllfVVRJTF9IUFAKKyNkZWZpbmUgQk9PU1RfSU5UUlVTSVZFX0FMTE9DQVRPUl9NRU1PUllfVVRJTF9IUFAKKworI2lmIChkZWZpbmVkIF9NU0NfVkVSKSAmJiAoX01TQ19WRVIgPj0gMTIwMCkKKyMgIHByYWdtYSBvbmNlCisjZW5kaWYKKworI2luY2x1ZGUgPG5kbmJvb3N0L2ludHJ1c2l2ZS9kZXRhaWwvY29uZmlnX2JlZ2luLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9pbnRydXNpdmUvZGV0YWlsL3dvcmthcm91bmQuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L2ludHJ1c2l2ZS9kZXRhaWwvbXBsLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9pbnRydXNpdmUvZGV0YWlsL3ByZXByb2Nlc3Nvci5ocHA+CisKK25hbWVzcGFjZSBuZG5ib29zdCB7CituYW1lc3BhY2UgaW50cnVzaXZlIHsKK25hbWVzcGFjZSBkZXRhaWwgeworCit0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KK2lubGluZSBUKiBhZGRyZXNzb2YoVCYgb2JqKQoreworICAgcmV0dXJuIHN0YXRpY19jYXN0PFQqPgorICAgICAgKHN0YXRpY19jYXN0PHZvaWQqPgorICAgICAgICAgKGNvbnN0X2Nhc3Q8Y2hhcio+CisgICAgICAgICAgICAoJnJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgY2hhciY+KG9iaikpCisgICAgICAgICApCisgICAgICApOworfQorCit0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gc3RydWN0IHVudm9pZCB7IHR5cGVkZWYgVCB0eXBlOyB9OwordGVtcGxhdGUgPD4gc3RydWN0IHVudm9pZDx2b2lkPiB7IHN0cnVjdCB0eXBlIHsgfTsgfTsKK3RlbXBsYXRlIDw+IHN0cnVjdCB1bnZvaWQ8Y29uc3Qgdm9pZD4geyBzdHJ1Y3QgdHlwZSB7IH07IH07CisKK3RlbXBsYXRlIDx0eXBlbmFtZSBUPgorc3RydWN0IExvd1ByaW9yaXR5Q29udmVyc2lvbgoreworICAgIC8vIENvbnZlcnRpYmxlIGZyb20gVCB3aXRoIHVzZXItZGVmaW5lZC1jb252ZXJzaW9uIHJhbmsuCisgICAgTG93UHJpb3JpdHlDb252ZXJzaW9uKGNvbnN0IFQmKSB7IH0KK307CisKKy8vIEluZnJhc3RydWN0dXJlIGZvciBwcm92aWRpbmcgYSBkZWZhdWx0IHR5cGUgZm9yIFQ6OlROQU1FIGlmIGFic2VudC4KKyNkZWZpbmUgQk9PU1RfSU5UUlVTSVZFX0lOU1RBTlRJQVRFX0RFRkFVTFRfVFlQRV9UTVBMVChUTkFNRSkgICAgICAgICAgICAgIFwKKyAgIHRlbXBsYXRlIDx0eXBlbmFtZSBULCB0eXBlbmFtZSBEZWZhdWx0VHlwZT4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgIHN0cnVjdCBib29zdF9pbnRydXNpdmVfZGVmYXVsdF90eXBlXyAjIyBUTkFNRSAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBYPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgIHN0YXRpYyBjaGFyIHRlc3QoaW50LCB0eXBlbmFtZSBYOjpUTkFNRSopOyAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBYPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgIHN0YXRpYyBpbnQgdGVzdChuZG5ib29zdDo6aW50cnVzaXZlOjpkZXRhaWw6OiAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgIExvd1ByaW9yaXR5Q29udmVyc2lvbjxpbnQ+LCB2b2lkKik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgIHN0cnVjdCBEZWZhdWx0V3JhcCB7IHR5cGVkZWYgRGVmYXVsdFR5cGUgVE5BTUU7IH07ICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgIHN0YXRpYyBjb25zdCBib29sIHZhbHVlID0gKDEgPT0gc2l6ZW9mKHRlc3Q8VD4oMCwgMCkpKTsgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgIHR5cGVkZWYgdHlwZW5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgIDo6bmRuYm9vc3Q6OmludHJ1c2l2ZTo6ZGV0YWlsOjppZl9jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgIDx2YWx1ZSwgVCwgRGVmYXVsdFdyYXA+Ojp0eXBlOjpUTkFNRSB0eXBlOyAgICAgICAgICAgICAgICAgICAgIFwKKyAgIH07ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgIHRlbXBsYXRlIDx0eXBlbmFtZSBULCB0eXBlbmFtZSBEZWZhdWx0VHlwZT4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgIHN0cnVjdCBib29zdF9pbnRydXNpdmVfZXZhbF9kZWZhdWx0X3R5cGVfICMjIFROQU1FICAgICAgICAgICAgICAgICAgICAgIFwKKyAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBYPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgIHN0YXRpYyBjaGFyIHRlc3QoaW50LCB0eXBlbmFtZSBYOjpUTkFNRSopOyAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBYPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgIHN0YXRpYyBpbnQgdGVzdChuZG5ib29zdDo6aW50cnVzaXZlOjpkZXRhaWw6OiAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgIExvd1ByaW9yaXR5Q29udmVyc2lvbjxpbnQ+LCB2b2lkKik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgIHN0cnVjdCBEZWZhdWx0V3JhcCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgIHsgdHlwZWRlZiB0eXBlbmFtZSBEZWZhdWx0VHlwZTo6dHlwZSBUTkFNRTsgfTsgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgIHN0YXRpYyBjb25zdCBib29sIHZhbHVlID0gKDEgPT0gc2l6ZW9mKHRlc3Q8VD4oMCwgMCkpKTsgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgIHR5cGVkZWYgdHlwZW5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgIDo6bmRuYm9vc3Q6OmludHJ1c2l2ZTo6ZGV0YWlsOjpldmFsX2lmX2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgIDwgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICwgOjpuZG5ib29zdDo6aW50cnVzaXZlOjpkZXRhaWw6OmlkZW50aXR5PFQ+ICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICwgOjpuZG5ib29zdDo6aW50cnVzaXZlOjpkZXRhaWw6OmlkZW50aXR5PERlZmF1bHRXcmFwPiAgICAgICAgICAgIFwKKyAgICAgICAgICAgID46OnR5cGU6OlROQU1FIHR5cGU7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgIH07ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKy8vCisKKyNkZWZpbmUgQk9PU1RfSU5UUlVTSVZFX09CVEFJTl9UWVBFX1dJVEhfREVGQVVMVChJTlNUQU5USUFUSU9OX05TX1BSRUZJWCwgVCwgVE5BTUUsIFRJTVBMKSAgIFwKKyAgICAgIHR5cGVuYW1lIElOU1RBTlRJQVRJT05fTlNfUFJFRklYICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgIGJvb3N0X2ludHJ1c2l2ZV9kZWZhdWx0X3R5cGVfICMjIFROQU1FPCBULCBUSU1QTCA+Ojp0eXBlICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKy8vCisKKyNkZWZpbmUgQk9PU1RfSU5UUlVTSVZFX09CVEFJTl9UWVBFX1dJVEhfRVZBTF9ERUZBVUxUKElOU1RBTlRJQVRJT05fTlNfUFJFRklYLCBULCBUTkFNRSwgVElNUEwpIFwKKyAgICAgIHR5cGVuYW1lIElOU1RBTlRJQVRJT05fTlNfUFJFRklYICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgIGJvb3N0X2ludHJ1c2l2ZV9ldmFsX2RlZmF1bHRfdHlwZV8gIyMgVE5BTUU8IFQsIFRJTVBMID46OnR5cGUgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKy8vCisKK319fSAgIC8vbmFtZXNwYWNlIG5kbmJvb3N0OjppbnRydXNpdmU6OmRldGFpbAorCisjaW5jbHVkZSA8bmRuYm9vc3QvaW50cnVzaXZlL2RldGFpbC9oYXNfbWVtYmVyX2Z1bmN0aW9uX2NhbGxhYmxlX3dpdGguaHBwPgorCisjZGVmaW5lIEJPT1NUX0lOVFJVU0lWRV9IQVNfTUVNQkVSX0ZVTkNUSU9OX0NBTExBQkxFX1dJVEhfRlVOQ05BTUUgcG9pbnRlcl90bworI2RlZmluZSBCT09TVF9JTlRSVVNJVkVfSEFTX01FTUJFUl9GVU5DVElPTl9DQUxMQUJMRV9XSVRIX05TX0JFR0lOIG5hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBpbnRydXNpdmUgeyBuYW1lc3BhY2UgZGV0YWlsIHsKKyNkZWZpbmUgQk9PU1RfSU5UUlVTSVZFX0hBU19NRU1CRVJfRlVOQ1RJT05fQ0FMTEFCTEVfV0lUSF9OU19FTkQgICB9fX0KKyNkZWZpbmUgQk9PU1RfUFBfSVRFUkFUSU9OX1BBUkFNU18xICgzLCAoMCwgMSwgPG5kbmJvb3N0L2ludHJ1c2l2ZS9kZXRhaWwvaGFzX21lbWJlcl9mdW5jdGlvbl9jYWxsYWJsZV93aXRoLmhwcD4pKQorI2luY2x1ZGUgQk9PU1RfUFBfSVRFUkFURSgpCisKKyNkZWZpbmUgQk9PU1RfSU5UUlVTSVZFX0hBU19NRU1CRVJfRlVOQ1RJT05fQ0FMTEFCTEVfV0lUSF9GVU5DTkFNRSBzdGF0aWNfY2FzdF9mcm9tCisjZGVmaW5lIEJPT1NUX0lOVFJVU0lWRV9IQVNfTUVNQkVSX0ZVTkNUSU9OX0NBTExBQkxFX1dJVEhfTlNfQkVHSU4gbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIGludHJ1c2l2ZSB7IG5hbWVzcGFjZSBkZXRhaWwgeworI2RlZmluZSBCT09TVF9JTlRSVVNJVkVfSEFTX01FTUJFUl9GVU5DVElPTl9DQUxMQUJMRV9XSVRIX05TX0VORCAgIH19fQorI2RlZmluZSBCT09TVF9QUF9JVEVSQVRJT05fUEFSQU1TXzEgKDMsICgwLCAxLCA8bmRuYm9vc3QvaW50cnVzaXZlL2RldGFpbC9oYXNfbWVtYmVyX2Z1bmN0aW9uX2NhbGxhYmxlX3dpdGguaHBwPikpCisjaW5jbHVkZSBCT09TVF9QUF9JVEVSQVRFKCkKKworI2RlZmluZSBCT09TVF9JTlRSVVNJVkVfSEFTX01FTUJFUl9GVU5DVElPTl9DQUxMQUJMRV9XSVRIX0ZVTkNOQU1FIGNvbnN0X2Nhc3RfZnJvbQorI2RlZmluZSBCT09TVF9JTlRSVVNJVkVfSEFTX01FTUJFUl9GVU5DVElPTl9DQUxMQUJMRV9XSVRIX05TX0JFR0lOIG5hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBpbnRydXNpdmUgeyBuYW1lc3BhY2UgZGV0YWlsIHsKKyNkZWZpbmUgQk9PU1RfSU5UUlVTSVZFX0hBU19NRU1CRVJfRlVOQ1RJT05fQ0FMTEFCTEVfV0lUSF9OU19FTkQgICB9fX0KKyNkZWZpbmUgQk9PU1RfUFBfSVRFUkFUSU9OX1BBUkFNU18xICgzLCAoMCwgMSwgPG5kbmJvb3N0L2ludHJ1c2l2ZS9kZXRhaWwvaGFzX21lbWJlcl9mdW5jdGlvbl9jYWxsYWJsZV93aXRoLmhwcD4pKQorI2luY2x1ZGUgQk9PU1RfUFBfSVRFUkFURSgpCisKKyNkZWZpbmUgQk9PU1RfSU5UUlVTSVZFX0hBU19NRU1CRVJfRlVOQ1RJT05fQ0FMTEFCTEVfV0lUSF9GVU5DTkFNRSBkeW5hbWljX2Nhc3RfZnJvbQorI2RlZmluZSBCT09TVF9JTlRSVVNJVkVfSEFTX01FTUJFUl9GVU5DVElPTl9DQUxMQUJMRV9XSVRIX05TX0JFR0lOIG5hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBpbnRydXNpdmUgeyBuYW1lc3BhY2UgZGV0YWlsIHsKKyNkZWZpbmUgQk9PU1RfSU5UUlVTSVZFX0hBU19NRU1CRVJfRlVOQ1RJT05fQ0FMTEFCTEVfV0lUSF9OU19FTkQgICB9fX0KKyNkZWZpbmUgQk9PU1RfUFBfSVRFUkFUSU9OX1BBUkFNU18xICgzLCAoMCwgMSwgPG5kbmJvb3N0L2ludHJ1c2l2ZS9kZXRhaWwvaGFzX21lbWJlcl9mdW5jdGlvbl9jYWxsYWJsZV93aXRoLmhwcD4pKQorI2luY2x1ZGUgQk9PU1RfUFBfSVRFUkFURSgpCisKK25hbWVzcGFjZSBuZG5ib29zdCB7CituYW1lc3BhY2UgaW50cnVzaXZlIHsKK25hbWVzcGFjZSBkZXRhaWwgeworCitCT09TVF9JTlRSVVNJVkVfSU5TVEFOVElBVEVfREVGQVVMVF9UWVBFX1RNUExUKGVsZW1lbnRfdHlwZSkKK0JPT1NUX0lOVFJVU0lWRV9JTlNUQU5USUFURV9ERUZBVUxUX1RZUEVfVE1QTFQoZGlmZmVyZW5jZV90eXBlKQorCisvLy8vLy8vLy8vLy8vLy8vLy8vLy8vCisvL3N0cnVjdCBmaXJzdF9wYXJhbQorLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworCit0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gc3RydWN0IGZpcnN0X3BhcmFtCit7ICB0eXBlZGVmIHZvaWQgdHlwZTsgICB9OworCisjaWYgIWRlZmluZWQoQk9PU1RfTk9fQ1hYMTFfVkFSSUFESUNfVEVNUExBVEVTKQorCisgICB0ZW1wbGF0ZSA8dGVtcGxhdGUgPHR5cGVuYW1lLCB0eXBlbmFtZS4uLj4gY2xhc3MgVGVtcGxhdGVDbGFzcywgdHlwZW5hbWUgVCwgdHlwZW5hbWUuLi4gQXJncz4KKyAgIHN0cnVjdCBmaXJzdF9wYXJhbTwgVGVtcGxhdGVDbGFzczxULCBBcmdzLi4uPiA+CisgICB7CisgICAgICB0eXBlZGVmIFQgdHlwZTsKKyAgIH07CisKKyNlbHNlIC8vQysrMDMgY29tcGlsZXJzCisKKyAgICNkZWZpbmUgQk9PU1RfUFBfTE9DQUxfTUFDUk8obikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgIHRlbXBsYXRlIDwgdGVtcGxhdGUgPHR5cGVuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgIEJPT1NUX1BQX0VOVU1fVFJBSUxJTkcobiwgQk9PU1RfSU5UUlVTSVZFX1BQX0lERU5USVRZLCB0eXBlbmFtZSkgPiAgIFwKKyAgICAgICAgICAgIGNsYXNzIFRlbXBsYXRlQ2xhc3MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVCBCT09TVF9QUF9FTlVNX1RSQUlMSU5HX1BBUkFNUyhuLCBjbGFzcyBQKT4gICAgICAgICAgICAgICAgIFwKKyAgIHN0cnVjdCBmaXJzdF9wYXJhbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgIDwgVGVtcGxhdGVDbGFzczxUIEJPT1NUX1BQX0VOVU1fVFJBSUxJTkdfUEFSQU1TKG4sIFApPiA+ICAgICAgICAgICAgICAgICAgICAgIFwKKyAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgIHR5cGVkZWYgVCB0eXBlOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgIH07ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgIC8vCisgICAjZGVmaW5lIEJPT1NUX1BQX0xPQ0FMX0xJTUlUUyAoMCwgQk9PU1RfSU5UUlVTSVZFX01BWF9DT05TVFJVQ1RPUl9QQVJBTUVURVJTKQorICAgI2luY2x1ZGUgQk9PU1RfUFBfTE9DQUxfSVRFUkFURSgpCisKKyNlbmRpZiAgIC8vIWRlZmluZWQoQk9PU1RfTk9fQ1hYMTFfVkFSSUFESUNfVEVNUExBVEVTKQorCisvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKy8vc3RydWN0IHR5cGVfcmViaW5kX21vZGUKKy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwordGVtcGxhdGUgPHR5cGVuYW1lIFB0ciwgdHlwZW5hbWUgVD4KK3N0cnVjdCB0eXBlX2hhc19yZWJpbmQKK3sKKyAgIHRlbXBsYXRlIDx0eXBlbmFtZSBYPgorICAgI2lmICFkZWZpbmVkIChfX1NVTlBST19DQykKKyAgIHN0YXRpYyBjaGFyIHRlc3QoaW50LCB0eXBlbmFtZSBYOjp0ZW1wbGF0ZSByZWJpbmQ8VD4qKTsKKyAgICNlbHNlCisgICBzdGF0aWMgY2hhciB0ZXN0KGludCwgdHlwZW5hbWUgWDo6cmViaW5kPFQ+Kik7CisgICAjZW5kaWYKKworICAgdGVtcGxhdGUgPHR5cGVuYW1lIFg+CisgICBzdGF0aWMgaW50IHRlc3QobmRuYm9vc3Q6OmludHJ1c2l2ZTo6ZGV0YWlsOjpMb3dQcmlvcml0eUNvbnZlcnNpb248aW50Piwgdm9pZCopOworCisgICBzdGF0aWMgY29uc3QgYm9vbCB2YWx1ZSA9ICgxID09IHNpemVvZih0ZXN0PFB0cj4oMCwgMCkpKTsKK307CisKK3RlbXBsYXRlIDx0eXBlbmFtZSBQdHIsIHR5cGVuYW1lIFQ+CitzdHJ1Y3QgdHlwZV9oYXNfcmViaW5kX290aGVyCit7CisgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgWD4KKyAgICNpZiAhZGVmaW5lZCAoX19TVU5QUk9fQ0MpCisgICBzdGF0aWMgY2hhciB0ZXN0KGludCwgdHlwZW5hbWUgWDo6dGVtcGxhdGUgcmViaW5kPFQ+OjpvdGhlciopOworICAgI2Vsc2UKKyAgIHN0YXRpYyBjaGFyIHRlc3QoaW50LCB0eXBlbmFtZSBYOjpyZWJpbmQ8VD46Om90aGVyKik7CisgICAjZW5kaWYKKworICAgdGVtcGxhdGUgPHR5cGVuYW1lIFg+CisgICBzdGF0aWMgaW50IHRlc3QobmRuYm9vc3Q6OmludHJ1c2l2ZTo6ZGV0YWlsOjpMb3dQcmlvcml0eUNvbnZlcnNpb248aW50Piwgdm9pZCopOworCisgICBzdGF0aWMgY29uc3QgYm9vbCB2YWx1ZSA9ICgxID09IHNpemVvZih0ZXN0PFB0cj4oMCwgMCkpKTsKK307CisKK3RlbXBsYXRlIDx0eXBlbmFtZSBQdHIsIHR5cGVuYW1lIFQ+CitzdHJ1Y3QgdHlwZV9yZWJpbmRfbW9kZQoreworICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGludCByZWJpbmQgPSAgICAgICAodW5zaWduZWQgaW50KXR5cGVfaGFzX3JlYmluZDxQdHIsIFQ+Ojp2YWx1ZTsKKyAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBpbnQgcmViaW5kX290aGVyID0gKHVuc2lnbmVkIGludCl0eXBlX2hhc19yZWJpbmRfb3RoZXI8UHRyLCBUPjo6dmFsdWU7CisgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgaW50IG1vZGUgPSAgICAgICAgIHJlYmluZCArIHJlYmluZCpyZWJpbmRfb3RoZXI7Cit9OworCisvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKy8vc3RydWN0IHR5cGVfcmViaW5kZXIKKy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwordGVtcGxhdGUgPHR5cGVuYW1lIFB0ciwgdHlwZW5hbWUgVSwgdW5zaWduZWQgaW50IFJlYmluZE1vZGUgPSB0eXBlX3JlYmluZF9tb2RlPFB0ciwgVT46Om1vZGU+CitzdHJ1Y3QgdHlwZV9yZWJpbmRlcjsKKworLy8gSW1wbGVtZW50YXRpb24gb2YgcG9pbnRlcl90cmFpdHM8UHRyPjo6cmViaW5kIGlmIFB0ciBoYXMKKy8vIGl0cyBvd24gcmViaW5kOjpvdGhlciB0eXBlIChDKyswMykKK3RlbXBsYXRlIDx0eXBlbmFtZSBQdHIsIHR5cGVuYW1lIFU+CitzdHJ1Y3QgdHlwZV9yZWJpbmRlcjwgUHRyLCBVLCAydSA+Cit7CisgICB0eXBlZGVmIHR5cGVuYW1lIFB0cjo6dGVtcGxhdGUgcmViaW5kPFU+OjpvdGhlciB0eXBlOworfTsKKworLy8gSW1wbGVtZW50YXRpb24gb2YgcG9pbnRlcl90cmFpdHM8UHRyPjo6cmViaW5kIGlmIFB0ciBoYXMKKy8vIGl0cyBvd24gcmViaW5kIHRlbXBsYXRlLgordGVtcGxhdGUgPHR5cGVuYW1lIFB0ciwgdHlwZW5hbWUgVT4KK3N0cnVjdCB0eXBlX3JlYmluZGVyPCBQdHIsIFUsIDF1ID4KK3sKKyAgIHR5cGVkZWYgdHlwZW5hbWUgUHRyOjp0ZW1wbGF0ZSByZWJpbmQ8VT4gdHlwZTsKK307CisKKy8vIFNwZWNpYWxpemF0aW9uIG9mIHBvaW50ZXJfdHJhaXRzPFB0cj46OnJlYmluZCBpZiBQdHIgZG9lcyBub3QKKy8vIGhhdmUgaXRzIG93biByZWJpbmQgdGVtcGxhdGUgYnV0IGhhcyBhIHRoZSBmb3JtIFB0cjxjbGFzcyBULAorLy8gT3RoZXJBcmdzPiwgd2hlcmUgT3RoZXJBcmdzIGNvbXByaXNlcyB6ZXJvIG9yIG1vcmUgdHlwZSBwYXJhbWV0ZXJzLgorLy8gTWFueSBwb2ludGVycyBmaXQgdGhpcyBmb3JtLCBoZW5jZSBtYW55IHBvaW50ZXJzIHdpbGwgZ2V0IGEKKy8vIHJlYXNvbmFibGUgZGVmYXVsdCBmb3IgcmViaW5kLgorI2lmICFkZWZpbmVkKEJPT1NUX05PX0NYWDExX1ZBUklBRElDX1RFTVBMQVRFUykKKwordGVtcGxhdGUgPHRlbXBsYXRlIDxjbGFzcywgY2xhc3MuLi4+IGNsYXNzIFB0ciwgdHlwZW5hbWUgVCwgY2xhc3MuLi4gVG4sIGNsYXNzIFU+CitzdHJ1Y3QgdHlwZV9yZWJpbmRlcjxQdHI8VCwgVG4uLi4+LCBVLCAwdSA+Cit7CisgICB0eXBlZGVmIFB0cjxVLCBUbi4uLj4gdHlwZTsKK307CisKKy8vTmVlZGVkIGZvciBub24tY29uZm9ybWluZyBjb21waWxlcnMgbGlrZSBHQ0MgNC4zCit0ZW1wbGF0ZSA8dGVtcGxhdGUgPGNsYXNzPiBjbGFzcyBQdHIsIHR5cGVuYW1lIFQsIGNsYXNzIFU+CitzdHJ1Y3QgdHlwZV9yZWJpbmRlcjxQdHI8VD4sIFUsIDB1ID4KK3sKKyAgIHR5cGVkZWYgUHRyPFU+IHR5cGU7Cit9OworCisjZWxzZSAvL0MrKzAzIGNvbXBpbGVycworCisjZGVmaW5lIEJPT1NUX1BQX0xPQ0FMX01BQ1JPKG4pICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCit0ZW1wbGF0ZSA8IHRlbXBsYXRlIDx0eXBlbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICBCT09TVF9QUF9FTlVNX1RSQUlMSU5HKG4sIEJPT1NUX0lOVFJVU0lWRV9QUF9JREVOVElUWSwgdHlwZW5hbWUpID4gICBcCisgICAgICAgICAgIGNsYXNzIFB0ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAsIHR5cGVuYW1lIFQgQk9PU1RfUFBfRU5VTV9UUkFJTElOR19QQVJBTVMobiwgY2xhc3MgUCkgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAsIGNsYXNzIFU+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCitzdHJ1Y3QgdHlwZV9yZWJpbmRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICA8IFB0cjxUIEJPT1NUX1BQX0VOVU1fVFJBSUxJTkdfUEFSQU1TKG4sIFApPiwgVSwgMHUgPiAgICAgICAgICAgICAgICAgICAgICAgICBcCit7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICB0eXBlZGVmIFB0cjxVIEJPT1NUX1BQX0VOVU1fVFJBSUxJTkdfUEFSQU1TKG4sIFApPiB0eXBlOyAgICAgICAgICAgICAgICAgICAgICBcCit9OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisvLworI2RlZmluZSBCT09TVF9QUF9MT0NBTF9MSU1JVFMgKDAsIEJPT1NUX0lOVFJVU0lWRV9NQVhfQ09OU1RSVUNUT1JfUEFSQU1FVEVSUykKKyNpbmNsdWRlIEJPT1NUX1BQX0xPQ0FMX0lURVJBVEUoKQorCisjZW5kaWYgICAvLyFkZWZpbmVkKEJPT1NUX05PX0NYWDExX1ZBUklBRElDX1RFTVBMQVRFUykKKworfSAgLy9uYW1lc3BhY2UgZGV0YWlsIHsKK30gIC8vbmFtZXNwYWNlIGludHJ1c2l2ZSB7Cit9ICAvL25hbWVzcGFjZSBuZG5ib29zdCB7CisKKyNpbmNsdWRlIDxuZG5ib29zdC9pbnRydXNpdmUvZGV0YWlsL2NvbmZpZ19lbmQuaHBwPgorCisjZW5kaWYgLy8gISBkZWZpbmVkKEJPT1NUX0lOVFJVU0lWRV9BTExPQ0FUT1JfTUVNT1JZX1VUSUxfSFBQKQpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvaW50cnVzaXZlL2RldGFpbC9tcGwuaHBwIGIvbmRuYm9vc3QvaW50cnVzaXZlL2RldGFpbC9tcGwuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlkYzYzN2QKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9pbnRydXNpdmUvZGV0YWlsL21wbC5ocHAKQEAgLTAsMCArMSwzODMgQEAKKy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCisvLworLy8gKEMpIENvcHlyaWdodCBJb24gR2F6dGFuYWdhICAyMDA2LTIwMTIKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuCisvLyAgICAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0CisvLyAgICAgICAgICBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworLy8gU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL2xpYnMvaW50cnVzaXZlIGZvciBkb2N1bWVudGF0aW9uLgorLy8KKy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCisKKyNpZm5kZWYgQk9PU1RfSU5UUlVTSVZFX0RFVEFJTF9NUExfSFBQCisjZGVmaW5lIEJPT1NUX0lOVFJVU0lWRV9ERVRBSUxfTVBMX0hQUAorCisjaW5jbHVkZSA8bmRuYm9vc3QvaW50cnVzaXZlL2RldGFpbC9jb25maWdfYmVnaW4uaHBwPgorI2luY2x1ZGUgPGNzdGRkZWY+CisKK25hbWVzcGFjZSBuZG5ib29zdCB7CituYW1lc3BhY2UgaW50cnVzaXZlIHsKK25hbWVzcGFjZSBkZXRhaWwgeworCit0eXBlZGVmIGNoYXIgb25lOworc3RydWN0IHR3byB7b25lIF9bMl07fTsKKwordGVtcGxhdGU8IGJvb2wgQ18gPgorc3RydWN0IGJvb2xfCit7CisgICBzdGF0aWMgY29uc3QgYm9vbCB2YWx1ZSA9IENfOworfTsKKwordHlwZWRlZiBib29sXzx0cnVlPiAgICAgICAgdHJ1ZV87Cit0eXBlZGVmIGJvb2xfPGZhbHNlPiAgICAgICBmYWxzZV87CisKK3R5cGVkZWYgdHJ1ZV8gIHRydWVfdHlwZTsKK3R5cGVkZWYgZmFsc2VfIGZhbHNlX3R5cGU7CisKK3R5cGVkZWYgY2hhciB5ZXNfdHlwZTsKK3N0cnVjdCBub190eXBlCit7CisgICBjaGFyIHBhZGRpbmdbOF07Cit9OworCit0ZW1wbGF0ZSA8Ym9vbCBCLCBjbGFzcyBUID0gdm9pZD4KK3N0cnVjdCBlbmFibGVfaWZfYyB7CisgIHR5cGVkZWYgVCB0eXBlOworfTsKKwordGVtcGxhdGUgPGNsYXNzIFQ+CitzdHJ1Y3QgZW5hYmxlX2lmX2M8ZmFsc2UsIFQ+IHt9OworCit0ZW1wbGF0ZSA8Y2xhc3MgQ29uZCwgY2xhc3MgVCA9IHZvaWQ+CitzdHJ1Y3QgZW5hYmxlX2lmIDogcHVibGljIGVuYWJsZV9pZl9jPENvbmQ6OnZhbHVlLCBUPnt9OworCit0ZW1wbGF0ZTxjbGFzcyBGLCBjbGFzcyBQYXJhbT4KK3N0cnVjdCBhcHBseQoreworICAgdHlwZWRlZiB0eXBlbmFtZSBGOjp0ZW1wbGF0ZSBhcHBseTxQYXJhbT46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlIDxjbGFzcyBULCBjbGFzcyBVPgorY2xhc3MgaXNfY29udmVydGlibGUKK3sKKyAgIHR5cGVkZWYgY2hhciB0cnVlX3Q7CisgICBjbGFzcyBmYWxzZV90IHsgY2hhciBkdW1teVsyXTsgfTsKKyAgIHN0YXRpYyB0cnVlX3QgZGlzcGF0Y2goVSk7CisgICBzdGF0aWMgZmFsc2VfdCBkaXNwYXRjaCguLi4pOworICAgc3RhdGljIGNvbnN0IFQgJnRyaWdnZXIoKTsKKyAgIHB1YmxpYzoKKyAgIHN0YXRpYyBjb25zdCBib29sIHZhbHVlID0gc2l6ZW9mKGRpc3BhdGNoKHRyaWdnZXIoKSkpID09IHNpemVvZih0cnVlX3QpOworfTsKKwordGVtcGxhdGU8CisgICAgICBib29sIEMKKyAgICAsIHR5cGVuYW1lIFQxCisgICAgLCB0eXBlbmFtZSBUMgorICAgID4KK3N0cnVjdCBpZl9jCit7CisgICAgdHlwZWRlZiBUMSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMQorICAgICwgdHlwZW5hbWUgVDIKKyAgICA+CitzdHJ1Y3QgaWZfYzxmYWxzZSxUMSxUMj4KK3sKKyAgICB0eXBlZGVmIFQyIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEMKKyAgICAsIHR5cGVuYW1lIFQxCisgICAgLCB0eXBlbmFtZSBUMgorICAgID4KK3N0cnVjdCBpZl8KK3sKKyAgIHR5cGVkZWYgdHlwZW5hbWUgaWZfYzwwICE9IEM6OnZhbHVlLCBUMSwgVDI+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIGJvb2wgQworICAgICwgdHlwZW5hbWUgRjEKKyAgICAsIHR5cGVuYW1lIEYyCisgICAgPgorc3RydWN0IGV2YWxfaWZfYworICAgIDogaWZfYzxDLEYxLEYyPjo6dHlwZQore307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgQworICAgICwgdHlwZW5hbWUgVDEKKyAgICAsIHR5cGVuYW1lIFQyCisgICAgPgorc3RydWN0IGV2YWxfaWYKKyAgICA6IGlmXzxDLFQxLFQyPjo6dHlwZQore307CisKKy8vIGlkZW50aXR5IGlzIGFuIGV4dGVuc2lvbjogaXQgaXMgbm90IHBhcnQgb2YgdGhlIHN0YW5kYXJkLgordGVtcGxhdGUgPGNsYXNzIFQ+CitzdHJ1Y3QgaWRlbnRpdHkKK3sKKyAgIHR5cGVkZWYgVCB0eXBlOworfTsKKworI2lmIGRlZmluZWQoQk9PU1RfTVNWQykgfHwgZGVmaW5lZChfX0JPUkxBTkRDXykKKyNkZWZpbmUgQk9PU1RfSU5UUlVTSVZFX1RUX0RFQ0wgX19jZGVjbAorI2Vsc2UKKyNkZWZpbmUgQk9PU1RfSU5UUlVTSVZFX1RUX0RFQ0wKKyNlbmRpZgorCisjaWYgZGVmaW5lZChfTVNDX0VYVEVOU0lPTlMpICYmICFkZWZpbmVkKF9fQk9STEFORF9fKSAmJiAhZGVmaW5lZChfV0lONjQpICYmICFkZWZpbmVkKFVOREVSX0NFKQorI2RlZmluZSBCT09TVF9JTlRSVVNJVkVfVFRfVEVTVF9NU0NfRlVOQ19TSUdTCisjZW5kaWYKKwordGVtcGxhdGUgPHR5cGVuYW1lIFQ+CitzdHJ1Y3QgaXNfdW5hcnlfb3JfYmluYXJ5X2Z1bmN0aW9uX2ltcGwKK3sgIHN0YXRpYyBjb25zdCBib29sIHZhbHVlID0gZmFsc2U7IH07CisKKy8vIHNlZSBib29zdCB0aWNrZXQgIzQwOTQKKy8vIGF2b2lkIGR1cGxpY2F0ZSBkZWZpbml0aW9ucyBvZiBpc191bmFyeV9vcl9iaW5hcnlfZnVuY3Rpb25faW1wbAorI2lmbmRlZiBCT09TVF9JTlRSVVNJVkVfVFRfVEVTVF9NU0NfRlVOQ19TSUdTCisKK3RlbXBsYXRlIDx0eXBlbmFtZSBSPgorc3RydWN0IGlzX3VuYXJ5X29yX2JpbmFyeV9mdW5jdGlvbl9pbXBsPFIgKCopKCk+Cit7ICBzdGF0aWMgY29uc3QgYm9vbCB2YWx1ZSA9IHRydWU7ICB9OworCit0ZW1wbGF0ZSA8dHlwZW5hbWUgUj4KK3N0cnVjdCBpc191bmFyeV9vcl9iaW5hcnlfZnVuY3Rpb25faW1wbDxSICgqKSguLi4pPgoreyAgc3RhdGljIGNvbnN0IGJvb2wgdmFsdWUgPSB0cnVlOyAgfTsKKworI2Vsc2UgLy8gQk9PU1RfSU5UUlVTSVZFX1RUX1RFU1RfTVNDX0ZVTkNfU0lHUworCit0ZW1wbGF0ZSA8dHlwZW5hbWUgUj4KK3N0cnVjdCBpc191bmFyeV9vcl9iaW5hcnlfZnVuY3Rpb25faW1wbDxSIChfX3N0ZGNhbGwqKSgpPgoreyAgc3RhdGljIGNvbnN0IGJvb2wgdmFsdWUgPSB0cnVlOyAgfTsKKworI2lmbmRlZiBfTUFOQUdFRAorCit0ZW1wbGF0ZSA8dHlwZW5hbWUgUj4KK3N0cnVjdCBpc191bmFyeV9vcl9iaW5hcnlfZnVuY3Rpb25faW1wbDxSIChfX2Zhc3RjYWxsKikoKT4KK3sgIHN0YXRpYyBjb25zdCBib29sIHZhbHVlID0gdHJ1ZTsgIH07CisKKyNlbmRpZgorCit0ZW1wbGF0ZSA8dHlwZW5hbWUgUj4KK3N0cnVjdCBpc191bmFyeV9vcl9iaW5hcnlfZnVuY3Rpb25faW1wbDxSIChfX2NkZWNsKikoKT4KK3sgIHN0YXRpYyBjb25zdCBib29sIHZhbHVlID0gdHJ1ZTsgIH07CisKK3RlbXBsYXRlIDx0eXBlbmFtZSBSPgorc3RydWN0IGlzX3VuYXJ5X29yX2JpbmFyeV9mdW5jdGlvbl9pbXBsPFIgKF9fY2RlY2wqKSguLi4pPgoreyAgc3RhdGljIGNvbnN0IGJvb2wgdmFsdWUgPSB0cnVlOyAgfTsKKworI2VuZGlmCisKKy8vIHNlZSBib29zdCB0aWNrZXQgIzQwOTQKKy8vIGF2b2lkIGR1cGxpY2F0ZSBkZWZpbml0aW9ucyBvZiBpc191bmFyeV9vcl9iaW5hcnlfZnVuY3Rpb25faW1wbAorI2lmbmRlZiBCT09TVF9JTlRSVVNJVkVfVFRfVEVTVF9NU0NfRlVOQ19TSUdTCisKK3RlbXBsYXRlIDx0eXBlbmFtZSBSLCBjbGFzcyBUMD4KK3N0cnVjdCBpc191bmFyeV9vcl9iaW5hcnlfZnVuY3Rpb25faW1wbDxSICgqKShUMCk+Cit7ICBzdGF0aWMgY29uc3QgYm9vbCB2YWx1ZSA9IHRydWU7ICB9OworCit0ZW1wbGF0ZSA8dHlwZW5hbWUgUiwgY2xhc3MgVDA+CitzdHJ1Y3QgaXNfdW5hcnlfb3JfYmluYXJ5X2Z1bmN0aW9uX2ltcGw8UiAoKikoVDAuLi4pPgoreyAgc3RhdGljIGNvbnN0IGJvb2wgdmFsdWUgPSB0cnVlOyAgfTsKKworI2Vsc2UgLy8gQk9PU1RfSU5UUlVTSVZFX1RUX1RFU1RfTVNDX0ZVTkNfU0lHUworCit0ZW1wbGF0ZSA8dHlwZW5hbWUgUiwgY2xhc3MgVDA+CitzdHJ1Y3QgaXNfdW5hcnlfb3JfYmluYXJ5X2Z1bmN0aW9uX2ltcGw8UiAoX19zdGRjYWxsKikoVDApPgoreyAgc3RhdGljIGNvbnN0IGJvb2wgdmFsdWUgPSB0cnVlOyAgfTsKKworI2lmbmRlZiBfTUFOQUdFRAorCit0ZW1wbGF0ZSA8dHlwZW5hbWUgUiwgY2xhc3MgVDA+CitzdHJ1Y3QgaXNfdW5hcnlfb3JfYmluYXJ5X2Z1bmN0aW9uX2ltcGw8UiAoX19mYXN0Y2FsbCopKFQwKT4KK3sgIHN0YXRpYyBjb25zdCBib29sIHZhbHVlID0gdHJ1ZTsgIH07CisKKyNlbmRpZgorCit0ZW1wbGF0ZSA8dHlwZW5hbWUgUiwgY2xhc3MgVDA+CitzdHJ1Y3QgaXNfdW5hcnlfb3JfYmluYXJ5X2Z1bmN0aW9uX2ltcGw8UiAoX19jZGVjbCopKFQwKT4KK3sgIHN0YXRpYyBjb25zdCBib29sIHZhbHVlID0gdHJ1ZTsgIH07CisKK3RlbXBsYXRlIDx0eXBlbmFtZSBSLCBjbGFzcyBUMD4KK3N0cnVjdCBpc191bmFyeV9vcl9iaW5hcnlfZnVuY3Rpb25faW1wbDxSIChfX2NkZWNsKikoVDAuLi4pPgoreyAgc3RhdGljIGNvbnN0IGJvb2wgdmFsdWUgPSB0cnVlOyAgfTsKKworI2VuZGlmCisKKy8vIHNlZSBib29zdCB0aWNrZXQgIzQwOTQKKy8vIGF2b2lkIGR1cGxpY2F0ZSBkZWZpbml0aW9ucyBvZiBpc191bmFyeV9vcl9iaW5hcnlfZnVuY3Rpb25faW1wbAorI2lmbmRlZiBCT09TVF9JTlRSVVNJVkVfVFRfVEVTVF9NU0NfRlVOQ19TSUdTCisKK3RlbXBsYXRlIDx0eXBlbmFtZSBSLCBjbGFzcyBUMCwgY2xhc3MgVDE+CitzdHJ1Y3QgaXNfdW5hcnlfb3JfYmluYXJ5X2Z1bmN0aW9uX2ltcGw8UiAoKikoVDAsIFQxKT4KK3sgIHN0YXRpYyBjb25zdCBib29sIHZhbHVlID0gdHJ1ZTsgIH07CisKK3RlbXBsYXRlIDx0eXBlbmFtZSBSLCBjbGFzcyBUMCwgY2xhc3MgVDE+CitzdHJ1Y3QgaXNfdW5hcnlfb3JfYmluYXJ5X2Z1bmN0aW9uX2ltcGw8UiAoKikoVDAsIFQxLi4uKT4KK3sgIHN0YXRpYyBjb25zdCBib29sIHZhbHVlID0gdHJ1ZTsgIH07CisKKyNlbHNlIC8vIEJPT1NUX0lOVFJVU0lWRV9UVF9URVNUX01TQ19GVU5DX1NJR1MKKwordGVtcGxhdGUgPHR5cGVuYW1lIFIsIGNsYXNzIFQwLCBjbGFzcyBUMT4KK3N0cnVjdCBpc191bmFyeV9vcl9iaW5hcnlfZnVuY3Rpb25faW1wbDxSIChfX3N0ZGNhbGwqKShUMCwgVDEpPgoreyAgc3RhdGljIGNvbnN0IGJvb2wgdmFsdWUgPSB0cnVlOyAgfTsKKworI2lmbmRlZiBfTUFOQUdFRAorCit0ZW1wbGF0ZSA8dHlwZW5hbWUgUiwgY2xhc3MgVDAsIGNsYXNzIFQxPgorc3RydWN0IGlzX3VuYXJ5X29yX2JpbmFyeV9mdW5jdGlvbl9pbXBsPFIgKF9fZmFzdGNhbGwqKShUMCwgVDEpPgoreyAgc3RhdGljIGNvbnN0IGJvb2wgdmFsdWUgPSB0cnVlOyAgfTsKKworI2VuZGlmCisKK3RlbXBsYXRlIDx0eXBlbmFtZSBSLCBjbGFzcyBUMCwgY2xhc3MgVDE+CitzdHJ1Y3QgaXNfdW5hcnlfb3JfYmluYXJ5X2Z1bmN0aW9uX2ltcGw8UiAoX19jZGVjbCopKFQwLCBUMSk+Cit7ICBzdGF0aWMgY29uc3QgYm9vbCB2YWx1ZSA9IHRydWU7ICB9OworCit0ZW1wbGF0ZSA8dHlwZW5hbWUgUiwgY2xhc3MgVDAsIGNsYXNzIFQxPgorc3RydWN0IGlzX3VuYXJ5X29yX2JpbmFyeV9mdW5jdGlvbl9pbXBsPFIgKF9fY2RlY2wqKShUMCwgVDEuLi4pPgoreyAgc3RhdGljIGNvbnN0IGJvb2wgdmFsdWUgPSB0cnVlOyAgfTsKKyNlbmRpZgorCit0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KK3N0cnVjdCBpc191bmFyeV9vcl9iaW5hcnlfZnVuY3Rpb25faW1wbDxUJj4KK3sgIHN0YXRpYyBjb25zdCBib29sIHZhbHVlID0gZmFsc2U7IH07CisKK3RlbXBsYXRlPHR5cGVuYW1lIFQ+CitzdHJ1Y3QgaXNfdW5hcnlfb3JfYmluYXJ5X2Z1bmN0aW9uCit7ICBzdGF0aWMgY29uc3QgYm9vbCB2YWx1ZSA9IGlzX3VuYXJ5X29yX2JpbmFyeV9mdW5jdGlvbl9pbXBsPFQ+Ojp2YWx1ZTsgICB9OworCisvL25kbmJvb3N0OjphbGlnbm1lbnRfb2YgeWllbGRzIHRvIDEwSyBsaW5lcyBvZiBwcmVwcm9jZXNzZWQgY29kZSwgc28gd2UKKy8vbmVlZCBhbiBhbHRlcm5hdGl2ZQordGVtcGxhdGUgPHR5cGVuYW1lIFQ+IHN0cnVjdCBhbGlnbm1lbnRfb2Y7CisKK3RlbXBsYXRlIDx0eXBlbmFtZSBUPgorc3RydWN0IGFsaWdubWVudF9vZl9oYWNrCit7CisgICAgY2hhciBjOworICAgIFQgdDsKKyAgICBhbGlnbm1lbnRfb2ZfaGFjaygpOworfTsKKwordGVtcGxhdGUgPHVuc2lnbmVkIEEsIHVuc2lnbmVkIFM+CitzdHJ1Y3QgYWxpZ25tZW50X2xvZ2ljCit7CisgICBzdGF0aWMgY29uc3Qgc3RkOjpzaXplX3QgdmFsdWUgPSBBIDwgUyA/IEEgOiBTOworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFQgPgorc3RydWN0IGFsaWdubWVudF9vZgoreworICAgc3RhdGljIGNvbnN0IHN0ZDo6c2l6ZV90IHZhbHVlID0gYWxpZ25tZW50X2xvZ2ljCisgICAgICAgICAgICA8IHNpemVvZihhbGlnbm1lbnRfb2ZfaGFjazxUPikgLSBzaXplb2YoVCkKKyAgICAgICAgICAgICwgc2l6ZW9mKFQpCisgICAgICAgICAgICA+Ojp2YWx1ZTsKK307CisKK3RlbXBsYXRlIDx0eXBlbmFtZSBULCB0eXBlbmFtZSBVPgorc3RydWN0IGlzX3NhbWUKK3sKKyAgIHR5cGVkZWYgY2hhciB5ZXNfdHlwZTsKKyAgIHN0cnVjdCBub190eXBlCisgICB7CisgICAgICBjaGFyIHBhZGRpbmdbOF07CisgICB9OworCisgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVj4KKyAgIHN0YXRpYyB5ZXNfdHlwZSBpc19zYW1lX3Rlc3RlcihWKiwgViopOworICAgc3RhdGljIG5vX3R5cGUgaXNfc2FtZV90ZXN0ZXIoLi4uKTsKKworICAgc3RhdGljIFQgKnQ7CisgICBzdGF0aWMgVSAqdTsKKworICAgc3RhdGljIGNvbnN0IGJvb2wgdmFsdWUgPSBzaXplb2YoeWVzX3R5cGUpID09IHNpemVvZihpc19zYW1lX3Rlc3Rlcih0LHUpKTsKK307CisKK3RlbXBsYXRlPHR5cGVuYW1lIFQ+CitzdHJ1Y3QgYWRkX2NvbnN0Cit7ICB0eXBlZGVmIGNvbnN0IFQgdHlwZTsgICB9OworCit0ZW1wbGF0ZTx0eXBlbmFtZSBUPgorc3RydWN0IHJlbW92ZV9jb25zdAoreyAgdHlwZWRlZiAgVCB0eXBlOyAgIH07CisKK3RlbXBsYXRlPHR5cGVuYW1lIFQ+CitzdHJ1Y3QgcmVtb3ZlX2NvbnN0PGNvbnN0IFQ+Cit7ICB0eXBlZGVmIFQgdHlwZTsgICB9OworCit0ZW1wbGF0ZTx0eXBlbmFtZSBUPgorc3RydWN0IHJlbW92ZV9jdgoreyAgdHlwZWRlZiAgVCB0eXBlOyAgIH07CisKK3RlbXBsYXRlPHR5cGVuYW1lIFQ+CitzdHJ1Y3QgcmVtb3ZlX2N2PGNvbnN0IFQ+Cit7ICB0eXBlZGVmIFQgdHlwZTsgICB9OworCit0ZW1wbGF0ZTx0eXBlbmFtZSBUPgorc3RydWN0IHJlbW92ZV9jdjxjb25zdCB2b2xhdGlsZSBUPgoreyAgdHlwZWRlZiBUIHR5cGU7ICAgfTsKKwordGVtcGxhdGU8dHlwZW5hbWUgVD4KK3N0cnVjdCByZW1vdmVfY3Y8dm9sYXRpbGUgVD4KK3sgIHR5cGVkZWYgVCB0eXBlOyAgIH07CisKK3RlbXBsYXRlPGNsYXNzIFQ+CitzdHJ1Y3QgcmVtb3ZlX3JlZmVyZW5jZQoreworICAgdHlwZWRlZiBUIHR5cGU7Cit9OworCit0ZW1wbGF0ZTxjbGFzcyBUPgorc3RydWN0IHJlbW92ZV9yZWZlcmVuY2U8VCY+Cit7CisgICB0eXBlZGVmIFQgdHlwZTsKK307CisKK3RlbXBsYXRlPGNsYXNzIENsYXNzPgorY2xhc3MgaXNfZW1wdHlfY2xhc3MKK3sKKyAgIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgorICAgc3RydWN0IGVtcHR5X2hlbHBlcl90MSA6IHB1YmxpYyBUCisgICB7CisgICAgICBlbXB0eV9oZWxwZXJfdDEoKTsKKyAgICAgIGludCBpWzI1Nl07CisgICB9OworCisgICBzdHJ1Y3QgZW1wdHlfaGVscGVyX3QyCisgICB7IGludCBpWzI1Nl07IH07CisKKyAgIHB1YmxpYzoKKyAgIHN0YXRpYyBjb25zdCBib29sIHZhbHVlID0gc2l6ZW9mKGVtcHR5X2hlbHBlcl90MTxDbGFzcz4pID09IHNpemVvZihlbXB0eV9oZWxwZXJfdDIpOworfTsKKwordGVtcGxhdGU8c3RkOjpzaXplX3QgUz4KK3N0cnVjdCBsc196ZXJvcworeworICAgc3RhdGljIGNvbnN0IHN0ZDo6c2l6ZV90IHZhbHVlID0gKFMgJiBzdGQ6OnNpemVfdCgxKSkgPyAwIDogKDEgKyBsc196ZXJvczwoUz4+MXUpPjo6dmFsdWUpOworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGxzX3plcm9zPDA+Cit7CisgICBzdGF0aWMgY29uc3Qgc3RkOjpzaXplX3QgdmFsdWUgPSAwOworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGxzX3plcm9zPDE+Cit7CisgICBzdGF0aWMgY29uc3Qgc3RkOjpzaXplX3QgdmFsdWUgPSAwOworfTsKKworfSAvL25hbWVzcGFjZSBkZXRhaWwKK30gLy9uYW1lc3BhY2UgaW50cnVzaXZlCit9IC8vbmFtZXNwYWNlIG5kbmJvb3N0CisKKyNpbmNsdWRlIDxuZG5ib29zdC9pbnRydXNpdmUvZGV0YWlsL2NvbmZpZ19lbmQuaHBwPgorCisjZW5kaWYgLy9CT09TVF9JTlRSVVNJVkVfREVUQUlMX01QTF9IUFAKZGlmZiAtLWdpdCBhL25kbmJvb3N0L2ludHJ1c2l2ZS9kZXRhaWwvcHJlcHJvY2Vzc29yLmhwcCBiL25kbmJvb3N0L2ludHJ1c2l2ZS9kZXRhaWwvcHJlcHJvY2Vzc29yLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNjczZmFjCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvaW50cnVzaXZlL2RldGFpbC9wcmVwcm9jZXNzb3IuaHBwCkBAIC0wLDAgKzEsNTIgQEAKKy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworLy8KKy8vIChDKSBDb3B5cmlnaHQgSW9uIEdhenRhbmFnYSAyMDA4LTIwMTIuIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdAorLy8gU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIChTZWUgYWNjb21wYW55aW5nIGZpbGUKKy8vIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisvLyBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvbGlicy9pbnRydXNpdmUgZm9yIGRvY3VtZW50YXRpb24uCisvLworLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCisKKyNpZm5kZWYgQk9PU1RfSU5UUlVTSVZFX0RFVEFJTF9QUkVQUk9DRVNTT1JfSFBQCisjZGVmaW5lIEJPT1NUX0lOVFJVU0lWRV9ERVRBSUxfUFJFUFJPQ0VTU09SX0hQUAorCisjaWYgKGRlZmluZWQgX01TQ19WRVIpICYmIChfTVNDX1ZFUiA+PSAxMjAwKQorIyAgcHJhZ21hIG9uY2UKKyNlbmRpZgorCisjaW5jbHVkZSA8bmRuYm9vc3QvaW50cnVzaXZlL2RldGFpbC9jb25maWdfYmVnaW4uaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L2ludHJ1c2l2ZS9kZXRhaWwvd29ya2Fyb3VuZC5ocHA+CisKKyNpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3IvaXRlcmF0aW9uL2xvY2FsLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3IvcHVuY3R1YXRpb24vcGFyZW5faWYuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9wdW5jdHVhdGlvbi9jb21tYV9pZi5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL2NvbnRyb2wvZXhwcl9pZi5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL2NhdC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL3JlcGV0aXRpb24vZW51bS5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL3JlcGV0aXRpb24vZW51bV9wYXJhbXMuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9yZXBldGl0aW9uL2VudW1fdHJhaWxpbmdfcGFyYW1zLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3IvcmVwZXRpdGlvbi9lbnVtX3RyYWlsaW5nLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3IvcmVwZXRpdGlvbi9lbnVtX3NoaWZ0ZWRfcGFyYW1zLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3IvcmVwZXRpdGlvbi9lbnVtX3NoaWZ0ZWQuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9yZXBldGl0aW9uL3JlcGVhdC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL2xvZ2ljYWwvbm90LmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3IvYXJpdGhtZXRpYy9zdWIuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9hcml0aG1ldGljL2FkZC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL2l0ZXJhdGlvbi9pdGVyYXRlLmhwcD4KKworI2RlZmluZSBCT09TVF9JTlRSVVNJVkVfTUFYX0NPTlNUUlVDVE9SX1BBUkFNRVRFUlMgMTAKKworI2RlZmluZSBCT09TVF9JTlRSVVNJVkVfUFBfSURFTlRJVFkoeiwgbiwgZGF0YSkgZGF0YQorCisjZGVmaW5lIEJPT1NUX0lOVFJVU0lWRV9QUF9ERUNMVkFMKHosIG4sIGRhdGEpIFwKK25kbmJvb3N0Ojptb3ZlX2RldGFpbDo6ZGVjbHZhbDwgQk9PU1RfUFBfQ0FUKFAsIG4pID4oKSBcCisvLyEKKworI2RlZmluZSBCT09TVF9JTlRSVVNJVkVfUFBfVEVNUExBVEVfUEFSQU1fVk9JRF9ERUZBVUxUKHosIG4sIGRhdGEpICAgXAorICBCT09TVF9QUF9DQVQoY2xhc3MgUCwgbikgPSB2b2lkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisvLyEKKworI2luY2x1ZGUgPG5kbmJvb3N0L2ludHJ1c2l2ZS9kZXRhaWwvY29uZmlnX2VuZC5ocHA+CisKKyNlbmRpZiAvLyNpZm5kZWYgQk9PU1RfSU5UUlVTSVZFX0RFVEFJTF9QUkVQUk9DRVNTT1JfSFBQCmRpZmYgLS1naXQgYS9uZG5ib29zdC9pbnRydXNpdmUvZGV0YWlsL3dvcmthcm91bmQuaHBwIGIvbmRuYm9vc3QvaW50cnVzaXZlL2RldGFpbC93b3JrYXJvdW5kLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42ZGE3NzExCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvaW50cnVzaXZlL2RldGFpbC93b3JrYXJvdW5kLmhwcApAQCAtMCwwICsxLDIyIEBACisvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKy8vCisvLyAoQykgQ29weXJpZ2h0IElvbiBHYXp0YW5hZ2EgMjAwNS0yMDEyLiBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QKKy8vIFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAoU2VlIGFjY29tcGFueWluZyBmaWxlCisvLyBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworLy8gU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL2xpYnMvaW50ZXJwcm9jZXNzIGZvciBkb2N1bWVudGF0aW9uLgorLy8KKy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworCisjaWZuZGVmIEJPT1NUX0lOVFJVU0lWRV9ERVRBSUxfV1JLUk5EX0hQUAorI2RlZmluZSBCT09TVF9JTlRSVVNJVkVfREVUQUlMX1dSS1JORF9IUFAKKworI2luY2x1ZGUgPG5kbmJvb3N0L2ludHJ1c2l2ZS9kZXRhaWwvY29uZmlnX2JlZ2luLmhwcD4KKworI2lmICAgICFkZWZpbmVkKEJPT1NUX05PX0NYWDExX1JWQUxVRV9SRUZFUkVOQ0VTKSAmJiAhZGVmaW5lZChCT09TVF9OT19DWFgxMV9WQVJJQURJQ19URU1QTEFURVMpCisgICAjZGVmaW5lIEJPT1NUX0lOVFJVU0lWRV9QRVJGRUNUX0ZPUldBUkRJTkcKKyNlbmRpZgorCisjaW5jbHVkZSA8bmRuYm9vc3QvaW50cnVzaXZlL2RldGFpbC9jb25maWdfZW5kLmhwcD4KKworI2VuZGlmICAgLy8jaWZuZGVmIEJPT1NUX0lOVFJVU0lWRV9ERVRBSUxfV1JLUk5EX0hQUApkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvaW50cnVzaXZlL3BvaW50ZXJfdHJhaXRzLmhwcCBiL25kbmJvb3N0L2ludHJ1c2l2ZS9wb2ludGVyX3RyYWl0cy5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGE4OTM5NwotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L2ludHJ1c2l2ZS9wb2ludGVyX3RyYWl0cy5ocHAKQEAgLTAsMCArMSwyNjUgQEAKKy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworLy8KKy8vIChDKSBDb3B5cmlnaHQgUGFibG8gSGFscGVybiAyMDA5LiBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QKKy8vIFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAoU2VlIGFjY29tcGFueWluZyBmaWxlCisvLyBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCisvLworLy8gKEMpIENvcHlyaWdodCBJb24gR2F6dGFuYWdhIDIwMTEtMjAxMi4gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0CisvLyBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZQorLy8gTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKy8vIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL2ludHJ1c2l2ZSBmb3IgZG9jdW1lbnRhdGlvbi4KKy8vCisvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKworI2lmbmRlZiBCT09TVF9JTlRSVVNJVkVfUE9JTlRFUl9UUkFJVFNfSFBQCisjZGVmaW5lIEJPT1NUX0lOVFJVU0lWRV9QT0lOVEVSX1RSQUlUU19IUFAKKworI2lmIChkZWZpbmVkIF9NU0NfVkVSKSAmJiAoX01TQ19WRVIgPj0gMTIwMCkKKyMgIHByYWdtYSBvbmNlCisjZW5kaWYKKworI2luY2x1ZGUgPG5kbmJvb3N0L2ludHJ1c2l2ZS9kZXRhaWwvY29uZmlnX2JlZ2luLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9pbnRydXNpdmUvZGV0YWlsL3dvcmthcm91bmQuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L2ludHJ1c2l2ZS9kZXRhaWwvbWVtb3J5X3V0aWwuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2ludGVncmFsX2NvbnN0YW50LmhwcD4KKyNpbmNsdWRlIDxjc3RkZGVmPgorCituYW1lc3BhY2UgbmRuYm9vc3QgeworbmFtZXNwYWNlIGludHJ1c2l2ZSB7CisKKy8vISBwb2ludGVyX3RyYWl0cyBpcyB0aGUgaW1wbGVtZW50YXRpb24gb2YgQysrMTEgc3RkOjpwb2ludGVyX3RyYWl0cyBjbGFzcyB3aXRoIHNvbWUKKy8vISBleHRlbnNpb25zIGxpa2UgY2FzdGluZ3MuCisvLyEKKy8vISBwb2ludGVyX3RyYWl0cyBzdXBwbGllcyBhIHVuaWZvcm0gaW50ZXJmYWNlIHRvIGNlcnRhaW4gYXR0cmlidXRlcyBvZiBwb2ludGVyLWxpa2UgdHlwZXMuCit0ZW1wbGF0ZSA8dHlwZW5hbWUgUHRyPgorc3RydWN0IHBvaW50ZXJfdHJhaXRzCit7CisgICAjaWZkZWYgQk9PU1RfSU5UUlVTSVZFX0RPWFlHRU5fSU5WT0tFRAorICAgICAgLy8hVGhlIHBvaW50ZXIgdHlwZQorICAgICAgLy8hcXVlcmllZCBieSB0aGlzIHBvaW50ZXJfdHJhaXRzIGluc3RhbnRpYXRpb24KKyAgICAgIHR5cGVkZWYgUHRyICAgICAgICAgICAgIHBvaW50ZXI7CisKKyAgICAgIC8vIVB0cjo6ZWxlbWVudF90eXBlIGlmIHN1Y2ggYSB0eXBlIGV4aXN0czsgb3RoZXJ3aXNlLCBUIGlmIFB0ciBpcyBhIGNsYXNzCisgICAgICAvLyF0ZW1wbGF0ZSBpbnN0YW50aWF0aW9uIG9mIHRoZSBmb3JtIFNvbWVQb2ludGVyPFQsIEFyZ3M+LCB3aGVyZSBBcmdzIGlzIHplcm8gb3IKKyAgICAgIC8vIW1vcmUgdHlwZSBhcmd1bWVudHMgOyBvdGhlcndpc2UgLCB0aGUgc3BlY2lhbGl6YXRpb24gaXMgaWxsLWZvcm1lZC4KKyAgICAgIHR5cGVkZWYgdW5zcGVjaWZpZWRfdHlwZSBlbGVtZW50X3R5cGU7CisKKyAgICAgIC8vIVB0cjo6ZGlmZmVyZW5jZV90eXBlIGlmIHN1Y2ggYSB0eXBlIGV4aXN0czsgb3RoZXJ3aXNlLAorICAgICAgLy8hc3RkOjpwdHJkaWZmX3QuCisgICAgICB0eXBlZGVmIHVuc3BlY2lmaWVkX3R5cGUgZGlmZmVyZW5jZV90eXBlOworCisgICAgICAvLyFQdHI6OnJlYmluZDxVPiBpZiBzdWNoIGEgdHlwZSBleGlzdHM7IG90aGVyd2lzZSwgU29tZVBvaW50ZXI8VSwgQXJncz4gaWYgUHRyIGlzCisgICAgICAvLyFhIGNsYXNzIHRlbXBsYXRlIGluc3RhbnRpYXRpb24gb2YgdGhlIGZvcm0gU29tZVBvaW50ZXI8VCwgQXJncz4sIHdoZXJlIEFyZ3MgaXMgemVybyBvcgorICAgICAgLy8hbW9yZSB0eXBlIGFyZ3VtZW50cyA7IG90aGVyd2lzZSwgdGhlIGluc3RhbnRpYXRpb24gb2YgcmViaW5kIGlzIGlsbC1mb3JtZWQuCisgICAgICAvLyEKKyAgICAgIC8vIUZvciBwb3J0YWJsZSBjb2RlIGZvciBDKyswMyBhbmQgQysrMTEsIDxwcmU+dHlwZW5hbWUgcmViaW5kX3BvaW50ZXI8VT46OnR5cGU8L3ByZT4KKyAgICAgIC8vIXNoYWxsIGJlIHVzZWQgaW5zdGVhZCBvZiByZWJpbmQ8VT4gdG8gb2J0YWluIGEgcG9pbnRlciB0byBVLgorICAgICAgdGVtcGxhdGUgPGNsYXNzIFU+IHVzaW5nIHJlYmluZCA9IHVuc3BlY2lmaWVkOworCisgICAgICAvLyFQdHI6OnJlYmluZDxVPiBpZiBzdWNoIGEgdHlwZSBleGlzdHM7IG90aGVyd2lzZSwgU29tZVBvaW50ZXI8VSwgQXJncz4gaWYgUHRyIGlzCisgICAgICAvLyFhIGNsYXNzIHRlbXBsYXRlIGluc3RhbnRpYXRpb24gb2YgdGhlIGZvcm0gU29tZVBvaW50ZXI8VCwgQXJncz4sIHdoZXJlIEFyZ3MgaXMgemVybyBvcgorICAgICAgLy8hbW9yZSB0eXBlIGFyZ3VtZW50cyA7IG90aGVyd2lzZSwgdGhlIGluc3RhbnRpYXRpb24gb2YgcmViaW5kIGlzIGlsbC1mb3JtZWQuCisgICAgICAvLyEKKyAgICAgIHR5cGVkZWYgZWxlbWVudF90eXBlICZyZWZlcmVuY2U7CisgICAjZWxzZQorICAgICAgdHlwZWRlZiBQdHIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9pbnRlcjsKKyAgICAgIC8vCisgICAgICB0eXBlZGVmIEJPT1NUX0lOVFJVU0lWRV9PQlRBSU5fVFlQRV9XSVRIX0VWQUxfREVGQVVMVAorICAgICAgICAgKCBuZG5ib29zdDo6aW50cnVzaXZlOjpkZXRhaWw6OiwgUHRyLCBlbGVtZW50X3R5cGUKKyAgICAgICAgICwgbmRuYm9vc3Q6OmludHJ1c2l2ZTo6ZGV0YWlsOjpmaXJzdF9wYXJhbTxQdHI+KSAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnRfdHlwZTsKKyAgICAgIC8vCisgICAgICB0eXBlZGVmIEJPT1NUX0lOVFJVU0lWRV9PQlRBSU5fVFlQRV9XSVRIX0RFRkFVTFQKKyAgICAgICAgIChuZG5ib29zdDo6aW50cnVzaXZlOjpkZXRhaWw6OiwgUHRyLCBkaWZmZXJlbmNlX3R5cGUsIHN0ZDo6cHRyZGlmZl90KSAgIGRpZmZlcmVuY2VfdHlwZTsKKyAgICAgIC8vCisgICAgICB0eXBlZGVmIHR5cGVuYW1lIG5kbmJvb3N0OjppbnRydXNpdmU6OmRldGFpbDo6dW52b2lkPGVsZW1lbnRfdHlwZT46OnR5cGUmICByZWZlcmVuY2U7CisgICAgICAvLworICAgICAgdGVtcGxhdGUgPGNsYXNzIFU+IHN0cnVjdCByZWJpbmRfcG9pbnRlcgorICAgICAgeworICAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBuZG5ib29zdDo6aW50cnVzaXZlOjpkZXRhaWw6OnR5cGVfcmViaW5kZXI8UHRyLCBVPjo6dHlwZSAgdHlwZTsKKyAgICAgIH07CisKKyAgICAgICNpZiAhZGVmaW5lZChCT09TVF9OT19DWFgxMV9URU1QTEFURV9BTElBU0VTKQorICAgICAgICAgdGVtcGxhdGUgPGNsYXNzIFU+IHVzaW5nIHJlYmluZCA9IHR5cGVuYW1lIG5kbmJvb3N0OjppbnRydXNpdmU6OmRldGFpbDo6dHlwZV9yZWJpbmRlcjxQdHIsIFU+Ojp0eXBlOworICAgICAgI2VuZGlmCisgICAjZW5kaWYgICAvLyNpZiAhZGVmaW5lZChCT09TVF9OT19DWFgxMV9URU1QTEFURV9BTElBU0VTKQorCisgICAvLyEgPGI+UmVtYXJrPC9iPjogSWYgZWxlbWVudF90eXBlIGlzIChwb3NzaWJseSBjdi1xdWFsaWZpZWQpIHZvaWQsIHIgdHlwZSBpcyB1bnNwZWNpZmllZDsgb3RoZXJ3aXNlLAorICAgLy8hICAgaXQgaXMgZWxlbWVudF90eXBlICYuCisgICAvLyEKKyAgIC8vISA8Yj5SZXR1cm5zPC9iPjogQSBkZXJlZmVyZW5jZWFibGUgcG9pbnRlciB0byByIG9idGFpbmVkIGJ5IGNhbGxpbmcgUHRyOjpwb2ludGVyX3RvKHIpLgorICAgLy8hICAgTm9uLXN0YW5kYXJkIGV4dGVuc2lvbjogSWYgc3VjaCBmdW5jdGlvbiBkb2VzIG5vdCBleGlzdCwgcmV0dXJucyBwb2ludGVyKGFkZHJlc3NvZihyKSk7CisgICBzdGF0aWMgcG9pbnRlciBwb2ludGVyX3RvKHJlZmVyZW5jZSByKQorICAgeworICAgICAgLy9Ob24tc3RhbmRhcmQgZXh0ZW5zaW9uLCBpdCBkb2VzIG5vdCByZXF1aXJlIFB0cjo6cG9pbnRlcl90by4gSWYgbm90IHByZXNlbnQKKyAgICAgIC8vdHJpZXMgdG8gY29udmVydHMgJnIgdG8gcG9pbnRlci4KKyAgICAgIGNvbnN0IGJvb2wgdmFsdWUgPSBuZG5ib29zdDo6aW50cnVzaXZlOjpkZXRhaWw6OgorICAgICAgICAgaGFzX21lbWJlcl9mdW5jdGlvbl9jYWxsYWJsZV93aXRoX3BvaW50ZXJfdG8KKyAgICAgICAgICAgIDxQdHIsIHR5cGVuYW1lIG5kbmJvb3N0OjppbnRydXNpdmU6OmRldGFpbDo6dW52b2lkPGVsZW1lbnRfdHlwZSAmPjo6dHlwZT46OnZhbHVlOworICAgICAgOjpuZG5ib29zdDo6aW50ZWdyYWxfY29uc3RhbnQ8Ym9vbCwgdmFsdWU+IGZsYWc7CisgICAgICByZXR1cm4gcG9pbnRlcl90cmFpdHM6OnByaXZfcG9pbnRlcl90byhmbGFnLCByKTsKKyAgIH0KKworICAgLy8hIDxiPlJlbWFyazwvYj46IE5vbi1zdGFuZGFyZCBleHRlbnNpb24uCisgICAvLyEKKyAgIC8vISA8Yj5SZXR1cm5zPC9iPjogQSBkZXJlZmVyZW5jZWFibGUgcG9pbnRlciB0byByIG9idGFpbmVkIGJ5IGNhbGxpbmcgUHRyOjpzdGF0aWNfY2FzdF9mcm9tKHIpLgorICAgLy8hICAgSWYgc3VjaCBmdW5jdGlvbiBkb2VzIG5vdCBleGlzdCwgcmV0dXJucyBwb2ludGVyX3RvKHN0YXRpY19jYXN0PGVsZW1lbnRfdHlwZSY+KCp1cHRyKSkKKyAgIHRlbXBsYXRlPGNsYXNzIFVQdHI+CisgICBzdGF0aWMgcG9pbnRlciBzdGF0aWNfY2FzdF9mcm9tKGNvbnN0IFVQdHIgJnVwdHIpCisgICB7CisgICAgICBjb25zdCBib29sIHZhbHVlID0gbmRuYm9vc3Q6OmludHJ1c2l2ZTo6ZGV0YWlsOjoKKyAgICAgICAgIGhhc19tZW1iZXJfZnVuY3Rpb25fY2FsbGFibGVfd2l0aF9zdGF0aWNfY2FzdF9mcm9tCisgICAgICAgICAgICA8UHRyLCBjb25zdCBVUHRyPjo6dmFsdWU7CisgICAgICA6Om5kbmJvb3N0OjppbnRlZ3JhbF9jb25zdGFudDxib29sLCB2YWx1ZT4gZmxhZzsKKyAgICAgIHJldHVybiBwb2ludGVyX3RyYWl0czo6cHJpdl9zdGF0aWNfY2FzdF9mcm9tKGZsYWcsIHVwdHIpOworICAgfQorCisgICAvLyEgPGI+UmVtYXJrPC9iPjogTm9uLXN0YW5kYXJkIGV4dGVuc2lvbi4KKyAgIC8vIQorICAgLy8hIDxiPlJldHVybnM8L2I+OiBBIGRlcmVmZXJlbmNlYWJsZSBwb2ludGVyIHRvIHIgb2J0YWluZWQgYnkgY2FsbGluZyBQdHI6OmNvbnN0X2Nhc3RfZnJvbShyKS4KKyAgIC8vISAgIElmIHN1Y2ggZnVuY3Rpb24gZG9lcyBub3QgZXhpc3QsIHJldHVybnMgcG9pbnRlcl90byhjb25zdF9jYXN0PGVsZW1lbnRfdHlwZSY+KCp1cHRyKSkKKyAgIHRlbXBsYXRlPGNsYXNzIFVQdHI+CisgICBzdGF0aWMgcG9pbnRlciBjb25zdF9jYXN0X2Zyb20oY29uc3QgVVB0ciAmdXB0cikKKyAgIHsKKyAgICAgIGNvbnN0IGJvb2wgdmFsdWUgPSBuZG5ib29zdDo6aW50cnVzaXZlOjpkZXRhaWw6OgorICAgICAgICAgaGFzX21lbWJlcl9mdW5jdGlvbl9jYWxsYWJsZV93aXRoX2NvbnN0X2Nhc3RfZnJvbQorICAgICAgICAgICAgPFB0ciwgY29uc3QgVVB0cj46OnZhbHVlOworICAgICAgOjpuZG5ib29zdDo6aW50ZWdyYWxfY29uc3RhbnQ8Ym9vbCwgdmFsdWU+IGZsYWc7CisgICAgICByZXR1cm4gcG9pbnRlcl90cmFpdHM6OnByaXZfY29uc3RfY2FzdF9mcm9tKGZsYWcsIHVwdHIpOworICAgfQorCisgICAvLyEgPGI+UmVtYXJrPC9iPjogTm9uLXN0YW5kYXJkIGV4dGVuc2lvbi4KKyAgIC8vIQorICAgLy8hIDxiPlJldHVybnM8L2I+OiBBIGRlcmVmZXJlbmNlYWJsZSBwb2ludGVyIHRvIHIgb2J0YWluZWQgYnkgY2FsbGluZyBQdHI6OmR5bmFtaWNfY2FzdF9mcm9tKHIpLgorICAgLy8hICAgSWYgc3VjaCBmdW5jdGlvbiBkb2VzIG5vdCBleGlzdCwgcmV0dXJucyBwb2ludGVyX3RvKCpkeW5hbWljX2Nhc3Q8ZWxlbWVudF90eXBlKj4oJip1cHRyKSkKKyAgIHRlbXBsYXRlPGNsYXNzIFVQdHI+CisgICBzdGF0aWMgcG9pbnRlciBkeW5hbWljX2Nhc3RfZnJvbShjb25zdCBVUHRyICZ1cHRyKQorICAgeworICAgICAgY29uc3QgYm9vbCB2YWx1ZSA9IG5kbmJvb3N0OjppbnRydXNpdmU6OmRldGFpbDo6CisgICAgICAgICBoYXNfbWVtYmVyX2Z1bmN0aW9uX2NhbGxhYmxlX3dpdGhfZHluYW1pY19jYXN0X2Zyb20KKyAgICAgICAgICAgIDxQdHIsIGNvbnN0IFVQdHI+Ojp2YWx1ZTsKKyAgICAgIDo6bmRuYm9vc3Q6OmludGVncmFsX2NvbnN0YW50PGJvb2wsIHZhbHVlPiBmbGFnOworICAgICAgcmV0dXJuIHBvaW50ZXJfdHJhaXRzOjpwcml2X2R5bmFtaWNfY2FzdF9mcm9tKGZsYWcsIHVwdHIpOworICAgfQorCisgICAvLy9AY29uZAorICAgcHJpdmF0ZToKKyAgIC8vcHJpdl90b19yYXdfcG9pbnRlcgorICAgdGVtcGxhdGUgPGNsYXNzIFQ+CisgICBzdGF0aWMgVCogdG9fcmF3X3BvaW50ZXIoVCogcCkKKyAgIHsgIHJldHVybiBwOyB9CisKKyAgIHRlbXBsYXRlIDxjbGFzcyBQb2ludGVyPgorICAgc3RhdGljIHR5cGVuYW1lIHBvaW50ZXJfdHJhaXRzPFBvaW50ZXI+OjplbGVtZW50X3R5cGUqCisgICAgICB0b19yYXdfcG9pbnRlcihjb25zdCBQb2ludGVyICZwKQorICAgeyAgcmV0dXJuIHBvaW50ZXJfdHJhaXRzOjp0b19yYXdfcG9pbnRlcihwLm9wZXJhdG9yLT4oKSk7ICB9CisKKyAgIC8vcHJpdl9wb2ludGVyX3RvCisgICBzdGF0aWMgcG9pbnRlciBwcml2X3BvaW50ZXJfdG8obmRuYm9vc3Q6OnRydWVfdHlwZSwgdHlwZW5hbWUgbmRuYm9vc3Q6OmludHJ1c2l2ZTo6ZGV0YWlsOjp1bnZvaWQ8ZWxlbWVudF90eXBlPjo6dHlwZSYgcikKKyAgICAgIHsgcmV0dXJuIFB0cjo6cG9pbnRlcl90byhyKTsgfQorCisgICBzdGF0aWMgcG9pbnRlciBwcml2X3BvaW50ZXJfdG8obmRuYm9vc3Q6OmZhbHNlX3R5cGUsIHR5cGVuYW1lIG5kbmJvb3N0OjppbnRydXNpdmU6OmRldGFpbDo6dW52b2lkPGVsZW1lbnRfdHlwZT46OnR5cGUmIHIpCisgICAgICB7IHJldHVybiBwb2ludGVyKG5kbmJvb3N0OjppbnRydXNpdmU6OmRldGFpbDo6YWRkcmVzc29mKHIpKTsgfQorCisgICAvL3ByaXZfc3RhdGljX2Nhc3RfZnJvbQorICAgdGVtcGxhdGU8Y2xhc3MgVVB0cj4KKyAgIHN0YXRpYyBwb2ludGVyIHByaXZfc3RhdGljX2Nhc3RfZnJvbShuZG5ib29zdDo6dHJ1ZV90eXBlLCBjb25zdCBVUHRyICZ1cHRyKQorICAgeyByZXR1cm4gUHRyOjpzdGF0aWNfY2FzdF9mcm9tKHVwdHIpOyB9CisKKyAgIHRlbXBsYXRlPGNsYXNzIFVQdHI+CisgICBzdGF0aWMgcG9pbnRlciBwcml2X3N0YXRpY19jYXN0X2Zyb20obmRuYm9vc3Q6OmZhbHNlX3R5cGUsIGNvbnN0IFVQdHIgJnVwdHIpCisgICB7ICByZXR1cm4gcG9pbnRlcl90bygqc3RhdGljX2Nhc3Q8ZWxlbWVudF90eXBlKj4odG9fcmF3X3BvaW50ZXIodXB0cikpKTsgIH0KKworICAgLy9wcml2X2NvbnN0X2Nhc3RfZnJvbQorICAgdGVtcGxhdGU8Y2xhc3MgVVB0cj4KKyAgIHN0YXRpYyBwb2ludGVyIHByaXZfY29uc3RfY2FzdF9mcm9tKG5kbmJvb3N0Ojp0cnVlX3R5cGUsIGNvbnN0IFVQdHIgJnVwdHIpCisgICB7IHJldHVybiBQdHI6OmNvbnN0X2Nhc3RfZnJvbSh1cHRyKTsgfQorCisgICB0ZW1wbGF0ZTxjbGFzcyBVUHRyPgorICAgc3RhdGljIHBvaW50ZXIgcHJpdl9jb25zdF9jYXN0X2Zyb20obmRuYm9vc3Q6OmZhbHNlX3R5cGUsIGNvbnN0IFVQdHIgJnVwdHIpCisgICB7ICByZXR1cm4gcG9pbnRlcl90byhjb25zdF9jYXN0PGVsZW1lbnRfdHlwZSY+KCp1cHRyKSk7ICB9CisKKyAgIC8vcHJpdl9keW5hbWljX2Nhc3RfZnJvbQorICAgdGVtcGxhdGU8Y2xhc3MgVVB0cj4KKyAgIHN0YXRpYyBwb2ludGVyIHByaXZfZHluYW1pY19jYXN0X2Zyb20obmRuYm9vc3Q6OnRydWVfdHlwZSwgY29uc3QgVVB0ciAmdXB0cikKKyAgIHsgcmV0dXJuIFB0cjo6ZHluYW1pY19jYXN0X2Zyb20odXB0cik7IH0KKworICAgdGVtcGxhdGU8Y2xhc3MgVVB0cj4KKyAgIHN0YXRpYyBwb2ludGVyIHByaXZfZHluYW1pY19jYXN0X2Zyb20obmRuYm9vc3Q6OmZhbHNlX3R5cGUsIGNvbnN0IFVQdHIgJnVwdHIpCisgICB7ICByZXR1cm4gcG9pbnRlcl90bygqZHluYW1pY19jYXN0PGVsZW1lbnRfdHlwZSo+KCYqdXB0cikpOyAgfQorICAgLy8vQGVuZGNvbmQKK307CisKKy8vL0Bjb25kCisKKy8vIFJlbW92ZSBjdiBxdWFsaWZpY2F0aW9uIGZyb20gUHRyIHBhcmFtZXRlciB0byBwb2ludGVyX3RyYWl0czoKK3RlbXBsYXRlIDx0eXBlbmFtZSBQdHI+CitzdHJ1Y3QgcG9pbnRlcl90cmFpdHM8Y29uc3QgUHRyPiA6IHBvaW50ZXJfdHJhaXRzPFB0cj4ge307Cit0ZW1wbGF0ZSA8dHlwZW5hbWUgUHRyPgorc3RydWN0IHBvaW50ZXJfdHJhaXRzPHZvbGF0aWxlIFB0cj4gOiBwb2ludGVyX3RyYWl0czxQdHI+IHsgfTsKK3RlbXBsYXRlIDx0eXBlbmFtZSBQdHI+CitzdHJ1Y3QgcG9pbnRlcl90cmFpdHM8Y29uc3Qgdm9sYXRpbGUgUHRyPiA6IHBvaW50ZXJfdHJhaXRzPFB0cj4geyB9OworLy8gUmVtb3ZlIHJlZmVyZW5jZSBmcm9tIFB0ciBwYXJhbWV0ZXIgdG8gcG9pbnRlcl90cmFpdHM6Cit0ZW1wbGF0ZSA8dHlwZW5hbWUgUHRyPgorc3RydWN0IHBvaW50ZXJfdHJhaXRzPFB0ciY+IDogcG9pbnRlcl90cmFpdHM8UHRyPiB7IH07CisKKy8vL0BlbmRjb25kCisKKy8vISBTcGVjaWFsaXphdGlvbiBvZiBwb2ludGVyX3RyYWl0cyBmb3IgcmF3IHBvaW50ZXJzCisvLyEKK3RlbXBsYXRlIDx0eXBlbmFtZSBUPgorc3RydWN0IHBvaW50ZXJfdHJhaXRzPFQqPgoreworICAgdHlwZWRlZiBUICAgICAgICAgICAgZWxlbWVudF90eXBlOworICAgdHlwZWRlZiBUKiAgICAgICAgICAgcG9pbnRlcjsKKyAgIHR5cGVkZWYgc3RkOjpwdHJkaWZmX3QgZGlmZmVyZW5jZV90eXBlOworCisgICAjaWZkZWYgQk9PU1RfSU5UUlVTSVZFX0RPWFlHRU5fSU5WT0tFRAorICAgICAgdHlwZWRlZiBUICYgICAgICAgICAgcmVmZXJlbmNlOworICAgICAgLy8hdHlwZWRlZiBmb3IgPHByZT5VICo8L3ByZT4KKyAgICAgIC8vIQorICAgICAgLy8hRm9yIHBvcnRhYmxlIGNvZGUgZm9yIEMrKzAzIGFuZCBDKysxMSwgPHByZT50eXBlbmFtZSByZWJpbmRfcG9pbnRlcjxVPjo6dHlwZTwvcHJlPgorICAgICAgLy8hc2hhbGwgYmUgdXNlZCBpbnN0ZWFkIG9mIHJlYmluZDxVPiB0byBvYnRhaW4gYSBwb2ludGVyIHRvIFUuCisgICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVT4gdXNpbmcgcmViaW5kID0gVSo7CisgICAjZWxzZQorICAgICAgdHlwZWRlZiB0eXBlbmFtZSBuZG5ib29zdDo6aW50cnVzaXZlOjpkZXRhaWw6OnVudm9pZDxlbGVtZW50X3R5cGU+Ojp0eXBlJiByZWZlcmVuY2U7CisgICAgICAjaWYgIWRlZmluZWQoQk9PU1RfTk9fQ1hYMTFfVEVNUExBVEVfQUxJQVNFUykKKyAgICAgICAgIHRlbXBsYXRlIDxjbGFzcyBVPiB1c2luZyByZWJpbmQgPSBVKjsKKyAgICAgICNlbmRpZgorICAgI2VuZGlmCisKKyAgIHRlbXBsYXRlIDxjbGFzcyBVPiBzdHJ1Y3QgcmViaW5kX3BvaW50ZXIKKyAgIHsgIHR5cGVkZWYgVSogdHlwZTsgIH07CisKKyAgIC8vISA8Yj5SZXR1cm5zPC9iPjogYWRkcmVzc29mKHIpCisgICAvLyEKKyAgIHN0YXRpYyBwb2ludGVyIHBvaW50ZXJfdG8ocmVmZXJlbmNlIHIpCisgICB7IHJldHVybiBuZG5ib29zdDo6aW50cnVzaXZlOjpkZXRhaWw6OmFkZHJlc3NvZihyKTsgfQorCisgICAvLyEgPGI+UmV0dXJuczwvYj46IHN0YXRpY19jYXN0PHBvaW50ZXI+KHVwdHIpCisgICAvLyEKKyAgIHRlbXBsYXRlPGNsYXNzIFU+CisgICBzdGF0aWMgcG9pbnRlciBzdGF0aWNfY2FzdF9mcm9tKFUgKnVwdHIpCisgICB7ICByZXR1cm4gc3RhdGljX2Nhc3Q8cG9pbnRlcj4odXB0cik7ICB9CisKKyAgIC8vISA8Yj5SZXR1cm5zPC9iPjogY29uc3RfY2FzdDxwb2ludGVyPih1cHRyKQorICAgLy8hCisgICB0ZW1wbGF0ZTxjbGFzcyBVPgorICAgc3RhdGljIHBvaW50ZXIgY29uc3RfY2FzdF9mcm9tKFUgKnVwdHIpCisgICB7ICByZXR1cm4gY29uc3RfY2FzdDxwb2ludGVyPih1cHRyKTsgIH0KKworICAgLy8hIDxiPlJldHVybnM8L2I+OiBkeW5hbWljX2Nhc3Q8cG9pbnRlcj4odXB0cikKKyAgIC8vIQorICAgdGVtcGxhdGU8Y2xhc3MgVT4KKyAgIHN0YXRpYyBwb2ludGVyIGR5bmFtaWNfY2FzdF9mcm9tKFUgKnVwdHIpCisgICB7ICByZXR1cm4gZHluYW1pY19jYXN0PHBvaW50ZXI+KHVwdHIpOyAgfQorfTsKKworfSAgLy9uYW1lc3BhY2UgY29udGFpbmVyIHsKK30gIC8vbmFtZXNwYWNlIG5kbmJvb3N0IHsKKworI2luY2x1ZGUgPG5kbmJvb3N0L2ludHJ1c2l2ZS9kZXRhaWwvY29uZmlnX2VuZC5ocHA+CisKKyNlbmRpZiAvLyAhIGRlZmluZWQoQk9PU1RfSU5UUlVTSVZFX1BPSU5URVJfVFJBSVRTX0hQUCkKZGlmZiAtLWdpdCBhL25kbmJvb3N0L2l0ZXJhdG9yLmhwcCBiL25kbmJvb3N0L2l0ZXJhdG9yLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZWM5MjYwCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvaXRlcmF0b3IuaHBwCkBAIC0wLDAgKzEsNTkgQEAKKy8vICBpdGVyYXRvci5ocHAgd29ya2Fyb3VuZHMgZm9yIG5vbi1jb25mb3JtaW5nIHN0YW5kYXJkIGxpYnJhcmllcyAgLS0tLS0tLS0tLy8KKworLy8gIChDKSBDb3B5cmlnaHQgQmVtYW4gRGF3ZXMgMjAwMC4gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0CisvLyAgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIChTZWUgYWNjb21wYW55aW5nIGZpbGUKKy8vICBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisKKy8vICBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvbGlicy91dGlsaXR5IGZvciBkb2N1bWVudGF0aW9uLgorCisvLyAgUmV2aXNpb24gSGlzdG9yeQorLy8gIDEyIEphbiAwMSBhZGRlZCA8Y3N0ZGRlZj4gZm9yIHN0ZDo6cHRyZGlmZl90IChKZW5zIE1hdXJlcikKKy8vICAyOCBKdW4gMDAgV29ya2Fyb3VuZHMgdG8gZGVhbCB3aXRoIGtub3duIE1TVkMgYnVncyAoRGF2aWQgQWJyYWhhbXMpCisvLyAgMjYgSnVuIDAwIEluaXRpYWwgdmVyc2lvbiAoSmVyZW15IFNpZWspCisKKyNpZm5kZWYgQk9PU1RfSVRFUkFUT1JfSFBQCisjZGVmaW5lIEJPT1NUX0lURVJBVE9SX0hQUAorCisjaW5jbHVkZSA8aXRlcmF0b3I+CisjaW5jbHVkZSA8Y3N0ZGRlZj4gICAgICAgICAgIC8vIHN0ZDo6cHRyZGlmZl90CisjaW5jbHVkZSA8bmRuYm9vc3QvY29uZmlnLmhwcD4KKworbmFtZXNwYWNlIG5kbmJvb3N0Cit7CisjIGlmIGRlZmluZWQoQk9PU1RfTk9fU1REX0lURVJBVE9SKSAmJiAhZGVmaW5lZChCT09TVF9NU1ZDX1NURF9JVEVSQVRPUikKKyAgdGVtcGxhdGUgPGNsYXNzIENhdGVnb3J5LCBjbGFzcyBULAorICAgIGNsYXNzIERpc3RhbmNlID0gc3RkOjpwdHJkaWZmX3QsCisgICAgY2xhc3MgUG9pbnRlciA9IFQqLCBjbGFzcyBSZWZlcmVuY2UgPSBUJj4KKyAgc3RydWN0IGl0ZXJhdG9yCisgIHsKKyAgICB0eXBlZGVmIFQgICAgICAgICB2YWx1ZV90eXBlOworICAgIHR5cGVkZWYgRGlzdGFuY2UgIGRpZmZlcmVuY2VfdHlwZTsKKyAgICB0eXBlZGVmIFBvaW50ZXIgICBwb2ludGVyOworICAgIHR5cGVkZWYgUmVmZXJlbmNlIHJlZmVyZW5jZTsKKyAgICB0eXBlZGVmIENhdGVnb3J5ICBpdGVyYXRvcl9jYXRlZ29yeTsKKyAgfTsKKyMgZWxzZQorCisgIC8vIGRlY2xhcmUgaXRlcmF0b3JfYmFzZSBpbiBuYW1lc3BhY2UgZGV0YWlsIHRvIHdvcmsgYXJvdW5kIE1TVkMgYnVncyB3aGljaAorICAvLyBwcmV2ZW50IGRlcml2YXRpb24gZnJvbSBhbiBpZGVudGljYWxseS1uYW1lZCBjbGFzcyBpbiBhIGRpZmZlcmVudCBuYW1lc3BhY2UuCisgIG5hbWVzcGFjZSBkZXRhaWwgeworICAgdGVtcGxhdGUgPGNsYXNzIENhdGVnb3J5LCBjbGFzcyBULCBjbGFzcyBEaXN0YW5jZSwgY2xhc3MgUG9pbnRlciwgY2xhc3MgUmVmZXJlbmNlPgorIyAgaWYgIWRlZmluZWQoQk9PU1RfTVNWQ19TVERfSVRFUkFUT1IpCisgICBzdHJ1Y3QgaXRlcmF0b3JfYmFzZSA6IHN0ZDo6aXRlcmF0b3I8Q2F0ZWdvcnksIFQsIERpc3RhbmNlLCBQb2ludGVyLCBSZWZlcmVuY2U+IHt9OworIyAgZWxzZQorICAgc3RydWN0IGl0ZXJhdG9yX2Jhc2UgOiBzdGQ6Oml0ZXJhdG9yPENhdGVnb3J5LCBULCBEaXN0YW5jZT4KKyAgIHsKKyAgICAgdHlwZWRlZiBSZWZlcmVuY2UgcmVmZXJlbmNlOworICAgICB0eXBlZGVmIFBvaW50ZXIgcG9pbnRlcjsKKyAgICAgdHlwZWRlZiBEaXN0YW5jZSBkaWZmZXJlbmNlX3R5cGU7CisgICB9OworIyAgZW5kaWYKKyAgfQorCisgIHRlbXBsYXRlIDxjbGFzcyBDYXRlZ29yeSwgY2xhc3MgVCwgY2xhc3MgRGlzdGFuY2UgPSBzdGQ6OnB0cmRpZmZfdCwKKyAgICAgICAgICAgIGNsYXNzIFBvaW50ZXIgPSBUKiwgY2xhc3MgUmVmZXJlbmNlID0gVCY+CisgIHN0cnVjdCBpdGVyYXRvciA6IG5kbmJvb3N0OjpkZXRhaWw6Oml0ZXJhdG9yX2Jhc2U8Q2F0ZWdvcnksIFQsIERpc3RhbmNlLCBQb2ludGVyLCBSZWZlcmVuY2U+IHt9OworIyBlbmRpZgorfSAvLyBuYW1lc3BhY2UgbmRuYm9vc3QKKworI2VuZGlmIC8vIEJPT1NUX0lURVJBVE9SX0hQUApkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvaXRlcmF0b3IvZGV0YWlsL2NvbmZpZ19kZWYuaHBwIGIvbmRuYm9vc3QvaXRlcmF0b3IvZGV0YWlsL2NvbmZpZ19kZWYuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg2MTA3MmIKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9pdGVyYXRvci9kZXRhaWwvY29uZmlnX2RlZi5ocHAKQEAgLTAsMCArMSwxMzcgQEAKKy8vIChDKSBDb3B5cmlnaHQgRGF2aWQgQWJyYWhhbXMgMjAwMi4KKy8vIChDKSBDb3B5cmlnaHQgSmVyZW15IFNpZWsgICAgMjAwMi4KKy8vIChDKSBDb3B5cmlnaHQgVGhvbWFzIFdpdHQgICAgMjAwMi4KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gKFNlZQorLy8gYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKworLy8gbm8gaW5jbHVkZSBndWFyZCBtdWx0aXBsZSBpbmNsdXNpb24gaW50ZW5kZWQKKworLy8KKy8vIFRoaXMgaXMgYSB0ZW1wb3Jhcnkgd29ya2Fyb3VuZCB1bnRpbCB0aGUgYnVsayBvZiB0aGlzIGlzCisvLyBhdmFpbGFibGUgaW4gYm9vc3QgY29uZmlnLgorLy8gMjMvMDIvMDMgdGh3CisvLworCisjaW5jbHVkZSA8bmRuYm9vc3QvY29uZmlnLmhwcD4gLy8gZm9yIHByaW9yCisjaW5jbHVkZSA8bmRuYm9vc3QvZGV0YWlsL3dvcmthcm91bmQuaHBwPgorCisjaWZkZWYgQk9PU1RfSVRFUkFUT1JfQ09ORklHX0RFRgorIyBlcnJvciB5b3UgaGF2ZSBuZXN0ZWQgY29uZmlnX2RlZiAjaW5jbHVzaW9uLgorI2Vsc2UgCisjIGRlZmluZSBCT09TVF9JVEVSQVRPUl9DT05GSUdfREVGCisjZW5kaWYgCisKKy8vIFdlIGVuYWJsZSB0aGlzIGFsd2F5cyBub3cuICBPdGhlcndpc2UsIHRoZSBzaW1wbGUgY2FzZSBpbgorLy8gbGlicy9pdGVyYXRvci90ZXN0L2NvbnN0YW50X2l0ZXJhdG9yX2Fycm93LmNwcCBmYWlscyB0byBjb21waWxlCisvLyBiZWNhdXNlIHRoZSBvcGVyYXRvci0+IHJldHVybiBpcyBpbXByb3Blcmx5IGRlZHVjZWQgYXMgYSBub24tY29uc3QKKy8vIHBvaW50ZXIuCisjaWYgMSB8fCBkZWZpbmVkKEJPT1NUX05PX1RFTVBMQVRFX1BBUlRJQUxfU1BFQ0lBTElaQVRJT04pICAgICAgICAgICBcCisgICAgfHwgQk9PU1RfV09SS0FST1VORChfX0JPUkxBTkRDX18sIEJPT1NUX1RFU1RFRF9BVCgweDUzMSkpCisKKy8vIFJlY2FsbCB0aGF0IGluIGdlbmVyYWwsIGNvbXBpbGVycyB3aXRob3V0IHBhcnRpYWwgc3BlY2lhbGl6YXRpb24KKy8vIGNhbid0IHN0cmlwIGNvbnN0bmVzcy4gIENvbnNpZGVyIGNvdW50aW5nX2l0ZXJhdG9yLCB3aGljaCBub3JtYWxseQorLy8gcGFzc2VzIGEgY29uc3QgVmFsdWUgdG8gaXRlcmF0b3JfZmFjYWRlLiAgQXMgYSByZXN1bHQsIGFueSBjb2RlCisvLyB3aGljaCBtYWtlcyBhIHN0ZDo6dmVjdG9yIG9mIHRoZSBpdGVyYXRvcidzIHZhbHVlX3R5cGUgd2lsbCBmYWlsCisvLyB3aGVuIGl0cyBhbGxvY2F0b3IgZGVjbGFyZXMgZnVuY3Rpb25zIG92ZXJsb2FkZWQgb24gcmVmZXJlbmNlIGFuZAorLy8gY29uc3RfcmVmZXJlbmNlICh0aGUgc2FtZSB0eXBlKS4KKy8vCisvLyBGdXJ0aGVybW9yZSwgQm9ybGFuZCA1LjUuMSBkcm9wcyBjb25zdG5lc3MgaW4gZW5vdWdoIHdheXMgdGhhdCB3ZQorLy8gZW5kIHVwIHVzaW5nIGEgcHJveHkgZm9yIG9wZXJhdG9yW10gd2hlbiB3ZSBvdGhlcndpc2Ugc2hvdWxkbid0LgorLy8gVXNpbmcgcmVmZXJlbmNlIGNvbnN0bmVzcyBnaXZlcyBpdCBhbiBleHRyYSBoaW50IHRoYXQgaXQgY2FuCisvLyByZXR1cm4gdGhlIHZhbHVlX3R5cGUgZnJvbSBvcGVyYXRvcltdIGRpcmVjdGx5LCBidXQgaXMgbm90CisvLyBzdHJpY3RseSBuZWNlc3NhcnkuICBOb3Qgc3VyZSBob3cgYmVzdCB0byByZXNvbHZlIHRoaXMgb25lLgorCisjIGRlZmluZSBCT09TVF9JVEVSQVRPUl9SRUZfQ09OU1RORVNTX0tJTExTX1dSSVRBQklMSVRZIDEKKworI2VuZGlmCisKKyNpZiBCT09TVF9XT1JLQVJPVU5EKEJPT1NUX01TVkMsIDw9IDEzMDApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIHx8IEJPT1NUX1dPUktBUk9VTkQoX19CT1JMQU5EQ19fLCBCT09TVF9URVNURURfQVQoMHg1QTApKSAgICAgICAgICAgICAgICAgICBcCisgICAgfHwgKEJPT1NUX1dPUktBUk9VTkQoQk9PU1RfSU5URUxfQ1hYX1ZFUlNJT04sIDw9IDcwMCkgJiYgZGVmaW5lZChfTVNDX1ZFUikpIFwKKyAgICB8fCBCT09TVF9XT1JLQVJPVU5EKF9fREVDQ1hYX1ZFUiwgQk9PU1RfVEVTVEVEX0FUKDYwNTkwMDQyKSkgICAgICAgICAgICAgICAgXAorICAgIHx8IEJPT1NUX1dPUktBUk9VTkQoX19TVU5QUk9fQ0MsIEJPT1NUX1RFU1RFRF9BVCgweDU5MCkpCisgICAgCisjIGRlZmluZSBCT09TVF9OT19MVkFMVUVfUkVUVVJOX0RFVEVDVElPTgorCisjIGlmIDAgLy8gdGVzdCBjb2RlCisgIHN0cnVjdCB2ICB7fTsKKworICB0eXBlZGVmICBjaGFyICgmbm8pWzNdOworCisgIHRlbXBsYXRlIDxjbGFzcyBUPgorICBubyBmb28oVCBjb25zdCYsIC4uLik7CisKKyAgdGVtcGxhdGUgPGNsYXNzIFQ+CisgIGNoYXIgZm9vKFQmLCBpbnQpOworCisKKyAgc3RydWN0IHZhbHVlX2l0ZXJhdG9yCisgIHsKKyAgICAgIHYgb3BlcmF0b3IqKCkgY29uc3Q7CisgIH07CisKKyAgdGVtcGxhdGUgPGNsYXNzIFQ+CisgIHN0cnVjdCBsdmFsdWVfZGVyZWZfaGVscGVyCisgIHsKKyAgICAgIHN0YXRpYyBUJiB4OworICAgICAgZW51bSB7IHZhbHVlID0gKHNpemVvZihmb28oKngsMCkpID09IDEpIH07CisgIH07CisKKyAgaW50IHoyWyhsdmFsdWVfZGVyZWZfaGVscGVyPHYqPjo6dmFsdWUgPT0gMSkgPyAxIDogLTFdOworICBpbnQgelsobHZhbHVlX2RlcmVmX2hlbHBlcjx2YWx1ZV9pdGVyYXRvcj46OnZhbHVlKSA9PSAxID8gLTEgOiAxIF07CisjIGVuZGlmIAorCisjZW5kaWYKKworI2lmIEJPT1NUX1dPUktBUk9VTkQoX19NV0VSS1NfXywgPD0weDI0MDcpCisjICBkZWZpbmUgQk9PU1RfTk9fSVNfQ09OVkVSVElCTEUgLy8gImlzX2NvbnZlcnRpYmxlIGRvZXNuJ3Qgd29yayBmb3Igc2ltcGxlIHR5cGVzIgorI2VuZGlmCisKKyNpZiBCT09TVF9XT1JLQVJPVU5EKF9fR05VQ19fLCA9PSAyKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgfHwgQk9PU1RfV09SS0FST1VORChfX0dOVUNfXywgPT0gMykgJiYgQk9PU1RfV09SS0FST1VORChfX0dOVUNfTUlOT1JfXywgPCA0KSAmJiAhZGVmaW5lZChfX0VER19WRVJTSU9OX18pICAgXAorICAgIHx8IEJPT1NUX1dPUktBUk9VTkQoX19CT1JMQU5EQ19fLCBCT09TVF9URVNURURfQVQoMHg1NTEpKQorIyAgZGVmaW5lIEJPT1NUX05PX0lTX0NPTlZFUlRJQkxFX1RFTVBMQVRFIC8vIFRoZSBmb2xsb3dpbmcgcHJvZ3JhbSBmYWlscyB0byBjb21waWxlOgorCisjICBpZiAwIC8vIHRlc3QgY29kZQorICAgICNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9pc19jb252ZXJ0aWJsZS5ocHA+CisgICAgdGVtcGxhdGUgPGNsYXNzIFQ+CisgICAgc3RydWN0IGZvbworICAgIHsKKyAgICAgICAgZm9vKFQpOworCisgICAgICAgIHRlbXBsYXRlIDxjbGFzcyBVPgorICAgICAgICBmb28oZm9vPFU+IGNvbnN0JiBvdGhlcikgOiBwKG90aGVyLnApIHsgfQorCisgICAgICAgIFQgcDsKKyAgICB9OworCisgICAgYm9vbCB4ID0gbmRuYm9vc3Q6OmlzX2NvbnZlcnRpYmxlPGZvbzxpbnQgY29uc3QqPiwgZm9vPGludCo+ID46OnZhbHVlOworIyAgZW5kaWYKKworI2VuZGlmCisKKworI2lmICFkZWZpbmVkKEJPT1NUX01TVkMpICYmIChkZWZpbmVkKEJPT1NUX05PX1NGSU5BRSkgfHwgZGVmaW5lZChCT09TVF9OT19JU19DT05WRVJUSUJMRSkgfHwgZGVmaW5lZChCT09TVF9OT19JU19DT05WRVJUSUJMRV9URU1QTEFURSkpCisjIGRlZmluZSBCT09TVF9OT19TVFJJQ1RfSVRFUkFUT1JfSU5URVJPUEVSQUJJTElUWQorI2VuZGlmIAorCisjIGlmICFCT09TVF9XT1JLQVJPVU5EKEJPT1NUX01TVkMsIDw9IDEzMDApCisjICBkZWZpbmUgQk9PU1RfQVJHX0RFUEVOREVOVF9UWVBFTkFNRSB0eXBlbmFtZQorIyBlbHNlCisjICBkZWZpbmUgQk9PU1RfQVJHX0RFUEVOREVOVF9UWVBFTkFNRQorIyBlbmRpZgorCisjIGlmIEJPT1NUX1dPUktBUk9VTkQoX19HTlVDX18sID09IDIpICYmIEJPT1NUX1dPUktBUk9VTkQoX19HTlVDX01JTk9SX18sIEJPT1NUX1RFU1RFRF9BVCg5NSkpIFwKKyAgICB8fCBCT09TVF9XT1JLQVJPVU5EKF9fQk9STEFORENfXywgQk9PU1RfVEVTVEVEX0FUKDB4NTY0KSkKKworLy8gR0NDLTIuOTUgZWFnZXJseSBpbnN0YW50aWF0ZXMgdGVtcGxhdGVkIGNvbnN0cnVjdG9ycyBhbmQgY29udmVyc2lvbgorLy8gb3BlcmF0b3JzIGluIGNvbnZlcnRpYmlsaXR5IGNoZWNrcywgY2F1c2luZyBwcmVtYXR1cmUgZXJyb3JzLgorLy8KKy8vIEJvcmxhbmQncyBwcm9ibGVtcyBhcmUgaGFyZGVyIHRvIGRpYWdub3NlIGR1ZSB0byBsYWNrIG9mIGFuCisvLyBpbnN0YW50aWF0aW9uIHN0YWNrIGJhY2t0cmFjZS4gIFRoZXkgbWF5IGJlIGR1ZSBpbiBwYXJ0IHRvIHRoZSBmYWN0CisvLyB0aGF0IGl0IGRyb3BzIGN2LXF1YWxpZmljYXRpb24gd2lsbHktbmlsbHkgaW4gdGVtcGxhdGVzLgorIyAgZGVmaW5lIEJPT1NUX05PX09ORV9XQVlfSVRFUkFUT1JfSU5URVJPUAorIyBlbmRpZiAKKworLy8gbm8gaW5jbHVkZSBndWFyZDsgbXVsdGlwbGUgaW5jbHVzaW9uIGludGVuZGVkCmRpZmYgLS1naXQgYS9uZG5ib29zdC9pdGVyYXRvci9kZXRhaWwvY29uZmlnX3VuZGVmLmhwcCBiL25kbmJvb3N0L2l0ZXJhdG9yL2RldGFpbC9jb25maWdfdW5kZWYuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlkY2QxZDUKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9pdGVyYXRvci9kZXRhaWwvY29uZmlnX3VuZGVmLmhwcApAQCAtMCwwICsxLDI1IEBACisvLyAoQykgQ29weXJpZ2h0IFRob21hcyBXaXR0ICAgIDIwMDIuCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIChTZWUKKy8vIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0CisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisKKy8vIG5vIGluY2x1ZGUgZ3VhcmQgbXVsdGlwbGUgaW5jbHVzaW9uIGludGVuZGVkCisKKy8vCisvLyBUaGlzIGlzIGEgdGVtcG9yYXJ5IHdvcmthcm91bmQgdW50aWwgdGhlIGJ1bGsgb2YgdGhpcyBpcworLy8gYXZhaWxhYmxlIGluIGJvb3N0IGNvbmZpZy4KKy8vIDIzLzAyLzAzIHRodworLy8KKworI3VuZGVmIEJPT1NUX05PX0lTX0NPTlZFUlRJQkxFCisjdW5kZWYgQk9PU1RfTk9fSVNfQ09OVkVSVElCTEVfVEVNUExBVEUKKyN1bmRlZiBCT09TVF9OT19TVFJJQ1RfSVRFUkFUT1JfSU5URVJPUEVSQUJJTElUWQorI3VuZGVmIEJPT1NUX0FSR19ERVBFTkRFTlRfVFlQRU5BTUUKKyN1bmRlZiBCT09TVF9OT19MVkFMVUVfUkVUVVJOX0RFVEVDVElPTgorI3VuZGVmIEJPT1NUX05PX09ORV9XQVlfSVRFUkFUT1JfSU5URVJPUAorCisjaWZkZWYgQk9PU1RfSVRFUkFUT1JfQ09ORklHX0RFRgorIyB1bmRlZiBCT09TVF9JVEVSQVRPUl9DT05GSUdfREVGCisjZWxzZQorIyBlcnJvciBtaXNzaW5nIG9yIG5lc3RlZCAjaW5jbHVkZSBjb25maWdfZGVmCisjZW5kaWYgCmRpZmYgLS1naXQgYS9uZG5ib29zdC9pdGVyYXRvci9pdGVyYXRvcl9jYXRlZ29yaWVzLmhwcCBiL25kbmJvb3N0L2l0ZXJhdG9yL2l0ZXJhdG9yX2NhdGVnb3JpZXMuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlhZGMxM2QKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9pdGVyYXRvci9pdGVyYXRvcl9jYXRlZ29yaWVzLmhwcApAQCAtMCwwICsxLDE4OCBAQAorLy8gKEMpIENvcHlyaWdodCBKZXJlbXkgU2llayAyMDAyLgorLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAoU2VlCisvLyBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorCisjaWZuZGVmIEJPT1NUX0lURVJBVE9SX0NBVEVHT1JJRVNfSFBQCisjIGRlZmluZSBCT09TVF9JVEVSQVRPUl9DQVRFR09SSUVTX0hQUAorCisjIGluY2x1ZGUgPG5kbmJvb3N0L2NvbmZpZy5ocHA+CisjIGluY2x1ZGUgPG5kbmJvb3N0L2RldGFpbC9pdGVyYXRvci5ocHA+CisjIGluY2x1ZGUgPG5kbmJvb3N0L2l0ZXJhdG9yL2RldGFpbC9jb25maWdfZGVmLmhwcD4KKworIyBpbmNsdWRlIDxuZG5ib29zdC9kZXRhaWwvd29ya2Fyb3VuZC5ocHA+CisKKyMgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2V2YWxfaWYuaHBwPgorIyBpbmNsdWRlIDxuZG5ib29zdC9tcGwvaWRlbnRpdHkuaHBwPgorIyBpbmNsdWRlIDxuZG5ib29zdC9tcGwvcGxhY2Vob2xkZXJzLmhwcD4KKyMgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vbGFtYmRhX3N1cHBvcnQuaHBwPgorCisjIGluY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2lzX2NvbnZlcnRpYmxlLmhwcD4KKworIyBpbmNsdWRlIDxuZG5ib29zdC9zdGF0aWNfYXNzZXJ0LmhwcD4KKworbmFtZXNwYWNlIG5kbmJvb3N0IHsKKworLy8KKy8vIFRyYXZlcnNhbCBDYXRlZ29yaWVzCisvLworCitzdHJ1Y3Qgbm9fdHJhdmVyc2FsX3RhZyB7fTsKKworc3RydWN0IGluY3JlbWVudGFibGVfdHJhdmVyc2FsX3RhZyAKKyAgOiBub190cmF2ZXJzYWxfdGFnCit7CisvLyAgICAgaW5jcmVtZW50YWJsZV90cmF2ZXJzYWxfdGFnKCkge30KKy8vICAgICBpbmNyZW1lbnRhYmxlX3RyYXZlcnNhbF90YWcoc3RkOjpvdXRwdXRfaXRlcmF0b3JfdGFnIGNvbnN0Jikge307Cit9OworICAKK3N0cnVjdCBzaW5nbGVfcGFzc190cmF2ZXJzYWxfdGFnCisgIDogaW5jcmVtZW50YWJsZV90cmF2ZXJzYWxfdGFnCit7CisvLyAgICAgc2luZ2xlX3Bhc3NfdHJhdmVyc2FsX3RhZygpIHt9CisvLyAgICAgc2luZ2xlX3Bhc3NfdHJhdmVyc2FsX3RhZyhzdGQ6OmlucHV0X2l0ZXJhdG9yX3RhZyBjb25zdCYpIHt9OworfTsKKyAgCitzdHJ1Y3QgZm9yd2FyZF90cmF2ZXJzYWxfdGFnCisgIDogc2luZ2xlX3Bhc3NfdHJhdmVyc2FsX3RhZworeworLy8gICAgIGZvcndhcmRfdHJhdmVyc2FsX3RhZygpIHt9CisvLyAgICAgZm9yd2FyZF90cmF2ZXJzYWxfdGFnKHN0ZDo6Zm9yd2FyZF9pdGVyYXRvcl90YWcgY29uc3QmKSB7fTsKK307CisgIAorc3RydWN0IGJpZGlyZWN0aW9uYWxfdHJhdmVyc2FsX3RhZworICA6IGZvcndhcmRfdHJhdmVyc2FsX3RhZworeworLy8gICAgIGJpZGlyZWN0aW9uYWxfdHJhdmVyc2FsX3RhZygpIHt9OworLy8gICAgIGJpZGlyZWN0aW9uYWxfdHJhdmVyc2FsX3RhZyhzdGQ6OmJpZGlyZWN0aW9uYWxfaXRlcmF0b3JfdGFnIGNvbnN0Jikge307Cit9OworICAKK3N0cnVjdCByYW5kb21fYWNjZXNzX3RyYXZlcnNhbF90YWcKKyAgOiBiaWRpcmVjdGlvbmFsX3RyYXZlcnNhbF90YWcKK3sKKy8vICAgICByYW5kb21fYWNjZXNzX3RyYXZlcnNhbF90YWcoKSB7fTsKKy8vICAgICByYW5kb21fYWNjZXNzX3RyYXZlcnNhbF90YWcoc3RkOjpyYW5kb21fYWNjZXNzX2l0ZXJhdG9yX3RhZyBjb25zdCYpIHt9OworfTsKKworbmFtZXNwYWNlIGRldGFpbAoreyAgCisgIC8vCisgIC8vIENvbnZlcnQgYSAic3RyaWN0bHkgb2xkLXN0eWxlIiBpdGVyYXRvciBjYXRlZ29yeSB0byBhIHRyYXZlcnNhbAorICAvLyB0YWcuICBUaGlzIGlzIGJyb2tlbiBvdXQgaW50byBhIHNlcGFyYXRlIG1ldGFmdW5jdGlvbiB0byByZWR1Y2UKKyAgLy8gdGhlIGNvc3Qgb2YgaW5zdGFudGlhdGluZyBpdGVyYXRvcl9jYXRlZ29yeV90b190cmF2ZXJzYWwsIGJlbG93LAorICAvLyBmb3IgbmV3LXN0eWxlIHR5cGVzLgorICAvLworICB0ZW1wbGF0ZSA8Y2xhc3MgQ2F0PgorICBzdHJ1Y3Qgb2xkX2NhdGVnb3J5X3RvX3RyYXZlcnNhbAorICAgIDogbXBsOjpldmFsX2lmPAorICAgICAgICAgIGlzX2NvbnZlcnRpYmxlPENhdCxzdGQ6OnJhbmRvbV9hY2Nlc3NfaXRlcmF0b3JfdGFnPgorICAgICAgICAsIG1wbDo6aWRlbnRpdHk8cmFuZG9tX2FjY2Vzc190cmF2ZXJzYWxfdGFnPgorICAgICAgICAsIG1wbDo6ZXZhbF9pZjwKKyAgICAgICAgICAgICAgaXNfY29udmVydGlibGU8Q2F0LHN0ZDo6YmlkaXJlY3Rpb25hbF9pdGVyYXRvcl90YWc+CisgICAgICAgICAgICAsIG1wbDo6aWRlbnRpdHk8YmlkaXJlY3Rpb25hbF90cmF2ZXJzYWxfdGFnPgorICAgICAgICAgICAgLCBtcGw6OmV2YWxfaWY8CisgICAgICAgICAgICAgICAgICBpc19jb252ZXJ0aWJsZTxDYXQsc3RkOjpmb3J3YXJkX2l0ZXJhdG9yX3RhZz4KKyAgICAgICAgICAgICAgICAsIG1wbDo6aWRlbnRpdHk8Zm9yd2FyZF90cmF2ZXJzYWxfdGFnPgorICAgICAgICAgICAgICAgICwgbXBsOjpldmFsX2lmPAorICAgICAgICAgICAgICAgICAgICAgIGlzX2NvbnZlcnRpYmxlPENhdCxzdGQ6OmlucHV0X2l0ZXJhdG9yX3RhZz4KKyAgICAgICAgICAgICAgICAgICAgLCBtcGw6OmlkZW50aXR5PHNpbmdsZV9wYXNzX3RyYXZlcnNhbF90YWc+CisgICAgICAgICAgICAgICAgICAgICwgbXBsOjpldmFsX2lmPAorICAgICAgICAgICAgICAgICAgICAgICAgICBpc19jb252ZXJ0aWJsZTxDYXQsc3RkOjpvdXRwdXRfaXRlcmF0b3JfdGFnPgorICAgICAgICAgICAgICAgICAgICAgICAgLCBtcGw6OmlkZW50aXR5PGluY3JlbWVudGFibGVfdHJhdmVyc2FsX3RhZz4KKyAgICAgICAgICAgICAgICAgICAgICAgICwgdm9pZAorICAgICAgICAgICAgICAgICAgICAgID4KKyAgICAgICAgICAgICAgICAgID4KKyAgICAgICAgICAgICAgPgorICAgICAgICAgID4KKyAgICAgID4KKyAge307CisKKyMgaWYgQk9PU1RfV09SS0FST1VORChCT09TVF9NU1ZDLCA8IDEzMDApCisgIHRlbXBsYXRlIDw+CisgIHN0cnVjdCBvbGRfY2F0ZWdvcnlfdG9fdHJhdmVyc2FsPGludD4KKyAgeworICAgICAgdHlwZWRlZiBpbnQgdHlwZTsKKyAgfTsKKyMgZW5kaWYKKworICB0ZW1wbGF0ZSA8Y2xhc3MgVHJhdmVyc2FsPgorICBzdHJ1Y3QgcHVyZV90cmF2ZXJzYWxfdGFnCisgICAgOiBtcGw6OmV2YWxfaWY8CisgICAgICAgICAgaXNfY29udmVydGlibGU8VHJhdmVyc2FsLHJhbmRvbV9hY2Nlc3NfdHJhdmVyc2FsX3RhZz4KKyAgICAgICAgLCBtcGw6OmlkZW50aXR5PHJhbmRvbV9hY2Nlc3NfdHJhdmVyc2FsX3RhZz4KKyAgICAgICAgLCBtcGw6OmV2YWxfaWY8CisgICAgICAgICAgICAgIGlzX2NvbnZlcnRpYmxlPFRyYXZlcnNhbCxiaWRpcmVjdGlvbmFsX3RyYXZlcnNhbF90YWc+CisgICAgICAgICAgICAsIG1wbDo6aWRlbnRpdHk8YmlkaXJlY3Rpb25hbF90cmF2ZXJzYWxfdGFnPgorICAgICAgICAgICAgLCBtcGw6OmV2YWxfaWY8CisgICAgICAgICAgICAgICAgICBpc19jb252ZXJ0aWJsZTxUcmF2ZXJzYWwsZm9yd2FyZF90cmF2ZXJzYWxfdGFnPgorICAgICAgICAgICAgICAgICwgbXBsOjppZGVudGl0eTxmb3J3YXJkX3RyYXZlcnNhbF90YWc+CisgICAgICAgICAgICAgICAgLCBtcGw6OmV2YWxfaWY8CisgICAgICAgICAgICAgICAgICAgICAgaXNfY29udmVydGlibGU8VHJhdmVyc2FsLHNpbmdsZV9wYXNzX3RyYXZlcnNhbF90YWc+CisgICAgICAgICAgICAgICAgICAgICwgbXBsOjppZGVudGl0eTxzaW5nbGVfcGFzc190cmF2ZXJzYWxfdGFnPgorICAgICAgICAgICAgICAgICAgICAsIG1wbDo6ZXZhbF9pZjwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgaXNfY29udmVydGlibGU8VHJhdmVyc2FsLGluY3JlbWVudGFibGVfdHJhdmVyc2FsX3RhZz4KKyAgICAgICAgICAgICAgICAgICAgICAgICwgbXBsOjppZGVudGl0eTxpbmNyZW1lbnRhYmxlX3RyYXZlcnNhbF90YWc+CisgICAgICAgICAgICAgICAgICAgICAgICAsIHZvaWQKKyAgICAgICAgICAgICAgICAgICAgICA+CisgICAgICAgICAgICAgICAgICA+CisgICAgICAgICAgICAgID4KKyAgICAgICAgICA+CisgICAgICA+CisgIHsKKyAgfTsKKyAgCisjIGlmIEJPT1NUX1dPUktBUk9VTkQoQk9PU1RfTVNWQywgPCAxMzAwKQorICB0ZW1wbGF0ZSA8PgorICBzdHJ1Y3QgcHVyZV90cmF2ZXJzYWxfdGFnPGludD4KKyAgeworICAgICAgdHlwZWRlZiBpbnQgdHlwZTsKKyAgfTsKKyMgZW5kaWYKKworfSAvLyBuYW1lc3BhY2UgZGV0YWlsCisKKworLy8KKy8vIENvbnZlcnQgYW4gaXRlcmF0b3IgY2F0ZWdvcnkgaW50byBhIHRyYXZlcnNhbCB0YWcKKy8vCit0ZW1wbGF0ZSA8Y2xhc3MgQ2F0Pgorc3RydWN0IGl0ZXJhdG9yX2NhdGVnb3J5X3RvX3RyYXZlcnNhbAorICA6IG1wbDo6ZXZhbF9pZjwgLy8gaWYgYWxyZWFkeSBjb252ZXJ0aWJsZSB0byBhIHRyYXZlcnNhbCB0YWcsIHdlJ3JlIGRvbmUuCisgICAgICAgIGlzX2NvbnZlcnRpYmxlPENhdCxpbmNyZW1lbnRhYmxlX3RyYXZlcnNhbF90YWc+CisgICAgICAsIG1wbDo6aWRlbnRpdHk8Q2F0PgorICAgICAgLCBuZG5ib29zdDo6ZGV0YWlsOjpvbGRfY2F0ZWdvcnlfdG9fdHJhdmVyc2FsPENhdD4KKyAgICA+Cit7fTsKKworLy8gVHJhaXQgdG8gZ2V0IGFuIGl0ZXJhdG9yJ3MgdHJhdmVyc2FsIGNhdGVnb3J5Cit0ZW1wbGF0ZSA8Y2xhc3MgSXRlcmF0b3IgPSBtcGw6Ol8xPgorc3RydWN0IGl0ZXJhdG9yX3RyYXZlcnNhbAorICA6IGl0ZXJhdG9yX2NhdGVnb3J5X3RvX3RyYXZlcnNhbDwKKyAgICAgICAgdHlwZW5hbWUgbmRuYm9vc3Q6OmRldGFpbDo6aXRlcmF0b3JfdHJhaXRzPEl0ZXJhdG9yPjo6aXRlcmF0b3JfY2F0ZWdvcnkKKyAgICA+Cit7fTsKKworIyBpZmRlZiBCT09TVF9NUExfQ0ZHX05PX0ZVTExfTEFNQkRBX1NVUFBPUlQKKy8vIEhhY2sgYmVjYXVzZSBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUIGRvZXNuJ3Qgc2VlbSB0byB3b3JrCisvLyBvdXQgd2VsbC4gIEluc3RhbnRpYXRpbmcgdGhlIG5lc3RlZCBhcHBseSB0ZW1wbGF0ZSBhbHNvCisvLyByZXF1aXJlcyBpbnN0YW50aWF0aW5nIGl0ZXJhdG9yX3RyYWl0cyBvbiB0aGUKKy8vIHBsYWNlaG9sZGVyLiBJbnN0ZWFkIHdlIGp1c3Qgc3BlY2lhbGl6ZSBpdCBhcyBhIG1ldGFmdW5jdGlvbgorLy8gY2xhc3MuCit0ZW1wbGF0ZSA8Pgorc3RydWN0IGl0ZXJhdG9yX3RyYXZlcnNhbDxtcGw6Ol8xPgoreworICAgIHRlbXBsYXRlIDxjbGFzcyBUPgorICAgIHN0cnVjdCBhcHBseSA6IGl0ZXJhdG9yX3RyYXZlcnNhbDxUPgorICAgIHt9OworfTsKK3RlbXBsYXRlIDw+CitzdHJ1Y3QgaXRlcmF0b3JfdHJhdmVyc2FsPG1wbDo6Xz4KKyAgOiBpdGVyYXRvcl90cmF2ZXJzYWw8bXBsOjpfMT4KK3t9OworIyBlbmRpZgorCit9IC8vIG5hbWVzcGFjZSBuZG5ib29zdAorCisjaW5jbHVkZSA8bmRuYm9vc3QvaXRlcmF0b3IvZGV0YWlsL2NvbmZpZ191bmRlZi5ocHA+CisKKyNlbmRpZiAvLyBCT09TVF9JVEVSQVRPUl9DQVRFR09SSUVTX0hQUApkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvaXRlcmF0b3IvaXRlcmF0b3JfdHJhaXRzLmhwcCBiL25kbmJvb3N0L2l0ZXJhdG9yL2l0ZXJhdG9yX3RyYWl0cy5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzg1NjVkMwotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L2l0ZXJhdG9yL2l0ZXJhdG9yX3RyYWl0cy5ocHAKQEAgLTAsMCArMSw5MiBAQAorLy8gQ29weXJpZ2h0IERhdmlkIEFicmFoYW1zIDIwMDMuCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIChTZWUKKy8vIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0CisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisjaWZuZGVmIElURVJBVE9SX1RSQUlUU19EV0EyMDAzNDdfSFBQCisjIGRlZmluZSBJVEVSQVRPUl9UUkFJVFNfRFdBMjAwMzQ3X0hQUAorCisjIGluY2x1ZGUgPG5kbmJvb3N0L2RldGFpbC9pdGVyYXRvci5ocHA+CisjIGluY2x1ZGUgPG5kbmJvb3N0L2RldGFpbC93b3JrYXJvdW5kLmhwcD4KKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgCisKKy8vIFVuZm9ydHVuYXRlbHksIGcrKyAyLjk1LnggY2hva2VzIHdoZW4gd2UgZGVmaW5lIGEgY2xhc3MgdGVtcGxhdGUKKy8vIGl0ZXJhdG9yX2NhdGVnb3J5IHdoaWNoIGhhcyB0aGUgc2FtZSBuYW1lIGFzIGl0cworLy8gc3RkOjppdGVyYXRvcl9jYXRlZ29yeSgpIGZ1bmN0aW9uLCBwcm9iYWJseSBkdWUgaW4gcGFydCB0byB0aGUKKy8vICJzdGQ6OiBpcyB2aXNpYmxlIGdsb2JhbGx5IiBoYWNrIGl0IHVzZXMuICBVc2UKKy8vIEJPT1NUX0lURVJBVE9SX0NBVEVHT1JZIHRvIHdyaXRlIGNvZGUgdGhhdCdzIHBvcnRhYmxlIHRvIG9sZGVyCisvLyBHQ0NzLgorCisjIGlmIEJPT1NUX1dPUktBUk9VTkQoX19HTlVDX18sIDw9IDIpCisjICBkZWZpbmUgQk9PU1RfSVRFUkFUT1JfQ0FURUdPUlkgaXRlcmF0b3JfY2F0ZWdvcnlfCisjIGVsc2UKKyMgIGRlZmluZSBCT09TVF9JVEVSQVRPUl9DQVRFR09SWSBpdGVyYXRvcl9jYXRlZ29yeQorIyBlbmRpZgorCisKK3RlbXBsYXRlIDxjbGFzcyBJdGVyYXRvcj4KK3N0cnVjdCBpdGVyYXRvcl92YWx1ZQoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbmRuYm9vc3Q6OmRldGFpbDo6aXRlcmF0b3JfdHJhaXRzPEl0ZXJhdG9yPjo6dmFsdWVfdHlwZSB0eXBlOworfTsKKyAgCit0ZW1wbGF0ZSA8Y2xhc3MgSXRlcmF0b3I+CitzdHJ1Y3QgaXRlcmF0b3JfcmVmZXJlbmNlCit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBuZG5ib29zdDo6ZGV0YWlsOjppdGVyYXRvcl90cmFpdHM8SXRlcmF0b3I+OjpyZWZlcmVuY2UgdHlwZTsKK307CisgIAorICAKK3RlbXBsYXRlIDxjbGFzcyBJdGVyYXRvcj4KK3N0cnVjdCBpdGVyYXRvcl9wb2ludGVyCit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBuZG5ib29zdDo6ZGV0YWlsOjppdGVyYXRvcl90cmFpdHM8SXRlcmF0b3I+Ojpwb2ludGVyIHR5cGU7Cit9OworICAKK3RlbXBsYXRlIDxjbGFzcyBJdGVyYXRvcj4KK3N0cnVjdCBpdGVyYXRvcl9kaWZmZXJlbmNlCit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBuZG5ib29zdDo6ZGV0YWlsOjppdGVyYXRvcl90cmFpdHM8SXRlcmF0b3I+OjpkaWZmZXJlbmNlX3R5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlIDxjbGFzcyBJdGVyYXRvcj4KK3N0cnVjdCBCT09TVF9JVEVSQVRPUl9DQVRFR09SWQoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbmRuYm9vc3Q6OmRldGFpbDo6aXRlcmF0b3JfdHJhaXRzPEl0ZXJhdG9yPjo6aXRlcmF0b3JfY2F0ZWdvcnkgdHlwZTsKK307CisKKyMgaWYgQk9PU1RfV09SS0FST1VORChCT09TVF9NU1ZDLCA8IDEzMDApCit0ZW1wbGF0ZSA8Pgorc3RydWN0IGl0ZXJhdG9yX3ZhbHVlPGludD4KK3sKKyAgICB0eXBlZGVmIHZvaWQgdHlwZTsKK307CisgIAordGVtcGxhdGUgPD4KK3N0cnVjdCBpdGVyYXRvcl9yZWZlcmVuY2U8aW50PgoreworICAgIHR5cGVkZWYgdm9pZCB0eXBlOworfTsKKwordGVtcGxhdGUgPD4KK3N0cnVjdCBpdGVyYXRvcl9wb2ludGVyPGludD4KK3sKKyAgICB0eXBlZGVmIHZvaWQgdHlwZTsKK307CisgIAordGVtcGxhdGUgPD4KK3N0cnVjdCBpdGVyYXRvcl9kaWZmZXJlbmNlPGludD4KK3sKKyAgICB0eXBlZGVmIHZvaWQgdHlwZTsKK307CisgIAordGVtcGxhdGUgPD4KK3N0cnVjdCBCT09TVF9JVEVSQVRPUl9DQVRFR09SWTxpbnQ+Cit7CisgICAgdHlwZWRlZiB2b2lkIHR5cGU7Cit9OworIyBlbmRpZgorCit9IC8vIG5hbWVzcGFjZSBuZG5ib29zdDo6aXRlcmF0b3IKKworI2VuZGlmIC8vIElURVJBVE9SX1RSQUlUU19EV0EyMDAzNDdfSFBQCmRpZmYgLS1naXQgYS9uZG5ib29zdC9saW1pdHMuaHBwIGIvbmRuYm9vc3QvbGltaXRzLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kM2ZkZGI3Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbGltaXRzLmhwcApAQCAtMCwwICsxLDE0NiBAQAorCisvLyAgKEMpIENvcHlyaWdodCBKb2huIG1hZGRvY2sgMTk5OS4gCisvLyAgKEMpIERhdmlkIEFicmFoYW1zIDIwMDIuICBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QKKy8vICBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZQorLy8gIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisvLyB1c2UgdGhpcyBoZWFkZXIgYXMgYSB3b3JrYXJvdW5kIGZvciBtaXNzaW5nIDxsaW1pdHM+CisKKy8vICBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvbGlicy9jb21wYXRpYmlsaXR5L2luZGV4Lmh0bWwgZm9yIGRvY3VtZW50YXRpb24uCisKKyNpZm5kZWYgQk9PU1RfTElNSVRTCisjZGVmaW5lIEJPT1NUX0xJTUlUUworCisjaW5jbHVkZSA8bmRuYm9vc3QvY29uZmlnLmhwcD4KKworI2lmZGVmIEJPT1NUX05PX0xJTUlUUworIyAgZXJyb3IgIlRoZXJlIGlzIG5vIHN0ZDo6bnVtZXJpY19saW1pdHMgc3VwcHBvcnQgYXZhaWxhYmxlLiIKKyNlbHNlCisjIGluY2x1ZGUgPGxpbWl0cz4KKyNlbmRpZgorCisjaWYgKGRlZmluZWQoQk9PU1RfSEFTX0xPTkdfTE9ORykgJiYgZGVmaW5lZChCT09TVF9OT19MT05HX0xPTkdfTlVNRVJJQ19MSU1JVFMpKSBcCisgICAgICB8fCAoZGVmaW5lZChCT09TVF9IQVNfTVNfSU5UNjQpICYmIGRlZmluZWQoQk9PU1RfTk9fTVNfSU5UNjRfTlVNRVJJQ19MSU1JVFMpKQorLy8gQWRkIG1pc3Npbmcgc3BlY2lhbGl6YXRpb25zIGZvciBudW1lcmljX2xpbWl0czoKKyNpZmRlZiBCT09TVF9IQVNfTVNfSU5UNjQKKyMgIGRlZmluZSBCT09TVF9MTFQgX19pbnQ2NAorIyAgZGVmaW5lIEJPT1NUX1VMTFQgdW5zaWduZWQgX19pbnQ2NAorI2Vsc2UKKyMgIGRlZmluZSBCT09TVF9MTFQgIDo6bmRuYm9vc3Q6OmxvbmdfbG9uZ190eXBlCisjICBkZWZpbmUgQk9PU1RfVUxMVCAgOjpuZG5ib29zdDo6dWxvbmdfbG9uZ190eXBlCisjZW5kaWYKKworI2luY2x1ZGUgPGNsaW1pdHM+ICAvLyBmb3IgQ0hBUl9CSVQKKworbmFtZXNwYWNlIHN0ZAoreworICB0ZW1wbGF0ZTw+CisgIGNsYXNzIG51bWVyaWNfbGltaXRzPEJPT1NUX0xMVD4gCisgIHsKKyAgIHB1YmxpYzoKKworICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGJvb2wsIGlzX3NwZWNpYWxpemVkID0gdHJ1ZSk7CisjaWZkZWYgQk9PU1RfSEFTX01TX0lOVDY0CisgICAgICBzdGF0aWMgQk9PU1RfTExUIG1pbiBCT09TVF9QUkVWRU5UX01BQ1JPX1NVQlNUSVRVVElPTiAoKXsgcmV0dXJuIDB4ODAwMDAwMDAwMDAwMDAwMGk2NDsgfQorICAgICAgc3RhdGljIEJPT1NUX0xMVCBtYXggQk9PU1RfUFJFVkVOVF9NQUNST19TVUJTVElUVVRJT04gKCl7IHJldHVybiAweDdGRkZGRkZGRkZGRkZGRkZpNjQ7IH0KKyNlbGlmIGRlZmluZWQoTExPTkdfTUFYKQorICAgICAgc3RhdGljIEJPT1NUX0xMVCBtaW4gQk9PU1RfUFJFVkVOVF9NQUNST19TVUJTVElUVVRJT04gKCl7IHJldHVybiBMTE9OR19NSU47IH0KKyAgICAgIHN0YXRpYyBCT09TVF9MTFQgbWF4IEJPT1NUX1BSRVZFTlRfTUFDUk9fU1VCU1RJVFVUSU9OICgpeyByZXR1cm4gTExPTkdfTUFYOyB9CisjZWxpZiBkZWZpbmVkKExPTkdMT05HX01BWCkKKyAgICAgIHN0YXRpYyBCT09TVF9MTFQgbWluIEJPT1NUX1BSRVZFTlRfTUFDUk9fU1VCU1RJVFVUSU9OICgpeyByZXR1cm4gTE9OR0xPTkdfTUlOOyB9CisgICAgICBzdGF0aWMgQk9PU1RfTExUIG1heCBCT09TVF9QUkVWRU5UX01BQ1JPX1NVQlNUSVRVVElPTiAoKXsgcmV0dXJuIExPTkdMT05HX01BWDsgfQorI2Vsc2UKKyAgICAgIHN0YXRpYyBCT09TVF9MTFQgbWluIEJPT1NUX1BSRVZFTlRfTUFDUk9fU1VCU1RJVFVUSU9OICgpeyByZXR1cm4gMUxMIDw8IChzaXplb2YoQk9PU1RfTExUKSAqIENIQVJfQklUIC0gMSk7IH0KKyAgICAgIHN0YXRpYyBCT09TVF9MTFQgbWF4IEJPT1NUX1BSRVZFTlRfTUFDUk9fU1VCU1RJVFVUSU9OICgpeyByZXR1cm4gfihtaW4pKCk7IH0KKyNlbmRpZgorICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgZGlnaXRzID0gc2l6ZW9mKEJPT1NUX0xMVCkgKiBDSEFSX0JJVCAtMSk7CisgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCBkaWdpdHMxMCA9IChDSEFSX0JJVCAqIHNpemVvZiAoQk9PU1RfTExUKSAtIDEpICogMzAxTCAvIDEwMDApOworICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGJvb2wsIGlzX3NpZ25lZCA9IHRydWUpOworICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGJvb2wsIGlzX2ludGVnZXIgPSB0cnVlKTsKKyAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChib29sLCBpc19leGFjdCA9IHRydWUpOworICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgcmFkaXggPSAyKTsKKyAgICAgIHN0YXRpYyBCT09TVF9MTFQgZXBzaWxvbigpIHRocm93KCkgeyByZXR1cm4gMDsgfTsKKyAgICAgIHN0YXRpYyBCT09TVF9MTFQgcm91bmRfZXJyb3IoKSB0aHJvdygpIHsgcmV0dXJuIDA7IH07CisKKyAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIG1pbl9leHBvbmVudCA9IDApOworICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgbWluX2V4cG9uZW50MTAgPSAwKTsKKyAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIG1heF9leHBvbmVudCA9IDApOworICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgbWF4X2V4cG9uZW50MTAgPSAwKTsKKworICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGJvb2wsIGhhc19pbmZpbml0eSA9IGZhbHNlKTsKKyAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChib29sLCBoYXNfcXVpZXRfTmFOID0gZmFsc2UpOworICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGJvb2wsIGhhc19zaWduYWxpbmdfTmFOID0gZmFsc2UpOworICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGJvb2wsIGhhc19kZW5vcm0gPSBmYWxzZSk7CisgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoYm9vbCwgaGFzX2Rlbm9ybV9sb3NzID0gZmFsc2UpOworICAgICAgc3RhdGljIEJPT1NUX0xMVCBpbmZpbml0eSgpIHRocm93KCkgeyByZXR1cm4gMDsgfTsKKyAgICAgIHN0YXRpYyBCT09TVF9MTFQgcXVpZXRfTmFOKCkgdGhyb3coKSB7IHJldHVybiAwOyB9OworICAgICAgc3RhdGljIEJPT1NUX0xMVCBzaWduYWxpbmdfTmFOKCkgdGhyb3coKSB7IHJldHVybiAwOyB9OworICAgICAgc3RhdGljIEJPT1NUX0xMVCBkZW5vcm1fbWluKCkgdGhyb3coKSB7IHJldHVybiAwOyB9OworCisgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoYm9vbCwgaXNfaWVjNTU5ID0gZmFsc2UpOworICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGJvb2wsIGlzX2JvdW5kZWQgPSB0cnVlKTsKKyAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChib29sLCBpc19tb2R1bG8gPSB0cnVlKTsKKworICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGJvb2wsIHRyYXBzID0gZmFsc2UpOworICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGJvb2wsIHRpbnluZXNzX2JlZm9yZSA9IGZhbHNlKTsKKyAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChmbG9hdF9yb3VuZF9zdHlsZSwgcm91bmRfc3R5bGUgPSByb3VuZF90b3dhcmRfemVybyk7CisgICAgICAKKyAgfTsKKworICB0ZW1wbGF0ZTw+CisgIGNsYXNzIG51bWVyaWNfbGltaXRzPEJPT1NUX1VMTFQ+IAorICB7CisgICBwdWJsaWM6CisKKyAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChib29sLCBpc19zcGVjaWFsaXplZCA9IHRydWUpOworI2lmZGVmIEJPT1NUX0hBU19NU19JTlQ2NAorICAgICAgc3RhdGljIEJPT1NUX1VMTFQgbWluIEJPT1NUX1BSRVZFTlRfTUFDUk9fU1VCU1RJVFVUSU9OICgpeyByZXR1cm4gMHVpNjQ7IH0KKyAgICAgIHN0YXRpYyBCT09TVF9VTExUIG1heCBCT09TVF9QUkVWRU5UX01BQ1JPX1NVQlNUSVRVVElPTiAoKXsgcmV0dXJuIDB4RkZGRkZGRkZGRkZGRkZGRnVpNjQ7IH0KKyNlbGlmIGRlZmluZWQoVUxMT05HX01BWCkgJiYgZGVmaW5lZChVTExPTkdfTUlOKQorICAgICAgc3RhdGljIEJPT1NUX1VMTFQgbWluIEJPT1NUX1BSRVZFTlRfTUFDUk9fU1VCU1RJVFVUSU9OICgpeyByZXR1cm4gVUxMT05HX01JTjsgfQorICAgICAgc3RhdGljIEJPT1NUX1VMTFQgbWF4IEJPT1NUX1BSRVZFTlRfTUFDUk9fU1VCU1RJVFVUSU9OICgpeyByZXR1cm4gVUxMT05HX01BWDsgfQorI2VsaWYgZGVmaW5lZChVTE9OR0xPTkdfTUFYKSAmJiBkZWZpbmVkKFVMT05HTE9OR19NSU4pCisgICAgICBzdGF0aWMgQk9PU1RfVUxMVCBtaW4gQk9PU1RfUFJFVkVOVF9NQUNST19TVUJTVElUVVRJT04gKCl7IHJldHVybiBVTE9OR0xPTkdfTUlOOyB9CisgICAgICBzdGF0aWMgQk9PU1RfVUxMVCBtYXggQk9PU1RfUFJFVkVOVF9NQUNST19TVUJTVElUVVRJT04gKCl7IHJldHVybiBVTE9OR0xPTkdfTUFYOyB9CisjZWxzZQorICAgICAgc3RhdGljIEJPT1NUX1VMTFQgbWluIEJPT1NUX1BSRVZFTlRfTUFDUk9fU1VCU1RJVFVUSU9OICgpeyByZXR1cm4gMHVMTDsgfQorICAgICAgc3RhdGljIEJPT1NUX1VMTFQgbWF4IEJPT1NUX1BSRVZFTlRfTUFDUk9fU1VCU1RJVFVUSU9OICgpeyByZXR1cm4gfjB1TEw7IH0KKyNlbmRpZgorICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgZGlnaXRzID0gc2l6ZW9mKEJPT1NUX0xMVCkgKiBDSEFSX0JJVCk7CisgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCBkaWdpdHMxMCA9IChDSEFSX0JJVCAqIHNpemVvZiAoQk9PU1RfTExUKSkgKiAzMDFMIC8gMTAwMCk7CisgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoYm9vbCwgaXNfc2lnbmVkID0gZmFsc2UpOworICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGJvb2wsIGlzX2ludGVnZXIgPSB0cnVlKTsKKyAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChib29sLCBpc19leGFjdCA9IHRydWUpOworICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgcmFkaXggPSAyKTsKKyAgICAgIHN0YXRpYyBCT09TVF9VTExUIGVwc2lsb24oKSB0aHJvdygpIHsgcmV0dXJuIDA7IH07CisgICAgICBzdGF0aWMgQk9PU1RfVUxMVCByb3VuZF9lcnJvcigpIHRocm93KCkgeyByZXR1cm4gMDsgfTsKKworICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgbWluX2V4cG9uZW50ID0gMCk7CisgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCBtaW5fZXhwb25lbnQxMCA9IDApOworICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgbWF4X2V4cG9uZW50ID0gMCk7CisgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCBtYXhfZXhwb25lbnQxMCA9IDApOworCisgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoYm9vbCwgaGFzX2luZmluaXR5ID0gZmFsc2UpOworICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGJvb2wsIGhhc19xdWlldF9OYU4gPSBmYWxzZSk7CisgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoYm9vbCwgaGFzX3NpZ25hbGluZ19OYU4gPSBmYWxzZSk7CisgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoYm9vbCwgaGFzX2Rlbm9ybSA9IGZhbHNlKTsKKyAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChib29sLCBoYXNfZGVub3JtX2xvc3MgPSBmYWxzZSk7CisgICAgICBzdGF0aWMgQk9PU1RfVUxMVCBpbmZpbml0eSgpIHRocm93KCkgeyByZXR1cm4gMDsgfTsKKyAgICAgIHN0YXRpYyBCT09TVF9VTExUIHF1aWV0X05hTigpIHRocm93KCkgeyByZXR1cm4gMDsgfTsKKyAgICAgIHN0YXRpYyBCT09TVF9VTExUIHNpZ25hbGluZ19OYU4oKSB0aHJvdygpIHsgcmV0dXJuIDA7IH07CisgICAgICBzdGF0aWMgQk9PU1RfVUxMVCBkZW5vcm1fbWluKCkgdGhyb3coKSB7IHJldHVybiAwOyB9OworCisgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoYm9vbCwgaXNfaWVjNTU5ID0gZmFsc2UpOworICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGJvb2wsIGlzX2JvdW5kZWQgPSB0cnVlKTsKKyAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChib29sLCBpc19tb2R1bG8gPSB0cnVlKTsKKworICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGJvb2wsIHRyYXBzID0gZmFsc2UpOworICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGJvb2wsIHRpbnluZXNzX2JlZm9yZSA9IGZhbHNlKTsKKyAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChmbG9hdF9yb3VuZF9zdHlsZSwgcm91bmRfc3R5bGUgPSByb3VuZF90b3dhcmRfemVybyk7CisgICAgICAKKyAgfTsKK30KKyNlbmRpZiAKKworI2VuZGlmCisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21lbV9mbi5ocHAgYi9uZG5ib29zdC9tZW1fZm4uaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNmMmI5YjEKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tZW1fZm4uaHBwCkBAIC0wLDAgKzEsMjQgQEAKKyNpZm5kZWYgQk9PU1RfTUVNX0ZOX0hQUF9JTkNMVURFRAorI2RlZmluZSBCT09TVF9NRU1fRk5fSFBQX0lOQ0xVREVECisKKy8vIE1TIGNvbXBhdGlibGUgY29tcGlsZXJzIHN1cHBvcnQgI3ByYWdtYSBvbmNlCisKKyNpZiBkZWZpbmVkKF9NU0NfVkVSKSAmJiAoX01TQ19WRVIgPj0gMTAyMCkKKyMgcHJhZ21hIG9uY2UKKyNlbmRpZgorCisvLworLy8gIG1lbV9mbi5ocHAgLSBhIGdlbmVyYWxpemF0aW9uIG9mIHN0ZDo6bWVtX2Z1bltfcmVmXQorLy8KKy8vICBDb3B5cmlnaHQgKGMpIDIwMDkgUGV0ZXIgRGltb3YKKy8vCisvLyAgRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLgorLy8gIFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdAorLy8gIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dAorLy8KKy8vICBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvbGlicy9iaW5kL21lbV9mbi5odG1sIGZvciBkb2N1bWVudGF0aW9uLgorLy8KKworI2luY2x1ZGUgPG5kbmJvb3N0L2JpbmQvbWVtX2ZuLmhwcD4KKworI2VuZGlmIC8vICNpZm5kZWYgQk9PU1RfTUVNX0ZOX0hQUF9JTkNMVURFRApkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbW92ZS9hbGdvcml0aG0uaHBwIGIvbmRuYm9vc3QvbW92ZS9hbGdvcml0aG0uaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBmZWFlZjMKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tb3ZlL2FsZ29yaXRobS5ocHAKQEAgLTAsMCArMSwyNzUgQEAKKy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworLy8KKy8vIChDKSBDb3B5cmlnaHQgSW9uIEdhenRhbmFnYSAyMDEyLTIwMTIuCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0CisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworLy8gU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL2xpYnMvbW92ZSBmb3IgZG9jdW1lbnRhdGlvbi4KKy8vCisvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKworLy8hIFxmaWxlCisKKyNpZm5kZWYgQk9PU1RfTU9WRV9BTEdPUklUSE1fSFBQCisjZGVmaW5lIEJPT1NUX01PVkVfQUxHT1JJVEhNX0hQUAorCisjaW5jbHVkZSA8bmRuYm9vc3QvbW92ZS9kZXRhaWwvY29uZmlnX2JlZ2luLmhwcD4KKworI2luY2x1ZGUgPG5kbmJvb3N0L21vdmUvdXRpbGl0eS5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbW92ZS9pdGVyYXRvci5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbW92ZS9hbGdvcml0aG0uaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L2RldGFpbC9ub19leGNlcHRpb25zX3N1cHBvcnQuaHBwPgorCisjaW5jbHVkZSA8YWxnb3JpdGhtPiAvL2NvcHksIGNvcHlfYmFja3dhcmQKKyNpbmNsdWRlIDxtZW1vcnk+ICAgIC8vdW5pbml0aWFsaXplZF9jb3B5CisKK25hbWVzcGFjZSBuZG5ib29zdCB7CisKKy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworLy8KKy8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vdmUKKy8vCisvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKworI2lmICFkZWZpbmVkKEJPT1NUX01PVkVfVVNFX1NUQU5EQVJEX0xJQlJBUllfTU9WRSkKKworICAgLy8hIDxiPkVmZmVjdHM8L2I+OiBNb3ZlcyBlbGVtZW50cyBpbiB0aGUgcmFuZ2UgW2ZpcnN0LGxhc3QpIGludG8gdGhlIHJhbmdlIFtyZXN1bHQscmVzdWx0ICsgKGxhc3QgLQorICAgLy8hICAgZmlyc3QpKSBzdGFydGluZyBmcm9tIGZpcnN0IGFuZCBwcm9jZWVkaW5nIHRvIGxhc3QuIEZvciBlYWNoIG5vbi1uZWdhdGl2ZSBpbnRlZ2VyIG4gPCAobGFzdC1maXJzdCksCisgICAvLyEgICBwZXJmb3JtcyAqKHJlc3VsdCArIG4pID0gOjpuZG5ib29zdDo6bW92ZSAoKihmaXJzdCArIG4pKS4KKyAgIC8vIQorICAgLy8hIDxiPkVmZmVjdHM8L2I+OiByZXN1bHQgKyAobGFzdCAtIGZpcnN0KS4KKyAgIC8vIQorICAgLy8hIDxiPlJlcXVpcmVzPC9iPjogcmVzdWx0IHNoYWxsIG5vdCBiZSBpbiB0aGUgcmFuZ2UgW2ZpcnN0LGxhc3QpLgorICAgLy8hCisgICAvLyEgPGI+Q29tcGxleGl0eTwvYj46IEV4YWN0bHkgbGFzdCAtIGZpcnN0IG1vdmUgYXNzaWdubWVudHMuCisgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgSSwgLy8gSSBtb2RlbHMgSW5wdXRJdGVyYXRvcgorICAgICAgICAgICAgdHlwZW5hbWUgTz4gLy8gTyBtb2RlbHMgT3V0cHV0SXRlcmF0b3IKKyAgIE8gbW92ZShJIGYsIEkgbCwgTyByZXN1bHQpCisgICB7CisgICAgICB3aGlsZSAoZiAhPSBsKSB7CisgICAgICAgICAqcmVzdWx0ID0gOjpuZG5ib29zdDo6bW92ZSgqZik7CisgICAgICAgICArK2Y7ICsrcmVzdWx0OworICAgICAgfQorICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgIH0KKworICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCisgICAvLworICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW92ZV9iYWNrd2FyZAorICAgLy8KKyAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworCisgICAvLyEgPGI+RWZmZWN0czwvYj46IE1vdmVzIGVsZW1lbnRzIGluIHRoZSByYW5nZSBbZmlyc3QsbGFzdCkgaW50byB0aGUgcmFuZ2UKKyAgIC8vISAgIFtyZXN1bHQgLSAobGFzdC1maXJzdCkscmVzdWx0KSBzdGFydGluZyBmcm9tIGxhc3QgLSAxIGFuZCBwcm9jZWVkaW5nIHRvCisgICAvLyEgICBmaXJzdC4gRm9yIGVhY2ggcG9zaXRpdmUgaW50ZWdlciBuIDw9IChsYXN0IC0gZmlyc3QpLAorICAgLy8hICAgcGVyZm9ybXMgKihyZXN1bHQgLSBuKSA9IDo6bmRuYm9vc3Q6Om1vdmUoKihsYXN0IC0gbikpLgorICAgLy8hCisgICAvLyEgPGI+UmVxdWlyZXM8L2I+OiByZXN1bHQgc2hhbGwgbm90IGJlIGluIHRoZSByYW5nZSBbZmlyc3QsbGFzdCkuCisgICAvLyEKKyAgIC8vISA8Yj5SZXR1cm5zPC9iPjogcmVzdWx0IC0gKGxhc3QgLSBmaXJzdCkuCisgICAvLyEKKyAgIC8vISA8Yj5Db21wbGV4aXR5PC9iPjogRXhhY3RseSBsYXN0IC0gZmlyc3QgYXNzaWdubWVudHMuCisgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgSSwgLy8gSSBtb2RlbHMgQmlkaXJlY3Rpb25hbEl0ZXJhdG9yCisgICB0eXBlbmFtZSBPPiAvLyBPIG1vZGVscyBCaWRpcmVjdGlvbmFsSXRlcmF0b3IKKyAgIE8gbW92ZV9iYWNrd2FyZChJIGYsIEkgbCwgTyByZXN1bHQpCisgICB7CisgICAgICB3aGlsZSAoZiAhPSBsKSB7CisgICAgICAgICAtLWw7IC0tcmVzdWx0OworICAgICAgICAgKnJlc3VsdCA9IDo6bmRuYm9vc3Q6Om1vdmUoKmwpOworICAgICAgfQorICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgIH0KKworI2Vsc2UKKworICAgdXNpbmcgOjpzdGQ6Om1vdmVfYmFja3dhcmQ7CisKKyNlbmRpZiAgIC8vIWRlZmluZWQoQk9PU1RfTU9WRV9VU0VfU1RBTkRBUkRfTElCUkFSWV9NT1ZFKQorCisvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKy8vCisvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bmluaXRpYWxpemVkX21vdmUKKy8vCisvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKworLy8hIDxiPkVmZmVjdHM8L2I+OgorLy8hICAgXGNvZGUKKy8vISAgIGZvciAoOyBmaXJzdCAhPSBsYXN0OyArK3Jlc3VsdCwgKytmaXJzdCkKKy8vISAgICAgIG5ldyAoc3RhdGljX2Nhc3Q8dm9pZCo+KCYqcmVzdWx0KSkKKy8vISAgICAgICAgIHR5cGVuYW1lIGl0ZXJhdG9yX3RyYWl0czxGb3J3YXJkSXRlcmF0b3I+Ojp2YWx1ZV90eXBlKG5kbmJvb3N0Ojptb3ZlKCpmaXJzdCkpOworLy8hICAgXGVuZGNvZGUKKy8vIQorLy8hIDxiPlJldHVybnM8L2I+OiByZXN1bHQKK3RlbXBsYXRlCisgICA8dHlwZW5hbWUgSSwgLy8gSSBtb2RlbHMgSW5wdXRJdGVyYXRvcgorICAgIHR5cGVuYW1lIEY+IC8vIEYgbW9kZWxzIEZvcndhcmRJdGVyYXRvcgorRiB1bmluaXRpYWxpemVkX21vdmUoSSBmLCBJIGwsIEYgcgorICAgLy8vIEBjb25kCisvLyAgICx0eXBlbmFtZSA6Om5kbmJvb3N0Ojptb3ZlX2RldGFpbDo6ZW5hYmxlX2lmPGhhc19tb3ZlX2VtdWxhdGlvbl9lbmFibGVkPHR5cGVuYW1lIHN0ZDo6aXRlcmF0b3JfdHJhaXRzPEk+Ojp2YWx1ZV90eXBlPiA+Ojp0eXBlKiA9IDAKKyAgIC8vLyBAZW5kY29uZAorICAgKQoreworICAgdHlwZWRlZiB0eXBlbmFtZSBzdGQ6Oml0ZXJhdG9yX3RyYWl0czxJPjo6dmFsdWVfdHlwZSBpbnB1dF92YWx1ZV90eXBlOworCisgICBGIGJhY2sgPSByOworICAgQk9PU1RfVFJZeworICAgICAgd2hpbGUgKGYgIT0gbCkgeworICAgICAgICAgdm9pZCAqIGNvbnN0IGFkZHIgPSBzdGF0aWNfY2FzdDx2b2lkKj4oOjpuZG5ib29zdDo6bW92ZV9kZXRhaWw6OmFkZHJlc3NvZigqcikpOworICAgICAgICAgOjpuZXcoYWRkcikgaW5wdXRfdmFsdWVfdHlwZSg6Om5kbmJvb3N0Ojptb3ZlKCpmKSk7CisgICAgICAgICArK2Y7ICsrcjsKKyAgICAgIH0KKyAgIH0KKyAgIEJPT1NUX0NBVENIKC4uLil7CisJICAgZm9yICg7IGJhY2sgIT0gcjsgKytiYWNrKXsKKyAgICAgICAgIGJhY2stPn5pbnB1dF92YWx1ZV90eXBlKCk7CisgICAgICB9CisJICAgQk9PU1RfUkVUSFJPVzsKKyAgIH0KKyAgIEJPT1NUX0NBVENIX0VORAorICAgcmV0dXJuIHI7Cit9CisKKy8vLyBAY29uZAorLyoKK3RlbXBsYXRlCisgICA8dHlwZW5hbWUgSSwgICAvLyBJIG1vZGVscyBJbnB1dEl0ZXJhdG9yCisgICAgdHlwZW5hbWUgRj4gICAvLyBGIG1vZGVscyBGb3J3YXJkSXRlcmF0b3IKK0YgdW5pbml0aWFsaXplZF9tb3ZlKEkgZiwgSSBsLCBGIHIsCisgICB0eXBlbmFtZSA6Om5kbmJvb3N0Ojptb3ZlX2RldGFpbDo6ZGlzYWJsZV9pZjxoYXNfbW92ZV9lbXVsYXRpb25fZW5hYmxlZDx0eXBlbmFtZSBzdGQ6Oml0ZXJhdG9yX3RyYWl0czxJPjo6dmFsdWVfdHlwZT4gPjo6dHlwZSogPSAwKQoreworICAgcmV0dXJuIHN0ZDo6dW5pbml0aWFsaXplZF9jb3B5KGYsIGwsIHIpOworfQorKi8KKworLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCisvLworLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5pbml0aWFsaXplZF9jb3B5X29yX21vdmUKKy8vCisvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKworbmFtZXNwYWNlIG1vdmVfZGV0YWlsIHsKKwordGVtcGxhdGUKKzx0eXBlbmFtZSBJLCAgIC8vIEkgbW9kZWxzIElucHV0SXRlcmF0b3IKK3R5cGVuYW1lIEY+ICAgLy8gRiBtb2RlbHMgRm9yd2FyZEl0ZXJhdG9yCitpbmxpbmUgRiB1bmluaXRpYWxpemVkX21vdmVfbW92ZV9pdGVyYXRvcihJIGYsIEkgbCwgRiByCisvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLHR5cGVuYW1lIDo6bmRuYm9vc3Q6Om1vdmVfZGV0YWlsOjplbmFibGVfaWY8IGhhc19tb3ZlX2VtdWxhdGlvbl9lbmFibGVkPHR5cGVuYW1lIEk6OnZhbHVlX3R5cGU+ID46OnR5cGUqID0gMAorKQoreworICAgcmV0dXJuIDo6bmRuYm9vc3Q6OnVuaW5pdGlhbGl6ZWRfbW92ZShmLCBsLCByKTsKK30KKy8qCit0ZW1wbGF0ZQorPHR5cGVuYW1lIEksICAgLy8gSSBtb2RlbHMgSW5wdXRJdGVyYXRvcgordHlwZW5hbWUgRj4gICAvLyBGIG1vZGVscyBGb3J3YXJkSXRlcmF0b3IKK0YgdW5pbml0aWFsaXplZF9tb3ZlX21vdmVfaXRlcmF0b3IoSSBmLCBJIGwsIEYgciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZW5hbWUgOjpuZG5ib29zdDo6bW92ZV9kZXRhaWw6OmRpc2FibGVfaWY8IGhhc19tb3ZlX2VtdWxhdGlvbl9lbmFibGVkPHR5cGVuYW1lIEk6OnZhbHVlX3R5cGU+ID46OnR5cGUqID0gMCkKK3sKKyAgIHJldHVybiBzdGQ6OnVuaW5pdGlhbGl6ZWRfY29weShmLmJhc2UoKSwgbC5iYXNlKCksIHIpOworfQorKi8KK30gIC8vbmFtZXNwYWNlIG1vdmVfZGV0YWlsIHsKKwordGVtcGxhdGUKKzx0eXBlbmFtZSBJLCAgIC8vIEkgbW9kZWxzIElucHV0SXRlcmF0b3IKK3R5cGVuYW1lIEY+ICAgLy8gRiBtb2RlbHMgRm9yd2FyZEl0ZXJhdG9yCitpbmxpbmUgRiB1bmluaXRpYWxpemVkX2NvcHlfb3JfbW92ZShJIGYsIEkgbCwgRiByLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlbmFtZSA6Om5kbmJvb3N0Ojptb3ZlX2RldGFpbDo6ZW5hYmxlX2lmPCBtb3ZlX2RldGFpbDo6aXNfbW92ZV9pdGVyYXRvcjxJPiA+Ojp0eXBlKiA9IDApCit7CisgICByZXR1cm4gOjpuZG5ib29zdDo6bW92ZV9kZXRhaWw6OnVuaW5pdGlhbGl6ZWRfbW92ZV9tb3ZlX2l0ZXJhdG9yKGYsIGwsIHIpOworfQorCisvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKy8vCisvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb3B5X29yX21vdmUKKy8vCisvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKworbmFtZXNwYWNlIG1vdmVfZGV0YWlsIHsKKwordGVtcGxhdGUKKzx0eXBlbmFtZSBJLCAgIC8vIEkgbW9kZWxzIElucHV0SXRlcmF0b3IKK3R5cGVuYW1lIEY+ICAgLy8gRiBtb2RlbHMgRm9yd2FyZEl0ZXJhdG9yCitpbmxpbmUgRiBtb3ZlX21vdmVfaXRlcmF0b3IoSSBmLCBJIGwsIEYgcgorLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICx0eXBlbmFtZSA6Om5kbmJvb3N0Ojptb3ZlX2RldGFpbDo6ZW5hYmxlX2lmPCBoYXNfbW92ZV9lbXVsYXRpb25fZW5hYmxlZDx0eXBlbmFtZSBJOjp2YWx1ZV90eXBlPiA+Ojp0eXBlKiA9IDAKKykKK3sKKyAgIHJldHVybiA6Om5kbmJvb3N0Ojptb3ZlKGYsIGwsIHIpOworfQorLyoKK3RlbXBsYXRlCis8dHlwZW5hbWUgSSwgICAvLyBJIG1vZGVscyBJbnB1dEl0ZXJhdG9yCit0eXBlbmFtZSBGPiAgIC8vIEYgbW9kZWxzIEZvcndhcmRJdGVyYXRvcgorRiBtb3ZlX21vdmVfaXRlcmF0b3IoSSBmLCBJIGwsIEYgciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZW5hbWUgOjpuZG5ib29zdDo6bW92ZV9kZXRhaWw6OmRpc2FibGVfaWY8IGhhc19tb3ZlX2VtdWxhdGlvbl9lbmFibGVkPHR5cGVuYW1lIEk6OnZhbHVlX3R5cGU+ID46OnR5cGUqID0gMCkKK3sKKyAgIHJldHVybiBzdGQ6OmNvcHkoZi5iYXNlKCksIGwuYmFzZSgpLCByKTsKK30KKyovCisKK30gIC8vbmFtZXNwYWNlIG1vdmVfZGV0YWlsIHsKKwordGVtcGxhdGUKKzx0eXBlbmFtZSBJLCAgIC8vIEkgbW9kZWxzIElucHV0SXRlcmF0b3IKK3R5cGVuYW1lIEY+ICAgLy8gRiBtb2RlbHMgRm9yd2FyZEl0ZXJhdG9yCitpbmxpbmUgRiBjb3B5X29yX21vdmUoSSBmLCBJIGwsIEYgciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZW5hbWUgOjpuZG5ib29zdDo6bW92ZV9kZXRhaWw6OmVuYWJsZV9pZjwgbW92ZV9kZXRhaWw6OmlzX21vdmVfaXRlcmF0b3I8ST4gPjo6dHlwZSogPSAwKQoreworICAgcmV0dXJuIDo6bmRuYm9vc3Q6Om1vdmVfZGV0YWlsOjptb3ZlX21vdmVfaXRlcmF0b3IoZiwgbCwgcik7Cit9CisKKy8vLyBAZW5kY29uZAorCisvLyEgPGI+RWZmZWN0czwvYj46CisvLyEgICBcY29kZQorLy8hICAgZm9yICg7IGZpcnN0ICE9IGxhc3Q7ICsrcmVzdWx0LCArK2ZpcnN0KQorLy8hICAgICAgbmV3IChzdGF0aWNfY2FzdDx2b2lkKj4oJipyZXN1bHQpKQorLy8hICAgICAgICAgdHlwZW5hbWUgaXRlcmF0b3JfdHJhaXRzPEZvcndhcmRJdGVyYXRvcj46OnZhbHVlX3R5cGUoKmZpcnN0KTsKKy8vISAgIFxlbmRjb2RlCisvLyEKKy8vISA8Yj5SZXR1cm5zPC9iPjogcmVzdWx0CisvLyEKKy8vISA8Yj5Ob3RlPC9iPjogVGhpcyBmdW5jdGlvbiBpcyBwcm92aWRlZCBiZWNhdXNlCisvLyEgICA8aT5zdGQ6OnVuaW5pdGlhbGl6ZWRfY29weTwvaT4gZnJvbSBzb21lIFNUTCBpbXBsZW1lbnRhdGlvbnMKKy8vISAgICBpcyBub3QgY29tcGF0aWJsZSB3aXRoIDxpPm1vdmVfaXRlcmF0b3I8L2k+Cit0ZW1wbGF0ZQorPHR5cGVuYW1lIEksICAgLy8gSSBtb2RlbHMgSW5wdXRJdGVyYXRvcgordHlwZW5hbWUgRj4gICAvLyBGIG1vZGVscyBGb3J3YXJkSXRlcmF0b3IKK2lubGluZSBGIHVuaW5pdGlhbGl6ZWRfY29weV9vcl9tb3ZlKEkgZiwgSSBsLCBGIHIKKyAgIC8vLyBAY29uZAorICAgLHR5cGVuYW1lIDo6bmRuYm9vc3Q6Om1vdmVfZGV0YWlsOjpkaXNhYmxlX2lmPCBtb3ZlX2RldGFpbDo6aXNfbW92ZV9pdGVyYXRvcjxJPiA+Ojp0eXBlKiA9IDAKKyAgIC8vLyBAZW5kY29uZAorICAgKQoreworICAgcmV0dXJuIHN0ZDo6dW5pbml0aWFsaXplZF9jb3B5KGYsIGwsIHIpOworfQorCisvLyEgPGI+RWZmZWN0czwvYj46CisvLyEgICBcY29kZQorLy8hICAgZm9yICg7IGZpcnN0ICE9IGxhc3Q7ICsrcmVzdWx0LCArK2ZpcnN0KQorLy8hICAgICAgKnJlc3VsdCA9ICpmaXJzdDsKKy8vISAgIFxlbmRjb2RlCisvLyEKKy8vISA8Yj5SZXR1cm5zPC9iPjogcmVzdWx0CisvLyEKKy8vISA8Yj5Ob3RlPC9iPjogVGhpcyBmdW5jdGlvbiBpcyBwcm92aWRlZCBiZWNhdXNlCisvLyEgICA8aT5zdGQ6OnVuaW5pdGlhbGl6ZWRfY29weTwvaT4gZnJvbSBzb21lIFNUTCBpbXBsZW1lbnRhdGlvbnMKKy8vISAgICBpcyBub3QgY29tcGF0aWJsZSB3aXRoIDxpPm1vdmVfaXRlcmF0b3I8L2k+Cit0ZW1wbGF0ZQorPHR5cGVuYW1lIEksICAgLy8gSSBtb2RlbHMgSW5wdXRJdGVyYXRvcgordHlwZW5hbWUgRj4gICAvLyBGIG1vZGVscyBGb3J3YXJkSXRlcmF0b3IKK2lubGluZSBGIGNvcHlfb3JfbW92ZShJIGYsIEkgbCwgRiByCisgICAvLy8gQGNvbmQKKyAgICx0eXBlbmFtZSA6Om5kbmJvb3N0Ojptb3ZlX2RldGFpbDo6ZGlzYWJsZV9pZjwgbW92ZV9kZXRhaWw6OmlzX21vdmVfaXRlcmF0b3I8ST4gPjo6dHlwZSogPSAwCisgICAvLy8gQGVuZGNvbmQKKyAgICkKK3sKKyAgIHJldHVybiBzdGQ6OmNvcHkoZiwgbCwgcik7Cit9CisKK30gIC8vbmFtZXNwYWNlIG5kbmJvb3N0IHsKKworI2luY2x1ZGUgPG5kbmJvb3N0L21vdmUvZGV0YWlsL2NvbmZpZ19lbmQuaHBwPgorCisjZW5kaWYgLy8jaWZuZGVmIEJPT1NUX01PVkVfTU9WRV9IUFAKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21vdmUvY29yZS5ocHAgYi9uZG5ib29zdC9tb3ZlL2NvcmUuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkyZTQ3ZWMKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tb3ZlL2NvcmUuaHBwCkBAIC0wLDAgKzEsMzMyIEBACisvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKy8vCisvLyAoQykgQ29weXJpZ2h0IElvbiBHYXp0YW5hZ2EgMjAxMi0yMDEyLgorLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLgorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKy8vIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL21vdmUgZm9yIGRvY3VtZW50YXRpb24uCisvLworLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCisKKy8vISBcZmlsZSBjb3JlLmhwcAorLy8hIFRoaXMgaGVhZGVyIGltcGxlbWVudHMgbWFjcm9zIHRvIGRlZmluZSBtb3ZhYmxlIGNsYXNzZXMgYW5kCisvLyEgbW92ZS1hd2FyZSBmdW5jdGlvbnMKKworI2lmbmRlZiBCT09TVF9NT1ZFX0NPUkVfSFBQCisjZGVmaW5lIEJPT1NUX01PVkVfQ09SRV9IUFAKKworI2luY2x1ZGUgPG5kbmJvb3N0L21vdmUvZGV0YWlsL2NvbmZpZ19iZWdpbi5ocHA+CisKKyNpZmRlZiBCT09TVF9OT19DWFgxMV9ERUxFVEVEX0ZVTkNUSU9OUworICAgI2RlZmluZSBCT09TVF9NT1ZFX0lNUExfTk9fQ09QWV9DVE9SX09SX0FTU0lHTihUWVBFKSBcCisgICAgICBwcml2YXRlOlwKKyAgICAgIFRZUEUoVFlQRSAmKTtcCisgICAgICBUWVBFJiBvcGVyYXRvcj0oVFlQRSAmKTtcCisgICAvLworI2Vsc2UKKyAgICNkZWZpbmUgQk9PU1RfTU9WRV9JTVBMX05PX0NPUFlfQ1RPUl9PUl9BU1NJR04oVFlQRSkgXAorICAgICAgcHVibGljOlwKKyAgICAgIFRZUEUoVFlQRSBjb25zdCAmKSA9IGRlbGV0ZTtcCisgICAgICBUWVBFJiBvcGVyYXRvcj0oVFlQRSBjb25zdCAmKSA9IGRlbGV0ZTtcCisgICAgICBwcml2YXRlOlwKKyAgIC8vCisjZW5kaWYgICAvL0JPT1NUX05PX0NYWDExX0RFTEVURURfRlVOQ1RJT05TCisKKyNpZiBkZWZpbmVkKEJPT1NUX05PX0NYWDExX1JWQUxVRV9SRUZFUkVOQ0VTKSAmJiAhZGVmaW5lZChCT09TVF9NT1ZFX0RPWFlHRU5fSU5WT0tFRCkKKworICAgI2luY2x1ZGUgPG5kbmJvb3N0L21vdmUvZGV0YWlsL21ldGFfdXRpbHMuaHBwPgorCisgICAvL01vdmUgZW11bGF0aW9uIHJ2IGJyZWFrcyBzdGFuZGFyZCBhbGlhc2luZyBydWxlcyBzbyBhZGQgd29ya2Fyb3VuZHMgZm9yIHNvbWUgY29tcGlsZXJzCisgICAjaWYgZGVmaW5lZChfX0dOVUNfXykgJiYgKF9fR05VQ19fID49IDQpCisgICAgICAjZGVmaW5lIEJPT1NUX01PVkVfQVRUUklCVVRFX01BWV9BTElBUyBfX2F0dHJpYnV0ZV9fKChfX21heV9hbGlhc19fKSkKKyAgICNlbHNlCisgICAgICAjZGVmaW5lIEJPT1NUX01PVkVfQVRUUklCVVRFX01BWV9BTElBUworICAgI2VuZGlmCisKKyAgIG5hbWVzcGFjZSBuZG5ib29zdCB7CisKKyAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworICAgLy8KKyAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBydgorICAgLy8KKyAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworICAgdGVtcGxhdGUgPGNsYXNzIFQ+CisgICBjbGFzcyBydgorICAgICAgOiBwdWJsaWMgOjpuZG5ib29zdDo6bW92ZV9kZXRhaWw6OmlmX2MKKyAgICAgICAgIDwgOjpuZG5ib29zdDo6bW92ZV9kZXRhaWw6OmlzX2NsYXNzX29yX3VuaW9uPFQ+Ojp2YWx1ZQorICAgICAgICAgLCBUCisgICAgICAgICAsIDo6bmRuYm9vc3Q6Om1vdmVfZGV0YWlsOjplbXB0eQorICAgICAgICAgPjo6dHlwZQorICAgeworICAgICAgcnYoKTsKKyAgICAgIH5ydigpOworICAgICAgcnYocnYgY29uc3QmKTsKKyAgICAgIHZvaWQgb3BlcmF0b3I9KHJ2IGNvbnN0Jik7CisgICB9IEJPT1NUX01PVkVfQVRUUklCVVRFX01BWV9BTElBUzsKKworCisgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKyAgIC8vCisgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb3ZlX2RldGFpbDo6aXNfcnYKKyAgIC8vCisgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKworICAgbmFtZXNwYWNlIG1vdmVfZGV0YWlsIHsKKworICAgdGVtcGxhdGUgPGNsYXNzIFQ+CisgICBzdHJ1Y3QgaXNfcnYKKyAgICAgIDogOjpuZG5ib29zdDo6bW92ZV9kZXRhaWw6OmludGVncmFsX2NvbnN0YW50PGJvb2wsIGZhbHNlPgorICAge307CisKKyAgIHRlbXBsYXRlIDxjbGFzcyBUPgorICAgc3RydWN0IGlzX3J2PCBydjxUPiA+CisgICAgICA6IDo6bmRuYm9vc3Q6Om1vdmVfZGV0YWlsOjppbnRlZ3JhbF9jb25zdGFudDxib29sLCB0cnVlPgorICAge307CisKKyAgIHRlbXBsYXRlIDxjbGFzcyBUPgorICAgc3RydWN0IGlzX3J2PCBjb25zdCBydjxUPiA+CisgICAgICA6IDo6bmRuYm9vc3Q6Om1vdmVfZGV0YWlsOjppbnRlZ3JhbF9jb25zdGFudDxib29sLCB0cnVlPgorICAge307CisKKyAgIH0gIC8vbmFtZXNwYWNlIG1vdmVfZGV0YWlsIHsKKworICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCisgICAvLworICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFzX21vdmVfZW11bGF0aW9uX2VuYWJsZWQKKyAgIC8vCisgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKyAgIHRlbXBsYXRlPGNsYXNzIFQ+CisgICBzdHJ1Y3QgaGFzX21vdmVfZW11bGF0aW9uX2VuYWJsZWQKKyAgICAgIDogOjpuZG5ib29zdDo6bW92ZV9kZXRhaWw6OmlzX2NvbnZlcnRpYmxlPCBULCA6Om5kbmJvb3N0OjpydjxUPiYgPgorICAge307CisKKyAgIHRlbXBsYXRlPGNsYXNzIFQ+CisgICBzdHJ1Y3QgaGFzX21vdmVfZW11bGF0aW9uX2VuYWJsZWQ8VCY+CisgICAgICA6IDo6bmRuYm9vc3Q6Om1vdmVfZGV0YWlsOjppbnRlZ3JhbF9jb25zdGFudDxib29sLCBmYWxzZT4KKyAgIHt9OworCisgICB0ZW1wbGF0ZTxjbGFzcyBUPgorICAgc3RydWN0IGhhc19tb3ZlX2VtdWxhdGlvbl9lbmFibGVkPCA6Om5kbmJvb3N0OjpydjxUPiA+CisgICAgICA6IDo6bmRuYm9vc3Q6Om1vdmVfZGV0YWlsOjppbnRlZ3JhbF9jb25zdGFudDxib29sLCBmYWxzZT4KKyAgIHt9OworCisgICB9ICAvL25hbWVzcGFjZSBuZG5ib29zdCB7CisKKyAgICNkZWZpbmUgQk9PU1RfUlZfUkVGKFRZUEUpXAorICAgICAgOjpuZG5ib29zdDo6cnY8IFRZUEUgPiYgXAorICAgLy8KKworICAgI2RlZmluZSBCT09TVF9SVl9SRUZfMl9URU1QTF9BUkdTKFRZUEUsIEFSRzEsIEFSRzIpXAorICAgICAgOjpuZG5ib29zdDo6cnY8IFRZUEU8QVJHMSwgQVJHMj4gPiYgXAorICAgLy8KKworICAgI2RlZmluZSBCT09TVF9SVl9SRUZfM19URU1QTF9BUkdTKFRZUEUsIEFSRzEsIEFSRzIsIEFSRzMpXAorICAgICAgOjpuZG5ib29zdDo6cnY8IFRZUEU8QVJHMSwgQVJHMiwgQVJHMz4gPiYgXAorICAgLy8KKworICAgI2RlZmluZSBCT09TVF9SVl9SRUZfQkVHXAorICAgICAgOjpuZG5ib29zdDo6cnY8ICAgXAorICAgLy8KKworICAgI2RlZmluZSBCT09TVF9SVl9SRUZfRU5EXAorICAgICAgPiYgXAorICAgLy8KKworICAgI2RlZmluZSBCT09TVF9GV0RfUkVGKFRZUEUpXAorICAgICAgY29uc3QgVFlQRSAmIFwKKyAgIC8vCisKKyAgICNkZWZpbmUgQk9PU1RfQ09QWV9BU1NJR05fUkVGKFRZUEUpXAorICAgICAgY29uc3QgOjpuZG5ib29zdDo6cnY8IFRZUEUgPiYgXAorICAgLy8KKworICAgI2RlZmluZSBCT09TVF9DT1BZX0FTU0lHTl9SRUZfQkVHIFwKKyAgICAgIGNvbnN0IDo6bmRuYm9vc3Q6OnJ2PCAgXAorICAgLy8KKworICAgI2RlZmluZSBCT09TVF9DT1BZX0FTU0lHTl9SRUZfRU5EIFwKKyAgICAgID4mIFwKKyAgIC8vCisKKyAgICNkZWZpbmUgQk9PU1RfQ09QWV9BU1NJR05fUkVGXzJfVEVNUExfQVJHUyhUWVBFLCBBUkcxLCBBUkcyKVwKKyAgICAgIGNvbnN0IDo6bmRuYm9vc3Q6OnJ2PCBUWVBFPEFSRzEsIEFSRzI+ID4mIFwKKyAgIC8vCisKKyAgICNkZWZpbmUgQk9PU1RfQ09QWV9BU1NJR05fUkVGXzNfVEVNUExfQVJHUyhUWVBFLCBBUkcxLCBBUkcyLCBBUkczKVwKKyAgICAgIGNvbnN0IDo6bmRuYm9vc3Q6OnJ2PCBUWVBFPEFSRzEsIEFSRzIsIEFSRzM+ID4mIFwKKyAgIC8vCisKKyAgICNkZWZpbmUgQk9PU1RfQ0FUQ0hfQ09OU1RfUkxWQUxVRShUWVBFKVwKKyAgICAgIGNvbnN0IDo6bmRuYm9vc3Q6OnJ2PCBUWVBFID4mIFwKKyAgIC8vCisKKyAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworICAgLy8KKyAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgIEJPT1NUX01PVkFCTEVfQlVUX05PVF9DT1BZQUJMRQorICAgLy8KKyAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworICAgI2RlZmluZSBCT09TVF9NT1ZBQkxFX0JVVF9OT1RfQ09QWUFCTEUoVFlQRSlcCisgICAgICBCT09TVF9NT1ZFX0lNUExfTk9fQ09QWV9DVE9SX09SX0FTU0lHTihUWVBFKVwKKyAgICAgIHB1YmxpYzpcCisgICAgICBvcGVyYXRvciA6Om5kbmJvb3N0OjpydjxUWVBFPiYoKSBcCisgICAgICB7ICByZXR1cm4gKnN0YXRpY19jYXN0PCA6Om5kbmJvb3N0OjpydjxUWVBFPiogPih0aGlzKTsgIH1cCisgICAgICBvcGVyYXRvciBjb25zdCA6Om5kbmJvb3N0OjpydjxUWVBFPiYoKSBjb25zdCBcCisgICAgICB7ICByZXR1cm4gKnN0YXRpY19jYXN0PGNvbnN0IDo6bmRuYm9vc3Q6OnJ2PFRZUEU+KiA+KHRoaXMpOyAgfVwKKyAgICAgIHByaXZhdGU6XAorICAgLy8KKworICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCisgICAvLworICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgQk9PU1RfQ09QWUFCTEVfQU5EX01PVkFCTEUKKyAgIC8vCisgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKworICAgI2RlZmluZSBCT09TVF9DT1BZQUJMRV9BTkRfTU9WQUJMRShUWVBFKVwKKyAgICAgIHB1YmxpYzpcCisgICAgICBUWVBFJiBvcGVyYXRvcj0oVFlQRSAmdClcCisgICAgICB7ICB0aGlzLT5vcGVyYXRvcj0oc3RhdGljX2Nhc3Q8Y29uc3QgOjpuZG5ib29zdDo6cnY8VFlQRT4gJj4oY29uc3RfY2FzdDxjb25zdCBUWVBFICY+KHQpKSk7IHJldHVybiAqdGhpczt9XAorICAgICAgcHVibGljOlwKKyAgICAgIG9wZXJhdG9yIDo6bmRuYm9vc3Q6OnJ2PFRZUEU+JigpIFwKKyAgICAgIHsgIHJldHVybiAqc3RhdGljX2Nhc3Q8IDo6bmRuYm9vc3Q6OnJ2PFRZUEU+KiA+KHRoaXMpOyAgfVwKKyAgICAgIG9wZXJhdG9yIGNvbnN0IDo6bmRuYm9vc3Q6OnJ2PFRZUEU+JigpIGNvbnN0IFwKKyAgICAgIHsgIHJldHVybiAqc3RhdGljX2Nhc3Q8Y29uc3QgOjpuZG5ib29zdDo6cnY8VFlQRT4qID4odGhpcyk7ICB9XAorICAgICAgcHJpdmF0ZTpcCisgICAvLworCisgICAjZGVmaW5lIEJPT1NUX0NPUFlBQkxFX0FORF9NT1ZBQkxFX0FMVChUWVBFKVwKKyAgICAgIHB1YmxpYzpcCisgICAgICBvcGVyYXRvciA6Om5kbmJvb3N0OjpydjxUWVBFPiYoKSBcCisgICAgICB7ICByZXR1cm4gKnN0YXRpY19jYXN0PCA6Om5kbmJvb3N0OjpydjxUWVBFPiogPih0aGlzKTsgIH1cCisgICAgICBvcGVyYXRvciBjb25zdCA6Om5kbmJvb3N0OjpydjxUWVBFPiYoKSBjb25zdCBcCisgICAgICB7ICByZXR1cm4gKnN0YXRpY19jYXN0PGNvbnN0IDo6bmRuYm9vc3Q6OnJ2PFRZUEU+KiA+KHRoaXMpOyAgfVwKKyAgICAgIHByaXZhdGU6XAorICAgLy8KKworI2Vsc2UgICAgLy9CT09TVF9OT19DWFgxMV9SVkFMVUVfUkVGRVJFTkNFUworCisgICAvL0NvbXBpbGVyIHdvcmthcm91bmQgZGV0ZWN0aW9uCisgICAjaWYgIWRlZmluZWQoQk9PU1RfTU9WRV9ET1hZR0VOX0lOVk9LRUQpCisgICAgICAjaWYgZGVmaW5lZChfX0dOVUNfXykgJiYgKF9fR05VQ19fID09IDQpICYmIChfX0dOVUNfTUlOT1JfXyA8IDUpICYmICFkZWZpbmVkKF9fY2xhbmdfXykKKyAgICAgICAgIC8vUHJlLXN0YW5kYXJkIHJ2YWx1ZSBiaW5kaW5nIHJ1bGVzCisgICAgICAgICAjZGVmaW5lIEJPT1NUX01PVkVfT0xEX1JWQUxVRV9SRUZfQklORElOR19SVUxFUworICAgICAgI2VsaWYgZGVmaW5lZChfTVNDX1ZFUikgJiYgKF9NU0NfVkVSID09IDE2MDApCisgICAgICAgICAvL1N0YW5kYXJkIHJ2YWx1ZSBiaW5kaW5nIHJ1bGVzIGJ1dCB3aXRoIHNvbWUgYnVncworICAgICAgICAgI2RlZmluZSBCT09TVF9NT1ZFX01TVkNfMTBfTUVNQkVSX1JWQUxVRV9SRUZfQlVHCisgICAgICAgICAvL1VzZSBzdGFuZGFyZCBsaWJyYXJ5IGZvciBNU1ZDIHRvIGF2b2lkIG5hbWVzcGFjZSBpc3N1ZXMgYXMKKyAgICAgICAgIC8vc29tZSBtb3ZlIGNhbGxzIGluIHRoZSBTVEwgYXJlIG5vdCBmdWxseSBxdWFsaWZpZWQuCisgICAgICAgICAvLyNkZWZpbmUgQk9PU1RfTU9WRV9VU0VfU1RBTkRBUkRfTElCUkFSWV9NT1ZFCisgICAgICAjZW5kaWYKKyAgICNlbmRpZgorCisgICAvLyEgVGhpcyBtYWNybyBtYXJrcyBhIHR5cGUgYXMgbW92YWJsZSBidXQgbm90IGNvcHlhYmxlLCBkaXNhYmxpbmcgY29weSBjb25zdHJ1Y3Rpb24KKyAgIC8vISBhbmQgYXNzaWdubWVudC4gVGhlIHVzZXIgd2lsbCBuZWVkIHRvIHdyaXRlIGEgbW92ZSBjb25zdHJ1Y3Rvci9hc3NpZ25tZW50IGFzIGV4cGxhaW5lZAorICAgLy8hIGluIHRoZSBkb2N1bWVudGF0aW9uIHRvIGZ1bGx5IHdyaXRlIGEgbW92YWJsZSBidXQgbm90IGNvcHlhYmxlIGNsYXNzLgorICAgI2RlZmluZSBCT09TVF9NT1ZBQkxFX0JVVF9OT1RfQ09QWUFCTEUoVFlQRSlcCisgICAgICBCT09TVF9NT1ZFX0lNUExfTk9fQ09QWV9DVE9SX09SX0FTU0lHTihUWVBFKVwKKyAgICAgIHB1YmxpYzpcCisgICAgICB0eXBlZGVmIGludCBib29zdF9tb3ZlX2VtdWxhdGlvbl90O1wKKyAgIC8vCisKKyAgIC8vISBUaGlzIG1hY3JvIG1hcmtzIGEgdHlwZSBhcyBjb3B5YWJsZSBhbmQgbW92YWJsZS4KKyAgIC8vISBUaGUgdXNlciB3aWxsIG5lZWQgdG8gd3JpdGUgYSBtb3ZlIGNvbnN0cnVjdG9yL2Fzc2lnbm1lbnQgYW5kIGEgY29weSBhc3NpZ25tZW50CisgICAvLyEgYXMgZXhwbGFpbmVkIGluIHRoZSBkb2N1bWVudGF0aW9uIHRvIGZ1bGx5IHdyaXRlIGEgY29weWFibGUgYW5kIG1vdmFibGUgY2xhc3MuCisgICAjZGVmaW5lIEJPT1NUX0NPUFlBQkxFX0FORF9NT1ZBQkxFKFRZUEUpXAorICAgLy8KKworICAgI2lmICFkZWZpbmVkKEJPT1NUX01PVkVfRE9YWUdFTl9JTlZPS0VEKQorICAgI2RlZmluZSBCT09TVF9DT1BZQUJMRV9BTkRfTU9WQUJMRV9BTFQoVFlQRSlcCisgICAvLworICAgI2VuZGlmICAgLy8jaWYgIWRlZmluZWQoQk9PU1RfTU9WRV9ET1hZR0VOX0lOVk9LRUQpCisKKyAgIG5hbWVzcGFjZSBuZG5ib29zdCB7CisKKyAgIC8vIVRoaXMgdHJhaXQgeWllbGRzIHRvIGEgY29tcGlsZS10aW1lIHRydWUgYm9vbGVhbiBpZiBUIHdhcyBtYXJrZWQgYXMKKyAgIC8vIUJPT1NUX01PVkFCTEVfQlVUX05PVF9DT1BZQUJMRSBvciBCT09TVF9DT1BZQUJMRV9BTkRfTU9WQUJMRSBhbmQKKyAgIC8vIXJ2YWx1ZSByZWZlcmVuY2VzIGFyZSBub3QgYXZhaWxhYmxlIG9uIHRoZSBwbGF0Zm9ybS4gRmFsc2Ugb3RoZXJ3aXNlLgorICAgdGVtcGxhdGU8Y2xhc3MgVD4KKyAgIHN0cnVjdCBoYXNfbW92ZV9lbXVsYXRpb25fZW5hYmxlZAorICAgeworICAgICAgc3RhdGljIGNvbnN0IGJvb2wgdmFsdWUgPSBmYWxzZTsKKyAgIH07CisKKyAgIH0gIC8vbmFtZXNwYWNlIG5kbmJvb3N0eworCisgICAvLyFUaGlzIG1hY3JvIGlzIHVzZWQgdG8gYWNoaWV2ZSBwb3J0YWJsZSBzeW50YXggaW4gbW92ZQorICAgLy8hY29uc3RydWN0b3JzIGFuZCBhc3NpZ25tZW50cyBmb3IgY2xhc3NlcyBtYXJrZWQgYXMKKyAgIC8vIUJPT1NUX0NPUFlBQkxFX0FORF9NT1ZBQkxFIG9yIEJPT1NUX01PVkFCTEVfQlVUX05PVF9DT1BZQUJMRQorICAgI2RlZmluZSBCT09TVF9SVl9SRUYoVFlQRSlcCisgICAgICBUWVBFICYmIFwKKyAgIC8vCisKKyAgIC8vIVRoaXMgbWFjcm8gaXMgdXNlZCB0byBhY2hpZXZlIHBvcnRhYmxlIHN5bnRheCBpbiBtb3ZlCisgICAvLyFjb25zdHJ1Y3RvcnMgYW5kIGFzc2lnbm1lbnRzIGZvciB0ZW1wbGF0ZSBjbGFzc2VzIG1hcmtlZCBhcworICAgLy8hQk9PU1RfQ09QWUFCTEVfQU5EX01PVkFCTEUgb3IgQk9PU1RfTU9WQUJMRV9CVVRfTk9UX0NPUFlBQkxFLgorICAgLy8hQXMgbWFjcm9zIGhhdmUgcHJvYmxlbXMgd2l0aCBjb21tYS1zZXBhcmF0ZCB0ZW1wbGF0ZSBhcmd1bWVudHMsCisgICAvLyF0aGUgdGVtcGxhdGUgYXJndW1lbnQgbXVzdCBiZSBwcmVjZWRlZCB3aXRoIEJPT1NUX1JWX1JFRl9TVEFSVAorICAgLy8hYW5kIGVuZGVkIHdpdGggQk9PU1RfUlZfUkVGX0VORAorICAgI2RlZmluZSBCT09TVF9SVl9SRUZfQkVHXAorICAgICAgICAgXAorICAgLy8KKworICAgLy8hVGhpcyBtYWNybyBpcyB1c2VkIHRvIGFjaGlldmUgcG9ydGFibGUgc3ludGF4IGluIG1vdmUKKyAgIC8vIWNvbnN0cnVjdG9ycyBhbmQgYXNzaWdubWVudHMgZm9yIHRlbXBsYXRlIGNsYXNzZXMgbWFya2VkIGFzCisgICAvLyFCT09TVF9DT1BZQUJMRV9BTkRfTU9WQUJMRSBvciBCT09TVF9NT1ZBQkxFX0JVVF9OT1RfQ09QWUFCTEUuCisgICAvLyFBcyBtYWNyb3MgaGF2ZSBwcm9ibGVtcyB3aXRoIGNvbW1hLXNlcGFyYXRkIHRlbXBsYXRlIGFyZ3VtZW50cywKKyAgIC8vIXRoZSB0ZW1wbGF0ZSBhcmd1bWVudCBtdXN0IGJlIHByZWNlZGVkIHdpdGggQk9PU1RfUlZfUkVGX1NUQVJUCisgICAvLyFhbmQgZW5kZWQgd2l0aCBCT09TVF9SVl9SRUZfRU5ECisgICAjZGVmaW5lIEJPT1NUX1JWX1JFRl9FTkRcCisgICAgICAmJiBcCisKKyAgIC8vIVRoaXMgbWFjcm8gaXMgdXNlZCB0byBhY2hpZXZlIHBvcnRhYmxlIHN5bnRheCBpbiBjb3B5CisgICAvLyFhc3NpZ25tZW50IGZvciBjbGFzc2VzIG1hcmtlZCBhcyBCT09TVF9DT1BZQUJMRV9BTkRfTU9WQUJMRS4KKyAgICNkZWZpbmUgQk9PU1RfQ09QWV9BU1NJR05fUkVGKFRZUEUpXAorICAgICAgY29uc3QgVFlQRSAmIFwKKyAgIC8vCisKKyAgIC8vISBUaGlzIG1hY3JvIGlzIHVzZWQgdG8gaW1wbGVtZW50IHBvcnRhYmxlIHBlcmZlY3QgZm9yd2FyZGluZworICAgLy8hIGFzIGV4cGxhaW5lZCBpbiB0aGUgZG9jdW1lbnRhdGlvbi4KKyAgICNkZWZpbmUgQk9PU1RfRldEX1JFRihUWVBFKVwKKyAgICAgIFRZUEUgJiYgXAorICAgLy8KKworICAgI2lmICFkZWZpbmVkKEJPT1NUX01PVkVfRE9YWUdFTl9JTlZPS0VEKQorICAgLy8vIEBjb25kCisKKyAgICNkZWZpbmUgQk9PU1RfUlZfUkVGXzJfVEVNUExfQVJHUyhUWVBFLCBBUkcxLCBBUkcyKVwKKyAgICAgIFRZUEU8QVJHMSwgQVJHMj4gJiYgXAorICAgLy8KKworICAgI2RlZmluZSBCT09TVF9SVl9SRUZfM19URU1QTF9BUkdTKFRZUEUsIEFSRzEsIEFSRzIsIEFSRzMpXAorICAgICAgVFlQRTxBUkcxLCBBUkcyLCBBUkczPiAmJiBcCisgICAvLworCisgICAjZGVmaW5lIEJPT1NUX0NPUFlfQVNTSUdOX1JFRl9CRUcgXAorICAgICAgY29uc3QgXAorICAgLy8KKworICAgI2RlZmluZSBCT09TVF9DT1BZX0FTU0lHTl9SRUZfRU5EIFwKKyAgICAgICYgXAorICAgLy8KKworICAgI2RlZmluZSBCT09TVF9DT1BZX0FTU0lHTl9SRUZfMl9URU1QTF9BUkdTKFRZUEUsIEFSRzEsIEFSRzIpXAorICAgICAgY29uc3QgVFlQRTxBUkcxLCBBUkcyPiAmIFwKKyAgIC8vCisKKyAgICNkZWZpbmUgQk9PU1RfQ09QWV9BU1NJR05fUkVGXzNfVEVNUExfQVJHUyhUWVBFLCBBUkcxLCBBUkcyLCBBUkczKVwKKyAgICAgIGNvbnN0IFRZUEU8QVJHMSwgQVJHMiwgQVJHMz4mIFwKKyAgIC8vCisKKyAgICNkZWZpbmUgQk9PU1RfQ0FUQ0hfQ09OU1RfUkxWQUxVRShUWVBFKVwKKyAgICAgIGNvbnN0IFRZUEUgJiBcCisgICAvLworCisgICAvLy8gQGVuZGNvbmQKKworICAgI2VuZGlmICAgLy8jaWYgIWRlZmluZWQoQk9PU1RfTU9WRV9ET1hZR0VOX0lOVk9LRUQpCisKKyNlbmRpZiAgIC8vQk9PU1RfTk9fQ1hYMTFfUlZBTFVFX1JFRkVSRU5DRVMKKworI2luY2x1ZGUgPG5kbmJvb3N0L21vdmUvZGV0YWlsL2NvbmZpZ19lbmQuaHBwPgorCisjZW5kaWYgLy8jaWZuZGVmIEJPT1NUX01PVkVfQ09SRV9IUFAKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21vdmUvZGV0YWlsL2NvbmZpZ19iZWdpbi5ocHAgYi9uZG5ib29zdC9tb3ZlL2RldGFpbC9jb25maWdfYmVnaW4uaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQzNjhhZWIKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tb3ZlL2RldGFpbC9jb25maWdfYmVnaW4uaHBwCkBAIC0wLDAgKzEsMjMgQEAKKy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworLy8KKy8vIChDKSBDb3B5cmlnaHQgSW9uIEdhenRhbmFnYSAyMDEyLTIwMTIuIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdAorLy8gU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIChTZWUgYWNjb21wYW55aW5nIGZpbGUKKy8vIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisvLyBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvbGlicy9tb3ZlIGZvciBkb2N1bWVudGF0aW9uLgorLy8KKy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworI2luY2x1ZGUgPG5kbmJvb3N0L2NvbmZpZy5ocHA+CisKKyNpZmRlZiBCT09TVF9NU1ZDCisgICAjaWZuZGVmIF9DUlRfU0VDVVJFX05PX0RFUFJFQ0FURQorICAgICAgI2RlZmluZSAgQk9PU1RfTU9WRV9DUlRfU0VDVVJFX05PX0RFUFJFQ0FURQorICAgICAgI2RlZmluZSBfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEUKKyAgICNlbmRpZgorICAgI2lmbmRlZiBfU0NMX1NFQ1VSRV9OT19XQVJOSU5HUworICAgICAgI2RlZmluZSAgQk9PU1RfTU9WRV9TQ0xfU0VDVVJFX05PX1dBUk5JTkdTCisgICAgICAjZGVmaW5lIF9TQ0xfU0VDVVJFX05PX1dBUk5JTkdTCisgICAjZW5kaWYKKyAgICNwcmFnbWEgd2FybmluZyAocHVzaCkKKyAgICNwcmFnbWEgd2FybmluZyAoZGlzYWJsZSA6IDQ5OTYpIC8vICJmdW5jdGlvbiI6IHdhcyBkZWNsYXJlZCBkZXByZWNhdGVkCisjZW5kaWYKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21vdmUvZGV0YWlsL2NvbmZpZ19lbmQuaHBwIGIvbmRuYm9vc3QvbW92ZS9kZXRhaWwvY29uZmlnX2VuZC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzQzYmNlMAotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21vdmUvZGV0YWlsL2NvbmZpZ19lbmQuaHBwCkBAIC0wLDAgKzEsMjAgQEAKKy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworLy8KKy8vIChDKSBDb3B5cmlnaHQgSW9uIEdhenRhbmFnYSAyMDEyLTIwMTIuIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdAorLy8gU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIChTZWUgYWNjb21wYW55aW5nIGZpbGUKKy8vIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisvLyBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvbGlicy9jb250YWluZXIgZm9yIGRvY3VtZW50YXRpb24uCisvLworLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCisjaWYgZGVmaW5lZCBCT09TVF9NU1ZDCisgICAjcHJhZ21hIHdhcm5pbmcgKHBvcCkKKyAgICNpZmRlZiBCT09TVF9NT1ZFX0RFVEFJTF9DUlRfU0VDVVJFX05PX0RFUFJFQ0FURQorICAgICAgI3VuZGVmIEJPT1NUX01PVkVfREVUQUlMX0NSVF9TRUNVUkVfTk9fREVQUkVDQVRFCisgICAgICAjdW5kZWYgX0NSVF9TRUNVUkVfTk9fREVQUkVDQVRFCisgICAjZW5kaWYKKyAgICNpZm5kZWYgQk9PU1RfTU9WRV9TQ0xfU0VDVVJFX05PX1dBUk5JTkdTCisgICAgICAjdW5kZWYgIEJPT1NUX01PVkVfU0NMX1NFQ1VSRV9OT19XQVJOSU5HUworICAgICAgI3VuZGVmIF9TQ0xfU0VDVVJFX05PX1dBUk5JTkdTCisgICAjZW5kaWYKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbW92ZS9kZXRhaWwvbWV0YV91dGlscy5ocHAgYi9uZG5ib29zdC9tb3ZlL2RldGFpbC9tZXRhX3V0aWxzLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xZjY4ZmIyCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbW92ZS9kZXRhaWwvbWV0YV91dGlscy5ocHAKQEAgLTAsMCArMSwxNTggQEAKKy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworLy8KKy8vIChDKSBDb3B5cmlnaHQgSW9uIEdhenRhbmFnYSAyMDEyLTIwMTIuCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0CisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworLy8gU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL2xpYnMvbW92ZSBmb3IgZG9jdW1lbnRhdGlvbi4KKy8vCisvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKworLy8hIFxmaWxlCisKKyNpZm5kZWYgQk9PU1RfTU9WRV9ERVRBSUxfTUVUQV9VVElMU19IUFAKKyNkZWZpbmUgQk9PU1RfTU9WRV9ERVRBSUxfTUVUQV9VVElMU19IUFAKKworI2luY2x1ZGUgPG5kbmJvb3N0L21vdmUvZGV0YWlsL2NvbmZpZ19iZWdpbi5ocHA+CisKKy8vU21hbGwgbWV0YS10eXBldHJhaXRzIHRvIHN1cHBvcnQgbW92ZQorCituYW1lc3BhY2UgbmRuYm9vc3QgeworbmFtZXNwYWNlIG1vdmVfZGV0YWlsIHsKKworLy9pZl8KK3RlbXBsYXRlPGJvb2wgQywgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyPgorc3RydWN0IGlmX2MKK3sKKyAgIHR5cGVkZWYgVDEgdHlwZTsKK307CisKK3RlbXBsYXRlPHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMj4KK3N0cnVjdCBpZl9jPGZhbHNlLFQxLFQyPgoreworICAgdHlwZWRlZiBUMiB0eXBlOworfTsKKwordGVtcGxhdGU8dHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMz4KK3N0cnVjdCBpZl8KK3sKKyAgIHR5cGVkZWYgdHlwZW5hbWUgaWZfYzwwICE9IFQxOjp2YWx1ZSwgVDIsIFQzPjo6dHlwZSB0eXBlOworfTsKKworLy9lbmFibGVfaWZfCit0ZW1wbGF0ZSA8Ym9vbCBCLCBjbGFzcyBUID0gdm9pZD4KK3N0cnVjdCBlbmFibGVfaWZfYworeworICAgdHlwZWRlZiBUIHR5cGU7Cit9OworCit0ZW1wbGF0ZSA8Y2xhc3MgVD4KK3N0cnVjdCBlbmFibGVfaWZfYzxmYWxzZSwgVD4ge307CisKK3RlbXBsYXRlIDxjbGFzcyBDb25kLCBjbGFzcyBUID0gdm9pZD4KK3N0cnVjdCBlbmFibGVfaWYgOiBwdWJsaWMgZW5hYmxlX2lmX2M8Q29uZDo6dmFsdWUsIFQ+IHt9OworCit0ZW1wbGF0ZSA8Y2xhc3MgQ29uZCwgY2xhc3MgVCA9IHZvaWQ+CitzdHJ1Y3QgZGlzYWJsZV9pZiA6IHB1YmxpYyBlbmFibGVfaWZfYzwhQ29uZDo6dmFsdWUsIFQ+IHt9OworCisvL2ludGVncmFsX2NvbnN0YW50Cit0ZW1wbGF0ZTxjbGFzcyBULCBUIHY+CitzdHJ1Y3QgaW50ZWdyYWxfY29uc3RhbnQKK3sKKyAgIHN0YXRpYyBjb25zdCBUIHZhbHVlID0gdjsKKyAgIHR5cGVkZWYgVCB2YWx1ZV90eXBlOworICAgdHlwZWRlZiBpbnRlZ3JhbF9jb25zdGFudDxULCB2PiB0eXBlOworfTsKKworLy9pZGVudGl0eQordGVtcGxhdGUgPGNsYXNzIFQ+CitzdHJ1Y3QgaWRlbnRpdHkKK3sKKyAgIHR5cGVkZWYgVCB0eXBlOworfTsKKworLy9pc19jb252ZXJ0aWJsZQordGVtcGxhdGUgPGNsYXNzIFQsIGNsYXNzIFU+CitjbGFzcyBpc19jb252ZXJ0aWJsZQoreworICAgdHlwZWRlZiBjaGFyIHRydWVfdDsKKyAgIGNsYXNzIGZhbHNlX3QgeyBjaGFyIGR1bW15WzJdOyB9OworICAgc3RhdGljIHRydWVfdCBkaXNwYXRjaChVKTsKKyAgIHN0YXRpYyBmYWxzZV90IGRpc3BhdGNoKC4uLik7CisgICBzdGF0aWMgVCAmdHJpZ2dlcigpOworICAgcHVibGljOgorICAgZW51bSB7IHZhbHVlID0gc2l6ZW9mKGRpc3BhdGNoKHRyaWdnZXIoKSkpID09IHNpemVvZih0cnVlX3QpIH07Cit9OworCisvL2FuZF8gbm90XwordGVtcGxhdGUgPHR5cGVuYW1lIENvbmRpdGlvbjEsIHR5cGVuYW1lIENvbmRpdGlvbjIsIHR5cGVuYW1lIENvbmRpdGlvbjMgPSBpbnRlZ3JhbF9jb25zdGFudDxib29sLCB0cnVlPiA+CitzdHJ1Y3QgYW5kXworICAgOiBwdWJsaWMgaW50ZWdyYWxfY29uc3RhbnQ8Ym9vbCwgQ29uZGl0aW9uMTo6dmFsdWUgJiYgQ29uZGl0aW9uMjo6dmFsdWUgJiYgQ29uZGl0aW9uMzo6dmFsdWU+Cit7fTsKKwordGVtcGxhdGUgPHR5cGVuYW1lIEJvb2xlYW4+CitzdHJ1Y3Qgbm90XworICAgOiBwdWJsaWMgaW50ZWdyYWxfY29uc3RhbnQ8Ym9vbCwgIUJvb2xlYW46OnZhbHVlPgore307CisKKy8vaXNfbHZhbHVlX3JlZmVyZW5jZQordGVtcGxhdGU8Y2xhc3MgVD4KK3N0cnVjdCBpc19sdmFsdWVfcmVmZXJlbmNlCisgICA6IHB1YmxpYyBpbnRlZ3JhbF9jb25zdGFudDxib29sLCBmYWxzZT4KK3t9OworCit0ZW1wbGF0ZTxjbGFzcyBUPgorc3RydWN0IGlzX2x2YWx1ZV9yZWZlcmVuY2U8VCY+CisgICA6IHB1YmxpYyBpbnRlZ3JhbF9jb25zdGFudDxib29sLCB0cnVlPgore307CisKK3RlbXBsYXRlPGNsYXNzIFQ+CitzdHJ1Y3QgaXNfY2xhc3Nfb3JfdW5pb24KK3sKKyAgIHN0cnVjdCB0d29jaGFyIHsgY2hhciBfWzJdOyB9OworICAgdGVtcGxhdGUgPGNsYXNzIFU+CisgICBzdGF0aWMgY2hhciBpc19jbGFzc19vcl91bmlvbl90ZXN0ZXIodm9pZChVOjoqKSh2b2lkKSk7CisgICB0ZW1wbGF0ZSA8Y2xhc3MgVT4KKyAgIHN0YXRpYyB0d29jaGFyIGlzX2NsYXNzX29yX3VuaW9uX3Rlc3RlciguLi4pOworICAgc3RhdGljIGNvbnN0IGJvb2wgdmFsdWUgPSBzaXplb2YoaXNfY2xhc3Nfb3JfdW5pb25fdGVzdGVyPFQ+KDApKSA9PSBzaXplb2YoY2hhcik7Cit9OworCitzdHJ1Y3QgZW1wdHl7fTsKKworLy9hZGRyZXNzb2YKK3RlbXBsYXRlPGNsYXNzIFQ+IHN0cnVjdCBhZGRyX2ltcGxfcmVmCit7CisgICBUICYgdl87CisgICBpbmxpbmUgYWRkcl9pbXBsX3JlZiggVCAmIHYgKTogdl8oIHYgKSB7fQorICAgaW5saW5lIG9wZXJhdG9yIFQmICgpIGNvbnN0IHsgcmV0dXJuIHZfOyB9CisKKyAgIHByaXZhdGU6CisgICBhZGRyX2ltcGxfcmVmICYgb3BlcmF0b3I9KGNvbnN0IGFkZHJfaW1wbF9yZWYgJik7Cit9OworCit0ZW1wbGF0ZTxjbGFzcyBUPiBzdHJ1Y3QgYWRkcmVzc29mX2ltcGwKK3sKKyAgIHN0YXRpYyBpbmxpbmUgVCAqIGYoIFQgJiB2LCBsb25nICkKKyAgIHsKKyAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFQqPigKKyAgICAgICAgICZjb25zdF9jYXN0PGNoYXImPihyZWludGVycHJldF9jYXN0PGNvbnN0IHZvbGF0aWxlIGNoYXIgJj4odikpKTsKKyAgIH0KKworICAgc3RhdGljIGlubGluZSBUICogZiggVCAqIHYsIGludCApCisgICB7ICByZXR1cm4gdjsgIH0KK307CisKK3RlbXBsYXRlPGNsYXNzIFQ+CitpbmxpbmUgVCAqIGFkZHJlc3NvZiggVCAmIHYgKQoreworICAgcmV0dXJuIDo6bmRuYm9vc3Q6Om1vdmVfZGV0YWlsOjphZGRyZXNzb2ZfaW1wbDxUPjo6ZgorICAgICAgKCA6Om5kbmJvb3N0Ojptb3ZlX2RldGFpbDo6YWRkcl9pbXBsX3JlZjxUPiggdiApLCAwICk7Cit9CisKK30gIC8vbmFtZXNwYWNlIG1vdmVfZGV0YWlsIHsKK30gIC8vbmFtZXNwYWNlIG5kbmJvb3N0IHsKKworI2luY2x1ZGUgPG5kbmJvb3N0L21vdmUvZGV0YWlsL2NvbmZpZ19lbmQuaHBwPgorCisjZW5kaWYgLy8jaWZuZGVmIEJPT1NUX01PVkVfREVUQUlMX01FVEFfVVRJTFNfSFBQCmRpZmYgLS1naXQgYS9uZG5ib29zdC9tb3ZlL2l0ZXJhdG9yLmhwcCBiL25kbmJvb3N0L21vdmUvaXRlcmF0b3IuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEyMzM5YjAKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tb3ZlL2l0ZXJhdG9yLmhwcApAQCAtMCwwICsxLDI5OCBAQAorLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCisvLworLy8gKEMpIENvcHlyaWdodCBJb24gR2F6dGFuYWdhIDIwMTItMjAxMi4KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4KKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisvLyBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvbGlicy9tb3ZlIGZvciBkb2N1bWVudGF0aW9uLgorLy8KKy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworCisvLyEgXGZpbGUKKworI2lmbmRlZiBCT09TVF9NT1ZFX0lURVJBVE9SX0hQUAorI2RlZmluZSBCT09TVF9NT1ZFX0lURVJBVE9SX0hQUAorCisjaW5jbHVkZSA8bmRuYm9vc3QvbW92ZS9kZXRhaWwvY29uZmlnX2JlZ2luLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tb3ZlL3V0aWxpdHkuaHBwPgorI2luY2x1ZGUgPGl0ZXJhdG9yPiAgLy9zdGQ6Oml0ZXJhdG9yCisKK25hbWVzcGFjZSBuZG5ib29zdCB7CisKKy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworLy8KKy8vICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vdmVfaXRlcmF0b3IKKy8vCisvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKworLy8hIENsYXNzIHRlbXBsYXRlIG1vdmVfaXRlcmF0b3IgaXMgYW4gaXRlcmF0b3IgYWRhcHRvciB3aXRoIHRoZSBzYW1lIGJlaGF2aW9yCisvLyEgYXMgdGhlIHVuZGVybHlpbmcgaXRlcmF0b3IgZXhjZXB0IHRoYXQgaXRzIGRlcmVmZXJlbmNlIG9wZXJhdG9yIGltcGxpY2l0bHkKKy8vISBjb252ZXJ0cyB0aGUgdmFsdWUgcmV0dXJuZWQgYnkgdGhlIHVuZGVybHlpbmcgaXRlcmF0b3IncyBkZXJlZmVyZW5jZSBvcGVyYXRvcgorLy8hIHRvIGFuIHJ2YWx1ZSByZWZlcmVuY2UuIFNvbWUgZ2VuZXJpYyBhbGdvcml0aG1zIGNhbiBiZSBjYWxsZWQgd2l0aCBtb3ZlCisvLyEgaXRlcmF0b3JzIHRvIHJlcGxhY2UgY29weWluZyB3aXRoIG1vdmluZy4KK3RlbXBsYXRlIDxjbGFzcyBJdD4KK2NsYXNzIG1vdmVfaXRlcmF0b3IKK3sKKyAgIHB1YmxpYzoKKyAgIHR5cGVkZWYgSXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZXJhdG9yX3R5cGU7CisgICB0eXBlZGVmIHR5cGVuYW1lIHN0ZDo6aXRlcmF0b3JfdHJhaXRzPGl0ZXJhdG9yX3R5cGU+Ojp2YWx1ZV90eXBlICAgICAgICB2YWx1ZV90eXBlOworICAgI2lmICFkZWZpbmVkKEJPT1NUX05PX0NYWDExX1JWQUxVRV9SRUZFUkVOQ0VTKSB8fCBkZWZpbmVkKEJPT1NUX01PVkVfRE9YWUdFTl9JTlZPS0VEKQorICAgdHlwZWRlZiB2YWx1ZV90eXBlICYmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmZXJlbmNlOworICAgI2Vsc2UKKyAgIHR5cGVkZWYgdHlwZW5hbWUgOjpuZG5ib29zdDo6bW92ZV9kZXRhaWw6OmlmXworICAgICAgPCA6Om5kbmJvb3N0OjpoYXNfbW92ZV9lbXVsYXRpb25fZW5hYmxlZDx2YWx1ZV90eXBlPgorICAgICAgLCA6Om5kbmJvb3N0Ojpydjx2YWx1ZV90eXBlPiYKKyAgICAgICwgdmFsdWVfdHlwZSAmID46OnR5cGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZmVyZW5jZTsKKyAgICNlbmRpZgorICAgdHlwZWRlZiBJdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9pbnRlcjsKKyAgIHR5cGVkZWYgdHlwZW5hbWUgc3RkOjppdGVyYXRvcl90cmFpdHM8aXRlcmF0b3JfdHlwZT46OmRpZmZlcmVuY2VfdHlwZSAgIGRpZmZlcmVuY2VfdHlwZTsKKyAgIHR5cGVkZWYgdHlwZW5hbWUgc3RkOjppdGVyYXRvcl90cmFpdHM8aXRlcmF0b3JfdHlwZT46Oml0ZXJhdG9yX2NhdGVnb3J5IGl0ZXJhdG9yX2NhdGVnb3J5OworCisgICBtb3ZlX2l0ZXJhdG9yKCkKKyAgIHt9CisKKyAgIGV4cGxpY2l0IG1vdmVfaXRlcmF0b3IoSXQgaSkKKyAgICAgIDogIG1faXQoaSkKKyAgIHt9CisKKyAgIHRlbXBsYXRlIDxjbGFzcyBVPgorICAgbW92ZV9pdGVyYXRvcihjb25zdCBtb3ZlX2l0ZXJhdG9yPFU+JiB1KQorICAgICAgOiAgbV9pdCh1LmJhc2UoKSkKKyAgIHt9CisKKyAgIGl0ZXJhdG9yX3R5cGUgYmFzZSgpIGNvbnN0CisgICB7ICByZXR1cm4gbV9pdDsgICB9CisKKyAgIHJlZmVyZW5jZSBvcGVyYXRvciooKSBjb25zdAorICAgeworICAgICAgI2lmIGRlZmluZWQoQk9PU1RfTk9fQ1hYMTFfUlZBTFVFX1JFRkVSRU5DRVMpIHx8IGRlZmluZWQoQk9PU1RfTU9WRV9PTERfUlZBTFVFX1JFRl9CSU5ESU5HX1JVTEVTKQorICAgICAgcmV0dXJuICptX2l0OworICAgICAgI2Vsc2UKKyAgICAgIHJldHVybiA6Om5kbmJvb3N0Ojptb3ZlKCptX2l0KTsKKyAgICAgICNlbmRpZgorICAgfQorCisgICBwb2ludGVyICAgb3BlcmF0b3ItPigpIGNvbnN0CisgICB7ICByZXR1cm4gbV9pdDsgICB9CisKKyAgIG1vdmVfaXRlcmF0b3ImIG9wZXJhdG9yKysoKQorICAgeyAgKyttX2l0OyByZXR1cm4gKnRoaXM7ICAgfQorCisgICBtb3ZlX2l0ZXJhdG9yPGl0ZXJhdG9yX3R5cGU+ICBvcGVyYXRvcisrKGludCkKKyAgIHsgIG1vdmVfaXRlcmF0b3I8aXRlcmF0b3JfdHlwZT4gdG1wKCp0aGlzKTsgKysoKnRoaXMpOyByZXR1cm4gdG1wOyAgIH0KKworICAgbW92ZV9pdGVyYXRvciYgb3BlcmF0b3ItLSgpCisgICB7ICAtLW1faXQ7IHJldHVybiAqdGhpczsgICB9CisKKyAgIG1vdmVfaXRlcmF0b3I8aXRlcmF0b3JfdHlwZT4gIG9wZXJhdG9yLS0oaW50KQorICAgeyAgbW92ZV9pdGVyYXRvcjxpdGVyYXRvcl90eXBlPiB0bXAoKnRoaXMpOyAtLSgqdGhpcyk7IHJldHVybiB0bXA7ICAgfQorCisgICBtb3ZlX2l0ZXJhdG9yPGl0ZXJhdG9yX3R5cGU+ICBvcGVyYXRvcisgKGRpZmZlcmVuY2VfdHlwZSBuKSBjb25zdAorICAgeyAgcmV0dXJuIG1vdmVfaXRlcmF0b3I8aXRlcmF0b3JfdHlwZT4obV9pdCArIG4pOyAgfQorCisgICBtb3ZlX2l0ZXJhdG9yJiBvcGVyYXRvcis9KGRpZmZlcmVuY2VfdHlwZSBuKQorICAgeyAgbV9pdCArPSBuOyByZXR1cm4gKnRoaXM7ICAgfQorCisgICBtb3ZlX2l0ZXJhdG9yPGl0ZXJhdG9yX3R5cGU+ICBvcGVyYXRvci0gKGRpZmZlcmVuY2VfdHlwZSBuKSBjb25zdAorICAgeyAgcmV0dXJuIG1vdmVfaXRlcmF0b3I8aXRlcmF0b3JfdHlwZT4obV9pdCAtIG4pOyAgfQorCisgICBtb3ZlX2l0ZXJhdG9yJiBvcGVyYXRvci09KGRpZmZlcmVuY2VfdHlwZSBuKQorICAgeyAgbV9pdCAtPSBuOyByZXR1cm4gKnRoaXM7ICAgfQorCisgICByZWZlcmVuY2Ugb3BlcmF0b3JbXShkaWZmZXJlbmNlX3R5cGUgbikgY29uc3QKKyAgIHsKKyAgICAgICNpZiBkZWZpbmVkKEJPT1NUX05PX0NYWDExX1JWQUxVRV9SRUZFUkVOQ0VTKSB8fCBkZWZpbmVkKEJPT1NUX01PVkVfT0xEX1JWQUxVRV9SRUZfQklORElOR19SVUxFUykKKyAgICAgIHJldHVybiBtX2l0W25dOworICAgICAgI2Vsc2UKKyAgICAgIHJldHVybiA6Om5kbmJvb3N0Ojptb3ZlKG1faXRbbl0pOworICAgICAgI2VuZGlmCisgICB9CisKKyAgIGZyaWVuZCBib29sIG9wZXJhdG9yPT0oY29uc3QgbW92ZV9pdGVyYXRvciYgeCwgY29uc3QgbW92ZV9pdGVyYXRvciYgeSkKKyAgIHsgIHJldHVybiB4LmJhc2UoKSA9PSB5LmJhc2UoKTsgIH0KKworICAgZnJpZW5kIGJvb2wgb3BlcmF0b3IhPShjb25zdCBtb3ZlX2l0ZXJhdG9yJiB4LCBjb25zdCBtb3ZlX2l0ZXJhdG9yJiB5KQorICAgeyAgcmV0dXJuIHguYmFzZSgpICE9IHkuYmFzZSgpOyAgfQorCisgICBmcmllbmQgYm9vbCBvcGVyYXRvcjwgKGNvbnN0IG1vdmVfaXRlcmF0b3ImIHgsIGNvbnN0IG1vdmVfaXRlcmF0b3ImIHkpCisgICB7ICByZXR1cm4geC5iYXNlKCkgPCB5LmJhc2UoKTsgICB9CisKKyAgIGZyaWVuZCBib29sIG9wZXJhdG9yPD0oY29uc3QgbW92ZV9pdGVyYXRvciYgeCwgY29uc3QgbW92ZV9pdGVyYXRvciYgeSkKKyAgIHsgIHJldHVybiB4LmJhc2UoKSA8PSB5LmJhc2UoKTsgIH0KKworICAgZnJpZW5kIGJvb2wgb3BlcmF0b3I+IChjb25zdCBtb3ZlX2l0ZXJhdG9yJiB4LCBjb25zdCBtb3ZlX2l0ZXJhdG9yJiB5KQorICAgeyAgcmV0dXJuIHguYmFzZSgpID4geS5iYXNlKCk7ICB9CisKKyAgIGZyaWVuZCBib29sIG9wZXJhdG9yPj0oY29uc3QgbW92ZV9pdGVyYXRvciYgeCwgY29uc3QgbW92ZV9pdGVyYXRvciYgeSkKKyAgIHsgIHJldHVybiB4LmJhc2UoKSA+PSB5LmJhc2UoKTsgIH0KKworICAgZnJpZW5kIGRpZmZlcmVuY2VfdHlwZSBvcGVyYXRvci0oY29uc3QgbW92ZV9pdGVyYXRvciYgeCwgY29uc3QgbW92ZV9pdGVyYXRvciYgeSkKKyAgIHsgIHJldHVybiB4LmJhc2UoKSAtIHkuYmFzZSgpOyAgIH0KKworICAgZnJpZW5kIG1vdmVfaXRlcmF0b3Igb3BlcmF0b3IrKGRpZmZlcmVuY2VfdHlwZSBuLCBjb25zdCBtb3ZlX2l0ZXJhdG9yJiB4KQorICAgeyAgcmV0dXJuIG1vdmVfaXRlcmF0b3IoeC5iYXNlKCkgKyBuKTsgICB9CisKKyAgIHByaXZhdGU6CisgICBJdCBtX2l0OworfTsKKworLy9pc19tb3ZlX2l0ZXJhdG9yCituYW1lc3BhY2UgbW92ZV9kZXRhaWwgeworCit0ZW1wbGF0ZSA8Y2xhc3MgST4KK3N0cnVjdCBpc19tb3ZlX2l0ZXJhdG9yCisgICA6IHB1YmxpYyA6Om5kbmJvb3N0Ojptb3ZlX2RldGFpbDo6aW50ZWdyYWxfY29uc3RhbnQ8Ym9vbCwgZmFsc2U+Cit7Cit9OworCit0ZW1wbGF0ZSA8Y2xhc3MgST4KK3N0cnVjdCBpc19tb3ZlX2l0ZXJhdG9yPCA6Om5kbmJvb3N0Ojptb3ZlX2l0ZXJhdG9yPEk+ID4KKyAgIDogcHVibGljIDo6bmRuYm9vc3Q6Om1vdmVfZGV0YWlsOjppbnRlZ3JhbF9jb25zdGFudDxib29sLCB0cnVlPgoreworfTsKKworfSAgLy9uYW1lc3BhY2UgbW92ZV9kZXRhaWwgeworCisvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKy8vCisvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb3ZlX2l0ZXJhdG9yCisvLworLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCisKKy8vIQorLy8hIDxiPlJldHVybnM8L2I+OiBtb3ZlX2l0ZXJhdG9yPEl0PihpKS4KK3RlbXBsYXRlPGNsYXNzIEl0PgoraW5saW5lIG1vdmVfaXRlcmF0b3I8SXQ+IG1ha2VfbW92ZV9pdGVyYXRvcihjb25zdCBJdCAmaXQpCit7ICByZXR1cm4gbW92ZV9pdGVyYXRvcjxJdD4oaXQpOyB9CisKKy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworLy8KKy8vICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tfbW92ZV9pbnNlcnRfaXRlcmF0b3IKKy8vCisvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKworCisvLyEgQSBtb3ZlIGluc2VydCBpdGVyYXRvciB0aGF0IG1vdmUgY29uc3RydWN0cyBlbGVtZW50cyBhdCB0aGUKKy8vISBiYWNrIG9mIGEgY29udGFpbmVyCit0ZW1wbGF0ZSA8dHlwZW5hbWUgQz4gLy8gQyBtb2RlbHMgQ29udGFpbmVyCitjbGFzcyBiYWNrX21vdmVfaW5zZXJ0X2l0ZXJhdG9yCisgICA6IHB1YmxpYyBzdGQ6Oml0ZXJhdG9yPHN0ZDo6b3V0cHV0X2l0ZXJhdG9yX3RhZywgdm9pZCwgdm9pZCwgdm9pZCwgdm9pZD4KK3sKKyAgIEMqIGNvbnRhaW5lcl9tOworCisgICBwdWJsaWM6CisgICB0eXBlZGVmIEMgICAgICAgICAgICAgICAgICAgICAgICBjb250YWluZXJfdHlwZTsKKyAgIHR5cGVkZWYgdHlwZW5hbWUgQzo6dmFsdWVfdHlwZSAgIHZhbHVlX3R5cGU7CisgICB0eXBlZGVmIHR5cGVuYW1lIEM6OnJlZmVyZW5jZSAgICByZWZlcmVuY2U7CisKKyAgIGV4cGxpY2l0IGJhY2tfbW92ZV9pbnNlcnRfaXRlcmF0b3IoQyYgeCkgOiBjb250YWluZXJfbSgmeCkgeyB9CisKKyAgIGJhY2tfbW92ZV9pbnNlcnRfaXRlcmF0b3ImIG9wZXJhdG9yPShyZWZlcmVuY2UgeCkKKyAgIHsgY29udGFpbmVyX20tPnB1c2hfYmFjayhuZG5ib29zdDo6bW92ZSh4KSk7IHJldHVybiAqdGhpczsgfQorCisgICBiYWNrX21vdmVfaW5zZXJ0X2l0ZXJhdG9yJiBvcGVyYXRvcj0oQk9PU1RfUlZfUkVGKHZhbHVlX3R5cGUpIHgpCisgICB7ICByZWZlcmVuY2UgcnggPSB4OyByZXR1cm4gdGhpcy0+b3BlcmF0b3I9KHJ4KTsgIH0KKworICAgYmFja19tb3ZlX2luc2VydF9pdGVyYXRvciYgb3BlcmF0b3IqKCkgICAgIHsgcmV0dXJuICp0aGlzOyB9CisgICBiYWNrX21vdmVfaW5zZXJ0X2l0ZXJhdG9yJiBvcGVyYXRvcisrKCkgICAgeyByZXR1cm4gKnRoaXM7IH0KKyAgIGJhY2tfbW92ZV9pbnNlcnRfaXRlcmF0b3ImIG9wZXJhdG9yKysoaW50KSB7IHJldHVybiAqdGhpczsgfQorfTsKKworLy8hCisvLyEgPGI+UmV0dXJuczwvYj46IGJhY2tfbW92ZV9pbnNlcnRfaXRlcmF0b3I8Qz4oeCkuCit0ZW1wbGF0ZSA8dHlwZW5hbWUgQz4gLy8gQyBtb2RlbHMgQ29udGFpbmVyCitpbmxpbmUgYmFja19tb3ZlX2luc2VydF9pdGVyYXRvcjxDPiBiYWNrX21vdmVfaW5zZXJ0ZXIoQyYgeCkKK3sKKyAgIHJldHVybiBiYWNrX21vdmVfaW5zZXJ0X2l0ZXJhdG9yPEM+KHgpOworfQorCisvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKy8vCisvLyAgICAgICAgICAgICAgICAgICAgICAgICBmcm9udF9tb3ZlX2luc2VydF9pdGVyYXRvcgorLy8KKy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworCisvLyEgQSBtb3ZlIGluc2VydCBpdGVyYXRvciB0aGF0IG1vdmUgY29uc3RydWN0cyBlbGVtZW50cyBpbnQgdGhlCisvLyEgZnJvbnQgb2YgYSBjb250YWluZXIKK3RlbXBsYXRlIDx0eXBlbmFtZSBDPiAvLyBDIG1vZGVscyBDb250YWluZXIKK2NsYXNzIGZyb250X21vdmVfaW5zZXJ0X2l0ZXJhdG9yCisgICA6IHB1YmxpYyBzdGQ6Oml0ZXJhdG9yPHN0ZDo6b3V0cHV0X2l0ZXJhdG9yX3RhZywgdm9pZCwgdm9pZCwgdm9pZCwgdm9pZD4KK3sKKyAgIEMqIGNvbnRhaW5lcl9tOworCitwdWJsaWM6CisgICB0eXBlZGVmIEMgICAgICAgICAgICAgICAgICAgICAgICBjb250YWluZXJfdHlwZTsKKyAgIHR5cGVkZWYgdHlwZW5hbWUgQzo6dmFsdWVfdHlwZSAgIHZhbHVlX3R5cGU7CisgICB0eXBlZGVmIHR5cGVuYW1lIEM6OnJlZmVyZW5jZSAgICByZWZlcmVuY2U7CisKKyAgIGV4cGxpY2l0IGZyb250X21vdmVfaW5zZXJ0X2l0ZXJhdG9yKEMmIHgpIDogY29udGFpbmVyX20oJngpIHsgfQorCisgICBmcm9udF9tb3ZlX2luc2VydF9pdGVyYXRvciYgb3BlcmF0b3I9KHJlZmVyZW5jZSB4KQorICAgeyBjb250YWluZXJfbS0+cHVzaF9mcm9udChuZG5ib29zdDo6bW92ZSh4KSk7IHJldHVybiAqdGhpczsgfQorCisgICBmcm9udF9tb3ZlX2luc2VydF9pdGVyYXRvciYgb3BlcmF0b3I9KEJPT1NUX1JWX1JFRih2YWx1ZV90eXBlKSB4KQorICAgeyAgcmVmZXJlbmNlIHJ4ID0geDsgcmV0dXJuIHRoaXMtPm9wZXJhdG9yPShyeCk7ICB9CisKKyAgIGZyb250X21vdmVfaW5zZXJ0X2l0ZXJhdG9yJiBvcGVyYXRvciooKSAgICAgeyByZXR1cm4gKnRoaXM7IH0KKyAgIGZyb250X21vdmVfaW5zZXJ0X2l0ZXJhdG9yJiBvcGVyYXRvcisrKCkgICAgeyByZXR1cm4gKnRoaXM7IH0KKyAgIGZyb250X21vdmVfaW5zZXJ0X2l0ZXJhdG9yJiBvcGVyYXRvcisrKGludCkgeyByZXR1cm4gKnRoaXM7IH0KK307CisKKy8vIQorLy8hIDxiPlJldHVybnM8L2I+OiBmcm9udF9tb3ZlX2luc2VydF9pdGVyYXRvcjxDPih4KS4KK3RlbXBsYXRlIDx0eXBlbmFtZSBDPiAvLyBDIG1vZGVscyBDb250YWluZXIKK2lubGluZSBmcm9udF9tb3ZlX2luc2VydF9pdGVyYXRvcjxDPiBmcm9udF9tb3ZlX2luc2VydGVyKEMmIHgpCit7CisgICByZXR1cm4gZnJvbnRfbW92ZV9pbnNlcnRfaXRlcmF0b3I8Qz4oeCk7Cit9CisKKy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworLy8KKy8vICAgICAgICAgICAgICAgICAgICAgICAgIGluc2VydF9tb3ZlX2l0ZXJhdG9yCisvLworLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCit0ZW1wbGF0ZSA8dHlwZW5hbWUgQz4gLy8gQyBtb2RlbHMgQ29udGFpbmVyCitjbGFzcyBtb3ZlX2luc2VydF9pdGVyYXRvcgorICAgOiBwdWJsaWMgc3RkOjppdGVyYXRvcjxzdGQ6Om91dHB1dF9pdGVyYXRvcl90YWcsIHZvaWQsIHZvaWQsIHZvaWQsIHZvaWQ+Cit7CisgICBDKiBjb250YWluZXJfbTsKKyAgIHR5cGVuYW1lIEM6Oml0ZXJhdG9yIHBvc187CisKKyAgIHB1YmxpYzoKKyAgIHR5cGVkZWYgQyAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lcl90eXBlOworICAgdHlwZWRlZiB0eXBlbmFtZSBDOjp2YWx1ZV90eXBlICAgdmFsdWVfdHlwZTsKKyAgIHR5cGVkZWYgdHlwZW5hbWUgQzo6cmVmZXJlbmNlICAgIHJlZmVyZW5jZTsKKworICAgZXhwbGljaXQgbW92ZV9pbnNlcnRfaXRlcmF0b3IoQyYgeCwgdHlwZW5hbWUgQzo6aXRlcmF0b3IgcG9zKQorICAgICAgOiBjb250YWluZXJfbSgmeCksIHBvc18ocG9zKQorICAge30KKworICAgbW92ZV9pbnNlcnRfaXRlcmF0b3ImIG9wZXJhdG9yPShyZWZlcmVuY2UgeCkKKyAgIHsKKyAgICAgIHBvc18gPSBjb250YWluZXJfbS0+aW5zZXJ0KHBvc18sIDo6bmRuYm9vc3Q6Om1vdmUoeCkpOworICAgICAgKytwb3NfOworICAgICAgcmV0dXJuICp0aGlzOworICAgfQorCisgICBtb3ZlX2luc2VydF9pdGVyYXRvciYgb3BlcmF0b3I9KEJPT1NUX1JWX1JFRih2YWx1ZV90eXBlKSB4KQorICAgeyAgcmVmZXJlbmNlIHJ4ID0geDsgcmV0dXJuIHRoaXMtPm9wZXJhdG9yPShyeCk7ICB9CisKKyAgIG1vdmVfaW5zZXJ0X2l0ZXJhdG9yJiBvcGVyYXRvciooKSAgICAgeyByZXR1cm4gKnRoaXM7IH0KKyAgIG1vdmVfaW5zZXJ0X2l0ZXJhdG9yJiBvcGVyYXRvcisrKCkgICAgeyByZXR1cm4gKnRoaXM7IH0KKyAgIG1vdmVfaW5zZXJ0X2l0ZXJhdG9yJiBvcGVyYXRvcisrKGludCkgeyByZXR1cm4gKnRoaXM7IH0KK307CisKKy8vIQorLy8hIDxiPlJldHVybnM8L2I+OiBtb3ZlX2luc2VydF9pdGVyYXRvcjxDPih4LCBpdCkuCit0ZW1wbGF0ZSA8dHlwZW5hbWUgQz4gLy8gQyBtb2RlbHMgQ29udGFpbmVyCitpbmxpbmUgbW92ZV9pbnNlcnRfaXRlcmF0b3I8Qz4gbW92ZV9pbnNlcnRlcihDJiB4LCB0eXBlbmFtZSBDOjppdGVyYXRvciBpdCkKK3sKKyAgIHJldHVybiBtb3ZlX2luc2VydF9pdGVyYXRvcjxDPih4LCBpdCk7Cit9CisKK30gIC8vbmFtZXNwYWNlIG5kbmJvb3N0IHsKKworI2luY2x1ZGUgPG5kbmJvb3N0L21vdmUvZGV0YWlsL2NvbmZpZ19lbmQuaHBwPgorCisjZW5kaWYgLy8jaWZuZGVmIEJPT1NUX01PVkVfSVRFUkFUT1JfSFBQCmRpZmYgLS1naXQgYS9uZG5ib29zdC9tb3ZlL21vdmUuaHBwIGIvbmRuYm9vc3QvbW92ZS9tb3ZlLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MjJmZmI1Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbW92ZS9tb3ZlLmhwcApAQCAtMCwwICsxLDI3IEBACisvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKy8vCisvLyAoQykgQ29weXJpZ2h0IERhdmlkIEFicmFoYW1zLCBWaWNlbnRlIEJvdGV0IDIwMDkuCisvLyAoQykgQ29weXJpZ2h0IElvbiBHYXp0YW5hZ2EgMjAwOS0yMDEyLgorLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLgorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKy8vIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL21vdmUgZm9yIGRvY3VtZW50YXRpb24uCisvLworLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCisKKy8vISBcZmlsZSBtb3ZlLmhwcAorLy8hIEEgZ2VuZXJhbCBsaWJyYXJ5IGhlYWRlciB0aGF0IGluY2x1ZGVzCisvLyEgdGhlIHJlc3Qgb2YgdG9wLWxldmVsIGhlYWRlcnMuCisKKyNpZm5kZWYgQk9PU1RfTU9WRV9NT1ZFX0hQUAorI2RlZmluZSBCT09TVF9NT1ZFX01PVkVfSFBQCisKKyNpbmNsdWRlIDxuZG5ib29zdC9tb3ZlL2RldGFpbC9jb25maWdfYmVnaW4uaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21vdmUvdXRpbGl0eS5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbW92ZS9pdGVyYXRvci5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbW92ZS90cmFpdHMuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21vdmUvYWxnb3JpdGhtLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tb3ZlL2RldGFpbC9jb25maWdfZW5kLmhwcD4KKworI2VuZGlmIC8vI2lmbmRlZiBCT09TVF9NT1ZFX01PVkVfSFBQCmRpZmYgLS1naXQgYS9uZG5ib29zdC9tb3ZlL3RyYWl0cy5ocHAgYi9uZG5ib29zdC9tb3ZlL3RyYWl0cy5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDdkNTg1ZAotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21vdmUvdHJhaXRzLmhwcApAQCAtMCwwICsxLDE0MiBAQAorLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCisvLworLy8gKEMpIENvcHlyaWdodCBJb24gR2F6dGFuYWdhIDIwMDktMjAxMi4KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4KKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisvLyBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvbGlicy9tb3ZlIGZvciBkb2N1bWVudGF0aW9uLgorLy8KKy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworCisvLyEgXGZpbGUKKworI2lmbmRlZiBCT09TVF9NT1ZFX01PVkVfVFJBSVRTX0hQUAorI2RlZmluZSBCT09TVF9NT1ZFX01PVkVfVFJBSVRTX0hQUAorCisjaW5jbHVkZSA8bmRuYm9vc3QvbW92ZS9kZXRhaWwvY29uZmlnX2JlZ2luLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9oYXNfdHJpdmlhbF9kZXN0cnVjdG9yLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tb3ZlL2RldGFpbC9tZXRhX3V0aWxzLmhwcD4KKworI2lmbmRlZiBCT09TVF9OT19DWFgxMV9SVkFMVUVfUkVGRVJFTkNFUworI2luY2x1ZGUgPG5kbmJvb3N0L21vdmUvY29yZS5ocHA+CisjZW5kaWYKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsKKworLy8hIElmIHRoaXMgdHJhaXQgeWllbGRzIHRvIHRydWUKKy8vISAoPGk+aGFzX3RyaXZpYWxfZGVzdHJ1Y3Rvcl9hZnRlcl9tb3ZlICZsdDtUJmd0Ozo6dmFsdWUgPT0gdHJ1ZTwvaT4pCisvLyEgbWVhbnMgdGhhdCBpZiBUIGlzIHVzZWQgYXMgYXJndW1lbnQgb2YgYSBtb3ZlIGNvbnN0cnVjdGlvbi9hc3NpZ25tZW50LAorLy8hIHRoZXJlIGlzIG5vIG5lZWQgdG8gY2FsbCBUJ3MgZGVzdHJ1Y3Rvci4KKy8vISBUaGlzIG9wdGltaXphdGlvbiB0aXBpY2FsbHkgaXMgdXNlZCB0byBpbXByb3ZlIGNvbnRhaW5lcnMnIHBlcmZvcm1hbmNlLgorLy8hCisvLyEgQnkgZGVmYXVsdCB0aGlzIHRyYWl0IGlzIHRydWUgaWYgdGhlIHR5cGUgaGFzIHRyaXZpYWwgZGVzdHJ1Y3RvciwKKy8vISBldmVyeSBjbGFzcyBzaG91bGQgc3BlY2lhbGl6ZSB0aGlzIHRyYWl0IGlmIGl0IHdhbnRzIHRvIGltcHJvdmUgcGVyZm9ybWFuY2UKKy8vISB3aGVuIGluc2VydGVkIGluIGNvbnRhaW5lcnMuCit0ZW1wbGF0ZSA8Y2xhc3MgVD4KK3N0cnVjdCBoYXNfdHJpdmlhbF9kZXN0cnVjdG9yX2FmdGVyX21vdmUKKyAgIDogOjpuZG5ib29zdDo6aGFzX3RyaXZpYWxfZGVzdHJ1Y3RvcjxUPgore307CisKKy8vISBCeSBkZWZhdWx0IHRoaXMgdHJhaXRzIHJldHVybnMgZmFsc2UuIENsYXNzZXMgd2l0aCBub24tdGhyb3dpbmcgbW92ZSBjb25zdHJ1Y3RvcgorLy8hIGFuZCBhc3NpZ25tZW50IGNhbiBzcGVjaWFsaXplIHRoaXMgdHJhaXQgdG8gb2J0YWluIHNvbWUgcGVyZm9ybWFuY2UgaW1wcm92ZW1lbnRzLgordGVtcGxhdGUgPGNsYXNzIFQ+CitzdHJ1Y3QgaGFzX25vdGhyb3dfbW92ZQorICAgOiBwdWJsaWMgOjpuZG5ib29zdDo6bW92ZV9kZXRhaWw6OmludGVncmFsX2NvbnN0YW50PGJvb2wsIGZhbHNlPgore307CisKK25hbWVzcGFjZSBtb3ZlX2RldGFpbCB7CisKKy8vIENvZGUgZnJvbSBKZWZmcmV5IExlZSBIZWxscnVuZywgbWFueSB0aGFua3MKKworI2lmbmRlZiBCT09TVF9OT19DWFgxMV9SVkFMVUVfUkVGRVJFTkNFUworICAgdGVtcGxhdGU8IGNsYXNzIFQ+IHN0cnVjdCBmb3J3YXJkX3R5cGUgeyB0eXBlZGVmIFQgdHlwZTsgfTsKKyNlbHNlIC8vICNpZm5kZWYgQk9PU1RfTk9fQ1hYMTFfUlZBTFVFX1JFRkVSRU5DRVMKKyAgIHRlbXBsYXRlPCBjbGFzcyBUPgorICAgc3RydWN0IGZvcndhcmRfdHlwZQorICAgeyB0eXBlZGVmIGNvbnN0IFQgJnR5cGU7IH07CisKKyAgIHRlbXBsYXRlPCBjbGFzcyBUPgorICAgc3RydWN0IGZvcndhcmRfdHlwZTwgbmRuYm9vc3Q6OnJ2PFQ+ID4KKyAgIHsgdHlwZWRlZiBUIHR5cGU7IH07CisjZW5kaWYgLy8gI2lmbmRlZiBCT09TVF9OT19DWFgxMV9SVkFMVUVfUkVGRVJFTkNFUworCit0ZW1wbGF0ZTwgY2xhc3MgVCA+IHN0cnVjdCBpc19ydmFsdWVfcmVmZXJlbmNlIDogOjpuZG5ib29zdDo6bW92ZV9kZXRhaWw6OmludGVncmFsX2NvbnN0YW50PGJvb2wsIGZhbHNlPiB7IH07CisjaWZuZGVmIEJPT1NUX05PX0NYWDExX1JWQUxVRV9SRUZFUkVOQ0VTCisgICB0ZW1wbGF0ZTwgY2xhc3MgVCA+IHN0cnVjdCBpc19ydmFsdWVfcmVmZXJlbmNlPCBUJiYgPiA6IDo6bmRuYm9vc3Q6Om1vdmVfZGV0YWlsOjppbnRlZ3JhbF9jb25zdGFudDxib29sLCB0cnVlPiB7IH07CisjZWxzZSAvLyAjaWZuZGVmIEJPT1NUX05PX0NYWDExX1JWQUxVRV9SRUZFUkVOQ0VTCisgICB0ZW1wbGF0ZTwgY2xhc3MgVCA+IHN0cnVjdCBpc19ydmFsdWVfcmVmZXJlbmNlPCBuZG5ib29zdDo6cnY8VD4mID4KKyAgICAgIDogIDo6bmRuYm9vc3Q6Om1vdmVfZGV0YWlsOjppbnRlZ3JhbF9jb25zdGFudDxib29sLCB0cnVlPgorICAge307CisKKyAgIHRlbXBsYXRlPCBjbGFzcyBUID4gc3RydWN0IGlzX3J2YWx1ZV9yZWZlcmVuY2U8IGNvbnN0IG5kbmJvb3N0OjpydjxUPiYgPgorICAgICAgOiA6Om5kbmJvb3N0Ojptb3ZlX2RldGFpbDo6aW50ZWdyYWxfY29uc3RhbnQ8Ym9vbCwgdHJ1ZT4KKyAgIHt9OworI2VuZGlmIC8vICNpZm5kZWYgQk9PU1RfTk9fQ1hYMTFfUlZBTFVFX1JFRkVSRU5DRVMKKworI2lmbmRlZiBCT09TVF9OT19DWFgxMV9SVkFMVUVfUkVGRVJFTkNFUworICAgdGVtcGxhdGU8IGNsYXNzIFQgPiBzdHJ1Y3QgYWRkX3J2YWx1ZV9yZWZlcmVuY2UgeyB0eXBlZGVmIFQmJiB0eXBlOyB9OworI2Vsc2UgLy8gI2lmbmRlZiBCT09TVF9OT19DWFgxMV9SVkFMVUVfUkVGRVJFTkNFUworICAgbmFtZXNwYWNlIGRldGFpbF9hZGRfcnZhbHVlX3JlZmVyZW5jZQorICAgeworICAgICAgdGVtcGxhdGU8IGNsYXNzIFQKKyAgICAgICAgICAgICAgLCBib29sIGVtdWxhdGlvbiA9IDo6bmRuYm9vc3Q6Omhhc19tb3ZlX2VtdWxhdGlvbl9lbmFibGVkPFQ+Ojp2YWx1ZQorICAgICAgICAgICAgICAsIGJvb2wgcnYgICAgICAgID0gOjpuZG5ib29zdDo6bW92ZV9kZXRhaWw6OmlzX3J2PFQ+Ojp2YWx1ZSAgPgorICAgICAgc3RydWN0IGFkZF9ydmFsdWVfcmVmZXJlbmNlX2ltcGwgeyB0eXBlZGVmIFQgdHlwZTsgfTsKKworICAgICAgdGVtcGxhdGU8IGNsYXNzIFQsIGJvb2wgZW11bGF0aW9uPgorICAgICAgc3RydWN0IGFkZF9ydmFsdWVfcmVmZXJlbmNlX2ltcGw8IFQsIGVtdWxhdGlvbiwgdHJ1ZSA+IHsgdHlwZWRlZiBUICYgdHlwZTsgfTsKKworICAgICAgdGVtcGxhdGU8IGNsYXNzIFQsIGJvb2wgcnYgPgorICAgICAgc3RydWN0IGFkZF9ydmFsdWVfcmVmZXJlbmNlX2ltcGw8IFQsIHRydWUsIHJ2ID4geyB0eXBlZGVmIDo6bmRuYm9vc3Q6OnJ2PFQ+JiB0eXBlOyB9OworICAgfSAvLyBuYW1lc3BhY2UgZGV0YWlsX2FkZF9ydmFsdWVfcmVmZXJlbmNlCisKKyAgIHRlbXBsYXRlPCBjbGFzcyBUID4KKyAgIHN0cnVjdCBhZGRfcnZhbHVlX3JlZmVyZW5jZQorICAgICAgOiBkZXRhaWxfYWRkX3J2YWx1ZV9yZWZlcmVuY2U6OmFkZF9ydmFsdWVfcmVmZXJlbmNlX2ltcGw8VD4KKyAgIHsgfTsKKworICAgdGVtcGxhdGU8IGNsYXNzIFQgPgorICAgc3RydWN0IGFkZF9ydmFsdWVfcmVmZXJlbmNlPFQgJj4KKyAgIHsgIHR5cGVkZWYgVCAmIHR5cGU7IH07CisKKyNlbmRpZiAvLyAjaWZuZGVmIEJPT1NUX05PX0NYWDExX1JWQUxVRV9SRUZFUkVOQ0VTCisKK3RlbXBsYXRlPCBjbGFzcyBUID4gc3RydWN0IHJlbW92ZV9ydmFsdWVfcmVmZXJlbmNlIHsgdHlwZWRlZiBUIHR5cGU7IH07CisKKyNpZm5kZWYgQk9PU1RfTk9fQ1hYMTFfUlZBTFVFX1JFRkVSRU5DRVMKKyAgIHRlbXBsYXRlPCBjbGFzcyBUID4gc3RydWN0IHJlbW92ZV9ydmFsdWVfcmVmZXJlbmNlPCBUJiYgPiAgICAgICAgICAgICAgICAgIHsgdHlwZWRlZiBUIHR5cGU7IH07CisjZWxzZSAvLyAjaWZuZGVmIEJPT1NUX05PX0NYWDExX1JWQUxVRV9SRUZFUkVOQ0VTCisgICB0ZW1wbGF0ZTwgY2xhc3MgVCA+IHN0cnVjdCByZW1vdmVfcnZhbHVlX3JlZmVyZW5jZTwgcnY8VD4gPiAgICAgICAgICAgICAgICB7IHR5cGVkZWYgVCB0eXBlOyB9OworICAgdGVtcGxhdGU8IGNsYXNzIFQgPiBzdHJ1Y3QgcmVtb3ZlX3J2YWx1ZV9yZWZlcmVuY2U8IGNvbnN0IHJ2PFQ+ID4gICAgICAgICAgeyB0eXBlZGVmIFQgdHlwZTsgfTsKKyAgIHRlbXBsYXRlPCBjbGFzcyBUID4gc3RydWN0IHJlbW92ZV9ydmFsdWVfcmVmZXJlbmNlPCB2b2xhdGlsZSBydjxUPiA+ICAgICAgIHsgdHlwZWRlZiBUIHR5cGU7IH07CisgICB0ZW1wbGF0ZTwgY2xhc3MgVCA+IHN0cnVjdCByZW1vdmVfcnZhbHVlX3JlZmVyZW5jZTwgY29uc3Qgdm9sYXRpbGUgcnY8VD4gPiB7IHR5cGVkZWYgVCB0eXBlOyB9OworICAgdGVtcGxhdGU8IGNsYXNzIFQgPiBzdHJ1Y3QgcmVtb3ZlX3J2YWx1ZV9yZWZlcmVuY2U8IHJ2PFQ+JiA+ICAgICAgICAgICAgICAgeyB0eXBlZGVmIFQgdHlwZTsgfTsKKyAgIHRlbXBsYXRlPCBjbGFzcyBUID4gc3RydWN0IHJlbW92ZV9ydmFsdWVfcmVmZXJlbmNlPCBjb25zdCBydjxUPiYgPiAgICAgICAgIHsgdHlwZWRlZiBUIHR5cGU7IH07CisgICB0ZW1wbGF0ZTwgY2xhc3MgVCA+IHN0cnVjdCByZW1vdmVfcnZhbHVlX3JlZmVyZW5jZTwgdm9sYXRpbGUgcnY8VD4mID4gICAgICB7IHR5cGVkZWYgVCB0eXBlOyB9OworICAgdGVtcGxhdGU8IGNsYXNzIFQgPiBzdHJ1Y3QgcmVtb3ZlX3J2YWx1ZV9yZWZlcmVuY2U8IGNvbnN0IHZvbGF0aWxlIHJ2PFQ+JiA+eyB0eXBlZGVmIFQgdHlwZTsgfTsKKyNlbmRpZiAvLyAjaWZuZGVmIEJPT1NUX05PX0NYWDExX1JWQUxVRV9SRUZFUkVOQ0VTCisKK3RlbXBsYXRlIDx0eXBlbmFtZSBUPgordHlwZW5hbWUgbmRuYm9vc3Q6Om1vdmVfZGV0YWlsOjphZGRfcnZhbHVlX3JlZmVyZW5jZTxUPjo6dHlwZSBkZWNsdmFsKCk7CisKK30gIC8vbW92ZV9kZXRhaWwgeworCisvLyBJZGVhcyBmcm9tIEJvb3N0Lk1vdmUgcmV2aWV3LCBKZWZmcmV5IExlZSBIZWxscnVuZzoKKy8vCisvLy0gVHlwZVRyYWl0cyBtZXRhZnVuY3Rpb25zIGlzX2x2YWx1ZV9yZWZlcmVuY2UsIGFkZF9sdmFsdWVfcmVmZXJlbmNlLCBhbmQgcmVtb3ZlX2x2YWx1ZV9yZWZlcmVuY2UgPworLy8gIFBlcmhhcHMgYWRkX3JlZmVyZW5jZSBhbmQgcmVtb3ZlX3JlZmVyZW5jZSBjYW4gYmUgbW9kaWZpZWQgc28gdGhhdCB0aGV5IGJlaGF2ZSB3cnQgZW11bGF0ZWQgcnZhbHVlCisvLyAgcmVmZXJlbmNlcyB0aGUgc2FtZSBhcyB3cnQgcmVhbCBydmFsdWUgcmVmZXJlbmNlcywgaS5lLiwgYWRkX3JlZmVyZW5jZTwgcnY8VD4mID4gLT4gVCYgcmF0aGVyIHRoYW4KKy8vICBydjxUPiYgKHNpbmNlIFQmJiAmIC0+IFQmKS4KKy8vCisvLy0gQWRkJ2wgVHlwZVRyYWl0cyBoYXNfW3RyaXZpYWxfXW1vdmVfe2NvbnN0cnVjdG9yLGFzc2lnbn0uLi4/CisvLworLy8tIEFuIGFzX2x2YWx1ZShUJiB4KSBmdW5jdGlvbiwgd2hpY2ggYW1vdW50cyB0byBhbiBpZGVudGl0eSBvcGVyYXRpb24gaW4gQysrMHgsIGJ1dCBzdHJpcHMgZW11bGF0ZWQKKy8vICBydmFsdWUgcmVmZXJlbmNlcyBpbiBDKyswMy4gIFRoaXMgbWF5IGJlIG5lY2Vzc2FyeSB0byBwcmV2ZW50ICJhY2NpZGVudGFsIG1vdmVzIi4KKworCit9ICAvL25hbWVzcGFjZSBuZG5ib29zdCB7CisKKyNpbmNsdWRlIDxuZG5ib29zdC9tb3ZlL2RldGFpbC9jb25maWdfZW5kLmhwcD4KKworI2VuZGlmIC8vI2lmbmRlZiBCT09TVF9NT1ZFX01PVkVfVFJBSVRTX0hQUApkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbW92ZS91dGlsaXR5LmhwcCBiL25kbmJvb3N0L21vdmUvdXRpbGl0eS5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmI4Mjg3OQotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21vdmUvdXRpbGl0eS5ocHAKQEAgLTAsMCArMSwxOTQgQEAKKy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworLy8KKy8vIChDKSBDb3B5cmlnaHQgSW9uIEdhenRhbmFnYSAyMDEyLTIwMTIuCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0CisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworLy8gU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL2xpYnMvbW92ZSBmb3IgZG9jdW1lbnRhdGlvbi4KKy8vCisvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKworLy8hIFxmaWxlCisKKyNpZm5kZWYgQk9PU1RfTU9WRV9NT1ZFX1VUSUxJVFlfSFBQCisjZGVmaW5lIEJPT1NUX01PVkVfTU9WRV9VVElMSVRZX0hQUAorCisjaW5jbHVkZSA8bmRuYm9vc3QvbW92ZS9kZXRhaWwvY29uZmlnX2JlZ2luLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tb3ZlL2NvcmUuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21vdmUvZGV0YWlsL21ldGFfdXRpbHMuaHBwPgorCisjaWYgZGVmaW5lZChCT09TVF9OT19DWFgxMV9SVkFMVUVfUkVGRVJFTkNFUykgJiYgIWRlZmluZWQoQk9PU1RfTU9WRV9ET1hZR0VOX0lOVk9LRUQpCisKKyAgIG5hbWVzcGFjZSBuZG5ib29zdCB7CisKKyAgIHRlbXBsYXRlPGNsYXNzIFQ+CisgICBzdHJ1Y3QgZW5hYmxlX21vdmVfdXRpbGl0eV9lbXVsYXRpb24KKyAgIHsKKyAgICAgIHN0YXRpYyBjb25zdCBib29sIHZhbHVlID0gdHJ1ZTsKKyAgIH07CisgICAgCisgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKyAgIC8vCisgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb3ZlKCkKKyAgIC8vCisgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKworICAgdGVtcGxhdGUgPGNsYXNzIFQ+CisgICBpbmxpbmUgdHlwZW5hbWUgOjpuZG5ib29zdDo6bW92ZV9kZXRhaWw6OmVuYWJsZV9pZl9jCisgICAgICA8IGVuYWJsZV9tb3ZlX3V0aWxpdHlfZW11bGF0aW9uPFQ+Ojp2YWx1ZSAmJiAhaGFzX21vdmVfZW11bGF0aW9uX2VuYWJsZWQ8VD46OnZhbHVlLCBUJj46OnR5cGUKKyAgICAgICAgIG1vdmUoVCYgeCkKKyAgIHsKKyAgICAgIHJldHVybiB4OworICAgfQorCisgICB0ZW1wbGF0ZSA8Y2xhc3MgVD4KKyAgIGlubGluZSB0eXBlbmFtZSA6Om5kbmJvb3N0Ojptb3ZlX2RldGFpbDo6ZW5hYmxlX2lmX2MKKyAgICAgIDwgZW5hYmxlX21vdmVfdXRpbGl0eV9lbXVsYXRpb248VD46OnZhbHVlICYmIGhhc19tb3ZlX2VtdWxhdGlvbl9lbmFibGVkPFQ+Ojp2YWx1ZSwgcnY8VD4mPjo6dHlwZQorICAgICAgICAgbW92ZShUJiB4KQorICAgeworICAgICAgcmV0dXJuICpzdGF0aWNfY2FzdDxydjxUPiogPig6Om5kbmJvb3N0Ojptb3ZlX2RldGFpbDo6YWRkcmVzc29mKHgpKTsKKyAgIH0KKworICAgdGVtcGxhdGUgPGNsYXNzIFQ+CisgICBpbmxpbmUgdHlwZW5hbWUgOjpuZG5ib29zdDo6bW92ZV9kZXRhaWw6OmVuYWJsZV9pZl9jCisgICAgICA8IGVuYWJsZV9tb3ZlX3V0aWxpdHlfZW11bGF0aW9uPFQ+Ojp2YWx1ZSAmJiBoYXNfbW92ZV9lbXVsYXRpb25fZW5hYmxlZDxUPjo6dmFsdWUsIHJ2PFQ+Jj46OnR5cGUKKyAgICAgICAgIG1vdmUocnY8VD4mIHgpCisgICB7CisgICAgICByZXR1cm4geDsKKyAgIH0KKworICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCisgICAvLworICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yd2FyZCgpCisgICAvLworICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCisKKyAgIHRlbXBsYXRlIDxjbGFzcyBUPgorICAgaW5saW5lIHR5cGVuYW1lIDo6bmRuYm9vc3Q6Om1vdmVfZGV0YWlsOjplbmFibGVfaWZfYworICAgICAgPCBlbmFibGVfbW92ZV91dGlsaXR5X2VtdWxhdGlvbjxUPjo6dmFsdWUgJiYgOjpuZG5ib29zdDo6bW92ZV9kZXRhaWw6OmlzX3J2PFQ+Ojp2YWx1ZSwgVCAmPjo6dHlwZQorICAgICAgICAgZm9yd2FyZChjb25zdCB0eXBlbmFtZSA6Om5kbmJvb3N0Ojptb3ZlX2RldGFpbDo6aWRlbnRpdHk8VD46OnR5cGUgJngpCisgICB7CisgICAgICByZXR1cm4gY29uc3RfY2FzdDxUJj4oeCk7CisgICB9CisKKyAgIHRlbXBsYXRlIDxjbGFzcyBUPgorICAgaW5saW5lIHR5cGVuYW1lIDo6bmRuYm9vc3Q6Om1vdmVfZGV0YWlsOjplbmFibGVfaWZfYworICAgICAgPCBlbmFibGVfbW92ZV91dGlsaXR5X2VtdWxhdGlvbjxUPjo6dmFsdWUgJiYgITo6bmRuYm9vc3Q6Om1vdmVfZGV0YWlsOjppc19ydjxUPjo6dmFsdWUsIGNvbnN0IFQgJj46OnR5cGUKKyAgICAgIGZvcndhcmQoY29uc3QgdHlwZW5hbWUgOjpuZG5ib29zdDo6bW92ZV9kZXRhaWw6OmlkZW50aXR5PFQ+Ojp0eXBlICZ4KQorICAgeworICAgICAgcmV0dXJuIHg7CisgICB9CisKKyAgIH0gIC8vbmFtZXNwYWNlIG5kbmJvb3N0CisKKyNlbHNlICAgIC8vI2lmIGRlZmluZWQoQk9PU1RfTk9fQ1hYMTFfUlZBTFVFX1JFRkVSRU5DRVMpICYmICFkZWZpbmVkKEJPT1NUX01PVkVfRE9YWUdFTl9JTlZPS0VEKQorCisgICAjaWYgZGVmaW5lZChCT09TVF9NT1ZFX1VTRV9TVEFOREFSRF9MSUJSQVJZX01PVkUpCisgICAgICAjaW5jbHVkZSA8dXRpbGl0eT4KKworICAgICAgbmFtZXNwYWNlIG5kbmJvb3N0eworCisgICAgICB1c2luZyA6OnN0ZDo6bW92ZTsKKyAgICAgIHVzaW5nIDo6c3RkOjpmb3J3YXJkOworCisgICAgICB9ICAvL25hbWVzcGFjZSBuZG5ib29zdAorCisgICAjZWxzZSAvLyFCT09TVF9NT1ZFX1VTRV9TVEFOREFSRF9MSUJSQVJZX01PVkUKKworICAgICAgI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL3JlbW92ZV9yZWZlcmVuY2UuaHBwPgorCisgICAgICBuYW1lc3BhY2UgbmRuYm9vc3QgeworCisgICAgICAvLyEgVGhpcyB0cmFpdCdzIGludGVybmFsIGJvb2xlYW4gYHZhbHVlYCBpcyBmYWxzZSBpbiBjb21waWxlcnMgd2l0aCBydmFsdWUgcmVmZXJlbmNlcworICAgICAgLy8hIGFuZCB0cnVlIGluIGNvbXBpbGVycyB3aXRob3V0IHJ2YWx1ZSByZWZlcmVuY2VzLgorICAgICAgLy8hCisgICAgICAvLyEgQSB1c2VyIGNhbiBzcGVjaWFsaXplIHRoaXMgdHJhaXQgZm9yIGEgdHlwZSBUIHRvIGZhbHNlIHRvIFNGSU5BRSBvdXQgYG1vdmVgIGFuZCBgZm9yd2FyZGAKKyAgICAgIC8vISBzbyB0aGF0IHRoZSB1c2VyIGNhbiBkZWZpbmUgYSBkaWZmZXJlbnQgbW92ZSBlbXVsYXRpb24gZm9yIHRoYXQgdHlwZSBpbiBuYW1lc3BhY2UgbmRuYm9vc3QKKyAgICAgIC8vISAoZS5nLiBhbm90aGVyIEJvb3N0IGxpYnJhcnkgZm9yIGl0cyB0eXBlcykgYW5kIGF2b2lkIGFueSBvdmVybG9hZCBhbWJpZ3VpdHkuCisgICAgICB0ZW1wbGF0ZTxjbGFzcyBUPgorICAgICAgc3RydWN0IGVuYWJsZV9tb3ZlX3V0aWxpdHlfZW11bGF0aW9uCisgICAgICB7CisgICAgICAgICBzdGF0aWMgY29uc3QgYm9vbCB2YWx1ZSA9IGZhbHNlOworICAgICAgfTsKKworICAgICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCisgICAgICAvLworICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW92ZQorICAgICAgLy8KKyAgICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworCisgICAgICAjaWYgZGVmaW5lZChCT09TVF9NT1ZFX0RPWFlHRU5fSU5WT0tFRCkKKyAgICAgICAgIC8vISBUaGlzIGZ1bmN0aW9uIHByb3ZpZGVzIGEgd2F5IHRvIGNvbnZlcnQgYSByZWZlcmVuY2UgaW50byBhIHJ2YWx1ZSByZWZlcmVuY2UKKyAgICAgICAgIC8vISBpbiBjb21waWxlcnMgd2l0aCBydmFsdWUgcmVmZXJlbmNlcy4gRm9yIG90aGVyIGNvbXBpbGVycyBjb252ZXJ0cyBUICYgaW50bworICAgICAgICAgLy8hIDxpPjo6bmRuYm9vc3Q6OnJ2PFQ+ICY8L2k+IHNvIHRoYXQgbW92ZSBlbXVsYXRpb24gaXMgYWN0aXZhdGVkLgorICAgICAgICAgdGVtcGxhdGUgPGNsYXNzIFQ+CisgICAgICAgICBydmFsdWVfcmVmZXJlbmNlIG1vdmUgKGlucHV0X3JlZmVyZW5jZSk7CisKKyAgICAgICNlbGlmIGRlZmluZWQoQk9PU1RfTU9WRV9PTERfUlZBTFVFX1JFRl9CSU5ESU5HX1JVTEVTKQorCisgICAgICAgICAvL09sZCBtb3ZlIGFwcHJvYWNoLCBsdmFsdWVzIGNvdWxkIGJpbmQgdG8gcnZhbHVlIHJlZmVyZW5jZXMKKyAgICAgICAgIHRlbXBsYXRlIDxjbGFzcyBUPgorICAgICAgICAgaW5saW5lIHR5cGVuYW1lIHJlbW92ZV9yZWZlcmVuY2U8VD46OnR5cGUgJiYgbW92ZShUJiYgdCkKKyAgICAgICAgIHsgIHJldHVybiB0OyAgIH0KKworICAgICAgI2Vsc2UgLy9CT09TVF9NT1ZFX09MRF9SVkFMVUVfUkVGX0JJTkRJTkdfUlVMRVMKKworICAgICAgICAgdGVtcGxhdGUgPGNsYXNzIFQ+CisgICAgICAgICBpbmxpbmUgdHlwZW5hbWUgcmVtb3ZlX3JlZmVyZW5jZTxUPjo6dHlwZSAmJiBtb3ZlKFQmJiB0KQorICAgICAgICAgeyByZXR1cm4gc3RhdGljX2Nhc3Q8dHlwZW5hbWUgcmVtb3ZlX3JlZmVyZW5jZTxUPjo6dHlwZSAmJj4odCk7IH0KKworICAgICAgI2VuZGlmICAgLy9CT09TVF9NT1ZFX09MRF9SVkFMVUVfUkVGX0JJTkRJTkdfUlVMRVMKKworICAgICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCisgICAgICAvLworICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yd2FyZAorICAgICAgLy8KKyAgICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworCisKKyAgICAgICNpZiBkZWZpbmVkKEJPT1NUX01PVkVfRE9YWUdFTl9JTlZPS0VEKQorICAgICAgICAgLy8hIFRoaXMgZnVuY3Rpb24gcHJvdmlkZXMgbGltaXRlZCBmb3JtIG9mIGZvcndhcmRpbmcgdGhhdCBpcyB1c3VhbGx5IGVub3VnaCBmb3IKKyAgICAgICAgIC8vISBpbi1wbGFjZSBjb25zdHJ1Y3Rpb24gYW5kIGF2b2lkcyB0aGUgZXhwb25lbnRpYWwgb3ZlcmxvYWRpbmcgZm9yCisgICAgICAgICAvLyEgYWNoaWV2ZSB0aGUgbGltaXRlZCBmb3J3YXJkaW5nIGluIEMrKzAzLgorICAgICAgICAgLy8hCisgICAgICAgICAvLyEgRm9yIGNvbXBpbGVycyB3aXRoIHJ2YWx1ZSByZWZlcmVuY2VzIHRoaXMgZnVuY3Rpb24gcHJvdmlkZXMgcGVyZmVjdCBmb3J3YXJkaW5nLgorICAgICAgICAgLy8hCisgICAgICAgICAvLyEgT3RoZXJ3aXNlOgorICAgICAgICAgLy8hICogSWYgaW5wdXRfcmVmZXJlbmNlIGJpbmRzIHRvIGNvbnN0IDo6bmRuYm9vc3Q6OnJ2PFQ+ICYgdGhlbiBpdCBvdXRwdXRfcmVmZXJlbmNlIGlzCisgICAgICAgICAvLyEgICA6Om5kbmJvb3N0OjpydjxUPiAmCisgICAgICAgICAvLyEKKyAgICAgICAgIC8vISAqIEVsc2UsIG91dHB1dF9yZWZlcmVuY2UgaXMgZXF1YWwgdG8gaW5wdXRfcmVmZXJlbmNlLgorICAgICAgICAgdGVtcGxhdGUgPGNsYXNzIFQ+IG91dHB1dF9yZWZlcmVuY2UgZm9yd2FyZChpbnB1dF9yZWZlcmVuY2UpOworICAgICAgI2VsaWYgZGVmaW5lZChCT09TVF9NT1ZFX09MRF9SVkFMVUVfUkVGX0JJTkRJTkdfUlVMRVMpCisKKyAgICAgICAgIC8vT2xkIG1vdmUgYXBwcm9hY2gsIGx2YWx1ZXMgY291bGQgYmluZCB0byBydmFsdWUgcmVmZXJlbmNlcworCisgICAgICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVD4KKyAgICAgICAgIGlubGluZSBUJiYgZm9yd2FyZCAodHlwZW5hbWUgOjpuZG5ib29zdDo6bW92ZV9kZXRhaWw6OmlkZW50aXR5PFQ+Ojp0eXBlJiYgdCkKKyAgICAgICAgIHsgIHJldHVybiB0OyAgIH0KKworICAgICAgI2Vsc2UgLy9PbGQgbW92ZQorCisgICAgICAgICAvL0ltcGxlbWVudGF0aW9uICM1IGZyb20gTjI5NTEsIHRoYW5rcyB0byBIb3dhcmQgSGlubmFudAorCisgICAgICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVCwgY2xhc3MgVT4KKyAgICAgICAgIGlubGluZSBUJiYgZm9yd2FyZChVJiYgdAorICAgICAgICAgICAgICwgdHlwZW5hbWUgOjpuZG5ib29zdDo6bW92ZV9kZXRhaWw6OmVuYWJsZV9pZl9jPAorICAgICAgICAgICAgICAgbW92ZV9kZXRhaWw6OmlzX2x2YWx1ZV9yZWZlcmVuY2U8VD46OnZhbHVlID8gbW92ZV9kZXRhaWw6OmlzX2x2YWx1ZV9yZWZlcmVuY2U8VT46OnZhbHVlIDogdHJ1ZT46OnR5cGUgKiA9IDAvKgorICAgICAgICAgICAgICwgdHlwZW5hbWUgOjpuZG5ib29zdDo6bW92ZV9kZXRhaWw6OmVuYWJsZV9pZl9jPAorICAgICAgICAgICAgICAgbW92ZV9kZXRhaWw6OmlzX2NvbnZlcnRpYmxlCisgICAgICAgICAgICAgICAgICA8dHlwZW5hbWUgcmVtb3ZlX3JlZmVyZW5jZTxVPjo6dHlwZSosIHR5cGVuYW1lIHJlbW92ZV9yZWZlcmVuY2U8VD46OnR5cGUqPjo6dmFsdWU+Ojp0eXBlICogPSAwKi8pCisgICAgICAgICB7IHJldHVybiBzdGF0aWNfY2FzdDxUJiY+KHQpOyAgIH0KKworICAgICAgI2VuZGlmICAgLy9CT09TVF9NT1ZFX0RPWFlHRU5fSU5WT0tFRAorCisgICAgICB9ICAvL25hbWVzcGFjZSBuZG5ib29zdCB7CisKKyAgICNlbmRpZiAgIC8vI2lmIGRlZmluZWQoQk9PU1RfTU9WRV9VU0VfU1RBTkRBUkRfTElCUkFSWV9NT1ZFKQorCisjZW5kaWYgICAvL0JPT1NUX05PX0NYWDExX1JWQUxVRV9SRUZFUkVOQ0VTCisKKyNpbmNsdWRlIDxuZG5ib29zdC9tb3ZlL2RldGFpbC9jb25maWdfZW5kLmhwcD4KKworI2VuZGlmIC8vI2lmbmRlZiBCT09TVF9NT1ZFX01PVkVfVVRJTElUWV9IUFAKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9PMV9zaXplLmhwcCBiL25kbmJvb3N0L21wbC9PMV9zaXplLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NzViMDVmCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL08xX3NpemUuaHBwCkBAIC0wLDAgKzEsNDAgQEAKKworI2lmbmRlZiBCT09TVF9NUExfTzFfU0laRV9IUFBfSU5DTFVERUQKKyNkZWZpbmUgQk9PU1RfTVBMX08xX1NJWkVfSFBQX0lOQ0xVREVECisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKy8vIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL21wbCBmb3IgZG9jdW1lbnRhdGlvbi4KKworLy8gJElkOiBPMV9zaXplLmhwcCA0OTI2NyAyMDA4LTEwLTExIDA2OjE5OjAyWiBhZ3VydG92b3kgJAorLy8gJERhdGU6IDIwMDgtMTAtMTAgMjM6MTk6MDIgLTA3MDAgKEZyaSwgMTAgT2N0IDIwMDgpICQKKy8vICRSZXZpc2lvbjogNDkyNjcgJAorCisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL08xX3NpemVfZndkLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvc2VxdWVuY2VfdGFnLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9PMV9zaXplX2ltcGwuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL25hX3NwZWMuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2xhbWJkYV9zdXBwb3J0LmhwcD4KKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKKy8vIHJldHVybnMgc2VxdWVuY2Ugc2l6ZSBpZiBpdCdzIGFuIE8oMSkgb3BlcmF0aW9uOyBvdGhlcndpc2UgcmV0dXJucyAtMQordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKFNlcXVlbmNlKQorICAgID4KK3N0cnVjdCBPMV9zaXplCisgICAgOiBPMV9zaXplX2ltcGw8IHR5cGVuYW1lIHNlcXVlbmNlX3RhZzxTZXF1ZW5jZT46OnR5cGUgPgorICAgICAgICA6OnRlbXBsYXRlIGFwcGx5PCBTZXF1ZW5jZSA+Cit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgxLCBPMV9zaXplLCAoU2VxdWVuY2UpKQorfTsKKworQk9PU1RfTVBMX0FVWF9OQV9TUEVDKDEsIE8xX3NpemUpCisKK319CisKKyNlbmRpZiAvLyBCT09TVF9NUExfTzFfU0laRV9IUFBfSU5DTFVERUQKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9PMV9zaXplX2Z3ZC5ocHAgYi9uZG5ib29zdC9tcGwvTzFfc2l6ZV9md2QuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIzNTQyYzYKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvTzFfc2l6ZV9md2QuaHBwCkBAIC0wLDAgKzEsMjQgQEAKKworI2lmbmRlZiBCT09TVF9NUExfTzFfU0laRV9GV0RfSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX01QTF9PMV9TSVpFX0ZXRF9IUFBfSU5DTFVERUQKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworLy8gU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL2xpYnMvbXBsIGZvciBkb2N1bWVudGF0aW9uLgorCisvLyAkSWQ6IE8xX3NpemVfZndkLmhwcCA0OTI2NyAyMDA4LTEwLTExIDA2OjE5OjAyWiBhZ3VydG92b3kgJAorLy8gJERhdGU6IDIwMDgtMTAtMTAgMjM6MTk6MDIgLTA3MDAgKEZyaSwgMTAgT2N0IDIwMDgpICQKKy8vICRSZXZpc2lvbjogNDkyNjcgJAorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFRhZyA+IHN0cnVjdCBPMV9zaXplX2ltcGw7Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgU2VxdWVuY2UgPiBzdHJ1Y3QgTzFfc2l6ZTsKKworfX0KKworI2VuZGlmIC8vIEJPT1NUX01QTF9PMV9TSVpFX0ZXRF9IUFBfSU5DTFVERUQKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hZHZhbmNlLmhwcCBiL25kbmJvb3N0L21wbC9hZHZhbmNlLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42Y2ZkN2FjCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2FkdmFuY2UuaHBwCkBAIC0wLDAgKzEsNzYgQEAKKworI2lmbmRlZiBCT09TVF9NUExfQURWQU5DRV9IUFBfSU5DTFVERUQKKyNkZWZpbmUgQk9PU1RfTVBMX0FEVkFOQ0VfSFBQX0lOQ0xVREVECisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKy8vIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL21wbCBmb3IgZG9jdW1lbnRhdGlvbi4KKworLy8gJElkOiBhZHZhbmNlLmhwcCA0OTI2NyAyMDA4LTEwLTExIDA2OjE5OjAyWiBhZ3VydG92b3kgJAorLy8gJERhdGU6IDIwMDgtMTAtMTAgMjM6MTk6MDIgLTA3MDAgKEZyaSwgMTAgT2N0IDIwMDgpICQKKy8vICRSZXZpc2lvbjogNDkyNjcgJAorCisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2FkdmFuY2VfZndkLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvbGVzcy5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL25lZ2F0ZS5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2xvbmcuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9pZi5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL3RhZy5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2FwcGx5X3dyYXAuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2FkdmFuY2VfZm9yd2FyZC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vYWR2YW5jZV9iYWNrd2FyZC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vdmFsdWVfd2tuZC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vbmFfc3BlYy5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vbnR0cF9kZWNsLmhwcD4KKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKKy8vIGRlZmF1bHQgaW1wbGVtZW50YXRpb24gZm9yIGZvcndhcmQvYmlkaXJlY3Rpb25hbCBpdGVyYXRvcnMKK3RlbXBsYXRlPCB0eXBlbmFtZSBUYWcgPgorc3RydWN0IGFkdmFuY2VfaW1wbAoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBJdGVyYXRvciwgdHlwZW5hbWUgTiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBsZXNzPCBOLGxvbmdfPDA+ID46OnR5cGUgYmFja3dhcmRfOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGlmXzwgYmFja3dhcmRfLCBuZWdhdGU8Tj4sIE4gPjo6dHlwZSBvZmZzZXRfOworCisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgaWZfPAorICAgICAgICAgICAgICBiYWNrd2FyZF8KKyAgICAgICAgICAgICwgYXV4OjphZHZhbmNlX2JhY2t3YXJkPCBCT09TVF9NUExfQVVYX1ZBTFVFX1dLTkQob2Zmc2V0Xyk6OnZhbHVlID4KKyAgICAgICAgICAgICwgYXV4OjphZHZhbmNlX2ZvcndhcmQ8IEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChvZmZzZXRfKTo6dmFsdWUgPgorICAgICAgICAgICAgPjo6dHlwZSBmXzsKKworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5X3dyYXAxPGZfLEl0ZXJhdG9yPjo6dHlwZSB0eXBlOworICAgIH07Cit9OworCisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShJdGVyYXRvcikKKyAgICAsIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTikKKyAgICA+CitzdHJ1Y3QgYWR2YW5jZQorICAgIDogYWR2YW5jZV9pbXBsPCB0eXBlbmFtZSB0YWc8SXRlcmF0b3I+Ojp0eXBlID4KKyAgICAgICAgOjp0ZW1wbGF0ZSBhcHBseTxJdGVyYXRvcixOPgoreworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBJdGVyYXRvcgorICAgICwgQk9PU1RfTVBMX0FVWF9OVFRQX0RFQ0wobG9uZywgTikKKyAgICA+CitzdHJ1Y3QgYWR2YW5jZV9jCisgICAgOiBhZHZhbmNlX2ltcGw8IHR5cGVuYW1lIHRhZzxJdGVyYXRvcj46OnR5cGUgPgorICAgICAgICA6OnRlbXBsYXRlIGFwcGx5PEl0ZXJhdG9yLGxvbmdfPE4+ID4KK3sKK307CisKK0JPT1NUX01QTF9BVVhfTkFfU1BFQygyLCBhZHZhbmNlKQorCit9fQorCisjZW5kaWYgLy8gQk9PU1RfTVBMX0FEVkFOQ0VfSFBQX0lOQ0xVREVECmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYWR2YW5jZV9md2QuaHBwIGIvbmRuYm9vc3QvbXBsL2FkdmFuY2VfZndkLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZjY4NjRkCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2FkdmFuY2VfZndkLmhwcApAQCAtMCwwICsxLDI4IEBACisKKyNpZm5kZWYgQk9PU1RfTVBMX0FEVkFOQ0VfRldEX0hQUF9JTkNMVURFRAorI2RlZmluZSBCT09TVF9NUExfQURWQU5DRV9GV0RfSFBQX0lOQ0xVREVECisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKy8vIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL21wbCBmb3IgZG9jdW1lbnRhdGlvbi4KKworLy8gJElkOiBhZHZhbmNlX2Z3ZC5ocHAgNDkyNjcgMjAwOC0xMC0xMSAwNjoxOTowMlogYWd1cnRvdm95ICQKKy8vICREYXRlOiAyMDA4LTEwLTEwIDIzOjE5OjAyIC0wNzAwIChGcmksIDEwIE9jdCAyMDA4KSAkCisvLyAkUmV2aXNpb246IDQ5MjY3ICQKKworI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2NvbW1vbl9uYW1lX3drbmQuaHBwPgorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKworQk9PU1RfTVBMX0FVWF9DT01NT05fTkFNRV9XS05EKGFkdmFuY2UpCisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUYWcgPiBzdHJ1Y3QgYWR2YW5jZV9pbXBsOwordGVtcGxhdGU8IHR5cGVuYW1lIEl0ZXJhdG9yLCB0eXBlbmFtZSBOID4gc3RydWN0IGFkdmFuY2U7CisKK319CisKKyNlbmRpZiAvLyBCT09TVF9NUExfQURWQU5DRV9GV0RfSFBQX0lOQ0xVREVECmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYWx3YXlzLmhwcCBiL25kbmJvb3N0L21wbC9hbHdheXMuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdjMzdmMGQKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYWx3YXlzLmhwcApAQCAtMCwwICsxLDM5IEBACisKKyNpZm5kZWYgQk9PU1RfTVBMX0FMV0FZU19IUFBfSU5DTFVERUQKKyNkZWZpbmUgQk9PU1RfTVBMX0FMV0FZU19IUFBfSU5DTFVERUQKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMS0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworLy8gU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL2xpYnMvbXBsIGZvciBkb2N1bWVudGF0aW9uLgorCisvLyAkSWQ6IGFsd2F5cy5ocHAgNDkyNjcgMjAwOC0xMC0xMSAwNjoxOTowMlogYWd1cnRvdm95ICQKKy8vICREYXRlOiAyMDA4LTEwLTEwIDIzOjE5OjAyIC0wNzAwIChGcmksIDEwIE9jdCAyMDA4KSAkCisvLyAkUmV2aXNpb246IDQ5MjY3ICQKKworI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3Nvci9kZWZfcGFyYW1zX3RhaWwuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL25hLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9hcml0eV9zcGVjLmhwcD4KKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBWYWx1ZSA+IHN0cnVjdCBhbHdheXMKK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBUCisgICAgICAgIEJPT1NUX01QTF9QUF9ORVNURURfREVGX1BBUkFNU19UQUlMKDEsIHR5cGVuYW1lIFQsIG5hKQorICAgICAgICA+CisgICAgc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIFZhbHVlIHR5cGU7CisgICAgfTsKK307CisKK0JPT1NUX01QTF9BVVhfQVJJVFlfU1BFQygxLCBhbHdheXMpCisKK319CisKKyNlbmRpZiAvLyBCT09TVF9NUExfQUxXQVlTX0hQUF9JTkNMVURFRApkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2FuZC5ocHAgYi9uZG5ib29zdC9tcGwvYW5kLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMjNhNmI3Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2FuZC5ocHAKQEAgLTAsMCArMSw2MCBAQAorCisjaWZuZGVmIEJPT1NUX01QTF9BTkRfSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX01QTF9BTkRfSFBQX0lOQ0xVREVECisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKy8vIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL21wbCBmb3IgZG9jdW1lbnRhdGlvbi4KKworLy8gJElkOiBhbmQuaHBwIDQ5MjY3IDIwMDgtMTAtMTEgMDY6MTk6MDJaIGFndXJ0b3ZveSAkCisvLyAkRGF0ZTogMjAwOC0xMC0xMCAyMzoxOTowMiAtMDcwMCAoRnJpLCAxMCBPY3QgMjAwOCkgJAorLy8gJFJldmlzaW9uOiA0OTI2NyAkCisKKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9jb25maWcvdXNlX3ByZXByb2Nlc3NlZC5ocHA+CisKKyNpZiAhZGVmaW5lZChCT09TVF9NUExfQ0ZHX05PX1BSRVBST0NFU1NFRF9IRUFERVJTKSBcCisgICAgJiYgIWRlZmluZWQoQk9PU1RfTVBMX1BSRVBST0NFU1NJTkdfTU9ERSkKKworIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC9ib29sLmhwcD4KKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9uZXN0ZWRfdHlwZV93a25kLmhwcD4KKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9uYV9zcGVjLmhwcD4KKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9sYW1iZGFfc3VwcG9ydC5ocHA+CisKKy8vIGFndXJ0LCAxOS9tYXkvMDQ6IHdvcmthcm91bmQgYSBjb25mbGljdCB3aXRoIDxpc282NDYuaD4gaGVhZGVyJ3MgCisvLyAnb3InIGFuZCAnYW5kJyBtYWNyb3MsIHNlZSBodHRwOi8vdGlueXVybC5jb20vM2V0Njk7ICdkZWZpbmVkKGFuZCknCisvLyBoYXMgdG8gYmUgY2hlY2tlZCBpbiBhIHNlcGFyYXRlIGNvbmRpdGlvbiwgb3RoZXJ3aXNlIEdDQyBjb21wbGFpbnMgCisvLyBhYm91dCAnYW5kJyBiZWluZyBhbiBhbHRlcm5hdGl2ZSB0b2tlbgorI2lmIGRlZmluZWQoX01TQ19WRVIpIAorI2lmbmRlZiBfX0dDQ1hNTF9fCisjaWYgZGVmaW5lZChhbmQpIAorIyAgIHByYWdtYSBwdXNoX21hY3JvKCJhbmQiKQorIyAgIHVuZGVmIGFuZAorIyAgIGRlZmluZSBhbmQoeCkKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworIyAgIGRlZmluZSBCT09TVF9NUExfUFJFUFJPQ0VTU0VEX0hFQURFUiBhbmQuaHBwCisjICAgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vaW5jbHVkZV9wcmVwcm9jZXNzZWQuaHBwPgorCisjaWYgZGVmaW5lZChfTVNDX1ZFUikKKyNpZm5kZWYgX19HQ0NYTUxfXworI2lmIGRlZmluZWQoYW5kKSAKKyMgICBwcmFnbWEgcG9wX21hY3JvKCJhbmQiKQorI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjZWxzZQorCisjICAgZGVmaW5lIEFVWDc3ODA3Nl9PUF9OQU1FIGFuZF8KKyMgICBkZWZpbmUgQVVYNzc4MDc2X09QX1ZBTFVFMSBmYWxzZQorIyAgIGRlZmluZSBBVVg3NzgwNzZfT1BfVkFMVUUyIHRydWUKKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9sb2dpY2FsX29wLmhwcD4KKworI2VuZGlmIC8vIEJPT1NUX01QTF9DRkdfTk9fUFJFUFJPQ0VTU0VEX0hFQURFUlMKKyNlbmRpZiAvLyBCT09TVF9NUExfQU5EX0hQUF9JTkNMVURFRApkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2FwcGx5LmhwcCBiL25kbmJvb3N0L21wbC9hcHBseS5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmExOGE5OAotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hcHBseS5ocHAKQEAgLTAsMCArMSwyMjkgQEAKKworI2lmICFkZWZpbmVkKEJPT1NUX1BQX0lTX0lURVJBVElORykKKworLy8vLy8gaGVhZGVyIGJvZHkKKworI2lmbmRlZiBCT09TVF9NUExfQVBQTFlfSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX01QTF9BUFBMWV9IUFBfSU5DTFVERUQKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworLy8gU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL2xpYnMvbXBsIGZvciBkb2N1bWVudGF0aW9uLgorCisvLyAkSWQ6IGFwcGx5LmhwcCA0OTI2NyAyMDA4LTEwLTExIDA2OjE5OjAyWiBhZ3VydG92b3kgJAorLy8gJERhdGU6IDIwMDgtMTAtMTAgMjM6MTk6MDIgLTA3MDAgKEZyaSwgMTAgT2N0IDIwMDgpICQKKy8vICRSZXZpc2lvbjogNDkyNjcgJAorCisjaWYgIWRlZmluZWQoQk9PU1RfTVBMX1BSRVBST0NFU1NJTkdfTU9ERSkKKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXBwbHlfZndkLmhwcD4KKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXBwbHlfd3JhcC5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL3BsYWNlaG9sZGVycy5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2xhbWJkYS5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vbmEuaHBwPgorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2xhbWJkYV9zdXBwb3J0LmhwcD4KKyNlbmRpZgorCisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vY29uZmlnL3VzZV9wcmVwcm9jZXNzZWQuaHBwPgorCisjaWYgIWRlZmluZWQoQk9PU1RfTVBMX0NGR19OT19QUkVQUk9DRVNTRURfSEVBREVSUykgXAorICAgICYmICFkZWZpbmVkKEJPT1NUX01QTF9QUkVQUk9DRVNTSU5HX01PREUpCisKKyMgICBkZWZpbmUgQk9PU1RfTVBMX1BSRVBST0NFU1NFRF9IRUFERVIgYXBwbHkuaHBwCisjICAgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vaW5jbHVkZV9wcmVwcm9jZXNzZWQuaHBwPgorCisjZWxzZQorCisjICAgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2xpbWl0cy9hcml0eS5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc29yL3BhcmFtcy5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc29yL2RlZmF1bHRfcGFyYW1zLmhwcD4KKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzb3IvcGFydGlhbF9zcGVjX3BhcmFtcy5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc29yL2VudW0uaHBwPgorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2NvbmZpZy9sYW1iZGEuaHBwPgorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2NvbmZpZy9kdHAuaHBwPgorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL250dHBfZGVjbC5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vY29uZmlnL2V0aS5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vY29uZmlnL21zdmMuaHBwPgorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2NvbmZpZy93b3JrYXJvdW5kLmhwcD4KKworIyAgIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9jb21tYV9pZi5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL2luYy5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL2l0ZXJhdGUuaHBwPgorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9jYXQuaHBwPgorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKworLy8gbG9jYWwgbWFjcm9zLCAjdW5kZWYtaW5lZCBhdCB0aGUgZW5kIG9mIHRoZSBoZWFkZXIKKyMgICBkZWZpbmUgQVVYNzc4MDc2X0FQUExZX1BBUkFNUyhwYXJhbSkgXAorICAgIEJPT1NUX01QTF9QUF9QQVJBTVMoIFwKKyAgICAgICAgICBCT09TVF9NUExfTElNSVRfTUVUQUZVTkNUSU9OX0FSSVRZIFwKKyAgICAgICAgLCBwYXJhbSBcCisgICAgICAgICkgXAorICAgIC8qKi8KKworIyAgIGRlZmluZSBBVVg3NzgwNzZfQVBQTFlfREVGX1BBUkFNUyhwYXJhbSwgdmFsdWUpIFwKKyAgICBCT09TVF9NUExfUFBfREVGQVVMVF9QQVJBTVMoIFwKKyAgICAgICAgICBCT09TVF9NUExfTElNSVRfTUVUQUZVTkNUSU9OX0FSSVRZIFwKKyAgICAgICAgLCBwYXJhbSBcCisgICAgICAgICwgdmFsdWUgXAorICAgICAgICApIFwKKyAgICAvKiovCisKKyMgICBkZWZpbmUgQVVYNzc4MDc2X0FQUExZX05fUEFSQU1TKG4sIHBhcmFtKSBcCisgICAgQk9PU1RfTVBMX1BQX1BBUkFNUyhuLCBwYXJhbSkgXAorICAgIC8qKi8KKworIyAgIGRlZmluZSBBVVg3NzgwNzZfQVBQTFlfTl9DT01NQV9QQVJBTVMobiwgcGFyYW0pIFwKKyAgICBCT09TVF9QUF9DT01NQV9JRihuKSBcCisgICAgQk9PU1RfTVBMX1BQX1BBUkFNUyhuLCBwYXJhbSkgXAorICAgIC8qKi8KKworIyAgIGRlZmluZSBBVVg3NzgwNzZfQVBQTFlfTl9QQVJUSUFMX1NQRUNfUEFSQU1TKG4sIHBhcmFtLCBkZWYpIFwKKyAgICBCT09TVF9QUF9DT01NQV9JRihuKSBcCisgICAgQk9PU1RfTVBMX1BQX1BBUlRJQUxfU1BFQ19QQVJBTVMobiwgcGFyYW0sIGRlZikgXAorICAgIC8qKi8KKyAgICAKKyMgICBkZWZpbmUgQVVYNzc4MDc2X0FQUExZX05fU1BFQ19QQVJBTVMobiwgcGFyYW0pIFwKKyAgICBCT09TVF9NUExfUFBfRU5VTShCT09TVF9QUF9JTkMobiksIHBhcmFtKSBcCisgICAgLyoqLworCisKKyNkZWZpbmUgQk9PU1RfUFBfSVRFUkFUSU9OX1BBUkFNU18xIFwKKyAgICAoMywoMCwgQk9PU1RfTVBMX0xJTUlUX01FVEFGVU5DVElPTl9BUklUWSwgPG5kbmJvb3N0L21wbC9hcHBseS5ocHA+KSkKKyNpbmNsdWRlIEJPT1NUX1BQX0lURVJBVEUoKQorCisjICAgaWYgIWRlZmluZWQoQk9PU1RfTVBMX0NGR19OT19BUFBMWV9URU1QTEFURSkKKy8vIHJlYWwgQysrIHZlcnNpb24gaXMgYWxyZWFkeSB0YWtlbiBjYXJlIG9mCisjICAgaWYgZGVmaW5lZChCT09TVF9OT19URU1QTEFURV9QQVJUSUFMX1NQRUNJQUxJWkFUSU9OKQorCituYW1lc3BhY2UgYXV4IHsKKy8vIGFwcGx5X2NvdW50X2FyZ3MKKyNkZWZpbmUgQVVYNzc4MDc2X0NPVU5UX0FSR1NfUFJFRklYIGFwcGx5CisjZGVmaW5lIEFVWDc3ODA3Nl9DT1VOVF9BUkdTX0RFRkFVTFQgbmEKKyNkZWZpbmUgQVVYNzc4MDc2X0NPVU5UX0FSR1NfQVJJVFkgQk9PU1RfTVBMX0xJTUlUX01FVEFGVU5DVElPTl9BUklUWQorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2NvdW50X2FyZ3MuaHBwPgorfQorCisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgQVVYNzc4MDc2X0FQUExZX0RFRl9QQVJBTVModHlwZW5hbWUgVCwgbmEpCisgICAgPgorc3RydWN0IGFwcGx5CisgICAgOiBhdXg6OmFwcGx5X2Nob29zZXI8IAorICAgICAgICAgIGF1eDo6YXBwbHlfY291bnRfYXJnczwgQVVYNzc4MDc2X0FQUExZX1BBUkFNUyhUKSA+Ojp2YWx1ZQorICAgICAgICA+Ojp0ZW1wbGF0ZSByZXN1bHRfPCBGLCBBVVg3NzgwNzZfQVBQTFlfUEFSQU1TKFQpID46OnR5cGUKK3sKK307CisKKyMgICBlbmRpZiAvLyBCT09TVF9OT19URU1QTEFURV9QQVJUSUFMX1NQRUNJQUxJWkFUSU9OCisjICAgZW5kaWYgLy8gQk9PU1RfTVBMX0NGR19OT19BUFBMWV9URU1QTEFURQorCisjICAgdW5kZWYgQVVYNzc4MDc2X0FQUExZX05fU1BFQ19QQVJBTVMKKyMgICB1bmRlZiBBVVg3NzgwNzZfQVBQTFlfTl9QQVJUSUFMX1NQRUNfUEFSQU1TCisjICAgdW5kZWYgQVVYNzc4MDc2X0FQUExZX05fQ09NTUFfUEFSQU1TCisjICAgdW5kZWYgQVVYNzc4MDc2X0FQUExZX05fUEFSQU1TCisjICAgdW5kZWYgQVVYNzc4MDc2X0FQUExZX0RFRl9QQVJBTVMKKyMgICB1bmRlZiBBVVg3NzgwNzZfQVBQTFlfUEFSQU1TCisKK319CisKKyNlbmRpZiAvLyBCT09TVF9NUExfQ0ZHX05PX1BSRVBST0NFU1NFRF9IRUFERVJTCisjZW5kaWYgLy8gQk9PU1RfTVBMX0FQUExZX0hQUF9JTkNMVURFRAorCisvLy8vLyBpdGVyYXRpb24sIGRlcHRoID09IDEKKworLy8gRm9yIGdjYyA0LjQgY29tcGF0YWJpbGl0eSwgd2UgbXVzdCBpbmNsdWRlIHRoZQorLy8gQk9PU1RfUFBfSVRFUkFUSU9OX0RFUFRIIHRlc3QgaW5zaWRlIGFuICNlbHNlIGNsYXVzZS4KKyNlbHNlIC8vIEJPT1NUX1BQX0lTX0lURVJBVElORworI2lmIEJPT1NUX1BQX0lURVJBVElPTl9ERVBUSCgpID09IDEKKworIyAgIGRlZmluZSBpXyBCT09TVF9QUF9GUkFNRV9JVEVSQVRJT04oMSkKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGIEFVWDc3ODA3Nl9BUFBMWV9OX0NPTU1BX1BBUkFNUyhpXywgdHlwZW5hbWUgVCkKKyAgICA+CitzdHJ1Y3QgQk9PU1RfUFBfQ0FUKGFwcGx5LGlfKQorI2lmICFCT09TVF9XT1JLQVJPVU5EKEJPT1NUX01TVkMsIDwgMTMwMCkKKyAgICA6IEJPT1NUX1BQX0NBVChhcHBseV93cmFwLGlfKTwgCisgICAgICAgICAgdHlwZW5hbWUgbGFtYmRhPEY+Ojp0eXBlCisgICAgICAgIEFVWDc3ODA3Nl9BUFBMWV9OX0NPTU1BX1BBUkFNUyhpXywgVCkKKyAgICAgICAgPgoreworI2Vsc2UKK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIEJPT1NUX1BQX0NBVChhcHBseV93cmFwLGlfKTwgCisgICAgICAgICAgdHlwZW5hbWUgbGFtYmRhPEY+Ojp0eXBlCisgICAgICAgIEFVWDc3ODA3Nl9BUFBMWV9OX0NPTU1BX1BBUkFNUyhpXywgVCkKKyAgICAgICAgPjo6dHlwZSB0eXBlOworI2VuZGlmCisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgKKyAgICAgICAgICBCT09TVF9QUF9JTkMoaV8pCisgICAgICAgICwgQk9PU1RfUFBfQ0FUKGFwcGx5LGlfKQorICAgICAgICAsIChGIEFVWDc3ODA3Nl9BUFBMWV9OX0NPTU1BX1BBUkFNUyhpXyxUKSkKKyAgICAgICAgKQorfTsKKworCisjaWYgZGVmaW5lZChCT09TVF9NUExfQ0ZHX01TVkNfRVRJX0JVRykKKy8vLyB3b3JrYXJvdW5kIGZvciBFVEkgYnVnCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgQk9PU1RfUFBfQ0FUKGFwcGx5LGlfKTxBVVg3NzgwNzZfQVBQTFlfTl9TUEVDX1BBUkFNUyhpXywgaW50KT4KK3sKKyAgICB0eXBlZGVmIGludCB0eXBlOworfTsKKyNlbmRpZgorCisjICAgaWYgIWRlZmluZWQoQk9PU1RfTVBMX0NGR19OT19BUFBMWV9URU1QTEFURSkKKyMgICBpZiAhZGVmaW5lZChCT09TVF9OT19URU1QTEFURV9QQVJUSUFMX1NQRUNJQUxJWkFUSU9OKQorCisjaWYgaV8gPT0gQk9PU1RfTVBMX0xJTUlUX01FVEFGVU5DVElPTl9BUklUWQorLy8vIHByaW1hcnkgdGVtcGxhdGUgKG5vdCBhIHNwZWNpYWxpemF0aW9uISkKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiBBVVg3NzgwNzZfQVBQTFlfTl9DT01NQV9QQVJBTVMoaV8sIHR5cGVuYW1lIFQpCisgICAgPgorc3RydWN0IGFwcGx5CisgICAgOiBCT09TVF9QUF9DQVQoYXBwbHksaV8pPCBGIEFVWDc3ODA3Nl9BUFBMWV9OX0NPTU1BX1BBUkFNUyhpXywgVCkgPgoreworfTsKKyNlbHNlCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYgQVVYNzc4MDc2X0FQUExZX05fQ09NTUFfUEFSQU1TKGlfLCB0eXBlbmFtZSBUKQorICAgID4KK3N0cnVjdCBhcHBseTwgRiBBVVg3NzgwNzZfQVBQTFlfTl9QQVJUSUFMX1NQRUNfUEFSQU1TKGlfLCBULCBuYSkgPgorICAgIDogQk9PU1RfUFBfQ0FUKGFwcGx5LGlfKTwgRiBBVVg3NzgwNzZfQVBQTFlfTl9DT01NQV9QQVJBTVMoaV8sIFQpID4KK3sKK307CisjZW5kaWYKKworIyAgIGVsc2UgLy8gQk9PU1RfTk9fVEVNUExBVEVfUEFSVElBTF9TUEVDSUFMSVpBVElPTgorCisjaWYgIWRlZmluZWQoQk9PU1RfTVBMX0NGR19OT19BUFBMWV9URU1QTEFURSkKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgYXBwbHlfY2hvb3NlcjxpXz4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBGLCBBVVg3NzgwNzZfQVBQTFlfUEFSQU1TKHR5cGVuYW1lIFQpCisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiBCT09TVF9QUF9DQVQoYXBwbHksaV8pPAorICAgICAgICAgICAgICBGIEFVWDc3ODA3Nl9BUFBMWV9OX0NPTU1BX1BBUkFNUyhpXywgVCkKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisjZW5kaWYKKworIyAgIGVuZGlmIC8vIEJPT1NUX05PX1RFTVBMQVRFX1BBUlRJQUxfU1BFQ0lBTElaQVRJT04KKyMgICBlbmRpZiAvLyBCT09TVF9NUExfQ0ZHX05PX0FQUExZX1RFTVBMQVRFCisKKyMgICB1bmRlZiBpXworCisjZW5kaWYgLy8gQk9PU1RfUFBfSVRFUkFUSU9OX0RFUFRIKCkKKyNlbmRpZiAvLyBCT09TVF9QUF9JU19JVEVSQVRJTkcKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hcHBseV9md2QuaHBwIGIvbmRuYm9vc3QvbXBsL2FwcGx5X2Z3ZC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmE1MzAwNgotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hcHBseV9md2QuaHBwCkBAIC0wLDAgKzEsMTA3IEBACisKKyNpZiAhZGVmaW5lZChCT09TVF9QUF9JU19JVEVSQVRJTkcpCisKKy8vLy8vIGhlYWRlciBib2R5CisKKyNpZm5kZWYgQk9PU1RfTVBMX0FQUExZX0ZXRF9IUFBfSU5DTFVERUQKKyNkZWZpbmUgQk9PU1RfTVBMX0FQUExZX0ZXRF9IUFBfSU5DTFVERUQKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworLy8gU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL2xpYnMvbXBsIGZvciBkb2N1bWVudGF0aW9uLgorCisvLyAkSWQ6IGFwcGx5X2Z3ZC5ocHAgNDkyNjcgMjAwOC0xMC0xMSAwNjoxOTowMlogYWd1cnRvdm95ICQKKy8vICREYXRlOiAyMDA4LTEwLTEwIDIzOjE5OjAyIC0wNzAwIChGcmksIDEwIE9jdCAyMDA4KSAkCisvLyAkUmV2aXNpb246IDQ5MjY3ICQKKworI2lmICFkZWZpbmVkKEJPT1NUX01QTF9QUkVQUk9DRVNTSU5HX01PREUpCisjICAgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vbmEuaHBwPgorI2VuZGlmCisKKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9jb25maWcvdXNlX3ByZXByb2Nlc3NlZC5ocHA+CisKKyNpZiAhZGVmaW5lZChCT09TVF9NUExfQ0ZHX05PX1BSRVBST0NFU1NFRF9IRUFERVJTKSBcCisgICAgJiYgIWRlZmluZWQoQk9PU1RfTVBMX1BSRVBST0NFU1NJTkdfTU9ERSkKKworIyAgIGRlZmluZSBCT09TVF9NUExfUFJFUFJPQ0VTU0VEX0hFQURFUiBhcHBseV9md2QuaHBwCisjICAgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vaW5jbHVkZV9wcmVwcm9jZXNzZWQuaHBwPgorCisjZWxzZQorCisjICAgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2xpbWl0cy9hcml0eS5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc29yL3BhcmFtcy5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc29yL2RlZmF1bHRfcGFyYW1zLmhwcD4KKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9jb25maWcvY3Rwcy5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vbnR0cF9kZWNsLmhwcD4KKworIyAgIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9jb21tYV9pZi5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL2l0ZXJhdGUuaHBwPgorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9jYXQuaHBwPgorCisvLyBhZ3VydCwgMTUvamFuLzAyOiB0b3AtbGV2ZWwgJ2FwcGx5JyB0ZW1wbGF0ZSBnaXZlcyBhbiBJQ0Ugb24gTVNWQworLy8gKGZvciBrbm93biByZWFzb25zKQorI2lmIEJPT1NUX1dPUktBUk9VTkQoQk9PU1RfTVNWQywgPCAxMzAwKQorIyAgIGRlZmluZSBCT09TVF9NUExfQ0ZHX05PX0FQUExZX1RFTVBMQVRFCisjZW5kaWYKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKKy8vIGxvY2FsIG1hY3JvLCAjdW5kZWYtaW5lZCBhdCB0aGUgZW5kIG9mIHRoZSBoZWFkZXIKKyMgICBkZWZpbmUgQVVYNzc4MDc2X0FQUExZX0RFRl9QQVJBTVMocGFyYW0sIHZhbHVlKSBcCisgICAgQk9PU1RfTVBMX1BQX0RFRkFVTFRfUEFSQU1TKCBcCisgICAgICAgICAgQk9PU1RfTVBMX0xJTUlUX01FVEFGVU5DVElPTl9BUklUWSBcCisgICAgICAgICwgcGFyYW0gXAorICAgICAgICAsIHZhbHVlIFwKKyAgICAgICAgKSBcCisgICAgLyoqLworCisjICAgZGVmaW5lIEFVWDc3ODA3Nl9BUFBMWV9OX0NPTU1BX1BBUkFNUyhuLCBwYXJhbSkgXAorICAgIEJPT1NUX1BQX0NPTU1BX0lGKG4pIFwKKyAgICBCT09TVF9NUExfUFBfUEFSQU1TKG4sIHBhcmFtKSBcCisgICAgLyoqLworCisjICAgaWYgIWRlZmluZWQoQk9PU1RfTVBMX0NGR19OT19BUFBMWV9URU1QTEFURSkKKworI2lmICFkZWZpbmVkKEJPT1NUX05PX1RFTVBMQVRFX1BBUlRJQUxfU1BFQ0lBTElaQVRJT04pCisvLyBmb3J3YXJkIGRlY2xhcmF0aW9uCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIEFVWDc3ODA3Nl9BUFBMWV9ERUZfUEFSQU1TKHR5cGVuYW1lIFQsIG5hKQorICAgID4KK3N0cnVjdCBhcHBseTsKKyNlbHNlCituYW1lc3BhY2UgYXV4IHsKK3RlbXBsYXRlPCBCT09TVF9BVVhfTlRUUF9ERUNMKGludCwgYXJpdHlfKSA+IHN0cnVjdCBhcHBseV9jaG9vc2VyOworfQorI2VuZGlmCisKKyMgICBlbmRpZiAvLyBCT09TVF9NUExfQ0ZHX05PX0FQUExZX1RFTVBMQVRFCisKKyNkZWZpbmUgQk9PU1RfUFBfSVRFUkFUSU9OX1BBUkFNU18xIFwKKyAgICAoMywoMCwgQk9PU1RfTVBMX0xJTUlUX01FVEFGVU5DVElPTl9BUklUWSwgPG5kbmJvb3N0L21wbC9hcHBseV9md2QuaHBwPikpCisjaW5jbHVkZSBCT09TVF9QUF9JVEVSQVRFKCkKKworCisjICAgdW5kZWYgQVVYNzc4MDc2X0FQUExZX05fQ09NTUFfUEFSQU1TCisjICAgdW5kZWYgQVVYNzc4MDc2X0FQUExZX0RFRl9QQVJBTVMKKworfX0KKworI2VuZGlmIC8vIEJPT1NUX01QTF9DRkdfTk9fUFJFUFJPQ0VTU0VEX0hFQURFUlMKKyNlbmRpZiAvLyBCT09TVF9NUExfQVBQTFlfRldEX0hQUF9JTkNMVURFRAorCisvLy8vLyBpdGVyYXRpb24KKworI2Vsc2UKKyNkZWZpbmUgaV8gQk9PU1RfUFBfRlJBTUVfSVRFUkFUSU9OKDEpCisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiBBVVg3NzgwNzZfQVBQTFlfTl9DT01NQV9QQVJBTVMoaV8sIHR5cGVuYW1lIFQpCisgICAgPgorc3RydWN0IEJPT1NUX1BQX0NBVChhcHBseSxpXyk7CisKKyN1bmRlZiBpXworI2VuZGlmIC8vIEJPT1NUX1BQX0lTX0lURVJBVElORwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2FwcGx5X3dyYXAuaHBwIGIvbmRuYm9vc3QvbXBsL2FwcGx5X3dyYXAuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFmMTdlYjAKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXBwbHlfd3JhcC5ocHAKQEAgLTAsMCArMSwyMzQgQEAKKworI2lmICFkZWZpbmVkKEJPT1NUX1BQX0lTX0lURVJBVElORykKKworLy8vLy8gaGVhZGVyIGJvZHkKKworI2lmbmRlZiBCT09TVF9NUExfQVBQTFlfV1JBUF9IUFBfSU5DTFVERUQKKyNkZWZpbmUgQk9PU1RfTVBMX0FQUExZX1dSQVBfSFBQX0lOQ0xVREVECisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwOAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKy8vIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL21wbCBmb3IgZG9jdW1lbnRhdGlvbi4KKworLy8gJElkOiBhcHBseV93cmFwLmhwcCA0OTI3MiAyMDA4LTEwLTExIDA2OjUwOjQ2WiBhZ3VydG92b3kgJAorLy8gJERhdGU6IDIwMDgtMTAtMTAgMjM6NTA6NDYgLTA3MDAgKEZyaSwgMTAgT2N0IDIwMDgpICQKKy8vICRSZXZpc2lvbjogNDkyNzIgJAorCisjaWYgIWRlZmluZWQoQk9PU1RfTVBMX1BSRVBST0NFU1NJTkdfTU9ERSkKKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9hcml0eS5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vaGFzX2FwcGx5LmhwcD4KKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9uYS5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vbXN2Y19uZXZlcl90cnVlLmhwcD4KKyNlbmRpZgorCisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vY29uZmlnL3VzZV9wcmVwcm9jZXNzZWQuaHBwPgorCisjaWYgIWRlZmluZWQoQk9PU1RfTVBMX0NGR19OT19QUkVQUk9DRVNTRURfSEVBREVSUykgXAorICAgICYmICFkZWZpbmVkKEJPT1NUX01QTF9QUkVQUk9DRVNTSU5HX01PREUpCisKKyMgICBkZWZpbmUgQk9PU1RfTVBMX1BSRVBST0NFU1NFRF9IRUFERVIgYXBwbHlfd3JhcC5ocHAKKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9pbmNsdWRlX3ByZXByb2Nlc3NlZC5ocHA+CisKKyNlbHNlCisKKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvbGltaXRzL2FyaXR5LmhwcD4KKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzb3IvcGFyYW1zLmhwcD4KKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzb3IvZW51bS5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc29yL2FkZC5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vY29uZmlnL2JjYy5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vY29uZmlnL2N0cHMuaHBwPgorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2NvbmZpZy9kdHAuaHBwPgorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2NvbmZpZy9ldGkuaHBwPgorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2NvbmZpZy9tc3ZjLmhwcD4KKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9jb25maWcvd29ya2Fyb3VuZC5ocHA+CisKKyMgICBpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3IvY29tbWFfaWYuaHBwPgorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9sb2dpY2FsL2FuZC5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL2luYy5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL2l0ZXJhdGUuaHBwPgorCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCisvLyBsb2NhbCBtYWNyb3MsICN1bmRlZi1pbmVkIGF0IHRoZSBlbmQgb2YgdGhlIGhlYWRlcgorIyAgIGRlZmluZSBBVVg3NzgwNzZfQVBQTFlfV1JBUF9QQVJBTVMobiwgcGFyYW0pIFwKKyAgICBCT09TVF9NUExfUFBfUEFSQU1TKG4sIHBhcmFtKSBcCisgICAgLyoqLworCisjICAgZGVmaW5lIEFVWDc3ODA3Nl9BUFBMWV9XUkFQX1NQRUNfUEFSQU1TKG4sIHBhcmFtKSBcCisgICAgQk9PU1RfTVBMX1BQX0VOVU0oQk9PU1RfUFBfSU5DKG4pLCBwYXJhbSkgXAorICAgIC8qKi8KKworCisjZGVmaW5lIEJPT1NUX1BQX0lURVJBVElPTl9QQVJBTVNfMSBcCisgICAgKDMsKDAsIEJPT1NUX01QTF9MSU1JVF9NRVRBRlVOQ1RJT05fQVJJVFksIDxuZG5ib29zdC9tcGwvYXBwbHlfd3JhcC5ocHA+KSkKKyNpbmNsdWRlIEJPT1NUX1BQX0lURVJBVEUoKQorCisKKyMgICB1bmRlZiBBVVg3NzgwNzZfQVBQTFlfV1JBUF9TUEVDX1BBUkFNUworIyAgIHVuZGVmIEFVWDc3ODA3Nl9BUFBMWV9XUkFQX1BBUkFNUworCit9fQorCisjZW5kaWYgLy8gQk9PU1RfTVBMX0NGR19OT19QUkVQUk9DRVNTRURfSEVBREVSUworI2VuZGlmIC8vIEJPT1NUX01QTF9BUFBMWV9XUkFQX0hQUF9JTkNMVURFRAorCisvLy8vLyBpdGVyYXRpb24sIGRlcHRoID09IDEKKworLy8gRm9yIGdjYyA0LjQgY29tcGF0YWJpbGl0eSwgd2UgbXVzdCBpbmNsdWRlIHRoZQorLy8gQk9PU1RfUFBfSVRFUkFUSU9OX0RFUFRIIHRlc3QgaW5zaWRlIGFuICNlbHNlIGNsYXVzZS4KKyNlbHNlIC8vIEJPT1NUX1BQX0lTX0lURVJBVElORworI2lmIEJPT1NUX1BQX0lURVJBVElPTl9ERVBUSCgpID09IDEKKworIyAgIGRlZmluZSBpXyBCT09TVF9QUF9GUkFNRV9JVEVSQVRJT04oMSkKKworIyAgIGlmIEJPT1NUX1dPUktBUk9VTkQoQk9PU1RfTVNWQywgPCAxMzAwKQorLy8gTVNWQyB2ZXJzaW9uCisKKyNkZWZpbmUgQVVYNzc4MDc2X01TVkNfRFRXX05BTUUgQk9PU1RfUFBfQ0FUKG1zdmNfYXBwbHksaV8pCisjZGVmaW5lIEFVWDc3ODA3Nl9NU1ZDX0RUV19PUklHSU5BTF9OQU1FIGFwcGx5CisjZGVmaW5lIEFVWDc3ODA3Nl9NU1ZDX0RUV19BUklUWSBpXworI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL21zdmNfZHR3LmhwcD4KKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGIEJPT1NUX1BQX0NPTU1BX0lGKGlfKSBBVVg3NzgwNzZfQVBQTFlfV1JBUF9QQVJBTVMoaV8sIHR5cGVuYW1lIFQpCisgICAgPgorc3RydWN0IEJPT1NUX1BQX0NBVChhcHBseV93cmFwLGlfKQoreworICAgIC8vIE1ldGFmdW5jdGlvbiBmb3J3YXJkaW5nIGNvbmZ1c2VzIHZjNgorICAgIHR5cGVkZWYgdHlwZW5hbWUgQk9PU1RfUFBfQ0FUKG1zdmNfYXBwbHksaV8pPEY+Ojp0ZW1wbGF0ZSByZXN1bHRfPAorICAgICAgICAgIEFVWDc3ODA3Nl9BUFBMWV9XUkFQX1BBUkFNUyhpXywgVCkKKyAgICAgICAgPjo6dHlwZSB0eXBlOworfTsKKworIyAgIGVsaWYgZGVmaW5lZChCT09TVF9NUExfQ0ZHX0JST0tFTl9ERUZBVUxUX1BBUkFNRVRFUlNfSU5fTkVTVEVEX1RFTVBMQVRFUykKKy8vIE1XQ1cvQm9ybGFuZCB2ZXJzaW9uCisKK3RlbXBsYXRlPAorICAgICAgaW50IE4sIHR5cGVuYW1lIEYgQk9PU1RfUFBfQ09NTUFfSUYoaV8pIEFVWDc3ODA3Nl9BUFBMWV9XUkFQX1BBUkFNUyhpXywgdHlwZW5hbWUgVCkKKyAgICA+CitzdHJ1Y3QgQk9PU1RfUFBfQ0FUKGFwcGx5X3dyYXBfaW1wbCxpXyk7CisKKyNkZWZpbmUgQk9PU1RfUFBfSVRFUkFUSU9OX1BBUkFNU18yIFwKKyAgICAoMywoMCwgQk9PU1RfTVBMX0xJTUlUX01FVEFGVU5DVElPTl9BUklUWSAtIGlfLCA8bmRuYm9vc3QvbXBsL2FwcGx5X3dyYXAuaHBwPikpCisjaW5jbHVkZSBCT09TVF9QUF9JVEVSQVRFKCkKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGIEJPT1NUX1BQX0NPTU1BX0lGKGlfKSBBVVg3NzgwNzZfQVBQTFlfV1JBUF9QQVJBTVMoaV8sIHR5cGVuYW1lIFQpCisgICAgPgorc3RydWN0IEJPT1NUX1BQX0NBVChhcHBseV93cmFwLGlfKQorICAgIDogQk9PU1RfUFBfQ0FUKGFwcGx5X3dyYXBfaW1wbCxpXyk8CisgICAgICAgICAgOjpuZG5ib29zdDo6bXBsOjphdXg6OmFyaXR5PEYsaV8+Ojp2YWx1ZQorICAgICAgICAsIEYKKyAgICAgICAgQk9PU1RfUFBfQ09NTUFfSUYoaV8pIEFVWDc3ODA3Nl9BUFBMWV9XUkFQX1BBUkFNUyhpXywgVCkKKyAgICAgICAgPjo6dHlwZQoreworfTsKKworIyAgIGVsc2UKKy8vIElTTzk4IEMrKywgd2l0aCBtaW5vciBjb25jZXNzaW9uIHRvIHZjNworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYgQk9PU1RfUFBfQ09NTUFfSUYoaV8pIEFVWDc3ODA3Nl9BUFBMWV9XUkFQX1BBUkFNUyhpXywgdHlwZW5hbWUgVCkKKyNpZiBpXyA9PSAwCisgICAgLCB0eXBlbmFtZSBoYXNfYXBwbHlfID0gdHlwZW5hbWUgYXV4OjpoYXNfYXBwbHk8Rj46OnR5cGUKKyNlbmRpZgorICAgID4KK3N0cnVjdCBCT09TVF9QUF9DQVQoYXBwbHlfd3JhcCxpXykKKy8vIG1ldGFmdW5jdGlvbiBmb3J3YXJkaW5nIGNvbmZ1c2VzIE1TVkMgNy4wCisjaWYgIUJPT1NUX1dPUktBUk9VTkQoQk9PU1RfTVNWQywgPT0gMTMwMCkKKyAgICA6IEY6OnRlbXBsYXRlIGFwcGx5PCBBVVg3NzgwNzZfQVBQTFlfV1JBUF9QQVJBTVMoaV8sIFQpID4KK3sKKyNlbHNlCit7ICAgIAorICAgIHR5cGVkZWYgdHlwZW5hbWUgRjo6dGVtcGxhdGUgYXBwbHk8CisgICAgICAgICBBVVg3NzgwNzZfQVBQTFlfV1JBUF9QQVJBTVMoaV8sIFQpCisgICAgICAgID46OnR5cGUgdHlwZTsKKyNlbmRpZgorfTsKKworI2lmIGlfID09IDAgJiYgIWRlZmluZWQoQk9PU1RfTk9fVEVNUExBVEVfUEFSVElBTF9TUEVDSUFMSVpBVElPTikKK3RlbXBsYXRlPCB0eXBlbmFtZSBGID4KK3N0cnVjdCBCT09TVF9QUF9DQVQoYXBwbHlfd3JhcCxpXyk8Rix0cnVlXz4KKyAgICA6IEY6OmFwcGx5Cit7Cit9OworI2VuZGlmCisKKyMgICBlbmRpZiAvLyB3b3JrYXJvdW5kcworCisjaWYgZGVmaW5lZChCT09TVF9NUExfQ0ZHX01TVkNfRVRJX0JVRykKKy8vLyB3b3JrYXJvdW5kIGZvciBFVEkgYnVnCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgQk9PU1RfUFBfQ0FUKGFwcGx5X3dyYXAsaV8pPEFVWDc3ODA3Nl9BUFBMWV9XUkFQX1NQRUNfUEFSQU1TKGlfLCBpbnQpPgoreworICAgIHR5cGVkZWYgaW50IHR5cGU7Cit9OworI2VuZGlmCisKKyMgICB1bmRlZiBpXworCisvLy8vLyBpdGVyYXRpb24sIGRlcHRoID09IDIKKworI2VsaWYgQk9PU1RfUFBfSVRFUkFUSU9OX0RFUFRIKCkgPT0gMgorCisjICAgZGVmaW5lIGpfIEJPT1NUX1BQX0ZSQU1FX0lURVJBVElPTigyKQorCisjaWYgaV8gPT0gMCAmJiBqXyA9PSAwIFwKKyAgICAmJiBkZWZpbmVkKEJPT1NUX01QTF9DRkdfQkNDNTkwX1dPUktBUk9VTkRTKSBcCisgICAgJiYgIWRlZmluZWQoQk9PU1RfTVBMX0NGR19OT19IQVNfQVBQTFkpCisKK3RlbXBsYXRlPCB0eXBlbmFtZSBGLCBib29sIEZfaGFzX2FwcGx5ID4KK3N0cnVjdCBhcHBseV93cmFwX2ltcGwwX2JjYiB7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBGOjp0ZW1wbGF0ZSBhcHBseTwgbmEgPiB0eXBlOworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIEYgPgorc3RydWN0IGFwcGx5X3dyYXBfaW1wbDBfYmNiPCBGLCB0cnVlID4geworICAgIHR5cGVkZWYgdHlwZW5hbWUgRjo6YXBwbHkgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiBCT09TVF9QUF9DT01NQV9JRihpXykgQVVYNzc4MDc2X0FQUExZX1dSQVBfUEFSQU1TKGlfLCB0eXBlbmFtZSBUKQorICAgID4KK3N0cnVjdCBCT09TVF9QUF9DQVQoYXBwbHlfd3JhcF9pbXBsLGlfKTwKKyAgICAgICAgICBCT09TVF9NUExfUFBfQUREKGlfLCBqXykKKyAgICAgICAgLCBGCisgICAgICAgIEJPT1NUX1BQX0NPTU1BX0lGKGlfKSBBVVg3NzgwNzZfQVBQTFlfV1JBUF9QQVJBTVMoaV8sIFQpCisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIGFwcGx5X3dyYXBfaW1wbDBfYmNiPCBGLCBhdXg6Omhhc19hcHBseTwgRiA+Ojp2YWx1ZSA+Ojp0eXBlIHR5cGU7Cit9OworI2Vsc2UKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGIEJPT1NUX1BQX0NPTU1BX0lGKGlfKSBBVVg3NzgwNzZfQVBQTFlfV1JBUF9QQVJBTVMoaV8sIHR5cGVuYW1lIFQpCisgICAgPgorc3RydWN0IEJPT1NUX1BQX0NBVChhcHBseV93cmFwX2ltcGwsaV8pPAorICAgICAgICAgIEJPT1NUX01QTF9QUF9BREQoaV8sIGpfKQorICAgICAgICAsIEYKKyAgICAgICAgQk9PU1RfUFBfQ09NTUFfSUYoaV8pIEFVWDc3ODA3Nl9BUFBMWV9XUkFQX1BBUkFNUyhpXywgVCkKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgRjo6dGVtcGxhdGUgYXBwbHk8CisgICAgICAgICAgQVVYNzc4MDc2X0FQUExZX1dSQVBfUEFSQU1TKGlfLCBUKQorI2lmIGlfID09IDAgJiYgal8gPT0gMAorLy8vIHNpbmNlIHRoZSBkZWZhdWx0cyBhcmUgImxvc3QiLCB3ZSBoYXZlIHRvIHBhc3MgKnNvbWV0aGluZyogZXZlbiBmb3IgbnVsbGFyeQorLy8vIG1ldGFmdW5jdGlvbiBjbGFzc2VzCisgICAgICAgIG5hCisjZWxzZQorICAgICAgICBCT09TVF9QUF9DT01NQV9JRihCT09TVF9QUF9BTkQoaV8sIGpfKSkgQk9PU1RfTVBMX1BQX0VOVU0oal8sIG5hKQorI2VuZGlmCisgICAgICAgID4gdHlwZTsKK307CisKKyNlbmRpZgorCisjICAgdW5kZWYgal8KKworI2VuZGlmIC8vIEJPT1NUX1BQX0lURVJBVElPTl9ERVBUSCgpCisjZW5kaWYgLy8gQk9PU1RfUFBfSVNfSVRFUkFUSU5HCmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXJnLmhwcCBiL25kbmJvb3N0L21wbC9hcmcuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUzYmMyNDkKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXJnLmhwcApAQCAtMCwwICsxLDEzMSBAQAorCisjaWYgIWRlZmluZWQoQk9PU1RfUFBfSVNfSVRFUkFUSU5HKQorCisvLy8vLyBoZWFkZXIgYm9keQorCisjaWZuZGVmIEJPT1NUX01QTF9BUkdfSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX01QTF9BUkdfSFBQX0lOQ0xVREVECisKKy8vIENvcHlyaWdodCBQZXRlciBEaW1vdiAyMDAxLTIwMDIKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDEtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKy8vIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL21wbCBmb3IgZG9jdW1lbnRhdGlvbi4KKworLy8gJElkOiBhcmcuaHBwIDQ5MjY3IDIwMDgtMTAtMTEgMDY6MTk6MDJaIGFndXJ0b3ZveSAkCisvLyAkRGF0ZTogMjAwOC0xMC0xMCAyMzoxOTowMiAtMDcwMCAoRnJpLCAxMCBPY3QgMjAwOCkgJAorLy8gJFJldmlzaW9uOiA0OTI2NyAkCisKKyNpZiAhZGVmaW5lZChCT09TVF9NUExfUFJFUFJPQ0VTU0lOR19NT0RFKQorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC9hcmdfZndkLmhwcD4KKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9uYS5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vbmFfYXNzZXJ0LmhwcD4KKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9hcml0eV9zcGVjLmhwcD4KKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9hcmdfdHlwZWRlZi5ocHA+CisjZW5kaWYKKworI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2NvbmZpZy9zdGF0aWNfY29uc3RhbnQuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2NvbmZpZy91c2VfcHJlcHJvY2Vzc2VkLmhwcD4KKworI2lmICFkZWZpbmVkKEJPT1NUX01QTF9DRkdfTk9fUFJFUFJPQ0VTU0VEX0hFQURFUlMpIFwKKyAgICAmJiAhZGVmaW5lZChCT09TVF9NUExfUFJFUFJPQ0VTU0lOR19NT0RFKQorCisjICAgZGVmaW5lIEJPT1NUX01QTF9QUkVQUk9DRVNTRURfSEVBREVSIGFyZy5ocHAKKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9pbmNsdWRlX3ByZXByb2Nlc3NlZC5ocHA+CisKKyNlbHNlCisKKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvbGltaXRzL2FyaXR5LmhwcD4KKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzb3IvZGVmYXVsdF9wYXJhbXMuaHBwPgorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3Nvci9wYXJhbXMuaHBwPgorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2NvbmZpZy9sYW1iZGEuaHBwPgorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2NvbmZpZy9kdHAuaHBwPgorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL250dHBfZGVjbC5ocHA+CisKKyMgICBpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3IvaXRlcmF0ZS5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL2luYy5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL2NhdC5ocHA+CisKK0JPT1NUX01QTF9BVVhfQURMX0JBUlJJRVJfTkFNRVNQQUNFX09QRU4KKworLy8gbG9jYWwgbWFjcm8sICN1bmRlZi1pbmVkIGF0IHRoZSBlbmQgb2YgdGhlIGhlYWRlcgorI2lmICFkZWZpbmVkKEJPT1NUX01QTF9DRkdfTk9fREVGQVVMVF9QQVJBTUVURVJTX0lOX05FU1RFRF9URU1QTEFURVMpCisjICAgZGVmaW5lIEFVWDc3ODA3Nl9BUkdfTl9ERUZBVUxUX1BBUkFNUyhwYXJhbSx2YWx1ZSkgXAorICAgIEJPT1NUX01QTF9QUF9ERUZBVUxUX1BBUkFNUyggXAorICAgICAgICAgIEJPT1NUX01QTF9MSU1JVF9NRVRBRlVOQ1RJT05fQVJJVFkgXAorICAgICAgICAsIHBhcmFtIFwKKyAgICAgICAgLCB2YWx1ZSBcCisgICAgICAgICkgXAorICAgIC8qKi8KKyNlbHNlCisjICAgZGVmaW5lIEFVWDc3ODA3Nl9BUkdfTl9ERUZBVUxUX1BBUkFNUyhwYXJhbSx2YWx1ZSkgXAorICAgIEJPT1NUX01QTF9QUF9QQVJBTVMoIFwKKyAgICAgICAgICBCT09TVF9NUExfTElNSVRfTUVUQUZVTkNUSU9OX0FSSVRZIFwKKyAgICAgICAgLCBwYXJhbSBcCisgICAgICAgICkgXAorICAgIC8qKi8KKyNlbmRpZgorCisjZGVmaW5lIEJPT1NUX1BQX0lURVJBVElPTl9QQVJBTVNfMSBcCisgICAgKDMsKDAsIEJPT1NUX01QTF9MSU1JVF9NRVRBRlVOQ1RJT05fQVJJVFksIDxuZG5ib29zdC9tcGwvYXJnLmhwcD4pKQorI2luY2x1ZGUgQk9PU1RfUFBfSVRFUkFURSgpCisKKworIyAgIHVuZGVmIEFVWDc3ODA3Nl9BUkdfTl9ERUZBVUxUX1BBUkFNUworCitCT09TVF9NUExfQVVYX05PTlRZUEVfQVJJVFlfU1BFQygxLGludCxhcmcpCisKK0JPT1NUX01QTF9BVVhfQURMX0JBUlJJRVJfTkFNRVNQQUNFX0NMT1NFCisKKyNlbmRpZiAvLyBCT09TVF9NUExfQ0ZHX05PX1BSRVBST0NFU1NFRF9IRUFERVJTCisjZW5kaWYgLy8gQk9PU1RfTVBMX0FSR19IUFBfSU5DTFVERUQKKworLy8vLy8gaXRlcmF0aW9uCisKKyNlbHNlCisjZGVmaW5lIGlfIEJPT1NUX1BQX0ZSQU1FX0lURVJBVElPTigxKQorCisjaWYgaV8gPiAwCisKK3RlbXBsYXRlPD4gc3RydWN0IGFyZzxpXz4KK3sKKyAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSA9IGlfKTsKKyAgICB0eXBlZGVmIGFyZzxCT09TVF9QUF9JTkMoaV8pPiBuZXh0OworICAgIEJPT1NUX01QTF9BVVhfQVJHX1RZUEVERUYobmEsIHRhZykKKyAgICBCT09TVF9NUExfQVVYX0FSR19UWVBFREVGKG5hLCB0eXBlKQorCisgICAgdGVtcGxhdGU8CisgICAgICAgICAgQVVYNzc4MDc2X0FSR19OX0RFRkFVTFRfUEFSQU1TKHR5cGVuYW1lIFUsIG5hKQorICAgICAgICA+CisgICAgc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIEJPT1NUX1BQX0NBVChVLGlfKSB0eXBlOworICAgICAgICBCT09TVF9NUExfQVVYX0FTU0VSVF9OT1RfTkEodHlwZSk7CisgICAgfTsKK307CisKKyNlbHNlCisKK3RlbXBsYXRlPD4gc3RydWN0IGFyZzwtMT4KK3sKKyAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSA9IC0xKTsKKyAgICBCT09TVF9NUExfQVVYX0FSR19UWVBFREVGKG5hLCB0YWcpCisgICAgQk9PU1RfTVBMX0FVWF9BUkdfVFlQRURFRihuYSwgdHlwZSkKKworICAgIHRlbXBsYXRlPAorICAgICAgICAgIEFVWDc3ODA3Nl9BUkdfTl9ERUZBVUxUX1BBUkFNUyh0eXBlbmFtZSBVLCBuYSkKKyAgICAgICAgPgorICAgIHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBVMSB0eXBlOworICAgICAgICBCT09TVF9NUExfQVVYX0FTU0VSVF9OT1RfTkEodHlwZSk7CisgICAgfTsKK307CisKKyNlbmRpZiAvLyBpXyA+IDAKKworI3VuZGVmIGlfCisjZW5kaWYgLy8gQk9PU1RfUFBfSVNfSVRFUkFUSU5HCmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXJnX2Z3ZC5ocHAgYi9uZG5ib29zdC9tcGwvYXJnX2Z3ZC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWFlYzMwZAotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hcmdfZndkLmhwcApAQCAtMCwwICsxLDI4IEBACisKKyNpZm5kZWYgQk9PU1RfTVBMX0FSR19GV0RfSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX01QTF9BUkdfRldEX0hQUF9JTkNMVURFRAorCisvLyBDb3B5cmlnaHQgUGV0ZXIgRGltb3YgMjAwMS0yMDAyCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAxLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisvLyBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvbGlicy9tcGwgZm9yIGRvY3VtZW50YXRpb24uCisKKy8vICRJZDogYXJnX2Z3ZC5ocHAgNDkyNjcgMjAwOC0xMC0xMSAwNjoxOTowMlogYWd1cnRvdm95ICQKKy8vICREYXRlOiAyMDA4LTEwLTEwIDIzOjE5OjAyIC0wNzAwIChGcmksIDEwIE9jdCAyMDA4KSAkCisvLyAkUmV2aXNpb246IDQ5MjY3ICQKKworI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2FkbF9iYXJyaWVyLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9udHRwX2RlY2wuaHBwPgorCitCT09TVF9NUExfQVVYX0FETF9CQVJSSUVSX05BTUVTUEFDRV9PUEVOCisKK3RlbXBsYXRlPCBCT09TVF9NUExfQVVYX05UVFBfREVDTChpbnQsIE4pID4gc3RydWN0IGFyZzsKKworQk9PU1RfTVBMX0FVWF9BRExfQkFSUklFUl9OQU1FU1BBQ0VfQ0xPU0UKK0JPT1NUX01QTF9BVVhfQURMX0JBUlJJRVJfREVDTChhcmcpCisKKyNlbmRpZiAvLyBCT09TVF9NUExfQVJHX0ZXRF9IUFBfSU5DTFVERUQKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hc3NlcnQuaHBwIGIvbmRuYm9vc3QvbXBsL2Fzc2VydC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmQxNGIyZgotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hc3NlcnQuaHBwCkBAIC0wLDAgKzEsNDM4IEBACisKKyNpZm5kZWYgQk9PU1RfTVBMX0FTU0VSVF9IUFBfSU5DTFVERUQKKyNkZWZpbmUgQk9PU1RfTVBMX0FTU0VSVF9IUFBfSU5DTFVERUQKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA2CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworLy8gU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL2xpYnMvbXBsIGZvciBkb2N1bWVudGF0aW9uLgorCisvLyAkSWQ6IGFzc2VydC5ocHAgODQ0NDIgMjAxMy0wNS0yMyAxNDozODoyMlogc3RldmVuX3dhdGFuYWJlICQKKy8vICREYXRlOiAyMDEzLTA1LTIzIDA3OjM4OjIyIC0wNzAwIChUaHUsIDIzIE1heSAyMDEzKSAkCisvLyAkUmV2aXNpb246IDg0NDQyICQKKworI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9ub3QuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL3ZhbHVlX3drbmQuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL25lc3RlZF90eXBlX3drbmQuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL3llc19uby5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vbmEuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2FkbF9iYXJyaWVyLmhwcD4KKworI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2NvbmZpZy9udHRwLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9jb25maWcvZHRwLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9jb25maWcvZ2NjLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9jb25maWcvbXN2Yy5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vY29uZmlnL3N0YXRpY19jb25zdGFudC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vY29uZmlnL3BwX2NvdW50ZXIuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2NvbmZpZy93b3JrYXJvdW5kLmhwcD4KKworI2luY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9jYXQuaHBwPgorCisjaW5jbHVkZSA8bmRuYm9vc3QvY29uZmlnLmhwcD4gLy8gbWFrZSBzdXJlICdzaXplX3QnIGlzIHBsYWNlZCBpbnRvICdzdGQnCisjaW5jbHVkZSA8Y3N0ZGRlZj4KKworI2lmIEJPT1NUX1dPUktBUk9VTkQoQk9PU1RfTVNWQywgPT0gMTcwMCkKKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvaWYuaHBwPgorI2VuZGlmCisKKyNpZiBCT09TVF9XT1JLQVJPVU5EKF9fQk9STEFORENfXywgQk9PU1RfVEVTVEVEX0FUKDB4NjEwKSkgXAorICAgIHx8IChCT09TVF9NUExfQ0ZHX0dDQyAhPSAwKSBcCisgICAgfHwgQk9PU1RfV09SS0FST1VORChfX0lCTUNQUF9fLCA8PSA2MDApCisjICAgZGVmaW5lIEJPT1NUX01QTF9DRkdfQVNTRVJUX1VTRV9SRUxBVElPTl9OQU1FUworI2VuZGlmCisKKyNpZiBCT09TVF9XT1JLQVJPVU5EKF9fTVdFUktTX18sIDwgMHgzMjAyKSBcCisgICAgfHwgQk9PU1RfV09SS0FST1VORChfX0VER19WRVJTSU9OX18sIDw9IDIzOCkgXAorICAgIHx8IEJPT1NUX1dPUktBUk9VTkQoX19CT1JMQU5EQ19fLCBCT09TVF9URVNURURfQVQoMHg2MTApKSBcCisgICAgfHwgQk9PU1RfV09SS0FST1VORChfX0RNQ19fLCBCT09TVF9URVNURURfQVQoMHg4NDApKQorIyAgIGRlZmluZSBCT09TVF9NUExfQ0ZHX0FTU0VSVF9CUk9LRU5fUE9JTlRFUl9UT19QT0lOVEVSX1RPX01FTUJFUgorI2VuZGlmCisKKy8vIGFndXJ0LCAxMC9ub3YvMDY6IHVzZSBlbnVtcyBmb3IgQm9ybGFuZCAod2hpY2ggY2Fubm90IGNvcGUgd2l0aCBzdGF0aWMgY29uc3RhbnRzKSAKKy8vIGFuZCBHQ0MgKHdoaWNoIGlzc3VlcyAidW51c2VkIHZhcmlhYmxlIiB3YXJuaW5ncyB3aGVuIHN0YXRpYyBjb25zdGFudHMgYXJlIHVzZWQgCisvLyBhdCBhIGZ1bmN0aW9uIHNjb3BlKQorI2lmIEJPT1NUX1dPUktBUk9VTkQoX19CT1JMQU5EQ19fLCBCT09TVF9URVNURURfQVQoMHg2MTApKSBcCisgICAgfHwgKEJPT1NUX01QTF9DRkdfR0NDICE9IDApCisjICAgZGVmaW5lIEJPT1NUX01QTF9BVVhfQVNTRVJUX0NPTlNUQU5UKFQsIGV4cHIpIGVudW0geyBleHByIH0KKyNlbHNlCisjICAgZGVmaW5lIEJPT1NUX01QTF9BVVhfQVNTRVJUX0NPTlNUQU5UKFQsIGV4cHIpIEJPT1NUX1NUQVRJQ19DT05TVEFOVChULCBleHByKQorI2VuZGlmCisKKworQk9PU1RfTVBMX0FVWF9BRExfQkFSUklFUl9OQU1FU1BBQ0VfT1BFTgorCitzdHJ1Y3QgZmFpbGVkIHt9OworCisvLyBhZ3VydCwgMjQvYXVnLzA0OiBNU1ZDIDcuMSB3b3JrYXJvdW5kIGhlcmUgYW5kIGJlbG93OiByZXR1cm4vYWNjZXB0IAorLy8gJ2Fzc2VydDxmYWxzZT4nIGJ5IHJlZmVyZW5jZTsgY2FuJ3QgYXBwbHkgaXQgdW5jb25kaXRpb25hbGx5IC0tIGFwcGFyZW50bHkgaXQKKy8vIGRlZ3JhZGVzIHRoZSBxdWFsaXR5IG9mIEdDQyBkaWFnbm9zdGljcworI2lmIEJPT1NUX1dPUktBUk9VTkQoQk9PU1RfTVNWQywgPT0gMTMxMCkKKyMgICBkZWZpbmUgQVVYNzc4MDc2X0FTU0VSVF9BUkcoeCkgeCYKKyNlbHNlCisjICAgZGVmaW5lIEFVWDc3ODA3Nl9BU1NFUlRfQVJHKHgpIHgKKyNlbmRpZgorCit0ZW1wbGF0ZTwgYm9vbCBDID4gIHN0cnVjdCBhc3NlcnQgICAgICAgIHsgdHlwZWRlZiB2b2lkKiB0eXBlOyB9OwordGVtcGxhdGU8PiAgICAgICAgICBzdHJ1Y3QgYXNzZXJ0PGZhbHNlPiB7IHR5cGVkZWYgQVVYNzc4MDc2X0FTU0VSVF9BUkcoYXNzZXJ0KSB0eXBlOyB9OworCit0ZW1wbGF0ZTwgYm9vbCBDID4KK2ludCBhc3NlcnRpb25fZmFpbGVkKCB0eXBlbmFtZSBhc3NlcnQ8Qz46OnR5cGUgKTsKKwordGVtcGxhdGU8IGJvb2wgQyA+CitzdHJ1Y3QgYXNzZXJ0aW9uCit7CisgICAgc3RhdGljIGludCBmYWlsZWQoIGFzc2VydDxmYWxzZT4gKTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBhc3NlcnRpb248dHJ1ZT4KK3sKKyAgICBzdGF0aWMgaW50IGZhaWxlZCggdm9pZCogKTsKK307CisKK3N0cnVjdCBhc3NlcnRfCit7CisjaWYgIWRlZmluZWQoQk9PU1RfTVBMX0NGR19OT19ERUZBVUxUX1BBUkFNRVRFUlNfSU5fTkVTVEVEX1RFTVBMQVRFUykKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyID0gbmEsIHR5cGVuYW1lIFQzID0gbmEsIHR5cGVuYW1lIFQ0ID0gbmEgPiBzdHJ1Y3QgdHlwZXMge307CisjZW5kaWYKKyAgICBzdGF0aWMgYXNzZXJ0XyBjb25zdCBhcmc7CisgICAgZW51bSByZWxhdGlvbnMgeyBlcXVhbCA9IDEsIG5vdF9lcXVhbCwgZ3JlYXRlciwgZ3JlYXRlcl9lcXVhbCwgbGVzcywgbGVzc19lcXVhbCB9OworfTsKKworCisjaWYgIWRlZmluZWQoQk9PU1RfTVBMX0NGR19BU1NFUlRfVVNFX1JFTEFUSU9OX05BTUVTKQorCitib29sIG9wZXJhdG9yPT0oIGZhaWxlZCwgZmFpbGVkICk7Citib29sIG9wZXJhdG9yIT0oIGZhaWxlZCwgZmFpbGVkICk7Citib29sIG9wZXJhdG9yPiggZmFpbGVkLCBmYWlsZWQgKTsKK2Jvb2wgb3BlcmF0b3I+PSggZmFpbGVkLCBmYWlsZWQgKTsKK2Jvb2wgb3BlcmF0b3I8KCBmYWlsZWQsIGZhaWxlZCApOworYm9vbCBvcGVyYXRvcjw9KCBmYWlsZWQsIGZhaWxlZCApOworCisjaWYgZGVmaW5lZChfX0VER19WRVJTSU9OX18pCit0ZW1wbGF0ZTwgYm9vbCAoKikoZmFpbGVkLCBmYWlsZWQpLCBsb25nIHgsIGxvbmcgeSA+IHN0cnVjdCBhc3NlcnRfcmVsYXRpb24ge307CisjICAgZGVmaW5lIEJPT1NUX01QTF9BVVhfQVNTRVJUX1JFTEFUSU9OKHgsIHksIHIpIGFzc2VydF9yZWxhdGlvbjxyLHgseT4KKyNlbHNlCit0ZW1wbGF0ZTwgQk9PU1RfTVBMX0FVWF9OVFRQX0RFQ0wobG9uZywgeCksIEJPT1NUX01QTF9BVVhfTlRUUF9ERUNMKGxvbmcsIHkpLCBib29sICgqKShmYWlsZWQsIGZhaWxlZCkgPiAKK3N0cnVjdCBhc3NlcnRfcmVsYXRpb24ge307CisjICAgZGVmaW5lIEJPT1NUX01QTF9BVVhfQVNTRVJUX1JFTEFUSU9OKHgsIHksIHIpIGFzc2VydF9yZWxhdGlvbjx4LHkscj4KKyNlbmRpZgorCisjZWxzZSAvLyBCT09TVF9NUExfQ0ZHX0FTU0VSVF9VU0VfUkVMQVRJT05fTkFNRVMKKworbmRuYm9vc3Q6Om1wbDo6YXV4Ojp3ZWlnaHRlZF90YWc8MT46OnR5cGUgb3BlcmF0b3I9PSggYXNzZXJ0XywgYXNzZXJ0XyApOworbmRuYm9vc3Q6Om1wbDo6YXV4Ojp3ZWlnaHRlZF90YWc8Mj46OnR5cGUgb3BlcmF0b3IhPSggYXNzZXJ0XywgYXNzZXJ0XyApOworbmRuYm9vc3Q6Om1wbDo6YXV4Ojp3ZWlnaHRlZF90YWc8Mz46OnR5cGUgb3BlcmF0b3I+KCAgYXNzZXJ0XywgYXNzZXJ0XyApOworbmRuYm9vc3Q6Om1wbDo6YXV4Ojp3ZWlnaHRlZF90YWc8ND46OnR5cGUgb3BlcmF0b3I+PSggYXNzZXJ0XywgYXNzZXJ0XyApOworbmRuYm9vc3Q6Om1wbDo6YXV4Ojp3ZWlnaHRlZF90YWc8NT46OnR5cGUgb3BlcmF0b3I8KCBhc3NlcnRfLCBhc3NlcnRfICk7CituZG5ib29zdDo6bXBsOjphdXg6OndlaWdodGVkX3RhZzw2Pjo6dHlwZSBvcGVyYXRvcjw9KCBhc3NlcnRfLCBhc3NlcnRfICk7CisKK3RlbXBsYXRlPCBhc3NlcnRfOjpyZWxhdGlvbnMgciwgbG9uZyB4LCBsb25nIHkgPiBzdHJ1Y3QgYXNzZXJ0X3JlbGF0aW9uIHt9OworCisjZW5kaWYgCisKKyNpZiBCT09TVF9XT1JLQVJPVU5EKEJPT1NUX01TVkMsID49IDE3MDApCisKK3RlbXBsYXRlPGNsYXNzIFByZWQ+CitzdHJ1Y3QgZXh0cmFjdF9hc3NlcnRfcHJlZDsKKwordGVtcGxhdGU8Y2xhc3MgUHJlZD4KK3N0cnVjdCBleHRyYWN0X2Fzc2VydF9wcmVkPHZvaWQoUHJlZCk+IHsgdHlwZWRlZiBQcmVkIHR5cGU7IH07CisKK3RlbXBsYXRlPGNsYXNzIFByZWQ+CitzdHJ1Y3QgZXZhbF9hc3NlcnQgeworICAgIHR5cGVkZWYgdHlwZW5hbWUgZXh0cmFjdF9hc3NlcnRfcHJlZDxQcmVkPjo6dHlwZSBQOworICAgIHR5cGVkZWYgdHlwZW5hbWUgUDo6dHlwZSBwX3R5cGU7CisgICAgdHlwZWRlZiB0eXBlbmFtZSA6Om5kbmJvb3N0OjptcGw6OmlmX2M8cF90eXBlOjp2YWx1ZSwKKyAgICAgICAgQVVYNzc4MDc2X0FTU0VSVF9BUkcoYXNzZXJ0PGZhbHNlPiksCisgICAgICAgIGZhaWxlZCAqKioqKioqKioqKiogUDo6KioqKioqKioqKioqCisgICAgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8Y2xhc3MgUHJlZD4KK3N0cnVjdCBldmFsX2Fzc2VydF9ub3QgeworICAgIHR5cGVkZWYgdHlwZW5hbWUgZXh0cmFjdF9hc3NlcnRfcHJlZDxQcmVkPjo6dHlwZSBQOworICAgIHR5cGVkZWYgdHlwZW5hbWUgUDo6dHlwZSBwX3R5cGU7CisgICAgdHlwZWRlZiB0eXBlbmFtZSA6Om5kbmJvb3N0OjptcGw6OmlmX2M8IXBfdHlwZTo6dmFsdWUsCisgICAgICAgIEFVWDc3ODA3Nl9BU1NFUlRfQVJHKGFzc2VydDxmYWxzZT4pLAorICAgICAgICBmYWlsZWQgKioqKioqKioqKioqIDo6bmRuYm9vc3Q6Om1wbDo6bm90XzxQPjo6KioqKioqKioqKioqCisgICAgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFQgPgorVCBtYWtlX2Fzc2VydF9hcmcoKTsKKworI2VsaWYgIWRlZmluZWQoQk9PU1RfTVBMX0NGR19BU1NFUlRfQlJPS0VOX1BPSU5URVJfVE9fUE9JTlRFUl9UT19NRU1CRVIpCisKK3RlbXBsYXRlPCBib29sID4gc3RydWN0IGFzc2VydF9hcmdfcHJlZF9pbXBsIHsgdHlwZWRlZiBpbnQgdHlwZTsgfTsKK3RlbXBsYXRlPD4gc3RydWN0IGFzc2VydF9hcmdfcHJlZF9pbXBsPHRydWU+IHsgdHlwZWRlZiB2b2lkKiB0eXBlOyB9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgUCA+IHN0cnVjdCBhc3NlcnRfYXJnX3ByZWQKK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIFA6OnR5cGUgcF90eXBlOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXNzZXJ0X2FyZ19wcmVkX2ltcGw8IHBfdHlwZTo6dmFsdWUgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFAgPiBzdHJ1Y3QgYXNzZXJ0X2FyZ19wcmVkX25vdAoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgUDo6dHlwZSBwX3R5cGU7CisgICAgQk9PU1RfTVBMX0FVWF9BU1NFUlRfQ09OU1RBTlQoIGJvb2wsIHAgPSAhcF90eXBlOjp2YWx1ZSApOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXNzZXJ0X2FyZ19wcmVkX2ltcGw8cD46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBQcmVkID4KK2ZhaWxlZCAqKioqKioqKioqKiogKFByZWQ6OioqKioqKioqKioqKiAKKyAgICAgIGFzc2VydF9hcmcoIHZvaWQgKCopKFByZWQpLCB0eXBlbmFtZSBhc3NlcnRfYXJnX3ByZWQ8UHJlZD46OnR5cGUgKQorICAgICk7CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBQcmVkID4KK2ZhaWxlZCAqKioqKioqKioqKiogKG5kbmJvb3N0OjptcGw6Om5vdF88UHJlZD46OioqKioqKioqKioqKiAKKyAgICAgIGFzc2VydF9ub3RfYXJnKCB2b2lkICgqKShQcmVkKSwgdHlwZW5hbWUgYXNzZXJ0X2FyZ19wcmVkX25vdDxQcmVkPjo6dHlwZSApCisgICAgKTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFByZWQgPgorQVVYNzc4MDc2X0FTU0VSVF9BUkcoYXNzZXJ0PGZhbHNlPikKK2Fzc2VydF9hcmcoIHZvaWQgKCopKFByZWQpLCB0eXBlbmFtZSBhc3NlcnRfYXJnX3ByZWRfbm90PFByZWQ+Ojp0eXBlICk7CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBQcmVkID4KK0FVWDc3ODA3Nl9BU1NFUlRfQVJHKGFzc2VydDxmYWxzZT4pCithc3NlcnRfbm90X2FyZyggdm9pZCAoKikoUHJlZCksIHR5cGVuYW1lIGFzc2VydF9hcmdfcHJlZDxQcmVkPjo6dHlwZSApOworCisKKyNlbHNlIC8vIEJPT1NUX01QTF9DRkdfQVNTRVJUX0JST0tFTl9QT0lOVEVSX1RPX1BPSU5URVJfVE9fTUVNQkVSCisgICAgICAgIAordGVtcGxhdGU8IGJvb2wgYywgdHlwZW5hbWUgUHJlZCA+IHN0cnVjdCBhc3NlcnRfYXJnX3R5cGVfaW1wbAoreworICAgIHR5cGVkZWYgZmFpbGVkICAgICAgKioqKioqKioqKioqIFByZWQ6OiogbXdjdzgzX3drbmQ7CisgICAgdHlwZWRlZiBtd2N3ODNfd2tuZCAqKioqKioqKioqKioqIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgUHJlZCA+IHN0cnVjdCBhc3NlcnRfYXJnX3R5cGVfaW1wbDx0cnVlLFByZWQ+Cit7CisgICAgdHlwZWRlZiBBVVg3NzgwNzZfQVNTRVJUX0FSRyhhc3NlcnQ8ZmFsc2U+KSB0eXBlOworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFByZWQgPiBzdHJ1Y3QgYXNzZXJ0X2FyZ190eXBlCisgICAgOiBhc3NlcnRfYXJnX3R5cGVfaW1wbDwgQk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKEJPT1NUX01QTF9BVVhfTkVTVEVEX1RZUEVfV0tORChQcmVkKSk6OnZhbHVlLCBQcmVkID4KK3sKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBQcmVkID4KK3R5cGVuYW1lIGFzc2VydF9hcmdfdHlwZTxQcmVkPjo6dHlwZSAKK2Fzc2VydF9hcmcodm9pZCAoKikoUHJlZCksIGludCk7CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBQcmVkID4KK3R5cGVuYW1lIGFzc2VydF9hcmdfdHlwZTwgbmRuYm9vc3Q6Om1wbDo6bm90XzxQcmVkPiA+Ojp0eXBlIAorYXNzZXJ0X25vdF9hcmcodm9pZCAoKikoUHJlZCksIGludCk7CisKKyMgICBpZiAhZGVmaW5lZChCT09TVF9NUExfQ0ZHX0FTU0VSVF9VU0VfUkVMQVRJT05fTkFNRVMpCit0ZW1wbGF0ZTwgbG9uZyB4LCBsb25nIHksIGJvb2wgKCpyKShmYWlsZWQsIGZhaWxlZCkgPgordHlwZW5hbWUgYXNzZXJ0X2FyZ190eXBlX2ltcGw8IGZhbHNlLEJPT1NUX01QTF9BVVhfQVNTRVJUX1JFTEFUSU9OKHgseSxyKSA+Ojp0eXBlCithc3NlcnRfcmVsX2FyZyggQk9PU1RfTVBMX0FVWF9BU1NFUlRfUkVMQVRJT04oeCx5LHIpICk7CisjICAgZWxzZQordGVtcGxhdGU8IGFzc2VydF86OnJlbGF0aW9ucyByLCBsb25nIHgsIGxvbmcgeSA+Cit0eXBlbmFtZSBhc3NlcnRfYXJnX3R5cGVfaW1wbDwgZmFsc2UsYXNzZXJ0X3JlbGF0aW9uPHIseCx5PiA+Ojp0eXBlCithc3NlcnRfcmVsX2FyZyggYXNzZXJ0X3JlbGF0aW9uPHIseCx5PiApOworIyAgIGVuZGlmCisKKyNlbmRpZiAvLyBCT09TVF9NUExfQ0ZHX0FTU0VSVF9CUk9LRU5fUE9JTlRFUl9UT19QT0lOVEVSX1RPX01FTUJFUgorCisjdW5kZWYgQVVYNzc4MDc2X0FTU0VSVF9BUkcKKworQk9PU1RfTVBMX0FVWF9BRExfQkFSUklFUl9OQU1FU1BBQ0VfQ0xPU0UKKworI2lmIEJPT1NUX1dPUktBUk9VTkQoQk9PU1RfTVNWQywgPT0gMTcwMCkKKworLy8gQk9PU1RfTVBMX0FTU0VSVCgocHJlZDx4LC4uLj4pKQorCisjZGVmaW5lIEJPT1NUX01QTF9BU1NFUlQocHJlZCkgXAorQk9PU1RfTVBMX0FVWF9BU1NFUlRfQ09OU1RBTlQoIFwKKyAgICAgIHN0ZDo6c2l6ZV90IFwKKyAgICAsIEJPT1NUX1BQX0NBVChtcGxfYXNzZXJ0aW9uX2luX2xpbmVfLEJPT1NUX01QTF9BVVhfUFBfQ09VTlRFUigpKSA9IHNpemVvZiggXAorICAgICAgICAgIG5kbmJvb3N0OjptcGw6OmFzc2VydGlvbl9mYWlsZWQ8ZmFsc2U+KCBcCisgICAgICAgICAgICAgIG5kbmJvb3N0OjptcGw6Om1ha2VfYXNzZXJ0X2FyZzwgXAorICAgICAgICAgICAgICAgICAgdHlwZW5hbWUgbmRuYm9vc3Q6Om1wbDo6ZXZhbF9hc3NlcnQ8dm9pZCBwcmVkPjo6dHlwZSBcCisgICAgICAgICAgICAgICAgPigpIFwKKyAgICAgICAgICAgICkgXAorICAgICAgICApIFwKKyAgICApIFwKKy8qKi8KKworLy8gQk9PU1RfTVBMX0FTU0VSVF9OT1QoKHByZWQ8eCwuLi4+KSkKKworI2RlZmluZSBCT09TVF9NUExfQVNTRVJUX05PVChwcmVkKSBcCitCT09TVF9NUExfQVVYX0FTU0VSVF9DT05TVEFOVCggXAorICAgICAgc3RkOjpzaXplX3QgXAorICAgICwgQk9PU1RfUFBfQ0FUKG1wbF9hc3NlcnRpb25faW5fbGluZV8sQk9PU1RfTVBMX0FVWF9QUF9DT1VOVEVSKCkpID0gc2l6ZW9mKCBcCisgICAgICAgICAgbmRuYm9vc3Q6Om1wbDo6YXNzZXJ0aW9uX2ZhaWxlZDxmYWxzZT4oIFwKKyAgICAgICAgICAgICAgbmRuYm9vc3Q6Om1wbDo6bWFrZV9hc3NlcnRfYXJnPCBcCisgICAgICAgICAgICAgICAgICB0eXBlbmFtZSBuZG5ib29zdDo6bXBsOjpldmFsX2Fzc2VydF9ub3Q8dm9pZCBwcmVkPjo6dHlwZSBcCisgICAgICAgICAgICAgICAgPigpIFwKKyAgICAgICAgICAgICkgXAorICAgICAgICApIFwKKyAgICApIFwKKy8qKi8KKworI2Vsc2UKKworLy8gQk9PU1RfTVBMX0FTU0VSVCgocHJlZDx4LC4uLj4pKQorCisjZGVmaW5lIEJPT1NUX01QTF9BU1NFUlQocHJlZCkgXAorQk9PU1RfTVBMX0FVWF9BU1NFUlRfQ09OU1RBTlQoIFwKKyAgICAgIHN0ZDo6c2l6ZV90IFwKKyAgICAsIEJPT1NUX1BQX0NBVChtcGxfYXNzZXJ0aW9uX2luX2xpbmVfLEJPT1NUX01QTF9BVVhfUFBfQ09VTlRFUigpKSA9IHNpemVvZiggXAorICAgICAgICAgIG5kbmJvb3N0OjptcGw6OmFzc2VydGlvbl9mYWlsZWQ8ZmFsc2U+KCBcCisgICAgICAgICAgICAgIG5kbmJvb3N0OjptcGw6OmFzc2VydF9hcmcoICh2b2lkICgqKSBwcmVkKTAsIDEgKSBcCisgICAgICAgICAgICApIFwKKyAgICAgICAgKSBcCisgICAgKSBcCisvKiovCisKKy8vIEJPT1NUX01QTF9BU1NFUlRfTk9UKChwcmVkPHgsLi4uPikpCisKKyNpZiBCT09TVF9XT1JLQVJPVU5EKEJPT1NUX01TVkMsIDw9IDEzMDApCisjICAgZGVmaW5lIEJPT1NUX01QTF9BU1NFUlRfTk9UKHByZWQpIFwKK2VudW0geyBcCisgICAgICBCT09TVF9QUF9DQVQobXBsX2Fzc2VydGlvbl9pbl9saW5lXyxCT09TVF9NUExfQVVYX1BQX0NPVU5URVIoKSkgPSBzaXplb2YoIFwKKyAgICAgICAgICBuZG5ib29zdDo6bXBsOjphc3NlcnRpb248ZmFsc2U+OjpmYWlsZWQoIFwKKyAgICAgICAgICAgICAgbmRuYm9vc3Q6Om1wbDo6YXNzZXJ0X25vdF9hcmcoICh2b2lkICgqKSBwcmVkKTAsIDEgKSBcCisgICAgICAgICAgICApIFwKKyAgICAgICAgKSBcCit9XAorLyoqLworI2Vsc2UKKyMgICBkZWZpbmUgQk9PU1RfTVBMX0FTU0VSVF9OT1QocHJlZCkgXAorQk9PU1RfTVBMX0FVWF9BU1NFUlRfQ09OU1RBTlQoIFwKKyAgICAgIHN0ZDo6c2l6ZV90IFwKKyAgICAsIEJPT1NUX1BQX0NBVChtcGxfYXNzZXJ0aW9uX2luX2xpbmVfLEJPT1NUX01QTF9BVVhfUFBfQ09VTlRFUigpKSA9IHNpemVvZiggXAorICAgICAgICAgIG5kbmJvb3N0OjptcGw6OmFzc2VydGlvbl9mYWlsZWQ8ZmFsc2U+KCBcCisgICAgICAgICAgICAgIG5kbmJvb3N0OjptcGw6OmFzc2VydF9ub3RfYXJnKCAodm9pZCAoKikgcHJlZCkwLCAxICkgXAorICAgICAgICAgICAgKSBcCisgICAgICAgICkgXAorICAgKSBcCisvKiovCisjZW5kaWYKKworI2VuZGlmCisKKy8vIEJPT1NUX01QTF9BU1NFUlRfUkVMQVRJT04oeCwgPT18IT18PD18PHw+PXw+LCB5KQorCisjaWYgZGVmaW5lZChCT09TVF9NUExfQ0ZHX0FTU0VSVF9VU0VfUkVMQVRJT05fTkFNRVMpCisKKyMgICBpZiAhZGVmaW5lZChCT09TVF9NUExfQ0ZHX0FTU0VSVF9CUk9LRU5fUE9JTlRFUl9UT19QT0lOVEVSX1RPX01FTUJFUikKKy8vIGFndXJ0LCA5L25vdi8wNjogJ2VudW0nIGJlbG93IGlzIGEgd29ya2Fyb3VuZCBmb3IgZ2NjIDQuMC40LzQuMS4xIGJ1Z3MgIzI5NTIyIGFuZCAjMjk1MTgKKyMgICBkZWZpbmUgQk9PU1RfTVBMX0FTU0VSVF9SRUxBVElPTl9JTVBMKGNvdW50ZXIsIHgsIHJlbCwgeSkgICAgICBcCitlbnVtIHsgQk9PU1RfUFBfQ0FUKG1wbF9hc3NlcnRfcmVsX3ZhbHVlLGNvdW50ZXIpID0gKHggcmVsIHkpIH07IFwKK0JPT1NUX01QTF9BVVhfQVNTRVJUX0NPTlNUQU5UKCBcCisgICAgICBzdGQ6OnNpemVfdCBcCisgICAgLCBCT09TVF9QUF9DQVQobXBsX2Fzc2VydGlvbl9pbl9saW5lXyxjb3VudGVyKSA9IHNpemVvZiggXAorICAgICAgICBuZG5ib29zdDo6bXBsOjphc3NlcnRpb25fZmFpbGVkPEJPT1NUX1BQX0NBVChtcGxfYXNzZXJ0X3JlbF92YWx1ZSxjb3VudGVyKT4oIFwKKyAgICAgICAgICAgIChuZG5ib29zdDo6bXBsOjpmYWlsZWQgKioqKioqKioqKioqICggbmRuYm9vc3Q6Om1wbDo6YXNzZXJ0X3JlbGF0aW9uPCBcCisgICAgICAgICAgICAgICAgICBuZG5ib29zdDo6bXBsOjphc3NlcnRfOjpyZWxhdGlvbnMoIHNpemVvZiggXAorICAgICAgICAgICAgICAgICAgICAgIG5kbmJvb3N0OjptcGw6OmFzc2VydF86OmFyZyByZWwgbmRuYm9vc3Q6Om1wbDo6YXNzZXJ0Xzo6YXJnIFwKKyAgICAgICAgICAgICAgICAgICAgKSApIFwKKyAgICAgICAgICAgICAgICAsIHggXAorICAgICAgICAgICAgICAgICwgeSBcCisgICAgICAgICAgICAgICAgPjo6KioqKioqKioqKioqKSkgMCApIFwKKyAgICAgICAgKSBcCisgICAgKSBcCisvKiovCisjICAgZWxzZQorIyAgIGRlZmluZSBCT09TVF9NUExfQVNTRVJUX1JFTEFUSU9OX0lNUEwoY291bnRlciwgeCwgcmVsLCB5KSAgICBcCitCT09TVF9NUExfQVVYX0FTU0VSVF9DT05TVEFOVCggXAorICAgICAgc3RkOjpzaXplX3QgXAorICAgICwgQk9PU1RfUFBfQ0FUKG1wbF9hc3NlcnRfcmVsLGNvdW50ZXIpID0gc2l6ZW9mKCBcCisgICAgICAgICAgbmRuYm9vc3Q6Om1wbDo6YXNzZXJ0Xzo6YXJnIHJlbCBuZG5ib29zdDo6bXBsOjphc3NlcnRfOjphcmcgXAorICAgICAgICApIFwKKyAgICApOyBcCitCT09TVF9NUExfQVVYX0FTU0VSVF9DT05TVEFOVCggYm9vbCwgQk9PU1RfUFBfQ0FUKG1wbF9hc3NlcnRfcmVsX3ZhbHVlLGNvdW50ZXIpID0gKHggcmVsIHkpICk7IFwKK0JPT1NUX01QTF9BVVhfQVNTRVJUX0NPTlNUQU5UKCBcCisgICAgICBzdGQ6OnNpemVfdCBcCisgICAgLCBCT09TVF9QUF9DQVQobXBsX2Fzc2VydGlvbl9pbl9saW5lXyxjb3VudGVyKSA9IHNpemVvZiggXAorICAgICAgICBuZG5ib29zdDo6bXBsOjphc3NlcnRpb25fZmFpbGVkPEJPT1NUX1BQX0NBVChtcGxfYXNzZXJ0X3JlbF92YWx1ZSxjb3VudGVyKT4oIFwKKyAgICAgICAgICAgICAgbmRuYm9vc3Q6Om1wbDo6YXNzZXJ0X3JlbF9hcmcoIG5kbmJvb3N0OjptcGw6OmFzc2VydF9yZWxhdGlvbjwgXAorICAgICAgICAgICAgICAgICAgbmRuYm9vc3Q6Om1wbDo6YXNzZXJ0Xzo6cmVsYXRpb25zKEJPT1NUX1BQX0NBVChtcGxfYXNzZXJ0X3JlbCxjb3VudGVyKSkgXAorICAgICAgICAgICAgICAgICwgeCBcCisgICAgICAgICAgICAgICAgLCB5IFwKKyAgICAgICAgICAgICAgICA+KCkgKSBcCisgICAgICAgICAgICApIFwKKyAgICAgICAgKSBcCisgICAgKSBcCisvKiovCisjICAgZW5kaWYKKworIyAgIGRlZmluZSBCT09TVF9NUExfQVNTRVJUX1JFTEFUSU9OKHgsIHJlbCwgeSkgXAorQk9PU1RfTVBMX0FTU0VSVF9SRUxBVElPTl9JTVBMKEJPT1NUX01QTF9BVVhfUFBfQ09VTlRFUigpLCB4LCByZWwsIHkpIFwKKy8qKi8KKworI2Vsc2UgLy8gIUJPT1NUX01QTF9DRkdfQVNTRVJUX1VTRV9SRUxBVElPTl9OQU1FUworCisjICAgaWYgZGVmaW5lZChCT09TVF9NUExfQ0ZHX0FTU0VSVF9CUk9LRU5fUE9JTlRFUl9UT19QT0lOVEVSX1RPX01FTUJFUikKKyMgICBkZWZpbmUgQk9PU1RfTVBMX0FTU0VSVF9SRUxBVElPTih4LCByZWwsIHkpIFwKK0JPT1NUX01QTF9BVVhfQVNTRVJUX0NPTlNUQU5UKCBcCisgICAgICBzdGQ6OnNpemVfdCBcCisgICAgLCBCT09TVF9QUF9DQVQobXBsX2Fzc2VydGlvbl9pbl9saW5lXyxCT09TVF9NUExfQVVYX1BQX0NPVU5URVIoKSkgPSBzaXplb2YoIFwKKyAgICAgICAgbmRuYm9vc3Q6Om1wbDo6YXNzZXJ0aW9uX2ZhaWxlZDwoeCByZWwgeSk+KCBuZG5ib29zdDo6bXBsOjphc3NlcnRfcmVsX2FyZyggXAorICAgICAgICAgICAgICBuZG5ib29zdDo6bXBsOjpCT09TVF9NUExfQVVYX0FTU0VSVF9SRUxBVElPTih4LHksKCZuZG5ib29zdDo6bXBsOjpvcGVyYXRvciByZWwpKSgpIFwKKyAgICAgICAgICAgICkgKSBcCisgICAgICAgICkgXAorICAgICkgXAorLyoqLworIyAgIGVsc2UKKyMgICBkZWZpbmUgQk9PU1RfTVBMX0FTU0VSVF9SRUxBVElPTih4LCByZWwsIHkpIFwKK0JPT1NUX01QTF9BVVhfQVNTRVJUX0NPTlNUQU5UKCBcCisgICAgICBzdGQ6OnNpemVfdCBcCisgICAgLCBCT09TVF9QUF9DQVQobXBsX2Fzc2VydGlvbl9pbl9saW5lXyxCT09TVF9NUExfQVVYX1BQX0NPVU5URVIoKSkgPSBzaXplb2YoIFwKKyAgICAgICAgbmRuYm9vc3Q6Om1wbDo6YXNzZXJ0aW9uX2ZhaWxlZDwoeCByZWwgeSk+KCAobmRuYm9vc3Q6Om1wbDo6ZmFpbGVkICoqKioqKioqKioqKiAoIFwKKyAgICAgICAgICAgIG5kbmJvb3N0OjptcGw6OkJPT1NUX01QTF9BVVhfQVNTRVJUX1JFTEFUSU9OKHgseSwoJm5kbmJvb3N0OjptcGw6Om9wZXJhdG9yIHJlbCkpOjoqKioqKioqKioqKiopKTAgKSBcCisgICAgICAgICkgXAorICAgICkgXAorLyoqLworIyAgIGVuZGlmCisKKyNlbmRpZgorCisKKy8vIEJPT1NUX01QTF9BU1NFUlRfTVNHKCAocHJlZDx4LC4uLj46OnZhbHVlKSwgVVNFUl9QUk9WSURFRF9NRVNTQUdFLCAodHlwZXM8eCwuLi4+KSApIAorCisjaWYgQk9PU1RfV09SS0FST1VORChfX01XRVJLU19fLCBCT09TVF9URVNURURfQVQoMHgzMjAyKSkKKyMgICBkZWZpbmUgQk9PU1RfTVBMX0FTU0VSVF9NU0dfSU1QTCggY291bnRlciwgYywgbXNnLCB0eXBlc18gKSBcCitzdHJ1Y3QgbXNnOyBcCit0eXBlZGVmIHN0cnVjdCBCT09TVF9QUF9DQVQobXNnLGNvdW50ZXIpIDogbmRuYm9vc3Q6Om1wbDo6YXNzZXJ0XyBcCit7IFwKKyAgICB1c2luZyBuZG5ib29zdDo6bXBsOjphc3NlcnRfOjp0eXBlczsgXAorICAgIHN0YXRpYyBuZG5ib29zdDo6bXBsOjpmYWlsZWQgKioqKioqKioqKioqIChtc2c6OioqKioqKioqKioqKiBhc3NlcnRfYXJnKCkpIHR5cGVzXyBcCisgICAgeyByZXR1cm4gMDsgfSBcCit9IEJPT1NUX1BQX0NBVChtcGxfYXNzZXJ0X2FyZyxjb3VudGVyKTsgXAorQk9PU1RfTVBMX0FVWF9BU1NFUlRfQ09OU1RBTlQoIFwKKyAgICAgIHN0ZDo6c2l6ZV90IFwKKyAgICAsIEJPT1NUX1BQX0NBVChtcGxfYXNzZXJ0aW9uX2luX2xpbmVfLGNvdW50ZXIpID0gc2l6ZW9mKCBcCisgICAgICAgIG5kbmJvb3N0OjptcGw6OmFzc2VydGlvbjwoYyk+OjpmYWlsZWQoIEJPT1NUX1BQX0NBVChtcGxfYXNzZXJ0X2FyZyxjb3VudGVyKTo6YXNzZXJ0X2FyZygpICkgXAorICAgICAgICApIFwKKyAgICApIFwKKy8qKi8KKyNlbHNlCisjICAgZGVmaW5lIEJPT1NUX01QTF9BU1NFUlRfTVNHX0lNUEwoIGNvdW50ZXIsIGMsIG1zZywgdHlwZXNfICkgIFwKK3N0cnVjdCBtc2c7IFwKK3R5cGVkZWYgc3RydWN0IEJPT1NUX1BQX0NBVChtc2csY291bnRlcikgOiBuZG5ib29zdDo6bXBsOjphc3NlcnRfIFwKK3sgXAorICAgIHN0YXRpYyBuZG5ib29zdDo6bXBsOjpmYWlsZWQgKioqKioqKioqKioqIChtc2c6OioqKioqKioqKioqKiBhc3NlcnRfYXJnKCkpIHR5cGVzXyBcCisgICAgeyByZXR1cm4gMDsgfSBcCit9IEJPT1NUX1BQX0NBVChtcGxfYXNzZXJ0X2FyZyxjb3VudGVyKTsgXAorQk9PU1RfTVBMX0FVWF9BU1NFUlRfQ09OU1RBTlQoIFwKKyAgICAgIHN0ZDo6c2l6ZV90IFwKKyAgICAsIEJPT1NUX1BQX0NBVChtcGxfYXNzZXJ0aW9uX2luX2xpbmVfLGNvdW50ZXIpID0gc2l6ZW9mKCBcCisgICAgICAgIG5kbmJvb3N0OjptcGw6OmFzc2VydGlvbl9mYWlsZWQ8KGMpPiggQk9PU1RfUFBfQ0FUKG1wbF9hc3NlcnRfYXJnLGNvdW50ZXIpOjphc3NlcnRfYXJnKCkgKSBcCisgICAgICAgICkgXAorICAgICkgXAorLyoqLworI2VuZGlmCisKKyNkZWZpbmUgQk9PU1RfTVBMX0FTU0VSVF9NU0coIGMsIG1zZywgdHlwZXNfICkgXAorQk9PU1RfTVBMX0FTU0VSVF9NU0dfSU1QTCggQk9PU1RfTVBMX0FVWF9QUF9DT1VOVEVSKCksIGMsIG1zZywgdHlwZXNfICkgXAorLyoqLworCisjZW5kaWYgLy8gQk9PU1RfTVBMX0FTU0VSVF9IUFBfSU5DTFVERUQKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdC5ocHAgYi9uZG5ib29zdC9tcGwvYXQuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU4NzVlOWQKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXQuaHBwCkBAIC0wLDAgKzEsNTIgQEAKKworI2lmbmRlZiBCT09TVF9NUExfQVRfSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX01QTF9BVF9IUFBfSU5DTFVERUQKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworLy8gU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL2xpYnMvbXBsIGZvciBkb2N1bWVudGF0aW9uLgorCisvLyAkSWQ6IGF0LmhwcCA0OTI2NyAyMDA4LTEwLTExIDA2OjE5OjAyWiBhZ3VydG92b3kgJAorLy8gJERhdGU6IDIwMDgtMTAtMTAgMjM6MTk6MDIgLTA3MDAgKEZyaSwgMTAgT2N0IDIwMDgpICQKKy8vICRSZXZpc2lvbjogNDkyNjcgJAorCisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F0X2Z3ZC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vYXRfaW1wbC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2xvbmcuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9zZXF1ZW5jZV90YWcuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL25hX3NwZWMuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2xhbWJkYV9zdXBwb3J0LmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9udHRwX2RlY2wuaHBwPgorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKFNlcXVlbmNlKQorICAgICwgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOKQorICAgID4KK3N0cnVjdCBhdAorICAgIDogYXRfaW1wbDwgdHlwZW5hbWUgc2VxdWVuY2VfdGFnPFNlcXVlbmNlPjo6dHlwZSA+CisgICAgICAgIDo6dGVtcGxhdGUgYXBwbHk8IFNlcXVlbmNlLE4gPgoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoMixhdCwoU2VxdWVuY2UsTikpCit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFNlcXVlbmNlCisgICAgLCBCT09TVF9NUExfQVVYX05UVFBfREVDTChsb25nLCBOKQorICAgID4KK3N0cnVjdCBhdF9jCisgICAgOiBhdF9pbXBsPCB0eXBlbmFtZSBzZXF1ZW5jZV90YWc8U2VxdWVuY2U+Ojp0eXBlID4KKyAgICAgICAgOjp0ZW1wbGF0ZSBhcHBseTwgU2VxdWVuY2UsbXBsOjpsb25nXzxOPiA+Cit7Cit9OworCitCT09TVF9NUExfQVVYX05BX1NQRUMoMiwgYXQpCisKK319CisKKyNlbmRpZiAvLyBCT09TVF9NUExfQVRfSFBQX0lOQ0xVREVECmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXRfZndkLmhwcCBiL25kbmJvb3N0L21wbC9hdF9md2QuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQzOTE1NDcKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXRfZndkLmhwcApAQCAtMCwwICsxLDI0IEBACisKKyNpZm5kZWYgQk9PU1RfTVBMX0FUX0ZXRF9IUFBfSU5DTFVERUQKKyNkZWZpbmUgQk9PU1RfTVBMX0FUX0ZXRF9IUFBfSU5DTFVERUQKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworLy8gU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL2xpYnMvbXBsIGZvciBkb2N1bWVudGF0aW9uLgorCisvLyAkSWQ6IGF0X2Z3ZC5ocHAgNDkyNjcgMjAwOC0xMC0xMSAwNjoxOTowMlogYWd1cnRvdm95ICQKKy8vICREYXRlOiAyMDA4LTEwLTEwIDIzOjE5OjAyIC0wNzAwIChGcmksIDEwIE9jdCAyMDA4KSAkCisvLyAkUmV2aXNpb246IDQ5MjY3ICQKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUYWcgPiBzdHJ1Y3QgYXRfaW1wbDsKK3RlbXBsYXRlPCB0eXBlbmFtZSBTZXF1ZW5jZSwgdHlwZW5hbWUgTiA+IHN0cnVjdCBhdDsKKworfX0KKworI2VuZGlmIC8vIEJPT1NUX01QTF9BVF9GV0RfSFBQX0lOQ0xVREVECmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9PMV9zaXplX2ltcGwuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vTzFfc2l6ZV9pbXBsLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yYjJjZjA4Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vTzFfc2l6ZV9pbXBsLmhwcApAQCAtMCwwICsxLDg3IEBACisKKyNpZm5kZWYgQk9PU1RfTVBMX08xX1NJWkVfSU1QTF9IUFBfSU5DTFVERUQKKyNkZWZpbmUgQk9PU1RfTVBMX08xX1NJWkVfSU1QTF9IUFBfSU5DTFVERUQKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworLy8gU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL2xpYnMvbXBsIGZvciBkb2N1bWVudGF0aW9uLgorCisvLyAkSWQ6IE8xX3NpemVfaW1wbC5ocHAgNDkyNjcgMjAwOC0xMC0xMSAwNjoxOTowMlogYWd1cnRvdm95ICQKKy8vICREYXRlOiAyMDA4LTEwLTEwIDIzOjE5OjAyIC0wNzAwIChGcmksIDEwIE9jdCAyMDA4KSAkCisvLyAkUmV2aXNpb246IDQ5MjY3ICQKKworI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9PMV9zaXplX2Z3ZC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2xvbmcuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9pZi5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vaGFzX3NpemUuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2NvbmZpZy9mb3J3YXJkaW5nLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9jb25maWcvc3RhdGljX2NvbnN0YW50LmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9jb25maWcvbXN2Yy5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vY29uZmlnL3dvcmthcm91bmQuaHBwPgorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKworLy8gZGVmYXVsdCBpbXBsZW1lbnRhdGlvbiAtIHJldHVybnMgJ1NlcXVlbmNlOjpzaXplJyBpZiBzZXF1ZW5jZSBoYXMgYSAnc2l6ZScKKy8vIG1lbWJlciwgYW5kIC0xIG90aGVyd2lzZTsgY29ucmV0ZSBzZXF1ZW5jZXMgbWlnaHQgb3ZlcnJpZGUgaXQgYnkgCisvLyBzcGVjaWFsaXppbmcgZWl0aGVyIHRoZSAnTzFfc2l6ZV9pbXBsJyBvciB0aGUgcHJpbWFyeSAnTzFfc2l6ZScgdGVtcGxhdGUKKworIyAgIGlmICFCT09TVF9XT1JLQVJPVU5EKEJPT1NUX01TVkMsIDwgMTMwMCkgXAorICAgICYmICFCT09TVF9XT1JLQVJPVU5EKF9fTVdFUktTX18sIEJPT1NUX1RFU1RFRF9BVCgweDMwMDMpKQorCituYW1lc3BhY2UgYXV4IHsKK3RlbXBsYXRlPCB0eXBlbmFtZSBTZXF1ZW5jZSA+IHN0cnVjdCBPMV9zaXplX2ltcGwKKyAgICA6IFNlcXVlbmNlOjpzaXplCit7Cit9OworfQorCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVGFnID4KK3N0cnVjdCBPMV9zaXplX2ltcGwKK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgU2VxdWVuY2UgPiBzdHJ1Y3QgYXBwbHkKKyNpZiAhZGVmaW5lZChCT09TVF9NUExfQ0ZHX05PX05FU1RFRF9GT1JXQVJESU5HKQorICAgICAgICA6IGlmXzwKKyAgICAgICAgICAgICAgYXV4OjpoYXNfc2l6ZTxTZXF1ZW5jZT4KKyAgICAgICAgICAgICwgYXV4OjpPMV9zaXplX2ltcGw8U2VxdWVuY2U+CisgICAgICAgICAgICAsIGxvbmdfPC0xPgorICAgICAgICAgICAgPjo6dHlwZQorICAgIHsKKyNlbHNlCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGlmXzwKKyAgICAgICAgICAgICAgYXV4OjpoYXNfc2l6ZTxTZXF1ZW5jZT4KKyAgICAgICAgICAgICwgYXV4OjpPMV9zaXplX2ltcGw8U2VxdWVuY2U+CisgICAgICAgICAgICAsIGxvbmdfPC0xPgorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChsb25nLCB2YWx1ZSA9CisgICAgICAgICAgICAgIChpZl88CisgICAgICAgICAgICAgICAgICBhdXg6Omhhc19zaXplPFNlcXVlbmNlPgorICAgICAgICAgICAgICAgICwgYXV4OjpPMV9zaXplX2ltcGw8U2VxdWVuY2U+CisgICAgICAgICAgICAgICAgLCBsb25nXzwtMT4KKyAgICAgICAgICAgICAgICA+Ojp0eXBlOjp2YWx1ZSkKKyAgICAgICAgICAgICk7CisjZW5kaWYKKyAgICB9OworfTsKKworIyAgIGVsc2UgLy8gQk9PU1RfTVNWQworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVGFnID4KK3N0cnVjdCBPMV9zaXplX2ltcGwKK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgU2VxdWVuY2UgPiBzdHJ1Y3QgYXBwbHkKKyAgICAgICAgOiBsb25nXzwtMT4KKyAgICAgICAgeworICAgICAgICB9OworfTsKKworIyAgIGVuZGlmCisKK319CisKKyNlbmRpZiAvLyBCT09TVF9NUExfTzFfU0laRV9JTVBMX0hQUF9JTkNMVURFRApkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vYWR2YW5jZV9iYWNrd2FyZC5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9hZHZhbmNlX2JhY2t3YXJkLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMjNkZjgxCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vYWR2YW5jZV9iYWNrd2FyZC5ocHAKQEAgLTAsMCArMSwxMjggQEAKKworI2lmICFkZWZpbmVkKEJPT1NUX1BQX0lTX0lURVJBVElORykKKworLy8vLy8gaGVhZGVyIGJvZHkKKworI2lmbmRlZiBCT09TVF9NUExfQVVYNzc4MDc2X0FEVkFOQ0VfQkFDS1dBUkRfSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX01QTF9BVVg3NzgwNzZfQURWQU5DRV9CQUNLV0FSRF9IUFBfSU5DTFVERUQKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworLy8gU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL2xpYnMvbXBsIGZvciBkb2N1bWVudGF0aW9uLgorCisvLyAkSWQ6IGFkdmFuY2VfYmFja3dhcmQuaHBwIDQ5MjY3IDIwMDgtMTAtMTEgMDY6MTk6MDJaIGFndXJ0b3ZveSAkCisvLyAkRGF0ZTogMjAwOC0xMC0xMCAyMzoxOTowMiAtMDcwMCAoRnJpLCAxMCBPY3QgMjAwOCkgJAorLy8gJFJldmlzaW9uOiA0OTI2NyAkCisKKyNpZiAhZGVmaW5lZChCT09TVF9NUExfUFJFUFJPQ0VTU0lOR19NT0RFKQorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC9wcmlvci5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2FwcGx5X3dyYXAuaHBwPgorI2VuZGlmCisKKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9jb25maWcvdXNlX3ByZXByb2Nlc3NlZC5ocHA+CisKKyNpZiAgICAhZGVmaW5lZChCT09TVF9NUExfQ0ZHX05PX1BSRVBST0NFU1NFRF9IRUFERVJTKSBcCisgICAgJiYgIWRlZmluZWQoQk9PU1RfTVBMX1BSRVBST0NFU1NJTkdfTU9ERSkKKworIyAgIGRlZmluZSBCT09TVF9NUExfUFJFUFJPQ0VTU0VEX0hFQURFUiBhZHZhbmNlX2JhY2t3YXJkLmhwcAorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2luY2x1ZGVfcHJlcHJvY2Vzc2VkLmhwcD4KKworI2Vsc2UKKworIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC9saW1pdHMvdW5yb2xsaW5nLmhwcD4KKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9udHRwX2RlY2wuaHBwPgorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2NvbmZpZy9ldGkuaHBwPgorCisjICAgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL2l0ZXJhdGUuaHBwPgorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9jYXQuaHBwPgorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9pbmMuaHBwPgorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsgbmFtZXNwYWNlIGF1eCB7CisKKy8vIGZvcndhcmQgZGVjbGFyYXRpb24KK3RlbXBsYXRlPCBCT09TVF9NUExfQVVYX05UVFBfREVDTChsb25nLCBOKSA+IHN0cnVjdCBhZHZhbmNlX2JhY2t3YXJkOworCisjICAgZGVmaW5lIEJPT1NUX1BQX0lURVJBVElPTl9QQVJBTVNfMSBcCisgICAgKDMsKDAsIEJPT1NUX01QTF9MSU1JVF9VTlJPTExJTkcsIDxuZG5ib29zdC9tcGwvYXV4Xy9hZHZhbmNlX2JhY2t3YXJkLmhwcD4pKQorIyAgIGluY2x1ZGUgQk9PU1RfUFBfSVRFUkFURSgpCisKKy8vIGltcGxlbWVudGF0aW9uIGZvciBOIHRoYXQgZXhjZWVkcyBCT09TVF9NUExfTElNSVRfVU5ST0xMSU5HCit0ZW1wbGF0ZTwgQk9PU1RfTVBMX0FVWF9OVFRQX0RFQ0wobG9uZywgTikgPgorc3RydWN0IGFkdmFuY2VfYmFja3dhcmQKK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgSXRlcmF0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHlfd3JhcDE8CisgICAgICAgICAgICAgIGFkdmFuY2VfYmFja3dhcmQ8Qk9PU1RfTVBMX0xJTUlUX1VOUk9MTElORz4KKyAgICAgICAgICAgICwgSXRlcmF0b3IKKyAgICAgICAgICAgID46OnR5cGUgY2h1bmtfcmVzdWx0XzsKKworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5X3dyYXAxPAorICAgICAgICAgICAgICBhZHZhbmNlX2JhY2t3YXJkPCgKKyAgICAgICAgICAgICAgICAoTiAtIEJPT1NUX01QTF9MSU1JVF9VTlJPTExJTkcpIDwgMAorICAgICAgICAgICAgICAgICAgICA/IDAKKyAgICAgICAgICAgICAgICAgICAgOiBOIC0gQk9PU1RfTVBMX0xJTUlUX1VOUk9MTElORworICAgICAgICAgICAgICAgICAgICApPgorICAgICAgICAgICAgLCBjaHVua19yZXN1bHRfCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisgICAgfTsKK307CisKK319fQorCisjZW5kaWYgLy8gQk9PU1RfTVBMX0NGR19OT19QUkVQUk9DRVNTRURfSEVBREVSUworI2VuZGlmIC8vIEJPT1NUX01QTF9BVVg3NzgwNzZfQURWQU5DRV9CQUNLV0FSRF9IUFBfSU5DTFVERUQKKworLy8vLy8gaXRlcmF0aW9uLCBkZXB0aCA9PSAxCisKKy8vIEZvciBnY2MgNC40IGNvbXBhdGFiaWxpdHksIHdlIG11c3QgaW5jbHVkZSB0aGUKKy8vIEJPT1NUX1BQX0lURVJBVElPTl9ERVBUSCB0ZXN0IGluc2lkZSBhbiAjZWxzZSBjbGF1c2UuCisjZWxzZSAvLyBCT09TVF9QUF9JU19JVEVSQVRJTkcKKyNpZiBCT09TVF9QUF9JVEVSQVRJT05fREVQVEgoKSA9PSAxCisjZGVmaW5lIGlfIEJPT1NUX1BQX0ZSQU1FX0lURVJBVElPTigxKQorCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgYWR2YW5jZV9iYWNrd2FyZDwgQk9PU1RfUFBfRlJBTUVfSVRFUkFUSU9OKDEpID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgSXRlcmF0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgSXRlcmF0b3IgaXRlcjA7CisKKyNpZiBpXyA+IDAKKyMgICBkZWZpbmUgQk9PU1RfUFBfSVRFUkFUSU9OX1BBUkFNU18yIFwKKyAgICAoMywoMSwgQk9PU1RfUFBfRlJBTUVfSVRFUkFUSU9OKDEpLCA8bmRuYm9vc3QvbXBsL2F1eF8vYWR2YW5jZV9iYWNrd2FyZC5ocHA+KSkKKyMgICBpbmNsdWRlIEJPT1NUX1BQX0lURVJBVEUoKQorI2VuZGlmCisKKyAgICAgICAgdHlwZWRlZiBCT09TVF9QUF9DQVQoaXRlcixCT09TVF9QUF9GUkFNRV9JVEVSQVRJT04oMSkpIHR5cGU7CisgICAgfTsKKworI2lmIGRlZmluZWQoQk9PU1RfTVBMX0NGR19NU1ZDXzYwX0VUSV9CVUcpCisgICAgLy8vIEVUSSB3b3JrYXJvdW5kCisgICAgdGVtcGxhdGU8PiBzdHJ1Y3QgYXBwbHk8aW50PgorICAgIHsKKyAgICAgICAgdHlwZWRlZiBpbnQgdHlwZTsKKyAgICB9OworI2VuZGlmCit9OworCisjdW5kZWYgaV8KKworLy8vLy8gaXRlcmF0aW9uLCBkZXB0aCA9PSAyCisKKyNlbGlmIEJPT1NUX1BQX0lURVJBVElPTl9ERVBUSCgpID09IDIKKworIyAgIGRlZmluZSBBVVg3NzgwNzZfSVRFUl8wIEJPT1NUX1BQX0NBVChpdGVyLEJPT1NUX1BQX0RFQyhCT09TVF9QUF9GUkFNRV9JVEVSQVRJT04oMikpKQorIyAgIGRlZmluZSBBVVg3NzgwNzZfSVRFUl8xIEJPT1NUX1BQX0NBVChpdGVyLEJPT1NUX1BQX0ZSQU1FX0lURVJBVElPTigyKSkKKworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHByaW9yPEFVWDc3ODA3Nl9JVEVSXzA+Ojp0eXBlIEFVWDc3ODA3Nl9JVEVSXzE7CisgICAgICAgIAorIyAgIHVuZGVmIEFVWDc3ODA3Nl9JVEVSXzEKKyMgICB1bmRlZiBBVVg3NzgwNzZfSVRFUl8wCisKKyNlbmRpZiAvLyBCT09TVF9QUF9JVEVSQVRJT05fREVQVEgoKQorI2VuZGlmIC8vIEJPT1NUX1BQX0lTX0lURVJBVElORwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vYWR2YW5jZV9mb3J3YXJkLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL2FkdmFuY2VfZm9yd2FyZC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTU2MWMyNgotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL2FkdmFuY2VfZm9yd2FyZC5ocHAKQEAgLTAsMCArMSwxMjcgQEAKKworI2lmICFkZWZpbmVkKEJPT1NUX1BQX0lTX0lURVJBVElORykKKworLy8vLy8gaGVhZGVyIGJvZHkKKworI2lmbmRlZiBCT09TVF9NUExfQVVYX0FEVkFOQ0VfRk9SV0FSRF9IUFBfSU5DTFVERUQKKyNkZWZpbmUgQk9PU1RfTVBMX0FVWF9BRFZBTkNFX0ZPUldBUkRfSFBQX0lOQ0xVREVECisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKy8vIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL21wbCBmb3IgZG9jdW1lbnRhdGlvbi4KKworLy8gJElkOiBhZHZhbmNlX2ZvcndhcmQuaHBwIDQ5MjY3IDIwMDgtMTAtMTEgMDY6MTk6MDJaIGFndXJ0b3ZveSAkCisvLyAkRGF0ZTogMjAwOC0xMC0xMCAyMzoxOTowMiAtMDcwMCAoRnJpLCAxMCBPY3QgMjAwOCkgJAorLy8gJFJldmlzaW9uOiA0OTI2NyAkCisKKyNpZiAhZGVmaW5lZChCT09TVF9NUExfUFJFUFJPQ0VTU0lOR19NT0RFKQorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC9uZXh0LmhwcD4KKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXBwbHlfd3JhcC5ocHA+CisjZW5kaWYKKworI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2NvbmZpZy91c2VfcHJlcHJvY2Vzc2VkLmhwcD4KKworI2lmICAgICFkZWZpbmVkKEJPT1NUX01QTF9DRkdfTk9fUFJFUFJPQ0VTU0VEX0hFQURFUlMpIFwKKyAgICAmJiAhZGVmaW5lZChCT09TVF9NUExfUFJFUFJPQ0VTU0lOR19NT0RFKQorCisjICAgZGVmaW5lIEJPT1NUX01QTF9QUkVQUk9DRVNTRURfSEVBREVSIGFkdmFuY2VfZm9yd2FyZC5ocHAKKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9pbmNsdWRlX3ByZXByb2Nlc3NlZC5ocHA+CisKKyNlbHNlCisKKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvbGltaXRzL3Vucm9sbGluZy5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vbnR0cF9kZWNsLmhwcD4KKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9jb25maWcvZXRpLmhwcD4KKworIyAgIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9pdGVyYXRlLmhwcD4KKyMgICBpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3IvY2F0LmhwcD4KKyMgICBpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3IvaW5jLmhwcD4KKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7IG5hbWVzcGFjZSBhdXggeworCisvLyBmb3J3YXJkIGRlY2xhcmF0aW9uCit0ZW1wbGF0ZTwgQk9PU1RfTVBMX0FVWF9OVFRQX0RFQ0wobG9uZywgTikgPiBzdHJ1Y3QgYWR2YW5jZV9mb3J3YXJkOworCisjICAgZGVmaW5lIEJPT1NUX1BQX0lURVJBVElPTl9QQVJBTVNfMSBcCisgICAgKDMsKDAsIEJPT1NUX01QTF9MSU1JVF9VTlJPTExJTkcsIDxuZG5ib29zdC9tcGwvYXV4Xy9hZHZhbmNlX2ZvcndhcmQuaHBwPikpCisjICAgaW5jbHVkZSBCT09TVF9QUF9JVEVSQVRFKCkKKworLy8gaW1wbGVtZW50YXRpb24gZm9yIE4gdGhhdCBleGNlZWRzIEJPT1NUX01QTF9MSU1JVF9VTlJPTExJTkcKK3RlbXBsYXRlPCBCT09TVF9NUExfQVVYX05UVFBfREVDTChsb25nLCBOKSA+IAorc3RydWN0IGFkdmFuY2VfZm9yd2FyZAoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBJdGVyYXRvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseV93cmFwMTwKKyAgICAgICAgICAgICAgYWR2YW5jZV9mb3J3YXJkPEJPT1NUX01QTF9MSU1JVF9VTlJPTExJTkc+CisgICAgICAgICAgICAsIEl0ZXJhdG9yCisgICAgICAgICAgICA+Ojp0eXBlIGNodW5rX3Jlc3VsdF87CisKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseV93cmFwMTwKKyAgICAgICAgICAgICAgYWR2YW5jZV9mb3J3YXJkPCgKKyAgICAgICAgICAgICAgICAoTiAtIEJPT1NUX01QTF9MSU1JVF9VTlJPTExJTkcpIDwgMAorICAgICAgICAgICAgICAgICAgICA/IDAKKyAgICAgICAgICAgICAgICAgICAgOiBOIC0gQk9PU1RfTVBMX0xJTUlUX1VOUk9MTElORworICAgICAgICAgICAgICAgICAgICApPgorICAgICAgICAgICAgLCBjaHVua19yZXN1bHRfCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisgICAgfTsKK307CisKK319fQorCisjZW5kaWYgLy8gQk9PU1RfTVBMX0NGR19OT19QUkVQUk9DRVNTRURfSEVBREVSUworI2VuZGlmIC8vIEJPT1NUX01QTF9BVVhfQURWQU5DRV9GT1JXQVJEX0hQUF9JTkNMVURFRAorCisvLy8vLyBpdGVyYXRpb24sIGRlcHRoID09IDEKKworLy8gRm9yIGdjYyA0LjQgY29tcGF0YWJpbGl0eSwgd2UgbXVzdCBpbmNsdWRlIHRoZQorLy8gQk9PU1RfUFBfSVRFUkFUSU9OX0RFUFRIIHRlc3QgaW5zaWRlIGFuICNlbHNlIGNsYXVzZS4KKyNlbHNlIC8vIEJPT1NUX1BQX0lTX0lURVJBVElORworI2lmIEJPT1NUX1BQX0lURVJBVElPTl9ERVBUSCgpID09IDEKKyNkZWZpbmUgaV8gQk9PU1RfUFBfRlJBTUVfSVRFUkFUSU9OKDEpCisKK3RlbXBsYXRlPD4KK3N0cnVjdCBhZHZhbmNlX2ZvcndhcmQ8IEJPT1NUX1BQX0ZSQU1FX0lURVJBVElPTigxKSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIEl0ZXJhdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIEl0ZXJhdG9yIGl0ZXIwOworCisjaWYgaV8gPiAwCisjICAgZGVmaW5lIEJPT1NUX1BQX0lURVJBVElPTl9QQVJBTVNfMiBcCisgICAgKDMsKDEsIGlfLCA8bmRuYm9vc3QvbXBsL2F1eF8vYWR2YW5jZV9mb3J3YXJkLmhwcD4pKQorIyAgIGluY2x1ZGUgQk9PU1RfUFBfSVRFUkFURSgpCisjZW5kaWYKKyAgICAgICAgdHlwZWRlZiBCT09TVF9QUF9DQVQoaXRlcixpXykgdHlwZTsKKyAgICB9OworCisjaWYgZGVmaW5lZChCT09TVF9NUExfQ0ZHX01TVkNfNjBfRVRJX0JVRykKKyAgICAvLy8gRVRJIHdvcmthcm91bmQKKyAgICB0ZW1wbGF0ZTw+IHN0cnVjdCBhcHBseTxpbnQ+CisgICAgeworICAgICAgICB0eXBlZGVmIGludCB0eXBlOworICAgIH07CisjZW5kaWYKK307CisKKyN1bmRlZiBpXworCisvLy8vLyBpdGVyYXRpb24sIGRlcHRoID09IDIKKworI2VsaWYgQk9PU1RfUFBfSVRFUkFUSU9OX0RFUFRIKCkgPT0gMgorCisjICAgZGVmaW5lIEFVWDc3ODA3Nl9JVEVSXzAgQk9PU1RfUFBfQ0FUKGl0ZXIsQk9PU1RfUFBfREVDKEJPT1NUX1BQX0ZSQU1FX0lURVJBVElPTigyKSkpCisjICAgZGVmaW5lIEFVWDc3ODA3Nl9JVEVSXzEgQk9PU1RfUFBfQ0FUKGl0ZXIsQk9PU1RfUFBfRlJBTUVfSVRFUkFUSU9OKDIpKQorCisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbmV4dDxBVVg3NzgwNzZfSVRFUl8wPjo6dHlwZSBBVVg3NzgwNzZfSVRFUl8xOworICAgICAgICAKKyMgICB1bmRlZiBBVVg3NzgwNzZfSVRFUl8xCisjICAgdW5kZWYgQVVYNzc4MDc2X0lURVJfMAorCisjZW5kaWYgLy8gQk9PU1RfUFBfSVRFUkFUSU9OX0RFUFRIKCkKKyNlbmRpZiAvLyBCT09TVF9QUF9JU19JVEVSQVRJTkcKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL2FyZ190eXBlZGVmLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL2FyZ190eXBlZGVmLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43OTc4NDJlCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vYXJnX3R5cGVkZWYuaHBwCkBAIC0wLDAgKzEsMzEgQEAKKworI2lmbmRlZiBCT09TVF9NUExfQVVYX0FSR19UWVBFREVGX0hQUF9JTkNMVURFRAorI2RlZmluZSBCT09TVF9NUExfQVVYX0FSR19UWVBFREVGX0hQUF9JTkNMVURFRAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAxLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisvLyBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvbGlicy9tcGwgZm9yIGRvY3VtZW50YXRpb24uCisKKy8vICRJZDogYXJnX3R5cGVkZWYuaHBwIDQ5MjY3IDIwMDgtMTAtMTEgMDY6MTk6MDJaIGFndXJ0b3ZveSAkCisvLyAkRGF0ZTogMjAwOC0xMC0xMCAyMzoxOTowMiAtMDcwMCAoRnJpLCAxMCBPY3QgMjAwOCkgJAorLy8gJFJldmlzaW9uOiA0OTI2NyAkCisKKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9jb25maWcvbGFtYmRhLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9jb25maWcvd29ya2Fyb3VuZC5ocHA+CisKKyNpZiBkZWZpbmVkKEJPT1NUX01QTF9DRkdfTk9fRlVMTF9MQU1CREFfU1VQUE9SVCkgXAorICAgIHx8IEJPT1NUX1dPUktBUk9VTkQoX19ETUNfXywgQk9PU1RfVEVTVEVEX0FUKDB4ODQwKSkKKyAgICAKKyMgICBkZWZpbmUgQk9PU1RfTVBMX0FVWF9BUkdfVFlQRURFRihULCBuYW1lKSB0eXBlZGVmIFQgbmFtZTsKKworI2Vsc2UKKworIyAgIGRlZmluZSBCT09TVF9NUExfQVVYX0FSR19UWVBFREVGKFQsIG5hbWUpIC8qKi8KKworI2VuZGlmCisKKyNlbmRpZiAvLyBCT09TVF9NUExfQVVYX0FSR19UWVBFREVGX0hQUF9JTkNMVURFRApkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vYXJpdGhtZXRpY19vcC5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9hcml0aG1ldGljX29wLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41OGYyNTY4Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vYXJpdGhtZXRpY19vcC5ocHAKQEAgLTAsMCArMSw5MiBAQAorCisvLyBOTyBJTkNMVURFIEdVQVJEUywgVEhFIEhFQURFUiBJUyBJTlRFTkRFRCBGT1IgTVVMVElQTEUgSU5DTFVTSU9OCisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKy8vIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL21wbCBmb3IgZG9jdW1lbnRhdGlvbi4KKworLy8gJElkOiBhcml0aG1ldGljX29wLmhwcCA0OTI2NyAyMDA4LTEwLTExIDA2OjE5OjAyWiBhZ3VydG92b3kgJAorLy8gJERhdGU6IDIwMDgtMTAtMTAgMjM6MTk6MDIgLTA3MDAgKEZyaSwgMTAgT2N0IDIwMDgpICQKKy8vICRSZXZpc2lvbjogNDkyNjcgJAorCisjaWYgIWRlZmluZWQoQk9PU1RfTVBMX1BSRVBST0NFU1NJTkdfTU9ERSkKKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvaW50ZWdyYWxfYy5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vbGFyZ2VzdF9pbnQuaHBwPgorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL3ZhbHVlX3drbmQuaHBwPgorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChBVVg3NzgwNzZfT1BfUFJFRklYKQorIyAgIGRlZmluZSBBVVg3NzgwNzZfT1BfUFJFRklYIEFVWDc3ODA3Nl9PUF9OQU1FCisjZW5kaWYKKworI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL251bWVyaWNfb3AuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2NvbmZpZy9zdGF0aWNfY29uc3RhbnQuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2NvbmZpZy91c2VfcHJlcHJvY2Vzc2VkLmhwcD4KKworI2lmICFkZWZpbmVkKEJPT1NUX01QTF9DRkdfTk9fUFJFUFJPQ0VTU0VEX0hFQURFUlMpIFwKKyAgICAmJiAhZGVmaW5lZChCT09TVF9NUExfUFJFUFJPQ0VTU0lOR19NT0RFKQorCisjICAgZGVmaW5lIEJPT1NUX01QTF9QUkVQUk9DRVNTRURfSEVBREVSIEFVWDc3ODA3Nl9PUF9QUkVGSVguaHBwCisjICAgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vaW5jbHVkZV9wcmVwcm9jZXNzZWQuaHBwPgorCisjZWxzZQorCisjICAgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vY29uZmlnL3dvcmthcm91bmQuaHBwPgorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9jYXQuaHBwPgorCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCisjaWYgZGVmaW5lZChCT09TVF9NUExfQ0ZHX05PX05FU1RFRF9WQUxVRV9BUklUSE1FVElDKQorbmFtZXNwYWNlIGF1eCB7Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgVCwgVCBuMSwgVCBuMiA+CitzdHJ1Y3QgQk9PU1RfUFBfQ0FUKEFVWDc3ODA3Nl9PUF9QUkVGSVgsX3drbmQpCit7CisgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKFQsIHZhbHVlID0gKG4xIEFVWDc3ODA3Nl9PUF9UT0tFTiBuMikpOworICAgIHR5cGVkZWYgaW50ZWdyYWxfYzxULHZhbHVlPiB0eXBlOworfTsKK30KKyNlbmRpZgorCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgQVVYNzc4MDc2X09QX0lNUExfTkFNRTxpbnRlZ3JhbF9jX3RhZyxpbnRlZ3JhbF9jX3RhZz4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgTjEsIHR5cGVuYW1lIE4yID4gc3RydWN0IGFwcGx5CisjaWYgIWRlZmluZWQoQk9PU1RfTVBMX0NGR19OT19ORVNURURfVkFMVUVfQVJJVEhNRVRJQykKKyAgICAgICAgOiBpbnRlZ3JhbF9jPAorICAgICAgICAgICAgICB0eXBlbmFtZSBhdXg6Omxhcmdlc3RfaW50PAorICAgICAgICAgICAgICAgICAgdHlwZW5hbWUgTjE6OnZhbHVlX3R5cGUKKyAgICAgICAgICAgICAgICAsIHR5cGVuYW1lIE4yOjp2YWx1ZV90eXBlCisgICAgICAgICAgICAgICAgPjo6dHlwZQorICAgICAgICAgICAgLCAoIEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChOMSk6OnZhbHVlCisgICAgICAgICAgICAgICAgICBBVVg3NzgwNzZfT1BfVE9LRU4gQk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4yKTo6dmFsdWUKKyAgICAgICAgICAgICAgICApCisgICAgICAgICAgICA+CisjZWxzZQorICAgICAgICA6IGF1eDo6Qk9PU1RfUFBfQ0FUKEFVWDc3ODA3Nl9PUF9QUkVGSVgsX3drbmQpPAorICAgICAgICAgICAgICB0eXBlbmFtZSBhdXg6Omxhcmdlc3RfaW50PAorICAgICAgICAgICAgICAgICAgdHlwZW5hbWUgTjE6OnZhbHVlX3R5cGUKKyAgICAgICAgICAgICAgICAsIHR5cGVuYW1lIE4yOjp2YWx1ZV90eXBlCisgICAgICAgICAgICAgICAgPjo6dHlwZQorICAgICAgICAgICAgLCBOMTo6dmFsdWUKKyAgICAgICAgICAgICwgTjI6OnZhbHVlCisgICAgICAgICAgICA+Ojp0eXBlCisjZW5kaWYKKyAgICB7CisgICAgfTsKK307CisKK319CisKKyNlbmRpZiAvLyBCT09TVF9NUExfQ0ZHX05PX1BSRVBST0NFU1NFRF9IRUFERVJTCisKKyN1bmRlZiBBVVg3NzgwNzZfT1BfVEFHX05BTUUKKyN1bmRlZiBBVVg3NzgwNzZfT1BfSU1QTF9OQU1FCisjdW5kZWYgQVVYNzc4MDc2X09QX0FSSVRZCisjdW5kZWYgQVVYNzc4MDc2X09QX1BSRUZJWAorI3VuZGVmIEFVWDc3ODA3Nl9PUF9OQU1FCisjdW5kZWYgQVVYNzc4MDc2X09QX1RPS0VOCmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9hcml0eV9zcGVjLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL2FyaXR5X3NwZWMuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI5YzEwYmEKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9hcml0eV9zcGVjLmhwcApAQCAtMCwwICsxLDY3IEBACisKKyNpZm5kZWYgQk9PU1RfTVBMX0FVWF9BUklUWV9TUEVDX0hQUF9JTkNMVURFRAorI2RlZmluZSBCT09TVF9NUExfQVVYX0FSSVRZX1NQRUNfSFBQX0lOQ0xVREVECisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDEtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKy8vIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL21wbCBmb3IgZG9jdW1lbnRhdGlvbi4KKworLy8gJElkOiBhcml0eV9zcGVjLmhwcCA0OTI2NyAyMDA4LTEwLTExIDA2OjE5OjAyWiBhZ3VydG92b3kgJAorLy8gJERhdGU6IDIwMDgtMTAtMTAgMjM6MTk6MDIgLTA3MDAgKEZyaSwgMTAgT2N0IDIwMDgpICQKKy8vICRSZXZpc2lvbjogNDkyNjcgJAorCisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2ludC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2xpbWl0cy9hcml0eS5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vY29uZmlnL2R0cC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc29yL3BhcmFtcy5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vYXJpdHkuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL3RlbXBsYXRlX2FyaXR5X2Z3ZC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vY29uZmlnL3R0cC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vY29uZmlnL2xhbWJkYS5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vY29uZmlnL3N0YXRpY19jb25zdGFudC5ocHA+CisKKyNpZiBkZWZpbmVkKEJPT1NUX01QTF9DRkdfQlJPS0VOX0RFRkFVTFRfUEFSQU1FVEVSU19JTl9ORVNURURfVEVNUExBVEVTKQorIyAgIGRlZmluZSBCT09TVF9NUExfQVVYX05PTlRZUEVfQVJJVFlfU1BFQyhpLHR5cGUsbmFtZSkgXAorbmFtZXNwYWNlIGF1eCB7IFwKK3RlbXBsYXRlPCBCT09TVF9NUExfQVVYX05UVFBfREVDTChpbnQsIE4pLCBCT09TVF9NUExfUFBfUEFSQU1TKGksdHlwZSBUKSA+IFwKK3N0cnVjdCBhcml0eTwgXAorICAgICAgbmFtZTwgQk9PU1RfTVBMX1BQX1BBUkFNUyhpLFQpID4gXAorICAgICwgTiBcCisgICAgPiBcCit7IFwKKyAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50IFwKKyAgICAgICAgLCB2YWx1ZSA9IEJPT1NUX01QTF9MSU1JVF9NRVRBRlVOQ1RJT05fQVJJVFkgXAorICAgICAgICApOyBcCit9OyBcCit9IFwKKy8qKi8KKyNlbHNlCisjICAgZGVmaW5lIEJPT1NUX01QTF9BVVhfTk9OVFlQRV9BUklUWV9TUEVDKGksdHlwZSxuYW1lKSAvKiovCisjZW5kaWYKKworIyAgIGRlZmluZSBCT09TVF9NUExfQVVYX0FSSVRZX1NQRUMoaSxuYW1lKSBcCisgICAgQk9PU1RfTVBMX0FVWF9OT05UWVBFX0FSSVRZX1NQRUMoaSx0eXBlbmFtZSxuYW1lKSBcCisvKiovCisKKworI2lmIGRlZmluZWQoQk9PU1RfTVBMX0NGR19FWFRFTkRFRF9URU1QTEFURV9QQVJBTUVURVJTX01BVENISU5HKSBcCisgICAgJiYgIWRlZmluZWQoQk9PU1RfTVBMX0NGR19OT19GVUxMX0xBTUJEQV9TVVBQT1JUKQorIyAgIGRlZmluZSBCT09TVF9NUExfQVVYX1RFTVBMQVRFX0FSSVRZX1NQRUMoaSwgbmFtZSkgXAorbmFtZXNwYWNlIGF1eCB7IFwKK3RlbXBsYXRlPCBCT09TVF9NUExfUFBfUEFSQU1TKGksdHlwZW5hbWUgVCkgPiBcCitzdHJ1Y3QgdGVtcGxhdGVfYXJpdHk8IG5hbWU8Qk9PU1RfTVBMX1BQX1BBUkFNUyhpLFQpPiA+IFwKKyAgICA6IGludF88aT4gXAoreyBcCit9OyBcCit9IFwKKy8qKi8KKyNlbHNlCisjICAgZGVmaW5lIEJPT1NUX01QTF9BVVhfVEVNUExBVEVfQVJJVFlfU1BFQyhpLCBuYW1lKSAvKiovCisjZW5kaWYKKworCisjZW5kaWYgLy8gQk9PU1RfTVBMX0FVWF9BUklUWV9TUEVDX0hQUF9JTkNMVURFRApkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vYXRfaW1wbC5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9hdF9pbXBsLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ZDJmMjM1Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vYXRfaW1wbC5ocHAKQEAgLTAsMCArMSw0NSBAQAorCisjaWZuZGVmIEJPT1NUX01QTF9BVVhfQVRfSU1QTF9IUFBfSU5DTFVERUQKKyNkZWZpbmUgQk9PU1RfTVBMX0FVWF9BVF9JTVBMX0hQUF9JTkNMVURFRAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisvLyBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvbGlicy9tcGwgZm9yIGRvY3VtZW50YXRpb24uCisKKy8vICRJZDogYXRfaW1wbC5ocHAgNDkyNjcgMjAwOC0xMC0xMSAwNjoxOTowMlogYWd1cnRvdm95ICQKKy8vICREYXRlOiAyMDA4LTEwLTEwIDIzOjE5OjAyIC0wNzAwIChGcmksIDEwIE9jdCAyMDA4KSAkCisvLyAkUmV2aXNpb246IDQ5MjY3ICQKKworI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9iZWdpbl9lbmQuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hZHZhbmNlLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvZGVyZWYuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL3RyYWl0c19sYW1iZGFfc3BlYy5ocHA+CisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCisvLyBkZWZhdWx0IGltcGxlbWVudGF0aW9uOyBjb25yZXRlIHNlcXVlbmNlcyBtaWdodCBvdmVycmlkZSBpdCBieSAKKy8vIHNwZWNpYWxpemluZyBlaXRoZXIgdGhlICdhdF9pbXBsJyBvciB0aGUgcHJpbWFyeSAnYXQnIHRlbXBsYXRlCisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUYWcgPgorc3RydWN0IGF0X2ltcGwKK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgU2VxdWVuY2UsIHR5cGVuYW1lIE4gPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYWR2YW5jZTwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgYmVnaW48U2VxdWVuY2U+Ojp0eXBlCisgICAgICAgICAgICAsIE4KKyAgICAgICAgICAgID46OnR5cGUgaXRlcl87CisKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBkZXJlZjxpdGVyXz46OnR5cGUgdHlwZTsKKyAgICB9OworfTsKKworQk9PU1RfTVBMX0FMR09SSVRNX1RSQUlUU19MQU1CREFfU1BFQygyLCBhdF9pbXBsKQorCit9fQorCisjZW5kaWYgLy8gQk9PU1RfTVBMX0FVWF9BVF9JTVBMX0hQUF9JTkNMVURFRApkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vYmVnaW5fZW5kX2ltcGwuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vYmVnaW5fZW5kX2ltcGwuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU1N2VmNzEKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9iZWdpbl9lbmRfaW1wbC5ocHAKQEAgLTAsMCArMSwxMDEgQEAKKworI2lmbmRlZiBCT09TVF9NUExfQVVYX0JFR0lOX0VORF9JTVBMX0hQUF9JTkNMVURFRAorI2RlZmluZSBCT09TVF9NUExfQVVYX0JFR0lOX0VORF9JTVBMX0hQUF9JTkNMVURFRAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKy8vIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL21wbCBmb3IgZG9jdW1lbnRhdGlvbi4KKworLy8gJElkOiBiZWdpbl9lbmRfaW1wbC5ocHAgNDkyNjcgMjAwOC0xMC0xMSAwNjoxOTowMlogYWd1cnRvdm95ICQKKy8vICREYXRlOiAyMDA4LTEwLTEwIDIzOjE5OjAyIC0wNzAwIChGcmksIDEwIE9jdCAyMDA4KSAkCisvLyAkUmV2aXNpb246IDQ5MjY3ICQKKworI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9iZWdpbl9lbmRfZndkLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvc2VxdWVuY2VfdGFnX2Z3ZC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL3ZvaWQuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9ldmFsX2lmLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9oYXNfYmVnaW4uaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL25hLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy90cmFpdHNfbGFtYmRhX3NwZWMuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2NvbmZpZy9ldGkuaHBwPgorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKworCituYW1lc3BhY2UgYXV4IHsgCisKK3RlbXBsYXRlPCB0eXBlbmFtZSBTZXF1ZW5jZSA+IAorc3RydWN0IGJlZ2luX3R5cGUgCit7IAorICAgIHR5cGVkZWYgdHlwZW5hbWUgU2VxdWVuY2U6OmJlZ2luIHR5cGU7IAorfTsKK3RlbXBsYXRlPCB0eXBlbmFtZSBTZXF1ZW5jZSA+IAorc3RydWN0IGVuZF90eXBlCit7IAorICAgIHR5cGVkZWYgdHlwZW5hbWUgU2VxdWVuY2U6OmVuZCB0eXBlOyAKK307CisKK30KKworLy8gZGVmYXVsdCBpbXBsZW1lbnRhdGlvbjsgY29ucmV0ZSBzZXF1ZW5jZXMgbWlnaHQgb3ZlcnJpZGUgaXQgYnkgCisvLyBzcGVjaWFsaXppbmcgZWl0aGVyIHRoZSAnYmVnaW5faW1wbC9lbmRfaW1wbCcgb3IgdGhlIHByaW1hcnkgCisvLyAnYmVnaW4vZW5kJyB0ZW1wbGF0ZXMKKwordGVtcGxhdGU8IHR5cGVuYW1lIFRhZyA+CitzdHJ1Y3QgYmVnaW5faW1wbAoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBTZXF1ZW5jZSA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBldmFsX2lmPGF1eDo6aGFzX2JlZ2luPFNlcXVlbmNlLCB0cnVlXz4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXg6OmJlZ2luX3R5cGU8U2VxdWVuY2U+LCB2b2lkXz46OnR5cGUgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFRhZyA+CitzdHJ1Y3QgZW5kX2ltcGwKK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgU2VxdWVuY2UgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgZXZhbF9pZjxhdXg6Omhhc19iZWdpbjxTZXF1ZW5jZSwgdHJ1ZV8+LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV4OjplbmRfdHlwZTxTZXF1ZW5jZT4sIHZvaWRfPjo6dHlwZSB0eXBlOworICAgIH07Cit9OworCisvLyBzcGVjaWFsaXplICdiZWdpbl90cmFpdC9lbmRfdHJhaXQnIGZvciB0d28gcHJlLWRlZmluZWQgdGFncworCisjICAgZGVmaW5lIEFVWDc3ODA3Nl9JTVBMX1NQRUMobmFtZSwgdGFnLCByZXN1bHQpIFwKK3RlbXBsYXRlPD4gXAorc3RydWN0IG5hbWUjI19pbXBsPHRhZz4gXAoreyBcCisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFNlcXVlbmNlID4gc3RydWN0IGFwcGx5IFwKKyAgICB7IFwKKyAgICAgICAgdHlwZWRlZiByZXN1bHQgdHlwZTsgXAorICAgIH07IFwKK307IFwKKy8qKi8KKworLy8gYSBzZXF1ZW5jZSB3aXRoIG5lc3RlZCAnYmVnaW4vZW5kJyB0eXBlZGVmczsganVzdCBxdWVyeSB0aGVtCitBVVg3NzgwNzZfSU1QTF9TUEVDKGJlZ2luLCBuZXN0ZWRfYmVnaW5fZW5kX3RhZywgdHlwZW5hbWUgU2VxdWVuY2U6OmJlZ2luKQorQVVYNzc4MDc2X0lNUExfU1BFQyhlbmQsIG5lc3RlZF9iZWdpbl9lbmRfdGFnLCB0eXBlbmFtZSBTZXF1ZW5jZTo6ZW5kKQorCisvLyBpZiBhIHR5cGUgJ1QnIGRvZXMgbm90IGNvbnRhaW4gJ2JlZ2luL2VuZCcgb3IgJ3RhZycgbWVtYmVycyAKKy8vIGFuZCBkb2Vzbid0IHNwZWNpYWxpemUgZWl0aGVyICdiZWdpbi9lbmQnIG9yICdiZWdpbl9pbXBsL2VuZF9pbXBsJyAKKy8vIHRlbXBsYXRlcywgdGhlbiB3ZSBlbmQgdXAgaGVyZQorQVVYNzc4MDc2X0lNUExfU1BFQyhiZWdpbiwgbm9uX3NlcXVlbmNlX3RhZywgdm9pZF8pCitBVVg3NzgwNzZfSU1QTF9TUEVDKGVuZCwgbm9uX3NlcXVlbmNlX3RhZywgdm9pZF8pCitBVVg3NzgwNzZfSU1QTF9TUEVDKGJlZ2luLCBuYSwgdm9pZF8pCitBVVg3NzgwNzZfSU1QTF9TUEVDKGVuZCwgbmEsIHZvaWRfKQorCisjICAgdW5kZWYgQVVYNzc4MDc2X0lNUExfU1BFQworCisKK0JPT1NUX01QTF9BTEdPUklUTV9UUkFJVFNfTEFNQkRBX1NQRUNfSU1QTCgxLGJlZ2luX2ltcGwpCitCT09TVF9NUExfQUxHT1JJVE1fVFJBSVRTX0xBTUJEQV9TUEVDX0lNUEwoMSxlbmRfaW1wbCkKKworfX0KKworI2VuZGlmIC8vIEJPT1NUX01QTF9BVVhfQkVHSU5fRU5EX0lNUExfSFBQX0lOQ0xVREVECmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9jbGVhcl9pbXBsLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL2NsZWFyX2ltcGwuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY1NWRmYTMKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9jbGVhcl9pbXBsLmhwcApAQCAtMCwwICsxLDM1IEBACisKKyNpZm5kZWYgQk9PU1RfTVBMX0FVWF9DTEVBUl9JTVBMX0hQUF9JTkNMVURFRAorI2RlZmluZSBCT09TVF9NUExfQVVYX0NMRUFSX0lNUExfSFBQX0lOQ0xVREVECisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKy8vIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL21wbCBmb3IgZG9jdW1lbnRhdGlvbi4KKworLy8gJElkOiBjbGVhcl9pbXBsLmhwcCA0OTI2NyAyMDA4LTEwLTExIDA2OjE5OjAyWiBhZ3VydG92b3kgJAorLy8gJERhdGU6IDIwMDgtMTAtMTAgMjM6MTk6MDIgLTA3MDAgKEZyaSwgMTAgT2N0IDIwMDgpICQKKy8vICRSZXZpc2lvbjogNDkyNjcgJAorCisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2NsZWFyX2Z3ZC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vdHJhaXRzX2xhbWJkYV9zcGVjLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9jb25maWcvZXRpLmhwcD4KKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKKy8vIG5vIGRlZmF1bHQgaW1wbGVtZW50YXRpb247IHRoZSBkZWZpbml0aW9uIGlzIG5lZWRlZCB0byBtYWtlIE1TVkMgaGFwcHkKKwordGVtcGxhdGU8IHR5cGVuYW1lIFRhZyA+CitzdHJ1Y3QgY2xlYXJfaW1wbAoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBTZXF1ZW5jZSA+IHN0cnVjdCBhcHBseTsKK307CisKK0JPT1NUX01QTF9BTEdPUklUTV9UUkFJVFNfTEFNQkRBX1NQRUMoMSwgY2xlYXJfaW1wbCkKKworfX0KKworI2VuZGlmIC8vIEJPT1NUX01QTF9BVVhfQ0xFQVJfSU1QTF9IUFBfSU5DTFVERUQKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL2NvbW1vbl9uYW1lX3drbmQuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vY29tbW9uX25hbWVfd2tuZC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGQ3YzEyOAotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL2NvbW1vbl9uYW1lX3drbmQuaHBwCkBAIC0wLDAgKzEsMzQgQEAKKworI2lmbmRlZiBCT09TVF9NUExfQVVYX0NPTU1PTl9OQU1FX1dLTkRfSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX01QTF9BVVhfQ09NTU9OX05BTUVfV0tORF9IUFBfSU5DTFVERUQKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMi0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworLy8gU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL2xpYnMvbXBsIGZvciBkb2N1bWVudGF0aW9uLgorCisvLyAkSWQ6IGNvbW1vbl9uYW1lX3drbmQuaHBwIDQ5MjY3IDIwMDgtMTAtMTEgMDY6MTk6MDJaIGFndXJ0b3ZveSAkCisvLyAkRGF0ZTogMjAwOC0xMC0xMCAyMzoxOTowMiAtMDcwMCAoRnJpLCAxMCBPY3QgMjAwOCkgJAorLy8gJFJldmlzaW9uOiA0OTI2NyAkCisKKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9jb25maWcvd29ya2Fyb3VuZC5ocHA+CisKKyNpZiBCT09TVF9XT1JLQVJPVU5EKF9fQk9STEFORENfXywgPCAweDU2MSkKKy8vIGFndXJ0LCAxMi9ub3YvMDI6IHRvIHN1cHByZXNzIHRoZSBib2d1cyAiQ2Fubm90IGhhdmUgYm90aCBhIHRlbXBsYXRlIGNsYXNzIAorLy8gYW5kIGZ1bmN0aW9uIG5hbWVkICd4eHgnIiBkaWFnbm9zdGljCisjICAgZGVmaW5lIEJPT1NUX01QTF9BVVhfQ09NTU9OX05BTUVfV0tORChuYW1lKSBcCituYW1lc3BhY2UgbmFtZV8jI3drbmQgeyBcCit0ZW1wbGF0ZTwgdHlwZW5hbWUgPiB2b2lkIG5hbWUoKTsgXAorfSBcCisvKiovCisKKyNlbHNlCisKKyMgICBkZWZpbmUgQk9PU1RfTVBMX0FVWF9DT01NT05fTkFNRV9XS05EKG5hbWUpIC8qKi8KKworI2VuZGlmIC8vIF9fQk9STEFORENfXworCisjZW5kaWYgLy8gQk9PU1RfTVBMX0FVWF9DT01NT05fTkFNRV9XS05EX0hQUF9JTkNMVURFRApkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vY29tcGFyaXNvbl9vcC5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9jb21wYXJpc29uX29wLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMDgyNzI0Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vY29tcGFyaXNvbl9vcC5ocHAKQEAgLTAsMCArMSw4MyBAQAorCisvLyBOTyBJTkNMVURFIEdVQVJEUywgVEhFIEhFQURFUiBJUyBJTlRFTkRFRCBGT1IgTVVMVElQTEUgSU5DTFVTSU9OCisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKy8vIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL21wbCBmb3IgZG9jdW1lbnRhdGlvbi4KKworLy8gJElkOiBjb21wYXJpc29uX29wLmhwcCA0OTI2NyAyMDA4LTEwLTExIDA2OjE5OjAyWiBhZ3VydG92b3kgJAorLy8gJERhdGU6IDIwMDgtMTAtMTAgMjM6MTk6MDIgLTA3MDAgKEZyaSwgMTAgT2N0IDIwMDgpICQKKy8vICRSZXZpc2lvbjogNDkyNjcgJAorCisjaWYgIWRlZmluZWQoQk9PU1RfTVBMX1BSRVBST0NFU1NJTkdfTU9ERSkKKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvYm9vbC5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vdmFsdWVfd2tuZC5ocHA+CisjZW5kaWYKKworI2lmICFkZWZpbmVkKEFVWDc3ODA3Nl9PUF9QUkVGSVgpCisjICAgZGVmaW5lIEFVWDc3ODA3Nl9PUF9QUkVGSVggQVVYNzc4MDc2X09QX05BTUUKKyNlbmRpZgorCisjZGVmaW5lIEFVWDc3ODA3Nl9PUF9BUklUWSAyCisKKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9udW1lcmljX29wLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9jb25maWcvc3RhdGljX2NvbnN0YW50LmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9jb25maWcvdXNlX3ByZXByb2Nlc3NlZC5ocHA+CisKKyNpZiAhZGVmaW5lZChCT09TVF9NUExfQ0ZHX05PX1BSRVBST0NFU1NFRF9IRUFERVJTKSBcCisgICAgJiYgIWRlZmluZWQoQk9PU1RfTVBMX1BSRVBST0NFU1NJTkdfTU9ERSkKKworIyAgIGRlZmluZSBCT09TVF9NUExfUFJFUFJPQ0VTU0VEX0hFQURFUiBBVVg3NzgwNzZfT1BfUFJFRklYLmhwcAorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2luY2x1ZGVfcHJlcHJvY2Vzc2VkLmhwcD4KKworI2Vsc2UKKworIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2NvbmZpZy9pbnRlZ3JhbC5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL2NhdC5ocHA+CisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCisvLyBNU1ZDIHdvcmthcm91bmQ6IGltcGxlbWVudCBsZXNzIGluIHRlcm1zIG9mIGdyZWF0ZXIKKyNpZiAwIEFVWDc3ODA3Nl9PUF9UT0tFTiAxICYmICEoMSBBVVg3NzgwNzZfT1BfVE9LRU4gMCkgJiYgISgwIEFVWDc3ODA3Nl9PUF9UT0tFTiAwKQorIyAgIGRlZmluZSBBVVg3NzgwNzZfT1AoTjEsIE4yKSBcCisgICAgKCBCT09TVF9NUExfQVVYX1ZBTFVFX1dLTkQoTjIpOjp2YWx1ZSA+IEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChOMSk6OnZhbHVlICkgXAorLyoqLworI2Vsc2UKKyMgICBkZWZpbmUgQVVYNzc4MDc2X09QKE4xLCBOMikgXAorICAgICggQk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4xKTo6dmFsdWUgXAorICAgICAgICAgIEFVWDc3ODA3Nl9PUF9UT0tFTiBCT09TVF9NUExfQVVYX1ZBTFVFX1dLTkQoTjIpOjp2YWx1ZSBcCisgICAgICAgICkgXAorLyoqLworI2VuZGlmCisKK3RlbXBsYXRlPD4KK3N0cnVjdCBBVVg3NzgwNzZfT1BfSU1QTF9OQU1FPGludGVncmFsX2NfdGFnLGludGVncmFsX2NfdGFnPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBOMSwgdHlwZW5hbWUgTjIgPiBzdHJ1Y3QgYXBwbHkKKyNpZiAhZGVmaW5lZChCT09TVF9NUExfQ0ZHX05PX05FU1RFRF9WQUxVRV9BUklUSE1FVElDKQorICAgICAgICA6IGJvb2xfPCBBVVg3NzgwNzZfT1AoTjEsIE4yKSA+CisgICAgeworI2Vsc2UKKyAgICB7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChib29sLCB2YWx1ZSA9IEFVWDc3ODA3Nl9PUChOMSwgTjIpKTsKKyAgICAgICAgdHlwZWRlZiBib29sXzx2YWx1ZT4gdHlwZTsKKyNlbmRpZgorICAgIH07Cit9OworCisjdW5kZWYgQVVYNzc4MDc2X09QCisKK319CisKKyNlbmRpZiAvLyBCT09TVF9NUExfQ0ZHX05PX1BSRVBST0NFU1NFRF9IRUFERVJTCisKKyN1bmRlZiBBVVg3NzgwNzZfT1BfVEFHX05BTUUKKyN1bmRlZiBBVVg3NzgwNzZfT1BfSU1QTF9OQU1FCisjdW5kZWYgQVVYNzc4MDc2X09QX0FSSVRZCisjdW5kZWYgQVVYNzc4MDc2X09QX1BSRUZJWAorI3VuZGVmIEFVWDc3ODA3Nl9PUF9OQU1FCisjdW5kZWYgQVVYNzc4MDc2X09QX1RPS0VOCmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9jb25maWcvYmNjLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL2NvbmZpZy9iY2MuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI3NDIxMjUKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9jb25maWcvYmNjLmhwcApAQCAtMCwwICsxLDI4IEBACisKKyNpZm5kZWYgQk9PU1RfTVBMX0FVWF9DT05GSUdfQkNDX0hQUF9JTkNMVURFRAorI2RlZmluZSBCT09TVF9NUExfQVVYX0NPTkZJR19CQ0NfSFBQX0lOQ0xVREVECisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDgKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisvLyBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvbGlicy9tcGwgZm9yIGRvY3VtZW50YXRpb24uCisKKy8vICRJZDogYmNjLmhwcCA0OTI3MiAyMDA4LTEwLTExIDA2OjUwOjQ2WiBhZ3VydG92b3kgJAorLy8gJERhdGU6IDIwMDQtMDktMDIgMTA6NDE6MzcgLTA1MDAgKFRodSwgMDIgU2VwIDIwMDQpICQKKy8vICRSZXZpc2lvbjogMjQ4NzQgJAorCisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vY29uZmlnL3dvcmthcm91bmQuaHBwPgorCisjaWYgICAgIWRlZmluZWQoQk9PU1RfTVBMX0NGR19CQ0M1OTBfV09SS0FST1VORFMpIFwKKyAgICAmJiAhZGVmaW5lZChCT09TVF9NUExfUFJFUFJPQ0VTU0lOR19NT0RFKSBcCisgICAgJiYgQk9PU1RfV09SS0FST1VORChfX0JPUkxBTkRDX18sID49IDB4NTkwKSBcCisgICAgJiYgQk9PU1RfV09SS0FST1VORChfX0JPUkxBTkRDX18sIEJPT1NUX1RFU1RFRF9BVCgweDYxMCkpCisKKyMgICBkZWZpbmUgQk9PU1RfTVBMX0NGR19CQ0M1OTBfV09SS0FST1VORFMKKworI2VuZGlmCisKKyNlbmRpZiAvLyBCT09TVF9NUExfQVVYX0NPTkZJR19CQ0NfSFBQX0lOQ0xVREVECmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9jb25maWcvYmluZC5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9jb25maWcvYmluZC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmY2YzA1ZQotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL2NvbmZpZy9iaW5kLmhwcApAQCAtMCwwICsxLDMzIEBACisKKyNpZm5kZWYgQk9PU1RfTVBMX0FVWF9DT05GSUdfQklORF9IUFBfSU5DTFVERUQKKyNkZWZpbmUgQk9PU1RfTVBMX0FVWF9DT05GSUdfQklORF9IUFBfSU5DTFVERUQKKworLy8gQ29weXJpZ2h0IERhdmlkIEFicmFoYW1zIDIwMDIKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDItMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKy8vIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL21wbCBmb3IgZG9jdW1lbnRhdGlvbi4KKworLy8gJElkOiBiaW5kLmhwcCA0OTI2NyAyMDA4LTEwLTExIDA2OjE5OjAyWiBhZ3VydG92b3kgJAorLy8gJERhdGU6IDIwMDgtMTAtMTAgMjM6MTk6MDIgLTA3MDAgKEZyaSwgMTAgT2N0IDIwMDgpICQKKy8vICRSZXZpc2lvbjogNDkyNjcgJAorCisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vY29uZmlnL21zdmMuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2NvbmZpZy93b3JrYXJvdW5kLmhwcD4KKworI2lmICAgICFkZWZpbmVkKEJPT1NUX01QTF9DRkdfTk9fQklORF9URU1QTEFURSkgXAorICAgICYmICFkZWZpbmVkKEJPT1NUX01QTF9QUkVQUk9DRVNTSU5HX01PREUpIFwKKyAgICAmJiAoICAgQk9PU1RfV09SS0FST1VORChCT09TVF9NU1ZDLCA8PSAxMzAwKSBcCisgICAgICAgIHx8IEJPT1NUX1dPUktBUk9VTkQoX19CT1JMQU5EQ19fLCBCT09TVF9URVNURURfQVQoMHg2MTApKSBcCisgICAgICAgICkKKworIyAgIGRlZmluZSBCT09TVF9NUExfQ0ZHX05PX0JJTkRfVEVNUExBVEUKKworI2VuZGlmCisKKy8vI2RlZmluZSBCT09TVF9NUExfQ0ZHX05PX1VOTkFNRURfUExBQ0VIT0xERVJfU1VQUE9SVAorCisjZW5kaWYgLy8gQk9PU1RfTVBMX0FVWF9DT05GSUdfQklORF9IUFBfSU5DTFVERUQKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL2NvbmZpZy9jb21waWxlci5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9jb25maWcvY29tcGlsZXIuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhhNTI0NDEKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9jb25maWcvY29tcGlsZXIuaHBwCkBAIC0wLDAgKzEsNjYgQEAKKworI2lmbmRlZiBCT09TVF9NUExfQVVYX0NPTkZJR19DT01QSUxFUl9IUFBfSU5DTFVERUQKKyNkZWZpbmUgQk9PU1RfTVBMX0FVWF9DT05GSUdfQ09NUElMRVJfSFBQX0lOQ0xVREVECisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDEtMjAwOAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKy8vIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL21wbCBmb3IgZG9jdW1lbnRhdGlvbi4KKworLy8gJElkOiBjb21waWxlci5ocHAgNTMxODkgMjAwOS0wNS0yMiAyMDowNzo1NVogaGthaXNlciAkCisvLyAkRGF0ZTogMjAwOS0wNS0yMiAxMzowNzo1NSAtMDcwMCAoRnJpLCAyMiBNYXkgMjAwOSkgJAorLy8gJFJldmlzaW9uOiA1MzE4OSAkCisKKyNpZiAhZGVmaW5lZChCT09TVF9NUExfQ0ZHX0NPTVBJTEVSX0RJUikKKworIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2NvbmZpZy9kdHAuaHBwPgorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2NvbmZpZy90dHAuaHBwPgorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2NvbmZpZy9jdHBzLmhwcD4KKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9jb25maWcvbXN2Yy5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vY29uZmlnL2djYy5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vY29uZmlnL3dvcmthcm91bmQuaHBwPgorCisjICAgaWYgQk9PU1RfV09SS0FST1VORChCT09TVF9NU1ZDLCA8IDEzMDApCisjICAgICAgIGRlZmluZSBCT09TVF9NUExfQ0ZHX0NPTVBJTEVSX0RJUiBtc3ZjNjAKKworIyAgIGVsaWYgQk9PU1RfV09SS0FST1VORChCT09TVF9NU1ZDLCA9PSAxMzAwKQorIyAgICAgICBkZWZpbmUgQk9PU1RfTVBMX0NGR19DT01QSUxFUl9ESVIgbXN2YzcwCisKKyMgICBlbGlmIEJPT1NUX1dPUktBUk9VTkQoQk9PU1RfTVBMX0NGR19HQ0MsIEJPT1NUX1RFU1RFRF9BVCgweDAzMDQpKQorIyAgICAgICBkZWZpbmUgQk9PU1RfTVBMX0NGR19DT01QSUxFUl9ESVIgZ2NjCisKKyMgICBlbGlmIEJPT1NUX1dPUktBUk9VTkQoX19CT1JMQU5EQ19fLCBCT09TVF9URVNURURfQVQoMHg2MTApKQorIyAgICAgICBpZiAhZGVmaW5lZChCT09TVF9NUExfQ0ZHX05PX0RFRkFVTFRfUEFSQU1FVEVSU19JTl9ORVNURURfVEVNUExBVEVTKQorIyAgICAgICAgICAgZGVmaW5lIEJPT1NUX01QTF9DRkdfQ09NUElMRVJfRElSIGJjYzU1MQorIyAgICAgICBlbGlmIEJPT1NUX1dPUktBUk9VTkQoX19CT1JMQU5EQ19fLCA+PSAweDU5MCkKKyMgICAgICAgICAgIGRlZmluZSBCT09TVF9NUExfQ0ZHX0NPTVBJTEVSX0RJUiBiY2MKKyMgICAgICAgZWxzZQorIyAgICAgICAgICAgZGVmaW5lIEJPT1NUX01QTF9DRkdfQ09NUElMRVJfRElSIGJjY19wcmU1OTAKKyMgICAgICAgZW5kaWYKKworIyAgIGVsaWYgQk9PU1RfV09SS0FST1VORChfX0RNQ19fLCBCT09TVF9URVNURURfQVQoMHg4NDApKQorIyAgICAgICBkZWZpbmUgQk9PU1RfTVBMX0NGR19DT01QSUxFUl9ESVIgZG1jCisKKyMgICBlbGlmIGRlZmluZWQoX19NV0VSS1NfXykKKyMgICAgICAgaWYgZGVmaW5lZChCT09TVF9NUExfQ0ZHX0JST0tFTl9ERUZBVUxUX1BBUkFNRVRFUlNfSU5fTkVTVEVEX1RFTVBMQVRFUykKKyMgICAgICAgICAgIGRlZmluZSBCT09TVF9NUExfQ0ZHX0NPTVBJTEVSX0RJUiBtd2N3CisjICAgICAgIGVsc2UKKyMgICAgICAgICAgIGRlZmluZSBCT09TVF9NUExfQ0ZHX0NPTVBJTEVSX0RJUiBwbGFpbgorIyAgICAgICBlbmRpZgorCisjICAgZWxpZiBkZWZpbmVkKEJPT1NUX05PX1RFTVBMQVRFX1BBUlRJQUxfU1BFQ0lBTElaQVRJT04pCisjICAgICAgIGRlZmluZSBCT09TVF9NUExfQ0ZHX0NPTVBJTEVSX0RJUiBub19jdHBzCisKKyMgICBlbGlmIGRlZmluZWQoQk9PU1RfTVBMX0NGR19OT19URU1QTEFURV9URU1QTEFURV9QQVJBTUVURVJTKQorIyAgICAgICBkZWZpbmUgQk9PU1RfTVBMX0NGR19DT01QSUxFUl9ESVIgbm9fdHRwCisKKyMgICBlbHNlCisjICAgICAgIGRlZmluZSBCT09TVF9NUExfQ0ZHX0NPTVBJTEVSX0RJUiBwbGFpbgorIyAgIGVuZGlmCisKKyNlbmRpZiAvLyBCT09TVF9NUExfQ0ZHX0NPTVBJTEVSX0RJUgorCisjZW5kaWYgLy8gQk9PU1RfTVBMX0FVWF9DT05GSUdfQ09NUElMRVJfSFBQX0lOQ0xVREVECmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9jb25maWcvZG1jX2FtYmlndW91c19jdHBzLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL2NvbmZpZy9kbWNfYW1iaWd1b3VzX2N0cHMuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFmNTRhZTYKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9jb25maWcvZG1jX2FtYmlndW91c19jdHBzLmhwcApAQCAtMCwwICsxLDI3IEBACisKKyNpZm5kZWYgQk9PU1RfTVBMX0FVWF9DT05GSUdfRE1DX0FNQklHVU9VU19DVFBTX0hQUF9JTkNMVURFRAorI2RlZmluZSBCT09TVF9NUExfQVVYX0NPTkZJR19ETUNfQU1CSUdVT1VTX0NUUFNfSFBQX0lOQ0xVREVECisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisvLyBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvbGlicy9tcGwgZm9yIGRvY3VtZW50YXRpb24uCisKKy8vICRJZDogZG1jX2FtYmlndW91c19jdHBzLmhwcCA0OTI2NyAyMDA4LTEwLTExIDA2OjE5OjAyWiBhZ3VydG92b3kgJAorLy8gJERhdGU6IDIwMDgtMTAtMTAgMjM6MTk6MDIgLTA3MDAgKEZyaSwgMTAgT2N0IDIwMDgpICQKKy8vICRSZXZpc2lvbjogNDkyNjcgJAorCisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vY29uZmlnL3dvcmthcm91bmQuaHBwPgorCisjaWYgICAgIWRlZmluZWQoQk9PU1RfTVBMX0NGR19ETUNfQU1CSUdVT1VTX0NUUFMpIFwKKyAgICAmJiAhZGVmaW5lZChCT09TVF9NUExfUFJFUFJPQ0VTU0lOR19NT0RFKSBcCisgICAgJiYgQk9PU1RfV09SS0FST1VORChfX0RNQ19fLCBCT09TVF9URVNURURfQVQoMHg4NDApKQorCisjICAgZGVmaW5lIEJPT1NUX01QTF9DRkdfRE1DX0FNQklHVU9VU19DVFBTCisKKyNlbmRpZgorCisjZW5kaWYgLy8gQk9PU1RfTVBMX0FVWF9DT05GSUdfRE1DX0FNQklHVU9VU19DVFBTX0hQUF9JTkNMVURFRApkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vY29uZmlnL2ZvcndhcmRpbmcuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vY29uZmlnL2ZvcndhcmRpbmcuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE2N2U4MzIKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9jb25maWcvZm9yd2FyZGluZy5ocHAKQEAgLTAsMCArMSwyNyBAQAorCisjaWZuZGVmIEJPT1NUX01QTF9BVVhfQ09ORklHX0ZPUldBUkRJTkdfSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX01QTF9BVVhfQ09ORklHX0ZPUldBUkRJTkdfSFBQX0lOQ0xVREVECisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisvLyBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvbGlicy9tcGwgZm9yIGRvY3VtZW50YXRpb24uCisKKy8vICRJZDogZm9yd2FyZGluZy5ocHAgNDkyNjcgMjAwOC0xMC0xMSAwNjoxOTowMlogYWd1cnRvdm95ICQKKy8vICREYXRlOiAyMDA4LTEwLTEwIDIzOjE5OjAyIC0wNzAwIChGcmksIDEwIE9jdCAyMDA4KSAkCisvLyAkUmV2aXNpb246IDQ5MjY3ICQKKworI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2NvbmZpZy93b3JrYXJvdW5kLmhwcD4KKworI2lmICAgICFkZWZpbmVkKEJPT1NUX01QTF9DRkdfTk9fTkVTVEVEX0ZPUldBUkRJTkcpIFwKKyAgICAmJiAhZGVmaW5lZChCT09TVF9NUExfUFJFUFJPQ0VTU0lOR19NT0RFKSBcCisgICAgJiYgQk9PU1RfV09SS0FST1VORChfX0JPUkxBTkRDX18sIEJPT1NUX1RFU1RFRF9BVCgweDYxMCkpCisKKyMgICBkZWZpbmUgQk9PU1RfTVBMX0NGR19OT19ORVNURURfRk9SV0FSRElORworCisjZW5kaWYKKworI2VuZGlmIC8vIEJPT1NUX01QTF9BVVhfQ09ORklHX0ZPUldBUkRJTkdfSFBQX0lOQ0xVREVECmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9jb25maWcvaGFzX2FwcGx5LmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL2NvbmZpZy9oYXNfYXBwbHkuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBkYWVkNWEKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9jb25maWcvaGFzX2FwcGx5LmhwcApAQCAtMCwwICsxLDMyIEBACisKKyNpZm5kZWYgQk9PU1RfTVBMX0FVWF9DT05GSUdfSEFTX0FQUExZX0hQUF9JTkNMVURFRAorI2RlZmluZSBCT09TVF9NUExfQVVYX0NPTkZJR19IQVNfQVBQTFlfSFBQX0lOQ0xVREVECisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisvLyBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvbGlicy9tcGwgZm9yIGRvY3VtZW50YXRpb24uCisKKy8vICRJZDogaGFzX2FwcGx5LmhwcCA0OTI2NyAyMDA4LTEwLTExIDA2OjE5OjAyWiBhZ3VydG92b3kgJAorLy8gJERhdGU6IDIwMDgtMTAtMTAgMjM6MTk6MDIgLTA3MDAgKEZyaSwgMTAgT2N0IDIwMDgpICQKKy8vICRSZXZpc2lvbjogNDkyNjcgJAorCisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vY29uZmlnL2hhc194eHguaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2NvbmZpZy9tc3ZjLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9jb25maWcvd29ya2Fyb3VuZC5ocHA+CisKKyNpZiAhZGVmaW5lZChCT09TVF9NUExfQ0ZHX05PX0hBU19BUFBMWSkgXAorICAgICYmICggICBkZWZpbmVkKEJPT1NUX01QTF9DRkdfTk9fSEFTX1hYWCkgXAorICAgICAgICB8fCBCT09TVF9XT1JLQVJPVU5EKF9fRURHX1ZFUlNJT05fXywgPCAzMDApIFwKKyAgICAgICAgfHwgQk9PU1RfV09SS0FST1VORChCT09TVF9NU1ZDLCA8PSAxMzAwKSBcCisgICAgICAgIHx8IEJPT1NUX1dPUktBUk9VTkQoX19NV0VSS1NfXywgQk9PU1RfVEVTVEVEX0FUKDB4MzIwMikpIFwKKyAgICAgICAgKQorCisjICAgZGVmaW5lIEJPT1NUX01QTF9DRkdfTk9fSEFTX0FQUExZCisKKyNlbmRpZgorCisjZW5kaWYgLy8gQk9PU1RfTVBMX0FVWF9DT05GSUdfSEFTX0FQUExZX0hQUF9JTkNMVURFRApkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vY29uZmlnL2hhc194eHguaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vY29uZmlnL2hhc194eHguaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFjZmY4YWYKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9jb25maWcvaGFzX3h4eC5ocHAKQEAgLTAsMCArMSwzNCBAQAorCisjaWZuZGVmIEJPT1NUX01QTF9BVVhfQ09ORklHX0hBU19YWFhfSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX01QTF9BVVhfQ09ORklHX0hBU19YWFhfSFBQX0lOQ0xVREVECisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDItMjAwNAorLy8gQ29weXJpZ2h0IERhdmlkIEFicmFoYW1zIDIwMDItMjAwMworLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKy8vIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL21wbCBmb3IgZG9jdW1lbnRhdGlvbi4KKworLy8gJElkOiBoYXNfeHh4LmhwcCA2MzUxOCAyMDEwLTA3LTAyIDA4OjMyOjAzWiBhZ3VydG92b3kgJAorLy8gJERhdGU6IDIwMTAtMDctMDIgMDE6MzI6MDMgLTA3MDAgKEZyaSwgMDIgSnVsIDIwMTApICQKKy8vICRSZXZpc2lvbjogNjM1MTggJAorCisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vY29uZmlnL292ZXJsb2FkX3Jlc29sdXRpb24uaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2NvbmZpZy93b3JrYXJvdW5kLmhwcD4KKworLy8gYWd1cnQsIDExL2phbi8wMzogc2lnbmFscyBhIHN0dWItb25seSAnaGFzX3h4eCcgaW1wbGVtZW50YXRpb24KKworI2lmICFkZWZpbmVkKEJPT1NUX01QTF9DRkdfTk9fSEFTX1hYWCkgXAorICAgICYmICggICBkZWZpbmVkKEJPT1NUX01QTF9DRkdfQlJPS0VOX09WRVJMT0FEX1JFU09MVVRJT04pIFwKKyAgICAgICAgfHwgQk9PU1RfV09SS0FST1VORChfX0dOVUNfXywgPD0gMikgXAorICAgICAgICB8fCBCT09TVF9XT1JLQVJPVU5EKF9fRE1DX18sIEJPT1NUX1RFU1RFRF9BVCgweDg0MCkpIFwKKyAgICAgICAgKQorCisjICAgZGVmaW5lIEJPT1NUX01QTF9DRkdfTk9fSEFTX1hYWAorIyAgIGRlZmluZSBCT09TVF9NUExfQ0ZHX05PX0hBU19YWFhfVEVNUExBVEUKKworI2VuZGlmCisKKyNlbmRpZiAvLyBCT09TVF9NUExfQVVYX0NPTkZJR19IQVNfWFhYX0hQUF9JTkNMVURFRApkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vY29uZmlnL21zdmNfdHlwZW5hbWUuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vY29uZmlnL21zdmNfdHlwZW5hbWUuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ1ZmFiMDAKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9jb25maWcvbXN2Y190eXBlbmFtZS5ocHAKQEAgLTAsMCArMSwyNiBAQAorCisjaWZuZGVmIEJPT1NUX01QTF9BVVhfQ09ORklHX01TVkNfVFlQRU5BTUVfSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX01QTF9BVVhfQ09ORklHX01TVkNfVFlQRU5BTUVfSFBQX0lOQ0xVREVECisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKy8vIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL21wbCBmb3IgZG9jdW1lbnRhdGlvbi4KKworLy8gJElkOiBtc3ZjX3R5cGVuYW1lLmhwcCA0OTI2NyAyMDA4LTEwLTExIDA2OjE5OjAyWiBhZ3VydG92b3kgJAorLy8gJERhdGU6IDIwMDgtMTAtMTAgMjM6MTk6MDIgLTA3MDAgKEZyaSwgMTAgT2N0IDIwMDgpICQKKy8vICRSZXZpc2lvbjogNDkyNjcgJAorCisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vY29uZmlnL21zdmMuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2NvbmZpZy93b3JrYXJvdW5kLmhwcD4KKworI2lmIEJPT1NUX1dPUktBUk9VTkQoQk9PU1RfTVNWQywgPD0gMTMwMCkKKyMgICBkZWZpbmUgQk9PU1RfTVNWQ19UWVBFTkFNRQorI2Vsc2UKKyMgICBkZWZpbmUgQk9PU1RfTVNWQ19UWVBFTkFNRSB0eXBlbmFtZQorI2VuZGlmCisKKyNlbmRpZiAvLyBCT09TVF9NUExfQVVYX0NPTkZJR19NU1ZDX1RZUEVOQU1FX0hQUF9JTkNMVURFRApkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vY29uZmlnL3BwX2NvdW50ZXIuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vY29uZmlnL3BwX2NvdW50ZXIuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUyYzQzMTkKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9jb25maWcvcHBfY291bnRlci5ocHAKQEAgLTAsMCArMSwyNiBAQAorCisjaWZuZGVmIEJPT1NUX01QTF9BVVhfQ09ORklHX1BQX0NPVU5URVJfSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX01QTF9BVVhfQ09ORklHX1BQX0NPVU5URVJfSFBQX0lOQ0xVREVECisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDYKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisvLyBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvbGlicy9tcGwgZm9yIGRvY3VtZW50YXRpb24uCisKKy8vICRJZDogcHBfY291bnRlci5ocHAgNDkyNjcgMjAwOC0xMC0xMSAwNjoxOTowMlogYWd1cnRvdm95ICQKKy8vICREYXRlOiAyMDA4LTEwLTEwIDIzOjE5OjAyIC0wNzAwIChGcmksIDEwIE9jdCAyMDA4KSAkCisvLyAkUmV2aXNpb246IDQ5MjY3ICQKKworI2lmICFkZWZpbmVkKEJPT1NUX01QTF9BVVhfUFBfQ09VTlRFUikKKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9jb25maWcvbXN2Yy5ocHA+CisjICAgaWYgQk9PU1RfV09SS0FST1VORChCT09TVF9NU1ZDLCA+PSAxMzAwKQorIyAgICAgICBkZWZpbmUgQk9PU1RfTVBMX0FVWF9QUF9DT1VOVEVSKCkgX19DT1VOVEVSX18KKyMgICBlbHNlCisjICAgICAgIGRlZmluZSBCT09TVF9NUExfQVVYX1BQX0NPVU5URVIoKSBfX0xJTkVfXworIyAgIGVuZGlmCisjZW5kaWYKKworI2VuZGlmIC8vIEJPT1NUX01QTF9BVVhfQ09ORklHX1BQX0NPVU5URVJfSFBQX0lOQ0xVREVECmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9jb25maWcvdHlwZW9mLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL2NvbmZpZy90eXBlb2YuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI5NDI1ZjkKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9jb25maWcvdHlwZW9mLmhwcApAQCAtMCwwICsxLDM4IEBACisKKyNpZm5kZWYgQk9PU1RfTVBMX0FVWF9DT05GSUdfVFlQRU9GX0hQUF9JTkNMVURFRAorI2RlZmluZSBCT09TVF9NUExfQVVYX0NPTkZJR19UWVBFT0ZfSFBQX0lOQ0xVREVECisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDMtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKy8vIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL21wbCBmb3IgZG9jdW1lbnRhdGlvbi4KKworLy8gJElkOiB0eXBlb2YuaHBwIDQ5MjY3IDIwMDgtMTAtMTEgMDY6MTk6MDJaIGFndXJ0b3ZveSAkCisvLyAkRGF0ZTogMjAwOC0xMC0xMCAyMzoxOTowMiAtMDcwMCAoRnJpLCAxMCBPY3QgMjAwOCkgJAorLy8gJFJldmlzaW9uOiA0OTI2NyAkCisKKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9jb25maWcvZ2NjLmhwcD4KKworI2lmICFkZWZpbmVkKEJPT1NUX01QTF9DRkdfSEFTX1RZUEVPRikgXAorICAgICYmICFkZWZpbmVkKEJPT1NUX01QTF9QUkVQUk9DRVNTSU5HX01PREUpIFwKKyAgICAmJiAoICAgZGVmaW5lZChCT09TVF9NUExfQ0ZHX0dDQykgJiYgQk9PU1RfTVBMX0NGR19HQ0MgPj0gMHgwMzAyIFwKKyAgICAgICAgfHwgZGVmaW5lZChfX01XRVJLU19fKSAmJiBfX01XRVJLU19fID49IDB4MzAwMCBcCisgICAgICAgICkKKworIyAgIGRlZmluZSBCT09TVF9NUExfQ0ZHX0hBU19UWVBFT0YKKworI2VuZGlmCisKKworI2lmICFkZWZpbmVkKEJPT1NUX01QTF9DRkdfVFlQRU9GX0JBU0VEX1NFUVVFTkNFUykgXAorICAgICYmICFkZWZpbmVkKEJPT1NUX01QTF9QUkVQUk9DRVNTSU5HX01PREUpIFwKKyAgICAmJiBkZWZpbmVkKEJPT1NUX01QTF9DRkdfSEFTX1RZUEVPRikKKworIyAgIGRlZmluZSBCT09TVF9NUExfQ0ZHX1RZUEVPRl9CQVNFRF9TRVFVRU5DRVMKKworI2VuZGlmCisKKyNlbmRpZiAvLyBCT09TVF9NUExfQVVYX0NPTkZJR19UWVBFT0ZfSFBQX0lOQ0xVREVECmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9jb25maWcvdXNlX3ByZXByb2Nlc3NlZC5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9jb25maWcvdXNlX3ByZXByb2Nlc3NlZC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDQ5NDM2NgotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL2NvbmZpZy91c2VfcHJlcHJvY2Vzc2VkLmhwcApAQCAtMCwwICsxLDE5IEBACisKKyNpZm5kZWYgQk9PU1RfTVBMX0FVWF9DT05GSUdfVVNFX1BSRVBST0NFU1NFRF9IUFBfSU5DTFVERUQKKyNkZWZpbmUgQk9PU1RfTVBMX0FVWF9DT05GSUdfVVNFX1BSRVBST0NFU1NFRF9IUFBfSU5DTFVERUQKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworLy8gU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL2xpYnMvbXBsIGZvciBkb2N1bWVudGF0aW9uLgorCisvLyAkSWQ6IHVzZV9wcmVwcm9jZXNzZWQuaHBwIDQ5MjY3IDIwMDgtMTAtMTEgMDY6MTk6MDJaIGFndXJ0b3ZveSAkCisvLyAkRGF0ZTogMjAwOC0xMC0xMCAyMzoxOTowMiAtMDcwMCAoRnJpLCAxMCBPY3QgMjAwOCkgJAorLy8gJFJldmlzaW9uOiA0OTI2NyAkCisKKy8vICNkZWZpbmUgQk9PU1RfTVBMX0NGR19OT19QUkVQUk9DRVNTRURfSEVBREVSUworCisjZW5kaWYgLy8gQk9PU1RfTVBMX0FVWF9DT05GSUdfVVNFX1BSRVBST0NFU1NFRF9IUFBfSU5DTFVERUQKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL2NvbnRhaW5zX2ltcGwuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vY29udGFpbnNfaW1wbC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTNlYzEyMgotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL2NvbnRhaW5zX2ltcGwuaHBwCkBAIC0wLDAgKzEsNjEgQEAKKworI2lmbmRlZiBCT09TVF9NUExfQVVYX0NPTlRBSU5TX0lNUExfSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX01QTF9BVVhfQ09OVEFJTlNfSU1QTF9IUFBfSU5DTFVERUQKKworLy8gQ29weXJpZ2h0IEVyaWMgRnJpZWRtYW4gMjAwMgorLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKy8vIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL21wbCBmb3IgZG9jdW1lbnRhdGlvbi4KKworLy8gJElkOiBjb250YWluc19pbXBsLmhwcCA0OTI2NyAyMDA4LTEwLTExIDA2OjE5OjAyWiBhZ3VydG92b3kgJAorLy8gJERhdGU6IDIwMDgtMTAtMTAgMjM6MTk6MDIgLTA3MDAgKEZyaSwgMTAgT2N0IDIwMDgpICQKKy8vICRSZXZpc2lvbjogNDkyNjcgJAorCisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2NvbnRhaW5zX2Z3ZC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2JlZ2luX2VuZC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2ZpbmQuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9ub3QuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL3RyYWl0c19sYW1iZGFfc3BlYy5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vY29uZmlnL2ZvcndhcmRpbmcuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2NvbmZpZy9zdGF0aWNfY29uc3RhbnQuaHBwPgorCisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvaXNfc2FtZS5ocHA+CisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVGFnID4KK3N0cnVjdCBjb250YWluc19pbXBsCit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFNlcXVlbmNlLCB0eXBlbmFtZSBUID4gc3RydWN0IGFwcGx5CisjaWYgIWRlZmluZWQoQk9PU1RfTVBMX0NGR19OT19ORVNURURfRk9SV0FSRElORykKKyAgICAgICAgOiBub3RfPCBpc19zYW1lPAorICAgICAgICAgICAgICB0eXBlbmFtZSBmaW5kPFNlcXVlbmNlLFQ+Ojp0eXBlCisgICAgICAgICAgICAsIHR5cGVuYW1lIGVuZDxTZXF1ZW5jZT46OnR5cGUKKyAgICAgICAgICAgID4gPgorICAgIHsKKyNlbHNlCisgICAgeworICAgICAgICB0eXBlZGVmIG5vdF88IGlzX3NhbWU8CisgICAgICAgICAgICAgIHR5cGVuYW1lIGZpbmQ8U2VxdWVuY2UsVD46OnR5cGUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgZW5kPFNlcXVlbmNlPjo6dHlwZQorICAgICAgICAgICAgPiA+IHR5cGU7CisKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGJvb2wsIHZhbHVlID0gCisgICAgICAgICAgICAgIChub3RfPCBpc19zYW1lPAorICAgICAgICAgICAgICAgICAgdHlwZW5hbWUgZmluZDxTZXF1ZW5jZSxUPjo6dHlwZQorICAgICAgICAgICAgICAgICwgdHlwZW5hbWUgZW5kPFNlcXVlbmNlPjo6dHlwZQorICAgICAgICAgICAgICAgID4gPjo6dmFsdWUpCisgICAgICAgICAgICApOworI2VuZGlmCisgICAgfTsKK307CisKK0JPT1NUX01QTF9BTEdPUklUTV9UUkFJVFNfTEFNQkRBX1NQRUMoMixjb250YWluc19pbXBsKQorCit9fQorCisjZW5kaWYgLy8gQk9PU1RfTVBMX0FVWF9DT05UQUlOU19JTVBMX0hQUF9JTkNMVURFRApkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vY291bnRfYXJncy5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9jb3VudF9hcmdzLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41OTg1MmIwCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vY291bnRfYXJncy5ocHAKQEAgLTAsMCArMSwxMDUgQEAKKworLy8gTk8gSU5DTFVERSBHVUFSRFMsIFRIRSBIRUFERVIgSVMgSU5URU5ERUQgRk9SIE1VTFRJUExFIElOQ0xVU0lPTgorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisvLyBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvbGlicy9tcGwgZm9yIGRvY3VtZW50YXRpb24uCisKKy8vICRJZDogY291bnRfYXJncy5ocHAgNDkyNjcgMjAwOC0xMC0xMSAwNjoxOTowMlogYWd1cnRvdm95ICQKKy8vICREYXRlOiAyMDA4LTEwLTEwIDIzOjE5OjAyIC0wNzAwIChGcmksIDEwIE9jdCAyMDA4KSAkCisvLyAkUmV2aXNpb246IDQ5MjY3ICQKKworI2luY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9leHByX2lmLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3IvaW5jLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3IvY2F0LmhwcD4KKworI2lmICFkZWZpbmVkKEFVWDc3ODA3Nl9DT1VOVF9BUkdTX1BBUkFNX05BTUUpCisjICAgZGVmaW5lIEFVWDc3ODA3Nl9DT1VOVF9BUkdTX1BBUkFNX05BTUUgVAorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChBVVg3NzgwNzZfQ09VTlRfQVJHU19URU1QTEFURV9QQVJBTSkKKyMgICBkZWZpbmUgQVVYNzc4MDc2X0NPVU5UX0FSR1NfVEVNUExBVEVfUEFSQU0gdHlwZW5hbWUgQVVYNzc4MDc2X0NPVU5UX0FSR1NfUEFSQU1fTkFNRQorI2VuZGlmCisKKy8vIGxvY2FsIG1hY3JvcywgI3VuZGVmLWluZWQgYXQgdGhlIGVuZCBvZiB0aGUgaGVhZGVyCisKKyNpZiAhZGVmaW5lZChBVVg3NzgwNzZfQ09VTlRfQVJHU19VU0VfU1RBTkRBUkRfUFBfUFJJTUlUSVZFUykKKworIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3Nvci9yZXBlYXQuaHBwPgorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3Nvci9wYXJhbXMuaHBwPgorCisjICAgZGVmaW5lIEFVWDc3ODA3Nl9DT1VOVF9BUkdTX1JFUEVBVCBCT09TVF9NUExfUFBfUkVQRUFUCisjICAgZGVmaW5lIEFVWDc3ODA3Nl9DT1VOVF9BUkdTX1BBUkFNUyhwYXJhbSkgXAorICAgIEJPT1NUX01QTF9QUF9QQVJBTVMoIFwKKyAgICAgICAgICBBVVg3NzgwNzZfQ09VTlRfQVJHU19BUklUWSBcCisgICAgICAgICwgcGFyYW0gXAorICAgICAgICApIFwKKyAgICAvKiovCisKKyNlbHNlCisKKyMgICBpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3IvZW51bV9zaGlmdGVkX3BhcmFtcy5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL3JlcGVhdC5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL2luYy5ocHA+CisKKyMgICBkZWZpbmUgQVVYNzc4MDc2X0NPVU5UX0FSR1NfUkVQRUFUIEJPT1NUX1BQX1JFUEVBVAorIyAgIGRlZmluZSBBVVg3NzgwNzZfQ09VTlRfQVJHU19QQVJBTVMocGFyYW0pIFwKKyAgICBCT09TVF9QUF9FTlVNX1NISUZURURfUEFSQU1TKCBcCisgICAgICAgICAgQk9PU1RfUFBfSU5DKEFVWDc3ODA3Nl9DT1VOVF9BUkdTX0FSSVRZKSBcCisgICAgICAgICwgcGFyYW0gXAorICAgICAgICApIFwKKyAgICAvKiovCisKKyNlbmRpZiAvLyBBVVg3NzgwNzZfQ09VTlRfQVJHU19VU0VfU1RBTkRBUkRfUFBfUFJJTUlUSVZFUworCisKKyNkZWZpbmUgQVVYNzc4MDc2X0lTX0FSR19URU1QTEFURV9OQU1FIFwKKyAgICBCT09TVF9QUF9DQVQoaXNfLEJPT1NUX1BQX0NBVChBVVg3NzgwNzZfQ09VTlRfQVJHU19QUkVGSVgsX2FyZykpIFwKKy8qKi8KKworI2RlZmluZSBBVVg3NzgwNzZfQ09VTlRfQVJHU19GVU5DKHVudXNlZCwgaSwgcGFyYW0pIFwKKyAgICBCT09TVF9QUF9FWFBSX0lGKGksICspIFwKKyAgICBBVVg3NzgwNzZfSVNfQVJHX1RFTVBMQVRFX05BTUU8Qk9PU1RfUFBfQ0FUKHBhcmFtLEJPT1NUX1BQX0lOQyhpKSk+Ojp2YWx1ZSBcCisvKiovCisKKy8vIGlzXzx4eHg+X2FyZwordGVtcGxhdGU8IEFVWDc3ODA3Nl9DT1VOVF9BUkdTX1RFTVBMQVRFX1BBUkFNID4KK3N0cnVjdCBBVVg3NzgwNzZfSVNfQVJHX1RFTVBMQVRFX05BTUUKK3sKKyAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoYm9vbCwgdmFsdWUgPSB0cnVlKTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBBVVg3NzgwNzZfSVNfQVJHX1RFTVBMQVRFX05BTUU8QVVYNzc4MDc2X0NPVU5UX0FSR1NfREVGQVVMVD4KK3sKKyAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoYm9vbCwgdmFsdWUgPSBmYWxzZSk7Cit9OworCisvLyA8eHh4Pl9jb3VudF9hcmdzCit0ZW1wbGF0ZTwKKyAgICAgIEFVWDc3ODA3Nl9DT1VOVF9BUkdTX1BBUkFNUyhBVVg3NzgwNzZfQ09VTlRfQVJHU19URU1QTEFURV9QQVJBTSkKKyAgICA+CitzdHJ1Y3QgQk9PU1RfUFBfQ0FUKEFVWDc3ODA3Nl9DT1VOVF9BUkdTX1BSRUZJWCxfY291bnRfYXJncykKK3sKKyAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSA9IEFVWDc3ODA3Nl9DT1VOVF9BUkdTX1JFUEVBVCgKKyAgICAgICAgICBBVVg3NzgwNzZfQ09VTlRfQVJHU19BUklUWQorICAgICAgICAsIEFVWDc3ODA3Nl9DT1VOVF9BUkdTX0ZVTkMKKyAgICAgICAgLCBBVVg3NzgwNzZfQ09VTlRfQVJHU19QQVJBTV9OQU1FCisgICAgICAgICkpOworfTsKKworI3VuZGVmIEFVWDc3ODA3Nl9DT1VOVF9BUkdTX0ZVTkMKKyN1bmRlZiBBVVg3NzgwNzZfSVNfQVJHX1RFTVBMQVRFX05BTUUKKyN1bmRlZiBBVVg3NzgwNzZfQ09VTlRfQVJHU19QQVJBTVMKKyN1bmRlZiBBVVg3NzgwNzZfQ09VTlRfQVJHU19SRVBFQVQKKworI3VuZGVmIEFVWDc3ODA3Nl9DT1VOVF9BUkdTX0FSSVRZCisjdW5kZWYgQVVYNzc4MDc2X0NPVU5UX0FSR1NfREVGQVVMVAorI3VuZGVmIEFVWDc3ODA3Nl9DT1VOVF9BUkdTX1BSRUZJWAorI3VuZGVmIEFVWDc3ODA3Nl9DT1VOVF9BUkdTX1VTRV9TVEFOREFSRF9QUF9QUklNSVRJVkVTCisjdW5kZWYgQVVYNzc4MDc2X0NPVU5UX0FSR1NfVEVNUExBVEVfUEFSQU0KKyN1bmRlZiBBVVg3NzgwNzZfQ09VTlRfQVJHU19QQVJBTV9OQU1FCmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9maW5kX2lmX3ByZWQuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vZmluZF9pZl9wcmVkLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NWM4Nzg2Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vZmluZF9pZl9wcmVkLmhwcApAQCAtMCwwICsxLDMxIEBACisKKyNpZm5kZWYgQk9PU1RfTVBMX0FVWF9GSU5EX0lGX1BSRURfSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX01QTF9BVVhfRklORF9JRl9QUkVEX0hQUF9JTkNMVURFRAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vIENvcHlyaWdodCBFcmljIEZyaWVkbWFuIDIwMDIKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisvLyBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvbGlicy9tcGwgZm9yIGRvY3VtZW50YXRpb24uCisKKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9pdGVyX2FwcGx5LmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvbm90LmhwcD4KKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7IG5hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgUHJlZGljYXRlID4KK3N0cnVjdCBmaW5kX2lmX3ByZWQKK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgSXRlcmF0b3IgPgorICAgIHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBub3RfPCBhdXg6Oml0ZXJfYXBwbHkxPFByZWRpY2F0ZSxJdGVyYXRvcj4gPiB0eXBlOworICAgIH07Cit9OworCit9fX0KKworI2VuZGlmIC8vIEJPT1NUX01QTF9BVVhfRklORF9JRl9QUkVEX0hQUF9JTkNMVURFRApkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vZm9sZF9pbXBsLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL2ZvbGRfaW1wbC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzM5ZTI5NgotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL2ZvbGRfaW1wbC5ocHAKQEAgLTAsMCArMSw0MyBAQAorCisjaWZuZGVmIEJPT1NUX01QTF9BVVhfRk9MRF9JTVBMX0hQUF9JTkNMVURFRAorI2RlZmluZSBCT09TVF9NUExfQVVYX0ZPTERfSU1QTF9IUFBfSU5DTFVERUQKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworLy8gU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL2xpYnMvbXBsIGZvciBkb2N1bWVudGF0aW9uLgorCisvLyAkSWQ6IGZvbGRfaW1wbC5ocHAgNDkyNjcgMjAwOC0xMC0xMSAwNjoxOTowMlogYWd1cnRvdm95ICQKKy8vICREYXRlOiAyMDA4LTEwLTEwIDIzOjE5OjAyIC0wNzAwIChGcmksIDEwIE9jdCAyMDA4KSAkCisvLyAkUmV2aXNpb246IDQ5MjY3ICQKKworI2lmICFkZWZpbmVkKEJPT1NUX01QTF9QUkVQUk9DRVNTSU5HX01PREUpCisjICAgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL25leHRfcHJpb3IuaHBwPgorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC9hcHBseS5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2RlcmVmLmhwcD4KKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9jb25maWcvY3Rwcy5ocHA+CisjICAgaWYgZGVmaW5lZChCT09TVF9OT19URU1QTEFURV9QQVJUSUFMX1NQRUNJQUxJWkFUSU9OKQorIyAgICAgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvaWYuaHBwPgorIyAgICAgICBpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9pc19zYW1lLmhwcD4KKyMgICBlbmRpZgorI2VuZGlmCisKKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9jb25maWcvdXNlX3ByZXByb2Nlc3NlZC5ocHA+CisKKyNpZiAhZGVmaW5lZChCT09TVF9NUExfQ0ZHX05PX1BSRVBST0NFU1NFRF9IRUFERVJTKSBcCisgICAgJiYgIWRlZmluZWQoQk9PU1RfTVBMX1BSRVBST0NFU1NJTkdfTU9ERSkKKworIyAgIGRlZmluZSBCT09TVF9NUExfUFJFUFJPQ0VTU0VEX0hFQURFUiBmb2xkX2ltcGwuaHBwCisjICAgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vaW5jbHVkZV9wcmVwcm9jZXNzZWQuaHBwPgorCisjZWxzZQorCisjICAgZGVmaW5lIEFVWDc3ODA3Nl9GT0xEX0lNUExfT1AoaXRlcikgdHlwZW5hbWUgZGVyZWY8aXRlcj46OnR5cGUKKyMgICBkZWZpbmUgQVVYNzc4MDc2X0ZPTERfSU1QTF9OQU1FX1BSRUZJWCBmb2xkCisjICAgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vZm9sZF9pbXBsX2JvZHkuaHBwPgorCisjZW5kaWYgLy8gQk9PU1RfTVBMX0NGR19OT19QUkVQUk9DRVNTRURfSEVBREVSUworI2VuZGlmIC8vIEJPT1NUX01QTF9BVVhfRk9MRF9JTVBMX0hQUF9JTkNMVURFRApkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vZm9sZF9pbXBsX2JvZHkuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vZm9sZF9pbXBsX2JvZHkuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI2OThkYmUKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9mb2xkX2ltcGxfYm9keS5ocHAKQEAgLTAsMCArMSwzNjUgQEAKKworLy8gTk8gSU5DTFVERSBHVUFSRFMsIFRIRSBIRUFERVIgSVMgSU5URU5ERUQgRk9SIE1VTFRJUExFIElOQ0xVU0lPTgorCisjaWYgIWRlZmluZWQoQk9PU1RfUFBfSVNfSVRFUkFUSU5HKQorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisvLyBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvbGlicy9tcGwgZm9yIGRvY3VtZW50YXRpb24uCisKKy8vICRJZDogZm9sZF9pbXBsX2JvZHkuaHBwIDQ5MjY3IDIwMDgtMTAtMTEgMDY6MTk6MDJaIGFndXJ0b3ZveSAkCisvLyAkRGF0ZTogMjAwOC0xMC0xMCAyMzoxOTowMiAtMDcwMCAoRnJpLCAxMCBPY3QgMjAwOCkgJAorLy8gJFJldmlzaW9uOiA0OTI2NyAkCisKKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvbGltaXRzL3Vucm9sbGluZy5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc29yL3JlcGVhdC5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vY29uZmlnL3dvcmthcm91bmQuaHBwPgorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2NvbmZpZy9jdHBzLmhwcD4KKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9udHRwX2RlY2wuaHBwPgorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2NvbmZpZy9ldGkuaHBwPgorCisjICAgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL2l0ZXJhdGUuaHBwPgorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9kZWMuaHBwPgorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9jYXQuaHBwPgorCisvLyBsb2NhbCBtYWNyb3MsICN1bmRlZi1pbmVkIGF0IHRoZSBlbmQgb2YgdGhlIGhlYWRlcgorCisjICAgZGVmaW5lIEFVWDc3ODA3Nl9JVEVSX0ZPTERfU1RFUCh1bnVzZWQsIGksIHVudXNlZDIpIFwKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgXAorICAgICAgICAgIEZvcndhcmRPcCBcCisgICAgICAgICwgQk9PU1RfUFBfQ0FUKHN0YXRlLGkpIFwKKyAgICAgICAgLCBBVVg3NzgwNzZfRk9MRF9JTVBMX09QKEJPT1NUX1BQX0NBVChpdGVyLGkpKSBcCisgICAgICAgID46OnR5cGUgQk9PU1RfUFBfQ0FUKHN0YXRlLEJPT1NUX1BQX0lOQyhpKSk7IFwKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxCT09TVF9QUF9DQVQoaXRlcixpKT46OnR5cGUgXAorICAgICAgICBCT09TVF9QUF9DQVQoaXRlcixCT09TVF9QUF9JTkMoaSkpOyBcCisgICAgLyoqLworCisjICAgZGVmaW5lIEFVWDc3ODA3Nl9GT0xEX0lNUExfTkFNRSBcCisgICAgQk9PU1RfUFBfQ0FUKEFVWDc3ODA3Nl9GT0xEX0lNUExfTkFNRV9QUkVGSVgsX2ltcGwpIFwKKyAgICAvKiovCisKKyMgICBkZWZpbmUgQVVYNzc4MDc2X0ZPTERfQ0hVTktfTkFNRSBcCisgICAgQk9PU1RfUFBfQ0FUKEFVWDc3ODA3Nl9GT0xEX0lNUExfTkFNRV9QUkVGSVgsX2NodW5rKSBcCisgICAgLyoqLworCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsgbmFtZXNwYWNlIGF1eCB7CisKKy8vLyBmb3J3YXJkIGRlY2xhcmF0aW9uCit0ZW1wbGF0ZTwKKyAgICAgIEJPT1NUX01QTF9BVVhfTlRUUF9ERUNMKGludCwgTikKKyAgICAsIHR5cGVuYW1lIEZpcnN0CisgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgPiAKK3N0cnVjdCBBVVg3NzgwNzZfRk9MRF9JTVBMX05BTUU7CisKKyNpZiAhZGVmaW5lZChCT09TVF9OT19URU1QTEFURV9QQVJUSUFMX1NQRUNJQUxJWkFUSU9OKQorCisjICAgaWYgIUJPT1NUX1dPUktBUk9VTkQoX19CT1JMQU5EQ19fLCA8IDB4NjAwKQorCisjICAgZGVmaW5lIEJPT1NUX1BQX0lURVJBVElPTl9QQVJBTVNfMSBcCisgICAgKDMsKDAsIEJPT1NUX01QTF9MSU1JVF9VTlJPTExJTkcsIDxuZG5ib29zdC9tcGwvYXV4Xy9mb2xkX2ltcGxfYm9keS5ocHA+KSkKKyMgICBpbmNsdWRlIEJPT1NUX1BQX0lURVJBVEUoKQorCisvLyBpbXBsZW1lbnRhdGlvbiBmb3IgTiB0aGF0IGV4Y2VlZHMgQk9PU1RfTVBMX0xJTUlUX1VOUk9MTElORwordGVtcGxhdGU8CisgICAgICBCT09TVF9NUExfQVVYX05UVFBfREVDTChpbnQsIE4pCisgICAgLCB0eXBlbmFtZSBGaXJzdAorICAgICwgdHlwZW5hbWUgTGFzdAorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgID4gCitzdHJ1Y3QgQVVYNzc4MDc2X0ZPTERfSU1QTF9OQU1FCit7CisgICAgdHlwZWRlZiBBVVg3NzgwNzZfRk9MRF9JTVBMX05BTUU8CisgICAgICAgICAgQk9PU1RfTVBMX0xJTUlUX1VOUk9MTElORworICAgICAgICAsIEZpcnN0CisgICAgICAgICwgTGFzdAorICAgICAgICAsIFN0YXRlCisgICAgICAgICwgRm9yd2FyZE9wCisgICAgICAgID4gY2h1bmtfOworCisgICAgdHlwZWRlZiBBVVg3NzgwNzZfRk9MRF9JTVBMX05BTUU8CisgICAgICAgICAgKCAoTiAtIEJPT1NUX01QTF9MSU1JVF9VTlJPTExJTkcpIDwgMCA/IDAgOiBOIC0gQk9PU1RfTVBMX0xJTUlUX1VOUk9MTElORyApCisgICAgICAgICwgdHlwZW5hbWUgY2h1bmtfOjppdGVyYXRvcgorICAgICAgICAsIExhc3QKKyAgICAgICAgLCB0eXBlbmFtZSBjaHVua186OnN0YXRlCisgICAgICAgICwgRm9yd2FyZE9wCisgICAgICAgID4gcmVzXzsKKyAgICAgICAgCisgICAgdHlwZWRlZiB0eXBlbmFtZSByZXNfOjpzdGF0ZSBzdGF0ZTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHJlc186Oml0ZXJhdG9yIGl0ZXJhdG9yOworfTsKKworLy8gZmFsbGJhY2sgaW1wbGVtZW50YXRpb24gZm9yIHNlcXVlbmNlcyBvZiB1bmtub3duIHNpemUKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+IAorc3RydWN0IEFVWDc3ODA3Nl9GT0xEX0lNUExfTkFNRTwtMSxGaXJzdCxMYXN0LFN0YXRlLEZvcndhcmRPcD4KKyAgICA6IEFVWDc3ODA3Nl9GT0xEX0lNUExfTkFNRTwKKyAgICAgICAgICAtMQorICAgICAgICAsIHR5cGVuYW1lIG1wbDo6bmV4dDxGaXJzdD46OnR5cGUKKyAgICAgICAgLCBMYXN0CisgICAgICAgICwgdHlwZW5hbWUgYXBwbHkyPEZvcndhcmRPcCxTdGF0ZSxBVVg3NzgwNzZfRk9MRF9JTVBMX09QKEZpcnN0KT46OnR5cGUKKyAgICAgICAgLCBGb3J3YXJkT3AKKyAgICAgICAgPgoreworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBMYXN0CisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgPiAKK3N0cnVjdCBBVVg3NzgwNzZfRk9MRF9JTVBMX05BTUU8LTEsTGFzdCxMYXN0LFN0YXRlLEZvcndhcmRPcD4KK3sKKyAgICB0eXBlZGVmIFN0YXRlIHN0YXRlOworICAgIHR5cGVkZWYgTGFzdCBpdGVyYXRvcjsKK307CisKKyMgICBlbHNlIC8vIEJPT1NUX1dPUktBUk9VTkQoX19CT1JMQU5EQ19fLCA8IDB4NjAwKQorCisvLyBCb3JsYW5kIGhhdmUgc29tZSBzZXJpb3VzIHByb2JsZW1zIHdpdGggdGhlIHVucm9sbGVkIHZlcnNpb24sIHNvCisvLyB3ZSBhbHdheXMgdXNlIGEgYmFzaWMgaW1wbGVtZW50YXRpb24KK3RlbXBsYXRlPAorICAgICAgQk9PU1RfTVBMX0FVWF9OVFRQX0RFQ0woaW50LCBOKQorICAgICwgdHlwZW5hbWUgRmlyc3QKKyAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+IAorc3RydWN0IEFVWDc3ODA3Nl9GT0xEX0lNUExfTkFNRQoreworICAgIHR5cGVkZWYgQVVYNzc4MDc2X0ZPTERfSU1QTF9OQU1FPAorICAgICAgICAgIC0xCisgICAgICAgICwgdHlwZW5hbWUgbXBsOjpuZXh0PEZpcnN0Pjo6dHlwZQorICAgICAgICAsIExhc3QKKyAgICAgICAgLCB0eXBlbmFtZSBhcHBseTI8Rm9yd2FyZE9wLFN0YXRlLEFVWDc3ODA3Nl9GT0xEX0lNUExfT1AoRmlyc3QpPjo6dHlwZQorICAgICAgICAsIEZvcndhcmRPcAorICAgICAgICA+IHJlc187CisKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHJlc186OnN0YXRlIHN0YXRlOworICAgIHR5cGVkZWYgdHlwZW5hbWUgcmVzXzo6aXRlcmF0b3IgaXRlcmF0b3I7CisgICAgdHlwZWRlZiBzdGF0ZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICBCT09TVF9NUExfQVVYX05UVFBfREVDTChpbnQsIE4pCisgICAgICwgdHlwZW5hbWUgTGFzdAorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgID4gCitzdHJ1Y3QgQVVYNzc4MDc2X0ZPTERfSU1QTF9OQU1FPE4sTGFzdCxMYXN0LFN0YXRlLEZvcndhcmRPcCA+Cit7CisgICAgdHlwZWRlZiBTdGF0ZSBzdGF0ZTsKKyAgICB0eXBlZGVmIExhc3QgaXRlcmF0b3I7CisgICAgdHlwZWRlZiBzdGF0ZSB0eXBlOworfTsKKworIyAgIGVuZGlmIC8vIEJPT1NUX1dPUktBUk9VTkQoX19CT1JMQU5EQ19fLCA8IDB4NjAwKQorIAorI2Vsc2UgLy8gQk9PU1RfTk9fVEVNUExBVEVfUEFSVElBTF9TUEVDSUFMSVpBVElPTgorCit0ZW1wbGF0ZTwgQk9PU1RfTVBMX0FVWF9OVFRQX0RFQ0woaW50LCBOKSA+CitzdHJ1Y3QgQVVYNzc4MDc2X0ZPTERfQ0hVTktfTkFNRTsKKworIyAgIGRlZmluZSBCT09TVF9QUF9JVEVSQVRJT05fUEFSQU1TXzEgXAorICAgICgzLCgwLCBCT09TVF9NUExfTElNSVRfVU5ST0xMSU5HLCA8bmRuYm9vc3QvbXBsL2F1eF8vZm9sZF9pbXBsX2JvZHkuaHBwPikpCisjICAgaW5jbHVkZSBCT09TVF9QUF9JVEVSQVRFKCkKKworLy8gaW1wbGVtZW50YXRpb24gZm9yIE4gdGhhdCBleGNlZWRzIEJPT1NUX01QTF9MSU1JVF9VTlJPTExJTkcKK3RlbXBsYXRlPCBCT09TVF9NUExfQVVYX05UVFBfREVDTChpbnQsIE4pID4gCitzdHJ1Y3QgQVVYNzc4MDc2X0ZPTERfQ0hVTktfTkFNRQoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgICAgICwgdHlwZW5hbWUgTGFzdAorICAgICAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgICAgID4gCisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgQVVYNzc4MDc2X0ZPTERfSU1QTF9OQU1FPAorICAgICAgICAgICAgICBCT09TVF9NUExfTElNSVRfVU5ST0xMSU5HCisgICAgICAgICAgICAsIEZpcnN0CisgICAgICAgICAgICAsIExhc3QKKyAgICAgICAgICAgICwgU3RhdGUKKyAgICAgICAgICAgICwgRm9yd2FyZE9wCisgICAgICAgICAgICA+IGNodW5rXzsKKworICAgICAgICB0eXBlZGVmIEFVWDc3ODA3Nl9GT0xEX0lNUExfTkFNRTwKKyAgICAgICAgICAgICAgKCAoTiAtIEJPT1NUX01QTF9MSU1JVF9VTlJPTExJTkcpIDwgMCA/IDAgOiBOIC0gQk9PU1RfTVBMX0xJTUlUX1VOUk9MTElORyApCisgICAgICAgICAgICAsIHR5cGVuYW1lIGNodW5rXzo6aXRlcmF0b3IKKyAgICAgICAgICAgICwgTGFzdAorICAgICAgICAgICAgLCB0eXBlbmFtZSBjaHVua186OnN0YXRlCisgICAgICAgICAgICAsIEZvcndhcmRPcAorICAgICAgICAgICAgPiByZXNfOworCisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcmVzXzo6c3RhdGUgc3RhdGU7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcmVzXzo6aXRlcmF0b3IgaXRlcmF0b3I7CisgICAgfTsKK307CisKKy8vIGZhbGxiYWNrIGltcGxlbWVudGF0aW9uIGZvciBzZXF1ZW5jZXMgb2YgdW5rbm93biBzaXplCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgPiAKK3N0cnVjdCBCT09TVF9QUF9DQVQoQVVYNzc4MDc2X0ZPTERfSU1QTF9OQU1FX1BSRUZJWCxfc3RlcCk7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgTGFzdAorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICA+CitzdHJ1Y3QgQk9PU1RfUFBfQ0FUKEFVWDc3ODA3Nl9GT0xEX0lNUExfTkFNRV9QUkVGSVgsX251bGxfc3RlcCkKK3sKKyAgICB0eXBlZGVmIExhc3QgaXRlcmF0b3I7CisgICAgdHlwZWRlZiBTdGF0ZSBzdGF0ZTsKK307CisKK3RlbXBsYXRlPD4gCitzdHJ1Y3QgQVVYNzc4MDc2X0ZPTERfQ0hVTktfTkFNRTwtMT4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBGaXJzdAorICAgICAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgICAgICA+IAorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGlmXzwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgaXNfc2FtZTxGaXJzdCxMYXN0Pjo6dHlwZQorICAgICAgICAgICAgLCBCT09TVF9QUF9DQVQoQVVYNzc4MDc2X0ZPTERfSU1QTF9OQU1FX1BSRUZJWCxfbnVsbF9zdGVwKTxMYXN0LFN0YXRlPgorICAgICAgICAgICAgLCBCT09TVF9QUF9DQVQoQVVYNzc4MDc2X0ZPTERfSU1QTF9OQU1FX1BSRUZJWCxfc3RlcCk8Rmlyc3QsTGFzdCxTdGF0ZSxGb3J3YXJkT3A+CisgICAgICAgICAgICA+Ojp0eXBlIHJlc187CisKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByZXNfOjpzdGF0ZSBzdGF0ZTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByZXNfOjppdGVyYXRvciBpdGVyYXRvcjsKKyAgICB9OworCisjaWYgZGVmaW5lZChCT09TVF9NUExfQ0ZHX01TVkNfNjBfRVRJX0JVRykKKyAgICAvLy8gRVRJIHdvcmthcm91bmQKKyAgICB0ZW1wbGF0ZTw+IHN0cnVjdCByZXN1bHRfPGludCxpbnQsaW50LGludD4KKyAgICB7CisgICAgICAgIHR5cGVkZWYgaW50IHN0YXRlOworICAgICAgICB0eXBlZGVmIGludCBpdGVyYXRvcjsKKyAgICB9OworI2VuZGlmCit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgPiAKK3N0cnVjdCBCT09TVF9QUF9DQVQoQVVYNzc4MDc2X0ZPTERfSU1QTF9OQU1FX1BSRUZJWCxfc3RlcCkKK3sKKyAgICAvLyBjYW4ndCBpbmhlcml0IGhlcmUgLSBpdCBicmVha3MgTVNWQyA3LjAKKyAgICB0eXBlZGVmIEFVWDc3ODA3Nl9GT0xEX0NIVU5LX05BTUU8LTE+Ojp0ZW1wbGF0ZSByZXN1bHRfPAorICAgICAgICAgIHR5cGVuYW1lIG1wbDo6bmV4dDxGaXJzdD46OnR5cGUKKyAgICAgICAgLCBMYXN0CisgICAgICAgICwgdHlwZW5hbWUgYXBwbHkyPEZvcndhcmRPcCxTdGF0ZSxBVVg3NzgwNzZfRk9MRF9JTVBMX09QKEZpcnN0KT46OnR5cGUKKyAgICAgICAgLCBGb3J3YXJkT3AKKyAgICAgICAgPiBjaHVua187CisKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGNodW5rXzo6c3RhdGUgc3RhdGU7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBjaHVua186Oml0ZXJhdG9yIGl0ZXJhdG9yOworfTsKKwordGVtcGxhdGU8CisgICAgICBCT09TVF9NUExfQVVYX05UVFBfREVDTChpbnQsIE4pCisgICAgLCB0eXBlbmFtZSBGaXJzdAorICAgICwgdHlwZW5hbWUgTGFzdAorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgID4gCitzdHJ1Y3QgQVVYNzc4MDc2X0ZPTERfSU1QTF9OQU1FCisgICAgOiBBVVg3NzgwNzZfRk9MRF9DSFVOS19OQU1FPE4+CisgICAgICAgIDo6dGVtcGxhdGUgcmVzdWx0XzxGaXJzdCxMYXN0LFN0YXRlLEZvcndhcmRPcD4KK3sKK307CisKKyNlbmRpZiAvLyBCT09TVF9OT19URU1QTEFURV9QQVJUSUFMX1NQRUNJQUxJWkFUSU9OCisKK319fQorCisjICAgdW5kZWYgQVVYNzc4MDc2X0ZPTERfSU1QTF9OQU1FCisjICAgdW5kZWYgQVVYNzc4MDc2X0ZPTERfQ0hVTktfTkFNRQorIyAgIHVuZGVmIEFVWDc3ODA3Nl9JVEVSX0ZPTERfU1RFUAorCisjdW5kZWYgQVVYNzc4MDc2X0ZPTERfSU1QTF9PUAorI3VuZGVmIEFVWDc3ODA3Nl9GT0xEX0lNUExfTkFNRV9QUkVGSVgKKworLy8vLy8gaXRlcmF0aW9uCisKKyNlbHNlCisKKyMgICBkZWZpbmUgbl8gQk9PU1RfUFBfRlJBTUVfSVRFUkFUSU9OKDEpCisKKyNpZiAhZGVmaW5lZChCT09TVF9OT19URU1QTEFURV9QQVJUSUFMX1NQRUNJQUxJWkFUSU9OKQorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgPgorc3RydWN0IEFVWDc3ODA3Nl9GT0xEX0lNUExfTkFNRTxuXyxGaXJzdCxMYXN0LFN0YXRlLEZvcndhcmRPcD4KK3sKKyAgICB0eXBlZGVmIEZpcnN0IGl0ZXIwOworICAgIHR5cGVkZWYgU3RhdGUgc3RhdGUwOworCisgICAgQk9PU1RfTVBMX1BQX1JFUEVBVChuXywgQVVYNzc4MDc2X0lURVJfRk9MRF9TVEVQLCB1bnVzZWQpCisKKyAgICB0eXBlZGVmIEJPT1NUX1BQX0NBVChzdGF0ZSxuXykgc3RhdGU7CisgICAgdHlwZWRlZiBCT09TVF9QUF9DQVQoaXRlcixuXykgaXRlcmF0b3I7Cit9OworCisjZWxzZQorCit0ZW1wbGF0ZTw+IHN0cnVjdCBBVVg3NzgwNzZfRk9MRF9DSFVOS19OQU1FPG5fPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgICAgICwgdHlwZW5hbWUgTGFzdAorICAgICAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiBGaXJzdCBpdGVyMDsKKyAgICAgICAgdHlwZWRlZiBTdGF0ZSBzdGF0ZTA7CisKKyAgICAgICAgQk9PU1RfTVBMX1BQX1JFUEVBVChuXywgQVVYNzc4MDc2X0lURVJfRk9MRF9TVEVQLCB1bnVzZWQpCisKKyAgICAgICAgdHlwZWRlZiBCT09TVF9QUF9DQVQoc3RhdGUsbl8pIHN0YXRlOworICAgICAgICB0eXBlZGVmIEJPT1NUX1BQX0NBVChpdGVyLG5fKSBpdGVyYXRvcjsKKyAgICB9OworCisjaWYgZGVmaW5lZChCT09TVF9NUExfQ0ZHX01TVkNfNjBfRVRJX0JVRykKKyAgICAvLy8gRVRJIHdvcmthcm91bmQKKyAgICB0ZW1wbGF0ZTw+IHN0cnVjdCByZXN1bHRfPGludCxpbnQsaW50LGludD4KKyAgICB7CisgICAgICAgIHR5cGVkZWYgaW50IHN0YXRlOworICAgICAgICB0eXBlZGVmIGludCBpdGVyYXRvcjsKKyAgICB9OworI2VuZGlmCit9OworCisjZW5kaWYgLy8gQk9PU1RfTk9fVEVNUExBVEVfUEFSVElBTF9TUEVDSUFMSVpBVElPTgorCisjICAgdW5kZWYgbl8KKworI2VuZGlmIC8vIEJPT1NUX1BQX0lTX0lURVJBVElORwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vZnJvbnRfaW1wbC5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9mcm9udF9pbXBsLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hOTEyZWIzCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vZnJvbnRfaW1wbC5ocHAKQEAgLTAsMCArMSw0MSBAQAorCisjaWZuZGVmIEJPT1NUX01QTF9BVVhfRlJPTlRfSU1QTF9IUFBfSU5DTFVERUQKKyNkZWZpbmUgQk9PU1RfTVBMX0FVWF9GUk9OVF9JTVBMX0hQUF9JTkNMVURFRAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisvLyBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvbGlicy9tcGwgZm9yIGRvY3VtZW50YXRpb24uCisKKy8vICRJZDogZnJvbnRfaW1wbC5ocHAgNDkyNjcgMjAwOC0xMC0xMSAwNjoxOTowMlogYWd1cnRvdm95ICQKKy8vICREYXRlOiAyMDA4LTEwLTEwIDIzOjE5OjAyIC0wNzAwIChGcmksIDEwIE9jdCAyMDA4KSAkCisvLyAkUmV2aXNpb246IDQ5MjY3ICQKKworI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9mcm9udF9md2QuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9iZWdpbl9lbmQuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9kZXJlZi5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vdHJhaXRzX2xhbWJkYV9zcGVjLmhwcD4KKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKKy8vIGRlZmF1bHQgaW1wbGVtZW50YXRpb247IGNvbnJldGUgc2VxdWVuY2VzIG1pZ2h0IG92ZXJyaWRlIGl0IGJ5IAorLy8gc3BlY2lhbGl6aW5nIGVpdGhlciB0aGUgJ2Zyb250X2ltcGwnIG9yIHRoZSBwcmltYXJ5ICdmcm9udCcgdGVtcGxhdGUKKwordGVtcGxhdGU8IHR5cGVuYW1lIFRhZyA+CitzdHJ1Y3QgZnJvbnRfaW1wbAoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBTZXF1ZW5jZSA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBiZWdpbjxTZXF1ZW5jZT46OnR5cGUgaXRlcl87CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgZGVyZWY8aXRlcl8+Ojp0eXBlIHR5cGU7CisgICAgfTsKK307CisKK0JPT1NUX01QTF9BTEdPUklUTV9UUkFJVFNfTEFNQkRBX1NQRUMoMSxmcm9udF9pbXBsKQorCit9fQorCisjZW5kaWYgLy8gQk9PU1RfTVBMX0FVWF9GUk9OVF9JTVBMX0hQUF9JTkNMVURFRApkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vZnVsbF9sYW1iZGEuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vZnVsbF9sYW1iZGEuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVhMWJhNWYKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9mdWxsX2xhbWJkYS5ocHAKQEAgLTAsMCArMSwzNTQgQEAKKworI2lmICFkZWZpbmVkKEJPT1NUX1BQX0lTX0lURVJBVElORykKKworLy8vLy8gaGVhZGVyIGJvZHkKKworI2lmbmRlZiBCT09TVF9NUExfQVVYX0ZVTExfTEFNQkRBX0hQUF9JTkNMVURFRAorI2RlZmluZSBCT09TVF9NUExfQVVYX0ZVTExfTEFNQkRBX0hQUF9JTkNMVURFRAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAxLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisvLyBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvbGlicy9tcGwgZm9yIGRvY3VtZW50YXRpb24uCisKKy8vICRJZDogZnVsbF9sYW1iZGEuaHBwIDQ5MjY3IDIwMDgtMTAtMTEgMDY6MTk6MDJaIGFndXJ0b3ZveSAkCisvLyAkRGF0ZTogMjAwOC0xMC0xMCAyMzoxOTowMiAtMDcwMCAoRnJpLCAxMCBPY3QgMjAwOCkgJAorLy8gJFJldmlzaW9uOiA0OTI2NyAkCisKKyNpZiAhZGVmaW5lZChCT09TVF9NUExfUFJFUFJPQ0VTU0lOR19NT0RFKQorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC9sYW1iZGFfZndkLmhwcD4KKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvYmluZF9md2QuaHBwPgorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC9wcm90ZWN0LmhwcD4KKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvcXVvdGUuaHBwPgorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC9hcmcuaHBwPgorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC9ib29sLmhwcD4KKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvaW50X2Z3ZC5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vdGVtcGxhdGVfYXJpdHkuaHBwPgorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL25hX3NwZWMuaHBwPgorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2NvbmZpZy90dHAuaHBwPgorIyAgIGlmIGRlZmluZWQoQk9PU1RfTVBMX0NGR19FWFRFTkRFRF9URU1QTEFURV9QQVJBTUVURVJTX01BVENISU5HKQorIyAgICAgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvaWYuaHBwPgorIyAgIGVuZGlmCisjZW5kaWYKKworI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2xhbWJkYV9hcml0eV9wYXJhbS5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vY29uZmlnL3VzZV9wcmVwcm9jZXNzZWQuaHBwPgorCisjaWYgIWRlZmluZWQoQk9PU1RfTVBMX0NGR19OT19QUkVQUk9DRVNTRURfSEVBREVSUykgXAorICAgICYmICFkZWZpbmVkKEJPT1NUX01QTF9QUkVQUk9DRVNTSU5HX01PREUpCisKKyMgICBkZWZpbmUgQk9PU1RfTVBMX1BSRVBST0NFU1NFRF9IRUFERVIgZnVsbF9sYW1iZGEuaHBwCisjICAgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vaW5jbHVkZV9wcmVwcm9jZXNzZWQuaHBwPgorCisjZWxzZQorCisjICAgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2xpbWl0cy9hcml0eS5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc29yL2RlZmF1bHRfcGFyYW1zLmhwcD4KKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzb3IvcGFyYW1zLmhwcD4KKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzb3IvZW51bS5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc29yL3JlcGVhdC5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vY29uZmlnL2RtY19hbWJpZ3VvdXNfY3Rwcy5ocHA+CisKKyMgICBpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3IvaXRlcmF0ZS5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL2NvbW1hX2lmLmhwcD4KKyMgICBpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3IvaW5jLmhwcD4KKyMgICBpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3IvY2F0LmhwcD4KKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKKy8vIGxvY2FsIG1hY3JvcywgI3VuZGVmLWluZWQgYXQgdGhlIGVuZCBvZiB0aGUgaGVhZGVyCisjICAgZGVmaW5lIEFVWDc3ODA3Nl9MQU1CREFfUEFSQU1TKGlfLCBwYXJhbSkgXAorICAgIEJPT1NUX01QTF9QUF9QQVJBTVMoaV8sIHBhcmFtKSBcCisgICAgLyoqLworCisjICAgZGVmaW5lIEFVWDc3ODA3Nl9CSU5EX1BBUkFNUyhwYXJhbSkgXAorICAgIEJPT1NUX01QTF9QUF9QQVJBTVMoIFwKKyAgICAgICAgICBCT09TVF9NUExfTElNSVRfTUVUQUZVTkNUSU9OX0FSSVRZIFwKKyAgICAgICAgLCBwYXJhbSBcCisgICAgICAgICkgXAorICAgIC8qKi8KKworIyAgIGRlZmluZSBBVVg3NzgwNzZfQklORF9OX1BBUkFNUyhpXywgcGFyYW0pIFwKKyAgICBCT09TVF9QUF9DT01NQV9JRihpXykgXAorICAgIEJPT1NUX01QTF9QUF9QQVJBTVMoaV8sIHBhcmFtKSBcCisgICAgLyoqLworCisjICAgZGVmaW5lIEFVWDc3ODA3Nl9BUklUWV9QQVJBTShwYXJhbSkgXAorICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX0FSSVRZX1BBUkFNKHBhcmFtKSBcCisgICAgLyoqLworCisKKyNkZWZpbmUgbl8gQk9PU1RfTVBMX0xJTUlUX01FVEFGVU5DVElPTl9BUklUWQorbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPAorICAgICAgQk9PU1RfTVBMX1BQX0RFRkFVTFRfUEFSQU1TKG5fLGJvb2wgQyxmYWxzZSkKKyAgICA+CitzdHJ1Y3QgbGFtYmRhX29yCisgICAgOiB0cnVlXworeworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGxhbWJkYV9vcjwgQk9PU1RfTVBMX1BQX0VOVU0obl8sZmFsc2UpID4KKyAgICA6IGZhbHNlXworeworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisjdW5kZWYgbl8KKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUCisgICAgLCB0eXBlbmFtZSBUYWcKKyAgICBBVVg3NzgwNzZfQVJJVFlfUEFSQU0odHlwZW5hbWUgQXJpdHkpCisgICAgPgorc3RydWN0IGxhbWJkYQoreworICAgIHR5cGVkZWYgZmFsc2VfIGlzX2xlOworICAgIHR5cGVkZWYgVCByZXN1bHRfOworICAgIHR5cGVkZWYgVCB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUCisgICAgPgorc3RydWN0IGlzX2xhbWJkYV9leHByZXNzaW9uCisgICAgOiBsYW1iZGE8VD46OmlzX2xlCit7Cit9OworCisKK3RlbXBsYXRlPCBpbnQgTiwgdHlwZW5hbWUgVGFnID4KK3N0cnVjdCBsYW1iZGE8IGFyZzxOPixUYWcgQVVYNzc4MDc2X0FSSVRZX1BBUkFNKGludF88LTE+KSA+Cit7CisgICAgdHlwZWRlZiB0cnVlXyBpc19sZTsKKyAgICB0eXBlZGVmIG1wbDo6YXJnPE4+IHJlc3VsdF87IC8vIHF1YWxpZmllZCBmb3IgdGhlIHNha2Ugb2YgTUlQU3BybyA3LjQxCisgICAgdHlwZWRlZiBtcGw6OnByb3RlY3Q8cmVzdWx0Xz4gdHlwZTsgCit9OworCisKKyNkZWZpbmUgQk9PU1RfUFBfSVRFUkFUSU9OX1BBUkFNU18xIFwKKyAgICAoMywoMCwgQk9PU1RfTVBMX0xJTUlUX01FVEFGVU5DVElPTl9BUklUWSwgPG5kbmJvb3N0L21wbC9hdXhfL2Z1bGxfbGFtYmRhLmhwcD4pKQorI2luY2x1ZGUgQk9PU1RfUFBfSVRFUkFURSgpCisKKy8vLyBzcGVjaWFsIGNhc2UgZm9yICdwcm90ZWN0JwordGVtcGxhdGU8IHR5cGVuYW1lIFQsIHR5cGVuYW1lIFRhZyA+CitzdHJ1Y3QgbGFtYmRhPCBtcGw6OnByb3RlY3Q8VD4sVGFnIEFVWDc3ODA3Nl9BUklUWV9QQVJBTShpbnRfPDE+KSA+Cit7CisgICAgdHlwZWRlZiBmYWxzZV8gaXNfbGU7CisgICAgdHlwZWRlZiBtcGw6OnByb3RlY3Q8VD4gcmVzdWx0XzsKKyAgICB0eXBlZGVmIHJlc3VsdF8gdHlwZTsKK307CisKKy8vLyBzcGVjaWFsaXphdGlvbnMgZm9yIHRoZSBtYWluICdiaW5kJyBmb3JtCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIEFVWDc3ODA3Nl9CSU5EX1BBUkFNUyh0eXBlbmFtZSBUKQorICAgICwgdHlwZW5hbWUgVGFnCisgICAgPgorc3RydWN0IGxhbWJkYTwKKyAgICAgICAgICBiaW5kPEYsQVVYNzc4MDc2X0JJTkRfUEFSQU1TKFQpPgorICAgICAgICAsIFRhZworICAgICAgICBBVVg3NzgwNzZfQVJJVFlfUEFSQU0oaW50XzxCT09TVF9QUF9JTkMoQk9PU1RfTVBMX0xJTUlUX01FVEFGVU5DVElPTl9BUklUWSk+KQorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiBmYWxzZV8gaXNfbGU7CisgICAgdHlwZWRlZiBiaW5kPEYsIEFVWDc3ODA3Nl9CSU5EX1BBUkFNUyhUKT4gcmVzdWx0XzsKKyAgICB0eXBlZGVmIHJlc3VsdF8gdHlwZTsKK307CisKKworI2lmIGRlZmluZWQoQk9PU1RfTVBMX0NGR19FWFRFTkRFRF9URU1QTEFURV9QQVJBTUVURVJTX01BVENISU5HKQorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYKKyAgICAsIHR5cGVuYW1lIFRhZzEKKyAgICAsIHR5cGVuYW1lIFRhZzIKKyAgICAsIHR5cGVuYW1lIEFyaXR5CisgICAgPgorc3RydWN0IGxhbWJkYTwKKyAgICAgICAgICBsYW1iZGE8RixUYWcxLEFyaXR5PgorICAgICAgICAsIFRhZzIKKyAgICAgICAgLCBpbnRfPDM+CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIGxhbWJkYTwgRixUYWcyID4gbDE7CisgICAgdHlwZWRlZiBsYW1iZGE8IFRhZzEsVGFnMiA+IGwyOworCisgICAgdHlwZWRlZiB0eXBlbmFtZSBsMTo6aXNfbGUgaXNfbGU7CisgICAgdHlwZWRlZiBiaW5kMTwgcXVvdGUxPGF1eDo6dGVtcGxhdGVfYXJpdHk+LCB0eXBlbmFtZSBsMTo6cmVzdWx0XyA+IGFyaXR5XzsKKyAgICB0eXBlZGVmIGxhbWJkYTwgdHlwZW5hbWUgaWZfPGlzX2xlLGFyaXR5XyxBcml0eT46OnR5cGUsVGFnMiA+IGwzOworICAgIAorICAgIHR5cGVkZWYgYXV4OjpsZV9yZXN1bHQzPGlzX2xlLCBUYWcyLCBtcGw6OmxhbWJkYSwgbDEsIGwyLCBsMz4gbGVfcmVzdWx0XzsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxlX3Jlc3VsdF86OnJlc3VsdF8gcmVzdWx0XzsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxlX3Jlc3VsdF86OnR5cGUgdHlwZTsKK307CisKKyNlbGlmICFkZWZpbmVkKEJPT1NUX01QTF9DRkdfRE1DX0FNQklHVU9VU19DVFBTKQorCisvLy8gd29ya2Fyb3VuZCBmb3IgTVdDVyA4LjMrL0VERyA8IDMwMywgbGVhZHMgdG8gYW1iaWd1aXR5IG9uIERpZ2l0YWwgTWFycwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUYWcxLCB0eXBlbmFtZSBUYWcyCisgICAgPgorc3RydWN0IGxhbWJkYTwKKyAgICAgICAgICBsYW1iZGE8IEYsVGFnMSA+CisgICAgICAgICwgVGFnMgorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiBsYW1iZGE8IEYsVGFnMiA+IGwxOworICAgIHR5cGVkZWYgbGFtYmRhPCBUYWcxLFRhZzIgPiBsMjsKKyAgICAKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGwxOjppc19sZSBpc19sZTsKKyAgICB0eXBlZGVmIGF1eDo6bGVfcmVzdWx0Mjxpc19sZSwgVGFnMiwgbXBsOjpsYW1iZGEsIGwxLCBsMj4gbGVfcmVzdWx0XzsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxlX3Jlc3VsdF86OnJlc3VsdF8gcmVzdWx0XzsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxlX3Jlc3VsdF86OnR5cGUgdHlwZTsKK307CisKKyNlbmRpZgorCisjICAgdW5kZWYgQVVYNzc4MDc2X0FSSVRZX1BBUkFNCisjICAgdW5kZWYgQVVYNzc4MDc2X0JJTkRfTl9QQVJBTVMKKyMgICB1bmRlZiBBVVg3NzgwNzZfQklORF9QQVJBTVMKKyMgICB1bmRlZiBBVVg3NzgwNzZfTEFNQkRBX1BBUkFNUworCisjaWYgIWRlZmluZWQoQk9PU1RfTVBMX0NGR19FWFRFTkRFRF9URU1QTEFURV9QQVJBTUVURVJTX01BVENISU5HKQorQk9PU1RfTVBMX0FVWF9OQV9TUEVDKDIsIGxhbWJkYSkKKyNlbHNlCitCT09TVF9NUExfQVVYX05BX1NQRUMyKDIsIDMsIGxhbWJkYSkKKyNlbmRpZgorCit9fQorCisjZW5kaWYgLy8gQk9PU1RfTVBMX0NGR19OT19QUkVQUk9DRVNTRURfSEVBREVSUworI2VuZGlmIC8vIEJPT1NUX01QTF9BVVhfRlVMTF9MQU1CREFfSFBQX0lOQ0xVREVECisKKy8vLy8vIGl0ZXJhdGlvbiwgZGVwdGggPT0gMQorCisvLyBGb3IgZ2NjIDQuNCBjb21wYXRhYmlsaXR5LCB3ZSBtdXN0IGluY2x1ZGUgdGhlCisvLyBCT09TVF9QUF9JVEVSQVRJT05fREVQVEggdGVzdCBpbnNpZGUgYW4gI2Vsc2UgY2xhdXNlLgorI2Vsc2UgLy8gQk9PU1RfUFBfSVNfSVRFUkFUSU5HCisjaWYgQk9PU1RfUFBfSVRFUkFUSU9OX0RFUFRIKCkgPT0gMQorI2RlZmluZSBpXyBCT09TVF9QUF9GUkFNRV9JVEVSQVRJT04oMSkKKworI2lmIGlfID4gMAorCituYW1lc3BhY2UgYXV4IHsKKworIyAgIGRlZmluZSBBVVg3NzgwNzZfUkVTVUxUKHVudXNlZCwgaV8sIFQpIFwKKyAgICBCT09TVF9QUF9DT01NQV9JRihpXykgXAorICAgIHR5cGVuYW1lIEJPT1NUX1BQX0NBVChULCBCT09TVF9QUF9JTkMoaV8pKTo6cmVzdWx0XyBcCisgICAgLyoqLworCisjICAgZGVmaW5lIEFVWDc3ODA3Nl9UWVBFKHVudXNlZCwgaV8sIFQpIFwKKyAgICBCT09TVF9QUF9DT01NQV9JRihpXykgXAorICAgIHR5cGVuYW1lIEJPT1NUX1BQX0NBVChULCBCT09TVF9QUF9JTkMoaV8pKTo6dHlwZSBcCisgICAgLyoqLworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIElzTEUsIHR5cGVuYW1lIFRhZworICAgICwgdGVtcGxhdGU8IEFVWDc3ODA3Nl9MQU1CREFfUEFSQU1TKGlfLCB0eXBlbmFtZSBQKSA+IGNsYXNzIEYKKyAgICAsIEFVWDc3ODA3Nl9MQU1CREFfUEFSQU1TKGlfLCB0eXBlbmFtZSBMKQorICAgID4KK3N0cnVjdCBCT09TVF9QUF9DQVQobGVfcmVzdWx0LGlfKQoreworICAgIHR5cGVkZWYgRjwKKyAgICAgICAgICBCT09TVF9NUExfUFBfUkVQRUFUKGlfLCBBVVg3NzgwNzZfVFlQRSwgTCkKKyAgICAgICAgPiByZXN1bHRfOworICAgIAorICAgIHR5cGVkZWYgcmVzdWx0XyB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUYWcKKyAgICAsIHRlbXBsYXRlPCBBVVg3NzgwNzZfTEFNQkRBX1BBUkFNUyhpXywgdHlwZW5hbWUgUCkgPiBjbGFzcyBGCisgICAgLCBBVVg3NzgwNzZfTEFNQkRBX1BBUkFNUyhpXywgdHlwZW5hbWUgTCkKKyAgICA+CitzdHJ1Y3QgQk9PU1RfUFBfQ0FUKGxlX3Jlc3VsdCxpXyk8IHRydWVfLFRhZyxGLEFVWDc3ODA3Nl9MQU1CREFfUEFSQU1TKGlfLCBMKSA+Cit7CisgICAgdHlwZWRlZiBCT09TVF9QUF9DQVQoYmluZCxpXyk8CisgICAgICAgICAgQk9PU1RfUFBfQ0FUKHF1b3RlLGlfKTxGLFRhZz4KKyAgICAgICAgLCBCT09TVF9NUExfUFBfUkVQRUFUKGlfLCBBVVg3NzgwNzZfUkVTVUxULCBMKQorICAgICAgICA+IHJlc3VsdF87CisKKyAgICB0eXBlZGVmIG1wbDo6cHJvdGVjdDxyZXN1bHRfPiB0eXBlOworfTsKKworIyAgIHVuZGVmIEFVWDc3ODA3Nl9UWVBFCisjICAgdW5kZWYgQVVYNzc4MDc2X1JFU1VMVAorCit9IC8vIG5hbWVzcGFjZSBhdXgKKworCisjICAgZGVmaW5lIEFVWDc3ODA3Nl9MQU1CREFfVFlQRURFRih1bnVzZWQsIGlfLCBUKSBcCisgICAgdHlwZWRlZiBsYW1iZGE8IEJPT1NUX1BQX0NBVChULCBCT09TVF9QUF9JTkMoaV8pKSwgVGFnID4gXAorICAgICAgICBCT09TVF9QUF9DQVQobCxCT09TVF9QUF9JTkMoaV8pKTsgXAorLyoqLworCisjICAgZGVmaW5lIEFVWDc3ODA3Nl9JU19MRV9UWVBFREVGKHVudXNlZCwgaV8sIHVudXNlZDIpIFwKKyAgICB0eXBlZGVmIHR5cGVuYW1lIEJPT1NUX1BQX0NBVChsLEJPT1NUX1BQX0lOQyhpXykpOjppc19sZSBcCisgICAgICAgIEJPT1NUX1BQX0NBVChpc19sZSxCT09TVF9QUF9JTkMoaV8pKTsgXAorLyoqLworCisjICAgZGVmaW5lIEFVWDc3ODA3Nl9JU19MQU1CREFfRVhQUih1bnVzZWQsIGlfLCB1bnVzZWQyKSBcCisgICAgQk9PU1RfUFBfQ09NTUFfSUYoaV8pIFwKKyAgICBCT09TVF9QUF9DQVQoaXNfbGUsQk9PU1RfUFBfSU5DKGlfKSk6OnZhbHVlIFwKKy8qKi8KKwordGVtcGxhdGU8CisgICAgICB0ZW1wbGF0ZTwgQVVYNzc4MDc2X0xBTUJEQV9QQVJBTVMoaV8sIHR5cGVuYW1lIFApID4gY2xhc3MgRgorICAgICwgQVVYNzc4MDc2X0xBTUJEQV9QQVJBTVMoaV8sIHR5cGVuYW1lIFQpCisgICAgLCB0eXBlbmFtZSBUYWcKKyAgICA+CitzdHJ1Y3QgbGFtYmRhPCAKKyAgICAgICAgICBGPEFVWDc3ODA3Nl9MQU1CREFfUEFSQU1TKGlfLCBUKT4KKyAgICAgICAgLCBUYWcKKyAgICAgICAgQVVYNzc4MDc2X0FSSVRZX1BBUkFNKGludF88aV8+KQorICAgICAgICA+Cit7CisgICAgQk9PU1RfTVBMX1BQX1JFUEVBVChpXywgQVVYNzc4MDc2X0xBTUJEQV9UWVBFREVGLCBUKQorICAgIEJPT1NUX01QTF9QUF9SRVBFQVQoaV8sIEFVWDc3ODA3Nl9JU19MRV9UWVBFREVGLCB1bnVzZWQpCisKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGF1eDo6bGFtYmRhX29yPAorICAgICAgICAgIEJPT1NUX01QTF9QUF9SRVBFQVQoaV8sIEFVWDc3ODA3Nl9JU19MQU1CREFfRVhQUiwgdW51c2VkKQorICAgICAgICA+Ojp0eXBlIGlzX2xlOworCisgICAgdHlwZWRlZiBhdXg6OkJPT1NUX1BQX0NBVChsZV9yZXN1bHQsaV8pPAorICAgICAgICAgIGlzX2xlLCBUYWcsIEYsIEFVWDc3ODA3Nl9MQU1CREFfUEFSQU1TKGlfLCBsKQorICAgICAgICA+IGxlX3Jlc3VsdF87CisgICAgCisgICAgdHlwZWRlZiB0eXBlbmFtZSBsZV9yZXN1bHRfOjpyZXN1bHRfIHJlc3VsdF87CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsZV9yZXN1bHRfOjp0eXBlIHR5cGU7Cit9OworCisKKyMgICB1bmRlZiBBVVg3NzgwNzZfSVNfTEFNQkRBX0VYUFIKKyMgICB1bmRlZiBBVVg3NzgwNzZfSVNfTEVfVFlQRURFRgorIyAgIHVuZGVmIEFVWDc3ODA3Nl9MQU1CREFfVFlQRURFRgorCisjZW5kaWYgLy8gaV8gPiAwCisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiBBVVg3NzgwNzZfQklORF9OX1BBUkFNUyhpXywgdHlwZW5hbWUgVCkKKyAgICAsIHR5cGVuYW1lIFRhZworICAgID4KK3N0cnVjdCBsYW1iZGE8CisgICAgICAgICAgQk9PU1RfUFBfQ0FUKGJpbmQsaV8pPEYgQVVYNzc4MDc2X0JJTkRfTl9QQVJBTVMoaV8sIFQpPgorICAgICAgICAsIFRhZworICAgICAgICBBVVg3NzgwNzZfQVJJVFlfUEFSQU0oaW50XzxCT09TVF9QUF9JTkMoaV8pPikKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgZmFsc2VfIGlzX2xlOworICAgIHR5cGVkZWYgQk9PU1RfUFBfQ0FUKGJpbmQsaV8pPAorICAgICAgICAgIEYKKyAgICAgICAgQVVYNzc4MDc2X0JJTkRfTl9QQVJBTVMoaV8sIFQpCisgICAgICAgID4gcmVzdWx0XzsKKyAgICAgICAgCisgICAgdHlwZWRlZiByZXN1bHRfIHR5cGU7Cit9OworCisjdW5kZWYgaV8KKyNlbmRpZiAvLyBCT09TVF9QUF9JVEVSQVRJT05fREVQVEgoKQorI2VuZGlmIC8vIEJPT1NUX1BQX0lTX0lURVJBVElORwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vaGFzX2FwcGx5LmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL2hhc19hcHBseS5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDg2Y2U1MwotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL2hhc19hcHBseS5ocHAKQEAgLTAsMCArMSwzMiBAQAorCisjaWZuZGVmIEJPT1NUX01QTF9BVVhfSEFTX0FQUExZX0hQUF9JTkNMVURFRAorI2RlZmluZSBCT09TVF9NUExfQVVYX0hBU19BUFBMWV9IUFBfSU5DTFVERUQKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKy8vIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL21wbCBmb3IgZG9jdW1lbnRhdGlvbi4KKworLy8gJElkOiBoYXNfYXBwbHkuaHBwIDQ5MjY3IDIwMDgtMTAtMTEgMDY6MTk6MDJaIGFndXJ0b3ZveSAkCisvLyAkRGF0ZTogMjAwOC0xMC0xMCAyMzoxOTowMiAtMDcwMCAoRnJpLCAxMCBPY3QgMjAwOCkgJAorLy8gJFJldmlzaW9uOiA0OTI2NyAkCisKKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvaGFzX3h4eC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vY29uZmlnL2hhc19hcHBseS5ocHA+CisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeyBuYW1lc3BhY2UgYXV4IHsKKyNpZiAhZGVmaW5lZChCT09TVF9NUExfQ0ZHX05PX0hBU19BUFBMWSkKK0JPT1NUX01QTF9IQVNfWFhYX1RSQUlUX05BTUVEX0RFRihoYXNfYXBwbHksIGFwcGx5LCBmYWxzZSkKKyNlbHNlCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVCwgdHlwZW5hbWUgZmFsbGJhY2tfID0gZmFsc2VfID4KK3N0cnVjdCBoYXNfYXBwbHkKKyAgICA6IGZhbGxiYWNrXworeworfTsKKyNlbmRpZgorfX19CisKKyNlbmRpZiAvLyBCT09TVF9NUExfQVVYX0hBU19BUFBMWV9IUFBfSU5DTFVERUQKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL2hhc19iZWdpbi5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9oYXNfYmVnaW4uaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZjYTU2MTAKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9oYXNfYmVnaW4uaHBwCkBAIC0wLDAgKzEsMjMgQEAKKworI2lmbmRlZiBCT09TVF9NUExfQVVYX0hBU19CRUdJTl9IUFBfSU5DTFVERUQKKyNkZWZpbmUgQk9PU1RfTVBMX0FVWF9IQVNfQkVHSU5fSFBQX0lOQ0xVREVECisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDItMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKy8vIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL21wbCBmb3IgZG9jdW1lbnRhdGlvbi4KKworLy8gJElkOiBoYXNfYmVnaW4uaHBwIDQ5MjY3IDIwMDgtMTAtMTEgMDY6MTk6MDJaIGFndXJ0b3ZveSAkCisvLyAkRGF0ZTogMjAwOC0xMC0xMCAyMzoxOTowMiAtMDcwMCAoRnJpLCAxMCBPY3QgMjAwOCkgJAorLy8gJFJldmlzaW9uOiA0OTI2NyAkCisKKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvaGFzX3h4eC5ocHA+CisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeyBuYW1lc3BhY2UgYXV4IHsKK0JPT1NUX01QTF9IQVNfWFhYX1RSQUlUX05BTUVEX0RFRihoYXNfYmVnaW4sIGJlZ2luLCB0cnVlKQorfX19CisKKyNlbmRpZiAvLyBCT09TVF9NUExfQVVYX0hBU19CRUdJTl9IUFBfSU5DTFVERUQKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL2hhc19yZWJpbmQuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vaGFzX3JlYmluZC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDQzZTI1MgotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL2hhc19yZWJpbmQuaHBwCkBAIC0wLDAgKzEsOTkgQEAKKworI2lmbmRlZiBCT09TVF9NUExfQVVYX0hBU19SRUJJTkRfSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX01QTF9BVVhfSEFTX1JFQklORF9IUFBfSU5DTFVERUQKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMi0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworLy8gU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL2xpYnMvbXBsIGZvciBkb2N1bWVudGF0aW9uLgorCisvLyAkSWQ6IGhhc19yZWJpbmQuaHBwIDQ5MjY3IDIwMDgtMTAtMTEgMDY6MTk6MDJaIGFndXJ0b3ZveSAkCisvLyAkRGF0ZTogMjAwOC0xMC0xMCAyMzoxOTowMiAtMDcwMCAoRnJpLCAxMCBPY3QgMjAwOCkgJAorLy8gJFJldmlzaW9uOiA0OTI2NyAkCisKKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9jb25maWcvbXN2Yy5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vY29uZmlnL2ludGVsLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9jb25maWcvd29ya2Fyb3VuZC5ocHA+CisKKyNpZiBCT09TVF9XT1JLQVJPVU5EKF9fRURHX1ZFUlNJT05fXywgPD0gMjQ0KSAmJiAhZGVmaW5lZChCT09TVF9JTlRFTF9DWFhfVkVSU0lPTikKKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvaGFzX3h4eC5ocHA+CisjZWxpZiBCT09TVF9XT1JLQVJPVU5EKEJPT1NUX01TVkMsIDwgMTMwMCkKKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvaGFzX3h4eC5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2lmLmhwcD4KKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvYm9vbC5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vbXN2Y19pc19jbGFzcy5ocHA+CisjZWxpZiBCT09TVF9XT1JLQVJPVU5EKF9fQk9STEFORENfXywgQk9PU1RfVEVTVEVEX0FUKDB4NjEwKSkKKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvaWYuaHBwPgorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC9ib29sLmhwcD4KKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy95ZXNfbm8uaHBwPgorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2NvbmZpZy9zdGF0aWNfY29uc3RhbnQuaHBwPgorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2lzX2NsYXNzLmhwcD4KKyNlbHNlCisjICAgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vdHlwZV93cmFwcGVyLmhwcD4KKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy95ZXNfbm8uaHBwPgorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2NvbmZpZy9zdGF0aWNfY29uc3RhbnQuaHBwPgorI2VuZGlmCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeyBuYW1lc3BhY2UgYXV4IHsKKworI2lmIEJPT1NUX1dPUktBUk9VTkQoX19FREdfVkVSU0lPTl9fLCA8PSAyNDQpICYmICFkZWZpbmVkKEJPT1NUX0lOVEVMX0NYWF9WRVJTSU9OKQorCitCT09TVF9NUExfSEFTX1hYWF9UUkFJVF9OQU1FRF9ERUYoaGFzX3JlYmluZCwgcmViaW5kLCBmYWxzZSkKKworI2VsaWYgQk9PU1RfV09SS0FST1VORChCT09TVF9NU1ZDLCA8IDEzMDApCisKK0JPT1NUX01QTF9IQVNfWFhYX1RSQUlUX05BTUVEX0RFRihoYXNfcmViaW5kX2ltcGwsIHJlYmluZCwgZmFsc2UpCisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUID4KK3N0cnVjdCBoYXNfcmViaW5kCisgICAgOiBpZl88IAorICAgICAgICAgIG1zdmNfaXNfY2xhc3M8VD4KKyAgICAgICAgLCBoYXNfcmViaW5kX2ltcGw8VD4KKyAgICAgICAgLCBib29sXzxmYWxzZT4KKyAgICAgICAgPjo6dHlwZQoreworfTsKKworI2Vsc2UgLy8gdGhlIHJlc3QKKwordGVtcGxhdGU8IHR5cGVuYW1lIFQgPiBzdHJ1Y3QgaGFzX3JlYmluZF90YWcge307Citub190YWcgb3BlcmF0b3J8KGhhc19yZWJpbmRfdGFnPGludD4sIHZvaWQgY29uc3Qgdm9sYXRpbGUqKTsKKworIyAgIGlmICFCT09TVF9XT1JLQVJPVU5EKF9fQk9STEFORENfXywgQk9PU1RfVEVTVEVEX0FUKDB4NjEwKSkKK3RlbXBsYXRlPCB0eXBlbmFtZSBUID4KK3N0cnVjdCBoYXNfcmViaW5kCit7CisgICAgc3RhdGljIGhhc19yZWJpbmRfdGFnPFQ+KiBnZXQoKTsKKyAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoYm9vbCwgdmFsdWUgPSAKKyAgICAgICAgICBzaXplb2YoaGFzX3JlYmluZF90YWc8aW50PigpIHwgZ2V0KCkpID09IHNpemVvZih5ZXNfdGFnKQorICAgICAgICApOworfTsKKyMgICBlbHNlIC8vIF9fQk9STEFORENfXwordGVtcGxhdGU8IHR5cGVuYW1lIFQgPgorc3RydWN0IGhhc19yZWJpbmRfaW1wbAoreworICAgIHN0YXRpYyBUKiBnZXQoKTsKKyAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoYm9vbCwgdmFsdWUgPSAKKyAgICAgICAgICBzaXplb2YoaGFzX3JlYmluZF90YWc8aW50PigpIHwgZ2V0KCkpID09IHNpemVvZih5ZXNfdGFnKQorICAgICAgICApOworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFQgPgorc3RydWN0IGhhc19yZWJpbmQKKyAgICA6IGlmXzwgCisgICAgICAgICAgaXNfY2xhc3M8VD4KKyAgICAgICAgLCBoYXNfcmViaW5kX2ltcGw8VD4KKyAgICAgICAgLCBib29sXzxmYWxzZT4KKyAgICAgICAgPjo6dHlwZQoreworfTsKKyMgICBlbmRpZiAvLyBfX0JPUkxBTkRDX18KKworI2VuZGlmCisKK319fQorCisjZW5kaWYgLy8gQk9PU1RfTVBMX0FVWF9IQVNfUkVCSU5EX0hQUF9JTkNMVURFRApkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vaGFzX3NpemUuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vaGFzX3NpemUuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjViYjc3ZjYKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9oYXNfc2l6ZS5ocHAKQEAgLTAsMCArMSwyMyBAQAorCisjaWZuZGVmIEJPT1NUX01QTF9BVVhfSEFTX1NJWkVfSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX01QTF9BVVhfSEFTX1NJWkVfSFBQX0lOQ0xVREVECisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDItMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKy8vIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL21wbCBmb3IgZG9jdW1lbnRhdGlvbi4KKworLy8gJElkOiBoYXNfc2l6ZS5ocHAgNDkyNjcgMjAwOC0xMC0xMSAwNjoxOTowMlogYWd1cnRvdm95ICQKKy8vICREYXRlOiAyMDA4LTEwLTEwIDIzOjE5OjAyIC0wNzAwIChGcmksIDEwIE9jdCAyMDA4KSAkCisvLyAkUmV2aXNpb246IDQ5MjY3ICQKKworI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9oYXNfeHh4LmhwcD4KKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7IG5hbWVzcGFjZSBhdXggeworQk9PU1RfTVBMX0hBU19YWFhfVFJBSVRfREVGKHNpemUpCit9fX0KKworI2VuZGlmIC8vIEJPT1NUX01QTF9BVVhfSEFTX1NJWkVfSFBQX0lOQ0xVREVECmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9oYXNfdGFnLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL2hhc190YWcuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYyMDkyM2YKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9oYXNfdGFnLmhwcApAQCAtMCwwICsxLDIzIEBACisKKyNpZm5kZWYgQk9PU1RfTVBMX0FVWF9IQVNfVEFHX0hQUF9JTkNMVURFRAorI2RlZmluZSBCT09TVF9NUExfQVVYX0hBU19UQUdfSFBQX0lOQ0xVREVECisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDItMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKy8vIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL21wbCBmb3IgZG9jdW1lbnRhdGlvbi4KKworLy8gJElkOiBoYXNfdGFnLmhwcCA0OTI2NyAyMDA4LTEwLTExIDA2OjE5OjAyWiBhZ3VydG92b3kgJAorLy8gJERhdGU6IDIwMDgtMTAtMTAgMjM6MTk6MDIgLTA3MDAgKEZyaSwgMTAgT2N0IDIwMDgpICQKKy8vICRSZXZpc2lvbjogNDkyNjcgJAorCisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2hhc194eHguaHBwPgorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsgbmFtZXNwYWNlIGF1eCB7CitCT09TVF9NUExfSEFTX1hYWF9UUkFJVF9OQU1FRF9ERUYoaGFzX3RhZywgdGFnLCBmYWxzZSkKK319fQorCisjZW5kaWYgLy8gQk9PU1RfTVBMX0FVWF9IQVNfVEFHX0hQUF9JTkNMVURFRApkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vaGFzX3R5cGUuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vaGFzX3R5cGUuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ5OWZlZjMKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9oYXNfdHlwZS5ocHAKQEAgLTAsMCArMSwyMyBAQAorCisjaWZuZGVmIEJPT1NUX01QTF9BVVhfSEFTX1RZUEVfSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX01QTF9BVVhfSEFTX1RZUEVfSFBQX0lOQ0xVREVECisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDItMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKy8vIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL21wbCBmb3IgZG9jdW1lbnRhdGlvbi4KKworLy8gJElkOiBoYXNfdHlwZS5ocHAgNDkyNjcgMjAwOC0xMC0xMSAwNjoxOTowMlogYWd1cnRvdm95ICQKKy8vICREYXRlOiAyMDA4LTEwLTEwIDIzOjE5OjAyIC0wNzAwIChGcmksIDEwIE9jdCAyMDA4KSAkCisvLyAkUmV2aXNpb246IDQ5MjY3ICQKKworI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9oYXNfeHh4LmhwcD4KKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7IG5hbWVzcGFjZSBhdXggeworQk9PU1RfTVBMX0hBU19YWFhfVFJBSVRfTkFNRURfREVGKGhhc190eXBlLCB0eXBlLCB0cnVlKQorfX19CisKKyNlbmRpZiAvLyBCT09TVF9NUExfQVVYX0hBU19UWVBFX0hQUF9JTkNMVURFRApkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vaW5jbHVkZV9wcmVwcm9jZXNzZWQuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vaW5jbHVkZV9wcmVwcm9jZXNzZWQuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg2MGYyOTQKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9pbmNsdWRlX3ByZXByb2Nlc3NlZC5ocHAKQEAgLTAsMCArMSw0MiBAQAorCisvLyBOTyBJTkNMVURFIEdVQVJEUywgVEhFIEhFQURFUiBJUyBJTlRFTkRFRCBGT1IgTVVMVElQTEUgSU5DTFVTSU9OCisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNgorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKy8vIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL21wbCBmb3IgZG9jdW1lbnRhdGlvbi4KKworLy8gJElkOiBpbmNsdWRlX3ByZXByb2Nlc3NlZC5ocHAgNDkyNjcgMjAwOC0xMC0xMSAwNjoxOTowMlogYWd1cnRvdm95ICQKKy8vICREYXRlOiAyMDA4LTEwLTEwIDIzOjE5OjAyIC0wNzAwIChGcmksIDEwIE9jdCAyMDA4KSAkCisvLyAkUmV2aXNpb246IDQ5MjY3ICQKKworI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2NvbmZpZy9jb21waWxlci5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vY29uZmlnL3ByZXByb2Nlc3Nvci5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vY29uZmlnL3dvcmthcm91bmQuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9jYXQuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9zdHJpbmdpemUuaHBwPgorCisjaWYgIWRlZmluZWQoQk9PU1RfTkVFRFNfVE9LRU5fUEFTVElOR19PUF9GT1JfVE9LRU5TX0pVWFRBUE9TSU5HKQorIyAgIGRlZmluZSBBVVg3NzgwNzZfUFJFUFJPQ0VTU0VEX0hFQURFUiBcCisgICAgQk9PU1RfTVBMX0NGR19DT01QSUxFUl9ESVIvQk9PU1RfTVBMX1BSRVBST0NFU1NFRF9IRUFERVIgXAorLyoqLworI2Vsc2UKKyMgICBkZWZpbmUgQVVYNzc4MDc2X1BSRVBST0NFU1NFRF9IRUFERVIgXAorICAgIEJPT1NUX1BQX0NBVChCT09TVF9NUExfQ0ZHX0NPTVBJTEVSX0RJUiwvKSMjQk9PU1RfTVBMX1BSRVBST0NFU1NFRF9IRUFERVIgXAorLyoqLworI2VuZGlmCisKKyNpZiBCT09TVF9XT1JLQVJPVU5EKF9fSUJNQ1BQX18sIEJPT1NUX1RFU1RFRF9BVCg3MDApKQorIyAgIGRlZmluZSBBVVg3NzgwNzZfSU5DTFVERV9TVFJJTkcgQk9PU1RfUFBfU1RSSU5HSVpFKGJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9BVVg3NzgwNzZfUFJFUFJPQ0VTU0VEX0hFQURFUikKKyMgICBpbmNsdWRlIEFVWDc3ODA3Nl9JTkNMVURFX1NUUklORworIyAgIHVuZGVmIEFVWDc3ODA3Nl9JTkNMVURFX1NUUklORworI2Vsc2UKKyMgICBpbmNsdWRlIEJPT1NUX1BQX1NUUklOR0laRShib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvQVVYNzc4MDc2X1BSRVBST0NFU1NFRF9IRUFERVIpCisjZW5kaWYKKworIyAgIHVuZGVmIEFVWDc3ODA3Nl9QUkVQUk9DRVNTRURfSEVBREVSCisKKyN1bmRlZiBCT09TVF9NUExfUFJFUFJPQ0VTU0VEX0hFQURFUgpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vaW5zZXJ0ZXJfYWxnb3JpdGhtLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL2luc2VydGVyX2FsZ29yaXRobS5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2ZiZTg0ZQotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL2luc2VydGVyX2FsZ29yaXRobS5ocHAKQEAgLTAsMCArMSwxNTkgQEAKKworI2lmbmRlZiBCT09TVF9NUExfQVVYX0lOU0VSVEVSX0FMR09SSVRITV9IUFBfSU5DTFVERUQKKyNkZWZpbmUgQk9PU1RfTVBMX0FVWF9JTlNFUlRFUl9BTEdPUklUSE1fSFBQX0lOQ0xVREVECisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDMtMjAwNAorLy8gQ29weXJpZ2h0IERhdmlkIEFicmFoYW1zIDIwMDMtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKy8vIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL21wbCBmb3IgZG9jdW1lbnRhdGlvbi4KKworLy8gJElkOiBpbnNlcnRlcl9hbGdvcml0aG0uaHBwIDU1NjQ4IDIwMDktMDgtMTggMDU6MTY6NTNaIGFndXJ0b3ZveSAkCisvLyAkRGF0ZTogMjAwOS0wOC0xNyAyMjoxNjo1MyAtMDcwMCAoTW9uLCAxNyBBdWcgMjAwOSkgJAorLy8gJFJldmlzaW9uOiA1NTY0OCAkCisKKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYmFja19pbnNlcnRlci5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2Zyb250X2luc2VydGVyLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvcHVzaF9iYWNrLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvcHVzaF9mcm9udC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2JhY2tfaW5zZXJ0ZXIuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9mcm9udF9pbnNlcnRlci5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2NsZWFyLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvZXZhbF9pZi5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2lmLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9uYS5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vY29tbW9uX25hbWVfd2tuZC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vbmFfc3BlYy5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc29yL3BhcmFtcy5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc29yL2RlZmF1bHRfcGFyYW1zLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9jb25maWcvY3Rwcy5ocHA+CisKKyNpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3IvYXJpdGhtZXRpYy9kZWMuaHBwPgorCisjaWYgIWRlZmluZWQoQk9PU1RfTk9fVEVNUExBVEVfUEFSVElBTF9TUEVDSUFMSVpBVElPTikKKworIyAgIGRlZmluZSBCT09TVF9NUExfQVVYX0lOU0VSVEVSX0FMR09SSVRITV9ERUYoYXJpdHksIG5hbWUpIFwKK0JPT1NUX01QTF9BVVhfQ09NTU9OX05BTUVfV0tORChuYW1lKSBcCit0ZW1wbGF0ZTwgXAorICAgICAgQk9PU1RfTVBMX1BQX0RFRkFVTFRfUEFSQU1TKGFyaXR5LCB0eXBlbmFtZSBQLCBuYSkgXAorICAgID4gXAorc3RydWN0IG5hbWUgXAorICAgIDogYXV4OjpuYW1lIyNfaW1wbDxCT09TVF9NUExfUFBfUEFSQU1TKGFyaXR5LCBQKT4gXAoreyBcCit9OyBcCitcCit0ZW1wbGF0ZTwgXAorICAgICAgQk9PU1RfTVBMX1BQX1BBUkFNUyhCT09TVF9QUF9ERUMoYXJpdHkpLCB0eXBlbmFtZSBQKSBcCisgICAgPiBcCitzdHJ1Y3QgbmFtZTwgQk9PU1RfTVBMX1BQX1BBUkFNUyhCT09TVF9QUF9ERUMoYXJpdHkpLCBQKSxuYSA+IFwKKyAgICA6IGlmXzwgaGFzX3B1c2hfYmFjazwgdHlwZW5hbWUgY2xlYXI8UDE+Ojp0eXBlPiBcCisgICAgICAgICwgYXV4OjpuYW1lIyNfaW1wbDwgXAorICAgICAgICAgICAgICBCT09TVF9NUExfUFBfUEFSQU1TKEJPT1NUX1BQX0RFQyhhcml0eSksIFApIFwKKyAgICAgICAgICAgICwgYmFja19pbnNlcnRlcjwgdHlwZW5hbWUgY2xlYXI8UDE+Ojp0eXBlID4gXAorICAgICAgICAgICAgPiBcCisgICAgICAgICwgYXV4OjpyZXZlcnNlXyMjbmFtZSMjX2ltcGw8IFwKKyAgICAgICAgICAgICAgQk9PU1RfTVBMX1BQX1BBUkFNUyhCT09TVF9QUF9ERUMoYXJpdHkpLCBQKSBcCisgICAgICAgICAgICAsIGZyb250X2luc2VydGVyPCB0eXBlbmFtZSBjbGVhcjxQMT46OnR5cGUgPiBcCisgICAgICAgICAgICA+IFwKKyAgICAgICAgPjo6dHlwZSBcCit7IFwKK307IFwKK1wKK3RlbXBsYXRlPCBcCisgICAgICBCT09TVF9NUExfUFBfREVGQVVMVF9QQVJBTVMoYXJpdHksIHR5cGVuYW1lIFAsIG5hKSBcCisgICAgPiBcCitzdHJ1Y3QgcmV2ZXJzZV8jI25hbWUgXAorICAgIDogYXV4OjpyZXZlcnNlXyMjbmFtZSMjX2ltcGw8Qk9PU1RfTVBMX1BQX1BBUkFNUyhhcml0eSwgUCk+IFwKK3sgXAorfTsgXAorXAordGVtcGxhdGU8IFwKKyAgICAgIEJPT1NUX01QTF9QUF9QQVJBTVMoQk9PU1RfUFBfREVDKGFyaXR5KSwgdHlwZW5hbWUgUCkgXAorICAgID4gXAorc3RydWN0IHJldmVyc2VfIyNuYW1lPCBCT09TVF9NUExfUFBfUEFSQU1TKEJPT1NUX1BQX0RFQyhhcml0eSksIFApLG5hID4gXAorICAgIDogaWZfPCBoYXNfcHVzaF9iYWNrPFAxPiBcCisgICAgICAgICwgYXV4OjpyZXZlcnNlXyMjbmFtZSMjX2ltcGw8IFwKKyAgICAgICAgICAgICAgQk9PU1RfTVBMX1BQX1BBUkFNUyhCT09TVF9QUF9ERUMoYXJpdHkpLCBQKSBcCisgICAgICAgICAgICAsIGJhY2tfaW5zZXJ0ZXI8IHR5cGVuYW1lIGNsZWFyPFAxPjo6dHlwZSA+IFwKKyAgICAgICAgICAgID4gXAorICAgICAgICAsIGF1eDo6bmFtZSMjX2ltcGw8IFwKKyAgICAgICAgICAgICAgQk9PU1RfTVBMX1BQX1BBUkFNUyhCT09TVF9QUF9ERUMoYXJpdHkpLCBQKSBcCisgICAgICAgICAgICAsIGZyb250X2luc2VydGVyPCB0eXBlbmFtZSBjbGVhcjxQMT46OnR5cGUgPiBcCisgICAgICAgICAgICA+IFwKKyAgICAgICAgPjo6dHlwZSBcCit7IFwKK307IFwKK0JPT1NUX01QTF9BVVhfTkFfU1BFQyhhcml0eSwgbmFtZSkgXAorQk9PU1RfTVBMX0FVWF9OQV9TUEVDKGFyaXR5LCByZXZlcnNlXyMjbmFtZSkgXAorLyoqLworCisjZWxzZQorCisjICAgZGVmaW5lIEJPT1NUX01QTF9BVVhfSU5TRVJURVJfQUxHT1JJVEhNX0RFRihhcml0eSwgbmFtZSkgXAorQk9PU1RfTVBMX0FVWF9DT01NT05fTkFNRV9XS05EKG5hbWUpIFwKK3RlbXBsYXRlPCBcCisgICAgICBCT09TVF9NUExfUFBfUEFSQU1TKEJPT1NUX1BQX0RFQyhhcml0eSksIHR5cGVuYW1lIFApIFwKKyAgICA+IFwKK3N0cnVjdCBkZWZfIyNuYW1lIyNfaW1wbCBcCisgICAgOiBpZl88IGhhc19wdXNoX2JhY2s8UDE+IFwKKyAgICAgICAgLCBhdXg6Om5hbWUjI19pbXBsPCBcCisgICAgICAgICAgICAgIEJPT1NUX01QTF9QUF9QQVJBTVMoQk9PU1RfUFBfREVDKGFyaXR5KSwgUCkgXAorICAgICAgICAgICAgLCBiYWNrX2luc2VydGVyPCB0eXBlbmFtZSBjbGVhcjxQMT46OnR5cGUgPiBcCisgICAgICAgICAgICA+IFwKKyAgICAgICAgLCBhdXg6OnJldmVyc2VfIyNuYW1lIyNfaW1wbDwgXAorICAgICAgICAgICAgICBCT09TVF9NUExfUFBfUEFSQU1TKEJPT1NUX1BQX0RFQyhhcml0eSksIFApIFwKKyAgICAgICAgICAgICwgZnJvbnRfaW5zZXJ0ZXI8IHR5cGVuYW1lIGNsZWFyPFAxPjo6dHlwZSA+IFwKKyAgICAgICAgICAgID4gXAorICAgICAgICA+Ojp0eXBlIFwKK3sgXAorfTsgXAorXAordGVtcGxhdGU8IFwKKyAgICAgIEJPT1NUX01QTF9QUF9ERUZBVUxUX1BBUkFNUyhhcml0eSwgdHlwZW5hbWUgUCwgbmEpIFwKKyAgICA+IFwKK3N0cnVjdCBuYW1lIFwKK3sgXAorICAgIHR5cGVkZWYgdHlwZW5hbWUgZXZhbF9pZjwgXAorICAgICAgICAgIGlzX25hPEJPT1NUX1BQX0NBVChQLCBhcml0eSk+IFwKKyAgICAgICAgLCBkZWZfIyNuYW1lIyNfaW1wbDxCT09TVF9NUExfUFBfUEFSQU1TKEJPT1NUX1BQX0RFQyhhcml0eSksIFApPiBcCisgICAgICAgICwgYXV4OjpuYW1lIyNfaW1wbDxCT09TVF9NUExfUFBfUEFSQU1TKGFyaXR5LCBQKT4gXAorICAgICAgICA+Ojp0eXBlIHR5cGU7IFwKK307IFwKK1wKK3RlbXBsYXRlPCBcCisgICAgICBCT09TVF9NUExfUFBfUEFSQU1TKEJPT1NUX1BQX0RFQyhhcml0eSksIHR5cGVuYW1lIFApIFwKKyAgICA+IFwKK3N0cnVjdCBkZWZfcmV2ZXJzZV8jI25hbWUjI19pbXBsIFwKKyAgICA6IGlmXzwgaGFzX3B1c2hfYmFjazxQMT4gXAorICAgICAgICAsIGF1eDo6cmV2ZXJzZV8jI25hbWUjI19pbXBsPCBcCisgICAgICAgICAgICAgIEJPT1NUX01QTF9QUF9QQVJBTVMoQk9PU1RfUFBfREVDKGFyaXR5KSwgUCkgXAorICAgICAgICAgICAgLCBiYWNrX2luc2VydGVyPCB0eXBlbmFtZSBjbGVhcjxQMT46OnR5cGUgPiBcCisgICAgICAgICAgICA+IFwKKyAgICAgICAgLCBhdXg6Om5hbWUjI19pbXBsPCBcCisgICAgICAgICAgICAgIEJPT1NUX01QTF9QUF9QQVJBTVMoQk9PU1RfUFBfREVDKGFyaXR5KSwgUCkgXAorICAgICAgICAgICAgLCBmcm9udF9pbnNlcnRlcjwgdHlwZW5hbWUgY2xlYXI8UDE+Ojp0eXBlID4gXAorICAgICAgICAgICAgPiBcCisgICAgICAgID46OnR5cGUgXAoreyBcCit9OyBcCit0ZW1wbGF0ZTwgXAorICAgICAgQk9PU1RfTVBMX1BQX0RFRkFVTFRfUEFSQU1TKGFyaXR5LCB0eXBlbmFtZSBQLCBuYSkgXAorICAgID4gXAorc3RydWN0IHJldmVyc2VfIyNuYW1lIFwKK3sgXAorICAgIHR5cGVkZWYgdHlwZW5hbWUgZXZhbF9pZjwgXAorICAgICAgICAgIGlzX25hPEJPT1NUX1BQX0NBVChQLCBhcml0eSk+IFwKKyAgICAgICAgLCBkZWZfcmV2ZXJzZV8jI25hbWUjI19pbXBsPEJPT1NUX01QTF9QUF9QQVJBTVMoQk9PU1RfUFBfREVDKGFyaXR5KSwgUCk+IFwKKyAgICAgICAgLCBhdXg6OnJldmVyc2VfIyNuYW1lIyNfaW1wbDxCT09TVF9NUExfUFBfUEFSQU1TKGFyaXR5LCBQKT4gXAorICAgICAgICA+Ojp0eXBlIHR5cGU7IFwKK307IFwKK0JPT1NUX01QTF9BVVhfTkFfU1BFQyhhcml0eSwgbmFtZSkgXAorQk9PU1RfTVBMX0FVWF9OQV9TUEVDKGFyaXR5LCByZXZlcnNlXyMjbmFtZSkgXAorLyoqLworCisjZW5kaWYgLy8gQk9PU1RfTk9fVEVNUExBVEVfUEFSVElBTF9TUEVDSUFMSVpBVElPTgorCisjZW5kaWYgLy8gQk9PU1RfTVBMX0FVWF9JTlNFUlRFUl9BTEdPUklUSE1fSFBQX0lOQ0xVREVECmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9pc19tc3ZjX2V0aV9hcmcuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vaXNfbXN2Y19ldGlfYXJnLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ZWMwYmNjCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vaXNfbXN2Y19ldGlfYXJnLmhwcApAQCAtMCwwICsxLDY0IEBACisKKyNpZm5kZWYgQk9PU1RfTVBMX0FVWF9JU19NU1ZDX0VUSV9BUkdfSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX01QTF9BVVhfSVNfTVNWQ19FVElfQVJHX0hQUF9JTkNMVURFRAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAxLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisvLyBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvbGlicy9tcGwgZm9yIGRvY3VtZW50YXRpb24uCisKKy8vICRJZDogaXNfbXN2Y19ldGlfYXJnLmhwcCA0OTI2NyAyMDA4LTEwLTExIDA2OjE5OjAyWiBhZ3VydG92b3kgJAorLy8gJERhdGU6IDIwMDgtMTAtMTAgMjM6MTk6MDIgLTA3MDAgKEZyaSwgMTAgT2N0IDIwMDgpICQKKy8vICRSZXZpc2lvbjogNDkyNjcgJAorCisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8veWVzX25vLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9jb25maWcvZXRpLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9jb25maWcvc3RhdGljX2NvbnN0YW50LmhwcD4KKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7IG5hbWVzcGFjZSBhdXggeworCisjaWYgZGVmaW5lZChCT09TVF9NUExfQ0ZHX01TVkNfRVRJX0JVRykKKworI2lmIGRlZmluZWQoQk9PU1RfTVBMX0NGR19NU1ZDXzYwX0VUSV9CVUcpCisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUID4KK3N0cnVjdCBpc19tc3ZjX2V0aV9hcmcKK3sgCisgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGJvb2wsIHZhbHVlID0gZmFsc2UpOworfTsKKworI2Vsc2UgLy8gQk9PU1RfTVBMX0NGR19NU1ZDXzYwX0VUSV9CVUcKKworc3RydWN0IGV0aV9pbnRfY29udmVydGlibGUKK3sKKyAgICBldGlfaW50X2NvbnZlcnRpYmxlKGludCk7Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVCA+CitzdHJ1Y3QgaXNfbXN2Y19ldGlfYXJnCit7IAorICAgIHN0YXRpYyBub190YWcgdGVzdCguLi4pOworICAgIHN0YXRpYyB5ZXNfdGFnIHRlc3QoZXRpX2ludF9jb252ZXJ0aWJsZSk7CisgICAgc3RhdGljIFQmIGdldCgpOworCisgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGJvb2wsIHZhbHVlID0gCisgICAgICAgICAgc2l6ZW9mKHRlc3QoZ2V0KCkpKSA9PSBzaXplb2YoeWVzX3RhZykKKyAgICAgICAgKTsKK307CisKKyNlbmRpZgorCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgaXNfbXN2Y19ldGlfYXJnPGludD4KK3sgCisgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGJvb2wsIHZhbHVlID0gdHJ1ZSk7Cit9OworCisjZW5kaWYgLy8gQk9PU1RfTVBMX0NGR19NU1ZDX0VUSV9CVUcKKworfX19CisKKyNlbmRpZiAvLyBCT09TVF9NUExfQVVYX0lTX01TVkNfRVRJX0FSR19IUFBfSU5DTFVERUQKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL2l0ZXJfYXBwbHkuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vaXRlcl9hcHBseS5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzVhNjJhNQotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL2l0ZXJfYXBwbHkuaHBwCkBAIC0wLDAgKzEsNDcgQEAKKworI2lmbmRlZiBCT09TVF9NUExfSVRFUl9BUFBMWV9IUFBfSU5DTFVERUQKKyNkZWZpbmUgQk9PU1RfTVBMX0lURVJfQVBQTFlfSFBQX0lOQ0xVREVECisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDItMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKy8vIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL21wbCBmb3IgZG9jdW1lbnRhdGlvbi4KKworLy8gJElkOiBpdGVyX2FwcGx5LmhwcCA0OTI2NyAyMDA4LTEwLTExIDA2OjE5OjAyWiBhZ3VydG92b3kgJAorLy8gJERhdGU6IDIwMDgtMTAtMTAgMjM6MTk6MDIgLTA3MDAgKEZyaSwgMTAgT2N0IDIwMDgpICQKKy8vICRSZXZpc2lvbjogNDkyNjcgJAorCisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2FwcGx5LmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvZGVyZWYuaHBwPgorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsgbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRgorICAgICwgdHlwZW5hbWUgSXRlcmF0b3IKKyAgICA+CitzdHJ1Y3QgaXRlcl9hcHBseTEKKyAgICA6IGFwcGx5MTwgRix0eXBlbmFtZSBkZXJlZjxJdGVyYXRvcj46OnR5cGUgPgoreworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGCisgICAgLCB0eXBlbmFtZSBJdGVyYXRvcjEKKyAgICAsIHR5cGVuYW1lIEl0ZXJhdG9yMgorICAgID4KK3N0cnVjdCBpdGVyX2FwcGx5MgorICAgIDogYXBwbHkyPAorICAgICAgICAgIEYKKyAgICAgICAgLCB0eXBlbmFtZSBkZXJlZjxJdGVyYXRvcjE+Ojp0eXBlCisgICAgICAgICwgdHlwZW5hbWUgZGVyZWY8SXRlcmF0b3IyPjo6dHlwZQorICAgICAgICA+Cit7Cit9OworCit9fX0KKworI2VuZGlmIC8vIEJPT1NUX01QTF9JVEVSX0FQUExZX0hQUF9JTkNMVURFRApkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vaXRlcl9mb2xkX2lmX2ltcGwuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vaXRlcl9mb2xkX2lmX2ltcGwuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVlOTBlYjIKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9pdGVyX2ZvbGRfaWZfaW1wbC5ocHAKQEAgLTAsMCArMSwyMTAgQEAKKworI2lmbmRlZiBCT09TVF9NUExfQVVYX0lURVJfRk9MRF9JRl9JTVBMX0hQUF9JTkNMVURFRAorI2RlZmluZSBCT09TVF9NUExfQVVYX0lURVJfRk9MRF9JRl9JTVBMX0hQUF9JTkNMVURFRAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAxLTIwMDQKKy8vIENvcHlyaWdodCBEYXZpZCBBYnJhaGFtcyAyMDAxLTIwMDIKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisvLyBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvbGlicy9tcGwgZm9yIGRvY3VtZW50YXRpb24uCisKKy8vICRJZDogaXRlcl9mb2xkX2lmX2ltcGwuaHBwIDQ5MjY3IDIwMDgtMTAtMTEgMDY6MTk6MDJaIGFndXJ0b3ZveSAkCisvLyAkRGF0ZTogMjAwOC0xMC0xMCAyMzoxOTowMiAtMDcwMCAoRnJpLCAxMCBPY3QgMjAwOCkgJAorLy8gJFJldmlzaW9uOiA0OTI2NyAkCisKKyNpZiAhZGVmaW5lZChCT09TVF9NUExfUFJFUFJPQ0VTU0lOR19NT0RFKQorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC9pZGVudGl0eS5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL25leHQuaHBwPgorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC9pZi5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2FwcGx5LmhwcD4KKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy92YWx1ZV93a25kLmhwcD4KKyNlbmRpZgorCisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vY29uZmlnL3VzZV9wcmVwcm9jZXNzZWQuaHBwPgorCisjaWYgIWRlZmluZWQoQk9PU1RfTVBMX0NGR19OT19QUkVQUk9DRVNTRURfSEVBREVSUykgXAorICAgICYmICFkZWZpbmVkKEJPT1NUX01QTF9QUkVQUk9DRVNTSU5HX01PREUpCisKKyMgICBkZWZpbmUgQk9PU1RfTVBMX1BSRVBST0NFU1NFRF9IRUFERVIgaXRlcl9mb2xkX2lmX2ltcGwuaHBwCisjICAgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vaW5jbHVkZV9wcmVwcm9jZXNzZWQuaHBwPgorCisjZWxzZQorCisjICAgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2xpbWl0cy91bnJvbGxpbmcuaHBwPgorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9hcml0aG1ldGljL3N1Yi5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL3JlcGVhdC5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL2luYy5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL2RlYy5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL2NhdC5ocHA+CisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeyBuYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8IHR5cGVuYW1lIEl0ZXJhdG9yLCB0eXBlbmFtZSBTdGF0ZSA+CitzdHJ1Y3QgaXRlcl9mb2xkX2lmX251bGxfc3RlcAoreworICAgIHR5cGVkZWYgU3RhdGUgc3RhdGU7CisgICAgdHlwZWRlZiBJdGVyYXRvciBpdGVyYXRvcjsKK307CisKK3RlbXBsYXRlPCBib29sID4KK3N0cnVjdCBpdGVyX2ZvbGRfaWZfc3RlcF9pbXBsCit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgSXRlcmF0b3IKKyAgICAgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICAgICAsIHR5cGVuYW1lIFN0YXRlT3AKKyAgICAgICAgLCB0eXBlbmFtZSBJdGVyYXRvck9wCisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8U3RhdGVPcCxTdGF0ZSxJdGVyYXRvcj46OnR5cGUgc3RhdGU7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgSXRlcmF0b3JPcDo6dHlwZSBpdGVyYXRvcjsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGl0ZXJfZm9sZF9pZl9zdGVwX2ltcGw8ZmFsc2U+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgSXRlcmF0b3IKKyAgICAgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICAgICAsIHR5cGVuYW1lIFN0YXRlT3AKKyAgICAgICAgLCB0eXBlbmFtZSBJdGVyYXRvck9wCisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiBTdGF0ZSBzdGF0ZTsKKyAgICAgICAgdHlwZWRlZiBJdGVyYXRvciBpdGVyYXRvcjsKKyAgICB9OworfTsKKworLy8gYWd1cnQsIDI1L2p1bi8wMjogTVNWQyA2LjUgd29ya2Fyb3VuZCwgaGFkIHRvIGdldCByaWQgb2YgaW5oZXJpdGFuY2UgCisvLyBoZXJlIGFuZCBpbiAnaXRlcl9mb2xkX2lmX2JhY2t3YXJkX3N0ZXAnLCBiZWNhdXNlIHNvbWV0aW1lcyBpdCBpbnRlcmZlcmVkIAorLy8gd2l0aCB0aGUgImVhcmx5IHRlbXBsYXRlIGluc3RhbnRpYXRpb24gYnVnIiBpbiBfcmVhbGx5XyB1Z2x5IHdheXMKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgSXRlcmF0b3IKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICAsIHR5cGVuYW1lIFByZWRpY2F0ZQorICAgID4KK3N0cnVjdCBpdGVyX2ZvbGRfaWZfZm9yd2FyZF9zdGVwCit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8UHJlZGljYXRlLFN0YXRlLEl0ZXJhdG9yPjo6dHlwZSBub3RfbGFzdDsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGl0ZXJfZm9sZF9pZl9zdGVwX2ltcGw8CisgICAgICAgICAgQk9PU1RfTVBMX0FVWF9NU1ZDX1ZBTFVFX1dLTkQobm90X2xhc3QpOjp2YWx1ZQorICAgICAgICA+Ojp0ZW1wbGF0ZSByZXN1bHRfPCBJdGVyYXRvcixTdGF0ZSxGb3J3YXJkT3AsbXBsOjpuZXh0PEl0ZXJhdG9yPiA+IGltcGxfOworCisgICAgdHlwZWRlZiB0eXBlbmFtZSBpbXBsXzo6c3RhdGUgc3RhdGU7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBpbXBsXzo6aXRlcmF0b3IgaXRlcmF0b3I7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEl0ZXJhdG9yCisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICwgdHlwZW5hbWUgQmFja3dhcmRPcAorICAgICwgdHlwZW5hbWUgUHJlZGljYXRlCisgICAgPgorc3RydWN0IGl0ZXJfZm9sZF9pZl9iYWNrd2FyZF9zdGVwCit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8UHJlZGljYXRlLFN0YXRlLEl0ZXJhdG9yPjo6dHlwZSBub3RfbGFzdDsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGl0ZXJfZm9sZF9pZl9zdGVwX2ltcGw8CisgICAgICAgICAgQk9PU1RfTVBMX0FVWF9NU1ZDX1ZBTFVFX1dLTkQobm90X2xhc3QpOjp2YWx1ZQorICAgICAgICA+Ojp0ZW1wbGF0ZSByZXN1bHRfPCBJdGVyYXRvcixTdGF0ZSxCYWNrd2FyZE9wLGlkZW50aXR5PEl0ZXJhdG9yPiA+IGltcGxfOworCisgICAgdHlwZWRlZiB0eXBlbmFtZSBpbXBsXzo6c3RhdGUgc3RhdGU7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBpbXBsXzo6aXRlcmF0b3IgaXRlcmF0b3I7Cit9OworCisKKy8vIGxvY2FsIG1hY3JvcywgI3VuZGVmLWluZWQgYXQgdGhlIGVuZCBvZiB0aGUgaGVhZGVyCisKKyMgICBkZWZpbmUgQVVYX0lURVJfRk9MRF9GT1JXQVJEX1NURVAodW51c2VkLCBpLCB1bnVzZWQyKSBcCisgICAgdHlwZWRlZiBpdGVyX2ZvbGRfaWZfZm9yd2FyZF9zdGVwPCBcCisgICAgICAgICAgdHlwZW5hbWUgQk9PU1RfUFBfQ0FUKGZvcndhcmRfc3RlcCxpKTo6aXRlcmF0b3IgXAorICAgICAgICAsIHR5cGVuYW1lIEJPT1NUX1BQX0NBVChmb3J3YXJkX3N0ZXAsaSk6OnN0YXRlIFwKKyAgICAgICAgLCBGb3J3YXJkT3AgXAorICAgICAgICAsIEZvcndhcmRQcmVkaWNhdGUgXAorICAgICAgICA+IEJPT1NUX1BQX0NBVChmb3J3YXJkX3N0ZXAsIEJPT1NUX1BQX0lOQyhpKSk7IFwKKyAgICAvKiovCisKKyMgICBkZWZpbmUgQVVYX0lURVJfRk9MRF9CQUNLV0FSRF9TVEVQX0ZVTkMoaSkgXAorICAgIHR5cGVkZWYgaXRlcl9mb2xkX2lmX2JhY2t3YXJkX3N0ZXA8IFwKKyAgICAgICAgICB0eXBlbmFtZSBCT09TVF9QUF9DQVQoZm9yd2FyZF9zdGVwLEJPT1NUX1BQX0RFQyhpKSk6Oml0ZXJhdG9yIFwKKyAgICAgICAgLCB0eXBlbmFtZSBCT09TVF9QUF9DQVQoYmFja3dhcmRfc3RlcCxpKTo6c3RhdGUgXAorICAgICAgICAsIEJhY2t3YXJkT3AgXAorICAgICAgICAsIEJhY2t3YXJkUHJlZGljYXRlIFwKKyAgICAgICAgPiBCT09TVF9QUF9DQVQoYmFja3dhcmRfc3RlcCxCT09TVF9QUF9ERUMoaSkpOyBcCisgICAgLyoqLworCisjICAgZGVmaW5lIEFVWF9JVEVSX0ZPTERfQkFDS1dBUkRfU1RFUCh1bnVzZWQsIGksIHVudXNlZDIpIFwKKyAgICBBVVhfSVRFUl9GT0xEX0JBQ0tXQVJEX1NURVBfRlVOQyggXAorICAgICAgICBCT09TVF9QUF9TVUJfRCgxLEJPT1NUX01QTF9MSU1JVF9VTlJPTExJTkcsaSkgXAorICAgICAgICApIFwKKyAgICAvKiovCisKKyMgICBkZWZpbmUgQVVYX0xBU1RfRk9SV0FSRF9TVEVQIFwKKyAgICBCT09TVF9QUF9DQVQoZm9yd2FyZF9zdGVwLCBCT09TVF9NUExfTElNSVRfVU5ST0xMSU5HKSBcCisgICAgLyoqLworCisjICAgZGVmaW5lIEFVWF9MQVNUX0JBQ0tXQVJEX1NURVAgXAorICAgIEJPT1NUX1BQX0NBVChiYWNrd2FyZF9zdGVwLCBCT09TVF9NUExfTElNSVRfVU5ST0xMSU5HKSBcCisgICAgLyoqLworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEl0ZXJhdG9yCisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkUHJlZGljYXRlCisgICAgLCB0eXBlbmFtZSBCYWNrd2FyZE9wCisgICAgLCB0eXBlbmFtZSBCYWNrd2FyZFByZWRpY2F0ZQorICAgID4KK3N0cnVjdCBpdGVyX2ZvbGRfaWZfaW1wbAoreworIHByaXZhdGU6CisgICAgdHlwZWRlZiBpdGVyX2ZvbGRfaWZfbnVsbF9zdGVwPEl0ZXJhdG9yLFN0YXRlPiBmb3J3YXJkX3N0ZXAwOworICAgIEJPT1NUX1BQX1JFUEVBVCgKKyAgICAgICAgICBCT09TVF9NUExfTElNSVRfVU5ST0xMSU5HCisgICAgICAgICwgQVVYX0lURVJfRk9MRF9GT1JXQVJEX1NURVAKKyAgICAgICAgLCB1bnVzZWQKKyAgICAgICAgKQorICAgIAorICAgIHR5cGVkZWYgdHlwZW5hbWUgaWZfPAorICAgICAgICAgIHR5cGVuYW1lIEFVWF9MQVNUX0ZPUldBUkRfU1RFUDo6bm90X2xhc3QKKyAgICAgICAgLCBpdGVyX2ZvbGRfaWZfaW1wbDwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgQVVYX0xBU1RfRk9SV0FSRF9TVEVQOjppdGVyYXRvcgorICAgICAgICAgICAgLCB0eXBlbmFtZSBBVVhfTEFTVF9GT1JXQVJEX1NURVA6OnN0YXRlCisgICAgICAgICAgICAsIEZvcndhcmRPcAorICAgICAgICAgICAgLCBGb3J3YXJkUHJlZGljYXRlCisgICAgICAgICAgICAsIEJhY2t3YXJkT3AKKyAgICAgICAgICAgICwgQmFja3dhcmRQcmVkaWNhdGUKKyAgICAgICAgICAgID4KKyAgICAgICAgLCBpdGVyX2ZvbGRfaWZfbnVsbF9zdGVwPAorICAgICAgICAgICAgICB0eXBlbmFtZSBBVVhfTEFTVF9GT1JXQVJEX1NURVA6Oml0ZXJhdG9yCisgICAgICAgICAgICAsIHR5cGVuYW1lIEFVWF9MQVNUX0ZPUldBUkRfU1RFUDo6c3RhdGUKKyAgICAgICAgICAgID4KKyAgICAgICAgPjo6dHlwZSBBVVhfTEFTVF9CQUNLV0FSRF9TVEVQOworCisgICAgQk9PU1RfUFBfUkVQRUFUKAorICAgICAgICAgIEJPT1NUX01QTF9MSU1JVF9VTlJPTExJTkcKKyAgICAgICAgLCBBVVhfSVRFUl9GT0xEX0JBQ0tXQVJEX1NURVAKKyAgICAgICAgLCB1bnVzZWQKKyAgICAgICAgKQorCisgcHVibGljOgorICAgIHR5cGVkZWYgdHlwZW5hbWUgYmFja3dhcmRfc3RlcDA6OnN0YXRlIHN0YXRlOworICAgIHR5cGVkZWYgdHlwZW5hbWUgQVVYX0xBU1RfQkFDS1dBUkRfU1RFUDo6aXRlcmF0b3IgaXRlcmF0b3I7Cit9OworCisjICAgdW5kZWYgQVVYX0xBU1RfQkFDS1dBUkRfU1RFUAorIyAgIHVuZGVmIEFVWF9MQVNUX0ZPUldBUkRfU1RFUAorIyAgIHVuZGVmIEFVWF9JVEVSX0ZPTERfQkFDS1dBUkRfU1RFUAorIyAgIHVuZGVmIEFVWF9JVEVSX0ZPTERfQkFDS1dBUkRfU1RFUF9GVU5DCisjICAgdW5kZWYgQVVYX0lURVJfRk9MRF9GT1JXQVJEX1NURVAKKworfX19CisKKyNlbmRpZiAvLyBCT09TVF9NUExfQ0ZHX05PX1BSRVBST0NFU1NFRF9IRUFERVJTCisjZW5kaWYgLy8gQk9PU1RfTVBMX0FVWF9JVEVSX0ZPTERfSUZfSU1QTF9IUFBfSU5DTFVERUQKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL2l0ZXJfZm9sZF9pbXBsLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL2l0ZXJfZm9sZF9pbXBsLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNjdiMWU3Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vaXRlcl9mb2xkX2ltcGwuaHBwCkBAIC0wLDAgKzEsNDIgQEAKKworI2lmbmRlZiBCT09TVF9NUExfQVVYX0lURVJfRk9MRF9JTVBMX0hQUF9JTkNMVURFRAorI2RlZmluZSBCT09TVF9NUExfQVVYX0lURVJfRk9MRF9JTVBMX0hQUF9JTkNMVURFRAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisvLyBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvbGlicy9tcGwgZm9yIGRvY3VtZW50YXRpb24uCisKKy8vICRJZDogaXRlcl9mb2xkX2ltcGwuaHBwIDQ5MjY3IDIwMDgtMTAtMTEgMDY6MTk6MDJaIGFndXJ0b3ZveSAkCisvLyAkRGF0ZTogMjAwOC0xMC0xMCAyMzoxOTowMiAtMDcwMCAoRnJpLCAxMCBPY3QgMjAwOCkgJAorLy8gJFJldmlzaW9uOiA0OTI2NyAkCisKKyNpZiAhZGVmaW5lZChCT09TVF9NUExfUFJFUFJPQ0VTU0lOR19NT0RFKQorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC9uZXh0X3ByaW9yLmhwcD4KKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXBwbHkuaHBwPgorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2NvbmZpZy9jdHBzLmhwcD4KKyMgICBpZiBkZWZpbmVkKEJPT1NUX05PX1RFTVBMQVRFX1BBUlRJQUxfU1BFQ0lBTElaQVRJT04pCisjICAgICAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC9pZi5ocHA+CisjICAgICAgIGluY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2lzX3NhbWUuaHBwPgorIyAgIGVuZGlmCisjZW5kaWYKKworI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2NvbmZpZy91c2VfcHJlcHJvY2Vzc2VkLmhwcD4KKworI2lmICFkZWZpbmVkKEJPT1NUX01QTF9DRkdfTk9fUFJFUFJPQ0VTU0VEX0hFQURFUlMpIFwKKyAgICAmJiAhZGVmaW5lZChCT09TVF9NUExfUFJFUFJPQ0VTU0lOR19NT0RFKQorCisjICAgZGVmaW5lIEJPT1NUX01QTF9QUkVQUk9DRVNTRURfSEVBREVSIGl0ZXJfZm9sZF9pbXBsLmhwcAorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2luY2x1ZGVfcHJlcHJvY2Vzc2VkLmhwcD4KKworI2Vsc2UKKworIyAgIGRlZmluZSBBVVg3NzgwNzZfRk9MRF9JTVBMX09QKGl0ZXIpIGl0ZXIKKyMgICBkZWZpbmUgQVVYNzc4MDc2X0ZPTERfSU1QTF9OQU1FX1BSRUZJWCBpdGVyX2ZvbGQKKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9mb2xkX2ltcGxfYm9keS5ocHA+CisKKyNlbmRpZiAvLyBCT09TVF9NUExfQ0ZHX05PX1BSRVBST0NFU1NFRF9IRUFERVJTCisjZW5kaWYgLy8gQk9PU1RfTVBMX0FVWF9JVEVSX0ZPTERfSU1QTF9IUFBfSU5DTFVERUQKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL2pvaW50X2l0ZXIuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vam9pbnRfaXRlci5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGFkY2RmNgotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL2pvaW50X2l0ZXIuaHBwCkBAIC0wLDAgKzEsMTIwIEBACisKKyNpZm5kZWYgQk9PU1RfTVBMX0FVWF9KT0lOVF9JVEVSX0hQUF9JTkNMVURFRAorI2RlZmluZSBCT09TVF9NUExfQVVYX0pPSU5UX0lURVJfSFBQX0lOQ0xVREVECisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKy8vIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL21wbCBmb3IgZG9jdW1lbnRhdGlvbi4KKworLy8gJElkOiBqb2ludF9pdGVyLmhwcCA0OTI2NyAyMDA4LTEwLTExIDA2OjE5OjAyWiBhZ3VydG92b3kgJAorLy8gJERhdGU6IDIwMDgtMTAtMTAgMjM6MTk6MDIgLTA3MDAgKEZyaSwgMTAgT2N0IDIwMDgpICQKKy8vICRSZXZpc2lvbjogNDkyNjcgJAorCisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL25leHRfcHJpb3IuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9kZXJlZi5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2l0ZXJhdG9yX3RhZ3MuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2xhbWJkYV9zcGVjLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9jb25maWcvY3Rwcy5ocHA+CisKKyNpZiBkZWZpbmVkKEJPT1NUX05PX1RFTVBMQVRFX1BBUlRJQUxfU1BFQ0lBTElaQVRJT04pCisjICAgaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvaXNfc2FtZS5ocHA+CisjZW5kaWYKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKKyNpZiAhZGVmaW5lZChCT09TVF9OT19URU1QTEFURV9QQVJUSUFMX1NQRUNJQUxJWkFUSU9OKQorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEl0ZXJhdG9yMQorICAgICwgdHlwZW5hbWUgTGFzdEl0ZXJhdG9yMQorICAgICwgdHlwZW5hbWUgSXRlcmF0b3IyCisgICAgPgorc3RydWN0IGpvaW50X2l0ZXIKK3sKKyAgICB0eXBlZGVmIEl0ZXJhdG9yMSBiYXNlOworICAgIHR5cGVkZWYgZm9yd2FyZF9pdGVyYXRvcl90YWcgY2F0ZWdvcnk7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIExhc3RJdGVyYXRvcjEKKyAgICAsIHR5cGVuYW1lIEl0ZXJhdG9yMgorICAgID4KK3N0cnVjdCBqb2ludF9pdGVyPExhc3RJdGVyYXRvcjEsTGFzdEl0ZXJhdG9yMSxJdGVyYXRvcjI+Cit7CisgICAgdHlwZWRlZiBJdGVyYXRvcjIgYmFzZTsKKyAgICB0eXBlZGVmIGZvcndhcmRfaXRlcmF0b3JfdGFnIGNhdGVnb3J5OworfTsKKworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgSTEsIHR5cGVuYW1lIEwxLCB0eXBlbmFtZSBJMiA+CitzdHJ1Y3QgZGVyZWY8IGpvaW50X2l0ZXI8STEsTDEsSTI+ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGpvaW50X2l0ZXI8STEsTDEsSTI+OjpiYXNlIGJhc2VfOworICAgIHR5cGVkZWYgdHlwZW5hbWUgZGVyZWY8YmFzZV8+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgSTEsIHR5cGVuYW1lIEwxLCB0eXBlbmFtZSBJMiA+CitzdHJ1Y3QgbmV4dDwgam9pbnRfaXRlcjxJMSxMMSxJMj4gPgoreworICAgIHR5cGVkZWYgam9pbnRfaXRlcjwgdHlwZW5hbWUgbXBsOjpuZXh0PEkxPjo6dHlwZSxMMSxJMiA+IHR5cGU7Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgTDEsIHR5cGVuYW1lIEkyID4KK3N0cnVjdCBuZXh0PCBqb2ludF9pdGVyPEwxLEwxLEkyPiA+Cit7CisgICAgdHlwZWRlZiBqb2ludF9pdGVyPCBMMSxMMSx0eXBlbmFtZSBtcGw6Om5leHQ8STI+Ojp0eXBlID4gdHlwZTsKK307CisKKyNlbHNlIC8vIEJPT1NUX05PX1RFTVBMQVRFX1BBUlRJQUxfU1BFQ0lBTElaQVRJT04KKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBJdGVyYXRvcjEKKyAgICAsIHR5cGVuYW1lIExhc3RJdGVyYXRvcjEKKyAgICAsIHR5cGVuYW1lIEl0ZXJhdG9yMgorICAgID4KK3N0cnVjdCBqb2ludF9pdGVyOworCit0ZW1wbGF0ZTwgYm9vbCA+IHN0cnVjdCBqb2ludF9pdGVyX2ltcGwKK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgSTEsIHR5cGVuYW1lIEwxLCB0eXBlbmFtZSBJMiA+IHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIEkxIGJhc2U7CisgICAgICAgIHR5cGVkZWYgZm9yd2FyZF9pdGVyYXRvcl90YWcgY2F0ZWdvcnk7CisgICAgICAgIHR5cGVkZWYgam9pbnRfaXRlcjwgdHlwZW5hbWUgbXBsOjpuZXh0PEkxPjo6dHlwZSxMMSxJMiA+IG5leHQ7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgZGVyZWY8STE+Ojp0eXBlIHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4gc3RydWN0IGpvaW50X2l0ZXJfaW1wbDx0cnVlPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBJMSwgdHlwZW5hbWUgTDEsIHR5cGVuYW1lIEkyID4gc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgSTIgYmFzZTsKKyAgICAgICAgdHlwZWRlZiBmb3J3YXJkX2l0ZXJhdG9yX3RhZyBjYXRlZ29yeTsKKyAgICAgICAgdHlwZWRlZiBqb2ludF9pdGVyPCBMMSxMMSx0eXBlbmFtZSBtcGw6Om5leHQ8STI+Ojp0eXBlID4gbmV4dDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBkZXJlZjxJMj46OnR5cGUgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBJdGVyYXRvcjEKKyAgICAsIHR5cGVuYW1lIExhc3RJdGVyYXRvcjEKKyAgICAsIHR5cGVuYW1lIEl0ZXJhdG9yMgorICAgID4KK3N0cnVjdCBqb2ludF9pdGVyCisgICAgOiBqb2ludF9pdGVyX2ltcGw8IGlzX3NhbWU8SXRlcmF0b3IxLExhc3RJdGVyYXRvcjE+Ojp2YWx1ZSA+CisgICAgICAgIDo6dGVtcGxhdGUgcmVzdWx0XzxJdGVyYXRvcjEsTGFzdEl0ZXJhdG9yMSxJdGVyYXRvcjI+Cit7Cit9OworCisjZW5kaWYgLy8gQk9PU1RfTk9fVEVNUExBVEVfUEFSVElBTF9TUEVDSUFMSVpBVElPTgorCitCT09TVF9NUExfQVVYX1BBU1NfVEhST1VHSF9MQU1CREFfU1BFQygzLCBqb2ludF9pdGVyKQorCit9fQorCisjZW5kaWYgLy8gQk9PU1RfTVBMX0FVWF9KT0lOVF9JVEVSX0hQUF9JTkNMVURFRApkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vbGFtYmRhX25vX2N0cHMuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vbGFtYmRhX25vX2N0cHMuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA5NjYwNTIKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9sYW1iZGFfbm9fY3Rwcy5ocHAKQEAgLTAsMCArMSwxOTMgQEAKKworI2lmICFkZWZpbmVkKEJPT1NUX1BQX0lTX0lURVJBVElORykKKworLy8vLy8gaGVhZGVyIGJvZHkKKworI2lmbmRlZiBCT09TVF9NUExfQVVYX0xBTUJEQV9OT19DVFBTX0hQUF9JTkNMVURFRAorI2RlZmluZSBCT09TVF9NUExfQVVYX0xBTUJEQV9OT19DVFBTX0hQUF9JTkNMVURFRAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisvLyBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvbGlicy9tcGwgZm9yIGRvY3VtZW50YXRpb24uCisKKy8vICRJZDogbGFtYmRhX25vX2N0cHMuaHBwIDQ5MjY3IDIwMDgtMTAtMTEgMDY6MTk6MDJaIGFndXJ0b3ZveSAkCisvLyAkRGF0ZTogMjAwOC0xMC0xMCAyMzoxOTowMiAtMDcwMCAoRnJpLCAxMCBPY3QgMjAwOCkgJAorLy8gJFJldmlzaW9uOiA0OTI2NyAkCisKKyNpZiAhZGVmaW5lZChCT09TVF9NUExfUFJFUFJPQ0VTU0lOR19NT0RFKQorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC9sYW1iZGFfZndkLmhwcD4KKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvYmluZF9md2QuaHBwPgorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC9wcm90ZWN0LmhwcD4KKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvaXNfcGxhY2Vob2xkZXIuaHBwPgorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC9pZi5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2lkZW50aXR5LmhwcD4KKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvYm9vbC5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vbmFfc3BlYy5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vbGFtYmRhX3N1cHBvcnQuaHBwPgorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL3RlbXBsYXRlX2FyaXR5LmhwcD4KKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy92YWx1ZV93a25kLmhwcD4KKyNlbmRpZgorCisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vY29uZmlnL3VzZV9wcmVwcm9jZXNzZWQuaHBwPgorCisjaWYgICAgIWRlZmluZWQoQk9PU1RfTVBMX0NGR19OT19QUkVQUk9DRVNTRURfSEVBREVSUykgXAorICAgICYmICFkZWZpbmVkKEJPT1NUX01QTF9QUkVQUk9DRVNTSU5HX01PREUpCisKKyMgICBkZWZpbmUgQk9PU1RfTVBMX1BSRVBST0NFU1NFRF9IRUFERVIgbGFtYmRhX25vX2N0cHMuaHBwCisjICAgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vaW5jbHVkZV9wcmVwcm9jZXNzZWQuaHBwPgorCisjZWxzZQorCisjICAgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2xpbWl0cy9hcml0eS5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc29yL3BhcmFtcy5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc29yL2RlZmF1bHRfcGFyYW1zLmhwcD4KKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzb3IvcmVwZWF0LmhwcD4KKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzb3IvZW51bS5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vY29uZmlnL21zdmMuaHBwPgorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2NvbmZpZy93b3JrYXJvdW5kLmhwcD4KKworIyAgIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9jb21tYV9pZi5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL2l0ZXJhdGUuaHBwPgorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9pbmMuaHBwPgorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9jYXQuaHBwPgorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKworIyAgIGRlZmluZSBBVVg3NzgwNzZfTEFNQkRBX1BBUkFNUyhpXywgcGFyYW0pIFwKKyAgICBCT09TVF9NUExfUFBfUEFSQU1TKGlfLCBwYXJhbSkgXAorICAgIC8qKi8KKworbmFtZXNwYWNlIGF1eCB7CisKKyNkZWZpbmUgbl8gQk9PU1RfTVBMX0xJTUlUX01FVEFGVU5DVElPTl9BUklUWQordGVtcGxhdGU8CisgICAgICBCT09TVF9NUExfUFBfREVGQVVMVF9QQVJBTVMobl8sYm9vbCBDLGZhbHNlKQorICAgID4KK3N0cnVjdCBsYW1iZGFfb3IKKyAgICA6IHRydWVfCit7Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgbGFtYmRhX29yPCBCT09TVF9NUExfUFBfRU5VTShuXyxmYWxzZSkgPgorICAgIDogZmFsc2VfCit7Cit9OworI3VuZGVmIG5fCisKK3RlbXBsYXRlPCB0eXBlbmFtZSBBcml0eSA+IHN0cnVjdCBsYW1iZGFfaW1wbAoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBULCB0eXBlbmFtZSBUYWcsIHR5cGVuYW1lIFByb3RlY3QgPiBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiBUIHR5cGU7CisgICAgICAgIHR5cGVkZWYgaXNfcGxhY2Vob2xkZXI8VD4gaXNfbGU7CisgICAgfTsKK307CisKKyNkZWZpbmUgQk9PU1RfUFBfSVRFUkFUSU9OX1BBUkFNU18xIFwKKyAgICAoMywoMSwgQk9PU1RfTVBMX0xJTUlUX01FVEFGVU5DVElPTl9BUklUWSwgPG5kbmJvb3N0L21wbC9hdXhfL2xhbWJkYV9ub19jdHBzLmhwcD4pKQorI2luY2x1ZGUgQk9PU1RfUFBfSVRFUkFURSgpCisKK30gLy8gbmFtZXNwYWNlIGF1eAorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQKKyAgICAsIHR5cGVuYW1lIFRhZworICAgICwgdHlwZW5hbWUgUHJvdGVjdAorICAgID4KK3N0cnVjdCBsYW1iZGEKK3sKKyAgICAvLy8gTWV0YWZ1bmN0aW9uIGZvcndhcmRpbmcgY29uZnVzZXMgTVNWQyA2LngKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGF1eDo6dGVtcGxhdGVfYXJpdHk8VD46OnR5cGUgYXJpdHlfOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXV4OjpsYW1iZGFfaW1wbDxhcml0eV8+CisgICAgICAgIDo6dGVtcGxhdGUgcmVzdWx0XzwgVCxUYWcsUHJvdGVjdCA+IGxfOworCisgICAgdHlwZWRlZiB0eXBlbmFtZSBsXzo6dHlwZSB0eXBlOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbF86OmlzX2xlIGlzX2xlOworICAgIAorICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoMywgbGFtYmRhLCAoVCwgVGFnLCBQcm90ZWN0KSkKK307CisKK0JPT1NUX01QTF9BVVhfTkFfU1BFQzIoMSwgMywgbGFtYmRhKQorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQKKyAgICA+CitzdHJ1Y3QgaXNfbGFtYmRhX2V4cHJlc3Npb24KKyAgICA6IGxhbWJkYTxUPjo6aXNfbGUKK3sKK307CisKKyMgICB1bmRlZiBBVVg3NzgwNzZfTEFNQkRBX1BBUkFNUworCit9fQorCisjZW5kaWYgLy8gQk9PU1RfTVBMX0NGR19OT19QUkVQUk9DRVNTRURfSEVBREVSUworI2VuZGlmIC8vIEJPT1NUX01QTF9BVVhfTEFNQkRBX05PX0NUUFNfSFBQX0lOQ0xVREVECisKKy8vLy8vIGl0ZXJhdGlvbiwgZGVwdGggPT0gMQorCisjZWxzZQorCisjZGVmaW5lIGlfIEJPT1NUX1BQX0ZSQU1FX0lURVJBVElPTigxKQorCisjICAgZGVmaW5lIEFVWDc3ODA3Nl9MQU1CREFfVFlQRURFRih1bnVzZWQsIGlfLCBGKSBcCisgICAgdHlwZWRlZiBsYW1iZGE8IFwKKyAgICAgICAgICB0eXBlbmFtZSBGOjpCT09TVF9QUF9DQVQoYXJnLEJPT1NUX1BQX0lOQyhpXykpIFwKKyAgICAgICAgLCBUYWcgXAorICAgICAgICAsIGZhbHNlXyBcCisgICAgICAgID4gQk9PU1RfUFBfQ0FUKGwsQk9PU1RfUFBfSU5DKGlfKSk7IFwKKyAgICAvKiovCisKKyMgICBkZWZpbmUgQVVYNzc4MDc2X0lTX0xFX1RZUEVERUYodW51c2VkLCBpXywgdW51c2VkMikgXAorICAgIHR5cGVkZWYgdHlwZW5hbWUgQk9PU1RfUFBfQ0FUKGwsQk9PU1RfUFBfSU5DKGlfKSk6OmlzX2xlIFwKKyAgICAgICAgQk9PU1RfUFBfQ0FUKGlzX2xlLEJPT1NUX1BQX0lOQyhpXykpOyBcCisgICAgLyoqLworCisjICAgZGVmaW5lIEFVWDc3ODA3Nl9JU19MQU1CREFfRVhQUih1bnVzZWQsIGlfLCB1bnVzZWQyKSBcCisgICAgQk9PU1RfUFBfQ09NTUFfSUYoaV8pIFwKKyAgICBCT09TVF9NUExfQVVYX01TVkNfVkFMVUVfV0tORChCT09TVF9QUF9DQVQoaXNfbGUsQk9PU1RfUFBfSU5DKGlfKSkpOjp2YWx1ZSBcCisgICAgLyoqLworCisjICAgZGVmaW5lIEFVWDc3ODA3Nl9MQU1CREFfUkVTVUxUKHVudXNlZCwgaV8sIHVudXNlZDIpIFwKKyAgICAsIHR5cGVuYW1lIEJPT1NUX1BQX0NBVChsLEJPT1NUX1BQX0lOQyhpXykpOjp0eXBlIFwKKyAgICAvKiovCisKK3RlbXBsYXRlPD4gc3RydWN0IGxhbWJkYV9pbXBsPCBpbnRfPGlfPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIEYsIHR5cGVuYW1lIFRhZywgdHlwZW5hbWUgUHJvdGVjdCA+IHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICBCT09TVF9NUExfUFBfUkVQRUFUKGlfLCBBVVg3NzgwNzZfTEFNQkRBX1RZUEVERUYsIEYpCisgICAgICAgIEJPT1NUX01QTF9QUF9SRVBFQVQoaV8sIEFVWDc3ODA3Nl9JU19MRV9UWVBFREVGLCB1bnVzZWQpCisKKyAgICAgICAgdHlwZWRlZiBhdXg6OmxhbWJkYV9vcjwKKyAgICAgICAgICAgICAgQk9PU1RfTVBMX1BQX1JFUEVBVChpXywgQVVYNzc4MDc2X0lTX0xBTUJEQV9FWFBSLCB1bnVzZWQpCisgICAgICAgICAgICA+IGlzX2xlOworCisgICAgICAgIHR5cGVkZWYgQk9PU1RfUFBfQ0FUKGJpbmQsaV8pPAorICAgICAgICAgICAgICB0eXBlbmFtZSBGOjpyZWJpbmQKKyAgICAgICAgICAgIEJPT1NUX01QTF9QUF9SRVBFQVQoaV8sIEFVWDc3ODA3Nl9MQU1CREFfUkVTVUxULCB1bnVzZWQpCisgICAgICAgICAgICA+IGJpbmRfOworCisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgaWZfPAorICAgICAgICAgICAgICBpc19sZQorICAgICAgICAgICAgLCBpZl88IFByb3RlY3QsIG1wbDo6cHJvdGVjdDxiaW5kXz4sIGJpbmRfID4KKyAgICAgICAgICAgICwgaWRlbnRpdHk8Rj4KKyAgICAgICAgICAgID46OnR5cGUgdHlwZV87CisgICAgCisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgdHlwZV86OnR5cGUgdHlwZTsKKyAgICB9OworfTsKKworIyAgIHVuZGVmIEFVWDc3ODA3Nl9MQU1CREFfUkVTVUxUCisjICAgdW5kZWYgQVVYNzc4MDc2X0lTX0xBTUJEQV9FWFBSCisjICAgdW5kZWYgQVVYNzc4MDc2X0lTX0xFX1RZUEVERUYKKyMgICB1bmRlZiBBVVg3NzgwNzZfTEFNQkRBX1RZUEVERUYKKworI3VuZGVmIGlfCisKKyNlbmRpZiAvLyBCT09TVF9QUF9JU19JVEVSQVRJTkcKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL2xhbWJkYV9zcGVjLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL2xhbWJkYV9zcGVjLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mM2U2MTM3Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vbGFtYmRhX3NwZWMuaHBwCkBAIC0wLDAgKzEsNDkgQEAKKworI2lmbmRlZiBCT09TVF9NUExfQVVYX0xBTUJEQV9TUEVDX0hQUF9JTkNMVURFRAorI2RlZmluZSBCT09TVF9NUExfQVVYX0xBTUJEQV9TUEVDX0hQUF9JTkNMVURFRAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAxLTIwMDcKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisvLyBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvbGlicy9tcGwgZm9yIGRvY3VtZW50YXRpb24uCisKKy8vICRJZDogbGFtYmRhX3NwZWMuaHBwIDQ5MjY3IDIwMDgtMTAtMTEgMDY6MTk6MDJaIGFndXJ0b3ZveSAkCisvLyAkRGF0ZTogMjAwOC0xMC0xMCAyMzoxOTowMiAtMDcwMCAoRnJpLCAxMCBPY3QgMjAwOCkgJAorLy8gJFJldmlzaW9uOiA0OTI2NyAkCisKKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvdm9pZC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2xhbWJkYV9md2QuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9pbnRfZndkLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzb3IvcGFyYW1zLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9sYW1iZGFfYXJpdHlfcGFyYW0uaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2NvbmZpZy9sYW1iZGEuaHBwPgorCisjaWYgIWRlZmluZWQoQk9PU1RfTVBMX0NGR19OT19GVUxMX0xBTUJEQV9TVVBQT1JUKQorCisjICAgZGVmaW5lIEJPT1NUX01QTF9BVVhfUEFTU19USFJPVUdIX0xBTUJEQV9TUEVDKGksIG5hbWUpIFwKK3RlbXBsYXRlPCBcCisgICAgICBCT09TVF9NUExfUFBfUEFSQU1TKGksIHR5cGVuYW1lIFQpIFwKKyAgICAsIHR5cGVuYW1lIFRhZyBcCisgICAgPiBcCitzdHJ1Y3QgbGFtYmRhPCBcCisgICAgICBuYW1lPCBCT09TVF9NUExfUFBfUEFSQU1TKGksIFQpID4gXAorICAgICwgVGFnIFwKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9BUklUWV9QQVJBTShpbnRfPGk+KSBcCisgICAgPiBcCit7IFwKKyAgICB0eXBlZGVmIGZhbHNlXyBpc19sZTsgXAorICAgIHR5cGVkZWYgbmFtZTwgQk9PU1RfTVBMX1BQX1BBUkFNUyhpLCBUKSA+IHJlc3VsdF87IFwKKyAgICB0eXBlZGVmIHJlc3VsdF8gdHlwZTsgXAorfTsgXAorLyoqLworCisjZWxzZQorCisjICAgZGVmaW5lIEJPT1NUX01QTF9BVVhfUEFTU19USFJPVUdIX0xBTUJEQV9TUEVDKGksIG5hbWUpIC8qKi8KKworI2VuZGlmCisKKyNlbmRpZiAvLyBCT09TVF9NUExfQVVYX0xBTUJEQV9TUEVDX0hQUF9JTkNMVURFRApkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vbGFyZ2VzdF9pbnQuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vbGFyZ2VzdF9pbnQuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY4OGFkOTQKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9sYXJnZXN0X2ludC5ocHAKQEAgLTAsMCArMSw2MyBAQAorCisjaWZuZGVmIEJPT1NUX01QTF9BVVhfTEFSR0VTVF9JTlRfSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX01QTF9BVVhfTEFSR0VTVF9JTlRfSFBQX0lOQ0xVREVECisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKy8vIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL21wbCBmb3IgZG9jdW1lbnRhdGlvbi4KKworLy8gJElkOiBsYXJnZXN0X2ludC5ocHAgNDkyNjcgMjAwOC0xMC0xMSAwNjoxOTowMlogYWd1cnRvdm95ICQKKy8vICREYXRlOiAyMDA4LTEwLTEwIDIzOjE5OjAyIC0wNzAwIChGcmksIDEwIE9jdCAyMDA4KSAkCisvLyAkUmV2aXNpb246IDQ5MjY3ICQKKworI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9pZi5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2ludC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vY29uZmlnL2ludGVncmFsLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9jb25maWcuaHBwPgorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsgbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUID4gc3RydWN0IGludGVncmFsX3Jhbms7CisKK3RlbXBsYXRlPD4gc3RydWN0IGludGVncmFsX3Jhbms8Ym9vbD4gICAgICAgICAgIDogaW50XzwxPiB7fTsKK3RlbXBsYXRlPD4gc3RydWN0IGludGVncmFsX3Jhbms8c2lnbmVkIGNoYXI+ICAgIDogaW50XzwyPiB7fTsKK3RlbXBsYXRlPD4gc3RydWN0IGludGVncmFsX3Jhbms8Y2hhcj4gICAgICAgICAgIDogaW50XzwzPiB7fTsKK3RlbXBsYXRlPD4gc3RydWN0IGludGVncmFsX3Jhbms8dW5zaWduZWQgY2hhcj4gIDogaW50Xzw0PiB7fTsKKyNpZiAhZGVmaW5lZChCT09TVF9OT19JTlRSSU5TSUNfV0NIQVJfVCkKK3RlbXBsYXRlPD4gc3RydWN0IGludGVncmFsX3Jhbms8d2NoYXJfdD4gICAgICAgIDogaW50Xzw1PiB7fTsKKyNlbmRpZgordGVtcGxhdGU8PiBzdHJ1Y3QgaW50ZWdyYWxfcmFuazxzaG9ydD4gICAgICAgICAgOiBpbnRfPDY+IHt9OwordGVtcGxhdGU8PiBzdHJ1Y3QgaW50ZWdyYWxfcmFuazx1bnNpZ25lZCBzaG9ydD4gOiBpbnRfPDc+IHt9OwordGVtcGxhdGU8PiBzdHJ1Y3QgaW50ZWdyYWxfcmFuazxpbnQ+ICAgICAgICAgICAgOiBpbnRfPDg+IHt9OwordGVtcGxhdGU8PiBzdHJ1Y3QgaW50ZWdyYWxfcmFuazx1bnNpZ25lZCBpbnQ+ICAgOiBpbnRfPDk+IHt9OwordGVtcGxhdGU8PiBzdHJ1Y3QgaW50ZWdyYWxfcmFuazxsb25nPiAgICAgICAgICAgOiBpbnRfPDEwPiB7fTsKK3RlbXBsYXRlPD4gc3RydWN0IGludGVncmFsX3Jhbms8dW5zaWduZWQgbG9uZz4gIDogaW50XzwxMT4ge307CisKKyNpZiBkZWZpbmVkKEJPT1NUX0hBU19MT05HX0xPTkcpCit0ZW1wbGF0ZTw+IHN0cnVjdCBpbnRlZ3JhbF9yYW5rPGxvbmdfbG9uZ190eXBlPiA6IGludF88MTI+IHt9OwordGVtcGxhdGU8PiBzdHJ1Y3QgaW50ZWdyYWxfcmFuazx1bG9uZ19sb25nX3R5cGU+OiBpbnRfPDEzPiB7fTsKKyNlbmRpZgorCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyID4gc3RydWN0IGxhcmdlc3RfaW50CisjaWYgIWRlZmluZWQoQk9PU1RfTVBMX0NGR19OT19ORVNURURfVkFMVUVfQVJJVEhNRVRJQykKKyAgICA6IGlmX2M8IAorICAgICAgICAgICggaW50ZWdyYWxfcmFuazxUMT46OnZhbHVlID49IGludGVncmFsX3Jhbms8VDI+Ojp2YWx1ZSApCisgICAgICAgICwgVDEKKyAgICAgICAgLCBUMgorICAgICAgICA+Cit7CisjZWxzZQoreworICAgIGVudW0geyByYW5rMSA9IGludGVncmFsX3Jhbms8VDE+Ojp2YWx1ZSB9OworICAgIGVudW0geyByYW5rMiA9IGludGVncmFsX3Jhbms8VDI+Ojp2YWx1ZSB9OworICAgIHR5cGVkZWYgdHlwZW5hbWUgaWZfYzwgKHJhbmsxID49IHJhbmsyKSxUMSxUMiA+Ojp0eXBlIHR5cGU7CisjZW5kaWYKK307CisKK319fQorCisjZW5kaWYgLy8gQk9PU1RfTVBMX0FVWF9MQVJHRVNUX0lOVF9IUFBfSU5DTFVERUQKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL2xvZ2ljYWxfb3AuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vbG9naWNhbF9vcC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTM3OGUxZgotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL2xvZ2ljYWxfb3AuaHBwCkBAIC0wLDAgKzEsMTY1IEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKy8vIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL21wbCBmb3IgZG9jdW1lbnRhdGlvbi4KKworLy8gJElkOiBsb2dpY2FsX29wLmhwcCA0OTI2NyAyMDA4LTEwLTExIDA2OjE5OjAyWiBhZ3VydG92b3kgJAorLy8gJERhdGU6IDIwMDgtMTAtMTAgMjM6MTk6MDIgLTA3MDAgKEZyaSwgMTAgT2N0IDIwMDgpICQKKy8vICRSZXZpc2lvbjogNDkyNjcgJAorCisvLyBOTyBJTkNMVURFIEdVQVJEUywgVEhFIEhFQURFUiBJUyBJTlRFTkRFRCBGT1IgTVVMVElQTEUgSU5DTFVTSU9OIQorCisjaWYgIWRlZmluZWQoQk9PU1RfTVBMX1BSRVBST0NFU1NJTkdfTU9ERSkKKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvYm9vbC5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vbmVzdGVkX3R5cGVfd2tuZC5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vbmFfc3BlYy5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vbGFtYmRhX3N1cHBvcnQuaHBwPgorI2VuZGlmCisKKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvbGltaXRzL2FyaXR5LmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzb3IvcGFyYW1zLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzb3IvZXh0X3BhcmFtcy5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc29yL2RlZl9wYXJhbXNfdGFpbC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc29yL2VudW0uaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3Nvci9zdWIuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2NvbmZpZy9jdHBzLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9jb25maWcvd29ya2Fyb3VuZC5ocHA+CisKKyNpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3IvZGVjLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3IvaW5jLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3IvY2F0LmhwcD4KKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKKyMgICBkZWZpbmUgQVVYNzc4MDc2X1BBUkFNUyhwYXJhbSwgc3ViKSBcCisgICAgQk9PU1RfTVBMX1BQX1BBUkFNUyggXAorICAgICAgICAgIEJPT1NUX01QTF9QUF9TVUIoQk9PU1RfTVBMX0xJTUlUX01FVEFGVU5DVElPTl9BUklUWSwgc3ViKSBcCisgICAgICAgICwgcGFyYW0gXAorICAgICAgICApIFwKKyAgICAvKiovCisKKyMgICBkZWZpbmUgQVVYNzc4MDc2X1NISUZURURfUEFSQU1TKHBhcmFtLCBzdWIpIFwKKyAgICBCT09TVF9NUExfUFBfRVhUX1BBUkFNUyggXAorICAgICAgICAgIDIsIEJPT1NUX01QTF9QUF9TVUIoQk9PU1RfUFBfSU5DKEJPT1NUX01QTF9MSU1JVF9NRVRBRlVOQ1RJT05fQVJJVFkpLCBzdWIpIFwKKyAgICAgICAgLCBwYXJhbSBcCisgICAgICAgICkgXAorICAgIC8qKi8KKworIyAgIGRlZmluZSBBVVg3NzgwNzZfU1BFQ19QQVJBTVMocGFyYW0pIFwKKyAgICBCT09TVF9NUExfUFBfRU5VTSggXAorICAgICAgICAgIEJPT1NUX1BQX0RFQyhCT09TVF9NUExfTElNSVRfTUVUQUZVTkNUSU9OX0FSSVRZKSBcCisgICAgICAgICwgcGFyYW0gXAorICAgICAgICApIFwKKyAgICAvKiovCisKK25hbWVzcGFjZSBhdXggeworCisjaWYgIWRlZmluZWQoQk9PU1RfTk9fVEVNUExBVEVfUEFSVElBTF9TUEVDSUFMSVpBVElPTikKKwordGVtcGxhdGU8IGJvb2wgQ18sIEFVWDc3ODA3Nl9QQVJBTVModHlwZW5hbWUgVCwgMSkgPgorc3RydWN0IEJPT1NUX1BQX0NBVChBVVg3NzgwNzZfT1BfTkFNRSxpbXBsKQorICAgIDogQk9PU1RfUFBfQ0FUKEFVWDc3ODA3Nl9PUF9WQUxVRTEsXykKK3sKK307CisKK3RlbXBsYXRlPCBBVVg3NzgwNzZfUEFSQU1TKHR5cGVuYW1lIFQsIDEpID4KK3N0cnVjdCBCT09TVF9QUF9DQVQoQVVYNzc4MDc2X09QX05BTUUsaW1wbCk8IEFVWDc3ODA3Nl9PUF9WQUxVRTIsQVVYNzc4MDc2X1BBUkFNUyhULCAxKSA+CisgICAgOiBCT09TVF9QUF9DQVQoQVVYNzc4MDc2X09QX05BTUUsaW1wbCk8CisgICAgICAgICAgQk9PU1RfTVBMX0FVWF9ORVNURURfVFlQRV9XS05EKFQxKTo6dmFsdWUKKyAgICAgICAgLCBBVVg3NzgwNzZfU0hJRlRFRF9QQVJBTVMoVCwgMSkKKyAgICAgICAgLCBCT09TVF9QUF9DQVQoQVVYNzc4MDc2X09QX1ZBTFVFMixfKQorICAgICAgICA+Cit7Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgQk9PU1RfUFBfQ0FUKEFVWDc3ODA3Nl9PUF9OQU1FLGltcGwpPAorICAgICAgICAgIEFVWDc3ODA3Nl9PUF9WQUxVRTIKKyAgICAgICAgLCBBVVg3NzgwNzZfU1BFQ19QQVJBTVMoQk9PU1RfUFBfQ0FUKEFVWDc3ODA3Nl9PUF9WQUxVRTIsXykpCisgICAgICAgID4KKyAgICA6IEJPT1NUX1BQX0NBVChBVVg3NzgwNzZfT1BfVkFMVUUyLF8pCit7Cit9OworCisjZWxzZQorCit0ZW1wbGF0ZTwgYm9vbCBDXyA+IHN0cnVjdCBCT09TVF9QUF9DQVQoQVVYNzc4MDc2X09QX05BTUUsaW1wbCkKK3sKKyAgICB0ZW1wbGF0ZTwgQVVYNzc4MDc2X1BBUkFNUyh0eXBlbmFtZSBULCAxKSA+IHN0cnVjdCByZXN1bHRfCisgICAgICAgIDogQk9PU1RfUFBfQ0FUKEFVWDc3ODA3Nl9PUF9WQUxVRTEsXykKKyAgICB7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4gc3RydWN0IEJPT1NUX1BQX0NBVChBVVg3NzgwNzZfT1BfTkFNRSxpbXBsKTxBVVg3NzgwNzZfT1BfVkFMVUUyPgoreworICAgIHRlbXBsYXRlPCBBVVg3NzgwNzZfUEFSQU1TKHR5cGVuYW1lIFQsIDEpID4gc3RydWN0IHJlc3VsdF8KKyAgICAgICAgOiBCT09TVF9QUF9DQVQoQVVYNzc4MDc2X09QX05BTUUsaW1wbCk8IAorICAgICAgICAgICAgICBCT09TVF9NUExfQVVYX05FU1RFRF9UWVBFX1dLTkQoVDEpOjp2YWx1ZQorICAgICAgICAgICAgPjo6dGVtcGxhdGUgcmVzdWx0XzwgQVVYNzc4MDc2X1NISUZURURfUEFSQU1TKFQsMSksQk9PU1RfUFBfQ0FUKEFVWDc3ODA3Nl9PUF9WQUxVRTIsXykgPgorICAgIHsKKyAgICB9OworCisjaWYgQk9PU1RfV09SS0FST1VORChCT09TVF9NU1ZDLCA9PSAxMzAwKQorICAgIHRlbXBsYXRlPD4gc3RydWN0IHJlc3VsdF88QVVYNzc4MDc2X1NQRUNfUEFSQU1TKEJPT1NUX1BQX0NBVChBVVg3NzgwNzZfT1BfVkFMVUUyLF8pKT4KKyAgICAgICAgOiBCT09TVF9QUF9DQVQoQVVYNzc4MDc2X09QX1ZBTFVFMixfKQorICAgIHsKKyAgICB9OworfTsKKyNlbHNlCit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgQk9PU1RfUFBfQ0FUKEFVWDc3ODA3Nl9PUF9OQU1FLGltcGwpPEFVWDc3ODA3Nl9PUF9WQUxVRTI+CisgICAgOjpyZXN1bHRfPCBBVVg3NzgwNzZfU1BFQ19QQVJBTVMoQk9PU1RfUFBfQ0FUKEFVWDc3ODA3Nl9PUF9WQUxVRTIsXykpID4KKyAgICAgICAgOiBCT09TVF9QUF9DQVQoQVVYNzc4MDc2X09QX1ZBTFVFMixfKQoreworfTsKKyNlbmRpZiAvLyBCT09TVF9NU1ZDID09IDEzMDAKKworI2VuZGlmIC8vIEJPT1NUX05PX1RFTVBMQVRFX1BBUlRJQUxfU1BFQ0lBTElaQVRJT04KKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShUMSkKKyAgICAsIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oVDIpCisgICAgQk9PU1RfTVBMX1BQX0RFRl9QQVJBTVNfVEFJTCgyLCB0eXBlbmFtZSBULCBCT09TVF9QUF9DQVQoQVVYNzc4MDc2X09QX1ZBTFVFMixfKSkKKyAgICA+CitzdHJ1Y3QgQVVYNzc4MDc2X09QX05BTUUKKyNpZiAhZGVmaW5lZChCT09TVF9OT19URU1QTEFURV9QQVJUSUFMX1NQRUNJQUxJWkFUSU9OKQorICAgIDogYXV4OjpCT09TVF9QUF9DQVQoQVVYNzc4MDc2X09QX05BTUUsaW1wbCk8CisgICAgICAgICAgQk9PU1RfTVBMX0FVWF9ORVNURURfVFlQRV9XS05EKFQxKTo6dmFsdWUKKyAgICAgICAgLCBBVVg3NzgwNzZfU0hJRlRFRF9QQVJBTVMoVCwwKQorICAgICAgICA+CisjZWxzZQorICAgIDogYXV4OjpCT09TVF9QUF9DQVQoQVVYNzc4MDc2X09QX05BTUUsaW1wbCk8IAorICAgICAgICAgIEJPT1NUX01QTF9BVVhfTkVTVEVEX1RZUEVfV0tORChUMSk6OnZhbHVlCisgICAgICAgID46OnRlbXBsYXRlIHJlc3VsdF88IEFVWDc3ODA3Nl9TSElGVEVEX1BBUkFNUyhULDApID4KKyNlbmRpZgoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoCisgICAgICAgICAgQk9PU1RfTVBMX0xJTUlUX01FVEFGVU5DVElPTl9BUklUWQorICAgICAgICAsIEFVWDc3ODA3Nl9PUF9OQU1FCisgICAgICAgICwgKEFVWDc3ODA3Nl9QQVJBTVMoVCwgMCkpCisgICAgICAgICkKK307CisKK0JPT1NUX01QTF9BVVhfTkFfU1BFQzIoCisgICAgICAyCisgICAgLCBCT09TVF9NUExfTElNSVRfTUVUQUZVTkNUSU9OX0FSSVRZCisgICAgLCBBVVg3NzgwNzZfT1BfTkFNRQorICAgICkKKworfX0KKworI3VuZGVmIEFVWDc3ODA3Nl9TUEVDX1BBUkFNUworI3VuZGVmIEFVWDc3ODA3Nl9TSElGVEVEX1BBUkFNUworI3VuZGVmIEFVWDc3ODA3Nl9QQVJBTVMKKyN1bmRlZiBBVVg3NzgwNzZfT1BfTkFNRQorI3VuZGVmIEFVWDc3ODA3Nl9PUF9WQUxVRTEKKyN1bmRlZiBBVVg3NzgwNzZfT1BfVkFMVUUyCmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9tc3ZjX2R0dy5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9tc3ZjX2R0dy5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTBlZjI4ZAotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL21zdmNfZHR3LmhwcApAQCAtMCwwICsxLDY4IEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKy8vIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL21wbCBmb3IgZG9jdW1lbnRhdGlvbi4KKworLy8gJElkOiBtc3ZjX2R0dy5ocHAgNDkyNjcgMjAwOC0xMC0xMSAwNjoxOTowMlogYWd1cnRvdm95ICQKKy8vICREYXRlOiAyMDA4LTEwLTEwIDIzOjE5OjAyIC0wNzAwIChGcmksIDEwIE9jdCAyMDA4KSAkCisvLyAkUmV2aXNpb246IDQ5MjY3ICQKKworLy8gTk8gSU5DTFVERSBHVUFSRFMsIFRIRSBIRUFERVIgSVMgSU5URU5ERUQgRk9SIE1VTFRJUExFIElOQ0xVU0lPTiEKKworI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3Nvci9wYXJhbXMuaHBwPgorCisvLyBsb2NhbCBtYWNyb3MsICN1bmRlZi1pbmVkIGF0IHRoZSBlbmQgb2YgdGhlIGhlYWRlcgorI2RlZmluZSBBVVg3NzgwNzZfRFRXX1BBUkFNUyhwYXJhbSkgXAorICAgIEJPT1NUX01QTF9QUF9QQVJBTVMoQVVYNzc4MDc2X01TVkNfRFRXX0FSSVRZLCBwYXJhbSkgXAorLyoqLworCisjZGVmaW5lIEFVWDc3ODA3Nl9EVFdfT1JJR0lOQUxfTkFNRSBcCisgICAgQVVYNzc4MDc2X01TVkNfRFRXX09SSUdJTkFMX05BTUUgXAorLyoqLworCisvLyB3YXJuaW5nOiBub3QgYSB3ZWxsLWZvcm1lZCBDKysKKy8vIHdvcmthcm91bmQgZm9yIE1TVkMgNi41J3MgImRlcGVuZGVudCB0ZW1wbGF0ZSB0eXBlZGVmIGJ1ZyIKKwordGVtcGxhdGU8IHR5cGVuYW1lIEY+CitzdHJ1Y3QgQVVYNzc4MDc2X01TVkNfRFRXX05BTUUKK3sKKyAgICB0ZW1wbGF0ZTwgYm9vbCA+IHN0cnVjdCBmXyA6IEYge307CisgICAgdGVtcGxhdGU8PiBzdHJ1Y3QgZl88dHJ1ZT4KKyAgICB7CisjaWYgQVVYNzc4MDc2X01TVkNfRFRXX0FSSVRZID4gMAorICAgICAgICB0ZW1wbGF0ZTwgQVVYNzc4MDc2X0RUV19QQVJBTVModHlwZW5hbWUgUCkgPiBzdHJ1Y3QgQVVYNzc4MDc2X0RUV19PUklHSU5BTF9OQU1FCisgICAgICAgIHsKKyAgICAgICAgICAgIHR5cGVkZWYgaW50IHR5cGU7CisgICAgICAgIH07CisgICAgfTsKKworICAgIHRlbXBsYXRlPCBBVVg3NzgwNzZfRFRXX1BBUkFNUyh0eXBlbmFtZSBUKSA+IHN0cnVjdCByZXN1bHRfCisgICAgICAgIDogZl88IGF1eDo6bXN2Y19uZXZlcl90cnVlPEY+Ojp2YWx1ZSA+CisgICAgICAgICAgICA6OnRlbXBsYXRlIEFVWDc3ODA3Nl9EVFdfT1JJR0lOQUxfTkFNRTwgQVVYNzc4MDc2X0RUV19QQVJBTVMoVCkgPgorICAgIHsKKyAgICB9OworI2Vsc2UKKyAgICAgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFAgPSBpbnQgPiBzdHJ1Y3QgQVVYNzc4MDc2X0RUV19PUklHSU5BTF9OQU1FCisgICAgICAgIHsKKyAgICAgICAgICAgIHR5cGVkZWYgaW50IHR5cGU7CisgICAgICAgIH07CisgICAgfTsKKworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBUID0gaW50ID4gc3RydWN0IHJlc3VsdF8KKyAgICAgICAgOiBmXzwgYXV4Ojptc3ZjX25ldmVyX3RydWU8Rj46OnZhbHVlID4KKyAgICAgICAgICAgIDo6dGVtcGxhdGUgQVVYNzc4MDc2X0RUV19PUklHSU5BTF9OQU1FPD4KKyAgICB7CisgICAgfTsKKyNlbmRpZgorfTsKKworI3VuZGVmIEFVWDc3ODA3Nl9EVFdfT1JJR0lOQUxfTkFNRQorI3VuZGVmIEFVWDc3ODA3Nl9EVFdfUEFSQU1TCisKKyN1bmRlZiBBVVg3NzgwNzZfTVNWQ19EVFdfTkFNRQorI3VuZGVmIEFVWDc3ODA3Nl9NU1ZDX0RUV19PUklHSU5BTF9OQU1FCisjdW5kZWYgQVVYNzc4MDc2X01TVkNfRFRXX0FSSVRZCmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9tc3ZjX2V0aV9iYXNlLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL21zdmNfZXRpX2Jhc2UuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU3YTFjNGEKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9tc3ZjX2V0aV9iYXNlLmhwcApAQCAtMCwwICsxLDc3IEBACisKKyNpZm5kZWYgQk9PU1RfTVBMX0FVWF9NU1ZDX0VUSV9CQVNFX0hQUF9JTkNMVURFRAorI2RlZmluZSBCT09TVF9NUExfQVVYX01TVkNfRVRJX0JBU0VfSFBQX0lOQ0xVREVECisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDEtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKy8vIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL21wbCBmb3IgZG9jdW1lbnRhdGlvbi4KKworLy8gJElkOiBtc3ZjX2V0aV9iYXNlLmhwcCA0OTI2NyAyMDA4LTEwLTExIDA2OjE5OjAyWiBhZ3VydG92b3kgJAorLy8gJERhdGU6IDIwMDgtMTAtMTAgMjM6MTk6MDIgLTA3MDAgKEZyaSwgMTAgT2N0IDIwMDgpICQKKy8vICRSZXZpc2lvbjogNDkyNjcgJAorCisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vaXNfbXN2Y19ldGlfYXJnLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9jb25maWcvZXRpLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9jb25maWcvZ2NjLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9jb25maWcvd29ya2Fyb3VuZC5ocHA+CisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeyBuYW1lc3BhY2UgYXV4IHsKKworI2lmIGRlZmluZWQoQk9PU1RfTVBMX0NGR19NU1ZDXzcwX0VUSV9CVUcpCisKK3RlbXBsYXRlPCBib29sID4gc3RydWN0IG1zdmNfZXRpX2Jhc2VfaW1wbAoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBUID4gc3RydWN0IHJlc3VsdF8KKyAgICAgICAgOiBUCisgICAgeworICAgICAgICB0eXBlZGVmIFQgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgbXN2Y19ldGlfYmFzZV9pbXBsPHRydWU+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFQgPiBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiByZXN1bHRfIHR5cGU7CisgICAgICAgIHR5cGVkZWYgcmVzdWx0XyBmaXJzdDsKKyAgICAgICAgdHlwZWRlZiByZXN1bHRfIHNlY29uZDsKKyAgICAgICAgdHlwZWRlZiByZXN1bHRfIHRhZzsKKyAgICAgICAgZW51bSB7IHZhbHVlID0gMCB9OworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVCA+IHN0cnVjdCBtc3ZjX2V0aV9iYXNlCisgICAgOiBtc3ZjX2V0aV9iYXNlX2ltcGw8IGlzX21zdmNfZXRpX2FyZzxUPjo6dmFsdWUgPgorICAgICAgICA6OnRlbXBsYXRlIHJlc3VsdF88VD4KK3sKK307CisKKyNlbHNlIC8vICFCT09TVF9NUExfQ0ZHX01TVkNfNzBfRVRJX0JVRworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVCA+IHN0cnVjdCBtc3ZjX2V0aV9iYXNlCisgICAgOiBUCit7CisjaWYgQk9PU1RfV09SS0FST1VORChCT09TVF9NUExfQ0ZHX0dDQywgQk9PU1RfVEVTVEVEX0FUKDB4MDMwNCkpCisgICAgbXN2Y19ldGlfYmFzZSgpOworI2VuZGlmCisgICAgdHlwZWRlZiBUIHR5cGU7Cit9OworCisjZW5kaWYgCisKK3RlbXBsYXRlPD4gc3RydWN0IG1zdmNfZXRpX2Jhc2U8aW50PgoreworICAgIHR5cGVkZWYgbXN2Y19ldGlfYmFzZSB0eXBlOworICAgIHR5cGVkZWYgbXN2Y19ldGlfYmFzZSBmaXJzdDsKKyAgICB0eXBlZGVmIG1zdmNfZXRpX2Jhc2Ugc2Vjb25kOworICAgIHR5cGVkZWYgbXN2Y19ldGlfYmFzZSB0YWc7CisgICAgZW51bSB7IHZhbHVlID0gMCB9OworfTsKKworfX19CisKKyNlbmRpZiAvLyBCT09TVF9NUExfQVVYX01TVkNfRVRJX0JBU0VfSFBQX0lOQ0xVREVECmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9tc3ZjX2lzX2NsYXNzLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL21zdmNfaXNfY2xhc3MuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVkY2I4YjkKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9tc3ZjX2lzX2NsYXNzLmhwcApAQCAtMCwwICsxLDU4IEBACisKKyNpZm5kZWYgQk9PU1RfTVBMX0FVWF9NU1ZDX0lTX0NMQVNTX0hQUF9JTkNMVURFRAorI2RlZmluZSBCT09TVF9NUExfQVVYX01TVkNfSVNfQ0xBU1NfSFBQX0lOQ0xVREVECisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDItMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKy8vIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL21wbCBmb3IgZG9jdW1lbnRhdGlvbi4KKworLy8gJElkOiBtc3ZjX2lzX2NsYXNzLmhwcCA0OTI2NyAyMDA4LTEwLTExIDA2OjE5OjAyWiBhZ3VydG92b3kgJAorLy8gJERhdGU6IDIwMDgtMTAtMTAgMjM6MTk6MDIgLTA3MDAgKEZyaSwgMTAgT2N0IDIwMDgpICQKKy8vICRSZXZpc2lvbjogNDkyNjcgJAorCisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2lmLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYm9vbC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vdHlwZV93cmFwcGVyLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy95ZXNfbm8uaHBwPgorCisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvaXNfcmVmZXJlbmNlLmhwcD4KKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7IG5hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVCA+IHN0cnVjdCBpc19jbGFzc19oZWxwZXIKK3sKKyAgICB0eXBlZGVmIGludCAoVDo6KiB0eXBlKSgpOworfTsKKworLy8gTVNWQyA2Lngtc3BlY2lmaWMgbGlnaHR3ZWlnaHQgJ2lzX2NsYXNzJyBpbXBsZW1lbnRhdGlvbjsgCisvLyBEaXN0aW5ndWlzaGluZyBmZWF0dXJlOiBkb2VzIG5vdCBpbnN0YW50aWF0ZSB0aGUgdHlwZSBiZWluZyB0ZXN0ZWQuCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVCA+CitzdHJ1Y3QgbXN2Y19pc19jbGFzc19pbXBsCit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFU+CisgICAgc3RhdGljIHllc190YWcgIHRlc3QodHlwZV93cmFwcGVyPFU+KiwgLyp0eXBlbmFtZSovIGlzX2NsYXNzX2hlbHBlcjxVPjo6dHlwZSA9IDApOworICAgIHN0YXRpYyBub190YWcgICB0ZXN0KHZvaWQgY29uc3Qgdm9sYXRpbGUqLCAuLi4pOworCisgICAgZW51bSB7IHZhbHVlID0gc2l6ZW9mKHRlc3QoKHR5cGVfd3JhcHBlcjxUPiopMCkpID09IHNpemVvZih5ZXNfdGFnKSB9OworICAgIHR5cGVkZWYgYm9vbF88dmFsdWU+IHR5cGU7Cit9OworCisvLyBhZ3VydCwgMTcvc2VwLzA0OiBoYXZlIHRvIGNoZWNrIGZvciAnaXNfcmVmZXJlbmNlJyB1cGZyb250IHRvIGF2b2lkIElDRXMgaW4KKy8vIGNvbXBsZXggbWV0YXByb2dyYW1zCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVCA+CitzdHJ1Y3QgbXN2Y19pc19jbGFzcworICAgIDogaWZfPAorICAgICAgICAgIGlzX3JlZmVyZW5jZTxUPgorICAgICAgICAsIGZhbHNlXworICAgICAgICAsIG1zdmNfaXNfY2xhc3NfaW1wbDxUPgorICAgICAgICA+Ojp0eXBlCit7Cit9OworCit9fX0KKworI2VuZGlmIC8vIEJPT1NUX01QTF9BVVhfTVNWQ19JU19DTEFTU19IUFBfSU5DTFVERUQKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL21zdmNfbmV2ZXJfdHJ1ZS5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9tc3ZjX25ldmVyX3RydWUuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZlZDUzMWUKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9tc3ZjX25ldmVyX3RydWUuaHBwCkBAIC0wLDAgKzEsMzQgQEAKKworI2lmbmRlZiBCT09TVF9NUExfQVVYX01TVkNfTkVWRVJfVFJVRV9IUFBfSU5DTFVERUQKKyNkZWZpbmUgQk9PU1RfTVBMX0FVWF9NU1ZDX05FVkVSX1RSVUVfSFBQX0lOQ0xVREVECisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKy8vIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL21wbCBmb3IgZG9jdW1lbnRhdGlvbi4KKworLy8gJElkOiBtc3ZjX25ldmVyX3RydWUuaHBwIDQ5MjY3IDIwMDgtMTAtMTEgMDY6MTk6MDJaIGFndXJ0b3ZveSAkCisvLyAkRGF0ZTogMjAwOC0xMC0xMCAyMzoxOTowMiAtMDcwMCAoRnJpLCAxMCBPY3QgMjAwOCkgJAorLy8gJFJldmlzaW9uOiA0OTI2NyAkCisKKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9jb25maWcvbXN2Yy5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vY29uZmlnL3dvcmthcm91bmQuaHBwPgorCisjaWYgQk9PU1RfV09SS0FST1VORChCT09TVF9NU1ZDLCA8PSAxMzAwKQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsgbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUID4KK3N0cnVjdCBtc3ZjX25ldmVyX3RydWUKK3sKKyAgICBlbnVtIHsgdmFsdWUgPSBmYWxzZSB9OworfTsKKworfX19CisKKyNlbmRpZiAvLyBCT09TVF9NU1ZDCisKKyNlbmRpZiAvLyBCT09TVF9NUExfQVVYX01TVkNfTkVWRVJfVFJVRV9IUFBfSU5DTFVERUQKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL21zdmNfdHlwZS5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9tc3ZjX3R5cGUuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM2NTJlZDIKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9tc3ZjX3R5cGUuaHBwCkBAIC0wLDAgKzEsNjIgQEAKKworI2lmbmRlZiBCT09TVF9NUExfQVVYX01TVkNfVFlQRV9IUFBfSU5DTFVERUQKKyNkZWZpbmUgQk9PU1RfTVBMX0FVWF9NU1ZDX1RZUEVfSFBQX0lOQ0xVREVECisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDEtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKy8vIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL21wbCBmb3IgZG9jdW1lbnRhdGlvbi4KKworLy8gJElkOiBtc3ZjX3R5cGUuaHBwIDQ5MjY3IDIwMDgtMTAtMTEgMDY6MTk6MDJaIGFndXJ0b3ZveSAkCisvLyAkRGF0ZTogMjAwOC0xMC0xMCAyMzoxOTowMiAtMDcwMCAoRnJpLCAxMCBPY3QgMjAwOCkgJAorLy8gJFJldmlzaW9uOiA0OTI2NyAkCisKKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9jb25maWcvZXRpLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9pc19tc3ZjX2V0aV9hcmcuaHBwPgorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsgbmFtZXNwYWNlIGF1eCB7CisKKyNpZiBkZWZpbmVkKEJPT1NUX01QTF9DRkdfTVNWQ183MF9FVElfQlVHKQorCit0ZW1wbGF0ZTwgYm9vbCA+IHN0cnVjdCBtc3ZjX3R5cGVfaW1wbAoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBUID4gc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgVDo6dHlwZSB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCBtc3ZjX3R5cGVfaW1wbDx0cnVlPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBUID4gc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgcmVzdWx0XyB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVCA+IHN0cnVjdCBtc3ZjX3R5cGUKKyAgICA6IG1zdmNfdHlwZV9pbXBsPCBpc19tc3ZjX2V0aV9hcmc8VD46OnZhbHVlID4KKyAgICAgICAgOjp0ZW1wbGF0ZSByZXN1bHRfPFQ+Cit7Cit9OworCisjZWxzZSAvLyBCT09TVF9NUExfQ0ZHX01TVkNfNzBfRVRJX0JVRworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVCA+IHN0cnVjdCBtc3ZjX3R5cGUgCit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBUOjp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCBtc3ZjX3R5cGU8aW50PgoreworICAgIHR5cGVkZWYgaW50IHR5cGU7Cit9OworCisjZW5kaWYKKworfX19CisKKyNlbmRpZiAvLyBCT09TVF9NUExfQVVYX01TVkNfVFlQRV9IUFBfSU5DTFVERUQKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL25hX2Fzc2VydC5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9uYV9hc3NlcnQuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUwYzk0N2MKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9uYV9hc3NlcnQuaHBwCkBAIC0wLDAgKzEsMzQgQEAKKworI2lmbmRlZiBCT09TVF9NUExfQVVYX05BX0FTU0VSVF9IUFBfSU5DTFVERUQKKyNkZWZpbmUgQk9PU1RfTVBMX0FVWF9OQV9BU1NFUlRfSFBQX0lOQ0xVREVECisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDEtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKy8vIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL21wbCBmb3IgZG9jdW1lbnRhdGlvbi4KKworLy8gJElkOiBuYV9hc3NlcnQuaHBwIDQ5MjY3IDIwMDgtMTAtMTEgMDY6MTk6MDJaIGFndXJ0b3ZveSAkCisvLyAkRGF0ZTogMjAwOC0xMC0xMCAyMzoxOTowMiAtMDcwMCAoRnJpLCAxMCBPY3QgMjAwOCkgJAorLy8gJFJldmlzaW9uOiA0OTI2NyAkCisKKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9uYS5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vY29uZmlnL21zdmMuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2NvbmZpZy93b3JrYXJvdW5kLmhwcD4KKworI2lmICFCT09TVF9XT1JLQVJPVU5EKF9NU0NfRlVMTF9WRVIsIDw9IDE0MDA1MDYwMSkgICAgXAorICAgICYmICFCT09TVF9XT1JLQVJPVU5EKF9fRURHX1ZFUlNJT05fXywgPD0gMjQzKQorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC9hc3NlcnQuaHBwPgorIyAgIGRlZmluZSBCT09TVF9NUExfQVVYX0FTU0VSVF9OT1RfTkEoeCkgXAorICAgIEJPT1NUX01QTF9BU1NFUlRfTk9UKChuZG5ib29zdDo6bXBsOjppc19uYTx0eXBlPikpIFwKKy8qKi8KKyNlbHNlCisjICAgaW5jbHVkZSA8bmRuYm9vc3Qvc3RhdGljX2Fzc2VydC5ocHA+CisjICAgZGVmaW5lIEJPT1NUX01QTF9BVVhfQVNTRVJUX05PVF9OQSh4KSBcCisgICAgQk9PU1RfU1RBVElDX0FTU0VSVCghbmRuYm9vc3Q6Om1wbDo6aXNfbmE8eD46OnZhbHVlKSBcCisvKiovCisjZW5kaWYKKworI2VuZGlmIC8vIEJPT1NUX01QTF9BVVhfTkFfQVNTRVJUX0hQUF9JTkNMVURFRApkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vbmVzdGVkX3R5cGVfd2tuZC5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9uZXN0ZWRfdHlwZV93a25kLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMDBjNzZkCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vbmVzdGVkX3R5cGVfd2tuZC5ocHAKQEAgLTAsMCArMSw0OCBAQAorCisjaWZuZGVmIEJPT1NUX01QTF9BVVhfTkVTVEVEX1RZUEVfV0tORF9IUFBfSU5DTFVERUQKKyNkZWZpbmUgQk9PU1RfTVBMX0FVWF9ORVNURURfVFlQRV9XS05EX0hQUF9JTkNMVURFRAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisvLyBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvbGlicy9tcGwgZm9yIGRvY3VtZW50YXRpb24uCisKKy8vICRJZDogbmVzdGVkX3R5cGVfd2tuZC5ocHAgNDkyNjcgMjAwOC0xMC0xMSAwNjoxOTowMlogYWd1cnRvdm95ICQKKy8vICREYXRlOiAyMDA4LTEwLTEwIDIzOjE5OjAyIC0wNzAwIChGcmksIDEwIE9jdCAyMDA4KSAkCisvLyAkUmV2aXNpb246IDQ5MjY3ICQKKworI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2NvbmZpZy9nY2MuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2NvbmZpZy93b3JrYXJvdW5kLmhwcD4KKworI2lmIEJPT1NUX1dPUktBUk9VTkQoQk9PU1RfTVBMX0NGR19HQ0MsIEJPT1NUX1RFU1RFRF9BVCgweDAzMDIpKSBcCisgICAgfHwgQk9PU1RfV09SS0FST1VORChfX0JPUkxBTkRDX18sIEJPT1NUX1RFU1RFRF9BVCgweDU2MSkpIFwKKyAgICB8fCBCT09TVF9XT1JLQVJPVU5EKF9fU1VOUFJPX0NDLCBCT09TVF9URVNURURfQVQoMHg1MzApKSBcCisgICAgfHwgQk9PU1RfV09SS0FST1VORChfX0RNQ19fLCBCT09TVF9URVNURURfQVQoMHg4NDApKQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsgbmFtZXNwYWNlIGF1eCB7Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgVCA+IHN0cnVjdCBuZXN0ZWRfdHlwZV93a25kCisgICAgOiBUOjp0eXBlCit7Cit9OworfX19CisKKyNpZiBCT09TVF9XT1JLQVJPVU5EKF9fRE1DX18sIEJPT1NUX1RFU1RFRF9BVCgweDg0MCkpCisjICAgZGVmaW5lIEJPT1NUX01QTF9BVVhfTkVTVEVEX1RZUEVfV0tORChUKSBcCisgICAgYXV4OjpuZXN0ZWRfdHlwZV93a25kPFQ+IFwKKy8qKi8KKyNlbHNlCisjICAgZGVmaW5lIEJPT1NUX01QTF9BVVhfTkVTVEVEX1RZUEVfV0tORChUKSBcCisgICAgOjpuZG5ib29zdDo6bXBsOjphdXg6Om5lc3RlZF90eXBlX3drbmQ8VD4gXAorLyoqLworI2VuZGlmCisKKyNlbHNlIC8vICFCT09TVF9NUExfQ0ZHX0dDQyBldCBhbC4KKworIyAgIGRlZmluZSBCT09TVF9NUExfQVVYX05FU1RFRF9UWVBFX1dLTkQoVCkgVDo6dHlwZQorCisjZW5kaWYgCisKKyNlbmRpZiAvLyBCT09TVF9NUExfQVVYX05FU1RFRF9UWVBFX1dLTkRfSFBQX0lOQ0xVREVECmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9udW1lcmljX2Nhc3RfdXRpbHMuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vbnVtZXJpY19jYXN0X3V0aWxzLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZjBjZTBjCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vbnVtZXJpY19jYXN0X3V0aWxzLmhwcApAQCAtMCwwICsxLDc3IEBACisKKyNpZm5kZWYgQk9PU1RfTVBMX0FVWF9OVU1FUklDX0NBU1RfSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX01QTF9BVVhfTlVNRVJJQ19DQVNUX0hQUF9JTkNMVURFRAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAzLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisvLyBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvbGlicy9tcGwgZm9yIGRvY3VtZW50YXRpb24uCisKKy8vICRJZDogbnVtZXJpY19jYXN0X3V0aWxzLmhwcCA0OTI2NyAyMDA4LTEwLTExIDA2OjE5OjAyWiBhZ3VydG92b3kgJAorLy8gJERhdGU6IDIwMDgtMTAtMTAgMjM6MTk6MDIgLTA3MDAgKEZyaSwgMTAgT2N0IDIwMDgpICQKKy8vICRSZXZpc2lvbjogNDkyNjcgJAorCisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL251bWVyaWNfY2FzdC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2FwcGx5X3dyYXAuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2NvbmZpZy9mb3J3YXJkaW5nLmhwcD4KKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7IG5hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYKKyAgICAsIHR5cGVuYW1lIFRhZzEKKyAgICAsIHR5cGVuYW1lIFRhZzIKKyAgICA+CitzdHJ1Y3QgY2FzdDFzdF9pbXBsCit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIE4xLCB0eXBlbmFtZSBOMiA+IHN0cnVjdCBhcHBseQorI2lmICFkZWZpbmVkKEJPT1NUX01QTF9DRkdfTk9fTkVTVEVEX0ZPUldBUkRJTkcpCisgICAgICAgIDogYXBwbHlfd3JhcDI8IAorICAgICAgICAgICAgICBGCisgICAgICAgICAgICAsIHR5cGVuYW1lIGFwcGx5X3dyYXAxPCBCT09TVF9NUExfQVVYX05VTUVSSUNfQ0FTVDxUYWcxLFRhZzI+LE4xID46OnR5cGUKKyAgICAgICAgICAgICwgTjIKKyAgICAgICAgICAgID4KKyAgICB7CisjZWxzZQorICAgIHsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5X3dyYXAyPCAKKyAgICAgICAgICAgICAgRgorICAgICAgICAgICAgLCB0eXBlbmFtZSBhcHBseV93cmFwMTwgQk9PU1RfTVBMX0FVWF9OVU1FUklDX0NBU1Q8VGFnMSxUYWcyPixOMSA+Ojp0eXBlCisgICAgICAgICAgICAsIE4yCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisjZW5kaWYKKyAgICB9OworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGCisgICAgLCB0eXBlbmFtZSBUYWcxCisgICAgLCB0eXBlbmFtZSBUYWcyCisgICAgPgorc3RydWN0IGNhc3QybmRfaW1wbAoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBOMSwgdHlwZW5hbWUgTjIgPiBzdHJ1Y3QgYXBwbHkKKyNpZiAhZGVmaW5lZChCT09TVF9NUExfQ0ZHX05PX05FU1RFRF9GT1JXQVJESU5HKQorICAgICAgICA6IGFwcGx5X3dyYXAyPCAKKyAgICAgICAgICAgICAgRgorICAgICAgICAgICAgLCBOMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBhcHBseV93cmFwMTwgQk9PU1RfTVBMX0FVWF9OVU1FUklDX0NBU1Q8VGFnMixUYWcxPixOMiA+Ojp0eXBlCisgICAgICAgICAgICA+CisgICAgeworI2Vsc2UKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHlfd3JhcDI8IAorICAgICAgICAgICAgICBGCisgICAgICAgICAgICAsIE4xCisgICAgICAgICAgICAsIHR5cGVuYW1lIGFwcGx5X3dyYXAxPCBCT09TVF9NUExfQVVYX05VTUVSSUNfQ0FTVDxUYWcyLFRhZzE+LE4yID46OnR5cGUKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKyNlbmRpZgorICAgIH07Cit9OworCit9fX0KKworI2VuZGlmIC8vIEJPT1NUX01QTF9BVVhfTlVNRVJJQ19DQVNUX0hQUF9JTkNMVURFRApkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vbnVtZXJpY19vcC5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9udW1lcmljX29wLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xYWNmNDM5Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vbnVtZXJpY19vcC5ocHAKQEAgLTAsMCArMSwzMTUgQEAKKworI2lmICFkZWZpbmVkKEJPT1NUX1BQX0lTX0lURVJBVElORykKKworLy8vLy8gaGVhZGVyIGJvZHkKKworLy8gTk8gSU5DTFVERSBHVUFSRFMsIFRIRSBIRUFERVIgSVMgSU5URU5ERUQgRk9SIE1VTFRJUExFIElOQ0xVU0lPTiEKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworLy8gU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL2xpYnMvbXBsIGZvciBkb2N1bWVudGF0aW9uLgorCisvLyAkSWQ6IG51bWVyaWNfb3AuaHBwIDQ5MjY3IDIwMDgtMTAtMTEgMDY6MTk6MDJaIGFndXJ0b3ZveSAkCisvLyAkRGF0ZTogMjAwOC0xMC0xMCAyMzoxOTowMiAtMDcwMCAoRnJpLCAxMCBPY3QgMjAwOCkgJAorLy8gJFJldmlzaW9uOiA0OTI2NyAkCisKKyNpZiAhZGVmaW5lZChCT09TVF9NUExfUFJFUFJPQ0VTU0lOR19NT0RFKQorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC9udW1lcmljX2Nhc3QuaHBwPgorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC9hcHBseV93cmFwLmhwcD4KKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvaWYuaHBwPgorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC90YWcuaHBwPgorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL251bWVyaWNfY2FzdF91dGlscy5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vbmEuaHBwPgorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL25hX3NwZWMuaHBwPgorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2xhbWJkYV9zdXBwb3J0LmhwcD4KKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9tc3ZjX2V0aV9iYXNlLmhwcD4KKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy92YWx1ZV93a25kLmhwcD4KKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9jb25maWcvZXRpLmhwcD4KKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9udHRwX2RlY2wuaHBwPgorI2VuZGlmCisKKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9jb25maWcvc3RhdGljX2NvbnN0YW50LmhwcD4KKworI2lmIGRlZmluZWQoQk9PU1RfTVBMX0NGR19OT19QUkVQUk9DRVNTRURfSEVBREVSUykgXAorICAgIHx8IGRlZmluZWQoQk9PU1RfTVBMX1BSRVBST0NFU1NJTkdfTU9ERSkKKworIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC9saW1pdHMvYXJpdHkuaHBwPgorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3Nvci9wYXJ0aWFsX3NwZWNfcGFyYW1zLmhwcD4KKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzb3IvZGVmX3BhcmFtc190YWlsLmhwcD4KKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzb3IvcmVwZWF0LmhwcD4KKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzb3IvZXh0X3BhcmFtcy5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc29yL3BhcmFtcy5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc29yL2VudW0uaHBwPgorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3Nvci9hZGQuaHBwPgorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3Nvci9zdWIuaHBwPgorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2NvbmZpZy9jdHBzLmhwcD4KKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9jb25maWcvZXRpLmhwcD4KKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9jb25maWcvbXN2Yy5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vY29uZmlnL3dvcmthcm91bmQuaHBwPgorCisjICAgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL2RlYy5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL2luYy5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL2l0ZXJhdGUuaHBwPgorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9jYXQuaHBwPgorCisKKyNpZiAhZGVmaW5lZChBVVg3NzgwNzZfT1BfQVJJVFkpCisjICAgZGVmaW5lIEFVWDc3ODA3Nl9PUF9BUklUWSBCT09TVF9NUExfTElNSVRfTUVUQUZVTkNUSU9OX0FSSVRZCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEFVWDc3ODA3Nl9PUF9JTVBMX05BTUUpCisjICAgZGVmaW5lIEFVWDc3ODA3Nl9PUF9JTVBMX05BTUUgQk9PU1RfUFBfQ0FUKEFVWDc3ODA3Nl9PUF9QUkVGSVgsX2ltcGwpCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEFVWDc3ODA3Nl9PUF9UQUdfTkFNRSkKKyMgICBkZWZpbmUgQVVYNzc4MDc2X09QX1RBR19OQU1FIEJPT1NUX1BQX0NBVChBVVg3NzgwNzZfT1BfUFJFRklYLF90YWcpCisjZW5kaWYKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPCAKKyAgICAgIHR5cGVuYW1lIFRhZzEKKyAgICAsIHR5cGVuYW1lIFRhZzIKKyNpZiBCT09TVF9XT1JLQVJPVU5EKEJPT1NUX01TVkMsIDw9IDEzMDApCisgICAgLCBCT09TVF9NUExfQVVYX05UVFBfREVDTChpbnQsIHRhZzFfKSA9IEJPT1NUX01QTF9BVVhfTVNWQ19WQUxVRV9XS05EKFRhZzEpOjp2YWx1ZSAKKyAgICAsIEJPT1NUX01QTF9BVVhfTlRUUF9ERUNMKGludCwgdGFnMl8pID0gQk9PU1RfTVBMX0FVWF9NU1ZDX1ZBTFVFX1dLTkQoVGFnMik6OnZhbHVlIAorICAgID4KK3N0cnVjdCBBVVg3NzgwNzZfT1BfSU1QTF9OQU1FCisgICAgOiBpZl9jPAorICAgICAgICAgICggdGFnMV8gPiB0YWcyXyApCisjZWxzZQorICAgID4KK3N0cnVjdCBBVVg3NzgwNzZfT1BfSU1QTF9OQU1FCisgICAgOiBpZl9jPAorICAgICAgICAgICggQk9PU1RfTVBMX0FVWF9ORVNURURfVkFMVUVfV0tORChpbnQsIFRhZzEpCisgICAgICAgICAgICAgID4gQk9PU1RfTVBMX0FVWF9ORVNURURfVkFMVUVfV0tORChpbnQsIFRhZzIpCisgICAgICAgICAgICApCisjZW5kaWYKKyAgICAgICAgLCBhdXg6OmNhc3QybmRfaW1wbDwgQVVYNzc4MDc2X09QX0lNUExfTkFNRTxUYWcxLFRhZzE+LFRhZzEsVGFnMiA+CisgICAgICAgICwgYXV4OjpjYXN0MXN0X2ltcGw8IEFVWDc3ODA3Nl9PUF9JTVBMX05BTUU8VGFnMixUYWcyPixUYWcxLFRhZzIgPgorICAgICAgICA+Ojp0eXBlCit7Cit9OworCisvLy8gZm9yIERpZ2l0YWwgTWFycyBDKysvY29tcGlsZXJzIHdpdGggbm8gQ1RQUy9UVFAgc3VwcG9ydAordGVtcGxhdGU8PiBzdHJ1Y3QgQVVYNzc4MDc2X09QX0lNUExfTkFNRTxuYSxuYT4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5IAorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSA9IDApOworICAgIH07Cit9OworCisjaWYgIWRlZmluZWQoQk9PU1RfTk9fVEVNUExBVEVfUEFSVElBTF9TUEVDSUFMSVpBVElPTikKK3RlbXBsYXRlPCB0eXBlbmFtZSBUYWcgPiBzdHJ1Y3QgQVVYNzc4MDc2X09QX0lNUExfTkFNRTxuYSxUYWc+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseSAKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFRhZyA+IHN0cnVjdCBBVVg3NzgwNzZfT1BfSU1QTF9OQU1FPFRhZyxuYT4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5IAorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSA9IDApOworICAgIH07Cit9OworI2Vsc2UKK3RlbXBsYXRlPD4gc3RydWN0IEFVWDc3ODA3Nl9PUF9JTVBMX05BTUU8bmEsaW50ZWdyYWxfY190YWc+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseSAKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgQVVYNzc4MDc2X09QX0lNUExfTkFNRTxpbnRlZ3JhbF9jX3RhZyxuYT4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5IAorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSA9IDApOworICAgIH07Cit9OworI2VuZGlmCisKKworI2lmIGRlZmluZWQoQk9PU1RfTk9fVEVNUExBVEVfUEFSVElBTF9TUEVDSUFMSVpBVElPTikgXAorICAgICYmIEJPT1NUX1dPUktBUk9VTkQoQk9PU1RfTVNWQywgPj0gMTMwMCkKK3RlbXBsYXRlPCB0eXBlbmFtZSBUID4gc3RydWN0IEFVWDc3ODA3Nl9PUF9UQUdfTkFNRQorICAgIDogdGFnPFQsbmE+Cit7Cit9OworI2Vsc2UKK3RlbXBsYXRlPCB0eXBlbmFtZSBUID4gc3RydWN0IEFVWDc3ODA3Nl9PUF9UQUdfTkFNRQoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgVDo6dGFnIHR5cGU7Cit9OworI2VuZGlmCisKKworI2lmIEFVWDc3ODA3Nl9PUF9BUklUWSAhPSAyCisKKyMgICBpZiAhZGVmaW5lZChCT09TVF9OT19URU1QTEFURV9QQVJUSUFMX1NQRUNJQUxJWkFUSU9OKQorCisjICAgZGVmaW5lIEFVWDc3ODA3Nl9PUF9SSUdIVF9PUEVSQU5EKHVudXNlZCwgaSwgTikgLCBCT09TVF9QUF9DQVQoTiwgQk9PU1RfTVBMX1BQX0FERChpLCAyKSk+CisjICAgZGVmaW5lIEFVWDc3ODA3Nl9PUF9OX0NBTExTKGksIE4pIFwKKyAgICBCT09TVF9NUExfUFBfUkVQRUFUKCBCT09TVF9QUF9ERUMoaSksIEJPT1NUX01QTF9QUF9SRVBFQVRfSURFTlRJVFlfRlVOQywgQVVYNzc4MDc2X09QX05BTUU8ICkgXAorICAgIE4xIEJPT1NUX01QTF9QUF9SRVBFQVQoIEJPT1NUX01QTF9QUF9TVUIoaSwgMSksIEFVWDc3ODA3Nl9PUF9SSUdIVF9PUEVSQU5ELCBOICkgXAorLyoqLworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjEpCisgICAgLCB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4yKQorICAgIEJPT1NUX01QTF9QUF9ERUZfUEFSQU1TX1RBSUwoMiwgdHlwZW5hbWUgTiwgbmEpCisgICAgPgorc3RydWN0IEFVWDc3ODA3Nl9PUF9OQU1FCisgICAgOiBBVVg3NzgwNzZfT1BfTl9DQUxMUyhBVVg3NzgwNzZfT1BfQVJJVFksIE4pCit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgKKyAgICAgICAgICBBVVg3NzgwNzZfT1BfQVJJVFkKKyAgICAgICAgLCBBVVg3NzgwNzZfT1BfTkFNRQorICAgICAgICAsICggQk9PU1RfTVBMX1BQX1BBUkFNUyhBVVg3NzgwNzZfT1BfQVJJVFksIE4pICkKKyAgICAgICAgKQorfTsKKworI2RlZmluZSBCT09TVF9QUF9JVEVSQVRJT05fUEFSQU1TXzEgXAorICAgICgzLCggQk9PU1RfUFBfREVDKEFVWDc3ODA3Nl9PUF9BUklUWSksIDIsIDxuZG5ib29zdC9tcGwvYXV4Xy9udW1lcmljX29wLmhwcD4gKSkKKyNpbmNsdWRlIEJPT1NUX1BQX0lURVJBVEUoKQorCisjICAgdW5kZWYgQVVYNzc4MDc2X09QX05fQ0FMTFMKKyMgICB1bmRlZiBBVVg3NzgwNzZfT1BfUklHSFRfT1BFUkFORAorCisjICAgZWxzZSAvLyBCT09TVF9OT19URU1QTEFURV9QQVJUSUFMX1NQRUNJQUxJWkFUSU9OCisKKy8vLyBmb3J3YXJkIGRlY2xhcmF0aW9uCit0ZW1wbGF0ZTwgCisgICAgICB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4xKQorICAgICwgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMikKKyAgICA+CitzdHJ1Y3QgQk9PU1RfUFBfQ0FUKEFVWDc3ODA3Nl9PUF9OQU1FLDIpOworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjEpCisgICAgLCB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4yKQorICAgIEJPT1NUX01QTF9QUF9ERUZfUEFSQU1TX1RBSUwoMiwgdHlwZW5hbWUgTiwgbmEpCisgICAgPgorc3RydWN0IEFVWDc3ODA3Nl9PUF9OQU1FCisjaWYgQk9PU1RfV09SS0FST1VORChCT09TVF9NU1ZDLCA9PSAxMzAwKQorICAgIDogYXV4Ojptc3ZjX2V0aV9iYXNlPCB0eXBlbmFtZSBpZl88CisjZWxzZQorICAgIDogaWZfPAorI2VuZGlmCisgICAgICAgICAgaXNfbmE8TjM+CisgICAgICAgICwgQk9PU1RfUFBfQ0FUKEFVWDc3ODA3Nl9PUF9OQU1FLDIpPE4xLE4yPgorICAgICAgICAsIEFVWDc3ODA3Nl9PUF9OQU1FPAorICAgICAgICAgICAgICBCT09TVF9QUF9DQVQoQVVYNzc4MDc2X09QX05BTUUsMik8TjEsTjI+CisgICAgICAgICAgICAsIEJPT1NUX01QTF9QUF9FWFRfUEFSQU1TKDMsIEJPT1NUX1BQX0lOQyhBVVg3NzgwNzZfT1BfQVJJVFkpLCBOKQorICAgICAgICAgICAgPgorICAgICAgICA+Ojp0eXBlCisjaWYgQk9PU1RfV09SS0FST1VORChCT09TVF9NU1ZDLCA9PSAxMzAwKQorICAgID4KKyNlbmRpZgoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoCisgICAgICAgICAgQVVYNzc4MDc2X09QX0FSSVRZCisgICAgICAgICwgQVVYNzc4MDc2X09QX05BTUUKKyAgICAgICAgLCAoIEJPT1NUX01QTF9QUF9QQVJBTVMoQVVYNzc4MDc2X09QX0FSSVRZLCBOKSApCisgICAgICAgICkKK307CisKK3RlbXBsYXRlPCAKKyAgICAgIHR5cGVuYW1lIE4xCisgICAgLCB0eXBlbmFtZSBOMgorICAgID4KK3N0cnVjdCBCT09TVF9QUF9DQVQoQVVYNzc4MDc2X09QX05BTUUsMikKKworI2VuZGlmCisKKyNlbHNlIC8vIEFVWDc3ODA3Nl9PUF9BUklUWSA9PSAyCisKK3RlbXBsYXRlPCAKKyAgICAgIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjEpCisgICAgLCB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4yKQorICAgID4KK3N0cnVjdCBBVVg3NzgwNzZfT1BfTkFNRQorCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEJPT1NUX01QTF9DRkdfTVNWQ19FVElfQlVHKQorICAgIDogQVVYNzc4MDc2X09QX0lNUExfTkFNRTwKKyAgICAgICAgICB0eXBlbmFtZSBBVVg3NzgwNzZfT1BfVEFHX05BTUU8TjE+Ojp0eXBlCisgICAgICAgICwgdHlwZW5hbWUgQVVYNzc4MDc2X09QX1RBR19OQU1FPE4yPjo6dHlwZQorICAgICAgICA+Ojp0ZW1wbGF0ZSBhcHBseTxOMSxOMj46OnR5cGUKKyNlbHNlCisgICAgOiBhdXg6Om1zdmNfZXRpX2Jhc2U8IHR5cGVuYW1lIGFwcGx5X3dyYXAyPAorICAgICAgICAgIEFVWDc3ODA3Nl9PUF9JTVBMX05BTUU8CisgICAgICAgICAgICAgIHR5cGVuYW1lIEFVWDc3ODA3Nl9PUF9UQUdfTkFNRTxOMT46OnR5cGUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgQVVYNzc4MDc2X09QX1RBR19OQU1FPE4yPjo6dHlwZQorICAgICAgICAgICAgPgorICAgICAgICAsIE4xCisgICAgICAgICwgTjIKKyAgICAgICAgPjo6dHlwZSA+Ojp0eXBlCisjZW5kaWYKK3sKKyNpZiBBVVg3NzgwNzZfT1BfQVJJVFkgIT0gMgorCisjICAgaWYgIWRlZmluZWQoQk9PU1RfTk9fVEVNUExBVEVfUEFSVElBTF9TUEVDSUFMSVpBVElPTikKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUX1NQRUMoCisgICAgICAgICAgQVVYNzc4MDc2X09QX0FSSVRZCisgICAgICAgICwgQVVYNzc4MDc2X09QX05BTUUKKyAgICAgICAgLCAoIEJPT1NUX01QTF9QUF9QQVJUSUFMX1NQRUNfUEFSQU1TKDIsIE4sIG5hKSApCisgICAgICAgICkKKyMgICBlbHNlCisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgyLCBCT09TVF9QUF9DQVQoQVVYNzc4MDc2X09QX05BTUUsMiksIChOMSwgTjIpKQorIyAgIGVuZGlmCisKKyNlbHNlCisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgyLCBBVVg3NzgwNzZfT1BfTkFNRSwgKE4xLCBOMikpCisjZW5kaWYKK307CisKK0JPT1NUX01QTF9BVVhfTkFfU1BFQzIoMiwgQVVYNzc4MDc2X09QX0FSSVRZLCBBVVg3NzgwNzZfT1BfTkFNRSkKKworfX0KKworI2VuZGlmIC8vIEJPT1NUX01QTF9DRkdfTk9fUFJFUFJPQ0VTU0VEX0hFQURFUlMKKworLy8vLy8gaXRlcmF0aW9uLCBkZXB0aCA9PSAxCisKKy8vIEZvciBnY2MgNC40IGNvbXBhdGFiaWxpdHksIHdlIG11c3QgaW5jbHVkZSB0aGUKKy8vIEJPT1NUX1BQX0lURVJBVElPTl9ERVBUSCB0ZXN0IGluc2lkZSBhbiAjZWxzZSBjbGF1c2UuCisjZWxzZSAvLyBCT09TVF9QUF9JU19JVEVSQVRJTkcKKyNpZiBCT09TVF9QUF9JVEVSQVRJT05fREVQVEgoKSA9PSAxCisKKyMgICBkZWZpbmUgaV8gQk9PU1RfUFBfRlJBTUVfSVRFUkFUSU9OKDEpCisKK3RlbXBsYXRlPAorICAgICAgQk9PU1RfTVBMX1BQX1BBUkFNUyhpXywgdHlwZW5hbWUgTikKKyAgICA+CitzdHJ1Y3QgQVVYNzc4MDc2X09QX05BTUU8Qk9PU1RfTVBMX1BQX1BBUlRJQUxfU1BFQ19QQVJBTVMoaV8sIE4sIG5hKT4KKyNpZiBpXyAhPSAyCisgICAgOiBBVVg3NzgwNzZfT1BfTl9DQUxMUyhpXywgTikKK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUX1NQRUMoCisgICAgICAgICAgQVVYNzc4MDc2X09QX0FSSVRZCisgICAgICAgICwgQVVYNzc4MDc2X09QX05BTUUKKyAgICAgICAgLCAoIEJPT1NUX01QTF9QUF9QQVJUSUFMX1NQRUNfUEFSQU1TKGlfLCBOLCBuYSkgKQorICAgICAgICApCit9OworI2VuZGlmCisKKyMgICB1bmRlZiBpXworCisjZW5kaWYgLy8gQk9PU1RfUFBfSVRFUkFUSU9OX0RFUFRIKCkKKyNlbmRpZiAvLyBCT09TVF9QUF9JU19JVEVSQVRJTkcKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3BvcF9mcm9udF9pbXBsLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3BvcF9mcm9udF9pbXBsLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNGFkN2NlCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcG9wX2Zyb250X2ltcGwuaHBwCkBAIC0wLDAgKzEsNDQgQEAKKworI2lmbmRlZiBCT09TVF9NUExfQVVYX1BPUF9GUk9OVF9JTVBMX0hQUF9JTkNMVURFRAorI2RlZmluZSBCT09TVF9NUExfQVVYX1BPUF9GUk9OVF9JTVBMX0hQUF9JTkNMVURFRAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisvLyBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvbGlicy9tcGwgZm9yIGRvY3VtZW50YXRpb24uCisKKy8vICRJZDogcG9wX2Zyb250X2ltcGwuaHBwIDQ5MjY3IDIwMDgtMTAtMTEgMDY6MTk6MDJaIGFndXJ0b3ZveSAkCisvLyAkRGF0ZTogMjAwOC0xMC0xMCAyMzoxOTowMiAtMDcwMCAoRnJpLCAxMCBPY3QgMjAwOCkgJAorLy8gJFJldmlzaW9uOiA0OTI2NyAkCisKKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvcG9wX2Zyb250X2Z3ZC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vdHJhaXRzX2xhbWJkYV9zcGVjLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9jb25maWcvd29ya2Fyb3VuZC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vY29uZmlnL21zdmMuaHBwPgorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKworLy8gbm8gZGVmYXVsdCBpbXBsZW1lbnRhdGlvbjsgdGhlIGRlZmluaXRpb24gaXMgbmVlZGVkIHRvIG1ha2UgTVNWQyBoYXBweQorCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVGFnID4KK3N0cnVjdCBwb3BfZnJvbnRfaW1wbAoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBTZXF1ZW5jZSA+IHN0cnVjdCBhcHBseQorICAgIC8vIGNvbnNlcnZhdGl2ZWx5IHBsYWNlZCwgYnV0IG1heWJlIHNob3VsZCBnbyBvdXRzaWRlIHN1cnJvdW5kaW5nCisgICAgLy8gYnJhY2VzLgorI2lmIEJPT1NUX1dPUktBUk9VTkQoQk9PU1RfTVNWQywgPD0gMTMwMCkgCisgICAgeworICAgICAgICB0eXBlZGVmIGludCB0eXBlOworICAgIH0KKyNlbmRpZgorICAgIDsKK307CisKK0JPT1NUX01QTF9BTEdPUklUTV9UUkFJVFNfTEFNQkRBX1NQRUMoMSwgcG9wX2Zyb250X2ltcGwpCisKK319CisKKyNlbmRpZiAvLyBCT09TVF9NUExfQVVYX1BPUF9GUk9OVF9JTVBMX0hQUF9JTkNMVURFRApkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjYy9hZHZhbmNlX2JhY2t3YXJkLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2MvYWR2YW5jZV9iYWNrd2FyZC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWU0ODA5YwotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2MvYWR2YW5jZV9iYWNrd2FyZC5ocHAKQEAgLTAsMCArMSw5NyBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vICpQcmVwcm9jZXNzZWQqIHZlcnNpb24gb2YgdGhlIG1haW4gImFkdmFuY2VfYmFja3dhcmQuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7IG5hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwgbG9uZyBOID4gc3RydWN0IGFkdmFuY2VfYmFja3dhcmQ7Cit0ZW1wbGF0ZTw+CitzdHJ1Y3QgYWR2YW5jZV9iYWNrd2FyZDwwPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBJdGVyYXRvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBJdGVyYXRvciBpdGVyMDsKKyAgICAgICAgdHlwZWRlZiBpdGVyMCB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgYWR2YW5jZV9iYWNrd2FyZDwxPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBJdGVyYXRvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBJdGVyYXRvciBpdGVyMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBwcmlvcjxpdGVyMD46OnR5cGUgaXRlcjE7CisgICAgICAgIHR5cGVkZWYgaXRlcjEgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGFkdmFuY2VfYmFja3dhcmQ8Mj4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgSXRlcmF0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgSXRlcmF0b3IgaXRlcjA7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcHJpb3I8aXRlcjA+Ojp0eXBlIGl0ZXIxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHByaW9yPGl0ZXIxPjo6dHlwZSBpdGVyMjsKKyAgICAgICAgdHlwZWRlZiBpdGVyMiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgYWR2YW5jZV9iYWNrd2FyZDwzPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBJdGVyYXRvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBJdGVyYXRvciBpdGVyMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBwcmlvcjxpdGVyMD46OnR5cGUgaXRlcjE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcHJpb3I8aXRlcjE+Ojp0eXBlIGl0ZXIyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHByaW9yPGl0ZXIyPjo6dHlwZSBpdGVyMzsKKyAgICAgICAgdHlwZWRlZiBpdGVyMyB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgYWR2YW5jZV9iYWNrd2FyZDw0PgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBJdGVyYXRvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBJdGVyYXRvciBpdGVyMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBwcmlvcjxpdGVyMD46OnR5cGUgaXRlcjE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcHJpb3I8aXRlcjE+Ojp0eXBlIGl0ZXIyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHByaW9yPGl0ZXIyPjo6dHlwZSBpdGVyMzsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBwcmlvcjxpdGVyMz46OnR5cGUgaXRlcjQ7CisgICAgICAgIHR5cGVkZWYgaXRlcjQgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IGxvbmcgTiA+CitzdHJ1Y3QgYWR2YW5jZV9iYWNrd2FyZAoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBJdGVyYXRvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseV93cmFwMTwKKyAgICAgICAgICAgICAgYWR2YW5jZV9iYWNrd2FyZDw0PgorICAgICAgICAgICAgLCBJdGVyYXRvcgorICAgICAgICAgICAgPjo6dHlwZSBjaHVua19yZXN1bHRfOworCisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHlfd3JhcDE8CisgICAgICAgICAgICAgIGFkdmFuY2VfYmFja3dhcmQ8KAorICAgICAgICAgICAgICAgIChOIC0gNCkgPCAwCisgICAgICAgICAgICAgICAgICAgID8gMAorICAgICAgICAgICAgICAgICAgICA6IE4gLSA0CisgICAgICAgICAgICAgICAgICAgICk+CisgICAgICAgICAgICAsIGNodW5rX3Jlc3VsdF8KKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKyAgICB9OworfTsKKworfX19CisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2MvYWR2YW5jZV9mb3J3YXJkLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2MvYWR2YW5jZV9mb3J3YXJkLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMjMzMWRlCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjYy9hZHZhbmNlX2ZvcndhcmQuaHBwCkBAIC0wLDAgKzEsOTcgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyAqUHJlcHJvY2Vzc2VkKiB2ZXJzaW9uIG9mIHRoZSBtYWluICJhZHZhbmNlX2ZvcndhcmQuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7IG5hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwgbG9uZyBOID4gc3RydWN0IGFkdmFuY2VfZm9yd2FyZDsKK3RlbXBsYXRlPD4KK3N0cnVjdCBhZHZhbmNlX2ZvcndhcmQ8MD4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgSXRlcmF0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgSXRlcmF0b3IgaXRlcjA7CisgICAgICAgIHR5cGVkZWYgaXRlcjAgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGFkdmFuY2VfZm9yd2FyZDwxPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBJdGVyYXRvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBJdGVyYXRvciBpdGVyMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBuZXh0PGl0ZXIwPjo6dHlwZSBpdGVyMTsKKyAgICAgICAgdHlwZWRlZiBpdGVyMSB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgYWR2YW5jZV9mb3J3YXJkPDI+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIEl0ZXJhdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIEl0ZXJhdG9yIGl0ZXIwOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG5leHQ8aXRlcjA+Ojp0eXBlIGl0ZXIxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG5leHQ8aXRlcjE+Ojp0eXBlIGl0ZXIyOworICAgICAgICB0eXBlZGVmIGl0ZXIyIHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBhZHZhbmNlX2ZvcndhcmQ8Mz4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgSXRlcmF0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgSXRlcmF0b3IgaXRlcjA7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbmV4dDxpdGVyMD46OnR5cGUgaXRlcjE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbmV4dDxpdGVyMT46OnR5cGUgaXRlcjI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbmV4dDxpdGVyMj46OnR5cGUgaXRlcjM7CisgICAgICAgIHR5cGVkZWYgaXRlcjMgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGFkdmFuY2VfZm9yd2FyZDw0PgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBJdGVyYXRvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBJdGVyYXRvciBpdGVyMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBuZXh0PGl0ZXIwPjo6dHlwZSBpdGVyMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBuZXh0PGl0ZXIxPjo6dHlwZSBpdGVyMjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBuZXh0PGl0ZXIyPjo6dHlwZSBpdGVyMzsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBuZXh0PGl0ZXIzPjo6dHlwZSBpdGVyNDsKKyAgICAgICAgdHlwZWRlZiBpdGVyNCB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgbG9uZyBOID4KK3N0cnVjdCBhZHZhbmNlX2ZvcndhcmQKK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgSXRlcmF0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHlfd3JhcDE8CisgICAgICAgICAgICAgIGFkdmFuY2VfZm9yd2FyZDw0PgorICAgICAgICAgICAgLCBJdGVyYXRvcgorICAgICAgICAgICAgPjo6dHlwZSBjaHVua19yZXN1bHRfOworCisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHlfd3JhcDE8CisgICAgICAgICAgICAgIGFkdmFuY2VfZm9yd2FyZDwoCisgICAgICAgICAgICAgICAgKE4gLSA0KSA8IDAKKyAgICAgICAgICAgICAgICAgICAgPyAwCisgICAgICAgICAgICAgICAgICAgIDogTiAtIDQKKyAgICAgICAgICAgICAgICAgICAgKT4KKyAgICAgICAgICAgICwgY2h1bmtfcmVzdWx0XworICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworICAgIH07Cit9OworCit9fX0KKwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjYy9hbmQuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjYy9hbmQuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjExOWZhMmQKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjL2FuZC5ocHAKQEAgLTAsMCArMSw2OSBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vICpQcmVwcm9jZXNzZWQqIHZlcnNpb24gb2YgdGhlIG1haW4gImFuZC5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPCBib29sIENfLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNCA+CitzdHJ1Y3QgYW5kX2ltcGwKKyAgICA6IGZhbHNlXworeworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0ID4KK3N0cnVjdCBhbmRfaW1wbDwgdHJ1ZSxUMSxUMixUMyxUNCA+CisgICAgOiBhbmRfaW1wbDwKKyAgICAgICAgICBCT09TVF9NUExfQVVYX05FU1RFRF9UWVBFX1dLTkQoVDEpOjp2YWx1ZQorICAgICAgICAsIFQyLCBUMywgVDQKKyAgICAgICAgLCB0cnVlXworICAgICAgICA+Cit7Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgYW5kX2ltcGw8CisgICAgICAgICAgdHJ1ZQorICAgICAgICAsIHRydWVfLCB0cnVlXywgdHJ1ZV8sIHRydWVfCisgICAgICAgID4KKyAgICA6IHRydWVfCit7Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKFQxKQorICAgICwgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShUMikKKyAgICAsIHR5cGVuYW1lIFQzID0gdHJ1ZV8sIHR5cGVuYW1lIFQ0ID0gdHJ1ZV8sIHR5cGVuYW1lIFQ1ID0gdHJ1ZV8KKyAgICA+CitzdHJ1Y3QgYW5kXworCisgICAgOiBhdXg6OmFuZF9pbXBsPAorICAgICAgICAgIEJPT1NUX01QTF9BVVhfTkVTVEVEX1RZUEVfV0tORChUMSk6OnZhbHVlCisgICAgICAgICwgVDIsIFQzLCBUNCwgVDUKKyAgICAgICAgPgorCit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgKKyAgICAgICAgICA1CisgICAgICAgICwgYW5kXworICAgICAgICAsICggVDEsIFQyLCBUMywgVDQsIFQ1KQorICAgICAgICApCit9OworCitCT09TVF9NUExfQVVYX05BX1NQRUMyKAorICAgICAgMgorICAgICwgNQorICAgICwgYW5kXworICAgICkKKworfX0KZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2MvYXBwbHkuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjYy9hcHBseS5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWQzNzJmMQotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2MvYXBwbHkuaHBwCkBAIC0wLDAgKzEsMTY5IEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gKlByZXByb2Nlc3NlZCogdmVyc2lvbiBvZiB0aGUgbWFpbiAiYXBwbHkuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRgorICAgID4KK3N0cnVjdCBhcHBseTAKKworICAgIDogYXBwbHlfd3JhcDA8CisgICAgICAgICAgdHlwZW5hbWUgbGFtYmRhPEY+Ojp0eXBlCisgICAgICAgCisgICAgICAgID4KK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKAorICAgICAgICAgIDEKKyAgICAgICAgLCBhcHBseTAKKyAgICAgICAgLCAoRiApCisgICAgICAgICkKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRgorICAgID4KK3N0cnVjdCBhcHBseTwgRixuYSxuYSxuYSxuYSxuYSA+CisgICAgOiBhcHBseTA8Rj4KK3sKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEKKyAgICA+CitzdHJ1Y3QgYXBwbHkxCisKKyAgICA6IGFwcGx5X3dyYXAxPAorICAgICAgICAgIHR5cGVuYW1lIGxhbWJkYTxGPjo6dHlwZQorICAgICAgICAsIFQxCisgICAgICAgID4KK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKAorICAgICAgICAgIDIKKyAgICAgICAgLCBhcHBseTEKKyAgICAgICAgLCAoRiwgVDEpCisgICAgICAgICkKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEKKyAgICA+CitzdHJ1Y3QgYXBwbHk8IEYsVDEsbmEsbmEsbmEsbmEgPgorICAgIDogYXBwbHkxPCBGLFQxID4KK3sKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyCisgICAgPgorc3RydWN0IGFwcGx5MgorCisgICAgOiBhcHBseV93cmFwMjwKKyAgICAgICAgICB0eXBlbmFtZSBsYW1iZGE8Rj46OnR5cGUKKyAgICAgICAgLCBUMSwgVDIKKyAgICAgICAgPgoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoCisgICAgICAgICAgMworICAgICAgICAsIGFwcGx5MgorICAgICAgICAsIChGLCBUMSwgVDIpCisgICAgICAgICkKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyCisgICAgPgorc3RydWN0IGFwcGx5PCBGLFQxLFQyLG5hLG5hLG5hID4KKyAgICA6IGFwcGx5MjwgRixUMSxUMiA+Cit7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMKKyAgICA+CitzdHJ1Y3QgYXBwbHkzCisKKyAgICA6IGFwcGx5X3dyYXAzPAorICAgICAgICAgIHR5cGVuYW1lIGxhbWJkYTxGPjo6dHlwZQorICAgICAgICAsIFQxLCBUMiwgVDMKKyAgICAgICAgPgoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoCisgICAgICAgICAgNAorICAgICAgICAsIGFwcGx5MworICAgICAgICAsIChGLCBUMSwgVDIsIFQzKQorICAgICAgICApCit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMKKyAgICA+CitzdHJ1Y3QgYXBwbHk8IEYsVDEsVDIsVDMsbmEsbmEgPgorICAgIDogYXBwbHkzPCBGLFQxLFQyLFQzID4KK3sKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICA+CitzdHJ1Y3QgYXBwbHk0CisKKyAgICA6IGFwcGx5X3dyYXA0PAorICAgICAgICAgIHR5cGVuYW1lIGxhbWJkYTxGPjo6dHlwZQorICAgICAgICAsIFQxLCBUMiwgVDMsIFQ0CisgICAgICAgID4KK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKAorICAgICAgICAgIDUKKyAgICAgICAgLCBhcHBseTQKKyAgICAgICAgLCAoRiwgVDEsIFQyLCBUMywgVDQpCisgICAgICAgICkKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICA+CitzdHJ1Y3QgYXBwbHk8IEYsVDEsVDIsVDMsVDQsbmEgPgorICAgIDogYXBwbHk0PCBGLFQxLFQyLFQzLFQ0ID4KK3sKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1CisgICAgPgorc3RydWN0IGFwcGx5NQorCisgICAgOiBhcHBseV93cmFwNTwKKyAgICAgICAgICB0eXBlbmFtZSBsYW1iZGE8Rj46OnR5cGUKKyAgICAgICAgLCBUMSwgVDIsIFQzLCBUNCwgVDUKKyAgICAgICAgPgoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoCisgICAgICAgICAgNgorICAgICAgICAsIGFwcGx5NQorICAgICAgICAsIChGLCBUMSwgVDIsIFQzLCBUNCwgVDUpCisgICAgICAgICkKK307CisKKy8vLyBwcmltYXJ5IHRlbXBsYXRlIChub3QgYSBzcGVjaWFsaXphdGlvbiEpCisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1CisgICAgPgorc3RydWN0IGFwcGx5CisgICAgOiBhcHBseTU8IEYsVDEsVDIsVDMsVDQsVDUgPgoreworfTsKKworfX0KKwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjYy9hcHBseV9md2QuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjYy9hcHBseV9md2QuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRmNjcxZDEKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjL2FwcGx5X2Z3ZC5ocHAKQEAgLTAsMCArMSw1MiBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vICpQcmVwcm9jZXNzZWQqIHZlcnNpb24gb2YgdGhlIG1haW4gImFwcGx5X2Z3ZC5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSA9IG5hLCB0eXBlbmFtZSBUMiA9IG5hLCB0eXBlbmFtZSBUMyA9IG5hCisgICAgLCB0eXBlbmFtZSBUNCA9IG5hLCB0eXBlbmFtZSBUNSA9IG5hCisgICAgPgorc3RydWN0IGFwcGx5OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYKKyAgICA+CitzdHJ1Y3QgYXBwbHkwOworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxCisgICAgPgorc3RydWN0IGFwcGx5MTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIKKyAgICA+CitzdHJ1Y3QgYXBwbHkyOworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMKKyAgICA+CitzdHJ1Y3QgYXBwbHkzOworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgPgorc3RydWN0IGFwcGx5NDsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUKKyAgICA+CitzdHJ1Y3QgYXBwbHk1OworCit9fQorCmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjL2FwcGx5X3dyYXAuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjYy9hcHBseV93cmFwLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZWM2Mzk3Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjYy9hcHBseV93cmFwLmhwcApAQCAtMCwwICsxLDQ2MSBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDgKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vICpQcmVwcm9jZXNzZWQqIHZlcnNpb24gb2YgdGhlIG1haW4gImFwcGx5X3dyYXAuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgaW50IE4sIHR5cGVuYW1lIEYKKyAgICA+CitzdHJ1Y3QgYXBwbHlfd3JhcF9pbXBsMDsKKwordGVtcGxhdGU8IHR5cGVuYW1lIEYsIGJvb2wgRl9oYXNfYXBwbHkgPgorc3RydWN0IGFwcGx5X3dyYXBfaW1wbDBfYmNiIHsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIEY6OnRlbXBsYXRlIGFwcGx5PG5hPiB0eXBlOworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIEYgPgorc3RydWN0IGFwcGx5X3dyYXBfaW1wbDBfYmNiPCBGLHRydWUgPiB7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBGOjphcHBseSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGCisgICAgPgorc3RydWN0IGFwcGx5X3dyYXBfaW1wbDA8CisgICAgICAgICAgMAorICAgICAgICAsIEYKKyAgICAgICAKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgYXBwbHlfd3JhcF9pbXBsMF9iY2I8IEYsIGF1eDo6aGFzX2FwcGx5PEY+Ojp2YWx1ZSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYKKyAgICA+CitzdHJ1Y3QgYXBwbHlfd3JhcF9pbXBsMDwKKyAgICAgICAgICAxCisgICAgICAgICwgRgorICAgICAgIAorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBGOjp0ZW1wbGF0ZSBhcHBseTwKKyAgICAgICAgIAorICAgICAgICBuYQorICAgICAgICA+IHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYKKyAgICA+CitzdHJ1Y3QgYXBwbHlfd3JhcF9pbXBsMDwKKyAgICAgICAgICAyCisgICAgICAgICwgRgorICAgICAgIAorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBGOjp0ZW1wbGF0ZSBhcHBseTwKKyAgICAgICAgIAorICAgICAgICBuYSwgbmEKKworICAgICAgICA+IHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYKKyAgICA+CitzdHJ1Y3QgYXBwbHlfd3JhcF9pbXBsMDwKKyAgICAgICAgICAzCisgICAgICAgICwgRgorICAgICAgIAorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBGOjp0ZW1wbGF0ZSBhcHBseTwKKyAgICAgICAgIAorICAgICAgICBuYSwgbmEsIG5hCisKKyAgICAgICAgPiB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGCisgICAgPgorc3RydWN0IGFwcGx5X3dyYXBfaW1wbDA8CisgICAgICAgICAgNAorICAgICAgICAsIEYKKyAgICAgICAKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgRjo6dGVtcGxhdGUgYXBwbHk8CisgICAgICAgICAKKyAgICAgICAgbmEsIG5hLCBuYSwgbmEKKworICAgICAgICA+IHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYKKyAgICA+CitzdHJ1Y3QgYXBwbHlfd3JhcF9pbXBsMDwKKyAgICAgICAgICA1CisgICAgICAgICwgRgorICAgICAgIAorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBGOjp0ZW1wbGF0ZSBhcHBseTwKKyAgICAgICAgIAorICAgICAgICBuYSwgbmEsIG5hLCBuYSwgbmEKKworICAgICAgICA+IHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYKKyAgICA+CitzdHJ1Y3QgYXBwbHlfd3JhcDAKKyAgICA6IGFwcGx5X3dyYXBfaW1wbDA8CisgICAgICAgICAgOjpuZG5ib29zdDo6bXBsOjphdXg6OmFyaXR5PCBGLDAgPjo6dmFsdWUKKyAgICAgICAgLCBGCisgICAgICAgCisgICAgICAgID46OnR5cGUKK3sKK307CisKK3RlbXBsYXRlPAorICAgICAgaW50IE4sIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxCisgICAgPgorc3RydWN0IGFwcGx5X3dyYXBfaW1wbDE7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEKKyAgICA+CitzdHJ1Y3QgYXBwbHlfd3JhcF9pbXBsMTwKKyAgICAgICAgICAxCisgICAgICAgICwgRgorICAgICAgICAsIFQxCisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIEY6OnRlbXBsYXRlIGFwcGx5PAorICAgICAgICAgIFQxCisgICAgICAgID4gdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEKKyAgICA+CitzdHJ1Y3QgYXBwbHlfd3JhcF9pbXBsMTwKKyAgICAgICAgICAyCisgICAgICAgICwgRgorICAgICAgICAsIFQxCisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIEY6OnRlbXBsYXRlIGFwcGx5PAorICAgICAgICAgIFQxCisgICAgICAgICwgbmEKKworICAgICAgICA+IHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxCisgICAgPgorc3RydWN0IGFwcGx5X3dyYXBfaW1wbDE8CisgICAgICAgICAgMworICAgICAgICAsIEYKKyAgICAgICAgLCBUMQorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBGOjp0ZW1wbGF0ZSBhcHBseTwKKyAgICAgICAgICBUMQorICAgICAgICAsIG5hLCBuYQorCisgICAgICAgID4gdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEKKyAgICA+CitzdHJ1Y3QgYXBwbHlfd3JhcF9pbXBsMTwKKyAgICAgICAgICA0CisgICAgICAgICwgRgorICAgICAgICAsIFQxCisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIEY6OnRlbXBsYXRlIGFwcGx5PAorICAgICAgICAgIFQxCisgICAgICAgICwgbmEsIG5hLCBuYQorCisgICAgICAgID4gdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEKKyAgICA+CitzdHJ1Y3QgYXBwbHlfd3JhcF9pbXBsMTwKKyAgICAgICAgICA1CisgICAgICAgICwgRgorICAgICAgICAsIFQxCisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIEY6OnRlbXBsYXRlIGFwcGx5PAorICAgICAgICAgIFQxCisgICAgICAgICwgbmEsIG5hLCBuYSwgbmEKKworICAgICAgICA+IHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxCisgICAgPgorc3RydWN0IGFwcGx5X3dyYXAxCisgICAgOiBhcHBseV93cmFwX2ltcGwxPAorICAgICAgICAgIDo6bmRuYm9vc3Q6Om1wbDo6YXV4Ojphcml0eTwgRiwxID46OnZhbHVlCisgICAgICAgICwgRgorICAgICAgICAsIFQxCisgICAgICAgID46OnR5cGUKK3sKK307CisKK3RlbXBsYXRlPAorICAgICAgaW50IE4sIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMgorICAgID4KK3N0cnVjdCBhcHBseV93cmFwX2ltcGwyOworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMgorICAgID4KK3N0cnVjdCBhcHBseV93cmFwX2ltcGwyPAorICAgICAgICAgIDIKKyAgICAgICAgLCBGCisgICAgICAgICwgVDEsIFQyCisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIEY6OnRlbXBsYXRlIGFwcGx5PAorICAgICAgICAgIFQxLCBUMgorCisgICAgICAgID4gdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyCisgICAgPgorc3RydWN0IGFwcGx5X3dyYXBfaW1wbDI8CisgICAgICAgICAgMworICAgICAgICAsIEYKKyAgICAgICAgLCBUMSwgVDIKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgRjo6dGVtcGxhdGUgYXBwbHk8CisgICAgICAgICAgVDEsIFQyCisKKyAgICAgICAgLCBuYQorCisgICAgICAgID4gdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyCisgICAgPgorc3RydWN0IGFwcGx5X3dyYXBfaW1wbDI8CisgICAgICAgICAgNAorICAgICAgICAsIEYKKyAgICAgICAgLCBUMSwgVDIKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgRjo6dGVtcGxhdGUgYXBwbHk8CisgICAgICAgICAgVDEsIFQyCisKKyAgICAgICAgLCBuYSwgbmEKKworICAgICAgICA+IHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMgorICAgID4KK3N0cnVjdCBhcHBseV93cmFwX2ltcGwyPAorICAgICAgICAgIDUKKyAgICAgICAgLCBGCisgICAgICAgICwgVDEsIFQyCisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIEY6OnRlbXBsYXRlIGFwcGx5PAorICAgICAgICAgIFQxLCBUMgorCisgICAgICAgICwgbmEsIG5hLCBuYQorCisgICAgICAgID4gdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyCisgICAgPgorc3RydWN0IGFwcGx5X3dyYXAyCisgICAgOiBhcHBseV93cmFwX2ltcGwyPAorICAgICAgICAgIDo6bmRuYm9vc3Q6Om1wbDo6YXV4Ojphcml0eTwgRiwyID46OnZhbHVlCisgICAgICAgICwgRgorICAgICAgICAsIFQxLCBUMgorICAgICAgICA+Ojp0eXBlCit7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIGludCBOLCB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzCisgICAgPgorc3RydWN0IGFwcGx5X3dyYXBfaW1wbDM7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMworICAgID4KK3N0cnVjdCBhcHBseV93cmFwX2ltcGwzPAorICAgICAgICAgIDMKKyAgICAgICAgLCBGCisgICAgICAgICwgVDEsIFQyLCBUMworICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBGOjp0ZW1wbGF0ZSBhcHBseTwKKyAgICAgICAgICBUMSwgVDIsIFQzCisKKyAgICAgICAgPiB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzCisgICAgPgorc3RydWN0IGFwcGx5X3dyYXBfaW1wbDM8CisgICAgICAgICAgNAorICAgICAgICAsIEYKKyAgICAgICAgLCBUMSwgVDIsIFQzCisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIEY6OnRlbXBsYXRlIGFwcGx5PAorICAgICAgICAgIFQxLCBUMiwgVDMKKworICAgICAgICAsIG5hCisKKyAgICAgICAgPiB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzCisgICAgPgorc3RydWN0IGFwcGx5X3dyYXBfaW1wbDM8CisgICAgICAgICAgNQorICAgICAgICAsIEYKKyAgICAgICAgLCBUMSwgVDIsIFQzCisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIEY6OnRlbXBsYXRlIGFwcGx5PAorICAgICAgICAgIFQxLCBUMiwgVDMKKworICAgICAgICAsIG5hLCBuYQorCisgICAgICAgID4gdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMworICAgID4KK3N0cnVjdCBhcHBseV93cmFwMworICAgIDogYXBwbHlfd3JhcF9pbXBsMzwKKyAgICAgICAgICA6Om5kbmJvb3N0OjptcGw6OmF1eDo6YXJpdHk8IEYsMyA+Ojp2YWx1ZQorICAgICAgICAsIEYKKyAgICAgICAgLCBUMSwgVDIsIFQzCisgICAgICAgID46OnR5cGUKK3sKK307CisKK3RlbXBsYXRlPAorICAgICAgaW50IE4sIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgPgorc3RydWN0IGFwcGx5X3dyYXBfaW1wbDQ7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICA+CitzdHJ1Y3QgYXBwbHlfd3JhcF9pbXBsNDwKKyAgICAgICAgICA0CisgICAgICAgICwgRgorICAgICAgICAsIFQxLCBUMiwgVDMsIFQ0CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIEY6OnRlbXBsYXRlIGFwcGx5PAorICAgICAgICAgIFQxLCBUMiwgVDMsIFQ0CisKKyAgICAgICAgPiB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgID4KK3N0cnVjdCBhcHBseV93cmFwX2ltcGw0PAorICAgICAgICAgIDUKKyAgICAgICAgLCBGCisgICAgICAgICwgVDEsIFQyLCBUMywgVDQKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgRjo6dGVtcGxhdGUgYXBwbHk8CisgICAgICAgICAgVDEsIFQyLCBUMywgVDQKKworICAgICAgICAsIG5hCisKKyAgICAgICAgPiB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgID4KK3N0cnVjdCBhcHBseV93cmFwNAorICAgIDogYXBwbHlfd3JhcF9pbXBsNDwKKyAgICAgICAgICA6Om5kbmJvb3N0OjptcGw6OmF1eDo6YXJpdHk8IEYsNCA+Ojp2YWx1ZQorICAgICAgICAsIEYKKyAgICAgICAgLCBUMSwgVDIsIFQzLCBUNAorICAgICAgICA+Ojp0eXBlCit7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIGludCBOLCB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUKKyAgICA+CitzdHJ1Y3QgYXBwbHlfd3JhcF9pbXBsNTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUKKyAgICA+CitzdHJ1Y3QgYXBwbHlfd3JhcF9pbXBsNTwKKyAgICAgICAgICA1CisgICAgICAgICwgRgorICAgICAgICAsIFQxLCBUMiwgVDMsIFQ0LCBUNQorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBGOjp0ZW1wbGF0ZSBhcHBseTwKKyAgICAgICAgICBUMSwgVDIsIFQzLCBUNCwgVDUKKworICAgICAgICA+IHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNQorICAgID4KK3N0cnVjdCBhcHBseV93cmFwNQorICAgIDogYXBwbHlfd3JhcF9pbXBsNTwKKyAgICAgICAgICA6Om5kbmJvb3N0OjptcGw6OmF1eDo6YXJpdHk8IEYsNSA+Ojp2YWx1ZQorICAgICAgICAsIEYKKyAgICAgICAgLCBUMSwgVDIsIFQzLCBUNCwgVDUKKyAgICAgICAgPjo6dHlwZQoreworfTsKKworfX0KKwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjYy9hcmcuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjYy9hcmcuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNhYzQzNDAKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjL2FyZy5ocHAKQEAgLTAsMCArMSwxMTcgQEAKKworLy8gQ29weXJpZ2h0IFBldGVyIERpbW92IDIwMDEtMjAwMgorLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMS0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyAqUHJlcHJvY2Vzc2VkKiB2ZXJzaW9uIG9mIHRoZSBtYWluICJhcmcuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworQk9PU1RfTVBMX0FVWF9BRExfQkFSUklFUl9OQU1FU1BBQ0VfT1BFTgordGVtcGxhdGU8PiBzdHJ1Y3QgYXJnPCAtMSA+Cit7CisgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gLTEpOworICAgIEJPT1NUX01QTF9BVVhfQVJHX1RZUEVERUYobmEsIHRhZykKKyAgICBCT09TVF9NUExfQVVYX0FSR19UWVBFREVGKG5hLCB0eXBlKQorCisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyLCB0eXBlbmFtZSBVMywgdHlwZW5hbWUgVTQsIHR5cGVuYW1lIFU1CisgICAgICAgID4KKyAgICBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgVTEgdHlwZTsKKyAgICAgICAgQk9PU1RfTVBMX0FVWF9BU1NFUlRfTk9UX05BKHR5cGUpOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCBhcmc8MT4KK3sKKyAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAxKTsKKyAgICB0eXBlZGVmIGFyZzwyPiBuZXh0OworICAgIEJPT1NUX01QTF9BVVhfQVJHX1RZUEVERUYobmEsIHRhZykKKyAgICBCT09TVF9NUExfQVVYX0FSR19UWVBFREVGKG5hLCB0eXBlKQorCisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyLCB0eXBlbmFtZSBVMywgdHlwZW5hbWUgVTQsIHR5cGVuYW1lIFU1CisgICAgICAgID4KKyAgICBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgVTEgdHlwZTsKKyAgICAgICAgQk9PU1RfTVBMX0FVWF9BU1NFUlRfTk9UX05BKHR5cGUpOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCBhcmc8Mj4KK3sKKyAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAyKTsKKyAgICB0eXBlZGVmIGFyZzwzPiBuZXh0OworICAgIEJPT1NUX01QTF9BVVhfQVJHX1RZUEVERUYobmEsIHRhZykKKyAgICBCT09TVF9NUExfQVVYX0FSR19UWVBFREVGKG5hLCB0eXBlKQorCisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyLCB0eXBlbmFtZSBVMywgdHlwZW5hbWUgVTQsIHR5cGVuYW1lIFU1CisgICAgICAgID4KKyAgICBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgVTIgdHlwZTsKKyAgICAgICAgQk9PU1RfTVBMX0FVWF9BU1NFUlRfTk9UX05BKHR5cGUpOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCBhcmc8Mz4KK3sKKyAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAzKTsKKyAgICB0eXBlZGVmIGFyZzw0PiBuZXh0OworICAgIEJPT1NUX01QTF9BVVhfQVJHX1RZUEVERUYobmEsIHRhZykKKyAgICBCT09TVF9NUExfQVVYX0FSR19UWVBFREVGKG5hLCB0eXBlKQorCisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyLCB0eXBlbmFtZSBVMywgdHlwZW5hbWUgVTQsIHR5cGVuYW1lIFU1CisgICAgICAgID4KKyAgICBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgVTMgdHlwZTsKKyAgICAgICAgQk9PU1RfTVBMX0FVWF9BU1NFUlRfTk9UX05BKHR5cGUpOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCBhcmc8ND4KK3sKKyAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSA0KTsKKyAgICB0eXBlZGVmIGFyZzw1PiBuZXh0OworICAgIEJPT1NUX01QTF9BVVhfQVJHX1RZUEVERUYobmEsIHRhZykKKyAgICBCT09TVF9NUExfQVVYX0FSR19UWVBFREVGKG5hLCB0eXBlKQorCisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyLCB0eXBlbmFtZSBVMywgdHlwZW5hbWUgVTQsIHR5cGVuYW1lIFU1CisgICAgICAgID4KKyAgICBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgVTQgdHlwZTsKKyAgICAgICAgQk9PU1RfTVBMX0FVWF9BU1NFUlRfTk9UX05BKHR5cGUpOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCBhcmc8NT4KK3sKKyAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSA1KTsKKyAgICB0eXBlZGVmIGFyZzw2PiBuZXh0OworICAgIEJPT1NUX01QTF9BVVhfQVJHX1RZUEVERUYobmEsIHRhZykKKyAgICBCT09TVF9NUExfQVVYX0FSR19UWVBFREVGKG5hLCB0eXBlKQorCisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyLCB0eXBlbmFtZSBVMywgdHlwZW5hbWUgVTQsIHR5cGVuYW1lIFU1CisgICAgICAgID4KKyAgICBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgVTUgdHlwZTsKKyAgICAgICAgQk9PU1RfTVBMX0FVWF9BU1NFUlRfTk9UX05BKHR5cGUpOworICAgIH07Cit9OworCitCT09TVF9NUExfQVVYX05PTlRZUEVfQVJJVFlfU1BFQygxLGludCwgYXJnKQorCitCT09TVF9NUExfQVVYX0FETF9CQVJSSUVSX05BTUVTUEFDRV9DTE9TRQpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjYy9iYXNpY19iaW5kLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2MvYmFzaWNfYmluZC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWNkMDU0YgotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2MvYmFzaWNfYmluZC5ocHAKQEAgLTAsMCArMSwzMDAgQEAKKworLy8gQ29weXJpZ2h0IFBldGVyIERpbW92IDIwMDEKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDEtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gKlByZXByb2Nlc3NlZCogdmVyc2lvbiBvZiB0aGUgbWFpbiAiYmFzaWNfYmluZC5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyLCB0eXBlbmFtZSBVMywgdHlwZW5hbWUgVTQKKyAgICAsIHR5cGVuYW1lIFU1CisgICAgPgorc3RydWN0IHJlc29sdmVfYmluZF9hcmcKK3sKKyAgICB0eXBlZGVmIFQgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgaW50IE4sIHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiwgdHlwZW5hbWUgVTMsIHR5cGVuYW1lIFU0LCB0eXBlbmFtZSBVNQorICAgID4KK3N0cnVjdCByZXNvbHZlX2JpbmRfYXJnPCBhcmc8Tj4sIFUxLCBVMiwgVTMsIFU0LCBVNSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseV93cmFwNTxtcGw6OmFyZzxOPiwgVTEsIFUyLCBVMywgVTQsIFU1Pjo6dHlwZSB0eXBlOworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRgorICAgID4KK3N0cnVjdCBiaW5kMAoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiwgdHlwZW5hbWUgVTMsIHR5cGVuYW1lIFU0LCB0eXBlbmFtZSBVNQorICAgICAgICA+CisgICAgc3RydWN0IGFwcGx5CisgICAgeworICAgICBwcml2YXRlOgorICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgRixVMSxVMixVMyxVNCxVNSA+Ojp0eXBlIGZfOworCisgICAgIHB1YmxpYzoKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseV93cmFwMDwKKyAgICAgICAgICAgICAgZl8KKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIsIHR5cGVuYW1lIFUzLCB0eXBlbmFtZSBVNAorICAgICwgdHlwZW5hbWUgVTUKKyAgICA+CitzdHJ1Y3QgcmVzb2x2ZV9iaW5kX2FyZzwKKyAgICAgIGJpbmQwPEY+LCBVMSwgVTIsIFUzLCBVNCwgVTUKKyAgICA+Cit7CisgICAgdHlwZWRlZiBiaW5kMDxGPiBmXzsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5X3dyYXA1PCBmXyxVMSxVMixVMyxVNCxVNSA+Ojp0eXBlIHR5cGU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworQk9PU1RfTVBMX0FVWF9BUklUWV9TUEVDKDEsIGJpbmQwKQorQk9PU1RfTVBMX0FVWF9URU1QTEFURV9BUklUWV9TUEVDKDEsIGJpbmQwKQorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxCisgICAgPgorc3RydWN0IGJpbmQxCit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyLCB0eXBlbmFtZSBVMywgdHlwZW5hbWUgVTQsIHR5cGVuYW1lIFU1CisgICAgICAgID4KKyAgICBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgIHByaXZhdGU6CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBGLFUxLFUyLFUzLFU0LFU1ID46OnR5cGUgZl87CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBUMSxVMSxVMixVMyxVNCxVNSA+IHQxOworCisgICAgIHB1YmxpYzoKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseV93cmFwMTwKKyAgICAgICAgICAgICAgZl8KKyAgICAgICAgICAgICwgdHlwZW5hbWUgdDE6OnR5cGUKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyLCB0eXBlbmFtZSBVMworICAgICwgdHlwZW5hbWUgVTQsIHR5cGVuYW1lIFU1CisgICAgPgorc3RydWN0IHJlc29sdmVfYmluZF9hcmc8CisgICAgICBiaW5kMTwgRixUMSA+LCBVMSwgVTIsIFUzLCBVNCwgVTUKKyAgICA+Cit7CisgICAgdHlwZWRlZiBiaW5kMTwgRixUMSA+IGZfOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHlfd3JhcDU8IGZfLFUxLFUyLFUzLFU0LFU1ID46OnR5cGUgdHlwZTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCitCT09TVF9NUExfQVVYX0FSSVRZX1NQRUMoMiwgYmluZDEpCitCT09TVF9NUExfQVVYX1RFTVBMQVRFX0FSSVRZX1NQRUMoMiwgYmluZDEpCisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyCisgICAgPgorc3RydWN0IGJpbmQyCit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyLCB0eXBlbmFtZSBVMywgdHlwZW5hbWUgVTQsIHR5cGVuYW1lIFU1CisgICAgICAgID4KKyAgICBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgIHByaXZhdGU6CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBGLFUxLFUyLFUzLFU0LFU1ID46OnR5cGUgZl87CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBUMSxVMSxVMixVMyxVNCxVNSA+IHQxOworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgVDIsVTEsVTIsVTMsVTQsVTUgPiB0MjsKKworICAgICBwdWJsaWM6CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHlfd3JhcDI8CisgICAgICAgICAgICAgIGZfCisgICAgICAgICAgICAsIHR5cGVuYW1lIHQxOjp0eXBlLCB0eXBlbmFtZSB0Mjo6dHlwZQorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyCisgICAgLCB0eXBlbmFtZSBVMywgdHlwZW5hbWUgVTQsIHR5cGVuYW1lIFU1CisgICAgPgorc3RydWN0IHJlc29sdmVfYmluZF9hcmc8CisgICAgICBiaW5kMjwgRixUMSxUMiA+LCBVMSwgVTIsIFUzLCBVNCwgVTUKKyAgICA+Cit7CisgICAgdHlwZWRlZiBiaW5kMjwgRixUMSxUMiA+IGZfOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHlfd3JhcDU8IGZfLFUxLFUyLFUzLFU0LFU1ID46OnR5cGUgdHlwZTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCitCT09TVF9NUExfQVVYX0FSSVRZX1NQRUMoMywgYmluZDIpCitCT09TVF9NUExfQVVYX1RFTVBMQVRFX0FSSVRZX1NQRUMoMywgYmluZDIpCisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMworICAgID4KK3N0cnVjdCBiaW5kMworeworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiwgdHlwZW5hbWUgVTMsIHR5cGVuYW1lIFU0LCB0eXBlbmFtZSBVNQorICAgICAgICA+CisgICAgc3RydWN0IGFwcGx5CisgICAgeworICAgICBwcml2YXRlOgorICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgRixVMSxVMixVMyxVNCxVNSA+Ojp0eXBlIGZfOworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgVDEsVTEsVTIsVTMsVTQsVTUgPiB0MTsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IFQyLFUxLFUyLFUzLFU0LFU1ID4gdDI7CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBUMyxVMSxVMixVMyxVNCxVNSA+IHQzOworCisgICAgIHB1YmxpYzoKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseV93cmFwMzwKKyAgICAgICAgICAgICAgZl8KKyAgICAgICAgICAgICwgdHlwZW5hbWUgdDE6OnR5cGUsIHR5cGVuYW1lIHQyOjp0eXBlLCB0eXBlbmFtZSB0Mzo6dHlwZQorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFUxCisgICAgLCB0eXBlbmFtZSBVMiwgdHlwZW5hbWUgVTMsIHR5cGVuYW1lIFU0LCB0eXBlbmFtZSBVNQorICAgID4KK3N0cnVjdCByZXNvbHZlX2JpbmRfYXJnPAorICAgICAgYmluZDM8IEYsVDEsVDIsVDMgPiwgVTEsIFUyLCBVMywgVTQsIFU1CisgICAgPgoreworICAgIHR5cGVkZWYgYmluZDM8IEYsVDEsVDIsVDMgPiBmXzsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5X3dyYXA1PCBmXyxVMSxVMixVMyxVNCxVNSA+Ojp0eXBlIHR5cGU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworQk9PU1RfTVBMX0FVWF9BUklUWV9TUEVDKDQsIGJpbmQzKQorQk9PU1RfTVBMX0FVWF9URU1QTEFURV9BUklUWV9TUEVDKDQsIGJpbmQzKQorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgPgorc3RydWN0IGJpbmQ0Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyLCB0eXBlbmFtZSBVMywgdHlwZW5hbWUgVTQsIHR5cGVuYW1lIFU1CisgICAgICAgID4KKyAgICBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgIHByaXZhdGU6CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBGLFUxLFUyLFUzLFU0LFU1ID46OnR5cGUgZl87CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBUMSxVMSxVMixVMyxVNCxVNSA+IHQxOworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgVDIsVTEsVTIsVTMsVTQsVTUgPiB0MjsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IFQzLFUxLFUyLFUzLFU0LFU1ID4gdDM7CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBUNCxVMSxVMixVMyxVNCxVNSA+IHQ0OworCisgICAgIHB1YmxpYzoKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseV93cmFwNDwKKyAgICAgICAgICAgICAgZl8KKyAgICAgICAgICAgICwgdHlwZW5hbWUgdDE6OnR5cGUsIHR5cGVuYW1lIHQyOjp0eXBlLCB0eXBlbmFtZSB0Mzo6dHlwZQorICAgICAgICAgICAgLCB0eXBlbmFtZSB0NDo6dHlwZQorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIsIHR5cGVuYW1lIFUzLCB0eXBlbmFtZSBVNCwgdHlwZW5hbWUgVTUKKyAgICA+CitzdHJ1Y3QgcmVzb2x2ZV9iaW5kX2FyZzwKKyAgICAgIGJpbmQ0PCBGLFQxLFQyLFQzLFQ0ID4sIFUxLCBVMiwgVTMsIFU0LCBVNQorICAgID4KK3sKKyAgICB0eXBlZGVmIGJpbmQ0PCBGLFQxLFQyLFQzLFQ0ID4gZl87CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseV93cmFwNTwgZl8sVTEsVTIsVTMsVTQsVTUgPjo6dHlwZSB0eXBlOworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK0JPT1NUX01QTF9BVVhfQVJJVFlfU1BFQyg1LCBiaW5kNCkKK0JPT1NUX01QTF9BVVhfVEVNUExBVEVfQVJJVFlfU1BFQyg1LCBiaW5kNCkKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUKKyAgICA+CitzdHJ1Y3QgYmluZDUKK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIsIHR5cGVuYW1lIFUzLCB0eXBlbmFtZSBVNCwgdHlwZW5hbWUgVTUKKyAgICAgICAgPgorICAgIHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgcHJpdmF0ZToKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhdXg6OnJlc29sdmVfYmluZF9hcmc8IEYsVTEsVTIsVTMsVTQsVTUgPjo6dHlwZSBmXzsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IFQxLFUxLFUyLFUzLFU0LFU1ID4gdDE7CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBUMixVMSxVMixVMyxVNCxVNSA+IHQyOworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgVDMsVTEsVTIsVTMsVTQsVTUgPiB0MzsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IFQ0LFUxLFUyLFUzLFU0LFU1ID4gdDQ7CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBUNSxVMSxVMixVMyxVNCxVNSA+IHQ1OworCisgICAgIHB1YmxpYzoKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseV93cmFwNTwKKyAgICAgICAgICAgICAgZl8KKyAgICAgICAgICAgICwgdHlwZW5hbWUgdDE6OnR5cGUsIHR5cGVuYW1lIHQyOjp0eXBlLCB0eXBlbmFtZSB0Mzo6dHlwZQorICAgICAgICAgICAgLCB0eXBlbmFtZSB0NDo6dHlwZSwgdHlwZW5hbWUgdDU6OnR5cGUKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiwgdHlwZW5hbWUgVTMsIHR5cGVuYW1lIFU0CisgICAgLCB0eXBlbmFtZSBVNQorICAgID4KK3N0cnVjdCByZXNvbHZlX2JpbmRfYXJnPAorICAgICAgYmluZDU8IEYsVDEsVDIsVDMsVDQsVDUgPiwgVTEsIFUyLCBVMywgVTQsIFU1CisgICAgPgoreworICAgIHR5cGVkZWYgYmluZDU8IEYsVDEsVDIsVDMsVDQsVDUgPiBmXzsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5X3dyYXA1PCBmXyxVMSxVMixVMyxVNCxVNSA+Ojp0eXBlIHR5cGU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworQk9PU1RfTVBMX0FVWF9BUklUWV9TUEVDKDYsIGJpbmQ1KQorQk9PU1RfTVBMX0FVWF9URU1QTEFURV9BUklUWV9TUEVDKDYsIGJpbmQ1KQorfX0KKwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjYy9iaW5kLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2MvYmluZC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzVlZTQ5MgotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2MvYmluZC5ocHAKQEAgLTAsMCArMSwzOTcgQEAKKworLy8gQ29weXJpZ2h0IFBldGVyIERpbW92IDIwMDEKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDEtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gKlByZXByb2Nlc3NlZCogdmVyc2lvbiBvZiB0aGUgbWFpbiAiYmluZC5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyLCB0eXBlbmFtZSBVMywgdHlwZW5hbWUgVTQKKyAgICAsIHR5cGVuYW1lIFU1CisgICAgPgorc3RydWN0IHJlc29sdmVfYmluZF9hcmcKK3sKKyAgICB0eXBlZGVmIFQgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVAorICAgICwgdHlwZW5hbWUgQXJnCisgICAgPgorc3RydWN0IHJlcGxhY2VfdW5uYW1lZF9hcmcKK3sKKyAgICB0eXBlZGVmIEFyZyBuZXh0OworICAgIHR5cGVkZWYgVCB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBBcmcKKyAgICA+CitzdHJ1Y3QgcmVwbGFjZV91bm5hbWVkX2FyZzwgYXJnPCAtMSA+LCBBcmcgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgQXJnOjpuZXh0IG5leHQ7CisgICAgdHlwZWRlZiBBcmcgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgaW50IE4sIHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiwgdHlwZW5hbWUgVTMsIHR5cGVuYW1lIFU0LCB0eXBlbmFtZSBVNQorICAgID4KK3N0cnVjdCByZXNvbHZlX2JpbmRfYXJnPCBhcmc8Tj4sIFUxLCBVMiwgVTMsIFU0LCBVNSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseV93cmFwNTxtcGw6OmFyZzxOPiwgVTEsIFUyLCBVMywgVTQsIFU1Pjo6dHlwZSB0eXBlOworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRgorICAgID4KK3N0cnVjdCBiaW5kMAoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiwgdHlwZW5hbWUgVTMsIHR5cGVuYW1lIFU0LCB0eXBlbmFtZSBVNQorICAgICAgICA+CisgICAgc3RydWN0IGFwcGx5CisgICAgeworICAgICBwcml2YXRlOgorICAgICAgICB0eXBlZGVmIGF1eDo6cmVwbGFjZV91bm5hbWVkX2FyZzwgRiwgbXBsOjphcmc8MT4gPiByMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMDo6dHlwZSBhMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMDo6bmV4dCBuMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhdXg6OnJlc29sdmVfYmluZF9hcmc8IGEwLFUxLFUyLFUzLFU0LFU1ID46OnR5cGUgZl87CisgICAgICAgIC8vLworICAgICBwdWJsaWM6CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHlfd3JhcDA8CisgICAgICAgICAgICAgIGZfCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyLCB0eXBlbmFtZSBVMywgdHlwZW5hbWUgVTQKKyAgICAsIHR5cGVuYW1lIFU1CisgICAgPgorc3RydWN0IHJlc29sdmVfYmluZF9hcmc8CisgICAgICBiaW5kMDxGPiwgVTEsIFUyLCBVMywgVTQsIFU1CisgICAgPgoreworICAgIHR5cGVkZWYgYmluZDA8Rj4gZl87CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseV93cmFwNTwgZl8sVTEsVTIsVTMsVTQsVTUgPjo6dHlwZSB0eXBlOworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK0JPT1NUX01QTF9BVVhfQVJJVFlfU1BFQygxLCBiaW5kMCkKK0JPT1NUX01QTF9BVVhfVEVNUExBVEVfQVJJVFlfU1BFQygxLCBiaW5kMCkKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMQorICAgID4KK3N0cnVjdCBiaW5kMQoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiwgdHlwZW5hbWUgVTMsIHR5cGVuYW1lIFU0LCB0eXBlbmFtZSBVNQorICAgICAgICA+CisgICAgc3RydWN0IGFwcGx5CisgICAgeworICAgICBwcml2YXRlOgorICAgICAgICB0eXBlZGVmIGF1eDo6cmVwbGFjZV91bm5hbWVkX2FyZzwgRiwgbXBsOjphcmc8MT4gPiByMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMDo6dHlwZSBhMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMDo6bmV4dCBuMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhdXg6OnJlc29sdmVfYmluZF9hcmc8IGEwLFUxLFUyLFUzLFU0LFU1ID46OnR5cGUgZl87CisgICAgICAgIC8vLworICAgICAgICB0eXBlZGVmIGF1eDo6cmVwbGFjZV91bm5hbWVkX2FyZzwgVDEsbjEgPiByMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMTo6dHlwZSBhMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMTo6bmV4dCBuMjsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IGExLFUxLFUyLFUzLFU0LFU1ID4gdDE7CisgICAgICAgIC8vLworICAgICBwdWJsaWM6CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHlfd3JhcDE8CisgICAgICAgICAgICAgIGZfCisgICAgICAgICAgICAsIHR5cGVuYW1lIHQxOjp0eXBlCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiwgdHlwZW5hbWUgVTMKKyAgICAsIHR5cGVuYW1lIFU0LCB0eXBlbmFtZSBVNQorICAgID4KK3N0cnVjdCByZXNvbHZlX2JpbmRfYXJnPAorICAgICAgYmluZDE8IEYsVDEgPiwgVTEsIFUyLCBVMywgVTQsIFU1CisgICAgPgoreworICAgIHR5cGVkZWYgYmluZDE8IEYsVDEgPiBmXzsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5X3dyYXA1PCBmXyxVMSxVMixVMyxVNCxVNSA+Ojp0eXBlIHR5cGU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworQk9PU1RfTVBMX0FVWF9BUklUWV9TUEVDKDIsIGJpbmQxKQorQk9PU1RfTVBMX0FVWF9URU1QTEFURV9BUklUWV9TUEVDKDIsIGJpbmQxKQorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMgorICAgID4KK3N0cnVjdCBiaW5kMgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiwgdHlwZW5hbWUgVTMsIHR5cGVuYW1lIFU0LCB0eXBlbmFtZSBVNQorICAgICAgICA+CisgICAgc3RydWN0IGFwcGx5CisgICAgeworICAgICBwcml2YXRlOgorICAgICAgICB0eXBlZGVmIGF1eDo6cmVwbGFjZV91bm5hbWVkX2FyZzwgRiwgbXBsOjphcmc8MT4gPiByMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMDo6dHlwZSBhMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMDo6bmV4dCBuMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhdXg6OnJlc29sdmVfYmluZF9hcmc8IGEwLFUxLFUyLFUzLFU0LFU1ID46OnR5cGUgZl87CisgICAgICAgIC8vLworICAgICAgICB0eXBlZGVmIGF1eDo6cmVwbGFjZV91bm5hbWVkX2FyZzwgVDEsbjEgPiByMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMTo6dHlwZSBhMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMTo6bmV4dCBuMjsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IGExLFUxLFUyLFUzLFU0LFU1ID4gdDE7CisgICAgICAgIC8vLworICAgICAgICB0eXBlZGVmIGF1eDo6cmVwbGFjZV91bm5hbWVkX2FyZzwgVDIsbjIgPiByMjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMjo6dHlwZSBhMjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMjo6bmV4dCBuMzsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IGEyLFUxLFUyLFUzLFU0LFU1ID4gdDI7CisgICAgICAgIC8vLworICAgICBwdWJsaWM6CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHlfd3JhcDI8CisgICAgICAgICAgICAgIGZfCisgICAgICAgICAgICAsIHR5cGVuYW1lIHQxOjp0eXBlLCB0eXBlbmFtZSB0Mjo6dHlwZQorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyCisgICAgLCB0eXBlbmFtZSBVMywgdHlwZW5hbWUgVTQsIHR5cGVuYW1lIFU1CisgICAgPgorc3RydWN0IHJlc29sdmVfYmluZF9hcmc8CisgICAgICBiaW5kMjwgRixUMSxUMiA+LCBVMSwgVTIsIFUzLCBVNCwgVTUKKyAgICA+Cit7CisgICAgdHlwZWRlZiBiaW5kMjwgRixUMSxUMiA+IGZfOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHlfd3JhcDU8IGZfLFUxLFUyLFUzLFU0LFU1ID46OnR5cGUgdHlwZTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCitCT09TVF9NUExfQVVYX0FSSVRZX1NQRUMoMywgYmluZDIpCitCT09TVF9NUExfQVVYX1RFTVBMQVRFX0FSSVRZX1NQRUMoMywgYmluZDIpCisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMworICAgID4KK3N0cnVjdCBiaW5kMworeworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiwgdHlwZW5hbWUgVTMsIHR5cGVuYW1lIFU0LCB0eXBlbmFtZSBVNQorICAgICAgICA+CisgICAgc3RydWN0IGFwcGx5CisgICAgeworICAgICBwcml2YXRlOgorICAgICAgICB0eXBlZGVmIGF1eDo6cmVwbGFjZV91bm5hbWVkX2FyZzwgRiwgbXBsOjphcmc8MT4gPiByMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMDo6dHlwZSBhMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMDo6bmV4dCBuMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhdXg6OnJlc29sdmVfYmluZF9hcmc8IGEwLFUxLFUyLFUzLFU0LFU1ID46OnR5cGUgZl87CisgICAgICAgIC8vLworICAgICAgICB0eXBlZGVmIGF1eDo6cmVwbGFjZV91bm5hbWVkX2FyZzwgVDEsbjEgPiByMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMTo6dHlwZSBhMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMTo6bmV4dCBuMjsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IGExLFUxLFUyLFUzLFU0LFU1ID4gdDE7CisgICAgICAgIC8vLworICAgICAgICB0eXBlZGVmIGF1eDo6cmVwbGFjZV91bm5hbWVkX2FyZzwgVDIsbjIgPiByMjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMjo6dHlwZSBhMjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMjo6bmV4dCBuMzsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IGEyLFUxLFUyLFUzLFU0LFU1ID4gdDI7CisgICAgICAgIC8vLworICAgICAgICB0eXBlZGVmIGF1eDo6cmVwbGFjZV91bm5hbWVkX2FyZzwgVDMsbjMgPiByMzsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMzo6dHlwZSBhMzsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMzo6bmV4dCBuNDsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IGEzLFUxLFUyLFUzLFU0LFU1ID4gdDM7CisgICAgICAgIC8vLworICAgICBwdWJsaWM6CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHlfd3JhcDM8CisgICAgICAgICAgICAgIGZfCisgICAgICAgICAgICAsIHR5cGVuYW1lIHQxOjp0eXBlLCB0eXBlbmFtZSB0Mjo6dHlwZSwgdHlwZW5hbWUgdDM6OnR5cGUKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBVMQorICAgICwgdHlwZW5hbWUgVTIsIHR5cGVuYW1lIFUzLCB0eXBlbmFtZSBVNCwgdHlwZW5hbWUgVTUKKyAgICA+CitzdHJ1Y3QgcmVzb2x2ZV9iaW5kX2FyZzwKKyAgICAgIGJpbmQzPCBGLFQxLFQyLFQzID4sIFUxLCBVMiwgVTMsIFU0LCBVNQorICAgID4KK3sKKyAgICB0eXBlZGVmIGJpbmQzPCBGLFQxLFQyLFQzID4gZl87CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseV93cmFwNTwgZl8sVTEsVTIsVTMsVTQsVTUgPjo6dHlwZSB0eXBlOworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK0JPT1NUX01QTF9BVVhfQVJJVFlfU1BFQyg0LCBiaW5kMykKK0JPT1NUX01QTF9BVVhfVEVNUExBVEVfQVJJVFlfU1BFQyg0LCBiaW5kMykKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgID4KK3N0cnVjdCBiaW5kNAoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiwgdHlwZW5hbWUgVTMsIHR5cGVuYW1lIFU0LCB0eXBlbmFtZSBVNQorICAgICAgICA+CisgICAgc3RydWN0IGFwcGx5CisgICAgeworICAgICBwcml2YXRlOgorICAgICAgICB0eXBlZGVmIGF1eDo6cmVwbGFjZV91bm5hbWVkX2FyZzwgRiwgbXBsOjphcmc8MT4gPiByMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMDo6dHlwZSBhMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMDo6bmV4dCBuMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhdXg6OnJlc29sdmVfYmluZF9hcmc8IGEwLFUxLFUyLFUzLFU0LFU1ID46OnR5cGUgZl87CisgICAgICAgIC8vLworICAgICAgICB0eXBlZGVmIGF1eDo6cmVwbGFjZV91bm5hbWVkX2FyZzwgVDEsbjEgPiByMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMTo6dHlwZSBhMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMTo6bmV4dCBuMjsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IGExLFUxLFUyLFUzLFU0LFU1ID4gdDE7CisgICAgICAgIC8vLworICAgICAgICB0eXBlZGVmIGF1eDo6cmVwbGFjZV91bm5hbWVkX2FyZzwgVDIsbjIgPiByMjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMjo6dHlwZSBhMjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMjo6bmV4dCBuMzsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IGEyLFUxLFUyLFUzLFU0LFU1ID4gdDI7CisgICAgICAgIC8vLworICAgICAgICB0eXBlZGVmIGF1eDo6cmVwbGFjZV91bm5hbWVkX2FyZzwgVDMsbjMgPiByMzsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMzo6dHlwZSBhMzsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMzo6bmV4dCBuNDsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IGEzLFUxLFUyLFUzLFU0LFU1ID4gdDM7CisgICAgICAgIC8vLworICAgICAgICB0eXBlZGVmIGF1eDo6cmVwbGFjZV91bm5hbWVkX2FyZzwgVDQsbjQgPiByNDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByNDo6dHlwZSBhNDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByNDo6bmV4dCBuNTsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IGE0LFUxLFUyLFUzLFU0LFU1ID4gdDQ7CisgICAgICAgIC8vLworICAgICBwdWJsaWM6CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHlfd3JhcDQ8CisgICAgICAgICAgICAgIGZfCisgICAgICAgICAgICAsIHR5cGVuYW1lIHQxOjp0eXBlLCB0eXBlbmFtZSB0Mjo6dHlwZSwgdHlwZW5hbWUgdDM6OnR5cGUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgdDQ6OnR5cGUKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyLCB0eXBlbmFtZSBVMywgdHlwZW5hbWUgVTQsIHR5cGVuYW1lIFU1CisgICAgPgorc3RydWN0IHJlc29sdmVfYmluZF9hcmc8CisgICAgICBiaW5kNDwgRixUMSxUMixUMyxUNCA+LCBVMSwgVTIsIFUzLCBVNCwgVTUKKyAgICA+Cit7CisgICAgdHlwZWRlZiBiaW5kNDwgRixUMSxUMixUMyxUNCA+IGZfOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHlfd3JhcDU8IGZfLFUxLFUyLFUzLFU0LFU1ID46OnR5cGUgdHlwZTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCitCT09TVF9NUExfQVVYX0FSSVRZX1NQRUMoNSwgYmluZDQpCitCT09TVF9NUExfQVVYX1RFTVBMQVRFX0FSSVRZX1NQRUMoNSwgYmluZDQpCisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1CisgICAgPgorc3RydWN0IGJpbmQ1Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyLCB0eXBlbmFtZSBVMywgdHlwZW5hbWUgVTQsIHR5cGVuYW1lIFU1CisgICAgICAgID4KKyAgICBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgIHByaXZhdGU6CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXBsYWNlX3VubmFtZWRfYXJnPCBGLCBtcGw6OmFyZzwxPiA+IHIwOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIwOjp0eXBlIGEwOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIwOjpuZXh0IG4xOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgYTAsVTEsVTIsVTMsVTQsVTUgPjo6dHlwZSBmXzsKKyAgICAgICAgLy8vCisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXBsYWNlX3VubmFtZWRfYXJnPCBUMSxuMSA+IHIxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIxOjp0eXBlIGExOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIxOjpuZXh0IG4yOworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgYTEsVTEsVTIsVTMsVTQsVTUgPiB0MTsKKyAgICAgICAgLy8vCisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXBsYWNlX3VubmFtZWRfYXJnPCBUMixuMiA+IHIyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIyOjp0eXBlIGEyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIyOjpuZXh0IG4zOworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgYTIsVTEsVTIsVTMsVTQsVTUgPiB0MjsKKyAgICAgICAgLy8vCisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXBsYWNlX3VubmFtZWRfYXJnPCBUMyxuMyA+IHIzOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIzOjp0eXBlIGEzOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIzOjpuZXh0IG40OworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgYTMsVTEsVTIsVTMsVTQsVTUgPiB0MzsKKyAgICAgICAgLy8vCisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXBsYWNlX3VubmFtZWRfYXJnPCBUNCxuNCA+IHI0OworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHI0Ojp0eXBlIGE0OworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHI0OjpuZXh0IG41OworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgYTQsVTEsVTIsVTMsVTQsVTUgPiB0NDsKKyAgICAgICAgLy8vCisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXBsYWNlX3VubmFtZWRfYXJnPCBUNSxuNSA+IHI1OworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHI1Ojp0eXBlIGE1OworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHI1OjpuZXh0IG42OworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgYTUsVTEsVTIsVTMsVTQsVTUgPiB0NTsKKyAgICAgICAgLy8vCisgICAgIHB1YmxpYzoKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseV93cmFwNTwKKyAgICAgICAgICAgICAgZl8KKyAgICAgICAgICAgICwgdHlwZW5hbWUgdDE6OnR5cGUsIHR5cGVuYW1lIHQyOjp0eXBlLCB0eXBlbmFtZSB0Mzo6dHlwZQorICAgICAgICAgICAgLCB0eXBlbmFtZSB0NDo6dHlwZSwgdHlwZW5hbWUgdDU6OnR5cGUKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiwgdHlwZW5hbWUgVTMsIHR5cGVuYW1lIFU0CisgICAgLCB0eXBlbmFtZSBVNQorICAgID4KK3N0cnVjdCByZXNvbHZlX2JpbmRfYXJnPAorICAgICAgYmluZDU8IEYsVDEsVDIsVDMsVDQsVDUgPiwgVTEsIFUyLCBVMywgVTQsIFU1CisgICAgPgoreworICAgIHR5cGVkZWYgYmluZDU8IEYsVDEsVDIsVDMsVDQsVDUgPiBmXzsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5X3dyYXA1PCBmXyxVMSxVMixVMyxVNCxVNSA+Ojp0eXBlIHR5cGU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworQk9PU1RfTVBMX0FVWF9BUklUWV9TUEVDKDYsIGJpbmQ1KQorQk9PU1RfTVBMX0FVWF9URU1QTEFURV9BUklUWV9TUEVDKDYsIGJpbmQ1KQorfX0KKwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjYy9iaW5kX2Z3ZC5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjL2JpbmRfZndkLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZTVkNTU0Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjYy9iaW5kX2Z3ZC5ocHAKQEAgLTAsMCArMSw0NiBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vICpQcmVwcm9jZXNzZWQqIHZlcnNpb24gb2YgdGhlIG1haW4gImJpbmRfZndkLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYKKyAgICA+CitzdHJ1Y3QgYmluZDA7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEKKyAgICA+CitzdHJ1Y3QgYmluZDE7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyCisgICAgPgorc3RydWN0IGJpbmQyOworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMKKyAgICA+CitzdHJ1Y3QgYmluZDM7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICA+CitzdHJ1Y3QgYmluZDQ7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1CisgICAgPgorc3RydWN0IGJpbmQ1OworCit9fQorCmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjL2JpdGFuZC5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjL2JpdGFuZC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWEyYWM4ZAotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2MvYml0YW5kLmhwcApAQCAtMCwwICsxLDE0NyBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vIENvcHlyaWdodCBKYWFwIFN1dGVyIDIwMDMKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vICpQcmVwcm9jZXNzZWQqIHZlcnNpb24gb2YgdGhlIG1haW4gImJpdGFuZC5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUYWcxCisgICAgLCB0eXBlbmFtZSBUYWcyCisgICAgPgorc3RydWN0IGJpdGFuZF9pbXBsCisgICAgOiBpZl9jPAorICAgICAgICAgICggQk9PU1RfTVBMX0FVWF9ORVNURURfVkFMVUVfV0tORChpbnQsIFRhZzEpCisgICAgICAgICAgICAgID4gQk9PU1RfTVBMX0FVWF9ORVNURURfVkFMVUVfV0tORChpbnQsIFRhZzIpCisgICAgICAgICAgICApCisKKyAgICAgICAgLCBhdXg6OmNhc3QybmRfaW1wbDwgYml0YW5kX2ltcGw8IFRhZzEsVGFnMSA+LFRhZzEsIFRhZzIgPgorICAgICAgICAsIGF1eDo6Y2FzdDFzdF9pbXBsPCBiaXRhbmRfaW1wbDwgVGFnMixUYWcyID4sVGFnMSwgVGFnMiA+CisgICAgICAgID46OnR5cGUKK3sKK307CisKKy8vLyBmb3IgRGlnaXRhbCBNYXJzIEMrKy9jb21waWxlcnMgd2l0aCBubyBDVFBTL1RUUCBzdXBwb3J0Cit0ZW1wbGF0ZTw+IHN0cnVjdCBiaXRhbmRfaW1wbDwgbmEsbmEgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUYWcgPiBzdHJ1Y3QgYml0YW5kX2ltcGw8IG5hLFRhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFRhZyA+IHN0cnVjdCBiaXRhbmRfaW1wbDwgVGFnLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVCA+IHN0cnVjdCBiaXRhbmRfdGFnCit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBUOjp0YWcgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMSkKKyAgICAsIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjIpCisgICAgLCB0eXBlbmFtZSBOMyA9IG5hLCB0eXBlbmFtZSBONCA9IG5hLCB0eXBlbmFtZSBONSA9IG5hCisgICAgPgorc3RydWN0IGJpdGFuZF8KKyAgICA6IGJpdGFuZF88IGJpdGFuZF88IGJpdGFuZF88IGJpdGFuZF88IE4xLE4yID4sIE4zPiwgTjQ+LCBONT4KK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKAorICAgICAgICAgIDUKKyAgICAgICAgLCBiaXRhbmRfCisgICAgICAgICwgKCBOMSwgTjIsIE4zLCBONCwgTjUgKQorICAgICAgICApCit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIE4xLCB0eXBlbmFtZSBOMiwgdHlwZW5hbWUgTjMsIHR5cGVuYW1lIE40CisgICAgPgorc3RydWN0IGJpdGFuZF88IE4xLE4yLE4zLE40LG5hID4KKworICAgIDogYml0YW5kXzwgYml0YW5kXzwgYml0YW5kXzwgTjEsTjIgPiwgTjM+LCBOND4KK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUX1NQRUMoCisgICAgICAgICAgNQorICAgICAgICAsIGJpdGFuZF8KKyAgICAgICAgLCAoIE4xLCBOMiwgTjMsIE40LCBuYSApCisgICAgICAgICkKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgTjEsIHR5cGVuYW1lIE4yLCB0eXBlbmFtZSBOMworICAgID4KK3N0cnVjdCBiaXRhbmRfPCBOMSxOMixOMyxuYSxuYSA+CisKKyAgICA6IGJpdGFuZF88IGJpdGFuZF88IE4xLE4yID4sIE4zPgoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlRfU1BFQygKKyAgICAgICAgICA1CisgICAgICAgICwgYml0YW5kXworICAgICAgICAsICggTjEsIE4yLCBOMywgbmEsIG5hICkKKyAgICAgICAgKQorfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBOMSwgdHlwZW5hbWUgTjIKKyAgICA+CitzdHJ1Y3QgYml0YW5kXzwgTjEsTjIsbmEsbmEsbmEgPgorICAgIDogYml0YW5kX2ltcGw8CisgICAgICAgICAgdHlwZW5hbWUgYml0YW5kX3RhZzxOMT46OnR5cGUKKyAgICAgICAgLCB0eXBlbmFtZSBiaXRhbmRfdGFnPE4yPjo6dHlwZQorICAgICAgICA+Ojp0ZW1wbGF0ZSBhcHBseTwgTjEsTjIgPjo6dHlwZQoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlRfU1BFQygKKyAgICAgICAgICA1CisgICAgICAgICwgYml0YW5kXworICAgICAgICAsICggTjEsIE4yLCBuYSwgbmEsIG5hICkKKyAgICAgICAgKQorCit9OworCitCT09TVF9NUExfQVVYX05BX1NQRUMyKDIsIDUsIGJpdGFuZF8pCisKK319CisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgewordGVtcGxhdGU8Pgorc3RydWN0IGJpdGFuZF9pbXBsPCBpbnRlZ3JhbF9jX3RhZyxpbnRlZ3JhbF9jX3RhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIE4xLCB0eXBlbmFtZSBOMiA+IHN0cnVjdCBhcHBseQorCisgICAgICAgIDogaW50ZWdyYWxfYzwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgYXV4OjpsYXJnZXN0X2ludDwKKyAgICAgICAgICAgICAgICAgIHR5cGVuYW1lIE4xOjp2YWx1ZV90eXBlCisgICAgICAgICAgICAgICAgLCB0eXBlbmFtZSBOMjo6dmFsdWVfdHlwZQorICAgICAgICAgICAgICAgID46OnR5cGUKKyAgICAgICAgICAgICwgKCBCT09TVF9NUExfQVVYX1ZBTFVFX1dLTkQoTjEpOjp2YWx1ZQorICAgICAgICAgICAgICAgICAgJiBCT09TVF9NUExfQVVYX1ZBTFVFX1dLTkQoTjIpOjp2YWx1ZQorICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgID4KKyAgICB7CisgICAgfTsKK307CisKK319CmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjL2JpdG9yLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2MvYml0b3IuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUzNmYzNTAKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjL2JpdG9yLmhwcApAQCAtMCwwICsxLDE0NyBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vIENvcHlyaWdodCBKYWFwIFN1dGVyIDIwMDMKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vICpQcmVwcm9jZXNzZWQqIHZlcnNpb24gb2YgdGhlIG1haW4gImJpdG9yLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFRhZzEKKyAgICAsIHR5cGVuYW1lIFRhZzIKKyAgICA+CitzdHJ1Y3QgYml0b3JfaW1wbAorICAgIDogaWZfYzwKKyAgICAgICAgICAoIEJPT1NUX01QTF9BVVhfTkVTVEVEX1ZBTFVFX1dLTkQoaW50LCBUYWcxKQorICAgICAgICAgICAgICA+IEJPT1NUX01QTF9BVVhfTkVTVEVEX1ZBTFVFX1dLTkQoaW50LCBUYWcyKQorICAgICAgICAgICAgKQorCisgICAgICAgICwgYXV4OjpjYXN0Mm5kX2ltcGw8IGJpdG9yX2ltcGw8IFRhZzEsVGFnMSA+LFRhZzEsIFRhZzIgPgorICAgICAgICAsIGF1eDo6Y2FzdDFzdF9pbXBsPCBiaXRvcl9pbXBsPCBUYWcyLFRhZzIgPixUYWcxLCBUYWcyID4KKyAgICAgICAgPjo6dHlwZQoreworfTsKKworLy8vIGZvciBEaWdpdGFsIE1hcnMgQysrL2NvbXBpbGVycyB3aXRoIG5vIENUUFMvVFRQIHN1cHBvcnQKK3RlbXBsYXRlPD4gc3RydWN0IGJpdG9yX2ltcGw8IG5hLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVGFnID4gc3RydWN0IGJpdG9yX2ltcGw8IG5hLFRhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFRhZyA+IHN0cnVjdCBiaXRvcl9pbXBsPCBUYWcsbmEgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUID4gc3RydWN0IGJpdG9yX3RhZworeworICAgIHR5cGVkZWYgdHlwZW5hbWUgVDo6dGFnIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjEpCisgICAgLCB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4yKQorICAgICwgdHlwZW5hbWUgTjMgPSBuYSwgdHlwZW5hbWUgTjQgPSBuYSwgdHlwZW5hbWUgTjUgPSBuYQorICAgID4KK3N0cnVjdCBiaXRvcl8KKyAgICA6IGJpdG9yXzwgYml0b3JfPCBiaXRvcl88IGJpdG9yXzwgTjEsTjIgPiwgTjM+LCBOND4sIE41PgoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoCisgICAgICAgICAgNQorICAgICAgICAsIGJpdG9yXworICAgICAgICAsICggTjEsIE4yLCBOMywgTjQsIE41ICkKKyAgICAgICAgKQorfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBOMSwgdHlwZW5hbWUgTjIsIHR5cGVuYW1lIE4zLCB0eXBlbmFtZSBONAorICAgID4KK3N0cnVjdCBiaXRvcl88IE4xLE4yLE4zLE40LG5hID4KKworICAgIDogYml0b3JfPCBiaXRvcl88IGJpdG9yXzwgTjEsTjIgPiwgTjM+LCBOND4KK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUX1NQRUMoCisgICAgICAgICAgNQorICAgICAgICAsIGJpdG9yXworICAgICAgICAsICggTjEsIE4yLCBOMywgTjQsIG5hICkKKyAgICAgICAgKQorfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBOMSwgdHlwZW5hbWUgTjIsIHR5cGVuYW1lIE4zCisgICAgPgorc3RydWN0IGJpdG9yXzwgTjEsTjIsTjMsbmEsbmEgPgorCisgICAgOiBiaXRvcl88IGJpdG9yXzwgTjEsTjIgPiwgTjM+Cit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVF9TUEVDKAorICAgICAgICAgIDUKKyAgICAgICAgLCBiaXRvcl8KKyAgICAgICAgLCAoIE4xLCBOMiwgTjMsIG5hLCBuYSApCisgICAgICAgICkKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgTjEsIHR5cGVuYW1lIE4yCisgICAgPgorc3RydWN0IGJpdG9yXzwgTjEsTjIsbmEsbmEsbmEgPgorICAgIDogYml0b3JfaW1wbDwKKyAgICAgICAgICB0eXBlbmFtZSBiaXRvcl90YWc8TjE+Ojp0eXBlCisgICAgICAgICwgdHlwZW5hbWUgYml0b3JfdGFnPE4yPjo6dHlwZQorICAgICAgICA+Ojp0ZW1wbGF0ZSBhcHBseTwgTjEsTjIgPjo6dHlwZQoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlRfU1BFQygKKyAgICAgICAgICA1CisgICAgICAgICwgYml0b3JfCisgICAgICAgICwgKCBOMSwgTjIsIG5hLCBuYSwgbmEgKQorICAgICAgICApCisKK307CisKK0JPT1NUX01QTF9BVVhfTkFfU1BFQzIoMiwgNSwgYml0b3JfKQorCit9fQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKK3RlbXBsYXRlPD4KK3N0cnVjdCBiaXRvcl9pbXBsPCBpbnRlZ3JhbF9jX3RhZyxpbnRlZ3JhbF9jX3RhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIE4xLCB0eXBlbmFtZSBOMiA+IHN0cnVjdCBhcHBseQorCisgICAgICAgIDogaW50ZWdyYWxfYzwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgYXV4OjpsYXJnZXN0X2ludDwKKyAgICAgICAgICAgICAgICAgIHR5cGVuYW1lIE4xOjp2YWx1ZV90eXBlCisgICAgICAgICAgICAgICAgLCB0eXBlbmFtZSBOMjo6dmFsdWVfdHlwZQorICAgICAgICAgICAgICAgID46OnR5cGUKKyAgICAgICAgICAgICwgKCBCT09TVF9NUExfQVVYX1ZBTFVFX1dLTkQoTjEpOjp2YWx1ZQorICAgICAgICAgICAgICAgICAgfCBCT09TVF9NUExfQVVYX1ZBTFVFX1dLTkQoTjIpOjp2YWx1ZQorICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgID4KKyAgICB7CisgICAgfTsKK307CisKK319CmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjL2JpdHhvci5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjL2JpdHhvci5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDg2OWZiYQotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2MvYml0eG9yLmhwcApAQCAtMCwwICsxLDE0NyBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vIENvcHlyaWdodCBKYWFwIFN1dGVyIDIwMDMKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vICpQcmVwcm9jZXNzZWQqIHZlcnNpb24gb2YgdGhlIG1haW4gImJpdHhvci5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUYWcxCisgICAgLCB0eXBlbmFtZSBUYWcyCisgICAgPgorc3RydWN0IGJpdHhvcl9pbXBsCisgICAgOiBpZl9jPAorICAgICAgICAgICggQk9PU1RfTVBMX0FVWF9ORVNURURfVkFMVUVfV0tORChpbnQsIFRhZzEpCisgICAgICAgICAgICAgID4gQk9PU1RfTVBMX0FVWF9ORVNURURfVkFMVUVfV0tORChpbnQsIFRhZzIpCisgICAgICAgICAgICApCisKKyAgICAgICAgLCBhdXg6OmNhc3QybmRfaW1wbDwgYml0eG9yX2ltcGw8IFRhZzEsVGFnMSA+LFRhZzEsIFRhZzIgPgorICAgICAgICAsIGF1eDo6Y2FzdDFzdF9pbXBsPCBiaXR4b3JfaW1wbDwgVGFnMixUYWcyID4sVGFnMSwgVGFnMiA+CisgICAgICAgID46OnR5cGUKK3sKK307CisKKy8vLyBmb3IgRGlnaXRhbCBNYXJzIEMrKy9jb21waWxlcnMgd2l0aCBubyBDVFBTL1RUUCBzdXBwb3J0Cit0ZW1wbGF0ZTw+IHN0cnVjdCBiaXR4b3JfaW1wbDwgbmEsbmEgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUYWcgPiBzdHJ1Y3QgYml0eG9yX2ltcGw8IG5hLFRhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFRhZyA+IHN0cnVjdCBiaXR4b3JfaW1wbDwgVGFnLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVCA+IHN0cnVjdCBiaXR4b3JfdGFnCit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBUOjp0YWcgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMSkKKyAgICAsIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjIpCisgICAgLCB0eXBlbmFtZSBOMyA9IG5hLCB0eXBlbmFtZSBONCA9IG5hLCB0eXBlbmFtZSBONSA9IG5hCisgICAgPgorc3RydWN0IGJpdHhvcl8KKyAgICA6IGJpdHhvcl88IGJpdHhvcl88IGJpdHhvcl88IGJpdHhvcl88IE4xLE4yID4sIE4zPiwgTjQ+LCBONT4KK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKAorICAgICAgICAgIDUKKyAgICAgICAgLCBiaXR4b3JfCisgICAgICAgICwgKCBOMSwgTjIsIE4zLCBONCwgTjUgKQorICAgICAgICApCit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIE4xLCB0eXBlbmFtZSBOMiwgdHlwZW5hbWUgTjMsIHR5cGVuYW1lIE40CisgICAgPgorc3RydWN0IGJpdHhvcl88IE4xLE4yLE4zLE40LG5hID4KKworICAgIDogYml0eG9yXzwgYml0eG9yXzwgYml0eG9yXzwgTjEsTjIgPiwgTjM+LCBOND4KK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUX1NQRUMoCisgICAgICAgICAgNQorICAgICAgICAsIGJpdHhvcl8KKyAgICAgICAgLCAoIE4xLCBOMiwgTjMsIE40LCBuYSApCisgICAgICAgICkKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgTjEsIHR5cGVuYW1lIE4yLCB0eXBlbmFtZSBOMworICAgID4KK3N0cnVjdCBiaXR4b3JfPCBOMSxOMixOMyxuYSxuYSA+CisKKyAgICA6IGJpdHhvcl88IGJpdHhvcl88IE4xLE4yID4sIE4zPgoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlRfU1BFQygKKyAgICAgICAgICA1CisgICAgICAgICwgYml0eG9yXworICAgICAgICAsICggTjEsIE4yLCBOMywgbmEsIG5hICkKKyAgICAgICAgKQorfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBOMSwgdHlwZW5hbWUgTjIKKyAgICA+CitzdHJ1Y3QgYml0eG9yXzwgTjEsTjIsbmEsbmEsbmEgPgorICAgIDogYml0eG9yX2ltcGw8CisgICAgICAgICAgdHlwZW5hbWUgYml0eG9yX3RhZzxOMT46OnR5cGUKKyAgICAgICAgLCB0eXBlbmFtZSBiaXR4b3JfdGFnPE4yPjo6dHlwZQorICAgICAgICA+Ojp0ZW1wbGF0ZSBhcHBseTwgTjEsTjIgPjo6dHlwZQoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlRfU1BFQygKKyAgICAgICAgICA1CisgICAgICAgICwgYml0eG9yXworICAgICAgICAsICggTjEsIE4yLCBuYSwgbmEsIG5hICkKKyAgICAgICAgKQorCit9OworCitCT09TVF9NUExfQVVYX05BX1NQRUMyKDIsIDUsIGJpdHhvcl8pCisKK319CisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgewordGVtcGxhdGU8Pgorc3RydWN0IGJpdHhvcl9pbXBsPCBpbnRlZ3JhbF9jX3RhZyxpbnRlZ3JhbF9jX3RhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIE4xLCB0eXBlbmFtZSBOMiA+IHN0cnVjdCBhcHBseQorCisgICAgICAgIDogaW50ZWdyYWxfYzwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgYXV4OjpsYXJnZXN0X2ludDwKKyAgICAgICAgICAgICAgICAgIHR5cGVuYW1lIE4xOjp2YWx1ZV90eXBlCisgICAgICAgICAgICAgICAgLCB0eXBlbmFtZSBOMjo6dmFsdWVfdHlwZQorICAgICAgICAgICAgICAgID46OnR5cGUKKyAgICAgICAgICAgICwgKCBCT09TVF9NUExfQVVYX1ZBTFVFX1dLTkQoTjEpOjp2YWx1ZQorICAgICAgICAgICAgICAgICAgXiBCT09TVF9NUExfQVVYX1ZBTFVFX1dLTkQoTjIpOjp2YWx1ZQorICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgID4KKyAgICB7CisgICAgfTsKK307CisKK319CmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjL2RlcXVlLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2MvZGVxdWUuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEzNWQ4YTEKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjL2RlcXVlLmhwcApAQCAtMCwwICsxLDMyMyBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vICpQcmVwcm9jZXNzZWQqIHZlcnNpb24gb2YgdGhlIG1haW4gImRlcXVlLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwID0gbmEsIHR5cGVuYW1lIFQxID0gbmEsIHR5cGVuYW1lIFQyID0gbmEsIHR5cGVuYW1lIFQzID0gbmEKKyAgICAsIHR5cGVuYW1lIFQ0ID0gbmEsIHR5cGVuYW1lIFQ1ID0gbmEsIHR5cGVuYW1lIFQ2ID0gbmEsIHR5cGVuYW1lIFQ3ID0gbmEKKyAgICAsIHR5cGVuYW1lIFQ4ID0gbmEsIHR5cGVuYW1lIFQ5ID0gbmEsIHR5cGVuYW1lIFQxMCA9IG5hLCB0eXBlbmFtZSBUMTEgPSBuYQorICAgICwgdHlwZW5hbWUgVDEyID0gbmEsIHR5cGVuYW1lIFQxMyA9IG5hLCB0eXBlbmFtZSBUMTQgPSBuYQorICAgICwgdHlwZW5hbWUgVDE1ID0gbmEsIHR5cGVuYW1lIFQxNiA9IG5hLCB0eXBlbmFtZSBUMTcgPSBuYQorICAgICwgdHlwZW5hbWUgVDE4ID0gbmEsIHR5cGVuYW1lIFQxOSA9IG5hCisgICAgPgorc3RydWN0IGRlcXVlOworCit0ZW1wbGF0ZTwKKyAgICAgCisgICAgPgorc3RydWN0IGRlcXVlPAorICAgICAgICAgIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogdmVjdG9yMDwgID4KK3sKKyAgICB0eXBlZGVmIHZlY3RvcjA8ICA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwCisgICAgPgorc3RydWN0IGRlcXVlPAorICAgICAgICAgIFQwLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogdmVjdG9yMTxUMD4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjE8VDA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMQorICAgID4KK3N0cnVjdCBkZXF1ZTwKKyAgICAgICAgICBUMCwgVDEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHZlY3RvcjI8IFQwLFQxID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjI8IFQwLFQxID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMgorICAgID4KK3N0cnVjdCBkZXF1ZTwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHZlY3RvcjM8IFQwLFQxLFQyID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjM8IFQwLFQxLFQyID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMKKyAgICA+CitzdHJ1Y3QgZGVxdWU8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3I0PCBUMCxUMSxUMixUMyA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3I0PCBUMCxUMSxUMixUMyA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgID4KK3N0cnVjdCBkZXF1ZTwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHZlY3RvcjU8IFQwLFQxLFQyLFQzLFQ0ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjU8IFQwLFQxLFQyLFQzLFQ0ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNQorICAgID4KK3N0cnVjdCBkZXF1ZTwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHZlY3RvcjY8IFQwLFQxLFQyLFQzLFQ0LFQ1ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjY8IFQwLFQxLFQyLFQzLFQ0LFQ1ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYKKyAgICA+CitzdHJ1Y3QgZGVxdWU8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3I3PCBUMCxUMSxUMixUMyxUNCxUNSxUNiA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3I3PCBUMCxUMSxUMixUMyxUNCxUNSxUNiA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNworICAgID4KK3N0cnVjdCBkZXF1ZTwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHZlY3Rvcjg8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3Rvcjg8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOAorICAgID4KK3N0cnVjdCBkZXF1ZTwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHZlY3Rvcjk8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3Rvcjk8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICA+CitzdHJ1Y3QgZGVxdWU8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3IxMDwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDkgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTA8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMAorICAgID4KK3N0cnVjdCBkZXF1ZTwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3IxMTwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjExPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEKKyAgICA+CitzdHJ1Y3QgZGVxdWU8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHZlY3RvcjEyPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjEyPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIKKyAgICA+CitzdHJ1Y3QgZGVxdWU8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3IxMzwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTM8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMworICAgID4KK3N0cnVjdCBkZXF1ZTwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3IxNDwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjE0PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICA+CitzdHJ1Y3QgZGVxdWU8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0LCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHZlY3RvcjE1PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxNTwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzLFQxNCA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICwgdHlwZW5hbWUgVDE1CisgICAgPgorc3RydWN0IGRlcXVlPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogdmVjdG9yMTY8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjE2PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMsVDE0LFQxNSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYKKyAgICA+CitzdHJ1Y3QgZGVxdWU8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1LCBUMTYsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogdmVjdG9yMTc8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1LCBUMTYKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTc8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyxUMTQsVDE1LFQxNiA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNworICAgID4KK3N0cnVjdCBkZXF1ZTwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgLCBUMTUsIFQxNiwgVDE3LCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogdmVjdG9yMTg8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1LCBUMTYsIFQxNworICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxODwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzLFQxNCxUMTUsVDE2LFQxNyA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4CisgICAgPgorc3RydWN0IGRlcXVlPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgVDE2LCBUMTcsIFQxOCwgbmEKKyAgICAgICAgPgorICAgIDogdmVjdG9yMTk8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1LCBUMTYsIFQxNywgVDE4CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjE5PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMsVDE0LFQxNSxUMTYsVDE3LFQxOCA+Ojp0eXBlIHR5cGU7Cit9OworCisvLy8gcHJpbWFyeSB0ZW1wbGF0ZSAobm90IGEgc3BlY2lhbGl6YXRpb24hKQorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICA+CitzdHJ1Y3QgZGVxdWUKKyAgICA6IHZlY3RvcjIwPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgVDE2LCBUMTcsIFQxOCwgVDE5CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjIwPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMsVDE0LFQxNSxUMTYsVDE3LFQxOCxUMTkgPjo6dHlwZSB0eXBlOworfTsKKworfX0KKwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjYy9kaXZpZGVzLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2MvZGl2aWRlcy5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTkyMmFmZgotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2MvZGl2aWRlcy5ocHAKQEAgLTAsMCArMSwxNDYgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyAqUHJlcHJvY2Vzc2VkKiB2ZXJzaW9uIG9mIHRoZSBtYWluICJkaXZpZGVzLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFRhZzEKKyAgICAsIHR5cGVuYW1lIFRhZzIKKyAgICA+CitzdHJ1Y3QgZGl2aWRlc19pbXBsCisgICAgOiBpZl9jPAorICAgICAgICAgICggQk9PU1RfTVBMX0FVWF9ORVNURURfVkFMVUVfV0tORChpbnQsIFRhZzEpCisgICAgICAgICAgICAgID4gQk9PU1RfTVBMX0FVWF9ORVNURURfVkFMVUVfV0tORChpbnQsIFRhZzIpCisgICAgICAgICAgICApCisKKyAgICAgICAgLCBhdXg6OmNhc3QybmRfaW1wbDwgZGl2aWRlc19pbXBsPCBUYWcxLFRhZzEgPixUYWcxLCBUYWcyID4KKyAgICAgICAgLCBhdXg6OmNhc3Qxc3RfaW1wbDwgZGl2aWRlc19pbXBsPCBUYWcyLFRhZzIgPixUYWcxLCBUYWcyID4KKyAgICAgICAgPjo6dHlwZQoreworfTsKKworLy8vIGZvciBEaWdpdGFsIE1hcnMgQysrL2NvbXBpbGVycyB3aXRoIG5vIENUUFMvVFRQIHN1cHBvcnQKK3RlbXBsYXRlPD4gc3RydWN0IGRpdmlkZXNfaW1wbDwgbmEsbmEgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUYWcgPiBzdHJ1Y3QgZGl2aWRlc19pbXBsPCBuYSxUYWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUYWcgPiBzdHJ1Y3QgZGl2aWRlc19pbXBsPCBUYWcsbmEgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUID4gc3RydWN0IGRpdmlkZXNfdGFnCit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBUOjp0YWcgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMSkKKyAgICAsIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjIpCisgICAgLCB0eXBlbmFtZSBOMyA9IG5hLCB0eXBlbmFtZSBONCA9IG5hLCB0eXBlbmFtZSBONSA9IG5hCisgICAgPgorc3RydWN0IGRpdmlkZXMKKyAgICA6IGRpdmlkZXM8IGRpdmlkZXM8IGRpdmlkZXM8IGRpdmlkZXM8IE4xLE4yID4sIE4zPiwgTjQ+LCBONT4KK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKAorICAgICAgICAgIDUKKyAgICAgICAgLCBkaXZpZGVzCisgICAgICAgICwgKCBOMSwgTjIsIE4zLCBONCwgTjUgKQorICAgICAgICApCit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIE4xLCB0eXBlbmFtZSBOMiwgdHlwZW5hbWUgTjMsIHR5cGVuYW1lIE40CisgICAgPgorc3RydWN0IGRpdmlkZXM8IE4xLE4yLE4zLE40LG5hID4KKworICAgIDogZGl2aWRlczwgZGl2aWRlczwgZGl2aWRlczwgTjEsTjIgPiwgTjM+LCBOND4KK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUX1NQRUMoCisgICAgICAgICAgNQorICAgICAgICAsIGRpdmlkZXMKKyAgICAgICAgLCAoIE4xLCBOMiwgTjMsIE40LCBuYSApCisgICAgICAgICkKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgTjEsIHR5cGVuYW1lIE4yLCB0eXBlbmFtZSBOMworICAgID4KK3N0cnVjdCBkaXZpZGVzPCBOMSxOMixOMyxuYSxuYSA+CisKKyAgICA6IGRpdmlkZXM8IGRpdmlkZXM8IE4xLE4yID4sIE4zPgoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlRfU1BFQygKKyAgICAgICAgICA1CisgICAgICAgICwgZGl2aWRlcworICAgICAgICAsICggTjEsIE4yLCBOMywgbmEsIG5hICkKKyAgICAgICAgKQorfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBOMSwgdHlwZW5hbWUgTjIKKyAgICA+CitzdHJ1Y3QgZGl2aWRlczwgTjEsTjIsbmEsbmEsbmEgPgorICAgIDogZGl2aWRlc19pbXBsPAorICAgICAgICAgIHR5cGVuYW1lIGRpdmlkZXNfdGFnPE4xPjo6dHlwZQorICAgICAgICAsIHR5cGVuYW1lIGRpdmlkZXNfdGFnPE4yPjo6dHlwZQorICAgICAgICA+Ojp0ZW1wbGF0ZSBhcHBseTwgTjEsTjIgPjo6dHlwZQoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlRfU1BFQygKKyAgICAgICAgICA1CisgICAgICAgICwgZGl2aWRlcworICAgICAgICAsICggTjEsIE4yLCBuYSwgbmEsIG5hICkKKyAgICAgICAgKQorCit9OworCitCT09TVF9NUExfQVVYX05BX1NQRUMyKDIsIDUsIGRpdmlkZXMpCisKK319CisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgewordGVtcGxhdGU8Pgorc3RydWN0IGRpdmlkZXNfaW1wbDwgaW50ZWdyYWxfY190YWcsaW50ZWdyYWxfY190YWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBOMSwgdHlwZW5hbWUgTjIgPiBzdHJ1Y3QgYXBwbHkKKworICAgICAgICA6IGludGVncmFsX2M8CisgICAgICAgICAgICAgIHR5cGVuYW1lIGF1eDo6bGFyZ2VzdF9pbnQ8CisgICAgICAgICAgICAgICAgICB0eXBlbmFtZSBOMTo6dmFsdWVfdHlwZQorICAgICAgICAgICAgICAgICwgdHlwZW5hbWUgTjI6OnZhbHVlX3R5cGUKKyAgICAgICAgICAgICAgICA+Ojp0eXBlCisgICAgICAgICAgICAsICggQk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4xKTo6dmFsdWUKKyAgICAgICAgICAgICAgICAgIC8gQk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4yKTo6dmFsdWUKKyAgICAgICAgICAgICAgICApCisgICAgICAgICAgICA+CisgICAgeworICAgIH07Cit9OworCit9fQpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjYy9lcXVhbF90by5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjL2VxdWFsX3RvLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNDdjNTFlCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjYy9lcXVhbF90by5ocHAKQEAgLTAsMCArMSw5NCBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vICpQcmVwcm9jZXNzZWQqIHZlcnNpb24gb2YgdGhlIG1haW4gImVxdWFsX3RvLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFRhZzEKKyAgICAsIHR5cGVuYW1lIFRhZzIKKyAgICA+CitzdHJ1Y3QgZXF1YWxfdG9faW1wbAorICAgIDogaWZfYzwKKyAgICAgICAgICAoIEJPT1NUX01QTF9BVVhfTkVTVEVEX1ZBTFVFX1dLTkQoaW50LCBUYWcxKQorICAgICAgICAgICAgICA+IEJPT1NUX01QTF9BVVhfTkVTVEVEX1ZBTFVFX1dLTkQoaW50LCBUYWcyKQorICAgICAgICAgICAgKQorCisgICAgICAgICwgYXV4OjpjYXN0Mm5kX2ltcGw8IGVxdWFsX3RvX2ltcGw8IFRhZzEsVGFnMSA+LFRhZzEsIFRhZzIgPgorICAgICAgICAsIGF1eDo6Y2FzdDFzdF9pbXBsPCBlcXVhbF90b19pbXBsPCBUYWcyLFRhZzIgPixUYWcxLCBUYWcyID4KKyAgICAgICAgPjo6dHlwZQoreworfTsKKworLy8vIGZvciBEaWdpdGFsIE1hcnMgQysrL2NvbXBpbGVycyB3aXRoIG5vIENUUFMvVFRQIHN1cHBvcnQKK3RlbXBsYXRlPD4gc3RydWN0IGVxdWFsX3RvX2ltcGw8IG5hLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVGFnID4gc3RydWN0IGVxdWFsX3RvX2ltcGw8IG5hLFRhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFRhZyA+IHN0cnVjdCBlcXVhbF90b19pbXBsPCBUYWcsbmEgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUID4gc3RydWN0IGVxdWFsX3RvX3RhZworeworICAgIHR5cGVkZWYgdHlwZW5hbWUgVDo6dGFnIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjEpCisgICAgLCB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4yKQorICAgID4KK3N0cnVjdCBlcXVhbF90bworCisgICAgOiBlcXVhbF90b19pbXBsPAorICAgICAgICAgIHR5cGVuYW1lIGVxdWFsX3RvX3RhZzxOMT46OnR5cGUKKyAgICAgICAgLCB0eXBlbmFtZSBlcXVhbF90b190YWc8TjI+Ojp0eXBlCisgICAgICAgID46OnRlbXBsYXRlIGFwcGx5PCBOMSxOMiA+Ojp0eXBlCit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgyLCBlcXVhbF90bywgKE4xLCBOMikpCisKK307CisKK0JPT1NUX01QTF9BVVhfTkFfU1BFQzIoMiwgMiwgZXF1YWxfdG8pCisKK319CisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgZXF1YWxfdG9faW1wbDwgaW50ZWdyYWxfY190YWcsaW50ZWdyYWxfY190YWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBOMSwgdHlwZW5hbWUgTjIgPiBzdHJ1Y3QgYXBwbHkKKworICAgICAgICA6IGJvb2xfPCAoIEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChOMSk6OnZhbHVlICA9PSBCT09TVF9NUExfQVVYX1ZBTFVFX1dLTkQoTjIpOjp2YWx1ZSApID4KKyAgICB7CisgICAgfTsKK307CisKK319CmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjL2ZvbGRfaW1wbC5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjL2ZvbGRfaW1wbC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmJiNGJlZQotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2MvZm9sZF9pbXBsLmhwcApAQCAtMCwwICsxLDE4MCBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vICpQcmVwcm9jZXNzZWQqIHZlcnNpb24gb2YgdGhlIG1haW4gImZvbGRfaW1wbC5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsgbmFtZXNwYWNlIGF1eCB7CisKKy8vLyBmb3J3YXJkIGRlY2xhcmF0aW9uCisKK3RlbXBsYXRlPAorICAgICAgaW50IE4KKyAgICAsIHR5cGVuYW1lIEZpcnN0CisgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgPgorc3RydWN0IGZvbGRfaW1wbDsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGaXJzdAorICAgICwgdHlwZW5hbWUgTGFzdAorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgID4KK3N0cnVjdCBmb2xkX2ltcGw8IDAsRmlyc3QsTGFzdCxTdGF0ZSxGb3J3YXJkT3AgPgoreworICAgIHR5cGVkZWYgRmlyc3QgaXRlcjA7CisgICAgdHlwZWRlZiBTdGF0ZSBzdGF0ZTA7CisgICAgdHlwZWRlZiBzdGF0ZTAgc3RhdGU7CisgICAgdHlwZWRlZiBpdGVyMCBpdGVyYXRvcjsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+CitzdHJ1Y3QgZm9sZF9pbXBsPCAxLEZpcnN0LExhc3QsU3RhdGUsRm9yd2FyZE9wID4KK3sKKyAgICB0eXBlZGVmIEZpcnN0IGl0ZXIwOworICAgIHR5cGVkZWYgU3RhdGUgc3RhdGUwOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsIHN0YXRlMCwgdHlwZW5hbWUgZGVyZWY8aXRlcjA+Ojp0eXBlID46OnR5cGUgc3RhdGUxOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIwPjo6dHlwZSBpdGVyMTsKKyAgICAKKworICAgIHR5cGVkZWYgc3RhdGUxIHN0YXRlOworICAgIHR5cGVkZWYgaXRlcjEgaXRlcmF0b3I7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgPgorc3RydWN0IGZvbGRfaW1wbDwgMixGaXJzdCxMYXN0LFN0YXRlLEZvcndhcmRPcCA+Cit7CisgICAgdHlwZWRlZiBGaXJzdCBpdGVyMDsKKyAgICB0eXBlZGVmIFN0YXRlIHN0YXRlMDsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLCBzdGF0ZTAsIHR5cGVuYW1lIGRlcmVmPGl0ZXIwPjo6dHlwZSA+Ojp0eXBlIHN0YXRlMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMD46OnR5cGUgaXRlcjE7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCwgc3RhdGUxLCB0eXBlbmFtZSBkZXJlZjxpdGVyMT46OnR5cGUgPjo6dHlwZSBzdGF0ZTI7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjE+Ojp0eXBlIGl0ZXIyOworICAgIAorCisgICAgdHlwZWRlZiBzdGF0ZTIgc3RhdGU7CisgICAgdHlwZWRlZiBpdGVyMiBpdGVyYXRvcjsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+CitzdHJ1Y3QgZm9sZF9pbXBsPCAzLEZpcnN0LExhc3QsU3RhdGUsRm9yd2FyZE9wID4KK3sKKyAgICB0eXBlZGVmIEZpcnN0IGl0ZXIwOworICAgIHR5cGVkZWYgU3RhdGUgc3RhdGUwOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsIHN0YXRlMCwgdHlwZW5hbWUgZGVyZWY8aXRlcjA+Ojp0eXBlID46OnR5cGUgc3RhdGUxOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIwPjo6dHlwZSBpdGVyMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLCBzdGF0ZTEsIHR5cGVuYW1lIGRlcmVmPGl0ZXIxPjo6dHlwZSA+Ojp0eXBlIHN0YXRlMjsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMT46OnR5cGUgaXRlcjI7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCwgc3RhdGUyLCB0eXBlbmFtZSBkZXJlZjxpdGVyMj46OnR5cGUgPjo6dHlwZSBzdGF0ZTM7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjI+Ojp0eXBlIGl0ZXIzOworICAgIAorCisgICAgdHlwZWRlZiBzdGF0ZTMgc3RhdGU7CisgICAgdHlwZWRlZiBpdGVyMyBpdGVyYXRvcjsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+CitzdHJ1Y3QgZm9sZF9pbXBsPCA0LEZpcnN0LExhc3QsU3RhdGUsRm9yd2FyZE9wID4KK3sKKyAgICB0eXBlZGVmIEZpcnN0IGl0ZXIwOworICAgIHR5cGVkZWYgU3RhdGUgc3RhdGUwOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsIHN0YXRlMCwgdHlwZW5hbWUgZGVyZWY8aXRlcjA+Ojp0eXBlID46OnR5cGUgc3RhdGUxOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIwPjo6dHlwZSBpdGVyMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLCBzdGF0ZTEsIHR5cGVuYW1lIGRlcmVmPGl0ZXIxPjo6dHlwZSA+Ojp0eXBlIHN0YXRlMjsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMT46OnR5cGUgaXRlcjI7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCwgc3RhdGUyLCB0eXBlbmFtZSBkZXJlZjxpdGVyMj46OnR5cGUgPjo6dHlwZSBzdGF0ZTM7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjI+Ojp0eXBlIGl0ZXIzOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsIHN0YXRlMywgdHlwZW5hbWUgZGVyZWY8aXRlcjM+Ojp0eXBlID46OnR5cGUgc3RhdGU0OworICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIzPjo6dHlwZSBpdGVyNDsKKyAgICAKKworICAgIHR5cGVkZWYgc3RhdGU0IHN0YXRlOworICAgIHR5cGVkZWYgaXRlcjQgaXRlcmF0b3I7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIGludCBOCisgICAgLCB0eXBlbmFtZSBGaXJzdAorICAgICwgdHlwZW5hbWUgTGFzdAorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgID4KK3N0cnVjdCBmb2xkX2ltcGwKK3sKKyAgICB0eXBlZGVmIGZvbGRfaW1wbDwKKyAgICAgICAgICA0CisgICAgICAgICwgRmlyc3QKKyAgICAgICAgLCBMYXN0CisgICAgICAgICwgU3RhdGUKKyAgICAgICAgLCBGb3J3YXJkT3AKKyAgICAgICAgPiBjaHVua187CisKKyAgICB0eXBlZGVmIGZvbGRfaW1wbDwKKyAgICAgICAgICAoIChOIC0gNCkgPCAwID8gMCA6IE4gLSA0ICkKKyAgICAgICAgLCB0eXBlbmFtZSBjaHVua186Oml0ZXJhdG9yCisgICAgICAgICwgTGFzdAorICAgICAgICAsIHR5cGVuYW1lIGNodW5rXzo6c3RhdGUKKyAgICAgICAgLCBGb3J3YXJkT3AKKyAgICAgICAgPiByZXNfOworCisgICAgdHlwZWRlZiB0eXBlbmFtZSByZXNfOjpzdGF0ZSBzdGF0ZTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHJlc186Oml0ZXJhdG9yIGl0ZXJhdG9yOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGaXJzdAorICAgICwgdHlwZW5hbWUgTGFzdAorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgID4KK3N0cnVjdCBmb2xkX2ltcGw8IC0xLEZpcnN0LExhc3QsU3RhdGUsRm9yd2FyZE9wID4KKyAgICA6IGZvbGRfaW1wbDwKKyAgICAgICAgICAtMQorICAgICAgICAsIHR5cGVuYW1lIG1wbDo6bmV4dDxGaXJzdD46OnR5cGUKKyAgICAgICAgLCBMYXN0CisgICAgICAgICwgdHlwZW5hbWUgYXBwbHkyPEZvcndhcmRPcCxTdGF0ZSwgdHlwZW5hbWUgZGVyZWY8Rmlyc3Q+Ojp0eXBlPjo6dHlwZQorICAgICAgICAsIEZvcndhcmRPcAorICAgICAgICA+Cit7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+CitzdHJ1Y3QgZm9sZF9pbXBsPCAtMSxMYXN0LExhc3QsU3RhdGUsRm9yd2FyZE9wID4KK3sKKyAgICB0eXBlZGVmIFN0YXRlIHN0YXRlOworICAgIHR5cGVkZWYgTGFzdCBpdGVyYXRvcjsKK307CisKK319fQpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjYy9mdWxsX2xhbWJkYS5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjL2Z1bGxfbGFtYmRhLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45YTdlZGY1Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjYy9mdWxsX2xhbWJkYS5ocHAKQEAgLTAsMCArMSw1NTggQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMS0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyAqUHJlcHJvY2Vzc2VkKiB2ZXJzaW9uIG9mIHRoZSBtYWluICJmdWxsX2xhbWJkYS5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPAorICAgICAgYm9vbCBDMSA9IGZhbHNlLCBib29sIEMyID0gZmFsc2UsIGJvb2wgQzMgPSBmYWxzZSwgYm9vbCBDNCA9IGZhbHNlCisgICAgLCBib29sIEM1ID0gZmFsc2UKKyAgICA+CitzdHJ1Y3QgbGFtYmRhX29yCisgICAgOiB0cnVlXworeworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGxhbWJkYV9vcjwgZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UgPgorICAgIDogZmFsc2VfCit7Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUCisgICAgLCB0eXBlbmFtZSBUYWcKKyAgICAsIHR5cGVuYW1lIEFyaXR5CisgICAgPgorc3RydWN0IGxhbWJkYQoreworICAgIHR5cGVkZWYgZmFsc2VfIGlzX2xlOworICAgIHR5cGVkZWYgVCByZXN1bHRfOworICAgIHR5cGVkZWYgVCB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUCisgICAgPgorc3RydWN0IGlzX2xhbWJkYV9leHByZXNzaW9uCisgICAgOiBsYW1iZGE8VD46OmlzX2xlCit7Cit9OworCit0ZW1wbGF0ZTwgaW50IE4sIHR5cGVuYW1lIFRhZyA+CitzdHJ1Y3QgbGFtYmRhPCBhcmc8Tj4sVGFnLCBpbnRfPCAtMSA+ID4KK3sKKyAgICB0eXBlZGVmIHRydWVfIGlzX2xlOworICAgIHR5cGVkZWYgbXBsOjphcmc8Tj4gcmVzdWx0XzsgLy8gcXVhbGlmaWVkIGZvciB0aGUgc2FrZSBvZiBNSVBTcHJvIDcuNDEKKyAgICB0eXBlZGVmIG1wbDo6cHJvdGVjdDxyZXN1bHRfPiB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGCisgICAgLCB0eXBlbmFtZSBUYWcKKyAgICA+CitzdHJ1Y3QgbGFtYmRhPAorICAgICAgICAgIGJpbmQwPEY+CisgICAgICAgICwgVGFnCisgICAgICAgICwgaW50XzwxPgorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiBmYWxzZV8gaXNfbGU7CisgICAgdHlwZWRlZiBiaW5kMDwKKyAgICAgICAgICBGCisgICAgICAgID4gcmVzdWx0XzsKKworICAgIHR5cGVkZWYgcmVzdWx0XyB0eXBlOworfTsKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgSXNMRSwgdHlwZW5hbWUgVGFnCisgICAgLCB0ZW1wbGF0ZTwgdHlwZW5hbWUgUDEgPiBjbGFzcyBGCisgICAgLCB0eXBlbmFtZSBMMQorICAgID4KK3N0cnVjdCBsZV9yZXN1bHQxCit7CisgICAgdHlwZWRlZiBGPAorICAgICAgICAgIHR5cGVuYW1lIEwxOjp0eXBlCisgICAgICAgID4gcmVzdWx0XzsKKworICAgIHR5cGVkZWYgcmVzdWx0XyB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUYWcKKyAgICAsIHRlbXBsYXRlPCB0eXBlbmFtZSBQMSA+IGNsYXNzIEYKKyAgICAsIHR5cGVuYW1lIEwxCisgICAgPgorc3RydWN0IGxlX3Jlc3VsdDE8IHRydWVfLFRhZyxGLEwxID4KK3sKKyAgICB0eXBlZGVmIGJpbmQxPAorICAgICAgICAgIHF1b3RlMTwgRixUYWcgPgorICAgICAgICAsIHR5cGVuYW1lIEwxOjpyZXN1bHRfCisgICAgICAgID4gcmVzdWx0XzsKKworICAgIHR5cGVkZWYgbXBsOjpwcm90ZWN0PHJlc3VsdF8+IHR5cGU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKwordGVtcGxhdGU8CisgICAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgUDEgPiBjbGFzcyBGCisgICAgLCB0eXBlbmFtZSBUMQorICAgICwgdHlwZW5hbWUgVGFnCisgICAgPgorc3RydWN0IGxhbWJkYTwKKyAgICAgICAgICBGPFQxPgorICAgICAgICAsIFRhZworICAgICAgICAsIGludF88MT4KKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgbGFtYmRhPCBUMSxUYWcgPiBsMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGwxOjppc19sZSBpc19sZTE7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhdXg6OmxhbWJkYV9vcjwKKyAgICAgICAgICBpc19sZTE6OnZhbHVlCisgICAgICAgID46OnR5cGUgaXNfbGU7CisKKyAgICB0eXBlZGVmIGF1eDo6bGVfcmVzdWx0MTwKKyAgICAgICAgICBpc19sZSwgVGFnLCBGLCBsMQorICAgICAgICA+IGxlX3Jlc3VsdF87CisKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxlX3Jlc3VsdF86OnJlc3VsdF8gcmVzdWx0XzsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxlX3Jlc3VsdF86OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEKKyAgICAsIHR5cGVuYW1lIFRhZworICAgID4KK3N0cnVjdCBsYW1iZGE8CisgICAgICAgICAgYmluZDE8IEYsVDEgPgorICAgICAgICAsIFRhZworICAgICAgICAsIGludF88Mj4KKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgZmFsc2VfIGlzX2xlOworICAgIHR5cGVkZWYgYmluZDE8CisgICAgICAgICAgRgorICAgICAgICAsIFQxCisgICAgICAgID4gcmVzdWx0XzsKKworICAgIHR5cGVkZWYgcmVzdWx0XyB0eXBlOworfTsKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgSXNMRSwgdHlwZW5hbWUgVGFnCisgICAgLCB0ZW1wbGF0ZTwgdHlwZW5hbWUgUDEsIHR5cGVuYW1lIFAyID4gY2xhc3MgRgorICAgICwgdHlwZW5hbWUgTDEsIHR5cGVuYW1lIEwyCisgICAgPgorc3RydWN0IGxlX3Jlc3VsdDIKK3sKKyAgICB0eXBlZGVmIEY8CisgICAgICAgICAgdHlwZW5hbWUgTDE6OnR5cGUsIHR5cGVuYW1lIEwyOjp0eXBlCisgICAgICAgID4gcmVzdWx0XzsKKworICAgIHR5cGVkZWYgcmVzdWx0XyB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUYWcKKyAgICAsIHRlbXBsYXRlPCB0eXBlbmFtZSBQMSwgdHlwZW5hbWUgUDIgPiBjbGFzcyBGCisgICAgLCB0eXBlbmFtZSBMMSwgdHlwZW5hbWUgTDIKKyAgICA+CitzdHJ1Y3QgbGVfcmVzdWx0MjwgdHJ1ZV8sVGFnLEYsTDEsTDIgPgoreworICAgIHR5cGVkZWYgYmluZDI8CisgICAgICAgICAgcXVvdGUyPCBGLFRhZyA+CisgICAgICAgICwgdHlwZW5hbWUgTDE6OnJlc3VsdF8sIHR5cGVuYW1lIEwyOjpyZXN1bHRfCisgICAgICAgID4gcmVzdWx0XzsKKworICAgIHR5cGVkZWYgbXBsOjpwcm90ZWN0PHJlc3VsdF8+IHR5cGU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKwordGVtcGxhdGU8CisgICAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgUDEsIHR5cGVuYW1lIFAyID4gY2xhc3MgRgorICAgICwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyCisgICAgLCB0eXBlbmFtZSBUYWcKKyAgICA+CitzdHJ1Y3QgbGFtYmRhPAorICAgICAgICAgIEY8IFQxLFQyID4KKyAgICAgICAgLCBUYWcKKyAgICAgICAgLCBpbnRfPDI+CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIGxhbWJkYTwgVDEsVGFnID4gbDE7CisgICAgdHlwZWRlZiBsYW1iZGE8IFQyLFRhZyA+IGwyOworICAgIAorICAgIHR5cGVkZWYgdHlwZW5hbWUgbDE6OmlzX2xlIGlzX2xlMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGwyOjppc19sZSBpc19sZTI7CisgICAgCisKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGF1eDo6bGFtYmRhX29yPAorICAgICAgICAgIGlzX2xlMTo6dmFsdWUsIGlzX2xlMjo6dmFsdWUKKyAgICAgICAgPjo6dHlwZSBpc19sZTsKKworICAgIHR5cGVkZWYgYXV4OjpsZV9yZXN1bHQyPAorICAgICAgICAgIGlzX2xlLCBUYWcsIEYsIGwxLCBsMgorICAgICAgICA+IGxlX3Jlc3VsdF87CisKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxlX3Jlc3VsdF86OnJlc3VsdF8gcmVzdWx0XzsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxlX3Jlc3VsdF86OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyCisgICAgLCB0eXBlbmFtZSBUYWcKKyAgICA+CitzdHJ1Y3QgbGFtYmRhPAorICAgICAgICAgIGJpbmQyPCBGLFQxLFQyID4KKyAgICAgICAgLCBUYWcKKyAgICAgICAgLCBpbnRfPDM+CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIGZhbHNlXyBpc19sZTsKKyAgICB0eXBlZGVmIGJpbmQyPAorICAgICAgICAgIEYKKyAgICAgICAgLCBUMSwgVDIKKyAgICAgICAgPiByZXN1bHRfOworCisgICAgdHlwZWRlZiByZXN1bHRfIHR5cGU7Cit9OworCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBJc0xFLCB0eXBlbmFtZSBUYWcKKyAgICAsIHRlbXBsYXRlPCB0eXBlbmFtZSBQMSwgdHlwZW5hbWUgUDIsIHR5cGVuYW1lIFAzID4gY2xhc3MgRgorICAgICwgdHlwZW5hbWUgTDEsIHR5cGVuYW1lIEwyLCB0eXBlbmFtZSBMMworICAgID4KK3N0cnVjdCBsZV9yZXN1bHQzCit7CisgICAgdHlwZWRlZiBGPAorICAgICAgICAgIHR5cGVuYW1lIEwxOjp0eXBlLCB0eXBlbmFtZSBMMjo6dHlwZSwgdHlwZW5hbWUgTDM6OnR5cGUKKyAgICAgICAgPiByZXN1bHRfOworCisgICAgdHlwZWRlZiByZXN1bHRfIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFRhZworICAgICwgdGVtcGxhdGU8IHR5cGVuYW1lIFAxLCB0eXBlbmFtZSBQMiwgdHlwZW5hbWUgUDMgPiBjbGFzcyBGCisgICAgLCB0eXBlbmFtZSBMMSwgdHlwZW5hbWUgTDIsIHR5cGVuYW1lIEwzCisgICAgPgorc3RydWN0IGxlX3Jlc3VsdDM8IHRydWVfLFRhZyxGLEwxLEwyLEwzID4KK3sKKyAgICB0eXBlZGVmIGJpbmQzPAorICAgICAgICAgIHF1b3RlMzwgRixUYWcgPgorICAgICAgICAsIHR5cGVuYW1lIEwxOjpyZXN1bHRfLCB0eXBlbmFtZSBMMjo6cmVzdWx0XywgdHlwZW5hbWUgTDM6OnJlc3VsdF8KKyAgICAgICAgPiByZXN1bHRfOworCisgICAgdHlwZWRlZiBtcGw6OnByb3RlY3Q8cmVzdWx0Xz4gdHlwZTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCit0ZW1wbGF0ZTwKKyAgICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBQMSwgdHlwZW5hbWUgUDIsIHR5cGVuYW1lIFAzID4gY2xhc3MgRgorICAgICwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMworICAgICwgdHlwZW5hbWUgVGFnCisgICAgPgorc3RydWN0IGxhbWJkYTwKKyAgICAgICAgICBGPCBUMSxUMixUMyA+CisgICAgICAgICwgVGFnCisgICAgICAgICwgaW50XzwzPgorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiBsYW1iZGE8IFQxLFRhZyA+IGwxOworICAgIHR5cGVkZWYgbGFtYmRhPCBUMixUYWcgPiBsMjsKKyAgICB0eXBlZGVmIGxhbWJkYTwgVDMsVGFnID4gbDM7CisgICAgCisgICAgdHlwZWRlZiB0eXBlbmFtZSBsMTo6aXNfbGUgaXNfbGUxOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbDI6OmlzX2xlIGlzX2xlMjsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGwzOjppc19sZSBpc19sZTM7CisgICAgCisKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGF1eDo6bGFtYmRhX29yPAorICAgICAgICAgIGlzX2xlMTo6dmFsdWUsIGlzX2xlMjo6dmFsdWUsIGlzX2xlMzo6dmFsdWUKKyAgICAgICAgPjo6dHlwZSBpc19sZTsKKworICAgIHR5cGVkZWYgYXV4OjpsZV9yZXN1bHQzPAorICAgICAgICAgIGlzX2xlLCBUYWcsIEYsIGwxLCBsMiwgbDMKKyAgICAgICAgPiBsZV9yZXN1bHRfOworCisgICAgdHlwZWRlZiB0eXBlbmFtZSBsZV9yZXN1bHRfOjpyZXN1bHRfIHJlc3VsdF87CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsZV9yZXN1bHRfOjp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMKKyAgICAsIHR5cGVuYW1lIFRhZworICAgID4KK3N0cnVjdCBsYW1iZGE8CisgICAgICAgICAgYmluZDM8IEYsVDEsVDIsVDMgPgorICAgICAgICAsIFRhZworICAgICAgICAsIGludF88ND4KKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgZmFsc2VfIGlzX2xlOworICAgIHR5cGVkZWYgYmluZDM8CisgICAgICAgICAgRgorICAgICAgICAsIFQxLCBUMiwgVDMKKyAgICAgICAgPiByZXN1bHRfOworCisgICAgdHlwZWRlZiByZXN1bHRfIHR5cGU7Cit9OworCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBJc0xFLCB0eXBlbmFtZSBUYWcKKyAgICAsIHRlbXBsYXRlPCB0eXBlbmFtZSBQMSwgdHlwZW5hbWUgUDIsIHR5cGVuYW1lIFAzLCB0eXBlbmFtZSBQNCA+IGNsYXNzIEYKKyAgICAsIHR5cGVuYW1lIEwxLCB0eXBlbmFtZSBMMiwgdHlwZW5hbWUgTDMsIHR5cGVuYW1lIEw0CisgICAgPgorc3RydWN0IGxlX3Jlc3VsdDQKK3sKKyAgICB0eXBlZGVmIEY8CisgICAgICAgICAgdHlwZW5hbWUgTDE6OnR5cGUsIHR5cGVuYW1lIEwyOjp0eXBlLCB0eXBlbmFtZSBMMzo6dHlwZQorICAgICAgICAsIHR5cGVuYW1lIEw0Ojp0eXBlCisgICAgICAgID4gcmVzdWx0XzsKKworICAgIHR5cGVkZWYgcmVzdWx0XyB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUYWcKKyAgICAsIHRlbXBsYXRlPCB0eXBlbmFtZSBQMSwgdHlwZW5hbWUgUDIsIHR5cGVuYW1lIFAzLCB0eXBlbmFtZSBQNCA+IGNsYXNzIEYKKyAgICAsIHR5cGVuYW1lIEwxLCB0eXBlbmFtZSBMMiwgdHlwZW5hbWUgTDMsIHR5cGVuYW1lIEw0CisgICAgPgorc3RydWN0IGxlX3Jlc3VsdDQ8IHRydWVfLFRhZyxGLEwxLEwyLEwzLEw0ID4KK3sKKyAgICB0eXBlZGVmIGJpbmQ0PAorICAgICAgICAgIHF1b3RlNDwgRixUYWcgPgorICAgICAgICAsIHR5cGVuYW1lIEwxOjpyZXN1bHRfLCB0eXBlbmFtZSBMMjo6cmVzdWx0XywgdHlwZW5hbWUgTDM6OnJlc3VsdF8KKyAgICAgICAgLCB0eXBlbmFtZSBMNDo6cmVzdWx0XworICAgICAgICA+IHJlc3VsdF87CisKKyAgICB0eXBlZGVmIG1wbDo6cHJvdGVjdDxyZXN1bHRfPiB0eXBlOworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK3RlbXBsYXRlPAorICAgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFAxLCB0eXBlbmFtZSBQMiwgdHlwZW5hbWUgUDMsIHR5cGVuYW1lIFA0ID4gY2xhc3MgRgorICAgICwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFRhZworICAgID4KK3N0cnVjdCBsYW1iZGE8CisgICAgICAgICAgRjwgVDEsVDIsVDMsVDQgPgorICAgICAgICAsIFRhZworICAgICAgICAsIGludF88ND4KKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgbGFtYmRhPCBUMSxUYWcgPiBsMTsKKyAgICB0eXBlZGVmIGxhbWJkYTwgVDIsVGFnID4gbDI7CisgICAgdHlwZWRlZiBsYW1iZGE8IFQzLFRhZyA+IGwzOworICAgIHR5cGVkZWYgbGFtYmRhPCBUNCxUYWcgPiBsNDsKKyAgICAKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGwxOjppc19sZSBpc19sZTE7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsMjo6aXNfbGUgaXNfbGUyOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbDM6OmlzX2xlIGlzX2xlMzsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGw0Ojppc19sZSBpc19sZTQ7CisgICAgCisKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGF1eDo6bGFtYmRhX29yPAorICAgICAgICAgIGlzX2xlMTo6dmFsdWUsIGlzX2xlMjo6dmFsdWUsIGlzX2xlMzo6dmFsdWUsIGlzX2xlNDo6dmFsdWUKKyAgICAgICAgPjo6dHlwZSBpc19sZTsKKworICAgIHR5cGVkZWYgYXV4OjpsZV9yZXN1bHQ0PAorICAgICAgICAgIGlzX2xlLCBUYWcsIEYsIGwxLCBsMiwgbDMsIGw0CisgICAgICAgID4gbGVfcmVzdWx0XzsKKworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGVfcmVzdWx0Xzo6cmVzdWx0XyByZXN1bHRfOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGVfcmVzdWx0Xzo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVGFnCisgICAgPgorc3RydWN0IGxhbWJkYTwKKyAgICAgICAgICBiaW5kNDwgRixUMSxUMixUMyxUNCA+CisgICAgICAgICwgVGFnCisgICAgICAgICwgaW50Xzw1PgorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiBmYWxzZV8gaXNfbGU7CisgICAgdHlwZWRlZiBiaW5kNDwKKyAgICAgICAgICBGCisgICAgICAgICwgVDEsIFQyLCBUMywgVDQKKyAgICAgICAgPiByZXN1bHRfOworCisgICAgdHlwZWRlZiByZXN1bHRfIHR5cGU7Cit9OworCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBJc0xFLCB0eXBlbmFtZSBUYWcKKyAgICAsIHRlbXBsYXRlPCB0eXBlbmFtZSBQMSwgdHlwZW5hbWUgUDIsIHR5cGVuYW1lIFAzLCB0eXBlbmFtZSBQNCwgdHlwZW5hbWUgUDUgPiBjbGFzcyBGCisgICAgLCB0eXBlbmFtZSBMMSwgdHlwZW5hbWUgTDIsIHR5cGVuYW1lIEwzLCB0eXBlbmFtZSBMNCwgdHlwZW5hbWUgTDUKKyAgICA+CitzdHJ1Y3QgbGVfcmVzdWx0NQoreworICAgIHR5cGVkZWYgRjwKKyAgICAgICAgICB0eXBlbmFtZSBMMTo6dHlwZSwgdHlwZW5hbWUgTDI6OnR5cGUsIHR5cGVuYW1lIEwzOjp0eXBlCisgICAgICAgICwgdHlwZW5hbWUgTDQ6OnR5cGUsIHR5cGVuYW1lIEw1Ojp0eXBlCisgICAgICAgID4gcmVzdWx0XzsKKworICAgIHR5cGVkZWYgcmVzdWx0XyB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUYWcKKyAgICAsIHRlbXBsYXRlPCB0eXBlbmFtZSBQMSwgdHlwZW5hbWUgUDIsIHR5cGVuYW1lIFAzLCB0eXBlbmFtZSBQNCwgdHlwZW5hbWUgUDUgPiBjbGFzcyBGCisgICAgLCB0eXBlbmFtZSBMMSwgdHlwZW5hbWUgTDIsIHR5cGVuYW1lIEwzLCB0eXBlbmFtZSBMNCwgdHlwZW5hbWUgTDUKKyAgICA+CitzdHJ1Y3QgbGVfcmVzdWx0NTwgdHJ1ZV8sVGFnLEYsTDEsTDIsTDMsTDQsTDUgPgoreworICAgIHR5cGVkZWYgYmluZDU8CisgICAgICAgICAgcXVvdGU1PCBGLFRhZyA+CisgICAgICAgICwgdHlwZW5hbWUgTDE6OnJlc3VsdF8sIHR5cGVuYW1lIEwyOjpyZXN1bHRfLCB0eXBlbmFtZSBMMzo6cmVzdWx0XworICAgICAgICAsIHR5cGVuYW1lIEw0OjpyZXN1bHRfLCB0eXBlbmFtZSBMNTo6cmVzdWx0XworICAgICAgICA+IHJlc3VsdF87CisKKyAgICB0eXBlZGVmIG1wbDo6cHJvdGVjdDxyZXN1bHRfPiB0eXBlOworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK3RlbXBsYXRlPAorICAgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgUDEsIHR5cGVuYW1lIFAyLCB0eXBlbmFtZSBQMywgdHlwZW5hbWUgUDQKKyAgICAgICAgLCB0eXBlbmFtZSBQNQorICAgICAgICA+CisgICAgICBjbGFzcyBGCisgICAgLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNCwgdHlwZW5hbWUgVDUKKyAgICAsIHR5cGVuYW1lIFRhZworICAgID4KK3N0cnVjdCBsYW1iZGE8CisgICAgICAgICAgRjwgVDEsVDIsVDMsVDQsVDUgPgorICAgICAgICAsIFRhZworICAgICAgICAsIGludF88NT4KKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgbGFtYmRhPCBUMSxUYWcgPiBsMTsKKyAgICB0eXBlZGVmIGxhbWJkYTwgVDIsVGFnID4gbDI7CisgICAgdHlwZWRlZiBsYW1iZGE8IFQzLFRhZyA+IGwzOworICAgIHR5cGVkZWYgbGFtYmRhPCBUNCxUYWcgPiBsNDsKKyAgICB0eXBlZGVmIGxhbWJkYTwgVDUsVGFnID4gbDU7CisgICAgCisgICAgdHlwZWRlZiB0eXBlbmFtZSBsMTo6aXNfbGUgaXNfbGUxOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbDI6OmlzX2xlIGlzX2xlMjsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGwzOjppc19sZSBpc19sZTM7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsNDo6aXNfbGUgaXNfbGU0OworICAgIHR5cGVkZWYgdHlwZW5hbWUgbDU6OmlzX2xlIGlzX2xlNTsKKyAgICAKKworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXV4OjpsYW1iZGFfb3I8CisgICAgICAgICAgaXNfbGUxOjp2YWx1ZSwgaXNfbGUyOjp2YWx1ZSwgaXNfbGUzOjp2YWx1ZSwgaXNfbGU0Ojp2YWx1ZQorICAgICAgICAsIGlzX2xlNTo6dmFsdWUKKyAgICAgICAgPjo6dHlwZSBpc19sZTsKKworICAgIHR5cGVkZWYgYXV4OjpsZV9yZXN1bHQ1PAorICAgICAgICAgIGlzX2xlLCBUYWcsIEYsIGwxLCBsMiwgbDMsIGw0LCBsNQorICAgICAgICA+IGxlX3Jlc3VsdF87CisKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxlX3Jlc3VsdF86OnJlc3VsdF8gcmVzdWx0XzsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxlX3Jlc3VsdF86OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1CisgICAgLCB0eXBlbmFtZSBUYWcKKyAgICA+CitzdHJ1Y3QgbGFtYmRhPAorICAgICAgICAgIGJpbmQ1PCBGLFQxLFQyLFQzLFQ0LFQ1ID4KKyAgICAgICAgLCBUYWcKKyAgICAgICAgLCBpbnRfPDY+CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIGZhbHNlXyBpc19sZTsKKyAgICB0eXBlZGVmIGJpbmQ1PAorICAgICAgICAgIEYKKyAgICAgICAgLCBUMSwgVDIsIFQzLCBUNCwgVDUKKyAgICAgICAgPiByZXN1bHRfOworCisgICAgdHlwZWRlZiByZXN1bHRfIHR5cGU7Cit9OworCisvLy8gc3BlY2lhbCBjYXNlIGZvciAncHJvdGVjdCcKK3RlbXBsYXRlPCB0eXBlbmFtZSBULCB0eXBlbmFtZSBUYWcgPgorc3RydWN0IGxhbWJkYTwgbXBsOjpwcm90ZWN0PFQ+LFRhZywgaW50XzwxPiA+Cit7CisgICAgdHlwZWRlZiBmYWxzZV8gaXNfbGU7CisgICAgdHlwZWRlZiBtcGw6OnByb3RlY3Q8VD4gcmVzdWx0XzsKKyAgICB0eXBlZGVmIHJlc3VsdF8gdHlwZTsKK307CisKKy8vLyBzcGVjaWFsaXphdGlvbnMgZm9yIHRoZSBtYWluICdiaW5kJyBmb3JtCisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1CisgICAgLCB0eXBlbmFtZSBUYWcKKyAgICA+CitzdHJ1Y3QgbGFtYmRhPAorICAgICAgICAgIGJpbmQ8IEYsVDEsVDIsVDMsVDQsVDUgPgorICAgICAgICAsIFRhZworICAgICAgICAsIGludF88Nj4KKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgZmFsc2VfIGlzX2xlOworICAgIHR5cGVkZWYgYmluZDwgRixUMSxUMixUMyxUNCxUNSA+IHJlc3VsdF87CisgICAgdHlwZWRlZiByZXN1bHRfIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYKKyAgICAsIHR5cGVuYW1lIFRhZzEKKyAgICAsIHR5cGVuYW1lIFRhZzIKKyAgICAsIHR5cGVuYW1lIEFyaXR5CisgICAgPgorc3RydWN0IGxhbWJkYTwKKyAgICAgICAgICBsYW1iZGE8IEYsVGFnMSxBcml0eSA+CisgICAgICAgICwgVGFnMgorICAgICAgICAsIGludF88Mz4KKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgbGFtYmRhPCBGLFRhZzIgPiBsMTsKKyAgICB0eXBlZGVmIGxhbWJkYTwgVGFnMSxUYWcyID4gbDI7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsMTo6aXNfbGUgaXNfbGU7CisgICAgdHlwZWRlZiBiaW5kMTwgcXVvdGUxPGF1eDo6dGVtcGxhdGVfYXJpdHk+LCB0eXBlbmFtZSBsMTo6cmVzdWx0XyA+IGFyaXR5XzsKKyAgICB0eXBlZGVmIGxhbWJkYTwgdHlwZW5hbWUgaWZfPCBpc19sZSxhcml0eV8sQXJpdHkgPjo6dHlwZSwgVGFnMiA+IGwzOworICAgIHR5cGVkZWYgYXV4OjpsZV9yZXN1bHQzPGlzX2xlLCBUYWcyLCBtcGw6OmxhbWJkYSwgbDEsIGwyLCBsMz4gbGVfcmVzdWx0XzsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxlX3Jlc3VsdF86OnJlc3VsdF8gcmVzdWx0XzsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxlX3Jlc3VsdF86OnR5cGUgdHlwZTsKK307CisKK0JPT1NUX01QTF9BVVhfTkFfU1BFQzIoMiwgMywgbGFtYmRhKQorCit9fQorCmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjL2dyZWF0ZXIuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjYy9ncmVhdGVyLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YmQxYzFmCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjYy9ncmVhdGVyLmhwcApAQCAtMCwwICsxLDk0IEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gKlByZXByb2Nlc3NlZCogdmVyc2lvbiBvZiB0aGUgbWFpbiAiZ3JlYXRlci5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUYWcxCisgICAgLCB0eXBlbmFtZSBUYWcyCisgICAgPgorc3RydWN0IGdyZWF0ZXJfaW1wbAorICAgIDogaWZfYzwKKyAgICAgICAgICAoIEJPT1NUX01QTF9BVVhfTkVTVEVEX1ZBTFVFX1dLTkQoaW50LCBUYWcxKQorICAgICAgICAgICAgICA+IEJPT1NUX01QTF9BVVhfTkVTVEVEX1ZBTFVFX1dLTkQoaW50LCBUYWcyKQorICAgICAgICAgICAgKQorCisgICAgICAgICwgYXV4OjpjYXN0Mm5kX2ltcGw8IGdyZWF0ZXJfaW1wbDwgVGFnMSxUYWcxID4sVGFnMSwgVGFnMiA+CisgICAgICAgICwgYXV4OjpjYXN0MXN0X2ltcGw8IGdyZWF0ZXJfaW1wbDwgVGFnMixUYWcyID4sVGFnMSwgVGFnMiA+CisgICAgICAgID46OnR5cGUKK3sKK307CisKKy8vLyBmb3IgRGlnaXRhbCBNYXJzIEMrKy9jb21waWxlcnMgd2l0aCBubyBDVFBTL1RUUCBzdXBwb3J0Cit0ZW1wbGF0ZTw+IHN0cnVjdCBncmVhdGVyX2ltcGw8IG5hLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVGFnID4gc3RydWN0IGdyZWF0ZXJfaW1wbDwgbmEsVGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVGFnID4gc3RydWN0IGdyZWF0ZXJfaW1wbDwgVGFnLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVCA+IHN0cnVjdCBncmVhdGVyX3RhZworeworICAgIHR5cGVkZWYgdHlwZW5hbWUgVDo6dGFnIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjEpCisgICAgLCB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4yKQorICAgID4KK3N0cnVjdCBncmVhdGVyCisKKyAgICA6IGdyZWF0ZXJfaW1wbDwKKyAgICAgICAgICB0eXBlbmFtZSBncmVhdGVyX3RhZzxOMT46OnR5cGUKKyAgICAgICAgLCB0eXBlbmFtZSBncmVhdGVyX3RhZzxOMj46OnR5cGUKKyAgICAgICAgPjo6dGVtcGxhdGUgYXBwbHk8IE4xLE4yID46OnR5cGUKK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKDIsIGdyZWF0ZXIsIChOMSwgTjIpKQorCit9OworCitCT09TVF9NUExfQVVYX05BX1NQRUMyKDIsIDIsIGdyZWF0ZXIpCisKK319CisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgZ3JlYXRlcl9pbXBsPCBpbnRlZ3JhbF9jX3RhZyxpbnRlZ3JhbF9jX3RhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIE4xLCB0eXBlbmFtZSBOMiA+IHN0cnVjdCBhcHBseQorCisgICAgICAgIDogYm9vbF88ICggQk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4xKTo6dmFsdWUgPiBCT09TVF9NUExfQVVYX1ZBTFVFX1dLTkQoTjIpOjp2YWx1ZSApID4KKyAgICB7CisgICAgfTsKK307CisKK319CmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjL2dyZWF0ZXJfZXF1YWwuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjYy9ncmVhdGVyX2VxdWFsLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iOWYxNjVlCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjYy9ncmVhdGVyX2VxdWFsLmhwcApAQCAtMCwwICsxLDk0IEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gKlByZXByb2Nlc3NlZCogdmVyc2lvbiBvZiB0aGUgbWFpbiAiZ3JlYXRlcl9lcXVhbC5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUYWcxCisgICAgLCB0eXBlbmFtZSBUYWcyCisgICAgPgorc3RydWN0IGdyZWF0ZXJfZXF1YWxfaW1wbAorICAgIDogaWZfYzwKKyAgICAgICAgICAoIEJPT1NUX01QTF9BVVhfTkVTVEVEX1ZBTFVFX1dLTkQoaW50LCBUYWcxKQorICAgICAgICAgICAgICA+IEJPT1NUX01QTF9BVVhfTkVTVEVEX1ZBTFVFX1dLTkQoaW50LCBUYWcyKQorICAgICAgICAgICAgKQorCisgICAgICAgICwgYXV4OjpjYXN0Mm5kX2ltcGw8IGdyZWF0ZXJfZXF1YWxfaW1wbDwgVGFnMSxUYWcxID4sVGFnMSwgVGFnMiA+CisgICAgICAgICwgYXV4OjpjYXN0MXN0X2ltcGw8IGdyZWF0ZXJfZXF1YWxfaW1wbDwgVGFnMixUYWcyID4sVGFnMSwgVGFnMiA+CisgICAgICAgID46OnR5cGUKK3sKK307CisKKy8vLyBmb3IgRGlnaXRhbCBNYXJzIEMrKy9jb21waWxlcnMgd2l0aCBubyBDVFBTL1RUUCBzdXBwb3J0Cit0ZW1wbGF0ZTw+IHN0cnVjdCBncmVhdGVyX2VxdWFsX2ltcGw8IG5hLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVGFnID4gc3RydWN0IGdyZWF0ZXJfZXF1YWxfaW1wbDwgbmEsVGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVGFnID4gc3RydWN0IGdyZWF0ZXJfZXF1YWxfaW1wbDwgVGFnLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVCA+IHN0cnVjdCBncmVhdGVyX2VxdWFsX3RhZworeworICAgIHR5cGVkZWYgdHlwZW5hbWUgVDo6dGFnIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjEpCisgICAgLCB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4yKQorICAgID4KK3N0cnVjdCBncmVhdGVyX2VxdWFsCisKKyAgICA6IGdyZWF0ZXJfZXF1YWxfaW1wbDwKKyAgICAgICAgICB0eXBlbmFtZSBncmVhdGVyX2VxdWFsX3RhZzxOMT46OnR5cGUKKyAgICAgICAgLCB0eXBlbmFtZSBncmVhdGVyX2VxdWFsX3RhZzxOMj46OnR5cGUKKyAgICAgICAgPjo6dGVtcGxhdGUgYXBwbHk8IE4xLE4yID46OnR5cGUKK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKDIsIGdyZWF0ZXJfZXF1YWwsIChOMSwgTjIpKQorCit9OworCitCT09TVF9NUExfQVVYX05BX1NQRUMyKDIsIDIsIGdyZWF0ZXJfZXF1YWwpCisKK319CisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgZ3JlYXRlcl9lcXVhbF9pbXBsPCBpbnRlZ3JhbF9jX3RhZyxpbnRlZ3JhbF9jX3RhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIE4xLCB0eXBlbmFtZSBOMiA+IHN0cnVjdCBhcHBseQorCisgICAgICAgIDogYm9vbF88ICggQk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4xKTo6dmFsdWUgPj0gQk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4yKTo6dmFsdWUgKSA+CisgICAgeworICAgIH07Cit9OworCit9fQpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjYy9pbmhlcml0LmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2MvaW5oZXJpdC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTYyMWNkOQotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2MvaW5oZXJpdC5ocHAKQEAgLTAsMCArMSwxMzkgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMS0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyAqUHJlcHJvY2Vzc2VkKiB2ZXJzaW9uIG9mIHRoZSBtYWluICJpbmhlcml0LmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oVDEpCisgICAgLCB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKFQyKQorICAgID4KK3N0cnVjdCBpbmhlcml0MgorICAgIDogVDEsIFQyCit7CisgICAgdHlwZWRlZiBpbmhlcml0MiB0eXBlOworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoMiwgaW5oZXJpdDIsIChUMSwgVDIpKQorfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFQxID4KK3N0cnVjdCBpbmhlcml0MjwgVDEsZW1wdHlfYmFzZSA+Cit7CisgICAgdHlwZWRlZiBUMSB0eXBlOworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlRfU1BFQygyLCBpbmhlcml0MiwgKFQxLCBlbXB0eV9iYXNlKSkKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUMiA+CitzdHJ1Y3QgaW5oZXJpdDI8IGVtcHR5X2Jhc2UsVDIgPgoreworICAgIHR5cGVkZWYgVDIgdHlwZTsKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUX1NQRUMoMiwgaW5oZXJpdDIsIChlbXB0eV9iYXNlLCBUMikpCit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgaW5oZXJpdDI8IGVtcHR5X2Jhc2UsZW1wdHlfYmFzZSA+Cit7CisgICAgdHlwZWRlZiBlbXB0eV9iYXNlIHR5cGU7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVF9TUEVDKDIsIGluaGVyaXQyLCAoZW1wdHlfYmFzZSwgZW1wdHlfYmFzZSkpCit9OworCitCT09TVF9NUExfQVVYX05BX1NQRUMoMiwgaW5oZXJpdDIpCisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDEgPSBuYSwgdHlwZW5hbWUgVDIgPSBuYSwgdHlwZW5hbWUgVDMgPSBuYQorICAgID4KK3N0cnVjdCBpbmhlcml0MworICAgIDogaW5oZXJpdDI8CisgICAgICAgICAgdHlwZW5hbWUgaW5oZXJpdDI8CisgICAgICAgICAgICAgIFQxLCBUMgorICAgICAgICAgICAgPjo6dHlwZQorICAgICAgICAsIFQzCisgICAgICAgID4KK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKAorICAgICAgICAgIDMKKyAgICAgICAgLCBpbmhlcml0MworICAgICAgICAsICggVDEsIFQyLCBUMykKKyAgICAgICAgKQorfTsKKworQk9PU1RfTVBMX0FVWF9OQV9TUEVDKDMsIGluaGVyaXQzKQorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQxID0gbmEsIHR5cGVuYW1lIFQyID0gbmEsIHR5cGVuYW1lIFQzID0gbmEsIHR5cGVuYW1lIFQ0ID0gbmEKKyAgICA+CitzdHJ1Y3QgaW5oZXJpdDQKKyAgICA6IGluaGVyaXQyPAorICAgICAgICAgIHR5cGVuYW1lIGluaGVyaXQzPAorICAgICAgICAgICAgICBUMSwgVDIsIFQzCisgICAgICAgICAgICA+Ojp0eXBlCisgICAgICAgICwgVDQKKyAgICAgICAgPgoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoCisgICAgICAgICAgNAorICAgICAgICAsIGluaGVyaXQ0CisgICAgICAgICwgKCBUMSwgVDIsIFQzLCBUNCkKKyAgICAgICAgKQorfTsKKworQk9PU1RfTVBMX0FVWF9OQV9TUEVDKDQsIGluaGVyaXQ0KQorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQxID0gbmEsIHR5cGVuYW1lIFQyID0gbmEsIHR5cGVuYW1lIFQzID0gbmEsIHR5cGVuYW1lIFQ0ID0gbmEKKyAgICAsIHR5cGVuYW1lIFQ1ID0gbmEKKyAgICA+CitzdHJ1Y3QgaW5oZXJpdDUKKyAgICA6IGluaGVyaXQyPAorICAgICAgICAgIHR5cGVuYW1lIGluaGVyaXQ0PAorICAgICAgICAgICAgICBUMSwgVDIsIFQzLCBUNAorICAgICAgICAgICAgPjo6dHlwZQorICAgICAgICAsIFQ1CisgICAgICAgID4KK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKAorICAgICAgICAgIDUKKyAgICAgICAgLCBpbmhlcml0NQorICAgICAgICAsICggVDEsIFQyLCBUMywgVDQsIFQ1KQorICAgICAgICApCit9OworCitCT09TVF9NUExfQVVYX05BX1NQRUMoNSwgaW5oZXJpdDUpCisKKy8vLyBwcmltYXJ5IHRlbXBsYXRlCisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDEgPSBlbXB0eV9iYXNlLCB0eXBlbmFtZSBUMiA9IGVtcHR5X2Jhc2UKKyAgICAsIHR5cGVuYW1lIFQzID0gZW1wdHlfYmFzZSwgdHlwZW5hbWUgVDQgPSBlbXB0eV9iYXNlCisgICAgLCB0eXBlbmFtZSBUNSA9IGVtcHR5X2Jhc2UKKyAgICA+CitzdHJ1Y3QgaW5oZXJpdAorICAgIDogaW5oZXJpdDU8IFQxLFQyLFQzLFQ0LFQ1ID4KK3sKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBpbmhlcml0PCBuYSxuYSxuYSxuYSxuYSA+Cit7CisgICAgdGVtcGxhdGU8CisKKyAgICAgICAgICB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNCwgdHlwZW5hbWUgVDUKKworICAgICAgICA+CisgICAgc3RydWN0IGFwcGx5CisgICAgICAgIDogaW5oZXJpdDwgVDEsVDIsVDMsVDQsVDUgPgorICAgIHsKKyAgICB9OworfTsKKworQk9PU1RfTVBMX0FVWF9OQV9TUEVDX0xBTUJEQSg1LCBpbmhlcml0KQorQk9PU1RfTVBMX0FVWF9OQV9TUEVDX0FSSVRZKDUsIGluaGVyaXQpCitCT09TVF9NUExfQVVYX05BX1NQRUNfVEVNUExBVEVfQVJJVFkoNSwgNSwgaW5oZXJpdCkKK319CisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2MvaXRlcl9mb2xkX2lmX2ltcGwuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjYy9pdGVyX2ZvbGRfaWZfaW1wbC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzU1M2VmZAotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2MvaXRlcl9mb2xkX2lmX2ltcGwuaHBwCkBAIC0wLDAgKzEsMTMzIEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDEtMjAwNAorLy8gQ29weXJpZ2h0IERhdmlkIEFicmFoYW1zIDIwMDEtMjAwMgorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gKlByZXByb2Nlc3NlZCogdmVyc2lvbiBvZiB0aGUgbWFpbiAiaXRlcl9mb2xkX2lmX2ltcGwuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7IG5hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgSXRlcmF0b3IsIHR5cGVuYW1lIFN0YXRlID4KK3N0cnVjdCBpdGVyX2ZvbGRfaWZfbnVsbF9zdGVwCit7CisgICAgdHlwZWRlZiBTdGF0ZSBzdGF0ZTsKKyAgICB0eXBlZGVmIEl0ZXJhdG9yIGl0ZXJhdG9yOworfTsKKwordGVtcGxhdGU8IGJvb2wgPgorc3RydWN0IGl0ZXJfZm9sZF9pZl9zdGVwX2ltcGwKK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBJdGVyYXRvcgorICAgICAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgICAgICwgdHlwZW5hbWUgU3RhdGVPcAorICAgICAgICAsIHR5cGVuYW1lIEl0ZXJhdG9yT3AKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgU3RhdGVPcCxTdGF0ZSxJdGVyYXRvciA+Ojp0eXBlIHN0YXRlOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIEl0ZXJhdG9yT3A6OnR5cGUgaXRlcmF0b3I7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBpdGVyX2ZvbGRfaWZfc3RlcF9pbXBsPGZhbHNlPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIEl0ZXJhdG9yCisgICAgICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAgICAgLCB0eXBlbmFtZSBTdGF0ZU9wCisgICAgICAgICwgdHlwZW5hbWUgSXRlcmF0b3JPcAorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgU3RhdGUgc3RhdGU7CisgICAgICAgIHR5cGVkZWYgSXRlcmF0b3IgaXRlcmF0b3I7CisgICAgfTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgSXRlcmF0b3IKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICAsIHR5cGVuYW1lIFByZWRpY2F0ZQorICAgID4KK3N0cnVjdCBpdGVyX2ZvbGRfaWZfZm9yd2FyZF9zdGVwCit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IFByZWRpY2F0ZSxTdGF0ZSxJdGVyYXRvciA+Ojp0eXBlIG5vdF9sYXN0OworICAgIHR5cGVkZWYgdHlwZW5hbWUgaXRlcl9mb2xkX2lmX3N0ZXBfaW1wbDwKKyAgICAgICAgICBCT09TVF9NUExfQVVYX01TVkNfVkFMVUVfV0tORChub3RfbGFzdCk6OnZhbHVlCisgICAgICAgID46OnRlbXBsYXRlIHJlc3VsdF88IEl0ZXJhdG9yLFN0YXRlLEZvcndhcmRPcCwgbXBsOjpuZXh0PEl0ZXJhdG9yPiA+IGltcGxfOworCisgICAgdHlwZWRlZiB0eXBlbmFtZSBpbXBsXzo6c3RhdGUgc3RhdGU7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBpbXBsXzo6aXRlcmF0b3IgaXRlcmF0b3I7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEl0ZXJhdG9yCisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICwgdHlwZW5hbWUgQmFja3dhcmRPcAorICAgICwgdHlwZW5hbWUgUHJlZGljYXRlCisgICAgPgorc3RydWN0IGl0ZXJfZm9sZF9pZl9iYWNrd2FyZF9zdGVwCit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IFByZWRpY2F0ZSxTdGF0ZSxJdGVyYXRvciA+Ojp0eXBlIG5vdF9sYXN0OworICAgIHR5cGVkZWYgdHlwZW5hbWUgaXRlcl9mb2xkX2lmX3N0ZXBfaW1wbDwKKyAgICAgICAgICBCT09TVF9NUExfQVVYX01TVkNfVkFMVUVfV0tORChub3RfbGFzdCk6OnZhbHVlCisgICAgICAgID46OnRlbXBsYXRlIHJlc3VsdF88IEl0ZXJhdG9yLFN0YXRlLEJhY2t3YXJkT3AsIGlkZW50aXR5PEl0ZXJhdG9yPiA+IGltcGxfOworCisgICAgdHlwZWRlZiB0eXBlbmFtZSBpbXBsXzo6c3RhdGUgc3RhdGU7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBpbXBsXzo6aXRlcmF0b3IgaXRlcmF0b3I7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEl0ZXJhdG9yCisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkUHJlZGljYXRlCisgICAgLCB0eXBlbmFtZSBCYWNrd2FyZE9wCisgICAgLCB0eXBlbmFtZSBCYWNrd2FyZFByZWRpY2F0ZQorICAgID4KK3N0cnVjdCBpdGVyX2ZvbGRfaWZfaW1wbAoreworIHByaXZhdGU6CisgICAgdHlwZWRlZiBpdGVyX2ZvbGRfaWZfbnVsbF9zdGVwPCBJdGVyYXRvcixTdGF0ZSA+IGZvcndhcmRfc3RlcDA7CisgICAgdHlwZWRlZiBpdGVyX2ZvbGRfaWZfZm9yd2FyZF9zdGVwPCB0eXBlbmFtZSBmb3J3YXJkX3N0ZXAwOjppdGVyYXRvciwgdHlwZW5hbWUgZm9yd2FyZF9zdGVwMDo6c3RhdGUsIEZvcndhcmRPcCwgRm9yd2FyZFByZWRpY2F0ZSA+IGZvcndhcmRfc3RlcDE7CisgICAgdHlwZWRlZiBpdGVyX2ZvbGRfaWZfZm9yd2FyZF9zdGVwPCB0eXBlbmFtZSBmb3J3YXJkX3N0ZXAxOjppdGVyYXRvciwgdHlwZW5hbWUgZm9yd2FyZF9zdGVwMTo6c3RhdGUsIEZvcndhcmRPcCwgRm9yd2FyZFByZWRpY2F0ZSA+IGZvcndhcmRfc3RlcDI7CisgICAgdHlwZWRlZiBpdGVyX2ZvbGRfaWZfZm9yd2FyZF9zdGVwPCB0eXBlbmFtZSBmb3J3YXJkX3N0ZXAyOjppdGVyYXRvciwgdHlwZW5hbWUgZm9yd2FyZF9zdGVwMjo6c3RhdGUsIEZvcndhcmRPcCwgRm9yd2FyZFByZWRpY2F0ZSA+IGZvcndhcmRfc3RlcDM7CisgICAgdHlwZWRlZiBpdGVyX2ZvbGRfaWZfZm9yd2FyZF9zdGVwPCB0eXBlbmFtZSBmb3J3YXJkX3N0ZXAzOjppdGVyYXRvciwgdHlwZW5hbWUgZm9yd2FyZF9zdGVwMzo6c3RhdGUsIEZvcndhcmRPcCwgRm9yd2FyZFByZWRpY2F0ZSA+IGZvcndhcmRfc3RlcDQ7CisgICAgCisKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGlmXzwKKyAgICAgICAgICB0eXBlbmFtZSBmb3J3YXJkX3N0ZXA0Ojpub3RfbGFzdAorICAgICAgICAsIGl0ZXJfZm9sZF9pZl9pbXBsPAorICAgICAgICAgICAgICB0eXBlbmFtZSBmb3J3YXJkX3N0ZXA0OjppdGVyYXRvcgorICAgICAgICAgICAgLCB0eXBlbmFtZSBmb3J3YXJkX3N0ZXA0OjpzdGF0ZQorICAgICAgICAgICAgLCBGb3J3YXJkT3AKKyAgICAgICAgICAgICwgRm9yd2FyZFByZWRpY2F0ZQorICAgICAgICAgICAgLCBCYWNrd2FyZE9wCisgICAgICAgICAgICAsIEJhY2t3YXJkUHJlZGljYXRlCisgICAgICAgICAgICA+CisgICAgICAgICwgaXRlcl9mb2xkX2lmX251bGxfc3RlcDwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgZm9yd2FyZF9zdGVwNDo6aXRlcmF0b3IKKyAgICAgICAgICAgICwgdHlwZW5hbWUgZm9yd2FyZF9zdGVwNDo6c3RhdGUKKyAgICAgICAgICAgID4KKyAgICAgICAgPjo6dHlwZSBiYWNrd2FyZF9zdGVwNDsKKworICAgIHR5cGVkZWYgaXRlcl9mb2xkX2lmX2JhY2t3YXJkX3N0ZXA8IHR5cGVuYW1lIGZvcndhcmRfc3RlcDM6Oml0ZXJhdG9yLCB0eXBlbmFtZSBiYWNrd2FyZF9zdGVwNDo6c3RhdGUsIEJhY2t3YXJkT3AsIEJhY2t3YXJkUHJlZGljYXRlID4gYmFja3dhcmRfc3RlcDM7CisgICAgdHlwZWRlZiBpdGVyX2ZvbGRfaWZfYmFja3dhcmRfc3RlcDwgdHlwZW5hbWUgZm9yd2FyZF9zdGVwMjo6aXRlcmF0b3IsIHR5cGVuYW1lIGJhY2t3YXJkX3N0ZXAzOjpzdGF0ZSwgQmFja3dhcmRPcCwgQmFja3dhcmRQcmVkaWNhdGUgPiBiYWNrd2FyZF9zdGVwMjsKKyAgICB0eXBlZGVmIGl0ZXJfZm9sZF9pZl9iYWNrd2FyZF9zdGVwPCB0eXBlbmFtZSBmb3J3YXJkX3N0ZXAxOjppdGVyYXRvciwgdHlwZW5hbWUgYmFja3dhcmRfc3RlcDI6OnN0YXRlLCBCYWNrd2FyZE9wLCBCYWNrd2FyZFByZWRpY2F0ZSA+IGJhY2t3YXJkX3N0ZXAxOworICAgIHR5cGVkZWYgaXRlcl9mb2xkX2lmX2JhY2t3YXJkX3N0ZXA8IHR5cGVuYW1lIGZvcndhcmRfc3RlcDA6Oml0ZXJhdG9yLCB0eXBlbmFtZSBiYWNrd2FyZF9zdGVwMTo6c3RhdGUsIEJhY2t3YXJkT3AsIEJhY2t3YXJkUHJlZGljYXRlID4gYmFja3dhcmRfc3RlcDA7CisgICAgCisKKyBwdWJsaWM6CisgICAgdHlwZWRlZiB0eXBlbmFtZSBiYWNrd2FyZF9zdGVwMDo6c3RhdGUgc3RhdGU7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBiYWNrd2FyZF9zdGVwNDo6aXRlcmF0b3IgaXRlcmF0b3I7Cit9OworCit9fX0KZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2MvaXRlcl9mb2xkX2ltcGwuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjYy9pdGVyX2ZvbGRfaW1wbC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTE1NWRhNQotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2MvaXRlcl9mb2xkX2ltcGwuaHBwCkBAIC0wLDAgKzEsMTgwIEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gKlByZXByb2Nlc3NlZCogdmVyc2lvbiBvZiB0aGUgbWFpbiAiaXRlcl9mb2xkX2ltcGwuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7IG5hbWVzcGFjZSBhdXggeworCisvLy8gZm9yd2FyZCBkZWNsYXJhdGlvbgorCit0ZW1wbGF0ZTwKKyAgICAgIGludCBOCisgICAgLCB0eXBlbmFtZSBGaXJzdAorICAgICwgdHlwZW5hbWUgTGFzdAorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgID4KK3N0cnVjdCBpdGVyX2ZvbGRfaW1wbDsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGaXJzdAorICAgICwgdHlwZW5hbWUgTGFzdAorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgID4KK3N0cnVjdCBpdGVyX2ZvbGRfaW1wbDwgMCxGaXJzdCxMYXN0LFN0YXRlLEZvcndhcmRPcCA+Cit7CisgICAgdHlwZWRlZiBGaXJzdCBpdGVyMDsKKyAgICB0eXBlZGVmIFN0YXRlIHN0YXRlMDsKKyAgICB0eXBlZGVmIHN0YXRlMCBzdGF0ZTsKKyAgICB0eXBlZGVmIGl0ZXIwIGl0ZXJhdG9yOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGaXJzdAorICAgICwgdHlwZW5hbWUgTGFzdAorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgID4KK3N0cnVjdCBpdGVyX2ZvbGRfaW1wbDwgMSxGaXJzdCxMYXN0LFN0YXRlLEZvcndhcmRPcCA+Cit7CisgICAgdHlwZWRlZiBGaXJzdCBpdGVyMDsKKyAgICB0eXBlZGVmIFN0YXRlIHN0YXRlMDsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLHN0YXRlMCxpdGVyMCA+Ojp0eXBlIHN0YXRlMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMD46OnR5cGUgaXRlcjE7CisgICAgCisKKyAgICB0eXBlZGVmIHN0YXRlMSBzdGF0ZTsKKyAgICB0eXBlZGVmIGl0ZXIxIGl0ZXJhdG9yOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGaXJzdAorICAgICwgdHlwZW5hbWUgTGFzdAorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgID4KK3N0cnVjdCBpdGVyX2ZvbGRfaW1wbDwgMixGaXJzdCxMYXN0LFN0YXRlLEZvcndhcmRPcCA+Cit7CisgICAgdHlwZWRlZiBGaXJzdCBpdGVyMDsKKyAgICB0eXBlZGVmIFN0YXRlIHN0YXRlMDsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLHN0YXRlMCxpdGVyMCA+Ojp0eXBlIHN0YXRlMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMD46OnR5cGUgaXRlcjE7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCxzdGF0ZTEsaXRlcjEgPjo6dHlwZSBzdGF0ZTI7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjE+Ojp0eXBlIGl0ZXIyOworICAgIAorCisgICAgdHlwZWRlZiBzdGF0ZTIgc3RhdGU7CisgICAgdHlwZWRlZiBpdGVyMiBpdGVyYXRvcjsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+CitzdHJ1Y3QgaXRlcl9mb2xkX2ltcGw8IDMsRmlyc3QsTGFzdCxTdGF0ZSxGb3J3YXJkT3AgPgoreworICAgIHR5cGVkZWYgRmlyc3QgaXRlcjA7CisgICAgdHlwZWRlZiBTdGF0ZSBzdGF0ZTA7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCxzdGF0ZTAsaXRlcjAgPjo6dHlwZSBzdGF0ZTE7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjA+Ojp0eXBlIGl0ZXIxOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3Asc3RhdGUxLGl0ZXIxID46OnR5cGUgc3RhdGUyOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIxPjo6dHlwZSBpdGVyMjsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLHN0YXRlMixpdGVyMiA+Ojp0eXBlIHN0YXRlMzsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMj46OnR5cGUgaXRlcjM7CisgICAgCisKKyAgICB0eXBlZGVmIHN0YXRlMyBzdGF0ZTsKKyAgICB0eXBlZGVmIGl0ZXIzIGl0ZXJhdG9yOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGaXJzdAorICAgICwgdHlwZW5hbWUgTGFzdAorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgID4KK3N0cnVjdCBpdGVyX2ZvbGRfaW1wbDwgNCxGaXJzdCxMYXN0LFN0YXRlLEZvcndhcmRPcCA+Cit7CisgICAgdHlwZWRlZiBGaXJzdCBpdGVyMDsKKyAgICB0eXBlZGVmIFN0YXRlIHN0YXRlMDsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLHN0YXRlMCxpdGVyMCA+Ojp0eXBlIHN0YXRlMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMD46OnR5cGUgaXRlcjE7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCxzdGF0ZTEsaXRlcjEgPjo6dHlwZSBzdGF0ZTI7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjE+Ojp0eXBlIGl0ZXIyOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3Asc3RhdGUyLGl0ZXIyID46OnR5cGUgc3RhdGUzOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIyPjo6dHlwZSBpdGVyMzsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLHN0YXRlMyxpdGVyMyA+Ojp0eXBlIHN0YXRlNDsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMz46OnR5cGUgaXRlcjQ7CisgICAgCisKKyAgICB0eXBlZGVmIHN0YXRlNCBzdGF0ZTsKKyAgICB0eXBlZGVmIGl0ZXI0IGl0ZXJhdG9yOworfTsKKwordGVtcGxhdGU8CisgICAgICBpbnQgTgorICAgICwgdHlwZW5hbWUgRmlyc3QKKyAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+CitzdHJ1Y3QgaXRlcl9mb2xkX2ltcGwKK3sKKyAgICB0eXBlZGVmIGl0ZXJfZm9sZF9pbXBsPAorICAgICAgICAgIDQKKyAgICAgICAgLCBGaXJzdAorICAgICAgICAsIExhc3QKKyAgICAgICAgLCBTdGF0ZQorICAgICAgICAsIEZvcndhcmRPcAorICAgICAgICA+IGNodW5rXzsKKworICAgIHR5cGVkZWYgaXRlcl9mb2xkX2ltcGw8CisgICAgICAgICAgKCAoTiAtIDQpIDwgMCA/IDAgOiBOIC0gNCApCisgICAgICAgICwgdHlwZW5hbWUgY2h1bmtfOjppdGVyYXRvcgorICAgICAgICAsIExhc3QKKyAgICAgICAgLCB0eXBlbmFtZSBjaHVua186OnN0YXRlCisgICAgICAgICwgRm9yd2FyZE9wCisgICAgICAgID4gcmVzXzsKKworICAgIHR5cGVkZWYgdHlwZW5hbWUgcmVzXzo6c3RhdGUgc3RhdGU7CisgICAgdHlwZWRlZiB0eXBlbmFtZSByZXNfOjppdGVyYXRvciBpdGVyYXRvcjsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+CitzdHJ1Y3QgaXRlcl9mb2xkX2ltcGw8IC0xLEZpcnN0LExhc3QsU3RhdGUsRm9yd2FyZE9wID4KKyAgICA6IGl0ZXJfZm9sZF9pbXBsPAorICAgICAgICAgIC0xCisgICAgICAgICwgdHlwZW5hbWUgbXBsOjpuZXh0PEZpcnN0Pjo6dHlwZQorICAgICAgICAsIExhc3QKKyAgICAgICAgLCB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCxTdGF0ZSxGaXJzdCA+Ojp0eXBlCisgICAgICAgICwgRm9yd2FyZE9wCisgICAgICAgID4KK3sKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgTGFzdAorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgID4KK3N0cnVjdCBpdGVyX2ZvbGRfaW1wbDwgLTEsTGFzdCxMYXN0LFN0YXRlLEZvcndhcmRPcCA+Cit7CisgICAgdHlwZWRlZiBTdGF0ZSBzdGF0ZTsKKyAgICB0eXBlZGVmIExhc3QgaXRlcmF0b3I7Cit9OworCit9fX0KZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2MvbGFtYmRhX25vX2N0cHMuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjYy9sYW1iZGFfbm9fY3Rwcy5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjEzNDc1ZAotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2MvbGFtYmRhX25vX2N0cHMuaHBwCkBAIC0wLDAgKzEsMjI5IEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gKlByZXByb2Nlc3NlZCogdmVyc2lvbiBvZiB0aGUgbWFpbiAibGFtYmRhX25vX2N0cHMuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwKKyAgICAgIGJvb2wgQzEgPSBmYWxzZSwgYm9vbCBDMiA9IGZhbHNlLCBib29sIEMzID0gZmFsc2UsIGJvb2wgQzQgPSBmYWxzZQorICAgICwgYm9vbCBDNSA9IGZhbHNlCisgICAgPgorc3RydWN0IGxhbWJkYV9vcgorICAgIDogdHJ1ZV8KK3sKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBsYW1iZGFfb3I8IGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlID4KKyAgICA6IGZhbHNlXworeworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIEFyaXR5ID4gc3RydWN0IGxhbWJkYV9pbXBsCit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFQsIHR5cGVuYW1lIFRhZywgdHlwZW5hbWUgUHJvdGVjdCA+IHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIFQgdHlwZTsKKyAgICAgICAgdHlwZWRlZiBpc19wbGFjZWhvbGRlcjxUPiBpc19sZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgbGFtYmRhX2ltcGw8IGludF88MT4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUYWcsIHR5cGVuYW1lIFByb3RlY3QgPiBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiBsYW1iZGE8IHR5cGVuYW1lIEY6OmFyZzEsIFRhZywgZmFsc2VfID4gbDE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbDE6OmlzX2xlIGlzX2xlMTsKKyAgICAgICAgdHlwZWRlZiBhdXg6OmxhbWJkYV9vcjwKKyAgICAgICAgICAgICAgQk9PU1RfTVBMX0FVWF9NU1ZDX1ZBTFVFX1dLTkQoaXNfbGUxKTo6dmFsdWUKKyAgICAgICAgICAgID4gaXNfbGU7CisKKyAgICAgICAgdHlwZWRlZiBiaW5kMTwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgRjo6cmViaW5kCisgICAgICAgICAgICAsIHR5cGVuYW1lIGwxOjp0eXBlCisgICAgICAgICAgICA+IGJpbmRfOworCisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgaWZfPAorICAgICAgICAgICAgICBpc19sZQorICAgICAgICAgICAgLCBpZl88IFByb3RlY3QsIG1wbDo6cHJvdGVjdDxiaW5kXz4sIGJpbmRfID4KKyAgICAgICAgICAgICwgaWRlbnRpdHk8Rj4KKyAgICAgICAgICAgID46OnR5cGUgdHlwZV87CisKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSB0eXBlXzo6dHlwZSB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCBsYW1iZGFfaW1wbDwgaW50XzwyPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIEYsIHR5cGVuYW1lIFRhZywgdHlwZW5hbWUgUHJvdGVjdCA+IHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIGxhbWJkYTwgdHlwZW5hbWUgRjo6YXJnMSwgVGFnLCBmYWxzZV8gPiBsMTsKKyAgICAgICAgdHlwZWRlZiBsYW1iZGE8IHR5cGVuYW1lIEY6OmFyZzIsIFRhZywgZmFsc2VfID4gbDI7CisgICAgICAgIAorICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGwxOjppc19sZSBpc19sZTE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbDI6OmlzX2xlIGlzX2xlMjsKKyAgICAgICAgCisKKyAgICAgICAgdHlwZWRlZiBhdXg6OmxhbWJkYV9vcjwKKyAgICAgICAgICAgICAgQk9PU1RfTVBMX0FVWF9NU1ZDX1ZBTFVFX1dLTkQoaXNfbGUxKTo6dmFsdWUsIEJPT1NUX01QTF9BVVhfTVNWQ19WQUxVRV9XS05EKGlzX2xlMik6OnZhbHVlCisgICAgICAgICAgICA+IGlzX2xlOworCisgICAgICAgIHR5cGVkZWYgYmluZDI8CisgICAgICAgICAgICAgIHR5cGVuYW1lIEY6OnJlYmluZAorICAgICAgICAgICAgLCB0eXBlbmFtZSBsMTo6dHlwZSwgdHlwZW5hbWUgbDI6OnR5cGUKKyAgICAgICAgICAgID4gYmluZF87CisKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBpZl88CisgICAgICAgICAgICAgIGlzX2xlCisgICAgICAgICAgICAsIGlmXzwgUHJvdGVjdCwgbXBsOjpwcm90ZWN0PGJpbmRfPiwgYmluZF8gPgorICAgICAgICAgICAgLCBpZGVudGl0eTxGPgorICAgICAgICAgICAgPjo6dHlwZSB0eXBlXzsKKworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHR5cGVfOjp0eXBlIHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4gc3RydWN0IGxhbWJkYV9pbXBsPCBpbnRfPDM+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVGFnLCB0eXBlbmFtZSBQcm90ZWN0ID4gc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgbGFtYmRhPCB0eXBlbmFtZSBGOjphcmcxLCBUYWcsIGZhbHNlXyA+IGwxOworICAgICAgICB0eXBlZGVmIGxhbWJkYTwgdHlwZW5hbWUgRjo6YXJnMiwgVGFnLCBmYWxzZV8gPiBsMjsKKyAgICAgICAgdHlwZWRlZiBsYW1iZGE8IHR5cGVuYW1lIEY6OmFyZzMsIFRhZywgZmFsc2VfID4gbDM7CisgICAgICAgIAorICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGwxOjppc19sZSBpc19sZTE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbDI6OmlzX2xlIGlzX2xlMjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBsMzo6aXNfbGUgaXNfbGUzOworICAgICAgICAKKworICAgICAgICB0eXBlZGVmIGF1eDo6bGFtYmRhX29yPAorICAgICAgICAgICAgICBCT09TVF9NUExfQVVYX01TVkNfVkFMVUVfV0tORChpc19sZTEpOjp2YWx1ZSwgQk9PU1RfTVBMX0FVWF9NU1ZDX1ZBTFVFX1dLTkQoaXNfbGUyKTo6dmFsdWUsIEJPT1NUX01QTF9BVVhfTVNWQ19WQUxVRV9XS05EKGlzX2xlMyk6OnZhbHVlCisgICAgICAgICAgICA+IGlzX2xlOworCisgICAgICAgIHR5cGVkZWYgYmluZDM8CisgICAgICAgICAgICAgIHR5cGVuYW1lIEY6OnJlYmluZAorICAgICAgICAgICAgLCB0eXBlbmFtZSBsMTo6dHlwZSwgdHlwZW5hbWUgbDI6OnR5cGUsIHR5cGVuYW1lIGwzOjp0eXBlCisgICAgICAgICAgICA+IGJpbmRfOworCisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgaWZfPAorICAgICAgICAgICAgICBpc19sZQorICAgICAgICAgICAgLCBpZl88IFByb3RlY3QsIG1wbDo6cHJvdGVjdDxiaW5kXz4sIGJpbmRfID4KKyAgICAgICAgICAgICwgaWRlbnRpdHk8Rj4KKyAgICAgICAgICAgID46OnR5cGUgdHlwZV87CisKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSB0eXBlXzo6dHlwZSB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCBsYW1iZGFfaW1wbDwgaW50Xzw0PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIEYsIHR5cGVuYW1lIFRhZywgdHlwZW5hbWUgUHJvdGVjdCA+IHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIGxhbWJkYTwgdHlwZW5hbWUgRjo6YXJnMSwgVGFnLCBmYWxzZV8gPiBsMTsKKyAgICAgICAgdHlwZWRlZiBsYW1iZGE8IHR5cGVuYW1lIEY6OmFyZzIsIFRhZywgZmFsc2VfID4gbDI7CisgICAgICAgIHR5cGVkZWYgbGFtYmRhPCB0eXBlbmFtZSBGOjphcmczLCBUYWcsIGZhbHNlXyA+IGwzOworICAgICAgICB0eXBlZGVmIGxhbWJkYTwgdHlwZW5hbWUgRjo6YXJnNCwgVGFnLCBmYWxzZV8gPiBsNDsKKyAgICAgICAgCisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbDE6OmlzX2xlIGlzX2xlMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBsMjo6aXNfbGUgaXNfbGUyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGwzOjppc19sZSBpc19sZTM7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbDQ6OmlzX2xlIGlzX2xlNDsKKyAgICAgICAgCisKKyAgICAgICAgdHlwZWRlZiBhdXg6OmxhbWJkYV9vcjwKKyAgICAgICAgICAgICAgQk9PU1RfTVBMX0FVWF9NU1ZDX1ZBTFVFX1dLTkQoaXNfbGUxKTo6dmFsdWUsIEJPT1NUX01QTF9BVVhfTVNWQ19WQUxVRV9XS05EKGlzX2xlMik6OnZhbHVlLCBCT09TVF9NUExfQVVYX01TVkNfVkFMVUVfV0tORChpc19sZTMpOjp2YWx1ZSwgQk9PU1RfTVBMX0FVWF9NU1ZDX1ZBTFVFX1dLTkQoaXNfbGU0KTo6dmFsdWUKKyAgICAgICAgICAgID4gaXNfbGU7CisKKyAgICAgICAgdHlwZWRlZiBiaW5kNDwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgRjo6cmViaW5kCisgICAgICAgICAgICAsIHR5cGVuYW1lIGwxOjp0eXBlLCB0eXBlbmFtZSBsMjo6dHlwZSwgdHlwZW5hbWUgbDM6OnR5cGUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgbDQ6OnR5cGUKKyAgICAgICAgICAgID4gYmluZF87CisKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBpZl88CisgICAgICAgICAgICAgIGlzX2xlCisgICAgICAgICAgICAsIGlmXzwgUHJvdGVjdCwgbXBsOjpwcm90ZWN0PGJpbmRfPiwgYmluZF8gPgorICAgICAgICAgICAgLCBpZGVudGl0eTxGPgorICAgICAgICAgICAgPjo6dHlwZSB0eXBlXzsKKworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHR5cGVfOjp0eXBlIHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4gc3RydWN0IGxhbWJkYV9pbXBsPCBpbnRfPDU+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVGFnLCB0eXBlbmFtZSBQcm90ZWN0ID4gc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgbGFtYmRhPCB0eXBlbmFtZSBGOjphcmcxLCBUYWcsIGZhbHNlXyA+IGwxOworICAgICAgICB0eXBlZGVmIGxhbWJkYTwgdHlwZW5hbWUgRjo6YXJnMiwgVGFnLCBmYWxzZV8gPiBsMjsKKyAgICAgICAgdHlwZWRlZiBsYW1iZGE8IHR5cGVuYW1lIEY6OmFyZzMsIFRhZywgZmFsc2VfID4gbDM7CisgICAgICAgIHR5cGVkZWYgbGFtYmRhPCB0eXBlbmFtZSBGOjphcmc0LCBUYWcsIGZhbHNlXyA+IGw0OworICAgICAgICB0eXBlZGVmIGxhbWJkYTwgdHlwZW5hbWUgRjo6YXJnNSwgVGFnLCBmYWxzZV8gPiBsNTsKKyAgICAgICAgCisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbDE6OmlzX2xlIGlzX2xlMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBsMjo6aXNfbGUgaXNfbGUyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGwzOjppc19sZSBpc19sZTM7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbDQ6OmlzX2xlIGlzX2xlNDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBsNTo6aXNfbGUgaXNfbGU1OworICAgICAgICAKKworICAgICAgICB0eXBlZGVmIGF1eDo6bGFtYmRhX29yPAorICAgICAgICAgICAgICBCT09TVF9NUExfQVVYX01TVkNfVkFMVUVfV0tORChpc19sZTEpOjp2YWx1ZSwgQk9PU1RfTVBMX0FVWF9NU1ZDX1ZBTFVFX1dLTkQoaXNfbGUyKTo6dmFsdWUsIEJPT1NUX01QTF9BVVhfTVNWQ19WQUxVRV9XS05EKGlzX2xlMyk6OnZhbHVlLCBCT09TVF9NUExfQVVYX01TVkNfVkFMVUVfV0tORChpc19sZTQpOjp2YWx1ZSwgQk9PU1RfTVBMX0FVWF9NU1ZDX1ZBTFVFX1dLTkQoaXNfbGU1KTo6dmFsdWUKKyAgICAgICAgICAgID4gaXNfbGU7CisKKyAgICAgICAgdHlwZWRlZiBiaW5kNTwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgRjo6cmViaW5kCisgICAgICAgICAgICAsIHR5cGVuYW1lIGwxOjp0eXBlLCB0eXBlbmFtZSBsMjo6dHlwZSwgdHlwZW5hbWUgbDM6OnR5cGUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgbDQ6OnR5cGUsIHR5cGVuYW1lIGw1Ojp0eXBlCisgICAgICAgICAgICA+IGJpbmRfOworCisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgaWZfPAorICAgICAgICAgICAgICBpc19sZQorICAgICAgICAgICAgLCBpZl88IFByb3RlY3QsIG1wbDo6cHJvdGVjdDxiaW5kXz4sIGJpbmRfID4KKyAgICAgICAgICAgICwgaWRlbnRpdHk8Rj4KKyAgICAgICAgICAgID46OnR5cGUgdHlwZV87CisKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSB0eXBlXzo6dHlwZSB0eXBlOworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUCisgICAgLCB0eXBlbmFtZSBUYWcKKyAgICAsIHR5cGVuYW1lIFByb3RlY3QKKyAgICA+CitzdHJ1Y3QgbGFtYmRhCit7CisgICAgLy8vIE1ldGFmdW5jdGlvbiBmb3J3YXJkaW5nIGNvbmZ1c2VzIE1TVkMgNi54CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhdXg6OnRlbXBsYXRlX2FyaXR5PFQ+Ojp0eXBlIGFyaXR5XzsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGF1eDo6bGFtYmRhX2ltcGw8YXJpdHlfPgorICAgICAgICA6OnRlbXBsYXRlIHJlc3VsdF88IFQsVGFnLFByb3RlY3QgPiBsXzsKKworICAgIHR5cGVkZWYgdHlwZW5hbWUgbF86OnR5cGUgdHlwZTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxfOjppc19sZSBpc19sZTsKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKDMsIGxhbWJkYSwgKFQsIFRhZywgUHJvdGVjdCkpCit9OworCitCT09TVF9NUExfQVVYX05BX1NQRUMyKDEsIDMsIGxhbWJkYSkKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUCisgICAgPgorc3RydWN0IGlzX2xhbWJkYV9leHByZXNzaW9uCisgICAgOiBsYW1iZGE8VD46OmlzX2xlCit7Cit9OworCit9fQorCmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjL2xlc3MuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjYy9sZXNzLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YmVlMWU2Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjYy9sZXNzLmhwcApAQCAtMCwwICsxLDk0IEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gKlByZXByb2Nlc3NlZCogdmVyc2lvbiBvZiB0aGUgbWFpbiAibGVzcy5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUYWcxCisgICAgLCB0eXBlbmFtZSBUYWcyCisgICAgPgorc3RydWN0IGxlc3NfaW1wbAorICAgIDogaWZfYzwKKyAgICAgICAgICAoIEJPT1NUX01QTF9BVVhfTkVTVEVEX1ZBTFVFX1dLTkQoaW50LCBUYWcxKQorICAgICAgICAgICAgICA+IEJPT1NUX01QTF9BVVhfTkVTVEVEX1ZBTFVFX1dLTkQoaW50LCBUYWcyKQorICAgICAgICAgICAgKQorCisgICAgICAgICwgYXV4OjpjYXN0Mm5kX2ltcGw8IGxlc3NfaW1wbDwgVGFnMSxUYWcxID4sVGFnMSwgVGFnMiA+CisgICAgICAgICwgYXV4OjpjYXN0MXN0X2ltcGw8IGxlc3NfaW1wbDwgVGFnMixUYWcyID4sVGFnMSwgVGFnMiA+CisgICAgICAgID46OnR5cGUKK3sKK307CisKKy8vLyBmb3IgRGlnaXRhbCBNYXJzIEMrKy9jb21waWxlcnMgd2l0aCBubyBDVFBTL1RUUCBzdXBwb3J0Cit0ZW1wbGF0ZTw+IHN0cnVjdCBsZXNzX2ltcGw8IG5hLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVGFnID4gc3RydWN0IGxlc3NfaW1wbDwgbmEsVGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVGFnID4gc3RydWN0IGxlc3NfaW1wbDwgVGFnLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVCA+IHN0cnVjdCBsZXNzX3RhZworeworICAgIHR5cGVkZWYgdHlwZW5hbWUgVDo6dGFnIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjEpCisgICAgLCB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4yKQorICAgID4KK3N0cnVjdCBsZXNzCisKKyAgICA6IGxlc3NfaW1wbDwKKyAgICAgICAgICB0eXBlbmFtZSBsZXNzX3RhZzxOMT46OnR5cGUKKyAgICAgICAgLCB0eXBlbmFtZSBsZXNzX3RhZzxOMj46OnR5cGUKKyAgICAgICAgPjo6dGVtcGxhdGUgYXBwbHk8IE4xLE4yID46OnR5cGUKK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKDIsIGxlc3MsIChOMSwgTjIpKQorCit9OworCitCT09TVF9NUExfQVVYX05BX1NQRUMyKDIsIDIsIGxlc3MpCisKK319CisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgbGVzc19pbXBsPCBpbnRlZ3JhbF9jX3RhZyxpbnRlZ3JhbF9jX3RhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIE4xLCB0eXBlbmFtZSBOMiA+IHN0cnVjdCBhcHBseQorCisgICAgICAgIDogYm9vbF88ICggQk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4yKTo6dmFsdWUgPiBCT09TVF9NUExfQVVYX1ZBTFVFX1dLTkQoTjEpOjp2YWx1ZSApID4KKyAgICB7CisgICAgfTsKK307CisKK319CmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjL2xlc3NfZXF1YWwuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjYy9sZXNzX2VxdWFsLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZDA4MDc1Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjYy9sZXNzX2VxdWFsLmhwcApAQCAtMCwwICsxLDk0IEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gKlByZXByb2Nlc3NlZCogdmVyc2lvbiBvZiB0aGUgbWFpbiAibGVzc19lcXVhbC5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUYWcxCisgICAgLCB0eXBlbmFtZSBUYWcyCisgICAgPgorc3RydWN0IGxlc3NfZXF1YWxfaW1wbAorICAgIDogaWZfYzwKKyAgICAgICAgICAoIEJPT1NUX01QTF9BVVhfTkVTVEVEX1ZBTFVFX1dLTkQoaW50LCBUYWcxKQorICAgICAgICAgICAgICA+IEJPT1NUX01QTF9BVVhfTkVTVEVEX1ZBTFVFX1dLTkQoaW50LCBUYWcyKQorICAgICAgICAgICAgKQorCisgICAgICAgICwgYXV4OjpjYXN0Mm5kX2ltcGw8IGxlc3NfZXF1YWxfaW1wbDwgVGFnMSxUYWcxID4sVGFnMSwgVGFnMiA+CisgICAgICAgICwgYXV4OjpjYXN0MXN0X2ltcGw8IGxlc3NfZXF1YWxfaW1wbDwgVGFnMixUYWcyID4sVGFnMSwgVGFnMiA+CisgICAgICAgID46OnR5cGUKK3sKK307CisKKy8vLyBmb3IgRGlnaXRhbCBNYXJzIEMrKy9jb21waWxlcnMgd2l0aCBubyBDVFBTL1RUUCBzdXBwb3J0Cit0ZW1wbGF0ZTw+IHN0cnVjdCBsZXNzX2VxdWFsX2ltcGw8IG5hLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVGFnID4gc3RydWN0IGxlc3NfZXF1YWxfaW1wbDwgbmEsVGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVGFnID4gc3RydWN0IGxlc3NfZXF1YWxfaW1wbDwgVGFnLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVCA+IHN0cnVjdCBsZXNzX2VxdWFsX3RhZworeworICAgIHR5cGVkZWYgdHlwZW5hbWUgVDo6dGFnIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjEpCisgICAgLCB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4yKQorICAgID4KK3N0cnVjdCBsZXNzX2VxdWFsCisKKyAgICA6IGxlc3NfZXF1YWxfaW1wbDwKKyAgICAgICAgICB0eXBlbmFtZSBsZXNzX2VxdWFsX3RhZzxOMT46OnR5cGUKKyAgICAgICAgLCB0eXBlbmFtZSBsZXNzX2VxdWFsX3RhZzxOMj46OnR5cGUKKyAgICAgICAgPjo6dGVtcGxhdGUgYXBwbHk8IE4xLE4yID46OnR5cGUKK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKDIsIGxlc3NfZXF1YWwsIChOMSwgTjIpKQorCit9OworCitCT09TVF9NUExfQVVYX05BX1NQRUMyKDIsIDIsIGxlc3NfZXF1YWwpCisKK319CisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgbGVzc19lcXVhbF9pbXBsPCBpbnRlZ3JhbF9jX3RhZyxpbnRlZ3JhbF9jX3RhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIE4xLCB0eXBlbmFtZSBOMiA+IHN0cnVjdCBhcHBseQorCisgICAgICAgIDogYm9vbF88ICggQk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4xKTo6dmFsdWUgPD0gQk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4yKTo6dmFsdWUgKSA+CisgICAgeworICAgIH07Cit9OworCit9fQpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjYy9saXN0LmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2MvbGlzdC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzhlZGJjYwotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2MvbGlzdC5ocHAKQEAgLTAsMCArMSwzMjMgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyAqUHJlcHJvY2Vzc2VkKiB2ZXJzaW9uIG9mIHRoZSBtYWluICJsaXN0LmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwID0gbmEsIHR5cGVuYW1lIFQxID0gbmEsIHR5cGVuYW1lIFQyID0gbmEsIHR5cGVuYW1lIFQzID0gbmEKKyAgICAsIHR5cGVuYW1lIFQ0ID0gbmEsIHR5cGVuYW1lIFQ1ID0gbmEsIHR5cGVuYW1lIFQ2ID0gbmEsIHR5cGVuYW1lIFQ3ID0gbmEKKyAgICAsIHR5cGVuYW1lIFQ4ID0gbmEsIHR5cGVuYW1lIFQ5ID0gbmEsIHR5cGVuYW1lIFQxMCA9IG5hLCB0eXBlbmFtZSBUMTEgPSBuYQorICAgICwgdHlwZW5hbWUgVDEyID0gbmEsIHR5cGVuYW1lIFQxMyA9IG5hLCB0eXBlbmFtZSBUMTQgPSBuYQorICAgICwgdHlwZW5hbWUgVDE1ID0gbmEsIHR5cGVuYW1lIFQxNiA9IG5hLCB0eXBlbmFtZSBUMTcgPSBuYQorICAgICwgdHlwZW5hbWUgVDE4ID0gbmEsIHR5cGVuYW1lIFQxOSA9IG5hCisgICAgPgorc3RydWN0IGxpc3Q7CisKK3RlbXBsYXRlPAorICAgICAKKyAgICA+CitzdHJ1Y3QgbGlzdDwKKyAgICAgICAgICBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IGxpc3QwPCAgPgoreworICAgIHR5cGVkZWYgbGlzdDA8ICA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwCisgICAgPgorc3RydWN0IGxpc3Q8CisgICAgICAgICAgVDAsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBsaXN0MTxUMD4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3QxPFQwPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEKKyAgICA+CitzdHJ1Y3QgbGlzdDwKKyAgICAgICAgICBUMCwgVDEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IGxpc3QyPCBUMCxUMSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0MjwgVDAsVDEgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyCisgICAgPgorc3RydWN0IGxpc3Q8CisgICAgICAgICAgVDAsIFQxLCBUMiwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBsaXN0MzwgVDAsVDEsVDIgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDM8IFQwLFQxLFQyID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMKKyAgICA+CitzdHJ1Y3QgbGlzdDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IGxpc3Q0PCBUMCxUMSxUMixUMyA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0NDwgVDAsVDEsVDIsVDMgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICA+CitzdHJ1Y3QgbGlzdDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IGxpc3Q1PCBUMCxUMSxUMixUMyxUNCA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0NTwgVDAsVDEsVDIsVDMsVDQgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1CisgICAgPgorc3RydWN0IGxpc3Q8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBsaXN0NjwgVDAsVDEsVDIsVDMsVDQsVDUgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDY8IFQwLFQxLFQyLFQzLFQ0LFQ1ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYKKyAgICA+CitzdHJ1Y3QgbGlzdDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IGxpc3Q3PCBUMCxUMSxUMixUMyxUNCxUNSxUNiA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0NzwgVDAsVDEsVDIsVDMsVDQsVDUsVDYgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcKKyAgICA+CitzdHJ1Y3QgbGlzdDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IGxpc3Q4PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0ODwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4CisgICAgPgorc3RydWN0IGxpc3Q8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBsaXN0OTwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDggPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDk8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICA+CitzdHJ1Y3QgbGlzdDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IGxpc3QxMDwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDkgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDEwPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAKKyAgICA+CitzdHJ1Y3QgbGlzdDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBsaXN0MTE8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0MTE8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMQorICAgID4KK3N0cnVjdCBsaXN0PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBsaXN0MTI8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDEyPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIKKyAgICA+CitzdHJ1Y3QgbGlzdDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IGxpc3QxMzwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDEzPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMiA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMKKyAgICA+CitzdHJ1Y3QgbGlzdDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBsaXN0MTQ8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0MTQ8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgID4KK3N0cnVjdCBsaXN0PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNCwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBsaXN0MTU8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3QxNTwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzLFQxNCA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICwgdHlwZW5hbWUgVDE1CisgICAgPgorc3RydWN0IGxpc3Q8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1LCBuYSwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBsaXN0MTY8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3QxNjwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzLFQxNCxUMTUgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2CisgICAgPgorc3RydWN0IGxpc3Q8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1LCBUMTYsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogbGlzdDE3PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgVDE2CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3QxNzwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzLFQxNCxUMTUsVDE2ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3CisgICAgPgorc3RydWN0IGxpc3Q8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1LCBUMTYsIFQxNywgbmEsIG5hCisgICAgICAgID4KKyAgICA6IGxpc3QxODwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgLCBUMTUsIFQxNiwgVDE3CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3QxODwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzLFQxNCxUMTUsVDE2LFQxNyA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4CisgICAgPgorc3RydWN0IGxpc3Q8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1LCBUMTYsIFQxNywgVDE4LCBuYQorICAgICAgICA+CisgICAgOiBsaXN0MTk8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1LCBUMTYsIFQxNywgVDE4CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3QxOTwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzLFQxNCxUMTUsVDE2LFQxNyxUMTggPjo6dHlwZSB0eXBlOworfTsKKworLy8vIHByaW1hcnkgdGVtcGxhdGUgKG5vdCBhIHNwZWNpYWxpemF0aW9uISkKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgPgorc3RydWN0IGxpc3QKKyAgICA6IGxpc3QyMDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgLCBUMTUsIFQxNiwgVDE3LCBUMTgsIFQxOQorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0MjA8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyxUMTQsVDE1LFQxNixUMTcsVDE4LFQxOSA+Ojp0eXBlIHR5cGU7Cit9OworCit9fQorCmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjL2xpc3RfYy5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjL2xpc3RfYy5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjFiYjM2YgotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2MvbGlzdF9jLmhwcApAQCAtMCwwICsxLDMyOCBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vICpQcmVwcm9jZXNzZWQqIHZlcnNpb24gb2YgdGhlIG1haW4gImxpc3RfYy5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwID0gTE9OR19NQVgsIGxvbmcgQzEgPSBMT05HX01BWCwgbG9uZyBDMiA9IExPTkdfTUFYCisgICAgLCBsb25nIEMzID0gTE9OR19NQVgsIGxvbmcgQzQgPSBMT05HX01BWCwgbG9uZyBDNSA9IExPTkdfTUFYCisgICAgLCBsb25nIEM2ID0gTE9OR19NQVgsIGxvbmcgQzcgPSBMT05HX01BWCwgbG9uZyBDOCA9IExPTkdfTUFYCisgICAgLCBsb25nIEM5ID0gTE9OR19NQVgsIGxvbmcgQzEwID0gTE9OR19NQVgsIGxvbmcgQzExID0gTE9OR19NQVgKKyAgICAsIGxvbmcgQzEyID0gTE9OR19NQVgsIGxvbmcgQzEzID0gTE9OR19NQVgsIGxvbmcgQzE0ID0gTE9OR19NQVgKKyAgICAsIGxvbmcgQzE1ID0gTE9OR19NQVgsIGxvbmcgQzE2ID0gTE9OR19NQVgsIGxvbmcgQzE3ID0gTE9OR19NQVgKKyAgICAsIGxvbmcgQzE4ID0gTE9OR19NQVgsIGxvbmcgQzE5ID0gTE9OR19NQVgKKyAgICA+CitzdHJ1Y3QgbGlzdF9jOworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQKKyAgICA+CitzdHJ1Y3QgbGlzdF9jPAorICAgICAgICAgIFQsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IGxpc3QwX2M8VD4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3QwX2M8VD46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMAorICAgID4KK3N0cnVjdCBsaXN0X2M8CisgICAgICAgICAgVCwgQzAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogbGlzdDFfYzwgVCxDMCA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0MV9jPCBULEMwID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMQorICAgID4KK3N0cnVjdCBsaXN0X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogbGlzdDJfYzwgVCxDMCxDMSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0Ml9jPCBULEMwLEMxID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMgorICAgID4KK3N0cnVjdCBsaXN0X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogbGlzdDNfYzwgVCxDMCxDMSxDMiA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0M19jPCBULEMwLEMxLEMyID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMworICAgID4KK3N0cnVjdCBsaXN0X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogbGlzdDRfYzwgVCxDMCxDMSxDMixDMyA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0NF9jPCBULEMwLEMxLEMyLEMzID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNAorICAgID4KK3N0cnVjdCBsaXN0X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogbGlzdDVfYzwgVCxDMCxDMSxDMixDMyxDNCA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0NV9jPCBULEMwLEMxLEMyLEMzLEM0ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgID4KK3N0cnVjdCBsaXN0X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogbGlzdDZfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0Nl9jPCBULEMwLEMxLEMyLEMzLEM0LEM1ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICwgbG9uZyBDNgorICAgID4KK3N0cnVjdCBsaXN0X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogbGlzdDdfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNiA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0N19jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICwgbG9uZyBDNiwgbG9uZyBDNworICAgID4KK3N0cnVjdCBsaXN0X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogbGlzdDhfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0OF9jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2LEM3ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOAorICAgID4KK3N0cnVjdCBsaXN0X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogbGlzdDlfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyxDOCA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0OV9jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2LEM3LEM4ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOQorICAgID4KK3N0cnVjdCBsaXN0X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogbGlzdDEwX2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcsQzgsQzkgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDEwX2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcsQzgsQzkgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMAorICAgID4KK3N0cnVjdCBsaXN0X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogbGlzdDExX2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcsQzgsQzksQzEwID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3QxMV9jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2LEM3LEM4LEM5LEMxMCA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMQorICAgID4KK3N0cnVjdCBsaXN0X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IGxpc3QxMl9jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2LEM3LEM4LEM5LEMxMCxDMTEgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDEyX2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcsQzgsQzksQzEwLEMxMSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICA+CitzdHJ1Y3QgbGlzdF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogbGlzdDEzX2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcsQzgsQzksQzEwLEMxMSxDMTIgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDEzX2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcsQzgsQzksQzEwLEMxMSxDMTIgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgLCBsb25nIEMxMworICAgID4KK3N0cnVjdCBsaXN0X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBDMTIsIEMxMworICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogbGlzdDE0X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBDMTIsIEMxMworICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0MTRfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyxDOCxDOSxDMTAsQzExLEMxMixDMTMgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgLCBsb25nIEMxMywgbG9uZyBDMTQKKyAgICA+CitzdHJ1Y3QgbGlzdF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMsIEMxNAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiBsaXN0MTVfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIEMxMiwgQzEzLCBDMTQKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDE1X2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcsQzgsQzksQzEwLEMxMSxDMTIsQzEzLEMxNCA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAsIGxvbmcgQzEzLCBsb25nIEMxNCwgbG9uZyBDMTUKKyAgICA+CitzdHJ1Y3QgbGlzdF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMsIEMxNAorICAgICAgICAsIEMxNSwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogbGlzdDE2X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBDMTIsIEMxMywgQzE0CisgICAgICAgICwgQzE1CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3QxNl9jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2LEM3LEM4LEM5LEMxMCxDMTEsQzEyLEMxMyxDMTQsQzE1ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNSwgbG9uZyBDMTYKKyAgICA+CitzdHJ1Y3QgbGlzdF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMsIEMxNAorICAgICAgICAsIEMxNSwgQzE2LCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IGxpc3QxN19jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMsIEMxNAorICAgICAgICAsIEMxNSwgQzE2CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3QxN19jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2LEM3LEM4LEM5LEMxMCxDMTEsQzEyLEMxMyxDMTQsQzE1LEMxNiA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAsIGxvbmcgQzEzLCBsb25nIEMxNCwgbG9uZyBDMTUsIGxvbmcgQzE2LCBsb25nIEMxNworICAgID4KK3N0cnVjdCBsaXN0X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBDMTIsIEMxMywgQzE0CisgICAgICAgICwgQzE1LCBDMTYsIEMxNywgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IGxpc3QxOF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMsIEMxNAorICAgICAgICAsIEMxNSwgQzE2LCBDMTcKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDE4X2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcsQzgsQzksQzEwLEMxMSxDMTIsQzEzLEMxNCxDMTUsQzE2LEMxNyA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAsIGxvbmcgQzEzLCBsb25nIEMxNCwgbG9uZyBDMTUsIGxvbmcgQzE2LCBsb25nIEMxNywgbG9uZyBDMTgKKyAgICA+CitzdHJ1Y3QgbGlzdF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMsIEMxNAorICAgICAgICAsIEMxNSwgQzE2LCBDMTcsIEMxOCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogbGlzdDE5X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBDMTIsIEMxMywgQzE0CisgICAgICAgICwgQzE1LCBDMTYsIEMxNywgQzE4CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3QxOV9jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2LEM3LEM4LEM5LEMxMCxDMTEsQzEyLEMxMyxDMTQsQzE1LEMxNixDMTcsQzE4ID46OnR5cGUgdHlwZTsKK307CisKKy8vLyBwcmltYXJ5IHRlbXBsYXRlIChub3QgYSBzcGVjaWFsaXphdGlvbiEpCisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNSwgbG9uZyBDMTYsIGxvbmcgQzE3LCBsb25nIEMxOCwgbG9uZyBDMTkKKyAgICA+CitzdHJ1Y3QgbGlzdF9jCisgICAgOiBsaXN0MjBfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIEMxMiwgQzEzLCBDMTQKKyAgICAgICAgLCBDMTUsIEMxNiwgQzE3LCBDMTgsIEMxOQorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0MjBfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyxDOCxDOSxDMTAsQzExLEMxMixDMTMsQzE0LEMxNSxDMTYsQzE3LEMxOCxDMTkgPjo6dHlwZSB0eXBlOworfTsKKworfX0KKwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjYy9tYXAuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjYy9tYXAuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU2Zjg5NjQKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjL21hcC5ocHAKQEAgLTAsMCArMSwzMjMgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyAqUHJlcHJvY2Vzc2VkKiB2ZXJzaW9uIG9mIHRoZSBtYWluICJtYXAuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAgPSBuYSwgdHlwZW5hbWUgVDEgPSBuYSwgdHlwZW5hbWUgVDIgPSBuYSwgdHlwZW5hbWUgVDMgPSBuYQorICAgICwgdHlwZW5hbWUgVDQgPSBuYSwgdHlwZW5hbWUgVDUgPSBuYSwgdHlwZW5hbWUgVDYgPSBuYSwgdHlwZW5hbWUgVDcgPSBuYQorICAgICwgdHlwZW5hbWUgVDggPSBuYSwgdHlwZW5hbWUgVDkgPSBuYSwgdHlwZW5hbWUgVDEwID0gbmEsIHR5cGVuYW1lIFQxMSA9IG5hCisgICAgLCB0eXBlbmFtZSBUMTIgPSBuYSwgdHlwZW5hbWUgVDEzID0gbmEsIHR5cGVuYW1lIFQxNCA9IG5hCisgICAgLCB0eXBlbmFtZSBUMTUgPSBuYSwgdHlwZW5hbWUgVDE2ID0gbmEsIHR5cGVuYW1lIFQxNyA9IG5hCisgICAgLCB0eXBlbmFtZSBUMTggPSBuYSwgdHlwZW5hbWUgVDE5ID0gbmEKKyAgICA+CitzdHJ1Y3QgbWFwOworCit0ZW1wbGF0ZTwKKyAgICAgCisgICAgPgorc3RydWN0IG1hcDwKKyAgICAgICAgICBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IG1hcDA8ICA+Cit7CisgICAgdHlwZWRlZiBtYXAwPCAgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMAorICAgID4KK3N0cnVjdCBtYXA8CisgICAgICAgICAgVDAsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBtYXAxPFQwPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbWFwMTxUMD46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxCisgICAgPgorc3RydWN0IG1hcDwKKyAgICAgICAgICBUMCwgVDEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IG1hcDI8IFQwLFQxID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1hcDI8IFQwLFQxID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMgorICAgID4KK3N0cnVjdCBtYXA8CisgICAgICAgICAgVDAsIFQxLCBUMiwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBtYXAzPCBUMCxUMSxUMiA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtYXAzPCBUMCxUMSxUMiA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzCisgICAgPgorc3RydWN0IG1hcDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IG1hcDQ8IFQwLFQxLFQyLFQzID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1hcDQ8IFQwLFQxLFQyLFQzID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgPgorc3RydWN0IG1hcDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IG1hcDU8IFQwLFQxLFQyLFQzLFQ0ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1hcDU8IFQwLFQxLFQyLFQzLFQ0ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNQorICAgID4KK3N0cnVjdCBtYXA8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBtYXA2PCBUMCxUMSxUMixUMyxUNCxUNSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtYXA2PCBUMCxUMSxUMixUMyxUNCxUNSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2CisgICAgPgorc3RydWN0IG1hcDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IG1hcDc8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1hcDc8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3CisgICAgPgorc3RydWN0IG1hcDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IG1hcDg8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1hcDg8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOAorICAgID4KK3N0cnVjdCBtYXA8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBtYXA5PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtYXA5PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgPgorc3RydWN0IG1hcDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IG1hcDEwPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtYXAxMDwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDkgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwCisgICAgPgorc3RydWN0IG1hcDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBtYXAxMTwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1hcDExPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEKKyAgICA+CitzdHJ1Y3QgbWFwPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBtYXAxMjwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtYXAxMjwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyCisgICAgPgorc3RydWN0IG1hcDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IG1hcDEzPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMiA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtYXAxMzwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzCisgICAgPgorc3RydWN0IG1hcDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBtYXAxNDwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1hcDE0PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICA+CitzdHJ1Y3QgbWFwPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNCwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBtYXAxNTwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbWFwMTU8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyxUMTQgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAsIHR5cGVuYW1lIFQxNQorICAgID4KK3N0cnVjdCBtYXA8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1LCBuYSwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBtYXAxNjwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgLCBUMTUKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbWFwMTY8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyxUMTQsVDE1ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNgorICAgID4KK3N0cnVjdCBtYXA8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1LCBUMTYsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogbWFwMTc8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1LCBUMTYKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbWFwMTc8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyxUMTQsVDE1LFQxNiA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNworICAgID4KK3N0cnVjdCBtYXA8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1LCBUMTYsIFQxNywgbmEsIG5hCisgICAgICAgID4KKyAgICA6IG1hcDE4PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgVDE2LCBUMTcKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbWFwMTg8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyxUMTQsVDE1LFQxNixUMTcgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOAorICAgID4KK3N0cnVjdCBtYXA8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1LCBUMTYsIFQxNywgVDE4LCBuYQorICAgICAgICA+CisgICAgOiBtYXAxOTwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgLCBUMTUsIFQxNiwgVDE3LCBUMTgKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbWFwMTk8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyxUMTQsVDE1LFQxNixUMTcsVDE4ID46OnR5cGUgdHlwZTsKK307CisKKy8vLyBwcmltYXJ5IHRlbXBsYXRlIChub3QgYSBzcGVjaWFsaXphdGlvbiEpCisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgID4KK3N0cnVjdCBtYXAKKyAgICA6IG1hcDIwPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgVDE2LCBUMTcsIFQxOCwgVDE5CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1hcDIwPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMsVDE0LFQxNSxUMTYsVDE3LFQxOCxUMTkgPjo6dHlwZSB0eXBlOworfTsKKworfX0KKwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjYy9taW51cy5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjL21pbnVzLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZTM5ZDBkCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjYy9taW51cy5ocHAKQEAgLTAsMCArMSwxNDYgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyAqUHJlcHJvY2Vzc2VkKiB2ZXJzaW9uIG9mIHRoZSBtYWluICJtaW51cy5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUYWcxCisgICAgLCB0eXBlbmFtZSBUYWcyCisgICAgPgorc3RydWN0IG1pbnVzX2ltcGwKKyAgICA6IGlmX2M8CisgICAgICAgICAgKCBCT09TVF9NUExfQVVYX05FU1RFRF9WQUxVRV9XS05EKGludCwgVGFnMSkKKyAgICAgICAgICAgICAgPiBCT09TVF9NUExfQVVYX05FU1RFRF9WQUxVRV9XS05EKGludCwgVGFnMikKKyAgICAgICAgICAgICkKKworICAgICAgICAsIGF1eDo6Y2FzdDJuZF9pbXBsPCBtaW51c19pbXBsPCBUYWcxLFRhZzEgPixUYWcxLCBUYWcyID4KKyAgICAgICAgLCBhdXg6OmNhc3Qxc3RfaW1wbDwgbWludXNfaW1wbDwgVGFnMixUYWcyID4sVGFnMSwgVGFnMiA+CisgICAgICAgID46OnR5cGUKK3sKK307CisKKy8vLyBmb3IgRGlnaXRhbCBNYXJzIEMrKy9jb21waWxlcnMgd2l0aCBubyBDVFBTL1RUUCBzdXBwb3J0Cit0ZW1wbGF0ZTw+IHN0cnVjdCBtaW51c19pbXBsPCBuYSxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFRhZyA+IHN0cnVjdCBtaW51c19pbXBsPCBuYSxUYWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUYWcgPiBzdHJ1Y3QgbWludXNfaW1wbDwgVGFnLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVCA+IHN0cnVjdCBtaW51c190YWcKK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIFQ6OnRhZyB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4xKQorICAgICwgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMikKKyAgICAsIHR5cGVuYW1lIE4zID0gbmEsIHR5cGVuYW1lIE40ID0gbmEsIHR5cGVuYW1lIE41ID0gbmEKKyAgICA+CitzdHJ1Y3QgbWludXMKKyAgICA6IG1pbnVzPCBtaW51czwgbWludXM8IG1pbnVzPCBOMSxOMiA+LCBOMz4sIE40PiwgTjU+Cit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgKKyAgICAgICAgICA1CisgICAgICAgICwgbWludXMKKyAgICAgICAgLCAoIE4xLCBOMiwgTjMsIE40LCBONSApCisgICAgICAgICkKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgTjEsIHR5cGVuYW1lIE4yLCB0eXBlbmFtZSBOMywgdHlwZW5hbWUgTjQKKyAgICA+CitzdHJ1Y3QgbWludXM8IE4xLE4yLE4zLE40LG5hID4KKworICAgIDogbWludXM8IG1pbnVzPCBtaW51czwgTjEsTjIgPiwgTjM+LCBOND4KK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUX1NQRUMoCisgICAgICAgICAgNQorICAgICAgICAsIG1pbnVzCisgICAgICAgICwgKCBOMSwgTjIsIE4zLCBONCwgbmEgKQorICAgICAgICApCit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIE4xLCB0eXBlbmFtZSBOMiwgdHlwZW5hbWUgTjMKKyAgICA+CitzdHJ1Y3QgbWludXM8IE4xLE4yLE4zLG5hLG5hID4KKworICAgIDogbWludXM8IG1pbnVzPCBOMSxOMiA+LCBOMz4KK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUX1NQRUMoCisgICAgICAgICAgNQorICAgICAgICAsIG1pbnVzCisgICAgICAgICwgKCBOMSwgTjIsIE4zLCBuYSwgbmEgKQorICAgICAgICApCit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIE4xLCB0eXBlbmFtZSBOMgorICAgID4KK3N0cnVjdCBtaW51czwgTjEsTjIsbmEsbmEsbmEgPgorICAgIDogbWludXNfaW1wbDwKKyAgICAgICAgICB0eXBlbmFtZSBtaW51c190YWc8TjE+Ojp0eXBlCisgICAgICAgICwgdHlwZW5hbWUgbWludXNfdGFnPE4yPjo6dHlwZQorICAgICAgICA+Ojp0ZW1wbGF0ZSBhcHBseTwgTjEsTjIgPjo6dHlwZQoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlRfU1BFQygKKyAgICAgICAgICA1CisgICAgICAgICwgbWludXMKKyAgICAgICAgLCAoIE4xLCBOMiwgbmEsIG5hLCBuYSApCisgICAgICAgICkKKworfTsKKworQk9PU1RfTVBMX0FVWF9OQV9TUEVDMigyLCA1LCBtaW51cykKKworfX0KKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7Cit0ZW1wbGF0ZTw+CitzdHJ1Y3QgbWludXNfaW1wbDwgaW50ZWdyYWxfY190YWcsaW50ZWdyYWxfY190YWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBOMSwgdHlwZW5hbWUgTjIgPiBzdHJ1Y3QgYXBwbHkKKworICAgICAgICA6IGludGVncmFsX2M8CisgICAgICAgICAgICAgIHR5cGVuYW1lIGF1eDo6bGFyZ2VzdF9pbnQ8CisgICAgICAgICAgICAgICAgICB0eXBlbmFtZSBOMTo6dmFsdWVfdHlwZQorICAgICAgICAgICAgICAgICwgdHlwZW5hbWUgTjI6OnZhbHVlX3R5cGUKKyAgICAgICAgICAgICAgICA+Ojp0eXBlCisgICAgICAgICAgICAsICggQk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4xKTo6dmFsdWUKKyAgICAgICAgICAgICAgICAgIC0gQk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4yKTo6dmFsdWUKKyAgICAgICAgICAgICAgICApCisgICAgICAgICAgICA+CisgICAgeworICAgIH07Cit9OworCit9fQpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjYy9tb2R1bHVzLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2MvbW9kdWx1cy5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjU1MDlmMgotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2MvbW9kdWx1cy5ocHAKQEAgLTAsMCArMSwxMDEgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyAqUHJlcHJvY2Vzc2VkKiB2ZXJzaW9uIG9mIHRoZSBtYWluICJtb2R1bHVzLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFRhZzEKKyAgICAsIHR5cGVuYW1lIFRhZzIKKyAgICA+CitzdHJ1Y3QgbW9kdWx1c19pbXBsCisgICAgOiBpZl9jPAorICAgICAgICAgICggQk9PU1RfTVBMX0FVWF9ORVNURURfVkFMVUVfV0tORChpbnQsIFRhZzEpCisgICAgICAgICAgICAgID4gQk9PU1RfTVBMX0FVWF9ORVNURURfVkFMVUVfV0tORChpbnQsIFRhZzIpCisgICAgICAgICAgICApCisKKyAgICAgICAgLCBhdXg6OmNhc3QybmRfaW1wbDwgbW9kdWx1c19pbXBsPCBUYWcxLFRhZzEgPixUYWcxLCBUYWcyID4KKyAgICAgICAgLCBhdXg6OmNhc3Qxc3RfaW1wbDwgbW9kdWx1c19pbXBsPCBUYWcyLFRhZzIgPixUYWcxLCBUYWcyID4KKyAgICAgICAgPjo6dHlwZQoreworfTsKKworLy8vIGZvciBEaWdpdGFsIE1hcnMgQysrL2NvbXBpbGVycyB3aXRoIG5vIENUUFMvVFRQIHN1cHBvcnQKK3RlbXBsYXRlPD4gc3RydWN0IG1vZHVsdXNfaW1wbDwgbmEsbmEgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUYWcgPiBzdHJ1Y3QgbW9kdWx1c19pbXBsPCBuYSxUYWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUYWcgPiBzdHJ1Y3QgbW9kdWx1c19pbXBsPCBUYWcsbmEgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUID4gc3RydWN0IG1vZHVsdXNfdGFnCit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBUOjp0YWcgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMSkKKyAgICAsIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjIpCisgICAgPgorc3RydWN0IG1vZHVsdXMKKworICAgIDogbW9kdWx1c19pbXBsPAorICAgICAgICAgIHR5cGVuYW1lIG1vZHVsdXNfdGFnPE4xPjo6dHlwZQorICAgICAgICAsIHR5cGVuYW1lIG1vZHVsdXNfdGFnPE4yPjo6dHlwZQorICAgICAgICA+Ojp0ZW1wbGF0ZSBhcHBseTwgTjEsTjIgPjo6dHlwZQoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoMiwgbW9kdWx1cywgKE4xLCBOMikpCisKK307CisKK0JPT1NUX01QTF9BVVhfTkFfU1BFQzIoMiwgMiwgbW9kdWx1cykKKworfX0KKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7Cit0ZW1wbGF0ZTw+CitzdHJ1Y3QgbW9kdWx1c19pbXBsPCBpbnRlZ3JhbF9jX3RhZyxpbnRlZ3JhbF9jX3RhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIE4xLCB0eXBlbmFtZSBOMiA+IHN0cnVjdCBhcHBseQorCisgICAgICAgIDogaW50ZWdyYWxfYzwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgYXV4OjpsYXJnZXN0X2ludDwKKyAgICAgICAgICAgICAgICAgIHR5cGVuYW1lIE4xOjp2YWx1ZV90eXBlCisgICAgICAgICAgICAgICAgLCB0eXBlbmFtZSBOMjo6dmFsdWVfdHlwZQorICAgICAgICAgICAgICAgID46OnR5cGUKKyAgICAgICAgICAgICwgKCBCT09TVF9NUExfQVVYX1ZBTFVFX1dLTkQoTjEpOjp2YWx1ZQorICAgICAgICAgICAgICAgICAgJSBCT09TVF9NUExfQVVYX1ZBTFVFX1dLTkQoTjIpOjp2YWx1ZQorICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgID4KKyAgICB7CisgICAgfTsKK307CisKK319CmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjL25vdF9lcXVhbF90by5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjL25vdF9lcXVhbF90by5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDE0ZTUzNQotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2Mvbm90X2VxdWFsX3RvLmhwcApAQCAtMCwwICsxLDk0IEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gKlByZXByb2Nlc3NlZCogdmVyc2lvbiBvZiB0aGUgbWFpbiAibm90X2VxdWFsX3RvLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFRhZzEKKyAgICAsIHR5cGVuYW1lIFRhZzIKKyAgICA+CitzdHJ1Y3Qgbm90X2VxdWFsX3RvX2ltcGwKKyAgICA6IGlmX2M8CisgICAgICAgICAgKCBCT09TVF9NUExfQVVYX05FU1RFRF9WQUxVRV9XS05EKGludCwgVGFnMSkKKyAgICAgICAgICAgICAgPiBCT09TVF9NUExfQVVYX05FU1RFRF9WQUxVRV9XS05EKGludCwgVGFnMikKKyAgICAgICAgICAgICkKKworICAgICAgICAsIGF1eDo6Y2FzdDJuZF9pbXBsPCBub3RfZXF1YWxfdG9faW1wbDwgVGFnMSxUYWcxID4sVGFnMSwgVGFnMiA+CisgICAgICAgICwgYXV4OjpjYXN0MXN0X2ltcGw8IG5vdF9lcXVhbF90b19pbXBsPCBUYWcyLFRhZzIgPixUYWcxLCBUYWcyID4KKyAgICAgICAgPjo6dHlwZQoreworfTsKKworLy8vIGZvciBEaWdpdGFsIE1hcnMgQysrL2NvbXBpbGVycyB3aXRoIG5vIENUUFMvVFRQIHN1cHBvcnQKK3RlbXBsYXRlPD4gc3RydWN0IG5vdF9lcXVhbF90b19pbXBsPCBuYSxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFRhZyA+IHN0cnVjdCBub3RfZXF1YWxfdG9faW1wbDwgbmEsVGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVGFnID4gc3RydWN0IG5vdF9lcXVhbF90b19pbXBsPCBUYWcsbmEgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUID4gc3RydWN0IG5vdF9lcXVhbF90b190YWcKK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIFQ6OnRhZyB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4xKQorICAgICwgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMikKKyAgICA+CitzdHJ1Y3Qgbm90X2VxdWFsX3RvCisKKyAgICA6IG5vdF9lcXVhbF90b19pbXBsPAorICAgICAgICAgIHR5cGVuYW1lIG5vdF9lcXVhbF90b190YWc8TjE+Ojp0eXBlCisgICAgICAgICwgdHlwZW5hbWUgbm90X2VxdWFsX3RvX3RhZzxOMj46OnR5cGUKKyAgICAgICAgPjo6dGVtcGxhdGUgYXBwbHk8IE4xLE4yID46OnR5cGUKK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKDIsIG5vdF9lcXVhbF90bywgKE4xLCBOMikpCisKK307CisKK0JPT1NUX01QTF9BVVhfTkFfU1BFQzIoMiwgMiwgbm90X2VxdWFsX3RvKQorCit9fQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8Pgorc3RydWN0IG5vdF9lcXVhbF90b19pbXBsPCBpbnRlZ3JhbF9jX3RhZyxpbnRlZ3JhbF9jX3RhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIE4xLCB0eXBlbmFtZSBOMiA+IHN0cnVjdCBhcHBseQorCisgICAgICAgIDogYm9vbF88ICggQk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4xKTo6dmFsdWUgIT0gQk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4yKTo6dmFsdWUgKSA+CisgICAgeworICAgIH07Cit9OworCit9fQpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjYy9vci5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjL29yLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NDI3ZDA4Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjYy9vci5ocHAKQEAgLTAsMCArMSw2OSBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vICpQcmVwcm9jZXNzZWQqIHZlcnNpb24gb2YgdGhlIG1haW4gIm9yLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8IGJvb2wgQ18sIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0ID4KK3N0cnVjdCBvcl9pbXBsCisgICAgOiB0cnVlXworeworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0ID4KK3N0cnVjdCBvcl9pbXBsPCBmYWxzZSxUMSxUMixUMyxUNCA+CisgICAgOiBvcl9pbXBsPAorICAgICAgICAgIEJPT1NUX01QTF9BVVhfTkVTVEVEX1RZUEVfV0tORChUMSk6OnZhbHVlCisgICAgICAgICwgVDIsIFQzLCBUNAorICAgICAgICAsIGZhbHNlXworICAgICAgICA+Cit7Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3Qgb3JfaW1wbDwKKyAgICAgICAgICBmYWxzZQorICAgICAgICAsIGZhbHNlXywgZmFsc2VfLCBmYWxzZV8sIGZhbHNlXworICAgICAgICA+CisgICAgOiBmYWxzZV8KK3sKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oVDEpCisgICAgLCB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKFQyKQorICAgICwgdHlwZW5hbWUgVDMgPSBmYWxzZV8sIHR5cGVuYW1lIFQ0ID0gZmFsc2VfLCB0eXBlbmFtZSBUNSA9IGZhbHNlXworICAgID4KK3N0cnVjdCBvcl8KKworICAgIDogYXV4Ojpvcl9pbXBsPAorICAgICAgICAgIEJPT1NUX01QTF9BVVhfTkVTVEVEX1RZUEVfV0tORChUMSk6OnZhbHVlCisgICAgICAgICwgVDIsIFQzLCBUNCwgVDUKKyAgICAgICAgPgorCit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgKKyAgICAgICAgICA1CisgICAgICAgICwgb3JfCisgICAgICAgICwgKCBUMSwgVDIsIFQzLCBUNCwgVDUpCisgICAgICAgICkKK307CisKK0JPT1NUX01QTF9BVVhfTkFfU1BFQzIoCisgICAgICAyCisgICAgLCA1CisgICAgLCBvcl8KKyAgICApCisKK319CmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjL3BsYWNlaG9sZGVycy5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjL3BsYWNlaG9sZGVycy5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzMwZTQwZgotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2MvcGxhY2Vob2xkZXJzLmhwcApAQCAtMCwwICsxLDEwNSBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAxLTIwMDQKKy8vIENvcHlyaWdodCBQZXRlciBEaW1vdiAyMDAxLTIwMDMKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vICpQcmVwcm9jZXNzZWQqIHZlcnNpb24gb2YgdGhlIG1haW4gInBsYWNlaG9sZGVycy5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCitCT09TVF9NUExfQVVYX0FETF9CQVJSSUVSX05BTUVTUEFDRV9PUEVOCit0eXBlZGVmIGFyZzwgLTEgPiBfOworQk9PU1RfTVBMX0FVWF9BRExfQkFSUklFUl9OQU1FU1BBQ0VfQ0xPU0UKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCitCT09TVF9NUExfQVVYX0FSR19BRExfQkFSUklFUl9ERUNMKF8pCisKK25hbWVzcGFjZSBwbGFjZWhvbGRlcnMgewordXNpbmcgQk9PU1RfTVBMX0FVWF9BRExfQkFSUklFUl9OQU1FU1BBQ0U6Ol87Cit9CisKK319CisKKy8vLyBhZ3VydCwgMTcvbWFyLzAyOiBvbmUgbW9yZSBwbGFjZWhvbGRlciBmb3IgdGhlIGxhc3QgJ2FwcGx5IycgCisvLy8gc3BlY2lhbGl6YXRpb24KK0JPT1NUX01QTF9BVVhfQURMX0JBUlJJRVJfTkFNRVNQQUNFX09QRU4KK3R5cGVkZWYgYXJnPDE+IF8xOworCitCT09TVF9NUExfQVVYX0FETF9CQVJSSUVSX05BTUVTUEFDRV9DTE9TRQorbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK0JPT1NUX01QTF9BVVhfQVJHX0FETF9CQVJSSUVSX0RFQ0woXzEpCisKK25hbWVzcGFjZSBwbGFjZWhvbGRlcnMgewordXNpbmcgQk9PU1RfTVBMX0FVWF9BRExfQkFSUklFUl9OQU1FU1BBQ0U6Ol8xOworfQorCit9fQorQk9PU1RfTVBMX0FVWF9BRExfQkFSUklFUl9OQU1FU1BBQ0VfT1BFTgordHlwZWRlZiBhcmc8Mj4gXzI7CisKK0JPT1NUX01QTF9BVVhfQURMX0JBUlJJRVJfTkFNRVNQQUNFX0NMT1NFCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKworQk9PU1RfTVBMX0FVWF9BUkdfQURMX0JBUlJJRVJfREVDTChfMikKKworbmFtZXNwYWNlIHBsYWNlaG9sZGVycyB7Cit1c2luZyBCT09TVF9NUExfQVVYX0FETF9CQVJSSUVSX05BTUVTUEFDRTo6XzI7Cit9CisKK319CitCT09TVF9NUExfQVVYX0FETF9CQVJSSUVSX05BTUVTUEFDRV9PUEVOCit0eXBlZGVmIGFyZzwzPiBfMzsKKworQk9PU1RfTVBMX0FVWF9BRExfQkFSUklFUl9OQU1FU1BBQ0VfQ0xPU0UKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCitCT09TVF9NUExfQVVYX0FSR19BRExfQkFSUklFUl9ERUNMKF8zKQorCituYW1lc3BhY2UgcGxhY2Vob2xkZXJzIHsKK3VzaW5nIEJPT1NUX01QTF9BVVhfQURMX0JBUlJJRVJfTkFNRVNQQUNFOjpfMzsKK30KKworfX0KK0JPT1NUX01QTF9BVVhfQURMX0JBUlJJRVJfTkFNRVNQQUNFX09QRU4KK3R5cGVkZWYgYXJnPDQ+IF80OworCitCT09TVF9NUExfQVVYX0FETF9CQVJSSUVSX05BTUVTUEFDRV9DTE9TRQorbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK0JPT1NUX01QTF9BVVhfQVJHX0FETF9CQVJSSUVSX0RFQ0woXzQpCisKK25hbWVzcGFjZSBwbGFjZWhvbGRlcnMgewordXNpbmcgQk9PU1RfTVBMX0FVWF9BRExfQkFSUklFUl9OQU1FU1BBQ0U6Ol80OworfQorCit9fQorQk9PU1RfTVBMX0FVWF9BRExfQkFSUklFUl9OQU1FU1BBQ0VfT1BFTgordHlwZWRlZiBhcmc8NT4gXzU7CisKK0JPT1NUX01QTF9BVVhfQURMX0JBUlJJRVJfTkFNRVNQQUNFX0NMT1NFCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKworQk9PU1RfTVBMX0FVWF9BUkdfQURMX0JBUlJJRVJfREVDTChfNSkKKworbmFtZXNwYWNlIHBsYWNlaG9sZGVycyB7Cit1c2luZyBCT09TVF9NUExfQVVYX0FETF9CQVJSSUVSX05BTUVTUEFDRTo6XzU7Cit9CisKK319CitCT09TVF9NUExfQVVYX0FETF9CQVJSSUVSX05BTUVTUEFDRV9PUEVOCit0eXBlZGVmIGFyZzw2PiBfNjsKKworQk9PU1RfTVBMX0FVWF9BRExfQkFSUklFUl9OQU1FU1BBQ0VfQ0xPU0UKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCitCT09TVF9NUExfQVVYX0FSR19BRExfQkFSUklFUl9ERUNMKF82KQorCituYW1lc3BhY2UgcGxhY2Vob2xkZXJzIHsKK3VzaW5nIEJPT1NUX01QTF9BVVhfQURMX0JBUlJJRVJfTkFNRVNQQUNFOjpfNjsKK30KKworfX0KZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2MvcGx1cy5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjL3BsdXMuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE5YzA0ZDMKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjL3BsdXMuaHBwCkBAIC0wLDAgKzEsMTQ2IEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gKlByZXByb2Nlc3NlZCogdmVyc2lvbiBvZiB0aGUgbWFpbiAicGx1cy5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUYWcxCisgICAgLCB0eXBlbmFtZSBUYWcyCisgICAgPgorc3RydWN0IHBsdXNfaW1wbAorICAgIDogaWZfYzwKKyAgICAgICAgICAoIEJPT1NUX01QTF9BVVhfTkVTVEVEX1ZBTFVFX1dLTkQoaW50LCBUYWcxKQorICAgICAgICAgICAgICA+IEJPT1NUX01QTF9BVVhfTkVTVEVEX1ZBTFVFX1dLTkQoaW50LCBUYWcyKQorICAgICAgICAgICAgKQorCisgICAgICAgICwgYXV4OjpjYXN0Mm5kX2ltcGw8IHBsdXNfaW1wbDwgVGFnMSxUYWcxID4sVGFnMSwgVGFnMiA+CisgICAgICAgICwgYXV4OjpjYXN0MXN0X2ltcGw8IHBsdXNfaW1wbDwgVGFnMixUYWcyID4sVGFnMSwgVGFnMiA+CisgICAgICAgID46OnR5cGUKK3sKK307CisKKy8vLyBmb3IgRGlnaXRhbCBNYXJzIEMrKy9jb21waWxlcnMgd2l0aCBubyBDVFBTL1RUUCBzdXBwb3J0Cit0ZW1wbGF0ZTw+IHN0cnVjdCBwbHVzX2ltcGw8IG5hLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVGFnID4gc3RydWN0IHBsdXNfaW1wbDwgbmEsVGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVGFnID4gc3RydWN0IHBsdXNfaW1wbDwgVGFnLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVCA+IHN0cnVjdCBwbHVzX3RhZworeworICAgIHR5cGVkZWYgdHlwZW5hbWUgVDo6dGFnIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjEpCisgICAgLCB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4yKQorICAgICwgdHlwZW5hbWUgTjMgPSBuYSwgdHlwZW5hbWUgTjQgPSBuYSwgdHlwZW5hbWUgTjUgPSBuYQorICAgID4KK3N0cnVjdCBwbHVzCisgICAgOiBwbHVzPCBwbHVzPCBwbHVzPCBwbHVzPCBOMSxOMiA+LCBOMz4sIE40PiwgTjU+Cit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgKKyAgICAgICAgICA1CisgICAgICAgICwgcGx1cworICAgICAgICAsICggTjEsIE4yLCBOMywgTjQsIE41ICkKKyAgICAgICAgKQorfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBOMSwgdHlwZW5hbWUgTjIsIHR5cGVuYW1lIE4zLCB0eXBlbmFtZSBONAorICAgID4KK3N0cnVjdCBwbHVzPCBOMSxOMixOMyxONCxuYSA+CisKKyAgICA6IHBsdXM8IHBsdXM8IHBsdXM8IE4xLE4yID4sIE4zPiwgTjQ+Cit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVF9TUEVDKAorICAgICAgICAgIDUKKyAgICAgICAgLCBwbHVzCisgICAgICAgICwgKCBOMSwgTjIsIE4zLCBONCwgbmEgKQorICAgICAgICApCit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIE4xLCB0eXBlbmFtZSBOMiwgdHlwZW5hbWUgTjMKKyAgICA+CitzdHJ1Y3QgcGx1czwgTjEsTjIsTjMsbmEsbmEgPgorCisgICAgOiBwbHVzPCBwbHVzPCBOMSxOMiA+LCBOMz4KK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUX1NQRUMoCisgICAgICAgICAgNQorICAgICAgICAsIHBsdXMKKyAgICAgICAgLCAoIE4xLCBOMiwgTjMsIG5hLCBuYSApCisgICAgICAgICkKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgTjEsIHR5cGVuYW1lIE4yCisgICAgPgorc3RydWN0IHBsdXM8IE4xLE4yLG5hLG5hLG5hID4KKyAgICA6IHBsdXNfaW1wbDwKKyAgICAgICAgICB0eXBlbmFtZSBwbHVzX3RhZzxOMT46OnR5cGUKKyAgICAgICAgLCB0eXBlbmFtZSBwbHVzX3RhZzxOMj46OnR5cGUKKyAgICAgICAgPjo6dGVtcGxhdGUgYXBwbHk8IE4xLE4yID46OnR5cGUKK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUX1NQRUMoCisgICAgICAgICAgNQorICAgICAgICAsIHBsdXMKKyAgICAgICAgLCAoIE4xLCBOMiwgbmEsIG5hLCBuYSApCisgICAgICAgICkKKworfTsKKworQk9PU1RfTVBMX0FVWF9OQV9TUEVDMigyLCA1LCBwbHVzKQorCit9fQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKK3RlbXBsYXRlPD4KK3N0cnVjdCBwbHVzX2ltcGw8IGludGVncmFsX2NfdGFnLGludGVncmFsX2NfdGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgTjEsIHR5cGVuYW1lIE4yID4gc3RydWN0IGFwcGx5CisKKyAgICAgICAgOiBpbnRlZ3JhbF9jPAorICAgICAgICAgICAgICB0eXBlbmFtZSBhdXg6Omxhcmdlc3RfaW50PAorICAgICAgICAgICAgICAgICAgdHlwZW5hbWUgTjE6OnZhbHVlX3R5cGUKKyAgICAgICAgICAgICAgICAsIHR5cGVuYW1lIE4yOjp2YWx1ZV90eXBlCisgICAgICAgICAgICAgICAgPjo6dHlwZQorICAgICAgICAgICAgLCAoIEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChOMSk6OnZhbHVlCisgICAgICAgICAgICAgICAgICArIEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChOMik6OnZhbHVlCisgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgPgorICAgIHsKKyAgICB9OworfTsKKworfX0KZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2MvcXVvdGUuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjYy9xdW90ZS5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjgyYjkzMQotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2MvcXVvdGUuaHBwCkBAIC0wLDAgKzEsMTE5IEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwOAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gKlByZXByb2Nlc3NlZCogdmVyc2lvbiBvZiB0aGUgbWFpbiAicXVvdGUuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBULCBib29sIGhhc190eXBlXyA+CitzdHJ1Y3QgcXVvdGVfaW1wbAorCit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBUOjp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVCA+CitzdHJ1Y3QgcXVvdGVfaW1wbDwgVCxmYWxzZSA+Cit7CisgICAgdHlwZWRlZiBUIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBQMSA+IGNsYXNzIEYKKyAgICAsIHR5cGVuYW1lIFRhZyA9IHZvaWRfCisgICAgPgorc3RydWN0IHF1b3RlMQoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSA+IHN0cnVjdCBhcHBseQorCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHF1b3RlX2ltcGw8CisgICAgICAgICAgICAgIEY8VTE+CisgICAgICAgICAgICAsIGF1eDo6aGFzX3R5cGU8IEY8VTE+ID46OnZhbHVlCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFAxLCB0eXBlbmFtZSBQMiA+IGNsYXNzIEYKKyAgICAsIHR5cGVuYW1lIFRhZyA9IHZvaWRfCisgICAgPgorc3RydWN0IHF1b3RlMgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBxdW90ZV9pbXBsPAorICAgICAgICAgICAgICBGPCBVMSxVMiA+CisgICAgICAgICAgICAsIGF1eDo6aGFzX3R5cGU8IEY8IFUxLFUyID4gPjo6dmFsdWUKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8CisgICAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgUDEsIHR5cGVuYW1lIFAyLCB0eXBlbmFtZSBQMyA+IGNsYXNzIEYKKyAgICAsIHR5cGVuYW1lIFRhZyA9IHZvaWRfCisgICAgPgorc3RydWN0IHF1b3RlMworeworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIsIHR5cGVuYW1lIFUzID4gc3RydWN0IGFwcGx5CisKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcXVvdGVfaW1wbDwKKyAgICAgICAgICAgICAgRjwgVTEsVTIsVTMgPgorICAgICAgICAgICAgLCBhdXg6Omhhc190eXBlPCBGPCBVMSxVMixVMyA+ID46OnZhbHVlCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFAxLCB0eXBlbmFtZSBQMiwgdHlwZW5hbWUgUDMsIHR5cGVuYW1lIFA0ID4gY2xhc3MgRgorICAgICwgdHlwZW5hbWUgVGFnID0gdm9pZF8KKyAgICA+CitzdHJ1Y3QgcXVvdGU0Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyLCB0eXBlbmFtZSBVMywgdHlwZW5hbWUgVTQKKyAgICAgICAgPgorICAgIHN0cnVjdCBhcHBseQorCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHF1b3RlX2ltcGw8CisgICAgICAgICAgICAgIEY8IFUxLFUyLFUzLFU0ID4KKyAgICAgICAgICAgICwgYXV4OjpoYXNfdHlwZTwgRjwgVTEsVTIsVTMsVTQgPiA+Ojp2YWx1ZQorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFAxLCB0eXBlbmFtZSBQMiwgdHlwZW5hbWUgUDMsIHR5cGVuYW1lIFA0CisgICAgICAgICwgdHlwZW5hbWUgUDUKKyAgICAgICAgPgorICAgICAgY2xhc3MgRgorICAgICwgdHlwZW5hbWUgVGFnID0gdm9pZF8KKyAgICA+CitzdHJ1Y3QgcXVvdGU1Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyLCB0eXBlbmFtZSBVMywgdHlwZW5hbWUgVTQKKyAgICAgICAgLCB0eXBlbmFtZSBVNQorICAgICAgICA+CisgICAgc3RydWN0IGFwcGx5CisKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcXVvdGVfaW1wbDwKKyAgICAgICAgICAgICAgRjwgVTEsVTIsVTMsVTQsVTUgPgorICAgICAgICAgICAgLCBhdXg6Omhhc190eXBlPCBGPCBVMSxVMixVMyxVNCxVNSA+ID46OnZhbHVlCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisgICAgfTsKK307CisKK319CisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2MvcmV2ZXJzZV9mb2xkX2ltcGwuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjYy9yZXZlcnNlX2ZvbGRfaW1wbC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTZhNDM4YgotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2MvcmV2ZXJzZV9mb2xkX2ltcGwuaHBwCkBAIC0wLDAgKzEsMjk1IEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gKlByZXByb2Nlc3NlZCogdmVyc2lvbiBvZiB0aGUgbWFpbiAicmV2ZXJzZV9mb2xkX2ltcGwuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7IG5hbWVzcGFjZSBhdXggeworCisvLy8gZm9yd2FyZCBkZWNsYXJhdGlvbgorCit0ZW1wbGF0ZTwKKyAgICAgIGxvbmcgTgorICAgICwgdHlwZW5hbWUgRmlyc3QKKyAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBCYWNrd2FyZE9wCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+CitzdHJ1Y3QgcmV2ZXJzZV9mb2xkX2ltcGw7CisKK3RlbXBsYXRlPCBsb25nIE4gPgorc3RydWN0IHJldmVyc2VfZm9sZF9jaHVuazsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgcmV2ZXJzZV9mb2xkX2NodW5rPDA+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAgICAgLCB0eXBlbmFtZSBCYWNrd2FyZE9wCisgICAgICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiBGaXJzdCBpdGVyMDsKKyAgICAgICAgdHlwZWRlZiBTdGF0ZSBmd2Rfc3RhdGUwOworICAgICAgICB0eXBlZGVmIGZ3ZF9zdGF0ZTAgYmt3ZF9zdGF0ZTA7CisgICAgICAgIHR5cGVkZWYgYmt3ZF9zdGF0ZTAgc3RhdGU7CisgICAgICAgIHR5cGVkZWYgaXRlcjAgaXRlcmF0b3I7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4gc3RydWN0IHJldmVyc2VfZm9sZF9jaHVuazwxPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgICAgICwgdHlwZW5hbWUgTGFzdAorICAgICAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgICAgICwgdHlwZW5hbWUgQmFja3dhcmRPcAorICAgICAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgRmlyc3QgaXRlcjA7CisgICAgICAgIHR5cGVkZWYgU3RhdGUgZndkX3N0YXRlMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCwgZndkX3N0YXRlMCwgdHlwZW5hbWUgZGVyZWY8aXRlcjA+Ojp0eXBlID46OnR5cGUgZndkX3N0YXRlMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjA+Ojp0eXBlIGl0ZXIxOworICAgICAgICAKKworICAgICAgICB0eXBlZGVmIGZ3ZF9zdGF0ZTEgYmt3ZF9zdGF0ZTE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLCBia3dkX3N0YXRlMSwgdHlwZW5hbWUgZGVyZWY8aXRlcjA+Ojp0eXBlID46OnR5cGUgYmt3ZF9zdGF0ZTA7CisgICAgICAgIHR5cGVkZWYgYmt3ZF9zdGF0ZTAgc3RhdGU7CisgICAgICAgIHR5cGVkZWYgaXRlcjEgaXRlcmF0b3I7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4gc3RydWN0IHJldmVyc2VfZm9sZF9jaHVuazwyPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgICAgICwgdHlwZW5hbWUgTGFzdAorICAgICAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgICAgICwgdHlwZW5hbWUgQmFja3dhcmRPcAorICAgICAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgRmlyc3QgaXRlcjA7CisgICAgICAgIHR5cGVkZWYgU3RhdGUgZndkX3N0YXRlMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCwgZndkX3N0YXRlMCwgdHlwZW5hbWUgZGVyZWY8aXRlcjA+Ojp0eXBlID46OnR5cGUgZndkX3N0YXRlMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjA+Ojp0eXBlIGl0ZXIxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLCBmd2Rfc3RhdGUxLCB0eXBlbmFtZSBkZXJlZjxpdGVyMT46OnR5cGUgPjo6dHlwZSBmd2Rfc3RhdGUyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMT46OnR5cGUgaXRlcjI7CisgICAgICAgIAorCisgICAgICAgIHR5cGVkZWYgZndkX3N0YXRlMiBia3dkX3N0YXRlMjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEJhY2t3YXJkT3AsIGJrd2Rfc3RhdGUyLCB0eXBlbmFtZSBkZXJlZjxpdGVyMT46OnR5cGUgPjo6dHlwZSBia3dkX3N0YXRlMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEJhY2t3YXJkT3AsIGJrd2Rfc3RhdGUxLCB0eXBlbmFtZSBkZXJlZjxpdGVyMD46OnR5cGUgPjo6dHlwZSBia3dkX3N0YXRlMDsKKyAgICAgICAgCisKKyAgICAgICAgdHlwZWRlZiBia3dkX3N0YXRlMCBzdGF0ZTsKKyAgICAgICAgdHlwZWRlZiBpdGVyMiBpdGVyYXRvcjsKKyAgICB9OworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgcmV2ZXJzZV9mb2xkX2NodW5rPDM+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAgICAgLCB0eXBlbmFtZSBCYWNrd2FyZE9wCisgICAgICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiBGaXJzdCBpdGVyMDsKKyAgICAgICAgdHlwZWRlZiBTdGF0ZSBmd2Rfc3RhdGUwOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLCBmd2Rfc3RhdGUwLCB0eXBlbmFtZSBkZXJlZjxpdGVyMD46OnR5cGUgPjo6dHlwZSBmd2Rfc3RhdGUxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMD46OnR5cGUgaXRlcjE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsIGZ3ZF9zdGF0ZTEsIHR5cGVuYW1lIGRlcmVmPGl0ZXIxPjo6dHlwZSA+Ojp0eXBlIGZ3ZF9zdGF0ZTI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIxPjo6dHlwZSBpdGVyMjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCwgZndkX3N0YXRlMiwgdHlwZW5hbWUgZGVyZWY8aXRlcjI+Ojp0eXBlID46OnR5cGUgZndkX3N0YXRlMzsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjI+Ojp0eXBlIGl0ZXIzOworICAgICAgICAKKworICAgICAgICB0eXBlZGVmIGZ3ZF9zdGF0ZTMgYmt3ZF9zdGF0ZTM7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLCBia3dkX3N0YXRlMywgdHlwZW5hbWUgZGVyZWY8aXRlcjI+Ojp0eXBlID46OnR5cGUgYmt3ZF9zdGF0ZTI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLCBia3dkX3N0YXRlMiwgdHlwZW5hbWUgZGVyZWY8aXRlcjE+Ojp0eXBlID46OnR5cGUgYmt3ZF9zdGF0ZTE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLCBia3dkX3N0YXRlMSwgdHlwZW5hbWUgZGVyZWY8aXRlcjA+Ojp0eXBlID46OnR5cGUgYmt3ZF9zdGF0ZTA7CisgICAgICAgIAorCisgICAgICAgIHR5cGVkZWYgYmt3ZF9zdGF0ZTAgc3RhdGU7CisgICAgICAgIHR5cGVkZWYgaXRlcjMgaXRlcmF0b3I7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4gc3RydWN0IHJldmVyc2VfZm9sZF9jaHVuazw0PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgICAgICwgdHlwZW5hbWUgTGFzdAorICAgICAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgICAgICwgdHlwZW5hbWUgQmFja3dhcmRPcAorICAgICAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgRmlyc3QgaXRlcjA7CisgICAgICAgIHR5cGVkZWYgU3RhdGUgZndkX3N0YXRlMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCwgZndkX3N0YXRlMCwgdHlwZW5hbWUgZGVyZWY8aXRlcjA+Ojp0eXBlID46OnR5cGUgZndkX3N0YXRlMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjA+Ojp0eXBlIGl0ZXIxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLCBmd2Rfc3RhdGUxLCB0eXBlbmFtZSBkZXJlZjxpdGVyMT46OnR5cGUgPjo6dHlwZSBmd2Rfc3RhdGUyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMT46OnR5cGUgaXRlcjI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsIGZ3ZF9zdGF0ZTIsIHR5cGVuYW1lIGRlcmVmPGl0ZXIyPjo6dHlwZSA+Ojp0eXBlIGZ3ZF9zdGF0ZTM7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIyPjo6dHlwZSBpdGVyMzsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCwgZndkX3N0YXRlMywgdHlwZW5hbWUgZGVyZWY8aXRlcjM+Ojp0eXBlID46OnR5cGUgZndkX3N0YXRlNDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjM+Ojp0eXBlIGl0ZXI0OworICAgICAgICAKKworICAgICAgICB0eXBlZGVmIGZ3ZF9zdGF0ZTQgYmt3ZF9zdGF0ZTQ7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLCBia3dkX3N0YXRlNCwgdHlwZW5hbWUgZGVyZWY8aXRlcjM+Ojp0eXBlID46OnR5cGUgYmt3ZF9zdGF0ZTM7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLCBia3dkX3N0YXRlMywgdHlwZW5hbWUgZGVyZWY8aXRlcjI+Ojp0eXBlID46OnR5cGUgYmt3ZF9zdGF0ZTI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLCBia3dkX3N0YXRlMiwgdHlwZW5hbWUgZGVyZWY8aXRlcjE+Ojp0eXBlID46OnR5cGUgYmt3ZF9zdGF0ZTE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLCBia3dkX3N0YXRlMSwgdHlwZW5hbWUgZGVyZWY8aXRlcjA+Ojp0eXBlID46OnR5cGUgYmt3ZF9zdGF0ZTA7CisgICAgICAgIAorCisgICAgICAgIHR5cGVkZWYgYmt3ZF9zdGF0ZTAgc3RhdGU7CisgICAgICAgIHR5cGVkZWYgaXRlcjQgaXRlcmF0b3I7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCBsb25nIE4gPgorc3RydWN0IHJldmVyc2VfZm9sZF9jaHVuaworeworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgICAgICwgdHlwZW5hbWUgTGFzdAorICAgICAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgICAgICwgdHlwZW5hbWUgQmFja3dhcmRPcAorICAgICAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgRmlyc3QgaXRlcjA7CisgICAgICAgIHR5cGVkZWYgU3RhdGUgZndkX3N0YXRlMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCwgZndkX3N0YXRlMCwgdHlwZW5hbWUgZGVyZWY8aXRlcjA+Ojp0eXBlID46OnR5cGUgZndkX3N0YXRlMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjA+Ojp0eXBlIGl0ZXIxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLCBmd2Rfc3RhdGUxLCB0eXBlbmFtZSBkZXJlZjxpdGVyMT46OnR5cGUgPjo6dHlwZSBmd2Rfc3RhdGUyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMT46OnR5cGUgaXRlcjI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsIGZ3ZF9zdGF0ZTIsIHR5cGVuYW1lIGRlcmVmPGl0ZXIyPjo6dHlwZSA+Ojp0eXBlIGZ3ZF9zdGF0ZTM7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIyPjo6dHlwZSBpdGVyMzsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCwgZndkX3N0YXRlMywgdHlwZW5hbWUgZGVyZWY8aXRlcjM+Ojp0eXBlID46OnR5cGUgZndkX3N0YXRlNDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjM+Ojp0eXBlIGl0ZXI0OworICAgICAgICAKKworICAgICAgICB0eXBlZGVmIHJldmVyc2VfZm9sZF9pbXBsPAorICAgICAgICAgICAgICAoIChOIC0gNCkgPCAwID8gMCA6IE4gLSA0ICkKKyAgICAgICAgICAgICwgaXRlcjQKKyAgICAgICAgICAgICwgTGFzdAorICAgICAgICAgICAgLCBmd2Rfc3RhdGU0CisgICAgICAgICAgICAsIEJhY2t3YXJkT3AKKyAgICAgICAgICAgICwgRm9yd2FyZE9wCisgICAgICAgICAgICA+IG5lc3RlZF9jaHVuazsKKworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG5lc3RlZF9jaHVuazo6c3RhdGUgYmt3ZF9zdGF0ZTQ7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLCBia3dkX3N0YXRlNCwgdHlwZW5hbWUgZGVyZWY8aXRlcjM+Ojp0eXBlID46OnR5cGUgYmt3ZF9zdGF0ZTM7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLCBia3dkX3N0YXRlMywgdHlwZW5hbWUgZGVyZWY8aXRlcjI+Ojp0eXBlID46OnR5cGUgYmt3ZF9zdGF0ZTI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLCBia3dkX3N0YXRlMiwgdHlwZW5hbWUgZGVyZWY8aXRlcjE+Ojp0eXBlID46OnR5cGUgYmt3ZF9zdGF0ZTE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLCBia3dkX3N0YXRlMSwgdHlwZW5hbWUgZGVyZWY8aXRlcjA+Ojp0eXBlID46OnR5cGUgYmt3ZF9zdGF0ZTA7CisgICAgICAgIAorCisgICAgICAgIHR5cGVkZWYgYmt3ZF9zdGF0ZTAgc3RhdGU7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbmVzdGVkX2NodW5rOjppdGVyYXRvciBpdGVyYXRvcjsKKyAgICB9OworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGaXJzdAorICAgICwgdHlwZW5hbWUgTGFzdAorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEJhY2t3YXJkT3AKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgID4KK3N0cnVjdCByZXZlcnNlX2ZvbGRfc3RlcDsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBMYXN0CisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgID4KK3N0cnVjdCByZXZlcnNlX2ZvbGRfbnVsbF9zdGVwCit7CisgICAgdHlwZWRlZiBMYXN0IGl0ZXJhdG9yOworICAgIHR5cGVkZWYgU3RhdGUgc3RhdGU7Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcmV2ZXJzZV9mb2xkX2NodW5rPCAtMSA+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAgICAgLCB0eXBlbmFtZSBCYWNrd2FyZE9wCisgICAgICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBpZl88CisgICAgICAgICAgICAgIHR5cGVuYW1lIGlzX3NhbWU8IEZpcnN0LExhc3QgPjo6dHlwZQorICAgICAgICAgICAgLCByZXZlcnNlX2ZvbGRfbnVsbF9zdGVwPCBMYXN0LFN0YXRlID4KKyAgICAgICAgICAgICwgcmV2ZXJzZV9mb2xkX3N0ZXA8IEZpcnN0LExhc3QsU3RhdGUsQmFja3dhcmRPcCxGb3J3YXJkT3AgPgorICAgICAgICAgICAgPjo6dHlwZSByZXNfOworCisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcmVzXzo6c3RhdGUgc3RhdGU7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcmVzXzo6aXRlcmF0b3IgaXRlcmF0b3I7CisgICAgfTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBCYWNrd2FyZE9wCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+CitzdHJ1Y3QgcmV2ZXJzZV9mb2xkX3N0ZXAKK3sKKyAgICB0eXBlZGVmIHJldmVyc2VfZm9sZF9jaHVuazwgLTEgPjo6dGVtcGxhdGUgcmVzdWx0XzwKKyAgICAgICAgICB0eXBlbmFtZSBtcGw6Om5leHQ8Rmlyc3Q+Ojp0eXBlCisgICAgICAgICwgTGFzdAorICAgICAgICAsIHR5cGVuYW1lIGFwcGx5MjxGb3J3YXJkT3AsU3RhdGUsIHR5cGVuYW1lIGRlcmVmPEZpcnN0Pjo6dHlwZT46OnR5cGUKKyAgICAgICAgLCBCYWNrd2FyZE9wCisgICAgICAgICwgRm9yd2FyZE9wCisgICAgICAgID4gbmVzdGVkX3N0ZXA7CisKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwKKyAgICAgICAgICBCYWNrd2FyZE9wCisgICAgICAgICwgdHlwZW5hbWUgbmVzdGVkX3N0ZXA6OnN0YXRlCisgICAgICAgICwgdHlwZW5hbWUgZGVyZWY8Rmlyc3Q+Ojp0eXBlCisgICAgICAgID46OnR5cGUgc3RhdGU7CisKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG5lc3RlZF9zdGVwOjppdGVyYXRvciBpdGVyYXRvcjsKK307CisKK3RlbXBsYXRlPAorICAgICAgbG9uZyBOCisgICAgLCB0eXBlbmFtZSBGaXJzdAorICAgICwgdHlwZW5hbWUgTGFzdAorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEJhY2t3YXJkT3AKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgID4KK3N0cnVjdCByZXZlcnNlX2ZvbGRfaW1wbAorICAgIDogcmV2ZXJzZV9mb2xkX2NodW5rPE4+CisgICAgICAgIDo6dGVtcGxhdGUgcmVzdWx0XzwgRmlyc3QsTGFzdCxTdGF0ZSxCYWNrd2FyZE9wLEZvcndhcmRPcCA+Cit7Cit9OworCit9fX0KZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2MvcmV2ZXJzZV9pdGVyX2ZvbGRfaW1wbC5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjL3JldmVyc2VfaXRlcl9mb2xkX2ltcGwuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhjOTgwOWMKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjL3JldmVyc2VfaXRlcl9mb2xkX2ltcGwuaHBwCkBAIC0wLDAgKzEsMjk1IEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gKlByZXByb2Nlc3NlZCogdmVyc2lvbiBvZiB0aGUgbWFpbiAicmV2ZXJzZV9pdGVyX2ZvbGRfaW1wbC5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsgbmFtZXNwYWNlIGF1eCB7CisKKy8vLyBmb3J3YXJkIGRlY2xhcmF0aW9uCisKK3RlbXBsYXRlPAorICAgICAgbG9uZyBOCisgICAgLCB0eXBlbmFtZSBGaXJzdAorICAgICwgdHlwZW5hbWUgTGFzdAorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEJhY2t3YXJkT3AKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgID4KK3N0cnVjdCByZXZlcnNlX2l0ZXJfZm9sZF9pbXBsOworCit0ZW1wbGF0ZTwgbG9uZyBOID4KK3N0cnVjdCByZXZlcnNlX2l0ZXJfZm9sZF9jaHVuazsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgcmV2ZXJzZV9pdGVyX2ZvbGRfY2h1bms8MD4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBGaXJzdAorICAgICAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICAgICAsIHR5cGVuYW1lIEJhY2t3YXJkT3AKKyAgICAgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIEZpcnN0IGl0ZXIwOworICAgICAgICB0eXBlZGVmIFN0YXRlIGZ3ZF9zdGF0ZTA7CisgICAgICAgIHR5cGVkZWYgZndkX3N0YXRlMCBia3dkX3N0YXRlMDsKKyAgICAgICAgdHlwZWRlZiBia3dkX3N0YXRlMCBzdGF0ZTsKKyAgICAgICAgdHlwZWRlZiBpdGVyMCBpdGVyYXRvcjsKKyAgICB9OworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgcmV2ZXJzZV9pdGVyX2ZvbGRfY2h1bms8MT4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBGaXJzdAorICAgICAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICAgICAsIHR5cGVuYW1lIEJhY2t3YXJkT3AKKyAgICAgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIEZpcnN0IGl0ZXIwOworICAgICAgICB0eXBlZGVmIFN0YXRlIGZ3ZF9zdGF0ZTA7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsZndkX3N0YXRlMCxpdGVyMCA+Ojp0eXBlIGZ3ZF9zdGF0ZTE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIwPjo6dHlwZSBpdGVyMTsKKyAgICAgICAgCisKKyAgICAgICAgdHlwZWRlZiBmd2Rfc3RhdGUxIGJrd2Rfc3RhdGUxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgQmFja3dhcmRPcCxia3dkX3N0YXRlMSxpdGVyMCA+Ojp0eXBlIGJrd2Rfc3RhdGUwOworICAgICAgICB0eXBlZGVmIGJrd2Rfc3RhdGUwIHN0YXRlOworICAgICAgICB0eXBlZGVmIGl0ZXIxIGl0ZXJhdG9yOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCByZXZlcnNlX2l0ZXJfZm9sZF9jaHVuazwyPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgICAgICwgdHlwZW5hbWUgTGFzdAorICAgICAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgICAgICwgdHlwZW5hbWUgQmFja3dhcmRPcAorICAgICAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgRmlyc3QgaXRlcjA7CisgICAgICAgIHR5cGVkZWYgU3RhdGUgZndkX3N0YXRlMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCxmd2Rfc3RhdGUwLGl0ZXIwID46OnR5cGUgZndkX3N0YXRlMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjA+Ojp0eXBlIGl0ZXIxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLGZ3ZF9zdGF0ZTEsaXRlcjEgPjo6dHlwZSBmd2Rfc3RhdGUyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMT46OnR5cGUgaXRlcjI7CisgICAgICAgIAorCisgICAgICAgIHR5cGVkZWYgZndkX3N0YXRlMiBia3dkX3N0YXRlMjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEJhY2t3YXJkT3AsYmt3ZF9zdGF0ZTIsaXRlcjEgPjo6dHlwZSBia3dkX3N0YXRlMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEJhY2t3YXJkT3AsYmt3ZF9zdGF0ZTEsaXRlcjAgPjo6dHlwZSBia3dkX3N0YXRlMDsKKyAgICAgICAgCisKKyAgICAgICAgdHlwZWRlZiBia3dkX3N0YXRlMCBzdGF0ZTsKKyAgICAgICAgdHlwZWRlZiBpdGVyMiBpdGVyYXRvcjsKKyAgICB9OworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgcmV2ZXJzZV9pdGVyX2ZvbGRfY2h1bms8Mz4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBGaXJzdAorICAgICAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICAgICAsIHR5cGVuYW1lIEJhY2t3YXJkT3AKKyAgICAgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIEZpcnN0IGl0ZXIwOworICAgICAgICB0eXBlZGVmIFN0YXRlIGZ3ZF9zdGF0ZTA7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsZndkX3N0YXRlMCxpdGVyMCA+Ojp0eXBlIGZ3ZF9zdGF0ZTE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIwPjo6dHlwZSBpdGVyMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCxmd2Rfc3RhdGUxLGl0ZXIxID46OnR5cGUgZndkX3N0YXRlMjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjE+Ojp0eXBlIGl0ZXIyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLGZ3ZF9zdGF0ZTIsaXRlcjIgPjo6dHlwZSBmd2Rfc3RhdGUzOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMj46OnR5cGUgaXRlcjM7CisgICAgICAgIAorCisgICAgICAgIHR5cGVkZWYgZndkX3N0YXRlMyBia3dkX3N0YXRlMzsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEJhY2t3YXJkT3AsYmt3ZF9zdGF0ZTMsaXRlcjIgPjo6dHlwZSBia3dkX3N0YXRlMjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEJhY2t3YXJkT3AsYmt3ZF9zdGF0ZTIsaXRlcjEgPjo6dHlwZSBia3dkX3N0YXRlMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEJhY2t3YXJkT3AsYmt3ZF9zdGF0ZTEsaXRlcjAgPjo6dHlwZSBia3dkX3N0YXRlMDsKKyAgICAgICAgCisKKyAgICAgICAgdHlwZWRlZiBia3dkX3N0YXRlMCBzdGF0ZTsKKyAgICAgICAgdHlwZWRlZiBpdGVyMyBpdGVyYXRvcjsKKyAgICB9OworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgcmV2ZXJzZV9pdGVyX2ZvbGRfY2h1bms8ND4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBGaXJzdAorICAgICAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICAgICAsIHR5cGVuYW1lIEJhY2t3YXJkT3AKKyAgICAgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIEZpcnN0IGl0ZXIwOworICAgICAgICB0eXBlZGVmIFN0YXRlIGZ3ZF9zdGF0ZTA7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsZndkX3N0YXRlMCxpdGVyMCA+Ojp0eXBlIGZ3ZF9zdGF0ZTE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIwPjo6dHlwZSBpdGVyMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCxmd2Rfc3RhdGUxLGl0ZXIxID46OnR5cGUgZndkX3N0YXRlMjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjE+Ojp0eXBlIGl0ZXIyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLGZ3ZF9zdGF0ZTIsaXRlcjIgPjo6dHlwZSBmd2Rfc3RhdGUzOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMj46OnR5cGUgaXRlcjM7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsZndkX3N0YXRlMyxpdGVyMyA+Ojp0eXBlIGZ3ZF9zdGF0ZTQ7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIzPjo6dHlwZSBpdGVyNDsKKyAgICAgICAgCisKKyAgICAgICAgdHlwZWRlZiBmd2Rfc3RhdGU0IGJrd2Rfc3RhdGU0OworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgQmFja3dhcmRPcCxia3dkX3N0YXRlNCxpdGVyMyA+Ojp0eXBlIGJrd2Rfc3RhdGUzOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgQmFja3dhcmRPcCxia3dkX3N0YXRlMyxpdGVyMiA+Ojp0eXBlIGJrd2Rfc3RhdGUyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgQmFja3dhcmRPcCxia3dkX3N0YXRlMixpdGVyMSA+Ojp0eXBlIGJrd2Rfc3RhdGUxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgQmFja3dhcmRPcCxia3dkX3N0YXRlMSxpdGVyMCA+Ojp0eXBlIGJrd2Rfc3RhdGUwOworICAgICAgICAKKworICAgICAgICB0eXBlZGVmIGJrd2Rfc3RhdGUwIHN0YXRlOworICAgICAgICB0eXBlZGVmIGl0ZXI0IGl0ZXJhdG9yOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgbG9uZyBOID4KK3N0cnVjdCByZXZlcnNlX2l0ZXJfZm9sZF9jaHVuaworeworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgICAgICwgdHlwZW5hbWUgTGFzdAorICAgICAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgICAgICwgdHlwZW5hbWUgQmFja3dhcmRPcAorICAgICAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgRmlyc3QgaXRlcjA7CisgICAgICAgIHR5cGVkZWYgU3RhdGUgZndkX3N0YXRlMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCxmd2Rfc3RhdGUwLGl0ZXIwID46OnR5cGUgZndkX3N0YXRlMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjA+Ojp0eXBlIGl0ZXIxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLGZ3ZF9zdGF0ZTEsaXRlcjEgPjo6dHlwZSBmd2Rfc3RhdGUyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMT46OnR5cGUgaXRlcjI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsZndkX3N0YXRlMixpdGVyMiA+Ojp0eXBlIGZ3ZF9zdGF0ZTM7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIyPjo6dHlwZSBpdGVyMzsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCxmd2Rfc3RhdGUzLGl0ZXIzID46OnR5cGUgZndkX3N0YXRlNDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjM+Ojp0eXBlIGl0ZXI0OworICAgICAgICAKKworICAgICAgICB0eXBlZGVmIHJldmVyc2VfaXRlcl9mb2xkX2ltcGw8CisgICAgICAgICAgICAgICggKE4gLSA0KSA8IDAgPyAwIDogTiAtIDQgKQorICAgICAgICAgICAgLCBpdGVyNAorICAgICAgICAgICAgLCBMYXN0CisgICAgICAgICAgICAsIGZ3ZF9zdGF0ZTQKKyAgICAgICAgICAgICwgQmFja3dhcmRPcAorICAgICAgICAgICAgLCBGb3J3YXJkT3AKKyAgICAgICAgICAgID4gbmVzdGVkX2NodW5rOworCisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbmVzdGVkX2NodW5rOjpzdGF0ZSBia3dkX3N0YXRlNDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEJhY2t3YXJkT3AsYmt3ZF9zdGF0ZTQsaXRlcjMgPjo6dHlwZSBia3dkX3N0YXRlMzsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEJhY2t3YXJkT3AsYmt3ZF9zdGF0ZTMsaXRlcjIgPjo6dHlwZSBia3dkX3N0YXRlMjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEJhY2t3YXJkT3AsYmt3ZF9zdGF0ZTIsaXRlcjEgPjo6dHlwZSBia3dkX3N0YXRlMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEJhY2t3YXJkT3AsYmt3ZF9zdGF0ZTEsaXRlcjAgPjo6dHlwZSBia3dkX3N0YXRlMDsKKyAgICAgICAgCisKKyAgICAgICAgdHlwZWRlZiBia3dkX3N0YXRlMCBzdGF0ZTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBuZXN0ZWRfY2h1bms6Oml0ZXJhdG9yIGl0ZXJhdG9yOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICwgdHlwZW5hbWUgQmFja3dhcmRPcAorICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgPgorc3RydWN0IHJldmVyc2VfaXRlcl9mb2xkX3N0ZXA7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgTGFzdAorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICA+CitzdHJ1Y3QgcmV2ZXJzZV9pdGVyX2ZvbGRfbnVsbF9zdGVwCit7CisgICAgdHlwZWRlZiBMYXN0IGl0ZXJhdG9yOworICAgIHR5cGVkZWYgU3RhdGUgc3RhdGU7Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcmV2ZXJzZV9pdGVyX2ZvbGRfY2h1bms8IC0xID4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBGaXJzdAorICAgICAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICAgICAsIHR5cGVuYW1lIEJhY2t3YXJkT3AKKyAgICAgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGlmXzwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgaXNfc2FtZTwgRmlyc3QsTGFzdCA+Ojp0eXBlCisgICAgICAgICAgICAsIHJldmVyc2VfaXRlcl9mb2xkX251bGxfc3RlcDwgTGFzdCxTdGF0ZSA+CisgICAgICAgICAgICAsIHJldmVyc2VfaXRlcl9mb2xkX3N0ZXA8IEZpcnN0LExhc3QsU3RhdGUsQmFja3dhcmRPcCxGb3J3YXJkT3AgPgorICAgICAgICAgICAgPjo6dHlwZSByZXNfOworCisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcmVzXzo6c3RhdGUgc3RhdGU7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcmVzXzo6aXRlcmF0b3IgaXRlcmF0b3I7CisgICAgfTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBCYWNrd2FyZE9wCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+CitzdHJ1Y3QgcmV2ZXJzZV9pdGVyX2ZvbGRfc3RlcAoreworICAgIHR5cGVkZWYgcmV2ZXJzZV9pdGVyX2ZvbGRfY2h1bms8IC0xID46OnRlbXBsYXRlIHJlc3VsdF88CisgICAgICAgICAgdHlwZW5hbWUgbXBsOjpuZXh0PEZpcnN0Pjo6dHlwZQorICAgICAgICAsIExhc3QKKyAgICAgICAgLCB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCxTdGF0ZSxGaXJzdCA+Ojp0eXBlCisgICAgICAgICwgQmFja3dhcmRPcAorICAgICAgICAsIEZvcndhcmRPcAorICAgICAgICA+IG5lc3RlZF9zdGVwOworCisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8CisgICAgICAgICAgQmFja3dhcmRPcAorICAgICAgICAsIHR5cGVuYW1lIG5lc3RlZF9zdGVwOjpzdGF0ZQorICAgICAgICAsIEZpcnN0CisgICAgICAgID46OnR5cGUgc3RhdGU7CisKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG5lc3RlZF9zdGVwOjppdGVyYXRvciBpdGVyYXRvcjsKK307CisKK3RlbXBsYXRlPAorICAgICAgbG9uZyBOCisgICAgLCB0eXBlbmFtZSBGaXJzdAorICAgICwgdHlwZW5hbWUgTGFzdAorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEJhY2t3YXJkT3AKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgID4KK3N0cnVjdCByZXZlcnNlX2l0ZXJfZm9sZF9pbXBsCisgICAgOiByZXZlcnNlX2l0ZXJfZm9sZF9jaHVuazxOPgorICAgICAgICA6OnRlbXBsYXRlIHJlc3VsdF88IEZpcnN0LExhc3QsU3RhdGUsQmFja3dhcmRPcCxGb3J3YXJkT3AgPgoreworfTsKKworfX19CmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjL3NldC5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjL3NldC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWJjNDRmOQotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2Mvc2V0LmhwcApAQCAtMCwwICsxLDMyMyBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vICpQcmVwcm9jZXNzZWQqIHZlcnNpb24gb2YgdGhlIG1haW4gInNldC5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCA9IG5hLCB0eXBlbmFtZSBUMSA9IG5hLCB0eXBlbmFtZSBUMiA9IG5hLCB0eXBlbmFtZSBUMyA9IG5hCisgICAgLCB0eXBlbmFtZSBUNCA9IG5hLCB0eXBlbmFtZSBUNSA9IG5hLCB0eXBlbmFtZSBUNiA9IG5hLCB0eXBlbmFtZSBUNyA9IG5hCisgICAgLCB0eXBlbmFtZSBUOCA9IG5hLCB0eXBlbmFtZSBUOSA9IG5hLCB0eXBlbmFtZSBUMTAgPSBuYSwgdHlwZW5hbWUgVDExID0gbmEKKyAgICAsIHR5cGVuYW1lIFQxMiA9IG5hLCB0eXBlbmFtZSBUMTMgPSBuYSwgdHlwZW5hbWUgVDE0ID0gbmEKKyAgICAsIHR5cGVuYW1lIFQxNSA9IG5hLCB0eXBlbmFtZSBUMTYgPSBuYSwgdHlwZW5hbWUgVDE3ID0gbmEKKyAgICAsIHR5cGVuYW1lIFQxOCA9IG5hLCB0eXBlbmFtZSBUMTkgPSBuYQorICAgID4KK3N0cnVjdCBzZXQ7CisKK3RlbXBsYXRlPAorICAgICAKKyAgICA+CitzdHJ1Y3Qgc2V0PAorICAgICAgICAgIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogc2V0MDwgID4KK3sKKyAgICB0eXBlZGVmIHNldDA8ICA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwCisgICAgPgorc3RydWN0IHNldDwKKyAgICAgICAgICBUMCwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHNldDE8VDA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQxPFQwPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEKKyAgICA+CitzdHJ1Y3Qgc2V0PAorICAgICAgICAgIFQwLCBUMSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogc2V0MjwgVDAsVDEgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0MjwgVDAsVDEgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyCisgICAgPgorc3RydWN0IHNldDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHNldDM8IFQwLFQxLFQyID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDM8IFQwLFQxLFQyID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMKKyAgICA+CitzdHJ1Y3Qgc2V0PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogc2V0NDwgVDAsVDEsVDIsVDMgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0NDwgVDAsVDEsVDIsVDMgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICA+CitzdHJ1Y3Qgc2V0PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogc2V0NTwgVDAsVDEsVDIsVDMsVDQgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0NTwgVDAsVDEsVDIsVDMsVDQgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1CisgICAgPgorc3RydWN0IHNldDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHNldDY8IFQwLFQxLFQyLFQzLFQ0LFQ1ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDY8IFQwLFQxLFQyLFQzLFQ0LFQ1ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYKKyAgICA+CitzdHJ1Y3Qgc2V0PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogc2V0NzwgVDAsVDEsVDIsVDMsVDQsVDUsVDYgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0NzwgVDAsVDEsVDIsVDMsVDQsVDUsVDYgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcKKyAgICA+CitzdHJ1Y3Qgc2V0PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogc2V0ODwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0ODwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4CisgICAgPgorc3RydWN0IHNldDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHNldDk8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDk8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICA+CitzdHJ1Y3Qgc2V0PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogc2V0MTA8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDEwPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAKKyAgICA+CitzdHJ1Y3Qgc2V0PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHNldDExPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0MTE8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMQorICAgID4KK3N0cnVjdCBzZXQ8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHNldDEyPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDEyPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIKKyAgICA+CitzdHJ1Y3Qgc2V0PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogc2V0MTM8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDEzPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMiA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMKKyAgICA+CitzdHJ1Y3Qgc2V0PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHNldDE0PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0MTQ8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgID4KK3N0cnVjdCBzZXQ8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0LCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHNldDE1PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQxNTwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzLFQxNCA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICwgdHlwZW5hbWUgVDE1CisgICAgPgorc3RydWN0IHNldDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgLCBUMTUsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHNldDE2PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNQorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQxNjwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzLFQxNCxUMTUgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2CisgICAgPgorc3RydWN0IHNldDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgLCBUMTUsIFQxNiwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBzZXQxNzwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgLCBUMTUsIFQxNgorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQxNzwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzLFQxNCxUMTUsVDE2ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3CisgICAgPgorc3RydWN0IHNldDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgLCBUMTUsIFQxNiwgVDE3LCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogc2V0MTg8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1LCBUMTYsIFQxNworICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQxODwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzLFQxNCxUMTUsVDE2LFQxNyA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4CisgICAgPgorc3RydWN0IHNldDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgLCBUMTUsIFQxNiwgVDE3LCBUMTgsIG5hCisgICAgICAgID4KKyAgICA6IHNldDE5PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgVDE2LCBUMTcsIFQxOAorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQxOTwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzLFQxNCxUMTUsVDE2LFQxNyxUMTggPjo6dHlwZSB0eXBlOworfTsKKworLy8vIHByaW1hcnkgdGVtcGxhdGUgKG5vdCBhIHNwZWNpYWxpemF0aW9uISkKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgPgorc3RydWN0IHNldAorICAgIDogc2V0MjA8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1LCBUMTYsIFQxNywgVDE4LCBUMTkKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0MjA8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyxUMTQsVDE1LFQxNixUMTcsVDE4LFQxOSA+Ojp0eXBlIHR5cGU7Cit9OworCit9fQorCmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjL3NldF9jLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2Mvc2V0X2MuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ3MjQ5YjYKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjL3NldF9jLmhwcApAQCAtMCwwICsxLDMyOCBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vICpQcmVwcm9jZXNzZWQqIHZlcnNpb24gb2YgdGhlIG1haW4gInNldF9jLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAgPSBMT05HX01BWCwgbG9uZyBDMSA9IExPTkdfTUFYLCBsb25nIEMyID0gTE9OR19NQVgKKyAgICAsIGxvbmcgQzMgPSBMT05HX01BWCwgbG9uZyBDNCA9IExPTkdfTUFYLCBsb25nIEM1ID0gTE9OR19NQVgKKyAgICAsIGxvbmcgQzYgPSBMT05HX01BWCwgbG9uZyBDNyA9IExPTkdfTUFYLCBsb25nIEM4ID0gTE9OR19NQVgKKyAgICAsIGxvbmcgQzkgPSBMT05HX01BWCwgbG9uZyBDMTAgPSBMT05HX01BWCwgbG9uZyBDMTEgPSBMT05HX01BWAorICAgICwgbG9uZyBDMTIgPSBMT05HX01BWCwgbG9uZyBDMTMgPSBMT05HX01BWCwgbG9uZyBDMTQgPSBMT05HX01BWAorICAgICwgbG9uZyBDMTUgPSBMT05HX01BWCwgbG9uZyBDMTYgPSBMT05HX01BWCwgbG9uZyBDMTcgPSBMT05HX01BWAorICAgICwgbG9uZyBDMTggPSBMT05HX01BWCwgbG9uZyBDMTkgPSBMT05HX01BWAorICAgID4KK3N0cnVjdCBzZXRfYzsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUCisgICAgPgorc3RydWN0IHNldF9jPAorICAgICAgICAgIFQsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IHNldDBfYzxUPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0MF9jPFQ+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAKKyAgICA+CitzdHJ1Y3Qgc2V0X2M8CisgICAgICAgICAgVCwgQzAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogc2V0MV9jPCBULEMwID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDFfYzwgVCxDMCA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEKKyAgICA+CitzdHJ1Y3Qgc2V0X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogc2V0Ml9jPCBULEMwLEMxID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDJfYzwgVCxDMCxDMSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIKKyAgICA+CitzdHJ1Y3Qgc2V0X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogc2V0M19jPCBULEMwLEMxLEMyID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDNfYzwgVCxDMCxDMSxDMiA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMKKyAgICA+CitzdHJ1Y3Qgc2V0X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogc2V0NF9jPCBULEMwLEMxLEMyLEMzID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDRfYzwgVCxDMCxDMSxDMixDMyA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQKKyAgICA+CitzdHJ1Y3Qgc2V0X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogc2V0NV9jPCBULEMwLEMxLEMyLEMzLEM0ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDVfYzwgVCxDMCxDMSxDMixDMyxDNCA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICA+CitzdHJ1Y3Qgc2V0X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogc2V0Nl9jPCBULEMwLEMxLEMyLEMzLEM0LEM1ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDZfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAsIGxvbmcgQzYKKyAgICA+CitzdHJ1Y3Qgc2V0X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogc2V0N19jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDdfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNiA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAsIGxvbmcgQzYsIGxvbmcgQzcKKyAgICA+CitzdHJ1Y3Qgc2V0X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogc2V0OF9jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2LEM3ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDhfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgKKyAgICA+CitzdHJ1Y3Qgc2V0X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogc2V0OV9jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2LEM3LEM4ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDlfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyxDOCA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzkKKyAgICA+CitzdHJ1Y3Qgc2V0X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogc2V0MTBfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyxDOCxDOSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQxMF9jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2LEM3LEM4LEM5ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAKKyAgICA+CitzdHJ1Y3Qgc2V0X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogc2V0MTFfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyxDOCxDOSxDMTAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0MTFfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyxDOCxDOSxDMTAgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEKKyAgICA+CitzdHJ1Y3Qgc2V0X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IHNldDEyX2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcsQzgsQzksQzEwLEMxMSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQxMl9jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2LEM3LEM4LEM5LEMxMCxDMTEgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgPgorc3RydWN0IHNldF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogc2V0MTNfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyxDOCxDOSxDMTAsQzExLEMxMiA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQxM19jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2LEM3LEM4LEM5LEMxMCxDMTEsQzEyID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgICwgbG9uZyBDMTMKKyAgICA+CitzdHJ1Y3Qgc2V0X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBDMTIsIEMxMworICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogc2V0MTRfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIEMxMiwgQzEzCisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDE0X2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcsQzgsQzksQzEwLEMxMSxDMTIsQzEzID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0CisgICAgPgorc3RydWN0IHNldF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMsIEMxNAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiBzZXQxNV9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMsIEMxNAorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQxNV9jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2LEM3LEM4LEM5LEMxMCxDMTEsQzEyLEMxMyxDMTQgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1CisgICAgPgorc3RydWN0IHNldF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMsIEMxNAorICAgICAgICAsIEMxNSwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogc2V0MTZfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIEMxMiwgQzEzLCBDMTQKKyAgICAgICAgLCBDMTUKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0MTZfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyxDOCxDOSxDMTAsQzExLEMxMixDMTMsQzE0LEMxNSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAsIGxvbmcgQzEzLCBsb25nIEMxNCwgbG9uZyBDMTUsIGxvbmcgQzE2CisgICAgPgorc3RydWN0IHNldF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMsIEMxNAorICAgICAgICAsIEMxNSwgQzE2LCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IHNldDE3X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBDMTIsIEMxMywgQzE0CisgICAgICAgICwgQzE1LCBDMTYKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0MTdfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyxDOCxDOSxDMTAsQzExLEMxMixDMTMsQzE0LEMxNSxDMTYgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1LCBsb25nIEMxNiwgbG9uZyBDMTcKKyAgICA+CitzdHJ1Y3Qgc2V0X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBDMTIsIEMxMywgQzE0CisgICAgICAgICwgQzE1LCBDMTYsIEMxNywgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IHNldDE4X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBDMTIsIEMxMywgQzE0CisgICAgICAgICwgQzE1LCBDMTYsIEMxNworICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQxOF9jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2LEM3LEM4LEM5LEMxMCxDMTEsQzEyLEMxMyxDMTQsQzE1LEMxNixDMTcgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1LCBsb25nIEMxNiwgbG9uZyBDMTcsIGxvbmcgQzE4CisgICAgPgorc3RydWN0IHNldF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMsIEMxNAorICAgICAgICAsIEMxNSwgQzE2LCBDMTcsIEMxOCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogc2V0MTlfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIEMxMiwgQzEzLCBDMTQKKyAgICAgICAgLCBDMTUsIEMxNiwgQzE3LCBDMTgKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0MTlfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyxDOCxDOSxDMTAsQzExLEMxMixDMTMsQzE0LEMxNSxDMTYsQzE3LEMxOCA+Ojp0eXBlIHR5cGU7Cit9OworCisvLy8gcHJpbWFyeSB0ZW1wbGF0ZSAobm90IGEgc3BlY2lhbGl6YXRpb24hKQorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAsIGxvbmcgQzEzLCBsb25nIEMxNCwgbG9uZyBDMTUsIGxvbmcgQzE2LCBsb25nIEMxNywgbG9uZyBDMTgsIGxvbmcgQzE5CisgICAgPgorc3RydWN0IHNldF9jCisgICAgOiBzZXQyMF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMsIEMxNAorICAgICAgICAsIEMxNSwgQzE2LCBDMTcsIEMxOCwgQzE5CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDIwX2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcsQzgsQzksQzEwLEMxMSxDMTIsQzEzLEMxNCxDMTUsQzE2LEMxNyxDMTgsQzE5ID46OnR5cGUgdHlwZTsKK307CisKK319CisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2Mvc2hpZnRfbGVmdC5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjL3NoaWZ0X2xlZnQuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM1YWNmZGQKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjL3NoaWZ0X2xlZnQuaHBwCkBAIC0wLDAgKzEsOTkgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLyBDb3B5cmlnaHQgSmFhcCBTdXRlciAyMDAzCisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyAqUHJlcHJvY2Vzc2VkKiB2ZXJzaW9uIG9mIHRoZSBtYWluICJzaGlmdF9sZWZ0LmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFRhZzEKKyAgICAsIHR5cGVuYW1lIFRhZzIKKyAgICA+CitzdHJ1Y3Qgc2hpZnRfbGVmdF9pbXBsCisgICAgOiBpZl9jPAorICAgICAgICAgICggQk9PU1RfTVBMX0FVWF9ORVNURURfVkFMVUVfV0tORChpbnQsIFRhZzEpCisgICAgICAgICAgICAgID4gQk9PU1RfTVBMX0FVWF9ORVNURURfVkFMVUVfV0tORChpbnQsIFRhZzIpCisgICAgICAgICAgICApCisKKyAgICAgICAgLCBhdXg6OmNhc3QybmRfaW1wbDwgc2hpZnRfbGVmdF9pbXBsPCBUYWcxLFRhZzEgPixUYWcxLCBUYWcyID4KKyAgICAgICAgLCBhdXg6OmNhc3Qxc3RfaW1wbDwgc2hpZnRfbGVmdF9pbXBsPCBUYWcyLFRhZzIgPixUYWcxLCBUYWcyID4KKyAgICAgICAgPjo6dHlwZQoreworfTsKKworLy8vIGZvciBEaWdpdGFsIE1hcnMgQysrL2NvbXBpbGVycyB3aXRoIG5vIENUUFMvVFRQIHN1cHBvcnQKK3RlbXBsYXRlPD4gc3RydWN0IHNoaWZ0X2xlZnRfaW1wbDwgbmEsbmEgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUYWcgPiBzdHJ1Y3Qgc2hpZnRfbGVmdF9pbXBsPCBuYSxUYWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUYWcgPiBzdHJ1Y3Qgc2hpZnRfbGVmdF9pbXBsPCBUYWcsbmEgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUID4gc3RydWN0IHNoaWZ0X2xlZnRfdGFnCit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBUOjp0YWcgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMSkKKyAgICAsIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjIpCisgICAgPgorc3RydWN0IHNoaWZ0X2xlZnQKKworICAgIDogc2hpZnRfbGVmdF9pbXBsPAorICAgICAgICAgIHR5cGVuYW1lIHNoaWZ0X2xlZnRfdGFnPE4xPjo6dHlwZQorICAgICAgICAsIHR5cGVuYW1lIHNoaWZ0X2xlZnRfdGFnPE4yPjo6dHlwZQorICAgICAgICA+Ojp0ZW1wbGF0ZSBhcHBseTwgTjEsTjIgPjo6dHlwZQoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoMiwgc2hpZnRfbGVmdCwgKE4xLCBOMikpCisKK307CisKK0JPT1NUX01QTF9BVVhfTkFfU1BFQzIoMiwgMiwgc2hpZnRfbGVmdCkKKworfX0KKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7Cit0ZW1wbGF0ZTw+CitzdHJ1Y3Qgc2hpZnRfbGVmdF9pbXBsPCBpbnRlZ3JhbF9jX3RhZyxpbnRlZ3JhbF9jX3RhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIE4sIHR5cGVuYW1lIFMgPiBzdHJ1Y3QgYXBwbHkKKworICAgICAgICA6IGludGVncmFsX2M8CisgICAgICAgICAgICAgIHR5cGVuYW1lIE46OnZhbHVlX3R5cGUKKyAgICAgICAgICAgICwgKCBCT09TVF9NUExfQVVYX1ZBTFVFX1dLTkQoTik6OnZhbHVlCisgICAgICAgICAgICAgICAgICA8PCBCT09TVF9NUExfQVVYX1ZBTFVFX1dLTkQoUyk6OnZhbHVlCisgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgPgorICAgIHsKKyAgICB9OworfTsKKworfX0KZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2Mvc2hpZnRfcmlnaHQuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjYy9zaGlmdF9yaWdodC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjg2YjI0MgotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2Mvc2hpZnRfcmlnaHQuaHBwCkBAIC0wLDAgKzEsOTkgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLyBDb3B5cmlnaHQgSmFhcCBTdXRlciAyMDAzCisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyAqUHJlcHJvY2Vzc2VkKiB2ZXJzaW9uIG9mIHRoZSBtYWluICJzaGlmdF9yaWdodC5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUYWcxCisgICAgLCB0eXBlbmFtZSBUYWcyCisgICAgPgorc3RydWN0IHNoaWZ0X3JpZ2h0X2ltcGwKKyAgICA6IGlmX2M8CisgICAgICAgICAgKCBCT09TVF9NUExfQVVYX05FU1RFRF9WQUxVRV9XS05EKGludCwgVGFnMSkKKyAgICAgICAgICAgICAgPiBCT09TVF9NUExfQVVYX05FU1RFRF9WQUxVRV9XS05EKGludCwgVGFnMikKKyAgICAgICAgICAgICkKKworICAgICAgICAsIGF1eDo6Y2FzdDJuZF9pbXBsPCBzaGlmdF9yaWdodF9pbXBsPCBUYWcxLFRhZzEgPixUYWcxLCBUYWcyID4KKyAgICAgICAgLCBhdXg6OmNhc3Qxc3RfaW1wbDwgc2hpZnRfcmlnaHRfaW1wbDwgVGFnMixUYWcyID4sVGFnMSwgVGFnMiA+CisgICAgICAgID46OnR5cGUKK3sKK307CisKKy8vLyBmb3IgRGlnaXRhbCBNYXJzIEMrKy9jb21waWxlcnMgd2l0aCBubyBDVFBTL1RUUCBzdXBwb3J0Cit0ZW1wbGF0ZTw+IHN0cnVjdCBzaGlmdF9yaWdodF9pbXBsPCBuYSxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFRhZyA+IHN0cnVjdCBzaGlmdF9yaWdodF9pbXBsPCBuYSxUYWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUYWcgPiBzdHJ1Y3Qgc2hpZnRfcmlnaHRfaW1wbDwgVGFnLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVCA+IHN0cnVjdCBzaGlmdF9yaWdodF90YWcKK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIFQ6OnRhZyB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4xKQorICAgICwgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMikKKyAgICA+CitzdHJ1Y3Qgc2hpZnRfcmlnaHQKKworICAgIDogc2hpZnRfcmlnaHRfaW1wbDwKKyAgICAgICAgICB0eXBlbmFtZSBzaGlmdF9yaWdodF90YWc8TjE+Ojp0eXBlCisgICAgICAgICwgdHlwZW5hbWUgc2hpZnRfcmlnaHRfdGFnPE4yPjo6dHlwZQorICAgICAgICA+Ojp0ZW1wbGF0ZSBhcHBseTwgTjEsTjIgPjo6dHlwZQoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoMiwgc2hpZnRfcmlnaHQsIChOMSwgTjIpKQorCit9OworCitCT09TVF9NUExfQVVYX05BX1NQRUMyKDIsIDIsIHNoaWZ0X3JpZ2h0KQorCit9fQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKK3RlbXBsYXRlPD4KK3N0cnVjdCBzaGlmdF9yaWdodF9pbXBsPCBpbnRlZ3JhbF9jX3RhZyxpbnRlZ3JhbF9jX3RhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIE4sIHR5cGVuYW1lIFMgPiBzdHJ1Y3QgYXBwbHkKKworICAgICAgICA6IGludGVncmFsX2M8CisgICAgICAgICAgICAgIHR5cGVuYW1lIE46OnZhbHVlX3R5cGUKKyAgICAgICAgICAgICwgKCBCT09TVF9NUExfQVVYX1ZBTFVFX1dLTkQoTik6OnZhbHVlCisgICAgICAgICAgICAgICAgICA+PiBCT09TVF9NUExfQVVYX1ZBTFVFX1dLTkQoUyk6OnZhbHVlCisgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgPgorICAgIHsKKyAgICB9OworfTsKKworfX0KZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2MvdGVtcGxhdGVfYXJpdHkuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjYy90ZW1wbGF0ZV9hcml0eS5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWQ5ZjBmMQotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2MvdGVtcGxhdGVfYXJpdHkuaHBwCkBAIC0wLDAgKzEsNDAgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMS0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyAqUHJlcHJvY2Vzc2VkKiB2ZXJzaW9uIG9mIHRoZSBtYWluICJ0ZW1wbGF0ZV9hcml0eS5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsgbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPCBib29sID4KK3N0cnVjdCB0ZW1wbGF0ZV9hcml0eV9pbXBsCit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIEYgPiBzdHJ1Y3QgcmVzdWx0XworICAgICAgICA6IG1wbDo6aW50XzwgLTEgPgorICAgIHsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHRlbXBsYXRlX2FyaXR5X2ltcGw8dHJ1ZT4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgRiA+IHN0cnVjdCByZXN1bHRfCisgICAgICAgIDogRjo6YXJpdHkKKyAgICB7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBGID4KK3N0cnVjdCB0ZW1wbGF0ZV9hcml0eQorICAgIDogdGVtcGxhdGVfYXJpdHlfaW1wbDwgOjpuZG5ib29zdDo6bXBsOjphdXg6Omhhc19yZWJpbmQ8Rj46OnZhbHVlID4KKyAgICAgICAgOjp0ZW1wbGF0ZSByZXN1bHRfPEY+Cit7Cit9OworCit9fX0KKwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjYy90aW1lcy5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjL3RpbWVzLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lZTYxOTcyCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjYy90aW1lcy5ocHAKQEAgLTAsMCArMSwxNDYgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyAqUHJlcHJvY2Vzc2VkKiB2ZXJzaW9uIG9mIHRoZSBtYWluICJ0aW1lcy5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUYWcxCisgICAgLCB0eXBlbmFtZSBUYWcyCisgICAgPgorc3RydWN0IHRpbWVzX2ltcGwKKyAgICA6IGlmX2M8CisgICAgICAgICAgKCBCT09TVF9NUExfQVVYX05FU1RFRF9WQUxVRV9XS05EKGludCwgVGFnMSkKKyAgICAgICAgICAgICAgPiBCT09TVF9NUExfQVVYX05FU1RFRF9WQUxVRV9XS05EKGludCwgVGFnMikKKyAgICAgICAgICAgICkKKworICAgICAgICAsIGF1eDo6Y2FzdDJuZF9pbXBsPCB0aW1lc19pbXBsPCBUYWcxLFRhZzEgPixUYWcxLCBUYWcyID4KKyAgICAgICAgLCBhdXg6OmNhc3Qxc3RfaW1wbDwgdGltZXNfaW1wbDwgVGFnMixUYWcyID4sVGFnMSwgVGFnMiA+CisgICAgICAgID46OnR5cGUKK3sKK307CisKKy8vLyBmb3IgRGlnaXRhbCBNYXJzIEMrKy9jb21waWxlcnMgd2l0aCBubyBDVFBTL1RUUCBzdXBwb3J0Cit0ZW1wbGF0ZTw+IHN0cnVjdCB0aW1lc19pbXBsPCBuYSxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFRhZyA+IHN0cnVjdCB0aW1lc19pbXBsPCBuYSxUYWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUYWcgPiBzdHJ1Y3QgdGltZXNfaW1wbDwgVGFnLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVCA+IHN0cnVjdCB0aW1lc190YWcKK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIFQ6OnRhZyB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4xKQorICAgICwgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMikKKyAgICAsIHR5cGVuYW1lIE4zID0gbmEsIHR5cGVuYW1lIE40ID0gbmEsIHR5cGVuYW1lIE41ID0gbmEKKyAgICA+CitzdHJ1Y3QgdGltZXMKKyAgICA6IHRpbWVzPCB0aW1lczwgdGltZXM8IHRpbWVzPCBOMSxOMiA+LCBOMz4sIE40PiwgTjU+Cit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgKKyAgICAgICAgICA1CisgICAgICAgICwgdGltZXMKKyAgICAgICAgLCAoIE4xLCBOMiwgTjMsIE40LCBONSApCisgICAgICAgICkKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgTjEsIHR5cGVuYW1lIE4yLCB0eXBlbmFtZSBOMywgdHlwZW5hbWUgTjQKKyAgICA+CitzdHJ1Y3QgdGltZXM8IE4xLE4yLE4zLE40LG5hID4KKworICAgIDogdGltZXM8IHRpbWVzPCB0aW1lczwgTjEsTjIgPiwgTjM+LCBOND4KK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUX1NQRUMoCisgICAgICAgICAgNQorICAgICAgICAsIHRpbWVzCisgICAgICAgICwgKCBOMSwgTjIsIE4zLCBONCwgbmEgKQorICAgICAgICApCit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIE4xLCB0eXBlbmFtZSBOMiwgdHlwZW5hbWUgTjMKKyAgICA+CitzdHJ1Y3QgdGltZXM8IE4xLE4yLE4zLG5hLG5hID4KKworICAgIDogdGltZXM8IHRpbWVzPCBOMSxOMiA+LCBOMz4KK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUX1NQRUMoCisgICAgICAgICAgNQorICAgICAgICAsIHRpbWVzCisgICAgICAgICwgKCBOMSwgTjIsIE4zLCBuYSwgbmEgKQorICAgICAgICApCit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIE4xLCB0eXBlbmFtZSBOMgorICAgID4KK3N0cnVjdCB0aW1lczwgTjEsTjIsbmEsbmEsbmEgPgorICAgIDogdGltZXNfaW1wbDwKKyAgICAgICAgICB0eXBlbmFtZSB0aW1lc190YWc8TjE+Ojp0eXBlCisgICAgICAgICwgdHlwZW5hbWUgdGltZXNfdGFnPE4yPjo6dHlwZQorICAgICAgICA+Ojp0ZW1wbGF0ZSBhcHBseTwgTjEsTjIgPjo6dHlwZQoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlRfU1BFQygKKyAgICAgICAgICA1CisgICAgICAgICwgdGltZXMKKyAgICAgICAgLCAoIE4xLCBOMiwgbmEsIG5hLCBuYSApCisgICAgICAgICkKKworfTsKKworQk9PU1RfTVBMX0FVWF9OQV9TUEVDMigyLCA1LCB0aW1lcykKKworfX0KKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7Cit0ZW1wbGF0ZTw+CitzdHJ1Y3QgdGltZXNfaW1wbDwgaW50ZWdyYWxfY190YWcsaW50ZWdyYWxfY190YWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBOMSwgdHlwZW5hbWUgTjIgPiBzdHJ1Y3QgYXBwbHkKKworICAgICAgICA6IGludGVncmFsX2M8CisgICAgICAgICAgICAgIHR5cGVuYW1lIGF1eDo6bGFyZ2VzdF9pbnQ8CisgICAgICAgICAgICAgICAgICB0eXBlbmFtZSBOMTo6dmFsdWVfdHlwZQorICAgICAgICAgICAgICAgICwgdHlwZW5hbWUgTjI6OnZhbHVlX3R5cGUKKyAgICAgICAgICAgICAgICA+Ojp0eXBlCisgICAgICAgICAgICAsICggQk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4xKTo6dmFsdWUKKyAgICAgICAgICAgICAgICAgICogQk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4yKTo6dmFsdWUKKyAgICAgICAgICAgICAgICApCisgICAgICAgICAgICA+CisgICAgeworICAgIH07Cit9OworCit9fQpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjYy91bnBhY2tfYXJncy5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjL3VucGFja19hcmdzLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jOTI0ZjJhCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjYy91bnBhY2tfYXJncy5ocHAKQEAgLTAsMCArMSw5NyBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAyLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vICpQcmVwcm9jZXNzZWQqIHZlcnNpb24gb2YgdGhlIG1haW4gInVucGFja19hcmdzLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8IGludCBzaXplLCB0eXBlbmFtZSBGLCB0eXBlbmFtZSBBcmdzID4KK3N0cnVjdCB1bnBhY2tfYXJnc19pbXBsOworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgRiwgdHlwZW5hbWUgQXJncyA+CitzdHJ1Y3QgdW5wYWNrX2FyZ3NfaW1wbDwgMCxGLEFyZ3MgPgorICAgIDogYXBwbHkwPAorICAgICAgICAgIEYKKyAgICAgICAgPgoreworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIEYsIHR5cGVuYW1lIEFyZ3MgPgorc3RydWN0IHVucGFja19hcmdzX2ltcGw8IDEsRixBcmdzID4KKyAgICA6IGFwcGx5MTwKKyAgICAgICAgICBGCisgICAgICAgICwgdHlwZW5hbWUgYXRfYzwgQXJncywwID46OnR5cGUKKyAgICAgICAgPgoreworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIEYsIHR5cGVuYW1lIEFyZ3MgPgorc3RydWN0IHVucGFja19hcmdzX2ltcGw8IDIsRixBcmdzID4KKyAgICA6IGFwcGx5MjwKKyAgICAgICAgICBGCisgICAgICAgICwgdHlwZW5hbWUgYXRfYzwgQXJncywwID46OnR5cGUsIHR5cGVuYW1lIGF0X2M8IEFyZ3MsMSA+Ojp0eXBlCisgICAgICAgID4KK3sKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBGLCB0eXBlbmFtZSBBcmdzID4KK3N0cnVjdCB1bnBhY2tfYXJnc19pbXBsPCAzLEYsQXJncyA+CisgICAgOiBhcHBseTM8CisgICAgICAgICAgRgorICAgICAgICAsIHR5cGVuYW1lIGF0X2M8IEFyZ3MsMCA+Ojp0eXBlLCB0eXBlbmFtZSBhdF9jPCBBcmdzLDEgPjo6dHlwZQorICAgICAgICAsIHR5cGVuYW1lIGF0X2M8IEFyZ3MsMiA+Ojp0eXBlCisgICAgICAgID4KK3sKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBGLCB0eXBlbmFtZSBBcmdzID4KK3N0cnVjdCB1bnBhY2tfYXJnc19pbXBsPCA0LEYsQXJncyA+CisgICAgOiBhcHBseTQ8CisgICAgICAgICAgRgorICAgICAgICAsIHR5cGVuYW1lIGF0X2M8IEFyZ3MsMCA+Ojp0eXBlLCB0eXBlbmFtZSBhdF9jPCBBcmdzLDEgPjo6dHlwZQorICAgICAgICAsIHR5cGVuYW1lIGF0X2M8IEFyZ3MsMiA+Ojp0eXBlLCB0eXBlbmFtZSBhdF9jPCBBcmdzLDMgPjo6dHlwZQorICAgICAgICA+Cit7Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgRiwgdHlwZW5hbWUgQXJncyA+CitzdHJ1Y3QgdW5wYWNrX2FyZ3NfaW1wbDwgNSxGLEFyZ3MgPgorICAgIDogYXBwbHk1PAorICAgICAgICAgIEYKKyAgICAgICAgLCB0eXBlbmFtZSBhdF9jPCBBcmdzLDAgPjo6dHlwZSwgdHlwZW5hbWUgYXRfYzwgQXJncywxID46OnR5cGUKKyAgICAgICAgLCB0eXBlbmFtZSBhdF9jPCBBcmdzLDIgPjo6dHlwZSwgdHlwZW5hbWUgYXRfYzwgQXJncywzID46OnR5cGUKKyAgICAgICAgLCB0eXBlbmFtZSBhdF9jPCBBcmdzLDQgPjo6dHlwZQorICAgICAgICA+Cit7Cit9OworCit9CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRgorICAgID4KK3N0cnVjdCB1bnBhY2tfYXJncworeworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBBcmdzID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGF1eDo6dW5wYWNrX2FyZ3NfaW1wbDwKKyAgICAgICAgICAgICAgc2l6ZTxBcmdzPjo6dmFsdWUKKyAgICAgICAgICAgICwgRgorICAgICAgICAgICAgLCBBcmdzCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworQk9PU1RfTVBMX0FVWF9QQVNTX1RIUk9VR0hfTEFNQkRBX1NQRUMoMSwgdW5wYWNrX2FyZ3MpCisKK319CisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2MvdmVjdG9yLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2MvdmVjdG9yLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xOWFiODYwCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjYy92ZWN0b3IuaHBwCkBAIC0wLDAgKzEsMzIzIEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gKlByZXByb2Nlc3NlZCogdmVyc2lvbiBvZiB0aGUgbWFpbiAidmVjdG9yLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwID0gbmEsIHR5cGVuYW1lIFQxID0gbmEsIHR5cGVuYW1lIFQyID0gbmEsIHR5cGVuYW1lIFQzID0gbmEKKyAgICAsIHR5cGVuYW1lIFQ0ID0gbmEsIHR5cGVuYW1lIFQ1ID0gbmEsIHR5cGVuYW1lIFQ2ID0gbmEsIHR5cGVuYW1lIFQ3ID0gbmEKKyAgICAsIHR5cGVuYW1lIFQ4ID0gbmEsIHR5cGVuYW1lIFQ5ID0gbmEsIHR5cGVuYW1lIFQxMCA9IG5hLCB0eXBlbmFtZSBUMTEgPSBuYQorICAgICwgdHlwZW5hbWUgVDEyID0gbmEsIHR5cGVuYW1lIFQxMyA9IG5hLCB0eXBlbmFtZSBUMTQgPSBuYQorICAgICwgdHlwZW5hbWUgVDE1ID0gbmEsIHR5cGVuYW1lIFQxNiA9IG5hLCB0eXBlbmFtZSBUMTcgPSBuYQorICAgICwgdHlwZW5hbWUgVDE4ID0gbmEsIHR5cGVuYW1lIFQxOSA9IG5hCisgICAgPgorc3RydWN0IHZlY3RvcjsKKwordGVtcGxhdGU8CisgICAgIAorICAgID4KK3N0cnVjdCB2ZWN0b3I8CisgICAgICAgICAgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3IwPCAgPgoreworICAgIHR5cGVkZWYgdmVjdG9yMDwgID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAKKyAgICA+CitzdHJ1Y3QgdmVjdG9yPAorICAgICAgICAgIFQwLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogdmVjdG9yMTxUMD4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjE8VDA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMQorICAgID4KK3N0cnVjdCB2ZWN0b3I8CisgICAgICAgICAgVDAsIFQxLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3IyPCBUMCxUMSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IyPCBUMCxUMSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIKKyAgICA+CitzdHJ1Y3QgdmVjdG9yPAorICAgICAgICAgIFQwLCBUMSwgVDIsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogdmVjdG9yMzwgVDAsVDEsVDIgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMzwgVDAsVDEsVDIgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMworICAgID4KK3N0cnVjdCB2ZWN0b3I8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3I0PCBUMCxUMSxUMixUMyA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3I0PCBUMCxUMSxUMixUMyA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgID4KK3N0cnVjdCB2ZWN0b3I8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3I1PCBUMCxUMSxUMixUMyxUNCA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3I1PCBUMCxUMSxUMixUMyxUNCA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUKKyAgICA+CitzdHJ1Y3QgdmVjdG9yPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogdmVjdG9yNjwgVDAsVDEsVDIsVDMsVDQsVDUgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yNjwgVDAsVDEsVDIsVDMsVDQsVDUgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNgorICAgID4KK3N0cnVjdCB2ZWN0b3I8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3I3PCBUMCxUMSxUMixUMyxUNCxUNSxUNiA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3I3PCBUMCxUMSxUMixUMyxUNCxUNSxUNiA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNworICAgID4KK3N0cnVjdCB2ZWN0b3I8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3I4PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3I4PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgKKyAgICA+CitzdHJ1Y3QgdmVjdG9yPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogdmVjdG9yOTwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDggPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yOTwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDggPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgID4KK3N0cnVjdCB2ZWN0b3I8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3IxMDwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDkgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTA8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMAorICAgID4KK3N0cnVjdCB2ZWN0b3I8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogdmVjdG9yMTE8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxMTwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExCisgICAgPgorc3RydWN0IHZlY3RvcjwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogdmVjdG9yMTI8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTI8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMgorICAgID4KK3N0cnVjdCB2ZWN0b3I8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3IxMzwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTM8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMworICAgID4KK3N0cnVjdCB2ZWN0b3I8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogdmVjdG9yMTQ8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxNDwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgPgorc3RydWN0IHZlY3RvcjwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogdmVjdG9yMTU8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjE1PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMsVDE0ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgLCB0eXBlbmFtZSBUMTUKKyAgICA+CitzdHJ1Y3QgdmVjdG9yPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogdmVjdG9yMTY8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjE2PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMsVDE0LFQxNSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYKKyAgICA+CitzdHJ1Y3QgdmVjdG9yPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgVDE2LCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHZlY3RvcjE3PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgVDE2CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjE3PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMsVDE0LFQxNSxUMTYgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcKKyAgICA+CitzdHJ1Y3QgdmVjdG9yPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgVDE2LCBUMTcsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3IxODwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgLCBUMTUsIFQxNiwgVDE3CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjE4PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMsVDE0LFQxNSxUMTYsVDE3ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgKKyAgICA+CitzdHJ1Y3QgdmVjdG9yPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgVDE2LCBUMTcsIFQxOCwgbmEKKyAgICAgICAgPgorICAgIDogdmVjdG9yMTk8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1LCBUMTYsIFQxNywgVDE4CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjE5PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMsVDE0LFQxNSxUMTYsVDE3LFQxOCA+Ojp0eXBlIHR5cGU7Cit9OworCisvLy8gcHJpbWFyeSB0ZW1wbGF0ZSAobm90IGEgc3BlY2lhbGl6YXRpb24hKQorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICA+CitzdHJ1Y3QgdmVjdG9yCisgICAgOiB2ZWN0b3IyMDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgLCBUMTUsIFQxNiwgVDE3LCBUMTgsIFQxOQorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IyMDwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzLFQxNCxUMTUsVDE2LFQxNyxUMTgsVDE5ID46OnR5cGUgdHlwZTsKK307CisKK319CisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2MvdmVjdG9yX2MuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjYy92ZWN0b3JfYy5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODA3YmZkOAotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2MvdmVjdG9yX2MuaHBwCkBAIC0wLDAgKzEsMzA5IEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwOAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gKlByZXByb2Nlc3NlZCogdmVyc2lvbiBvZiB0aGUgbWFpbiAidmVjdG9yX2MuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCA9IExPTkdfTUFYLCBsb25nIEMxID0gTE9OR19NQVgsIGxvbmcgQzIgPSBMT05HX01BWAorICAgICwgbG9uZyBDMyA9IExPTkdfTUFYLCBsb25nIEM0ID0gTE9OR19NQVgsIGxvbmcgQzUgPSBMT05HX01BWAorICAgICwgbG9uZyBDNiA9IExPTkdfTUFYLCBsb25nIEM3ID0gTE9OR19NQVgsIGxvbmcgQzggPSBMT05HX01BWAorICAgICwgbG9uZyBDOSA9IExPTkdfTUFYLCBsb25nIEMxMCA9IExPTkdfTUFYLCBsb25nIEMxMSA9IExPTkdfTUFYCisgICAgLCBsb25nIEMxMiA9IExPTkdfTUFYLCBsb25nIEMxMyA9IExPTkdfTUFYLCBsb25nIEMxNCA9IExPTkdfTUFYCisgICAgLCBsb25nIEMxNSA9IExPTkdfTUFYLCBsb25nIEMxNiA9IExPTkdfTUFYLCBsb25nIEMxNyA9IExPTkdfTUFYCisgICAgLCBsb25nIEMxOCA9IExPTkdfTUFYLCBsb25nIEMxOSA9IExPTkdfTUFYCisgICAgPgorc3RydWN0IHZlY3Rvcl9jOworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQKKyAgICA+CitzdHJ1Y3QgdmVjdG9yX2M8CisgICAgICAgICAgVCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogdmVjdG9yMF9jPFQ+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IwX2M8VD46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMAorICAgID4KK3N0cnVjdCB2ZWN0b3JfYzwKKyAgICAgICAgICBULCBDMCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiB2ZWN0b3IxX2M8IFQsIFQoQzApID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjFfYzwgVCwgVChDMCkgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxCisgICAgPgorc3RydWN0IHZlY3Rvcl9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IHZlY3RvcjJfYzwgVCwgVChDMCksIFQoQzEpID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjJfYzwgVCwgVChDMCksIFQoQzEpID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMgorICAgID4KK3N0cnVjdCB2ZWN0b3JfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiB2ZWN0b3IzX2M8IFQsIFQoQzApLCBUKEMxKSwgVChDMikgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yM19jPCBULCBUKEMwKSwgVChDMSksIFQoQzIpID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMworICAgID4KK3N0cnVjdCB2ZWN0b3JfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiB2ZWN0b3I0X2M8IFQsIFQoQzApLCBUKEMxKSwgVChDMiksIFQoQzMpID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjRfYzwgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMykgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0CisgICAgPgorc3RydWN0IHZlY3Rvcl9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IHZlY3RvcjVfYzwgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMyksIFQoQzQpID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjVfYzwgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMyksIFQoQzQpID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgID4KK3N0cnVjdCB2ZWN0b3JfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiB2ZWN0b3I2X2M8IFQsIFQoQzApLCBUKEMxKSwgVChDMiksIFQoQzMpLCBUKEM0KSwgVChDNSkgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yNl9jPCBULCBUKEMwKSwgVChDMSksIFQoQzIpLCBUKEMzKSwgVChDNCksIFQoQzUpID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICwgbG9uZyBDNgorICAgID4KK3N0cnVjdCB2ZWN0b3JfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiB2ZWN0b3I3X2M8IFQsIFQoQzApLCBUKEMxKSwgVChDMiksIFQoQzMpLCBUKEM0KSwgVChDNSksIFQoQzYpID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjdfYzwgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMyksIFQoQzQpLCBUKEM1KSwgVChDNikgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3CisgICAgPgorc3RydWN0IHZlY3Rvcl9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IHZlY3RvcjhfYzwgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMyksIFQoQzQpLCBUKEM1KSwgVChDNiksIFQoQzcpID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjhfYzwgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMyksIFQoQzQpLCBUKEM1KSwgVChDNiksIFQoQzcpID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOAorICAgID4KK3N0cnVjdCB2ZWN0b3JfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiB2ZWN0b3I5X2M8IFQsIFQoQzApLCBUKEMxKSwgVChDMiksIFQoQzMpLCBUKEM0KSwgVChDNSksIFQoQzYpLCBUKEM3KSwgVChDOCkgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yOV9jPCBULCBUKEMwKSwgVChDMSksIFQoQzIpLCBUKEMzKSwgVChDNCksIFQoQzUpLCBUKEM2KSwgVChDNyksIFQoQzgpID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOQorICAgID4KK3N0cnVjdCB2ZWN0b3JfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiB2ZWN0b3IxMF9jPCBULCBUKEMwKSwgVChDMSksIFQoQzIpLCBUKEMzKSwgVChDNCksIFQoQzUpLCBUKEM2KSwgVChDNyksIFQoQzgpLCBUKEM5KSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxMF9jPCBULCBUKEMwKSwgVChDMSksIFQoQzIpLCBUKEMzKSwgVChDNCksIFQoQzUpLCBUKEM2KSwgVChDNyksIFQoQzgpLCBUKEM5KSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwCisgICAgPgorc3RydWN0IHZlY3Rvcl9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IHZlY3RvcjExX2M8IFQsIFQoQzApLCBUKEMxKSwgVChDMiksIFQoQzMpLCBUKEM0KSwgVChDNSksIFQoQzYpLCBUKEM3KSwgVChDOCksIFQoQzkpLCBUKEMxMCkgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTFfYzwgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMyksIFQoQzQpLCBUKEM1KSwgVChDNiksIFQoQzcpLCBUKEM4KSwgVChDOSksIFQoQzEwKSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMQorICAgID4KK3N0cnVjdCB2ZWN0b3JfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogdmVjdG9yMTJfYzwgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMyksIFQoQzQpLCBUKEM1KSwgVChDNiksIFQoQzcpLCBUKEM4KSwgVChDOSksIFQoQzEwKSwgVChDMTEpID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjEyX2M8IFQsIFQoQzApLCBUKEMxKSwgVChDMiksIFQoQzMpLCBUKEM0KSwgVChDNSksIFQoQzYpLCBUKEM3KSwgVChDOCksIFQoQzkpLCBUKEMxMCksIFQoQzExKSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICA+CitzdHJ1Y3QgdmVjdG9yX2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBDMTIsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiB2ZWN0b3IxM19jPCBULCBUKEMwKSwgVChDMSksIFQoQzIpLCBUKEMzKSwgVChDNCksIFQoQzUpLCBUKEM2KSwgVChDNyksIFQoQzgpLCBUKEM5KSwgVChDMTApLCBUKEMxMSksIFQoQzEyKSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxM19jPCBULCBUKEMwKSwgVChDMSksIFQoQzIpLCBUKEMzKSwgVChDNCksIFQoQzUpLCBUKEM2KSwgVChDNyksIFQoQzgpLCBUKEM5KSwgVChDMTApLCBUKEMxMSksIFQoQzEyKSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAsIGxvbmcgQzEzCisgICAgPgorc3RydWN0IHZlY3Rvcl9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IHZlY3RvcjE0X2M8IFQsIFQoQzApLCBUKEMxKSwgVChDMiksIFQoQzMpLCBUKEM0KSwgVChDNSksIFQoQzYpLCBUKEM3KSwgVChDOCksIFQoQzkpLCBUKEMxMCksIFQoQzExKSwgVChDMTIpLCBUKEMxMykgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTRfYzwgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMyksIFQoQzQpLCBUKEM1KSwgVChDNiksIFQoQzcpLCBUKEM4KSwgVChDOSksIFQoQzEwKSwgVChDMTEpLCBUKEMxMiksIFQoQzEzKSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAsIGxvbmcgQzEzLCBsb25nIEMxNAorICAgID4KK3N0cnVjdCB2ZWN0b3JfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIEMxMiwgQzEzLCBDMTQKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogdmVjdG9yMTVfYzwgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMyksIFQoQzQpLCBUKEM1KSwgVChDNiksIFQoQzcpLCBUKEM4KSwgVChDOSksIFQoQzEwKSwgVChDMTEpLCBUKEMxMiksIFQoQzEzKSwgVChDMTQpID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjE1X2M8IFQsIFQoQzApLCBUKEMxKSwgVChDMiksIFQoQzMpLCBUKEM0KSwgVChDNSksIFQoQzYpLCBUKEM3KSwgVChDOCksIFQoQzkpLCBUKEMxMCksIFQoQzExKSwgVChDMTIpLCBUKEMxMyksIFQoQzE0KSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAsIGxvbmcgQzEzLCBsb25nIEMxNCwgbG9uZyBDMTUKKyAgICA+CitzdHJ1Y3QgdmVjdG9yX2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBDMTIsIEMxMywgQzE0CisgICAgICAgICwgQzE1LCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiB2ZWN0b3IxNl9jPCBULCBUKEMwKSwgVChDMSksIFQoQzIpLCBUKEMzKSwgVChDNCksIFQoQzUpLCBUKEM2KSwgVChDNyksIFQoQzgpLCBUKEM5KSwgVChDMTApLCBUKEMxMSksIFQoQzEyKSwgVChDMTMpLCBUKEMxNCksIFQoQzE1KSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxNl9jPCBULCBUKEMwKSwgVChDMSksIFQoQzIpLCBUKEMzKSwgVChDNCksIFQoQzUpLCBUKEM2KSwgVChDNyksIFQoQzgpLCBUKEM5KSwgVChDMTApLCBUKEMxMSksIFQoQzEyKSwgVChDMTMpLCBUKEMxNCksIFQoQzE1KSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAsIGxvbmcgQzEzLCBsb25nIEMxNCwgbG9uZyBDMTUsIGxvbmcgQzE2CisgICAgPgorc3RydWN0IHZlY3Rvcl9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMsIEMxNAorICAgICAgICAsIEMxNSwgQzE2LCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IHZlY3RvcjE3X2M8IFQsIFQoQzApLCBUKEMxKSwgVChDMiksIFQoQzMpLCBUKEM0KSwgVChDNSksIFQoQzYpLCBUKEM3KSwgVChDOCksIFQoQzkpLCBUKEMxMCksIFQoQzExKSwgVChDMTIpLCBUKEMxMyksIFQoQzE0KSwgVChDMTUpLCBUKEMxNikgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTdfYzwgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMyksIFQoQzQpLCBUKEM1KSwgVChDNiksIFQoQzcpLCBUKEM4KSwgVChDOSksIFQoQzEwKSwgVChDMTEpLCBUKEMxMiksIFQoQzEzKSwgVChDMTQpLCBUKEMxNSksIFQoQzE2KSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAsIGxvbmcgQzEzLCBsb25nIEMxNCwgbG9uZyBDMTUsIGxvbmcgQzE2LCBsb25nIEMxNworICAgID4KK3N0cnVjdCB2ZWN0b3JfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIEMxMiwgQzEzLCBDMTQKKyAgICAgICAgLCBDMTUsIEMxNiwgQzE3LCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogdmVjdG9yMThfYzwgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMyksIFQoQzQpLCBUKEM1KSwgVChDNiksIFQoQzcpLCBUKEM4KSwgVChDOSksIFQoQzEwKSwgVChDMTEpLCBUKEMxMiksIFQoQzEzKSwgVChDMTQpLCBUKEMxNSksIFQoQzE2KSwgVChDMTcpID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjE4X2M8IFQsIFQoQzApLCBUKEMxKSwgVChDMiksIFQoQzMpLCBUKEM0KSwgVChDNSksIFQoQzYpLCBUKEM3KSwgVChDOCksIFQoQzkpLCBUKEMxMCksIFQoQzExKSwgVChDMTIpLCBUKEMxMyksIFQoQzE0KSwgVChDMTUpLCBUKEMxNiksIFQoQzE3KSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAsIGxvbmcgQzEzLCBsb25nIEMxNCwgbG9uZyBDMTUsIGxvbmcgQzE2LCBsb25nIEMxNywgbG9uZyBDMTgKKyAgICA+CitzdHJ1Y3QgdmVjdG9yX2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBDMTIsIEMxMywgQzE0CisgICAgICAgICwgQzE1LCBDMTYsIEMxNywgQzE4LCBMT05HX01BWAorICAgICAgICA+CisgICAgOiB2ZWN0b3IxOV9jPCBULCBUKEMwKSwgVChDMSksIFQoQzIpLCBUKEMzKSwgVChDNCksIFQoQzUpLCBUKEM2KSwgVChDNyksIFQoQzgpLCBUKEM5KSwgVChDMTApLCBUKEMxMSksIFQoQzEyKSwgVChDMTMpLCBUKEMxNCksIFQoQzE1KSwgVChDMTYpLCBUKEMxNyksIFQoQzE4KSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxOV9jPCBULCBUKEMwKSwgVChDMSksIFQoQzIpLCBUKEMzKSwgVChDNCksIFQoQzUpLCBUKEM2KSwgVChDNyksIFQoQzgpLCBUKEM5KSwgVChDMTApLCBUKEMxMSksIFQoQzEyKSwgVChDMTMpLCBUKEMxNCksIFQoQzE1KSwgVChDMTYpLCBUKEMxNyksIFQoQzE4KSA+Ojp0eXBlIHR5cGU7Cit9OworCisvLy8gcHJpbWFyeSB0ZW1wbGF0ZSAobm90IGEgc3BlY2lhbGl6YXRpb24hKQorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAsIGxvbmcgQzEzLCBsb25nIEMxNCwgbG9uZyBDMTUsIGxvbmcgQzE2LCBsb25nIEMxNywgbG9uZyBDMTgsIGxvbmcgQzE5CisgICAgPgorc3RydWN0IHZlY3Rvcl9jCisgICAgOiB2ZWN0b3IyMF9jPCBULCBUKEMwKSwgVChDMSksIFQoQzIpLCBUKEMzKSwgVChDNCksIFQoQzUpLCBUKEM2KSwgVChDNyksIFQoQzgpLCBUKEM5KSwgVChDMTApLCBUKEMxMSksIFQoQzEyKSwgVChDMTMpLCBUKEMxNCksIFQoQzE1KSwgVChDMTYpLCBUKEMxNyksIFQoQzE4KSwgVChDMTkpID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjIwX2M8IFQsIFQoQzApLCBUKEMxKSwgVChDMiksIFQoQzMpLCBUKEM0KSwgVChDNSksIFQoQzYpLCBUKEM3KSwgVChDOCksIFQoQzkpLCBUKEMxMCksIFQoQzExKSwgVChDMTIpLCBUKEMxMyksIFQoQzE0KSwgVChDMTUpLCBUKEMxNiksIFQoQzE3KSwgVChDMTgpLCBUKEMxOSkgPjo6dHlwZSB0eXBlOworfTsKKworfX0KKwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjYzU1MS9hZHZhbmNlX2JhY2t3YXJkLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2M1NTEvYWR2YW5jZV9iYWNrd2FyZC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGUwYzgyOAotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2M1NTEvYWR2YW5jZV9iYWNrd2FyZC5ocHAKQEAgLTAsMCArMSw5NyBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvYXV4Xy9hZHZhbmNlX2JhY2t3YXJkLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeyBuYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8IGxvbmcgTiA+IHN0cnVjdCBhZHZhbmNlX2JhY2t3YXJkOwordGVtcGxhdGU8Pgorc3RydWN0IGFkdmFuY2VfYmFja3dhcmQ8MD4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgSXRlcmF0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgSXRlcmF0b3IgaXRlcjA7CisgICAgICAgIHR5cGVkZWYgaXRlcjAgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGFkdmFuY2VfYmFja3dhcmQ8MT4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgSXRlcmF0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgSXRlcmF0b3IgaXRlcjA7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcHJpb3I8aXRlcjA+Ojp0eXBlIGl0ZXIxOworICAgICAgICB0eXBlZGVmIGl0ZXIxIHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBhZHZhbmNlX2JhY2t3YXJkPDI+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIEl0ZXJhdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIEl0ZXJhdG9yIGl0ZXIwOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHByaW9yPGl0ZXIwPjo6dHlwZSBpdGVyMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBwcmlvcjxpdGVyMT46OnR5cGUgaXRlcjI7CisgICAgICAgIHR5cGVkZWYgaXRlcjIgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGFkdmFuY2VfYmFja3dhcmQ8Mz4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgSXRlcmF0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgSXRlcmF0b3IgaXRlcjA7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcHJpb3I8aXRlcjA+Ojp0eXBlIGl0ZXIxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHByaW9yPGl0ZXIxPjo6dHlwZSBpdGVyMjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBwcmlvcjxpdGVyMj46OnR5cGUgaXRlcjM7CisgICAgICAgIHR5cGVkZWYgaXRlcjMgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGFkdmFuY2VfYmFja3dhcmQ8ND4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgSXRlcmF0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgSXRlcmF0b3IgaXRlcjA7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcHJpb3I8aXRlcjA+Ojp0eXBlIGl0ZXIxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHByaW9yPGl0ZXIxPjo6dHlwZSBpdGVyMjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBwcmlvcjxpdGVyMj46OnR5cGUgaXRlcjM7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcHJpb3I8aXRlcjM+Ojp0eXBlIGl0ZXI0OworICAgICAgICB0eXBlZGVmIGl0ZXI0IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCBsb25nIE4gPgorc3RydWN0IGFkdmFuY2VfYmFja3dhcmQKK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgSXRlcmF0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHlfd3JhcDE8CisgICAgICAgICAgICAgIGFkdmFuY2VfYmFja3dhcmQ8ND4KKyAgICAgICAgICAgICwgSXRlcmF0b3IKKyAgICAgICAgICAgID46OnR5cGUgY2h1bmtfcmVzdWx0XzsKKworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5X3dyYXAxPAorICAgICAgICAgICAgICBhZHZhbmNlX2JhY2t3YXJkPCgKKyAgICAgICAgICAgICAgICAoTiAtIDQpIDwgMAorICAgICAgICAgICAgICAgICAgICA/IDAKKyAgICAgICAgICAgICAgICAgICAgOiBOIC0gNAorICAgICAgICAgICAgICAgICAgICApPgorICAgICAgICAgICAgLCBjaHVua19yZXN1bHRfCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisgICAgfTsKK307CisKK319fQorCmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjNTUxL2FkdmFuY2VfZm9yd2FyZC5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjNTUxL2FkdmFuY2VfZm9yd2FyZC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjNhNWFmZAotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2M1NTEvYWR2YW5jZV9mb3J3YXJkLmhwcApAQCAtMCwwICsxLDk3IEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9hdXhfL2FkdmFuY2VfZm9yd2FyZC5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsgbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPCBsb25nIE4gPiBzdHJ1Y3QgYWR2YW5jZV9mb3J3YXJkOwordGVtcGxhdGU8Pgorc3RydWN0IGFkdmFuY2VfZm9yd2FyZDwwPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBJdGVyYXRvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBJdGVyYXRvciBpdGVyMDsKKyAgICAgICAgdHlwZWRlZiBpdGVyMCB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgYWR2YW5jZV9mb3J3YXJkPDE+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIEl0ZXJhdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIEl0ZXJhdG9yIGl0ZXIwOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG5leHQ8aXRlcjA+Ojp0eXBlIGl0ZXIxOworICAgICAgICB0eXBlZGVmIGl0ZXIxIHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBhZHZhbmNlX2ZvcndhcmQ8Mj4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgSXRlcmF0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgSXRlcmF0b3IgaXRlcjA7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbmV4dDxpdGVyMD46OnR5cGUgaXRlcjE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbmV4dDxpdGVyMT46OnR5cGUgaXRlcjI7CisgICAgICAgIHR5cGVkZWYgaXRlcjIgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGFkdmFuY2VfZm9yd2FyZDwzPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBJdGVyYXRvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBJdGVyYXRvciBpdGVyMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBuZXh0PGl0ZXIwPjo6dHlwZSBpdGVyMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBuZXh0PGl0ZXIxPjo6dHlwZSBpdGVyMjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBuZXh0PGl0ZXIyPjo6dHlwZSBpdGVyMzsKKyAgICAgICAgdHlwZWRlZiBpdGVyMyB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgYWR2YW5jZV9mb3J3YXJkPDQ+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIEl0ZXJhdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIEl0ZXJhdG9yIGl0ZXIwOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG5leHQ8aXRlcjA+Ojp0eXBlIGl0ZXIxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG5leHQ8aXRlcjE+Ojp0eXBlIGl0ZXIyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG5leHQ8aXRlcjI+Ojp0eXBlIGl0ZXIzOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG5leHQ8aXRlcjM+Ojp0eXBlIGl0ZXI0OworICAgICAgICB0eXBlZGVmIGl0ZXI0IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCBsb25nIE4gPgorc3RydWN0IGFkdmFuY2VfZm9yd2FyZAoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBJdGVyYXRvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseV93cmFwMTwKKyAgICAgICAgICAgICAgYWR2YW5jZV9mb3J3YXJkPDQ+CisgICAgICAgICAgICAsIEl0ZXJhdG9yCisgICAgICAgICAgICA+Ojp0eXBlIGNodW5rX3Jlc3VsdF87CisKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseV93cmFwMTwKKyAgICAgICAgICAgICAgYWR2YW5jZV9mb3J3YXJkPCgKKyAgICAgICAgICAgICAgICAoTiAtIDQpIDwgMAorICAgICAgICAgICAgICAgICAgICA/IDAKKyAgICAgICAgICAgICAgICAgICAgOiBOIC0gNAorICAgICAgICAgICAgICAgICAgICApPgorICAgICAgICAgICAgLCBjaHVua19yZXN1bHRfCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisgICAgfTsKK307CisKK319fQorCmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjNTUxL2FuZC5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjNTUxL2FuZC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjRiODhkOAotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2M1NTEvYW5kLmhwcApAQCAtMCwwICsxLDY5IEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9hbmQuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwgYm9vbCBDXywgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQgPgorc3RydWN0IGFuZF9pbXBsCisgICAgOiBmYWxzZV8KK3sKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNCA+CitzdHJ1Y3QgYW5kX2ltcGw8IHRydWUsVDEsVDIsVDMsVDQgPgorICAgIDogYW5kX2ltcGw8CisgICAgICAgICAgQk9PU1RfTVBMX0FVWF9ORVNURURfVFlQRV9XS05EKFQxKTo6dmFsdWUKKyAgICAgICAgLCBUMiwgVDMsIFQ0CisgICAgICAgICwgdHJ1ZV8KKyAgICAgICAgPgoreworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGFuZF9pbXBsPAorICAgICAgICAgIHRydWUKKyAgICAgICAgLCB0cnVlXywgdHJ1ZV8sIHRydWVfLCB0cnVlXworICAgICAgICA+CisgICAgOiB0cnVlXworeworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShUMSkKKyAgICAsIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oVDIpCisgICAgLCB0eXBlbmFtZSBUMyA9IHRydWVfLCB0eXBlbmFtZSBUNCA9IHRydWVfLCB0eXBlbmFtZSBUNSA9IHRydWVfCisgICAgPgorc3RydWN0IGFuZF8KKworICAgIDogYXV4OjphbmRfaW1wbDwKKyAgICAgICAgICBCT09TVF9NUExfQVVYX05FU1RFRF9UWVBFX1dLTkQoVDEpOjp2YWx1ZQorICAgICAgICAsIFQyLCBUMywgVDQsIFQ1CisgICAgICAgID4KKworeworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoCisgICAgICAgICAgNQorICAgICAgICAsIGFuZF8KKyAgICAgICAgLCAoIFQxLCBUMiwgVDMsIFQ0LCBUNSkKKyAgICAgICAgKQorfTsKKworQk9PU1RfTVBMX0FVWF9OQV9TUEVDMigKKyAgICAgIDIKKyAgICAsIDUKKyAgICAsIGFuZF8KKyAgICApCisKK319CmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjNTUxL2FwcGx5LmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2M1NTEvYXBwbHkuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU0YjFjZDIKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjNTUxL2FwcGx5LmhwcApAQCAtMCwwICsxLDE2OSBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvYXBwbHkuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRgorICAgID4KK3N0cnVjdCBhcHBseTAKKworICAgIDogYXBwbHlfd3JhcDA8CisgICAgICAgICAgdHlwZW5hbWUgbGFtYmRhPEY+Ojp0eXBlCisgICAgICAgCisgICAgICAgID4KK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKAorICAgICAgICAgIDEKKyAgICAgICAgLCBhcHBseTAKKyAgICAgICAgLCAoRiApCisgICAgICAgICkKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRgorICAgID4KK3N0cnVjdCBhcHBseTwgRixuYSxuYSxuYSxuYSxuYSA+CisgICAgOiBhcHBseTA8Rj4KK3sKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEKKyAgICA+CitzdHJ1Y3QgYXBwbHkxCisKKyAgICA6IGFwcGx5X3dyYXAxPAorICAgICAgICAgIHR5cGVuYW1lIGxhbWJkYTxGPjo6dHlwZQorICAgICAgICAsIFQxCisgICAgICAgID4KK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKAorICAgICAgICAgIDIKKyAgICAgICAgLCBhcHBseTEKKyAgICAgICAgLCAoRiwgVDEpCisgICAgICAgICkKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEKKyAgICA+CitzdHJ1Y3QgYXBwbHk8IEYsVDEsbmEsbmEsbmEsbmEgPgorICAgIDogYXBwbHkxPCBGLFQxID4KK3sKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyCisgICAgPgorc3RydWN0IGFwcGx5MgorCisgICAgOiBhcHBseV93cmFwMjwKKyAgICAgICAgICB0eXBlbmFtZSBsYW1iZGE8Rj46OnR5cGUKKyAgICAgICAgLCBUMSwgVDIKKyAgICAgICAgPgoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoCisgICAgICAgICAgMworICAgICAgICAsIGFwcGx5MgorICAgICAgICAsIChGLCBUMSwgVDIpCisgICAgICAgICkKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyCisgICAgPgorc3RydWN0IGFwcGx5PCBGLFQxLFQyLG5hLG5hLG5hID4KKyAgICA6IGFwcGx5MjwgRixUMSxUMiA+Cit7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMKKyAgICA+CitzdHJ1Y3QgYXBwbHkzCisKKyAgICA6IGFwcGx5X3dyYXAzPAorICAgICAgICAgIHR5cGVuYW1lIGxhbWJkYTxGPjo6dHlwZQorICAgICAgICAsIFQxLCBUMiwgVDMKKyAgICAgICAgPgoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoCisgICAgICAgICAgNAorICAgICAgICAsIGFwcGx5MworICAgICAgICAsIChGLCBUMSwgVDIsIFQzKQorICAgICAgICApCit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMKKyAgICA+CitzdHJ1Y3QgYXBwbHk8IEYsVDEsVDIsVDMsbmEsbmEgPgorICAgIDogYXBwbHkzPCBGLFQxLFQyLFQzID4KK3sKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICA+CitzdHJ1Y3QgYXBwbHk0CisKKyAgICA6IGFwcGx5X3dyYXA0PAorICAgICAgICAgIHR5cGVuYW1lIGxhbWJkYTxGPjo6dHlwZQorICAgICAgICAsIFQxLCBUMiwgVDMsIFQ0CisgICAgICAgID4KK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKAorICAgICAgICAgIDUKKyAgICAgICAgLCBhcHBseTQKKyAgICAgICAgLCAoRiwgVDEsIFQyLCBUMywgVDQpCisgICAgICAgICkKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICA+CitzdHJ1Y3QgYXBwbHk8IEYsVDEsVDIsVDMsVDQsbmEgPgorICAgIDogYXBwbHk0PCBGLFQxLFQyLFQzLFQ0ID4KK3sKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1CisgICAgPgorc3RydWN0IGFwcGx5NQorCisgICAgOiBhcHBseV93cmFwNTwKKyAgICAgICAgICB0eXBlbmFtZSBsYW1iZGE8Rj46OnR5cGUKKyAgICAgICAgLCBUMSwgVDIsIFQzLCBUNCwgVDUKKyAgICAgICAgPgoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoCisgICAgICAgICAgNgorICAgICAgICAsIGFwcGx5NQorICAgICAgICAsIChGLCBUMSwgVDIsIFQzLCBUNCwgVDUpCisgICAgICAgICkKK307CisKKy8vLyBwcmltYXJ5IHRlbXBsYXRlIChub3QgYSBzcGVjaWFsaXphdGlvbiEpCisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1CisgICAgPgorc3RydWN0IGFwcGx5CisgICAgOiBhcHBseTU8IEYsVDEsVDIsVDMsVDQsVDUgPgoreworfTsKKworfX0KKwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjYzU1MS9hcHBseV9md2QuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjYzU1MS9hcHBseV9md2QuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJjY2M5NGUKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjNTUxL2FwcGx5X2Z3ZC5ocHAKQEAgLTAsMCArMSw1MiBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvYXBwbHlfZndkLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxID0gbmEsIHR5cGVuYW1lIFQyID0gbmEsIHR5cGVuYW1lIFQzID0gbmEKKyAgICAsIHR5cGVuYW1lIFQ0ID0gbmEsIHR5cGVuYW1lIFQ1ID0gbmEKKyAgICA+CitzdHJ1Y3QgYXBwbHk7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRgorICAgID4KK3N0cnVjdCBhcHBseTA7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEKKyAgICA+CitzdHJ1Y3QgYXBwbHkxOworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMgorICAgID4KK3N0cnVjdCBhcHBseTI7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMworICAgID4KK3N0cnVjdCBhcHBseTM7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICA+CitzdHJ1Y3QgYXBwbHk0OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNQorICAgID4KK3N0cnVjdCBhcHBseTU7CisKK319CisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2M1NTEvYXBwbHlfd3JhcC5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjNTUxL2FwcGx5X3dyYXAuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRkMDM5MDcKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjNTUxL2FwcGx5X3dyYXAuaHBwCkBAIC0wLDAgKzEsNDU2IEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9hcHBseV93cmFwLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwKKyAgICAgIGludCBOLCB0eXBlbmFtZSBGCisgICAgPgorc3RydWN0IGFwcGx5X3dyYXBfaW1wbDA7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRgorICAgID4KK3N0cnVjdCBhcHBseV93cmFwX2ltcGwwPAorICAgICAgICAgIDAKKyAgICAgICAgLCBGCisgICAgICAgCisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIEY6OnRlbXBsYXRlIGFwcGx5PAorICAgICAgICAgCisvLy8gc2luY2UgdGhlIGRlZmF1bHRzIGFyZSAibG9zdCIsIHdlIGhhdmUgdG8gcGFzcyAqc29tZXRoaW5nKiBldmVuIGZvciBudWxsYXJ5CisvLy8gbWV0YWZ1bmN0aW9uIGNsYXNzZXMKKyAgICAgICAgbmEKKyAgICAgICAgPiB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGCisgICAgPgorc3RydWN0IGFwcGx5X3dyYXBfaW1wbDA8CisgICAgICAgICAgMQorICAgICAgICAsIEYKKyAgICAgICAKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgRjo6dGVtcGxhdGUgYXBwbHk8CisgICAgICAgICAKKyAgICAgICAgbmEKKyAgICAgICAgPiB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGCisgICAgPgorc3RydWN0IGFwcGx5X3dyYXBfaW1wbDA8CisgICAgICAgICAgMgorICAgICAgICAsIEYKKyAgICAgICAKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgRjo6dGVtcGxhdGUgYXBwbHk8CisgICAgICAgICAKKyAgICAgICAgbmEsIG5hCisKKyAgICAgICAgPiB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGCisgICAgPgorc3RydWN0IGFwcGx5X3dyYXBfaW1wbDA8CisgICAgICAgICAgMworICAgICAgICAsIEYKKyAgICAgICAKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgRjo6dGVtcGxhdGUgYXBwbHk8CisgICAgICAgICAKKyAgICAgICAgbmEsIG5hLCBuYQorCisgICAgICAgID4gdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRgorICAgID4KK3N0cnVjdCBhcHBseV93cmFwX2ltcGwwPAorICAgICAgICAgIDQKKyAgICAgICAgLCBGCisgICAgICAgCisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIEY6OnRlbXBsYXRlIGFwcGx5PAorICAgICAgICAgCisgICAgICAgIG5hLCBuYSwgbmEsIG5hCisKKyAgICAgICAgPiB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGCisgICAgPgorc3RydWN0IGFwcGx5X3dyYXBfaW1wbDA8CisgICAgICAgICAgNQorICAgICAgICAsIEYKKyAgICAgICAKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgRjo6dGVtcGxhdGUgYXBwbHk8CisgICAgICAgICAKKyAgICAgICAgbmEsIG5hLCBuYSwgbmEsIG5hCisKKyAgICAgICAgPiB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGCisgICAgPgorc3RydWN0IGFwcGx5X3dyYXAwCisgICAgOiBhcHBseV93cmFwX2ltcGwwPAorICAgICAgICAgIDo6bmRuYm9vc3Q6Om1wbDo6YXV4Ojphcml0eTwgRiwwID46OnZhbHVlCisgICAgICAgICwgRgorICAgICAgIAorICAgICAgICA+Ojp0eXBlCit7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIGludCBOLCB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMQorICAgID4KK3N0cnVjdCBhcHBseV93cmFwX2ltcGwxOworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxCisgICAgPgorc3RydWN0IGFwcGx5X3dyYXBfaW1wbDE8CisgICAgICAgICAgMQorICAgICAgICAsIEYKKyAgICAgICAgLCBUMQorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBGOjp0ZW1wbGF0ZSBhcHBseTwKKyAgICAgICAgICBUMQorICAgICAgICA+IHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxCisgICAgPgorc3RydWN0IGFwcGx5X3dyYXBfaW1wbDE8CisgICAgICAgICAgMgorICAgICAgICAsIEYKKyAgICAgICAgLCBUMQorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBGOjp0ZW1wbGF0ZSBhcHBseTwKKyAgICAgICAgICBUMQorICAgICAgICAsIG5hCisKKyAgICAgICAgPiB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMQorICAgID4KK3N0cnVjdCBhcHBseV93cmFwX2ltcGwxPAorICAgICAgICAgIDMKKyAgICAgICAgLCBGCisgICAgICAgICwgVDEKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgRjo6dGVtcGxhdGUgYXBwbHk8CisgICAgICAgICAgVDEKKyAgICAgICAgLCBuYSwgbmEKKworICAgICAgICA+IHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxCisgICAgPgorc3RydWN0IGFwcGx5X3dyYXBfaW1wbDE8CisgICAgICAgICAgNAorICAgICAgICAsIEYKKyAgICAgICAgLCBUMQorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBGOjp0ZW1wbGF0ZSBhcHBseTwKKyAgICAgICAgICBUMQorICAgICAgICAsIG5hLCBuYSwgbmEKKworICAgICAgICA+IHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxCisgICAgPgorc3RydWN0IGFwcGx5X3dyYXBfaW1wbDE8CisgICAgICAgICAgNQorICAgICAgICAsIEYKKyAgICAgICAgLCBUMQorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBGOjp0ZW1wbGF0ZSBhcHBseTwKKyAgICAgICAgICBUMQorICAgICAgICAsIG5hLCBuYSwgbmEsIG5hCisKKyAgICAgICAgPiB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMQorICAgID4KK3N0cnVjdCBhcHBseV93cmFwMQorICAgIDogYXBwbHlfd3JhcF9pbXBsMTwKKyAgICAgICAgICA6Om5kbmJvb3N0OjptcGw6OmF1eDo6YXJpdHk8IEYsMSA+Ojp2YWx1ZQorICAgICAgICAsIEYKKyAgICAgICAgLCBUMQorICAgICAgICA+Ojp0eXBlCit7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIGludCBOLCB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIKKyAgICA+CitzdHJ1Y3QgYXBwbHlfd3JhcF9pbXBsMjsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIKKyAgICA+CitzdHJ1Y3QgYXBwbHlfd3JhcF9pbXBsMjwKKyAgICAgICAgICAyCisgICAgICAgICwgRgorICAgICAgICAsIFQxLCBUMgorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBGOjp0ZW1wbGF0ZSBhcHBseTwKKyAgICAgICAgICBUMSwgVDIKKworICAgICAgICA+IHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMgorICAgID4KK3N0cnVjdCBhcHBseV93cmFwX2ltcGwyPAorICAgICAgICAgIDMKKyAgICAgICAgLCBGCisgICAgICAgICwgVDEsIFQyCisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIEY6OnRlbXBsYXRlIGFwcGx5PAorICAgICAgICAgIFQxLCBUMgorCisgICAgICAgICwgbmEKKworICAgICAgICA+IHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMgorICAgID4KK3N0cnVjdCBhcHBseV93cmFwX2ltcGwyPAorICAgICAgICAgIDQKKyAgICAgICAgLCBGCisgICAgICAgICwgVDEsIFQyCisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIEY6OnRlbXBsYXRlIGFwcGx5PAorICAgICAgICAgIFQxLCBUMgorCisgICAgICAgICwgbmEsIG5hCisKKyAgICAgICAgPiB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIKKyAgICA+CitzdHJ1Y3QgYXBwbHlfd3JhcF9pbXBsMjwKKyAgICAgICAgICA1CisgICAgICAgICwgRgorICAgICAgICAsIFQxLCBUMgorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBGOjp0ZW1wbGF0ZSBhcHBseTwKKyAgICAgICAgICBUMSwgVDIKKworICAgICAgICAsIG5hLCBuYSwgbmEKKworICAgICAgICA+IHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMgorICAgID4KK3N0cnVjdCBhcHBseV93cmFwMgorICAgIDogYXBwbHlfd3JhcF9pbXBsMjwKKyAgICAgICAgICA6Om5kbmJvb3N0OjptcGw6OmF1eDo6YXJpdHk8IEYsMiA+Ojp2YWx1ZQorICAgICAgICAsIEYKKyAgICAgICAgLCBUMSwgVDIKKyAgICAgICAgPjo6dHlwZQoreworfTsKKwordGVtcGxhdGU8CisgICAgICBpbnQgTiwgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMworICAgID4KK3N0cnVjdCBhcHBseV93cmFwX2ltcGwzOworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMKKyAgICA+CitzdHJ1Y3QgYXBwbHlfd3JhcF9pbXBsMzwKKyAgICAgICAgICAzCisgICAgICAgICwgRgorICAgICAgICAsIFQxLCBUMiwgVDMKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgRjo6dGVtcGxhdGUgYXBwbHk8CisgICAgICAgICAgVDEsIFQyLCBUMworCisgICAgICAgID4gdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMworICAgID4KK3N0cnVjdCBhcHBseV93cmFwX2ltcGwzPAorICAgICAgICAgIDQKKyAgICAgICAgLCBGCisgICAgICAgICwgVDEsIFQyLCBUMworICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBGOjp0ZW1wbGF0ZSBhcHBseTwKKyAgICAgICAgICBUMSwgVDIsIFQzCisKKyAgICAgICAgLCBuYQorCisgICAgICAgID4gdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMworICAgID4KK3N0cnVjdCBhcHBseV93cmFwX2ltcGwzPAorICAgICAgICAgIDUKKyAgICAgICAgLCBGCisgICAgICAgICwgVDEsIFQyLCBUMworICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBGOjp0ZW1wbGF0ZSBhcHBseTwKKyAgICAgICAgICBUMSwgVDIsIFQzCisKKyAgICAgICAgLCBuYSwgbmEKKworICAgICAgICA+IHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMKKyAgICA+CitzdHJ1Y3QgYXBwbHlfd3JhcDMKKyAgICA6IGFwcGx5X3dyYXBfaW1wbDM8CisgICAgICAgICAgOjpuZG5ib29zdDo6bXBsOjphdXg6OmFyaXR5PCBGLDMgPjo6dmFsdWUKKyAgICAgICAgLCBGCisgICAgICAgICwgVDEsIFQyLCBUMworICAgICAgICA+Ojp0eXBlCit7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIGludCBOLCB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgID4KK3N0cnVjdCBhcHBseV93cmFwX2ltcGw0OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgPgorc3RydWN0IGFwcGx5X3dyYXBfaW1wbDQ8CisgICAgICAgICAgNAorICAgICAgICAsIEYKKyAgICAgICAgLCBUMSwgVDIsIFQzLCBUNAorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBGOjp0ZW1wbGF0ZSBhcHBseTwKKyAgICAgICAgICBUMSwgVDIsIFQzLCBUNAorCisgICAgICAgID4gdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICA+CitzdHJ1Y3QgYXBwbHlfd3JhcF9pbXBsNDwKKyAgICAgICAgICA1CisgICAgICAgICwgRgorICAgICAgICAsIFQxLCBUMiwgVDMsIFQ0CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIEY6OnRlbXBsYXRlIGFwcGx5PAorICAgICAgICAgIFQxLCBUMiwgVDMsIFQ0CisKKyAgICAgICAgLCBuYQorCisgICAgICAgID4gdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICA+CitzdHJ1Y3QgYXBwbHlfd3JhcDQKKyAgICA6IGFwcGx5X3dyYXBfaW1wbDQ8CisgICAgICAgICAgOjpuZG5ib29zdDo6bXBsOjphdXg6OmFyaXR5PCBGLDQgPjo6dmFsdWUKKyAgICAgICAgLCBGCisgICAgICAgICwgVDEsIFQyLCBUMywgVDQKKyAgICAgICAgPjo6dHlwZQoreworfTsKKwordGVtcGxhdGU8CisgICAgICBpbnQgTiwgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1CisgICAgPgorc3RydWN0IGFwcGx5X3dyYXBfaW1wbDU7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1CisgICAgPgorc3RydWN0IGFwcGx5X3dyYXBfaW1wbDU8CisgICAgICAgICAgNQorICAgICAgICAsIEYKKyAgICAgICAgLCBUMSwgVDIsIFQzLCBUNCwgVDUKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgRjo6dGVtcGxhdGUgYXBwbHk8CisgICAgICAgICAgVDEsIFQyLCBUMywgVDQsIFQ1CisKKyAgICAgICAgPiB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUKKyAgICA+CitzdHJ1Y3QgYXBwbHlfd3JhcDUKKyAgICA6IGFwcGx5X3dyYXBfaW1wbDU8CisgICAgICAgICAgOjpuZG5ib29zdDo6bXBsOjphdXg6OmFyaXR5PCBGLDUgPjo6dmFsdWUKKyAgICAgICAgLCBGCisgICAgICAgICwgVDEsIFQyLCBUMywgVDQsIFQ1CisgICAgICAgID46OnR5cGUKK3sKK307CisKK319CisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2M1NTEvYXJnLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2M1NTEvYXJnLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45YTE1N2MyCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjYzU1MS9hcmcuaHBwCkBAIC0wLDAgKzEsMTIzIEBACisKKy8vIENvcHlyaWdodCBQZXRlciBEaW1vdiAyMDAxLTIwMDIKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDEtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9hcmcuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworQk9PU1RfTVBMX0FVWF9BRExfQkFSUklFUl9OQU1FU1BBQ0VfT1BFTgordGVtcGxhdGU8PiBzdHJ1Y3QgYXJnPCAtMSA+Cit7CisgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gLTEpOworICAgIEJPT1NUX01QTF9BVVhfQVJHX1RZUEVERUYobmEsIHRhZykKKyAgICBCT09TVF9NUExfQVVYX0FSR19UWVBFREVGKG5hLCB0eXBlKQorCisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVTEgPSBuYSwgdHlwZW5hbWUgVTIgPSBuYSwgdHlwZW5hbWUgVTMgPSBuYQorICAgICAgICAsIHR5cGVuYW1lIFU0ID0gbmEsIHR5cGVuYW1lIFU1ID0gbmEKKyAgICAgICAgPgorICAgIHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBVMSB0eXBlOworICAgICAgICBCT09TVF9NUExfQVVYX0FTU0VSVF9OT1RfTkEodHlwZSk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4gc3RydWN0IGFyZzwxPgoreworICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDEpOworICAgIHR5cGVkZWYgYXJnPDI+IG5leHQ7CisgICAgQk9PU1RfTVBMX0FVWF9BUkdfVFlQRURFRihuYSwgdGFnKQorICAgIEJPT1NUX01QTF9BVVhfQVJHX1RZUEVERUYobmEsIHR5cGUpCisKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBVMSA9IG5hLCB0eXBlbmFtZSBVMiA9IG5hLCB0eXBlbmFtZSBVMyA9IG5hCisgICAgICAgICwgdHlwZW5hbWUgVTQgPSBuYSwgdHlwZW5hbWUgVTUgPSBuYQorICAgICAgICA+CisgICAgc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIFUxIHR5cGU7CisgICAgICAgIEJPT1NUX01QTF9BVVhfQVNTRVJUX05PVF9OQSh0eXBlKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgYXJnPDI+Cit7CisgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMik7CisgICAgdHlwZWRlZiBhcmc8Mz4gbmV4dDsKKyAgICBCT09TVF9NUExfQVVYX0FSR19UWVBFREVGKG5hLCB0YWcpCisgICAgQk9PU1RfTVBMX0FVWF9BUkdfVFlQRURFRihuYSwgdHlwZSkKKworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFUxID0gbmEsIHR5cGVuYW1lIFUyID0gbmEsIHR5cGVuYW1lIFUzID0gbmEKKyAgICAgICAgLCB0eXBlbmFtZSBVNCA9IG5hLCB0eXBlbmFtZSBVNSA9IG5hCisgICAgICAgID4KKyAgICBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgVTIgdHlwZTsKKyAgICAgICAgQk9PU1RfTVBMX0FVWF9BU1NFUlRfTk9UX05BKHR5cGUpOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCBhcmc8Mz4KK3sKKyAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAzKTsKKyAgICB0eXBlZGVmIGFyZzw0PiBuZXh0OworICAgIEJPT1NUX01QTF9BVVhfQVJHX1RZUEVERUYobmEsIHRhZykKKyAgICBCT09TVF9NUExfQVVYX0FSR19UWVBFREVGKG5hLCB0eXBlKQorCisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVTEgPSBuYSwgdHlwZW5hbWUgVTIgPSBuYSwgdHlwZW5hbWUgVTMgPSBuYQorICAgICAgICAsIHR5cGVuYW1lIFU0ID0gbmEsIHR5cGVuYW1lIFU1ID0gbmEKKyAgICAgICAgPgorICAgIHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBVMyB0eXBlOworICAgICAgICBCT09TVF9NUExfQVVYX0FTU0VSVF9OT1RfTkEodHlwZSk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4gc3RydWN0IGFyZzw0PgoreworICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDQpOworICAgIHR5cGVkZWYgYXJnPDU+IG5leHQ7CisgICAgQk9PU1RfTVBMX0FVWF9BUkdfVFlQRURFRihuYSwgdGFnKQorICAgIEJPT1NUX01QTF9BVVhfQVJHX1RZUEVERUYobmEsIHR5cGUpCisKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBVMSA9IG5hLCB0eXBlbmFtZSBVMiA9IG5hLCB0eXBlbmFtZSBVMyA9IG5hCisgICAgICAgICwgdHlwZW5hbWUgVTQgPSBuYSwgdHlwZW5hbWUgVTUgPSBuYQorICAgICAgICA+CisgICAgc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIFU0IHR5cGU7CisgICAgICAgIEJPT1NUX01QTF9BVVhfQVNTRVJUX05PVF9OQSh0eXBlKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgYXJnPDU+Cit7CisgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gNSk7CisgICAgdHlwZWRlZiBhcmc8Nj4gbmV4dDsKKyAgICBCT09TVF9NUExfQVVYX0FSR19UWVBFREVGKG5hLCB0YWcpCisgICAgQk9PU1RfTVBMX0FVWF9BUkdfVFlQRURFRihuYSwgdHlwZSkKKworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFUxID0gbmEsIHR5cGVuYW1lIFUyID0gbmEsIHR5cGVuYW1lIFUzID0gbmEKKyAgICAgICAgLCB0eXBlbmFtZSBVNCA9IG5hLCB0eXBlbmFtZSBVNSA9IG5hCisgICAgICAgID4KKyAgICBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgVTUgdHlwZTsKKyAgICAgICAgQk9PU1RfTVBMX0FVWF9BU1NFUlRfTk9UX05BKHR5cGUpOworICAgIH07Cit9OworCitCT09TVF9NUExfQVVYX05PTlRZUEVfQVJJVFlfU1BFQygxLGludCwgYXJnKQorCitCT09TVF9NUExfQVVYX0FETF9CQVJSSUVSX05BTUVTUEFDRV9DTE9TRQpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjYzU1MS9iYXNpY19iaW5kLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2M1NTEvYmFzaWNfYmluZC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDA4M2FkZQotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2M1NTEvYmFzaWNfYmluZC5ocHAKQEAgLTAsMCArMSwzMDYgQEAKKworLy8gQ29weXJpZ2h0IFBldGVyIERpbW92IDIwMDEKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDEtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9hdXhfL2Jhc2ljX2JpbmQuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiwgdHlwZW5hbWUgVTMsIHR5cGVuYW1lIFU0CisgICAgLCB0eXBlbmFtZSBVNQorICAgID4KK3N0cnVjdCByZXNvbHZlX2JpbmRfYXJnCit7CisgICAgdHlwZWRlZiBUIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIGludCBOLCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIsIHR5cGVuYW1lIFUzLCB0eXBlbmFtZSBVNCwgdHlwZW5hbWUgVTUKKyAgICA+CitzdHJ1Y3QgcmVzb2x2ZV9iaW5kX2FyZzwgYXJnPE4+LCBVMSwgVTIsIFUzLCBVNCwgVTUgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHlfd3JhcDU8bXBsOjphcmc8Tj4sIFUxLCBVMiwgVTMsIFU0LCBVNT46OnR5cGUgdHlwZTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYKKyAgICA+CitzdHJ1Y3QgYmluZDAKK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBVMSA9IG5hLCB0eXBlbmFtZSBVMiA9IG5hLCB0eXBlbmFtZSBVMyA9IG5hCisgICAgICAgICwgdHlwZW5hbWUgVTQgPSBuYSwgdHlwZW5hbWUgVTUgPSBuYQorICAgICAgICA+CisgICAgc3RydWN0IGFwcGx5CisgICAgeworICAgICBwcml2YXRlOgorICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgRixVMSxVMixVMyxVNCxVNSA+Ojp0eXBlIGZfOworCisgICAgIHB1YmxpYzoKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseV93cmFwMDwKKyAgICAgICAgICAgICAgZl8KKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIsIHR5cGVuYW1lIFUzLCB0eXBlbmFtZSBVNAorICAgICwgdHlwZW5hbWUgVTUKKyAgICA+CitzdHJ1Y3QgcmVzb2x2ZV9iaW5kX2FyZzwKKyAgICAgIGJpbmQwPEY+LCBVMSwgVTIsIFUzLCBVNCwgVTUKKyAgICA+Cit7CisgICAgdHlwZWRlZiBiaW5kMDxGPiBmXzsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5X3dyYXA1PCBmXyxVMSxVMixVMyxVNCxVNSA+Ojp0eXBlIHR5cGU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworQk9PU1RfTVBMX0FVWF9BUklUWV9TUEVDKDEsIGJpbmQwKQorQk9PU1RfTVBMX0FVWF9URU1QTEFURV9BUklUWV9TUEVDKDEsIGJpbmQwKQorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxCisgICAgPgorc3RydWN0IGJpbmQxCit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVTEgPSBuYSwgdHlwZW5hbWUgVTIgPSBuYSwgdHlwZW5hbWUgVTMgPSBuYQorICAgICAgICAsIHR5cGVuYW1lIFU0ID0gbmEsIHR5cGVuYW1lIFU1ID0gbmEKKyAgICAgICAgPgorICAgIHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgcHJpdmF0ZToKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhdXg6OnJlc29sdmVfYmluZF9hcmc8IEYsVTEsVTIsVTMsVTQsVTUgPjo6dHlwZSBmXzsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IFQxLFUxLFUyLFUzLFU0LFU1ID4gdDE7CisKKyAgICAgcHVibGljOgorICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5X3dyYXAxPAorICAgICAgICAgICAgICBmXworICAgICAgICAgICAgLCB0eXBlbmFtZSB0MTo6dHlwZQorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIsIHR5cGVuYW1lIFUzCisgICAgLCB0eXBlbmFtZSBVNCwgdHlwZW5hbWUgVTUKKyAgICA+CitzdHJ1Y3QgcmVzb2x2ZV9iaW5kX2FyZzwKKyAgICAgIGJpbmQxPCBGLFQxID4sIFUxLCBVMiwgVTMsIFU0LCBVNQorICAgID4KK3sKKyAgICB0eXBlZGVmIGJpbmQxPCBGLFQxID4gZl87CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseV93cmFwNTwgZl8sVTEsVTIsVTMsVTQsVTUgPjo6dHlwZSB0eXBlOworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK0JPT1NUX01QTF9BVVhfQVJJVFlfU1BFQygyLCBiaW5kMSkKK0JPT1NUX01QTF9BVVhfVEVNUExBVEVfQVJJVFlfU1BFQygyLCBiaW5kMSkKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIKKyAgICA+CitzdHJ1Y3QgYmluZDIKK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBVMSA9IG5hLCB0eXBlbmFtZSBVMiA9IG5hLCB0eXBlbmFtZSBVMyA9IG5hCisgICAgICAgICwgdHlwZW5hbWUgVTQgPSBuYSwgdHlwZW5hbWUgVTUgPSBuYQorICAgICAgICA+CisgICAgc3RydWN0IGFwcGx5CisgICAgeworICAgICBwcml2YXRlOgorICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgRixVMSxVMixVMyxVNCxVNSA+Ojp0eXBlIGZfOworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgVDEsVTEsVTIsVTMsVTQsVTUgPiB0MTsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IFQyLFUxLFUyLFUzLFU0LFU1ID4gdDI7CisKKyAgICAgcHVibGljOgorICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5X3dyYXAyPAorICAgICAgICAgICAgICBmXworICAgICAgICAgICAgLCB0eXBlbmFtZSB0MTo6dHlwZSwgdHlwZW5hbWUgdDI6OnR5cGUKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMgorICAgICwgdHlwZW5hbWUgVTMsIHR5cGVuYW1lIFU0LCB0eXBlbmFtZSBVNQorICAgID4KK3N0cnVjdCByZXNvbHZlX2JpbmRfYXJnPAorICAgICAgYmluZDI8IEYsVDEsVDIgPiwgVTEsIFUyLCBVMywgVTQsIFU1CisgICAgPgoreworICAgIHR5cGVkZWYgYmluZDI8IEYsVDEsVDIgPiBmXzsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5X3dyYXA1PCBmXyxVMSxVMixVMyxVNCxVNSA+Ojp0eXBlIHR5cGU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworQk9PU1RfTVBMX0FVWF9BUklUWV9TUEVDKDMsIGJpbmQyKQorQk9PU1RfTVBMX0FVWF9URU1QTEFURV9BUklUWV9TUEVDKDMsIGJpbmQyKQorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMKKyAgICA+CitzdHJ1Y3QgYmluZDMKK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBVMSA9IG5hLCB0eXBlbmFtZSBVMiA9IG5hLCB0eXBlbmFtZSBVMyA9IG5hCisgICAgICAgICwgdHlwZW5hbWUgVTQgPSBuYSwgdHlwZW5hbWUgVTUgPSBuYQorICAgICAgICA+CisgICAgc3RydWN0IGFwcGx5CisgICAgeworICAgICBwcml2YXRlOgorICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgRixVMSxVMixVMyxVNCxVNSA+Ojp0eXBlIGZfOworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgVDEsVTEsVTIsVTMsVTQsVTUgPiB0MTsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IFQyLFUxLFUyLFUzLFU0LFU1ID4gdDI7CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBUMyxVMSxVMixVMyxVNCxVNSA+IHQzOworCisgICAgIHB1YmxpYzoKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseV93cmFwMzwKKyAgICAgICAgICAgICAgZl8KKyAgICAgICAgICAgICwgdHlwZW5hbWUgdDE6OnR5cGUsIHR5cGVuYW1lIHQyOjp0eXBlLCB0eXBlbmFtZSB0Mzo6dHlwZQorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFUxCisgICAgLCB0eXBlbmFtZSBVMiwgdHlwZW5hbWUgVTMsIHR5cGVuYW1lIFU0LCB0eXBlbmFtZSBVNQorICAgID4KK3N0cnVjdCByZXNvbHZlX2JpbmRfYXJnPAorICAgICAgYmluZDM8IEYsVDEsVDIsVDMgPiwgVTEsIFUyLCBVMywgVTQsIFU1CisgICAgPgoreworICAgIHR5cGVkZWYgYmluZDM8IEYsVDEsVDIsVDMgPiBmXzsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5X3dyYXA1PCBmXyxVMSxVMixVMyxVNCxVNSA+Ojp0eXBlIHR5cGU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworQk9PU1RfTVBMX0FVWF9BUklUWV9TUEVDKDQsIGJpbmQzKQorQk9PU1RfTVBMX0FVWF9URU1QTEFURV9BUklUWV9TUEVDKDQsIGJpbmQzKQorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgPgorc3RydWN0IGJpbmQ0Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVTEgPSBuYSwgdHlwZW5hbWUgVTIgPSBuYSwgdHlwZW5hbWUgVTMgPSBuYQorICAgICAgICAsIHR5cGVuYW1lIFU0ID0gbmEsIHR5cGVuYW1lIFU1ID0gbmEKKyAgICAgICAgPgorICAgIHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgcHJpdmF0ZToKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhdXg6OnJlc29sdmVfYmluZF9hcmc8IEYsVTEsVTIsVTMsVTQsVTUgPjo6dHlwZSBmXzsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IFQxLFUxLFUyLFUzLFU0LFU1ID4gdDE7CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBUMixVMSxVMixVMyxVNCxVNSA+IHQyOworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgVDMsVTEsVTIsVTMsVTQsVTUgPiB0MzsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IFQ0LFUxLFUyLFUzLFU0LFU1ID4gdDQ7CisKKyAgICAgcHVibGljOgorICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5X3dyYXA0PAorICAgICAgICAgICAgICBmXworICAgICAgICAgICAgLCB0eXBlbmFtZSB0MTo6dHlwZSwgdHlwZW5hbWUgdDI6OnR5cGUsIHR5cGVuYW1lIHQzOjp0eXBlCisgICAgICAgICAgICAsIHR5cGVuYW1lIHQ0Ojp0eXBlCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiwgdHlwZW5hbWUgVTMsIHR5cGVuYW1lIFU0LCB0eXBlbmFtZSBVNQorICAgID4KK3N0cnVjdCByZXNvbHZlX2JpbmRfYXJnPAorICAgICAgYmluZDQ8IEYsVDEsVDIsVDMsVDQgPiwgVTEsIFUyLCBVMywgVTQsIFU1CisgICAgPgoreworICAgIHR5cGVkZWYgYmluZDQ8IEYsVDEsVDIsVDMsVDQgPiBmXzsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5X3dyYXA1PCBmXyxVMSxVMixVMyxVNCxVNSA+Ojp0eXBlIHR5cGU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworQk9PU1RfTVBMX0FVWF9BUklUWV9TUEVDKDUsIGJpbmQ0KQorQk9PU1RfTVBMX0FVWF9URU1QTEFURV9BUklUWV9TUEVDKDUsIGJpbmQ0KQorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNQorICAgID4KK3N0cnVjdCBiaW5kNQoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFUxID0gbmEsIHR5cGVuYW1lIFUyID0gbmEsIHR5cGVuYW1lIFUzID0gbmEKKyAgICAgICAgLCB0eXBlbmFtZSBVNCA9IG5hLCB0eXBlbmFtZSBVNSA9IG5hCisgICAgICAgID4KKyAgICBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgIHByaXZhdGU6CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBGLFUxLFUyLFUzLFU0LFU1ID46OnR5cGUgZl87CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBUMSxVMSxVMixVMyxVNCxVNSA+IHQxOworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgVDIsVTEsVTIsVTMsVTQsVTUgPiB0MjsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IFQzLFUxLFUyLFUzLFU0LFU1ID4gdDM7CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBUNCxVMSxVMixVMyxVNCxVNSA+IHQ0OworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgVDUsVTEsVTIsVTMsVTQsVTUgPiB0NTsKKworICAgICBwdWJsaWM6CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHlfd3JhcDU8CisgICAgICAgICAgICAgIGZfCisgICAgICAgICAgICAsIHR5cGVuYW1lIHQxOjp0eXBlLCB0eXBlbmFtZSB0Mjo6dHlwZSwgdHlwZW5hbWUgdDM6OnR5cGUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgdDQ6OnR5cGUsIHR5cGVuYW1lIHQ1Ojp0eXBlCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIsIHR5cGVuYW1lIFUzLCB0eXBlbmFtZSBVNAorICAgICwgdHlwZW5hbWUgVTUKKyAgICA+CitzdHJ1Y3QgcmVzb2x2ZV9iaW5kX2FyZzwKKyAgICAgIGJpbmQ1PCBGLFQxLFQyLFQzLFQ0LFQ1ID4sIFUxLCBVMiwgVTMsIFU0LCBVNQorICAgID4KK3sKKyAgICB0eXBlZGVmIGJpbmQ1PCBGLFQxLFQyLFQzLFQ0LFQ1ID4gZl87CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseV93cmFwNTwgZl8sVTEsVTIsVTMsVTQsVTUgPjo6dHlwZSB0eXBlOworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK0JPT1NUX01QTF9BVVhfQVJJVFlfU1BFQyg2LCBiaW5kNSkKK0JPT1NUX01QTF9BVVhfVEVNUExBVEVfQVJJVFlfU1BFQyg2LCBiaW5kNSkKK319CisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2M1NTEvYmluZC5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjNTUxL2JpbmQuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVkNmE4NTMKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjNTUxL2JpbmQuaHBwCkBAIC0wLDAgKzEsNDAzIEBACisKKy8vIENvcHlyaWdodCBQZXRlciBEaW1vdiAyMDAxCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAxLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvYmluZC5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyLCB0eXBlbmFtZSBVMywgdHlwZW5hbWUgVTQKKyAgICAsIHR5cGVuYW1lIFU1CisgICAgPgorc3RydWN0IHJlc29sdmVfYmluZF9hcmcKK3sKKyAgICB0eXBlZGVmIFQgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVAorICAgICwgdHlwZW5hbWUgQXJnCisgICAgPgorc3RydWN0IHJlcGxhY2VfdW5uYW1lZF9hcmcKK3sKKyAgICB0eXBlZGVmIEFyZyBuZXh0OworICAgIHR5cGVkZWYgVCB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBBcmcKKyAgICA+CitzdHJ1Y3QgcmVwbGFjZV91bm5hbWVkX2FyZzwgYXJnPCAtMSA+LCBBcmcgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgQXJnOjpuZXh0IG5leHQ7CisgICAgdHlwZWRlZiBBcmcgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgaW50IE4sIHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiwgdHlwZW5hbWUgVTMsIHR5cGVuYW1lIFU0LCB0eXBlbmFtZSBVNQorICAgID4KK3N0cnVjdCByZXNvbHZlX2JpbmRfYXJnPCBhcmc8Tj4sIFUxLCBVMiwgVTMsIFU0LCBVNSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseV93cmFwNTxtcGw6OmFyZzxOPiwgVTEsIFUyLCBVMywgVTQsIFU1Pjo6dHlwZSB0eXBlOworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRgorICAgID4KK3N0cnVjdCBiaW5kMAoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFUxID0gbmEsIHR5cGVuYW1lIFUyID0gbmEsIHR5cGVuYW1lIFUzID0gbmEKKyAgICAgICAgLCB0eXBlbmFtZSBVNCA9IG5hLCB0eXBlbmFtZSBVNSA9IG5hCisgICAgICAgID4KKyAgICBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgIHByaXZhdGU6CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXBsYWNlX3VubmFtZWRfYXJnPCBGLCBtcGw6OmFyZzwxPiA+IHIwOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIwOjp0eXBlIGEwOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIwOjpuZXh0IG4xOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgYTAsVTEsVTIsVTMsVTQsVTUgPjo6dHlwZSBmXzsKKyAgICAgICAgLy8vCisgICAgIHB1YmxpYzoKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseV93cmFwMDwKKyAgICAgICAgICAgICAgZl8KKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIsIHR5cGVuYW1lIFUzLCB0eXBlbmFtZSBVNAorICAgICwgdHlwZW5hbWUgVTUKKyAgICA+CitzdHJ1Y3QgcmVzb2x2ZV9iaW5kX2FyZzwKKyAgICAgIGJpbmQwPEY+LCBVMSwgVTIsIFUzLCBVNCwgVTUKKyAgICA+Cit7CisgICAgdHlwZWRlZiBiaW5kMDxGPiBmXzsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5X3dyYXA1PCBmXyxVMSxVMixVMyxVNCxVNSA+Ojp0eXBlIHR5cGU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworQk9PU1RfTVBMX0FVWF9BUklUWV9TUEVDKDEsIGJpbmQwKQorQk9PU1RfTVBMX0FVWF9URU1QTEFURV9BUklUWV9TUEVDKDEsIGJpbmQwKQorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxCisgICAgPgorc3RydWN0IGJpbmQxCit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVTEgPSBuYSwgdHlwZW5hbWUgVTIgPSBuYSwgdHlwZW5hbWUgVTMgPSBuYQorICAgICAgICAsIHR5cGVuYW1lIFU0ID0gbmEsIHR5cGVuYW1lIFU1ID0gbmEKKyAgICAgICAgPgorICAgIHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgcHJpdmF0ZToKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlcGxhY2VfdW5uYW1lZF9hcmc8IEYsIG1wbDo6YXJnPDE+ID4gcjA7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjA6OnR5cGUgYTA7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjA6Om5leHQgbjE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBhMCxVMSxVMixVMyxVNCxVNSA+Ojp0eXBlIGZfOworICAgICAgICAvLy8KKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlcGxhY2VfdW5uYW1lZF9hcmc8IFQxLG4xID4gcjE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjE6OnR5cGUgYTE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjE6Om5leHQgbjI7CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBhMSxVMSxVMixVMyxVNCxVNSA+IHQxOworICAgICAgICAvLy8KKyAgICAgcHVibGljOgorICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5X3dyYXAxPAorICAgICAgICAgICAgICBmXworICAgICAgICAgICAgLCB0eXBlbmFtZSB0MTo6dHlwZQorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIsIHR5cGVuYW1lIFUzCisgICAgLCB0eXBlbmFtZSBVNCwgdHlwZW5hbWUgVTUKKyAgICA+CitzdHJ1Y3QgcmVzb2x2ZV9iaW5kX2FyZzwKKyAgICAgIGJpbmQxPCBGLFQxID4sIFUxLCBVMiwgVTMsIFU0LCBVNQorICAgID4KK3sKKyAgICB0eXBlZGVmIGJpbmQxPCBGLFQxID4gZl87CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseV93cmFwNTwgZl8sVTEsVTIsVTMsVTQsVTUgPjo6dHlwZSB0eXBlOworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK0JPT1NUX01QTF9BVVhfQVJJVFlfU1BFQygyLCBiaW5kMSkKK0JPT1NUX01QTF9BVVhfVEVNUExBVEVfQVJJVFlfU1BFQygyLCBiaW5kMSkKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIKKyAgICA+CitzdHJ1Y3QgYmluZDIKK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBVMSA9IG5hLCB0eXBlbmFtZSBVMiA9IG5hLCB0eXBlbmFtZSBVMyA9IG5hCisgICAgICAgICwgdHlwZW5hbWUgVTQgPSBuYSwgdHlwZW5hbWUgVTUgPSBuYQorICAgICAgICA+CisgICAgc3RydWN0IGFwcGx5CisgICAgeworICAgICBwcml2YXRlOgorICAgICAgICB0eXBlZGVmIGF1eDo6cmVwbGFjZV91bm5hbWVkX2FyZzwgRiwgbXBsOjphcmc8MT4gPiByMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMDo6dHlwZSBhMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMDo6bmV4dCBuMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhdXg6OnJlc29sdmVfYmluZF9hcmc8IGEwLFUxLFUyLFUzLFU0LFU1ID46OnR5cGUgZl87CisgICAgICAgIC8vLworICAgICAgICB0eXBlZGVmIGF1eDo6cmVwbGFjZV91bm5hbWVkX2FyZzwgVDEsbjEgPiByMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMTo6dHlwZSBhMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMTo6bmV4dCBuMjsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IGExLFUxLFUyLFUzLFU0LFU1ID4gdDE7CisgICAgICAgIC8vLworICAgICAgICB0eXBlZGVmIGF1eDo6cmVwbGFjZV91bm5hbWVkX2FyZzwgVDIsbjIgPiByMjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMjo6dHlwZSBhMjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMjo6bmV4dCBuMzsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IGEyLFUxLFUyLFUzLFU0LFU1ID4gdDI7CisgICAgICAgIC8vLworICAgICBwdWJsaWM6CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHlfd3JhcDI8CisgICAgICAgICAgICAgIGZfCisgICAgICAgICAgICAsIHR5cGVuYW1lIHQxOjp0eXBlLCB0eXBlbmFtZSB0Mjo6dHlwZQorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyCisgICAgLCB0eXBlbmFtZSBVMywgdHlwZW5hbWUgVTQsIHR5cGVuYW1lIFU1CisgICAgPgorc3RydWN0IHJlc29sdmVfYmluZF9hcmc8CisgICAgICBiaW5kMjwgRixUMSxUMiA+LCBVMSwgVTIsIFUzLCBVNCwgVTUKKyAgICA+Cit7CisgICAgdHlwZWRlZiBiaW5kMjwgRixUMSxUMiA+IGZfOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHlfd3JhcDU8IGZfLFUxLFUyLFUzLFU0LFU1ID46OnR5cGUgdHlwZTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCitCT09TVF9NUExfQVVYX0FSSVRZX1NQRUMoMywgYmluZDIpCitCT09TVF9NUExfQVVYX1RFTVBMQVRFX0FSSVRZX1NQRUMoMywgYmluZDIpCisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMworICAgID4KK3N0cnVjdCBiaW5kMworeworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFUxID0gbmEsIHR5cGVuYW1lIFUyID0gbmEsIHR5cGVuYW1lIFUzID0gbmEKKyAgICAgICAgLCB0eXBlbmFtZSBVNCA9IG5hLCB0eXBlbmFtZSBVNSA9IG5hCisgICAgICAgID4KKyAgICBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgIHByaXZhdGU6CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXBsYWNlX3VubmFtZWRfYXJnPCBGLCBtcGw6OmFyZzwxPiA+IHIwOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIwOjp0eXBlIGEwOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIwOjpuZXh0IG4xOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgYTAsVTEsVTIsVTMsVTQsVTUgPjo6dHlwZSBmXzsKKyAgICAgICAgLy8vCisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXBsYWNlX3VubmFtZWRfYXJnPCBUMSxuMSA+IHIxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIxOjp0eXBlIGExOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIxOjpuZXh0IG4yOworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgYTEsVTEsVTIsVTMsVTQsVTUgPiB0MTsKKyAgICAgICAgLy8vCisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXBsYWNlX3VubmFtZWRfYXJnPCBUMixuMiA+IHIyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIyOjp0eXBlIGEyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIyOjpuZXh0IG4zOworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgYTIsVTEsVTIsVTMsVTQsVTUgPiB0MjsKKyAgICAgICAgLy8vCisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXBsYWNlX3VubmFtZWRfYXJnPCBUMyxuMyA+IHIzOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIzOjp0eXBlIGEzOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIzOjpuZXh0IG40OworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgYTMsVTEsVTIsVTMsVTQsVTUgPiB0MzsKKyAgICAgICAgLy8vCisgICAgIHB1YmxpYzoKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseV93cmFwMzwKKyAgICAgICAgICAgICAgZl8KKyAgICAgICAgICAgICwgdHlwZW5hbWUgdDE6OnR5cGUsIHR5cGVuYW1lIHQyOjp0eXBlLCB0eXBlbmFtZSB0Mzo6dHlwZQorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFUxCisgICAgLCB0eXBlbmFtZSBVMiwgdHlwZW5hbWUgVTMsIHR5cGVuYW1lIFU0LCB0eXBlbmFtZSBVNQorICAgID4KK3N0cnVjdCByZXNvbHZlX2JpbmRfYXJnPAorICAgICAgYmluZDM8IEYsVDEsVDIsVDMgPiwgVTEsIFUyLCBVMywgVTQsIFU1CisgICAgPgoreworICAgIHR5cGVkZWYgYmluZDM8IEYsVDEsVDIsVDMgPiBmXzsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5X3dyYXA1PCBmXyxVMSxVMixVMyxVNCxVNSA+Ojp0eXBlIHR5cGU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworQk9PU1RfTVBMX0FVWF9BUklUWV9TUEVDKDQsIGJpbmQzKQorQk9PU1RfTVBMX0FVWF9URU1QTEFURV9BUklUWV9TUEVDKDQsIGJpbmQzKQorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgPgorc3RydWN0IGJpbmQ0Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVTEgPSBuYSwgdHlwZW5hbWUgVTIgPSBuYSwgdHlwZW5hbWUgVTMgPSBuYQorICAgICAgICAsIHR5cGVuYW1lIFU0ID0gbmEsIHR5cGVuYW1lIFU1ID0gbmEKKyAgICAgICAgPgorICAgIHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgcHJpdmF0ZToKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlcGxhY2VfdW5uYW1lZF9hcmc8IEYsIG1wbDo6YXJnPDE+ID4gcjA7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjA6OnR5cGUgYTA7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjA6Om5leHQgbjE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBhMCxVMSxVMixVMyxVNCxVNSA+Ojp0eXBlIGZfOworICAgICAgICAvLy8KKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlcGxhY2VfdW5uYW1lZF9hcmc8IFQxLG4xID4gcjE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjE6OnR5cGUgYTE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjE6Om5leHQgbjI7CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBhMSxVMSxVMixVMyxVNCxVNSA+IHQxOworICAgICAgICAvLy8KKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlcGxhY2VfdW5uYW1lZF9hcmc8IFQyLG4yID4gcjI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjI6OnR5cGUgYTI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjI6Om5leHQgbjM7CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBhMixVMSxVMixVMyxVNCxVNSA+IHQyOworICAgICAgICAvLy8KKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlcGxhY2VfdW5uYW1lZF9hcmc8IFQzLG4zID4gcjM7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjM6OnR5cGUgYTM7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjM6Om5leHQgbjQ7CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBhMyxVMSxVMixVMyxVNCxVNSA+IHQzOworICAgICAgICAvLy8KKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlcGxhY2VfdW5uYW1lZF9hcmc8IFQ0LG40ID4gcjQ7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjQ6OnR5cGUgYTQ7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjQ6Om5leHQgbjU7CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBhNCxVMSxVMixVMyxVNCxVNSA+IHQ0OworICAgICAgICAvLy8KKyAgICAgcHVibGljOgorICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5X3dyYXA0PAorICAgICAgICAgICAgICBmXworICAgICAgICAgICAgLCB0eXBlbmFtZSB0MTo6dHlwZSwgdHlwZW5hbWUgdDI6OnR5cGUsIHR5cGVuYW1lIHQzOjp0eXBlCisgICAgICAgICAgICAsIHR5cGVuYW1lIHQ0Ojp0eXBlCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiwgdHlwZW5hbWUgVTMsIHR5cGVuYW1lIFU0LCB0eXBlbmFtZSBVNQorICAgID4KK3N0cnVjdCByZXNvbHZlX2JpbmRfYXJnPAorICAgICAgYmluZDQ8IEYsVDEsVDIsVDMsVDQgPiwgVTEsIFUyLCBVMywgVTQsIFU1CisgICAgPgoreworICAgIHR5cGVkZWYgYmluZDQ8IEYsVDEsVDIsVDMsVDQgPiBmXzsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5X3dyYXA1PCBmXyxVMSxVMixVMyxVNCxVNSA+Ojp0eXBlIHR5cGU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworQk9PU1RfTVBMX0FVWF9BUklUWV9TUEVDKDUsIGJpbmQ0KQorQk9PU1RfTVBMX0FVWF9URU1QTEFURV9BUklUWV9TUEVDKDUsIGJpbmQ0KQorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNQorICAgID4KK3N0cnVjdCBiaW5kNQoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFUxID0gbmEsIHR5cGVuYW1lIFUyID0gbmEsIHR5cGVuYW1lIFUzID0gbmEKKyAgICAgICAgLCB0eXBlbmFtZSBVNCA9IG5hLCB0eXBlbmFtZSBVNSA9IG5hCisgICAgICAgID4KKyAgICBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgIHByaXZhdGU6CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXBsYWNlX3VubmFtZWRfYXJnPCBGLCBtcGw6OmFyZzwxPiA+IHIwOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIwOjp0eXBlIGEwOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIwOjpuZXh0IG4xOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgYTAsVTEsVTIsVTMsVTQsVTUgPjo6dHlwZSBmXzsKKyAgICAgICAgLy8vCisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXBsYWNlX3VubmFtZWRfYXJnPCBUMSxuMSA+IHIxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIxOjp0eXBlIGExOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIxOjpuZXh0IG4yOworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgYTEsVTEsVTIsVTMsVTQsVTUgPiB0MTsKKyAgICAgICAgLy8vCisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXBsYWNlX3VubmFtZWRfYXJnPCBUMixuMiA+IHIyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIyOjp0eXBlIGEyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIyOjpuZXh0IG4zOworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgYTIsVTEsVTIsVTMsVTQsVTUgPiB0MjsKKyAgICAgICAgLy8vCisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXBsYWNlX3VubmFtZWRfYXJnPCBUMyxuMyA+IHIzOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIzOjp0eXBlIGEzOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIzOjpuZXh0IG40OworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgYTMsVTEsVTIsVTMsVTQsVTUgPiB0MzsKKyAgICAgICAgLy8vCisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXBsYWNlX3VubmFtZWRfYXJnPCBUNCxuNCA+IHI0OworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHI0Ojp0eXBlIGE0OworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHI0OjpuZXh0IG41OworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgYTQsVTEsVTIsVTMsVTQsVTUgPiB0NDsKKyAgICAgICAgLy8vCisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXBsYWNlX3VubmFtZWRfYXJnPCBUNSxuNSA+IHI1OworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHI1Ojp0eXBlIGE1OworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHI1OjpuZXh0IG42OworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgYTUsVTEsVTIsVTMsVTQsVTUgPiB0NTsKKyAgICAgICAgLy8vCisgICAgIHB1YmxpYzoKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseV93cmFwNTwKKyAgICAgICAgICAgICAgZl8KKyAgICAgICAgICAgICwgdHlwZW5hbWUgdDE6OnR5cGUsIHR5cGVuYW1lIHQyOjp0eXBlLCB0eXBlbmFtZSB0Mzo6dHlwZQorICAgICAgICAgICAgLCB0eXBlbmFtZSB0NDo6dHlwZSwgdHlwZW5hbWUgdDU6OnR5cGUKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiwgdHlwZW5hbWUgVTMsIHR5cGVuYW1lIFU0CisgICAgLCB0eXBlbmFtZSBVNQorICAgID4KK3N0cnVjdCByZXNvbHZlX2JpbmRfYXJnPAorICAgICAgYmluZDU8IEYsVDEsVDIsVDMsVDQsVDUgPiwgVTEsIFUyLCBVMywgVTQsIFU1CisgICAgPgoreworICAgIHR5cGVkZWYgYmluZDU8IEYsVDEsVDIsVDMsVDQsVDUgPiBmXzsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5X3dyYXA1PCBmXyxVMSxVMixVMyxVNCxVNSA+Ojp0eXBlIHR5cGU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworQk9PU1RfTVBMX0FVWF9BUklUWV9TUEVDKDYsIGJpbmQ1KQorQk9PU1RfTVBMX0FVWF9URU1QTEFURV9BUklUWV9TUEVDKDYsIGJpbmQ1KQorfX0KKwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjYzU1MS9iaW5kX2Z3ZC5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjNTUxL2JpbmRfZndkLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYmQxYjZkCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjYzU1MS9iaW5kX2Z3ZC5ocHAKQEAgLTAsMCArMSw0NiBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvYmluZF9md2QuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRgorICAgID4KK3N0cnVjdCBiaW5kMDsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMQorICAgID4KK3N0cnVjdCBiaW5kMTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIKKyAgICA+CitzdHJ1Y3QgYmluZDI7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMworICAgID4KK3N0cnVjdCBiaW5kMzsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgID4KK3N0cnVjdCBiaW5kNDsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUKKyAgICA+CitzdHJ1Y3QgYmluZDU7CisKK319CisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2M1NTEvYml0YW5kLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2M1NTEvYml0YW5kLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MGU4NTkzCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjYzU1MS9iaXRhbmQuaHBwCkBAIC0wLDAgKzEsMTQ3IEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8gQ29weXJpZ2h0IEphYXAgU3V0ZXIgMjAwMworLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9iaXRhbmQuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVGFnMQorICAgICwgdHlwZW5hbWUgVGFnMgorICAgID4KK3N0cnVjdCBiaXRhbmRfaW1wbAorICAgIDogaWZfYzwKKyAgICAgICAgICAoIEJPT1NUX01QTF9BVVhfTkVTVEVEX1ZBTFVFX1dLTkQoaW50LCBUYWcxKQorICAgICAgICAgICAgICA+IEJPT1NUX01QTF9BVVhfTkVTVEVEX1ZBTFVFX1dLTkQoaW50LCBUYWcyKQorICAgICAgICAgICAgKQorCisgICAgICAgICwgYXV4OjpjYXN0Mm5kX2ltcGw8IGJpdGFuZF9pbXBsPCBUYWcxLFRhZzEgPixUYWcxLCBUYWcyID4KKyAgICAgICAgLCBhdXg6OmNhc3Qxc3RfaW1wbDwgYml0YW5kX2ltcGw8IFRhZzIsVGFnMiA+LFRhZzEsIFRhZzIgPgorICAgICAgICA+Ojp0eXBlCit7Cit9OworCisvLy8gZm9yIERpZ2l0YWwgTWFycyBDKysvY29tcGlsZXJzIHdpdGggbm8gQ1RQUy9UVFAgc3VwcG9ydAordGVtcGxhdGU8PiBzdHJ1Y3QgYml0YW5kX2ltcGw8IG5hLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVGFnID4gc3RydWN0IGJpdGFuZF9pbXBsPCBuYSxUYWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUYWcgPiBzdHJ1Y3QgYml0YW5kX2ltcGw8IFRhZyxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFQgPiBzdHJ1Y3QgYml0YW5kX3RhZworeworICAgIHR5cGVkZWYgdHlwZW5hbWUgVDo6dGFnIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjEpCisgICAgLCB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4yKQorICAgICwgdHlwZW5hbWUgTjMgPSBuYSwgdHlwZW5hbWUgTjQgPSBuYSwgdHlwZW5hbWUgTjUgPSBuYQorICAgID4KK3N0cnVjdCBiaXRhbmRfCisgICAgOiBiaXRhbmRfPCBiaXRhbmRfPCBiaXRhbmRfPCBiaXRhbmRfPCBOMSxOMiA+LCBOMz4sIE40PiwgTjU+Cit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgKKyAgICAgICAgICA1CisgICAgICAgICwgYml0YW5kXworICAgICAgICAsICggTjEsIE4yLCBOMywgTjQsIE41ICkKKyAgICAgICAgKQorfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBOMSwgdHlwZW5hbWUgTjIsIHR5cGVuYW1lIE4zLCB0eXBlbmFtZSBONAorICAgID4KK3N0cnVjdCBiaXRhbmRfPCBOMSxOMixOMyxONCxuYSA+CisKKyAgICA6IGJpdGFuZF88IGJpdGFuZF88IGJpdGFuZF88IE4xLE4yID4sIE4zPiwgTjQ+Cit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVF9TUEVDKAorICAgICAgICAgIDUKKyAgICAgICAgLCBiaXRhbmRfCisgICAgICAgICwgKCBOMSwgTjIsIE4zLCBONCwgbmEgKQorICAgICAgICApCit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIE4xLCB0eXBlbmFtZSBOMiwgdHlwZW5hbWUgTjMKKyAgICA+CitzdHJ1Y3QgYml0YW5kXzwgTjEsTjIsTjMsbmEsbmEgPgorCisgICAgOiBiaXRhbmRfPCBiaXRhbmRfPCBOMSxOMiA+LCBOMz4KK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUX1NQRUMoCisgICAgICAgICAgNQorICAgICAgICAsIGJpdGFuZF8KKyAgICAgICAgLCAoIE4xLCBOMiwgTjMsIG5hLCBuYSApCisgICAgICAgICkKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgTjEsIHR5cGVuYW1lIE4yCisgICAgPgorc3RydWN0IGJpdGFuZF88IE4xLE4yLG5hLG5hLG5hID4KKyAgICA6IGJpdGFuZF9pbXBsPAorICAgICAgICAgIHR5cGVuYW1lIGJpdGFuZF90YWc8TjE+Ojp0eXBlCisgICAgICAgICwgdHlwZW5hbWUgYml0YW5kX3RhZzxOMj46OnR5cGUKKyAgICAgICAgPjo6dGVtcGxhdGUgYXBwbHk8IE4xLE4yID46OnR5cGUKK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUX1NQRUMoCisgICAgICAgICAgNQorICAgICAgICAsIGJpdGFuZF8KKyAgICAgICAgLCAoIE4xLCBOMiwgbmEsIG5hLCBuYSApCisgICAgICAgICkKKworfTsKKworQk9PU1RfTVBMX0FVWF9OQV9TUEVDMigyLCA1LCBiaXRhbmRfKQorCit9fQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKK3RlbXBsYXRlPD4KK3N0cnVjdCBiaXRhbmRfaW1wbDwgaW50ZWdyYWxfY190YWcsaW50ZWdyYWxfY190YWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBOMSwgdHlwZW5hbWUgTjIgPiBzdHJ1Y3QgYXBwbHkKKworICAgICAgICA6IGludGVncmFsX2M8CisgICAgICAgICAgICAgIHR5cGVuYW1lIGF1eDo6bGFyZ2VzdF9pbnQ8CisgICAgICAgICAgICAgICAgICB0eXBlbmFtZSBOMTo6dmFsdWVfdHlwZQorICAgICAgICAgICAgICAgICwgdHlwZW5hbWUgTjI6OnZhbHVlX3R5cGUKKyAgICAgICAgICAgICAgICA+Ojp0eXBlCisgICAgICAgICAgICAsICggQk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4xKTo6dmFsdWUKKyAgICAgICAgICAgICAgICAgICYgQk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4yKTo6dmFsdWUKKyAgICAgICAgICAgICAgICApCisgICAgICAgICAgICA+CisgICAgeworICAgIH07Cit9OworCit9fQpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjYzU1MS9iaXRvci5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjNTUxL2JpdG9yLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNzFhOGY0Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjYzU1MS9iaXRvci5ocHAKQEAgLTAsMCArMSwxNDcgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLyBDb3B5cmlnaHQgSmFhcCBTdXRlciAyMDAzCisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL2JpdG9yLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFRhZzEKKyAgICAsIHR5cGVuYW1lIFRhZzIKKyAgICA+CitzdHJ1Y3QgYml0b3JfaW1wbAorICAgIDogaWZfYzwKKyAgICAgICAgICAoIEJPT1NUX01QTF9BVVhfTkVTVEVEX1ZBTFVFX1dLTkQoaW50LCBUYWcxKQorICAgICAgICAgICAgICA+IEJPT1NUX01QTF9BVVhfTkVTVEVEX1ZBTFVFX1dLTkQoaW50LCBUYWcyKQorICAgICAgICAgICAgKQorCisgICAgICAgICwgYXV4OjpjYXN0Mm5kX2ltcGw8IGJpdG9yX2ltcGw8IFRhZzEsVGFnMSA+LFRhZzEsIFRhZzIgPgorICAgICAgICAsIGF1eDo6Y2FzdDFzdF9pbXBsPCBiaXRvcl9pbXBsPCBUYWcyLFRhZzIgPixUYWcxLCBUYWcyID4KKyAgICAgICAgPjo6dHlwZQoreworfTsKKworLy8vIGZvciBEaWdpdGFsIE1hcnMgQysrL2NvbXBpbGVycyB3aXRoIG5vIENUUFMvVFRQIHN1cHBvcnQKK3RlbXBsYXRlPD4gc3RydWN0IGJpdG9yX2ltcGw8IG5hLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVGFnID4gc3RydWN0IGJpdG9yX2ltcGw8IG5hLFRhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFRhZyA+IHN0cnVjdCBiaXRvcl9pbXBsPCBUYWcsbmEgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUID4gc3RydWN0IGJpdG9yX3RhZworeworICAgIHR5cGVkZWYgdHlwZW5hbWUgVDo6dGFnIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjEpCisgICAgLCB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4yKQorICAgICwgdHlwZW5hbWUgTjMgPSBuYSwgdHlwZW5hbWUgTjQgPSBuYSwgdHlwZW5hbWUgTjUgPSBuYQorICAgID4KK3N0cnVjdCBiaXRvcl8KKyAgICA6IGJpdG9yXzwgYml0b3JfPCBiaXRvcl88IGJpdG9yXzwgTjEsTjIgPiwgTjM+LCBOND4sIE41PgoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoCisgICAgICAgICAgNQorICAgICAgICAsIGJpdG9yXworICAgICAgICAsICggTjEsIE4yLCBOMywgTjQsIE41ICkKKyAgICAgICAgKQorfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBOMSwgdHlwZW5hbWUgTjIsIHR5cGVuYW1lIE4zLCB0eXBlbmFtZSBONAorICAgID4KK3N0cnVjdCBiaXRvcl88IE4xLE4yLE4zLE40LG5hID4KKworICAgIDogYml0b3JfPCBiaXRvcl88IGJpdG9yXzwgTjEsTjIgPiwgTjM+LCBOND4KK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUX1NQRUMoCisgICAgICAgICAgNQorICAgICAgICAsIGJpdG9yXworICAgICAgICAsICggTjEsIE4yLCBOMywgTjQsIG5hICkKKyAgICAgICAgKQorfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBOMSwgdHlwZW5hbWUgTjIsIHR5cGVuYW1lIE4zCisgICAgPgorc3RydWN0IGJpdG9yXzwgTjEsTjIsTjMsbmEsbmEgPgorCisgICAgOiBiaXRvcl88IGJpdG9yXzwgTjEsTjIgPiwgTjM+Cit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVF9TUEVDKAorICAgICAgICAgIDUKKyAgICAgICAgLCBiaXRvcl8KKyAgICAgICAgLCAoIE4xLCBOMiwgTjMsIG5hLCBuYSApCisgICAgICAgICkKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgTjEsIHR5cGVuYW1lIE4yCisgICAgPgorc3RydWN0IGJpdG9yXzwgTjEsTjIsbmEsbmEsbmEgPgorICAgIDogYml0b3JfaW1wbDwKKyAgICAgICAgICB0eXBlbmFtZSBiaXRvcl90YWc8TjE+Ojp0eXBlCisgICAgICAgICwgdHlwZW5hbWUgYml0b3JfdGFnPE4yPjo6dHlwZQorICAgICAgICA+Ojp0ZW1wbGF0ZSBhcHBseTwgTjEsTjIgPjo6dHlwZQoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlRfU1BFQygKKyAgICAgICAgICA1CisgICAgICAgICwgYml0b3JfCisgICAgICAgICwgKCBOMSwgTjIsIG5hLCBuYSwgbmEgKQorICAgICAgICApCisKK307CisKK0JPT1NUX01QTF9BVVhfTkFfU1BFQzIoMiwgNSwgYml0b3JfKQorCit9fQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKK3RlbXBsYXRlPD4KK3N0cnVjdCBiaXRvcl9pbXBsPCBpbnRlZ3JhbF9jX3RhZyxpbnRlZ3JhbF9jX3RhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIE4xLCB0eXBlbmFtZSBOMiA+IHN0cnVjdCBhcHBseQorCisgICAgICAgIDogaW50ZWdyYWxfYzwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgYXV4OjpsYXJnZXN0X2ludDwKKyAgICAgICAgICAgICAgICAgIHR5cGVuYW1lIE4xOjp2YWx1ZV90eXBlCisgICAgICAgICAgICAgICAgLCB0eXBlbmFtZSBOMjo6dmFsdWVfdHlwZQorICAgICAgICAgICAgICAgID46OnR5cGUKKyAgICAgICAgICAgICwgKCBCT09TVF9NUExfQVVYX1ZBTFVFX1dLTkQoTjEpOjp2YWx1ZQorICAgICAgICAgICAgICAgICAgfCBCT09TVF9NUExfQVVYX1ZBTFVFX1dLTkQoTjIpOjp2YWx1ZQorICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgID4KKyAgICB7CisgICAgfTsKK307CisKK319CmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjNTUxL2JpdHhvci5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjNTUxL2JpdHhvci5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjdmMGNlNwotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2M1NTEvYml0eG9yLmhwcApAQCAtMCwwICsxLDE0NyBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vIENvcHlyaWdodCBKYWFwIFN1dGVyIDIwMDMKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvYml0eG9yLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFRhZzEKKyAgICAsIHR5cGVuYW1lIFRhZzIKKyAgICA+CitzdHJ1Y3QgYml0eG9yX2ltcGwKKyAgICA6IGlmX2M8CisgICAgICAgICAgKCBCT09TVF9NUExfQVVYX05FU1RFRF9WQUxVRV9XS05EKGludCwgVGFnMSkKKyAgICAgICAgICAgICAgPiBCT09TVF9NUExfQVVYX05FU1RFRF9WQUxVRV9XS05EKGludCwgVGFnMikKKyAgICAgICAgICAgICkKKworICAgICAgICAsIGF1eDo6Y2FzdDJuZF9pbXBsPCBiaXR4b3JfaW1wbDwgVGFnMSxUYWcxID4sVGFnMSwgVGFnMiA+CisgICAgICAgICwgYXV4OjpjYXN0MXN0X2ltcGw8IGJpdHhvcl9pbXBsPCBUYWcyLFRhZzIgPixUYWcxLCBUYWcyID4KKyAgICAgICAgPjo6dHlwZQoreworfTsKKworLy8vIGZvciBEaWdpdGFsIE1hcnMgQysrL2NvbXBpbGVycyB3aXRoIG5vIENUUFMvVFRQIHN1cHBvcnQKK3RlbXBsYXRlPD4gc3RydWN0IGJpdHhvcl9pbXBsPCBuYSxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFRhZyA+IHN0cnVjdCBiaXR4b3JfaW1wbDwgbmEsVGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVGFnID4gc3RydWN0IGJpdHhvcl9pbXBsPCBUYWcsbmEgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUID4gc3RydWN0IGJpdHhvcl90YWcKK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIFQ6OnRhZyB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4xKQorICAgICwgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMikKKyAgICAsIHR5cGVuYW1lIE4zID0gbmEsIHR5cGVuYW1lIE40ID0gbmEsIHR5cGVuYW1lIE41ID0gbmEKKyAgICA+CitzdHJ1Y3QgYml0eG9yXworICAgIDogYml0eG9yXzwgYml0eG9yXzwgYml0eG9yXzwgYml0eG9yXzwgTjEsTjIgPiwgTjM+LCBOND4sIE41PgoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoCisgICAgICAgICAgNQorICAgICAgICAsIGJpdHhvcl8KKyAgICAgICAgLCAoIE4xLCBOMiwgTjMsIE40LCBONSApCisgICAgICAgICkKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgTjEsIHR5cGVuYW1lIE4yLCB0eXBlbmFtZSBOMywgdHlwZW5hbWUgTjQKKyAgICA+CitzdHJ1Y3QgYml0eG9yXzwgTjEsTjIsTjMsTjQsbmEgPgorCisgICAgOiBiaXR4b3JfPCBiaXR4b3JfPCBiaXR4b3JfPCBOMSxOMiA+LCBOMz4sIE40PgoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlRfU1BFQygKKyAgICAgICAgICA1CisgICAgICAgICwgYml0eG9yXworICAgICAgICAsICggTjEsIE4yLCBOMywgTjQsIG5hICkKKyAgICAgICAgKQorfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBOMSwgdHlwZW5hbWUgTjIsIHR5cGVuYW1lIE4zCisgICAgPgorc3RydWN0IGJpdHhvcl88IE4xLE4yLE4zLG5hLG5hID4KKworICAgIDogYml0eG9yXzwgYml0eG9yXzwgTjEsTjIgPiwgTjM+Cit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVF9TUEVDKAorICAgICAgICAgIDUKKyAgICAgICAgLCBiaXR4b3JfCisgICAgICAgICwgKCBOMSwgTjIsIE4zLCBuYSwgbmEgKQorICAgICAgICApCit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIE4xLCB0eXBlbmFtZSBOMgorICAgID4KK3N0cnVjdCBiaXR4b3JfPCBOMSxOMixuYSxuYSxuYSA+CisgICAgOiBiaXR4b3JfaW1wbDwKKyAgICAgICAgICB0eXBlbmFtZSBiaXR4b3JfdGFnPE4xPjo6dHlwZQorICAgICAgICAsIHR5cGVuYW1lIGJpdHhvcl90YWc8TjI+Ojp0eXBlCisgICAgICAgID46OnRlbXBsYXRlIGFwcGx5PCBOMSxOMiA+Ojp0eXBlCit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVF9TUEVDKAorICAgICAgICAgIDUKKyAgICAgICAgLCBiaXR4b3JfCisgICAgICAgICwgKCBOMSwgTjIsIG5hLCBuYSwgbmEgKQorICAgICAgICApCisKK307CisKK0JPT1NUX01QTF9BVVhfTkFfU1BFQzIoMiwgNSwgYml0eG9yXykKKworfX0KKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7Cit0ZW1wbGF0ZTw+CitzdHJ1Y3QgYml0eG9yX2ltcGw8IGludGVncmFsX2NfdGFnLGludGVncmFsX2NfdGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgTjEsIHR5cGVuYW1lIE4yID4gc3RydWN0IGFwcGx5CisKKyAgICAgICAgOiBpbnRlZ3JhbF9jPAorICAgICAgICAgICAgICB0eXBlbmFtZSBhdXg6Omxhcmdlc3RfaW50PAorICAgICAgICAgICAgICAgICAgdHlwZW5hbWUgTjE6OnZhbHVlX3R5cGUKKyAgICAgICAgICAgICAgICAsIHR5cGVuYW1lIE4yOjp2YWx1ZV90eXBlCisgICAgICAgICAgICAgICAgPjo6dHlwZQorICAgICAgICAgICAgLCAoIEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChOMSk6OnZhbHVlCisgICAgICAgICAgICAgICAgICBeIEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChOMik6OnZhbHVlCisgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgPgorICAgIHsKKyAgICB9OworfTsKKworfX0KZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2M1NTEvZGVxdWUuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjYzU1MS9kZXF1ZS5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDYzMWY2NgotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2M1NTEvZGVxdWUuaHBwCkBAIC0wLDAgKzEsMzIzIEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9kZXF1ZS5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCA9IG5hLCB0eXBlbmFtZSBUMSA9IG5hLCB0eXBlbmFtZSBUMiA9IG5hLCB0eXBlbmFtZSBUMyA9IG5hCisgICAgLCB0eXBlbmFtZSBUNCA9IG5hLCB0eXBlbmFtZSBUNSA9IG5hLCB0eXBlbmFtZSBUNiA9IG5hLCB0eXBlbmFtZSBUNyA9IG5hCisgICAgLCB0eXBlbmFtZSBUOCA9IG5hLCB0eXBlbmFtZSBUOSA9IG5hLCB0eXBlbmFtZSBUMTAgPSBuYSwgdHlwZW5hbWUgVDExID0gbmEKKyAgICAsIHR5cGVuYW1lIFQxMiA9IG5hLCB0eXBlbmFtZSBUMTMgPSBuYSwgdHlwZW5hbWUgVDE0ID0gbmEKKyAgICAsIHR5cGVuYW1lIFQxNSA9IG5hLCB0eXBlbmFtZSBUMTYgPSBuYSwgdHlwZW5hbWUgVDE3ID0gbmEKKyAgICAsIHR5cGVuYW1lIFQxOCA9IG5hLCB0eXBlbmFtZSBUMTkgPSBuYQorICAgID4KK3N0cnVjdCBkZXF1ZTsKKwordGVtcGxhdGU8CisgICAgIAorICAgID4KK3N0cnVjdCBkZXF1ZTwKKyAgICAgICAgICBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHZlY3RvcjA8ICA+Cit7CisgICAgdHlwZWRlZiB2ZWN0b3IwPCAgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMAorICAgID4KK3N0cnVjdCBkZXF1ZTwKKyAgICAgICAgICBUMCwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHZlY3RvcjE8VDA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxPFQwPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEKKyAgICA+CitzdHJ1Y3QgZGVxdWU8CisgICAgICAgICAgVDAsIFQxLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3IyPCBUMCxUMSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IyPCBUMCxUMSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIKKyAgICA+CitzdHJ1Y3QgZGVxdWU8CisgICAgICAgICAgVDAsIFQxLCBUMiwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3IzPCBUMCxUMSxUMiA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IzPCBUMCxUMSxUMiA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzCisgICAgPgorc3RydWN0IGRlcXVlPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogdmVjdG9yNDwgVDAsVDEsVDIsVDMgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yNDwgVDAsVDEsVDIsVDMgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICA+CitzdHJ1Y3QgZGVxdWU8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3I1PCBUMCxUMSxUMixUMyxUNCA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3I1PCBUMCxUMSxUMixUMyxUNCA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUKKyAgICA+CitzdHJ1Y3QgZGVxdWU8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3I2PCBUMCxUMSxUMixUMyxUNCxUNSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3I2PCBUMCxUMSxUMixUMyxUNCxUNSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2CisgICAgPgorc3RydWN0IGRlcXVlPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogdmVjdG9yNzwgVDAsVDEsVDIsVDMsVDQsVDUsVDYgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yNzwgVDAsVDEsVDIsVDMsVDQsVDUsVDYgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcKKyAgICA+CitzdHJ1Y3QgZGVxdWU8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3I4PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3I4PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgKKyAgICA+CitzdHJ1Y3QgZGVxdWU8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3I5PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3I5PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgPgorc3RydWN0IGRlcXVlPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogdmVjdG9yMTA8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjEwPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAKKyAgICA+CitzdHJ1Y3QgZGVxdWU8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogdmVjdG9yMTE8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxMTwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExCisgICAgPgorc3RydWN0IGRlcXVlPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3IxMjwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxMjwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyCisgICAgPgorc3RydWN0IGRlcXVlPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogdmVjdG9yMTM8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjEzPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMiA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMKKyAgICA+CitzdHJ1Y3QgZGVxdWU8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogdmVjdG9yMTQ8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxNDwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgPgorc3RydWN0IGRlcXVlPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNCwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3IxNTwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTU8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyxUMTQgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAsIHR5cGVuYW1lIFQxNQorICAgID4KK3N0cnVjdCBkZXF1ZTwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgLCBUMTUsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHZlY3RvcjE2PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNQorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxNjwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzLFQxNCxUMTUgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2CisgICAgPgorc3RydWN0IGRlcXVlPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgVDE2LCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHZlY3RvcjE3PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgVDE2CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjE3PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMsVDE0LFQxNSxUMTYgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcKKyAgICA+CitzdHJ1Y3QgZGVxdWU8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1LCBUMTYsIFQxNywgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHZlY3RvcjE4PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgVDE2LCBUMTcKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTg8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyxUMTQsVDE1LFQxNixUMTcgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOAorICAgID4KK3N0cnVjdCBkZXF1ZTwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgLCBUMTUsIFQxNiwgVDE3LCBUMTgsIG5hCisgICAgICAgID4KKyAgICA6IHZlY3RvcjE5PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgVDE2LCBUMTcsIFQxOAorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxOTwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzLFQxNCxUMTUsVDE2LFQxNyxUMTggPjo6dHlwZSB0eXBlOworfTsKKworLy8vIHByaW1hcnkgdGVtcGxhdGUgKG5vdCBhIHNwZWNpYWxpemF0aW9uISkKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgPgorc3RydWN0IGRlcXVlCisgICAgOiB2ZWN0b3IyMDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgLCBUMTUsIFQxNiwgVDE3LCBUMTgsIFQxOQorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IyMDwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzLFQxNCxUMTUsVDE2LFQxNyxUMTgsVDE5ID46OnR5cGUgdHlwZTsKK307CisKK319CisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2M1NTEvZGl2aWRlcy5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjNTUxL2RpdmlkZXMuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBmNTQxNWMKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjNTUxL2RpdmlkZXMuaHBwCkBAIC0wLDAgKzEsMTQ2IEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9kaXZpZGVzLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFRhZzEKKyAgICAsIHR5cGVuYW1lIFRhZzIKKyAgICA+CitzdHJ1Y3QgZGl2aWRlc19pbXBsCisgICAgOiBpZl9jPAorICAgICAgICAgICggQk9PU1RfTVBMX0FVWF9ORVNURURfVkFMVUVfV0tORChpbnQsIFRhZzEpCisgICAgICAgICAgICAgID4gQk9PU1RfTVBMX0FVWF9ORVNURURfVkFMVUVfV0tORChpbnQsIFRhZzIpCisgICAgICAgICAgICApCisKKyAgICAgICAgLCBhdXg6OmNhc3QybmRfaW1wbDwgZGl2aWRlc19pbXBsPCBUYWcxLFRhZzEgPixUYWcxLCBUYWcyID4KKyAgICAgICAgLCBhdXg6OmNhc3Qxc3RfaW1wbDwgZGl2aWRlc19pbXBsPCBUYWcyLFRhZzIgPixUYWcxLCBUYWcyID4KKyAgICAgICAgPjo6dHlwZQoreworfTsKKworLy8vIGZvciBEaWdpdGFsIE1hcnMgQysrL2NvbXBpbGVycyB3aXRoIG5vIENUUFMvVFRQIHN1cHBvcnQKK3RlbXBsYXRlPD4gc3RydWN0IGRpdmlkZXNfaW1wbDwgbmEsbmEgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUYWcgPiBzdHJ1Y3QgZGl2aWRlc19pbXBsPCBuYSxUYWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUYWcgPiBzdHJ1Y3QgZGl2aWRlc19pbXBsPCBUYWcsbmEgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUID4gc3RydWN0IGRpdmlkZXNfdGFnCit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBUOjp0YWcgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMSkKKyAgICAsIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjIpCisgICAgLCB0eXBlbmFtZSBOMyA9IG5hLCB0eXBlbmFtZSBONCA9IG5hLCB0eXBlbmFtZSBONSA9IG5hCisgICAgPgorc3RydWN0IGRpdmlkZXMKKyAgICA6IGRpdmlkZXM8IGRpdmlkZXM8IGRpdmlkZXM8IGRpdmlkZXM8IE4xLE4yID4sIE4zPiwgTjQ+LCBONT4KK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKAorICAgICAgICAgIDUKKyAgICAgICAgLCBkaXZpZGVzCisgICAgICAgICwgKCBOMSwgTjIsIE4zLCBONCwgTjUgKQorICAgICAgICApCit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIE4xLCB0eXBlbmFtZSBOMiwgdHlwZW5hbWUgTjMsIHR5cGVuYW1lIE40CisgICAgPgorc3RydWN0IGRpdmlkZXM8IE4xLE4yLE4zLE40LG5hID4KKworICAgIDogZGl2aWRlczwgZGl2aWRlczwgZGl2aWRlczwgTjEsTjIgPiwgTjM+LCBOND4KK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUX1NQRUMoCisgICAgICAgICAgNQorICAgICAgICAsIGRpdmlkZXMKKyAgICAgICAgLCAoIE4xLCBOMiwgTjMsIE40LCBuYSApCisgICAgICAgICkKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgTjEsIHR5cGVuYW1lIE4yLCB0eXBlbmFtZSBOMworICAgID4KK3N0cnVjdCBkaXZpZGVzPCBOMSxOMixOMyxuYSxuYSA+CisKKyAgICA6IGRpdmlkZXM8IGRpdmlkZXM8IE4xLE4yID4sIE4zPgoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlRfU1BFQygKKyAgICAgICAgICA1CisgICAgICAgICwgZGl2aWRlcworICAgICAgICAsICggTjEsIE4yLCBOMywgbmEsIG5hICkKKyAgICAgICAgKQorfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBOMSwgdHlwZW5hbWUgTjIKKyAgICA+CitzdHJ1Y3QgZGl2aWRlczwgTjEsTjIsbmEsbmEsbmEgPgorICAgIDogZGl2aWRlc19pbXBsPAorICAgICAgICAgIHR5cGVuYW1lIGRpdmlkZXNfdGFnPE4xPjo6dHlwZQorICAgICAgICAsIHR5cGVuYW1lIGRpdmlkZXNfdGFnPE4yPjo6dHlwZQorICAgICAgICA+Ojp0ZW1wbGF0ZSBhcHBseTwgTjEsTjIgPjo6dHlwZQoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlRfU1BFQygKKyAgICAgICAgICA1CisgICAgICAgICwgZGl2aWRlcworICAgICAgICAsICggTjEsIE4yLCBuYSwgbmEsIG5hICkKKyAgICAgICAgKQorCit9OworCitCT09TVF9NUExfQVVYX05BX1NQRUMyKDIsIDUsIGRpdmlkZXMpCisKK319CisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgewordGVtcGxhdGU8Pgorc3RydWN0IGRpdmlkZXNfaW1wbDwgaW50ZWdyYWxfY190YWcsaW50ZWdyYWxfY190YWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBOMSwgdHlwZW5hbWUgTjIgPiBzdHJ1Y3QgYXBwbHkKKworICAgICAgICA6IGludGVncmFsX2M8CisgICAgICAgICAgICAgIHR5cGVuYW1lIGF1eDo6bGFyZ2VzdF9pbnQ8CisgICAgICAgICAgICAgICAgICB0eXBlbmFtZSBOMTo6dmFsdWVfdHlwZQorICAgICAgICAgICAgICAgICwgdHlwZW5hbWUgTjI6OnZhbHVlX3R5cGUKKyAgICAgICAgICAgICAgICA+Ojp0eXBlCisgICAgICAgICAgICAsICggQk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4xKTo6dmFsdWUKKyAgICAgICAgICAgICAgICAgIC8gQk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4yKTo6dmFsdWUKKyAgICAgICAgICAgICAgICApCisgICAgICAgICAgICA+CisgICAgeworICAgIH07Cit9OworCit9fQpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjYzU1MS9lcXVhbF90by5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjNTUxL2VxdWFsX3RvLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZDAyZGE0Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjYzU1MS9lcXVhbF90by5ocHAKQEAgLTAsMCArMSw5NCBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvZXF1YWxfdG8uaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVGFnMQorICAgICwgdHlwZW5hbWUgVGFnMgorICAgID4KK3N0cnVjdCBlcXVhbF90b19pbXBsCisgICAgOiBpZl9jPAorICAgICAgICAgICggQk9PU1RfTVBMX0FVWF9ORVNURURfVkFMVUVfV0tORChpbnQsIFRhZzEpCisgICAgICAgICAgICAgID4gQk9PU1RfTVBMX0FVWF9ORVNURURfVkFMVUVfV0tORChpbnQsIFRhZzIpCisgICAgICAgICAgICApCisKKyAgICAgICAgLCBhdXg6OmNhc3QybmRfaW1wbDwgZXF1YWxfdG9faW1wbDwgVGFnMSxUYWcxID4sVGFnMSwgVGFnMiA+CisgICAgICAgICwgYXV4OjpjYXN0MXN0X2ltcGw8IGVxdWFsX3RvX2ltcGw8IFRhZzIsVGFnMiA+LFRhZzEsIFRhZzIgPgorICAgICAgICA+Ojp0eXBlCit7Cit9OworCisvLy8gZm9yIERpZ2l0YWwgTWFycyBDKysvY29tcGlsZXJzIHdpdGggbm8gQ1RQUy9UVFAgc3VwcG9ydAordGVtcGxhdGU8PiBzdHJ1Y3QgZXF1YWxfdG9faW1wbDwgbmEsbmEgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUYWcgPiBzdHJ1Y3QgZXF1YWxfdG9faW1wbDwgbmEsVGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVGFnID4gc3RydWN0IGVxdWFsX3RvX2ltcGw8IFRhZyxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFQgPiBzdHJ1Y3QgZXF1YWxfdG9fdGFnCit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBUOjp0YWcgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMSkKKyAgICAsIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjIpCisgICAgPgorc3RydWN0IGVxdWFsX3RvCisKKyAgICA6IGVxdWFsX3RvX2ltcGw8CisgICAgICAgICAgdHlwZW5hbWUgZXF1YWxfdG9fdGFnPE4xPjo6dHlwZQorICAgICAgICAsIHR5cGVuYW1lIGVxdWFsX3RvX3RhZzxOMj46OnR5cGUKKyAgICAgICAgPjo6dGVtcGxhdGUgYXBwbHk8IE4xLE4yID46OnR5cGUKK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKDIsIGVxdWFsX3RvLCAoTjEsIE4yKSkKKworfTsKKworQk9PU1RfTVBMX0FVWF9OQV9TUEVDMigyLCAyLCBlcXVhbF90bykKKworfX0KKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBlcXVhbF90b19pbXBsPCBpbnRlZ3JhbF9jX3RhZyxpbnRlZ3JhbF9jX3RhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIE4xLCB0eXBlbmFtZSBOMiA+IHN0cnVjdCBhcHBseQorCisgICAgICAgIDogYm9vbF88ICggQk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4xKTo6dmFsdWUgID09IEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChOMik6OnZhbHVlICkgPgorICAgIHsKKyAgICB9OworfTsKKworfX0KZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2M1NTEvZm9sZF9pbXBsLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2M1NTEvZm9sZF9pbXBsLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40OTRjZDQxCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjYzU1MS9mb2xkX2ltcGwuaHBwCkBAIC0wLDAgKzEsMTgwIEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9hdXhfL2ZvbGRfaW1wbC5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsgbmFtZXNwYWNlIGF1eCB7CisKKy8vLyBmb3J3YXJkIGRlY2xhcmF0aW9uCisKK3RlbXBsYXRlPAorICAgICAgaW50IE4KKyAgICAsIHR5cGVuYW1lIEZpcnN0CisgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgPgorc3RydWN0IGZvbGRfaW1wbDsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGaXJzdAorICAgICwgdHlwZW5hbWUgTGFzdAorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgID4KK3N0cnVjdCBmb2xkX2ltcGw8IDAsRmlyc3QsTGFzdCxTdGF0ZSxGb3J3YXJkT3AgPgoreworICAgIHR5cGVkZWYgRmlyc3QgaXRlcjA7CisgICAgdHlwZWRlZiBTdGF0ZSBzdGF0ZTA7CisgICAgdHlwZWRlZiBzdGF0ZTAgc3RhdGU7CisgICAgdHlwZWRlZiBpdGVyMCBpdGVyYXRvcjsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+CitzdHJ1Y3QgZm9sZF9pbXBsPCAxLEZpcnN0LExhc3QsU3RhdGUsRm9yd2FyZE9wID4KK3sKKyAgICB0eXBlZGVmIEZpcnN0IGl0ZXIwOworICAgIHR5cGVkZWYgU3RhdGUgc3RhdGUwOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsIHN0YXRlMCwgdHlwZW5hbWUgZGVyZWY8aXRlcjA+Ojp0eXBlID46OnR5cGUgc3RhdGUxOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIwPjo6dHlwZSBpdGVyMTsKKyAgICAKKworICAgIHR5cGVkZWYgc3RhdGUxIHN0YXRlOworICAgIHR5cGVkZWYgaXRlcjEgaXRlcmF0b3I7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgPgorc3RydWN0IGZvbGRfaW1wbDwgMixGaXJzdCxMYXN0LFN0YXRlLEZvcndhcmRPcCA+Cit7CisgICAgdHlwZWRlZiBGaXJzdCBpdGVyMDsKKyAgICB0eXBlZGVmIFN0YXRlIHN0YXRlMDsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLCBzdGF0ZTAsIHR5cGVuYW1lIGRlcmVmPGl0ZXIwPjo6dHlwZSA+Ojp0eXBlIHN0YXRlMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMD46OnR5cGUgaXRlcjE7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCwgc3RhdGUxLCB0eXBlbmFtZSBkZXJlZjxpdGVyMT46OnR5cGUgPjo6dHlwZSBzdGF0ZTI7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjE+Ojp0eXBlIGl0ZXIyOworICAgIAorCisgICAgdHlwZWRlZiBzdGF0ZTIgc3RhdGU7CisgICAgdHlwZWRlZiBpdGVyMiBpdGVyYXRvcjsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+CitzdHJ1Y3QgZm9sZF9pbXBsPCAzLEZpcnN0LExhc3QsU3RhdGUsRm9yd2FyZE9wID4KK3sKKyAgICB0eXBlZGVmIEZpcnN0IGl0ZXIwOworICAgIHR5cGVkZWYgU3RhdGUgc3RhdGUwOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsIHN0YXRlMCwgdHlwZW5hbWUgZGVyZWY8aXRlcjA+Ojp0eXBlID46OnR5cGUgc3RhdGUxOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIwPjo6dHlwZSBpdGVyMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLCBzdGF0ZTEsIHR5cGVuYW1lIGRlcmVmPGl0ZXIxPjo6dHlwZSA+Ojp0eXBlIHN0YXRlMjsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMT46OnR5cGUgaXRlcjI7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCwgc3RhdGUyLCB0eXBlbmFtZSBkZXJlZjxpdGVyMj46OnR5cGUgPjo6dHlwZSBzdGF0ZTM7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjI+Ojp0eXBlIGl0ZXIzOworICAgIAorCisgICAgdHlwZWRlZiBzdGF0ZTMgc3RhdGU7CisgICAgdHlwZWRlZiBpdGVyMyBpdGVyYXRvcjsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+CitzdHJ1Y3QgZm9sZF9pbXBsPCA0LEZpcnN0LExhc3QsU3RhdGUsRm9yd2FyZE9wID4KK3sKKyAgICB0eXBlZGVmIEZpcnN0IGl0ZXIwOworICAgIHR5cGVkZWYgU3RhdGUgc3RhdGUwOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsIHN0YXRlMCwgdHlwZW5hbWUgZGVyZWY8aXRlcjA+Ojp0eXBlID46OnR5cGUgc3RhdGUxOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIwPjo6dHlwZSBpdGVyMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLCBzdGF0ZTEsIHR5cGVuYW1lIGRlcmVmPGl0ZXIxPjo6dHlwZSA+Ojp0eXBlIHN0YXRlMjsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMT46OnR5cGUgaXRlcjI7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCwgc3RhdGUyLCB0eXBlbmFtZSBkZXJlZjxpdGVyMj46OnR5cGUgPjo6dHlwZSBzdGF0ZTM7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjI+Ojp0eXBlIGl0ZXIzOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsIHN0YXRlMywgdHlwZW5hbWUgZGVyZWY8aXRlcjM+Ojp0eXBlID46OnR5cGUgc3RhdGU0OworICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIzPjo6dHlwZSBpdGVyNDsKKyAgICAKKworICAgIHR5cGVkZWYgc3RhdGU0IHN0YXRlOworICAgIHR5cGVkZWYgaXRlcjQgaXRlcmF0b3I7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIGludCBOCisgICAgLCB0eXBlbmFtZSBGaXJzdAorICAgICwgdHlwZW5hbWUgTGFzdAorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgID4KK3N0cnVjdCBmb2xkX2ltcGwKK3sKKyAgICB0eXBlZGVmIGZvbGRfaW1wbDwKKyAgICAgICAgICA0CisgICAgICAgICwgRmlyc3QKKyAgICAgICAgLCBMYXN0CisgICAgICAgICwgU3RhdGUKKyAgICAgICAgLCBGb3J3YXJkT3AKKyAgICAgICAgPiBjaHVua187CisKKyAgICB0eXBlZGVmIGZvbGRfaW1wbDwKKyAgICAgICAgICAoIChOIC0gNCkgPCAwID8gMCA6IE4gLSA0ICkKKyAgICAgICAgLCB0eXBlbmFtZSBjaHVua186Oml0ZXJhdG9yCisgICAgICAgICwgTGFzdAorICAgICAgICAsIHR5cGVuYW1lIGNodW5rXzo6c3RhdGUKKyAgICAgICAgLCBGb3J3YXJkT3AKKyAgICAgICAgPiByZXNfOworCisgICAgdHlwZWRlZiB0eXBlbmFtZSByZXNfOjpzdGF0ZSBzdGF0ZTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHJlc186Oml0ZXJhdG9yIGl0ZXJhdG9yOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGaXJzdAorICAgICwgdHlwZW5hbWUgTGFzdAorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgID4KK3N0cnVjdCBmb2xkX2ltcGw8IC0xLEZpcnN0LExhc3QsU3RhdGUsRm9yd2FyZE9wID4KKyAgICA6IGZvbGRfaW1wbDwKKyAgICAgICAgICAtMQorICAgICAgICAsIHR5cGVuYW1lIG1wbDo6bmV4dDxGaXJzdD46OnR5cGUKKyAgICAgICAgLCBMYXN0CisgICAgICAgICwgdHlwZW5hbWUgYXBwbHkyPEZvcndhcmRPcCxTdGF0ZSwgdHlwZW5hbWUgZGVyZWY8Rmlyc3Q+Ojp0eXBlPjo6dHlwZQorICAgICAgICAsIEZvcndhcmRPcAorICAgICAgICA+Cit7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+CitzdHJ1Y3QgZm9sZF9pbXBsPCAtMSxMYXN0LExhc3QsU3RhdGUsRm9yd2FyZE9wID4KK3sKKyAgICB0eXBlZGVmIFN0YXRlIHN0YXRlOworICAgIHR5cGVkZWYgTGFzdCBpdGVyYXRvcjsKK307CisKK319fQpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjYzU1MS9mdWxsX2xhbWJkYS5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjNTUxL2Z1bGxfbGFtYmRhLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kY2VhMzQyCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjYzU1MS9mdWxsX2xhbWJkYS5ocHAKQEAgLTAsMCArMSw1NTggQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMS0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL2F1eF8vZnVsbF9sYW1iZGEuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwKKyAgICAgIGJvb2wgQzEgPSBmYWxzZSwgYm9vbCBDMiA9IGZhbHNlLCBib29sIEMzID0gZmFsc2UsIGJvb2wgQzQgPSBmYWxzZQorICAgICwgYm9vbCBDNSA9IGZhbHNlCisgICAgPgorc3RydWN0IGxhbWJkYV9vcgorICAgIDogdHJ1ZV8KK3sKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBsYW1iZGFfb3I8IGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlID4KKyAgICA6IGZhbHNlXworeworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVAorICAgICwgdHlwZW5hbWUgVGFnCisgICAgLCB0eXBlbmFtZSBBcml0eQorICAgID4KK3N0cnVjdCBsYW1iZGEKK3sKKyAgICB0eXBlZGVmIGZhbHNlXyBpc19sZTsKKyAgICB0eXBlZGVmIFQgcmVzdWx0XzsKKyAgICB0eXBlZGVmIFQgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVAorICAgID4KK3N0cnVjdCBpc19sYW1iZGFfZXhwcmVzc2lvbgorICAgIDogbGFtYmRhPFQ+Ojppc19sZQoreworfTsKKwordGVtcGxhdGU8IGludCBOLCB0eXBlbmFtZSBUYWcgPgorc3RydWN0IGxhbWJkYTwgYXJnPE4+LFRhZywgaW50XzwgLTEgPiA+Cit7CisgICAgdHlwZWRlZiB0cnVlXyBpc19sZTsKKyAgICB0eXBlZGVmIG1wbDo6YXJnPE4+IHJlc3VsdF87IC8vIHF1YWxpZmllZCBmb3IgdGhlIHNha2Ugb2YgTUlQU3BybyA3LjQxCisgICAgdHlwZWRlZiBtcGw6OnByb3RlY3Q8cmVzdWx0Xz4gdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRgorICAgICwgdHlwZW5hbWUgVGFnCisgICAgPgorc3RydWN0IGxhbWJkYTwKKyAgICAgICAgICBiaW5kMDxGPgorICAgICAgICAsIFRhZworICAgICAgICAsIGludF88MT4KKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgZmFsc2VfIGlzX2xlOworICAgIHR5cGVkZWYgYmluZDA8CisgICAgICAgICAgRgorICAgICAgICA+IHJlc3VsdF87CisKKyAgICB0eXBlZGVmIHJlc3VsdF8gdHlwZTsKK307CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIElzTEUsIHR5cGVuYW1lIFRhZworICAgICwgdGVtcGxhdGU8IHR5cGVuYW1lIFAxID4gY2xhc3MgRgorICAgICwgdHlwZW5hbWUgTDEKKyAgICA+CitzdHJ1Y3QgbGVfcmVzdWx0MQoreworICAgIHR5cGVkZWYgRjwKKyAgICAgICAgICB0eXBlbmFtZSBMMTo6dHlwZQorICAgICAgICA+IHJlc3VsdF87CisKKyAgICB0eXBlZGVmIHJlc3VsdF8gdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVGFnCisgICAgLCB0ZW1wbGF0ZTwgdHlwZW5hbWUgUDEgPiBjbGFzcyBGCisgICAgLCB0eXBlbmFtZSBMMQorICAgID4KK3N0cnVjdCBsZV9yZXN1bHQxPCB0cnVlXyxUYWcsRixMMSA+Cit7CisgICAgdHlwZWRlZiBiaW5kMTwKKyAgICAgICAgICBxdW90ZTE8IEYsVGFnID4KKyAgICAgICAgLCB0eXBlbmFtZSBMMTo6cmVzdWx0XworICAgICAgICA+IHJlc3VsdF87CisKKyAgICB0eXBlZGVmIG1wbDo6cHJvdGVjdDxyZXN1bHRfPiB0eXBlOworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK3RlbXBsYXRlPAorICAgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFAxID4gY2xhc3MgRgorICAgICwgdHlwZW5hbWUgVDEKKyAgICAsIHR5cGVuYW1lIFRhZworICAgID4KK3N0cnVjdCBsYW1iZGE8CisgICAgICAgICAgRjxUMT4KKyAgICAgICAgLCBUYWcKKyAgICAgICAgLCBpbnRfPDE+CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIGxhbWJkYTwgVDEsVGFnID4gbDE7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsMTo6aXNfbGUgaXNfbGUxOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXV4OjpsYW1iZGFfb3I8CisgICAgICAgICAgaXNfbGUxOjp2YWx1ZQorICAgICAgICA+Ojp0eXBlIGlzX2xlOworCisgICAgdHlwZWRlZiBhdXg6OmxlX3Jlc3VsdDE8CisgICAgICAgICAgaXNfbGUsIFRhZywgRiwgbDEKKyAgICAgICAgPiBsZV9yZXN1bHRfOworCisgICAgdHlwZWRlZiB0eXBlbmFtZSBsZV9yZXN1bHRfOjpyZXN1bHRfIHJlc3VsdF87CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsZV9yZXN1bHRfOjp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxCisgICAgLCB0eXBlbmFtZSBUYWcKKyAgICA+CitzdHJ1Y3QgbGFtYmRhPAorICAgICAgICAgIGJpbmQxPCBGLFQxID4KKyAgICAgICAgLCBUYWcKKyAgICAgICAgLCBpbnRfPDI+CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIGZhbHNlXyBpc19sZTsKKyAgICB0eXBlZGVmIGJpbmQxPAorICAgICAgICAgIEYKKyAgICAgICAgLCBUMQorICAgICAgICA+IHJlc3VsdF87CisKKyAgICB0eXBlZGVmIHJlc3VsdF8gdHlwZTsKK307CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIElzTEUsIHR5cGVuYW1lIFRhZworICAgICwgdGVtcGxhdGU8IHR5cGVuYW1lIFAxLCB0eXBlbmFtZSBQMiA+IGNsYXNzIEYKKyAgICAsIHR5cGVuYW1lIEwxLCB0eXBlbmFtZSBMMgorICAgID4KK3N0cnVjdCBsZV9yZXN1bHQyCit7CisgICAgdHlwZWRlZiBGPAorICAgICAgICAgIHR5cGVuYW1lIEwxOjp0eXBlLCB0eXBlbmFtZSBMMjo6dHlwZQorICAgICAgICA+IHJlc3VsdF87CisKKyAgICB0eXBlZGVmIHJlc3VsdF8gdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVGFnCisgICAgLCB0ZW1wbGF0ZTwgdHlwZW5hbWUgUDEsIHR5cGVuYW1lIFAyID4gY2xhc3MgRgorICAgICwgdHlwZW5hbWUgTDEsIHR5cGVuYW1lIEwyCisgICAgPgorc3RydWN0IGxlX3Jlc3VsdDI8IHRydWVfLFRhZyxGLEwxLEwyID4KK3sKKyAgICB0eXBlZGVmIGJpbmQyPAorICAgICAgICAgIHF1b3RlMjwgRixUYWcgPgorICAgICAgICAsIHR5cGVuYW1lIEwxOjpyZXN1bHRfLCB0eXBlbmFtZSBMMjo6cmVzdWx0XworICAgICAgICA+IHJlc3VsdF87CisKKyAgICB0eXBlZGVmIG1wbDo6cHJvdGVjdDxyZXN1bHRfPiB0eXBlOworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK3RlbXBsYXRlPAorICAgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFAxLCB0eXBlbmFtZSBQMiA+IGNsYXNzIEYKKyAgICAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMgorICAgICwgdHlwZW5hbWUgVGFnCisgICAgPgorc3RydWN0IGxhbWJkYTwKKyAgICAgICAgICBGPCBUMSxUMiA+CisgICAgICAgICwgVGFnCisgICAgICAgICwgaW50XzwyPgorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiBsYW1iZGE8IFQxLFRhZyA+IGwxOworICAgIHR5cGVkZWYgbGFtYmRhPCBUMixUYWcgPiBsMjsKKyAgICAKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGwxOjppc19sZSBpc19sZTE7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsMjo6aXNfbGUgaXNfbGUyOworICAgIAorCisgICAgdHlwZWRlZiB0eXBlbmFtZSBhdXg6OmxhbWJkYV9vcjwKKyAgICAgICAgICBpc19sZTE6OnZhbHVlLCBpc19sZTI6OnZhbHVlCisgICAgICAgID46OnR5cGUgaXNfbGU7CisKKyAgICB0eXBlZGVmIGF1eDo6bGVfcmVzdWx0MjwKKyAgICAgICAgICBpc19sZSwgVGFnLCBGLCBsMSwgbDIKKyAgICAgICAgPiBsZV9yZXN1bHRfOworCisgICAgdHlwZWRlZiB0eXBlbmFtZSBsZV9yZXN1bHRfOjpyZXN1bHRfIHJlc3VsdF87CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsZV9yZXN1bHRfOjp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMgorICAgICwgdHlwZW5hbWUgVGFnCisgICAgPgorc3RydWN0IGxhbWJkYTwKKyAgICAgICAgICBiaW5kMjwgRixUMSxUMiA+CisgICAgICAgICwgVGFnCisgICAgICAgICwgaW50XzwzPgorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiBmYWxzZV8gaXNfbGU7CisgICAgdHlwZWRlZiBiaW5kMjwKKyAgICAgICAgICBGCisgICAgICAgICwgVDEsIFQyCisgICAgICAgID4gcmVzdWx0XzsKKworICAgIHR5cGVkZWYgcmVzdWx0XyB0eXBlOworfTsKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgSXNMRSwgdHlwZW5hbWUgVGFnCisgICAgLCB0ZW1wbGF0ZTwgdHlwZW5hbWUgUDEsIHR5cGVuYW1lIFAyLCB0eXBlbmFtZSBQMyA+IGNsYXNzIEYKKyAgICAsIHR5cGVuYW1lIEwxLCB0eXBlbmFtZSBMMiwgdHlwZW5hbWUgTDMKKyAgICA+CitzdHJ1Y3QgbGVfcmVzdWx0MworeworICAgIHR5cGVkZWYgRjwKKyAgICAgICAgICB0eXBlbmFtZSBMMTo6dHlwZSwgdHlwZW5hbWUgTDI6OnR5cGUsIHR5cGVuYW1lIEwzOjp0eXBlCisgICAgICAgID4gcmVzdWx0XzsKKworICAgIHR5cGVkZWYgcmVzdWx0XyB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUYWcKKyAgICAsIHRlbXBsYXRlPCB0eXBlbmFtZSBQMSwgdHlwZW5hbWUgUDIsIHR5cGVuYW1lIFAzID4gY2xhc3MgRgorICAgICwgdHlwZW5hbWUgTDEsIHR5cGVuYW1lIEwyLCB0eXBlbmFtZSBMMworICAgID4KK3N0cnVjdCBsZV9yZXN1bHQzPCB0cnVlXyxUYWcsRixMMSxMMixMMyA+Cit7CisgICAgdHlwZWRlZiBiaW5kMzwKKyAgICAgICAgICBxdW90ZTM8IEYsVGFnID4KKyAgICAgICAgLCB0eXBlbmFtZSBMMTo6cmVzdWx0XywgdHlwZW5hbWUgTDI6OnJlc3VsdF8sIHR5cGVuYW1lIEwzOjpyZXN1bHRfCisgICAgICAgID4gcmVzdWx0XzsKKworICAgIHR5cGVkZWYgbXBsOjpwcm90ZWN0PHJlc3VsdF8+IHR5cGU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKwordGVtcGxhdGU8CisgICAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgUDEsIHR5cGVuYW1lIFAyLCB0eXBlbmFtZSBQMyA+IGNsYXNzIEYKKyAgICAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMKKyAgICAsIHR5cGVuYW1lIFRhZworICAgID4KK3N0cnVjdCBsYW1iZGE8CisgICAgICAgICAgRjwgVDEsVDIsVDMgPgorICAgICAgICAsIFRhZworICAgICAgICAsIGludF88Mz4KKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgbGFtYmRhPCBUMSxUYWcgPiBsMTsKKyAgICB0eXBlZGVmIGxhbWJkYTwgVDIsVGFnID4gbDI7CisgICAgdHlwZWRlZiBsYW1iZGE8IFQzLFRhZyA+IGwzOworICAgIAorICAgIHR5cGVkZWYgdHlwZW5hbWUgbDE6OmlzX2xlIGlzX2xlMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGwyOjppc19sZSBpc19sZTI7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsMzo6aXNfbGUgaXNfbGUzOworICAgIAorCisgICAgdHlwZWRlZiB0eXBlbmFtZSBhdXg6OmxhbWJkYV9vcjwKKyAgICAgICAgICBpc19sZTE6OnZhbHVlLCBpc19sZTI6OnZhbHVlLCBpc19sZTM6OnZhbHVlCisgICAgICAgID46OnR5cGUgaXNfbGU7CisKKyAgICB0eXBlZGVmIGF1eDo6bGVfcmVzdWx0MzwKKyAgICAgICAgICBpc19sZSwgVGFnLCBGLCBsMSwgbDIsIGwzCisgICAgICAgID4gbGVfcmVzdWx0XzsKKworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGVfcmVzdWx0Xzo6cmVzdWx0XyByZXN1bHRfOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGVfcmVzdWx0Xzo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzCisgICAgLCB0eXBlbmFtZSBUYWcKKyAgICA+CitzdHJ1Y3QgbGFtYmRhPAorICAgICAgICAgIGJpbmQzPCBGLFQxLFQyLFQzID4KKyAgICAgICAgLCBUYWcKKyAgICAgICAgLCBpbnRfPDQ+CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIGZhbHNlXyBpc19sZTsKKyAgICB0eXBlZGVmIGJpbmQzPAorICAgICAgICAgIEYKKyAgICAgICAgLCBUMSwgVDIsIFQzCisgICAgICAgID4gcmVzdWx0XzsKKworICAgIHR5cGVkZWYgcmVzdWx0XyB0eXBlOworfTsKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgSXNMRSwgdHlwZW5hbWUgVGFnCisgICAgLCB0ZW1wbGF0ZTwgdHlwZW5hbWUgUDEsIHR5cGVuYW1lIFAyLCB0eXBlbmFtZSBQMywgdHlwZW5hbWUgUDQgPiBjbGFzcyBGCisgICAgLCB0eXBlbmFtZSBMMSwgdHlwZW5hbWUgTDIsIHR5cGVuYW1lIEwzLCB0eXBlbmFtZSBMNAorICAgID4KK3N0cnVjdCBsZV9yZXN1bHQ0Cit7CisgICAgdHlwZWRlZiBGPAorICAgICAgICAgIHR5cGVuYW1lIEwxOjp0eXBlLCB0eXBlbmFtZSBMMjo6dHlwZSwgdHlwZW5hbWUgTDM6OnR5cGUKKyAgICAgICAgLCB0eXBlbmFtZSBMNDo6dHlwZQorICAgICAgICA+IHJlc3VsdF87CisKKyAgICB0eXBlZGVmIHJlc3VsdF8gdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVGFnCisgICAgLCB0ZW1wbGF0ZTwgdHlwZW5hbWUgUDEsIHR5cGVuYW1lIFAyLCB0eXBlbmFtZSBQMywgdHlwZW5hbWUgUDQgPiBjbGFzcyBGCisgICAgLCB0eXBlbmFtZSBMMSwgdHlwZW5hbWUgTDIsIHR5cGVuYW1lIEwzLCB0eXBlbmFtZSBMNAorICAgID4KK3N0cnVjdCBsZV9yZXN1bHQ0PCB0cnVlXyxUYWcsRixMMSxMMixMMyxMNCA+Cit7CisgICAgdHlwZWRlZiBiaW5kNDwKKyAgICAgICAgICBxdW90ZTQ8IEYsVGFnID4KKyAgICAgICAgLCB0eXBlbmFtZSBMMTo6cmVzdWx0XywgdHlwZW5hbWUgTDI6OnJlc3VsdF8sIHR5cGVuYW1lIEwzOjpyZXN1bHRfCisgICAgICAgICwgdHlwZW5hbWUgTDQ6OnJlc3VsdF8KKyAgICAgICAgPiByZXN1bHRfOworCisgICAgdHlwZWRlZiBtcGw6OnByb3RlY3Q8cmVzdWx0Xz4gdHlwZTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCit0ZW1wbGF0ZTwKKyAgICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBQMSwgdHlwZW5hbWUgUDIsIHR5cGVuYW1lIFAzLCB0eXBlbmFtZSBQNCA+IGNsYXNzIEYKKyAgICAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUYWcKKyAgICA+CitzdHJ1Y3QgbGFtYmRhPAorICAgICAgICAgIEY8IFQxLFQyLFQzLFQ0ID4KKyAgICAgICAgLCBUYWcKKyAgICAgICAgLCBpbnRfPDQ+CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIGxhbWJkYTwgVDEsVGFnID4gbDE7CisgICAgdHlwZWRlZiBsYW1iZGE8IFQyLFRhZyA+IGwyOworICAgIHR5cGVkZWYgbGFtYmRhPCBUMyxUYWcgPiBsMzsKKyAgICB0eXBlZGVmIGxhbWJkYTwgVDQsVGFnID4gbDQ7CisgICAgCisgICAgdHlwZWRlZiB0eXBlbmFtZSBsMTo6aXNfbGUgaXNfbGUxOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbDI6OmlzX2xlIGlzX2xlMjsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGwzOjppc19sZSBpc19sZTM7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsNDo6aXNfbGUgaXNfbGU0OworICAgIAorCisgICAgdHlwZWRlZiB0eXBlbmFtZSBhdXg6OmxhbWJkYV9vcjwKKyAgICAgICAgICBpc19sZTE6OnZhbHVlLCBpc19sZTI6OnZhbHVlLCBpc19sZTM6OnZhbHVlLCBpc19sZTQ6OnZhbHVlCisgICAgICAgID46OnR5cGUgaXNfbGU7CisKKyAgICB0eXBlZGVmIGF1eDo6bGVfcmVzdWx0NDwKKyAgICAgICAgICBpc19sZSwgVGFnLCBGLCBsMSwgbDIsIGwzLCBsNAorICAgICAgICA+IGxlX3Jlc3VsdF87CisKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxlX3Jlc3VsdF86OnJlc3VsdF8gcmVzdWx0XzsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxlX3Jlc3VsdF86OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFRhZworICAgID4KK3N0cnVjdCBsYW1iZGE8CisgICAgICAgICAgYmluZDQ8IEYsVDEsVDIsVDMsVDQgPgorICAgICAgICAsIFRhZworICAgICAgICAsIGludF88NT4KKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgZmFsc2VfIGlzX2xlOworICAgIHR5cGVkZWYgYmluZDQ8CisgICAgICAgICAgRgorICAgICAgICAsIFQxLCBUMiwgVDMsIFQ0CisgICAgICAgID4gcmVzdWx0XzsKKworICAgIHR5cGVkZWYgcmVzdWx0XyB0eXBlOworfTsKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgSXNMRSwgdHlwZW5hbWUgVGFnCisgICAgLCB0ZW1wbGF0ZTwgdHlwZW5hbWUgUDEsIHR5cGVuYW1lIFAyLCB0eXBlbmFtZSBQMywgdHlwZW5hbWUgUDQsIHR5cGVuYW1lIFA1ID4gY2xhc3MgRgorICAgICwgdHlwZW5hbWUgTDEsIHR5cGVuYW1lIEwyLCB0eXBlbmFtZSBMMywgdHlwZW5hbWUgTDQsIHR5cGVuYW1lIEw1CisgICAgPgorc3RydWN0IGxlX3Jlc3VsdDUKK3sKKyAgICB0eXBlZGVmIEY8CisgICAgICAgICAgdHlwZW5hbWUgTDE6OnR5cGUsIHR5cGVuYW1lIEwyOjp0eXBlLCB0eXBlbmFtZSBMMzo6dHlwZQorICAgICAgICAsIHR5cGVuYW1lIEw0Ojp0eXBlLCB0eXBlbmFtZSBMNTo6dHlwZQorICAgICAgICA+IHJlc3VsdF87CisKKyAgICB0eXBlZGVmIHJlc3VsdF8gdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVGFnCisgICAgLCB0ZW1wbGF0ZTwgdHlwZW5hbWUgUDEsIHR5cGVuYW1lIFAyLCB0eXBlbmFtZSBQMywgdHlwZW5hbWUgUDQsIHR5cGVuYW1lIFA1ID4gY2xhc3MgRgorICAgICwgdHlwZW5hbWUgTDEsIHR5cGVuYW1lIEwyLCB0eXBlbmFtZSBMMywgdHlwZW5hbWUgTDQsIHR5cGVuYW1lIEw1CisgICAgPgorc3RydWN0IGxlX3Jlc3VsdDU8IHRydWVfLFRhZyxGLEwxLEwyLEwzLEw0LEw1ID4KK3sKKyAgICB0eXBlZGVmIGJpbmQ1PAorICAgICAgICAgIHF1b3RlNTwgRixUYWcgPgorICAgICAgICAsIHR5cGVuYW1lIEwxOjpyZXN1bHRfLCB0eXBlbmFtZSBMMjo6cmVzdWx0XywgdHlwZW5hbWUgTDM6OnJlc3VsdF8KKyAgICAgICAgLCB0eXBlbmFtZSBMNDo6cmVzdWx0XywgdHlwZW5hbWUgTDU6OnJlc3VsdF8KKyAgICAgICAgPiByZXN1bHRfOworCisgICAgdHlwZWRlZiBtcGw6OnByb3RlY3Q8cmVzdWx0Xz4gdHlwZTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCit0ZW1wbGF0ZTwKKyAgICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFAxLCB0eXBlbmFtZSBQMiwgdHlwZW5hbWUgUDMsIHR5cGVuYW1lIFA0CisgICAgICAgICwgdHlwZW5hbWUgUDUKKyAgICAgICAgPgorICAgICAgY2xhc3MgRgorICAgICwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQsIHR5cGVuYW1lIFQ1CisgICAgLCB0eXBlbmFtZSBUYWcKKyAgICA+CitzdHJ1Y3QgbGFtYmRhPAorICAgICAgICAgIEY8IFQxLFQyLFQzLFQ0LFQ1ID4KKyAgICAgICAgLCBUYWcKKyAgICAgICAgLCBpbnRfPDU+CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIGxhbWJkYTwgVDEsVGFnID4gbDE7CisgICAgdHlwZWRlZiBsYW1iZGE8IFQyLFRhZyA+IGwyOworICAgIHR5cGVkZWYgbGFtYmRhPCBUMyxUYWcgPiBsMzsKKyAgICB0eXBlZGVmIGxhbWJkYTwgVDQsVGFnID4gbDQ7CisgICAgdHlwZWRlZiBsYW1iZGE8IFQ1LFRhZyA+IGw1OworICAgIAorICAgIHR5cGVkZWYgdHlwZW5hbWUgbDE6OmlzX2xlIGlzX2xlMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGwyOjppc19sZSBpc19sZTI7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsMzo6aXNfbGUgaXNfbGUzOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbDQ6OmlzX2xlIGlzX2xlNDsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGw1Ojppc19sZSBpc19sZTU7CisgICAgCisKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGF1eDo6bGFtYmRhX29yPAorICAgICAgICAgIGlzX2xlMTo6dmFsdWUsIGlzX2xlMjo6dmFsdWUsIGlzX2xlMzo6dmFsdWUsIGlzX2xlNDo6dmFsdWUKKyAgICAgICAgLCBpc19sZTU6OnZhbHVlCisgICAgICAgID46OnR5cGUgaXNfbGU7CisKKyAgICB0eXBlZGVmIGF1eDo6bGVfcmVzdWx0NTwKKyAgICAgICAgICBpc19sZSwgVGFnLCBGLCBsMSwgbDIsIGwzLCBsNCwgbDUKKyAgICAgICAgPiBsZV9yZXN1bHRfOworCisgICAgdHlwZWRlZiB0eXBlbmFtZSBsZV9yZXN1bHRfOjpyZXN1bHRfIHJlc3VsdF87CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsZV9yZXN1bHRfOjp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNQorICAgICwgdHlwZW5hbWUgVGFnCisgICAgPgorc3RydWN0IGxhbWJkYTwKKyAgICAgICAgICBiaW5kNTwgRixUMSxUMixUMyxUNCxUNSA+CisgICAgICAgICwgVGFnCisgICAgICAgICwgaW50Xzw2PgorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiBmYWxzZV8gaXNfbGU7CisgICAgdHlwZWRlZiBiaW5kNTwKKyAgICAgICAgICBGCisgICAgICAgICwgVDEsIFQyLCBUMywgVDQsIFQ1CisgICAgICAgID4gcmVzdWx0XzsKKworICAgIHR5cGVkZWYgcmVzdWx0XyB0eXBlOworfTsKKworLy8vIHNwZWNpYWwgY2FzZSBmb3IgJ3Byb3RlY3QnCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVCwgdHlwZW5hbWUgVGFnID4KK3N0cnVjdCBsYW1iZGE8IG1wbDo6cHJvdGVjdDxUPixUYWcsIGludF88MT4gPgoreworICAgIHR5cGVkZWYgZmFsc2VfIGlzX2xlOworICAgIHR5cGVkZWYgbXBsOjpwcm90ZWN0PFQ+IHJlc3VsdF87CisgICAgdHlwZWRlZiByZXN1bHRfIHR5cGU7Cit9OworCisvLy8gc3BlY2lhbGl6YXRpb25zIGZvciB0aGUgbWFpbiAnYmluZCcgZm9ybQorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNQorICAgICwgdHlwZW5hbWUgVGFnCisgICAgPgorc3RydWN0IGxhbWJkYTwKKyAgICAgICAgICBiaW5kPCBGLFQxLFQyLFQzLFQ0LFQ1ID4KKyAgICAgICAgLCBUYWcKKyAgICAgICAgLCBpbnRfPDY+CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIGZhbHNlXyBpc19sZTsKKyAgICB0eXBlZGVmIGJpbmQ8IEYsVDEsVDIsVDMsVDQsVDUgPiByZXN1bHRfOworICAgIHR5cGVkZWYgcmVzdWx0XyB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGCisgICAgLCB0eXBlbmFtZSBUYWcxCisgICAgLCB0eXBlbmFtZSBUYWcyCisgICAgLCB0eXBlbmFtZSBBcml0eQorICAgID4KK3N0cnVjdCBsYW1iZGE8CisgICAgICAgICAgbGFtYmRhPCBGLFRhZzEsQXJpdHkgPgorICAgICAgICAsIFRhZzIKKyAgICAgICAgLCBpbnRfPDM+CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIGxhbWJkYTwgRixUYWcyID4gbDE7CisgICAgdHlwZWRlZiBsYW1iZGE8IFRhZzEsVGFnMiA+IGwyOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbDE6OmlzX2xlIGlzX2xlOworICAgIHR5cGVkZWYgYmluZDE8IHF1b3RlMTxhdXg6OnRlbXBsYXRlX2FyaXR5PiwgdHlwZW5hbWUgbDE6OnJlc3VsdF8gPiBhcml0eV87CisgICAgdHlwZWRlZiBsYW1iZGE8IHR5cGVuYW1lIGlmXzwgaXNfbGUsYXJpdHlfLEFyaXR5ID46OnR5cGUsIFRhZzIgPiBsMzsKKyAgICB0eXBlZGVmIGF1eDo6bGVfcmVzdWx0Mzxpc19sZSwgVGFnMiwgbXBsOjpsYW1iZGEsIGwxLCBsMiwgbDM+IGxlX3Jlc3VsdF87CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsZV9yZXN1bHRfOjpyZXN1bHRfIHJlc3VsdF87CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsZV9yZXN1bHRfOjp0eXBlIHR5cGU7Cit9OworCitCT09TVF9NUExfQVVYX05BX1NQRUMyKDIsIDMsIGxhbWJkYSkKKworfX0KKwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjYzU1MS9ncmVhdGVyLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2M1NTEvZ3JlYXRlci5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTA1ZmEzYwotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2M1NTEvZ3JlYXRlci5ocHAKQEAgLTAsMCArMSw5NCBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvZ3JlYXRlci5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUYWcxCisgICAgLCB0eXBlbmFtZSBUYWcyCisgICAgPgorc3RydWN0IGdyZWF0ZXJfaW1wbAorICAgIDogaWZfYzwKKyAgICAgICAgICAoIEJPT1NUX01QTF9BVVhfTkVTVEVEX1ZBTFVFX1dLTkQoaW50LCBUYWcxKQorICAgICAgICAgICAgICA+IEJPT1NUX01QTF9BVVhfTkVTVEVEX1ZBTFVFX1dLTkQoaW50LCBUYWcyKQorICAgICAgICAgICAgKQorCisgICAgICAgICwgYXV4OjpjYXN0Mm5kX2ltcGw8IGdyZWF0ZXJfaW1wbDwgVGFnMSxUYWcxID4sVGFnMSwgVGFnMiA+CisgICAgICAgICwgYXV4OjpjYXN0MXN0X2ltcGw8IGdyZWF0ZXJfaW1wbDwgVGFnMixUYWcyID4sVGFnMSwgVGFnMiA+CisgICAgICAgID46OnR5cGUKK3sKK307CisKKy8vLyBmb3IgRGlnaXRhbCBNYXJzIEMrKy9jb21waWxlcnMgd2l0aCBubyBDVFBTL1RUUCBzdXBwb3J0Cit0ZW1wbGF0ZTw+IHN0cnVjdCBncmVhdGVyX2ltcGw8IG5hLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVGFnID4gc3RydWN0IGdyZWF0ZXJfaW1wbDwgbmEsVGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVGFnID4gc3RydWN0IGdyZWF0ZXJfaW1wbDwgVGFnLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVCA+IHN0cnVjdCBncmVhdGVyX3RhZworeworICAgIHR5cGVkZWYgdHlwZW5hbWUgVDo6dGFnIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjEpCisgICAgLCB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4yKQorICAgID4KK3N0cnVjdCBncmVhdGVyCisKKyAgICA6IGdyZWF0ZXJfaW1wbDwKKyAgICAgICAgICB0eXBlbmFtZSBncmVhdGVyX3RhZzxOMT46OnR5cGUKKyAgICAgICAgLCB0eXBlbmFtZSBncmVhdGVyX3RhZzxOMj46OnR5cGUKKyAgICAgICAgPjo6dGVtcGxhdGUgYXBwbHk8IE4xLE4yID46OnR5cGUKK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKDIsIGdyZWF0ZXIsIChOMSwgTjIpKQorCit9OworCitCT09TVF9NUExfQVVYX05BX1NQRUMyKDIsIDIsIGdyZWF0ZXIpCisKK319CisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgZ3JlYXRlcl9pbXBsPCBpbnRlZ3JhbF9jX3RhZyxpbnRlZ3JhbF9jX3RhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIE4xLCB0eXBlbmFtZSBOMiA+IHN0cnVjdCBhcHBseQorCisgICAgICAgIDogYm9vbF88ICggQk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4xKTo6dmFsdWUgPiBCT09TVF9NUExfQVVYX1ZBTFVFX1dLTkQoTjIpOjp2YWx1ZSApID4KKyAgICB7CisgICAgfTsKK307CisKK319CmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjNTUxL2dyZWF0ZXJfZXF1YWwuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjYzU1MS9ncmVhdGVyX2VxdWFsLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mODlhNTg3Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjYzU1MS9ncmVhdGVyX2VxdWFsLmhwcApAQCAtMCwwICsxLDk0IEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9ncmVhdGVyX2VxdWFsLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFRhZzEKKyAgICAsIHR5cGVuYW1lIFRhZzIKKyAgICA+CitzdHJ1Y3QgZ3JlYXRlcl9lcXVhbF9pbXBsCisgICAgOiBpZl9jPAorICAgICAgICAgICggQk9PU1RfTVBMX0FVWF9ORVNURURfVkFMVUVfV0tORChpbnQsIFRhZzEpCisgICAgICAgICAgICAgID4gQk9PU1RfTVBMX0FVWF9ORVNURURfVkFMVUVfV0tORChpbnQsIFRhZzIpCisgICAgICAgICAgICApCisKKyAgICAgICAgLCBhdXg6OmNhc3QybmRfaW1wbDwgZ3JlYXRlcl9lcXVhbF9pbXBsPCBUYWcxLFRhZzEgPixUYWcxLCBUYWcyID4KKyAgICAgICAgLCBhdXg6OmNhc3Qxc3RfaW1wbDwgZ3JlYXRlcl9lcXVhbF9pbXBsPCBUYWcyLFRhZzIgPixUYWcxLCBUYWcyID4KKyAgICAgICAgPjo6dHlwZQoreworfTsKKworLy8vIGZvciBEaWdpdGFsIE1hcnMgQysrL2NvbXBpbGVycyB3aXRoIG5vIENUUFMvVFRQIHN1cHBvcnQKK3RlbXBsYXRlPD4gc3RydWN0IGdyZWF0ZXJfZXF1YWxfaW1wbDwgbmEsbmEgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUYWcgPiBzdHJ1Y3QgZ3JlYXRlcl9lcXVhbF9pbXBsPCBuYSxUYWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUYWcgPiBzdHJ1Y3QgZ3JlYXRlcl9lcXVhbF9pbXBsPCBUYWcsbmEgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUID4gc3RydWN0IGdyZWF0ZXJfZXF1YWxfdGFnCit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBUOjp0YWcgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMSkKKyAgICAsIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjIpCisgICAgPgorc3RydWN0IGdyZWF0ZXJfZXF1YWwKKworICAgIDogZ3JlYXRlcl9lcXVhbF9pbXBsPAorICAgICAgICAgIHR5cGVuYW1lIGdyZWF0ZXJfZXF1YWxfdGFnPE4xPjo6dHlwZQorICAgICAgICAsIHR5cGVuYW1lIGdyZWF0ZXJfZXF1YWxfdGFnPE4yPjo6dHlwZQorICAgICAgICA+Ojp0ZW1wbGF0ZSBhcHBseTwgTjEsTjIgPjo6dHlwZQoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoMiwgZ3JlYXRlcl9lcXVhbCwgKE4xLCBOMikpCisKK307CisKK0JPT1NUX01QTF9BVVhfTkFfU1BFQzIoMiwgMiwgZ3JlYXRlcl9lcXVhbCkKKworfX0KKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBncmVhdGVyX2VxdWFsX2ltcGw8IGludGVncmFsX2NfdGFnLGludGVncmFsX2NfdGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgTjEsIHR5cGVuYW1lIE4yID4gc3RydWN0IGFwcGx5CisKKyAgICAgICAgOiBib29sXzwgKCBCT09TVF9NUExfQVVYX1ZBTFVFX1dLTkQoTjEpOjp2YWx1ZSA+PSBCT09TVF9NUExfQVVYX1ZBTFVFX1dLTkQoTjIpOjp2YWx1ZSApID4KKyAgICB7CisgICAgfTsKK307CisKK319CmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjNTUxL2luaGVyaXQuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjYzU1MS9pbmhlcml0LmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MWYzODdmCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjYzU1MS9pbmhlcml0LmhwcApAQCAtMCwwICsxLDE0MSBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAxLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvaW5oZXJpdC5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKFQxKQorICAgICwgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShUMikKKyAgICA+CitzdHJ1Y3QgaW5oZXJpdDIKKyAgICA6IFQxLCBUMgoreworICAgIHR5cGVkZWYgaW5oZXJpdDIgdHlwZTsKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKDIsIGluaGVyaXQyLCAoVDEsIFQyKSkKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUMSA+CitzdHJ1Y3QgaW5oZXJpdDI8IFQxLGVtcHR5X2Jhc2UgPgoreworICAgIHR5cGVkZWYgVDEgdHlwZTsKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUX1NQRUMoMiwgaW5oZXJpdDIsIChUMSwgZW1wdHlfYmFzZSkpCit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVDIgPgorc3RydWN0IGluaGVyaXQyPCBlbXB0eV9iYXNlLFQyID4KK3sKKyAgICB0eXBlZGVmIFQyIHR5cGU7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVF9TUEVDKDIsIGluaGVyaXQyLCAoZW1wdHlfYmFzZSwgVDIpKQorfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGluaGVyaXQyPCBlbXB0eV9iYXNlLGVtcHR5X2Jhc2UgPgoreworICAgIHR5cGVkZWYgZW1wdHlfYmFzZSB0eXBlOworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlRfU1BFQygyLCBpbmhlcml0MiwgKGVtcHR5X2Jhc2UsIGVtcHR5X2Jhc2UpKQorfTsKKworQk9PU1RfTVBMX0FVWF9OQV9TUEVDKDIsIGluaGVyaXQyKQorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQxID0gbmEsIHR5cGVuYW1lIFQyID0gbmEsIHR5cGVuYW1lIFQzID0gbmEKKyAgICA+CitzdHJ1Y3QgaW5oZXJpdDMKKyAgICA6IGluaGVyaXQyPAorICAgICAgICAgIHR5cGVuYW1lIGluaGVyaXQyPAorICAgICAgICAgICAgICBUMSwgVDIKKyAgICAgICAgICAgID46OnR5cGUKKyAgICAgICAgLCBUMworICAgICAgICA+Cit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgKKyAgICAgICAgICAzCisgICAgICAgICwgaW5oZXJpdDMKKyAgICAgICAgLCAoIFQxLCBUMiwgVDMpCisgICAgICAgICkKK307CisKK0JPT1NUX01QTF9BVVhfTkFfU1BFQygzLCBpbmhlcml0MykKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMSA9IG5hLCB0eXBlbmFtZSBUMiA9IG5hLCB0eXBlbmFtZSBUMyA9IG5hLCB0eXBlbmFtZSBUNCA9IG5hCisgICAgPgorc3RydWN0IGluaGVyaXQ0CisgICAgOiBpbmhlcml0MjwKKyAgICAgICAgICB0eXBlbmFtZSBpbmhlcml0MzwKKyAgICAgICAgICAgICAgVDEsIFQyLCBUMworICAgICAgICAgICAgPjo6dHlwZQorICAgICAgICAsIFQ0CisgICAgICAgID4KK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKAorICAgICAgICAgIDQKKyAgICAgICAgLCBpbmhlcml0NAorICAgICAgICAsICggVDEsIFQyLCBUMywgVDQpCisgICAgICAgICkKK307CisKK0JPT1NUX01QTF9BVVhfTkFfU1BFQyg0LCBpbmhlcml0NCkKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMSA9IG5hLCB0eXBlbmFtZSBUMiA9IG5hLCB0eXBlbmFtZSBUMyA9IG5hLCB0eXBlbmFtZSBUNCA9IG5hCisgICAgLCB0eXBlbmFtZSBUNSA9IG5hCisgICAgPgorc3RydWN0IGluaGVyaXQ1CisgICAgOiBpbmhlcml0MjwKKyAgICAgICAgICB0eXBlbmFtZSBpbmhlcml0NDwKKyAgICAgICAgICAgICAgVDEsIFQyLCBUMywgVDQKKyAgICAgICAgICAgID46OnR5cGUKKyAgICAgICAgLCBUNQorICAgICAgICA+Cit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgKKyAgICAgICAgICA1CisgICAgICAgICwgaW5oZXJpdDUKKyAgICAgICAgLCAoIFQxLCBUMiwgVDMsIFQ0LCBUNSkKKyAgICAgICAgKQorfTsKKworQk9PU1RfTVBMX0FVWF9OQV9TUEVDKDUsIGluaGVyaXQ1KQorCisvLy8gcHJpbWFyeSB0ZW1wbGF0ZQorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQxID0gZW1wdHlfYmFzZSwgdHlwZW5hbWUgVDIgPSBlbXB0eV9iYXNlCisgICAgLCB0eXBlbmFtZSBUMyA9IGVtcHR5X2Jhc2UsIHR5cGVuYW1lIFQ0ID0gZW1wdHlfYmFzZQorICAgICwgdHlwZW5hbWUgVDUgPSBlbXB0eV9iYXNlCisgICAgPgorc3RydWN0IGluaGVyaXQKKyAgICA6IGluaGVyaXQ1PCBUMSxUMixUMyxUNCxUNSA+Cit7Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgaW5oZXJpdDwgbmEsbmEsbmEsbmEsbmEgPgoreworICAgIHRlbXBsYXRlPAorCisgICAgICAgICAgdHlwZW5hbWUgVDEgPSBlbXB0eV9iYXNlLCB0eXBlbmFtZSBUMiA9IGVtcHR5X2Jhc2UKKyAgICAgICAgLCB0eXBlbmFtZSBUMyA9IGVtcHR5X2Jhc2UsIHR5cGVuYW1lIFQ0ID0gZW1wdHlfYmFzZQorICAgICAgICAsIHR5cGVuYW1lIFQ1ID0gZW1wdHlfYmFzZQorCisgICAgICAgID4KKyAgICBzdHJ1Y3QgYXBwbHkKKyAgICAgICAgOiBpbmhlcml0PCBUMSxUMixUMyxUNCxUNSA+CisgICAgeworICAgIH07Cit9OworCitCT09TVF9NUExfQVVYX05BX1NQRUNfTEFNQkRBKDUsIGluaGVyaXQpCitCT09TVF9NUExfQVVYX05BX1NQRUNfQVJJVFkoNSwgaW5oZXJpdCkKK0JPT1NUX01QTF9BVVhfTkFfU1BFQ19URU1QTEFURV9BUklUWSg1LCA1LCBpbmhlcml0KQorfX0KKwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjYzU1MS9pdGVyX2ZvbGRfaWZfaW1wbC5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjNTUxL2l0ZXJfZm9sZF9pZl9pbXBsLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMGEyODY0Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjYzU1MS9pdGVyX2ZvbGRfaWZfaW1wbC5ocHAKQEAgLTAsMCArMSwxMzMgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMS0yMDA0CisvLyBDb3B5cmlnaHQgRGF2aWQgQWJyYWhhbXMgMjAwMS0yMDAyCisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL2F1eF8vaXRlcl9mb2xkX2lmX2ltcGwuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7IG5hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgSXRlcmF0b3IsIHR5cGVuYW1lIFN0YXRlID4KK3N0cnVjdCBpdGVyX2ZvbGRfaWZfbnVsbF9zdGVwCit7CisgICAgdHlwZWRlZiBTdGF0ZSBzdGF0ZTsKKyAgICB0eXBlZGVmIEl0ZXJhdG9yIGl0ZXJhdG9yOworfTsKKwordGVtcGxhdGU8IGJvb2wgPgorc3RydWN0IGl0ZXJfZm9sZF9pZl9zdGVwX2ltcGwKK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBJdGVyYXRvcgorICAgICAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgICAgICwgdHlwZW5hbWUgU3RhdGVPcAorICAgICAgICAsIHR5cGVuYW1lIEl0ZXJhdG9yT3AKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgU3RhdGVPcCxTdGF0ZSxJdGVyYXRvciA+Ojp0eXBlIHN0YXRlOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIEl0ZXJhdG9yT3A6OnR5cGUgaXRlcmF0b3I7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBpdGVyX2ZvbGRfaWZfc3RlcF9pbXBsPGZhbHNlPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIEl0ZXJhdG9yCisgICAgICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAgICAgLCB0eXBlbmFtZSBTdGF0ZU9wCisgICAgICAgICwgdHlwZW5hbWUgSXRlcmF0b3JPcAorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgU3RhdGUgc3RhdGU7CisgICAgICAgIHR5cGVkZWYgSXRlcmF0b3IgaXRlcmF0b3I7CisgICAgfTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgSXRlcmF0b3IKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICAsIHR5cGVuYW1lIFByZWRpY2F0ZQorICAgID4KK3N0cnVjdCBpdGVyX2ZvbGRfaWZfZm9yd2FyZF9zdGVwCit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IFByZWRpY2F0ZSxTdGF0ZSxJdGVyYXRvciA+Ojp0eXBlIG5vdF9sYXN0OworICAgIHR5cGVkZWYgdHlwZW5hbWUgaXRlcl9mb2xkX2lmX3N0ZXBfaW1wbDwKKyAgICAgICAgICBCT09TVF9NUExfQVVYX01TVkNfVkFMVUVfV0tORChub3RfbGFzdCk6OnZhbHVlCisgICAgICAgID46OnRlbXBsYXRlIHJlc3VsdF88IEl0ZXJhdG9yLFN0YXRlLEZvcndhcmRPcCwgbXBsOjpuZXh0PEl0ZXJhdG9yPiA+IGltcGxfOworCisgICAgdHlwZWRlZiB0eXBlbmFtZSBpbXBsXzo6c3RhdGUgc3RhdGU7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBpbXBsXzo6aXRlcmF0b3IgaXRlcmF0b3I7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEl0ZXJhdG9yCisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICwgdHlwZW5hbWUgQmFja3dhcmRPcAorICAgICwgdHlwZW5hbWUgUHJlZGljYXRlCisgICAgPgorc3RydWN0IGl0ZXJfZm9sZF9pZl9iYWNrd2FyZF9zdGVwCit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IFByZWRpY2F0ZSxTdGF0ZSxJdGVyYXRvciA+Ojp0eXBlIG5vdF9sYXN0OworICAgIHR5cGVkZWYgdHlwZW5hbWUgaXRlcl9mb2xkX2lmX3N0ZXBfaW1wbDwKKyAgICAgICAgICBCT09TVF9NUExfQVVYX01TVkNfVkFMVUVfV0tORChub3RfbGFzdCk6OnZhbHVlCisgICAgICAgID46OnRlbXBsYXRlIHJlc3VsdF88IEl0ZXJhdG9yLFN0YXRlLEJhY2t3YXJkT3AsIGlkZW50aXR5PEl0ZXJhdG9yPiA+IGltcGxfOworCisgICAgdHlwZWRlZiB0eXBlbmFtZSBpbXBsXzo6c3RhdGUgc3RhdGU7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBpbXBsXzo6aXRlcmF0b3IgaXRlcmF0b3I7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEl0ZXJhdG9yCisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkUHJlZGljYXRlCisgICAgLCB0eXBlbmFtZSBCYWNrd2FyZE9wCisgICAgLCB0eXBlbmFtZSBCYWNrd2FyZFByZWRpY2F0ZQorICAgID4KK3N0cnVjdCBpdGVyX2ZvbGRfaWZfaW1wbAoreworIHByaXZhdGU6CisgICAgdHlwZWRlZiBpdGVyX2ZvbGRfaWZfbnVsbF9zdGVwPCBJdGVyYXRvcixTdGF0ZSA+IGZvcndhcmRfc3RlcDA7CisgICAgdHlwZWRlZiBpdGVyX2ZvbGRfaWZfZm9yd2FyZF9zdGVwPCB0eXBlbmFtZSBmb3J3YXJkX3N0ZXAwOjppdGVyYXRvciwgdHlwZW5hbWUgZm9yd2FyZF9zdGVwMDo6c3RhdGUsIEZvcndhcmRPcCwgRm9yd2FyZFByZWRpY2F0ZSA+IGZvcndhcmRfc3RlcDE7CisgICAgdHlwZWRlZiBpdGVyX2ZvbGRfaWZfZm9yd2FyZF9zdGVwPCB0eXBlbmFtZSBmb3J3YXJkX3N0ZXAxOjppdGVyYXRvciwgdHlwZW5hbWUgZm9yd2FyZF9zdGVwMTo6c3RhdGUsIEZvcndhcmRPcCwgRm9yd2FyZFByZWRpY2F0ZSA+IGZvcndhcmRfc3RlcDI7CisgICAgdHlwZWRlZiBpdGVyX2ZvbGRfaWZfZm9yd2FyZF9zdGVwPCB0eXBlbmFtZSBmb3J3YXJkX3N0ZXAyOjppdGVyYXRvciwgdHlwZW5hbWUgZm9yd2FyZF9zdGVwMjo6c3RhdGUsIEZvcndhcmRPcCwgRm9yd2FyZFByZWRpY2F0ZSA+IGZvcndhcmRfc3RlcDM7CisgICAgdHlwZWRlZiBpdGVyX2ZvbGRfaWZfZm9yd2FyZF9zdGVwPCB0eXBlbmFtZSBmb3J3YXJkX3N0ZXAzOjppdGVyYXRvciwgdHlwZW5hbWUgZm9yd2FyZF9zdGVwMzo6c3RhdGUsIEZvcndhcmRPcCwgRm9yd2FyZFByZWRpY2F0ZSA+IGZvcndhcmRfc3RlcDQ7CisgICAgCisKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGlmXzwKKyAgICAgICAgICB0eXBlbmFtZSBmb3J3YXJkX3N0ZXA0Ojpub3RfbGFzdAorICAgICAgICAsIGl0ZXJfZm9sZF9pZl9pbXBsPAorICAgICAgICAgICAgICB0eXBlbmFtZSBmb3J3YXJkX3N0ZXA0OjppdGVyYXRvcgorICAgICAgICAgICAgLCB0eXBlbmFtZSBmb3J3YXJkX3N0ZXA0OjpzdGF0ZQorICAgICAgICAgICAgLCBGb3J3YXJkT3AKKyAgICAgICAgICAgICwgRm9yd2FyZFByZWRpY2F0ZQorICAgICAgICAgICAgLCBCYWNrd2FyZE9wCisgICAgICAgICAgICAsIEJhY2t3YXJkUHJlZGljYXRlCisgICAgICAgICAgICA+CisgICAgICAgICwgaXRlcl9mb2xkX2lmX251bGxfc3RlcDwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgZm9yd2FyZF9zdGVwNDo6aXRlcmF0b3IKKyAgICAgICAgICAgICwgdHlwZW5hbWUgZm9yd2FyZF9zdGVwNDo6c3RhdGUKKyAgICAgICAgICAgID4KKyAgICAgICAgPjo6dHlwZSBiYWNrd2FyZF9zdGVwNDsKKworICAgIHR5cGVkZWYgaXRlcl9mb2xkX2lmX2JhY2t3YXJkX3N0ZXA8IHR5cGVuYW1lIGZvcndhcmRfc3RlcDM6Oml0ZXJhdG9yLCB0eXBlbmFtZSBiYWNrd2FyZF9zdGVwNDo6c3RhdGUsIEJhY2t3YXJkT3AsIEJhY2t3YXJkUHJlZGljYXRlID4gYmFja3dhcmRfc3RlcDM7CisgICAgdHlwZWRlZiBpdGVyX2ZvbGRfaWZfYmFja3dhcmRfc3RlcDwgdHlwZW5hbWUgZm9yd2FyZF9zdGVwMjo6aXRlcmF0b3IsIHR5cGVuYW1lIGJhY2t3YXJkX3N0ZXAzOjpzdGF0ZSwgQmFja3dhcmRPcCwgQmFja3dhcmRQcmVkaWNhdGUgPiBiYWNrd2FyZF9zdGVwMjsKKyAgICB0eXBlZGVmIGl0ZXJfZm9sZF9pZl9iYWNrd2FyZF9zdGVwPCB0eXBlbmFtZSBmb3J3YXJkX3N0ZXAxOjppdGVyYXRvciwgdHlwZW5hbWUgYmFja3dhcmRfc3RlcDI6OnN0YXRlLCBCYWNrd2FyZE9wLCBCYWNrd2FyZFByZWRpY2F0ZSA+IGJhY2t3YXJkX3N0ZXAxOworICAgIHR5cGVkZWYgaXRlcl9mb2xkX2lmX2JhY2t3YXJkX3N0ZXA8IHR5cGVuYW1lIGZvcndhcmRfc3RlcDA6Oml0ZXJhdG9yLCB0eXBlbmFtZSBiYWNrd2FyZF9zdGVwMTo6c3RhdGUsIEJhY2t3YXJkT3AsIEJhY2t3YXJkUHJlZGljYXRlID4gYmFja3dhcmRfc3RlcDA7CisgICAgCisKKyBwdWJsaWM6CisgICAgdHlwZWRlZiB0eXBlbmFtZSBiYWNrd2FyZF9zdGVwMDo6c3RhdGUgc3RhdGU7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBiYWNrd2FyZF9zdGVwNDo6aXRlcmF0b3IgaXRlcmF0b3I7Cit9OworCit9fX0KZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2M1NTEvaXRlcl9mb2xkX2ltcGwuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjYzU1MS9pdGVyX2ZvbGRfaW1wbC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2MwOGIzMAotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2M1NTEvaXRlcl9mb2xkX2ltcGwuaHBwCkBAIC0wLDAgKzEsMTgwIEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9hdXhfL2l0ZXJfZm9sZF9pbXBsLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeyBuYW1lc3BhY2UgYXV4IHsKKworLy8vIGZvcndhcmQgZGVjbGFyYXRpb24KKwordGVtcGxhdGU8CisgICAgICBpbnQgTgorICAgICwgdHlwZW5hbWUgRmlyc3QKKyAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+CitzdHJ1Y3QgaXRlcl9mb2xkX2ltcGw7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+CitzdHJ1Y3QgaXRlcl9mb2xkX2ltcGw8IDAsRmlyc3QsTGFzdCxTdGF0ZSxGb3J3YXJkT3AgPgoreworICAgIHR5cGVkZWYgRmlyc3QgaXRlcjA7CisgICAgdHlwZWRlZiBTdGF0ZSBzdGF0ZTA7CisgICAgdHlwZWRlZiBzdGF0ZTAgc3RhdGU7CisgICAgdHlwZWRlZiBpdGVyMCBpdGVyYXRvcjsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+CitzdHJ1Y3QgaXRlcl9mb2xkX2ltcGw8IDEsRmlyc3QsTGFzdCxTdGF0ZSxGb3J3YXJkT3AgPgoreworICAgIHR5cGVkZWYgRmlyc3QgaXRlcjA7CisgICAgdHlwZWRlZiBTdGF0ZSBzdGF0ZTA7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCxzdGF0ZTAsaXRlcjAgPjo6dHlwZSBzdGF0ZTE7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjA+Ojp0eXBlIGl0ZXIxOworICAgIAorCisgICAgdHlwZWRlZiBzdGF0ZTEgc3RhdGU7CisgICAgdHlwZWRlZiBpdGVyMSBpdGVyYXRvcjsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+CitzdHJ1Y3QgaXRlcl9mb2xkX2ltcGw8IDIsRmlyc3QsTGFzdCxTdGF0ZSxGb3J3YXJkT3AgPgoreworICAgIHR5cGVkZWYgRmlyc3QgaXRlcjA7CisgICAgdHlwZWRlZiBTdGF0ZSBzdGF0ZTA7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCxzdGF0ZTAsaXRlcjAgPjo6dHlwZSBzdGF0ZTE7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjA+Ojp0eXBlIGl0ZXIxOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3Asc3RhdGUxLGl0ZXIxID46OnR5cGUgc3RhdGUyOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIxPjo6dHlwZSBpdGVyMjsKKyAgICAKKworICAgIHR5cGVkZWYgc3RhdGUyIHN0YXRlOworICAgIHR5cGVkZWYgaXRlcjIgaXRlcmF0b3I7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgPgorc3RydWN0IGl0ZXJfZm9sZF9pbXBsPCAzLEZpcnN0LExhc3QsU3RhdGUsRm9yd2FyZE9wID4KK3sKKyAgICB0eXBlZGVmIEZpcnN0IGl0ZXIwOworICAgIHR5cGVkZWYgU3RhdGUgc3RhdGUwOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3Asc3RhdGUwLGl0ZXIwID46OnR5cGUgc3RhdGUxOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIwPjo6dHlwZSBpdGVyMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLHN0YXRlMSxpdGVyMSA+Ojp0eXBlIHN0YXRlMjsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMT46OnR5cGUgaXRlcjI7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCxzdGF0ZTIsaXRlcjIgPjo6dHlwZSBzdGF0ZTM7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjI+Ojp0eXBlIGl0ZXIzOworICAgIAorCisgICAgdHlwZWRlZiBzdGF0ZTMgc3RhdGU7CisgICAgdHlwZWRlZiBpdGVyMyBpdGVyYXRvcjsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+CitzdHJ1Y3QgaXRlcl9mb2xkX2ltcGw8IDQsRmlyc3QsTGFzdCxTdGF0ZSxGb3J3YXJkT3AgPgoreworICAgIHR5cGVkZWYgRmlyc3QgaXRlcjA7CisgICAgdHlwZWRlZiBTdGF0ZSBzdGF0ZTA7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCxzdGF0ZTAsaXRlcjAgPjo6dHlwZSBzdGF0ZTE7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjA+Ojp0eXBlIGl0ZXIxOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3Asc3RhdGUxLGl0ZXIxID46OnR5cGUgc3RhdGUyOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIxPjo6dHlwZSBpdGVyMjsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLHN0YXRlMixpdGVyMiA+Ojp0eXBlIHN0YXRlMzsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMj46OnR5cGUgaXRlcjM7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCxzdGF0ZTMsaXRlcjMgPjo6dHlwZSBzdGF0ZTQ7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjM+Ojp0eXBlIGl0ZXI0OworICAgIAorCisgICAgdHlwZWRlZiBzdGF0ZTQgc3RhdGU7CisgICAgdHlwZWRlZiBpdGVyNCBpdGVyYXRvcjsKK307CisKK3RlbXBsYXRlPAorICAgICAgaW50IE4KKyAgICAsIHR5cGVuYW1lIEZpcnN0CisgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgPgorc3RydWN0IGl0ZXJfZm9sZF9pbXBsCit7CisgICAgdHlwZWRlZiBpdGVyX2ZvbGRfaW1wbDwKKyAgICAgICAgICA0CisgICAgICAgICwgRmlyc3QKKyAgICAgICAgLCBMYXN0CisgICAgICAgICwgU3RhdGUKKyAgICAgICAgLCBGb3J3YXJkT3AKKyAgICAgICAgPiBjaHVua187CisKKyAgICB0eXBlZGVmIGl0ZXJfZm9sZF9pbXBsPAorICAgICAgICAgICggKE4gLSA0KSA8IDAgPyAwIDogTiAtIDQgKQorICAgICAgICAsIHR5cGVuYW1lIGNodW5rXzo6aXRlcmF0b3IKKyAgICAgICAgLCBMYXN0CisgICAgICAgICwgdHlwZW5hbWUgY2h1bmtfOjpzdGF0ZQorICAgICAgICAsIEZvcndhcmRPcAorICAgICAgICA+IHJlc187CisKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHJlc186OnN0YXRlIHN0YXRlOworICAgIHR5cGVkZWYgdHlwZW5hbWUgcmVzXzo6aXRlcmF0b3IgaXRlcmF0b3I7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgPgorc3RydWN0IGl0ZXJfZm9sZF9pbXBsPCAtMSxGaXJzdCxMYXN0LFN0YXRlLEZvcndhcmRPcCA+CisgICAgOiBpdGVyX2ZvbGRfaW1wbDwKKyAgICAgICAgICAtMQorICAgICAgICAsIHR5cGVuYW1lIG1wbDo6bmV4dDxGaXJzdD46OnR5cGUKKyAgICAgICAgLCBMYXN0CisgICAgICAgICwgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsU3RhdGUsRmlyc3QgPjo6dHlwZQorICAgICAgICAsIEZvcndhcmRPcAorICAgICAgICA+Cit7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+CitzdHJ1Y3QgaXRlcl9mb2xkX2ltcGw8IC0xLExhc3QsTGFzdCxTdGF0ZSxGb3J3YXJkT3AgPgoreworICAgIHR5cGVkZWYgU3RhdGUgc3RhdGU7CisgICAgdHlwZWRlZiBMYXN0IGl0ZXJhdG9yOworfTsKKworfX19CmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjNTUxL2xhbWJkYV9ub19jdHBzLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2M1NTEvbGFtYmRhX25vX2N0cHMuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjViZmM2NjEKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjNTUxL2xhbWJkYV9ub19jdHBzLmhwcApAQCAtMCwwICsxLDIyOSBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvYXV4Xy9sYW1iZGFfbm9fY3Rwcy5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPAorICAgICAgYm9vbCBDMSA9IGZhbHNlLCBib29sIEMyID0gZmFsc2UsIGJvb2wgQzMgPSBmYWxzZSwgYm9vbCBDNCA9IGZhbHNlCisgICAgLCBib29sIEM1ID0gZmFsc2UKKyAgICA+CitzdHJ1Y3QgbGFtYmRhX29yCisgICAgOiB0cnVlXworeworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGxhbWJkYV9vcjwgZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UgPgorICAgIDogZmFsc2VfCit7Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgQXJpdHkgPiBzdHJ1Y3QgbGFtYmRhX2ltcGwKK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVCwgdHlwZW5hbWUgVGFnLCB0eXBlbmFtZSBQcm90ZWN0ID4gc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgVCB0eXBlOworICAgICAgICB0eXBlZGVmIGlzX3BsYWNlaG9sZGVyPFQ+IGlzX2xlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCBsYW1iZGFfaW1wbDwgaW50XzwxPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIEYsIHR5cGVuYW1lIFRhZywgdHlwZW5hbWUgUHJvdGVjdCA+IHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIGxhbWJkYTwgdHlwZW5hbWUgRjo6YXJnMSwgVGFnLCBmYWxzZV8gPiBsMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBsMTo6aXNfbGUgaXNfbGUxOworICAgICAgICB0eXBlZGVmIGF1eDo6bGFtYmRhX29yPAorICAgICAgICAgICAgICBCT09TVF9NUExfQVVYX01TVkNfVkFMVUVfV0tORChpc19sZTEpOjp2YWx1ZQorICAgICAgICAgICAgPiBpc19sZTsKKworICAgICAgICB0eXBlZGVmIGJpbmQxPAorICAgICAgICAgICAgICB0eXBlbmFtZSBGOjpyZWJpbmQKKyAgICAgICAgICAgICwgdHlwZW5hbWUgbDE6OnR5cGUKKyAgICAgICAgICAgID4gYmluZF87CisKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBpZl88CisgICAgICAgICAgICAgIGlzX2xlCisgICAgICAgICAgICAsIGlmXzwgUHJvdGVjdCwgbXBsOjpwcm90ZWN0PGJpbmRfPiwgYmluZF8gPgorICAgICAgICAgICAgLCBpZGVudGl0eTxGPgorICAgICAgICAgICAgPjo6dHlwZSB0eXBlXzsKKworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHR5cGVfOjp0eXBlIHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4gc3RydWN0IGxhbWJkYV9pbXBsPCBpbnRfPDI+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVGFnLCB0eXBlbmFtZSBQcm90ZWN0ID4gc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgbGFtYmRhPCB0eXBlbmFtZSBGOjphcmcxLCBUYWcsIGZhbHNlXyA+IGwxOworICAgICAgICB0eXBlZGVmIGxhbWJkYTwgdHlwZW5hbWUgRjo6YXJnMiwgVGFnLCBmYWxzZV8gPiBsMjsKKyAgICAgICAgCisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbDE6OmlzX2xlIGlzX2xlMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBsMjo6aXNfbGUgaXNfbGUyOworICAgICAgICAKKworICAgICAgICB0eXBlZGVmIGF1eDo6bGFtYmRhX29yPAorICAgICAgICAgICAgICBCT09TVF9NUExfQVVYX01TVkNfVkFMVUVfV0tORChpc19sZTEpOjp2YWx1ZSwgQk9PU1RfTVBMX0FVWF9NU1ZDX1ZBTFVFX1dLTkQoaXNfbGUyKTo6dmFsdWUKKyAgICAgICAgICAgID4gaXNfbGU7CisKKyAgICAgICAgdHlwZWRlZiBiaW5kMjwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgRjo6cmViaW5kCisgICAgICAgICAgICAsIHR5cGVuYW1lIGwxOjp0eXBlLCB0eXBlbmFtZSBsMjo6dHlwZQorICAgICAgICAgICAgPiBiaW5kXzsKKworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGlmXzwKKyAgICAgICAgICAgICAgaXNfbGUKKyAgICAgICAgICAgICwgaWZfPCBQcm90ZWN0LCBtcGw6OnByb3RlY3Q8YmluZF8+LCBiaW5kXyA+CisgICAgICAgICAgICAsIGlkZW50aXR5PEY+CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGVfOworCisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgdHlwZV86OnR5cGUgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgbGFtYmRhX2ltcGw8IGludF88Mz4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUYWcsIHR5cGVuYW1lIFByb3RlY3QgPiBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiBsYW1iZGE8IHR5cGVuYW1lIEY6OmFyZzEsIFRhZywgZmFsc2VfID4gbDE7CisgICAgICAgIHR5cGVkZWYgbGFtYmRhPCB0eXBlbmFtZSBGOjphcmcyLCBUYWcsIGZhbHNlXyA+IGwyOworICAgICAgICB0eXBlZGVmIGxhbWJkYTwgdHlwZW5hbWUgRjo6YXJnMywgVGFnLCBmYWxzZV8gPiBsMzsKKyAgICAgICAgCisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbDE6OmlzX2xlIGlzX2xlMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBsMjo6aXNfbGUgaXNfbGUyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGwzOjppc19sZSBpc19sZTM7CisgICAgICAgIAorCisgICAgICAgIHR5cGVkZWYgYXV4OjpsYW1iZGFfb3I8CisgICAgICAgICAgICAgIEJPT1NUX01QTF9BVVhfTVNWQ19WQUxVRV9XS05EKGlzX2xlMSk6OnZhbHVlLCBCT09TVF9NUExfQVVYX01TVkNfVkFMVUVfV0tORChpc19sZTIpOjp2YWx1ZSwgQk9PU1RfTVBMX0FVWF9NU1ZDX1ZBTFVFX1dLTkQoaXNfbGUzKTo6dmFsdWUKKyAgICAgICAgICAgID4gaXNfbGU7CisKKyAgICAgICAgdHlwZWRlZiBiaW5kMzwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgRjo6cmViaW5kCisgICAgICAgICAgICAsIHR5cGVuYW1lIGwxOjp0eXBlLCB0eXBlbmFtZSBsMjo6dHlwZSwgdHlwZW5hbWUgbDM6OnR5cGUKKyAgICAgICAgICAgID4gYmluZF87CisKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBpZl88CisgICAgICAgICAgICAgIGlzX2xlCisgICAgICAgICAgICAsIGlmXzwgUHJvdGVjdCwgbXBsOjpwcm90ZWN0PGJpbmRfPiwgYmluZF8gPgorICAgICAgICAgICAgLCBpZGVudGl0eTxGPgorICAgICAgICAgICAgPjo6dHlwZSB0eXBlXzsKKworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHR5cGVfOjp0eXBlIHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4gc3RydWN0IGxhbWJkYV9pbXBsPCBpbnRfPDQ+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVGFnLCB0eXBlbmFtZSBQcm90ZWN0ID4gc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgbGFtYmRhPCB0eXBlbmFtZSBGOjphcmcxLCBUYWcsIGZhbHNlXyA+IGwxOworICAgICAgICB0eXBlZGVmIGxhbWJkYTwgdHlwZW5hbWUgRjo6YXJnMiwgVGFnLCBmYWxzZV8gPiBsMjsKKyAgICAgICAgdHlwZWRlZiBsYW1iZGE8IHR5cGVuYW1lIEY6OmFyZzMsIFRhZywgZmFsc2VfID4gbDM7CisgICAgICAgIHR5cGVkZWYgbGFtYmRhPCB0eXBlbmFtZSBGOjphcmc0LCBUYWcsIGZhbHNlXyA+IGw0OworICAgICAgICAKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBsMTo6aXNfbGUgaXNfbGUxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGwyOjppc19sZSBpc19sZTI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbDM6OmlzX2xlIGlzX2xlMzsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBsNDo6aXNfbGUgaXNfbGU0OworICAgICAgICAKKworICAgICAgICB0eXBlZGVmIGF1eDo6bGFtYmRhX29yPAorICAgICAgICAgICAgICBCT09TVF9NUExfQVVYX01TVkNfVkFMVUVfV0tORChpc19sZTEpOjp2YWx1ZSwgQk9PU1RfTVBMX0FVWF9NU1ZDX1ZBTFVFX1dLTkQoaXNfbGUyKTo6dmFsdWUsIEJPT1NUX01QTF9BVVhfTVNWQ19WQUxVRV9XS05EKGlzX2xlMyk6OnZhbHVlLCBCT09TVF9NUExfQVVYX01TVkNfVkFMVUVfV0tORChpc19sZTQpOjp2YWx1ZQorICAgICAgICAgICAgPiBpc19sZTsKKworICAgICAgICB0eXBlZGVmIGJpbmQ0PAorICAgICAgICAgICAgICB0eXBlbmFtZSBGOjpyZWJpbmQKKyAgICAgICAgICAgICwgdHlwZW5hbWUgbDE6OnR5cGUsIHR5cGVuYW1lIGwyOjp0eXBlLCB0eXBlbmFtZSBsMzo6dHlwZQorICAgICAgICAgICAgLCB0eXBlbmFtZSBsNDo6dHlwZQorICAgICAgICAgICAgPiBiaW5kXzsKKworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGlmXzwKKyAgICAgICAgICAgICAgaXNfbGUKKyAgICAgICAgICAgICwgaWZfPCBQcm90ZWN0LCBtcGw6OnByb3RlY3Q8YmluZF8+LCBiaW5kXyA+CisgICAgICAgICAgICAsIGlkZW50aXR5PEY+CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGVfOworCisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgdHlwZV86OnR5cGUgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgbGFtYmRhX2ltcGw8IGludF88NT4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUYWcsIHR5cGVuYW1lIFByb3RlY3QgPiBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiBsYW1iZGE8IHR5cGVuYW1lIEY6OmFyZzEsIFRhZywgZmFsc2VfID4gbDE7CisgICAgICAgIHR5cGVkZWYgbGFtYmRhPCB0eXBlbmFtZSBGOjphcmcyLCBUYWcsIGZhbHNlXyA+IGwyOworICAgICAgICB0eXBlZGVmIGxhbWJkYTwgdHlwZW5hbWUgRjo6YXJnMywgVGFnLCBmYWxzZV8gPiBsMzsKKyAgICAgICAgdHlwZWRlZiBsYW1iZGE8IHR5cGVuYW1lIEY6OmFyZzQsIFRhZywgZmFsc2VfID4gbDQ7CisgICAgICAgIHR5cGVkZWYgbGFtYmRhPCB0eXBlbmFtZSBGOjphcmc1LCBUYWcsIGZhbHNlXyA+IGw1OworICAgICAgICAKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBsMTo6aXNfbGUgaXNfbGUxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGwyOjppc19sZSBpc19sZTI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbDM6OmlzX2xlIGlzX2xlMzsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBsNDo6aXNfbGUgaXNfbGU0OworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGw1Ojppc19sZSBpc19sZTU7CisgICAgICAgIAorCisgICAgICAgIHR5cGVkZWYgYXV4OjpsYW1iZGFfb3I8CisgICAgICAgICAgICAgIEJPT1NUX01QTF9BVVhfTVNWQ19WQUxVRV9XS05EKGlzX2xlMSk6OnZhbHVlLCBCT09TVF9NUExfQVVYX01TVkNfVkFMVUVfV0tORChpc19sZTIpOjp2YWx1ZSwgQk9PU1RfTVBMX0FVWF9NU1ZDX1ZBTFVFX1dLTkQoaXNfbGUzKTo6dmFsdWUsIEJPT1NUX01QTF9BVVhfTVNWQ19WQUxVRV9XS05EKGlzX2xlNCk6OnZhbHVlLCBCT09TVF9NUExfQVVYX01TVkNfVkFMVUVfV0tORChpc19sZTUpOjp2YWx1ZQorICAgICAgICAgICAgPiBpc19sZTsKKworICAgICAgICB0eXBlZGVmIGJpbmQ1PAorICAgICAgICAgICAgICB0eXBlbmFtZSBGOjpyZWJpbmQKKyAgICAgICAgICAgICwgdHlwZW5hbWUgbDE6OnR5cGUsIHR5cGVuYW1lIGwyOjp0eXBlLCB0eXBlbmFtZSBsMzo6dHlwZQorICAgICAgICAgICAgLCB0eXBlbmFtZSBsNDo6dHlwZSwgdHlwZW5hbWUgbDU6OnR5cGUKKyAgICAgICAgICAgID4gYmluZF87CisKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBpZl88CisgICAgICAgICAgICAgIGlzX2xlCisgICAgICAgICAgICAsIGlmXzwgUHJvdGVjdCwgbXBsOjpwcm90ZWN0PGJpbmRfPiwgYmluZF8gPgorICAgICAgICAgICAgLCBpZGVudGl0eTxGPgorICAgICAgICAgICAgPjo6dHlwZSB0eXBlXzsKKworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHR5cGVfOjp0eXBlIHR5cGU7CisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQKKyAgICAsIHR5cGVuYW1lIFRhZworICAgICwgdHlwZW5hbWUgUHJvdGVjdAorICAgID4KK3N0cnVjdCBsYW1iZGEKK3sKKyAgICAvLy8gTWV0YWZ1bmN0aW9uIGZvcndhcmRpbmcgY29uZnVzZXMgTVNWQyA2LngKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGF1eDo6dGVtcGxhdGVfYXJpdHk8VD46OnR5cGUgYXJpdHlfOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXV4OjpsYW1iZGFfaW1wbDxhcml0eV8+CisgICAgICAgIDo6dGVtcGxhdGUgcmVzdWx0XzwgVCxUYWcsUHJvdGVjdCA+IGxfOworCisgICAgdHlwZWRlZiB0eXBlbmFtZSBsXzo6dHlwZSB0eXBlOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbF86OmlzX2xlIGlzX2xlOworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoMywgbGFtYmRhLCAoVCwgVGFnLCBQcm90ZWN0KSkKK307CisKK0JPT1NUX01QTF9BVVhfTkFfU1BFQzIoMSwgMywgbGFtYmRhKQorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQKKyAgICA+CitzdHJ1Y3QgaXNfbGFtYmRhX2V4cHJlc3Npb24KKyAgICA6IGxhbWJkYTxUPjo6aXNfbGUKK3sKK307CisKK319CisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2M1NTEvbGVzcy5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjNTUxL2xlc3MuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcxMzliNzkKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjNTUxL2xlc3MuaHBwCkBAIC0wLDAgKzEsOTQgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL2xlc3MuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVGFnMQorICAgICwgdHlwZW5hbWUgVGFnMgorICAgID4KK3N0cnVjdCBsZXNzX2ltcGwKKyAgICA6IGlmX2M8CisgICAgICAgICAgKCBCT09TVF9NUExfQVVYX05FU1RFRF9WQUxVRV9XS05EKGludCwgVGFnMSkKKyAgICAgICAgICAgICAgPiBCT09TVF9NUExfQVVYX05FU1RFRF9WQUxVRV9XS05EKGludCwgVGFnMikKKyAgICAgICAgICAgICkKKworICAgICAgICAsIGF1eDo6Y2FzdDJuZF9pbXBsPCBsZXNzX2ltcGw8IFRhZzEsVGFnMSA+LFRhZzEsIFRhZzIgPgorICAgICAgICAsIGF1eDo6Y2FzdDFzdF9pbXBsPCBsZXNzX2ltcGw8IFRhZzIsVGFnMiA+LFRhZzEsIFRhZzIgPgorICAgICAgICA+Ojp0eXBlCit7Cit9OworCisvLy8gZm9yIERpZ2l0YWwgTWFycyBDKysvY29tcGlsZXJzIHdpdGggbm8gQ1RQUy9UVFAgc3VwcG9ydAordGVtcGxhdGU8PiBzdHJ1Y3QgbGVzc19pbXBsPCBuYSxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFRhZyA+IHN0cnVjdCBsZXNzX2ltcGw8IG5hLFRhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFRhZyA+IHN0cnVjdCBsZXNzX2ltcGw8IFRhZyxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFQgPiBzdHJ1Y3QgbGVzc190YWcKK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIFQ6OnRhZyB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4xKQorICAgICwgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMikKKyAgICA+CitzdHJ1Y3QgbGVzcworCisgICAgOiBsZXNzX2ltcGw8CisgICAgICAgICAgdHlwZW5hbWUgbGVzc190YWc8TjE+Ojp0eXBlCisgICAgICAgICwgdHlwZW5hbWUgbGVzc190YWc8TjI+Ojp0eXBlCisgICAgICAgID46OnRlbXBsYXRlIGFwcGx5PCBOMSxOMiA+Ojp0eXBlCit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgyLCBsZXNzLCAoTjEsIE4yKSkKKworfTsKKworQk9PU1RfTVBMX0FVWF9OQV9TUEVDMigyLCAyLCBsZXNzKQorCit9fQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8Pgorc3RydWN0IGxlc3NfaW1wbDwgaW50ZWdyYWxfY190YWcsaW50ZWdyYWxfY190YWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBOMSwgdHlwZW5hbWUgTjIgPiBzdHJ1Y3QgYXBwbHkKKworICAgICAgICA6IGJvb2xfPCAoIEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChOMik6OnZhbHVlID4gQk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4xKTo6dmFsdWUgKSA+CisgICAgeworICAgIH07Cit9OworCit9fQpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjYzU1MS9sZXNzX2VxdWFsLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2M1NTEvbGVzc19lcXVhbC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjdjMzQ5MQotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2M1NTEvbGVzc19lcXVhbC5ocHAKQEAgLTAsMCArMSw5NCBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvbGVzc19lcXVhbC5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUYWcxCisgICAgLCB0eXBlbmFtZSBUYWcyCisgICAgPgorc3RydWN0IGxlc3NfZXF1YWxfaW1wbAorICAgIDogaWZfYzwKKyAgICAgICAgICAoIEJPT1NUX01QTF9BVVhfTkVTVEVEX1ZBTFVFX1dLTkQoaW50LCBUYWcxKQorICAgICAgICAgICAgICA+IEJPT1NUX01QTF9BVVhfTkVTVEVEX1ZBTFVFX1dLTkQoaW50LCBUYWcyKQorICAgICAgICAgICAgKQorCisgICAgICAgICwgYXV4OjpjYXN0Mm5kX2ltcGw8IGxlc3NfZXF1YWxfaW1wbDwgVGFnMSxUYWcxID4sVGFnMSwgVGFnMiA+CisgICAgICAgICwgYXV4OjpjYXN0MXN0X2ltcGw8IGxlc3NfZXF1YWxfaW1wbDwgVGFnMixUYWcyID4sVGFnMSwgVGFnMiA+CisgICAgICAgID46OnR5cGUKK3sKK307CisKKy8vLyBmb3IgRGlnaXRhbCBNYXJzIEMrKy9jb21waWxlcnMgd2l0aCBubyBDVFBTL1RUUCBzdXBwb3J0Cit0ZW1wbGF0ZTw+IHN0cnVjdCBsZXNzX2VxdWFsX2ltcGw8IG5hLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVGFnID4gc3RydWN0IGxlc3NfZXF1YWxfaW1wbDwgbmEsVGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVGFnID4gc3RydWN0IGxlc3NfZXF1YWxfaW1wbDwgVGFnLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVCA+IHN0cnVjdCBsZXNzX2VxdWFsX3RhZworeworICAgIHR5cGVkZWYgdHlwZW5hbWUgVDo6dGFnIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjEpCisgICAgLCB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4yKQorICAgID4KK3N0cnVjdCBsZXNzX2VxdWFsCisKKyAgICA6IGxlc3NfZXF1YWxfaW1wbDwKKyAgICAgICAgICB0eXBlbmFtZSBsZXNzX2VxdWFsX3RhZzxOMT46OnR5cGUKKyAgICAgICAgLCB0eXBlbmFtZSBsZXNzX2VxdWFsX3RhZzxOMj46OnR5cGUKKyAgICAgICAgPjo6dGVtcGxhdGUgYXBwbHk8IE4xLE4yID46OnR5cGUKK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKDIsIGxlc3NfZXF1YWwsIChOMSwgTjIpKQorCit9OworCitCT09TVF9NUExfQVVYX05BX1NQRUMyKDIsIDIsIGxlc3NfZXF1YWwpCisKK319CisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgbGVzc19lcXVhbF9pbXBsPCBpbnRlZ3JhbF9jX3RhZyxpbnRlZ3JhbF9jX3RhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIE4xLCB0eXBlbmFtZSBOMiA+IHN0cnVjdCBhcHBseQorCisgICAgICAgIDogYm9vbF88ICggQk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4xKTo6dmFsdWUgPD0gQk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4yKTo6dmFsdWUgKSA+CisgICAgeworICAgIH07Cit9OworCit9fQpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjYzU1MS9saXN0LmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2M1NTEvbGlzdC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGNjOGM0NgotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2M1NTEvbGlzdC5ocHAKQEAgLTAsMCArMSwzMjMgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL2xpc3QuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAgPSBuYSwgdHlwZW5hbWUgVDEgPSBuYSwgdHlwZW5hbWUgVDIgPSBuYSwgdHlwZW5hbWUgVDMgPSBuYQorICAgICwgdHlwZW5hbWUgVDQgPSBuYSwgdHlwZW5hbWUgVDUgPSBuYSwgdHlwZW5hbWUgVDYgPSBuYSwgdHlwZW5hbWUgVDcgPSBuYQorICAgICwgdHlwZW5hbWUgVDggPSBuYSwgdHlwZW5hbWUgVDkgPSBuYSwgdHlwZW5hbWUgVDEwID0gbmEsIHR5cGVuYW1lIFQxMSA9IG5hCisgICAgLCB0eXBlbmFtZSBUMTIgPSBuYSwgdHlwZW5hbWUgVDEzID0gbmEsIHR5cGVuYW1lIFQxNCA9IG5hCisgICAgLCB0eXBlbmFtZSBUMTUgPSBuYSwgdHlwZW5hbWUgVDE2ID0gbmEsIHR5cGVuYW1lIFQxNyA9IG5hCisgICAgLCB0eXBlbmFtZSBUMTggPSBuYSwgdHlwZW5hbWUgVDE5ID0gbmEKKyAgICA+CitzdHJ1Y3QgbGlzdDsKKwordGVtcGxhdGU8CisgICAgIAorICAgID4KK3N0cnVjdCBsaXN0PAorICAgICAgICAgIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogbGlzdDA8ICA+Cit7CisgICAgdHlwZWRlZiBsaXN0MDwgID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAKKyAgICA+CitzdHJ1Y3QgbGlzdDwKKyAgICAgICAgICBUMCwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IGxpc3QxPFQwPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDE8VDA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMQorICAgID4KK3N0cnVjdCBsaXN0PAorICAgICAgICAgIFQwLCBUMSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogbGlzdDI8IFQwLFQxID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3QyPCBUMCxUMSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIKKyAgICA+CitzdHJ1Y3QgbGlzdDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IGxpc3QzPCBUMCxUMSxUMiA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0MzwgVDAsVDEsVDIgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMworICAgID4KK3N0cnVjdCBsaXN0PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogbGlzdDQ8IFQwLFQxLFQyLFQzID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3Q0PCBUMCxUMSxUMixUMyA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgID4KK3N0cnVjdCBsaXN0PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogbGlzdDU8IFQwLFQxLFQyLFQzLFQ0ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3Q1PCBUMCxUMSxUMixUMyxUNCA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUKKyAgICA+CitzdHJ1Y3QgbGlzdDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IGxpc3Q2PCBUMCxUMSxUMixUMyxUNCxUNSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0NjwgVDAsVDEsVDIsVDMsVDQsVDUgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNgorICAgID4KK3N0cnVjdCBsaXN0PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogbGlzdDc8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3Q3PCBUMCxUMSxUMixUMyxUNCxUNSxUNiA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNworICAgID4KK3N0cnVjdCBsaXN0PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogbGlzdDg8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3Q4PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgKKyAgICA+CitzdHJ1Y3QgbGlzdDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IGxpc3Q5PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0OTwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDggPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgID4KK3N0cnVjdCBsaXN0PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogbGlzdDEwPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0MTA8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMAorICAgID4KK3N0cnVjdCBsaXN0PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IGxpc3QxMTwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3QxMTwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExCisgICAgPgorc3RydWN0IGxpc3Q8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IGxpc3QxMjwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0MTI8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMgorICAgID4KK3N0cnVjdCBsaXN0PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogbGlzdDEzPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMiA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0MTM8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMworICAgID4KK3N0cnVjdCBsaXN0PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IGxpc3QxNDwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3QxNDwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgPgorc3RydWN0IGxpc3Q8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0LCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IGxpc3QxNTwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDE1PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMsVDE0ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgLCB0eXBlbmFtZSBUMTUKKyAgICA+CitzdHJ1Y3QgbGlzdDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgLCBUMTUsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IGxpc3QxNjwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgLCBUMTUKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDE2PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMsVDE0LFQxNSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYKKyAgICA+CitzdHJ1Y3QgbGlzdDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgLCBUMTUsIFQxNiwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBsaXN0MTc8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1LCBUMTYKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDE3PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMsVDE0LFQxNSxUMTYgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcKKyAgICA+CitzdHJ1Y3QgbGlzdDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgLCBUMTUsIFQxNiwgVDE3LCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogbGlzdDE4PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgVDE2LCBUMTcKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDE4PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMsVDE0LFQxNSxUMTYsVDE3ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgKKyAgICA+CitzdHJ1Y3QgbGlzdDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgLCBUMTUsIFQxNiwgVDE3LCBUMTgsIG5hCisgICAgICAgID4KKyAgICA6IGxpc3QxOTwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgLCBUMTUsIFQxNiwgVDE3LCBUMTgKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDE5PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMsVDE0LFQxNSxUMTYsVDE3LFQxOCA+Ojp0eXBlIHR5cGU7Cit9OworCisvLy8gcHJpbWFyeSB0ZW1wbGF0ZSAobm90IGEgc3BlY2lhbGl6YXRpb24hKQorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICA+CitzdHJ1Y3QgbGlzdAorICAgIDogbGlzdDIwPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgVDE2LCBUMTcsIFQxOCwgVDE5CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3QyMDwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzLFQxNCxUMTUsVDE2LFQxNyxUMTgsVDE5ID46OnR5cGUgdHlwZTsKK307CisKK319CisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2M1NTEvbGlzdF9jLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2M1NTEvbGlzdF9jLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNDNmMzhmCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjYzU1MS9saXN0X2MuaHBwCkBAIC0wLDAgKzEsMzI4IEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9saXN0X2MuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCA9IExPTkdfTUFYLCBsb25nIEMxID0gTE9OR19NQVgsIGxvbmcgQzIgPSBMT05HX01BWAorICAgICwgbG9uZyBDMyA9IExPTkdfTUFYLCBsb25nIEM0ID0gTE9OR19NQVgsIGxvbmcgQzUgPSBMT05HX01BWAorICAgICwgbG9uZyBDNiA9IExPTkdfTUFYLCBsb25nIEM3ID0gTE9OR19NQVgsIGxvbmcgQzggPSBMT05HX01BWAorICAgICwgbG9uZyBDOSA9IExPTkdfTUFYLCBsb25nIEMxMCA9IExPTkdfTUFYLCBsb25nIEMxMSA9IExPTkdfTUFYCisgICAgLCBsb25nIEMxMiA9IExPTkdfTUFYLCBsb25nIEMxMyA9IExPTkdfTUFYLCBsb25nIEMxNCA9IExPTkdfTUFYCisgICAgLCBsb25nIEMxNSA9IExPTkdfTUFYLCBsb25nIEMxNiA9IExPTkdfTUFYLCBsb25nIEMxNyA9IExPTkdfTUFYCisgICAgLCBsb25nIEMxOCA9IExPTkdfTUFYLCBsb25nIEMxOSA9IExPTkdfTUFYCisgICAgPgorc3RydWN0IGxpc3RfYzsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUCisgICAgPgorc3RydWN0IGxpc3RfYzwKKyAgICAgICAgICBULCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiBsaXN0MF9jPFQ+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0MF9jPFQ+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAKKyAgICA+CitzdHJ1Y3QgbGlzdF9jPAorICAgICAgICAgIFQsIEMwLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IGxpc3QxX2M8IFQsQzAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDFfYzwgVCxDMCA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEKKyAgICA+CitzdHJ1Y3QgbGlzdF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IGxpc3QyX2M8IFQsQzAsQzEgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDJfYzwgVCxDMCxDMSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIKKyAgICA+CitzdHJ1Y3QgbGlzdF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IGxpc3QzX2M8IFQsQzAsQzEsQzIgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDNfYzwgVCxDMCxDMSxDMiA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMKKyAgICA+CitzdHJ1Y3QgbGlzdF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IGxpc3Q0X2M8IFQsQzAsQzEsQzIsQzMgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDRfYzwgVCxDMCxDMSxDMixDMyA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQKKyAgICA+CitzdHJ1Y3QgbGlzdF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IGxpc3Q1X2M8IFQsQzAsQzEsQzIsQzMsQzQgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDVfYzwgVCxDMCxDMSxDMixDMyxDNCA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICA+CitzdHJ1Y3QgbGlzdF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IGxpc3Q2X2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDZfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAsIGxvbmcgQzYKKyAgICA+CitzdHJ1Y3QgbGlzdF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IGxpc3Q3X2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDdfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNiA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAsIGxvbmcgQzYsIGxvbmcgQzcKKyAgICA+CitzdHJ1Y3QgbGlzdF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IGxpc3Q4X2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDhfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgKKyAgICA+CitzdHJ1Y3QgbGlzdF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IGxpc3Q5X2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcsQzggPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDlfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyxDOCA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzkKKyAgICA+CitzdHJ1Y3QgbGlzdF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IGxpc3QxMF9jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2LEM3LEM4LEM5ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3QxMF9jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2LEM3LEM4LEM5ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAKKyAgICA+CitzdHJ1Y3QgbGlzdF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IGxpc3QxMV9jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2LEM3LEM4LEM5LEMxMCA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0MTFfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyxDOCxDOSxDMTAgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEKKyAgICA+CitzdHJ1Y3QgbGlzdF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiBsaXN0MTJfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyxDOCxDOSxDMTAsQzExID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3QxMl9jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2LEM3LEM4LEM5LEMxMCxDMTEgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgPgorc3RydWN0IGxpc3RfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIEMxMiwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IGxpc3QxM19jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2LEM3LEM4LEM5LEMxMCxDMTEsQzEyID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3QxM19jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2LEM3LEM4LEM5LEMxMCxDMTEsQzEyID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgICwgbG9uZyBDMTMKKyAgICA+CitzdHJ1Y3QgbGlzdF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IGxpc3QxNF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDE0X2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcsQzgsQzksQzEwLEMxMSxDMTIsQzEzID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0CisgICAgPgorc3RydWN0IGxpc3RfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIEMxMiwgQzEzLCBDMTQKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogbGlzdDE1X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBDMTIsIEMxMywgQzE0CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3QxNV9jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2LEM3LEM4LEM5LEMxMCxDMTEsQzEyLEMxMyxDMTQgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1CisgICAgPgorc3RydWN0IGxpc3RfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIEMxMiwgQzEzLCBDMTQKKyAgICAgICAgLCBDMTUsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IGxpc3QxNl9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMsIEMxNAorICAgICAgICAsIEMxNQorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0MTZfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyxDOCxDOSxDMTAsQzExLEMxMixDMTMsQzE0LEMxNSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAsIGxvbmcgQzEzLCBsb25nIEMxNCwgbG9uZyBDMTUsIGxvbmcgQzE2CisgICAgPgorc3RydWN0IGxpc3RfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIEMxMiwgQzEzLCBDMTQKKyAgICAgICAgLCBDMTUsIEMxNiwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiBsaXN0MTdfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIEMxMiwgQzEzLCBDMTQKKyAgICAgICAgLCBDMTUsIEMxNgorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0MTdfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyxDOCxDOSxDMTAsQzExLEMxMixDMTMsQzE0LEMxNSxDMTYgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1LCBsb25nIEMxNiwgbG9uZyBDMTcKKyAgICA+CitzdHJ1Y3QgbGlzdF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMsIEMxNAorICAgICAgICAsIEMxNSwgQzE2LCBDMTcsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiBsaXN0MThfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIEMxMiwgQzEzLCBDMTQKKyAgICAgICAgLCBDMTUsIEMxNiwgQzE3CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3QxOF9jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2LEM3LEM4LEM5LEMxMCxDMTEsQzEyLEMxMyxDMTQsQzE1LEMxNixDMTcgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1LCBsb25nIEMxNiwgbG9uZyBDMTcsIGxvbmcgQzE4CisgICAgPgorc3RydWN0IGxpc3RfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIEMxMiwgQzEzLCBDMTQKKyAgICAgICAgLCBDMTUsIEMxNiwgQzE3LCBDMTgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IGxpc3QxOV9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMsIEMxNAorICAgICAgICAsIEMxNSwgQzE2LCBDMTcsIEMxOAorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0MTlfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyxDOCxDOSxDMTAsQzExLEMxMixDMTMsQzE0LEMxNSxDMTYsQzE3LEMxOCA+Ojp0eXBlIHR5cGU7Cit9OworCisvLy8gcHJpbWFyeSB0ZW1wbGF0ZSAobm90IGEgc3BlY2lhbGl6YXRpb24hKQorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAsIGxvbmcgQzEzLCBsb25nIEMxNCwgbG9uZyBDMTUsIGxvbmcgQzE2LCBsb25nIEMxNywgbG9uZyBDMTgsIGxvbmcgQzE5CisgICAgPgorc3RydWN0IGxpc3RfYworICAgIDogbGlzdDIwX2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBDMTIsIEMxMywgQzE0CisgICAgICAgICwgQzE1LCBDMTYsIEMxNywgQzE4LCBDMTkKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDIwX2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcsQzgsQzksQzEwLEMxMSxDMTIsQzEzLEMxNCxDMTUsQzE2LEMxNyxDMTgsQzE5ID46OnR5cGUgdHlwZTsKK307CisKK319CisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2M1NTEvbWFwLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2M1NTEvbWFwLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43OTc0ZjI4Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjYzU1MS9tYXAuaHBwCkBAIC0wLDAgKzEsMzIzIEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9tYXAuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAgPSBuYSwgdHlwZW5hbWUgVDEgPSBuYSwgdHlwZW5hbWUgVDIgPSBuYSwgdHlwZW5hbWUgVDMgPSBuYQorICAgICwgdHlwZW5hbWUgVDQgPSBuYSwgdHlwZW5hbWUgVDUgPSBuYSwgdHlwZW5hbWUgVDYgPSBuYSwgdHlwZW5hbWUgVDcgPSBuYQorICAgICwgdHlwZW5hbWUgVDggPSBuYSwgdHlwZW5hbWUgVDkgPSBuYSwgdHlwZW5hbWUgVDEwID0gbmEsIHR5cGVuYW1lIFQxMSA9IG5hCisgICAgLCB0eXBlbmFtZSBUMTIgPSBuYSwgdHlwZW5hbWUgVDEzID0gbmEsIHR5cGVuYW1lIFQxNCA9IG5hCisgICAgLCB0eXBlbmFtZSBUMTUgPSBuYSwgdHlwZW5hbWUgVDE2ID0gbmEsIHR5cGVuYW1lIFQxNyA9IG5hCisgICAgLCB0eXBlbmFtZSBUMTggPSBuYSwgdHlwZW5hbWUgVDE5ID0gbmEKKyAgICA+CitzdHJ1Y3QgbWFwOworCit0ZW1wbGF0ZTwKKyAgICAgCisgICAgPgorc3RydWN0IG1hcDwKKyAgICAgICAgICBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IG1hcDA8ICA+Cit7CisgICAgdHlwZWRlZiBtYXAwPCAgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMAorICAgID4KK3N0cnVjdCBtYXA8CisgICAgICAgICAgVDAsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBtYXAxPFQwPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbWFwMTxUMD46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxCisgICAgPgorc3RydWN0IG1hcDwKKyAgICAgICAgICBUMCwgVDEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IG1hcDI8IFQwLFQxID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1hcDI8IFQwLFQxID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMgorICAgID4KK3N0cnVjdCBtYXA8CisgICAgICAgICAgVDAsIFQxLCBUMiwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBtYXAzPCBUMCxUMSxUMiA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtYXAzPCBUMCxUMSxUMiA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzCisgICAgPgorc3RydWN0IG1hcDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IG1hcDQ8IFQwLFQxLFQyLFQzID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1hcDQ8IFQwLFQxLFQyLFQzID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgPgorc3RydWN0IG1hcDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IG1hcDU8IFQwLFQxLFQyLFQzLFQ0ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1hcDU8IFQwLFQxLFQyLFQzLFQ0ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNQorICAgID4KK3N0cnVjdCBtYXA8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBtYXA2PCBUMCxUMSxUMixUMyxUNCxUNSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtYXA2PCBUMCxUMSxUMixUMyxUNCxUNSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2CisgICAgPgorc3RydWN0IG1hcDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IG1hcDc8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1hcDc8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3CisgICAgPgorc3RydWN0IG1hcDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IG1hcDg8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1hcDg8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOAorICAgID4KK3N0cnVjdCBtYXA8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBtYXA5PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtYXA5PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgPgorc3RydWN0IG1hcDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IG1hcDEwPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtYXAxMDwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDkgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwCisgICAgPgorc3RydWN0IG1hcDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBtYXAxMTwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1hcDExPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEKKyAgICA+CitzdHJ1Y3QgbWFwPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBtYXAxMjwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtYXAxMjwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyCisgICAgPgorc3RydWN0IG1hcDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IG1hcDEzPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMiA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtYXAxMzwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzCisgICAgPgorc3RydWN0IG1hcDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBtYXAxNDwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1hcDE0PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICA+CitzdHJ1Y3QgbWFwPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNCwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBtYXAxNTwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbWFwMTU8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyxUMTQgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAsIHR5cGVuYW1lIFQxNQorICAgID4KK3N0cnVjdCBtYXA8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1LCBuYSwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBtYXAxNjwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgLCBUMTUKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbWFwMTY8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyxUMTQsVDE1ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNgorICAgID4KK3N0cnVjdCBtYXA8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1LCBUMTYsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogbWFwMTc8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1LCBUMTYKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbWFwMTc8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyxUMTQsVDE1LFQxNiA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNworICAgID4KK3N0cnVjdCBtYXA8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1LCBUMTYsIFQxNywgbmEsIG5hCisgICAgICAgID4KKyAgICA6IG1hcDE4PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgVDE2LCBUMTcKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbWFwMTg8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyxUMTQsVDE1LFQxNixUMTcgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOAorICAgID4KK3N0cnVjdCBtYXA8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1LCBUMTYsIFQxNywgVDE4LCBuYQorICAgICAgICA+CisgICAgOiBtYXAxOTwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgLCBUMTUsIFQxNiwgVDE3LCBUMTgKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbWFwMTk8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyxUMTQsVDE1LFQxNixUMTcsVDE4ID46OnR5cGUgdHlwZTsKK307CisKKy8vLyBwcmltYXJ5IHRlbXBsYXRlIChub3QgYSBzcGVjaWFsaXphdGlvbiEpCisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgID4KK3N0cnVjdCBtYXAKKyAgICA6IG1hcDIwPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgVDE2LCBUMTcsIFQxOCwgVDE5CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1hcDIwPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMsVDE0LFQxNSxUMTYsVDE3LFQxOCxUMTkgPjo6dHlwZSB0eXBlOworfTsKKworfX0KKwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjYzU1MS9taW51cy5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjNTUxL21pbnVzLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hZTZiNTkyCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjYzU1MS9taW51cy5ocHAKQEAgLTAsMCArMSwxNDYgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL21pbnVzLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFRhZzEKKyAgICAsIHR5cGVuYW1lIFRhZzIKKyAgICA+CitzdHJ1Y3QgbWludXNfaW1wbAorICAgIDogaWZfYzwKKyAgICAgICAgICAoIEJPT1NUX01QTF9BVVhfTkVTVEVEX1ZBTFVFX1dLTkQoaW50LCBUYWcxKQorICAgICAgICAgICAgICA+IEJPT1NUX01QTF9BVVhfTkVTVEVEX1ZBTFVFX1dLTkQoaW50LCBUYWcyKQorICAgICAgICAgICAgKQorCisgICAgICAgICwgYXV4OjpjYXN0Mm5kX2ltcGw8IG1pbnVzX2ltcGw8IFRhZzEsVGFnMSA+LFRhZzEsIFRhZzIgPgorICAgICAgICAsIGF1eDo6Y2FzdDFzdF9pbXBsPCBtaW51c19pbXBsPCBUYWcyLFRhZzIgPixUYWcxLCBUYWcyID4KKyAgICAgICAgPjo6dHlwZQoreworfTsKKworLy8vIGZvciBEaWdpdGFsIE1hcnMgQysrL2NvbXBpbGVycyB3aXRoIG5vIENUUFMvVFRQIHN1cHBvcnQKK3RlbXBsYXRlPD4gc3RydWN0IG1pbnVzX2ltcGw8IG5hLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVGFnID4gc3RydWN0IG1pbnVzX2ltcGw8IG5hLFRhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFRhZyA+IHN0cnVjdCBtaW51c19pbXBsPCBUYWcsbmEgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUID4gc3RydWN0IG1pbnVzX3RhZworeworICAgIHR5cGVkZWYgdHlwZW5hbWUgVDo6dGFnIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjEpCisgICAgLCB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4yKQorICAgICwgdHlwZW5hbWUgTjMgPSBuYSwgdHlwZW5hbWUgTjQgPSBuYSwgdHlwZW5hbWUgTjUgPSBuYQorICAgID4KK3N0cnVjdCBtaW51cworICAgIDogbWludXM8IG1pbnVzPCBtaW51czwgbWludXM8IE4xLE4yID4sIE4zPiwgTjQ+LCBONT4KK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKAorICAgICAgICAgIDUKKyAgICAgICAgLCBtaW51cworICAgICAgICAsICggTjEsIE4yLCBOMywgTjQsIE41ICkKKyAgICAgICAgKQorfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBOMSwgdHlwZW5hbWUgTjIsIHR5cGVuYW1lIE4zLCB0eXBlbmFtZSBONAorICAgID4KK3N0cnVjdCBtaW51czwgTjEsTjIsTjMsTjQsbmEgPgorCisgICAgOiBtaW51czwgbWludXM8IG1pbnVzPCBOMSxOMiA+LCBOMz4sIE40PgoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlRfU1BFQygKKyAgICAgICAgICA1CisgICAgICAgICwgbWludXMKKyAgICAgICAgLCAoIE4xLCBOMiwgTjMsIE40LCBuYSApCisgICAgICAgICkKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgTjEsIHR5cGVuYW1lIE4yLCB0eXBlbmFtZSBOMworICAgID4KK3N0cnVjdCBtaW51czwgTjEsTjIsTjMsbmEsbmEgPgorCisgICAgOiBtaW51czwgbWludXM8IE4xLE4yID4sIE4zPgoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlRfU1BFQygKKyAgICAgICAgICA1CisgICAgICAgICwgbWludXMKKyAgICAgICAgLCAoIE4xLCBOMiwgTjMsIG5hLCBuYSApCisgICAgICAgICkKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgTjEsIHR5cGVuYW1lIE4yCisgICAgPgorc3RydWN0IG1pbnVzPCBOMSxOMixuYSxuYSxuYSA+CisgICAgOiBtaW51c19pbXBsPAorICAgICAgICAgIHR5cGVuYW1lIG1pbnVzX3RhZzxOMT46OnR5cGUKKyAgICAgICAgLCB0eXBlbmFtZSBtaW51c190YWc8TjI+Ojp0eXBlCisgICAgICAgID46OnRlbXBsYXRlIGFwcGx5PCBOMSxOMiA+Ojp0eXBlCit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVF9TUEVDKAorICAgICAgICAgIDUKKyAgICAgICAgLCBtaW51cworICAgICAgICAsICggTjEsIE4yLCBuYSwgbmEsIG5hICkKKyAgICAgICAgKQorCit9OworCitCT09TVF9NUExfQVVYX05BX1NQRUMyKDIsIDUsIG1pbnVzKQorCit9fQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKK3RlbXBsYXRlPD4KK3N0cnVjdCBtaW51c19pbXBsPCBpbnRlZ3JhbF9jX3RhZyxpbnRlZ3JhbF9jX3RhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIE4xLCB0eXBlbmFtZSBOMiA+IHN0cnVjdCBhcHBseQorCisgICAgICAgIDogaW50ZWdyYWxfYzwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgYXV4OjpsYXJnZXN0X2ludDwKKyAgICAgICAgICAgICAgICAgIHR5cGVuYW1lIE4xOjp2YWx1ZV90eXBlCisgICAgICAgICAgICAgICAgLCB0eXBlbmFtZSBOMjo6dmFsdWVfdHlwZQorICAgICAgICAgICAgICAgID46OnR5cGUKKyAgICAgICAgICAgICwgKCBCT09TVF9NUExfQVVYX1ZBTFVFX1dLTkQoTjEpOjp2YWx1ZQorICAgICAgICAgICAgICAgICAgLSBCT09TVF9NUExfQVVYX1ZBTFVFX1dLTkQoTjIpOjp2YWx1ZQorICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgID4KKyAgICB7CisgICAgfTsKK307CisKK319CmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjNTUxL21vZHVsdXMuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjYzU1MS9tb2R1bHVzLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44OWM2MTcyCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjYzU1MS9tb2R1bHVzLmhwcApAQCAtMCwwICsxLDEwMSBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvbW9kdWx1cy5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUYWcxCisgICAgLCB0eXBlbmFtZSBUYWcyCisgICAgPgorc3RydWN0IG1vZHVsdXNfaW1wbAorICAgIDogaWZfYzwKKyAgICAgICAgICAoIEJPT1NUX01QTF9BVVhfTkVTVEVEX1ZBTFVFX1dLTkQoaW50LCBUYWcxKQorICAgICAgICAgICAgICA+IEJPT1NUX01QTF9BVVhfTkVTVEVEX1ZBTFVFX1dLTkQoaW50LCBUYWcyKQorICAgICAgICAgICAgKQorCisgICAgICAgICwgYXV4OjpjYXN0Mm5kX2ltcGw8IG1vZHVsdXNfaW1wbDwgVGFnMSxUYWcxID4sVGFnMSwgVGFnMiA+CisgICAgICAgICwgYXV4OjpjYXN0MXN0X2ltcGw8IG1vZHVsdXNfaW1wbDwgVGFnMixUYWcyID4sVGFnMSwgVGFnMiA+CisgICAgICAgID46OnR5cGUKK3sKK307CisKKy8vLyBmb3IgRGlnaXRhbCBNYXJzIEMrKy9jb21waWxlcnMgd2l0aCBubyBDVFBTL1RUUCBzdXBwb3J0Cit0ZW1wbGF0ZTw+IHN0cnVjdCBtb2R1bHVzX2ltcGw8IG5hLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVGFnID4gc3RydWN0IG1vZHVsdXNfaW1wbDwgbmEsVGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVGFnID4gc3RydWN0IG1vZHVsdXNfaW1wbDwgVGFnLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVCA+IHN0cnVjdCBtb2R1bHVzX3RhZworeworICAgIHR5cGVkZWYgdHlwZW5hbWUgVDo6dGFnIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjEpCisgICAgLCB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4yKQorICAgID4KK3N0cnVjdCBtb2R1bHVzCisKKyAgICA6IG1vZHVsdXNfaW1wbDwKKyAgICAgICAgICB0eXBlbmFtZSBtb2R1bHVzX3RhZzxOMT46OnR5cGUKKyAgICAgICAgLCB0eXBlbmFtZSBtb2R1bHVzX3RhZzxOMj46OnR5cGUKKyAgICAgICAgPjo6dGVtcGxhdGUgYXBwbHk8IE4xLE4yID46OnR5cGUKK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKDIsIG1vZHVsdXMsIChOMSwgTjIpKQorCit9OworCitCT09TVF9NUExfQVVYX05BX1NQRUMyKDIsIDIsIG1vZHVsdXMpCisKK319CisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgewordGVtcGxhdGU8Pgorc3RydWN0IG1vZHVsdXNfaW1wbDwgaW50ZWdyYWxfY190YWcsaW50ZWdyYWxfY190YWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBOMSwgdHlwZW5hbWUgTjIgPiBzdHJ1Y3QgYXBwbHkKKworICAgICAgICA6IGludGVncmFsX2M8CisgICAgICAgICAgICAgIHR5cGVuYW1lIGF1eDo6bGFyZ2VzdF9pbnQ8CisgICAgICAgICAgICAgICAgICB0eXBlbmFtZSBOMTo6dmFsdWVfdHlwZQorICAgICAgICAgICAgICAgICwgdHlwZW5hbWUgTjI6OnZhbHVlX3R5cGUKKyAgICAgICAgICAgICAgICA+Ojp0eXBlCisgICAgICAgICAgICAsICggQk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4xKTo6dmFsdWUKKyAgICAgICAgICAgICAgICAgICUgQk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4yKTo6dmFsdWUKKyAgICAgICAgICAgICAgICApCisgICAgICAgICAgICA+CisgICAgeworICAgIH07Cit9OworCit9fQpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjYzU1MS9ub3RfZXF1YWxfdG8uaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjYzU1MS9ub3RfZXF1YWxfdG8uaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIyOGUxMDAKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjNTUxL25vdF9lcXVhbF90by5ocHAKQEAgLTAsMCArMSw5NCBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvbm90X2VxdWFsX3RvLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFRhZzEKKyAgICAsIHR5cGVuYW1lIFRhZzIKKyAgICA+CitzdHJ1Y3Qgbm90X2VxdWFsX3RvX2ltcGwKKyAgICA6IGlmX2M8CisgICAgICAgICAgKCBCT09TVF9NUExfQVVYX05FU1RFRF9WQUxVRV9XS05EKGludCwgVGFnMSkKKyAgICAgICAgICAgICAgPiBCT09TVF9NUExfQVVYX05FU1RFRF9WQUxVRV9XS05EKGludCwgVGFnMikKKyAgICAgICAgICAgICkKKworICAgICAgICAsIGF1eDo6Y2FzdDJuZF9pbXBsPCBub3RfZXF1YWxfdG9faW1wbDwgVGFnMSxUYWcxID4sVGFnMSwgVGFnMiA+CisgICAgICAgICwgYXV4OjpjYXN0MXN0X2ltcGw8IG5vdF9lcXVhbF90b19pbXBsPCBUYWcyLFRhZzIgPixUYWcxLCBUYWcyID4KKyAgICAgICAgPjo6dHlwZQoreworfTsKKworLy8vIGZvciBEaWdpdGFsIE1hcnMgQysrL2NvbXBpbGVycyB3aXRoIG5vIENUUFMvVFRQIHN1cHBvcnQKK3RlbXBsYXRlPD4gc3RydWN0IG5vdF9lcXVhbF90b19pbXBsPCBuYSxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFRhZyA+IHN0cnVjdCBub3RfZXF1YWxfdG9faW1wbDwgbmEsVGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVGFnID4gc3RydWN0IG5vdF9lcXVhbF90b19pbXBsPCBUYWcsbmEgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUID4gc3RydWN0IG5vdF9lcXVhbF90b190YWcKK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIFQ6OnRhZyB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4xKQorICAgICwgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMikKKyAgICA+CitzdHJ1Y3Qgbm90X2VxdWFsX3RvCisKKyAgICA6IG5vdF9lcXVhbF90b19pbXBsPAorICAgICAgICAgIHR5cGVuYW1lIG5vdF9lcXVhbF90b190YWc8TjE+Ojp0eXBlCisgICAgICAgICwgdHlwZW5hbWUgbm90X2VxdWFsX3RvX3RhZzxOMj46OnR5cGUKKyAgICAgICAgPjo6dGVtcGxhdGUgYXBwbHk8IE4xLE4yID46OnR5cGUKK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKDIsIG5vdF9lcXVhbF90bywgKE4xLCBOMikpCisKK307CisKK0JPT1NUX01QTF9BVVhfTkFfU1BFQzIoMiwgMiwgbm90X2VxdWFsX3RvKQorCit9fQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8Pgorc3RydWN0IG5vdF9lcXVhbF90b19pbXBsPCBpbnRlZ3JhbF9jX3RhZyxpbnRlZ3JhbF9jX3RhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIE4xLCB0eXBlbmFtZSBOMiA+IHN0cnVjdCBhcHBseQorCisgICAgICAgIDogYm9vbF88ICggQk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4xKTo6dmFsdWUgIT0gQk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4yKTo6dmFsdWUgKSA+CisgICAgeworICAgIH07Cit9OworCit9fQpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjYzU1MS9vci5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjNTUxL29yLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lOTI5NjAyCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjYzU1MS9vci5ocHAKQEAgLTAsMCArMSw2OSBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvb3IuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwgYm9vbCBDXywgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQgPgorc3RydWN0IG9yX2ltcGwKKyAgICA6IHRydWVfCit7Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQgPgorc3RydWN0IG9yX2ltcGw8IGZhbHNlLFQxLFQyLFQzLFQ0ID4KKyAgICA6IG9yX2ltcGw8CisgICAgICAgICAgQk9PU1RfTVBMX0FVWF9ORVNURURfVFlQRV9XS05EKFQxKTo6dmFsdWUKKyAgICAgICAgLCBUMiwgVDMsIFQ0CisgICAgICAgICwgZmFsc2VfCisgICAgICAgID4KK3sKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBvcl9pbXBsPAorICAgICAgICAgIGZhbHNlCisgICAgICAgICwgZmFsc2VfLCBmYWxzZV8sIGZhbHNlXywgZmFsc2VfCisgICAgICAgID4KKyAgICA6IGZhbHNlXworeworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShUMSkKKyAgICAsIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oVDIpCisgICAgLCB0eXBlbmFtZSBUMyA9IGZhbHNlXywgdHlwZW5hbWUgVDQgPSBmYWxzZV8sIHR5cGVuYW1lIFQ1ID0gZmFsc2VfCisgICAgPgorc3RydWN0IG9yXworCisgICAgOiBhdXg6Om9yX2ltcGw8CisgICAgICAgICAgQk9PU1RfTVBMX0FVWF9ORVNURURfVFlQRV9XS05EKFQxKTo6dmFsdWUKKyAgICAgICAgLCBUMiwgVDMsIFQ0LCBUNQorICAgICAgICA+CisKK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKAorICAgICAgICAgIDUKKyAgICAgICAgLCBvcl8KKyAgICAgICAgLCAoIFQxLCBUMiwgVDMsIFQ0LCBUNSkKKyAgICAgICAgKQorfTsKKworQk9PU1RfTVBMX0FVWF9OQV9TUEVDMigKKyAgICAgIDIKKyAgICAsIDUKKyAgICAsIG9yXworICAgICkKKworfX0KZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2M1NTEvcGxhY2Vob2xkZXJzLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2M1NTEvcGxhY2Vob2xkZXJzLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lY2Q0NTE0Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjYzU1MS9wbGFjZWhvbGRlcnMuaHBwCkBAIC0wLDAgKzEsMTA1IEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDEtMjAwNAorLy8gQ29weXJpZ2h0IFBldGVyIERpbW92IDIwMDEtMjAwMworLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9wbGFjZWhvbGRlcnMuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworQk9PU1RfTVBMX0FVWF9BRExfQkFSUklFUl9OQU1FU1BBQ0VfT1BFTgordHlwZWRlZiBhcmc8IC0xID4gXzsKK0JPT1NUX01QTF9BVVhfQURMX0JBUlJJRVJfTkFNRVNQQUNFX0NMT1NFCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKworQk9PU1RfTVBMX0FVWF9BUkdfQURMX0JBUlJJRVJfREVDTChfKQorCituYW1lc3BhY2UgcGxhY2Vob2xkZXJzIHsKK3VzaW5nIEJPT1NUX01QTF9BVVhfQURMX0JBUlJJRVJfTkFNRVNQQUNFOjpfOworfQorCit9fQorCisvLy8gYWd1cnQsIDE3L21hci8wMjogb25lIG1vcmUgcGxhY2Vob2xkZXIgZm9yIHRoZSBsYXN0ICdhcHBseSMnIAorLy8vIHNwZWNpYWxpemF0aW9uCitCT09TVF9NUExfQVVYX0FETF9CQVJSSUVSX05BTUVTUEFDRV9PUEVOCit0eXBlZGVmIGFyZzwxPiBfMTsKKworQk9PU1RfTVBMX0FVWF9BRExfQkFSUklFUl9OQU1FU1BBQ0VfQ0xPU0UKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCitCT09TVF9NUExfQVVYX0FSR19BRExfQkFSUklFUl9ERUNMKF8xKQorCituYW1lc3BhY2UgcGxhY2Vob2xkZXJzIHsKK3VzaW5nIEJPT1NUX01QTF9BVVhfQURMX0JBUlJJRVJfTkFNRVNQQUNFOjpfMTsKK30KKworfX0KK0JPT1NUX01QTF9BVVhfQURMX0JBUlJJRVJfTkFNRVNQQUNFX09QRU4KK3R5cGVkZWYgYXJnPDI+IF8yOworCitCT09TVF9NUExfQVVYX0FETF9CQVJSSUVSX05BTUVTUEFDRV9DTE9TRQorbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK0JPT1NUX01QTF9BVVhfQVJHX0FETF9CQVJSSUVSX0RFQ0woXzIpCisKK25hbWVzcGFjZSBwbGFjZWhvbGRlcnMgewordXNpbmcgQk9PU1RfTVBMX0FVWF9BRExfQkFSUklFUl9OQU1FU1BBQ0U6Ol8yOworfQorCit9fQorQk9PU1RfTVBMX0FVWF9BRExfQkFSUklFUl9OQU1FU1BBQ0VfT1BFTgordHlwZWRlZiBhcmc8Mz4gXzM7CisKK0JPT1NUX01QTF9BVVhfQURMX0JBUlJJRVJfTkFNRVNQQUNFX0NMT1NFCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKworQk9PU1RfTVBMX0FVWF9BUkdfQURMX0JBUlJJRVJfREVDTChfMykKKworbmFtZXNwYWNlIHBsYWNlaG9sZGVycyB7Cit1c2luZyBCT09TVF9NUExfQVVYX0FETF9CQVJSSUVSX05BTUVTUEFDRTo6XzM7Cit9CisKK319CitCT09TVF9NUExfQVVYX0FETF9CQVJSSUVSX05BTUVTUEFDRV9PUEVOCit0eXBlZGVmIGFyZzw0PiBfNDsKKworQk9PU1RfTVBMX0FVWF9BRExfQkFSUklFUl9OQU1FU1BBQ0VfQ0xPU0UKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCitCT09TVF9NUExfQVVYX0FSR19BRExfQkFSUklFUl9ERUNMKF80KQorCituYW1lc3BhY2UgcGxhY2Vob2xkZXJzIHsKK3VzaW5nIEJPT1NUX01QTF9BVVhfQURMX0JBUlJJRVJfTkFNRVNQQUNFOjpfNDsKK30KKworfX0KK0JPT1NUX01QTF9BVVhfQURMX0JBUlJJRVJfTkFNRVNQQUNFX09QRU4KK3R5cGVkZWYgYXJnPDU+IF81OworCitCT09TVF9NUExfQVVYX0FETF9CQVJSSUVSX05BTUVTUEFDRV9DTE9TRQorbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK0JPT1NUX01QTF9BVVhfQVJHX0FETF9CQVJSSUVSX0RFQ0woXzUpCisKK25hbWVzcGFjZSBwbGFjZWhvbGRlcnMgewordXNpbmcgQk9PU1RfTVBMX0FVWF9BRExfQkFSUklFUl9OQU1FU1BBQ0U6Ol81OworfQorCit9fQorQk9PU1RfTVBMX0FVWF9BRExfQkFSUklFUl9OQU1FU1BBQ0VfT1BFTgordHlwZWRlZiBhcmc8Nj4gXzY7CisKK0JPT1NUX01QTF9BVVhfQURMX0JBUlJJRVJfTkFNRVNQQUNFX0NMT1NFCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKworQk9PU1RfTVBMX0FVWF9BUkdfQURMX0JBUlJJRVJfREVDTChfNikKKworbmFtZXNwYWNlIHBsYWNlaG9sZGVycyB7Cit1c2luZyBCT09TVF9NUExfQVVYX0FETF9CQVJSSUVSX05BTUVTUEFDRTo6XzY7Cit9CisKK319CmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjNTUxL3BsdXMuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjYzU1MS9wbHVzLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kZTAzZTNlCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjYzU1MS9wbHVzLmhwcApAQCAtMCwwICsxLDE0NiBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvcGx1cy5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUYWcxCisgICAgLCB0eXBlbmFtZSBUYWcyCisgICAgPgorc3RydWN0IHBsdXNfaW1wbAorICAgIDogaWZfYzwKKyAgICAgICAgICAoIEJPT1NUX01QTF9BVVhfTkVTVEVEX1ZBTFVFX1dLTkQoaW50LCBUYWcxKQorICAgICAgICAgICAgICA+IEJPT1NUX01QTF9BVVhfTkVTVEVEX1ZBTFVFX1dLTkQoaW50LCBUYWcyKQorICAgICAgICAgICAgKQorCisgICAgICAgICwgYXV4OjpjYXN0Mm5kX2ltcGw8IHBsdXNfaW1wbDwgVGFnMSxUYWcxID4sVGFnMSwgVGFnMiA+CisgICAgICAgICwgYXV4OjpjYXN0MXN0X2ltcGw8IHBsdXNfaW1wbDwgVGFnMixUYWcyID4sVGFnMSwgVGFnMiA+CisgICAgICAgID46OnR5cGUKK3sKK307CisKKy8vLyBmb3IgRGlnaXRhbCBNYXJzIEMrKy9jb21waWxlcnMgd2l0aCBubyBDVFBTL1RUUCBzdXBwb3J0Cit0ZW1wbGF0ZTw+IHN0cnVjdCBwbHVzX2ltcGw8IG5hLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVGFnID4gc3RydWN0IHBsdXNfaW1wbDwgbmEsVGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVGFnID4gc3RydWN0IHBsdXNfaW1wbDwgVGFnLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVCA+IHN0cnVjdCBwbHVzX3RhZworeworICAgIHR5cGVkZWYgdHlwZW5hbWUgVDo6dGFnIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjEpCisgICAgLCB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4yKQorICAgICwgdHlwZW5hbWUgTjMgPSBuYSwgdHlwZW5hbWUgTjQgPSBuYSwgdHlwZW5hbWUgTjUgPSBuYQorICAgID4KK3N0cnVjdCBwbHVzCisgICAgOiBwbHVzPCBwbHVzPCBwbHVzPCBwbHVzPCBOMSxOMiA+LCBOMz4sIE40PiwgTjU+Cit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgKKyAgICAgICAgICA1CisgICAgICAgICwgcGx1cworICAgICAgICAsICggTjEsIE4yLCBOMywgTjQsIE41ICkKKyAgICAgICAgKQorfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBOMSwgdHlwZW5hbWUgTjIsIHR5cGVuYW1lIE4zLCB0eXBlbmFtZSBONAorICAgID4KK3N0cnVjdCBwbHVzPCBOMSxOMixOMyxONCxuYSA+CisKKyAgICA6IHBsdXM8IHBsdXM8IHBsdXM8IE4xLE4yID4sIE4zPiwgTjQ+Cit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVF9TUEVDKAorICAgICAgICAgIDUKKyAgICAgICAgLCBwbHVzCisgICAgICAgICwgKCBOMSwgTjIsIE4zLCBONCwgbmEgKQorICAgICAgICApCit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIE4xLCB0eXBlbmFtZSBOMiwgdHlwZW5hbWUgTjMKKyAgICA+CitzdHJ1Y3QgcGx1czwgTjEsTjIsTjMsbmEsbmEgPgorCisgICAgOiBwbHVzPCBwbHVzPCBOMSxOMiA+LCBOMz4KK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUX1NQRUMoCisgICAgICAgICAgNQorICAgICAgICAsIHBsdXMKKyAgICAgICAgLCAoIE4xLCBOMiwgTjMsIG5hLCBuYSApCisgICAgICAgICkKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgTjEsIHR5cGVuYW1lIE4yCisgICAgPgorc3RydWN0IHBsdXM8IE4xLE4yLG5hLG5hLG5hID4KKyAgICA6IHBsdXNfaW1wbDwKKyAgICAgICAgICB0eXBlbmFtZSBwbHVzX3RhZzxOMT46OnR5cGUKKyAgICAgICAgLCB0eXBlbmFtZSBwbHVzX3RhZzxOMj46OnR5cGUKKyAgICAgICAgPjo6dGVtcGxhdGUgYXBwbHk8IE4xLE4yID46OnR5cGUKK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUX1NQRUMoCisgICAgICAgICAgNQorICAgICAgICAsIHBsdXMKKyAgICAgICAgLCAoIE4xLCBOMiwgbmEsIG5hLCBuYSApCisgICAgICAgICkKKworfTsKKworQk9PU1RfTVBMX0FVWF9OQV9TUEVDMigyLCA1LCBwbHVzKQorCit9fQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKK3RlbXBsYXRlPD4KK3N0cnVjdCBwbHVzX2ltcGw8IGludGVncmFsX2NfdGFnLGludGVncmFsX2NfdGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgTjEsIHR5cGVuYW1lIE4yID4gc3RydWN0IGFwcGx5CisKKyAgICAgICAgOiBpbnRlZ3JhbF9jPAorICAgICAgICAgICAgICB0eXBlbmFtZSBhdXg6Omxhcmdlc3RfaW50PAorICAgICAgICAgICAgICAgICAgdHlwZW5hbWUgTjE6OnZhbHVlX3R5cGUKKyAgICAgICAgICAgICAgICAsIHR5cGVuYW1lIE4yOjp2YWx1ZV90eXBlCisgICAgICAgICAgICAgICAgPjo6dHlwZQorICAgICAgICAgICAgLCAoIEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChOMSk6OnZhbHVlCisgICAgICAgICAgICAgICAgICArIEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChOMik6OnZhbHVlCisgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgPgorICAgIHsKKyAgICB9OworfTsKKworfX0KZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2M1NTEvcXVvdGUuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjYzU1MS9xdW90ZS5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2U3N2ZiYQotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2M1NTEvcXVvdGUuaHBwCkBAIC0wLDAgKzEsMTEgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL3F1b3RlLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2M1NTEvcmV2ZXJzZV9mb2xkX2ltcGwuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjYzU1MS9yZXZlcnNlX2ZvbGRfaW1wbC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmM2YzE3MwotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2M1NTEvcmV2ZXJzZV9mb2xkX2ltcGwuaHBwCkBAIC0wLDAgKzEsMjk1IEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9hdXhfL3JldmVyc2VfZm9sZF9pbXBsLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeyBuYW1lc3BhY2UgYXV4IHsKKworLy8vIGZvcndhcmQgZGVjbGFyYXRpb24KKwordGVtcGxhdGU8CisgICAgICBsb25nIE4KKyAgICAsIHR5cGVuYW1lIEZpcnN0CisgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICwgdHlwZW5hbWUgQmFja3dhcmRPcAorICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgPgorc3RydWN0IHJldmVyc2VfZm9sZF9pbXBsOworCit0ZW1wbGF0ZTwgbG9uZyBOID4KK3N0cnVjdCByZXZlcnNlX2ZvbGRfY2h1bms7CisKK3RlbXBsYXRlPD4gc3RydWN0IHJldmVyc2VfZm9sZF9jaHVuazwwPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgICAgICwgdHlwZW5hbWUgTGFzdAorICAgICAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgICAgICwgdHlwZW5hbWUgQmFja3dhcmRPcAorICAgICAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgRmlyc3QgaXRlcjA7CisgICAgICAgIHR5cGVkZWYgU3RhdGUgZndkX3N0YXRlMDsKKyAgICAgICAgdHlwZWRlZiBmd2Rfc3RhdGUwIGJrd2Rfc3RhdGUwOworICAgICAgICB0eXBlZGVmIGJrd2Rfc3RhdGUwIHN0YXRlOworICAgICAgICB0eXBlZGVmIGl0ZXIwIGl0ZXJhdG9yOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCByZXZlcnNlX2ZvbGRfY2h1bms8MT4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBGaXJzdAorICAgICAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICAgICAsIHR5cGVuYW1lIEJhY2t3YXJkT3AKKyAgICAgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIEZpcnN0IGl0ZXIwOworICAgICAgICB0eXBlZGVmIFN0YXRlIGZ3ZF9zdGF0ZTA7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsIGZ3ZF9zdGF0ZTAsIHR5cGVuYW1lIGRlcmVmPGl0ZXIwPjo6dHlwZSA+Ojp0eXBlIGZ3ZF9zdGF0ZTE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIwPjo6dHlwZSBpdGVyMTsKKyAgICAgICAgCisKKyAgICAgICAgdHlwZWRlZiBmd2Rfc3RhdGUxIGJrd2Rfc3RhdGUxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgQmFja3dhcmRPcCwgYmt3ZF9zdGF0ZTEsIHR5cGVuYW1lIGRlcmVmPGl0ZXIwPjo6dHlwZSA+Ojp0eXBlIGJrd2Rfc3RhdGUwOworICAgICAgICB0eXBlZGVmIGJrd2Rfc3RhdGUwIHN0YXRlOworICAgICAgICB0eXBlZGVmIGl0ZXIxIGl0ZXJhdG9yOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCByZXZlcnNlX2ZvbGRfY2h1bms8Mj4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBGaXJzdAorICAgICAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICAgICAsIHR5cGVuYW1lIEJhY2t3YXJkT3AKKyAgICAgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIEZpcnN0IGl0ZXIwOworICAgICAgICB0eXBlZGVmIFN0YXRlIGZ3ZF9zdGF0ZTA7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsIGZ3ZF9zdGF0ZTAsIHR5cGVuYW1lIGRlcmVmPGl0ZXIwPjo6dHlwZSA+Ojp0eXBlIGZ3ZF9zdGF0ZTE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIwPjo6dHlwZSBpdGVyMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCwgZndkX3N0YXRlMSwgdHlwZW5hbWUgZGVyZWY8aXRlcjE+Ojp0eXBlID46OnR5cGUgZndkX3N0YXRlMjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjE+Ojp0eXBlIGl0ZXIyOworICAgICAgICAKKworICAgICAgICB0eXBlZGVmIGZ3ZF9zdGF0ZTIgYmt3ZF9zdGF0ZTI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLCBia3dkX3N0YXRlMiwgdHlwZW5hbWUgZGVyZWY8aXRlcjE+Ojp0eXBlID46OnR5cGUgYmt3ZF9zdGF0ZTE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLCBia3dkX3N0YXRlMSwgdHlwZW5hbWUgZGVyZWY8aXRlcjA+Ojp0eXBlID46OnR5cGUgYmt3ZF9zdGF0ZTA7CisgICAgICAgIAorCisgICAgICAgIHR5cGVkZWYgYmt3ZF9zdGF0ZTAgc3RhdGU7CisgICAgICAgIHR5cGVkZWYgaXRlcjIgaXRlcmF0b3I7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4gc3RydWN0IHJldmVyc2VfZm9sZF9jaHVuazwzPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgICAgICwgdHlwZW5hbWUgTGFzdAorICAgICAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgICAgICwgdHlwZW5hbWUgQmFja3dhcmRPcAorICAgICAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgRmlyc3QgaXRlcjA7CisgICAgICAgIHR5cGVkZWYgU3RhdGUgZndkX3N0YXRlMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCwgZndkX3N0YXRlMCwgdHlwZW5hbWUgZGVyZWY8aXRlcjA+Ojp0eXBlID46OnR5cGUgZndkX3N0YXRlMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjA+Ojp0eXBlIGl0ZXIxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLCBmd2Rfc3RhdGUxLCB0eXBlbmFtZSBkZXJlZjxpdGVyMT46OnR5cGUgPjo6dHlwZSBmd2Rfc3RhdGUyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMT46OnR5cGUgaXRlcjI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsIGZ3ZF9zdGF0ZTIsIHR5cGVuYW1lIGRlcmVmPGl0ZXIyPjo6dHlwZSA+Ojp0eXBlIGZ3ZF9zdGF0ZTM7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIyPjo6dHlwZSBpdGVyMzsKKyAgICAgICAgCisKKyAgICAgICAgdHlwZWRlZiBmd2Rfc3RhdGUzIGJrd2Rfc3RhdGUzOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgQmFja3dhcmRPcCwgYmt3ZF9zdGF0ZTMsIHR5cGVuYW1lIGRlcmVmPGl0ZXIyPjo6dHlwZSA+Ojp0eXBlIGJrd2Rfc3RhdGUyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgQmFja3dhcmRPcCwgYmt3ZF9zdGF0ZTIsIHR5cGVuYW1lIGRlcmVmPGl0ZXIxPjo6dHlwZSA+Ojp0eXBlIGJrd2Rfc3RhdGUxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgQmFja3dhcmRPcCwgYmt3ZF9zdGF0ZTEsIHR5cGVuYW1lIGRlcmVmPGl0ZXIwPjo6dHlwZSA+Ojp0eXBlIGJrd2Rfc3RhdGUwOworICAgICAgICAKKworICAgICAgICB0eXBlZGVmIGJrd2Rfc3RhdGUwIHN0YXRlOworICAgICAgICB0eXBlZGVmIGl0ZXIzIGl0ZXJhdG9yOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCByZXZlcnNlX2ZvbGRfY2h1bms8ND4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBGaXJzdAorICAgICAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICAgICAsIHR5cGVuYW1lIEJhY2t3YXJkT3AKKyAgICAgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIEZpcnN0IGl0ZXIwOworICAgICAgICB0eXBlZGVmIFN0YXRlIGZ3ZF9zdGF0ZTA7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsIGZ3ZF9zdGF0ZTAsIHR5cGVuYW1lIGRlcmVmPGl0ZXIwPjo6dHlwZSA+Ojp0eXBlIGZ3ZF9zdGF0ZTE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIwPjo6dHlwZSBpdGVyMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCwgZndkX3N0YXRlMSwgdHlwZW5hbWUgZGVyZWY8aXRlcjE+Ojp0eXBlID46OnR5cGUgZndkX3N0YXRlMjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjE+Ojp0eXBlIGl0ZXIyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLCBmd2Rfc3RhdGUyLCB0eXBlbmFtZSBkZXJlZjxpdGVyMj46OnR5cGUgPjo6dHlwZSBmd2Rfc3RhdGUzOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMj46OnR5cGUgaXRlcjM7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsIGZ3ZF9zdGF0ZTMsIHR5cGVuYW1lIGRlcmVmPGl0ZXIzPjo6dHlwZSA+Ojp0eXBlIGZ3ZF9zdGF0ZTQ7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIzPjo6dHlwZSBpdGVyNDsKKyAgICAgICAgCisKKyAgICAgICAgdHlwZWRlZiBmd2Rfc3RhdGU0IGJrd2Rfc3RhdGU0OworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgQmFja3dhcmRPcCwgYmt3ZF9zdGF0ZTQsIHR5cGVuYW1lIGRlcmVmPGl0ZXIzPjo6dHlwZSA+Ojp0eXBlIGJrd2Rfc3RhdGUzOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgQmFja3dhcmRPcCwgYmt3ZF9zdGF0ZTMsIHR5cGVuYW1lIGRlcmVmPGl0ZXIyPjo6dHlwZSA+Ojp0eXBlIGJrd2Rfc3RhdGUyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgQmFja3dhcmRPcCwgYmt3ZF9zdGF0ZTIsIHR5cGVuYW1lIGRlcmVmPGl0ZXIxPjo6dHlwZSA+Ojp0eXBlIGJrd2Rfc3RhdGUxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgQmFja3dhcmRPcCwgYmt3ZF9zdGF0ZTEsIHR5cGVuYW1lIGRlcmVmPGl0ZXIwPjo6dHlwZSA+Ojp0eXBlIGJrd2Rfc3RhdGUwOworICAgICAgICAKKworICAgICAgICB0eXBlZGVmIGJrd2Rfc3RhdGUwIHN0YXRlOworICAgICAgICB0eXBlZGVmIGl0ZXI0IGl0ZXJhdG9yOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgbG9uZyBOID4KK3N0cnVjdCByZXZlcnNlX2ZvbGRfY2h1bmsKK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBGaXJzdAorICAgICAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICAgICAsIHR5cGVuYW1lIEJhY2t3YXJkT3AKKyAgICAgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIEZpcnN0IGl0ZXIwOworICAgICAgICB0eXBlZGVmIFN0YXRlIGZ3ZF9zdGF0ZTA7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsIGZ3ZF9zdGF0ZTAsIHR5cGVuYW1lIGRlcmVmPGl0ZXIwPjo6dHlwZSA+Ojp0eXBlIGZ3ZF9zdGF0ZTE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIwPjo6dHlwZSBpdGVyMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCwgZndkX3N0YXRlMSwgdHlwZW5hbWUgZGVyZWY8aXRlcjE+Ojp0eXBlID46OnR5cGUgZndkX3N0YXRlMjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjE+Ojp0eXBlIGl0ZXIyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLCBmd2Rfc3RhdGUyLCB0eXBlbmFtZSBkZXJlZjxpdGVyMj46OnR5cGUgPjo6dHlwZSBmd2Rfc3RhdGUzOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMj46OnR5cGUgaXRlcjM7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsIGZ3ZF9zdGF0ZTMsIHR5cGVuYW1lIGRlcmVmPGl0ZXIzPjo6dHlwZSA+Ojp0eXBlIGZ3ZF9zdGF0ZTQ7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIzPjo6dHlwZSBpdGVyNDsKKyAgICAgICAgCisKKyAgICAgICAgdHlwZWRlZiByZXZlcnNlX2ZvbGRfaW1wbDwKKyAgICAgICAgICAgICAgKCAoTiAtIDQpIDwgMCA/IDAgOiBOIC0gNCApCisgICAgICAgICAgICAsIGl0ZXI0CisgICAgICAgICAgICAsIExhc3QKKyAgICAgICAgICAgICwgZndkX3N0YXRlNAorICAgICAgICAgICAgLCBCYWNrd2FyZE9wCisgICAgICAgICAgICAsIEZvcndhcmRPcAorICAgICAgICAgICAgPiBuZXN0ZWRfY2h1bms7CisKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBuZXN0ZWRfY2h1bms6OnN0YXRlIGJrd2Rfc3RhdGU0OworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgQmFja3dhcmRPcCwgYmt3ZF9zdGF0ZTQsIHR5cGVuYW1lIGRlcmVmPGl0ZXIzPjo6dHlwZSA+Ojp0eXBlIGJrd2Rfc3RhdGUzOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgQmFja3dhcmRPcCwgYmt3ZF9zdGF0ZTMsIHR5cGVuYW1lIGRlcmVmPGl0ZXIyPjo6dHlwZSA+Ojp0eXBlIGJrd2Rfc3RhdGUyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgQmFja3dhcmRPcCwgYmt3ZF9zdGF0ZTIsIHR5cGVuYW1lIGRlcmVmPGl0ZXIxPjo6dHlwZSA+Ojp0eXBlIGJrd2Rfc3RhdGUxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgQmFja3dhcmRPcCwgYmt3ZF9zdGF0ZTEsIHR5cGVuYW1lIGRlcmVmPGl0ZXIwPjo6dHlwZSA+Ojp0eXBlIGJrd2Rfc3RhdGUwOworICAgICAgICAKKworICAgICAgICB0eXBlZGVmIGJrd2Rfc3RhdGUwIHN0YXRlOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG5lc3RlZF9jaHVuazo6aXRlcmF0b3IgaXRlcmF0b3I7CisgICAgfTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBCYWNrd2FyZE9wCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+CitzdHJ1Y3QgcmV2ZXJzZV9mb2xkX3N0ZXA7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgTGFzdAorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICA+CitzdHJ1Y3QgcmV2ZXJzZV9mb2xkX251bGxfc3RlcAoreworICAgIHR5cGVkZWYgTGFzdCBpdGVyYXRvcjsKKyAgICB0eXBlZGVmIFN0YXRlIHN0YXRlOworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHJldmVyc2VfZm9sZF9jaHVuazwgLTEgPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgICAgICwgdHlwZW5hbWUgTGFzdAorICAgICAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgICAgICwgdHlwZW5hbWUgQmFja3dhcmRPcAorICAgICAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgaWZfPAorICAgICAgICAgICAgICB0eXBlbmFtZSBpc19zYW1lPCBGaXJzdCxMYXN0ID46OnR5cGUKKyAgICAgICAgICAgICwgcmV2ZXJzZV9mb2xkX251bGxfc3RlcDwgTGFzdCxTdGF0ZSA+CisgICAgICAgICAgICAsIHJldmVyc2VfZm9sZF9zdGVwPCBGaXJzdCxMYXN0LFN0YXRlLEJhY2t3YXJkT3AsRm9yd2FyZE9wID4KKyAgICAgICAgICAgID46OnR5cGUgcmVzXzsKKworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHJlc186OnN0YXRlIHN0YXRlOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHJlc186Oml0ZXJhdG9yIGl0ZXJhdG9yOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICwgdHlwZW5hbWUgQmFja3dhcmRPcAorICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgPgorc3RydWN0IHJldmVyc2VfZm9sZF9zdGVwCit7CisgICAgdHlwZWRlZiByZXZlcnNlX2ZvbGRfY2h1bms8IC0xID46OnRlbXBsYXRlIHJlc3VsdF88CisgICAgICAgICAgdHlwZW5hbWUgbXBsOjpuZXh0PEZpcnN0Pjo6dHlwZQorICAgICAgICAsIExhc3QKKyAgICAgICAgLCB0eXBlbmFtZSBhcHBseTI8Rm9yd2FyZE9wLFN0YXRlLCB0eXBlbmFtZSBkZXJlZjxGaXJzdD46OnR5cGU+Ojp0eXBlCisgICAgICAgICwgQmFja3dhcmRPcAorICAgICAgICAsIEZvcndhcmRPcAorICAgICAgICA+IG5lc3RlZF9zdGVwOworCisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8CisgICAgICAgICAgQmFja3dhcmRPcAorICAgICAgICAsIHR5cGVuYW1lIG5lc3RlZF9zdGVwOjpzdGF0ZQorICAgICAgICAsIHR5cGVuYW1lIGRlcmVmPEZpcnN0Pjo6dHlwZQorICAgICAgICA+Ojp0eXBlIHN0YXRlOworCisgICAgdHlwZWRlZiB0eXBlbmFtZSBuZXN0ZWRfc3RlcDo6aXRlcmF0b3IgaXRlcmF0b3I7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIGxvbmcgTgorICAgICwgdHlwZW5hbWUgRmlyc3QKKyAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBCYWNrd2FyZE9wCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+CitzdHJ1Y3QgcmV2ZXJzZV9mb2xkX2ltcGwKKyAgICA6IHJldmVyc2VfZm9sZF9jaHVuazxOPgorICAgICAgICA6OnRlbXBsYXRlIHJlc3VsdF88IEZpcnN0LExhc3QsU3RhdGUsQmFja3dhcmRPcCxGb3J3YXJkT3AgPgoreworfTsKKworfX19CmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjNTUxL3JldmVyc2VfaXRlcl9mb2xkX2ltcGwuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjYzU1MS9yZXZlcnNlX2l0ZXJfZm9sZF9pbXBsLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41N2NjNjg4Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjYzU1MS9yZXZlcnNlX2l0ZXJfZm9sZF9pbXBsLmhwcApAQCAtMCwwICsxLDI5NSBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvYXV4Xy9yZXZlcnNlX2l0ZXJfZm9sZF9pbXBsLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeyBuYW1lc3BhY2UgYXV4IHsKKworLy8vIGZvcndhcmQgZGVjbGFyYXRpb24KKwordGVtcGxhdGU8CisgICAgICBsb25nIE4KKyAgICAsIHR5cGVuYW1lIEZpcnN0CisgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICwgdHlwZW5hbWUgQmFja3dhcmRPcAorICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgPgorc3RydWN0IHJldmVyc2VfaXRlcl9mb2xkX2ltcGw7CisKK3RlbXBsYXRlPCBsb25nIE4gPgorc3RydWN0IHJldmVyc2VfaXRlcl9mb2xkX2NodW5rOworCit0ZW1wbGF0ZTw+IHN0cnVjdCByZXZlcnNlX2l0ZXJfZm9sZF9jaHVuazwwPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgICAgICwgdHlwZW5hbWUgTGFzdAorICAgICAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgICAgICwgdHlwZW5hbWUgQmFja3dhcmRPcAorICAgICAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgRmlyc3QgaXRlcjA7CisgICAgICAgIHR5cGVkZWYgU3RhdGUgZndkX3N0YXRlMDsKKyAgICAgICAgdHlwZWRlZiBmd2Rfc3RhdGUwIGJrd2Rfc3RhdGUwOworICAgICAgICB0eXBlZGVmIGJrd2Rfc3RhdGUwIHN0YXRlOworICAgICAgICB0eXBlZGVmIGl0ZXIwIGl0ZXJhdG9yOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCByZXZlcnNlX2l0ZXJfZm9sZF9jaHVuazwxPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgICAgICwgdHlwZW5hbWUgTGFzdAorICAgICAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgICAgICwgdHlwZW5hbWUgQmFja3dhcmRPcAorICAgICAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgRmlyc3QgaXRlcjA7CisgICAgICAgIHR5cGVkZWYgU3RhdGUgZndkX3N0YXRlMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCxmd2Rfc3RhdGUwLGl0ZXIwID46OnR5cGUgZndkX3N0YXRlMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjA+Ojp0eXBlIGl0ZXIxOworICAgICAgICAKKworICAgICAgICB0eXBlZGVmIGZ3ZF9zdGF0ZTEgYmt3ZF9zdGF0ZTE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLGJrd2Rfc3RhdGUxLGl0ZXIwID46OnR5cGUgYmt3ZF9zdGF0ZTA7CisgICAgICAgIHR5cGVkZWYgYmt3ZF9zdGF0ZTAgc3RhdGU7CisgICAgICAgIHR5cGVkZWYgaXRlcjEgaXRlcmF0b3I7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4gc3RydWN0IHJldmVyc2VfaXRlcl9mb2xkX2NodW5rPDI+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAgICAgLCB0eXBlbmFtZSBCYWNrd2FyZE9wCisgICAgICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiBGaXJzdCBpdGVyMDsKKyAgICAgICAgdHlwZWRlZiBTdGF0ZSBmd2Rfc3RhdGUwOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLGZ3ZF9zdGF0ZTAsaXRlcjAgPjo6dHlwZSBmd2Rfc3RhdGUxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMD46OnR5cGUgaXRlcjE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsZndkX3N0YXRlMSxpdGVyMSA+Ojp0eXBlIGZ3ZF9zdGF0ZTI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIxPjo6dHlwZSBpdGVyMjsKKyAgICAgICAgCisKKyAgICAgICAgdHlwZWRlZiBmd2Rfc3RhdGUyIGJrd2Rfc3RhdGUyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgQmFja3dhcmRPcCxia3dkX3N0YXRlMixpdGVyMSA+Ojp0eXBlIGJrd2Rfc3RhdGUxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgQmFja3dhcmRPcCxia3dkX3N0YXRlMSxpdGVyMCA+Ojp0eXBlIGJrd2Rfc3RhdGUwOworICAgICAgICAKKworICAgICAgICB0eXBlZGVmIGJrd2Rfc3RhdGUwIHN0YXRlOworICAgICAgICB0eXBlZGVmIGl0ZXIyIGl0ZXJhdG9yOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCByZXZlcnNlX2l0ZXJfZm9sZF9jaHVuazwzPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgICAgICwgdHlwZW5hbWUgTGFzdAorICAgICAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgICAgICwgdHlwZW5hbWUgQmFja3dhcmRPcAorICAgICAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgRmlyc3QgaXRlcjA7CisgICAgICAgIHR5cGVkZWYgU3RhdGUgZndkX3N0YXRlMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCxmd2Rfc3RhdGUwLGl0ZXIwID46OnR5cGUgZndkX3N0YXRlMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjA+Ojp0eXBlIGl0ZXIxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLGZ3ZF9zdGF0ZTEsaXRlcjEgPjo6dHlwZSBmd2Rfc3RhdGUyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMT46OnR5cGUgaXRlcjI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsZndkX3N0YXRlMixpdGVyMiA+Ojp0eXBlIGZ3ZF9zdGF0ZTM7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIyPjo6dHlwZSBpdGVyMzsKKyAgICAgICAgCisKKyAgICAgICAgdHlwZWRlZiBmd2Rfc3RhdGUzIGJrd2Rfc3RhdGUzOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgQmFja3dhcmRPcCxia3dkX3N0YXRlMyxpdGVyMiA+Ojp0eXBlIGJrd2Rfc3RhdGUyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgQmFja3dhcmRPcCxia3dkX3N0YXRlMixpdGVyMSA+Ojp0eXBlIGJrd2Rfc3RhdGUxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgQmFja3dhcmRPcCxia3dkX3N0YXRlMSxpdGVyMCA+Ojp0eXBlIGJrd2Rfc3RhdGUwOworICAgICAgICAKKworICAgICAgICB0eXBlZGVmIGJrd2Rfc3RhdGUwIHN0YXRlOworICAgICAgICB0eXBlZGVmIGl0ZXIzIGl0ZXJhdG9yOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCByZXZlcnNlX2l0ZXJfZm9sZF9jaHVuazw0PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgICAgICwgdHlwZW5hbWUgTGFzdAorICAgICAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgICAgICwgdHlwZW5hbWUgQmFja3dhcmRPcAorICAgICAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgRmlyc3QgaXRlcjA7CisgICAgICAgIHR5cGVkZWYgU3RhdGUgZndkX3N0YXRlMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCxmd2Rfc3RhdGUwLGl0ZXIwID46OnR5cGUgZndkX3N0YXRlMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjA+Ojp0eXBlIGl0ZXIxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLGZ3ZF9zdGF0ZTEsaXRlcjEgPjo6dHlwZSBmd2Rfc3RhdGUyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMT46OnR5cGUgaXRlcjI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsZndkX3N0YXRlMixpdGVyMiA+Ojp0eXBlIGZ3ZF9zdGF0ZTM7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIyPjo6dHlwZSBpdGVyMzsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCxmd2Rfc3RhdGUzLGl0ZXIzID46OnR5cGUgZndkX3N0YXRlNDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjM+Ojp0eXBlIGl0ZXI0OworICAgICAgICAKKworICAgICAgICB0eXBlZGVmIGZ3ZF9zdGF0ZTQgYmt3ZF9zdGF0ZTQ7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLGJrd2Rfc3RhdGU0LGl0ZXIzID46OnR5cGUgYmt3ZF9zdGF0ZTM7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLGJrd2Rfc3RhdGUzLGl0ZXIyID46OnR5cGUgYmt3ZF9zdGF0ZTI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLGJrd2Rfc3RhdGUyLGl0ZXIxID46OnR5cGUgYmt3ZF9zdGF0ZTE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLGJrd2Rfc3RhdGUxLGl0ZXIwID46OnR5cGUgYmt3ZF9zdGF0ZTA7CisgICAgICAgIAorCisgICAgICAgIHR5cGVkZWYgYmt3ZF9zdGF0ZTAgc3RhdGU7CisgICAgICAgIHR5cGVkZWYgaXRlcjQgaXRlcmF0b3I7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCBsb25nIE4gPgorc3RydWN0IHJldmVyc2VfaXRlcl9mb2xkX2NodW5rCit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAgICAgLCB0eXBlbmFtZSBCYWNrd2FyZE9wCisgICAgICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiBGaXJzdCBpdGVyMDsKKyAgICAgICAgdHlwZWRlZiBTdGF0ZSBmd2Rfc3RhdGUwOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLGZ3ZF9zdGF0ZTAsaXRlcjAgPjo6dHlwZSBmd2Rfc3RhdGUxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMD46OnR5cGUgaXRlcjE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsZndkX3N0YXRlMSxpdGVyMSA+Ojp0eXBlIGZ3ZF9zdGF0ZTI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIxPjo6dHlwZSBpdGVyMjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCxmd2Rfc3RhdGUyLGl0ZXIyID46OnR5cGUgZndkX3N0YXRlMzsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjI+Ojp0eXBlIGl0ZXIzOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLGZ3ZF9zdGF0ZTMsaXRlcjMgPjo6dHlwZSBmd2Rfc3RhdGU0OworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMz46OnR5cGUgaXRlcjQ7CisgICAgICAgIAorCisgICAgICAgIHR5cGVkZWYgcmV2ZXJzZV9pdGVyX2ZvbGRfaW1wbDwKKyAgICAgICAgICAgICAgKCAoTiAtIDQpIDwgMCA/IDAgOiBOIC0gNCApCisgICAgICAgICAgICAsIGl0ZXI0CisgICAgICAgICAgICAsIExhc3QKKyAgICAgICAgICAgICwgZndkX3N0YXRlNAorICAgICAgICAgICAgLCBCYWNrd2FyZE9wCisgICAgICAgICAgICAsIEZvcndhcmRPcAorICAgICAgICAgICAgPiBuZXN0ZWRfY2h1bms7CisKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBuZXN0ZWRfY2h1bms6OnN0YXRlIGJrd2Rfc3RhdGU0OworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgQmFja3dhcmRPcCxia3dkX3N0YXRlNCxpdGVyMyA+Ojp0eXBlIGJrd2Rfc3RhdGUzOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgQmFja3dhcmRPcCxia3dkX3N0YXRlMyxpdGVyMiA+Ojp0eXBlIGJrd2Rfc3RhdGUyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgQmFja3dhcmRPcCxia3dkX3N0YXRlMixpdGVyMSA+Ojp0eXBlIGJrd2Rfc3RhdGUxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgQmFja3dhcmRPcCxia3dkX3N0YXRlMSxpdGVyMCA+Ojp0eXBlIGJrd2Rfc3RhdGUwOworICAgICAgICAKKworICAgICAgICB0eXBlZGVmIGJrd2Rfc3RhdGUwIHN0YXRlOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG5lc3RlZF9jaHVuazo6aXRlcmF0b3IgaXRlcmF0b3I7CisgICAgfTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBCYWNrd2FyZE9wCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+CitzdHJ1Y3QgcmV2ZXJzZV9pdGVyX2ZvbGRfc3RlcDsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBMYXN0CisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgID4KK3N0cnVjdCByZXZlcnNlX2l0ZXJfZm9sZF9udWxsX3N0ZXAKK3sKKyAgICB0eXBlZGVmIExhc3QgaXRlcmF0b3I7CisgICAgdHlwZWRlZiBTdGF0ZSBzdGF0ZTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCByZXZlcnNlX2l0ZXJfZm9sZF9jaHVuazwgLTEgPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgICAgICwgdHlwZW5hbWUgTGFzdAorICAgICAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgICAgICwgdHlwZW5hbWUgQmFja3dhcmRPcAorICAgICAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgaWZfPAorICAgICAgICAgICAgICB0eXBlbmFtZSBpc19zYW1lPCBGaXJzdCxMYXN0ID46OnR5cGUKKyAgICAgICAgICAgICwgcmV2ZXJzZV9pdGVyX2ZvbGRfbnVsbF9zdGVwPCBMYXN0LFN0YXRlID4KKyAgICAgICAgICAgICwgcmV2ZXJzZV9pdGVyX2ZvbGRfc3RlcDwgRmlyc3QsTGFzdCxTdGF0ZSxCYWNrd2FyZE9wLEZvcndhcmRPcCA+CisgICAgICAgICAgICA+Ojp0eXBlIHJlc187CisKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByZXNfOjpzdGF0ZSBzdGF0ZTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByZXNfOjppdGVyYXRvciBpdGVyYXRvcjsKKyAgICB9OworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGaXJzdAorICAgICwgdHlwZW5hbWUgTGFzdAorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEJhY2t3YXJkT3AKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgID4KK3N0cnVjdCByZXZlcnNlX2l0ZXJfZm9sZF9zdGVwCit7CisgICAgdHlwZWRlZiByZXZlcnNlX2l0ZXJfZm9sZF9jaHVuazwgLTEgPjo6dGVtcGxhdGUgcmVzdWx0XzwKKyAgICAgICAgICB0eXBlbmFtZSBtcGw6Om5leHQ8Rmlyc3Q+Ojp0eXBlCisgICAgICAgICwgTGFzdAorICAgICAgICAsIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLFN0YXRlLEZpcnN0ID46OnR5cGUKKyAgICAgICAgLCBCYWNrd2FyZE9wCisgICAgICAgICwgRm9yd2FyZE9wCisgICAgICAgID4gbmVzdGVkX3N0ZXA7CisKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwKKyAgICAgICAgICBCYWNrd2FyZE9wCisgICAgICAgICwgdHlwZW5hbWUgbmVzdGVkX3N0ZXA6OnN0YXRlCisgICAgICAgICwgRmlyc3QKKyAgICAgICAgPjo6dHlwZSBzdGF0ZTsKKworICAgIHR5cGVkZWYgdHlwZW5hbWUgbmVzdGVkX3N0ZXA6Oml0ZXJhdG9yIGl0ZXJhdG9yOworfTsKKwordGVtcGxhdGU8CisgICAgICBsb25nIE4KKyAgICAsIHR5cGVuYW1lIEZpcnN0CisgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICwgdHlwZW5hbWUgQmFja3dhcmRPcAorICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgPgorc3RydWN0IHJldmVyc2VfaXRlcl9mb2xkX2ltcGwKKyAgICA6IHJldmVyc2VfaXRlcl9mb2xkX2NodW5rPE4+CisgICAgICAgIDo6dGVtcGxhdGUgcmVzdWx0XzwgRmlyc3QsTGFzdCxTdGF0ZSxCYWNrd2FyZE9wLEZvcndhcmRPcCA+Cit7Cit9OworCit9fX0KZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2M1NTEvc2V0LmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2M1NTEvc2V0LmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40YzRjYTExCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjYzU1MS9zZXQuaHBwCkBAIC0wLDAgKzEsMzIzIEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9zZXQuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAgPSBuYSwgdHlwZW5hbWUgVDEgPSBuYSwgdHlwZW5hbWUgVDIgPSBuYSwgdHlwZW5hbWUgVDMgPSBuYQorICAgICwgdHlwZW5hbWUgVDQgPSBuYSwgdHlwZW5hbWUgVDUgPSBuYSwgdHlwZW5hbWUgVDYgPSBuYSwgdHlwZW5hbWUgVDcgPSBuYQorICAgICwgdHlwZW5hbWUgVDggPSBuYSwgdHlwZW5hbWUgVDkgPSBuYSwgdHlwZW5hbWUgVDEwID0gbmEsIHR5cGVuYW1lIFQxMSA9IG5hCisgICAgLCB0eXBlbmFtZSBUMTIgPSBuYSwgdHlwZW5hbWUgVDEzID0gbmEsIHR5cGVuYW1lIFQxNCA9IG5hCisgICAgLCB0eXBlbmFtZSBUMTUgPSBuYSwgdHlwZW5hbWUgVDE2ID0gbmEsIHR5cGVuYW1lIFQxNyA9IG5hCisgICAgLCB0eXBlbmFtZSBUMTggPSBuYSwgdHlwZW5hbWUgVDE5ID0gbmEKKyAgICA+CitzdHJ1Y3Qgc2V0OworCit0ZW1wbGF0ZTwKKyAgICAgCisgICAgPgorc3RydWN0IHNldDwKKyAgICAgICAgICBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHNldDA8ICA+Cit7CisgICAgdHlwZWRlZiBzZXQwPCAgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMAorICAgID4KK3N0cnVjdCBzZXQ8CisgICAgICAgICAgVDAsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBzZXQxPFQwPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0MTxUMD46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxCisgICAgPgorc3RydWN0IHNldDwKKyAgICAgICAgICBUMCwgVDEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHNldDI8IFQwLFQxID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDI8IFQwLFQxID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMgorICAgID4KK3N0cnVjdCBzZXQ8CisgICAgICAgICAgVDAsIFQxLCBUMiwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBzZXQzPCBUMCxUMSxUMiA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQzPCBUMCxUMSxUMiA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzCisgICAgPgorc3RydWN0IHNldDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHNldDQ8IFQwLFQxLFQyLFQzID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDQ8IFQwLFQxLFQyLFQzID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgPgorc3RydWN0IHNldDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHNldDU8IFQwLFQxLFQyLFQzLFQ0ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDU8IFQwLFQxLFQyLFQzLFQ0ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNQorICAgID4KK3N0cnVjdCBzZXQ8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBzZXQ2PCBUMCxUMSxUMixUMyxUNCxUNSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQ2PCBUMCxUMSxUMixUMyxUNCxUNSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2CisgICAgPgorc3RydWN0IHNldDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHNldDc8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDc8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3CisgICAgPgorc3RydWN0IHNldDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHNldDg8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDg8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOAorICAgID4KK3N0cnVjdCBzZXQ8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBzZXQ5PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQ5PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgPgorc3RydWN0IHNldDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHNldDEwPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQxMDwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDkgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwCisgICAgPgorc3RydWN0IHNldDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBzZXQxMTwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDExPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEKKyAgICA+CitzdHJ1Y3Qgc2V0PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBzZXQxMjwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQxMjwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyCisgICAgPgorc3RydWN0IHNldDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHNldDEzPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMiA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQxMzwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzCisgICAgPgorc3RydWN0IHNldDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBzZXQxNDwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDE0PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICA+CitzdHJ1Y3Qgc2V0PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNCwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBzZXQxNTwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0MTU8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyxUMTQgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAsIHR5cGVuYW1lIFQxNQorICAgID4KK3N0cnVjdCBzZXQ8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1LCBuYSwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBzZXQxNjwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgLCBUMTUKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0MTY8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyxUMTQsVDE1ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNgorICAgID4KK3N0cnVjdCBzZXQ8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1LCBUMTYsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogc2V0MTc8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1LCBUMTYKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0MTc8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyxUMTQsVDE1LFQxNiA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNworICAgID4KK3N0cnVjdCBzZXQ8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1LCBUMTYsIFQxNywgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHNldDE4PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgVDE2LCBUMTcKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0MTg8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyxUMTQsVDE1LFQxNixUMTcgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOAorICAgID4KK3N0cnVjdCBzZXQ8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1LCBUMTYsIFQxNywgVDE4LCBuYQorICAgICAgICA+CisgICAgOiBzZXQxOTwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgLCBUMTUsIFQxNiwgVDE3LCBUMTgKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0MTk8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyxUMTQsVDE1LFQxNixUMTcsVDE4ID46OnR5cGUgdHlwZTsKK307CisKKy8vLyBwcmltYXJ5IHRlbXBsYXRlIChub3QgYSBzcGVjaWFsaXphdGlvbiEpCisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgID4KK3N0cnVjdCBzZXQKKyAgICA6IHNldDIwPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgVDE2LCBUMTcsIFQxOCwgVDE5CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDIwPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMsVDE0LFQxNSxUMTYsVDE3LFQxOCxUMTkgPjo6dHlwZSB0eXBlOworfTsKKworfX0KKwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjYzU1MS9zZXRfYy5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjNTUxL3NldF9jLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZWYyZmRlCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjYzU1MS9zZXRfYy5ocHAKQEAgLTAsMCArMSwzMjggQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL3NldF9jLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAgPSBMT05HX01BWCwgbG9uZyBDMSA9IExPTkdfTUFYLCBsb25nIEMyID0gTE9OR19NQVgKKyAgICAsIGxvbmcgQzMgPSBMT05HX01BWCwgbG9uZyBDNCA9IExPTkdfTUFYLCBsb25nIEM1ID0gTE9OR19NQVgKKyAgICAsIGxvbmcgQzYgPSBMT05HX01BWCwgbG9uZyBDNyA9IExPTkdfTUFYLCBsb25nIEM4ID0gTE9OR19NQVgKKyAgICAsIGxvbmcgQzkgPSBMT05HX01BWCwgbG9uZyBDMTAgPSBMT05HX01BWCwgbG9uZyBDMTEgPSBMT05HX01BWAorICAgICwgbG9uZyBDMTIgPSBMT05HX01BWCwgbG9uZyBDMTMgPSBMT05HX01BWCwgbG9uZyBDMTQgPSBMT05HX01BWAorICAgICwgbG9uZyBDMTUgPSBMT05HX01BWCwgbG9uZyBDMTYgPSBMT05HX01BWCwgbG9uZyBDMTcgPSBMT05HX01BWAorICAgICwgbG9uZyBDMTggPSBMT05HX01BWCwgbG9uZyBDMTkgPSBMT05HX01BWAorICAgID4KK3N0cnVjdCBzZXRfYzsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUCisgICAgPgorc3RydWN0IHNldF9jPAorICAgICAgICAgIFQsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IHNldDBfYzxUPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0MF9jPFQ+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAKKyAgICA+CitzdHJ1Y3Qgc2V0X2M8CisgICAgICAgICAgVCwgQzAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogc2V0MV9jPCBULEMwID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDFfYzwgVCxDMCA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEKKyAgICA+CitzdHJ1Y3Qgc2V0X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogc2V0Ml9jPCBULEMwLEMxID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDJfYzwgVCxDMCxDMSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIKKyAgICA+CitzdHJ1Y3Qgc2V0X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogc2V0M19jPCBULEMwLEMxLEMyID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDNfYzwgVCxDMCxDMSxDMiA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMKKyAgICA+CitzdHJ1Y3Qgc2V0X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogc2V0NF9jPCBULEMwLEMxLEMyLEMzID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDRfYzwgVCxDMCxDMSxDMixDMyA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQKKyAgICA+CitzdHJ1Y3Qgc2V0X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogc2V0NV9jPCBULEMwLEMxLEMyLEMzLEM0ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDVfYzwgVCxDMCxDMSxDMixDMyxDNCA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICA+CitzdHJ1Y3Qgc2V0X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogc2V0Nl9jPCBULEMwLEMxLEMyLEMzLEM0LEM1ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDZfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAsIGxvbmcgQzYKKyAgICA+CitzdHJ1Y3Qgc2V0X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogc2V0N19jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDdfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNiA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAsIGxvbmcgQzYsIGxvbmcgQzcKKyAgICA+CitzdHJ1Y3Qgc2V0X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogc2V0OF9jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2LEM3ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDhfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgKKyAgICA+CitzdHJ1Y3Qgc2V0X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogc2V0OV9jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2LEM3LEM4ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDlfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyxDOCA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzkKKyAgICA+CitzdHJ1Y3Qgc2V0X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogc2V0MTBfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyxDOCxDOSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQxMF9jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2LEM3LEM4LEM5ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAKKyAgICA+CitzdHJ1Y3Qgc2V0X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogc2V0MTFfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyxDOCxDOSxDMTAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0MTFfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyxDOCxDOSxDMTAgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEKKyAgICA+CitzdHJ1Y3Qgc2V0X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IHNldDEyX2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcsQzgsQzksQzEwLEMxMSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQxMl9jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2LEM3LEM4LEM5LEMxMCxDMTEgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgPgorc3RydWN0IHNldF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogc2V0MTNfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyxDOCxDOSxDMTAsQzExLEMxMiA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQxM19jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2LEM3LEM4LEM5LEMxMCxDMTEsQzEyID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgICwgbG9uZyBDMTMKKyAgICA+CitzdHJ1Y3Qgc2V0X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBDMTIsIEMxMworICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogc2V0MTRfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIEMxMiwgQzEzCisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDE0X2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcsQzgsQzksQzEwLEMxMSxDMTIsQzEzID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0CisgICAgPgorc3RydWN0IHNldF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMsIEMxNAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiBzZXQxNV9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMsIEMxNAorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQxNV9jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2LEM3LEM4LEM5LEMxMCxDMTEsQzEyLEMxMyxDMTQgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1CisgICAgPgorc3RydWN0IHNldF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMsIEMxNAorICAgICAgICAsIEMxNSwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogc2V0MTZfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIEMxMiwgQzEzLCBDMTQKKyAgICAgICAgLCBDMTUKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0MTZfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyxDOCxDOSxDMTAsQzExLEMxMixDMTMsQzE0LEMxNSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAsIGxvbmcgQzEzLCBsb25nIEMxNCwgbG9uZyBDMTUsIGxvbmcgQzE2CisgICAgPgorc3RydWN0IHNldF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMsIEMxNAorICAgICAgICAsIEMxNSwgQzE2LCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IHNldDE3X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBDMTIsIEMxMywgQzE0CisgICAgICAgICwgQzE1LCBDMTYKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0MTdfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyxDOCxDOSxDMTAsQzExLEMxMixDMTMsQzE0LEMxNSxDMTYgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1LCBsb25nIEMxNiwgbG9uZyBDMTcKKyAgICA+CitzdHJ1Y3Qgc2V0X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBDMTIsIEMxMywgQzE0CisgICAgICAgICwgQzE1LCBDMTYsIEMxNywgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IHNldDE4X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBDMTIsIEMxMywgQzE0CisgICAgICAgICwgQzE1LCBDMTYsIEMxNworICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQxOF9jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2LEM3LEM4LEM5LEMxMCxDMTEsQzEyLEMxMyxDMTQsQzE1LEMxNixDMTcgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1LCBsb25nIEMxNiwgbG9uZyBDMTcsIGxvbmcgQzE4CisgICAgPgorc3RydWN0IHNldF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMsIEMxNAorICAgICAgICAsIEMxNSwgQzE2LCBDMTcsIEMxOCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogc2V0MTlfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIEMxMiwgQzEzLCBDMTQKKyAgICAgICAgLCBDMTUsIEMxNiwgQzE3LCBDMTgKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0MTlfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyxDOCxDOSxDMTAsQzExLEMxMixDMTMsQzE0LEMxNSxDMTYsQzE3LEMxOCA+Ojp0eXBlIHR5cGU7Cit9OworCisvLy8gcHJpbWFyeSB0ZW1wbGF0ZSAobm90IGEgc3BlY2lhbGl6YXRpb24hKQorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAsIGxvbmcgQzEzLCBsb25nIEMxNCwgbG9uZyBDMTUsIGxvbmcgQzE2LCBsb25nIEMxNywgbG9uZyBDMTgsIGxvbmcgQzE5CisgICAgPgorc3RydWN0IHNldF9jCisgICAgOiBzZXQyMF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMsIEMxNAorICAgICAgICAsIEMxNSwgQzE2LCBDMTcsIEMxOCwgQzE5CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDIwX2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcsQzgsQzksQzEwLEMxMSxDMTIsQzEzLEMxNCxDMTUsQzE2LEMxNyxDMTgsQzE5ID46OnR5cGUgdHlwZTsKK307CisKK319CisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2M1NTEvc2hpZnRfbGVmdC5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjNTUxL3NoaWZ0X2xlZnQuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM4ZGYyOWMKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjNTUxL3NoaWZ0X2xlZnQuaHBwCkBAIC0wLDAgKzEsOTkgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLyBDb3B5cmlnaHQgSmFhcCBTdXRlciAyMDAzCisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL3NoaWZ0X2xlZnQuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVGFnMQorICAgICwgdHlwZW5hbWUgVGFnMgorICAgID4KK3N0cnVjdCBzaGlmdF9sZWZ0X2ltcGwKKyAgICA6IGlmX2M8CisgICAgICAgICAgKCBCT09TVF9NUExfQVVYX05FU1RFRF9WQUxVRV9XS05EKGludCwgVGFnMSkKKyAgICAgICAgICAgICAgPiBCT09TVF9NUExfQVVYX05FU1RFRF9WQUxVRV9XS05EKGludCwgVGFnMikKKyAgICAgICAgICAgICkKKworICAgICAgICAsIGF1eDo6Y2FzdDJuZF9pbXBsPCBzaGlmdF9sZWZ0X2ltcGw8IFRhZzEsVGFnMSA+LFRhZzEsIFRhZzIgPgorICAgICAgICAsIGF1eDo6Y2FzdDFzdF9pbXBsPCBzaGlmdF9sZWZ0X2ltcGw8IFRhZzIsVGFnMiA+LFRhZzEsIFRhZzIgPgorICAgICAgICA+Ojp0eXBlCit7Cit9OworCisvLy8gZm9yIERpZ2l0YWwgTWFycyBDKysvY29tcGlsZXJzIHdpdGggbm8gQ1RQUy9UVFAgc3VwcG9ydAordGVtcGxhdGU8PiBzdHJ1Y3Qgc2hpZnRfbGVmdF9pbXBsPCBuYSxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFRhZyA+IHN0cnVjdCBzaGlmdF9sZWZ0X2ltcGw8IG5hLFRhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFRhZyA+IHN0cnVjdCBzaGlmdF9sZWZ0X2ltcGw8IFRhZyxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFQgPiBzdHJ1Y3Qgc2hpZnRfbGVmdF90YWcKK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIFQ6OnRhZyB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4xKQorICAgICwgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMikKKyAgICA+CitzdHJ1Y3Qgc2hpZnRfbGVmdAorCisgICAgOiBzaGlmdF9sZWZ0X2ltcGw8CisgICAgICAgICAgdHlwZW5hbWUgc2hpZnRfbGVmdF90YWc8TjE+Ojp0eXBlCisgICAgICAgICwgdHlwZW5hbWUgc2hpZnRfbGVmdF90YWc8TjI+Ojp0eXBlCisgICAgICAgID46OnRlbXBsYXRlIGFwcGx5PCBOMSxOMiA+Ojp0eXBlCit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgyLCBzaGlmdF9sZWZ0LCAoTjEsIE4yKSkKKworfTsKKworQk9PU1RfTVBMX0FVWF9OQV9TUEVDMigyLCAyLCBzaGlmdF9sZWZ0KQorCit9fQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKK3RlbXBsYXRlPD4KK3N0cnVjdCBzaGlmdF9sZWZ0X2ltcGw8IGludGVncmFsX2NfdGFnLGludGVncmFsX2NfdGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgTiwgdHlwZW5hbWUgUyA+IHN0cnVjdCBhcHBseQorCisgICAgICAgIDogaW50ZWdyYWxfYzwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgTjo6dmFsdWVfdHlwZQorICAgICAgICAgICAgLCAoIEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChOKTo6dmFsdWUKKyAgICAgICAgICAgICAgICAgIDw8IEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChTKTo6dmFsdWUKKyAgICAgICAgICAgICAgICApCisgICAgICAgICAgICA+CisgICAgeworICAgIH07Cit9OworCit9fQpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjYzU1MS9zaGlmdF9yaWdodC5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjNTUxL3NoaWZ0X3JpZ2h0LmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNzI2ZmYxCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjYzU1MS9zaGlmdF9yaWdodC5ocHAKQEAgLTAsMCArMSw5OSBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vIENvcHlyaWdodCBKYWFwIFN1dGVyIDIwMDMKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvc2hpZnRfcmlnaHQuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVGFnMQorICAgICwgdHlwZW5hbWUgVGFnMgorICAgID4KK3N0cnVjdCBzaGlmdF9yaWdodF9pbXBsCisgICAgOiBpZl9jPAorICAgICAgICAgICggQk9PU1RfTVBMX0FVWF9ORVNURURfVkFMVUVfV0tORChpbnQsIFRhZzEpCisgICAgICAgICAgICAgID4gQk9PU1RfTVBMX0FVWF9ORVNURURfVkFMVUVfV0tORChpbnQsIFRhZzIpCisgICAgICAgICAgICApCisKKyAgICAgICAgLCBhdXg6OmNhc3QybmRfaW1wbDwgc2hpZnRfcmlnaHRfaW1wbDwgVGFnMSxUYWcxID4sVGFnMSwgVGFnMiA+CisgICAgICAgICwgYXV4OjpjYXN0MXN0X2ltcGw8IHNoaWZ0X3JpZ2h0X2ltcGw8IFRhZzIsVGFnMiA+LFRhZzEsIFRhZzIgPgorICAgICAgICA+Ojp0eXBlCit7Cit9OworCisvLy8gZm9yIERpZ2l0YWwgTWFycyBDKysvY29tcGlsZXJzIHdpdGggbm8gQ1RQUy9UVFAgc3VwcG9ydAordGVtcGxhdGU8PiBzdHJ1Y3Qgc2hpZnRfcmlnaHRfaW1wbDwgbmEsbmEgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUYWcgPiBzdHJ1Y3Qgc2hpZnRfcmlnaHRfaW1wbDwgbmEsVGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVGFnID4gc3RydWN0IHNoaWZ0X3JpZ2h0X2ltcGw8IFRhZyxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFQgPiBzdHJ1Y3Qgc2hpZnRfcmlnaHRfdGFnCit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBUOjp0YWcgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMSkKKyAgICAsIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjIpCisgICAgPgorc3RydWN0IHNoaWZ0X3JpZ2h0CisKKyAgICA6IHNoaWZ0X3JpZ2h0X2ltcGw8CisgICAgICAgICAgdHlwZW5hbWUgc2hpZnRfcmlnaHRfdGFnPE4xPjo6dHlwZQorICAgICAgICAsIHR5cGVuYW1lIHNoaWZ0X3JpZ2h0X3RhZzxOMj46OnR5cGUKKyAgICAgICAgPjo6dGVtcGxhdGUgYXBwbHk8IE4xLE4yID46OnR5cGUKK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKDIsIHNoaWZ0X3JpZ2h0LCAoTjEsIE4yKSkKKworfTsKKworQk9PU1RfTVBMX0FVWF9OQV9TUEVDMigyLCAyLCBzaGlmdF9yaWdodCkKKworfX0KKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7Cit0ZW1wbGF0ZTw+CitzdHJ1Y3Qgc2hpZnRfcmlnaHRfaW1wbDwgaW50ZWdyYWxfY190YWcsaW50ZWdyYWxfY190YWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBOLCB0eXBlbmFtZSBTID4gc3RydWN0IGFwcGx5CisKKyAgICAgICAgOiBpbnRlZ3JhbF9jPAorICAgICAgICAgICAgICB0eXBlbmFtZSBOOjp2YWx1ZV90eXBlCisgICAgICAgICAgICAsICggQk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4pOjp2YWx1ZQorICAgICAgICAgICAgICAgICAgPj4gQk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKFMpOjp2YWx1ZQorICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgID4KKyAgICB7CisgICAgfTsKK307CisKK319CmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjNTUxL3RlbXBsYXRlX2FyaXR5LmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2M1NTEvdGVtcGxhdGVfYXJpdHkuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY1MDU3OGYKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjNTUxL3RlbXBsYXRlX2FyaXR5LmhwcApAQCAtMCwwICsxLDQwIEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDEtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9hdXhfL3RlbXBsYXRlX2FyaXR5LmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeyBuYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8IGJvb2wgPgorc3RydWN0IHRlbXBsYXRlX2FyaXR5X2ltcGwKK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgRiA+IHN0cnVjdCByZXN1bHRfCisgICAgICAgIDogbXBsOjppbnRfPCAtMSA+CisgICAgeworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgdGVtcGxhdGVfYXJpdHlfaW1wbDx0cnVlPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBGID4gc3RydWN0IHJlc3VsdF8KKyAgICAgICAgOiBGOjphcml0eQorICAgIHsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIEYgPgorc3RydWN0IHRlbXBsYXRlX2FyaXR5CisgICAgOiB0ZW1wbGF0ZV9hcml0eV9pbXBsPCA6Om5kbmJvb3N0OjptcGw6OmF1eDo6aGFzX3JlYmluZDxGPjo6dmFsdWUgPgorICAgICAgICA6OnRlbXBsYXRlIHJlc3VsdF88Rj4KK3sKK307CisKK319fQorCmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjNTUxL3RpbWVzLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2M1NTEvdGltZXMuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY0NTE0ZTUKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjNTUxL3RpbWVzLmhwcApAQCAtMCwwICsxLDE0NiBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvdGltZXMuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVGFnMQorICAgICwgdHlwZW5hbWUgVGFnMgorICAgID4KK3N0cnVjdCB0aW1lc19pbXBsCisgICAgOiBpZl9jPAorICAgICAgICAgICggQk9PU1RfTVBMX0FVWF9ORVNURURfVkFMVUVfV0tORChpbnQsIFRhZzEpCisgICAgICAgICAgICAgID4gQk9PU1RfTVBMX0FVWF9ORVNURURfVkFMVUVfV0tORChpbnQsIFRhZzIpCisgICAgICAgICAgICApCisKKyAgICAgICAgLCBhdXg6OmNhc3QybmRfaW1wbDwgdGltZXNfaW1wbDwgVGFnMSxUYWcxID4sVGFnMSwgVGFnMiA+CisgICAgICAgICwgYXV4OjpjYXN0MXN0X2ltcGw8IHRpbWVzX2ltcGw8IFRhZzIsVGFnMiA+LFRhZzEsIFRhZzIgPgorICAgICAgICA+Ojp0eXBlCit7Cit9OworCisvLy8gZm9yIERpZ2l0YWwgTWFycyBDKysvY29tcGlsZXJzIHdpdGggbm8gQ1RQUy9UVFAgc3VwcG9ydAordGVtcGxhdGU8PiBzdHJ1Y3QgdGltZXNfaW1wbDwgbmEsbmEgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUYWcgPiBzdHJ1Y3QgdGltZXNfaW1wbDwgbmEsVGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVGFnID4gc3RydWN0IHRpbWVzX2ltcGw8IFRhZyxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFQgPiBzdHJ1Y3QgdGltZXNfdGFnCit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBUOjp0YWcgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMSkKKyAgICAsIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjIpCisgICAgLCB0eXBlbmFtZSBOMyA9IG5hLCB0eXBlbmFtZSBONCA9IG5hLCB0eXBlbmFtZSBONSA9IG5hCisgICAgPgorc3RydWN0IHRpbWVzCisgICAgOiB0aW1lczwgdGltZXM8IHRpbWVzPCB0aW1lczwgTjEsTjIgPiwgTjM+LCBOND4sIE41PgoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoCisgICAgICAgICAgNQorICAgICAgICAsIHRpbWVzCisgICAgICAgICwgKCBOMSwgTjIsIE4zLCBONCwgTjUgKQorICAgICAgICApCit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIE4xLCB0eXBlbmFtZSBOMiwgdHlwZW5hbWUgTjMsIHR5cGVuYW1lIE40CisgICAgPgorc3RydWN0IHRpbWVzPCBOMSxOMixOMyxONCxuYSA+CisKKyAgICA6IHRpbWVzPCB0aW1lczwgdGltZXM8IE4xLE4yID4sIE4zPiwgTjQ+Cit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVF9TUEVDKAorICAgICAgICAgIDUKKyAgICAgICAgLCB0aW1lcworICAgICAgICAsICggTjEsIE4yLCBOMywgTjQsIG5hICkKKyAgICAgICAgKQorfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBOMSwgdHlwZW5hbWUgTjIsIHR5cGVuYW1lIE4zCisgICAgPgorc3RydWN0IHRpbWVzPCBOMSxOMixOMyxuYSxuYSA+CisKKyAgICA6IHRpbWVzPCB0aW1lczwgTjEsTjIgPiwgTjM+Cit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVF9TUEVDKAorICAgICAgICAgIDUKKyAgICAgICAgLCB0aW1lcworICAgICAgICAsICggTjEsIE4yLCBOMywgbmEsIG5hICkKKyAgICAgICAgKQorfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBOMSwgdHlwZW5hbWUgTjIKKyAgICA+CitzdHJ1Y3QgdGltZXM8IE4xLE4yLG5hLG5hLG5hID4KKyAgICA6IHRpbWVzX2ltcGw8CisgICAgICAgICAgdHlwZW5hbWUgdGltZXNfdGFnPE4xPjo6dHlwZQorICAgICAgICAsIHR5cGVuYW1lIHRpbWVzX3RhZzxOMj46OnR5cGUKKyAgICAgICAgPjo6dGVtcGxhdGUgYXBwbHk8IE4xLE4yID46OnR5cGUKK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUX1NQRUMoCisgICAgICAgICAgNQorICAgICAgICAsIHRpbWVzCisgICAgICAgICwgKCBOMSwgTjIsIG5hLCBuYSwgbmEgKQorICAgICAgICApCisKK307CisKK0JPT1NUX01QTF9BVVhfTkFfU1BFQzIoMiwgNSwgdGltZXMpCisKK319CisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgewordGVtcGxhdGU8Pgorc3RydWN0IHRpbWVzX2ltcGw8IGludGVncmFsX2NfdGFnLGludGVncmFsX2NfdGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgTjEsIHR5cGVuYW1lIE4yID4gc3RydWN0IGFwcGx5CisKKyAgICAgICAgOiBpbnRlZ3JhbF9jPAorICAgICAgICAgICAgICB0eXBlbmFtZSBhdXg6Omxhcmdlc3RfaW50PAorICAgICAgICAgICAgICAgICAgdHlwZW5hbWUgTjE6OnZhbHVlX3R5cGUKKyAgICAgICAgICAgICAgICAsIHR5cGVuYW1lIE4yOjp2YWx1ZV90eXBlCisgICAgICAgICAgICAgICAgPjo6dHlwZQorICAgICAgICAgICAgLCAoIEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChOMSk6OnZhbHVlCisgICAgICAgICAgICAgICAgICAqIEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChOMik6OnZhbHVlCisgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgPgorICAgIHsKKyAgICB9OworfTsKKworfX0KZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2M1NTEvdW5wYWNrX2FyZ3MuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjYzU1MS91bnBhY2tfYXJncy5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzA5OGVmZQotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2M1NTEvdW5wYWNrX2FyZ3MuaHBwCkBAIC0wLDAgKzEsOTcgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMi0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL3VucGFja19hcmdzLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8IGludCBzaXplLCB0eXBlbmFtZSBGLCB0eXBlbmFtZSBBcmdzID4KK3N0cnVjdCB1bnBhY2tfYXJnc19pbXBsOworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgRiwgdHlwZW5hbWUgQXJncyA+CitzdHJ1Y3QgdW5wYWNrX2FyZ3NfaW1wbDwgMCxGLEFyZ3MgPgorICAgIDogYXBwbHkwPAorICAgICAgICAgIEYKKyAgICAgICAgPgoreworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIEYsIHR5cGVuYW1lIEFyZ3MgPgorc3RydWN0IHVucGFja19hcmdzX2ltcGw8IDEsRixBcmdzID4KKyAgICA6IGFwcGx5MTwKKyAgICAgICAgICBGCisgICAgICAgICwgdHlwZW5hbWUgYXRfYzwgQXJncywwID46OnR5cGUKKyAgICAgICAgPgoreworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIEYsIHR5cGVuYW1lIEFyZ3MgPgorc3RydWN0IHVucGFja19hcmdzX2ltcGw8IDIsRixBcmdzID4KKyAgICA6IGFwcGx5MjwKKyAgICAgICAgICBGCisgICAgICAgICwgdHlwZW5hbWUgYXRfYzwgQXJncywwID46OnR5cGUsIHR5cGVuYW1lIGF0X2M8IEFyZ3MsMSA+Ojp0eXBlCisgICAgICAgID4KK3sKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBGLCB0eXBlbmFtZSBBcmdzID4KK3N0cnVjdCB1bnBhY2tfYXJnc19pbXBsPCAzLEYsQXJncyA+CisgICAgOiBhcHBseTM8CisgICAgICAgICAgRgorICAgICAgICAsIHR5cGVuYW1lIGF0X2M8IEFyZ3MsMCA+Ojp0eXBlLCB0eXBlbmFtZSBhdF9jPCBBcmdzLDEgPjo6dHlwZQorICAgICAgICAsIHR5cGVuYW1lIGF0X2M8IEFyZ3MsMiA+Ojp0eXBlCisgICAgICAgID4KK3sKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBGLCB0eXBlbmFtZSBBcmdzID4KK3N0cnVjdCB1bnBhY2tfYXJnc19pbXBsPCA0LEYsQXJncyA+CisgICAgOiBhcHBseTQ8CisgICAgICAgICAgRgorICAgICAgICAsIHR5cGVuYW1lIGF0X2M8IEFyZ3MsMCA+Ojp0eXBlLCB0eXBlbmFtZSBhdF9jPCBBcmdzLDEgPjo6dHlwZQorICAgICAgICAsIHR5cGVuYW1lIGF0X2M8IEFyZ3MsMiA+Ojp0eXBlLCB0eXBlbmFtZSBhdF9jPCBBcmdzLDMgPjo6dHlwZQorICAgICAgICA+Cit7Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgRiwgdHlwZW5hbWUgQXJncyA+CitzdHJ1Y3QgdW5wYWNrX2FyZ3NfaW1wbDwgNSxGLEFyZ3MgPgorICAgIDogYXBwbHk1PAorICAgICAgICAgIEYKKyAgICAgICAgLCB0eXBlbmFtZSBhdF9jPCBBcmdzLDAgPjo6dHlwZSwgdHlwZW5hbWUgYXRfYzwgQXJncywxID46OnR5cGUKKyAgICAgICAgLCB0eXBlbmFtZSBhdF9jPCBBcmdzLDIgPjo6dHlwZSwgdHlwZW5hbWUgYXRfYzwgQXJncywzID46OnR5cGUKKyAgICAgICAgLCB0eXBlbmFtZSBhdF9jPCBBcmdzLDQgPjo6dHlwZQorICAgICAgICA+Cit7Cit9OworCit9CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRgorICAgID4KK3N0cnVjdCB1bnBhY2tfYXJncworeworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBBcmdzID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGF1eDo6dW5wYWNrX2FyZ3NfaW1wbDwKKyAgICAgICAgICAgICAgc2l6ZTxBcmdzPjo6dmFsdWUKKyAgICAgICAgICAgICwgRgorICAgICAgICAgICAgLCBBcmdzCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworQk9PU1RfTVBMX0FVWF9QQVNTX1RIUk9VR0hfTEFNQkRBX1NQRUMoMSwgdW5wYWNrX2FyZ3MpCisKK319CisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2M1NTEvdmVjdG9yLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2M1NTEvdmVjdG9yLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kZjY3NTg5Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjYzU1MS92ZWN0b3IuaHBwCkBAIC0wLDAgKzEsMzIzIEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC92ZWN0b3IuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAgPSBuYSwgdHlwZW5hbWUgVDEgPSBuYSwgdHlwZW5hbWUgVDIgPSBuYSwgdHlwZW5hbWUgVDMgPSBuYQorICAgICwgdHlwZW5hbWUgVDQgPSBuYSwgdHlwZW5hbWUgVDUgPSBuYSwgdHlwZW5hbWUgVDYgPSBuYSwgdHlwZW5hbWUgVDcgPSBuYQorICAgICwgdHlwZW5hbWUgVDggPSBuYSwgdHlwZW5hbWUgVDkgPSBuYSwgdHlwZW5hbWUgVDEwID0gbmEsIHR5cGVuYW1lIFQxMSA9IG5hCisgICAgLCB0eXBlbmFtZSBUMTIgPSBuYSwgdHlwZW5hbWUgVDEzID0gbmEsIHR5cGVuYW1lIFQxNCA9IG5hCisgICAgLCB0eXBlbmFtZSBUMTUgPSBuYSwgdHlwZW5hbWUgVDE2ID0gbmEsIHR5cGVuYW1lIFQxNyA9IG5hCisgICAgLCB0eXBlbmFtZSBUMTggPSBuYSwgdHlwZW5hbWUgVDE5ID0gbmEKKyAgICA+CitzdHJ1Y3QgdmVjdG9yOworCit0ZW1wbGF0ZTwKKyAgICAgCisgICAgPgorc3RydWN0IHZlY3RvcjwKKyAgICAgICAgICBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHZlY3RvcjA8ICA+Cit7CisgICAgdHlwZWRlZiB2ZWN0b3IwPCAgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMAorICAgID4KK3N0cnVjdCB2ZWN0b3I8CisgICAgICAgICAgVDAsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3IxPFQwPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTxUMD46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxCisgICAgPgorc3RydWN0IHZlY3RvcjwKKyAgICAgICAgICBUMCwgVDEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHZlY3RvcjI8IFQwLFQxID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjI8IFQwLFQxID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMgorICAgID4KK3N0cnVjdCB2ZWN0b3I8CisgICAgICAgICAgVDAsIFQxLCBUMiwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3IzPCBUMCxUMSxUMiA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IzPCBUMCxUMSxUMiA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzCisgICAgPgorc3RydWN0IHZlY3RvcjwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHZlY3RvcjQ8IFQwLFQxLFQyLFQzID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjQ8IFQwLFQxLFQyLFQzID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgPgorc3RydWN0IHZlY3RvcjwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHZlY3RvcjU8IFQwLFQxLFQyLFQzLFQ0ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjU8IFQwLFQxLFQyLFQzLFQ0ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNQorICAgID4KK3N0cnVjdCB2ZWN0b3I8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3I2PCBUMCxUMSxUMixUMyxUNCxUNSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3I2PCBUMCxUMSxUMixUMyxUNCxUNSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2CisgICAgPgorc3RydWN0IHZlY3RvcjwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHZlY3Rvcjc8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3Rvcjc8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3CisgICAgPgorc3RydWN0IHZlY3RvcjwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHZlY3Rvcjg8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3Rvcjg8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOAorICAgID4KK3N0cnVjdCB2ZWN0b3I8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3I5PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3I5PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgPgorc3RydWN0IHZlY3RvcjwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHZlY3RvcjEwPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxMDwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDkgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwCisgICAgPgorc3RydWN0IHZlY3RvcjwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3IxMTwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjExPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEKKyAgICA+CitzdHJ1Y3QgdmVjdG9yPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3IxMjwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxMjwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyCisgICAgPgorc3RydWN0IHZlY3RvcjwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHZlY3RvcjEzPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMiA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxMzwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzCisgICAgPgorc3RydWN0IHZlY3RvcjwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3IxNDwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjE0PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICA+CitzdHJ1Y3QgdmVjdG9yPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNCwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3IxNTwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTU8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyxUMTQgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAsIHR5cGVuYW1lIFQxNQorICAgID4KK3N0cnVjdCB2ZWN0b3I8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1LCBuYSwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3IxNjwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgLCBUMTUKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTY8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyxUMTQsVDE1ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNgorICAgID4KK3N0cnVjdCB2ZWN0b3I8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1LCBUMTYsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogdmVjdG9yMTc8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1LCBUMTYKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTc8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyxUMTQsVDE1LFQxNiA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNworICAgID4KK3N0cnVjdCB2ZWN0b3I8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1LCBUMTYsIFQxNywgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHZlY3RvcjE4PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgVDE2LCBUMTcKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTg8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyxUMTQsVDE1LFQxNixUMTcgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOAorICAgID4KK3N0cnVjdCB2ZWN0b3I8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1LCBUMTYsIFQxNywgVDE4LCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3IxOTwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgLCBUMTUsIFQxNiwgVDE3LCBUMTgKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTk8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyxUMTQsVDE1LFQxNixUMTcsVDE4ID46OnR5cGUgdHlwZTsKK307CisKKy8vLyBwcmltYXJ5IHRlbXBsYXRlIChub3QgYSBzcGVjaWFsaXphdGlvbiEpCisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgID4KK3N0cnVjdCB2ZWN0b3IKKyAgICA6IHZlY3RvcjIwPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgVDE2LCBUMTcsIFQxOCwgVDE5CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjIwPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMsVDE0LFQxNSxUMTYsVDE3LFQxOCxUMTkgPjo6dHlwZSB0eXBlOworfTsKKworfX0KKwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjYzU1MS92ZWN0b3JfYy5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjNTUxL3ZlY3Rvcl9jLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMmZiZGI0Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjYzU1MS92ZWN0b3JfYy5ocHAKQEAgLTAsMCArMSwzMDkgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL3ZlY3Rvcl9jLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAgPSBMT05HX01BWCwgbG9uZyBDMSA9IExPTkdfTUFYLCBsb25nIEMyID0gTE9OR19NQVgKKyAgICAsIGxvbmcgQzMgPSBMT05HX01BWCwgbG9uZyBDNCA9IExPTkdfTUFYLCBsb25nIEM1ID0gTE9OR19NQVgKKyAgICAsIGxvbmcgQzYgPSBMT05HX01BWCwgbG9uZyBDNyA9IExPTkdfTUFYLCBsb25nIEM4ID0gTE9OR19NQVgKKyAgICAsIGxvbmcgQzkgPSBMT05HX01BWCwgbG9uZyBDMTAgPSBMT05HX01BWCwgbG9uZyBDMTEgPSBMT05HX01BWAorICAgICwgbG9uZyBDMTIgPSBMT05HX01BWCwgbG9uZyBDMTMgPSBMT05HX01BWCwgbG9uZyBDMTQgPSBMT05HX01BWAorICAgICwgbG9uZyBDMTUgPSBMT05HX01BWCwgbG9uZyBDMTYgPSBMT05HX01BWCwgbG9uZyBDMTcgPSBMT05HX01BWAorICAgICwgbG9uZyBDMTggPSBMT05HX01BWCwgbG9uZyBDMTkgPSBMT05HX01BWAorICAgID4KK3N0cnVjdCB2ZWN0b3JfYzsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUCisgICAgPgorc3RydWN0IHZlY3Rvcl9jPAorICAgICAgICAgIFQsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IHZlY3RvcjBfYzxUPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMF9jPFQ+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAKKyAgICA+CitzdHJ1Y3QgdmVjdG9yX2M8CisgICAgICAgICAgVCwgQzAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogdmVjdG9yMV9jPCBULCBUKEMwKSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxX2M8IFQsIFQoQzApID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMQorICAgID4KK3N0cnVjdCB2ZWN0b3JfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiB2ZWN0b3IyX2M8IFQsIFQoQzApLCBUKEMxKSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IyX2M8IFQsIFQoQzApLCBUKEMxKSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIKKyAgICA+CitzdHJ1Y3QgdmVjdG9yX2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogdmVjdG9yM19jPCBULCBUKEMwKSwgVChDMSksIFQoQzIpID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjNfYzwgVCwgVChDMCksIFQoQzEpLCBUKEMyKSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMKKyAgICA+CitzdHJ1Y3QgdmVjdG9yX2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogdmVjdG9yNF9jPCBULCBUKEMwKSwgVChDMSksIFQoQzIpLCBUKEMzKSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3I0X2M8IFQsIFQoQzApLCBUKEMxKSwgVChDMiksIFQoQzMpID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNAorICAgID4KK3N0cnVjdCB2ZWN0b3JfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiB2ZWN0b3I1X2M8IFQsIFQoQzApLCBUKEMxKSwgVChDMiksIFQoQzMpLCBUKEM0KSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3I1X2M8IFQsIFQoQzApLCBUKEMxKSwgVChDMiksIFQoQzMpLCBUKEM0KSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICA+CitzdHJ1Y3QgdmVjdG9yX2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogdmVjdG9yNl9jPCBULCBUKEMwKSwgVChDMSksIFQoQzIpLCBUKEMzKSwgVChDNCksIFQoQzUpID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjZfYzwgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMyksIFQoQzQpLCBUKEM1KSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAsIGxvbmcgQzYKKyAgICA+CitzdHJ1Y3QgdmVjdG9yX2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogdmVjdG9yN19jPCBULCBUKEMwKSwgVChDMSksIFQoQzIpLCBUKEMzKSwgVChDNCksIFQoQzUpLCBUKEM2KSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3I3X2M8IFQsIFQoQzApLCBUKEMxKSwgVChDMiksIFQoQzMpLCBUKEM0KSwgVChDNSksIFQoQzYpID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICwgbG9uZyBDNiwgbG9uZyBDNworICAgID4KK3N0cnVjdCB2ZWN0b3JfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiB2ZWN0b3I4X2M8IFQsIFQoQzApLCBUKEMxKSwgVChDMiksIFQoQzMpLCBUKEM0KSwgVChDNSksIFQoQzYpLCBUKEM3KSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3I4X2M8IFQsIFQoQzApLCBUKEMxKSwgVChDMiksIFQoQzMpLCBUKEM0KSwgVChDNSksIFQoQzYpLCBUKEM3KSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgKKyAgICA+CitzdHJ1Y3QgdmVjdG9yX2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogdmVjdG9yOV9jPCBULCBUKEMwKSwgVChDMSksIFQoQzIpLCBUKEMzKSwgVChDNCksIFQoQzUpLCBUKEM2KSwgVChDNyksIFQoQzgpID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjlfYzwgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMyksIFQoQzQpLCBUKEM1KSwgVChDNiksIFQoQzcpLCBUKEM4KSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzkKKyAgICA+CitzdHJ1Y3QgdmVjdG9yX2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogdmVjdG9yMTBfYzwgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMyksIFQoQzQpLCBUKEM1KSwgVChDNiksIFQoQzcpLCBUKEM4KSwgVChDOSkgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTBfYzwgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMyksIFQoQzQpLCBUKEM1KSwgVChDNiksIFQoQzcpLCBUKEM4KSwgVChDOSkgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMAorICAgID4KK3N0cnVjdCB2ZWN0b3JfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiB2ZWN0b3IxMV9jPCBULCBUKEMwKSwgVChDMSksIFQoQzIpLCBUKEMzKSwgVChDNCksIFQoQzUpLCBUKEM2KSwgVChDNyksIFQoQzgpLCBUKEM5KSwgVChDMTApID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjExX2M8IFQsIFQoQzApLCBUKEMxKSwgVChDMiksIFQoQzMpLCBUKEM0KSwgVChDNSksIFQoQzYpLCBUKEM3KSwgVChDOCksIFQoQzkpLCBUKEMxMCkgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEKKyAgICA+CitzdHJ1Y3QgdmVjdG9yX2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IHZlY3RvcjEyX2M8IFQsIFQoQzApLCBUKEMxKSwgVChDMiksIFQoQzMpLCBUKEM0KSwgVChDNSksIFQoQzYpLCBUKEM3KSwgVChDOCksIFQoQzkpLCBUKEMxMCksIFQoQzExKSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxMl9jPCBULCBUKEMwKSwgVChDMSksIFQoQzIpLCBUKEMzKSwgVChDNCksIFQoQzUpLCBUKEM2KSwgVChDNyksIFQoQzgpLCBUKEM5KSwgVChDMTApLCBUKEMxMSkgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgPgorc3RydWN0IHZlY3Rvcl9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogdmVjdG9yMTNfYzwgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMyksIFQoQzQpLCBUKEM1KSwgVChDNiksIFQoQzcpLCBUKEM4KSwgVChDOSksIFQoQzEwKSwgVChDMTEpLCBUKEMxMikgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTNfYzwgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMyksIFQoQzQpLCBUKEM1KSwgVChDNiksIFQoQzcpLCBUKEM4KSwgVChDOSksIFQoQzEwKSwgVChDMTEpLCBUKEMxMikgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgLCBsb25nIEMxMworICAgID4KK3N0cnVjdCB2ZWN0b3JfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIEMxMiwgQzEzCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiB2ZWN0b3IxNF9jPCBULCBUKEMwKSwgVChDMSksIFQoQzIpLCBUKEMzKSwgVChDNCksIFQoQzUpLCBUKEM2KSwgVChDNyksIFQoQzgpLCBUKEM5KSwgVChDMTApLCBUKEMxMSksIFQoQzEyKSwgVChDMTMpID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjE0X2M8IFQsIFQoQzApLCBUKEMxKSwgVChDMiksIFQoQzMpLCBUKEM0KSwgVChDNSksIFQoQzYpLCBUKEM3KSwgVChDOCksIFQoQzkpLCBUKEMxMCksIFQoQzExKSwgVChDMTIpLCBUKEMxMykgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgLCBsb25nIEMxMywgbG9uZyBDMTQKKyAgICA+CitzdHJ1Y3QgdmVjdG9yX2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBDMTIsIEMxMywgQzE0CisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IHZlY3RvcjE1X2M8IFQsIFQoQzApLCBUKEMxKSwgVChDMiksIFQoQzMpLCBUKEM0KSwgVChDNSksIFQoQzYpLCBUKEM3KSwgVChDOCksIFQoQzkpLCBUKEMxMCksIFQoQzExKSwgVChDMTIpLCBUKEMxMyksIFQoQzE0KSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxNV9jPCBULCBUKEMwKSwgVChDMSksIFQoQzIpLCBUKEMzKSwgVChDNCksIFQoQzUpLCBUKEM2KSwgVChDNyksIFQoQzgpLCBUKEM5KSwgVChDMTApLCBUKEMxMSksIFQoQzEyKSwgVChDMTMpLCBUKEMxNCkgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1CisgICAgPgorc3RydWN0IHZlY3Rvcl9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMsIEMxNAorICAgICAgICAsIEMxNSwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogdmVjdG9yMTZfYzwgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMyksIFQoQzQpLCBUKEM1KSwgVChDNiksIFQoQzcpLCBUKEM4KSwgVChDOSksIFQoQzEwKSwgVChDMTEpLCBUKEMxMiksIFQoQzEzKSwgVChDMTQpLCBUKEMxNSkgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTZfYzwgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMyksIFQoQzQpLCBUKEM1KSwgVChDNiksIFQoQzcpLCBUKEM4KSwgVChDOSksIFQoQzEwKSwgVChDMTEpLCBUKEMxMiksIFQoQzEzKSwgVChDMTQpLCBUKEMxNSkgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1LCBsb25nIEMxNgorICAgID4KK3N0cnVjdCB2ZWN0b3JfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIEMxMiwgQzEzLCBDMTQKKyAgICAgICAgLCBDMTUsIEMxNiwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiB2ZWN0b3IxN19jPCBULCBUKEMwKSwgVChDMSksIFQoQzIpLCBUKEMzKSwgVChDNCksIFQoQzUpLCBUKEM2KSwgVChDNyksIFQoQzgpLCBUKEM5KSwgVChDMTApLCBUKEMxMSksIFQoQzEyKSwgVChDMTMpLCBUKEMxNCksIFQoQzE1KSwgVChDMTYpID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjE3X2M8IFQsIFQoQzApLCBUKEMxKSwgVChDMiksIFQoQzMpLCBUKEM0KSwgVChDNSksIFQoQzYpLCBUKEM3KSwgVChDOCksIFQoQzkpLCBUKEMxMCksIFQoQzExKSwgVChDMTIpLCBUKEMxMyksIFQoQzE0KSwgVChDMTUpLCBUKEMxNikgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1LCBsb25nIEMxNiwgbG9uZyBDMTcKKyAgICA+CitzdHJ1Y3QgdmVjdG9yX2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBDMTIsIEMxMywgQzE0CisgICAgICAgICwgQzE1LCBDMTYsIEMxNywgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IHZlY3RvcjE4X2M8IFQsIFQoQzApLCBUKEMxKSwgVChDMiksIFQoQzMpLCBUKEM0KSwgVChDNSksIFQoQzYpLCBUKEM3KSwgVChDOCksIFQoQzkpLCBUKEMxMCksIFQoQzExKSwgVChDMTIpLCBUKEMxMyksIFQoQzE0KSwgVChDMTUpLCBUKEMxNiksIFQoQzE3KSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxOF9jPCBULCBUKEMwKSwgVChDMSksIFQoQzIpLCBUKEMzKSwgVChDNCksIFQoQzUpLCBUKEM2KSwgVChDNyksIFQoQzgpLCBUKEM5KSwgVChDMTApLCBUKEMxMSksIFQoQzEyKSwgVChDMTMpLCBUKEMxNCksIFQoQzE1KSwgVChDMTYpLCBUKEMxNykgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1LCBsb25nIEMxNiwgbG9uZyBDMTcsIGxvbmcgQzE4CisgICAgPgorc3RydWN0IHZlY3Rvcl9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMsIEMxNAorICAgICAgICAsIEMxNSwgQzE2LCBDMTcsIEMxOCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogdmVjdG9yMTlfYzwgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMyksIFQoQzQpLCBUKEM1KSwgVChDNiksIFQoQzcpLCBUKEM4KSwgVChDOSksIFQoQzEwKSwgVChDMTEpLCBUKEMxMiksIFQoQzEzKSwgVChDMTQpLCBUKEMxNSksIFQoQzE2KSwgVChDMTcpLCBUKEMxOCkgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTlfYzwgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMyksIFQoQzQpLCBUKEM1KSwgVChDNiksIFQoQzcpLCBUKEM4KSwgVChDOSksIFQoQzEwKSwgVChDMTEpLCBUKEMxMiksIFQoQzEzKSwgVChDMTQpLCBUKEMxNSksIFQoQzE2KSwgVChDMTcpLCBUKEMxOCkgPjo6dHlwZSB0eXBlOworfTsKKworLy8vIHByaW1hcnkgdGVtcGxhdGUgKG5vdCBhIHNwZWNpYWxpemF0aW9uISkKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1LCBsb25nIEMxNiwgbG9uZyBDMTcsIGxvbmcgQzE4LCBsb25nIEMxOQorICAgID4KK3N0cnVjdCB2ZWN0b3JfYworICAgIDogdmVjdG9yMjBfYzwgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMyksIFQoQzQpLCBUKEM1KSwgVChDNiksIFQoQzcpLCBUKEM4KSwgVChDOSksIFQoQzEwKSwgVChDMTEpLCBUKEMxMiksIFQoQzEzKSwgVChDMTQpLCBUKEMxNSksIFQoQzE2KSwgVChDMTcpLCBUKEMxOCksIFQoQzE5KSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IyMF9jPCBULCBUKEMwKSwgVChDMSksIFQoQzIpLCBUKEMzKSwgVChDNCksIFQoQzUpLCBUKEM2KSwgVChDNyksIFQoQzgpLCBUKEM5KSwgVChDMTApLCBUKEMxMSksIFQoQzEyKSwgVChDMTMpLCBUKEMxNCksIFQoQzE1KSwgVChDMTYpLCBUKEMxNyksIFQoQzE4KSwgVChDMTkpID46OnR5cGUgdHlwZTsKK307CisKK319CisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2NfcHJlNTkwL2FkdmFuY2VfYmFja3dhcmQuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjY19wcmU1OTAvYWR2YW5jZV9iYWNrd2FyZC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWU0ODA5YwotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2NfcHJlNTkwL2FkdmFuY2VfYmFja3dhcmQuaHBwCkBAIC0wLDAgKzEsOTcgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyAqUHJlcHJvY2Vzc2VkKiB2ZXJzaW9uIG9mIHRoZSBtYWluICJhZHZhbmNlX2JhY2t3YXJkLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeyBuYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8IGxvbmcgTiA+IHN0cnVjdCBhZHZhbmNlX2JhY2t3YXJkOwordGVtcGxhdGU8Pgorc3RydWN0IGFkdmFuY2VfYmFja3dhcmQ8MD4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgSXRlcmF0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgSXRlcmF0b3IgaXRlcjA7CisgICAgICAgIHR5cGVkZWYgaXRlcjAgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGFkdmFuY2VfYmFja3dhcmQ8MT4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgSXRlcmF0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgSXRlcmF0b3IgaXRlcjA7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcHJpb3I8aXRlcjA+Ojp0eXBlIGl0ZXIxOworICAgICAgICB0eXBlZGVmIGl0ZXIxIHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBhZHZhbmNlX2JhY2t3YXJkPDI+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIEl0ZXJhdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIEl0ZXJhdG9yIGl0ZXIwOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHByaW9yPGl0ZXIwPjo6dHlwZSBpdGVyMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBwcmlvcjxpdGVyMT46OnR5cGUgaXRlcjI7CisgICAgICAgIHR5cGVkZWYgaXRlcjIgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGFkdmFuY2VfYmFja3dhcmQ8Mz4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgSXRlcmF0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgSXRlcmF0b3IgaXRlcjA7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcHJpb3I8aXRlcjA+Ojp0eXBlIGl0ZXIxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHByaW9yPGl0ZXIxPjo6dHlwZSBpdGVyMjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBwcmlvcjxpdGVyMj46OnR5cGUgaXRlcjM7CisgICAgICAgIHR5cGVkZWYgaXRlcjMgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGFkdmFuY2VfYmFja3dhcmQ8ND4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgSXRlcmF0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgSXRlcmF0b3IgaXRlcjA7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcHJpb3I8aXRlcjA+Ojp0eXBlIGl0ZXIxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHByaW9yPGl0ZXIxPjo6dHlwZSBpdGVyMjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBwcmlvcjxpdGVyMj46OnR5cGUgaXRlcjM7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcHJpb3I8aXRlcjM+Ojp0eXBlIGl0ZXI0OworICAgICAgICB0eXBlZGVmIGl0ZXI0IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCBsb25nIE4gPgorc3RydWN0IGFkdmFuY2VfYmFja3dhcmQKK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgSXRlcmF0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHlfd3JhcDE8CisgICAgICAgICAgICAgIGFkdmFuY2VfYmFja3dhcmQ8ND4KKyAgICAgICAgICAgICwgSXRlcmF0b3IKKyAgICAgICAgICAgID46OnR5cGUgY2h1bmtfcmVzdWx0XzsKKworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5X3dyYXAxPAorICAgICAgICAgICAgICBhZHZhbmNlX2JhY2t3YXJkPCgKKyAgICAgICAgICAgICAgICAoTiAtIDQpIDwgMAorICAgICAgICAgICAgICAgICAgICA/IDAKKyAgICAgICAgICAgICAgICAgICAgOiBOIC0gNAorICAgICAgICAgICAgICAgICAgICApPgorICAgICAgICAgICAgLCBjaHVua19yZXN1bHRfCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisgICAgfTsKK307CisKK319fQorCmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjX3ByZTU5MC9hZHZhbmNlX2ZvcndhcmQuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjY19wcmU1OTAvYWR2YW5jZV9mb3J3YXJkLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMjMzMWRlCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjY19wcmU1OTAvYWR2YW5jZV9mb3J3YXJkLmhwcApAQCAtMCwwICsxLDk3IEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gKlByZXByb2Nlc3NlZCogdmVyc2lvbiBvZiB0aGUgbWFpbiAiYWR2YW5jZV9mb3J3YXJkLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeyBuYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8IGxvbmcgTiA+IHN0cnVjdCBhZHZhbmNlX2ZvcndhcmQ7Cit0ZW1wbGF0ZTw+CitzdHJ1Y3QgYWR2YW5jZV9mb3J3YXJkPDA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIEl0ZXJhdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIEl0ZXJhdG9yIGl0ZXIwOworICAgICAgICB0eXBlZGVmIGl0ZXIwIHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBhZHZhbmNlX2ZvcndhcmQ8MT4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgSXRlcmF0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgSXRlcmF0b3IgaXRlcjA7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbmV4dDxpdGVyMD46OnR5cGUgaXRlcjE7CisgICAgICAgIHR5cGVkZWYgaXRlcjEgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGFkdmFuY2VfZm9yd2FyZDwyPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBJdGVyYXRvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBJdGVyYXRvciBpdGVyMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBuZXh0PGl0ZXIwPjo6dHlwZSBpdGVyMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBuZXh0PGl0ZXIxPjo6dHlwZSBpdGVyMjsKKyAgICAgICAgdHlwZWRlZiBpdGVyMiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgYWR2YW5jZV9mb3J3YXJkPDM+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIEl0ZXJhdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIEl0ZXJhdG9yIGl0ZXIwOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG5leHQ8aXRlcjA+Ojp0eXBlIGl0ZXIxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG5leHQ8aXRlcjE+Ojp0eXBlIGl0ZXIyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG5leHQ8aXRlcjI+Ojp0eXBlIGl0ZXIzOworICAgICAgICB0eXBlZGVmIGl0ZXIzIHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBhZHZhbmNlX2ZvcndhcmQ8ND4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgSXRlcmF0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgSXRlcmF0b3IgaXRlcjA7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbmV4dDxpdGVyMD46OnR5cGUgaXRlcjE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbmV4dDxpdGVyMT46OnR5cGUgaXRlcjI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbmV4dDxpdGVyMj46OnR5cGUgaXRlcjM7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbmV4dDxpdGVyMz46OnR5cGUgaXRlcjQ7CisgICAgICAgIHR5cGVkZWYgaXRlcjQgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IGxvbmcgTiA+CitzdHJ1Y3QgYWR2YW5jZV9mb3J3YXJkCit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIEl0ZXJhdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5X3dyYXAxPAorICAgICAgICAgICAgICBhZHZhbmNlX2ZvcndhcmQ8ND4KKyAgICAgICAgICAgICwgSXRlcmF0b3IKKyAgICAgICAgICAgID46OnR5cGUgY2h1bmtfcmVzdWx0XzsKKworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5X3dyYXAxPAorICAgICAgICAgICAgICBhZHZhbmNlX2ZvcndhcmQ8KAorICAgICAgICAgICAgICAgIChOIC0gNCkgPCAwCisgICAgICAgICAgICAgICAgICAgID8gMAorICAgICAgICAgICAgICAgICAgICA6IE4gLSA0CisgICAgICAgICAgICAgICAgICAgICk+CisgICAgICAgICAgICAsIGNodW5rX3Jlc3VsdF8KKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKyAgICB9OworfTsKKworfX19CisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2NfcHJlNTkwL2FuZC5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjX3ByZTU5MC9hbmQuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjExOWZhMmQKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjX3ByZTU5MC9hbmQuaHBwCkBAIC0wLDAgKzEsNjkgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyAqUHJlcHJvY2Vzc2VkKiB2ZXJzaW9uIG9mIHRoZSBtYWluICJhbmQuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwgYm9vbCBDXywgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQgPgorc3RydWN0IGFuZF9pbXBsCisgICAgOiBmYWxzZV8KK3sKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNCA+CitzdHJ1Y3QgYW5kX2ltcGw8IHRydWUsVDEsVDIsVDMsVDQgPgorICAgIDogYW5kX2ltcGw8CisgICAgICAgICAgQk9PU1RfTVBMX0FVWF9ORVNURURfVFlQRV9XS05EKFQxKTo6dmFsdWUKKyAgICAgICAgLCBUMiwgVDMsIFQ0CisgICAgICAgICwgdHJ1ZV8KKyAgICAgICAgPgoreworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGFuZF9pbXBsPAorICAgICAgICAgIHRydWUKKyAgICAgICAgLCB0cnVlXywgdHJ1ZV8sIHRydWVfLCB0cnVlXworICAgICAgICA+CisgICAgOiB0cnVlXworeworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShUMSkKKyAgICAsIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oVDIpCisgICAgLCB0eXBlbmFtZSBUMyA9IHRydWVfLCB0eXBlbmFtZSBUNCA9IHRydWVfLCB0eXBlbmFtZSBUNSA9IHRydWVfCisgICAgPgorc3RydWN0IGFuZF8KKworICAgIDogYXV4OjphbmRfaW1wbDwKKyAgICAgICAgICBCT09TVF9NUExfQVVYX05FU1RFRF9UWVBFX1dLTkQoVDEpOjp2YWx1ZQorICAgICAgICAsIFQyLCBUMywgVDQsIFQ1CisgICAgICAgID4KKworeworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoCisgICAgICAgICAgNQorICAgICAgICAsIGFuZF8KKyAgICAgICAgLCAoIFQxLCBUMiwgVDMsIFQ0LCBUNSkKKyAgICAgICAgKQorfTsKKworQk9PU1RfTVBMX0FVWF9OQV9TUEVDMigKKyAgICAgIDIKKyAgICAsIDUKKyAgICAsIGFuZF8KKyAgICApCisKK319CmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjX3ByZTU5MC9hcHBseS5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjX3ByZTU5MC9hcHBseS5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWQzNzJmMQotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2NfcHJlNTkwL2FwcGx5LmhwcApAQCAtMCwwICsxLDE2OSBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vICpQcmVwcm9jZXNzZWQqIHZlcnNpb24gb2YgdGhlIG1haW4gImFwcGx5LmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYKKyAgICA+CitzdHJ1Y3QgYXBwbHkwCisKKyAgICA6IGFwcGx5X3dyYXAwPAorICAgICAgICAgIHR5cGVuYW1lIGxhbWJkYTxGPjo6dHlwZQorICAgICAgIAorICAgICAgICA+Cit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgKKyAgICAgICAgICAxCisgICAgICAgICwgYXBwbHkwCisgICAgICAgICwgKEYgKQorICAgICAgICApCit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYKKyAgICA+CitzdHJ1Y3QgYXBwbHk8IEYsbmEsbmEsbmEsbmEsbmEgPgorICAgIDogYXBwbHkwPEY+Cit7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxCisgICAgPgorc3RydWN0IGFwcGx5MQorCisgICAgOiBhcHBseV93cmFwMTwKKyAgICAgICAgICB0eXBlbmFtZSBsYW1iZGE8Rj46OnR5cGUKKyAgICAgICAgLCBUMQorICAgICAgICA+Cit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgKKyAgICAgICAgICAyCisgICAgICAgICwgYXBwbHkxCisgICAgICAgICwgKEYsIFQxKQorICAgICAgICApCit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxCisgICAgPgorc3RydWN0IGFwcGx5PCBGLFQxLG5hLG5hLG5hLG5hID4KKyAgICA6IGFwcGx5MTwgRixUMSA+Cit7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMgorICAgID4KK3N0cnVjdCBhcHBseTIKKworICAgIDogYXBwbHlfd3JhcDI8CisgICAgICAgICAgdHlwZW5hbWUgbGFtYmRhPEY+Ojp0eXBlCisgICAgICAgICwgVDEsIFQyCisgICAgICAgID4KK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKAorICAgICAgICAgIDMKKyAgICAgICAgLCBhcHBseTIKKyAgICAgICAgLCAoRiwgVDEsIFQyKQorICAgICAgICApCit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMgorICAgID4KK3N0cnVjdCBhcHBseTwgRixUMSxUMixuYSxuYSxuYSA+CisgICAgOiBhcHBseTI8IEYsVDEsVDIgPgoreworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzCisgICAgPgorc3RydWN0IGFwcGx5MworCisgICAgOiBhcHBseV93cmFwMzwKKyAgICAgICAgICB0eXBlbmFtZSBsYW1iZGE8Rj46OnR5cGUKKyAgICAgICAgLCBUMSwgVDIsIFQzCisgICAgICAgID4KK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKAorICAgICAgICAgIDQKKyAgICAgICAgLCBhcHBseTMKKyAgICAgICAgLCAoRiwgVDEsIFQyLCBUMykKKyAgICAgICAgKQorfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzCisgICAgPgorc3RydWN0IGFwcGx5PCBGLFQxLFQyLFQzLG5hLG5hID4KKyAgICA6IGFwcGx5MzwgRixUMSxUMixUMyA+Cit7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgPgorc3RydWN0IGFwcGx5NAorCisgICAgOiBhcHBseV93cmFwNDwKKyAgICAgICAgICB0eXBlbmFtZSBsYW1iZGE8Rj46OnR5cGUKKyAgICAgICAgLCBUMSwgVDIsIFQzLCBUNAorICAgICAgICA+Cit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgKKyAgICAgICAgICA1CisgICAgICAgICwgYXBwbHk0CisgICAgICAgICwgKEYsIFQxLCBUMiwgVDMsIFQ0KQorICAgICAgICApCit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgPgorc3RydWN0IGFwcGx5PCBGLFQxLFQyLFQzLFQ0LG5hID4KKyAgICA6IGFwcGx5NDwgRixUMSxUMixUMyxUNCA+Cit7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNQorICAgID4KK3N0cnVjdCBhcHBseTUKKworICAgIDogYXBwbHlfd3JhcDU8CisgICAgICAgICAgdHlwZW5hbWUgbGFtYmRhPEY+Ojp0eXBlCisgICAgICAgICwgVDEsIFQyLCBUMywgVDQsIFQ1CisgICAgICAgID4KK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKAorICAgICAgICAgIDYKKyAgICAgICAgLCBhcHBseTUKKyAgICAgICAgLCAoRiwgVDEsIFQyLCBUMywgVDQsIFQ1KQorICAgICAgICApCit9OworCisvLy8gcHJpbWFyeSB0ZW1wbGF0ZSAobm90IGEgc3BlY2lhbGl6YXRpb24hKQorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNQorICAgID4KK3N0cnVjdCBhcHBseQorICAgIDogYXBwbHk1PCBGLFQxLFQyLFQzLFQ0LFQ1ID4KK3sKK307CisKK319CisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2NfcHJlNTkwL2FwcGx5X2Z3ZC5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjX3ByZTU5MC9hcHBseV9md2QuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRmNjcxZDEKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjX3ByZTU5MC9hcHBseV9md2QuaHBwCkBAIC0wLDAgKzEsNTIgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyAqUHJlcHJvY2Vzc2VkKiB2ZXJzaW9uIG9mIHRoZSBtYWluICJhcHBseV9md2QuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEgPSBuYSwgdHlwZW5hbWUgVDIgPSBuYSwgdHlwZW5hbWUgVDMgPSBuYQorICAgICwgdHlwZW5hbWUgVDQgPSBuYSwgdHlwZW5hbWUgVDUgPSBuYQorICAgID4KK3N0cnVjdCBhcHBseTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGCisgICAgPgorc3RydWN0IGFwcGx5MDsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMQorICAgID4KK3N0cnVjdCBhcHBseTE7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyCisgICAgPgorc3RydWN0IGFwcGx5MjsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzCisgICAgPgorc3RydWN0IGFwcGx5MzsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgID4KK3N0cnVjdCBhcHBseTQ7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1CisgICAgPgorc3RydWN0IGFwcGx5NTsKKworfX0KKwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjY19wcmU1OTAvYXBwbHlfd3JhcC5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjX3ByZTU5MC9hcHBseV93cmFwLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yOGFiYTMzCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjY19wcmU1OTAvYXBwbHlfd3JhcC5ocHAKQEAgLTAsMCArMSw0NTYgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA4CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyAqUHJlcHJvY2Vzc2VkKiB2ZXJzaW9uIG9mIHRoZSBtYWluICJhcHBseV93cmFwLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwKKyAgICAgIGludCBOLCB0eXBlbmFtZSBGCisgICAgPgorc3RydWN0IGFwcGx5X3dyYXBfaW1wbDA7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRgorICAgID4KK3N0cnVjdCBhcHBseV93cmFwX2ltcGwwPAorICAgICAgICAgIDAKKyAgICAgICAgLCBGCisgICAgICAgCisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIEY6OnRlbXBsYXRlIGFwcGx5PAorICAgICAgICAgCisvLy8gc2luY2UgdGhlIGRlZmF1bHRzIGFyZSAibG9zdCIsIHdlIGhhdmUgdG8gcGFzcyAqc29tZXRoaW5nKiBldmVuIGZvciBudWxsYXJ5CisvLy8gbWV0YWZ1bmN0aW9uIGNsYXNzZXMKKyAgICAgICAgbmEKKyAgICAgICAgPiB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGCisgICAgPgorc3RydWN0IGFwcGx5X3dyYXBfaW1wbDA8CisgICAgICAgICAgMQorICAgICAgICAsIEYKKyAgICAgICAKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgRjo6dGVtcGxhdGUgYXBwbHk8CisgICAgICAgICAKKyAgICAgICAgbmEKKyAgICAgICAgPiB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGCisgICAgPgorc3RydWN0IGFwcGx5X3dyYXBfaW1wbDA8CisgICAgICAgICAgMgorICAgICAgICAsIEYKKyAgICAgICAKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgRjo6dGVtcGxhdGUgYXBwbHk8CisgICAgICAgICAKKyAgICAgICAgbmEsIG5hCisKKyAgICAgICAgPiB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGCisgICAgPgorc3RydWN0IGFwcGx5X3dyYXBfaW1wbDA8CisgICAgICAgICAgMworICAgICAgICAsIEYKKyAgICAgICAKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgRjo6dGVtcGxhdGUgYXBwbHk8CisgICAgICAgICAKKyAgICAgICAgbmEsIG5hLCBuYQorCisgICAgICAgID4gdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRgorICAgID4KK3N0cnVjdCBhcHBseV93cmFwX2ltcGwwPAorICAgICAgICAgIDQKKyAgICAgICAgLCBGCisgICAgICAgCisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIEY6OnRlbXBsYXRlIGFwcGx5PAorICAgICAgICAgCisgICAgICAgIG5hLCBuYSwgbmEsIG5hCisKKyAgICAgICAgPiB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGCisgICAgPgorc3RydWN0IGFwcGx5X3dyYXBfaW1wbDA8CisgICAgICAgICAgNQorICAgICAgICAsIEYKKyAgICAgICAKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgRjo6dGVtcGxhdGUgYXBwbHk8CisgICAgICAgICAKKyAgICAgICAgbmEsIG5hLCBuYSwgbmEsIG5hCisKKyAgICAgICAgPiB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGCisgICAgPgorc3RydWN0IGFwcGx5X3dyYXAwCisgICAgOiBhcHBseV93cmFwX2ltcGwwPAorICAgICAgICAgIDo6bmRuYm9vc3Q6Om1wbDo6YXV4Ojphcml0eTwgRiwwID46OnZhbHVlCisgICAgICAgICwgRgorICAgICAgIAorICAgICAgICA+Ojp0eXBlCit7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIGludCBOLCB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMQorICAgID4KK3N0cnVjdCBhcHBseV93cmFwX2ltcGwxOworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxCisgICAgPgorc3RydWN0IGFwcGx5X3dyYXBfaW1wbDE8CisgICAgICAgICAgMQorICAgICAgICAsIEYKKyAgICAgICAgLCBUMQorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBGOjp0ZW1wbGF0ZSBhcHBseTwKKyAgICAgICAgICBUMQorICAgICAgICA+IHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxCisgICAgPgorc3RydWN0IGFwcGx5X3dyYXBfaW1wbDE8CisgICAgICAgICAgMgorICAgICAgICAsIEYKKyAgICAgICAgLCBUMQorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBGOjp0ZW1wbGF0ZSBhcHBseTwKKyAgICAgICAgICBUMQorICAgICAgICAsIG5hCisKKyAgICAgICAgPiB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMQorICAgID4KK3N0cnVjdCBhcHBseV93cmFwX2ltcGwxPAorICAgICAgICAgIDMKKyAgICAgICAgLCBGCisgICAgICAgICwgVDEKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgRjo6dGVtcGxhdGUgYXBwbHk8CisgICAgICAgICAgVDEKKyAgICAgICAgLCBuYSwgbmEKKworICAgICAgICA+IHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxCisgICAgPgorc3RydWN0IGFwcGx5X3dyYXBfaW1wbDE8CisgICAgICAgICAgNAorICAgICAgICAsIEYKKyAgICAgICAgLCBUMQorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBGOjp0ZW1wbGF0ZSBhcHBseTwKKyAgICAgICAgICBUMQorICAgICAgICAsIG5hLCBuYSwgbmEKKworICAgICAgICA+IHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxCisgICAgPgorc3RydWN0IGFwcGx5X3dyYXBfaW1wbDE8CisgICAgICAgICAgNQorICAgICAgICAsIEYKKyAgICAgICAgLCBUMQorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBGOjp0ZW1wbGF0ZSBhcHBseTwKKyAgICAgICAgICBUMQorICAgICAgICAsIG5hLCBuYSwgbmEsIG5hCisKKyAgICAgICAgPiB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMQorICAgID4KK3N0cnVjdCBhcHBseV93cmFwMQorICAgIDogYXBwbHlfd3JhcF9pbXBsMTwKKyAgICAgICAgICA6Om5kbmJvb3N0OjptcGw6OmF1eDo6YXJpdHk8IEYsMSA+Ojp2YWx1ZQorICAgICAgICAsIEYKKyAgICAgICAgLCBUMQorICAgICAgICA+Ojp0eXBlCit7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIGludCBOLCB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIKKyAgICA+CitzdHJ1Y3QgYXBwbHlfd3JhcF9pbXBsMjsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIKKyAgICA+CitzdHJ1Y3QgYXBwbHlfd3JhcF9pbXBsMjwKKyAgICAgICAgICAyCisgICAgICAgICwgRgorICAgICAgICAsIFQxLCBUMgorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBGOjp0ZW1wbGF0ZSBhcHBseTwKKyAgICAgICAgICBUMSwgVDIKKworICAgICAgICA+IHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMgorICAgID4KK3N0cnVjdCBhcHBseV93cmFwX2ltcGwyPAorICAgICAgICAgIDMKKyAgICAgICAgLCBGCisgICAgICAgICwgVDEsIFQyCisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIEY6OnRlbXBsYXRlIGFwcGx5PAorICAgICAgICAgIFQxLCBUMgorCisgICAgICAgICwgbmEKKworICAgICAgICA+IHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMgorICAgID4KK3N0cnVjdCBhcHBseV93cmFwX2ltcGwyPAorICAgICAgICAgIDQKKyAgICAgICAgLCBGCisgICAgICAgICwgVDEsIFQyCisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIEY6OnRlbXBsYXRlIGFwcGx5PAorICAgICAgICAgIFQxLCBUMgorCisgICAgICAgICwgbmEsIG5hCisKKyAgICAgICAgPiB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIKKyAgICA+CitzdHJ1Y3QgYXBwbHlfd3JhcF9pbXBsMjwKKyAgICAgICAgICA1CisgICAgICAgICwgRgorICAgICAgICAsIFQxLCBUMgorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBGOjp0ZW1wbGF0ZSBhcHBseTwKKyAgICAgICAgICBUMSwgVDIKKworICAgICAgICAsIG5hLCBuYSwgbmEKKworICAgICAgICA+IHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMgorICAgID4KK3N0cnVjdCBhcHBseV93cmFwMgorICAgIDogYXBwbHlfd3JhcF9pbXBsMjwKKyAgICAgICAgICA6Om5kbmJvb3N0OjptcGw6OmF1eDo6YXJpdHk8IEYsMiA+Ojp2YWx1ZQorICAgICAgICAsIEYKKyAgICAgICAgLCBUMSwgVDIKKyAgICAgICAgPjo6dHlwZQoreworfTsKKwordGVtcGxhdGU8CisgICAgICBpbnQgTiwgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMworICAgID4KK3N0cnVjdCBhcHBseV93cmFwX2ltcGwzOworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMKKyAgICA+CitzdHJ1Y3QgYXBwbHlfd3JhcF9pbXBsMzwKKyAgICAgICAgICAzCisgICAgICAgICwgRgorICAgICAgICAsIFQxLCBUMiwgVDMKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgRjo6dGVtcGxhdGUgYXBwbHk8CisgICAgICAgICAgVDEsIFQyLCBUMworCisgICAgICAgID4gdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMworICAgID4KK3N0cnVjdCBhcHBseV93cmFwX2ltcGwzPAorICAgICAgICAgIDQKKyAgICAgICAgLCBGCisgICAgICAgICwgVDEsIFQyLCBUMworICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBGOjp0ZW1wbGF0ZSBhcHBseTwKKyAgICAgICAgICBUMSwgVDIsIFQzCisKKyAgICAgICAgLCBuYQorCisgICAgICAgID4gdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMworICAgID4KK3N0cnVjdCBhcHBseV93cmFwX2ltcGwzPAorICAgICAgICAgIDUKKyAgICAgICAgLCBGCisgICAgICAgICwgVDEsIFQyLCBUMworICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBGOjp0ZW1wbGF0ZSBhcHBseTwKKyAgICAgICAgICBUMSwgVDIsIFQzCisKKyAgICAgICAgLCBuYSwgbmEKKworICAgICAgICA+IHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMKKyAgICA+CitzdHJ1Y3QgYXBwbHlfd3JhcDMKKyAgICA6IGFwcGx5X3dyYXBfaW1wbDM8CisgICAgICAgICAgOjpuZG5ib29zdDo6bXBsOjphdXg6OmFyaXR5PCBGLDMgPjo6dmFsdWUKKyAgICAgICAgLCBGCisgICAgICAgICwgVDEsIFQyLCBUMworICAgICAgICA+Ojp0eXBlCit7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIGludCBOLCB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgID4KK3N0cnVjdCBhcHBseV93cmFwX2ltcGw0OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgPgorc3RydWN0IGFwcGx5X3dyYXBfaW1wbDQ8CisgICAgICAgICAgNAorICAgICAgICAsIEYKKyAgICAgICAgLCBUMSwgVDIsIFQzLCBUNAorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBGOjp0ZW1wbGF0ZSBhcHBseTwKKyAgICAgICAgICBUMSwgVDIsIFQzLCBUNAorCisgICAgICAgID4gdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICA+CitzdHJ1Y3QgYXBwbHlfd3JhcF9pbXBsNDwKKyAgICAgICAgICA1CisgICAgICAgICwgRgorICAgICAgICAsIFQxLCBUMiwgVDMsIFQ0CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIEY6OnRlbXBsYXRlIGFwcGx5PAorICAgICAgICAgIFQxLCBUMiwgVDMsIFQ0CisKKyAgICAgICAgLCBuYQorCisgICAgICAgID4gdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICA+CitzdHJ1Y3QgYXBwbHlfd3JhcDQKKyAgICA6IGFwcGx5X3dyYXBfaW1wbDQ8CisgICAgICAgICAgOjpuZG5ib29zdDo6bXBsOjphdXg6OmFyaXR5PCBGLDQgPjo6dmFsdWUKKyAgICAgICAgLCBGCisgICAgICAgICwgVDEsIFQyLCBUMywgVDQKKyAgICAgICAgPjo6dHlwZQoreworfTsKKwordGVtcGxhdGU8CisgICAgICBpbnQgTiwgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1CisgICAgPgorc3RydWN0IGFwcGx5X3dyYXBfaW1wbDU7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1CisgICAgPgorc3RydWN0IGFwcGx5X3dyYXBfaW1wbDU8CisgICAgICAgICAgNQorICAgICAgICAsIEYKKyAgICAgICAgLCBUMSwgVDIsIFQzLCBUNCwgVDUKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgRjo6dGVtcGxhdGUgYXBwbHk8CisgICAgICAgICAgVDEsIFQyLCBUMywgVDQsIFQ1CisKKyAgICAgICAgPiB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUKKyAgICA+CitzdHJ1Y3QgYXBwbHlfd3JhcDUKKyAgICA6IGFwcGx5X3dyYXBfaW1wbDU8CisgICAgICAgICAgOjpuZG5ib29zdDo6bXBsOjphdXg6OmFyaXR5PCBGLDUgPjo6dmFsdWUKKyAgICAgICAgLCBGCisgICAgICAgICwgVDEsIFQyLCBUMywgVDQsIFQ1CisgICAgICAgID46OnR5cGUKK3sKK307CisKK319CisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2NfcHJlNTkwL2FyZy5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjX3ByZTU5MC9hcmcuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNhYzQzNDAKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjX3ByZTU5MC9hcmcuaHBwCkBAIC0wLDAgKzEsMTE3IEBACisKKy8vIENvcHlyaWdodCBQZXRlciBEaW1vdiAyMDAxLTIwMDIKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDEtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gKlByZXByb2Nlc3NlZCogdmVyc2lvbiBvZiB0aGUgbWFpbiAiYXJnLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK0JPT1NUX01QTF9BVVhfQURMX0JBUlJJRVJfTkFNRVNQQUNFX09QRU4KK3RlbXBsYXRlPD4gc3RydWN0IGFyZzwgLTEgPgoreworICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IC0xKTsKKyAgICBCT09TVF9NUExfQVVYX0FSR19UWVBFREVGKG5hLCB0YWcpCisgICAgQk9PU1RfTVBMX0FVWF9BUkdfVFlQRURFRihuYSwgdHlwZSkKKworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiwgdHlwZW5hbWUgVTMsIHR5cGVuYW1lIFU0LCB0eXBlbmFtZSBVNQorICAgICAgICA+CisgICAgc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIFUxIHR5cGU7CisgICAgICAgIEJPT1NUX01QTF9BVVhfQVNTRVJUX05PVF9OQSh0eXBlKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgYXJnPDE+Cit7CisgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMSk7CisgICAgdHlwZWRlZiBhcmc8Mj4gbmV4dDsKKyAgICBCT09TVF9NUExfQVVYX0FSR19UWVBFREVGKG5hLCB0YWcpCisgICAgQk9PU1RfTVBMX0FVWF9BUkdfVFlQRURFRihuYSwgdHlwZSkKKworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiwgdHlwZW5hbWUgVTMsIHR5cGVuYW1lIFU0LCB0eXBlbmFtZSBVNQorICAgICAgICA+CisgICAgc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIFUxIHR5cGU7CisgICAgICAgIEJPT1NUX01QTF9BVVhfQVNTRVJUX05PVF9OQSh0eXBlKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgYXJnPDI+Cit7CisgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMik7CisgICAgdHlwZWRlZiBhcmc8Mz4gbmV4dDsKKyAgICBCT09TVF9NUExfQVVYX0FSR19UWVBFREVGKG5hLCB0YWcpCisgICAgQk9PU1RfTVBMX0FVWF9BUkdfVFlQRURFRihuYSwgdHlwZSkKKworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiwgdHlwZW5hbWUgVTMsIHR5cGVuYW1lIFU0LCB0eXBlbmFtZSBVNQorICAgICAgICA+CisgICAgc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIFUyIHR5cGU7CisgICAgICAgIEJPT1NUX01QTF9BVVhfQVNTRVJUX05PVF9OQSh0eXBlKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgYXJnPDM+Cit7CisgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMyk7CisgICAgdHlwZWRlZiBhcmc8ND4gbmV4dDsKKyAgICBCT09TVF9NUExfQVVYX0FSR19UWVBFREVGKG5hLCB0YWcpCisgICAgQk9PU1RfTVBMX0FVWF9BUkdfVFlQRURFRihuYSwgdHlwZSkKKworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiwgdHlwZW5hbWUgVTMsIHR5cGVuYW1lIFU0LCB0eXBlbmFtZSBVNQorICAgICAgICA+CisgICAgc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIFUzIHR5cGU7CisgICAgICAgIEJPT1NUX01QTF9BVVhfQVNTRVJUX05PVF9OQSh0eXBlKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgYXJnPDQ+Cit7CisgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gNCk7CisgICAgdHlwZWRlZiBhcmc8NT4gbmV4dDsKKyAgICBCT09TVF9NUExfQVVYX0FSR19UWVBFREVGKG5hLCB0YWcpCisgICAgQk9PU1RfTVBMX0FVWF9BUkdfVFlQRURFRihuYSwgdHlwZSkKKworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiwgdHlwZW5hbWUgVTMsIHR5cGVuYW1lIFU0LCB0eXBlbmFtZSBVNQorICAgICAgICA+CisgICAgc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIFU0IHR5cGU7CisgICAgICAgIEJPT1NUX01QTF9BVVhfQVNTRVJUX05PVF9OQSh0eXBlKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgYXJnPDU+Cit7CisgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gNSk7CisgICAgdHlwZWRlZiBhcmc8Nj4gbmV4dDsKKyAgICBCT09TVF9NUExfQVVYX0FSR19UWVBFREVGKG5hLCB0YWcpCisgICAgQk9PU1RfTVBMX0FVWF9BUkdfVFlQRURFRihuYSwgdHlwZSkKKworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiwgdHlwZW5hbWUgVTMsIHR5cGVuYW1lIFU0LCB0eXBlbmFtZSBVNQorICAgICAgICA+CisgICAgc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIFU1IHR5cGU7CisgICAgICAgIEJPT1NUX01QTF9BVVhfQVNTRVJUX05PVF9OQSh0eXBlKTsKKyAgICB9OworfTsKKworQk9PU1RfTVBMX0FVWF9OT05UWVBFX0FSSVRZX1NQRUMoMSxpbnQsIGFyZykKKworQk9PU1RfTVBMX0FVWF9BRExfQkFSUklFUl9OQU1FU1BBQ0VfQ0xPU0UKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2NfcHJlNTkwL2Jhc2ljX2JpbmQuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjY19wcmU1OTAvYmFzaWNfYmluZC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWNkMDU0YgotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2NfcHJlNTkwL2Jhc2ljX2JpbmQuaHBwCkBAIC0wLDAgKzEsMzAwIEBACisKKy8vIENvcHlyaWdodCBQZXRlciBEaW1vdiAyMDAxCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAxLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vICpQcmVwcm9jZXNzZWQqIHZlcnNpb24gb2YgdGhlIG1haW4gImJhc2ljX2JpbmQuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiwgdHlwZW5hbWUgVTMsIHR5cGVuYW1lIFU0CisgICAgLCB0eXBlbmFtZSBVNQorICAgID4KK3N0cnVjdCByZXNvbHZlX2JpbmRfYXJnCit7CisgICAgdHlwZWRlZiBUIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIGludCBOLCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIsIHR5cGVuYW1lIFUzLCB0eXBlbmFtZSBVNCwgdHlwZW5hbWUgVTUKKyAgICA+CitzdHJ1Y3QgcmVzb2x2ZV9iaW5kX2FyZzwgYXJnPE4+LCBVMSwgVTIsIFUzLCBVNCwgVTUgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHlfd3JhcDU8bXBsOjphcmc8Tj4sIFUxLCBVMiwgVTMsIFU0LCBVNT46OnR5cGUgdHlwZTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYKKyAgICA+CitzdHJ1Y3QgYmluZDAKK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIsIHR5cGVuYW1lIFUzLCB0eXBlbmFtZSBVNCwgdHlwZW5hbWUgVTUKKyAgICAgICAgPgorICAgIHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgcHJpdmF0ZToKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhdXg6OnJlc29sdmVfYmluZF9hcmc8IEYsVTEsVTIsVTMsVTQsVTUgPjo6dHlwZSBmXzsKKworICAgICBwdWJsaWM6CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHlfd3JhcDA8CisgICAgICAgICAgICAgIGZfCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyLCB0eXBlbmFtZSBVMywgdHlwZW5hbWUgVTQKKyAgICAsIHR5cGVuYW1lIFU1CisgICAgPgorc3RydWN0IHJlc29sdmVfYmluZF9hcmc8CisgICAgICBiaW5kMDxGPiwgVTEsIFUyLCBVMywgVTQsIFU1CisgICAgPgoreworICAgIHR5cGVkZWYgYmluZDA8Rj4gZl87CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseV93cmFwNTwgZl8sVTEsVTIsVTMsVTQsVTUgPjo6dHlwZSB0eXBlOworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK0JPT1NUX01QTF9BVVhfQVJJVFlfU1BFQygxLCBiaW5kMCkKK0JPT1NUX01QTF9BVVhfVEVNUExBVEVfQVJJVFlfU1BFQygxLCBiaW5kMCkKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMQorICAgID4KK3N0cnVjdCBiaW5kMQoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiwgdHlwZW5hbWUgVTMsIHR5cGVuYW1lIFU0LCB0eXBlbmFtZSBVNQorICAgICAgICA+CisgICAgc3RydWN0IGFwcGx5CisgICAgeworICAgICBwcml2YXRlOgorICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgRixVMSxVMixVMyxVNCxVNSA+Ojp0eXBlIGZfOworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgVDEsVTEsVTIsVTMsVTQsVTUgPiB0MTsKKworICAgICBwdWJsaWM6CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHlfd3JhcDE8CisgICAgICAgICAgICAgIGZfCisgICAgICAgICAgICAsIHR5cGVuYW1lIHQxOjp0eXBlCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiwgdHlwZW5hbWUgVTMKKyAgICAsIHR5cGVuYW1lIFU0LCB0eXBlbmFtZSBVNQorICAgID4KK3N0cnVjdCByZXNvbHZlX2JpbmRfYXJnPAorICAgICAgYmluZDE8IEYsVDEgPiwgVTEsIFUyLCBVMywgVTQsIFU1CisgICAgPgoreworICAgIHR5cGVkZWYgYmluZDE8IEYsVDEgPiBmXzsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5X3dyYXA1PCBmXyxVMSxVMixVMyxVNCxVNSA+Ojp0eXBlIHR5cGU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworQk9PU1RfTVBMX0FVWF9BUklUWV9TUEVDKDIsIGJpbmQxKQorQk9PU1RfTVBMX0FVWF9URU1QTEFURV9BUklUWV9TUEVDKDIsIGJpbmQxKQorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMgorICAgID4KK3N0cnVjdCBiaW5kMgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiwgdHlwZW5hbWUgVTMsIHR5cGVuYW1lIFU0LCB0eXBlbmFtZSBVNQorICAgICAgICA+CisgICAgc3RydWN0IGFwcGx5CisgICAgeworICAgICBwcml2YXRlOgorICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgRixVMSxVMixVMyxVNCxVNSA+Ojp0eXBlIGZfOworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgVDEsVTEsVTIsVTMsVTQsVTUgPiB0MTsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IFQyLFUxLFUyLFUzLFU0LFU1ID4gdDI7CisKKyAgICAgcHVibGljOgorICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5X3dyYXAyPAorICAgICAgICAgICAgICBmXworICAgICAgICAgICAgLCB0eXBlbmFtZSB0MTo6dHlwZSwgdHlwZW5hbWUgdDI6OnR5cGUKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMgorICAgICwgdHlwZW5hbWUgVTMsIHR5cGVuYW1lIFU0LCB0eXBlbmFtZSBVNQorICAgID4KK3N0cnVjdCByZXNvbHZlX2JpbmRfYXJnPAorICAgICAgYmluZDI8IEYsVDEsVDIgPiwgVTEsIFUyLCBVMywgVTQsIFU1CisgICAgPgoreworICAgIHR5cGVkZWYgYmluZDI8IEYsVDEsVDIgPiBmXzsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5X3dyYXA1PCBmXyxVMSxVMixVMyxVNCxVNSA+Ojp0eXBlIHR5cGU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworQk9PU1RfTVBMX0FVWF9BUklUWV9TUEVDKDMsIGJpbmQyKQorQk9PU1RfTVBMX0FVWF9URU1QTEFURV9BUklUWV9TUEVDKDMsIGJpbmQyKQorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMKKyAgICA+CitzdHJ1Y3QgYmluZDMKK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIsIHR5cGVuYW1lIFUzLCB0eXBlbmFtZSBVNCwgdHlwZW5hbWUgVTUKKyAgICAgICAgPgorICAgIHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgcHJpdmF0ZToKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhdXg6OnJlc29sdmVfYmluZF9hcmc8IEYsVTEsVTIsVTMsVTQsVTUgPjo6dHlwZSBmXzsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IFQxLFUxLFUyLFUzLFU0LFU1ID4gdDE7CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBUMixVMSxVMixVMyxVNCxVNSA+IHQyOworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgVDMsVTEsVTIsVTMsVTQsVTUgPiB0MzsKKworICAgICBwdWJsaWM6CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHlfd3JhcDM8CisgICAgICAgICAgICAgIGZfCisgICAgICAgICAgICAsIHR5cGVuYW1lIHQxOjp0eXBlLCB0eXBlbmFtZSB0Mjo6dHlwZSwgdHlwZW5hbWUgdDM6OnR5cGUKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBVMQorICAgICwgdHlwZW5hbWUgVTIsIHR5cGVuYW1lIFUzLCB0eXBlbmFtZSBVNCwgdHlwZW5hbWUgVTUKKyAgICA+CitzdHJ1Y3QgcmVzb2x2ZV9iaW5kX2FyZzwKKyAgICAgIGJpbmQzPCBGLFQxLFQyLFQzID4sIFUxLCBVMiwgVTMsIFU0LCBVNQorICAgID4KK3sKKyAgICB0eXBlZGVmIGJpbmQzPCBGLFQxLFQyLFQzID4gZl87CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseV93cmFwNTwgZl8sVTEsVTIsVTMsVTQsVTUgPjo6dHlwZSB0eXBlOworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK0JPT1NUX01QTF9BVVhfQVJJVFlfU1BFQyg0LCBiaW5kMykKK0JPT1NUX01QTF9BVVhfVEVNUExBVEVfQVJJVFlfU1BFQyg0LCBiaW5kMykKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgID4KK3N0cnVjdCBiaW5kNAoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiwgdHlwZW5hbWUgVTMsIHR5cGVuYW1lIFU0LCB0eXBlbmFtZSBVNQorICAgICAgICA+CisgICAgc3RydWN0IGFwcGx5CisgICAgeworICAgICBwcml2YXRlOgorICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgRixVMSxVMixVMyxVNCxVNSA+Ojp0eXBlIGZfOworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgVDEsVTEsVTIsVTMsVTQsVTUgPiB0MTsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IFQyLFUxLFUyLFUzLFU0LFU1ID4gdDI7CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBUMyxVMSxVMixVMyxVNCxVNSA+IHQzOworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgVDQsVTEsVTIsVTMsVTQsVTUgPiB0NDsKKworICAgICBwdWJsaWM6CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHlfd3JhcDQ8CisgICAgICAgICAgICAgIGZfCisgICAgICAgICAgICAsIHR5cGVuYW1lIHQxOjp0eXBlLCB0eXBlbmFtZSB0Mjo6dHlwZSwgdHlwZW5hbWUgdDM6OnR5cGUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgdDQ6OnR5cGUKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyLCB0eXBlbmFtZSBVMywgdHlwZW5hbWUgVTQsIHR5cGVuYW1lIFU1CisgICAgPgorc3RydWN0IHJlc29sdmVfYmluZF9hcmc8CisgICAgICBiaW5kNDwgRixUMSxUMixUMyxUNCA+LCBVMSwgVTIsIFUzLCBVNCwgVTUKKyAgICA+Cit7CisgICAgdHlwZWRlZiBiaW5kNDwgRixUMSxUMixUMyxUNCA+IGZfOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHlfd3JhcDU8IGZfLFUxLFUyLFUzLFU0LFU1ID46OnR5cGUgdHlwZTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCitCT09TVF9NUExfQVVYX0FSSVRZX1NQRUMoNSwgYmluZDQpCitCT09TVF9NUExfQVVYX1RFTVBMQVRFX0FSSVRZX1NQRUMoNSwgYmluZDQpCisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1CisgICAgPgorc3RydWN0IGJpbmQ1Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyLCB0eXBlbmFtZSBVMywgdHlwZW5hbWUgVTQsIHR5cGVuYW1lIFU1CisgICAgICAgID4KKyAgICBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgIHByaXZhdGU6CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBGLFUxLFUyLFUzLFU0LFU1ID46OnR5cGUgZl87CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBUMSxVMSxVMixVMyxVNCxVNSA+IHQxOworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgVDIsVTEsVTIsVTMsVTQsVTUgPiB0MjsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IFQzLFUxLFUyLFUzLFU0LFU1ID4gdDM7CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBUNCxVMSxVMixVMyxVNCxVNSA+IHQ0OworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgVDUsVTEsVTIsVTMsVTQsVTUgPiB0NTsKKworICAgICBwdWJsaWM6CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHlfd3JhcDU8CisgICAgICAgICAgICAgIGZfCisgICAgICAgICAgICAsIHR5cGVuYW1lIHQxOjp0eXBlLCB0eXBlbmFtZSB0Mjo6dHlwZSwgdHlwZW5hbWUgdDM6OnR5cGUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgdDQ6OnR5cGUsIHR5cGVuYW1lIHQ1Ojp0eXBlCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIsIHR5cGVuYW1lIFUzLCB0eXBlbmFtZSBVNAorICAgICwgdHlwZW5hbWUgVTUKKyAgICA+CitzdHJ1Y3QgcmVzb2x2ZV9iaW5kX2FyZzwKKyAgICAgIGJpbmQ1PCBGLFQxLFQyLFQzLFQ0LFQ1ID4sIFUxLCBVMiwgVTMsIFU0LCBVNQorICAgID4KK3sKKyAgICB0eXBlZGVmIGJpbmQ1PCBGLFQxLFQyLFQzLFQ0LFQ1ID4gZl87CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseV93cmFwNTwgZl8sVTEsVTIsVTMsVTQsVTUgPjo6dHlwZSB0eXBlOworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK0JPT1NUX01QTF9BVVhfQVJJVFlfU1BFQyg2LCBiaW5kNSkKK0JPT1NUX01QTF9BVVhfVEVNUExBVEVfQVJJVFlfU1BFQyg2LCBiaW5kNSkKK319CisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2NfcHJlNTkwL2JpbmQuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjY19wcmU1OTAvYmluZC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzVlZTQ5MgotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2NfcHJlNTkwL2JpbmQuaHBwCkBAIC0wLDAgKzEsMzk3IEBACisKKy8vIENvcHlyaWdodCBQZXRlciBEaW1vdiAyMDAxCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAxLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vICpQcmVwcm9jZXNzZWQqIHZlcnNpb24gb2YgdGhlIG1haW4gImJpbmQuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiwgdHlwZW5hbWUgVTMsIHR5cGVuYW1lIFU0CisgICAgLCB0eXBlbmFtZSBVNQorICAgID4KK3N0cnVjdCByZXNvbHZlX2JpbmRfYXJnCit7CisgICAgdHlwZWRlZiBUIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQKKyAgICAsIHR5cGVuYW1lIEFyZworICAgID4KK3N0cnVjdCByZXBsYWNlX3VubmFtZWRfYXJnCit7CisgICAgdHlwZWRlZiBBcmcgbmV4dDsKKyAgICB0eXBlZGVmIFQgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgQXJnCisgICAgPgorc3RydWN0IHJlcGxhY2VfdW5uYW1lZF9hcmc8IGFyZzwgLTEgPiwgQXJnID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIEFyZzo6bmV4dCBuZXh0OworICAgIHR5cGVkZWYgQXJnIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIGludCBOLCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIsIHR5cGVuYW1lIFUzLCB0eXBlbmFtZSBVNCwgdHlwZW5hbWUgVTUKKyAgICA+CitzdHJ1Y3QgcmVzb2x2ZV9iaW5kX2FyZzwgYXJnPE4+LCBVMSwgVTIsIFUzLCBVNCwgVTUgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHlfd3JhcDU8bXBsOjphcmc8Tj4sIFUxLCBVMiwgVTMsIFU0LCBVNT46OnR5cGUgdHlwZTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYKKyAgICA+CitzdHJ1Y3QgYmluZDAKK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIsIHR5cGVuYW1lIFUzLCB0eXBlbmFtZSBVNCwgdHlwZW5hbWUgVTUKKyAgICAgICAgPgorICAgIHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgcHJpdmF0ZToKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlcGxhY2VfdW5uYW1lZF9hcmc8IEYsIG1wbDo6YXJnPDE+ID4gcjA7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjA6OnR5cGUgYTA7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjA6Om5leHQgbjE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBhMCxVMSxVMixVMyxVNCxVNSA+Ojp0eXBlIGZfOworICAgICAgICAvLy8KKyAgICAgcHVibGljOgorICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5X3dyYXAwPAorICAgICAgICAgICAgICBmXworICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiwgdHlwZW5hbWUgVTMsIHR5cGVuYW1lIFU0CisgICAgLCB0eXBlbmFtZSBVNQorICAgID4KK3N0cnVjdCByZXNvbHZlX2JpbmRfYXJnPAorICAgICAgYmluZDA8Rj4sIFUxLCBVMiwgVTMsIFU0LCBVNQorICAgID4KK3sKKyAgICB0eXBlZGVmIGJpbmQwPEY+IGZfOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHlfd3JhcDU8IGZfLFUxLFUyLFUzLFU0LFU1ID46OnR5cGUgdHlwZTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCitCT09TVF9NUExfQVVYX0FSSVRZX1NQRUMoMSwgYmluZDApCitCT09TVF9NUExfQVVYX1RFTVBMQVRFX0FSSVRZX1NQRUMoMSwgYmluZDApCisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEKKyAgICA+CitzdHJ1Y3QgYmluZDEKK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIsIHR5cGVuYW1lIFUzLCB0eXBlbmFtZSBVNCwgdHlwZW5hbWUgVTUKKyAgICAgICAgPgorICAgIHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgcHJpdmF0ZToKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlcGxhY2VfdW5uYW1lZF9hcmc8IEYsIG1wbDo6YXJnPDE+ID4gcjA7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjA6OnR5cGUgYTA7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjA6Om5leHQgbjE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBhMCxVMSxVMixVMyxVNCxVNSA+Ojp0eXBlIGZfOworICAgICAgICAvLy8KKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlcGxhY2VfdW5uYW1lZF9hcmc8IFQxLG4xID4gcjE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjE6OnR5cGUgYTE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjE6Om5leHQgbjI7CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBhMSxVMSxVMixVMyxVNCxVNSA+IHQxOworICAgICAgICAvLy8KKyAgICAgcHVibGljOgorICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5X3dyYXAxPAorICAgICAgICAgICAgICBmXworICAgICAgICAgICAgLCB0eXBlbmFtZSB0MTo6dHlwZQorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIsIHR5cGVuYW1lIFUzCisgICAgLCB0eXBlbmFtZSBVNCwgdHlwZW5hbWUgVTUKKyAgICA+CitzdHJ1Y3QgcmVzb2x2ZV9iaW5kX2FyZzwKKyAgICAgIGJpbmQxPCBGLFQxID4sIFUxLCBVMiwgVTMsIFU0LCBVNQorICAgID4KK3sKKyAgICB0eXBlZGVmIGJpbmQxPCBGLFQxID4gZl87CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseV93cmFwNTwgZl8sVTEsVTIsVTMsVTQsVTUgPjo6dHlwZSB0eXBlOworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK0JPT1NUX01QTF9BVVhfQVJJVFlfU1BFQygyLCBiaW5kMSkKK0JPT1NUX01QTF9BVVhfVEVNUExBVEVfQVJJVFlfU1BFQygyLCBiaW5kMSkKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIKKyAgICA+CitzdHJ1Y3QgYmluZDIKK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIsIHR5cGVuYW1lIFUzLCB0eXBlbmFtZSBVNCwgdHlwZW5hbWUgVTUKKyAgICAgICAgPgorICAgIHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgcHJpdmF0ZToKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlcGxhY2VfdW5uYW1lZF9hcmc8IEYsIG1wbDo6YXJnPDE+ID4gcjA7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjA6OnR5cGUgYTA7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjA6Om5leHQgbjE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBhMCxVMSxVMixVMyxVNCxVNSA+Ojp0eXBlIGZfOworICAgICAgICAvLy8KKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlcGxhY2VfdW5uYW1lZF9hcmc8IFQxLG4xID4gcjE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjE6OnR5cGUgYTE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjE6Om5leHQgbjI7CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBhMSxVMSxVMixVMyxVNCxVNSA+IHQxOworICAgICAgICAvLy8KKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlcGxhY2VfdW5uYW1lZF9hcmc8IFQyLG4yID4gcjI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjI6OnR5cGUgYTI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjI6Om5leHQgbjM7CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBhMixVMSxVMixVMyxVNCxVNSA+IHQyOworICAgICAgICAvLy8KKyAgICAgcHVibGljOgorICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5X3dyYXAyPAorICAgICAgICAgICAgICBmXworICAgICAgICAgICAgLCB0eXBlbmFtZSB0MTo6dHlwZSwgdHlwZW5hbWUgdDI6OnR5cGUKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMgorICAgICwgdHlwZW5hbWUgVTMsIHR5cGVuYW1lIFU0LCB0eXBlbmFtZSBVNQorICAgID4KK3N0cnVjdCByZXNvbHZlX2JpbmRfYXJnPAorICAgICAgYmluZDI8IEYsVDEsVDIgPiwgVTEsIFUyLCBVMywgVTQsIFU1CisgICAgPgoreworICAgIHR5cGVkZWYgYmluZDI8IEYsVDEsVDIgPiBmXzsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5X3dyYXA1PCBmXyxVMSxVMixVMyxVNCxVNSA+Ojp0eXBlIHR5cGU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworQk9PU1RfTVBMX0FVWF9BUklUWV9TUEVDKDMsIGJpbmQyKQorQk9PU1RfTVBMX0FVWF9URU1QTEFURV9BUklUWV9TUEVDKDMsIGJpbmQyKQorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMKKyAgICA+CitzdHJ1Y3QgYmluZDMKK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIsIHR5cGVuYW1lIFUzLCB0eXBlbmFtZSBVNCwgdHlwZW5hbWUgVTUKKyAgICAgICAgPgorICAgIHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgcHJpdmF0ZToKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlcGxhY2VfdW5uYW1lZF9hcmc8IEYsIG1wbDo6YXJnPDE+ID4gcjA7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjA6OnR5cGUgYTA7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjA6Om5leHQgbjE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBhMCxVMSxVMixVMyxVNCxVNSA+Ojp0eXBlIGZfOworICAgICAgICAvLy8KKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlcGxhY2VfdW5uYW1lZF9hcmc8IFQxLG4xID4gcjE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjE6OnR5cGUgYTE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjE6Om5leHQgbjI7CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBhMSxVMSxVMixVMyxVNCxVNSA+IHQxOworICAgICAgICAvLy8KKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlcGxhY2VfdW5uYW1lZF9hcmc8IFQyLG4yID4gcjI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjI6OnR5cGUgYTI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjI6Om5leHQgbjM7CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBhMixVMSxVMixVMyxVNCxVNSA+IHQyOworICAgICAgICAvLy8KKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlcGxhY2VfdW5uYW1lZF9hcmc8IFQzLG4zID4gcjM7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjM6OnR5cGUgYTM7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjM6Om5leHQgbjQ7CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBhMyxVMSxVMixVMyxVNCxVNSA+IHQzOworICAgICAgICAvLy8KKyAgICAgcHVibGljOgorICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5X3dyYXAzPAorICAgICAgICAgICAgICBmXworICAgICAgICAgICAgLCB0eXBlbmFtZSB0MTo6dHlwZSwgdHlwZW5hbWUgdDI6OnR5cGUsIHR5cGVuYW1lIHQzOjp0eXBlCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVTEKKyAgICAsIHR5cGVuYW1lIFUyLCB0eXBlbmFtZSBVMywgdHlwZW5hbWUgVTQsIHR5cGVuYW1lIFU1CisgICAgPgorc3RydWN0IHJlc29sdmVfYmluZF9hcmc8CisgICAgICBiaW5kMzwgRixUMSxUMixUMyA+LCBVMSwgVTIsIFUzLCBVNCwgVTUKKyAgICA+Cit7CisgICAgdHlwZWRlZiBiaW5kMzwgRixUMSxUMixUMyA+IGZfOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHlfd3JhcDU8IGZfLFUxLFUyLFUzLFU0LFU1ID46OnR5cGUgdHlwZTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCitCT09TVF9NUExfQVVYX0FSSVRZX1NQRUMoNCwgYmluZDMpCitCT09TVF9NUExfQVVYX1RFTVBMQVRFX0FSSVRZX1NQRUMoNCwgYmluZDMpCisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICA+CitzdHJ1Y3QgYmluZDQKK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIsIHR5cGVuYW1lIFUzLCB0eXBlbmFtZSBVNCwgdHlwZW5hbWUgVTUKKyAgICAgICAgPgorICAgIHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgcHJpdmF0ZToKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlcGxhY2VfdW5uYW1lZF9hcmc8IEYsIG1wbDo6YXJnPDE+ID4gcjA7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjA6OnR5cGUgYTA7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjA6Om5leHQgbjE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBhMCxVMSxVMixVMyxVNCxVNSA+Ojp0eXBlIGZfOworICAgICAgICAvLy8KKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlcGxhY2VfdW5uYW1lZF9hcmc8IFQxLG4xID4gcjE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjE6OnR5cGUgYTE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjE6Om5leHQgbjI7CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBhMSxVMSxVMixVMyxVNCxVNSA+IHQxOworICAgICAgICAvLy8KKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlcGxhY2VfdW5uYW1lZF9hcmc8IFQyLG4yID4gcjI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjI6OnR5cGUgYTI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjI6Om5leHQgbjM7CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBhMixVMSxVMixVMyxVNCxVNSA+IHQyOworICAgICAgICAvLy8KKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlcGxhY2VfdW5uYW1lZF9hcmc8IFQzLG4zID4gcjM7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjM6OnR5cGUgYTM7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjM6Om5leHQgbjQ7CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBhMyxVMSxVMixVMyxVNCxVNSA+IHQzOworICAgICAgICAvLy8KKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlcGxhY2VfdW5uYW1lZF9hcmc8IFQ0LG40ID4gcjQ7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjQ6OnR5cGUgYTQ7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjQ6Om5leHQgbjU7CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBhNCxVMSxVMixVMyxVNCxVNSA+IHQ0OworICAgICAgICAvLy8KKyAgICAgcHVibGljOgorICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5X3dyYXA0PAorICAgICAgICAgICAgICBmXworICAgICAgICAgICAgLCB0eXBlbmFtZSB0MTo6dHlwZSwgdHlwZW5hbWUgdDI6OnR5cGUsIHR5cGVuYW1lIHQzOjp0eXBlCisgICAgICAgICAgICAsIHR5cGVuYW1lIHQ0Ojp0eXBlCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiwgdHlwZW5hbWUgVTMsIHR5cGVuYW1lIFU0LCB0eXBlbmFtZSBVNQorICAgID4KK3N0cnVjdCByZXNvbHZlX2JpbmRfYXJnPAorICAgICAgYmluZDQ8IEYsVDEsVDIsVDMsVDQgPiwgVTEsIFUyLCBVMywgVTQsIFU1CisgICAgPgoreworICAgIHR5cGVkZWYgYmluZDQ8IEYsVDEsVDIsVDMsVDQgPiBmXzsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5X3dyYXA1PCBmXyxVMSxVMixVMyxVNCxVNSA+Ojp0eXBlIHR5cGU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworQk9PU1RfTVBMX0FVWF9BUklUWV9TUEVDKDUsIGJpbmQ0KQorQk9PU1RfTVBMX0FVWF9URU1QTEFURV9BUklUWV9TUEVDKDUsIGJpbmQ0KQorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNQorICAgID4KK3N0cnVjdCBiaW5kNQoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiwgdHlwZW5hbWUgVTMsIHR5cGVuYW1lIFU0LCB0eXBlbmFtZSBVNQorICAgICAgICA+CisgICAgc3RydWN0IGFwcGx5CisgICAgeworICAgICBwcml2YXRlOgorICAgICAgICB0eXBlZGVmIGF1eDo6cmVwbGFjZV91bm5hbWVkX2FyZzwgRiwgbXBsOjphcmc8MT4gPiByMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMDo6dHlwZSBhMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMDo6bmV4dCBuMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhdXg6OnJlc29sdmVfYmluZF9hcmc8IGEwLFUxLFUyLFUzLFU0LFU1ID46OnR5cGUgZl87CisgICAgICAgIC8vLworICAgICAgICB0eXBlZGVmIGF1eDo6cmVwbGFjZV91bm5hbWVkX2FyZzwgVDEsbjEgPiByMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMTo6dHlwZSBhMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMTo6bmV4dCBuMjsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IGExLFUxLFUyLFUzLFU0LFU1ID4gdDE7CisgICAgICAgIC8vLworICAgICAgICB0eXBlZGVmIGF1eDo6cmVwbGFjZV91bm5hbWVkX2FyZzwgVDIsbjIgPiByMjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMjo6dHlwZSBhMjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMjo6bmV4dCBuMzsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IGEyLFUxLFUyLFUzLFU0LFU1ID4gdDI7CisgICAgICAgIC8vLworICAgICAgICB0eXBlZGVmIGF1eDo6cmVwbGFjZV91bm5hbWVkX2FyZzwgVDMsbjMgPiByMzsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMzo6dHlwZSBhMzsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMzo6bmV4dCBuNDsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IGEzLFUxLFUyLFUzLFU0LFU1ID4gdDM7CisgICAgICAgIC8vLworICAgICAgICB0eXBlZGVmIGF1eDo6cmVwbGFjZV91bm5hbWVkX2FyZzwgVDQsbjQgPiByNDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByNDo6dHlwZSBhNDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByNDo6bmV4dCBuNTsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IGE0LFUxLFUyLFUzLFU0LFU1ID4gdDQ7CisgICAgICAgIC8vLworICAgICAgICB0eXBlZGVmIGF1eDo6cmVwbGFjZV91bm5hbWVkX2FyZzwgVDUsbjUgPiByNTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByNTo6dHlwZSBhNTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByNTo6bmV4dCBuNjsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IGE1LFUxLFUyLFUzLFU0LFU1ID4gdDU7CisgICAgICAgIC8vLworICAgICBwdWJsaWM6CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHlfd3JhcDU8CisgICAgICAgICAgICAgIGZfCisgICAgICAgICAgICAsIHR5cGVuYW1lIHQxOjp0eXBlLCB0eXBlbmFtZSB0Mjo6dHlwZSwgdHlwZW5hbWUgdDM6OnR5cGUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgdDQ6OnR5cGUsIHR5cGVuYW1lIHQ1Ojp0eXBlCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIsIHR5cGVuYW1lIFUzLCB0eXBlbmFtZSBVNAorICAgICwgdHlwZW5hbWUgVTUKKyAgICA+CitzdHJ1Y3QgcmVzb2x2ZV9iaW5kX2FyZzwKKyAgICAgIGJpbmQ1PCBGLFQxLFQyLFQzLFQ0LFQ1ID4sIFUxLCBVMiwgVTMsIFU0LCBVNQorICAgID4KK3sKKyAgICB0eXBlZGVmIGJpbmQ1PCBGLFQxLFQyLFQzLFQ0LFQ1ID4gZl87CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseV93cmFwNTwgZl8sVTEsVTIsVTMsVTQsVTUgPjo6dHlwZSB0eXBlOworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK0JPT1NUX01QTF9BVVhfQVJJVFlfU1BFQyg2LCBiaW5kNSkKK0JPT1NUX01QTF9BVVhfVEVNUExBVEVfQVJJVFlfU1BFQyg2LCBiaW5kNSkKK319CisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2NfcHJlNTkwL2JpbmRfZndkLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2NfcHJlNTkwL2JpbmRfZndkLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZTVkNTU0Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjY19wcmU1OTAvYmluZF9md2QuaHBwCkBAIC0wLDAgKzEsNDYgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyAqUHJlcHJvY2Vzc2VkKiB2ZXJzaW9uIG9mIHRoZSBtYWluICJiaW5kX2Z3ZC5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGCisgICAgPgorc3RydWN0IGJpbmQwOworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxCisgICAgPgorc3RydWN0IGJpbmQxOworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMgorICAgID4KK3N0cnVjdCBiaW5kMjsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzCisgICAgPgorc3RydWN0IGJpbmQzOworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgPgorc3RydWN0IGJpbmQ0OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNQorICAgID4KK3N0cnVjdCBiaW5kNTsKKworfX0KKwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjY19wcmU1OTAvYml0YW5kLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2NfcHJlNTkwL2JpdGFuZC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWEyYWM4ZAotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2NfcHJlNTkwL2JpdGFuZC5ocHAKQEAgLTAsMCArMSwxNDcgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLyBDb3B5cmlnaHQgSmFhcCBTdXRlciAyMDAzCisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyAqUHJlcHJvY2Vzc2VkKiB2ZXJzaW9uIG9mIHRoZSBtYWluICJiaXRhbmQuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVGFnMQorICAgICwgdHlwZW5hbWUgVGFnMgorICAgID4KK3N0cnVjdCBiaXRhbmRfaW1wbAorICAgIDogaWZfYzwKKyAgICAgICAgICAoIEJPT1NUX01QTF9BVVhfTkVTVEVEX1ZBTFVFX1dLTkQoaW50LCBUYWcxKQorICAgICAgICAgICAgICA+IEJPT1NUX01QTF9BVVhfTkVTVEVEX1ZBTFVFX1dLTkQoaW50LCBUYWcyKQorICAgICAgICAgICAgKQorCisgICAgICAgICwgYXV4OjpjYXN0Mm5kX2ltcGw8IGJpdGFuZF9pbXBsPCBUYWcxLFRhZzEgPixUYWcxLCBUYWcyID4KKyAgICAgICAgLCBhdXg6OmNhc3Qxc3RfaW1wbDwgYml0YW5kX2ltcGw8IFRhZzIsVGFnMiA+LFRhZzEsIFRhZzIgPgorICAgICAgICA+Ojp0eXBlCit7Cit9OworCisvLy8gZm9yIERpZ2l0YWwgTWFycyBDKysvY29tcGlsZXJzIHdpdGggbm8gQ1RQUy9UVFAgc3VwcG9ydAordGVtcGxhdGU8PiBzdHJ1Y3QgYml0YW5kX2ltcGw8IG5hLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVGFnID4gc3RydWN0IGJpdGFuZF9pbXBsPCBuYSxUYWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUYWcgPiBzdHJ1Y3QgYml0YW5kX2ltcGw8IFRhZyxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFQgPiBzdHJ1Y3QgYml0YW5kX3RhZworeworICAgIHR5cGVkZWYgdHlwZW5hbWUgVDo6dGFnIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjEpCisgICAgLCB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4yKQorICAgICwgdHlwZW5hbWUgTjMgPSBuYSwgdHlwZW5hbWUgTjQgPSBuYSwgdHlwZW5hbWUgTjUgPSBuYQorICAgID4KK3N0cnVjdCBiaXRhbmRfCisgICAgOiBiaXRhbmRfPCBiaXRhbmRfPCBiaXRhbmRfPCBiaXRhbmRfPCBOMSxOMiA+LCBOMz4sIE40PiwgTjU+Cit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgKKyAgICAgICAgICA1CisgICAgICAgICwgYml0YW5kXworICAgICAgICAsICggTjEsIE4yLCBOMywgTjQsIE41ICkKKyAgICAgICAgKQorfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBOMSwgdHlwZW5hbWUgTjIsIHR5cGVuYW1lIE4zLCB0eXBlbmFtZSBONAorICAgID4KK3N0cnVjdCBiaXRhbmRfPCBOMSxOMixOMyxONCxuYSA+CisKKyAgICA6IGJpdGFuZF88IGJpdGFuZF88IGJpdGFuZF88IE4xLE4yID4sIE4zPiwgTjQ+Cit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVF9TUEVDKAorICAgICAgICAgIDUKKyAgICAgICAgLCBiaXRhbmRfCisgICAgICAgICwgKCBOMSwgTjIsIE4zLCBONCwgbmEgKQorICAgICAgICApCit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIE4xLCB0eXBlbmFtZSBOMiwgdHlwZW5hbWUgTjMKKyAgICA+CitzdHJ1Y3QgYml0YW5kXzwgTjEsTjIsTjMsbmEsbmEgPgorCisgICAgOiBiaXRhbmRfPCBiaXRhbmRfPCBOMSxOMiA+LCBOMz4KK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUX1NQRUMoCisgICAgICAgICAgNQorICAgICAgICAsIGJpdGFuZF8KKyAgICAgICAgLCAoIE4xLCBOMiwgTjMsIG5hLCBuYSApCisgICAgICAgICkKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgTjEsIHR5cGVuYW1lIE4yCisgICAgPgorc3RydWN0IGJpdGFuZF88IE4xLE4yLG5hLG5hLG5hID4KKyAgICA6IGJpdGFuZF9pbXBsPAorICAgICAgICAgIHR5cGVuYW1lIGJpdGFuZF90YWc8TjE+Ojp0eXBlCisgICAgICAgICwgdHlwZW5hbWUgYml0YW5kX3RhZzxOMj46OnR5cGUKKyAgICAgICAgPjo6dGVtcGxhdGUgYXBwbHk8IE4xLE4yID46OnR5cGUKK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUX1NQRUMoCisgICAgICAgICAgNQorICAgICAgICAsIGJpdGFuZF8KKyAgICAgICAgLCAoIE4xLCBOMiwgbmEsIG5hLCBuYSApCisgICAgICAgICkKKworfTsKKworQk9PU1RfTVBMX0FVWF9OQV9TUEVDMigyLCA1LCBiaXRhbmRfKQorCit9fQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKK3RlbXBsYXRlPD4KK3N0cnVjdCBiaXRhbmRfaW1wbDwgaW50ZWdyYWxfY190YWcsaW50ZWdyYWxfY190YWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBOMSwgdHlwZW5hbWUgTjIgPiBzdHJ1Y3QgYXBwbHkKKworICAgICAgICA6IGludGVncmFsX2M8CisgICAgICAgICAgICAgIHR5cGVuYW1lIGF1eDo6bGFyZ2VzdF9pbnQ8CisgICAgICAgICAgICAgICAgICB0eXBlbmFtZSBOMTo6dmFsdWVfdHlwZQorICAgICAgICAgICAgICAgICwgdHlwZW5hbWUgTjI6OnZhbHVlX3R5cGUKKyAgICAgICAgICAgICAgICA+Ojp0eXBlCisgICAgICAgICAgICAsICggQk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4xKTo6dmFsdWUKKyAgICAgICAgICAgICAgICAgICYgQk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4yKTo6dmFsdWUKKyAgICAgICAgICAgICAgICApCisgICAgICAgICAgICA+CisgICAgeworICAgIH07Cit9OworCit9fQpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjY19wcmU1OTAvYml0b3IuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjY19wcmU1OTAvYml0b3IuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUzNmYzNTAKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjX3ByZTU5MC9iaXRvci5ocHAKQEAgLTAsMCArMSwxNDcgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLyBDb3B5cmlnaHQgSmFhcCBTdXRlciAyMDAzCisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyAqUHJlcHJvY2Vzc2VkKiB2ZXJzaW9uIG9mIHRoZSBtYWluICJiaXRvci5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUYWcxCisgICAgLCB0eXBlbmFtZSBUYWcyCisgICAgPgorc3RydWN0IGJpdG9yX2ltcGwKKyAgICA6IGlmX2M8CisgICAgICAgICAgKCBCT09TVF9NUExfQVVYX05FU1RFRF9WQUxVRV9XS05EKGludCwgVGFnMSkKKyAgICAgICAgICAgICAgPiBCT09TVF9NUExfQVVYX05FU1RFRF9WQUxVRV9XS05EKGludCwgVGFnMikKKyAgICAgICAgICAgICkKKworICAgICAgICAsIGF1eDo6Y2FzdDJuZF9pbXBsPCBiaXRvcl9pbXBsPCBUYWcxLFRhZzEgPixUYWcxLCBUYWcyID4KKyAgICAgICAgLCBhdXg6OmNhc3Qxc3RfaW1wbDwgYml0b3JfaW1wbDwgVGFnMixUYWcyID4sVGFnMSwgVGFnMiA+CisgICAgICAgID46OnR5cGUKK3sKK307CisKKy8vLyBmb3IgRGlnaXRhbCBNYXJzIEMrKy9jb21waWxlcnMgd2l0aCBubyBDVFBTL1RUUCBzdXBwb3J0Cit0ZW1wbGF0ZTw+IHN0cnVjdCBiaXRvcl9pbXBsPCBuYSxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFRhZyA+IHN0cnVjdCBiaXRvcl9pbXBsPCBuYSxUYWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUYWcgPiBzdHJ1Y3QgYml0b3JfaW1wbDwgVGFnLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVCA+IHN0cnVjdCBiaXRvcl90YWcKK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIFQ6OnRhZyB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4xKQorICAgICwgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMikKKyAgICAsIHR5cGVuYW1lIE4zID0gbmEsIHR5cGVuYW1lIE40ID0gbmEsIHR5cGVuYW1lIE41ID0gbmEKKyAgICA+CitzdHJ1Y3QgYml0b3JfCisgICAgOiBiaXRvcl88IGJpdG9yXzwgYml0b3JfPCBiaXRvcl88IE4xLE4yID4sIE4zPiwgTjQ+LCBONT4KK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKAorICAgICAgICAgIDUKKyAgICAgICAgLCBiaXRvcl8KKyAgICAgICAgLCAoIE4xLCBOMiwgTjMsIE40LCBONSApCisgICAgICAgICkKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgTjEsIHR5cGVuYW1lIE4yLCB0eXBlbmFtZSBOMywgdHlwZW5hbWUgTjQKKyAgICA+CitzdHJ1Y3QgYml0b3JfPCBOMSxOMixOMyxONCxuYSA+CisKKyAgICA6IGJpdG9yXzwgYml0b3JfPCBiaXRvcl88IE4xLE4yID4sIE4zPiwgTjQ+Cit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVF9TUEVDKAorICAgICAgICAgIDUKKyAgICAgICAgLCBiaXRvcl8KKyAgICAgICAgLCAoIE4xLCBOMiwgTjMsIE40LCBuYSApCisgICAgICAgICkKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgTjEsIHR5cGVuYW1lIE4yLCB0eXBlbmFtZSBOMworICAgID4KK3N0cnVjdCBiaXRvcl88IE4xLE4yLE4zLG5hLG5hID4KKworICAgIDogYml0b3JfPCBiaXRvcl88IE4xLE4yID4sIE4zPgoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlRfU1BFQygKKyAgICAgICAgICA1CisgICAgICAgICwgYml0b3JfCisgICAgICAgICwgKCBOMSwgTjIsIE4zLCBuYSwgbmEgKQorICAgICAgICApCit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIE4xLCB0eXBlbmFtZSBOMgorICAgID4KK3N0cnVjdCBiaXRvcl88IE4xLE4yLG5hLG5hLG5hID4KKyAgICA6IGJpdG9yX2ltcGw8CisgICAgICAgICAgdHlwZW5hbWUgYml0b3JfdGFnPE4xPjo6dHlwZQorICAgICAgICAsIHR5cGVuYW1lIGJpdG9yX3RhZzxOMj46OnR5cGUKKyAgICAgICAgPjo6dGVtcGxhdGUgYXBwbHk8IE4xLE4yID46OnR5cGUKK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUX1NQRUMoCisgICAgICAgICAgNQorICAgICAgICAsIGJpdG9yXworICAgICAgICAsICggTjEsIE4yLCBuYSwgbmEsIG5hICkKKyAgICAgICAgKQorCit9OworCitCT09TVF9NUExfQVVYX05BX1NQRUMyKDIsIDUsIGJpdG9yXykKKworfX0KKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7Cit0ZW1wbGF0ZTw+CitzdHJ1Y3QgYml0b3JfaW1wbDwgaW50ZWdyYWxfY190YWcsaW50ZWdyYWxfY190YWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBOMSwgdHlwZW5hbWUgTjIgPiBzdHJ1Y3QgYXBwbHkKKworICAgICAgICA6IGludGVncmFsX2M8CisgICAgICAgICAgICAgIHR5cGVuYW1lIGF1eDo6bGFyZ2VzdF9pbnQ8CisgICAgICAgICAgICAgICAgICB0eXBlbmFtZSBOMTo6dmFsdWVfdHlwZQorICAgICAgICAgICAgICAgICwgdHlwZW5hbWUgTjI6OnZhbHVlX3R5cGUKKyAgICAgICAgICAgICAgICA+Ojp0eXBlCisgICAgICAgICAgICAsICggQk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4xKTo6dmFsdWUKKyAgICAgICAgICAgICAgICAgIHwgQk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4yKTo6dmFsdWUKKyAgICAgICAgICAgICAgICApCisgICAgICAgICAgICA+CisgICAgeworICAgIH07Cit9OworCit9fQpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjY19wcmU1OTAvYml0eG9yLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2NfcHJlNTkwL2JpdHhvci5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDg2OWZiYQotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2NfcHJlNTkwL2JpdHhvci5ocHAKQEAgLTAsMCArMSwxNDcgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLyBDb3B5cmlnaHQgSmFhcCBTdXRlciAyMDAzCisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyAqUHJlcHJvY2Vzc2VkKiB2ZXJzaW9uIG9mIHRoZSBtYWluICJiaXR4b3IuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVGFnMQorICAgICwgdHlwZW5hbWUgVGFnMgorICAgID4KK3N0cnVjdCBiaXR4b3JfaW1wbAorICAgIDogaWZfYzwKKyAgICAgICAgICAoIEJPT1NUX01QTF9BVVhfTkVTVEVEX1ZBTFVFX1dLTkQoaW50LCBUYWcxKQorICAgICAgICAgICAgICA+IEJPT1NUX01QTF9BVVhfTkVTVEVEX1ZBTFVFX1dLTkQoaW50LCBUYWcyKQorICAgICAgICAgICAgKQorCisgICAgICAgICwgYXV4OjpjYXN0Mm5kX2ltcGw8IGJpdHhvcl9pbXBsPCBUYWcxLFRhZzEgPixUYWcxLCBUYWcyID4KKyAgICAgICAgLCBhdXg6OmNhc3Qxc3RfaW1wbDwgYml0eG9yX2ltcGw8IFRhZzIsVGFnMiA+LFRhZzEsIFRhZzIgPgorICAgICAgICA+Ojp0eXBlCit7Cit9OworCisvLy8gZm9yIERpZ2l0YWwgTWFycyBDKysvY29tcGlsZXJzIHdpdGggbm8gQ1RQUy9UVFAgc3VwcG9ydAordGVtcGxhdGU8PiBzdHJ1Y3QgYml0eG9yX2ltcGw8IG5hLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVGFnID4gc3RydWN0IGJpdHhvcl9pbXBsPCBuYSxUYWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUYWcgPiBzdHJ1Y3QgYml0eG9yX2ltcGw8IFRhZyxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFQgPiBzdHJ1Y3QgYml0eG9yX3RhZworeworICAgIHR5cGVkZWYgdHlwZW5hbWUgVDo6dGFnIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjEpCisgICAgLCB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4yKQorICAgICwgdHlwZW5hbWUgTjMgPSBuYSwgdHlwZW5hbWUgTjQgPSBuYSwgdHlwZW5hbWUgTjUgPSBuYQorICAgID4KK3N0cnVjdCBiaXR4b3JfCisgICAgOiBiaXR4b3JfPCBiaXR4b3JfPCBiaXR4b3JfPCBiaXR4b3JfPCBOMSxOMiA+LCBOMz4sIE40PiwgTjU+Cit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgKKyAgICAgICAgICA1CisgICAgICAgICwgYml0eG9yXworICAgICAgICAsICggTjEsIE4yLCBOMywgTjQsIE41ICkKKyAgICAgICAgKQorfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBOMSwgdHlwZW5hbWUgTjIsIHR5cGVuYW1lIE4zLCB0eXBlbmFtZSBONAorICAgID4KK3N0cnVjdCBiaXR4b3JfPCBOMSxOMixOMyxONCxuYSA+CisKKyAgICA6IGJpdHhvcl88IGJpdHhvcl88IGJpdHhvcl88IE4xLE4yID4sIE4zPiwgTjQ+Cit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVF9TUEVDKAorICAgICAgICAgIDUKKyAgICAgICAgLCBiaXR4b3JfCisgICAgICAgICwgKCBOMSwgTjIsIE4zLCBONCwgbmEgKQorICAgICAgICApCit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIE4xLCB0eXBlbmFtZSBOMiwgdHlwZW5hbWUgTjMKKyAgICA+CitzdHJ1Y3QgYml0eG9yXzwgTjEsTjIsTjMsbmEsbmEgPgorCisgICAgOiBiaXR4b3JfPCBiaXR4b3JfPCBOMSxOMiA+LCBOMz4KK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUX1NQRUMoCisgICAgICAgICAgNQorICAgICAgICAsIGJpdHhvcl8KKyAgICAgICAgLCAoIE4xLCBOMiwgTjMsIG5hLCBuYSApCisgICAgICAgICkKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgTjEsIHR5cGVuYW1lIE4yCisgICAgPgorc3RydWN0IGJpdHhvcl88IE4xLE4yLG5hLG5hLG5hID4KKyAgICA6IGJpdHhvcl9pbXBsPAorICAgICAgICAgIHR5cGVuYW1lIGJpdHhvcl90YWc8TjE+Ojp0eXBlCisgICAgICAgICwgdHlwZW5hbWUgYml0eG9yX3RhZzxOMj46OnR5cGUKKyAgICAgICAgPjo6dGVtcGxhdGUgYXBwbHk8IE4xLE4yID46OnR5cGUKK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUX1NQRUMoCisgICAgICAgICAgNQorICAgICAgICAsIGJpdHhvcl8KKyAgICAgICAgLCAoIE4xLCBOMiwgbmEsIG5hLCBuYSApCisgICAgICAgICkKKworfTsKKworQk9PU1RfTVBMX0FVWF9OQV9TUEVDMigyLCA1LCBiaXR4b3JfKQorCit9fQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKK3RlbXBsYXRlPD4KK3N0cnVjdCBiaXR4b3JfaW1wbDwgaW50ZWdyYWxfY190YWcsaW50ZWdyYWxfY190YWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBOMSwgdHlwZW5hbWUgTjIgPiBzdHJ1Y3QgYXBwbHkKKworICAgICAgICA6IGludGVncmFsX2M8CisgICAgICAgICAgICAgIHR5cGVuYW1lIGF1eDo6bGFyZ2VzdF9pbnQ8CisgICAgICAgICAgICAgICAgICB0eXBlbmFtZSBOMTo6dmFsdWVfdHlwZQorICAgICAgICAgICAgICAgICwgdHlwZW5hbWUgTjI6OnZhbHVlX3R5cGUKKyAgICAgICAgICAgICAgICA+Ojp0eXBlCisgICAgICAgICAgICAsICggQk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4xKTo6dmFsdWUKKyAgICAgICAgICAgICAgICAgIF4gQk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4yKTo6dmFsdWUKKyAgICAgICAgICAgICAgICApCisgICAgICAgICAgICA+CisgICAgeworICAgIH07Cit9OworCit9fQpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjY19wcmU1OTAvZGVxdWUuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjY19wcmU1OTAvZGVxdWUuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEzNWQ4YTEKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjX3ByZTU5MC9kZXF1ZS5ocHAKQEAgLTAsMCArMSwzMjMgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyAqUHJlcHJvY2Vzc2VkKiB2ZXJzaW9uIG9mIHRoZSBtYWluICJkZXF1ZS5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCA9IG5hLCB0eXBlbmFtZSBUMSA9IG5hLCB0eXBlbmFtZSBUMiA9IG5hLCB0eXBlbmFtZSBUMyA9IG5hCisgICAgLCB0eXBlbmFtZSBUNCA9IG5hLCB0eXBlbmFtZSBUNSA9IG5hLCB0eXBlbmFtZSBUNiA9IG5hLCB0eXBlbmFtZSBUNyA9IG5hCisgICAgLCB0eXBlbmFtZSBUOCA9IG5hLCB0eXBlbmFtZSBUOSA9IG5hLCB0eXBlbmFtZSBUMTAgPSBuYSwgdHlwZW5hbWUgVDExID0gbmEKKyAgICAsIHR5cGVuYW1lIFQxMiA9IG5hLCB0eXBlbmFtZSBUMTMgPSBuYSwgdHlwZW5hbWUgVDE0ID0gbmEKKyAgICAsIHR5cGVuYW1lIFQxNSA9IG5hLCB0eXBlbmFtZSBUMTYgPSBuYSwgdHlwZW5hbWUgVDE3ID0gbmEKKyAgICAsIHR5cGVuYW1lIFQxOCA9IG5hLCB0eXBlbmFtZSBUMTkgPSBuYQorICAgID4KK3N0cnVjdCBkZXF1ZTsKKwordGVtcGxhdGU8CisgICAgIAorICAgID4KK3N0cnVjdCBkZXF1ZTwKKyAgICAgICAgICBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHZlY3RvcjA8ICA+Cit7CisgICAgdHlwZWRlZiB2ZWN0b3IwPCAgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMAorICAgID4KK3N0cnVjdCBkZXF1ZTwKKyAgICAgICAgICBUMCwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHZlY3RvcjE8VDA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxPFQwPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEKKyAgICA+CitzdHJ1Y3QgZGVxdWU8CisgICAgICAgICAgVDAsIFQxLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3IyPCBUMCxUMSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IyPCBUMCxUMSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIKKyAgICA+CitzdHJ1Y3QgZGVxdWU8CisgICAgICAgICAgVDAsIFQxLCBUMiwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3IzPCBUMCxUMSxUMiA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IzPCBUMCxUMSxUMiA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzCisgICAgPgorc3RydWN0IGRlcXVlPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogdmVjdG9yNDwgVDAsVDEsVDIsVDMgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yNDwgVDAsVDEsVDIsVDMgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICA+CitzdHJ1Y3QgZGVxdWU8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3I1PCBUMCxUMSxUMixUMyxUNCA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3I1PCBUMCxUMSxUMixUMyxUNCA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUKKyAgICA+CitzdHJ1Y3QgZGVxdWU8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3I2PCBUMCxUMSxUMixUMyxUNCxUNSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3I2PCBUMCxUMSxUMixUMyxUNCxUNSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2CisgICAgPgorc3RydWN0IGRlcXVlPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogdmVjdG9yNzwgVDAsVDEsVDIsVDMsVDQsVDUsVDYgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yNzwgVDAsVDEsVDIsVDMsVDQsVDUsVDYgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcKKyAgICA+CitzdHJ1Y3QgZGVxdWU8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3I4PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3I4PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgKKyAgICA+CitzdHJ1Y3QgZGVxdWU8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3I5PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3I5PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgPgorc3RydWN0IGRlcXVlPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogdmVjdG9yMTA8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjEwPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAKKyAgICA+CitzdHJ1Y3QgZGVxdWU8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogdmVjdG9yMTE8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxMTwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExCisgICAgPgorc3RydWN0IGRlcXVlPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3IxMjwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxMjwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyCisgICAgPgorc3RydWN0IGRlcXVlPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogdmVjdG9yMTM8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjEzPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMiA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMKKyAgICA+CitzdHJ1Y3QgZGVxdWU8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogdmVjdG9yMTQ8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxNDwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgPgorc3RydWN0IGRlcXVlPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNCwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3IxNTwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTU8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyxUMTQgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAsIHR5cGVuYW1lIFQxNQorICAgID4KK3N0cnVjdCBkZXF1ZTwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgLCBUMTUsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHZlY3RvcjE2PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNQorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxNjwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzLFQxNCxUMTUgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2CisgICAgPgorc3RydWN0IGRlcXVlPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgVDE2LCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHZlY3RvcjE3PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgVDE2CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjE3PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMsVDE0LFQxNSxUMTYgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcKKyAgICA+CitzdHJ1Y3QgZGVxdWU8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1LCBUMTYsIFQxNywgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHZlY3RvcjE4PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgVDE2LCBUMTcKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTg8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyxUMTQsVDE1LFQxNixUMTcgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOAorICAgID4KK3N0cnVjdCBkZXF1ZTwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgLCBUMTUsIFQxNiwgVDE3LCBUMTgsIG5hCisgICAgICAgID4KKyAgICA6IHZlY3RvcjE5PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgVDE2LCBUMTcsIFQxOAorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxOTwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzLFQxNCxUMTUsVDE2LFQxNyxUMTggPjo6dHlwZSB0eXBlOworfTsKKworLy8vIHByaW1hcnkgdGVtcGxhdGUgKG5vdCBhIHNwZWNpYWxpemF0aW9uISkKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgPgorc3RydWN0IGRlcXVlCisgICAgOiB2ZWN0b3IyMDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgLCBUMTUsIFQxNiwgVDE3LCBUMTgsIFQxOQorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IyMDwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzLFQxNCxUMTUsVDE2LFQxNyxUMTgsVDE5ID46OnR5cGUgdHlwZTsKK307CisKK319CisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2NfcHJlNTkwL2RpdmlkZXMuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjY19wcmU1OTAvZGl2aWRlcy5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTkyMmFmZgotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2NfcHJlNTkwL2RpdmlkZXMuaHBwCkBAIC0wLDAgKzEsMTQ2IEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gKlByZXByb2Nlc3NlZCogdmVyc2lvbiBvZiB0aGUgbWFpbiAiZGl2aWRlcy5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUYWcxCisgICAgLCB0eXBlbmFtZSBUYWcyCisgICAgPgorc3RydWN0IGRpdmlkZXNfaW1wbAorICAgIDogaWZfYzwKKyAgICAgICAgICAoIEJPT1NUX01QTF9BVVhfTkVTVEVEX1ZBTFVFX1dLTkQoaW50LCBUYWcxKQorICAgICAgICAgICAgICA+IEJPT1NUX01QTF9BVVhfTkVTVEVEX1ZBTFVFX1dLTkQoaW50LCBUYWcyKQorICAgICAgICAgICAgKQorCisgICAgICAgICwgYXV4OjpjYXN0Mm5kX2ltcGw8IGRpdmlkZXNfaW1wbDwgVGFnMSxUYWcxID4sVGFnMSwgVGFnMiA+CisgICAgICAgICwgYXV4OjpjYXN0MXN0X2ltcGw8IGRpdmlkZXNfaW1wbDwgVGFnMixUYWcyID4sVGFnMSwgVGFnMiA+CisgICAgICAgID46OnR5cGUKK3sKK307CisKKy8vLyBmb3IgRGlnaXRhbCBNYXJzIEMrKy9jb21waWxlcnMgd2l0aCBubyBDVFBTL1RUUCBzdXBwb3J0Cit0ZW1wbGF0ZTw+IHN0cnVjdCBkaXZpZGVzX2ltcGw8IG5hLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVGFnID4gc3RydWN0IGRpdmlkZXNfaW1wbDwgbmEsVGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVGFnID4gc3RydWN0IGRpdmlkZXNfaW1wbDwgVGFnLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVCA+IHN0cnVjdCBkaXZpZGVzX3RhZworeworICAgIHR5cGVkZWYgdHlwZW5hbWUgVDo6dGFnIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjEpCisgICAgLCB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4yKQorICAgICwgdHlwZW5hbWUgTjMgPSBuYSwgdHlwZW5hbWUgTjQgPSBuYSwgdHlwZW5hbWUgTjUgPSBuYQorICAgID4KK3N0cnVjdCBkaXZpZGVzCisgICAgOiBkaXZpZGVzPCBkaXZpZGVzPCBkaXZpZGVzPCBkaXZpZGVzPCBOMSxOMiA+LCBOMz4sIE40PiwgTjU+Cit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgKKyAgICAgICAgICA1CisgICAgICAgICwgZGl2aWRlcworICAgICAgICAsICggTjEsIE4yLCBOMywgTjQsIE41ICkKKyAgICAgICAgKQorfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBOMSwgdHlwZW5hbWUgTjIsIHR5cGVuYW1lIE4zLCB0eXBlbmFtZSBONAorICAgID4KK3N0cnVjdCBkaXZpZGVzPCBOMSxOMixOMyxONCxuYSA+CisKKyAgICA6IGRpdmlkZXM8IGRpdmlkZXM8IGRpdmlkZXM8IE4xLE4yID4sIE4zPiwgTjQ+Cit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVF9TUEVDKAorICAgICAgICAgIDUKKyAgICAgICAgLCBkaXZpZGVzCisgICAgICAgICwgKCBOMSwgTjIsIE4zLCBONCwgbmEgKQorICAgICAgICApCit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIE4xLCB0eXBlbmFtZSBOMiwgdHlwZW5hbWUgTjMKKyAgICA+CitzdHJ1Y3QgZGl2aWRlczwgTjEsTjIsTjMsbmEsbmEgPgorCisgICAgOiBkaXZpZGVzPCBkaXZpZGVzPCBOMSxOMiA+LCBOMz4KK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUX1NQRUMoCisgICAgICAgICAgNQorICAgICAgICAsIGRpdmlkZXMKKyAgICAgICAgLCAoIE4xLCBOMiwgTjMsIG5hLCBuYSApCisgICAgICAgICkKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgTjEsIHR5cGVuYW1lIE4yCisgICAgPgorc3RydWN0IGRpdmlkZXM8IE4xLE4yLG5hLG5hLG5hID4KKyAgICA6IGRpdmlkZXNfaW1wbDwKKyAgICAgICAgICB0eXBlbmFtZSBkaXZpZGVzX3RhZzxOMT46OnR5cGUKKyAgICAgICAgLCB0eXBlbmFtZSBkaXZpZGVzX3RhZzxOMj46OnR5cGUKKyAgICAgICAgPjo6dGVtcGxhdGUgYXBwbHk8IE4xLE4yID46OnR5cGUKK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUX1NQRUMoCisgICAgICAgICAgNQorICAgICAgICAsIGRpdmlkZXMKKyAgICAgICAgLCAoIE4xLCBOMiwgbmEsIG5hLCBuYSApCisgICAgICAgICkKKworfTsKKworQk9PU1RfTVBMX0FVWF9OQV9TUEVDMigyLCA1LCBkaXZpZGVzKQorCit9fQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKK3RlbXBsYXRlPD4KK3N0cnVjdCBkaXZpZGVzX2ltcGw8IGludGVncmFsX2NfdGFnLGludGVncmFsX2NfdGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgTjEsIHR5cGVuYW1lIE4yID4gc3RydWN0IGFwcGx5CisKKyAgICAgICAgOiBpbnRlZ3JhbF9jPAorICAgICAgICAgICAgICB0eXBlbmFtZSBhdXg6Omxhcmdlc3RfaW50PAorICAgICAgICAgICAgICAgICAgdHlwZW5hbWUgTjE6OnZhbHVlX3R5cGUKKyAgICAgICAgICAgICAgICAsIHR5cGVuYW1lIE4yOjp2YWx1ZV90eXBlCisgICAgICAgICAgICAgICAgPjo6dHlwZQorICAgICAgICAgICAgLCAoIEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChOMSk6OnZhbHVlCisgICAgICAgICAgICAgICAgICAvIEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChOMik6OnZhbHVlCisgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgPgorICAgIHsKKyAgICB9OworfTsKKworfX0KZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2NfcHJlNTkwL2VxdWFsX3RvLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2NfcHJlNTkwL2VxdWFsX3RvLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNDdjNTFlCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjY19wcmU1OTAvZXF1YWxfdG8uaHBwCkBAIC0wLDAgKzEsOTQgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyAqUHJlcHJvY2Vzc2VkKiB2ZXJzaW9uIG9mIHRoZSBtYWluICJlcXVhbF90by5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUYWcxCisgICAgLCB0eXBlbmFtZSBUYWcyCisgICAgPgorc3RydWN0IGVxdWFsX3RvX2ltcGwKKyAgICA6IGlmX2M8CisgICAgICAgICAgKCBCT09TVF9NUExfQVVYX05FU1RFRF9WQUxVRV9XS05EKGludCwgVGFnMSkKKyAgICAgICAgICAgICAgPiBCT09TVF9NUExfQVVYX05FU1RFRF9WQUxVRV9XS05EKGludCwgVGFnMikKKyAgICAgICAgICAgICkKKworICAgICAgICAsIGF1eDo6Y2FzdDJuZF9pbXBsPCBlcXVhbF90b19pbXBsPCBUYWcxLFRhZzEgPixUYWcxLCBUYWcyID4KKyAgICAgICAgLCBhdXg6OmNhc3Qxc3RfaW1wbDwgZXF1YWxfdG9faW1wbDwgVGFnMixUYWcyID4sVGFnMSwgVGFnMiA+CisgICAgICAgID46OnR5cGUKK3sKK307CisKKy8vLyBmb3IgRGlnaXRhbCBNYXJzIEMrKy9jb21waWxlcnMgd2l0aCBubyBDVFBTL1RUUCBzdXBwb3J0Cit0ZW1wbGF0ZTw+IHN0cnVjdCBlcXVhbF90b19pbXBsPCBuYSxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFRhZyA+IHN0cnVjdCBlcXVhbF90b19pbXBsPCBuYSxUYWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUYWcgPiBzdHJ1Y3QgZXF1YWxfdG9faW1wbDwgVGFnLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVCA+IHN0cnVjdCBlcXVhbF90b190YWcKK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIFQ6OnRhZyB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4xKQorICAgICwgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMikKKyAgICA+CitzdHJ1Y3QgZXF1YWxfdG8KKworICAgIDogZXF1YWxfdG9faW1wbDwKKyAgICAgICAgICB0eXBlbmFtZSBlcXVhbF90b190YWc8TjE+Ojp0eXBlCisgICAgICAgICwgdHlwZW5hbWUgZXF1YWxfdG9fdGFnPE4yPjo6dHlwZQorICAgICAgICA+Ojp0ZW1wbGF0ZSBhcHBseTwgTjEsTjIgPjo6dHlwZQoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoMiwgZXF1YWxfdG8sIChOMSwgTjIpKQorCit9OworCitCT09TVF9NUExfQVVYX05BX1NQRUMyKDIsIDIsIGVxdWFsX3RvKQorCit9fQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8Pgorc3RydWN0IGVxdWFsX3RvX2ltcGw8IGludGVncmFsX2NfdGFnLGludGVncmFsX2NfdGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgTjEsIHR5cGVuYW1lIE4yID4gc3RydWN0IGFwcGx5CisKKyAgICAgICAgOiBib29sXzwgKCBCT09TVF9NUExfQVVYX1ZBTFVFX1dLTkQoTjEpOjp2YWx1ZSAgPT0gQk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4yKTo6dmFsdWUgKSA+CisgICAgeworICAgIH07Cit9OworCit9fQpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjY19wcmU1OTAvZm9sZF9pbXBsLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2NfcHJlNTkwL2ZvbGRfaW1wbC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmJiNGJlZQotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2NfcHJlNTkwL2ZvbGRfaW1wbC5ocHAKQEAgLTAsMCArMSwxODAgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyAqUHJlcHJvY2Vzc2VkKiB2ZXJzaW9uIG9mIHRoZSBtYWluICJmb2xkX2ltcGwuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7IG5hbWVzcGFjZSBhdXggeworCisvLy8gZm9yd2FyZCBkZWNsYXJhdGlvbgorCit0ZW1wbGF0ZTwKKyAgICAgIGludCBOCisgICAgLCB0eXBlbmFtZSBGaXJzdAorICAgICwgdHlwZW5hbWUgTGFzdAorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgID4KK3N0cnVjdCBmb2xkX2ltcGw7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+CitzdHJ1Y3QgZm9sZF9pbXBsPCAwLEZpcnN0LExhc3QsU3RhdGUsRm9yd2FyZE9wID4KK3sKKyAgICB0eXBlZGVmIEZpcnN0IGl0ZXIwOworICAgIHR5cGVkZWYgU3RhdGUgc3RhdGUwOworICAgIHR5cGVkZWYgc3RhdGUwIHN0YXRlOworICAgIHR5cGVkZWYgaXRlcjAgaXRlcmF0b3I7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgPgorc3RydWN0IGZvbGRfaW1wbDwgMSxGaXJzdCxMYXN0LFN0YXRlLEZvcndhcmRPcCA+Cit7CisgICAgdHlwZWRlZiBGaXJzdCBpdGVyMDsKKyAgICB0eXBlZGVmIFN0YXRlIHN0YXRlMDsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLCBzdGF0ZTAsIHR5cGVuYW1lIGRlcmVmPGl0ZXIwPjo6dHlwZSA+Ojp0eXBlIHN0YXRlMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMD46OnR5cGUgaXRlcjE7CisgICAgCisKKyAgICB0eXBlZGVmIHN0YXRlMSBzdGF0ZTsKKyAgICB0eXBlZGVmIGl0ZXIxIGl0ZXJhdG9yOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGaXJzdAorICAgICwgdHlwZW5hbWUgTGFzdAorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgID4KK3N0cnVjdCBmb2xkX2ltcGw8IDIsRmlyc3QsTGFzdCxTdGF0ZSxGb3J3YXJkT3AgPgoreworICAgIHR5cGVkZWYgRmlyc3QgaXRlcjA7CisgICAgdHlwZWRlZiBTdGF0ZSBzdGF0ZTA7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCwgc3RhdGUwLCB0eXBlbmFtZSBkZXJlZjxpdGVyMD46OnR5cGUgPjo6dHlwZSBzdGF0ZTE7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjA+Ojp0eXBlIGl0ZXIxOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsIHN0YXRlMSwgdHlwZW5hbWUgZGVyZWY8aXRlcjE+Ojp0eXBlID46OnR5cGUgc3RhdGUyOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIxPjo6dHlwZSBpdGVyMjsKKyAgICAKKworICAgIHR5cGVkZWYgc3RhdGUyIHN0YXRlOworICAgIHR5cGVkZWYgaXRlcjIgaXRlcmF0b3I7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgPgorc3RydWN0IGZvbGRfaW1wbDwgMyxGaXJzdCxMYXN0LFN0YXRlLEZvcndhcmRPcCA+Cit7CisgICAgdHlwZWRlZiBGaXJzdCBpdGVyMDsKKyAgICB0eXBlZGVmIFN0YXRlIHN0YXRlMDsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLCBzdGF0ZTAsIHR5cGVuYW1lIGRlcmVmPGl0ZXIwPjo6dHlwZSA+Ojp0eXBlIHN0YXRlMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMD46OnR5cGUgaXRlcjE7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCwgc3RhdGUxLCB0eXBlbmFtZSBkZXJlZjxpdGVyMT46OnR5cGUgPjo6dHlwZSBzdGF0ZTI7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjE+Ojp0eXBlIGl0ZXIyOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsIHN0YXRlMiwgdHlwZW5hbWUgZGVyZWY8aXRlcjI+Ojp0eXBlID46OnR5cGUgc3RhdGUzOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIyPjo6dHlwZSBpdGVyMzsKKyAgICAKKworICAgIHR5cGVkZWYgc3RhdGUzIHN0YXRlOworICAgIHR5cGVkZWYgaXRlcjMgaXRlcmF0b3I7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgPgorc3RydWN0IGZvbGRfaW1wbDwgNCxGaXJzdCxMYXN0LFN0YXRlLEZvcndhcmRPcCA+Cit7CisgICAgdHlwZWRlZiBGaXJzdCBpdGVyMDsKKyAgICB0eXBlZGVmIFN0YXRlIHN0YXRlMDsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLCBzdGF0ZTAsIHR5cGVuYW1lIGRlcmVmPGl0ZXIwPjo6dHlwZSA+Ojp0eXBlIHN0YXRlMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMD46OnR5cGUgaXRlcjE7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCwgc3RhdGUxLCB0eXBlbmFtZSBkZXJlZjxpdGVyMT46OnR5cGUgPjo6dHlwZSBzdGF0ZTI7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjE+Ojp0eXBlIGl0ZXIyOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsIHN0YXRlMiwgdHlwZW5hbWUgZGVyZWY8aXRlcjI+Ojp0eXBlID46OnR5cGUgc3RhdGUzOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIyPjo6dHlwZSBpdGVyMzsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLCBzdGF0ZTMsIHR5cGVuYW1lIGRlcmVmPGl0ZXIzPjo6dHlwZSA+Ojp0eXBlIHN0YXRlNDsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMz46OnR5cGUgaXRlcjQ7CisgICAgCisKKyAgICB0eXBlZGVmIHN0YXRlNCBzdGF0ZTsKKyAgICB0eXBlZGVmIGl0ZXI0IGl0ZXJhdG9yOworfTsKKwordGVtcGxhdGU8CisgICAgICBpbnQgTgorICAgICwgdHlwZW5hbWUgRmlyc3QKKyAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+CitzdHJ1Y3QgZm9sZF9pbXBsCit7CisgICAgdHlwZWRlZiBmb2xkX2ltcGw8CisgICAgICAgICAgNAorICAgICAgICAsIEZpcnN0CisgICAgICAgICwgTGFzdAorICAgICAgICAsIFN0YXRlCisgICAgICAgICwgRm9yd2FyZE9wCisgICAgICAgID4gY2h1bmtfOworCisgICAgdHlwZWRlZiBmb2xkX2ltcGw8CisgICAgICAgICAgKCAoTiAtIDQpIDwgMCA/IDAgOiBOIC0gNCApCisgICAgICAgICwgdHlwZW5hbWUgY2h1bmtfOjppdGVyYXRvcgorICAgICAgICAsIExhc3QKKyAgICAgICAgLCB0eXBlbmFtZSBjaHVua186OnN0YXRlCisgICAgICAgICwgRm9yd2FyZE9wCisgICAgICAgID4gcmVzXzsKKworICAgIHR5cGVkZWYgdHlwZW5hbWUgcmVzXzo6c3RhdGUgc3RhdGU7CisgICAgdHlwZWRlZiB0eXBlbmFtZSByZXNfOjppdGVyYXRvciBpdGVyYXRvcjsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+CitzdHJ1Y3QgZm9sZF9pbXBsPCAtMSxGaXJzdCxMYXN0LFN0YXRlLEZvcndhcmRPcCA+CisgICAgOiBmb2xkX2ltcGw8CisgICAgICAgICAgLTEKKyAgICAgICAgLCB0eXBlbmFtZSBtcGw6Om5leHQ8Rmlyc3Q+Ojp0eXBlCisgICAgICAgICwgTGFzdAorICAgICAgICAsIHR5cGVuYW1lIGFwcGx5MjxGb3J3YXJkT3AsU3RhdGUsIHR5cGVuYW1lIGRlcmVmPEZpcnN0Pjo6dHlwZT46OnR5cGUKKyAgICAgICAgLCBGb3J3YXJkT3AKKyAgICAgICAgPgoreworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBMYXN0CisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgPgorc3RydWN0IGZvbGRfaW1wbDwgLTEsTGFzdCxMYXN0LFN0YXRlLEZvcndhcmRPcCA+Cit7CisgICAgdHlwZWRlZiBTdGF0ZSBzdGF0ZTsKKyAgICB0eXBlZGVmIExhc3QgaXRlcmF0b3I7Cit9OworCit9fX0KZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2NfcHJlNTkwL2Z1bGxfbGFtYmRhLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2NfcHJlNTkwL2Z1bGxfbGFtYmRhLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45YTdlZGY1Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjY19wcmU1OTAvZnVsbF9sYW1iZGEuaHBwCkBAIC0wLDAgKzEsNTU4IEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDEtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gKlByZXByb2Nlc3NlZCogdmVyc2lvbiBvZiB0aGUgbWFpbiAiZnVsbF9sYW1iZGEuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwKKyAgICAgIGJvb2wgQzEgPSBmYWxzZSwgYm9vbCBDMiA9IGZhbHNlLCBib29sIEMzID0gZmFsc2UsIGJvb2wgQzQgPSBmYWxzZQorICAgICwgYm9vbCBDNSA9IGZhbHNlCisgICAgPgorc3RydWN0IGxhbWJkYV9vcgorICAgIDogdHJ1ZV8KK3sKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBsYW1iZGFfb3I8IGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlID4KKyAgICA6IGZhbHNlXworeworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVAorICAgICwgdHlwZW5hbWUgVGFnCisgICAgLCB0eXBlbmFtZSBBcml0eQorICAgID4KK3N0cnVjdCBsYW1iZGEKK3sKKyAgICB0eXBlZGVmIGZhbHNlXyBpc19sZTsKKyAgICB0eXBlZGVmIFQgcmVzdWx0XzsKKyAgICB0eXBlZGVmIFQgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVAorICAgID4KK3N0cnVjdCBpc19sYW1iZGFfZXhwcmVzc2lvbgorICAgIDogbGFtYmRhPFQ+Ojppc19sZQoreworfTsKKwordGVtcGxhdGU8IGludCBOLCB0eXBlbmFtZSBUYWcgPgorc3RydWN0IGxhbWJkYTwgYXJnPE4+LFRhZywgaW50XzwgLTEgPiA+Cit7CisgICAgdHlwZWRlZiB0cnVlXyBpc19sZTsKKyAgICB0eXBlZGVmIG1wbDo6YXJnPE4+IHJlc3VsdF87IC8vIHF1YWxpZmllZCBmb3IgdGhlIHNha2Ugb2YgTUlQU3BybyA3LjQxCisgICAgdHlwZWRlZiBtcGw6OnByb3RlY3Q8cmVzdWx0Xz4gdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRgorICAgICwgdHlwZW5hbWUgVGFnCisgICAgPgorc3RydWN0IGxhbWJkYTwKKyAgICAgICAgICBiaW5kMDxGPgorICAgICAgICAsIFRhZworICAgICAgICAsIGludF88MT4KKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgZmFsc2VfIGlzX2xlOworICAgIHR5cGVkZWYgYmluZDA8CisgICAgICAgICAgRgorICAgICAgICA+IHJlc3VsdF87CisKKyAgICB0eXBlZGVmIHJlc3VsdF8gdHlwZTsKK307CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIElzTEUsIHR5cGVuYW1lIFRhZworICAgICwgdGVtcGxhdGU8IHR5cGVuYW1lIFAxID4gY2xhc3MgRgorICAgICwgdHlwZW5hbWUgTDEKKyAgICA+CitzdHJ1Y3QgbGVfcmVzdWx0MQoreworICAgIHR5cGVkZWYgRjwKKyAgICAgICAgICB0eXBlbmFtZSBMMTo6dHlwZQorICAgICAgICA+IHJlc3VsdF87CisKKyAgICB0eXBlZGVmIHJlc3VsdF8gdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVGFnCisgICAgLCB0ZW1wbGF0ZTwgdHlwZW5hbWUgUDEgPiBjbGFzcyBGCisgICAgLCB0eXBlbmFtZSBMMQorICAgID4KK3N0cnVjdCBsZV9yZXN1bHQxPCB0cnVlXyxUYWcsRixMMSA+Cit7CisgICAgdHlwZWRlZiBiaW5kMTwKKyAgICAgICAgICBxdW90ZTE8IEYsVGFnID4KKyAgICAgICAgLCB0eXBlbmFtZSBMMTo6cmVzdWx0XworICAgICAgICA+IHJlc3VsdF87CisKKyAgICB0eXBlZGVmIG1wbDo6cHJvdGVjdDxyZXN1bHRfPiB0eXBlOworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK3RlbXBsYXRlPAorICAgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFAxID4gY2xhc3MgRgorICAgICwgdHlwZW5hbWUgVDEKKyAgICAsIHR5cGVuYW1lIFRhZworICAgID4KK3N0cnVjdCBsYW1iZGE8CisgICAgICAgICAgRjxUMT4KKyAgICAgICAgLCBUYWcKKyAgICAgICAgLCBpbnRfPDE+CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIGxhbWJkYTwgVDEsVGFnID4gbDE7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsMTo6aXNfbGUgaXNfbGUxOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXV4OjpsYW1iZGFfb3I8CisgICAgICAgICAgaXNfbGUxOjp2YWx1ZQorICAgICAgICA+Ojp0eXBlIGlzX2xlOworCisgICAgdHlwZWRlZiBhdXg6OmxlX3Jlc3VsdDE8CisgICAgICAgICAgaXNfbGUsIFRhZywgRiwgbDEKKyAgICAgICAgPiBsZV9yZXN1bHRfOworCisgICAgdHlwZWRlZiB0eXBlbmFtZSBsZV9yZXN1bHRfOjpyZXN1bHRfIHJlc3VsdF87CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsZV9yZXN1bHRfOjp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxCisgICAgLCB0eXBlbmFtZSBUYWcKKyAgICA+CitzdHJ1Y3QgbGFtYmRhPAorICAgICAgICAgIGJpbmQxPCBGLFQxID4KKyAgICAgICAgLCBUYWcKKyAgICAgICAgLCBpbnRfPDI+CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIGZhbHNlXyBpc19sZTsKKyAgICB0eXBlZGVmIGJpbmQxPAorICAgICAgICAgIEYKKyAgICAgICAgLCBUMQorICAgICAgICA+IHJlc3VsdF87CisKKyAgICB0eXBlZGVmIHJlc3VsdF8gdHlwZTsKK307CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIElzTEUsIHR5cGVuYW1lIFRhZworICAgICwgdGVtcGxhdGU8IHR5cGVuYW1lIFAxLCB0eXBlbmFtZSBQMiA+IGNsYXNzIEYKKyAgICAsIHR5cGVuYW1lIEwxLCB0eXBlbmFtZSBMMgorICAgID4KK3N0cnVjdCBsZV9yZXN1bHQyCit7CisgICAgdHlwZWRlZiBGPAorICAgICAgICAgIHR5cGVuYW1lIEwxOjp0eXBlLCB0eXBlbmFtZSBMMjo6dHlwZQorICAgICAgICA+IHJlc3VsdF87CisKKyAgICB0eXBlZGVmIHJlc3VsdF8gdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVGFnCisgICAgLCB0ZW1wbGF0ZTwgdHlwZW5hbWUgUDEsIHR5cGVuYW1lIFAyID4gY2xhc3MgRgorICAgICwgdHlwZW5hbWUgTDEsIHR5cGVuYW1lIEwyCisgICAgPgorc3RydWN0IGxlX3Jlc3VsdDI8IHRydWVfLFRhZyxGLEwxLEwyID4KK3sKKyAgICB0eXBlZGVmIGJpbmQyPAorICAgICAgICAgIHF1b3RlMjwgRixUYWcgPgorICAgICAgICAsIHR5cGVuYW1lIEwxOjpyZXN1bHRfLCB0eXBlbmFtZSBMMjo6cmVzdWx0XworICAgICAgICA+IHJlc3VsdF87CisKKyAgICB0eXBlZGVmIG1wbDo6cHJvdGVjdDxyZXN1bHRfPiB0eXBlOworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK3RlbXBsYXRlPAorICAgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFAxLCB0eXBlbmFtZSBQMiA+IGNsYXNzIEYKKyAgICAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMgorICAgICwgdHlwZW5hbWUgVGFnCisgICAgPgorc3RydWN0IGxhbWJkYTwKKyAgICAgICAgICBGPCBUMSxUMiA+CisgICAgICAgICwgVGFnCisgICAgICAgICwgaW50XzwyPgorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiBsYW1iZGE8IFQxLFRhZyA+IGwxOworICAgIHR5cGVkZWYgbGFtYmRhPCBUMixUYWcgPiBsMjsKKyAgICAKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGwxOjppc19sZSBpc19sZTE7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsMjo6aXNfbGUgaXNfbGUyOworICAgIAorCisgICAgdHlwZWRlZiB0eXBlbmFtZSBhdXg6OmxhbWJkYV9vcjwKKyAgICAgICAgICBpc19sZTE6OnZhbHVlLCBpc19sZTI6OnZhbHVlCisgICAgICAgID46OnR5cGUgaXNfbGU7CisKKyAgICB0eXBlZGVmIGF1eDo6bGVfcmVzdWx0MjwKKyAgICAgICAgICBpc19sZSwgVGFnLCBGLCBsMSwgbDIKKyAgICAgICAgPiBsZV9yZXN1bHRfOworCisgICAgdHlwZWRlZiB0eXBlbmFtZSBsZV9yZXN1bHRfOjpyZXN1bHRfIHJlc3VsdF87CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsZV9yZXN1bHRfOjp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMgorICAgICwgdHlwZW5hbWUgVGFnCisgICAgPgorc3RydWN0IGxhbWJkYTwKKyAgICAgICAgICBiaW5kMjwgRixUMSxUMiA+CisgICAgICAgICwgVGFnCisgICAgICAgICwgaW50XzwzPgorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiBmYWxzZV8gaXNfbGU7CisgICAgdHlwZWRlZiBiaW5kMjwKKyAgICAgICAgICBGCisgICAgICAgICwgVDEsIFQyCisgICAgICAgID4gcmVzdWx0XzsKKworICAgIHR5cGVkZWYgcmVzdWx0XyB0eXBlOworfTsKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgSXNMRSwgdHlwZW5hbWUgVGFnCisgICAgLCB0ZW1wbGF0ZTwgdHlwZW5hbWUgUDEsIHR5cGVuYW1lIFAyLCB0eXBlbmFtZSBQMyA+IGNsYXNzIEYKKyAgICAsIHR5cGVuYW1lIEwxLCB0eXBlbmFtZSBMMiwgdHlwZW5hbWUgTDMKKyAgICA+CitzdHJ1Y3QgbGVfcmVzdWx0MworeworICAgIHR5cGVkZWYgRjwKKyAgICAgICAgICB0eXBlbmFtZSBMMTo6dHlwZSwgdHlwZW5hbWUgTDI6OnR5cGUsIHR5cGVuYW1lIEwzOjp0eXBlCisgICAgICAgID4gcmVzdWx0XzsKKworICAgIHR5cGVkZWYgcmVzdWx0XyB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUYWcKKyAgICAsIHRlbXBsYXRlPCB0eXBlbmFtZSBQMSwgdHlwZW5hbWUgUDIsIHR5cGVuYW1lIFAzID4gY2xhc3MgRgorICAgICwgdHlwZW5hbWUgTDEsIHR5cGVuYW1lIEwyLCB0eXBlbmFtZSBMMworICAgID4KK3N0cnVjdCBsZV9yZXN1bHQzPCB0cnVlXyxUYWcsRixMMSxMMixMMyA+Cit7CisgICAgdHlwZWRlZiBiaW5kMzwKKyAgICAgICAgICBxdW90ZTM8IEYsVGFnID4KKyAgICAgICAgLCB0eXBlbmFtZSBMMTo6cmVzdWx0XywgdHlwZW5hbWUgTDI6OnJlc3VsdF8sIHR5cGVuYW1lIEwzOjpyZXN1bHRfCisgICAgICAgID4gcmVzdWx0XzsKKworICAgIHR5cGVkZWYgbXBsOjpwcm90ZWN0PHJlc3VsdF8+IHR5cGU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKwordGVtcGxhdGU8CisgICAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgUDEsIHR5cGVuYW1lIFAyLCB0eXBlbmFtZSBQMyA+IGNsYXNzIEYKKyAgICAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMKKyAgICAsIHR5cGVuYW1lIFRhZworICAgID4KK3N0cnVjdCBsYW1iZGE8CisgICAgICAgICAgRjwgVDEsVDIsVDMgPgorICAgICAgICAsIFRhZworICAgICAgICAsIGludF88Mz4KKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgbGFtYmRhPCBUMSxUYWcgPiBsMTsKKyAgICB0eXBlZGVmIGxhbWJkYTwgVDIsVGFnID4gbDI7CisgICAgdHlwZWRlZiBsYW1iZGE8IFQzLFRhZyA+IGwzOworICAgIAorICAgIHR5cGVkZWYgdHlwZW5hbWUgbDE6OmlzX2xlIGlzX2xlMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGwyOjppc19sZSBpc19sZTI7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsMzo6aXNfbGUgaXNfbGUzOworICAgIAorCisgICAgdHlwZWRlZiB0eXBlbmFtZSBhdXg6OmxhbWJkYV9vcjwKKyAgICAgICAgICBpc19sZTE6OnZhbHVlLCBpc19sZTI6OnZhbHVlLCBpc19sZTM6OnZhbHVlCisgICAgICAgID46OnR5cGUgaXNfbGU7CisKKyAgICB0eXBlZGVmIGF1eDo6bGVfcmVzdWx0MzwKKyAgICAgICAgICBpc19sZSwgVGFnLCBGLCBsMSwgbDIsIGwzCisgICAgICAgID4gbGVfcmVzdWx0XzsKKworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGVfcmVzdWx0Xzo6cmVzdWx0XyByZXN1bHRfOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGVfcmVzdWx0Xzo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzCisgICAgLCB0eXBlbmFtZSBUYWcKKyAgICA+CitzdHJ1Y3QgbGFtYmRhPAorICAgICAgICAgIGJpbmQzPCBGLFQxLFQyLFQzID4KKyAgICAgICAgLCBUYWcKKyAgICAgICAgLCBpbnRfPDQ+CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIGZhbHNlXyBpc19sZTsKKyAgICB0eXBlZGVmIGJpbmQzPAorICAgICAgICAgIEYKKyAgICAgICAgLCBUMSwgVDIsIFQzCisgICAgICAgID4gcmVzdWx0XzsKKworICAgIHR5cGVkZWYgcmVzdWx0XyB0eXBlOworfTsKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgSXNMRSwgdHlwZW5hbWUgVGFnCisgICAgLCB0ZW1wbGF0ZTwgdHlwZW5hbWUgUDEsIHR5cGVuYW1lIFAyLCB0eXBlbmFtZSBQMywgdHlwZW5hbWUgUDQgPiBjbGFzcyBGCisgICAgLCB0eXBlbmFtZSBMMSwgdHlwZW5hbWUgTDIsIHR5cGVuYW1lIEwzLCB0eXBlbmFtZSBMNAorICAgID4KK3N0cnVjdCBsZV9yZXN1bHQ0Cit7CisgICAgdHlwZWRlZiBGPAorICAgICAgICAgIHR5cGVuYW1lIEwxOjp0eXBlLCB0eXBlbmFtZSBMMjo6dHlwZSwgdHlwZW5hbWUgTDM6OnR5cGUKKyAgICAgICAgLCB0eXBlbmFtZSBMNDo6dHlwZQorICAgICAgICA+IHJlc3VsdF87CisKKyAgICB0eXBlZGVmIHJlc3VsdF8gdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVGFnCisgICAgLCB0ZW1wbGF0ZTwgdHlwZW5hbWUgUDEsIHR5cGVuYW1lIFAyLCB0eXBlbmFtZSBQMywgdHlwZW5hbWUgUDQgPiBjbGFzcyBGCisgICAgLCB0eXBlbmFtZSBMMSwgdHlwZW5hbWUgTDIsIHR5cGVuYW1lIEwzLCB0eXBlbmFtZSBMNAorICAgID4KK3N0cnVjdCBsZV9yZXN1bHQ0PCB0cnVlXyxUYWcsRixMMSxMMixMMyxMNCA+Cit7CisgICAgdHlwZWRlZiBiaW5kNDwKKyAgICAgICAgICBxdW90ZTQ8IEYsVGFnID4KKyAgICAgICAgLCB0eXBlbmFtZSBMMTo6cmVzdWx0XywgdHlwZW5hbWUgTDI6OnJlc3VsdF8sIHR5cGVuYW1lIEwzOjpyZXN1bHRfCisgICAgICAgICwgdHlwZW5hbWUgTDQ6OnJlc3VsdF8KKyAgICAgICAgPiByZXN1bHRfOworCisgICAgdHlwZWRlZiBtcGw6OnByb3RlY3Q8cmVzdWx0Xz4gdHlwZTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCit0ZW1wbGF0ZTwKKyAgICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBQMSwgdHlwZW5hbWUgUDIsIHR5cGVuYW1lIFAzLCB0eXBlbmFtZSBQNCA+IGNsYXNzIEYKKyAgICAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUYWcKKyAgICA+CitzdHJ1Y3QgbGFtYmRhPAorICAgICAgICAgIEY8IFQxLFQyLFQzLFQ0ID4KKyAgICAgICAgLCBUYWcKKyAgICAgICAgLCBpbnRfPDQ+CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIGxhbWJkYTwgVDEsVGFnID4gbDE7CisgICAgdHlwZWRlZiBsYW1iZGE8IFQyLFRhZyA+IGwyOworICAgIHR5cGVkZWYgbGFtYmRhPCBUMyxUYWcgPiBsMzsKKyAgICB0eXBlZGVmIGxhbWJkYTwgVDQsVGFnID4gbDQ7CisgICAgCisgICAgdHlwZWRlZiB0eXBlbmFtZSBsMTo6aXNfbGUgaXNfbGUxOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbDI6OmlzX2xlIGlzX2xlMjsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGwzOjppc19sZSBpc19sZTM7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsNDo6aXNfbGUgaXNfbGU0OworICAgIAorCisgICAgdHlwZWRlZiB0eXBlbmFtZSBhdXg6OmxhbWJkYV9vcjwKKyAgICAgICAgICBpc19sZTE6OnZhbHVlLCBpc19sZTI6OnZhbHVlLCBpc19sZTM6OnZhbHVlLCBpc19sZTQ6OnZhbHVlCisgICAgICAgID46OnR5cGUgaXNfbGU7CisKKyAgICB0eXBlZGVmIGF1eDo6bGVfcmVzdWx0NDwKKyAgICAgICAgICBpc19sZSwgVGFnLCBGLCBsMSwgbDIsIGwzLCBsNAorICAgICAgICA+IGxlX3Jlc3VsdF87CisKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxlX3Jlc3VsdF86OnJlc3VsdF8gcmVzdWx0XzsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxlX3Jlc3VsdF86OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFRhZworICAgID4KK3N0cnVjdCBsYW1iZGE8CisgICAgICAgICAgYmluZDQ8IEYsVDEsVDIsVDMsVDQgPgorICAgICAgICAsIFRhZworICAgICAgICAsIGludF88NT4KKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgZmFsc2VfIGlzX2xlOworICAgIHR5cGVkZWYgYmluZDQ8CisgICAgICAgICAgRgorICAgICAgICAsIFQxLCBUMiwgVDMsIFQ0CisgICAgICAgID4gcmVzdWx0XzsKKworICAgIHR5cGVkZWYgcmVzdWx0XyB0eXBlOworfTsKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgSXNMRSwgdHlwZW5hbWUgVGFnCisgICAgLCB0ZW1wbGF0ZTwgdHlwZW5hbWUgUDEsIHR5cGVuYW1lIFAyLCB0eXBlbmFtZSBQMywgdHlwZW5hbWUgUDQsIHR5cGVuYW1lIFA1ID4gY2xhc3MgRgorICAgICwgdHlwZW5hbWUgTDEsIHR5cGVuYW1lIEwyLCB0eXBlbmFtZSBMMywgdHlwZW5hbWUgTDQsIHR5cGVuYW1lIEw1CisgICAgPgorc3RydWN0IGxlX3Jlc3VsdDUKK3sKKyAgICB0eXBlZGVmIEY8CisgICAgICAgICAgdHlwZW5hbWUgTDE6OnR5cGUsIHR5cGVuYW1lIEwyOjp0eXBlLCB0eXBlbmFtZSBMMzo6dHlwZQorICAgICAgICAsIHR5cGVuYW1lIEw0Ojp0eXBlLCB0eXBlbmFtZSBMNTo6dHlwZQorICAgICAgICA+IHJlc3VsdF87CisKKyAgICB0eXBlZGVmIHJlc3VsdF8gdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVGFnCisgICAgLCB0ZW1wbGF0ZTwgdHlwZW5hbWUgUDEsIHR5cGVuYW1lIFAyLCB0eXBlbmFtZSBQMywgdHlwZW5hbWUgUDQsIHR5cGVuYW1lIFA1ID4gY2xhc3MgRgorICAgICwgdHlwZW5hbWUgTDEsIHR5cGVuYW1lIEwyLCB0eXBlbmFtZSBMMywgdHlwZW5hbWUgTDQsIHR5cGVuYW1lIEw1CisgICAgPgorc3RydWN0IGxlX3Jlc3VsdDU8IHRydWVfLFRhZyxGLEwxLEwyLEwzLEw0LEw1ID4KK3sKKyAgICB0eXBlZGVmIGJpbmQ1PAorICAgICAgICAgIHF1b3RlNTwgRixUYWcgPgorICAgICAgICAsIHR5cGVuYW1lIEwxOjpyZXN1bHRfLCB0eXBlbmFtZSBMMjo6cmVzdWx0XywgdHlwZW5hbWUgTDM6OnJlc3VsdF8KKyAgICAgICAgLCB0eXBlbmFtZSBMNDo6cmVzdWx0XywgdHlwZW5hbWUgTDU6OnJlc3VsdF8KKyAgICAgICAgPiByZXN1bHRfOworCisgICAgdHlwZWRlZiBtcGw6OnByb3RlY3Q8cmVzdWx0Xz4gdHlwZTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCit0ZW1wbGF0ZTwKKyAgICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFAxLCB0eXBlbmFtZSBQMiwgdHlwZW5hbWUgUDMsIHR5cGVuYW1lIFA0CisgICAgICAgICwgdHlwZW5hbWUgUDUKKyAgICAgICAgPgorICAgICAgY2xhc3MgRgorICAgICwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQsIHR5cGVuYW1lIFQ1CisgICAgLCB0eXBlbmFtZSBUYWcKKyAgICA+CitzdHJ1Y3QgbGFtYmRhPAorICAgICAgICAgIEY8IFQxLFQyLFQzLFQ0LFQ1ID4KKyAgICAgICAgLCBUYWcKKyAgICAgICAgLCBpbnRfPDU+CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIGxhbWJkYTwgVDEsVGFnID4gbDE7CisgICAgdHlwZWRlZiBsYW1iZGE8IFQyLFRhZyA+IGwyOworICAgIHR5cGVkZWYgbGFtYmRhPCBUMyxUYWcgPiBsMzsKKyAgICB0eXBlZGVmIGxhbWJkYTwgVDQsVGFnID4gbDQ7CisgICAgdHlwZWRlZiBsYW1iZGE8IFQ1LFRhZyA+IGw1OworICAgIAorICAgIHR5cGVkZWYgdHlwZW5hbWUgbDE6OmlzX2xlIGlzX2xlMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGwyOjppc19sZSBpc19sZTI7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsMzo6aXNfbGUgaXNfbGUzOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbDQ6OmlzX2xlIGlzX2xlNDsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGw1Ojppc19sZSBpc19sZTU7CisgICAgCisKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGF1eDo6bGFtYmRhX29yPAorICAgICAgICAgIGlzX2xlMTo6dmFsdWUsIGlzX2xlMjo6dmFsdWUsIGlzX2xlMzo6dmFsdWUsIGlzX2xlNDo6dmFsdWUKKyAgICAgICAgLCBpc19sZTU6OnZhbHVlCisgICAgICAgID46OnR5cGUgaXNfbGU7CisKKyAgICB0eXBlZGVmIGF1eDo6bGVfcmVzdWx0NTwKKyAgICAgICAgICBpc19sZSwgVGFnLCBGLCBsMSwgbDIsIGwzLCBsNCwgbDUKKyAgICAgICAgPiBsZV9yZXN1bHRfOworCisgICAgdHlwZWRlZiB0eXBlbmFtZSBsZV9yZXN1bHRfOjpyZXN1bHRfIHJlc3VsdF87CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsZV9yZXN1bHRfOjp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNQorICAgICwgdHlwZW5hbWUgVGFnCisgICAgPgorc3RydWN0IGxhbWJkYTwKKyAgICAgICAgICBiaW5kNTwgRixUMSxUMixUMyxUNCxUNSA+CisgICAgICAgICwgVGFnCisgICAgICAgICwgaW50Xzw2PgorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiBmYWxzZV8gaXNfbGU7CisgICAgdHlwZWRlZiBiaW5kNTwKKyAgICAgICAgICBGCisgICAgICAgICwgVDEsIFQyLCBUMywgVDQsIFQ1CisgICAgICAgID4gcmVzdWx0XzsKKworICAgIHR5cGVkZWYgcmVzdWx0XyB0eXBlOworfTsKKworLy8vIHNwZWNpYWwgY2FzZSBmb3IgJ3Byb3RlY3QnCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVCwgdHlwZW5hbWUgVGFnID4KK3N0cnVjdCBsYW1iZGE8IG1wbDo6cHJvdGVjdDxUPixUYWcsIGludF88MT4gPgoreworICAgIHR5cGVkZWYgZmFsc2VfIGlzX2xlOworICAgIHR5cGVkZWYgbXBsOjpwcm90ZWN0PFQ+IHJlc3VsdF87CisgICAgdHlwZWRlZiByZXN1bHRfIHR5cGU7Cit9OworCisvLy8gc3BlY2lhbGl6YXRpb25zIGZvciB0aGUgbWFpbiAnYmluZCcgZm9ybQorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNQorICAgICwgdHlwZW5hbWUgVGFnCisgICAgPgorc3RydWN0IGxhbWJkYTwKKyAgICAgICAgICBiaW5kPCBGLFQxLFQyLFQzLFQ0LFQ1ID4KKyAgICAgICAgLCBUYWcKKyAgICAgICAgLCBpbnRfPDY+CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIGZhbHNlXyBpc19sZTsKKyAgICB0eXBlZGVmIGJpbmQ8IEYsVDEsVDIsVDMsVDQsVDUgPiByZXN1bHRfOworICAgIHR5cGVkZWYgcmVzdWx0XyB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGCisgICAgLCB0eXBlbmFtZSBUYWcxCisgICAgLCB0eXBlbmFtZSBUYWcyCisgICAgLCB0eXBlbmFtZSBBcml0eQorICAgID4KK3N0cnVjdCBsYW1iZGE8CisgICAgICAgICAgbGFtYmRhPCBGLFRhZzEsQXJpdHkgPgorICAgICAgICAsIFRhZzIKKyAgICAgICAgLCBpbnRfPDM+CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIGxhbWJkYTwgRixUYWcyID4gbDE7CisgICAgdHlwZWRlZiBsYW1iZGE8IFRhZzEsVGFnMiA+IGwyOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbDE6OmlzX2xlIGlzX2xlOworICAgIHR5cGVkZWYgYmluZDE8IHF1b3RlMTxhdXg6OnRlbXBsYXRlX2FyaXR5PiwgdHlwZW5hbWUgbDE6OnJlc3VsdF8gPiBhcml0eV87CisgICAgdHlwZWRlZiBsYW1iZGE8IHR5cGVuYW1lIGlmXzwgaXNfbGUsYXJpdHlfLEFyaXR5ID46OnR5cGUsIFRhZzIgPiBsMzsKKyAgICB0eXBlZGVmIGF1eDo6bGVfcmVzdWx0Mzxpc19sZSwgVGFnMiwgbXBsOjpsYW1iZGEsIGwxLCBsMiwgbDM+IGxlX3Jlc3VsdF87CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsZV9yZXN1bHRfOjpyZXN1bHRfIHJlc3VsdF87CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsZV9yZXN1bHRfOjp0eXBlIHR5cGU7Cit9OworCitCT09TVF9NUExfQVVYX05BX1NQRUMyKDIsIDMsIGxhbWJkYSkKKworfX0KKwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjY19wcmU1OTAvZ3JlYXRlci5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjX3ByZTU5MC9ncmVhdGVyLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YmQxYzFmCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjY19wcmU1OTAvZ3JlYXRlci5ocHAKQEAgLTAsMCArMSw5NCBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vICpQcmVwcm9jZXNzZWQqIHZlcnNpb24gb2YgdGhlIG1haW4gImdyZWF0ZXIuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVGFnMQorICAgICwgdHlwZW5hbWUgVGFnMgorICAgID4KK3N0cnVjdCBncmVhdGVyX2ltcGwKKyAgICA6IGlmX2M8CisgICAgICAgICAgKCBCT09TVF9NUExfQVVYX05FU1RFRF9WQUxVRV9XS05EKGludCwgVGFnMSkKKyAgICAgICAgICAgICAgPiBCT09TVF9NUExfQVVYX05FU1RFRF9WQUxVRV9XS05EKGludCwgVGFnMikKKyAgICAgICAgICAgICkKKworICAgICAgICAsIGF1eDo6Y2FzdDJuZF9pbXBsPCBncmVhdGVyX2ltcGw8IFRhZzEsVGFnMSA+LFRhZzEsIFRhZzIgPgorICAgICAgICAsIGF1eDo6Y2FzdDFzdF9pbXBsPCBncmVhdGVyX2ltcGw8IFRhZzIsVGFnMiA+LFRhZzEsIFRhZzIgPgorICAgICAgICA+Ojp0eXBlCit7Cit9OworCisvLy8gZm9yIERpZ2l0YWwgTWFycyBDKysvY29tcGlsZXJzIHdpdGggbm8gQ1RQUy9UVFAgc3VwcG9ydAordGVtcGxhdGU8PiBzdHJ1Y3QgZ3JlYXRlcl9pbXBsPCBuYSxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFRhZyA+IHN0cnVjdCBncmVhdGVyX2ltcGw8IG5hLFRhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFRhZyA+IHN0cnVjdCBncmVhdGVyX2ltcGw8IFRhZyxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFQgPiBzdHJ1Y3QgZ3JlYXRlcl90YWcKK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIFQ6OnRhZyB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4xKQorICAgICwgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMikKKyAgICA+CitzdHJ1Y3QgZ3JlYXRlcgorCisgICAgOiBncmVhdGVyX2ltcGw8CisgICAgICAgICAgdHlwZW5hbWUgZ3JlYXRlcl90YWc8TjE+Ojp0eXBlCisgICAgICAgICwgdHlwZW5hbWUgZ3JlYXRlcl90YWc8TjI+Ojp0eXBlCisgICAgICAgID46OnRlbXBsYXRlIGFwcGx5PCBOMSxOMiA+Ojp0eXBlCit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgyLCBncmVhdGVyLCAoTjEsIE4yKSkKKworfTsKKworQk9PU1RfTVBMX0FVWF9OQV9TUEVDMigyLCAyLCBncmVhdGVyKQorCit9fQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8Pgorc3RydWN0IGdyZWF0ZXJfaW1wbDwgaW50ZWdyYWxfY190YWcsaW50ZWdyYWxfY190YWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBOMSwgdHlwZW5hbWUgTjIgPiBzdHJ1Y3QgYXBwbHkKKworICAgICAgICA6IGJvb2xfPCAoIEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChOMSk6OnZhbHVlID4gQk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4yKTo6dmFsdWUgKSA+CisgICAgeworICAgIH07Cit9OworCit9fQpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjY19wcmU1OTAvZ3JlYXRlcl9lcXVhbC5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjX3ByZTU5MC9ncmVhdGVyX2VxdWFsLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iOWYxNjVlCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjY19wcmU1OTAvZ3JlYXRlcl9lcXVhbC5ocHAKQEAgLTAsMCArMSw5NCBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vICpQcmVwcm9jZXNzZWQqIHZlcnNpb24gb2YgdGhlIG1haW4gImdyZWF0ZXJfZXF1YWwuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVGFnMQorICAgICwgdHlwZW5hbWUgVGFnMgorICAgID4KK3N0cnVjdCBncmVhdGVyX2VxdWFsX2ltcGwKKyAgICA6IGlmX2M8CisgICAgICAgICAgKCBCT09TVF9NUExfQVVYX05FU1RFRF9WQUxVRV9XS05EKGludCwgVGFnMSkKKyAgICAgICAgICAgICAgPiBCT09TVF9NUExfQVVYX05FU1RFRF9WQUxVRV9XS05EKGludCwgVGFnMikKKyAgICAgICAgICAgICkKKworICAgICAgICAsIGF1eDo6Y2FzdDJuZF9pbXBsPCBncmVhdGVyX2VxdWFsX2ltcGw8IFRhZzEsVGFnMSA+LFRhZzEsIFRhZzIgPgorICAgICAgICAsIGF1eDo6Y2FzdDFzdF9pbXBsPCBncmVhdGVyX2VxdWFsX2ltcGw8IFRhZzIsVGFnMiA+LFRhZzEsIFRhZzIgPgorICAgICAgICA+Ojp0eXBlCit7Cit9OworCisvLy8gZm9yIERpZ2l0YWwgTWFycyBDKysvY29tcGlsZXJzIHdpdGggbm8gQ1RQUy9UVFAgc3VwcG9ydAordGVtcGxhdGU8PiBzdHJ1Y3QgZ3JlYXRlcl9lcXVhbF9pbXBsPCBuYSxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFRhZyA+IHN0cnVjdCBncmVhdGVyX2VxdWFsX2ltcGw8IG5hLFRhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFRhZyA+IHN0cnVjdCBncmVhdGVyX2VxdWFsX2ltcGw8IFRhZyxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFQgPiBzdHJ1Y3QgZ3JlYXRlcl9lcXVhbF90YWcKK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIFQ6OnRhZyB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4xKQorICAgICwgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMikKKyAgICA+CitzdHJ1Y3QgZ3JlYXRlcl9lcXVhbAorCisgICAgOiBncmVhdGVyX2VxdWFsX2ltcGw8CisgICAgICAgICAgdHlwZW5hbWUgZ3JlYXRlcl9lcXVhbF90YWc8TjE+Ojp0eXBlCisgICAgICAgICwgdHlwZW5hbWUgZ3JlYXRlcl9lcXVhbF90YWc8TjI+Ojp0eXBlCisgICAgICAgID46OnRlbXBsYXRlIGFwcGx5PCBOMSxOMiA+Ojp0eXBlCit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgyLCBncmVhdGVyX2VxdWFsLCAoTjEsIE4yKSkKKworfTsKKworQk9PU1RfTVBMX0FVWF9OQV9TUEVDMigyLCAyLCBncmVhdGVyX2VxdWFsKQorCit9fQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8Pgorc3RydWN0IGdyZWF0ZXJfZXF1YWxfaW1wbDwgaW50ZWdyYWxfY190YWcsaW50ZWdyYWxfY190YWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBOMSwgdHlwZW5hbWUgTjIgPiBzdHJ1Y3QgYXBwbHkKKworICAgICAgICA6IGJvb2xfPCAoIEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChOMSk6OnZhbHVlID49IEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChOMik6OnZhbHVlICkgPgorICAgIHsKKyAgICB9OworfTsKKworfX0KZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2NfcHJlNTkwL2luaGVyaXQuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjY19wcmU1OTAvaW5oZXJpdC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTYyMWNkOQotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2NfcHJlNTkwL2luaGVyaXQuaHBwCkBAIC0wLDAgKzEsMTM5IEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDEtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gKlByZXByb2Nlc3NlZCogdmVyc2lvbiBvZiB0aGUgbWFpbiAiaW5oZXJpdC5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKFQxKQorICAgICwgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShUMikKKyAgICA+CitzdHJ1Y3QgaW5oZXJpdDIKKyAgICA6IFQxLCBUMgoreworICAgIHR5cGVkZWYgaW5oZXJpdDIgdHlwZTsKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKDIsIGluaGVyaXQyLCAoVDEsIFQyKSkKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUMSA+CitzdHJ1Y3QgaW5oZXJpdDI8IFQxLGVtcHR5X2Jhc2UgPgoreworICAgIHR5cGVkZWYgVDEgdHlwZTsKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUX1NQRUMoMiwgaW5oZXJpdDIsIChUMSwgZW1wdHlfYmFzZSkpCit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVDIgPgorc3RydWN0IGluaGVyaXQyPCBlbXB0eV9iYXNlLFQyID4KK3sKKyAgICB0eXBlZGVmIFQyIHR5cGU7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVF9TUEVDKDIsIGluaGVyaXQyLCAoZW1wdHlfYmFzZSwgVDIpKQorfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGluaGVyaXQyPCBlbXB0eV9iYXNlLGVtcHR5X2Jhc2UgPgoreworICAgIHR5cGVkZWYgZW1wdHlfYmFzZSB0eXBlOworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlRfU1BFQygyLCBpbmhlcml0MiwgKGVtcHR5X2Jhc2UsIGVtcHR5X2Jhc2UpKQorfTsKKworQk9PU1RfTVBMX0FVWF9OQV9TUEVDKDIsIGluaGVyaXQyKQorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQxID0gbmEsIHR5cGVuYW1lIFQyID0gbmEsIHR5cGVuYW1lIFQzID0gbmEKKyAgICA+CitzdHJ1Y3QgaW5oZXJpdDMKKyAgICA6IGluaGVyaXQyPAorICAgICAgICAgIHR5cGVuYW1lIGluaGVyaXQyPAorICAgICAgICAgICAgICBUMSwgVDIKKyAgICAgICAgICAgID46OnR5cGUKKyAgICAgICAgLCBUMworICAgICAgICA+Cit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgKKyAgICAgICAgICAzCisgICAgICAgICwgaW5oZXJpdDMKKyAgICAgICAgLCAoIFQxLCBUMiwgVDMpCisgICAgICAgICkKK307CisKK0JPT1NUX01QTF9BVVhfTkFfU1BFQygzLCBpbmhlcml0MykKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMSA9IG5hLCB0eXBlbmFtZSBUMiA9IG5hLCB0eXBlbmFtZSBUMyA9IG5hLCB0eXBlbmFtZSBUNCA9IG5hCisgICAgPgorc3RydWN0IGluaGVyaXQ0CisgICAgOiBpbmhlcml0MjwKKyAgICAgICAgICB0eXBlbmFtZSBpbmhlcml0MzwKKyAgICAgICAgICAgICAgVDEsIFQyLCBUMworICAgICAgICAgICAgPjo6dHlwZQorICAgICAgICAsIFQ0CisgICAgICAgID4KK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKAorICAgICAgICAgIDQKKyAgICAgICAgLCBpbmhlcml0NAorICAgICAgICAsICggVDEsIFQyLCBUMywgVDQpCisgICAgICAgICkKK307CisKK0JPT1NUX01QTF9BVVhfTkFfU1BFQyg0LCBpbmhlcml0NCkKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMSA9IG5hLCB0eXBlbmFtZSBUMiA9IG5hLCB0eXBlbmFtZSBUMyA9IG5hLCB0eXBlbmFtZSBUNCA9IG5hCisgICAgLCB0eXBlbmFtZSBUNSA9IG5hCisgICAgPgorc3RydWN0IGluaGVyaXQ1CisgICAgOiBpbmhlcml0MjwKKyAgICAgICAgICB0eXBlbmFtZSBpbmhlcml0NDwKKyAgICAgICAgICAgICAgVDEsIFQyLCBUMywgVDQKKyAgICAgICAgICAgID46OnR5cGUKKyAgICAgICAgLCBUNQorICAgICAgICA+Cit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgKKyAgICAgICAgICA1CisgICAgICAgICwgaW5oZXJpdDUKKyAgICAgICAgLCAoIFQxLCBUMiwgVDMsIFQ0LCBUNSkKKyAgICAgICAgKQorfTsKKworQk9PU1RfTVBMX0FVWF9OQV9TUEVDKDUsIGluaGVyaXQ1KQorCisvLy8gcHJpbWFyeSB0ZW1wbGF0ZQorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQxID0gZW1wdHlfYmFzZSwgdHlwZW5hbWUgVDIgPSBlbXB0eV9iYXNlCisgICAgLCB0eXBlbmFtZSBUMyA9IGVtcHR5X2Jhc2UsIHR5cGVuYW1lIFQ0ID0gZW1wdHlfYmFzZQorICAgICwgdHlwZW5hbWUgVDUgPSBlbXB0eV9iYXNlCisgICAgPgorc3RydWN0IGluaGVyaXQKKyAgICA6IGluaGVyaXQ1PCBUMSxUMixUMyxUNCxUNSA+Cit7Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgaW5oZXJpdDwgbmEsbmEsbmEsbmEsbmEgPgoreworICAgIHRlbXBsYXRlPAorCisgICAgICAgICAgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQsIHR5cGVuYW1lIFQ1CisKKyAgICAgICAgPgorICAgIHN0cnVjdCBhcHBseQorICAgICAgICA6IGluaGVyaXQ8IFQxLFQyLFQzLFQ0LFQ1ID4KKyAgICB7CisgICAgfTsKK307CisKK0JPT1NUX01QTF9BVVhfTkFfU1BFQ19MQU1CREEoNSwgaW5oZXJpdCkKK0JPT1NUX01QTF9BVVhfTkFfU1BFQ19BUklUWSg1LCBpbmhlcml0KQorQk9PU1RfTVBMX0FVWF9OQV9TUEVDX1RFTVBMQVRFX0FSSVRZKDUsIDUsIGluaGVyaXQpCit9fQorCmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjX3ByZTU5MC9pdGVyX2ZvbGRfaWZfaW1wbC5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjX3ByZTU5MC9pdGVyX2ZvbGRfaWZfaW1wbC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzU1M2VmZAotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2NfcHJlNTkwL2l0ZXJfZm9sZF9pZl9pbXBsLmhwcApAQCAtMCwwICsxLDEzMyBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAxLTIwMDQKKy8vIENvcHlyaWdodCBEYXZpZCBBYnJhaGFtcyAyMDAxLTIwMDIKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vICpQcmVwcm9jZXNzZWQqIHZlcnNpb24gb2YgdGhlIG1haW4gIml0ZXJfZm9sZF9pZl9pbXBsLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeyBuYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8IHR5cGVuYW1lIEl0ZXJhdG9yLCB0eXBlbmFtZSBTdGF0ZSA+CitzdHJ1Y3QgaXRlcl9mb2xkX2lmX251bGxfc3RlcAoreworICAgIHR5cGVkZWYgU3RhdGUgc3RhdGU7CisgICAgdHlwZWRlZiBJdGVyYXRvciBpdGVyYXRvcjsKK307CisKK3RlbXBsYXRlPCBib29sID4KK3N0cnVjdCBpdGVyX2ZvbGRfaWZfc3RlcF9pbXBsCit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgSXRlcmF0b3IKKyAgICAgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICAgICAsIHR5cGVuYW1lIFN0YXRlT3AKKyAgICAgICAgLCB0eXBlbmFtZSBJdGVyYXRvck9wCisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IFN0YXRlT3AsU3RhdGUsSXRlcmF0b3IgPjo6dHlwZSBzdGF0ZTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBJdGVyYXRvck9wOjp0eXBlIGl0ZXJhdG9yOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgaXRlcl9mb2xkX2lmX3N0ZXBfaW1wbDxmYWxzZT4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBJdGVyYXRvcgorICAgICAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgICAgICwgdHlwZW5hbWUgU3RhdGVPcAorICAgICAgICAsIHR5cGVuYW1lIEl0ZXJhdG9yT3AKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIFN0YXRlIHN0YXRlOworICAgICAgICB0eXBlZGVmIEl0ZXJhdG9yIGl0ZXJhdG9yOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEl0ZXJhdG9yCisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgLCB0eXBlbmFtZSBQcmVkaWNhdGUKKyAgICA+CitzdHJ1Y3QgaXRlcl9mb2xkX2lmX2ZvcndhcmRfc3RlcAoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBQcmVkaWNhdGUsU3RhdGUsSXRlcmF0b3IgPjo6dHlwZSBub3RfbGFzdDsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGl0ZXJfZm9sZF9pZl9zdGVwX2ltcGw8CisgICAgICAgICAgQk9PU1RfTVBMX0FVWF9NU1ZDX1ZBTFVFX1dLTkQobm90X2xhc3QpOjp2YWx1ZQorICAgICAgICA+Ojp0ZW1wbGF0ZSByZXN1bHRfPCBJdGVyYXRvcixTdGF0ZSxGb3J3YXJkT3AsIG1wbDo6bmV4dDxJdGVyYXRvcj4gPiBpbXBsXzsKKworICAgIHR5cGVkZWYgdHlwZW5hbWUgaW1wbF86OnN0YXRlIHN0YXRlOworICAgIHR5cGVkZWYgdHlwZW5hbWUgaW1wbF86Oml0ZXJhdG9yIGl0ZXJhdG9yOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBJdGVyYXRvcgorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEJhY2t3YXJkT3AKKyAgICAsIHR5cGVuYW1lIFByZWRpY2F0ZQorICAgID4KK3N0cnVjdCBpdGVyX2ZvbGRfaWZfYmFja3dhcmRfc3RlcAoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBQcmVkaWNhdGUsU3RhdGUsSXRlcmF0b3IgPjo6dHlwZSBub3RfbGFzdDsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGl0ZXJfZm9sZF9pZl9zdGVwX2ltcGw8CisgICAgICAgICAgQk9PU1RfTVBMX0FVWF9NU1ZDX1ZBTFVFX1dLTkQobm90X2xhc3QpOjp2YWx1ZQorICAgICAgICA+Ojp0ZW1wbGF0ZSByZXN1bHRfPCBJdGVyYXRvcixTdGF0ZSxCYWNrd2FyZE9wLCBpZGVudGl0eTxJdGVyYXRvcj4gPiBpbXBsXzsKKworICAgIHR5cGVkZWYgdHlwZW5hbWUgaW1wbF86OnN0YXRlIHN0YXRlOworICAgIHR5cGVkZWYgdHlwZW5hbWUgaW1wbF86Oml0ZXJhdG9yIGl0ZXJhdG9yOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBJdGVyYXRvcgorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgICwgdHlwZW5hbWUgRm9yd2FyZFByZWRpY2F0ZQorICAgICwgdHlwZW5hbWUgQmFja3dhcmRPcAorICAgICwgdHlwZW5hbWUgQmFja3dhcmRQcmVkaWNhdGUKKyAgICA+CitzdHJ1Y3QgaXRlcl9mb2xkX2lmX2ltcGwKK3sKKyBwcml2YXRlOgorICAgIHR5cGVkZWYgaXRlcl9mb2xkX2lmX251bGxfc3RlcDwgSXRlcmF0b3IsU3RhdGUgPiBmb3J3YXJkX3N0ZXAwOworICAgIHR5cGVkZWYgaXRlcl9mb2xkX2lmX2ZvcndhcmRfc3RlcDwgdHlwZW5hbWUgZm9yd2FyZF9zdGVwMDo6aXRlcmF0b3IsIHR5cGVuYW1lIGZvcndhcmRfc3RlcDA6OnN0YXRlLCBGb3J3YXJkT3AsIEZvcndhcmRQcmVkaWNhdGUgPiBmb3J3YXJkX3N0ZXAxOworICAgIHR5cGVkZWYgaXRlcl9mb2xkX2lmX2ZvcndhcmRfc3RlcDwgdHlwZW5hbWUgZm9yd2FyZF9zdGVwMTo6aXRlcmF0b3IsIHR5cGVuYW1lIGZvcndhcmRfc3RlcDE6OnN0YXRlLCBGb3J3YXJkT3AsIEZvcndhcmRQcmVkaWNhdGUgPiBmb3J3YXJkX3N0ZXAyOworICAgIHR5cGVkZWYgaXRlcl9mb2xkX2lmX2ZvcndhcmRfc3RlcDwgdHlwZW5hbWUgZm9yd2FyZF9zdGVwMjo6aXRlcmF0b3IsIHR5cGVuYW1lIGZvcndhcmRfc3RlcDI6OnN0YXRlLCBGb3J3YXJkT3AsIEZvcndhcmRQcmVkaWNhdGUgPiBmb3J3YXJkX3N0ZXAzOworICAgIHR5cGVkZWYgaXRlcl9mb2xkX2lmX2ZvcndhcmRfc3RlcDwgdHlwZW5hbWUgZm9yd2FyZF9zdGVwMzo6aXRlcmF0b3IsIHR5cGVuYW1lIGZvcndhcmRfc3RlcDM6OnN0YXRlLCBGb3J3YXJkT3AsIEZvcndhcmRQcmVkaWNhdGUgPiBmb3J3YXJkX3N0ZXA0OworICAgIAorCisgICAgdHlwZWRlZiB0eXBlbmFtZSBpZl88CisgICAgICAgICAgdHlwZW5hbWUgZm9yd2FyZF9zdGVwNDo6bm90X2xhc3QKKyAgICAgICAgLCBpdGVyX2ZvbGRfaWZfaW1wbDwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgZm9yd2FyZF9zdGVwNDo6aXRlcmF0b3IKKyAgICAgICAgICAgICwgdHlwZW5hbWUgZm9yd2FyZF9zdGVwNDo6c3RhdGUKKyAgICAgICAgICAgICwgRm9yd2FyZE9wCisgICAgICAgICAgICAsIEZvcndhcmRQcmVkaWNhdGUKKyAgICAgICAgICAgICwgQmFja3dhcmRPcAorICAgICAgICAgICAgLCBCYWNrd2FyZFByZWRpY2F0ZQorICAgICAgICAgICAgPgorICAgICAgICAsIGl0ZXJfZm9sZF9pZl9udWxsX3N0ZXA8CisgICAgICAgICAgICAgIHR5cGVuYW1lIGZvcndhcmRfc3RlcDQ6Oml0ZXJhdG9yCisgICAgICAgICAgICAsIHR5cGVuYW1lIGZvcndhcmRfc3RlcDQ6OnN0YXRlCisgICAgICAgICAgICA+CisgICAgICAgID46OnR5cGUgYmFja3dhcmRfc3RlcDQ7CisKKyAgICB0eXBlZGVmIGl0ZXJfZm9sZF9pZl9iYWNrd2FyZF9zdGVwPCB0eXBlbmFtZSBmb3J3YXJkX3N0ZXAzOjppdGVyYXRvciwgdHlwZW5hbWUgYmFja3dhcmRfc3RlcDQ6OnN0YXRlLCBCYWNrd2FyZE9wLCBCYWNrd2FyZFByZWRpY2F0ZSA+IGJhY2t3YXJkX3N0ZXAzOworICAgIHR5cGVkZWYgaXRlcl9mb2xkX2lmX2JhY2t3YXJkX3N0ZXA8IHR5cGVuYW1lIGZvcndhcmRfc3RlcDI6Oml0ZXJhdG9yLCB0eXBlbmFtZSBiYWNrd2FyZF9zdGVwMzo6c3RhdGUsIEJhY2t3YXJkT3AsIEJhY2t3YXJkUHJlZGljYXRlID4gYmFja3dhcmRfc3RlcDI7CisgICAgdHlwZWRlZiBpdGVyX2ZvbGRfaWZfYmFja3dhcmRfc3RlcDwgdHlwZW5hbWUgZm9yd2FyZF9zdGVwMTo6aXRlcmF0b3IsIHR5cGVuYW1lIGJhY2t3YXJkX3N0ZXAyOjpzdGF0ZSwgQmFja3dhcmRPcCwgQmFja3dhcmRQcmVkaWNhdGUgPiBiYWNrd2FyZF9zdGVwMTsKKyAgICB0eXBlZGVmIGl0ZXJfZm9sZF9pZl9iYWNrd2FyZF9zdGVwPCB0eXBlbmFtZSBmb3J3YXJkX3N0ZXAwOjppdGVyYXRvciwgdHlwZW5hbWUgYmFja3dhcmRfc3RlcDE6OnN0YXRlLCBCYWNrd2FyZE9wLCBCYWNrd2FyZFByZWRpY2F0ZSA+IGJhY2t3YXJkX3N0ZXAwOworICAgIAorCisgcHVibGljOgorICAgIHR5cGVkZWYgdHlwZW5hbWUgYmFja3dhcmRfc3RlcDA6OnN0YXRlIHN0YXRlOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYmFja3dhcmRfc3RlcDQ6Oml0ZXJhdG9yIGl0ZXJhdG9yOworfTsKKworfX19CmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjX3ByZTU5MC9pdGVyX2ZvbGRfaW1wbC5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjX3ByZTU5MC9pdGVyX2ZvbGRfaW1wbC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTE1NWRhNQotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2NfcHJlNTkwL2l0ZXJfZm9sZF9pbXBsLmhwcApAQCAtMCwwICsxLDE4MCBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vICpQcmVwcm9jZXNzZWQqIHZlcnNpb24gb2YgdGhlIG1haW4gIml0ZXJfZm9sZF9pbXBsLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeyBuYW1lc3BhY2UgYXV4IHsKKworLy8vIGZvcndhcmQgZGVjbGFyYXRpb24KKwordGVtcGxhdGU8CisgICAgICBpbnQgTgorICAgICwgdHlwZW5hbWUgRmlyc3QKKyAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+CitzdHJ1Y3QgaXRlcl9mb2xkX2ltcGw7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+CitzdHJ1Y3QgaXRlcl9mb2xkX2ltcGw8IDAsRmlyc3QsTGFzdCxTdGF0ZSxGb3J3YXJkT3AgPgoreworICAgIHR5cGVkZWYgRmlyc3QgaXRlcjA7CisgICAgdHlwZWRlZiBTdGF0ZSBzdGF0ZTA7CisgICAgdHlwZWRlZiBzdGF0ZTAgc3RhdGU7CisgICAgdHlwZWRlZiBpdGVyMCBpdGVyYXRvcjsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+CitzdHJ1Y3QgaXRlcl9mb2xkX2ltcGw8IDEsRmlyc3QsTGFzdCxTdGF0ZSxGb3J3YXJkT3AgPgoreworICAgIHR5cGVkZWYgRmlyc3QgaXRlcjA7CisgICAgdHlwZWRlZiBTdGF0ZSBzdGF0ZTA7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCxzdGF0ZTAsaXRlcjAgPjo6dHlwZSBzdGF0ZTE7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjA+Ojp0eXBlIGl0ZXIxOworICAgIAorCisgICAgdHlwZWRlZiBzdGF0ZTEgc3RhdGU7CisgICAgdHlwZWRlZiBpdGVyMSBpdGVyYXRvcjsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+CitzdHJ1Y3QgaXRlcl9mb2xkX2ltcGw8IDIsRmlyc3QsTGFzdCxTdGF0ZSxGb3J3YXJkT3AgPgoreworICAgIHR5cGVkZWYgRmlyc3QgaXRlcjA7CisgICAgdHlwZWRlZiBTdGF0ZSBzdGF0ZTA7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCxzdGF0ZTAsaXRlcjAgPjo6dHlwZSBzdGF0ZTE7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjA+Ojp0eXBlIGl0ZXIxOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3Asc3RhdGUxLGl0ZXIxID46OnR5cGUgc3RhdGUyOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIxPjo6dHlwZSBpdGVyMjsKKyAgICAKKworICAgIHR5cGVkZWYgc3RhdGUyIHN0YXRlOworICAgIHR5cGVkZWYgaXRlcjIgaXRlcmF0b3I7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgPgorc3RydWN0IGl0ZXJfZm9sZF9pbXBsPCAzLEZpcnN0LExhc3QsU3RhdGUsRm9yd2FyZE9wID4KK3sKKyAgICB0eXBlZGVmIEZpcnN0IGl0ZXIwOworICAgIHR5cGVkZWYgU3RhdGUgc3RhdGUwOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3Asc3RhdGUwLGl0ZXIwID46OnR5cGUgc3RhdGUxOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIwPjo6dHlwZSBpdGVyMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLHN0YXRlMSxpdGVyMSA+Ojp0eXBlIHN0YXRlMjsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMT46OnR5cGUgaXRlcjI7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCxzdGF0ZTIsaXRlcjIgPjo6dHlwZSBzdGF0ZTM7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjI+Ojp0eXBlIGl0ZXIzOworICAgIAorCisgICAgdHlwZWRlZiBzdGF0ZTMgc3RhdGU7CisgICAgdHlwZWRlZiBpdGVyMyBpdGVyYXRvcjsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+CitzdHJ1Y3QgaXRlcl9mb2xkX2ltcGw8IDQsRmlyc3QsTGFzdCxTdGF0ZSxGb3J3YXJkT3AgPgoreworICAgIHR5cGVkZWYgRmlyc3QgaXRlcjA7CisgICAgdHlwZWRlZiBTdGF0ZSBzdGF0ZTA7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCxzdGF0ZTAsaXRlcjAgPjo6dHlwZSBzdGF0ZTE7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjA+Ojp0eXBlIGl0ZXIxOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3Asc3RhdGUxLGl0ZXIxID46OnR5cGUgc3RhdGUyOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIxPjo6dHlwZSBpdGVyMjsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLHN0YXRlMixpdGVyMiA+Ojp0eXBlIHN0YXRlMzsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMj46OnR5cGUgaXRlcjM7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCxzdGF0ZTMsaXRlcjMgPjo6dHlwZSBzdGF0ZTQ7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjM+Ojp0eXBlIGl0ZXI0OworICAgIAorCisgICAgdHlwZWRlZiBzdGF0ZTQgc3RhdGU7CisgICAgdHlwZWRlZiBpdGVyNCBpdGVyYXRvcjsKK307CisKK3RlbXBsYXRlPAorICAgICAgaW50IE4KKyAgICAsIHR5cGVuYW1lIEZpcnN0CisgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgPgorc3RydWN0IGl0ZXJfZm9sZF9pbXBsCit7CisgICAgdHlwZWRlZiBpdGVyX2ZvbGRfaW1wbDwKKyAgICAgICAgICA0CisgICAgICAgICwgRmlyc3QKKyAgICAgICAgLCBMYXN0CisgICAgICAgICwgU3RhdGUKKyAgICAgICAgLCBGb3J3YXJkT3AKKyAgICAgICAgPiBjaHVua187CisKKyAgICB0eXBlZGVmIGl0ZXJfZm9sZF9pbXBsPAorICAgICAgICAgICggKE4gLSA0KSA8IDAgPyAwIDogTiAtIDQgKQorICAgICAgICAsIHR5cGVuYW1lIGNodW5rXzo6aXRlcmF0b3IKKyAgICAgICAgLCBMYXN0CisgICAgICAgICwgdHlwZW5hbWUgY2h1bmtfOjpzdGF0ZQorICAgICAgICAsIEZvcndhcmRPcAorICAgICAgICA+IHJlc187CisKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHJlc186OnN0YXRlIHN0YXRlOworICAgIHR5cGVkZWYgdHlwZW5hbWUgcmVzXzo6aXRlcmF0b3IgaXRlcmF0b3I7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgPgorc3RydWN0IGl0ZXJfZm9sZF9pbXBsPCAtMSxGaXJzdCxMYXN0LFN0YXRlLEZvcndhcmRPcCA+CisgICAgOiBpdGVyX2ZvbGRfaW1wbDwKKyAgICAgICAgICAtMQorICAgICAgICAsIHR5cGVuYW1lIG1wbDo6bmV4dDxGaXJzdD46OnR5cGUKKyAgICAgICAgLCBMYXN0CisgICAgICAgICwgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsU3RhdGUsRmlyc3QgPjo6dHlwZQorICAgICAgICAsIEZvcndhcmRPcAorICAgICAgICA+Cit7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+CitzdHJ1Y3QgaXRlcl9mb2xkX2ltcGw8IC0xLExhc3QsTGFzdCxTdGF0ZSxGb3J3YXJkT3AgPgoreworICAgIHR5cGVkZWYgU3RhdGUgc3RhdGU7CisgICAgdHlwZWRlZiBMYXN0IGl0ZXJhdG9yOworfTsKKworfX19CmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjX3ByZTU5MC9sYW1iZGFfbm9fY3Rwcy5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjX3ByZTU5MC9sYW1iZGFfbm9fY3Rwcy5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjEzNDc1ZAotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2NfcHJlNTkwL2xhbWJkYV9ub19jdHBzLmhwcApAQCAtMCwwICsxLDIyOSBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vICpQcmVwcm9jZXNzZWQqIHZlcnNpb24gb2YgdGhlIG1haW4gImxhbWJkYV9ub19jdHBzLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8CisgICAgICBib29sIEMxID0gZmFsc2UsIGJvb2wgQzIgPSBmYWxzZSwgYm9vbCBDMyA9IGZhbHNlLCBib29sIEM0ID0gZmFsc2UKKyAgICAsIGJvb2wgQzUgPSBmYWxzZQorICAgID4KK3N0cnVjdCBsYW1iZGFfb3IKKyAgICA6IHRydWVfCit7Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgbGFtYmRhX29yPCBmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSA+CisgICAgOiBmYWxzZV8KK3sKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBBcml0eSA+IHN0cnVjdCBsYW1iZGFfaW1wbAoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBULCB0eXBlbmFtZSBUYWcsIHR5cGVuYW1lIFByb3RlY3QgPiBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiBUIHR5cGU7CisgICAgICAgIHR5cGVkZWYgaXNfcGxhY2Vob2xkZXI8VD4gaXNfbGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4gc3RydWN0IGxhbWJkYV9pbXBsPCBpbnRfPDE+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVGFnLCB0eXBlbmFtZSBQcm90ZWN0ID4gc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgbGFtYmRhPCB0eXBlbmFtZSBGOjphcmcxLCBUYWcsIGZhbHNlXyA+IGwxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGwxOjppc19sZSBpc19sZTE7CisgICAgICAgIHR5cGVkZWYgYXV4OjpsYW1iZGFfb3I8CisgICAgICAgICAgICAgIEJPT1NUX01QTF9BVVhfTVNWQ19WQUxVRV9XS05EKGlzX2xlMSk6OnZhbHVlCisgICAgICAgICAgICA+IGlzX2xlOworCisgICAgICAgIHR5cGVkZWYgYmluZDE8CisgICAgICAgICAgICAgIHR5cGVuYW1lIEY6OnJlYmluZAorICAgICAgICAgICAgLCB0eXBlbmFtZSBsMTo6dHlwZQorICAgICAgICAgICAgPiBiaW5kXzsKKworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGlmXzwKKyAgICAgICAgICAgICAgaXNfbGUKKyAgICAgICAgICAgICwgaWZfPCBQcm90ZWN0LCBtcGw6OnByb3RlY3Q8YmluZF8+LCBiaW5kXyA+CisgICAgICAgICAgICAsIGlkZW50aXR5PEY+CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGVfOworCisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgdHlwZV86OnR5cGUgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgbGFtYmRhX2ltcGw8IGludF88Mj4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUYWcsIHR5cGVuYW1lIFByb3RlY3QgPiBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiBsYW1iZGE8IHR5cGVuYW1lIEY6OmFyZzEsIFRhZywgZmFsc2VfID4gbDE7CisgICAgICAgIHR5cGVkZWYgbGFtYmRhPCB0eXBlbmFtZSBGOjphcmcyLCBUYWcsIGZhbHNlXyA+IGwyOworICAgICAgICAKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBsMTo6aXNfbGUgaXNfbGUxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGwyOjppc19sZSBpc19sZTI7CisgICAgICAgIAorCisgICAgICAgIHR5cGVkZWYgYXV4OjpsYW1iZGFfb3I8CisgICAgICAgICAgICAgIEJPT1NUX01QTF9BVVhfTVNWQ19WQUxVRV9XS05EKGlzX2xlMSk6OnZhbHVlLCBCT09TVF9NUExfQVVYX01TVkNfVkFMVUVfV0tORChpc19sZTIpOjp2YWx1ZQorICAgICAgICAgICAgPiBpc19sZTsKKworICAgICAgICB0eXBlZGVmIGJpbmQyPAorICAgICAgICAgICAgICB0eXBlbmFtZSBGOjpyZWJpbmQKKyAgICAgICAgICAgICwgdHlwZW5hbWUgbDE6OnR5cGUsIHR5cGVuYW1lIGwyOjp0eXBlCisgICAgICAgICAgICA+IGJpbmRfOworCisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgaWZfPAorICAgICAgICAgICAgICBpc19sZQorICAgICAgICAgICAgLCBpZl88IFByb3RlY3QsIG1wbDo6cHJvdGVjdDxiaW5kXz4sIGJpbmRfID4KKyAgICAgICAgICAgICwgaWRlbnRpdHk8Rj4KKyAgICAgICAgICAgID46OnR5cGUgdHlwZV87CisKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSB0eXBlXzo6dHlwZSB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCBsYW1iZGFfaW1wbDwgaW50XzwzPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIEYsIHR5cGVuYW1lIFRhZywgdHlwZW5hbWUgUHJvdGVjdCA+IHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIGxhbWJkYTwgdHlwZW5hbWUgRjo6YXJnMSwgVGFnLCBmYWxzZV8gPiBsMTsKKyAgICAgICAgdHlwZWRlZiBsYW1iZGE8IHR5cGVuYW1lIEY6OmFyZzIsIFRhZywgZmFsc2VfID4gbDI7CisgICAgICAgIHR5cGVkZWYgbGFtYmRhPCB0eXBlbmFtZSBGOjphcmczLCBUYWcsIGZhbHNlXyA+IGwzOworICAgICAgICAKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBsMTo6aXNfbGUgaXNfbGUxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGwyOjppc19sZSBpc19sZTI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbDM6OmlzX2xlIGlzX2xlMzsKKyAgICAgICAgCisKKyAgICAgICAgdHlwZWRlZiBhdXg6OmxhbWJkYV9vcjwKKyAgICAgICAgICAgICAgQk9PU1RfTVBMX0FVWF9NU1ZDX1ZBTFVFX1dLTkQoaXNfbGUxKTo6dmFsdWUsIEJPT1NUX01QTF9BVVhfTVNWQ19WQUxVRV9XS05EKGlzX2xlMik6OnZhbHVlLCBCT09TVF9NUExfQVVYX01TVkNfVkFMVUVfV0tORChpc19sZTMpOjp2YWx1ZQorICAgICAgICAgICAgPiBpc19sZTsKKworICAgICAgICB0eXBlZGVmIGJpbmQzPAorICAgICAgICAgICAgICB0eXBlbmFtZSBGOjpyZWJpbmQKKyAgICAgICAgICAgICwgdHlwZW5hbWUgbDE6OnR5cGUsIHR5cGVuYW1lIGwyOjp0eXBlLCB0eXBlbmFtZSBsMzo6dHlwZQorICAgICAgICAgICAgPiBiaW5kXzsKKworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGlmXzwKKyAgICAgICAgICAgICAgaXNfbGUKKyAgICAgICAgICAgICwgaWZfPCBQcm90ZWN0LCBtcGw6OnByb3RlY3Q8YmluZF8+LCBiaW5kXyA+CisgICAgICAgICAgICAsIGlkZW50aXR5PEY+CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGVfOworCisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgdHlwZV86OnR5cGUgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgbGFtYmRhX2ltcGw8IGludF88ND4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUYWcsIHR5cGVuYW1lIFByb3RlY3QgPiBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiBsYW1iZGE8IHR5cGVuYW1lIEY6OmFyZzEsIFRhZywgZmFsc2VfID4gbDE7CisgICAgICAgIHR5cGVkZWYgbGFtYmRhPCB0eXBlbmFtZSBGOjphcmcyLCBUYWcsIGZhbHNlXyA+IGwyOworICAgICAgICB0eXBlZGVmIGxhbWJkYTwgdHlwZW5hbWUgRjo6YXJnMywgVGFnLCBmYWxzZV8gPiBsMzsKKyAgICAgICAgdHlwZWRlZiBsYW1iZGE8IHR5cGVuYW1lIEY6OmFyZzQsIFRhZywgZmFsc2VfID4gbDQ7CisgICAgICAgIAorICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGwxOjppc19sZSBpc19sZTE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbDI6OmlzX2xlIGlzX2xlMjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBsMzo6aXNfbGUgaXNfbGUzOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGw0Ojppc19sZSBpc19sZTQ7CisgICAgICAgIAorCisgICAgICAgIHR5cGVkZWYgYXV4OjpsYW1iZGFfb3I8CisgICAgICAgICAgICAgIEJPT1NUX01QTF9BVVhfTVNWQ19WQUxVRV9XS05EKGlzX2xlMSk6OnZhbHVlLCBCT09TVF9NUExfQVVYX01TVkNfVkFMVUVfV0tORChpc19sZTIpOjp2YWx1ZSwgQk9PU1RfTVBMX0FVWF9NU1ZDX1ZBTFVFX1dLTkQoaXNfbGUzKTo6dmFsdWUsIEJPT1NUX01QTF9BVVhfTVNWQ19WQUxVRV9XS05EKGlzX2xlNCk6OnZhbHVlCisgICAgICAgICAgICA+IGlzX2xlOworCisgICAgICAgIHR5cGVkZWYgYmluZDQ8CisgICAgICAgICAgICAgIHR5cGVuYW1lIEY6OnJlYmluZAorICAgICAgICAgICAgLCB0eXBlbmFtZSBsMTo6dHlwZSwgdHlwZW5hbWUgbDI6OnR5cGUsIHR5cGVuYW1lIGwzOjp0eXBlCisgICAgICAgICAgICAsIHR5cGVuYW1lIGw0Ojp0eXBlCisgICAgICAgICAgICA+IGJpbmRfOworCisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgaWZfPAorICAgICAgICAgICAgICBpc19sZQorICAgICAgICAgICAgLCBpZl88IFByb3RlY3QsIG1wbDo6cHJvdGVjdDxiaW5kXz4sIGJpbmRfID4KKyAgICAgICAgICAgICwgaWRlbnRpdHk8Rj4KKyAgICAgICAgICAgID46OnR5cGUgdHlwZV87CisKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSB0eXBlXzo6dHlwZSB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCBsYW1iZGFfaW1wbDwgaW50Xzw1PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIEYsIHR5cGVuYW1lIFRhZywgdHlwZW5hbWUgUHJvdGVjdCA+IHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIGxhbWJkYTwgdHlwZW5hbWUgRjo6YXJnMSwgVGFnLCBmYWxzZV8gPiBsMTsKKyAgICAgICAgdHlwZWRlZiBsYW1iZGE8IHR5cGVuYW1lIEY6OmFyZzIsIFRhZywgZmFsc2VfID4gbDI7CisgICAgICAgIHR5cGVkZWYgbGFtYmRhPCB0eXBlbmFtZSBGOjphcmczLCBUYWcsIGZhbHNlXyA+IGwzOworICAgICAgICB0eXBlZGVmIGxhbWJkYTwgdHlwZW5hbWUgRjo6YXJnNCwgVGFnLCBmYWxzZV8gPiBsNDsKKyAgICAgICAgdHlwZWRlZiBsYW1iZGE8IHR5cGVuYW1lIEY6OmFyZzUsIFRhZywgZmFsc2VfID4gbDU7CisgICAgICAgIAorICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGwxOjppc19sZSBpc19sZTE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbDI6OmlzX2xlIGlzX2xlMjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBsMzo6aXNfbGUgaXNfbGUzOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGw0Ojppc19sZSBpc19sZTQ7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbDU6OmlzX2xlIGlzX2xlNTsKKyAgICAgICAgCisKKyAgICAgICAgdHlwZWRlZiBhdXg6OmxhbWJkYV9vcjwKKyAgICAgICAgICAgICAgQk9PU1RfTVBMX0FVWF9NU1ZDX1ZBTFVFX1dLTkQoaXNfbGUxKTo6dmFsdWUsIEJPT1NUX01QTF9BVVhfTVNWQ19WQUxVRV9XS05EKGlzX2xlMik6OnZhbHVlLCBCT09TVF9NUExfQVVYX01TVkNfVkFMVUVfV0tORChpc19sZTMpOjp2YWx1ZSwgQk9PU1RfTVBMX0FVWF9NU1ZDX1ZBTFVFX1dLTkQoaXNfbGU0KTo6dmFsdWUsIEJPT1NUX01QTF9BVVhfTVNWQ19WQUxVRV9XS05EKGlzX2xlNSk6OnZhbHVlCisgICAgICAgICAgICA+IGlzX2xlOworCisgICAgICAgIHR5cGVkZWYgYmluZDU8CisgICAgICAgICAgICAgIHR5cGVuYW1lIEY6OnJlYmluZAorICAgICAgICAgICAgLCB0eXBlbmFtZSBsMTo6dHlwZSwgdHlwZW5hbWUgbDI6OnR5cGUsIHR5cGVuYW1lIGwzOjp0eXBlCisgICAgICAgICAgICAsIHR5cGVuYW1lIGw0Ojp0eXBlLCB0eXBlbmFtZSBsNTo6dHlwZQorICAgICAgICAgICAgPiBiaW5kXzsKKworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGlmXzwKKyAgICAgICAgICAgICAgaXNfbGUKKyAgICAgICAgICAgICwgaWZfPCBQcm90ZWN0LCBtcGw6OnByb3RlY3Q8YmluZF8+LCBiaW5kXyA+CisgICAgICAgICAgICAsIGlkZW50aXR5PEY+CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGVfOworCisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgdHlwZV86OnR5cGUgdHlwZTsKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVAorICAgICwgdHlwZW5hbWUgVGFnCisgICAgLCB0eXBlbmFtZSBQcm90ZWN0CisgICAgPgorc3RydWN0IGxhbWJkYQoreworICAgIC8vLyBNZXRhZnVuY3Rpb24gZm9yd2FyZGluZyBjb25mdXNlcyBNU1ZDIDYueAorICAgIHR5cGVkZWYgdHlwZW5hbWUgYXV4Ojp0ZW1wbGF0ZV9hcml0eTxUPjo6dHlwZSBhcml0eV87CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhdXg6OmxhbWJkYV9pbXBsPGFyaXR5Xz4KKyAgICAgICAgOjp0ZW1wbGF0ZSByZXN1bHRfPCBULFRhZyxQcm90ZWN0ID4gbF87CisKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxfOjp0eXBlIHR5cGU7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsXzo6aXNfbGUgaXNfbGU7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgzLCBsYW1iZGEsIChULCBUYWcsIFByb3RlY3QpKQorfTsKKworQk9PU1RfTVBMX0FVWF9OQV9TUEVDMigxLCAzLCBsYW1iZGEpCisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVAorICAgID4KK3N0cnVjdCBpc19sYW1iZGFfZXhwcmVzc2lvbgorICAgIDogbGFtYmRhPFQ+Ojppc19sZQoreworfTsKKworfX0KKwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjY19wcmU1OTAvbGVzcy5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjX3ByZTU5MC9sZXNzLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YmVlMWU2Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjY19wcmU1OTAvbGVzcy5ocHAKQEAgLTAsMCArMSw5NCBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vICpQcmVwcm9jZXNzZWQqIHZlcnNpb24gb2YgdGhlIG1haW4gImxlc3MuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVGFnMQorICAgICwgdHlwZW5hbWUgVGFnMgorICAgID4KK3N0cnVjdCBsZXNzX2ltcGwKKyAgICA6IGlmX2M8CisgICAgICAgICAgKCBCT09TVF9NUExfQVVYX05FU1RFRF9WQUxVRV9XS05EKGludCwgVGFnMSkKKyAgICAgICAgICAgICAgPiBCT09TVF9NUExfQVVYX05FU1RFRF9WQUxVRV9XS05EKGludCwgVGFnMikKKyAgICAgICAgICAgICkKKworICAgICAgICAsIGF1eDo6Y2FzdDJuZF9pbXBsPCBsZXNzX2ltcGw8IFRhZzEsVGFnMSA+LFRhZzEsIFRhZzIgPgorICAgICAgICAsIGF1eDo6Y2FzdDFzdF9pbXBsPCBsZXNzX2ltcGw8IFRhZzIsVGFnMiA+LFRhZzEsIFRhZzIgPgorICAgICAgICA+Ojp0eXBlCit7Cit9OworCisvLy8gZm9yIERpZ2l0YWwgTWFycyBDKysvY29tcGlsZXJzIHdpdGggbm8gQ1RQUy9UVFAgc3VwcG9ydAordGVtcGxhdGU8PiBzdHJ1Y3QgbGVzc19pbXBsPCBuYSxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFRhZyA+IHN0cnVjdCBsZXNzX2ltcGw8IG5hLFRhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFRhZyA+IHN0cnVjdCBsZXNzX2ltcGw8IFRhZyxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFQgPiBzdHJ1Y3QgbGVzc190YWcKK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIFQ6OnRhZyB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4xKQorICAgICwgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMikKKyAgICA+CitzdHJ1Y3QgbGVzcworCisgICAgOiBsZXNzX2ltcGw8CisgICAgICAgICAgdHlwZW5hbWUgbGVzc190YWc8TjE+Ojp0eXBlCisgICAgICAgICwgdHlwZW5hbWUgbGVzc190YWc8TjI+Ojp0eXBlCisgICAgICAgID46OnRlbXBsYXRlIGFwcGx5PCBOMSxOMiA+Ojp0eXBlCit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgyLCBsZXNzLCAoTjEsIE4yKSkKKworfTsKKworQk9PU1RfTVBMX0FVWF9OQV9TUEVDMigyLCAyLCBsZXNzKQorCit9fQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8Pgorc3RydWN0IGxlc3NfaW1wbDwgaW50ZWdyYWxfY190YWcsaW50ZWdyYWxfY190YWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBOMSwgdHlwZW5hbWUgTjIgPiBzdHJ1Y3QgYXBwbHkKKworICAgICAgICA6IGJvb2xfPCAoIEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChOMik6OnZhbHVlID4gQk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4xKTo6dmFsdWUgKSA+CisgICAgeworICAgIH07Cit9OworCit9fQpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjY19wcmU1OTAvbGVzc19lcXVhbC5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjX3ByZTU5MC9sZXNzX2VxdWFsLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZDA4MDc1Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjY19wcmU1OTAvbGVzc19lcXVhbC5ocHAKQEAgLTAsMCArMSw5NCBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vICpQcmVwcm9jZXNzZWQqIHZlcnNpb24gb2YgdGhlIG1haW4gImxlc3NfZXF1YWwuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVGFnMQorICAgICwgdHlwZW5hbWUgVGFnMgorICAgID4KK3N0cnVjdCBsZXNzX2VxdWFsX2ltcGwKKyAgICA6IGlmX2M8CisgICAgICAgICAgKCBCT09TVF9NUExfQVVYX05FU1RFRF9WQUxVRV9XS05EKGludCwgVGFnMSkKKyAgICAgICAgICAgICAgPiBCT09TVF9NUExfQVVYX05FU1RFRF9WQUxVRV9XS05EKGludCwgVGFnMikKKyAgICAgICAgICAgICkKKworICAgICAgICAsIGF1eDo6Y2FzdDJuZF9pbXBsPCBsZXNzX2VxdWFsX2ltcGw8IFRhZzEsVGFnMSA+LFRhZzEsIFRhZzIgPgorICAgICAgICAsIGF1eDo6Y2FzdDFzdF9pbXBsPCBsZXNzX2VxdWFsX2ltcGw8IFRhZzIsVGFnMiA+LFRhZzEsIFRhZzIgPgorICAgICAgICA+Ojp0eXBlCit7Cit9OworCisvLy8gZm9yIERpZ2l0YWwgTWFycyBDKysvY29tcGlsZXJzIHdpdGggbm8gQ1RQUy9UVFAgc3VwcG9ydAordGVtcGxhdGU8PiBzdHJ1Y3QgbGVzc19lcXVhbF9pbXBsPCBuYSxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFRhZyA+IHN0cnVjdCBsZXNzX2VxdWFsX2ltcGw8IG5hLFRhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFRhZyA+IHN0cnVjdCBsZXNzX2VxdWFsX2ltcGw8IFRhZyxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFQgPiBzdHJ1Y3QgbGVzc19lcXVhbF90YWcKK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIFQ6OnRhZyB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4xKQorICAgICwgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMikKKyAgICA+CitzdHJ1Y3QgbGVzc19lcXVhbAorCisgICAgOiBsZXNzX2VxdWFsX2ltcGw8CisgICAgICAgICAgdHlwZW5hbWUgbGVzc19lcXVhbF90YWc8TjE+Ojp0eXBlCisgICAgICAgICwgdHlwZW5hbWUgbGVzc19lcXVhbF90YWc8TjI+Ojp0eXBlCisgICAgICAgID46OnRlbXBsYXRlIGFwcGx5PCBOMSxOMiA+Ojp0eXBlCit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgyLCBsZXNzX2VxdWFsLCAoTjEsIE4yKSkKKworfTsKKworQk9PU1RfTVBMX0FVWF9OQV9TUEVDMigyLCAyLCBsZXNzX2VxdWFsKQorCit9fQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8Pgorc3RydWN0IGxlc3NfZXF1YWxfaW1wbDwgaW50ZWdyYWxfY190YWcsaW50ZWdyYWxfY190YWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBOMSwgdHlwZW5hbWUgTjIgPiBzdHJ1Y3QgYXBwbHkKKworICAgICAgICA6IGJvb2xfPCAoIEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChOMSk6OnZhbHVlIDw9IEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChOMik6OnZhbHVlICkgPgorICAgIHsKKyAgICB9OworfTsKKworfX0KZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2NfcHJlNTkwL2xpc3QuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjY19wcmU1OTAvbGlzdC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzhlZGJjYwotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2NfcHJlNTkwL2xpc3QuaHBwCkBAIC0wLDAgKzEsMzIzIEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gKlByZXByb2Nlc3NlZCogdmVyc2lvbiBvZiB0aGUgbWFpbiAibGlzdC5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCA9IG5hLCB0eXBlbmFtZSBUMSA9IG5hLCB0eXBlbmFtZSBUMiA9IG5hLCB0eXBlbmFtZSBUMyA9IG5hCisgICAgLCB0eXBlbmFtZSBUNCA9IG5hLCB0eXBlbmFtZSBUNSA9IG5hLCB0eXBlbmFtZSBUNiA9IG5hLCB0eXBlbmFtZSBUNyA9IG5hCisgICAgLCB0eXBlbmFtZSBUOCA9IG5hLCB0eXBlbmFtZSBUOSA9IG5hLCB0eXBlbmFtZSBUMTAgPSBuYSwgdHlwZW5hbWUgVDExID0gbmEKKyAgICAsIHR5cGVuYW1lIFQxMiA9IG5hLCB0eXBlbmFtZSBUMTMgPSBuYSwgdHlwZW5hbWUgVDE0ID0gbmEKKyAgICAsIHR5cGVuYW1lIFQxNSA9IG5hLCB0eXBlbmFtZSBUMTYgPSBuYSwgdHlwZW5hbWUgVDE3ID0gbmEKKyAgICAsIHR5cGVuYW1lIFQxOCA9IG5hLCB0eXBlbmFtZSBUMTkgPSBuYQorICAgID4KK3N0cnVjdCBsaXN0OworCit0ZW1wbGF0ZTwKKyAgICAgCisgICAgPgorc3RydWN0IGxpc3Q8CisgICAgICAgICAgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBsaXN0MDwgID4KK3sKKyAgICB0eXBlZGVmIGxpc3QwPCAgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMAorICAgID4KK3N0cnVjdCBsaXN0PAorICAgICAgICAgIFQwLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogbGlzdDE8VDA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0MTxUMD46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxCisgICAgPgorc3RydWN0IGxpc3Q8CisgICAgICAgICAgVDAsIFQxLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBsaXN0MjwgVDAsVDEgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDI8IFQwLFQxID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMgorICAgID4KK3N0cnVjdCBsaXN0PAorICAgICAgICAgIFQwLCBUMSwgVDIsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogbGlzdDM8IFQwLFQxLFQyID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3QzPCBUMCxUMSxUMiA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzCisgICAgPgorc3RydWN0IGxpc3Q8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBsaXN0NDwgVDAsVDEsVDIsVDMgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDQ8IFQwLFQxLFQyLFQzID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgPgorc3RydWN0IGxpc3Q8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBsaXN0NTwgVDAsVDEsVDIsVDMsVDQgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDU8IFQwLFQxLFQyLFQzLFQ0ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNQorICAgID4KK3N0cnVjdCBsaXN0PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogbGlzdDY8IFQwLFQxLFQyLFQzLFQ0LFQ1ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3Q2PCBUMCxUMSxUMixUMyxUNCxUNSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2CisgICAgPgorc3RydWN0IGxpc3Q8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBsaXN0NzwgVDAsVDEsVDIsVDMsVDQsVDUsVDYgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDc8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3CisgICAgPgorc3RydWN0IGxpc3Q8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBsaXN0ODwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDg8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOAorICAgID4KK3N0cnVjdCBsaXN0PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogbGlzdDk8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3Q5PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgPgorc3RydWN0IGxpc3Q8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBsaXN0MTA8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3QxMDwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDkgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwCisgICAgPgorc3RydWN0IGxpc3Q8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogbGlzdDExPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDExPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEKKyAgICA+CitzdHJ1Y3QgbGlzdDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogbGlzdDEyPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3QxMjwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyCisgICAgPgorc3RydWN0IGxpc3Q8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBsaXN0MTM8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3QxMzwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzCisgICAgPgorc3RydWN0IGxpc3Q8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogbGlzdDE0PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDE0PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICA+CitzdHJ1Y3QgbGlzdDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogbGlzdDE1PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0MTU8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyxUMTQgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAsIHR5cGVuYW1lIFQxNQorICAgID4KK3N0cnVjdCBsaXN0PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogbGlzdDE2PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNQorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0MTY8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyxUMTQsVDE1ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNgorICAgID4KK3N0cnVjdCBsaXN0PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgVDE2LCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IGxpc3QxNzwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgLCBUMTUsIFQxNgorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0MTc8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyxUMTQsVDE1LFQxNiA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNworICAgID4KK3N0cnVjdCBsaXN0PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgVDE2LCBUMTcsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBsaXN0MTg8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1LCBUMTYsIFQxNworICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0MTg8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyxUMTQsVDE1LFQxNixUMTcgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOAorICAgID4KK3N0cnVjdCBsaXN0PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgVDE2LCBUMTcsIFQxOCwgbmEKKyAgICAgICAgPgorICAgIDogbGlzdDE5PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgVDE2LCBUMTcsIFQxOAorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0MTk8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyxUMTQsVDE1LFQxNixUMTcsVDE4ID46OnR5cGUgdHlwZTsKK307CisKKy8vLyBwcmltYXJ5IHRlbXBsYXRlIChub3QgYSBzcGVjaWFsaXphdGlvbiEpCisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgID4KK3N0cnVjdCBsaXN0CisgICAgOiBsaXN0MjA8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1LCBUMTYsIFQxNywgVDE4LCBUMTkKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDIwPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMsVDE0LFQxNSxUMTYsVDE3LFQxOCxUMTkgPjo6dHlwZSB0eXBlOworfTsKKworfX0KKwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjY19wcmU1OTAvbGlzdF9jLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2NfcHJlNTkwL2xpc3RfYy5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjFiYjM2YgotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2NfcHJlNTkwL2xpc3RfYy5ocHAKQEAgLTAsMCArMSwzMjggQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyAqUHJlcHJvY2Vzc2VkKiB2ZXJzaW9uIG9mIHRoZSBtYWluICJsaXN0X2MuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCA9IExPTkdfTUFYLCBsb25nIEMxID0gTE9OR19NQVgsIGxvbmcgQzIgPSBMT05HX01BWAorICAgICwgbG9uZyBDMyA9IExPTkdfTUFYLCBsb25nIEM0ID0gTE9OR19NQVgsIGxvbmcgQzUgPSBMT05HX01BWAorICAgICwgbG9uZyBDNiA9IExPTkdfTUFYLCBsb25nIEM3ID0gTE9OR19NQVgsIGxvbmcgQzggPSBMT05HX01BWAorICAgICwgbG9uZyBDOSA9IExPTkdfTUFYLCBsb25nIEMxMCA9IExPTkdfTUFYLCBsb25nIEMxMSA9IExPTkdfTUFYCisgICAgLCBsb25nIEMxMiA9IExPTkdfTUFYLCBsb25nIEMxMyA9IExPTkdfTUFYLCBsb25nIEMxNCA9IExPTkdfTUFYCisgICAgLCBsb25nIEMxNSA9IExPTkdfTUFYLCBsb25nIEMxNiA9IExPTkdfTUFYLCBsb25nIEMxNyA9IExPTkdfTUFYCisgICAgLCBsb25nIEMxOCA9IExPTkdfTUFYLCBsb25nIEMxOSA9IExPTkdfTUFYCisgICAgPgorc3RydWN0IGxpc3RfYzsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUCisgICAgPgorc3RydWN0IGxpc3RfYzwKKyAgICAgICAgICBULCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiBsaXN0MF9jPFQ+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0MF9jPFQ+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAKKyAgICA+CitzdHJ1Y3QgbGlzdF9jPAorICAgICAgICAgIFQsIEMwLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IGxpc3QxX2M8IFQsQzAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDFfYzwgVCxDMCA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEKKyAgICA+CitzdHJ1Y3QgbGlzdF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IGxpc3QyX2M8IFQsQzAsQzEgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDJfYzwgVCxDMCxDMSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIKKyAgICA+CitzdHJ1Y3QgbGlzdF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IGxpc3QzX2M8IFQsQzAsQzEsQzIgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDNfYzwgVCxDMCxDMSxDMiA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMKKyAgICA+CitzdHJ1Y3QgbGlzdF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IGxpc3Q0X2M8IFQsQzAsQzEsQzIsQzMgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDRfYzwgVCxDMCxDMSxDMixDMyA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQKKyAgICA+CitzdHJ1Y3QgbGlzdF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IGxpc3Q1X2M8IFQsQzAsQzEsQzIsQzMsQzQgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDVfYzwgVCxDMCxDMSxDMixDMyxDNCA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICA+CitzdHJ1Y3QgbGlzdF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IGxpc3Q2X2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDZfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAsIGxvbmcgQzYKKyAgICA+CitzdHJ1Y3QgbGlzdF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IGxpc3Q3X2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDdfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNiA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAsIGxvbmcgQzYsIGxvbmcgQzcKKyAgICA+CitzdHJ1Y3QgbGlzdF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IGxpc3Q4X2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDhfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgKKyAgICA+CitzdHJ1Y3QgbGlzdF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IGxpc3Q5X2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcsQzggPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDlfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyxDOCA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzkKKyAgICA+CitzdHJ1Y3QgbGlzdF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IGxpc3QxMF9jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2LEM3LEM4LEM5ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3QxMF9jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2LEM3LEM4LEM5ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAKKyAgICA+CitzdHJ1Y3QgbGlzdF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IGxpc3QxMV9jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2LEM3LEM4LEM5LEMxMCA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0MTFfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyxDOCxDOSxDMTAgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEKKyAgICA+CitzdHJ1Y3QgbGlzdF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiBsaXN0MTJfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyxDOCxDOSxDMTAsQzExID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3QxMl9jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2LEM3LEM4LEM5LEMxMCxDMTEgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgPgorc3RydWN0IGxpc3RfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIEMxMiwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IGxpc3QxM19jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2LEM3LEM4LEM5LEMxMCxDMTEsQzEyID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3QxM19jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2LEM3LEM4LEM5LEMxMCxDMTEsQzEyID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgICwgbG9uZyBDMTMKKyAgICA+CitzdHJ1Y3QgbGlzdF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IGxpc3QxNF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDE0X2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcsQzgsQzksQzEwLEMxMSxDMTIsQzEzID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0CisgICAgPgorc3RydWN0IGxpc3RfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIEMxMiwgQzEzLCBDMTQKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogbGlzdDE1X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBDMTIsIEMxMywgQzE0CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3QxNV9jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2LEM3LEM4LEM5LEMxMCxDMTEsQzEyLEMxMyxDMTQgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1CisgICAgPgorc3RydWN0IGxpc3RfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIEMxMiwgQzEzLCBDMTQKKyAgICAgICAgLCBDMTUsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IGxpc3QxNl9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMsIEMxNAorICAgICAgICAsIEMxNQorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0MTZfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyxDOCxDOSxDMTAsQzExLEMxMixDMTMsQzE0LEMxNSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAsIGxvbmcgQzEzLCBsb25nIEMxNCwgbG9uZyBDMTUsIGxvbmcgQzE2CisgICAgPgorc3RydWN0IGxpc3RfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIEMxMiwgQzEzLCBDMTQKKyAgICAgICAgLCBDMTUsIEMxNiwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiBsaXN0MTdfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIEMxMiwgQzEzLCBDMTQKKyAgICAgICAgLCBDMTUsIEMxNgorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0MTdfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyxDOCxDOSxDMTAsQzExLEMxMixDMTMsQzE0LEMxNSxDMTYgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1LCBsb25nIEMxNiwgbG9uZyBDMTcKKyAgICA+CitzdHJ1Y3QgbGlzdF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMsIEMxNAorICAgICAgICAsIEMxNSwgQzE2LCBDMTcsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiBsaXN0MThfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIEMxMiwgQzEzLCBDMTQKKyAgICAgICAgLCBDMTUsIEMxNiwgQzE3CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3QxOF9jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2LEM3LEM4LEM5LEMxMCxDMTEsQzEyLEMxMyxDMTQsQzE1LEMxNixDMTcgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1LCBsb25nIEMxNiwgbG9uZyBDMTcsIGxvbmcgQzE4CisgICAgPgorc3RydWN0IGxpc3RfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIEMxMiwgQzEzLCBDMTQKKyAgICAgICAgLCBDMTUsIEMxNiwgQzE3LCBDMTgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IGxpc3QxOV9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMsIEMxNAorICAgICAgICAsIEMxNSwgQzE2LCBDMTcsIEMxOAorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0MTlfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyxDOCxDOSxDMTAsQzExLEMxMixDMTMsQzE0LEMxNSxDMTYsQzE3LEMxOCA+Ojp0eXBlIHR5cGU7Cit9OworCisvLy8gcHJpbWFyeSB0ZW1wbGF0ZSAobm90IGEgc3BlY2lhbGl6YXRpb24hKQorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAsIGxvbmcgQzEzLCBsb25nIEMxNCwgbG9uZyBDMTUsIGxvbmcgQzE2LCBsb25nIEMxNywgbG9uZyBDMTgsIGxvbmcgQzE5CisgICAgPgorc3RydWN0IGxpc3RfYworICAgIDogbGlzdDIwX2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBDMTIsIEMxMywgQzE0CisgICAgICAgICwgQzE1LCBDMTYsIEMxNywgQzE4LCBDMTkKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDIwX2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcsQzgsQzksQzEwLEMxMSxDMTIsQzEzLEMxNCxDMTUsQzE2LEMxNyxDMTgsQzE5ID46OnR5cGUgdHlwZTsKK307CisKK319CisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2NfcHJlNTkwL21hcC5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjX3ByZTU5MC9tYXAuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU2Zjg5NjQKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjX3ByZTU5MC9tYXAuaHBwCkBAIC0wLDAgKzEsMzIzIEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gKlByZXByb2Nlc3NlZCogdmVyc2lvbiBvZiB0aGUgbWFpbiAibWFwLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwID0gbmEsIHR5cGVuYW1lIFQxID0gbmEsIHR5cGVuYW1lIFQyID0gbmEsIHR5cGVuYW1lIFQzID0gbmEKKyAgICAsIHR5cGVuYW1lIFQ0ID0gbmEsIHR5cGVuYW1lIFQ1ID0gbmEsIHR5cGVuYW1lIFQ2ID0gbmEsIHR5cGVuYW1lIFQ3ID0gbmEKKyAgICAsIHR5cGVuYW1lIFQ4ID0gbmEsIHR5cGVuYW1lIFQ5ID0gbmEsIHR5cGVuYW1lIFQxMCA9IG5hLCB0eXBlbmFtZSBUMTEgPSBuYQorICAgICwgdHlwZW5hbWUgVDEyID0gbmEsIHR5cGVuYW1lIFQxMyA9IG5hLCB0eXBlbmFtZSBUMTQgPSBuYQorICAgICwgdHlwZW5hbWUgVDE1ID0gbmEsIHR5cGVuYW1lIFQxNiA9IG5hLCB0eXBlbmFtZSBUMTcgPSBuYQorICAgICwgdHlwZW5hbWUgVDE4ID0gbmEsIHR5cGVuYW1lIFQxOSA9IG5hCisgICAgPgorc3RydWN0IG1hcDsKKwordGVtcGxhdGU8CisgICAgIAorICAgID4KK3N0cnVjdCBtYXA8CisgICAgICAgICAgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBtYXAwPCAgPgoreworICAgIHR5cGVkZWYgbWFwMDwgID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAKKyAgICA+CitzdHJ1Y3QgbWFwPAorICAgICAgICAgIFQwLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogbWFwMTxUMD4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1hcDE8VDA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMQorICAgID4KK3N0cnVjdCBtYXA8CisgICAgICAgICAgVDAsIFQxLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBtYXAyPCBUMCxUMSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtYXAyPCBUMCxUMSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIKKyAgICA+CitzdHJ1Y3QgbWFwPAorICAgICAgICAgIFQwLCBUMSwgVDIsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogbWFwMzwgVDAsVDEsVDIgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbWFwMzwgVDAsVDEsVDIgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMworICAgID4KK3N0cnVjdCBtYXA8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBtYXA0PCBUMCxUMSxUMixUMyA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtYXA0PCBUMCxUMSxUMixUMyA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgID4KK3N0cnVjdCBtYXA8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBtYXA1PCBUMCxUMSxUMixUMyxUNCA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtYXA1PCBUMCxUMSxUMixUMyxUNCA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUKKyAgICA+CitzdHJ1Y3QgbWFwPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogbWFwNjwgVDAsVDEsVDIsVDMsVDQsVDUgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbWFwNjwgVDAsVDEsVDIsVDMsVDQsVDUgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNgorICAgID4KK3N0cnVjdCBtYXA8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBtYXA3PCBUMCxUMSxUMixUMyxUNCxUNSxUNiA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtYXA3PCBUMCxUMSxUMixUMyxUNCxUNSxUNiA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNworICAgID4KK3N0cnVjdCBtYXA8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBtYXA4PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtYXA4PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgKKyAgICA+CitzdHJ1Y3QgbWFwPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogbWFwOTwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDggPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbWFwOTwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDggPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgID4KK3N0cnVjdCBtYXA8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBtYXAxMDwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDkgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbWFwMTA8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMAorICAgID4KK3N0cnVjdCBtYXA8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogbWFwMTE8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtYXAxMTwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExCisgICAgPgorc3RydWN0IG1hcDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogbWFwMTI8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbWFwMTI8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMgorICAgID4KK3N0cnVjdCBtYXA8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBtYXAxMzwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbWFwMTM8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMworICAgID4KK3N0cnVjdCBtYXA8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogbWFwMTQ8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtYXAxNDwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgPgorc3RydWN0IG1hcDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogbWFwMTU8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1hcDE1PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMsVDE0ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgLCB0eXBlbmFtZSBUMTUKKyAgICA+CitzdHJ1Y3QgbWFwPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogbWFwMTY8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1hcDE2PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMsVDE0LFQxNSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYKKyAgICA+CitzdHJ1Y3QgbWFwPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgVDE2LCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IG1hcDE3PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgVDE2CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1hcDE3PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMsVDE0LFQxNSxUMTYgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcKKyAgICA+CitzdHJ1Y3QgbWFwPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgVDE2LCBUMTcsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBtYXAxODwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgLCBUMTUsIFQxNiwgVDE3CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1hcDE4PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMsVDE0LFQxNSxUMTYsVDE3ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgKKyAgICA+CitzdHJ1Y3QgbWFwPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgVDE2LCBUMTcsIFQxOCwgbmEKKyAgICAgICAgPgorICAgIDogbWFwMTk8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1LCBUMTYsIFQxNywgVDE4CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1hcDE5PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMsVDE0LFQxNSxUMTYsVDE3LFQxOCA+Ojp0eXBlIHR5cGU7Cit9OworCisvLy8gcHJpbWFyeSB0ZW1wbGF0ZSAobm90IGEgc3BlY2lhbGl6YXRpb24hKQorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICA+CitzdHJ1Y3QgbWFwCisgICAgOiBtYXAyMDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgLCBUMTUsIFQxNiwgVDE3LCBUMTgsIFQxOQorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtYXAyMDwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzLFQxNCxUMTUsVDE2LFQxNyxUMTgsVDE5ID46OnR5cGUgdHlwZTsKK307CisKK319CisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2NfcHJlNTkwL21pbnVzLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2NfcHJlNTkwL21pbnVzLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZTM5ZDBkCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjY19wcmU1OTAvbWludXMuaHBwCkBAIC0wLDAgKzEsMTQ2IEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gKlByZXByb2Nlc3NlZCogdmVyc2lvbiBvZiB0aGUgbWFpbiAibWludXMuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVGFnMQorICAgICwgdHlwZW5hbWUgVGFnMgorICAgID4KK3N0cnVjdCBtaW51c19pbXBsCisgICAgOiBpZl9jPAorICAgICAgICAgICggQk9PU1RfTVBMX0FVWF9ORVNURURfVkFMVUVfV0tORChpbnQsIFRhZzEpCisgICAgICAgICAgICAgID4gQk9PU1RfTVBMX0FVWF9ORVNURURfVkFMVUVfV0tORChpbnQsIFRhZzIpCisgICAgICAgICAgICApCisKKyAgICAgICAgLCBhdXg6OmNhc3QybmRfaW1wbDwgbWludXNfaW1wbDwgVGFnMSxUYWcxID4sVGFnMSwgVGFnMiA+CisgICAgICAgICwgYXV4OjpjYXN0MXN0X2ltcGw8IG1pbnVzX2ltcGw8IFRhZzIsVGFnMiA+LFRhZzEsIFRhZzIgPgorICAgICAgICA+Ojp0eXBlCit7Cit9OworCisvLy8gZm9yIERpZ2l0YWwgTWFycyBDKysvY29tcGlsZXJzIHdpdGggbm8gQ1RQUy9UVFAgc3VwcG9ydAordGVtcGxhdGU8PiBzdHJ1Y3QgbWludXNfaW1wbDwgbmEsbmEgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUYWcgPiBzdHJ1Y3QgbWludXNfaW1wbDwgbmEsVGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVGFnID4gc3RydWN0IG1pbnVzX2ltcGw8IFRhZyxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFQgPiBzdHJ1Y3QgbWludXNfdGFnCit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBUOjp0YWcgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMSkKKyAgICAsIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjIpCisgICAgLCB0eXBlbmFtZSBOMyA9IG5hLCB0eXBlbmFtZSBONCA9IG5hLCB0eXBlbmFtZSBONSA9IG5hCisgICAgPgorc3RydWN0IG1pbnVzCisgICAgOiBtaW51czwgbWludXM8IG1pbnVzPCBtaW51czwgTjEsTjIgPiwgTjM+LCBOND4sIE41PgoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoCisgICAgICAgICAgNQorICAgICAgICAsIG1pbnVzCisgICAgICAgICwgKCBOMSwgTjIsIE4zLCBONCwgTjUgKQorICAgICAgICApCit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIE4xLCB0eXBlbmFtZSBOMiwgdHlwZW5hbWUgTjMsIHR5cGVuYW1lIE40CisgICAgPgorc3RydWN0IG1pbnVzPCBOMSxOMixOMyxONCxuYSA+CisKKyAgICA6IG1pbnVzPCBtaW51czwgbWludXM8IE4xLE4yID4sIE4zPiwgTjQ+Cit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVF9TUEVDKAorICAgICAgICAgIDUKKyAgICAgICAgLCBtaW51cworICAgICAgICAsICggTjEsIE4yLCBOMywgTjQsIG5hICkKKyAgICAgICAgKQorfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBOMSwgdHlwZW5hbWUgTjIsIHR5cGVuYW1lIE4zCisgICAgPgorc3RydWN0IG1pbnVzPCBOMSxOMixOMyxuYSxuYSA+CisKKyAgICA6IG1pbnVzPCBtaW51czwgTjEsTjIgPiwgTjM+Cit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVF9TUEVDKAorICAgICAgICAgIDUKKyAgICAgICAgLCBtaW51cworICAgICAgICAsICggTjEsIE4yLCBOMywgbmEsIG5hICkKKyAgICAgICAgKQorfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBOMSwgdHlwZW5hbWUgTjIKKyAgICA+CitzdHJ1Y3QgbWludXM8IE4xLE4yLG5hLG5hLG5hID4KKyAgICA6IG1pbnVzX2ltcGw8CisgICAgICAgICAgdHlwZW5hbWUgbWludXNfdGFnPE4xPjo6dHlwZQorICAgICAgICAsIHR5cGVuYW1lIG1pbnVzX3RhZzxOMj46OnR5cGUKKyAgICAgICAgPjo6dGVtcGxhdGUgYXBwbHk8IE4xLE4yID46OnR5cGUKK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUX1NQRUMoCisgICAgICAgICAgNQorICAgICAgICAsIG1pbnVzCisgICAgICAgICwgKCBOMSwgTjIsIG5hLCBuYSwgbmEgKQorICAgICAgICApCisKK307CisKK0JPT1NUX01QTF9BVVhfTkFfU1BFQzIoMiwgNSwgbWludXMpCisKK319CisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgewordGVtcGxhdGU8Pgorc3RydWN0IG1pbnVzX2ltcGw8IGludGVncmFsX2NfdGFnLGludGVncmFsX2NfdGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgTjEsIHR5cGVuYW1lIE4yID4gc3RydWN0IGFwcGx5CisKKyAgICAgICAgOiBpbnRlZ3JhbF9jPAorICAgICAgICAgICAgICB0eXBlbmFtZSBhdXg6Omxhcmdlc3RfaW50PAorICAgICAgICAgICAgICAgICAgdHlwZW5hbWUgTjE6OnZhbHVlX3R5cGUKKyAgICAgICAgICAgICAgICAsIHR5cGVuYW1lIE4yOjp2YWx1ZV90eXBlCisgICAgICAgICAgICAgICAgPjo6dHlwZQorICAgICAgICAgICAgLCAoIEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChOMSk6OnZhbHVlCisgICAgICAgICAgICAgICAgICAtIEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChOMik6OnZhbHVlCisgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgPgorICAgIHsKKyAgICB9OworfTsKKworfX0KZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2NfcHJlNTkwL21vZHVsdXMuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjY19wcmU1OTAvbW9kdWx1cy5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjU1MDlmMgotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2NfcHJlNTkwL21vZHVsdXMuaHBwCkBAIC0wLDAgKzEsMTAxIEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gKlByZXByb2Nlc3NlZCogdmVyc2lvbiBvZiB0aGUgbWFpbiAibW9kdWx1cy5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUYWcxCisgICAgLCB0eXBlbmFtZSBUYWcyCisgICAgPgorc3RydWN0IG1vZHVsdXNfaW1wbAorICAgIDogaWZfYzwKKyAgICAgICAgICAoIEJPT1NUX01QTF9BVVhfTkVTVEVEX1ZBTFVFX1dLTkQoaW50LCBUYWcxKQorICAgICAgICAgICAgICA+IEJPT1NUX01QTF9BVVhfTkVTVEVEX1ZBTFVFX1dLTkQoaW50LCBUYWcyKQorICAgICAgICAgICAgKQorCisgICAgICAgICwgYXV4OjpjYXN0Mm5kX2ltcGw8IG1vZHVsdXNfaW1wbDwgVGFnMSxUYWcxID4sVGFnMSwgVGFnMiA+CisgICAgICAgICwgYXV4OjpjYXN0MXN0X2ltcGw8IG1vZHVsdXNfaW1wbDwgVGFnMixUYWcyID4sVGFnMSwgVGFnMiA+CisgICAgICAgID46OnR5cGUKK3sKK307CisKKy8vLyBmb3IgRGlnaXRhbCBNYXJzIEMrKy9jb21waWxlcnMgd2l0aCBubyBDVFBTL1RUUCBzdXBwb3J0Cit0ZW1wbGF0ZTw+IHN0cnVjdCBtb2R1bHVzX2ltcGw8IG5hLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVGFnID4gc3RydWN0IG1vZHVsdXNfaW1wbDwgbmEsVGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVGFnID4gc3RydWN0IG1vZHVsdXNfaW1wbDwgVGFnLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVCA+IHN0cnVjdCBtb2R1bHVzX3RhZworeworICAgIHR5cGVkZWYgdHlwZW5hbWUgVDo6dGFnIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjEpCisgICAgLCB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4yKQorICAgID4KK3N0cnVjdCBtb2R1bHVzCisKKyAgICA6IG1vZHVsdXNfaW1wbDwKKyAgICAgICAgICB0eXBlbmFtZSBtb2R1bHVzX3RhZzxOMT46OnR5cGUKKyAgICAgICAgLCB0eXBlbmFtZSBtb2R1bHVzX3RhZzxOMj46OnR5cGUKKyAgICAgICAgPjo6dGVtcGxhdGUgYXBwbHk8IE4xLE4yID46OnR5cGUKK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKDIsIG1vZHVsdXMsIChOMSwgTjIpKQorCit9OworCitCT09TVF9NUExfQVVYX05BX1NQRUMyKDIsIDIsIG1vZHVsdXMpCisKK319CisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgewordGVtcGxhdGU8Pgorc3RydWN0IG1vZHVsdXNfaW1wbDwgaW50ZWdyYWxfY190YWcsaW50ZWdyYWxfY190YWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBOMSwgdHlwZW5hbWUgTjIgPiBzdHJ1Y3QgYXBwbHkKKworICAgICAgICA6IGludGVncmFsX2M8CisgICAgICAgICAgICAgIHR5cGVuYW1lIGF1eDo6bGFyZ2VzdF9pbnQ8CisgICAgICAgICAgICAgICAgICB0eXBlbmFtZSBOMTo6dmFsdWVfdHlwZQorICAgICAgICAgICAgICAgICwgdHlwZW5hbWUgTjI6OnZhbHVlX3R5cGUKKyAgICAgICAgICAgICAgICA+Ojp0eXBlCisgICAgICAgICAgICAsICggQk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4xKTo6dmFsdWUKKyAgICAgICAgICAgICAgICAgICUgQk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4yKTo6dmFsdWUKKyAgICAgICAgICAgICAgICApCisgICAgICAgICAgICA+CisgICAgeworICAgIH07Cit9OworCit9fQpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjY19wcmU1OTAvbm90X2VxdWFsX3RvLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2NfcHJlNTkwL25vdF9lcXVhbF90by5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDE0ZTUzNQotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2NfcHJlNTkwL25vdF9lcXVhbF90by5ocHAKQEAgLTAsMCArMSw5NCBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vICpQcmVwcm9jZXNzZWQqIHZlcnNpb24gb2YgdGhlIG1haW4gIm5vdF9lcXVhbF90by5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUYWcxCisgICAgLCB0eXBlbmFtZSBUYWcyCisgICAgPgorc3RydWN0IG5vdF9lcXVhbF90b19pbXBsCisgICAgOiBpZl9jPAorICAgICAgICAgICggQk9PU1RfTVBMX0FVWF9ORVNURURfVkFMVUVfV0tORChpbnQsIFRhZzEpCisgICAgICAgICAgICAgID4gQk9PU1RfTVBMX0FVWF9ORVNURURfVkFMVUVfV0tORChpbnQsIFRhZzIpCisgICAgICAgICAgICApCisKKyAgICAgICAgLCBhdXg6OmNhc3QybmRfaW1wbDwgbm90X2VxdWFsX3RvX2ltcGw8IFRhZzEsVGFnMSA+LFRhZzEsIFRhZzIgPgorICAgICAgICAsIGF1eDo6Y2FzdDFzdF9pbXBsPCBub3RfZXF1YWxfdG9faW1wbDwgVGFnMixUYWcyID4sVGFnMSwgVGFnMiA+CisgICAgICAgID46OnR5cGUKK3sKK307CisKKy8vLyBmb3IgRGlnaXRhbCBNYXJzIEMrKy9jb21waWxlcnMgd2l0aCBubyBDVFBTL1RUUCBzdXBwb3J0Cit0ZW1wbGF0ZTw+IHN0cnVjdCBub3RfZXF1YWxfdG9faW1wbDwgbmEsbmEgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUYWcgPiBzdHJ1Y3Qgbm90X2VxdWFsX3RvX2ltcGw8IG5hLFRhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFRhZyA+IHN0cnVjdCBub3RfZXF1YWxfdG9faW1wbDwgVGFnLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVCA+IHN0cnVjdCBub3RfZXF1YWxfdG9fdGFnCit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBUOjp0YWcgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMSkKKyAgICAsIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjIpCisgICAgPgorc3RydWN0IG5vdF9lcXVhbF90bworCisgICAgOiBub3RfZXF1YWxfdG9faW1wbDwKKyAgICAgICAgICB0eXBlbmFtZSBub3RfZXF1YWxfdG9fdGFnPE4xPjo6dHlwZQorICAgICAgICAsIHR5cGVuYW1lIG5vdF9lcXVhbF90b190YWc8TjI+Ojp0eXBlCisgICAgICAgID46OnRlbXBsYXRlIGFwcGx5PCBOMSxOMiA+Ojp0eXBlCit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgyLCBub3RfZXF1YWxfdG8sIChOMSwgTjIpKQorCit9OworCitCT09TVF9NUExfQVVYX05BX1NQRUMyKDIsIDIsIG5vdF9lcXVhbF90bykKKworfX0KKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBub3RfZXF1YWxfdG9faW1wbDwgaW50ZWdyYWxfY190YWcsaW50ZWdyYWxfY190YWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBOMSwgdHlwZW5hbWUgTjIgPiBzdHJ1Y3QgYXBwbHkKKworICAgICAgICA6IGJvb2xfPCAoIEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChOMSk6OnZhbHVlICE9IEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChOMik6OnZhbHVlICkgPgorICAgIHsKKyAgICB9OworfTsKKworfX0KZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2NfcHJlNTkwL29yLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2NfcHJlNTkwL29yLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NDI3ZDA4Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjY19wcmU1OTAvb3IuaHBwCkBAIC0wLDAgKzEsNjkgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyAqUHJlcHJvY2Vzc2VkKiB2ZXJzaW9uIG9mIHRoZSBtYWluICJvci5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPCBib29sIENfLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNCA+CitzdHJ1Y3Qgb3JfaW1wbAorICAgIDogdHJ1ZV8KK3sKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNCA+CitzdHJ1Y3Qgb3JfaW1wbDwgZmFsc2UsVDEsVDIsVDMsVDQgPgorICAgIDogb3JfaW1wbDwKKyAgICAgICAgICBCT09TVF9NUExfQVVYX05FU1RFRF9UWVBFX1dLTkQoVDEpOjp2YWx1ZQorICAgICAgICAsIFQyLCBUMywgVDQKKyAgICAgICAgLCBmYWxzZV8KKyAgICAgICAgPgoreworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IG9yX2ltcGw8CisgICAgICAgICAgZmFsc2UKKyAgICAgICAgLCBmYWxzZV8sIGZhbHNlXywgZmFsc2VfLCBmYWxzZV8KKyAgICAgICAgPgorICAgIDogZmFsc2VfCit7Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKFQxKQorICAgICwgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShUMikKKyAgICAsIHR5cGVuYW1lIFQzID0gZmFsc2VfLCB0eXBlbmFtZSBUNCA9IGZhbHNlXywgdHlwZW5hbWUgVDUgPSBmYWxzZV8KKyAgICA+CitzdHJ1Y3Qgb3JfCisKKyAgICA6IGF1eDo6b3JfaW1wbDwKKyAgICAgICAgICBCT09TVF9NUExfQVVYX05FU1RFRF9UWVBFX1dLTkQoVDEpOjp2YWx1ZQorICAgICAgICAsIFQyLCBUMywgVDQsIFQ1CisgICAgICAgID4KKworeworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoCisgICAgICAgICAgNQorICAgICAgICAsIG9yXworICAgICAgICAsICggVDEsIFQyLCBUMywgVDQsIFQ1KQorICAgICAgICApCit9OworCitCT09TVF9NUExfQVVYX05BX1NQRUMyKAorICAgICAgMgorICAgICwgNQorICAgICwgb3JfCisgICAgKQorCit9fQpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjY19wcmU1OTAvcGxhY2Vob2xkZXJzLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2NfcHJlNTkwL3BsYWNlaG9sZGVycy5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzMwZTQwZgotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2NfcHJlNTkwL3BsYWNlaG9sZGVycy5ocHAKQEAgLTAsMCArMSwxMDUgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMS0yMDA0CisvLyBDb3B5cmlnaHQgUGV0ZXIgRGltb3YgMjAwMS0yMDAzCisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyAqUHJlcHJvY2Vzc2VkKiB2ZXJzaW9uIG9mIHRoZSBtYWluICJwbGFjZWhvbGRlcnMuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworQk9PU1RfTVBMX0FVWF9BRExfQkFSUklFUl9OQU1FU1BBQ0VfT1BFTgordHlwZWRlZiBhcmc8IC0xID4gXzsKK0JPT1NUX01QTF9BVVhfQURMX0JBUlJJRVJfTkFNRVNQQUNFX0NMT1NFCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKworQk9PU1RfTVBMX0FVWF9BUkdfQURMX0JBUlJJRVJfREVDTChfKQorCituYW1lc3BhY2UgcGxhY2Vob2xkZXJzIHsKK3VzaW5nIEJPT1NUX01QTF9BVVhfQURMX0JBUlJJRVJfTkFNRVNQQUNFOjpfOworfQorCit9fQorCisvLy8gYWd1cnQsIDE3L21hci8wMjogb25lIG1vcmUgcGxhY2Vob2xkZXIgZm9yIHRoZSBsYXN0ICdhcHBseSMnIAorLy8vIHNwZWNpYWxpemF0aW9uCitCT09TVF9NUExfQVVYX0FETF9CQVJSSUVSX05BTUVTUEFDRV9PUEVOCit0eXBlZGVmIGFyZzwxPiBfMTsKKworQk9PU1RfTVBMX0FVWF9BRExfQkFSUklFUl9OQU1FU1BBQ0VfQ0xPU0UKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCitCT09TVF9NUExfQVVYX0FSR19BRExfQkFSUklFUl9ERUNMKF8xKQorCituYW1lc3BhY2UgcGxhY2Vob2xkZXJzIHsKK3VzaW5nIEJPT1NUX01QTF9BVVhfQURMX0JBUlJJRVJfTkFNRVNQQUNFOjpfMTsKK30KKworfX0KK0JPT1NUX01QTF9BVVhfQURMX0JBUlJJRVJfTkFNRVNQQUNFX09QRU4KK3R5cGVkZWYgYXJnPDI+IF8yOworCitCT09TVF9NUExfQVVYX0FETF9CQVJSSUVSX05BTUVTUEFDRV9DTE9TRQorbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK0JPT1NUX01QTF9BVVhfQVJHX0FETF9CQVJSSUVSX0RFQ0woXzIpCisKK25hbWVzcGFjZSBwbGFjZWhvbGRlcnMgewordXNpbmcgQk9PU1RfTVBMX0FVWF9BRExfQkFSUklFUl9OQU1FU1BBQ0U6Ol8yOworfQorCit9fQorQk9PU1RfTVBMX0FVWF9BRExfQkFSUklFUl9OQU1FU1BBQ0VfT1BFTgordHlwZWRlZiBhcmc8Mz4gXzM7CisKK0JPT1NUX01QTF9BVVhfQURMX0JBUlJJRVJfTkFNRVNQQUNFX0NMT1NFCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKworQk9PU1RfTVBMX0FVWF9BUkdfQURMX0JBUlJJRVJfREVDTChfMykKKworbmFtZXNwYWNlIHBsYWNlaG9sZGVycyB7Cit1c2luZyBCT09TVF9NUExfQVVYX0FETF9CQVJSSUVSX05BTUVTUEFDRTo6XzM7Cit9CisKK319CitCT09TVF9NUExfQVVYX0FETF9CQVJSSUVSX05BTUVTUEFDRV9PUEVOCit0eXBlZGVmIGFyZzw0PiBfNDsKKworQk9PU1RfTVBMX0FVWF9BRExfQkFSUklFUl9OQU1FU1BBQ0VfQ0xPU0UKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCitCT09TVF9NUExfQVVYX0FSR19BRExfQkFSUklFUl9ERUNMKF80KQorCituYW1lc3BhY2UgcGxhY2Vob2xkZXJzIHsKK3VzaW5nIEJPT1NUX01QTF9BVVhfQURMX0JBUlJJRVJfTkFNRVNQQUNFOjpfNDsKK30KKworfX0KK0JPT1NUX01QTF9BVVhfQURMX0JBUlJJRVJfTkFNRVNQQUNFX09QRU4KK3R5cGVkZWYgYXJnPDU+IF81OworCitCT09TVF9NUExfQVVYX0FETF9CQVJSSUVSX05BTUVTUEFDRV9DTE9TRQorbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK0JPT1NUX01QTF9BVVhfQVJHX0FETF9CQVJSSUVSX0RFQ0woXzUpCisKK25hbWVzcGFjZSBwbGFjZWhvbGRlcnMgewordXNpbmcgQk9PU1RfTVBMX0FVWF9BRExfQkFSUklFUl9OQU1FU1BBQ0U6Ol81OworfQorCit9fQorQk9PU1RfTVBMX0FVWF9BRExfQkFSUklFUl9OQU1FU1BBQ0VfT1BFTgordHlwZWRlZiBhcmc8Nj4gXzY7CisKK0JPT1NUX01QTF9BVVhfQURMX0JBUlJJRVJfTkFNRVNQQUNFX0NMT1NFCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKworQk9PU1RfTVBMX0FVWF9BUkdfQURMX0JBUlJJRVJfREVDTChfNikKKworbmFtZXNwYWNlIHBsYWNlaG9sZGVycyB7Cit1c2luZyBCT09TVF9NUExfQVVYX0FETF9CQVJSSUVSX05BTUVTUEFDRTo6XzY7Cit9CisKK319CmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjX3ByZTU5MC9wbHVzLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2NfcHJlNTkwL3BsdXMuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE5YzA0ZDMKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjX3ByZTU5MC9wbHVzLmhwcApAQCAtMCwwICsxLDE0NiBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vICpQcmVwcm9jZXNzZWQqIHZlcnNpb24gb2YgdGhlIG1haW4gInBsdXMuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVGFnMQorICAgICwgdHlwZW5hbWUgVGFnMgorICAgID4KK3N0cnVjdCBwbHVzX2ltcGwKKyAgICA6IGlmX2M8CisgICAgICAgICAgKCBCT09TVF9NUExfQVVYX05FU1RFRF9WQUxVRV9XS05EKGludCwgVGFnMSkKKyAgICAgICAgICAgICAgPiBCT09TVF9NUExfQVVYX05FU1RFRF9WQUxVRV9XS05EKGludCwgVGFnMikKKyAgICAgICAgICAgICkKKworICAgICAgICAsIGF1eDo6Y2FzdDJuZF9pbXBsPCBwbHVzX2ltcGw8IFRhZzEsVGFnMSA+LFRhZzEsIFRhZzIgPgorICAgICAgICAsIGF1eDo6Y2FzdDFzdF9pbXBsPCBwbHVzX2ltcGw8IFRhZzIsVGFnMiA+LFRhZzEsIFRhZzIgPgorICAgICAgICA+Ojp0eXBlCit7Cit9OworCisvLy8gZm9yIERpZ2l0YWwgTWFycyBDKysvY29tcGlsZXJzIHdpdGggbm8gQ1RQUy9UVFAgc3VwcG9ydAordGVtcGxhdGU8PiBzdHJ1Y3QgcGx1c19pbXBsPCBuYSxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFRhZyA+IHN0cnVjdCBwbHVzX2ltcGw8IG5hLFRhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFRhZyA+IHN0cnVjdCBwbHVzX2ltcGw8IFRhZyxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFQgPiBzdHJ1Y3QgcGx1c190YWcKK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIFQ6OnRhZyB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4xKQorICAgICwgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMikKKyAgICAsIHR5cGVuYW1lIE4zID0gbmEsIHR5cGVuYW1lIE40ID0gbmEsIHR5cGVuYW1lIE41ID0gbmEKKyAgICA+CitzdHJ1Y3QgcGx1cworICAgIDogcGx1czwgcGx1czwgcGx1czwgcGx1czwgTjEsTjIgPiwgTjM+LCBOND4sIE41PgoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoCisgICAgICAgICAgNQorICAgICAgICAsIHBsdXMKKyAgICAgICAgLCAoIE4xLCBOMiwgTjMsIE40LCBONSApCisgICAgICAgICkKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgTjEsIHR5cGVuYW1lIE4yLCB0eXBlbmFtZSBOMywgdHlwZW5hbWUgTjQKKyAgICA+CitzdHJ1Y3QgcGx1czwgTjEsTjIsTjMsTjQsbmEgPgorCisgICAgOiBwbHVzPCBwbHVzPCBwbHVzPCBOMSxOMiA+LCBOMz4sIE40PgoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlRfU1BFQygKKyAgICAgICAgICA1CisgICAgICAgICwgcGx1cworICAgICAgICAsICggTjEsIE4yLCBOMywgTjQsIG5hICkKKyAgICAgICAgKQorfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBOMSwgdHlwZW5hbWUgTjIsIHR5cGVuYW1lIE4zCisgICAgPgorc3RydWN0IHBsdXM8IE4xLE4yLE4zLG5hLG5hID4KKworICAgIDogcGx1czwgcGx1czwgTjEsTjIgPiwgTjM+Cit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVF9TUEVDKAorICAgICAgICAgIDUKKyAgICAgICAgLCBwbHVzCisgICAgICAgICwgKCBOMSwgTjIsIE4zLCBuYSwgbmEgKQorICAgICAgICApCit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIE4xLCB0eXBlbmFtZSBOMgorICAgID4KK3N0cnVjdCBwbHVzPCBOMSxOMixuYSxuYSxuYSA+CisgICAgOiBwbHVzX2ltcGw8CisgICAgICAgICAgdHlwZW5hbWUgcGx1c190YWc8TjE+Ojp0eXBlCisgICAgICAgICwgdHlwZW5hbWUgcGx1c190YWc8TjI+Ojp0eXBlCisgICAgICAgID46OnRlbXBsYXRlIGFwcGx5PCBOMSxOMiA+Ojp0eXBlCit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVF9TUEVDKAorICAgICAgICAgIDUKKyAgICAgICAgLCBwbHVzCisgICAgICAgICwgKCBOMSwgTjIsIG5hLCBuYSwgbmEgKQorICAgICAgICApCisKK307CisKK0JPT1NUX01QTF9BVVhfTkFfU1BFQzIoMiwgNSwgcGx1cykKKworfX0KKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7Cit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcGx1c19pbXBsPCBpbnRlZ3JhbF9jX3RhZyxpbnRlZ3JhbF9jX3RhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIE4xLCB0eXBlbmFtZSBOMiA+IHN0cnVjdCBhcHBseQorCisgICAgICAgIDogaW50ZWdyYWxfYzwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgYXV4OjpsYXJnZXN0X2ludDwKKyAgICAgICAgICAgICAgICAgIHR5cGVuYW1lIE4xOjp2YWx1ZV90eXBlCisgICAgICAgICAgICAgICAgLCB0eXBlbmFtZSBOMjo6dmFsdWVfdHlwZQorICAgICAgICAgICAgICAgID46OnR5cGUKKyAgICAgICAgICAgICwgKCBCT09TVF9NUExfQVVYX1ZBTFVFX1dLTkQoTjEpOjp2YWx1ZQorICAgICAgICAgICAgICAgICAgKyBCT09TVF9NUExfQVVYX1ZBTFVFX1dLTkQoTjIpOjp2YWx1ZQorICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgID4KKyAgICB7CisgICAgfTsKK307CisKK319CmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjX3ByZTU5MC9xdW90ZS5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjX3ByZTU5MC9xdW90ZS5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2Y5ZDE4YgotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2NfcHJlNTkwL3F1b3RlLmhwcApAQCAtMCwwICsxLDExIEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwOAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gKlByZXByb2Nlc3NlZCogdmVyc2lvbiBvZiB0aGUgbWFpbiAicXVvdGUuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjY19wcmU1OTAvcmV2ZXJzZV9mb2xkX2ltcGwuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjY19wcmU1OTAvcmV2ZXJzZV9mb2xkX2ltcGwuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE2YTQzOGIKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjX3ByZTU5MC9yZXZlcnNlX2ZvbGRfaW1wbC5ocHAKQEAgLTAsMCArMSwyOTUgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyAqUHJlcHJvY2Vzc2VkKiB2ZXJzaW9uIG9mIHRoZSBtYWluICJyZXZlcnNlX2ZvbGRfaW1wbC5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsgbmFtZXNwYWNlIGF1eCB7CisKKy8vLyBmb3J3YXJkIGRlY2xhcmF0aW9uCisKK3RlbXBsYXRlPAorICAgICAgbG9uZyBOCisgICAgLCB0eXBlbmFtZSBGaXJzdAorICAgICwgdHlwZW5hbWUgTGFzdAorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEJhY2t3YXJkT3AKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgID4KK3N0cnVjdCByZXZlcnNlX2ZvbGRfaW1wbDsKKwordGVtcGxhdGU8IGxvbmcgTiA+CitzdHJ1Y3QgcmV2ZXJzZV9mb2xkX2NodW5rOworCit0ZW1wbGF0ZTw+IHN0cnVjdCByZXZlcnNlX2ZvbGRfY2h1bms8MD4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBGaXJzdAorICAgICAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICAgICAsIHR5cGVuYW1lIEJhY2t3YXJkT3AKKyAgICAgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIEZpcnN0IGl0ZXIwOworICAgICAgICB0eXBlZGVmIFN0YXRlIGZ3ZF9zdGF0ZTA7CisgICAgICAgIHR5cGVkZWYgZndkX3N0YXRlMCBia3dkX3N0YXRlMDsKKyAgICAgICAgdHlwZWRlZiBia3dkX3N0YXRlMCBzdGF0ZTsKKyAgICAgICAgdHlwZWRlZiBpdGVyMCBpdGVyYXRvcjsKKyAgICB9OworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgcmV2ZXJzZV9mb2xkX2NodW5rPDE+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAgICAgLCB0eXBlbmFtZSBCYWNrd2FyZE9wCisgICAgICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiBGaXJzdCBpdGVyMDsKKyAgICAgICAgdHlwZWRlZiBTdGF0ZSBmd2Rfc3RhdGUwOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLCBmd2Rfc3RhdGUwLCB0eXBlbmFtZSBkZXJlZjxpdGVyMD46OnR5cGUgPjo6dHlwZSBmd2Rfc3RhdGUxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMD46OnR5cGUgaXRlcjE7CisgICAgICAgIAorCisgICAgICAgIHR5cGVkZWYgZndkX3N0YXRlMSBia3dkX3N0YXRlMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEJhY2t3YXJkT3AsIGJrd2Rfc3RhdGUxLCB0eXBlbmFtZSBkZXJlZjxpdGVyMD46OnR5cGUgPjo6dHlwZSBia3dkX3N0YXRlMDsKKyAgICAgICAgdHlwZWRlZiBia3dkX3N0YXRlMCBzdGF0ZTsKKyAgICAgICAgdHlwZWRlZiBpdGVyMSBpdGVyYXRvcjsKKyAgICB9OworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgcmV2ZXJzZV9mb2xkX2NodW5rPDI+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAgICAgLCB0eXBlbmFtZSBCYWNrd2FyZE9wCisgICAgICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiBGaXJzdCBpdGVyMDsKKyAgICAgICAgdHlwZWRlZiBTdGF0ZSBmd2Rfc3RhdGUwOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLCBmd2Rfc3RhdGUwLCB0eXBlbmFtZSBkZXJlZjxpdGVyMD46OnR5cGUgPjo6dHlwZSBmd2Rfc3RhdGUxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMD46OnR5cGUgaXRlcjE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsIGZ3ZF9zdGF0ZTEsIHR5cGVuYW1lIGRlcmVmPGl0ZXIxPjo6dHlwZSA+Ojp0eXBlIGZ3ZF9zdGF0ZTI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIxPjo6dHlwZSBpdGVyMjsKKyAgICAgICAgCisKKyAgICAgICAgdHlwZWRlZiBmd2Rfc3RhdGUyIGJrd2Rfc3RhdGUyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgQmFja3dhcmRPcCwgYmt3ZF9zdGF0ZTIsIHR5cGVuYW1lIGRlcmVmPGl0ZXIxPjo6dHlwZSA+Ojp0eXBlIGJrd2Rfc3RhdGUxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgQmFja3dhcmRPcCwgYmt3ZF9zdGF0ZTEsIHR5cGVuYW1lIGRlcmVmPGl0ZXIwPjo6dHlwZSA+Ojp0eXBlIGJrd2Rfc3RhdGUwOworICAgICAgICAKKworICAgICAgICB0eXBlZGVmIGJrd2Rfc3RhdGUwIHN0YXRlOworICAgICAgICB0eXBlZGVmIGl0ZXIyIGl0ZXJhdG9yOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCByZXZlcnNlX2ZvbGRfY2h1bms8Mz4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBGaXJzdAorICAgICAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICAgICAsIHR5cGVuYW1lIEJhY2t3YXJkT3AKKyAgICAgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIEZpcnN0IGl0ZXIwOworICAgICAgICB0eXBlZGVmIFN0YXRlIGZ3ZF9zdGF0ZTA7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsIGZ3ZF9zdGF0ZTAsIHR5cGVuYW1lIGRlcmVmPGl0ZXIwPjo6dHlwZSA+Ojp0eXBlIGZ3ZF9zdGF0ZTE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIwPjo6dHlwZSBpdGVyMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCwgZndkX3N0YXRlMSwgdHlwZW5hbWUgZGVyZWY8aXRlcjE+Ojp0eXBlID46OnR5cGUgZndkX3N0YXRlMjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjE+Ojp0eXBlIGl0ZXIyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLCBmd2Rfc3RhdGUyLCB0eXBlbmFtZSBkZXJlZjxpdGVyMj46OnR5cGUgPjo6dHlwZSBmd2Rfc3RhdGUzOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMj46OnR5cGUgaXRlcjM7CisgICAgICAgIAorCisgICAgICAgIHR5cGVkZWYgZndkX3N0YXRlMyBia3dkX3N0YXRlMzsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEJhY2t3YXJkT3AsIGJrd2Rfc3RhdGUzLCB0eXBlbmFtZSBkZXJlZjxpdGVyMj46OnR5cGUgPjo6dHlwZSBia3dkX3N0YXRlMjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEJhY2t3YXJkT3AsIGJrd2Rfc3RhdGUyLCB0eXBlbmFtZSBkZXJlZjxpdGVyMT46OnR5cGUgPjo6dHlwZSBia3dkX3N0YXRlMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEJhY2t3YXJkT3AsIGJrd2Rfc3RhdGUxLCB0eXBlbmFtZSBkZXJlZjxpdGVyMD46OnR5cGUgPjo6dHlwZSBia3dkX3N0YXRlMDsKKyAgICAgICAgCisKKyAgICAgICAgdHlwZWRlZiBia3dkX3N0YXRlMCBzdGF0ZTsKKyAgICAgICAgdHlwZWRlZiBpdGVyMyBpdGVyYXRvcjsKKyAgICB9OworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgcmV2ZXJzZV9mb2xkX2NodW5rPDQ+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAgICAgLCB0eXBlbmFtZSBCYWNrd2FyZE9wCisgICAgICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiBGaXJzdCBpdGVyMDsKKyAgICAgICAgdHlwZWRlZiBTdGF0ZSBmd2Rfc3RhdGUwOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLCBmd2Rfc3RhdGUwLCB0eXBlbmFtZSBkZXJlZjxpdGVyMD46OnR5cGUgPjo6dHlwZSBmd2Rfc3RhdGUxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMD46OnR5cGUgaXRlcjE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsIGZ3ZF9zdGF0ZTEsIHR5cGVuYW1lIGRlcmVmPGl0ZXIxPjo6dHlwZSA+Ojp0eXBlIGZ3ZF9zdGF0ZTI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIxPjo6dHlwZSBpdGVyMjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCwgZndkX3N0YXRlMiwgdHlwZW5hbWUgZGVyZWY8aXRlcjI+Ojp0eXBlID46OnR5cGUgZndkX3N0YXRlMzsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjI+Ojp0eXBlIGl0ZXIzOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLCBmd2Rfc3RhdGUzLCB0eXBlbmFtZSBkZXJlZjxpdGVyMz46OnR5cGUgPjo6dHlwZSBmd2Rfc3RhdGU0OworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMz46OnR5cGUgaXRlcjQ7CisgICAgICAgIAorCisgICAgICAgIHR5cGVkZWYgZndkX3N0YXRlNCBia3dkX3N0YXRlNDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEJhY2t3YXJkT3AsIGJrd2Rfc3RhdGU0LCB0eXBlbmFtZSBkZXJlZjxpdGVyMz46OnR5cGUgPjo6dHlwZSBia3dkX3N0YXRlMzsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEJhY2t3YXJkT3AsIGJrd2Rfc3RhdGUzLCB0eXBlbmFtZSBkZXJlZjxpdGVyMj46OnR5cGUgPjo6dHlwZSBia3dkX3N0YXRlMjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEJhY2t3YXJkT3AsIGJrd2Rfc3RhdGUyLCB0eXBlbmFtZSBkZXJlZjxpdGVyMT46OnR5cGUgPjo6dHlwZSBia3dkX3N0YXRlMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEJhY2t3YXJkT3AsIGJrd2Rfc3RhdGUxLCB0eXBlbmFtZSBkZXJlZjxpdGVyMD46OnR5cGUgPjo6dHlwZSBia3dkX3N0YXRlMDsKKyAgICAgICAgCisKKyAgICAgICAgdHlwZWRlZiBia3dkX3N0YXRlMCBzdGF0ZTsKKyAgICAgICAgdHlwZWRlZiBpdGVyNCBpdGVyYXRvcjsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IGxvbmcgTiA+CitzdHJ1Y3QgcmV2ZXJzZV9mb2xkX2NodW5rCit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAgICAgLCB0eXBlbmFtZSBCYWNrd2FyZE9wCisgICAgICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiBGaXJzdCBpdGVyMDsKKyAgICAgICAgdHlwZWRlZiBTdGF0ZSBmd2Rfc3RhdGUwOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLCBmd2Rfc3RhdGUwLCB0eXBlbmFtZSBkZXJlZjxpdGVyMD46OnR5cGUgPjo6dHlwZSBmd2Rfc3RhdGUxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMD46OnR5cGUgaXRlcjE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsIGZ3ZF9zdGF0ZTEsIHR5cGVuYW1lIGRlcmVmPGl0ZXIxPjo6dHlwZSA+Ojp0eXBlIGZ3ZF9zdGF0ZTI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIxPjo6dHlwZSBpdGVyMjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCwgZndkX3N0YXRlMiwgdHlwZW5hbWUgZGVyZWY8aXRlcjI+Ojp0eXBlID46OnR5cGUgZndkX3N0YXRlMzsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjI+Ojp0eXBlIGl0ZXIzOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLCBmd2Rfc3RhdGUzLCB0eXBlbmFtZSBkZXJlZjxpdGVyMz46OnR5cGUgPjo6dHlwZSBmd2Rfc3RhdGU0OworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMz46OnR5cGUgaXRlcjQ7CisgICAgICAgIAorCisgICAgICAgIHR5cGVkZWYgcmV2ZXJzZV9mb2xkX2ltcGw8CisgICAgICAgICAgICAgICggKE4gLSA0KSA8IDAgPyAwIDogTiAtIDQgKQorICAgICAgICAgICAgLCBpdGVyNAorICAgICAgICAgICAgLCBMYXN0CisgICAgICAgICAgICAsIGZ3ZF9zdGF0ZTQKKyAgICAgICAgICAgICwgQmFja3dhcmRPcAorICAgICAgICAgICAgLCBGb3J3YXJkT3AKKyAgICAgICAgICAgID4gbmVzdGVkX2NodW5rOworCisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbmVzdGVkX2NodW5rOjpzdGF0ZSBia3dkX3N0YXRlNDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEJhY2t3YXJkT3AsIGJrd2Rfc3RhdGU0LCB0eXBlbmFtZSBkZXJlZjxpdGVyMz46OnR5cGUgPjo6dHlwZSBia3dkX3N0YXRlMzsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEJhY2t3YXJkT3AsIGJrd2Rfc3RhdGUzLCB0eXBlbmFtZSBkZXJlZjxpdGVyMj46OnR5cGUgPjo6dHlwZSBia3dkX3N0YXRlMjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEJhY2t3YXJkT3AsIGJrd2Rfc3RhdGUyLCB0eXBlbmFtZSBkZXJlZjxpdGVyMT46OnR5cGUgPjo6dHlwZSBia3dkX3N0YXRlMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEJhY2t3YXJkT3AsIGJrd2Rfc3RhdGUxLCB0eXBlbmFtZSBkZXJlZjxpdGVyMD46OnR5cGUgPjo6dHlwZSBia3dkX3N0YXRlMDsKKyAgICAgICAgCisKKyAgICAgICAgdHlwZWRlZiBia3dkX3N0YXRlMCBzdGF0ZTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBuZXN0ZWRfY2h1bms6Oml0ZXJhdG9yIGl0ZXJhdG9yOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICwgdHlwZW5hbWUgQmFja3dhcmRPcAorICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgPgorc3RydWN0IHJldmVyc2VfZm9sZF9zdGVwOworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgPgorc3RydWN0IHJldmVyc2VfZm9sZF9udWxsX3N0ZXAKK3sKKyAgICB0eXBlZGVmIExhc3QgaXRlcmF0b3I7CisgICAgdHlwZWRlZiBTdGF0ZSBzdGF0ZTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCByZXZlcnNlX2ZvbGRfY2h1bms8IC0xID4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBGaXJzdAorICAgICAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICAgICAsIHR5cGVuYW1lIEJhY2t3YXJkT3AKKyAgICAgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGlmXzwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgaXNfc2FtZTwgRmlyc3QsTGFzdCA+Ojp0eXBlCisgICAgICAgICAgICAsIHJldmVyc2VfZm9sZF9udWxsX3N0ZXA8IExhc3QsU3RhdGUgPgorICAgICAgICAgICAgLCByZXZlcnNlX2ZvbGRfc3RlcDwgRmlyc3QsTGFzdCxTdGF0ZSxCYWNrd2FyZE9wLEZvcndhcmRPcCA+CisgICAgICAgICAgICA+Ojp0eXBlIHJlc187CisKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByZXNfOjpzdGF0ZSBzdGF0ZTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByZXNfOjppdGVyYXRvciBpdGVyYXRvcjsKKyAgICB9OworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGaXJzdAorICAgICwgdHlwZW5hbWUgTGFzdAorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEJhY2t3YXJkT3AKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgID4KK3N0cnVjdCByZXZlcnNlX2ZvbGRfc3RlcAoreworICAgIHR5cGVkZWYgcmV2ZXJzZV9mb2xkX2NodW5rPCAtMSA+Ojp0ZW1wbGF0ZSByZXN1bHRfPAorICAgICAgICAgIHR5cGVuYW1lIG1wbDo6bmV4dDxGaXJzdD46OnR5cGUKKyAgICAgICAgLCBMYXN0CisgICAgICAgICwgdHlwZW5hbWUgYXBwbHkyPEZvcndhcmRPcCxTdGF0ZSwgdHlwZW5hbWUgZGVyZWY8Rmlyc3Q+Ojp0eXBlPjo6dHlwZQorICAgICAgICAsIEJhY2t3YXJkT3AKKyAgICAgICAgLCBGb3J3YXJkT3AKKyAgICAgICAgPiBuZXN0ZWRfc3RlcDsKKworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPAorICAgICAgICAgIEJhY2t3YXJkT3AKKyAgICAgICAgLCB0eXBlbmFtZSBuZXN0ZWRfc3RlcDo6c3RhdGUKKyAgICAgICAgLCB0eXBlbmFtZSBkZXJlZjxGaXJzdD46OnR5cGUKKyAgICAgICAgPjo6dHlwZSBzdGF0ZTsKKworICAgIHR5cGVkZWYgdHlwZW5hbWUgbmVzdGVkX3N0ZXA6Oml0ZXJhdG9yIGl0ZXJhdG9yOworfTsKKwordGVtcGxhdGU8CisgICAgICBsb25nIE4KKyAgICAsIHR5cGVuYW1lIEZpcnN0CisgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICwgdHlwZW5hbWUgQmFja3dhcmRPcAorICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgPgorc3RydWN0IHJldmVyc2VfZm9sZF9pbXBsCisgICAgOiByZXZlcnNlX2ZvbGRfY2h1bms8Tj4KKyAgICAgICAgOjp0ZW1wbGF0ZSByZXN1bHRfPCBGaXJzdCxMYXN0LFN0YXRlLEJhY2t3YXJkT3AsRm9yd2FyZE9wID4KK3sKK307CisKK319fQpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjY19wcmU1OTAvcmV2ZXJzZV9pdGVyX2ZvbGRfaW1wbC5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjX3ByZTU5MC9yZXZlcnNlX2l0ZXJfZm9sZF9pbXBsLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44Yzk4MDljCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjY19wcmU1OTAvcmV2ZXJzZV9pdGVyX2ZvbGRfaW1wbC5ocHAKQEAgLTAsMCArMSwyOTUgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyAqUHJlcHJvY2Vzc2VkKiB2ZXJzaW9uIG9mIHRoZSBtYWluICJyZXZlcnNlX2l0ZXJfZm9sZF9pbXBsLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeyBuYW1lc3BhY2UgYXV4IHsKKworLy8vIGZvcndhcmQgZGVjbGFyYXRpb24KKwordGVtcGxhdGU8CisgICAgICBsb25nIE4KKyAgICAsIHR5cGVuYW1lIEZpcnN0CisgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICwgdHlwZW5hbWUgQmFja3dhcmRPcAorICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgPgorc3RydWN0IHJldmVyc2VfaXRlcl9mb2xkX2ltcGw7CisKK3RlbXBsYXRlPCBsb25nIE4gPgorc3RydWN0IHJldmVyc2VfaXRlcl9mb2xkX2NodW5rOworCit0ZW1wbGF0ZTw+IHN0cnVjdCByZXZlcnNlX2l0ZXJfZm9sZF9jaHVuazwwPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgICAgICwgdHlwZW5hbWUgTGFzdAorICAgICAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgICAgICwgdHlwZW5hbWUgQmFja3dhcmRPcAorICAgICAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgRmlyc3QgaXRlcjA7CisgICAgICAgIHR5cGVkZWYgU3RhdGUgZndkX3N0YXRlMDsKKyAgICAgICAgdHlwZWRlZiBmd2Rfc3RhdGUwIGJrd2Rfc3RhdGUwOworICAgICAgICB0eXBlZGVmIGJrd2Rfc3RhdGUwIHN0YXRlOworICAgICAgICB0eXBlZGVmIGl0ZXIwIGl0ZXJhdG9yOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCByZXZlcnNlX2l0ZXJfZm9sZF9jaHVuazwxPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgICAgICwgdHlwZW5hbWUgTGFzdAorICAgICAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgICAgICwgdHlwZW5hbWUgQmFja3dhcmRPcAorICAgICAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgRmlyc3QgaXRlcjA7CisgICAgICAgIHR5cGVkZWYgU3RhdGUgZndkX3N0YXRlMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCxmd2Rfc3RhdGUwLGl0ZXIwID46OnR5cGUgZndkX3N0YXRlMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjA+Ojp0eXBlIGl0ZXIxOworICAgICAgICAKKworICAgICAgICB0eXBlZGVmIGZ3ZF9zdGF0ZTEgYmt3ZF9zdGF0ZTE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLGJrd2Rfc3RhdGUxLGl0ZXIwID46OnR5cGUgYmt3ZF9zdGF0ZTA7CisgICAgICAgIHR5cGVkZWYgYmt3ZF9zdGF0ZTAgc3RhdGU7CisgICAgICAgIHR5cGVkZWYgaXRlcjEgaXRlcmF0b3I7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4gc3RydWN0IHJldmVyc2VfaXRlcl9mb2xkX2NodW5rPDI+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAgICAgLCB0eXBlbmFtZSBCYWNrd2FyZE9wCisgICAgICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiBGaXJzdCBpdGVyMDsKKyAgICAgICAgdHlwZWRlZiBTdGF0ZSBmd2Rfc3RhdGUwOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLGZ3ZF9zdGF0ZTAsaXRlcjAgPjo6dHlwZSBmd2Rfc3RhdGUxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMD46OnR5cGUgaXRlcjE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsZndkX3N0YXRlMSxpdGVyMSA+Ojp0eXBlIGZ3ZF9zdGF0ZTI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIxPjo6dHlwZSBpdGVyMjsKKyAgICAgICAgCisKKyAgICAgICAgdHlwZWRlZiBmd2Rfc3RhdGUyIGJrd2Rfc3RhdGUyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgQmFja3dhcmRPcCxia3dkX3N0YXRlMixpdGVyMSA+Ojp0eXBlIGJrd2Rfc3RhdGUxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgQmFja3dhcmRPcCxia3dkX3N0YXRlMSxpdGVyMCA+Ojp0eXBlIGJrd2Rfc3RhdGUwOworICAgICAgICAKKworICAgICAgICB0eXBlZGVmIGJrd2Rfc3RhdGUwIHN0YXRlOworICAgICAgICB0eXBlZGVmIGl0ZXIyIGl0ZXJhdG9yOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCByZXZlcnNlX2l0ZXJfZm9sZF9jaHVuazwzPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgICAgICwgdHlwZW5hbWUgTGFzdAorICAgICAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgICAgICwgdHlwZW5hbWUgQmFja3dhcmRPcAorICAgICAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgRmlyc3QgaXRlcjA7CisgICAgICAgIHR5cGVkZWYgU3RhdGUgZndkX3N0YXRlMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCxmd2Rfc3RhdGUwLGl0ZXIwID46OnR5cGUgZndkX3N0YXRlMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjA+Ojp0eXBlIGl0ZXIxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLGZ3ZF9zdGF0ZTEsaXRlcjEgPjo6dHlwZSBmd2Rfc3RhdGUyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMT46OnR5cGUgaXRlcjI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsZndkX3N0YXRlMixpdGVyMiA+Ojp0eXBlIGZ3ZF9zdGF0ZTM7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIyPjo6dHlwZSBpdGVyMzsKKyAgICAgICAgCisKKyAgICAgICAgdHlwZWRlZiBmd2Rfc3RhdGUzIGJrd2Rfc3RhdGUzOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgQmFja3dhcmRPcCxia3dkX3N0YXRlMyxpdGVyMiA+Ojp0eXBlIGJrd2Rfc3RhdGUyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgQmFja3dhcmRPcCxia3dkX3N0YXRlMixpdGVyMSA+Ojp0eXBlIGJrd2Rfc3RhdGUxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgQmFja3dhcmRPcCxia3dkX3N0YXRlMSxpdGVyMCA+Ojp0eXBlIGJrd2Rfc3RhdGUwOworICAgICAgICAKKworICAgICAgICB0eXBlZGVmIGJrd2Rfc3RhdGUwIHN0YXRlOworICAgICAgICB0eXBlZGVmIGl0ZXIzIGl0ZXJhdG9yOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCByZXZlcnNlX2l0ZXJfZm9sZF9jaHVuazw0PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgICAgICwgdHlwZW5hbWUgTGFzdAorICAgICAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgICAgICwgdHlwZW5hbWUgQmFja3dhcmRPcAorICAgICAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgRmlyc3QgaXRlcjA7CisgICAgICAgIHR5cGVkZWYgU3RhdGUgZndkX3N0YXRlMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCxmd2Rfc3RhdGUwLGl0ZXIwID46OnR5cGUgZndkX3N0YXRlMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjA+Ojp0eXBlIGl0ZXIxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLGZ3ZF9zdGF0ZTEsaXRlcjEgPjo6dHlwZSBmd2Rfc3RhdGUyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMT46OnR5cGUgaXRlcjI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsZndkX3N0YXRlMixpdGVyMiA+Ojp0eXBlIGZ3ZF9zdGF0ZTM7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIyPjo6dHlwZSBpdGVyMzsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCxmd2Rfc3RhdGUzLGl0ZXIzID46OnR5cGUgZndkX3N0YXRlNDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjM+Ojp0eXBlIGl0ZXI0OworICAgICAgICAKKworICAgICAgICB0eXBlZGVmIGZ3ZF9zdGF0ZTQgYmt3ZF9zdGF0ZTQ7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLGJrd2Rfc3RhdGU0LGl0ZXIzID46OnR5cGUgYmt3ZF9zdGF0ZTM7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLGJrd2Rfc3RhdGUzLGl0ZXIyID46OnR5cGUgYmt3ZF9zdGF0ZTI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLGJrd2Rfc3RhdGUyLGl0ZXIxID46OnR5cGUgYmt3ZF9zdGF0ZTE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLGJrd2Rfc3RhdGUxLGl0ZXIwID46OnR5cGUgYmt3ZF9zdGF0ZTA7CisgICAgICAgIAorCisgICAgICAgIHR5cGVkZWYgYmt3ZF9zdGF0ZTAgc3RhdGU7CisgICAgICAgIHR5cGVkZWYgaXRlcjQgaXRlcmF0b3I7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCBsb25nIE4gPgorc3RydWN0IHJldmVyc2VfaXRlcl9mb2xkX2NodW5rCit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAgICAgLCB0eXBlbmFtZSBCYWNrd2FyZE9wCisgICAgICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiBGaXJzdCBpdGVyMDsKKyAgICAgICAgdHlwZWRlZiBTdGF0ZSBmd2Rfc3RhdGUwOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLGZ3ZF9zdGF0ZTAsaXRlcjAgPjo6dHlwZSBmd2Rfc3RhdGUxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMD46OnR5cGUgaXRlcjE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsZndkX3N0YXRlMSxpdGVyMSA+Ojp0eXBlIGZ3ZF9zdGF0ZTI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIxPjo6dHlwZSBpdGVyMjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCxmd2Rfc3RhdGUyLGl0ZXIyID46OnR5cGUgZndkX3N0YXRlMzsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjI+Ojp0eXBlIGl0ZXIzOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLGZ3ZF9zdGF0ZTMsaXRlcjMgPjo6dHlwZSBmd2Rfc3RhdGU0OworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMz46OnR5cGUgaXRlcjQ7CisgICAgICAgIAorCisgICAgICAgIHR5cGVkZWYgcmV2ZXJzZV9pdGVyX2ZvbGRfaW1wbDwKKyAgICAgICAgICAgICAgKCAoTiAtIDQpIDwgMCA/IDAgOiBOIC0gNCApCisgICAgICAgICAgICAsIGl0ZXI0CisgICAgICAgICAgICAsIExhc3QKKyAgICAgICAgICAgICwgZndkX3N0YXRlNAorICAgICAgICAgICAgLCBCYWNrd2FyZE9wCisgICAgICAgICAgICAsIEZvcndhcmRPcAorICAgICAgICAgICAgPiBuZXN0ZWRfY2h1bms7CisKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBuZXN0ZWRfY2h1bms6OnN0YXRlIGJrd2Rfc3RhdGU0OworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgQmFja3dhcmRPcCxia3dkX3N0YXRlNCxpdGVyMyA+Ojp0eXBlIGJrd2Rfc3RhdGUzOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgQmFja3dhcmRPcCxia3dkX3N0YXRlMyxpdGVyMiA+Ojp0eXBlIGJrd2Rfc3RhdGUyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgQmFja3dhcmRPcCxia3dkX3N0YXRlMixpdGVyMSA+Ojp0eXBlIGJrd2Rfc3RhdGUxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgQmFja3dhcmRPcCxia3dkX3N0YXRlMSxpdGVyMCA+Ojp0eXBlIGJrd2Rfc3RhdGUwOworICAgICAgICAKKworICAgICAgICB0eXBlZGVmIGJrd2Rfc3RhdGUwIHN0YXRlOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG5lc3RlZF9jaHVuazo6aXRlcmF0b3IgaXRlcmF0b3I7CisgICAgfTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBCYWNrd2FyZE9wCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+CitzdHJ1Y3QgcmV2ZXJzZV9pdGVyX2ZvbGRfc3RlcDsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBMYXN0CisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgID4KK3N0cnVjdCByZXZlcnNlX2l0ZXJfZm9sZF9udWxsX3N0ZXAKK3sKKyAgICB0eXBlZGVmIExhc3QgaXRlcmF0b3I7CisgICAgdHlwZWRlZiBTdGF0ZSBzdGF0ZTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCByZXZlcnNlX2l0ZXJfZm9sZF9jaHVuazwgLTEgPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgICAgICwgdHlwZW5hbWUgTGFzdAorICAgICAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgICAgICwgdHlwZW5hbWUgQmFja3dhcmRPcAorICAgICAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgaWZfPAorICAgICAgICAgICAgICB0eXBlbmFtZSBpc19zYW1lPCBGaXJzdCxMYXN0ID46OnR5cGUKKyAgICAgICAgICAgICwgcmV2ZXJzZV9pdGVyX2ZvbGRfbnVsbF9zdGVwPCBMYXN0LFN0YXRlID4KKyAgICAgICAgICAgICwgcmV2ZXJzZV9pdGVyX2ZvbGRfc3RlcDwgRmlyc3QsTGFzdCxTdGF0ZSxCYWNrd2FyZE9wLEZvcndhcmRPcCA+CisgICAgICAgICAgICA+Ojp0eXBlIHJlc187CisKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByZXNfOjpzdGF0ZSBzdGF0ZTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByZXNfOjppdGVyYXRvciBpdGVyYXRvcjsKKyAgICB9OworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGaXJzdAorICAgICwgdHlwZW5hbWUgTGFzdAorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEJhY2t3YXJkT3AKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgID4KK3N0cnVjdCByZXZlcnNlX2l0ZXJfZm9sZF9zdGVwCit7CisgICAgdHlwZWRlZiByZXZlcnNlX2l0ZXJfZm9sZF9jaHVuazwgLTEgPjo6dGVtcGxhdGUgcmVzdWx0XzwKKyAgICAgICAgICB0eXBlbmFtZSBtcGw6Om5leHQ8Rmlyc3Q+Ojp0eXBlCisgICAgICAgICwgTGFzdAorICAgICAgICAsIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLFN0YXRlLEZpcnN0ID46OnR5cGUKKyAgICAgICAgLCBCYWNrd2FyZE9wCisgICAgICAgICwgRm9yd2FyZE9wCisgICAgICAgID4gbmVzdGVkX3N0ZXA7CisKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwKKyAgICAgICAgICBCYWNrd2FyZE9wCisgICAgICAgICwgdHlwZW5hbWUgbmVzdGVkX3N0ZXA6OnN0YXRlCisgICAgICAgICwgRmlyc3QKKyAgICAgICAgPjo6dHlwZSBzdGF0ZTsKKworICAgIHR5cGVkZWYgdHlwZW5hbWUgbmVzdGVkX3N0ZXA6Oml0ZXJhdG9yIGl0ZXJhdG9yOworfTsKKwordGVtcGxhdGU8CisgICAgICBsb25nIE4KKyAgICAsIHR5cGVuYW1lIEZpcnN0CisgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICwgdHlwZW5hbWUgQmFja3dhcmRPcAorICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgPgorc3RydWN0IHJldmVyc2VfaXRlcl9mb2xkX2ltcGwKKyAgICA6IHJldmVyc2VfaXRlcl9mb2xkX2NodW5rPE4+CisgICAgICAgIDo6dGVtcGxhdGUgcmVzdWx0XzwgRmlyc3QsTGFzdCxTdGF0ZSxCYWNrd2FyZE9wLEZvcndhcmRPcCA+Cit7Cit9OworCit9fX0KZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2NfcHJlNTkwL3NldC5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjX3ByZTU5MC9zZXQuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmViYzQ0ZjkKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjX3ByZTU5MC9zZXQuaHBwCkBAIC0wLDAgKzEsMzIzIEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gKlByZXByb2Nlc3NlZCogdmVyc2lvbiBvZiB0aGUgbWFpbiAic2V0LmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwID0gbmEsIHR5cGVuYW1lIFQxID0gbmEsIHR5cGVuYW1lIFQyID0gbmEsIHR5cGVuYW1lIFQzID0gbmEKKyAgICAsIHR5cGVuYW1lIFQ0ID0gbmEsIHR5cGVuYW1lIFQ1ID0gbmEsIHR5cGVuYW1lIFQ2ID0gbmEsIHR5cGVuYW1lIFQ3ID0gbmEKKyAgICAsIHR5cGVuYW1lIFQ4ID0gbmEsIHR5cGVuYW1lIFQ5ID0gbmEsIHR5cGVuYW1lIFQxMCA9IG5hLCB0eXBlbmFtZSBUMTEgPSBuYQorICAgICwgdHlwZW5hbWUgVDEyID0gbmEsIHR5cGVuYW1lIFQxMyA9IG5hLCB0eXBlbmFtZSBUMTQgPSBuYQorICAgICwgdHlwZW5hbWUgVDE1ID0gbmEsIHR5cGVuYW1lIFQxNiA9IG5hLCB0eXBlbmFtZSBUMTcgPSBuYQorICAgICwgdHlwZW5hbWUgVDE4ID0gbmEsIHR5cGVuYW1lIFQxOSA9IG5hCisgICAgPgorc3RydWN0IHNldDsKKwordGVtcGxhdGU8CisgICAgIAorICAgID4KK3N0cnVjdCBzZXQ8CisgICAgICAgICAgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBzZXQwPCAgPgoreworICAgIHR5cGVkZWYgc2V0MDwgID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAKKyAgICA+CitzdHJ1Y3Qgc2V0PAorICAgICAgICAgIFQwLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogc2V0MTxUMD4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDE8VDA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMQorICAgID4KK3N0cnVjdCBzZXQ8CisgICAgICAgICAgVDAsIFQxLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBzZXQyPCBUMCxUMSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQyPCBUMCxUMSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIKKyAgICA+CitzdHJ1Y3Qgc2V0PAorICAgICAgICAgIFQwLCBUMSwgVDIsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogc2V0MzwgVDAsVDEsVDIgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0MzwgVDAsVDEsVDIgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMworICAgID4KK3N0cnVjdCBzZXQ8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBzZXQ0PCBUMCxUMSxUMixUMyA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQ0PCBUMCxUMSxUMixUMyA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgID4KK3N0cnVjdCBzZXQ8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBzZXQ1PCBUMCxUMSxUMixUMyxUNCA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQ1PCBUMCxUMSxUMixUMyxUNCA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUKKyAgICA+CitzdHJ1Y3Qgc2V0PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogc2V0NjwgVDAsVDEsVDIsVDMsVDQsVDUgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0NjwgVDAsVDEsVDIsVDMsVDQsVDUgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNgorICAgID4KK3N0cnVjdCBzZXQ8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBzZXQ3PCBUMCxUMSxUMixUMyxUNCxUNSxUNiA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQ3PCBUMCxUMSxUMixUMyxUNCxUNSxUNiA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNworICAgID4KK3N0cnVjdCBzZXQ8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBzZXQ4PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQ4PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgKKyAgICA+CitzdHJ1Y3Qgc2V0PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogc2V0OTwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDggPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0OTwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDggPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgID4KK3N0cnVjdCBzZXQ8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBzZXQxMDwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDkgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0MTA8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMAorICAgID4KK3N0cnVjdCBzZXQ8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogc2V0MTE8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQxMTwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExCisgICAgPgorc3RydWN0IHNldDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogc2V0MTI8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0MTI8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMgorICAgID4KK3N0cnVjdCBzZXQ8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBzZXQxMzwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0MTM8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMworICAgID4KK3N0cnVjdCBzZXQ8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogc2V0MTQ8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQxNDwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgPgorc3RydWN0IHNldDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogc2V0MTU8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDE1PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMsVDE0ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgLCB0eXBlbmFtZSBUMTUKKyAgICA+CitzdHJ1Y3Qgc2V0PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogc2V0MTY8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDE2PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMsVDE0LFQxNSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYKKyAgICA+CitzdHJ1Y3Qgc2V0PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgVDE2LCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHNldDE3PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgVDE2CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDE3PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMsVDE0LFQxNSxUMTYgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcKKyAgICA+CitzdHJ1Y3Qgc2V0PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgVDE2LCBUMTcsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBzZXQxODwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgLCBUMTUsIFQxNiwgVDE3CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDE4PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMsVDE0LFQxNSxUMTYsVDE3ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgKKyAgICA+CitzdHJ1Y3Qgc2V0PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgVDE2LCBUMTcsIFQxOCwgbmEKKyAgICAgICAgPgorICAgIDogc2V0MTk8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1LCBUMTYsIFQxNywgVDE4CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDE5PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMsVDE0LFQxNSxUMTYsVDE3LFQxOCA+Ojp0eXBlIHR5cGU7Cit9OworCisvLy8gcHJpbWFyeSB0ZW1wbGF0ZSAobm90IGEgc3BlY2lhbGl6YXRpb24hKQorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICA+CitzdHJ1Y3Qgc2V0CisgICAgOiBzZXQyMDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgLCBUMTUsIFQxNiwgVDE3LCBUMTgsIFQxOQorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQyMDwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzLFQxNCxUMTUsVDE2LFQxNyxUMTgsVDE5ID46OnR5cGUgdHlwZTsKK307CisKK319CisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2NfcHJlNTkwL3NldF9jLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2NfcHJlNTkwL3NldF9jLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNzI0OWI2Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjY19wcmU1OTAvc2V0X2MuaHBwCkBAIC0wLDAgKzEsMzI4IEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gKlByZXByb2Nlc3NlZCogdmVyc2lvbiBvZiB0aGUgbWFpbiAic2V0X2MuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCA9IExPTkdfTUFYLCBsb25nIEMxID0gTE9OR19NQVgsIGxvbmcgQzIgPSBMT05HX01BWAorICAgICwgbG9uZyBDMyA9IExPTkdfTUFYLCBsb25nIEM0ID0gTE9OR19NQVgsIGxvbmcgQzUgPSBMT05HX01BWAorICAgICwgbG9uZyBDNiA9IExPTkdfTUFYLCBsb25nIEM3ID0gTE9OR19NQVgsIGxvbmcgQzggPSBMT05HX01BWAorICAgICwgbG9uZyBDOSA9IExPTkdfTUFYLCBsb25nIEMxMCA9IExPTkdfTUFYLCBsb25nIEMxMSA9IExPTkdfTUFYCisgICAgLCBsb25nIEMxMiA9IExPTkdfTUFYLCBsb25nIEMxMyA9IExPTkdfTUFYLCBsb25nIEMxNCA9IExPTkdfTUFYCisgICAgLCBsb25nIEMxNSA9IExPTkdfTUFYLCBsb25nIEMxNiA9IExPTkdfTUFYLCBsb25nIEMxNyA9IExPTkdfTUFYCisgICAgLCBsb25nIEMxOCA9IExPTkdfTUFYLCBsb25nIEMxOSA9IExPTkdfTUFYCisgICAgPgorc3RydWN0IHNldF9jOworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQKKyAgICA+CitzdHJ1Y3Qgc2V0X2M8CisgICAgICAgICAgVCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogc2V0MF9jPFQ+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQwX2M8VD46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMAorICAgID4KK3N0cnVjdCBzZXRfYzwKKyAgICAgICAgICBULCBDMCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiBzZXQxX2M8IFQsQzAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0MV9jPCBULEMwID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMQorICAgID4KK3N0cnVjdCBzZXRfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiBzZXQyX2M8IFQsQzAsQzEgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0Ml9jPCBULEMwLEMxID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMgorICAgID4KK3N0cnVjdCBzZXRfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiBzZXQzX2M8IFQsQzAsQzEsQzIgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0M19jPCBULEMwLEMxLEMyID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMworICAgID4KK3N0cnVjdCBzZXRfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiBzZXQ0X2M8IFQsQzAsQzEsQzIsQzMgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0NF9jPCBULEMwLEMxLEMyLEMzID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNAorICAgID4KK3N0cnVjdCBzZXRfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiBzZXQ1X2M8IFQsQzAsQzEsQzIsQzMsQzQgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0NV9jPCBULEMwLEMxLEMyLEMzLEM0ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgID4KK3N0cnVjdCBzZXRfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiBzZXQ2X2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0Nl9jPCBULEMwLEMxLEMyLEMzLEM0LEM1ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICwgbG9uZyBDNgorICAgID4KK3N0cnVjdCBzZXRfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiBzZXQ3X2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0N19jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICwgbG9uZyBDNiwgbG9uZyBDNworICAgID4KK3N0cnVjdCBzZXRfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiBzZXQ4X2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0OF9jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2LEM3ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOAorICAgID4KK3N0cnVjdCBzZXRfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiBzZXQ5X2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcsQzggPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0OV9jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2LEM3LEM4ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOQorICAgID4KK3N0cnVjdCBzZXRfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiBzZXQxMF9jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2LEM3LEM4LEM5ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDEwX2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcsQzgsQzkgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMAorICAgID4KK3N0cnVjdCBzZXRfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiBzZXQxMV9jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2LEM3LEM4LEM5LEMxMCA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQxMV9jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2LEM3LEM4LEM5LEMxMCA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMQorICAgID4KK3N0cnVjdCBzZXRfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogc2V0MTJfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyxDOCxDOSxDMTAsQzExID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDEyX2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcsQzgsQzksQzEwLEMxMSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICA+CitzdHJ1Y3Qgc2V0X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBDMTIsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiBzZXQxM19jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2LEM3LEM4LEM5LEMxMCxDMTEsQzEyID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDEzX2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcsQzgsQzksQzEwLEMxMSxDMTIgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgLCBsb25nIEMxMworICAgID4KK3N0cnVjdCBzZXRfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIEMxMiwgQzEzCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiBzZXQxNF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0MTRfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyxDOCxDOSxDMTAsQzExLEMxMixDMTMgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgLCBsb25nIEMxMywgbG9uZyBDMTQKKyAgICA+CitzdHJ1Y3Qgc2V0X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBDMTIsIEMxMywgQzE0CisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IHNldDE1X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBDMTIsIEMxMywgQzE0CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDE1X2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcsQzgsQzksQzEwLEMxMSxDMTIsQzEzLEMxNCA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAsIGxvbmcgQzEzLCBsb25nIEMxNCwgbG9uZyBDMTUKKyAgICA+CitzdHJ1Y3Qgc2V0X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBDMTIsIEMxMywgQzE0CisgICAgICAgICwgQzE1LCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiBzZXQxNl9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMsIEMxNAorICAgICAgICAsIEMxNQorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQxNl9jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2LEM3LEM4LEM5LEMxMCxDMTEsQzEyLEMxMyxDMTQsQzE1ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNSwgbG9uZyBDMTYKKyAgICA+CitzdHJ1Y3Qgc2V0X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBDMTIsIEMxMywgQzE0CisgICAgICAgICwgQzE1LCBDMTYsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogc2V0MTdfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIEMxMiwgQzEzLCBDMTQKKyAgICAgICAgLCBDMTUsIEMxNgorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQxN19jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2LEM3LEM4LEM5LEMxMCxDMTEsQzEyLEMxMyxDMTQsQzE1LEMxNiA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAsIGxvbmcgQzEzLCBsb25nIEMxNCwgbG9uZyBDMTUsIGxvbmcgQzE2LCBsb25nIEMxNworICAgID4KK3N0cnVjdCBzZXRfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIEMxMiwgQzEzLCBDMTQKKyAgICAgICAgLCBDMTUsIEMxNiwgQzE3LCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogc2V0MThfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIEMxMiwgQzEzLCBDMTQKKyAgICAgICAgLCBDMTUsIEMxNiwgQzE3CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDE4X2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcsQzgsQzksQzEwLEMxMSxDMTIsQzEzLEMxNCxDMTUsQzE2LEMxNyA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAsIGxvbmcgQzEzLCBsb25nIEMxNCwgbG9uZyBDMTUsIGxvbmcgQzE2LCBsb25nIEMxNywgbG9uZyBDMTgKKyAgICA+CitzdHJ1Y3Qgc2V0X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBDMTIsIEMxMywgQzE0CisgICAgICAgICwgQzE1LCBDMTYsIEMxNywgQzE4LCBMT05HX01BWAorICAgICAgICA+CisgICAgOiBzZXQxOV9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMsIEMxNAorICAgICAgICAsIEMxNSwgQzE2LCBDMTcsIEMxOAorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQxOV9jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2LEM3LEM4LEM5LEMxMCxDMTEsQzEyLEMxMyxDMTQsQzE1LEMxNixDMTcsQzE4ID46OnR5cGUgdHlwZTsKK307CisKKy8vLyBwcmltYXJ5IHRlbXBsYXRlIChub3QgYSBzcGVjaWFsaXphdGlvbiEpCisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNSwgbG9uZyBDMTYsIGxvbmcgQzE3LCBsb25nIEMxOCwgbG9uZyBDMTkKKyAgICA+CitzdHJ1Y3Qgc2V0X2MKKyAgICA6IHNldDIwX2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBDMTIsIEMxMywgQzE0CisgICAgICAgICwgQzE1LCBDMTYsIEMxNywgQzE4LCBDMTkKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0MjBfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyxDOCxDOSxDMTAsQzExLEMxMixDMTMsQzE0LEMxNSxDMTYsQzE3LEMxOCxDMTkgPjo6dHlwZSB0eXBlOworfTsKKworfX0KKwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjY19wcmU1OTAvc2hpZnRfbGVmdC5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjX3ByZTU5MC9zaGlmdF9sZWZ0LmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNWFjZmRkCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjY19wcmU1OTAvc2hpZnRfbGVmdC5ocHAKQEAgLTAsMCArMSw5OSBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vIENvcHlyaWdodCBKYWFwIFN1dGVyIDIwMDMKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vICpQcmVwcm9jZXNzZWQqIHZlcnNpb24gb2YgdGhlIG1haW4gInNoaWZ0X2xlZnQuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVGFnMQorICAgICwgdHlwZW5hbWUgVGFnMgorICAgID4KK3N0cnVjdCBzaGlmdF9sZWZ0X2ltcGwKKyAgICA6IGlmX2M8CisgICAgICAgICAgKCBCT09TVF9NUExfQVVYX05FU1RFRF9WQUxVRV9XS05EKGludCwgVGFnMSkKKyAgICAgICAgICAgICAgPiBCT09TVF9NUExfQVVYX05FU1RFRF9WQUxVRV9XS05EKGludCwgVGFnMikKKyAgICAgICAgICAgICkKKworICAgICAgICAsIGF1eDo6Y2FzdDJuZF9pbXBsPCBzaGlmdF9sZWZ0X2ltcGw8IFRhZzEsVGFnMSA+LFRhZzEsIFRhZzIgPgorICAgICAgICAsIGF1eDo6Y2FzdDFzdF9pbXBsPCBzaGlmdF9sZWZ0X2ltcGw8IFRhZzIsVGFnMiA+LFRhZzEsIFRhZzIgPgorICAgICAgICA+Ojp0eXBlCit7Cit9OworCisvLy8gZm9yIERpZ2l0YWwgTWFycyBDKysvY29tcGlsZXJzIHdpdGggbm8gQ1RQUy9UVFAgc3VwcG9ydAordGVtcGxhdGU8PiBzdHJ1Y3Qgc2hpZnRfbGVmdF9pbXBsPCBuYSxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFRhZyA+IHN0cnVjdCBzaGlmdF9sZWZ0X2ltcGw8IG5hLFRhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFRhZyA+IHN0cnVjdCBzaGlmdF9sZWZ0X2ltcGw8IFRhZyxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFQgPiBzdHJ1Y3Qgc2hpZnRfbGVmdF90YWcKK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIFQ6OnRhZyB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4xKQorICAgICwgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMikKKyAgICA+CitzdHJ1Y3Qgc2hpZnRfbGVmdAorCisgICAgOiBzaGlmdF9sZWZ0X2ltcGw8CisgICAgICAgICAgdHlwZW5hbWUgc2hpZnRfbGVmdF90YWc8TjE+Ojp0eXBlCisgICAgICAgICwgdHlwZW5hbWUgc2hpZnRfbGVmdF90YWc8TjI+Ojp0eXBlCisgICAgICAgID46OnRlbXBsYXRlIGFwcGx5PCBOMSxOMiA+Ojp0eXBlCit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgyLCBzaGlmdF9sZWZ0LCAoTjEsIE4yKSkKKworfTsKKworQk9PU1RfTVBMX0FVWF9OQV9TUEVDMigyLCAyLCBzaGlmdF9sZWZ0KQorCit9fQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKK3RlbXBsYXRlPD4KK3N0cnVjdCBzaGlmdF9sZWZ0X2ltcGw8IGludGVncmFsX2NfdGFnLGludGVncmFsX2NfdGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgTiwgdHlwZW5hbWUgUyA+IHN0cnVjdCBhcHBseQorCisgICAgICAgIDogaW50ZWdyYWxfYzwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgTjo6dmFsdWVfdHlwZQorICAgICAgICAgICAgLCAoIEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChOKTo6dmFsdWUKKyAgICAgICAgICAgICAgICAgIDw8IEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChTKTo6dmFsdWUKKyAgICAgICAgICAgICAgICApCisgICAgICAgICAgICA+CisgICAgeworICAgIH07Cit9OworCit9fQpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjY19wcmU1OTAvc2hpZnRfcmlnaHQuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjY19wcmU1OTAvc2hpZnRfcmlnaHQuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI4NmIyNDIKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjX3ByZTU5MC9zaGlmdF9yaWdodC5ocHAKQEAgLTAsMCArMSw5OSBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vIENvcHlyaWdodCBKYWFwIFN1dGVyIDIwMDMKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vICpQcmVwcm9jZXNzZWQqIHZlcnNpb24gb2YgdGhlIG1haW4gInNoaWZ0X3JpZ2h0LmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFRhZzEKKyAgICAsIHR5cGVuYW1lIFRhZzIKKyAgICA+CitzdHJ1Y3Qgc2hpZnRfcmlnaHRfaW1wbAorICAgIDogaWZfYzwKKyAgICAgICAgICAoIEJPT1NUX01QTF9BVVhfTkVTVEVEX1ZBTFVFX1dLTkQoaW50LCBUYWcxKQorICAgICAgICAgICAgICA+IEJPT1NUX01QTF9BVVhfTkVTVEVEX1ZBTFVFX1dLTkQoaW50LCBUYWcyKQorICAgICAgICAgICAgKQorCisgICAgICAgICwgYXV4OjpjYXN0Mm5kX2ltcGw8IHNoaWZ0X3JpZ2h0X2ltcGw8IFRhZzEsVGFnMSA+LFRhZzEsIFRhZzIgPgorICAgICAgICAsIGF1eDo6Y2FzdDFzdF9pbXBsPCBzaGlmdF9yaWdodF9pbXBsPCBUYWcyLFRhZzIgPixUYWcxLCBUYWcyID4KKyAgICAgICAgPjo6dHlwZQoreworfTsKKworLy8vIGZvciBEaWdpdGFsIE1hcnMgQysrL2NvbXBpbGVycyB3aXRoIG5vIENUUFMvVFRQIHN1cHBvcnQKK3RlbXBsYXRlPD4gc3RydWN0IHNoaWZ0X3JpZ2h0X2ltcGw8IG5hLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVGFnID4gc3RydWN0IHNoaWZ0X3JpZ2h0X2ltcGw8IG5hLFRhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFRhZyA+IHN0cnVjdCBzaGlmdF9yaWdodF9pbXBsPCBUYWcsbmEgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUID4gc3RydWN0IHNoaWZ0X3JpZ2h0X3RhZworeworICAgIHR5cGVkZWYgdHlwZW5hbWUgVDo6dGFnIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjEpCisgICAgLCB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4yKQorICAgID4KK3N0cnVjdCBzaGlmdF9yaWdodAorCisgICAgOiBzaGlmdF9yaWdodF9pbXBsPAorICAgICAgICAgIHR5cGVuYW1lIHNoaWZ0X3JpZ2h0X3RhZzxOMT46OnR5cGUKKyAgICAgICAgLCB0eXBlbmFtZSBzaGlmdF9yaWdodF90YWc8TjI+Ojp0eXBlCisgICAgICAgID46OnRlbXBsYXRlIGFwcGx5PCBOMSxOMiA+Ojp0eXBlCit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgyLCBzaGlmdF9yaWdodCwgKE4xLCBOMikpCisKK307CisKK0JPT1NUX01QTF9BVVhfTkFfU1BFQzIoMiwgMiwgc2hpZnRfcmlnaHQpCisKK319CisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgewordGVtcGxhdGU8Pgorc3RydWN0IHNoaWZ0X3JpZ2h0X2ltcGw8IGludGVncmFsX2NfdGFnLGludGVncmFsX2NfdGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgTiwgdHlwZW5hbWUgUyA+IHN0cnVjdCBhcHBseQorCisgICAgICAgIDogaW50ZWdyYWxfYzwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgTjo6dmFsdWVfdHlwZQorICAgICAgICAgICAgLCAoIEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChOKTo6dmFsdWUKKyAgICAgICAgICAgICAgICAgID4+IEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChTKTo6dmFsdWUKKyAgICAgICAgICAgICAgICApCisgICAgICAgICAgICA+CisgICAgeworICAgIH07Cit9OworCit9fQpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjY19wcmU1OTAvdGVtcGxhdGVfYXJpdHkuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjY19wcmU1OTAvdGVtcGxhdGVfYXJpdHkuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFkOWYwZjEKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjX3ByZTU5MC90ZW1wbGF0ZV9hcml0eS5ocHAKQEAgLTAsMCArMSw0MCBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAxLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vICpQcmVwcm9jZXNzZWQqIHZlcnNpb24gb2YgdGhlIG1haW4gInRlbXBsYXRlX2FyaXR5LmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeyBuYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8IGJvb2wgPgorc3RydWN0IHRlbXBsYXRlX2FyaXR5X2ltcGwKK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgRiA+IHN0cnVjdCByZXN1bHRfCisgICAgICAgIDogbXBsOjppbnRfPCAtMSA+CisgICAgeworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgdGVtcGxhdGVfYXJpdHlfaW1wbDx0cnVlPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBGID4gc3RydWN0IHJlc3VsdF8KKyAgICAgICAgOiBGOjphcml0eQorICAgIHsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIEYgPgorc3RydWN0IHRlbXBsYXRlX2FyaXR5CisgICAgOiB0ZW1wbGF0ZV9hcml0eV9pbXBsPCA6Om5kbmJvb3N0OjptcGw6OmF1eDo6aGFzX3JlYmluZDxGPjo6dmFsdWUgPgorICAgICAgICA6OnRlbXBsYXRlIHJlc3VsdF88Rj4KK3sKK307CisKK319fQorCmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjX3ByZTU5MC90aW1lcy5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjX3ByZTU5MC90aW1lcy5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWU2MTk3MgotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2NfcHJlNTkwL3RpbWVzLmhwcApAQCAtMCwwICsxLDE0NiBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vICpQcmVwcm9jZXNzZWQqIHZlcnNpb24gb2YgdGhlIG1haW4gInRpbWVzLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFRhZzEKKyAgICAsIHR5cGVuYW1lIFRhZzIKKyAgICA+CitzdHJ1Y3QgdGltZXNfaW1wbAorICAgIDogaWZfYzwKKyAgICAgICAgICAoIEJPT1NUX01QTF9BVVhfTkVTVEVEX1ZBTFVFX1dLTkQoaW50LCBUYWcxKQorICAgICAgICAgICAgICA+IEJPT1NUX01QTF9BVVhfTkVTVEVEX1ZBTFVFX1dLTkQoaW50LCBUYWcyKQorICAgICAgICAgICAgKQorCisgICAgICAgICwgYXV4OjpjYXN0Mm5kX2ltcGw8IHRpbWVzX2ltcGw8IFRhZzEsVGFnMSA+LFRhZzEsIFRhZzIgPgorICAgICAgICAsIGF1eDo6Y2FzdDFzdF9pbXBsPCB0aW1lc19pbXBsPCBUYWcyLFRhZzIgPixUYWcxLCBUYWcyID4KKyAgICAgICAgPjo6dHlwZQoreworfTsKKworLy8vIGZvciBEaWdpdGFsIE1hcnMgQysrL2NvbXBpbGVycyB3aXRoIG5vIENUUFMvVFRQIHN1cHBvcnQKK3RlbXBsYXRlPD4gc3RydWN0IHRpbWVzX2ltcGw8IG5hLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVGFnID4gc3RydWN0IHRpbWVzX2ltcGw8IG5hLFRhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFRhZyA+IHN0cnVjdCB0aW1lc19pbXBsPCBUYWcsbmEgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUID4gc3RydWN0IHRpbWVzX3RhZworeworICAgIHR5cGVkZWYgdHlwZW5hbWUgVDo6dGFnIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjEpCisgICAgLCB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4yKQorICAgICwgdHlwZW5hbWUgTjMgPSBuYSwgdHlwZW5hbWUgTjQgPSBuYSwgdHlwZW5hbWUgTjUgPSBuYQorICAgID4KK3N0cnVjdCB0aW1lcworICAgIDogdGltZXM8IHRpbWVzPCB0aW1lczwgdGltZXM8IE4xLE4yID4sIE4zPiwgTjQ+LCBONT4KK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKAorICAgICAgICAgIDUKKyAgICAgICAgLCB0aW1lcworICAgICAgICAsICggTjEsIE4yLCBOMywgTjQsIE41ICkKKyAgICAgICAgKQorfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBOMSwgdHlwZW5hbWUgTjIsIHR5cGVuYW1lIE4zLCB0eXBlbmFtZSBONAorICAgID4KK3N0cnVjdCB0aW1lczwgTjEsTjIsTjMsTjQsbmEgPgorCisgICAgOiB0aW1lczwgdGltZXM8IHRpbWVzPCBOMSxOMiA+LCBOMz4sIE40PgoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlRfU1BFQygKKyAgICAgICAgICA1CisgICAgICAgICwgdGltZXMKKyAgICAgICAgLCAoIE4xLCBOMiwgTjMsIE40LCBuYSApCisgICAgICAgICkKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgTjEsIHR5cGVuYW1lIE4yLCB0eXBlbmFtZSBOMworICAgID4KK3N0cnVjdCB0aW1lczwgTjEsTjIsTjMsbmEsbmEgPgorCisgICAgOiB0aW1lczwgdGltZXM8IE4xLE4yID4sIE4zPgoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlRfU1BFQygKKyAgICAgICAgICA1CisgICAgICAgICwgdGltZXMKKyAgICAgICAgLCAoIE4xLCBOMiwgTjMsIG5hLCBuYSApCisgICAgICAgICkKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgTjEsIHR5cGVuYW1lIE4yCisgICAgPgorc3RydWN0IHRpbWVzPCBOMSxOMixuYSxuYSxuYSA+CisgICAgOiB0aW1lc19pbXBsPAorICAgICAgICAgIHR5cGVuYW1lIHRpbWVzX3RhZzxOMT46OnR5cGUKKyAgICAgICAgLCB0eXBlbmFtZSB0aW1lc190YWc8TjI+Ojp0eXBlCisgICAgICAgID46OnRlbXBsYXRlIGFwcGx5PCBOMSxOMiA+Ojp0eXBlCit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVF9TUEVDKAorICAgICAgICAgIDUKKyAgICAgICAgLCB0aW1lcworICAgICAgICAsICggTjEsIE4yLCBuYSwgbmEsIG5hICkKKyAgICAgICAgKQorCit9OworCitCT09TVF9NUExfQVVYX05BX1NQRUMyKDIsIDUsIHRpbWVzKQorCit9fQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKK3RlbXBsYXRlPD4KK3N0cnVjdCB0aW1lc19pbXBsPCBpbnRlZ3JhbF9jX3RhZyxpbnRlZ3JhbF9jX3RhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIE4xLCB0eXBlbmFtZSBOMiA+IHN0cnVjdCBhcHBseQorCisgICAgICAgIDogaW50ZWdyYWxfYzwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgYXV4OjpsYXJnZXN0X2ludDwKKyAgICAgICAgICAgICAgICAgIHR5cGVuYW1lIE4xOjp2YWx1ZV90eXBlCisgICAgICAgICAgICAgICAgLCB0eXBlbmFtZSBOMjo6dmFsdWVfdHlwZQorICAgICAgICAgICAgICAgID46OnR5cGUKKyAgICAgICAgICAgICwgKCBCT09TVF9NUExfQVVYX1ZBTFVFX1dLTkQoTjEpOjp2YWx1ZQorICAgICAgICAgICAgICAgICAgKiBCT09TVF9NUExfQVVYX1ZBTFVFX1dLTkQoTjIpOjp2YWx1ZQorICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgID4KKyAgICB7CisgICAgfTsKK307CisKK319CmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjX3ByZTU5MC91bnBhY2tfYXJncy5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjX3ByZTU5MC91bnBhY2tfYXJncy5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzkyNGYyYQotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2NfcHJlNTkwL3VucGFja19hcmdzLmhwcApAQCAtMCwwICsxLDk3IEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDItMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gKlByZXByb2Nlc3NlZCogdmVyc2lvbiBvZiB0aGUgbWFpbiAidW5wYWNrX2FyZ3MuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwgaW50IHNpemUsIHR5cGVuYW1lIEYsIHR5cGVuYW1lIEFyZ3MgPgorc3RydWN0IHVucGFja19hcmdzX2ltcGw7CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBGLCB0eXBlbmFtZSBBcmdzID4KK3N0cnVjdCB1bnBhY2tfYXJnc19pbXBsPCAwLEYsQXJncyA+CisgICAgOiBhcHBseTA8CisgICAgICAgICAgRgorICAgICAgICA+Cit7Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgRiwgdHlwZW5hbWUgQXJncyA+CitzdHJ1Y3QgdW5wYWNrX2FyZ3NfaW1wbDwgMSxGLEFyZ3MgPgorICAgIDogYXBwbHkxPAorICAgICAgICAgIEYKKyAgICAgICAgLCB0eXBlbmFtZSBhdF9jPCBBcmdzLDAgPjo6dHlwZQorICAgICAgICA+Cit7Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgRiwgdHlwZW5hbWUgQXJncyA+CitzdHJ1Y3QgdW5wYWNrX2FyZ3NfaW1wbDwgMixGLEFyZ3MgPgorICAgIDogYXBwbHkyPAorICAgICAgICAgIEYKKyAgICAgICAgLCB0eXBlbmFtZSBhdF9jPCBBcmdzLDAgPjo6dHlwZSwgdHlwZW5hbWUgYXRfYzwgQXJncywxID46OnR5cGUKKyAgICAgICAgPgoreworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIEYsIHR5cGVuYW1lIEFyZ3MgPgorc3RydWN0IHVucGFja19hcmdzX2ltcGw8IDMsRixBcmdzID4KKyAgICA6IGFwcGx5MzwKKyAgICAgICAgICBGCisgICAgICAgICwgdHlwZW5hbWUgYXRfYzwgQXJncywwID46OnR5cGUsIHR5cGVuYW1lIGF0X2M8IEFyZ3MsMSA+Ojp0eXBlCisgICAgICAgICwgdHlwZW5hbWUgYXRfYzwgQXJncywyID46OnR5cGUKKyAgICAgICAgPgoreworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIEYsIHR5cGVuYW1lIEFyZ3MgPgorc3RydWN0IHVucGFja19hcmdzX2ltcGw8IDQsRixBcmdzID4KKyAgICA6IGFwcGx5NDwKKyAgICAgICAgICBGCisgICAgICAgICwgdHlwZW5hbWUgYXRfYzwgQXJncywwID46OnR5cGUsIHR5cGVuYW1lIGF0X2M8IEFyZ3MsMSA+Ojp0eXBlCisgICAgICAgICwgdHlwZW5hbWUgYXRfYzwgQXJncywyID46OnR5cGUsIHR5cGVuYW1lIGF0X2M8IEFyZ3MsMyA+Ojp0eXBlCisgICAgICAgID4KK3sKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBGLCB0eXBlbmFtZSBBcmdzID4KK3N0cnVjdCB1bnBhY2tfYXJnc19pbXBsPCA1LEYsQXJncyA+CisgICAgOiBhcHBseTU8CisgICAgICAgICAgRgorICAgICAgICAsIHR5cGVuYW1lIGF0X2M8IEFyZ3MsMCA+Ojp0eXBlLCB0eXBlbmFtZSBhdF9jPCBBcmdzLDEgPjo6dHlwZQorICAgICAgICAsIHR5cGVuYW1lIGF0X2M8IEFyZ3MsMiA+Ojp0eXBlLCB0eXBlbmFtZSBhdF9jPCBBcmdzLDMgPjo6dHlwZQorICAgICAgICAsIHR5cGVuYW1lIGF0X2M8IEFyZ3MsNCA+Ojp0eXBlCisgICAgICAgID4KK3sKK307CisKK30KKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGCisgICAgPgorc3RydWN0IHVucGFja19hcmdzCit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIEFyZ3MgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXV4Ojp1bnBhY2tfYXJnc19pbXBsPAorICAgICAgICAgICAgICBzaXplPEFyZ3M+Ojp2YWx1ZQorICAgICAgICAgICAgLCBGCisgICAgICAgICAgICAsIEFyZ3MKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCitCT09TVF9NUExfQVVYX1BBU1NfVEhST1VHSF9MQU1CREFfU1BFQygxLCB1bnBhY2tfYXJncykKKworfX0KKwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjY19wcmU1OTAvdmVjdG9yLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2NfcHJlNTkwL3ZlY3Rvci5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTlhYjg2MAotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9iY2NfcHJlNTkwL3ZlY3Rvci5ocHAKQEAgLTAsMCArMSwzMjMgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyAqUHJlcHJvY2Vzc2VkKiB2ZXJzaW9uIG9mIHRoZSBtYWluICJ2ZWN0b3IuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAgPSBuYSwgdHlwZW5hbWUgVDEgPSBuYSwgdHlwZW5hbWUgVDIgPSBuYSwgdHlwZW5hbWUgVDMgPSBuYQorICAgICwgdHlwZW5hbWUgVDQgPSBuYSwgdHlwZW5hbWUgVDUgPSBuYSwgdHlwZW5hbWUgVDYgPSBuYSwgdHlwZW5hbWUgVDcgPSBuYQorICAgICwgdHlwZW5hbWUgVDggPSBuYSwgdHlwZW5hbWUgVDkgPSBuYSwgdHlwZW5hbWUgVDEwID0gbmEsIHR5cGVuYW1lIFQxMSA9IG5hCisgICAgLCB0eXBlbmFtZSBUMTIgPSBuYSwgdHlwZW5hbWUgVDEzID0gbmEsIHR5cGVuYW1lIFQxNCA9IG5hCisgICAgLCB0eXBlbmFtZSBUMTUgPSBuYSwgdHlwZW5hbWUgVDE2ID0gbmEsIHR5cGVuYW1lIFQxNyA9IG5hCisgICAgLCB0eXBlbmFtZSBUMTggPSBuYSwgdHlwZW5hbWUgVDE5ID0gbmEKKyAgICA+CitzdHJ1Y3QgdmVjdG9yOworCit0ZW1wbGF0ZTwKKyAgICAgCisgICAgPgorc3RydWN0IHZlY3RvcjwKKyAgICAgICAgICBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHZlY3RvcjA8ICA+Cit7CisgICAgdHlwZWRlZiB2ZWN0b3IwPCAgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMAorICAgID4KK3N0cnVjdCB2ZWN0b3I8CisgICAgICAgICAgVDAsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3IxPFQwPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTxUMD46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxCisgICAgPgorc3RydWN0IHZlY3RvcjwKKyAgICAgICAgICBUMCwgVDEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHZlY3RvcjI8IFQwLFQxID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjI8IFQwLFQxID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMgorICAgID4KK3N0cnVjdCB2ZWN0b3I8CisgICAgICAgICAgVDAsIFQxLCBUMiwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3IzPCBUMCxUMSxUMiA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IzPCBUMCxUMSxUMiA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzCisgICAgPgorc3RydWN0IHZlY3RvcjwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHZlY3RvcjQ8IFQwLFQxLFQyLFQzID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjQ8IFQwLFQxLFQyLFQzID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgPgorc3RydWN0IHZlY3RvcjwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHZlY3RvcjU8IFQwLFQxLFQyLFQzLFQ0ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjU8IFQwLFQxLFQyLFQzLFQ0ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNQorICAgID4KK3N0cnVjdCB2ZWN0b3I8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3I2PCBUMCxUMSxUMixUMyxUNCxUNSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3I2PCBUMCxUMSxUMixUMyxUNCxUNSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2CisgICAgPgorc3RydWN0IHZlY3RvcjwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHZlY3Rvcjc8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3Rvcjc8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3CisgICAgPgorc3RydWN0IHZlY3RvcjwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHZlY3Rvcjg8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3Rvcjg8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOAorICAgID4KK3N0cnVjdCB2ZWN0b3I8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3I5PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3I5PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgPgorc3RydWN0IHZlY3RvcjwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHZlY3RvcjEwPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxMDwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDkgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwCisgICAgPgorc3RydWN0IHZlY3RvcjwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3IxMTwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjExPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEKKyAgICA+CitzdHJ1Y3QgdmVjdG9yPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3IxMjwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxMjwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyCisgICAgPgorc3RydWN0IHZlY3RvcjwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHZlY3RvcjEzPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMiA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxMzwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzCisgICAgPgorc3RydWN0IHZlY3RvcjwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3IxNDwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjE0PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICA+CitzdHJ1Y3QgdmVjdG9yPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNCwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3IxNTwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTU8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyxUMTQgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAsIHR5cGVuYW1lIFQxNQorICAgID4KK3N0cnVjdCB2ZWN0b3I8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1LCBuYSwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3IxNjwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgLCBUMTUKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTY8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyxUMTQsVDE1ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNgorICAgID4KK3N0cnVjdCB2ZWN0b3I8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1LCBUMTYsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogdmVjdG9yMTc8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1LCBUMTYKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTc8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyxUMTQsVDE1LFQxNiA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNworICAgID4KK3N0cnVjdCB2ZWN0b3I8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1LCBUMTYsIFQxNywgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHZlY3RvcjE4PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgVDE2LCBUMTcKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTg8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyxUMTQsVDE1LFQxNixUMTcgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOAorICAgID4KK3N0cnVjdCB2ZWN0b3I8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1LCBUMTYsIFQxNywgVDE4LCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3IxOTwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgLCBUMTUsIFQxNiwgVDE3LCBUMTgKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTk8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyxUMTQsVDE1LFQxNixUMTcsVDE4ID46OnR5cGUgdHlwZTsKK307CisKKy8vLyBwcmltYXJ5IHRlbXBsYXRlIChub3QgYSBzcGVjaWFsaXphdGlvbiEpCisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgID4KK3N0cnVjdCB2ZWN0b3IKKyAgICA6IHZlY3RvcjIwPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgVDE2LCBUMTcsIFQxOCwgVDE5CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjIwPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMsVDE0LFQxNSxUMTYsVDE3LFQxOCxUMTkgPjo6dHlwZSB0eXBlOworfTsKKworfX0KKwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjY19wcmU1OTAvdmVjdG9yX2MuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2JjY19wcmU1OTAvdmVjdG9yX2MuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgwN2JmZDgKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvYmNjX3ByZTU5MC92ZWN0b3JfYy5ocHAKQEAgLTAsMCArMSwzMDkgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA4CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyAqUHJlcHJvY2Vzc2VkKiB2ZXJzaW9uIG9mIHRoZSBtYWluICJ2ZWN0b3JfYy5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwID0gTE9OR19NQVgsIGxvbmcgQzEgPSBMT05HX01BWCwgbG9uZyBDMiA9IExPTkdfTUFYCisgICAgLCBsb25nIEMzID0gTE9OR19NQVgsIGxvbmcgQzQgPSBMT05HX01BWCwgbG9uZyBDNSA9IExPTkdfTUFYCisgICAgLCBsb25nIEM2ID0gTE9OR19NQVgsIGxvbmcgQzcgPSBMT05HX01BWCwgbG9uZyBDOCA9IExPTkdfTUFYCisgICAgLCBsb25nIEM5ID0gTE9OR19NQVgsIGxvbmcgQzEwID0gTE9OR19NQVgsIGxvbmcgQzExID0gTE9OR19NQVgKKyAgICAsIGxvbmcgQzEyID0gTE9OR19NQVgsIGxvbmcgQzEzID0gTE9OR19NQVgsIGxvbmcgQzE0ID0gTE9OR19NQVgKKyAgICAsIGxvbmcgQzE1ID0gTE9OR19NQVgsIGxvbmcgQzE2ID0gTE9OR19NQVgsIGxvbmcgQzE3ID0gTE9OR19NQVgKKyAgICAsIGxvbmcgQzE4ID0gTE9OR19NQVgsIGxvbmcgQzE5ID0gTE9OR19NQVgKKyAgICA+CitzdHJ1Y3QgdmVjdG9yX2M7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVAorICAgID4KK3N0cnVjdCB2ZWN0b3JfYzwKKyAgICAgICAgICBULCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiB2ZWN0b3IwX2M8VD4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjBfYzxUPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwCisgICAgPgorc3RydWN0IHZlY3Rvcl9jPAorICAgICAgICAgIFQsIEMwLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IHZlY3RvcjFfYzwgVCwgVChDMCkgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMV9jPCBULCBUKEMwKSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEKKyAgICA+CitzdHJ1Y3QgdmVjdG9yX2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogdmVjdG9yMl9jPCBULCBUKEMwKSwgVChDMSkgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMl9jPCBULCBUKEMwKSwgVChDMSkgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyCisgICAgPgorc3RydWN0IHZlY3Rvcl9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IHZlY3RvcjNfYzwgVCwgVChDMCksIFQoQzEpLCBUKEMyKSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IzX2M8IFQsIFQoQzApLCBUKEMxKSwgVChDMikgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzCisgICAgPgorc3RydWN0IHZlY3Rvcl9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IHZlY3RvcjRfYzwgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMykgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yNF9jPCBULCBUKEMwKSwgVChDMSksIFQoQzIpLCBUKEMzKSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQKKyAgICA+CitzdHJ1Y3QgdmVjdG9yX2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogdmVjdG9yNV9jPCBULCBUKEMwKSwgVChDMSksIFQoQzIpLCBUKEMzKSwgVChDNCkgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yNV9jPCBULCBUKEMwKSwgVChDMSksIFQoQzIpLCBUKEMzKSwgVChDNCkgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgPgorc3RydWN0IHZlY3Rvcl9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IHZlY3RvcjZfYzwgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMyksIFQoQzQpLCBUKEM1KSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3I2X2M8IFQsIFQoQzApLCBUKEMxKSwgVChDMiksIFQoQzMpLCBUKEM0KSwgVChDNSkgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2CisgICAgPgorc3RydWN0IHZlY3Rvcl9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IHZlY3RvcjdfYzwgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMyksIFQoQzQpLCBUKEM1KSwgVChDNikgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yN19jPCBULCBUKEMwKSwgVChDMSksIFQoQzIpLCBUKEMzKSwgVChDNCksIFQoQzUpLCBUKEM2KSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAsIGxvbmcgQzYsIGxvbmcgQzcKKyAgICA+CitzdHJ1Y3QgdmVjdG9yX2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogdmVjdG9yOF9jPCBULCBUKEMwKSwgVChDMSksIFQoQzIpLCBUKEMzKSwgVChDNCksIFQoQzUpLCBUKEM2KSwgVChDNykgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yOF9jPCBULCBUKEMwKSwgVChDMSksIFQoQzIpLCBUKEMzKSwgVChDNCksIFQoQzUpLCBUKEM2KSwgVChDNykgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4CisgICAgPgorc3RydWN0IHZlY3Rvcl9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IHZlY3RvcjlfYzwgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMyksIFQoQzQpLCBUKEM1KSwgVChDNiksIFQoQzcpLCBUKEM4KSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3I5X2M8IFQsIFQoQzApLCBUKEMxKSwgVChDMiksIFQoQzMpLCBUKEM0KSwgVChDNSksIFQoQzYpLCBUKEM3KSwgVChDOCkgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5CisgICAgPgorc3RydWN0IHZlY3Rvcl9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IHZlY3RvcjEwX2M8IFQsIFQoQzApLCBUKEMxKSwgVChDMiksIFQoQzMpLCBUKEM0KSwgVChDNSksIFQoQzYpLCBUKEM3KSwgVChDOCksIFQoQzkpID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjEwX2M8IFQsIFQoQzApLCBUKEMxKSwgVChDMiksIFQoQzMpLCBUKEM0KSwgVChDNSksIFQoQzYpLCBUKEM3KSwgVChDOCksIFQoQzkpID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAKKyAgICA+CitzdHJ1Y3QgdmVjdG9yX2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogdmVjdG9yMTFfYzwgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMyksIFQoQzQpLCBUKEM1KSwgVChDNiksIFQoQzcpLCBUKEM4KSwgVChDOSksIFQoQzEwKSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxMV9jPCBULCBUKEMwKSwgVChDMSksIFQoQzIpLCBUKEMzKSwgVChDNCksIFQoQzUpLCBUKEM2KSwgVChDNyksIFQoQzgpLCBUKEM5KSwgVChDMTApID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExCisgICAgPgorc3RydWN0IHZlY3Rvcl9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiB2ZWN0b3IxMl9jPCBULCBUKEMwKSwgVChDMSksIFQoQzIpLCBUKEMzKSwgVChDNCksIFQoQzUpLCBUKEM2KSwgVChDNyksIFQoQzgpLCBUKEM5KSwgVChDMTApLCBUKEMxMSkgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTJfYzwgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMyksIFQoQzQpLCBUKEM1KSwgVChDNiksIFQoQzcpLCBUKEM4KSwgVChDOSksIFQoQzEwKSwgVChDMTEpID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgID4KK3N0cnVjdCB2ZWN0b3JfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIEMxMiwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IHZlY3RvcjEzX2M8IFQsIFQoQzApLCBUKEMxKSwgVChDMiksIFQoQzMpLCBUKEM0KSwgVChDNSksIFQoQzYpLCBUKEM3KSwgVChDOCksIFQoQzkpLCBUKEMxMCksIFQoQzExKSwgVChDMTIpID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjEzX2M8IFQsIFQoQzApLCBUKEMxKSwgVChDMiksIFQoQzMpLCBUKEM0KSwgVChDNSksIFQoQzYpLCBUKEM3KSwgVChDOCksIFQoQzkpLCBUKEMxMCksIFQoQzExKSwgVChDMTIpID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgICwgbG9uZyBDMTMKKyAgICA+CitzdHJ1Y3QgdmVjdG9yX2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBDMTIsIEMxMworICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogdmVjdG9yMTRfYzwgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMyksIFQoQzQpLCBUKEM1KSwgVChDNiksIFQoQzcpLCBUKEM4KSwgVChDOSksIFQoQzEwKSwgVChDMTEpLCBUKEMxMiksIFQoQzEzKSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxNF9jPCBULCBUKEMwKSwgVChDMSksIFQoQzIpLCBUKEMzKSwgVChDNCksIFQoQzUpLCBUKEM2KSwgVChDNyksIFQoQzgpLCBUKEM5KSwgVChDMTApLCBUKEMxMSksIFQoQzEyKSwgVChDMTMpID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0CisgICAgPgorc3RydWN0IHZlY3Rvcl9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMsIEMxNAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiB2ZWN0b3IxNV9jPCBULCBUKEMwKSwgVChDMSksIFQoQzIpLCBUKEMzKSwgVChDNCksIFQoQzUpLCBUKEM2KSwgVChDNyksIFQoQzgpLCBUKEM5KSwgVChDMTApLCBUKEMxMSksIFQoQzEyKSwgVChDMTMpLCBUKEMxNCkgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTVfYzwgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMyksIFQoQzQpLCBUKEM1KSwgVChDNiksIFQoQzcpLCBUKEM4KSwgVChDOSksIFQoQzEwKSwgVChDMTEpLCBUKEMxMiksIFQoQzEzKSwgVChDMTQpID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNQorICAgID4KK3N0cnVjdCB2ZWN0b3JfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIEMxMiwgQzEzLCBDMTQKKyAgICAgICAgLCBDMTUsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IHZlY3RvcjE2X2M8IFQsIFQoQzApLCBUKEMxKSwgVChDMiksIFQoQzMpLCBUKEM0KSwgVChDNSksIFQoQzYpLCBUKEM3KSwgVChDOCksIFQoQzkpLCBUKEMxMCksIFQoQzExKSwgVChDMTIpLCBUKEMxMyksIFQoQzE0KSwgVChDMTUpID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjE2X2M8IFQsIFQoQzApLCBUKEMxKSwgVChDMiksIFQoQzMpLCBUKEM0KSwgVChDNSksIFQoQzYpLCBUKEM3KSwgVChDOCksIFQoQzkpLCBUKEMxMCksIFQoQzExKSwgVChDMTIpLCBUKEMxMyksIFQoQzE0KSwgVChDMTUpID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNSwgbG9uZyBDMTYKKyAgICA+CitzdHJ1Y3QgdmVjdG9yX2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBDMTIsIEMxMywgQzE0CisgICAgICAgICwgQzE1LCBDMTYsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogdmVjdG9yMTdfYzwgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMyksIFQoQzQpLCBUKEM1KSwgVChDNiksIFQoQzcpLCBUKEM4KSwgVChDOSksIFQoQzEwKSwgVChDMTEpLCBUKEMxMiksIFQoQzEzKSwgVChDMTQpLCBUKEMxNSksIFQoQzE2KSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxN19jPCBULCBUKEMwKSwgVChDMSksIFQoQzIpLCBUKEMzKSwgVChDNCksIFQoQzUpLCBUKEM2KSwgVChDNyksIFQoQzgpLCBUKEM5KSwgVChDMTApLCBUKEMxMSksIFQoQzEyKSwgVChDMTMpLCBUKEMxNCksIFQoQzE1KSwgVChDMTYpID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNSwgbG9uZyBDMTYsIGxvbmcgQzE3CisgICAgPgorc3RydWN0IHZlY3Rvcl9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMsIEMxNAorICAgICAgICAsIEMxNSwgQzE2LCBDMTcsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiB2ZWN0b3IxOF9jPCBULCBUKEMwKSwgVChDMSksIFQoQzIpLCBUKEMzKSwgVChDNCksIFQoQzUpLCBUKEM2KSwgVChDNyksIFQoQzgpLCBUKEM5KSwgVChDMTApLCBUKEMxMSksIFQoQzEyKSwgVChDMTMpLCBUKEMxNCksIFQoQzE1KSwgVChDMTYpLCBUKEMxNykgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMThfYzwgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMyksIFQoQzQpLCBUKEM1KSwgVChDNiksIFQoQzcpLCBUKEM4KSwgVChDOSksIFQoQzEwKSwgVChDMTEpLCBUKEMxMiksIFQoQzEzKSwgVChDMTQpLCBUKEMxNSksIFQoQzE2KSwgVChDMTcpID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNSwgbG9uZyBDMTYsIGxvbmcgQzE3LCBsb25nIEMxOAorICAgID4KK3N0cnVjdCB2ZWN0b3JfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIEMxMiwgQzEzLCBDMTQKKyAgICAgICAgLCBDMTUsIEMxNiwgQzE3LCBDMTgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IHZlY3RvcjE5X2M8IFQsIFQoQzApLCBUKEMxKSwgVChDMiksIFQoQzMpLCBUKEM0KSwgVChDNSksIFQoQzYpLCBUKEM3KSwgVChDOCksIFQoQzkpLCBUKEMxMCksIFQoQzExKSwgVChDMTIpLCBUKEMxMyksIFQoQzE0KSwgVChDMTUpLCBUKEMxNiksIFQoQzE3KSwgVChDMTgpID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjE5X2M8IFQsIFQoQzApLCBUKEMxKSwgVChDMiksIFQoQzMpLCBUKEM0KSwgVChDNSksIFQoQzYpLCBUKEM3KSwgVChDOCksIFQoQzkpLCBUKEMxMCksIFQoQzExKSwgVChDMTIpLCBUKEMxMyksIFQoQzE0KSwgVChDMTUpLCBUKEMxNiksIFQoQzE3KSwgVChDMTgpID46OnR5cGUgdHlwZTsKK307CisKKy8vLyBwcmltYXJ5IHRlbXBsYXRlIChub3QgYSBzcGVjaWFsaXphdGlvbiEpCisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNSwgbG9uZyBDMTYsIGxvbmcgQzE3LCBsb25nIEMxOCwgbG9uZyBDMTkKKyAgICA+CitzdHJ1Y3QgdmVjdG9yX2MKKyAgICA6IHZlY3RvcjIwX2M8IFQsIFQoQzApLCBUKEMxKSwgVChDMiksIFQoQzMpLCBUKEM0KSwgVChDNSksIFQoQzYpLCBUKEM3KSwgVChDOCksIFQoQzkpLCBUKEMxMCksIFQoQzExKSwgVChDMTIpLCBUKEMxMyksIFQoQzE0KSwgVChDMTUpLCBUKEMxNiksIFQoQzE3KSwgVChDMTgpLCBUKEMxOSkgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMjBfYzwgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMyksIFQoQzQpLCBUKEM1KSwgVChDNiksIFQoQzcpLCBUKEM4KSwgVChDOSksIFQoQzEwKSwgVChDMTEpLCBUKEMxMiksIFQoQzEzKSwgVChDMTQpLCBUKEMxNSksIFQoQzE2KSwgVChDMTcpLCBUKEMxOCksIFQoQzE5KSA+Ojp0eXBlIHR5cGU7Cit9OworCit9fQorCmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvZG1jL2FkdmFuY2VfYmFja3dhcmQuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2RtYy9hZHZhbmNlX2JhY2t3YXJkLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZTBjODI4Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2RtYy9hZHZhbmNlX2JhY2t3YXJkLmhwcApAQCAtMCwwICsxLDk3IEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9hdXhfL2FkdmFuY2VfYmFja3dhcmQuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7IG5hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwgbG9uZyBOID4gc3RydWN0IGFkdmFuY2VfYmFja3dhcmQ7Cit0ZW1wbGF0ZTw+CitzdHJ1Y3QgYWR2YW5jZV9iYWNrd2FyZDwwPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBJdGVyYXRvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBJdGVyYXRvciBpdGVyMDsKKyAgICAgICAgdHlwZWRlZiBpdGVyMCB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgYWR2YW5jZV9iYWNrd2FyZDwxPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBJdGVyYXRvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBJdGVyYXRvciBpdGVyMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBwcmlvcjxpdGVyMD46OnR5cGUgaXRlcjE7CisgICAgICAgIHR5cGVkZWYgaXRlcjEgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGFkdmFuY2VfYmFja3dhcmQ8Mj4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgSXRlcmF0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgSXRlcmF0b3IgaXRlcjA7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcHJpb3I8aXRlcjA+Ojp0eXBlIGl0ZXIxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHByaW9yPGl0ZXIxPjo6dHlwZSBpdGVyMjsKKyAgICAgICAgdHlwZWRlZiBpdGVyMiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgYWR2YW5jZV9iYWNrd2FyZDwzPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBJdGVyYXRvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBJdGVyYXRvciBpdGVyMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBwcmlvcjxpdGVyMD46OnR5cGUgaXRlcjE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcHJpb3I8aXRlcjE+Ojp0eXBlIGl0ZXIyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHByaW9yPGl0ZXIyPjo6dHlwZSBpdGVyMzsKKyAgICAgICAgdHlwZWRlZiBpdGVyMyB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgYWR2YW5jZV9iYWNrd2FyZDw0PgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBJdGVyYXRvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBJdGVyYXRvciBpdGVyMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBwcmlvcjxpdGVyMD46OnR5cGUgaXRlcjE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcHJpb3I8aXRlcjE+Ojp0eXBlIGl0ZXIyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHByaW9yPGl0ZXIyPjo6dHlwZSBpdGVyMzsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBwcmlvcjxpdGVyMz46OnR5cGUgaXRlcjQ7CisgICAgICAgIHR5cGVkZWYgaXRlcjQgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IGxvbmcgTiA+CitzdHJ1Y3QgYWR2YW5jZV9iYWNrd2FyZAoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBJdGVyYXRvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseV93cmFwMTwKKyAgICAgICAgICAgICAgYWR2YW5jZV9iYWNrd2FyZDw0PgorICAgICAgICAgICAgLCBJdGVyYXRvcgorICAgICAgICAgICAgPjo6dHlwZSBjaHVua19yZXN1bHRfOworCisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHlfd3JhcDE8CisgICAgICAgICAgICAgIGFkdmFuY2VfYmFja3dhcmQ8KAorICAgICAgICAgICAgICAgIChOIC0gNCkgPCAwCisgICAgICAgICAgICAgICAgICAgID8gMAorICAgICAgICAgICAgICAgICAgICA6IE4gLSA0CisgICAgICAgICAgICAgICAgICAgICk+CisgICAgICAgICAgICAsIGNodW5rX3Jlc3VsdF8KKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKyAgICB9OworfTsKKworfX19CisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9kbWMvYWR2YW5jZV9mb3J3YXJkLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9kbWMvYWR2YW5jZV9mb3J3YXJkLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iM2E1YWZkCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2RtYy9hZHZhbmNlX2ZvcndhcmQuaHBwCkBAIC0wLDAgKzEsOTcgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL2F1eF8vYWR2YW5jZV9mb3J3YXJkLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeyBuYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8IGxvbmcgTiA+IHN0cnVjdCBhZHZhbmNlX2ZvcndhcmQ7Cit0ZW1wbGF0ZTw+CitzdHJ1Y3QgYWR2YW5jZV9mb3J3YXJkPDA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIEl0ZXJhdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIEl0ZXJhdG9yIGl0ZXIwOworICAgICAgICB0eXBlZGVmIGl0ZXIwIHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBhZHZhbmNlX2ZvcndhcmQ8MT4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgSXRlcmF0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgSXRlcmF0b3IgaXRlcjA7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbmV4dDxpdGVyMD46OnR5cGUgaXRlcjE7CisgICAgICAgIHR5cGVkZWYgaXRlcjEgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGFkdmFuY2VfZm9yd2FyZDwyPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBJdGVyYXRvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBJdGVyYXRvciBpdGVyMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBuZXh0PGl0ZXIwPjo6dHlwZSBpdGVyMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBuZXh0PGl0ZXIxPjo6dHlwZSBpdGVyMjsKKyAgICAgICAgdHlwZWRlZiBpdGVyMiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgYWR2YW5jZV9mb3J3YXJkPDM+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIEl0ZXJhdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIEl0ZXJhdG9yIGl0ZXIwOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG5leHQ8aXRlcjA+Ojp0eXBlIGl0ZXIxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG5leHQ8aXRlcjE+Ojp0eXBlIGl0ZXIyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG5leHQ8aXRlcjI+Ojp0eXBlIGl0ZXIzOworICAgICAgICB0eXBlZGVmIGl0ZXIzIHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBhZHZhbmNlX2ZvcndhcmQ8ND4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgSXRlcmF0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgSXRlcmF0b3IgaXRlcjA7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbmV4dDxpdGVyMD46OnR5cGUgaXRlcjE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbmV4dDxpdGVyMT46OnR5cGUgaXRlcjI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbmV4dDxpdGVyMj46OnR5cGUgaXRlcjM7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbmV4dDxpdGVyMz46OnR5cGUgaXRlcjQ7CisgICAgICAgIHR5cGVkZWYgaXRlcjQgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IGxvbmcgTiA+CitzdHJ1Y3QgYWR2YW5jZV9mb3J3YXJkCit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIEl0ZXJhdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5X3dyYXAxPAorICAgICAgICAgICAgICBhZHZhbmNlX2ZvcndhcmQ8ND4KKyAgICAgICAgICAgICwgSXRlcmF0b3IKKyAgICAgICAgICAgID46OnR5cGUgY2h1bmtfcmVzdWx0XzsKKworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5X3dyYXAxPAorICAgICAgICAgICAgICBhZHZhbmNlX2ZvcndhcmQ8KAorICAgICAgICAgICAgICAgIChOIC0gNCkgPCAwCisgICAgICAgICAgICAgICAgICAgID8gMAorICAgICAgICAgICAgICAgICAgICA6IE4gLSA0CisgICAgICAgICAgICAgICAgICAgICk+CisgICAgICAgICAgICAsIGNodW5rX3Jlc3VsdF8KKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKyAgICB9OworfTsKKworfX19CisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9kbWMvYW5kLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9kbWMvYW5kLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNGI4OGQ4Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2RtYy9hbmQuaHBwCkBAIC0wLDAgKzEsNjkgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL2FuZC5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPCBib29sIENfLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNCA+CitzdHJ1Y3QgYW5kX2ltcGwKKyAgICA6IGZhbHNlXworeworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0ID4KK3N0cnVjdCBhbmRfaW1wbDwgdHJ1ZSxUMSxUMixUMyxUNCA+CisgICAgOiBhbmRfaW1wbDwKKyAgICAgICAgICBCT09TVF9NUExfQVVYX05FU1RFRF9UWVBFX1dLTkQoVDEpOjp2YWx1ZQorICAgICAgICAsIFQyLCBUMywgVDQKKyAgICAgICAgLCB0cnVlXworICAgICAgICA+Cit7Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgYW5kX2ltcGw8CisgICAgICAgICAgdHJ1ZQorICAgICAgICAsIHRydWVfLCB0cnVlXywgdHJ1ZV8sIHRydWVfCisgICAgICAgID4KKyAgICA6IHRydWVfCit7Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKFQxKQorICAgICwgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShUMikKKyAgICAsIHR5cGVuYW1lIFQzID0gdHJ1ZV8sIHR5cGVuYW1lIFQ0ID0gdHJ1ZV8sIHR5cGVuYW1lIFQ1ID0gdHJ1ZV8KKyAgICA+CitzdHJ1Y3QgYW5kXworCisgICAgOiBhdXg6OmFuZF9pbXBsPAorICAgICAgICAgIEJPT1NUX01QTF9BVVhfTkVTVEVEX1RZUEVfV0tORChUMSk6OnZhbHVlCisgICAgICAgICwgVDIsIFQzLCBUNCwgVDUKKyAgICAgICAgPgorCit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgKKyAgICAgICAgICA1CisgICAgICAgICwgYW5kXworICAgICAgICAsICggVDEsIFQyLCBUMywgVDQsIFQ1KQorICAgICAgICApCit9OworCitCT09TVF9NUExfQVVYX05BX1NQRUMyKAorICAgICAgMgorICAgICwgNQorICAgICwgYW5kXworICAgICkKKworfX0KZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9kbWMvYXBwbHkuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2RtYy9hcHBseS5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTRiMWNkMgotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9kbWMvYXBwbHkuaHBwCkBAIC0wLDAgKzEsMTY5IEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9hcHBseS5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGCisgICAgPgorc3RydWN0IGFwcGx5MAorCisgICAgOiBhcHBseV93cmFwMDwKKyAgICAgICAgICB0eXBlbmFtZSBsYW1iZGE8Rj46OnR5cGUKKyAgICAgICAKKyAgICAgICAgPgoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoCisgICAgICAgICAgMQorICAgICAgICAsIGFwcGx5MAorICAgICAgICAsIChGICkKKyAgICAgICAgKQorfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGCisgICAgPgorc3RydWN0IGFwcGx5PCBGLG5hLG5hLG5hLG5hLG5hID4KKyAgICA6IGFwcGx5MDxGPgoreworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMQorICAgID4KK3N0cnVjdCBhcHBseTEKKworICAgIDogYXBwbHlfd3JhcDE8CisgICAgICAgICAgdHlwZW5hbWUgbGFtYmRhPEY+Ojp0eXBlCisgICAgICAgICwgVDEKKyAgICAgICAgPgoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoCisgICAgICAgICAgMgorICAgICAgICAsIGFwcGx5MQorICAgICAgICAsIChGLCBUMSkKKyAgICAgICAgKQorfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMQorICAgID4KK3N0cnVjdCBhcHBseTwgRixUMSxuYSxuYSxuYSxuYSA+CisgICAgOiBhcHBseTE8IEYsVDEgPgoreworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIKKyAgICA+CitzdHJ1Y3QgYXBwbHkyCisKKyAgICA6IGFwcGx5X3dyYXAyPAorICAgICAgICAgIHR5cGVuYW1lIGxhbWJkYTxGPjo6dHlwZQorICAgICAgICAsIFQxLCBUMgorICAgICAgICA+Cit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgKKyAgICAgICAgICAzCisgICAgICAgICwgYXBwbHkyCisgICAgICAgICwgKEYsIFQxLCBUMikKKyAgICAgICAgKQorfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIKKyAgICA+CitzdHJ1Y3QgYXBwbHk8IEYsVDEsVDIsbmEsbmEsbmEgPgorICAgIDogYXBwbHkyPCBGLFQxLFQyID4KK3sKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMworICAgID4KK3N0cnVjdCBhcHBseTMKKworICAgIDogYXBwbHlfd3JhcDM8CisgICAgICAgICAgdHlwZW5hbWUgbGFtYmRhPEY+Ojp0eXBlCisgICAgICAgICwgVDEsIFQyLCBUMworICAgICAgICA+Cit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgKKyAgICAgICAgICA0CisgICAgICAgICwgYXBwbHkzCisgICAgICAgICwgKEYsIFQxLCBUMiwgVDMpCisgICAgICAgICkKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMworICAgID4KK3N0cnVjdCBhcHBseTwgRixUMSxUMixUMyxuYSxuYSA+CisgICAgOiBhcHBseTM8IEYsVDEsVDIsVDMgPgoreworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgID4KK3N0cnVjdCBhcHBseTQKKworICAgIDogYXBwbHlfd3JhcDQ8CisgICAgICAgICAgdHlwZW5hbWUgbGFtYmRhPEY+Ojp0eXBlCisgICAgICAgICwgVDEsIFQyLCBUMywgVDQKKyAgICAgICAgPgoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoCisgICAgICAgICAgNQorICAgICAgICAsIGFwcGx5NAorICAgICAgICAsIChGLCBUMSwgVDIsIFQzLCBUNCkKKyAgICAgICAgKQorfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgID4KK3N0cnVjdCBhcHBseTwgRixUMSxUMixUMyxUNCxuYSA+CisgICAgOiBhcHBseTQ8IEYsVDEsVDIsVDMsVDQgPgoreworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUKKyAgICA+CitzdHJ1Y3QgYXBwbHk1CisKKyAgICA6IGFwcGx5X3dyYXA1PAorICAgICAgICAgIHR5cGVuYW1lIGxhbWJkYTxGPjo6dHlwZQorICAgICAgICAsIFQxLCBUMiwgVDMsIFQ0LCBUNQorICAgICAgICA+Cit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgKKyAgICAgICAgICA2CisgICAgICAgICwgYXBwbHk1CisgICAgICAgICwgKEYsIFQxLCBUMiwgVDMsIFQ0LCBUNSkKKyAgICAgICAgKQorfTsKKworLy8vIHByaW1hcnkgdGVtcGxhdGUgKG5vdCBhIHNwZWNpYWxpemF0aW9uISkKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUKKyAgICA+CitzdHJ1Y3QgYXBwbHkKKyAgICA6IGFwcGx5NTwgRixUMSxUMixUMyxUNCxUNSA+Cit7Cit9OworCit9fQorCmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvZG1jL2FwcGx5X2Z3ZC5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvZG1jL2FwcGx5X2Z3ZC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmNjYzk0ZQotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9kbWMvYXBwbHlfZndkLmhwcApAQCAtMCwwICsxLDUyIEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9hcHBseV9md2QuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEgPSBuYSwgdHlwZW5hbWUgVDIgPSBuYSwgdHlwZW5hbWUgVDMgPSBuYQorICAgICwgdHlwZW5hbWUgVDQgPSBuYSwgdHlwZW5hbWUgVDUgPSBuYQorICAgID4KK3N0cnVjdCBhcHBseTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGCisgICAgPgorc3RydWN0IGFwcGx5MDsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMQorICAgID4KK3N0cnVjdCBhcHBseTE7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyCisgICAgPgorc3RydWN0IGFwcGx5MjsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzCisgICAgPgorc3RydWN0IGFwcGx5MzsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgID4KK3N0cnVjdCBhcHBseTQ7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1CisgICAgPgorc3RydWN0IGFwcGx5NTsKKworfX0KKwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2RtYy9hcHBseV93cmFwLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9kbWMvYXBwbHlfd3JhcC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWM5MDIwMgotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9kbWMvYXBwbHlfd3JhcC5ocHAKQEAgLTAsMCArMSw4NCBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvYXBwbHlfd3JhcC5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGCisKKyAgICAsIHR5cGVuYW1lIGhhc19hcHBseV8gPSB0eXBlbmFtZSBhdXg6Omhhc19hcHBseTxGPjo6dHlwZQorCisgICAgPgorc3RydWN0IGFwcGx5X3dyYXAwCisKKyAgICA6IEY6OnRlbXBsYXRlIGFwcGx5PCAgPgoreworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIEYgPgorc3RydWN0IGFwcGx5X3dyYXAwPCBGLHRydWVfID4KKyAgICA6IEY6OmFwcGx5Cit7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxCisKKyAgICA+CitzdHJ1Y3QgYXBwbHlfd3JhcDEKKworICAgIDogRjo6dGVtcGxhdGUgYXBwbHk8VDE+Cit7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMgorCisgICAgPgorc3RydWN0IGFwcGx5X3dyYXAyCisKKyAgICA6IEY6OnRlbXBsYXRlIGFwcGx5PCBUMSxUMiA+Cit7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMKKworICAgID4KK3N0cnVjdCBhcHBseV93cmFwMworCisgICAgOiBGOjp0ZW1wbGF0ZSBhcHBseTwgVDEsVDIsVDMgPgoreworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorCisgICAgPgorc3RydWN0IGFwcGx5X3dyYXA0CisKKyAgICA6IEY6OnRlbXBsYXRlIGFwcGx5PCBUMSxUMixUMyxUNCA+Cit7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNQorCisgICAgPgorc3RydWN0IGFwcGx5X3dyYXA1CisKKyAgICA6IEY6OnRlbXBsYXRlIGFwcGx5PCBUMSxUMixUMyxUNCxUNSA+Cit7Cit9OworCit9fQorCmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvZG1jL2FyZy5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvZG1jL2FyZy5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWExNTdjMgotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9kbWMvYXJnLmhwcApAQCAtMCwwICsxLDEyMyBAQAorCisvLyBDb3B5cmlnaHQgUGV0ZXIgRGltb3YgMjAwMS0yMDAyCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAxLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvYXJnLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK0JPT1NUX01QTF9BVVhfQURMX0JBUlJJRVJfTkFNRVNQQUNFX09QRU4KK3RlbXBsYXRlPD4gc3RydWN0IGFyZzwgLTEgPgoreworICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IC0xKTsKKyAgICBCT09TVF9NUExfQVVYX0FSR19UWVBFREVGKG5hLCB0YWcpCisgICAgQk9PU1RfTVBMX0FVWF9BUkdfVFlQRURFRihuYSwgdHlwZSkKKworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFUxID0gbmEsIHR5cGVuYW1lIFUyID0gbmEsIHR5cGVuYW1lIFUzID0gbmEKKyAgICAgICAgLCB0eXBlbmFtZSBVNCA9IG5hLCB0eXBlbmFtZSBVNSA9IG5hCisgICAgICAgID4KKyAgICBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgVTEgdHlwZTsKKyAgICAgICAgQk9PU1RfTVBMX0FVWF9BU1NFUlRfTk9UX05BKHR5cGUpOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCBhcmc8MT4KK3sKKyAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAxKTsKKyAgICB0eXBlZGVmIGFyZzwyPiBuZXh0OworICAgIEJPT1NUX01QTF9BVVhfQVJHX1RZUEVERUYobmEsIHRhZykKKyAgICBCT09TVF9NUExfQVVYX0FSR19UWVBFREVGKG5hLCB0eXBlKQorCisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVTEgPSBuYSwgdHlwZW5hbWUgVTIgPSBuYSwgdHlwZW5hbWUgVTMgPSBuYQorICAgICAgICAsIHR5cGVuYW1lIFU0ID0gbmEsIHR5cGVuYW1lIFU1ID0gbmEKKyAgICAgICAgPgorICAgIHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBVMSB0eXBlOworICAgICAgICBCT09TVF9NUExfQVVYX0FTU0VSVF9OT1RfTkEodHlwZSk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4gc3RydWN0IGFyZzwyPgoreworICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDIpOworICAgIHR5cGVkZWYgYXJnPDM+IG5leHQ7CisgICAgQk9PU1RfTVBMX0FVWF9BUkdfVFlQRURFRihuYSwgdGFnKQorICAgIEJPT1NUX01QTF9BVVhfQVJHX1RZUEVERUYobmEsIHR5cGUpCisKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBVMSA9IG5hLCB0eXBlbmFtZSBVMiA9IG5hLCB0eXBlbmFtZSBVMyA9IG5hCisgICAgICAgICwgdHlwZW5hbWUgVTQgPSBuYSwgdHlwZW5hbWUgVTUgPSBuYQorICAgICAgICA+CisgICAgc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIFUyIHR5cGU7CisgICAgICAgIEJPT1NUX01QTF9BVVhfQVNTRVJUX05PVF9OQSh0eXBlKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgYXJnPDM+Cit7CisgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMyk7CisgICAgdHlwZWRlZiBhcmc8ND4gbmV4dDsKKyAgICBCT09TVF9NUExfQVVYX0FSR19UWVBFREVGKG5hLCB0YWcpCisgICAgQk9PU1RfTVBMX0FVWF9BUkdfVFlQRURFRihuYSwgdHlwZSkKKworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFUxID0gbmEsIHR5cGVuYW1lIFUyID0gbmEsIHR5cGVuYW1lIFUzID0gbmEKKyAgICAgICAgLCB0eXBlbmFtZSBVNCA9IG5hLCB0eXBlbmFtZSBVNSA9IG5hCisgICAgICAgID4KKyAgICBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgVTMgdHlwZTsKKyAgICAgICAgQk9PU1RfTVBMX0FVWF9BU1NFUlRfTk9UX05BKHR5cGUpOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCBhcmc8ND4KK3sKKyAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSA0KTsKKyAgICB0eXBlZGVmIGFyZzw1PiBuZXh0OworICAgIEJPT1NUX01QTF9BVVhfQVJHX1RZUEVERUYobmEsIHRhZykKKyAgICBCT09TVF9NUExfQVVYX0FSR19UWVBFREVGKG5hLCB0eXBlKQorCisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVTEgPSBuYSwgdHlwZW5hbWUgVTIgPSBuYSwgdHlwZW5hbWUgVTMgPSBuYQorICAgICAgICAsIHR5cGVuYW1lIFU0ID0gbmEsIHR5cGVuYW1lIFU1ID0gbmEKKyAgICAgICAgPgorICAgIHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBVNCB0eXBlOworICAgICAgICBCT09TVF9NUExfQVVYX0FTU0VSVF9OT1RfTkEodHlwZSk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4gc3RydWN0IGFyZzw1PgoreworICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDUpOworICAgIHR5cGVkZWYgYXJnPDY+IG5leHQ7CisgICAgQk9PU1RfTVBMX0FVWF9BUkdfVFlQRURFRihuYSwgdGFnKQorICAgIEJPT1NUX01QTF9BVVhfQVJHX1RZUEVERUYobmEsIHR5cGUpCisKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBVMSA9IG5hLCB0eXBlbmFtZSBVMiA9IG5hLCB0eXBlbmFtZSBVMyA9IG5hCisgICAgICAgICwgdHlwZW5hbWUgVTQgPSBuYSwgdHlwZW5hbWUgVTUgPSBuYQorICAgICAgICA+CisgICAgc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIFU1IHR5cGU7CisgICAgICAgIEJPT1NUX01QTF9BVVhfQVNTRVJUX05PVF9OQSh0eXBlKTsKKyAgICB9OworfTsKKworQk9PU1RfTVBMX0FVWF9OT05UWVBFX0FSSVRZX1NQRUMoMSxpbnQsIGFyZykKKworQk9PU1RfTVBMX0FVWF9BRExfQkFSUklFUl9OQU1FU1BBQ0VfQ0xPU0UKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9kbWMvYmFzaWNfYmluZC5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvZG1jL2Jhc2ljX2JpbmQuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg4OTU4MjUKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvZG1jL2Jhc2ljX2JpbmQuaHBwCkBAIC0wLDAgKzEsNDA2IEBACisKKy8vIENvcHlyaWdodCBQZXRlciBEaW1vdiAyMDAxCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAxLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvYXV4Xy9iYXNpY19iaW5kLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIsIHR5cGVuYW1lIFUzLCB0eXBlbmFtZSBVNAorICAgICwgdHlwZW5hbWUgVTUKKyAgICA+CitzdHJ1Y3QgcmVzb2x2ZV9iaW5kX2FyZworeworICAgIHR5cGVkZWYgVCB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICBpbnQgTiwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyLCB0eXBlbmFtZSBVMywgdHlwZW5hbWUgVTQsIHR5cGVuYW1lIFU1CisgICAgPgorc3RydWN0IHJlc29sdmVfYmluZF9hcmc8IGFyZzxOPiwgVTEsIFUyLCBVMywgVTQsIFU1ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5X3dyYXA1PG1wbDo6YXJnPE4+LCBVMSwgVTIsIFUzLCBVNCwgVTU+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyLCB0eXBlbmFtZSBVMywgdHlwZW5hbWUgVTQKKyAgICAsIHR5cGVuYW1lIFU1CisgICAgPgorc3RydWN0IHJlc29sdmVfYmluZF9hcmc8IGJpbmQ8IEYsVDEsVDIsVDMsVDQsVDUgPiwgVTEsIFUyLCBVMywgVTQsIFU1ID4KK3sKKyAgICB0eXBlZGVmIGJpbmQ8IEYsVDEsVDIsVDMsVDQsVDUgPiBmXzsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5X3dyYXA1PCBmXyxVMSxVMixVMyxVNCxVNSA+Ojp0eXBlIHR5cGU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCBpbnQgZHVtbXlfCisgICAgPgorc3RydWN0IGJpbmQwCit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVTEgPSBuYSwgdHlwZW5hbWUgVTIgPSBuYSwgdHlwZW5hbWUgVTMgPSBuYQorICAgICAgICAsIHR5cGVuYW1lIFU0ID0gbmEsIHR5cGVuYW1lIFU1ID0gbmEKKyAgICAgICAgPgorICAgIHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgcHJpdmF0ZToKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhdXg6OnJlc29sdmVfYmluZF9hcmc8IEYsVTEsVTIsVTMsVTQsVTUgPjo6dHlwZSBmXzsKKworICAgICBwdWJsaWM6CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHlfd3JhcDA8CisgICAgICAgICAgICAgIGZfCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyLCB0eXBlbmFtZSBVMywgdHlwZW5hbWUgVTQKKyAgICAsIHR5cGVuYW1lIFU1CisgICAgPgorc3RydWN0IHJlc29sdmVfYmluZF9hcmc8CisgICAgICBiaW5kMDxGPiwgVTEsIFUyLCBVMywgVTQsIFU1CisgICAgPgoreworICAgIHR5cGVkZWYgYmluZDA8Rj4gZl87CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseV93cmFwNTwgZl8sVTEsVTIsVTMsVTQsVTUgPjo6dHlwZSB0eXBlOworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK0JPT1NUX01QTF9BVVhfQVJJVFlfU1BFQygxLCBiaW5kMCkKK0JPT1NUX01QTF9BVVhfVEVNUExBVEVfQVJJVFlfU1BFQygxLCBiaW5kMCkKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCBpbnQgZHVtbXlfCisgICAgPgorc3RydWN0IGJpbmQ8IEYsbmEsbmEsbmEsbmEsbmEgPgorICAgIDogYmluZDA8Rj4KK3sKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIGludCBkdW1teV8KKyAgICA+CitzdHJ1Y3QgYmluZDEKK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBVMSA9IG5hLCB0eXBlbmFtZSBVMiA9IG5hLCB0eXBlbmFtZSBVMyA9IG5hCisgICAgICAgICwgdHlwZW5hbWUgVTQgPSBuYSwgdHlwZW5hbWUgVTUgPSBuYQorICAgICAgICA+CisgICAgc3RydWN0IGFwcGx5CisgICAgeworICAgICBwcml2YXRlOgorICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgRixVMSxVMixVMyxVNCxVNSA+Ojp0eXBlIGZfOworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgVDEsVTEsVTIsVTMsVTQsVTUgPiB0MTsKKworICAgICBwdWJsaWM6CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHlfd3JhcDE8CisgICAgICAgICAgICAgIGZfCisgICAgICAgICAgICAsIHR5cGVuYW1lIHQxOjp0eXBlCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiwgdHlwZW5hbWUgVTMKKyAgICAsIHR5cGVuYW1lIFU0LCB0eXBlbmFtZSBVNQorICAgID4KK3N0cnVjdCByZXNvbHZlX2JpbmRfYXJnPAorICAgICAgYmluZDE8IEYsVDEgPiwgVTEsIFUyLCBVMywgVTQsIFU1CisgICAgPgoreworICAgIHR5cGVkZWYgYmluZDE8IEYsVDEgPiBmXzsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5X3dyYXA1PCBmXyxVMSxVMixVMyxVNCxVNSA+Ojp0eXBlIHR5cGU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworQk9PU1RfTVBMX0FVWF9BUklUWV9TUEVDKDIsIGJpbmQxKQorQk9PU1RfTVBMX0FVWF9URU1QTEFURV9BUklUWV9TUEVDKDIsIGJpbmQxKQorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCBpbnQgZHVtbXlfCisgICAgPgorc3RydWN0IGJpbmQ8IEYsVDEsbmEsbmEsbmEsbmEgPgorICAgIDogYmluZDE8IEYsVDEgPgoreworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIGludCBkdW1teV8KKyAgICA+CitzdHJ1Y3QgYmluZDIKK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBVMSA9IG5hLCB0eXBlbmFtZSBVMiA9IG5hLCB0eXBlbmFtZSBVMyA9IG5hCisgICAgICAgICwgdHlwZW5hbWUgVTQgPSBuYSwgdHlwZW5hbWUgVTUgPSBuYQorICAgICAgICA+CisgICAgc3RydWN0IGFwcGx5CisgICAgeworICAgICBwcml2YXRlOgorICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgRixVMSxVMixVMyxVNCxVNSA+Ojp0eXBlIGZfOworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgVDEsVTEsVTIsVTMsVTQsVTUgPiB0MTsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IFQyLFUxLFUyLFUzLFU0LFU1ID4gdDI7CisKKyAgICAgcHVibGljOgorICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5X3dyYXAyPAorICAgICAgICAgICAgICBmXworICAgICAgICAgICAgLCB0eXBlbmFtZSB0MTo6dHlwZSwgdHlwZW5hbWUgdDI6OnR5cGUKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMgorICAgICwgdHlwZW5hbWUgVTMsIHR5cGVuYW1lIFU0LCB0eXBlbmFtZSBVNQorICAgID4KK3N0cnVjdCByZXNvbHZlX2JpbmRfYXJnPAorICAgICAgYmluZDI8IEYsVDEsVDIgPiwgVTEsIFUyLCBVMywgVTQsIFU1CisgICAgPgoreworICAgIHR5cGVkZWYgYmluZDI8IEYsVDEsVDIgPiBmXzsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5X3dyYXA1PCBmXyxVMSxVMixVMyxVNCxVNSA+Ojp0eXBlIHR5cGU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworQk9PU1RfTVBMX0FVWF9BUklUWV9TUEVDKDMsIGJpbmQyKQorQk9PU1RfTVBMX0FVWF9URU1QTEFURV9BUklUWV9TUEVDKDMsIGJpbmQyKQorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgaW50IGR1bW15XworICAgID4KK3N0cnVjdCBiaW5kPCBGLFQxLFQyLG5hLG5hLG5hID4KKyAgICA6IGJpbmQyPCBGLFQxLFQyID4KK3sKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgaW50IGR1bW15XworICAgID4KK3N0cnVjdCBiaW5kMworeworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFUxID0gbmEsIHR5cGVuYW1lIFUyID0gbmEsIHR5cGVuYW1lIFUzID0gbmEKKyAgICAgICAgLCB0eXBlbmFtZSBVNCA9IG5hLCB0eXBlbmFtZSBVNSA9IG5hCisgICAgICAgID4KKyAgICBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgIHByaXZhdGU6CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBGLFUxLFUyLFUzLFU0LFU1ID46OnR5cGUgZl87CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBUMSxVMSxVMixVMyxVNCxVNSA+IHQxOworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgVDIsVTEsVTIsVTMsVTQsVTUgPiB0MjsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IFQzLFUxLFUyLFUzLFU0LFU1ID4gdDM7CisKKyAgICAgcHVibGljOgorICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5X3dyYXAzPAorICAgICAgICAgICAgICBmXworICAgICAgICAgICAgLCB0eXBlbmFtZSB0MTo6dHlwZSwgdHlwZW5hbWUgdDI6OnR5cGUsIHR5cGVuYW1lIHQzOjp0eXBlCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVTEKKyAgICAsIHR5cGVuYW1lIFUyLCB0eXBlbmFtZSBVMywgdHlwZW5hbWUgVTQsIHR5cGVuYW1lIFU1CisgICAgPgorc3RydWN0IHJlc29sdmVfYmluZF9hcmc8CisgICAgICBiaW5kMzwgRixUMSxUMixUMyA+LCBVMSwgVTIsIFUzLCBVNCwgVTUKKyAgICA+Cit7CisgICAgdHlwZWRlZiBiaW5kMzwgRixUMSxUMixUMyA+IGZfOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHlfd3JhcDU8IGZfLFUxLFUyLFUzLFU0LFU1ID46OnR5cGUgdHlwZTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCitCT09TVF9NUExfQVVYX0FSSVRZX1NQRUMoNCwgYmluZDMpCitCT09TVF9NUExfQVVYX1RFTVBMQVRFX0FSSVRZX1NQRUMoNCwgYmluZDMpCisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgaW50IGR1bW15XworICAgID4KK3N0cnVjdCBiaW5kPCBGLFQxLFQyLFQzLG5hLG5hID4KKyAgICA6IGJpbmQzPCBGLFQxLFQyLFQzID4KK3sKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIGludCBkdW1teV8KKyAgICA+CitzdHJ1Y3QgYmluZDQKK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBVMSA9IG5hLCB0eXBlbmFtZSBVMiA9IG5hLCB0eXBlbmFtZSBVMyA9IG5hCisgICAgICAgICwgdHlwZW5hbWUgVTQgPSBuYSwgdHlwZW5hbWUgVTUgPSBuYQorICAgICAgICA+CisgICAgc3RydWN0IGFwcGx5CisgICAgeworICAgICBwcml2YXRlOgorICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgRixVMSxVMixVMyxVNCxVNSA+Ojp0eXBlIGZfOworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgVDEsVTEsVTIsVTMsVTQsVTUgPiB0MTsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IFQyLFUxLFUyLFUzLFU0LFU1ID4gdDI7CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBUMyxVMSxVMixVMyxVNCxVNSA+IHQzOworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgVDQsVTEsVTIsVTMsVTQsVTUgPiB0NDsKKworICAgICBwdWJsaWM6CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHlfd3JhcDQ8CisgICAgICAgICAgICAgIGZfCisgICAgICAgICAgICAsIHR5cGVuYW1lIHQxOjp0eXBlLCB0eXBlbmFtZSB0Mjo6dHlwZSwgdHlwZW5hbWUgdDM6OnR5cGUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgdDQ6OnR5cGUKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyLCB0eXBlbmFtZSBVMywgdHlwZW5hbWUgVTQsIHR5cGVuYW1lIFU1CisgICAgPgorc3RydWN0IHJlc29sdmVfYmluZF9hcmc8CisgICAgICBiaW5kNDwgRixUMSxUMixUMyxUNCA+LCBVMSwgVTIsIFUzLCBVNCwgVTUKKyAgICA+Cit7CisgICAgdHlwZWRlZiBiaW5kNDwgRixUMSxUMixUMyxUNCA+IGZfOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHlfd3JhcDU8IGZfLFUxLFUyLFUzLFU0LFU1ID46OnR5cGUgdHlwZTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCitCT09TVF9NUExfQVVYX0FSSVRZX1NQRUMoNSwgYmluZDQpCitCT09TVF9NUExfQVVYX1RFTVBMQVRFX0FSSVRZX1NQRUMoNSwgYmluZDQpCisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIGludCBkdW1teV8KKyAgICA+CitzdHJ1Y3QgYmluZDwgRixUMSxUMixUMyxUNCxuYSA+CisgICAgOiBiaW5kNDwgRixUMSxUMixUMyxUNCA+Cit7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgaW50IGR1bW15XworICAgID4KK3N0cnVjdCBiaW5kNQoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFUxID0gbmEsIHR5cGVuYW1lIFUyID0gbmEsIHR5cGVuYW1lIFUzID0gbmEKKyAgICAgICAgLCB0eXBlbmFtZSBVNCA9IG5hLCB0eXBlbmFtZSBVNSA9IG5hCisgICAgICAgID4KKyAgICBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgIHByaXZhdGU6CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBGLFUxLFUyLFUzLFU0LFU1ID46OnR5cGUgZl87CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBUMSxVMSxVMixVMyxVNCxVNSA+IHQxOworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgVDIsVTEsVTIsVTMsVTQsVTUgPiB0MjsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IFQzLFUxLFUyLFUzLFU0LFU1ID4gdDM7CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBUNCxVMSxVMixVMyxVNCxVNSA+IHQ0OworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgVDUsVTEsVTIsVTMsVTQsVTUgPiB0NTsKKworICAgICBwdWJsaWM6CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHlfd3JhcDU8CisgICAgICAgICAgICAgIGZfCisgICAgICAgICAgICAsIHR5cGVuYW1lIHQxOjp0eXBlLCB0eXBlbmFtZSB0Mjo6dHlwZSwgdHlwZW5hbWUgdDM6OnR5cGUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgdDQ6OnR5cGUsIHR5cGVuYW1lIHQ1Ojp0eXBlCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIsIHR5cGVuYW1lIFUzLCB0eXBlbmFtZSBVNAorICAgICwgdHlwZW5hbWUgVTUKKyAgICA+CitzdHJ1Y3QgcmVzb2x2ZV9iaW5kX2FyZzwKKyAgICAgIGJpbmQ1PCBGLFQxLFQyLFQzLFQ0LFQ1ID4sIFUxLCBVMiwgVTMsIFU0LCBVNQorICAgID4KK3sKKyAgICB0eXBlZGVmIGJpbmQ1PCBGLFQxLFQyLFQzLFQ0LFQ1ID4gZl87CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseV93cmFwNTwgZl8sVTEsVTIsVTMsVTQsVTUgPjo6dHlwZSB0eXBlOworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK0JPT1NUX01QTF9BVVhfQVJJVFlfU1BFQyg2LCBiaW5kNSkKK0JPT1NUX01QTF9BVVhfVEVNUExBVEVfQVJJVFlfU1BFQyg2LCBiaW5kNSkKKworLy8vIHByaW1hcnkgdGVtcGxhdGUgKG5vdCBhIHNwZWNpYWxpemF0aW9uISkKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIGludCBkdW1teV8KKyAgICA+CitzdHJ1Y3QgYmluZAorICAgIDogYmluZDU8IEYsVDEsVDIsVDMsVDQsVDUgPgoreworfTsKKworLy8vIGlmXy9ldmFsX2lmIHNwZWNpYWxpemF0aW9ucwordGVtcGxhdGU8IHRlbXBsYXRlPCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzID4gY2xhc3MgRiwgdHlwZW5hbWUgVGFnID4KK3N0cnVjdCBxdW90ZTM7CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzID4gc3RydWN0IGlmXzsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUYWcsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMKKyAgICA+CitzdHJ1Y3QgYmluZDM8CisgICAgICBxdW90ZTM8IGlmXyxUYWcgPgorICAgICwgVDEsIFQyLCBUMworICAgID4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBVMSA9IG5hLCB0eXBlbmFtZSBVMiA9IG5hLCB0eXBlbmFtZSBVMyA9IG5hCisgICAgICAgICwgdHlwZW5hbWUgVTQgPSBuYSwgdHlwZW5hbWUgVTUgPSBuYQorICAgICAgICA+CisgICAgc3RydWN0IGFwcGx5CisgICAgeworICAgICBwcml2YXRlOgorICAgICAgICB0eXBlZGVmIG1wbDo6YXJnPDE+IG4xOworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgVDEsVTEsVTIsVTMsVTQsVTUgPiB0MTsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IFQyLFUxLFUyLFUzLFU0LFU1ID4gdDI7CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBUMyxVMSxVMixVMyxVNCxVNSA+IHQzOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGlmXzwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgdDE6OnR5cGUKKyAgICAgICAgICAgICwgdDIsIHQzCisgICAgICAgICAgICA+Ojp0eXBlIGZfOworCisgICAgIHB1YmxpYzoKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBmXzo6dHlwZSB0eXBlOworICAgIH07Cit9OworCit9fQorCmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvZG1jL2JpbmQuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2RtYy9iaW5kLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xOGRiMzUwCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2RtYy9iaW5kLmhwcApAQCAtMCwwICsxLDUxNSBAQAorCisvLyBDb3B5cmlnaHQgUGV0ZXIgRGltb3YgMjAwMQorLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMS0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL2JpbmQuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiwgdHlwZW5hbWUgVTMsIHR5cGVuYW1lIFU0CisgICAgLCB0eXBlbmFtZSBVNQorICAgID4KK3N0cnVjdCByZXNvbHZlX2JpbmRfYXJnCit7CisgICAgdHlwZWRlZiBUIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQKKyAgICAsIHR5cGVuYW1lIEFyZworICAgID4KK3N0cnVjdCByZXBsYWNlX3VubmFtZWRfYXJnCit7CisgICAgdHlwZWRlZiBBcmcgbmV4dDsKKyAgICB0eXBlZGVmIFQgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgQXJnCisgICAgPgorc3RydWN0IHJlcGxhY2VfdW5uYW1lZF9hcmc8IGFyZzwgLTEgPiwgQXJnID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIEFyZzo6bmV4dCBuZXh0OworICAgIHR5cGVkZWYgQXJnIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIGludCBOLCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIsIHR5cGVuYW1lIFUzLCB0eXBlbmFtZSBVNCwgdHlwZW5hbWUgVTUKKyAgICA+CitzdHJ1Y3QgcmVzb2x2ZV9iaW5kX2FyZzwgYXJnPE4+LCBVMSwgVTIsIFUzLCBVNCwgVTUgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHlfd3JhcDU8bXBsOjphcmc8Tj4sIFUxLCBVMiwgVTMsIFU0LCBVNT46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIsIHR5cGVuYW1lIFUzLCB0eXBlbmFtZSBVNAorICAgICwgdHlwZW5hbWUgVTUKKyAgICA+CitzdHJ1Y3QgcmVzb2x2ZV9iaW5kX2FyZzwgYmluZDwgRixUMSxUMixUMyxUNCxUNSA+LCBVMSwgVTIsIFUzLCBVNCwgVTUgPgoreworICAgIHR5cGVkZWYgYmluZDwgRixUMSxUMixUMyxUNCxUNSA+IGZfOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHlfd3JhcDU8IGZfLFUxLFUyLFUzLFU0LFU1ID46OnR5cGUgdHlwZTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIGludCBkdW1teV8KKyAgICA+CitzdHJ1Y3QgYmluZDAKK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBVMSA9IG5hLCB0eXBlbmFtZSBVMiA9IG5hLCB0eXBlbmFtZSBVMyA9IG5hCisgICAgICAgICwgdHlwZW5hbWUgVTQgPSBuYSwgdHlwZW5hbWUgVTUgPSBuYQorICAgICAgICA+CisgICAgc3RydWN0IGFwcGx5CisgICAgeworICAgICBwcml2YXRlOgorICAgICAgICB0eXBlZGVmIGF1eDo6cmVwbGFjZV91bm5hbWVkX2FyZzwgRiwgbXBsOjphcmc8MT4gPiByMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMDo6dHlwZSBhMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMDo6bmV4dCBuMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhdXg6OnJlc29sdmVfYmluZF9hcmc8IGEwLFUxLFUyLFUzLFU0LFU1ID46OnR5cGUgZl87CisgICAgICAgIC8vLworICAgICBwdWJsaWM6CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHlfd3JhcDA8CisgICAgICAgICAgICAgIGZfCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyLCB0eXBlbmFtZSBVMywgdHlwZW5hbWUgVTQKKyAgICAsIHR5cGVuYW1lIFU1CisgICAgPgorc3RydWN0IHJlc29sdmVfYmluZF9hcmc8CisgICAgICBiaW5kMDxGPiwgVTEsIFUyLCBVMywgVTQsIFU1CisgICAgPgoreworICAgIHR5cGVkZWYgYmluZDA8Rj4gZl87CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseV93cmFwNTwgZl8sVTEsVTIsVTMsVTQsVTUgPjo6dHlwZSB0eXBlOworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK0JPT1NUX01QTF9BVVhfQVJJVFlfU1BFQygxLCBiaW5kMCkKK0JPT1NUX01QTF9BVVhfVEVNUExBVEVfQVJJVFlfU1BFQygxLCBiaW5kMCkKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCBpbnQgZHVtbXlfCisgICAgPgorc3RydWN0IGJpbmQ8IEYsbmEsbmEsbmEsbmEsbmEgPgorICAgIDogYmluZDA8Rj4KK3sKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIGludCBkdW1teV8KKyAgICA+CitzdHJ1Y3QgYmluZDEKK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBVMSA9IG5hLCB0eXBlbmFtZSBVMiA9IG5hLCB0eXBlbmFtZSBVMyA9IG5hCisgICAgICAgICwgdHlwZW5hbWUgVTQgPSBuYSwgdHlwZW5hbWUgVTUgPSBuYQorICAgICAgICA+CisgICAgc3RydWN0IGFwcGx5CisgICAgeworICAgICBwcml2YXRlOgorICAgICAgICB0eXBlZGVmIGF1eDo6cmVwbGFjZV91bm5hbWVkX2FyZzwgRiwgbXBsOjphcmc8MT4gPiByMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMDo6dHlwZSBhMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMDo6bmV4dCBuMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhdXg6OnJlc29sdmVfYmluZF9hcmc8IGEwLFUxLFUyLFUzLFU0LFU1ID46OnR5cGUgZl87CisgICAgICAgIC8vLworICAgICAgICB0eXBlZGVmIGF1eDo6cmVwbGFjZV91bm5hbWVkX2FyZzwgVDEsbjEgPiByMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMTo6dHlwZSBhMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMTo6bmV4dCBuMjsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IGExLFUxLFUyLFUzLFU0LFU1ID4gdDE7CisgICAgICAgIC8vLworICAgICBwdWJsaWM6CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHlfd3JhcDE8CisgICAgICAgICAgICAgIGZfCisgICAgICAgICAgICAsIHR5cGVuYW1lIHQxOjp0eXBlCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiwgdHlwZW5hbWUgVTMKKyAgICAsIHR5cGVuYW1lIFU0LCB0eXBlbmFtZSBVNQorICAgID4KK3N0cnVjdCByZXNvbHZlX2JpbmRfYXJnPAorICAgICAgYmluZDE8IEYsVDEgPiwgVTEsIFUyLCBVMywgVTQsIFU1CisgICAgPgoreworICAgIHR5cGVkZWYgYmluZDE8IEYsVDEgPiBmXzsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5X3dyYXA1PCBmXyxVMSxVMixVMyxVNCxVNSA+Ojp0eXBlIHR5cGU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworQk9PU1RfTVBMX0FVWF9BUklUWV9TUEVDKDIsIGJpbmQxKQorQk9PU1RfTVBMX0FVWF9URU1QTEFURV9BUklUWV9TUEVDKDIsIGJpbmQxKQorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCBpbnQgZHVtbXlfCisgICAgPgorc3RydWN0IGJpbmQ8IEYsVDEsbmEsbmEsbmEsbmEgPgorICAgIDogYmluZDE8IEYsVDEgPgoreworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIGludCBkdW1teV8KKyAgICA+CitzdHJ1Y3QgYmluZDIKK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBVMSA9IG5hLCB0eXBlbmFtZSBVMiA9IG5hLCB0eXBlbmFtZSBVMyA9IG5hCisgICAgICAgICwgdHlwZW5hbWUgVTQgPSBuYSwgdHlwZW5hbWUgVTUgPSBuYQorICAgICAgICA+CisgICAgc3RydWN0IGFwcGx5CisgICAgeworICAgICBwcml2YXRlOgorICAgICAgICB0eXBlZGVmIGF1eDo6cmVwbGFjZV91bm5hbWVkX2FyZzwgRiwgbXBsOjphcmc8MT4gPiByMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMDo6dHlwZSBhMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMDo6bmV4dCBuMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhdXg6OnJlc29sdmVfYmluZF9hcmc8IGEwLFUxLFUyLFUzLFU0LFU1ID46OnR5cGUgZl87CisgICAgICAgIC8vLworICAgICAgICB0eXBlZGVmIGF1eDo6cmVwbGFjZV91bm5hbWVkX2FyZzwgVDEsbjEgPiByMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMTo6dHlwZSBhMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMTo6bmV4dCBuMjsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IGExLFUxLFUyLFUzLFU0LFU1ID4gdDE7CisgICAgICAgIC8vLworICAgICAgICB0eXBlZGVmIGF1eDo6cmVwbGFjZV91bm5hbWVkX2FyZzwgVDIsbjIgPiByMjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMjo6dHlwZSBhMjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMjo6bmV4dCBuMzsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IGEyLFUxLFUyLFUzLFU0LFU1ID4gdDI7CisgICAgICAgIC8vLworICAgICBwdWJsaWM6CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHlfd3JhcDI8CisgICAgICAgICAgICAgIGZfCisgICAgICAgICAgICAsIHR5cGVuYW1lIHQxOjp0eXBlLCB0eXBlbmFtZSB0Mjo6dHlwZQorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyCisgICAgLCB0eXBlbmFtZSBVMywgdHlwZW5hbWUgVTQsIHR5cGVuYW1lIFU1CisgICAgPgorc3RydWN0IHJlc29sdmVfYmluZF9hcmc8CisgICAgICBiaW5kMjwgRixUMSxUMiA+LCBVMSwgVTIsIFUzLCBVNCwgVTUKKyAgICA+Cit7CisgICAgdHlwZWRlZiBiaW5kMjwgRixUMSxUMiA+IGZfOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHlfd3JhcDU8IGZfLFUxLFUyLFUzLFU0LFU1ID46OnR5cGUgdHlwZTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCitCT09TVF9NUExfQVVYX0FSSVRZX1NQRUMoMywgYmluZDIpCitCT09TVF9NUExfQVVYX1RFTVBMQVRFX0FSSVRZX1NQRUMoMywgYmluZDIpCisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCBpbnQgZHVtbXlfCisgICAgPgorc3RydWN0IGJpbmQ8IEYsVDEsVDIsbmEsbmEsbmEgPgorICAgIDogYmluZDI8IEYsVDEsVDIgPgoreworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCBpbnQgZHVtbXlfCisgICAgPgorc3RydWN0IGJpbmQzCit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVTEgPSBuYSwgdHlwZW5hbWUgVTIgPSBuYSwgdHlwZW5hbWUgVTMgPSBuYQorICAgICAgICAsIHR5cGVuYW1lIFU0ID0gbmEsIHR5cGVuYW1lIFU1ID0gbmEKKyAgICAgICAgPgorICAgIHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgcHJpdmF0ZToKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlcGxhY2VfdW5uYW1lZF9hcmc8IEYsIG1wbDo6YXJnPDE+ID4gcjA7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjA6OnR5cGUgYTA7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjA6Om5leHQgbjE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBhMCxVMSxVMixVMyxVNCxVNSA+Ojp0eXBlIGZfOworICAgICAgICAvLy8KKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlcGxhY2VfdW5uYW1lZF9hcmc8IFQxLG4xID4gcjE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjE6OnR5cGUgYTE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjE6Om5leHQgbjI7CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBhMSxVMSxVMixVMyxVNCxVNSA+IHQxOworICAgICAgICAvLy8KKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlcGxhY2VfdW5uYW1lZF9hcmc8IFQyLG4yID4gcjI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjI6OnR5cGUgYTI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjI6Om5leHQgbjM7CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBhMixVMSxVMixVMyxVNCxVNSA+IHQyOworICAgICAgICAvLy8KKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlcGxhY2VfdW5uYW1lZF9hcmc8IFQzLG4zID4gcjM7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjM6OnR5cGUgYTM7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjM6Om5leHQgbjQ7CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBhMyxVMSxVMixVMyxVNCxVNSA+IHQzOworICAgICAgICAvLy8KKyAgICAgcHVibGljOgorICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5X3dyYXAzPAorICAgICAgICAgICAgICBmXworICAgICAgICAgICAgLCB0eXBlbmFtZSB0MTo6dHlwZSwgdHlwZW5hbWUgdDI6OnR5cGUsIHR5cGVuYW1lIHQzOjp0eXBlCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVTEKKyAgICAsIHR5cGVuYW1lIFUyLCB0eXBlbmFtZSBVMywgdHlwZW5hbWUgVTQsIHR5cGVuYW1lIFU1CisgICAgPgorc3RydWN0IHJlc29sdmVfYmluZF9hcmc8CisgICAgICBiaW5kMzwgRixUMSxUMixUMyA+LCBVMSwgVTIsIFUzLCBVNCwgVTUKKyAgICA+Cit7CisgICAgdHlwZWRlZiBiaW5kMzwgRixUMSxUMixUMyA+IGZfOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHlfd3JhcDU8IGZfLFUxLFUyLFUzLFU0LFU1ID46OnR5cGUgdHlwZTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCitCT09TVF9NUExfQVVYX0FSSVRZX1NQRUMoNCwgYmluZDMpCitCT09TVF9NUExfQVVYX1RFTVBMQVRFX0FSSVRZX1NQRUMoNCwgYmluZDMpCisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgaW50IGR1bW15XworICAgID4KK3N0cnVjdCBiaW5kPCBGLFQxLFQyLFQzLG5hLG5hID4KKyAgICA6IGJpbmQzPCBGLFQxLFQyLFQzID4KK3sKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIGludCBkdW1teV8KKyAgICA+CitzdHJ1Y3QgYmluZDQKK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBVMSA9IG5hLCB0eXBlbmFtZSBVMiA9IG5hLCB0eXBlbmFtZSBVMyA9IG5hCisgICAgICAgICwgdHlwZW5hbWUgVTQgPSBuYSwgdHlwZW5hbWUgVTUgPSBuYQorICAgICAgICA+CisgICAgc3RydWN0IGFwcGx5CisgICAgeworICAgICBwcml2YXRlOgorICAgICAgICB0eXBlZGVmIGF1eDo6cmVwbGFjZV91bm5hbWVkX2FyZzwgRiwgbXBsOjphcmc8MT4gPiByMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMDo6dHlwZSBhMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMDo6bmV4dCBuMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhdXg6OnJlc29sdmVfYmluZF9hcmc8IGEwLFUxLFUyLFUzLFU0LFU1ID46OnR5cGUgZl87CisgICAgICAgIC8vLworICAgICAgICB0eXBlZGVmIGF1eDo6cmVwbGFjZV91bm5hbWVkX2FyZzwgVDEsbjEgPiByMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMTo6dHlwZSBhMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMTo6bmV4dCBuMjsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IGExLFUxLFUyLFUzLFU0LFU1ID4gdDE7CisgICAgICAgIC8vLworICAgICAgICB0eXBlZGVmIGF1eDo6cmVwbGFjZV91bm5hbWVkX2FyZzwgVDIsbjIgPiByMjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMjo6dHlwZSBhMjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMjo6bmV4dCBuMzsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IGEyLFUxLFUyLFUzLFU0LFU1ID4gdDI7CisgICAgICAgIC8vLworICAgICAgICB0eXBlZGVmIGF1eDo6cmVwbGFjZV91bm5hbWVkX2FyZzwgVDMsbjMgPiByMzsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMzo6dHlwZSBhMzsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMzo6bmV4dCBuNDsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IGEzLFUxLFUyLFUzLFU0LFU1ID4gdDM7CisgICAgICAgIC8vLworICAgICAgICB0eXBlZGVmIGF1eDo6cmVwbGFjZV91bm5hbWVkX2FyZzwgVDQsbjQgPiByNDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByNDo6dHlwZSBhNDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByNDo6bmV4dCBuNTsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IGE0LFUxLFUyLFUzLFU0LFU1ID4gdDQ7CisgICAgICAgIC8vLworICAgICBwdWJsaWM6CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHlfd3JhcDQ8CisgICAgICAgICAgICAgIGZfCisgICAgICAgICAgICAsIHR5cGVuYW1lIHQxOjp0eXBlLCB0eXBlbmFtZSB0Mjo6dHlwZSwgdHlwZW5hbWUgdDM6OnR5cGUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgdDQ6OnR5cGUKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyLCB0eXBlbmFtZSBVMywgdHlwZW5hbWUgVTQsIHR5cGVuYW1lIFU1CisgICAgPgorc3RydWN0IHJlc29sdmVfYmluZF9hcmc8CisgICAgICBiaW5kNDwgRixUMSxUMixUMyxUNCA+LCBVMSwgVTIsIFUzLCBVNCwgVTUKKyAgICA+Cit7CisgICAgdHlwZWRlZiBiaW5kNDwgRixUMSxUMixUMyxUNCA+IGZfOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHlfd3JhcDU8IGZfLFUxLFUyLFUzLFU0LFU1ID46OnR5cGUgdHlwZTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCitCT09TVF9NUExfQVVYX0FSSVRZX1NQRUMoNSwgYmluZDQpCitCT09TVF9NUExfQVVYX1RFTVBMQVRFX0FSSVRZX1NQRUMoNSwgYmluZDQpCisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIGludCBkdW1teV8KKyAgICA+CitzdHJ1Y3QgYmluZDwgRixUMSxUMixUMyxUNCxuYSA+CisgICAgOiBiaW5kNDwgRixUMSxUMixUMyxUNCA+Cit7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgaW50IGR1bW15XworICAgID4KK3N0cnVjdCBiaW5kNQoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFUxID0gbmEsIHR5cGVuYW1lIFUyID0gbmEsIHR5cGVuYW1lIFUzID0gbmEKKyAgICAgICAgLCB0eXBlbmFtZSBVNCA9IG5hLCB0eXBlbmFtZSBVNSA9IG5hCisgICAgICAgID4KKyAgICBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgIHByaXZhdGU6CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXBsYWNlX3VubmFtZWRfYXJnPCBGLCBtcGw6OmFyZzwxPiA+IHIwOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIwOjp0eXBlIGEwOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIwOjpuZXh0IG4xOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgYTAsVTEsVTIsVTMsVTQsVTUgPjo6dHlwZSBmXzsKKyAgICAgICAgLy8vCisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXBsYWNlX3VubmFtZWRfYXJnPCBUMSxuMSA+IHIxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIxOjp0eXBlIGExOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIxOjpuZXh0IG4yOworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgYTEsVTEsVTIsVTMsVTQsVTUgPiB0MTsKKyAgICAgICAgLy8vCisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXBsYWNlX3VubmFtZWRfYXJnPCBUMixuMiA+IHIyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIyOjp0eXBlIGEyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIyOjpuZXh0IG4zOworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgYTIsVTEsVTIsVTMsVTQsVTUgPiB0MjsKKyAgICAgICAgLy8vCisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXBsYWNlX3VubmFtZWRfYXJnPCBUMyxuMyA+IHIzOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIzOjp0eXBlIGEzOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIzOjpuZXh0IG40OworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgYTMsVTEsVTIsVTMsVTQsVTUgPiB0MzsKKyAgICAgICAgLy8vCisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXBsYWNlX3VubmFtZWRfYXJnPCBUNCxuNCA+IHI0OworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHI0Ojp0eXBlIGE0OworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHI0OjpuZXh0IG41OworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgYTQsVTEsVTIsVTMsVTQsVTUgPiB0NDsKKyAgICAgICAgLy8vCisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXBsYWNlX3VubmFtZWRfYXJnPCBUNSxuNSA+IHI1OworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHI1Ojp0eXBlIGE1OworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHI1OjpuZXh0IG42OworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgYTUsVTEsVTIsVTMsVTQsVTUgPiB0NTsKKyAgICAgICAgLy8vCisgICAgIHB1YmxpYzoKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseV93cmFwNTwKKyAgICAgICAgICAgICAgZl8KKyAgICAgICAgICAgICwgdHlwZW5hbWUgdDE6OnR5cGUsIHR5cGVuYW1lIHQyOjp0eXBlLCB0eXBlbmFtZSB0Mzo6dHlwZQorICAgICAgICAgICAgLCB0eXBlbmFtZSB0NDo6dHlwZSwgdHlwZW5hbWUgdDU6OnR5cGUKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiwgdHlwZW5hbWUgVTMsIHR5cGVuYW1lIFU0CisgICAgLCB0eXBlbmFtZSBVNQorICAgID4KK3N0cnVjdCByZXNvbHZlX2JpbmRfYXJnPAorICAgICAgYmluZDU8IEYsVDEsVDIsVDMsVDQsVDUgPiwgVTEsIFUyLCBVMywgVTQsIFU1CisgICAgPgoreworICAgIHR5cGVkZWYgYmluZDU8IEYsVDEsVDIsVDMsVDQsVDUgPiBmXzsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5X3dyYXA1PCBmXyxVMSxVMixVMyxVNCxVNSA+Ojp0eXBlIHR5cGU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworQk9PU1RfTVBMX0FVWF9BUklUWV9TUEVDKDYsIGJpbmQ1KQorQk9PU1RfTVBMX0FVWF9URU1QTEFURV9BUklUWV9TUEVDKDYsIGJpbmQ1KQorCisvLy8gcHJpbWFyeSB0ZW1wbGF0ZSAobm90IGEgc3BlY2lhbGl6YXRpb24hKQorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgaW50IGR1bW15XworICAgID4KK3N0cnVjdCBiaW5kCisgICAgOiBiaW5kNTwgRixUMSxUMixUMyxUNCxUNSA+Cit7Cit9OworCisvLy8gaWZfL2V2YWxfaWYgc3BlY2lhbGl6YXRpb25zCit0ZW1wbGF0ZTwgdGVtcGxhdGU8IHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMgPiBjbGFzcyBGLCB0eXBlbmFtZSBUYWcgPgorc3RydWN0IHF1b3RlMzsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMgPiBzdHJ1Y3QgaWZfOworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFRhZywgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMworICAgID4KK3N0cnVjdCBiaW5kMzwKKyAgICAgIHF1b3RlMzwgaWZfLFRhZyA+CisgICAgLCBUMSwgVDIsIFQzCisgICAgPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFUxID0gbmEsIHR5cGVuYW1lIFUyID0gbmEsIHR5cGVuYW1lIFUzID0gbmEKKyAgICAgICAgLCB0eXBlbmFtZSBVNCA9IG5hLCB0eXBlbmFtZSBVNSA9IG5hCisgICAgICAgID4KKyAgICBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgIHByaXZhdGU6CisgICAgICAgIHR5cGVkZWYgbXBsOjphcmc8MT4gbjE7CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXBsYWNlX3VubmFtZWRfYXJnPCBUMSxuMSA+IHIxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIxOjp0eXBlIGExOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIxOjpuZXh0IG4yOworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgYTEsVTEsVTIsVTMsVTQsVTUgPiB0MTsKKyAgICAgICAgLy8vCisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXBsYWNlX3VubmFtZWRfYXJnPCBUMixuMiA+IHIyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIyOjp0eXBlIGEyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIyOjpuZXh0IG4zOworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgYTIsVTEsVTIsVTMsVTQsVTUgPiB0MjsKKyAgICAgICAgLy8vCisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXBsYWNlX3VubmFtZWRfYXJnPCBUMyxuMyA+IHIzOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIzOjp0eXBlIGEzOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIzOjpuZXh0IG40OworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgYTMsVTEsVTIsVTMsVTQsVTUgPiB0MzsKKyAgICAgICAgLy8vCisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgaWZfPAorICAgICAgICAgICAgICB0eXBlbmFtZSB0MTo6dHlwZQorICAgICAgICAgICAgLCB0MiwgdDMKKyAgICAgICAgICAgID46OnR5cGUgZl87CisKKyAgICAgcHVibGljOgorICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGZfOjp0eXBlIHR5cGU7CisgICAgfTsKK307CisKK319CisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9kbWMvYmluZF9md2QuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2RtYy9iaW5kX2Z3ZC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTJlZWViOQotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9kbWMvYmluZF9md2QuaHBwCkBAIC0wLDAgKzEsNTMgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL2JpbmRfZndkLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxID0gbmEsIHR5cGVuYW1lIFQyID0gbmEsIHR5cGVuYW1lIFQzID0gbmEKKyAgICAsIHR5cGVuYW1lIFQ0ID0gbmEsIHR5cGVuYW1lIFQ1ID0gbmEsIGludCBkdW1teV8gPSAwCisgICAgPgorc3RydWN0IGJpbmQ7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgaW50IGR1bW15XyA9IDAKKyAgICA+CitzdHJ1Y3QgYmluZDA7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIGludCBkdW1teV8gPSAwCisgICAgPgorc3RydWN0IGJpbmQxOworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgaW50IGR1bW15XyA9IDAKKyAgICA+CitzdHJ1Y3QgYmluZDI7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgaW50IGR1bW15XyA9IDAKKyAgICA+CitzdHJ1Y3QgYmluZDM7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIGludCBkdW1teV8gPSAwCisgICAgPgorc3RydWN0IGJpbmQ0OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgaW50IGR1bW15XyA9IDAKKyAgICA+CitzdHJ1Y3QgYmluZDU7CisKK319CisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9kbWMvYml0YW5kLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9kbWMvYml0YW5kLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MGU4NTkzCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2RtYy9iaXRhbmQuaHBwCkBAIC0wLDAgKzEsMTQ3IEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8gQ29weXJpZ2h0IEphYXAgU3V0ZXIgMjAwMworLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9iaXRhbmQuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVGFnMQorICAgICwgdHlwZW5hbWUgVGFnMgorICAgID4KK3N0cnVjdCBiaXRhbmRfaW1wbAorICAgIDogaWZfYzwKKyAgICAgICAgICAoIEJPT1NUX01QTF9BVVhfTkVTVEVEX1ZBTFVFX1dLTkQoaW50LCBUYWcxKQorICAgICAgICAgICAgICA+IEJPT1NUX01QTF9BVVhfTkVTVEVEX1ZBTFVFX1dLTkQoaW50LCBUYWcyKQorICAgICAgICAgICAgKQorCisgICAgICAgICwgYXV4OjpjYXN0Mm5kX2ltcGw8IGJpdGFuZF9pbXBsPCBUYWcxLFRhZzEgPixUYWcxLCBUYWcyID4KKyAgICAgICAgLCBhdXg6OmNhc3Qxc3RfaW1wbDwgYml0YW5kX2ltcGw8IFRhZzIsVGFnMiA+LFRhZzEsIFRhZzIgPgorICAgICAgICA+Ojp0eXBlCit7Cit9OworCisvLy8gZm9yIERpZ2l0YWwgTWFycyBDKysvY29tcGlsZXJzIHdpdGggbm8gQ1RQUy9UVFAgc3VwcG9ydAordGVtcGxhdGU8PiBzdHJ1Y3QgYml0YW5kX2ltcGw8IG5hLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVGFnID4gc3RydWN0IGJpdGFuZF9pbXBsPCBuYSxUYWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUYWcgPiBzdHJ1Y3QgYml0YW5kX2ltcGw8IFRhZyxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFQgPiBzdHJ1Y3QgYml0YW5kX3RhZworeworICAgIHR5cGVkZWYgdHlwZW5hbWUgVDo6dGFnIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjEpCisgICAgLCB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4yKQorICAgICwgdHlwZW5hbWUgTjMgPSBuYSwgdHlwZW5hbWUgTjQgPSBuYSwgdHlwZW5hbWUgTjUgPSBuYQorICAgID4KK3N0cnVjdCBiaXRhbmRfCisgICAgOiBiaXRhbmRfPCBiaXRhbmRfPCBiaXRhbmRfPCBiaXRhbmRfPCBOMSxOMiA+LCBOMz4sIE40PiwgTjU+Cit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgKKyAgICAgICAgICA1CisgICAgICAgICwgYml0YW5kXworICAgICAgICAsICggTjEsIE4yLCBOMywgTjQsIE41ICkKKyAgICAgICAgKQorfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBOMSwgdHlwZW5hbWUgTjIsIHR5cGVuYW1lIE4zLCB0eXBlbmFtZSBONAorICAgID4KK3N0cnVjdCBiaXRhbmRfPCBOMSxOMixOMyxONCxuYSA+CisKKyAgICA6IGJpdGFuZF88IGJpdGFuZF88IGJpdGFuZF88IE4xLE4yID4sIE4zPiwgTjQ+Cit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVF9TUEVDKAorICAgICAgICAgIDUKKyAgICAgICAgLCBiaXRhbmRfCisgICAgICAgICwgKCBOMSwgTjIsIE4zLCBONCwgbmEgKQorICAgICAgICApCit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIE4xLCB0eXBlbmFtZSBOMiwgdHlwZW5hbWUgTjMKKyAgICA+CitzdHJ1Y3QgYml0YW5kXzwgTjEsTjIsTjMsbmEsbmEgPgorCisgICAgOiBiaXRhbmRfPCBiaXRhbmRfPCBOMSxOMiA+LCBOMz4KK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUX1NQRUMoCisgICAgICAgICAgNQorICAgICAgICAsIGJpdGFuZF8KKyAgICAgICAgLCAoIE4xLCBOMiwgTjMsIG5hLCBuYSApCisgICAgICAgICkKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgTjEsIHR5cGVuYW1lIE4yCisgICAgPgorc3RydWN0IGJpdGFuZF88IE4xLE4yLG5hLG5hLG5hID4KKyAgICA6IGJpdGFuZF9pbXBsPAorICAgICAgICAgIHR5cGVuYW1lIGJpdGFuZF90YWc8TjE+Ojp0eXBlCisgICAgICAgICwgdHlwZW5hbWUgYml0YW5kX3RhZzxOMj46OnR5cGUKKyAgICAgICAgPjo6dGVtcGxhdGUgYXBwbHk8IE4xLE4yID46OnR5cGUKK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUX1NQRUMoCisgICAgICAgICAgNQorICAgICAgICAsIGJpdGFuZF8KKyAgICAgICAgLCAoIE4xLCBOMiwgbmEsIG5hLCBuYSApCisgICAgICAgICkKKworfTsKKworQk9PU1RfTVBMX0FVWF9OQV9TUEVDMigyLCA1LCBiaXRhbmRfKQorCit9fQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKK3RlbXBsYXRlPD4KK3N0cnVjdCBiaXRhbmRfaW1wbDwgaW50ZWdyYWxfY190YWcsaW50ZWdyYWxfY190YWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBOMSwgdHlwZW5hbWUgTjIgPiBzdHJ1Y3QgYXBwbHkKKworICAgICAgICA6IGludGVncmFsX2M8CisgICAgICAgICAgICAgIHR5cGVuYW1lIGF1eDo6bGFyZ2VzdF9pbnQ8CisgICAgICAgICAgICAgICAgICB0eXBlbmFtZSBOMTo6dmFsdWVfdHlwZQorICAgICAgICAgICAgICAgICwgdHlwZW5hbWUgTjI6OnZhbHVlX3R5cGUKKyAgICAgICAgICAgICAgICA+Ojp0eXBlCisgICAgICAgICAgICAsICggQk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4xKTo6dmFsdWUKKyAgICAgICAgICAgICAgICAgICYgQk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4yKTo6dmFsdWUKKyAgICAgICAgICAgICAgICApCisgICAgICAgICAgICA+CisgICAgeworICAgIH07Cit9OworCit9fQpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2RtYy9iaXRvci5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvZG1jL2JpdG9yLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNzFhOGY0Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2RtYy9iaXRvci5ocHAKQEAgLTAsMCArMSwxNDcgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLyBDb3B5cmlnaHQgSmFhcCBTdXRlciAyMDAzCisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL2JpdG9yLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFRhZzEKKyAgICAsIHR5cGVuYW1lIFRhZzIKKyAgICA+CitzdHJ1Y3QgYml0b3JfaW1wbAorICAgIDogaWZfYzwKKyAgICAgICAgICAoIEJPT1NUX01QTF9BVVhfTkVTVEVEX1ZBTFVFX1dLTkQoaW50LCBUYWcxKQorICAgICAgICAgICAgICA+IEJPT1NUX01QTF9BVVhfTkVTVEVEX1ZBTFVFX1dLTkQoaW50LCBUYWcyKQorICAgICAgICAgICAgKQorCisgICAgICAgICwgYXV4OjpjYXN0Mm5kX2ltcGw8IGJpdG9yX2ltcGw8IFRhZzEsVGFnMSA+LFRhZzEsIFRhZzIgPgorICAgICAgICAsIGF1eDo6Y2FzdDFzdF9pbXBsPCBiaXRvcl9pbXBsPCBUYWcyLFRhZzIgPixUYWcxLCBUYWcyID4KKyAgICAgICAgPjo6dHlwZQoreworfTsKKworLy8vIGZvciBEaWdpdGFsIE1hcnMgQysrL2NvbXBpbGVycyB3aXRoIG5vIENUUFMvVFRQIHN1cHBvcnQKK3RlbXBsYXRlPD4gc3RydWN0IGJpdG9yX2ltcGw8IG5hLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVGFnID4gc3RydWN0IGJpdG9yX2ltcGw8IG5hLFRhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFRhZyA+IHN0cnVjdCBiaXRvcl9pbXBsPCBUYWcsbmEgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUID4gc3RydWN0IGJpdG9yX3RhZworeworICAgIHR5cGVkZWYgdHlwZW5hbWUgVDo6dGFnIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjEpCisgICAgLCB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4yKQorICAgICwgdHlwZW5hbWUgTjMgPSBuYSwgdHlwZW5hbWUgTjQgPSBuYSwgdHlwZW5hbWUgTjUgPSBuYQorICAgID4KK3N0cnVjdCBiaXRvcl8KKyAgICA6IGJpdG9yXzwgYml0b3JfPCBiaXRvcl88IGJpdG9yXzwgTjEsTjIgPiwgTjM+LCBOND4sIE41PgoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoCisgICAgICAgICAgNQorICAgICAgICAsIGJpdG9yXworICAgICAgICAsICggTjEsIE4yLCBOMywgTjQsIE41ICkKKyAgICAgICAgKQorfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBOMSwgdHlwZW5hbWUgTjIsIHR5cGVuYW1lIE4zLCB0eXBlbmFtZSBONAorICAgID4KK3N0cnVjdCBiaXRvcl88IE4xLE4yLE4zLE40LG5hID4KKworICAgIDogYml0b3JfPCBiaXRvcl88IGJpdG9yXzwgTjEsTjIgPiwgTjM+LCBOND4KK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUX1NQRUMoCisgICAgICAgICAgNQorICAgICAgICAsIGJpdG9yXworICAgICAgICAsICggTjEsIE4yLCBOMywgTjQsIG5hICkKKyAgICAgICAgKQorfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBOMSwgdHlwZW5hbWUgTjIsIHR5cGVuYW1lIE4zCisgICAgPgorc3RydWN0IGJpdG9yXzwgTjEsTjIsTjMsbmEsbmEgPgorCisgICAgOiBiaXRvcl88IGJpdG9yXzwgTjEsTjIgPiwgTjM+Cit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVF9TUEVDKAorICAgICAgICAgIDUKKyAgICAgICAgLCBiaXRvcl8KKyAgICAgICAgLCAoIE4xLCBOMiwgTjMsIG5hLCBuYSApCisgICAgICAgICkKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgTjEsIHR5cGVuYW1lIE4yCisgICAgPgorc3RydWN0IGJpdG9yXzwgTjEsTjIsbmEsbmEsbmEgPgorICAgIDogYml0b3JfaW1wbDwKKyAgICAgICAgICB0eXBlbmFtZSBiaXRvcl90YWc8TjE+Ojp0eXBlCisgICAgICAgICwgdHlwZW5hbWUgYml0b3JfdGFnPE4yPjo6dHlwZQorICAgICAgICA+Ojp0ZW1wbGF0ZSBhcHBseTwgTjEsTjIgPjo6dHlwZQoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlRfU1BFQygKKyAgICAgICAgICA1CisgICAgICAgICwgYml0b3JfCisgICAgICAgICwgKCBOMSwgTjIsIG5hLCBuYSwgbmEgKQorICAgICAgICApCisKK307CisKK0JPT1NUX01QTF9BVVhfTkFfU1BFQzIoMiwgNSwgYml0b3JfKQorCit9fQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKK3RlbXBsYXRlPD4KK3N0cnVjdCBiaXRvcl9pbXBsPCBpbnRlZ3JhbF9jX3RhZyxpbnRlZ3JhbF9jX3RhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIE4xLCB0eXBlbmFtZSBOMiA+IHN0cnVjdCBhcHBseQorCisgICAgICAgIDogaW50ZWdyYWxfYzwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgYXV4OjpsYXJnZXN0X2ludDwKKyAgICAgICAgICAgICAgICAgIHR5cGVuYW1lIE4xOjp2YWx1ZV90eXBlCisgICAgICAgICAgICAgICAgLCB0eXBlbmFtZSBOMjo6dmFsdWVfdHlwZQorICAgICAgICAgICAgICAgID46OnR5cGUKKyAgICAgICAgICAgICwgKCBCT09TVF9NUExfQVVYX1ZBTFVFX1dLTkQoTjEpOjp2YWx1ZQorICAgICAgICAgICAgICAgICAgfCBCT09TVF9NUExfQVVYX1ZBTFVFX1dLTkQoTjIpOjp2YWx1ZQorICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgID4KKyAgICB7CisgICAgfTsKK307CisKK319CmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvZG1jL2JpdHhvci5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvZG1jL2JpdHhvci5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjdmMGNlNwotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9kbWMvYml0eG9yLmhwcApAQCAtMCwwICsxLDE0NyBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vIENvcHlyaWdodCBKYWFwIFN1dGVyIDIwMDMKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvYml0eG9yLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFRhZzEKKyAgICAsIHR5cGVuYW1lIFRhZzIKKyAgICA+CitzdHJ1Y3QgYml0eG9yX2ltcGwKKyAgICA6IGlmX2M8CisgICAgICAgICAgKCBCT09TVF9NUExfQVVYX05FU1RFRF9WQUxVRV9XS05EKGludCwgVGFnMSkKKyAgICAgICAgICAgICAgPiBCT09TVF9NUExfQVVYX05FU1RFRF9WQUxVRV9XS05EKGludCwgVGFnMikKKyAgICAgICAgICAgICkKKworICAgICAgICAsIGF1eDo6Y2FzdDJuZF9pbXBsPCBiaXR4b3JfaW1wbDwgVGFnMSxUYWcxID4sVGFnMSwgVGFnMiA+CisgICAgICAgICwgYXV4OjpjYXN0MXN0X2ltcGw8IGJpdHhvcl9pbXBsPCBUYWcyLFRhZzIgPixUYWcxLCBUYWcyID4KKyAgICAgICAgPjo6dHlwZQoreworfTsKKworLy8vIGZvciBEaWdpdGFsIE1hcnMgQysrL2NvbXBpbGVycyB3aXRoIG5vIENUUFMvVFRQIHN1cHBvcnQKK3RlbXBsYXRlPD4gc3RydWN0IGJpdHhvcl9pbXBsPCBuYSxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFRhZyA+IHN0cnVjdCBiaXR4b3JfaW1wbDwgbmEsVGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVGFnID4gc3RydWN0IGJpdHhvcl9pbXBsPCBUYWcsbmEgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUID4gc3RydWN0IGJpdHhvcl90YWcKK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIFQ6OnRhZyB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4xKQorICAgICwgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMikKKyAgICAsIHR5cGVuYW1lIE4zID0gbmEsIHR5cGVuYW1lIE40ID0gbmEsIHR5cGVuYW1lIE41ID0gbmEKKyAgICA+CitzdHJ1Y3QgYml0eG9yXworICAgIDogYml0eG9yXzwgYml0eG9yXzwgYml0eG9yXzwgYml0eG9yXzwgTjEsTjIgPiwgTjM+LCBOND4sIE41PgoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoCisgICAgICAgICAgNQorICAgICAgICAsIGJpdHhvcl8KKyAgICAgICAgLCAoIE4xLCBOMiwgTjMsIE40LCBONSApCisgICAgICAgICkKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgTjEsIHR5cGVuYW1lIE4yLCB0eXBlbmFtZSBOMywgdHlwZW5hbWUgTjQKKyAgICA+CitzdHJ1Y3QgYml0eG9yXzwgTjEsTjIsTjMsTjQsbmEgPgorCisgICAgOiBiaXR4b3JfPCBiaXR4b3JfPCBiaXR4b3JfPCBOMSxOMiA+LCBOMz4sIE40PgoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlRfU1BFQygKKyAgICAgICAgICA1CisgICAgICAgICwgYml0eG9yXworICAgICAgICAsICggTjEsIE4yLCBOMywgTjQsIG5hICkKKyAgICAgICAgKQorfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBOMSwgdHlwZW5hbWUgTjIsIHR5cGVuYW1lIE4zCisgICAgPgorc3RydWN0IGJpdHhvcl88IE4xLE4yLE4zLG5hLG5hID4KKworICAgIDogYml0eG9yXzwgYml0eG9yXzwgTjEsTjIgPiwgTjM+Cit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVF9TUEVDKAorICAgICAgICAgIDUKKyAgICAgICAgLCBiaXR4b3JfCisgICAgICAgICwgKCBOMSwgTjIsIE4zLCBuYSwgbmEgKQorICAgICAgICApCit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIE4xLCB0eXBlbmFtZSBOMgorICAgID4KK3N0cnVjdCBiaXR4b3JfPCBOMSxOMixuYSxuYSxuYSA+CisgICAgOiBiaXR4b3JfaW1wbDwKKyAgICAgICAgICB0eXBlbmFtZSBiaXR4b3JfdGFnPE4xPjo6dHlwZQorICAgICAgICAsIHR5cGVuYW1lIGJpdHhvcl90YWc8TjI+Ojp0eXBlCisgICAgICAgID46OnRlbXBsYXRlIGFwcGx5PCBOMSxOMiA+Ojp0eXBlCit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVF9TUEVDKAorICAgICAgICAgIDUKKyAgICAgICAgLCBiaXR4b3JfCisgICAgICAgICwgKCBOMSwgTjIsIG5hLCBuYSwgbmEgKQorICAgICAgICApCisKK307CisKK0JPT1NUX01QTF9BVVhfTkFfU1BFQzIoMiwgNSwgYml0eG9yXykKKworfX0KKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7Cit0ZW1wbGF0ZTw+CitzdHJ1Y3QgYml0eG9yX2ltcGw8IGludGVncmFsX2NfdGFnLGludGVncmFsX2NfdGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgTjEsIHR5cGVuYW1lIE4yID4gc3RydWN0IGFwcGx5CisKKyAgICAgICAgOiBpbnRlZ3JhbF9jPAorICAgICAgICAgICAgICB0eXBlbmFtZSBhdXg6Omxhcmdlc3RfaW50PAorICAgICAgICAgICAgICAgICAgdHlwZW5hbWUgTjE6OnZhbHVlX3R5cGUKKyAgICAgICAgICAgICAgICAsIHR5cGVuYW1lIE4yOjp2YWx1ZV90eXBlCisgICAgICAgICAgICAgICAgPjo6dHlwZQorICAgICAgICAgICAgLCAoIEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChOMSk6OnZhbHVlCisgICAgICAgICAgICAgICAgICBeIEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChOMik6OnZhbHVlCisgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgPgorICAgIHsKKyAgICB9OworfTsKKworfX0KZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9kbWMvZGVxdWUuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2RtYy9kZXF1ZS5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDYzMWY2NgotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9kbWMvZGVxdWUuaHBwCkBAIC0wLDAgKzEsMzIzIEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9kZXF1ZS5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCA9IG5hLCB0eXBlbmFtZSBUMSA9IG5hLCB0eXBlbmFtZSBUMiA9IG5hLCB0eXBlbmFtZSBUMyA9IG5hCisgICAgLCB0eXBlbmFtZSBUNCA9IG5hLCB0eXBlbmFtZSBUNSA9IG5hLCB0eXBlbmFtZSBUNiA9IG5hLCB0eXBlbmFtZSBUNyA9IG5hCisgICAgLCB0eXBlbmFtZSBUOCA9IG5hLCB0eXBlbmFtZSBUOSA9IG5hLCB0eXBlbmFtZSBUMTAgPSBuYSwgdHlwZW5hbWUgVDExID0gbmEKKyAgICAsIHR5cGVuYW1lIFQxMiA9IG5hLCB0eXBlbmFtZSBUMTMgPSBuYSwgdHlwZW5hbWUgVDE0ID0gbmEKKyAgICAsIHR5cGVuYW1lIFQxNSA9IG5hLCB0eXBlbmFtZSBUMTYgPSBuYSwgdHlwZW5hbWUgVDE3ID0gbmEKKyAgICAsIHR5cGVuYW1lIFQxOCA9IG5hLCB0eXBlbmFtZSBUMTkgPSBuYQorICAgID4KK3N0cnVjdCBkZXF1ZTsKKwordGVtcGxhdGU8CisgICAgIAorICAgID4KK3N0cnVjdCBkZXF1ZTwKKyAgICAgICAgICBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHZlY3RvcjA8ICA+Cit7CisgICAgdHlwZWRlZiB2ZWN0b3IwPCAgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMAorICAgID4KK3N0cnVjdCBkZXF1ZTwKKyAgICAgICAgICBUMCwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHZlY3RvcjE8VDA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxPFQwPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEKKyAgICA+CitzdHJ1Y3QgZGVxdWU8CisgICAgICAgICAgVDAsIFQxLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3IyPCBUMCxUMSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IyPCBUMCxUMSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIKKyAgICA+CitzdHJ1Y3QgZGVxdWU8CisgICAgICAgICAgVDAsIFQxLCBUMiwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3IzPCBUMCxUMSxUMiA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IzPCBUMCxUMSxUMiA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzCisgICAgPgorc3RydWN0IGRlcXVlPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogdmVjdG9yNDwgVDAsVDEsVDIsVDMgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yNDwgVDAsVDEsVDIsVDMgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICA+CitzdHJ1Y3QgZGVxdWU8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3I1PCBUMCxUMSxUMixUMyxUNCA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3I1PCBUMCxUMSxUMixUMyxUNCA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUKKyAgICA+CitzdHJ1Y3QgZGVxdWU8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3I2PCBUMCxUMSxUMixUMyxUNCxUNSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3I2PCBUMCxUMSxUMixUMyxUNCxUNSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2CisgICAgPgorc3RydWN0IGRlcXVlPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogdmVjdG9yNzwgVDAsVDEsVDIsVDMsVDQsVDUsVDYgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yNzwgVDAsVDEsVDIsVDMsVDQsVDUsVDYgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcKKyAgICA+CitzdHJ1Y3QgZGVxdWU8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3I4PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3I4PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgKKyAgICA+CitzdHJ1Y3QgZGVxdWU8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3I5PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3I5PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgPgorc3RydWN0IGRlcXVlPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogdmVjdG9yMTA8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjEwPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAKKyAgICA+CitzdHJ1Y3QgZGVxdWU8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogdmVjdG9yMTE8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxMTwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExCisgICAgPgorc3RydWN0IGRlcXVlPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3IxMjwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxMjwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyCisgICAgPgorc3RydWN0IGRlcXVlPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogdmVjdG9yMTM8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjEzPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMiA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMKKyAgICA+CitzdHJ1Y3QgZGVxdWU8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogdmVjdG9yMTQ8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxNDwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgPgorc3RydWN0IGRlcXVlPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNCwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3IxNTwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTU8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyxUMTQgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAsIHR5cGVuYW1lIFQxNQorICAgID4KK3N0cnVjdCBkZXF1ZTwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgLCBUMTUsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHZlY3RvcjE2PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNQorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxNjwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzLFQxNCxUMTUgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2CisgICAgPgorc3RydWN0IGRlcXVlPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgVDE2LCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHZlY3RvcjE3PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgVDE2CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjE3PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMsVDE0LFQxNSxUMTYgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcKKyAgICA+CitzdHJ1Y3QgZGVxdWU8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1LCBUMTYsIFQxNywgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHZlY3RvcjE4PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgVDE2LCBUMTcKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTg8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyxUMTQsVDE1LFQxNixUMTcgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOAorICAgID4KK3N0cnVjdCBkZXF1ZTwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgLCBUMTUsIFQxNiwgVDE3LCBUMTgsIG5hCisgICAgICAgID4KKyAgICA6IHZlY3RvcjE5PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgVDE2LCBUMTcsIFQxOAorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxOTwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzLFQxNCxUMTUsVDE2LFQxNyxUMTggPjo6dHlwZSB0eXBlOworfTsKKworLy8vIHByaW1hcnkgdGVtcGxhdGUgKG5vdCBhIHNwZWNpYWxpemF0aW9uISkKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgPgorc3RydWN0IGRlcXVlCisgICAgOiB2ZWN0b3IyMDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgLCBUMTUsIFQxNiwgVDE3LCBUMTgsIFQxOQorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IyMDwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzLFQxNCxUMTUsVDE2LFQxNyxUMTgsVDE5ID46OnR5cGUgdHlwZTsKK307CisKK319CisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9kbWMvZGl2aWRlcy5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvZG1jL2RpdmlkZXMuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBmNTQxNWMKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvZG1jL2RpdmlkZXMuaHBwCkBAIC0wLDAgKzEsMTQ2IEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9kaXZpZGVzLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFRhZzEKKyAgICAsIHR5cGVuYW1lIFRhZzIKKyAgICA+CitzdHJ1Y3QgZGl2aWRlc19pbXBsCisgICAgOiBpZl9jPAorICAgICAgICAgICggQk9PU1RfTVBMX0FVWF9ORVNURURfVkFMVUVfV0tORChpbnQsIFRhZzEpCisgICAgICAgICAgICAgID4gQk9PU1RfTVBMX0FVWF9ORVNURURfVkFMVUVfV0tORChpbnQsIFRhZzIpCisgICAgICAgICAgICApCisKKyAgICAgICAgLCBhdXg6OmNhc3QybmRfaW1wbDwgZGl2aWRlc19pbXBsPCBUYWcxLFRhZzEgPixUYWcxLCBUYWcyID4KKyAgICAgICAgLCBhdXg6OmNhc3Qxc3RfaW1wbDwgZGl2aWRlc19pbXBsPCBUYWcyLFRhZzIgPixUYWcxLCBUYWcyID4KKyAgICAgICAgPjo6dHlwZQoreworfTsKKworLy8vIGZvciBEaWdpdGFsIE1hcnMgQysrL2NvbXBpbGVycyB3aXRoIG5vIENUUFMvVFRQIHN1cHBvcnQKK3RlbXBsYXRlPD4gc3RydWN0IGRpdmlkZXNfaW1wbDwgbmEsbmEgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUYWcgPiBzdHJ1Y3QgZGl2aWRlc19pbXBsPCBuYSxUYWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUYWcgPiBzdHJ1Y3QgZGl2aWRlc19pbXBsPCBUYWcsbmEgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUID4gc3RydWN0IGRpdmlkZXNfdGFnCit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBUOjp0YWcgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMSkKKyAgICAsIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjIpCisgICAgLCB0eXBlbmFtZSBOMyA9IG5hLCB0eXBlbmFtZSBONCA9IG5hLCB0eXBlbmFtZSBONSA9IG5hCisgICAgPgorc3RydWN0IGRpdmlkZXMKKyAgICA6IGRpdmlkZXM8IGRpdmlkZXM8IGRpdmlkZXM8IGRpdmlkZXM8IE4xLE4yID4sIE4zPiwgTjQ+LCBONT4KK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKAorICAgICAgICAgIDUKKyAgICAgICAgLCBkaXZpZGVzCisgICAgICAgICwgKCBOMSwgTjIsIE4zLCBONCwgTjUgKQorICAgICAgICApCit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIE4xLCB0eXBlbmFtZSBOMiwgdHlwZW5hbWUgTjMsIHR5cGVuYW1lIE40CisgICAgPgorc3RydWN0IGRpdmlkZXM8IE4xLE4yLE4zLE40LG5hID4KKworICAgIDogZGl2aWRlczwgZGl2aWRlczwgZGl2aWRlczwgTjEsTjIgPiwgTjM+LCBOND4KK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUX1NQRUMoCisgICAgICAgICAgNQorICAgICAgICAsIGRpdmlkZXMKKyAgICAgICAgLCAoIE4xLCBOMiwgTjMsIE40LCBuYSApCisgICAgICAgICkKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgTjEsIHR5cGVuYW1lIE4yLCB0eXBlbmFtZSBOMworICAgID4KK3N0cnVjdCBkaXZpZGVzPCBOMSxOMixOMyxuYSxuYSA+CisKKyAgICA6IGRpdmlkZXM8IGRpdmlkZXM8IE4xLE4yID4sIE4zPgoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlRfU1BFQygKKyAgICAgICAgICA1CisgICAgICAgICwgZGl2aWRlcworICAgICAgICAsICggTjEsIE4yLCBOMywgbmEsIG5hICkKKyAgICAgICAgKQorfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBOMSwgdHlwZW5hbWUgTjIKKyAgICA+CitzdHJ1Y3QgZGl2aWRlczwgTjEsTjIsbmEsbmEsbmEgPgorICAgIDogZGl2aWRlc19pbXBsPAorICAgICAgICAgIHR5cGVuYW1lIGRpdmlkZXNfdGFnPE4xPjo6dHlwZQorICAgICAgICAsIHR5cGVuYW1lIGRpdmlkZXNfdGFnPE4yPjo6dHlwZQorICAgICAgICA+Ojp0ZW1wbGF0ZSBhcHBseTwgTjEsTjIgPjo6dHlwZQoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlRfU1BFQygKKyAgICAgICAgICA1CisgICAgICAgICwgZGl2aWRlcworICAgICAgICAsICggTjEsIE4yLCBuYSwgbmEsIG5hICkKKyAgICAgICAgKQorCit9OworCitCT09TVF9NUExfQVVYX05BX1NQRUMyKDIsIDUsIGRpdmlkZXMpCisKK319CisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgewordGVtcGxhdGU8Pgorc3RydWN0IGRpdmlkZXNfaW1wbDwgaW50ZWdyYWxfY190YWcsaW50ZWdyYWxfY190YWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBOMSwgdHlwZW5hbWUgTjIgPiBzdHJ1Y3QgYXBwbHkKKworICAgICAgICA6IGludGVncmFsX2M8CisgICAgICAgICAgICAgIHR5cGVuYW1lIGF1eDo6bGFyZ2VzdF9pbnQ8CisgICAgICAgICAgICAgICAgICB0eXBlbmFtZSBOMTo6dmFsdWVfdHlwZQorICAgICAgICAgICAgICAgICwgdHlwZW5hbWUgTjI6OnZhbHVlX3R5cGUKKyAgICAgICAgICAgICAgICA+Ojp0eXBlCisgICAgICAgICAgICAsICggQk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4xKTo6dmFsdWUKKyAgICAgICAgICAgICAgICAgIC8gQk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4yKTo6dmFsdWUKKyAgICAgICAgICAgICAgICApCisgICAgICAgICAgICA+CisgICAgeworICAgIH07Cit9OworCit9fQpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2RtYy9lcXVhbF90by5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvZG1jL2VxdWFsX3RvLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZDAyZGE0Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2RtYy9lcXVhbF90by5ocHAKQEAgLTAsMCArMSw5NCBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvZXF1YWxfdG8uaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVGFnMQorICAgICwgdHlwZW5hbWUgVGFnMgorICAgID4KK3N0cnVjdCBlcXVhbF90b19pbXBsCisgICAgOiBpZl9jPAorICAgICAgICAgICggQk9PU1RfTVBMX0FVWF9ORVNURURfVkFMVUVfV0tORChpbnQsIFRhZzEpCisgICAgICAgICAgICAgID4gQk9PU1RfTVBMX0FVWF9ORVNURURfVkFMVUVfV0tORChpbnQsIFRhZzIpCisgICAgICAgICAgICApCisKKyAgICAgICAgLCBhdXg6OmNhc3QybmRfaW1wbDwgZXF1YWxfdG9faW1wbDwgVGFnMSxUYWcxID4sVGFnMSwgVGFnMiA+CisgICAgICAgICwgYXV4OjpjYXN0MXN0X2ltcGw8IGVxdWFsX3RvX2ltcGw8IFRhZzIsVGFnMiA+LFRhZzEsIFRhZzIgPgorICAgICAgICA+Ojp0eXBlCit7Cit9OworCisvLy8gZm9yIERpZ2l0YWwgTWFycyBDKysvY29tcGlsZXJzIHdpdGggbm8gQ1RQUy9UVFAgc3VwcG9ydAordGVtcGxhdGU8PiBzdHJ1Y3QgZXF1YWxfdG9faW1wbDwgbmEsbmEgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUYWcgPiBzdHJ1Y3QgZXF1YWxfdG9faW1wbDwgbmEsVGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVGFnID4gc3RydWN0IGVxdWFsX3RvX2ltcGw8IFRhZyxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFQgPiBzdHJ1Y3QgZXF1YWxfdG9fdGFnCit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBUOjp0YWcgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMSkKKyAgICAsIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjIpCisgICAgPgorc3RydWN0IGVxdWFsX3RvCisKKyAgICA6IGVxdWFsX3RvX2ltcGw8CisgICAgICAgICAgdHlwZW5hbWUgZXF1YWxfdG9fdGFnPE4xPjo6dHlwZQorICAgICAgICAsIHR5cGVuYW1lIGVxdWFsX3RvX3RhZzxOMj46OnR5cGUKKyAgICAgICAgPjo6dGVtcGxhdGUgYXBwbHk8IE4xLE4yID46OnR5cGUKK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKDIsIGVxdWFsX3RvLCAoTjEsIE4yKSkKKworfTsKKworQk9PU1RfTVBMX0FVWF9OQV9TUEVDMigyLCAyLCBlcXVhbF90bykKKworfX0KKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBlcXVhbF90b19pbXBsPCBpbnRlZ3JhbF9jX3RhZyxpbnRlZ3JhbF9jX3RhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIE4xLCB0eXBlbmFtZSBOMiA+IHN0cnVjdCBhcHBseQorCisgICAgICAgIDogYm9vbF88ICggQk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4xKTo6dmFsdWUgID09IEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChOMik6OnZhbHVlICkgPgorICAgIHsKKyAgICB9OworfTsKKworfX0KZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9kbWMvZm9sZF9pbXBsLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9kbWMvZm9sZF9pbXBsLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40OTRjZDQxCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2RtYy9mb2xkX2ltcGwuaHBwCkBAIC0wLDAgKzEsMTgwIEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9hdXhfL2ZvbGRfaW1wbC5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsgbmFtZXNwYWNlIGF1eCB7CisKKy8vLyBmb3J3YXJkIGRlY2xhcmF0aW9uCisKK3RlbXBsYXRlPAorICAgICAgaW50IE4KKyAgICAsIHR5cGVuYW1lIEZpcnN0CisgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgPgorc3RydWN0IGZvbGRfaW1wbDsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGaXJzdAorICAgICwgdHlwZW5hbWUgTGFzdAorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgID4KK3N0cnVjdCBmb2xkX2ltcGw8IDAsRmlyc3QsTGFzdCxTdGF0ZSxGb3J3YXJkT3AgPgoreworICAgIHR5cGVkZWYgRmlyc3QgaXRlcjA7CisgICAgdHlwZWRlZiBTdGF0ZSBzdGF0ZTA7CisgICAgdHlwZWRlZiBzdGF0ZTAgc3RhdGU7CisgICAgdHlwZWRlZiBpdGVyMCBpdGVyYXRvcjsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+CitzdHJ1Y3QgZm9sZF9pbXBsPCAxLEZpcnN0LExhc3QsU3RhdGUsRm9yd2FyZE9wID4KK3sKKyAgICB0eXBlZGVmIEZpcnN0IGl0ZXIwOworICAgIHR5cGVkZWYgU3RhdGUgc3RhdGUwOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsIHN0YXRlMCwgdHlwZW5hbWUgZGVyZWY8aXRlcjA+Ojp0eXBlID46OnR5cGUgc3RhdGUxOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIwPjo6dHlwZSBpdGVyMTsKKyAgICAKKworICAgIHR5cGVkZWYgc3RhdGUxIHN0YXRlOworICAgIHR5cGVkZWYgaXRlcjEgaXRlcmF0b3I7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgPgorc3RydWN0IGZvbGRfaW1wbDwgMixGaXJzdCxMYXN0LFN0YXRlLEZvcndhcmRPcCA+Cit7CisgICAgdHlwZWRlZiBGaXJzdCBpdGVyMDsKKyAgICB0eXBlZGVmIFN0YXRlIHN0YXRlMDsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLCBzdGF0ZTAsIHR5cGVuYW1lIGRlcmVmPGl0ZXIwPjo6dHlwZSA+Ojp0eXBlIHN0YXRlMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMD46OnR5cGUgaXRlcjE7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCwgc3RhdGUxLCB0eXBlbmFtZSBkZXJlZjxpdGVyMT46OnR5cGUgPjo6dHlwZSBzdGF0ZTI7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjE+Ojp0eXBlIGl0ZXIyOworICAgIAorCisgICAgdHlwZWRlZiBzdGF0ZTIgc3RhdGU7CisgICAgdHlwZWRlZiBpdGVyMiBpdGVyYXRvcjsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+CitzdHJ1Y3QgZm9sZF9pbXBsPCAzLEZpcnN0LExhc3QsU3RhdGUsRm9yd2FyZE9wID4KK3sKKyAgICB0eXBlZGVmIEZpcnN0IGl0ZXIwOworICAgIHR5cGVkZWYgU3RhdGUgc3RhdGUwOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsIHN0YXRlMCwgdHlwZW5hbWUgZGVyZWY8aXRlcjA+Ojp0eXBlID46OnR5cGUgc3RhdGUxOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIwPjo6dHlwZSBpdGVyMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLCBzdGF0ZTEsIHR5cGVuYW1lIGRlcmVmPGl0ZXIxPjo6dHlwZSA+Ojp0eXBlIHN0YXRlMjsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMT46OnR5cGUgaXRlcjI7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCwgc3RhdGUyLCB0eXBlbmFtZSBkZXJlZjxpdGVyMj46OnR5cGUgPjo6dHlwZSBzdGF0ZTM7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjI+Ojp0eXBlIGl0ZXIzOworICAgIAorCisgICAgdHlwZWRlZiBzdGF0ZTMgc3RhdGU7CisgICAgdHlwZWRlZiBpdGVyMyBpdGVyYXRvcjsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+CitzdHJ1Y3QgZm9sZF9pbXBsPCA0LEZpcnN0LExhc3QsU3RhdGUsRm9yd2FyZE9wID4KK3sKKyAgICB0eXBlZGVmIEZpcnN0IGl0ZXIwOworICAgIHR5cGVkZWYgU3RhdGUgc3RhdGUwOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsIHN0YXRlMCwgdHlwZW5hbWUgZGVyZWY8aXRlcjA+Ojp0eXBlID46OnR5cGUgc3RhdGUxOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIwPjo6dHlwZSBpdGVyMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLCBzdGF0ZTEsIHR5cGVuYW1lIGRlcmVmPGl0ZXIxPjo6dHlwZSA+Ojp0eXBlIHN0YXRlMjsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMT46OnR5cGUgaXRlcjI7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCwgc3RhdGUyLCB0eXBlbmFtZSBkZXJlZjxpdGVyMj46OnR5cGUgPjo6dHlwZSBzdGF0ZTM7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjI+Ojp0eXBlIGl0ZXIzOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsIHN0YXRlMywgdHlwZW5hbWUgZGVyZWY8aXRlcjM+Ojp0eXBlID46OnR5cGUgc3RhdGU0OworICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIzPjo6dHlwZSBpdGVyNDsKKyAgICAKKworICAgIHR5cGVkZWYgc3RhdGU0IHN0YXRlOworICAgIHR5cGVkZWYgaXRlcjQgaXRlcmF0b3I7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIGludCBOCisgICAgLCB0eXBlbmFtZSBGaXJzdAorICAgICwgdHlwZW5hbWUgTGFzdAorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgID4KK3N0cnVjdCBmb2xkX2ltcGwKK3sKKyAgICB0eXBlZGVmIGZvbGRfaW1wbDwKKyAgICAgICAgICA0CisgICAgICAgICwgRmlyc3QKKyAgICAgICAgLCBMYXN0CisgICAgICAgICwgU3RhdGUKKyAgICAgICAgLCBGb3J3YXJkT3AKKyAgICAgICAgPiBjaHVua187CisKKyAgICB0eXBlZGVmIGZvbGRfaW1wbDwKKyAgICAgICAgICAoIChOIC0gNCkgPCAwID8gMCA6IE4gLSA0ICkKKyAgICAgICAgLCB0eXBlbmFtZSBjaHVua186Oml0ZXJhdG9yCisgICAgICAgICwgTGFzdAorICAgICAgICAsIHR5cGVuYW1lIGNodW5rXzo6c3RhdGUKKyAgICAgICAgLCBGb3J3YXJkT3AKKyAgICAgICAgPiByZXNfOworCisgICAgdHlwZWRlZiB0eXBlbmFtZSByZXNfOjpzdGF0ZSBzdGF0ZTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHJlc186Oml0ZXJhdG9yIGl0ZXJhdG9yOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGaXJzdAorICAgICwgdHlwZW5hbWUgTGFzdAorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgID4KK3N0cnVjdCBmb2xkX2ltcGw8IC0xLEZpcnN0LExhc3QsU3RhdGUsRm9yd2FyZE9wID4KKyAgICA6IGZvbGRfaW1wbDwKKyAgICAgICAgICAtMQorICAgICAgICAsIHR5cGVuYW1lIG1wbDo6bmV4dDxGaXJzdD46OnR5cGUKKyAgICAgICAgLCBMYXN0CisgICAgICAgICwgdHlwZW5hbWUgYXBwbHkyPEZvcndhcmRPcCxTdGF0ZSwgdHlwZW5hbWUgZGVyZWY8Rmlyc3Q+Ojp0eXBlPjo6dHlwZQorICAgICAgICAsIEZvcndhcmRPcAorICAgICAgICA+Cit7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+CitzdHJ1Y3QgZm9sZF9pbXBsPCAtMSxMYXN0LExhc3QsU3RhdGUsRm9yd2FyZE9wID4KK3sKKyAgICB0eXBlZGVmIFN0YXRlIHN0YXRlOworICAgIHR5cGVkZWYgTGFzdCBpdGVyYXRvcjsKK307CisKK319fQpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2RtYy9mdWxsX2xhbWJkYS5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvZG1jL2Z1bGxfbGFtYmRhLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40ZDA5YzEwCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2RtYy9mdWxsX2xhbWJkYS5ocHAKQEAgLTAsMCArMSw1MzYgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMS0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL2F1eF8vZnVsbF9sYW1iZGEuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwKKyAgICAgIGJvb2wgQzEgPSBmYWxzZSwgYm9vbCBDMiA9IGZhbHNlLCBib29sIEMzID0gZmFsc2UsIGJvb2wgQzQgPSBmYWxzZQorICAgICwgYm9vbCBDNSA9IGZhbHNlCisgICAgPgorc3RydWN0IGxhbWJkYV9vcgorICAgIDogdHJ1ZV8KK3sKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBsYW1iZGFfb3I8IGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlID4KKyAgICA6IGZhbHNlXworeworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVAorICAgICwgdHlwZW5hbWUgVGFnCisgICAKKyAgICA+CitzdHJ1Y3QgbGFtYmRhCit7CisgICAgdHlwZWRlZiBmYWxzZV8gaXNfbGU7CisgICAgdHlwZWRlZiBUIHJlc3VsdF87CisgICAgdHlwZWRlZiBUIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQKKyAgICA+CitzdHJ1Y3QgaXNfbGFtYmRhX2V4cHJlc3Npb24KKyAgICA6IGxhbWJkYTxUPjo6aXNfbGUKK3sKK307CisKK3RlbXBsYXRlPCBpbnQgTiwgdHlwZW5hbWUgVGFnID4KK3N0cnVjdCBsYW1iZGE8IGFyZzxOPiwgVGFnID4KK3sKKyAgICB0eXBlZGVmIHRydWVfIGlzX2xlOworICAgIHR5cGVkZWYgbXBsOjphcmc8Tj4gcmVzdWx0XzsgLy8gcXVhbGlmaWVkIGZvciB0aGUgc2FrZSBvZiBNSVBTcHJvIDcuNDEKKyAgICB0eXBlZGVmIG1wbDo6cHJvdGVjdDxyZXN1bHRfPiB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGCisgICAgLCB0eXBlbmFtZSBUYWcKKyAgICA+CitzdHJ1Y3QgbGFtYmRhPAorICAgICAgICAgIGJpbmQwPEY+CisgICAgICAgICwgVGFnCisgICAgICAgCisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIGZhbHNlXyBpc19sZTsKKyAgICB0eXBlZGVmIGJpbmQwPAorICAgICAgICAgIEYKKyAgICAgICAgPiByZXN1bHRfOworCisgICAgdHlwZWRlZiByZXN1bHRfIHR5cGU7Cit9OworCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBJc0xFLCB0eXBlbmFtZSBUYWcKKyAgICAsIHRlbXBsYXRlPCB0eXBlbmFtZSBQMSA+IGNsYXNzIEYKKyAgICAsIHR5cGVuYW1lIEwxCisgICAgPgorc3RydWN0IGxlX3Jlc3VsdDEKK3sKKyAgICB0eXBlZGVmIEY8CisgICAgICAgICAgdHlwZW5hbWUgTDE6OnR5cGUKKyAgICAgICAgPiByZXN1bHRfOworCisgICAgdHlwZWRlZiByZXN1bHRfIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFRhZworICAgICwgdGVtcGxhdGU8IHR5cGVuYW1lIFAxID4gY2xhc3MgRgorICAgICwgdHlwZW5hbWUgTDEKKyAgICA+CitzdHJ1Y3QgbGVfcmVzdWx0MTwgdHJ1ZV8sVGFnLEYsTDEgPgoreworICAgIHR5cGVkZWYgYmluZDE8CisgICAgICAgICAgcXVvdGUxPCBGLFRhZyA+CisgICAgICAgICwgdHlwZW5hbWUgTDE6OnJlc3VsdF8KKyAgICAgICAgPiByZXN1bHRfOworCisgICAgdHlwZWRlZiBtcGw6OnByb3RlY3Q8cmVzdWx0Xz4gdHlwZTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCit0ZW1wbGF0ZTwKKyAgICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBQMSA+IGNsYXNzIEYKKyAgICAsIHR5cGVuYW1lIFQxCisgICAgLCB0eXBlbmFtZSBUYWcKKyAgICA+CitzdHJ1Y3QgbGFtYmRhPAorICAgICAgICAgIEY8VDE+CisgICAgICAgICwgVGFnCisgICAgICAgCisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIGxhbWJkYTwgVDEsVGFnID4gbDE7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsMTo6aXNfbGUgaXNfbGUxOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXV4OjpsYW1iZGFfb3I8CisgICAgICAgICAgaXNfbGUxOjp2YWx1ZQorICAgICAgICA+Ojp0eXBlIGlzX2xlOworCisgICAgdHlwZWRlZiBhdXg6OmxlX3Jlc3VsdDE8CisgICAgICAgICAgaXNfbGUsIFRhZywgRiwgbDEKKyAgICAgICAgPiBsZV9yZXN1bHRfOworCisgICAgdHlwZWRlZiB0eXBlbmFtZSBsZV9yZXN1bHRfOjpyZXN1bHRfIHJlc3VsdF87CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsZV9yZXN1bHRfOjp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxCisgICAgLCB0eXBlbmFtZSBUYWcKKyAgICA+CitzdHJ1Y3QgbGFtYmRhPAorICAgICAgICAgIGJpbmQxPCBGLFQxID4KKyAgICAgICAgLCBUYWcKKyAgICAgICAKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgZmFsc2VfIGlzX2xlOworICAgIHR5cGVkZWYgYmluZDE8CisgICAgICAgICAgRgorICAgICAgICAsIFQxCisgICAgICAgID4gcmVzdWx0XzsKKworICAgIHR5cGVkZWYgcmVzdWx0XyB0eXBlOworfTsKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgSXNMRSwgdHlwZW5hbWUgVGFnCisgICAgLCB0ZW1wbGF0ZTwgdHlwZW5hbWUgUDEsIHR5cGVuYW1lIFAyID4gY2xhc3MgRgorICAgICwgdHlwZW5hbWUgTDEsIHR5cGVuYW1lIEwyCisgICAgPgorc3RydWN0IGxlX3Jlc3VsdDIKK3sKKyAgICB0eXBlZGVmIEY8CisgICAgICAgICAgdHlwZW5hbWUgTDE6OnR5cGUsIHR5cGVuYW1lIEwyOjp0eXBlCisgICAgICAgID4gcmVzdWx0XzsKKworICAgIHR5cGVkZWYgcmVzdWx0XyB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUYWcKKyAgICAsIHRlbXBsYXRlPCB0eXBlbmFtZSBQMSwgdHlwZW5hbWUgUDIgPiBjbGFzcyBGCisgICAgLCB0eXBlbmFtZSBMMSwgdHlwZW5hbWUgTDIKKyAgICA+CitzdHJ1Y3QgbGVfcmVzdWx0MjwgdHJ1ZV8sVGFnLEYsTDEsTDIgPgoreworICAgIHR5cGVkZWYgYmluZDI8CisgICAgICAgICAgcXVvdGUyPCBGLFRhZyA+CisgICAgICAgICwgdHlwZW5hbWUgTDE6OnJlc3VsdF8sIHR5cGVuYW1lIEwyOjpyZXN1bHRfCisgICAgICAgID4gcmVzdWx0XzsKKworICAgIHR5cGVkZWYgbXBsOjpwcm90ZWN0PHJlc3VsdF8+IHR5cGU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKwordGVtcGxhdGU8CisgICAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgUDEsIHR5cGVuYW1lIFAyID4gY2xhc3MgRgorICAgICwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyCisgICAgLCB0eXBlbmFtZSBUYWcKKyAgICA+CitzdHJ1Y3QgbGFtYmRhPAorICAgICAgICAgIEY8IFQxLFQyID4KKyAgICAgICAgLCBUYWcKKyAgICAgICAKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgbGFtYmRhPCBUMSxUYWcgPiBsMTsKKyAgICB0eXBlZGVmIGxhbWJkYTwgVDIsVGFnID4gbDI7CisgICAgCisgICAgdHlwZWRlZiB0eXBlbmFtZSBsMTo6aXNfbGUgaXNfbGUxOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbDI6OmlzX2xlIGlzX2xlMjsKKyAgICAKKworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXV4OjpsYW1iZGFfb3I8CisgICAgICAgICAgaXNfbGUxOjp2YWx1ZSwgaXNfbGUyOjp2YWx1ZQorICAgICAgICA+Ojp0eXBlIGlzX2xlOworCisgICAgdHlwZWRlZiBhdXg6OmxlX3Jlc3VsdDI8CisgICAgICAgICAgaXNfbGUsIFRhZywgRiwgbDEsIGwyCisgICAgICAgID4gbGVfcmVzdWx0XzsKKworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGVfcmVzdWx0Xzo6cmVzdWx0XyByZXN1bHRfOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGVfcmVzdWx0Xzo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIKKyAgICAsIHR5cGVuYW1lIFRhZworICAgID4KK3N0cnVjdCBsYW1iZGE8CisgICAgICAgICAgYmluZDI8IEYsVDEsVDIgPgorICAgICAgICAsIFRhZworICAgICAgIAorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiBmYWxzZV8gaXNfbGU7CisgICAgdHlwZWRlZiBiaW5kMjwKKyAgICAgICAgICBGCisgICAgICAgICwgVDEsIFQyCisgICAgICAgID4gcmVzdWx0XzsKKworICAgIHR5cGVkZWYgcmVzdWx0XyB0eXBlOworfTsKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgSXNMRSwgdHlwZW5hbWUgVGFnCisgICAgLCB0ZW1wbGF0ZTwgdHlwZW5hbWUgUDEsIHR5cGVuYW1lIFAyLCB0eXBlbmFtZSBQMyA+IGNsYXNzIEYKKyAgICAsIHR5cGVuYW1lIEwxLCB0eXBlbmFtZSBMMiwgdHlwZW5hbWUgTDMKKyAgICA+CitzdHJ1Y3QgbGVfcmVzdWx0MworeworICAgIHR5cGVkZWYgRjwKKyAgICAgICAgICB0eXBlbmFtZSBMMTo6dHlwZSwgdHlwZW5hbWUgTDI6OnR5cGUsIHR5cGVuYW1lIEwzOjp0eXBlCisgICAgICAgID4gcmVzdWx0XzsKKworICAgIHR5cGVkZWYgcmVzdWx0XyB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUYWcKKyAgICAsIHRlbXBsYXRlPCB0eXBlbmFtZSBQMSwgdHlwZW5hbWUgUDIsIHR5cGVuYW1lIFAzID4gY2xhc3MgRgorICAgICwgdHlwZW5hbWUgTDEsIHR5cGVuYW1lIEwyLCB0eXBlbmFtZSBMMworICAgID4KK3N0cnVjdCBsZV9yZXN1bHQzPCB0cnVlXyxUYWcsRixMMSxMMixMMyA+Cit7CisgICAgdHlwZWRlZiBiaW5kMzwKKyAgICAgICAgICBxdW90ZTM8IEYsVGFnID4KKyAgICAgICAgLCB0eXBlbmFtZSBMMTo6cmVzdWx0XywgdHlwZW5hbWUgTDI6OnJlc3VsdF8sIHR5cGVuYW1lIEwzOjpyZXN1bHRfCisgICAgICAgID4gcmVzdWx0XzsKKworICAgIHR5cGVkZWYgbXBsOjpwcm90ZWN0PHJlc3VsdF8+IHR5cGU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKwordGVtcGxhdGU8CisgICAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgUDEsIHR5cGVuYW1lIFAyLCB0eXBlbmFtZSBQMyA+IGNsYXNzIEYKKyAgICAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMKKyAgICAsIHR5cGVuYW1lIFRhZworICAgID4KK3N0cnVjdCBsYW1iZGE8CisgICAgICAgICAgRjwgVDEsVDIsVDMgPgorICAgICAgICAsIFRhZworICAgICAgIAorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiBsYW1iZGE8IFQxLFRhZyA+IGwxOworICAgIHR5cGVkZWYgbGFtYmRhPCBUMixUYWcgPiBsMjsKKyAgICB0eXBlZGVmIGxhbWJkYTwgVDMsVGFnID4gbDM7CisgICAgCisgICAgdHlwZWRlZiB0eXBlbmFtZSBsMTo6aXNfbGUgaXNfbGUxOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbDI6OmlzX2xlIGlzX2xlMjsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGwzOjppc19sZSBpc19sZTM7CisgICAgCisKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGF1eDo6bGFtYmRhX29yPAorICAgICAgICAgIGlzX2xlMTo6dmFsdWUsIGlzX2xlMjo6dmFsdWUsIGlzX2xlMzo6dmFsdWUKKyAgICAgICAgPjo6dHlwZSBpc19sZTsKKworICAgIHR5cGVkZWYgYXV4OjpsZV9yZXN1bHQzPAorICAgICAgICAgIGlzX2xlLCBUYWcsIEYsIGwxLCBsMiwgbDMKKyAgICAgICAgPiBsZV9yZXN1bHRfOworCisgICAgdHlwZWRlZiB0eXBlbmFtZSBsZV9yZXN1bHRfOjpyZXN1bHRfIHJlc3VsdF87CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsZV9yZXN1bHRfOjp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMKKyAgICAsIHR5cGVuYW1lIFRhZworICAgID4KK3N0cnVjdCBsYW1iZGE8CisgICAgICAgICAgYmluZDM8IEYsVDEsVDIsVDMgPgorICAgICAgICAsIFRhZworICAgICAgIAorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiBmYWxzZV8gaXNfbGU7CisgICAgdHlwZWRlZiBiaW5kMzwKKyAgICAgICAgICBGCisgICAgICAgICwgVDEsIFQyLCBUMworICAgICAgICA+IHJlc3VsdF87CisKKyAgICB0eXBlZGVmIHJlc3VsdF8gdHlwZTsKK307CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIElzTEUsIHR5cGVuYW1lIFRhZworICAgICwgdGVtcGxhdGU8IHR5cGVuYW1lIFAxLCB0eXBlbmFtZSBQMiwgdHlwZW5hbWUgUDMsIHR5cGVuYW1lIFA0ID4gY2xhc3MgRgorICAgICwgdHlwZW5hbWUgTDEsIHR5cGVuYW1lIEwyLCB0eXBlbmFtZSBMMywgdHlwZW5hbWUgTDQKKyAgICA+CitzdHJ1Y3QgbGVfcmVzdWx0NAoreworICAgIHR5cGVkZWYgRjwKKyAgICAgICAgICB0eXBlbmFtZSBMMTo6dHlwZSwgdHlwZW5hbWUgTDI6OnR5cGUsIHR5cGVuYW1lIEwzOjp0eXBlCisgICAgICAgICwgdHlwZW5hbWUgTDQ6OnR5cGUKKyAgICAgICAgPiByZXN1bHRfOworCisgICAgdHlwZWRlZiByZXN1bHRfIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFRhZworICAgICwgdGVtcGxhdGU8IHR5cGVuYW1lIFAxLCB0eXBlbmFtZSBQMiwgdHlwZW5hbWUgUDMsIHR5cGVuYW1lIFA0ID4gY2xhc3MgRgorICAgICwgdHlwZW5hbWUgTDEsIHR5cGVuYW1lIEwyLCB0eXBlbmFtZSBMMywgdHlwZW5hbWUgTDQKKyAgICA+CitzdHJ1Y3QgbGVfcmVzdWx0NDwgdHJ1ZV8sVGFnLEYsTDEsTDIsTDMsTDQgPgoreworICAgIHR5cGVkZWYgYmluZDQ8CisgICAgICAgICAgcXVvdGU0PCBGLFRhZyA+CisgICAgICAgICwgdHlwZW5hbWUgTDE6OnJlc3VsdF8sIHR5cGVuYW1lIEwyOjpyZXN1bHRfLCB0eXBlbmFtZSBMMzo6cmVzdWx0XworICAgICAgICAsIHR5cGVuYW1lIEw0OjpyZXN1bHRfCisgICAgICAgID4gcmVzdWx0XzsKKworICAgIHR5cGVkZWYgbXBsOjpwcm90ZWN0PHJlc3VsdF8+IHR5cGU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKwordGVtcGxhdGU8CisgICAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgUDEsIHR5cGVuYW1lIFAyLCB0eXBlbmFtZSBQMywgdHlwZW5hbWUgUDQgPiBjbGFzcyBGCisgICAgLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVGFnCisgICAgPgorc3RydWN0IGxhbWJkYTwKKyAgICAgICAgICBGPCBUMSxUMixUMyxUNCA+CisgICAgICAgICwgVGFnCisgICAgICAgCisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIGxhbWJkYTwgVDEsVGFnID4gbDE7CisgICAgdHlwZWRlZiBsYW1iZGE8IFQyLFRhZyA+IGwyOworICAgIHR5cGVkZWYgbGFtYmRhPCBUMyxUYWcgPiBsMzsKKyAgICB0eXBlZGVmIGxhbWJkYTwgVDQsVGFnID4gbDQ7CisgICAgCisgICAgdHlwZWRlZiB0eXBlbmFtZSBsMTo6aXNfbGUgaXNfbGUxOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbDI6OmlzX2xlIGlzX2xlMjsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGwzOjppc19sZSBpc19sZTM7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsNDo6aXNfbGUgaXNfbGU0OworICAgIAorCisgICAgdHlwZWRlZiB0eXBlbmFtZSBhdXg6OmxhbWJkYV9vcjwKKyAgICAgICAgICBpc19sZTE6OnZhbHVlLCBpc19sZTI6OnZhbHVlLCBpc19sZTM6OnZhbHVlLCBpc19sZTQ6OnZhbHVlCisgICAgICAgID46OnR5cGUgaXNfbGU7CisKKyAgICB0eXBlZGVmIGF1eDo6bGVfcmVzdWx0NDwKKyAgICAgICAgICBpc19sZSwgVGFnLCBGLCBsMSwgbDIsIGwzLCBsNAorICAgICAgICA+IGxlX3Jlc3VsdF87CisKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxlX3Jlc3VsdF86OnJlc3VsdF8gcmVzdWx0XzsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxlX3Jlc3VsdF86OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFRhZworICAgID4KK3N0cnVjdCBsYW1iZGE8CisgICAgICAgICAgYmluZDQ8IEYsVDEsVDIsVDMsVDQgPgorICAgICAgICAsIFRhZworICAgICAgIAorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiBmYWxzZV8gaXNfbGU7CisgICAgdHlwZWRlZiBiaW5kNDwKKyAgICAgICAgICBGCisgICAgICAgICwgVDEsIFQyLCBUMywgVDQKKyAgICAgICAgPiByZXN1bHRfOworCisgICAgdHlwZWRlZiByZXN1bHRfIHR5cGU7Cit9OworCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBJc0xFLCB0eXBlbmFtZSBUYWcKKyAgICAsIHRlbXBsYXRlPCB0eXBlbmFtZSBQMSwgdHlwZW5hbWUgUDIsIHR5cGVuYW1lIFAzLCB0eXBlbmFtZSBQNCwgdHlwZW5hbWUgUDUgPiBjbGFzcyBGCisgICAgLCB0eXBlbmFtZSBMMSwgdHlwZW5hbWUgTDIsIHR5cGVuYW1lIEwzLCB0eXBlbmFtZSBMNCwgdHlwZW5hbWUgTDUKKyAgICA+CitzdHJ1Y3QgbGVfcmVzdWx0NQoreworICAgIHR5cGVkZWYgRjwKKyAgICAgICAgICB0eXBlbmFtZSBMMTo6dHlwZSwgdHlwZW5hbWUgTDI6OnR5cGUsIHR5cGVuYW1lIEwzOjp0eXBlCisgICAgICAgICwgdHlwZW5hbWUgTDQ6OnR5cGUsIHR5cGVuYW1lIEw1Ojp0eXBlCisgICAgICAgID4gcmVzdWx0XzsKKworICAgIHR5cGVkZWYgcmVzdWx0XyB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUYWcKKyAgICAsIHRlbXBsYXRlPCB0eXBlbmFtZSBQMSwgdHlwZW5hbWUgUDIsIHR5cGVuYW1lIFAzLCB0eXBlbmFtZSBQNCwgdHlwZW5hbWUgUDUgPiBjbGFzcyBGCisgICAgLCB0eXBlbmFtZSBMMSwgdHlwZW5hbWUgTDIsIHR5cGVuYW1lIEwzLCB0eXBlbmFtZSBMNCwgdHlwZW5hbWUgTDUKKyAgICA+CitzdHJ1Y3QgbGVfcmVzdWx0NTwgdHJ1ZV8sVGFnLEYsTDEsTDIsTDMsTDQsTDUgPgoreworICAgIHR5cGVkZWYgYmluZDU8CisgICAgICAgICAgcXVvdGU1PCBGLFRhZyA+CisgICAgICAgICwgdHlwZW5hbWUgTDE6OnJlc3VsdF8sIHR5cGVuYW1lIEwyOjpyZXN1bHRfLCB0eXBlbmFtZSBMMzo6cmVzdWx0XworICAgICAgICAsIHR5cGVuYW1lIEw0OjpyZXN1bHRfLCB0eXBlbmFtZSBMNTo6cmVzdWx0XworICAgICAgICA+IHJlc3VsdF87CisKKyAgICB0eXBlZGVmIG1wbDo6cHJvdGVjdDxyZXN1bHRfPiB0eXBlOworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK3RlbXBsYXRlPAorICAgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgUDEsIHR5cGVuYW1lIFAyLCB0eXBlbmFtZSBQMywgdHlwZW5hbWUgUDQKKyAgICAgICAgLCB0eXBlbmFtZSBQNQorICAgICAgICA+CisgICAgICBjbGFzcyBGCisgICAgLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNCwgdHlwZW5hbWUgVDUKKyAgICAsIHR5cGVuYW1lIFRhZworICAgID4KK3N0cnVjdCBsYW1iZGE8CisgICAgICAgICAgRjwgVDEsVDIsVDMsVDQsVDUgPgorICAgICAgICAsIFRhZworICAgICAgIAorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiBsYW1iZGE8IFQxLFRhZyA+IGwxOworICAgIHR5cGVkZWYgbGFtYmRhPCBUMixUYWcgPiBsMjsKKyAgICB0eXBlZGVmIGxhbWJkYTwgVDMsVGFnID4gbDM7CisgICAgdHlwZWRlZiBsYW1iZGE8IFQ0LFRhZyA+IGw0OworICAgIHR5cGVkZWYgbGFtYmRhPCBUNSxUYWcgPiBsNTsKKyAgICAKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGwxOjppc19sZSBpc19sZTE7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsMjo6aXNfbGUgaXNfbGUyOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbDM6OmlzX2xlIGlzX2xlMzsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGw0Ojppc19sZSBpc19sZTQ7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsNTo6aXNfbGUgaXNfbGU1OworICAgIAorCisgICAgdHlwZWRlZiB0eXBlbmFtZSBhdXg6OmxhbWJkYV9vcjwKKyAgICAgICAgICBpc19sZTE6OnZhbHVlLCBpc19sZTI6OnZhbHVlLCBpc19sZTM6OnZhbHVlLCBpc19sZTQ6OnZhbHVlCisgICAgICAgICwgaXNfbGU1Ojp2YWx1ZQorICAgICAgICA+Ojp0eXBlIGlzX2xlOworCisgICAgdHlwZWRlZiBhdXg6OmxlX3Jlc3VsdDU8CisgICAgICAgICAgaXNfbGUsIFRhZywgRiwgbDEsIGwyLCBsMywgbDQsIGw1CisgICAgICAgID4gbGVfcmVzdWx0XzsKKworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGVfcmVzdWx0Xzo6cmVzdWx0XyByZXN1bHRfOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGVfcmVzdWx0Xzo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUKKyAgICAsIHR5cGVuYW1lIFRhZworICAgID4KK3N0cnVjdCBsYW1iZGE8CisgICAgICAgICAgYmluZDU8IEYsVDEsVDIsVDMsVDQsVDUgPgorICAgICAgICAsIFRhZworICAgICAgIAorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiBmYWxzZV8gaXNfbGU7CisgICAgdHlwZWRlZiBiaW5kNTwKKyAgICAgICAgICBGCisgICAgICAgICwgVDEsIFQyLCBUMywgVDQsIFQ1CisgICAgICAgID4gcmVzdWx0XzsKKworICAgIHR5cGVkZWYgcmVzdWx0XyB0eXBlOworfTsKKworLy8vIHNwZWNpYWwgY2FzZSBmb3IgJ3Byb3RlY3QnCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVCwgdHlwZW5hbWUgVGFnID4KK3N0cnVjdCBsYW1iZGE8IG1wbDo6cHJvdGVjdDxUPiwgVGFnID4KK3sKKyAgICB0eXBlZGVmIGZhbHNlXyBpc19sZTsKKyAgICB0eXBlZGVmIG1wbDo6cHJvdGVjdDxUPiByZXN1bHRfOworICAgIHR5cGVkZWYgcmVzdWx0XyB0eXBlOworfTsKKworLy8vIHNwZWNpYWxpemF0aW9ucyBmb3IgdGhlIG1haW4gJ2JpbmQnIGZvcm0KKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUKKyAgICAsIHR5cGVuYW1lIFRhZworICAgID4KK3N0cnVjdCBsYW1iZGE8CisgICAgICAgICAgYmluZDwgRixUMSxUMixUMyxUNCxUNSA+CisgICAgICAgICwgVGFnCisgICAgICAgCisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIGZhbHNlXyBpc19sZTsKKyAgICB0eXBlZGVmIGJpbmQ8IEYsVDEsVDIsVDMsVDQsVDUgPiByZXN1bHRfOworICAgIHR5cGVkZWYgcmVzdWx0XyB0eXBlOworfTsKKworQk9PU1RfTVBMX0FVWF9OQV9TUEVDKDIsIGxhbWJkYSkKKworfX0KKwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2RtYy9ncmVhdGVyLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9kbWMvZ3JlYXRlci5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTA1ZmEzYwotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9kbWMvZ3JlYXRlci5ocHAKQEAgLTAsMCArMSw5NCBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvZ3JlYXRlci5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUYWcxCisgICAgLCB0eXBlbmFtZSBUYWcyCisgICAgPgorc3RydWN0IGdyZWF0ZXJfaW1wbAorICAgIDogaWZfYzwKKyAgICAgICAgICAoIEJPT1NUX01QTF9BVVhfTkVTVEVEX1ZBTFVFX1dLTkQoaW50LCBUYWcxKQorICAgICAgICAgICAgICA+IEJPT1NUX01QTF9BVVhfTkVTVEVEX1ZBTFVFX1dLTkQoaW50LCBUYWcyKQorICAgICAgICAgICAgKQorCisgICAgICAgICwgYXV4OjpjYXN0Mm5kX2ltcGw8IGdyZWF0ZXJfaW1wbDwgVGFnMSxUYWcxID4sVGFnMSwgVGFnMiA+CisgICAgICAgICwgYXV4OjpjYXN0MXN0X2ltcGw8IGdyZWF0ZXJfaW1wbDwgVGFnMixUYWcyID4sVGFnMSwgVGFnMiA+CisgICAgICAgID46OnR5cGUKK3sKK307CisKKy8vLyBmb3IgRGlnaXRhbCBNYXJzIEMrKy9jb21waWxlcnMgd2l0aCBubyBDVFBTL1RUUCBzdXBwb3J0Cit0ZW1wbGF0ZTw+IHN0cnVjdCBncmVhdGVyX2ltcGw8IG5hLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVGFnID4gc3RydWN0IGdyZWF0ZXJfaW1wbDwgbmEsVGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVGFnID4gc3RydWN0IGdyZWF0ZXJfaW1wbDwgVGFnLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVCA+IHN0cnVjdCBncmVhdGVyX3RhZworeworICAgIHR5cGVkZWYgdHlwZW5hbWUgVDo6dGFnIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjEpCisgICAgLCB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4yKQorICAgID4KK3N0cnVjdCBncmVhdGVyCisKKyAgICA6IGdyZWF0ZXJfaW1wbDwKKyAgICAgICAgICB0eXBlbmFtZSBncmVhdGVyX3RhZzxOMT46OnR5cGUKKyAgICAgICAgLCB0eXBlbmFtZSBncmVhdGVyX3RhZzxOMj46OnR5cGUKKyAgICAgICAgPjo6dGVtcGxhdGUgYXBwbHk8IE4xLE4yID46OnR5cGUKK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKDIsIGdyZWF0ZXIsIChOMSwgTjIpKQorCit9OworCitCT09TVF9NUExfQVVYX05BX1NQRUMyKDIsIDIsIGdyZWF0ZXIpCisKK319CisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgZ3JlYXRlcl9pbXBsPCBpbnRlZ3JhbF9jX3RhZyxpbnRlZ3JhbF9jX3RhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIE4xLCB0eXBlbmFtZSBOMiA+IHN0cnVjdCBhcHBseQorCisgICAgICAgIDogYm9vbF88ICggQk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4xKTo6dmFsdWUgPiBCT09TVF9NUExfQVVYX1ZBTFVFX1dLTkQoTjIpOjp2YWx1ZSApID4KKyAgICB7CisgICAgfTsKK307CisKK319CmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvZG1jL2dyZWF0ZXJfZXF1YWwuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2RtYy9ncmVhdGVyX2VxdWFsLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mODlhNTg3Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2RtYy9ncmVhdGVyX2VxdWFsLmhwcApAQCAtMCwwICsxLDk0IEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9ncmVhdGVyX2VxdWFsLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFRhZzEKKyAgICAsIHR5cGVuYW1lIFRhZzIKKyAgICA+CitzdHJ1Y3QgZ3JlYXRlcl9lcXVhbF9pbXBsCisgICAgOiBpZl9jPAorICAgICAgICAgICggQk9PU1RfTVBMX0FVWF9ORVNURURfVkFMVUVfV0tORChpbnQsIFRhZzEpCisgICAgICAgICAgICAgID4gQk9PU1RfTVBMX0FVWF9ORVNURURfVkFMVUVfV0tORChpbnQsIFRhZzIpCisgICAgICAgICAgICApCisKKyAgICAgICAgLCBhdXg6OmNhc3QybmRfaW1wbDwgZ3JlYXRlcl9lcXVhbF9pbXBsPCBUYWcxLFRhZzEgPixUYWcxLCBUYWcyID4KKyAgICAgICAgLCBhdXg6OmNhc3Qxc3RfaW1wbDwgZ3JlYXRlcl9lcXVhbF9pbXBsPCBUYWcyLFRhZzIgPixUYWcxLCBUYWcyID4KKyAgICAgICAgPjo6dHlwZQoreworfTsKKworLy8vIGZvciBEaWdpdGFsIE1hcnMgQysrL2NvbXBpbGVycyB3aXRoIG5vIENUUFMvVFRQIHN1cHBvcnQKK3RlbXBsYXRlPD4gc3RydWN0IGdyZWF0ZXJfZXF1YWxfaW1wbDwgbmEsbmEgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUYWcgPiBzdHJ1Y3QgZ3JlYXRlcl9lcXVhbF9pbXBsPCBuYSxUYWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUYWcgPiBzdHJ1Y3QgZ3JlYXRlcl9lcXVhbF9pbXBsPCBUYWcsbmEgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUID4gc3RydWN0IGdyZWF0ZXJfZXF1YWxfdGFnCit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBUOjp0YWcgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMSkKKyAgICAsIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjIpCisgICAgPgorc3RydWN0IGdyZWF0ZXJfZXF1YWwKKworICAgIDogZ3JlYXRlcl9lcXVhbF9pbXBsPAorICAgICAgICAgIHR5cGVuYW1lIGdyZWF0ZXJfZXF1YWxfdGFnPE4xPjo6dHlwZQorICAgICAgICAsIHR5cGVuYW1lIGdyZWF0ZXJfZXF1YWxfdGFnPE4yPjo6dHlwZQorICAgICAgICA+Ojp0ZW1wbGF0ZSBhcHBseTwgTjEsTjIgPjo6dHlwZQoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoMiwgZ3JlYXRlcl9lcXVhbCwgKE4xLCBOMikpCisKK307CisKK0JPT1NUX01QTF9BVVhfTkFfU1BFQzIoMiwgMiwgZ3JlYXRlcl9lcXVhbCkKKworfX0KKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBncmVhdGVyX2VxdWFsX2ltcGw8IGludGVncmFsX2NfdGFnLGludGVncmFsX2NfdGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgTjEsIHR5cGVuYW1lIE4yID4gc3RydWN0IGFwcGx5CisKKyAgICAgICAgOiBib29sXzwgKCBCT09TVF9NUExfQVVYX1ZBTFVFX1dLTkQoTjEpOjp2YWx1ZSA+PSBCT09TVF9NUExfQVVYX1ZBTFVFX1dLTkQoTjIpOjp2YWx1ZSApID4KKyAgICB7CisgICAgfTsKK307CisKK319CmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvZG1jL2luaGVyaXQuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2RtYy9pbmhlcml0LmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MWYzODdmCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2RtYy9pbmhlcml0LmhwcApAQCAtMCwwICsxLDE0MSBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAxLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvaW5oZXJpdC5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKFQxKQorICAgICwgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShUMikKKyAgICA+CitzdHJ1Y3QgaW5oZXJpdDIKKyAgICA6IFQxLCBUMgoreworICAgIHR5cGVkZWYgaW5oZXJpdDIgdHlwZTsKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKDIsIGluaGVyaXQyLCAoVDEsIFQyKSkKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUMSA+CitzdHJ1Y3QgaW5oZXJpdDI8IFQxLGVtcHR5X2Jhc2UgPgoreworICAgIHR5cGVkZWYgVDEgdHlwZTsKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUX1NQRUMoMiwgaW5oZXJpdDIsIChUMSwgZW1wdHlfYmFzZSkpCit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVDIgPgorc3RydWN0IGluaGVyaXQyPCBlbXB0eV9iYXNlLFQyID4KK3sKKyAgICB0eXBlZGVmIFQyIHR5cGU7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVF9TUEVDKDIsIGluaGVyaXQyLCAoZW1wdHlfYmFzZSwgVDIpKQorfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGluaGVyaXQyPCBlbXB0eV9iYXNlLGVtcHR5X2Jhc2UgPgoreworICAgIHR5cGVkZWYgZW1wdHlfYmFzZSB0eXBlOworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlRfU1BFQygyLCBpbmhlcml0MiwgKGVtcHR5X2Jhc2UsIGVtcHR5X2Jhc2UpKQorfTsKKworQk9PU1RfTVBMX0FVWF9OQV9TUEVDKDIsIGluaGVyaXQyKQorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQxID0gbmEsIHR5cGVuYW1lIFQyID0gbmEsIHR5cGVuYW1lIFQzID0gbmEKKyAgICA+CitzdHJ1Y3QgaW5oZXJpdDMKKyAgICA6IGluaGVyaXQyPAorICAgICAgICAgIHR5cGVuYW1lIGluaGVyaXQyPAorICAgICAgICAgICAgICBUMSwgVDIKKyAgICAgICAgICAgID46OnR5cGUKKyAgICAgICAgLCBUMworICAgICAgICA+Cit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgKKyAgICAgICAgICAzCisgICAgICAgICwgaW5oZXJpdDMKKyAgICAgICAgLCAoIFQxLCBUMiwgVDMpCisgICAgICAgICkKK307CisKK0JPT1NUX01QTF9BVVhfTkFfU1BFQygzLCBpbmhlcml0MykKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMSA9IG5hLCB0eXBlbmFtZSBUMiA9IG5hLCB0eXBlbmFtZSBUMyA9IG5hLCB0eXBlbmFtZSBUNCA9IG5hCisgICAgPgorc3RydWN0IGluaGVyaXQ0CisgICAgOiBpbmhlcml0MjwKKyAgICAgICAgICB0eXBlbmFtZSBpbmhlcml0MzwKKyAgICAgICAgICAgICAgVDEsIFQyLCBUMworICAgICAgICAgICAgPjo6dHlwZQorICAgICAgICAsIFQ0CisgICAgICAgID4KK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKAorICAgICAgICAgIDQKKyAgICAgICAgLCBpbmhlcml0NAorICAgICAgICAsICggVDEsIFQyLCBUMywgVDQpCisgICAgICAgICkKK307CisKK0JPT1NUX01QTF9BVVhfTkFfU1BFQyg0LCBpbmhlcml0NCkKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMSA9IG5hLCB0eXBlbmFtZSBUMiA9IG5hLCB0eXBlbmFtZSBUMyA9IG5hLCB0eXBlbmFtZSBUNCA9IG5hCisgICAgLCB0eXBlbmFtZSBUNSA9IG5hCisgICAgPgorc3RydWN0IGluaGVyaXQ1CisgICAgOiBpbmhlcml0MjwKKyAgICAgICAgICB0eXBlbmFtZSBpbmhlcml0NDwKKyAgICAgICAgICAgICAgVDEsIFQyLCBUMywgVDQKKyAgICAgICAgICAgID46OnR5cGUKKyAgICAgICAgLCBUNQorICAgICAgICA+Cit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgKKyAgICAgICAgICA1CisgICAgICAgICwgaW5oZXJpdDUKKyAgICAgICAgLCAoIFQxLCBUMiwgVDMsIFQ0LCBUNSkKKyAgICAgICAgKQorfTsKKworQk9PU1RfTVBMX0FVWF9OQV9TUEVDKDUsIGluaGVyaXQ1KQorCisvLy8gcHJpbWFyeSB0ZW1wbGF0ZQorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQxID0gZW1wdHlfYmFzZSwgdHlwZW5hbWUgVDIgPSBlbXB0eV9iYXNlCisgICAgLCB0eXBlbmFtZSBUMyA9IGVtcHR5X2Jhc2UsIHR5cGVuYW1lIFQ0ID0gZW1wdHlfYmFzZQorICAgICwgdHlwZW5hbWUgVDUgPSBlbXB0eV9iYXNlCisgICAgPgorc3RydWN0IGluaGVyaXQKKyAgICA6IGluaGVyaXQ1PCBUMSxUMixUMyxUNCxUNSA+Cit7Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgaW5oZXJpdDwgbmEsbmEsbmEsbmEsbmEgPgoreworICAgIHRlbXBsYXRlPAorCisgICAgICAgICAgdHlwZW5hbWUgVDEgPSBlbXB0eV9iYXNlLCB0eXBlbmFtZSBUMiA9IGVtcHR5X2Jhc2UKKyAgICAgICAgLCB0eXBlbmFtZSBUMyA9IGVtcHR5X2Jhc2UsIHR5cGVuYW1lIFQ0ID0gZW1wdHlfYmFzZQorICAgICAgICAsIHR5cGVuYW1lIFQ1ID0gZW1wdHlfYmFzZQorCisgICAgICAgID4KKyAgICBzdHJ1Y3QgYXBwbHkKKyAgICAgICAgOiBpbmhlcml0PCBUMSxUMixUMyxUNCxUNSA+CisgICAgeworICAgIH07Cit9OworCitCT09TVF9NUExfQVVYX05BX1NQRUNfTEFNQkRBKDUsIGluaGVyaXQpCitCT09TVF9NUExfQVVYX05BX1NQRUNfQVJJVFkoNSwgaW5oZXJpdCkKK0JPT1NUX01QTF9BVVhfTkFfU1BFQ19URU1QTEFURV9BUklUWSg1LCA1LCBpbmhlcml0KQorfX0KKwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2RtYy9pdGVyX2ZvbGRfaWZfaW1wbC5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvZG1jL2l0ZXJfZm9sZF9pZl9pbXBsLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMGEyODY0Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2RtYy9pdGVyX2ZvbGRfaWZfaW1wbC5ocHAKQEAgLTAsMCArMSwxMzMgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMS0yMDA0CisvLyBDb3B5cmlnaHQgRGF2aWQgQWJyYWhhbXMgMjAwMS0yMDAyCisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL2F1eF8vaXRlcl9mb2xkX2lmX2ltcGwuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7IG5hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgSXRlcmF0b3IsIHR5cGVuYW1lIFN0YXRlID4KK3N0cnVjdCBpdGVyX2ZvbGRfaWZfbnVsbF9zdGVwCit7CisgICAgdHlwZWRlZiBTdGF0ZSBzdGF0ZTsKKyAgICB0eXBlZGVmIEl0ZXJhdG9yIGl0ZXJhdG9yOworfTsKKwordGVtcGxhdGU8IGJvb2wgPgorc3RydWN0IGl0ZXJfZm9sZF9pZl9zdGVwX2ltcGwKK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBJdGVyYXRvcgorICAgICAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgICAgICwgdHlwZW5hbWUgU3RhdGVPcAorICAgICAgICAsIHR5cGVuYW1lIEl0ZXJhdG9yT3AKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgU3RhdGVPcCxTdGF0ZSxJdGVyYXRvciA+Ojp0eXBlIHN0YXRlOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIEl0ZXJhdG9yT3A6OnR5cGUgaXRlcmF0b3I7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBpdGVyX2ZvbGRfaWZfc3RlcF9pbXBsPGZhbHNlPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIEl0ZXJhdG9yCisgICAgICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAgICAgLCB0eXBlbmFtZSBTdGF0ZU9wCisgICAgICAgICwgdHlwZW5hbWUgSXRlcmF0b3JPcAorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgU3RhdGUgc3RhdGU7CisgICAgICAgIHR5cGVkZWYgSXRlcmF0b3IgaXRlcmF0b3I7CisgICAgfTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgSXRlcmF0b3IKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICAsIHR5cGVuYW1lIFByZWRpY2F0ZQorICAgID4KK3N0cnVjdCBpdGVyX2ZvbGRfaWZfZm9yd2FyZF9zdGVwCit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IFByZWRpY2F0ZSxTdGF0ZSxJdGVyYXRvciA+Ojp0eXBlIG5vdF9sYXN0OworICAgIHR5cGVkZWYgdHlwZW5hbWUgaXRlcl9mb2xkX2lmX3N0ZXBfaW1wbDwKKyAgICAgICAgICBCT09TVF9NUExfQVVYX01TVkNfVkFMVUVfV0tORChub3RfbGFzdCk6OnZhbHVlCisgICAgICAgID46OnRlbXBsYXRlIHJlc3VsdF88IEl0ZXJhdG9yLFN0YXRlLEZvcndhcmRPcCwgbXBsOjpuZXh0PEl0ZXJhdG9yPiA+IGltcGxfOworCisgICAgdHlwZWRlZiB0eXBlbmFtZSBpbXBsXzo6c3RhdGUgc3RhdGU7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBpbXBsXzo6aXRlcmF0b3IgaXRlcmF0b3I7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEl0ZXJhdG9yCisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICwgdHlwZW5hbWUgQmFja3dhcmRPcAorICAgICwgdHlwZW5hbWUgUHJlZGljYXRlCisgICAgPgorc3RydWN0IGl0ZXJfZm9sZF9pZl9iYWNrd2FyZF9zdGVwCit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IFByZWRpY2F0ZSxTdGF0ZSxJdGVyYXRvciA+Ojp0eXBlIG5vdF9sYXN0OworICAgIHR5cGVkZWYgdHlwZW5hbWUgaXRlcl9mb2xkX2lmX3N0ZXBfaW1wbDwKKyAgICAgICAgICBCT09TVF9NUExfQVVYX01TVkNfVkFMVUVfV0tORChub3RfbGFzdCk6OnZhbHVlCisgICAgICAgID46OnRlbXBsYXRlIHJlc3VsdF88IEl0ZXJhdG9yLFN0YXRlLEJhY2t3YXJkT3AsIGlkZW50aXR5PEl0ZXJhdG9yPiA+IGltcGxfOworCisgICAgdHlwZWRlZiB0eXBlbmFtZSBpbXBsXzo6c3RhdGUgc3RhdGU7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBpbXBsXzo6aXRlcmF0b3IgaXRlcmF0b3I7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEl0ZXJhdG9yCisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkUHJlZGljYXRlCisgICAgLCB0eXBlbmFtZSBCYWNrd2FyZE9wCisgICAgLCB0eXBlbmFtZSBCYWNrd2FyZFByZWRpY2F0ZQorICAgID4KK3N0cnVjdCBpdGVyX2ZvbGRfaWZfaW1wbAoreworIHByaXZhdGU6CisgICAgdHlwZWRlZiBpdGVyX2ZvbGRfaWZfbnVsbF9zdGVwPCBJdGVyYXRvcixTdGF0ZSA+IGZvcndhcmRfc3RlcDA7CisgICAgdHlwZWRlZiBpdGVyX2ZvbGRfaWZfZm9yd2FyZF9zdGVwPCB0eXBlbmFtZSBmb3J3YXJkX3N0ZXAwOjppdGVyYXRvciwgdHlwZW5hbWUgZm9yd2FyZF9zdGVwMDo6c3RhdGUsIEZvcndhcmRPcCwgRm9yd2FyZFByZWRpY2F0ZSA+IGZvcndhcmRfc3RlcDE7CisgICAgdHlwZWRlZiBpdGVyX2ZvbGRfaWZfZm9yd2FyZF9zdGVwPCB0eXBlbmFtZSBmb3J3YXJkX3N0ZXAxOjppdGVyYXRvciwgdHlwZW5hbWUgZm9yd2FyZF9zdGVwMTo6c3RhdGUsIEZvcndhcmRPcCwgRm9yd2FyZFByZWRpY2F0ZSA+IGZvcndhcmRfc3RlcDI7CisgICAgdHlwZWRlZiBpdGVyX2ZvbGRfaWZfZm9yd2FyZF9zdGVwPCB0eXBlbmFtZSBmb3J3YXJkX3N0ZXAyOjppdGVyYXRvciwgdHlwZW5hbWUgZm9yd2FyZF9zdGVwMjo6c3RhdGUsIEZvcndhcmRPcCwgRm9yd2FyZFByZWRpY2F0ZSA+IGZvcndhcmRfc3RlcDM7CisgICAgdHlwZWRlZiBpdGVyX2ZvbGRfaWZfZm9yd2FyZF9zdGVwPCB0eXBlbmFtZSBmb3J3YXJkX3N0ZXAzOjppdGVyYXRvciwgdHlwZW5hbWUgZm9yd2FyZF9zdGVwMzo6c3RhdGUsIEZvcndhcmRPcCwgRm9yd2FyZFByZWRpY2F0ZSA+IGZvcndhcmRfc3RlcDQ7CisgICAgCisKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGlmXzwKKyAgICAgICAgICB0eXBlbmFtZSBmb3J3YXJkX3N0ZXA0Ojpub3RfbGFzdAorICAgICAgICAsIGl0ZXJfZm9sZF9pZl9pbXBsPAorICAgICAgICAgICAgICB0eXBlbmFtZSBmb3J3YXJkX3N0ZXA0OjppdGVyYXRvcgorICAgICAgICAgICAgLCB0eXBlbmFtZSBmb3J3YXJkX3N0ZXA0OjpzdGF0ZQorICAgICAgICAgICAgLCBGb3J3YXJkT3AKKyAgICAgICAgICAgICwgRm9yd2FyZFByZWRpY2F0ZQorICAgICAgICAgICAgLCBCYWNrd2FyZE9wCisgICAgICAgICAgICAsIEJhY2t3YXJkUHJlZGljYXRlCisgICAgICAgICAgICA+CisgICAgICAgICwgaXRlcl9mb2xkX2lmX251bGxfc3RlcDwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgZm9yd2FyZF9zdGVwNDo6aXRlcmF0b3IKKyAgICAgICAgICAgICwgdHlwZW5hbWUgZm9yd2FyZF9zdGVwNDo6c3RhdGUKKyAgICAgICAgICAgID4KKyAgICAgICAgPjo6dHlwZSBiYWNrd2FyZF9zdGVwNDsKKworICAgIHR5cGVkZWYgaXRlcl9mb2xkX2lmX2JhY2t3YXJkX3N0ZXA8IHR5cGVuYW1lIGZvcndhcmRfc3RlcDM6Oml0ZXJhdG9yLCB0eXBlbmFtZSBiYWNrd2FyZF9zdGVwNDo6c3RhdGUsIEJhY2t3YXJkT3AsIEJhY2t3YXJkUHJlZGljYXRlID4gYmFja3dhcmRfc3RlcDM7CisgICAgdHlwZWRlZiBpdGVyX2ZvbGRfaWZfYmFja3dhcmRfc3RlcDwgdHlwZW5hbWUgZm9yd2FyZF9zdGVwMjo6aXRlcmF0b3IsIHR5cGVuYW1lIGJhY2t3YXJkX3N0ZXAzOjpzdGF0ZSwgQmFja3dhcmRPcCwgQmFja3dhcmRQcmVkaWNhdGUgPiBiYWNrd2FyZF9zdGVwMjsKKyAgICB0eXBlZGVmIGl0ZXJfZm9sZF9pZl9iYWNrd2FyZF9zdGVwPCB0eXBlbmFtZSBmb3J3YXJkX3N0ZXAxOjppdGVyYXRvciwgdHlwZW5hbWUgYmFja3dhcmRfc3RlcDI6OnN0YXRlLCBCYWNrd2FyZE9wLCBCYWNrd2FyZFByZWRpY2F0ZSA+IGJhY2t3YXJkX3N0ZXAxOworICAgIHR5cGVkZWYgaXRlcl9mb2xkX2lmX2JhY2t3YXJkX3N0ZXA8IHR5cGVuYW1lIGZvcndhcmRfc3RlcDA6Oml0ZXJhdG9yLCB0eXBlbmFtZSBiYWNrd2FyZF9zdGVwMTo6c3RhdGUsIEJhY2t3YXJkT3AsIEJhY2t3YXJkUHJlZGljYXRlID4gYmFja3dhcmRfc3RlcDA7CisgICAgCisKKyBwdWJsaWM6CisgICAgdHlwZWRlZiB0eXBlbmFtZSBiYWNrd2FyZF9zdGVwMDo6c3RhdGUgc3RhdGU7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBiYWNrd2FyZF9zdGVwNDo6aXRlcmF0b3IgaXRlcmF0b3I7Cit9OworCit9fX0KZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9kbWMvaXRlcl9mb2xkX2ltcGwuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2RtYy9pdGVyX2ZvbGRfaW1wbC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2MwOGIzMAotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9kbWMvaXRlcl9mb2xkX2ltcGwuaHBwCkBAIC0wLDAgKzEsMTgwIEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9hdXhfL2l0ZXJfZm9sZF9pbXBsLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeyBuYW1lc3BhY2UgYXV4IHsKKworLy8vIGZvcndhcmQgZGVjbGFyYXRpb24KKwordGVtcGxhdGU8CisgICAgICBpbnQgTgorICAgICwgdHlwZW5hbWUgRmlyc3QKKyAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+CitzdHJ1Y3QgaXRlcl9mb2xkX2ltcGw7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+CitzdHJ1Y3QgaXRlcl9mb2xkX2ltcGw8IDAsRmlyc3QsTGFzdCxTdGF0ZSxGb3J3YXJkT3AgPgoreworICAgIHR5cGVkZWYgRmlyc3QgaXRlcjA7CisgICAgdHlwZWRlZiBTdGF0ZSBzdGF0ZTA7CisgICAgdHlwZWRlZiBzdGF0ZTAgc3RhdGU7CisgICAgdHlwZWRlZiBpdGVyMCBpdGVyYXRvcjsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+CitzdHJ1Y3QgaXRlcl9mb2xkX2ltcGw8IDEsRmlyc3QsTGFzdCxTdGF0ZSxGb3J3YXJkT3AgPgoreworICAgIHR5cGVkZWYgRmlyc3QgaXRlcjA7CisgICAgdHlwZWRlZiBTdGF0ZSBzdGF0ZTA7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCxzdGF0ZTAsaXRlcjAgPjo6dHlwZSBzdGF0ZTE7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjA+Ojp0eXBlIGl0ZXIxOworICAgIAorCisgICAgdHlwZWRlZiBzdGF0ZTEgc3RhdGU7CisgICAgdHlwZWRlZiBpdGVyMSBpdGVyYXRvcjsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+CitzdHJ1Y3QgaXRlcl9mb2xkX2ltcGw8IDIsRmlyc3QsTGFzdCxTdGF0ZSxGb3J3YXJkT3AgPgoreworICAgIHR5cGVkZWYgRmlyc3QgaXRlcjA7CisgICAgdHlwZWRlZiBTdGF0ZSBzdGF0ZTA7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCxzdGF0ZTAsaXRlcjAgPjo6dHlwZSBzdGF0ZTE7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjA+Ojp0eXBlIGl0ZXIxOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3Asc3RhdGUxLGl0ZXIxID46OnR5cGUgc3RhdGUyOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIxPjo6dHlwZSBpdGVyMjsKKyAgICAKKworICAgIHR5cGVkZWYgc3RhdGUyIHN0YXRlOworICAgIHR5cGVkZWYgaXRlcjIgaXRlcmF0b3I7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgPgorc3RydWN0IGl0ZXJfZm9sZF9pbXBsPCAzLEZpcnN0LExhc3QsU3RhdGUsRm9yd2FyZE9wID4KK3sKKyAgICB0eXBlZGVmIEZpcnN0IGl0ZXIwOworICAgIHR5cGVkZWYgU3RhdGUgc3RhdGUwOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3Asc3RhdGUwLGl0ZXIwID46OnR5cGUgc3RhdGUxOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIwPjo6dHlwZSBpdGVyMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLHN0YXRlMSxpdGVyMSA+Ojp0eXBlIHN0YXRlMjsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMT46OnR5cGUgaXRlcjI7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCxzdGF0ZTIsaXRlcjIgPjo6dHlwZSBzdGF0ZTM7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjI+Ojp0eXBlIGl0ZXIzOworICAgIAorCisgICAgdHlwZWRlZiBzdGF0ZTMgc3RhdGU7CisgICAgdHlwZWRlZiBpdGVyMyBpdGVyYXRvcjsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+CitzdHJ1Y3QgaXRlcl9mb2xkX2ltcGw8IDQsRmlyc3QsTGFzdCxTdGF0ZSxGb3J3YXJkT3AgPgoreworICAgIHR5cGVkZWYgRmlyc3QgaXRlcjA7CisgICAgdHlwZWRlZiBTdGF0ZSBzdGF0ZTA7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCxzdGF0ZTAsaXRlcjAgPjo6dHlwZSBzdGF0ZTE7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjA+Ojp0eXBlIGl0ZXIxOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3Asc3RhdGUxLGl0ZXIxID46OnR5cGUgc3RhdGUyOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIxPjo6dHlwZSBpdGVyMjsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLHN0YXRlMixpdGVyMiA+Ojp0eXBlIHN0YXRlMzsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMj46OnR5cGUgaXRlcjM7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCxzdGF0ZTMsaXRlcjMgPjo6dHlwZSBzdGF0ZTQ7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjM+Ojp0eXBlIGl0ZXI0OworICAgIAorCisgICAgdHlwZWRlZiBzdGF0ZTQgc3RhdGU7CisgICAgdHlwZWRlZiBpdGVyNCBpdGVyYXRvcjsKK307CisKK3RlbXBsYXRlPAorICAgICAgaW50IE4KKyAgICAsIHR5cGVuYW1lIEZpcnN0CisgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgPgorc3RydWN0IGl0ZXJfZm9sZF9pbXBsCit7CisgICAgdHlwZWRlZiBpdGVyX2ZvbGRfaW1wbDwKKyAgICAgICAgICA0CisgICAgICAgICwgRmlyc3QKKyAgICAgICAgLCBMYXN0CisgICAgICAgICwgU3RhdGUKKyAgICAgICAgLCBGb3J3YXJkT3AKKyAgICAgICAgPiBjaHVua187CisKKyAgICB0eXBlZGVmIGl0ZXJfZm9sZF9pbXBsPAorICAgICAgICAgICggKE4gLSA0KSA8IDAgPyAwIDogTiAtIDQgKQorICAgICAgICAsIHR5cGVuYW1lIGNodW5rXzo6aXRlcmF0b3IKKyAgICAgICAgLCBMYXN0CisgICAgICAgICwgdHlwZW5hbWUgY2h1bmtfOjpzdGF0ZQorICAgICAgICAsIEZvcndhcmRPcAorICAgICAgICA+IHJlc187CisKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHJlc186OnN0YXRlIHN0YXRlOworICAgIHR5cGVkZWYgdHlwZW5hbWUgcmVzXzo6aXRlcmF0b3IgaXRlcmF0b3I7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgPgorc3RydWN0IGl0ZXJfZm9sZF9pbXBsPCAtMSxGaXJzdCxMYXN0LFN0YXRlLEZvcndhcmRPcCA+CisgICAgOiBpdGVyX2ZvbGRfaW1wbDwKKyAgICAgICAgICAtMQorICAgICAgICAsIHR5cGVuYW1lIG1wbDo6bmV4dDxGaXJzdD46OnR5cGUKKyAgICAgICAgLCBMYXN0CisgICAgICAgICwgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsU3RhdGUsRmlyc3QgPjo6dHlwZQorICAgICAgICAsIEZvcndhcmRPcAorICAgICAgICA+Cit7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+CitzdHJ1Y3QgaXRlcl9mb2xkX2ltcGw8IC0xLExhc3QsTGFzdCxTdGF0ZSxGb3J3YXJkT3AgPgoreworICAgIHR5cGVkZWYgU3RhdGUgc3RhdGU7CisgICAgdHlwZWRlZiBMYXN0IGl0ZXJhdG9yOworfTsKKworfX19CmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvZG1jL2xhbWJkYV9ub19jdHBzLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9kbWMvbGFtYmRhX25vX2N0cHMuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjViZmM2NjEKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvZG1jL2xhbWJkYV9ub19jdHBzLmhwcApAQCAtMCwwICsxLDIyOSBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvYXV4Xy9sYW1iZGFfbm9fY3Rwcy5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPAorICAgICAgYm9vbCBDMSA9IGZhbHNlLCBib29sIEMyID0gZmFsc2UsIGJvb2wgQzMgPSBmYWxzZSwgYm9vbCBDNCA9IGZhbHNlCisgICAgLCBib29sIEM1ID0gZmFsc2UKKyAgICA+CitzdHJ1Y3QgbGFtYmRhX29yCisgICAgOiB0cnVlXworeworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGxhbWJkYV9vcjwgZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UgPgorICAgIDogZmFsc2VfCit7Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgQXJpdHkgPiBzdHJ1Y3QgbGFtYmRhX2ltcGwKK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVCwgdHlwZW5hbWUgVGFnLCB0eXBlbmFtZSBQcm90ZWN0ID4gc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgVCB0eXBlOworICAgICAgICB0eXBlZGVmIGlzX3BsYWNlaG9sZGVyPFQ+IGlzX2xlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCBsYW1iZGFfaW1wbDwgaW50XzwxPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIEYsIHR5cGVuYW1lIFRhZywgdHlwZW5hbWUgUHJvdGVjdCA+IHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIGxhbWJkYTwgdHlwZW5hbWUgRjo6YXJnMSwgVGFnLCBmYWxzZV8gPiBsMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBsMTo6aXNfbGUgaXNfbGUxOworICAgICAgICB0eXBlZGVmIGF1eDo6bGFtYmRhX29yPAorICAgICAgICAgICAgICBCT09TVF9NUExfQVVYX01TVkNfVkFMVUVfV0tORChpc19sZTEpOjp2YWx1ZQorICAgICAgICAgICAgPiBpc19sZTsKKworICAgICAgICB0eXBlZGVmIGJpbmQxPAorICAgICAgICAgICAgICB0eXBlbmFtZSBGOjpyZWJpbmQKKyAgICAgICAgICAgICwgdHlwZW5hbWUgbDE6OnR5cGUKKyAgICAgICAgICAgID4gYmluZF87CisKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBpZl88CisgICAgICAgICAgICAgIGlzX2xlCisgICAgICAgICAgICAsIGlmXzwgUHJvdGVjdCwgbXBsOjpwcm90ZWN0PGJpbmRfPiwgYmluZF8gPgorICAgICAgICAgICAgLCBpZGVudGl0eTxGPgorICAgICAgICAgICAgPjo6dHlwZSB0eXBlXzsKKworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHR5cGVfOjp0eXBlIHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4gc3RydWN0IGxhbWJkYV9pbXBsPCBpbnRfPDI+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVGFnLCB0eXBlbmFtZSBQcm90ZWN0ID4gc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgbGFtYmRhPCB0eXBlbmFtZSBGOjphcmcxLCBUYWcsIGZhbHNlXyA+IGwxOworICAgICAgICB0eXBlZGVmIGxhbWJkYTwgdHlwZW5hbWUgRjo6YXJnMiwgVGFnLCBmYWxzZV8gPiBsMjsKKyAgICAgICAgCisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbDE6OmlzX2xlIGlzX2xlMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBsMjo6aXNfbGUgaXNfbGUyOworICAgICAgICAKKworICAgICAgICB0eXBlZGVmIGF1eDo6bGFtYmRhX29yPAorICAgICAgICAgICAgICBCT09TVF9NUExfQVVYX01TVkNfVkFMVUVfV0tORChpc19sZTEpOjp2YWx1ZSwgQk9PU1RfTVBMX0FVWF9NU1ZDX1ZBTFVFX1dLTkQoaXNfbGUyKTo6dmFsdWUKKyAgICAgICAgICAgID4gaXNfbGU7CisKKyAgICAgICAgdHlwZWRlZiBiaW5kMjwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgRjo6cmViaW5kCisgICAgICAgICAgICAsIHR5cGVuYW1lIGwxOjp0eXBlLCB0eXBlbmFtZSBsMjo6dHlwZQorICAgICAgICAgICAgPiBiaW5kXzsKKworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGlmXzwKKyAgICAgICAgICAgICAgaXNfbGUKKyAgICAgICAgICAgICwgaWZfPCBQcm90ZWN0LCBtcGw6OnByb3RlY3Q8YmluZF8+LCBiaW5kXyA+CisgICAgICAgICAgICAsIGlkZW50aXR5PEY+CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGVfOworCisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgdHlwZV86OnR5cGUgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgbGFtYmRhX2ltcGw8IGludF88Mz4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUYWcsIHR5cGVuYW1lIFByb3RlY3QgPiBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiBsYW1iZGE8IHR5cGVuYW1lIEY6OmFyZzEsIFRhZywgZmFsc2VfID4gbDE7CisgICAgICAgIHR5cGVkZWYgbGFtYmRhPCB0eXBlbmFtZSBGOjphcmcyLCBUYWcsIGZhbHNlXyA+IGwyOworICAgICAgICB0eXBlZGVmIGxhbWJkYTwgdHlwZW5hbWUgRjo6YXJnMywgVGFnLCBmYWxzZV8gPiBsMzsKKyAgICAgICAgCisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbDE6OmlzX2xlIGlzX2xlMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBsMjo6aXNfbGUgaXNfbGUyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGwzOjppc19sZSBpc19sZTM7CisgICAgICAgIAorCisgICAgICAgIHR5cGVkZWYgYXV4OjpsYW1iZGFfb3I8CisgICAgICAgICAgICAgIEJPT1NUX01QTF9BVVhfTVNWQ19WQUxVRV9XS05EKGlzX2xlMSk6OnZhbHVlLCBCT09TVF9NUExfQVVYX01TVkNfVkFMVUVfV0tORChpc19sZTIpOjp2YWx1ZSwgQk9PU1RfTVBMX0FVWF9NU1ZDX1ZBTFVFX1dLTkQoaXNfbGUzKTo6dmFsdWUKKyAgICAgICAgICAgID4gaXNfbGU7CisKKyAgICAgICAgdHlwZWRlZiBiaW5kMzwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgRjo6cmViaW5kCisgICAgICAgICAgICAsIHR5cGVuYW1lIGwxOjp0eXBlLCB0eXBlbmFtZSBsMjo6dHlwZSwgdHlwZW5hbWUgbDM6OnR5cGUKKyAgICAgICAgICAgID4gYmluZF87CisKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBpZl88CisgICAgICAgICAgICAgIGlzX2xlCisgICAgICAgICAgICAsIGlmXzwgUHJvdGVjdCwgbXBsOjpwcm90ZWN0PGJpbmRfPiwgYmluZF8gPgorICAgICAgICAgICAgLCBpZGVudGl0eTxGPgorICAgICAgICAgICAgPjo6dHlwZSB0eXBlXzsKKworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHR5cGVfOjp0eXBlIHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4gc3RydWN0IGxhbWJkYV9pbXBsPCBpbnRfPDQ+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVGFnLCB0eXBlbmFtZSBQcm90ZWN0ID4gc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgbGFtYmRhPCB0eXBlbmFtZSBGOjphcmcxLCBUYWcsIGZhbHNlXyA+IGwxOworICAgICAgICB0eXBlZGVmIGxhbWJkYTwgdHlwZW5hbWUgRjo6YXJnMiwgVGFnLCBmYWxzZV8gPiBsMjsKKyAgICAgICAgdHlwZWRlZiBsYW1iZGE8IHR5cGVuYW1lIEY6OmFyZzMsIFRhZywgZmFsc2VfID4gbDM7CisgICAgICAgIHR5cGVkZWYgbGFtYmRhPCB0eXBlbmFtZSBGOjphcmc0LCBUYWcsIGZhbHNlXyA+IGw0OworICAgICAgICAKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBsMTo6aXNfbGUgaXNfbGUxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGwyOjppc19sZSBpc19sZTI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbDM6OmlzX2xlIGlzX2xlMzsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBsNDo6aXNfbGUgaXNfbGU0OworICAgICAgICAKKworICAgICAgICB0eXBlZGVmIGF1eDo6bGFtYmRhX29yPAorICAgICAgICAgICAgICBCT09TVF9NUExfQVVYX01TVkNfVkFMVUVfV0tORChpc19sZTEpOjp2YWx1ZSwgQk9PU1RfTVBMX0FVWF9NU1ZDX1ZBTFVFX1dLTkQoaXNfbGUyKTo6dmFsdWUsIEJPT1NUX01QTF9BVVhfTVNWQ19WQUxVRV9XS05EKGlzX2xlMyk6OnZhbHVlLCBCT09TVF9NUExfQVVYX01TVkNfVkFMVUVfV0tORChpc19sZTQpOjp2YWx1ZQorICAgICAgICAgICAgPiBpc19sZTsKKworICAgICAgICB0eXBlZGVmIGJpbmQ0PAorICAgICAgICAgICAgICB0eXBlbmFtZSBGOjpyZWJpbmQKKyAgICAgICAgICAgICwgdHlwZW5hbWUgbDE6OnR5cGUsIHR5cGVuYW1lIGwyOjp0eXBlLCB0eXBlbmFtZSBsMzo6dHlwZQorICAgICAgICAgICAgLCB0eXBlbmFtZSBsNDo6dHlwZQorICAgICAgICAgICAgPiBiaW5kXzsKKworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGlmXzwKKyAgICAgICAgICAgICAgaXNfbGUKKyAgICAgICAgICAgICwgaWZfPCBQcm90ZWN0LCBtcGw6OnByb3RlY3Q8YmluZF8+LCBiaW5kXyA+CisgICAgICAgICAgICAsIGlkZW50aXR5PEY+CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGVfOworCisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgdHlwZV86OnR5cGUgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgbGFtYmRhX2ltcGw8IGludF88NT4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUYWcsIHR5cGVuYW1lIFByb3RlY3QgPiBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiBsYW1iZGE8IHR5cGVuYW1lIEY6OmFyZzEsIFRhZywgZmFsc2VfID4gbDE7CisgICAgICAgIHR5cGVkZWYgbGFtYmRhPCB0eXBlbmFtZSBGOjphcmcyLCBUYWcsIGZhbHNlXyA+IGwyOworICAgICAgICB0eXBlZGVmIGxhbWJkYTwgdHlwZW5hbWUgRjo6YXJnMywgVGFnLCBmYWxzZV8gPiBsMzsKKyAgICAgICAgdHlwZWRlZiBsYW1iZGE8IHR5cGVuYW1lIEY6OmFyZzQsIFRhZywgZmFsc2VfID4gbDQ7CisgICAgICAgIHR5cGVkZWYgbGFtYmRhPCB0eXBlbmFtZSBGOjphcmc1LCBUYWcsIGZhbHNlXyA+IGw1OworICAgICAgICAKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBsMTo6aXNfbGUgaXNfbGUxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGwyOjppc19sZSBpc19sZTI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbDM6OmlzX2xlIGlzX2xlMzsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBsNDo6aXNfbGUgaXNfbGU0OworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGw1Ojppc19sZSBpc19sZTU7CisgICAgICAgIAorCisgICAgICAgIHR5cGVkZWYgYXV4OjpsYW1iZGFfb3I8CisgICAgICAgICAgICAgIEJPT1NUX01QTF9BVVhfTVNWQ19WQUxVRV9XS05EKGlzX2xlMSk6OnZhbHVlLCBCT09TVF9NUExfQVVYX01TVkNfVkFMVUVfV0tORChpc19sZTIpOjp2YWx1ZSwgQk9PU1RfTVBMX0FVWF9NU1ZDX1ZBTFVFX1dLTkQoaXNfbGUzKTo6dmFsdWUsIEJPT1NUX01QTF9BVVhfTVNWQ19WQUxVRV9XS05EKGlzX2xlNCk6OnZhbHVlLCBCT09TVF9NUExfQVVYX01TVkNfVkFMVUVfV0tORChpc19sZTUpOjp2YWx1ZQorICAgICAgICAgICAgPiBpc19sZTsKKworICAgICAgICB0eXBlZGVmIGJpbmQ1PAorICAgICAgICAgICAgICB0eXBlbmFtZSBGOjpyZWJpbmQKKyAgICAgICAgICAgICwgdHlwZW5hbWUgbDE6OnR5cGUsIHR5cGVuYW1lIGwyOjp0eXBlLCB0eXBlbmFtZSBsMzo6dHlwZQorICAgICAgICAgICAgLCB0eXBlbmFtZSBsNDo6dHlwZSwgdHlwZW5hbWUgbDU6OnR5cGUKKyAgICAgICAgICAgID4gYmluZF87CisKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBpZl88CisgICAgICAgICAgICAgIGlzX2xlCisgICAgICAgICAgICAsIGlmXzwgUHJvdGVjdCwgbXBsOjpwcm90ZWN0PGJpbmRfPiwgYmluZF8gPgorICAgICAgICAgICAgLCBpZGVudGl0eTxGPgorICAgICAgICAgICAgPjo6dHlwZSB0eXBlXzsKKworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHR5cGVfOjp0eXBlIHR5cGU7CisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQKKyAgICAsIHR5cGVuYW1lIFRhZworICAgICwgdHlwZW5hbWUgUHJvdGVjdAorICAgID4KK3N0cnVjdCBsYW1iZGEKK3sKKyAgICAvLy8gTWV0YWZ1bmN0aW9uIGZvcndhcmRpbmcgY29uZnVzZXMgTVNWQyA2LngKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGF1eDo6dGVtcGxhdGVfYXJpdHk8VD46OnR5cGUgYXJpdHlfOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXV4OjpsYW1iZGFfaW1wbDxhcml0eV8+CisgICAgICAgIDo6dGVtcGxhdGUgcmVzdWx0XzwgVCxUYWcsUHJvdGVjdCA+IGxfOworCisgICAgdHlwZWRlZiB0eXBlbmFtZSBsXzo6dHlwZSB0eXBlOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbF86OmlzX2xlIGlzX2xlOworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoMywgbGFtYmRhLCAoVCwgVGFnLCBQcm90ZWN0KSkKK307CisKK0JPT1NUX01QTF9BVVhfTkFfU1BFQzIoMSwgMywgbGFtYmRhKQorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQKKyAgICA+CitzdHJ1Y3QgaXNfbGFtYmRhX2V4cHJlc3Npb24KKyAgICA6IGxhbWJkYTxUPjo6aXNfbGUKK3sKK307CisKK319CisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9kbWMvbGVzcy5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvZG1jL2xlc3MuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcxMzliNzkKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvZG1jL2xlc3MuaHBwCkBAIC0wLDAgKzEsOTQgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL2xlc3MuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVGFnMQorICAgICwgdHlwZW5hbWUgVGFnMgorICAgID4KK3N0cnVjdCBsZXNzX2ltcGwKKyAgICA6IGlmX2M8CisgICAgICAgICAgKCBCT09TVF9NUExfQVVYX05FU1RFRF9WQUxVRV9XS05EKGludCwgVGFnMSkKKyAgICAgICAgICAgICAgPiBCT09TVF9NUExfQVVYX05FU1RFRF9WQUxVRV9XS05EKGludCwgVGFnMikKKyAgICAgICAgICAgICkKKworICAgICAgICAsIGF1eDo6Y2FzdDJuZF9pbXBsPCBsZXNzX2ltcGw8IFRhZzEsVGFnMSA+LFRhZzEsIFRhZzIgPgorICAgICAgICAsIGF1eDo6Y2FzdDFzdF9pbXBsPCBsZXNzX2ltcGw8IFRhZzIsVGFnMiA+LFRhZzEsIFRhZzIgPgorICAgICAgICA+Ojp0eXBlCit7Cit9OworCisvLy8gZm9yIERpZ2l0YWwgTWFycyBDKysvY29tcGlsZXJzIHdpdGggbm8gQ1RQUy9UVFAgc3VwcG9ydAordGVtcGxhdGU8PiBzdHJ1Y3QgbGVzc19pbXBsPCBuYSxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFRhZyA+IHN0cnVjdCBsZXNzX2ltcGw8IG5hLFRhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFRhZyA+IHN0cnVjdCBsZXNzX2ltcGw8IFRhZyxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFQgPiBzdHJ1Y3QgbGVzc190YWcKK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIFQ6OnRhZyB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4xKQorICAgICwgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMikKKyAgICA+CitzdHJ1Y3QgbGVzcworCisgICAgOiBsZXNzX2ltcGw8CisgICAgICAgICAgdHlwZW5hbWUgbGVzc190YWc8TjE+Ojp0eXBlCisgICAgICAgICwgdHlwZW5hbWUgbGVzc190YWc8TjI+Ojp0eXBlCisgICAgICAgID46OnRlbXBsYXRlIGFwcGx5PCBOMSxOMiA+Ojp0eXBlCit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgyLCBsZXNzLCAoTjEsIE4yKSkKKworfTsKKworQk9PU1RfTVBMX0FVWF9OQV9TUEVDMigyLCAyLCBsZXNzKQorCit9fQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8Pgorc3RydWN0IGxlc3NfaW1wbDwgaW50ZWdyYWxfY190YWcsaW50ZWdyYWxfY190YWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBOMSwgdHlwZW5hbWUgTjIgPiBzdHJ1Y3QgYXBwbHkKKworICAgICAgICA6IGJvb2xfPCAoIEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChOMik6OnZhbHVlID4gQk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4xKTo6dmFsdWUgKSA+CisgICAgeworICAgIH07Cit9OworCit9fQpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2RtYy9sZXNzX2VxdWFsLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9kbWMvbGVzc19lcXVhbC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjdjMzQ5MQotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9kbWMvbGVzc19lcXVhbC5ocHAKQEAgLTAsMCArMSw5NCBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvbGVzc19lcXVhbC5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUYWcxCisgICAgLCB0eXBlbmFtZSBUYWcyCisgICAgPgorc3RydWN0IGxlc3NfZXF1YWxfaW1wbAorICAgIDogaWZfYzwKKyAgICAgICAgICAoIEJPT1NUX01QTF9BVVhfTkVTVEVEX1ZBTFVFX1dLTkQoaW50LCBUYWcxKQorICAgICAgICAgICAgICA+IEJPT1NUX01QTF9BVVhfTkVTVEVEX1ZBTFVFX1dLTkQoaW50LCBUYWcyKQorICAgICAgICAgICAgKQorCisgICAgICAgICwgYXV4OjpjYXN0Mm5kX2ltcGw8IGxlc3NfZXF1YWxfaW1wbDwgVGFnMSxUYWcxID4sVGFnMSwgVGFnMiA+CisgICAgICAgICwgYXV4OjpjYXN0MXN0X2ltcGw8IGxlc3NfZXF1YWxfaW1wbDwgVGFnMixUYWcyID4sVGFnMSwgVGFnMiA+CisgICAgICAgID46OnR5cGUKK3sKK307CisKKy8vLyBmb3IgRGlnaXRhbCBNYXJzIEMrKy9jb21waWxlcnMgd2l0aCBubyBDVFBTL1RUUCBzdXBwb3J0Cit0ZW1wbGF0ZTw+IHN0cnVjdCBsZXNzX2VxdWFsX2ltcGw8IG5hLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVGFnID4gc3RydWN0IGxlc3NfZXF1YWxfaW1wbDwgbmEsVGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVGFnID4gc3RydWN0IGxlc3NfZXF1YWxfaW1wbDwgVGFnLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVCA+IHN0cnVjdCBsZXNzX2VxdWFsX3RhZworeworICAgIHR5cGVkZWYgdHlwZW5hbWUgVDo6dGFnIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjEpCisgICAgLCB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4yKQorICAgID4KK3N0cnVjdCBsZXNzX2VxdWFsCisKKyAgICA6IGxlc3NfZXF1YWxfaW1wbDwKKyAgICAgICAgICB0eXBlbmFtZSBsZXNzX2VxdWFsX3RhZzxOMT46OnR5cGUKKyAgICAgICAgLCB0eXBlbmFtZSBsZXNzX2VxdWFsX3RhZzxOMj46OnR5cGUKKyAgICAgICAgPjo6dGVtcGxhdGUgYXBwbHk8IE4xLE4yID46OnR5cGUKK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKDIsIGxlc3NfZXF1YWwsIChOMSwgTjIpKQorCit9OworCitCT09TVF9NUExfQVVYX05BX1NQRUMyKDIsIDIsIGxlc3NfZXF1YWwpCisKK319CisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgbGVzc19lcXVhbF9pbXBsPCBpbnRlZ3JhbF9jX3RhZyxpbnRlZ3JhbF9jX3RhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIE4xLCB0eXBlbmFtZSBOMiA+IHN0cnVjdCBhcHBseQorCisgICAgICAgIDogYm9vbF88ICggQk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4xKTo6dmFsdWUgPD0gQk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4yKTo6dmFsdWUgKSA+CisgICAgeworICAgIH07Cit9OworCit9fQpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2RtYy9saXN0LmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9kbWMvbGlzdC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGNjOGM0NgotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9kbWMvbGlzdC5ocHAKQEAgLTAsMCArMSwzMjMgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL2xpc3QuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAgPSBuYSwgdHlwZW5hbWUgVDEgPSBuYSwgdHlwZW5hbWUgVDIgPSBuYSwgdHlwZW5hbWUgVDMgPSBuYQorICAgICwgdHlwZW5hbWUgVDQgPSBuYSwgdHlwZW5hbWUgVDUgPSBuYSwgdHlwZW5hbWUgVDYgPSBuYSwgdHlwZW5hbWUgVDcgPSBuYQorICAgICwgdHlwZW5hbWUgVDggPSBuYSwgdHlwZW5hbWUgVDkgPSBuYSwgdHlwZW5hbWUgVDEwID0gbmEsIHR5cGVuYW1lIFQxMSA9IG5hCisgICAgLCB0eXBlbmFtZSBUMTIgPSBuYSwgdHlwZW5hbWUgVDEzID0gbmEsIHR5cGVuYW1lIFQxNCA9IG5hCisgICAgLCB0eXBlbmFtZSBUMTUgPSBuYSwgdHlwZW5hbWUgVDE2ID0gbmEsIHR5cGVuYW1lIFQxNyA9IG5hCisgICAgLCB0eXBlbmFtZSBUMTggPSBuYSwgdHlwZW5hbWUgVDE5ID0gbmEKKyAgICA+CitzdHJ1Y3QgbGlzdDsKKwordGVtcGxhdGU8CisgICAgIAorICAgID4KK3N0cnVjdCBsaXN0PAorICAgICAgICAgIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogbGlzdDA8ICA+Cit7CisgICAgdHlwZWRlZiBsaXN0MDwgID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAKKyAgICA+CitzdHJ1Y3QgbGlzdDwKKyAgICAgICAgICBUMCwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IGxpc3QxPFQwPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDE8VDA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMQorICAgID4KK3N0cnVjdCBsaXN0PAorICAgICAgICAgIFQwLCBUMSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogbGlzdDI8IFQwLFQxID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3QyPCBUMCxUMSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIKKyAgICA+CitzdHJ1Y3QgbGlzdDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IGxpc3QzPCBUMCxUMSxUMiA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0MzwgVDAsVDEsVDIgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMworICAgID4KK3N0cnVjdCBsaXN0PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogbGlzdDQ8IFQwLFQxLFQyLFQzID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3Q0PCBUMCxUMSxUMixUMyA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgID4KK3N0cnVjdCBsaXN0PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogbGlzdDU8IFQwLFQxLFQyLFQzLFQ0ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3Q1PCBUMCxUMSxUMixUMyxUNCA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUKKyAgICA+CitzdHJ1Y3QgbGlzdDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IGxpc3Q2PCBUMCxUMSxUMixUMyxUNCxUNSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0NjwgVDAsVDEsVDIsVDMsVDQsVDUgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNgorICAgID4KK3N0cnVjdCBsaXN0PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogbGlzdDc8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3Q3PCBUMCxUMSxUMixUMyxUNCxUNSxUNiA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNworICAgID4KK3N0cnVjdCBsaXN0PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogbGlzdDg8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3Q4PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgKKyAgICA+CitzdHJ1Y3QgbGlzdDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IGxpc3Q5PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0OTwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDggPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgID4KK3N0cnVjdCBsaXN0PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogbGlzdDEwPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0MTA8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMAorICAgID4KK3N0cnVjdCBsaXN0PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IGxpc3QxMTwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3QxMTwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExCisgICAgPgorc3RydWN0IGxpc3Q8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IGxpc3QxMjwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0MTI8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMgorICAgID4KK3N0cnVjdCBsaXN0PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogbGlzdDEzPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMiA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0MTM8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMworICAgID4KK3N0cnVjdCBsaXN0PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IGxpc3QxNDwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3QxNDwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgPgorc3RydWN0IGxpc3Q8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0LCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IGxpc3QxNTwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDE1PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMsVDE0ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgLCB0eXBlbmFtZSBUMTUKKyAgICA+CitzdHJ1Y3QgbGlzdDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgLCBUMTUsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IGxpc3QxNjwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgLCBUMTUKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDE2PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMsVDE0LFQxNSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYKKyAgICA+CitzdHJ1Y3QgbGlzdDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgLCBUMTUsIFQxNiwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBsaXN0MTc8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1LCBUMTYKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDE3PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMsVDE0LFQxNSxUMTYgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcKKyAgICA+CitzdHJ1Y3QgbGlzdDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgLCBUMTUsIFQxNiwgVDE3LCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogbGlzdDE4PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgVDE2LCBUMTcKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDE4PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMsVDE0LFQxNSxUMTYsVDE3ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgKKyAgICA+CitzdHJ1Y3QgbGlzdDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgLCBUMTUsIFQxNiwgVDE3LCBUMTgsIG5hCisgICAgICAgID4KKyAgICA6IGxpc3QxOTwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgLCBUMTUsIFQxNiwgVDE3LCBUMTgKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDE5PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMsVDE0LFQxNSxUMTYsVDE3LFQxOCA+Ojp0eXBlIHR5cGU7Cit9OworCisvLy8gcHJpbWFyeSB0ZW1wbGF0ZSAobm90IGEgc3BlY2lhbGl6YXRpb24hKQorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICA+CitzdHJ1Y3QgbGlzdAorICAgIDogbGlzdDIwPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgVDE2LCBUMTcsIFQxOCwgVDE5CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3QyMDwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzLFQxNCxUMTUsVDE2LFQxNyxUMTgsVDE5ID46OnR5cGUgdHlwZTsKK307CisKK319CisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9kbWMvbGlzdF9jLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9kbWMvbGlzdF9jLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNDNmMzhmCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2RtYy9saXN0X2MuaHBwCkBAIC0wLDAgKzEsMzI4IEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9saXN0X2MuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCA9IExPTkdfTUFYLCBsb25nIEMxID0gTE9OR19NQVgsIGxvbmcgQzIgPSBMT05HX01BWAorICAgICwgbG9uZyBDMyA9IExPTkdfTUFYLCBsb25nIEM0ID0gTE9OR19NQVgsIGxvbmcgQzUgPSBMT05HX01BWAorICAgICwgbG9uZyBDNiA9IExPTkdfTUFYLCBsb25nIEM3ID0gTE9OR19NQVgsIGxvbmcgQzggPSBMT05HX01BWAorICAgICwgbG9uZyBDOSA9IExPTkdfTUFYLCBsb25nIEMxMCA9IExPTkdfTUFYLCBsb25nIEMxMSA9IExPTkdfTUFYCisgICAgLCBsb25nIEMxMiA9IExPTkdfTUFYLCBsb25nIEMxMyA9IExPTkdfTUFYLCBsb25nIEMxNCA9IExPTkdfTUFYCisgICAgLCBsb25nIEMxNSA9IExPTkdfTUFYLCBsb25nIEMxNiA9IExPTkdfTUFYLCBsb25nIEMxNyA9IExPTkdfTUFYCisgICAgLCBsb25nIEMxOCA9IExPTkdfTUFYLCBsb25nIEMxOSA9IExPTkdfTUFYCisgICAgPgorc3RydWN0IGxpc3RfYzsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUCisgICAgPgorc3RydWN0IGxpc3RfYzwKKyAgICAgICAgICBULCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiBsaXN0MF9jPFQ+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0MF9jPFQ+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAKKyAgICA+CitzdHJ1Y3QgbGlzdF9jPAorICAgICAgICAgIFQsIEMwLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IGxpc3QxX2M8IFQsQzAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDFfYzwgVCxDMCA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEKKyAgICA+CitzdHJ1Y3QgbGlzdF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IGxpc3QyX2M8IFQsQzAsQzEgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDJfYzwgVCxDMCxDMSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIKKyAgICA+CitzdHJ1Y3QgbGlzdF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IGxpc3QzX2M8IFQsQzAsQzEsQzIgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDNfYzwgVCxDMCxDMSxDMiA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMKKyAgICA+CitzdHJ1Y3QgbGlzdF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IGxpc3Q0X2M8IFQsQzAsQzEsQzIsQzMgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDRfYzwgVCxDMCxDMSxDMixDMyA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQKKyAgICA+CitzdHJ1Y3QgbGlzdF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IGxpc3Q1X2M8IFQsQzAsQzEsQzIsQzMsQzQgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDVfYzwgVCxDMCxDMSxDMixDMyxDNCA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICA+CitzdHJ1Y3QgbGlzdF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IGxpc3Q2X2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDZfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAsIGxvbmcgQzYKKyAgICA+CitzdHJ1Y3QgbGlzdF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IGxpc3Q3X2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDdfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNiA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAsIGxvbmcgQzYsIGxvbmcgQzcKKyAgICA+CitzdHJ1Y3QgbGlzdF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IGxpc3Q4X2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDhfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgKKyAgICA+CitzdHJ1Y3QgbGlzdF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IGxpc3Q5X2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcsQzggPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDlfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyxDOCA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzkKKyAgICA+CitzdHJ1Y3QgbGlzdF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IGxpc3QxMF9jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2LEM3LEM4LEM5ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3QxMF9jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2LEM3LEM4LEM5ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAKKyAgICA+CitzdHJ1Y3QgbGlzdF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IGxpc3QxMV9jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2LEM3LEM4LEM5LEMxMCA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0MTFfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyxDOCxDOSxDMTAgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEKKyAgICA+CitzdHJ1Y3QgbGlzdF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiBsaXN0MTJfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyxDOCxDOSxDMTAsQzExID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3QxMl9jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2LEM3LEM4LEM5LEMxMCxDMTEgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgPgorc3RydWN0IGxpc3RfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIEMxMiwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IGxpc3QxM19jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2LEM3LEM4LEM5LEMxMCxDMTEsQzEyID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3QxM19jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2LEM3LEM4LEM5LEMxMCxDMTEsQzEyID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgICwgbG9uZyBDMTMKKyAgICA+CitzdHJ1Y3QgbGlzdF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IGxpc3QxNF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDE0X2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcsQzgsQzksQzEwLEMxMSxDMTIsQzEzID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0CisgICAgPgorc3RydWN0IGxpc3RfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIEMxMiwgQzEzLCBDMTQKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogbGlzdDE1X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBDMTIsIEMxMywgQzE0CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3QxNV9jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2LEM3LEM4LEM5LEMxMCxDMTEsQzEyLEMxMyxDMTQgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1CisgICAgPgorc3RydWN0IGxpc3RfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIEMxMiwgQzEzLCBDMTQKKyAgICAgICAgLCBDMTUsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IGxpc3QxNl9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMsIEMxNAorICAgICAgICAsIEMxNQorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0MTZfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyxDOCxDOSxDMTAsQzExLEMxMixDMTMsQzE0LEMxNSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAsIGxvbmcgQzEzLCBsb25nIEMxNCwgbG9uZyBDMTUsIGxvbmcgQzE2CisgICAgPgorc3RydWN0IGxpc3RfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIEMxMiwgQzEzLCBDMTQKKyAgICAgICAgLCBDMTUsIEMxNiwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiBsaXN0MTdfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIEMxMiwgQzEzLCBDMTQKKyAgICAgICAgLCBDMTUsIEMxNgorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0MTdfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyxDOCxDOSxDMTAsQzExLEMxMixDMTMsQzE0LEMxNSxDMTYgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1LCBsb25nIEMxNiwgbG9uZyBDMTcKKyAgICA+CitzdHJ1Y3QgbGlzdF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMsIEMxNAorICAgICAgICAsIEMxNSwgQzE2LCBDMTcsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiBsaXN0MThfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIEMxMiwgQzEzLCBDMTQKKyAgICAgICAgLCBDMTUsIEMxNiwgQzE3CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3QxOF9jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2LEM3LEM4LEM5LEMxMCxDMTEsQzEyLEMxMyxDMTQsQzE1LEMxNixDMTcgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1LCBsb25nIEMxNiwgbG9uZyBDMTcsIGxvbmcgQzE4CisgICAgPgorc3RydWN0IGxpc3RfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIEMxMiwgQzEzLCBDMTQKKyAgICAgICAgLCBDMTUsIEMxNiwgQzE3LCBDMTgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IGxpc3QxOV9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMsIEMxNAorICAgICAgICAsIEMxNSwgQzE2LCBDMTcsIEMxOAorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0MTlfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyxDOCxDOSxDMTAsQzExLEMxMixDMTMsQzE0LEMxNSxDMTYsQzE3LEMxOCA+Ojp0eXBlIHR5cGU7Cit9OworCisvLy8gcHJpbWFyeSB0ZW1wbGF0ZSAobm90IGEgc3BlY2lhbGl6YXRpb24hKQorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAsIGxvbmcgQzEzLCBsb25nIEMxNCwgbG9uZyBDMTUsIGxvbmcgQzE2LCBsb25nIEMxNywgbG9uZyBDMTgsIGxvbmcgQzE5CisgICAgPgorc3RydWN0IGxpc3RfYworICAgIDogbGlzdDIwX2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBDMTIsIEMxMywgQzE0CisgICAgICAgICwgQzE1LCBDMTYsIEMxNywgQzE4LCBDMTkKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDIwX2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcsQzgsQzksQzEwLEMxMSxDMTIsQzEzLEMxNCxDMTUsQzE2LEMxNyxDMTgsQzE5ID46OnR5cGUgdHlwZTsKK307CisKK319CisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9kbWMvbWFwLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9kbWMvbWFwLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43OTc0ZjI4Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2RtYy9tYXAuaHBwCkBAIC0wLDAgKzEsMzIzIEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9tYXAuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAgPSBuYSwgdHlwZW5hbWUgVDEgPSBuYSwgdHlwZW5hbWUgVDIgPSBuYSwgdHlwZW5hbWUgVDMgPSBuYQorICAgICwgdHlwZW5hbWUgVDQgPSBuYSwgdHlwZW5hbWUgVDUgPSBuYSwgdHlwZW5hbWUgVDYgPSBuYSwgdHlwZW5hbWUgVDcgPSBuYQorICAgICwgdHlwZW5hbWUgVDggPSBuYSwgdHlwZW5hbWUgVDkgPSBuYSwgdHlwZW5hbWUgVDEwID0gbmEsIHR5cGVuYW1lIFQxMSA9IG5hCisgICAgLCB0eXBlbmFtZSBUMTIgPSBuYSwgdHlwZW5hbWUgVDEzID0gbmEsIHR5cGVuYW1lIFQxNCA9IG5hCisgICAgLCB0eXBlbmFtZSBUMTUgPSBuYSwgdHlwZW5hbWUgVDE2ID0gbmEsIHR5cGVuYW1lIFQxNyA9IG5hCisgICAgLCB0eXBlbmFtZSBUMTggPSBuYSwgdHlwZW5hbWUgVDE5ID0gbmEKKyAgICA+CitzdHJ1Y3QgbWFwOworCit0ZW1wbGF0ZTwKKyAgICAgCisgICAgPgorc3RydWN0IG1hcDwKKyAgICAgICAgICBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IG1hcDA8ICA+Cit7CisgICAgdHlwZWRlZiBtYXAwPCAgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMAorICAgID4KK3N0cnVjdCBtYXA8CisgICAgICAgICAgVDAsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBtYXAxPFQwPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbWFwMTxUMD46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxCisgICAgPgorc3RydWN0IG1hcDwKKyAgICAgICAgICBUMCwgVDEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IG1hcDI8IFQwLFQxID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1hcDI8IFQwLFQxID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMgorICAgID4KK3N0cnVjdCBtYXA8CisgICAgICAgICAgVDAsIFQxLCBUMiwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBtYXAzPCBUMCxUMSxUMiA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtYXAzPCBUMCxUMSxUMiA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzCisgICAgPgorc3RydWN0IG1hcDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IG1hcDQ8IFQwLFQxLFQyLFQzID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1hcDQ8IFQwLFQxLFQyLFQzID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgPgorc3RydWN0IG1hcDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IG1hcDU8IFQwLFQxLFQyLFQzLFQ0ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1hcDU8IFQwLFQxLFQyLFQzLFQ0ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNQorICAgID4KK3N0cnVjdCBtYXA8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBtYXA2PCBUMCxUMSxUMixUMyxUNCxUNSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtYXA2PCBUMCxUMSxUMixUMyxUNCxUNSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2CisgICAgPgorc3RydWN0IG1hcDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IG1hcDc8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1hcDc8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3CisgICAgPgorc3RydWN0IG1hcDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IG1hcDg8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1hcDg8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOAorICAgID4KK3N0cnVjdCBtYXA8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBtYXA5PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtYXA5PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgPgorc3RydWN0IG1hcDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IG1hcDEwPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtYXAxMDwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDkgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwCisgICAgPgorc3RydWN0IG1hcDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBtYXAxMTwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1hcDExPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEKKyAgICA+CitzdHJ1Y3QgbWFwPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBtYXAxMjwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtYXAxMjwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyCisgICAgPgorc3RydWN0IG1hcDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IG1hcDEzPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMiA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtYXAxMzwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzCisgICAgPgorc3RydWN0IG1hcDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBtYXAxNDwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1hcDE0PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICA+CitzdHJ1Y3QgbWFwPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNCwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBtYXAxNTwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbWFwMTU8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyxUMTQgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAsIHR5cGVuYW1lIFQxNQorICAgID4KK3N0cnVjdCBtYXA8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1LCBuYSwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBtYXAxNjwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgLCBUMTUKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbWFwMTY8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyxUMTQsVDE1ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNgorICAgID4KK3N0cnVjdCBtYXA8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1LCBUMTYsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogbWFwMTc8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1LCBUMTYKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbWFwMTc8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyxUMTQsVDE1LFQxNiA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNworICAgID4KK3N0cnVjdCBtYXA8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1LCBUMTYsIFQxNywgbmEsIG5hCisgICAgICAgID4KKyAgICA6IG1hcDE4PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgVDE2LCBUMTcKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbWFwMTg8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyxUMTQsVDE1LFQxNixUMTcgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOAorICAgID4KK3N0cnVjdCBtYXA8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1LCBUMTYsIFQxNywgVDE4LCBuYQorICAgICAgICA+CisgICAgOiBtYXAxOTwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgLCBUMTUsIFQxNiwgVDE3LCBUMTgKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbWFwMTk8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyxUMTQsVDE1LFQxNixUMTcsVDE4ID46OnR5cGUgdHlwZTsKK307CisKKy8vLyBwcmltYXJ5IHRlbXBsYXRlIChub3QgYSBzcGVjaWFsaXphdGlvbiEpCisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgID4KK3N0cnVjdCBtYXAKKyAgICA6IG1hcDIwPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgVDE2LCBUMTcsIFQxOCwgVDE5CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1hcDIwPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMsVDE0LFQxNSxUMTYsVDE3LFQxOCxUMTkgPjo6dHlwZSB0eXBlOworfTsKKworfX0KKwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2RtYy9taW51cy5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvZG1jL21pbnVzLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hZTZiNTkyCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2RtYy9taW51cy5ocHAKQEAgLTAsMCArMSwxNDYgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL21pbnVzLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFRhZzEKKyAgICAsIHR5cGVuYW1lIFRhZzIKKyAgICA+CitzdHJ1Y3QgbWludXNfaW1wbAorICAgIDogaWZfYzwKKyAgICAgICAgICAoIEJPT1NUX01QTF9BVVhfTkVTVEVEX1ZBTFVFX1dLTkQoaW50LCBUYWcxKQorICAgICAgICAgICAgICA+IEJPT1NUX01QTF9BVVhfTkVTVEVEX1ZBTFVFX1dLTkQoaW50LCBUYWcyKQorICAgICAgICAgICAgKQorCisgICAgICAgICwgYXV4OjpjYXN0Mm5kX2ltcGw8IG1pbnVzX2ltcGw8IFRhZzEsVGFnMSA+LFRhZzEsIFRhZzIgPgorICAgICAgICAsIGF1eDo6Y2FzdDFzdF9pbXBsPCBtaW51c19pbXBsPCBUYWcyLFRhZzIgPixUYWcxLCBUYWcyID4KKyAgICAgICAgPjo6dHlwZQoreworfTsKKworLy8vIGZvciBEaWdpdGFsIE1hcnMgQysrL2NvbXBpbGVycyB3aXRoIG5vIENUUFMvVFRQIHN1cHBvcnQKK3RlbXBsYXRlPD4gc3RydWN0IG1pbnVzX2ltcGw8IG5hLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVGFnID4gc3RydWN0IG1pbnVzX2ltcGw8IG5hLFRhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFRhZyA+IHN0cnVjdCBtaW51c19pbXBsPCBUYWcsbmEgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUID4gc3RydWN0IG1pbnVzX3RhZworeworICAgIHR5cGVkZWYgdHlwZW5hbWUgVDo6dGFnIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjEpCisgICAgLCB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4yKQorICAgICwgdHlwZW5hbWUgTjMgPSBuYSwgdHlwZW5hbWUgTjQgPSBuYSwgdHlwZW5hbWUgTjUgPSBuYQorICAgID4KK3N0cnVjdCBtaW51cworICAgIDogbWludXM8IG1pbnVzPCBtaW51czwgbWludXM8IE4xLE4yID4sIE4zPiwgTjQ+LCBONT4KK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKAorICAgICAgICAgIDUKKyAgICAgICAgLCBtaW51cworICAgICAgICAsICggTjEsIE4yLCBOMywgTjQsIE41ICkKKyAgICAgICAgKQorfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBOMSwgdHlwZW5hbWUgTjIsIHR5cGVuYW1lIE4zLCB0eXBlbmFtZSBONAorICAgID4KK3N0cnVjdCBtaW51czwgTjEsTjIsTjMsTjQsbmEgPgorCisgICAgOiBtaW51czwgbWludXM8IG1pbnVzPCBOMSxOMiA+LCBOMz4sIE40PgoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlRfU1BFQygKKyAgICAgICAgICA1CisgICAgICAgICwgbWludXMKKyAgICAgICAgLCAoIE4xLCBOMiwgTjMsIE40LCBuYSApCisgICAgICAgICkKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgTjEsIHR5cGVuYW1lIE4yLCB0eXBlbmFtZSBOMworICAgID4KK3N0cnVjdCBtaW51czwgTjEsTjIsTjMsbmEsbmEgPgorCisgICAgOiBtaW51czwgbWludXM8IE4xLE4yID4sIE4zPgoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlRfU1BFQygKKyAgICAgICAgICA1CisgICAgICAgICwgbWludXMKKyAgICAgICAgLCAoIE4xLCBOMiwgTjMsIG5hLCBuYSApCisgICAgICAgICkKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgTjEsIHR5cGVuYW1lIE4yCisgICAgPgorc3RydWN0IG1pbnVzPCBOMSxOMixuYSxuYSxuYSA+CisgICAgOiBtaW51c19pbXBsPAorICAgICAgICAgIHR5cGVuYW1lIG1pbnVzX3RhZzxOMT46OnR5cGUKKyAgICAgICAgLCB0eXBlbmFtZSBtaW51c190YWc8TjI+Ojp0eXBlCisgICAgICAgID46OnRlbXBsYXRlIGFwcGx5PCBOMSxOMiA+Ojp0eXBlCit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVF9TUEVDKAorICAgICAgICAgIDUKKyAgICAgICAgLCBtaW51cworICAgICAgICAsICggTjEsIE4yLCBuYSwgbmEsIG5hICkKKyAgICAgICAgKQorCit9OworCitCT09TVF9NUExfQVVYX05BX1NQRUMyKDIsIDUsIG1pbnVzKQorCit9fQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKK3RlbXBsYXRlPD4KK3N0cnVjdCBtaW51c19pbXBsPCBpbnRlZ3JhbF9jX3RhZyxpbnRlZ3JhbF9jX3RhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIE4xLCB0eXBlbmFtZSBOMiA+IHN0cnVjdCBhcHBseQorCisgICAgICAgIDogaW50ZWdyYWxfYzwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgYXV4OjpsYXJnZXN0X2ludDwKKyAgICAgICAgICAgICAgICAgIHR5cGVuYW1lIE4xOjp2YWx1ZV90eXBlCisgICAgICAgICAgICAgICAgLCB0eXBlbmFtZSBOMjo6dmFsdWVfdHlwZQorICAgICAgICAgICAgICAgID46OnR5cGUKKyAgICAgICAgICAgICwgKCBCT09TVF9NUExfQVVYX1ZBTFVFX1dLTkQoTjEpOjp2YWx1ZQorICAgICAgICAgICAgICAgICAgLSBCT09TVF9NUExfQVVYX1ZBTFVFX1dLTkQoTjIpOjp2YWx1ZQorICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgID4KKyAgICB7CisgICAgfTsKK307CisKK319CmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvZG1jL21vZHVsdXMuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2RtYy9tb2R1bHVzLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44OWM2MTcyCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2RtYy9tb2R1bHVzLmhwcApAQCAtMCwwICsxLDEwMSBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvbW9kdWx1cy5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUYWcxCisgICAgLCB0eXBlbmFtZSBUYWcyCisgICAgPgorc3RydWN0IG1vZHVsdXNfaW1wbAorICAgIDogaWZfYzwKKyAgICAgICAgICAoIEJPT1NUX01QTF9BVVhfTkVTVEVEX1ZBTFVFX1dLTkQoaW50LCBUYWcxKQorICAgICAgICAgICAgICA+IEJPT1NUX01QTF9BVVhfTkVTVEVEX1ZBTFVFX1dLTkQoaW50LCBUYWcyKQorICAgICAgICAgICAgKQorCisgICAgICAgICwgYXV4OjpjYXN0Mm5kX2ltcGw8IG1vZHVsdXNfaW1wbDwgVGFnMSxUYWcxID4sVGFnMSwgVGFnMiA+CisgICAgICAgICwgYXV4OjpjYXN0MXN0X2ltcGw8IG1vZHVsdXNfaW1wbDwgVGFnMixUYWcyID4sVGFnMSwgVGFnMiA+CisgICAgICAgID46OnR5cGUKK3sKK307CisKKy8vLyBmb3IgRGlnaXRhbCBNYXJzIEMrKy9jb21waWxlcnMgd2l0aCBubyBDVFBTL1RUUCBzdXBwb3J0Cit0ZW1wbGF0ZTw+IHN0cnVjdCBtb2R1bHVzX2ltcGw8IG5hLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVGFnID4gc3RydWN0IG1vZHVsdXNfaW1wbDwgbmEsVGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVGFnID4gc3RydWN0IG1vZHVsdXNfaW1wbDwgVGFnLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVCA+IHN0cnVjdCBtb2R1bHVzX3RhZworeworICAgIHR5cGVkZWYgdHlwZW5hbWUgVDo6dGFnIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjEpCisgICAgLCB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4yKQorICAgID4KK3N0cnVjdCBtb2R1bHVzCisKKyAgICA6IG1vZHVsdXNfaW1wbDwKKyAgICAgICAgICB0eXBlbmFtZSBtb2R1bHVzX3RhZzxOMT46OnR5cGUKKyAgICAgICAgLCB0eXBlbmFtZSBtb2R1bHVzX3RhZzxOMj46OnR5cGUKKyAgICAgICAgPjo6dGVtcGxhdGUgYXBwbHk8IE4xLE4yID46OnR5cGUKK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKDIsIG1vZHVsdXMsIChOMSwgTjIpKQorCit9OworCitCT09TVF9NUExfQVVYX05BX1NQRUMyKDIsIDIsIG1vZHVsdXMpCisKK319CisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgewordGVtcGxhdGU8Pgorc3RydWN0IG1vZHVsdXNfaW1wbDwgaW50ZWdyYWxfY190YWcsaW50ZWdyYWxfY190YWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBOMSwgdHlwZW5hbWUgTjIgPiBzdHJ1Y3QgYXBwbHkKKworICAgICAgICA6IGludGVncmFsX2M8CisgICAgICAgICAgICAgIHR5cGVuYW1lIGF1eDo6bGFyZ2VzdF9pbnQ8CisgICAgICAgICAgICAgICAgICB0eXBlbmFtZSBOMTo6dmFsdWVfdHlwZQorICAgICAgICAgICAgICAgICwgdHlwZW5hbWUgTjI6OnZhbHVlX3R5cGUKKyAgICAgICAgICAgICAgICA+Ojp0eXBlCisgICAgICAgICAgICAsICggQk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4xKTo6dmFsdWUKKyAgICAgICAgICAgICAgICAgICUgQk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4yKTo6dmFsdWUKKyAgICAgICAgICAgICAgICApCisgICAgICAgICAgICA+CisgICAgeworICAgIH07Cit9OworCit9fQpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2RtYy9ub3RfZXF1YWxfdG8uaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2RtYy9ub3RfZXF1YWxfdG8uaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIyOGUxMDAKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvZG1jL25vdF9lcXVhbF90by5ocHAKQEAgLTAsMCArMSw5NCBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvbm90X2VxdWFsX3RvLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFRhZzEKKyAgICAsIHR5cGVuYW1lIFRhZzIKKyAgICA+CitzdHJ1Y3Qgbm90X2VxdWFsX3RvX2ltcGwKKyAgICA6IGlmX2M8CisgICAgICAgICAgKCBCT09TVF9NUExfQVVYX05FU1RFRF9WQUxVRV9XS05EKGludCwgVGFnMSkKKyAgICAgICAgICAgICAgPiBCT09TVF9NUExfQVVYX05FU1RFRF9WQUxVRV9XS05EKGludCwgVGFnMikKKyAgICAgICAgICAgICkKKworICAgICAgICAsIGF1eDo6Y2FzdDJuZF9pbXBsPCBub3RfZXF1YWxfdG9faW1wbDwgVGFnMSxUYWcxID4sVGFnMSwgVGFnMiA+CisgICAgICAgICwgYXV4OjpjYXN0MXN0X2ltcGw8IG5vdF9lcXVhbF90b19pbXBsPCBUYWcyLFRhZzIgPixUYWcxLCBUYWcyID4KKyAgICAgICAgPjo6dHlwZQoreworfTsKKworLy8vIGZvciBEaWdpdGFsIE1hcnMgQysrL2NvbXBpbGVycyB3aXRoIG5vIENUUFMvVFRQIHN1cHBvcnQKK3RlbXBsYXRlPD4gc3RydWN0IG5vdF9lcXVhbF90b19pbXBsPCBuYSxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFRhZyA+IHN0cnVjdCBub3RfZXF1YWxfdG9faW1wbDwgbmEsVGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVGFnID4gc3RydWN0IG5vdF9lcXVhbF90b19pbXBsPCBUYWcsbmEgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUID4gc3RydWN0IG5vdF9lcXVhbF90b190YWcKK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIFQ6OnRhZyB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4xKQorICAgICwgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMikKKyAgICA+CitzdHJ1Y3Qgbm90X2VxdWFsX3RvCisKKyAgICA6IG5vdF9lcXVhbF90b19pbXBsPAorICAgICAgICAgIHR5cGVuYW1lIG5vdF9lcXVhbF90b190YWc8TjE+Ojp0eXBlCisgICAgICAgICwgdHlwZW5hbWUgbm90X2VxdWFsX3RvX3RhZzxOMj46OnR5cGUKKyAgICAgICAgPjo6dGVtcGxhdGUgYXBwbHk8IE4xLE4yID46OnR5cGUKK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKDIsIG5vdF9lcXVhbF90bywgKE4xLCBOMikpCisKK307CisKK0JPT1NUX01QTF9BVVhfTkFfU1BFQzIoMiwgMiwgbm90X2VxdWFsX3RvKQorCit9fQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8Pgorc3RydWN0IG5vdF9lcXVhbF90b19pbXBsPCBpbnRlZ3JhbF9jX3RhZyxpbnRlZ3JhbF9jX3RhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIE4xLCB0eXBlbmFtZSBOMiA+IHN0cnVjdCBhcHBseQorCisgICAgICAgIDogYm9vbF88ICggQk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4xKTo6dmFsdWUgIT0gQk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4yKTo6dmFsdWUgKSA+CisgICAgeworICAgIH07Cit9OworCit9fQpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2RtYy9vci5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvZG1jL29yLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lOTI5NjAyCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2RtYy9vci5ocHAKQEAgLTAsMCArMSw2OSBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvb3IuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwgYm9vbCBDXywgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQgPgorc3RydWN0IG9yX2ltcGwKKyAgICA6IHRydWVfCit7Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQgPgorc3RydWN0IG9yX2ltcGw8IGZhbHNlLFQxLFQyLFQzLFQ0ID4KKyAgICA6IG9yX2ltcGw8CisgICAgICAgICAgQk9PU1RfTVBMX0FVWF9ORVNURURfVFlQRV9XS05EKFQxKTo6dmFsdWUKKyAgICAgICAgLCBUMiwgVDMsIFQ0CisgICAgICAgICwgZmFsc2VfCisgICAgICAgID4KK3sKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBvcl9pbXBsPAorICAgICAgICAgIGZhbHNlCisgICAgICAgICwgZmFsc2VfLCBmYWxzZV8sIGZhbHNlXywgZmFsc2VfCisgICAgICAgID4KKyAgICA6IGZhbHNlXworeworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShUMSkKKyAgICAsIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oVDIpCisgICAgLCB0eXBlbmFtZSBUMyA9IGZhbHNlXywgdHlwZW5hbWUgVDQgPSBmYWxzZV8sIHR5cGVuYW1lIFQ1ID0gZmFsc2VfCisgICAgPgorc3RydWN0IG9yXworCisgICAgOiBhdXg6Om9yX2ltcGw8CisgICAgICAgICAgQk9PU1RfTVBMX0FVWF9ORVNURURfVFlQRV9XS05EKFQxKTo6dmFsdWUKKyAgICAgICAgLCBUMiwgVDMsIFQ0LCBUNQorICAgICAgICA+CisKK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKAorICAgICAgICAgIDUKKyAgICAgICAgLCBvcl8KKyAgICAgICAgLCAoIFQxLCBUMiwgVDMsIFQ0LCBUNSkKKyAgICAgICAgKQorfTsKKworQk9PU1RfTVBMX0FVWF9OQV9TUEVDMigKKyAgICAgIDIKKyAgICAsIDUKKyAgICAsIG9yXworICAgICkKKworfX0KZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9kbWMvcGxhY2Vob2xkZXJzLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9kbWMvcGxhY2Vob2xkZXJzLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lY2Q0NTE0Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2RtYy9wbGFjZWhvbGRlcnMuaHBwCkBAIC0wLDAgKzEsMTA1IEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDEtMjAwNAorLy8gQ29weXJpZ2h0IFBldGVyIERpbW92IDIwMDEtMjAwMworLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9wbGFjZWhvbGRlcnMuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworQk9PU1RfTVBMX0FVWF9BRExfQkFSUklFUl9OQU1FU1BBQ0VfT1BFTgordHlwZWRlZiBhcmc8IC0xID4gXzsKK0JPT1NUX01QTF9BVVhfQURMX0JBUlJJRVJfTkFNRVNQQUNFX0NMT1NFCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKworQk9PU1RfTVBMX0FVWF9BUkdfQURMX0JBUlJJRVJfREVDTChfKQorCituYW1lc3BhY2UgcGxhY2Vob2xkZXJzIHsKK3VzaW5nIEJPT1NUX01QTF9BVVhfQURMX0JBUlJJRVJfTkFNRVNQQUNFOjpfOworfQorCit9fQorCisvLy8gYWd1cnQsIDE3L21hci8wMjogb25lIG1vcmUgcGxhY2Vob2xkZXIgZm9yIHRoZSBsYXN0ICdhcHBseSMnIAorLy8vIHNwZWNpYWxpemF0aW9uCitCT09TVF9NUExfQVVYX0FETF9CQVJSSUVSX05BTUVTUEFDRV9PUEVOCit0eXBlZGVmIGFyZzwxPiBfMTsKKworQk9PU1RfTVBMX0FVWF9BRExfQkFSUklFUl9OQU1FU1BBQ0VfQ0xPU0UKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCitCT09TVF9NUExfQVVYX0FSR19BRExfQkFSUklFUl9ERUNMKF8xKQorCituYW1lc3BhY2UgcGxhY2Vob2xkZXJzIHsKK3VzaW5nIEJPT1NUX01QTF9BVVhfQURMX0JBUlJJRVJfTkFNRVNQQUNFOjpfMTsKK30KKworfX0KK0JPT1NUX01QTF9BVVhfQURMX0JBUlJJRVJfTkFNRVNQQUNFX09QRU4KK3R5cGVkZWYgYXJnPDI+IF8yOworCitCT09TVF9NUExfQVVYX0FETF9CQVJSSUVSX05BTUVTUEFDRV9DTE9TRQorbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK0JPT1NUX01QTF9BVVhfQVJHX0FETF9CQVJSSUVSX0RFQ0woXzIpCisKK25hbWVzcGFjZSBwbGFjZWhvbGRlcnMgewordXNpbmcgQk9PU1RfTVBMX0FVWF9BRExfQkFSUklFUl9OQU1FU1BBQ0U6Ol8yOworfQorCit9fQorQk9PU1RfTVBMX0FVWF9BRExfQkFSUklFUl9OQU1FU1BBQ0VfT1BFTgordHlwZWRlZiBhcmc8Mz4gXzM7CisKK0JPT1NUX01QTF9BVVhfQURMX0JBUlJJRVJfTkFNRVNQQUNFX0NMT1NFCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKworQk9PU1RfTVBMX0FVWF9BUkdfQURMX0JBUlJJRVJfREVDTChfMykKKworbmFtZXNwYWNlIHBsYWNlaG9sZGVycyB7Cit1c2luZyBCT09TVF9NUExfQVVYX0FETF9CQVJSSUVSX05BTUVTUEFDRTo6XzM7Cit9CisKK319CitCT09TVF9NUExfQVVYX0FETF9CQVJSSUVSX05BTUVTUEFDRV9PUEVOCit0eXBlZGVmIGFyZzw0PiBfNDsKKworQk9PU1RfTVBMX0FVWF9BRExfQkFSUklFUl9OQU1FU1BBQ0VfQ0xPU0UKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCitCT09TVF9NUExfQVVYX0FSR19BRExfQkFSUklFUl9ERUNMKF80KQorCituYW1lc3BhY2UgcGxhY2Vob2xkZXJzIHsKK3VzaW5nIEJPT1NUX01QTF9BVVhfQURMX0JBUlJJRVJfTkFNRVNQQUNFOjpfNDsKK30KKworfX0KK0JPT1NUX01QTF9BVVhfQURMX0JBUlJJRVJfTkFNRVNQQUNFX09QRU4KK3R5cGVkZWYgYXJnPDU+IF81OworCitCT09TVF9NUExfQVVYX0FETF9CQVJSSUVSX05BTUVTUEFDRV9DTE9TRQorbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK0JPT1NUX01QTF9BVVhfQVJHX0FETF9CQVJSSUVSX0RFQ0woXzUpCisKK25hbWVzcGFjZSBwbGFjZWhvbGRlcnMgewordXNpbmcgQk9PU1RfTVBMX0FVWF9BRExfQkFSUklFUl9OQU1FU1BBQ0U6Ol81OworfQorCit9fQorQk9PU1RfTVBMX0FVWF9BRExfQkFSUklFUl9OQU1FU1BBQ0VfT1BFTgordHlwZWRlZiBhcmc8Nj4gXzY7CisKK0JPT1NUX01QTF9BVVhfQURMX0JBUlJJRVJfTkFNRVNQQUNFX0NMT1NFCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKworQk9PU1RfTVBMX0FVWF9BUkdfQURMX0JBUlJJRVJfREVDTChfNikKKworbmFtZXNwYWNlIHBsYWNlaG9sZGVycyB7Cit1c2luZyBCT09TVF9NUExfQVVYX0FETF9CQVJSSUVSX05BTUVTUEFDRTo6XzY7Cit9CisKK319CmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvZG1jL3BsdXMuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2RtYy9wbHVzLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kZTAzZTNlCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2RtYy9wbHVzLmhwcApAQCAtMCwwICsxLDE0NiBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvcGx1cy5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUYWcxCisgICAgLCB0eXBlbmFtZSBUYWcyCisgICAgPgorc3RydWN0IHBsdXNfaW1wbAorICAgIDogaWZfYzwKKyAgICAgICAgICAoIEJPT1NUX01QTF9BVVhfTkVTVEVEX1ZBTFVFX1dLTkQoaW50LCBUYWcxKQorICAgICAgICAgICAgICA+IEJPT1NUX01QTF9BVVhfTkVTVEVEX1ZBTFVFX1dLTkQoaW50LCBUYWcyKQorICAgICAgICAgICAgKQorCisgICAgICAgICwgYXV4OjpjYXN0Mm5kX2ltcGw8IHBsdXNfaW1wbDwgVGFnMSxUYWcxID4sVGFnMSwgVGFnMiA+CisgICAgICAgICwgYXV4OjpjYXN0MXN0X2ltcGw8IHBsdXNfaW1wbDwgVGFnMixUYWcyID4sVGFnMSwgVGFnMiA+CisgICAgICAgID46OnR5cGUKK3sKK307CisKKy8vLyBmb3IgRGlnaXRhbCBNYXJzIEMrKy9jb21waWxlcnMgd2l0aCBubyBDVFBTL1RUUCBzdXBwb3J0Cit0ZW1wbGF0ZTw+IHN0cnVjdCBwbHVzX2ltcGw8IG5hLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVGFnID4gc3RydWN0IHBsdXNfaW1wbDwgbmEsVGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVGFnID4gc3RydWN0IHBsdXNfaW1wbDwgVGFnLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVCA+IHN0cnVjdCBwbHVzX3RhZworeworICAgIHR5cGVkZWYgdHlwZW5hbWUgVDo6dGFnIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjEpCisgICAgLCB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4yKQorICAgICwgdHlwZW5hbWUgTjMgPSBuYSwgdHlwZW5hbWUgTjQgPSBuYSwgdHlwZW5hbWUgTjUgPSBuYQorICAgID4KK3N0cnVjdCBwbHVzCisgICAgOiBwbHVzPCBwbHVzPCBwbHVzPCBwbHVzPCBOMSxOMiA+LCBOMz4sIE40PiwgTjU+Cit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgKKyAgICAgICAgICA1CisgICAgICAgICwgcGx1cworICAgICAgICAsICggTjEsIE4yLCBOMywgTjQsIE41ICkKKyAgICAgICAgKQorfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBOMSwgdHlwZW5hbWUgTjIsIHR5cGVuYW1lIE4zLCB0eXBlbmFtZSBONAorICAgID4KK3N0cnVjdCBwbHVzPCBOMSxOMixOMyxONCxuYSA+CisKKyAgICA6IHBsdXM8IHBsdXM8IHBsdXM8IE4xLE4yID4sIE4zPiwgTjQ+Cit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVF9TUEVDKAorICAgICAgICAgIDUKKyAgICAgICAgLCBwbHVzCisgICAgICAgICwgKCBOMSwgTjIsIE4zLCBONCwgbmEgKQorICAgICAgICApCit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIE4xLCB0eXBlbmFtZSBOMiwgdHlwZW5hbWUgTjMKKyAgICA+CitzdHJ1Y3QgcGx1czwgTjEsTjIsTjMsbmEsbmEgPgorCisgICAgOiBwbHVzPCBwbHVzPCBOMSxOMiA+LCBOMz4KK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUX1NQRUMoCisgICAgICAgICAgNQorICAgICAgICAsIHBsdXMKKyAgICAgICAgLCAoIE4xLCBOMiwgTjMsIG5hLCBuYSApCisgICAgICAgICkKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgTjEsIHR5cGVuYW1lIE4yCisgICAgPgorc3RydWN0IHBsdXM8IE4xLE4yLG5hLG5hLG5hID4KKyAgICA6IHBsdXNfaW1wbDwKKyAgICAgICAgICB0eXBlbmFtZSBwbHVzX3RhZzxOMT46OnR5cGUKKyAgICAgICAgLCB0eXBlbmFtZSBwbHVzX3RhZzxOMj46OnR5cGUKKyAgICAgICAgPjo6dGVtcGxhdGUgYXBwbHk8IE4xLE4yID46OnR5cGUKK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUX1NQRUMoCisgICAgICAgICAgNQorICAgICAgICAsIHBsdXMKKyAgICAgICAgLCAoIE4xLCBOMiwgbmEsIG5hLCBuYSApCisgICAgICAgICkKKworfTsKKworQk9PU1RfTVBMX0FVWF9OQV9TUEVDMigyLCA1LCBwbHVzKQorCit9fQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKK3RlbXBsYXRlPD4KK3N0cnVjdCBwbHVzX2ltcGw8IGludGVncmFsX2NfdGFnLGludGVncmFsX2NfdGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgTjEsIHR5cGVuYW1lIE4yID4gc3RydWN0IGFwcGx5CisKKyAgICAgICAgOiBpbnRlZ3JhbF9jPAorICAgICAgICAgICAgICB0eXBlbmFtZSBhdXg6Omxhcmdlc3RfaW50PAorICAgICAgICAgICAgICAgICAgdHlwZW5hbWUgTjE6OnZhbHVlX3R5cGUKKyAgICAgICAgICAgICAgICAsIHR5cGVuYW1lIE4yOjp2YWx1ZV90eXBlCisgICAgICAgICAgICAgICAgPjo6dHlwZQorICAgICAgICAgICAgLCAoIEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChOMSk6OnZhbHVlCisgICAgICAgICAgICAgICAgICArIEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChOMik6OnZhbHVlCisgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgPgorICAgIHsKKyAgICB9OworfTsKKworfX0KZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9kbWMvcXVvdGUuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2RtYy9xdW90ZS5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGNlNzllZAotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9kbWMvcXVvdGUuaHBwCkBAIC0wLDAgKzEsMTIzIEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9xdW90ZS5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFQsIGJvb2wgaGFzX3R5cGVfID4KK3N0cnVjdCBxdW90ZV9pbXBsCisgICAgOiBUCit7Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVCA+CitzdHJ1Y3QgcXVvdGVfaW1wbDwgVCxmYWxzZSA+Cit7CisgICAgdHlwZWRlZiBUIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBQMSA+IGNsYXNzIEYKKyAgICAsIHR5cGVuYW1lIFRhZyA9IHZvaWRfCisgICAgPgorc3RydWN0IHF1b3RlMQoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSA+IHN0cnVjdCBhcHBseQorCisgICAgICAgIDogcXVvdGVfaW1wbDwKKyAgICAgICAgICAgICAgRjxVMT4KKyAgICAgICAgICAgICwgYXV4OjpoYXNfdHlwZTwgRjxVMT4gPjo6dmFsdWUKKyAgICAgICAgICAgID4KKworICAgIHsKKyAgICB9OworfTsKKwordGVtcGxhdGU8CisgICAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgUDEsIHR5cGVuYW1lIFAyID4gY2xhc3MgRgorICAgICwgdHlwZW5hbWUgVGFnID0gdm9pZF8KKyAgICA+CitzdHJ1Y3QgcXVvdGUyCit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorCisgICAgICAgIDogcXVvdGVfaW1wbDwKKyAgICAgICAgICAgICAgRjwgVTEsVTIgPgorICAgICAgICAgICAgLCBhdXg6Omhhc190eXBlPCBGPCBVMSxVMiA+ID46OnZhbHVlCisgICAgICAgICAgICA+CisKKyAgICB7CisgICAgfTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFAxLCB0eXBlbmFtZSBQMiwgdHlwZW5hbWUgUDMgPiBjbGFzcyBGCisgICAgLCB0eXBlbmFtZSBUYWcgPSB2b2lkXworICAgID4KK3N0cnVjdCBxdW90ZTMKK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyLCB0eXBlbmFtZSBVMyA+IHN0cnVjdCBhcHBseQorCisgICAgICAgIDogcXVvdGVfaW1wbDwKKyAgICAgICAgICAgICAgRjwgVTEsVTIsVTMgPgorICAgICAgICAgICAgLCBhdXg6Omhhc190eXBlPCBGPCBVMSxVMixVMyA+ID46OnZhbHVlCisgICAgICAgICAgICA+CisKKyAgICB7CisgICAgfTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFAxLCB0eXBlbmFtZSBQMiwgdHlwZW5hbWUgUDMsIHR5cGVuYW1lIFA0ID4gY2xhc3MgRgorICAgICwgdHlwZW5hbWUgVGFnID0gdm9pZF8KKyAgICA+CitzdHJ1Y3QgcXVvdGU0Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyLCB0eXBlbmFtZSBVMywgdHlwZW5hbWUgVTQKKyAgICAgICAgPgorICAgIHN0cnVjdCBhcHBseQorCisgICAgICAgIDogcXVvdGVfaW1wbDwKKyAgICAgICAgICAgICAgRjwgVTEsVTIsVTMsVTQgPgorICAgICAgICAgICAgLCBhdXg6Omhhc190eXBlPCBGPCBVMSxVMixVMyxVNCA+ID46OnZhbHVlCisgICAgICAgICAgICA+CisKKyAgICB7CisgICAgfTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgUDEsIHR5cGVuYW1lIFAyLCB0eXBlbmFtZSBQMywgdHlwZW5hbWUgUDQKKyAgICAgICAgLCB0eXBlbmFtZSBQNQorICAgICAgICA+CisgICAgICBjbGFzcyBGCisgICAgLCB0eXBlbmFtZSBUYWcgPSB2b2lkXworICAgID4KK3N0cnVjdCBxdW90ZTUKK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIsIHR5cGVuYW1lIFUzLCB0eXBlbmFtZSBVNAorICAgICAgICAsIHR5cGVuYW1lIFU1CisgICAgICAgID4KKyAgICBzdHJ1Y3QgYXBwbHkKKworICAgICAgICA6IHF1b3RlX2ltcGw8CisgICAgICAgICAgICAgIEY8IFUxLFUyLFUzLFU0LFU1ID4KKyAgICAgICAgICAgICwgYXV4OjpoYXNfdHlwZTwgRjwgVTEsVTIsVTMsVTQsVTUgPiA+Ojp2YWx1ZQorICAgICAgICAgICAgPgorCisgICAgeworICAgIH07Cit9OworCit9fQorCmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvZG1jL3JldmVyc2VfZm9sZF9pbXBsLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9kbWMvcmV2ZXJzZV9mb2xkX2ltcGwuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdkM2FkNzUKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvZG1jL3JldmVyc2VfZm9sZF9pbXBsLmhwcApAQCAtMCwwICsxLDIzMSBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvYXV4Xy9yZXZlcnNlX2ZvbGRfaW1wbC5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsgbmFtZXNwYWNlIGF1eCB7CisKKy8vLyBmb3J3YXJkIGRlY2xhcmF0aW9uCisKK3RlbXBsYXRlPAorICAgICAgbG9uZyBOCisgICAgLCB0eXBlbmFtZSBGaXJzdAorICAgICwgdHlwZW5hbWUgTGFzdAorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEJhY2t3YXJkT3AKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgID4KK3N0cnVjdCByZXZlcnNlX2ZvbGRfaW1wbDsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGaXJzdAorICAgICwgdHlwZW5hbWUgTGFzdAorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEJhY2t3YXJkT3AKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgID4KK3N0cnVjdCByZXZlcnNlX2ZvbGRfaW1wbDwgMCxGaXJzdCxMYXN0LFN0YXRlLEJhY2t3YXJkT3AsRm9yd2FyZE9wID4KK3sKKyAgICB0eXBlZGVmIEZpcnN0IGl0ZXIwOworICAgIHR5cGVkZWYgU3RhdGUgZndkX3N0YXRlMDsKKyAgICB0eXBlZGVmIGZ3ZF9zdGF0ZTAgYmt3ZF9zdGF0ZTA7CisgICAgdHlwZWRlZiBia3dkX3N0YXRlMCBzdGF0ZTsKKyAgICB0eXBlZGVmIGl0ZXIwIGl0ZXJhdG9yOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGaXJzdAorICAgICwgdHlwZW5hbWUgTGFzdAorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEJhY2t3YXJkT3AKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgID4KK3N0cnVjdCByZXZlcnNlX2ZvbGRfaW1wbDwgMSxGaXJzdCxMYXN0LFN0YXRlLEJhY2t3YXJkT3AsRm9yd2FyZE9wID4KK3sKKyAgICB0eXBlZGVmIEZpcnN0IGl0ZXIwOworICAgIHR5cGVkZWYgU3RhdGUgZndkX3N0YXRlMDsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLCBmd2Rfc3RhdGUwLCB0eXBlbmFtZSBkZXJlZjxpdGVyMD46OnR5cGUgPjo6dHlwZSBmd2Rfc3RhdGUxOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIwPjo6dHlwZSBpdGVyMTsKKyAgICAKKworICAgIHR5cGVkZWYgZndkX3N0YXRlMSBia3dkX3N0YXRlMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgQmFja3dhcmRPcCwgYmt3ZF9zdGF0ZTEsIHR5cGVuYW1lIGRlcmVmPGl0ZXIwPjo6dHlwZSA+Ojp0eXBlIGJrd2Rfc3RhdGUwOworICAgIHR5cGVkZWYgYmt3ZF9zdGF0ZTAgc3RhdGU7CisgICAgdHlwZWRlZiBpdGVyMSBpdGVyYXRvcjsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBCYWNrd2FyZE9wCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+CitzdHJ1Y3QgcmV2ZXJzZV9mb2xkX2ltcGw8IDIsRmlyc3QsTGFzdCxTdGF0ZSxCYWNrd2FyZE9wLEZvcndhcmRPcCA+Cit7CisgICAgdHlwZWRlZiBGaXJzdCBpdGVyMDsKKyAgICB0eXBlZGVmIFN0YXRlIGZ3ZF9zdGF0ZTA7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCwgZndkX3N0YXRlMCwgdHlwZW5hbWUgZGVyZWY8aXRlcjA+Ojp0eXBlID46OnR5cGUgZndkX3N0YXRlMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMD46OnR5cGUgaXRlcjE7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCwgZndkX3N0YXRlMSwgdHlwZW5hbWUgZGVyZWY8aXRlcjE+Ojp0eXBlID46OnR5cGUgZndkX3N0YXRlMjsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMT46OnR5cGUgaXRlcjI7CisgICAgCisKKyAgICB0eXBlZGVmIGZ3ZF9zdGF0ZTIgYmt3ZF9zdGF0ZTI7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEJhY2t3YXJkT3AsIGJrd2Rfc3RhdGUyLCB0eXBlbmFtZSBkZXJlZjxpdGVyMT46OnR5cGUgPjo6dHlwZSBia3dkX3N0YXRlMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgQmFja3dhcmRPcCwgYmt3ZF9zdGF0ZTEsIHR5cGVuYW1lIGRlcmVmPGl0ZXIwPjo6dHlwZSA+Ojp0eXBlIGJrd2Rfc3RhdGUwOworICAgIAorCisgICAgdHlwZWRlZiBia3dkX3N0YXRlMCBzdGF0ZTsKKyAgICB0eXBlZGVmIGl0ZXIyIGl0ZXJhdG9yOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGaXJzdAorICAgICwgdHlwZW5hbWUgTGFzdAorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEJhY2t3YXJkT3AKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgID4KK3N0cnVjdCByZXZlcnNlX2ZvbGRfaW1wbDwgMyxGaXJzdCxMYXN0LFN0YXRlLEJhY2t3YXJkT3AsRm9yd2FyZE9wID4KK3sKKyAgICB0eXBlZGVmIEZpcnN0IGl0ZXIwOworICAgIHR5cGVkZWYgU3RhdGUgZndkX3N0YXRlMDsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLCBmd2Rfc3RhdGUwLCB0eXBlbmFtZSBkZXJlZjxpdGVyMD46OnR5cGUgPjo6dHlwZSBmd2Rfc3RhdGUxOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIwPjo6dHlwZSBpdGVyMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLCBmd2Rfc3RhdGUxLCB0eXBlbmFtZSBkZXJlZjxpdGVyMT46OnR5cGUgPjo6dHlwZSBmd2Rfc3RhdGUyOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIxPjo6dHlwZSBpdGVyMjsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLCBmd2Rfc3RhdGUyLCB0eXBlbmFtZSBkZXJlZjxpdGVyMj46OnR5cGUgPjo6dHlwZSBmd2Rfc3RhdGUzOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIyPjo6dHlwZSBpdGVyMzsKKyAgICAKKworICAgIHR5cGVkZWYgZndkX3N0YXRlMyBia3dkX3N0YXRlMzsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgQmFja3dhcmRPcCwgYmt3ZF9zdGF0ZTMsIHR5cGVuYW1lIGRlcmVmPGl0ZXIyPjo6dHlwZSA+Ojp0eXBlIGJrd2Rfc3RhdGUyOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLCBia3dkX3N0YXRlMiwgdHlwZW5hbWUgZGVyZWY8aXRlcjE+Ojp0eXBlID46OnR5cGUgYmt3ZF9zdGF0ZTE7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEJhY2t3YXJkT3AsIGJrd2Rfc3RhdGUxLCB0eXBlbmFtZSBkZXJlZjxpdGVyMD46OnR5cGUgPjo6dHlwZSBia3dkX3N0YXRlMDsKKyAgICAKKworICAgIHR5cGVkZWYgYmt3ZF9zdGF0ZTAgc3RhdGU7CisgICAgdHlwZWRlZiBpdGVyMyBpdGVyYXRvcjsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBCYWNrd2FyZE9wCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+CitzdHJ1Y3QgcmV2ZXJzZV9mb2xkX2ltcGw8IDQsRmlyc3QsTGFzdCxTdGF0ZSxCYWNrd2FyZE9wLEZvcndhcmRPcCA+Cit7CisgICAgdHlwZWRlZiBGaXJzdCBpdGVyMDsKKyAgICB0eXBlZGVmIFN0YXRlIGZ3ZF9zdGF0ZTA7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCwgZndkX3N0YXRlMCwgdHlwZW5hbWUgZGVyZWY8aXRlcjA+Ojp0eXBlID46OnR5cGUgZndkX3N0YXRlMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMD46OnR5cGUgaXRlcjE7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCwgZndkX3N0YXRlMSwgdHlwZW5hbWUgZGVyZWY8aXRlcjE+Ojp0eXBlID46OnR5cGUgZndkX3N0YXRlMjsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMT46OnR5cGUgaXRlcjI7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCwgZndkX3N0YXRlMiwgdHlwZW5hbWUgZGVyZWY8aXRlcjI+Ojp0eXBlID46OnR5cGUgZndkX3N0YXRlMzsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMj46OnR5cGUgaXRlcjM7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCwgZndkX3N0YXRlMywgdHlwZW5hbWUgZGVyZWY8aXRlcjM+Ojp0eXBlID46OnR5cGUgZndkX3N0YXRlNDsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMz46OnR5cGUgaXRlcjQ7CisgICAgCisKKyAgICB0eXBlZGVmIGZ3ZF9zdGF0ZTQgYmt3ZF9zdGF0ZTQ7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEJhY2t3YXJkT3AsIGJrd2Rfc3RhdGU0LCB0eXBlbmFtZSBkZXJlZjxpdGVyMz46OnR5cGUgPjo6dHlwZSBia3dkX3N0YXRlMzsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgQmFja3dhcmRPcCwgYmt3ZF9zdGF0ZTMsIHR5cGVuYW1lIGRlcmVmPGl0ZXIyPjo6dHlwZSA+Ojp0eXBlIGJrd2Rfc3RhdGUyOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLCBia3dkX3N0YXRlMiwgdHlwZW5hbWUgZGVyZWY8aXRlcjE+Ojp0eXBlID46OnR5cGUgYmt3ZF9zdGF0ZTE7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEJhY2t3YXJkT3AsIGJrd2Rfc3RhdGUxLCB0eXBlbmFtZSBkZXJlZjxpdGVyMD46OnR5cGUgPjo6dHlwZSBia3dkX3N0YXRlMDsKKyAgICAKKworICAgIHR5cGVkZWYgYmt3ZF9zdGF0ZTAgc3RhdGU7CisgICAgdHlwZWRlZiBpdGVyNCBpdGVyYXRvcjsKK307CisKK3RlbXBsYXRlPAorICAgICAgbG9uZyBOCisgICAgLCB0eXBlbmFtZSBGaXJzdAorICAgICwgdHlwZW5hbWUgTGFzdAorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEJhY2t3YXJkT3AKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgID4KK3N0cnVjdCByZXZlcnNlX2ZvbGRfaW1wbAoreworICAgIHR5cGVkZWYgRmlyc3QgaXRlcjA7CisgICAgdHlwZWRlZiBTdGF0ZSBmd2Rfc3RhdGUwOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsIGZ3ZF9zdGF0ZTAsIHR5cGVuYW1lIGRlcmVmPGl0ZXIwPjo6dHlwZSA+Ojp0eXBlIGZ3ZF9zdGF0ZTE7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjA+Ojp0eXBlIGl0ZXIxOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsIGZ3ZF9zdGF0ZTEsIHR5cGVuYW1lIGRlcmVmPGl0ZXIxPjo6dHlwZSA+Ojp0eXBlIGZ3ZF9zdGF0ZTI7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjE+Ojp0eXBlIGl0ZXIyOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsIGZ3ZF9zdGF0ZTIsIHR5cGVuYW1lIGRlcmVmPGl0ZXIyPjo6dHlwZSA+Ojp0eXBlIGZ3ZF9zdGF0ZTM7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjI+Ojp0eXBlIGl0ZXIzOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsIGZ3ZF9zdGF0ZTMsIHR5cGVuYW1lIGRlcmVmPGl0ZXIzPjo6dHlwZSA+Ojp0eXBlIGZ3ZF9zdGF0ZTQ7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjM+Ojp0eXBlIGl0ZXI0OworICAgIAorCisgICAgdHlwZWRlZiByZXZlcnNlX2ZvbGRfaW1wbDwKKyAgICAgICAgICAoIChOIC0gNCkgPCAwID8gMCA6IE4gLSA0ICkKKyAgICAgICAgLCBpdGVyNAorICAgICAgICAsIExhc3QKKyAgICAgICAgLCBmd2Rfc3RhdGU0CisgICAgICAgICwgQmFja3dhcmRPcAorICAgICAgICAsIEZvcndhcmRPcAorICAgICAgICA+IG5lc3RlZF9jaHVuazsKKworICAgIHR5cGVkZWYgdHlwZW5hbWUgbmVzdGVkX2NodW5rOjpzdGF0ZSBia3dkX3N0YXRlNDsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgQmFja3dhcmRPcCwgYmt3ZF9zdGF0ZTQsIHR5cGVuYW1lIGRlcmVmPGl0ZXIzPjo6dHlwZSA+Ojp0eXBlIGJrd2Rfc3RhdGUzOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLCBia3dkX3N0YXRlMywgdHlwZW5hbWUgZGVyZWY8aXRlcjI+Ojp0eXBlID46OnR5cGUgYmt3ZF9zdGF0ZTI7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEJhY2t3YXJkT3AsIGJrd2Rfc3RhdGUyLCB0eXBlbmFtZSBkZXJlZjxpdGVyMT46OnR5cGUgPjo6dHlwZSBia3dkX3N0YXRlMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgQmFja3dhcmRPcCwgYmt3ZF9zdGF0ZTEsIHR5cGVuYW1lIGRlcmVmPGl0ZXIwPjo6dHlwZSA+Ojp0eXBlIGJrd2Rfc3RhdGUwOworICAgIAorCisgICAgdHlwZWRlZiBia3dkX3N0YXRlMCBzdGF0ZTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG5lc3RlZF9jaHVuazo6aXRlcmF0b3IgaXRlcmF0b3I7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICwgdHlwZW5hbWUgQmFja3dhcmRPcAorICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgPgorc3RydWN0IHJldmVyc2VfZm9sZF9pbXBsPCAtMSxGaXJzdCxMYXN0LFN0YXRlLEJhY2t3YXJkT3AsRm9yd2FyZE9wID4KK3sKKyAgICB0eXBlZGVmIHJldmVyc2VfZm9sZF9pbXBsPAorICAgICAgICAgIC0xCisgICAgICAgICwgdHlwZW5hbWUgbXBsOjpuZXh0PEZpcnN0Pjo6dHlwZQorICAgICAgICAsIExhc3QKKyAgICAgICAgLCB0eXBlbmFtZSBhcHBseTI8Rm9yd2FyZE9wLFN0YXRlLCB0eXBlbmFtZSBkZXJlZjxGaXJzdD46OnR5cGU+Ojp0eXBlCisgICAgICAgICwgQmFja3dhcmRPcAorICAgICAgICAsIEZvcndhcmRPcAorICAgICAgICA+IG5lc3RlZF9zdGVwOworCisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8CisgICAgICAgICAgQmFja3dhcmRPcAorICAgICAgICAsIHR5cGVuYW1lIG5lc3RlZF9zdGVwOjpzdGF0ZQorICAgICAgICAsIHR5cGVuYW1lIGRlcmVmPEZpcnN0Pjo6dHlwZQorICAgICAgICA+Ojp0eXBlIHN0YXRlOworCisgICAgdHlwZWRlZiB0eXBlbmFtZSBuZXN0ZWRfc3RlcDo6aXRlcmF0b3IgaXRlcmF0b3I7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBCYWNrd2FyZE9wCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+CitzdHJ1Y3QgcmV2ZXJzZV9mb2xkX2ltcGw8IC0xLExhc3QsTGFzdCxTdGF0ZSxCYWNrd2FyZE9wLEZvcndhcmRPcCA+Cit7CisgICAgdHlwZWRlZiBTdGF0ZSBzdGF0ZTsKKyAgICB0eXBlZGVmIExhc3QgaXRlcmF0b3I7Cit9OworCit9fX0KZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9kbWMvcmV2ZXJzZV9pdGVyX2ZvbGRfaW1wbC5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvZG1jL3JldmVyc2VfaXRlcl9mb2xkX2ltcGwuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMzYmY1MDgKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvZG1jL3JldmVyc2VfaXRlcl9mb2xkX2ltcGwuaHBwCkBAIC0wLDAgKzEsMjMxIEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9hdXhfL3JldmVyc2VfaXRlcl9mb2xkX2ltcGwuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7IG5hbWVzcGFjZSBhdXggeworCisvLy8gZm9yd2FyZCBkZWNsYXJhdGlvbgorCit0ZW1wbGF0ZTwKKyAgICAgIGxvbmcgTgorICAgICwgdHlwZW5hbWUgRmlyc3QKKyAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBCYWNrd2FyZE9wCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+CitzdHJ1Y3QgcmV2ZXJzZV9pdGVyX2ZvbGRfaW1wbDsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGaXJzdAorICAgICwgdHlwZW5hbWUgTGFzdAorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEJhY2t3YXJkT3AKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgID4KK3N0cnVjdCByZXZlcnNlX2l0ZXJfZm9sZF9pbXBsPCAwLEZpcnN0LExhc3QsU3RhdGUsQmFja3dhcmRPcCxGb3J3YXJkT3AgPgoreworICAgIHR5cGVkZWYgRmlyc3QgaXRlcjA7CisgICAgdHlwZWRlZiBTdGF0ZSBmd2Rfc3RhdGUwOworICAgIHR5cGVkZWYgZndkX3N0YXRlMCBia3dkX3N0YXRlMDsKKyAgICB0eXBlZGVmIGJrd2Rfc3RhdGUwIHN0YXRlOworICAgIHR5cGVkZWYgaXRlcjAgaXRlcmF0b3I7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICwgdHlwZW5hbWUgQmFja3dhcmRPcAorICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgPgorc3RydWN0IHJldmVyc2VfaXRlcl9mb2xkX2ltcGw8IDEsRmlyc3QsTGFzdCxTdGF0ZSxCYWNrd2FyZE9wLEZvcndhcmRPcCA+Cit7CisgICAgdHlwZWRlZiBGaXJzdCBpdGVyMDsKKyAgICB0eXBlZGVmIFN0YXRlIGZ3ZF9zdGF0ZTA7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCxmd2Rfc3RhdGUwLGl0ZXIwID46OnR5cGUgZndkX3N0YXRlMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMD46OnR5cGUgaXRlcjE7CisgICAgCisKKyAgICB0eXBlZGVmIGZ3ZF9zdGF0ZTEgYmt3ZF9zdGF0ZTE7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEJhY2t3YXJkT3AsYmt3ZF9zdGF0ZTEsaXRlcjAgPjo6dHlwZSBia3dkX3N0YXRlMDsKKyAgICB0eXBlZGVmIGJrd2Rfc3RhdGUwIHN0YXRlOworICAgIHR5cGVkZWYgaXRlcjEgaXRlcmF0b3I7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICwgdHlwZW5hbWUgQmFja3dhcmRPcAorICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgPgorc3RydWN0IHJldmVyc2VfaXRlcl9mb2xkX2ltcGw8IDIsRmlyc3QsTGFzdCxTdGF0ZSxCYWNrd2FyZE9wLEZvcndhcmRPcCA+Cit7CisgICAgdHlwZWRlZiBGaXJzdCBpdGVyMDsKKyAgICB0eXBlZGVmIFN0YXRlIGZ3ZF9zdGF0ZTA7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCxmd2Rfc3RhdGUwLGl0ZXIwID46OnR5cGUgZndkX3N0YXRlMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMD46OnR5cGUgaXRlcjE7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCxmd2Rfc3RhdGUxLGl0ZXIxID46OnR5cGUgZndkX3N0YXRlMjsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMT46OnR5cGUgaXRlcjI7CisgICAgCisKKyAgICB0eXBlZGVmIGZ3ZF9zdGF0ZTIgYmt3ZF9zdGF0ZTI7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEJhY2t3YXJkT3AsYmt3ZF9zdGF0ZTIsaXRlcjEgPjo6dHlwZSBia3dkX3N0YXRlMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgQmFja3dhcmRPcCxia3dkX3N0YXRlMSxpdGVyMCA+Ojp0eXBlIGJrd2Rfc3RhdGUwOworICAgIAorCisgICAgdHlwZWRlZiBia3dkX3N0YXRlMCBzdGF0ZTsKKyAgICB0eXBlZGVmIGl0ZXIyIGl0ZXJhdG9yOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGaXJzdAorICAgICwgdHlwZW5hbWUgTGFzdAorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEJhY2t3YXJkT3AKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgID4KK3N0cnVjdCByZXZlcnNlX2l0ZXJfZm9sZF9pbXBsPCAzLEZpcnN0LExhc3QsU3RhdGUsQmFja3dhcmRPcCxGb3J3YXJkT3AgPgoreworICAgIHR5cGVkZWYgRmlyc3QgaXRlcjA7CisgICAgdHlwZWRlZiBTdGF0ZSBmd2Rfc3RhdGUwOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsZndkX3N0YXRlMCxpdGVyMCA+Ojp0eXBlIGZ3ZF9zdGF0ZTE7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjA+Ojp0eXBlIGl0ZXIxOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsZndkX3N0YXRlMSxpdGVyMSA+Ojp0eXBlIGZ3ZF9zdGF0ZTI7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjE+Ojp0eXBlIGl0ZXIyOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsZndkX3N0YXRlMixpdGVyMiA+Ojp0eXBlIGZ3ZF9zdGF0ZTM7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjI+Ojp0eXBlIGl0ZXIzOworICAgIAorCisgICAgdHlwZWRlZiBmd2Rfc3RhdGUzIGJrd2Rfc3RhdGUzOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLGJrd2Rfc3RhdGUzLGl0ZXIyID46OnR5cGUgYmt3ZF9zdGF0ZTI7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEJhY2t3YXJkT3AsYmt3ZF9zdGF0ZTIsaXRlcjEgPjo6dHlwZSBia3dkX3N0YXRlMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgQmFja3dhcmRPcCxia3dkX3N0YXRlMSxpdGVyMCA+Ojp0eXBlIGJrd2Rfc3RhdGUwOworICAgIAorCisgICAgdHlwZWRlZiBia3dkX3N0YXRlMCBzdGF0ZTsKKyAgICB0eXBlZGVmIGl0ZXIzIGl0ZXJhdG9yOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGaXJzdAorICAgICwgdHlwZW5hbWUgTGFzdAorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEJhY2t3YXJkT3AKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgID4KK3N0cnVjdCByZXZlcnNlX2l0ZXJfZm9sZF9pbXBsPCA0LEZpcnN0LExhc3QsU3RhdGUsQmFja3dhcmRPcCxGb3J3YXJkT3AgPgoreworICAgIHR5cGVkZWYgRmlyc3QgaXRlcjA7CisgICAgdHlwZWRlZiBTdGF0ZSBmd2Rfc3RhdGUwOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsZndkX3N0YXRlMCxpdGVyMCA+Ojp0eXBlIGZ3ZF9zdGF0ZTE7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjA+Ojp0eXBlIGl0ZXIxOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsZndkX3N0YXRlMSxpdGVyMSA+Ojp0eXBlIGZ3ZF9zdGF0ZTI7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjE+Ojp0eXBlIGl0ZXIyOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsZndkX3N0YXRlMixpdGVyMiA+Ojp0eXBlIGZ3ZF9zdGF0ZTM7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjI+Ojp0eXBlIGl0ZXIzOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsZndkX3N0YXRlMyxpdGVyMyA+Ojp0eXBlIGZ3ZF9zdGF0ZTQ7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjM+Ojp0eXBlIGl0ZXI0OworICAgIAorCisgICAgdHlwZWRlZiBmd2Rfc3RhdGU0IGJrd2Rfc3RhdGU0OworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLGJrd2Rfc3RhdGU0LGl0ZXIzID46OnR5cGUgYmt3ZF9zdGF0ZTM7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEJhY2t3YXJkT3AsYmt3ZF9zdGF0ZTMsaXRlcjIgPjo6dHlwZSBia3dkX3N0YXRlMjsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgQmFja3dhcmRPcCxia3dkX3N0YXRlMixpdGVyMSA+Ojp0eXBlIGJrd2Rfc3RhdGUxOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLGJrd2Rfc3RhdGUxLGl0ZXIwID46OnR5cGUgYmt3ZF9zdGF0ZTA7CisgICAgCisKKyAgICB0eXBlZGVmIGJrd2Rfc3RhdGUwIHN0YXRlOworICAgIHR5cGVkZWYgaXRlcjQgaXRlcmF0b3I7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIGxvbmcgTgorICAgICwgdHlwZW5hbWUgRmlyc3QKKyAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBCYWNrd2FyZE9wCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+CitzdHJ1Y3QgcmV2ZXJzZV9pdGVyX2ZvbGRfaW1wbAoreworICAgIHR5cGVkZWYgRmlyc3QgaXRlcjA7CisgICAgdHlwZWRlZiBTdGF0ZSBmd2Rfc3RhdGUwOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsZndkX3N0YXRlMCxpdGVyMCA+Ojp0eXBlIGZ3ZF9zdGF0ZTE7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjA+Ojp0eXBlIGl0ZXIxOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsZndkX3N0YXRlMSxpdGVyMSA+Ojp0eXBlIGZ3ZF9zdGF0ZTI7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjE+Ojp0eXBlIGl0ZXIyOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsZndkX3N0YXRlMixpdGVyMiA+Ojp0eXBlIGZ3ZF9zdGF0ZTM7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjI+Ojp0eXBlIGl0ZXIzOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsZndkX3N0YXRlMyxpdGVyMyA+Ojp0eXBlIGZ3ZF9zdGF0ZTQ7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjM+Ojp0eXBlIGl0ZXI0OworICAgIAorCisgICAgdHlwZWRlZiByZXZlcnNlX2l0ZXJfZm9sZF9pbXBsPAorICAgICAgICAgICggKE4gLSA0KSA8IDAgPyAwIDogTiAtIDQgKQorICAgICAgICAsIGl0ZXI0CisgICAgICAgICwgTGFzdAorICAgICAgICAsIGZ3ZF9zdGF0ZTQKKyAgICAgICAgLCBCYWNrd2FyZE9wCisgICAgICAgICwgRm9yd2FyZE9wCisgICAgICAgID4gbmVzdGVkX2NodW5rOworCisgICAgdHlwZWRlZiB0eXBlbmFtZSBuZXN0ZWRfY2h1bms6OnN0YXRlIGJrd2Rfc3RhdGU0OworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLGJrd2Rfc3RhdGU0LGl0ZXIzID46OnR5cGUgYmt3ZF9zdGF0ZTM7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEJhY2t3YXJkT3AsYmt3ZF9zdGF0ZTMsaXRlcjIgPjo6dHlwZSBia3dkX3N0YXRlMjsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgQmFja3dhcmRPcCxia3dkX3N0YXRlMixpdGVyMSA+Ojp0eXBlIGJrd2Rfc3RhdGUxOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLGJrd2Rfc3RhdGUxLGl0ZXIwID46OnR5cGUgYmt3ZF9zdGF0ZTA7CisgICAgCisKKyAgICB0eXBlZGVmIGJrd2Rfc3RhdGUwIHN0YXRlOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbmVzdGVkX2NodW5rOjppdGVyYXRvciBpdGVyYXRvcjsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBCYWNrd2FyZE9wCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+CitzdHJ1Y3QgcmV2ZXJzZV9pdGVyX2ZvbGRfaW1wbDwgLTEsRmlyc3QsTGFzdCxTdGF0ZSxCYWNrd2FyZE9wLEZvcndhcmRPcCA+Cit7CisgICAgdHlwZWRlZiByZXZlcnNlX2l0ZXJfZm9sZF9pbXBsPAorICAgICAgICAgIC0xCisgICAgICAgICwgdHlwZW5hbWUgbXBsOjpuZXh0PEZpcnN0Pjo6dHlwZQorICAgICAgICAsIExhc3QKKyAgICAgICAgLCB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCxTdGF0ZSxGaXJzdCA+Ojp0eXBlCisgICAgICAgICwgQmFja3dhcmRPcAorICAgICAgICAsIEZvcndhcmRPcAorICAgICAgICA+IG5lc3RlZF9zdGVwOworCisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8CisgICAgICAgICAgQmFja3dhcmRPcAorICAgICAgICAsIHR5cGVuYW1lIG5lc3RlZF9zdGVwOjpzdGF0ZQorICAgICAgICAsIEZpcnN0CisgICAgICAgID46OnR5cGUgc3RhdGU7CisKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG5lc3RlZF9zdGVwOjppdGVyYXRvciBpdGVyYXRvcjsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgTGFzdAorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEJhY2t3YXJkT3AKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgID4KK3N0cnVjdCByZXZlcnNlX2l0ZXJfZm9sZF9pbXBsPCAtMSxMYXN0LExhc3QsU3RhdGUsQmFja3dhcmRPcCxGb3J3YXJkT3AgPgoreworICAgIHR5cGVkZWYgU3RhdGUgc3RhdGU7CisgICAgdHlwZWRlZiBMYXN0IGl0ZXJhdG9yOworfTsKKworfX19CmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvZG1jL3NldC5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvZG1jL3NldC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGM0Y2ExMQotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9kbWMvc2V0LmhwcApAQCAtMCwwICsxLDMyMyBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvc2V0LmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwID0gbmEsIHR5cGVuYW1lIFQxID0gbmEsIHR5cGVuYW1lIFQyID0gbmEsIHR5cGVuYW1lIFQzID0gbmEKKyAgICAsIHR5cGVuYW1lIFQ0ID0gbmEsIHR5cGVuYW1lIFQ1ID0gbmEsIHR5cGVuYW1lIFQ2ID0gbmEsIHR5cGVuYW1lIFQ3ID0gbmEKKyAgICAsIHR5cGVuYW1lIFQ4ID0gbmEsIHR5cGVuYW1lIFQ5ID0gbmEsIHR5cGVuYW1lIFQxMCA9IG5hLCB0eXBlbmFtZSBUMTEgPSBuYQorICAgICwgdHlwZW5hbWUgVDEyID0gbmEsIHR5cGVuYW1lIFQxMyA9IG5hLCB0eXBlbmFtZSBUMTQgPSBuYQorICAgICwgdHlwZW5hbWUgVDE1ID0gbmEsIHR5cGVuYW1lIFQxNiA9IG5hLCB0eXBlbmFtZSBUMTcgPSBuYQorICAgICwgdHlwZW5hbWUgVDE4ID0gbmEsIHR5cGVuYW1lIFQxOSA9IG5hCisgICAgPgorc3RydWN0IHNldDsKKwordGVtcGxhdGU8CisgICAgIAorICAgID4KK3N0cnVjdCBzZXQ8CisgICAgICAgICAgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBzZXQwPCAgPgoreworICAgIHR5cGVkZWYgc2V0MDwgID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAKKyAgICA+CitzdHJ1Y3Qgc2V0PAorICAgICAgICAgIFQwLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogc2V0MTxUMD4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDE8VDA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMQorICAgID4KK3N0cnVjdCBzZXQ8CisgICAgICAgICAgVDAsIFQxLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBzZXQyPCBUMCxUMSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQyPCBUMCxUMSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIKKyAgICA+CitzdHJ1Y3Qgc2V0PAorICAgICAgICAgIFQwLCBUMSwgVDIsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogc2V0MzwgVDAsVDEsVDIgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0MzwgVDAsVDEsVDIgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMworICAgID4KK3N0cnVjdCBzZXQ8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBzZXQ0PCBUMCxUMSxUMixUMyA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQ0PCBUMCxUMSxUMixUMyA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgID4KK3N0cnVjdCBzZXQ8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBzZXQ1PCBUMCxUMSxUMixUMyxUNCA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQ1PCBUMCxUMSxUMixUMyxUNCA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUKKyAgICA+CitzdHJ1Y3Qgc2V0PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogc2V0NjwgVDAsVDEsVDIsVDMsVDQsVDUgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0NjwgVDAsVDEsVDIsVDMsVDQsVDUgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNgorICAgID4KK3N0cnVjdCBzZXQ8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBzZXQ3PCBUMCxUMSxUMixUMyxUNCxUNSxUNiA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQ3PCBUMCxUMSxUMixUMyxUNCxUNSxUNiA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNworICAgID4KK3N0cnVjdCBzZXQ8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBzZXQ4PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQ4PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgKKyAgICA+CitzdHJ1Y3Qgc2V0PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogc2V0OTwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDggPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0OTwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDggPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgID4KK3N0cnVjdCBzZXQ8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBzZXQxMDwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDkgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0MTA8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMAorICAgID4KK3N0cnVjdCBzZXQ8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogc2V0MTE8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQxMTwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExCisgICAgPgorc3RydWN0IHNldDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogc2V0MTI8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0MTI8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMgorICAgID4KK3N0cnVjdCBzZXQ8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBzZXQxMzwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0MTM8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMworICAgID4KK3N0cnVjdCBzZXQ8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogc2V0MTQ8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQxNDwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgPgorc3RydWN0IHNldDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogc2V0MTU8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDE1PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMsVDE0ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgLCB0eXBlbmFtZSBUMTUKKyAgICA+CitzdHJ1Y3Qgc2V0PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogc2V0MTY8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDE2PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMsVDE0LFQxNSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYKKyAgICA+CitzdHJ1Y3Qgc2V0PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgVDE2LCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHNldDE3PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgVDE2CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDE3PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMsVDE0LFQxNSxUMTYgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcKKyAgICA+CitzdHJ1Y3Qgc2V0PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgVDE2LCBUMTcsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBzZXQxODwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgLCBUMTUsIFQxNiwgVDE3CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDE4PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMsVDE0LFQxNSxUMTYsVDE3ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgKKyAgICA+CitzdHJ1Y3Qgc2V0PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgVDE2LCBUMTcsIFQxOCwgbmEKKyAgICAgICAgPgorICAgIDogc2V0MTk8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1LCBUMTYsIFQxNywgVDE4CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDE5PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMsVDE0LFQxNSxUMTYsVDE3LFQxOCA+Ojp0eXBlIHR5cGU7Cit9OworCisvLy8gcHJpbWFyeSB0ZW1wbGF0ZSAobm90IGEgc3BlY2lhbGl6YXRpb24hKQorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICA+CitzdHJ1Y3Qgc2V0CisgICAgOiBzZXQyMDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgLCBUMTUsIFQxNiwgVDE3LCBUMTgsIFQxOQorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQyMDwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzLFQxNCxUMTUsVDE2LFQxNyxUMTgsVDE5ID46OnR5cGUgdHlwZTsKK307CisKK319CisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9kbWMvc2V0X2MuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2RtYy9zZXRfYy5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmVmMmZkZQotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9kbWMvc2V0X2MuaHBwCkBAIC0wLDAgKzEsMzI4IEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9zZXRfYy5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwID0gTE9OR19NQVgsIGxvbmcgQzEgPSBMT05HX01BWCwgbG9uZyBDMiA9IExPTkdfTUFYCisgICAgLCBsb25nIEMzID0gTE9OR19NQVgsIGxvbmcgQzQgPSBMT05HX01BWCwgbG9uZyBDNSA9IExPTkdfTUFYCisgICAgLCBsb25nIEM2ID0gTE9OR19NQVgsIGxvbmcgQzcgPSBMT05HX01BWCwgbG9uZyBDOCA9IExPTkdfTUFYCisgICAgLCBsb25nIEM5ID0gTE9OR19NQVgsIGxvbmcgQzEwID0gTE9OR19NQVgsIGxvbmcgQzExID0gTE9OR19NQVgKKyAgICAsIGxvbmcgQzEyID0gTE9OR19NQVgsIGxvbmcgQzEzID0gTE9OR19NQVgsIGxvbmcgQzE0ID0gTE9OR19NQVgKKyAgICAsIGxvbmcgQzE1ID0gTE9OR19NQVgsIGxvbmcgQzE2ID0gTE9OR19NQVgsIGxvbmcgQzE3ID0gTE9OR19NQVgKKyAgICAsIGxvbmcgQzE4ID0gTE9OR19NQVgsIGxvbmcgQzE5ID0gTE9OR19NQVgKKyAgICA+CitzdHJ1Y3Qgc2V0X2M7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVAorICAgID4KK3N0cnVjdCBzZXRfYzwKKyAgICAgICAgICBULCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiBzZXQwX2M8VD4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDBfYzxUPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwCisgICAgPgorc3RydWN0IHNldF9jPAorICAgICAgICAgIFQsIEMwLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IHNldDFfYzwgVCxDMCA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQxX2M8IFQsQzAgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxCisgICAgPgorc3RydWN0IHNldF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IHNldDJfYzwgVCxDMCxDMSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQyX2M8IFQsQzAsQzEgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyCisgICAgPgorc3RydWN0IHNldF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IHNldDNfYzwgVCxDMCxDMSxDMiA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQzX2M8IFQsQzAsQzEsQzIgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzCisgICAgPgorc3RydWN0IHNldF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IHNldDRfYzwgVCxDMCxDMSxDMixDMyA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQ0X2M8IFQsQzAsQzEsQzIsQzMgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0CisgICAgPgorc3RydWN0IHNldF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IHNldDVfYzwgVCxDMCxDMSxDMixDMyxDNCA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQ1X2M8IFQsQzAsQzEsQzIsQzMsQzQgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgPgorc3RydWN0IHNldF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IHNldDZfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQ2X2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2CisgICAgPgorc3RydWN0IHNldF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IHNldDdfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNiA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQ3X2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3CisgICAgPgorc3RydWN0IHNldF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IHNldDhfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQ4X2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4CisgICAgPgorc3RydWN0IHNldF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IHNldDlfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyxDOCA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQ5X2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcsQzggPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5CisgICAgPgorc3RydWN0IHNldF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IHNldDEwX2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcsQzgsQzkgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0MTBfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyxDOCxDOSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwCisgICAgPgorc3RydWN0IHNldF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IHNldDExX2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcsQzgsQzksQzEwID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDExX2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcsQzgsQzksQzEwID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExCisgICAgPgorc3RydWN0IHNldF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiBzZXQxMl9jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2LEM3LEM4LEM5LEMxMCxDMTEgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0MTJfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyxDOCxDOSxDMTAsQzExID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgID4KK3N0cnVjdCBzZXRfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIEMxMiwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IHNldDEzX2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcsQzgsQzksQzEwLEMxMSxDMTIgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0MTNfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyxDOCxDOSxDMTAsQzExLEMxMiA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAsIGxvbmcgQzEzCisgICAgPgorc3RydWN0IHNldF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IHNldDE0X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBDMTIsIEMxMworICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQxNF9jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2LEM3LEM4LEM5LEMxMCxDMTEsQzEyLEMxMyA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAsIGxvbmcgQzEzLCBsb25nIEMxNAorICAgID4KK3N0cnVjdCBzZXRfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIEMxMiwgQzEzLCBDMTQKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogc2V0MTVfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIEMxMiwgQzEzLCBDMTQKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0MTVfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyxDOCxDOSxDMTAsQzExLEMxMixDMTMsQzE0ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNQorICAgID4KK3N0cnVjdCBzZXRfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIEMxMiwgQzEzLCBDMTQKKyAgICAgICAgLCBDMTUsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IHNldDE2X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBDMTIsIEMxMywgQzE0CisgICAgICAgICwgQzE1CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDE2X2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcsQzgsQzksQzEwLEMxMSxDMTIsQzEzLEMxNCxDMTUgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1LCBsb25nIEMxNgorICAgID4KK3N0cnVjdCBzZXRfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIEMxMiwgQzEzLCBDMTQKKyAgICAgICAgLCBDMTUsIEMxNiwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiBzZXQxN19jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMsIEMxNAorICAgICAgICAsIEMxNSwgQzE2CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDE3X2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcsQzgsQzksQzEwLEMxMSxDMTIsQzEzLEMxNCxDMTUsQzE2ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNSwgbG9uZyBDMTYsIGxvbmcgQzE3CisgICAgPgorc3RydWN0IHNldF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMsIEMxNAorICAgICAgICAsIEMxNSwgQzE2LCBDMTcsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiBzZXQxOF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMsIEMxNAorICAgICAgICAsIEMxNSwgQzE2LCBDMTcKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0MThfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyxDOCxDOSxDMTAsQzExLEMxMixDMTMsQzE0LEMxNSxDMTYsQzE3ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNSwgbG9uZyBDMTYsIGxvbmcgQzE3LCBsb25nIEMxOAorICAgID4KK3N0cnVjdCBzZXRfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIEMxMiwgQzEzLCBDMTQKKyAgICAgICAgLCBDMTUsIEMxNiwgQzE3LCBDMTgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IHNldDE5X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBDMTIsIEMxMywgQzE0CisgICAgICAgICwgQzE1LCBDMTYsIEMxNywgQzE4CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDE5X2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcsQzgsQzksQzEwLEMxMSxDMTIsQzEzLEMxNCxDMTUsQzE2LEMxNyxDMTggPjo6dHlwZSB0eXBlOworfTsKKworLy8vIHByaW1hcnkgdGVtcGxhdGUgKG5vdCBhIHNwZWNpYWxpemF0aW9uISkKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1LCBsb25nIEMxNiwgbG9uZyBDMTcsIGxvbmcgQzE4LCBsb25nIEMxOQorICAgID4KK3N0cnVjdCBzZXRfYworICAgIDogc2V0MjBfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIEMxMiwgQzEzLCBDMTQKKyAgICAgICAgLCBDMTUsIEMxNiwgQzE3LCBDMTgsIEMxOQorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQyMF9jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2LEM3LEM4LEM5LEMxMCxDMTEsQzEyLEMxMyxDMTQsQzE1LEMxNixDMTcsQzE4LEMxOSA+Ojp0eXBlIHR5cGU7Cit9OworCit9fQorCmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvZG1jL3NoaWZ0X2xlZnQuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2RtYy9zaGlmdF9sZWZ0LmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jOGRmMjljCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2RtYy9zaGlmdF9sZWZ0LmhwcApAQCAtMCwwICsxLDk5IEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8gQ29weXJpZ2h0IEphYXAgU3V0ZXIgMjAwMworLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9zaGlmdF9sZWZ0LmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFRhZzEKKyAgICAsIHR5cGVuYW1lIFRhZzIKKyAgICA+CitzdHJ1Y3Qgc2hpZnRfbGVmdF9pbXBsCisgICAgOiBpZl9jPAorICAgICAgICAgICggQk9PU1RfTVBMX0FVWF9ORVNURURfVkFMVUVfV0tORChpbnQsIFRhZzEpCisgICAgICAgICAgICAgID4gQk9PU1RfTVBMX0FVWF9ORVNURURfVkFMVUVfV0tORChpbnQsIFRhZzIpCisgICAgICAgICAgICApCisKKyAgICAgICAgLCBhdXg6OmNhc3QybmRfaW1wbDwgc2hpZnRfbGVmdF9pbXBsPCBUYWcxLFRhZzEgPixUYWcxLCBUYWcyID4KKyAgICAgICAgLCBhdXg6OmNhc3Qxc3RfaW1wbDwgc2hpZnRfbGVmdF9pbXBsPCBUYWcyLFRhZzIgPixUYWcxLCBUYWcyID4KKyAgICAgICAgPjo6dHlwZQoreworfTsKKworLy8vIGZvciBEaWdpdGFsIE1hcnMgQysrL2NvbXBpbGVycyB3aXRoIG5vIENUUFMvVFRQIHN1cHBvcnQKK3RlbXBsYXRlPD4gc3RydWN0IHNoaWZ0X2xlZnRfaW1wbDwgbmEsbmEgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUYWcgPiBzdHJ1Y3Qgc2hpZnRfbGVmdF9pbXBsPCBuYSxUYWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUYWcgPiBzdHJ1Y3Qgc2hpZnRfbGVmdF9pbXBsPCBUYWcsbmEgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUID4gc3RydWN0IHNoaWZ0X2xlZnRfdGFnCit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBUOjp0YWcgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMSkKKyAgICAsIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjIpCisgICAgPgorc3RydWN0IHNoaWZ0X2xlZnQKKworICAgIDogc2hpZnRfbGVmdF9pbXBsPAorICAgICAgICAgIHR5cGVuYW1lIHNoaWZ0X2xlZnRfdGFnPE4xPjo6dHlwZQorICAgICAgICAsIHR5cGVuYW1lIHNoaWZ0X2xlZnRfdGFnPE4yPjo6dHlwZQorICAgICAgICA+Ojp0ZW1wbGF0ZSBhcHBseTwgTjEsTjIgPjo6dHlwZQoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoMiwgc2hpZnRfbGVmdCwgKE4xLCBOMikpCisKK307CisKK0JPT1NUX01QTF9BVVhfTkFfU1BFQzIoMiwgMiwgc2hpZnRfbGVmdCkKKworfX0KKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7Cit0ZW1wbGF0ZTw+CitzdHJ1Y3Qgc2hpZnRfbGVmdF9pbXBsPCBpbnRlZ3JhbF9jX3RhZyxpbnRlZ3JhbF9jX3RhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIE4sIHR5cGVuYW1lIFMgPiBzdHJ1Y3QgYXBwbHkKKworICAgICAgICA6IGludGVncmFsX2M8CisgICAgICAgICAgICAgIHR5cGVuYW1lIE46OnZhbHVlX3R5cGUKKyAgICAgICAgICAgICwgKCBCT09TVF9NUExfQVVYX1ZBTFVFX1dLTkQoTik6OnZhbHVlCisgICAgICAgICAgICAgICAgICA8PCBCT09TVF9NUExfQVVYX1ZBTFVFX1dLTkQoUyk6OnZhbHVlCisgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgPgorICAgIHsKKyAgICB9OworfTsKKworfX0KZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9kbWMvc2hpZnRfcmlnaHQuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2RtYy9zaGlmdF9yaWdodC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTcyNmZmMQotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9kbWMvc2hpZnRfcmlnaHQuaHBwCkBAIC0wLDAgKzEsOTkgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLyBDb3B5cmlnaHQgSmFhcCBTdXRlciAyMDAzCisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL3NoaWZ0X3JpZ2h0LmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFRhZzEKKyAgICAsIHR5cGVuYW1lIFRhZzIKKyAgICA+CitzdHJ1Y3Qgc2hpZnRfcmlnaHRfaW1wbAorICAgIDogaWZfYzwKKyAgICAgICAgICAoIEJPT1NUX01QTF9BVVhfTkVTVEVEX1ZBTFVFX1dLTkQoaW50LCBUYWcxKQorICAgICAgICAgICAgICA+IEJPT1NUX01QTF9BVVhfTkVTVEVEX1ZBTFVFX1dLTkQoaW50LCBUYWcyKQorICAgICAgICAgICAgKQorCisgICAgICAgICwgYXV4OjpjYXN0Mm5kX2ltcGw8IHNoaWZ0X3JpZ2h0X2ltcGw8IFRhZzEsVGFnMSA+LFRhZzEsIFRhZzIgPgorICAgICAgICAsIGF1eDo6Y2FzdDFzdF9pbXBsPCBzaGlmdF9yaWdodF9pbXBsPCBUYWcyLFRhZzIgPixUYWcxLCBUYWcyID4KKyAgICAgICAgPjo6dHlwZQoreworfTsKKworLy8vIGZvciBEaWdpdGFsIE1hcnMgQysrL2NvbXBpbGVycyB3aXRoIG5vIENUUFMvVFRQIHN1cHBvcnQKK3RlbXBsYXRlPD4gc3RydWN0IHNoaWZ0X3JpZ2h0X2ltcGw8IG5hLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVGFnID4gc3RydWN0IHNoaWZ0X3JpZ2h0X2ltcGw8IG5hLFRhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFRhZyA+IHN0cnVjdCBzaGlmdF9yaWdodF9pbXBsPCBUYWcsbmEgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUID4gc3RydWN0IHNoaWZ0X3JpZ2h0X3RhZworeworICAgIHR5cGVkZWYgdHlwZW5hbWUgVDo6dGFnIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjEpCisgICAgLCB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4yKQorICAgID4KK3N0cnVjdCBzaGlmdF9yaWdodAorCisgICAgOiBzaGlmdF9yaWdodF9pbXBsPAorICAgICAgICAgIHR5cGVuYW1lIHNoaWZ0X3JpZ2h0X3RhZzxOMT46OnR5cGUKKyAgICAgICAgLCB0eXBlbmFtZSBzaGlmdF9yaWdodF90YWc8TjI+Ojp0eXBlCisgICAgICAgID46OnRlbXBsYXRlIGFwcGx5PCBOMSxOMiA+Ojp0eXBlCit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgyLCBzaGlmdF9yaWdodCwgKE4xLCBOMikpCisKK307CisKK0JPT1NUX01QTF9BVVhfTkFfU1BFQzIoMiwgMiwgc2hpZnRfcmlnaHQpCisKK319CisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgewordGVtcGxhdGU8Pgorc3RydWN0IHNoaWZ0X3JpZ2h0X2ltcGw8IGludGVncmFsX2NfdGFnLGludGVncmFsX2NfdGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgTiwgdHlwZW5hbWUgUyA+IHN0cnVjdCBhcHBseQorCisgICAgICAgIDogaW50ZWdyYWxfYzwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgTjo6dmFsdWVfdHlwZQorICAgICAgICAgICAgLCAoIEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChOKTo6dmFsdWUKKyAgICAgICAgICAgICAgICAgID4+IEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChTKTo6dmFsdWUKKyAgICAgICAgICAgICAgICApCisgICAgICAgICAgICA+CisgICAgeworICAgIH07Cit9OworCit9fQpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2RtYy90ZW1wbGF0ZV9hcml0eS5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvZG1jL3RlbXBsYXRlX2FyaXR5LmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42Y2I0MmFlCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2RtYy90ZW1wbGF0ZV9hcml0eS5ocHAKQEAgLTAsMCArMSwxMSBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAxLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvYXV4Xy90ZW1wbGF0ZV9hcml0eS5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvZG1jL3RpbWVzLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9kbWMvdGltZXMuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY0NTE0ZTUKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvZG1jL3RpbWVzLmhwcApAQCAtMCwwICsxLDE0NiBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvdGltZXMuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVGFnMQorICAgICwgdHlwZW5hbWUgVGFnMgorICAgID4KK3N0cnVjdCB0aW1lc19pbXBsCisgICAgOiBpZl9jPAorICAgICAgICAgICggQk9PU1RfTVBMX0FVWF9ORVNURURfVkFMVUVfV0tORChpbnQsIFRhZzEpCisgICAgICAgICAgICAgID4gQk9PU1RfTVBMX0FVWF9ORVNURURfVkFMVUVfV0tORChpbnQsIFRhZzIpCisgICAgICAgICAgICApCisKKyAgICAgICAgLCBhdXg6OmNhc3QybmRfaW1wbDwgdGltZXNfaW1wbDwgVGFnMSxUYWcxID4sVGFnMSwgVGFnMiA+CisgICAgICAgICwgYXV4OjpjYXN0MXN0X2ltcGw8IHRpbWVzX2ltcGw8IFRhZzIsVGFnMiA+LFRhZzEsIFRhZzIgPgorICAgICAgICA+Ojp0eXBlCit7Cit9OworCisvLy8gZm9yIERpZ2l0YWwgTWFycyBDKysvY29tcGlsZXJzIHdpdGggbm8gQ1RQUy9UVFAgc3VwcG9ydAordGVtcGxhdGU8PiBzdHJ1Y3QgdGltZXNfaW1wbDwgbmEsbmEgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUYWcgPiBzdHJ1Y3QgdGltZXNfaW1wbDwgbmEsVGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVGFnID4gc3RydWN0IHRpbWVzX2ltcGw8IFRhZyxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFQgPiBzdHJ1Y3QgdGltZXNfdGFnCit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBUOjp0YWcgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMSkKKyAgICAsIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjIpCisgICAgLCB0eXBlbmFtZSBOMyA9IG5hLCB0eXBlbmFtZSBONCA9IG5hLCB0eXBlbmFtZSBONSA9IG5hCisgICAgPgorc3RydWN0IHRpbWVzCisgICAgOiB0aW1lczwgdGltZXM8IHRpbWVzPCB0aW1lczwgTjEsTjIgPiwgTjM+LCBOND4sIE41PgoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoCisgICAgICAgICAgNQorICAgICAgICAsIHRpbWVzCisgICAgICAgICwgKCBOMSwgTjIsIE4zLCBONCwgTjUgKQorICAgICAgICApCit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIE4xLCB0eXBlbmFtZSBOMiwgdHlwZW5hbWUgTjMsIHR5cGVuYW1lIE40CisgICAgPgorc3RydWN0IHRpbWVzPCBOMSxOMixOMyxONCxuYSA+CisKKyAgICA6IHRpbWVzPCB0aW1lczwgdGltZXM8IE4xLE4yID4sIE4zPiwgTjQ+Cit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVF9TUEVDKAorICAgICAgICAgIDUKKyAgICAgICAgLCB0aW1lcworICAgICAgICAsICggTjEsIE4yLCBOMywgTjQsIG5hICkKKyAgICAgICAgKQorfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBOMSwgdHlwZW5hbWUgTjIsIHR5cGVuYW1lIE4zCisgICAgPgorc3RydWN0IHRpbWVzPCBOMSxOMixOMyxuYSxuYSA+CisKKyAgICA6IHRpbWVzPCB0aW1lczwgTjEsTjIgPiwgTjM+Cit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVF9TUEVDKAorICAgICAgICAgIDUKKyAgICAgICAgLCB0aW1lcworICAgICAgICAsICggTjEsIE4yLCBOMywgbmEsIG5hICkKKyAgICAgICAgKQorfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBOMSwgdHlwZW5hbWUgTjIKKyAgICA+CitzdHJ1Y3QgdGltZXM8IE4xLE4yLG5hLG5hLG5hID4KKyAgICA6IHRpbWVzX2ltcGw8CisgICAgICAgICAgdHlwZW5hbWUgdGltZXNfdGFnPE4xPjo6dHlwZQorICAgICAgICAsIHR5cGVuYW1lIHRpbWVzX3RhZzxOMj46OnR5cGUKKyAgICAgICAgPjo6dGVtcGxhdGUgYXBwbHk8IE4xLE4yID46OnR5cGUKK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUX1NQRUMoCisgICAgICAgICAgNQorICAgICAgICAsIHRpbWVzCisgICAgICAgICwgKCBOMSwgTjIsIG5hLCBuYSwgbmEgKQorICAgICAgICApCisKK307CisKK0JPT1NUX01QTF9BVVhfTkFfU1BFQzIoMiwgNSwgdGltZXMpCisKK319CisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgewordGVtcGxhdGU8Pgorc3RydWN0IHRpbWVzX2ltcGw8IGludGVncmFsX2NfdGFnLGludGVncmFsX2NfdGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgTjEsIHR5cGVuYW1lIE4yID4gc3RydWN0IGFwcGx5CisKKyAgICAgICAgOiBpbnRlZ3JhbF9jPAorICAgICAgICAgICAgICB0eXBlbmFtZSBhdXg6Omxhcmdlc3RfaW50PAorICAgICAgICAgICAgICAgICAgdHlwZW5hbWUgTjE6OnZhbHVlX3R5cGUKKyAgICAgICAgICAgICAgICAsIHR5cGVuYW1lIE4yOjp2YWx1ZV90eXBlCisgICAgICAgICAgICAgICAgPjo6dHlwZQorICAgICAgICAgICAgLCAoIEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChOMSk6OnZhbHVlCisgICAgICAgICAgICAgICAgICAqIEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChOMik6OnZhbHVlCisgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgPgorICAgIHsKKyAgICB9OworfTsKKworfX0KZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9kbWMvdW5wYWNrX2FyZ3MuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2RtYy91bnBhY2tfYXJncy5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWM5MjA0ZgotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9kbWMvdW5wYWNrX2FyZ3MuaHBwCkBAIC0wLDAgKzEsOTQgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMi0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL3VucGFja19hcmdzLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8IGludCBzaXplLCB0eXBlbmFtZSBGLCB0eXBlbmFtZSBBcmdzID4KK3N0cnVjdCB1bnBhY2tfYXJnc19pbXBsOworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgRiwgdHlwZW5hbWUgQXJncyA+CitzdHJ1Y3QgdW5wYWNrX2FyZ3NfaW1wbDwgMCxGLEFyZ3MgPgorICAgIDogYXBwbHkwPAorICAgICAgICAgIEYKKyAgICAgICAgPgoreworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIEYsIHR5cGVuYW1lIEFyZ3MgPgorc3RydWN0IHVucGFja19hcmdzX2ltcGw8IDEsRixBcmdzID4KKyAgICA6IGFwcGx5MTwKKyAgICAgICAgICBGCisgICAgICAgICwgdHlwZW5hbWUgYXRfYzwgQXJncywwID46OnR5cGUKKyAgICAgICAgPgoreworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIEYsIHR5cGVuYW1lIEFyZ3MgPgorc3RydWN0IHVucGFja19hcmdzX2ltcGw8IDIsRixBcmdzID4KKyAgICA6IGFwcGx5MjwKKyAgICAgICAgICBGCisgICAgICAgICwgdHlwZW5hbWUgYXRfYzwgQXJncywwID46OnR5cGUsIHR5cGVuYW1lIGF0X2M8IEFyZ3MsMSA+Ojp0eXBlCisgICAgICAgID4KK3sKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBGLCB0eXBlbmFtZSBBcmdzID4KK3N0cnVjdCB1bnBhY2tfYXJnc19pbXBsPCAzLEYsQXJncyA+CisgICAgOiBhcHBseTM8CisgICAgICAgICAgRgorICAgICAgICAsIHR5cGVuYW1lIGF0X2M8IEFyZ3MsMCA+Ojp0eXBlLCB0eXBlbmFtZSBhdF9jPCBBcmdzLDEgPjo6dHlwZQorICAgICAgICAsIHR5cGVuYW1lIGF0X2M8IEFyZ3MsMiA+Ojp0eXBlCisgICAgICAgID4KK3sKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBGLCB0eXBlbmFtZSBBcmdzID4KK3N0cnVjdCB1bnBhY2tfYXJnc19pbXBsPCA0LEYsQXJncyA+CisgICAgOiBhcHBseTQ8CisgICAgICAgICAgRgorICAgICAgICAsIHR5cGVuYW1lIGF0X2M8IEFyZ3MsMCA+Ojp0eXBlLCB0eXBlbmFtZSBhdF9jPCBBcmdzLDEgPjo6dHlwZQorICAgICAgICAsIHR5cGVuYW1lIGF0X2M8IEFyZ3MsMiA+Ojp0eXBlLCB0eXBlbmFtZSBhdF9jPCBBcmdzLDMgPjo6dHlwZQorICAgICAgICA+Cit7Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgRiwgdHlwZW5hbWUgQXJncyA+CitzdHJ1Y3QgdW5wYWNrX2FyZ3NfaW1wbDwgNSxGLEFyZ3MgPgorICAgIDogYXBwbHk1PAorICAgICAgICAgIEYKKyAgICAgICAgLCB0eXBlbmFtZSBhdF9jPCBBcmdzLDAgPjo6dHlwZSwgdHlwZW5hbWUgYXRfYzwgQXJncywxID46OnR5cGUKKyAgICAgICAgLCB0eXBlbmFtZSBhdF9jPCBBcmdzLDIgPjo6dHlwZSwgdHlwZW5hbWUgYXRfYzwgQXJncywzID46OnR5cGUKKyAgICAgICAgLCB0eXBlbmFtZSBhdF9jPCBBcmdzLDQgPjo6dHlwZQorICAgICAgICA+Cit7Cit9OworCit9CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRgorICAgID4KK3N0cnVjdCB1bnBhY2tfYXJncworeworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBBcmdzID4gc3RydWN0IGFwcGx5CisKKyAgICAgICAgOiBhdXg6OnVucGFja19hcmdzX2ltcGw8IHNpemU8QXJncz46OnZhbHVlLEYsIEFyZ3MgPgorCisgICAgeworICAgIH07Cit9OworCitCT09TVF9NUExfQVVYX1BBU1NfVEhST1VHSF9MQU1CREFfU1BFQygxLCB1bnBhY2tfYXJncykKKworfX0KKwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2RtYy92ZWN0b3IuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2RtYy92ZWN0b3IuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRmNjc1ODkKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvZG1jL3ZlY3Rvci5ocHAKQEAgLTAsMCArMSwzMjMgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL3ZlY3Rvci5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCA9IG5hLCB0eXBlbmFtZSBUMSA9IG5hLCB0eXBlbmFtZSBUMiA9IG5hLCB0eXBlbmFtZSBUMyA9IG5hCisgICAgLCB0eXBlbmFtZSBUNCA9IG5hLCB0eXBlbmFtZSBUNSA9IG5hLCB0eXBlbmFtZSBUNiA9IG5hLCB0eXBlbmFtZSBUNyA9IG5hCisgICAgLCB0eXBlbmFtZSBUOCA9IG5hLCB0eXBlbmFtZSBUOSA9IG5hLCB0eXBlbmFtZSBUMTAgPSBuYSwgdHlwZW5hbWUgVDExID0gbmEKKyAgICAsIHR5cGVuYW1lIFQxMiA9IG5hLCB0eXBlbmFtZSBUMTMgPSBuYSwgdHlwZW5hbWUgVDE0ID0gbmEKKyAgICAsIHR5cGVuYW1lIFQxNSA9IG5hLCB0eXBlbmFtZSBUMTYgPSBuYSwgdHlwZW5hbWUgVDE3ID0gbmEKKyAgICAsIHR5cGVuYW1lIFQxOCA9IG5hLCB0eXBlbmFtZSBUMTkgPSBuYQorICAgID4KK3N0cnVjdCB2ZWN0b3I7CisKK3RlbXBsYXRlPAorICAgICAKKyAgICA+CitzdHJ1Y3QgdmVjdG9yPAorICAgICAgICAgIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogdmVjdG9yMDwgID4KK3sKKyAgICB0eXBlZGVmIHZlY3RvcjA8ICA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwCisgICAgPgorc3RydWN0IHZlY3RvcjwKKyAgICAgICAgICBUMCwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHZlY3RvcjE8VDA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxPFQwPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEKKyAgICA+CitzdHJ1Y3QgdmVjdG9yPAorICAgICAgICAgIFQwLCBUMSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogdmVjdG9yMjwgVDAsVDEgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMjwgVDAsVDEgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyCisgICAgPgorc3RydWN0IHZlY3RvcjwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHZlY3RvcjM8IFQwLFQxLFQyID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjM8IFQwLFQxLFQyID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMKKyAgICA+CitzdHJ1Y3QgdmVjdG9yPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogdmVjdG9yNDwgVDAsVDEsVDIsVDMgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yNDwgVDAsVDEsVDIsVDMgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICA+CitzdHJ1Y3QgdmVjdG9yPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogdmVjdG9yNTwgVDAsVDEsVDIsVDMsVDQgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yNTwgVDAsVDEsVDIsVDMsVDQgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1CisgICAgPgorc3RydWN0IHZlY3RvcjwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHZlY3RvcjY8IFQwLFQxLFQyLFQzLFQ0LFQ1ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjY8IFQwLFQxLFQyLFQzLFQ0LFQ1ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYKKyAgICA+CitzdHJ1Y3QgdmVjdG9yPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogdmVjdG9yNzwgVDAsVDEsVDIsVDMsVDQsVDUsVDYgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yNzwgVDAsVDEsVDIsVDMsVDQsVDUsVDYgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcKKyAgICA+CitzdHJ1Y3QgdmVjdG9yPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogdmVjdG9yODwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yODwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4CisgICAgPgorc3RydWN0IHZlY3RvcjwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHZlY3Rvcjk8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3Rvcjk8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICA+CitzdHJ1Y3QgdmVjdG9yPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogdmVjdG9yMTA8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjEwPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAKKyAgICA+CitzdHJ1Y3QgdmVjdG9yPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHZlY3RvcjExPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTE8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMQorICAgID4KK3N0cnVjdCB2ZWN0b3I8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHZlY3RvcjEyPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjEyPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIKKyAgICA+CitzdHJ1Y3QgdmVjdG9yPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogdmVjdG9yMTM8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjEzPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMiA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMKKyAgICA+CitzdHJ1Y3QgdmVjdG9yPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHZlY3RvcjE0PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTQ8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgID4KK3N0cnVjdCB2ZWN0b3I8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0LCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHZlY3RvcjE1PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxNTwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzLFQxNCA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICwgdHlwZW5hbWUgVDE1CisgICAgPgorc3RydWN0IHZlY3RvcjwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgLCBUMTUsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHZlY3RvcjE2PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNQorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxNjwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzLFQxNCxUMTUgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2CisgICAgPgorc3RydWN0IHZlY3RvcjwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgLCBUMTUsIFQxNiwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3IxNzwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgLCBUMTUsIFQxNgorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxNzwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzLFQxNCxUMTUsVDE2ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3CisgICAgPgorc3RydWN0IHZlY3RvcjwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgLCBUMTUsIFQxNiwgVDE3LCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogdmVjdG9yMTg8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1LCBUMTYsIFQxNworICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxODwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzLFQxNCxUMTUsVDE2LFQxNyA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4CisgICAgPgorc3RydWN0IHZlY3RvcjwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgLCBUMTUsIFQxNiwgVDE3LCBUMTgsIG5hCisgICAgICAgID4KKyAgICA6IHZlY3RvcjE5PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgVDE2LCBUMTcsIFQxOAorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxOTwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzLFQxNCxUMTUsVDE2LFQxNyxUMTggPjo6dHlwZSB0eXBlOworfTsKKworLy8vIHByaW1hcnkgdGVtcGxhdGUgKG5vdCBhIHNwZWNpYWxpemF0aW9uISkKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgPgorc3RydWN0IHZlY3RvcgorICAgIDogdmVjdG9yMjA8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1LCBUMTYsIFQxNywgVDE4LCBUMTkKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMjA8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyxUMTQsVDE1LFQxNixUMTcsVDE4LFQxOSA+Ojp0eXBlIHR5cGU7Cit9OworCit9fQorCmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvZG1jL3ZlY3Rvcl9jLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9kbWMvdmVjdG9yX2MuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUyZmJkYjQKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvZG1jL3ZlY3Rvcl9jLmhwcApAQCAtMCwwICsxLDMwOSBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvdmVjdG9yX2MuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCA9IExPTkdfTUFYLCBsb25nIEMxID0gTE9OR19NQVgsIGxvbmcgQzIgPSBMT05HX01BWAorICAgICwgbG9uZyBDMyA9IExPTkdfTUFYLCBsb25nIEM0ID0gTE9OR19NQVgsIGxvbmcgQzUgPSBMT05HX01BWAorICAgICwgbG9uZyBDNiA9IExPTkdfTUFYLCBsb25nIEM3ID0gTE9OR19NQVgsIGxvbmcgQzggPSBMT05HX01BWAorICAgICwgbG9uZyBDOSA9IExPTkdfTUFYLCBsb25nIEMxMCA9IExPTkdfTUFYLCBsb25nIEMxMSA9IExPTkdfTUFYCisgICAgLCBsb25nIEMxMiA9IExPTkdfTUFYLCBsb25nIEMxMyA9IExPTkdfTUFYLCBsb25nIEMxNCA9IExPTkdfTUFYCisgICAgLCBsb25nIEMxNSA9IExPTkdfTUFYLCBsb25nIEMxNiA9IExPTkdfTUFYLCBsb25nIEMxNyA9IExPTkdfTUFYCisgICAgLCBsb25nIEMxOCA9IExPTkdfTUFYLCBsb25nIEMxOSA9IExPTkdfTUFYCisgICAgPgorc3RydWN0IHZlY3Rvcl9jOworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQKKyAgICA+CitzdHJ1Y3QgdmVjdG9yX2M8CisgICAgICAgICAgVCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogdmVjdG9yMF9jPFQ+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IwX2M8VD46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMAorICAgID4KK3N0cnVjdCB2ZWN0b3JfYzwKKyAgICAgICAgICBULCBDMCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiB2ZWN0b3IxX2M8IFQsIFQoQzApID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjFfYzwgVCwgVChDMCkgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxCisgICAgPgorc3RydWN0IHZlY3Rvcl9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IHZlY3RvcjJfYzwgVCwgVChDMCksIFQoQzEpID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjJfYzwgVCwgVChDMCksIFQoQzEpID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMgorICAgID4KK3N0cnVjdCB2ZWN0b3JfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiB2ZWN0b3IzX2M8IFQsIFQoQzApLCBUKEMxKSwgVChDMikgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yM19jPCBULCBUKEMwKSwgVChDMSksIFQoQzIpID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMworICAgID4KK3N0cnVjdCB2ZWN0b3JfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiB2ZWN0b3I0X2M8IFQsIFQoQzApLCBUKEMxKSwgVChDMiksIFQoQzMpID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjRfYzwgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMykgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0CisgICAgPgorc3RydWN0IHZlY3Rvcl9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IHZlY3RvcjVfYzwgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMyksIFQoQzQpID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjVfYzwgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMyksIFQoQzQpID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgID4KK3N0cnVjdCB2ZWN0b3JfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiB2ZWN0b3I2X2M8IFQsIFQoQzApLCBUKEMxKSwgVChDMiksIFQoQzMpLCBUKEM0KSwgVChDNSkgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yNl9jPCBULCBUKEMwKSwgVChDMSksIFQoQzIpLCBUKEMzKSwgVChDNCksIFQoQzUpID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICwgbG9uZyBDNgorICAgID4KK3N0cnVjdCB2ZWN0b3JfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiB2ZWN0b3I3X2M8IFQsIFQoQzApLCBUKEMxKSwgVChDMiksIFQoQzMpLCBUKEM0KSwgVChDNSksIFQoQzYpID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjdfYzwgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMyksIFQoQzQpLCBUKEM1KSwgVChDNikgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3CisgICAgPgorc3RydWN0IHZlY3Rvcl9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IHZlY3RvcjhfYzwgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMyksIFQoQzQpLCBUKEM1KSwgVChDNiksIFQoQzcpID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjhfYzwgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMyksIFQoQzQpLCBUKEM1KSwgVChDNiksIFQoQzcpID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOAorICAgID4KK3N0cnVjdCB2ZWN0b3JfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiB2ZWN0b3I5X2M8IFQsIFQoQzApLCBUKEMxKSwgVChDMiksIFQoQzMpLCBUKEM0KSwgVChDNSksIFQoQzYpLCBUKEM3KSwgVChDOCkgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yOV9jPCBULCBUKEMwKSwgVChDMSksIFQoQzIpLCBUKEMzKSwgVChDNCksIFQoQzUpLCBUKEM2KSwgVChDNyksIFQoQzgpID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOQorICAgID4KK3N0cnVjdCB2ZWN0b3JfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiB2ZWN0b3IxMF9jPCBULCBUKEMwKSwgVChDMSksIFQoQzIpLCBUKEMzKSwgVChDNCksIFQoQzUpLCBUKEM2KSwgVChDNyksIFQoQzgpLCBUKEM5KSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxMF9jPCBULCBUKEMwKSwgVChDMSksIFQoQzIpLCBUKEMzKSwgVChDNCksIFQoQzUpLCBUKEM2KSwgVChDNyksIFQoQzgpLCBUKEM5KSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwCisgICAgPgorc3RydWN0IHZlY3Rvcl9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IHZlY3RvcjExX2M8IFQsIFQoQzApLCBUKEMxKSwgVChDMiksIFQoQzMpLCBUKEM0KSwgVChDNSksIFQoQzYpLCBUKEM3KSwgVChDOCksIFQoQzkpLCBUKEMxMCkgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTFfYzwgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMyksIFQoQzQpLCBUKEM1KSwgVChDNiksIFQoQzcpLCBUKEM4KSwgVChDOSksIFQoQzEwKSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMQorICAgID4KK3N0cnVjdCB2ZWN0b3JfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogdmVjdG9yMTJfYzwgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMyksIFQoQzQpLCBUKEM1KSwgVChDNiksIFQoQzcpLCBUKEM4KSwgVChDOSksIFQoQzEwKSwgVChDMTEpID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjEyX2M8IFQsIFQoQzApLCBUKEMxKSwgVChDMiksIFQoQzMpLCBUKEM0KSwgVChDNSksIFQoQzYpLCBUKEM3KSwgVChDOCksIFQoQzkpLCBUKEMxMCksIFQoQzExKSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICA+CitzdHJ1Y3QgdmVjdG9yX2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBDMTIsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiB2ZWN0b3IxM19jPCBULCBUKEMwKSwgVChDMSksIFQoQzIpLCBUKEMzKSwgVChDNCksIFQoQzUpLCBUKEM2KSwgVChDNyksIFQoQzgpLCBUKEM5KSwgVChDMTApLCBUKEMxMSksIFQoQzEyKSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxM19jPCBULCBUKEMwKSwgVChDMSksIFQoQzIpLCBUKEMzKSwgVChDNCksIFQoQzUpLCBUKEM2KSwgVChDNyksIFQoQzgpLCBUKEM5KSwgVChDMTApLCBUKEMxMSksIFQoQzEyKSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAsIGxvbmcgQzEzCisgICAgPgorc3RydWN0IHZlY3Rvcl9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IHZlY3RvcjE0X2M8IFQsIFQoQzApLCBUKEMxKSwgVChDMiksIFQoQzMpLCBUKEM0KSwgVChDNSksIFQoQzYpLCBUKEM3KSwgVChDOCksIFQoQzkpLCBUKEMxMCksIFQoQzExKSwgVChDMTIpLCBUKEMxMykgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTRfYzwgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMyksIFQoQzQpLCBUKEM1KSwgVChDNiksIFQoQzcpLCBUKEM4KSwgVChDOSksIFQoQzEwKSwgVChDMTEpLCBUKEMxMiksIFQoQzEzKSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAsIGxvbmcgQzEzLCBsb25nIEMxNAorICAgID4KK3N0cnVjdCB2ZWN0b3JfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIEMxMiwgQzEzLCBDMTQKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogdmVjdG9yMTVfYzwgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMyksIFQoQzQpLCBUKEM1KSwgVChDNiksIFQoQzcpLCBUKEM4KSwgVChDOSksIFQoQzEwKSwgVChDMTEpLCBUKEMxMiksIFQoQzEzKSwgVChDMTQpID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjE1X2M8IFQsIFQoQzApLCBUKEMxKSwgVChDMiksIFQoQzMpLCBUKEM0KSwgVChDNSksIFQoQzYpLCBUKEM3KSwgVChDOCksIFQoQzkpLCBUKEMxMCksIFQoQzExKSwgVChDMTIpLCBUKEMxMyksIFQoQzE0KSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAsIGxvbmcgQzEzLCBsb25nIEMxNCwgbG9uZyBDMTUKKyAgICA+CitzdHJ1Y3QgdmVjdG9yX2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBDMTIsIEMxMywgQzE0CisgICAgICAgICwgQzE1LCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiB2ZWN0b3IxNl9jPCBULCBUKEMwKSwgVChDMSksIFQoQzIpLCBUKEMzKSwgVChDNCksIFQoQzUpLCBUKEM2KSwgVChDNyksIFQoQzgpLCBUKEM5KSwgVChDMTApLCBUKEMxMSksIFQoQzEyKSwgVChDMTMpLCBUKEMxNCksIFQoQzE1KSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxNl9jPCBULCBUKEMwKSwgVChDMSksIFQoQzIpLCBUKEMzKSwgVChDNCksIFQoQzUpLCBUKEM2KSwgVChDNyksIFQoQzgpLCBUKEM5KSwgVChDMTApLCBUKEMxMSksIFQoQzEyKSwgVChDMTMpLCBUKEMxNCksIFQoQzE1KSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAsIGxvbmcgQzEzLCBsb25nIEMxNCwgbG9uZyBDMTUsIGxvbmcgQzE2CisgICAgPgorc3RydWN0IHZlY3Rvcl9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMsIEMxNAorICAgICAgICAsIEMxNSwgQzE2LCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IHZlY3RvcjE3X2M8IFQsIFQoQzApLCBUKEMxKSwgVChDMiksIFQoQzMpLCBUKEM0KSwgVChDNSksIFQoQzYpLCBUKEM3KSwgVChDOCksIFQoQzkpLCBUKEMxMCksIFQoQzExKSwgVChDMTIpLCBUKEMxMyksIFQoQzE0KSwgVChDMTUpLCBUKEMxNikgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTdfYzwgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMyksIFQoQzQpLCBUKEM1KSwgVChDNiksIFQoQzcpLCBUKEM4KSwgVChDOSksIFQoQzEwKSwgVChDMTEpLCBUKEMxMiksIFQoQzEzKSwgVChDMTQpLCBUKEMxNSksIFQoQzE2KSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAsIGxvbmcgQzEzLCBsb25nIEMxNCwgbG9uZyBDMTUsIGxvbmcgQzE2LCBsb25nIEMxNworICAgID4KK3N0cnVjdCB2ZWN0b3JfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIEMxMiwgQzEzLCBDMTQKKyAgICAgICAgLCBDMTUsIEMxNiwgQzE3LCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogdmVjdG9yMThfYzwgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMyksIFQoQzQpLCBUKEM1KSwgVChDNiksIFQoQzcpLCBUKEM4KSwgVChDOSksIFQoQzEwKSwgVChDMTEpLCBUKEMxMiksIFQoQzEzKSwgVChDMTQpLCBUKEMxNSksIFQoQzE2KSwgVChDMTcpID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjE4X2M8IFQsIFQoQzApLCBUKEMxKSwgVChDMiksIFQoQzMpLCBUKEM0KSwgVChDNSksIFQoQzYpLCBUKEM3KSwgVChDOCksIFQoQzkpLCBUKEMxMCksIFQoQzExKSwgVChDMTIpLCBUKEMxMyksIFQoQzE0KSwgVChDMTUpLCBUKEMxNiksIFQoQzE3KSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAsIGxvbmcgQzEzLCBsb25nIEMxNCwgbG9uZyBDMTUsIGxvbmcgQzE2LCBsb25nIEMxNywgbG9uZyBDMTgKKyAgICA+CitzdHJ1Y3QgdmVjdG9yX2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBDMTIsIEMxMywgQzE0CisgICAgICAgICwgQzE1LCBDMTYsIEMxNywgQzE4LCBMT05HX01BWAorICAgICAgICA+CisgICAgOiB2ZWN0b3IxOV9jPCBULCBUKEMwKSwgVChDMSksIFQoQzIpLCBUKEMzKSwgVChDNCksIFQoQzUpLCBUKEM2KSwgVChDNyksIFQoQzgpLCBUKEM5KSwgVChDMTApLCBUKEMxMSksIFQoQzEyKSwgVChDMTMpLCBUKEMxNCksIFQoQzE1KSwgVChDMTYpLCBUKEMxNyksIFQoQzE4KSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxOV9jPCBULCBUKEMwKSwgVChDMSksIFQoQzIpLCBUKEMzKSwgVChDNCksIFQoQzUpLCBUKEM2KSwgVChDNyksIFQoQzgpLCBUKEM5KSwgVChDMTApLCBUKEMxMSksIFQoQzEyKSwgVChDMTMpLCBUKEMxNCksIFQoQzE1KSwgVChDMTYpLCBUKEMxNyksIFQoQzE4KSA+Ojp0eXBlIHR5cGU7Cit9OworCisvLy8gcHJpbWFyeSB0ZW1wbGF0ZSAobm90IGEgc3BlY2lhbGl6YXRpb24hKQorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAsIGxvbmcgQzEzLCBsb25nIEMxNCwgbG9uZyBDMTUsIGxvbmcgQzE2LCBsb25nIEMxNywgbG9uZyBDMTgsIGxvbmcgQzE5CisgICAgPgorc3RydWN0IHZlY3Rvcl9jCisgICAgOiB2ZWN0b3IyMF9jPCBULCBUKEMwKSwgVChDMSksIFQoQzIpLCBUKEMzKSwgVChDNCksIFQoQzUpLCBUKEM2KSwgVChDNyksIFQoQzgpLCBUKEM5KSwgVChDMTApLCBUKEMxMSksIFQoQzEyKSwgVChDMTMpLCBUKEMxNCksIFQoQzE1KSwgVChDMTYpLCBUKEMxNyksIFQoQzE4KSwgVChDMTkpID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjIwX2M8IFQsIFQoQzApLCBUKEMxKSwgVChDMiksIFQoQzMpLCBUKEM0KSwgVChDNSksIFQoQzYpLCBUKEM3KSwgVChDOCksIFQoQzkpLCBUKEMxMCksIFQoQzExKSwgVChDMTIpLCBUKEMxMyksIFQoQzE0KSwgVChDMTUpLCBUKEMxNiksIFQoQzE3KSwgVChDMTgpLCBUKEMxOSkgPjo6dHlwZSB0eXBlOworfTsKKworfX0KKwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2djYy9hZHZhbmNlX2JhY2t3YXJkLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9nY2MvYWR2YW5jZV9iYWNrd2FyZC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGUwYzgyOAotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9nY2MvYWR2YW5jZV9iYWNrd2FyZC5ocHAKQEAgLTAsMCArMSw5NyBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvYXV4Xy9hZHZhbmNlX2JhY2t3YXJkLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeyBuYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8IGxvbmcgTiA+IHN0cnVjdCBhZHZhbmNlX2JhY2t3YXJkOwordGVtcGxhdGU8Pgorc3RydWN0IGFkdmFuY2VfYmFja3dhcmQ8MD4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgSXRlcmF0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgSXRlcmF0b3IgaXRlcjA7CisgICAgICAgIHR5cGVkZWYgaXRlcjAgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGFkdmFuY2VfYmFja3dhcmQ8MT4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgSXRlcmF0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgSXRlcmF0b3IgaXRlcjA7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcHJpb3I8aXRlcjA+Ojp0eXBlIGl0ZXIxOworICAgICAgICB0eXBlZGVmIGl0ZXIxIHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBhZHZhbmNlX2JhY2t3YXJkPDI+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIEl0ZXJhdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIEl0ZXJhdG9yIGl0ZXIwOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHByaW9yPGl0ZXIwPjo6dHlwZSBpdGVyMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBwcmlvcjxpdGVyMT46OnR5cGUgaXRlcjI7CisgICAgICAgIHR5cGVkZWYgaXRlcjIgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGFkdmFuY2VfYmFja3dhcmQ8Mz4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgSXRlcmF0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgSXRlcmF0b3IgaXRlcjA7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcHJpb3I8aXRlcjA+Ojp0eXBlIGl0ZXIxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHByaW9yPGl0ZXIxPjo6dHlwZSBpdGVyMjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBwcmlvcjxpdGVyMj46OnR5cGUgaXRlcjM7CisgICAgICAgIHR5cGVkZWYgaXRlcjMgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGFkdmFuY2VfYmFja3dhcmQ8ND4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgSXRlcmF0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgSXRlcmF0b3IgaXRlcjA7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcHJpb3I8aXRlcjA+Ojp0eXBlIGl0ZXIxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHByaW9yPGl0ZXIxPjo6dHlwZSBpdGVyMjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBwcmlvcjxpdGVyMj46OnR5cGUgaXRlcjM7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcHJpb3I8aXRlcjM+Ojp0eXBlIGl0ZXI0OworICAgICAgICB0eXBlZGVmIGl0ZXI0IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCBsb25nIE4gPgorc3RydWN0IGFkdmFuY2VfYmFja3dhcmQKK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgSXRlcmF0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHlfd3JhcDE8CisgICAgICAgICAgICAgIGFkdmFuY2VfYmFja3dhcmQ8ND4KKyAgICAgICAgICAgICwgSXRlcmF0b3IKKyAgICAgICAgICAgID46OnR5cGUgY2h1bmtfcmVzdWx0XzsKKworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5X3dyYXAxPAorICAgICAgICAgICAgICBhZHZhbmNlX2JhY2t3YXJkPCgKKyAgICAgICAgICAgICAgICAoTiAtIDQpIDwgMAorICAgICAgICAgICAgICAgICAgICA/IDAKKyAgICAgICAgICAgICAgICAgICAgOiBOIC0gNAorICAgICAgICAgICAgICAgICAgICApPgorICAgICAgICAgICAgLCBjaHVua19yZXN1bHRfCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisgICAgfTsKK307CisKK319fQorCmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvZ2NjL2FkdmFuY2VfZm9yd2FyZC5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvZ2NjL2FkdmFuY2VfZm9yd2FyZC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjNhNWFmZAotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9nY2MvYWR2YW5jZV9mb3J3YXJkLmhwcApAQCAtMCwwICsxLDk3IEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9hdXhfL2FkdmFuY2VfZm9yd2FyZC5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsgbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPCBsb25nIE4gPiBzdHJ1Y3QgYWR2YW5jZV9mb3J3YXJkOwordGVtcGxhdGU8Pgorc3RydWN0IGFkdmFuY2VfZm9yd2FyZDwwPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBJdGVyYXRvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBJdGVyYXRvciBpdGVyMDsKKyAgICAgICAgdHlwZWRlZiBpdGVyMCB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgYWR2YW5jZV9mb3J3YXJkPDE+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIEl0ZXJhdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIEl0ZXJhdG9yIGl0ZXIwOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG5leHQ8aXRlcjA+Ojp0eXBlIGl0ZXIxOworICAgICAgICB0eXBlZGVmIGl0ZXIxIHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBhZHZhbmNlX2ZvcndhcmQ8Mj4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgSXRlcmF0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgSXRlcmF0b3IgaXRlcjA7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbmV4dDxpdGVyMD46OnR5cGUgaXRlcjE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbmV4dDxpdGVyMT46OnR5cGUgaXRlcjI7CisgICAgICAgIHR5cGVkZWYgaXRlcjIgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGFkdmFuY2VfZm9yd2FyZDwzPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBJdGVyYXRvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBJdGVyYXRvciBpdGVyMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBuZXh0PGl0ZXIwPjo6dHlwZSBpdGVyMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBuZXh0PGl0ZXIxPjo6dHlwZSBpdGVyMjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBuZXh0PGl0ZXIyPjo6dHlwZSBpdGVyMzsKKyAgICAgICAgdHlwZWRlZiBpdGVyMyB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgYWR2YW5jZV9mb3J3YXJkPDQ+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIEl0ZXJhdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIEl0ZXJhdG9yIGl0ZXIwOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG5leHQ8aXRlcjA+Ojp0eXBlIGl0ZXIxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG5leHQ8aXRlcjE+Ojp0eXBlIGl0ZXIyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG5leHQ8aXRlcjI+Ojp0eXBlIGl0ZXIzOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG5leHQ8aXRlcjM+Ojp0eXBlIGl0ZXI0OworICAgICAgICB0eXBlZGVmIGl0ZXI0IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCBsb25nIE4gPgorc3RydWN0IGFkdmFuY2VfZm9yd2FyZAoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBJdGVyYXRvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseV93cmFwMTwKKyAgICAgICAgICAgICAgYWR2YW5jZV9mb3J3YXJkPDQ+CisgICAgICAgICAgICAsIEl0ZXJhdG9yCisgICAgICAgICAgICA+Ojp0eXBlIGNodW5rX3Jlc3VsdF87CisKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseV93cmFwMTwKKyAgICAgICAgICAgICAgYWR2YW5jZV9mb3J3YXJkPCgKKyAgICAgICAgICAgICAgICAoTiAtIDQpIDwgMAorICAgICAgICAgICAgICAgICAgICA/IDAKKyAgICAgICAgICAgICAgICAgICAgOiBOIC0gNAorICAgICAgICAgICAgICAgICAgICApPgorICAgICAgICAgICAgLCBjaHVua19yZXN1bHRfCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisgICAgfTsKK307CisKK319fQorCmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvZ2NjL2FuZC5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvZ2NjL2FuZC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjRiODhkOAotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9nY2MvYW5kLmhwcApAQCAtMCwwICsxLDY5IEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9hbmQuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwgYm9vbCBDXywgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQgPgorc3RydWN0IGFuZF9pbXBsCisgICAgOiBmYWxzZV8KK3sKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNCA+CitzdHJ1Y3QgYW5kX2ltcGw8IHRydWUsVDEsVDIsVDMsVDQgPgorICAgIDogYW5kX2ltcGw8CisgICAgICAgICAgQk9PU1RfTVBMX0FVWF9ORVNURURfVFlQRV9XS05EKFQxKTo6dmFsdWUKKyAgICAgICAgLCBUMiwgVDMsIFQ0CisgICAgICAgICwgdHJ1ZV8KKyAgICAgICAgPgoreworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGFuZF9pbXBsPAorICAgICAgICAgIHRydWUKKyAgICAgICAgLCB0cnVlXywgdHJ1ZV8sIHRydWVfLCB0cnVlXworICAgICAgICA+CisgICAgOiB0cnVlXworeworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShUMSkKKyAgICAsIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oVDIpCisgICAgLCB0eXBlbmFtZSBUMyA9IHRydWVfLCB0eXBlbmFtZSBUNCA9IHRydWVfLCB0eXBlbmFtZSBUNSA9IHRydWVfCisgICAgPgorc3RydWN0IGFuZF8KKworICAgIDogYXV4OjphbmRfaW1wbDwKKyAgICAgICAgICBCT09TVF9NUExfQVVYX05FU1RFRF9UWVBFX1dLTkQoVDEpOjp2YWx1ZQorICAgICAgICAsIFQyLCBUMywgVDQsIFQ1CisgICAgICAgID4KKworeworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoCisgICAgICAgICAgNQorICAgICAgICAsIGFuZF8KKyAgICAgICAgLCAoIFQxLCBUMiwgVDMsIFQ0LCBUNSkKKyAgICAgICAgKQorfTsKKworQk9PU1RfTVBMX0FVWF9OQV9TUEVDMigKKyAgICAgIDIKKyAgICAsIDUKKyAgICAsIGFuZF8KKyAgICApCisKK319CmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvZ2NjL2FwcGx5LmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9nY2MvYXBwbHkuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU0YjFjZDIKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvZ2NjL2FwcGx5LmhwcApAQCAtMCwwICsxLDE2OSBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvYXBwbHkuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRgorICAgID4KK3N0cnVjdCBhcHBseTAKKworICAgIDogYXBwbHlfd3JhcDA8CisgICAgICAgICAgdHlwZW5hbWUgbGFtYmRhPEY+Ojp0eXBlCisgICAgICAgCisgICAgICAgID4KK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKAorICAgICAgICAgIDEKKyAgICAgICAgLCBhcHBseTAKKyAgICAgICAgLCAoRiApCisgICAgICAgICkKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRgorICAgID4KK3N0cnVjdCBhcHBseTwgRixuYSxuYSxuYSxuYSxuYSA+CisgICAgOiBhcHBseTA8Rj4KK3sKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEKKyAgICA+CitzdHJ1Y3QgYXBwbHkxCisKKyAgICA6IGFwcGx5X3dyYXAxPAorICAgICAgICAgIHR5cGVuYW1lIGxhbWJkYTxGPjo6dHlwZQorICAgICAgICAsIFQxCisgICAgICAgID4KK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKAorICAgICAgICAgIDIKKyAgICAgICAgLCBhcHBseTEKKyAgICAgICAgLCAoRiwgVDEpCisgICAgICAgICkKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEKKyAgICA+CitzdHJ1Y3QgYXBwbHk8IEYsVDEsbmEsbmEsbmEsbmEgPgorICAgIDogYXBwbHkxPCBGLFQxID4KK3sKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyCisgICAgPgorc3RydWN0IGFwcGx5MgorCisgICAgOiBhcHBseV93cmFwMjwKKyAgICAgICAgICB0eXBlbmFtZSBsYW1iZGE8Rj46OnR5cGUKKyAgICAgICAgLCBUMSwgVDIKKyAgICAgICAgPgoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoCisgICAgICAgICAgMworICAgICAgICAsIGFwcGx5MgorICAgICAgICAsIChGLCBUMSwgVDIpCisgICAgICAgICkKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyCisgICAgPgorc3RydWN0IGFwcGx5PCBGLFQxLFQyLG5hLG5hLG5hID4KKyAgICA6IGFwcGx5MjwgRixUMSxUMiA+Cit7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMKKyAgICA+CitzdHJ1Y3QgYXBwbHkzCisKKyAgICA6IGFwcGx5X3dyYXAzPAorICAgICAgICAgIHR5cGVuYW1lIGxhbWJkYTxGPjo6dHlwZQorICAgICAgICAsIFQxLCBUMiwgVDMKKyAgICAgICAgPgoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoCisgICAgICAgICAgNAorICAgICAgICAsIGFwcGx5MworICAgICAgICAsIChGLCBUMSwgVDIsIFQzKQorICAgICAgICApCit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMKKyAgICA+CitzdHJ1Y3QgYXBwbHk8IEYsVDEsVDIsVDMsbmEsbmEgPgorICAgIDogYXBwbHkzPCBGLFQxLFQyLFQzID4KK3sKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICA+CitzdHJ1Y3QgYXBwbHk0CisKKyAgICA6IGFwcGx5X3dyYXA0PAorICAgICAgICAgIHR5cGVuYW1lIGxhbWJkYTxGPjo6dHlwZQorICAgICAgICAsIFQxLCBUMiwgVDMsIFQ0CisgICAgICAgID4KK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKAorICAgICAgICAgIDUKKyAgICAgICAgLCBhcHBseTQKKyAgICAgICAgLCAoRiwgVDEsIFQyLCBUMywgVDQpCisgICAgICAgICkKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICA+CitzdHJ1Y3QgYXBwbHk8IEYsVDEsVDIsVDMsVDQsbmEgPgorICAgIDogYXBwbHk0PCBGLFQxLFQyLFQzLFQ0ID4KK3sKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1CisgICAgPgorc3RydWN0IGFwcGx5NQorCisgICAgOiBhcHBseV93cmFwNTwKKyAgICAgICAgICB0eXBlbmFtZSBsYW1iZGE8Rj46OnR5cGUKKyAgICAgICAgLCBUMSwgVDIsIFQzLCBUNCwgVDUKKyAgICAgICAgPgoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoCisgICAgICAgICAgNgorICAgICAgICAsIGFwcGx5NQorICAgICAgICAsIChGLCBUMSwgVDIsIFQzLCBUNCwgVDUpCisgICAgICAgICkKK307CisKKy8vLyBwcmltYXJ5IHRlbXBsYXRlIChub3QgYSBzcGVjaWFsaXphdGlvbiEpCisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1CisgICAgPgorc3RydWN0IGFwcGx5CisgICAgOiBhcHBseTU8IEYsVDEsVDIsVDMsVDQsVDUgPgoreworfTsKKworfX0KKwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2djYy9hcHBseV9md2QuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2djYy9hcHBseV9md2QuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJjY2M5NGUKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvZ2NjL2FwcGx5X2Z3ZC5ocHAKQEAgLTAsMCArMSw1MiBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvYXBwbHlfZndkLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxID0gbmEsIHR5cGVuYW1lIFQyID0gbmEsIHR5cGVuYW1lIFQzID0gbmEKKyAgICAsIHR5cGVuYW1lIFQ0ID0gbmEsIHR5cGVuYW1lIFQ1ID0gbmEKKyAgICA+CitzdHJ1Y3QgYXBwbHk7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRgorICAgID4KK3N0cnVjdCBhcHBseTA7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEKKyAgICA+CitzdHJ1Y3QgYXBwbHkxOworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMgorICAgID4KK3N0cnVjdCBhcHBseTI7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMworICAgID4KK3N0cnVjdCBhcHBseTM7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICA+CitzdHJ1Y3QgYXBwbHk0OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNQorICAgID4KK3N0cnVjdCBhcHBseTU7CisKK319CisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9nY2MvYXBwbHlfd3JhcC5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvZ2NjL2FwcGx5X3dyYXAuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVjOTAyMDIKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvZ2NjL2FwcGx5X3dyYXAuaHBwCkBAIC0wLDAgKzEsODQgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL2FwcGx5X3dyYXAuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRgorCisgICAgLCB0eXBlbmFtZSBoYXNfYXBwbHlfID0gdHlwZW5hbWUgYXV4OjpoYXNfYXBwbHk8Rj46OnR5cGUKKworICAgID4KK3N0cnVjdCBhcHBseV93cmFwMAorCisgICAgOiBGOjp0ZW1wbGF0ZSBhcHBseTwgID4KK3sKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBGID4KK3N0cnVjdCBhcHBseV93cmFwMDwgRix0cnVlXyA+CisgICAgOiBGOjphcHBseQoreworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMQorCisgICAgPgorc3RydWN0IGFwcGx5X3dyYXAxCisKKyAgICA6IEY6OnRlbXBsYXRlIGFwcGx5PFQxPgoreworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIKKworICAgID4KK3N0cnVjdCBhcHBseV93cmFwMgorCisgICAgOiBGOjp0ZW1wbGF0ZSBhcHBseTwgVDEsVDIgPgoreworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzCisKKyAgICA+CitzdHJ1Y3QgYXBwbHlfd3JhcDMKKworICAgIDogRjo6dGVtcGxhdGUgYXBwbHk8IFQxLFQyLFQzID4KK3sKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKworICAgID4KK3N0cnVjdCBhcHBseV93cmFwNAorCisgICAgOiBGOjp0ZW1wbGF0ZSBhcHBseTwgVDEsVDIsVDMsVDQgPgoreworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUKKworICAgID4KK3N0cnVjdCBhcHBseV93cmFwNQorCisgICAgOiBGOjp0ZW1wbGF0ZSBhcHBseTwgVDEsVDIsVDMsVDQsVDUgPgoreworfTsKKworfX0KKwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2djYy9hcmcuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2djYy9hcmcuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlhMTU3YzIKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvZ2NjL2FyZy5ocHAKQEAgLTAsMCArMSwxMjMgQEAKKworLy8gQ29weXJpZ2h0IFBldGVyIERpbW92IDIwMDEtMjAwMgorLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMS0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL2FyZy5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCitCT09TVF9NUExfQVVYX0FETF9CQVJSSUVSX05BTUVTUEFDRV9PUEVOCit0ZW1wbGF0ZTw+IHN0cnVjdCBhcmc8IC0xID4KK3sKKyAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAtMSk7CisgICAgQk9PU1RfTVBMX0FVWF9BUkdfVFlQRURFRihuYSwgdGFnKQorICAgIEJPT1NUX01QTF9BVVhfQVJHX1RZUEVERUYobmEsIHR5cGUpCisKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBVMSA9IG5hLCB0eXBlbmFtZSBVMiA9IG5hLCB0eXBlbmFtZSBVMyA9IG5hCisgICAgICAgICwgdHlwZW5hbWUgVTQgPSBuYSwgdHlwZW5hbWUgVTUgPSBuYQorICAgICAgICA+CisgICAgc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIFUxIHR5cGU7CisgICAgICAgIEJPT1NUX01QTF9BVVhfQVNTRVJUX05PVF9OQSh0eXBlKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgYXJnPDE+Cit7CisgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMSk7CisgICAgdHlwZWRlZiBhcmc8Mj4gbmV4dDsKKyAgICBCT09TVF9NUExfQVVYX0FSR19UWVBFREVGKG5hLCB0YWcpCisgICAgQk9PU1RfTVBMX0FVWF9BUkdfVFlQRURFRihuYSwgdHlwZSkKKworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFUxID0gbmEsIHR5cGVuYW1lIFUyID0gbmEsIHR5cGVuYW1lIFUzID0gbmEKKyAgICAgICAgLCB0eXBlbmFtZSBVNCA9IG5hLCB0eXBlbmFtZSBVNSA9IG5hCisgICAgICAgID4KKyAgICBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgVTEgdHlwZTsKKyAgICAgICAgQk9PU1RfTVBMX0FVWF9BU1NFUlRfTk9UX05BKHR5cGUpOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCBhcmc8Mj4KK3sKKyAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAyKTsKKyAgICB0eXBlZGVmIGFyZzwzPiBuZXh0OworICAgIEJPT1NUX01QTF9BVVhfQVJHX1RZUEVERUYobmEsIHRhZykKKyAgICBCT09TVF9NUExfQVVYX0FSR19UWVBFREVGKG5hLCB0eXBlKQorCisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVTEgPSBuYSwgdHlwZW5hbWUgVTIgPSBuYSwgdHlwZW5hbWUgVTMgPSBuYQorICAgICAgICAsIHR5cGVuYW1lIFU0ID0gbmEsIHR5cGVuYW1lIFU1ID0gbmEKKyAgICAgICAgPgorICAgIHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBVMiB0eXBlOworICAgICAgICBCT09TVF9NUExfQVVYX0FTU0VSVF9OT1RfTkEodHlwZSk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4gc3RydWN0IGFyZzwzPgoreworICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDMpOworICAgIHR5cGVkZWYgYXJnPDQ+IG5leHQ7CisgICAgQk9PU1RfTVBMX0FVWF9BUkdfVFlQRURFRihuYSwgdGFnKQorICAgIEJPT1NUX01QTF9BVVhfQVJHX1RZUEVERUYobmEsIHR5cGUpCisKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBVMSA9IG5hLCB0eXBlbmFtZSBVMiA9IG5hLCB0eXBlbmFtZSBVMyA9IG5hCisgICAgICAgICwgdHlwZW5hbWUgVTQgPSBuYSwgdHlwZW5hbWUgVTUgPSBuYQorICAgICAgICA+CisgICAgc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIFUzIHR5cGU7CisgICAgICAgIEJPT1NUX01QTF9BVVhfQVNTRVJUX05PVF9OQSh0eXBlKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgYXJnPDQ+Cit7CisgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gNCk7CisgICAgdHlwZWRlZiBhcmc8NT4gbmV4dDsKKyAgICBCT09TVF9NUExfQVVYX0FSR19UWVBFREVGKG5hLCB0YWcpCisgICAgQk9PU1RfTVBMX0FVWF9BUkdfVFlQRURFRihuYSwgdHlwZSkKKworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFUxID0gbmEsIHR5cGVuYW1lIFUyID0gbmEsIHR5cGVuYW1lIFUzID0gbmEKKyAgICAgICAgLCB0eXBlbmFtZSBVNCA9IG5hLCB0eXBlbmFtZSBVNSA9IG5hCisgICAgICAgID4KKyAgICBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgVTQgdHlwZTsKKyAgICAgICAgQk9PU1RfTVBMX0FVWF9BU1NFUlRfTk9UX05BKHR5cGUpOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCBhcmc8NT4KK3sKKyAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSA1KTsKKyAgICB0eXBlZGVmIGFyZzw2PiBuZXh0OworICAgIEJPT1NUX01QTF9BVVhfQVJHX1RZUEVERUYobmEsIHRhZykKKyAgICBCT09TVF9NUExfQVVYX0FSR19UWVBFREVGKG5hLCB0eXBlKQorCisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVTEgPSBuYSwgdHlwZW5hbWUgVTIgPSBuYSwgdHlwZW5hbWUgVTMgPSBuYQorICAgICAgICAsIHR5cGVuYW1lIFU0ID0gbmEsIHR5cGVuYW1lIFU1ID0gbmEKKyAgICAgICAgPgorICAgIHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBVNSB0eXBlOworICAgICAgICBCT09TVF9NUExfQVVYX0FTU0VSVF9OT1RfTkEodHlwZSk7CisgICAgfTsKK307CisKK0JPT1NUX01QTF9BVVhfTk9OVFlQRV9BUklUWV9TUEVDKDEsaW50LCBhcmcpCisKK0JPT1NUX01QTF9BVVhfQURMX0JBUlJJRVJfTkFNRVNQQUNFX0NMT1NFCmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvZ2NjL2Jhc2ljX2JpbmQuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2djYy9iYXNpY19iaW5kLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMmE1NjVlCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2djYy9iYXNpY19iaW5kLmhwcApAQCAtMCwwICsxLDQ0MCBAQAorCisvLyBDb3B5cmlnaHQgUGV0ZXIgRGltb3YgMjAwMQorLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMS0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL2F1eF8vYmFzaWNfYmluZC5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyLCB0eXBlbmFtZSBVMywgdHlwZW5hbWUgVTQKKyAgICAsIHR5cGVuYW1lIFU1CisgICAgPgorc3RydWN0IHJlc29sdmVfYmluZF9hcmcKK3sKKyAgICB0eXBlZGVmIFQgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgaW50IE4sIHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiwgdHlwZW5hbWUgVTMsIHR5cGVuYW1lIFU0LCB0eXBlbmFtZSBVNQorICAgID4KK3N0cnVjdCByZXNvbHZlX2JpbmRfYXJnPCBhcmc8Tj4sIFUxLCBVMiwgVTMsIFU0LCBVNSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseV93cmFwNTxtcGw6OmFyZzxOPiwgVTEsIFUyLCBVMywgVTQsIFU1Pjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiwgdHlwZW5hbWUgVTMsIHR5cGVuYW1lIFU0CisgICAgLCB0eXBlbmFtZSBVNQorICAgID4KK3N0cnVjdCByZXNvbHZlX2JpbmRfYXJnPCBiaW5kPCBGLFQxLFQyLFQzLFQ0LFQ1ID4sIFUxLCBVMiwgVTMsIFU0LCBVNSA+Cit7CisgICAgdHlwZWRlZiBiaW5kPCBGLFQxLFQyLFQzLFQ0LFQ1ID4gZl87CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseV93cmFwNTwgZl8sVTEsVTIsVTMsVTQsVTUgPjo6dHlwZSB0eXBlOworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRgorICAgID4KK3N0cnVjdCBiaW5kMAoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFUxID0gbmEsIHR5cGVuYW1lIFUyID0gbmEsIHR5cGVuYW1lIFUzID0gbmEKKyAgICAgICAgLCB0eXBlbmFtZSBVNCA9IG5hLCB0eXBlbmFtZSBVNSA9IG5hCisgICAgICAgID4KKyAgICBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgIHByaXZhdGU6CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBGLFUxLFUyLFUzLFU0LFU1ID46OnR5cGUgZl87CisKKyAgICAgcHVibGljOgorICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5X3dyYXAwPAorICAgICAgICAgICAgICBmXworICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiwgdHlwZW5hbWUgVTMsIHR5cGVuYW1lIFU0CisgICAgLCB0eXBlbmFtZSBVNQorICAgID4KK3N0cnVjdCByZXNvbHZlX2JpbmRfYXJnPAorICAgICAgYmluZDA8Rj4sIFUxLCBVMiwgVTMsIFU0LCBVNQorICAgID4KK3sKKyAgICB0eXBlZGVmIGJpbmQwPEY+IGZfOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHlfd3JhcDU8IGZfLFUxLFUyLFUzLFU0LFU1ID46OnR5cGUgdHlwZTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCitCT09TVF9NUExfQVVYX0FSSVRZX1NQRUMoMSwgYmluZDApCitCT09TVF9NUExfQVVYX1RFTVBMQVRFX0FSSVRZX1NQRUMoMSwgYmluZDApCisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRgorICAgID4KK3N0cnVjdCBiaW5kPCBGLG5hLG5hLG5hLG5hLG5hID4KKyAgICA6IGJpbmQwPEY+Cit7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxCisgICAgPgorc3RydWN0IGJpbmQxCit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVTEgPSBuYSwgdHlwZW5hbWUgVTIgPSBuYSwgdHlwZW5hbWUgVTMgPSBuYQorICAgICAgICAsIHR5cGVuYW1lIFU0ID0gbmEsIHR5cGVuYW1lIFU1ID0gbmEKKyAgICAgICAgPgorICAgIHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgcHJpdmF0ZToKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhdXg6OnJlc29sdmVfYmluZF9hcmc8IEYsVTEsVTIsVTMsVTQsVTUgPjo6dHlwZSBmXzsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IFQxLFUxLFUyLFUzLFU0LFU1ID4gdDE7CisKKyAgICAgcHVibGljOgorICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5X3dyYXAxPAorICAgICAgICAgICAgICBmXworICAgICAgICAgICAgLCB0eXBlbmFtZSB0MTo6dHlwZQorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIsIHR5cGVuYW1lIFUzCisgICAgLCB0eXBlbmFtZSBVNCwgdHlwZW5hbWUgVTUKKyAgICA+CitzdHJ1Y3QgcmVzb2x2ZV9iaW5kX2FyZzwKKyAgICAgIGJpbmQxPCBGLFQxID4sIFUxLCBVMiwgVTMsIFU0LCBVNQorICAgID4KK3sKKyAgICB0eXBlZGVmIGJpbmQxPCBGLFQxID4gZl87CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseV93cmFwNTwgZl8sVTEsVTIsVTMsVTQsVTUgPjo6dHlwZSB0eXBlOworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK0JPT1NUX01QTF9BVVhfQVJJVFlfU1BFQygyLCBiaW5kMSkKK0JPT1NUX01QTF9BVVhfVEVNUExBVEVfQVJJVFlfU1BFQygyLCBiaW5kMSkKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMQorICAgID4KK3N0cnVjdCBiaW5kPCBGLFQxLG5hLG5hLG5hLG5hID4KKyAgICA6IGJpbmQxPCBGLFQxID4KK3sKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyCisgICAgPgorc3RydWN0IGJpbmQyCit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVTEgPSBuYSwgdHlwZW5hbWUgVTIgPSBuYSwgdHlwZW5hbWUgVTMgPSBuYQorICAgICAgICAsIHR5cGVuYW1lIFU0ID0gbmEsIHR5cGVuYW1lIFU1ID0gbmEKKyAgICAgICAgPgorICAgIHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgcHJpdmF0ZToKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhdXg6OnJlc29sdmVfYmluZF9hcmc8IEYsVTEsVTIsVTMsVTQsVTUgPjo6dHlwZSBmXzsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IFQxLFUxLFUyLFUzLFU0LFU1ID4gdDE7CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBUMixVMSxVMixVMyxVNCxVNSA+IHQyOworCisgICAgIHB1YmxpYzoKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseV93cmFwMjwKKyAgICAgICAgICAgICAgZl8KKyAgICAgICAgICAgICwgdHlwZW5hbWUgdDE6OnR5cGUsIHR5cGVuYW1lIHQyOjp0eXBlCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIKKyAgICAsIHR5cGVuYW1lIFUzLCB0eXBlbmFtZSBVNCwgdHlwZW5hbWUgVTUKKyAgICA+CitzdHJ1Y3QgcmVzb2x2ZV9iaW5kX2FyZzwKKyAgICAgIGJpbmQyPCBGLFQxLFQyID4sIFUxLCBVMiwgVTMsIFU0LCBVNQorICAgID4KK3sKKyAgICB0eXBlZGVmIGJpbmQyPCBGLFQxLFQyID4gZl87CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseV93cmFwNTwgZl8sVTEsVTIsVTMsVTQsVTUgPjo6dHlwZSB0eXBlOworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK0JPT1NUX01QTF9BVVhfQVJJVFlfU1BFQygzLCBiaW5kMikKK0JPT1NUX01QTF9BVVhfVEVNUExBVEVfQVJJVFlfU1BFQygzLCBiaW5kMikKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIKKyAgICA+CitzdHJ1Y3QgYmluZDwgRixUMSxUMixuYSxuYSxuYSA+CisgICAgOiBiaW5kMjwgRixUMSxUMiA+Cit7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMKKyAgICA+CitzdHJ1Y3QgYmluZDMKK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBVMSA9IG5hLCB0eXBlbmFtZSBVMiA9IG5hLCB0eXBlbmFtZSBVMyA9IG5hCisgICAgICAgICwgdHlwZW5hbWUgVTQgPSBuYSwgdHlwZW5hbWUgVTUgPSBuYQorICAgICAgICA+CisgICAgc3RydWN0IGFwcGx5CisgICAgeworICAgICBwcml2YXRlOgorICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgRixVMSxVMixVMyxVNCxVNSA+Ojp0eXBlIGZfOworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgVDEsVTEsVTIsVTMsVTQsVTUgPiB0MTsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IFQyLFUxLFUyLFUzLFU0LFU1ID4gdDI7CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBUMyxVMSxVMixVMyxVNCxVNSA+IHQzOworCisgICAgIHB1YmxpYzoKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseV93cmFwMzwKKyAgICAgICAgICAgICAgZl8KKyAgICAgICAgICAgICwgdHlwZW5hbWUgdDE6OnR5cGUsIHR5cGVuYW1lIHQyOjp0eXBlLCB0eXBlbmFtZSB0Mzo6dHlwZQorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFUxCisgICAgLCB0eXBlbmFtZSBVMiwgdHlwZW5hbWUgVTMsIHR5cGVuYW1lIFU0LCB0eXBlbmFtZSBVNQorICAgID4KK3N0cnVjdCByZXNvbHZlX2JpbmRfYXJnPAorICAgICAgYmluZDM8IEYsVDEsVDIsVDMgPiwgVTEsIFUyLCBVMywgVTQsIFU1CisgICAgPgoreworICAgIHR5cGVkZWYgYmluZDM8IEYsVDEsVDIsVDMgPiBmXzsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5X3dyYXA1PCBmXyxVMSxVMixVMyxVNCxVNSA+Ojp0eXBlIHR5cGU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworQk9PU1RfTVBMX0FVWF9BUklUWV9TUEVDKDQsIGJpbmQzKQorQk9PU1RfTVBMX0FVWF9URU1QTEFURV9BUklUWV9TUEVDKDQsIGJpbmQzKQorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMKKyAgICA+CitzdHJ1Y3QgYmluZDwgRixUMSxUMixUMyxuYSxuYSA+CisgICAgOiBiaW5kMzwgRixUMSxUMixUMyA+Cit7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgPgorc3RydWN0IGJpbmQ0Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVTEgPSBuYSwgdHlwZW5hbWUgVTIgPSBuYSwgdHlwZW5hbWUgVTMgPSBuYQorICAgICAgICAsIHR5cGVuYW1lIFU0ID0gbmEsIHR5cGVuYW1lIFU1ID0gbmEKKyAgICAgICAgPgorICAgIHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgcHJpdmF0ZToKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhdXg6OnJlc29sdmVfYmluZF9hcmc8IEYsVTEsVTIsVTMsVTQsVTUgPjo6dHlwZSBmXzsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IFQxLFUxLFUyLFUzLFU0LFU1ID4gdDE7CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBUMixVMSxVMixVMyxVNCxVNSA+IHQyOworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgVDMsVTEsVTIsVTMsVTQsVTUgPiB0MzsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IFQ0LFUxLFUyLFUzLFU0LFU1ID4gdDQ7CisKKyAgICAgcHVibGljOgorICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5X3dyYXA0PAorICAgICAgICAgICAgICBmXworICAgICAgICAgICAgLCB0eXBlbmFtZSB0MTo6dHlwZSwgdHlwZW5hbWUgdDI6OnR5cGUsIHR5cGVuYW1lIHQzOjp0eXBlCisgICAgICAgICAgICAsIHR5cGVuYW1lIHQ0Ojp0eXBlCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiwgdHlwZW5hbWUgVTMsIHR5cGVuYW1lIFU0LCB0eXBlbmFtZSBVNQorICAgID4KK3N0cnVjdCByZXNvbHZlX2JpbmRfYXJnPAorICAgICAgYmluZDQ8IEYsVDEsVDIsVDMsVDQgPiwgVTEsIFUyLCBVMywgVTQsIFU1CisgICAgPgoreworICAgIHR5cGVkZWYgYmluZDQ8IEYsVDEsVDIsVDMsVDQgPiBmXzsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5X3dyYXA1PCBmXyxVMSxVMixVMyxVNCxVNSA+Ojp0eXBlIHR5cGU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworQk9PU1RfTVBMX0FVWF9BUklUWV9TUEVDKDUsIGJpbmQ0KQorQk9PU1RfTVBMX0FVWF9URU1QTEFURV9BUklUWV9TUEVDKDUsIGJpbmQ0KQorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgPgorc3RydWN0IGJpbmQ8IEYsVDEsVDIsVDMsVDQsbmEgPgorICAgIDogYmluZDQ8IEYsVDEsVDIsVDMsVDQgPgoreworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUKKyAgICA+CitzdHJ1Y3QgYmluZDUKK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBVMSA9IG5hLCB0eXBlbmFtZSBVMiA9IG5hLCB0eXBlbmFtZSBVMyA9IG5hCisgICAgICAgICwgdHlwZW5hbWUgVTQgPSBuYSwgdHlwZW5hbWUgVTUgPSBuYQorICAgICAgICA+CisgICAgc3RydWN0IGFwcGx5CisgICAgeworICAgICBwcml2YXRlOgorICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgRixVMSxVMixVMyxVNCxVNSA+Ojp0eXBlIGZfOworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgVDEsVTEsVTIsVTMsVTQsVTUgPiB0MTsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IFQyLFUxLFUyLFUzLFU0LFU1ID4gdDI7CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBUMyxVMSxVMixVMyxVNCxVNSA+IHQzOworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgVDQsVTEsVTIsVTMsVTQsVTUgPiB0NDsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IFQ1LFUxLFUyLFUzLFU0LFU1ID4gdDU7CisKKyAgICAgcHVibGljOgorICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5X3dyYXA1PAorICAgICAgICAgICAgICBmXworICAgICAgICAgICAgLCB0eXBlbmFtZSB0MTo6dHlwZSwgdHlwZW5hbWUgdDI6OnR5cGUsIHR5cGVuYW1lIHQzOjp0eXBlCisgICAgICAgICAgICAsIHR5cGVuYW1lIHQ0Ojp0eXBlLCB0eXBlbmFtZSB0NTo6dHlwZQorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyLCB0eXBlbmFtZSBVMywgdHlwZW5hbWUgVTQKKyAgICAsIHR5cGVuYW1lIFU1CisgICAgPgorc3RydWN0IHJlc29sdmVfYmluZF9hcmc8CisgICAgICBiaW5kNTwgRixUMSxUMixUMyxUNCxUNSA+LCBVMSwgVTIsIFUzLCBVNCwgVTUKKyAgICA+Cit7CisgICAgdHlwZWRlZiBiaW5kNTwgRixUMSxUMixUMyxUNCxUNSA+IGZfOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHlfd3JhcDU8IGZfLFUxLFUyLFUzLFU0LFU1ID46OnR5cGUgdHlwZTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCitCT09TVF9NUExfQVVYX0FSSVRZX1NQRUMoNiwgYmluZDUpCitCT09TVF9NUExfQVVYX1RFTVBMQVRFX0FSSVRZX1NQRUMoNiwgYmluZDUpCisKKy8vLyBwcmltYXJ5IHRlbXBsYXRlIChub3QgYSBzcGVjaWFsaXphdGlvbiEpCisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1CisgICAgPgorc3RydWN0IGJpbmQKKyAgICA6IGJpbmQ1PCBGLFQxLFQyLFQzLFQ0LFQ1ID4KK3sKK307CisKKy8vLyBpZl8vZXZhbF9pZiBzcGVjaWFsaXphdGlvbnMKK3RlbXBsYXRlPCB0ZW1wbGF0ZTwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMyA+IGNsYXNzIEYsIHR5cGVuYW1lIFRhZyA+CitzdHJ1Y3QgcXVvdGUzOworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMyA+IHN0cnVjdCBpZl87CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVGFnLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzCisgICAgPgorc3RydWN0IGJpbmQzPAorICAgICAgcXVvdGUzPCBpZl8sVGFnID4KKyAgICAsIFQxLCBUMiwgVDMKKyAgICA+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVTEgPSBuYSwgdHlwZW5hbWUgVTIgPSBuYSwgdHlwZW5hbWUgVTMgPSBuYQorICAgICAgICAsIHR5cGVuYW1lIFU0ID0gbmEsIHR5cGVuYW1lIFU1ID0gbmEKKyAgICAgICAgPgorICAgIHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgcHJpdmF0ZToKKyAgICAgICAgdHlwZWRlZiBtcGw6OmFyZzwxPiBuMTsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IFQxLFUxLFUyLFUzLFU0LFU1ID4gdDE7CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBUMixVMSxVMixVMyxVNCxVNSA+IHQyOworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgVDMsVTEsVTIsVTMsVTQsVTUgPiB0MzsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBpZl88CisgICAgICAgICAgICAgIHR5cGVuYW1lIHQxOjp0eXBlCisgICAgICAgICAgICAsIHQyLCB0MworICAgICAgICAgICAgPjo6dHlwZSBmXzsKKworICAgICBwdWJsaWM6CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgZl86OnR5cGUgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8CisgICAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMyA+IGNsYXNzIEYsIHR5cGVuYW1lIFRhZworICAgID4KK3N0cnVjdCBxdW90ZTM7CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzID4gc3RydWN0IGV2YWxfaWY7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVGFnLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzCisgICAgPgorc3RydWN0IGJpbmQzPAorICAgICAgcXVvdGUzPCBldmFsX2lmLFRhZyA+CisgICAgLCBUMSwgVDIsIFQzCisgICAgPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFUxID0gbmEsIHR5cGVuYW1lIFUyID0gbmEsIHR5cGVuYW1lIFUzID0gbmEKKyAgICAgICAgLCB0eXBlbmFtZSBVNCA9IG5hLCB0eXBlbmFtZSBVNSA9IG5hCisgICAgICAgID4KKyAgICBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgIHByaXZhdGU6CisgICAgICAgIHR5cGVkZWYgbXBsOjphcmc8MT4gbjE7CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBUMSxVMSxVMixVMyxVNCxVNSA+IHQxOworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgVDIsVTEsVTIsVTMsVTQsVTUgPiB0MjsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IFQzLFUxLFUyLFUzLFU0LFU1ID4gdDM7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgZXZhbF9pZjwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgdDE6OnR5cGUKKyAgICAgICAgICAgICwgdDIsIHQzCisgICAgICAgICAgICA+Ojp0eXBlIGZfOworCisgICAgIHB1YmxpYzoKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBmXzo6dHlwZSB0eXBlOworICAgIH07Cit9OworCit9fQorCmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvZ2NjL2JpbmQuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2djYy9iaW5kLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMmNkZTVhCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2djYy9iaW5kLmhwcApAQCAtMCwwICsxLDU2MSBAQAorCisvLyBDb3B5cmlnaHQgUGV0ZXIgRGltb3YgMjAwMQorLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMS0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL2JpbmQuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiwgdHlwZW5hbWUgVTMsIHR5cGVuYW1lIFU0CisgICAgLCB0eXBlbmFtZSBVNQorICAgID4KK3N0cnVjdCByZXNvbHZlX2JpbmRfYXJnCit7CisgICAgdHlwZWRlZiBUIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQKKyAgICAsIHR5cGVuYW1lIEFyZworICAgID4KK3N0cnVjdCByZXBsYWNlX3VubmFtZWRfYXJnCit7CisgICAgdHlwZWRlZiBBcmcgbmV4dDsKKyAgICB0eXBlZGVmIFQgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgQXJnCisgICAgPgorc3RydWN0IHJlcGxhY2VfdW5uYW1lZF9hcmc8IGFyZzwgLTEgPiwgQXJnID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIEFyZzo6bmV4dCBuZXh0OworICAgIHR5cGVkZWYgQXJnIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIGludCBOLCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIsIHR5cGVuYW1lIFUzLCB0eXBlbmFtZSBVNCwgdHlwZW5hbWUgVTUKKyAgICA+CitzdHJ1Y3QgcmVzb2x2ZV9iaW5kX2FyZzwgYXJnPE4+LCBVMSwgVTIsIFUzLCBVNCwgVTUgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHlfd3JhcDU8bXBsOjphcmc8Tj4sIFUxLCBVMiwgVTMsIFU0LCBVNT46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIsIHR5cGVuYW1lIFUzLCB0eXBlbmFtZSBVNAorICAgICwgdHlwZW5hbWUgVTUKKyAgICA+CitzdHJ1Y3QgcmVzb2x2ZV9iaW5kX2FyZzwgYmluZDwgRixUMSxUMixUMyxUNCxUNSA+LCBVMSwgVTIsIFUzLCBVNCwgVTUgPgoreworICAgIHR5cGVkZWYgYmluZDwgRixUMSxUMixUMyxUNCxUNSA+IGZfOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHlfd3JhcDU8IGZfLFUxLFUyLFUzLFU0LFU1ID46OnR5cGUgdHlwZTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYKKyAgICA+CitzdHJ1Y3QgYmluZDAKK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBVMSA9IG5hLCB0eXBlbmFtZSBVMiA9IG5hLCB0eXBlbmFtZSBVMyA9IG5hCisgICAgICAgICwgdHlwZW5hbWUgVTQgPSBuYSwgdHlwZW5hbWUgVTUgPSBuYQorICAgICAgICA+CisgICAgc3RydWN0IGFwcGx5CisgICAgeworICAgICBwcml2YXRlOgorICAgICAgICB0eXBlZGVmIGF1eDo6cmVwbGFjZV91bm5hbWVkX2FyZzwgRiwgbXBsOjphcmc8MT4gPiByMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMDo6dHlwZSBhMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMDo6bmV4dCBuMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhdXg6OnJlc29sdmVfYmluZF9hcmc8IGEwLFUxLFUyLFUzLFU0LFU1ID46OnR5cGUgZl87CisgICAgICAgIC8vLworICAgICBwdWJsaWM6CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHlfd3JhcDA8CisgICAgICAgICAgICAgIGZfCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyLCB0eXBlbmFtZSBVMywgdHlwZW5hbWUgVTQKKyAgICAsIHR5cGVuYW1lIFU1CisgICAgPgorc3RydWN0IHJlc29sdmVfYmluZF9hcmc8CisgICAgICBiaW5kMDxGPiwgVTEsIFUyLCBVMywgVTQsIFU1CisgICAgPgoreworICAgIHR5cGVkZWYgYmluZDA8Rj4gZl87CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseV93cmFwNTwgZl8sVTEsVTIsVTMsVTQsVTUgPjo6dHlwZSB0eXBlOworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK0JPT1NUX01QTF9BVVhfQVJJVFlfU1BFQygxLCBiaW5kMCkKK0JPT1NUX01QTF9BVVhfVEVNUExBVEVfQVJJVFlfU1BFQygxLCBiaW5kMCkKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGCisgICAgPgorc3RydWN0IGJpbmQ8IEYsbmEsbmEsbmEsbmEsbmEgPgorICAgIDogYmluZDA8Rj4KK3sKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEKKyAgICA+CitzdHJ1Y3QgYmluZDEKK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBVMSA9IG5hLCB0eXBlbmFtZSBVMiA9IG5hLCB0eXBlbmFtZSBVMyA9IG5hCisgICAgICAgICwgdHlwZW5hbWUgVTQgPSBuYSwgdHlwZW5hbWUgVTUgPSBuYQorICAgICAgICA+CisgICAgc3RydWN0IGFwcGx5CisgICAgeworICAgICBwcml2YXRlOgorICAgICAgICB0eXBlZGVmIGF1eDo6cmVwbGFjZV91bm5hbWVkX2FyZzwgRiwgbXBsOjphcmc8MT4gPiByMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMDo6dHlwZSBhMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMDo6bmV4dCBuMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhdXg6OnJlc29sdmVfYmluZF9hcmc8IGEwLFUxLFUyLFUzLFU0LFU1ID46OnR5cGUgZl87CisgICAgICAgIC8vLworICAgICAgICB0eXBlZGVmIGF1eDo6cmVwbGFjZV91bm5hbWVkX2FyZzwgVDEsbjEgPiByMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMTo6dHlwZSBhMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMTo6bmV4dCBuMjsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IGExLFUxLFUyLFUzLFU0LFU1ID4gdDE7CisgICAgICAgIC8vLworICAgICBwdWJsaWM6CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHlfd3JhcDE8CisgICAgICAgICAgICAgIGZfCisgICAgICAgICAgICAsIHR5cGVuYW1lIHQxOjp0eXBlCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiwgdHlwZW5hbWUgVTMKKyAgICAsIHR5cGVuYW1lIFU0LCB0eXBlbmFtZSBVNQorICAgID4KK3N0cnVjdCByZXNvbHZlX2JpbmRfYXJnPAorICAgICAgYmluZDE8IEYsVDEgPiwgVTEsIFUyLCBVMywgVTQsIFU1CisgICAgPgoreworICAgIHR5cGVkZWYgYmluZDE8IEYsVDEgPiBmXzsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5X3dyYXA1PCBmXyxVMSxVMixVMyxVNCxVNSA+Ojp0eXBlIHR5cGU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworQk9PU1RfTVBMX0FVWF9BUklUWV9TUEVDKDIsIGJpbmQxKQorQk9PU1RfTVBMX0FVWF9URU1QTEFURV9BUklUWV9TUEVDKDIsIGJpbmQxKQorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxCisgICAgPgorc3RydWN0IGJpbmQ8IEYsVDEsbmEsbmEsbmEsbmEgPgorICAgIDogYmluZDE8IEYsVDEgPgoreworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIKKyAgICA+CitzdHJ1Y3QgYmluZDIKK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBVMSA9IG5hLCB0eXBlbmFtZSBVMiA9IG5hLCB0eXBlbmFtZSBVMyA9IG5hCisgICAgICAgICwgdHlwZW5hbWUgVTQgPSBuYSwgdHlwZW5hbWUgVTUgPSBuYQorICAgICAgICA+CisgICAgc3RydWN0IGFwcGx5CisgICAgeworICAgICBwcml2YXRlOgorICAgICAgICB0eXBlZGVmIGF1eDo6cmVwbGFjZV91bm5hbWVkX2FyZzwgRiwgbXBsOjphcmc8MT4gPiByMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMDo6dHlwZSBhMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMDo6bmV4dCBuMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhdXg6OnJlc29sdmVfYmluZF9hcmc8IGEwLFUxLFUyLFUzLFU0LFU1ID46OnR5cGUgZl87CisgICAgICAgIC8vLworICAgICAgICB0eXBlZGVmIGF1eDo6cmVwbGFjZV91bm5hbWVkX2FyZzwgVDEsbjEgPiByMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMTo6dHlwZSBhMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMTo6bmV4dCBuMjsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IGExLFUxLFUyLFUzLFU0LFU1ID4gdDE7CisgICAgICAgIC8vLworICAgICAgICB0eXBlZGVmIGF1eDo6cmVwbGFjZV91bm5hbWVkX2FyZzwgVDIsbjIgPiByMjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMjo6dHlwZSBhMjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMjo6bmV4dCBuMzsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IGEyLFUxLFUyLFUzLFU0LFU1ID4gdDI7CisgICAgICAgIC8vLworICAgICBwdWJsaWM6CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHlfd3JhcDI8CisgICAgICAgICAgICAgIGZfCisgICAgICAgICAgICAsIHR5cGVuYW1lIHQxOjp0eXBlLCB0eXBlbmFtZSB0Mjo6dHlwZQorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyCisgICAgLCB0eXBlbmFtZSBVMywgdHlwZW5hbWUgVTQsIHR5cGVuYW1lIFU1CisgICAgPgorc3RydWN0IHJlc29sdmVfYmluZF9hcmc8CisgICAgICBiaW5kMjwgRixUMSxUMiA+LCBVMSwgVTIsIFUzLCBVNCwgVTUKKyAgICA+Cit7CisgICAgdHlwZWRlZiBiaW5kMjwgRixUMSxUMiA+IGZfOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHlfd3JhcDU8IGZfLFUxLFUyLFUzLFU0LFU1ID46OnR5cGUgdHlwZTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCitCT09TVF9NUExfQVVYX0FSSVRZX1NQRUMoMywgYmluZDIpCitCT09TVF9NUExfQVVYX1RFTVBMQVRFX0FSSVRZX1NQRUMoMywgYmluZDIpCisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyCisgICAgPgorc3RydWN0IGJpbmQ8IEYsVDEsVDIsbmEsbmEsbmEgPgorICAgIDogYmluZDI8IEYsVDEsVDIgPgoreworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzCisgICAgPgorc3RydWN0IGJpbmQzCit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVTEgPSBuYSwgdHlwZW5hbWUgVTIgPSBuYSwgdHlwZW5hbWUgVTMgPSBuYQorICAgICAgICAsIHR5cGVuYW1lIFU0ID0gbmEsIHR5cGVuYW1lIFU1ID0gbmEKKyAgICAgICAgPgorICAgIHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgcHJpdmF0ZToKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlcGxhY2VfdW5uYW1lZF9hcmc8IEYsIG1wbDo6YXJnPDE+ID4gcjA7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjA6OnR5cGUgYTA7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjA6Om5leHQgbjE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBhMCxVMSxVMixVMyxVNCxVNSA+Ojp0eXBlIGZfOworICAgICAgICAvLy8KKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlcGxhY2VfdW5uYW1lZF9hcmc8IFQxLG4xID4gcjE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjE6OnR5cGUgYTE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjE6Om5leHQgbjI7CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBhMSxVMSxVMixVMyxVNCxVNSA+IHQxOworICAgICAgICAvLy8KKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlcGxhY2VfdW5uYW1lZF9hcmc8IFQyLG4yID4gcjI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjI6OnR5cGUgYTI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjI6Om5leHQgbjM7CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBhMixVMSxVMixVMyxVNCxVNSA+IHQyOworICAgICAgICAvLy8KKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlcGxhY2VfdW5uYW1lZF9hcmc8IFQzLG4zID4gcjM7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjM6OnR5cGUgYTM7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjM6Om5leHQgbjQ7CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBhMyxVMSxVMixVMyxVNCxVNSA+IHQzOworICAgICAgICAvLy8KKyAgICAgcHVibGljOgorICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5X3dyYXAzPAorICAgICAgICAgICAgICBmXworICAgICAgICAgICAgLCB0eXBlbmFtZSB0MTo6dHlwZSwgdHlwZW5hbWUgdDI6OnR5cGUsIHR5cGVuYW1lIHQzOjp0eXBlCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVTEKKyAgICAsIHR5cGVuYW1lIFUyLCB0eXBlbmFtZSBVMywgdHlwZW5hbWUgVTQsIHR5cGVuYW1lIFU1CisgICAgPgorc3RydWN0IHJlc29sdmVfYmluZF9hcmc8CisgICAgICBiaW5kMzwgRixUMSxUMixUMyA+LCBVMSwgVTIsIFUzLCBVNCwgVTUKKyAgICA+Cit7CisgICAgdHlwZWRlZiBiaW5kMzwgRixUMSxUMixUMyA+IGZfOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHlfd3JhcDU8IGZfLFUxLFUyLFUzLFU0LFU1ID46OnR5cGUgdHlwZTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCitCT09TVF9NUExfQVVYX0FSSVRZX1NQRUMoNCwgYmluZDMpCitCT09TVF9NUExfQVVYX1RFTVBMQVRFX0FSSVRZX1NQRUMoNCwgYmluZDMpCisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMworICAgID4KK3N0cnVjdCBiaW5kPCBGLFQxLFQyLFQzLG5hLG5hID4KKyAgICA6IGJpbmQzPCBGLFQxLFQyLFQzID4KK3sKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICA+CitzdHJ1Y3QgYmluZDQKK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBVMSA9IG5hLCB0eXBlbmFtZSBVMiA9IG5hLCB0eXBlbmFtZSBVMyA9IG5hCisgICAgICAgICwgdHlwZW5hbWUgVTQgPSBuYSwgdHlwZW5hbWUgVTUgPSBuYQorICAgICAgICA+CisgICAgc3RydWN0IGFwcGx5CisgICAgeworICAgICBwcml2YXRlOgorICAgICAgICB0eXBlZGVmIGF1eDo6cmVwbGFjZV91bm5hbWVkX2FyZzwgRiwgbXBsOjphcmc8MT4gPiByMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMDo6dHlwZSBhMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMDo6bmV4dCBuMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhdXg6OnJlc29sdmVfYmluZF9hcmc8IGEwLFUxLFUyLFUzLFU0LFU1ID46OnR5cGUgZl87CisgICAgICAgIC8vLworICAgICAgICB0eXBlZGVmIGF1eDo6cmVwbGFjZV91bm5hbWVkX2FyZzwgVDEsbjEgPiByMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMTo6dHlwZSBhMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMTo6bmV4dCBuMjsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IGExLFUxLFUyLFUzLFU0LFU1ID4gdDE7CisgICAgICAgIC8vLworICAgICAgICB0eXBlZGVmIGF1eDo6cmVwbGFjZV91bm5hbWVkX2FyZzwgVDIsbjIgPiByMjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMjo6dHlwZSBhMjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMjo6bmV4dCBuMzsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IGEyLFUxLFUyLFUzLFU0LFU1ID4gdDI7CisgICAgICAgIC8vLworICAgICAgICB0eXBlZGVmIGF1eDo6cmVwbGFjZV91bm5hbWVkX2FyZzwgVDMsbjMgPiByMzsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMzo6dHlwZSBhMzsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMzo6bmV4dCBuNDsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IGEzLFUxLFUyLFUzLFU0LFU1ID4gdDM7CisgICAgICAgIC8vLworICAgICAgICB0eXBlZGVmIGF1eDo6cmVwbGFjZV91bm5hbWVkX2FyZzwgVDQsbjQgPiByNDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByNDo6dHlwZSBhNDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByNDo6bmV4dCBuNTsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IGE0LFUxLFUyLFUzLFU0LFU1ID4gdDQ7CisgICAgICAgIC8vLworICAgICBwdWJsaWM6CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHlfd3JhcDQ8CisgICAgICAgICAgICAgIGZfCisgICAgICAgICAgICAsIHR5cGVuYW1lIHQxOjp0eXBlLCB0eXBlbmFtZSB0Mjo6dHlwZSwgdHlwZW5hbWUgdDM6OnR5cGUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgdDQ6OnR5cGUKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyLCB0eXBlbmFtZSBVMywgdHlwZW5hbWUgVTQsIHR5cGVuYW1lIFU1CisgICAgPgorc3RydWN0IHJlc29sdmVfYmluZF9hcmc8CisgICAgICBiaW5kNDwgRixUMSxUMixUMyxUNCA+LCBVMSwgVTIsIFUzLCBVNCwgVTUKKyAgICA+Cit7CisgICAgdHlwZWRlZiBiaW5kNDwgRixUMSxUMixUMyxUNCA+IGZfOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHlfd3JhcDU8IGZfLFUxLFUyLFUzLFU0LFU1ID46OnR5cGUgdHlwZTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCitCT09TVF9NUExfQVVYX0FSSVRZX1NQRUMoNSwgYmluZDQpCitCT09TVF9NUExfQVVYX1RFTVBMQVRFX0FSSVRZX1NQRUMoNSwgYmluZDQpCisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICA+CitzdHJ1Y3QgYmluZDwgRixUMSxUMixUMyxUNCxuYSA+CisgICAgOiBiaW5kNDwgRixUMSxUMixUMyxUNCA+Cit7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNQorICAgID4KK3N0cnVjdCBiaW5kNQoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFUxID0gbmEsIHR5cGVuYW1lIFUyID0gbmEsIHR5cGVuYW1lIFUzID0gbmEKKyAgICAgICAgLCB0eXBlbmFtZSBVNCA9IG5hLCB0eXBlbmFtZSBVNSA9IG5hCisgICAgICAgID4KKyAgICBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgIHByaXZhdGU6CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXBsYWNlX3VubmFtZWRfYXJnPCBGLCBtcGw6OmFyZzwxPiA+IHIwOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIwOjp0eXBlIGEwOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIwOjpuZXh0IG4xOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgYTAsVTEsVTIsVTMsVTQsVTUgPjo6dHlwZSBmXzsKKyAgICAgICAgLy8vCisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXBsYWNlX3VubmFtZWRfYXJnPCBUMSxuMSA+IHIxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIxOjp0eXBlIGExOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIxOjpuZXh0IG4yOworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgYTEsVTEsVTIsVTMsVTQsVTUgPiB0MTsKKyAgICAgICAgLy8vCisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXBsYWNlX3VubmFtZWRfYXJnPCBUMixuMiA+IHIyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIyOjp0eXBlIGEyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIyOjpuZXh0IG4zOworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgYTIsVTEsVTIsVTMsVTQsVTUgPiB0MjsKKyAgICAgICAgLy8vCisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXBsYWNlX3VubmFtZWRfYXJnPCBUMyxuMyA+IHIzOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIzOjp0eXBlIGEzOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIzOjpuZXh0IG40OworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgYTMsVTEsVTIsVTMsVTQsVTUgPiB0MzsKKyAgICAgICAgLy8vCisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXBsYWNlX3VubmFtZWRfYXJnPCBUNCxuNCA+IHI0OworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHI0Ojp0eXBlIGE0OworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHI0OjpuZXh0IG41OworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgYTQsVTEsVTIsVTMsVTQsVTUgPiB0NDsKKyAgICAgICAgLy8vCisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXBsYWNlX3VubmFtZWRfYXJnPCBUNSxuNSA+IHI1OworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHI1Ojp0eXBlIGE1OworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHI1OjpuZXh0IG42OworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgYTUsVTEsVTIsVTMsVTQsVTUgPiB0NTsKKyAgICAgICAgLy8vCisgICAgIHB1YmxpYzoKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseV93cmFwNTwKKyAgICAgICAgICAgICAgZl8KKyAgICAgICAgICAgICwgdHlwZW5hbWUgdDE6OnR5cGUsIHR5cGVuYW1lIHQyOjp0eXBlLCB0eXBlbmFtZSB0Mzo6dHlwZQorICAgICAgICAgICAgLCB0eXBlbmFtZSB0NDo6dHlwZSwgdHlwZW5hbWUgdDU6OnR5cGUKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiwgdHlwZW5hbWUgVTMsIHR5cGVuYW1lIFU0CisgICAgLCB0eXBlbmFtZSBVNQorICAgID4KK3N0cnVjdCByZXNvbHZlX2JpbmRfYXJnPAorICAgICAgYmluZDU8IEYsVDEsVDIsVDMsVDQsVDUgPiwgVTEsIFUyLCBVMywgVTQsIFU1CisgICAgPgoreworICAgIHR5cGVkZWYgYmluZDU8IEYsVDEsVDIsVDMsVDQsVDUgPiBmXzsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5X3dyYXA1PCBmXyxVMSxVMixVMyxVNCxVNSA+Ojp0eXBlIHR5cGU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworQk9PU1RfTVBMX0FVWF9BUklUWV9TUEVDKDYsIGJpbmQ1KQorQk9PU1RfTVBMX0FVWF9URU1QTEFURV9BUklUWV9TUEVDKDYsIGJpbmQ1KQorCisvLy8gcHJpbWFyeSB0ZW1wbGF0ZSAobm90IGEgc3BlY2lhbGl6YXRpb24hKQorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNQorICAgID4KK3N0cnVjdCBiaW5kCisgICAgOiBiaW5kNTwgRixUMSxUMixUMyxUNCxUNSA+Cit7Cit9OworCisvLy8gaWZfL2V2YWxfaWYgc3BlY2lhbGl6YXRpb25zCit0ZW1wbGF0ZTwgdGVtcGxhdGU8IHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMgPiBjbGFzcyBGLCB0eXBlbmFtZSBUYWcgPgorc3RydWN0IHF1b3RlMzsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMgPiBzdHJ1Y3QgaWZfOworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFRhZywgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMworICAgID4KK3N0cnVjdCBiaW5kMzwKKyAgICAgIHF1b3RlMzwgaWZfLFRhZyA+CisgICAgLCBUMSwgVDIsIFQzCisgICAgPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFUxID0gbmEsIHR5cGVuYW1lIFUyID0gbmEsIHR5cGVuYW1lIFUzID0gbmEKKyAgICAgICAgLCB0eXBlbmFtZSBVNCA9IG5hLCB0eXBlbmFtZSBVNSA9IG5hCisgICAgICAgID4KKyAgICBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgIHByaXZhdGU6CisgICAgICAgIHR5cGVkZWYgbXBsOjphcmc8MT4gbjE7CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXBsYWNlX3VubmFtZWRfYXJnPCBUMSxuMSA+IHIxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIxOjp0eXBlIGExOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIxOjpuZXh0IG4yOworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgYTEsVTEsVTIsVTMsVTQsVTUgPiB0MTsKKyAgICAgICAgLy8vCisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXBsYWNlX3VubmFtZWRfYXJnPCBUMixuMiA+IHIyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIyOjp0eXBlIGEyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIyOjpuZXh0IG4zOworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgYTIsVTEsVTIsVTMsVTQsVTUgPiB0MjsKKyAgICAgICAgLy8vCisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXBsYWNlX3VubmFtZWRfYXJnPCBUMyxuMyA+IHIzOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIzOjp0eXBlIGEzOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIzOjpuZXh0IG40OworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgYTMsVTEsVTIsVTMsVTQsVTUgPiB0MzsKKyAgICAgICAgLy8vCisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgaWZfPAorICAgICAgICAgICAgICB0eXBlbmFtZSB0MTo6dHlwZQorICAgICAgICAgICAgLCB0MiwgdDMKKyAgICAgICAgICAgID46OnR5cGUgZl87CisKKyAgICAgcHVibGljOgorICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGZfOjp0eXBlIHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMgPiBjbGFzcyBGLCB0eXBlbmFtZSBUYWcKKyAgICA+CitzdHJ1Y3QgcXVvdGUzOworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMyA+IHN0cnVjdCBldmFsX2lmOworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFRhZywgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMworICAgID4KK3N0cnVjdCBiaW5kMzwKKyAgICAgIHF1b3RlMzwgZXZhbF9pZixUYWcgPgorICAgICwgVDEsIFQyLCBUMworICAgID4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBVMSA9IG5hLCB0eXBlbmFtZSBVMiA9IG5hLCB0eXBlbmFtZSBVMyA9IG5hCisgICAgICAgICwgdHlwZW5hbWUgVTQgPSBuYSwgdHlwZW5hbWUgVTUgPSBuYQorICAgICAgICA+CisgICAgc3RydWN0IGFwcGx5CisgICAgeworICAgICBwcml2YXRlOgorICAgICAgICB0eXBlZGVmIG1wbDo6YXJnPDE+IG4xOworICAgICAgICB0eXBlZGVmIGF1eDo6cmVwbGFjZV91bm5hbWVkX2FyZzwgVDEsbjEgPiByMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMTo6dHlwZSBhMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMTo6bmV4dCBuMjsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IGExLFUxLFUyLFUzLFU0LFU1ID4gdDE7CisgICAgICAgIC8vLworICAgICAgICB0eXBlZGVmIGF1eDo6cmVwbGFjZV91bm5hbWVkX2FyZzwgVDIsbjIgPiByMjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMjo6dHlwZSBhMjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMjo6bmV4dCBuMzsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IGEyLFUxLFUyLFUzLFU0LFU1ID4gdDI7CisgICAgICAgIC8vLworICAgICAgICB0eXBlZGVmIGF1eDo6cmVwbGFjZV91bm5hbWVkX2FyZzwgVDMsbjMgPiByMzsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMzo6dHlwZSBhMzsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMzo6bmV4dCBuNDsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IGEzLFUxLFUyLFUzLFU0LFU1ID4gdDM7CisgICAgICAgIC8vLworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGV2YWxfaWY8CisgICAgICAgICAgICAgIHR5cGVuYW1lIHQxOjp0eXBlCisgICAgICAgICAgICAsIHQyLCB0MworICAgICAgICAgICAgPjo6dHlwZSBmXzsKKworICAgICBwdWJsaWM6CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgZl86OnR5cGUgdHlwZTsKKyAgICB9OworfTsKKworfX0KKwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2djYy9iaW5kX2Z3ZC5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvZ2NjL2JpbmRfZndkLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45YTA0NmVlCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2djYy9iaW5kX2Z3ZC5ocHAKQEAgLTAsMCArMSw1MiBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvYmluZF9md2QuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEgPSBuYSwgdHlwZW5hbWUgVDIgPSBuYSwgdHlwZW5hbWUgVDMgPSBuYQorICAgICwgdHlwZW5hbWUgVDQgPSBuYSwgdHlwZW5hbWUgVDUgPSBuYQorICAgID4KK3N0cnVjdCBiaW5kOworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYKKyAgICA+CitzdHJ1Y3QgYmluZDA7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEKKyAgICA+CitzdHJ1Y3QgYmluZDE7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyCisgICAgPgorc3RydWN0IGJpbmQyOworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMKKyAgICA+CitzdHJ1Y3QgYmluZDM7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICA+CitzdHJ1Y3QgYmluZDQ7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1CisgICAgPgorc3RydWN0IGJpbmQ1OworCit9fQorCmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvZ2NjL2JpdGFuZC5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvZ2NjL2JpdGFuZC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTBlODU5MwotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9nY2MvYml0YW5kLmhwcApAQCAtMCwwICsxLDE0NyBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vIENvcHlyaWdodCBKYWFwIFN1dGVyIDIwMDMKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvYml0YW5kLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFRhZzEKKyAgICAsIHR5cGVuYW1lIFRhZzIKKyAgICA+CitzdHJ1Y3QgYml0YW5kX2ltcGwKKyAgICA6IGlmX2M8CisgICAgICAgICAgKCBCT09TVF9NUExfQVVYX05FU1RFRF9WQUxVRV9XS05EKGludCwgVGFnMSkKKyAgICAgICAgICAgICAgPiBCT09TVF9NUExfQVVYX05FU1RFRF9WQUxVRV9XS05EKGludCwgVGFnMikKKyAgICAgICAgICAgICkKKworICAgICAgICAsIGF1eDo6Y2FzdDJuZF9pbXBsPCBiaXRhbmRfaW1wbDwgVGFnMSxUYWcxID4sVGFnMSwgVGFnMiA+CisgICAgICAgICwgYXV4OjpjYXN0MXN0X2ltcGw8IGJpdGFuZF9pbXBsPCBUYWcyLFRhZzIgPixUYWcxLCBUYWcyID4KKyAgICAgICAgPjo6dHlwZQoreworfTsKKworLy8vIGZvciBEaWdpdGFsIE1hcnMgQysrL2NvbXBpbGVycyB3aXRoIG5vIENUUFMvVFRQIHN1cHBvcnQKK3RlbXBsYXRlPD4gc3RydWN0IGJpdGFuZF9pbXBsPCBuYSxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFRhZyA+IHN0cnVjdCBiaXRhbmRfaW1wbDwgbmEsVGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVGFnID4gc3RydWN0IGJpdGFuZF9pbXBsPCBUYWcsbmEgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUID4gc3RydWN0IGJpdGFuZF90YWcKK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIFQ6OnRhZyB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4xKQorICAgICwgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMikKKyAgICAsIHR5cGVuYW1lIE4zID0gbmEsIHR5cGVuYW1lIE40ID0gbmEsIHR5cGVuYW1lIE41ID0gbmEKKyAgICA+CitzdHJ1Y3QgYml0YW5kXworICAgIDogYml0YW5kXzwgYml0YW5kXzwgYml0YW5kXzwgYml0YW5kXzwgTjEsTjIgPiwgTjM+LCBOND4sIE41PgoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoCisgICAgICAgICAgNQorICAgICAgICAsIGJpdGFuZF8KKyAgICAgICAgLCAoIE4xLCBOMiwgTjMsIE40LCBONSApCisgICAgICAgICkKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgTjEsIHR5cGVuYW1lIE4yLCB0eXBlbmFtZSBOMywgdHlwZW5hbWUgTjQKKyAgICA+CitzdHJ1Y3QgYml0YW5kXzwgTjEsTjIsTjMsTjQsbmEgPgorCisgICAgOiBiaXRhbmRfPCBiaXRhbmRfPCBiaXRhbmRfPCBOMSxOMiA+LCBOMz4sIE40PgoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlRfU1BFQygKKyAgICAgICAgICA1CisgICAgICAgICwgYml0YW5kXworICAgICAgICAsICggTjEsIE4yLCBOMywgTjQsIG5hICkKKyAgICAgICAgKQorfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBOMSwgdHlwZW5hbWUgTjIsIHR5cGVuYW1lIE4zCisgICAgPgorc3RydWN0IGJpdGFuZF88IE4xLE4yLE4zLG5hLG5hID4KKworICAgIDogYml0YW5kXzwgYml0YW5kXzwgTjEsTjIgPiwgTjM+Cit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVF9TUEVDKAorICAgICAgICAgIDUKKyAgICAgICAgLCBiaXRhbmRfCisgICAgICAgICwgKCBOMSwgTjIsIE4zLCBuYSwgbmEgKQorICAgICAgICApCit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIE4xLCB0eXBlbmFtZSBOMgorICAgID4KK3N0cnVjdCBiaXRhbmRfPCBOMSxOMixuYSxuYSxuYSA+CisgICAgOiBiaXRhbmRfaW1wbDwKKyAgICAgICAgICB0eXBlbmFtZSBiaXRhbmRfdGFnPE4xPjo6dHlwZQorICAgICAgICAsIHR5cGVuYW1lIGJpdGFuZF90YWc8TjI+Ojp0eXBlCisgICAgICAgID46OnRlbXBsYXRlIGFwcGx5PCBOMSxOMiA+Ojp0eXBlCit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVF9TUEVDKAorICAgICAgICAgIDUKKyAgICAgICAgLCBiaXRhbmRfCisgICAgICAgICwgKCBOMSwgTjIsIG5hLCBuYSwgbmEgKQorICAgICAgICApCisKK307CisKK0JPT1NUX01QTF9BVVhfTkFfU1BFQzIoMiwgNSwgYml0YW5kXykKKworfX0KKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7Cit0ZW1wbGF0ZTw+CitzdHJ1Y3QgYml0YW5kX2ltcGw8IGludGVncmFsX2NfdGFnLGludGVncmFsX2NfdGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgTjEsIHR5cGVuYW1lIE4yID4gc3RydWN0IGFwcGx5CisKKyAgICAgICAgOiBpbnRlZ3JhbF9jPAorICAgICAgICAgICAgICB0eXBlbmFtZSBhdXg6Omxhcmdlc3RfaW50PAorICAgICAgICAgICAgICAgICAgdHlwZW5hbWUgTjE6OnZhbHVlX3R5cGUKKyAgICAgICAgICAgICAgICAsIHR5cGVuYW1lIE4yOjp2YWx1ZV90eXBlCisgICAgICAgICAgICAgICAgPjo6dHlwZQorICAgICAgICAgICAgLCAoIEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChOMSk6OnZhbHVlCisgICAgICAgICAgICAgICAgICAmIEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChOMik6OnZhbHVlCisgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgPgorICAgIHsKKyAgICB9OworfTsKKworfX0KZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9nY2MvYml0b3IuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2djYy9iaXRvci5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzcxYThmNAotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9nY2MvYml0b3IuaHBwCkBAIC0wLDAgKzEsMTQ3IEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8gQ29weXJpZ2h0IEphYXAgU3V0ZXIgMjAwMworLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9iaXRvci5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUYWcxCisgICAgLCB0eXBlbmFtZSBUYWcyCisgICAgPgorc3RydWN0IGJpdG9yX2ltcGwKKyAgICA6IGlmX2M8CisgICAgICAgICAgKCBCT09TVF9NUExfQVVYX05FU1RFRF9WQUxVRV9XS05EKGludCwgVGFnMSkKKyAgICAgICAgICAgICAgPiBCT09TVF9NUExfQVVYX05FU1RFRF9WQUxVRV9XS05EKGludCwgVGFnMikKKyAgICAgICAgICAgICkKKworICAgICAgICAsIGF1eDo6Y2FzdDJuZF9pbXBsPCBiaXRvcl9pbXBsPCBUYWcxLFRhZzEgPixUYWcxLCBUYWcyID4KKyAgICAgICAgLCBhdXg6OmNhc3Qxc3RfaW1wbDwgYml0b3JfaW1wbDwgVGFnMixUYWcyID4sVGFnMSwgVGFnMiA+CisgICAgICAgID46OnR5cGUKK3sKK307CisKKy8vLyBmb3IgRGlnaXRhbCBNYXJzIEMrKy9jb21waWxlcnMgd2l0aCBubyBDVFBTL1RUUCBzdXBwb3J0Cit0ZW1wbGF0ZTw+IHN0cnVjdCBiaXRvcl9pbXBsPCBuYSxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFRhZyA+IHN0cnVjdCBiaXRvcl9pbXBsPCBuYSxUYWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUYWcgPiBzdHJ1Y3QgYml0b3JfaW1wbDwgVGFnLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVCA+IHN0cnVjdCBiaXRvcl90YWcKK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIFQ6OnRhZyB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4xKQorICAgICwgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMikKKyAgICAsIHR5cGVuYW1lIE4zID0gbmEsIHR5cGVuYW1lIE40ID0gbmEsIHR5cGVuYW1lIE41ID0gbmEKKyAgICA+CitzdHJ1Y3QgYml0b3JfCisgICAgOiBiaXRvcl88IGJpdG9yXzwgYml0b3JfPCBiaXRvcl88IE4xLE4yID4sIE4zPiwgTjQ+LCBONT4KK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKAorICAgICAgICAgIDUKKyAgICAgICAgLCBiaXRvcl8KKyAgICAgICAgLCAoIE4xLCBOMiwgTjMsIE40LCBONSApCisgICAgICAgICkKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgTjEsIHR5cGVuYW1lIE4yLCB0eXBlbmFtZSBOMywgdHlwZW5hbWUgTjQKKyAgICA+CitzdHJ1Y3QgYml0b3JfPCBOMSxOMixOMyxONCxuYSA+CisKKyAgICA6IGJpdG9yXzwgYml0b3JfPCBiaXRvcl88IE4xLE4yID4sIE4zPiwgTjQ+Cit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVF9TUEVDKAorICAgICAgICAgIDUKKyAgICAgICAgLCBiaXRvcl8KKyAgICAgICAgLCAoIE4xLCBOMiwgTjMsIE40LCBuYSApCisgICAgICAgICkKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgTjEsIHR5cGVuYW1lIE4yLCB0eXBlbmFtZSBOMworICAgID4KK3N0cnVjdCBiaXRvcl88IE4xLE4yLE4zLG5hLG5hID4KKworICAgIDogYml0b3JfPCBiaXRvcl88IE4xLE4yID4sIE4zPgoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlRfU1BFQygKKyAgICAgICAgICA1CisgICAgICAgICwgYml0b3JfCisgICAgICAgICwgKCBOMSwgTjIsIE4zLCBuYSwgbmEgKQorICAgICAgICApCit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIE4xLCB0eXBlbmFtZSBOMgorICAgID4KK3N0cnVjdCBiaXRvcl88IE4xLE4yLG5hLG5hLG5hID4KKyAgICA6IGJpdG9yX2ltcGw8CisgICAgICAgICAgdHlwZW5hbWUgYml0b3JfdGFnPE4xPjo6dHlwZQorICAgICAgICAsIHR5cGVuYW1lIGJpdG9yX3RhZzxOMj46OnR5cGUKKyAgICAgICAgPjo6dGVtcGxhdGUgYXBwbHk8IE4xLE4yID46OnR5cGUKK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUX1NQRUMoCisgICAgICAgICAgNQorICAgICAgICAsIGJpdG9yXworICAgICAgICAsICggTjEsIE4yLCBuYSwgbmEsIG5hICkKKyAgICAgICAgKQorCit9OworCitCT09TVF9NUExfQVVYX05BX1NQRUMyKDIsIDUsIGJpdG9yXykKKworfX0KKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7Cit0ZW1wbGF0ZTw+CitzdHJ1Y3QgYml0b3JfaW1wbDwgaW50ZWdyYWxfY190YWcsaW50ZWdyYWxfY190YWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBOMSwgdHlwZW5hbWUgTjIgPiBzdHJ1Y3QgYXBwbHkKKworICAgICAgICA6IGludGVncmFsX2M8CisgICAgICAgICAgICAgIHR5cGVuYW1lIGF1eDo6bGFyZ2VzdF9pbnQ8CisgICAgICAgICAgICAgICAgICB0eXBlbmFtZSBOMTo6dmFsdWVfdHlwZQorICAgICAgICAgICAgICAgICwgdHlwZW5hbWUgTjI6OnZhbHVlX3R5cGUKKyAgICAgICAgICAgICAgICA+Ojp0eXBlCisgICAgICAgICAgICAsICggQk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4xKTo6dmFsdWUKKyAgICAgICAgICAgICAgICAgIHwgQk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4yKTo6dmFsdWUKKyAgICAgICAgICAgICAgICApCisgICAgICAgICAgICA+CisgICAgeworICAgIH07Cit9OworCit9fQpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2djYy9iaXR4b3IuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2djYy9iaXR4b3IuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI3ZjBjZTcKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvZ2NjL2JpdHhvci5ocHAKQEAgLTAsMCArMSwxNDcgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLyBDb3B5cmlnaHQgSmFhcCBTdXRlciAyMDAzCisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL2JpdHhvci5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUYWcxCisgICAgLCB0eXBlbmFtZSBUYWcyCisgICAgPgorc3RydWN0IGJpdHhvcl9pbXBsCisgICAgOiBpZl9jPAorICAgICAgICAgICggQk9PU1RfTVBMX0FVWF9ORVNURURfVkFMVUVfV0tORChpbnQsIFRhZzEpCisgICAgICAgICAgICAgID4gQk9PU1RfTVBMX0FVWF9ORVNURURfVkFMVUVfV0tORChpbnQsIFRhZzIpCisgICAgICAgICAgICApCisKKyAgICAgICAgLCBhdXg6OmNhc3QybmRfaW1wbDwgYml0eG9yX2ltcGw8IFRhZzEsVGFnMSA+LFRhZzEsIFRhZzIgPgorICAgICAgICAsIGF1eDo6Y2FzdDFzdF9pbXBsPCBiaXR4b3JfaW1wbDwgVGFnMixUYWcyID4sVGFnMSwgVGFnMiA+CisgICAgICAgID46OnR5cGUKK3sKK307CisKKy8vLyBmb3IgRGlnaXRhbCBNYXJzIEMrKy9jb21waWxlcnMgd2l0aCBubyBDVFBTL1RUUCBzdXBwb3J0Cit0ZW1wbGF0ZTw+IHN0cnVjdCBiaXR4b3JfaW1wbDwgbmEsbmEgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUYWcgPiBzdHJ1Y3QgYml0eG9yX2ltcGw8IG5hLFRhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFRhZyA+IHN0cnVjdCBiaXR4b3JfaW1wbDwgVGFnLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVCA+IHN0cnVjdCBiaXR4b3JfdGFnCit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBUOjp0YWcgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMSkKKyAgICAsIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjIpCisgICAgLCB0eXBlbmFtZSBOMyA9IG5hLCB0eXBlbmFtZSBONCA9IG5hLCB0eXBlbmFtZSBONSA9IG5hCisgICAgPgorc3RydWN0IGJpdHhvcl8KKyAgICA6IGJpdHhvcl88IGJpdHhvcl88IGJpdHhvcl88IGJpdHhvcl88IE4xLE4yID4sIE4zPiwgTjQ+LCBONT4KK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKAorICAgICAgICAgIDUKKyAgICAgICAgLCBiaXR4b3JfCisgICAgICAgICwgKCBOMSwgTjIsIE4zLCBONCwgTjUgKQorICAgICAgICApCit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIE4xLCB0eXBlbmFtZSBOMiwgdHlwZW5hbWUgTjMsIHR5cGVuYW1lIE40CisgICAgPgorc3RydWN0IGJpdHhvcl88IE4xLE4yLE4zLE40LG5hID4KKworICAgIDogYml0eG9yXzwgYml0eG9yXzwgYml0eG9yXzwgTjEsTjIgPiwgTjM+LCBOND4KK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUX1NQRUMoCisgICAgICAgICAgNQorICAgICAgICAsIGJpdHhvcl8KKyAgICAgICAgLCAoIE4xLCBOMiwgTjMsIE40LCBuYSApCisgICAgICAgICkKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgTjEsIHR5cGVuYW1lIE4yLCB0eXBlbmFtZSBOMworICAgID4KK3N0cnVjdCBiaXR4b3JfPCBOMSxOMixOMyxuYSxuYSA+CisKKyAgICA6IGJpdHhvcl88IGJpdHhvcl88IE4xLE4yID4sIE4zPgoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlRfU1BFQygKKyAgICAgICAgICA1CisgICAgICAgICwgYml0eG9yXworICAgICAgICAsICggTjEsIE4yLCBOMywgbmEsIG5hICkKKyAgICAgICAgKQorfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBOMSwgdHlwZW5hbWUgTjIKKyAgICA+CitzdHJ1Y3QgYml0eG9yXzwgTjEsTjIsbmEsbmEsbmEgPgorICAgIDogYml0eG9yX2ltcGw8CisgICAgICAgICAgdHlwZW5hbWUgYml0eG9yX3RhZzxOMT46OnR5cGUKKyAgICAgICAgLCB0eXBlbmFtZSBiaXR4b3JfdGFnPE4yPjo6dHlwZQorICAgICAgICA+Ojp0ZW1wbGF0ZSBhcHBseTwgTjEsTjIgPjo6dHlwZQoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlRfU1BFQygKKyAgICAgICAgICA1CisgICAgICAgICwgYml0eG9yXworICAgICAgICAsICggTjEsIE4yLCBuYSwgbmEsIG5hICkKKyAgICAgICAgKQorCit9OworCitCT09TVF9NUExfQVVYX05BX1NQRUMyKDIsIDUsIGJpdHhvcl8pCisKK319CisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgewordGVtcGxhdGU8Pgorc3RydWN0IGJpdHhvcl9pbXBsPCBpbnRlZ3JhbF9jX3RhZyxpbnRlZ3JhbF9jX3RhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIE4xLCB0eXBlbmFtZSBOMiA+IHN0cnVjdCBhcHBseQorCisgICAgICAgIDogaW50ZWdyYWxfYzwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgYXV4OjpsYXJnZXN0X2ludDwKKyAgICAgICAgICAgICAgICAgIHR5cGVuYW1lIE4xOjp2YWx1ZV90eXBlCisgICAgICAgICAgICAgICAgLCB0eXBlbmFtZSBOMjo6dmFsdWVfdHlwZQorICAgICAgICAgICAgICAgID46OnR5cGUKKyAgICAgICAgICAgICwgKCBCT09TVF9NUExfQVVYX1ZBTFVFX1dLTkQoTjEpOjp2YWx1ZQorICAgICAgICAgICAgICAgICAgXiBCT09TVF9NUExfQVVYX1ZBTFVFX1dLTkQoTjIpOjp2YWx1ZQorICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgID4KKyAgICB7CisgICAgfTsKK307CisKK319CmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvZ2NjL2RlcXVlLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9nY2MvZGVxdWUuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ2MzFmNjYKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvZ2NjL2RlcXVlLmhwcApAQCAtMCwwICsxLDMyMyBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvZGVxdWUuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAgPSBuYSwgdHlwZW5hbWUgVDEgPSBuYSwgdHlwZW5hbWUgVDIgPSBuYSwgdHlwZW5hbWUgVDMgPSBuYQorICAgICwgdHlwZW5hbWUgVDQgPSBuYSwgdHlwZW5hbWUgVDUgPSBuYSwgdHlwZW5hbWUgVDYgPSBuYSwgdHlwZW5hbWUgVDcgPSBuYQorICAgICwgdHlwZW5hbWUgVDggPSBuYSwgdHlwZW5hbWUgVDkgPSBuYSwgdHlwZW5hbWUgVDEwID0gbmEsIHR5cGVuYW1lIFQxMSA9IG5hCisgICAgLCB0eXBlbmFtZSBUMTIgPSBuYSwgdHlwZW5hbWUgVDEzID0gbmEsIHR5cGVuYW1lIFQxNCA9IG5hCisgICAgLCB0eXBlbmFtZSBUMTUgPSBuYSwgdHlwZW5hbWUgVDE2ID0gbmEsIHR5cGVuYW1lIFQxNyA9IG5hCisgICAgLCB0eXBlbmFtZSBUMTggPSBuYSwgdHlwZW5hbWUgVDE5ID0gbmEKKyAgICA+CitzdHJ1Y3QgZGVxdWU7CisKK3RlbXBsYXRlPAorICAgICAKKyAgICA+CitzdHJ1Y3QgZGVxdWU8CisgICAgICAgICAgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3IwPCAgPgoreworICAgIHR5cGVkZWYgdmVjdG9yMDwgID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAKKyAgICA+CitzdHJ1Y3QgZGVxdWU8CisgICAgICAgICAgVDAsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3IxPFQwPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTxUMD46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxCisgICAgPgorc3RydWN0IGRlcXVlPAorICAgICAgICAgIFQwLCBUMSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogdmVjdG9yMjwgVDAsVDEgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMjwgVDAsVDEgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyCisgICAgPgorc3RydWN0IGRlcXVlPAorICAgICAgICAgIFQwLCBUMSwgVDIsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogdmVjdG9yMzwgVDAsVDEsVDIgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMzwgVDAsVDEsVDIgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMworICAgID4KK3N0cnVjdCBkZXF1ZTwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHZlY3RvcjQ8IFQwLFQxLFQyLFQzID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjQ8IFQwLFQxLFQyLFQzID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgPgorc3RydWN0IGRlcXVlPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogdmVjdG9yNTwgVDAsVDEsVDIsVDMsVDQgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yNTwgVDAsVDEsVDIsVDMsVDQgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1CisgICAgPgorc3RydWN0IGRlcXVlPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogdmVjdG9yNjwgVDAsVDEsVDIsVDMsVDQsVDUgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yNjwgVDAsVDEsVDIsVDMsVDQsVDUgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNgorICAgID4KK3N0cnVjdCBkZXF1ZTwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHZlY3Rvcjc8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3Rvcjc8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3CisgICAgPgorc3RydWN0IGRlcXVlPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogdmVjdG9yODwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yODwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4CisgICAgPgorc3RydWN0IGRlcXVlPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogdmVjdG9yOTwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDggPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yOTwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDggPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgID4KK3N0cnVjdCBkZXF1ZTwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHZlY3RvcjEwPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxMDwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDkgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwCisgICAgPgorc3RydWN0IGRlcXVlPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHZlY3RvcjExPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTE8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMQorICAgID4KK3N0cnVjdCBkZXF1ZTwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogdmVjdG9yMTI8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTI8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMgorICAgID4KK3N0cnVjdCBkZXF1ZTwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHZlY3RvcjEzPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMiA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxMzwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzCisgICAgPgorc3RydWN0IGRlcXVlPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHZlY3RvcjE0PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTQ8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgID4KK3N0cnVjdCBkZXF1ZTwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogdmVjdG9yMTU8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjE1PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMsVDE0ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgLCB0eXBlbmFtZSBUMTUKKyAgICA+CitzdHJ1Y3QgZGVxdWU8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1LCBuYSwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3IxNjwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgLCBUMTUKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTY8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyxUMTQsVDE1ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNgorICAgID4KK3N0cnVjdCBkZXF1ZTwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgLCBUMTUsIFQxNiwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3IxNzwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgLCBUMTUsIFQxNgorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxNzwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzLFQxNCxUMTUsVDE2ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3CisgICAgPgorc3RydWN0IGRlcXVlPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgVDE2LCBUMTcsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3IxODwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgLCBUMTUsIFQxNiwgVDE3CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjE4PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMsVDE0LFQxNSxUMTYsVDE3ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgKKyAgICA+CitzdHJ1Y3QgZGVxdWU8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1LCBUMTYsIFQxNywgVDE4LCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3IxOTwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgLCBUMTUsIFQxNiwgVDE3LCBUMTgKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTk8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyxUMTQsVDE1LFQxNixUMTcsVDE4ID46OnR5cGUgdHlwZTsKK307CisKKy8vLyBwcmltYXJ5IHRlbXBsYXRlIChub3QgYSBzcGVjaWFsaXphdGlvbiEpCisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgID4KK3N0cnVjdCBkZXF1ZQorICAgIDogdmVjdG9yMjA8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1LCBUMTYsIFQxNywgVDE4LCBUMTkKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMjA8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyxUMTQsVDE1LFQxNixUMTcsVDE4LFQxOSA+Ojp0eXBlIHR5cGU7Cit9OworCit9fQorCmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvZ2NjL2RpdmlkZXMuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2djYy9kaXZpZGVzLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZjU0MTVjCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2djYy9kaXZpZGVzLmhwcApAQCAtMCwwICsxLDE0NiBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvZGl2aWRlcy5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUYWcxCisgICAgLCB0eXBlbmFtZSBUYWcyCisgICAgPgorc3RydWN0IGRpdmlkZXNfaW1wbAorICAgIDogaWZfYzwKKyAgICAgICAgICAoIEJPT1NUX01QTF9BVVhfTkVTVEVEX1ZBTFVFX1dLTkQoaW50LCBUYWcxKQorICAgICAgICAgICAgICA+IEJPT1NUX01QTF9BVVhfTkVTVEVEX1ZBTFVFX1dLTkQoaW50LCBUYWcyKQorICAgICAgICAgICAgKQorCisgICAgICAgICwgYXV4OjpjYXN0Mm5kX2ltcGw8IGRpdmlkZXNfaW1wbDwgVGFnMSxUYWcxID4sVGFnMSwgVGFnMiA+CisgICAgICAgICwgYXV4OjpjYXN0MXN0X2ltcGw8IGRpdmlkZXNfaW1wbDwgVGFnMixUYWcyID4sVGFnMSwgVGFnMiA+CisgICAgICAgID46OnR5cGUKK3sKK307CisKKy8vLyBmb3IgRGlnaXRhbCBNYXJzIEMrKy9jb21waWxlcnMgd2l0aCBubyBDVFBTL1RUUCBzdXBwb3J0Cit0ZW1wbGF0ZTw+IHN0cnVjdCBkaXZpZGVzX2ltcGw8IG5hLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVGFnID4gc3RydWN0IGRpdmlkZXNfaW1wbDwgbmEsVGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVGFnID4gc3RydWN0IGRpdmlkZXNfaW1wbDwgVGFnLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVCA+IHN0cnVjdCBkaXZpZGVzX3RhZworeworICAgIHR5cGVkZWYgdHlwZW5hbWUgVDo6dGFnIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjEpCisgICAgLCB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4yKQorICAgICwgdHlwZW5hbWUgTjMgPSBuYSwgdHlwZW5hbWUgTjQgPSBuYSwgdHlwZW5hbWUgTjUgPSBuYQorICAgID4KK3N0cnVjdCBkaXZpZGVzCisgICAgOiBkaXZpZGVzPCBkaXZpZGVzPCBkaXZpZGVzPCBkaXZpZGVzPCBOMSxOMiA+LCBOMz4sIE40PiwgTjU+Cit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgKKyAgICAgICAgICA1CisgICAgICAgICwgZGl2aWRlcworICAgICAgICAsICggTjEsIE4yLCBOMywgTjQsIE41ICkKKyAgICAgICAgKQorfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBOMSwgdHlwZW5hbWUgTjIsIHR5cGVuYW1lIE4zLCB0eXBlbmFtZSBONAorICAgID4KK3N0cnVjdCBkaXZpZGVzPCBOMSxOMixOMyxONCxuYSA+CisKKyAgICA6IGRpdmlkZXM8IGRpdmlkZXM8IGRpdmlkZXM8IE4xLE4yID4sIE4zPiwgTjQ+Cit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVF9TUEVDKAorICAgICAgICAgIDUKKyAgICAgICAgLCBkaXZpZGVzCisgICAgICAgICwgKCBOMSwgTjIsIE4zLCBONCwgbmEgKQorICAgICAgICApCit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIE4xLCB0eXBlbmFtZSBOMiwgdHlwZW5hbWUgTjMKKyAgICA+CitzdHJ1Y3QgZGl2aWRlczwgTjEsTjIsTjMsbmEsbmEgPgorCisgICAgOiBkaXZpZGVzPCBkaXZpZGVzPCBOMSxOMiA+LCBOMz4KK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUX1NQRUMoCisgICAgICAgICAgNQorICAgICAgICAsIGRpdmlkZXMKKyAgICAgICAgLCAoIE4xLCBOMiwgTjMsIG5hLCBuYSApCisgICAgICAgICkKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgTjEsIHR5cGVuYW1lIE4yCisgICAgPgorc3RydWN0IGRpdmlkZXM8IE4xLE4yLG5hLG5hLG5hID4KKyAgICA6IGRpdmlkZXNfaW1wbDwKKyAgICAgICAgICB0eXBlbmFtZSBkaXZpZGVzX3RhZzxOMT46OnR5cGUKKyAgICAgICAgLCB0eXBlbmFtZSBkaXZpZGVzX3RhZzxOMj46OnR5cGUKKyAgICAgICAgPjo6dGVtcGxhdGUgYXBwbHk8IE4xLE4yID46OnR5cGUKK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUX1NQRUMoCisgICAgICAgICAgNQorICAgICAgICAsIGRpdmlkZXMKKyAgICAgICAgLCAoIE4xLCBOMiwgbmEsIG5hLCBuYSApCisgICAgICAgICkKKworfTsKKworQk9PU1RfTVBMX0FVWF9OQV9TUEVDMigyLCA1LCBkaXZpZGVzKQorCit9fQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKK3RlbXBsYXRlPD4KK3N0cnVjdCBkaXZpZGVzX2ltcGw8IGludGVncmFsX2NfdGFnLGludGVncmFsX2NfdGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgTjEsIHR5cGVuYW1lIE4yID4gc3RydWN0IGFwcGx5CisKKyAgICAgICAgOiBpbnRlZ3JhbF9jPAorICAgICAgICAgICAgICB0eXBlbmFtZSBhdXg6Omxhcmdlc3RfaW50PAorICAgICAgICAgICAgICAgICAgdHlwZW5hbWUgTjE6OnZhbHVlX3R5cGUKKyAgICAgICAgICAgICAgICAsIHR5cGVuYW1lIE4yOjp2YWx1ZV90eXBlCisgICAgICAgICAgICAgICAgPjo6dHlwZQorICAgICAgICAgICAgLCAoIEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChOMSk6OnZhbHVlCisgICAgICAgICAgICAgICAgICAvIEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChOMik6OnZhbHVlCisgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgPgorICAgIHsKKyAgICB9OworfTsKKworfX0KZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9nY2MvZXF1YWxfdG8uaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2djYy9lcXVhbF90by5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGQwMmRhNAotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9nY2MvZXF1YWxfdG8uaHBwCkBAIC0wLDAgKzEsOTQgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL2VxdWFsX3RvLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFRhZzEKKyAgICAsIHR5cGVuYW1lIFRhZzIKKyAgICA+CitzdHJ1Y3QgZXF1YWxfdG9faW1wbAorICAgIDogaWZfYzwKKyAgICAgICAgICAoIEJPT1NUX01QTF9BVVhfTkVTVEVEX1ZBTFVFX1dLTkQoaW50LCBUYWcxKQorICAgICAgICAgICAgICA+IEJPT1NUX01QTF9BVVhfTkVTVEVEX1ZBTFVFX1dLTkQoaW50LCBUYWcyKQorICAgICAgICAgICAgKQorCisgICAgICAgICwgYXV4OjpjYXN0Mm5kX2ltcGw8IGVxdWFsX3RvX2ltcGw8IFRhZzEsVGFnMSA+LFRhZzEsIFRhZzIgPgorICAgICAgICAsIGF1eDo6Y2FzdDFzdF9pbXBsPCBlcXVhbF90b19pbXBsPCBUYWcyLFRhZzIgPixUYWcxLCBUYWcyID4KKyAgICAgICAgPjo6dHlwZQoreworfTsKKworLy8vIGZvciBEaWdpdGFsIE1hcnMgQysrL2NvbXBpbGVycyB3aXRoIG5vIENUUFMvVFRQIHN1cHBvcnQKK3RlbXBsYXRlPD4gc3RydWN0IGVxdWFsX3RvX2ltcGw8IG5hLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVGFnID4gc3RydWN0IGVxdWFsX3RvX2ltcGw8IG5hLFRhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFRhZyA+IHN0cnVjdCBlcXVhbF90b19pbXBsPCBUYWcsbmEgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUID4gc3RydWN0IGVxdWFsX3RvX3RhZworeworICAgIHR5cGVkZWYgdHlwZW5hbWUgVDo6dGFnIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjEpCisgICAgLCB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4yKQorICAgID4KK3N0cnVjdCBlcXVhbF90bworCisgICAgOiBlcXVhbF90b19pbXBsPAorICAgICAgICAgIHR5cGVuYW1lIGVxdWFsX3RvX3RhZzxOMT46OnR5cGUKKyAgICAgICAgLCB0eXBlbmFtZSBlcXVhbF90b190YWc8TjI+Ojp0eXBlCisgICAgICAgID46OnRlbXBsYXRlIGFwcGx5PCBOMSxOMiA+Ojp0eXBlCit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgyLCBlcXVhbF90bywgKE4xLCBOMikpCisKK307CisKK0JPT1NUX01QTF9BVVhfTkFfU1BFQzIoMiwgMiwgZXF1YWxfdG8pCisKK319CisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgZXF1YWxfdG9faW1wbDwgaW50ZWdyYWxfY190YWcsaW50ZWdyYWxfY190YWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBOMSwgdHlwZW5hbWUgTjIgPiBzdHJ1Y3QgYXBwbHkKKworICAgICAgICA6IGJvb2xfPCAoIEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChOMSk6OnZhbHVlICA9PSBCT09TVF9NUExfQVVYX1ZBTFVFX1dLTkQoTjIpOjp2YWx1ZSApID4KKyAgICB7CisgICAgfTsKK307CisKK319CmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvZ2NjL2ZvbGRfaW1wbC5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvZ2NjL2ZvbGRfaW1wbC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDk0Y2Q0MQotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9nY2MvZm9sZF9pbXBsLmhwcApAQCAtMCwwICsxLDE4MCBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvYXV4Xy9mb2xkX2ltcGwuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7IG5hbWVzcGFjZSBhdXggeworCisvLy8gZm9yd2FyZCBkZWNsYXJhdGlvbgorCit0ZW1wbGF0ZTwKKyAgICAgIGludCBOCisgICAgLCB0eXBlbmFtZSBGaXJzdAorICAgICwgdHlwZW5hbWUgTGFzdAorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgID4KK3N0cnVjdCBmb2xkX2ltcGw7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+CitzdHJ1Y3QgZm9sZF9pbXBsPCAwLEZpcnN0LExhc3QsU3RhdGUsRm9yd2FyZE9wID4KK3sKKyAgICB0eXBlZGVmIEZpcnN0IGl0ZXIwOworICAgIHR5cGVkZWYgU3RhdGUgc3RhdGUwOworICAgIHR5cGVkZWYgc3RhdGUwIHN0YXRlOworICAgIHR5cGVkZWYgaXRlcjAgaXRlcmF0b3I7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgPgorc3RydWN0IGZvbGRfaW1wbDwgMSxGaXJzdCxMYXN0LFN0YXRlLEZvcndhcmRPcCA+Cit7CisgICAgdHlwZWRlZiBGaXJzdCBpdGVyMDsKKyAgICB0eXBlZGVmIFN0YXRlIHN0YXRlMDsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLCBzdGF0ZTAsIHR5cGVuYW1lIGRlcmVmPGl0ZXIwPjo6dHlwZSA+Ojp0eXBlIHN0YXRlMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMD46OnR5cGUgaXRlcjE7CisgICAgCisKKyAgICB0eXBlZGVmIHN0YXRlMSBzdGF0ZTsKKyAgICB0eXBlZGVmIGl0ZXIxIGl0ZXJhdG9yOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGaXJzdAorICAgICwgdHlwZW5hbWUgTGFzdAorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgID4KK3N0cnVjdCBmb2xkX2ltcGw8IDIsRmlyc3QsTGFzdCxTdGF0ZSxGb3J3YXJkT3AgPgoreworICAgIHR5cGVkZWYgRmlyc3QgaXRlcjA7CisgICAgdHlwZWRlZiBTdGF0ZSBzdGF0ZTA7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCwgc3RhdGUwLCB0eXBlbmFtZSBkZXJlZjxpdGVyMD46OnR5cGUgPjo6dHlwZSBzdGF0ZTE7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjA+Ojp0eXBlIGl0ZXIxOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsIHN0YXRlMSwgdHlwZW5hbWUgZGVyZWY8aXRlcjE+Ojp0eXBlID46OnR5cGUgc3RhdGUyOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIxPjo6dHlwZSBpdGVyMjsKKyAgICAKKworICAgIHR5cGVkZWYgc3RhdGUyIHN0YXRlOworICAgIHR5cGVkZWYgaXRlcjIgaXRlcmF0b3I7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgPgorc3RydWN0IGZvbGRfaW1wbDwgMyxGaXJzdCxMYXN0LFN0YXRlLEZvcndhcmRPcCA+Cit7CisgICAgdHlwZWRlZiBGaXJzdCBpdGVyMDsKKyAgICB0eXBlZGVmIFN0YXRlIHN0YXRlMDsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLCBzdGF0ZTAsIHR5cGVuYW1lIGRlcmVmPGl0ZXIwPjo6dHlwZSA+Ojp0eXBlIHN0YXRlMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMD46OnR5cGUgaXRlcjE7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCwgc3RhdGUxLCB0eXBlbmFtZSBkZXJlZjxpdGVyMT46OnR5cGUgPjo6dHlwZSBzdGF0ZTI7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjE+Ojp0eXBlIGl0ZXIyOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsIHN0YXRlMiwgdHlwZW5hbWUgZGVyZWY8aXRlcjI+Ojp0eXBlID46OnR5cGUgc3RhdGUzOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIyPjo6dHlwZSBpdGVyMzsKKyAgICAKKworICAgIHR5cGVkZWYgc3RhdGUzIHN0YXRlOworICAgIHR5cGVkZWYgaXRlcjMgaXRlcmF0b3I7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgPgorc3RydWN0IGZvbGRfaW1wbDwgNCxGaXJzdCxMYXN0LFN0YXRlLEZvcndhcmRPcCA+Cit7CisgICAgdHlwZWRlZiBGaXJzdCBpdGVyMDsKKyAgICB0eXBlZGVmIFN0YXRlIHN0YXRlMDsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLCBzdGF0ZTAsIHR5cGVuYW1lIGRlcmVmPGl0ZXIwPjo6dHlwZSA+Ojp0eXBlIHN0YXRlMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMD46OnR5cGUgaXRlcjE7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCwgc3RhdGUxLCB0eXBlbmFtZSBkZXJlZjxpdGVyMT46OnR5cGUgPjo6dHlwZSBzdGF0ZTI7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjE+Ojp0eXBlIGl0ZXIyOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsIHN0YXRlMiwgdHlwZW5hbWUgZGVyZWY8aXRlcjI+Ojp0eXBlID46OnR5cGUgc3RhdGUzOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIyPjo6dHlwZSBpdGVyMzsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLCBzdGF0ZTMsIHR5cGVuYW1lIGRlcmVmPGl0ZXIzPjo6dHlwZSA+Ojp0eXBlIHN0YXRlNDsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMz46OnR5cGUgaXRlcjQ7CisgICAgCisKKyAgICB0eXBlZGVmIHN0YXRlNCBzdGF0ZTsKKyAgICB0eXBlZGVmIGl0ZXI0IGl0ZXJhdG9yOworfTsKKwordGVtcGxhdGU8CisgICAgICBpbnQgTgorICAgICwgdHlwZW5hbWUgRmlyc3QKKyAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+CitzdHJ1Y3QgZm9sZF9pbXBsCit7CisgICAgdHlwZWRlZiBmb2xkX2ltcGw8CisgICAgICAgICAgNAorICAgICAgICAsIEZpcnN0CisgICAgICAgICwgTGFzdAorICAgICAgICAsIFN0YXRlCisgICAgICAgICwgRm9yd2FyZE9wCisgICAgICAgID4gY2h1bmtfOworCisgICAgdHlwZWRlZiBmb2xkX2ltcGw8CisgICAgICAgICAgKCAoTiAtIDQpIDwgMCA/IDAgOiBOIC0gNCApCisgICAgICAgICwgdHlwZW5hbWUgY2h1bmtfOjppdGVyYXRvcgorICAgICAgICAsIExhc3QKKyAgICAgICAgLCB0eXBlbmFtZSBjaHVua186OnN0YXRlCisgICAgICAgICwgRm9yd2FyZE9wCisgICAgICAgID4gcmVzXzsKKworICAgIHR5cGVkZWYgdHlwZW5hbWUgcmVzXzo6c3RhdGUgc3RhdGU7CisgICAgdHlwZWRlZiB0eXBlbmFtZSByZXNfOjppdGVyYXRvciBpdGVyYXRvcjsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+CitzdHJ1Y3QgZm9sZF9pbXBsPCAtMSxGaXJzdCxMYXN0LFN0YXRlLEZvcndhcmRPcCA+CisgICAgOiBmb2xkX2ltcGw8CisgICAgICAgICAgLTEKKyAgICAgICAgLCB0eXBlbmFtZSBtcGw6Om5leHQ8Rmlyc3Q+Ojp0eXBlCisgICAgICAgICwgTGFzdAorICAgICAgICAsIHR5cGVuYW1lIGFwcGx5MjxGb3J3YXJkT3AsU3RhdGUsIHR5cGVuYW1lIGRlcmVmPEZpcnN0Pjo6dHlwZT46OnR5cGUKKyAgICAgICAgLCBGb3J3YXJkT3AKKyAgICAgICAgPgoreworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBMYXN0CisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgPgorc3RydWN0IGZvbGRfaW1wbDwgLTEsTGFzdCxMYXN0LFN0YXRlLEZvcndhcmRPcCA+Cit7CisgICAgdHlwZWRlZiBTdGF0ZSBzdGF0ZTsKKyAgICB0eXBlZGVmIExhc3QgaXRlcmF0b3I7Cit9OworCit9fX0KZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9nY2MvZnVsbF9sYW1iZGEuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2djYy9mdWxsX2xhbWJkYS5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGNlYTM0MgotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9nY2MvZnVsbF9sYW1iZGEuaHBwCkBAIC0wLDAgKzEsNTU4IEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDEtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9hdXhfL2Z1bGxfbGFtYmRhLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8CisgICAgICBib29sIEMxID0gZmFsc2UsIGJvb2wgQzIgPSBmYWxzZSwgYm9vbCBDMyA9IGZhbHNlLCBib29sIEM0ID0gZmFsc2UKKyAgICAsIGJvb2wgQzUgPSBmYWxzZQorICAgID4KK3N0cnVjdCBsYW1iZGFfb3IKKyAgICA6IHRydWVfCit7Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgbGFtYmRhX29yPCBmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSA+CisgICAgOiBmYWxzZV8KK3sKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQKKyAgICAsIHR5cGVuYW1lIFRhZworICAgICwgdHlwZW5hbWUgQXJpdHkKKyAgICA+CitzdHJ1Y3QgbGFtYmRhCit7CisgICAgdHlwZWRlZiBmYWxzZV8gaXNfbGU7CisgICAgdHlwZWRlZiBUIHJlc3VsdF87CisgICAgdHlwZWRlZiBUIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQKKyAgICA+CitzdHJ1Y3QgaXNfbGFtYmRhX2V4cHJlc3Npb24KKyAgICA6IGxhbWJkYTxUPjo6aXNfbGUKK3sKK307CisKK3RlbXBsYXRlPCBpbnQgTiwgdHlwZW5hbWUgVGFnID4KK3N0cnVjdCBsYW1iZGE8IGFyZzxOPixUYWcsIGludF88IC0xID4gPgoreworICAgIHR5cGVkZWYgdHJ1ZV8gaXNfbGU7CisgICAgdHlwZWRlZiBtcGw6OmFyZzxOPiByZXN1bHRfOyAvLyBxdWFsaWZpZWQgZm9yIHRoZSBzYWtlIG9mIE1JUFNwcm8gNy40MQorICAgIHR5cGVkZWYgbXBsOjpwcm90ZWN0PHJlc3VsdF8+IHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYKKyAgICAsIHR5cGVuYW1lIFRhZworICAgID4KK3N0cnVjdCBsYW1iZGE8CisgICAgICAgICAgYmluZDA8Rj4KKyAgICAgICAgLCBUYWcKKyAgICAgICAgLCBpbnRfPDE+CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIGZhbHNlXyBpc19sZTsKKyAgICB0eXBlZGVmIGJpbmQwPAorICAgICAgICAgIEYKKyAgICAgICAgPiByZXN1bHRfOworCisgICAgdHlwZWRlZiByZXN1bHRfIHR5cGU7Cit9OworCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBJc0xFLCB0eXBlbmFtZSBUYWcKKyAgICAsIHRlbXBsYXRlPCB0eXBlbmFtZSBQMSA+IGNsYXNzIEYKKyAgICAsIHR5cGVuYW1lIEwxCisgICAgPgorc3RydWN0IGxlX3Jlc3VsdDEKK3sKKyAgICB0eXBlZGVmIEY8CisgICAgICAgICAgdHlwZW5hbWUgTDE6OnR5cGUKKyAgICAgICAgPiByZXN1bHRfOworCisgICAgdHlwZWRlZiByZXN1bHRfIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFRhZworICAgICwgdGVtcGxhdGU8IHR5cGVuYW1lIFAxID4gY2xhc3MgRgorICAgICwgdHlwZW5hbWUgTDEKKyAgICA+CitzdHJ1Y3QgbGVfcmVzdWx0MTwgdHJ1ZV8sVGFnLEYsTDEgPgoreworICAgIHR5cGVkZWYgYmluZDE8CisgICAgICAgICAgcXVvdGUxPCBGLFRhZyA+CisgICAgICAgICwgdHlwZW5hbWUgTDE6OnJlc3VsdF8KKyAgICAgICAgPiByZXN1bHRfOworCisgICAgdHlwZWRlZiBtcGw6OnByb3RlY3Q8cmVzdWx0Xz4gdHlwZTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCit0ZW1wbGF0ZTwKKyAgICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBQMSA+IGNsYXNzIEYKKyAgICAsIHR5cGVuYW1lIFQxCisgICAgLCB0eXBlbmFtZSBUYWcKKyAgICA+CitzdHJ1Y3QgbGFtYmRhPAorICAgICAgICAgIEY8VDE+CisgICAgICAgICwgVGFnCisgICAgICAgICwgaW50XzwxPgorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiBsYW1iZGE8IFQxLFRhZyA+IGwxOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbDE6OmlzX2xlIGlzX2xlMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGF1eDo6bGFtYmRhX29yPAorICAgICAgICAgIGlzX2xlMTo6dmFsdWUKKyAgICAgICAgPjo6dHlwZSBpc19sZTsKKworICAgIHR5cGVkZWYgYXV4OjpsZV9yZXN1bHQxPAorICAgICAgICAgIGlzX2xlLCBUYWcsIEYsIGwxCisgICAgICAgID4gbGVfcmVzdWx0XzsKKworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGVfcmVzdWx0Xzo6cmVzdWx0XyByZXN1bHRfOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGVfcmVzdWx0Xzo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMQorICAgICwgdHlwZW5hbWUgVGFnCisgICAgPgorc3RydWN0IGxhbWJkYTwKKyAgICAgICAgICBiaW5kMTwgRixUMSA+CisgICAgICAgICwgVGFnCisgICAgICAgICwgaW50XzwyPgorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiBmYWxzZV8gaXNfbGU7CisgICAgdHlwZWRlZiBiaW5kMTwKKyAgICAgICAgICBGCisgICAgICAgICwgVDEKKyAgICAgICAgPiByZXN1bHRfOworCisgICAgdHlwZWRlZiByZXN1bHRfIHR5cGU7Cit9OworCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBJc0xFLCB0eXBlbmFtZSBUYWcKKyAgICAsIHRlbXBsYXRlPCB0eXBlbmFtZSBQMSwgdHlwZW5hbWUgUDIgPiBjbGFzcyBGCisgICAgLCB0eXBlbmFtZSBMMSwgdHlwZW5hbWUgTDIKKyAgICA+CitzdHJ1Y3QgbGVfcmVzdWx0MgoreworICAgIHR5cGVkZWYgRjwKKyAgICAgICAgICB0eXBlbmFtZSBMMTo6dHlwZSwgdHlwZW5hbWUgTDI6OnR5cGUKKyAgICAgICAgPiByZXN1bHRfOworCisgICAgdHlwZWRlZiByZXN1bHRfIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFRhZworICAgICwgdGVtcGxhdGU8IHR5cGVuYW1lIFAxLCB0eXBlbmFtZSBQMiA+IGNsYXNzIEYKKyAgICAsIHR5cGVuYW1lIEwxLCB0eXBlbmFtZSBMMgorICAgID4KK3N0cnVjdCBsZV9yZXN1bHQyPCB0cnVlXyxUYWcsRixMMSxMMiA+Cit7CisgICAgdHlwZWRlZiBiaW5kMjwKKyAgICAgICAgICBxdW90ZTI8IEYsVGFnID4KKyAgICAgICAgLCB0eXBlbmFtZSBMMTo6cmVzdWx0XywgdHlwZW5hbWUgTDI6OnJlc3VsdF8KKyAgICAgICAgPiByZXN1bHRfOworCisgICAgdHlwZWRlZiBtcGw6OnByb3RlY3Q8cmVzdWx0Xz4gdHlwZTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCit0ZW1wbGF0ZTwKKyAgICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBQMSwgdHlwZW5hbWUgUDIgPiBjbGFzcyBGCisgICAgLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIKKyAgICAsIHR5cGVuYW1lIFRhZworICAgID4KK3N0cnVjdCBsYW1iZGE8CisgICAgICAgICAgRjwgVDEsVDIgPgorICAgICAgICAsIFRhZworICAgICAgICAsIGludF88Mj4KKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgbGFtYmRhPCBUMSxUYWcgPiBsMTsKKyAgICB0eXBlZGVmIGxhbWJkYTwgVDIsVGFnID4gbDI7CisgICAgCisgICAgdHlwZWRlZiB0eXBlbmFtZSBsMTo6aXNfbGUgaXNfbGUxOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbDI6OmlzX2xlIGlzX2xlMjsKKyAgICAKKworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXV4OjpsYW1iZGFfb3I8CisgICAgICAgICAgaXNfbGUxOjp2YWx1ZSwgaXNfbGUyOjp2YWx1ZQorICAgICAgICA+Ojp0eXBlIGlzX2xlOworCisgICAgdHlwZWRlZiBhdXg6OmxlX3Jlc3VsdDI8CisgICAgICAgICAgaXNfbGUsIFRhZywgRiwgbDEsIGwyCisgICAgICAgID4gbGVfcmVzdWx0XzsKKworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGVfcmVzdWx0Xzo6cmVzdWx0XyByZXN1bHRfOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGVfcmVzdWx0Xzo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIKKyAgICAsIHR5cGVuYW1lIFRhZworICAgID4KK3N0cnVjdCBsYW1iZGE8CisgICAgICAgICAgYmluZDI8IEYsVDEsVDIgPgorICAgICAgICAsIFRhZworICAgICAgICAsIGludF88Mz4KKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgZmFsc2VfIGlzX2xlOworICAgIHR5cGVkZWYgYmluZDI8CisgICAgICAgICAgRgorICAgICAgICAsIFQxLCBUMgorICAgICAgICA+IHJlc3VsdF87CisKKyAgICB0eXBlZGVmIHJlc3VsdF8gdHlwZTsKK307CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIElzTEUsIHR5cGVuYW1lIFRhZworICAgICwgdGVtcGxhdGU8IHR5cGVuYW1lIFAxLCB0eXBlbmFtZSBQMiwgdHlwZW5hbWUgUDMgPiBjbGFzcyBGCisgICAgLCB0eXBlbmFtZSBMMSwgdHlwZW5hbWUgTDIsIHR5cGVuYW1lIEwzCisgICAgPgorc3RydWN0IGxlX3Jlc3VsdDMKK3sKKyAgICB0eXBlZGVmIEY8CisgICAgICAgICAgdHlwZW5hbWUgTDE6OnR5cGUsIHR5cGVuYW1lIEwyOjp0eXBlLCB0eXBlbmFtZSBMMzo6dHlwZQorICAgICAgICA+IHJlc3VsdF87CisKKyAgICB0eXBlZGVmIHJlc3VsdF8gdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVGFnCisgICAgLCB0ZW1wbGF0ZTwgdHlwZW5hbWUgUDEsIHR5cGVuYW1lIFAyLCB0eXBlbmFtZSBQMyA+IGNsYXNzIEYKKyAgICAsIHR5cGVuYW1lIEwxLCB0eXBlbmFtZSBMMiwgdHlwZW5hbWUgTDMKKyAgICA+CitzdHJ1Y3QgbGVfcmVzdWx0MzwgdHJ1ZV8sVGFnLEYsTDEsTDIsTDMgPgoreworICAgIHR5cGVkZWYgYmluZDM8CisgICAgICAgICAgcXVvdGUzPCBGLFRhZyA+CisgICAgICAgICwgdHlwZW5hbWUgTDE6OnJlc3VsdF8sIHR5cGVuYW1lIEwyOjpyZXN1bHRfLCB0eXBlbmFtZSBMMzo6cmVzdWx0XworICAgICAgICA+IHJlc3VsdF87CisKKyAgICB0eXBlZGVmIG1wbDo6cHJvdGVjdDxyZXN1bHRfPiB0eXBlOworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK3RlbXBsYXRlPAorICAgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFAxLCB0eXBlbmFtZSBQMiwgdHlwZW5hbWUgUDMgPiBjbGFzcyBGCisgICAgLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzCisgICAgLCB0eXBlbmFtZSBUYWcKKyAgICA+CitzdHJ1Y3QgbGFtYmRhPAorICAgICAgICAgIEY8IFQxLFQyLFQzID4KKyAgICAgICAgLCBUYWcKKyAgICAgICAgLCBpbnRfPDM+CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIGxhbWJkYTwgVDEsVGFnID4gbDE7CisgICAgdHlwZWRlZiBsYW1iZGE8IFQyLFRhZyA+IGwyOworICAgIHR5cGVkZWYgbGFtYmRhPCBUMyxUYWcgPiBsMzsKKyAgICAKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGwxOjppc19sZSBpc19sZTE7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsMjo6aXNfbGUgaXNfbGUyOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbDM6OmlzX2xlIGlzX2xlMzsKKyAgICAKKworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXV4OjpsYW1iZGFfb3I8CisgICAgICAgICAgaXNfbGUxOjp2YWx1ZSwgaXNfbGUyOjp2YWx1ZSwgaXNfbGUzOjp2YWx1ZQorICAgICAgICA+Ojp0eXBlIGlzX2xlOworCisgICAgdHlwZWRlZiBhdXg6OmxlX3Jlc3VsdDM8CisgICAgICAgICAgaXNfbGUsIFRhZywgRiwgbDEsIGwyLCBsMworICAgICAgICA+IGxlX3Jlc3VsdF87CisKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxlX3Jlc3VsdF86OnJlc3VsdF8gcmVzdWx0XzsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxlX3Jlc3VsdF86OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMworICAgICwgdHlwZW5hbWUgVGFnCisgICAgPgorc3RydWN0IGxhbWJkYTwKKyAgICAgICAgICBiaW5kMzwgRixUMSxUMixUMyA+CisgICAgICAgICwgVGFnCisgICAgICAgICwgaW50Xzw0PgorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiBmYWxzZV8gaXNfbGU7CisgICAgdHlwZWRlZiBiaW5kMzwKKyAgICAgICAgICBGCisgICAgICAgICwgVDEsIFQyLCBUMworICAgICAgICA+IHJlc3VsdF87CisKKyAgICB0eXBlZGVmIHJlc3VsdF8gdHlwZTsKK307CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIElzTEUsIHR5cGVuYW1lIFRhZworICAgICwgdGVtcGxhdGU8IHR5cGVuYW1lIFAxLCB0eXBlbmFtZSBQMiwgdHlwZW5hbWUgUDMsIHR5cGVuYW1lIFA0ID4gY2xhc3MgRgorICAgICwgdHlwZW5hbWUgTDEsIHR5cGVuYW1lIEwyLCB0eXBlbmFtZSBMMywgdHlwZW5hbWUgTDQKKyAgICA+CitzdHJ1Y3QgbGVfcmVzdWx0NAoreworICAgIHR5cGVkZWYgRjwKKyAgICAgICAgICB0eXBlbmFtZSBMMTo6dHlwZSwgdHlwZW5hbWUgTDI6OnR5cGUsIHR5cGVuYW1lIEwzOjp0eXBlCisgICAgICAgICwgdHlwZW5hbWUgTDQ6OnR5cGUKKyAgICAgICAgPiByZXN1bHRfOworCisgICAgdHlwZWRlZiByZXN1bHRfIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFRhZworICAgICwgdGVtcGxhdGU8IHR5cGVuYW1lIFAxLCB0eXBlbmFtZSBQMiwgdHlwZW5hbWUgUDMsIHR5cGVuYW1lIFA0ID4gY2xhc3MgRgorICAgICwgdHlwZW5hbWUgTDEsIHR5cGVuYW1lIEwyLCB0eXBlbmFtZSBMMywgdHlwZW5hbWUgTDQKKyAgICA+CitzdHJ1Y3QgbGVfcmVzdWx0NDwgdHJ1ZV8sVGFnLEYsTDEsTDIsTDMsTDQgPgoreworICAgIHR5cGVkZWYgYmluZDQ8CisgICAgICAgICAgcXVvdGU0PCBGLFRhZyA+CisgICAgICAgICwgdHlwZW5hbWUgTDE6OnJlc3VsdF8sIHR5cGVuYW1lIEwyOjpyZXN1bHRfLCB0eXBlbmFtZSBMMzo6cmVzdWx0XworICAgICAgICAsIHR5cGVuYW1lIEw0OjpyZXN1bHRfCisgICAgICAgID4gcmVzdWx0XzsKKworICAgIHR5cGVkZWYgbXBsOjpwcm90ZWN0PHJlc3VsdF8+IHR5cGU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKwordGVtcGxhdGU8CisgICAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgUDEsIHR5cGVuYW1lIFAyLCB0eXBlbmFtZSBQMywgdHlwZW5hbWUgUDQgPiBjbGFzcyBGCisgICAgLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVGFnCisgICAgPgorc3RydWN0IGxhbWJkYTwKKyAgICAgICAgICBGPCBUMSxUMixUMyxUNCA+CisgICAgICAgICwgVGFnCisgICAgICAgICwgaW50Xzw0PgorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiBsYW1iZGE8IFQxLFRhZyA+IGwxOworICAgIHR5cGVkZWYgbGFtYmRhPCBUMixUYWcgPiBsMjsKKyAgICB0eXBlZGVmIGxhbWJkYTwgVDMsVGFnID4gbDM7CisgICAgdHlwZWRlZiBsYW1iZGE8IFQ0LFRhZyA+IGw0OworICAgIAorICAgIHR5cGVkZWYgdHlwZW5hbWUgbDE6OmlzX2xlIGlzX2xlMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGwyOjppc19sZSBpc19sZTI7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsMzo6aXNfbGUgaXNfbGUzOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbDQ6OmlzX2xlIGlzX2xlNDsKKyAgICAKKworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXV4OjpsYW1iZGFfb3I8CisgICAgICAgICAgaXNfbGUxOjp2YWx1ZSwgaXNfbGUyOjp2YWx1ZSwgaXNfbGUzOjp2YWx1ZSwgaXNfbGU0Ojp2YWx1ZQorICAgICAgICA+Ojp0eXBlIGlzX2xlOworCisgICAgdHlwZWRlZiBhdXg6OmxlX3Jlc3VsdDQ8CisgICAgICAgICAgaXNfbGUsIFRhZywgRiwgbDEsIGwyLCBsMywgbDQKKyAgICAgICAgPiBsZV9yZXN1bHRfOworCisgICAgdHlwZWRlZiB0eXBlbmFtZSBsZV9yZXN1bHRfOjpyZXN1bHRfIHJlc3VsdF87CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsZV9yZXN1bHRfOjp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUYWcKKyAgICA+CitzdHJ1Y3QgbGFtYmRhPAorICAgICAgICAgIGJpbmQ0PCBGLFQxLFQyLFQzLFQ0ID4KKyAgICAgICAgLCBUYWcKKyAgICAgICAgLCBpbnRfPDU+CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIGZhbHNlXyBpc19sZTsKKyAgICB0eXBlZGVmIGJpbmQ0PAorICAgICAgICAgIEYKKyAgICAgICAgLCBUMSwgVDIsIFQzLCBUNAorICAgICAgICA+IHJlc3VsdF87CisKKyAgICB0eXBlZGVmIHJlc3VsdF8gdHlwZTsKK307CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIElzTEUsIHR5cGVuYW1lIFRhZworICAgICwgdGVtcGxhdGU8IHR5cGVuYW1lIFAxLCB0eXBlbmFtZSBQMiwgdHlwZW5hbWUgUDMsIHR5cGVuYW1lIFA0LCB0eXBlbmFtZSBQNSA+IGNsYXNzIEYKKyAgICAsIHR5cGVuYW1lIEwxLCB0eXBlbmFtZSBMMiwgdHlwZW5hbWUgTDMsIHR5cGVuYW1lIEw0LCB0eXBlbmFtZSBMNQorICAgID4KK3N0cnVjdCBsZV9yZXN1bHQ1Cit7CisgICAgdHlwZWRlZiBGPAorICAgICAgICAgIHR5cGVuYW1lIEwxOjp0eXBlLCB0eXBlbmFtZSBMMjo6dHlwZSwgdHlwZW5hbWUgTDM6OnR5cGUKKyAgICAgICAgLCB0eXBlbmFtZSBMNDo6dHlwZSwgdHlwZW5hbWUgTDU6OnR5cGUKKyAgICAgICAgPiByZXN1bHRfOworCisgICAgdHlwZWRlZiByZXN1bHRfIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFRhZworICAgICwgdGVtcGxhdGU8IHR5cGVuYW1lIFAxLCB0eXBlbmFtZSBQMiwgdHlwZW5hbWUgUDMsIHR5cGVuYW1lIFA0LCB0eXBlbmFtZSBQNSA+IGNsYXNzIEYKKyAgICAsIHR5cGVuYW1lIEwxLCB0eXBlbmFtZSBMMiwgdHlwZW5hbWUgTDMsIHR5cGVuYW1lIEw0LCB0eXBlbmFtZSBMNQorICAgID4KK3N0cnVjdCBsZV9yZXN1bHQ1PCB0cnVlXyxUYWcsRixMMSxMMixMMyxMNCxMNSA+Cit7CisgICAgdHlwZWRlZiBiaW5kNTwKKyAgICAgICAgICBxdW90ZTU8IEYsVGFnID4KKyAgICAgICAgLCB0eXBlbmFtZSBMMTo6cmVzdWx0XywgdHlwZW5hbWUgTDI6OnJlc3VsdF8sIHR5cGVuYW1lIEwzOjpyZXN1bHRfCisgICAgICAgICwgdHlwZW5hbWUgTDQ6OnJlc3VsdF8sIHR5cGVuYW1lIEw1OjpyZXN1bHRfCisgICAgICAgID4gcmVzdWx0XzsKKworICAgIHR5cGVkZWYgbXBsOjpwcm90ZWN0PHJlc3VsdF8+IHR5cGU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKwordGVtcGxhdGU8CisgICAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBQMSwgdHlwZW5hbWUgUDIsIHR5cGVuYW1lIFAzLCB0eXBlbmFtZSBQNAorICAgICAgICAsIHR5cGVuYW1lIFA1CisgICAgICAgID4KKyAgICAgIGNsYXNzIEYKKyAgICAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0LCB0eXBlbmFtZSBUNQorICAgICwgdHlwZW5hbWUgVGFnCisgICAgPgorc3RydWN0IGxhbWJkYTwKKyAgICAgICAgICBGPCBUMSxUMixUMyxUNCxUNSA+CisgICAgICAgICwgVGFnCisgICAgICAgICwgaW50Xzw1PgorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiBsYW1iZGE8IFQxLFRhZyA+IGwxOworICAgIHR5cGVkZWYgbGFtYmRhPCBUMixUYWcgPiBsMjsKKyAgICB0eXBlZGVmIGxhbWJkYTwgVDMsVGFnID4gbDM7CisgICAgdHlwZWRlZiBsYW1iZGE8IFQ0LFRhZyA+IGw0OworICAgIHR5cGVkZWYgbGFtYmRhPCBUNSxUYWcgPiBsNTsKKyAgICAKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGwxOjppc19sZSBpc19sZTE7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsMjo6aXNfbGUgaXNfbGUyOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbDM6OmlzX2xlIGlzX2xlMzsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGw0Ojppc19sZSBpc19sZTQ7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsNTo6aXNfbGUgaXNfbGU1OworICAgIAorCisgICAgdHlwZWRlZiB0eXBlbmFtZSBhdXg6OmxhbWJkYV9vcjwKKyAgICAgICAgICBpc19sZTE6OnZhbHVlLCBpc19sZTI6OnZhbHVlLCBpc19sZTM6OnZhbHVlLCBpc19sZTQ6OnZhbHVlCisgICAgICAgICwgaXNfbGU1Ojp2YWx1ZQorICAgICAgICA+Ojp0eXBlIGlzX2xlOworCisgICAgdHlwZWRlZiBhdXg6OmxlX3Jlc3VsdDU8CisgICAgICAgICAgaXNfbGUsIFRhZywgRiwgbDEsIGwyLCBsMywgbDQsIGw1CisgICAgICAgID4gbGVfcmVzdWx0XzsKKworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGVfcmVzdWx0Xzo6cmVzdWx0XyByZXN1bHRfOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGVfcmVzdWx0Xzo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUKKyAgICAsIHR5cGVuYW1lIFRhZworICAgID4KK3N0cnVjdCBsYW1iZGE8CisgICAgICAgICAgYmluZDU8IEYsVDEsVDIsVDMsVDQsVDUgPgorICAgICAgICAsIFRhZworICAgICAgICAsIGludF88Nj4KKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgZmFsc2VfIGlzX2xlOworICAgIHR5cGVkZWYgYmluZDU8CisgICAgICAgICAgRgorICAgICAgICAsIFQxLCBUMiwgVDMsIFQ0LCBUNQorICAgICAgICA+IHJlc3VsdF87CisKKyAgICB0eXBlZGVmIHJlc3VsdF8gdHlwZTsKK307CisKKy8vLyBzcGVjaWFsIGNhc2UgZm9yICdwcm90ZWN0JwordGVtcGxhdGU8IHR5cGVuYW1lIFQsIHR5cGVuYW1lIFRhZyA+CitzdHJ1Y3QgbGFtYmRhPCBtcGw6OnByb3RlY3Q8VD4sVGFnLCBpbnRfPDE+ID4KK3sKKyAgICB0eXBlZGVmIGZhbHNlXyBpc19sZTsKKyAgICB0eXBlZGVmIG1wbDo6cHJvdGVjdDxUPiByZXN1bHRfOworICAgIHR5cGVkZWYgcmVzdWx0XyB0eXBlOworfTsKKworLy8vIHNwZWNpYWxpemF0aW9ucyBmb3IgdGhlIG1haW4gJ2JpbmQnIGZvcm0KKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUKKyAgICAsIHR5cGVuYW1lIFRhZworICAgID4KK3N0cnVjdCBsYW1iZGE8CisgICAgICAgICAgYmluZDwgRixUMSxUMixUMyxUNCxUNSA+CisgICAgICAgICwgVGFnCisgICAgICAgICwgaW50Xzw2PgorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiBmYWxzZV8gaXNfbGU7CisgICAgdHlwZWRlZiBiaW5kPCBGLFQxLFQyLFQzLFQ0LFQ1ID4gcmVzdWx0XzsKKyAgICB0eXBlZGVmIHJlc3VsdF8gdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRgorICAgICwgdHlwZW5hbWUgVGFnMQorICAgICwgdHlwZW5hbWUgVGFnMgorICAgICwgdHlwZW5hbWUgQXJpdHkKKyAgICA+CitzdHJ1Y3QgbGFtYmRhPAorICAgICAgICAgIGxhbWJkYTwgRixUYWcxLEFyaXR5ID4KKyAgICAgICAgLCBUYWcyCisgICAgICAgICwgaW50XzwzPgorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiBsYW1iZGE8IEYsVGFnMiA+IGwxOworICAgIHR5cGVkZWYgbGFtYmRhPCBUYWcxLFRhZzIgPiBsMjsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGwxOjppc19sZSBpc19sZTsKKyAgICB0eXBlZGVmIGJpbmQxPCBxdW90ZTE8YXV4Ojp0ZW1wbGF0ZV9hcml0eT4sIHR5cGVuYW1lIGwxOjpyZXN1bHRfID4gYXJpdHlfOworICAgIHR5cGVkZWYgbGFtYmRhPCB0eXBlbmFtZSBpZl88IGlzX2xlLGFyaXR5XyxBcml0eSA+Ojp0eXBlLCBUYWcyID4gbDM7CisgICAgdHlwZWRlZiBhdXg6OmxlX3Jlc3VsdDM8aXNfbGUsIFRhZzIsIG1wbDo6bGFtYmRhLCBsMSwgbDIsIGwzPiBsZV9yZXN1bHRfOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGVfcmVzdWx0Xzo6cmVzdWx0XyByZXN1bHRfOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGVfcmVzdWx0Xzo6dHlwZSB0eXBlOworfTsKKworQk9PU1RfTVBMX0FVWF9OQV9TUEVDMigyLCAzLCBsYW1iZGEpCisKK319CisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9nY2MvZ3JlYXRlci5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvZ2NjL2dyZWF0ZXIuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUwNWZhM2MKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvZ2NjL2dyZWF0ZXIuaHBwCkBAIC0wLDAgKzEsOTQgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL2dyZWF0ZXIuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVGFnMQorICAgICwgdHlwZW5hbWUgVGFnMgorICAgID4KK3N0cnVjdCBncmVhdGVyX2ltcGwKKyAgICA6IGlmX2M8CisgICAgICAgICAgKCBCT09TVF9NUExfQVVYX05FU1RFRF9WQUxVRV9XS05EKGludCwgVGFnMSkKKyAgICAgICAgICAgICAgPiBCT09TVF9NUExfQVVYX05FU1RFRF9WQUxVRV9XS05EKGludCwgVGFnMikKKyAgICAgICAgICAgICkKKworICAgICAgICAsIGF1eDo6Y2FzdDJuZF9pbXBsPCBncmVhdGVyX2ltcGw8IFRhZzEsVGFnMSA+LFRhZzEsIFRhZzIgPgorICAgICAgICAsIGF1eDo6Y2FzdDFzdF9pbXBsPCBncmVhdGVyX2ltcGw8IFRhZzIsVGFnMiA+LFRhZzEsIFRhZzIgPgorICAgICAgICA+Ojp0eXBlCit7Cit9OworCisvLy8gZm9yIERpZ2l0YWwgTWFycyBDKysvY29tcGlsZXJzIHdpdGggbm8gQ1RQUy9UVFAgc3VwcG9ydAordGVtcGxhdGU8PiBzdHJ1Y3QgZ3JlYXRlcl9pbXBsPCBuYSxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFRhZyA+IHN0cnVjdCBncmVhdGVyX2ltcGw8IG5hLFRhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFRhZyA+IHN0cnVjdCBncmVhdGVyX2ltcGw8IFRhZyxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFQgPiBzdHJ1Y3QgZ3JlYXRlcl90YWcKK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIFQ6OnRhZyB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4xKQorICAgICwgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMikKKyAgICA+CitzdHJ1Y3QgZ3JlYXRlcgorCisgICAgOiBncmVhdGVyX2ltcGw8CisgICAgICAgICAgdHlwZW5hbWUgZ3JlYXRlcl90YWc8TjE+Ojp0eXBlCisgICAgICAgICwgdHlwZW5hbWUgZ3JlYXRlcl90YWc8TjI+Ojp0eXBlCisgICAgICAgID46OnRlbXBsYXRlIGFwcGx5PCBOMSxOMiA+Ojp0eXBlCit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgyLCBncmVhdGVyLCAoTjEsIE4yKSkKKworfTsKKworQk9PU1RfTVBMX0FVWF9OQV9TUEVDMigyLCAyLCBncmVhdGVyKQorCit9fQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8Pgorc3RydWN0IGdyZWF0ZXJfaW1wbDwgaW50ZWdyYWxfY190YWcsaW50ZWdyYWxfY190YWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBOMSwgdHlwZW5hbWUgTjIgPiBzdHJ1Y3QgYXBwbHkKKworICAgICAgICA6IGJvb2xfPCAoIEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChOMSk6OnZhbHVlID4gQk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4yKTo6dmFsdWUgKSA+CisgICAgeworICAgIH07Cit9OworCit9fQpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2djYy9ncmVhdGVyX2VxdWFsLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9nY2MvZ3JlYXRlcl9lcXVhbC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjg5YTU4NwotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9nY2MvZ3JlYXRlcl9lcXVhbC5ocHAKQEAgLTAsMCArMSw5NCBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvZ3JlYXRlcl9lcXVhbC5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUYWcxCisgICAgLCB0eXBlbmFtZSBUYWcyCisgICAgPgorc3RydWN0IGdyZWF0ZXJfZXF1YWxfaW1wbAorICAgIDogaWZfYzwKKyAgICAgICAgICAoIEJPT1NUX01QTF9BVVhfTkVTVEVEX1ZBTFVFX1dLTkQoaW50LCBUYWcxKQorICAgICAgICAgICAgICA+IEJPT1NUX01QTF9BVVhfTkVTVEVEX1ZBTFVFX1dLTkQoaW50LCBUYWcyKQorICAgICAgICAgICAgKQorCisgICAgICAgICwgYXV4OjpjYXN0Mm5kX2ltcGw8IGdyZWF0ZXJfZXF1YWxfaW1wbDwgVGFnMSxUYWcxID4sVGFnMSwgVGFnMiA+CisgICAgICAgICwgYXV4OjpjYXN0MXN0X2ltcGw8IGdyZWF0ZXJfZXF1YWxfaW1wbDwgVGFnMixUYWcyID4sVGFnMSwgVGFnMiA+CisgICAgICAgID46OnR5cGUKK3sKK307CisKKy8vLyBmb3IgRGlnaXRhbCBNYXJzIEMrKy9jb21waWxlcnMgd2l0aCBubyBDVFBTL1RUUCBzdXBwb3J0Cit0ZW1wbGF0ZTw+IHN0cnVjdCBncmVhdGVyX2VxdWFsX2ltcGw8IG5hLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVGFnID4gc3RydWN0IGdyZWF0ZXJfZXF1YWxfaW1wbDwgbmEsVGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVGFnID4gc3RydWN0IGdyZWF0ZXJfZXF1YWxfaW1wbDwgVGFnLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVCA+IHN0cnVjdCBncmVhdGVyX2VxdWFsX3RhZworeworICAgIHR5cGVkZWYgdHlwZW5hbWUgVDo6dGFnIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjEpCisgICAgLCB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4yKQorICAgID4KK3N0cnVjdCBncmVhdGVyX2VxdWFsCisKKyAgICA6IGdyZWF0ZXJfZXF1YWxfaW1wbDwKKyAgICAgICAgICB0eXBlbmFtZSBncmVhdGVyX2VxdWFsX3RhZzxOMT46OnR5cGUKKyAgICAgICAgLCB0eXBlbmFtZSBncmVhdGVyX2VxdWFsX3RhZzxOMj46OnR5cGUKKyAgICAgICAgPjo6dGVtcGxhdGUgYXBwbHk8IE4xLE4yID46OnR5cGUKK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKDIsIGdyZWF0ZXJfZXF1YWwsIChOMSwgTjIpKQorCit9OworCitCT09TVF9NUExfQVVYX05BX1NQRUMyKDIsIDIsIGdyZWF0ZXJfZXF1YWwpCisKK319CisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgZ3JlYXRlcl9lcXVhbF9pbXBsPCBpbnRlZ3JhbF9jX3RhZyxpbnRlZ3JhbF9jX3RhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIE4xLCB0eXBlbmFtZSBOMiA+IHN0cnVjdCBhcHBseQorCisgICAgICAgIDogYm9vbF88ICggQk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4xKTo6dmFsdWUgPj0gQk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4yKTo6dmFsdWUgKSA+CisgICAgeworICAgIH07Cit9OworCit9fQpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2djYy9pbmhlcml0LmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9nY2MvaW5oZXJpdC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDFmMzg3ZgotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9nY2MvaW5oZXJpdC5ocHAKQEAgLTAsMCArMSwxNDEgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMS0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL2luaGVyaXQuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShUMSkKKyAgICAsIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oVDIpCisgICAgPgorc3RydWN0IGluaGVyaXQyCisgICAgOiBUMSwgVDIKK3sKKyAgICB0eXBlZGVmIGluaGVyaXQyIHR5cGU7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgyLCBpbmhlcml0MiwgKFQxLCBUMikpCit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVDEgPgorc3RydWN0IGluaGVyaXQyPCBUMSxlbXB0eV9iYXNlID4KK3sKKyAgICB0eXBlZGVmIFQxIHR5cGU7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVF9TUEVDKDIsIGluaGVyaXQyLCAoVDEsIGVtcHR5X2Jhc2UpKQorfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFQyID4KK3N0cnVjdCBpbmhlcml0MjwgZW1wdHlfYmFzZSxUMiA+Cit7CisgICAgdHlwZWRlZiBUMiB0eXBlOworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlRfU1BFQygyLCBpbmhlcml0MiwgKGVtcHR5X2Jhc2UsIFQyKSkKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBpbmhlcml0MjwgZW1wdHlfYmFzZSxlbXB0eV9iYXNlID4KK3sKKyAgICB0eXBlZGVmIGVtcHR5X2Jhc2UgdHlwZTsKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUX1NQRUMoMiwgaW5oZXJpdDIsIChlbXB0eV9iYXNlLCBlbXB0eV9iYXNlKSkKK307CisKK0JPT1NUX01QTF9BVVhfTkFfU1BFQygyLCBpbmhlcml0MikKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMSA9IG5hLCB0eXBlbmFtZSBUMiA9IG5hLCB0eXBlbmFtZSBUMyA9IG5hCisgICAgPgorc3RydWN0IGluaGVyaXQzCisgICAgOiBpbmhlcml0MjwKKyAgICAgICAgICB0eXBlbmFtZSBpbmhlcml0MjwKKyAgICAgICAgICAgICAgVDEsIFQyCisgICAgICAgICAgICA+Ojp0eXBlCisgICAgICAgICwgVDMKKyAgICAgICAgPgoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoCisgICAgICAgICAgMworICAgICAgICAsIGluaGVyaXQzCisgICAgICAgICwgKCBUMSwgVDIsIFQzKQorICAgICAgICApCit9OworCitCT09TVF9NUExfQVVYX05BX1NQRUMoMywgaW5oZXJpdDMpCisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDEgPSBuYSwgdHlwZW5hbWUgVDIgPSBuYSwgdHlwZW5hbWUgVDMgPSBuYSwgdHlwZW5hbWUgVDQgPSBuYQorICAgID4KK3N0cnVjdCBpbmhlcml0NAorICAgIDogaW5oZXJpdDI8CisgICAgICAgICAgdHlwZW5hbWUgaW5oZXJpdDM8CisgICAgICAgICAgICAgIFQxLCBUMiwgVDMKKyAgICAgICAgICAgID46OnR5cGUKKyAgICAgICAgLCBUNAorICAgICAgICA+Cit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgKKyAgICAgICAgICA0CisgICAgICAgICwgaW5oZXJpdDQKKyAgICAgICAgLCAoIFQxLCBUMiwgVDMsIFQ0KQorICAgICAgICApCit9OworCitCT09TVF9NUExfQVVYX05BX1NQRUMoNCwgaW5oZXJpdDQpCisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDEgPSBuYSwgdHlwZW5hbWUgVDIgPSBuYSwgdHlwZW5hbWUgVDMgPSBuYSwgdHlwZW5hbWUgVDQgPSBuYQorICAgICwgdHlwZW5hbWUgVDUgPSBuYQorICAgID4KK3N0cnVjdCBpbmhlcml0NQorICAgIDogaW5oZXJpdDI8CisgICAgICAgICAgdHlwZW5hbWUgaW5oZXJpdDQ8CisgICAgICAgICAgICAgIFQxLCBUMiwgVDMsIFQ0CisgICAgICAgICAgICA+Ojp0eXBlCisgICAgICAgICwgVDUKKyAgICAgICAgPgoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoCisgICAgICAgICAgNQorICAgICAgICAsIGluaGVyaXQ1CisgICAgICAgICwgKCBUMSwgVDIsIFQzLCBUNCwgVDUpCisgICAgICAgICkKK307CisKK0JPT1NUX01QTF9BVVhfTkFfU1BFQyg1LCBpbmhlcml0NSkKKworLy8vIHByaW1hcnkgdGVtcGxhdGUKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMSA9IGVtcHR5X2Jhc2UsIHR5cGVuYW1lIFQyID0gZW1wdHlfYmFzZQorICAgICwgdHlwZW5hbWUgVDMgPSBlbXB0eV9iYXNlLCB0eXBlbmFtZSBUNCA9IGVtcHR5X2Jhc2UKKyAgICAsIHR5cGVuYW1lIFQ1ID0gZW1wdHlfYmFzZQorICAgID4KK3N0cnVjdCBpbmhlcml0CisgICAgOiBpbmhlcml0NTwgVDEsVDIsVDMsVDQsVDUgPgoreworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGluaGVyaXQ8IG5hLG5hLG5hLG5hLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwKKworICAgICAgICAgIHR5cGVuYW1lIFQxID0gZW1wdHlfYmFzZSwgdHlwZW5hbWUgVDIgPSBlbXB0eV9iYXNlCisgICAgICAgICwgdHlwZW5hbWUgVDMgPSBlbXB0eV9iYXNlLCB0eXBlbmFtZSBUNCA9IGVtcHR5X2Jhc2UKKyAgICAgICAgLCB0eXBlbmFtZSBUNSA9IGVtcHR5X2Jhc2UKKworICAgICAgICA+CisgICAgc3RydWN0IGFwcGx5CisgICAgICAgIDogaW5oZXJpdDwgVDEsVDIsVDMsVDQsVDUgPgorICAgIHsKKyAgICB9OworfTsKKworQk9PU1RfTVBMX0FVWF9OQV9TUEVDX0xBTUJEQSg1LCBpbmhlcml0KQorQk9PU1RfTVBMX0FVWF9OQV9TUEVDX0FSSVRZKDUsIGluaGVyaXQpCitCT09TVF9NUExfQVVYX05BX1NQRUNfVEVNUExBVEVfQVJJVFkoNSwgNSwgaW5oZXJpdCkKK319CisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9nY2MvaXRlcl9mb2xkX2lmX2ltcGwuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2djYy9pdGVyX2ZvbGRfaWZfaW1wbC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjBhMjg2NAotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9nY2MvaXRlcl9mb2xkX2lmX2ltcGwuaHBwCkBAIC0wLDAgKzEsMTMzIEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDEtMjAwNAorLy8gQ29weXJpZ2h0IERhdmlkIEFicmFoYW1zIDIwMDEtMjAwMgorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9hdXhfL2l0ZXJfZm9sZF9pZl9pbXBsLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeyBuYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8IHR5cGVuYW1lIEl0ZXJhdG9yLCB0eXBlbmFtZSBTdGF0ZSA+CitzdHJ1Y3QgaXRlcl9mb2xkX2lmX251bGxfc3RlcAoreworICAgIHR5cGVkZWYgU3RhdGUgc3RhdGU7CisgICAgdHlwZWRlZiBJdGVyYXRvciBpdGVyYXRvcjsKK307CisKK3RlbXBsYXRlPCBib29sID4KK3N0cnVjdCBpdGVyX2ZvbGRfaWZfc3RlcF9pbXBsCit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgSXRlcmF0b3IKKyAgICAgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICAgICAsIHR5cGVuYW1lIFN0YXRlT3AKKyAgICAgICAgLCB0eXBlbmFtZSBJdGVyYXRvck9wCisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IFN0YXRlT3AsU3RhdGUsSXRlcmF0b3IgPjo6dHlwZSBzdGF0ZTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBJdGVyYXRvck9wOjp0eXBlIGl0ZXJhdG9yOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgaXRlcl9mb2xkX2lmX3N0ZXBfaW1wbDxmYWxzZT4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBJdGVyYXRvcgorICAgICAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgICAgICwgdHlwZW5hbWUgU3RhdGVPcAorICAgICAgICAsIHR5cGVuYW1lIEl0ZXJhdG9yT3AKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIFN0YXRlIHN0YXRlOworICAgICAgICB0eXBlZGVmIEl0ZXJhdG9yIGl0ZXJhdG9yOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEl0ZXJhdG9yCisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgLCB0eXBlbmFtZSBQcmVkaWNhdGUKKyAgICA+CitzdHJ1Y3QgaXRlcl9mb2xkX2lmX2ZvcndhcmRfc3RlcAoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBQcmVkaWNhdGUsU3RhdGUsSXRlcmF0b3IgPjo6dHlwZSBub3RfbGFzdDsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGl0ZXJfZm9sZF9pZl9zdGVwX2ltcGw8CisgICAgICAgICAgQk9PU1RfTVBMX0FVWF9NU1ZDX1ZBTFVFX1dLTkQobm90X2xhc3QpOjp2YWx1ZQorICAgICAgICA+Ojp0ZW1wbGF0ZSByZXN1bHRfPCBJdGVyYXRvcixTdGF0ZSxGb3J3YXJkT3AsIG1wbDo6bmV4dDxJdGVyYXRvcj4gPiBpbXBsXzsKKworICAgIHR5cGVkZWYgdHlwZW5hbWUgaW1wbF86OnN0YXRlIHN0YXRlOworICAgIHR5cGVkZWYgdHlwZW5hbWUgaW1wbF86Oml0ZXJhdG9yIGl0ZXJhdG9yOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBJdGVyYXRvcgorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEJhY2t3YXJkT3AKKyAgICAsIHR5cGVuYW1lIFByZWRpY2F0ZQorICAgID4KK3N0cnVjdCBpdGVyX2ZvbGRfaWZfYmFja3dhcmRfc3RlcAoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBQcmVkaWNhdGUsU3RhdGUsSXRlcmF0b3IgPjo6dHlwZSBub3RfbGFzdDsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGl0ZXJfZm9sZF9pZl9zdGVwX2ltcGw8CisgICAgICAgICAgQk9PU1RfTVBMX0FVWF9NU1ZDX1ZBTFVFX1dLTkQobm90X2xhc3QpOjp2YWx1ZQorICAgICAgICA+Ojp0ZW1wbGF0ZSByZXN1bHRfPCBJdGVyYXRvcixTdGF0ZSxCYWNrd2FyZE9wLCBpZGVudGl0eTxJdGVyYXRvcj4gPiBpbXBsXzsKKworICAgIHR5cGVkZWYgdHlwZW5hbWUgaW1wbF86OnN0YXRlIHN0YXRlOworICAgIHR5cGVkZWYgdHlwZW5hbWUgaW1wbF86Oml0ZXJhdG9yIGl0ZXJhdG9yOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBJdGVyYXRvcgorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgICwgdHlwZW5hbWUgRm9yd2FyZFByZWRpY2F0ZQorICAgICwgdHlwZW5hbWUgQmFja3dhcmRPcAorICAgICwgdHlwZW5hbWUgQmFja3dhcmRQcmVkaWNhdGUKKyAgICA+CitzdHJ1Y3QgaXRlcl9mb2xkX2lmX2ltcGwKK3sKKyBwcml2YXRlOgorICAgIHR5cGVkZWYgaXRlcl9mb2xkX2lmX251bGxfc3RlcDwgSXRlcmF0b3IsU3RhdGUgPiBmb3J3YXJkX3N0ZXAwOworICAgIHR5cGVkZWYgaXRlcl9mb2xkX2lmX2ZvcndhcmRfc3RlcDwgdHlwZW5hbWUgZm9yd2FyZF9zdGVwMDo6aXRlcmF0b3IsIHR5cGVuYW1lIGZvcndhcmRfc3RlcDA6OnN0YXRlLCBGb3J3YXJkT3AsIEZvcndhcmRQcmVkaWNhdGUgPiBmb3J3YXJkX3N0ZXAxOworICAgIHR5cGVkZWYgaXRlcl9mb2xkX2lmX2ZvcndhcmRfc3RlcDwgdHlwZW5hbWUgZm9yd2FyZF9zdGVwMTo6aXRlcmF0b3IsIHR5cGVuYW1lIGZvcndhcmRfc3RlcDE6OnN0YXRlLCBGb3J3YXJkT3AsIEZvcndhcmRQcmVkaWNhdGUgPiBmb3J3YXJkX3N0ZXAyOworICAgIHR5cGVkZWYgaXRlcl9mb2xkX2lmX2ZvcndhcmRfc3RlcDwgdHlwZW5hbWUgZm9yd2FyZF9zdGVwMjo6aXRlcmF0b3IsIHR5cGVuYW1lIGZvcndhcmRfc3RlcDI6OnN0YXRlLCBGb3J3YXJkT3AsIEZvcndhcmRQcmVkaWNhdGUgPiBmb3J3YXJkX3N0ZXAzOworICAgIHR5cGVkZWYgaXRlcl9mb2xkX2lmX2ZvcndhcmRfc3RlcDwgdHlwZW5hbWUgZm9yd2FyZF9zdGVwMzo6aXRlcmF0b3IsIHR5cGVuYW1lIGZvcndhcmRfc3RlcDM6OnN0YXRlLCBGb3J3YXJkT3AsIEZvcndhcmRQcmVkaWNhdGUgPiBmb3J3YXJkX3N0ZXA0OworICAgIAorCisgICAgdHlwZWRlZiB0eXBlbmFtZSBpZl88CisgICAgICAgICAgdHlwZW5hbWUgZm9yd2FyZF9zdGVwNDo6bm90X2xhc3QKKyAgICAgICAgLCBpdGVyX2ZvbGRfaWZfaW1wbDwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgZm9yd2FyZF9zdGVwNDo6aXRlcmF0b3IKKyAgICAgICAgICAgICwgdHlwZW5hbWUgZm9yd2FyZF9zdGVwNDo6c3RhdGUKKyAgICAgICAgICAgICwgRm9yd2FyZE9wCisgICAgICAgICAgICAsIEZvcndhcmRQcmVkaWNhdGUKKyAgICAgICAgICAgICwgQmFja3dhcmRPcAorICAgICAgICAgICAgLCBCYWNrd2FyZFByZWRpY2F0ZQorICAgICAgICAgICAgPgorICAgICAgICAsIGl0ZXJfZm9sZF9pZl9udWxsX3N0ZXA8CisgICAgICAgICAgICAgIHR5cGVuYW1lIGZvcndhcmRfc3RlcDQ6Oml0ZXJhdG9yCisgICAgICAgICAgICAsIHR5cGVuYW1lIGZvcndhcmRfc3RlcDQ6OnN0YXRlCisgICAgICAgICAgICA+CisgICAgICAgID46OnR5cGUgYmFja3dhcmRfc3RlcDQ7CisKKyAgICB0eXBlZGVmIGl0ZXJfZm9sZF9pZl9iYWNrd2FyZF9zdGVwPCB0eXBlbmFtZSBmb3J3YXJkX3N0ZXAzOjppdGVyYXRvciwgdHlwZW5hbWUgYmFja3dhcmRfc3RlcDQ6OnN0YXRlLCBCYWNrd2FyZE9wLCBCYWNrd2FyZFByZWRpY2F0ZSA+IGJhY2t3YXJkX3N0ZXAzOworICAgIHR5cGVkZWYgaXRlcl9mb2xkX2lmX2JhY2t3YXJkX3N0ZXA8IHR5cGVuYW1lIGZvcndhcmRfc3RlcDI6Oml0ZXJhdG9yLCB0eXBlbmFtZSBiYWNrd2FyZF9zdGVwMzo6c3RhdGUsIEJhY2t3YXJkT3AsIEJhY2t3YXJkUHJlZGljYXRlID4gYmFja3dhcmRfc3RlcDI7CisgICAgdHlwZWRlZiBpdGVyX2ZvbGRfaWZfYmFja3dhcmRfc3RlcDwgdHlwZW5hbWUgZm9yd2FyZF9zdGVwMTo6aXRlcmF0b3IsIHR5cGVuYW1lIGJhY2t3YXJkX3N0ZXAyOjpzdGF0ZSwgQmFja3dhcmRPcCwgQmFja3dhcmRQcmVkaWNhdGUgPiBiYWNrd2FyZF9zdGVwMTsKKyAgICB0eXBlZGVmIGl0ZXJfZm9sZF9pZl9iYWNrd2FyZF9zdGVwPCB0eXBlbmFtZSBmb3J3YXJkX3N0ZXAwOjppdGVyYXRvciwgdHlwZW5hbWUgYmFja3dhcmRfc3RlcDE6OnN0YXRlLCBCYWNrd2FyZE9wLCBCYWNrd2FyZFByZWRpY2F0ZSA+IGJhY2t3YXJkX3N0ZXAwOworICAgIAorCisgcHVibGljOgorICAgIHR5cGVkZWYgdHlwZW5hbWUgYmFja3dhcmRfc3RlcDA6OnN0YXRlIHN0YXRlOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYmFja3dhcmRfc3RlcDQ6Oml0ZXJhdG9yIGl0ZXJhdG9yOworfTsKKworfX19CmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvZ2NjL2l0ZXJfZm9sZF9pbXBsLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9nY2MvaXRlcl9mb2xkX2ltcGwuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNjMDhiMzAKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvZ2NjL2l0ZXJfZm9sZF9pbXBsLmhwcApAQCAtMCwwICsxLDE4MCBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvYXV4Xy9pdGVyX2ZvbGRfaW1wbC5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsgbmFtZXNwYWNlIGF1eCB7CisKKy8vLyBmb3J3YXJkIGRlY2xhcmF0aW9uCisKK3RlbXBsYXRlPAorICAgICAgaW50IE4KKyAgICAsIHR5cGVuYW1lIEZpcnN0CisgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgPgorc3RydWN0IGl0ZXJfZm9sZF9pbXBsOworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgPgorc3RydWN0IGl0ZXJfZm9sZF9pbXBsPCAwLEZpcnN0LExhc3QsU3RhdGUsRm9yd2FyZE9wID4KK3sKKyAgICB0eXBlZGVmIEZpcnN0IGl0ZXIwOworICAgIHR5cGVkZWYgU3RhdGUgc3RhdGUwOworICAgIHR5cGVkZWYgc3RhdGUwIHN0YXRlOworICAgIHR5cGVkZWYgaXRlcjAgaXRlcmF0b3I7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgPgorc3RydWN0IGl0ZXJfZm9sZF9pbXBsPCAxLEZpcnN0LExhc3QsU3RhdGUsRm9yd2FyZE9wID4KK3sKKyAgICB0eXBlZGVmIEZpcnN0IGl0ZXIwOworICAgIHR5cGVkZWYgU3RhdGUgc3RhdGUwOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3Asc3RhdGUwLGl0ZXIwID46OnR5cGUgc3RhdGUxOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIwPjo6dHlwZSBpdGVyMTsKKyAgICAKKworICAgIHR5cGVkZWYgc3RhdGUxIHN0YXRlOworICAgIHR5cGVkZWYgaXRlcjEgaXRlcmF0b3I7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgPgorc3RydWN0IGl0ZXJfZm9sZF9pbXBsPCAyLEZpcnN0LExhc3QsU3RhdGUsRm9yd2FyZE9wID4KK3sKKyAgICB0eXBlZGVmIEZpcnN0IGl0ZXIwOworICAgIHR5cGVkZWYgU3RhdGUgc3RhdGUwOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3Asc3RhdGUwLGl0ZXIwID46OnR5cGUgc3RhdGUxOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIwPjo6dHlwZSBpdGVyMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLHN0YXRlMSxpdGVyMSA+Ojp0eXBlIHN0YXRlMjsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMT46OnR5cGUgaXRlcjI7CisgICAgCisKKyAgICB0eXBlZGVmIHN0YXRlMiBzdGF0ZTsKKyAgICB0eXBlZGVmIGl0ZXIyIGl0ZXJhdG9yOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGaXJzdAorICAgICwgdHlwZW5hbWUgTGFzdAorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgID4KK3N0cnVjdCBpdGVyX2ZvbGRfaW1wbDwgMyxGaXJzdCxMYXN0LFN0YXRlLEZvcndhcmRPcCA+Cit7CisgICAgdHlwZWRlZiBGaXJzdCBpdGVyMDsKKyAgICB0eXBlZGVmIFN0YXRlIHN0YXRlMDsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLHN0YXRlMCxpdGVyMCA+Ojp0eXBlIHN0YXRlMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMD46OnR5cGUgaXRlcjE7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCxzdGF0ZTEsaXRlcjEgPjo6dHlwZSBzdGF0ZTI7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjE+Ojp0eXBlIGl0ZXIyOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3Asc3RhdGUyLGl0ZXIyID46OnR5cGUgc3RhdGUzOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIyPjo6dHlwZSBpdGVyMzsKKyAgICAKKworICAgIHR5cGVkZWYgc3RhdGUzIHN0YXRlOworICAgIHR5cGVkZWYgaXRlcjMgaXRlcmF0b3I7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgPgorc3RydWN0IGl0ZXJfZm9sZF9pbXBsPCA0LEZpcnN0LExhc3QsU3RhdGUsRm9yd2FyZE9wID4KK3sKKyAgICB0eXBlZGVmIEZpcnN0IGl0ZXIwOworICAgIHR5cGVkZWYgU3RhdGUgc3RhdGUwOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3Asc3RhdGUwLGl0ZXIwID46OnR5cGUgc3RhdGUxOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIwPjo6dHlwZSBpdGVyMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLHN0YXRlMSxpdGVyMSA+Ojp0eXBlIHN0YXRlMjsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMT46OnR5cGUgaXRlcjI7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCxzdGF0ZTIsaXRlcjIgPjo6dHlwZSBzdGF0ZTM7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjI+Ojp0eXBlIGl0ZXIzOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3Asc3RhdGUzLGl0ZXIzID46OnR5cGUgc3RhdGU0OworICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIzPjo6dHlwZSBpdGVyNDsKKyAgICAKKworICAgIHR5cGVkZWYgc3RhdGU0IHN0YXRlOworICAgIHR5cGVkZWYgaXRlcjQgaXRlcmF0b3I7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIGludCBOCisgICAgLCB0eXBlbmFtZSBGaXJzdAorICAgICwgdHlwZW5hbWUgTGFzdAorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgID4KK3N0cnVjdCBpdGVyX2ZvbGRfaW1wbAoreworICAgIHR5cGVkZWYgaXRlcl9mb2xkX2ltcGw8CisgICAgICAgICAgNAorICAgICAgICAsIEZpcnN0CisgICAgICAgICwgTGFzdAorICAgICAgICAsIFN0YXRlCisgICAgICAgICwgRm9yd2FyZE9wCisgICAgICAgID4gY2h1bmtfOworCisgICAgdHlwZWRlZiBpdGVyX2ZvbGRfaW1wbDwKKyAgICAgICAgICAoIChOIC0gNCkgPCAwID8gMCA6IE4gLSA0ICkKKyAgICAgICAgLCB0eXBlbmFtZSBjaHVua186Oml0ZXJhdG9yCisgICAgICAgICwgTGFzdAorICAgICAgICAsIHR5cGVuYW1lIGNodW5rXzo6c3RhdGUKKyAgICAgICAgLCBGb3J3YXJkT3AKKyAgICAgICAgPiByZXNfOworCisgICAgdHlwZWRlZiB0eXBlbmFtZSByZXNfOjpzdGF0ZSBzdGF0ZTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHJlc186Oml0ZXJhdG9yIGl0ZXJhdG9yOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGaXJzdAorICAgICwgdHlwZW5hbWUgTGFzdAorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgID4KK3N0cnVjdCBpdGVyX2ZvbGRfaW1wbDwgLTEsRmlyc3QsTGFzdCxTdGF0ZSxGb3J3YXJkT3AgPgorICAgIDogaXRlcl9mb2xkX2ltcGw8CisgICAgICAgICAgLTEKKyAgICAgICAgLCB0eXBlbmFtZSBtcGw6Om5leHQ8Rmlyc3Q+Ojp0eXBlCisgICAgICAgICwgTGFzdAorICAgICAgICAsIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLFN0YXRlLEZpcnN0ID46OnR5cGUKKyAgICAgICAgLCBGb3J3YXJkT3AKKyAgICAgICAgPgoreworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBMYXN0CisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgPgorc3RydWN0IGl0ZXJfZm9sZF9pbXBsPCAtMSxMYXN0LExhc3QsU3RhdGUsRm9yd2FyZE9wID4KK3sKKyAgICB0eXBlZGVmIFN0YXRlIHN0YXRlOworICAgIHR5cGVkZWYgTGFzdCBpdGVyYXRvcjsKK307CisKK319fQpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2djYy9sYW1iZGFfbm9fY3Rwcy5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvZ2NjL2xhbWJkYV9ub19jdHBzLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41YmZjNjYxCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2djYy9sYW1iZGFfbm9fY3Rwcy5ocHAKQEAgLTAsMCArMSwyMjkgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL2F1eF8vbGFtYmRhX25vX2N0cHMuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwKKyAgICAgIGJvb2wgQzEgPSBmYWxzZSwgYm9vbCBDMiA9IGZhbHNlLCBib29sIEMzID0gZmFsc2UsIGJvb2wgQzQgPSBmYWxzZQorICAgICwgYm9vbCBDNSA9IGZhbHNlCisgICAgPgorc3RydWN0IGxhbWJkYV9vcgorICAgIDogdHJ1ZV8KK3sKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBsYW1iZGFfb3I8IGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlID4KKyAgICA6IGZhbHNlXworeworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIEFyaXR5ID4gc3RydWN0IGxhbWJkYV9pbXBsCit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFQsIHR5cGVuYW1lIFRhZywgdHlwZW5hbWUgUHJvdGVjdCA+IHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIFQgdHlwZTsKKyAgICAgICAgdHlwZWRlZiBpc19wbGFjZWhvbGRlcjxUPiBpc19sZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgbGFtYmRhX2ltcGw8IGludF88MT4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUYWcsIHR5cGVuYW1lIFByb3RlY3QgPiBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiBsYW1iZGE8IHR5cGVuYW1lIEY6OmFyZzEsIFRhZywgZmFsc2VfID4gbDE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbDE6OmlzX2xlIGlzX2xlMTsKKyAgICAgICAgdHlwZWRlZiBhdXg6OmxhbWJkYV9vcjwKKyAgICAgICAgICAgICAgQk9PU1RfTVBMX0FVWF9NU1ZDX1ZBTFVFX1dLTkQoaXNfbGUxKTo6dmFsdWUKKyAgICAgICAgICAgID4gaXNfbGU7CisKKyAgICAgICAgdHlwZWRlZiBiaW5kMTwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgRjo6cmViaW5kCisgICAgICAgICAgICAsIHR5cGVuYW1lIGwxOjp0eXBlCisgICAgICAgICAgICA+IGJpbmRfOworCisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgaWZfPAorICAgICAgICAgICAgICBpc19sZQorICAgICAgICAgICAgLCBpZl88IFByb3RlY3QsIG1wbDo6cHJvdGVjdDxiaW5kXz4sIGJpbmRfID4KKyAgICAgICAgICAgICwgaWRlbnRpdHk8Rj4KKyAgICAgICAgICAgID46OnR5cGUgdHlwZV87CisKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSB0eXBlXzo6dHlwZSB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCBsYW1iZGFfaW1wbDwgaW50XzwyPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIEYsIHR5cGVuYW1lIFRhZywgdHlwZW5hbWUgUHJvdGVjdCA+IHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIGxhbWJkYTwgdHlwZW5hbWUgRjo6YXJnMSwgVGFnLCBmYWxzZV8gPiBsMTsKKyAgICAgICAgdHlwZWRlZiBsYW1iZGE8IHR5cGVuYW1lIEY6OmFyZzIsIFRhZywgZmFsc2VfID4gbDI7CisgICAgICAgIAorICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGwxOjppc19sZSBpc19sZTE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbDI6OmlzX2xlIGlzX2xlMjsKKyAgICAgICAgCisKKyAgICAgICAgdHlwZWRlZiBhdXg6OmxhbWJkYV9vcjwKKyAgICAgICAgICAgICAgQk9PU1RfTVBMX0FVWF9NU1ZDX1ZBTFVFX1dLTkQoaXNfbGUxKTo6dmFsdWUsIEJPT1NUX01QTF9BVVhfTVNWQ19WQUxVRV9XS05EKGlzX2xlMik6OnZhbHVlCisgICAgICAgICAgICA+IGlzX2xlOworCisgICAgICAgIHR5cGVkZWYgYmluZDI8CisgICAgICAgICAgICAgIHR5cGVuYW1lIEY6OnJlYmluZAorICAgICAgICAgICAgLCB0eXBlbmFtZSBsMTo6dHlwZSwgdHlwZW5hbWUgbDI6OnR5cGUKKyAgICAgICAgICAgID4gYmluZF87CisKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBpZl88CisgICAgICAgICAgICAgIGlzX2xlCisgICAgICAgICAgICAsIGlmXzwgUHJvdGVjdCwgbXBsOjpwcm90ZWN0PGJpbmRfPiwgYmluZF8gPgorICAgICAgICAgICAgLCBpZGVudGl0eTxGPgorICAgICAgICAgICAgPjo6dHlwZSB0eXBlXzsKKworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHR5cGVfOjp0eXBlIHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4gc3RydWN0IGxhbWJkYV9pbXBsPCBpbnRfPDM+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVGFnLCB0eXBlbmFtZSBQcm90ZWN0ID4gc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgbGFtYmRhPCB0eXBlbmFtZSBGOjphcmcxLCBUYWcsIGZhbHNlXyA+IGwxOworICAgICAgICB0eXBlZGVmIGxhbWJkYTwgdHlwZW5hbWUgRjo6YXJnMiwgVGFnLCBmYWxzZV8gPiBsMjsKKyAgICAgICAgdHlwZWRlZiBsYW1iZGE8IHR5cGVuYW1lIEY6OmFyZzMsIFRhZywgZmFsc2VfID4gbDM7CisgICAgICAgIAorICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGwxOjppc19sZSBpc19sZTE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbDI6OmlzX2xlIGlzX2xlMjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBsMzo6aXNfbGUgaXNfbGUzOworICAgICAgICAKKworICAgICAgICB0eXBlZGVmIGF1eDo6bGFtYmRhX29yPAorICAgICAgICAgICAgICBCT09TVF9NUExfQVVYX01TVkNfVkFMVUVfV0tORChpc19sZTEpOjp2YWx1ZSwgQk9PU1RfTVBMX0FVWF9NU1ZDX1ZBTFVFX1dLTkQoaXNfbGUyKTo6dmFsdWUsIEJPT1NUX01QTF9BVVhfTVNWQ19WQUxVRV9XS05EKGlzX2xlMyk6OnZhbHVlCisgICAgICAgICAgICA+IGlzX2xlOworCisgICAgICAgIHR5cGVkZWYgYmluZDM8CisgICAgICAgICAgICAgIHR5cGVuYW1lIEY6OnJlYmluZAorICAgICAgICAgICAgLCB0eXBlbmFtZSBsMTo6dHlwZSwgdHlwZW5hbWUgbDI6OnR5cGUsIHR5cGVuYW1lIGwzOjp0eXBlCisgICAgICAgICAgICA+IGJpbmRfOworCisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgaWZfPAorICAgICAgICAgICAgICBpc19sZQorICAgICAgICAgICAgLCBpZl88IFByb3RlY3QsIG1wbDo6cHJvdGVjdDxiaW5kXz4sIGJpbmRfID4KKyAgICAgICAgICAgICwgaWRlbnRpdHk8Rj4KKyAgICAgICAgICAgID46OnR5cGUgdHlwZV87CisKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSB0eXBlXzo6dHlwZSB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCBsYW1iZGFfaW1wbDwgaW50Xzw0PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIEYsIHR5cGVuYW1lIFRhZywgdHlwZW5hbWUgUHJvdGVjdCA+IHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIGxhbWJkYTwgdHlwZW5hbWUgRjo6YXJnMSwgVGFnLCBmYWxzZV8gPiBsMTsKKyAgICAgICAgdHlwZWRlZiBsYW1iZGE8IHR5cGVuYW1lIEY6OmFyZzIsIFRhZywgZmFsc2VfID4gbDI7CisgICAgICAgIHR5cGVkZWYgbGFtYmRhPCB0eXBlbmFtZSBGOjphcmczLCBUYWcsIGZhbHNlXyA+IGwzOworICAgICAgICB0eXBlZGVmIGxhbWJkYTwgdHlwZW5hbWUgRjo6YXJnNCwgVGFnLCBmYWxzZV8gPiBsNDsKKyAgICAgICAgCisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbDE6OmlzX2xlIGlzX2xlMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBsMjo6aXNfbGUgaXNfbGUyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGwzOjppc19sZSBpc19sZTM7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbDQ6OmlzX2xlIGlzX2xlNDsKKyAgICAgICAgCisKKyAgICAgICAgdHlwZWRlZiBhdXg6OmxhbWJkYV9vcjwKKyAgICAgICAgICAgICAgQk9PU1RfTVBMX0FVWF9NU1ZDX1ZBTFVFX1dLTkQoaXNfbGUxKTo6dmFsdWUsIEJPT1NUX01QTF9BVVhfTVNWQ19WQUxVRV9XS05EKGlzX2xlMik6OnZhbHVlLCBCT09TVF9NUExfQVVYX01TVkNfVkFMVUVfV0tORChpc19sZTMpOjp2YWx1ZSwgQk9PU1RfTVBMX0FVWF9NU1ZDX1ZBTFVFX1dLTkQoaXNfbGU0KTo6dmFsdWUKKyAgICAgICAgICAgID4gaXNfbGU7CisKKyAgICAgICAgdHlwZWRlZiBiaW5kNDwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgRjo6cmViaW5kCisgICAgICAgICAgICAsIHR5cGVuYW1lIGwxOjp0eXBlLCB0eXBlbmFtZSBsMjo6dHlwZSwgdHlwZW5hbWUgbDM6OnR5cGUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgbDQ6OnR5cGUKKyAgICAgICAgICAgID4gYmluZF87CisKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBpZl88CisgICAgICAgICAgICAgIGlzX2xlCisgICAgICAgICAgICAsIGlmXzwgUHJvdGVjdCwgbXBsOjpwcm90ZWN0PGJpbmRfPiwgYmluZF8gPgorICAgICAgICAgICAgLCBpZGVudGl0eTxGPgorICAgICAgICAgICAgPjo6dHlwZSB0eXBlXzsKKworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHR5cGVfOjp0eXBlIHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4gc3RydWN0IGxhbWJkYV9pbXBsPCBpbnRfPDU+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVGFnLCB0eXBlbmFtZSBQcm90ZWN0ID4gc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgbGFtYmRhPCB0eXBlbmFtZSBGOjphcmcxLCBUYWcsIGZhbHNlXyA+IGwxOworICAgICAgICB0eXBlZGVmIGxhbWJkYTwgdHlwZW5hbWUgRjo6YXJnMiwgVGFnLCBmYWxzZV8gPiBsMjsKKyAgICAgICAgdHlwZWRlZiBsYW1iZGE8IHR5cGVuYW1lIEY6OmFyZzMsIFRhZywgZmFsc2VfID4gbDM7CisgICAgICAgIHR5cGVkZWYgbGFtYmRhPCB0eXBlbmFtZSBGOjphcmc0LCBUYWcsIGZhbHNlXyA+IGw0OworICAgICAgICB0eXBlZGVmIGxhbWJkYTwgdHlwZW5hbWUgRjo6YXJnNSwgVGFnLCBmYWxzZV8gPiBsNTsKKyAgICAgICAgCisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbDE6OmlzX2xlIGlzX2xlMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBsMjo6aXNfbGUgaXNfbGUyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGwzOjppc19sZSBpc19sZTM7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbDQ6OmlzX2xlIGlzX2xlNDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBsNTo6aXNfbGUgaXNfbGU1OworICAgICAgICAKKworICAgICAgICB0eXBlZGVmIGF1eDo6bGFtYmRhX29yPAorICAgICAgICAgICAgICBCT09TVF9NUExfQVVYX01TVkNfVkFMVUVfV0tORChpc19sZTEpOjp2YWx1ZSwgQk9PU1RfTVBMX0FVWF9NU1ZDX1ZBTFVFX1dLTkQoaXNfbGUyKTo6dmFsdWUsIEJPT1NUX01QTF9BVVhfTVNWQ19WQUxVRV9XS05EKGlzX2xlMyk6OnZhbHVlLCBCT09TVF9NUExfQVVYX01TVkNfVkFMVUVfV0tORChpc19sZTQpOjp2YWx1ZSwgQk9PU1RfTVBMX0FVWF9NU1ZDX1ZBTFVFX1dLTkQoaXNfbGU1KTo6dmFsdWUKKyAgICAgICAgICAgID4gaXNfbGU7CisKKyAgICAgICAgdHlwZWRlZiBiaW5kNTwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgRjo6cmViaW5kCisgICAgICAgICAgICAsIHR5cGVuYW1lIGwxOjp0eXBlLCB0eXBlbmFtZSBsMjo6dHlwZSwgdHlwZW5hbWUgbDM6OnR5cGUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgbDQ6OnR5cGUsIHR5cGVuYW1lIGw1Ojp0eXBlCisgICAgICAgICAgICA+IGJpbmRfOworCisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgaWZfPAorICAgICAgICAgICAgICBpc19sZQorICAgICAgICAgICAgLCBpZl88IFByb3RlY3QsIG1wbDo6cHJvdGVjdDxiaW5kXz4sIGJpbmRfID4KKyAgICAgICAgICAgICwgaWRlbnRpdHk8Rj4KKyAgICAgICAgICAgID46OnR5cGUgdHlwZV87CisKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSB0eXBlXzo6dHlwZSB0eXBlOworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUCisgICAgLCB0eXBlbmFtZSBUYWcKKyAgICAsIHR5cGVuYW1lIFByb3RlY3QKKyAgICA+CitzdHJ1Y3QgbGFtYmRhCit7CisgICAgLy8vIE1ldGFmdW5jdGlvbiBmb3J3YXJkaW5nIGNvbmZ1c2VzIE1TVkMgNi54CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhdXg6OnRlbXBsYXRlX2FyaXR5PFQ+Ojp0eXBlIGFyaXR5XzsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGF1eDo6bGFtYmRhX2ltcGw8YXJpdHlfPgorICAgICAgICA6OnRlbXBsYXRlIHJlc3VsdF88IFQsVGFnLFByb3RlY3QgPiBsXzsKKworICAgIHR5cGVkZWYgdHlwZW5hbWUgbF86OnR5cGUgdHlwZTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxfOjppc19sZSBpc19sZTsKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKDMsIGxhbWJkYSwgKFQsIFRhZywgUHJvdGVjdCkpCit9OworCitCT09TVF9NUExfQVVYX05BX1NQRUMyKDEsIDMsIGxhbWJkYSkKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUCisgICAgPgorc3RydWN0IGlzX2xhbWJkYV9leHByZXNzaW9uCisgICAgOiBsYW1iZGE8VD46OmlzX2xlCit7Cit9OworCit9fQorCmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvZ2NjL2xlc3MuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2djYy9sZXNzLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MTM5Yjc5Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2djYy9sZXNzLmhwcApAQCAtMCwwICsxLDk0IEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9sZXNzLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFRhZzEKKyAgICAsIHR5cGVuYW1lIFRhZzIKKyAgICA+CitzdHJ1Y3QgbGVzc19pbXBsCisgICAgOiBpZl9jPAorICAgICAgICAgICggQk9PU1RfTVBMX0FVWF9ORVNURURfVkFMVUVfV0tORChpbnQsIFRhZzEpCisgICAgICAgICAgICAgID4gQk9PU1RfTVBMX0FVWF9ORVNURURfVkFMVUVfV0tORChpbnQsIFRhZzIpCisgICAgICAgICAgICApCisKKyAgICAgICAgLCBhdXg6OmNhc3QybmRfaW1wbDwgbGVzc19pbXBsPCBUYWcxLFRhZzEgPixUYWcxLCBUYWcyID4KKyAgICAgICAgLCBhdXg6OmNhc3Qxc3RfaW1wbDwgbGVzc19pbXBsPCBUYWcyLFRhZzIgPixUYWcxLCBUYWcyID4KKyAgICAgICAgPjo6dHlwZQoreworfTsKKworLy8vIGZvciBEaWdpdGFsIE1hcnMgQysrL2NvbXBpbGVycyB3aXRoIG5vIENUUFMvVFRQIHN1cHBvcnQKK3RlbXBsYXRlPD4gc3RydWN0IGxlc3NfaW1wbDwgbmEsbmEgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUYWcgPiBzdHJ1Y3QgbGVzc19pbXBsPCBuYSxUYWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUYWcgPiBzdHJ1Y3QgbGVzc19pbXBsPCBUYWcsbmEgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUID4gc3RydWN0IGxlc3NfdGFnCit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBUOjp0YWcgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMSkKKyAgICAsIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjIpCisgICAgPgorc3RydWN0IGxlc3MKKworICAgIDogbGVzc19pbXBsPAorICAgICAgICAgIHR5cGVuYW1lIGxlc3NfdGFnPE4xPjo6dHlwZQorICAgICAgICAsIHR5cGVuYW1lIGxlc3NfdGFnPE4yPjo6dHlwZQorICAgICAgICA+Ojp0ZW1wbGF0ZSBhcHBseTwgTjEsTjIgPjo6dHlwZQoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoMiwgbGVzcywgKE4xLCBOMikpCisKK307CisKK0JPT1NUX01QTF9BVVhfTkFfU1BFQzIoMiwgMiwgbGVzcykKKworfX0KKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBsZXNzX2ltcGw8IGludGVncmFsX2NfdGFnLGludGVncmFsX2NfdGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgTjEsIHR5cGVuYW1lIE4yID4gc3RydWN0IGFwcGx5CisKKyAgICAgICAgOiBib29sXzwgKCBCT09TVF9NUExfQVVYX1ZBTFVFX1dLTkQoTjIpOjp2YWx1ZSA+IEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChOMSk6OnZhbHVlICkgPgorICAgIHsKKyAgICB9OworfTsKKworfX0KZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9nY2MvbGVzc19lcXVhbC5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvZ2NjL2xlc3NfZXF1YWwuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY3YzM0OTEKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvZ2NjL2xlc3NfZXF1YWwuaHBwCkBAIC0wLDAgKzEsOTQgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL2xlc3NfZXF1YWwuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVGFnMQorICAgICwgdHlwZW5hbWUgVGFnMgorICAgID4KK3N0cnVjdCBsZXNzX2VxdWFsX2ltcGwKKyAgICA6IGlmX2M8CisgICAgICAgICAgKCBCT09TVF9NUExfQVVYX05FU1RFRF9WQUxVRV9XS05EKGludCwgVGFnMSkKKyAgICAgICAgICAgICAgPiBCT09TVF9NUExfQVVYX05FU1RFRF9WQUxVRV9XS05EKGludCwgVGFnMikKKyAgICAgICAgICAgICkKKworICAgICAgICAsIGF1eDo6Y2FzdDJuZF9pbXBsPCBsZXNzX2VxdWFsX2ltcGw8IFRhZzEsVGFnMSA+LFRhZzEsIFRhZzIgPgorICAgICAgICAsIGF1eDo6Y2FzdDFzdF9pbXBsPCBsZXNzX2VxdWFsX2ltcGw8IFRhZzIsVGFnMiA+LFRhZzEsIFRhZzIgPgorICAgICAgICA+Ojp0eXBlCit7Cit9OworCisvLy8gZm9yIERpZ2l0YWwgTWFycyBDKysvY29tcGlsZXJzIHdpdGggbm8gQ1RQUy9UVFAgc3VwcG9ydAordGVtcGxhdGU8PiBzdHJ1Y3QgbGVzc19lcXVhbF9pbXBsPCBuYSxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFRhZyA+IHN0cnVjdCBsZXNzX2VxdWFsX2ltcGw8IG5hLFRhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFRhZyA+IHN0cnVjdCBsZXNzX2VxdWFsX2ltcGw8IFRhZyxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFQgPiBzdHJ1Y3QgbGVzc19lcXVhbF90YWcKK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIFQ6OnRhZyB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4xKQorICAgICwgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMikKKyAgICA+CitzdHJ1Y3QgbGVzc19lcXVhbAorCisgICAgOiBsZXNzX2VxdWFsX2ltcGw8CisgICAgICAgICAgdHlwZW5hbWUgbGVzc19lcXVhbF90YWc8TjE+Ojp0eXBlCisgICAgICAgICwgdHlwZW5hbWUgbGVzc19lcXVhbF90YWc8TjI+Ojp0eXBlCisgICAgICAgID46OnRlbXBsYXRlIGFwcGx5PCBOMSxOMiA+Ojp0eXBlCit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgyLCBsZXNzX2VxdWFsLCAoTjEsIE4yKSkKKworfTsKKworQk9PU1RfTVBMX0FVWF9OQV9TUEVDMigyLCAyLCBsZXNzX2VxdWFsKQorCit9fQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8Pgorc3RydWN0IGxlc3NfZXF1YWxfaW1wbDwgaW50ZWdyYWxfY190YWcsaW50ZWdyYWxfY190YWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBOMSwgdHlwZW5hbWUgTjIgPiBzdHJ1Y3QgYXBwbHkKKworICAgICAgICA6IGJvb2xfPCAoIEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChOMSk6OnZhbHVlIDw9IEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChOMik6OnZhbHVlICkgPgorICAgIHsKKyAgICB9OworfTsKKworfX0KZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9nY2MvbGlzdC5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvZ2NjL2xpc3QuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhjYzhjNDYKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvZ2NjL2xpc3QuaHBwCkBAIC0wLDAgKzEsMzIzIEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9saXN0LmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwID0gbmEsIHR5cGVuYW1lIFQxID0gbmEsIHR5cGVuYW1lIFQyID0gbmEsIHR5cGVuYW1lIFQzID0gbmEKKyAgICAsIHR5cGVuYW1lIFQ0ID0gbmEsIHR5cGVuYW1lIFQ1ID0gbmEsIHR5cGVuYW1lIFQ2ID0gbmEsIHR5cGVuYW1lIFQ3ID0gbmEKKyAgICAsIHR5cGVuYW1lIFQ4ID0gbmEsIHR5cGVuYW1lIFQ5ID0gbmEsIHR5cGVuYW1lIFQxMCA9IG5hLCB0eXBlbmFtZSBUMTEgPSBuYQorICAgICwgdHlwZW5hbWUgVDEyID0gbmEsIHR5cGVuYW1lIFQxMyA9IG5hLCB0eXBlbmFtZSBUMTQgPSBuYQorICAgICwgdHlwZW5hbWUgVDE1ID0gbmEsIHR5cGVuYW1lIFQxNiA9IG5hLCB0eXBlbmFtZSBUMTcgPSBuYQorICAgICwgdHlwZW5hbWUgVDE4ID0gbmEsIHR5cGVuYW1lIFQxOSA9IG5hCisgICAgPgorc3RydWN0IGxpc3Q7CisKK3RlbXBsYXRlPAorICAgICAKKyAgICA+CitzdHJ1Y3QgbGlzdDwKKyAgICAgICAgICBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IGxpc3QwPCAgPgoreworICAgIHR5cGVkZWYgbGlzdDA8ICA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwCisgICAgPgorc3RydWN0IGxpc3Q8CisgICAgICAgICAgVDAsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBsaXN0MTxUMD4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3QxPFQwPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEKKyAgICA+CitzdHJ1Y3QgbGlzdDwKKyAgICAgICAgICBUMCwgVDEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IGxpc3QyPCBUMCxUMSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0MjwgVDAsVDEgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyCisgICAgPgorc3RydWN0IGxpc3Q8CisgICAgICAgICAgVDAsIFQxLCBUMiwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBsaXN0MzwgVDAsVDEsVDIgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDM8IFQwLFQxLFQyID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMKKyAgICA+CitzdHJ1Y3QgbGlzdDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IGxpc3Q0PCBUMCxUMSxUMixUMyA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0NDwgVDAsVDEsVDIsVDMgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICA+CitzdHJ1Y3QgbGlzdDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IGxpc3Q1PCBUMCxUMSxUMixUMyxUNCA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0NTwgVDAsVDEsVDIsVDMsVDQgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1CisgICAgPgorc3RydWN0IGxpc3Q8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBsaXN0NjwgVDAsVDEsVDIsVDMsVDQsVDUgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDY8IFQwLFQxLFQyLFQzLFQ0LFQ1ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYKKyAgICA+CitzdHJ1Y3QgbGlzdDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IGxpc3Q3PCBUMCxUMSxUMixUMyxUNCxUNSxUNiA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0NzwgVDAsVDEsVDIsVDMsVDQsVDUsVDYgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcKKyAgICA+CitzdHJ1Y3QgbGlzdDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IGxpc3Q4PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0ODwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4CisgICAgPgorc3RydWN0IGxpc3Q8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBsaXN0OTwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDggPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDk8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICA+CitzdHJ1Y3QgbGlzdDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IGxpc3QxMDwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDkgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDEwPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAKKyAgICA+CitzdHJ1Y3QgbGlzdDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBsaXN0MTE8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0MTE8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMQorICAgID4KK3N0cnVjdCBsaXN0PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBsaXN0MTI8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDEyPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIKKyAgICA+CitzdHJ1Y3QgbGlzdDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IGxpc3QxMzwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDEzPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMiA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMKKyAgICA+CitzdHJ1Y3QgbGlzdDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBsaXN0MTQ8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0MTQ8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgID4KK3N0cnVjdCBsaXN0PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNCwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBsaXN0MTU8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3QxNTwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzLFQxNCA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICwgdHlwZW5hbWUgVDE1CisgICAgPgorc3RydWN0IGxpc3Q8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1LCBuYSwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBsaXN0MTY8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3QxNjwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzLFQxNCxUMTUgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2CisgICAgPgorc3RydWN0IGxpc3Q8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1LCBUMTYsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogbGlzdDE3PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgVDE2CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3QxNzwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzLFQxNCxUMTUsVDE2ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3CisgICAgPgorc3RydWN0IGxpc3Q8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1LCBUMTYsIFQxNywgbmEsIG5hCisgICAgICAgID4KKyAgICA6IGxpc3QxODwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgLCBUMTUsIFQxNiwgVDE3CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3QxODwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzLFQxNCxUMTUsVDE2LFQxNyA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4CisgICAgPgorc3RydWN0IGxpc3Q8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1LCBUMTYsIFQxNywgVDE4LCBuYQorICAgICAgICA+CisgICAgOiBsaXN0MTk8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1LCBUMTYsIFQxNywgVDE4CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3QxOTwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzLFQxNCxUMTUsVDE2LFQxNyxUMTggPjo6dHlwZSB0eXBlOworfTsKKworLy8vIHByaW1hcnkgdGVtcGxhdGUgKG5vdCBhIHNwZWNpYWxpemF0aW9uISkKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgPgorc3RydWN0IGxpc3QKKyAgICA6IGxpc3QyMDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgLCBUMTUsIFQxNiwgVDE3LCBUMTgsIFQxOQorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0MjA8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyxUMTQsVDE1LFQxNixUMTcsVDE4LFQxOSA+Ojp0eXBlIHR5cGU7Cit9OworCit9fQorCmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvZ2NjL2xpc3RfYy5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvZ2NjL2xpc3RfYy5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTQzZjM4ZgotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9nY2MvbGlzdF9jLmhwcApAQCAtMCwwICsxLDMyOCBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvbGlzdF9jLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAgPSBMT05HX01BWCwgbG9uZyBDMSA9IExPTkdfTUFYLCBsb25nIEMyID0gTE9OR19NQVgKKyAgICAsIGxvbmcgQzMgPSBMT05HX01BWCwgbG9uZyBDNCA9IExPTkdfTUFYLCBsb25nIEM1ID0gTE9OR19NQVgKKyAgICAsIGxvbmcgQzYgPSBMT05HX01BWCwgbG9uZyBDNyA9IExPTkdfTUFYLCBsb25nIEM4ID0gTE9OR19NQVgKKyAgICAsIGxvbmcgQzkgPSBMT05HX01BWCwgbG9uZyBDMTAgPSBMT05HX01BWCwgbG9uZyBDMTEgPSBMT05HX01BWAorICAgICwgbG9uZyBDMTIgPSBMT05HX01BWCwgbG9uZyBDMTMgPSBMT05HX01BWCwgbG9uZyBDMTQgPSBMT05HX01BWAorICAgICwgbG9uZyBDMTUgPSBMT05HX01BWCwgbG9uZyBDMTYgPSBMT05HX01BWCwgbG9uZyBDMTcgPSBMT05HX01BWAorICAgICwgbG9uZyBDMTggPSBMT05HX01BWCwgbG9uZyBDMTkgPSBMT05HX01BWAorICAgID4KK3N0cnVjdCBsaXN0X2M7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVAorICAgID4KK3N0cnVjdCBsaXN0X2M8CisgICAgICAgICAgVCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogbGlzdDBfYzxUPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDBfYzxUPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwCisgICAgPgorc3RydWN0IGxpc3RfYzwKKyAgICAgICAgICBULCBDMCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiBsaXN0MV9jPCBULEMwID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3QxX2M8IFQsQzAgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxCisgICAgPgorc3RydWN0IGxpc3RfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiBsaXN0Ml9jPCBULEMwLEMxID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3QyX2M8IFQsQzAsQzEgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyCisgICAgPgorc3RydWN0IGxpc3RfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiBsaXN0M19jPCBULEMwLEMxLEMyID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3QzX2M8IFQsQzAsQzEsQzIgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzCisgICAgPgorc3RydWN0IGxpc3RfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiBsaXN0NF9jPCBULEMwLEMxLEMyLEMzID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3Q0X2M8IFQsQzAsQzEsQzIsQzMgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0CisgICAgPgorc3RydWN0IGxpc3RfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiBsaXN0NV9jPCBULEMwLEMxLEMyLEMzLEM0ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3Q1X2M8IFQsQzAsQzEsQzIsQzMsQzQgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgPgorc3RydWN0IGxpc3RfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiBsaXN0Nl9jPCBULEMwLEMxLEMyLEMzLEM0LEM1ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3Q2X2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2CisgICAgPgorc3RydWN0IGxpc3RfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiBsaXN0N19jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3Q3X2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3CisgICAgPgorc3RydWN0IGxpc3RfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiBsaXN0OF9jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2LEM3ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3Q4X2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4CisgICAgPgorc3RydWN0IGxpc3RfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiBsaXN0OV9jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2LEM3LEM4ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3Q5X2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcsQzggPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5CisgICAgPgorc3RydWN0IGxpc3RfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiBsaXN0MTBfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyxDOCxDOSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0MTBfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyxDOCxDOSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwCisgICAgPgorc3RydWN0IGxpc3RfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiBsaXN0MTFfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyxDOCxDOSxDMTAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDExX2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcsQzgsQzksQzEwID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExCisgICAgPgorc3RydWN0IGxpc3RfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogbGlzdDEyX2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcsQzgsQzksQzEwLEMxMSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0MTJfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyxDOCxDOSxDMTAsQzExID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgID4KK3N0cnVjdCBsaXN0X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBDMTIsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiBsaXN0MTNfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyxDOCxDOSxDMTAsQzExLEMxMiA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0MTNfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyxDOCxDOSxDMTAsQzExLEMxMiA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAsIGxvbmcgQzEzCisgICAgPgorc3RydWN0IGxpc3RfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIEMxMiwgQzEzCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiBsaXN0MTRfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIEMxMiwgQzEzCisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3QxNF9jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2LEM3LEM4LEM5LEMxMCxDMTEsQzEyLEMxMyA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAsIGxvbmcgQzEzLCBsb25nIEMxNAorICAgID4KK3N0cnVjdCBsaXN0X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBDMTIsIEMxMywgQzE0CisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IGxpc3QxNV9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMsIEMxNAorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0MTVfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyxDOCxDOSxDMTAsQzExLEMxMixDMTMsQzE0ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNQorICAgID4KK3N0cnVjdCBsaXN0X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBDMTIsIEMxMywgQzE0CisgICAgICAgICwgQzE1LCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiBsaXN0MTZfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIEMxMiwgQzEzLCBDMTQKKyAgICAgICAgLCBDMTUKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDE2X2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcsQzgsQzksQzEwLEMxMSxDMTIsQzEzLEMxNCxDMTUgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1LCBsb25nIEMxNgorICAgID4KK3N0cnVjdCBsaXN0X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBDMTIsIEMxMywgQzE0CisgICAgICAgICwgQzE1LCBDMTYsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogbGlzdDE3X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBDMTIsIEMxMywgQzE0CisgICAgICAgICwgQzE1LCBDMTYKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDE3X2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcsQzgsQzksQzEwLEMxMSxDMTIsQzEzLEMxNCxDMTUsQzE2ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNSwgbG9uZyBDMTYsIGxvbmcgQzE3CisgICAgPgorc3RydWN0IGxpc3RfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIEMxMiwgQzEzLCBDMTQKKyAgICAgICAgLCBDMTUsIEMxNiwgQzE3LCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogbGlzdDE4X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBDMTIsIEMxMywgQzE0CisgICAgICAgICwgQzE1LCBDMTYsIEMxNworICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0MThfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyxDOCxDOSxDMTAsQzExLEMxMixDMTMsQzE0LEMxNSxDMTYsQzE3ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNSwgbG9uZyBDMTYsIGxvbmcgQzE3LCBsb25nIEMxOAorICAgID4KK3N0cnVjdCBsaXN0X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBDMTIsIEMxMywgQzE0CisgICAgICAgICwgQzE1LCBDMTYsIEMxNywgQzE4LCBMT05HX01BWAorICAgICAgICA+CisgICAgOiBsaXN0MTlfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIEMxMiwgQzEzLCBDMTQKKyAgICAgICAgLCBDMTUsIEMxNiwgQzE3LCBDMTgKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDE5X2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcsQzgsQzksQzEwLEMxMSxDMTIsQzEzLEMxNCxDMTUsQzE2LEMxNyxDMTggPjo6dHlwZSB0eXBlOworfTsKKworLy8vIHByaW1hcnkgdGVtcGxhdGUgKG5vdCBhIHNwZWNpYWxpemF0aW9uISkKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1LCBsb25nIEMxNiwgbG9uZyBDMTcsIGxvbmcgQzE4LCBsb25nIEMxOQorICAgID4KK3N0cnVjdCBsaXN0X2MKKyAgICA6IGxpc3QyMF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMsIEMxNAorICAgICAgICAsIEMxNSwgQzE2LCBDMTcsIEMxOCwgQzE5CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3QyMF9jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2LEM3LEM4LEM5LEMxMCxDMTEsQzEyLEMxMyxDMTQsQzE1LEMxNixDMTcsQzE4LEMxOSA+Ojp0eXBlIHR5cGU7Cit9OworCit9fQorCmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvZ2NjL21hcC5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvZ2NjL21hcC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzk3NGYyOAotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9nY2MvbWFwLmhwcApAQCAtMCwwICsxLDMyMyBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvbWFwLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwID0gbmEsIHR5cGVuYW1lIFQxID0gbmEsIHR5cGVuYW1lIFQyID0gbmEsIHR5cGVuYW1lIFQzID0gbmEKKyAgICAsIHR5cGVuYW1lIFQ0ID0gbmEsIHR5cGVuYW1lIFQ1ID0gbmEsIHR5cGVuYW1lIFQ2ID0gbmEsIHR5cGVuYW1lIFQ3ID0gbmEKKyAgICAsIHR5cGVuYW1lIFQ4ID0gbmEsIHR5cGVuYW1lIFQ5ID0gbmEsIHR5cGVuYW1lIFQxMCA9IG5hLCB0eXBlbmFtZSBUMTEgPSBuYQorICAgICwgdHlwZW5hbWUgVDEyID0gbmEsIHR5cGVuYW1lIFQxMyA9IG5hLCB0eXBlbmFtZSBUMTQgPSBuYQorICAgICwgdHlwZW5hbWUgVDE1ID0gbmEsIHR5cGVuYW1lIFQxNiA9IG5hLCB0eXBlbmFtZSBUMTcgPSBuYQorICAgICwgdHlwZW5hbWUgVDE4ID0gbmEsIHR5cGVuYW1lIFQxOSA9IG5hCisgICAgPgorc3RydWN0IG1hcDsKKwordGVtcGxhdGU8CisgICAgIAorICAgID4KK3N0cnVjdCBtYXA8CisgICAgICAgICAgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBtYXAwPCAgPgoreworICAgIHR5cGVkZWYgbWFwMDwgID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAKKyAgICA+CitzdHJ1Y3QgbWFwPAorICAgICAgICAgIFQwLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogbWFwMTxUMD4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1hcDE8VDA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMQorICAgID4KK3N0cnVjdCBtYXA8CisgICAgICAgICAgVDAsIFQxLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBtYXAyPCBUMCxUMSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtYXAyPCBUMCxUMSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIKKyAgICA+CitzdHJ1Y3QgbWFwPAorICAgICAgICAgIFQwLCBUMSwgVDIsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogbWFwMzwgVDAsVDEsVDIgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbWFwMzwgVDAsVDEsVDIgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMworICAgID4KK3N0cnVjdCBtYXA8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBtYXA0PCBUMCxUMSxUMixUMyA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtYXA0PCBUMCxUMSxUMixUMyA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgID4KK3N0cnVjdCBtYXA8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBtYXA1PCBUMCxUMSxUMixUMyxUNCA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtYXA1PCBUMCxUMSxUMixUMyxUNCA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUKKyAgICA+CitzdHJ1Y3QgbWFwPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogbWFwNjwgVDAsVDEsVDIsVDMsVDQsVDUgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbWFwNjwgVDAsVDEsVDIsVDMsVDQsVDUgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNgorICAgID4KK3N0cnVjdCBtYXA8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBtYXA3PCBUMCxUMSxUMixUMyxUNCxUNSxUNiA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtYXA3PCBUMCxUMSxUMixUMyxUNCxUNSxUNiA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNworICAgID4KK3N0cnVjdCBtYXA8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBtYXA4PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtYXA4PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgKKyAgICA+CitzdHJ1Y3QgbWFwPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogbWFwOTwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDggPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbWFwOTwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDggPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgID4KK3N0cnVjdCBtYXA8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBtYXAxMDwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDkgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbWFwMTA8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMAorICAgID4KK3N0cnVjdCBtYXA8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogbWFwMTE8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtYXAxMTwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExCisgICAgPgorc3RydWN0IG1hcDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogbWFwMTI8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbWFwMTI8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMgorICAgID4KK3N0cnVjdCBtYXA8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBtYXAxMzwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbWFwMTM8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMworICAgID4KK3N0cnVjdCBtYXA8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogbWFwMTQ8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtYXAxNDwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgPgorc3RydWN0IG1hcDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogbWFwMTU8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1hcDE1PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMsVDE0ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgLCB0eXBlbmFtZSBUMTUKKyAgICA+CitzdHJ1Y3QgbWFwPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogbWFwMTY8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1hcDE2PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMsVDE0LFQxNSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYKKyAgICA+CitzdHJ1Y3QgbWFwPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgVDE2LCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IG1hcDE3PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgVDE2CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1hcDE3PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMsVDE0LFQxNSxUMTYgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcKKyAgICA+CitzdHJ1Y3QgbWFwPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgVDE2LCBUMTcsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBtYXAxODwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgLCBUMTUsIFQxNiwgVDE3CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1hcDE4PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMsVDE0LFQxNSxUMTYsVDE3ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgKKyAgICA+CitzdHJ1Y3QgbWFwPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgVDE2LCBUMTcsIFQxOCwgbmEKKyAgICAgICAgPgorICAgIDogbWFwMTk8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1LCBUMTYsIFQxNywgVDE4CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1hcDE5PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMsVDE0LFQxNSxUMTYsVDE3LFQxOCA+Ojp0eXBlIHR5cGU7Cit9OworCisvLy8gcHJpbWFyeSB0ZW1wbGF0ZSAobm90IGEgc3BlY2lhbGl6YXRpb24hKQorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICA+CitzdHJ1Y3QgbWFwCisgICAgOiBtYXAyMDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgLCBUMTUsIFQxNiwgVDE3LCBUMTgsIFQxOQorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtYXAyMDwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzLFQxNCxUMTUsVDE2LFQxNyxUMTgsVDE5ID46OnR5cGUgdHlwZTsKK307CisKK319CisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9nY2MvbWludXMuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2djYy9taW51cy5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWU2YjU5MgotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9nY2MvbWludXMuaHBwCkBAIC0wLDAgKzEsMTQ2IEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9taW51cy5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUYWcxCisgICAgLCB0eXBlbmFtZSBUYWcyCisgICAgPgorc3RydWN0IG1pbnVzX2ltcGwKKyAgICA6IGlmX2M8CisgICAgICAgICAgKCBCT09TVF9NUExfQVVYX05FU1RFRF9WQUxVRV9XS05EKGludCwgVGFnMSkKKyAgICAgICAgICAgICAgPiBCT09TVF9NUExfQVVYX05FU1RFRF9WQUxVRV9XS05EKGludCwgVGFnMikKKyAgICAgICAgICAgICkKKworICAgICAgICAsIGF1eDo6Y2FzdDJuZF9pbXBsPCBtaW51c19pbXBsPCBUYWcxLFRhZzEgPixUYWcxLCBUYWcyID4KKyAgICAgICAgLCBhdXg6OmNhc3Qxc3RfaW1wbDwgbWludXNfaW1wbDwgVGFnMixUYWcyID4sVGFnMSwgVGFnMiA+CisgICAgICAgID46OnR5cGUKK3sKK307CisKKy8vLyBmb3IgRGlnaXRhbCBNYXJzIEMrKy9jb21waWxlcnMgd2l0aCBubyBDVFBTL1RUUCBzdXBwb3J0Cit0ZW1wbGF0ZTw+IHN0cnVjdCBtaW51c19pbXBsPCBuYSxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFRhZyA+IHN0cnVjdCBtaW51c19pbXBsPCBuYSxUYWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUYWcgPiBzdHJ1Y3QgbWludXNfaW1wbDwgVGFnLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVCA+IHN0cnVjdCBtaW51c190YWcKK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIFQ6OnRhZyB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4xKQorICAgICwgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMikKKyAgICAsIHR5cGVuYW1lIE4zID0gbmEsIHR5cGVuYW1lIE40ID0gbmEsIHR5cGVuYW1lIE41ID0gbmEKKyAgICA+CitzdHJ1Y3QgbWludXMKKyAgICA6IG1pbnVzPCBtaW51czwgbWludXM8IG1pbnVzPCBOMSxOMiA+LCBOMz4sIE40PiwgTjU+Cit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgKKyAgICAgICAgICA1CisgICAgICAgICwgbWludXMKKyAgICAgICAgLCAoIE4xLCBOMiwgTjMsIE40LCBONSApCisgICAgICAgICkKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgTjEsIHR5cGVuYW1lIE4yLCB0eXBlbmFtZSBOMywgdHlwZW5hbWUgTjQKKyAgICA+CitzdHJ1Y3QgbWludXM8IE4xLE4yLE4zLE40LG5hID4KKworICAgIDogbWludXM8IG1pbnVzPCBtaW51czwgTjEsTjIgPiwgTjM+LCBOND4KK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUX1NQRUMoCisgICAgICAgICAgNQorICAgICAgICAsIG1pbnVzCisgICAgICAgICwgKCBOMSwgTjIsIE4zLCBONCwgbmEgKQorICAgICAgICApCit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIE4xLCB0eXBlbmFtZSBOMiwgdHlwZW5hbWUgTjMKKyAgICA+CitzdHJ1Y3QgbWludXM8IE4xLE4yLE4zLG5hLG5hID4KKworICAgIDogbWludXM8IG1pbnVzPCBOMSxOMiA+LCBOMz4KK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUX1NQRUMoCisgICAgICAgICAgNQorICAgICAgICAsIG1pbnVzCisgICAgICAgICwgKCBOMSwgTjIsIE4zLCBuYSwgbmEgKQorICAgICAgICApCit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIE4xLCB0eXBlbmFtZSBOMgorICAgID4KK3N0cnVjdCBtaW51czwgTjEsTjIsbmEsbmEsbmEgPgorICAgIDogbWludXNfaW1wbDwKKyAgICAgICAgICB0eXBlbmFtZSBtaW51c190YWc8TjE+Ojp0eXBlCisgICAgICAgICwgdHlwZW5hbWUgbWludXNfdGFnPE4yPjo6dHlwZQorICAgICAgICA+Ojp0ZW1wbGF0ZSBhcHBseTwgTjEsTjIgPjo6dHlwZQoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlRfU1BFQygKKyAgICAgICAgICA1CisgICAgICAgICwgbWludXMKKyAgICAgICAgLCAoIE4xLCBOMiwgbmEsIG5hLCBuYSApCisgICAgICAgICkKKworfTsKKworQk9PU1RfTVBMX0FVWF9OQV9TUEVDMigyLCA1LCBtaW51cykKKworfX0KKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7Cit0ZW1wbGF0ZTw+CitzdHJ1Y3QgbWludXNfaW1wbDwgaW50ZWdyYWxfY190YWcsaW50ZWdyYWxfY190YWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBOMSwgdHlwZW5hbWUgTjIgPiBzdHJ1Y3QgYXBwbHkKKworICAgICAgICA6IGludGVncmFsX2M8CisgICAgICAgICAgICAgIHR5cGVuYW1lIGF1eDo6bGFyZ2VzdF9pbnQ8CisgICAgICAgICAgICAgICAgICB0eXBlbmFtZSBOMTo6dmFsdWVfdHlwZQorICAgICAgICAgICAgICAgICwgdHlwZW5hbWUgTjI6OnZhbHVlX3R5cGUKKyAgICAgICAgICAgICAgICA+Ojp0eXBlCisgICAgICAgICAgICAsICggQk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4xKTo6dmFsdWUKKyAgICAgICAgICAgICAgICAgIC0gQk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4yKTo6dmFsdWUKKyAgICAgICAgICAgICAgICApCisgICAgICAgICAgICA+CisgICAgeworICAgIH07Cit9OworCit9fQpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2djYy9tb2R1bHVzLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9nY2MvbW9kdWx1cy5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODljNjE3MgotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9nY2MvbW9kdWx1cy5ocHAKQEAgLTAsMCArMSwxMDEgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL21vZHVsdXMuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVGFnMQorICAgICwgdHlwZW5hbWUgVGFnMgorICAgID4KK3N0cnVjdCBtb2R1bHVzX2ltcGwKKyAgICA6IGlmX2M8CisgICAgICAgICAgKCBCT09TVF9NUExfQVVYX05FU1RFRF9WQUxVRV9XS05EKGludCwgVGFnMSkKKyAgICAgICAgICAgICAgPiBCT09TVF9NUExfQVVYX05FU1RFRF9WQUxVRV9XS05EKGludCwgVGFnMikKKyAgICAgICAgICAgICkKKworICAgICAgICAsIGF1eDo6Y2FzdDJuZF9pbXBsPCBtb2R1bHVzX2ltcGw8IFRhZzEsVGFnMSA+LFRhZzEsIFRhZzIgPgorICAgICAgICAsIGF1eDo6Y2FzdDFzdF9pbXBsPCBtb2R1bHVzX2ltcGw8IFRhZzIsVGFnMiA+LFRhZzEsIFRhZzIgPgorICAgICAgICA+Ojp0eXBlCit7Cit9OworCisvLy8gZm9yIERpZ2l0YWwgTWFycyBDKysvY29tcGlsZXJzIHdpdGggbm8gQ1RQUy9UVFAgc3VwcG9ydAordGVtcGxhdGU8PiBzdHJ1Y3QgbW9kdWx1c19pbXBsPCBuYSxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFRhZyA+IHN0cnVjdCBtb2R1bHVzX2ltcGw8IG5hLFRhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFRhZyA+IHN0cnVjdCBtb2R1bHVzX2ltcGw8IFRhZyxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFQgPiBzdHJ1Y3QgbW9kdWx1c190YWcKK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIFQ6OnRhZyB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4xKQorICAgICwgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMikKKyAgICA+CitzdHJ1Y3QgbW9kdWx1cworCisgICAgOiBtb2R1bHVzX2ltcGw8CisgICAgICAgICAgdHlwZW5hbWUgbW9kdWx1c190YWc8TjE+Ojp0eXBlCisgICAgICAgICwgdHlwZW5hbWUgbW9kdWx1c190YWc8TjI+Ojp0eXBlCisgICAgICAgID46OnRlbXBsYXRlIGFwcGx5PCBOMSxOMiA+Ojp0eXBlCit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgyLCBtb2R1bHVzLCAoTjEsIE4yKSkKKworfTsKKworQk9PU1RfTVBMX0FVWF9OQV9TUEVDMigyLCAyLCBtb2R1bHVzKQorCit9fQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKK3RlbXBsYXRlPD4KK3N0cnVjdCBtb2R1bHVzX2ltcGw8IGludGVncmFsX2NfdGFnLGludGVncmFsX2NfdGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgTjEsIHR5cGVuYW1lIE4yID4gc3RydWN0IGFwcGx5CisKKyAgICAgICAgOiBpbnRlZ3JhbF9jPAorICAgICAgICAgICAgICB0eXBlbmFtZSBhdXg6Omxhcmdlc3RfaW50PAorICAgICAgICAgICAgICAgICAgdHlwZW5hbWUgTjE6OnZhbHVlX3R5cGUKKyAgICAgICAgICAgICAgICAsIHR5cGVuYW1lIE4yOjp2YWx1ZV90eXBlCisgICAgICAgICAgICAgICAgPjo6dHlwZQorICAgICAgICAgICAgLCAoIEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChOMSk6OnZhbHVlCisgICAgICAgICAgICAgICAgICAlIEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChOMik6OnZhbHVlCisgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgPgorICAgIHsKKyAgICB9OworfTsKKworfX0KZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9nY2Mvbm90X2VxdWFsX3RvLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9nY2Mvbm90X2VxdWFsX3RvLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMjhlMTAwCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2djYy9ub3RfZXF1YWxfdG8uaHBwCkBAIC0wLDAgKzEsOTQgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL25vdF9lcXVhbF90by5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUYWcxCisgICAgLCB0eXBlbmFtZSBUYWcyCisgICAgPgorc3RydWN0IG5vdF9lcXVhbF90b19pbXBsCisgICAgOiBpZl9jPAorICAgICAgICAgICggQk9PU1RfTVBMX0FVWF9ORVNURURfVkFMVUVfV0tORChpbnQsIFRhZzEpCisgICAgICAgICAgICAgID4gQk9PU1RfTVBMX0FVWF9ORVNURURfVkFMVUVfV0tORChpbnQsIFRhZzIpCisgICAgICAgICAgICApCisKKyAgICAgICAgLCBhdXg6OmNhc3QybmRfaW1wbDwgbm90X2VxdWFsX3RvX2ltcGw8IFRhZzEsVGFnMSA+LFRhZzEsIFRhZzIgPgorICAgICAgICAsIGF1eDo6Y2FzdDFzdF9pbXBsPCBub3RfZXF1YWxfdG9faW1wbDwgVGFnMixUYWcyID4sVGFnMSwgVGFnMiA+CisgICAgICAgID46OnR5cGUKK3sKK307CisKKy8vLyBmb3IgRGlnaXRhbCBNYXJzIEMrKy9jb21waWxlcnMgd2l0aCBubyBDVFBTL1RUUCBzdXBwb3J0Cit0ZW1wbGF0ZTw+IHN0cnVjdCBub3RfZXF1YWxfdG9faW1wbDwgbmEsbmEgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUYWcgPiBzdHJ1Y3Qgbm90X2VxdWFsX3RvX2ltcGw8IG5hLFRhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFRhZyA+IHN0cnVjdCBub3RfZXF1YWxfdG9faW1wbDwgVGFnLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVCA+IHN0cnVjdCBub3RfZXF1YWxfdG9fdGFnCit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBUOjp0YWcgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMSkKKyAgICAsIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjIpCisgICAgPgorc3RydWN0IG5vdF9lcXVhbF90bworCisgICAgOiBub3RfZXF1YWxfdG9faW1wbDwKKyAgICAgICAgICB0eXBlbmFtZSBub3RfZXF1YWxfdG9fdGFnPE4xPjo6dHlwZQorICAgICAgICAsIHR5cGVuYW1lIG5vdF9lcXVhbF90b190YWc8TjI+Ojp0eXBlCisgICAgICAgID46OnRlbXBsYXRlIGFwcGx5PCBOMSxOMiA+Ojp0eXBlCit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgyLCBub3RfZXF1YWxfdG8sIChOMSwgTjIpKQorCit9OworCitCT09TVF9NUExfQVVYX05BX1NQRUMyKDIsIDIsIG5vdF9lcXVhbF90bykKKworfX0KKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBub3RfZXF1YWxfdG9faW1wbDwgaW50ZWdyYWxfY190YWcsaW50ZWdyYWxfY190YWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBOMSwgdHlwZW5hbWUgTjIgPiBzdHJ1Y3QgYXBwbHkKKworICAgICAgICA6IGJvb2xfPCAoIEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChOMSk6OnZhbHVlICE9IEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChOMik6OnZhbHVlICkgPgorICAgIHsKKyAgICB9OworfTsKKworfX0KZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9nY2Mvb3IuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2djYy9vci5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTkyOTYwMgotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9nY2Mvb3IuaHBwCkBAIC0wLDAgKzEsNjkgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL29yLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8IGJvb2wgQ18sIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0ID4KK3N0cnVjdCBvcl9pbXBsCisgICAgOiB0cnVlXworeworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0ID4KK3N0cnVjdCBvcl9pbXBsPCBmYWxzZSxUMSxUMixUMyxUNCA+CisgICAgOiBvcl9pbXBsPAorICAgICAgICAgIEJPT1NUX01QTF9BVVhfTkVTVEVEX1RZUEVfV0tORChUMSk6OnZhbHVlCisgICAgICAgICwgVDIsIFQzLCBUNAorICAgICAgICAsIGZhbHNlXworICAgICAgICA+Cit7Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3Qgb3JfaW1wbDwKKyAgICAgICAgICBmYWxzZQorICAgICAgICAsIGZhbHNlXywgZmFsc2VfLCBmYWxzZV8sIGZhbHNlXworICAgICAgICA+CisgICAgOiBmYWxzZV8KK3sKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oVDEpCisgICAgLCB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKFQyKQorICAgICwgdHlwZW5hbWUgVDMgPSBmYWxzZV8sIHR5cGVuYW1lIFQ0ID0gZmFsc2VfLCB0eXBlbmFtZSBUNSA9IGZhbHNlXworICAgID4KK3N0cnVjdCBvcl8KKworICAgIDogYXV4Ojpvcl9pbXBsPAorICAgICAgICAgIEJPT1NUX01QTF9BVVhfTkVTVEVEX1RZUEVfV0tORChUMSk6OnZhbHVlCisgICAgICAgICwgVDIsIFQzLCBUNCwgVDUKKyAgICAgICAgPgorCit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgKKyAgICAgICAgICA1CisgICAgICAgICwgb3JfCisgICAgICAgICwgKCBUMSwgVDIsIFQzLCBUNCwgVDUpCisgICAgICAgICkKK307CisKK0JPT1NUX01QTF9BVVhfTkFfU1BFQzIoCisgICAgICAyCisgICAgLCA1CisgICAgLCBvcl8KKyAgICApCisKK319CmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvZ2NjL3BsYWNlaG9sZGVycy5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvZ2NjL3BsYWNlaG9sZGVycy5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWNkNDUxNAotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9nY2MvcGxhY2Vob2xkZXJzLmhwcApAQCAtMCwwICsxLDEwNSBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAxLTIwMDQKKy8vIENvcHlyaWdodCBQZXRlciBEaW1vdiAyMDAxLTIwMDMKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvcGxhY2Vob2xkZXJzLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK0JPT1NUX01QTF9BVVhfQURMX0JBUlJJRVJfTkFNRVNQQUNFX09QRU4KK3R5cGVkZWYgYXJnPCAtMSA+IF87CitCT09TVF9NUExfQVVYX0FETF9CQVJSSUVSX05BTUVTUEFDRV9DTE9TRQorbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK0JPT1NUX01QTF9BVVhfQVJHX0FETF9CQVJSSUVSX0RFQ0woXykKKworbmFtZXNwYWNlIHBsYWNlaG9sZGVycyB7Cit1c2luZyBCT09TVF9NUExfQVVYX0FETF9CQVJSSUVSX05BTUVTUEFDRTo6XzsKK30KKworfX0KKworLy8vIGFndXJ0LCAxNy9tYXIvMDI6IG9uZSBtb3JlIHBsYWNlaG9sZGVyIGZvciB0aGUgbGFzdCAnYXBwbHkjJyAKKy8vLyBzcGVjaWFsaXphdGlvbgorQk9PU1RfTVBMX0FVWF9BRExfQkFSUklFUl9OQU1FU1BBQ0VfT1BFTgordHlwZWRlZiBhcmc8MT4gXzE7CisKK0JPT1NUX01QTF9BVVhfQURMX0JBUlJJRVJfTkFNRVNQQUNFX0NMT1NFCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKworQk9PU1RfTVBMX0FVWF9BUkdfQURMX0JBUlJJRVJfREVDTChfMSkKKworbmFtZXNwYWNlIHBsYWNlaG9sZGVycyB7Cit1c2luZyBCT09TVF9NUExfQVVYX0FETF9CQVJSSUVSX05BTUVTUEFDRTo6XzE7Cit9CisKK319CitCT09TVF9NUExfQVVYX0FETF9CQVJSSUVSX05BTUVTUEFDRV9PUEVOCit0eXBlZGVmIGFyZzwyPiBfMjsKKworQk9PU1RfTVBMX0FVWF9BRExfQkFSUklFUl9OQU1FU1BBQ0VfQ0xPU0UKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCitCT09TVF9NUExfQVVYX0FSR19BRExfQkFSUklFUl9ERUNMKF8yKQorCituYW1lc3BhY2UgcGxhY2Vob2xkZXJzIHsKK3VzaW5nIEJPT1NUX01QTF9BVVhfQURMX0JBUlJJRVJfTkFNRVNQQUNFOjpfMjsKK30KKworfX0KK0JPT1NUX01QTF9BVVhfQURMX0JBUlJJRVJfTkFNRVNQQUNFX09QRU4KK3R5cGVkZWYgYXJnPDM+IF8zOworCitCT09TVF9NUExfQVVYX0FETF9CQVJSSUVSX05BTUVTUEFDRV9DTE9TRQorbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK0JPT1NUX01QTF9BVVhfQVJHX0FETF9CQVJSSUVSX0RFQ0woXzMpCisKK25hbWVzcGFjZSBwbGFjZWhvbGRlcnMgewordXNpbmcgQk9PU1RfTVBMX0FVWF9BRExfQkFSUklFUl9OQU1FU1BBQ0U6Ol8zOworfQorCit9fQorQk9PU1RfTVBMX0FVWF9BRExfQkFSUklFUl9OQU1FU1BBQ0VfT1BFTgordHlwZWRlZiBhcmc8ND4gXzQ7CisKK0JPT1NUX01QTF9BVVhfQURMX0JBUlJJRVJfTkFNRVNQQUNFX0NMT1NFCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKworQk9PU1RfTVBMX0FVWF9BUkdfQURMX0JBUlJJRVJfREVDTChfNCkKKworbmFtZXNwYWNlIHBsYWNlaG9sZGVycyB7Cit1c2luZyBCT09TVF9NUExfQVVYX0FETF9CQVJSSUVSX05BTUVTUEFDRTo6XzQ7Cit9CisKK319CitCT09TVF9NUExfQVVYX0FETF9CQVJSSUVSX05BTUVTUEFDRV9PUEVOCit0eXBlZGVmIGFyZzw1PiBfNTsKKworQk9PU1RfTVBMX0FVWF9BRExfQkFSUklFUl9OQU1FU1BBQ0VfQ0xPU0UKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCitCT09TVF9NUExfQVVYX0FSR19BRExfQkFSUklFUl9ERUNMKF81KQorCituYW1lc3BhY2UgcGxhY2Vob2xkZXJzIHsKK3VzaW5nIEJPT1NUX01QTF9BVVhfQURMX0JBUlJJRVJfTkFNRVNQQUNFOjpfNTsKK30KKworfX0KK0JPT1NUX01QTF9BVVhfQURMX0JBUlJJRVJfTkFNRVNQQUNFX09QRU4KK3R5cGVkZWYgYXJnPDY+IF82OworCitCT09TVF9NUExfQVVYX0FETF9CQVJSSUVSX05BTUVTUEFDRV9DTE9TRQorbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK0JPT1NUX01QTF9BVVhfQVJHX0FETF9CQVJSSUVSX0RFQ0woXzYpCisKK25hbWVzcGFjZSBwbGFjZWhvbGRlcnMgewordXNpbmcgQk9PU1RfTVBMX0FVWF9BRExfQkFSUklFUl9OQU1FU1BBQ0U6Ol82OworfQorCit9fQpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2djYy9wbHVzLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9nY2MvcGx1cy5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGUwM2UzZQotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9nY2MvcGx1cy5ocHAKQEAgLTAsMCArMSwxNDYgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL3BsdXMuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVGFnMQorICAgICwgdHlwZW5hbWUgVGFnMgorICAgID4KK3N0cnVjdCBwbHVzX2ltcGwKKyAgICA6IGlmX2M8CisgICAgICAgICAgKCBCT09TVF9NUExfQVVYX05FU1RFRF9WQUxVRV9XS05EKGludCwgVGFnMSkKKyAgICAgICAgICAgICAgPiBCT09TVF9NUExfQVVYX05FU1RFRF9WQUxVRV9XS05EKGludCwgVGFnMikKKyAgICAgICAgICAgICkKKworICAgICAgICAsIGF1eDo6Y2FzdDJuZF9pbXBsPCBwbHVzX2ltcGw8IFRhZzEsVGFnMSA+LFRhZzEsIFRhZzIgPgorICAgICAgICAsIGF1eDo6Y2FzdDFzdF9pbXBsPCBwbHVzX2ltcGw8IFRhZzIsVGFnMiA+LFRhZzEsIFRhZzIgPgorICAgICAgICA+Ojp0eXBlCit7Cit9OworCisvLy8gZm9yIERpZ2l0YWwgTWFycyBDKysvY29tcGlsZXJzIHdpdGggbm8gQ1RQUy9UVFAgc3VwcG9ydAordGVtcGxhdGU8PiBzdHJ1Y3QgcGx1c19pbXBsPCBuYSxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFRhZyA+IHN0cnVjdCBwbHVzX2ltcGw8IG5hLFRhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFRhZyA+IHN0cnVjdCBwbHVzX2ltcGw8IFRhZyxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFQgPiBzdHJ1Y3QgcGx1c190YWcKK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIFQ6OnRhZyB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4xKQorICAgICwgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMikKKyAgICAsIHR5cGVuYW1lIE4zID0gbmEsIHR5cGVuYW1lIE40ID0gbmEsIHR5cGVuYW1lIE41ID0gbmEKKyAgICA+CitzdHJ1Y3QgcGx1cworICAgIDogcGx1czwgcGx1czwgcGx1czwgcGx1czwgTjEsTjIgPiwgTjM+LCBOND4sIE41PgoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoCisgICAgICAgICAgNQorICAgICAgICAsIHBsdXMKKyAgICAgICAgLCAoIE4xLCBOMiwgTjMsIE40LCBONSApCisgICAgICAgICkKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgTjEsIHR5cGVuYW1lIE4yLCB0eXBlbmFtZSBOMywgdHlwZW5hbWUgTjQKKyAgICA+CitzdHJ1Y3QgcGx1czwgTjEsTjIsTjMsTjQsbmEgPgorCisgICAgOiBwbHVzPCBwbHVzPCBwbHVzPCBOMSxOMiA+LCBOMz4sIE40PgoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlRfU1BFQygKKyAgICAgICAgICA1CisgICAgICAgICwgcGx1cworICAgICAgICAsICggTjEsIE4yLCBOMywgTjQsIG5hICkKKyAgICAgICAgKQorfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBOMSwgdHlwZW5hbWUgTjIsIHR5cGVuYW1lIE4zCisgICAgPgorc3RydWN0IHBsdXM8IE4xLE4yLE4zLG5hLG5hID4KKworICAgIDogcGx1czwgcGx1czwgTjEsTjIgPiwgTjM+Cit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVF9TUEVDKAorICAgICAgICAgIDUKKyAgICAgICAgLCBwbHVzCisgICAgICAgICwgKCBOMSwgTjIsIE4zLCBuYSwgbmEgKQorICAgICAgICApCit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIE4xLCB0eXBlbmFtZSBOMgorICAgID4KK3N0cnVjdCBwbHVzPCBOMSxOMixuYSxuYSxuYSA+CisgICAgOiBwbHVzX2ltcGw8CisgICAgICAgICAgdHlwZW5hbWUgcGx1c190YWc8TjE+Ojp0eXBlCisgICAgICAgICwgdHlwZW5hbWUgcGx1c190YWc8TjI+Ojp0eXBlCisgICAgICAgID46OnRlbXBsYXRlIGFwcGx5PCBOMSxOMiA+Ojp0eXBlCit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVF9TUEVDKAorICAgICAgICAgIDUKKyAgICAgICAgLCBwbHVzCisgICAgICAgICwgKCBOMSwgTjIsIG5hLCBuYSwgbmEgKQorICAgICAgICApCisKK307CisKK0JPT1NUX01QTF9BVVhfTkFfU1BFQzIoMiwgNSwgcGx1cykKKworfX0KKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7Cit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcGx1c19pbXBsPCBpbnRlZ3JhbF9jX3RhZyxpbnRlZ3JhbF9jX3RhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIE4xLCB0eXBlbmFtZSBOMiA+IHN0cnVjdCBhcHBseQorCisgICAgICAgIDogaW50ZWdyYWxfYzwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgYXV4OjpsYXJnZXN0X2ludDwKKyAgICAgICAgICAgICAgICAgIHR5cGVuYW1lIE4xOjp2YWx1ZV90eXBlCisgICAgICAgICAgICAgICAgLCB0eXBlbmFtZSBOMjo6dmFsdWVfdHlwZQorICAgICAgICAgICAgICAgID46OnR5cGUKKyAgICAgICAgICAgICwgKCBCT09TVF9NUExfQVVYX1ZBTFVFX1dLTkQoTjEpOjp2YWx1ZQorICAgICAgICAgICAgICAgICAgKyBCT09TVF9NUExfQVVYX1ZBTFVFX1dLTkQoTjIpOjp2YWx1ZQorICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgID4KKyAgICB7CisgICAgfTsKK307CisKK319CmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvZ2NjL3F1b3RlLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9nY2MvcXVvdGUuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEwYmIzYTQKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvZ2NjL3F1b3RlLmhwcApAQCAtMCwwICsxLDEyMyBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvcXVvdGUuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBULCBib29sIGhhc190eXBlXyA+CitzdHJ1Y3QgcXVvdGVfaW1wbAoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgVDo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFQgPgorc3RydWN0IHF1b3RlX2ltcGw8IFQsZmFsc2UgPgoreworICAgIHR5cGVkZWYgVCB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgUDEgPiBjbGFzcyBGCisgICAgLCB0eXBlbmFtZSBUYWcgPSB2b2lkXworICAgID4KK3N0cnVjdCBxdW90ZTEKK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEgPiBzdHJ1Y3QgYXBwbHkKKworICAgICAgICA6IHF1b3RlX2ltcGw8CisgICAgICAgICAgICAgIEY8VTE+CisgICAgICAgICAgICAsIGF1eDo6aGFzX3R5cGU8IEY8VTE+ID46OnZhbHVlCisgICAgICAgICAgICA+CisKKyAgICB7CisgICAgfTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFAxLCB0eXBlbmFtZSBQMiA+IGNsYXNzIEYKKyAgICAsIHR5cGVuYW1lIFRhZyA9IHZvaWRfCisgICAgPgorc3RydWN0IHF1b3RlMgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKworICAgICAgICA6IHF1b3RlX2ltcGw8CisgICAgICAgICAgICAgIEY8IFUxLFUyID4KKyAgICAgICAgICAgICwgYXV4OjpoYXNfdHlwZTwgRjwgVTEsVTIgPiA+Ojp2YWx1ZQorICAgICAgICAgICAgPgorCisgICAgeworICAgIH07Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBQMSwgdHlwZW5hbWUgUDIsIHR5cGVuYW1lIFAzID4gY2xhc3MgRgorICAgICwgdHlwZW5hbWUgVGFnID0gdm9pZF8KKyAgICA+CitzdHJ1Y3QgcXVvdGUzCit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiwgdHlwZW5hbWUgVTMgPiBzdHJ1Y3QgYXBwbHkKKworICAgICAgICA6IHF1b3RlX2ltcGw8CisgICAgICAgICAgICAgIEY8IFUxLFUyLFUzID4KKyAgICAgICAgICAgICwgYXV4OjpoYXNfdHlwZTwgRjwgVTEsVTIsVTMgPiA+Ojp2YWx1ZQorICAgICAgICAgICAgPgorCisgICAgeworICAgIH07Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBQMSwgdHlwZW5hbWUgUDIsIHR5cGVuYW1lIFAzLCB0eXBlbmFtZSBQNCA+IGNsYXNzIEYKKyAgICAsIHR5cGVuYW1lIFRhZyA9IHZvaWRfCisgICAgPgorc3RydWN0IHF1b3RlNAoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiwgdHlwZW5hbWUgVTMsIHR5cGVuYW1lIFU0CisgICAgICAgID4KKyAgICBzdHJ1Y3QgYXBwbHkKKworICAgICAgICA6IHF1b3RlX2ltcGw8CisgICAgICAgICAgICAgIEY8IFUxLFUyLFUzLFU0ID4KKyAgICAgICAgICAgICwgYXV4OjpoYXNfdHlwZTwgRjwgVTEsVTIsVTMsVTQgPiA+Ojp2YWx1ZQorICAgICAgICAgICAgPgorCisgICAgeworICAgIH07Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFAxLCB0eXBlbmFtZSBQMiwgdHlwZW5hbWUgUDMsIHR5cGVuYW1lIFA0CisgICAgICAgICwgdHlwZW5hbWUgUDUKKyAgICAgICAgPgorICAgICAgY2xhc3MgRgorICAgICwgdHlwZW5hbWUgVGFnID0gdm9pZF8KKyAgICA+CitzdHJ1Y3QgcXVvdGU1Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyLCB0eXBlbmFtZSBVMywgdHlwZW5hbWUgVTQKKyAgICAgICAgLCB0eXBlbmFtZSBVNQorICAgICAgICA+CisgICAgc3RydWN0IGFwcGx5CisKKyAgICAgICAgOiBxdW90ZV9pbXBsPAorICAgICAgICAgICAgICBGPCBVMSxVMixVMyxVNCxVNSA+CisgICAgICAgICAgICAsIGF1eDo6aGFzX3R5cGU8IEY8IFUxLFUyLFUzLFU0LFU1ID4gPjo6dmFsdWUKKyAgICAgICAgICAgID4KKworICAgIHsKKyAgICB9OworfTsKKworfX0KKwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2djYy9yZXZlcnNlX2ZvbGRfaW1wbC5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvZ2NjL3JldmVyc2VfZm9sZF9pbXBsLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZDNhZDc1Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2djYy9yZXZlcnNlX2ZvbGRfaW1wbC5ocHAKQEAgLTAsMCArMSwyMzEgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL2F1eF8vcmV2ZXJzZV9mb2xkX2ltcGwuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7IG5hbWVzcGFjZSBhdXggeworCisvLy8gZm9yd2FyZCBkZWNsYXJhdGlvbgorCit0ZW1wbGF0ZTwKKyAgICAgIGxvbmcgTgorICAgICwgdHlwZW5hbWUgRmlyc3QKKyAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBCYWNrd2FyZE9wCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+CitzdHJ1Y3QgcmV2ZXJzZV9mb2xkX2ltcGw7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBCYWNrd2FyZE9wCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+CitzdHJ1Y3QgcmV2ZXJzZV9mb2xkX2ltcGw8IDAsRmlyc3QsTGFzdCxTdGF0ZSxCYWNrd2FyZE9wLEZvcndhcmRPcCA+Cit7CisgICAgdHlwZWRlZiBGaXJzdCBpdGVyMDsKKyAgICB0eXBlZGVmIFN0YXRlIGZ3ZF9zdGF0ZTA7CisgICAgdHlwZWRlZiBmd2Rfc3RhdGUwIGJrd2Rfc3RhdGUwOworICAgIHR5cGVkZWYgYmt3ZF9zdGF0ZTAgc3RhdGU7CisgICAgdHlwZWRlZiBpdGVyMCBpdGVyYXRvcjsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBCYWNrd2FyZE9wCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+CitzdHJ1Y3QgcmV2ZXJzZV9mb2xkX2ltcGw8IDEsRmlyc3QsTGFzdCxTdGF0ZSxCYWNrd2FyZE9wLEZvcndhcmRPcCA+Cit7CisgICAgdHlwZWRlZiBGaXJzdCBpdGVyMDsKKyAgICB0eXBlZGVmIFN0YXRlIGZ3ZF9zdGF0ZTA7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCwgZndkX3N0YXRlMCwgdHlwZW5hbWUgZGVyZWY8aXRlcjA+Ojp0eXBlID46OnR5cGUgZndkX3N0YXRlMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMD46OnR5cGUgaXRlcjE7CisgICAgCisKKyAgICB0eXBlZGVmIGZ3ZF9zdGF0ZTEgYmt3ZF9zdGF0ZTE7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEJhY2t3YXJkT3AsIGJrd2Rfc3RhdGUxLCB0eXBlbmFtZSBkZXJlZjxpdGVyMD46OnR5cGUgPjo6dHlwZSBia3dkX3N0YXRlMDsKKyAgICB0eXBlZGVmIGJrd2Rfc3RhdGUwIHN0YXRlOworICAgIHR5cGVkZWYgaXRlcjEgaXRlcmF0b3I7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICwgdHlwZW5hbWUgQmFja3dhcmRPcAorICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgPgorc3RydWN0IHJldmVyc2VfZm9sZF9pbXBsPCAyLEZpcnN0LExhc3QsU3RhdGUsQmFja3dhcmRPcCxGb3J3YXJkT3AgPgoreworICAgIHR5cGVkZWYgRmlyc3QgaXRlcjA7CisgICAgdHlwZWRlZiBTdGF0ZSBmd2Rfc3RhdGUwOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsIGZ3ZF9zdGF0ZTAsIHR5cGVuYW1lIGRlcmVmPGl0ZXIwPjo6dHlwZSA+Ojp0eXBlIGZ3ZF9zdGF0ZTE7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjA+Ojp0eXBlIGl0ZXIxOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsIGZ3ZF9zdGF0ZTEsIHR5cGVuYW1lIGRlcmVmPGl0ZXIxPjo6dHlwZSA+Ojp0eXBlIGZ3ZF9zdGF0ZTI7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjE+Ojp0eXBlIGl0ZXIyOworICAgIAorCisgICAgdHlwZWRlZiBmd2Rfc3RhdGUyIGJrd2Rfc3RhdGUyOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLCBia3dkX3N0YXRlMiwgdHlwZW5hbWUgZGVyZWY8aXRlcjE+Ojp0eXBlID46OnR5cGUgYmt3ZF9zdGF0ZTE7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEJhY2t3YXJkT3AsIGJrd2Rfc3RhdGUxLCB0eXBlbmFtZSBkZXJlZjxpdGVyMD46OnR5cGUgPjo6dHlwZSBia3dkX3N0YXRlMDsKKyAgICAKKworICAgIHR5cGVkZWYgYmt3ZF9zdGF0ZTAgc3RhdGU7CisgICAgdHlwZWRlZiBpdGVyMiBpdGVyYXRvcjsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBCYWNrd2FyZE9wCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+CitzdHJ1Y3QgcmV2ZXJzZV9mb2xkX2ltcGw8IDMsRmlyc3QsTGFzdCxTdGF0ZSxCYWNrd2FyZE9wLEZvcndhcmRPcCA+Cit7CisgICAgdHlwZWRlZiBGaXJzdCBpdGVyMDsKKyAgICB0eXBlZGVmIFN0YXRlIGZ3ZF9zdGF0ZTA7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCwgZndkX3N0YXRlMCwgdHlwZW5hbWUgZGVyZWY8aXRlcjA+Ojp0eXBlID46OnR5cGUgZndkX3N0YXRlMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMD46OnR5cGUgaXRlcjE7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCwgZndkX3N0YXRlMSwgdHlwZW5hbWUgZGVyZWY8aXRlcjE+Ojp0eXBlID46OnR5cGUgZndkX3N0YXRlMjsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMT46OnR5cGUgaXRlcjI7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCwgZndkX3N0YXRlMiwgdHlwZW5hbWUgZGVyZWY8aXRlcjI+Ojp0eXBlID46OnR5cGUgZndkX3N0YXRlMzsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMj46OnR5cGUgaXRlcjM7CisgICAgCisKKyAgICB0eXBlZGVmIGZ3ZF9zdGF0ZTMgYmt3ZF9zdGF0ZTM7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEJhY2t3YXJkT3AsIGJrd2Rfc3RhdGUzLCB0eXBlbmFtZSBkZXJlZjxpdGVyMj46OnR5cGUgPjo6dHlwZSBia3dkX3N0YXRlMjsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgQmFja3dhcmRPcCwgYmt3ZF9zdGF0ZTIsIHR5cGVuYW1lIGRlcmVmPGl0ZXIxPjo6dHlwZSA+Ojp0eXBlIGJrd2Rfc3RhdGUxOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLCBia3dkX3N0YXRlMSwgdHlwZW5hbWUgZGVyZWY8aXRlcjA+Ojp0eXBlID46OnR5cGUgYmt3ZF9zdGF0ZTA7CisgICAgCisKKyAgICB0eXBlZGVmIGJrd2Rfc3RhdGUwIHN0YXRlOworICAgIHR5cGVkZWYgaXRlcjMgaXRlcmF0b3I7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICwgdHlwZW5hbWUgQmFja3dhcmRPcAorICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgPgorc3RydWN0IHJldmVyc2VfZm9sZF9pbXBsPCA0LEZpcnN0LExhc3QsU3RhdGUsQmFja3dhcmRPcCxGb3J3YXJkT3AgPgoreworICAgIHR5cGVkZWYgRmlyc3QgaXRlcjA7CisgICAgdHlwZWRlZiBTdGF0ZSBmd2Rfc3RhdGUwOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsIGZ3ZF9zdGF0ZTAsIHR5cGVuYW1lIGRlcmVmPGl0ZXIwPjo6dHlwZSA+Ojp0eXBlIGZ3ZF9zdGF0ZTE7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjA+Ojp0eXBlIGl0ZXIxOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsIGZ3ZF9zdGF0ZTEsIHR5cGVuYW1lIGRlcmVmPGl0ZXIxPjo6dHlwZSA+Ojp0eXBlIGZ3ZF9zdGF0ZTI7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjE+Ojp0eXBlIGl0ZXIyOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsIGZ3ZF9zdGF0ZTIsIHR5cGVuYW1lIGRlcmVmPGl0ZXIyPjo6dHlwZSA+Ojp0eXBlIGZ3ZF9zdGF0ZTM7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjI+Ojp0eXBlIGl0ZXIzOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsIGZ3ZF9zdGF0ZTMsIHR5cGVuYW1lIGRlcmVmPGl0ZXIzPjo6dHlwZSA+Ojp0eXBlIGZ3ZF9zdGF0ZTQ7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjM+Ojp0eXBlIGl0ZXI0OworICAgIAorCisgICAgdHlwZWRlZiBmd2Rfc3RhdGU0IGJrd2Rfc3RhdGU0OworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLCBia3dkX3N0YXRlNCwgdHlwZW5hbWUgZGVyZWY8aXRlcjM+Ojp0eXBlID46OnR5cGUgYmt3ZF9zdGF0ZTM7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEJhY2t3YXJkT3AsIGJrd2Rfc3RhdGUzLCB0eXBlbmFtZSBkZXJlZjxpdGVyMj46OnR5cGUgPjo6dHlwZSBia3dkX3N0YXRlMjsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgQmFja3dhcmRPcCwgYmt3ZF9zdGF0ZTIsIHR5cGVuYW1lIGRlcmVmPGl0ZXIxPjo6dHlwZSA+Ojp0eXBlIGJrd2Rfc3RhdGUxOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLCBia3dkX3N0YXRlMSwgdHlwZW5hbWUgZGVyZWY8aXRlcjA+Ojp0eXBlID46OnR5cGUgYmt3ZF9zdGF0ZTA7CisgICAgCisKKyAgICB0eXBlZGVmIGJrd2Rfc3RhdGUwIHN0YXRlOworICAgIHR5cGVkZWYgaXRlcjQgaXRlcmF0b3I7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIGxvbmcgTgorICAgICwgdHlwZW5hbWUgRmlyc3QKKyAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBCYWNrd2FyZE9wCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+CitzdHJ1Y3QgcmV2ZXJzZV9mb2xkX2ltcGwKK3sKKyAgICB0eXBlZGVmIEZpcnN0IGl0ZXIwOworICAgIHR5cGVkZWYgU3RhdGUgZndkX3N0YXRlMDsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLCBmd2Rfc3RhdGUwLCB0eXBlbmFtZSBkZXJlZjxpdGVyMD46OnR5cGUgPjo6dHlwZSBmd2Rfc3RhdGUxOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIwPjo6dHlwZSBpdGVyMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLCBmd2Rfc3RhdGUxLCB0eXBlbmFtZSBkZXJlZjxpdGVyMT46OnR5cGUgPjo6dHlwZSBmd2Rfc3RhdGUyOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIxPjo6dHlwZSBpdGVyMjsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLCBmd2Rfc3RhdGUyLCB0eXBlbmFtZSBkZXJlZjxpdGVyMj46OnR5cGUgPjo6dHlwZSBmd2Rfc3RhdGUzOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIyPjo6dHlwZSBpdGVyMzsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLCBmd2Rfc3RhdGUzLCB0eXBlbmFtZSBkZXJlZjxpdGVyMz46OnR5cGUgPjo6dHlwZSBmd2Rfc3RhdGU0OworICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIzPjo6dHlwZSBpdGVyNDsKKyAgICAKKworICAgIHR5cGVkZWYgcmV2ZXJzZV9mb2xkX2ltcGw8CisgICAgICAgICAgKCAoTiAtIDQpIDwgMCA/IDAgOiBOIC0gNCApCisgICAgICAgICwgaXRlcjQKKyAgICAgICAgLCBMYXN0CisgICAgICAgICwgZndkX3N0YXRlNAorICAgICAgICAsIEJhY2t3YXJkT3AKKyAgICAgICAgLCBGb3J3YXJkT3AKKyAgICAgICAgPiBuZXN0ZWRfY2h1bms7CisKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG5lc3RlZF9jaHVuazo6c3RhdGUgYmt3ZF9zdGF0ZTQ7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEJhY2t3YXJkT3AsIGJrd2Rfc3RhdGU0LCB0eXBlbmFtZSBkZXJlZjxpdGVyMz46OnR5cGUgPjo6dHlwZSBia3dkX3N0YXRlMzsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgQmFja3dhcmRPcCwgYmt3ZF9zdGF0ZTMsIHR5cGVuYW1lIGRlcmVmPGl0ZXIyPjo6dHlwZSA+Ojp0eXBlIGJrd2Rfc3RhdGUyOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLCBia3dkX3N0YXRlMiwgdHlwZW5hbWUgZGVyZWY8aXRlcjE+Ojp0eXBlID46OnR5cGUgYmt3ZF9zdGF0ZTE7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEJhY2t3YXJkT3AsIGJrd2Rfc3RhdGUxLCB0eXBlbmFtZSBkZXJlZjxpdGVyMD46OnR5cGUgPjo6dHlwZSBia3dkX3N0YXRlMDsKKyAgICAKKworICAgIHR5cGVkZWYgYmt3ZF9zdGF0ZTAgc3RhdGU7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBuZXN0ZWRfY2h1bms6Oml0ZXJhdG9yIGl0ZXJhdG9yOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGaXJzdAorICAgICwgdHlwZW5hbWUgTGFzdAorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEJhY2t3YXJkT3AKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgID4KK3N0cnVjdCByZXZlcnNlX2ZvbGRfaW1wbDwgLTEsRmlyc3QsTGFzdCxTdGF0ZSxCYWNrd2FyZE9wLEZvcndhcmRPcCA+Cit7CisgICAgdHlwZWRlZiByZXZlcnNlX2ZvbGRfaW1wbDwKKyAgICAgICAgICAtMQorICAgICAgICAsIHR5cGVuYW1lIG1wbDo6bmV4dDxGaXJzdD46OnR5cGUKKyAgICAgICAgLCBMYXN0CisgICAgICAgICwgdHlwZW5hbWUgYXBwbHkyPEZvcndhcmRPcCxTdGF0ZSwgdHlwZW5hbWUgZGVyZWY8Rmlyc3Q+Ojp0eXBlPjo6dHlwZQorICAgICAgICAsIEJhY2t3YXJkT3AKKyAgICAgICAgLCBGb3J3YXJkT3AKKyAgICAgICAgPiBuZXN0ZWRfc3RlcDsKKworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPAorICAgICAgICAgIEJhY2t3YXJkT3AKKyAgICAgICAgLCB0eXBlbmFtZSBuZXN0ZWRfc3RlcDo6c3RhdGUKKyAgICAgICAgLCB0eXBlbmFtZSBkZXJlZjxGaXJzdD46OnR5cGUKKyAgICAgICAgPjo6dHlwZSBzdGF0ZTsKKworICAgIHR5cGVkZWYgdHlwZW5hbWUgbmVzdGVkX3N0ZXA6Oml0ZXJhdG9yIGl0ZXJhdG9yOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBMYXN0CisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICwgdHlwZW5hbWUgQmFja3dhcmRPcAorICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgPgorc3RydWN0IHJldmVyc2VfZm9sZF9pbXBsPCAtMSxMYXN0LExhc3QsU3RhdGUsQmFja3dhcmRPcCxGb3J3YXJkT3AgPgoreworICAgIHR5cGVkZWYgU3RhdGUgc3RhdGU7CisgICAgdHlwZWRlZiBMYXN0IGl0ZXJhdG9yOworfTsKKworfX19CmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvZ2NjL3JldmVyc2VfaXRlcl9mb2xkX2ltcGwuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2djYy9yZXZlcnNlX2l0ZXJfZm9sZF9pbXBsLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zM2JmNTA4Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2djYy9yZXZlcnNlX2l0ZXJfZm9sZF9pbXBsLmhwcApAQCAtMCwwICsxLDIzMSBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvYXV4Xy9yZXZlcnNlX2l0ZXJfZm9sZF9pbXBsLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeyBuYW1lc3BhY2UgYXV4IHsKKworLy8vIGZvcndhcmQgZGVjbGFyYXRpb24KKwordGVtcGxhdGU8CisgICAgICBsb25nIE4KKyAgICAsIHR5cGVuYW1lIEZpcnN0CisgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICwgdHlwZW5hbWUgQmFja3dhcmRPcAorICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgPgorc3RydWN0IHJldmVyc2VfaXRlcl9mb2xkX2ltcGw7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBCYWNrd2FyZE9wCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+CitzdHJ1Y3QgcmV2ZXJzZV9pdGVyX2ZvbGRfaW1wbDwgMCxGaXJzdCxMYXN0LFN0YXRlLEJhY2t3YXJkT3AsRm9yd2FyZE9wID4KK3sKKyAgICB0eXBlZGVmIEZpcnN0IGl0ZXIwOworICAgIHR5cGVkZWYgU3RhdGUgZndkX3N0YXRlMDsKKyAgICB0eXBlZGVmIGZ3ZF9zdGF0ZTAgYmt3ZF9zdGF0ZTA7CisgICAgdHlwZWRlZiBia3dkX3N0YXRlMCBzdGF0ZTsKKyAgICB0eXBlZGVmIGl0ZXIwIGl0ZXJhdG9yOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGaXJzdAorICAgICwgdHlwZW5hbWUgTGFzdAorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEJhY2t3YXJkT3AKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgID4KK3N0cnVjdCByZXZlcnNlX2l0ZXJfZm9sZF9pbXBsPCAxLEZpcnN0LExhc3QsU3RhdGUsQmFja3dhcmRPcCxGb3J3YXJkT3AgPgoreworICAgIHR5cGVkZWYgRmlyc3QgaXRlcjA7CisgICAgdHlwZWRlZiBTdGF0ZSBmd2Rfc3RhdGUwOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsZndkX3N0YXRlMCxpdGVyMCA+Ojp0eXBlIGZ3ZF9zdGF0ZTE7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjA+Ojp0eXBlIGl0ZXIxOworICAgIAorCisgICAgdHlwZWRlZiBmd2Rfc3RhdGUxIGJrd2Rfc3RhdGUxOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLGJrd2Rfc3RhdGUxLGl0ZXIwID46OnR5cGUgYmt3ZF9zdGF0ZTA7CisgICAgdHlwZWRlZiBia3dkX3N0YXRlMCBzdGF0ZTsKKyAgICB0eXBlZGVmIGl0ZXIxIGl0ZXJhdG9yOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGaXJzdAorICAgICwgdHlwZW5hbWUgTGFzdAorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEJhY2t3YXJkT3AKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgID4KK3N0cnVjdCByZXZlcnNlX2l0ZXJfZm9sZF9pbXBsPCAyLEZpcnN0LExhc3QsU3RhdGUsQmFja3dhcmRPcCxGb3J3YXJkT3AgPgoreworICAgIHR5cGVkZWYgRmlyc3QgaXRlcjA7CisgICAgdHlwZWRlZiBTdGF0ZSBmd2Rfc3RhdGUwOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsZndkX3N0YXRlMCxpdGVyMCA+Ojp0eXBlIGZ3ZF9zdGF0ZTE7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjA+Ojp0eXBlIGl0ZXIxOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsZndkX3N0YXRlMSxpdGVyMSA+Ojp0eXBlIGZ3ZF9zdGF0ZTI7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjE+Ojp0eXBlIGl0ZXIyOworICAgIAorCisgICAgdHlwZWRlZiBmd2Rfc3RhdGUyIGJrd2Rfc3RhdGUyOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLGJrd2Rfc3RhdGUyLGl0ZXIxID46OnR5cGUgYmt3ZF9zdGF0ZTE7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEJhY2t3YXJkT3AsYmt3ZF9zdGF0ZTEsaXRlcjAgPjo6dHlwZSBia3dkX3N0YXRlMDsKKyAgICAKKworICAgIHR5cGVkZWYgYmt3ZF9zdGF0ZTAgc3RhdGU7CisgICAgdHlwZWRlZiBpdGVyMiBpdGVyYXRvcjsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBCYWNrd2FyZE9wCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+CitzdHJ1Y3QgcmV2ZXJzZV9pdGVyX2ZvbGRfaW1wbDwgMyxGaXJzdCxMYXN0LFN0YXRlLEJhY2t3YXJkT3AsRm9yd2FyZE9wID4KK3sKKyAgICB0eXBlZGVmIEZpcnN0IGl0ZXIwOworICAgIHR5cGVkZWYgU3RhdGUgZndkX3N0YXRlMDsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLGZ3ZF9zdGF0ZTAsaXRlcjAgPjo6dHlwZSBmd2Rfc3RhdGUxOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIwPjo6dHlwZSBpdGVyMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLGZ3ZF9zdGF0ZTEsaXRlcjEgPjo6dHlwZSBmd2Rfc3RhdGUyOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIxPjo6dHlwZSBpdGVyMjsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLGZ3ZF9zdGF0ZTIsaXRlcjIgPjo6dHlwZSBmd2Rfc3RhdGUzOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIyPjo6dHlwZSBpdGVyMzsKKyAgICAKKworICAgIHR5cGVkZWYgZndkX3N0YXRlMyBia3dkX3N0YXRlMzsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgQmFja3dhcmRPcCxia3dkX3N0YXRlMyxpdGVyMiA+Ojp0eXBlIGJrd2Rfc3RhdGUyOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLGJrd2Rfc3RhdGUyLGl0ZXIxID46OnR5cGUgYmt3ZF9zdGF0ZTE7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEJhY2t3YXJkT3AsYmt3ZF9zdGF0ZTEsaXRlcjAgPjo6dHlwZSBia3dkX3N0YXRlMDsKKyAgICAKKworICAgIHR5cGVkZWYgYmt3ZF9zdGF0ZTAgc3RhdGU7CisgICAgdHlwZWRlZiBpdGVyMyBpdGVyYXRvcjsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBCYWNrd2FyZE9wCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+CitzdHJ1Y3QgcmV2ZXJzZV9pdGVyX2ZvbGRfaW1wbDwgNCxGaXJzdCxMYXN0LFN0YXRlLEJhY2t3YXJkT3AsRm9yd2FyZE9wID4KK3sKKyAgICB0eXBlZGVmIEZpcnN0IGl0ZXIwOworICAgIHR5cGVkZWYgU3RhdGUgZndkX3N0YXRlMDsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLGZ3ZF9zdGF0ZTAsaXRlcjAgPjo6dHlwZSBmd2Rfc3RhdGUxOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIwPjo6dHlwZSBpdGVyMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLGZ3ZF9zdGF0ZTEsaXRlcjEgPjo6dHlwZSBmd2Rfc3RhdGUyOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIxPjo6dHlwZSBpdGVyMjsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLGZ3ZF9zdGF0ZTIsaXRlcjIgPjo6dHlwZSBmd2Rfc3RhdGUzOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIyPjo6dHlwZSBpdGVyMzsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLGZ3ZF9zdGF0ZTMsaXRlcjMgPjo6dHlwZSBmd2Rfc3RhdGU0OworICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIzPjo6dHlwZSBpdGVyNDsKKyAgICAKKworICAgIHR5cGVkZWYgZndkX3N0YXRlNCBia3dkX3N0YXRlNDsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgQmFja3dhcmRPcCxia3dkX3N0YXRlNCxpdGVyMyA+Ojp0eXBlIGJrd2Rfc3RhdGUzOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLGJrd2Rfc3RhdGUzLGl0ZXIyID46OnR5cGUgYmt3ZF9zdGF0ZTI7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEJhY2t3YXJkT3AsYmt3ZF9zdGF0ZTIsaXRlcjEgPjo6dHlwZSBia3dkX3N0YXRlMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgQmFja3dhcmRPcCxia3dkX3N0YXRlMSxpdGVyMCA+Ojp0eXBlIGJrd2Rfc3RhdGUwOworICAgIAorCisgICAgdHlwZWRlZiBia3dkX3N0YXRlMCBzdGF0ZTsKKyAgICB0eXBlZGVmIGl0ZXI0IGl0ZXJhdG9yOworfTsKKwordGVtcGxhdGU8CisgICAgICBsb25nIE4KKyAgICAsIHR5cGVuYW1lIEZpcnN0CisgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICwgdHlwZW5hbWUgQmFja3dhcmRPcAorICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgPgorc3RydWN0IHJldmVyc2VfaXRlcl9mb2xkX2ltcGwKK3sKKyAgICB0eXBlZGVmIEZpcnN0IGl0ZXIwOworICAgIHR5cGVkZWYgU3RhdGUgZndkX3N0YXRlMDsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLGZ3ZF9zdGF0ZTAsaXRlcjAgPjo6dHlwZSBmd2Rfc3RhdGUxOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIwPjo6dHlwZSBpdGVyMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLGZ3ZF9zdGF0ZTEsaXRlcjEgPjo6dHlwZSBmd2Rfc3RhdGUyOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIxPjo6dHlwZSBpdGVyMjsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLGZ3ZF9zdGF0ZTIsaXRlcjIgPjo6dHlwZSBmd2Rfc3RhdGUzOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIyPjo6dHlwZSBpdGVyMzsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLGZ3ZF9zdGF0ZTMsaXRlcjMgPjo6dHlwZSBmd2Rfc3RhdGU0OworICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIzPjo6dHlwZSBpdGVyNDsKKyAgICAKKworICAgIHR5cGVkZWYgcmV2ZXJzZV9pdGVyX2ZvbGRfaW1wbDwKKyAgICAgICAgICAoIChOIC0gNCkgPCAwID8gMCA6IE4gLSA0ICkKKyAgICAgICAgLCBpdGVyNAorICAgICAgICAsIExhc3QKKyAgICAgICAgLCBmd2Rfc3RhdGU0CisgICAgICAgICwgQmFja3dhcmRPcAorICAgICAgICAsIEZvcndhcmRPcAorICAgICAgICA+IG5lc3RlZF9jaHVuazsKKworICAgIHR5cGVkZWYgdHlwZW5hbWUgbmVzdGVkX2NodW5rOjpzdGF0ZSBia3dkX3N0YXRlNDsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgQmFja3dhcmRPcCxia3dkX3N0YXRlNCxpdGVyMyA+Ojp0eXBlIGJrd2Rfc3RhdGUzOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLGJrd2Rfc3RhdGUzLGl0ZXIyID46OnR5cGUgYmt3ZF9zdGF0ZTI7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEJhY2t3YXJkT3AsYmt3ZF9zdGF0ZTIsaXRlcjEgPjo6dHlwZSBia3dkX3N0YXRlMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgQmFja3dhcmRPcCxia3dkX3N0YXRlMSxpdGVyMCA+Ojp0eXBlIGJrd2Rfc3RhdGUwOworICAgIAorCisgICAgdHlwZWRlZiBia3dkX3N0YXRlMCBzdGF0ZTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG5lc3RlZF9jaHVuazo6aXRlcmF0b3IgaXRlcmF0b3I7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICwgdHlwZW5hbWUgQmFja3dhcmRPcAorICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgPgorc3RydWN0IHJldmVyc2VfaXRlcl9mb2xkX2ltcGw8IC0xLEZpcnN0LExhc3QsU3RhdGUsQmFja3dhcmRPcCxGb3J3YXJkT3AgPgoreworICAgIHR5cGVkZWYgcmV2ZXJzZV9pdGVyX2ZvbGRfaW1wbDwKKyAgICAgICAgICAtMQorICAgICAgICAsIHR5cGVuYW1lIG1wbDo6bmV4dDxGaXJzdD46OnR5cGUKKyAgICAgICAgLCBMYXN0CisgICAgICAgICwgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsU3RhdGUsRmlyc3QgPjo6dHlwZQorICAgICAgICAsIEJhY2t3YXJkT3AKKyAgICAgICAgLCBGb3J3YXJkT3AKKyAgICAgICAgPiBuZXN0ZWRfc3RlcDsKKworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPAorICAgICAgICAgIEJhY2t3YXJkT3AKKyAgICAgICAgLCB0eXBlbmFtZSBuZXN0ZWRfc3RlcDo6c3RhdGUKKyAgICAgICAgLCBGaXJzdAorICAgICAgICA+Ojp0eXBlIHN0YXRlOworCisgICAgdHlwZWRlZiB0eXBlbmFtZSBuZXN0ZWRfc3RlcDo6aXRlcmF0b3IgaXRlcmF0b3I7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBCYWNrd2FyZE9wCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+CitzdHJ1Y3QgcmV2ZXJzZV9pdGVyX2ZvbGRfaW1wbDwgLTEsTGFzdCxMYXN0LFN0YXRlLEJhY2t3YXJkT3AsRm9yd2FyZE9wID4KK3sKKyAgICB0eXBlZGVmIFN0YXRlIHN0YXRlOworICAgIHR5cGVkZWYgTGFzdCBpdGVyYXRvcjsKK307CisKK319fQpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2djYy9zZXQuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2djYy9zZXQuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRjNGNhMTEKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvZ2NjL3NldC5ocHAKQEAgLTAsMCArMSwzMjMgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL3NldC5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCA9IG5hLCB0eXBlbmFtZSBUMSA9IG5hLCB0eXBlbmFtZSBUMiA9IG5hLCB0eXBlbmFtZSBUMyA9IG5hCisgICAgLCB0eXBlbmFtZSBUNCA9IG5hLCB0eXBlbmFtZSBUNSA9IG5hLCB0eXBlbmFtZSBUNiA9IG5hLCB0eXBlbmFtZSBUNyA9IG5hCisgICAgLCB0eXBlbmFtZSBUOCA9IG5hLCB0eXBlbmFtZSBUOSA9IG5hLCB0eXBlbmFtZSBUMTAgPSBuYSwgdHlwZW5hbWUgVDExID0gbmEKKyAgICAsIHR5cGVuYW1lIFQxMiA9IG5hLCB0eXBlbmFtZSBUMTMgPSBuYSwgdHlwZW5hbWUgVDE0ID0gbmEKKyAgICAsIHR5cGVuYW1lIFQxNSA9IG5hLCB0eXBlbmFtZSBUMTYgPSBuYSwgdHlwZW5hbWUgVDE3ID0gbmEKKyAgICAsIHR5cGVuYW1lIFQxOCA9IG5hLCB0eXBlbmFtZSBUMTkgPSBuYQorICAgID4KK3N0cnVjdCBzZXQ7CisKK3RlbXBsYXRlPAorICAgICAKKyAgICA+CitzdHJ1Y3Qgc2V0PAorICAgICAgICAgIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogc2V0MDwgID4KK3sKKyAgICB0eXBlZGVmIHNldDA8ICA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwCisgICAgPgorc3RydWN0IHNldDwKKyAgICAgICAgICBUMCwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHNldDE8VDA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQxPFQwPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEKKyAgICA+CitzdHJ1Y3Qgc2V0PAorICAgICAgICAgIFQwLCBUMSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogc2V0MjwgVDAsVDEgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0MjwgVDAsVDEgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyCisgICAgPgorc3RydWN0IHNldDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHNldDM8IFQwLFQxLFQyID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDM8IFQwLFQxLFQyID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMKKyAgICA+CitzdHJ1Y3Qgc2V0PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogc2V0NDwgVDAsVDEsVDIsVDMgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0NDwgVDAsVDEsVDIsVDMgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICA+CitzdHJ1Y3Qgc2V0PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogc2V0NTwgVDAsVDEsVDIsVDMsVDQgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0NTwgVDAsVDEsVDIsVDMsVDQgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1CisgICAgPgorc3RydWN0IHNldDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHNldDY8IFQwLFQxLFQyLFQzLFQ0LFQ1ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDY8IFQwLFQxLFQyLFQzLFQ0LFQ1ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYKKyAgICA+CitzdHJ1Y3Qgc2V0PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogc2V0NzwgVDAsVDEsVDIsVDMsVDQsVDUsVDYgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0NzwgVDAsVDEsVDIsVDMsVDQsVDUsVDYgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcKKyAgICA+CitzdHJ1Y3Qgc2V0PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogc2V0ODwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0ODwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4CisgICAgPgorc3RydWN0IHNldDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHNldDk8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDk8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICA+CitzdHJ1Y3Qgc2V0PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogc2V0MTA8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDEwPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAKKyAgICA+CitzdHJ1Y3Qgc2V0PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHNldDExPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0MTE8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMQorICAgID4KK3N0cnVjdCBzZXQ8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHNldDEyPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDEyPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIKKyAgICA+CitzdHJ1Y3Qgc2V0PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogc2V0MTM8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDEzPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMiA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMKKyAgICA+CitzdHJ1Y3Qgc2V0PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHNldDE0PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0MTQ8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgID4KK3N0cnVjdCBzZXQ8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0LCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHNldDE1PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQxNTwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzLFQxNCA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICwgdHlwZW5hbWUgVDE1CisgICAgPgorc3RydWN0IHNldDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgLCBUMTUsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHNldDE2PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNQorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQxNjwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzLFQxNCxUMTUgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2CisgICAgPgorc3RydWN0IHNldDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgLCBUMTUsIFQxNiwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBzZXQxNzwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgLCBUMTUsIFQxNgorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQxNzwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzLFQxNCxUMTUsVDE2ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3CisgICAgPgorc3RydWN0IHNldDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgLCBUMTUsIFQxNiwgVDE3LCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogc2V0MTg8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1LCBUMTYsIFQxNworICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQxODwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzLFQxNCxUMTUsVDE2LFQxNyA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4CisgICAgPgorc3RydWN0IHNldDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgLCBUMTUsIFQxNiwgVDE3LCBUMTgsIG5hCisgICAgICAgID4KKyAgICA6IHNldDE5PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgVDE2LCBUMTcsIFQxOAorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQxOTwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzLFQxNCxUMTUsVDE2LFQxNyxUMTggPjo6dHlwZSB0eXBlOworfTsKKworLy8vIHByaW1hcnkgdGVtcGxhdGUgKG5vdCBhIHNwZWNpYWxpemF0aW9uISkKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgPgorc3RydWN0IHNldAorICAgIDogc2V0MjA8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1LCBUMTYsIFQxNywgVDE4LCBUMTkKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0MjA8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyxUMTQsVDE1LFQxNixUMTcsVDE4LFQxOSA+Ojp0eXBlIHR5cGU7Cit9OworCit9fQorCmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvZ2NjL3NldF9jLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9nY2Mvc2V0X2MuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJlZjJmZGUKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvZ2NjL3NldF9jLmhwcApAQCAtMCwwICsxLDMyOCBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvc2V0X2MuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCA9IExPTkdfTUFYLCBsb25nIEMxID0gTE9OR19NQVgsIGxvbmcgQzIgPSBMT05HX01BWAorICAgICwgbG9uZyBDMyA9IExPTkdfTUFYLCBsb25nIEM0ID0gTE9OR19NQVgsIGxvbmcgQzUgPSBMT05HX01BWAorICAgICwgbG9uZyBDNiA9IExPTkdfTUFYLCBsb25nIEM3ID0gTE9OR19NQVgsIGxvbmcgQzggPSBMT05HX01BWAorICAgICwgbG9uZyBDOSA9IExPTkdfTUFYLCBsb25nIEMxMCA9IExPTkdfTUFYLCBsb25nIEMxMSA9IExPTkdfTUFYCisgICAgLCBsb25nIEMxMiA9IExPTkdfTUFYLCBsb25nIEMxMyA9IExPTkdfTUFYLCBsb25nIEMxNCA9IExPTkdfTUFYCisgICAgLCBsb25nIEMxNSA9IExPTkdfTUFYLCBsb25nIEMxNiA9IExPTkdfTUFYLCBsb25nIEMxNyA9IExPTkdfTUFYCisgICAgLCBsb25nIEMxOCA9IExPTkdfTUFYLCBsb25nIEMxOSA9IExPTkdfTUFYCisgICAgPgorc3RydWN0IHNldF9jOworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQKKyAgICA+CitzdHJ1Y3Qgc2V0X2M8CisgICAgICAgICAgVCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogc2V0MF9jPFQ+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQwX2M8VD46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMAorICAgID4KK3N0cnVjdCBzZXRfYzwKKyAgICAgICAgICBULCBDMCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiBzZXQxX2M8IFQsQzAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0MV9jPCBULEMwID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMQorICAgID4KK3N0cnVjdCBzZXRfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiBzZXQyX2M8IFQsQzAsQzEgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0Ml9jPCBULEMwLEMxID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMgorICAgID4KK3N0cnVjdCBzZXRfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiBzZXQzX2M8IFQsQzAsQzEsQzIgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0M19jPCBULEMwLEMxLEMyID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMworICAgID4KK3N0cnVjdCBzZXRfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiBzZXQ0X2M8IFQsQzAsQzEsQzIsQzMgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0NF9jPCBULEMwLEMxLEMyLEMzID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNAorICAgID4KK3N0cnVjdCBzZXRfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiBzZXQ1X2M8IFQsQzAsQzEsQzIsQzMsQzQgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0NV9jPCBULEMwLEMxLEMyLEMzLEM0ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgID4KK3N0cnVjdCBzZXRfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiBzZXQ2X2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0Nl9jPCBULEMwLEMxLEMyLEMzLEM0LEM1ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICwgbG9uZyBDNgorICAgID4KK3N0cnVjdCBzZXRfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiBzZXQ3X2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0N19jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICwgbG9uZyBDNiwgbG9uZyBDNworICAgID4KK3N0cnVjdCBzZXRfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiBzZXQ4X2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0OF9jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2LEM3ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOAorICAgID4KK3N0cnVjdCBzZXRfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiBzZXQ5X2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcsQzggPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0OV9jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2LEM3LEM4ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOQorICAgID4KK3N0cnVjdCBzZXRfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiBzZXQxMF9jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2LEM3LEM4LEM5ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDEwX2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcsQzgsQzkgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMAorICAgID4KK3N0cnVjdCBzZXRfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiBzZXQxMV9jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2LEM3LEM4LEM5LEMxMCA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQxMV9jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2LEM3LEM4LEM5LEMxMCA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMQorICAgID4KK3N0cnVjdCBzZXRfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogc2V0MTJfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyxDOCxDOSxDMTAsQzExID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDEyX2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcsQzgsQzksQzEwLEMxMSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICA+CitzdHJ1Y3Qgc2V0X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBDMTIsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiBzZXQxM19jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2LEM3LEM4LEM5LEMxMCxDMTEsQzEyID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDEzX2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcsQzgsQzksQzEwLEMxMSxDMTIgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgLCBsb25nIEMxMworICAgID4KK3N0cnVjdCBzZXRfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIEMxMiwgQzEzCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiBzZXQxNF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0MTRfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyxDOCxDOSxDMTAsQzExLEMxMixDMTMgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgLCBsb25nIEMxMywgbG9uZyBDMTQKKyAgICA+CitzdHJ1Y3Qgc2V0X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBDMTIsIEMxMywgQzE0CisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IHNldDE1X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBDMTIsIEMxMywgQzE0CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDE1X2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcsQzgsQzksQzEwLEMxMSxDMTIsQzEzLEMxNCA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAsIGxvbmcgQzEzLCBsb25nIEMxNCwgbG9uZyBDMTUKKyAgICA+CitzdHJ1Y3Qgc2V0X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBDMTIsIEMxMywgQzE0CisgICAgICAgICwgQzE1LCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiBzZXQxNl9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMsIEMxNAorICAgICAgICAsIEMxNQorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQxNl9jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2LEM3LEM4LEM5LEMxMCxDMTEsQzEyLEMxMyxDMTQsQzE1ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNSwgbG9uZyBDMTYKKyAgICA+CitzdHJ1Y3Qgc2V0X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBDMTIsIEMxMywgQzE0CisgICAgICAgICwgQzE1LCBDMTYsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogc2V0MTdfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIEMxMiwgQzEzLCBDMTQKKyAgICAgICAgLCBDMTUsIEMxNgorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQxN19jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2LEM3LEM4LEM5LEMxMCxDMTEsQzEyLEMxMyxDMTQsQzE1LEMxNiA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAsIGxvbmcgQzEzLCBsb25nIEMxNCwgbG9uZyBDMTUsIGxvbmcgQzE2LCBsb25nIEMxNworICAgID4KK3N0cnVjdCBzZXRfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIEMxMiwgQzEzLCBDMTQKKyAgICAgICAgLCBDMTUsIEMxNiwgQzE3LCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogc2V0MThfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIEMxMiwgQzEzLCBDMTQKKyAgICAgICAgLCBDMTUsIEMxNiwgQzE3CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDE4X2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcsQzgsQzksQzEwLEMxMSxDMTIsQzEzLEMxNCxDMTUsQzE2LEMxNyA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAsIGxvbmcgQzEzLCBsb25nIEMxNCwgbG9uZyBDMTUsIGxvbmcgQzE2LCBsb25nIEMxNywgbG9uZyBDMTgKKyAgICA+CitzdHJ1Y3Qgc2V0X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBDMTIsIEMxMywgQzE0CisgICAgICAgICwgQzE1LCBDMTYsIEMxNywgQzE4LCBMT05HX01BWAorICAgICAgICA+CisgICAgOiBzZXQxOV9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMsIEMxNAorICAgICAgICAsIEMxNSwgQzE2LCBDMTcsIEMxOAorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQxOV9jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2LEM3LEM4LEM5LEMxMCxDMTEsQzEyLEMxMyxDMTQsQzE1LEMxNixDMTcsQzE4ID46OnR5cGUgdHlwZTsKK307CisKKy8vLyBwcmltYXJ5IHRlbXBsYXRlIChub3QgYSBzcGVjaWFsaXphdGlvbiEpCisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNSwgbG9uZyBDMTYsIGxvbmcgQzE3LCBsb25nIEMxOCwgbG9uZyBDMTkKKyAgICA+CitzdHJ1Y3Qgc2V0X2MKKyAgICA6IHNldDIwX2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBDMTIsIEMxMywgQzE0CisgICAgICAgICwgQzE1LCBDMTYsIEMxNywgQzE4LCBDMTkKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0MjBfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyxDOCxDOSxDMTAsQzExLEMxMixDMTMsQzE0LEMxNSxDMTYsQzE3LEMxOCxDMTkgPjo6dHlwZSB0eXBlOworfTsKKworfX0KKwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2djYy9zaGlmdF9sZWZ0LmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9nY2Mvc2hpZnRfbGVmdC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzhkZjI5YwotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9nY2Mvc2hpZnRfbGVmdC5ocHAKQEAgLTAsMCArMSw5OSBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vIENvcHlyaWdodCBKYWFwIFN1dGVyIDIwMDMKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvc2hpZnRfbGVmdC5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUYWcxCisgICAgLCB0eXBlbmFtZSBUYWcyCisgICAgPgorc3RydWN0IHNoaWZ0X2xlZnRfaW1wbAorICAgIDogaWZfYzwKKyAgICAgICAgICAoIEJPT1NUX01QTF9BVVhfTkVTVEVEX1ZBTFVFX1dLTkQoaW50LCBUYWcxKQorICAgICAgICAgICAgICA+IEJPT1NUX01QTF9BVVhfTkVTVEVEX1ZBTFVFX1dLTkQoaW50LCBUYWcyKQorICAgICAgICAgICAgKQorCisgICAgICAgICwgYXV4OjpjYXN0Mm5kX2ltcGw8IHNoaWZ0X2xlZnRfaW1wbDwgVGFnMSxUYWcxID4sVGFnMSwgVGFnMiA+CisgICAgICAgICwgYXV4OjpjYXN0MXN0X2ltcGw8IHNoaWZ0X2xlZnRfaW1wbDwgVGFnMixUYWcyID4sVGFnMSwgVGFnMiA+CisgICAgICAgID46OnR5cGUKK3sKK307CisKKy8vLyBmb3IgRGlnaXRhbCBNYXJzIEMrKy9jb21waWxlcnMgd2l0aCBubyBDVFBTL1RUUCBzdXBwb3J0Cit0ZW1wbGF0ZTw+IHN0cnVjdCBzaGlmdF9sZWZ0X2ltcGw8IG5hLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVGFnID4gc3RydWN0IHNoaWZ0X2xlZnRfaW1wbDwgbmEsVGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVGFnID4gc3RydWN0IHNoaWZ0X2xlZnRfaW1wbDwgVGFnLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVCA+IHN0cnVjdCBzaGlmdF9sZWZ0X3RhZworeworICAgIHR5cGVkZWYgdHlwZW5hbWUgVDo6dGFnIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjEpCisgICAgLCB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4yKQorICAgID4KK3N0cnVjdCBzaGlmdF9sZWZ0CisKKyAgICA6IHNoaWZ0X2xlZnRfaW1wbDwKKyAgICAgICAgICB0eXBlbmFtZSBzaGlmdF9sZWZ0X3RhZzxOMT46OnR5cGUKKyAgICAgICAgLCB0eXBlbmFtZSBzaGlmdF9sZWZ0X3RhZzxOMj46OnR5cGUKKyAgICAgICAgPjo6dGVtcGxhdGUgYXBwbHk8IE4xLE4yID46OnR5cGUKK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKDIsIHNoaWZ0X2xlZnQsIChOMSwgTjIpKQorCit9OworCitCT09TVF9NUExfQVVYX05BX1NQRUMyKDIsIDIsIHNoaWZ0X2xlZnQpCisKK319CisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgewordGVtcGxhdGU8Pgorc3RydWN0IHNoaWZ0X2xlZnRfaW1wbDwgaW50ZWdyYWxfY190YWcsaW50ZWdyYWxfY190YWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBOLCB0eXBlbmFtZSBTID4gc3RydWN0IGFwcGx5CisKKyAgICAgICAgOiBpbnRlZ3JhbF9jPAorICAgICAgICAgICAgICB0eXBlbmFtZSBOOjp2YWx1ZV90eXBlCisgICAgICAgICAgICAsICggQk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4pOjp2YWx1ZQorICAgICAgICAgICAgICAgICAgPDwgQk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKFMpOjp2YWx1ZQorICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgID4KKyAgICB7CisgICAgfTsKK307CisKK319CmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvZ2NjL3NoaWZ0X3JpZ2h0LmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9nY2Mvc2hpZnRfcmlnaHQuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE3MjZmZjEKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvZ2NjL3NoaWZ0X3JpZ2h0LmhwcApAQCAtMCwwICsxLDk5IEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8gQ29weXJpZ2h0IEphYXAgU3V0ZXIgMjAwMworLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9zaGlmdF9yaWdodC5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUYWcxCisgICAgLCB0eXBlbmFtZSBUYWcyCisgICAgPgorc3RydWN0IHNoaWZ0X3JpZ2h0X2ltcGwKKyAgICA6IGlmX2M8CisgICAgICAgICAgKCBCT09TVF9NUExfQVVYX05FU1RFRF9WQUxVRV9XS05EKGludCwgVGFnMSkKKyAgICAgICAgICAgICAgPiBCT09TVF9NUExfQVVYX05FU1RFRF9WQUxVRV9XS05EKGludCwgVGFnMikKKyAgICAgICAgICAgICkKKworICAgICAgICAsIGF1eDo6Y2FzdDJuZF9pbXBsPCBzaGlmdF9yaWdodF9pbXBsPCBUYWcxLFRhZzEgPixUYWcxLCBUYWcyID4KKyAgICAgICAgLCBhdXg6OmNhc3Qxc3RfaW1wbDwgc2hpZnRfcmlnaHRfaW1wbDwgVGFnMixUYWcyID4sVGFnMSwgVGFnMiA+CisgICAgICAgID46OnR5cGUKK3sKK307CisKKy8vLyBmb3IgRGlnaXRhbCBNYXJzIEMrKy9jb21waWxlcnMgd2l0aCBubyBDVFBTL1RUUCBzdXBwb3J0Cit0ZW1wbGF0ZTw+IHN0cnVjdCBzaGlmdF9yaWdodF9pbXBsPCBuYSxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFRhZyA+IHN0cnVjdCBzaGlmdF9yaWdodF9pbXBsPCBuYSxUYWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUYWcgPiBzdHJ1Y3Qgc2hpZnRfcmlnaHRfaW1wbDwgVGFnLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVCA+IHN0cnVjdCBzaGlmdF9yaWdodF90YWcKK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIFQ6OnRhZyB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4xKQorICAgICwgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMikKKyAgICA+CitzdHJ1Y3Qgc2hpZnRfcmlnaHQKKworICAgIDogc2hpZnRfcmlnaHRfaW1wbDwKKyAgICAgICAgICB0eXBlbmFtZSBzaGlmdF9yaWdodF90YWc8TjE+Ojp0eXBlCisgICAgICAgICwgdHlwZW5hbWUgc2hpZnRfcmlnaHRfdGFnPE4yPjo6dHlwZQorICAgICAgICA+Ojp0ZW1wbGF0ZSBhcHBseTwgTjEsTjIgPjo6dHlwZQoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoMiwgc2hpZnRfcmlnaHQsIChOMSwgTjIpKQorCit9OworCitCT09TVF9NUExfQVVYX05BX1NQRUMyKDIsIDIsIHNoaWZ0X3JpZ2h0KQorCit9fQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKK3RlbXBsYXRlPD4KK3N0cnVjdCBzaGlmdF9yaWdodF9pbXBsPCBpbnRlZ3JhbF9jX3RhZyxpbnRlZ3JhbF9jX3RhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIE4sIHR5cGVuYW1lIFMgPiBzdHJ1Y3QgYXBwbHkKKworICAgICAgICA6IGludGVncmFsX2M8CisgICAgICAgICAgICAgIHR5cGVuYW1lIE46OnZhbHVlX3R5cGUKKyAgICAgICAgICAgICwgKCBCT09TVF9NUExfQVVYX1ZBTFVFX1dLTkQoTik6OnZhbHVlCisgICAgICAgICAgICAgICAgICA+PiBCT09TVF9NUExfQVVYX1ZBTFVFX1dLTkQoUyk6OnZhbHVlCisgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgPgorICAgIHsKKyAgICB9OworfTsKKworfX0KZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9nY2MvdGVtcGxhdGVfYXJpdHkuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2djYy90ZW1wbGF0ZV9hcml0eS5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDkyOTc5OQotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9nY2MvdGVtcGxhdGVfYXJpdHkuaHBwCkBAIC0wLDAgKzEsOTcgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMS0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyAqUHJlcHJvY2Vzc2VkKiB2ZXJzaW9uIG9mIHRoZSBtYWluICJ0ZW1wbGF0ZV9hcml0eS5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsgbmFtZXNwYWNlIGF1eCB7Cit0ZW1wbGF0ZTwgaW50IE4gPiBzdHJ1Y3QgYXJpdHlfdGFnCit7CisgICAgdHlwZWRlZiBjaGFyICgmdHlwZSlbTiArIDFdOworfTsKKwordGVtcGxhdGU8CisgICAgICBpbnQgQzEsIGludCBDMiwgaW50IEMzLCBpbnQgQzQsIGludCBDNSwgaW50IEM2CisgICAgPgorc3RydWN0IG1heF9hcml0eQoreworICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlID0KKyAgICAgICAgICAoIEM2ID4gMCA/IEM2IDogKCBDNSA+IDAgPyBDNSA6ICggQzQgPiAwID8gQzQgOiAoIEMzID4gMCA/IEMzIDogKCBDMiA+IDAgPyBDMiA6ICggQzEgPiAwID8gQzEgOiAtMSApICkgKSApICkgKQorICAgICAgICApOworfTsKKworYXJpdHlfdGFnPDA+Ojp0eXBlIGFyaXR5X2hlbHBlciguLi4pOworCit0ZW1wbGF0ZTwKKyAgICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBQMSA+IGNsYXNzIEYKKyAgICAsIHR5cGVuYW1lIFQxCisgICAgPgordHlwZW5hbWUgYXJpdHlfdGFnPDE+Ojp0eXBlCithcml0eV9oZWxwZXIodHlwZV93cmFwcGVyPCBGPFQxPiA+LCBhcml0eV90YWc8MT4pOworCit0ZW1wbGF0ZTwKKyAgICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBQMSwgdHlwZW5hbWUgUDIgPiBjbGFzcyBGCisgICAgLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIKKyAgICA+Cit0eXBlbmFtZSBhcml0eV90YWc8Mj46OnR5cGUKK2FyaXR5X2hlbHBlcih0eXBlX3dyYXBwZXI8IEY8IFQxLFQyID4gPiwgYXJpdHlfdGFnPDI+KTsKKwordGVtcGxhdGU8CisgICAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgUDEsIHR5cGVuYW1lIFAyLCB0eXBlbmFtZSBQMyA+IGNsYXNzIEYKKyAgICAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMKKyAgICA+Cit0eXBlbmFtZSBhcml0eV90YWc8Mz46OnR5cGUKK2FyaXR5X2hlbHBlcih0eXBlX3dyYXBwZXI8IEY8IFQxLFQyLFQzID4gPiwgYXJpdHlfdGFnPDM+KTsKKwordGVtcGxhdGU8CisgICAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgUDEsIHR5cGVuYW1lIFAyLCB0eXBlbmFtZSBQMywgdHlwZW5hbWUgUDQgPiBjbGFzcyBGCisgICAgLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgID4KK3R5cGVuYW1lIGFyaXR5X3RhZzw0Pjo6dHlwZQorYXJpdHlfaGVscGVyKHR5cGVfd3JhcHBlcjwgRjwgVDEsVDIsVDMsVDQgPiA+LCBhcml0eV90YWc8ND4pOworCit0ZW1wbGF0ZTwKKyAgICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFAxLCB0eXBlbmFtZSBQMiwgdHlwZW5hbWUgUDMsIHR5cGVuYW1lIFA0CisgICAgICAgICwgdHlwZW5hbWUgUDUKKyAgICAgICAgPgorICAgICAgY2xhc3MgRgorICAgICwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQsIHR5cGVuYW1lIFQ1CisgICAgPgordHlwZW5hbWUgYXJpdHlfdGFnPDU+Ojp0eXBlCithcml0eV9oZWxwZXIodHlwZV93cmFwcGVyPCBGPCBUMSxUMixUMyxUNCxUNSA+ID4sIGFyaXR5X3RhZzw1Pik7CisKK3RlbXBsYXRlPAorICAgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgUDEsIHR5cGVuYW1lIFAyLCB0eXBlbmFtZSBQMywgdHlwZW5hbWUgUDQKKyAgICAgICAgLCB0eXBlbmFtZSBQNSwgdHlwZW5hbWUgUDYKKyAgICAgICAgPgorICAgICAgY2xhc3MgRgorICAgICwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQsIHR5cGVuYW1lIFQ1CisgICAgLCB0eXBlbmFtZSBUNgorICAgID4KK3R5cGVuYW1lIGFyaXR5X3RhZzw2Pjo6dHlwZQorYXJpdHlfaGVscGVyKHR5cGVfd3JhcHBlcjwgRjwgVDEsVDIsVDMsVDQsVDUsVDYgPiA+LCBhcml0eV90YWc8Nj4pOwordGVtcGxhdGU8IHR5cGVuYW1lIEYsIGludCBOID4KK3N0cnVjdCB0ZW1wbGF0ZV9hcml0eV9pbXBsCit7CisgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgPQorICAgICAgICAgIHNpemVvZig6Om5kbmJvb3N0OjptcGw6OmF1eDo6YXJpdHlfaGVscGVyKHR5cGVfd3JhcHBlcjxGPigpLCBhcml0eV90YWc8Tj4oKSkpIC0gMQorICAgICAgICApOworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIEYgPgorc3RydWN0IHRlbXBsYXRlX2FyaXR5Cit7CisgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gKAorICAgICAgICAgIG1heF9hcml0eTwgdGVtcGxhdGVfYXJpdHlfaW1wbDwgRiwxID46OnZhbHVlLCB0ZW1wbGF0ZV9hcml0eV9pbXBsPCBGLDIgPjo6dmFsdWUsIHRlbXBsYXRlX2FyaXR5X2ltcGw8IEYsMyA+Ojp2YWx1ZSwgdGVtcGxhdGVfYXJpdHlfaW1wbDwgRiw0ID46OnZhbHVlLCB0ZW1wbGF0ZV9hcml0eV9pbXBsPCBGLDUgPjo6dmFsdWUsIHRlbXBsYXRlX2FyaXR5X2ltcGw8IEYsNiA+Ojp2YWx1ZSA+Ojp2YWx1ZQorICAgICAgICApKTsKKyAgICB0eXBlZGVmIG1wbDo6aW50Xzx2YWx1ZT4gdHlwZTsKK307CisKK319fQpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2djYy90aW1lcy5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvZ2NjL3RpbWVzLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNDUxNGU1Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2djYy90aW1lcy5ocHAKQEAgLTAsMCArMSwxNDYgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL3RpbWVzLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFRhZzEKKyAgICAsIHR5cGVuYW1lIFRhZzIKKyAgICA+CitzdHJ1Y3QgdGltZXNfaW1wbAorICAgIDogaWZfYzwKKyAgICAgICAgICAoIEJPT1NUX01QTF9BVVhfTkVTVEVEX1ZBTFVFX1dLTkQoaW50LCBUYWcxKQorICAgICAgICAgICAgICA+IEJPT1NUX01QTF9BVVhfTkVTVEVEX1ZBTFVFX1dLTkQoaW50LCBUYWcyKQorICAgICAgICAgICAgKQorCisgICAgICAgICwgYXV4OjpjYXN0Mm5kX2ltcGw8IHRpbWVzX2ltcGw8IFRhZzEsVGFnMSA+LFRhZzEsIFRhZzIgPgorICAgICAgICAsIGF1eDo6Y2FzdDFzdF9pbXBsPCB0aW1lc19pbXBsPCBUYWcyLFRhZzIgPixUYWcxLCBUYWcyID4KKyAgICAgICAgPjo6dHlwZQoreworfTsKKworLy8vIGZvciBEaWdpdGFsIE1hcnMgQysrL2NvbXBpbGVycyB3aXRoIG5vIENUUFMvVFRQIHN1cHBvcnQKK3RlbXBsYXRlPD4gc3RydWN0IHRpbWVzX2ltcGw8IG5hLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVGFnID4gc3RydWN0IHRpbWVzX2ltcGw8IG5hLFRhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFRhZyA+IHN0cnVjdCB0aW1lc19pbXBsPCBUYWcsbmEgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUID4gc3RydWN0IHRpbWVzX3RhZworeworICAgIHR5cGVkZWYgdHlwZW5hbWUgVDo6dGFnIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjEpCisgICAgLCB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4yKQorICAgICwgdHlwZW5hbWUgTjMgPSBuYSwgdHlwZW5hbWUgTjQgPSBuYSwgdHlwZW5hbWUgTjUgPSBuYQorICAgID4KK3N0cnVjdCB0aW1lcworICAgIDogdGltZXM8IHRpbWVzPCB0aW1lczwgdGltZXM8IE4xLE4yID4sIE4zPiwgTjQ+LCBONT4KK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKAorICAgICAgICAgIDUKKyAgICAgICAgLCB0aW1lcworICAgICAgICAsICggTjEsIE4yLCBOMywgTjQsIE41ICkKKyAgICAgICAgKQorfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBOMSwgdHlwZW5hbWUgTjIsIHR5cGVuYW1lIE4zLCB0eXBlbmFtZSBONAorICAgID4KK3N0cnVjdCB0aW1lczwgTjEsTjIsTjMsTjQsbmEgPgorCisgICAgOiB0aW1lczwgdGltZXM8IHRpbWVzPCBOMSxOMiA+LCBOMz4sIE40PgoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlRfU1BFQygKKyAgICAgICAgICA1CisgICAgICAgICwgdGltZXMKKyAgICAgICAgLCAoIE4xLCBOMiwgTjMsIE40LCBuYSApCisgICAgICAgICkKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgTjEsIHR5cGVuYW1lIE4yLCB0eXBlbmFtZSBOMworICAgID4KK3N0cnVjdCB0aW1lczwgTjEsTjIsTjMsbmEsbmEgPgorCisgICAgOiB0aW1lczwgdGltZXM8IE4xLE4yID4sIE4zPgoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlRfU1BFQygKKyAgICAgICAgICA1CisgICAgICAgICwgdGltZXMKKyAgICAgICAgLCAoIE4xLCBOMiwgTjMsIG5hLCBuYSApCisgICAgICAgICkKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgTjEsIHR5cGVuYW1lIE4yCisgICAgPgorc3RydWN0IHRpbWVzPCBOMSxOMixuYSxuYSxuYSA+CisgICAgOiB0aW1lc19pbXBsPAorICAgICAgICAgIHR5cGVuYW1lIHRpbWVzX3RhZzxOMT46OnR5cGUKKyAgICAgICAgLCB0eXBlbmFtZSB0aW1lc190YWc8TjI+Ojp0eXBlCisgICAgICAgID46OnRlbXBsYXRlIGFwcGx5PCBOMSxOMiA+Ojp0eXBlCit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVF9TUEVDKAorICAgICAgICAgIDUKKyAgICAgICAgLCB0aW1lcworICAgICAgICAsICggTjEsIE4yLCBuYSwgbmEsIG5hICkKKyAgICAgICAgKQorCit9OworCitCT09TVF9NUExfQVVYX05BX1NQRUMyKDIsIDUsIHRpbWVzKQorCit9fQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKK3RlbXBsYXRlPD4KK3N0cnVjdCB0aW1lc19pbXBsPCBpbnRlZ3JhbF9jX3RhZyxpbnRlZ3JhbF9jX3RhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIE4xLCB0eXBlbmFtZSBOMiA+IHN0cnVjdCBhcHBseQorCisgICAgICAgIDogaW50ZWdyYWxfYzwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgYXV4OjpsYXJnZXN0X2ludDwKKyAgICAgICAgICAgICAgICAgIHR5cGVuYW1lIE4xOjp2YWx1ZV90eXBlCisgICAgICAgICAgICAgICAgLCB0eXBlbmFtZSBOMjo6dmFsdWVfdHlwZQorICAgICAgICAgICAgICAgID46OnR5cGUKKyAgICAgICAgICAgICwgKCBCT09TVF9NUExfQVVYX1ZBTFVFX1dLTkQoTjEpOjp2YWx1ZQorICAgICAgICAgICAgICAgICAgKiBCT09TVF9NUExfQVVYX1ZBTFVFX1dLTkQoTjIpOjp2YWx1ZQorICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgID4KKyAgICB7CisgICAgfTsKK307CisKK319CmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvZ2NjL3VucGFja19hcmdzLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9nY2MvdW5wYWNrX2FyZ3MuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjljOTIwNGYKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvZ2NjL3VucGFja19hcmdzLmhwcApAQCAtMCwwICsxLDk0IEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDItMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC91bnBhY2tfYXJncy5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPCBpbnQgc2l6ZSwgdHlwZW5hbWUgRiwgdHlwZW5hbWUgQXJncyA+CitzdHJ1Y3QgdW5wYWNrX2FyZ3NfaW1wbDsKKwordGVtcGxhdGU8IHR5cGVuYW1lIEYsIHR5cGVuYW1lIEFyZ3MgPgorc3RydWN0IHVucGFja19hcmdzX2ltcGw8IDAsRixBcmdzID4KKyAgICA6IGFwcGx5MDwKKyAgICAgICAgICBGCisgICAgICAgID4KK3sKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBGLCB0eXBlbmFtZSBBcmdzID4KK3N0cnVjdCB1bnBhY2tfYXJnc19pbXBsPCAxLEYsQXJncyA+CisgICAgOiBhcHBseTE8CisgICAgICAgICAgRgorICAgICAgICAsIHR5cGVuYW1lIGF0X2M8IEFyZ3MsMCA+Ojp0eXBlCisgICAgICAgID4KK3sKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBGLCB0eXBlbmFtZSBBcmdzID4KK3N0cnVjdCB1bnBhY2tfYXJnc19pbXBsPCAyLEYsQXJncyA+CisgICAgOiBhcHBseTI8CisgICAgICAgICAgRgorICAgICAgICAsIHR5cGVuYW1lIGF0X2M8IEFyZ3MsMCA+Ojp0eXBlLCB0eXBlbmFtZSBhdF9jPCBBcmdzLDEgPjo6dHlwZQorICAgICAgICA+Cit7Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgRiwgdHlwZW5hbWUgQXJncyA+CitzdHJ1Y3QgdW5wYWNrX2FyZ3NfaW1wbDwgMyxGLEFyZ3MgPgorICAgIDogYXBwbHkzPAorICAgICAgICAgIEYKKyAgICAgICAgLCB0eXBlbmFtZSBhdF9jPCBBcmdzLDAgPjo6dHlwZSwgdHlwZW5hbWUgYXRfYzwgQXJncywxID46OnR5cGUKKyAgICAgICAgLCB0eXBlbmFtZSBhdF9jPCBBcmdzLDIgPjo6dHlwZQorICAgICAgICA+Cit7Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgRiwgdHlwZW5hbWUgQXJncyA+CitzdHJ1Y3QgdW5wYWNrX2FyZ3NfaW1wbDwgNCxGLEFyZ3MgPgorICAgIDogYXBwbHk0PAorICAgICAgICAgIEYKKyAgICAgICAgLCB0eXBlbmFtZSBhdF9jPCBBcmdzLDAgPjo6dHlwZSwgdHlwZW5hbWUgYXRfYzwgQXJncywxID46OnR5cGUKKyAgICAgICAgLCB0eXBlbmFtZSBhdF9jPCBBcmdzLDIgPjo6dHlwZSwgdHlwZW5hbWUgYXRfYzwgQXJncywzID46OnR5cGUKKyAgICAgICAgPgoreworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIEYsIHR5cGVuYW1lIEFyZ3MgPgorc3RydWN0IHVucGFja19hcmdzX2ltcGw8IDUsRixBcmdzID4KKyAgICA6IGFwcGx5NTwKKyAgICAgICAgICBGCisgICAgICAgICwgdHlwZW5hbWUgYXRfYzwgQXJncywwID46OnR5cGUsIHR5cGVuYW1lIGF0X2M8IEFyZ3MsMSA+Ojp0eXBlCisgICAgICAgICwgdHlwZW5hbWUgYXRfYzwgQXJncywyID46OnR5cGUsIHR5cGVuYW1lIGF0X2M8IEFyZ3MsMyA+Ojp0eXBlCisgICAgICAgICwgdHlwZW5hbWUgYXRfYzwgQXJncyw0ID46OnR5cGUKKyAgICAgICAgPgoreworfTsKKworfQorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYKKyAgICA+CitzdHJ1Y3QgdW5wYWNrX2FyZ3MKK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgQXJncyA+IHN0cnVjdCBhcHBseQorCisgICAgICAgIDogYXV4Ojp1bnBhY2tfYXJnc19pbXBsPCBzaXplPEFyZ3M+Ojp2YWx1ZSxGLCBBcmdzID4KKworICAgIHsKKyAgICB9OworfTsKKworQk9PU1RfTVBMX0FVWF9QQVNTX1RIUk9VR0hfTEFNQkRBX1NQRUMoMSwgdW5wYWNrX2FyZ3MpCisKK319CisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9nY2MvdmVjdG9yLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9nY2MvdmVjdG9yLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kZjY3NTg5Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2djYy92ZWN0b3IuaHBwCkBAIC0wLDAgKzEsMzIzIEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC92ZWN0b3IuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAgPSBuYSwgdHlwZW5hbWUgVDEgPSBuYSwgdHlwZW5hbWUgVDIgPSBuYSwgdHlwZW5hbWUgVDMgPSBuYQorICAgICwgdHlwZW5hbWUgVDQgPSBuYSwgdHlwZW5hbWUgVDUgPSBuYSwgdHlwZW5hbWUgVDYgPSBuYSwgdHlwZW5hbWUgVDcgPSBuYQorICAgICwgdHlwZW5hbWUgVDggPSBuYSwgdHlwZW5hbWUgVDkgPSBuYSwgdHlwZW5hbWUgVDEwID0gbmEsIHR5cGVuYW1lIFQxMSA9IG5hCisgICAgLCB0eXBlbmFtZSBUMTIgPSBuYSwgdHlwZW5hbWUgVDEzID0gbmEsIHR5cGVuYW1lIFQxNCA9IG5hCisgICAgLCB0eXBlbmFtZSBUMTUgPSBuYSwgdHlwZW5hbWUgVDE2ID0gbmEsIHR5cGVuYW1lIFQxNyA9IG5hCisgICAgLCB0eXBlbmFtZSBUMTggPSBuYSwgdHlwZW5hbWUgVDE5ID0gbmEKKyAgICA+CitzdHJ1Y3QgdmVjdG9yOworCit0ZW1wbGF0ZTwKKyAgICAgCisgICAgPgorc3RydWN0IHZlY3RvcjwKKyAgICAgICAgICBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHZlY3RvcjA8ICA+Cit7CisgICAgdHlwZWRlZiB2ZWN0b3IwPCAgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMAorICAgID4KK3N0cnVjdCB2ZWN0b3I8CisgICAgICAgICAgVDAsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3IxPFQwPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTxUMD46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxCisgICAgPgorc3RydWN0IHZlY3RvcjwKKyAgICAgICAgICBUMCwgVDEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHZlY3RvcjI8IFQwLFQxID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjI8IFQwLFQxID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMgorICAgID4KK3N0cnVjdCB2ZWN0b3I8CisgICAgICAgICAgVDAsIFQxLCBUMiwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3IzPCBUMCxUMSxUMiA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IzPCBUMCxUMSxUMiA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzCisgICAgPgorc3RydWN0IHZlY3RvcjwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHZlY3RvcjQ8IFQwLFQxLFQyLFQzID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjQ8IFQwLFQxLFQyLFQzID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgPgorc3RydWN0IHZlY3RvcjwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHZlY3RvcjU8IFQwLFQxLFQyLFQzLFQ0ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjU8IFQwLFQxLFQyLFQzLFQ0ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNQorICAgID4KK3N0cnVjdCB2ZWN0b3I8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3I2PCBUMCxUMSxUMixUMyxUNCxUNSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3I2PCBUMCxUMSxUMixUMyxUNCxUNSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2CisgICAgPgorc3RydWN0IHZlY3RvcjwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHZlY3Rvcjc8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3Rvcjc8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3CisgICAgPgorc3RydWN0IHZlY3RvcjwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHZlY3Rvcjg8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3Rvcjg8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOAorICAgID4KK3N0cnVjdCB2ZWN0b3I8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3I5PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3I5PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgPgorc3RydWN0IHZlY3RvcjwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHZlY3RvcjEwPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxMDwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDkgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwCisgICAgPgorc3RydWN0IHZlY3RvcjwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3IxMTwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjExPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEKKyAgICA+CitzdHJ1Y3QgdmVjdG9yPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3IxMjwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxMjwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyCisgICAgPgorc3RydWN0IHZlY3RvcjwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHZlY3RvcjEzPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMiA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxMzwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzCisgICAgPgorc3RydWN0IHZlY3RvcjwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3IxNDwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjE0PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICA+CitzdHJ1Y3QgdmVjdG9yPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNCwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3IxNTwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTU8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyxUMTQgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAsIHR5cGVuYW1lIFQxNQorICAgID4KK3N0cnVjdCB2ZWN0b3I8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1LCBuYSwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3IxNjwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgLCBUMTUKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTY8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyxUMTQsVDE1ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNgorICAgID4KK3N0cnVjdCB2ZWN0b3I8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1LCBUMTYsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogdmVjdG9yMTc8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1LCBUMTYKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTc8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyxUMTQsVDE1LFQxNiA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNworICAgID4KK3N0cnVjdCB2ZWN0b3I8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1LCBUMTYsIFQxNywgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHZlY3RvcjE4PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgVDE2LCBUMTcKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTg8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyxUMTQsVDE1LFQxNixUMTcgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOAorICAgID4KK3N0cnVjdCB2ZWN0b3I8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1LCBUMTYsIFQxNywgVDE4LCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3IxOTwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgLCBUMTUsIFQxNiwgVDE3LCBUMTgKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTk8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyxUMTQsVDE1LFQxNixUMTcsVDE4ID46OnR5cGUgdHlwZTsKK307CisKKy8vLyBwcmltYXJ5IHRlbXBsYXRlIChub3QgYSBzcGVjaWFsaXphdGlvbiEpCisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgID4KK3N0cnVjdCB2ZWN0b3IKKyAgICA6IHZlY3RvcjIwPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgVDE2LCBUMTcsIFQxOCwgVDE5CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjIwPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMsVDE0LFQxNSxUMTYsVDE3LFQxOCxUMTkgPjo6dHlwZSB0eXBlOworfTsKKworfX0KKwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2djYy92ZWN0b3JfYy5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvZ2NjL3ZlY3Rvcl9jLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMmZiZGI0Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL2djYy92ZWN0b3JfYy5ocHAKQEAgLTAsMCArMSwzMDkgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL3ZlY3Rvcl9jLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAgPSBMT05HX01BWCwgbG9uZyBDMSA9IExPTkdfTUFYLCBsb25nIEMyID0gTE9OR19NQVgKKyAgICAsIGxvbmcgQzMgPSBMT05HX01BWCwgbG9uZyBDNCA9IExPTkdfTUFYLCBsb25nIEM1ID0gTE9OR19NQVgKKyAgICAsIGxvbmcgQzYgPSBMT05HX01BWCwgbG9uZyBDNyA9IExPTkdfTUFYLCBsb25nIEM4ID0gTE9OR19NQVgKKyAgICAsIGxvbmcgQzkgPSBMT05HX01BWCwgbG9uZyBDMTAgPSBMT05HX01BWCwgbG9uZyBDMTEgPSBMT05HX01BWAorICAgICwgbG9uZyBDMTIgPSBMT05HX01BWCwgbG9uZyBDMTMgPSBMT05HX01BWCwgbG9uZyBDMTQgPSBMT05HX01BWAorICAgICwgbG9uZyBDMTUgPSBMT05HX01BWCwgbG9uZyBDMTYgPSBMT05HX01BWCwgbG9uZyBDMTcgPSBMT05HX01BWAorICAgICwgbG9uZyBDMTggPSBMT05HX01BWCwgbG9uZyBDMTkgPSBMT05HX01BWAorICAgID4KK3N0cnVjdCB2ZWN0b3JfYzsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUCisgICAgPgorc3RydWN0IHZlY3Rvcl9jPAorICAgICAgICAgIFQsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IHZlY3RvcjBfYzxUPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMF9jPFQ+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAKKyAgICA+CitzdHJ1Y3QgdmVjdG9yX2M8CisgICAgICAgICAgVCwgQzAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogdmVjdG9yMV9jPCBULCBUKEMwKSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxX2M8IFQsIFQoQzApID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMQorICAgID4KK3N0cnVjdCB2ZWN0b3JfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiB2ZWN0b3IyX2M8IFQsIFQoQzApLCBUKEMxKSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IyX2M8IFQsIFQoQzApLCBUKEMxKSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIKKyAgICA+CitzdHJ1Y3QgdmVjdG9yX2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogdmVjdG9yM19jPCBULCBUKEMwKSwgVChDMSksIFQoQzIpID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjNfYzwgVCwgVChDMCksIFQoQzEpLCBUKEMyKSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMKKyAgICA+CitzdHJ1Y3QgdmVjdG9yX2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogdmVjdG9yNF9jPCBULCBUKEMwKSwgVChDMSksIFQoQzIpLCBUKEMzKSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3I0X2M8IFQsIFQoQzApLCBUKEMxKSwgVChDMiksIFQoQzMpID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNAorICAgID4KK3N0cnVjdCB2ZWN0b3JfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiB2ZWN0b3I1X2M8IFQsIFQoQzApLCBUKEMxKSwgVChDMiksIFQoQzMpLCBUKEM0KSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3I1X2M8IFQsIFQoQzApLCBUKEMxKSwgVChDMiksIFQoQzMpLCBUKEM0KSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICA+CitzdHJ1Y3QgdmVjdG9yX2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogdmVjdG9yNl9jPCBULCBUKEMwKSwgVChDMSksIFQoQzIpLCBUKEMzKSwgVChDNCksIFQoQzUpID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjZfYzwgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMyksIFQoQzQpLCBUKEM1KSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAsIGxvbmcgQzYKKyAgICA+CitzdHJ1Y3QgdmVjdG9yX2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogdmVjdG9yN19jPCBULCBUKEMwKSwgVChDMSksIFQoQzIpLCBUKEMzKSwgVChDNCksIFQoQzUpLCBUKEM2KSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3I3X2M8IFQsIFQoQzApLCBUKEMxKSwgVChDMiksIFQoQzMpLCBUKEM0KSwgVChDNSksIFQoQzYpID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICwgbG9uZyBDNiwgbG9uZyBDNworICAgID4KK3N0cnVjdCB2ZWN0b3JfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiB2ZWN0b3I4X2M8IFQsIFQoQzApLCBUKEMxKSwgVChDMiksIFQoQzMpLCBUKEM0KSwgVChDNSksIFQoQzYpLCBUKEM3KSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3I4X2M8IFQsIFQoQzApLCBUKEMxKSwgVChDMiksIFQoQzMpLCBUKEM0KSwgVChDNSksIFQoQzYpLCBUKEM3KSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgKKyAgICA+CitzdHJ1Y3QgdmVjdG9yX2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogdmVjdG9yOV9jPCBULCBUKEMwKSwgVChDMSksIFQoQzIpLCBUKEMzKSwgVChDNCksIFQoQzUpLCBUKEM2KSwgVChDNyksIFQoQzgpID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjlfYzwgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMyksIFQoQzQpLCBUKEM1KSwgVChDNiksIFQoQzcpLCBUKEM4KSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzkKKyAgICA+CitzdHJ1Y3QgdmVjdG9yX2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogdmVjdG9yMTBfYzwgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMyksIFQoQzQpLCBUKEM1KSwgVChDNiksIFQoQzcpLCBUKEM4KSwgVChDOSkgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTBfYzwgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMyksIFQoQzQpLCBUKEM1KSwgVChDNiksIFQoQzcpLCBUKEM4KSwgVChDOSkgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMAorICAgID4KK3N0cnVjdCB2ZWN0b3JfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiB2ZWN0b3IxMV9jPCBULCBUKEMwKSwgVChDMSksIFQoQzIpLCBUKEMzKSwgVChDNCksIFQoQzUpLCBUKEM2KSwgVChDNyksIFQoQzgpLCBUKEM5KSwgVChDMTApID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjExX2M8IFQsIFQoQzApLCBUKEMxKSwgVChDMiksIFQoQzMpLCBUKEM0KSwgVChDNSksIFQoQzYpLCBUKEM3KSwgVChDOCksIFQoQzkpLCBUKEMxMCkgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEKKyAgICA+CitzdHJ1Y3QgdmVjdG9yX2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IHZlY3RvcjEyX2M8IFQsIFQoQzApLCBUKEMxKSwgVChDMiksIFQoQzMpLCBUKEM0KSwgVChDNSksIFQoQzYpLCBUKEM3KSwgVChDOCksIFQoQzkpLCBUKEMxMCksIFQoQzExKSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxMl9jPCBULCBUKEMwKSwgVChDMSksIFQoQzIpLCBUKEMzKSwgVChDNCksIFQoQzUpLCBUKEM2KSwgVChDNyksIFQoQzgpLCBUKEM5KSwgVChDMTApLCBUKEMxMSkgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgPgorc3RydWN0IHZlY3Rvcl9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogdmVjdG9yMTNfYzwgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMyksIFQoQzQpLCBUKEM1KSwgVChDNiksIFQoQzcpLCBUKEM4KSwgVChDOSksIFQoQzEwKSwgVChDMTEpLCBUKEMxMikgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTNfYzwgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMyksIFQoQzQpLCBUKEM1KSwgVChDNiksIFQoQzcpLCBUKEM4KSwgVChDOSksIFQoQzEwKSwgVChDMTEpLCBUKEMxMikgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgLCBsb25nIEMxMworICAgID4KK3N0cnVjdCB2ZWN0b3JfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIEMxMiwgQzEzCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiB2ZWN0b3IxNF9jPCBULCBUKEMwKSwgVChDMSksIFQoQzIpLCBUKEMzKSwgVChDNCksIFQoQzUpLCBUKEM2KSwgVChDNyksIFQoQzgpLCBUKEM5KSwgVChDMTApLCBUKEMxMSksIFQoQzEyKSwgVChDMTMpID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjE0X2M8IFQsIFQoQzApLCBUKEMxKSwgVChDMiksIFQoQzMpLCBUKEM0KSwgVChDNSksIFQoQzYpLCBUKEM3KSwgVChDOCksIFQoQzkpLCBUKEMxMCksIFQoQzExKSwgVChDMTIpLCBUKEMxMykgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgLCBsb25nIEMxMywgbG9uZyBDMTQKKyAgICA+CitzdHJ1Y3QgdmVjdG9yX2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBDMTIsIEMxMywgQzE0CisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IHZlY3RvcjE1X2M8IFQsIFQoQzApLCBUKEMxKSwgVChDMiksIFQoQzMpLCBUKEM0KSwgVChDNSksIFQoQzYpLCBUKEM3KSwgVChDOCksIFQoQzkpLCBUKEMxMCksIFQoQzExKSwgVChDMTIpLCBUKEMxMyksIFQoQzE0KSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxNV9jPCBULCBUKEMwKSwgVChDMSksIFQoQzIpLCBUKEMzKSwgVChDNCksIFQoQzUpLCBUKEM2KSwgVChDNyksIFQoQzgpLCBUKEM5KSwgVChDMTApLCBUKEMxMSksIFQoQzEyKSwgVChDMTMpLCBUKEMxNCkgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1CisgICAgPgorc3RydWN0IHZlY3Rvcl9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMsIEMxNAorICAgICAgICAsIEMxNSwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogdmVjdG9yMTZfYzwgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMyksIFQoQzQpLCBUKEM1KSwgVChDNiksIFQoQzcpLCBUKEM4KSwgVChDOSksIFQoQzEwKSwgVChDMTEpLCBUKEMxMiksIFQoQzEzKSwgVChDMTQpLCBUKEMxNSkgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTZfYzwgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMyksIFQoQzQpLCBUKEM1KSwgVChDNiksIFQoQzcpLCBUKEM4KSwgVChDOSksIFQoQzEwKSwgVChDMTEpLCBUKEMxMiksIFQoQzEzKSwgVChDMTQpLCBUKEMxNSkgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1LCBsb25nIEMxNgorICAgID4KK3N0cnVjdCB2ZWN0b3JfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIEMxMiwgQzEzLCBDMTQKKyAgICAgICAgLCBDMTUsIEMxNiwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiB2ZWN0b3IxN19jPCBULCBUKEMwKSwgVChDMSksIFQoQzIpLCBUKEMzKSwgVChDNCksIFQoQzUpLCBUKEM2KSwgVChDNyksIFQoQzgpLCBUKEM5KSwgVChDMTApLCBUKEMxMSksIFQoQzEyKSwgVChDMTMpLCBUKEMxNCksIFQoQzE1KSwgVChDMTYpID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjE3X2M8IFQsIFQoQzApLCBUKEMxKSwgVChDMiksIFQoQzMpLCBUKEM0KSwgVChDNSksIFQoQzYpLCBUKEM3KSwgVChDOCksIFQoQzkpLCBUKEMxMCksIFQoQzExKSwgVChDMTIpLCBUKEMxMyksIFQoQzE0KSwgVChDMTUpLCBUKEMxNikgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1LCBsb25nIEMxNiwgbG9uZyBDMTcKKyAgICA+CitzdHJ1Y3QgdmVjdG9yX2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBDMTIsIEMxMywgQzE0CisgICAgICAgICwgQzE1LCBDMTYsIEMxNywgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IHZlY3RvcjE4X2M8IFQsIFQoQzApLCBUKEMxKSwgVChDMiksIFQoQzMpLCBUKEM0KSwgVChDNSksIFQoQzYpLCBUKEM3KSwgVChDOCksIFQoQzkpLCBUKEMxMCksIFQoQzExKSwgVChDMTIpLCBUKEMxMyksIFQoQzE0KSwgVChDMTUpLCBUKEMxNiksIFQoQzE3KSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxOF9jPCBULCBUKEMwKSwgVChDMSksIFQoQzIpLCBUKEMzKSwgVChDNCksIFQoQzUpLCBUKEM2KSwgVChDNyksIFQoQzgpLCBUKEM5KSwgVChDMTApLCBUKEMxMSksIFQoQzEyKSwgVChDMTMpLCBUKEMxNCksIFQoQzE1KSwgVChDMTYpLCBUKEMxNykgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1LCBsb25nIEMxNiwgbG9uZyBDMTcsIGxvbmcgQzE4CisgICAgPgorc3RydWN0IHZlY3Rvcl9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMsIEMxNAorICAgICAgICAsIEMxNSwgQzE2LCBDMTcsIEMxOCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogdmVjdG9yMTlfYzwgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMyksIFQoQzQpLCBUKEM1KSwgVChDNiksIFQoQzcpLCBUKEM4KSwgVChDOSksIFQoQzEwKSwgVChDMTEpLCBUKEMxMiksIFQoQzEzKSwgVChDMTQpLCBUKEMxNSksIFQoQzE2KSwgVChDMTcpLCBUKEMxOCkgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTlfYzwgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMyksIFQoQzQpLCBUKEM1KSwgVChDNiksIFQoQzcpLCBUKEM4KSwgVChDOSksIFQoQzEwKSwgVChDMTEpLCBUKEMxMiksIFQoQzEzKSwgVChDMTQpLCBUKEMxNSksIFQoQzE2KSwgVChDMTcpLCBUKEMxOCkgPjo6dHlwZSB0eXBlOworfTsKKworLy8vIHByaW1hcnkgdGVtcGxhdGUgKG5vdCBhIHNwZWNpYWxpemF0aW9uISkKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1LCBsb25nIEMxNiwgbG9uZyBDMTcsIGxvbmcgQzE4LCBsb25nIEMxOQorICAgID4KK3N0cnVjdCB2ZWN0b3JfYworICAgIDogdmVjdG9yMjBfYzwgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMyksIFQoQzQpLCBUKEM1KSwgVChDNiksIFQoQzcpLCBUKEM4KSwgVChDOSksIFQoQzEwKSwgVChDMTEpLCBUKEMxMiksIFQoQzEzKSwgVChDMTQpLCBUKEMxNSksIFQoQzE2KSwgVChDMTcpLCBUKEMxOCksIFQoQzE5KSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IyMF9jPCBULCBUKEMwKSwgVChDMSksIFQoQzIpLCBUKEMzKSwgVChDNCksIFQoQzUpLCBUKEM2KSwgVChDNyksIFQoQzgpLCBUKEM5KSwgVChDMTApLCBUKEMxMSksIFQoQzEyKSwgVChDMTMpLCBUKEMxNCksIFQoQzE1KSwgVChDMTYpLCBUKEMxNyksIFQoQzE4KSwgVChDMTkpID46OnR5cGUgdHlwZTsKK307CisKK319CisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9tc3ZjNjAvYWR2YW5jZV9iYWNrd2FyZC5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXN2YzYwL2FkdmFuY2VfYmFja3dhcmQuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk3NjEyYTEKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXN2YzYwL2FkdmFuY2VfYmFja3dhcmQuaHBwCkBAIC0wLDAgKzEsMTMyIEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9hdXhfL2FkdmFuY2VfYmFja3dhcmQuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7IG5hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwgbG9uZyBOID4gc3RydWN0IGFkdmFuY2VfYmFja3dhcmQ7Cit0ZW1wbGF0ZTw+CitzdHJ1Y3QgYWR2YW5jZV9iYWNrd2FyZDwwPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBJdGVyYXRvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBJdGVyYXRvciBpdGVyMDsKKyAgICAgICAgdHlwZWRlZiBpdGVyMCB0eXBlOworICAgIH07CisKKyAgICAvLy8gRVRJIHdvcmthcm91bmQKKyAgICB0ZW1wbGF0ZTw+IHN0cnVjdCBhcHBseTxpbnQ+CisgICAgeworICAgICAgICB0eXBlZGVmIGludCB0eXBlOworICAgIH07CisKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBhZHZhbmNlX2JhY2t3YXJkPDE+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIEl0ZXJhdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIEl0ZXJhdG9yIGl0ZXIwOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHByaW9yPGl0ZXIwPjo6dHlwZSBpdGVyMTsKKyAgICAgICAgdHlwZWRlZiBpdGVyMSB0eXBlOworICAgIH07CisKKyAgICAvLy8gRVRJIHdvcmthcm91bmQKKyAgICB0ZW1wbGF0ZTw+IHN0cnVjdCBhcHBseTxpbnQ+CisgICAgeworICAgICAgICB0eXBlZGVmIGludCB0eXBlOworICAgIH07CisKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBhZHZhbmNlX2JhY2t3YXJkPDI+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIEl0ZXJhdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIEl0ZXJhdG9yIGl0ZXIwOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHByaW9yPGl0ZXIwPjo6dHlwZSBpdGVyMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBwcmlvcjxpdGVyMT46OnR5cGUgaXRlcjI7CisgICAgICAgIHR5cGVkZWYgaXRlcjIgdHlwZTsKKyAgICB9OworCisgICAgLy8vIEVUSSB3b3JrYXJvdW5kCisgICAgdGVtcGxhdGU8PiBzdHJ1Y3QgYXBwbHk8aW50PgorICAgIHsKKyAgICAgICAgdHlwZWRlZiBpbnQgdHlwZTsKKyAgICB9OworCit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgYWR2YW5jZV9iYWNrd2FyZDwzPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBJdGVyYXRvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBJdGVyYXRvciBpdGVyMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBwcmlvcjxpdGVyMD46OnR5cGUgaXRlcjE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcHJpb3I8aXRlcjE+Ojp0eXBlIGl0ZXIyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHByaW9yPGl0ZXIyPjo6dHlwZSBpdGVyMzsKKyAgICAgICAgdHlwZWRlZiBpdGVyMyB0eXBlOworICAgIH07CisKKyAgICAvLy8gRVRJIHdvcmthcm91bmQKKyAgICB0ZW1wbGF0ZTw+IHN0cnVjdCBhcHBseTxpbnQ+CisgICAgeworICAgICAgICB0eXBlZGVmIGludCB0eXBlOworICAgIH07CisKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBhZHZhbmNlX2JhY2t3YXJkPDQ+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIEl0ZXJhdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIEl0ZXJhdG9yIGl0ZXIwOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHByaW9yPGl0ZXIwPjo6dHlwZSBpdGVyMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBwcmlvcjxpdGVyMT46OnR5cGUgaXRlcjI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcHJpb3I8aXRlcjI+Ojp0eXBlIGl0ZXIzOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHByaW9yPGl0ZXIzPjo6dHlwZSBpdGVyNDsKKyAgICAgICAgdHlwZWRlZiBpdGVyNCB0eXBlOworICAgIH07CisKKyAgICAvLy8gRVRJIHdvcmthcm91bmQKKyAgICB0ZW1wbGF0ZTw+IHN0cnVjdCBhcHBseTxpbnQ+CisgICAgeworICAgICAgICB0eXBlZGVmIGludCB0eXBlOworICAgIH07CisKK307CisKK3RlbXBsYXRlPCBsb25nIE4gPgorc3RydWN0IGFkdmFuY2VfYmFja3dhcmQKK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgSXRlcmF0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHlfd3JhcDE8CisgICAgICAgICAgICAgIGFkdmFuY2VfYmFja3dhcmQ8ND4KKyAgICAgICAgICAgICwgSXRlcmF0b3IKKyAgICAgICAgICAgID46OnR5cGUgY2h1bmtfcmVzdWx0XzsKKworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5X3dyYXAxPAorICAgICAgICAgICAgICBhZHZhbmNlX2JhY2t3YXJkPCgKKyAgICAgICAgICAgICAgICAoTiAtIDQpIDwgMAorICAgICAgICAgICAgICAgICAgICA/IDAKKyAgICAgICAgICAgICAgICAgICAgOiBOIC0gNAorICAgICAgICAgICAgICAgICAgICApPgorICAgICAgICAgICAgLCBjaHVua19yZXN1bHRfCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisgICAgfTsKK307CisKK319fQorCmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXN2YzYwL2FkdmFuY2VfZm9yd2FyZC5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXN2YzYwL2FkdmFuY2VfZm9yd2FyZC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODg1MjA3NAotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9tc3ZjNjAvYWR2YW5jZV9mb3J3YXJkLmhwcApAQCAtMCwwICsxLDEzMiBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvYXV4Xy9hZHZhbmNlX2ZvcndhcmQuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7IG5hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwgbG9uZyBOID4gc3RydWN0IGFkdmFuY2VfZm9yd2FyZDsKK3RlbXBsYXRlPD4KK3N0cnVjdCBhZHZhbmNlX2ZvcndhcmQ8MD4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgSXRlcmF0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgSXRlcmF0b3IgaXRlcjA7CisgICAgICAgIHR5cGVkZWYgaXRlcjAgdHlwZTsKKyAgICB9OworCisgICAgLy8vIEVUSSB3b3JrYXJvdW5kCisgICAgdGVtcGxhdGU8PiBzdHJ1Y3QgYXBwbHk8aW50PgorICAgIHsKKyAgICAgICAgdHlwZWRlZiBpbnQgdHlwZTsKKyAgICB9OworCit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgYWR2YW5jZV9mb3J3YXJkPDE+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIEl0ZXJhdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIEl0ZXJhdG9yIGl0ZXIwOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG5leHQ8aXRlcjA+Ojp0eXBlIGl0ZXIxOworICAgICAgICB0eXBlZGVmIGl0ZXIxIHR5cGU7CisgICAgfTsKKworICAgIC8vLyBFVEkgd29ya2Fyb3VuZAorICAgIHRlbXBsYXRlPD4gc3RydWN0IGFwcGx5PGludD4KKyAgICB7CisgICAgICAgIHR5cGVkZWYgaW50IHR5cGU7CisgICAgfTsKKworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGFkdmFuY2VfZm9yd2FyZDwyPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBJdGVyYXRvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBJdGVyYXRvciBpdGVyMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBuZXh0PGl0ZXIwPjo6dHlwZSBpdGVyMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBuZXh0PGl0ZXIxPjo6dHlwZSBpdGVyMjsKKyAgICAgICAgdHlwZWRlZiBpdGVyMiB0eXBlOworICAgIH07CisKKyAgICAvLy8gRVRJIHdvcmthcm91bmQKKyAgICB0ZW1wbGF0ZTw+IHN0cnVjdCBhcHBseTxpbnQ+CisgICAgeworICAgICAgICB0eXBlZGVmIGludCB0eXBlOworICAgIH07CisKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBhZHZhbmNlX2ZvcndhcmQ8Mz4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgSXRlcmF0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgSXRlcmF0b3IgaXRlcjA7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbmV4dDxpdGVyMD46OnR5cGUgaXRlcjE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbmV4dDxpdGVyMT46OnR5cGUgaXRlcjI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbmV4dDxpdGVyMj46OnR5cGUgaXRlcjM7CisgICAgICAgIHR5cGVkZWYgaXRlcjMgdHlwZTsKKyAgICB9OworCisgICAgLy8vIEVUSSB3b3JrYXJvdW5kCisgICAgdGVtcGxhdGU8PiBzdHJ1Y3QgYXBwbHk8aW50PgorICAgIHsKKyAgICAgICAgdHlwZWRlZiBpbnQgdHlwZTsKKyAgICB9OworCit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgYWR2YW5jZV9mb3J3YXJkPDQ+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIEl0ZXJhdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIEl0ZXJhdG9yIGl0ZXIwOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG5leHQ8aXRlcjA+Ojp0eXBlIGl0ZXIxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG5leHQ8aXRlcjE+Ojp0eXBlIGl0ZXIyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG5leHQ8aXRlcjI+Ojp0eXBlIGl0ZXIzOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG5leHQ8aXRlcjM+Ojp0eXBlIGl0ZXI0OworICAgICAgICB0eXBlZGVmIGl0ZXI0IHR5cGU7CisgICAgfTsKKworICAgIC8vLyBFVEkgd29ya2Fyb3VuZAorICAgIHRlbXBsYXRlPD4gc3RydWN0IGFwcGx5PGludD4KKyAgICB7CisgICAgICAgIHR5cGVkZWYgaW50IHR5cGU7CisgICAgfTsKKworfTsKKwordGVtcGxhdGU8IGxvbmcgTiA+CitzdHJ1Y3QgYWR2YW5jZV9mb3J3YXJkCit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIEl0ZXJhdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5X3dyYXAxPAorICAgICAgICAgICAgICBhZHZhbmNlX2ZvcndhcmQ8ND4KKyAgICAgICAgICAgICwgSXRlcmF0b3IKKyAgICAgICAgICAgID46OnR5cGUgY2h1bmtfcmVzdWx0XzsKKworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5X3dyYXAxPAorICAgICAgICAgICAgICBhZHZhbmNlX2ZvcndhcmQ8KAorICAgICAgICAgICAgICAgIChOIC0gNCkgPCAwCisgICAgICAgICAgICAgICAgICAgID8gMAorICAgICAgICAgICAgICAgICAgICA6IE4gLSA0CisgICAgICAgICAgICAgICAgICAgICk+CisgICAgICAgICAgICAsIGNodW5rX3Jlc3VsdF8KKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKyAgICB9OworfTsKKworfX19CisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9tc3ZjNjAvYW5kLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9tc3ZjNjAvYW5kLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yYWU0ZTNiCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL21zdmM2MC9hbmQuaHBwCkBAIC0wLDAgKzEsNzMgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL2FuZC5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKworbmFtZXNwYWNlIGF1eCB7Cit0ZW1wbGF0ZTwgYm9vbCBDXyA+IHN0cnVjdCBhbmRfaW1wbAoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgICAgICA6IGZhbHNlXworICAgIHsKKyAgICB9OworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgYW5kX2ltcGw8dHJ1ZT4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICAgICAgOiBhbmRfaW1wbDwKKyAgICAgICAgICAgICAgQk9PU1RfTVBMX0FVWF9ORVNURURfVFlQRV9XS05EKFQxKTo6dmFsdWUKKyAgICAgICAgICAgID46OnRlbXBsYXRlIHJlc3VsdF88IFQyLFQzLFQ0LHRydWVfID4KKyAgICB7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBhbmRfaW1wbDx0cnVlPgorICAgIDo6cmVzdWx0XzwgdHJ1ZV8sdHJ1ZV8sdHJ1ZV8sdHJ1ZV8gPgorICAgICAgICA6IHRydWVfCit7Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKFQxKQorICAgICwgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShUMikKKyAgICAsIHR5cGVuYW1lIFQzID0gdHJ1ZV8sIHR5cGVuYW1lIFQ0ID0gdHJ1ZV8sIHR5cGVuYW1lIFQ1ID0gdHJ1ZV8KKyAgICA+CitzdHJ1Y3QgYW5kXworCisgICAgOiBhdXg6OmFuZF9pbXBsPAorICAgICAgICAgIEJPT1NUX01QTF9BVVhfTkVTVEVEX1RZUEVfV0tORChUMSk6OnZhbHVlCisgICAgICAgID46OnRlbXBsYXRlIHJlc3VsdF88IFQyLFQzLFQ0LFQ1ID4KKworeworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoCisgICAgICAgICAgNQorICAgICAgICAsIGFuZF8KKyAgICAgICAgLCAoIFQxLCBUMiwgVDMsIFQ0LCBUNSkKKyAgICAgICAgKQorfTsKKworQk9PU1RfTVBMX0FVWF9OQV9TUEVDMigKKyAgICAgIDIKKyAgICAsIDUKKyAgICAsIGFuZF8KKyAgICApCisKK319CmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXN2YzYwL2FwcGx5LmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9tc3ZjNjAvYXBwbHkuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc1ZmIzODMKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXN2YzYwL2FwcGx5LmhwcApAQCAtMCwwICsxLDE2NiBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvYXBwbHkuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRgorICAgID4KK3N0cnVjdCBhcHBseTAKKworeworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHlfd3JhcDA8CisgICAgICAgICAgdHlwZW5hbWUgbGFtYmRhPEY+Ojp0eXBlCisgICAgICAgCisgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoCisgICAgICAgICAgMQorICAgICAgICAsIGFwcGx5MAorICAgICAgICAsIChGICkKKyAgICAgICAgKQorfTsKKworLy8vIHdvcmthcm91bmQgZm9yIEVUSSBidWcKK3RlbXBsYXRlPD4KK3N0cnVjdCBhcHBseTA8aW50PgoreworICAgIHR5cGVkZWYgaW50IHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxCisgICAgPgorc3RydWN0IGFwcGx5MQorCit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseV93cmFwMTwKKyAgICAgICAgICB0eXBlbmFtZSBsYW1iZGE8Rj46OnR5cGUKKyAgICAgICAgLCBUMQorICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKAorICAgICAgICAgIDIKKyAgICAgICAgLCBhcHBseTEKKyAgICAgICAgLCAoRiwgVDEpCisgICAgICAgICkKK307CisKKy8vLyB3b3JrYXJvdW5kIGZvciBFVEkgYnVnCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgYXBwbHkxPCBpbnQsaW50ID4KK3sKKyAgICB0eXBlZGVmIGludCB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIKKyAgICA+CitzdHJ1Y3QgYXBwbHkyCisKK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5X3dyYXAyPAorICAgICAgICAgIHR5cGVuYW1lIGxhbWJkYTxGPjo6dHlwZQorICAgICAgICAsIFQxLCBUMgorICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKAorICAgICAgICAgIDMKKyAgICAgICAgLCBhcHBseTIKKyAgICAgICAgLCAoRiwgVDEsIFQyKQorICAgICAgICApCit9OworCisvLy8gd29ya2Fyb3VuZCBmb3IgRVRJIGJ1ZwordGVtcGxhdGU8Pgorc3RydWN0IGFwcGx5MjwgaW50LGludCxpbnQgPgoreworICAgIHR5cGVkZWYgaW50IHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMKKyAgICA+CitzdHJ1Y3QgYXBwbHkzCisKK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5X3dyYXAzPAorICAgICAgICAgIHR5cGVuYW1lIGxhbWJkYTxGPjo6dHlwZQorICAgICAgICAsIFQxLCBUMiwgVDMKKyAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgKKyAgICAgICAgICA0CisgICAgICAgICwgYXBwbHkzCisgICAgICAgICwgKEYsIFQxLCBUMiwgVDMpCisgICAgICAgICkKK307CisKKy8vLyB3b3JrYXJvdW5kIGZvciBFVEkgYnVnCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgYXBwbHkzPCBpbnQsaW50LGludCxpbnQgPgoreworICAgIHR5cGVkZWYgaW50IHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgPgorc3RydWN0IGFwcGx5NAorCit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseV93cmFwNDwKKyAgICAgICAgICB0eXBlbmFtZSBsYW1iZGE8Rj46OnR5cGUKKyAgICAgICAgLCBUMSwgVDIsIFQzLCBUNAorICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKAorICAgICAgICAgIDUKKyAgICAgICAgLCBhcHBseTQKKyAgICAgICAgLCAoRiwgVDEsIFQyLCBUMywgVDQpCisgICAgICAgICkKK307CisKKy8vLyB3b3JrYXJvdW5kIGZvciBFVEkgYnVnCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgYXBwbHk0PCBpbnQsaW50LGludCxpbnQsaW50ID4KK3sKKyAgICB0eXBlZGVmIGludCB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUKKyAgICA+CitzdHJ1Y3QgYXBwbHk1CisKK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5X3dyYXA1PAorICAgICAgICAgIHR5cGVuYW1lIGxhbWJkYTxGPjo6dHlwZQorICAgICAgICAsIFQxLCBUMiwgVDMsIFQ0LCBUNQorICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKAorICAgICAgICAgIDYKKyAgICAgICAgLCBhcHBseTUKKyAgICAgICAgLCAoRiwgVDEsIFQyLCBUMywgVDQsIFQ1KQorICAgICAgICApCit9OworCisvLy8gd29ya2Fyb3VuZCBmb3IgRVRJIGJ1ZwordGVtcGxhdGU8Pgorc3RydWN0IGFwcGx5NTwgaW50LGludCxpbnQsaW50LGludCxpbnQgPgoreworICAgIHR5cGVkZWYgaW50IHR5cGU7Cit9OworCit9fQorCmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXN2YzYwL2FwcGx5X2Z3ZC5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXN2YzYwL2FwcGx5X2Z3ZC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjJhOWE3NgotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9tc3ZjNjAvYXBwbHlfZndkLmhwcApAQCAtMCwwICsxLDQ2IEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9hcHBseV9md2QuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRgorICAgID4KK3N0cnVjdCBhcHBseTA7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEKKyAgICA+CitzdHJ1Y3QgYXBwbHkxOworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMgorICAgID4KK3N0cnVjdCBhcHBseTI7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMworICAgID4KK3N0cnVjdCBhcHBseTM7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICA+CitzdHJ1Y3QgYXBwbHk0OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNQorICAgID4KK3N0cnVjdCBhcHBseTU7CisKK319CisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9tc3ZjNjAvYXBwbHlfd3JhcC5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXN2YzYwL2FwcGx5X3dyYXAuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc5MTU3ZDEKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXN2YzYwL2FwcGx5X3dyYXAuaHBwCkBAIC0wLDAgKzEsMjQ3IEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9hcHBseV93cmFwLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgRj4KK3N0cnVjdCBtc3ZjX2FwcGx5MAoreworICAgIHRlbXBsYXRlPCBib29sID4gc3RydWN0IGZfIDogRiB7fTsKKyAgICB0ZW1wbGF0ZTw+IHN0cnVjdCBmXzx0cnVlPgorICAgIHsKKyAgICAgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFAgID0gaW50ID4gc3RydWN0IGFwcGx5CisgICAgICAgIHsKKyAgICAgICAgICAgIHR5cGVkZWYgaW50IHR5cGU7CisgICAgICAgIH07CisgICAgfTsKKworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBUICA9IGludCA+IHN0cnVjdCByZXN1bHRfCisgICAgICAgIDogZl88IGF1eDo6bXN2Y19uZXZlcl90cnVlPEY+Ojp2YWx1ZSA+CisgICAgICAgICAgICA6OnRlbXBsYXRlIGFwcGx5PD4KKyAgICB7CisgICAgfTsKKworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGCisgICAgPgorc3RydWN0IGFwcGx5X3dyYXAwCit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtc3ZjX2FwcGx5MDxGPjo6dGVtcGxhdGUgcmVzdWx0XzwKKyAgICAgICAgIAorICAgICAgICA+Ojp0eXBlIHR5cGU7Cit9OworCisvLy8gd29ya2Fyb3VuZCBmb3IgRVRJIGJ1ZwordGVtcGxhdGU8Pgorc3RydWN0IGFwcGx5X3dyYXAwPGludD4KK3sKKyAgICB0eXBlZGVmIGludCB0eXBlOworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIEY+CitzdHJ1Y3QgbXN2Y19hcHBseTEKK3sKKyAgICB0ZW1wbGF0ZTwgYm9vbCA+IHN0cnVjdCBmXyA6IEYge307CisgICAgdGVtcGxhdGU8PiBzdHJ1Y3QgZl88dHJ1ZT4KKyAgICB7CisgICAgICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBQMSA+IHN0cnVjdCBhcHBseQorICAgICAgICB7CisgICAgICAgICAgICB0eXBlZGVmIGludCB0eXBlOworICAgICAgICB9OworICAgIH07CisKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVDEgPiBzdHJ1Y3QgcmVzdWx0XworICAgICAgICA6IGZfPCBhdXg6Om1zdmNfbmV2ZXJfdHJ1ZTxGPjo6dmFsdWUgPgorICAgICAgICAgICAgOjp0ZW1wbGF0ZSBhcHBseTxUMT4KKyAgICB7CisgICAgfTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEKKyAgICA+CitzdHJ1Y3QgYXBwbHlfd3JhcDEKK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1zdmNfYXBwbHkxPEY+Ojp0ZW1wbGF0ZSByZXN1bHRfPAorICAgICAgICAgIFQxCisgICAgICAgID46OnR5cGUgdHlwZTsKK307CisKKy8vLyB3b3JrYXJvdW5kIGZvciBFVEkgYnVnCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgYXBwbHlfd3JhcDE8IGludCxpbnQgPgoreworICAgIHR5cGVkZWYgaW50IHR5cGU7Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgRj4KK3N0cnVjdCBtc3ZjX2FwcGx5MgoreworICAgIHRlbXBsYXRlPCBib29sID4gc3RydWN0IGZfIDogRiB7fTsKKyAgICB0ZW1wbGF0ZTw+IHN0cnVjdCBmXzx0cnVlPgorICAgIHsKKyAgICAgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFAxLCB0eXBlbmFtZSBQMiA+IHN0cnVjdCBhcHBseQorICAgICAgICB7CisgICAgICAgICAgICB0eXBlZGVmIGludCB0eXBlOworICAgICAgICB9OworICAgIH07CisKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyID4gc3RydWN0IHJlc3VsdF8KKyAgICAgICAgOiBmXzwgYXV4Ojptc3ZjX25ldmVyX3RydWU8Rj46OnZhbHVlID4KKyAgICAgICAgICAgIDo6dGVtcGxhdGUgYXBwbHk8IFQxLFQyID4KKyAgICB7CisgICAgfTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyCisgICAgPgorc3RydWN0IGFwcGx5X3dyYXAyCit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtc3ZjX2FwcGx5MjxGPjo6dGVtcGxhdGUgcmVzdWx0XzwKKyAgICAgICAgICBUMSwgVDIKKyAgICAgICAgPjo6dHlwZSB0eXBlOworfTsKKworLy8vIHdvcmthcm91bmQgZm9yIEVUSSBidWcKK3RlbXBsYXRlPD4KK3N0cnVjdCBhcHBseV93cmFwMjwgaW50LGludCxpbnQgPgoreworICAgIHR5cGVkZWYgaW50IHR5cGU7Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgRj4KK3N0cnVjdCBtc3ZjX2FwcGx5MworeworICAgIHRlbXBsYXRlPCBib29sID4gc3RydWN0IGZfIDogRiB7fTsKKyAgICB0ZW1wbGF0ZTw+IHN0cnVjdCBmXzx0cnVlPgorICAgIHsKKyAgICAgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFAxLCB0eXBlbmFtZSBQMiwgdHlwZW5hbWUgUDMgPiBzdHJ1Y3QgYXBwbHkKKyAgICAgICAgeworICAgICAgICAgICAgdHlwZWRlZiBpbnQgdHlwZTsKKyAgICAgICAgfTsKKyAgICB9OworCisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMgPiBzdHJ1Y3QgcmVzdWx0XworICAgICAgICA6IGZfPCBhdXg6Om1zdmNfbmV2ZXJfdHJ1ZTxGPjo6dmFsdWUgPgorICAgICAgICAgICAgOjp0ZW1wbGF0ZSBhcHBseTwgVDEsVDIsVDMgPgorICAgIHsKKyAgICB9OworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzCisgICAgPgorc3RydWN0IGFwcGx5X3dyYXAzCit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtc3ZjX2FwcGx5MzxGPjo6dGVtcGxhdGUgcmVzdWx0XzwKKyAgICAgICAgICBUMSwgVDIsIFQzCisgICAgICAgID46OnR5cGUgdHlwZTsKK307CisKKy8vLyB3b3JrYXJvdW5kIGZvciBFVEkgYnVnCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgYXBwbHlfd3JhcDM8IGludCxpbnQsaW50LGludCA+Cit7CisgICAgdHlwZWRlZiBpbnQgdHlwZTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBGPgorc3RydWN0IG1zdmNfYXBwbHk0Cit7CisgICAgdGVtcGxhdGU8IGJvb2wgPiBzdHJ1Y3QgZl8gOiBGIHt9OworICAgIHRlbXBsYXRlPD4gc3RydWN0IGZfPHRydWU+CisgICAgeworICAgICAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgUDEsIHR5cGVuYW1lIFAyLCB0eXBlbmFtZSBQMywgdHlwZW5hbWUgUDQKKyAgICAgICAgICAgID4KKyAgICAgICAgc3RydWN0IGFwcGx5CisgICAgICAgIHsKKyAgICAgICAgICAgIHR5cGVkZWYgaW50IHR5cGU7CisgICAgICAgIH07CisgICAgfTsKKworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgICAgICA6IGZfPCBhdXg6Om1zdmNfbmV2ZXJfdHJ1ZTxGPjo6dmFsdWUgPgorICAgICAgICAgICAgOjp0ZW1wbGF0ZSBhcHBseTwgVDEsVDIsVDMsVDQgPgorICAgIHsKKyAgICB9OworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgID4KK3N0cnVjdCBhcHBseV93cmFwNAoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbXN2Y19hcHBseTQ8Rj46OnRlbXBsYXRlIHJlc3VsdF88CisgICAgICAgICAgVDEsIFQyLCBUMywgVDQKKyAgICAgICAgPjo6dHlwZSB0eXBlOworfTsKKworLy8vIHdvcmthcm91bmQgZm9yIEVUSSBidWcKK3RlbXBsYXRlPD4KK3N0cnVjdCBhcHBseV93cmFwNDwgaW50LGludCxpbnQsaW50LGludCA+Cit7CisgICAgdHlwZWRlZiBpbnQgdHlwZTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBGPgorc3RydWN0IG1zdmNfYXBwbHk1Cit7CisgICAgdGVtcGxhdGU8IGJvb2wgPiBzdHJ1Y3QgZl8gOiBGIHt9OworICAgIHRlbXBsYXRlPD4gc3RydWN0IGZfPHRydWU+CisgICAgeworICAgICAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgUDEsIHR5cGVuYW1lIFAyLCB0eXBlbmFtZSBQMywgdHlwZW5hbWUgUDQKKyAgICAgICAgICAgICwgdHlwZW5hbWUgUDUKKyAgICAgICAgICAgID4KKyAgICAgICAgc3RydWN0IGFwcGx5CisgICAgICAgIHsKKyAgICAgICAgICAgIHR5cGVkZWYgaW50IHR5cGU7CisgICAgICAgIH07CisgICAgfTsKKworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgICAgICwgdHlwZW5hbWUgVDUKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgICAgIDogZl88IGF1eDo6bXN2Y19uZXZlcl90cnVlPEY+Ojp2YWx1ZSA+CisgICAgICAgICAgICA6OnRlbXBsYXRlIGFwcGx5PCBUMSxUMixUMyxUNCxUNSA+CisgICAgeworICAgIH07Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNQorICAgID4KK3N0cnVjdCBhcHBseV93cmFwNQoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbXN2Y19hcHBseTU8Rj46OnRlbXBsYXRlIHJlc3VsdF88CisgICAgICAgICAgVDEsIFQyLCBUMywgVDQsIFQ1CisgICAgICAgID46OnR5cGUgdHlwZTsKK307CisKKy8vLyB3b3JrYXJvdW5kIGZvciBFVEkgYnVnCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgYXBwbHlfd3JhcDU8IGludCxpbnQsaW50LGludCxpbnQsaW50ID4KK3sKKyAgICB0eXBlZGVmIGludCB0eXBlOworfTsKKworfX0KKwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL21zdmM2MC9hcmcuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL21zdmM2MC9hcmcuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlhMTU3YzIKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXN2YzYwL2FyZy5ocHAKQEAgLTAsMCArMSwxMjMgQEAKKworLy8gQ29weXJpZ2h0IFBldGVyIERpbW92IDIwMDEtMjAwMgorLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMS0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL2FyZy5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCitCT09TVF9NUExfQVVYX0FETF9CQVJSSUVSX05BTUVTUEFDRV9PUEVOCit0ZW1wbGF0ZTw+IHN0cnVjdCBhcmc8IC0xID4KK3sKKyAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAtMSk7CisgICAgQk9PU1RfTVBMX0FVWF9BUkdfVFlQRURFRihuYSwgdGFnKQorICAgIEJPT1NUX01QTF9BVVhfQVJHX1RZUEVERUYobmEsIHR5cGUpCisKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBVMSA9IG5hLCB0eXBlbmFtZSBVMiA9IG5hLCB0eXBlbmFtZSBVMyA9IG5hCisgICAgICAgICwgdHlwZW5hbWUgVTQgPSBuYSwgdHlwZW5hbWUgVTUgPSBuYQorICAgICAgICA+CisgICAgc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIFUxIHR5cGU7CisgICAgICAgIEJPT1NUX01QTF9BVVhfQVNTRVJUX05PVF9OQSh0eXBlKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgYXJnPDE+Cit7CisgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMSk7CisgICAgdHlwZWRlZiBhcmc8Mj4gbmV4dDsKKyAgICBCT09TVF9NUExfQVVYX0FSR19UWVBFREVGKG5hLCB0YWcpCisgICAgQk9PU1RfTVBMX0FVWF9BUkdfVFlQRURFRihuYSwgdHlwZSkKKworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFUxID0gbmEsIHR5cGVuYW1lIFUyID0gbmEsIHR5cGVuYW1lIFUzID0gbmEKKyAgICAgICAgLCB0eXBlbmFtZSBVNCA9IG5hLCB0eXBlbmFtZSBVNSA9IG5hCisgICAgICAgID4KKyAgICBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgVTEgdHlwZTsKKyAgICAgICAgQk9PU1RfTVBMX0FVWF9BU1NFUlRfTk9UX05BKHR5cGUpOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCBhcmc8Mj4KK3sKKyAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAyKTsKKyAgICB0eXBlZGVmIGFyZzwzPiBuZXh0OworICAgIEJPT1NUX01QTF9BVVhfQVJHX1RZUEVERUYobmEsIHRhZykKKyAgICBCT09TVF9NUExfQVVYX0FSR19UWVBFREVGKG5hLCB0eXBlKQorCisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVTEgPSBuYSwgdHlwZW5hbWUgVTIgPSBuYSwgdHlwZW5hbWUgVTMgPSBuYQorICAgICAgICAsIHR5cGVuYW1lIFU0ID0gbmEsIHR5cGVuYW1lIFU1ID0gbmEKKyAgICAgICAgPgorICAgIHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBVMiB0eXBlOworICAgICAgICBCT09TVF9NUExfQVVYX0FTU0VSVF9OT1RfTkEodHlwZSk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4gc3RydWN0IGFyZzwzPgoreworICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDMpOworICAgIHR5cGVkZWYgYXJnPDQ+IG5leHQ7CisgICAgQk9PU1RfTVBMX0FVWF9BUkdfVFlQRURFRihuYSwgdGFnKQorICAgIEJPT1NUX01QTF9BVVhfQVJHX1RZUEVERUYobmEsIHR5cGUpCisKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBVMSA9IG5hLCB0eXBlbmFtZSBVMiA9IG5hLCB0eXBlbmFtZSBVMyA9IG5hCisgICAgICAgICwgdHlwZW5hbWUgVTQgPSBuYSwgdHlwZW5hbWUgVTUgPSBuYQorICAgICAgICA+CisgICAgc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIFUzIHR5cGU7CisgICAgICAgIEJPT1NUX01QTF9BVVhfQVNTRVJUX05PVF9OQSh0eXBlKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgYXJnPDQ+Cit7CisgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gNCk7CisgICAgdHlwZWRlZiBhcmc8NT4gbmV4dDsKKyAgICBCT09TVF9NUExfQVVYX0FSR19UWVBFREVGKG5hLCB0YWcpCisgICAgQk9PU1RfTVBMX0FVWF9BUkdfVFlQRURFRihuYSwgdHlwZSkKKworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFUxID0gbmEsIHR5cGVuYW1lIFUyID0gbmEsIHR5cGVuYW1lIFUzID0gbmEKKyAgICAgICAgLCB0eXBlbmFtZSBVNCA9IG5hLCB0eXBlbmFtZSBVNSA9IG5hCisgICAgICAgID4KKyAgICBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgVTQgdHlwZTsKKyAgICAgICAgQk9PU1RfTVBMX0FVWF9BU1NFUlRfTk9UX05BKHR5cGUpOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCBhcmc8NT4KK3sKKyAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSA1KTsKKyAgICB0eXBlZGVmIGFyZzw2PiBuZXh0OworICAgIEJPT1NUX01QTF9BVVhfQVJHX1RZUEVERUYobmEsIHRhZykKKyAgICBCT09TVF9NUExfQVVYX0FSR19UWVBFREVGKG5hLCB0eXBlKQorCisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVTEgPSBuYSwgdHlwZW5hbWUgVTIgPSBuYSwgdHlwZW5hbWUgVTMgPSBuYQorICAgICAgICAsIHR5cGVuYW1lIFU0ID0gbmEsIHR5cGVuYW1lIFU1ID0gbmEKKyAgICAgICAgPgorICAgIHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBVNSB0eXBlOworICAgICAgICBCT09TVF9NUExfQVVYX0FTU0VSVF9OT1RfTkEodHlwZSk7CisgICAgfTsKK307CisKK0JPT1NUX01QTF9BVVhfTk9OVFlQRV9BUklUWV9TUEVDKDEsaW50LCBhcmcpCisKK0JPT1NUX01QTF9BVVhfQURMX0JBUlJJRVJfTkFNRVNQQUNFX0NMT1NFCmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXN2YzYwL2Jhc2ljX2JpbmQuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL21zdmM2MC9iYXNpY19iaW5kLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45YjY4MDIzCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL21zdmM2MC9iYXNpY19iaW5kLmhwcApAQCAtMCwwICsxLDMyOCBAQAorCisvLyBDb3B5cmlnaHQgUGV0ZXIgRGltb3YgMjAwMQorLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMS0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL2F1eF8vYmFzaWNfYmluZC5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKworbmFtZXNwYWNlIGF1eCB7Cit0ZW1wbGF0ZTwgYm9vbCA+CitzdHJ1Y3QgcmVzb2x2ZV9hcmdfaW1wbAoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQsIHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiwgdHlwZW5hbWUgVTMKKyAgICAgICAgLCB0eXBlbmFtZSBVNCwgdHlwZW5hbWUgVTUKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIFQgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHJlc29sdmVfYXJnX2ltcGw8dHJ1ZT4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBULCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIsIHR5cGVuYW1lIFUzCisgICAgICAgICwgdHlwZW5hbWUgVTQsIHR5cGVuYW1lIFU1CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseV93cmFwNTwKKyAgICAgICAgICAgICAgVAorICAgICAgICAgICAgLCBVMSwgVTIsIFUzLCBVNCwgVTUKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFQgPiBzdHJ1Y3QgaXNfYmluZF90ZW1wbGF0ZTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIsIHR5cGVuYW1lIFUzLCB0eXBlbmFtZSBVNAorICAgICwgdHlwZW5hbWUgVTUKKyAgICA+CitzdHJ1Y3QgcmVzb2x2ZV9iaW5kX2FyZworICAgIDogcmVzb2x2ZV9hcmdfaW1wbDwgaXNfYmluZF90ZW1wbGF0ZTxUPjo6dmFsdWUgPgorICAgICAgICAgICAgOjp0ZW1wbGF0ZSByZXN1bHRfPCBULFUxLFUyLFUzLFU0LFU1ID4KK3sKK307CisKK3RlbXBsYXRlPCBpbnQgYXJpdHlfID4gc3RydWN0IGJpbmRfY2hvb3NlcjsKKworYXV4Ojpub190YWcgaXNfYmluZF9oZWxwZXIoLi4uKTsKK3RlbXBsYXRlPCB0eXBlbmFtZSBUID4gYXV4Ojpub190YWcgaXNfYmluZF9oZWxwZXIocHJvdGVjdDxUPiopOworCit0ZW1wbGF0ZTwgaW50IE4gPgorYXV4Ojp5ZXNfdGFnIGlzX2JpbmRfaGVscGVyKGFyZzxOPiopOworCit0ZW1wbGF0ZTwgYm9vbCBpc19yZWZfICA9IHRydWUgPgorc3RydWN0IGlzX2JpbmRfdGVtcGxhdGVfaW1wbAoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBUID4gc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChib29sLCB2YWx1ZSAgPSBmYWxzZSk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBpc19iaW5kX3RlbXBsYXRlX2ltcGw8ZmFsc2U+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFQgPiBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGJvb2wsIHZhbHVlID0KKyAgICAgICAgICAgICAgc2l6ZW9mKGF1eDo6aXNfYmluZF9oZWxwZXIoc3RhdGljX2Nhc3Q8VCo+KDApKSkKKyAgICAgICAgICAgICAgICA9PSBzaXplb2YoYXV4Ojp5ZXNfdGFnKQorICAgICAgICAgICAgKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFQgPiBzdHJ1Y3QgaXNfYmluZF90ZW1wbGF0ZQorICAgIDogaXNfYmluZF90ZW1wbGF0ZV9pbXBsPCA6Om5kbmJvb3N0OjpkZXRhaWw6OmlzX3JlZmVyZW5jZV9pbXBsPFQ+Ojp2YWx1ZSA+CisgICAgICAgIDo6dGVtcGxhdGUgcmVzdWx0XzxUPgoreworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRgorICAgID4KK3N0cnVjdCBiaW5kMAoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFUxID0gbmEsIHR5cGVuYW1lIFUyID0gbmEsIHR5cGVuYW1lIFUzID0gbmEKKyAgICAgICAgLCB0eXBlbmFtZSBVNCA9IG5hLCB0eXBlbmFtZSBVNSA9IG5hCisgICAgICAgID4KKyAgICBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgIHByaXZhdGU6CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBGLFUxLFUyLFUzLFU0LFU1ID46OnR5cGUgZl87CisKKyAgICAgcHVibGljOgorICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5X3dyYXAwPAorICAgICAgICAgICAgICBmXworICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYKKyAgICA+CithdXg6Onllc190YWcKK2lzX2JpbmRfaGVscGVyKGJpbmQwPEY+Kik7CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCitCT09TVF9NUExfQVVYX0FSSVRZX1NQRUMoMSwgYmluZDApCitCT09TVF9NUExfQVVYX1RFTVBMQVRFX0FSSVRZX1NQRUMoMSwgYmluZDApCisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEKKyAgICA+CitzdHJ1Y3QgYmluZDEKK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBVMSA9IG5hLCB0eXBlbmFtZSBVMiA9IG5hLCB0eXBlbmFtZSBVMyA9IG5hCisgICAgICAgICwgdHlwZW5hbWUgVTQgPSBuYSwgdHlwZW5hbWUgVTUgPSBuYQorICAgICAgICA+CisgICAgc3RydWN0IGFwcGx5CisgICAgeworICAgICBwcml2YXRlOgorICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgRixVMSxVMixVMyxVNCxVNSA+Ojp0eXBlIGZfOworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgVDEsVTEsVTIsVTMsVTQsVTUgPiB0MTsKKworICAgICBwdWJsaWM6CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHlfd3JhcDE8CisgICAgICAgICAgICAgIGZfCisgICAgICAgICAgICAsIHR5cGVuYW1lIHQxOjp0eXBlCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEKKyAgICA+CithdXg6Onllc190YWcKK2lzX2JpbmRfaGVscGVyKGJpbmQxPCBGLFQxID4qKTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK0JPT1NUX01QTF9BVVhfQVJJVFlfU1BFQygyLCBiaW5kMSkKK0JPT1NUX01QTF9BVVhfVEVNUExBVEVfQVJJVFlfU1BFQygyLCBiaW5kMSkKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIKKyAgICA+CitzdHJ1Y3QgYmluZDIKK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBVMSA9IG5hLCB0eXBlbmFtZSBVMiA9IG5hLCB0eXBlbmFtZSBVMyA9IG5hCisgICAgICAgICwgdHlwZW5hbWUgVTQgPSBuYSwgdHlwZW5hbWUgVTUgPSBuYQorICAgICAgICA+CisgICAgc3RydWN0IGFwcGx5CisgICAgeworICAgICBwcml2YXRlOgorICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgRixVMSxVMixVMyxVNCxVNSA+Ojp0eXBlIGZfOworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgVDEsVTEsVTIsVTMsVTQsVTUgPiB0MTsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IFQyLFUxLFUyLFUzLFU0LFU1ID4gdDI7CisKKyAgICAgcHVibGljOgorICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5X3dyYXAyPAorICAgICAgICAgICAgICBmXworICAgICAgICAgICAgLCB0eXBlbmFtZSB0MTo6dHlwZSwgdHlwZW5hbWUgdDI6OnR5cGUKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIKKyAgICA+CithdXg6Onllc190YWcKK2lzX2JpbmRfaGVscGVyKGJpbmQyPCBGLFQxLFQyID4qKTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK0JPT1NUX01QTF9BVVhfQVJJVFlfU1BFQygzLCBiaW5kMikKK0JPT1NUX01QTF9BVVhfVEVNUExBVEVfQVJJVFlfU1BFQygzLCBiaW5kMikKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzCisgICAgPgorc3RydWN0IGJpbmQzCit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVTEgPSBuYSwgdHlwZW5hbWUgVTIgPSBuYSwgdHlwZW5hbWUgVTMgPSBuYQorICAgICAgICAsIHR5cGVuYW1lIFU0ID0gbmEsIHR5cGVuYW1lIFU1ID0gbmEKKyAgICAgICAgPgorICAgIHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgcHJpdmF0ZToKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhdXg6OnJlc29sdmVfYmluZF9hcmc8IEYsVTEsVTIsVTMsVTQsVTUgPjo6dHlwZSBmXzsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IFQxLFUxLFUyLFUzLFU0LFU1ID4gdDE7CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBUMixVMSxVMixVMyxVNCxVNSA+IHQyOworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgVDMsVTEsVTIsVTMsVTQsVTUgPiB0MzsKKworICAgICBwdWJsaWM6CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHlfd3JhcDM8CisgICAgICAgICAgICAgIGZfCisgICAgICAgICAgICAsIHR5cGVuYW1lIHQxOjp0eXBlLCB0eXBlbmFtZSB0Mjo6dHlwZSwgdHlwZW5hbWUgdDM6OnR5cGUKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzCisgICAgPgorYXV4Ojp5ZXNfdGFnCitpc19iaW5kX2hlbHBlcihiaW5kMzwgRixUMSxUMixUMyA+Kik7CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCitCT09TVF9NUExfQVVYX0FSSVRZX1NQRUMoNCwgYmluZDMpCitCT09TVF9NUExfQVVYX1RFTVBMQVRFX0FSSVRZX1NQRUMoNCwgYmluZDMpCisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICA+CitzdHJ1Y3QgYmluZDQKK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBVMSA9IG5hLCB0eXBlbmFtZSBVMiA9IG5hLCB0eXBlbmFtZSBVMyA9IG5hCisgICAgICAgICwgdHlwZW5hbWUgVTQgPSBuYSwgdHlwZW5hbWUgVTUgPSBuYQorICAgICAgICA+CisgICAgc3RydWN0IGFwcGx5CisgICAgeworICAgICBwcml2YXRlOgorICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgRixVMSxVMixVMyxVNCxVNSA+Ojp0eXBlIGZfOworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgVDEsVTEsVTIsVTMsVTQsVTUgPiB0MTsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IFQyLFUxLFUyLFUzLFU0LFU1ID4gdDI7CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBUMyxVMSxVMixVMyxVNCxVNSA+IHQzOworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgVDQsVTEsVTIsVTMsVTQsVTUgPiB0NDsKKworICAgICBwdWJsaWM6CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHlfd3JhcDQ8CisgICAgICAgICAgICAgIGZfCisgICAgICAgICAgICAsIHR5cGVuYW1lIHQxOjp0eXBlLCB0eXBlbmFtZSB0Mjo6dHlwZSwgdHlwZW5hbWUgdDM6OnR5cGUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgdDQ6OnR5cGUKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgID4KK2F1eDo6eWVzX3RhZworaXNfYmluZF9oZWxwZXIoYmluZDQ8IEYsVDEsVDIsVDMsVDQgPiopOworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworQk9PU1RfTVBMX0FVWF9BUklUWV9TUEVDKDUsIGJpbmQ0KQorQk9PU1RfTVBMX0FVWF9URU1QTEFURV9BUklUWV9TUEVDKDUsIGJpbmQ0KQorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNQorICAgID4KK3N0cnVjdCBiaW5kNQoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFUxID0gbmEsIHR5cGVuYW1lIFUyID0gbmEsIHR5cGVuYW1lIFUzID0gbmEKKyAgICAgICAgLCB0eXBlbmFtZSBVNCA9IG5hLCB0eXBlbmFtZSBVNSA9IG5hCisgICAgICAgID4KKyAgICBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgIHByaXZhdGU6CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBGLFUxLFUyLFUzLFU0LFU1ID46OnR5cGUgZl87CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBUMSxVMSxVMixVMyxVNCxVNSA+IHQxOworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgVDIsVTEsVTIsVTMsVTQsVTUgPiB0MjsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IFQzLFUxLFUyLFUzLFU0LFU1ID4gdDM7CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBUNCxVMSxVMixVMyxVNCxVNSA+IHQ0OworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgVDUsVTEsVTIsVTMsVTQsVTUgPiB0NTsKKworICAgICBwdWJsaWM6CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHlfd3JhcDU8CisgICAgICAgICAgICAgIGZfCisgICAgICAgICAgICAsIHR5cGVuYW1lIHQxOjp0eXBlLCB0eXBlbmFtZSB0Mjo6dHlwZSwgdHlwZW5hbWUgdDM6OnR5cGUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgdDQ6OnR5cGUsIHR5cGVuYW1lIHQ1Ojp0eXBlCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1CisgICAgPgorYXV4Ojp5ZXNfdGFnCitpc19iaW5kX2hlbHBlcihiaW5kNTwgRixUMSxUMixUMyxUNCxUNSA+Kik7CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCitCT09TVF9NUExfQVVYX0FSSVRZX1NQRUMoNiwgYmluZDUpCitCT09TVF9NUExfQVVYX1RFTVBMQVRFX0FSSVRZX1NQRUMoNiwgYmluZDUpCit9fQorCmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXN2YzYwL2JpbmQuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL21zdmM2MC9iaW5kLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xYzNiOGQ4Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL21zdmM2MC9iaW5kLmhwcApAQCAtMCwwICsxLDQzMiBAQAorCisvLyBDb3B5cmlnaHQgUGV0ZXIgRGltb3YgMjAwMQorLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMS0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL2JpbmQuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK25hbWVzcGFjZSBhdXggewordGVtcGxhdGU8IGJvb2wgPgorc3RydWN0IHJlc29sdmVfYXJnX2ltcGwKK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBULCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIsIHR5cGVuYW1lIFUzCisgICAgICAgICwgdHlwZW5hbWUgVTQsIHR5cGVuYW1lIFU1CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiBUIHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCByZXNvbHZlX2FyZ19pbXBsPHRydWU+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVCwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyLCB0eXBlbmFtZSBVMworICAgICAgICAsIHR5cGVuYW1lIFU0LCB0eXBlbmFtZSBVNQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHlfd3JhcDU8CisgICAgICAgICAgICAgIFQKKyAgICAgICAgICAgICwgVTEsIFUyLCBVMywgVTQsIFU1CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUID4gc3RydWN0IGlzX2JpbmRfdGVtcGxhdGU7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyLCB0eXBlbmFtZSBVMywgdHlwZW5hbWUgVTQKKyAgICAsIHR5cGVuYW1lIFU1CisgICAgPgorc3RydWN0IHJlc29sdmVfYmluZF9hcmcKKyAgICA6IHJlc29sdmVfYXJnX2ltcGw8IGlzX2JpbmRfdGVtcGxhdGU8VD46OnZhbHVlID4KKyAgICAgICAgICAgIDo6dGVtcGxhdGUgcmVzdWx0XzwgVCxVMSxVMixVMyxVNCxVNSA+Cit7Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVCA+CitzdHJ1Y3QgcmVwbGFjZV91bm5hbWVkX2FyZ19pbXBsCit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIEFyZyA+IHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIEFyZyBuZXh0OworICAgICAgICB0eXBlZGVmIFQgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHJlcGxhY2VfdW5uYW1lZF9hcmdfaW1wbDwgYXJnPCAtMSA+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgQXJnID4gc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbmV4dDxBcmc+Ojp0eXBlIG5leHQ7CisgICAgICAgIHR5cGVkZWYgQXJnIHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBULCB0eXBlbmFtZSBBcmcgPgorc3RydWN0IHJlcGxhY2VfdW5uYW1lZF9hcmcKKyAgICA6IHJlcGxhY2VfdW5uYW1lZF9hcmdfaW1wbDxUPjo6dGVtcGxhdGUgcmVzdWx0XzxBcmc+Cit7Cit9OworCit0ZW1wbGF0ZTwgaW50IGFyaXR5XyA+IHN0cnVjdCBiaW5kX2Nob29zZXI7CisKK2F1eDo6bm9fdGFnIGlzX2JpbmRfaGVscGVyKC4uLik7Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgVCA+IGF1eDo6bm9fdGFnIGlzX2JpbmRfaGVscGVyKHByb3RlY3Q8VD4qKTsKKwordGVtcGxhdGU8IGludCBOID4KK2F1eDo6eWVzX3RhZyBpc19iaW5kX2hlbHBlcihhcmc8Tj4qKTsKKwordGVtcGxhdGU8IGJvb2wgaXNfcmVmXyAgPSB0cnVlID4KK3N0cnVjdCBpc19iaW5kX3RlbXBsYXRlX2ltcGwKK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVCA+IHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoYm9vbCwgdmFsdWUgID0gZmFsc2UpOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgaXNfYmluZF90ZW1wbGF0ZV9pbXBsPGZhbHNlPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBUID4gc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChib29sLCB2YWx1ZSA9CisgICAgICAgICAgICAgIHNpemVvZihhdXg6OmlzX2JpbmRfaGVscGVyKHN0YXRpY19jYXN0PFQqPigwKSkpCisgICAgICAgICAgICAgICAgPT0gc2l6ZW9mKGF1eDo6eWVzX3RhZykKKyAgICAgICAgICAgICk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUID4gc3RydWN0IGlzX2JpbmRfdGVtcGxhdGUKKyAgICA6IGlzX2JpbmRfdGVtcGxhdGVfaW1wbDwgOjpuZG5ib29zdDo6ZGV0YWlsOjppc19yZWZlcmVuY2VfaW1wbDxUPjo6dmFsdWUgPgorICAgICAgICA6OnRlbXBsYXRlIHJlc3VsdF88VD4KK3sKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYKKyAgICA+CitzdHJ1Y3QgYmluZDAKK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBVMSA9IG5hLCB0eXBlbmFtZSBVMiA9IG5hLCB0eXBlbmFtZSBVMyA9IG5hCisgICAgICAgICwgdHlwZW5hbWUgVTQgPSBuYSwgdHlwZW5hbWUgVTUgPSBuYQorICAgICAgICA+CisgICAgc3RydWN0IGFwcGx5CisgICAgeworICAgICBwcml2YXRlOgorICAgICAgICB0eXBlZGVmIGF1eDo6cmVwbGFjZV91bm5hbWVkX2FyZzwgRiwgbXBsOjphcmc8MT4gPiByMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMDo6dHlwZSBhMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMDo6bmV4dCBuMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhdXg6OnJlc29sdmVfYmluZF9hcmc8IGEwLFUxLFUyLFUzLFU0LFU1ID46OnR5cGUgZl87CisgICAgICAgIC8vLworICAgICBwdWJsaWM6CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHlfd3JhcDA8CisgICAgICAgICAgICAgIGZfCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRgorICAgID4KK2F1eDo6eWVzX3RhZworaXNfYmluZF9oZWxwZXIoYmluZDA8Rj4qKTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK0JPT1NUX01QTF9BVVhfQVJJVFlfU1BFQygxLCBiaW5kMCkKK0JPT1NUX01QTF9BVVhfVEVNUExBVEVfQVJJVFlfU1BFQygxLCBiaW5kMCkKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMQorICAgID4KK3N0cnVjdCBiaW5kMQoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFUxID0gbmEsIHR5cGVuYW1lIFUyID0gbmEsIHR5cGVuYW1lIFUzID0gbmEKKyAgICAgICAgLCB0eXBlbmFtZSBVNCA9IG5hLCB0eXBlbmFtZSBVNSA9IG5hCisgICAgICAgID4KKyAgICBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgIHByaXZhdGU6CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXBsYWNlX3VubmFtZWRfYXJnPCBGLCBtcGw6OmFyZzwxPiA+IHIwOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIwOjp0eXBlIGEwOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIwOjpuZXh0IG4xOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgYTAsVTEsVTIsVTMsVTQsVTUgPjo6dHlwZSBmXzsKKyAgICAgICAgLy8vCisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXBsYWNlX3VubmFtZWRfYXJnPCBUMSxuMSA+IHIxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIxOjp0eXBlIGExOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIxOjpuZXh0IG4yOworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgYTEsVTEsVTIsVTMsVTQsVTUgPiB0MTsKKyAgICAgICAgLy8vCisgICAgIHB1YmxpYzoKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseV93cmFwMTwKKyAgICAgICAgICAgICAgZl8KKyAgICAgICAgICAgICwgdHlwZW5hbWUgdDE6OnR5cGUKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMQorICAgID4KK2F1eDo6eWVzX3RhZworaXNfYmluZF9oZWxwZXIoYmluZDE8IEYsVDEgPiopOworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworQk9PU1RfTVBMX0FVWF9BUklUWV9TUEVDKDIsIGJpbmQxKQorQk9PU1RfTVBMX0FVWF9URU1QTEFURV9BUklUWV9TUEVDKDIsIGJpbmQxKQorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMgorICAgID4KK3N0cnVjdCBiaW5kMgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFUxID0gbmEsIHR5cGVuYW1lIFUyID0gbmEsIHR5cGVuYW1lIFUzID0gbmEKKyAgICAgICAgLCB0eXBlbmFtZSBVNCA9IG5hLCB0eXBlbmFtZSBVNSA9IG5hCisgICAgICAgID4KKyAgICBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgIHByaXZhdGU6CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXBsYWNlX3VubmFtZWRfYXJnPCBGLCBtcGw6OmFyZzwxPiA+IHIwOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIwOjp0eXBlIGEwOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIwOjpuZXh0IG4xOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgYTAsVTEsVTIsVTMsVTQsVTUgPjo6dHlwZSBmXzsKKyAgICAgICAgLy8vCisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXBsYWNlX3VubmFtZWRfYXJnPCBUMSxuMSA+IHIxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIxOjp0eXBlIGExOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIxOjpuZXh0IG4yOworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgYTEsVTEsVTIsVTMsVTQsVTUgPiB0MTsKKyAgICAgICAgLy8vCisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXBsYWNlX3VubmFtZWRfYXJnPCBUMixuMiA+IHIyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIyOjp0eXBlIGEyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIyOjpuZXh0IG4zOworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgYTIsVTEsVTIsVTMsVTQsVTUgPiB0MjsKKyAgICAgICAgLy8vCisgICAgIHB1YmxpYzoKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseV93cmFwMjwKKyAgICAgICAgICAgICAgZl8KKyAgICAgICAgICAgICwgdHlwZW5hbWUgdDE6OnR5cGUsIHR5cGVuYW1lIHQyOjp0eXBlCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyCisgICAgPgorYXV4Ojp5ZXNfdGFnCitpc19iaW5kX2hlbHBlcihiaW5kMjwgRixUMSxUMiA+Kik7CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCitCT09TVF9NUExfQVVYX0FSSVRZX1NQRUMoMywgYmluZDIpCitCT09TVF9NUExfQVVYX1RFTVBMQVRFX0FSSVRZX1NQRUMoMywgYmluZDIpCisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMworICAgID4KK3N0cnVjdCBiaW5kMworeworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFUxID0gbmEsIHR5cGVuYW1lIFUyID0gbmEsIHR5cGVuYW1lIFUzID0gbmEKKyAgICAgICAgLCB0eXBlbmFtZSBVNCA9IG5hLCB0eXBlbmFtZSBVNSA9IG5hCisgICAgICAgID4KKyAgICBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgIHByaXZhdGU6CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXBsYWNlX3VubmFtZWRfYXJnPCBGLCBtcGw6OmFyZzwxPiA+IHIwOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIwOjp0eXBlIGEwOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIwOjpuZXh0IG4xOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgYTAsVTEsVTIsVTMsVTQsVTUgPjo6dHlwZSBmXzsKKyAgICAgICAgLy8vCisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXBsYWNlX3VubmFtZWRfYXJnPCBUMSxuMSA+IHIxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIxOjp0eXBlIGExOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIxOjpuZXh0IG4yOworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgYTEsVTEsVTIsVTMsVTQsVTUgPiB0MTsKKyAgICAgICAgLy8vCisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXBsYWNlX3VubmFtZWRfYXJnPCBUMixuMiA+IHIyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIyOjp0eXBlIGEyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIyOjpuZXh0IG4zOworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgYTIsVTEsVTIsVTMsVTQsVTUgPiB0MjsKKyAgICAgICAgLy8vCisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXBsYWNlX3VubmFtZWRfYXJnPCBUMyxuMyA+IHIzOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIzOjp0eXBlIGEzOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIzOjpuZXh0IG40OworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgYTMsVTEsVTIsVTMsVTQsVTUgPiB0MzsKKyAgICAgICAgLy8vCisgICAgIHB1YmxpYzoKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseV93cmFwMzwKKyAgICAgICAgICAgICAgZl8KKyAgICAgICAgICAgICwgdHlwZW5hbWUgdDE6OnR5cGUsIHR5cGVuYW1lIHQyOjp0eXBlLCB0eXBlbmFtZSB0Mzo6dHlwZQorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMKKyAgICA+CithdXg6Onllc190YWcKK2lzX2JpbmRfaGVscGVyKGJpbmQzPCBGLFQxLFQyLFQzID4qKTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK0JPT1NUX01QTF9BVVhfQVJJVFlfU1BFQyg0LCBiaW5kMykKK0JPT1NUX01QTF9BVVhfVEVNUExBVEVfQVJJVFlfU1BFQyg0LCBiaW5kMykKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgID4KK3N0cnVjdCBiaW5kNAoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFUxID0gbmEsIHR5cGVuYW1lIFUyID0gbmEsIHR5cGVuYW1lIFUzID0gbmEKKyAgICAgICAgLCB0eXBlbmFtZSBVNCA9IG5hLCB0eXBlbmFtZSBVNSA9IG5hCisgICAgICAgID4KKyAgICBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgIHByaXZhdGU6CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXBsYWNlX3VubmFtZWRfYXJnPCBGLCBtcGw6OmFyZzwxPiA+IHIwOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIwOjp0eXBlIGEwOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIwOjpuZXh0IG4xOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgYTAsVTEsVTIsVTMsVTQsVTUgPjo6dHlwZSBmXzsKKyAgICAgICAgLy8vCisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXBsYWNlX3VubmFtZWRfYXJnPCBUMSxuMSA+IHIxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIxOjp0eXBlIGExOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIxOjpuZXh0IG4yOworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgYTEsVTEsVTIsVTMsVTQsVTUgPiB0MTsKKyAgICAgICAgLy8vCisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXBsYWNlX3VubmFtZWRfYXJnPCBUMixuMiA+IHIyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIyOjp0eXBlIGEyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIyOjpuZXh0IG4zOworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgYTIsVTEsVTIsVTMsVTQsVTUgPiB0MjsKKyAgICAgICAgLy8vCisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXBsYWNlX3VubmFtZWRfYXJnPCBUMyxuMyA+IHIzOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIzOjp0eXBlIGEzOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIzOjpuZXh0IG40OworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgYTMsVTEsVTIsVTMsVTQsVTUgPiB0MzsKKyAgICAgICAgLy8vCisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXBsYWNlX3VubmFtZWRfYXJnPCBUNCxuNCA+IHI0OworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHI0Ojp0eXBlIGE0OworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHI0OjpuZXh0IG41OworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgYTQsVTEsVTIsVTMsVTQsVTUgPiB0NDsKKyAgICAgICAgLy8vCisgICAgIHB1YmxpYzoKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseV93cmFwNDwKKyAgICAgICAgICAgICAgZl8KKyAgICAgICAgICAgICwgdHlwZW5hbWUgdDE6OnR5cGUsIHR5cGVuYW1lIHQyOjp0eXBlLCB0eXBlbmFtZSB0Mzo6dHlwZQorICAgICAgICAgICAgLCB0eXBlbmFtZSB0NDo6dHlwZQorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgPgorYXV4Ojp5ZXNfdGFnCitpc19iaW5kX2hlbHBlcihiaW5kNDwgRixUMSxUMixUMyxUNCA+Kik7CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCitCT09TVF9NUExfQVVYX0FSSVRZX1NQRUMoNSwgYmluZDQpCitCT09TVF9NUExfQVVYX1RFTVBMQVRFX0FSSVRZX1NQRUMoNSwgYmluZDQpCisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1CisgICAgPgorc3RydWN0IGJpbmQ1Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVTEgPSBuYSwgdHlwZW5hbWUgVTIgPSBuYSwgdHlwZW5hbWUgVTMgPSBuYQorICAgICAgICAsIHR5cGVuYW1lIFU0ID0gbmEsIHR5cGVuYW1lIFU1ID0gbmEKKyAgICAgICAgPgorICAgIHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgcHJpdmF0ZToKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlcGxhY2VfdW5uYW1lZF9hcmc8IEYsIG1wbDo6YXJnPDE+ID4gcjA7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjA6OnR5cGUgYTA7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjA6Om5leHQgbjE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBhMCxVMSxVMixVMyxVNCxVNSA+Ojp0eXBlIGZfOworICAgICAgICAvLy8KKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlcGxhY2VfdW5uYW1lZF9hcmc8IFQxLG4xID4gcjE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjE6OnR5cGUgYTE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjE6Om5leHQgbjI7CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBhMSxVMSxVMixVMyxVNCxVNSA+IHQxOworICAgICAgICAvLy8KKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlcGxhY2VfdW5uYW1lZF9hcmc8IFQyLG4yID4gcjI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjI6OnR5cGUgYTI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjI6Om5leHQgbjM7CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBhMixVMSxVMixVMyxVNCxVNSA+IHQyOworICAgICAgICAvLy8KKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlcGxhY2VfdW5uYW1lZF9hcmc8IFQzLG4zID4gcjM7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjM6OnR5cGUgYTM7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjM6Om5leHQgbjQ7CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBhMyxVMSxVMixVMyxVNCxVNSA+IHQzOworICAgICAgICAvLy8KKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlcGxhY2VfdW5uYW1lZF9hcmc8IFQ0LG40ID4gcjQ7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjQ6OnR5cGUgYTQ7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjQ6Om5leHQgbjU7CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBhNCxVMSxVMixVMyxVNCxVNSA+IHQ0OworICAgICAgICAvLy8KKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlcGxhY2VfdW5uYW1lZF9hcmc8IFQ1LG41ID4gcjU7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjU6OnR5cGUgYTU7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjU6Om5leHQgbjY7CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBhNSxVMSxVMixVMyxVNCxVNSA+IHQ1OworICAgICAgICAvLy8KKyAgICAgcHVibGljOgorICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5X3dyYXA1PAorICAgICAgICAgICAgICBmXworICAgICAgICAgICAgLCB0eXBlbmFtZSB0MTo6dHlwZSwgdHlwZW5hbWUgdDI6OnR5cGUsIHR5cGVuYW1lIHQzOjp0eXBlCisgICAgICAgICAgICAsIHR5cGVuYW1lIHQ0Ojp0eXBlLCB0eXBlbmFtZSB0NTo6dHlwZQorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNQorICAgID4KK2F1eDo6eWVzX3RhZworaXNfYmluZF9oZWxwZXIoYmluZDU8IEYsVDEsVDIsVDMsVDQsVDUgPiopOworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworQk9PU1RfTVBMX0FVWF9BUklUWV9TUEVDKDYsIGJpbmQ1KQorQk9PU1RfTVBMX0FVWF9URU1QTEFURV9BUklUWV9TUEVDKDYsIGJpbmQ1KQorfX0KKwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL21zdmM2MC9iaW5kX2Z3ZC5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXN2YzYwL2JpbmRfZndkLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYmQxYjZkCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL21zdmM2MC9iaW5kX2Z3ZC5ocHAKQEAgLTAsMCArMSw0NiBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvYmluZF9md2QuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRgorICAgID4KK3N0cnVjdCBiaW5kMDsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMQorICAgID4KK3N0cnVjdCBiaW5kMTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIKKyAgICA+CitzdHJ1Y3QgYmluZDI7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMworICAgID4KK3N0cnVjdCBiaW5kMzsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgID4KK3N0cnVjdCBiaW5kNDsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUKKyAgICA+CitzdHJ1Y3QgYmluZDU7CisKK319CisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9tc3ZjNjAvYml0YW5kLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9tc3ZjNjAvYml0YW5kLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNDUxN2JjCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL21zdmM2MC9iaXRhbmQuaHBwCkBAIC0wLDAgKzEsMTQ5IEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8gQ29weXJpZ2h0IEphYXAgU3V0ZXIgMjAwMworLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9iaXRhbmQuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVGFnMQorICAgICwgdHlwZW5hbWUgVGFnMgorCisgICAgLCBCT09TVF9NUExfQVVYX05UVFBfREVDTChpbnQsIHRhZzFfKSAgPSBCT09TVF9NUExfQVVYX01TVkNfVkFMVUVfV0tORChUYWcxKTo6dmFsdWUKKyAgICAsIEJPT1NUX01QTF9BVVhfTlRUUF9ERUNMKGludCwgdGFnMl8pICA9IEJPT1NUX01QTF9BVVhfTVNWQ19WQUxVRV9XS05EKFRhZzIpOjp2YWx1ZQorICAgID4KK3N0cnVjdCBiaXRhbmRfaW1wbAorICAgIDogaWZfYzwKKyAgICAgICAgICAoIHRhZzFfID4gdGFnMl8gKQorICAgICAgICAsIGF1eDo6Y2FzdDJuZF9pbXBsPCBiaXRhbmRfaW1wbDwgVGFnMSxUYWcxID4sVGFnMSwgVGFnMiA+CisgICAgICAgICwgYXV4OjpjYXN0MXN0X2ltcGw8IGJpdGFuZF9pbXBsPCBUYWcyLFRhZzIgPixUYWcxLCBUYWcyID4KKyAgICAgICAgPjo6dHlwZQoreworfTsKKworLy8vIGZvciBEaWdpdGFsIE1hcnMgQysrL2NvbXBpbGVycyB3aXRoIG5vIENUUFMvVFRQIHN1cHBvcnQKK3RlbXBsYXRlPD4gc3RydWN0IGJpdGFuZF9pbXBsPCBuYSxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgYml0YW5kX2ltcGw8IG5hLGludGVncmFsX2NfdGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCBiaXRhbmRfaW1wbDwgaW50ZWdyYWxfY190YWcsbmEgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUID4gc3RydWN0IGJpdGFuZF90YWcKK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIFQ6OnRhZyB0eXBlOworfTsKKworLy8vIGZvcndhcmQgZGVjbGFyYXRpb24KKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4xKQorICAgICwgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMikKKyAgICA+CitzdHJ1Y3QgYml0YW5kXzI7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMSkKKyAgICAsIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjIpCisgICAgLCB0eXBlbmFtZSBOMyA9IG5hLCB0eXBlbmFtZSBONCA9IG5hLCB0eXBlbmFtZSBONSA9IG5hCisgICAgPgorc3RydWN0IGJpdGFuZF8KKworICAgIDogaWZfPAorCisgICAgICAgICAgaXNfbmE8TjM+CisgICAgICAgICwgYml0YW5kXzI8IE4xLE4yID4KKyAgICAgICAgLCBiaXRhbmRfPAorICAgICAgICAgICAgICBiaXRhbmRfMjwgTjEsTjIgPgorICAgICAgICAgICAgLCBOMywgTjQsIE41CisgICAgICAgICAgICA+CisgICAgICAgID46OnR5cGUKKworeworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoCisgICAgICAgICAgNQorICAgICAgICAsIGJpdGFuZF8KKyAgICAgICAgLCAoIE4xLCBOMiwgTjMsIE40LCBONSApCisgICAgICAgICkKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgTjEKKyAgICAsIHR5cGVuYW1lIE4yCisgICAgPgorc3RydWN0IGJpdGFuZF8yCisgICAgOiBhdXg6Om1zdmNfZXRpX2Jhc2U8IHR5cGVuYW1lIGFwcGx5X3dyYXAyPAorICAgICAgICAgIGJpdGFuZF9pbXBsPAorICAgICAgICAgICAgICB0eXBlbmFtZSBiaXRhbmRfdGFnPE4xPjo6dHlwZQorICAgICAgICAgICAgLCB0eXBlbmFtZSBiaXRhbmRfdGFnPE4yPjo6dHlwZQorICAgICAgICAgICAgPgorICAgICAgICAsIE4xCisgICAgICAgICwgTjIKKyAgICAgICAgPjo6dHlwZSA+Ojp0eXBlCisKK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKDIsIGJpdGFuZF8yLCAoTjEsIE4yKSkKKworfTsKKworQk9PU1RfTVBMX0FVWF9OQV9TUEVDMigyLCA1LCBiaXRhbmRfKQorCit9fQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKworbmFtZXNwYWNlIGF1eCB7Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgVCwgVCBuMSwgVCBuMiA+CitzdHJ1Y3QgYml0YW5kX3drbmQKK3sKKyAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoVCwgdmFsdWUgID0gKG4xICYgbjIpKTsKKyAgICB0eXBlZGVmIGludGVncmFsX2M8IFQsdmFsdWUgPiB0eXBlOworfTsKKworfQorCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgYml0YW5kX2ltcGw8IGludGVncmFsX2NfdGFnLGludGVncmFsX2NfdGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgTjEsIHR5cGVuYW1lIE4yID4gc3RydWN0IGFwcGx5CisgICAgICAgIDogYXV4OjpiaXRhbmRfd2tuZDwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgYXV4OjpsYXJnZXN0X2ludDwKKyAgICAgICAgICAgICAgICAgIHR5cGVuYW1lIE4xOjp2YWx1ZV90eXBlCisgICAgICAgICAgICAgICAgLCB0eXBlbmFtZSBOMjo6dmFsdWVfdHlwZQorICAgICAgICAgICAgICAgID46OnR5cGUKKyAgICAgICAgICAgICwgTjE6OnZhbHVlCisgICAgICAgICAgICAsIE4yOjp2YWx1ZQorICAgICAgICAgICAgPjo6dHlwZQorCisgICAgeworICAgIH07Cit9OworCit9fQpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL21zdmM2MC9iaXRvci5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXN2YzYwL2JpdG9yLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNDk2Zjg5Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL21zdmM2MC9iaXRvci5ocHAKQEAgLTAsMCArMSwxNDkgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLyBDb3B5cmlnaHQgSmFhcCBTdXRlciAyMDAzCisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL2JpdG9yLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFRhZzEKKyAgICAsIHR5cGVuYW1lIFRhZzIKKworICAgICwgQk9PU1RfTVBMX0FVWF9OVFRQX0RFQ0woaW50LCB0YWcxXykgID0gQk9PU1RfTVBMX0FVWF9NU1ZDX1ZBTFVFX1dLTkQoVGFnMSk6OnZhbHVlCisgICAgLCBCT09TVF9NUExfQVVYX05UVFBfREVDTChpbnQsIHRhZzJfKSAgPSBCT09TVF9NUExfQVVYX01TVkNfVkFMVUVfV0tORChUYWcyKTo6dmFsdWUKKyAgICA+CitzdHJ1Y3QgYml0b3JfaW1wbAorICAgIDogaWZfYzwKKyAgICAgICAgICAoIHRhZzFfID4gdGFnMl8gKQorICAgICAgICAsIGF1eDo6Y2FzdDJuZF9pbXBsPCBiaXRvcl9pbXBsPCBUYWcxLFRhZzEgPixUYWcxLCBUYWcyID4KKyAgICAgICAgLCBhdXg6OmNhc3Qxc3RfaW1wbDwgYml0b3JfaW1wbDwgVGFnMixUYWcyID4sVGFnMSwgVGFnMiA+CisgICAgICAgID46OnR5cGUKK3sKK307CisKKy8vLyBmb3IgRGlnaXRhbCBNYXJzIEMrKy9jb21waWxlcnMgd2l0aCBubyBDVFBTL1RUUCBzdXBwb3J0Cit0ZW1wbGF0ZTw+IHN0cnVjdCBiaXRvcl9pbXBsPCBuYSxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgYml0b3JfaW1wbDwgbmEsaW50ZWdyYWxfY190YWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4gc3RydWN0IGJpdG9yX2ltcGw8IGludGVncmFsX2NfdGFnLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVCA+IHN0cnVjdCBiaXRvcl90YWcKK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIFQ6OnRhZyB0eXBlOworfTsKKworLy8vIGZvcndhcmQgZGVjbGFyYXRpb24KKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4xKQorICAgICwgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMikKKyAgICA+CitzdHJ1Y3QgYml0b3JfMjsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4xKQorICAgICwgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMikKKyAgICAsIHR5cGVuYW1lIE4zID0gbmEsIHR5cGVuYW1lIE40ID0gbmEsIHR5cGVuYW1lIE41ID0gbmEKKyAgICA+CitzdHJ1Y3QgYml0b3JfCisKKyAgICA6IGlmXzwKKworICAgICAgICAgIGlzX25hPE4zPgorICAgICAgICAsIGJpdG9yXzI8IE4xLE4yID4KKyAgICAgICAgLCBiaXRvcl88CisgICAgICAgICAgICAgIGJpdG9yXzI8IE4xLE4yID4KKyAgICAgICAgICAgICwgTjMsIE40LCBONQorICAgICAgICAgICAgPgorICAgICAgICA+Ojp0eXBlCisKK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKAorICAgICAgICAgIDUKKyAgICAgICAgLCBiaXRvcl8KKyAgICAgICAgLCAoIE4xLCBOMiwgTjMsIE40LCBONSApCisgICAgICAgICkKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgTjEKKyAgICAsIHR5cGVuYW1lIE4yCisgICAgPgorc3RydWN0IGJpdG9yXzIKKyAgICA6IGF1eDo6bXN2Y19ldGlfYmFzZTwgdHlwZW5hbWUgYXBwbHlfd3JhcDI8CisgICAgICAgICAgYml0b3JfaW1wbDwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgYml0b3JfdGFnPE4xPjo6dHlwZQorICAgICAgICAgICAgLCB0eXBlbmFtZSBiaXRvcl90YWc8TjI+Ojp0eXBlCisgICAgICAgICAgICA+CisgICAgICAgICwgTjEKKyAgICAgICAgLCBOMgorICAgICAgICA+Ojp0eXBlID46OnR5cGUKKworeworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoMiwgYml0b3JfMiwgKE4xLCBOMikpCisKK307CisKK0JPT1NUX01QTF9BVVhfTkFfU1BFQzIoMiwgNSwgYml0b3JfKQorCit9fQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKworbmFtZXNwYWNlIGF1eCB7Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgVCwgVCBuMSwgVCBuMiA+CitzdHJ1Y3QgYml0b3Jfd2tuZAoreworICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChULCB2YWx1ZSAgPSAobjEgfCBuMikpOworICAgIHR5cGVkZWYgaW50ZWdyYWxfYzwgVCx2YWx1ZSA+IHR5cGU7Cit9OworCit9CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBiaXRvcl9pbXBsPCBpbnRlZ3JhbF9jX3RhZyxpbnRlZ3JhbF9jX3RhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIE4xLCB0eXBlbmFtZSBOMiA+IHN0cnVjdCBhcHBseQorICAgICAgICA6IGF1eDo6Yml0b3Jfd2tuZDwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgYXV4OjpsYXJnZXN0X2ludDwKKyAgICAgICAgICAgICAgICAgIHR5cGVuYW1lIE4xOjp2YWx1ZV90eXBlCisgICAgICAgICAgICAgICAgLCB0eXBlbmFtZSBOMjo6dmFsdWVfdHlwZQorICAgICAgICAgICAgICAgID46OnR5cGUKKyAgICAgICAgICAgICwgTjE6OnZhbHVlCisgICAgICAgICAgICAsIE4yOjp2YWx1ZQorICAgICAgICAgICAgPjo6dHlwZQorCisgICAgeworICAgIH07Cit9OworCit9fQpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL21zdmM2MC9iaXR4b3IuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL21zdmM2MC9iaXR4b3IuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI0YmY0YTAKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXN2YzYwL2JpdHhvci5ocHAKQEAgLTAsMCArMSwxNDkgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLyBDb3B5cmlnaHQgSmFhcCBTdXRlciAyMDAzCisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL2JpdHhvci5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUYWcxCisgICAgLCB0eXBlbmFtZSBUYWcyCisKKyAgICAsIEJPT1NUX01QTF9BVVhfTlRUUF9ERUNMKGludCwgdGFnMV8pICA9IEJPT1NUX01QTF9BVVhfTVNWQ19WQUxVRV9XS05EKFRhZzEpOjp2YWx1ZQorICAgICwgQk9PU1RfTVBMX0FVWF9OVFRQX0RFQ0woaW50LCB0YWcyXykgID0gQk9PU1RfTVBMX0FVWF9NU1ZDX1ZBTFVFX1dLTkQoVGFnMik6OnZhbHVlCisgICAgPgorc3RydWN0IGJpdHhvcl9pbXBsCisgICAgOiBpZl9jPAorICAgICAgICAgICggdGFnMV8gPiB0YWcyXyApCisgICAgICAgICwgYXV4OjpjYXN0Mm5kX2ltcGw8IGJpdHhvcl9pbXBsPCBUYWcxLFRhZzEgPixUYWcxLCBUYWcyID4KKyAgICAgICAgLCBhdXg6OmNhc3Qxc3RfaW1wbDwgYml0eG9yX2ltcGw8IFRhZzIsVGFnMiA+LFRhZzEsIFRhZzIgPgorICAgICAgICA+Ojp0eXBlCit7Cit9OworCisvLy8gZm9yIERpZ2l0YWwgTWFycyBDKysvY29tcGlsZXJzIHdpdGggbm8gQ1RQUy9UVFAgc3VwcG9ydAordGVtcGxhdGU8PiBzdHJ1Y3QgYml0eG9yX2ltcGw8IG5hLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCBiaXR4b3JfaW1wbDwgbmEsaW50ZWdyYWxfY190YWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4gc3RydWN0IGJpdHhvcl9pbXBsPCBpbnRlZ3JhbF9jX3RhZyxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFQgPiBzdHJ1Y3QgYml0eG9yX3RhZworeworICAgIHR5cGVkZWYgdHlwZW5hbWUgVDo6dGFnIHR5cGU7Cit9OworCisvLy8gZm9yd2FyZCBkZWNsYXJhdGlvbgorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjEpCisgICAgLCB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4yKQorICAgID4KK3N0cnVjdCBiaXR4b3JfMjsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4xKQorICAgICwgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMikKKyAgICAsIHR5cGVuYW1lIE4zID0gbmEsIHR5cGVuYW1lIE40ID0gbmEsIHR5cGVuYW1lIE41ID0gbmEKKyAgICA+CitzdHJ1Y3QgYml0eG9yXworCisgICAgOiBpZl88CisKKyAgICAgICAgICBpc19uYTxOMz4KKyAgICAgICAgLCBiaXR4b3JfMjwgTjEsTjIgPgorICAgICAgICAsIGJpdHhvcl88CisgICAgICAgICAgICAgIGJpdHhvcl8yPCBOMSxOMiA+CisgICAgICAgICAgICAsIE4zLCBONCwgTjUKKyAgICAgICAgICAgID4KKyAgICAgICAgPjo6dHlwZQorCit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgKKyAgICAgICAgICA1CisgICAgICAgICwgYml0eG9yXworICAgICAgICAsICggTjEsIE4yLCBOMywgTjQsIE41ICkKKyAgICAgICAgKQorfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBOMQorICAgICwgdHlwZW5hbWUgTjIKKyAgICA+CitzdHJ1Y3QgYml0eG9yXzIKKyAgICA6IGF1eDo6bXN2Y19ldGlfYmFzZTwgdHlwZW5hbWUgYXBwbHlfd3JhcDI8CisgICAgICAgICAgYml0eG9yX2ltcGw8CisgICAgICAgICAgICAgIHR5cGVuYW1lIGJpdHhvcl90YWc8TjE+Ojp0eXBlCisgICAgICAgICAgICAsIHR5cGVuYW1lIGJpdHhvcl90YWc8TjI+Ojp0eXBlCisgICAgICAgICAgICA+CisgICAgICAgICwgTjEKKyAgICAgICAgLCBOMgorICAgICAgICA+Ojp0eXBlID46OnR5cGUKKworeworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoMiwgYml0eG9yXzIsIChOMSwgTjIpKQorCit9OworCitCT09TVF9NUExfQVVYX05BX1NQRUMyKDIsIDUsIGJpdHhvcl8pCisKK319CisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCituYW1lc3BhY2UgYXV4IHsKK3RlbXBsYXRlPCB0eXBlbmFtZSBULCBUIG4xLCBUIG4yID4KK3N0cnVjdCBiaXR4b3Jfd2tuZAoreworICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChULCB2YWx1ZSAgPSAobjEgXiBuMikpOworICAgIHR5cGVkZWYgaW50ZWdyYWxfYzwgVCx2YWx1ZSA+IHR5cGU7Cit9OworCit9CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBiaXR4b3JfaW1wbDwgaW50ZWdyYWxfY190YWcsaW50ZWdyYWxfY190YWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBOMSwgdHlwZW5hbWUgTjIgPiBzdHJ1Y3QgYXBwbHkKKyAgICAgICAgOiBhdXg6OmJpdHhvcl93a25kPAorICAgICAgICAgICAgICB0eXBlbmFtZSBhdXg6Omxhcmdlc3RfaW50PAorICAgICAgICAgICAgICAgICAgdHlwZW5hbWUgTjE6OnZhbHVlX3R5cGUKKyAgICAgICAgICAgICAgICAsIHR5cGVuYW1lIE4yOjp2YWx1ZV90eXBlCisgICAgICAgICAgICAgICAgPjo6dHlwZQorICAgICAgICAgICAgLCBOMTo6dmFsdWUKKyAgICAgICAgICAgICwgTjI6OnZhbHVlCisgICAgICAgICAgICA+Ojp0eXBlCisKKyAgICB7CisgICAgfTsKK307CisKK319CmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXN2YzYwL2RlcXVlLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9tc3ZjNjAvZGVxdWUuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhhN2UyYzMKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXN2YzYwL2RlcXVlLmhwcApAQCAtMCwwICsxLDU1NiBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvZGVxdWUuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK25hbWVzcGFjZSBhdXggewordGVtcGxhdGU8IGludCBOID4KK3N0cnVjdCBkZXF1ZV9jaG9vc2VyOworCit9CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgZGVxdWVfY2hvb3NlcjwwPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjA8CisgICAgICAgICAgICAgCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgZGVxdWVfY2hvb3NlcjwxPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjE8CisgICAgICAgICAgICAgIFQwCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgZGVxdWVfY2hvb3NlcjwyPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjI8CisgICAgICAgICAgICAgIFQwLCBUMQorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IGRlcXVlX2Nob29zZXI8Mz4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IzPAorICAgICAgICAgICAgICBUMCwgVDEsIFQyCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgZGVxdWVfY2hvb3Nlcjw0PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjQ8CisgICAgICAgICAgICAgIFQwLCBUMSwgVDIsIFQzCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgZGVxdWVfY2hvb3Nlcjw1PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjU8CisgICAgICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNAorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IGRlcXVlX2Nob29zZXI8Nj4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3I2PAorICAgICAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgZGVxdWVfY2hvb3Nlcjw3PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3Rvcjc8CisgICAgICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgZGVxdWVfY2hvb3Nlcjw4PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3Rvcjg8CisgICAgICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNworICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IGRlcXVlX2Nob29zZXI8OT4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3I5PAorICAgICAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgZGVxdWVfY2hvb3NlcjwxMD4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxMDwKKyAgICAgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDkKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBkZXF1ZV9jaG9vc2VyPDExPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjExPAorICAgICAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgZGVxdWVfY2hvb3NlcjwxMj4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxMjwKKyAgICAgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgZGVxdWVfY2hvb3NlcjwxMz4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxMzwKKyAgICAgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBkZXF1ZV9jaG9vc2VyPDE0PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjE0PAorICAgICAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgZGVxdWVfY2hvb3NlcjwxNT4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxNTwKKyAgICAgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgZGVxdWVfY2hvb3NlcjwxNj4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxNjwKKyAgICAgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0LCBUMTUKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBkZXF1ZV9jaG9vc2VyPDE3PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjE3PAorICAgICAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQsIFQxNSwgVDE2CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgZGVxdWVfY2hvb3NlcjwxOD4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxODwKKyAgICAgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0LCBUMTUsIFQxNiwgVDE3CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgZGVxdWVfY2hvb3NlcjwxOT4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxOTwKKyAgICAgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0LCBUMTUsIFQxNiwgVDE3LCBUMTgKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBkZXF1ZV9jaG9vc2VyPDIwPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjIwPAorICAgICAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQsIFQxNSwgVDE2LCBUMTcsIFQxOCwgVDE5CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVCA+CitzdHJ1Y3QgaXNfZGVxdWVfYXJnCit7CisgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGJvb2wsIHZhbHVlICA9IHRydWUpOworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGlzX2RlcXVlX2FyZzxuYT4KK3sKKyAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoYm9vbCwgdmFsdWUgID0gZmFsc2UpOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNCwgdHlwZW5hbWUgVDUKKyAgICAsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5LCB0eXBlbmFtZSBUMTAKKyAgICAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNCwgdHlwZW5hbWUgVDE1CisgICAgLCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTksIHR5cGVuYW1lIFQyMAorICAgID4KK3N0cnVjdCBkZXF1ZV9jb3VudF9hcmdzCit7CisgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgPQorICAgICAgICAgIGlzX2RlcXVlX2FyZzxUMT46OnZhbHVlICsgaXNfZGVxdWVfYXJnPFQyPjo6dmFsdWUgCisgICAgICAgICsgaXNfZGVxdWVfYXJnPFQzPjo6dmFsdWUgKyBpc19kZXF1ZV9hcmc8VDQ+Ojp2YWx1ZSAKKyAgICAgICAgKyBpc19kZXF1ZV9hcmc8VDU+Ojp2YWx1ZSArIGlzX2RlcXVlX2FyZzxUNj46OnZhbHVlIAorICAgICAgICArIGlzX2RlcXVlX2FyZzxUNz46OnZhbHVlICsgaXNfZGVxdWVfYXJnPFQ4Pjo6dmFsdWUgCisgICAgICAgICsgaXNfZGVxdWVfYXJnPFQ5Pjo6dmFsdWUgKyBpc19kZXF1ZV9hcmc8VDEwPjo6dmFsdWUgCisgICAgICAgICsgaXNfZGVxdWVfYXJnPFQxMT46OnZhbHVlICsgaXNfZGVxdWVfYXJnPFQxMj46OnZhbHVlIAorICAgICAgICArIGlzX2RlcXVlX2FyZzxUMTM+Ojp2YWx1ZSArIGlzX2RlcXVlX2FyZzxUMTQ+Ojp2YWx1ZSAKKyAgICAgICAgKyBpc19kZXF1ZV9hcmc8VDE1Pjo6dmFsdWUgKyBpc19kZXF1ZV9hcmc8VDE2Pjo6dmFsdWUgCisgICAgICAgICsgaXNfZGVxdWVfYXJnPFQxNz46OnZhbHVlICsgaXNfZGVxdWVfYXJnPFQxOD46OnZhbHVlIAorICAgICAgICArIGlzX2RlcXVlX2FyZzxUMTk+Ojp2YWx1ZSArIGlzX2RlcXVlX2FyZzxUMjA+Ojp2YWx1ZQorICAgICAgICApOworCit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICA+CitzdHJ1Y3QgZGVxdWVfaW1wbAoreworICAgIHR5cGVkZWYgYXV4OjpkZXF1ZV9jb3VudF9hcmdzPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNCwgVDE1LCBUMTYsIFQxNywgVDE4LCBUMTkKKyAgICAgICAgPiBhcmdfbnVtXzsKKworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXV4OjpkZXF1ZV9jaG9vc2VyPCBhcmdfbnVtXzo6dmFsdWUgPgorICAgICAgICA6OnRlbXBsYXRlIHJlc3VsdF88IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyxUMTQsVDE1LFQxNixUMTcsVDE4LFQxOSA+Ojp0eXBlIHR5cGU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCA9IG5hLCB0eXBlbmFtZSBUMSA9IG5hLCB0eXBlbmFtZSBUMiA9IG5hLCB0eXBlbmFtZSBUMyA9IG5hCisgICAgLCB0eXBlbmFtZSBUNCA9IG5hLCB0eXBlbmFtZSBUNSA9IG5hLCB0eXBlbmFtZSBUNiA9IG5hLCB0eXBlbmFtZSBUNyA9IG5hCisgICAgLCB0eXBlbmFtZSBUOCA9IG5hLCB0eXBlbmFtZSBUOSA9IG5hLCB0eXBlbmFtZSBUMTAgPSBuYSwgdHlwZW5hbWUgVDExID0gbmEKKyAgICAsIHR5cGVuYW1lIFQxMiA9IG5hLCB0eXBlbmFtZSBUMTMgPSBuYSwgdHlwZW5hbWUgVDE0ID0gbmEKKyAgICAsIHR5cGVuYW1lIFQxNSA9IG5hLCB0eXBlbmFtZSBUMTYgPSBuYSwgdHlwZW5hbWUgVDE3ID0gbmEKKyAgICAsIHR5cGVuYW1lIFQxOCA9IG5hLCB0eXBlbmFtZSBUMTkgPSBuYQorICAgID4KK3N0cnVjdCBkZXF1ZQorICAgIDogYXV4OjpkZXF1ZV9pbXBsPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNCwgVDE1LCBUMTYsIFQxNywgVDE4LCBUMTkKKyAgICAgICAgPjo6dHlwZQoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXV4OjpkZXF1ZV9pbXBsPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNCwgVDE1LCBUMTYsIFQxNywgVDE4LCBUMTkKKyAgICAgICAgPjo6dHlwZSB0eXBlOworfTsKKworfX0KKwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL21zdmM2MC9kaXZpZGVzLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9tc3ZjNjAvZGl2aWRlcy5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjVmN2ZkZAotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9tc3ZjNjAvZGl2aWRlcy5ocHAKQEAgLTAsMCArMSwxNDggQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL2RpdmlkZXMuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVGFnMQorICAgICwgdHlwZW5hbWUgVGFnMgorCisgICAgLCBCT09TVF9NUExfQVVYX05UVFBfREVDTChpbnQsIHRhZzFfKSAgPSBCT09TVF9NUExfQVVYX01TVkNfVkFMVUVfV0tORChUYWcxKTo6dmFsdWUKKyAgICAsIEJPT1NUX01QTF9BVVhfTlRUUF9ERUNMKGludCwgdGFnMl8pICA9IEJPT1NUX01QTF9BVVhfTVNWQ19WQUxVRV9XS05EKFRhZzIpOjp2YWx1ZQorICAgID4KK3N0cnVjdCBkaXZpZGVzX2ltcGwKKyAgICA6IGlmX2M8CisgICAgICAgICAgKCB0YWcxXyA+IHRhZzJfICkKKyAgICAgICAgLCBhdXg6OmNhc3QybmRfaW1wbDwgZGl2aWRlc19pbXBsPCBUYWcxLFRhZzEgPixUYWcxLCBUYWcyID4KKyAgICAgICAgLCBhdXg6OmNhc3Qxc3RfaW1wbDwgZGl2aWRlc19pbXBsPCBUYWcyLFRhZzIgPixUYWcxLCBUYWcyID4KKyAgICAgICAgPjo6dHlwZQoreworfTsKKworLy8vIGZvciBEaWdpdGFsIE1hcnMgQysrL2NvbXBpbGVycyB3aXRoIG5vIENUUFMvVFRQIHN1cHBvcnQKK3RlbXBsYXRlPD4gc3RydWN0IGRpdmlkZXNfaW1wbDwgbmEsbmEgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4gc3RydWN0IGRpdmlkZXNfaW1wbDwgbmEsaW50ZWdyYWxfY190YWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4gc3RydWN0IGRpdmlkZXNfaW1wbDwgaW50ZWdyYWxfY190YWcsbmEgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUID4gc3RydWN0IGRpdmlkZXNfdGFnCit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBUOjp0YWcgdHlwZTsKK307CisKKy8vLyBmb3J3YXJkIGRlY2xhcmF0aW9uCisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMSkKKyAgICAsIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjIpCisgICAgPgorc3RydWN0IGRpdmlkZXMyOworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjEpCisgICAgLCB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4yKQorICAgICwgdHlwZW5hbWUgTjMgPSBuYSwgdHlwZW5hbWUgTjQgPSBuYSwgdHlwZW5hbWUgTjUgPSBuYQorICAgID4KK3N0cnVjdCBkaXZpZGVzCisKKyAgICA6IGlmXzwKKworICAgICAgICAgIGlzX25hPE4zPgorICAgICAgICAsIGRpdmlkZXMyPCBOMSxOMiA+CisgICAgICAgICwgZGl2aWRlczwKKyAgICAgICAgICAgICAgZGl2aWRlczI8IE4xLE4yID4KKyAgICAgICAgICAgICwgTjMsIE40LCBONQorICAgICAgICAgICAgPgorICAgICAgICA+Ojp0eXBlCisKK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKAorICAgICAgICAgIDUKKyAgICAgICAgLCBkaXZpZGVzCisgICAgICAgICwgKCBOMSwgTjIsIE4zLCBONCwgTjUgKQorICAgICAgICApCit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIE4xCisgICAgLCB0eXBlbmFtZSBOMgorICAgID4KK3N0cnVjdCBkaXZpZGVzMgorICAgIDogYXV4Ojptc3ZjX2V0aV9iYXNlPCB0eXBlbmFtZSBhcHBseV93cmFwMjwKKyAgICAgICAgICBkaXZpZGVzX2ltcGw8CisgICAgICAgICAgICAgIHR5cGVuYW1lIGRpdmlkZXNfdGFnPE4xPjo6dHlwZQorICAgICAgICAgICAgLCB0eXBlbmFtZSBkaXZpZGVzX3RhZzxOMj46OnR5cGUKKyAgICAgICAgICAgID4KKyAgICAgICAgLCBOMQorICAgICAgICAsIE4yCisgICAgICAgID46OnR5cGUgPjo6dHlwZQorCit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgyLCBkaXZpZGVzMiwgKE4xLCBOMikpCisKK307CisKK0JPT1NUX01QTF9BVVhfTkFfU1BFQzIoMiwgNSwgZGl2aWRlcykKKworfX0KKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK25hbWVzcGFjZSBhdXggewordGVtcGxhdGU8IHR5cGVuYW1lIFQsIFQgbjEsIFQgbjIgPgorc3RydWN0IGRpdmlkZXNfd2tuZAoreworICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChULCB2YWx1ZSAgPSAobjEgLyBuMikpOworICAgIHR5cGVkZWYgaW50ZWdyYWxfYzwgVCx2YWx1ZSA+IHR5cGU7Cit9OworCit9CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBkaXZpZGVzX2ltcGw8IGludGVncmFsX2NfdGFnLGludGVncmFsX2NfdGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgTjEsIHR5cGVuYW1lIE4yID4gc3RydWN0IGFwcGx5CisgICAgICAgIDogYXV4OjpkaXZpZGVzX3drbmQ8CisgICAgICAgICAgICAgIHR5cGVuYW1lIGF1eDo6bGFyZ2VzdF9pbnQ8CisgICAgICAgICAgICAgICAgICB0eXBlbmFtZSBOMTo6dmFsdWVfdHlwZQorICAgICAgICAgICAgICAgICwgdHlwZW5hbWUgTjI6OnZhbHVlX3R5cGUKKyAgICAgICAgICAgICAgICA+Ojp0eXBlCisgICAgICAgICAgICAsIE4xOjp2YWx1ZQorICAgICAgICAgICAgLCBOMjo6dmFsdWUKKyAgICAgICAgICAgID46OnR5cGUKKworICAgIHsKKyAgICB9OworfTsKKworfX0KZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9tc3ZjNjAvZXF1YWxfdG8uaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL21zdmM2MC9lcXVhbF90by5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmE3MmVlYwotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9tc3ZjNjAvZXF1YWxfdG8uaHBwCkBAIC0wLDAgKzEsMTAyIEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9lcXVhbF90by5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUYWcxCisgICAgLCB0eXBlbmFtZSBUYWcyCisKKyAgICAsIEJPT1NUX01QTF9BVVhfTlRUUF9ERUNMKGludCwgdGFnMV8pICA9IEJPT1NUX01QTF9BVVhfTVNWQ19WQUxVRV9XS05EKFRhZzEpOjp2YWx1ZQorICAgICwgQk9PU1RfTVBMX0FVWF9OVFRQX0RFQ0woaW50LCB0YWcyXykgID0gQk9PU1RfTVBMX0FVWF9NU1ZDX1ZBTFVFX1dLTkQoVGFnMik6OnZhbHVlCisgICAgPgorc3RydWN0IGVxdWFsX3RvX2ltcGwKKyAgICA6IGlmX2M8CisgICAgICAgICAgKCB0YWcxXyA+IHRhZzJfICkKKyAgICAgICAgLCBhdXg6OmNhc3QybmRfaW1wbDwgZXF1YWxfdG9faW1wbDwgVGFnMSxUYWcxID4sVGFnMSwgVGFnMiA+CisgICAgICAgICwgYXV4OjpjYXN0MXN0X2ltcGw8IGVxdWFsX3RvX2ltcGw8IFRhZzIsVGFnMiA+LFRhZzEsIFRhZzIgPgorICAgICAgICA+Ojp0eXBlCit7Cit9OworCisvLy8gZm9yIERpZ2l0YWwgTWFycyBDKysvY29tcGlsZXJzIHdpdGggbm8gQ1RQUy9UVFAgc3VwcG9ydAordGVtcGxhdGU8PiBzdHJ1Y3QgZXF1YWxfdG9faW1wbDwgbmEsbmEgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4gc3RydWN0IGVxdWFsX3RvX2ltcGw8IG5hLGludGVncmFsX2NfdGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCBlcXVhbF90b19pbXBsPCBpbnRlZ3JhbF9jX3RhZyxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFQgPiBzdHJ1Y3QgZXF1YWxfdG9fdGFnCit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBUOjp0YWcgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMSkKKyAgICAsIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjIpCisgICAgPgorc3RydWN0IGVxdWFsX3RvCisgICAgOiBhdXg6Om1zdmNfZXRpX2Jhc2U8IHR5cGVuYW1lIGFwcGx5X3dyYXAyPAorICAgICAgICAgIGVxdWFsX3RvX2ltcGw8CisgICAgICAgICAgICAgIHR5cGVuYW1lIGVxdWFsX3RvX3RhZzxOMT46OnR5cGUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgZXF1YWxfdG9fdGFnPE4yPjo6dHlwZQorICAgICAgICAgICAgPgorICAgICAgICAsIE4xCisgICAgICAgICwgTjIKKyAgICAgICAgPjo6dHlwZSA+Ojp0eXBlCisKK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKDIsIGVxdWFsX3RvLCAoTjEsIE4yKSkKKworfTsKKworQk9PU1RfTVBMX0FVWF9OQV9TUEVDMigyLCAyLCBlcXVhbF90bykKKworfX0KKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBlcXVhbF90b19pbXBsPCBpbnRlZ3JhbF9jX3RhZyxpbnRlZ3JhbF9jX3RhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIE4xLCB0eXBlbmFtZSBOMiA+IHN0cnVjdCBhcHBseQorCisgICAgeworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoYm9vbCwgdmFsdWUgPQorICAgICAgICAgICAgICggQk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4xKTo6dmFsdWUgPT0KKyAgICAgICAgICAgICBCT09TVF9NUExfQVVYX1ZBTFVFX1dLTkQoTjIpOjp2YWx1ZSApCisgICAgICAgICAgICApOworICAgICAgICB0eXBlZGVmIGJvb2xfPHZhbHVlPiB0eXBlOworICAgIH07Cit9OworCit9fQpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL21zdmM2MC9mb2xkX2ltcGwuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL21zdmM2MC9mb2xkX2ltcGwuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM4Y2EwYzcKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXN2YzYwL2ZvbGRfaW1wbC5ocHAKQEAgLTAsMCArMSwyOTMgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL2F1eF8vZm9sZF9pbXBsLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeyBuYW1lc3BhY2UgYXV4IHsKKworLy8vIGZvcndhcmQgZGVjbGFyYXRpb24KKwordGVtcGxhdGU8CisgICAgICBpbnQgTgorICAgICwgdHlwZW5hbWUgRmlyc3QKKyAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+CitzdHJ1Y3QgZm9sZF9pbXBsOworCit0ZW1wbGF0ZTwgaW50IE4gPgorc3RydWN0IGZvbGRfY2h1bms7CisKK3RlbXBsYXRlPD4gc3RydWN0IGZvbGRfY2h1bms8MD4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBGaXJzdAorICAgICAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgRmlyc3QgaXRlcjA7CisgICAgICAgIHR5cGVkZWYgU3RhdGUgc3RhdGUwOworICAgICAgICB0eXBlZGVmIHN0YXRlMCBzdGF0ZTsKKyAgICAgICAgdHlwZWRlZiBpdGVyMCBpdGVyYXRvcjsKKyAgICB9OworCisgICAgLy8vIEVUSSB3b3JrYXJvdW5kCisgICAgdGVtcGxhdGU8PiBzdHJ1Y3QgcmVzdWx0XzwgaW50LGludCxpbnQsaW50ID4KKyAgICB7CisgICAgICAgIHR5cGVkZWYgaW50IHN0YXRlOworICAgICAgICB0eXBlZGVmIGludCBpdGVyYXRvcjsKKyAgICB9OworCit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCBmb2xkX2NodW5rPDE+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIEZpcnN0IGl0ZXIwOworICAgICAgICB0eXBlZGVmIFN0YXRlIHN0YXRlMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCwgc3RhdGUwLCB0eXBlbmFtZSBkZXJlZjxpdGVyMD46OnR5cGUgPjo6dHlwZSBzdGF0ZTE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIwPjo6dHlwZSBpdGVyMTsKKyAgICAgICAgCisKKyAgICAgICAgdHlwZWRlZiBzdGF0ZTEgc3RhdGU7CisgICAgICAgIHR5cGVkZWYgaXRlcjEgaXRlcmF0b3I7CisgICAgfTsKKworICAgIC8vLyBFVEkgd29ya2Fyb3VuZAorICAgIHRlbXBsYXRlPD4gc3RydWN0IHJlc3VsdF88IGludCxpbnQsaW50LGludCA+CisgICAgeworICAgICAgICB0eXBlZGVmIGludCBzdGF0ZTsKKyAgICAgICAgdHlwZWRlZiBpbnQgaXRlcmF0b3I7CisgICAgfTsKKworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgZm9sZF9jaHVuazwyPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgICAgICwgdHlwZW5hbWUgTGFzdAorICAgICAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiBGaXJzdCBpdGVyMDsKKyAgICAgICAgdHlwZWRlZiBTdGF0ZSBzdGF0ZTA7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsIHN0YXRlMCwgdHlwZW5hbWUgZGVyZWY8aXRlcjA+Ojp0eXBlID46OnR5cGUgc3RhdGUxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMD46OnR5cGUgaXRlcjE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsIHN0YXRlMSwgdHlwZW5hbWUgZGVyZWY8aXRlcjE+Ojp0eXBlID46OnR5cGUgc3RhdGUyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMT46OnR5cGUgaXRlcjI7CisgICAgICAgIAorCisgICAgICAgIHR5cGVkZWYgc3RhdGUyIHN0YXRlOworICAgICAgICB0eXBlZGVmIGl0ZXIyIGl0ZXJhdG9yOworICAgIH07CisKKyAgICAvLy8gRVRJIHdvcmthcm91bmQKKyAgICB0ZW1wbGF0ZTw+IHN0cnVjdCByZXN1bHRfPCBpbnQsaW50LGludCxpbnQgPgorICAgIHsKKyAgICAgICAgdHlwZWRlZiBpbnQgc3RhdGU7CisgICAgICAgIHR5cGVkZWYgaW50IGl0ZXJhdG9yOworICAgIH07CisKK307CisKK3RlbXBsYXRlPD4gc3RydWN0IGZvbGRfY2h1bms8Mz4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBGaXJzdAorICAgICAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgRmlyc3QgaXRlcjA7CisgICAgICAgIHR5cGVkZWYgU3RhdGUgc3RhdGUwOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLCBzdGF0ZTAsIHR5cGVuYW1lIGRlcmVmPGl0ZXIwPjo6dHlwZSA+Ojp0eXBlIHN0YXRlMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjA+Ojp0eXBlIGl0ZXIxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLCBzdGF0ZTEsIHR5cGVuYW1lIGRlcmVmPGl0ZXIxPjo6dHlwZSA+Ojp0eXBlIHN0YXRlMjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjE+Ojp0eXBlIGl0ZXIyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLCBzdGF0ZTIsIHR5cGVuYW1lIGRlcmVmPGl0ZXIyPjo6dHlwZSA+Ojp0eXBlIHN0YXRlMzsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjI+Ojp0eXBlIGl0ZXIzOworICAgICAgICAKKworICAgICAgICB0eXBlZGVmIHN0YXRlMyBzdGF0ZTsKKyAgICAgICAgdHlwZWRlZiBpdGVyMyBpdGVyYXRvcjsKKyAgICB9OworCisgICAgLy8vIEVUSSB3b3JrYXJvdW5kCisgICAgdGVtcGxhdGU8PiBzdHJ1Y3QgcmVzdWx0XzwgaW50LGludCxpbnQsaW50ID4KKyAgICB7CisgICAgICAgIHR5cGVkZWYgaW50IHN0YXRlOworICAgICAgICB0eXBlZGVmIGludCBpdGVyYXRvcjsKKyAgICB9OworCit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCBmb2xkX2NodW5rPDQ+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIEZpcnN0IGl0ZXIwOworICAgICAgICB0eXBlZGVmIFN0YXRlIHN0YXRlMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCwgc3RhdGUwLCB0eXBlbmFtZSBkZXJlZjxpdGVyMD46OnR5cGUgPjo6dHlwZSBzdGF0ZTE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIwPjo6dHlwZSBpdGVyMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCwgc3RhdGUxLCB0eXBlbmFtZSBkZXJlZjxpdGVyMT46OnR5cGUgPjo6dHlwZSBzdGF0ZTI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIxPjo6dHlwZSBpdGVyMjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCwgc3RhdGUyLCB0eXBlbmFtZSBkZXJlZjxpdGVyMj46OnR5cGUgPjo6dHlwZSBzdGF0ZTM7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIyPjo6dHlwZSBpdGVyMzsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCwgc3RhdGUzLCB0eXBlbmFtZSBkZXJlZjxpdGVyMz46OnR5cGUgPjo6dHlwZSBzdGF0ZTQ7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIzPjo6dHlwZSBpdGVyNDsKKyAgICAgICAgCisKKyAgICAgICAgdHlwZWRlZiBzdGF0ZTQgc3RhdGU7CisgICAgICAgIHR5cGVkZWYgaXRlcjQgaXRlcmF0b3I7CisgICAgfTsKKworICAgIC8vLyBFVEkgd29ya2Fyb3VuZAorICAgIHRlbXBsYXRlPD4gc3RydWN0IHJlc3VsdF88IGludCxpbnQsaW50LGludCA+CisgICAgeworICAgICAgICB0eXBlZGVmIGludCBzdGF0ZTsKKyAgICAgICAgdHlwZWRlZiBpbnQgaXRlcmF0b3I7CisgICAgfTsKKworfTsKKwordGVtcGxhdGU8IGludCBOID4KK3N0cnVjdCBmb2xkX2NodW5rCit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIGZvbGRfaW1wbDwKKyAgICAgICAgICAgICAgNAorICAgICAgICAgICAgLCBGaXJzdAorICAgICAgICAgICAgLCBMYXN0CisgICAgICAgICAgICAsIFN0YXRlCisgICAgICAgICAgICAsIEZvcndhcmRPcAorICAgICAgICAgICAgPiBjaHVua187CisKKyAgICAgICAgdHlwZWRlZiBmb2xkX2ltcGw8CisgICAgICAgICAgICAgICggKE4gLSA0KSA8IDAgPyAwIDogTiAtIDQgKQorICAgICAgICAgICAgLCB0eXBlbmFtZSBjaHVua186Oml0ZXJhdG9yCisgICAgICAgICAgICAsIExhc3QKKyAgICAgICAgICAgICwgdHlwZW5hbWUgY2h1bmtfOjpzdGF0ZQorICAgICAgICAgICAgLCBGb3J3YXJkT3AKKyAgICAgICAgICAgID4gcmVzXzsKKworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHJlc186OnN0YXRlIHN0YXRlOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHJlc186Oml0ZXJhdG9yIGl0ZXJhdG9yOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgPgorc3RydWN0IGZvbGRfc3RlcDsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBMYXN0CisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgID4KK3N0cnVjdCBmb2xkX251bGxfc3RlcAoreworICAgIHR5cGVkZWYgTGFzdCBpdGVyYXRvcjsKKyAgICB0eXBlZGVmIFN0YXRlIHN0YXRlOworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGZvbGRfY2h1bms8IC0xID4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBGaXJzdAorICAgICAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgaWZfPAorICAgICAgICAgICAgICB0eXBlbmFtZSBpc19zYW1lPCBGaXJzdCxMYXN0ID46OnR5cGUKKyAgICAgICAgICAgICwgZm9sZF9udWxsX3N0ZXA8IExhc3QsU3RhdGUgPgorICAgICAgICAgICAgLCBmb2xkX3N0ZXA8IEZpcnN0LExhc3QsU3RhdGUsRm9yd2FyZE9wID4KKyAgICAgICAgICAgID46OnR5cGUgcmVzXzsKKworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHJlc186OnN0YXRlIHN0YXRlOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHJlc186Oml0ZXJhdG9yIGl0ZXJhdG9yOworICAgIH07CisKKyAgICAvLy8gRVRJIHdvcmthcm91bmQKKyAgICB0ZW1wbGF0ZTw+IHN0cnVjdCByZXN1bHRfPCBpbnQsaW50LGludCxpbnQgPgorICAgIHsKKyAgICAgICAgdHlwZWRlZiBpbnQgc3RhdGU7CisgICAgICAgIHR5cGVkZWYgaW50IGl0ZXJhdG9yOworICAgIH07CisKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+CitzdHJ1Y3QgZm9sZF9zdGVwCit7CisgICAgdHlwZWRlZiBmb2xkX2NodW5rPCAtMSA+Ojp0ZW1wbGF0ZSByZXN1bHRfPAorICAgICAgICAgIHR5cGVuYW1lIG1wbDo6bmV4dDxGaXJzdD46OnR5cGUKKyAgICAgICAgLCBMYXN0CisgICAgICAgICwgdHlwZW5hbWUgYXBwbHkyPEZvcndhcmRPcCxTdGF0ZSwgdHlwZW5hbWUgZGVyZWY8Rmlyc3Q+Ojp0eXBlPjo6dHlwZQorICAgICAgICAsIEZvcndhcmRPcAorICAgICAgICA+IGNodW5rXzsKKworICAgIHR5cGVkZWYgdHlwZW5hbWUgY2h1bmtfOjpzdGF0ZSBzdGF0ZTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGNodW5rXzo6aXRlcmF0b3IgaXRlcmF0b3I7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIGludCBOCisgICAgLCB0eXBlbmFtZSBGaXJzdAorICAgICwgdHlwZW5hbWUgTGFzdAorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgID4KK3N0cnVjdCBmb2xkX2ltcGwKKyAgICA6IGZvbGRfY2h1bms8Tj4KKyAgICAgICAgOjp0ZW1wbGF0ZSByZXN1bHRfPCBGaXJzdCxMYXN0LFN0YXRlLEZvcndhcmRPcCA+Cit7Cit9OworCit9fX0KZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9tc3ZjNjAvZnVsbF9sYW1iZGEuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL21zdmM2MC9mdWxsX2xhbWJkYS5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGU2NThkOAotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9tc3ZjNjAvZnVsbF9sYW1iZGEuaHBwCkBAIC0wLDAgKzEsNTU0IEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDEtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9hdXhfL2Z1bGxfbGFtYmRhLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8CisgICAgICBib29sIEMxID0gZmFsc2UsIGJvb2wgQzIgPSBmYWxzZSwgYm9vbCBDMyA9IGZhbHNlLCBib29sIEM0ID0gZmFsc2UKKyAgICAsIGJvb2wgQzUgPSBmYWxzZQorICAgID4KK3N0cnVjdCBsYW1iZGFfb3IKKyAgICA6IHRydWVfCit7Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgbGFtYmRhX29yPCBmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSA+CisgICAgOiBmYWxzZV8KK3sKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQKKyAgICAsIHR5cGVuYW1lIFRhZworICAgCisgICAgPgorc3RydWN0IGxhbWJkYQoreworICAgIHR5cGVkZWYgZmFsc2VfIGlzX2xlOworICAgIHR5cGVkZWYgVCByZXN1bHRfOworICAgIHR5cGVkZWYgVCB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUCisgICAgPgorc3RydWN0IGlzX2xhbWJkYV9leHByZXNzaW9uCisgICAgOiBsYW1iZGE8VD46OmlzX2xlCit7Cit9OworCit0ZW1wbGF0ZTwgaW50IE4sIHR5cGVuYW1lIFRhZyA+CitzdHJ1Y3QgbGFtYmRhPCBhcmc8Tj4sIFRhZyA+Cit7CisgICAgdHlwZWRlZiB0cnVlXyBpc19sZTsKKyAgICB0eXBlZGVmIG1wbDo6YXJnPE4+IHJlc3VsdF87IC8vIHF1YWxpZmllZCBmb3IgdGhlIHNha2Ugb2YgTUlQU3BybyA3LjQxCisgICAgdHlwZWRlZiBtcGw6OnByb3RlY3Q8cmVzdWx0Xz4gdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRgorICAgICwgdHlwZW5hbWUgVGFnCisgICAgPgorc3RydWN0IGxhbWJkYTwKKyAgICAgICAgICBiaW5kMDxGPgorICAgICAgICAsIFRhZworICAgICAgIAorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiBmYWxzZV8gaXNfbGU7CisgICAgdHlwZWRlZiBiaW5kMDwKKyAgICAgICAgICBGCisgICAgICAgID4gcmVzdWx0XzsKKworICAgIHR5cGVkZWYgcmVzdWx0XyB0eXBlOworfTsKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgSXNMRSwgdHlwZW5hbWUgVGFnCisgICAgLCB0ZW1wbGF0ZTwgdHlwZW5hbWUgUDEgPiBjbGFzcyBGCisgICAgLCB0eXBlbmFtZSBMMQorICAgID4KK3N0cnVjdCBsZV9yZXN1bHQxCit7CisgICAgdHlwZWRlZiBGPAorICAgICAgICAgIHR5cGVuYW1lIEwxOjp0eXBlCisgICAgICAgID4gcmVzdWx0XzsKKworICAgIHR5cGVkZWYgcmVzdWx0XyB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUYWcKKyAgICAsIHRlbXBsYXRlPCB0eXBlbmFtZSBQMSA+IGNsYXNzIEYKKyAgICAsIHR5cGVuYW1lIEwxCisgICAgPgorc3RydWN0IGxlX3Jlc3VsdDE8IHRydWVfLFRhZyxGLEwxID4KK3sKKyAgICB0eXBlZGVmIGJpbmQxPAorICAgICAgICAgIHF1b3RlMTwgRixUYWcgPgorICAgICAgICAsIHR5cGVuYW1lIEwxOjpyZXN1bHRfCisgICAgICAgID4gcmVzdWx0XzsKKworICAgIHR5cGVkZWYgbXBsOjpwcm90ZWN0PHJlc3VsdF8+IHR5cGU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKwordGVtcGxhdGU8CisgICAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgUDEgPiBjbGFzcyBGCisgICAgLCB0eXBlbmFtZSBUMQorICAgICwgdHlwZW5hbWUgVGFnCisgICAgPgorc3RydWN0IGxhbWJkYTwKKyAgICAgICAgICBGPFQxPgorICAgICAgICAsIFRhZworICAgICAgIAorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiBsYW1iZGE8IFQxLFRhZyA+IGwxOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbDE6OmlzX2xlIGlzX2xlMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGF1eDo6bGFtYmRhX29yPAorICAgICAgICAgIGlzX2xlMTo6dmFsdWUKKyAgICAgICAgPjo6dHlwZSBpc19sZTsKKworICAgIHR5cGVkZWYgYXV4OjpsZV9yZXN1bHQxPAorICAgICAgICAgIGlzX2xlLCBUYWcsIEYsIGwxCisgICAgICAgID4gbGVfcmVzdWx0XzsKKworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGVfcmVzdWx0Xzo6cmVzdWx0XyByZXN1bHRfOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGVfcmVzdWx0Xzo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMQorICAgICwgdHlwZW5hbWUgVGFnCisgICAgPgorc3RydWN0IGxhbWJkYTwKKyAgICAgICAgICBiaW5kMTwgRixUMSA+CisgICAgICAgICwgVGFnCisgICAgICAgCisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIGZhbHNlXyBpc19sZTsKKyAgICB0eXBlZGVmIGJpbmQxPAorICAgICAgICAgIEYKKyAgICAgICAgLCBUMQorICAgICAgICA+IHJlc3VsdF87CisKKyAgICB0eXBlZGVmIHJlc3VsdF8gdHlwZTsKK307CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIElzTEUsIHR5cGVuYW1lIFRhZworICAgICwgdGVtcGxhdGU8IHR5cGVuYW1lIFAxLCB0eXBlbmFtZSBQMiA+IGNsYXNzIEYKKyAgICAsIHR5cGVuYW1lIEwxLCB0eXBlbmFtZSBMMgorICAgID4KK3N0cnVjdCBsZV9yZXN1bHQyCit7CisgICAgdHlwZWRlZiBGPAorICAgICAgICAgIHR5cGVuYW1lIEwxOjp0eXBlLCB0eXBlbmFtZSBMMjo6dHlwZQorICAgICAgICA+IHJlc3VsdF87CisKKyAgICB0eXBlZGVmIHJlc3VsdF8gdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVGFnCisgICAgLCB0ZW1wbGF0ZTwgdHlwZW5hbWUgUDEsIHR5cGVuYW1lIFAyID4gY2xhc3MgRgorICAgICwgdHlwZW5hbWUgTDEsIHR5cGVuYW1lIEwyCisgICAgPgorc3RydWN0IGxlX3Jlc3VsdDI8IHRydWVfLFRhZyxGLEwxLEwyID4KK3sKKyAgICB0eXBlZGVmIGJpbmQyPAorICAgICAgICAgIHF1b3RlMjwgRixUYWcgPgorICAgICAgICAsIHR5cGVuYW1lIEwxOjpyZXN1bHRfLCB0eXBlbmFtZSBMMjo6cmVzdWx0XworICAgICAgICA+IHJlc3VsdF87CisKKyAgICB0eXBlZGVmIG1wbDo6cHJvdGVjdDxyZXN1bHRfPiB0eXBlOworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK3RlbXBsYXRlPAorICAgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFAxLCB0eXBlbmFtZSBQMiA+IGNsYXNzIEYKKyAgICAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMgorICAgICwgdHlwZW5hbWUgVGFnCisgICAgPgorc3RydWN0IGxhbWJkYTwKKyAgICAgICAgICBGPCBUMSxUMiA+CisgICAgICAgICwgVGFnCisgICAgICAgCisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIGxhbWJkYTwgVDEsVGFnID4gbDE7CisgICAgdHlwZWRlZiBsYW1iZGE8IFQyLFRhZyA+IGwyOworICAgIAorICAgIHR5cGVkZWYgdHlwZW5hbWUgbDE6OmlzX2xlIGlzX2xlMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGwyOjppc19sZSBpc19sZTI7CisgICAgCisKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGF1eDo6bGFtYmRhX29yPAorICAgICAgICAgIGlzX2xlMTo6dmFsdWUsIGlzX2xlMjo6dmFsdWUKKyAgICAgICAgPjo6dHlwZSBpc19sZTsKKworICAgIHR5cGVkZWYgYXV4OjpsZV9yZXN1bHQyPAorICAgICAgICAgIGlzX2xlLCBUYWcsIEYsIGwxLCBsMgorICAgICAgICA+IGxlX3Jlc3VsdF87CisKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxlX3Jlc3VsdF86OnJlc3VsdF8gcmVzdWx0XzsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxlX3Jlc3VsdF86OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyCisgICAgLCB0eXBlbmFtZSBUYWcKKyAgICA+CitzdHJ1Y3QgbGFtYmRhPAorICAgICAgICAgIGJpbmQyPCBGLFQxLFQyID4KKyAgICAgICAgLCBUYWcKKyAgICAgICAKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgZmFsc2VfIGlzX2xlOworICAgIHR5cGVkZWYgYmluZDI8CisgICAgICAgICAgRgorICAgICAgICAsIFQxLCBUMgorICAgICAgICA+IHJlc3VsdF87CisKKyAgICB0eXBlZGVmIHJlc3VsdF8gdHlwZTsKK307CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIElzTEUsIHR5cGVuYW1lIFRhZworICAgICwgdGVtcGxhdGU8IHR5cGVuYW1lIFAxLCB0eXBlbmFtZSBQMiwgdHlwZW5hbWUgUDMgPiBjbGFzcyBGCisgICAgLCB0eXBlbmFtZSBMMSwgdHlwZW5hbWUgTDIsIHR5cGVuYW1lIEwzCisgICAgPgorc3RydWN0IGxlX3Jlc3VsdDMKK3sKKyAgICB0eXBlZGVmIEY8CisgICAgICAgICAgdHlwZW5hbWUgTDE6OnR5cGUsIHR5cGVuYW1lIEwyOjp0eXBlLCB0eXBlbmFtZSBMMzo6dHlwZQorICAgICAgICA+IHJlc3VsdF87CisKKyAgICB0eXBlZGVmIHJlc3VsdF8gdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVGFnCisgICAgLCB0ZW1wbGF0ZTwgdHlwZW5hbWUgUDEsIHR5cGVuYW1lIFAyLCB0eXBlbmFtZSBQMyA+IGNsYXNzIEYKKyAgICAsIHR5cGVuYW1lIEwxLCB0eXBlbmFtZSBMMiwgdHlwZW5hbWUgTDMKKyAgICA+CitzdHJ1Y3QgbGVfcmVzdWx0MzwgdHJ1ZV8sVGFnLEYsTDEsTDIsTDMgPgoreworICAgIHR5cGVkZWYgYmluZDM8CisgICAgICAgICAgcXVvdGUzPCBGLFRhZyA+CisgICAgICAgICwgdHlwZW5hbWUgTDE6OnJlc3VsdF8sIHR5cGVuYW1lIEwyOjpyZXN1bHRfLCB0eXBlbmFtZSBMMzo6cmVzdWx0XworICAgICAgICA+IHJlc3VsdF87CisKKyAgICB0eXBlZGVmIG1wbDo6cHJvdGVjdDxyZXN1bHRfPiB0eXBlOworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK3RlbXBsYXRlPAorICAgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFAxLCB0eXBlbmFtZSBQMiwgdHlwZW5hbWUgUDMgPiBjbGFzcyBGCisgICAgLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzCisgICAgLCB0eXBlbmFtZSBUYWcKKyAgICA+CitzdHJ1Y3QgbGFtYmRhPAorICAgICAgICAgIEY8IFQxLFQyLFQzID4KKyAgICAgICAgLCBUYWcKKyAgICAgICAKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgbGFtYmRhPCBUMSxUYWcgPiBsMTsKKyAgICB0eXBlZGVmIGxhbWJkYTwgVDIsVGFnID4gbDI7CisgICAgdHlwZWRlZiBsYW1iZGE8IFQzLFRhZyA+IGwzOworICAgIAorICAgIHR5cGVkZWYgdHlwZW5hbWUgbDE6OmlzX2xlIGlzX2xlMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGwyOjppc19sZSBpc19sZTI7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsMzo6aXNfbGUgaXNfbGUzOworICAgIAorCisgICAgdHlwZWRlZiB0eXBlbmFtZSBhdXg6OmxhbWJkYV9vcjwKKyAgICAgICAgICBpc19sZTE6OnZhbHVlLCBpc19sZTI6OnZhbHVlLCBpc19sZTM6OnZhbHVlCisgICAgICAgID46OnR5cGUgaXNfbGU7CisKKyAgICB0eXBlZGVmIGF1eDo6bGVfcmVzdWx0MzwKKyAgICAgICAgICBpc19sZSwgVGFnLCBGLCBsMSwgbDIsIGwzCisgICAgICAgID4gbGVfcmVzdWx0XzsKKworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGVfcmVzdWx0Xzo6cmVzdWx0XyByZXN1bHRfOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGVfcmVzdWx0Xzo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzCisgICAgLCB0eXBlbmFtZSBUYWcKKyAgICA+CitzdHJ1Y3QgbGFtYmRhPAorICAgICAgICAgIGJpbmQzPCBGLFQxLFQyLFQzID4KKyAgICAgICAgLCBUYWcKKyAgICAgICAKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgZmFsc2VfIGlzX2xlOworICAgIHR5cGVkZWYgYmluZDM8CisgICAgICAgICAgRgorICAgICAgICAsIFQxLCBUMiwgVDMKKyAgICAgICAgPiByZXN1bHRfOworCisgICAgdHlwZWRlZiByZXN1bHRfIHR5cGU7Cit9OworCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBJc0xFLCB0eXBlbmFtZSBUYWcKKyAgICAsIHRlbXBsYXRlPCB0eXBlbmFtZSBQMSwgdHlwZW5hbWUgUDIsIHR5cGVuYW1lIFAzLCB0eXBlbmFtZSBQNCA+IGNsYXNzIEYKKyAgICAsIHR5cGVuYW1lIEwxLCB0eXBlbmFtZSBMMiwgdHlwZW5hbWUgTDMsIHR5cGVuYW1lIEw0CisgICAgPgorc3RydWN0IGxlX3Jlc3VsdDQKK3sKKyAgICB0eXBlZGVmIEY8CisgICAgICAgICAgdHlwZW5hbWUgTDE6OnR5cGUsIHR5cGVuYW1lIEwyOjp0eXBlLCB0eXBlbmFtZSBMMzo6dHlwZQorICAgICAgICAsIHR5cGVuYW1lIEw0Ojp0eXBlCisgICAgICAgID4gcmVzdWx0XzsKKworICAgIHR5cGVkZWYgcmVzdWx0XyB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUYWcKKyAgICAsIHRlbXBsYXRlPCB0eXBlbmFtZSBQMSwgdHlwZW5hbWUgUDIsIHR5cGVuYW1lIFAzLCB0eXBlbmFtZSBQNCA+IGNsYXNzIEYKKyAgICAsIHR5cGVuYW1lIEwxLCB0eXBlbmFtZSBMMiwgdHlwZW5hbWUgTDMsIHR5cGVuYW1lIEw0CisgICAgPgorc3RydWN0IGxlX3Jlc3VsdDQ8IHRydWVfLFRhZyxGLEwxLEwyLEwzLEw0ID4KK3sKKyAgICB0eXBlZGVmIGJpbmQ0PAorICAgICAgICAgIHF1b3RlNDwgRixUYWcgPgorICAgICAgICAsIHR5cGVuYW1lIEwxOjpyZXN1bHRfLCB0eXBlbmFtZSBMMjo6cmVzdWx0XywgdHlwZW5hbWUgTDM6OnJlc3VsdF8KKyAgICAgICAgLCB0eXBlbmFtZSBMNDo6cmVzdWx0XworICAgICAgICA+IHJlc3VsdF87CisKKyAgICB0eXBlZGVmIG1wbDo6cHJvdGVjdDxyZXN1bHRfPiB0eXBlOworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK3RlbXBsYXRlPAorICAgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFAxLCB0eXBlbmFtZSBQMiwgdHlwZW5hbWUgUDMsIHR5cGVuYW1lIFA0ID4gY2xhc3MgRgorICAgICwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFRhZworICAgID4KK3N0cnVjdCBsYW1iZGE8CisgICAgICAgICAgRjwgVDEsVDIsVDMsVDQgPgorICAgICAgICAsIFRhZworICAgICAgIAorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiBsYW1iZGE8IFQxLFRhZyA+IGwxOworICAgIHR5cGVkZWYgbGFtYmRhPCBUMixUYWcgPiBsMjsKKyAgICB0eXBlZGVmIGxhbWJkYTwgVDMsVGFnID4gbDM7CisgICAgdHlwZWRlZiBsYW1iZGE8IFQ0LFRhZyA+IGw0OworICAgIAorICAgIHR5cGVkZWYgdHlwZW5hbWUgbDE6OmlzX2xlIGlzX2xlMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGwyOjppc19sZSBpc19sZTI7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsMzo6aXNfbGUgaXNfbGUzOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbDQ6OmlzX2xlIGlzX2xlNDsKKyAgICAKKworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXV4OjpsYW1iZGFfb3I8CisgICAgICAgICAgaXNfbGUxOjp2YWx1ZSwgaXNfbGUyOjp2YWx1ZSwgaXNfbGUzOjp2YWx1ZSwgaXNfbGU0Ojp2YWx1ZQorICAgICAgICA+Ojp0eXBlIGlzX2xlOworCisgICAgdHlwZWRlZiBhdXg6OmxlX3Jlc3VsdDQ8CisgICAgICAgICAgaXNfbGUsIFRhZywgRiwgbDEsIGwyLCBsMywgbDQKKyAgICAgICAgPiBsZV9yZXN1bHRfOworCisgICAgdHlwZWRlZiB0eXBlbmFtZSBsZV9yZXN1bHRfOjpyZXN1bHRfIHJlc3VsdF87CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsZV9yZXN1bHRfOjp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUYWcKKyAgICA+CitzdHJ1Y3QgbGFtYmRhPAorICAgICAgICAgIGJpbmQ0PCBGLFQxLFQyLFQzLFQ0ID4KKyAgICAgICAgLCBUYWcKKyAgICAgICAKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgZmFsc2VfIGlzX2xlOworICAgIHR5cGVkZWYgYmluZDQ8CisgICAgICAgICAgRgorICAgICAgICAsIFQxLCBUMiwgVDMsIFQ0CisgICAgICAgID4gcmVzdWx0XzsKKworICAgIHR5cGVkZWYgcmVzdWx0XyB0eXBlOworfTsKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgSXNMRSwgdHlwZW5hbWUgVGFnCisgICAgLCB0ZW1wbGF0ZTwgdHlwZW5hbWUgUDEsIHR5cGVuYW1lIFAyLCB0eXBlbmFtZSBQMywgdHlwZW5hbWUgUDQsIHR5cGVuYW1lIFA1ID4gY2xhc3MgRgorICAgICwgdHlwZW5hbWUgTDEsIHR5cGVuYW1lIEwyLCB0eXBlbmFtZSBMMywgdHlwZW5hbWUgTDQsIHR5cGVuYW1lIEw1CisgICAgPgorc3RydWN0IGxlX3Jlc3VsdDUKK3sKKyAgICB0eXBlZGVmIEY8CisgICAgICAgICAgdHlwZW5hbWUgTDE6OnR5cGUsIHR5cGVuYW1lIEwyOjp0eXBlLCB0eXBlbmFtZSBMMzo6dHlwZQorICAgICAgICAsIHR5cGVuYW1lIEw0Ojp0eXBlLCB0eXBlbmFtZSBMNTo6dHlwZQorICAgICAgICA+IHJlc3VsdF87CisKKyAgICB0eXBlZGVmIHJlc3VsdF8gdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVGFnCisgICAgLCB0ZW1wbGF0ZTwgdHlwZW5hbWUgUDEsIHR5cGVuYW1lIFAyLCB0eXBlbmFtZSBQMywgdHlwZW5hbWUgUDQsIHR5cGVuYW1lIFA1ID4gY2xhc3MgRgorICAgICwgdHlwZW5hbWUgTDEsIHR5cGVuYW1lIEwyLCB0eXBlbmFtZSBMMywgdHlwZW5hbWUgTDQsIHR5cGVuYW1lIEw1CisgICAgPgorc3RydWN0IGxlX3Jlc3VsdDU8IHRydWVfLFRhZyxGLEwxLEwyLEwzLEw0LEw1ID4KK3sKKyAgICB0eXBlZGVmIGJpbmQ1PAorICAgICAgICAgIHF1b3RlNTwgRixUYWcgPgorICAgICAgICAsIHR5cGVuYW1lIEwxOjpyZXN1bHRfLCB0eXBlbmFtZSBMMjo6cmVzdWx0XywgdHlwZW5hbWUgTDM6OnJlc3VsdF8KKyAgICAgICAgLCB0eXBlbmFtZSBMNDo6cmVzdWx0XywgdHlwZW5hbWUgTDU6OnJlc3VsdF8KKyAgICAgICAgPiByZXN1bHRfOworCisgICAgdHlwZWRlZiBtcGw6OnByb3RlY3Q8cmVzdWx0Xz4gdHlwZTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCit0ZW1wbGF0ZTwKKyAgICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFAxLCB0eXBlbmFtZSBQMiwgdHlwZW5hbWUgUDMsIHR5cGVuYW1lIFA0CisgICAgICAgICwgdHlwZW5hbWUgUDUKKyAgICAgICAgPgorICAgICAgY2xhc3MgRgorICAgICwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQsIHR5cGVuYW1lIFQ1CisgICAgLCB0eXBlbmFtZSBUYWcKKyAgICA+CitzdHJ1Y3QgbGFtYmRhPAorICAgICAgICAgIEY8IFQxLFQyLFQzLFQ0LFQ1ID4KKyAgICAgICAgLCBUYWcKKyAgICAgICAKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgbGFtYmRhPCBUMSxUYWcgPiBsMTsKKyAgICB0eXBlZGVmIGxhbWJkYTwgVDIsVGFnID4gbDI7CisgICAgdHlwZWRlZiBsYW1iZGE8IFQzLFRhZyA+IGwzOworICAgIHR5cGVkZWYgbGFtYmRhPCBUNCxUYWcgPiBsNDsKKyAgICB0eXBlZGVmIGxhbWJkYTwgVDUsVGFnID4gbDU7CisgICAgCisgICAgdHlwZWRlZiB0eXBlbmFtZSBsMTo6aXNfbGUgaXNfbGUxOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbDI6OmlzX2xlIGlzX2xlMjsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGwzOjppc19sZSBpc19sZTM7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsNDo6aXNfbGUgaXNfbGU0OworICAgIHR5cGVkZWYgdHlwZW5hbWUgbDU6OmlzX2xlIGlzX2xlNTsKKyAgICAKKworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXV4OjpsYW1iZGFfb3I8CisgICAgICAgICAgaXNfbGUxOjp2YWx1ZSwgaXNfbGUyOjp2YWx1ZSwgaXNfbGUzOjp2YWx1ZSwgaXNfbGU0Ojp2YWx1ZQorICAgICAgICAsIGlzX2xlNTo6dmFsdWUKKyAgICAgICAgPjo6dHlwZSBpc19sZTsKKworICAgIHR5cGVkZWYgYXV4OjpsZV9yZXN1bHQ1PAorICAgICAgICAgIGlzX2xlLCBUYWcsIEYsIGwxLCBsMiwgbDMsIGw0LCBsNQorICAgICAgICA+IGxlX3Jlc3VsdF87CisKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxlX3Jlc3VsdF86OnJlc3VsdF8gcmVzdWx0XzsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxlX3Jlc3VsdF86OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1CisgICAgLCB0eXBlbmFtZSBUYWcKKyAgICA+CitzdHJ1Y3QgbGFtYmRhPAorICAgICAgICAgIGJpbmQ1PCBGLFQxLFQyLFQzLFQ0LFQ1ID4KKyAgICAgICAgLCBUYWcKKyAgICAgICAKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgZmFsc2VfIGlzX2xlOworICAgIHR5cGVkZWYgYmluZDU8CisgICAgICAgICAgRgorICAgICAgICAsIFQxLCBUMiwgVDMsIFQ0LCBUNQorICAgICAgICA+IHJlc3VsdF87CisKKyAgICB0eXBlZGVmIHJlc3VsdF8gdHlwZTsKK307CisKKy8vLyBzcGVjaWFsIGNhc2UgZm9yICdwcm90ZWN0JwordGVtcGxhdGU8IHR5cGVuYW1lIFQsIHR5cGVuYW1lIFRhZyA+CitzdHJ1Y3QgbGFtYmRhPCBtcGw6OnByb3RlY3Q8VD4sIFRhZyA+Cit7CisgICAgdHlwZWRlZiBmYWxzZV8gaXNfbGU7CisgICAgdHlwZWRlZiBtcGw6OnByb3RlY3Q8VD4gcmVzdWx0XzsKKyAgICB0eXBlZGVmIHJlc3VsdF8gdHlwZTsKK307CisKKy8vLyBzcGVjaWFsaXphdGlvbnMgZm9yIHRoZSBtYWluICdiaW5kJyBmb3JtCisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1CisgICAgLCB0eXBlbmFtZSBUYWcKKyAgICA+CitzdHJ1Y3QgbGFtYmRhPAorICAgICAgICAgIGJpbmQ8IEYsVDEsVDIsVDMsVDQsVDUgPgorICAgICAgICAsIFRhZworICAgICAgIAorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiBmYWxzZV8gaXNfbGU7CisgICAgdHlwZWRlZiBiaW5kPCBGLFQxLFQyLFQzLFQ0LFQ1ID4gcmVzdWx0XzsKKyAgICB0eXBlZGVmIHJlc3VsdF8gdHlwZTsKK307CisKKy8vLyB3b3JrYXJvdW5kIGZvciBNV0NXIDguMysvRURHIDwgMzAzLCBsZWFkcyB0byBhbWJpZ3VpdHkgb24gRGlnaXRhbCBNYXJzCisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVGFnMSwgdHlwZW5hbWUgVGFnMgorICAgID4KK3N0cnVjdCBsYW1iZGE8CisgICAgICAgICAgbGFtYmRhPCBGLFRhZzEgPgorICAgICAgICAsIFRhZzIKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgbGFtYmRhPCBGLFRhZzIgPiBsMTsKKyAgICB0eXBlZGVmIGxhbWJkYTwgVGFnMSxUYWcyID4gbDI7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsMTo6aXNfbGUgaXNfbGU7CisgICAgdHlwZWRlZiBhdXg6OmxlX3Jlc3VsdDI8aXNfbGUsIFRhZzIsIG1wbDo6bGFtYmRhLCBsMSwgbDI+IGxlX3Jlc3VsdF87CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsZV9yZXN1bHRfOjpyZXN1bHRfIHJlc3VsdF87CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsZV9yZXN1bHRfOjp0eXBlIHR5cGU7Cit9OworCitCT09TVF9NUExfQVVYX05BX1NQRUMoMiwgbGFtYmRhKQorCit9fQorCmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXN2YzYwL2dyZWF0ZXIuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL21zdmM2MC9ncmVhdGVyLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zOGRkZWM5Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL21zdmM2MC9ncmVhdGVyLmhwcApAQCAtMCwwICsxLDEwMiBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvZ3JlYXRlci5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUYWcxCisgICAgLCB0eXBlbmFtZSBUYWcyCisKKyAgICAsIEJPT1NUX01QTF9BVVhfTlRUUF9ERUNMKGludCwgdGFnMV8pICA9IEJPT1NUX01QTF9BVVhfTVNWQ19WQUxVRV9XS05EKFRhZzEpOjp2YWx1ZQorICAgICwgQk9PU1RfTVBMX0FVWF9OVFRQX0RFQ0woaW50LCB0YWcyXykgID0gQk9PU1RfTVBMX0FVWF9NU1ZDX1ZBTFVFX1dLTkQoVGFnMik6OnZhbHVlCisgICAgPgorc3RydWN0IGdyZWF0ZXJfaW1wbAorICAgIDogaWZfYzwKKyAgICAgICAgICAoIHRhZzFfID4gdGFnMl8gKQorICAgICAgICAsIGF1eDo6Y2FzdDJuZF9pbXBsPCBncmVhdGVyX2ltcGw8IFRhZzEsVGFnMSA+LFRhZzEsIFRhZzIgPgorICAgICAgICAsIGF1eDo6Y2FzdDFzdF9pbXBsPCBncmVhdGVyX2ltcGw8IFRhZzIsVGFnMiA+LFRhZzEsIFRhZzIgPgorICAgICAgICA+Ojp0eXBlCit7Cit9OworCisvLy8gZm9yIERpZ2l0YWwgTWFycyBDKysvY29tcGlsZXJzIHdpdGggbm8gQ1RQUy9UVFAgc3VwcG9ydAordGVtcGxhdGU8PiBzdHJ1Y3QgZ3JlYXRlcl9pbXBsPCBuYSxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgZ3JlYXRlcl9pbXBsPCBuYSxpbnRlZ3JhbF9jX3RhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgZ3JlYXRlcl9pbXBsPCBpbnRlZ3JhbF9jX3RhZyxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFQgPiBzdHJ1Y3QgZ3JlYXRlcl90YWcKK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIFQ6OnRhZyB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4xKQorICAgICwgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMikKKyAgICA+CitzdHJ1Y3QgZ3JlYXRlcgorICAgIDogYXV4Ojptc3ZjX2V0aV9iYXNlPCB0eXBlbmFtZSBhcHBseV93cmFwMjwKKyAgICAgICAgICBncmVhdGVyX2ltcGw8CisgICAgICAgICAgICAgIHR5cGVuYW1lIGdyZWF0ZXJfdGFnPE4xPjo6dHlwZQorICAgICAgICAgICAgLCB0eXBlbmFtZSBncmVhdGVyX3RhZzxOMj46OnR5cGUKKyAgICAgICAgICAgID4KKyAgICAgICAgLCBOMQorICAgICAgICAsIE4yCisgICAgICAgID46OnR5cGUgPjo6dHlwZQorCit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgyLCBncmVhdGVyLCAoTjEsIE4yKSkKKworfTsKKworQk9PU1RfTVBMX0FVWF9OQV9TUEVDMigyLCAyLCBncmVhdGVyKQorCit9fQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8Pgorc3RydWN0IGdyZWF0ZXJfaW1wbDwgaW50ZWdyYWxfY190YWcsaW50ZWdyYWxfY190YWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBOMSwgdHlwZW5hbWUgTjIgPiBzdHJ1Y3QgYXBwbHkKKworICAgIHsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGJvb2wsIHZhbHVlID0KKyAgICAgICAgICAgICAoIEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChOMSk6OnZhbHVlID4KKyAgICAgICAgICAgICBCT09TVF9NUExfQVVYX1ZBTFVFX1dLTkQoTjIpOjp2YWx1ZSApCisgICAgICAgICAgICApOworICAgICAgICB0eXBlZGVmIGJvb2xfPHZhbHVlPiB0eXBlOworICAgIH07Cit9OworCit9fQpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL21zdmM2MC9ncmVhdGVyX2VxdWFsLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9tc3ZjNjAvZ3JlYXRlcl9lcXVhbC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTc4ZTNjYgotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9tc3ZjNjAvZ3JlYXRlcl9lcXVhbC5ocHAKQEAgLTAsMCArMSwxMDIgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL2dyZWF0ZXJfZXF1YWwuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVGFnMQorICAgICwgdHlwZW5hbWUgVGFnMgorCisgICAgLCBCT09TVF9NUExfQVVYX05UVFBfREVDTChpbnQsIHRhZzFfKSAgPSBCT09TVF9NUExfQVVYX01TVkNfVkFMVUVfV0tORChUYWcxKTo6dmFsdWUKKyAgICAsIEJPT1NUX01QTF9BVVhfTlRUUF9ERUNMKGludCwgdGFnMl8pICA9IEJPT1NUX01QTF9BVVhfTVNWQ19WQUxVRV9XS05EKFRhZzIpOjp2YWx1ZQorICAgID4KK3N0cnVjdCBncmVhdGVyX2VxdWFsX2ltcGwKKyAgICA6IGlmX2M8CisgICAgICAgICAgKCB0YWcxXyA+IHRhZzJfICkKKyAgICAgICAgLCBhdXg6OmNhc3QybmRfaW1wbDwgZ3JlYXRlcl9lcXVhbF9pbXBsPCBUYWcxLFRhZzEgPixUYWcxLCBUYWcyID4KKyAgICAgICAgLCBhdXg6OmNhc3Qxc3RfaW1wbDwgZ3JlYXRlcl9lcXVhbF9pbXBsPCBUYWcyLFRhZzIgPixUYWcxLCBUYWcyID4KKyAgICAgICAgPjo6dHlwZQoreworfTsKKworLy8vIGZvciBEaWdpdGFsIE1hcnMgQysrL2NvbXBpbGVycyB3aXRoIG5vIENUUFMvVFRQIHN1cHBvcnQKK3RlbXBsYXRlPD4gc3RydWN0IGdyZWF0ZXJfZXF1YWxfaW1wbDwgbmEsbmEgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4gc3RydWN0IGdyZWF0ZXJfZXF1YWxfaW1wbDwgbmEsaW50ZWdyYWxfY190YWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4gc3RydWN0IGdyZWF0ZXJfZXF1YWxfaW1wbDwgaW50ZWdyYWxfY190YWcsbmEgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUID4gc3RydWN0IGdyZWF0ZXJfZXF1YWxfdGFnCit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBUOjp0YWcgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMSkKKyAgICAsIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjIpCisgICAgPgorc3RydWN0IGdyZWF0ZXJfZXF1YWwKKyAgICA6IGF1eDo6bXN2Y19ldGlfYmFzZTwgdHlwZW5hbWUgYXBwbHlfd3JhcDI8CisgICAgICAgICAgZ3JlYXRlcl9lcXVhbF9pbXBsPAorICAgICAgICAgICAgICB0eXBlbmFtZSBncmVhdGVyX2VxdWFsX3RhZzxOMT46OnR5cGUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgZ3JlYXRlcl9lcXVhbF90YWc8TjI+Ojp0eXBlCisgICAgICAgICAgICA+CisgICAgICAgICwgTjEKKyAgICAgICAgLCBOMgorICAgICAgICA+Ojp0eXBlID46OnR5cGUKKworeworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoMiwgZ3JlYXRlcl9lcXVhbCwgKE4xLCBOMikpCisKK307CisKK0JPT1NUX01QTF9BVVhfTkFfU1BFQzIoMiwgMiwgZ3JlYXRlcl9lcXVhbCkKKworfX0KKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBncmVhdGVyX2VxdWFsX2ltcGw8IGludGVncmFsX2NfdGFnLGludGVncmFsX2NfdGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgTjEsIHR5cGVuYW1lIE4yID4gc3RydWN0IGFwcGx5CisKKyAgICB7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChib29sLCB2YWx1ZSA9CisgICAgICAgICAgICAgKCBCT09TVF9NUExfQVVYX1ZBTFVFX1dLTkQoTjEpOjp2YWx1ZSA+PQorICAgICAgICAgICAgIEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChOMik6OnZhbHVlICkKKyAgICAgICAgICAgICk7CisgICAgICAgIHR5cGVkZWYgYm9vbF88dmFsdWU+IHR5cGU7CisgICAgfTsKK307CisKK319CmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXN2YzYwL2luaGVyaXQuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL21zdmM2MC9pbmhlcml0LmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMjMyOGY3Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL21zdmM2MC9pbmhlcml0LmhwcApAQCAtMCwwICsxLDE2NiBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAxLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvaW5oZXJpdC5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPCBib29sIEMxLCBib29sIEMyID4KK3N0cnVjdCBpbmhlcml0Ml9pbXBsCit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIERlcml2ZWQsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiA+IHN0cnVjdCByZXN1bHRfCisgICAgICAgIDogVDEsIFQyCisgICAgeworICAgICAgICB0eXBlZGVmIERlcml2ZWQgdHlwZV87CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBpbmhlcml0Ml9pbXBsPCBmYWxzZSx0cnVlID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgRGVyaXZlZCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyID4gc3RydWN0IHJlc3VsdF8KKyAgICAgICAgOiBUMQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBUMSB0eXBlXzsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGluaGVyaXQyX2ltcGw8IHRydWUsZmFsc2UgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBEZXJpdmVkLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIgPiBzdHJ1Y3QgcmVzdWx0XworICAgICAgICA6IFQyCisgICAgeworICAgICAgICB0eXBlZGVmIFQyIHR5cGVfOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgaW5oZXJpdDJfaW1wbDwgdHJ1ZSx0cnVlID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgRGVyaXZlZCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyID4gc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgVDEgdHlwZV87CisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oVDEpCisgICAgLCB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKFQyKQorICAgID4KK3N0cnVjdCBpbmhlcml0MgorICAgIDogYXV4Ojppbmhlcml0Ml9pbXBsPAorICAgICAgICAgIGlzX2VtcHR5X2Jhc2U8VDE+Ojp2YWx1ZQorICAgICAgICAsIGlzX2VtcHR5X2Jhc2U8VDI+Ojp2YWx1ZQorICAgICAgICA+Ojp0ZW1wbGF0ZSByZXN1bHRfPCBpbmhlcml0MjwgVDEsVDIgPixUMSwgVDIgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgaW5oZXJpdDI6OnR5cGVfIHR5cGU7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgyLCBpbmhlcml0MiwgKFQxLCBUMikpCit9OworCitCT09TVF9NUExfQVVYX05BX1NQRUMoMiwgaW5oZXJpdDIpCisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDEgPSBuYSwgdHlwZW5hbWUgVDIgPSBuYSwgdHlwZW5hbWUgVDMgPSBuYQorICAgID4KK3N0cnVjdCBpbmhlcml0MworICAgIDogaW5oZXJpdDI8CisgICAgICAgICAgdHlwZW5hbWUgaW5oZXJpdDI8CisgICAgICAgICAgICAgIFQxLCBUMgorICAgICAgICAgICAgPjo6dHlwZQorICAgICAgICAsIFQzCisgICAgICAgID4KK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKAorICAgICAgICAgIDMKKyAgICAgICAgLCBpbmhlcml0MworICAgICAgICAsICggVDEsIFQyLCBUMykKKyAgICAgICAgKQorfTsKKworQk9PU1RfTVBMX0FVWF9OQV9TUEVDKDMsIGluaGVyaXQzKQorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQxID0gbmEsIHR5cGVuYW1lIFQyID0gbmEsIHR5cGVuYW1lIFQzID0gbmEsIHR5cGVuYW1lIFQ0ID0gbmEKKyAgICA+CitzdHJ1Y3QgaW5oZXJpdDQKKyAgICA6IGluaGVyaXQyPAorICAgICAgICAgIHR5cGVuYW1lIGluaGVyaXQzPAorICAgICAgICAgICAgICBUMSwgVDIsIFQzCisgICAgICAgICAgICA+Ojp0eXBlCisgICAgICAgICwgVDQKKyAgICAgICAgPgoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoCisgICAgICAgICAgNAorICAgICAgICAsIGluaGVyaXQ0CisgICAgICAgICwgKCBUMSwgVDIsIFQzLCBUNCkKKyAgICAgICAgKQorfTsKKworQk9PU1RfTVBMX0FVWF9OQV9TUEVDKDQsIGluaGVyaXQ0KQorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQxID0gbmEsIHR5cGVuYW1lIFQyID0gbmEsIHR5cGVuYW1lIFQzID0gbmEsIHR5cGVuYW1lIFQ0ID0gbmEKKyAgICAsIHR5cGVuYW1lIFQ1ID0gbmEKKyAgICA+CitzdHJ1Y3QgaW5oZXJpdDUKKyAgICA6IGluaGVyaXQyPAorICAgICAgICAgIHR5cGVuYW1lIGluaGVyaXQ0PAorICAgICAgICAgICAgICBUMSwgVDIsIFQzLCBUNAorICAgICAgICAgICAgPjo6dHlwZQorICAgICAgICAsIFQ1CisgICAgICAgID4KK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKAorICAgICAgICAgIDUKKyAgICAgICAgLCBpbmhlcml0NQorICAgICAgICAsICggVDEsIFQyLCBUMywgVDQsIFQ1KQorICAgICAgICApCit9OworCitCT09TVF9NUExfQVVYX05BX1NQRUMoNSwgaW5oZXJpdDUpCisKKy8vLyBwcmltYXJ5IHRlbXBsYXRlCisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDEgPSBlbXB0eV9iYXNlLCB0eXBlbmFtZSBUMiA9IGVtcHR5X2Jhc2UKKyAgICAsIHR5cGVuYW1lIFQzID0gZW1wdHlfYmFzZSwgdHlwZW5hbWUgVDQgPSBlbXB0eV9iYXNlCisgICAgLCB0eXBlbmFtZSBUNSA9IGVtcHR5X2Jhc2UKKyAgICA+CitzdHJ1Y3QgaW5oZXJpdAorICAgIDogaW5oZXJpdDU8IFQxLFQyLFQzLFQ0LFQ1ID4KK3sKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBpbmhlcml0PCBuYSxuYSxuYSxuYSxuYSA+Cit7CisgICAgdGVtcGxhdGU8CisKKyAgICAgICAgICB0eXBlbmFtZSBUMSA9IGVtcHR5X2Jhc2UsIHR5cGVuYW1lIFQyID0gZW1wdHlfYmFzZQorICAgICAgICAsIHR5cGVuYW1lIFQzID0gZW1wdHlfYmFzZSwgdHlwZW5hbWUgVDQgPSBlbXB0eV9iYXNlCisgICAgICAgICwgdHlwZW5hbWUgVDUgPSBlbXB0eV9iYXNlCisKKyAgICAgICAgPgorICAgIHN0cnVjdCBhcHBseQorICAgICAgICA6IGluaGVyaXQ8IFQxLFQyLFQzLFQ0LFQ1ID4KKyAgICB7CisgICAgfTsKK307CisKK0JPT1NUX01QTF9BVVhfTkFfU1BFQ19MQU1CREEoNSwgaW5oZXJpdCkKK0JPT1NUX01QTF9BVVhfTkFfU1BFQ19BUklUWSg1LCBpbmhlcml0KQorQk9PU1RfTVBMX0FVWF9OQV9TUEVDX1RFTVBMQVRFX0FSSVRZKDUsIDUsIGluaGVyaXQpCit9fQorCmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXN2YzYwL2l0ZXJfZm9sZF9pZl9pbXBsLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9tc3ZjNjAvaXRlcl9mb2xkX2lmX2ltcGwuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIwYTI4NjQKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXN2YzYwL2l0ZXJfZm9sZF9pZl9pbXBsLmhwcApAQCAtMCwwICsxLDEzMyBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAxLTIwMDQKKy8vIENvcHlyaWdodCBEYXZpZCBBYnJhaGFtcyAyMDAxLTIwMDIKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvYXV4Xy9pdGVyX2ZvbGRfaWZfaW1wbC5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsgbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBJdGVyYXRvciwgdHlwZW5hbWUgU3RhdGUgPgorc3RydWN0IGl0ZXJfZm9sZF9pZl9udWxsX3N0ZXAKK3sKKyAgICB0eXBlZGVmIFN0YXRlIHN0YXRlOworICAgIHR5cGVkZWYgSXRlcmF0b3IgaXRlcmF0b3I7Cit9OworCit0ZW1wbGF0ZTwgYm9vbCA+CitzdHJ1Y3QgaXRlcl9mb2xkX2lmX3N0ZXBfaW1wbAoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIEl0ZXJhdG9yCisgICAgICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAgICAgLCB0eXBlbmFtZSBTdGF0ZU9wCisgICAgICAgICwgdHlwZW5hbWUgSXRlcmF0b3JPcAorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBTdGF0ZU9wLFN0YXRlLEl0ZXJhdG9yID46OnR5cGUgc3RhdGU7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgSXRlcmF0b3JPcDo6dHlwZSBpdGVyYXRvcjsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGl0ZXJfZm9sZF9pZl9zdGVwX2ltcGw8ZmFsc2U+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgSXRlcmF0b3IKKyAgICAgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICAgICAsIHR5cGVuYW1lIFN0YXRlT3AKKyAgICAgICAgLCB0eXBlbmFtZSBJdGVyYXRvck9wCisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiBTdGF0ZSBzdGF0ZTsKKyAgICAgICAgdHlwZWRlZiBJdGVyYXRvciBpdGVyYXRvcjsKKyAgICB9OworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBJdGVyYXRvcgorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgICwgdHlwZW5hbWUgUHJlZGljYXRlCisgICAgPgorc3RydWN0IGl0ZXJfZm9sZF9pZl9mb3J3YXJkX3N0ZXAKK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgUHJlZGljYXRlLFN0YXRlLEl0ZXJhdG9yID46OnR5cGUgbm90X2xhc3Q7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBpdGVyX2ZvbGRfaWZfc3RlcF9pbXBsPAorICAgICAgICAgIEJPT1NUX01QTF9BVVhfTVNWQ19WQUxVRV9XS05EKG5vdF9sYXN0KTo6dmFsdWUKKyAgICAgICAgPjo6dGVtcGxhdGUgcmVzdWx0XzwgSXRlcmF0b3IsU3RhdGUsRm9yd2FyZE9wLCBtcGw6Om5leHQ8SXRlcmF0b3I+ID4gaW1wbF87CisKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGltcGxfOjpzdGF0ZSBzdGF0ZTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGltcGxfOjppdGVyYXRvciBpdGVyYXRvcjsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgSXRlcmF0b3IKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBCYWNrd2FyZE9wCisgICAgLCB0eXBlbmFtZSBQcmVkaWNhdGUKKyAgICA+CitzdHJ1Y3QgaXRlcl9mb2xkX2lmX2JhY2t3YXJkX3N0ZXAKK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgUHJlZGljYXRlLFN0YXRlLEl0ZXJhdG9yID46OnR5cGUgbm90X2xhc3Q7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBpdGVyX2ZvbGRfaWZfc3RlcF9pbXBsPAorICAgICAgICAgIEJPT1NUX01QTF9BVVhfTVNWQ19WQUxVRV9XS05EKG5vdF9sYXN0KTo6dmFsdWUKKyAgICAgICAgPjo6dGVtcGxhdGUgcmVzdWx0XzwgSXRlcmF0b3IsU3RhdGUsQmFja3dhcmRPcCwgaWRlbnRpdHk8SXRlcmF0b3I+ID4gaW1wbF87CisKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGltcGxfOjpzdGF0ZSBzdGF0ZTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGltcGxfOjppdGVyYXRvciBpdGVyYXRvcjsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgSXRlcmF0b3IKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRQcmVkaWNhdGUKKyAgICAsIHR5cGVuYW1lIEJhY2t3YXJkT3AKKyAgICAsIHR5cGVuYW1lIEJhY2t3YXJkUHJlZGljYXRlCisgICAgPgorc3RydWN0IGl0ZXJfZm9sZF9pZl9pbXBsCit7CisgcHJpdmF0ZToKKyAgICB0eXBlZGVmIGl0ZXJfZm9sZF9pZl9udWxsX3N0ZXA8IEl0ZXJhdG9yLFN0YXRlID4gZm9yd2FyZF9zdGVwMDsKKyAgICB0eXBlZGVmIGl0ZXJfZm9sZF9pZl9mb3J3YXJkX3N0ZXA8IHR5cGVuYW1lIGZvcndhcmRfc3RlcDA6Oml0ZXJhdG9yLCB0eXBlbmFtZSBmb3J3YXJkX3N0ZXAwOjpzdGF0ZSwgRm9yd2FyZE9wLCBGb3J3YXJkUHJlZGljYXRlID4gZm9yd2FyZF9zdGVwMTsKKyAgICB0eXBlZGVmIGl0ZXJfZm9sZF9pZl9mb3J3YXJkX3N0ZXA8IHR5cGVuYW1lIGZvcndhcmRfc3RlcDE6Oml0ZXJhdG9yLCB0eXBlbmFtZSBmb3J3YXJkX3N0ZXAxOjpzdGF0ZSwgRm9yd2FyZE9wLCBGb3J3YXJkUHJlZGljYXRlID4gZm9yd2FyZF9zdGVwMjsKKyAgICB0eXBlZGVmIGl0ZXJfZm9sZF9pZl9mb3J3YXJkX3N0ZXA8IHR5cGVuYW1lIGZvcndhcmRfc3RlcDI6Oml0ZXJhdG9yLCB0eXBlbmFtZSBmb3J3YXJkX3N0ZXAyOjpzdGF0ZSwgRm9yd2FyZE9wLCBGb3J3YXJkUHJlZGljYXRlID4gZm9yd2FyZF9zdGVwMzsKKyAgICB0eXBlZGVmIGl0ZXJfZm9sZF9pZl9mb3J3YXJkX3N0ZXA8IHR5cGVuYW1lIGZvcndhcmRfc3RlcDM6Oml0ZXJhdG9yLCB0eXBlbmFtZSBmb3J3YXJkX3N0ZXAzOjpzdGF0ZSwgRm9yd2FyZE9wLCBGb3J3YXJkUHJlZGljYXRlID4gZm9yd2FyZF9zdGVwNDsKKyAgICAKKworICAgIHR5cGVkZWYgdHlwZW5hbWUgaWZfPAorICAgICAgICAgIHR5cGVuYW1lIGZvcndhcmRfc3RlcDQ6Om5vdF9sYXN0CisgICAgICAgICwgaXRlcl9mb2xkX2lmX2ltcGw8CisgICAgICAgICAgICAgIHR5cGVuYW1lIGZvcndhcmRfc3RlcDQ6Oml0ZXJhdG9yCisgICAgICAgICAgICAsIHR5cGVuYW1lIGZvcndhcmRfc3RlcDQ6OnN0YXRlCisgICAgICAgICAgICAsIEZvcndhcmRPcAorICAgICAgICAgICAgLCBGb3J3YXJkUHJlZGljYXRlCisgICAgICAgICAgICAsIEJhY2t3YXJkT3AKKyAgICAgICAgICAgICwgQmFja3dhcmRQcmVkaWNhdGUKKyAgICAgICAgICAgID4KKyAgICAgICAgLCBpdGVyX2ZvbGRfaWZfbnVsbF9zdGVwPAorICAgICAgICAgICAgICB0eXBlbmFtZSBmb3J3YXJkX3N0ZXA0OjppdGVyYXRvcgorICAgICAgICAgICAgLCB0eXBlbmFtZSBmb3J3YXJkX3N0ZXA0OjpzdGF0ZQorICAgICAgICAgICAgPgorICAgICAgICA+Ojp0eXBlIGJhY2t3YXJkX3N0ZXA0OworCisgICAgdHlwZWRlZiBpdGVyX2ZvbGRfaWZfYmFja3dhcmRfc3RlcDwgdHlwZW5hbWUgZm9yd2FyZF9zdGVwMzo6aXRlcmF0b3IsIHR5cGVuYW1lIGJhY2t3YXJkX3N0ZXA0OjpzdGF0ZSwgQmFja3dhcmRPcCwgQmFja3dhcmRQcmVkaWNhdGUgPiBiYWNrd2FyZF9zdGVwMzsKKyAgICB0eXBlZGVmIGl0ZXJfZm9sZF9pZl9iYWNrd2FyZF9zdGVwPCB0eXBlbmFtZSBmb3J3YXJkX3N0ZXAyOjppdGVyYXRvciwgdHlwZW5hbWUgYmFja3dhcmRfc3RlcDM6OnN0YXRlLCBCYWNrd2FyZE9wLCBCYWNrd2FyZFByZWRpY2F0ZSA+IGJhY2t3YXJkX3N0ZXAyOworICAgIHR5cGVkZWYgaXRlcl9mb2xkX2lmX2JhY2t3YXJkX3N0ZXA8IHR5cGVuYW1lIGZvcndhcmRfc3RlcDE6Oml0ZXJhdG9yLCB0eXBlbmFtZSBiYWNrd2FyZF9zdGVwMjo6c3RhdGUsIEJhY2t3YXJkT3AsIEJhY2t3YXJkUHJlZGljYXRlID4gYmFja3dhcmRfc3RlcDE7CisgICAgdHlwZWRlZiBpdGVyX2ZvbGRfaWZfYmFja3dhcmRfc3RlcDwgdHlwZW5hbWUgZm9yd2FyZF9zdGVwMDo6aXRlcmF0b3IsIHR5cGVuYW1lIGJhY2t3YXJkX3N0ZXAxOjpzdGF0ZSwgQmFja3dhcmRPcCwgQmFja3dhcmRQcmVkaWNhdGUgPiBiYWNrd2FyZF9zdGVwMDsKKyAgICAKKworIHB1YmxpYzoKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGJhY2t3YXJkX3N0ZXAwOjpzdGF0ZSBzdGF0ZTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGJhY2t3YXJkX3N0ZXA0OjppdGVyYXRvciBpdGVyYXRvcjsKK307CisKK319fQpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL21zdmM2MC9pdGVyX2ZvbGRfaW1wbC5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXN2YzYwL2l0ZXJfZm9sZF9pbXBsLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NzUzMTcwCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL21zdmM2MC9pdGVyX2ZvbGRfaW1wbC5ocHAKQEAgLTAsMCArMSwyOTMgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL2F1eF8vaXRlcl9mb2xkX2ltcGwuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7IG5hbWVzcGFjZSBhdXggeworCisvLy8gZm9yd2FyZCBkZWNsYXJhdGlvbgorCit0ZW1wbGF0ZTwKKyAgICAgIGludCBOCisgICAgLCB0eXBlbmFtZSBGaXJzdAorICAgICwgdHlwZW5hbWUgTGFzdAorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgID4KK3N0cnVjdCBpdGVyX2ZvbGRfaW1wbDsKKwordGVtcGxhdGU8IGludCBOID4KK3N0cnVjdCBpdGVyX2ZvbGRfY2h1bms7CisKK3RlbXBsYXRlPD4gc3RydWN0IGl0ZXJfZm9sZF9jaHVuazwwPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgICAgICwgdHlwZW5hbWUgTGFzdAorICAgICAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiBGaXJzdCBpdGVyMDsKKyAgICAgICAgdHlwZWRlZiBTdGF0ZSBzdGF0ZTA7CisgICAgICAgIHR5cGVkZWYgc3RhdGUwIHN0YXRlOworICAgICAgICB0eXBlZGVmIGl0ZXIwIGl0ZXJhdG9yOworICAgIH07CisKKyAgICAvLy8gRVRJIHdvcmthcm91bmQKKyAgICB0ZW1wbGF0ZTw+IHN0cnVjdCByZXN1bHRfPCBpbnQsaW50LGludCxpbnQgPgorICAgIHsKKyAgICAgICAgdHlwZWRlZiBpbnQgc3RhdGU7CisgICAgICAgIHR5cGVkZWYgaW50IGl0ZXJhdG9yOworICAgIH07CisKK307CisKK3RlbXBsYXRlPD4gc3RydWN0IGl0ZXJfZm9sZF9jaHVuazwxPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgICAgICwgdHlwZW5hbWUgTGFzdAorICAgICAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiBGaXJzdCBpdGVyMDsKKyAgICAgICAgdHlwZWRlZiBTdGF0ZSBzdGF0ZTA7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3Asc3RhdGUwLGl0ZXIwID46OnR5cGUgc3RhdGUxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMD46OnR5cGUgaXRlcjE7CisgICAgICAgIAorCisgICAgICAgIHR5cGVkZWYgc3RhdGUxIHN0YXRlOworICAgICAgICB0eXBlZGVmIGl0ZXIxIGl0ZXJhdG9yOworICAgIH07CisKKyAgICAvLy8gRVRJIHdvcmthcm91bmQKKyAgICB0ZW1wbGF0ZTw+IHN0cnVjdCByZXN1bHRfPCBpbnQsaW50LGludCxpbnQgPgorICAgIHsKKyAgICAgICAgdHlwZWRlZiBpbnQgc3RhdGU7CisgICAgICAgIHR5cGVkZWYgaW50IGl0ZXJhdG9yOworICAgIH07CisKK307CisKK3RlbXBsYXRlPD4gc3RydWN0IGl0ZXJfZm9sZF9jaHVuazwyPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgICAgICwgdHlwZW5hbWUgTGFzdAorICAgICAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiBGaXJzdCBpdGVyMDsKKyAgICAgICAgdHlwZWRlZiBTdGF0ZSBzdGF0ZTA7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3Asc3RhdGUwLGl0ZXIwID46OnR5cGUgc3RhdGUxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMD46OnR5cGUgaXRlcjE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3Asc3RhdGUxLGl0ZXIxID46OnR5cGUgc3RhdGUyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMT46OnR5cGUgaXRlcjI7CisgICAgICAgIAorCisgICAgICAgIHR5cGVkZWYgc3RhdGUyIHN0YXRlOworICAgICAgICB0eXBlZGVmIGl0ZXIyIGl0ZXJhdG9yOworICAgIH07CisKKyAgICAvLy8gRVRJIHdvcmthcm91bmQKKyAgICB0ZW1wbGF0ZTw+IHN0cnVjdCByZXN1bHRfPCBpbnQsaW50LGludCxpbnQgPgorICAgIHsKKyAgICAgICAgdHlwZWRlZiBpbnQgc3RhdGU7CisgICAgICAgIHR5cGVkZWYgaW50IGl0ZXJhdG9yOworICAgIH07CisKK307CisKK3RlbXBsYXRlPD4gc3RydWN0IGl0ZXJfZm9sZF9jaHVuazwzPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgICAgICwgdHlwZW5hbWUgTGFzdAorICAgICAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiBGaXJzdCBpdGVyMDsKKyAgICAgICAgdHlwZWRlZiBTdGF0ZSBzdGF0ZTA7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3Asc3RhdGUwLGl0ZXIwID46OnR5cGUgc3RhdGUxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMD46OnR5cGUgaXRlcjE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3Asc3RhdGUxLGl0ZXIxID46OnR5cGUgc3RhdGUyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMT46OnR5cGUgaXRlcjI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3Asc3RhdGUyLGl0ZXIyID46OnR5cGUgc3RhdGUzOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMj46OnR5cGUgaXRlcjM7CisgICAgICAgIAorCisgICAgICAgIHR5cGVkZWYgc3RhdGUzIHN0YXRlOworICAgICAgICB0eXBlZGVmIGl0ZXIzIGl0ZXJhdG9yOworICAgIH07CisKKyAgICAvLy8gRVRJIHdvcmthcm91bmQKKyAgICB0ZW1wbGF0ZTw+IHN0cnVjdCByZXN1bHRfPCBpbnQsaW50LGludCxpbnQgPgorICAgIHsKKyAgICAgICAgdHlwZWRlZiBpbnQgc3RhdGU7CisgICAgICAgIHR5cGVkZWYgaW50IGl0ZXJhdG9yOworICAgIH07CisKK307CisKK3RlbXBsYXRlPD4gc3RydWN0IGl0ZXJfZm9sZF9jaHVuazw0PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgICAgICwgdHlwZW5hbWUgTGFzdAorICAgICAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiBGaXJzdCBpdGVyMDsKKyAgICAgICAgdHlwZWRlZiBTdGF0ZSBzdGF0ZTA7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3Asc3RhdGUwLGl0ZXIwID46OnR5cGUgc3RhdGUxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMD46OnR5cGUgaXRlcjE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3Asc3RhdGUxLGl0ZXIxID46OnR5cGUgc3RhdGUyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMT46OnR5cGUgaXRlcjI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3Asc3RhdGUyLGl0ZXIyID46OnR5cGUgc3RhdGUzOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMj46OnR5cGUgaXRlcjM7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3Asc3RhdGUzLGl0ZXIzID46OnR5cGUgc3RhdGU0OworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMz46OnR5cGUgaXRlcjQ7CisgICAgICAgIAorCisgICAgICAgIHR5cGVkZWYgc3RhdGU0IHN0YXRlOworICAgICAgICB0eXBlZGVmIGl0ZXI0IGl0ZXJhdG9yOworICAgIH07CisKKyAgICAvLy8gRVRJIHdvcmthcm91bmQKKyAgICB0ZW1wbGF0ZTw+IHN0cnVjdCByZXN1bHRfPCBpbnQsaW50LGludCxpbnQgPgorICAgIHsKKyAgICAgICAgdHlwZWRlZiBpbnQgc3RhdGU7CisgICAgICAgIHR5cGVkZWYgaW50IGl0ZXJhdG9yOworICAgIH07CisKK307CisKK3RlbXBsYXRlPCBpbnQgTiA+CitzdHJ1Y3QgaXRlcl9mb2xkX2NodW5rCit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIGl0ZXJfZm9sZF9pbXBsPAorICAgICAgICAgICAgICA0CisgICAgICAgICAgICAsIEZpcnN0CisgICAgICAgICAgICAsIExhc3QKKyAgICAgICAgICAgICwgU3RhdGUKKyAgICAgICAgICAgICwgRm9yd2FyZE9wCisgICAgICAgICAgICA+IGNodW5rXzsKKworICAgICAgICB0eXBlZGVmIGl0ZXJfZm9sZF9pbXBsPAorICAgICAgICAgICAgICAoIChOIC0gNCkgPCAwID8gMCA6IE4gLSA0ICkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgY2h1bmtfOjppdGVyYXRvcgorICAgICAgICAgICAgLCBMYXN0CisgICAgICAgICAgICAsIHR5cGVuYW1lIGNodW5rXzo6c3RhdGUKKyAgICAgICAgICAgICwgRm9yd2FyZE9wCisgICAgICAgICAgICA+IHJlc187CisKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByZXNfOjpzdGF0ZSBzdGF0ZTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByZXNfOjppdGVyYXRvciBpdGVyYXRvcjsKKyAgICB9OworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGaXJzdAorICAgICwgdHlwZW5hbWUgTGFzdAorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgID4KK3N0cnVjdCBpdGVyX2ZvbGRfc3RlcDsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBMYXN0CisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgID4KK3N0cnVjdCBpdGVyX2ZvbGRfbnVsbF9zdGVwCit7CisgICAgdHlwZWRlZiBMYXN0IGl0ZXJhdG9yOworICAgIHR5cGVkZWYgU3RhdGUgc3RhdGU7Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgaXRlcl9mb2xkX2NodW5rPCAtMSA+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGlmXzwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgaXNfc2FtZTwgRmlyc3QsTGFzdCA+Ojp0eXBlCisgICAgICAgICAgICAsIGl0ZXJfZm9sZF9udWxsX3N0ZXA8IExhc3QsU3RhdGUgPgorICAgICAgICAgICAgLCBpdGVyX2ZvbGRfc3RlcDwgRmlyc3QsTGFzdCxTdGF0ZSxGb3J3YXJkT3AgPgorICAgICAgICAgICAgPjo6dHlwZSByZXNfOworCisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcmVzXzo6c3RhdGUgc3RhdGU7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcmVzXzo6aXRlcmF0b3IgaXRlcmF0b3I7CisgICAgfTsKKworICAgIC8vLyBFVEkgd29ya2Fyb3VuZAorICAgIHRlbXBsYXRlPD4gc3RydWN0IHJlc3VsdF88IGludCxpbnQsaW50LGludCA+CisgICAgeworICAgICAgICB0eXBlZGVmIGludCBzdGF0ZTsKKyAgICAgICAgdHlwZWRlZiBpbnQgaXRlcmF0b3I7CisgICAgfTsKKworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGaXJzdAorICAgICwgdHlwZW5hbWUgTGFzdAorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgID4KK3N0cnVjdCBpdGVyX2ZvbGRfc3RlcAoreworICAgIHR5cGVkZWYgaXRlcl9mb2xkX2NodW5rPCAtMSA+Ojp0ZW1wbGF0ZSByZXN1bHRfPAorICAgICAgICAgIHR5cGVuYW1lIG1wbDo6bmV4dDxGaXJzdD46OnR5cGUKKyAgICAgICAgLCBMYXN0CisgICAgICAgICwgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsU3RhdGUsRmlyc3QgPjo6dHlwZQorICAgICAgICAsIEZvcndhcmRPcAorICAgICAgICA+IGNodW5rXzsKKworICAgIHR5cGVkZWYgdHlwZW5hbWUgY2h1bmtfOjpzdGF0ZSBzdGF0ZTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGNodW5rXzo6aXRlcmF0b3IgaXRlcmF0b3I7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIGludCBOCisgICAgLCB0eXBlbmFtZSBGaXJzdAorICAgICwgdHlwZW5hbWUgTGFzdAorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgID4KK3N0cnVjdCBpdGVyX2ZvbGRfaW1wbAorICAgIDogaXRlcl9mb2xkX2NodW5rPE4+CisgICAgICAgIDo6dGVtcGxhdGUgcmVzdWx0XzwgRmlyc3QsTGFzdCxTdGF0ZSxGb3J3YXJkT3AgPgoreworfTsKKworfX19CmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXN2YzYwL2xhbWJkYV9ub19jdHBzLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9tc3ZjNjAvbGFtYmRhX25vX2N0cHMuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjViZmM2NjEKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXN2YzYwL2xhbWJkYV9ub19jdHBzLmhwcApAQCAtMCwwICsxLDIyOSBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvYXV4Xy9sYW1iZGFfbm9fY3Rwcy5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPAorICAgICAgYm9vbCBDMSA9IGZhbHNlLCBib29sIEMyID0gZmFsc2UsIGJvb2wgQzMgPSBmYWxzZSwgYm9vbCBDNCA9IGZhbHNlCisgICAgLCBib29sIEM1ID0gZmFsc2UKKyAgICA+CitzdHJ1Y3QgbGFtYmRhX29yCisgICAgOiB0cnVlXworeworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGxhbWJkYV9vcjwgZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UgPgorICAgIDogZmFsc2VfCit7Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgQXJpdHkgPiBzdHJ1Y3QgbGFtYmRhX2ltcGwKK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVCwgdHlwZW5hbWUgVGFnLCB0eXBlbmFtZSBQcm90ZWN0ID4gc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgVCB0eXBlOworICAgICAgICB0eXBlZGVmIGlzX3BsYWNlaG9sZGVyPFQ+IGlzX2xlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCBsYW1iZGFfaW1wbDwgaW50XzwxPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIEYsIHR5cGVuYW1lIFRhZywgdHlwZW5hbWUgUHJvdGVjdCA+IHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIGxhbWJkYTwgdHlwZW5hbWUgRjo6YXJnMSwgVGFnLCBmYWxzZV8gPiBsMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBsMTo6aXNfbGUgaXNfbGUxOworICAgICAgICB0eXBlZGVmIGF1eDo6bGFtYmRhX29yPAorICAgICAgICAgICAgICBCT09TVF9NUExfQVVYX01TVkNfVkFMVUVfV0tORChpc19sZTEpOjp2YWx1ZQorICAgICAgICAgICAgPiBpc19sZTsKKworICAgICAgICB0eXBlZGVmIGJpbmQxPAorICAgICAgICAgICAgICB0eXBlbmFtZSBGOjpyZWJpbmQKKyAgICAgICAgICAgICwgdHlwZW5hbWUgbDE6OnR5cGUKKyAgICAgICAgICAgID4gYmluZF87CisKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBpZl88CisgICAgICAgICAgICAgIGlzX2xlCisgICAgICAgICAgICAsIGlmXzwgUHJvdGVjdCwgbXBsOjpwcm90ZWN0PGJpbmRfPiwgYmluZF8gPgorICAgICAgICAgICAgLCBpZGVudGl0eTxGPgorICAgICAgICAgICAgPjo6dHlwZSB0eXBlXzsKKworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHR5cGVfOjp0eXBlIHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4gc3RydWN0IGxhbWJkYV9pbXBsPCBpbnRfPDI+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVGFnLCB0eXBlbmFtZSBQcm90ZWN0ID4gc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgbGFtYmRhPCB0eXBlbmFtZSBGOjphcmcxLCBUYWcsIGZhbHNlXyA+IGwxOworICAgICAgICB0eXBlZGVmIGxhbWJkYTwgdHlwZW5hbWUgRjo6YXJnMiwgVGFnLCBmYWxzZV8gPiBsMjsKKyAgICAgICAgCisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbDE6OmlzX2xlIGlzX2xlMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBsMjo6aXNfbGUgaXNfbGUyOworICAgICAgICAKKworICAgICAgICB0eXBlZGVmIGF1eDo6bGFtYmRhX29yPAorICAgICAgICAgICAgICBCT09TVF9NUExfQVVYX01TVkNfVkFMVUVfV0tORChpc19sZTEpOjp2YWx1ZSwgQk9PU1RfTVBMX0FVWF9NU1ZDX1ZBTFVFX1dLTkQoaXNfbGUyKTo6dmFsdWUKKyAgICAgICAgICAgID4gaXNfbGU7CisKKyAgICAgICAgdHlwZWRlZiBiaW5kMjwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgRjo6cmViaW5kCisgICAgICAgICAgICAsIHR5cGVuYW1lIGwxOjp0eXBlLCB0eXBlbmFtZSBsMjo6dHlwZQorICAgICAgICAgICAgPiBiaW5kXzsKKworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGlmXzwKKyAgICAgICAgICAgICAgaXNfbGUKKyAgICAgICAgICAgICwgaWZfPCBQcm90ZWN0LCBtcGw6OnByb3RlY3Q8YmluZF8+LCBiaW5kXyA+CisgICAgICAgICAgICAsIGlkZW50aXR5PEY+CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGVfOworCisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgdHlwZV86OnR5cGUgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgbGFtYmRhX2ltcGw8IGludF88Mz4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUYWcsIHR5cGVuYW1lIFByb3RlY3QgPiBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiBsYW1iZGE8IHR5cGVuYW1lIEY6OmFyZzEsIFRhZywgZmFsc2VfID4gbDE7CisgICAgICAgIHR5cGVkZWYgbGFtYmRhPCB0eXBlbmFtZSBGOjphcmcyLCBUYWcsIGZhbHNlXyA+IGwyOworICAgICAgICB0eXBlZGVmIGxhbWJkYTwgdHlwZW5hbWUgRjo6YXJnMywgVGFnLCBmYWxzZV8gPiBsMzsKKyAgICAgICAgCisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbDE6OmlzX2xlIGlzX2xlMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBsMjo6aXNfbGUgaXNfbGUyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGwzOjppc19sZSBpc19sZTM7CisgICAgICAgIAorCisgICAgICAgIHR5cGVkZWYgYXV4OjpsYW1iZGFfb3I8CisgICAgICAgICAgICAgIEJPT1NUX01QTF9BVVhfTVNWQ19WQUxVRV9XS05EKGlzX2xlMSk6OnZhbHVlLCBCT09TVF9NUExfQVVYX01TVkNfVkFMVUVfV0tORChpc19sZTIpOjp2YWx1ZSwgQk9PU1RfTVBMX0FVWF9NU1ZDX1ZBTFVFX1dLTkQoaXNfbGUzKTo6dmFsdWUKKyAgICAgICAgICAgID4gaXNfbGU7CisKKyAgICAgICAgdHlwZWRlZiBiaW5kMzwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgRjo6cmViaW5kCisgICAgICAgICAgICAsIHR5cGVuYW1lIGwxOjp0eXBlLCB0eXBlbmFtZSBsMjo6dHlwZSwgdHlwZW5hbWUgbDM6OnR5cGUKKyAgICAgICAgICAgID4gYmluZF87CisKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBpZl88CisgICAgICAgICAgICAgIGlzX2xlCisgICAgICAgICAgICAsIGlmXzwgUHJvdGVjdCwgbXBsOjpwcm90ZWN0PGJpbmRfPiwgYmluZF8gPgorICAgICAgICAgICAgLCBpZGVudGl0eTxGPgorICAgICAgICAgICAgPjo6dHlwZSB0eXBlXzsKKworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHR5cGVfOjp0eXBlIHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4gc3RydWN0IGxhbWJkYV9pbXBsPCBpbnRfPDQ+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVGFnLCB0eXBlbmFtZSBQcm90ZWN0ID4gc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgbGFtYmRhPCB0eXBlbmFtZSBGOjphcmcxLCBUYWcsIGZhbHNlXyA+IGwxOworICAgICAgICB0eXBlZGVmIGxhbWJkYTwgdHlwZW5hbWUgRjo6YXJnMiwgVGFnLCBmYWxzZV8gPiBsMjsKKyAgICAgICAgdHlwZWRlZiBsYW1iZGE8IHR5cGVuYW1lIEY6OmFyZzMsIFRhZywgZmFsc2VfID4gbDM7CisgICAgICAgIHR5cGVkZWYgbGFtYmRhPCB0eXBlbmFtZSBGOjphcmc0LCBUYWcsIGZhbHNlXyA+IGw0OworICAgICAgICAKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBsMTo6aXNfbGUgaXNfbGUxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGwyOjppc19sZSBpc19sZTI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbDM6OmlzX2xlIGlzX2xlMzsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBsNDo6aXNfbGUgaXNfbGU0OworICAgICAgICAKKworICAgICAgICB0eXBlZGVmIGF1eDo6bGFtYmRhX29yPAorICAgICAgICAgICAgICBCT09TVF9NUExfQVVYX01TVkNfVkFMVUVfV0tORChpc19sZTEpOjp2YWx1ZSwgQk9PU1RfTVBMX0FVWF9NU1ZDX1ZBTFVFX1dLTkQoaXNfbGUyKTo6dmFsdWUsIEJPT1NUX01QTF9BVVhfTVNWQ19WQUxVRV9XS05EKGlzX2xlMyk6OnZhbHVlLCBCT09TVF9NUExfQVVYX01TVkNfVkFMVUVfV0tORChpc19sZTQpOjp2YWx1ZQorICAgICAgICAgICAgPiBpc19sZTsKKworICAgICAgICB0eXBlZGVmIGJpbmQ0PAorICAgICAgICAgICAgICB0eXBlbmFtZSBGOjpyZWJpbmQKKyAgICAgICAgICAgICwgdHlwZW5hbWUgbDE6OnR5cGUsIHR5cGVuYW1lIGwyOjp0eXBlLCB0eXBlbmFtZSBsMzo6dHlwZQorICAgICAgICAgICAgLCB0eXBlbmFtZSBsNDo6dHlwZQorICAgICAgICAgICAgPiBiaW5kXzsKKworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGlmXzwKKyAgICAgICAgICAgICAgaXNfbGUKKyAgICAgICAgICAgICwgaWZfPCBQcm90ZWN0LCBtcGw6OnByb3RlY3Q8YmluZF8+LCBiaW5kXyA+CisgICAgICAgICAgICAsIGlkZW50aXR5PEY+CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGVfOworCisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgdHlwZV86OnR5cGUgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgbGFtYmRhX2ltcGw8IGludF88NT4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUYWcsIHR5cGVuYW1lIFByb3RlY3QgPiBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiBsYW1iZGE8IHR5cGVuYW1lIEY6OmFyZzEsIFRhZywgZmFsc2VfID4gbDE7CisgICAgICAgIHR5cGVkZWYgbGFtYmRhPCB0eXBlbmFtZSBGOjphcmcyLCBUYWcsIGZhbHNlXyA+IGwyOworICAgICAgICB0eXBlZGVmIGxhbWJkYTwgdHlwZW5hbWUgRjo6YXJnMywgVGFnLCBmYWxzZV8gPiBsMzsKKyAgICAgICAgdHlwZWRlZiBsYW1iZGE8IHR5cGVuYW1lIEY6OmFyZzQsIFRhZywgZmFsc2VfID4gbDQ7CisgICAgICAgIHR5cGVkZWYgbGFtYmRhPCB0eXBlbmFtZSBGOjphcmc1LCBUYWcsIGZhbHNlXyA+IGw1OworICAgICAgICAKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBsMTo6aXNfbGUgaXNfbGUxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGwyOjppc19sZSBpc19sZTI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbDM6OmlzX2xlIGlzX2xlMzsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBsNDo6aXNfbGUgaXNfbGU0OworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGw1Ojppc19sZSBpc19sZTU7CisgICAgICAgIAorCisgICAgICAgIHR5cGVkZWYgYXV4OjpsYW1iZGFfb3I8CisgICAgICAgICAgICAgIEJPT1NUX01QTF9BVVhfTVNWQ19WQUxVRV9XS05EKGlzX2xlMSk6OnZhbHVlLCBCT09TVF9NUExfQVVYX01TVkNfVkFMVUVfV0tORChpc19sZTIpOjp2YWx1ZSwgQk9PU1RfTVBMX0FVWF9NU1ZDX1ZBTFVFX1dLTkQoaXNfbGUzKTo6dmFsdWUsIEJPT1NUX01QTF9BVVhfTVNWQ19WQUxVRV9XS05EKGlzX2xlNCk6OnZhbHVlLCBCT09TVF9NUExfQVVYX01TVkNfVkFMVUVfV0tORChpc19sZTUpOjp2YWx1ZQorICAgICAgICAgICAgPiBpc19sZTsKKworICAgICAgICB0eXBlZGVmIGJpbmQ1PAorICAgICAgICAgICAgICB0eXBlbmFtZSBGOjpyZWJpbmQKKyAgICAgICAgICAgICwgdHlwZW5hbWUgbDE6OnR5cGUsIHR5cGVuYW1lIGwyOjp0eXBlLCB0eXBlbmFtZSBsMzo6dHlwZQorICAgICAgICAgICAgLCB0eXBlbmFtZSBsNDo6dHlwZSwgdHlwZW5hbWUgbDU6OnR5cGUKKyAgICAgICAgICAgID4gYmluZF87CisKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBpZl88CisgICAgICAgICAgICAgIGlzX2xlCisgICAgICAgICAgICAsIGlmXzwgUHJvdGVjdCwgbXBsOjpwcm90ZWN0PGJpbmRfPiwgYmluZF8gPgorICAgICAgICAgICAgLCBpZGVudGl0eTxGPgorICAgICAgICAgICAgPjo6dHlwZSB0eXBlXzsKKworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHR5cGVfOjp0eXBlIHR5cGU7CisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQKKyAgICAsIHR5cGVuYW1lIFRhZworICAgICwgdHlwZW5hbWUgUHJvdGVjdAorICAgID4KK3N0cnVjdCBsYW1iZGEKK3sKKyAgICAvLy8gTWV0YWZ1bmN0aW9uIGZvcndhcmRpbmcgY29uZnVzZXMgTVNWQyA2LngKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGF1eDo6dGVtcGxhdGVfYXJpdHk8VD46OnR5cGUgYXJpdHlfOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXV4OjpsYW1iZGFfaW1wbDxhcml0eV8+CisgICAgICAgIDo6dGVtcGxhdGUgcmVzdWx0XzwgVCxUYWcsUHJvdGVjdCA+IGxfOworCisgICAgdHlwZWRlZiB0eXBlbmFtZSBsXzo6dHlwZSB0eXBlOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbF86OmlzX2xlIGlzX2xlOworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoMywgbGFtYmRhLCAoVCwgVGFnLCBQcm90ZWN0KSkKK307CisKK0JPT1NUX01QTF9BVVhfTkFfU1BFQzIoMSwgMywgbGFtYmRhKQorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQKKyAgICA+CitzdHJ1Y3QgaXNfbGFtYmRhX2V4cHJlc3Npb24KKyAgICA6IGxhbWJkYTxUPjo6aXNfbGUKK3sKK307CisKK319CisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9tc3ZjNjAvbGVzcy5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXN2YzYwL2xlc3MuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ5ZjczYTQKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXN2YzYwL2xlc3MuaHBwCkBAIC0wLDAgKzEsMTAyIEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9sZXNzLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFRhZzEKKyAgICAsIHR5cGVuYW1lIFRhZzIKKworICAgICwgQk9PU1RfTVBMX0FVWF9OVFRQX0RFQ0woaW50LCB0YWcxXykgID0gQk9PU1RfTVBMX0FVWF9NU1ZDX1ZBTFVFX1dLTkQoVGFnMSk6OnZhbHVlCisgICAgLCBCT09TVF9NUExfQVVYX05UVFBfREVDTChpbnQsIHRhZzJfKSAgPSBCT09TVF9NUExfQVVYX01TVkNfVkFMVUVfV0tORChUYWcyKTo6dmFsdWUKKyAgICA+CitzdHJ1Y3QgbGVzc19pbXBsCisgICAgOiBpZl9jPAorICAgICAgICAgICggdGFnMV8gPiB0YWcyXyApCisgICAgICAgICwgYXV4OjpjYXN0Mm5kX2ltcGw8IGxlc3NfaW1wbDwgVGFnMSxUYWcxID4sVGFnMSwgVGFnMiA+CisgICAgICAgICwgYXV4OjpjYXN0MXN0X2ltcGw8IGxlc3NfaW1wbDwgVGFnMixUYWcyID4sVGFnMSwgVGFnMiA+CisgICAgICAgID46OnR5cGUKK3sKK307CisKKy8vLyBmb3IgRGlnaXRhbCBNYXJzIEMrKy9jb21waWxlcnMgd2l0aCBubyBDVFBTL1RUUCBzdXBwb3J0Cit0ZW1wbGF0ZTw+IHN0cnVjdCBsZXNzX2ltcGw8IG5hLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCBsZXNzX2ltcGw8IG5hLGludGVncmFsX2NfdGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCBsZXNzX2ltcGw8IGludGVncmFsX2NfdGFnLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVCA+IHN0cnVjdCBsZXNzX3RhZworeworICAgIHR5cGVkZWYgdHlwZW5hbWUgVDo6dGFnIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjEpCisgICAgLCB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4yKQorICAgID4KK3N0cnVjdCBsZXNzCisgICAgOiBhdXg6Om1zdmNfZXRpX2Jhc2U8IHR5cGVuYW1lIGFwcGx5X3dyYXAyPAorICAgICAgICAgIGxlc3NfaW1wbDwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgbGVzc190YWc8TjE+Ojp0eXBlCisgICAgICAgICAgICAsIHR5cGVuYW1lIGxlc3NfdGFnPE4yPjo6dHlwZQorICAgICAgICAgICAgPgorICAgICAgICAsIE4xCisgICAgICAgICwgTjIKKyAgICAgICAgPjo6dHlwZSA+Ojp0eXBlCisKK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKDIsIGxlc3MsIChOMSwgTjIpKQorCit9OworCitCT09TVF9NUExfQVVYX05BX1NQRUMyKDIsIDIsIGxlc3MpCisKK319CisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgbGVzc19pbXBsPCBpbnRlZ3JhbF9jX3RhZyxpbnRlZ3JhbF9jX3RhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIE4xLCB0eXBlbmFtZSBOMiA+IHN0cnVjdCBhcHBseQorCisgICAgeworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoYm9vbCwgdmFsdWUgPQorICAgICAgICAgICAgICggQk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4yKTo6dmFsdWUgPgorICAgICAgICAgICAgIEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChOMSk6OnZhbHVlICkKKyAgICAgICAgICAgICk7CisgICAgICAgIHR5cGVkZWYgYm9vbF88dmFsdWU+IHR5cGU7CisgICAgfTsKK307CisKK319CmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXN2YzYwL2xlc3NfZXF1YWwuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL21zdmM2MC9sZXNzX2VxdWFsLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMjAzZmJlCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL21zdmM2MC9sZXNzX2VxdWFsLmhwcApAQCAtMCwwICsxLDEwMiBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvbGVzc19lcXVhbC5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUYWcxCisgICAgLCB0eXBlbmFtZSBUYWcyCisKKyAgICAsIEJPT1NUX01QTF9BVVhfTlRUUF9ERUNMKGludCwgdGFnMV8pICA9IEJPT1NUX01QTF9BVVhfTVNWQ19WQUxVRV9XS05EKFRhZzEpOjp2YWx1ZQorICAgICwgQk9PU1RfTVBMX0FVWF9OVFRQX0RFQ0woaW50LCB0YWcyXykgID0gQk9PU1RfTVBMX0FVWF9NU1ZDX1ZBTFVFX1dLTkQoVGFnMik6OnZhbHVlCisgICAgPgorc3RydWN0IGxlc3NfZXF1YWxfaW1wbAorICAgIDogaWZfYzwKKyAgICAgICAgICAoIHRhZzFfID4gdGFnMl8gKQorICAgICAgICAsIGF1eDo6Y2FzdDJuZF9pbXBsPCBsZXNzX2VxdWFsX2ltcGw8IFRhZzEsVGFnMSA+LFRhZzEsIFRhZzIgPgorICAgICAgICAsIGF1eDo6Y2FzdDFzdF9pbXBsPCBsZXNzX2VxdWFsX2ltcGw8IFRhZzIsVGFnMiA+LFRhZzEsIFRhZzIgPgorICAgICAgICA+Ojp0eXBlCit7Cit9OworCisvLy8gZm9yIERpZ2l0YWwgTWFycyBDKysvY29tcGlsZXJzIHdpdGggbm8gQ1RQUy9UVFAgc3VwcG9ydAordGVtcGxhdGU8PiBzdHJ1Y3QgbGVzc19lcXVhbF9pbXBsPCBuYSxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgbGVzc19lcXVhbF9pbXBsPCBuYSxpbnRlZ3JhbF9jX3RhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgbGVzc19lcXVhbF9pbXBsPCBpbnRlZ3JhbF9jX3RhZyxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFQgPiBzdHJ1Y3QgbGVzc19lcXVhbF90YWcKK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIFQ6OnRhZyB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4xKQorICAgICwgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMikKKyAgICA+CitzdHJ1Y3QgbGVzc19lcXVhbAorICAgIDogYXV4Ojptc3ZjX2V0aV9iYXNlPCB0eXBlbmFtZSBhcHBseV93cmFwMjwKKyAgICAgICAgICBsZXNzX2VxdWFsX2ltcGw8CisgICAgICAgICAgICAgIHR5cGVuYW1lIGxlc3NfZXF1YWxfdGFnPE4xPjo6dHlwZQorICAgICAgICAgICAgLCB0eXBlbmFtZSBsZXNzX2VxdWFsX3RhZzxOMj46OnR5cGUKKyAgICAgICAgICAgID4KKyAgICAgICAgLCBOMQorICAgICAgICAsIE4yCisgICAgICAgID46OnR5cGUgPjo6dHlwZQorCit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgyLCBsZXNzX2VxdWFsLCAoTjEsIE4yKSkKKworfTsKKworQk9PU1RfTVBMX0FVWF9OQV9TUEVDMigyLCAyLCBsZXNzX2VxdWFsKQorCit9fQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8Pgorc3RydWN0IGxlc3NfZXF1YWxfaW1wbDwgaW50ZWdyYWxfY190YWcsaW50ZWdyYWxfY190YWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBOMSwgdHlwZW5hbWUgTjIgPiBzdHJ1Y3QgYXBwbHkKKworICAgIHsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGJvb2wsIHZhbHVlID0KKyAgICAgICAgICAgICAoIEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChOMSk6OnZhbHVlIDw9CisgICAgICAgICAgICAgQk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4yKTo6dmFsdWUgKQorICAgICAgICAgICAgKTsKKyAgICAgICAgdHlwZWRlZiBib29sXzx2YWx1ZT4gdHlwZTsKKyAgICB9OworfTsKKworfX0KZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9tc3ZjNjAvbGlzdC5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXN2YzYwL2xpc3QuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYzMDYyZDIKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXN2YzYwL2xpc3QuaHBwCkBAIC0wLDAgKzEsNTU2IEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9saXN0LmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCituYW1lc3BhY2UgYXV4IHsKK3RlbXBsYXRlPCBpbnQgTiA+CitzdHJ1Y3QgbGlzdF9jaG9vc2VyOworCit9CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgbGlzdF9jaG9vc2VyPDA+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgbGlzdDA8CisgICAgICAgICAgICAgCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgbGlzdF9jaG9vc2VyPDE+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDE8CisgICAgICAgICAgICAgIFQwCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgbGlzdF9jaG9vc2VyPDI+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDI8CisgICAgICAgICAgICAgIFQwLCBUMQorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IGxpc3RfY2hvb3NlcjwzPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3QzPAorICAgICAgICAgICAgICBUMCwgVDEsIFQyCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgbGlzdF9jaG9vc2VyPDQ+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDQ8CisgICAgICAgICAgICAgIFQwLCBUMSwgVDIsIFQzCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgbGlzdF9jaG9vc2VyPDU+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDU8CisgICAgICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNAorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IGxpc3RfY2hvb3Nlcjw2PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3Q2PAorICAgICAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgbGlzdF9jaG9vc2VyPDc+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDc8CisgICAgICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgbGlzdF9jaG9vc2VyPDg+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDg8CisgICAgICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNworICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IGxpc3RfY2hvb3Nlcjw5PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3Q5PAorICAgICAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgbGlzdF9jaG9vc2VyPDEwPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3QxMDwKKyAgICAgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDkKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBsaXN0X2Nob29zZXI8MTE+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDExPAorICAgICAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgbGlzdF9jaG9vc2VyPDEyPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3QxMjwKKyAgICAgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgbGlzdF9jaG9vc2VyPDEzPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3QxMzwKKyAgICAgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBsaXN0X2Nob29zZXI8MTQ+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDE0PAorICAgICAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgbGlzdF9jaG9vc2VyPDE1PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3QxNTwKKyAgICAgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgbGlzdF9jaG9vc2VyPDE2PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3QxNjwKKyAgICAgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0LCBUMTUKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBsaXN0X2Nob29zZXI8MTc+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDE3PAorICAgICAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQsIFQxNSwgVDE2CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgbGlzdF9jaG9vc2VyPDE4PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3QxODwKKyAgICAgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0LCBUMTUsIFQxNiwgVDE3CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgbGlzdF9jaG9vc2VyPDE5PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3QxOTwKKyAgICAgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0LCBUMTUsIFQxNiwgVDE3LCBUMTgKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBsaXN0X2Nob29zZXI8MjA+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDIwPAorICAgICAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQsIFQxNSwgVDE2LCBUMTcsIFQxOCwgVDE5CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVCA+CitzdHJ1Y3QgaXNfbGlzdF9hcmcKK3sKKyAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoYm9vbCwgdmFsdWUgID0gdHJ1ZSk7Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgaXNfbGlzdF9hcmc8bmE+Cit7CisgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGJvb2wsIHZhbHVlICA9IGZhbHNlKTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQsIHR5cGVuYW1lIFQ1CisgICAgLCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOSwgdHlwZW5hbWUgVDEwCisgICAgLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQsIHR5cGVuYW1lIFQxNQorICAgICwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5LCB0eXBlbmFtZSBUMjAKKyAgICA+CitzdHJ1Y3QgbGlzdF9jb3VudF9hcmdzCit7CisgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgPQorICAgICAgICAgIGlzX2xpc3RfYXJnPFQxPjo6dmFsdWUgKyBpc19saXN0X2FyZzxUMj46OnZhbHVlIAorICAgICAgICArIGlzX2xpc3RfYXJnPFQzPjo6dmFsdWUgKyBpc19saXN0X2FyZzxUND46OnZhbHVlIAorICAgICAgICArIGlzX2xpc3RfYXJnPFQ1Pjo6dmFsdWUgKyBpc19saXN0X2FyZzxUNj46OnZhbHVlIAorICAgICAgICArIGlzX2xpc3RfYXJnPFQ3Pjo6dmFsdWUgKyBpc19saXN0X2FyZzxUOD46OnZhbHVlIAorICAgICAgICArIGlzX2xpc3RfYXJnPFQ5Pjo6dmFsdWUgKyBpc19saXN0X2FyZzxUMTA+Ojp2YWx1ZSAKKyAgICAgICAgKyBpc19saXN0X2FyZzxUMTE+Ojp2YWx1ZSArIGlzX2xpc3RfYXJnPFQxMj46OnZhbHVlIAorICAgICAgICArIGlzX2xpc3RfYXJnPFQxMz46OnZhbHVlICsgaXNfbGlzdF9hcmc8VDE0Pjo6dmFsdWUgCisgICAgICAgICsgaXNfbGlzdF9hcmc8VDE1Pjo6dmFsdWUgKyBpc19saXN0X2FyZzxUMTY+Ojp2YWx1ZSAKKyAgICAgICAgKyBpc19saXN0X2FyZzxUMTc+Ojp2YWx1ZSArIGlzX2xpc3RfYXJnPFQxOD46OnZhbHVlIAorICAgICAgICArIGlzX2xpc3RfYXJnPFQxOT46OnZhbHVlICsgaXNfbGlzdF9hcmc8VDIwPjo6dmFsdWUKKyAgICAgICAgKTsKKworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgPgorc3RydWN0IGxpc3RfaW1wbAoreworICAgIHR5cGVkZWYgYXV4OjpsaXN0X2NvdW50X2FyZ3M8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0LCBUMTUsIFQxNiwgVDE3LCBUMTgsIFQxOQorICAgICAgICA+IGFyZ19udW1fOworCisgICAgdHlwZWRlZiB0eXBlbmFtZSBhdXg6Omxpc3RfY2hvb3NlcjwgYXJnX251bV86OnZhbHVlID4KKyAgICAgICAgOjp0ZW1wbGF0ZSByZXN1bHRfPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMsVDE0LFQxNSxUMTYsVDE3LFQxOCxUMTkgPjo6dHlwZSB0eXBlOworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAgPSBuYSwgdHlwZW5hbWUgVDEgPSBuYSwgdHlwZW5hbWUgVDIgPSBuYSwgdHlwZW5hbWUgVDMgPSBuYQorICAgICwgdHlwZW5hbWUgVDQgPSBuYSwgdHlwZW5hbWUgVDUgPSBuYSwgdHlwZW5hbWUgVDYgPSBuYSwgdHlwZW5hbWUgVDcgPSBuYQorICAgICwgdHlwZW5hbWUgVDggPSBuYSwgdHlwZW5hbWUgVDkgPSBuYSwgdHlwZW5hbWUgVDEwID0gbmEsIHR5cGVuYW1lIFQxMSA9IG5hCisgICAgLCB0eXBlbmFtZSBUMTIgPSBuYSwgdHlwZW5hbWUgVDEzID0gbmEsIHR5cGVuYW1lIFQxNCA9IG5hCisgICAgLCB0eXBlbmFtZSBUMTUgPSBuYSwgdHlwZW5hbWUgVDE2ID0gbmEsIHR5cGVuYW1lIFQxNyA9IG5hCisgICAgLCB0eXBlbmFtZSBUMTggPSBuYSwgdHlwZW5hbWUgVDE5ID0gbmEKKyAgICA+CitzdHJ1Y3QgbGlzdAorICAgIDogYXV4OjpsaXN0X2ltcGw8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0LCBUMTUsIFQxNiwgVDE3LCBUMTgsIFQxOQorICAgICAgICA+Ojp0eXBlCit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhdXg6Omxpc3RfaW1wbDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQsIFQxNSwgVDE2LCBUMTcsIFQxOCwgVDE5CisgICAgICAgID46OnR5cGUgdHlwZTsKK307CisKK319CisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9tc3ZjNjAvbGlzdF9jLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9tc3ZjNjAvbGlzdF9jLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMTBmOTJlCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL21zdmM2MC9saXN0X2MuaHBwCkBAIC0wLDAgKzEsNTM0IEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9saXN0X2MuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK25hbWVzcGFjZSBhdXggewordGVtcGxhdGU8IGludCBOID4KK3N0cnVjdCBsaXN0X2NfY2hvb3NlcjsKKworfQorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IGxpc3RfY19jaG9vc2VyPDA+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1LCBsb25nIEMxNiwgbG9uZyBDMTcsIGxvbmcgQzE4LCBsb25nIEMxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDBfYzwKKyAgICAgICAgICAgICAgVAorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IGxpc3RfY19jaG9vc2VyPDE+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1LCBsb25nIEMxNiwgbG9uZyBDMTcsIGxvbmcgQzE4LCBsb25nIEMxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDFfYzwKKyAgICAgICAgICAgICAgVCwgQzAKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBsaXN0X2NfY2hvb3NlcjwyPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNSwgbG9uZyBDMTYsIGxvbmcgQzE3LCBsb25nIEMxOCwgbG9uZyBDMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3QyX2M8CisgICAgICAgICAgICAgIFQsIEMwLCBDMQorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IGxpc3RfY19jaG9vc2VyPDM+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1LCBsb25nIEMxNiwgbG9uZyBDMTcsIGxvbmcgQzE4LCBsb25nIEMxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDNfYzwKKyAgICAgICAgICAgICAgVCwgQzAsIEMxLCBDMgorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IGxpc3RfY19jaG9vc2VyPDQ+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1LCBsb25nIEMxNiwgbG9uZyBDMTcsIGxvbmcgQzE4LCBsb25nIEMxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDRfYzwKKyAgICAgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBsaXN0X2NfY2hvb3Nlcjw1PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNSwgbG9uZyBDMTYsIGxvbmcgQzE3LCBsb25nIEMxOCwgbG9uZyBDMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3Q1X2M8CisgICAgICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNAorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IGxpc3RfY19jaG9vc2VyPDY+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1LCBsb25nIEMxNiwgbG9uZyBDMTcsIGxvbmcgQzE4LCBsb25nIEMxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDZfYzwKKyAgICAgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNQorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IGxpc3RfY19jaG9vc2VyPDc+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1LCBsb25nIEMxNiwgbG9uZyBDMTcsIGxvbmcgQzE4LCBsb25nIEMxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDdfYzwKKyAgICAgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBsaXN0X2NfY2hvb3Nlcjw4PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNSwgbG9uZyBDMTYsIGxvbmcgQzE3LCBsb25nIEMxOCwgbG9uZyBDMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3Q4X2M8CisgICAgICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNworICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IGxpc3RfY19jaG9vc2VyPDk+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1LCBsb25nIEMxNiwgbG9uZyBDMTcsIGxvbmcgQzE4LCBsb25nIEMxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDlfYzwKKyAgICAgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOAorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IGxpc3RfY19jaG9vc2VyPDEwPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNSwgbG9uZyBDMTYsIGxvbmcgQzE3LCBsb25nIEMxOCwgbG9uZyBDMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3QxMF9jPAorICAgICAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOQorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IGxpc3RfY19jaG9vc2VyPDExPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNSwgbG9uZyBDMTYsIGxvbmcgQzE3LCBsb25nIEMxOCwgbG9uZyBDMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3QxMV9jPAorICAgICAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgbGlzdF9jX2Nob29zZXI8MTI+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1LCBsb25nIEMxNiwgbG9uZyBDMTcsIGxvbmcgQzE4LCBsb25nIEMxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDEyX2M8CisgICAgICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMQorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IGxpc3RfY19jaG9vc2VyPDEzPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNSwgbG9uZyBDMTYsIGxvbmcgQzE3LCBsb25nIEMxOCwgbG9uZyBDMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3QxM19jPAorICAgICAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIEMxMgorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IGxpc3RfY19jaG9vc2VyPDE0PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNSwgbG9uZyBDMTYsIGxvbmcgQzE3LCBsb25nIEMxOCwgbG9uZyBDMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3QxNF9jPAorICAgICAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIEMxMiwgQzEzCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgbGlzdF9jX2Nob29zZXI8MTU+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1LCBsb25nIEMxNiwgbG9uZyBDMTcsIGxvbmcgQzE4LCBsb25nIEMxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDE1X2M8CisgICAgICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMsIEMxNAorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IGxpc3RfY19jaG9vc2VyPDE2PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNSwgbG9uZyBDMTYsIGxvbmcgQzE3LCBsb25nIEMxOCwgbG9uZyBDMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3QxNl9jPAorICAgICAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIEMxMiwgQzEzLCBDMTQsIEMxNQorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IGxpc3RfY19jaG9vc2VyPDE3PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNSwgbG9uZyBDMTYsIGxvbmcgQzE3LCBsb25nIEMxOCwgbG9uZyBDMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3QxN19jPAorICAgICAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIEMxMiwgQzEzLCBDMTQsIEMxNSwgQzE2CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgbGlzdF9jX2Nob29zZXI8MTg+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1LCBsb25nIEMxNiwgbG9uZyBDMTcsIGxvbmcgQzE4LCBsb25nIEMxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDE4X2M8CisgICAgICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMsIEMxNCwgQzE1LCBDMTYsIEMxNworICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IGxpc3RfY19jaG9vc2VyPDE5PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNSwgbG9uZyBDMTYsIGxvbmcgQzE3LCBsb25nIEMxOCwgbG9uZyBDMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3QxOV9jPAorICAgICAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIEMxMiwgQzEzLCBDMTQsIEMxNSwgQzE2LCBDMTcsIEMxOAorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IGxpc3RfY19jaG9vc2VyPDIwPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNSwgbG9uZyBDMTYsIGxvbmcgQzE3LCBsb25nIEMxOCwgbG9uZyBDMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3QyMF9jPAorICAgICAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIEMxMiwgQzEzLCBDMTQsIEMxNSwgQzE2LCBDMTcsIEMxOCwgQzE5CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwgbG9uZyBDID4KK3N0cnVjdCBpc19saXN0X2NfYXJnCit7CisgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGJvb2wsIHZhbHVlICA9IHRydWUpOworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGlzX2xpc3RfY19hcmc8TE9OR19NQVg+Cit7CisgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGJvb2wsIHZhbHVlICA9IGZhbHNlKTsKK307CisKK3RlbXBsYXRlPAorICAgICAgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNSwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOAorICAgICwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMiwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNQorICAgICwgbG9uZyBDMTYsIGxvbmcgQzE3LCBsb25nIEMxOCwgbG9uZyBDMTksIGxvbmcgQzIwCisgICAgPgorc3RydWN0IGxpc3RfY19jb3VudF9hcmdzCit7CisgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgPQorICAgICAgICAgIGlzX2xpc3RfY19hcmc8QzE+Ojp2YWx1ZSArIGlzX2xpc3RfY19hcmc8QzI+Ojp2YWx1ZSAKKyAgICAgICAgKyBpc19saXN0X2NfYXJnPEMzPjo6dmFsdWUgKyBpc19saXN0X2NfYXJnPEM0Pjo6dmFsdWUgCisgICAgICAgICsgaXNfbGlzdF9jX2FyZzxDNT46OnZhbHVlICsgaXNfbGlzdF9jX2FyZzxDNj46OnZhbHVlIAorICAgICAgICArIGlzX2xpc3RfY19hcmc8Qzc+Ojp2YWx1ZSArIGlzX2xpc3RfY19hcmc8Qzg+Ojp2YWx1ZSAKKyAgICAgICAgKyBpc19saXN0X2NfYXJnPEM5Pjo6dmFsdWUgKyBpc19saXN0X2NfYXJnPEMxMD46OnZhbHVlIAorICAgICAgICArIGlzX2xpc3RfY19hcmc8QzExPjo6dmFsdWUgKyBpc19saXN0X2NfYXJnPEMxMj46OnZhbHVlIAorICAgICAgICArIGlzX2xpc3RfY19hcmc8QzEzPjo6dmFsdWUgKyBpc19saXN0X2NfYXJnPEMxND46OnZhbHVlIAorICAgICAgICArIGlzX2xpc3RfY19hcmc8QzE1Pjo6dmFsdWUgKyBpc19saXN0X2NfYXJnPEMxNj46OnZhbHVlIAorICAgICAgICArIGlzX2xpc3RfY19hcmc8QzE3Pjo6dmFsdWUgKyBpc19saXN0X2NfYXJnPEMxOD46OnZhbHVlIAorICAgICAgICArIGlzX2xpc3RfY19hcmc8QzE5Pjo6dmFsdWUgKyBpc19saXN0X2NfYXJnPEMyMD46OnZhbHVlCisgICAgICAgICk7CisKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNSwgbG9uZyBDMTYsIGxvbmcgQzE3LCBsb25nIEMxOCwgbG9uZyBDMTkKKyAgICA+CitzdHJ1Y3QgbGlzdF9jX2ltcGwKK3sKKyAgICB0eXBlZGVmIGF1eDo6bGlzdF9jX2NvdW50X2FyZ3M8CisgICAgICAgICAgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBDMTIsIEMxMywgQzE0LCBDMTUsIEMxNiwgQzE3LCBDMTgsIEMxOQorICAgICAgICA+IGFyZ19udW1fOworCisgICAgdHlwZWRlZiB0eXBlbmFtZSBhdXg6Omxpc3RfY19jaG9vc2VyPCBhcmdfbnVtXzo6dmFsdWUgPgorICAgICAgICA6OnRlbXBsYXRlIHJlc3VsdF88IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcsQzgsQzksQzEwLEMxMSxDMTIsQzEzLEMxNCxDMTUsQzE2LEMxNyxDMTgsQzE5ID46OnR5cGUgdHlwZTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAgPSBMT05HX01BWCwgbG9uZyBDMSA9IExPTkdfTUFYLCBsb25nIEMyID0gTE9OR19NQVgKKyAgICAsIGxvbmcgQzMgPSBMT05HX01BWCwgbG9uZyBDNCA9IExPTkdfTUFYLCBsb25nIEM1ID0gTE9OR19NQVgKKyAgICAsIGxvbmcgQzYgPSBMT05HX01BWCwgbG9uZyBDNyA9IExPTkdfTUFYLCBsb25nIEM4ID0gTE9OR19NQVgKKyAgICAsIGxvbmcgQzkgPSBMT05HX01BWCwgbG9uZyBDMTAgPSBMT05HX01BWCwgbG9uZyBDMTEgPSBMT05HX01BWAorICAgICwgbG9uZyBDMTIgPSBMT05HX01BWCwgbG9uZyBDMTMgPSBMT05HX01BWCwgbG9uZyBDMTQgPSBMT05HX01BWAorICAgICwgbG9uZyBDMTUgPSBMT05HX01BWCwgbG9uZyBDMTYgPSBMT05HX01BWCwgbG9uZyBDMTcgPSBMT05HX01BWAorICAgICwgbG9uZyBDMTggPSBMT05HX01BWCwgbG9uZyBDMTkgPSBMT05HX01BWAorICAgID4KK3N0cnVjdCBsaXN0X2MKKyAgICA6IGF1eDo6bGlzdF9jX2ltcGw8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBDMTIsIEMxMywgQzE0LCBDMTUsIEMxNiwgQzE3LCBDMTgsIEMxOQorICAgICAgICA+Ojp0eXBlCit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhdXg6Omxpc3RfY19pbXBsPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMsIEMxNCwgQzE1LCBDMTYsIEMxNywgQzE4LCBDMTkKKyAgICAgICAgPjo6dHlwZSB0eXBlOworfTsKKworfX0KKwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL21zdmM2MC9tYXAuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL21zdmM2MC9tYXAuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMwNjY2MDMKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXN2YzYwL21hcC5ocHAKQEAgLTAsMCArMSw1NTYgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL21hcC5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKworbmFtZXNwYWNlIGF1eCB7Cit0ZW1wbGF0ZTwgaW50IE4gPgorc3RydWN0IG1hcF9jaG9vc2VyOworCit9CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgbWFwX2Nob29zZXI8MD4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiBtYXAwPAorICAgICAgICAgICAgIAorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IG1hcF9jaG9vc2VyPDE+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbWFwMTwKKyAgICAgICAgICAgICAgVDAKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBtYXBfY2hvb3NlcjwyPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG1hcDI8CisgICAgICAgICAgICAgIFQwLCBUMQorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IG1hcF9jaG9vc2VyPDM+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbWFwMzwKKyAgICAgICAgICAgICAgVDAsIFQxLCBUMgorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IG1hcF9jaG9vc2VyPDQ+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbWFwNDwKKyAgICAgICAgICAgICAgVDAsIFQxLCBUMiwgVDMKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBtYXBfY2hvb3Nlcjw1PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG1hcDU8CisgICAgICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNAorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IG1hcF9jaG9vc2VyPDY+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbWFwNjwKKyAgICAgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNQorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IG1hcF9jaG9vc2VyPDc+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbWFwNzwKKyAgICAgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBtYXBfY2hvb3Nlcjw4PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG1hcDg8CisgICAgICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNworICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IG1hcF9jaG9vc2VyPDk+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbWFwOTwKKyAgICAgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOAorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IG1hcF9jaG9vc2VyPDEwPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG1hcDEwPAorICAgICAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOQorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IG1hcF9jaG9vc2VyPDExPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG1hcDExPAorICAgICAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgbWFwX2Nob29zZXI8MTI+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbWFwMTI8CisgICAgICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMQorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IG1hcF9jaG9vc2VyPDEzPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG1hcDEzPAorICAgICAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMgorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IG1hcF9jaG9vc2VyPDE0PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG1hcDE0PAorICAgICAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgbWFwX2Nob29zZXI8MTU+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbWFwMTU8CisgICAgICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IG1hcF9jaG9vc2VyPDE2PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG1hcDE2PAorICAgICAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQsIFQxNQorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IG1hcF9jaG9vc2VyPDE3PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG1hcDE3PAorICAgICAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQsIFQxNSwgVDE2CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgbWFwX2Nob29zZXI8MTg+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbWFwMTg8CisgICAgICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNCwgVDE1LCBUMTYsIFQxNworICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IG1hcF9jaG9vc2VyPDE5PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG1hcDE5PAorICAgICAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQsIFQxNSwgVDE2LCBUMTcsIFQxOAorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IG1hcF9jaG9vc2VyPDIwPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG1hcDIwPAorICAgICAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQsIFQxNSwgVDE2LCBUMTcsIFQxOCwgVDE5CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVCA+CitzdHJ1Y3QgaXNfbWFwX2FyZworeworICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChib29sLCB2YWx1ZSAgPSB0cnVlKTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBpc19tYXBfYXJnPG5hPgoreworICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChib29sLCB2YWx1ZSAgPSBmYWxzZSk7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0LCB0eXBlbmFtZSBUNQorICAgICwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDksIHR5cGVuYW1lIFQxMAorICAgICwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0LCB0eXBlbmFtZSBUMTUKKyAgICAsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOSwgdHlwZW5hbWUgVDIwCisgICAgPgorc3RydWN0IG1hcF9jb3VudF9hcmdzCit7CisgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgPQorICAgICAgICAgIGlzX21hcF9hcmc8VDE+Ojp2YWx1ZSArIGlzX21hcF9hcmc8VDI+Ojp2YWx1ZSAKKyAgICAgICAgKyBpc19tYXBfYXJnPFQzPjo6dmFsdWUgKyBpc19tYXBfYXJnPFQ0Pjo6dmFsdWUgCisgICAgICAgICsgaXNfbWFwX2FyZzxUNT46OnZhbHVlICsgaXNfbWFwX2FyZzxUNj46OnZhbHVlIAorICAgICAgICArIGlzX21hcF9hcmc8VDc+Ojp2YWx1ZSArIGlzX21hcF9hcmc8VDg+Ojp2YWx1ZSAKKyAgICAgICAgKyBpc19tYXBfYXJnPFQ5Pjo6dmFsdWUgKyBpc19tYXBfYXJnPFQxMD46OnZhbHVlIAorICAgICAgICArIGlzX21hcF9hcmc8VDExPjo6dmFsdWUgKyBpc19tYXBfYXJnPFQxMj46OnZhbHVlIAorICAgICAgICArIGlzX21hcF9hcmc8VDEzPjo6dmFsdWUgKyBpc19tYXBfYXJnPFQxND46OnZhbHVlIAorICAgICAgICArIGlzX21hcF9hcmc8VDE1Pjo6dmFsdWUgKyBpc19tYXBfYXJnPFQxNj46OnZhbHVlIAorICAgICAgICArIGlzX21hcF9hcmc8VDE3Pjo6dmFsdWUgKyBpc19tYXBfYXJnPFQxOD46OnZhbHVlIAorICAgICAgICArIGlzX21hcF9hcmc8VDE5Pjo6dmFsdWUgKyBpc19tYXBfYXJnPFQyMD46OnZhbHVlCisgICAgICAgICk7CisKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgID4KK3N0cnVjdCBtYXBfaW1wbAoreworICAgIHR5cGVkZWYgYXV4OjptYXBfY291bnRfYXJnczwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQsIFQxNSwgVDE2LCBUMTcsIFQxOCwgVDE5CisgICAgICAgID4gYXJnX251bV87CisKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGF1eDo6bWFwX2Nob29zZXI8IGFyZ19udW1fOjp2YWx1ZSA+CisgICAgICAgIDo6dGVtcGxhdGUgcmVzdWx0XzwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzLFQxNCxUMTUsVDE2LFQxNyxUMTgsVDE5ID46OnR5cGUgdHlwZTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwID0gbmEsIHR5cGVuYW1lIFQxID0gbmEsIHR5cGVuYW1lIFQyID0gbmEsIHR5cGVuYW1lIFQzID0gbmEKKyAgICAsIHR5cGVuYW1lIFQ0ID0gbmEsIHR5cGVuYW1lIFQ1ID0gbmEsIHR5cGVuYW1lIFQ2ID0gbmEsIHR5cGVuYW1lIFQ3ID0gbmEKKyAgICAsIHR5cGVuYW1lIFQ4ID0gbmEsIHR5cGVuYW1lIFQ5ID0gbmEsIHR5cGVuYW1lIFQxMCA9IG5hLCB0eXBlbmFtZSBUMTEgPSBuYQorICAgICwgdHlwZW5hbWUgVDEyID0gbmEsIHR5cGVuYW1lIFQxMyA9IG5hLCB0eXBlbmFtZSBUMTQgPSBuYQorICAgICwgdHlwZW5hbWUgVDE1ID0gbmEsIHR5cGVuYW1lIFQxNiA9IG5hLCB0eXBlbmFtZSBUMTcgPSBuYQorICAgICwgdHlwZW5hbWUgVDE4ID0gbmEsIHR5cGVuYW1lIFQxOSA9IG5hCisgICAgPgorc3RydWN0IG1hcAorICAgIDogYXV4OjptYXBfaW1wbDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQsIFQxNSwgVDE2LCBUMTcsIFQxOCwgVDE5CisgICAgICAgID46OnR5cGUKK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGF1eDo6bWFwX2ltcGw8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0LCBUMTUsIFQxNiwgVDE3LCBUMTgsIFQxOQorICAgICAgICA+Ojp0eXBlIHR5cGU7Cit9OworCit9fQorCmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXN2YzYwL21pbnVzLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9tc3ZjNjAvbWludXMuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRjNzBjNDQKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXN2YzYwL21pbnVzLmhwcApAQCAtMCwwICsxLDE0OCBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvbWludXMuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVGFnMQorICAgICwgdHlwZW5hbWUgVGFnMgorCisgICAgLCBCT09TVF9NUExfQVVYX05UVFBfREVDTChpbnQsIHRhZzFfKSAgPSBCT09TVF9NUExfQVVYX01TVkNfVkFMVUVfV0tORChUYWcxKTo6dmFsdWUKKyAgICAsIEJPT1NUX01QTF9BVVhfTlRUUF9ERUNMKGludCwgdGFnMl8pICA9IEJPT1NUX01QTF9BVVhfTVNWQ19WQUxVRV9XS05EKFRhZzIpOjp2YWx1ZQorICAgID4KK3N0cnVjdCBtaW51c19pbXBsCisgICAgOiBpZl9jPAorICAgICAgICAgICggdGFnMV8gPiB0YWcyXyApCisgICAgICAgICwgYXV4OjpjYXN0Mm5kX2ltcGw8IG1pbnVzX2ltcGw8IFRhZzEsVGFnMSA+LFRhZzEsIFRhZzIgPgorICAgICAgICAsIGF1eDo6Y2FzdDFzdF9pbXBsPCBtaW51c19pbXBsPCBUYWcyLFRhZzIgPixUYWcxLCBUYWcyID4KKyAgICAgICAgPjo6dHlwZQoreworfTsKKworLy8vIGZvciBEaWdpdGFsIE1hcnMgQysrL2NvbXBpbGVycyB3aXRoIG5vIENUUFMvVFRQIHN1cHBvcnQKK3RlbXBsYXRlPD4gc3RydWN0IG1pbnVzX2ltcGw8IG5hLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCBtaW51c19pbXBsPCBuYSxpbnRlZ3JhbF9jX3RhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgbWludXNfaW1wbDwgaW50ZWdyYWxfY190YWcsbmEgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUID4gc3RydWN0IG1pbnVzX3RhZworeworICAgIHR5cGVkZWYgdHlwZW5hbWUgVDo6dGFnIHR5cGU7Cit9OworCisvLy8gZm9yd2FyZCBkZWNsYXJhdGlvbgorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjEpCisgICAgLCB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4yKQorICAgID4KK3N0cnVjdCBtaW51czI7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMSkKKyAgICAsIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjIpCisgICAgLCB0eXBlbmFtZSBOMyA9IG5hLCB0eXBlbmFtZSBONCA9IG5hLCB0eXBlbmFtZSBONSA9IG5hCisgICAgPgorc3RydWN0IG1pbnVzCisKKyAgICA6IGlmXzwKKworICAgICAgICAgIGlzX25hPE4zPgorICAgICAgICAsIG1pbnVzMjwgTjEsTjIgPgorICAgICAgICAsIG1pbnVzPAorICAgICAgICAgICAgICBtaW51czI8IE4xLE4yID4KKyAgICAgICAgICAgICwgTjMsIE40LCBONQorICAgICAgICAgICAgPgorICAgICAgICA+Ojp0eXBlCisKK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKAorICAgICAgICAgIDUKKyAgICAgICAgLCBtaW51cworICAgICAgICAsICggTjEsIE4yLCBOMywgTjQsIE41ICkKKyAgICAgICAgKQorfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBOMQorICAgICwgdHlwZW5hbWUgTjIKKyAgICA+CitzdHJ1Y3QgbWludXMyCisgICAgOiBhdXg6Om1zdmNfZXRpX2Jhc2U8IHR5cGVuYW1lIGFwcGx5X3dyYXAyPAorICAgICAgICAgIG1pbnVzX2ltcGw8CisgICAgICAgICAgICAgIHR5cGVuYW1lIG1pbnVzX3RhZzxOMT46OnR5cGUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgbWludXNfdGFnPE4yPjo6dHlwZQorICAgICAgICAgICAgPgorICAgICAgICAsIE4xCisgICAgICAgICwgTjIKKyAgICAgICAgPjo6dHlwZSA+Ojp0eXBlCisKK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKDIsIG1pbnVzMiwgKE4xLCBOMikpCisKK307CisKK0JPT1NUX01QTF9BVVhfTkFfU1BFQzIoMiwgNSwgbWludXMpCisKK319CisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCituYW1lc3BhY2UgYXV4IHsKK3RlbXBsYXRlPCB0eXBlbmFtZSBULCBUIG4xLCBUIG4yID4KK3N0cnVjdCBtaW51c193a25kCit7CisgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKFQsIHZhbHVlICA9IChuMSAtIG4yKSk7CisgICAgdHlwZWRlZiBpbnRlZ3JhbF9jPCBULHZhbHVlID4gdHlwZTsKK307CisKK30KKwordGVtcGxhdGU8Pgorc3RydWN0IG1pbnVzX2ltcGw8IGludGVncmFsX2NfdGFnLGludGVncmFsX2NfdGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgTjEsIHR5cGVuYW1lIE4yID4gc3RydWN0IGFwcGx5CisgICAgICAgIDogYXV4OjptaW51c193a25kPAorICAgICAgICAgICAgICB0eXBlbmFtZSBhdXg6Omxhcmdlc3RfaW50PAorICAgICAgICAgICAgICAgICAgdHlwZW5hbWUgTjE6OnZhbHVlX3R5cGUKKyAgICAgICAgICAgICAgICAsIHR5cGVuYW1lIE4yOjp2YWx1ZV90eXBlCisgICAgICAgICAgICAgICAgPjo6dHlwZQorICAgICAgICAgICAgLCBOMTo6dmFsdWUKKyAgICAgICAgICAgICwgTjI6OnZhbHVlCisgICAgICAgICAgICA+Ojp0eXBlCisKKyAgICB7CisgICAgfTsKK307CisKK319CmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXN2YzYwL21vZHVsdXMuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL21zdmM2MC9tb2R1bHVzLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZThlZWY2Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL21zdmM2MC9tb2R1bHVzLmhwcApAQCAtMCwwICsxLDExNSBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvbW9kdWx1cy5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUYWcxCisgICAgLCB0eXBlbmFtZSBUYWcyCisKKyAgICAsIEJPT1NUX01QTF9BVVhfTlRUUF9ERUNMKGludCwgdGFnMV8pICA9IEJPT1NUX01QTF9BVVhfTVNWQ19WQUxVRV9XS05EKFRhZzEpOjp2YWx1ZQorICAgICwgQk9PU1RfTVBMX0FVWF9OVFRQX0RFQ0woaW50LCB0YWcyXykgID0gQk9PU1RfTVBMX0FVWF9NU1ZDX1ZBTFVFX1dLTkQoVGFnMik6OnZhbHVlCisgICAgPgorc3RydWN0IG1vZHVsdXNfaW1wbAorICAgIDogaWZfYzwKKyAgICAgICAgICAoIHRhZzFfID4gdGFnMl8gKQorICAgICAgICAsIGF1eDo6Y2FzdDJuZF9pbXBsPCBtb2R1bHVzX2ltcGw8IFRhZzEsVGFnMSA+LFRhZzEsIFRhZzIgPgorICAgICAgICAsIGF1eDo6Y2FzdDFzdF9pbXBsPCBtb2R1bHVzX2ltcGw8IFRhZzIsVGFnMiA+LFRhZzEsIFRhZzIgPgorICAgICAgICA+Ojp0eXBlCit7Cit9OworCisvLy8gZm9yIERpZ2l0YWwgTWFycyBDKysvY29tcGlsZXJzIHdpdGggbm8gQ1RQUy9UVFAgc3VwcG9ydAordGVtcGxhdGU8PiBzdHJ1Y3QgbW9kdWx1c19pbXBsPCBuYSxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgbW9kdWx1c19pbXBsPCBuYSxpbnRlZ3JhbF9jX3RhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgbW9kdWx1c19pbXBsPCBpbnRlZ3JhbF9jX3RhZyxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFQgPiBzdHJ1Y3QgbW9kdWx1c190YWcKK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIFQ6OnRhZyB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4xKQorICAgICwgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMikKKyAgICA+CitzdHJ1Y3QgbW9kdWx1cworICAgIDogYXV4Ojptc3ZjX2V0aV9iYXNlPCB0eXBlbmFtZSBhcHBseV93cmFwMjwKKyAgICAgICAgICBtb2R1bHVzX2ltcGw8CisgICAgICAgICAgICAgIHR5cGVuYW1lIG1vZHVsdXNfdGFnPE4xPjo6dHlwZQorICAgICAgICAgICAgLCB0eXBlbmFtZSBtb2R1bHVzX3RhZzxOMj46OnR5cGUKKyAgICAgICAgICAgID4KKyAgICAgICAgLCBOMQorICAgICAgICAsIE4yCisgICAgICAgID46OnR5cGUgPjo6dHlwZQorCit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgyLCBtb2R1bHVzLCAoTjEsIE4yKSkKKworfTsKKworQk9PU1RfTVBMX0FVWF9OQV9TUEVDMigyLCAyLCBtb2R1bHVzKQorCit9fQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKworbmFtZXNwYWNlIGF1eCB7Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgVCwgVCBuMSwgVCBuMiA+CitzdHJ1Y3QgbW9kdWx1c193a25kCit7CisgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKFQsIHZhbHVlICA9IChuMSAlIG4yKSk7CisgICAgdHlwZWRlZiBpbnRlZ3JhbF9jPCBULHZhbHVlID4gdHlwZTsKK307CisKK30KKwordGVtcGxhdGU8Pgorc3RydWN0IG1vZHVsdXNfaW1wbDwgaW50ZWdyYWxfY190YWcsaW50ZWdyYWxfY190YWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBOMSwgdHlwZW5hbWUgTjIgPiBzdHJ1Y3QgYXBwbHkKKyAgICAgICAgOiBhdXg6Om1vZHVsdXNfd2tuZDwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgYXV4OjpsYXJnZXN0X2ludDwKKyAgICAgICAgICAgICAgICAgIHR5cGVuYW1lIE4xOjp2YWx1ZV90eXBlCisgICAgICAgICAgICAgICAgLCB0eXBlbmFtZSBOMjo6dmFsdWVfdHlwZQorICAgICAgICAgICAgICAgID46OnR5cGUKKyAgICAgICAgICAgICwgTjE6OnZhbHVlCisgICAgICAgICAgICAsIE4yOjp2YWx1ZQorICAgICAgICAgICAgPjo6dHlwZQorCisgICAgeworICAgIH07Cit9OworCit9fQpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL21zdmM2MC9ub3RfZXF1YWxfdG8uaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL21zdmM2MC9ub3RfZXF1YWxfdG8uaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZhOGJiNzUKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXN2YzYwL25vdF9lcXVhbF90by5ocHAKQEAgLTAsMCArMSwxMDIgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL25vdF9lcXVhbF90by5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUYWcxCisgICAgLCB0eXBlbmFtZSBUYWcyCisKKyAgICAsIEJPT1NUX01QTF9BVVhfTlRUUF9ERUNMKGludCwgdGFnMV8pICA9IEJPT1NUX01QTF9BVVhfTVNWQ19WQUxVRV9XS05EKFRhZzEpOjp2YWx1ZQorICAgICwgQk9PU1RfTVBMX0FVWF9OVFRQX0RFQ0woaW50LCB0YWcyXykgID0gQk9PU1RfTVBMX0FVWF9NU1ZDX1ZBTFVFX1dLTkQoVGFnMik6OnZhbHVlCisgICAgPgorc3RydWN0IG5vdF9lcXVhbF90b19pbXBsCisgICAgOiBpZl9jPAorICAgICAgICAgICggdGFnMV8gPiB0YWcyXyApCisgICAgICAgICwgYXV4OjpjYXN0Mm5kX2ltcGw8IG5vdF9lcXVhbF90b19pbXBsPCBUYWcxLFRhZzEgPixUYWcxLCBUYWcyID4KKyAgICAgICAgLCBhdXg6OmNhc3Qxc3RfaW1wbDwgbm90X2VxdWFsX3RvX2ltcGw8IFRhZzIsVGFnMiA+LFRhZzEsIFRhZzIgPgorICAgICAgICA+Ojp0eXBlCit7Cit9OworCisvLy8gZm9yIERpZ2l0YWwgTWFycyBDKysvY29tcGlsZXJzIHdpdGggbm8gQ1RQUy9UVFAgc3VwcG9ydAordGVtcGxhdGU8PiBzdHJ1Y3Qgbm90X2VxdWFsX3RvX2ltcGw8IG5hLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCBub3RfZXF1YWxfdG9faW1wbDwgbmEsaW50ZWdyYWxfY190YWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4gc3RydWN0IG5vdF9lcXVhbF90b19pbXBsPCBpbnRlZ3JhbF9jX3RhZyxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFQgPiBzdHJ1Y3Qgbm90X2VxdWFsX3RvX3RhZworeworICAgIHR5cGVkZWYgdHlwZW5hbWUgVDo6dGFnIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjEpCisgICAgLCB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4yKQorICAgID4KK3N0cnVjdCBub3RfZXF1YWxfdG8KKyAgICA6IGF1eDo6bXN2Y19ldGlfYmFzZTwgdHlwZW5hbWUgYXBwbHlfd3JhcDI8CisgICAgICAgICAgbm90X2VxdWFsX3RvX2ltcGw8CisgICAgICAgICAgICAgIHR5cGVuYW1lIG5vdF9lcXVhbF90b190YWc8TjE+Ojp0eXBlCisgICAgICAgICAgICAsIHR5cGVuYW1lIG5vdF9lcXVhbF90b190YWc8TjI+Ojp0eXBlCisgICAgICAgICAgICA+CisgICAgICAgICwgTjEKKyAgICAgICAgLCBOMgorICAgICAgICA+Ojp0eXBlID46OnR5cGUKKworeworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoMiwgbm90X2VxdWFsX3RvLCAoTjEsIE4yKSkKKworfTsKKworQk9PU1RfTVBMX0FVWF9OQV9TUEVDMigyLCAyLCBub3RfZXF1YWxfdG8pCisKK319CisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3Qgbm90X2VxdWFsX3RvX2ltcGw8IGludGVncmFsX2NfdGFnLGludGVncmFsX2NfdGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgTjEsIHR5cGVuYW1lIE4yID4gc3RydWN0IGFwcGx5CisKKyAgICB7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChib29sLCB2YWx1ZSA9CisgICAgICAgICAgICAgKCBCT09TVF9NUExfQVVYX1ZBTFVFX1dLTkQoTjEpOjp2YWx1ZSAhPQorICAgICAgICAgICAgIEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChOMik6OnZhbHVlICkKKyAgICAgICAgICAgICk7CisgICAgICAgIHR5cGVkZWYgYm9vbF88dmFsdWU+IHR5cGU7CisgICAgfTsKK307CisKK319CmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXN2YzYwL29yLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9tc3ZjNjAvb3IuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIwYjNhN2YKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXN2YzYwL29yLmhwcApAQCAtMCwwICsxLDczIEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9vci5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKworbmFtZXNwYWNlIGF1eCB7Cit0ZW1wbGF0ZTwgYm9vbCBDXyA+IHN0cnVjdCBvcl9pbXBsCit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgICAgIDogdHJ1ZV8KKyAgICB7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4gc3RydWN0IG9yX2ltcGw8ZmFsc2U+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgICAgIDogb3JfaW1wbDwKKyAgICAgICAgICAgICAgQk9PU1RfTVBMX0FVWF9ORVNURURfVFlQRV9XS05EKFQxKTo6dmFsdWUKKyAgICAgICAgICAgID46OnRlbXBsYXRlIHJlc3VsdF88IFQyLFQzLFQ0LGZhbHNlXyA+CisgICAgeworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3Qgb3JfaW1wbDxmYWxzZT4KKyAgICA6OnJlc3VsdF88IGZhbHNlXyxmYWxzZV8sZmFsc2VfLGZhbHNlXyA+CisgICAgICAgIDogZmFsc2VfCit7Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKFQxKQorICAgICwgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShUMikKKyAgICAsIHR5cGVuYW1lIFQzID0gZmFsc2VfLCB0eXBlbmFtZSBUNCA9IGZhbHNlXywgdHlwZW5hbWUgVDUgPSBmYWxzZV8KKyAgICA+CitzdHJ1Y3Qgb3JfCisKKyAgICA6IGF1eDo6b3JfaW1wbDwKKyAgICAgICAgICBCT09TVF9NUExfQVVYX05FU1RFRF9UWVBFX1dLTkQoVDEpOjp2YWx1ZQorICAgICAgICA+Ojp0ZW1wbGF0ZSByZXN1bHRfPCBUMixUMyxUNCxUNSA+CisKK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKAorICAgICAgICAgIDUKKyAgICAgICAgLCBvcl8KKyAgICAgICAgLCAoIFQxLCBUMiwgVDMsIFQ0LCBUNSkKKyAgICAgICAgKQorfTsKKworQk9PU1RfTVBMX0FVWF9OQV9TUEVDMigKKyAgICAgIDIKKyAgICAsIDUKKyAgICAsIG9yXworICAgICkKKworfX0KZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9tc3ZjNjAvcGxhY2Vob2xkZXJzLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9tc3ZjNjAvcGxhY2Vob2xkZXJzLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lY2Q0NTE0Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL21zdmM2MC9wbGFjZWhvbGRlcnMuaHBwCkBAIC0wLDAgKzEsMTA1IEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDEtMjAwNAorLy8gQ29weXJpZ2h0IFBldGVyIERpbW92IDIwMDEtMjAwMworLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9wbGFjZWhvbGRlcnMuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworQk9PU1RfTVBMX0FVWF9BRExfQkFSUklFUl9OQU1FU1BBQ0VfT1BFTgordHlwZWRlZiBhcmc8IC0xID4gXzsKK0JPT1NUX01QTF9BVVhfQURMX0JBUlJJRVJfTkFNRVNQQUNFX0NMT1NFCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKworQk9PU1RfTVBMX0FVWF9BUkdfQURMX0JBUlJJRVJfREVDTChfKQorCituYW1lc3BhY2UgcGxhY2Vob2xkZXJzIHsKK3VzaW5nIEJPT1NUX01QTF9BVVhfQURMX0JBUlJJRVJfTkFNRVNQQUNFOjpfOworfQorCit9fQorCisvLy8gYWd1cnQsIDE3L21hci8wMjogb25lIG1vcmUgcGxhY2Vob2xkZXIgZm9yIHRoZSBsYXN0ICdhcHBseSMnIAorLy8vIHNwZWNpYWxpemF0aW9uCitCT09TVF9NUExfQVVYX0FETF9CQVJSSUVSX05BTUVTUEFDRV9PUEVOCit0eXBlZGVmIGFyZzwxPiBfMTsKKworQk9PU1RfTVBMX0FVWF9BRExfQkFSUklFUl9OQU1FU1BBQ0VfQ0xPU0UKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCitCT09TVF9NUExfQVVYX0FSR19BRExfQkFSUklFUl9ERUNMKF8xKQorCituYW1lc3BhY2UgcGxhY2Vob2xkZXJzIHsKK3VzaW5nIEJPT1NUX01QTF9BVVhfQURMX0JBUlJJRVJfTkFNRVNQQUNFOjpfMTsKK30KKworfX0KK0JPT1NUX01QTF9BVVhfQURMX0JBUlJJRVJfTkFNRVNQQUNFX09QRU4KK3R5cGVkZWYgYXJnPDI+IF8yOworCitCT09TVF9NUExfQVVYX0FETF9CQVJSSUVSX05BTUVTUEFDRV9DTE9TRQorbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK0JPT1NUX01QTF9BVVhfQVJHX0FETF9CQVJSSUVSX0RFQ0woXzIpCisKK25hbWVzcGFjZSBwbGFjZWhvbGRlcnMgewordXNpbmcgQk9PU1RfTVBMX0FVWF9BRExfQkFSUklFUl9OQU1FU1BBQ0U6Ol8yOworfQorCit9fQorQk9PU1RfTVBMX0FVWF9BRExfQkFSUklFUl9OQU1FU1BBQ0VfT1BFTgordHlwZWRlZiBhcmc8Mz4gXzM7CisKK0JPT1NUX01QTF9BVVhfQURMX0JBUlJJRVJfTkFNRVNQQUNFX0NMT1NFCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKworQk9PU1RfTVBMX0FVWF9BUkdfQURMX0JBUlJJRVJfREVDTChfMykKKworbmFtZXNwYWNlIHBsYWNlaG9sZGVycyB7Cit1c2luZyBCT09TVF9NUExfQVVYX0FETF9CQVJSSUVSX05BTUVTUEFDRTo6XzM7Cit9CisKK319CitCT09TVF9NUExfQVVYX0FETF9CQVJSSUVSX05BTUVTUEFDRV9PUEVOCit0eXBlZGVmIGFyZzw0PiBfNDsKKworQk9PU1RfTVBMX0FVWF9BRExfQkFSUklFUl9OQU1FU1BBQ0VfQ0xPU0UKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCitCT09TVF9NUExfQVVYX0FSR19BRExfQkFSUklFUl9ERUNMKF80KQorCituYW1lc3BhY2UgcGxhY2Vob2xkZXJzIHsKK3VzaW5nIEJPT1NUX01QTF9BVVhfQURMX0JBUlJJRVJfTkFNRVNQQUNFOjpfNDsKK30KKworfX0KK0JPT1NUX01QTF9BVVhfQURMX0JBUlJJRVJfTkFNRVNQQUNFX09QRU4KK3R5cGVkZWYgYXJnPDU+IF81OworCitCT09TVF9NUExfQVVYX0FETF9CQVJSSUVSX05BTUVTUEFDRV9DTE9TRQorbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK0JPT1NUX01QTF9BVVhfQVJHX0FETF9CQVJSSUVSX0RFQ0woXzUpCisKK25hbWVzcGFjZSBwbGFjZWhvbGRlcnMgewordXNpbmcgQk9PU1RfTVBMX0FVWF9BRExfQkFSUklFUl9OQU1FU1BBQ0U6Ol81OworfQorCit9fQorQk9PU1RfTVBMX0FVWF9BRExfQkFSUklFUl9OQU1FU1BBQ0VfT1BFTgordHlwZWRlZiBhcmc8Nj4gXzY7CisKK0JPT1NUX01QTF9BVVhfQURMX0JBUlJJRVJfTkFNRVNQQUNFX0NMT1NFCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKworQk9PU1RfTVBMX0FVWF9BUkdfQURMX0JBUlJJRVJfREVDTChfNikKKworbmFtZXNwYWNlIHBsYWNlaG9sZGVycyB7Cit1c2luZyBCT09TVF9NUExfQVVYX0FETF9CQVJSSUVSX05BTUVTUEFDRTo6XzY7Cit9CisKK319CmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXN2YzYwL3BsdXMuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL21zdmM2MC9wbHVzLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mYzg4ODRlCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL21zdmM2MC9wbHVzLmhwcApAQCAtMCwwICsxLDE0OCBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvcGx1cy5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUYWcxCisgICAgLCB0eXBlbmFtZSBUYWcyCisKKyAgICAsIEJPT1NUX01QTF9BVVhfTlRUUF9ERUNMKGludCwgdGFnMV8pICA9IEJPT1NUX01QTF9BVVhfTVNWQ19WQUxVRV9XS05EKFRhZzEpOjp2YWx1ZQorICAgICwgQk9PU1RfTVBMX0FVWF9OVFRQX0RFQ0woaW50LCB0YWcyXykgID0gQk9PU1RfTVBMX0FVWF9NU1ZDX1ZBTFVFX1dLTkQoVGFnMik6OnZhbHVlCisgICAgPgorc3RydWN0IHBsdXNfaW1wbAorICAgIDogaWZfYzwKKyAgICAgICAgICAoIHRhZzFfID4gdGFnMl8gKQorICAgICAgICAsIGF1eDo6Y2FzdDJuZF9pbXBsPCBwbHVzX2ltcGw8IFRhZzEsVGFnMSA+LFRhZzEsIFRhZzIgPgorICAgICAgICAsIGF1eDo6Y2FzdDFzdF9pbXBsPCBwbHVzX2ltcGw8IFRhZzIsVGFnMiA+LFRhZzEsIFRhZzIgPgorICAgICAgICA+Ojp0eXBlCit7Cit9OworCisvLy8gZm9yIERpZ2l0YWwgTWFycyBDKysvY29tcGlsZXJzIHdpdGggbm8gQ1RQUy9UVFAgc3VwcG9ydAordGVtcGxhdGU8PiBzdHJ1Y3QgcGx1c19pbXBsPCBuYSxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgcGx1c19pbXBsPCBuYSxpbnRlZ3JhbF9jX3RhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgcGx1c19pbXBsPCBpbnRlZ3JhbF9jX3RhZyxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFQgPiBzdHJ1Y3QgcGx1c190YWcKK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIFQ6OnRhZyB0eXBlOworfTsKKworLy8vIGZvcndhcmQgZGVjbGFyYXRpb24KKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4xKQorICAgICwgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMikKKyAgICA+CitzdHJ1Y3QgcGx1czI7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMSkKKyAgICAsIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjIpCisgICAgLCB0eXBlbmFtZSBOMyA9IG5hLCB0eXBlbmFtZSBONCA9IG5hLCB0eXBlbmFtZSBONSA9IG5hCisgICAgPgorc3RydWN0IHBsdXMKKworICAgIDogaWZfPAorCisgICAgICAgICAgaXNfbmE8TjM+CisgICAgICAgICwgcGx1czI8IE4xLE4yID4KKyAgICAgICAgLCBwbHVzPAorICAgICAgICAgICAgICBwbHVzMjwgTjEsTjIgPgorICAgICAgICAgICAgLCBOMywgTjQsIE41CisgICAgICAgICAgICA+CisgICAgICAgID46OnR5cGUKKworeworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoCisgICAgICAgICAgNQorICAgICAgICAsIHBsdXMKKyAgICAgICAgLCAoIE4xLCBOMiwgTjMsIE40LCBONSApCisgICAgICAgICkKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgTjEKKyAgICAsIHR5cGVuYW1lIE4yCisgICAgPgorc3RydWN0IHBsdXMyCisgICAgOiBhdXg6Om1zdmNfZXRpX2Jhc2U8IHR5cGVuYW1lIGFwcGx5X3dyYXAyPAorICAgICAgICAgIHBsdXNfaW1wbDwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgcGx1c190YWc8TjE+Ojp0eXBlCisgICAgICAgICAgICAsIHR5cGVuYW1lIHBsdXNfdGFnPE4yPjo6dHlwZQorICAgICAgICAgICAgPgorICAgICAgICAsIE4xCisgICAgICAgICwgTjIKKyAgICAgICAgPjo6dHlwZSA+Ojp0eXBlCisKK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKDIsIHBsdXMyLCAoTjEsIE4yKSkKKworfTsKKworQk9PU1RfTVBMX0FVWF9OQV9TUEVDMigyLCA1LCBwbHVzKQorCit9fQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKworbmFtZXNwYWNlIGF1eCB7Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgVCwgVCBuMSwgVCBuMiA+CitzdHJ1Y3QgcGx1c193a25kCit7CisgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKFQsIHZhbHVlICA9IChuMSArIG4yKSk7CisgICAgdHlwZWRlZiBpbnRlZ3JhbF9jPCBULHZhbHVlID4gdHlwZTsKK307CisKK30KKwordGVtcGxhdGU8Pgorc3RydWN0IHBsdXNfaW1wbDwgaW50ZWdyYWxfY190YWcsaW50ZWdyYWxfY190YWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBOMSwgdHlwZW5hbWUgTjIgPiBzdHJ1Y3QgYXBwbHkKKyAgICAgICAgOiBhdXg6OnBsdXNfd2tuZDwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgYXV4OjpsYXJnZXN0X2ludDwKKyAgICAgICAgICAgICAgICAgIHR5cGVuYW1lIE4xOjp2YWx1ZV90eXBlCisgICAgICAgICAgICAgICAgLCB0eXBlbmFtZSBOMjo6dmFsdWVfdHlwZQorICAgICAgICAgICAgICAgID46OnR5cGUKKyAgICAgICAgICAgICwgTjE6OnZhbHVlCisgICAgICAgICAgICAsIE4yOjp2YWx1ZQorICAgICAgICAgICAgPjo6dHlwZQorCisgICAgeworICAgIH07Cit9OworCit9fQpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL21zdmM2MC9xdW90ZS5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXN2YzYwL3F1b3RlLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZTc3ZmJhCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL21zdmM2MC9xdW90ZS5ocHAKQEAgLTAsMCArMSwxMSBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvcXVvdGUuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL21zdmM2MC9yZXZlcnNlX2ZvbGRfaW1wbC5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXN2YzYwL3JldmVyc2VfZm9sZF9pbXBsLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40M2UzY2RkCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL21zdmM2MC9yZXZlcnNlX2ZvbGRfaW1wbC5ocHAKQEAgLTAsMCArMSwzNDMgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL2F1eF8vcmV2ZXJzZV9mb2xkX2ltcGwuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7IG5hbWVzcGFjZSBhdXggeworCisvLy8gZm9yd2FyZCBkZWNsYXJhdGlvbgorCit0ZW1wbGF0ZTwKKyAgICAgIGxvbmcgTgorICAgICwgdHlwZW5hbWUgRmlyc3QKKyAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBCYWNrd2FyZE9wCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+CitzdHJ1Y3QgcmV2ZXJzZV9mb2xkX2ltcGw7CisKK3RlbXBsYXRlPCBsb25nIE4gPgorc3RydWN0IHJldmVyc2VfZm9sZF9jaHVuazsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgcmV2ZXJzZV9mb2xkX2NodW5rPDA+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAgICAgLCB0eXBlbmFtZSBCYWNrd2FyZE9wCisgICAgICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiBGaXJzdCBpdGVyMDsKKyAgICAgICAgdHlwZWRlZiBTdGF0ZSBmd2Rfc3RhdGUwOworICAgICAgICB0eXBlZGVmIGZ3ZF9zdGF0ZTAgYmt3ZF9zdGF0ZTA7CisgICAgICAgIHR5cGVkZWYgYmt3ZF9zdGF0ZTAgc3RhdGU7CisgICAgICAgIHR5cGVkZWYgaXRlcjAgaXRlcmF0b3I7CisgICAgfTsKKworICAgIC8vLyBFVEkgd29ya2Fyb3VuZAorICAgIHRlbXBsYXRlPD4gc3RydWN0IHJlc3VsdF88IGludCxpbnQsaW50LGludCxpbnQgPgorICAgIHsKKyAgICAgICAgdHlwZWRlZiBpbnQgc3RhdGU7CisgICAgICAgIHR5cGVkZWYgaW50IGl0ZXJhdG9yOworICAgIH07CisKK307CisKK3RlbXBsYXRlPD4gc3RydWN0IHJldmVyc2VfZm9sZF9jaHVuazwxPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgICAgICwgdHlwZW5hbWUgTGFzdAorICAgICAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgICAgICwgdHlwZW5hbWUgQmFja3dhcmRPcAorICAgICAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgRmlyc3QgaXRlcjA7CisgICAgICAgIHR5cGVkZWYgU3RhdGUgZndkX3N0YXRlMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCwgZndkX3N0YXRlMCwgdHlwZW5hbWUgZGVyZWY8aXRlcjA+Ojp0eXBlID46OnR5cGUgZndkX3N0YXRlMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjA+Ojp0eXBlIGl0ZXIxOworICAgICAgICAKKworICAgICAgICB0eXBlZGVmIGZ3ZF9zdGF0ZTEgYmt3ZF9zdGF0ZTE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLCBia3dkX3N0YXRlMSwgdHlwZW5hbWUgZGVyZWY8aXRlcjA+Ojp0eXBlID46OnR5cGUgYmt3ZF9zdGF0ZTA7CisgICAgICAgIHR5cGVkZWYgYmt3ZF9zdGF0ZTAgc3RhdGU7CisgICAgICAgIHR5cGVkZWYgaXRlcjEgaXRlcmF0b3I7CisgICAgfTsKKworICAgIC8vLyBFVEkgd29ya2Fyb3VuZAorICAgIHRlbXBsYXRlPD4gc3RydWN0IHJlc3VsdF88IGludCxpbnQsaW50LGludCxpbnQgPgorICAgIHsKKyAgICAgICAgdHlwZWRlZiBpbnQgc3RhdGU7CisgICAgICAgIHR5cGVkZWYgaW50IGl0ZXJhdG9yOworICAgIH07CisKK307CisKK3RlbXBsYXRlPD4gc3RydWN0IHJldmVyc2VfZm9sZF9jaHVuazwyPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgICAgICwgdHlwZW5hbWUgTGFzdAorICAgICAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgICAgICwgdHlwZW5hbWUgQmFja3dhcmRPcAorICAgICAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgRmlyc3QgaXRlcjA7CisgICAgICAgIHR5cGVkZWYgU3RhdGUgZndkX3N0YXRlMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCwgZndkX3N0YXRlMCwgdHlwZW5hbWUgZGVyZWY8aXRlcjA+Ojp0eXBlID46OnR5cGUgZndkX3N0YXRlMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjA+Ojp0eXBlIGl0ZXIxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLCBmd2Rfc3RhdGUxLCB0eXBlbmFtZSBkZXJlZjxpdGVyMT46OnR5cGUgPjo6dHlwZSBmd2Rfc3RhdGUyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMT46OnR5cGUgaXRlcjI7CisgICAgICAgIAorCisgICAgICAgIHR5cGVkZWYgZndkX3N0YXRlMiBia3dkX3N0YXRlMjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEJhY2t3YXJkT3AsIGJrd2Rfc3RhdGUyLCB0eXBlbmFtZSBkZXJlZjxpdGVyMT46OnR5cGUgPjo6dHlwZSBia3dkX3N0YXRlMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEJhY2t3YXJkT3AsIGJrd2Rfc3RhdGUxLCB0eXBlbmFtZSBkZXJlZjxpdGVyMD46OnR5cGUgPjo6dHlwZSBia3dkX3N0YXRlMDsKKyAgICAgICAgCisKKyAgICAgICAgdHlwZWRlZiBia3dkX3N0YXRlMCBzdGF0ZTsKKyAgICAgICAgdHlwZWRlZiBpdGVyMiBpdGVyYXRvcjsKKyAgICB9OworCisgICAgLy8vIEVUSSB3b3JrYXJvdW5kCisgICAgdGVtcGxhdGU8PiBzdHJ1Y3QgcmVzdWx0XzwgaW50LGludCxpbnQsaW50LGludCA+CisgICAgeworICAgICAgICB0eXBlZGVmIGludCBzdGF0ZTsKKyAgICAgICAgdHlwZWRlZiBpbnQgaXRlcmF0b3I7CisgICAgfTsKKworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgcmV2ZXJzZV9mb2xkX2NodW5rPDM+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAgICAgLCB0eXBlbmFtZSBCYWNrd2FyZE9wCisgICAgICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiBGaXJzdCBpdGVyMDsKKyAgICAgICAgdHlwZWRlZiBTdGF0ZSBmd2Rfc3RhdGUwOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLCBmd2Rfc3RhdGUwLCB0eXBlbmFtZSBkZXJlZjxpdGVyMD46OnR5cGUgPjo6dHlwZSBmd2Rfc3RhdGUxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMD46OnR5cGUgaXRlcjE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsIGZ3ZF9zdGF0ZTEsIHR5cGVuYW1lIGRlcmVmPGl0ZXIxPjo6dHlwZSA+Ojp0eXBlIGZ3ZF9zdGF0ZTI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIxPjo6dHlwZSBpdGVyMjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCwgZndkX3N0YXRlMiwgdHlwZW5hbWUgZGVyZWY8aXRlcjI+Ojp0eXBlID46OnR5cGUgZndkX3N0YXRlMzsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjI+Ojp0eXBlIGl0ZXIzOworICAgICAgICAKKworICAgICAgICB0eXBlZGVmIGZ3ZF9zdGF0ZTMgYmt3ZF9zdGF0ZTM7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLCBia3dkX3N0YXRlMywgdHlwZW5hbWUgZGVyZWY8aXRlcjI+Ojp0eXBlID46OnR5cGUgYmt3ZF9zdGF0ZTI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLCBia3dkX3N0YXRlMiwgdHlwZW5hbWUgZGVyZWY8aXRlcjE+Ojp0eXBlID46OnR5cGUgYmt3ZF9zdGF0ZTE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLCBia3dkX3N0YXRlMSwgdHlwZW5hbWUgZGVyZWY8aXRlcjA+Ojp0eXBlID46OnR5cGUgYmt3ZF9zdGF0ZTA7CisgICAgICAgIAorCisgICAgICAgIHR5cGVkZWYgYmt3ZF9zdGF0ZTAgc3RhdGU7CisgICAgICAgIHR5cGVkZWYgaXRlcjMgaXRlcmF0b3I7CisgICAgfTsKKworICAgIC8vLyBFVEkgd29ya2Fyb3VuZAorICAgIHRlbXBsYXRlPD4gc3RydWN0IHJlc3VsdF88IGludCxpbnQsaW50LGludCxpbnQgPgorICAgIHsKKyAgICAgICAgdHlwZWRlZiBpbnQgc3RhdGU7CisgICAgICAgIHR5cGVkZWYgaW50IGl0ZXJhdG9yOworICAgIH07CisKK307CisKK3RlbXBsYXRlPD4gc3RydWN0IHJldmVyc2VfZm9sZF9jaHVuazw0PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgICAgICwgdHlwZW5hbWUgTGFzdAorICAgICAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgICAgICwgdHlwZW5hbWUgQmFja3dhcmRPcAorICAgICAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgRmlyc3QgaXRlcjA7CisgICAgICAgIHR5cGVkZWYgU3RhdGUgZndkX3N0YXRlMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCwgZndkX3N0YXRlMCwgdHlwZW5hbWUgZGVyZWY8aXRlcjA+Ojp0eXBlID46OnR5cGUgZndkX3N0YXRlMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjA+Ojp0eXBlIGl0ZXIxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLCBmd2Rfc3RhdGUxLCB0eXBlbmFtZSBkZXJlZjxpdGVyMT46OnR5cGUgPjo6dHlwZSBmd2Rfc3RhdGUyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMT46OnR5cGUgaXRlcjI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsIGZ3ZF9zdGF0ZTIsIHR5cGVuYW1lIGRlcmVmPGl0ZXIyPjo6dHlwZSA+Ojp0eXBlIGZ3ZF9zdGF0ZTM7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIyPjo6dHlwZSBpdGVyMzsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCwgZndkX3N0YXRlMywgdHlwZW5hbWUgZGVyZWY8aXRlcjM+Ojp0eXBlID46OnR5cGUgZndkX3N0YXRlNDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjM+Ojp0eXBlIGl0ZXI0OworICAgICAgICAKKworICAgICAgICB0eXBlZGVmIGZ3ZF9zdGF0ZTQgYmt3ZF9zdGF0ZTQ7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLCBia3dkX3N0YXRlNCwgdHlwZW5hbWUgZGVyZWY8aXRlcjM+Ojp0eXBlID46OnR5cGUgYmt3ZF9zdGF0ZTM7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLCBia3dkX3N0YXRlMywgdHlwZW5hbWUgZGVyZWY8aXRlcjI+Ojp0eXBlID46OnR5cGUgYmt3ZF9zdGF0ZTI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLCBia3dkX3N0YXRlMiwgdHlwZW5hbWUgZGVyZWY8aXRlcjE+Ojp0eXBlID46OnR5cGUgYmt3ZF9zdGF0ZTE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLCBia3dkX3N0YXRlMSwgdHlwZW5hbWUgZGVyZWY8aXRlcjA+Ojp0eXBlID46OnR5cGUgYmt3ZF9zdGF0ZTA7CisgICAgICAgIAorCisgICAgICAgIHR5cGVkZWYgYmt3ZF9zdGF0ZTAgc3RhdGU7CisgICAgICAgIHR5cGVkZWYgaXRlcjQgaXRlcmF0b3I7CisgICAgfTsKKworICAgIC8vLyBFVEkgd29ya2Fyb3VuZAorICAgIHRlbXBsYXRlPD4gc3RydWN0IHJlc3VsdF88IGludCxpbnQsaW50LGludCxpbnQgPgorICAgIHsKKyAgICAgICAgdHlwZWRlZiBpbnQgc3RhdGU7CisgICAgICAgIHR5cGVkZWYgaW50IGl0ZXJhdG9yOworICAgIH07CisKK307CisKK3RlbXBsYXRlPCBsb25nIE4gPgorc3RydWN0IHJldmVyc2VfZm9sZF9jaHVuaworeworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgICAgICwgdHlwZW5hbWUgTGFzdAorICAgICAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgICAgICwgdHlwZW5hbWUgQmFja3dhcmRPcAorICAgICAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgRmlyc3QgaXRlcjA7CisgICAgICAgIHR5cGVkZWYgU3RhdGUgZndkX3N0YXRlMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCwgZndkX3N0YXRlMCwgdHlwZW5hbWUgZGVyZWY8aXRlcjA+Ojp0eXBlID46OnR5cGUgZndkX3N0YXRlMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjA+Ojp0eXBlIGl0ZXIxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLCBmd2Rfc3RhdGUxLCB0eXBlbmFtZSBkZXJlZjxpdGVyMT46OnR5cGUgPjo6dHlwZSBmd2Rfc3RhdGUyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMT46OnR5cGUgaXRlcjI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsIGZ3ZF9zdGF0ZTIsIHR5cGVuYW1lIGRlcmVmPGl0ZXIyPjo6dHlwZSA+Ojp0eXBlIGZ3ZF9zdGF0ZTM7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIyPjo6dHlwZSBpdGVyMzsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCwgZndkX3N0YXRlMywgdHlwZW5hbWUgZGVyZWY8aXRlcjM+Ojp0eXBlID46OnR5cGUgZndkX3N0YXRlNDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjM+Ojp0eXBlIGl0ZXI0OworICAgICAgICAKKworICAgICAgICB0eXBlZGVmIHJldmVyc2VfZm9sZF9pbXBsPAorICAgICAgICAgICAgICAoIChOIC0gNCkgPCAwID8gMCA6IE4gLSA0ICkKKyAgICAgICAgICAgICwgaXRlcjQKKyAgICAgICAgICAgICwgTGFzdAorICAgICAgICAgICAgLCBmd2Rfc3RhdGU0CisgICAgICAgICAgICAsIEJhY2t3YXJkT3AKKyAgICAgICAgICAgICwgRm9yd2FyZE9wCisgICAgICAgICAgICA+IG5lc3RlZF9jaHVuazsKKworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG5lc3RlZF9jaHVuazo6c3RhdGUgYmt3ZF9zdGF0ZTQ7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLCBia3dkX3N0YXRlNCwgdHlwZW5hbWUgZGVyZWY8aXRlcjM+Ojp0eXBlID46OnR5cGUgYmt3ZF9zdGF0ZTM7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLCBia3dkX3N0YXRlMywgdHlwZW5hbWUgZGVyZWY8aXRlcjI+Ojp0eXBlID46OnR5cGUgYmt3ZF9zdGF0ZTI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLCBia3dkX3N0YXRlMiwgdHlwZW5hbWUgZGVyZWY8aXRlcjE+Ojp0eXBlID46OnR5cGUgYmt3ZF9zdGF0ZTE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLCBia3dkX3N0YXRlMSwgdHlwZW5hbWUgZGVyZWY8aXRlcjA+Ojp0eXBlID46OnR5cGUgYmt3ZF9zdGF0ZTA7CisgICAgICAgIAorCisgICAgICAgIHR5cGVkZWYgYmt3ZF9zdGF0ZTAgc3RhdGU7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbmVzdGVkX2NodW5rOjppdGVyYXRvciBpdGVyYXRvcjsKKyAgICB9OworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGaXJzdAorICAgICwgdHlwZW5hbWUgTGFzdAorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEJhY2t3YXJkT3AKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgID4KK3N0cnVjdCByZXZlcnNlX2ZvbGRfc3RlcDsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBMYXN0CisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgID4KK3N0cnVjdCByZXZlcnNlX2ZvbGRfbnVsbF9zdGVwCit7CisgICAgdHlwZWRlZiBMYXN0IGl0ZXJhdG9yOworICAgIHR5cGVkZWYgU3RhdGUgc3RhdGU7Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcmV2ZXJzZV9mb2xkX2NodW5rPCAtMSA+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAgICAgLCB0eXBlbmFtZSBCYWNrd2FyZE9wCisgICAgICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBpZl88CisgICAgICAgICAgICAgIHR5cGVuYW1lIGlzX3NhbWU8IEZpcnN0LExhc3QgPjo6dHlwZQorICAgICAgICAgICAgLCByZXZlcnNlX2ZvbGRfbnVsbF9zdGVwPCBMYXN0LFN0YXRlID4KKyAgICAgICAgICAgICwgcmV2ZXJzZV9mb2xkX3N0ZXA8IEZpcnN0LExhc3QsU3RhdGUsQmFja3dhcmRPcCxGb3J3YXJkT3AgPgorICAgICAgICAgICAgPjo6dHlwZSByZXNfOworCisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcmVzXzo6c3RhdGUgc3RhdGU7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcmVzXzo6aXRlcmF0b3IgaXRlcmF0b3I7CisgICAgfTsKKworICAgIC8vLyBFVEkgd29ya2Fyb3VuZAorICAgIHRlbXBsYXRlPD4gc3RydWN0IHJlc3VsdF88IGludCxpbnQsaW50LGludCxpbnQgPgorICAgIHsKKyAgICAgICAgdHlwZWRlZiBpbnQgc3RhdGU7CisgICAgICAgIHR5cGVkZWYgaW50IGl0ZXJhdG9yOworICAgIH07CisKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBCYWNrd2FyZE9wCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+CitzdHJ1Y3QgcmV2ZXJzZV9mb2xkX3N0ZXAKK3sKKyAgICB0eXBlZGVmIHJldmVyc2VfZm9sZF9jaHVuazwgLTEgPjo6dGVtcGxhdGUgcmVzdWx0XzwKKyAgICAgICAgICB0eXBlbmFtZSBtcGw6Om5leHQ8Rmlyc3Q+Ojp0eXBlCisgICAgICAgICwgTGFzdAorICAgICAgICAsIHR5cGVuYW1lIGFwcGx5MjxGb3J3YXJkT3AsU3RhdGUsIHR5cGVuYW1lIGRlcmVmPEZpcnN0Pjo6dHlwZT46OnR5cGUKKyAgICAgICAgLCBCYWNrd2FyZE9wCisgICAgICAgICwgRm9yd2FyZE9wCisgICAgICAgID4gbmVzdGVkX3N0ZXA7CisKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwKKyAgICAgICAgICBCYWNrd2FyZE9wCisgICAgICAgICwgdHlwZW5hbWUgbmVzdGVkX3N0ZXA6OnN0YXRlCisgICAgICAgICwgdHlwZW5hbWUgZGVyZWY8Rmlyc3Q+Ojp0eXBlCisgICAgICAgID46OnR5cGUgc3RhdGU7CisKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG5lc3RlZF9zdGVwOjppdGVyYXRvciBpdGVyYXRvcjsKK307CisKK3RlbXBsYXRlPAorICAgICAgbG9uZyBOCisgICAgLCB0eXBlbmFtZSBGaXJzdAorICAgICwgdHlwZW5hbWUgTGFzdAorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEJhY2t3YXJkT3AKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgID4KK3N0cnVjdCByZXZlcnNlX2ZvbGRfaW1wbAorICAgIDogcmV2ZXJzZV9mb2xkX2NodW5rPE4+CisgICAgICAgIDo6dGVtcGxhdGUgcmVzdWx0XzwgRmlyc3QsTGFzdCxTdGF0ZSxCYWNrd2FyZE9wLEZvcndhcmRPcCA+Cit7Cit9OworCit9fX0KZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9tc3ZjNjAvcmV2ZXJzZV9pdGVyX2ZvbGRfaW1wbC5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXN2YzYwL3JldmVyc2VfaXRlcl9mb2xkX2ltcGwuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk0NDE3ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXN2YzYwL3JldmVyc2VfaXRlcl9mb2xkX2ltcGwuaHBwCkBAIC0wLDAgKzEsMzQzIEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9hdXhfL3JldmVyc2VfaXRlcl9mb2xkX2ltcGwuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7IG5hbWVzcGFjZSBhdXggeworCisvLy8gZm9yd2FyZCBkZWNsYXJhdGlvbgorCit0ZW1wbGF0ZTwKKyAgICAgIGxvbmcgTgorICAgICwgdHlwZW5hbWUgRmlyc3QKKyAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBCYWNrd2FyZE9wCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+CitzdHJ1Y3QgcmV2ZXJzZV9pdGVyX2ZvbGRfaW1wbDsKKwordGVtcGxhdGU8IGxvbmcgTiA+CitzdHJ1Y3QgcmV2ZXJzZV9pdGVyX2ZvbGRfY2h1bms7CisKK3RlbXBsYXRlPD4gc3RydWN0IHJldmVyc2VfaXRlcl9mb2xkX2NodW5rPDA+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAgICAgLCB0eXBlbmFtZSBCYWNrd2FyZE9wCisgICAgICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiBGaXJzdCBpdGVyMDsKKyAgICAgICAgdHlwZWRlZiBTdGF0ZSBmd2Rfc3RhdGUwOworICAgICAgICB0eXBlZGVmIGZ3ZF9zdGF0ZTAgYmt3ZF9zdGF0ZTA7CisgICAgICAgIHR5cGVkZWYgYmt3ZF9zdGF0ZTAgc3RhdGU7CisgICAgICAgIHR5cGVkZWYgaXRlcjAgaXRlcmF0b3I7CisgICAgfTsKKworICAgIC8vLyBFVEkgd29ya2Fyb3VuZAorICAgIHRlbXBsYXRlPD4gc3RydWN0IHJlc3VsdF88IGludCxpbnQsaW50LGludCxpbnQgPgorICAgIHsKKyAgICAgICAgdHlwZWRlZiBpbnQgc3RhdGU7CisgICAgICAgIHR5cGVkZWYgaW50IGl0ZXJhdG9yOworICAgIH07CisKK307CisKK3RlbXBsYXRlPD4gc3RydWN0IHJldmVyc2VfaXRlcl9mb2xkX2NodW5rPDE+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAgICAgLCB0eXBlbmFtZSBCYWNrd2FyZE9wCisgICAgICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiBGaXJzdCBpdGVyMDsKKyAgICAgICAgdHlwZWRlZiBTdGF0ZSBmd2Rfc3RhdGUwOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLGZ3ZF9zdGF0ZTAsaXRlcjAgPjo6dHlwZSBmd2Rfc3RhdGUxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMD46OnR5cGUgaXRlcjE7CisgICAgICAgIAorCisgICAgICAgIHR5cGVkZWYgZndkX3N0YXRlMSBia3dkX3N0YXRlMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEJhY2t3YXJkT3AsYmt3ZF9zdGF0ZTEsaXRlcjAgPjo6dHlwZSBia3dkX3N0YXRlMDsKKyAgICAgICAgdHlwZWRlZiBia3dkX3N0YXRlMCBzdGF0ZTsKKyAgICAgICAgdHlwZWRlZiBpdGVyMSBpdGVyYXRvcjsKKyAgICB9OworCisgICAgLy8vIEVUSSB3b3JrYXJvdW5kCisgICAgdGVtcGxhdGU8PiBzdHJ1Y3QgcmVzdWx0XzwgaW50LGludCxpbnQsaW50LGludCA+CisgICAgeworICAgICAgICB0eXBlZGVmIGludCBzdGF0ZTsKKyAgICAgICAgdHlwZWRlZiBpbnQgaXRlcmF0b3I7CisgICAgfTsKKworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgcmV2ZXJzZV9pdGVyX2ZvbGRfY2h1bms8Mj4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBGaXJzdAorICAgICAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICAgICAsIHR5cGVuYW1lIEJhY2t3YXJkT3AKKyAgICAgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIEZpcnN0IGl0ZXIwOworICAgICAgICB0eXBlZGVmIFN0YXRlIGZ3ZF9zdGF0ZTA7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsZndkX3N0YXRlMCxpdGVyMCA+Ojp0eXBlIGZ3ZF9zdGF0ZTE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIwPjo6dHlwZSBpdGVyMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCxmd2Rfc3RhdGUxLGl0ZXIxID46OnR5cGUgZndkX3N0YXRlMjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjE+Ojp0eXBlIGl0ZXIyOworICAgICAgICAKKworICAgICAgICB0eXBlZGVmIGZ3ZF9zdGF0ZTIgYmt3ZF9zdGF0ZTI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLGJrd2Rfc3RhdGUyLGl0ZXIxID46OnR5cGUgYmt3ZF9zdGF0ZTE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLGJrd2Rfc3RhdGUxLGl0ZXIwID46OnR5cGUgYmt3ZF9zdGF0ZTA7CisgICAgICAgIAorCisgICAgICAgIHR5cGVkZWYgYmt3ZF9zdGF0ZTAgc3RhdGU7CisgICAgICAgIHR5cGVkZWYgaXRlcjIgaXRlcmF0b3I7CisgICAgfTsKKworICAgIC8vLyBFVEkgd29ya2Fyb3VuZAorICAgIHRlbXBsYXRlPD4gc3RydWN0IHJlc3VsdF88IGludCxpbnQsaW50LGludCxpbnQgPgorICAgIHsKKyAgICAgICAgdHlwZWRlZiBpbnQgc3RhdGU7CisgICAgICAgIHR5cGVkZWYgaW50IGl0ZXJhdG9yOworICAgIH07CisKK307CisKK3RlbXBsYXRlPD4gc3RydWN0IHJldmVyc2VfaXRlcl9mb2xkX2NodW5rPDM+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAgICAgLCB0eXBlbmFtZSBCYWNrd2FyZE9wCisgICAgICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiBGaXJzdCBpdGVyMDsKKyAgICAgICAgdHlwZWRlZiBTdGF0ZSBmd2Rfc3RhdGUwOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLGZ3ZF9zdGF0ZTAsaXRlcjAgPjo6dHlwZSBmd2Rfc3RhdGUxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMD46OnR5cGUgaXRlcjE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsZndkX3N0YXRlMSxpdGVyMSA+Ojp0eXBlIGZ3ZF9zdGF0ZTI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIxPjo6dHlwZSBpdGVyMjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCxmd2Rfc3RhdGUyLGl0ZXIyID46OnR5cGUgZndkX3N0YXRlMzsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjI+Ojp0eXBlIGl0ZXIzOworICAgICAgICAKKworICAgICAgICB0eXBlZGVmIGZ3ZF9zdGF0ZTMgYmt3ZF9zdGF0ZTM7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLGJrd2Rfc3RhdGUzLGl0ZXIyID46OnR5cGUgYmt3ZF9zdGF0ZTI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLGJrd2Rfc3RhdGUyLGl0ZXIxID46OnR5cGUgYmt3ZF9zdGF0ZTE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLGJrd2Rfc3RhdGUxLGl0ZXIwID46OnR5cGUgYmt3ZF9zdGF0ZTA7CisgICAgICAgIAorCisgICAgICAgIHR5cGVkZWYgYmt3ZF9zdGF0ZTAgc3RhdGU7CisgICAgICAgIHR5cGVkZWYgaXRlcjMgaXRlcmF0b3I7CisgICAgfTsKKworICAgIC8vLyBFVEkgd29ya2Fyb3VuZAorICAgIHRlbXBsYXRlPD4gc3RydWN0IHJlc3VsdF88IGludCxpbnQsaW50LGludCxpbnQgPgorICAgIHsKKyAgICAgICAgdHlwZWRlZiBpbnQgc3RhdGU7CisgICAgICAgIHR5cGVkZWYgaW50IGl0ZXJhdG9yOworICAgIH07CisKK307CisKK3RlbXBsYXRlPD4gc3RydWN0IHJldmVyc2VfaXRlcl9mb2xkX2NodW5rPDQ+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAgICAgLCB0eXBlbmFtZSBCYWNrd2FyZE9wCisgICAgICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiBGaXJzdCBpdGVyMDsKKyAgICAgICAgdHlwZWRlZiBTdGF0ZSBmd2Rfc3RhdGUwOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLGZ3ZF9zdGF0ZTAsaXRlcjAgPjo6dHlwZSBmd2Rfc3RhdGUxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMD46OnR5cGUgaXRlcjE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsZndkX3N0YXRlMSxpdGVyMSA+Ojp0eXBlIGZ3ZF9zdGF0ZTI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIxPjo6dHlwZSBpdGVyMjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCxmd2Rfc3RhdGUyLGl0ZXIyID46OnR5cGUgZndkX3N0YXRlMzsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjI+Ojp0eXBlIGl0ZXIzOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLGZ3ZF9zdGF0ZTMsaXRlcjMgPjo6dHlwZSBmd2Rfc3RhdGU0OworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMz46OnR5cGUgaXRlcjQ7CisgICAgICAgIAorCisgICAgICAgIHR5cGVkZWYgZndkX3N0YXRlNCBia3dkX3N0YXRlNDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEJhY2t3YXJkT3AsYmt3ZF9zdGF0ZTQsaXRlcjMgPjo6dHlwZSBia3dkX3N0YXRlMzsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEJhY2t3YXJkT3AsYmt3ZF9zdGF0ZTMsaXRlcjIgPjo6dHlwZSBia3dkX3N0YXRlMjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEJhY2t3YXJkT3AsYmt3ZF9zdGF0ZTIsaXRlcjEgPjo6dHlwZSBia3dkX3N0YXRlMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEJhY2t3YXJkT3AsYmt3ZF9zdGF0ZTEsaXRlcjAgPjo6dHlwZSBia3dkX3N0YXRlMDsKKyAgICAgICAgCisKKyAgICAgICAgdHlwZWRlZiBia3dkX3N0YXRlMCBzdGF0ZTsKKyAgICAgICAgdHlwZWRlZiBpdGVyNCBpdGVyYXRvcjsKKyAgICB9OworCisgICAgLy8vIEVUSSB3b3JrYXJvdW5kCisgICAgdGVtcGxhdGU8PiBzdHJ1Y3QgcmVzdWx0XzwgaW50LGludCxpbnQsaW50LGludCA+CisgICAgeworICAgICAgICB0eXBlZGVmIGludCBzdGF0ZTsKKyAgICAgICAgdHlwZWRlZiBpbnQgaXRlcmF0b3I7CisgICAgfTsKKworfTsKKwordGVtcGxhdGU8IGxvbmcgTiA+CitzdHJ1Y3QgcmV2ZXJzZV9pdGVyX2ZvbGRfY2h1bmsKK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBGaXJzdAorICAgICAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICAgICAsIHR5cGVuYW1lIEJhY2t3YXJkT3AKKyAgICAgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIEZpcnN0IGl0ZXIwOworICAgICAgICB0eXBlZGVmIFN0YXRlIGZ3ZF9zdGF0ZTA7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsZndkX3N0YXRlMCxpdGVyMCA+Ojp0eXBlIGZ3ZF9zdGF0ZTE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIwPjo6dHlwZSBpdGVyMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCxmd2Rfc3RhdGUxLGl0ZXIxID46OnR5cGUgZndkX3N0YXRlMjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjE+Ojp0eXBlIGl0ZXIyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLGZ3ZF9zdGF0ZTIsaXRlcjIgPjo6dHlwZSBmd2Rfc3RhdGUzOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMj46OnR5cGUgaXRlcjM7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsZndkX3N0YXRlMyxpdGVyMyA+Ojp0eXBlIGZ3ZF9zdGF0ZTQ7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIzPjo6dHlwZSBpdGVyNDsKKyAgICAgICAgCisKKyAgICAgICAgdHlwZWRlZiByZXZlcnNlX2l0ZXJfZm9sZF9pbXBsPAorICAgICAgICAgICAgICAoIChOIC0gNCkgPCAwID8gMCA6IE4gLSA0ICkKKyAgICAgICAgICAgICwgaXRlcjQKKyAgICAgICAgICAgICwgTGFzdAorICAgICAgICAgICAgLCBmd2Rfc3RhdGU0CisgICAgICAgICAgICAsIEJhY2t3YXJkT3AKKyAgICAgICAgICAgICwgRm9yd2FyZE9wCisgICAgICAgICAgICA+IG5lc3RlZF9jaHVuazsKKworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG5lc3RlZF9jaHVuazo6c3RhdGUgYmt3ZF9zdGF0ZTQ7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLGJrd2Rfc3RhdGU0LGl0ZXIzID46OnR5cGUgYmt3ZF9zdGF0ZTM7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLGJrd2Rfc3RhdGUzLGl0ZXIyID46OnR5cGUgYmt3ZF9zdGF0ZTI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLGJrd2Rfc3RhdGUyLGl0ZXIxID46OnR5cGUgYmt3ZF9zdGF0ZTE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLGJrd2Rfc3RhdGUxLGl0ZXIwID46OnR5cGUgYmt3ZF9zdGF0ZTA7CisgICAgICAgIAorCisgICAgICAgIHR5cGVkZWYgYmt3ZF9zdGF0ZTAgc3RhdGU7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbmVzdGVkX2NodW5rOjppdGVyYXRvciBpdGVyYXRvcjsKKyAgICB9OworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGaXJzdAorICAgICwgdHlwZW5hbWUgTGFzdAorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEJhY2t3YXJkT3AKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgID4KK3N0cnVjdCByZXZlcnNlX2l0ZXJfZm9sZF9zdGVwOworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgPgorc3RydWN0IHJldmVyc2VfaXRlcl9mb2xkX251bGxfc3RlcAoreworICAgIHR5cGVkZWYgTGFzdCBpdGVyYXRvcjsKKyAgICB0eXBlZGVmIFN0YXRlIHN0YXRlOworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHJldmVyc2VfaXRlcl9mb2xkX2NodW5rPCAtMSA+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAgICAgLCB0eXBlbmFtZSBCYWNrd2FyZE9wCisgICAgICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBpZl88CisgICAgICAgICAgICAgIHR5cGVuYW1lIGlzX3NhbWU8IEZpcnN0LExhc3QgPjo6dHlwZQorICAgICAgICAgICAgLCByZXZlcnNlX2l0ZXJfZm9sZF9udWxsX3N0ZXA8IExhc3QsU3RhdGUgPgorICAgICAgICAgICAgLCByZXZlcnNlX2l0ZXJfZm9sZF9zdGVwPCBGaXJzdCxMYXN0LFN0YXRlLEJhY2t3YXJkT3AsRm9yd2FyZE9wID4KKyAgICAgICAgICAgID46OnR5cGUgcmVzXzsKKworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHJlc186OnN0YXRlIHN0YXRlOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHJlc186Oml0ZXJhdG9yIGl0ZXJhdG9yOworICAgIH07CisKKyAgICAvLy8gRVRJIHdvcmthcm91bmQKKyAgICB0ZW1wbGF0ZTw+IHN0cnVjdCByZXN1bHRfPCBpbnQsaW50LGludCxpbnQsaW50ID4KKyAgICB7CisgICAgICAgIHR5cGVkZWYgaW50IHN0YXRlOworICAgICAgICB0eXBlZGVmIGludCBpdGVyYXRvcjsKKyAgICB9OworCit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICwgdHlwZW5hbWUgQmFja3dhcmRPcAorICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgPgorc3RydWN0IHJldmVyc2VfaXRlcl9mb2xkX3N0ZXAKK3sKKyAgICB0eXBlZGVmIHJldmVyc2VfaXRlcl9mb2xkX2NodW5rPCAtMSA+Ojp0ZW1wbGF0ZSByZXN1bHRfPAorICAgICAgICAgIHR5cGVuYW1lIG1wbDo6bmV4dDxGaXJzdD46OnR5cGUKKyAgICAgICAgLCBMYXN0CisgICAgICAgICwgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsU3RhdGUsRmlyc3QgPjo6dHlwZQorICAgICAgICAsIEJhY2t3YXJkT3AKKyAgICAgICAgLCBGb3J3YXJkT3AKKyAgICAgICAgPiBuZXN0ZWRfc3RlcDsKKworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPAorICAgICAgICAgIEJhY2t3YXJkT3AKKyAgICAgICAgLCB0eXBlbmFtZSBuZXN0ZWRfc3RlcDo6c3RhdGUKKyAgICAgICAgLCBGaXJzdAorICAgICAgICA+Ojp0eXBlIHN0YXRlOworCisgICAgdHlwZWRlZiB0eXBlbmFtZSBuZXN0ZWRfc3RlcDo6aXRlcmF0b3IgaXRlcmF0b3I7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIGxvbmcgTgorICAgICwgdHlwZW5hbWUgRmlyc3QKKyAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBCYWNrd2FyZE9wCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+CitzdHJ1Y3QgcmV2ZXJzZV9pdGVyX2ZvbGRfaW1wbAorICAgIDogcmV2ZXJzZV9pdGVyX2ZvbGRfY2h1bms8Tj4KKyAgICAgICAgOjp0ZW1wbGF0ZSByZXN1bHRfPCBGaXJzdCxMYXN0LFN0YXRlLEJhY2t3YXJkT3AsRm9yd2FyZE9wID4KK3sKK307CisKK319fQpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL21zdmM2MC9zZXQuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL21zdmM2MC9zZXQuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU5NjQ4NzkKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXN2YzYwL3NldC5ocHAKQEAgLTAsMCArMSw1NTYgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL3NldC5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKworbmFtZXNwYWNlIGF1eCB7Cit0ZW1wbGF0ZTwgaW50IE4gPgorc3RydWN0IHNldF9jaG9vc2VyOworCit9CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3Qgc2V0X2Nob29zZXI8MD4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiBzZXQwPAorICAgICAgICAgICAgIAorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IHNldF9jaG9vc2VyPDE+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0MTwKKyAgICAgICAgICAgICAgVDAKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBzZXRfY2hvb3NlcjwyPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDI8CisgICAgICAgICAgICAgIFQwLCBUMQorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IHNldF9jaG9vc2VyPDM+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0MzwKKyAgICAgICAgICAgICAgVDAsIFQxLCBUMgorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IHNldF9jaG9vc2VyPDQ+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0NDwKKyAgICAgICAgICAgICAgVDAsIFQxLCBUMiwgVDMKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBzZXRfY2hvb3Nlcjw1PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDU8CisgICAgICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNAorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IHNldF9jaG9vc2VyPDY+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0NjwKKyAgICAgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNQorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IHNldF9jaG9vc2VyPDc+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0NzwKKyAgICAgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBzZXRfY2hvb3Nlcjw4PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDg8CisgICAgICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNworICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IHNldF9jaG9vc2VyPDk+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0OTwKKyAgICAgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOAorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IHNldF9jaG9vc2VyPDEwPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDEwPAorICAgICAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOQorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IHNldF9jaG9vc2VyPDExPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDExPAorICAgICAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3Qgc2V0X2Nob29zZXI8MTI+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0MTI8CisgICAgICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMQorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IHNldF9jaG9vc2VyPDEzPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDEzPAorICAgICAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMgorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IHNldF9jaG9vc2VyPDE0PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDE0PAorICAgICAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3Qgc2V0X2Nob29zZXI8MTU+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0MTU8CisgICAgICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IHNldF9jaG9vc2VyPDE2PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDE2PAorICAgICAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQsIFQxNQorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IHNldF9jaG9vc2VyPDE3PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDE3PAorICAgICAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQsIFQxNSwgVDE2CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3Qgc2V0X2Nob29zZXI8MTg+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0MTg8CisgICAgICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNCwgVDE1LCBUMTYsIFQxNworICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IHNldF9jaG9vc2VyPDE5PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDE5PAorICAgICAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQsIFQxNSwgVDE2LCBUMTcsIFQxOAorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IHNldF9jaG9vc2VyPDIwPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDIwPAorICAgICAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQsIFQxNSwgVDE2LCBUMTcsIFQxOCwgVDE5CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVCA+CitzdHJ1Y3QgaXNfc2V0X2FyZworeworICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChib29sLCB2YWx1ZSAgPSB0cnVlKTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBpc19zZXRfYXJnPG5hPgoreworICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChib29sLCB2YWx1ZSAgPSBmYWxzZSk7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0LCB0eXBlbmFtZSBUNQorICAgICwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDksIHR5cGVuYW1lIFQxMAorICAgICwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0LCB0eXBlbmFtZSBUMTUKKyAgICAsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOSwgdHlwZW5hbWUgVDIwCisgICAgPgorc3RydWN0IHNldF9jb3VudF9hcmdzCit7CisgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgPQorICAgICAgICAgIGlzX3NldF9hcmc8VDE+Ojp2YWx1ZSArIGlzX3NldF9hcmc8VDI+Ojp2YWx1ZSAKKyAgICAgICAgKyBpc19zZXRfYXJnPFQzPjo6dmFsdWUgKyBpc19zZXRfYXJnPFQ0Pjo6dmFsdWUgCisgICAgICAgICsgaXNfc2V0X2FyZzxUNT46OnZhbHVlICsgaXNfc2V0X2FyZzxUNj46OnZhbHVlIAorICAgICAgICArIGlzX3NldF9hcmc8VDc+Ojp2YWx1ZSArIGlzX3NldF9hcmc8VDg+Ojp2YWx1ZSAKKyAgICAgICAgKyBpc19zZXRfYXJnPFQ5Pjo6dmFsdWUgKyBpc19zZXRfYXJnPFQxMD46OnZhbHVlIAorICAgICAgICArIGlzX3NldF9hcmc8VDExPjo6dmFsdWUgKyBpc19zZXRfYXJnPFQxMj46OnZhbHVlIAorICAgICAgICArIGlzX3NldF9hcmc8VDEzPjo6dmFsdWUgKyBpc19zZXRfYXJnPFQxND46OnZhbHVlIAorICAgICAgICArIGlzX3NldF9hcmc8VDE1Pjo6dmFsdWUgKyBpc19zZXRfYXJnPFQxNj46OnZhbHVlIAorICAgICAgICArIGlzX3NldF9hcmc8VDE3Pjo6dmFsdWUgKyBpc19zZXRfYXJnPFQxOD46OnZhbHVlIAorICAgICAgICArIGlzX3NldF9hcmc8VDE5Pjo6dmFsdWUgKyBpc19zZXRfYXJnPFQyMD46OnZhbHVlCisgICAgICAgICk7CisKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgID4KK3N0cnVjdCBzZXRfaW1wbAoreworICAgIHR5cGVkZWYgYXV4OjpzZXRfY291bnRfYXJnczwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQsIFQxNSwgVDE2LCBUMTcsIFQxOCwgVDE5CisgICAgICAgID4gYXJnX251bV87CisKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGF1eDo6c2V0X2Nob29zZXI8IGFyZ19udW1fOjp2YWx1ZSA+CisgICAgICAgIDo6dGVtcGxhdGUgcmVzdWx0XzwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzLFQxNCxUMTUsVDE2LFQxNyxUMTgsVDE5ID46OnR5cGUgdHlwZTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwID0gbmEsIHR5cGVuYW1lIFQxID0gbmEsIHR5cGVuYW1lIFQyID0gbmEsIHR5cGVuYW1lIFQzID0gbmEKKyAgICAsIHR5cGVuYW1lIFQ0ID0gbmEsIHR5cGVuYW1lIFQ1ID0gbmEsIHR5cGVuYW1lIFQ2ID0gbmEsIHR5cGVuYW1lIFQ3ID0gbmEKKyAgICAsIHR5cGVuYW1lIFQ4ID0gbmEsIHR5cGVuYW1lIFQ5ID0gbmEsIHR5cGVuYW1lIFQxMCA9IG5hLCB0eXBlbmFtZSBUMTEgPSBuYQorICAgICwgdHlwZW5hbWUgVDEyID0gbmEsIHR5cGVuYW1lIFQxMyA9IG5hLCB0eXBlbmFtZSBUMTQgPSBuYQorICAgICwgdHlwZW5hbWUgVDE1ID0gbmEsIHR5cGVuYW1lIFQxNiA9IG5hLCB0eXBlbmFtZSBUMTcgPSBuYQorICAgICwgdHlwZW5hbWUgVDE4ID0gbmEsIHR5cGVuYW1lIFQxOSA9IG5hCisgICAgPgorc3RydWN0IHNldAorICAgIDogYXV4OjpzZXRfaW1wbDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQsIFQxNSwgVDE2LCBUMTcsIFQxOCwgVDE5CisgICAgICAgID46OnR5cGUKK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGF1eDo6c2V0X2ltcGw8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0LCBUMTUsIFQxNiwgVDE3LCBUMTgsIFQxOQorICAgICAgICA+Ojp0eXBlIHR5cGU7Cit9OworCit9fQorCmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXN2YzYwL3NldF9jLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9tc3ZjNjAvc2V0X2MuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE5YTliMTgKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXN2YzYwL3NldF9jLmhwcApAQCAtMCwwICsxLDUzNCBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvc2V0X2MuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK25hbWVzcGFjZSBhdXggewordGVtcGxhdGU8IGludCBOID4KK3N0cnVjdCBzZXRfY19jaG9vc2VyOworCit9CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3Qgc2V0X2NfY2hvb3NlcjwwPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNSwgbG9uZyBDMTYsIGxvbmcgQzE3LCBsb25nIEMxOCwgbG9uZyBDMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDBfYzwKKyAgICAgICAgICAgICAgVAorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IHNldF9jX2Nob29zZXI8MT4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgICAgICAsIGxvbmcgQzEzLCBsb25nIEMxNCwgbG9uZyBDMTUsIGxvbmcgQzE2LCBsb25nIEMxNywgbG9uZyBDMTgsIGxvbmcgQzE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQxX2M8CisgICAgICAgICAgICAgIFQsIEMwCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3Qgc2V0X2NfY2hvb3NlcjwyPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNSwgbG9uZyBDMTYsIGxvbmcgQzE3LCBsb25nIEMxOCwgbG9uZyBDMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDJfYzwKKyAgICAgICAgICAgICAgVCwgQzAsIEMxCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3Qgc2V0X2NfY2hvb3NlcjwzPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNSwgbG9uZyBDMTYsIGxvbmcgQzE3LCBsb25nIEMxOCwgbG9uZyBDMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDNfYzwKKyAgICAgICAgICAgICAgVCwgQzAsIEMxLCBDMgorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IHNldF9jX2Nob29zZXI8ND4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgICAgICAsIGxvbmcgQzEzLCBsb25nIEMxNCwgbG9uZyBDMTUsIGxvbmcgQzE2LCBsb25nIEMxNywgbG9uZyBDMTgsIGxvbmcgQzE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQ0X2M8CisgICAgICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3Qgc2V0X2NfY2hvb3Nlcjw1PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNSwgbG9uZyBDMTYsIGxvbmcgQzE3LCBsb25nIEMxOCwgbG9uZyBDMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDVfYzwKKyAgICAgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3Qgc2V0X2NfY2hvb3Nlcjw2PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNSwgbG9uZyBDMTYsIGxvbmcgQzE3LCBsb25nIEMxOCwgbG9uZyBDMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDZfYzwKKyAgICAgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNQorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IHNldF9jX2Nob29zZXI8Nz4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgICAgICAsIGxvbmcgQzEzLCBsb25nIEMxNCwgbG9uZyBDMTUsIGxvbmcgQzE2LCBsb25nIEMxNywgbG9uZyBDMTgsIGxvbmcgQzE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQ3X2M8CisgICAgICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3Qgc2V0X2NfY2hvb3Nlcjw4PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNSwgbG9uZyBDMTYsIGxvbmcgQzE3LCBsb25nIEMxOCwgbG9uZyBDMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDhfYzwKKyAgICAgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3Qgc2V0X2NfY2hvb3Nlcjw5PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNSwgbG9uZyBDMTYsIGxvbmcgQzE3LCBsb25nIEMxOCwgbG9uZyBDMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDlfYzwKKyAgICAgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOAorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IHNldF9jX2Nob29zZXI8MTA+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1LCBsb25nIEMxNiwgbG9uZyBDMTcsIGxvbmcgQzE4LCBsb25nIEMxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0MTBfYzwKKyAgICAgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzkKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBzZXRfY19jaG9vc2VyPDExPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNSwgbG9uZyBDMTYsIGxvbmcgQzE3LCBsb25nIEMxOCwgbG9uZyBDMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDExX2M8CisgICAgICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBzZXRfY19jaG9vc2VyPDEyPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNSwgbG9uZyBDMTYsIGxvbmcgQzE3LCBsb25nIEMxOCwgbG9uZyBDMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDEyX2M8CisgICAgICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMQorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IHNldF9jX2Nob29zZXI8MTM+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1LCBsb25nIEMxNiwgbG9uZyBDMTcsIGxvbmcgQzE4LCBsb25nIEMxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0MTNfYzwKKyAgICAgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBDMTIKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBzZXRfY19jaG9vc2VyPDE0PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNSwgbG9uZyBDMTYsIGxvbmcgQzE3LCBsb25nIEMxOCwgbG9uZyBDMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDE0X2M8CisgICAgICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBzZXRfY19jaG9vc2VyPDE1PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNSwgbG9uZyBDMTYsIGxvbmcgQzE3LCBsb25nIEMxOCwgbG9uZyBDMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDE1X2M8CisgICAgICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMsIEMxNAorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IHNldF9jX2Nob29zZXI8MTY+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1LCBsb25nIEMxNiwgbG9uZyBDMTcsIGxvbmcgQzE4LCBsb25nIEMxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0MTZfYzwKKyAgICAgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBDMTIsIEMxMywgQzE0LCBDMTUKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBzZXRfY19jaG9vc2VyPDE3PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNSwgbG9uZyBDMTYsIGxvbmcgQzE3LCBsb25nIEMxOCwgbG9uZyBDMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDE3X2M8CisgICAgICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMsIEMxNCwgQzE1LCBDMTYKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBzZXRfY19jaG9vc2VyPDE4PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNSwgbG9uZyBDMTYsIGxvbmcgQzE3LCBsb25nIEMxOCwgbG9uZyBDMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDE4X2M8CisgICAgICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMsIEMxNCwgQzE1LCBDMTYsIEMxNworICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IHNldF9jX2Nob29zZXI8MTk+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1LCBsb25nIEMxNiwgbG9uZyBDMTcsIGxvbmcgQzE4LCBsb25nIEMxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0MTlfYzwKKyAgICAgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBDMTIsIEMxMywgQzE0LCBDMTUsIEMxNiwgQzE3LCBDMTgKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBzZXRfY19jaG9vc2VyPDIwPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNSwgbG9uZyBDMTYsIGxvbmcgQzE3LCBsb25nIEMxOCwgbG9uZyBDMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDIwX2M8CisgICAgICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMsIEMxNCwgQzE1LCBDMTYsIEMxNywgQzE4LCBDMTkKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPCBsb25nIEMgPgorc3RydWN0IGlzX3NldF9jX2FyZworeworICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChib29sLCB2YWx1ZSAgPSB0cnVlKTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBpc19zZXRfY19hcmc8TE9OR19NQVg+Cit7CisgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGJvb2wsIHZhbHVlICA9IGZhbHNlKTsKK307CisKK3RlbXBsYXRlPAorICAgICAgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNSwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOAorICAgICwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMiwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNQorICAgICwgbG9uZyBDMTYsIGxvbmcgQzE3LCBsb25nIEMxOCwgbG9uZyBDMTksIGxvbmcgQzIwCisgICAgPgorc3RydWN0IHNldF9jX2NvdW50X2FyZ3MKK3sKKyAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSA9CisgICAgICAgICAgaXNfc2V0X2NfYXJnPEMxPjo6dmFsdWUgKyBpc19zZXRfY19hcmc8QzI+Ojp2YWx1ZSAKKyAgICAgICAgKyBpc19zZXRfY19hcmc8QzM+Ojp2YWx1ZSArIGlzX3NldF9jX2FyZzxDND46OnZhbHVlIAorICAgICAgICArIGlzX3NldF9jX2FyZzxDNT46OnZhbHVlICsgaXNfc2V0X2NfYXJnPEM2Pjo6dmFsdWUgCisgICAgICAgICsgaXNfc2V0X2NfYXJnPEM3Pjo6dmFsdWUgKyBpc19zZXRfY19hcmc8Qzg+Ojp2YWx1ZSAKKyAgICAgICAgKyBpc19zZXRfY19hcmc8Qzk+Ojp2YWx1ZSArIGlzX3NldF9jX2FyZzxDMTA+Ojp2YWx1ZSAKKyAgICAgICAgKyBpc19zZXRfY19hcmc8QzExPjo6dmFsdWUgKyBpc19zZXRfY19hcmc8QzEyPjo6dmFsdWUgCisgICAgICAgICsgaXNfc2V0X2NfYXJnPEMxMz46OnZhbHVlICsgaXNfc2V0X2NfYXJnPEMxND46OnZhbHVlIAorICAgICAgICArIGlzX3NldF9jX2FyZzxDMTU+Ojp2YWx1ZSArIGlzX3NldF9jX2FyZzxDMTY+Ojp2YWx1ZSAKKyAgICAgICAgKyBpc19zZXRfY19hcmc8QzE3Pjo6dmFsdWUgKyBpc19zZXRfY19hcmc8QzE4Pjo6dmFsdWUgCisgICAgICAgICsgaXNfc2V0X2NfYXJnPEMxOT46OnZhbHVlICsgaXNfc2V0X2NfYXJnPEMyMD46OnZhbHVlCisgICAgICAgICk7CisKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNSwgbG9uZyBDMTYsIGxvbmcgQzE3LCBsb25nIEMxOCwgbG9uZyBDMTkKKyAgICA+CitzdHJ1Y3Qgc2V0X2NfaW1wbAoreworICAgIHR5cGVkZWYgYXV4OjpzZXRfY19jb3VudF9hcmdzPAorICAgICAgICAgIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMsIEMxNCwgQzE1LCBDMTYsIEMxNywgQzE4LCBDMTkKKyAgICAgICAgPiBhcmdfbnVtXzsKKworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXV4OjpzZXRfY19jaG9vc2VyPCBhcmdfbnVtXzo6dmFsdWUgPgorICAgICAgICA6OnRlbXBsYXRlIHJlc3VsdF88IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcsQzgsQzksQzEwLEMxMSxDMTIsQzEzLEMxNCxDMTUsQzE2LEMxNyxDMTgsQzE5ID46OnR5cGUgdHlwZTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAgPSBMT05HX01BWCwgbG9uZyBDMSA9IExPTkdfTUFYLCBsb25nIEMyID0gTE9OR19NQVgKKyAgICAsIGxvbmcgQzMgPSBMT05HX01BWCwgbG9uZyBDNCA9IExPTkdfTUFYLCBsb25nIEM1ID0gTE9OR19NQVgKKyAgICAsIGxvbmcgQzYgPSBMT05HX01BWCwgbG9uZyBDNyA9IExPTkdfTUFYLCBsb25nIEM4ID0gTE9OR19NQVgKKyAgICAsIGxvbmcgQzkgPSBMT05HX01BWCwgbG9uZyBDMTAgPSBMT05HX01BWCwgbG9uZyBDMTEgPSBMT05HX01BWAorICAgICwgbG9uZyBDMTIgPSBMT05HX01BWCwgbG9uZyBDMTMgPSBMT05HX01BWCwgbG9uZyBDMTQgPSBMT05HX01BWAorICAgICwgbG9uZyBDMTUgPSBMT05HX01BWCwgbG9uZyBDMTYgPSBMT05HX01BWCwgbG9uZyBDMTcgPSBMT05HX01BWAorICAgICwgbG9uZyBDMTggPSBMT05HX01BWCwgbG9uZyBDMTkgPSBMT05HX01BWAorICAgID4KK3N0cnVjdCBzZXRfYworICAgIDogYXV4OjpzZXRfY19pbXBsPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMsIEMxNCwgQzE1LCBDMTYsIEMxNywgQzE4LCBDMTkKKyAgICAgICAgPjo6dHlwZQoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXV4OjpzZXRfY19pbXBsPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMsIEMxNCwgQzE1LCBDMTYsIEMxNywgQzE4LCBDMTkKKyAgICAgICAgPjo6dHlwZSB0eXBlOworfTsKKworfX0KKwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL21zdmM2MC9zaGlmdF9sZWZ0LmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9tc3ZjNjAvc2hpZnRfbGVmdC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2MwNTY4OAotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9tc3ZjNjAvc2hpZnRfbGVmdC5ocHAKQEAgLTAsMCArMSwxMTQgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLyBDb3B5cmlnaHQgSmFhcCBTdXRlciAyMDAzCisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL3NoaWZ0X2xlZnQuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVGFnMQorICAgICwgdHlwZW5hbWUgVGFnMgorCisgICAgLCBCT09TVF9NUExfQVVYX05UVFBfREVDTChpbnQsIHRhZzFfKSAgPSBCT09TVF9NUExfQVVYX01TVkNfVkFMVUVfV0tORChUYWcxKTo6dmFsdWUKKyAgICAsIEJPT1NUX01QTF9BVVhfTlRUUF9ERUNMKGludCwgdGFnMl8pICA9IEJPT1NUX01QTF9BVVhfTVNWQ19WQUxVRV9XS05EKFRhZzIpOjp2YWx1ZQorICAgID4KK3N0cnVjdCBzaGlmdF9sZWZ0X2ltcGwKKyAgICA6IGlmX2M8CisgICAgICAgICAgKCB0YWcxXyA+IHRhZzJfICkKKyAgICAgICAgLCBhdXg6OmNhc3QybmRfaW1wbDwgc2hpZnRfbGVmdF9pbXBsPCBUYWcxLFRhZzEgPixUYWcxLCBUYWcyID4KKyAgICAgICAgLCBhdXg6OmNhc3Qxc3RfaW1wbDwgc2hpZnRfbGVmdF9pbXBsPCBUYWcyLFRhZzIgPixUYWcxLCBUYWcyID4KKyAgICAgICAgPjo6dHlwZQoreworfTsKKworLy8vIGZvciBEaWdpdGFsIE1hcnMgQysrL2NvbXBpbGVycyB3aXRoIG5vIENUUFMvVFRQIHN1cHBvcnQKK3RlbXBsYXRlPD4gc3RydWN0IHNoaWZ0X2xlZnRfaW1wbDwgbmEsbmEgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4gc3RydWN0IHNoaWZ0X2xlZnRfaW1wbDwgbmEsaW50ZWdyYWxfY190YWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4gc3RydWN0IHNoaWZ0X2xlZnRfaW1wbDwgaW50ZWdyYWxfY190YWcsbmEgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUID4gc3RydWN0IHNoaWZ0X2xlZnRfdGFnCit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBUOjp0YWcgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMSkKKyAgICAsIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjIpCisgICAgPgorc3RydWN0IHNoaWZ0X2xlZnQKKyAgICA6IGF1eDo6bXN2Y19ldGlfYmFzZTwgdHlwZW5hbWUgYXBwbHlfd3JhcDI8CisgICAgICAgICAgc2hpZnRfbGVmdF9pbXBsPAorICAgICAgICAgICAgICB0eXBlbmFtZSBzaGlmdF9sZWZ0X3RhZzxOMT46OnR5cGUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgc2hpZnRfbGVmdF90YWc8TjI+Ojp0eXBlCisgICAgICAgICAgICA+CisgICAgICAgICwgTjEKKyAgICAgICAgLCBOMgorICAgICAgICA+Ojp0eXBlID46OnR5cGUKKworeworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoMiwgc2hpZnRfbGVmdCwgKE4xLCBOMikpCisKK307CisKK0JPT1NUX01QTF9BVVhfTkFfU1BFQzIoMiwgMiwgc2hpZnRfbGVmdCkKKworfX0KKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK25hbWVzcGFjZSBhdXggewordGVtcGxhdGU8IHR5cGVuYW1lIFQsIHR5cGVuYW1lIFNoaWZ0LCBUIG4sIFNoaWZ0IHMgPgorc3RydWN0IHNoaWZ0X2xlZnRfd2tuZAoreworICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChULCB2YWx1ZSAgPSAobiA8PCBzKSk7CisgICAgdHlwZWRlZiBpbnRlZ3JhbF9jPCBULHZhbHVlID4gdHlwZTsKK307CisKK30KKwordGVtcGxhdGU8Pgorc3RydWN0IHNoaWZ0X2xlZnRfaW1wbDwgaW50ZWdyYWxfY190YWcsaW50ZWdyYWxfY190YWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBOLCB0eXBlbmFtZSBTID4gc3RydWN0IGFwcGx5CisgICAgICAgIDogYXV4OjpzaGlmdF9sZWZ0X3drbmQ8CisgICAgICAgICAgICAgIHR5cGVuYW1lIE46OnZhbHVlX3R5cGUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgUzo6dmFsdWVfdHlwZQorICAgICAgICAgICAgLCBOOjp2YWx1ZQorICAgICAgICAgICAgLCBTOjp2YWx1ZQorICAgICAgICAgICAgPjo6dHlwZQorCisgICAgeworICAgIH07Cit9OworCit9fQpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL21zdmM2MC9zaGlmdF9yaWdodC5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXN2YzYwL3NoaWZ0X3JpZ2h0LmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNjYzZDUxCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL21zdmM2MC9zaGlmdF9yaWdodC5ocHAKQEAgLTAsMCArMSwxMTQgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLyBDb3B5cmlnaHQgSmFhcCBTdXRlciAyMDAzCisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL3NoaWZ0X3JpZ2h0LmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFRhZzEKKyAgICAsIHR5cGVuYW1lIFRhZzIKKworICAgICwgQk9PU1RfTVBMX0FVWF9OVFRQX0RFQ0woaW50LCB0YWcxXykgID0gQk9PU1RfTVBMX0FVWF9NU1ZDX1ZBTFVFX1dLTkQoVGFnMSk6OnZhbHVlCisgICAgLCBCT09TVF9NUExfQVVYX05UVFBfREVDTChpbnQsIHRhZzJfKSAgPSBCT09TVF9NUExfQVVYX01TVkNfVkFMVUVfV0tORChUYWcyKTo6dmFsdWUKKyAgICA+CitzdHJ1Y3Qgc2hpZnRfcmlnaHRfaW1wbAorICAgIDogaWZfYzwKKyAgICAgICAgICAoIHRhZzFfID4gdGFnMl8gKQorICAgICAgICAsIGF1eDo6Y2FzdDJuZF9pbXBsPCBzaGlmdF9yaWdodF9pbXBsPCBUYWcxLFRhZzEgPixUYWcxLCBUYWcyID4KKyAgICAgICAgLCBhdXg6OmNhc3Qxc3RfaW1wbDwgc2hpZnRfcmlnaHRfaW1wbDwgVGFnMixUYWcyID4sVGFnMSwgVGFnMiA+CisgICAgICAgID46OnR5cGUKK3sKK307CisKKy8vLyBmb3IgRGlnaXRhbCBNYXJzIEMrKy9jb21waWxlcnMgd2l0aCBubyBDVFBTL1RUUCBzdXBwb3J0Cit0ZW1wbGF0ZTw+IHN0cnVjdCBzaGlmdF9yaWdodF9pbXBsPCBuYSxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3Qgc2hpZnRfcmlnaHRfaW1wbDwgbmEsaW50ZWdyYWxfY190YWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4gc3RydWN0IHNoaWZ0X3JpZ2h0X2ltcGw8IGludGVncmFsX2NfdGFnLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVCA+IHN0cnVjdCBzaGlmdF9yaWdodF90YWcKK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIFQ6OnRhZyB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4xKQorICAgICwgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMikKKyAgICA+CitzdHJ1Y3Qgc2hpZnRfcmlnaHQKKyAgICA6IGF1eDo6bXN2Y19ldGlfYmFzZTwgdHlwZW5hbWUgYXBwbHlfd3JhcDI8CisgICAgICAgICAgc2hpZnRfcmlnaHRfaW1wbDwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgc2hpZnRfcmlnaHRfdGFnPE4xPjo6dHlwZQorICAgICAgICAgICAgLCB0eXBlbmFtZSBzaGlmdF9yaWdodF90YWc8TjI+Ojp0eXBlCisgICAgICAgICAgICA+CisgICAgICAgICwgTjEKKyAgICAgICAgLCBOMgorICAgICAgICA+Ojp0eXBlID46OnR5cGUKKworeworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoMiwgc2hpZnRfcmlnaHQsIChOMSwgTjIpKQorCit9OworCitCT09TVF9NUExfQVVYX05BX1NQRUMyKDIsIDIsIHNoaWZ0X3JpZ2h0KQorCit9fQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKworbmFtZXNwYWNlIGF1eCB7Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgVCwgdHlwZW5hbWUgU2hpZnQsIFQgbiwgU2hpZnQgcyA+CitzdHJ1Y3Qgc2hpZnRfcmlnaHRfd2tuZAoreworICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChULCB2YWx1ZSAgPSAobiA+PiBzKSk7CisgICAgdHlwZWRlZiBpbnRlZ3JhbF9jPCBULHZhbHVlID4gdHlwZTsKK307CisKK30KKwordGVtcGxhdGU8Pgorc3RydWN0IHNoaWZ0X3JpZ2h0X2ltcGw8IGludGVncmFsX2NfdGFnLGludGVncmFsX2NfdGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgTiwgdHlwZW5hbWUgUyA+IHN0cnVjdCBhcHBseQorICAgICAgICA6IGF1eDo6c2hpZnRfcmlnaHRfd2tuZDwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgTjo6dmFsdWVfdHlwZQorICAgICAgICAgICAgLCB0eXBlbmFtZSBTOjp2YWx1ZV90eXBlCisgICAgICAgICAgICAsIE46OnZhbHVlCisgICAgICAgICAgICAsIFM6OnZhbHVlCisgICAgICAgICAgICA+Ojp0eXBlCisKKyAgICB7CisgICAgfTsKK307CisKK319CmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXN2YzYwL3RlbXBsYXRlX2FyaXR5LmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9tc3ZjNjAvdGVtcGxhdGVfYXJpdHkuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQzMWRiYTQKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXN2YzYwL3RlbXBsYXRlX2FyaXR5LmhwcApAQCAtMCwwICsxLDQ2IEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDEtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9hdXhfL3RlbXBsYXRlX2FyaXR5LmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeyBuYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8IGJvb2wgPgorc3RydWN0IHRlbXBsYXRlX2FyaXR5X2ltcGwKK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgRiA+IHN0cnVjdCByZXN1bHRfCisgICAgICAgIDogbXBsOjppbnRfPCAtMSA+CisgICAgeworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgdGVtcGxhdGVfYXJpdHlfaW1wbDx0cnVlPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBGID4gc3RydWN0IHJlc3VsdF8KKyAgICAgICAgOiBGOjphcml0eQorICAgIHsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIEYgPgorc3RydWN0IHRlbXBsYXRlX2FyaXR5CisgICAgOiB0ZW1wbGF0ZV9hcml0eV9pbXBsPCA6Om5kbmJvb3N0OjptcGw6OmF1eDo6aGFzX3JlYmluZDxGPjo6dmFsdWUgPgorICAgICAgICA6OnRlbXBsYXRlIHJlc3VsdF88Rj4KK3sKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCB0ZW1wbGF0ZV9hcml0eTxpbnQ+CisgICAgOiBtcGw6OmludF88IC0xID4KK3sKK307CisKK319fQorCmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXN2YzYwL3RpbWVzLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9tc3ZjNjAvdGltZXMuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFkZTI2YTIKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXN2YzYwL3RpbWVzLmhwcApAQCAtMCwwICsxLDE0OCBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvdGltZXMuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVGFnMQorICAgICwgdHlwZW5hbWUgVGFnMgorCisgICAgLCBCT09TVF9NUExfQVVYX05UVFBfREVDTChpbnQsIHRhZzFfKSAgPSBCT09TVF9NUExfQVVYX01TVkNfVkFMVUVfV0tORChUYWcxKTo6dmFsdWUKKyAgICAsIEJPT1NUX01QTF9BVVhfTlRUUF9ERUNMKGludCwgdGFnMl8pICA9IEJPT1NUX01QTF9BVVhfTVNWQ19WQUxVRV9XS05EKFRhZzIpOjp2YWx1ZQorICAgID4KK3N0cnVjdCB0aW1lc19pbXBsCisgICAgOiBpZl9jPAorICAgICAgICAgICggdGFnMV8gPiB0YWcyXyApCisgICAgICAgICwgYXV4OjpjYXN0Mm5kX2ltcGw8IHRpbWVzX2ltcGw8IFRhZzEsVGFnMSA+LFRhZzEsIFRhZzIgPgorICAgICAgICAsIGF1eDo6Y2FzdDFzdF9pbXBsPCB0aW1lc19pbXBsPCBUYWcyLFRhZzIgPixUYWcxLCBUYWcyID4KKyAgICAgICAgPjo6dHlwZQoreworfTsKKworLy8vIGZvciBEaWdpdGFsIE1hcnMgQysrL2NvbXBpbGVycyB3aXRoIG5vIENUUFMvVFRQIHN1cHBvcnQKK3RlbXBsYXRlPD4gc3RydWN0IHRpbWVzX2ltcGw8IG5hLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCB0aW1lc19pbXBsPCBuYSxpbnRlZ3JhbF9jX3RhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgdGltZXNfaW1wbDwgaW50ZWdyYWxfY190YWcsbmEgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUID4gc3RydWN0IHRpbWVzX3RhZworeworICAgIHR5cGVkZWYgdHlwZW5hbWUgVDo6dGFnIHR5cGU7Cit9OworCisvLy8gZm9yd2FyZCBkZWNsYXJhdGlvbgorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjEpCisgICAgLCB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4yKQorICAgID4KK3N0cnVjdCB0aW1lczI7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMSkKKyAgICAsIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjIpCisgICAgLCB0eXBlbmFtZSBOMyA9IG5hLCB0eXBlbmFtZSBONCA9IG5hLCB0eXBlbmFtZSBONSA9IG5hCisgICAgPgorc3RydWN0IHRpbWVzCisKKyAgICA6IGlmXzwKKworICAgICAgICAgIGlzX25hPE4zPgorICAgICAgICAsIHRpbWVzMjwgTjEsTjIgPgorICAgICAgICAsIHRpbWVzPAorICAgICAgICAgICAgICB0aW1lczI8IE4xLE4yID4KKyAgICAgICAgICAgICwgTjMsIE40LCBONQorICAgICAgICAgICAgPgorICAgICAgICA+Ojp0eXBlCisKK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKAorICAgICAgICAgIDUKKyAgICAgICAgLCB0aW1lcworICAgICAgICAsICggTjEsIE4yLCBOMywgTjQsIE41ICkKKyAgICAgICAgKQorfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBOMQorICAgICwgdHlwZW5hbWUgTjIKKyAgICA+CitzdHJ1Y3QgdGltZXMyCisgICAgOiBhdXg6Om1zdmNfZXRpX2Jhc2U8IHR5cGVuYW1lIGFwcGx5X3dyYXAyPAorICAgICAgICAgIHRpbWVzX2ltcGw8CisgICAgICAgICAgICAgIHR5cGVuYW1lIHRpbWVzX3RhZzxOMT46OnR5cGUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgdGltZXNfdGFnPE4yPjo6dHlwZQorICAgICAgICAgICAgPgorICAgICAgICAsIE4xCisgICAgICAgICwgTjIKKyAgICAgICAgPjo6dHlwZSA+Ojp0eXBlCisKK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKDIsIHRpbWVzMiwgKE4xLCBOMikpCisKK307CisKK0JPT1NUX01QTF9BVVhfTkFfU1BFQzIoMiwgNSwgdGltZXMpCisKK319CisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCituYW1lc3BhY2UgYXV4IHsKK3RlbXBsYXRlPCB0eXBlbmFtZSBULCBUIG4xLCBUIG4yID4KK3N0cnVjdCB0aW1lc193a25kCit7CisgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKFQsIHZhbHVlICA9IChuMSAqIG4yKSk7CisgICAgdHlwZWRlZiBpbnRlZ3JhbF9jPCBULHZhbHVlID4gdHlwZTsKK307CisKK30KKwordGVtcGxhdGU8Pgorc3RydWN0IHRpbWVzX2ltcGw8IGludGVncmFsX2NfdGFnLGludGVncmFsX2NfdGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgTjEsIHR5cGVuYW1lIE4yID4gc3RydWN0IGFwcGx5CisgICAgICAgIDogYXV4Ojp0aW1lc193a25kPAorICAgICAgICAgICAgICB0eXBlbmFtZSBhdXg6Omxhcmdlc3RfaW50PAorICAgICAgICAgICAgICAgICAgdHlwZW5hbWUgTjE6OnZhbHVlX3R5cGUKKyAgICAgICAgICAgICAgICAsIHR5cGVuYW1lIE4yOjp2YWx1ZV90eXBlCisgICAgICAgICAgICAgICAgPjo6dHlwZQorICAgICAgICAgICAgLCBOMTo6dmFsdWUKKyAgICAgICAgICAgICwgTjI6OnZhbHVlCisgICAgICAgICAgICA+Ojp0eXBlCisKKyAgICB7CisgICAgfTsKK307CisKK319CmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXN2YzYwL3VucGFja19hcmdzLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9tc3ZjNjAvdW5wYWNrX2FyZ3MuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJlZTc0NzIKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXN2YzYwL3VucGFja19hcmdzLmhwcApAQCAtMCwwICsxLDEwOSBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAyLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvdW5wYWNrX2FyZ3MuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwgQk9PU1RfTVBMX0FVWF9OVFRQX0RFQ0woaW50LCBzaXplKSA+IHN0cnVjdCB1bnBhY2tfYXJnc19pbXBsCit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIEYsIHR5cGVuYW1lIEFyZ3MgPiBzdHJ1Y3QgYXBwbHk7Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCB1bnBhY2tfYXJnc19pbXBsPDA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIEYsIHR5cGVuYW1lIEFyZ3MgPiBzdHJ1Y3QgYXBwbHkKKyAgICAgICAgOiBhcHBseTA8CisgICAgICAgICAgICAgIEYKKyAgICAgICAgICAgID4KKyAgICB7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4gc3RydWN0IHVucGFja19hcmdzX2ltcGw8MT4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgRiwgdHlwZW5hbWUgQXJncyA+IHN0cnVjdCBhcHBseQorICAgICAgICA6IGFwcGx5MTwKKyAgICAgICAgICAgICAgRgorICAgICAgICAgICAgLCB0eXBlbmFtZSBhdF9jPCBBcmdzLDAgPjo6dHlwZQorICAgICAgICAgICAgPgorICAgIHsKKyAgICB9OworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgdW5wYWNrX2FyZ3NfaW1wbDwyPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBGLCB0eXBlbmFtZSBBcmdzID4gc3RydWN0IGFwcGx5CisgICAgICAgIDogYXBwbHkyPAorICAgICAgICAgICAgICBGCisgICAgICAgICAgICAsIHR5cGVuYW1lIGF0X2M8IEFyZ3MsMCA+Ojp0eXBlLCB0eXBlbmFtZSBhdF9jPCBBcmdzLDEgPjo6dHlwZQorICAgICAgICAgICAgPgorICAgIHsKKyAgICB9OworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgdW5wYWNrX2FyZ3NfaW1wbDwzPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBGLCB0eXBlbmFtZSBBcmdzID4gc3RydWN0IGFwcGx5CisgICAgICAgIDogYXBwbHkzPAorICAgICAgICAgICAgICBGCisgICAgICAgICAgICAsIHR5cGVuYW1lIGF0X2M8IEFyZ3MsMCA+Ojp0eXBlLCB0eXBlbmFtZSBhdF9jPCBBcmdzLDEgPjo6dHlwZQorICAgICAgICAgICAgLCB0eXBlbmFtZSBhdF9jPCBBcmdzLDIgPjo6dHlwZQorICAgICAgICAgICAgPgorICAgIHsKKyAgICB9OworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgdW5wYWNrX2FyZ3NfaW1wbDw0PgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBGLCB0eXBlbmFtZSBBcmdzID4gc3RydWN0IGFwcGx5CisgICAgICAgIDogYXBwbHk0PAorICAgICAgICAgICAgICBGCisgICAgICAgICAgICAsIHR5cGVuYW1lIGF0X2M8IEFyZ3MsMCA+Ojp0eXBlLCB0eXBlbmFtZSBhdF9jPCBBcmdzLDEgPjo6dHlwZQorICAgICAgICAgICAgLCB0eXBlbmFtZSBhdF9jPCBBcmdzLDIgPjo6dHlwZSwgdHlwZW5hbWUgYXRfYzwgQXJncywzID46OnR5cGUKKyAgICAgICAgICAgID4KKyAgICB7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4gc3RydWN0IHVucGFja19hcmdzX2ltcGw8NT4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgRiwgdHlwZW5hbWUgQXJncyA+IHN0cnVjdCBhcHBseQorICAgICAgICA6IGFwcGx5NTwKKyAgICAgICAgICAgICAgRgorICAgICAgICAgICAgLCB0eXBlbmFtZSBhdF9jPCBBcmdzLDAgPjo6dHlwZSwgdHlwZW5hbWUgYXRfYzwgQXJncywxID46OnR5cGUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgYXRfYzwgQXJncywyID46OnR5cGUsIHR5cGVuYW1lIGF0X2M8IEFyZ3MsMyA+Ojp0eXBlCisgICAgICAgICAgICAsIHR5cGVuYW1lIGF0X2M8IEFyZ3MsNCA+Ojp0eXBlCisgICAgICAgICAgICA+CisgICAgeworICAgIH07Cit9OworCit9CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRgorICAgID4KK3N0cnVjdCB1bnBhY2tfYXJncworeworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBBcmdzID4gc3RydWN0IGFwcGx5CisKKyAgICAgICAgOiBhdXg6OnVucGFja19hcmdzX2ltcGw8IHNpemU8QXJncz46OnZhbHVlID4KKyAgICAgICAgICAgIDo6dGVtcGxhdGUgYXBwbHk8IEYsQXJncyA+CisKKyAgICB7CisgICAgfTsKK307CisKK0JPT1NUX01QTF9BVVhfUEFTU19USFJPVUdIX0xBTUJEQV9TUEVDKDEsIHVucGFja19hcmdzKQorCit9fQorCmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXN2YzYwL3ZlY3Rvci5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXN2YzYwL3ZlY3Rvci5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmRlZTkyMwotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9tc3ZjNjAvdmVjdG9yLmhwcApAQCAtMCwwICsxLDU1NiBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvdmVjdG9yLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCituYW1lc3BhY2UgYXV4IHsKK3RlbXBsYXRlPCBpbnQgTiA+CitzdHJ1Y3QgdmVjdG9yX2Nob29zZXI7CisKK30KKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCB2ZWN0b3JfY2hvb3NlcjwwPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjA8CisgICAgICAgICAgICAgCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgdmVjdG9yX2Nob29zZXI8MT4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxPAorICAgICAgICAgICAgICBUMAorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IHZlY3Rvcl9jaG9vc2VyPDI+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMjwKKyAgICAgICAgICAgICAgVDAsIFQxCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgdmVjdG9yX2Nob29zZXI8Mz4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IzPAorICAgICAgICAgICAgICBUMCwgVDEsIFQyCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgdmVjdG9yX2Nob29zZXI8ND4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3I0PAorICAgICAgICAgICAgICBUMCwgVDEsIFQyLCBUMworICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IHZlY3Rvcl9jaG9vc2VyPDU+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yNTwKKyAgICAgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgdmVjdG9yX2Nob29zZXI8Nj4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3I2PAorICAgICAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgdmVjdG9yX2Nob29zZXI8Nz4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3I3PAorICAgICAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNgorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IHZlY3Rvcl9jaG9vc2VyPDg+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yODwKKyAgICAgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgdmVjdG9yX2Nob29zZXI8OT4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3I5PAorICAgICAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgdmVjdG9yX2Nob29zZXI8MTA+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTA8CisgICAgICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgdmVjdG9yX2Nob29zZXI8MTE+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTE8CisgICAgICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCB2ZWN0b3JfY2hvb3NlcjwxMj4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxMjwKKyAgICAgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgdmVjdG9yX2Nob29zZXI8MTM+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTM8CisgICAgICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgdmVjdG9yX2Nob29zZXI8MTQ+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTQ8CisgICAgICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCB2ZWN0b3JfY2hvb3NlcjwxNT4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxNTwKKyAgICAgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgdmVjdG9yX2Nob29zZXI8MTY+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTY8CisgICAgICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNCwgVDE1CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgdmVjdG9yX2Nob29zZXI8MTc+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTc8CisgICAgICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNCwgVDE1LCBUMTYKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCB2ZWN0b3JfY2hvb3NlcjwxOD4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxODwKKyAgICAgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0LCBUMTUsIFQxNiwgVDE3CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgdmVjdG9yX2Nob29zZXI8MTk+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTk8CisgICAgICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNCwgVDE1LCBUMTYsIFQxNywgVDE4CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgdmVjdG9yX2Nob29zZXI8MjA+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMjA8CisgICAgICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNCwgVDE1LCBUMTYsIFQxNywgVDE4LCBUMTkKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUID4KK3N0cnVjdCBpc192ZWN0b3JfYXJnCit7CisgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGJvb2wsIHZhbHVlICA9IHRydWUpOworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGlzX3ZlY3Rvcl9hcmc8bmE+Cit7CisgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGJvb2wsIHZhbHVlICA9IGZhbHNlKTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQsIHR5cGVuYW1lIFQ1CisgICAgLCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOSwgdHlwZW5hbWUgVDEwCisgICAgLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQsIHR5cGVuYW1lIFQxNQorICAgICwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5LCB0eXBlbmFtZSBUMjAKKyAgICA+CitzdHJ1Y3QgdmVjdG9yX2NvdW50X2FyZ3MKK3sKKyAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSA9CisgICAgICAgICAgaXNfdmVjdG9yX2FyZzxUMT46OnZhbHVlICsgaXNfdmVjdG9yX2FyZzxUMj46OnZhbHVlIAorICAgICAgICArIGlzX3ZlY3Rvcl9hcmc8VDM+Ojp2YWx1ZSArIGlzX3ZlY3Rvcl9hcmc8VDQ+Ojp2YWx1ZSAKKyAgICAgICAgKyBpc192ZWN0b3JfYXJnPFQ1Pjo6dmFsdWUgKyBpc192ZWN0b3JfYXJnPFQ2Pjo6dmFsdWUgCisgICAgICAgICsgaXNfdmVjdG9yX2FyZzxUNz46OnZhbHVlICsgaXNfdmVjdG9yX2FyZzxUOD46OnZhbHVlIAorICAgICAgICArIGlzX3ZlY3Rvcl9hcmc8VDk+Ojp2YWx1ZSArIGlzX3ZlY3Rvcl9hcmc8VDEwPjo6dmFsdWUgCisgICAgICAgICsgaXNfdmVjdG9yX2FyZzxUMTE+Ojp2YWx1ZSArIGlzX3ZlY3Rvcl9hcmc8VDEyPjo6dmFsdWUgCisgICAgICAgICsgaXNfdmVjdG9yX2FyZzxUMTM+Ojp2YWx1ZSArIGlzX3ZlY3Rvcl9hcmc8VDE0Pjo6dmFsdWUgCisgICAgICAgICsgaXNfdmVjdG9yX2FyZzxUMTU+Ojp2YWx1ZSArIGlzX3ZlY3Rvcl9hcmc8VDE2Pjo6dmFsdWUgCisgICAgICAgICsgaXNfdmVjdG9yX2FyZzxUMTc+Ojp2YWx1ZSArIGlzX3ZlY3Rvcl9hcmc8VDE4Pjo6dmFsdWUgCisgICAgICAgICsgaXNfdmVjdG9yX2FyZzxUMTk+Ojp2YWx1ZSArIGlzX3ZlY3Rvcl9hcmc8VDIwPjo6dmFsdWUKKyAgICAgICAgKTsKKworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgPgorc3RydWN0IHZlY3Rvcl9pbXBsCit7CisgICAgdHlwZWRlZiBhdXg6OnZlY3Rvcl9jb3VudF9hcmdzPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNCwgVDE1LCBUMTYsIFQxNywgVDE4LCBUMTkKKyAgICAgICAgPiBhcmdfbnVtXzsKKworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXV4Ojp2ZWN0b3JfY2hvb3NlcjwgYXJnX251bV86OnZhbHVlID4KKyAgICAgICAgOjp0ZW1wbGF0ZSByZXN1bHRfPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMsVDE0LFQxNSxUMTYsVDE3LFQxOCxUMTkgPjo6dHlwZSB0eXBlOworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAgPSBuYSwgdHlwZW5hbWUgVDEgPSBuYSwgdHlwZW5hbWUgVDIgPSBuYSwgdHlwZW5hbWUgVDMgPSBuYQorICAgICwgdHlwZW5hbWUgVDQgPSBuYSwgdHlwZW5hbWUgVDUgPSBuYSwgdHlwZW5hbWUgVDYgPSBuYSwgdHlwZW5hbWUgVDcgPSBuYQorICAgICwgdHlwZW5hbWUgVDggPSBuYSwgdHlwZW5hbWUgVDkgPSBuYSwgdHlwZW5hbWUgVDEwID0gbmEsIHR5cGVuYW1lIFQxMSA9IG5hCisgICAgLCB0eXBlbmFtZSBUMTIgPSBuYSwgdHlwZW5hbWUgVDEzID0gbmEsIHR5cGVuYW1lIFQxNCA9IG5hCisgICAgLCB0eXBlbmFtZSBUMTUgPSBuYSwgdHlwZW5hbWUgVDE2ID0gbmEsIHR5cGVuYW1lIFQxNyA9IG5hCisgICAgLCB0eXBlbmFtZSBUMTggPSBuYSwgdHlwZW5hbWUgVDE5ID0gbmEKKyAgICA+CitzdHJ1Y3QgdmVjdG9yCisgICAgOiBhdXg6OnZlY3Rvcl9pbXBsPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNCwgVDE1LCBUMTYsIFQxNywgVDE4LCBUMTkKKyAgICAgICAgPjo6dHlwZQoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXV4Ojp2ZWN0b3JfaW1wbDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQsIFQxNSwgVDE2LCBUMTcsIFQxOCwgVDE5CisgICAgICAgID46OnR5cGUgdHlwZTsKK307CisKK319CisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9tc3ZjNjAvdmVjdG9yX2MuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL21zdmM2MC92ZWN0b3JfYy5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2U2NDViOQotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9tc3ZjNjAvdmVjdG9yX2MuaHBwCkBAIC0wLDAgKzEsNTM0IEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC92ZWN0b3JfYy5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKworbmFtZXNwYWNlIGF1eCB7Cit0ZW1wbGF0ZTwgaW50IE4gPgorc3RydWN0IHZlY3Rvcl9jX2Nob29zZXI7CisKK30KKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCB2ZWN0b3JfY19jaG9vc2VyPDA+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1LCBsb25nIEMxNiwgbG9uZyBDMTcsIGxvbmcgQzE4LCBsb25nIEMxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMF9jPAorICAgICAgICAgICAgICBUCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgdmVjdG9yX2NfY2hvb3NlcjwxPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNSwgbG9uZyBDMTYsIGxvbmcgQzE3LCBsb25nIEMxOCwgbG9uZyBDMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjFfYzwKKyAgICAgICAgICAgICAgVCwgVChDMCkKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCB2ZWN0b3JfY19jaG9vc2VyPDI+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1LCBsb25nIEMxNiwgbG9uZyBDMTcsIGxvbmcgQzE4LCBsb25nIEMxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMl9jPAorICAgICAgICAgICAgICBULCBUKEMwKSwgVChDMSkKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCB2ZWN0b3JfY19jaG9vc2VyPDM+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1LCBsb25nIEMxNiwgbG9uZyBDMTcsIGxvbmcgQzE4LCBsb25nIEMxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yM19jPAorICAgICAgICAgICAgICBULCBUKEMwKSwgVChDMSksIFQoQzIpCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgdmVjdG9yX2NfY2hvb3Nlcjw0PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNSwgbG9uZyBDMTYsIGxvbmcgQzE3LCBsb25nIEMxOCwgbG9uZyBDMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjRfYzwKKyAgICAgICAgICAgICAgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMykKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCB2ZWN0b3JfY19jaG9vc2VyPDU+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1LCBsb25nIEMxNiwgbG9uZyBDMTcsIGxvbmcgQzE4LCBsb25nIEMxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yNV9jPAorICAgICAgICAgICAgICBULCBUKEMwKSwgVChDMSksIFQoQzIpLCBUKEMzKSwgVChDNCkKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCB2ZWN0b3JfY19jaG9vc2VyPDY+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1LCBsb25nIEMxNiwgbG9uZyBDMTcsIGxvbmcgQzE4LCBsb25nIEMxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yNl9jPAorICAgICAgICAgICAgICBULCBUKEMwKSwgVChDMSksIFQoQzIpLCBUKEMzKSwgVChDNCksIFQoQzUpCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgdmVjdG9yX2NfY2hvb3Nlcjw3PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNSwgbG9uZyBDMTYsIGxvbmcgQzE3LCBsb25nIEMxOCwgbG9uZyBDMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjdfYzwKKyAgICAgICAgICAgICAgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMyksIFQoQzQpLCBUKEM1KSwgVChDNikKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCB2ZWN0b3JfY19jaG9vc2VyPDg+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1LCBsb25nIEMxNiwgbG9uZyBDMTcsIGxvbmcgQzE4LCBsb25nIEMxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yOF9jPAorICAgICAgICAgICAgICBULCBUKEMwKSwgVChDMSksIFQoQzIpLCBUKEMzKSwgVChDNCksIFQoQzUpLCBUKEM2KSwgVChDNykKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCB2ZWN0b3JfY19jaG9vc2VyPDk+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1LCBsb25nIEMxNiwgbG9uZyBDMTcsIGxvbmcgQzE4LCBsb25nIEMxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yOV9jPAorICAgICAgICAgICAgICBULCBUKEMwKSwgVChDMSksIFQoQzIpLCBUKEMzKSwgVChDNCksIFQoQzUpLCBUKEM2KSwgVChDNyksIFQoQzgpCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgdmVjdG9yX2NfY2hvb3NlcjwxMD4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgICAgICAsIGxvbmcgQzEzLCBsb25nIEMxNCwgbG9uZyBDMTUsIGxvbmcgQzE2LCBsb25nIEMxNywgbG9uZyBDMTgsIGxvbmcgQzE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxMF9jPAorICAgICAgICAgICAgICBULCBUKEMwKSwgVChDMSksIFQoQzIpLCBUKEMzKSwgVChDNCksIFQoQzUpLCBUKEM2KSwgVChDNyksIFQoQzgpLCBUKEM5KQorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IHZlY3Rvcl9jX2Nob29zZXI8MTE+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1LCBsb25nIEMxNiwgbG9uZyBDMTcsIGxvbmcgQzE4LCBsb25nIEMxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTFfYzwKKyAgICAgICAgICAgICAgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMyksIFQoQzQpLCBUKEM1KSwgVChDNiksIFQoQzcpLCBUKEM4KSwgVChDOSksIFQoQzEwKQorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IHZlY3Rvcl9jX2Nob29zZXI8MTI+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1LCBsb25nIEMxNiwgbG9uZyBDMTcsIGxvbmcgQzE4LCBsb25nIEMxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTJfYzwKKyAgICAgICAgICAgICAgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMyksIFQoQzQpLCBUKEM1KSwgVChDNiksIFQoQzcpLCBUKEM4KSwgVChDOSksIFQoQzEwKSwgVChDMTEpCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgdmVjdG9yX2NfY2hvb3NlcjwxMz4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgICAgICAsIGxvbmcgQzEzLCBsb25nIEMxNCwgbG9uZyBDMTUsIGxvbmcgQzE2LCBsb25nIEMxNywgbG9uZyBDMTgsIGxvbmcgQzE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxM19jPAorICAgICAgICAgICAgICBULCBUKEMwKSwgVChDMSksIFQoQzIpLCBUKEMzKSwgVChDNCksIFQoQzUpLCBUKEM2KSwgVChDNyksIFQoQzgpLCBUKEM5KSwgVChDMTApLCBUKEMxMSksIFQoQzEyKQorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IHZlY3Rvcl9jX2Nob29zZXI8MTQ+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1LCBsb25nIEMxNiwgbG9uZyBDMTcsIGxvbmcgQzE4LCBsb25nIEMxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTRfYzwKKyAgICAgICAgICAgICAgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMyksIFQoQzQpLCBUKEM1KSwgVChDNiksIFQoQzcpLCBUKEM4KSwgVChDOSksIFQoQzEwKSwgVChDMTEpLCBUKEMxMiksIFQoQzEzKQorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IHZlY3Rvcl9jX2Nob29zZXI8MTU+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1LCBsb25nIEMxNiwgbG9uZyBDMTcsIGxvbmcgQzE4LCBsb25nIEMxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTVfYzwKKyAgICAgICAgICAgICAgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMyksIFQoQzQpLCBUKEM1KSwgVChDNiksIFQoQzcpLCBUKEM4KSwgVChDOSksIFQoQzEwKSwgVChDMTEpLCBUKEMxMiksIFQoQzEzKSwgVChDMTQpCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgdmVjdG9yX2NfY2hvb3NlcjwxNj4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgICAgICAsIGxvbmcgQzEzLCBsb25nIEMxNCwgbG9uZyBDMTUsIGxvbmcgQzE2LCBsb25nIEMxNywgbG9uZyBDMTgsIGxvbmcgQzE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxNl9jPAorICAgICAgICAgICAgICBULCBUKEMwKSwgVChDMSksIFQoQzIpLCBUKEMzKSwgVChDNCksIFQoQzUpLCBUKEM2KSwgVChDNyksIFQoQzgpLCBUKEM5KSwgVChDMTApLCBUKEMxMSksIFQoQzEyKSwgVChDMTMpLCBUKEMxNCksIFQoQzE1KQorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IHZlY3Rvcl9jX2Nob29zZXI8MTc+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1LCBsb25nIEMxNiwgbG9uZyBDMTcsIGxvbmcgQzE4LCBsb25nIEMxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTdfYzwKKyAgICAgICAgICAgICAgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMyksIFQoQzQpLCBUKEM1KSwgVChDNiksIFQoQzcpLCBUKEM4KSwgVChDOSksIFQoQzEwKSwgVChDMTEpLCBUKEMxMiksIFQoQzEzKSwgVChDMTQpLCBUKEMxNSksIFQoQzE2KQorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IHZlY3Rvcl9jX2Nob29zZXI8MTg+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1LCBsb25nIEMxNiwgbG9uZyBDMTcsIGxvbmcgQzE4LCBsb25nIEMxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMThfYzwKKyAgICAgICAgICAgICAgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMyksIFQoQzQpLCBUKEM1KSwgVChDNiksIFQoQzcpLCBUKEM4KSwgVChDOSksIFQoQzEwKSwgVChDMTEpLCBUKEMxMiksIFQoQzEzKSwgVChDMTQpLCBUKEMxNSksIFQoQzE2KSwgVChDMTcpCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgdmVjdG9yX2NfY2hvb3NlcjwxOT4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgICAgICAsIGxvbmcgQzEzLCBsb25nIEMxNCwgbG9uZyBDMTUsIGxvbmcgQzE2LCBsb25nIEMxNywgbG9uZyBDMTgsIGxvbmcgQzE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxOV9jPAorICAgICAgICAgICAgICBULCBUKEMwKSwgVChDMSksIFQoQzIpLCBUKEMzKSwgVChDNCksIFQoQzUpLCBUKEM2KSwgVChDNyksIFQoQzgpLCBUKEM5KSwgVChDMTApLCBUKEMxMSksIFQoQzEyKSwgVChDMTMpLCBUKEMxNCksIFQoQzE1KSwgVChDMTYpLCBUKEMxNyksIFQoQzE4KQorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IHZlY3Rvcl9jX2Nob29zZXI8MjA+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1LCBsb25nIEMxNiwgbG9uZyBDMTcsIGxvbmcgQzE4LCBsb25nIEMxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMjBfYzwKKyAgICAgICAgICAgICAgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMyksIFQoQzQpLCBUKEM1KSwgVChDNiksIFQoQzcpLCBUKEM4KSwgVChDOSksIFQoQzEwKSwgVChDMTEpLCBUKEMxMiksIFQoQzEzKSwgVChDMTQpLCBUKEMxNSksIFQoQzE2KSwgVChDMTcpLCBUKEMxOCksIFQoQzE5KQorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8IGxvbmcgQyA+CitzdHJ1Y3QgaXNfdmVjdG9yX2NfYXJnCit7CisgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGJvb2wsIHZhbHVlICA9IHRydWUpOworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGlzX3ZlY3Rvcl9jX2FyZzxMT05HX01BWD4KK3sKKyAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoYm9vbCwgdmFsdWUgID0gZmFsc2UpOworfTsKKwordGVtcGxhdGU8CisgICAgICBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1LCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4CisgICAgLCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1CisgICAgLCBsb25nIEMxNiwgbG9uZyBDMTcsIGxvbmcgQzE4LCBsb25nIEMxOSwgbG9uZyBDMjAKKyAgICA+CitzdHJ1Y3QgdmVjdG9yX2NfY291bnRfYXJncworeworICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlID0KKyAgICAgICAgICBpc192ZWN0b3JfY19hcmc8QzE+Ojp2YWx1ZSArIGlzX3ZlY3Rvcl9jX2FyZzxDMj46OnZhbHVlIAorICAgICAgICArIGlzX3ZlY3Rvcl9jX2FyZzxDMz46OnZhbHVlICsgaXNfdmVjdG9yX2NfYXJnPEM0Pjo6dmFsdWUgCisgICAgICAgICsgaXNfdmVjdG9yX2NfYXJnPEM1Pjo6dmFsdWUgKyBpc192ZWN0b3JfY19hcmc8QzY+Ojp2YWx1ZSAKKyAgICAgICAgKyBpc192ZWN0b3JfY19hcmc8Qzc+Ojp2YWx1ZSArIGlzX3ZlY3Rvcl9jX2FyZzxDOD46OnZhbHVlIAorICAgICAgICArIGlzX3ZlY3Rvcl9jX2FyZzxDOT46OnZhbHVlICsgaXNfdmVjdG9yX2NfYXJnPEMxMD46OnZhbHVlIAorICAgICAgICArIGlzX3ZlY3Rvcl9jX2FyZzxDMTE+Ojp2YWx1ZSArIGlzX3ZlY3Rvcl9jX2FyZzxDMTI+Ojp2YWx1ZSAKKyAgICAgICAgKyBpc192ZWN0b3JfY19hcmc8QzEzPjo6dmFsdWUgKyBpc192ZWN0b3JfY19hcmc8QzE0Pjo6dmFsdWUgCisgICAgICAgICsgaXNfdmVjdG9yX2NfYXJnPEMxNT46OnZhbHVlICsgaXNfdmVjdG9yX2NfYXJnPEMxNj46OnZhbHVlIAorICAgICAgICArIGlzX3ZlY3Rvcl9jX2FyZzxDMTc+Ojp2YWx1ZSArIGlzX3ZlY3Rvcl9jX2FyZzxDMTg+Ojp2YWx1ZSAKKyAgICAgICAgKyBpc192ZWN0b3JfY19hcmc8QzE5Pjo6dmFsdWUgKyBpc192ZWN0b3JfY19hcmc8QzIwPjo6dmFsdWUKKyAgICAgICAgKTsKKworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1LCBsb25nIEMxNiwgbG9uZyBDMTcsIGxvbmcgQzE4LCBsb25nIEMxOQorICAgID4KK3N0cnVjdCB2ZWN0b3JfY19pbXBsCit7CisgICAgdHlwZWRlZiBhdXg6OnZlY3Rvcl9jX2NvdW50X2FyZ3M8CisgICAgICAgICAgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBDMTIsIEMxMywgQzE0LCBDMTUsIEMxNiwgQzE3LCBDMTgsIEMxOQorICAgICAgICA+IGFyZ19udW1fOworCisgICAgdHlwZWRlZiB0eXBlbmFtZSBhdXg6OnZlY3Rvcl9jX2Nob29zZXI8IGFyZ19udW1fOjp2YWx1ZSA+CisgICAgICAgIDo6dGVtcGxhdGUgcmVzdWx0XzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyxDOCxDOSxDMTAsQzExLEMxMixDMTMsQzE0LEMxNSxDMTYsQzE3LEMxOCxDMTkgPjo6dHlwZSB0eXBlOworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCA9IExPTkdfTUFYLCBsb25nIEMxID0gTE9OR19NQVgsIGxvbmcgQzIgPSBMT05HX01BWAorICAgICwgbG9uZyBDMyA9IExPTkdfTUFYLCBsb25nIEM0ID0gTE9OR19NQVgsIGxvbmcgQzUgPSBMT05HX01BWAorICAgICwgbG9uZyBDNiA9IExPTkdfTUFYLCBsb25nIEM3ID0gTE9OR19NQVgsIGxvbmcgQzggPSBMT05HX01BWAorICAgICwgbG9uZyBDOSA9IExPTkdfTUFYLCBsb25nIEMxMCA9IExPTkdfTUFYLCBsb25nIEMxMSA9IExPTkdfTUFYCisgICAgLCBsb25nIEMxMiA9IExPTkdfTUFYLCBsb25nIEMxMyA9IExPTkdfTUFYLCBsb25nIEMxNCA9IExPTkdfTUFYCisgICAgLCBsb25nIEMxNSA9IExPTkdfTUFYLCBsb25nIEMxNiA9IExPTkdfTUFYLCBsb25nIEMxNyA9IExPTkdfTUFYCisgICAgLCBsb25nIEMxOCA9IExPTkdfTUFYLCBsb25nIEMxOSA9IExPTkdfTUFYCisgICAgPgorc3RydWN0IHZlY3Rvcl9jCisgICAgOiBhdXg6OnZlY3Rvcl9jX2ltcGw8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBDMTIsIEMxMywgQzE0LCBDMTUsIEMxNiwgQzE3LCBDMTgsIEMxOQorICAgICAgICA+Ojp0eXBlCit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhdXg6OnZlY3Rvcl9jX2ltcGw8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBDMTIsIEMxMywgQzE0LCBDMTUsIEMxNiwgQzE3LCBDMTgsIEMxOQorICAgICAgICA+Ojp0eXBlIHR5cGU7Cit9OworCit9fQorCmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXN2YzcwL2FkdmFuY2VfYmFja3dhcmQuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL21zdmM3MC9hZHZhbmNlX2JhY2t3YXJkLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZTBjODI4Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL21zdmM3MC9hZHZhbmNlX2JhY2t3YXJkLmhwcApAQCAtMCwwICsxLDk3IEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9hdXhfL2FkdmFuY2VfYmFja3dhcmQuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7IG5hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwgbG9uZyBOID4gc3RydWN0IGFkdmFuY2VfYmFja3dhcmQ7Cit0ZW1wbGF0ZTw+CitzdHJ1Y3QgYWR2YW5jZV9iYWNrd2FyZDwwPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBJdGVyYXRvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBJdGVyYXRvciBpdGVyMDsKKyAgICAgICAgdHlwZWRlZiBpdGVyMCB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgYWR2YW5jZV9iYWNrd2FyZDwxPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBJdGVyYXRvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBJdGVyYXRvciBpdGVyMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBwcmlvcjxpdGVyMD46OnR5cGUgaXRlcjE7CisgICAgICAgIHR5cGVkZWYgaXRlcjEgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGFkdmFuY2VfYmFja3dhcmQ8Mj4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgSXRlcmF0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgSXRlcmF0b3IgaXRlcjA7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcHJpb3I8aXRlcjA+Ojp0eXBlIGl0ZXIxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHByaW9yPGl0ZXIxPjo6dHlwZSBpdGVyMjsKKyAgICAgICAgdHlwZWRlZiBpdGVyMiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgYWR2YW5jZV9iYWNrd2FyZDwzPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBJdGVyYXRvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBJdGVyYXRvciBpdGVyMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBwcmlvcjxpdGVyMD46OnR5cGUgaXRlcjE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcHJpb3I8aXRlcjE+Ojp0eXBlIGl0ZXIyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHByaW9yPGl0ZXIyPjo6dHlwZSBpdGVyMzsKKyAgICAgICAgdHlwZWRlZiBpdGVyMyB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgYWR2YW5jZV9iYWNrd2FyZDw0PgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBJdGVyYXRvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBJdGVyYXRvciBpdGVyMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBwcmlvcjxpdGVyMD46OnR5cGUgaXRlcjE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcHJpb3I8aXRlcjE+Ojp0eXBlIGl0ZXIyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHByaW9yPGl0ZXIyPjo6dHlwZSBpdGVyMzsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBwcmlvcjxpdGVyMz46OnR5cGUgaXRlcjQ7CisgICAgICAgIHR5cGVkZWYgaXRlcjQgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IGxvbmcgTiA+CitzdHJ1Y3QgYWR2YW5jZV9iYWNrd2FyZAoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBJdGVyYXRvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseV93cmFwMTwKKyAgICAgICAgICAgICAgYWR2YW5jZV9iYWNrd2FyZDw0PgorICAgICAgICAgICAgLCBJdGVyYXRvcgorICAgICAgICAgICAgPjo6dHlwZSBjaHVua19yZXN1bHRfOworCisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHlfd3JhcDE8CisgICAgICAgICAgICAgIGFkdmFuY2VfYmFja3dhcmQ8KAorICAgICAgICAgICAgICAgIChOIC0gNCkgPCAwCisgICAgICAgICAgICAgICAgICAgID8gMAorICAgICAgICAgICAgICAgICAgICA6IE4gLSA0CisgICAgICAgICAgICAgICAgICAgICk+CisgICAgICAgICAgICAsIGNodW5rX3Jlc3VsdF8KKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKyAgICB9OworfTsKKworfX19CisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9tc3ZjNzAvYWR2YW5jZV9mb3J3YXJkLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9tc3ZjNzAvYWR2YW5jZV9mb3J3YXJkLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iM2E1YWZkCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL21zdmM3MC9hZHZhbmNlX2ZvcndhcmQuaHBwCkBAIC0wLDAgKzEsOTcgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL2F1eF8vYWR2YW5jZV9mb3J3YXJkLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeyBuYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8IGxvbmcgTiA+IHN0cnVjdCBhZHZhbmNlX2ZvcndhcmQ7Cit0ZW1wbGF0ZTw+CitzdHJ1Y3QgYWR2YW5jZV9mb3J3YXJkPDA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIEl0ZXJhdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIEl0ZXJhdG9yIGl0ZXIwOworICAgICAgICB0eXBlZGVmIGl0ZXIwIHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBhZHZhbmNlX2ZvcndhcmQ8MT4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgSXRlcmF0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgSXRlcmF0b3IgaXRlcjA7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbmV4dDxpdGVyMD46OnR5cGUgaXRlcjE7CisgICAgICAgIHR5cGVkZWYgaXRlcjEgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGFkdmFuY2VfZm9yd2FyZDwyPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBJdGVyYXRvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBJdGVyYXRvciBpdGVyMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBuZXh0PGl0ZXIwPjo6dHlwZSBpdGVyMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBuZXh0PGl0ZXIxPjo6dHlwZSBpdGVyMjsKKyAgICAgICAgdHlwZWRlZiBpdGVyMiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgYWR2YW5jZV9mb3J3YXJkPDM+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIEl0ZXJhdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIEl0ZXJhdG9yIGl0ZXIwOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG5leHQ8aXRlcjA+Ojp0eXBlIGl0ZXIxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG5leHQ8aXRlcjE+Ojp0eXBlIGl0ZXIyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG5leHQ8aXRlcjI+Ojp0eXBlIGl0ZXIzOworICAgICAgICB0eXBlZGVmIGl0ZXIzIHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBhZHZhbmNlX2ZvcndhcmQ8ND4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgSXRlcmF0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgSXRlcmF0b3IgaXRlcjA7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbmV4dDxpdGVyMD46OnR5cGUgaXRlcjE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbmV4dDxpdGVyMT46OnR5cGUgaXRlcjI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbmV4dDxpdGVyMj46OnR5cGUgaXRlcjM7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbmV4dDxpdGVyMz46OnR5cGUgaXRlcjQ7CisgICAgICAgIHR5cGVkZWYgaXRlcjQgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IGxvbmcgTiA+CitzdHJ1Y3QgYWR2YW5jZV9mb3J3YXJkCit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIEl0ZXJhdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5X3dyYXAxPAorICAgICAgICAgICAgICBhZHZhbmNlX2ZvcndhcmQ8ND4KKyAgICAgICAgICAgICwgSXRlcmF0b3IKKyAgICAgICAgICAgID46OnR5cGUgY2h1bmtfcmVzdWx0XzsKKworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5X3dyYXAxPAorICAgICAgICAgICAgICBhZHZhbmNlX2ZvcndhcmQ8KAorICAgICAgICAgICAgICAgIChOIC0gNCkgPCAwCisgICAgICAgICAgICAgICAgICAgID8gMAorICAgICAgICAgICAgICAgICAgICA6IE4gLSA0CisgICAgICAgICAgICAgICAgICAgICk+CisgICAgICAgICAgICAsIGNodW5rX3Jlc3VsdF8KKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKyAgICB9OworfTsKKworfX19CisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9tc3ZjNzAvYW5kLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9tc3ZjNzAvYW5kLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MThmMDc0Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL21zdmM3MC9hbmQuaHBwCkBAIC0wLDAgKzEsNzEgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL2FuZC5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKworbmFtZXNwYWNlIGF1eCB7Cit0ZW1wbGF0ZTwgYm9vbCBDXyA+IHN0cnVjdCBhbmRfaW1wbAoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgICAgICA6IGZhbHNlXworICAgIHsKKyAgICB9OworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgYW5kX2ltcGw8dHJ1ZT4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICAgICAgOiBhbmRfaW1wbDwKKyAgICAgICAgICAgICAgQk9PU1RfTVBMX0FVWF9ORVNURURfVFlQRV9XS05EKFQxKTo6dmFsdWUKKyAgICAgICAgICAgID46OnRlbXBsYXRlIHJlc3VsdF88IFQyLFQzLFQ0LHRydWVfID4KKyAgICB7CisgICAgfTsKKworICAgIHRlbXBsYXRlPD4gc3RydWN0IHJlc3VsdF88IHRydWVfLHRydWVfLHRydWVfLHRydWVfID4KKyAgICAgICAgOiB0cnVlXworICAgIHsKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShUMSkKKyAgICAsIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oVDIpCisgICAgLCB0eXBlbmFtZSBUMyA9IHRydWVfLCB0eXBlbmFtZSBUNCA9IHRydWVfLCB0eXBlbmFtZSBUNSA9IHRydWVfCisgICAgPgorc3RydWN0IGFuZF8KKworICAgIDogYXV4OjphbmRfaW1wbDwKKyAgICAgICAgICBCT09TVF9NUExfQVVYX05FU1RFRF9UWVBFX1dLTkQoVDEpOjp2YWx1ZQorICAgICAgICA+Ojp0ZW1wbGF0ZSByZXN1bHRfPCBUMixUMyxUNCxUNSA+CisKK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKAorICAgICAgICAgIDUKKyAgICAgICAgLCBhbmRfCisgICAgICAgICwgKCBUMSwgVDIsIFQzLCBUNCwgVDUpCisgICAgICAgICkKK307CisKK0JPT1NUX01QTF9BVVhfTkFfU1BFQzIoCisgICAgICAyCisgICAgLCA1CisgICAgLCBhbmRfCisgICAgKQorCit9fQpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL21zdmM3MC9hcHBseS5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXN2YzcwL2FwcGx5LmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45OWYxYzcxCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL21zdmM3MC9hcHBseS5ocHAKQEAgLTAsMCArMSwxNjAgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL2FwcGx5LmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYKKyAgICA+CitzdHJ1Y3QgYXBwbHkwCisKKyAgICA6IGFwcGx5X3dyYXAwPAorICAgICAgICAgIHR5cGVuYW1lIGxhbWJkYTxGPjo6dHlwZQorICAgICAgIAorICAgICAgICA+Cit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgKKyAgICAgICAgICAxCisgICAgICAgICwgYXBwbHkwCisgICAgICAgICwgKEYgKQorICAgICAgICApCit9OworCisvLy8gd29ya2Fyb3VuZCBmb3IgRVRJIGJ1ZwordGVtcGxhdGU8Pgorc3RydWN0IGFwcGx5MDxpbnQ+Cit7CisgICAgdHlwZWRlZiBpbnQgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEKKyAgICA+CitzdHJ1Y3QgYXBwbHkxCisKKyAgICA6IGFwcGx5X3dyYXAxPAorICAgICAgICAgIHR5cGVuYW1lIGxhbWJkYTxGPjo6dHlwZQorICAgICAgICAsIFQxCisgICAgICAgID4KK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKAorICAgICAgICAgIDIKKyAgICAgICAgLCBhcHBseTEKKyAgICAgICAgLCAoRiwgVDEpCisgICAgICAgICkKK307CisKKy8vLyB3b3JrYXJvdW5kIGZvciBFVEkgYnVnCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgYXBwbHkxPCBpbnQsaW50ID4KK3sKKyAgICB0eXBlZGVmIGludCB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIKKyAgICA+CitzdHJ1Y3QgYXBwbHkyCisKKyAgICA6IGFwcGx5X3dyYXAyPAorICAgICAgICAgIHR5cGVuYW1lIGxhbWJkYTxGPjo6dHlwZQorICAgICAgICAsIFQxLCBUMgorICAgICAgICA+Cit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgKKyAgICAgICAgICAzCisgICAgICAgICwgYXBwbHkyCisgICAgICAgICwgKEYsIFQxLCBUMikKKyAgICAgICAgKQorfTsKKworLy8vIHdvcmthcm91bmQgZm9yIEVUSSBidWcKK3RlbXBsYXRlPD4KK3N0cnVjdCBhcHBseTI8IGludCxpbnQsaW50ID4KK3sKKyAgICB0eXBlZGVmIGludCB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzCisgICAgPgorc3RydWN0IGFwcGx5MworCisgICAgOiBhcHBseV93cmFwMzwKKyAgICAgICAgICB0eXBlbmFtZSBsYW1iZGE8Rj46OnR5cGUKKyAgICAgICAgLCBUMSwgVDIsIFQzCisgICAgICAgID4KK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKAorICAgICAgICAgIDQKKyAgICAgICAgLCBhcHBseTMKKyAgICAgICAgLCAoRiwgVDEsIFQyLCBUMykKKyAgICAgICAgKQorfTsKKworLy8vIHdvcmthcm91bmQgZm9yIEVUSSBidWcKK3RlbXBsYXRlPD4KK3N0cnVjdCBhcHBseTM8IGludCxpbnQsaW50LGludCA+Cit7CisgICAgdHlwZWRlZiBpbnQgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICA+CitzdHJ1Y3QgYXBwbHk0CisKKyAgICA6IGFwcGx5X3dyYXA0PAorICAgICAgICAgIHR5cGVuYW1lIGxhbWJkYTxGPjo6dHlwZQorICAgICAgICAsIFQxLCBUMiwgVDMsIFQ0CisgICAgICAgID4KK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKAorICAgICAgICAgIDUKKyAgICAgICAgLCBhcHBseTQKKyAgICAgICAgLCAoRiwgVDEsIFQyLCBUMywgVDQpCisgICAgICAgICkKK307CisKKy8vLyB3b3JrYXJvdW5kIGZvciBFVEkgYnVnCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgYXBwbHk0PCBpbnQsaW50LGludCxpbnQsaW50ID4KK3sKKyAgICB0eXBlZGVmIGludCB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUKKyAgICA+CitzdHJ1Y3QgYXBwbHk1CisKKyAgICA6IGFwcGx5X3dyYXA1PAorICAgICAgICAgIHR5cGVuYW1lIGxhbWJkYTxGPjo6dHlwZQorICAgICAgICAsIFQxLCBUMiwgVDMsIFQ0LCBUNQorICAgICAgICA+Cit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgKKyAgICAgICAgICA2CisgICAgICAgICwgYXBwbHk1CisgICAgICAgICwgKEYsIFQxLCBUMiwgVDMsIFQ0LCBUNSkKKyAgICAgICAgKQorfTsKKworLy8vIHdvcmthcm91bmQgZm9yIEVUSSBidWcKK3RlbXBsYXRlPD4KK3N0cnVjdCBhcHBseTU8IGludCxpbnQsaW50LGludCxpbnQsaW50ID4KK3sKKyAgICB0eXBlZGVmIGludCB0eXBlOworfTsKKworfX0KKwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL21zdmM3MC9hcHBseV9md2QuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL21zdmM3MC9hcHBseV9md2QuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYyYTlhNzYKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXN2YzcwL2FwcGx5X2Z3ZC5ocHAKQEAgLTAsMCArMSw0NiBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvYXBwbHlfZndkLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYKKyAgICA+CitzdHJ1Y3QgYXBwbHkwOworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxCisgICAgPgorc3RydWN0IGFwcGx5MTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIKKyAgICA+CitzdHJ1Y3QgYXBwbHkyOworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMKKyAgICA+CitzdHJ1Y3QgYXBwbHkzOworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgPgorc3RydWN0IGFwcGx5NDsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUKKyAgICA+CitzdHJ1Y3QgYXBwbHk1OworCit9fQorCmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXN2YzcwL2FwcGx5X3dyYXAuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL21zdmM3MC9hcHBseV93cmFwLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40ZmQyZjA0Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL21zdmM3MC9hcHBseV93cmFwLmhwcApAQCAtMCwwICsxLDEzOCBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvYXBwbHlfd3JhcC5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGCisKKyAgICAsIHR5cGVuYW1lIGhhc19hcHBseV8gPSB0eXBlbmFtZSBhdXg6Omhhc19hcHBseTxGPjo6dHlwZQorCisgICAgPgorc3RydWN0IGFwcGx5X3dyYXAwCisKK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIEY6OnRlbXBsYXRlIGFwcGx5PAorICAgICAgICAKKyAgICAgICAgPjo6dHlwZSB0eXBlOworCit9OworCisvLy8gd29ya2Fyb3VuZCBmb3IgRVRJIGJ1ZwordGVtcGxhdGU8Pgorc3RydWN0IGFwcGx5X3dyYXAwPGludD4KK3sKKyAgICB0eXBlZGVmIGludCB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMQorCisgICAgPgorc3RydWN0IGFwcGx5X3dyYXAxCisKK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIEY6OnRlbXBsYXRlIGFwcGx5PAorICAgICAgICAgVDEKKyAgICAgICAgPjo6dHlwZSB0eXBlOworCit9OworCisvLy8gd29ya2Fyb3VuZCBmb3IgRVRJIGJ1ZwordGVtcGxhdGU8Pgorc3RydWN0IGFwcGx5X3dyYXAxPCBpbnQsaW50ID4KK3sKKyAgICB0eXBlZGVmIGludCB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIKKworICAgID4KK3N0cnVjdCBhcHBseV93cmFwMgorCit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBGOjp0ZW1wbGF0ZSBhcHBseTwKKyAgICAgICAgIFQxLCBUMgorICAgICAgICA+Ojp0eXBlIHR5cGU7CisKK307CisKKy8vLyB3b3JrYXJvdW5kIGZvciBFVEkgYnVnCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgYXBwbHlfd3JhcDI8IGludCxpbnQsaW50ID4KK3sKKyAgICB0eXBlZGVmIGludCB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzCisKKyAgICA+CitzdHJ1Y3QgYXBwbHlfd3JhcDMKKworeworICAgIHR5cGVkZWYgdHlwZW5hbWUgRjo6dGVtcGxhdGUgYXBwbHk8CisgICAgICAgICBUMSwgVDIsIFQzCisgICAgICAgID46OnR5cGUgdHlwZTsKKworfTsKKworLy8vIHdvcmthcm91bmQgZm9yIEVUSSBidWcKK3RlbXBsYXRlPD4KK3N0cnVjdCBhcHBseV93cmFwMzwgaW50LGludCxpbnQsaW50ID4KK3sKKyAgICB0eXBlZGVmIGludCB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorCisgICAgPgorc3RydWN0IGFwcGx5X3dyYXA0CisKK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIEY6OnRlbXBsYXRlIGFwcGx5PAorICAgICAgICAgVDEsIFQyLCBUMywgVDQKKyAgICAgICAgPjo6dHlwZSB0eXBlOworCit9OworCisvLy8gd29ya2Fyb3VuZCBmb3IgRVRJIGJ1ZwordGVtcGxhdGU8Pgorc3RydWN0IGFwcGx5X3dyYXA0PCBpbnQsaW50LGludCxpbnQsaW50ID4KK3sKKyAgICB0eXBlZGVmIGludCB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUKKworICAgID4KK3N0cnVjdCBhcHBseV93cmFwNQorCit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBGOjp0ZW1wbGF0ZSBhcHBseTwKKyAgICAgICAgIFQxLCBUMiwgVDMsIFQ0LCBUNQorICAgICAgICA+Ojp0eXBlIHR5cGU7CisKK307CisKKy8vLyB3b3JrYXJvdW5kIGZvciBFVEkgYnVnCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgYXBwbHlfd3JhcDU8IGludCxpbnQsaW50LGludCxpbnQsaW50ID4KK3sKKyAgICB0eXBlZGVmIGludCB0eXBlOworfTsKKworfX0KKwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL21zdmM3MC9hcmcuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL21zdmM3MC9hcmcuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlhMTU3YzIKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXN2YzcwL2FyZy5ocHAKQEAgLTAsMCArMSwxMjMgQEAKKworLy8gQ29weXJpZ2h0IFBldGVyIERpbW92IDIwMDEtMjAwMgorLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMS0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL2FyZy5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCitCT09TVF9NUExfQVVYX0FETF9CQVJSSUVSX05BTUVTUEFDRV9PUEVOCit0ZW1wbGF0ZTw+IHN0cnVjdCBhcmc8IC0xID4KK3sKKyAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAtMSk7CisgICAgQk9PU1RfTVBMX0FVWF9BUkdfVFlQRURFRihuYSwgdGFnKQorICAgIEJPT1NUX01QTF9BVVhfQVJHX1RZUEVERUYobmEsIHR5cGUpCisKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBVMSA9IG5hLCB0eXBlbmFtZSBVMiA9IG5hLCB0eXBlbmFtZSBVMyA9IG5hCisgICAgICAgICwgdHlwZW5hbWUgVTQgPSBuYSwgdHlwZW5hbWUgVTUgPSBuYQorICAgICAgICA+CisgICAgc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIFUxIHR5cGU7CisgICAgICAgIEJPT1NUX01QTF9BVVhfQVNTRVJUX05PVF9OQSh0eXBlKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgYXJnPDE+Cit7CisgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMSk7CisgICAgdHlwZWRlZiBhcmc8Mj4gbmV4dDsKKyAgICBCT09TVF9NUExfQVVYX0FSR19UWVBFREVGKG5hLCB0YWcpCisgICAgQk9PU1RfTVBMX0FVWF9BUkdfVFlQRURFRihuYSwgdHlwZSkKKworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFUxID0gbmEsIHR5cGVuYW1lIFUyID0gbmEsIHR5cGVuYW1lIFUzID0gbmEKKyAgICAgICAgLCB0eXBlbmFtZSBVNCA9IG5hLCB0eXBlbmFtZSBVNSA9IG5hCisgICAgICAgID4KKyAgICBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgVTEgdHlwZTsKKyAgICAgICAgQk9PU1RfTVBMX0FVWF9BU1NFUlRfTk9UX05BKHR5cGUpOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCBhcmc8Mj4KK3sKKyAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAyKTsKKyAgICB0eXBlZGVmIGFyZzwzPiBuZXh0OworICAgIEJPT1NUX01QTF9BVVhfQVJHX1RZUEVERUYobmEsIHRhZykKKyAgICBCT09TVF9NUExfQVVYX0FSR19UWVBFREVGKG5hLCB0eXBlKQorCisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVTEgPSBuYSwgdHlwZW5hbWUgVTIgPSBuYSwgdHlwZW5hbWUgVTMgPSBuYQorICAgICAgICAsIHR5cGVuYW1lIFU0ID0gbmEsIHR5cGVuYW1lIFU1ID0gbmEKKyAgICAgICAgPgorICAgIHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBVMiB0eXBlOworICAgICAgICBCT09TVF9NUExfQVVYX0FTU0VSVF9OT1RfTkEodHlwZSk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4gc3RydWN0IGFyZzwzPgoreworICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDMpOworICAgIHR5cGVkZWYgYXJnPDQ+IG5leHQ7CisgICAgQk9PU1RfTVBMX0FVWF9BUkdfVFlQRURFRihuYSwgdGFnKQorICAgIEJPT1NUX01QTF9BVVhfQVJHX1RZUEVERUYobmEsIHR5cGUpCisKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBVMSA9IG5hLCB0eXBlbmFtZSBVMiA9IG5hLCB0eXBlbmFtZSBVMyA9IG5hCisgICAgICAgICwgdHlwZW5hbWUgVTQgPSBuYSwgdHlwZW5hbWUgVTUgPSBuYQorICAgICAgICA+CisgICAgc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIFUzIHR5cGU7CisgICAgICAgIEJPT1NUX01QTF9BVVhfQVNTRVJUX05PVF9OQSh0eXBlKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgYXJnPDQ+Cit7CisgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gNCk7CisgICAgdHlwZWRlZiBhcmc8NT4gbmV4dDsKKyAgICBCT09TVF9NUExfQVVYX0FSR19UWVBFREVGKG5hLCB0YWcpCisgICAgQk9PU1RfTVBMX0FVWF9BUkdfVFlQRURFRihuYSwgdHlwZSkKKworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFUxID0gbmEsIHR5cGVuYW1lIFUyID0gbmEsIHR5cGVuYW1lIFUzID0gbmEKKyAgICAgICAgLCB0eXBlbmFtZSBVNCA9IG5hLCB0eXBlbmFtZSBVNSA9IG5hCisgICAgICAgID4KKyAgICBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgVTQgdHlwZTsKKyAgICAgICAgQk9PU1RfTVBMX0FVWF9BU1NFUlRfTk9UX05BKHR5cGUpOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCBhcmc8NT4KK3sKKyAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSA1KTsKKyAgICB0eXBlZGVmIGFyZzw2PiBuZXh0OworICAgIEJPT1NUX01QTF9BVVhfQVJHX1RZUEVERUYobmEsIHRhZykKKyAgICBCT09TVF9NUExfQVVYX0FSR19UWVBFREVGKG5hLCB0eXBlKQorCisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVTEgPSBuYSwgdHlwZW5hbWUgVTIgPSBuYSwgdHlwZW5hbWUgVTMgPSBuYQorICAgICAgICAsIHR5cGVuYW1lIFU0ID0gbmEsIHR5cGVuYW1lIFU1ID0gbmEKKyAgICAgICAgPgorICAgIHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBVNSB0eXBlOworICAgICAgICBCT09TVF9NUExfQVVYX0FTU0VSVF9OT1RfTkEodHlwZSk7CisgICAgfTsKK307CisKK0JPT1NUX01QTF9BVVhfTk9OVFlQRV9BUklUWV9TUEVDKDEsaW50LCBhcmcpCisKK0JPT1NUX01QTF9BVVhfQURMX0JBUlJJRVJfTkFNRVNQQUNFX0NMT1NFCmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXN2YzcwL2Jhc2ljX2JpbmQuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL21zdmM3MC9iYXNpY19iaW5kLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45YjY4MDIzCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL21zdmM3MC9iYXNpY19iaW5kLmhwcApAQCAtMCwwICsxLDMyOCBAQAorCisvLyBDb3B5cmlnaHQgUGV0ZXIgRGltb3YgMjAwMQorLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMS0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL2F1eF8vYmFzaWNfYmluZC5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKworbmFtZXNwYWNlIGF1eCB7Cit0ZW1wbGF0ZTwgYm9vbCA+CitzdHJ1Y3QgcmVzb2x2ZV9hcmdfaW1wbAoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQsIHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiwgdHlwZW5hbWUgVTMKKyAgICAgICAgLCB0eXBlbmFtZSBVNCwgdHlwZW5hbWUgVTUKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIFQgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHJlc29sdmVfYXJnX2ltcGw8dHJ1ZT4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBULCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIsIHR5cGVuYW1lIFUzCisgICAgICAgICwgdHlwZW5hbWUgVTQsIHR5cGVuYW1lIFU1CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseV93cmFwNTwKKyAgICAgICAgICAgICAgVAorICAgICAgICAgICAgLCBVMSwgVTIsIFUzLCBVNCwgVTUKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFQgPiBzdHJ1Y3QgaXNfYmluZF90ZW1wbGF0ZTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIsIHR5cGVuYW1lIFUzLCB0eXBlbmFtZSBVNAorICAgICwgdHlwZW5hbWUgVTUKKyAgICA+CitzdHJ1Y3QgcmVzb2x2ZV9iaW5kX2FyZworICAgIDogcmVzb2x2ZV9hcmdfaW1wbDwgaXNfYmluZF90ZW1wbGF0ZTxUPjo6dmFsdWUgPgorICAgICAgICAgICAgOjp0ZW1wbGF0ZSByZXN1bHRfPCBULFUxLFUyLFUzLFU0LFU1ID4KK3sKK307CisKK3RlbXBsYXRlPCBpbnQgYXJpdHlfID4gc3RydWN0IGJpbmRfY2hvb3NlcjsKKworYXV4Ojpub190YWcgaXNfYmluZF9oZWxwZXIoLi4uKTsKK3RlbXBsYXRlPCB0eXBlbmFtZSBUID4gYXV4Ojpub190YWcgaXNfYmluZF9oZWxwZXIocHJvdGVjdDxUPiopOworCit0ZW1wbGF0ZTwgaW50IE4gPgorYXV4Ojp5ZXNfdGFnIGlzX2JpbmRfaGVscGVyKGFyZzxOPiopOworCit0ZW1wbGF0ZTwgYm9vbCBpc19yZWZfICA9IHRydWUgPgorc3RydWN0IGlzX2JpbmRfdGVtcGxhdGVfaW1wbAoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBUID4gc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChib29sLCB2YWx1ZSAgPSBmYWxzZSk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBpc19iaW5kX3RlbXBsYXRlX2ltcGw8ZmFsc2U+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFQgPiBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGJvb2wsIHZhbHVlID0KKyAgICAgICAgICAgICAgc2l6ZW9mKGF1eDo6aXNfYmluZF9oZWxwZXIoc3RhdGljX2Nhc3Q8VCo+KDApKSkKKyAgICAgICAgICAgICAgICA9PSBzaXplb2YoYXV4Ojp5ZXNfdGFnKQorICAgICAgICAgICAgKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFQgPiBzdHJ1Y3QgaXNfYmluZF90ZW1wbGF0ZQorICAgIDogaXNfYmluZF90ZW1wbGF0ZV9pbXBsPCA6Om5kbmJvb3N0OjpkZXRhaWw6OmlzX3JlZmVyZW5jZV9pbXBsPFQ+Ojp2YWx1ZSA+CisgICAgICAgIDo6dGVtcGxhdGUgcmVzdWx0XzxUPgoreworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRgorICAgID4KK3N0cnVjdCBiaW5kMAoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFUxID0gbmEsIHR5cGVuYW1lIFUyID0gbmEsIHR5cGVuYW1lIFUzID0gbmEKKyAgICAgICAgLCB0eXBlbmFtZSBVNCA9IG5hLCB0eXBlbmFtZSBVNSA9IG5hCisgICAgICAgID4KKyAgICBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgIHByaXZhdGU6CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBGLFUxLFUyLFUzLFU0LFU1ID46OnR5cGUgZl87CisKKyAgICAgcHVibGljOgorICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5X3dyYXAwPAorICAgICAgICAgICAgICBmXworICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYKKyAgICA+CithdXg6Onllc190YWcKK2lzX2JpbmRfaGVscGVyKGJpbmQwPEY+Kik7CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCitCT09TVF9NUExfQVVYX0FSSVRZX1NQRUMoMSwgYmluZDApCitCT09TVF9NUExfQVVYX1RFTVBMQVRFX0FSSVRZX1NQRUMoMSwgYmluZDApCisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEKKyAgICA+CitzdHJ1Y3QgYmluZDEKK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBVMSA9IG5hLCB0eXBlbmFtZSBVMiA9IG5hLCB0eXBlbmFtZSBVMyA9IG5hCisgICAgICAgICwgdHlwZW5hbWUgVTQgPSBuYSwgdHlwZW5hbWUgVTUgPSBuYQorICAgICAgICA+CisgICAgc3RydWN0IGFwcGx5CisgICAgeworICAgICBwcml2YXRlOgorICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgRixVMSxVMixVMyxVNCxVNSA+Ojp0eXBlIGZfOworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgVDEsVTEsVTIsVTMsVTQsVTUgPiB0MTsKKworICAgICBwdWJsaWM6CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHlfd3JhcDE8CisgICAgICAgICAgICAgIGZfCisgICAgICAgICAgICAsIHR5cGVuYW1lIHQxOjp0eXBlCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEKKyAgICA+CithdXg6Onllc190YWcKK2lzX2JpbmRfaGVscGVyKGJpbmQxPCBGLFQxID4qKTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK0JPT1NUX01QTF9BVVhfQVJJVFlfU1BFQygyLCBiaW5kMSkKK0JPT1NUX01QTF9BVVhfVEVNUExBVEVfQVJJVFlfU1BFQygyLCBiaW5kMSkKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIKKyAgICA+CitzdHJ1Y3QgYmluZDIKK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBVMSA9IG5hLCB0eXBlbmFtZSBVMiA9IG5hLCB0eXBlbmFtZSBVMyA9IG5hCisgICAgICAgICwgdHlwZW5hbWUgVTQgPSBuYSwgdHlwZW5hbWUgVTUgPSBuYQorICAgICAgICA+CisgICAgc3RydWN0IGFwcGx5CisgICAgeworICAgICBwcml2YXRlOgorICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgRixVMSxVMixVMyxVNCxVNSA+Ojp0eXBlIGZfOworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgVDEsVTEsVTIsVTMsVTQsVTUgPiB0MTsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IFQyLFUxLFUyLFUzLFU0LFU1ID4gdDI7CisKKyAgICAgcHVibGljOgorICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5X3dyYXAyPAorICAgICAgICAgICAgICBmXworICAgICAgICAgICAgLCB0eXBlbmFtZSB0MTo6dHlwZSwgdHlwZW5hbWUgdDI6OnR5cGUKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIKKyAgICA+CithdXg6Onllc190YWcKK2lzX2JpbmRfaGVscGVyKGJpbmQyPCBGLFQxLFQyID4qKTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK0JPT1NUX01QTF9BVVhfQVJJVFlfU1BFQygzLCBiaW5kMikKK0JPT1NUX01QTF9BVVhfVEVNUExBVEVfQVJJVFlfU1BFQygzLCBiaW5kMikKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzCisgICAgPgorc3RydWN0IGJpbmQzCit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVTEgPSBuYSwgdHlwZW5hbWUgVTIgPSBuYSwgdHlwZW5hbWUgVTMgPSBuYQorICAgICAgICAsIHR5cGVuYW1lIFU0ID0gbmEsIHR5cGVuYW1lIFU1ID0gbmEKKyAgICAgICAgPgorICAgIHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgcHJpdmF0ZToKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhdXg6OnJlc29sdmVfYmluZF9hcmc8IEYsVTEsVTIsVTMsVTQsVTUgPjo6dHlwZSBmXzsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IFQxLFUxLFUyLFUzLFU0LFU1ID4gdDE7CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBUMixVMSxVMixVMyxVNCxVNSA+IHQyOworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgVDMsVTEsVTIsVTMsVTQsVTUgPiB0MzsKKworICAgICBwdWJsaWM6CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHlfd3JhcDM8CisgICAgICAgICAgICAgIGZfCisgICAgICAgICAgICAsIHR5cGVuYW1lIHQxOjp0eXBlLCB0eXBlbmFtZSB0Mjo6dHlwZSwgdHlwZW5hbWUgdDM6OnR5cGUKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzCisgICAgPgorYXV4Ojp5ZXNfdGFnCitpc19iaW5kX2hlbHBlcihiaW5kMzwgRixUMSxUMixUMyA+Kik7CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCitCT09TVF9NUExfQVVYX0FSSVRZX1NQRUMoNCwgYmluZDMpCitCT09TVF9NUExfQVVYX1RFTVBMQVRFX0FSSVRZX1NQRUMoNCwgYmluZDMpCisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICA+CitzdHJ1Y3QgYmluZDQKK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBVMSA9IG5hLCB0eXBlbmFtZSBVMiA9IG5hLCB0eXBlbmFtZSBVMyA9IG5hCisgICAgICAgICwgdHlwZW5hbWUgVTQgPSBuYSwgdHlwZW5hbWUgVTUgPSBuYQorICAgICAgICA+CisgICAgc3RydWN0IGFwcGx5CisgICAgeworICAgICBwcml2YXRlOgorICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgRixVMSxVMixVMyxVNCxVNSA+Ojp0eXBlIGZfOworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgVDEsVTEsVTIsVTMsVTQsVTUgPiB0MTsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IFQyLFUxLFUyLFUzLFU0LFU1ID4gdDI7CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBUMyxVMSxVMixVMyxVNCxVNSA+IHQzOworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgVDQsVTEsVTIsVTMsVTQsVTUgPiB0NDsKKworICAgICBwdWJsaWM6CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHlfd3JhcDQ8CisgICAgICAgICAgICAgIGZfCisgICAgICAgICAgICAsIHR5cGVuYW1lIHQxOjp0eXBlLCB0eXBlbmFtZSB0Mjo6dHlwZSwgdHlwZW5hbWUgdDM6OnR5cGUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgdDQ6OnR5cGUKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgID4KK2F1eDo6eWVzX3RhZworaXNfYmluZF9oZWxwZXIoYmluZDQ8IEYsVDEsVDIsVDMsVDQgPiopOworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworQk9PU1RfTVBMX0FVWF9BUklUWV9TUEVDKDUsIGJpbmQ0KQorQk9PU1RfTVBMX0FVWF9URU1QTEFURV9BUklUWV9TUEVDKDUsIGJpbmQ0KQorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNQorICAgID4KK3N0cnVjdCBiaW5kNQoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFUxID0gbmEsIHR5cGVuYW1lIFUyID0gbmEsIHR5cGVuYW1lIFUzID0gbmEKKyAgICAgICAgLCB0eXBlbmFtZSBVNCA9IG5hLCB0eXBlbmFtZSBVNSA9IG5hCisgICAgICAgID4KKyAgICBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgIHByaXZhdGU6CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBGLFUxLFUyLFUzLFU0LFU1ID46OnR5cGUgZl87CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBUMSxVMSxVMixVMyxVNCxVNSA+IHQxOworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgVDIsVTEsVTIsVTMsVTQsVTUgPiB0MjsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IFQzLFUxLFUyLFUzLFU0LFU1ID4gdDM7CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBUNCxVMSxVMixVMyxVNCxVNSA+IHQ0OworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgVDUsVTEsVTIsVTMsVTQsVTUgPiB0NTsKKworICAgICBwdWJsaWM6CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHlfd3JhcDU8CisgICAgICAgICAgICAgIGZfCisgICAgICAgICAgICAsIHR5cGVuYW1lIHQxOjp0eXBlLCB0eXBlbmFtZSB0Mjo6dHlwZSwgdHlwZW5hbWUgdDM6OnR5cGUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgdDQ6OnR5cGUsIHR5cGVuYW1lIHQ1Ojp0eXBlCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1CisgICAgPgorYXV4Ojp5ZXNfdGFnCitpc19iaW5kX2hlbHBlcihiaW5kNTwgRixUMSxUMixUMyxUNCxUNSA+Kik7CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCitCT09TVF9NUExfQVVYX0FSSVRZX1NQRUMoNiwgYmluZDUpCitCT09TVF9NUExfQVVYX1RFTVBMQVRFX0FSSVRZX1NQRUMoNiwgYmluZDUpCit9fQorCmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXN2YzcwL2JpbmQuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL21zdmM3MC9iaW5kLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xYzNiOGQ4Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL21zdmM3MC9iaW5kLmhwcApAQCAtMCwwICsxLDQzMiBAQAorCisvLyBDb3B5cmlnaHQgUGV0ZXIgRGltb3YgMjAwMQorLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMS0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL2JpbmQuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK25hbWVzcGFjZSBhdXggewordGVtcGxhdGU8IGJvb2wgPgorc3RydWN0IHJlc29sdmVfYXJnX2ltcGwKK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBULCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIsIHR5cGVuYW1lIFUzCisgICAgICAgICwgdHlwZW5hbWUgVTQsIHR5cGVuYW1lIFU1CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiBUIHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCByZXNvbHZlX2FyZ19pbXBsPHRydWU+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVCwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyLCB0eXBlbmFtZSBVMworICAgICAgICAsIHR5cGVuYW1lIFU0LCB0eXBlbmFtZSBVNQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHlfd3JhcDU8CisgICAgICAgICAgICAgIFQKKyAgICAgICAgICAgICwgVTEsIFUyLCBVMywgVTQsIFU1CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUID4gc3RydWN0IGlzX2JpbmRfdGVtcGxhdGU7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyLCB0eXBlbmFtZSBVMywgdHlwZW5hbWUgVTQKKyAgICAsIHR5cGVuYW1lIFU1CisgICAgPgorc3RydWN0IHJlc29sdmVfYmluZF9hcmcKKyAgICA6IHJlc29sdmVfYXJnX2ltcGw8IGlzX2JpbmRfdGVtcGxhdGU8VD46OnZhbHVlID4KKyAgICAgICAgICAgIDo6dGVtcGxhdGUgcmVzdWx0XzwgVCxVMSxVMixVMyxVNCxVNSA+Cit7Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVCA+CitzdHJ1Y3QgcmVwbGFjZV91bm5hbWVkX2FyZ19pbXBsCit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIEFyZyA+IHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIEFyZyBuZXh0OworICAgICAgICB0eXBlZGVmIFQgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHJlcGxhY2VfdW5uYW1lZF9hcmdfaW1wbDwgYXJnPCAtMSA+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgQXJnID4gc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbmV4dDxBcmc+Ojp0eXBlIG5leHQ7CisgICAgICAgIHR5cGVkZWYgQXJnIHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBULCB0eXBlbmFtZSBBcmcgPgorc3RydWN0IHJlcGxhY2VfdW5uYW1lZF9hcmcKKyAgICA6IHJlcGxhY2VfdW5uYW1lZF9hcmdfaW1wbDxUPjo6dGVtcGxhdGUgcmVzdWx0XzxBcmc+Cit7Cit9OworCit0ZW1wbGF0ZTwgaW50IGFyaXR5XyA+IHN0cnVjdCBiaW5kX2Nob29zZXI7CisKK2F1eDo6bm9fdGFnIGlzX2JpbmRfaGVscGVyKC4uLik7Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgVCA+IGF1eDo6bm9fdGFnIGlzX2JpbmRfaGVscGVyKHByb3RlY3Q8VD4qKTsKKwordGVtcGxhdGU8IGludCBOID4KK2F1eDo6eWVzX3RhZyBpc19iaW5kX2hlbHBlcihhcmc8Tj4qKTsKKwordGVtcGxhdGU8IGJvb2wgaXNfcmVmXyAgPSB0cnVlID4KK3N0cnVjdCBpc19iaW5kX3RlbXBsYXRlX2ltcGwKK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVCA+IHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoYm9vbCwgdmFsdWUgID0gZmFsc2UpOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgaXNfYmluZF90ZW1wbGF0ZV9pbXBsPGZhbHNlPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBUID4gc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChib29sLCB2YWx1ZSA9CisgICAgICAgICAgICAgIHNpemVvZihhdXg6OmlzX2JpbmRfaGVscGVyKHN0YXRpY19jYXN0PFQqPigwKSkpCisgICAgICAgICAgICAgICAgPT0gc2l6ZW9mKGF1eDo6eWVzX3RhZykKKyAgICAgICAgICAgICk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUID4gc3RydWN0IGlzX2JpbmRfdGVtcGxhdGUKKyAgICA6IGlzX2JpbmRfdGVtcGxhdGVfaW1wbDwgOjpuZG5ib29zdDo6ZGV0YWlsOjppc19yZWZlcmVuY2VfaW1wbDxUPjo6dmFsdWUgPgorICAgICAgICA6OnRlbXBsYXRlIHJlc3VsdF88VD4KK3sKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYKKyAgICA+CitzdHJ1Y3QgYmluZDAKK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBVMSA9IG5hLCB0eXBlbmFtZSBVMiA9IG5hLCB0eXBlbmFtZSBVMyA9IG5hCisgICAgICAgICwgdHlwZW5hbWUgVTQgPSBuYSwgdHlwZW5hbWUgVTUgPSBuYQorICAgICAgICA+CisgICAgc3RydWN0IGFwcGx5CisgICAgeworICAgICBwcml2YXRlOgorICAgICAgICB0eXBlZGVmIGF1eDo6cmVwbGFjZV91bm5hbWVkX2FyZzwgRiwgbXBsOjphcmc8MT4gPiByMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMDo6dHlwZSBhMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMDo6bmV4dCBuMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhdXg6OnJlc29sdmVfYmluZF9hcmc8IGEwLFUxLFUyLFUzLFU0LFU1ID46OnR5cGUgZl87CisgICAgICAgIC8vLworICAgICBwdWJsaWM6CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHlfd3JhcDA8CisgICAgICAgICAgICAgIGZfCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRgorICAgID4KK2F1eDo6eWVzX3RhZworaXNfYmluZF9oZWxwZXIoYmluZDA8Rj4qKTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK0JPT1NUX01QTF9BVVhfQVJJVFlfU1BFQygxLCBiaW5kMCkKK0JPT1NUX01QTF9BVVhfVEVNUExBVEVfQVJJVFlfU1BFQygxLCBiaW5kMCkKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMQorICAgID4KK3N0cnVjdCBiaW5kMQoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFUxID0gbmEsIHR5cGVuYW1lIFUyID0gbmEsIHR5cGVuYW1lIFUzID0gbmEKKyAgICAgICAgLCB0eXBlbmFtZSBVNCA9IG5hLCB0eXBlbmFtZSBVNSA9IG5hCisgICAgICAgID4KKyAgICBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgIHByaXZhdGU6CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXBsYWNlX3VubmFtZWRfYXJnPCBGLCBtcGw6OmFyZzwxPiA+IHIwOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIwOjp0eXBlIGEwOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIwOjpuZXh0IG4xOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgYTAsVTEsVTIsVTMsVTQsVTUgPjo6dHlwZSBmXzsKKyAgICAgICAgLy8vCisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXBsYWNlX3VubmFtZWRfYXJnPCBUMSxuMSA+IHIxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIxOjp0eXBlIGExOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIxOjpuZXh0IG4yOworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgYTEsVTEsVTIsVTMsVTQsVTUgPiB0MTsKKyAgICAgICAgLy8vCisgICAgIHB1YmxpYzoKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseV93cmFwMTwKKyAgICAgICAgICAgICAgZl8KKyAgICAgICAgICAgICwgdHlwZW5hbWUgdDE6OnR5cGUKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMQorICAgID4KK2F1eDo6eWVzX3RhZworaXNfYmluZF9oZWxwZXIoYmluZDE8IEYsVDEgPiopOworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworQk9PU1RfTVBMX0FVWF9BUklUWV9TUEVDKDIsIGJpbmQxKQorQk9PU1RfTVBMX0FVWF9URU1QTEFURV9BUklUWV9TUEVDKDIsIGJpbmQxKQorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMgorICAgID4KK3N0cnVjdCBiaW5kMgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFUxID0gbmEsIHR5cGVuYW1lIFUyID0gbmEsIHR5cGVuYW1lIFUzID0gbmEKKyAgICAgICAgLCB0eXBlbmFtZSBVNCA9IG5hLCB0eXBlbmFtZSBVNSA9IG5hCisgICAgICAgID4KKyAgICBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgIHByaXZhdGU6CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXBsYWNlX3VubmFtZWRfYXJnPCBGLCBtcGw6OmFyZzwxPiA+IHIwOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIwOjp0eXBlIGEwOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIwOjpuZXh0IG4xOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgYTAsVTEsVTIsVTMsVTQsVTUgPjo6dHlwZSBmXzsKKyAgICAgICAgLy8vCisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXBsYWNlX3VubmFtZWRfYXJnPCBUMSxuMSA+IHIxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIxOjp0eXBlIGExOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIxOjpuZXh0IG4yOworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgYTEsVTEsVTIsVTMsVTQsVTUgPiB0MTsKKyAgICAgICAgLy8vCisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXBsYWNlX3VubmFtZWRfYXJnPCBUMixuMiA+IHIyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIyOjp0eXBlIGEyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIyOjpuZXh0IG4zOworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgYTIsVTEsVTIsVTMsVTQsVTUgPiB0MjsKKyAgICAgICAgLy8vCisgICAgIHB1YmxpYzoKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseV93cmFwMjwKKyAgICAgICAgICAgICAgZl8KKyAgICAgICAgICAgICwgdHlwZW5hbWUgdDE6OnR5cGUsIHR5cGVuYW1lIHQyOjp0eXBlCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyCisgICAgPgorYXV4Ojp5ZXNfdGFnCitpc19iaW5kX2hlbHBlcihiaW5kMjwgRixUMSxUMiA+Kik7CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCitCT09TVF9NUExfQVVYX0FSSVRZX1NQRUMoMywgYmluZDIpCitCT09TVF9NUExfQVVYX1RFTVBMQVRFX0FSSVRZX1NQRUMoMywgYmluZDIpCisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMworICAgID4KK3N0cnVjdCBiaW5kMworeworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFUxID0gbmEsIHR5cGVuYW1lIFUyID0gbmEsIHR5cGVuYW1lIFUzID0gbmEKKyAgICAgICAgLCB0eXBlbmFtZSBVNCA9IG5hLCB0eXBlbmFtZSBVNSA9IG5hCisgICAgICAgID4KKyAgICBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgIHByaXZhdGU6CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXBsYWNlX3VubmFtZWRfYXJnPCBGLCBtcGw6OmFyZzwxPiA+IHIwOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIwOjp0eXBlIGEwOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIwOjpuZXh0IG4xOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgYTAsVTEsVTIsVTMsVTQsVTUgPjo6dHlwZSBmXzsKKyAgICAgICAgLy8vCisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXBsYWNlX3VubmFtZWRfYXJnPCBUMSxuMSA+IHIxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIxOjp0eXBlIGExOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIxOjpuZXh0IG4yOworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgYTEsVTEsVTIsVTMsVTQsVTUgPiB0MTsKKyAgICAgICAgLy8vCisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXBsYWNlX3VubmFtZWRfYXJnPCBUMixuMiA+IHIyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIyOjp0eXBlIGEyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIyOjpuZXh0IG4zOworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgYTIsVTEsVTIsVTMsVTQsVTUgPiB0MjsKKyAgICAgICAgLy8vCisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXBsYWNlX3VubmFtZWRfYXJnPCBUMyxuMyA+IHIzOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIzOjp0eXBlIGEzOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIzOjpuZXh0IG40OworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgYTMsVTEsVTIsVTMsVTQsVTUgPiB0MzsKKyAgICAgICAgLy8vCisgICAgIHB1YmxpYzoKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseV93cmFwMzwKKyAgICAgICAgICAgICAgZl8KKyAgICAgICAgICAgICwgdHlwZW5hbWUgdDE6OnR5cGUsIHR5cGVuYW1lIHQyOjp0eXBlLCB0eXBlbmFtZSB0Mzo6dHlwZQorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMKKyAgICA+CithdXg6Onllc190YWcKK2lzX2JpbmRfaGVscGVyKGJpbmQzPCBGLFQxLFQyLFQzID4qKTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK0JPT1NUX01QTF9BVVhfQVJJVFlfU1BFQyg0LCBiaW5kMykKK0JPT1NUX01QTF9BVVhfVEVNUExBVEVfQVJJVFlfU1BFQyg0LCBiaW5kMykKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgID4KK3N0cnVjdCBiaW5kNAoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFUxID0gbmEsIHR5cGVuYW1lIFUyID0gbmEsIHR5cGVuYW1lIFUzID0gbmEKKyAgICAgICAgLCB0eXBlbmFtZSBVNCA9IG5hLCB0eXBlbmFtZSBVNSA9IG5hCisgICAgICAgID4KKyAgICBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgIHByaXZhdGU6CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXBsYWNlX3VubmFtZWRfYXJnPCBGLCBtcGw6OmFyZzwxPiA+IHIwOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIwOjp0eXBlIGEwOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIwOjpuZXh0IG4xOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgYTAsVTEsVTIsVTMsVTQsVTUgPjo6dHlwZSBmXzsKKyAgICAgICAgLy8vCisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXBsYWNlX3VubmFtZWRfYXJnPCBUMSxuMSA+IHIxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIxOjp0eXBlIGExOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIxOjpuZXh0IG4yOworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgYTEsVTEsVTIsVTMsVTQsVTUgPiB0MTsKKyAgICAgICAgLy8vCisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXBsYWNlX3VubmFtZWRfYXJnPCBUMixuMiA+IHIyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIyOjp0eXBlIGEyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIyOjpuZXh0IG4zOworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgYTIsVTEsVTIsVTMsVTQsVTUgPiB0MjsKKyAgICAgICAgLy8vCisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXBsYWNlX3VubmFtZWRfYXJnPCBUMyxuMyA+IHIzOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIzOjp0eXBlIGEzOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIzOjpuZXh0IG40OworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgYTMsVTEsVTIsVTMsVTQsVTUgPiB0MzsKKyAgICAgICAgLy8vCisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXBsYWNlX3VubmFtZWRfYXJnPCBUNCxuNCA+IHI0OworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHI0Ojp0eXBlIGE0OworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHI0OjpuZXh0IG41OworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgYTQsVTEsVTIsVTMsVTQsVTUgPiB0NDsKKyAgICAgICAgLy8vCisgICAgIHB1YmxpYzoKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseV93cmFwNDwKKyAgICAgICAgICAgICAgZl8KKyAgICAgICAgICAgICwgdHlwZW5hbWUgdDE6OnR5cGUsIHR5cGVuYW1lIHQyOjp0eXBlLCB0eXBlbmFtZSB0Mzo6dHlwZQorICAgICAgICAgICAgLCB0eXBlbmFtZSB0NDo6dHlwZQorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgPgorYXV4Ojp5ZXNfdGFnCitpc19iaW5kX2hlbHBlcihiaW5kNDwgRixUMSxUMixUMyxUNCA+Kik7CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCitCT09TVF9NUExfQVVYX0FSSVRZX1NQRUMoNSwgYmluZDQpCitCT09TVF9NUExfQVVYX1RFTVBMQVRFX0FSSVRZX1NQRUMoNSwgYmluZDQpCisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1CisgICAgPgorc3RydWN0IGJpbmQ1Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVTEgPSBuYSwgdHlwZW5hbWUgVTIgPSBuYSwgdHlwZW5hbWUgVTMgPSBuYQorICAgICAgICAsIHR5cGVuYW1lIFU0ID0gbmEsIHR5cGVuYW1lIFU1ID0gbmEKKyAgICAgICAgPgorICAgIHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgcHJpdmF0ZToKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlcGxhY2VfdW5uYW1lZF9hcmc8IEYsIG1wbDo6YXJnPDE+ID4gcjA7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjA6OnR5cGUgYTA7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjA6Om5leHQgbjE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBhMCxVMSxVMixVMyxVNCxVNSA+Ojp0eXBlIGZfOworICAgICAgICAvLy8KKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlcGxhY2VfdW5uYW1lZF9hcmc8IFQxLG4xID4gcjE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjE6OnR5cGUgYTE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjE6Om5leHQgbjI7CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBhMSxVMSxVMixVMyxVNCxVNSA+IHQxOworICAgICAgICAvLy8KKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlcGxhY2VfdW5uYW1lZF9hcmc8IFQyLG4yID4gcjI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjI6OnR5cGUgYTI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjI6Om5leHQgbjM7CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBhMixVMSxVMixVMyxVNCxVNSA+IHQyOworICAgICAgICAvLy8KKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlcGxhY2VfdW5uYW1lZF9hcmc8IFQzLG4zID4gcjM7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjM6OnR5cGUgYTM7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjM6Om5leHQgbjQ7CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBhMyxVMSxVMixVMyxVNCxVNSA+IHQzOworICAgICAgICAvLy8KKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlcGxhY2VfdW5uYW1lZF9hcmc8IFQ0LG40ID4gcjQ7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjQ6OnR5cGUgYTQ7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjQ6Om5leHQgbjU7CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBhNCxVMSxVMixVMyxVNCxVNSA+IHQ0OworICAgICAgICAvLy8KKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlcGxhY2VfdW5uYW1lZF9hcmc8IFQ1LG41ID4gcjU7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjU6OnR5cGUgYTU7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjU6Om5leHQgbjY7CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBhNSxVMSxVMixVMyxVNCxVNSA+IHQ1OworICAgICAgICAvLy8KKyAgICAgcHVibGljOgorICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5X3dyYXA1PAorICAgICAgICAgICAgICBmXworICAgICAgICAgICAgLCB0eXBlbmFtZSB0MTo6dHlwZSwgdHlwZW5hbWUgdDI6OnR5cGUsIHR5cGVuYW1lIHQzOjp0eXBlCisgICAgICAgICAgICAsIHR5cGVuYW1lIHQ0Ojp0eXBlLCB0eXBlbmFtZSB0NTo6dHlwZQorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNQorICAgID4KK2F1eDo6eWVzX3RhZworaXNfYmluZF9oZWxwZXIoYmluZDU8IEYsVDEsVDIsVDMsVDQsVDUgPiopOworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworQk9PU1RfTVBMX0FVWF9BUklUWV9TUEVDKDYsIGJpbmQ1KQorQk9PU1RfTVBMX0FVWF9URU1QTEFURV9BUklUWV9TUEVDKDYsIGJpbmQ1KQorfX0KKwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL21zdmM3MC9iaW5kX2Z3ZC5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXN2YzcwL2JpbmRfZndkLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYmQxYjZkCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL21zdmM3MC9iaW5kX2Z3ZC5ocHAKQEAgLTAsMCArMSw0NiBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvYmluZF9md2QuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRgorICAgID4KK3N0cnVjdCBiaW5kMDsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMQorICAgID4KK3N0cnVjdCBiaW5kMTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIKKyAgICA+CitzdHJ1Y3QgYmluZDI7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMworICAgID4KK3N0cnVjdCBiaW5kMzsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgID4KK3N0cnVjdCBiaW5kNDsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUKKyAgICA+CitzdHJ1Y3QgYmluZDU7CisKK319CisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9tc3ZjNzAvYml0YW5kLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9tc3ZjNzAvYml0YW5kLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yYTE0YzI1Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL21zdmM3MC9iaXRhbmQuaHBwCkBAIC0wLDAgKzEsMTUxIEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8gQ29weXJpZ2h0IEphYXAgU3V0ZXIgMjAwMworLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9iaXRhbmQuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVGFnMQorICAgICwgdHlwZW5hbWUgVGFnMgorCisgICAgLCBCT09TVF9NUExfQVVYX05UVFBfREVDTChpbnQsIHRhZzFfKSAgPSBCT09TVF9NUExfQVVYX01TVkNfVkFMVUVfV0tORChUYWcxKTo6dmFsdWUKKyAgICAsIEJPT1NUX01QTF9BVVhfTlRUUF9ERUNMKGludCwgdGFnMl8pICA9IEJPT1NUX01QTF9BVVhfTVNWQ19WQUxVRV9XS05EKFRhZzIpOjp2YWx1ZQorICAgID4KK3N0cnVjdCBiaXRhbmRfaW1wbAorICAgIDogaWZfYzwKKyAgICAgICAgICAoIHRhZzFfID4gdGFnMl8gKQorICAgICAgICAsIGF1eDo6Y2FzdDJuZF9pbXBsPCBiaXRhbmRfaW1wbDwgVGFnMSxUYWcxID4sVGFnMSwgVGFnMiA+CisgICAgICAgICwgYXV4OjpjYXN0MXN0X2ltcGw8IGJpdGFuZF9pbXBsPCBUYWcyLFRhZzIgPixUYWcxLCBUYWcyID4KKyAgICAgICAgPjo6dHlwZQoreworfTsKKworLy8vIGZvciBEaWdpdGFsIE1hcnMgQysrL2NvbXBpbGVycyB3aXRoIG5vIENUUFMvVFRQIHN1cHBvcnQKK3RlbXBsYXRlPD4gc3RydWN0IGJpdGFuZF9pbXBsPCBuYSxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgYml0YW5kX2ltcGw8IG5hLGludGVncmFsX2NfdGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCBiaXRhbmRfaW1wbDwgaW50ZWdyYWxfY190YWcsbmEgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUID4gc3RydWN0IGJpdGFuZF90YWcKKyAgICA6IHRhZzwgVCxuYSA+Cit7Cit9OworCisvLy8gZm9yd2FyZCBkZWNsYXJhdGlvbgorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjEpCisgICAgLCB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4yKQorICAgID4KK3N0cnVjdCBiaXRhbmRfMjsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4xKQorICAgICwgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMikKKyAgICAsIHR5cGVuYW1lIE4zID0gbmEsIHR5cGVuYW1lIE40ID0gbmEsIHR5cGVuYW1lIE41ID0gbmEKKyAgICA+CitzdHJ1Y3QgYml0YW5kXworCisgICAgOiBhdXg6Om1zdmNfZXRpX2Jhc2U8IHR5cGVuYW1lIGlmXzwKKworICAgICAgICAgIGlzX25hPE4zPgorICAgICAgICAsIGJpdGFuZF8yPCBOMSxOMiA+CisgICAgICAgICwgYml0YW5kXzwKKyAgICAgICAgICAgICAgYml0YW5kXzI8IE4xLE4yID4KKyAgICAgICAgICAgICwgTjMsIE40LCBONQorICAgICAgICAgICAgPgorICAgICAgICA+Ojp0eXBlCisKKyAgICA+CisKK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKAorICAgICAgICAgIDUKKyAgICAgICAgLCBiaXRhbmRfCisgICAgICAgICwgKCBOMSwgTjIsIE4zLCBONCwgTjUgKQorICAgICAgICApCit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIE4xCisgICAgLCB0eXBlbmFtZSBOMgorICAgID4KK3N0cnVjdCBiaXRhbmRfMgorICAgIDogYXV4Ojptc3ZjX2V0aV9iYXNlPCB0eXBlbmFtZSBhcHBseV93cmFwMjwKKyAgICAgICAgICBiaXRhbmRfaW1wbDwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgYml0YW5kX3RhZzxOMT46OnR5cGUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgYml0YW5kX3RhZzxOMj46OnR5cGUKKyAgICAgICAgICAgID4KKyAgICAgICAgLCBOMQorICAgICAgICAsIE4yCisgICAgICAgID46OnR5cGUgPjo6dHlwZQorCit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgyLCBiaXRhbmRfMiwgKE4xLCBOMikpCisKK307CisKK0JPT1NUX01QTF9BVVhfTkFfU1BFQzIoMiwgNSwgYml0YW5kXykKKworfX0KKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK25hbWVzcGFjZSBhdXggewordGVtcGxhdGU8IHR5cGVuYW1lIFQsIFQgbjEsIFQgbjIgPgorc3RydWN0IGJpdGFuZF93a25kCit7CisgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKFQsIHZhbHVlICA9IChuMSAmIG4yKSk7CisgICAgdHlwZWRlZiBpbnRlZ3JhbF9jPCBULHZhbHVlID4gdHlwZTsKK307CisKK30KKwordGVtcGxhdGU8Pgorc3RydWN0IGJpdGFuZF9pbXBsPCBpbnRlZ3JhbF9jX3RhZyxpbnRlZ3JhbF9jX3RhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIE4xLCB0eXBlbmFtZSBOMiA+IHN0cnVjdCBhcHBseQorICAgICAgICA6IGF1eDo6Yml0YW5kX3drbmQ8CisgICAgICAgICAgICAgIHR5cGVuYW1lIGF1eDo6bGFyZ2VzdF9pbnQ8CisgICAgICAgICAgICAgICAgICB0eXBlbmFtZSBOMTo6dmFsdWVfdHlwZQorICAgICAgICAgICAgICAgICwgdHlwZW5hbWUgTjI6OnZhbHVlX3R5cGUKKyAgICAgICAgICAgICAgICA+Ojp0eXBlCisgICAgICAgICAgICAsIE4xOjp2YWx1ZQorICAgICAgICAgICAgLCBOMjo6dmFsdWUKKyAgICAgICAgICAgID46OnR5cGUKKworICAgIHsKKyAgICB9OworfTsKKworfX0KZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9tc3ZjNzAvYml0b3IuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL21zdmM3MC9iaXRvci5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjI1MDBmZAotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9tc3ZjNzAvYml0b3IuaHBwCkBAIC0wLDAgKzEsMTUxIEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8gQ29weXJpZ2h0IEphYXAgU3V0ZXIgMjAwMworLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9iaXRvci5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUYWcxCisgICAgLCB0eXBlbmFtZSBUYWcyCisKKyAgICAsIEJPT1NUX01QTF9BVVhfTlRUUF9ERUNMKGludCwgdGFnMV8pICA9IEJPT1NUX01QTF9BVVhfTVNWQ19WQUxVRV9XS05EKFRhZzEpOjp2YWx1ZQorICAgICwgQk9PU1RfTVBMX0FVWF9OVFRQX0RFQ0woaW50LCB0YWcyXykgID0gQk9PU1RfTVBMX0FVWF9NU1ZDX1ZBTFVFX1dLTkQoVGFnMik6OnZhbHVlCisgICAgPgorc3RydWN0IGJpdG9yX2ltcGwKKyAgICA6IGlmX2M8CisgICAgICAgICAgKCB0YWcxXyA+IHRhZzJfICkKKyAgICAgICAgLCBhdXg6OmNhc3QybmRfaW1wbDwgYml0b3JfaW1wbDwgVGFnMSxUYWcxID4sVGFnMSwgVGFnMiA+CisgICAgICAgICwgYXV4OjpjYXN0MXN0X2ltcGw8IGJpdG9yX2ltcGw8IFRhZzIsVGFnMiA+LFRhZzEsIFRhZzIgPgorICAgICAgICA+Ojp0eXBlCit7Cit9OworCisvLy8gZm9yIERpZ2l0YWwgTWFycyBDKysvY29tcGlsZXJzIHdpdGggbm8gQ1RQUy9UVFAgc3VwcG9ydAordGVtcGxhdGU8PiBzdHJ1Y3QgYml0b3JfaW1wbDwgbmEsbmEgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4gc3RydWN0IGJpdG9yX2ltcGw8IG5hLGludGVncmFsX2NfdGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCBiaXRvcl9pbXBsPCBpbnRlZ3JhbF9jX3RhZyxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFQgPiBzdHJ1Y3QgYml0b3JfdGFnCisgICAgOiB0YWc8IFQsbmEgPgoreworfTsKKworLy8vIGZvcndhcmQgZGVjbGFyYXRpb24KKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4xKQorICAgICwgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMikKKyAgICA+CitzdHJ1Y3QgYml0b3JfMjsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4xKQorICAgICwgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMikKKyAgICAsIHR5cGVuYW1lIE4zID0gbmEsIHR5cGVuYW1lIE40ID0gbmEsIHR5cGVuYW1lIE41ID0gbmEKKyAgICA+CitzdHJ1Y3QgYml0b3JfCisKKyAgICA6IGF1eDo6bXN2Y19ldGlfYmFzZTwgdHlwZW5hbWUgaWZfPAorCisgICAgICAgICAgaXNfbmE8TjM+CisgICAgICAgICwgYml0b3JfMjwgTjEsTjIgPgorICAgICAgICAsIGJpdG9yXzwKKyAgICAgICAgICAgICAgYml0b3JfMjwgTjEsTjIgPgorICAgICAgICAgICAgLCBOMywgTjQsIE41CisgICAgICAgICAgICA+CisgICAgICAgID46OnR5cGUKKworICAgID4KKworeworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoCisgICAgICAgICAgNQorICAgICAgICAsIGJpdG9yXworICAgICAgICAsICggTjEsIE4yLCBOMywgTjQsIE41ICkKKyAgICAgICAgKQorfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBOMQorICAgICwgdHlwZW5hbWUgTjIKKyAgICA+CitzdHJ1Y3QgYml0b3JfMgorICAgIDogYXV4Ojptc3ZjX2V0aV9iYXNlPCB0eXBlbmFtZSBhcHBseV93cmFwMjwKKyAgICAgICAgICBiaXRvcl9pbXBsPAorICAgICAgICAgICAgICB0eXBlbmFtZSBiaXRvcl90YWc8TjE+Ojp0eXBlCisgICAgICAgICAgICAsIHR5cGVuYW1lIGJpdG9yX3RhZzxOMj46OnR5cGUKKyAgICAgICAgICAgID4KKyAgICAgICAgLCBOMQorICAgICAgICAsIE4yCisgICAgICAgID46OnR5cGUgPjo6dHlwZQorCit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgyLCBiaXRvcl8yLCAoTjEsIE4yKSkKKworfTsKKworQk9PU1RfTVBMX0FVWF9OQV9TUEVDMigyLCA1LCBiaXRvcl8pCisKK319CisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCituYW1lc3BhY2UgYXV4IHsKK3RlbXBsYXRlPCB0eXBlbmFtZSBULCBUIG4xLCBUIG4yID4KK3N0cnVjdCBiaXRvcl93a25kCit7CisgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKFQsIHZhbHVlICA9IChuMSB8IG4yKSk7CisgICAgdHlwZWRlZiBpbnRlZ3JhbF9jPCBULHZhbHVlID4gdHlwZTsKK307CisKK30KKwordGVtcGxhdGU8Pgorc3RydWN0IGJpdG9yX2ltcGw8IGludGVncmFsX2NfdGFnLGludGVncmFsX2NfdGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgTjEsIHR5cGVuYW1lIE4yID4gc3RydWN0IGFwcGx5CisgICAgICAgIDogYXV4OjpiaXRvcl93a25kPAorICAgICAgICAgICAgICB0eXBlbmFtZSBhdXg6Omxhcmdlc3RfaW50PAorICAgICAgICAgICAgICAgICAgdHlwZW5hbWUgTjE6OnZhbHVlX3R5cGUKKyAgICAgICAgICAgICAgICAsIHR5cGVuYW1lIE4yOjp2YWx1ZV90eXBlCisgICAgICAgICAgICAgICAgPjo6dHlwZQorICAgICAgICAgICAgLCBOMTo6dmFsdWUKKyAgICAgICAgICAgICwgTjI6OnZhbHVlCisgICAgICAgICAgICA+Ojp0eXBlCisKKyAgICB7CisgICAgfTsKK307CisKK319CmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXN2YzcwL2JpdHhvci5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXN2YzcwL2JpdHhvci5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDllYjQ1YwotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9tc3ZjNzAvYml0eG9yLmhwcApAQCAtMCwwICsxLDE1MSBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vIENvcHlyaWdodCBKYWFwIFN1dGVyIDIwMDMKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvYml0eG9yLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFRhZzEKKyAgICAsIHR5cGVuYW1lIFRhZzIKKworICAgICwgQk9PU1RfTVBMX0FVWF9OVFRQX0RFQ0woaW50LCB0YWcxXykgID0gQk9PU1RfTVBMX0FVWF9NU1ZDX1ZBTFVFX1dLTkQoVGFnMSk6OnZhbHVlCisgICAgLCBCT09TVF9NUExfQVVYX05UVFBfREVDTChpbnQsIHRhZzJfKSAgPSBCT09TVF9NUExfQVVYX01TVkNfVkFMVUVfV0tORChUYWcyKTo6dmFsdWUKKyAgICA+CitzdHJ1Y3QgYml0eG9yX2ltcGwKKyAgICA6IGlmX2M8CisgICAgICAgICAgKCB0YWcxXyA+IHRhZzJfICkKKyAgICAgICAgLCBhdXg6OmNhc3QybmRfaW1wbDwgYml0eG9yX2ltcGw8IFRhZzEsVGFnMSA+LFRhZzEsIFRhZzIgPgorICAgICAgICAsIGF1eDo6Y2FzdDFzdF9pbXBsPCBiaXR4b3JfaW1wbDwgVGFnMixUYWcyID4sVGFnMSwgVGFnMiA+CisgICAgICAgID46OnR5cGUKK3sKK307CisKKy8vLyBmb3IgRGlnaXRhbCBNYXJzIEMrKy9jb21waWxlcnMgd2l0aCBubyBDVFBTL1RUUCBzdXBwb3J0Cit0ZW1wbGF0ZTw+IHN0cnVjdCBiaXR4b3JfaW1wbDwgbmEsbmEgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4gc3RydWN0IGJpdHhvcl9pbXBsPCBuYSxpbnRlZ3JhbF9jX3RhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgYml0eG9yX2ltcGw8IGludGVncmFsX2NfdGFnLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVCA+IHN0cnVjdCBiaXR4b3JfdGFnCisgICAgOiB0YWc8IFQsbmEgPgoreworfTsKKworLy8vIGZvcndhcmQgZGVjbGFyYXRpb24KKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4xKQorICAgICwgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMikKKyAgICA+CitzdHJ1Y3QgYml0eG9yXzI7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMSkKKyAgICAsIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjIpCisgICAgLCB0eXBlbmFtZSBOMyA9IG5hLCB0eXBlbmFtZSBONCA9IG5hLCB0eXBlbmFtZSBONSA9IG5hCisgICAgPgorc3RydWN0IGJpdHhvcl8KKworICAgIDogYXV4Ojptc3ZjX2V0aV9iYXNlPCB0eXBlbmFtZSBpZl88CisKKyAgICAgICAgICBpc19uYTxOMz4KKyAgICAgICAgLCBiaXR4b3JfMjwgTjEsTjIgPgorICAgICAgICAsIGJpdHhvcl88CisgICAgICAgICAgICAgIGJpdHhvcl8yPCBOMSxOMiA+CisgICAgICAgICAgICAsIE4zLCBONCwgTjUKKyAgICAgICAgICAgID4KKyAgICAgICAgPjo6dHlwZQorCisgICAgPgorCit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgKKyAgICAgICAgICA1CisgICAgICAgICwgYml0eG9yXworICAgICAgICAsICggTjEsIE4yLCBOMywgTjQsIE41ICkKKyAgICAgICAgKQorfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBOMQorICAgICwgdHlwZW5hbWUgTjIKKyAgICA+CitzdHJ1Y3QgYml0eG9yXzIKKyAgICA6IGF1eDo6bXN2Y19ldGlfYmFzZTwgdHlwZW5hbWUgYXBwbHlfd3JhcDI8CisgICAgICAgICAgYml0eG9yX2ltcGw8CisgICAgICAgICAgICAgIHR5cGVuYW1lIGJpdHhvcl90YWc8TjE+Ojp0eXBlCisgICAgICAgICAgICAsIHR5cGVuYW1lIGJpdHhvcl90YWc8TjI+Ojp0eXBlCisgICAgICAgICAgICA+CisgICAgICAgICwgTjEKKyAgICAgICAgLCBOMgorICAgICAgICA+Ojp0eXBlID46OnR5cGUKKworeworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoMiwgYml0eG9yXzIsIChOMSwgTjIpKQorCit9OworCitCT09TVF9NUExfQVVYX05BX1NQRUMyKDIsIDUsIGJpdHhvcl8pCisKK319CisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCituYW1lc3BhY2UgYXV4IHsKK3RlbXBsYXRlPCB0eXBlbmFtZSBULCBUIG4xLCBUIG4yID4KK3N0cnVjdCBiaXR4b3Jfd2tuZAoreworICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChULCB2YWx1ZSAgPSAobjEgXiBuMikpOworICAgIHR5cGVkZWYgaW50ZWdyYWxfYzwgVCx2YWx1ZSA+IHR5cGU7Cit9OworCit9CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBiaXR4b3JfaW1wbDwgaW50ZWdyYWxfY190YWcsaW50ZWdyYWxfY190YWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBOMSwgdHlwZW5hbWUgTjIgPiBzdHJ1Y3QgYXBwbHkKKyAgICAgICAgOiBhdXg6OmJpdHhvcl93a25kPAorICAgICAgICAgICAgICB0eXBlbmFtZSBhdXg6Omxhcmdlc3RfaW50PAorICAgICAgICAgICAgICAgICAgdHlwZW5hbWUgTjE6OnZhbHVlX3R5cGUKKyAgICAgICAgICAgICAgICAsIHR5cGVuYW1lIE4yOjp2YWx1ZV90eXBlCisgICAgICAgICAgICAgICAgPjo6dHlwZQorICAgICAgICAgICAgLCBOMTo6dmFsdWUKKyAgICAgICAgICAgICwgTjI6OnZhbHVlCisgICAgICAgICAgICA+Ojp0eXBlCisKKyAgICB7CisgICAgfTsKK307CisKK319CmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXN2YzcwL2RlcXVlLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9tc3ZjNzAvZGVxdWUuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhhN2UyYzMKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXN2YzcwL2RlcXVlLmhwcApAQCAtMCwwICsxLDU1NiBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvZGVxdWUuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK25hbWVzcGFjZSBhdXggewordGVtcGxhdGU8IGludCBOID4KK3N0cnVjdCBkZXF1ZV9jaG9vc2VyOworCit9CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgZGVxdWVfY2hvb3NlcjwwPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjA8CisgICAgICAgICAgICAgCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgZGVxdWVfY2hvb3NlcjwxPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjE8CisgICAgICAgICAgICAgIFQwCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgZGVxdWVfY2hvb3NlcjwyPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjI8CisgICAgICAgICAgICAgIFQwLCBUMQorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IGRlcXVlX2Nob29zZXI8Mz4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IzPAorICAgICAgICAgICAgICBUMCwgVDEsIFQyCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgZGVxdWVfY2hvb3Nlcjw0PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjQ8CisgICAgICAgICAgICAgIFQwLCBUMSwgVDIsIFQzCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgZGVxdWVfY2hvb3Nlcjw1PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjU8CisgICAgICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNAorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IGRlcXVlX2Nob29zZXI8Nj4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3I2PAorICAgICAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgZGVxdWVfY2hvb3Nlcjw3PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3Rvcjc8CisgICAgICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgZGVxdWVfY2hvb3Nlcjw4PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3Rvcjg8CisgICAgICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNworICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IGRlcXVlX2Nob29zZXI8OT4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3I5PAorICAgICAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgZGVxdWVfY2hvb3NlcjwxMD4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxMDwKKyAgICAgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDkKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBkZXF1ZV9jaG9vc2VyPDExPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjExPAorICAgICAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgZGVxdWVfY2hvb3NlcjwxMj4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxMjwKKyAgICAgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgZGVxdWVfY2hvb3NlcjwxMz4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxMzwKKyAgICAgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBkZXF1ZV9jaG9vc2VyPDE0PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjE0PAorICAgICAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgZGVxdWVfY2hvb3NlcjwxNT4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxNTwKKyAgICAgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgZGVxdWVfY2hvb3NlcjwxNj4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxNjwKKyAgICAgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0LCBUMTUKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBkZXF1ZV9jaG9vc2VyPDE3PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjE3PAorICAgICAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQsIFQxNSwgVDE2CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgZGVxdWVfY2hvb3NlcjwxOD4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxODwKKyAgICAgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0LCBUMTUsIFQxNiwgVDE3CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgZGVxdWVfY2hvb3NlcjwxOT4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxOTwKKyAgICAgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0LCBUMTUsIFQxNiwgVDE3LCBUMTgKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBkZXF1ZV9jaG9vc2VyPDIwPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjIwPAorICAgICAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQsIFQxNSwgVDE2LCBUMTcsIFQxOCwgVDE5CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVCA+CitzdHJ1Y3QgaXNfZGVxdWVfYXJnCit7CisgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGJvb2wsIHZhbHVlICA9IHRydWUpOworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGlzX2RlcXVlX2FyZzxuYT4KK3sKKyAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoYm9vbCwgdmFsdWUgID0gZmFsc2UpOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNCwgdHlwZW5hbWUgVDUKKyAgICAsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5LCB0eXBlbmFtZSBUMTAKKyAgICAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNCwgdHlwZW5hbWUgVDE1CisgICAgLCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTksIHR5cGVuYW1lIFQyMAorICAgID4KK3N0cnVjdCBkZXF1ZV9jb3VudF9hcmdzCit7CisgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgPQorICAgICAgICAgIGlzX2RlcXVlX2FyZzxUMT46OnZhbHVlICsgaXNfZGVxdWVfYXJnPFQyPjo6dmFsdWUgCisgICAgICAgICsgaXNfZGVxdWVfYXJnPFQzPjo6dmFsdWUgKyBpc19kZXF1ZV9hcmc8VDQ+Ojp2YWx1ZSAKKyAgICAgICAgKyBpc19kZXF1ZV9hcmc8VDU+Ojp2YWx1ZSArIGlzX2RlcXVlX2FyZzxUNj46OnZhbHVlIAorICAgICAgICArIGlzX2RlcXVlX2FyZzxUNz46OnZhbHVlICsgaXNfZGVxdWVfYXJnPFQ4Pjo6dmFsdWUgCisgICAgICAgICsgaXNfZGVxdWVfYXJnPFQ5Pjo6dmFsdWUgKyBpc19kZXF1ZV9hcmc8VDEwPjo6dmFsdWUgCisgICAgICAgICsgaXNfZGVxdWVfYXJnPFQxMT46OnZhbHVlICsgaXNfZGVxdWVfYXJnPFQxMj46OnZhbHVlIAorICAgICAgICArIGlzX2RlcXVlX2FyZzxUMTM+Ojp2YWx1ZSArIGlzX2RlcXVlX2FyZzxUMTQ+Ojp2YWx1ZSAKKyAgICAgICAgKyBpc19kZXF1ZV9hcmc8VDE1Pjo6dmFsdWUgKyBpc19kZXF1ZV9hcmc8VDE2Pjo6dmFsdWUgCisgICAgICAgICsgaXNfZGVxdWVfYXJnPFQxNz46OnZhbHVlICsgaXNfZGVxdWVfYXJnPFQxOD46OnZhbHVlIAorICAgICAgICArIGlzX2RlcXVlX2FyZzxUMTk+Ojp2YWx1ZSArIGlzX2RlcXVlX2FyZzxUMjA+Ojp2YWx1ZQorICAgICAgICApOworCit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICA+CitzdHJ1Y3QgZGVxdWVfaW1wbAoreworICAgIHR5cGVkZWYgYXV4OjpkZXF1ZV9jb3VudF9hcmdzPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNCwgVDE1LCBUMTYsIFQxNywgVDE4LCBUMTkKKyAgICAgICAgPiBhcmdfbnVtXzsKKworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXV4OjpkZXF1ZV9jaG9vc2VyPCBhcmdfbnVtXzo6dmFsdWUgPgorICAgICAgICA6OnRlbXBsYXRlIHJlc3VsdF88IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyxUMTQsVDE1LFQxNixUMTcsVDE4LFQxOSA+Ojp0eXBlIHR5cGU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCA9IG5hLCB0eXBlbmFtZSBUMSA9IG5hLCB0eXBlbmFtZSBUMiA9IG5hLCB0eXBlbmFtZSBUMyA9IG5hCisgICAgLCB0eXBlbmFtZSBUNCA9IG5hLCB0eXBlbmFtZSBUNSA9IG5hLCB0eXBlbmFtZSBUNiA9IG5hLCB0eXBlbmFtZSBUNyA9IG5hCisgICAgLCB0eXBlbmFtZSBUOCA9IG5hLCB0eXBlbmFtZSBUOSA9IG5hLCB0eXBlbmFtZSBUMTAgPSBuYSwgdHlwZW5hbWUgVDExID0gbmEKKyAgICAsIHR5cGVuYW1lIFQxMiA9IG5hLCB0eXBlbmFtZSBUMTMgPSBuYSwgdHlwZW5hbWUgVDE0ID0gbmEKKyAgICAsIHR5cGVuYW1lIFQxNSA9IG5hLCB0eXBlbmFtZSBUMTYgPSBuYSwgdHlwZW5hbWUgVDE3ID0gbmEKKyAgICAsIHR5cGVuYW1lIFQxOCA9IG5hLCB0eXBlbmFtZSBUMTkgPSBuYQorICAgID4KK3N0cnVjdCBkZXF1ZQorICAgIDogYXV4OjpkZXF1ZV9pbXBsPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNCwgVDE1LCBUMTYsIFQxNywgVDE4LCBUMTkKKyAgICAgICAgPjo6dHlwZQoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXV4OjpkZXF1ZV9pbXBsPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNCwgVDE1LCBUMTYsIFQxNywgVDE4LCBUMTkKKyAgICAgICAgPjo6dHlwZSB0eXBlOworfTsKKworfX0KKwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL21zdmM3MC9kaXZpZGVzLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9tc3ZjNzAvZGl2aWRlcy5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTE4Y2RhNQotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9tc3ZjNzAvZGl2aWRlcy5ocHAKQEAgLTAsMCArMSwxNTAgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL2RpdmlkZXMuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVGFnMQorICAgICwgdHlwZW5hbWUgVGFnMgorCisgICAgLCBCT09TVF9NUExfQVVYX05UVFBfREVDTChpbnQsIHRhZzFfKSAgPSBCT09TVF9NUExfQVVYX01TVkNfVkFMVUVfV0tORChUYWcxKTo6dmFsdWUKKyAgICAsIEJPT1NUX01QTF9BVVhfTlRUUF9ERUNMKGludCwgdGFnMl8pICA9IEJPT1NUX01QTF9BVVhfTVNWQ19WQUxVRV9XS05EKFRhZzIpOjp2YWx1ZQorICAgID4KK3N0cnVjdCBkaXZpZGVzX2ltcGwKKyAgICA6IGlmX2M8CisgICAgICAgICAgKCB0YWcxXyA+IHRhZzJfICkKKyAgICAgICAgLCBhdXg6OmNhc3QybmRfaW1wbDwgZGl2aWRlc19pbXBsPCBUYWcxLFRhZzEgPixUYWcxLCBUYWcyID4KKyAgICAgICAgLCBhdXg6OmNhc3Qxc3RfaW1wbDwgZGl2aWRlc19pbXBsPCBUYWcyLFRhZzIgPixUYWcxLCBUYWcyID4KKyAgICAgICAgPjo6dHlwZQoreworfTsKKworLy8vIGZvciBEaWdpdGFsIE1hcnMgQysrL2NvbXBpbGVycyB3aXRoIG5vIENUUFMvVFRQIHN1cHBvcnQKK3RlbXBsYXRlPD4gc3RydWN0IGRpdmlkZXNfaW1wbDwgbmEsbmEgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4gc3RydWN0IGRpdmlkZXNfaW1wbDwgbmEsaW50ZWdyYWxfY190YWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4gc3RydWN0IGRpdmlkZXNfaW1wbDwgaW50ZWdyYWxfY190YWcsbmEgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUID4gc3RydWN0IGRpdmlkZXNfdGFnCisgICAgOiB0YWc8IFQsbmEgPgoreworfTsKKworLy8vIGZvcndhcmQgZGVjbGFyYXRpb24KKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4xKQorICAgICwgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMikKKyAgICA+CitzdHJ1Y3QgZGl2aWRlczI7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMSkKKyAgICAsIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjIpCisgICAgLCB0eXBlbmFtZSBOMyA9IG5hLCB0eXBlbmFtZSBONCA9IG5hLCB0eXBlbmFtZSBONSA9IG5hCisgICAgPgorc3RydWN0IGRpdmlkZXMKKworICAgIDogYXV4Ojptc3ZjX2V0aV9iYXNlPCB0eXBlbmFtZSBpZl88CisKKyAgICAgICAgICBpc19uYTxOMz4KKyAgICAgICAgLCBkaXZpZGVzMjwgTjEsTjIgPgorICAgICAgICAsIGRpdmlkZXM8CisgICAgICAgICAgICAgIGRpdmlkZXMyPCBOMSxOMiA+CisgICAgICAgICAgICAsIE4zLCBONCwgTjUKKyAgICAgICAgICAgID4KKyAgICAgICAgPjo6dHlwZQorCisgICAgPgorCit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgKKyAgICAgICAgICA1CisgICAgICAgICwgZGl2aWRlcworICAgICAgICAsICggTjEsIE4yLCBOMywgTjQsIE41ICkKKyAgICAgICAgKQorfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBOMQorICAgICwgdHlwZW5hbWUgTjIKKyAgICA+CitzdHJ1Y3QgZGl2aWRlczIKKyAgICA6IGF1eDo6bXN2Y19ldGlfYmFzZTwgdHlwZW5hbWUgYXBwbHlfd3JhcDI8CisgICAgICAgICAgZGl2aWRlc19pbXBsPAorICAgICAgICAgICAgICB0eXBlbmFtZSBkaXZpZGVzX3RhZzxOMT46OnR5cGUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgZGl2aWRlc190YWc8TjI+Ojp0eXBlCisgICAgICAgICAgICA+CisgICAgICAgICwgTjEKKyAgICAgICAgLCBOMgorICAgICAgICA+Ojp0eXBlID46OnR5cGUKKworeworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoMiwgZGl2aWRlczIsIChOMSwgTjIpKQorCit9OworCitCT09TVF9NUExfQVVYX05BX1NQRUMyKDIsIDUsIGRpdmlkZXMpCisKK319CisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCituYW1lc3BhY2UgYXV4IHsKK3RlbXBsYXRlPCB0eXBlbmFtZSBULCBUIG4xLCBUIG4yID4KK3N0cnVjdCBkaXZpZGVzX3drbmQKK3sKKyAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoVCwgdmFsdWUgID0gKG4xIC8gbjIpKTsKKyAgICB0eXBlZGVmIGludGVncmFsX2M8IFQsdmFsdWUgPiB0eXBlOworfTsKKworfQorCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgZGl2aWRlc19pbXBsPCBpbnRlZ3JhbF9jX3RhZyxpbnRlZ3JhbF9jX3RhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIE4xLCB0eXBlbmFtZSBOMiA+IHN0cnVjdCBhcHBseQorICAgICAgICA6IGF1eDo6ZGl2aWRlc193a25kPAorICAgICAgICAgICAgICB0eXBlbmFtZSBhdXg6Omxhcmdlc3RfaW50PAorICAgICAgICAgICAgICAgICAgdHlwZW5hbWUgTjE6OnZhbHVlX3R5cGUKKyAgICAgICAgICAgICAgICAsIHR5cGVuYW1lIE4yOjp2YWx1ZV90eXBlCisgICAgICAgICAgICAgICAgPjo6dHlwZQorICAgICAgICAgICAgLCBOMTo6dmFsdWUKKyAgICAgICAgICAgICwgTjI6OnZhbHVlCisgICAgICAgICAgICA+Ojp0eXBlCisKKyAgICB7CisgICAgfTsKK307CisKK319CmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXN2YzcwL2VxdWFsX3RvLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9tc3ZjNzAvZXF1YWxfdG8uaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA2YzYyZWEKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXN2YzcwL2VxdWFsX3RvLmhwcApAQCAtMCwwICsxLDEwMiBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvZXF1YWxfdG8uaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVGFnMQorICAgICwgdHlwZW5hbWUgVGFnMgorCisgICAgLCBCT09TVF9NUExfQVVYX05UVFBfREVDTChpbnQsIHRhZzFfKSAgPSBCT09TVF9NUExfQVVYX01TVkNfVkFMVUVfV0tORChUYWcxKTo6dmFsdWUKKyAgICAsIEJPT1NUX01QTF9BVVhfTlRUUF9ERUNMKGludCwgdGFnMl8pICA9IEJPT1NUX01QTF9BVVhfTVNWQ19WQUxVRV9XS05EKFRhZzIpOjp2YWx1ZQorICAgID4KK3N0cnVjdCBlcXVhbF90b19pbXBsCisgICAgOiBpZl9jPAorICAgICAgICAgICggdGFnMV8gPiB0YWcyXyApCisgICAgICAgICwgYXV4OjpjYXN0Mm5kX2ltcGw8IGVxdWFsX3RvX2ltcGw8IFRhZzEsVGFnMSA+LFRhZzEsIFRhZzIgPgorICAgICAgICAsIGF1eDo6Y2FzdDFzdF9pbXBsPCBlcXVhbF90b19pbXBsPCBUYWcyLFRhZzIgPixUYWcxLCBUYWcyID4KKyAgICAgICAgPjo6dHlwZQoreworfTsKKworLy8vIGZvciBEaWdpdGFsIE1hcnMgQysrL2NvbXBpbGVycyB3aXRoIG5vIENUUFMvVFRQIHN1cHBvcnQKK3RlbXBsYXRlPD4gc3RydWN0IGVxdWFsX3RvX2ltcGw8IG5hLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCBlcXVhbF90b19pbXBsPCBuYSxpbnRlZ3JhbF9jX3RhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgZXF1YWxfdG9faW1wbDwgaW50ZWdyYWxfY190YWcsbmEgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUID4gc3RydWN0IGVxdWFsX3RvX3RhZworICAgIDogdGFnPCBULG5hID4KK3sKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMSkKKyAgICAsIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjIpCisgICAgPgorc3RydWN0IGVxdWFsX3RvCisgICAgOiBhdXg6Om1zdmNfZXRpX2Jhc2U8IHR5cGVuYW1lIGFwcGx5X3dyYXAyPAorICAgICAgICAgIGVxdWFsX3RvX2ltcGw8CisgICAgICAgICAgICAgIHR5cGVuYW1lIGVxdWFsX3RvX3RhZzxOMT46OnR5cGUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgZXF1YWxfdG9fdGFnPE4yPjo6dHlwZQorICAgICAgICAgICAgPgorICAgICAgICAsIE4xCisgICAgICAgICwgTjIKKyAgICAgICAgPjo6dHlwZSA+Ojp0eXBlCisKK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKDIsIGVxdWFsX3RvLCAoTjEsIE4yKSkKKworfTsKKworQk9PU1RfTVBMX0FVWF9OQV9TUEVDMigyLCAyLCBlcXVhbF90bykKKworfX0KKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBlcXVhbF90b19pbXBsPCBpbnRlZ3JhbF9jX3RhZyxpbnRlZ3JhbF9jX3RhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIE4xLCB0eXBlbmFtZSBOMiA+IHN0cnVjdCBhcHBseQorCisgICAgeworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoYm9vbCwgdmFsdWUgPQorICAgICAgICAgICAgICggQk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4xKTo6dmFsdWUgPT0KKyAgICAgICAgICAgICBCT09TVF9NUExfQVVYX1ZBTFVFX1dLTkQoTjIpOjp2YWx1ZSApCisgICAgICAgICAgICApOworICAgICAgICB0eXBlZGVmIGJvb2xfPHZhbHVlPiB0eXBlOworICAgIH07Cit9OworCit9fQpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL21zdmM3MC9mb2xkX2ltcGwuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL21zdmM3MC9mb2xkX2ltcGwuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM0Y2FjZTQKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXN2YzcwL2ZvbGRfaW1wbC5ocHAKQEAgLTAsMCArMSwyNDUgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL2F1eF8vZm9sZF9pbXBsLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeyBuYW1lc3BhY2UgYXV4IHsKKworLy8vIGZvcndhcmQgZGVjbGFyYXRpb24KKwordGVtcGxhdGU8CisgICAgICBpbnQgTgorICAgICwgdHlwZW5hbWUgRmlyc3QKKyAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+CitzdHJ1Y3QgZm9sZF9pbXBsOworCit0ZW1wbGF0ZTwgaW50IE4gPgorc3RydWN0IGZvbGRfY2h1bms7CisKK3RlbXBsYXRlPD4gc3RydWN0IGZvbGRfY2h1bms8MD4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBGaXJzdAorICAgICAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgRmlyc3QgaXRlcjA7CisgICAgICAgIHR5cGVkZWYgU3RhdGUgc3RhdGUwOworICAgICAgICB0eXBlZGVmIHN0YXRlMCBzdGF0ZTsKKyAgICAgICAgdHlwZWRlZiBpdGVyMCBpdGVyYXRvcjsKKyAgICB9OworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgZm9sZF9jaHVuazwxPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgICAgICwgdHlwZW5hbWUgTGFzdAorICAgICAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiBGaXJzdCBpdGVyMDsKKyAgICAgICAgdHlwZWRlZiBTdGF0ZSBzdGF0ZTA7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsIHN0YXRlMCwgdHlwZW5hbWUgZGVyZWY8aXRlcjA+Ojp0eXBlID46OnR5cGUgc3RhdGUxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMD46OnR5cGUgaXRlcjE7CisgICAgICAgIAorCisgICAgICAgIHR5cGVkZWYgc3RhdGUxIHN0YXRlOworICAgICAgICB0eXBlZGVmIGl0ZXIxIGl0ZXJhdG9yOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCBmb2xkX2NodW5rPDI+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIEZpcnN0IGl0ZXIwOworICAgICAgICB0eXBlZGVmIFN0YXRlIHN0YXRlMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCwgc3RhdGUwLCB0eXBlbmFtZSBkZXJlZjxpdGVyMD46OnR5cGUgPjo6dHlwZSBzdGF0ZTE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIwPjo6dHlwZSBpdGVyMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCwgc3RhdGUxLCB0eXBlbmFtZSBkZXJlZjxpdGVyMT46OnR5cGUgPjo6dHlwZSBzdGF0ZTI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIxPjo6dHlwZSBpdGVyMjsKKyAgICAgICAgCisKKyAgICAgICAgdHlwZWRlZiBzdGF0ZTIgc3RhdGU7CisgICAgICAgIHR5cGVkZWYgaXRlcjIgaXRlcmF0b3I7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4gc3RydWN0IGZvbGRfY2h1bms8Mz4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBGaXJzdAorICAgICAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgRmlyc3QgaXRlcjA7CisgICAgICAgIHR5cGVkZWYgU3RhdGUgc3RhdGUwOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLCBzdGF0ZTAsIHR5cGVuYW1lIGRlcmVmPGl0ZXIwPjo6dHlwZSA+Ojp0eXBlIHN0YXRlMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjA+Ojp0eXBlIGl0ZXIxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLCBzdGF0ZTEsIHR5cGVuYW1lIGRlcmVmPGl0ZXIxPjo6dHlwZSA+Ojp0eXBlIHN0YXRlMjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjE+Ojp0eXBlIGl0ZXIyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLCBzdGF0ZTIsIHR5cGVuYW1lIGRlcmVmPGl0ZXIyPjo6dHlwZSA+Ojp0eXBlIHN0YXRlMzsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjI+Ojp0eXBlIGl0ZXIzOworICAgICAgICAKKworICAgICAgICB0eXBlZGVmIHN0YXRlMyBzdGF0ZTsKKyAgICAgICAgdHlwZWRlZiBpdGVyMyBpdGVyYXRvcjsKKyAgICB9OworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgZm9sZF9jaHVuazw0PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgICAgICwgdHlwZW5hbWUgTGFzdAorICAgICAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiBGaXJzdCBpdGVyMDsKKyAgICAgICAgdHlwZWRlZiBTdGF0ZSBzdGF0ZTA7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsIHN0YXRlMCwgdHlwZW5hbWUgZGVyZWY8aXRlcjA+Ojp0eXBlID46OnR5cGUgc3RhdGUxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMD46OnR5cGUgaXRlcjE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsIHN0YXRlMSwgdHlwZW5hbWUgZGVyZWY8aXRlcjE+Ojp0eXBlID46OnR5cGUgc3RhdGUyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMT46OnR5cGUgaXRlcjI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsIHN0YXRlMiwgdHlwZW5hbWUgZGVyZWY8aXRlcjI+Ojp0eXBlID46OnR5cGUgc3RhdGUzOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMj46OnR5cGUgaXRlcjM7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsIHN0YXRlMywgdHlwZW5hbWUgZGVyZWY8aXRlcjM+Ojp0eXBlID46OnR5cGUgc3RhdGU0OworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMz46OnR5cGUgaXRlcjQ7CisgICAgICAgIAorCisgICAgICAgIHR5cGVkZWYgc3RhdGU0IHN0YXRlOworICAgICAgICB0eXBlZGVmIGl0ZXI0IGl0ZXJhdG9yOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgaW50IE4gPgorc3RydWN0IGZvbGRfY2h1bmsKK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBGaXJzdAorICAgICAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgZm9sZF9pbXBsPAorICAgICAgICAgICAgICA0CisgICAgICAgICAgICAsIEZpcnN0CisgICAgICAgICAgICAsIExhc3QKKyAgICAgICAgICAgICwgU3RhdGUKKyAgICAgICAgICAgICwgRm9yd2FyZE9wCisgICAgICAgICAgICA+IGNodW5rXzsKKworICAgICAgICB0eXBlZGVmIGZvbGRfaW1wbDwKKyAgICAgICAgICAgICAgKCAoTiAtIDQpIDwgMCA/IDAgOiBOIC0gNCApCisgICAgICAgICAgICAsIHR5cGVuYW1lIGNodW5rXzo6aXRlcmF0b3IKKyAgICAgICAgICAgICwgTGFzdAorICAgICAgICAgICAgLCB0eXBlbmFtZSBjaHVua186OnN0YXRlCisgICAgICAgICAgICAsIEZvcndhcmRPcAorICAgICAgICAgICAgPiByZXNfOworCisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcmVzXzo6c3RhdGUgc3RhdGU7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcmVzXzo6aXRlcmF0b3IgaXRlcmF0b3I7CisgICAgfTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+CitzdHJ1Y3QgZm9sZF9zdGVwOworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgPgorc3RydWN0IGZvbGRfbnVsbF9zdGVwCit7CisgICAgdHlwZWRlZiBMYXN0IGl0ZXJhdG9yOworICAgIHR5cGVkZWYgU3RhdGUgc3RhdGU7Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgZm9sZF9jaHVuazwgLTEgPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgICAgICwgdHlwZW5hbWUgTGFzdAorICAgICAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBpZl88CisgICAgICAgICAgICAgIHR5cGVuYW1lIGlzX3NhbWU8IEZpcnN0LExhc3QgPjo6dHlwZQorICAgICAgICAgICAgLCBmb2xkX251bGxfc3RlcDwgTGFzdCxTdGF0ZSA+CisgICAgICAgICAgICAsIGZvbGRfc3RlcDwgRmlyc3QsTGFzdCxTdGF0ZSxGb3J3YXJkT3AgPgorICAgICAgICAgICAgPjo6dHlwZSByZXNfOworCisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcmVzXzo6c3RhdGUgc3RhdGU7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcmVzXzo6aXRlcmF0b3IgaXRlcmF0b3I7CisgICAgfTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+CitzdHJ1Y3QgZm9sZF9zdGVwCit7CisgICAgdHlwZWRlZiBmb2xkX2NodW5rPCAtMSA+Ojp0ZW1wbGF0ZSByZXN1bHRfPAorICAgICAgICAgIHR5cGVuYW1lIG1wbDo6bmV4dDxGaXJzdD46OnR5cGUKKyAgICAgICAgLCBMYXN0CisgICAgICAgICwgdHlwZW5hbWUgYXBwbHkyPEZvcndhcmRPcCxTdGF0ZSwgdHlwZW5hbWUgZGVyZWY8Rmlyc3Q+Ojp0eXBlPjo6dHlwZQorICAgICAgICAsIEZvcndhcmRPcAorICAgICAgICA+IGNodW5rXzsKKworICAgIHR5cGVkZWYgdHlwZW5hbWUgY2h1bmtfOjpzdGF0ZSBzdGF0ZTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGNodW5rXzo6aXRlcmF0b3IgaXRlcmF0b3I7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIGludCBOCisgICAgLCB0eXBlbmFtZSBGaXJzdAorICAgICwgdHlwZW5hbWUgTGFzdAorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgID4KK3N0cnVjdCBmb2xkX2ltcGwKKyAgICA6IGZvbGRfY2h1bms8Tj4KKyAgICAgICAgOjp0ZW1wbGF0ZSByZXN1bHRfPCBGaXJzdCxMYXN0LFN0YXRlLEZvcndhcmRPcCA+Cit7Cit9OworCit9fX0KZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9tc3ZjNzAvZnVsbF9sYW1iZGEuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL21zdmM3MC9mdWxsX2xhbWJkYS5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGU2NThkOAotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9tc3ZjNzAvZnVsbF9sYW1iZGEuaHBwCkBAIC0wLDAgKzEsNTU0IEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDEtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9hdXhfL2Z1bGxfbGFtYmRhLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8CisgICAgICBib29sIEMxID0gZmFsc2UsIGJvb2wgQzIgPSBmYWxzZSwgYm9vbCBDMyA9IGZhbHNlLCBib29sIEM0ID0gZmFsc2UKKyAgICAsIGJvb2wgQzUgPSBmYWxzZQorICAgID4KK3N0cnVjdCBsYW1iZGFfb3IKKyAgICA6IHRydWVfCit7Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgbGFtYmRhX29yPCBmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSA+CisgICAgOiBmYWxzZV8KK3sKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQKKyAgICAsIHR5cGVuYW1lIFRhZworICAgCisgICAgPgorc3RydWN0IGxhbWJkYQoreworICAgIHR5cGVkZWYgZmFsc2VfIGlzX2xlOworICAgIHR5cGVkZWYgVCByZXN1bHRfOworICAgIHR5cGVkZWYgVCB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUCisgICAgPgorc3RydWN0IGlzX2xhbWJkYV9leHByZXNzaW9uCisgICAgOiBsYW1iZGE8VD46OmlzX2xlCit7Cit9OworCit0ZW1wbGF0ZTwgaW50IE4sIHR5cGVuYW1lIFRhZyA+CitzdHJ1Y3QgbGFtYmRhPCBhcmc8Tj4sIFRhZyA+Cit7CisgICAgdHlwZWRlZiB0cnVlXyBpc19sZTsKKyAgICB0eXBlZGVmIG1wbDo6YXJnPE4+IHJlc3VsdF87IC8vIHF1YWxpZmllZCBmb3IgdGhlIHNha2Ugb2YgTUlQU3BybyA3LjQxCisgICAgdHlwZWRlZiBtcGw6OnByb3RlY3Q8cmVzdWx0Xz4gdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRgorICAgICwgdHlwZW5hbWUgVGFnCisgICAgPgorc3RydWN0IGxhbWJkYTwKKyAgICAgICAgICBiaW5kMDxGPgorICAgICAgICAsIFRhZworICAgICAgIAorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiBmYWxzZV8gaXNfbGU7CisgICAgdHlwZWRlZiBiaW5kMDwKKyAgICAgICAgICBGCisgICAgICAgID4gcmVzdWx0XzsKKworICAgIHR5cGVkZWYgcmVzdWx0XyB0eXBlOworfTsKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgSXNMRSwgdHlwZW5hbWUgVGFnCisgICAgLCB0ZW1wbGF0ZTwgdHlwZW5hbWUgUDEgPiBjbGFzcyBGCisgICAgLCB0eXBlbmFtZSBMMQorICAgID4KK3N0cnVjdCBsZV9yZXN1bHQxCit7CisgICAgdHlwZWRlZiBGPAorICAgICAgICAgIHR5cGVuYW1lIEwxOjp0eXBlCisgICAgICAgID4gcmVzdWx0XzsKKworICAgIHR5cGVkZWYgcmVzdWx0XyB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUYWcKKyAgICAsIHRlbXBsYXRlPCB0eXBlbmFtZSBQMSA+IGNsYXNzIEYKKyAgICAsIHR5cGVuYW1lIEwxCisgICAgPgorc3RydWN0IGxlX3Jlc3VsdDE8IHRydWVfLFRhZyxGLEwxID4KK3sKKyAgICB0eXBlZGVmIGJpbmQxPAorICAgICAgICAgIHF1b3RlMTwgRixUYWcgPgorICAgICAgICAsIHR5cGVuYW1lIEwxOjpyZXN1bHRfCisgICAgICAgID4gcmVzdWx0XzsKKworICAgIHR5cGVkZWYgbXBsOjpwcm90ZWN0PHJlc3VsdF8+IHR5cGU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKwordGVtcGxhdGU8CisgICAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgUDEgPiBjbGFzcyBGCisgICAgLCB0eXBlbmFtZSBUMQorICAgICwgdHlwZW5hbWUgVGFnCisgICAgPgorc3RydWN0IGxhbWJkYTwKKyAgICAgICAgICBGPFQxPgorICAgICAgICAsIFRhZworICAgICAgIAorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiBsYW1iZGE8IFQxLFRhZyA+IGwxOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbDE6OmlzX2xlIGlzX2xlMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGF1eDo6bGFtYmRhX29yPAorICAgICAgICAgIGlzX2xlMTo6dmFsdWUKKyAgICAgICAgPjo6dHlwZSBpc19sZTsKKworICAgIHR5cGVkZWYgYXV4OjpsZV9yZXN1bHQxPAorICAgICAgICAgIGlzX2xlLCBUYWcsIEYsIGwxCisgICAgICAgID4gbGVfcmVzdWx0XzsKKworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGVfcmVzdWx0Xzo6cmVzdWx0XyByZXN1bHRfOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGVfcmVzdWx0Xzo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMQorICAgICwgdHlwZW5hbWUgVGFnCisgICAgPgorc3RydWN0IGxhbWJkYTwKKyAgICAgICAgICBiaW5kMTwgRixUMSA+CisgICAgICAgICwgVGFnCisgICAgICAgCisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIGZhbHNlXyBpc19sZTsKKyAgICB0eXBlZGVmIGJpbmQxPAorICAgICAgICAgIEYKKyAgICAgICAgLCBUMQorICAgICAgICA+IHJlc3VsdF87CisKKyAgICB0eXBlZGVmIHJlc3VsdF8gdHlwZTsKK307CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIElzTEUsIHR5cGVuYW1lIFRhZworICAgICwgdGVtcGxhdGU8IHR5cGVuYW1lIFAxLCB0eXBlbmFtZSBQMiA+IGNsYXNzIEYKKyAgICAsIHR5cGVuYW1lIEwxLCB0eXBlbmFtZSBMMgorICAgID4KK3N0cnVjdCBsZV9yZXN1bHQyCit7CisgICAgdHlwZWRlZiBGPAorICAgICAgICAgIHR5cGVuYW1lIEwxOjp0eXBlLCB0eXBlbmFtZSBMMjo6dHlwZQorICAgICAgICA+IHJlc3VsdF87CisKKyAgICB0eXBlZGVmIHJlc3VsdF8gdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVGFnCisgICAgLCB0ZW1wbGF0ZTwgdHlwZW5hbWUgUDEsIHR5cGVuYW1lIFAyID4gY2xhc3MgRgorICAgICwgdHlwZW5hbWUgTDEsIHR5cGVuYW1lIEwyCisgICAgPgorc3RydWN0IGxlX3Jlc3VsdDI8IHRydWVfLFRhZyxGLEwxLEwyID4KK3sKKyAgICB0eXBlZGVmIGJpbmQyPAorICAgICAgICAgIHF1b3RlMjwgRixUYWcgPgorICAgICAgICAsIHR5cGVuYW1lIEwxOjpyZXN1bHRfLCB0eXBlbmFtZSBMMjo6cmVzdWx0XworICAgICAgICA+IHJlc3VsdF87CisKKyAgICB0eXBlZGVmIG1wbDo6cHJvdGVjdDxyZXN1bHRfPiB0eXBlOworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK3RlbXBsYXRlPAorICAgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFAxLCB0eXBlbmFtZSBQMiA+IGNsYXNzIEYKKyAgICAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMgorICAgICwgdHlwZW5hbWUgVGFnCisgICAgPgorc3RydWN0IGxhbWJkYTwKKyAgICAgICAgICBGPCBUMSxUMiA+CisgICAgICAgICwgVGFnCisgICAgICAgCisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIGxhbWJkYTwgVDEsVGFnID4gbDE7CisgICAgdHlwZWRlZiBsYW1iZGE8IFQyLFRhZyA+IGwyOworICAgIAorICAgIHR5cGVkZWYgdHlwZW5hbWUgbDE6OmlzX2xlIGlzX2xlMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGwyOjppc19sZSBpc19sZTI7CisgICAgCisKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGF1eDo6bGFtYmRhX29yPAorICAgICAgICAgIGlzX2xlMTo6dmFsdWUsIGlzX2xlMjo6dmFsdWUKKyAgICAgICAgPjo6dHlwZSBpc19sZTsKKworICAgIHR5cGVkZWYgYXV4OjpsZV9yZXN1bHQyPAorICAgICAgICAgIGlzX2xlLCBUYWcsIEYsIGwxLCBsMgorICAgICAgICA+IGxlX3Jlc3VsdF87CisKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxlX3Jlc3VsdF86OnJlc3VsdF8gcmVzdWx0XzsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxlX3Jlc3VsdF86OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyCisgICAgLCB0eXBlbmFtZSBUYWcKKyAgICA+CitzdHJ1Y3QgbGFtYmRhPAorICAgICAgICAgIGJpbmQyPCBGLFQxLFQyID4KKyAgICAgICAgLCBUYWcKKyAgICAgICAKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgZmFsc2VfIGlzX2xlOworICAgIHR5cGVkZWYgYmluZDI8CisgICAgICAgICAgRgorICAgICAgICAsIFQxLCBUMgorICAgICAgICA+IHJlc3VsdF87CisKKyAgICB0eXBlZGVmIHJlc3VsdF8gdHlwZTsKK307CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIElzTEUsIHR5cGVuYW1lIFRhZworICAgICwgdGVtcGxhdGU8IHR5cGVuYW1lIFAxLCB0eXBlbmFtZSBQMiwgdHlwZW5hbWUgUDMgPiBjbGFzcyBGCisgICAgLCB0eXBlbmFtZSBMMSwgdHlwZW5hbWUgTDIsIHR5cGVuYW1lIEwzCisgICAgPgorc3RydWN0IGxlX3Jlc3VsdDMKK3sKKyAgICB0eXBlZGVmIEY8CisgICAgICAgICAgdHlwZW5hbWUgTDE6OnR5cGUsIHR5cGVuYW1lIEwyOjp0eXBlLCB0eXBlbmFtZSBMMzo6dHlwZQorICAgICAgICA+IHJlc3VsdF87CisKKyAgICB0eXBlZGVmIHJlc3VsdF8gdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVGFnCisgICAgLCB0ZW1wbGF0ZTwgdHlwZW5hbWUgUDEsIHR5cGVuYW1lIFAyLCB0eXBlbmFtZSBQMyA+IGNsYXNzIEYKKyAgICAsIHR5cGVuYW1lIEwxLCB0eXBlbmFtZSBMMiwgdHlwZW5hbWUgTDMKKyAgICA+CitzdHJ1Y3QgbGVfcmVzdWx0MzwgdHJ1ZV8sVGFnLEYsTDEsTDIsTDMgPgoreworICAgIHR5cGVkZWYgYmluZDM8CisgICAgICAgICAgcXVvdGUzPCBGLFRhZyA+CisgICAgICAgICwgdHlwZW5hbWUgTDE6OnJlc3VsdF8sIHR5cGVuYW1lIEwyOjpyZXN1bHRfLCB0eXBlbmFtZSBMMzo6cmVzdWx0XworICAgICAgICA+IHJlc3VsdF87CisKKyAgICB0eXBlZGVmIG1wbDo6cHJvdGVjdDxyZXN1bHRfPiB0eXBlOworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK3RlbXBsYXRlPAorICAgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFAxLCB0eXBlbmFtZSBQMiwgdHlwZW5hbWUgUDMgPiBjbGFzcyBGCisgICAgLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzCisgICAgLCB0eXBlbmFtZSBUYWcKKyAgICA+CitzdHJ1Y3QgbGFtYmRhPAorICAgICAgICAgIEY8IFQxLFQyLFQzID4KKyAgICAgICAgLCBUYWcKKyAgICAgICAKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgbGFtYmRhPCBUMSxUYWcgPiBsMTsKKyAgICB0eXBlZGVmIGxhbWJkYTwgVDIsVGFnID4gbDI7CisgICAgdHlwZWRlZiBsYW1iZGE8IFQzLFRhZyA+IGwzOworICAgIAorICAgIHR5cGVkZWYgdHlwZW5hbWUgbDE6OmlzX2xlIGlzX2xlMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGwyOjppc19sZSBpc19sZTI7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsMzo6aXNfbGUgaXNfbGUzOworICAgIAorCisgICAgdHlwZWRlZiB0eXBlbmFtZSBhdXg6OmxhbWJkYV9vcjwKKyAgICAgICAgICBpc19sZTE6OnZhbHVlLCBpc19sZTI6OnZhbHVlLCBpc19sZTM6OnZhbHVlCisgICAgICAgID46OnR5cGUgaXNfbGU7CisKKyAgICB0eXBlZGVmIGF1eDo6bGVfcmVzdWx0MzwKKyAgICAgICAgICBpc19sZSwgVGFnLCBGLCBsMSwgbDIsIGwzCisgICAgICAgID4gbGVfcmVzdWx0XzsKKworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGVfcmVzdWx0Xzo6cmVzdWx0XyByZXN1bHRfOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGVfcmVzdWx0Xzo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzCisgICAgLCB0eXBlbmFtZSBUYWcKKyAgICA+CitzdHJ1Y3QgbGFtYmRhPAorICAgICAgICAgIGJpbmQzPCBGLFQxLFQyLFQzID4KKyAgICAgICAgLCBUYWcKKyAgICAgICAKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgZmFsc2VfIGlzX2xlOworICAgIHR5cGVkZWYgYmluZDM8CisgICAgICAgICAgRgorICAgICAgICAsIFQxLCBUMiwgVDMKKyAgICAgICAgPiByZXN1bHRfOworCisgICAgdHlwZWRlZiByZXN1bHRfIHR5cGU7Cit9OworCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBJc0xFLCB0eXBlbmFtZSBUYWcKKyAgICAsIHRlbXBsYXRlPCB0eXBlbmFtZSBQMSwgdHlwZW5hbWUgUDIsIHR5cGVuYW1lIFAzLCB0eXBlbmFtZSBQNCA+IGNsYXNzIEYKKyAgICAsIHR5cGVuYW1lIEwxLCB0eXBlbmFtZSBMMiwgdHlwZW5hbWUgTDMsIHR5cGVuYW1lIEw0CisgICAgPgorc3RydWN0IGxlX3Jlc3VsdDQKK3sKKyAgICB0eXBlZGVmIEY8CisgICAgICAgICAgdHlwZW5hbWUgTDE6OnR5cGUsIHR5cGVuYW1lIEwyOjp0eXBlLCB0eXBlbmFtZSBMMzo6dHlwZQorICAgICAgICAsIHR5cGVuYW1lIEw0Ojp0eXBlCisgICAgICAgID4gcmVzdWx0XzsKKworICAgIHR5cGVkZWYgcmVzdWx0XyB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUYWcKKyAgICAsIHRlbXBsYXRlPCB0eXBlbmFtZSBQMSwgdHlwZW5hbWUgUDIsIHR5cGVuYW1lIFAzLCB0eXBlbmFtZSBQNCA+IGNsYXNzIEYKKyAgICAsIHR5cGVuYW1lIEwxLCB0eXBlbmFtZSBMMiwgdHlwZW5hbWUgTDMsIHR5cGVuYW1lIEw0CisgICAgPgorc3RydWN0IGxlX3Jlc3VsdDQ8IHRydWVfLFRhZyxGLEwxLEwyLEwzLEw0ID4KK3sKKyAgICB0eXBlZGVmIGJpbmQ0PAorICAgICAgICAgIHF1b3RlNDwgRixUYWcgPgorICAgICAgICAsIHR5cGVuYW1lIEwxOjpyZXN1bHRfLCB0eXBlbmFtZSBMMjo6cmVzdWx0XywgdHlwZW5hbWUgTDM6OnJlc3VsdF8KKyAgICAgICAgLCB0eXBlbmFtZSBMNDo6cmVzdWx0XworICAgICAgICA+IHJlc3VsdF87CisKKyAgICB0eXBlZGVmIG1wbDo6cHJvdGVjdDxyZXN1bHRfPiB0eXBlOworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK3RlbXBsYXRlPAorICAgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFAxLCB0eXBlbmFtZSBQMiwgdHlwZW5hbWUgUDMsIHR5cGVuYW1lIFA0ID4gY2xhc3MgRgorICAgICwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFRhZworICAgID4KK3N0cnVjdCBsYW1iZGE8CisgICAgICAgICAgRjwgVDEsVDIsVDMsVDQgPgorICAgICAgICAsIFRhZworICAgICAgIAorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiBsYW1iZGE8IFQxLFRhZyA+IGwxOworICAgIHR5cGVkZWYgbGFtYmRhPCBUMixUYWcgPiBsMjsKKyAgICB0eXBlZGVmIGxhbWJkYTwgVDMsVGFnID4gbDM7CisgICAgdHlwZWRlZiBsYW1iZGE8IFQ0LFRhZyA+IGw0OworICAgIAorICAgIHR5cGVkZWYgdHlwZW5hbWUgbDE6OmlzX2xlIGlzX2xlMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGwyOjppc19sZSBpc19sZTI7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsMzo6aXNfbGUgaXNfbGUzOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbDQ6OmlzX2xlIGlzX2xlNDsKKyAgICAKKworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXV4OjpsYW1iZGFfb3I8CisgICAgICAgICAgaXNfbGUxOjp2YWx1ZSwgaXNfbGUyOjp2YWx1ZSwgaXNfbGUzOjp2YWx1ZSwgaXNfbGU0Ojp2YWx1ZQorICAgICAgICA+Ojp0eXBlIGlzX2xlOworCisgICAgdHlwZWRlZiBhdXg6OmxlX3Jlc3VsdDQ8CisgICAgICAgICAgaXNfbGUsIFRhZywgRiwgbDEsIGwyLCBsMywgbDQKKyAgICAgICAgPiBsZV9yZXN1bHRfOworCisgICAgdHlwZWRlZiB0eXBlbmFtZSBsZV9yZXN1bHRfOjpyZXN1bHRfIHJlc3VsdF87CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsZV9yZXN1bHRfOjp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUYWcKKyAgICA+CitzdHJ1Y3QgbGFtYmRhPAorICAgICAgICAgIGJpbmQ0PCBGLFQxLFQyLFQzLFQ0ID4KKyAgICAgICAgLCBUYWcKKyAgICAgICAKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgZmFsc2VfIGlzX2xlOworICAgIHR5cGVkZWYgYmluZDQ8CisgICAgICAgICAgRgorICAgICAgICAsIFQxLCBUMiwgVDMsIFQ0CisgICAgICAgID4gcmVzdWx0XzsKKworICAgIHR5cGVkZWYgcmVzdWx0XyB0eXBlOworfTsKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgSXNMRSwgdHlwZW5hbWUgVGFnCisgICAgLCB0ZW1wbGF0ZTwgdHlwZW5hbWUgUDEsIHR5cGVuYW1lIFAyLCB0eXBlbmFtZSBQMywgdHlwZW5hbWUgUDQsIHR5cGVuYW1lIFA1ID4gY2xhc3MgRgorICAgICwgdHlwZW5hbWUgTDEsIHR5cGVuYW1lIEwyLCB0eXBlbmFtZSBMMywgdHlwZW5hbWUgTDQsIHR5cGVuYW1lIEw1CisgICAgPgorc3RydWN0IGxlX3Jlc3VsdDUKK3sKKyAgICB0eXBlZGVmIEY8CisgICAgICAgICAgdHlwZW5hbWUgTDE6OnR5cGUsIHR5cGVuYW1lIEwyOjp0eXBlLCB0eXBlbmFtZSBMMzo6dHlwZQorICAgICAgICAsIHR5cGVuYW1lIEw0Ojp0eXBlLCB0eXBlbmFtZSBMNTo6dHlwZQorICAgICAgICA+IHJlc3VsdF87CisKKyAgICB0eXBlZGVmIHJlc3VsdF8gdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVGFnCisgICAgLCB0ZW1wbGF0ZTwgdHlwZW5hbWUgUDEsIHR5cGVuYW1lIFAyLCB0eXBlbmFtZSBQMywgdHlwZW5hbWUgUDQsIHR5cGVuYW1lIFA1ID4gY2xhc3MgRgorICAgICwgdHlwZW5hbWUgTDEsIHR5cGVuYW1lIEwyLCB0eXBlbmFtZSBMMywgdHlwZW5hbWUgTDQsIHR5cGVuYW1lIEw1CisgICAgPgorc3RydWN0IGxlX3Jlc3VsdDU8IHRydWVfLFRhZyxGLEwxLEwyLEwzLEw0LEw1ID4KK3sKKyAgICB0eXBlZGVmIGJpbmQ1PAorICAgICAgICAgIHF1b3RlNTwgRixUYWcgPgorICAgICAgICAsIHR5cGVuYW1lIEwxOjpyZXN1bHRfLCB0eXBlbmFtZSBMMjo6cmVzdWx0XywgdHlwZW5hbWUgTDM6OnJlc3VsdF8KKyAgICAgICAgLCB0eXBlbmFtZSBMNDo6cmVzdWx0XywgdHlwZW5hbWUgTDU6OnJlc3VsdF8KKyAgICAgICAgPiByZXN1bHRfOworCisgICAgdHlwZWRlZiBtcGw6OnByb3RlY3Q8cmVzdWx0Xz4gdHlwZTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCit0ZW1wbGF0ZTwKKyAgICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFAxLCB0eXBlbmFtZSBQMiwgdHlwZW5hbWUgUDMsIHR5cGVuYW1lIFA0CisgICAgICAgICwgdHlwZW5hbWUgUDUKKyAgICAgICAgPgorICAgICAgY2xhc3MgRgorICAgICwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQsIHR5cGVuYW1lIFQ1CisgICAgLCB0eXBlbmFtZSBUYWcKKyAgICA+CitzdHJ1Y3QgbGFtYmRhPAorICAgICAgICAgIEY8IFQxLFQyLFQzLFQ0LFQ1ID4KKyAgICAgICAgLCBUYWcKKyAgICAgICAKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgbGFtYmRhPCBUMSxUYWcgPiBsMTsKKyAgICB0eXBlZGVmIGxhbWJkYTwgVDIsVGFnID4gbDI7CisgICAgdHlwZWRlZiBsYW1iZGE8IFQzLFRhZyA+IGwzOworICAgIHR5cGVkZWYgbGFtYmRhPCBUNCxUYWcgPiBsNDsKKyAgICB0eXBlZGVmIGxhbWJkYTwgVDUsVGFnID4gbDU7CisgICAgCisgICAgdHlwZWRlZiB0eXBlbmFtZSBsMTo6aXNfbGUgaXNfbGUxOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbDI6OmlzX2xlIGlzX2xlMjsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGwzOjppc19sZSBpc19sZTM7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsNDo6aXNfbGUgaXNfbGU0OworICAgIHR5cGVkZWYgdHlwZW5hbWUgbDU6OmlzX2xlIGlzX2xlNTsKKyAgICAKKworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXV4OjpsYW1iZGFfb3I8CisgICAgICAgICAgaXNfbGUxOjp2YWx1ZSwgaXNfbGUyOjp2YWx1ZSwgaXNfbGUzOjp2YWx1ZSwgaXNfbGU0Ojp2YWx1ZQorICAgICAgICAsIGlzX2xlNTo6dmFsdWUKKyAgICAgICAgPjo6dHlwZSBpc19sZTsKKworICAgIHR5cGVkZWYgYXV4OjpsZV9yZXN1bHQ1PAorICAgICAgICAgIGlzX2xlLCBUYWcsIEYsIGwxLCBsMiwgbDMsIGw0LCBsNQorICAgICAgICA+IGxlX3Jlc3VsdF87CisKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxlX3Jlc3VsdF86OnJlc3VsdF8gcmVzdWx0XzsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxlX3Jlc3VsdF86OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1CisgICAgLCB0eXBlbmFtZSBUYWcKKyAgICA+CitzdHJ1Y3QgbGFtYmRhPAorICAgICAgICAgIGJpbmQ1PCBGLFQxLFQyLFQzLFQ0LFQ1ID4KKyAgICAgICAgLCBUYWcKKyAgICAgICAKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgZmFsc2VfIGlzX2xlOworICAgIHR5cGVkZWYgYmluZDU8CisgICAgICAgICAgRgorICAgICAgICAsIFQxLCBUMiwgVDMsIFQ0LCBUNQorICAgICAgICA+IHJlc3VsdF87CisKKyAgICB0eXBlZGVmIHJlc3VsdF8gdHlwZTsKK307CisKKy8vLyBzcGVjaWFsIGNhc2UgZm9yICdwcm90ZWN0JwordGVtcGxhdGU8IHR5cGVuYW1lIFQsIHR5cGVuYW1lIFRhZyA+CitzdHJ1Y3QgbGFtYmRhPCBtcGw6OnByb3RlY3Q8VD4sIFRhZyA+Cit7CisgICAgdHlwZWRlZiBmYWxzZV8gaXNfbGU7CisgICAgdHlwZWRlZiBtcGw6OnByb3RlY3Q8VD4gcmVzdWx0XzsKKyAgICB0eXBlZGVmIHJlc3VsdF8gdHlwZTsKK307CisKKy8vLyBzcGVjaWFsaXphdGlvbnMgZm9yIHRoZSBtYWluICdiaW5kJyBmb3JtCisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1CisgICAgLCB0eXBlbmFtZSBUYWcKKyAgICA+CitzdHJ1Y3QgbGFtYmRhPAorICAgICAgICAgIGJpbmQ8IEYsVDEsVDIsVDMsVDQsVDUgPgorICAgICAgICAsIFRhZworICAgICAgIAorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiBmYWxzZV8gaXNfbGU7CisgICAgdHlwZWRlZiBiaW5kPCBGLFQxLFQyLFQzLFQ0LFQ1ID4gcmVzdWx0XzsKKyAgICB0eXBlZGVmIHJlc3VsdF8gdHlwZTsKK307CisKKy8vLyB3b3JrYXJvdW5kIGZvciBNV0NXIDguMysvRURHIDwgMzAzLCBsZWFkcyB0byBhbWJpZ3VpdHkgb24gRGlnaXRhbCBNYXJzCisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVGFnMSwgdHlwZW5hbWUgVGFnMgorICAgID4KK3N0cnVjdCBsYW1iZGE8CisgICAgICAgICAgbGFtYmRhPCBGLFRhZzEgPgorICAgICAgICAsIFRhZzIKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgbGFtYmRhPCBGLFRhZzIgPiBsMTsKKyAgICB0eXBlZGVmIGxhbWJkYTwgVGFnMSxUYWcyID4gbDI7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsMTo6aXNfbGUgaXNfbGU7CisgICAgdHlwZWRlZiBhdXg6OmxlX3Jlc3VsdDI8aXNfbGUsIFRhZzIsIG1wbDo6bGFtYmRhLCBsMSwgbDI+IGxlX3Jlc3VsdF87CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsZV9yZXN1bHRfOjpyZXN1bHRfIHJlc3VsdF87CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsZV9yZXN1bHRfOjp0eXBlIHR5cGU7Cit9OworCitCT09TVF9NUExfQVVYX05BX1NQRUMoMiwgbGFtYmRhKQorCit9fQorCmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXN2YzcwL2dyZWF0ZXIuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL21zdmM3MC9ncmVhdGVyLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MTQ1ZDJiCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL21zdmM3MC9ncmVhdGVyLmhwcApAQCAtMCwwICsxLDEwMiBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvZ3JlYXRlci5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUYWcxCisgICAgLCB0eXBlbmFtZSBUYWcyCisKKyAgICAsIEJPT1NUX01QTF9BVVhfTlRUUF9ERUNMKGludCwgdGFnMV8pICA9IEJPT1NUX01QTF9BVVhfTVNWQ19WQUxVRV9XS05EKFRhZzEpOjp2YWx1ZQorICAgICwgQk9PU1RfTVBMX0FVWF9OVFRQX0RFQ0woaW50LCB0YWcyXykgID0gQk9PU1RfTVBMX0FVWF9NU1ZDX1ZBTFVFX1dLTkQoVGFnMik6OnZhbHVlCisgICAgPgorc3RydWN0IGdyZWF0ZXJfaW1wbAorICAgIDogaWZfYzwKKyAgICAgICAgICAoIHRhZzFfID4gdGFnMl8gKQorICAgICAgICAsIGF1eDo6Y2FzdDJuZF9pbXBsPCBncmVhdGVyX2ltcGw8IFRhZzEsVGFnMSA+LFRhZzEsIFRhZzIgPgorICAgICAgICAsIGF1eDo6Y2FzdDFzdF9pbXBsPCBncmVhdGVyX2ltcGw8IFRhZzIsVGFnMiA+LFRhZzEsIFRhZzIgPgorICAgICAgICA+Ojp0eXBlCit7Cit9OworCisvLy8gZm9yIERpZ2l0YWwgTWFycyBDKysvY29tcGlsZXJzIHdpdGggbm8gQ1RQUy9UVFAgc3VwcG9ydAordGVtcGxhdGU8PiBzdHJ1Y3QgZ3JlYXRlcl9pbXBsPCBuYSxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgZ3JlYXRlcl9pbXBsPCBuYSxpbnRlZ3JhbF9jX3RhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgZ3JlYXRlcl9pbXBsPCBpbnRlZ3JhbF9jX3RhZyxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFQgPiBzdHJ1Y3QgZ3JlYXRlcl90YWcKKyAgICA6IHRhZzwgVCxuYSA+Cit7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjEpCisgICAgLCB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4yKQorICAgID4KK3N0cnVjdCBncmVhdGVyCisgICAgOiBhdXg6Om1zdmNfZXRpX2Jhc2U8IHR5cGVuYW1lIGFwcGx5X3dyYXAyPAorICAgICAgICAgIGdyZWF0ZXJfaW1wbDwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgZ3JlYXRlcl90YWc8TjE+Ojp0eXBlCisgICAgICAgICAgICAsIHR5cGVuYW1lIGdyZWF0ZXJfdGFnPE4yPjo6dHlwZQorICAgICAgICAgICAgPgorICAgICAgICAsIE4xCisgICAgICAgICwgTjIKKyAgICAgICAgPjo6dHlwZSA+Ojp0eXBlCisKK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKDIsIGdyZWF0ZXIsIChOMSwgTjIpKQorCit9OworCitCT09TVF9NUExfQVVYX05BX1NQRUMyKDIsIDIsIGdyZWF0ZXIpCisKK319CisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgZ3JlYXRlcl9pbXBsPCBpbnRlZ3JhbF9jX3RhZyxpbnRlZ3JhbF9jX3RhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIE4xLCB0eXBlbmFtZSBOMiA+IHN0cnVjdCBhcHBseQorCisgICAgeworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoYm9vbCwgdmFsdWUgPQorICAgICAgICAgICAgICggQk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4xKTo6dmFsdWUgPgorICAgICAgICAgICAgIEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChOMik6OnZhbHVlICkKKyAgICAgICAgICAgICk7CisgICAgICAgIHR5cGVkZWYgYm9vbF88dmFsdWU+IHR5cGU7CisgICAgfTsKK307CisKK319CmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXN2YzcwL2dyZWF0ZXJfZXF1YWwuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL21zdmM3MC9ncmVhdGVyX2VxdWFsLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lZmFhOTdiCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL21zdmM3MC9ncmVhdGVyX2VxdWFsLmhwcApAQCAtMCwwICsxLDEwMiBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvZ3JlYXRlcl9lcXVhbC5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUYWcxCisgICAgLCB0eXBlbmFtZSBUYWcyCisKKyAgICAsIEJPT1NUX01QTF9BVVhfTlRUUF9ERUNMKGludCwgdGFnMV8pICA9IEJPT1NUX01QTF9BVVhfTVNWQ19WQUxVRV9XS05EKFRhZzEpOjp2YWx1ZQorICAgICwgQk9PU1RfTVBMX0FVWF9OVFRQX0RFQ0woaW50LCB0YWcyXykgID0gQk9PU1RfTVBMX0FVWF9NU1ZDX1ZBTFVFX1dLTkQoVGFnMik6OnZhbHVlCisgICAgPgorc3RydWN0IGdyZWF0ZXJfZXF1YWxfaW1wbAorICAgIDogaWZfYzwKKyAgICAgICAgICAoIHRhZzFfID4gdGFnMl8gKQorICAgICAgICAsIGF1eDo6Y2FzdDJuZF9pbXBsPCBncmVhdGVyX2VxdWFsX2ltcGw8IFRhZzEsVGFnMSA+LFRhZzEsIFRhZzIgPgorICAgICAgICAsIGF1eDo6Y2FzdDFzdF9pbXBsPCBncmVhdGVyX2VxdWFsX2ltcGw8IFRhZzIsVGFnMiA+LFRhZzEsIFRhZzIgPgorICAgICAgICA+Ojp0eXBlCit7Cit9OworCisvLy8gZm9yIERpZ2l0YWwgTWFycyBDKysvY29tcGlsZXJzIHdpdGggbm8gQ1RQUy9UVFAgc3VwcG9ydAordGVtcGxhdGU8PiBzdHJ1Y3QgZ3JlYXRlcl9lcXVhbF9pbXBsPCBuYSxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgZ3JlYXRlcl9lcXVhbF9pbXBsPCBuYSxpbnRlZ3JhbF9jX3RhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgZ3JlYXRlcl9lcXVhbF9pbXBsPCBpbnRlZ3JhbF9jX3RhZyxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFQgPiBzdHJ1Y3QgZ3JlYXRlcl9lcXVhbF90YWcKKyAgICA6IHRhZzwgVCxuYSA+Cit7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjEpCisgICAgLCB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4yKQorICAgID4KK3N0cnVjdCBncmVhdGVyX2VxdWFsCisgICAgOiBhdXg6Om1zdmNfZXRpX2Jhc2U8IHR5cGVuYW1lIGFwcGx5X3dyYXAyPAorICAgICAgICAgIGdyZWF0ZXJfZXF1YWxfaW1wbDwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgZ3JlYXRlcl9lcXVhbF90YWc8TjE+Ojp0eXBlCisgICAgICAgICAgICAsIHR5cGVuYW1lIGdyZWF0ZXJfZXF1YWxfdGFnPE4yPjo6dHlwZQorICAgICAgICAgICAgPgorICAgICAgICAsIE4xCisgICAgICAgICwgTjIKKyAgICAgICAgPjo6dHlwZSA+Ojp0eXBlCisKK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKDIsIGdyZWF0ZXJfZXF1YWwsIChOMSwgTjIpKQorCit9OworCitCT09TVF9NUExfQVVYX05BX1NQRUMyKDIsIDIsIGdyZWF0ZXJfZXF1YWwpCisKK319CisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgZ3JlYXRlcl9lcXVhbF9pbXBsPCBpbnRlZ3JhbF9jX3RhZyxpbnRlZ3JhbF9jX3RhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIE4xLCB0eXBlbmFtZSBOMiA+IHN0cnVjdCBhcHBseQorCisgICAgeworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoYm9vbCwgdmFsdWUgPQorICAgICAgICAgICAgICggQk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4xKTo6dmFsdWUgPj0KKyAgICAgICAgICAgICBCT09TVF9NUExfQVVYX1ZBTFVFX1dLTkQoTjIpOjp2YWx1ZSApCisgICAgICAgICAgICApOworICAgICAgICB0eXBlZGVmIGJvb2xfPHZhbHVlPiB0eXBlOworICAgIH07Cit9OworCit9fQpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL21zdmM3MC9pbmhlcml0LmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9tc3ZjNzAvaW5oZXJpdC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTIzMjhmNwotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9tc3ZjNzAvaW5oZXJpdC5ocHAKQEAgLTAsMCArMSwxNjYgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMS0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL2luaGVyaXQuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwgYm9vbCBDMSwgYm9vbCBDMiA+CitzdHJ1Y3QgaW5oZXJpdDJfaW1wbAoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBEZXJpdmVkLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIgPiBzdHJ1Y3QgcmVzdWx0XworICAgICAgICA6IFQxLCBUMgorICAgIHsKKyAgICAgICAgdHlwZWRlZiBEZXJpdmVkIHR5cGVfOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgaW5oZXJpdDJfaW1wbDwgZmFsc2UsdHJ1ZSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIERlcml2ZWQsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiA+IHN0cnVjdCByZXN1bHRfCisgICAgICAgIDogVDEKKyAgICB7CisgICAgICAgIHR5cGVkZWYgVDEgdHlwZV87CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBpbmhlcml0Ml9pbXBsPCB0cnVlLGZhbHNlID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgRGVyaXZlZCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyID4gc3RydWN0IHJlc3VsdF8KKyAgICAgICAgOiBUMgorICAgIHsKKyAgICAgICAgdHlwZWRlZiBUMiB0eXBlXzsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGluaGVyaXQyX2ltcGw8IHRydWUsdHJ1ZSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIERlcml2ZWQsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiA+IHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIFQxIHR5cGVfOworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKFQxKQorICAgICwgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShUMikKKyAgICA+CitzdHJ1Y3QgaW5oZXJpdDIKKyAgICA6IGF1eDo6aW5oZXJpdDJfaW1wbDwKKyAgICAgICAgICBpc19lbXB0eV9iYXNlPFQxPjo6dmFsdWUKKyAgICAgICAgLCBpc19lbXB0eV9iYXNlPFQyPjo6dmFsdWUKKyAgICAgICAgPjo6dGVtcGxhdGUgcmVzdWx0XzwgaW5oZXJpdDI8IFQxLFQyID4sVDEsIFQyID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGluaGVyaXQyOjp0eXBlXyB0eXBlOworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoMiwgaW5oZXJpdDIsIChUMSwgVDIpKQorfTsKKworQk9PU1RfTVBMX0FVWF9OQV9TUEVDKDIsIGluaGVyaXQyKQorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQxID0gbmEsIHR5cGVuYW1lIFQyID0gbmEsIHR5cGVuYW1lIFQzID0gbmEKKyAgICA+CitzdHJ1Y3QgaW5oZXJpdDMKKyAgICA6IGluaGVyaXQyPAorICAgICAgICAgIHR5cGVuYW1lIGluaGVyaXQyPAorICAgICAgICAgICAgICBUMSwgVDIKKyAgICAgICAgICAgID46OnR5cGUKKyAgICAgICAgLCBUMworICAgICAgICA+Cit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgKKyAgICAgICAgICAzCisgICAgICAgICwgaW5oZXJpdDMKKyAgICAgICAgLCAoIFQxLCBUMiwgVDMpCisgICAgICAgICkKK307CisKK0JPT1NUX01QTF9BVVhfTkFfU1BFQygzLCBpbmhlcml0MykKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMSA9IG5hLCB0eXBlbmFtZSBUMiA9IG5hLCB0eXBlbmFtZSBUMyA9IG5hLCB0eXBlbmFtZSBUNCA9IG5hCisgICAgPgorc3RydWN0IGluaGVyaXQ0CisgICAgOiBpbmhlcml0MjwKKyAgICAgICAgICB0eXBlbmFtZSBpbmhlcml0MzwKKyAgICAgICAgICAgICAgVDEsIFQyLCBUMworICAgICAgICAgICAgPjo6dHlwZQorICAgICAgICAsIFQ0CisgICAgICAgID4KK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKAorICAgICAgICAgIDQKKyAgICAgICAgLCBpbmhlcml0NAorICAgICAgICAsICggVDEsIFQyLCBUMywgVDQpCisgICAgICAgICkKK307CisKK0JPT1NUX01QTF9BVVhfTkFfU1BFQyg0LCBpbmhlcml0NCkKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMSA9IG5hLCB0eXBlbmFtZSBUMiA9IG5hLCB0eXBlbmFtZSBUMyA9IG5hLCB0eXBlbmFtZSBUNCA9IG5hCisgICAgLCB0eXBlbmFtZSBUNSA9IG5hCisgICAgPgorc3RydWN0IGluaGVyaXQ1CisgICAgOiBpbmhlcml0MjwKKyAgICAgICAgICB0eXBlbmFtZSBpbmhlcml0NDwKKyAgICAgICAgICAgICAgVDEsIFQyLCBUMywgVDQKKyAgICAgICAgICAgID46OnR5cGUKKyAgICAgICAgLCBUNQorICAgICAgICA+Cit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgKKyAgICAgICAgICA1CisgICAgICAgICwgaW5oZXJpdDUKKyAgICAgICAgLCAoIFQxLCBUMiwgVDMsIFQ0LCBUNSkKKyAgICAgICAgKQorfTsKKworQk9PU1RfTVBMX0FVWF9OQV9TUEVDKDUsIGluaGVyaXQ1KQorCisvLy8gcHJpbWFyeSB0ZW1wbGF0ZQorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQxID0gZW1wdHlfYmFzZSwgdHlwZW5hbWUgVDIgPSBlbXB0eV9iYXNlCisgICAgLCB0eXBlbmFtZSBUMyA9IGVtcHR5X2Jhc2UsIHR5cGVuYW1lIFQ0ID0gZW1wdHlfYmFzZQorICAgICwgdHlwZW5hbWUgVDUgPSBlbXB0eV9iYXNlCisgICAgPgorc3RydWN0IGluaGVyaXQKKyAgICA6IGluaGVyaXQ1PCBUMSxUMixUMyxUNCxUNSA+Cit7Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgaW5oZXJpdDwgbmEsbmEsbmEsbmEsbmEgPgoreworICAgIHRlbXBsYXRlPAorCisgICAgICAgICAgdHlwZW5hbWUgVDEgPSBlbXB0eV9iYXNlLCB0eXBlbmFtZSBUMiA9IGVtcHR5X2Jhc2UKKyAgICAgICAgLCB0eXBlbmFtZSBUMyA9IGVtcHR5X2Jhc2UsIHR5cGVuYW1lIFQ0ID0gZW1wdHlfYmFzZQorICAgICAgICAsIHR5cGVuYW1lIFQ1ID0gZW1wdHlfYmFzZQorCisgICAgICAgID4KKyAgICBzdHJ1Y3QgYXBwbHkKKyAgICAgICAgOiBpbmhlcml0PCBUMSxUMixUMyxUNCxUNSA+CisgICAgeworICAgIH07Cit9OworCitCT09TVF9NUExfQVVYX05BX1NQRUNfTEFNQkRBKDUsIGluaGVyaXQpCitCT09TVF9NUExfQVVYX05BX1NQRUNfQVJJVFkoNSwgaW5oZXJpdCkKK0JPT1NUX01QTF9BVVhfTkFfU1BFQ19URU1QTEFURV9BUklUWSg1LCA1LCBpbmhlcml0KQorfX0KKwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL21zdmM3MC9pdGVyX2ZvbGRfaWZfaW1wbC5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXN2YzcwL2l0ZXJfZm9sZF9pZl9pbXBsLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMGEyODY0Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL21zdmM3MC9pdGVyX2ZvbGRfaWZfaW1wbC5ocHAKQEAgLTAsMCArMSwxMzMgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMS0yMDA0CisvLyBDb3B5cmlnaHQgRGF2aWQgQWJyYWhhbXMgMjAwMS0yMDAyCisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL2F1eF8vaXRlcl9mb2xkX2lmX2ltcGwuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7IG5hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgSXRlcmF0b3IsIHR5cGVuYW1lIFN0YXRlID4KK3N0cnVjdCBpdGVyX2ZvbGRfaWZfbnVsbF9zdGVwCit7CisgICAgdHlwZWRlZiBTdGF0ZSBzdGF0ZTsKKyAgICB0eXBlZGVmIEl0ZXJhdG9yIGl0ZXJhdG9yOworfTsKKwordGVtcGxhdGU8IGJvb2wgPgorc3RydWN0IGl0ZXJfZm9sZF9pZl9zdGVwX2ltcGwKK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBJdGVyYXRvcgorICAgICAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgICAgICwgdHlwZW5hbWUgU3RhdGVPcAorICAgICAgICAsIHR5cGVuYW1lIEl0ZXJhdG9yT3AKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgU3RhdGVPcCxTdGF0ZSxJdGVyYXRvciA+Ojp0eXBlIHN0YXRlOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIEl0ZXJhdG9yT3A6OnR5cGUgaXRlcmF0b3I7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBpdGVyX2ZvbGRfaWZfc3RlcF9pbXBsPGZhbHNlPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIEl0ZXJhdG9yCisgICAgICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAgICAgLCB0eXBlbmFtZSBTdGF0ZU9wCisgICAgICAgICwgdHlwZW5hbWUgSXRlcmF0b3JPcAorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgU3RhdGUgc3RhdGU7CisgICAgICAgIHR5cGVkZWYgSXRlcmF0b3IgaXRlcmF0b3I7CisgICAgfTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgSXRlcmF0b3IKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICAsIHR5cGVuYW1lIFByZWRpY2F0ZQorICAgID4KK3N0cnVjdCBpdGVyX2ZvbGRfaWZfZm9yd2FyZF9zdGVwCit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IFByZWRpY2F0ZSxTdGF0ZSxJdGVyYXRvciA+Ojp0eXBlIG5vdF9sYXN0OworICAgIHR5cGVkZWYgdHlwZW5hbWUgaXRlcl9mb2xkX2lmX3N0ZXBfaW1wbDwKKyAgICAgICAgICBCT09TVF9NUExfQVVYX01TVkNfVkFMVUVfV0tORChub3RfbGFzdCk6OnZhbHVlCisgICAgICAgID46OnRlbXBsYXRlIHJlc3VsdF88IEl0ZXJhdG9yLFN0YXRlLEZvcndhcmRPcCwgbXBsOjpuZXh0PEl0ZXJhdG9yPiA+IGltcGxfOworCisgICAgdHlwZWRlZiB0eXBlbmFtZSBpbXBsXzo6c3RhdGUgc3RhdGU7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBpbXBsXzo6aXRlcmF0b3IgaXRlcmF0b3I7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEl0ZXJhdG9yCisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICwgdHlwZW5hbWUgQmFja3dhcmRPcAorICAgICwgdHlwZW5hbWUgUHJlZGljYXRlCisgICAgPgorc3RydWN0IGl0ZXJfZm9sZF9pZl9iYWNrd2FyZF9zdGVwCit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IFByZWRpY2F0ZSxTdGF0ZSxJdGVyYXRvciA+Ojp0eXBlIG5vdF9sYXN0OworICAgIHR5cGVkZWYgdHlwZW5hbWUgaXRlcl9mb2xkX2lmX3N0ZXBfaW1wbDwKKyAgICAgICAgICBCT09TVF9NUExfQVVYX01TVkNfVkFMVUVfV0tORChub3RfbGFzdCk6OnZhbHVlCisgICAgICAgID46OnRlbXBsYXRlIHJlc3VsdF88IEl0ZXJhdG9yLFN0YXRlLEJhY2t3YXJkT3AsIGlkZW50aXR5PEl0ZXJhdG9yPiA+IGltcGxfOworCisgICAgdHlwZWRlZiB0eXBlbmFtZSBpbXBsXzo6c3RhdGUgc3RhdGU7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBpbXBsXzo6aXRlcmF0b3IgaXRlcmF0b3I7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEl0ZXJhdG9yCisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkUHJlZGljYXRlCisgICAgLCB0eXBlbmFtZSBCYWNrd2FyZE9wCisgICAgLCB0eXBlbmFtZSBCYWNrd2FyZFByZWRpY2F0ZQorICAgID4KK3N0cnVjdCBpdGVyX2ZvbGRfaWZfaW1wbAoreworIHByaXZhdGU6CisgICAgdHlwZWRlZiBpdGVyX2ZvbGRfaWZfbnVsbF9zdGVwPCBJdGVyYXRvcixTdGF0ZSA+IGZvcndhcmRfc3RlcDA7CisgICAgdHlwZWRlZiBpdGVyX2ZvbGRfaWZfZm9yd2FyZF9zdGVwPCB0eXBlbmFtZSBmb3J3YXJkX3N0ZXAwOjppdGVyYXRvciwgdHlwZW5hbWUgZm9yd2FyZF9zdGVwMDo6c3RhdGUsIEZvcndhcmRPcCwgRm9yd2FyZFByZWRpY2F0ZSA+IGZvcndhcmRfc3RlcDE7CisgICAgdHlwZWRlZiBpdGVyX2ZvbGRfaWZfZm9yd2FyZF9zdGVwPCB0eXBlbmFtZSBmb3J3YXJkX3N0ZXAxOjppdGVyYXRvciwgdHlwZW5hbWUgZm9yd2FyZF9zdGVwMTo6c3RhdGUsIEZvcndhcmRPcCwgRm9yd2FyZFByZWRpY2F0ZSA+IGZvcndhcmRfc3RlcDI7CisgICAgdHlwZWRlZiBpdGVyX2ZvbGRfaWZfZm9yd2FyZF9zdGVwPCB0eXBlbmFtZSBmb3J3YXJkX3N0ZXAyOjppdGVyYXRvciwgdHlwZW5hbWUgZm9yd2FyZF9zdGVwMjo6c3RhdGUsIEZvcndhcmRPcCwgRm9yd2FyZFByZWRpY2F0ZSA+IGZvcndhcmRfc3RlcDM7CisgICAgdHlwZWRlZiBpdGVyX2ZvbGRfaWZfZm9yd2FyZF9zdGVwPCB0eXBlbmFtZSBmb3J3YXJkX3N0ZXAzOjppdGVyYXRvciwgdHlwZW5hbWUgZm9yd2FyZF9zdGVwMzo6c3RhdGUsIEZvcndhcmRPcCwgRm9yd2FyZFByZWRpY2F0ZSA+IGZvcndhcmRfc3RlcDQ7CisgICAgCisKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGlmXzwKKyAgICAgICAgICB0eXBlbmFtZSBmb3J3YXJkX3N0ZXA0Ojpub3RfbGFzdAorICAgICAgICAsIGl0ZXJfZm9sZF9pZl9pbXBsPAorICAgICAgICAgICAgICB0eXBlbmFtZSBmb3J3YXJkX3N0ZXA0OjppdGVyYXRvcgorICAgICAgICAgICAgLCB0eXBlbmFtZSBmb3J3YXJkX3N0ZXA0OjpzdGF0ZQorICAgICAgICAgICAgLCBGb3J3YXJkT3AKKyAgICAgICAgICAgICwgRm9yd2FyZFByZWRpY2F0ZQorICAgICAgICAgICAgLCBCYWNrd2FyZE9wCisgICAgICAgICAgICAsIEJhY2t3YXJkUHJlZGljYXRlCisgICAgICAgICAgICA+CisgICAgICAgICwgaXRlcl9mb2xkX2lmX251bGxfc3RlcDwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgZm9yd2FyZF9zdGVwNDo6aXRlcmF0b3IKKyAgICAgICAgICAgICwgdHlwZW5hbWUgZm9yd2FyZF9zdGVwNDo6c3RhdGUKKyAgICAgICAgICAgID4KKyAgICAgICAgPjo6dHlwZSBiYWNrd2FyZF9zdGVwNDsKKworICAgIHR5cGVkZWYgaXRlcl9mb2xkX2lmX2JhY2t3YXJkX3N0ZXA8IHR5cGVuYW1lIGZvcndhcmRfc3RlcDM6Oml0ZXJhdG9yLCB0eXBlbmFtZSBiYWNrd2FyZF9zdGVwNDo6c3RhdGUsIEJhY2t3YXJkT3AsIEJhY2t3YXJkUHJlZGljYXRlID4gYmFja3dhcmRfc3RlcDM7CisgICAgdHlwZWRlZiBpdGVyX2ZvbGRfaWZfYmFja3dhcmRfc3RlcDwgdHlwZW5hbWUgZm9yd2FyZF9zdGVwMjo6aXRlcmF0b3IsIHR5cGVuYW1lIGJhY2t3YXJkX3N0ZXAzOjpzdGF0ZSwgQmFja3dhcmRPcCwgQmFja3dhcmRQcmVkaWNhdGUgPiBiYWNrd2FyZF9zdGVwMjsKKyAgICB0eXBlZGVmIGl0ZXJfZm9sZF9pZl9iYWNrd2FyZF9zdGVwPCB0eXBlbmFtZSBmb3J3YXJkX3N0ZXAxOjppdGVyYXRvciwgdHlwZW5hbWUgYmFja3dhcmRfc3RlcDI6OnN0YXRlLCBCYWNrd2FyZE9wLCBCYWNrd2FyZFByZWRpY2F0ZSA+IGJhY2t3YXJkX3N0ZXAxOworICAgIHR5cGVkZWYgaXRlcl9mb2xkX2lmX2JhY2t3YXJkX3N0ZXA8IHR5cGVuYW1lIGZvcndhcmRfc3RlcDA6Oml0ZXJhdG9yLCB0eXBlbmFtZSBiYWNrd2FyZF9zdGVwMTo6c3RhdGUsIEJhY2t3YXJkT3AsIEJhY2t3YXJkUHJlZGljYXRlID4gYmFja3dhcmRfc3RlcDA7CisgICAgCisKKyBwdWJsaWM6CisgICAgdHlwZWRlZiB0eXBlbmFtZSBiYWNrd2FyZF9zdGVwMDo6c3RhdGUgc3RhdGU7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBiYWNrd2FyZF9zdGVwNDo6aXRlcmF0b3IgaXRlcmF0b3I7Cit9OworCit9fX0KZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9tc3ZjNzAvaXRlcl9mb2xkX2ltcGwuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL21zdmM3MC9pdGVyX2ZvbGRfaW1wbC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTFhNDVmZQotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9tc3ZjNzAvaXRlcl9mb2xkX2ltcGwuaHBwCkBAIC0wLDAgKzEsMjQ1IEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9hdXhfL2l0ZXJfZm9sZF9pbXBsLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeyBuYW1lc3BhY2UgYXV4IHsKKworLy8vIGZvcndhcmQgZGVjbGFyYXRpb24KKwordGVtcGxhdGU8CisgICAgICBpbnQgTgorICAgICwgdHlwZW5hbWUgRmlyc3QKKyAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+CitzdHJ1Y3QgaXRlcl9mb2xkX2ltcGw7CisKK3RlbXBsYXRlPCBpbnQgTiA+CitzdHJ1Y3QgaXRlcl9mb2xkX2NodW5rOworCit0ZW1wbGF0ZTw+IHN0cnVjdCBpdGVyX2ZvbGRfY2h1bms8MD4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBGaXJzdAorICAgICAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgRmlyc3QgaXRlcjA7CisgICAgICAgIHR5cGVkZWYgU3RhdGUgc3RhdGUwOworICAgICAgICB0eXBlZGVmIHN0YXRlMCBzdGF0ZTsKKyAgICAgICAgdHlwZWRlZiBpdGVyMCBpdGVyYXRvcjsKKyAgICB9OworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgaXRlcl9mb2xkX2NodW5rPDE+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIEZpcnN0IGl0ZXIwOworICAgICAgICB0eXBlZGVmIFN0YXRlIHN0YXRlMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCxzdGF0ZTAsaXRlcjAgPjo6dHlwZSBzdGF0ZTE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIwPjo6dHlwZSBpdGVyMTsKKyAgICAgICAgCisKKyAgICAgICAgdHlwZWRlZiBzdGF0ZTEgc3RhdGU7CisgICAgICAgIHR5cGVkZWYgaXRlcjEgaXRlcmF0b3I7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4gc3RydWN0IGl0ZXJfZm9sZF9jaHVuazwyPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgICAgICwgdHlwZW5hbWUgTGFzdAorICAgICAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiBGaXJzdCBpdGVyMDsKKyAgICAgICAgdHlwZWRlZiBTdGF0ZSBzdGF0ZTA7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3Asc3RhdGUwLGl0ZXIwID46OnR5cGUgc3RhdGUxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMD46OnR5cGUgaXRlcjE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3Asc3RhdGUxLGl0ZXIxID46OnR5cGUgc3RhdGUyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMT46OnR5cGUgaXRlcjI7CisgICAgICAgIAorCisgICAgICAgIHR5cGVkZWYgc3RhdGUyIHN0YXRlOworICAgICAgICB0eXBlZGVmIGl0ZXIyIGl0ZXJhdG9yOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCBpdGVyX2ZvbGRfY2h1bms8Mz4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBGaXJzdAorICAgICAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgRmlyc3QgaXRlcjA7CisgICAgICAgIHR5cGVkZWYgU3RhdGUgc3RhdGUwOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLHN0YXRlMCxpdGVyMCA+Ojp0eXBlIHN0YXRlMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjA+Ojp0eXBlIGl0ZXIxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLHN0YXRlMSxpdGVyMSA+Ojp0eXBlIHN0YXRlMjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjE+Ojp0eXBlIGl0ZXIyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLHN0YXRlMixpdGVyMiA+Ojp0eXBlIHN0YXRlMzsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjI+Ojp0eXBlIGl0ZXIzOworICAgICAgICAKKworICAgICAgICB0eXBlZGVmIHN0YXRlMyBzdGF0ZTsKKyAgICAgICAgdHlwZWRlZiBpdGVyMyBpdGVyYXRvcjsKKyAgICB9OworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgaXRlcl9mb2xkX2NodW5rPDQ+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIEZpcnN0IGl0ZXIwOworICAgICAgICB0eXBlZGVmIFN0YXRlIHN0YXRlMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCxzdGF0ZTAsaXRlcjAgPjo6dHlwZSBzdGF0ZTE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIwPjo6dHlwZSBpdGVyMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCxzdGF0ZTEsaXRlcjEgPjo6dHlwZSBzdGF0ZTI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIxPjo6dHlwZSBpdGVyMjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCxzdGF0ZTIsaXRlcjIgPjo6dHlwZSBzdGF0ZTM7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIyPjo6dHlwZSBpdGVyMzsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCxzdGF0ZTMsaXRlcjMgPjo6dHlwZSBzdGF0ZTQ7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIzPjo6dHlwZSBpdGVyNDsKKyAgICAgICAgCisKKyAgICAgICAgdHlwZWRlZiBzdGF0ZTQgc3RhdGU7CisgICAgICAgIHR5cGVkZWYgaXRlcjQgaXRlcmF0b3I7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCBpbnQgTiA+CitzdHJ1Y3QgaXRlcl9mb2xkX2NodW5rCit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIGl0ZXJfZm9sZF9pbXBsPAorICAgICAgICAgICAgICA0CisgICAgICAgICAgICAsIEZpcnN0CisgICAgICAgICAgICAsIExhc3QKKyAgICAgICAgICAgICwgU3RhdGUKKyAgICAgICAgICAgICwgRm9yd2FyZE9wCisgICAgICAgICAgICA+IGNodW5rXzsKKworICAgICAgICB0eXBlZGVmIGl0ZXJfZm9sZF9pbXBsPAorICAgICAgICAgICAgICAoIChOIC0gNCkgPCAwID8gMCA6IE4gLSA0ICkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgY2h1bmtfOjppdGVyYXRvcgorICAgICAgICAgICAgLCBMYXN0CisgICAgICAgICAgICAsIHR5cGVuYW1lIGNodW5rXzo6c3RhdGUKKyAgICAgICAgICAgICwgRm9yd2FyZE9wCisgICAgICAgICAgICA+IHJlc187CisKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByZXNfOjpzdGF0ZSBzdGF0ZTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByZXNfOjppdGVyYXRvciBpdGVyYXRvcjsKKyAgICB9OworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGaXJzdAorICAgICwgdHlwZW5hbWUgTGFzdAorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgID4KK3N0cnVjdCBpdGVyX2ZvbGRfc3RlcDsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBMYXN0CisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgID4KK3N0cnVjdCBpdGVyX2ZvbGRfbnVsbF9zdGVwCit7CisgICAgdHlwZWRlZiBMYXN0IGl0ZXJhdG9yOworICAgIHR5cGVkZWYgU3RhdGUgc3RhdGU7Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgaXRlcl9mb2xkX2NodW5rPCAtMSA+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGlmXzwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgaXNfc2FtZTwgRmlyc3QsTGFzdCA+Ojp0eXBlCisgICAgICAgICAgICAsIGl0ZXJfZm9sZF9udWxsX3N0ZXA8IExhc3QsU3RhdGUgPgorICAgICAgICAgICAgLCBpdGVyX2ZvbGRfc3RlcDwgRmlyc3QsTGFzdCxTdGF0ZSxGb3J3YXJkT3AgPgorICAgICAgICAgICAgPjo6dHlwZSByZXNfOworCisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcmVzXzo6c3RhdGUgc3RhdGU7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcmVzXzo6aXRlcmF0b3IgaXRlcmF0b3I7CisgICAgfTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+CitzdHJ1Y3QgaXRlcl9mb2xkX3N0ZXAKK3sKKyAgICB0eXBlZGVmIGl0ZXJfZm9sZF9jaHVuazwgLTEgPjo6dGVtcGxhdGUgcmVzdWx0XzwKKyAgICAgICAgICB0eXBlbmFtZSBtcGw6Om5leHQ8Rmlyc3Q+Ojp0eXBlCisgICAgICAgICwgTGFzdAorICAgICAgICAsIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLFN0YXRlLEZpcnN0ID46OnR5cGUKKyAgICAgICAgLCBGb3J3YXJkT3AKKyAgICAgICAgPiBjaHVua187CisKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGNodW5rXzo6c3RhdGUgc3RhdGU7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBjaHVua186Oml0ZXJhdG9yIGl0ZXJhdG9yOworfTsKKwordGVtcGxhdGU8CisgICAgICBpbnQgTgorICAgICwgdHlwZW5hbWUgRmlyc3QKKyAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+CitzdHJ1Y3QgaXRlcl9mb2xkX2ltcGwKKyAgICA6IGl0ZXJfZm9sZF9jaHVuazxOPgorICAgICAgICA6OnRlbXBsYXRlIHJlc3VsdF88IEZpcnN0LExhc3QsU3RhdGUsRm9yd2FyZE9wID4KK3sKK307CisKK319fQpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL21zdmM3MC9sYW1iZGFfbm9fY3Rwcy5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXN2YzcwL2xhbWJkYV9ub19jdHBzLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41YmZjNjYxCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL21zdmM3MC9sYW1iZGFfbm9fY3Rwcy5ocHAKQEAgLTAsMCArMSwyMjkgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL2F1eF8vbGFtYmRhX25vX2N0cHMuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwKKyAgICAgIGJvb2wgQzEgPSBmYWxzZSwgYm9vbCBDMiA9IGZhbHNlLCBib29sIEMzID0gZmFsc2UsIGJvb2wgQzQgPSBmYWxzZQorICAgICwgYm9vbCBDNSA9IGZhbHNlCisgICAgPgorc3RydWN0IGxhbWJkYV9vcgorICAgIDogdHJ1ZV8KK3sKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBsYW1iZGFfb3I8IGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlID4KKyAgICA6IGZhbHNlXworeworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIEFyaXR5ID4gc3RydWN0IGxhbWJkYV9pbXBsCit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFQsIHR5cGVuYW1lIFRhZywgdHlwZW5hbWUgUHJvdGVjdCA+IHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIFQgdHlwZTsKKyAgICAgICAgdHlwZWRlZiBpc19wbGFjZWhvbGRlcjxUPiBpc19sZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgbGFtYmRhX2ltcGw8IGludF88MT4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUYWcsIHR5cGVuYW1lIFByb3RlY3QgPiBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiBsYW1iZGE8IHR5cGVuYW1lIEY6OmFyZzEsIFRhZywgZmFsc2VfID4gbDE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbDE6OmlzX2xlIGlzX2xlMTsKKyAgICAgICAgdHlwZWRlZiBhdXg6OmxhbWJkYV9vcjwKKyAgICAgICAgICAgICAgQk9PU1RfTVBMX0FVWF9NU1ZDX1ZBTFVFX1dLTkQoaXNfbGUxKTo6dmFsdWUKKyAgICAgICAgICAgID4gaXNfbGU7CisKKyAgICAgICAgdHlwZWRlZiBiaW5kMTwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgRjo6cmViaW5kCisgICAgICAgICAgICAsIHR5cGVuYW1lIGwxOjp0eXBlCisgICAgICAgICAgICA+IGJpbmRfOworCisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgaWZfPAorICAgICAgICAgICAgICBpc19sZQorICAgICAgICAgICAgLCBpZl88IFByb3RlY3QsIG1wbDo6cHJvdGVjdDxiaW5kXz4sIGJpbmRfID4KKyAgICAgICAgICAgICwgaWRlbnRpdHk8Rj4KKyAgICAgICAgICAgID46OnR5cGUgdHlwZV87CisKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSB0eXBlXzo6dHlwZSB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCBsYW1iZGFfaW1wbDwgaW50XzwyPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIEYsIHR5cGVuYW1lIFRhZywgdHlwZW5hbWUgUHJvdGVjdCA+IHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIGxhbWJkYTwgdHlwZW5hbWUgRjo6YXJnMSwgVGFnLCBmYWxzZV8gPiBsMTsKKyAgICAgICAgdHlwZWRlZiBsYW1iZGE8IHR5cGVuYW1lIEY6OmFyZzIsIFRhZywgZmFsc2VfID4gbDI7CisgICAgICAgIAorICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGwxOjppc19sZSBpc19sZTE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbDI6OmlzX2xlIGlzX2xlMjsKKyAgICAgICAgCisKKyAgICAgICAgdHlwZWRlZiBhdXg6OmxhbWJkYV9vcjwKKyAgICAgICAgICAgICAgQk9PU1RfTVBMX0FVWF9NU1ZDX1ZBTFVFX1dLTkQoaXNfbGUxKTo6dmFsdWUsIEJPT1NUX01QTF9BVVhfTVNWQ19WQUxVRV9XS05EKGlzX2xlMik6OnZhbHVlCisgICAgICAgICAgICA+IGlzX2xlOworCisgICAgICAgIHR5cGVkZWYgYmluZDI8CisgICAgICAgICAgICAgIHR5cGVuYW1lIEY6OnJlYmluZAorICAgICAgICAgICAgLCB0eXBlbmFtZSBsMTo6dHlwZSwgdHlwZW5hbWUgbDI6OnR5cGUKKyAgICAgICAgICAgID4gYmluZF87CisKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBpZl88CisgICAgICAgICAgICAgIGlzX2xlCisgICAgICAgICAgICAsIGlmXzwgUHJvdGVjdCwgbXBsOjpwcm90ZWN0PGJpbmRfPiwgYmluZF8gPgorICAgICAgICAgICAgLCBpZGVudGl0eTxGPgorICAgICAgICAgICAgPjo6dHlwZSB0eXBlXzsKKworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHR5cGVfOjp0eXBlIHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4gc3RydWN0IGxhbWJkYV9pbXBsPCBpbnRfPDM+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVGFnLCB0eXBlbmFtZSBQcm90ZWN0ID4gc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgbGFtYmRhPCB0eXBlbmFtZSBGOjphcmcxLCBUYWcsIGZhbHNlXyA+IGwxOworICAgICAgICB0eXBlZGVmIGxhbWJkYTwgdHlwZW5hbWUgRjo6YXJnMiwgVGFnLCBmYWxzZV8gPiBsMjsKKyAgICAgICAgdHlwZWRlZiBsYW1iZGE8IHR5cGVuYW1lIEY6OmFyZzMsIFRhZywgZmFsc2VfID4gbDM7CisgICAgICAgIAorICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGwxOjppc19sZSBpc19sZTE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbDI6OmlzX2xlIGlzX2xlMjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBsMzo6aXNfbGUgaXNfbGUzOworICAgICAgICAKKworICAgICAgICB0eXBlZGVmIGF1eDo6bGFtYmRhX29yPAorICAgICAgICAgICAgICBCT09TVF9NUExfQVVYX01TVkNfVkFMVUVfV0tORChpc19sZTEpOjp2YWx1ZSwgQk9PU1RfTVBMX0FVWF9NU1ZDX1ZBTFVFX1dLTkQoaXNfbGUyKTo6dmFsdWUsIEJPT1NUX01QTF9BVVhfTVNWQ19WQUxVRV9XS05EKGlzX2xlMyk6OnZhbHVlCisgICAgICAgICAgICA+IGlzX2xlOworCisgICAgICAgIHR5cGVkZWYgYmluZDM8CisgICAgICAgICAgICAgIHR5cGVuYW1lIEY6OnJlYmluZAorICAgICAgICAgICAgLCB0eXBlbmFtZSBsMTo6dHlwZSwgdHlwZW5hbWUgbDI6OnR5cGUsIHR5cGVuYW1lIGwzOjp0eXBlCisgICAgICAgICAgICA+IGJpbmRfOworCisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgaWZfPAorICAgICAgICAgICAgICBpc19sZQorICAgICAgICAgICAgLCBpZl88IFByb3RlY3QsIG1wbDo6cHJvdGVjdDxiaW5kXz4sIGJpbmRfID4KKyAgICAgICAgICAgICwgaWRlbnRpdHk8Rj4KKyAgICAgICAgICAgID46OnR5cGUgdHlwZV87CisKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSB0eXBlXzo6dHlwZSB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCBsYW1iZGFfaW1wbDwgaW50Xzw0PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIEYsIHR5cGVuYW1lIFRhZywgdHlwZW5hbWUgUHJvdGVjdCA+IHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIGxhbWJkYTwgdHlwZW5hbWUgRjo6YXJnMSwgVGFnLCBmYWxzZV8gPiBsMTsKKyAgICAgICAgdHlwZWRlZiBsYW1iZGE8IHR5cGVuYW1lIEY6OmFyZzIsIFRhZywgZmFsc2VfID4gbDI7CisgICAgICAgIHR5cGVkZWYgbGFtYmRhPCB0eXBlbmFtZSBGOjphcmczLCBUYWcsIGZhbHNlXyA+IGwzOworICAgICAgICB0eXBlZGVmIGxhbWJkYTwgdHlwZW5hbWUgRjo6YXJnNCwgVGFnLCBmYWxzZV8gPiBsNDsKKyAgICAgICAgCisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbDE6OmlzX2xlIGlzX2xlMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBsMjo6aXNfbGUgaXNfbGUyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGwzOjppc19sZSBpc19sZTM7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbDQ6OmlzX2xlIGlzX2xlNDsKKyAgICAgICAgCisKKyAgICAgICAgdHlwZWRlZiBhdXg6OmxhbWJkYV9vcjwKKyAgICAgICAgICAgICAgQk9PU1RfTVBMX0FVWF9NU1ZDX1ZBTFVFX1dLTkQoaXNfbGUxKTo6dmFsdWUsIEJPT1NUX01QTF9BVVhfTVNWQ19WQUxVRV9XS05EKGlzX2xlMik6OnZhbHVlLCBCT09TVF9NUExfQVVYX01TVkNfVkFMVUVfV0tORChpc19sZTMpOjp2YWx1ZSwgQk9PU1RfTVBMX0FVWF9NU1ZDX1ZBTFVFX1dLTkQoaXNfbGU0KTo6dmFsdWUKKyAgICAgICAgICAgID4gaXNfbGU7CisKKyAgICAgICAgdHlwZWRlZiBiaW5kNDwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgRjo6cmViaW5kCisgICAgICAgICAgICAsIHR5cGVuYW1lIGwxOjp0eXBlLCB0eXBlbmFtZSBsMjo6dHlwZSwgdHlwZW5hbWUgbDM6OnR5cGUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgbDQ6OnR5cGUKKyAgICAgICAgICAgID4gYmluZF87CisKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBpZl88CisgICAgICAgICAgICAgIGlzX2xlCisgICAgICAgICAgICAsIGlmXzwgUHJvdGVjdCwgbXBsOjpwcm90ZWN0PGJpbmRfPiwgYmluZF8gPgorICAgICAgICAgICAgLCBpZGVudGl0eTxGPgorICAgICAgICAgICAgPjo6dHlwZSB0eXBlXzsKKworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHR5cGVfOjp0eXBlIHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4gc3RydWN0IGxhbWJkYV9pbXBsPCBpbnRfPDU+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVGFnLCB0eXBlbmFtZSBQcm90ZWN0ID4gc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgbGFtYmRhPCB0eXBlbmFtZSBGOjphcmcxLCBUYWcsIGZhbHNlXyA+IGwxOworICAgICAgICB0eXBlZGVmIGxhbWJkYTwgdHlwZW5hbWUgRjo6YXJnMiwgVGFnLCBmYWxzZV8gPiBsMjsKKyAgICAgICAgdHlwZWRlZiBsYW1iZGE8IHR5cGVuYW1lIEY6OmFyZzMsIFRhZywgZmFsc2VfID4gbDM7CisgICAgICAgIHR5cGVkZWYgbGFtYmRhPCB0eXBlbmFtZSBGOjphcmc0LCBUYWcsIGZhbHNlXyA+IGw0OworICAgICAgICB0eXBlZGVmIGxhbWJkYTwgdHlwZW5hbWUgRjo6YXJnNSwgVGFnLCBmYWxzZV8gPiBsNTsKKyAgICAgICAgCisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbDE6OmlzX2xlIGlzX2xlMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBsMjo6aXNfbGUgaXNfbGUyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGwzOjppc19sZSBpc19sZTM7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbDQ6OmlzX2xlIGlzX2xlNDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBsNTo6aXNfbGUgaXNfbGU1OworICAgICAgICAKKworICAgICAgICB0eXBlZGVmIGF1eDo6bGFtYmRhX29yPAorICAgICAgICAgICAgICBCT09TVF9NUExfQVVYX01TVkNfVkFMVUVfV0tORChpc19sZTEpOjp2YWx1ZSwgQk9PU1RfTVBMX0FVWF9NU1ZDX1ZBTFVFX1dLTkQoaXNfbGUyKTo6dmFsdWUsIEJPT1NUX01QTF9BVVhfTVNWQ19WQUxVRV9XS05EKGlzX2xlMyk6OnZhbHVlLCBCT09TVF9NUExfQVVYX01TVkNfVkFMVUVfV0tORChpc19sZTQpOjp2YWx1ZSwgQk9PU1RfTVBMX0FVWF9NU1ZDX1ZBTFVFX1dLTkQoaXNfbGU1KTo6dmFsdWUKKyAgICAgICAgICAgID4gaXNfbGU7CisKKyAgICAgICAgdHlwZWRlZiBiaW5kNTwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgRjo6cmViaW5kCisgICAgICAgICAgICAsIHR5cGVuYW1lIGwxOjp0eXBlLCB0eXBlbmFtZSBsMjo6dHlwZSwgdHlwZW5hbWUgbDM6OnR5cGUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgbDQ6OnR5cGUsIHR5cGVuYW1lIGw1Ojp0eXBlCisgICAgICAgICAgICA+IGJpbmRfOworCisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgaWZfPAorICAgICAgICAgICAgICBpc19sZQorICAgICAgICAgICAgLCBpZl88IFByb3RlY3QsIG1wbDo6cHJvdGVjdDxiaW5kXz4sIGJpbmRfID4KKyAgICAgICAgICAgICwgaWRlbnRpdHk8Rj4KKyAgICAgICAgICAgID46OnR5cGUgdHlwZV87CisKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSB0eXBlXzo6dHlwZSB0eXBlOworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUCisgICAgLCB0eXBlbmFtZSBUYWcKKyAgICAsIHR5cGVuYW1lIFByb3RlY3QKKyAgICA+CitzdHJ1Y3QgbGFtYmRhCit7CisgICAgLy8vIE1ldGFmdW5jdGlvbiBmb3J3YXJkaW5nIGNvbmZ1c2VzIE1TVkMgNi54CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhdXg6OnRlbXBsYXRlX2FyaXR5PFQ+Ojp0eXBlIGFyaXR5XzsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGF1eDo6bGFtYmRhX2ltcGw8YXJpdHlfPgorICAgICAgICA6OnRlbXBsYXRlIHJlc3VsdF88IFQsVGFnLFByb3RlY3QgPiBsXzsKKworICAgIHR5cGVkZWYgdHlwZW5hbWUgbF86OnR5cGUgdHlwZTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxfOjppc19sZSBpc19sZTsKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKDMsIGxhbWJkYSwgKFQsIFRhZywgUHJvdGVjdCkpCit9OworCitCT09TVF9NUExfQVVYX05BX1NQRUMyKDEsIDMsIGxhbWJkYSkKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUCisgICAgPgorc3RydWN0IGlzX2xhbWJkYV9leHByZXNzaW9uCisgICAgOiBsYW1iZGE8VD46OmlzX2xlCit7Cit9OworCit9fQorCmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXN2YzcwL2xlc3MuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL21zdmM3MC9sZXNzLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNzlhMDEwCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL21zdmM3MC9sZXNzLmhwcApAQCAtMCwwICsxLDEwMiBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvbGVzcy5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUYWcxCisgICAgLCB0eXBlbmFtZSBUYWcyCisKKyAgICAsIEJPT1NUX01QTF9BVVhfTlRUUF9ERUNMKGludCwgdGFnMV8pICA9IEJPT1NUX01QTF9BVVhfTVNWQ19WQUxVRV9XS05EKFRhZzEpOjp2YWx1ZQorICAgICwgQk9PU1RfTVBMX0FVWF9OVFRQX0RFQ0woaW50LCB0YWcyXykgID0gQk9PU1RfTVBMX0FVWF9NU1ZDX1ZBTFVFX1dLTkQoVGFnMik6OnZhbHVlCisgICAgPgorc3RydWN0IGxlc3NfaW1wbAorICAgIDogaWZfYzwKKyAgICAgICAgICAoIHRhZzFfID4gdGFnMl8gKQorICAgICAgICAsIGF1eDo6Y2FzdDJuZF9pbXBsPCBsZXNzX2ltcGw8IFRhZzEsVGFnMSA+LFRhZzEsIFRhZzIgPgorICAgICAgICAsIGF1eDo6Y2FzdDFzdF9pbXBsPCBsZXNzX2ltcGw8IFRhZzIsVGFnMiA+LFRhZzEsIFRhZzIgPgorICAgICAgICA+Ojp0eXBlCit7Cit9OworCisvLy8gZm9yIERpZ2l0YWwgTWFycyBDKysvY29tcGlsZXJzIHdpdGggbm8gQ1RQUy9UVFAgc3VwcG9ydAordGVtcGxhdGU8PiBzdHJ1Y3QgbGVzc19pbXBsPCBuYSxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgbGVzc19pbXBsPCBuYSxpbnRlZ3JhbF9jX3RhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgbGVzc19pbXBsPCBpbnRlZ3JhbF9jX3RhZyxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFQgPiBzdHJ1Y3QgbGVzc190YWcKKyAgICA6IHRhZzwgVCxuYSA+Cit7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjEpCisgICAgLCB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4yKQorICAgID4KK3N0cnVjdCBsZXNzCisgICAgOiBhdXg6Om1zdmNfZXRpX2Jhc2U8IHR5cGVuYW1lIGFwcGx5X3dyYXAyPAorICAgICAgICAgIGxlc3NfaW1wbDwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgbGVzc190YWc8TjE+Ojp0eXBlCisgICAgICAgICAgICAsIHR5cGVuYW1lIGxlc3NfdGFnPE4yPjo6dHlwZQorICAgICAgICAgICAgPgorICAgICAgICAsIE4xCisgICAgICAgICwgTjIKKyAgICAgICAgPjo6dHlwZSA+Ojp0eXBlCisKK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKDIsIGxlc3MsIChOMSwgTjIpKQorCit9OworCitCT09TVF9NUExfQVVYX05BX1NQRUMyKDIsIDIsIGxlc3MpCisKK319CisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgbGVzc19pbXBsPCBpbnRlZ3JhbF9jX3RhZyxpbnRlZ3JhbF9jX3RhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIE4xLCB0eXBlbmFtZSBOMiA+IHN0cnVjdCBhcHBseQorCisgICAgeworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoYm9vbCwgdmFsdWUgPQorICAgICAgICAgICAgICggQk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4yKTo6dmFsdWUgPgorICAgICAgICAgICAgIEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChOMSk6OnZhbHVlICkKKyAgICAgICAgICAgICk7CisgICAgICAgIHR5cGVkZWYgYm9vbF88dmFsdWU+IHR5cGU7CisgICAgfTsKK307CisKK319CmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXN2YzcwL2xlc3NfZXF1YWwuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL21zdmM3MC9sZXNzX2VxdWFsLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMmUyYjMyCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL21zdmM3MC9sZXNzX2VxdWFsLmhwcApAQCAtMCwwICsxLDEwMiBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvbGVzc19lcXVhbC5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUYWcxCisgICAgLCB0eXBlbmFtZSBUYWcyCisKKyAgICAsIEJPT1NUX01QTF9BVVhfTlRUUF9ERUNMKGludCwgdGFnMV8pICA9IEJPT1NUX01QTF9BVVhfTVNWQ19WQUxVRV9XS05EKFRhZzEpOjp2YWx1ZQorICAgICwgQk9PU1RfTVBMX0FVWF9OVFRQX0RFQ0woaW50LCB0YWcyXykgID0gQk9PU1RfTVBMX0FVWF9NU1ZDX1ZBTFVFX1dLTkQoVGFnMik6OnZhbHVlCisgICAgPgorc3RydWN0IGxlc3NfZXF1YWxfaW1wbAorICAgIDogaWZfYzwKKyAgICAgICAgICAoIHRhZzFfID4gdGFnMl8gKQorICAgICAgICAsIGF1eDo6Y2FzdDJuZF9pbXBsPCBsZXNzX2VxdWFsX2ltcGw8IFRhZzEsVGFnMSA+LFRhZzEsIFRhZzIgPgorICAgICAgICAsIGF1eDo6Y2FzdDFzdF9pbXBsPCBsZXNzX2VxdWFsX2ltcGw8IFRhZzIsVGFnMiA+LFRhZzEsIFRhZzIgPgorICAgICAgICA+Ojp0eXBlCit7Cit9OworCisvLy8gZm9yIERpZ2l0YWwgTWFycyBDKysvY29tcGlsZXJzIHdpdGggbm8gQ1RQUy9UVFAgc3VwcG9ydAordGVtcGxhdGU8PiBzdHJ1Y3QgbGVzc19lcXVhbF9pbXBsPCBuYSxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgbGVzc19lcXVhbF9pbXBsPCBuYSxpbnRlZ3JhbF9jX3RhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgbGVzc19lcXVhbF9pbXBsPCBpbnRlZ3JhbF9jX3RhZyxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFQgPiBzdHJ1Y3QgbGVzc19lcXVhbF90YWcKKyAgICA6IHRhZzwgVCxuYSA+Cit7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjEpCisgICAgLCB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4yKQorICAgID4KK3N0cnVjdCBsZXNzX2VxdWFsCisgICAgOiBhdXg6Om1zdmNfZXRpX2Jhc2U8IHR5cGVuYW1lIGFwcGx5X3dyYXAyPAorICAgICAgICAgIGxlc3NfZXF1YWxfaW1wbDwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgbGVzc19lcXVhbF90YWc8TjE+Ojp0eXBlCisgICAgICAgICAgICAsIHR5cGVuYW1lIGxlc3NfZXF1YWxfdGFnPE4yPjo6dHlwZQorICAgICAgICAgICAgPgorICAgICAgICAsIE4xCisgICAgICAgICwgTjIKKyAgICAgICAgPjo6dHlwZSA+Ojp0eXBlCisKK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKDIsIGxlc3NfZXF1YWwsIChOMSwgTjIpKQorCit9OworCitCT09TVF9NUExfQVVYX05BX1NQRUMyKDIsIDIsIGxlc3NfZXF1YWwpCisKK319CisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgbGVzc19lcXVhbF9pbXBsPCBpbnRlZ3JhbF9jX3RhZyxpbnRlZ3JhbF9jX3RhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIE4xLCB0eXBlbmFtZSBOMiA+IHN0cnVjdCBhcHBseQorCisgICAgeworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoYm9vbCwgdmFsdWUgPQorICAgICAgICAgICAgICggQk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4xKTo6dmFsdWUgPD0KKyAgICAgICAgICAgICBCT09TVF9NUExfQVVYX1ZBTFVFX1dLTkQoTjIpOjp2YWx1ZSApCisgICAgICAgICAgICApOworICAgICAgICB0eXBlZGVmIGJvb2xfPHZhbHVlPiB0eXBlOworICAgIH07Cit9OworCit9fQpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL21zdmM3MC9saXN0LmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9tc3ZjNzAvbGlzdC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjMwNjJkMgotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9tc3ZjNzAvbGlzdC5ocHAKQEAgLTAsMCArMSw1NTYgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL2xpc3QuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK25hbWVzcGFjZSBhdXggewordGVtcGxhdGU8IGludCBOID4KK3N0cnVjdCBsaXN0X2Nob29zZXI7CisKK30KKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBsaXN0X2Nob29zZXI8MD4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiBsaXN0MDwKKyAgICAgICAgICAgICAKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBsaXN0X2Nob29zZXI8MT4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0MTwKKyAgICAgICAgICAgICAgVDAKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBsaXN0X2Nob29zZXI8Mj4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0MjwKKyAgICAgICAgICAgICAgVDAsIFQxCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgbGlzdF9jaG9vc2VyPDM+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDM8CisgICAgICAgICAgICAgIFQwLCBUMSwgVDIKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBsaXN0X2Nob29zZXI8ND4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0NDwKKyAgICAgICAgICAgICAgVDAsIFQxLCBUMiwgVDMKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBsaXN0X2Nob29zZXI8NT4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0NTwKKyAgICAgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgbGlzdF9jaG9vc2VyPDY+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDY8CisgICAgICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBsaXN0X2Nob29zZXI8Nz4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0NzwKKyAgICAgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBsaXN0X2Nob29zZXI8OD4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0ODwKKyAgICAgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgbGlzdF9jaG9vc2VyPDk+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDk8CisgICAgICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBsaXN0X2Nob29zZXI8MTA+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDEwPAorICAgICAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOQorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IGxpc3RfY2hvb3NlcjwxMT4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0MTE8CisgICAgICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBsaXN0X2Nob29zZXI8MTI+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDEyPAorICAgICAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBsaXN0X2Nob29zZXI8MTM+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDEzPAorICAgICAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMgorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IGxpc3RfY2hvb3NlcjwxND4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0MTQ8CisgICAgICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBsaXN0X2Nob29zZXI8MTU+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDE1PAorICAgICAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBsaXN0X2Nob29zZXI8MTY+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDE2PAorICAgICAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQsIFQxNQorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IGxpc3RfY2hvb3NlcjwxNz4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0MTc8CisgICAgICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNCwgVDE1LCBUMTYKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBsaXN0X2Nob29zZXI8MTg+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDE4PAorICAgICAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQsIFQxNSwgVDE2LCBUMTcKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBsaXN0X2Nob29zZXI8MTk+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDE5PAorICAgICAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQsIFQxNSwgVDE2LCBUMTcsIFQxOAorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IGxpc3RfY2hvb3NlcjwyMD4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0MjA8CisgICAgICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNCwgVDE1LCBUMTYsIFQxNywgVDE4LCBUMTkKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUID4KK3N0cnVjdCBpc19saXN0X2FyZworeworICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChib29sLCB2YWx1ZSAgPSB0cnVlKTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBpc19saXN0X2FyZzxuYT4KK3sKKyAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoYm9vbCwgdmFsdWUgID0gZmFsc2UpOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNCwgdHlwZW5hbWUgVDUKKyAgICAsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5LCB0eXBlbmFtZSBUMTAKKyAgICAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNCwgdHlwZW5hbWUgVDE1CisgICAgLCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTksIHR5cGVuYW1lIFQyMAorICAgID4KK3N0cnVjdCBsaXN0X2NvdW50X2FyZ3MKK3sKKyAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSA9CisgICAgICAgICAgaXNfbGlzdF9hcmc8VDE+Ojp2YWx1ZSArIGlzX2xpc3RfYXJnPFQyPjo6dmFsdWUgCisgICAgICAgICsgaXNfbGlzdF9hcmc8VDM+Ojp2YWx1ZSArIGlzX2xpc3RfYXJnPFQ0Pjo6dmFsdWUgCisgICAgICAgICsgaXNfbGlzdF9hcmc8VDU+Ojp2YWx1ZSArIGlzX2xpc3RfYXJnPFQ2Pjo6dmFsdWUgCisgICAgICAgICsgaXNfbGlzdF9hcmc8VDc+Ojp2YWx1ZSArIGlzX2xpc3RfYXJnPFQ4Pjo6dmFsdWUgCisgICAgICAgICsgaXNfbGlzdF9hcmc8VDk+Ojp2YWx1ZSArIGlzX2xpc3RfYXJnPFQxMD46OnZhbHVlIAorICAgICAgICArIGlzX2xpc3RfYXJnPFQxMT46OnZhbHVlICsgaXNfbGlzdF9hcmc8VDEyPjo6dmFsdWUgCisgICAgICAgICsgaXNfbGlzdF9hcmc8VDEzPjo6dmFsdWUgKyBpc19saXN0X2FyZzxUMTQ+Ojp2YWx1ZSAKKyAgICAgICAgKyBpc19saXN0X2FyZzxUMTU+Ojp2YWx1ZSArIGlzX2xpc3RfYXJnPFQxNj46OnZhbHVlIAorICAgICAgICArIGlzX2xpc3RfYXJnPFQxNz46OnZhbHVlICsgaXNfbGlzdF9hcmc8VDE4Pjo6dmFsdWUgCisgICAgICAgICsgaXNfbGlzdF9hcmc8VDE5Pjo6dmFsdWUgKyBpc19saXN0X2FyZzxUMjA+Ojp2YWx1ZQorICAgICAgICApOworCit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICA+CitzdHJ1Y3QgbGlzdF9pbXBsCit7CisgICAgdHlwZWRlZiBhdXg6Omxpc3RfY291bnRfYXJnczwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQsIFQxNSwgVDE2LCBUMTcsIFQxOCwgVDE5CisgICAgICAgID4gYXJnX251bV87CisKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGF1eDo6bGlzdF9jaG9vc2VyPCBhcmdfbnVtXzo6dmFsdWUgPgorICAgICAgICA6OnRlbXBsYXRlIHJlc3VsdF88IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyxUMTQsVDE1LFQxNixUMTcsVDE4LFQxOSA+Ojp0eXBlIHR5cGU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCA9IG5hLCB0eXBlbmFtZSBUMSA9IG5hLCB0eXBlbmFtZSBUMiA9IG5hLCB0eXBlbmFtZSBUMyA9IG5hCisgICAgLCB0eXBlbmFtZSBUNCA9IG5hLCB0eXBlbmFtZSBUNSA9IG5hLCB0eXBlbmFtZSBUNiA9IG5hLCB0eXBlbmFtZSBUNyA9IG5hCisgICAgLCB0eXBlbmFtZSBUOCA9IG5hLCB0eXBlbmFtZSBUOSA9IG5hLCB0eXBlbmFtZSBUMTAgPSBuYSwgdHlwZW5hbWUgVDExID0gbmEKKyAgICAsIHR5cGVuYW1lIFQxMiA9IG5hLCB0eXBlbmFtZSBUMTMgPSBuYSwgdHlwZW5hbWUgVDE0ID0gbmEKKyAgICAsIHR5cGVuYW1lIFQxNSA9IG5hLCB0eXBlbmFtZSBUMTYgPSBuYSwgdHlwZW5hbWUgVDE3ID0gbmEKKyAgICAsIHR5cGVuYW1lIFQxOCA9IG5hLCB0eXBlbmFtZSBUMTkgPSBuYQorICAgID4KK3N0cnVjdCBsaXN0CisgICAgOiBhdXg6Omxpc3RfaW1wbDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQsIFQxNSwgVDE2LCBUMTcsIFQxOCwgVDE5CisgICAgICAgID46OnR5cGUKK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGF1eDo6bGlzdF9pbXBsPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNCwgVDE1LCBUMTYsIFQxNywgVDE4LCBUMTkKKyAgICAgICAgPjo6dHlwZSB0eXBlOworfTsKKworfX0KKwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL21zdmM3MC9saXN0X2MuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL21zdmM3MC9saXN0X2MuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAxMGY5MmUKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXN2YzcwL2xpc3RfYy5ocHAKQEAgLTAsMCArMSw1MzQgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL2xpc3RfYy5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKworbmFtZXNwYWNlIGF1eCB7Cit0ZW1wbGF0ZTwgaW50IE4gPgorc3RydWN0IGxpc3RfY19jaG9vc2VyOworCit9CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgbGlzdF9jX2Nob29zZXI8MD4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgICAgICAsIGxvbmcgQzEzLCBsb25nIEMxNCwgbG9uZyBDMTUsIGxvbmcgQzE2LCBsb25nIEMxNywgbG9uZyBDMTgsIGxvbmcgQzE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0MF9jPAorICAgICAgICAgICAgICBUCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgbGlzdF9jX2Nob29zZXI8MT4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgICAgICAsIGxvbmcgQzEzLCBsb25nIEMxNCwgbG9uZyBDMTUsIGxvbmcgQzE2LCBsb25nIEMxNywgbG9uZyBDMTgsIGxvbmcgQzE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0MV9jPAorICAgICAgICAgICAgICBULCBDMAorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IGxpc3RfY19jaG9vc2VyPDI+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1LCBsb25nIEMxNiwgbG9uZyBDMTcsIGxvbmcgQzE4LCBsb25nIEMxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDJfYzwKKyAgICAgICAgICAgICAgVCwgQzAsIEMxCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgbGlzdF9jX2Nob29zZXI8Mz4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgICAgICAsIGxvbmcgQzEzLCBsb25nIEMxNCwgbG9uZyBDMTUsIGxvbmcgQzE2LCBsb25nIEMxNywgbG9uZyBDMTgsIGxvbmcgQzE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0M19jPAorICAgICAgICAgICAgICBULCBDMCwgQzEsIEMyCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgbGlzdF9jX2Nob29zZXI8ND4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgICAgICAsIGxvbmcgQzEzLCBsb25nIEMxNCwgbG9uZyBDMTUsIGxvbmcgQzE2LCBsb25nIEMxNywgbG9uZyBDMTgsIGxvbmcgQzE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0NF9jPAorICAgICAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMworICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IGxpc3RfY19jaG9vc2VyPDU+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1LCBsb25nIEMxNiwgbG9uZyBDMTcsIGxvbmcgQzE4LCBsb25nIEMxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDVfYzwKKyAgICAgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgbGlzdF9jX2Nob29zZXI8Nj4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgICAgICAsIGxvbmcgQzEzLCBsb25nIEMxNCwgbG9uZyBDMTUsIGxvbmcgQzE2LCBsb25nIEMxNywgbG9uZyBDMTgsIGxvbmcgQzE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0Nl9jPAorICAgICAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgbGlzdF9jX2Nob29zZXI8Nz4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgICAgICAsIGxvbmcgQzEzLCBsb25nIEMxNCwgbG9uZyBDMTUsIGxvbmcgQzE2LCBsb25nIEMxNywgbG9uZyBDMTgsIGxvbmcgQzE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0N19jPAorICAgICAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNgorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IGxpc3RfY19jaG9vc2VyPDg+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1LCBsb25nIEMxNiwgbG9uZyBDMTcsIGxvbmcgQzE4LCBsb25nIEMxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDhfYzwKKyAgICAgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgbGlzdF9jX2Nob29zZXI8OT4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgICAgICAsIGxvbmcgQzEzLCBsb25nIEMxNCwgbG9uZyBDMTUsIGxvbmcgQzE2LCBsb25nIEMxNywgbG9uZyBDMTgsIGxvbmcgQzE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0OV9jPAorICAgICAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgbGlzdF9jX2Nob29zZXI8MTA+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1LCBsb25nIEMxNiwgbG9uZyBDMTcsIGxvbmcgQzE4LCBsb25nIEMxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDEwX2M8CisgICAgICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgbGlzdF9jX2Nob29zZXI8MTE+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1LCBsb25nIEMxNiwgbG9uZyBDMTcsIGxvbmcgQzE4LCBsb25nIEMxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDExX2M8CisgICAgICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBsaXN0X2NfY2hvb3NlcjwxMj4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgICAgICAsIGxvbmcgQzEzLCBsb25nIEMxNCwgbG9uZyBDMTUsIGxvbmcgQzE2LCBsb25nIEMxNywgbG9uZyBDMTgsIGxvbmcgQzE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0MTJfYzwKKyAgICAgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgbGlzdF9jX2Nob29zZXI8MTM+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1LCBsb25nIEMxNiwgbG9uZyBDMTcsIGxvbmcgQzE4LCBsb25nIEMxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDEzX2M8CisgICAgICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgbGlzdF9jX2Nob29zZXI8MTQ+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1LCBsb25nIEMxNiwgbG9uZyBDMTcsIGxvbmcgQzE4LCBsb25nIEMxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDE0X2M8CisgICAgICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBsaXN0X2NfY2hvb3NlcjwxNT4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgICAgICAsIGxvbmcgQzEzLCBsb25nIEMxNCwgbG9uZyBDMTUsIGxvbmcgQzE2LCBsb25nIEMxNywgbG9uZyBDMTgsIGxvbmcgQzE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0MTVfYzwKKyAgICAgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBDMTIsIEMxMywgQzE0CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgbGlzdF9jX2Nob29zZXI8MTY+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1LCBsb25nIEMxNiwgbG9uZyBDMTcsIGxvbmcgQzE4LCBsb25nIEMxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDE2X2M8CisgICAgICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMsIEMxNCwgQzE1CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgbGlzdF9jX2Nob29zZXI8MTc+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1LCBsb25nIEMxNiwgbG9uZyBDMTcsIGxvbmcgQzE4LCBsb25nIEMxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDE3X2M8CisgICAgICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMsIEMxNCwgQzE1LCBDMTYKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBsaXN0X2NfY2hvb3NlcjwxOD4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgICAgICAsIGxvbmcgQzEzLCBsb25nIEMxNCwgbG9uZyBDMTUsIGxvbmcgQzE2LCBsb25nIEMxNywgbG9uZyBDMTgsIGxvbmcgQzE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0MThfYzwKKyAgICAgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBDMTIsIEMxMywgQzE0LCBDMTUsIEMxNiwgQzE3CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgbGlzdF9jX2Nob29zZXI8MTk+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1LCBsb25nIEMxNiwgbG9uZyBDMTcsIGxvbmcgQzE4LCBsb25nIEMxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDE5X2M8CisgICAgICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMsIEMxNCwgQzE1LCBDMTYsIEMxNywgQzE4CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgbGlzdF9jX2Nob29zZXI8MjA+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1LCBsb25nIEMxNiwgbG9uZyBDMTcsIGxvbmcgQzE4LCBsb25nIEMxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDIwX2M8CisgICAgICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMsIEMxNCwgQzE1LCBDMTYsIEMxNywgQzE4LCBDMTkKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPCBsb25nIEMgPgorc3RydWN0IGlzX2xpc3RfY19hcmcKK3sKKyAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoYm9vbCwgdmFsdWUgID0gdHJ1ZSk7Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgaXNfbGlzdF9jX2FyZzxMT05HX01BWD4KK3sKKyAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoYm9vbCwgdmFsdWUgID0gZmFsc2UpOworfTsKKwordGVtcGxhdGU8CisgICAgICBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1LCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4CisgICAgLCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1CisgICAgLCBsb25nIEMxNiwgbG9uZyBDMTcsIGxvbmcgQzE4LCBsb25nIEMxOSwgbG9uZyBDMjAKKyAgICA+CitzdHJ1Y3QgbGlzdF9jX2NvdW50X2FyZ3MKK3sKKyAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSA9CisgICAgICAgICAgaXNfbGlzdF9jX2FyZzxDMT46OnZhbHVlICsgaXNfbGlzdF9jX2FyZzxDMj46OnZhbHVlIAorICAgICAgICArIGlzX2xpc3RfY19hcmc8QzM+Ojp2YWx1ZSArIGlzX2xpc3RfY19hcmc8QzQ+Ojp2YWx1ZSAKKyAgICAgICAgKyBpc19saXN0X2NfYXJnPEM1Pjo6dmFsdWUgKyBpc19saXN0X2NfYXJnPEM2Pjo6dmFsdWUgCisgICAgICAgICsgaXNfbGlzdF9jX2FyZzxDNz46OnZhbHVlICsgaXNfbGlzdF9jX2FyZzxDOD46OnZhbHVlIAorICAgICAgICArIGlzX2xpc3RfY19hcmc8Qzk+Ojp2YWx1ZSArIGlzX2xpc3RfY19hcmc8QzEwPjo6dmFsdWUgCisgICAgICAgICsgaXNfbGlzdF9jX2FyZzxDMTE+Ojp2YWx1ZSArIGlzX2xpc3RfY19hcmc8QzEyPjo6dmFsdWUgCisgICAgICAgICsgaXNfbGlzdF9jX2FyZzxDMTM+Ojp2YWx1ZSArIGlzX2xpc3RfY19hcmc8QzE0Pjo6dmFsdWUgCisgICAgICAgICsgaXNfbGlzdF9jX2FyZzxDMTU+Ojp2YWx1ZSArIGlzX2xpc3RfY19hcmc8QzE2Pjo6dmFsdWUgCisgICAgICAgICsgaXNfbGlzdF9jX2FyZzxDMTc+Ojp2YWx1ZSArIGlzX2xpc3RfY19hcmc8QzE4Pjo6dmFsdWUgCisgICAgICAgICsgaXNfbGlzdF9jX2FyZzxDMTk+Ojp2YWx1ZSArIGlzX2xpc3RfY19hcmc8QzIwPjo6dmFsdWUKKyAgICAgICAgKTsKKworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1LCBsb25nIEMxNiwgbG9uZyBDMTcsIGxvbmcgQzE4LCBsb25nIEMxOQorICAgID4KK3N0cnVjdCBsaXN0X2NfaW1wbAoreworICAgIHR5cGVkZWYgYXV4OjpsaXN0X2NfY291bnRfYXJnczwKKyAgICAgICAgICBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIEMxMiwgQzEzLCBDMTQsIEMxNSwgQzE2LCBDMTcsIEMxOCwgQzE5CisgICAgICAgID4gYXJnX251bV87CisKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGF1eDo6bGlzdF9jX2Nob29zZXI8IGFyZ19udW1fOjp2YWx1ZSA+CisgICAgICAgIDo6dGVtcGxhdGUgcmVzdWx0XzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyxDOCxDOSxDMTAsQzExLEMxMixDMTMsQzE0LEMxNSxDMTYsQzE3LEMxOCxDMTkgPjo6dHlwZSB0eXBlOworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCA9IExPTkdfTUFYLCBsb25nIEMxID0gTE9OR19NQVgsIGxvbmcgQzIgPSBMT05HX01BWAorICAgICwgbG9uZyBDMyA9IExPTkdfTUFYLCBsb25nIEM0ID0gTE9OR19NQVgsIGxvbmcgQzUgPSBMT05HX01BWAorICAgICwgbG9uZyBDNiA9IExPTkdfTUFYLCBsb25nIEM3ID0gTE9OR19NQVgsIGxvbmcgQzggPSBMT05HX01BWAorICAgICwgbG9uZyBDOSA9IExPTkdfTUFYLCBsb25nIEMxMCA9IExPTkdfTUFYLCBsb25nIEMxMSA9IExPTkdfTUFYCisgICAgLCBsb25nIEMxMiA9IExPTkdfTUFYLCBsb25nIEMxMyA9IExPTkdfTUFYLCBsb25nIEMxNCA9IExPTkdfTUFYCisgICAgLCBsb25nIEMxNSA9IExPTkdfTUFYLCBsb25nIEMxNiA9IExPTkdfTUFYLCBsb25nIEMxNyA9IExPTkdfTUFYCisgICAgLCBsb25nIEMxOCA9IExPTkdfTUFYLCBsb25nIEMxOSA9IExPTkdfTUFYCisgICAgPgorc3RydWN0IGxpc3RfYworICAgIDogYXV4OjpsaXN0X2NfaW1wbDwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIEMxMiwgQzEzLCBDMTQsIEMxNSwgQzE2LCBDMTcsIEMxOCwgQzE5CisgICAgICAgID46OnR5cGUKK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGF1eDo6bGlzdF9jX2ltcGw8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBDMTIsIEMxMywgQzE0LCBDMTUsIEMxNiwgQzE3LCBDMTgsIEMxOQorICAgICAgICA+Ojp0eXBlIHR5cGU7Cit9OworCit9fQorCmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXN2YzcwL21hcC5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXN2YzcwL21hcC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzA2NjYwMwotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9tc3ZjNzAvbWFwLmhwcApAQCAtMCwwICsxLDU1NiBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvbWFwLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCituYW1lc3BhY2UgYXV4IHsKK3RlbXBsYXRlPCBpbnQgTiA+CitzdHJ1Y3QgbWFwX2Nob29zZXI7CisKK30KKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBtYXBfY2hvb3NlcjwwPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIG1hcDA8CisgICAgICAgICAgICAgCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgbWFwX2Nob29zZXI8MT4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBtYXAxPAorICAgICAgICAgICAgICBUMAorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IG1hcF9jaG9vc2VyPDI+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbWFwMjwKKyAgICAgICAgICAgICAgVDAsIFQxCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgbWFwX2Nob29zZXI8Mz4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBtYXAzPAorICAgICAgICAgICAgICBUMCwgVDEsIFQyCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgbWFwX2Nob29zZXI8ND4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBtYXA0PAorICAgICAgICAgICAgICBUMCwgVDEsIFQyLCBUMworICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IG1hcF9jaG9vc2VyPDU+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbWFwNTwKKyAgICAgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgbWFwX2Nob29zZXI8Nj4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBtYXA2PAorICAgICAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgbWFwX2Nob29zZXI8Nz4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBtYXA3PAorICAgICAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNgorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IG1hcF9jaG9vc2VyPDg+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbWFwODwKKyAgICAgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgbWFwX2Nob29zZXI8OT4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBtYXA5PAorICAgICAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgbWFwX2Nob29zZXI8MTA+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbWFwMTA8CisgICAgICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgbWFwX2Nob29zZXI8MTE+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbWFwMTE8CisgICAgICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBtYXBfY2hvb3NlcjwxMj4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBtYXAxMjwKKyAgICAgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgbWFwX2Nob29zZXI8MTM+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbWFwMTM8CisgICAgICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgbWFwX2Nob29zZXI8MTQ+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbWFwMTQ8CisgICAgICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBtYXBfY2hvb3NlcjwxNT4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBtYXAxNTwKKyAgICAgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgbWFwX2Nob29zZXI8MTY+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbWFwMTY8CisgICAgICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNCwgVDE1CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgbWFwX2Nob29zZXI8MTc+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbWFwMTc8CisgICAgICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNCwgVDE1LCBUMTYKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBtYXBfY2hvb3NlcjwxOD4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBtYXAxODwKKyAgICAgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0LCBUMTUsIFQxNiwgVDE3CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgbWFwX2Nob29zZXI8MTk+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbWFwMTk8CisgICAgICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNCwgVDE1LCBUMTYsIFQxNywgVDE4CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgbWFwX2Nob29zZXI8MjA+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbWFwMjA8CisgICAgICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNCwgVDE1LCBUMTYsIFQxNywgVDE4LCBUMTkKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUID4KK3N0cnVjdCBpc19tYXBfYXJnCit7CisgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGJvb2wsIHZhbHVlICA9IHRydWUpOworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGlzX21hcF9hcmc8bmE+Cit7CisgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGJvb2wsIHZhbHVlICA9IGZhbHNlKTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQsIHR5cGVuYW1lIFQ1CisgICAgLCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOSwgdHlwZW5hbWUgVDEwCisgICAgLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQsIHR5cGVuYW1lIFQxNQorICAgICwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5LCB0eXBlbmFtZSBUMjAKKyAgICA+CitzdHJ1Y3QgbWFwX2NvdW50X2FyZ3MKK3sKKyAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSA9CisgICAgICAgICAgaXNfbWFwX2FyZzxUMT46OnZhbHVlICsgaXNfbWFwX2FyZzxUMj46OnZhbHVlIAorICAgICAgICArIGlzX21hcF9hcmc8VDM+Ojp2YWx1ZSArIGlzX21hcF9hcmc8VDQ+Ojp2YWx1ZSAKKyAgICAgICAgKyBpc19tYXBfYXJnPFQ1Pjo6dmFsdWUgKyBpc19tYXBfYXJnPFQ2Pjo6dmFsdWUgCisgICAgICAgICsgaXNfbWFwX2FyZzxUNz46OnZhbHVlICsgaXNfbWFwX2FyZzxUOD46OnZhbHVlIAorICAgICAgICArIGlzX21hcF9hcmc8VDk+Ojp2YWx1ZSArIGlzX21hcF9hcmc8VDEwPjo6dmFsdWUgCisgICAgICAgICsgaXNfbWFwX2FyZzxUMTE+Ojp2YWx1ZSArIGlzX21hcF9hcmc8VDEyPjo6dmFsdWUgCisgICAgICAgICsgaXNfbWFwX2FyZzxUMTM+Ojp2YWx1ZSArIGlzX21hcF9hcmc8VDE0Pjo6dmFsdWUgCisgICAgICAgICsgaXNfbWFwX2FyZzxUMTU+Ojp2YWx1ZSArIGlzX21hcF9hcmc8VDE2Pjo6dmFsdWUgCisgICAgICAgICsgaXNfbWFwX2FyZzxUMTc+Ojp2YWx1ZSArIGlzX21hcF9hcmc8VDE4Pjo6dmFsdWUgCisgICAgICAgICsgaXNfbWFwX2FyZzxUMTk+Ojp2YWx1ZSArIGlzX21hcF9hcmc8VDIwPjo6dmFsdWUKKyAgICAgICAgKTsKKworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgPgorc3RydWN0IG1hcF9pbXBsCit7CisgICAgdHlwZWRlZiBhdXg6Om1hcF9jb3VudF9hcmdzPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNCwgVDE1LCBUMTYsIFQxNywgVDE4LCBUMTkKKyAgICAgICAgPiBhcmdfbnVtXzsKKworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXV4OjptYXBfY2hvb3NlcjwgYXJnX251bV86OnZhbHVlID4KKyAgICAgICAgOjp0ZW1wbGF0ZSByZXN1bHRfPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMsVDE0LFQxNSxUMTYsVDE3LFQxOCxUMTkgPjo6dHlwZSB0eXBlOworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAgPSBuYSwgdHlwZW5hbWUgVDEgPSBuYSwgdHlwZW5hbWUgVDIgPSBuYSwgdHlwZW5hbWUgVDMgPSBuYQorICAgICwgdHlwZW5hbWUgVDQgPSBuYSwgdHlwZW5hbWUgVDUgPSBuYSwgdHlwZW5hbWUgVDYgPSBuYSwgdHlwZW5hbWUgVDcgPSBuYQorICAgICwgdHlwZW5hbWUgVDggPSBuYSwgdHlwZW5hbWUgVDkgPSBuYSwgdHlwZW5hbWUgVDEwID0gbmEsIHR5cGVuYW1lIFQxMSA9IG5hCisgICAgLCB0eXBlbmFtZSBUMTIgPSBuYSwgdHlwZW5hbWUgVDEzID0gbmEsIHR5cGVuYW1lIFQxNCA9IG5hCisgICAgLCB0eXBlbmFtZSBUMTUgPSBuYSwgdHlwZW5hbWUgVDE2ID0gbmEsIHR5cGVuYW1lIFQxNyA9IG5hCisgICAgLCB0eXBlbmFtZSBUMTggPSBuYSwgdHlwZW5hbWUgVDE5ID0gbmEKKyAgICA+CitzdHJ1Y3QgbWFwCisgICAgOiBhdXg6Om1hcF9pbXBsPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNCwgVDE1LCBUMTYsIFQxNywgVDE4LCBUMTkKKyAgICAgICAgPjo6dHlwZQoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXV4OjptYXBfaW1wbDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQsIFQxNSwgVDE2LCBUMTcsIFQxOCwgVDE5CisgICAgICAgID46OnR5cGUgdHlwZTsKK307CisKK319CisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9tc3ZjNzAvbWludXMuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL21zdmM3MC9taW51cy5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTEwMjAyZAotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9tc3ZjNzAvbWludXMuaHBwCkBAIC0wLDAgKzEsMTUwIEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9taW51cy5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUYWcxCisgICAgLCB0eXBlbmFtZSBUYWcyCisKKyAgICAsIEJPT1NUX01QTF9BVVhfTlRUUF9ERUNMKGludCwgdGFnMV8pICA9IEJPT1NUX01QTF9BVVhfTVNWQ19WQUxVRV9XS05EKFRhZzEpOjp2YWx1ZQorICAgICwgQk9PU1RfTVBMX0FVWF9OVFRQX0RFQ0woaW50LCB0YWcyXykgID0gQk9PU1RfTVBMX0FVWF9NU1ZDX1ZBTFVFX1dLTkQoVGFnMik6OnZhbHVlCisgICAgPgorc3RydWN0IG1pbnVzX2ltcGwKKyAgICA6IGlmX2M8CisgICAgICAgICAgKCB0YWcxXyA+IHRhZzJfICkKKyAgICAgICAgLCBhdXg6OmNhc3QybmRfaW1wbDwgbWludXNfaW1wbDwgVGFnMSxUYWcxID4sVGFnMSwgVGFnMiA+CisgICAgICAgICwgYXV4OjpjYXN0MXN0X2ltcGw8IG1pbnVzX2ltcGw8IFRhZzIsVGFnMiA+LFRhZzEsIFRhZzIgPgorICAgICAgICA+Ojp0eXBlCit7Cit9OworCisvLy8gZm9yIERpZ2l0YWwgTWFycyBDKysvY29tcGlsZXJzIHdpdGggbm8gQ1RQUy9UVFAgc3VwcG9ydAordGVtcGxhdGU8PiBzdHJ1Y3QgbWludXNfaW1wbDwgbmEsbmEgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4gc3RydWN0IG1pbnVzX2ltcGw8IG5hLGludGVncmFsX2NfdGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCBtaW51c19pbXBsPCBpbnRlZ3JhbF9jX3RhZyxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFQgPiBzdHJ1Y3QgbWludXNfdGFnCisgICAgOiB0YWc8IFQsbmEgPgoreworfTsKKworLy8vIGZvcndhcmQgZGVjbGFyYXRpb24KKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4xKQorICAgICwgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMikKKyAgICA+CitzdHJ1Y3QgbWludXMyOworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjEpCisgICAgLCB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4yKQorICAgICwgdHlwZW5hbWUgTjMgPSBuYSwgdHlwZW5hbWUgTjQgPSBuYSwgdHlwZW5hbWUgTjUgPSBuYQorICAgID4KK3N0cnVjdCBtaW51cworCisgICAgOiBhdXg6Om1zdmNfZXRpX2Jhc2U8IHR5cGVuYW1lIGlmXzwKKworICAgICAgICAgIGlzX25hPE4zPgorICAgICAgICAsIG1pbnVzMjwgTjEsTjIgPgorICAgICAgICAsIG1pbnVzPAorICAgICAgICAgICAgICBtaW51czI8IE4xLE4yID4KKyAgICAgICAgICAgICwgTjMsIE40LCBONQorICAgICAgICAgICAgPgorICAgICAgICA+Ojp0eXBlCisKKyAgICA+CisKK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKAorICAgICAgICAgIDUKKyAgICAgICAgLCBtaW51cworICAgICAgICAsICggTjEsIE4yLCBOMywgTjQsIE41ICkKKyAgICAgICAgKQorfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBOMQorICAgICwgdHlwZW5hbWUgTjIKKyAgICA+CitzdHJ1Y3QgbWludXMyCisgICAgOiBhdXg6Om1zdmNfZXRpX2Jhc2U8IHR5cGVuYW1lIGFwcGx5X3dyYXAyPAorICAgICAgICAgIG1pbnVzX2ltcGw8CisgICAgICAgICAgICAgIHR5cGVuYW1lIG1pbnVzX3RhZzxOMT46OnR5cGUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgbWludXNfdGFnPE4yPjo6dHlwZQorICAgICAgICAgICAgPgorICAgICAgICAsIE4xCisgICAgICAgICwgTjIKKyAgICAgICAgPjo6dHlwZSA+Ojp0eXBlCisKK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKDIsIG1pbnVzMiwgKE4xLCBOMikpCisKK307CisKK0JPT1NUX01QTF9BVVhfTkFfU1BFQzIoMiwgNSwgbWludXMpCisKK319CisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCituYW1lc3BhY2UgYXV4IHsKK3RlbXBsYXRlPCB0eXBlbmFtZSBULCBUIG4xLCBUIG4yID4KK3N0cnVjdCBtaW51c193a25kCit7CisgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKFQsIHZhbHVlICA9IChuMSAtIG4yKSk7CisgICAgdHlwZWRlZiBpbnRlZ3JhbF9jPCBULHZhbHVlID4gdHlwZTsKK307CisKK30KKwordGVtcGxhdGU8Pgorc3RydWN0IG1pbnVzX2ltcGw8IGludGVncmFsX2NfdGFnLGludGVncmFsX2NfdGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgTjEsIHR5cGVuYW1lIE4yID4gc3RydWN0IGFwcGx5CisgICAgICAgIDogYXV4OjptaW51c193a25kPAorICAgICAgICAgICAgICB0eXBlbmFtZSBhdXg6Omxhcmdlc3RfaW50PAorICAgICAgICAgICAgICAgICAgdHlwZW5hbWUgTjE6OnZhbHVlX3R5cGUKKyAgICAgICAgICAgICAgICAsIHR5cGVuYW1lIE4yOjp2YWx1ZV90eXBlCisgICAgICAgICAgICAgICAgPjo6dHlwZQorICAgICAgICAgICAgLCBOMTo6dmFsdWUKKyAgICAgICAgICAgICwgTjI6OnZhbHVlCisgICAgICAgICAgICA+Ojp0eXBlCisKKyAgICB7CisgICAgfTsKK307CisKK319CmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXN2YzcwL21vZHVsdXMuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL21zdmM3MC9tb2R1bHVzLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYjhhYmY1Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL21zdmM3MC9tb2R1bHVzLmhwcApAQCAtMCwwICsxLDExNSBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvbW9kdWx1cy5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUYWcxCisgICAgLCB0eXBlbmFtZSBUYWcyCisKKyAgICAsIEJPT1NUX01QTF9BVVhfTlRUUF9ERUNMKGludCwgdGFnMV8pICA9IEJPT1NUX01QTF9BVVhfTVNWQ19WQUxVRV9XS05EKFRhZzEpOjp2YWx1ZQorICAgICwgQk9PU1RfTVBMX0FVWF9OVFRQX0RFQ0woaW50LCB0YWcyXykgID0gQk9PU1RfTVBMX0FVWF9NU1ZDX1ZBTFVFX1dLTkQoVGFnMik6OnZhbHVlCisgICAgPgorc3RydWN0IG1vZHVsdXNfaW1wbAorICAgIDogaWZfYzwKKyAgICAgICAgICAoIHRhZzFfID4gdGFnMl8gKQorICAgICAgICAsIGF1eDo6Y2FzdDJuZF9pbXBsPCBtb2R1bHVzX2ltcGw8IFRhZzEsVGFnMSA+LFRhZzEsIFRhZzIgPgorICAgICAgICAsIGF1eDo6Y2FzdDFzdF9pbXBsPCBtb2R1bHVzX2ltcGw8IFRhZzIsVGFnMiA+LFRhZzEsIFRhZzIgPgorICAgICAgICA+Ojp0eXBlCit7Cit9OworCisvLy8gZm9yIERpZ2l0YWwgTWFycyBDKysvY29tcGlsZXJzIHdpdGggbm8gQ1RQUy9UVFAgc3VwcG9ydAordGVtcGxhdGU8PiBzdHJ1Y3QgbW9kdWx1c19pbXBsPCBuYSxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgbW9kdWx1c19pbXBsPCBuYSxpbnRlZ3JhbF9jX3RhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgbW9kdWx1c19pbXBsPCBpbnRlZ3JhbF9jX3RhZyxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFQgPiBzdHJ1Y3QgbW9kdWx1c190YWcKKyAgICA6IHRhZzwgVCxuYSA+Cit7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjEpCisgICAgLCB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4yKQorICAgID4KK3N0cnVjdCBtb2R1bHVzCisgICAgOiBhdXg6Om1zdmNfZXRpX2Jhc2U8IHR5cGVuYW1lIGFwcGx5X3dyYXAyPAorICAgICAgICAgIG1vZHVsdXNfaW1wbDwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgbW9kdWx1c190YWc8TjE+Ojp0eXBlCisgICAgICAgICAgICAsIHR5cGVuYW1lIG1vZHVsdXNfdGFnPE4yPjo6dHlwZQorICAgICAgICAgICAgPgorICAgICAgICAsIE4xCisgICAgICAgICwgTjIKKyAgICAgICAgPjo6dHlwZSA+Ojp0eXBlCisKK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKDIsIG1vZHVsdXMsIChOMSwgTjIpKQorCit9OworCitCT09TVF9NUExfQVVYX05BX1NQRUMyKDIsIDIsIG1vZHVsdXMpCisKK319CisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCituYW1lc3BhY2UgYXV4IHsKK3RlbXBsYXRlPCB0eXBlbmFtZSBULCBUIG4xLCBUIG4yID4KK3N0cnVjdCBtb2R1bHVzX3drbmQKK3sKKyAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoVCwgdmFsdWUgID0gKG4xICUgbjIpKTsKKyAgICB0eXBlZGVmIGludGVncmFsX2M8IFQsdmFsdWUgPiB0eXBlOworfTsKKworfQorCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgbW9kdWx1c19pbXBsPCBpbnRlZ3JhbF9jX3RhZyxpbnRlZ3JhbF9jX3RhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIE4xLCB0eXBlbmFtZSBOMiA+IHN0cnVjdCBhcHBseQorICAgICAgICA6IGF1eDo6bW9kdWx1c193a25kPAorICAgICAgICAgICAgICB0eXBlbmFtZSBhdXg6Omxhcmdlc3RfaW50PAorICAgICAgICAgICAgICAgICAgdHlwZW5hbWUgTjE6OnZhbHVlX3R5cGUKKyAgICAgICAgICAgICAgICAsIHR5cGVuYW1lIE4yOjp2YWx1ZV90eXBlCisgICAgICAgICAgICAgICAgPjo6dHlwZQorICAgICAgICAgICAgLCBOMTo6dmFsdWUKKyAgICAgICAgICAgICwgTjI6OnZhbHVlCisgICAgICAgICAgICA+Ojp0eXBlCisKKyAgICB7CisgICAgfTsKK307CisKK319CmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXN2YzcwL25vdF9lcXVhbF90by5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXN2YzcwL25vdF9lcXVhbF90by5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWM4ZDY2MAotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9tc3ZjNzAvbm90X2VxdWFsX3RvLmhwcApAQCAtMCwwICsxLDEwMiBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvbm90X2VxdWFsX3RvLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFRhZzEKKyAgICAsIHR5cGVuYW1lIFRhZzIKKworICAgICwgQk9PU1RfTVBMX0FVWF9OVFRQX0RFQ0woaW50LCB0YWcxXykgID0gQk9PU1RfTVBMX0FVWF9NU1ZDX1ZBTFVFX1dLTkQoVGFnMSk6OnZhbHVlCisgICAgLCBCT09TVF9NUExfQVVYX05UVFBfREVDTChpbnQsIHRhZzJfKSAgPSBCT09TVF9NUExfQVVYX01TVkNfVkFMVUVfV0tORChUYWcyKTo6dmFsdWUKKyAgICA+CitzdHJ1Y3Qgbm90X2VxdWFsX3RvX2ltcGwKKyAgICA6IGlmX2M8CisgICAgICAgICAgKCB0YWcxXyA+IHRhZzJfICkKKyAgICAgICAgLCBhdXg6OmNhc3QybmRfaW1wbDwgbm90X2VxdWFsX3RvX2ltcGw8IFRhZzEsVGFnMSA+LFRhZzEsIFRhZzIgPgorICAgICAgICAsIGF1eDo6Y2FzdDFzdF9pbXBsPCBub3RfZXF1YWxfdG9faW1wbDwgVGFnMixUYWcyID4sVGFnMSwgVGFnMiA+CisgICAgICAgID46OnR5cGUKK3sKK307CisKKy8vLyBmb3IgRGlnaXRhbCBNYXJzIEMrKy9jb21waWxlcnMgd2l0aCBubyBDVFBTL1RUUCBzdXBwb3J0Cit0ZW1wbGF0ZTw+IHN0cnVjdCBub3RfZXF1YWxfdG9faW1wbDwgbmEsbmEgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4gc3RydWN0IG5vdF9lcXVhbF90b19pbXBsPCBuYSxpbnRlZ3JhbF9jX3RhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3Qgbm90X2VxdWFsX3RvX2ltcGw8IGludGVncmFsX2NfdGFnLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVCA+IHN0cnVjdCBub3RfZXF1YWxfdG9fdGFnCisgICAgOiB0YWc8IFQsbmEgPgoreworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4xKQorICAgICwgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMikKKyAgICA+CitzdHJ1Y3Qgbm90X2VxdWFsX3RvCisgICAgOiBhdXg6Om1zdmNfZXRpX2Jhc2U8IHR5cGVuYW1lIGFwcGx5X3dyYXAyPAorICAgICAgICAgIG5vdF9lcXVhbF90b19pbXBsPAorICAgICAgICAgICAgICB0eXBlbmFtZSBub3RfZXF1YWxfdG9fdGFnPE4xPjo6dHlwZQorICAgICAgICAgICAgLCB0eXBlbmFtZSBub3RfZXF1YWxfdG9fdGFnPE4yPjo6dHlwZQorICAgICAgICAgICAgPgorICAgICAgICAsIE4xCisgICAgICAgICwgTjIKKyAgICAgICAgPjo6dHlwZSA+Ojp0eXBlCisKK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKDIsIG5vdF9lcXVhbF90bywgKE4xLCBOMikpCisKK307CisKK0JPT1NUX01QTF9BVVhfTkFfU1BFQzIoMiwgMiwgbm90X2VxdWFsX3RvKQorCit9fQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8Pgorc3RydWN0IG5vdF9lcXVhbF90b19pbXBsPCBpbnRlZ3JhbF9jX3RhZyxpbnRlZ3JhbF9jX3RhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIE4xLCB0eXBlbmFtZSBOMiA+IHN0cnVjdCBhcHBseQorCisgICAgeworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoYm9vbCwgdmFsdWUgPQorICAgICAgICAgICAgICggQk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4xKTo6dmFsdWUgIT0KKyAgICAgICAgICAgICBCT09TVF9NUExfQVVYX1ZBTFVFX1dLTkQoTjIpOjp2YWx1ZSApCisgICAgICAgICAgICApOworICAgICAgICB0eXBlZGVmIGJvb2xfPHZhbHVlPiB0eXBlOworICAgIH07Cit9OworCit9fQpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL21zdmM3MC9vci5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXN2YzcwL29yLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41YmVlYzllCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL21zdmM3MC9vci5ocHAKQEAgLTAsMCArMSw3MSBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvb3IuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK25hbWVzcGFjZSBhdXggewordGVtcGxhdGU8IGJvb2wgQ18gPiBzdHJ1Y3Qgb3JfaW1wbAoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgICAgICA6IHRydWVfCisgICAgeworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCBvcl9pbXBsPGZhbHNlPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgICAgICA6IG9yX2ltcGw8CisgICAgICAgICAgICAgIEJPT1NUX01QTF9BVVhfTkVTVEVEX1RZUEVfV0tORChUMSk6OnZhbHVlCisgICAgICAgICAgICA+Ojp0ZW1wbGF0ZSByZXN1bHRfPCBUMixUMyxUNCxmYWxzZV8gPgorICAgIHsKKyAgICB9OworCisgICAgdGVtcGxhdGU8PiBzdHJ1Y3QgcmVzdWx0XzwgZmFsc2VfLGZhbHNlXyxmYWxzZV8sZmFsc2VfID4KKyAgICAgICAgOiBmYWxzZV8KKyAgICB7CisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oVDEpCisgICAgLCB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKFQyKQorICAgICwgdHlwZW5hbWUgVDMgPSBmYWxzZV8sIHR5cGVuYW1lIFQ0ID0gZmFsc2VfLCB0eXBlbmFtZSBUNSA9IGZhbHNlXworICAgID4KK3N0cnVjdCBvcl8KKworICAgIDogYXV4Ojpvcl9pbXBsPAorICAgICAgICAgIEJPT1NUX01QTF9BVVhfTkVTVEVEX1RZUEVfV0tORChUMSk6OnZhbHVlCisgICAgICAgID46OnRlbXBsYXRlIHJlc3VsdF88IFQyLFQzLFQ0LFQ1ID4KKworeworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoCisgICAgICAgICAgNQorICAgICAgICAsIG9yXworICAgICAgICAsICggVDEsIFQyLCBUMywgVDQsIFQ1KQorICAgICAgICApCit9OworCitCT09TVF9NUExfQVVYX05BX1NQRUMyKAorICAgICAgMgorICAgICwgNQorICAgICwgb3JfCisgICAgKQorCit9fQpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL21zdmM3MC9wbGFjZWhvbGRlcnMuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL21zdmM3MC9wbGFjZWhvbGRlcnMuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVjZDQ1MTQKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXN2YzcwL3BsYWNlaG9sZGVycy5ocHAKQEAgLTAsMCArMSwxMDUgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMS0yMDA0CisvLyBDb3B5cmlnaHQgUGV0ZXIgRGltb3YgMjAwMS0yMDAzCisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL3BsYWNlaG9sZGVycy5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCitCT09TVF9NUExfQVVYX0FETF9CQVJSSUVSX05BTUVTUEFDRV9PUEVOCit0eXBlZGVmIGFyZzwgLTEgPiBfOworQk9PU1RfTVBMX0FVWF9BRExfQkFSUklFUl9OQU1FU1BBQ0VfQ0xPU0UKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCitCT09TVF9NUExfQVVYX0FSR19BRExfQkFSUklFUl9ERUNMKF8pCisKK25hbWVzcGFjZSBwbGFjZWhvbGRlcnMgewordXNpbmcgQk9PU1RfTVBMX0FVWF9BRExfQkFSUklFUl9OQU1FU1BBQ0U6Ol87Cit9CisKK319CisKKy8vLyBhZ3VydCwgMTcvbWFyLzAyOiBvbmUgbW9yZSBwbGFjZWhvbGRlciBmb3IgdGhlIGxhc3QgJ2FwcGx5IycgCisvLy8gc3BlY2lhbGl6YXRpb24KK0JPT1NUX01QTF9BVVhfQURMX0JBUlJJRVJfTkFNRVNQQUNFX09QRU4KK3R5cGVkZWYgYXJnPDE+IF8xOworCitCT09TVF9NUExfQVVYX0FETF9CQVJSSUVSX05BTUVTUEFDRV9DTE9TRQorbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK0JPT1NUX01QTF9BVVhfQVJHX0FETF9CQVJSSUVSX0RFQ0woXzEpCisKK25hbWVzcGFjZSBwbGFjZWhvbGRlcnMgewordXNpbmcgQk9PU1RfTVBMX0FVWF9BRExfQkFSUklFUl9OQU1FU1BBQ0U6Ol8xOworfQorCit9fQorQk9PU1RfTVBMX0FVWF9BRExfQkFSUklFUl9OQU1FU1BBQ0VfT1BFTgordHlwZWRlZiBhcmc8Mj4gXzI7CisKK0JPT1NUX01QTF9BVVhfQURMX0JBUlJJRVJfTkFNRVNQQUNFX0NMT1NFCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKworQk9PU1RfTVBMX0FVWF9BUkdfQURMX0JBUlJJRVJfREVDTChfMikKKworbmFtZXNwYWNlIHBsYWNlaG9sZGVycyB7Cit1c2luZyBCT09TVF9NUExfQVVYX0FETF9CQVJSSUVSX05BTUVTUEFDRTo6XzI7Cit9CisKK319CitCT09TVF9NUExfQVVYX0FETF9CQVJSSUVSX05BTUVTUEFDRV9PUEVOCit0eXBlZGVmIGFyZzwzPiBfMzsKKworQk9PU1RfTVBMX0FVWF9BRExfQkFSUklFUl9OQU1FU1BBQ0VfQ0xPU0UKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCitCT09TVF9NUExfQVVYX0FSR19BRExfQkFSUklFUl9ERUNMKF8zKQorCituYW1lc3BhY2UgcGxhY2Vob2xkZXJzIHsKK3VzaW5nIEJPT1NUX01QTF9BVVhfQURMX0JBUlJJRVJfTkFNRVNQQUNFOjpfMzsKK30KKworfX0KK0JPT1NUX01QTF9BVVhfQURMX0JBUlJJRVJfTkFNRVNQQUNFX09QRU4KK3R5cGVkZWYgYXJnPDQ+IF80OworCitCT09TVF9NUExfQVVYX0FETF9CQVJSSUVSX05BTUVTUEFDRV9DTE9TRQorbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK0JPT1NUX01QTF9BVVhfQVJHX0FETF9CQVJSSUVSX0RFQ0woXzQpCisKK25hbWVzcGFjZSBwbGFjZWhvbGRlcnMgewordXNpbmcgQk9PU1RfTVBMX0FVWF9BRExfQkFSUklFUl9OQU1FU1BBQ0U6Ol80OworfQorCit9fQorQk9PU1RfTVBMX0FVWF9BRExfQkFSUklFUl9OQU1FU1BBQ0VfT1BFTgordHlwZWRlZiBhcmc8NT4gXzU7CisKK0JPT1NUX01QTF9BVVhfQURMX0JBUlJJRVJfTkFNRVNQQUNFX0NMT1NFCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKworQk9PU1RfTVBMX0FVWF9BUkdfQURMX0JBUlJJRVJfREVDTChfNSkKKworbmFtZXNwYWNlIHBsYWNlaG9sZGVycyB7Cit1c2luZyBCT09TVF9NUExfQVVYX0FETF9CQVJSSUVSX05BTUVTUEFDRTo6XzU7Cit9CisKK319CitCT09TVF9NUExfQVVYX0FETF9CQVJSSUVSX05BTUVTUEFDRV9PUEVOCit0eXBlZGVmIGFyZzw2PiBfNjsKKworQk9PU1RfTVBMX0FVWF9BRExfQkFSUklFUl9OQU1FU1BBQ0VfQ0xPU0UKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCitCT09TVF9NUExfQVVYX0FSR19BRExfQkFSUklFUl9ERUNMKF82KQorCituYW1lc3BhY2UgcGxhY2Vob2xkZXJzIHsKK3VzaW5nIEJPT1NUX01QTF9BVVhfQURMX0JBUlJJRVJfTkFNRVNQQUNFOjpfNjsKK30KKworfX0KZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9tc3ZjNzAvcGx1cy5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXN2YzcwL3BsdXMuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMyYzMzMTcKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXN2YzcwL3BsdXMuaHBwCkBAIC0wLDAgKzEsMTUwIEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9wbHVzLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFRhZzEKKyAgICAsIHR5cGVuYW1lIFRhZzIKKworICAgICwgQk9PU1RfTVBMX0FVWF9OVFRQX0RFQ0woaW50LCB0YWcxXykgID0gQk9PU1RfTVBMX0FVWF9NU1ZDX1ZBTFVFX1dLTkQoVGFnMSk6OnZhbHVlCisgICAgLCBCT09TVF9NUExfQVVYX05UVFBfREVDTChpbnQsIHRhZzJfKSAgPSBCT09TVF9NUExfQVVYX01TVkNfVkFMVUVfV0tORChUYWcyKTo6dmFsdWUKKyAgICA+CitzdHJ1Y3QgcGx1c19pbXBsCisgICAgOiBpZl9jPAorICAgICAgICAgICggdGFnMV8gPiB0YWcyXyApCisgICAgICAgICwgYXV4OjpjYXN0Mm5kX2ltcGw8IHBsdXNfaW1wbDwgVGFnMSxUYWcxID4sVGFnMSwgVGFnMiA+CisgICAgICAgICwgYXV4OjpjYXN0MXN0X2ltcGw8IHBsdXNfaW1wbDwgVGFnMixUYWcyID4sVGFnMSwgVGFnMiA+CisgICAgICAgID46OnR5cGUKK3sKK307CisKKy8vLyBmb3IgRGlnaXRhbCBNYXJzIEMrKy9jb21waWxlcnMgd2l0aCBubyBDVFBTL1RUUCBzdXBwb3J0Cit0ZW1wbGF0ZTw+IHN0cnVjdCBwbHVzX2ltcGw8IG5hLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCBwbHVzX2ltcGw8IG5hLGludGVncmFsX2NfdGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCBwbHVzX2ltcGw8IGludGVncmFsX2NfdGFnLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVCA+IHN0cnVjdCBwbHVzX3RhZworICAgIDogdGFnPCBULG5hID4KK3sKK307CisKKy8vLyBmb3J3YXJkIGRlY2xhcmF0aW9uCisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMSkKKyAgICAsIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjIpCisgICAgPgorc3RydWN0IHBsdXMyOworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjEpCisgICAgLCB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4yKQorICAgICwgdHlwZW5hbWUgTjMgPSBuYSwgdHlwZW5hbWUgTjQgPSBuYSwgdHlwZW5hbWUgTjUgPSBuYQorICAgID4KK3N0cnVjdCBwbHVzCisKKyAgICA6IGF1eDo6bXN2Y19ldGlfYmFzZTwgdHlwZW5hbWUgaWZfPAorCisgICAgICAgICAgaXNfbmE8TjM+CisgICAgICAgICwgcGx1czI8IE4xLE4yID4KKyAgICAgICAgLCBwbHVzPAorICAgICAgICAgICAgICBwbHVzMjwgTjEsTjIgPgorICAgICAgICAgICAgLCBOMywgTjQsIE41CisgICAgICAgICAgICA+CisgICAgICAgID46OnR5cGUKKworICAgID4KKworeworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoCisgICAgICAgICAgNQorICAgICAgICAsIHBsdXMKKyAgICAgICAgLCAoIE4xLCBOMiwgTjMsIE40LCBONSApCisgICAgICAgICkKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgTjEKKyAgICAsIHR5cGVuYW1lIE4yCisgICAgPgorc3RydWN0IHBsdXMyCisgICAgOiBhdXg6Om1zdmNfZXRpX2Jhc2U8IHR5cGVuYW1lIGFwcGx5X3dyYXAyPAorICAgICAgICAgIHBsdXNfaW1wbDwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgcGx1c190YWc8TjE+Ojp0eXBlCisgICAgICAgICAgICAsIHR5cGVuYW1lIHBsdXNfdGFnPE4yPjo6dHlwZQorICAgICAgICAgICAgPgorICAgICAgICAsIE4xCisgICAgICAgICwgTjIKKyAgICAgICAgPjo6dHlwZSA+Ojp0eXBlCisKK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKDIsIHBsdXMyLCAoTjEsIE4yKSkKKworfTsKKworQk9PU1RfTVBMX0FVWF9OQV9TUEVDMigyLCA1LCBwbHVzKQorCit9fQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKworbmFtZXNwYWNlIGF1eCB7Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgVCwgVCBuMSwgVCBuMiA+CitzdHJ1Y3QgcGx1c193a25kCit7CisgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKFQsIHZhbHVlICA9IChuMSArIG4yKSk7CisgICAgdHlwZWRlZiBpbnRlZ3JhbF9jPCBULHZhbHVlID4gdHlwZTsKK307CisKK30KKwordGVtcGxhdGU8Pgorc3RydWN0IHBsdXNfaW1wbDwgaW50ZWdyYWxfY190YWcsaW50ZWdyYWxfY190YWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBOMSwgdHlwZW5hbWUgTjIgPiBzdHJ1Y3QgYXBwbHkKKyAgICAgICAgOiBhdXg6OnBsdXNfd2tuZDwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgYXV4OjpsYXJnZXN0X2ludDwKKyAgICAgICAgICAgICAgICAgIHR5cGVuYW1lIE4xOjp2YWx1ZV90eXBlCisgICAgICAgICAgICAgICAgLCB0eXBlbmFtZSBOMjo6dmFsdWVfdHlwZQorICAgICAgICAgICAgICAgID46OnR5cGUKKyAgICAgICAgICAgICwgTjE6OnZhbHVlCisgICAgICAgICAgICAsIE4yOjp2YWx1ZQorICAgICAgICAgICAgPjo6dHlwZQorCisgICAgeworICAgIH07Cit9OworCit9fQpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL21zdmM3MC9xdW90ZS5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXN2YzcwL3F1b3RlLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MjU5OGNiCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL21zdmM3MC9xdW90ZS5ocHAKQEAgLTAsMCArMSwxMTYgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL3F1b3RlLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgewordGVtcGxhdGU8IGJvb2wgPiBzdHJ1Y3QgcXVvdGVfaW1wbAoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBUID4gc3RydWN0IHJlc3VsdF8KKyAgICAgICAgOiBUCisgICAgeworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCBxdW90ZV9pbXBsPGZhbHNlPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBUID4gc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgVCB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBQMSA+IGNsYXNzIEYKKyAgICAsIHR5cGVuYW1lIFRhZyA9IHZvaWRfCisgICAgPgorc3RydWN0IHF1b3RlMQoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSA+IHN0cnVjdCBhcHBseQorCisgICAgICAgIDogcXVvdGVfaW1wbDwgYXV4OjpoYXNfdHlwZTwgRjxVMT4gPjo6dmFsdWUgPgorICAgICAgICAgICAgOjp0ZW1wbGF0ZSByZXN1bHRfPCBGPFUxPiA+CisKKyAgICB7CisgICAgfTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFAxLCB0eXBlbmFtZSBQMiA+IGNsYXNzIEYKKyAgICAsIHR5cGVuYW1lIFRhZyA9IHZvaWRfCisgICAgPgorc3RydWN0IHF1b3RlMgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKworICAgICAgICA6IHF1b3RlX2ltcGw8IGF1eDo6aGFzX3R5cGU8IEY8IFUxLFUyID4gPjo6dmFsdWUgPgorICAgICAgICAgICAgOjp0ZW1wbGF0ZSByZXN1bHRfPCBGPCBVMSxVMiA+ID4KKworICAgIHsKKyAgICB9OworfTsKKwordGVtcGxhdGU8CisgICAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgUDEsIHR5cGVuYW1lIFAyLCB0eXBlbmFtZSBQMyA+IGNsYXNzIEYKKyAgICAsIHR5cGVuYW1lIFRhZyA9IHZvaWRfCisgICAgPgorc3RydWN0IHF1b3RlMworeworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIsIHR5cGVuYW1lIFUzID4gc3RydWN0IGFwcGx5CisKKyAgICAgICAgOiBxdW90ZV9pbXBsPCBhdXg6Omhhc190eXBlPCBGPCBVMSxVMixVMyA+ID46OnZhbHVlID4KKyAgICAgICAgICAgIDo6dGVtcGxhdGUgcmVzdWx0XzwgRjwgVTEsVTIsVTMgPiA+CisKKyAgICB7CisgICAgfTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFAxLCB0eXBlbmFtZSBQMiwgdHlwZW5hbWUgUDMsIHR5cGVuYW1lIFA0ID4gY2xhc3MgRgorICAgICwgdHlwZW5hbWUgVGFnID0gdm9pZF8KKyAgICA+CitzdHJ1Y3QgcXVvdGU0Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyLCB0eXBlbmFtZSBVMywgdHlwZW5hbWUgVTQKKyAgICAgICAgPgorICAgIHN0cnVjdCBhcHBseQorCisgICAgICAgIDogcXVvdGVfaW1wbDwgYXV4OjpoYXNfdHlwZTwgRjwgVTEsVTIsVTMsVTQgPiA+Ojp2YWx1ZSA+CisgICAgICAgICAgICA6OnRlbXBsYXRlIHJlc3VsdF88IEY8IFUxLFUyLFUzLFU0ID4gPgorCisgICAgeworICAgIH07Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFAxLCB0eXBlbmFtZSBQMiwgdHlwZW5hbWUgUDMsIHR5cGVuYW1lIFA0CisgICAgICAgICwgdHlwZW5hbWUgUDUKKyAgICAgICAgPgorICAgICAgY2xhc3MgRgorICAgICwgdHlwZW5hbWUgVGFnID0gdm9pZF8KKyAgICA+CitzdHJ1Y3QgcXVvdGU1Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyLCB0eXBlbmFtZSBVMywgdHlwZW5hbWUgVTQKKyAgICAgICAgLCB0eXBlbmFtZSBVNQorICAgICAgICA+CisgICAgc3RydWN0IGFwcGx5CisKKyAgICAgICAgOiBxdW90ZV9pbXBsPCBhdXg6Omhhc190eXBlPCBGPCBVMSxVMixVMyxVNCxVNSA+ID46OnZhbHVlID4KKyAgICAgICAgICAgIDo6dGVtcGxhdGUgcmVzdWx0XzwgRjwgVTEsVTIsVTMsVTQsVTUgPiA+CisKKyAgICB7CisgICAgfTsKK307CisKK319CisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9tc3ZjNzAvcmV2ZXJzZV9mb2xkX2ltcGwuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL21zdmM3MC9yZXZlcnNlX2ZvbGRfaW1wbC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmM2YzE3MwotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9tc3ZjNzAvcmV2ZXJzZV9mb2xkX2ltcGwuaHBwCkBAIC0wLDAgKzEsMjk1IEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9hdXhfL3JldmVyc2VfZm9sZF9pbXBsLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeyBuYW1lc3BhY2UgYXV4IHsKKworLy8vIGZvcndhcmQgZGVjbGFyYXRpb24KKwordGVtcGxhdGU8CisgICAgICBsb25nIE4KKyAgICAsIHR5cGVuYW1lIEZpcnN0CisgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICwgdHlwZW5hbWUgQmFja3dhcmRPcAorICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgPgorc3RydWN0IHJldmVyc2VfZm9sZF9pbXBsOworCit0ZW1wbGF0ZTwgbG9uZyBOID4KK3N0cnVjdCByZXZlcnNlX2ZvbGRfY2h1bms7CisKK3RlbXBsYXRlPD4gc3RydWN0IHJldmVyc2VfZm9sZF9jaHVuazwwPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgICAgICwgdHlwZW5hbWUgTGFzdAorICAgICAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgICAgICwgdHlwZW5hbWUgQmFja3dhcmRPcAorICAgICAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgRmlyc3QgaXRlcjA7CisgICAgICAgIHR5cGVkZWYgU3RhdGUgZndkX3N0YXRlMDsKKyAgICAgICAgdHlwZWRlZiBmd2Rfc3RhdGUwIGJrd2Rfc3RhdGUwOworICAgICAgICB0eXBlZGVmIGJrd2Rfc3RhdGUwIHN0YXRlOworICAgICAgICB0eXBlZGVmIGl0ZXIwIGl0ZXJhdG9yOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCByZXZlcnNlX2ZvbGRfY2h1bms8MT4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBGaXJzdAorICAgICAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICAgICAsIHR5cGVuYW1lIEJhY2t3YXJkT3AKKyAgICAgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIEZpcnN0IGl0ZXIwOworICAgICAgICB0eXBlZGVmIFN0YXRlIGZ3ZF9zdGF0ZTA7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsIGZ3ZF9zdGF0ZTAsIHR5cGVuYW1lIGRlcmVmPGl0ZXIwPjo6dHlwZSA+Ojp0eXBlIGZ3ZF9zdGF0ZTE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIwPjo6dHlwZSBpdGVyMTsKKyAgICAgICAgCisKKyAgICAgICAgdHlwZWRlZiBmd2Rfc3RhdGUxIGJrd2Rfc3RhdGUxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgQmFja3dhcmRPcCwgYmt3ZF9zdGF0ZTEsIHR5cGVuYW1lIGRlcmVmPGl0ZXIwPjo6dHlwZSA+Ojp0eXBlIGJrd2Rfc3RhdGUwOworICAgICAgICB0eXBlZGVmIGJrd2Rfc3RhdGUwIHN0YXRlOworICAgICAgICB0eXBlZGVmIGl0ZXIxIGl0ZXJhdG9yOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCByZXZlcnNlX2ZvbGRfY2h1bms8Mj4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBGaXJzdAorICAgICAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICAgICAsIHR5cGVuYW1lIEJhY2t3YXJkT3AKKyAgICAgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIEZpcnN0IGl0ZXIwOworICAgICAgICB0eXBlZGVmIFN0YXRlIGZ3ZF9zdGF0ZTA7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsIGZ3ZF9zdGF0ZTAsIHR5cGVuYW1lIGRlcmVmPGl0ZXIwPjo6dHlwZSA+Ojp0eXBlIGZ3ZF9zdGF0ZTE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIwPjo6dHlwZSBpdGVyMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCwgZndkX3N0YXRlMSwgdHlwZW5hbWUgZGVyZWY8aXRlcjE+Ojp0eXBlID46OnR5cGUgZndkX3N0YXRlMjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjE+Ojp0eXBlIGl0ZXIyOworICAgICAgICAKKworICAgICAgICB0eXBlZGVmIGZ3ZF9zdGF0ZTIgYmt3ZF9zdGF0ZTI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLCBia3dkX3N0YXRlMiwgdHlwZW5hbWUgZGVyZWY8aXRlcjE+Ojp0eXBlID46OnR5cGUgYmt3ZF9zdGF0ZTE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLCBia3dkX3N0YXRlMSwgdHlwZW5hbWUgZGVyZWY8aXRlcjA+Ojp0eXBlID46OnR5cGUgYmt3ZF9zdGF0ZTA7CisgICAgICAgIAorCisgICAgICAgIHR5cGVkZWYgYmt3ZF9zdGF0ZTAgc3RhdGU7CisgICAgICAgIHR5cGVkZWYgaXRlcjIgaXRlcmF0b3I7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4gc3RydWN0IHJldmVyc2VfZm9sZF9jaHVuazwzPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgICAgICwgdHlwZW5hbWUgTGFzdAorICAgICAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgICAgICwgdHlwZW5hbWUgQmFja3dhcmRPcAorICAgICAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgRmlyc3QgaXRlcjA7CisgICAgICAgIHR5cGVkZWYgU3RhdGUgZndkX3N0YXRlMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCwgZndkX3N0YXRlMCwgdHlwZW5hbWUgZGVyZWY8aXRlcjA+Ojp0eXBlID46OnR5cGUgZndkX3N0YXRlMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjA+Ojp0eXBlIGl0ZXIxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLCBmd2Rfc3RhdGUxLCB0eXBlbmFtZSBkZXJlZjxpdGVyMT46OnR5cGUgPjo6dHlwZSBmd2Rfc3RhdGUyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMT46OnR5cGUgaXRlcjI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsIGZ3ZF9zdGF0ZTIsIHR5cGVuYW1lIGRlcmVmPGl0ZXIyPjo6dHlwZSA+Ojp0eXBlIGZ3ZF9zdGF0ZTM7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIyPjo6dHlwZSBpdGVyMzsKKyAgICAgICAgCisKKyAgICAgICAgdHlwZWRlZiBmd2Rfc3RhdGUzIGJrd2Rfc3RhdGUzOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgQmFja3dhcmRPcCwgYmt3ZF9zdGF0ZTMsIHR5cGVuYW1lIGRlcmVmPGl0ZXIyPjo6dHlwZSA+Ojp0eXBlIGJrd2Rfc3RhdGUyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgQmFja3dhcmRPcCwgYmt3ZF9zdGF0ZTIsIHR5cGVuYW1lIGRlcmVmPGl0ZXIxPjo6dHlwZSA+Ojp0eXBlIGJrd2Rfc3RhdGUxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgQmFja3dhcmRPcCwgYmt3ZF9zdGF0ZTEsIHR5cGVuYW1lIGRlcmVmPGl0ZXIwPjo6dHlwZSA+Ojp0eXBlIGJrd2Rfc3RhdGUwOworICAgICAgICAKKworICAgICAgICB0eXBlZGVmIGJrd2Rfc3RhdGUwIHN0YXRlOworICAgICAgICB0eXBlZGVmIGl0ZXIzIGl0ZXJhdG9yOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCByZXZlcnNlX2ZvbGRfY2h1bms8ND4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBGaXJzdAorICAgICAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICAgICAsIHR5cGVuYW1lIEJhY2t3YXJkT3AKKyAgICAgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIEZpcnN0IGl0ZXIwOworICAgICAgICB0eXBlZGVmIFN0YXRlIGZ3ZF9zdGF0ZTA7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsIGZ3ZF9zdGF0ZTAsIHR5cGVuYW1lIGRlcmVmPGl0ZXIwPjo6dHlwZSA+Ojp0eXBlIGZ3ZF9zdGF0ZTE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIwPjo6dHlwZSBpdGVyMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCwgZndkX3N0YXRlMSwgdHlwZW5hbWUgZGVyZWY8aXRlcjE+Ojp0eXBlID46OnR5cGUgZndkX3N0YXRlMjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjE+Ojp0eXBlIGl0ZXIyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLCBmd2Rfc3RhdGUyLCB0eXBlbmFtZSBkZXJlZjxpdGVyMj46OnR5cGUgPjo6dHlwZSBmd2Rfc3RhdGUzOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMj46OnR5cGUgaXRlcjM7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsIGZ3ZF9zdGF0ZTMsIHR5cGVuYW1lIGRlcmVmPGl0ZXIzPjo6dHlwZSA+Ojp0eXBlIGZ3ZF9zdGF0ZTQ7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIzPjo6dHlwZSBpdGVyNDsKKyAgICAgICAgCisKKyAgICAgICAgdHlwZWRlZiBmd2Rfc3RhdGU0IGJrd2Rfc3RhdGU0OworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgQmFja3dhcmRPcCwgYmt3ZF9zdGF0ZTQsIHR5cGVuYW1lIGRlcmVmPGl0ZXIzPjo6dHlwZSA+Ojp0eXBlIGJrd2Rfc3RhdGUzOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgQmFja3dhcmRPcCwgYmt3ZF9zdGF0ZTMsIHR5cGVuYW1lIGRlcmVmPGl0ZXIyPjo6dHlwZSA+Ojp0eXBlIGJrd2Rfc3RhdGUyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgQmFja3dhcmRPcCwgYmt3ZF9zdGF0ZTIsIHR5cGVuYW1lIGRlcmVmPGl0ZXIxPjo6dHlwZSA+Ojp0eXBlIGJrd2Rfc3RhdGUxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgQmFja3dhcmRPcCwgYmt3ZF9zdGF0ZTEsIHR5cGVuYW1lIGRlcmVmPGl0ZXIwPjo6dHlwZSA+Ojp0eXBlIGJrd2Rfc3RhdGUwOworICAgICAgICAKKworICAgICAgICB0eXBlZGVmIGJrd2Rfc3RhdGUwIHN0YXRlOworICAgICAgICB0eXBlZGVmIGl0ZXI0IGl0ZXJhdG9yOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgbG9uZyBOID4KK3N0cnVjdCByZXZlcnNlX2ZvbGRfY2h1bmsKK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBGaXJzdAorICAgICAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICAgICAsIHR5cGVuYW1lIEJhY2t3YXJkT3AKKyAgICAgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIEZpcnN0IGl0ZXIwOworICAgICAgICB0eXBlZGVmIFN0YXRlIGZ3ZF9zdGF0ZTA7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsIGZ3ZF9zdGF0ZTAsIHR5cGVuYW1lIGRlcmVmPGl0ZXIwPjo6dHlwZSA+Ojp0eXBlIGZ3ZF9zdGF0ZTE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIwPjo6dHlwZSBpdGVyMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCwgZndkX3N0YXRlMSwgdHlwZW5hbWUgZGVyZWY8aXRlcjE+Ojp0eXBlID46OnR5cGUgZndkX3N0YXRlMjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjE+Ojp0eXBlIGl0ZXIyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLCBmd2Rfc3RhdGUyLCB0eXBlbmFtZSBkZXJlZjxpdGVyMj46OnR5cGUgPjo6dHlwZSBmd2Rfc3RhdGUzOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMj46OnR5cGUgaXRlcjM7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsIGZ3ZF9zdGF0ZTMsIHR5cGVuYW1lIGRlcmVmPGl0ZXIzPjo6dHlwZSA+Ojp0eXBlIGZ3ZF9zdGF0ZTQ7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIzPjo6dHlwZSBpdGVyNDsKKyAgICAgICAgCisKKyAgICAgICAgdHlwZWRlZiByZXZlcnNlX2ZvbGRfaW1wbDwKKyAgICAgICAgICAgICAgKCAoTiAtIDQpIDwgMCA/IDAgOiBOIC0gNCApCisgICAgICAgICAgICAsIGl0ZXI0CisgICAgICAgICAgICAsIExhc3QKKyAgICAgICAgICAgICwgZndkX3N0YXRlNAorICAgICAgICAgICAgLCBCYWNrd2FyZE9wCisgICAgICAgICAgICAsIEZvcndhcmRPcAorICAgICAgICAgICAgPiBuZXN0ZWRfY2h1bms7CisKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBuZXN0ZWRfY2h1bms6OnN0YXRlIGJrd2Rfc3RhdGU0OworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgQmFja3dhcmRPcCwgYmt3ZF9zdGF0ZTQsIHR5cGVuYW1lIGRlcmVmPGl0ZXIzPjo6dHlwZSA+Ojp0eXBlIGJrd2Rfc3RhdGUzOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgQmFja3dhcmRPcCwgYmt3ZF9zdGF0ZTMsIHR5cGVuYW1lIGRlcmVmPGl0ZXIyPjo6dHlwZSA+Ojp0eXBlIGJrd2Rfc3RhdGUyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgQmFja3dhcmRPcCwgYmt3ZF9zdGF0ZTIsIHR5cGVuYW1lIGRlcmVmPGl0ZXIxPjo6dHlwZSA+Ojp0eXBlIGJrd2Rfc3RhdGUxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgQmFja3dhcmRPcCwgYmt3ZF9zdGF0ZTEsIHR5cGVuYW1lIGRlcmVmPGl0ZXIwPjo6dHlwZSA+Ojp0eXBlIGJrd2Rfc3RhdGUwOworICAgICAgICAKKworICAgICAgICB0eXBlZGVmIGJrd2Rfc3RhdGUwIHN0YXRlOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG5lc3RlZF9jaHVuazo6aXRlcmF0b3IgaXRlcmF0b3I7CisgICAgfTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBCYWNrd2FyZE9wCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+CitzdHJ1Y3QgcmV2ZXJzZV9mb2xkX3N0ZXA7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgTGFzdAorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICA+CitzdHJ1Y3QgcmV2ZXJzZV9mb2xkX251bGxfc3RlcAoreworICAgIHR5cGVkZWYgTGFzdCBpdGVyYXRvcjsKKyAgICB0eXBlZGVmIFN0YXRlIHN0YXRlOworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHJldmVyc2VfZm9sZF9jaHVuazwgLTEgPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgICAgICwgdHlwZW5hbWUgTGFzdAorICAgICAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgICAgICwgdHlwZW5hbWUgQmFja3dhcmRPcAorICAgICAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgaWZfPAorICAgICAgICAgICAgICB0eXBlbmFtZSBpc19zYW1lPCBGaXJzdCxMYXN0ID46OnR5cGUKKyAgICAgICAgICAgICwgcmV2ZXJzZV9mb2xkX251bGxfc3RlcDwgTGFzdCxTdGF0ZSA+CisgICAgICAgICAgICAsIHJldmVyc2VfZm9sZF9zdGVwPCBGaXJzdCxMYXN0LFN0YXRlLEJhY2t3YXJkT3AsRm9yd2FyZE9wID4KKyAgICAgICAgICAgID46OnR5cGUgcmVzXzsKKworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHJlc186OnN0YXRlIHN0YXRlOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHJlc186Oml0ZXJhdG9yIGl0ZXJhdG9yOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICwgdHlwZW5hbWUgQmFja3dhcmRPcAorICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgPgorc3RydWN0IHJldmVyc2VfZm9sZF9zdGVwCit7CisgICAgdHlwZWRlZiByZXZlcnNlX2ZvbGRfY2h1bms8IC0xID46OnRlbXBsYXRlIHJlc3VsdF88CisgICAgICAgICAgdHlwZW5hbWUgbXBsOjpuZXh0PEZpcnN0Pjo6dHlwZQorICAgICAgICAsIExhc3QKKyAgICAgICAgLCB0eXBlbmFtZSBhcHBseTI8Rm9yd2FyZE9wLFN0YXRlLCB0eXBlbmFtZSBkZXJlZjxGaXJzdD46OnR5cGU+Ojp0eXBlCisgICAgICAgICwgQmFja3dhcmRPcAorICAgICAgICAsIEZvcndhcmRPcAorICAgICAgICA+IG5lc3RlZF9zdGVwOworCisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8CisgICAgICAgICAgQmFja3dhcmRPcAorICAgICAgICAsIHR5cGVuYW1lIG5lc3RlZF9zdGVwOjpzdGF0ZQorICAgICAgICAsIHR5cGVuYW1lIGRlcmVmPEZpcnN0Pjo6dHlwZQorICAgICAgICA+Ojp0eXBlIHN0YXRlOworCisgICAgdHlwZWRlZiB0eXBlbmFtZSBuZXN0ZWRfc3RlcDo6aXRlcmF0b3IgaXRlcmF0b3I7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIGxvbmcgTgorICAgICwgdHlwZW5hbWUgRmlyc3QKKyAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBCYWNrd2FyZE9wCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+CitzdHJ1Y3QgcmV2ZXJzZV9mb2xkX2ltcGwKKyAgICA6IHJldmVyc2VfZm9sZF9jaHVuazxOPgorICAgICAgICA6OnRlbXBsYXRlIHJlc3VsdF88IEZpcnN0LExhc3QsU3RhdGUsQmFja3dhcmRPcCxGb3J3YXJkT3AgPgoreworfTsKKworfX19CmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXN2YzcwL3JldmVyc2VfaXRlcl9mb2xkX2ltcGwuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL21zdmM3MC9yZXZlcnNlX2l0ZXJfZm9sZF9pbXBsLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41N2NjNjg4Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL21zdmM3MC9yZXZlcnNlX2l0ZXJfZm9sZF9pbXBsLmhwcApAQCAtMCwwICsxLDI5NSBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvYXV4Xy9yZXZlcnNlX2l0ZXJfZm9sZF9pbXBsLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeyBuYW1lc3BhY2UgYXV4IHsKKworLy8vIGZvcndhcmQgZGVjbGFyYXRpb24KKwordGVtcGxhdGU8CisgICAgICBsb25nIE4KKyAgICAsIHR5cGVuYW1lIEZpcnN0CisgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICwgdHlwZW5hbWUgQmFja3dhcmRPcAorICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgPgorc3RydWN0IHJldmVyc2VfaXRlcl9mb2xkX2ltcGw7CisKK3RlbXBsYXRlPCBsb25nIE4gPgorc3RydWN0IHJldmVyc2VfaXRlcl9mb2xkX2NodW5rOworCit0ZW1wbGF0ZTw+IHN0cnVjdCByZXZlcnNlX2l0ZXJfZm9sZF9jaHVuazwwPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgICAgICwgdHlwZW5hbWUgTGFzdAorICAgICAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgICAgICwgdHlwZW5hbWUgQmFja3dhcmRPcAorICAgICAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgRmlyc3QgaXRlcjA7CisgICAgICAgIHR5cGVkZWYgU3RhdGUgZndkX3N0YXRlMDsKKyAgICAgICAgdHlwZWRlZiBmd2Rfc3RhdGUwIGJrd2Rfc3RhdGUwOworICAgICAgICB0eXBlZGVmIGJrd2Rfc3RhdGUwIHN0YXRlOworICAgICAgICB0eXBlZGVmIGl0ZXIwIGl0ZXJhdG9yOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCByZXZlcnNlX2l0ZXJfZm9sZF9jaHVuazwxPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgICAgICwgdHlwZW5hbWUgTGFzdAorICAgICAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgICAgICwgdHlwZW5hbWUgQmFja3dhcmRPcAorICAgICAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgRmlyc3QgaXRlcjA7CisgICAgICAgIHR5cGVkZWYgU3RhdGUgZndkX3N0YXRlMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCxmd2Rfc3RhdGUwLGl0ZXIwID46OnR5cGUgZndkX3N0YXRlMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjA+Ojp0eXBlIGl0ZXIxOworICAgICAgICAKKworICAgICAgICB0eXBlZGVmIGZ3ZF9zdGF0ZTEgYmt3ZF9zdGF0ZTE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLGJrd2Rfc3RhdGUxLGl0ZXIwID46OnR5cGUgYmt3ZF9zdGF0ZTA7CisgICAgICAgIHR5cGVkZWYgYmt3ZF9zdGF0ZTAgc3RhdGU7CisgICAgICAgIHR5cGVkZWYgaXRlcjEgaXRlcmF0b3I7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4gc3RydWN0IHJldmVyc2VfaXRlcl9mb2xkX2NodW5rPDI+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAgICAgLCB0eXBlbmFtZSBCYWNrd2FyZE9wCisgICAgICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiBGaXJzdCBpdGVyMDsKKyAgICAgICAgdHlwZWRlZiBTdGF0ZSBmd2Rfc3RhdGUwOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLGZ3ZF9zdGF0ZTAsaXRlcjAgPjo6dHlwZSBmd2Rfc3RhdGUxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMD46OnR5cGUgaXRlcjE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsZndkX3N0YXRlMSxpdGVyMSA+Ojp0eXBlIGZ3ZF9zdGF0ZTI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIxPjo6dHlwZSBpdGVyMjsKKyAgICAgICAgCisKKyAgICAgICAgdHlwZWRlZiBmd2Rfc3RhdGUyIGJrd2Rfc3RhdGUyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgQmFja3dhcmRPcCxia3dkX3N0YXRlMixpdGVyMSA+Ojp0eXBlIGJrd2Rfc3RhdGUxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgQmFja3dhcmRPcCxia3dkX3N0YXRlMSxpdGVyMCA+Ojp0eXBlIGJrd2Rfc3RhdGUwOworICAgICAgICAKKworICAgICAgICB0eXBlZGVmIGJrd2Rfc3RhdGUwIHN0YXRlOworICAgICAgICB0eXBlZGVmIGl0ZXIyIGl0ZXJhdG9yOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCByZXZlcnNlX2l0ZXJfZm9sZF9jaHVuazwzPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgICAgICwgdHlwZW5hbWUgTGFzdAorICAgICAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgICAgICwgdHlwZW5hbWUgQmFja3dhcmRPcAorICAgICAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgRmlyc3QgaXRlcjA7CisgICAgICAgIHR5cGVkZWYgU3RhdGUgZndkX3N0YXRlMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCxmd2Rfc3RhdGUwLGl0ZXIwID46OnR5cGUgZndkX3N0YXRlMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjA+Ojp0eXBlIGl0ZXIxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLGZ3ZF9zdGF0ZTEsaXRlcjEgPjo6dHlwZSBmd2Rfc3RhdGUyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMT46OnR5cGUgaXRlcjI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsZndkX3N0YXRlMixpdGVyMiA+Ojp0eXBlIGZ3ZF9zdGF0ZTM7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIyPjo6dHlwZSBpdGVyMzsKKyAgICAgICAgCisKKyAgICAgICAgdHlwZWRlZiBmd2Rfc3RhdGUzIGJrd2Rfc3RhdGUzOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgQmFja3dhcmRPcCxia3dkX3N0YXRlMyxpdGVyMiA+Ojp0eXBlIGJrd2Rfc3RhdGUyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgQmFja3dhcmRPcCxia3dkX3N0YXRlMixpdGVyMSA+Ojp0eXBlIGJrd2Rfc3RhdGUxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgQmFja3dhcmRPcCxia3dkX3N0YXRlMSxpdGVyMCA+Ojp0eXBlIGJrd2Rfc3RhdGUwOworICAgICAgICAKKworICAgICAgICB0eXBlZGVmIGJrd2Rfc3RhdGUwIHN0YXRlOworICAgICAgICB0eXBlZGVmIGl0ZXIzIGl0ZXJhdG9yOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCByZXZlcnNlX2l0ZXJfZm9sZF9jaHVuazw0PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgICAgICwgdHlwZW5hbWUgTGFzdAorICAgICAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgICAgICwgdHlwZW5hbWUgQmFja3dhcmRPcAorICAgICAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgRmlyc3QgaXRlcjA7CisgICAgICAgIHR5cGVkZWYgU3RhdGUgZndkX3N0YXRlMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCxmd2Rfc3RhdGUwLGl0ZXIwID46OnR5cGUgZndkX3N0YXRlMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjA+Ojp0eXBlIGl0ZXIxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLGZ3ZF9zdGF0ZTEsaXRlcjEgPjo6dHlwZSBmd2Rfc3RhdGUyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMT46OnR5cGUgaXRlcjI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsZndkX3N0YXRlMixpdGVyMiA+Ojp0eXBlIGZ3ZF9zdGF0ZTM7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIyPjo6dHlwZSBpdGVyMzsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCxmd2Rfc3RhdGUzLGl0ZXIzID46OnR5cGUgZndkX3N0YXRlNDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjM+Ojp0eXBlIGl0ZXI0OworICAgICAgICAKKworICAgICAgICB0eXBlZGVmIGZ3ZF9zdGF0ZTQgYmt3ZF9zdGF0ZTQ7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLGJrd2Rfc3RhdGU0LGl0ZXIzID46OnR5cGUgYmt3ZF9zdGF0ZTM7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLGJrd2Rfc3RhdGUzLGl0ZXIyID46OnR5cGUgYmt3ZF9zdGF0ZTI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLGJrd2Rfc3RhdGUyLGl0ZXIxID46OnR5cGUgYmt3ZF9zdGF0ZTE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLGJrd2Rfc3RhdGUxLGl0ZXIwID46OnR5cGUgYmt3ZF9zdGF0ZTA7CisgICAgICAgIAorCisgICAgICAgIHR5cGVkZWYgYmt3ZF9zdGF0ZTAgc3RhdGU7CisgICAgICAgIHR5cGVkZWYgaXRlcjQgaXRlcmF0b3I7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCBsb25nIE4gPgorc3RydWN0IHJldmVyc2VfaXRlcl9mb2xkX2NodW5rCit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAgICAgLCB0eXBlbmFtZSBCYWNrd2FyZE9wCisgICAgICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiBGaXJzdCBpdGVyMDsKKyAgICAgICAgdHlwZWRlZiBTdGF0ZSBmd2Rfc3RhdGUwOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLGZ3ZF9zdGF0ZTAsaXRlcjAgPjo6dHlwZSBmd2Rfc3RhdGUxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMD46OnR5cGUgaXRlcjE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsZndkX3N0YXRlMSxpdGVyMSA+Ojp0eXBlIGZ3ZF9zdGF0ZTI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIxPjo6dHlwZSBpdGVyMjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCxmd2Rfc3RhdGUyLGl0ZXIyID46OnR5cGUgZndkX3N0YXRlMzsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjI+Ojp0eXBlIGl0ZXIzOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLGZ3ZF9zdGF0ZTMsaXRlcjMgPjo6dHlwZSBmd2Rfc3RhdGU0OworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMz46OnR5cGUgaXRlcjQ7CisgICAgICAgIAorCisgICAgICAgIHR5cGVkZWYgcmV2ZXJzZV9pdGVyX2ZvbGRfaW1wbDwKKyAgICAgICAgICAgICAgKCAoTiAtIDQpIDwgMCA/IDAgOiBOIC0gNCApCisgICAgICAgICAgICAsIGl0ZXI0CisgICAgICAgICAgICAsIExhc3QKKyAgICAgICAgICAgICwgZndkX3N0YXRlNAorICAgICAgICAgICAgLCBCYWNrd2FyZE9wCisgICAgICAgICAgICAsIEZvcndhcmRPcAorICAgICAgICAgICAgPiBuZXN0ZWRfY2h1bms7CisKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBuZXN0ZWRfY2h1bms6OnN0YXRlIGJrd2Rfc3RhdGU0OworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgQmFja3dhcmRPcCxia3dkX3N0YXRlNCxpdGVyMyA+Ojp0eXBlIGJrd2Rfc3RhdGUzOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgQmFja3dhcmRPcCxia3dkX3N0YXRlMyxpdGVyMiA+Ojp0eXBlIGJrd2Rfc3RhdGUyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgQmFja3dhcmRPcCxia3dkX3N0YXRlMixpdGVyMSA+Ojp0eXBlIGJrd2Rfc3RhdGUxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgQmFja3dhcmRPcCxia3dkX3N0YXRlMSxpdGVyMCA+Ojp0eXBlIGJrd2Rfc3RhdGUwOworICAgICAgICAKKworICAgICAgICB0eXBlZGVmIGJrd2Rfc3RhdGUwIHN0YXRlOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG5lc3RlZF9jaHVuazo6aXRlcmF0b3IgaXRlcmF0b3I7CisgICAgfTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBCYWNrd2FyZE9wCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+CitzdHJ1Y3QgcmV2ZXJzZV9pdGVyX2ZvbGRfc3RlcDsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBMYXN0CisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgID4KK3N0cnVjdCByZXZlcnNlX2l0ZXJfZm9sZF9udWxsX3N0ZXAKK3sKKyAgICB0eXBlZGVmIExhc3QgaXRlcmF0b3I7CisgICAgdHlwZWRlZiBTdGF0ZSBzdGF0ZTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCByZXZlcnNlX2l0ZXJfZm9sZF9jaHVuazwgLTEgPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgICAgICwgdHlwZW5hbWUgTGFzdAorICAgICAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgICAgICwgdHlwZW5hbWUgQmFja3dhcmRPcAorICAgICAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgaWZfPAorICAgICAgICAgICAgICB0eXBlbmFtZSBpc19zYW1lPCBGaXJzdCxMYXN0ID46OnR5cGUKKyAgICAgICAgICAgICwgcmV2ZXJzZV9pdGVyX2ZvbGRfbnVsbF9zdGVwPCBMYXN0LFN0YXRlID4KKyAgICAgICAgICAgICwgcmV2ZXJzZV9pdGVyX2ZvbGRfc3RlcDwgRmlyc3QsTGFzdCxTdGF0ZSxCYWNrd2FyZE9wLEZvcndhcmRPcCA+CisgICAgICAgICAgICA+Ojp0eXBlIHJlc187CisKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByZXNfOjpzdGF0ZSBzdGF0ZTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByZXNfOjppdGVyYXRvciBpdGVyYXRvcjsKKyAgICB9OworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGaXJzdAorICAgICwgdHlwZW5hbWUgTGFzdAorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEJhY2t3YXJkT3AKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgID4KK3N0cnVjdCByZXZlcnNlX2l0ZXJfZm9sZF9zdGVwCit7CisgICAgdHlwZWRlZiByZXZlcnNlX2l0ZXJfZm9sZF9jaHVuazwgLTEgPjo6dGVtcGxhdGUgcmVzdWx0XzwKKyAgICAgICAgICB0eXBlbmFtZSBtcGw6Om5leHQ8Rmlyc3Q+Ojp0eXBlCisgICAgICAgICwgTGFzdAorICAgICAgICAsIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLFN0YXRlLEZpcnN0ID46OnR5cGUKKyAgICAgICAgLCBCYWNrd2FyZE9wCisgICAgICAgICwgRm9yd2FyZE9wCisgICAgICAgID4gbmVzdGVkX3N0ZXA7CisKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwKKyAgICAgICAgICBCYWNrd2FyZE9wCisgICAgICAgICwgdHlwZW5hbWUgbmVzdGVkX3N0ZXA6OnN0YXRlCisgICAgICAgICwgRmlyc3QKKyAgICAgICAgPjo6dHlwZSBzdGF0ZTsKKworICAgIHR5cGVkZWYgdHlwZW5hbWUgbmVzdGVkX3N0ZXA6Oml0ZXJhdG9yIGl0ZXJhdG9yOworfTsKKwordGVtcGxhdGU8CisgICAgICBsb25nIE4KKyAgICAsIHR5cGVuYW1lIEZpcnN0CisgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICwgdHlwZW5hbWUgQmFja3dhcmRPcAorICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgPgorc3RydWN0IHJldmVyc2VfaXRlcl9mb2xkX2ltcGwKKyAgICA6IHJldmVyc2VfaXRlcl9mb2xkX2NodW5rPE4+CisgICAgICAgIDo6dGVtcGxhdGUgcmVzdWx0XzwgRmlyc3QsTGFzdCxTdGF0ZSxCYWNrd2FyZE9wLEZvcndhcmRPcCA+Cit7Cit9OworCit9fX0KZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9tc3ZjNzAvc2V0LmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9tc3ZjNzAvc2V0LmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lOTY0ODc5Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL21zdmM3MC9zZXQuaHBwCkBAIC0wLDAgKzEsNTU2IEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9zZXQuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK25hbWVzcGFjZSBhdXggewordGVtcGxhdGU8IGludCBOID4KK3N0cnVjdCBzZXRfY2hvb3NlcjsKKworfQorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IHNldF9jaG9vc2VyPDA+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgc2V0MDwKKyAgICAgICAgICAgICAKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBzZXRfY2hvb3NlcjwxPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDE8CisgICAgICAgICAgICAgIFQwCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3Qgc2V0X2Nob29zZXI8Mj4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQyPAorICAgICAgICAgICAgICBUMCwgVDEKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBzZXRfY2hvb3NlcjwzPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDM8CisgICAgICAgICAgICAgIFQwLCBUMSwgVDIKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBzZXRfY2hvb3Nlcjw0PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDQ8CisgICAgICAgICAgICAgIFQwLCBUMSwgVDIsIFQzCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3Qgc2V0X2Nob29zZXI8NT4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQ1PAorICAgICAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBzZXRfY2hvb3Nlcjw2PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDY8CisgICAgICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBzZXRfY2hvb3Nlcjw3PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDc8CisgICAgICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3Qgc2V0X2Nob29zZXI8OD4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQ4PAorICAgICAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBzZXRfY2hvb3Nlcjw5PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDk8CisgICAgICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBzZXRfY2hvb3NlcjwxMD4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQxMDwKKyAgICAgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDkKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBzZXRfY2hvb3NlcjwxMT4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQxMTwKKyAgICAgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMAorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IHNldF9jaG9vc2VyPDEyPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDEyPAorICAgICAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBzZXRfY2hvb3NlcjwxMz4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQxMzwKKyAgICAgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBzZXRfY2hvb3NlcjwxND4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQxNDwKKyAgICAgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMworICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IHNldF9jaG9vc2VyPDE1PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDE1PAorICAgICAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBzZXRfY2hvb3NlcjwxNj4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQxNjwKKyAgICAgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0LCBUMTUKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBzZXRfY2hvb3NlcjwxNz4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQxNzwKKyAgICAgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0LCBUMTUsIFQxNgorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IHNldF9jaG9vc2VyPDE4PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDE4PAorICAgICAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQsIFQxNSwgVDE2LCBUMTcKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBzZXRfY2hvb3NlcjwxOT4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQxOTwKKyAgICAgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0LCBUMTUsIFQxNiwgVDE3LCBUMTgKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBzZXRfY2hvb3NlcjwyMD4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQyMDwKKyAgICAgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0LCBUMTUsIFQxNiwgVDE3LCBUMTgsIFQxOQorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFQgPgorc3RydWN0IGlzX3NldF9hcmcKK3sKKyAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoYm9vbCwgdmFsdWUgID0gdHJ1ZSk7Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgaXNfc2V0X2FyZzxuYT4KK3sKKyAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoYm9vbCwgdmFsdWUgID0gZmFsc2UpOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNCwgdHlwZW5hbWUgVDUKKyAgICAsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5LCB0eXBlbmFtZSBUMTAKKyAgICAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNCwgdHlwZW5hbWUgVDE1CisgICAgLCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTksIHR5cGVuYW1lIFQyMAorICAgID4KK3N0cnVjdCBzZXRfY291bnRfYXJncworeworICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlID0KKyAgICAgICAgICBpc19zZXRfYXJnPFQxPjo6dmFsdWUgKyBpc19zZXRfYXJnPFQyPjo6dmFsdWUgCisgICAgICAgICsgaXNfc2V0X2FyZzxUMz46OnZhbHVlICsgaXNfc2V0X2FyZzxUND46OnZhbHVlIAorICAgICAgICArIGlzX3NldF9hcmc8VDU+Ojp2YWx1ZSArIGlzX3NldF9hcmc8VDY+Ojp2YWx1ZSAKKyAgICAgICAgKyBpc19zZXRfYXJnPFQ3Pjo6dmFsdWUgKyBpc19zZXRfYXJnPFQ4Pjo6dmFsdWUgCisgICAgICAgICsgaXNfc2V0X2FyZzxUOT46OnZhbHVlICsgaXNfc2V0X2FyZzxUMTA+Ojp2YWx1ZSAKKyAgICAgICAgKyBpc19zZXRfYXJnPFQxMT46OnZhbHVlICsgaXNfc2V0X2FyZzxUMTI+Ojp2YWx1ZSAKKyAgICAgICAgKyBpc19zZXRfYXJnPFQxMz46OnZhbHVlICsgaXNfc2V0X2FyZzxUMTQ+Ojp2YWx1ZSAKKyAgICAgICAgKyBpc19zZXRfYXJnPFQxNT46OnZhbHVlICsgaXNfc2V0X2FyZzxUMTY+Ojp2YWx1ZSAKKyAgICAgICAgKyBpc19zZXRfYXJnPFQxNz46OnZhbHVlICsgaXNfc2V0X2FyZzxUMTg+Ojp2YWx1ZSAKKyAgICAgICAgKyBpc19zZXRfYXJnPFQxOT46OnZhbHVlICsgaXNfc2V0X2FyZzxUMjA+Ojp2YWx1ZQorICAgICAgICApOworCit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICA+CitzdHJ1Y3Qgc2V0X2ltcGwKK3sKKyAgICB0eXBlZGVmIGF1eDo6c2V0X2NvdW50X2FyZ3M8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0LCBUMTUsIFQxNiwgVDE3LCBUMTgsIFQxOQorICAgICAgICA+IGFyZ19udW1fOworCisgICAgdHlwZWRlZiB0eXBlbmFtZSBhdXg6OnNldF9jaG9vc2VyPCBhcmdfbnVtXzo6dmFsdWUgPgorICAgICAgICA6OnRlbXBsYXRlIHJlc3VsdF88IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyxUMTQsVDE1LFQxNixUMTcsVDE4LFQxOSA+Ojp0eXBlIHR5cGU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCA9IG5hLCB0eXBlbmFtZSBUMSA9IG5hLCB0eXBlbmFtZSBUMiA9IG5hLCB0eXBlbmFtZSBUMyA9IG5hCisgICAgLCB0eXBlbmFtZSBUNCA9IG5hLCB0eXBlbmFtZSBUNSA9IG5hLCB0eXBlbmFtZSBUNiA9IG5hLCB0eXBlbmFtZSBUNyA9IG5hCisgICAgLCB0eXBlbmFtZSBUOCA9IG5hLCB0eXBlbmFtZSBUOSA9IG5hLCB0eXBlbmFtZSBUMTAgPSBuYSwgdHlwZW5hbWUgVDExID0gbmEKKyAgICAsIHR5cGVuYW1lIFQxMiA9IG5hLCB0eXBlbmFtZSBUMTMgPSBuYSwgdHlwZW5hbWUgVDE0ID0gbmEKKyAgICAsIHR5cGVuYW1lIFQxNSA9IG5hLCB0eXBlbmFtZSBUMTYgPSBuYSwgdHlwZW5hbWUgVDE3ID0gbmEKKyAgICAsIHR5cGVuYW1lIFQxOCA9IG5hLCB0eXBlbmFtZSBUMTkgPSBuYQorICAgID4KK3N0cnVjdCBzZXQKKyAgICA6IGF1eDo6c2V0X2ltcGw8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0LCBUMTUsIFQxNiwgVDE3LCBUMTgsIFQxOQorICAgICAgICA+Ojp0eXBlCit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhdXg6OnNldF9pbXBsPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNCwgVDE1LCBUMTYsIFQxNywgVDE4LCBUMTkKKyAgICAgICAgPjo6dHlwZSB0eXBlOworfTsKKworfX0KKwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL21zdmM3MC9zZXRfYy5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXN2YzcwL3NldF9jLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hOWE5YjE4Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL21zdmM3MC9zZXRfYy5ocHAKQEAgLTAsMCArMSw1MzQgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL3NldF9jLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCituYW1lc3BhY2UgYXV4IHsKK3RlbXBsYXRlPCBpbnQgTiA+CitzdHJ1Y3Qgc2V0X2NfY2hvb3NlcjsKKworfQorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IHNldF9jX2Nob29zZXI8MD4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgICAgICAsIGxvbmcgQzEzLCBsb25nIEMxNCwgbG9uZyBDMTUsIGxvbmcgQzE2LCBsb25nIEMxNywgbG9uZyBDMTgsIGxvbmcgQzE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQwX2M8CisgICAgICAgICAgICAgIFQKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBzZXRfY19jaG9vc2VyPDE+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1LCBsb25nIEMxNiwgbG9uZyBDMTcsIGxvbmcgQzE4LCBsb25nIEMxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0MV9jPAorICAgICAgICAgICAgICBULCBDMAorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IHNldF9jX2Nob29zZXI8Mj4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgICAgICAsIGxvbmcgQzEzLCBsb25nIEMxNCwgbG9uZyBDMTUsIGxvbmcgQzE2LCBsb25nIEMxNywgbG9uZyBDMTgsIGxvbmcgQzE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQyX2M8CisgICAgICAgICAgICAgIFQsIEMwLCBDMQorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IHNldF9jX2Nob29zZXI8Mz4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgICAgICAsIGxvbmcgQzEzLCBsb25nIEMxNCwgbG9uZyBDMTUsIGxvbmcgQzE2LCBsb25nIEMxNywgbG9uZyBDMTgsIGxvbmcgQzE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQzX2M8CisgICAgICAgICAgICAgIFQsIEMwLCBDMSwgQzIKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBzZXRfY19jaG9vc2VyPDQ+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1LCBsb25nIEMxNiwgbG9uZyBDMTcsIGxvbmcgQzE4LCBsb25nIEMxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0NF9jPAorICAgICAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMworICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IHNldF9jX2Nob29zZXI8NT4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgICAgICAsIGxvbmcgQzEzLCBsb25nIEMxNCwgbG9uZyBDMTUsIGxvbmcgQzE2LCBsb25nIEMxNywgbG9uZyBDMTgsIGxvbmcgQzE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQ1X2M8CisgICAgICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNAorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IHNldF9jX2Nob29zZXI8Nj4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgICAgICAsIGxvbmcgQzEzLCBsb25nIEMxNCwgbG9uZyBDMTUsIGxvbmcgQzE2LCBsb25nIEMxNywgbG9uZyBDMTgsIGxvbmcgQzE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQ2X2M8CisgICAgICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBzZXRfY19jaG9vc2VyPDc+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1LCBsb25nIEMxNiwgbG9uZyBDMTcsIGxvbmcgQzE4LCBsb25nIEMxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0N19jPAorICAgICAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNgorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IHNldF9jX2Nob29zZXI8OD4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgICAgICAsIGxvbmcgQzEzLCBsb25nIEMxNCwgbG9uZyBDMTUsIGxvbmcgQzE2LCBsb25nIEMxNywgbG9uZyBDMTgsIGxvbmcgQzE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQ4X2M8CisgICAgICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNworICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IHNldF9jX2Nob29zZXI8OT4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgICAgICAsIGxvbmcgQzEzLCBsb25nIEMxNCwgbG9uZyBDMTUsIGxvbmcgQzE2LCBsb25nIEMxNywgbG9uZyBDMTgsIGxvbmcgQzE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQ5X2M8CisgICAgICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBzZXRfY19jaG9vc2VyPDEwPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNSwgbG9uZyBDMTYsIGxvbmcgQzE3LCBsb25nIEMxOCwgbG9uZyBDMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDEwX2M8CisgICAgICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3Qgc2V0X2NfY2hvb3NlcjwxMT4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgICAgICAsIGxvbmcgQzEzLCBsb25nIEMxNCwgbG9uZyBDMTUsIGxvbmcgQzE2LCBsb25nIEMxNywgbG9uZyBDMTgsIGxvbmcgQzE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQxMV9jPAorICAgICAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3Qgc2V0X2NfY2hvb3NlcjwxMj4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgICAgICAsIGxvbmcgQzEzLCBsb25nIEMxNCwgbG9uZyBDMTUsIGxvbmcgQzE2LCBsb25nIEMxNywgbG9uZyBDMTgsIGxvbmcgQzE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQxMl9jPAorICAgICAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBzZXRfY19jaG9vc2VyPDEzPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNSwgbG9uZyBDMTYsIGxvbmcgQzE3LCBsb25nIEMxOCwgbG9uZyBDMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDEzX2M8CisgICAgICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3Qgc2V0X2NfY2hvb3NlcjwxND4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgICAgICAsIGxvbmcgQzEzLCBsb25nIEMxNCwgbG9uZyBDMTUsIGxvbmcgQzE2LCBsb25nIEMxNywgbG9uZyBDMTgsIGxvbmcgQzE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQxNF9jPAorICAgICAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIEMxMiwgQzEzCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3Qgc2V0X2NfY2hvb3NlcjwxNT4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgICAgICAsIGxvbmcgQzEzLCBsb25nIEMxNCwgbG9uZyBDMTUsIGxvbmcgQzE2LCBsb25nIEMxNywgbG9uZyBDMTgsIGxvbmcgQzE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQxNV9jPAorICAgICAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIEMxMiwgQzEzLCBDMTQKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBzZXRfY19jaG9vc2VyPDE2PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNSwgbG9uZyBDMTYsIGxvbmcgQzE3LCBsb25nIEMxOCwgbG9uZyBDMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDE2X2M8CisgICAgICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMsIEMxNCwgQzE1CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3Qgc2V0X2NfY2hvb3NlcjwxNz4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgICAgICAsIGxvbmcgQzEzLCBsb25nIEMxNCwgbG9uZyBDMTUsIGxvbmcgQzE2LCBsb25nIEMxNywgbG9uZyBDMTgsIGxvbmcgQzE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQxN19jPAorICAgICAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIEMxMiwgQzEzLCBDMTQsIEMxNSwgQzE2CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3Qgc2V0X2NfY2hvb3NlcjwxOD4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgICAgICAsIGxvbmcgQzEzLCBsb25nIEMxNCwgbG9uZyBDMTUsIGxvbmcgQzE2LCBsb25nIEMxNywgbG9uZyBDMTgsIGxvbmcgQzE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQxOF9jPAorICAgICAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIEMxMiwgQzEzLCBDMTQsIEMxNSwgQzE2LCBDMTcKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBzZXRfY19jaG9vc2VyPDE5PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNSwgbG9uZyBDMTYsIGxvbmcgQzE3LCBsb25nIEMxOCwgbG9uZyBDMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDE5X2M8CisgICAgICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMsIEMxNCwgQzE1LCBDMTYsIEMxNywgQzE4CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3Qgc2V0X2NfY2hvb3NlcjwyMD4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgICAgICAsIGxvbmcgQzEzLCBsb25nIEMxNCwgbG9uZyBDMTUsIGxvbmcgQzE2LCBsb25nIEMxNywgbG9uZyBDMTgsIGxvbmcgQzE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQyMF9jPAorICAgICAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIEMxMiwgQzEzLCBDMTQsIEMxNSwgQzE2LCBDMTcsIEMxOCwgQzE5CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwgbG9uZyBDID4KK3N0cnVjdCBpc19zZXRfY19hcmcKK3sKKyAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoYm9vbCwgdmFsdWUgID0gdHJ1ZSk7Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgaXNfc2V0X2NfYXJnPExPTkdfTUFYPgoreworICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChib29sLCB2YWx1ZSAgPSBmYWxzZSk7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgKKyAgICAsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIsIGxvbmcgQzEzLCBsb25nIEMxNCwgbG9uZyBDMTUKKyAgICAsIGxvbmcgQzE2LCBsb25nIEMxNywgbG9uZyBDMTgsIGxvbmcgQzE5LCBsb25nIEMyMAorICAgID4KK3N0cnVjdCBzZXRfY19jb3VudF9hcmdzCit7CisgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgPQorICAgICAgICAgIGlzX3NldF9jX2FyZzxDMT46OnZhbHVlICsgaXNfc2V0X2NfYXJnPEMyPjo6dmFsdWUgCisgICAgICAgICsgaXNfc2V0X2NfYXJnPEMzPjo6dmFsdWUgKyBpc19zZXRfY19hcmc8QzQ+Ojp2YWx1ZSAKKyAgICAgICAgKyBpc19zZXRfY19hcmc8QzU+Ojp2YWx1ZSArIGlzX3NldF9jX2FyZzxDNj46OnZhbHVlIAorICAgICAgICArIGlzX3NldF9jX2FyZzxDNz46OnZhbHVlICsgaXNfc2V0X2NfYXJnPEM4Pjo6dmFsdWUgCisgICAgICAgICsgaXNfc2V0X2NfYXJnPEM5Pjo6dmFsdWUgKyBpc19zZXRfY19hcmc8QzEwPjo6dmFsdWUgCisgICAgICAgICsgaXNfc2V0X2NfYXJnPEMxMT46OnZhbHVlICsgaXNfc2V0X2NfYXJnPEMxMj46OnZhbHVlIAorICAgICAgICArIGlzX3NldF9jX2FyZzxDMTM+Ojp2YWx1ZSArIGlzX3NldF9jX2FyZzxDMTQ+Ojp2YWx1ZSAKKyAgICAgICAgKyBpc19zZXRfY19hcmc8QzE1Pjo6dmFsdWUgKyBpc19zZXRfY19hcmc8QzE2Pjo6dmFsdWUgCisgICAgICAgICsgaXNfc2V0X2NfYXJnPEMxNz46OnZhbHVlICsgaXNfc2V0X2NfYXJnPEMxOD46OnZhbHVlIAorICAgICAgICArIGlzX3NldF9jX2FyZzxDMTk+Ojp2YWx1ZSArIGlzX3NldF9jX2FyZzxDMjA+Ojp2YWx1ZQorICAgICAgICApOworCit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAsIGxvbmcgQzEzLCBsb25nIEMxNCwgbG9uZyBDMTUsIGxvbmcgQzE2LCBsb25nIEMxNywgbG9uZyBDMTgsIGxvbmcgQzE5CisgICAgPgorc3RydWN0IHNldF9jX2ltcGwKK3sKKyAgICB0eXBlZGVmIGF1eDo6c2V0X2NfY291bnRfYXJnczwKKyAgICAgICAgICBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIEMxMiwgQzEzLCBDMTQsIEMxNSwgQzE2LCBDMTcsIEMxOCwgQzE5CisgICAgICAgID4gYXJnX251bV87CisKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGF1eDo6c2V0X2NfY2hvb3NlcjwgYXJnX251bV86OnZhbHVlID4KKyAgICAgICAgOjp0ZW1wbGF0ZSByZXN1bHRfPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2LEM3LEM4LEM5LEMxMCxDMTEsQzEyLEMxMyxDMTQsQzE1LEMxNixDMTcsQzE4LEMxOSA+Ojp0eXBlIHR5cGU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwID0gTE9OR19NQVgsIGxvbmcgQzEgPSBMT05HX01BWCwgbG9uZyBDMiA9IExPTkdfTUFYCisgICAgLCBsb25nIEMzID0gTE9OR19NQVgsIGxvbmcgQzQgPSBMT05HX01BWCwgbG9uZyBDNSA9IExPTkdfTUFYCisgICAgLCBsb25nIEM2ID0gTE9OR19NQVgsIGxvbmcgQzcgPSBMT05HX01BWCwgbG9uZyBDOCA9IExPTkdfTUFYCisgICAgLCBsb25nIEM5ID0gTE9OR19NQVgsIGxvbmcgQzEwID0gTE9OR19NQVgsIGxvbmcgQzExID0gTE9OR19NQVgKKyAgICAsIGxvbmcgQzEyID0gTE9OR19NQVgsIGxvbmcgQzEzID0gTE9OR19NQVgsIGxvbmcgQzE0ID0gTE9OR19NQVgKKyAgICAsIGxvbmcgQzE1ID0gTE9OR19NQVgsIGxvbmcgQzE2ID0gTE9OR19NQVgsIGxvbmcgQzE3ID0gTE9OR19NQVgKKyAgICAsIGxvbmcgQzE4ID0gTE9OR19NQVgsIGxvbmcgQzE5ID0gTE9OR19NQVgKKyAgICA+CitzdHJ1Y3Qgc2V0X2MKKyAgICA6IGF1eDo6c2V0X2NfaW1wbDwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIEMxMiwgQzEzLCBDMTQsIEMxNSwgQzE2LCBDMTcsIEMxOCwgQzE5CisgICAgICAgID46OnR5cGUKK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGF1eDo6c2V0X2NfaW1wbDwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIEMxMiwgQzEzLCBDMTQsIEMxNSwgQzE2LCBDMTcsIEMxOCwgQzE5CisgICAgICAgID46OnR5cGUgdHlwZTsKK307CisKK319CisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9tc3ZjNzAvc2hpZnRfbGVmdC5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXN2YzcwL3NoaWZ0X2xlZnQuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhlN2I2MDYKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXN2YzcwL3NoaWZ0X2xlZnQuaHBwCkBAIC0wLDAgKzEsMTE0IEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8gQ29weXJpZ2h0IEphYXAgU3V0ZXIgMjAwMworLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9zaGlmdF9sZWZ0LmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFRhZzEKKyAgICAsIHR5cGVuYW1lIFRhZzIKKworICAgICwgQk9PU1RfTVBMX0FVWF9OVFRQX0RFQ0woaW50LCB0YWcxXykgID0gQk9PU1RfTVBMX0FVWF9NU1ZDX1ZBTFVFX1dLTkQoVGFnMSk6OnZhbHVlCisgICAgLCBCT09TVF9NUExfQVVYX05UVFBfREVDTChpbnQsIHRhZzJfKSAgPSBCT09TVF9NUExfQVVYX01TVkNfVkFMVUVfV0tORChUYWcyKTo6dmFsdWUKKyAgICA+CitzdHJ1Y3Qgc2hpZnRfbGVmdF9pbXBsCisgICAgOiBpZl9jPAorICAgICAgICAgICggdGFnMV8gPiB0YWcyXyApCisgICAgICAgICwgYXV4OjpjYXN0Mm5kX2ltcGw8IHNoaWZ0X2xlZnRfaW1wbDwgVGFnMSxUYWcxID4sVGFnMSwgVGFnMiA+CisgICAgICAgICwgYXV4OjpjYXN0MXN0X2ltcGw8IHNoaWZ0X2xlZnRfaW1wbDwgVGFnMixUYWcyID4sVGFnMSwgVGFnMiA+CisgICAgICAgID46OnR5cGUKK3sKK307CisKKy8vLyBmb3IgRGlnaXRhbCBNYXJzIEMrKy9jb21waWxlcnMgd2l0aCBubyBDVFBTL1RUUCBzdXBwb3J0Cit0ZW1wbGF0ZTw+IHN0cnVjdCBzaGlmdF9sZWZ0X2ltcGw8IG5hLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCBzaGlmdF9sZWZ0X2ltcGw8IG5hLGludGVncmFsX2NfdGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCBzaGlmdF9sZWZ0X2ltcGw8IGludGVncmFsX2NfdGFnLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVCA+IHN0cnVjdCBzaGlmdF9sZWZ0X3RhZworICAgIDogdGFnPCBULG5hID4KK3sKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMSkKKyAgICAsIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjIpCisgICAgPgorc3RydWN0IHNoaWZ0X2xlZnQKKyAgICA6IGF1eDo6bXN2Y19ldGlfYmFzZTwgdHlwZW5hbWUgYXBwbHlfd3JhcDI8CisgICAgICAgICAgc2hpZnRfbGVmdF9pbXBsPAorICAgICAgICAgICAgICB0eXBlbmFtZSBzaGlmdF9sZWZ0X3RhZzxOMT46OnR5cGUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgc2hpZnRfbGVmdF90YWc8TjI+Ojp0eXBlCisgICAgICAgICAgICA+CisgICAgICAgICwgTjEKKyAgICAgICAgLCBOMgorICAgICAgICA+Ojp0eXBlID46OnR5cGUKKworeworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoMiwgc2hpZnRfbGVmdCwgKE4xLCBOMikpCisKK307CisKK0JPT1NUX01QTF9BVVhfTkFfU1BFQzIoMiwgMiwgc2hpZnRfbGVmdCkKKworfX0KKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK25hbWVzcGFjZSBhdXggewordGVtcGxhdGU8IHR5cGVuYW1lIFQsIHR5cGVuYW1lIFNoaWZ0LCBUIG4sIFNoaWZ0IHMgPgorc3RydWN0IHNoaWZ0X2xlZnRfd2tuZAoreworICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChULCB2YWx1ZSAgPSAobiA8PCBzKSk7CisgICAgdHlwZWRlZiBpbnRlZ3JhbF9jPCBULHZhbHVlID4gdHlwZTsKK307CisKK30KKwordGVtcGxhdGU8Pgorc3RydWN0IHNoaWZ0X2xlZnRfaW1wbDwgaW50ZWdyYWxfY190YWcsaW50ZWdyYWxfY190YWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBOLCB0eXBlbmFtZSBTID4gc3RydWN0IGFwcGx5CisgICAgICAgIDogYXV4OjpzaGlmdF9sZWZ0X3drbmQ8CisgICAgICAgICAgICAgIHR5cGVuYW1lIE46OnZhbHVlX3R5cGUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgUzo6dmFsdWVfdHlwZQorICAgICAgICAgICAgLCBOOjp2YWx1ZQorICAgICAgICAgICAgLCBTOjp2YWx1ZQorICAgICAgICAgICAgPjo6dHlwZQorCisgICAgeworICAgIH07Cit9OworCit9fQpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL21zdmM3MC9zaGlmdF9yaWdodC5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXN2YzcwL3NoaWZ0X3JpZ2h0LmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45OTFhYmM5Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL21zdmM3MC9zaGlmdF9yaWdodC5ocHAKQEAgLTAsMCArMSwxMTQgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLyBDb3B5cmlnaHQgSmFhcCBTdXRlciAyMDAzCisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL3NoaWZ0X3JpZ2h0LmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFRhZzEKKyAgICAsIHR5cGVuYW1lIFRhZzIKKworICAgICwgQk9PU1RfTVBMX0FVWF9OVFRQX0RFQ0woaW50LCB0YWcxXykgID0gQk9PU1RfTVBMX0FVWF9NU1ZDX1ZBTFVFX1dLTkQoVGFnMSk6OnZhbHVlCisgICAgLCBCT09TVF9NUExfQVVYX05UVFBfREVDTChpbnQsIHRhZzJfKSAgPSBCT09TVF9NUExfQVVYX01TVkNfVkFMVUVfV0tORChUYWcyKTo6dmFsdWUKKyAgICA+CitzdHJ1Y3Qgc2hpZnRfcmlnaHRfaW1wbAorICAgIDogaWZfYzwKKyAgICAgICAgICAoIHRhZzFfID4gdGFnMl8gKQorICAgICAgICAsIGF1eDo6Y2FzdDJuZF9pbXBsPCBzaGlmdF9yaWdodF9pbXBsPCBUYWcxLFRhZzEgPixUYWcxLCBUYWcyID4KKyAgICAgICAgLCBhdXg6OmNhc3Qxc3RfaW1wbDwgc2hpZnRfcmlnaHRfaW1wbDwgVGFnMixUYWcyID4sVGFnMSwgVGFnMiA+CisgICAgICAgID46OnR5cGUKK3sKK307CisKKy8vLyBmb3IgRGlnaXRhbCBNYXJzIEMrKy9jb21waWxlcnMgd2l0aCBubyBDVFBTL1RUUCBzdXBwb3J0Cit0ZW1wbGF0ZTw+IHN0cnVjdCBzaGlmdF9yaWdodF9pbXBsPCBuYSxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3Qgc2hpZnRfcmlnaHRfaW1wbDwgbmEsaW50ZWdyYWxfY190YWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4gc3RydWN0IHNoaWZ0X3JpZ2h0X2ltcGw8IGludGVncmFsX2NfdGFnLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVCA+IHN0cnVjdCBzaGlmdF9yaWdodF90YWcKKyAgICA6IHRhZzwgVCxuYSA+Cit7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjEpCisgICAgLCB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4yKQorICAgID4KK3N0cnVjdCBzaGlmdF9yaWdodAorICAgIDogYXV4Ojptc3ZjX2V0aV9iYXNlPCB0eXBlbmFtZSBhcHBseV93cmFwMjwKKyAgICAgICAgICBzaGlmdF9yaWdodF9pbXBsPAorICAgICAgICAgICAgICB0eXBlbmFtZSBzaGlmdF9yaWdodF90YWc8TjE+Ojp0eXBlCisgICAgICAgICAgICAsIHR5cGVuYW1lIHNoaWZ0X3JpZ2h0X3RhZzxOMj46OnR5cGUKKyAgICAgICAgICAgID4KKyAgICAgICAgLCBOMQorICAgICAgICAsIE4yCisgICAgICAgID46OnR5cGUgPjo6dHlwZQorCit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgyLCBzaGlmdF9yaWdodCwgKE4xLCBOMikpCisKK307CisKK0JPT1NUX01QTF9BVVhfTkFfU1BFQzIoMiwgMiwgc2hpZnRfcmlnaHQpCisKK319CisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCituYW1lc3BhY2UgYXV4IHsKK3RlbXBsYXRlPCB0eXBlbmFtZSBULCB0eXBlbmFtZSBTaGlmdCwgVCBuLCBTaGlmdCBzID4KK3N0cnVjdCBzaGlmdF9yaWdodF93a25kCit7CisgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKFQsIHZhbHVlICA9IChuID4+IHMpKTsKKyAgICB0eXBlZGVmIGludGVncmFsX2M8IFQsdmFsdWUgPiB0eXBlOworfTsKKworfQorCit0ZW1wbGF0ZTw+CitzdHJ1Y3Qgc2hpZnRfcmlnaHRfaW1wbDwgaW50ZWdyYWxfY190YWcsaW50ZWdyYWxfY190YWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBOLCB0eXBlbmFtZSBTID4gc3RydWN0IGFwcGx5CisgICAgICAgIDogYXV4OjpzaGlmdF9yaWdodF93a25kPAorICAgICAgICAgICAgICB0eXBlbmFtZSBOOjp2YWx1ZV90eXBlCisgICAgICAgICAgICAsIHR5cGVuYW1lIFM6OnZhbHVlX3R5cGUKKyAgICAgICAgICAgICwgTjo6dmFsdWUKKyAgICAgICAgICAgICwgUzo6dmFsdWUKKyAgICAgICAgICAgID46OnR5cGUKKworICAgIHsKKyAgICB9OworfTsKKworfX0KZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9tc3ZjNzAvdGVtcGxhdGVfYXJpdHkuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL21zdmM3MC90ZW1wbGF0ZV9hcml0eS5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDMxZGJhNAotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9tc3ZjNzAvdGVtcGxhdGVfYXJpdHkuaHBwCkBAIC0wLDAgKzEsNDYgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMS0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL2F1eF8vdGVtcGxhdGVfYXJpdHkuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7IG5hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwgYm9vbCA+CitzdHJ1Y3QgdGVtcGxhdGVfYXJpdHlfaW1wbAoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBGID4gc3RydWN0IHJlc3VsdF8KKyAgICAgICAgOiBtcGw6OmludF88IC0xID4KKyAgICB7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCB0ZW1wbGF0ZV9hcml0eV9pbXBsPHRydWU+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIEYgPiBzdHJ1Y3QgcmVzdWx0XworICAgICAgICA6IEY6OmFyaXR5CisgICAgeworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgRiA+CitzdHJ1Y3QgdGVtcGxhdGVfYXJpdHkKKyAgICA6IHRlbXBsYXRlX2FyaXR5X2ltcGw8IDo6bmRuYm9vc3Q6Om1wbDo6YXV4OjpoYXNfcmViaW5kPEY+Ojp2YWx1ZSA+CisgICAgICAgIDo6dGVtcGxhdGUgcmVzdWx0XzxGPgoreworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHRlbXBsYXRlX2FyaXR5PGludD4KKyAgICA6IG1wbDo6aW50XzwgLTEgPgoreworfTsKKworfX19CisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9tc3ZjNzAvdGltZXMuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL21zdmM3MC90aW1lcy5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGJlMGU5YwotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9tc3ZjNzAvdGltZXMuaHBwCkBAIC0wLDAgKzEsMTUwIEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC90aW1lcy5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUYWcxCisgICAgLCB0eXBlbmFtZSBUYWcyCisKKyAgICAsIEJPT1NUX01QTF9BVVhfTlRUUF9ERUNMKGludCwgdGFnMV8pICA9IEJPT1NUX01QTF9BVVhfTVNWQ19WQUxVRV9XS05EKFRhZzEpOjp2YWx1ZQorICAgICwgQk9PU1RfTVBMX0FVWF9OVFRQX0RFQ0woaW50LCB0YWcyXykgID0gQk9PU1RfTVBMX0FVWF9NU1ZDX1ZBTFVFX1dLTkQoVGFnMik6OnZhbHVlCisgICAgPgorc3RydWN0IHRpbWVzX2ltcGwKKyAgICA6IGlmX2M8CisgICAgICAgICAgKCB0YWcxXyA+IHRhZzJfICkKKyAgICAgICAgLCBhdXg6OmNhc3QybmRfaW1wbDwgdGltZXNfaW1wbDwgVGFnMSxUYWcxID4sVGFnMSwgVGFnMiA+CisgICAgICAgICwgYXV4OjpjYXN0MXN0X2ltcGw8IHRpbWVzX2ltcGw8IFRhZzIsVGFnMiA+LFRhZzEsIFRhZzIgPgorICAgICAgICA+Ojp0eXBlCit7Cit9OworCisvLy8gZm9yIERpZ2l0YWwgTWFycyBDKysvY29tcGlsZXJzIHdpdGggbm8gQ1RQUy9UVFAgc3VwcG9ydAordGVtcGxhdGU8PiBzdHJ1Y3QgdGltZXNfaW1wbDwgbmEsbmEgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4gc3RydWN0IHRpbWVzX2ltcGw8IG5hLGludGVncmFsX2NfdGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCB0aW1lc19pbXBsPCBpbnRlZ3JhbF9jX3RhZyxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFQgPiBzdHJ1Y3QgdGltZXNfdGFnCisgICAgOiB0YWc8IFQsbmEgPgoreworfTsKKworLy8vIGZvcndhcmQgZGVjbGFyYXRpb24KKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4xKQorICAgICwgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMikKKyAgICA+CitzdHJ1Y3QgdGltZXMyOworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjEpCisgICAgLCB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4yKQorICAgICwgdHlwZW5hbWUgTjMgPSBuYSwgdHlwZW5hbWUgTjQgPSBuYSwgdHlwZW5hbWUgTjUgPSBuYQorICAgID4KK3N0cnVjdCB0aW1lcworCisgICAgOiBhdXg6Om1zdmNfZXRpX2Jhc2U8IHR5cGVuYW1lIGlmXzwKKworICAgICAgICAgIGlzX25hPE4zPgorICAgICAgICAsIHRpbWVzMjwgTjEsTjIgPgorICAgICAgICAsIHRpbWVzPAorICAgICAgICAgICAgICB0aW1lczI8IE4xLE4yID4KKyAgICAgICAgICAgICwgTjMsIE40LCBONQorICAgICAgICAgICAgPgorICAgICAgICA+Ojp0eXBlCisKKyAgICA+CisKK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKAorICAgICAgICAgIDUKKyAgICAgICAgLCB0aW1lcworICAgICAgICAsICggTjEsIE4yLCBOMywgTjQsIE41ICkKKyAgICAgICAgKQorfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBOMQorICAgICwgdHlwZW5hbWUgTjIKKyAgICA+CitzdHJ1Y3QgdGltZXMyCisgICAgOiBhdXg6Om1zdmNfZXRpX2Jhc2U8IHR5cGVuYW1lIGFwcGx5X3dyYXAyPAorICAgICAgICAgIHRpbWVzX2ltcGw8CisgICAgICAgICAgICAgIHR5cGVuYW1lIHRpbWVzX3RhZzxOMT46OnR5cGUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgdGltZXNfdGFnPE4yPjo6dHlwZQorICAgICAgICAgICAgPgorICAgICAgICAsIE4xCisgICAgICAgICwgTjIKKyAgICAgICAgPjo6dHlwZSA+Ojp0eXBlCisKK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKDIsIHRpbWVzMiwgKE4xLCBOMikpCisKK307CisKK0JPT1NUX01QTF9BVVhfTkFfU1BFQzIoMiwgNSwgdGltZXMpCisKK319CisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCituYW1lc3BhY2UgYXV4IHsKK3RlbXBsYXRlPCB0eXBlbmFtZSBULCBUIG4xLCBUIG4yID4KK3N0cnVjdCB0aW1lc193a25kCit7CisgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKFQsIHZhbHVlICA9IChuMSAqIG4yKSk7CisgICAgdHlwZWRlZiBpbnRlZ3JhbF9jPCBULHZhbHVlID4gdHlwZTsKK307CisKK30KKwordGVtcGxhdGU8Pgorc3RydWN0IHRpbWVzX2ltcGw8IGludGVncmFsX2NfdGFnLGludGVncmFsX2NfdGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgTjEsIHR5cGVuYW1lIE4yID4gc3RydWN0IGFwcGx5CisgICAgICAgIDogYXV4Ojp0aW1lc193a25kPAorICAgICAgICAgICAgICB0eXBlbmFtZSBhdXg6Omxhcmdlc3RfaW50PAorICAgICAgICAgICAgICAgICAgdHlwZW5hbWUgTjE6OnZhbHVlX3R5cGUKKyAgICAgICAgICAgICAgICAsIHR5cGVuYW1lIE4yOjp2YWx1ZV90eXBlCisgICAgICAgICAgICAgICAgPjo6dHlwZQorICAgICAgICAgICAgLCBOMTo6dmFsdWUKKyAgICAgICAgICAgICwgTjI6OnZhbHVlCisgICAgICAgICAgICA+Ojp0eXBlCisKKyAgICB7CisgICAgfTsKK307CisKK319CmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXN2YzcwL3VucGFja19hcmdzLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9tc3ZjNzAvdW5wYWNrX2FyZ3MuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJlZTc0NzIKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXN2YzcwL3VucGFja19hcmdzLmhwcApAQCAtMCwwICsxLDEwOSBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAyLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvdW5wYWNrX2FyZ3MuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwgQk9PU1RfTVBMX0FVWF9OVFRQX0RFQ0woaW50LCBzaXplKSA+IHN0cnVjdCB1bnBhY2tfYXJnc19pbXBsCit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIEYsIHR5cGVuYW1lIEFyZ3MgPiBzdHJ1Y3QgYXBwbHk7Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCB1bnBhY2tfYXJnc19pbXBsPDA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIEYsIHR5cGVuYW1lIEFyZ3MgPiBzdHJ1Y3QgYXBwbHkKKyAgICAgICAgOiBhcHBseTA8CisgICAgICAgICAgICAgIEYKKyAgICAgICAgICAgID4KKyAgICB7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4gc3RydWN0IHVucGFja19hcmdzX2ltcGw8MT4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgRiwgdHlwZW5hbWUgQXJncyA+IHN0cnVjdCBhcHBseQorICAgICAgICA6IGFwcGx5MTwKKyAgICAgICAgICAgICAgRgorICAgICAgICAgICAgLCB0eXBlbmFtZSBhdF9jPCBBcmdzLDAgPjo6dHlwZQorICAgICAgICAgICAgPgorICAgIHsKKyAgICB9OworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgdW5wYWNrX2FyZ3NfaW1wbDwyPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBGLCB0eXBlbmFtZSBBcmdzID4gc3RydWN0IGFwcGx5CisgICAgICAgIDogYXBwbHkyPAorICAgICAgICAgICAgICBGCisgICAgICAgICAgICAsIHR5cGVuYW1lIGF0X2M8IEFyZ3MsMCA+Ojp0eXBlLCB0eXBlbmFtZSBhdF9jPCBBcmdzLDEgPjo6dHlwZQorICAgICAgICAgICAgPgorICAgIHsKKyAgICB9OworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgdW5wYWNrX2FyZ3NfaW1wbDwzPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBGLCB0eXBlbmFtZSBBcmdzID4gc3RydWN0IGFwcGx5CisgICAgICAgIDogYXBwbHkzPAorICAgICAgICAgICAgICBGCisgICAgICAgICAgICAsIHR5cGVuYW1lIGF0X2M8IEFyZ3MsMCA+Ojp0eXBlLCB0eXBlbmFtZSBhdF9jPCBBcmdzLDEgPjo6dHlwZQorICAgICAgICAgICAgLCB0eXBlbmFtZSBhdF9jPCBBcmdzLDIgPjo6dHlwZQorICAgICAgICAgICAgPgorICAgIHsKKyAgICB9OworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgdW5wYWNrX2FyZ3NfaW1wbDw0PgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBGLCB0eXBlbmFtZSBBcmdzID4gc3RydWN0IGFwcGx5CisgICAgICAgIDogYXBwbHk0PAorICAgICAgICAgICAgICBGCisgICAgICAgICAgICAsIHR5cGVuYW1lIGF0X2M8IEFyZ3MsMCA+Ojp0eXBlLCB0eXBlbmFtZSBhdF9jPCBBcmdzLDEgPjo6dHlwZQorICAgICAgICAgICAgLCB0eXBlbmFtZSBhdF9jPCBBcmdzLDIgPjo6dHlwZSwgdHlwZW5hbWUgYXRfYzwgQXJncywzID46OnR5cGUKKyAgICAgICAgICAgID4KKyAgICB7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4gc3RydWN0IHVucGFja19hcmdzX2ltcGw8NT4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgRiwgdHlwZW5hbWUgQXJncyA+IHN0cnVjdCBhcHBseQorICAgICAgICA6IGFwcGx5NTwKKyAgICAgICAgICAgICAgRgorICAgICAgICAgICAgLCB0eXBlbmFtZSBhdF9jPCBBcmdzLDAgPjo6dHlwZSwgdHlwZW5hbWUgYXRfYzwgQXJncywxID46OnR5cGUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgYXRfYzwgQXJncywyID46OnR5cGUsIHR5cGVuYW1lIGF0X2M8IEFyZ3MsMyA+Ojp0eXBlCisgICAgICAgICAgICAsIHR5cGVuYW1lIGF0X2M8IEFyZ3MsNCA+Ojp0eXBlCisgICAgICAgICAgICA+CisgICAgeworICAgIH07Cit9OworCit9CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRgorICAgID4KK3N0cnVjdCB1bnBhY2tfYXJncworeworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBBcmdzID4gc3RydWN0IGFwcGx5CisKKyAgICAgICAgOiBhdXg6OnVucGFja19hcmdzX2ltcGw8IHNpemU8QXJncz46OnZhbHVlID4KKyAgICAgICAgICAgIDo6dGVtcGxhdGUgYXBwbHk8IEYsQXJncyA+CisKKyAgICB7CisgICAgfTsKK307CisKK0JPT1NUX01QTF9BVVhfUEFTU19USFJPVUdIX0xBTUJEQV9TUEVDKDEsIHVucGFja19hcmdzKQorCit9fQorCmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXN2YzcwL3ZlY3Rvci5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXN2YzcwL3ZlY3Rvci5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmRlZTkyMwotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9tc3ZjNzAvdmVjdG9yLmhwcApAQCAtMCwwICsxLDU1NiBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvdmVjdG9yLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCituYW1lc3BhY2UgYXV4IHsKK3RlbXBsYXRlPCBpbnQgTiA+CitzdHJ1Y3QgdmVjdG9yX2Nob29zZXI7CisKK30KKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCB2ZWN0b3JfY2hvb3NlcjwwPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjA8CisgICAgICAgICAgICAgCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgdmVjdG9yX2Nob29zZXI8MT4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxPAorICAgICAgICAgICAgICBUMAorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IHZlY3Rvcl9jaG9vc2VyPDI+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMjwKKyAgICAgICAgICAgICAgVDAsIFQxCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgdmVjdG9yX2Nob29zZXI8Mz4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IzPAorICAgICAgICAgICAgICBUMCwgVDEsIFQyCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgdmVjdG9yX2Nob29zZXI8ND4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3I0PAorICAgICAgICAgICAgICBUMCwgVDEsIFQyLCBUMworICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IHZlY3Rvcl9jaG9vc2VyPDU+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yNTwKKyAgICAgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgdmVjdG9yX2Nob29zZXI8Nj4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3I2PAorICAgICAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgdmVjdG9yX2Nob29zZXI8Nz4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3I3PAorICAgICAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNgorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IHZlY3Rvcl9jaG9vc2VyPDg+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yODwKKyAgICAgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgdmVjdG9yX2Nob29zZXI8OT4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3I5PAorICAgICAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgdmVjdG9yX2Nob29zZXI8MTA+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTA8CisgICAgICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgdmVjdG9yX2Nob29zZXI8MTE+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTE8CisgICAgICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCB2ZWN0b3JfY2hvb3NlcjwxMj4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxMjwKKyAgICAgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgdmVjdG9yX2Nob29zZXI8MTM+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTM8CisgICAgICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgdmVjdG9yX2Nob29zZXI8MTQ+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTQ8CisgICAgICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCB2ZWN0b3JfY2hvb3NlcjwxNT4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxNTwKKyAgICAgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgdmVjdG9yX2Nob29zZXI8MTY+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTY8CisgICAgICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNCwgVDE1CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgdmVjdG9yX2Nob29zZXI8MTc+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTc8CisgICAgICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNCwgVDE1LCBUMTYKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCB2ZWN0b3JfY2hvb3NlcjwxOD4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxODwKKyAgICAgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0LCBUMTUsIFQxNiwgVDE3CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgdmVjdG9yX2Nob29zZXI8MTk+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTk8CisgICAgICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNCwgVDE1LCBUMTYsIFQxNywgVDE4CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgdmVjdG9yX2Nob29zZXI8MjA+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMjA8CisgICAgICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNCwgVDE1LCBUMTYsIFQxNywgVDE4LCBUMTkKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUID4KK3N0cnVjdCBpc192ZWN0b3JfYXJnCit7CisgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGJvb2wsIHZhbHVlICA9IHRydWUpOworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGlzX3ZlY3Rvcl9hcmc8bmE+Cit7CisgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGJvb2wsIHZhbHVlICA9IGZhbHNlKTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQsIHR5cGVuYW1lIFQ1CisgICAgLCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOSwgdHlwZW5hbWUgVDEwCisgICAgLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQsIHR5cGVuYW1lIFQxNQorICAgICwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5LCB0eXBlbmFtZSBUMjAKKyAgICA+CitzdHJ1Y3QgdmVjdG9yX2NvdW50X2FyZ3MKK3sKKyAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSA9CisgICAgICAgICAgaXNfdmVjdG9yX2FyZzxUMT46OnZhbHVlICsgaXNfdmVjdG9yX2FyZzxUMj46OnZhbHVlIAorICAgICAgICArIGlzX3ZlY3Rvcl9hcmc8VDM+Ojp2YWx1ZSArIGlzX3ZlY3Rvcl9hcmc8VDQ+Ojp2YWx1ZSAKKyAgICAgICAgKyBpc192ZWN0b3JfYXJnPFQ1Pjo6dmFsdWUgKyBpc192ZWN0b3JfYXJnPFQ2Pjo6dmFsdWUgCisgICAgICAgICsgaXNfdmVjdG9yX2FyZzxUNz46OnZhbHVlICsgaXNfdmVjdG9yX2FyZzxUOD46OnZhbHVlIAorICAgICAgICArIGlzX3ZlY3Rvcl9hcmc8VDk+Ojp2YWx1ZSArIGlzX3ZlY3Rvcl9hcmc8VDEwPjo6dmFsdWUgCisgICAgICAgICsgaXNfdmVjdG9yX2FyZzxUMTE+Ojp2YWx1ZSArIGlzX3ZlY3Rvcl9hcmc8VDEyPjo6dmFsdWUgCisgICAgICAgICsgaXNfdmVjdG9yX2FyZzxUMTM+Ojp2YWx1ZSArIGlzX3ZlY3Rvcl9hcmc8VDE0Pjo6dmFsdWUgCisgICAgICAgICsgaXNfdmVjdG9yX2FyZzxUMTU+Ojp2YWx1ZSArIGlzX3ZlY3Rvcl9hcmc8VDE2Pjo6dmFsdWUgCisgICAgICAgICsgaXNfdmVjdG9yX2FyZzxUMTc+Ojp2YWx1ZSArIGlzX3ZlY3Rvcl9hcmc8VDE4Pjo6dmFsdWUgCisgICAgICAgICsgaXNfdmVjdG9yX2FyZzxUMTk+Ojp2YWx1ZSArIGlzX3ZlY3Rvcl9hcmc8VDIwPjo6dmFsdWUKKyAgICAgICAgKTsKKworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgPgorc3RydWN0IHZlY3Rvcl9pbXBsCit7CisgICAgdHlwZWRlZiBhdXg6OnZlY3Rvcl9jb3VudF9hcmdzPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNCwgVDE1LCBUMTYsIFQxNywgVDE4LCBUMTkKKyAgICAgICAgPiBhcmdfbnVtXzsKKworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXV4Ojp2ZWN0b3JfY2hvb3NlcjwgYXJnX251bV86OnZhbHVlID4KKyAgICAgICAgOjp0ZW1wbGF0ZSByZXN1bHRfPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMsVDE0LFQxNSxUMTYsVDE3LFQxOCxUMTkgPjo6dHlwZSB0eXBlOworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAgPSBuYSwgdHlwZW5hbWUgVDEgPSBuYSwgdHlwZW5hbWUgVDIgPSBuYSwgdHlwZW5hbWUgVDMgPSBuYQorICAgICwgdHlwZW5hbWUgVDQgPSBuYSwgdHlwZW5hbWUgVDUgPSBuYSwgdHlwZW5hbWUgVDYgPSBuYSwgdHlwZW5hbWUgVDcgPSBuYQorICAgICwgdHlwZW5hbWUgVDggPSBuYSwgdHlwZW5hbWUgVDkgPSBuYSwgdHlwZW5hbWUgVDEwID0gbmEsIHR5cGVuYW1lIFQxMSA9IG5hCisgICAgLCB0eXBlbmFtZSBUMTIgPSBuYSwgdHlwZW5hbWUgVDEzID0gbmEsIHR5cGVuYW1lIFQxNCA9IG5hCisgICAgLCB0eXBlbmFtZSBUMTUgPSBuYSwgdHlwZW5hbWUgVDE2ID0gbmEsIHR5cGVuYW1lIFQxNyA9IG5hCisgICAgLCB0eXBlbmFtZSBUMTggPSBuYSwgdHlwZW5hbWUgVDE5ID0gbmEKKyAgICA+CitzdHJ1Y3QgdmVjdG9yCisgICAgOiBhdXg6OnZlY3Rvcl9pbXBsPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNCwgVDE1LCBUMTYsIFQxNywgVDE4LCBUMTkKKyAgICAgICAgPjo6dHlwZQoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXV4Ojp2ZWN0b3JfaW1wbDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQsIFQxNSwgVDE2LCBUMTcsIFQxOCwgVDE5CisgICAgICAgID46OnR5cGUgdHlwZTsKK307CisKK319CisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9tc3ZjNzAvdmVjdG9yX2MuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL21zdmM3MC92ZWN0b3JfYy5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2U2NDViOQotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9tc3ZjNzAvdmVjdG9yX2MuaHBwCkBAIC0wLDAgKzEsNTM0IEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC92ZWN0b3JfYy5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKworbmFtZXNwYWNlIGF1eCB7Cit0ZW1wbGF0ZTwgaW50IE4gPgorc3RydWN0IHZlY3Rvcl9jX2Nob29zZXI7CisKK30KKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCB2ZWN0b3JfY19jaG9vc2VyPDA+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1LCBsb25nIEMxNiwgbG9uZyBDMTcsIGxvbmcgQzE4LCBsb25nIEMxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMF9jPAorICAgICAgICAgICAgICBUCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgdmVjdG9yX2NfY2hvb3NlcjwxPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNSwgbG9uZyBDMTYsIGxvbmcgQzE3LCBsb25nIEMxOCwgbG9uZyBDMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjFfYzwKKyAgICAgICAgICAgICAgVCwgVChDMCkKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCB2ZWN0b3JfY19jaG9vc2VyPDI+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1LCBsb25nIEMxNiwgbG9uZyBDMTcsIGxvbmcgQzE4LCBsb25nIEMxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMl9jPAorICAgICAgICAgICAgICBULCBUKEMwKSwgVChDMSkKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCB2ZWN0b3JfY19jaG9vc2VyPDM+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1LCBsb25nIEMxNiwgbG9uZyBDMTcsIGxvbmcgQzE4LCBsb25nIEMxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yM19jPAorICAgICAgICAgICAgICBULCBUKEMwKSwgVChDMSksIFQoQzIpCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgdmVjdG9yX2NfY2hvb3Nlcjw0PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNSwgbG9uZyBDMTYsIGxvbmcgQzE3LCBsb25nIEMxOCwgbG9uZyBDMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjRfYzwKKyAgICAgICAgICAgICAgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMykKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCB2ZWN0b3JfY19jaG9vc2VyPDU+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1LCBsb25nIEMxNiwgbG9uZyBDMTcsIGxvbmcgQzE4LCBsb25nIEMxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yNV9jPAorICAgICAgICAgICAgICBULCBUKEMwKSwgVChDMSksIFQoQzIpLCBUKEMzKSwgVChDNCkKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCB2ZWN0b3JfY19jaG9vc2VyPDY+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1LCBsb25nIEMxNiwgbG9uZyBDMTcsIGxvbmcgQzE4LCBsb25nIEMxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yNl9jPAorICAgICAgICAgICAgICBULCBUKEMwKSwgVChDMSksIFQoQzIpLCBUKEMzKSwgVChDNCksIFQoQzUpCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgdmVjdG9yX2NfY2hvb3Nlcjw3PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNSwgbG9uZyBDMTYsIGxvbmcgQzE3LCBsb25nIEMxOCwgbG9uZyBDMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjdfYzwKKyAgICAgICAgICAgICAgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMyksIFQoQzQpLCBUKEM1KSwgVChDNikKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCB2ZWN0b3JfY19jaG9vc2VyPDg+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1LCBsb25nIEMxNiwgbG9uZyBDMTcsIGxvbmcgQzE4LCBsb25nIEMxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yOF9jPAorICAgICAgICAgICAgICBULCBUKEMwKSwgVChDMSksIFQoQzIpLCBUKEMzKSwgVChDNCksIFQoQzUpLCBUKEM2KSwgVChDNykKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCB2ZWN0b3JfY19jaG9vc2VyPDk+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1LCBsb25nIEMxNiwgbG9uZyBDMTcsIGxvbmcgQzE4LCBsb25nIEMxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yOV9jPAorICAgICAgICAgICAgICBULCBUKEMwKSwgVChDMSksIFQoQzIpLCBUKEMzKSwgVChDNCksIFQoQzUpLCBUKEM2KSwgVChDNyksIFQoQzgpCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgdmVjdG9yX2NfY2hvb3NlcjwxMD4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgICAgICAsIGxvbmcgQzEzLCBsb25nIEMxNCwgbG9uZyBDMTUsIGxvbmcgQzE2LCBsb25nIEMxNywgbG9uZyBDMTgsIGxvbmcgQzE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxMF9jPAorICAgICAgICAgICAgICBULCBUKEMwKSwgVChDMSksIFQoQzIpLCBUKEMzKSwgVChDNCksIFQoQzUpLCBUKEM2KSwgVChDNyksIFQoQzgpLCBUKEM5KQorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IHZlY3Rvcl9jX2Nob29zZXI8MTE+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1LCBsb25nIEMxNiwgbG9uZyBDMTcsIGxvbmcgQzE4LCBsb25nIEMxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTFfYzwKKyAgICAgICAgICAgICAgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMyksIFQoQzQpLCBUKEM1KSwgVChDNiksIFQoQzcpLCBUKEM4KSwgVChDOSksIFQoQzEwKQorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IHZlY3Rvcl9jX2Nob29zZXI8MTI+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1LCBsb25nIEMxNiwgbG9uZyBDMTcsIGxvbmcgQzE4LCBsb25nIEMxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTJfYzwKKyAgICAgICAgICAgICAgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMyksIFQoQzQpLCBUKEM1KSwgVChDNiksIFQoQzcpLCBUKEM4KSwgVChDOSksIFQoQzEwKSwgVChDMTEpCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgdmVjdG9yX2NfY2hvb3NlcjwxMz4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgICAgICAsIGxvbmcgQzEzLCBsb25nIEMxNCwgbG9uZyBDMTUsIGxvbmcgQzE2LCBsb25nIEMxNywgbG9uZyBDMTgsIGxvbmcgQzE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxM19jPAorICAgICAgICAgICAgICBULCBUKEMwKSwgVChDMSksIFQoQzIpLCBUKEMzKSwgVChDNCksIFQoQzUpLCBUKEM2KSwgVChDNyksIFQoQzgpLCBUKEM5KSwgVChDMTApLCBUKEMxMSksIFQoQzEyKQorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IHZlY3Rvcl9jX2Nob29zZXI8MTQ+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1LCBsb25nIEMxNiwgbG9uZyBDMTcsIGxvbmcgQzE4LCBsb25nIEMxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTRfYzwKKyAgICAgICAgICAgICAgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMyksIFQoQzQpLCBUKEM1KSwgVChDNiksIFQoQzcpLCBUKEM4KSwgVChDOSksIFQoQzEwKSwgVChDMTEpLCBUKEMxMiksIFQoQzEzKQorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IHZlY3Rvcl9jX2Nob29zZXI8MTU+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1LCBsb25nIEMxNiwgbG9uZyBDMTcsIGxvbmcgQzE4LCBsb25nIEMxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTVfYzwKKyAgICAgICAgICAgICAgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMyksIFQoQzQpLCBUKEM1KSwgVChDNiksIFQoQzcpLCBUKEM4KSwgVChDOSksIFQoQzEwKSwgVChDMTEpLCBUKEMxMiksIFQoQzEzKSwgVChDMTQpCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgdmVjdG9yX2NfY2hvb3NlcjwxNj4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgICAgICAsIGxvbmcgQzEzLCBsb25nIEMxNCwgbG9uZyBDMTUsIGxvbmcgQzE2LCBsb25nIEMxNywgbG9uZyBDMTgsIGxvbmcgQzE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxNl9jPAorICAgICAgICAgICAgICBULCBUKEMwKSwgVChDMSksIFQoQzIpLCBUKEMzKSwgVChDNCksIFQoQzUpLCBUKEM2KSwgVChDNyksIFQoQzgpLCBUKEM5KSwgVChDMTApLCBUKEMxMSksIFQoQzEyKSwgVChDMTMpLCBUKEMxNCksIFQoQzE1KQorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IHZlY3Rvcl9jX2Nob29zZXI8MTc+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1LCBsb25nIEMxNiwgbG9uZyBDMTcsIGxvbmcgQzE4LCBsb25nIEMxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTdfYzwKKyAgICAgICAgICAgICAgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMyksIFQoQzQpLCBUKEM1KSwgVChDNiksIFQoQzcpLCBUKEM4KSwgVChDOSksIFQoQzEwKSwgVChDMTEpLCBUKEMxMiksIFQoQzEzKSwgVChDMTQpLCBUKEMxNSksIFQoQzE2KQorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IHZlY3Rvcl9jX2Nob29zZXI8MTg+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1LCBsb25nIEMxNiwgbG9uZyBDMTcsIGxvbmcgQzE4LCBsb25nIEMxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMThfYzwKKyAgICAgICAgICAgICAgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMyksIFQoQzQpLCBUKEM1KSwgVChDNiksIFQoQzcpLCBUKEM4KSwgVChDOSksIFQoQzEwKSwgVChDMTEpLCBUKEMxMiksIFQoQzEzKSwgVChDMTQpLCBUKEMxNSksIFQoQzE2KSwgVChDMTcpCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgdmVjdG9yX2NfY2hvb3NlcjwxOT4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgICAgICAsIGxvbmcgQzEzLCBsb25nIEMxNCwgbG9uZyBDMTUsIGxvbmcgQzE2LCBsb25nIEMxNywgbG9uZyBDMTgsIGxvbmcgQzE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxOV9jPAorICAgICAgICAgICAgICBULCBUKEMwKSwgVChDMSksIFQoQzIpLCBUKEMzKSwgVChDNCksIFQoQzUpLCBUKEM2KSwgVChDNyksIFQoQzgpLCBUKEM5KSwgVChDMTApLCBUKEMxMSksIFQoQzEyKSwgVChDMTMpLCBUKEMxNCksIFQoQzE1KSwgVChDMTYpLCBUKEMxNyksIFQoQzE4KQorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IHZlY3Rvcl9jX2Nob29zZXI8MjA+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1LCBsb25nIEMxNiwgbG9uZyBDMTcsIGxvbmcgQzE4LCBsb25nIEMxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMjBfYzwKKyAgICAgICAgICAgICAgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMyksIFQoQzQpLCBUKEM1KSwgVChDNiksIFQoQzcpLCBUKEM4KSwgVChDOSksIFQoQzEwKSwgVChDMTEpLCBUKEMxMiksIFQoQzEzKSwgVChDMTQpLCBUKEMxNSksIFQoQzE2KSwgVChDMTcpLCBUKEMxOCksIFQoQzE5KQorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8IGxvbmcgQyA+CitzdHJ1Y3QgaXNfdmVjdG9yX2NfYXJnCit7CisgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGJvb2wsIHZhbHVlICA9IHRydWUpOworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGlzX3ZlY3Rvcl9jX2FyZzxMT05HX01BWD4KK3sKKyAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoYm9vbCwgdmFsdWUgID0gZmFsc2UpOworfTsKKwordGVtcGxhdGU8CisgICAgICBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1LCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4CisgICAgLCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1CisgICAgLCBsb25nIEMxNiwgbG9uZyBDMTcsIGxvbmcgQzE4LCBsb25nIEMxOSwgbG9uZyBDMjAKKyAgICA+CitzdHJ1Y3QgdmVjdG9yX2NfY291bnRfYXJncworeworICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlID0KKyAgICAgICAgICBpc192ZWN0b3JfY19hcmc8QzE+Ojp2YWx1ZSArIGlzX3ZlY3Rvcl9jX2FyZzxDMj46OnZhbHVlIAorICAgICAgICArIGlzX3ZlY3Rvcl9jX2FyZzxDMz46OnZhbHVlICsgaXNfdmVjdG9yX2NfYXJnPEM0Pjo6dmFsdWUgCisgICAgICAgICsgaXNfdmVjdG9yX2NfYXJnPEM1Pjo6dmFsdWUgKyBpc192ZWN0b3JfY19hcmc8QzY+Ojp2YWx1ZSAKKyAgICAgICAgKyBpc192ZWN0b3JfY19hcmc8Qzc+Ojp2YWx1ZSArIGlzX3ZlY3Rvcl9jX2FyZzxDOD46OnZhbHVlIAorICAgICAgICArIGlzX3ZlY3Rvcl9jX2FyZzxDOT46OnZhbHVlICsgaXNfdmVjdG9yX2NfYXJnPEMxMD46OnZhbHVlIAorICAgICAgICArIGlzX3ZlY3Rvcl9jX2FyZzxDMTE+Ojp2YWx1ZSArIGlzX3ZlY3Rvcl9jX2FyZzxDMTI+Ojp2YWx1ZSAKKyAgICAgICAgKyBpc192ZWN0b3JfY19hcmc8QzEzPjo6dmFsdWUgKyBpc192ZWN0b3JfY19hcmc8QzE0Pjo6dmFsdWUgCisgICAgICAgICsgaXNfdmVjdG9yX2NfYXJnPEMxNT46OnZhbHVlICsgaXNfdmVjdG9yX2NfYXJnPEMxNj46OnZhbHVlIAorICAgICAgICArIGlzX3ZlY3Rvcl9jX2FyZzxDMTc+Ojp2YWx1ZSArIGlzX3ZlY3Rvcl9jX2FyZzxDMTg+Ojp2YWx1ZSAKKyAgICAgICAgKyBpc192ZWN0b3JfY19hcmc8QzE5Pjo6dmFsdWUgKyBpc192ZWN0b3JfY19hcmc8QzIwPjo6dmFsdWUKKyAgICAgICAgKTsKKworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1LCBsb25nIEMxNiwgbG9uZyBDMTcsIGxvbmcgQzE4LCBsb25nIEMxOQorICAgID4KK3N0cnVjdCB2ZWN0b3JfY19pbXBsCit7CisgICAgdHlwZWRlZiBhdXg6OnZlY3Rvcl9jX2NvdW50X2FyZ3M8CisgICAgICAgICAgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBDMTIsIEMxMywgQzE0LCBDMTUsIEMxNiwgQzE3LCBDMTgsIEMxOQorICAgICAgICA+IGFyZ19udW1fOworCisgICAgdHlwZWRlZiB0eXBlbmFtZSBhdXg6OnZlY3Rvcl9jX2Nob29zZXI8IGFyZ19udW1fOjp2YWx1ZSA+CisgICAgICAgIDo6dGVtcGxhdGUgcmVzdWx0XzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyxDOCxDOSxDMTAsQzExLEMxMixDMTMsQzE0LEMxNSxDMTYsQzE3LEMxOCxDMTkgPjo6dHlwZSB0eXBlOworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCA9IExPTkdfTUFYLCBsb25nIEMxID0gTE9OR19NQVgsIGxvbmcgQzIgPSBMT05HX01BWAorICAgICwgbG9uZyBDMyA9IExPTkdfTUFYLCBsb25nIEM0ID0gTE9OR19NQVgsIGxvbmcgQzUgPSBMT05HX01BWAorICAgICwgbG9uZyBDNiA9IExPTkdfTUFYLCBsb25nIEM3ID0gTE9OR19NQVgsIGxvbmcgQzggPSBMT05HX01BWAorICAgICwgbG9uZyBDOSA9IExPTkdfTUFYLCBsb25nIEMxMCA9IExPTkdfTUFYLCBsb25nIEMxMSA9IExPTkdfTUFYCisgICAgLCBsb25nIEMxMiA9IExPTkdfTUFYLCBsb25nIEMxMyA9IExPTkdfTUFYLCBsb25nIEMxNCA9IExPTkdfTUFYCisgICAgLCBsb25nIEMxNSA9IExPTkdfTUFYLCBsb25nIEMxNiA9IExPTkdfTUFYLCBsb25nIEMxNyA9IExPTkdfTUFYCisgICAgLCBsb25nIEMxOCA9IExPTkdfTUFYLCBsb25nIEMxOSA9IExPTkdfTUFYCisgICAgPgorc3RydWN0IHZlY3Rvcl9jCisgICAgOiBhdXg6OnZlY3Rvcl9jX2ltcGw8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBDMTIsIEMxMywgQzE0LCBDMTUsIEMxNiwgQzE3LCBDMTgsIEMxOQorICAgICAgICA+Ojp0eXBlCit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhdXg6OnZlY3Rvcl9jX2ltcGw8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBDMTIsIEMxMywgQzE0LCBDMTUsIEMxNiwgQzE3LCBDMTgsIEMxOQorICAgICAgICA+Ojp0eXBlIHR5cGU7Cit9OworCit9fQorCmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXdjdy9hZHZhbmNlX2JhY2t3YXJkLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9td2N3L2FkdmFuY2VfYmFja3dhcmQuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBlMGM4MjgKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXdjdy9hZHZhbmNlX2JhY2t3YXJkLmhwcApAQCAtMCwwICsxLDk3IEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9hdXhfL2FkdmFuY2VfYmFja3dhcmQuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7IG5hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwgbG9uZyBOID4gc3RydWN0IGFkdmFuY2VfYmFja3dhcmQ7Cit0ZW1wbGF0ZTw+CitzdHJ1Y3QgYWR2YW5jZV9iYWNrd2FyZDwwPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBJdGVyYXRvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBJdGVyYXRvciBpdGVyMDsKKyAgICAgICAgdHlwZWRlZiBpdGVyMCB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgYWR2YW5jZV9iYWNrd2FyZDwxPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBJdGVyYXRvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBJdGVyYXRvciBpdGVyMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBwcmlvcjxpdGVyMD46OnR5cGUgaXRlcjE7CisgICAgICAgIHR5cGVkZWYgaXRlcjEgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGFkdmFuY2VfYmFja3dhcmQ8Mj4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgSXRlcmF0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgSXRlcmF0b3IgaXRlcjA7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcHJpb3I8aXRlcjA+Ojp0eXBlIGl0ZXIxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHByaW9yPGl0ZXIxPjo6dHlwZSBpdGVyMjsKKyAgICAgICAgdHlwZWRlZiBpdGVyMiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgYWR2YW5jZV9iYWNrd2FyZDwzPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBJdGVyYXRvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBJdGVyYXRvciBpdGVyMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBwcmlvcjxpdGVyMD46OnR5cGUgaXRlcjE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcHJpb3I8aXRlcjE+Ojp0eXBlIGl0ZXIyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHByaW9yPGl0ZXIyPjo6dHlwZSBpdGVyMzsKKyAgICAgICAgdHlwZWRlZiBpdGVyMyB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgYWR2YW5jZV9iYWNrd2FyZDw0PgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBJdGVyYXRvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBJdGVyYXRvciBpdGVyMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBwcmlvcjxpdGVyMD46OnR5cGUgaXRlcjE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcHJpb3I8aXRlcjE+Ojp0eXBlIGl0ZXIyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHByaW9yPGl0ZXIyPjo6dHlwZSBpdGVyMzsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBwcmlvcjxpdGVyMz46OnR5cGUgaXRlcjQ7CisgICAgICAgIHR5cGVkZWYgaXRlcjQgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IGxvbmcgTiA+CitzdHJ1Y3QgYWR2YW5jZV9iYWNrd2FyZAoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBJdGVyYXRvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseV93cmFwMTwKKyAgICAgICAgICAgICAgYWR2YW5jZV9iYWNrd2FyZDw0PgorICAgICAgICAgICAgLCBJdGVyYXRvcgorICAgICAgICAgICAgPjo6dHlwZSBjaHVua19yZXN1bHRfOworCisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHlfd3JhcDE8CisgICAgICAgICAgICAgIGFkdmFuY2VfYmFja3dhcmQ8KAorICAgICAgICAgICAgICAgIChOIC0gNCkgPCAwCisgICAgICAgICAgICAgICAgICAgID8gMAorICAgICAgICAgICAgICAgICAgICA6IE4gLSA0CisgICAgICAgICAgICAgICAgICAgICk+CisgICAgICAgICAgICAsIGNodW5rX3Jlc3VsdF8KKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKyAgICB9OworfTsKKworfX19CisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9td2N3L2FkdmFuY2VfZm9yd2FyZC5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXdjdy9hZHZhbmNlX2ZvcndhcmQuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIzYTVhZmQKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXdjdy9hZHZhbmNlX2ZvcndhcmQuaHBwCkBAIC0wLDAgKzEsOTcgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL2F1eF8vYWR2YW5jZV9mb3J3YXJkLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeyBuYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8IGxvbmcgTiA+IHN0cnVjdCBhZHZhbmNlX2ZvcndhcmQ7Cit0ZW1wbGF0ZTw+CitzdHJ1Y3QgYWR2YW5jZV9mb3J3YXJkPDA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIEl0ZXJhdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIEl0ZXJhdG9yIGl0ZXIwOworICAgICAgICB0eXBlZGVmIGl0ZXIwIHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBhZHZhbmNlX2ZvcndhcmQ8MT4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgSXRlcmF0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgSXRlcmF0b3IgaXRlcjA7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbmV4dDxpdGVyMD46OnR5cGUgaXRlcjE7CisgICAgICAgIHR5cGVkZWYgaXRlcjEgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGFkdmFuY2VfZm9yd2FyZDwyPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBJdGVyYXRvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBJdGVyYXRvciBpdGVyMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBuZXh0PGl0ZXIwPjo6dHlwZSBpdGVyMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBuZXh0PGl0ZXIxPjo6dHlwZSBpdGVyMjsKKyAgICAgICAgdHlwZWRlZiBpdGVyMiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgYWR2YW5jZV9mb3J3YXJkPDM+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIEl0ZXJhdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIEl0ZXJhdG9yIGl0ZXIwOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG5leHQ8aXRlcjA+Ojp0eXBlIGl0ZXIxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG5leHQ8aXRlcjE+Ojp0eXBlIGl0ZXIyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG5leHQ8aXRlcjI+Ojp0eXBlIGl0ZXIzOworICAgICAgICB0eXBlZGVmIGl0ZXIzIHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBhZHZhbmNlX2ZvcndhcmQ8ND4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgSXRlcmF0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgSXRlcmF0b3IgaXRlcjA7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbmV4dDxpdGVyMD46OnR5cGUgaXRlcjE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbmV4dDxpdGVyMT46OnR5cGUgaXRlcjI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbmV4dDxpdGVyMj46OnR5cGUgaXRlcjM7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbmV4dDxpdGVyMz46OnR5cGUgaXRlcjQ7CisgICAgICAgIHR5cGVkZWYgaXRlcjQgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IGxvbmcgTiA+CitzdHJ1Y3QgYWR2YW5jZV9mb3J3YXJkCit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIEl0ZXJhdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5X3dyYXAxPAorICAgICAgICAgICAgICBhZHZhbmNlX2ZvcndhcmQ8ND4KKyAgICAgICAgICAgICwgSXRlcmF0b3IKKyAgICAgICAgICAgID46OnR5cGUgY2h1bmtfcmVzdWx0XzsKKworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5X3dyYXAxPAorICAgICAgICAgICAgICBhZHZhbmNlX2ZvcndhcmQ8KAorICAgICAgICAgICAgICAgIChOIC0gNCkgPCAwCisgICAgICAgICAgICAgICAgICAgID8gMAorICAgICAgICAgICAgICAgICAgICA6IE4gLSA0CisgICAgICAgICAgICAgICAgICAgICk+CisgICAgICAgICAgICAsIGNodW5rX3Jlc3VsdF8KKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKyAgICB9OworfTsKKworfX19CisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9td2N3L2FuZC5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXdjdy9hbmQuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI0Yjg4ZDgKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXdjdy9hbmQuaHBwCkBAIC0wLDAgKzEsNjkgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL2FuZC5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPCBib29sIENfLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNCA+CitzdHJ1Y3QgYW5kX2ltcGwKKyAgICA6IGZhbHNlXworeworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0ID4KK3N0cnVjdCBhbmRfaW1wbDwgdHJ1ZSxUMSxUMixUMyxUNCA+CisgICAgOiBhbmRfaW1wbDwKKyAgICAgICAgICBCT09TVF9NUExfQVVYX05FU1RFRF9UWVBFX1dLTkQoVDEpOjp2YWx1ZQorICAgICAgICAsIFQyLCBUMywgVDQKKyAgICAgICAgLCB0cnVlXworICAgICAgICA+Cit7Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgYW5kX2ltcGw8CisgICAgICAgICAgdHJ1ZQorICAgICAgICAsIHRydWVfLCB0cnVlXywgdHJ1ZV8sIHRydWVfCisgICAgICAgID4KKyAgICA6IHRydWVfCit7Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKFQxKQorICAgICwgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShUMikKKyAgICAsIHR5cGVuYW1lIFQzID0gdHJ1ZV8sIHR5cGVuYW1lIFQ0ID0gdHJ1ZV8sIHR5cGVuYW1lIFQ1ID0gdHJ1ZV8KKyAgICA+CitzdHJ1Y3QgYW5kXworCisgICAgOiBhdXg6OmFuZF9pbXBsPAorICAgICAgICAgIEJPT1NUX01QTF9BVVhfTkVTVEVEX1RZUEVfV0tORChUMSk6OnZhbHVlCisgICAgICAgICwgVDIsIFQzLCBUNCwgVDUKKyAgICAgICAgPgorCit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgKKyAgICAgICAgICA1CisgICAgICAgICwgYW5kXworICAgICAgICAsICggVDEsIFQyLCBUMywgVDQsIFQ1KQorICAgICAgICApCit9OworCitCT09TVF9NUExfQVVYX05BX1NQRUMyKAorICAgICAgMgorICAgICwgNQorICAgICwgYW5kXworICAgICkKKworfX0KZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9td2N3L2FwcGx5LmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9td2N3L2FwcGx5LmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNGIxY2QyCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL213Y3cvYXBwbHkuaHBwCkBAIC0wLDAgKzEsMTY5IEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9hcHBseS5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGCisgICAgPgorc3RydWN0IGFwcGx5MAorCisgICAgOiBhcHBseV93cmFwMDwKKyAgICAgICAgICB0eXBlbmFtZSBsYW1iZGE8Rj46OnR5cGUKKyAgICAgICAKKyAgICAgICAgPgoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoCisgICAgICAgICAgMQorICAgICAgICAsIGFwcGx5MAorICAgICAgICAsIChGICkKKyAgICAgICAgKQorfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGCisgICAgPgorc3RydWN0IGFwcGx5PCBGLG5hLG5hLG5hLG5hLG5hID4KKyAgICA6IGFwcGx5MDxGPgoreworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMQorICAgID4KK3N0cnVjdCBhcHBseTEKKworICAgIDogYXBwbHlfd3JhcDE8CisgICAgICAgICAgdHlwZW5hbWUgbGFtYmRhPEY+Ojp0eXBlCisgICAgICAgICwgVDEKKyAgICAgICAgPgoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoCisgICAgICAgICAgMgorICAgICAgICAsIGFwcGx5MQorICAgICAgICAsIChGLCBUMSkKKyAgICAgICAgKQorfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMQorICAgID4KK3N0cnVjdCBhcHBseTwgRixUMSxuYSxuYSxuYSxuYSA+CisgICAgOiBhcHBseTE8IEYsVDEgPgoreworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIKKyAgICA+CitzdHJ1Y3QgYXBwbHkyCisKKyAgICA6IGFwcGx5X3dyYXAyPAorICAgICAgICAgIHR5cGVuYW1lIGxhbWJkYTxGPjo6dHlwZQorICAgICAgICAsIFQxLCBUMgorICAgICAgICA+Cit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgKKyAgICAgICAgICAzCisgICAgICAgICwgYXBwbHkyCisgICAgICAgICwgKEYsIFQxLCBUMikKKyAgICAgICAgKQorfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIKKyAgICA+CitzdHJ1Y3QgYXBwbHk8IEYsVDEsVDIsbmEsbmEsbmEgPgorICAgIDogYXBwbHkyPCBGLFQxLFQyID4KK3sKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMworICAgID4KK3N0cnVjdCBhcHBseTMKKworICAgIDogYXBwbHlfd3JhcDM8CisgICAgICAgICAgdHlwZW5hbWUgbGFtYmRhPEY+Ojp0eXBlCisgICAgICAgICwgVDEsIFQyLCBUMworICAgICAgICA+Cit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgKKyAgICAgICAgICA0CisgICAgICAgICwgYXBwbHkzCisgICAgICAgICwgKEYsIFQxLCBUMiwgVDMpCisgICAgICAgICkKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMworICAgID4KK3N0cnVjdCBhcHBseTwgRixUMSxUMixUMyxuYSxuYSA+CisgICAgOiBhcHBseTM8IEYsVDEsVDIsVDMgPgoreworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgID4KK3N0cnVjdCBhcHBseTQKKworICAgIDogYXBwbHlfd3JhcDQ8CisgICAgICAgICAgdHlwZW5hbWUgbGFtYmRhPEY+Ojp0eXBlCisgICAgICAgICwgVDEsIFQyLCBUMywgVDQKKyAgICAgICAgPgoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoCisgICAgICAgICAgNQorICAgICAgICAsIGFwcGx5NAorICAgICAgICAsIChGLCBUMSwgVDIsIFQzLCBUNCkKKyAgICAgICAgKQorfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgID4KK3N0cnVjdCBhcHBseTwgRixUMSxUMixUMyxUNCxuYSA+CisgICAgOiBhcHBseTQ8IEYsVDEsVDIsVDMsVDQgPgoreworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUKKyAgICA+CitzdHJ1Y3QgYXBwbHk1CisKKyAgICA6IGFwcGx5X3dyYXA1PAorICAgICAgICAgIHR5cGVuYW1lIGxhbWJkYTxGPjo6dHlwZQorICAgICAgICAsIFQxLCBUMiwgVDMsIFQ0LCBUNQorICAgICAgICA+Cit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgKKyAgICAgICAgICA2CisgICAgICAgICwgYXBwbHk1CisgICAgICAgICwgKEYsIFQxLCBUMiwgVDMsIFQ0LCBUNSkKKyAgICAgICAgKQorfTsKKworLy8vIHByaW1hcnkgdGVtcGxhdGUgKG5vdCBhIHNwZWNpYWxpemF0aW9uISkKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUKKyAgICA+CitzdHJ1Y3QgYXBwbHkKKyAgICA6IGFwcGx5NTwgRixUMSxUMixUMyxUNCxUNSA+Cit7Cit9OworCit9fQorCmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXdjdy9hcHBseV9md2QuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL213Y3cvYXBwbHlfZndkLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iY2NjOTRlCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL213Y3cvYXBwbHlfZndkLmhwcApAQCAtMCwwICsxLDUyIEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9hcHBseV9md2QuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEgPSBuYSwgdHlwZW5hbWUgVDIgPSBuYSwgdHlwZW5hbWUgVDMgPSBuYQorICAgICwgdHlwZW5hbWUgVDQgPSBuYSwgdHlwZW5hbWUgVDUgPSBuYQorICAgID4KK3N0cnVjdCBhcHBseTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGCisgICAgPgorc3RydWN0IGFwcGx5MDsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMQorICAgID4KK3N0cnVjdCBhcHBseTE7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyCisgICAgPgorc3RydWN0IGFwcGx5MjsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzCisgICAgPgorc3RydWN0IGFwcGx5MzsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgID4KK3N0cnVjdCBhcHBseTQ7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1CisgICAgPgorc3RydWN0IGFwcGx5NTsKKworfX0KKwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL213Y3cvYXBwbHlfd3JhcC5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXdjdy9hcHBseV93cmFwLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40ZDAzOTA3Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL213Y3cvYXBwbHlfd3JhcC5ocHAKQEAgLTAsMCArMSw0NTYgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL2FwcGx5X3dyYXAuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgaW50IE4sIHR5cGVuYW1lIEYKKyAgICA+CitzdHJ1Y3QgYXBwbHlfd3JhcF9pbXBsMDsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGCisgICAgPgorc3RydWN0IGFwcGx5X3dyYXBfaW1wbDA8CisgICAgICAgICAgMAorICAgICAgICAsIEYKKyAgICAgICAKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgRjo6dGVtcGxhdGUgYXBwbHk8CisgICAgICAgICAKKy8vLyBzaW5jZSB0aGUgZGVmYXVsdHMgYXJlICJsb3N0Iiwgd2UgaGF2ZSB0byBwYXNzICpzb21ldGhpbmcqIGV2ZW4gZm9yIG51bGxhcnkKKy8vLyBtZXRhZnVuY3Rpb24gY2xhc3NlcworICAgICAgICBuYQorICAgICAgICA+IHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYKKyAgICA+CitzdHJ1Y3QgYXBwbHlfd3JhcF9pbXBsMDwKKyAgICAgICAgICAxCisgICAgICAgICwgRgorICAgICAgIAorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBGOjp0ZW1wbGF0ZSBhcHBseTwKKyAgICAgICAgIAorICAgICAgICBuYQorICAgICAgICA+IHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYKKyAgICA+CitzdHJ1Y3QgYXBwbHlfd3JhcF9pbXBsMDwKKyAgICAgICAgICAyCisgICAgICAgICwgRgorICAgICAgIAorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBGOjp0ZW1wbGF0ZSBhcHBseTwKKyAgICAgICAgIAorICAgICAgICBuYSwgbmEKKworICAgICAgICA+IHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYKKyAgICA+CitzdHJ1Y3QgYXBwbHlfd3JhcF9pbXBsMDwKKyAgICAgICAgICAzCisgICAgICAgICwgRgorICAgICAgIAorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBGOjp0ZW1wbGF0ZSBhcHBseTwKKyAgICAgICAgIAorICAgICAgICBuYSwgbmEsIG5hCisKKyAgICAgICAgPiB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGCisgICAgPgorc3RydWN0IGFwcGx5X3dyYXBfaW1wbDA8CisgICAgICAgICAgNAorICAgICAgICAsIEYKKyAgICAgICAKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgRjo6dGVtcGxhdGUgYXBwbHk8CisgICAgICAgICAKKyAgICAgICAgbmEsIG5hLCBuYSwgbmEKKworICAgICAgICA+IHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYKKyAgICA+CitzdHJ1Y3QgYXBwbHlfd3JhcF9pbXBsMDwKKyAgICAgICAgICA1CisgICAgICAgICwgRgorICAgICAgIAorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBGOjp0ZW1wbGF0ZSBhcHBseTwKKyAgICAgICAgIAorICAgICAgICBuYSwgbmEsIG5hLCBuYSwgbmEKKworICAgICAgICA+IHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYKKyAgICA+CitzdHJ1Y3QgYXBwbHlfd3JhcDAKKyAgICA6IGFwcGx5X3dyYXBfaW1wbDA8CisgICAgICAgICAgOjpuZG5ib29zdDo6bXBsOjphdXg6OmFyaXR5PCBGLDAgPjo6dmFsdWUKKyAgICAgICAgLCBGCisgICAgICAgCisgICAgICAgID46OnR5cGUKK3sKK307CisKK3RlbXBsYXRlPAorICAgICAgaW50IE4sIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxCisgICAgPgorc3RydWN0IGFwcGx5X3dyYXBfaW1wbDE7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEKKyAgICA+CitzdHJ1Y3QgYXBwbHlfd3JhcF9pbXBsMTwKKyAgICAgICAgICAxCisgICAgICAgICwgRgorICAgICAgICAsIFQxCisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIEY6OnRlbXBsYXRlIGFwcGx5PAorICAgICAgICAgIFQxCisgICAgICAgID4gdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEKKyAgICA+CitzdHJ1Y3QgYXBwbHlfd3JhcF9pbXBsMTwKKyAgICAgICAgICAyCisgICAgICAgICwgRgorICAgICAgICAsIFQxCisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIEY6OnRlbXBsYXRlIGFwcGx5PAorICAgICAgICAgIFQxCisgICAgICAgICwgbmEKKworICAgICAgICA+IHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxCisgICAgPgorc3RydWN0IGFwcGx5X3dyYXBfaW1wbDE8CisgICAgICAgICAgMworICAgICAgICAsIEYKKyAgICAgICAgLCBUMQorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBGOjp0ZW1wbGF0ZSBhcHBseTwKKyAgICAgICAgICBUMQorICAgICAgICAsIG5hLCBuYQorCisgICAgICAgID4gdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEKKyAgICA+CitzdHJ1Y3QgYXBwbHlfd3JhcF9pbXBsMTwKKyAgICAgICAgICA0CisgICAgICAgICwgRgorICAgICAgICAsIFQxCisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIEY6OnRlbXBsYXRlIGFwcGx5PAorICAgICAgICAgIFQxCisgICAgICAgICwgbmEsIG5hLCBuYQorCisgICAgICAgID4gdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEKKyAgICA+CitzdHJ1Y3QgYXBwbHlfd3JhcF9pbXBsMTwKKyAgICAgICAgICA1CisgICAgICAgICwgRgorICAgICAgICAsIFQxCisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIEY6OnRlbXBsYXRlIGFwcGx5PAorICAgICAgICAgIFQxCisgICAgICAgICwgbmEsIG5hLCBuYSwgbmEKKworICAgICAgICA+IHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxCisgICAgPgorc3RydWN0IGFwcGx5X3dyYXAxCisgICAgOiBhcHBseV93cmFwX2ltcGwxPAorICAgICAgICAgIDo6bmRuYm9vc3Q6Om1wbDo6YXV4Ojphcml0eTwgRiwxID46OnZhbHVlCisgICAgICAgICwgRgorICAgICAgICAsIFQxCisgICAgICAgID46OnR5cGUKK3sKK307CisKK3RlbXBsYXRlPAorICAgICAgaW50IE4sIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMgorICAgID4KK3N0cnVjdCBhcHBseV93cmFwX2ltcGwyOworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMgorICAgID4KK3N0cnVjdCBhcHBseV93cmFwX2ltcGwyPAorICAgICAgICAgIDIKKyAgICAgICAgLCBGCisgICAgICAgICwgVDEsIFQyCisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIEY6OnRlbXBsYXRlIGFwcGx5PAorICAgICAgICAgIFQxLCBUMgorCisgICAgICAgID4gdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyCisgICAgPgorc3RydWN0IGFwcGx5X3dyYXBfaW1wbDI8CisgICAgICAgICAgMworICAgICAgICAsIEYKKyAgICAgICAgLCBUMSwgVDIKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgRjo6dGVtcGxhdGUgYXBwbHk8CisgICAgICAgICAgVDEsIFQyCisKKyAgICAgICAgLCBuYQorCisgICAgICAgID4gdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyCisgICAgPgorc3RydWN0IGFwcGx5X3dyYXBfaW1wbDI8CisgICAgICAgICAgNAorICAgICAgICAsIEYKKyAgICAgICAgLCBUMSwgVDIKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgRjo6dGVtcGxhdGUgYXBwbHk8CisgICAgICAgICAgVDEsIFQyCisKKyAgICAgICAgLCBuYSwgbmEKKworICAgICAgICA+IHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMgorICAgID4KK3N0cnVjdCBhcHBseV93cmFwX2ltcGwyPAorICAgICAgICAgIDUKKyAgICAgICAgLCBGCisgICAgICAgICwgVDEsIFQyCisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIEY6OnRlbXBsYXRlIGFwcGx5PAorICAgICAgICAgIFQxLCBUMgorCisgICAgICAgICwgbmEsIG5hLCBuYQorCisgICAgICAgID4gdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyCisgICAgPgorc3RydWN0IGFwcGx5X3dyYXAyCisgICAgOiBhcHBseV93cmFwX2ltcGwyPAorICAgICAgICAgIDo6bmRuYm9vc3Q6Om1wbDo6YXV4Ojphcml0eTwgRiwyID46OnZhbHVlCisgICAgICAgICwgRgorICAgICAgICAsIFQxLCBUMgorICAgICAgICA+Ojp0eXBlCit7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIGludCBOLCB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzCisgICAgPgorc3RydWN0IGFwcGx5X3dyYXBfaW1wbDM7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMworICAgID4KK3N0cnVjdCBhcHBseV93cmFwX2ltcGwzPAorICAgICAgICAgIDMKKyAgICAgICAgLCBGCisgICAgICAgICwgVDEsIFQyLCBUMworICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBGOjp0ZW1wbGF0ZSBhcHBseTwKKyAgICAgICAgICBUMSwgVDIsIFQzCisKKyAgICAgICAgPiB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzCisgICAgPgorc3RydWN0IGFwcGx5X3dyYXBfaW1wbDM8CisgICAgICAgICAgNAorICAgICAgICAsIEYKKyAgICAgICAgLCBUMSwgVDIsIFQzCisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIEY6OnRlbXBsYXRlIGFwcGx5PAorICAgICAgICAgIFQxLCBUMiwgVDMKKworICAgICAgICAsIG5hCisKKyAgICAgICAgPiB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzCisgICAgPgorc3RydWN0IGFwcGx5X3dyYXBfaW1wbDM8CisgICAgICAgICAgNQorICAgICAgICAsIEYKKyAgICAgICAgLCBUMSwgVDIsIFQzCisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIEY6OnRlbXBsYXRlIGFwcGx5PAorICAgICAgICAgIFQxLCBUMiwgVDMKKworICAgICAgICAsIG5hLCBuYQorCisgICAgICAgID4gdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMworICAgID4KK3N0cnVjdCBhcHBseV93cmFwMworICAgIDogYXBwbHlfd3JhcF9pbXBsMzwKKyAgICAgICAgICA6Om5kbmJvb3N0OjptcGw6OmF1eDo6YXJpdHk8IEYsMyA+Ojp2YWx1ZQorICAgICAgICAsIEYKKyAgICAgICAgLCBUMSwgVDIsIFQzCisgICAgICAgID46OnR5cGUKK3sKK307CisKK3RlbXBsYXRlPAorICAgICAgaW50IE4sIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgPgorc3RydWN0IGFwcGx5X3dyYXBfaW1wbDQ7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICA+CitzdHJ1Y3QgYXBwbHlfd3JhcF9pbXBsNDwKKyAgICAgICAgICA0CisgICAgICAgICwgRgorICAgICAgICAsIFQxLCBUMiwgVDMsIFQ0CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIEY6OnRlbXBsYXRlIGFwcGx5PAorICAgICAgICAgIFQxLCBUMiwgVDMsIFQ0CisKKyAgICAgICAgPiB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgID4KK3N0cnVjdCBhcHBseV93cmFwX2ltcGw0PAorICAgICAgICAgIDUKKyAgICAgICAgLCBGCisgICAgICAgICwgVDEsIFQyLCBUMywgVDQKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgRjo6dGVtcGxhdGUgYXBwbHk8CisgICAgICAgICAgVDEsIFQyLCBUMywgVDQKKworICAgICAgICAsIG5hCisKKyAgICAgICAgPiB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgID4KK3N0cnVjdCBhcHBseV93cmFwNAorICAgIDogYXBwbHlfd3JhcF9pbXBsNDwKKyAgICAgICAgICA6Om5kbmJvb3N0OjptcGw6OmF1eDo6YXJpdHk8IEYsNCA+Ojp2YWx1ZQorICAgICAgICAsIEYKKyAgICAgICAgLCBUMSwgVDIsIFQzLCBUNAorICAgICAgICA+Ojp0eXBlCit7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIGludCBOLCB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUKKyAgICA+CitzdHJ1Y3QgYXBwbHlfd3JhcF9pbXBsNTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUKKyAgICA+CitzdHJ1Y3QgYXBwbHlfd3JhcF9pbXBsNTwKKyAgICAgICAgICA1CisgICAgICAgICwgRgorICAgICAgICAsIFQxLCBUMiwgVDMsIFQ0LCBUNQorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBGOjp0ZW1wbGF0ZSBhcHBseTwKKyAgICAgICAgICBUMSwgVDIsIFQzLCBUNCwgVDUKKworICAgICAgICA+IHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNQorICAgID4KK3N0cnVjdCBhcHBseV93cmFwNQorICAgIDogYXBwbHlfd3JhcF9pbXBsNTwKKyAgICAgICAgICA6Om5kbmJvb3N0OjptcGw6OmF1eDo6YXJpdHk8IEYsNSA+Ojp2YWx1ZQorICAgICAgICAsIEYKKyAgICAgICAgLCBUMSwgVDIsIFQzLCBUNCwgVDUKKyAgICAgICAgPjo6dHlwZQoreworfTsKKworfX0KKwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL213Y3cvYXJnLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9td2N3L2FyZy5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWExNTdjMgotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9td2N3L2FyZy5ocHAKQEAgLTAsMCArMSwxMjMgQEAKKworLy8gQ29weXJpZ2h0IFBldGVyIERpbW92IDIwMDEtMjAwMgorLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMS0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL2FyZy5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCitCT09TVF9NUExfQVVYX0FETF9CQVJSSUVSX05BTUVTUEFDRV9PUEVOCit0ZW1wbGF0ZTw+IHN0cnVjdCBhcmc8IC0xID4KK3sKKyAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAtMSk7CisgICAgQk9PU1RfTVBMX0FVWF9BUkdfVFlQRURFRihuYSwgdGFnKQorICAgIEJPT1NUX01QTF9BVVhfQVJHX1RZUEVERUYobmEsIHR5cGUpCisKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBVMSA9IG5hLCB0eXBlbmFtZSBVMiA9IG5hLCB0eXBlbmFtZSBVMyA9IG5hCisgICAgICAgICwgdHlwZW5hbWUgVTQgPSBuYSwgdHlwZW5hbWUgVTUgPSBuYQorICAgICAgICA+CisgICAgc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIFUxIHR5cGU7CisgICAgICAgIEJPT1NUX01QTF9BVVhfQVNTRVJUX05PVF9OQSh0eXBlKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgYXJnPDE+Cit7CisgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMSk7CisgICAgdHlwZWRlZiBhcmc8Mj4gbmV4dDsKKyAgICBCT09TVF9NUExfQVVYX0FSR19UWVBFREVGKG5hLCB0YWcpCisgICAgQk9PU1RfTVBMX0FVWF9BUkdfVFlQRURFRihuYSwgdHlwZSkKKworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFUxID0gbmEsIHR5cGVuYW1lIFUyID0gbmEsIHR5cGVuYW1lIFUzID0gbmEKKyAgICAgICAgLCB0eXBlbmFtZSBVNCA9IG5hLCB0eXBlbmFtZSBVNSA9IG5hCisgICAgICAgID4KKyAgICBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgVTEgdHlwZTsKKyAgICAgICAgQk9PU1RfTVBMX0FVWF9BU1NFUlRfTk9UX05BKHR5cGUpOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCBhcmc8Mj4KK3sKKyAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAyKTsKKyAgICB0eXBlZGVmIGFyZzwzPiBuZXh0OworICAgIEJPT1NUX01QTF9BVVhfQVJHX1RZUEVERUYobmEsIHRhZykKKyAgICBCT09TVF9NUExfQVVYX0FSR19UWVBFREVGKG5hLCB0eXBlKQorCisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVTEgPSBuYSwgdHlwZW5hbWUgVTIgPSBuYSwgdHlwZW5hbWUgVTMgPSBuYQorICAgICAgICAsIHR5cGVuYW1lIFU0ID0gbmEsIHR5cGVuYW1lIFU1ID0gbmEKKyAgICAgICAgPgorICAgIHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBVMiB0eXBlOworICAgICAgICBCT09TVF9NUExfQVVYX0FTU0VSVF9OT1RfTkEodHlwZSk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4gc3RydWN0IGFyZzwzPgoreworICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDMpOworICAgIHR5cGVkZWYgYXJnPDQ+IG5leHQ7CisgICAgQk9PU1RfTVBMX0FVWF9BUkdfVFlQRURFRihuYSwgdGFnKQorICAgIEJPT1NUX01QTF9BVVhfQVJHX1RZUEVERUYobmEsIHR5cGUpCisKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBVMSA9IG5hLCB0eXBlbmFtZSBVMiA9IG5hLCB0eXBlbmFtZSBVMyA9IG5hCisgICAgICAgICwgdHlwZW5hbWUgVTQgPSBuYSwgdHlwZW5hbWUgVTUgPSBuYQorICAgICAgICA+CisgICAgc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIFUzIHR5cGU7CisgICAgICAgIEJPT1NUX01QTF9BVVhfQVNTRVJUX05PVF9OQSh0eXBlKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgYXJnPDQ+Cit7CisgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gNCk7CisgICAgdHlwZWRlZiBhcmc8NT4gbmV4dDsKKyAgICBCT09TVF9NUExfQVVYX0FSR19UWVBFREVGKG5hLCB0YWcpCisgICAgQk9PU1RfTVBMX0FVWF9BUkdfVFlQRURFRihuYSwgdHlwZSkKKworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFUxID0gbmEsIHR5cGVuYW1lIFUyID0gbmEsIHR5cGVuYW1lIFUzID0gbmEKKyAgICAgICAgLCB0eXBlbmFtZSBVNCA9IG5hLCB0eXBlbmFtZSBVNSA9IG5hCisgICAgICAgID4KKyAgICBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgVTQgdHlwZTsKKyAgICAgICAgQk9PU1RfTVBMX0FVWF9BU1NFUlRfTk9UX05BKHR5cGUpOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCBhcmc8NT4KK3sKKyAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSA1KTsKKyAgICB0eXBlZGVmIGFyZzw2PiBuZXh0OworICAgIEJPT1NUX01QTF9BVVhfQVJHX1RZUEVERUYobmEsIHRhZykKKyAgICBCT09TVF9NUExfQVVYX0FSR19UWVBFREVGKG5hLCB0eXBlKQorCisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVTEgPSBuYSwgdHlwZW5hbWUgVTIgPSBuYSwgdHlwZW5hbWUgVTMgPSBuYQorICAgICAgICAsIHR5cGVuYW1lIFU0ID0gbmEsIHR5cGVuYW1lIFU1ID0gbmEKKyAgICAgICAgPgorICAgIHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBVNSB0eXBlOworICAgICAgICBCT09TVF9NUExfQVVYX0FTU0VSVF9OT1RfTkEodHlwZSk7CisgICAgfTsKK307CisKK0JPT1NUX01QTF9BVVhfTk9OVFlQRV9BUklUWV9TUEVDKDEsaW50LCBhcmcpCisKK0JPT1NUX01QTF9BVVhfQURMX0JBUlJJRVJfTkFNRVNQQUNFX0NMT1NFCmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXdjdy9iYXNpY19iaW5kLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9td2N3L2Jhc2ljX2JpbmQuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEyYTU2NWUKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXdjdy9iYXNpY19iaW5kLmhwcApAQCAtMCwwICsxLDQ0MCBAQAorCisvLyBDb3B5cmlnaHQgUGV0ZXIgRGltb3YgMjAwMQorLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMS0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL2F1eF8vYmFzaWNfYmluZC5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyLCB0eXBlbmFtZSBVMywgdHlwZW5hbWUgVTQKKyAgICAsIHR5cGVuYW1lIFU1CisgICAgPgorc3RydWN0IHJlc29sdmVfYmluZF9hcmcKK3sKKyAgICB0eXBlZGVmIFQgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgaW50IE4sIHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiwgdHlwZW5hbWUgVTMsIHR5cGVuYW1lIFU0LCB0eXBlbmFtZSBVNQorICAgID4KK3N0cnVjdCByZXNvbHZlX2JpbmRfYXJnPCBhcmc8Tj4sIFUxLCBVMiwgVTMsIFU0LCBVNSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseV93cmFwNTxtcGw6OmFyZzxOPiwgVTEsIFUyLCBVMywgVTQsIFU1Pjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiwgdHlwZW5hbWUgVTMsIHR5cGVuYW1lIFU0CisgICAgLCB0eXBlbmFtZSBVNQorICAgID4KK3N0cnVjdCByZXNvbHZlX2JpbmRfYXJnPCBiaW5kPCBGLFQxLFQyLFQzLFQ0LFQ1ID4sIFUxLCBVMiwgVTMsIFU0LCBVNSA+Cit7CisgICAgdHlwZWRlZiBiaW5kPCBGLFQxLFQyLFQzLFQ0LFQ1ID4gZl87CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseV93cmFwNTwgZl8sVTEsVTIsVTMsVTQsVTUgPjo6dHlwZSB0eXBlOworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRgorICAgID4KK3N0cnVjdCBiaW5kMAoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFUxID0gbmEsIHR5cGVuYW1lIFUyID0gbmEsIHR5cGVuYW1lIFUzID0gbmEKKyAgICAgICAgLCB0eXBlbmFtZSBVNCA9IG5hLCB0eXBlbmFtZSBVNSA9IG5hCisgICAgICAgID4KKyAgICBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgIHByaXZhdGU6CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBGLFUxLFUyLFUzLFU0LFU1ID46OnR5cGUgZl87CisKKyAgICAgcHVibGljOgorICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5X3dyYXAwPAorICAgICAgICAgICAgICBmXworICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiwgdHlwZW5hbWUgVTMsIHR5cGVuYW1lIFU0CisgICAgLCB0eXBlbmFtZSBVNQorICAgID4KK3N0cnVjdCByZXNvbHZlX2JpbmRfYXJnPAorICAgICAgYmluZDA8Rj4sIFUxLCBVMiwgVTMsIFU0LCBVNQorICAgID4KK3sKKyAgICB0eXBlZGVmIGJpbmQwPEY+IGZfOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHlfd3JhcDU8IGZfLFUxLFUyLFUzLFU0LFU1ID46OnR5cGUgdHlwZTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCitCT09TVF9NUExfQVVYX0FSSVRZX1NQRUMoMSwgYmluZDApCitCT09TVF9NUExfQVVYX1RFTVBMQVRFX0FSSVRZX1NQRUMoMSwgYmluZDApCisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRgorICAgID4KK3N0cnVjdCBiaW5kPCBGLG5hLG5hLG5hLG5hLG5hID4KKyAgICA6IGJpbmQwPEY+Cit7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxCisgICAgPgorc3RydWN0IGJpbmQxCit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVTEgPSBuYSwgdHlwZW5hbWUgVTIgPSBuYSwgdHlwZW5hbWUgVTMgPSBuYQorICAgICAgICAsIHR5cGVuYW1lIFU0ID0gbmEsIHR5cGVuYW1lIFU1ID0gbmEKKyAgICAgICAgPgorICAgIHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgcHJpdmF0ZToKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhdXg6OnJlc29sdmVfYmluZF9hcmc8IEYsVTEsVTIsVTMsVTQsVTUgPjo6dHlwZSBmXzsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IFQxLFUxLFUyLFUzLFU0LFU1ID4gdDE7CisKKyAgICAgcHVibGljOgorICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5X3dyYXAxPAorICAgICAgICAgICAgICBmXworICAgICAgICAgICAgLCB0eXBlbmFtZSB0MTo6dHlwZQorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIsIHR5cGVuYW1lIFUzCisgICAgLCB0eXBlbmFtZSBVNCwgdHlwZW5hbWUgVTUKKyAgICA+CitzdHJ1Y3QgcmVzb2x2ZV9iaW5kX2FyZzwKKyAgICAgIGJpbmQxPCBGLFQxID4sIFUxLCBVMiwgVTMsIFU0LCBVNQorICAgID4KK3sKKyAgICB0eXBlZGVmIGJpbmQxPCBGLFQxID4gZl87CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseV93cmFwNTwgZl8sVTEsVTIsVTMsVTQsVTUgPjo6dHlwZSB0eXBlOworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK0JPT1NUX01QTF9BVVhfQVJJVFlfU1BFQygyLCBiaW5kMSkKK0JPT1NUX01QTF9BVVhfVEVNUExBVEVfQVJJVFlfU1BFQygyLCBiaW5kMSkKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMQorICAgID4KK3N0cnVjdCBiaW5kPCBGLFQxLG5hLG5hLG5hLG5hID4KKyAgICA6IGJpbmQxPCBGLFQxID4KK3sKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyCisgICAgPgorc3RydWN0IGJpbmQyCit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVTEgPSBuYSwgdHlwZW5hbWUgVTIgPSBuYSwgdHlwZW5hbWUgVTMgPSBuYQorICAgICAgICAsIHR5cGVuYW1lIFU0ID0gbmEsIHR5cGVuYW1lIFU1ID0gbmEKKyAgICAgICAgPgorICAgIHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgcHJpdmF0ZToKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhdXg6OnJlc29sdmVfYmluZF9hcmc8IEYsVTEsVTIsVTMsVTQsVTUgPjo6dHlwZSBmXzsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IFQxLFUxLFUyLFUzLFU0LFU1ID4gdDE7CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBUMixVMSxVMixVMyxVNCxVNSA+IHQyOworCisgICAgIHB1YmxpYzoKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseV93cmFwMjwKKyAgICAgICAgICAgICAgZl8KKyAgICAgICAgICAgICwgdHlwZW5hbWUgdDE6OnR5cGUsIHR5cGVuYW1lIHQyOjp0eXBlCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIKKyAgICAsIHR5cGVuYW1lIFUzLCB0eXBlbmFtZSBVNCwgdHlwZW5hbWUgVTUKKyAgICA+CitzdHJ1Y3QgcmVzb2x2ZV9iaW5kX2FyZzwKKyAgICAgIGJpbmQyPCBGLFQxLFQyID4sIFUxLCBVMiwgVTMsIFU0LCBVNQorICAgID4KK3sKKyAgICB0eXBlZGVmIGJpbmQyPCBGLFQxLFQyID4gZl87CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseV93cmFwNTwgZl8sVTEsVTIsVTMsVTQsVTUgPjo6dHlwZSB0eXBlOworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK0JPT1NUX01QTF9BVVhfQVJJVFlfU1BFQygzLCBiaW5kMikKK0JPT1NUX01QTF9BVVhfVEVNUExBVEVfQVJJVFlfU1BFQygzLCBiaW5kMikKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIKKyAgICA+CitzdHJ1Y3QgYmluZDwgRixUMSxUMixuYSxuYSxuYSA+CisgICAgOiBiaW5kMjwgRixUMSxUMiA+Cit7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMKKyAgICA+CitzdHJ1Y3QgYmluZDMKK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBVMSA9IG5hLCB0eXBlbmFtZSBVMiA9IG5hLCB0eXBlbmFtZSBVMyA9IG5hCisgICAgICAgICwgdHlwZW5hbWUgVTQgPSBuYSwgdHlwZW5hbWUgVTUgPSBuYQorICAgICAgICA+CisgICAgc3RydWN0IGFwcGx5CisgICAgeworICAgICBwcml2YXRlOgorICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgRixVMSxVMixVMyxVNCxVNSA+Ojp0eXBlIGZfOworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgVDEsVTEsVTIsVTMsVTQsVTUgPiB0MTsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IFQyLFUxLFUyLFUzLFU0LFU1ID4gdDI7CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBUMyxVMSxVMixVMyxVNCxVNSA+IHQzOworCisgICAgIHB1YmxpYzoKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseV93cmFwMzwKKyAgICAgICAgICAgICAgZl8KKyAgICAgICAgICAgICwgdHlwZW5hbWUgdDE6OnR5cGUsIHR5cGVuYW1lIHQyOjp0eXBlLCB0eXBlbmFtZSB0Mzo6dHlwZQorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFUxCisgICAgLCB0eXBlbmFtZSBVMiwgdHlwZW5hbWUgVTMsIHR5cGVuYW1lIFU0LCB0eXBlbmFtZSBVNQorICAgID4KK3N0cnVjdCByZXNvbHZlX2JpbmRfYXJnPAorICAgICAgYmluZDM8IEYsVDEsVDIsVDMgPiwgVTEsIFUyLCBVMywgVTQsIFU1CisgICAgPgoreworICAgIHR5cGVkZWYgYmluZDM8IEYsVDEsVDIsVDMgPiBmXzsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5X3dyYXA1PCBmXyxVMSxVMixVMyxVNCxVNSA+Ojp0eXBlIHR5cGU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworQk9PU1RfTVBMX0FVWF9BUklUWV9TUEVDKDQsIGJpbmQzKQorQk9PU1RfTVBMX0FVWF9URU1QTEFURV9BUklUWV9TUEVDKDQsIGJpbmQzKQorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMKKyAgICA+CitzdHJ1Y3QgYmluZDwgRixUMSxUMixUMyxuYSxuYSA+CisgICAgOiBiaW5kMzwgRixUMSxUMixUMyA+Cit7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgPgorc3RydWN0IGJpbmQ0Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVTEgPSBuYSwgdHlwZW5hbWUgVTIgPSBuYSwgdHlwZW5hbWUgVTMgPSBuYQorICAgICAgICAsIHR5cGVuYW1lIFU0ID0gbmEsIHR5cGVuYW1lIFU1ID0gbmEKKyAgICAgICAgPgorICAgIHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgcHJpdmF0ZToKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhdXg6OnJlc29sdmVfYmluZF9hcmc8IEYsVTEsVTIsVTMsVTQsVTUgPjo6dHlwZSBmXzsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IFQxLFUxLFUyLFUzLFU0LFU1ID4gdDE7CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBUMixVMSxVMixVMyxVNCxVNSA+IHQyOworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgVDMsVTEsVTIsVTMsVTQsVTUgPiB0MzsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IFQ0LFUxLFUyLFUzLFU0LFU1ID4gdDQ7CisKKyAgICAgcHVibGljOgorICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5X3dyYXA0PAorICAgICAgICAgICAgICBmXworICAgICAgICAgICAgLCB0eXBlbmFtZSB0MTo6dHlwZSwgdHlwZW5hbWUgdDI6OnR5cGUsIHR5cGVuYW1lIHQzOjp0eXBlCisgICAgICAgICAgICAsIHR5cGVuYW1lIHQ0Ojp0eXBlCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiwgdHlwZW5hbWUgVTMsIHR5cGVuYW1lIFU0LCB0eXBlbmFtZSBVNQorICAgID4KK3N0cnVjdCByZXNvbHZlX2JpbmRfYXJnPAorICAgICAgYmluZDQ8IEYsVDEsVDIsVDMsVDQgPiwgVTEsIFUyLCBVMywgVTQsIFU1CisgICAgPgoreworICAgIHR5cGVkZWYgYmluZDQ8IEYsVDEsVDIsVDMsVDQgPiBmXzsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5X3dyYXA1PCBmXyxVMSxVMixVMyxVNCxVNSA+Ojp0eXBlIHR5cGU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworQk9PU1RfTVBMX0FVWF9BUklUWV9TUEVDKDUsIGJpbmQ0KQorQk9PU1RfTVBMX0FVWF9URU1QTEFURV9BUklUWV9TUEVDKDUsIGJpbmQ0KQorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgPgorc3RydWN0IGJpbmQ8IEYsVDEsVDIsVDMsVDQsbmEgPgorICAgIDogYmluZDQ8IEYsVDEsVDIsVDMsVDQgPgoreworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUKKyAgICA+CitzdHJ1Y3QgYmluZDUKK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBVMSA9IG5hLCB0eXBlbmFtZSBVMiA9IG5hLCB0eXBlbmFtZSBVMyA9IG5hCisgICAgICAgICwgdHlwZW5hbWUgVTQgPSBuYSwgdHlwZW5hbWUgVTUgPSBuYQorICAgICAgICA+CisgICAgc3RydWN0IGFwcGx5CisgICAgeworICAgICBwcml2YXRlOgorICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgRixVMSxVMixVMyxVNCxVNSA+Ojp0eXBlIGZfOworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgVDEsVTEsVTIsVTMsVTQsVTUgPiB0MTsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IFQyLFUxLFUyLFUzLFU0LFU1ID4gdDI7CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBUMyxVMSxVMixVMyxVNCxVNSA+IHQzOworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgVDQsVTEsVTIsVTMsVTQsVTUgPiB0NDsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IFQ1LFUxLFUyLFUzLFU0LFU1ID4gdDU7CisKKyAgICAgcHVibGljOgorICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5X3dyYXA1PAorICAgICAgICAgICAgICBmXworICAgICAgICAgICAgLCB0eXBlbmFtZSB0MTo6dHlwZSwgdHlwZW5hbWUgdDI6OnR5cGUsIHR5cGVuYW1lIHQzOjp0eXBlCisgICAgICAgICAgICAsIHR5cGVuYW1lIHQ0Ojp0eXBlLCB0eXBlbmFtZSB0NTo6dHlwZQorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyLCB0eXBlbmFtZSBVMywgdHlwZW5hbWUgVTQKKyAgICAsIHR5cGVuYW1lIFU1CisgICAgPgorc3RydWN0IHJlc29sdmVfYmluZF9hcmc8CisgICAgICBiaW5kNTwgRixUMSxUMixUMyxUNCxUNSA+LCBVMSwgVTIsIFUzLCBVNCwgVTUKKyAgICA+Cit7CisgICAgdHlwZWRlZiBiaW5kNTwgRixUMSxUMixUMyxUNCxUNSA+IGZfOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHlfd3JhcDU8IGZfLFUxLFUyLFUzLFU0LFU1ID46OnR5cGUgdHlwZTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCitCT09TVF9NUExfQVVYX0FSSVRZX1NQRUMoNiwgYmluZDUpCitCT09TVF9NUExfQVVYX1RFTVBMQVRFX0FSSVRZX1NQRUMoNiwgYmluZDUpCisKKy8vLyBwcmltYXJ5IHRlbXBsYXRlIChub3QgYSBzcGVjaWFsaXphdGlvbiEpCisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1CisgICAgPgorc3RydWN0IGJpbmQKKyAgICA6IGJpbmQ1PCBGLFQxLFQyLFQzLFQ0LFQ1ID4KK3sKK307CisKKy8vLyBpZl8vZXZhbF9pZiBzcGVjaWFsaXphdGlvbnMKK3RlbXBsYXRlPCB0ZW1wbGF0ZTwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMyA+IGNsYXNzIEYsIHR5cGVuYW1lIFRhZyA+CitzdHJ1Y3QgcXVvdGUzOworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMyA+IHN0cnVjdCBpZl87CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVGFnLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzCisgICAgPgorc3RydWN0IGJpbmQzPAorICAgICAgcXVvdGUzPCBpZl8sVGFnID4KKyAgICAsIFQxLCBUMiwgVDMKKyAgICA+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVTEgPSBuYSwgdHlwZW5hbWUgVTIgPSBuYSwgdHlwZW5hbWUgVTMgPSBuYQorICAgICAgICAsIHR5cGVuYW1lIFU0ID0gbmEsIHR5cGVuYW1lIFU1ID0gbmEKKyAgICAgICAgPgorICAgIHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgcHJpdmF0ZToKKyAgICAgICAgdHlwZWRlZiBtcGw6OmFyZzwxPiBuMTsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IFQxLFUxLFUyLFUzLFU0LFU1ID4gdDE7CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBUMixVMSxVMixVMyxVNCxVNSA+IHQyOworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgVDMsVTEsVTIsVTMsVTQsVTUgPiB0MzsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBpZl88CisgICAgICAgICAgICAgIHR5cGVuYW1lIHQxOjp0eXBlCisgICAgICAgICAgICAsIHQyLCB0MworICAgICAgICAgICAgPjo6dHlwZSBmXzsKKworICAgICBwdWJsaWM6CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgZl86OnR5cGUgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8CisgICAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMyA+IGNsYXNzIEYsIHR5cGVuYW1lIFRhZworICAgID4KK3N0cnVjdCBxdW90ZTM7CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzID4gc3RydWN0IGV2YWxfaWY7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVGFnLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzCisgICAgPgorc3RydWN0IGJpbmQzPAorICAgICAgcXVvdGUzPCBldmFsX2lmLFRhZyA+CisgICAgLCBUMSwgVDIsIFQzCisgICAgPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFUxID0gbmEsIHR5cGVuYW1lIFUyID0gbmEsIHR5cGVuYW1lIFUzID0gbmEKKyAgICAgICAgLCB0eXBlbmFtZSBVNCA9IG5hLCB0eXBlbmFtZSBVNSA9IG5hCisgICAgICAgID4KKyAgICBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgIHByaXZhdGU6CisgICAgICAgIHR5cGVkZWYgbXBsOjphcmc8MT4gbjE7CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBUMSxVMSxVMixVMyxVNCxVNSA+IHQxOworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgVDIsVTEsVTIsVTMsVTQsVTUgPiB0MjsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IFQzLFUxLFUyLFUzLFU0LFU1ID4gdDM7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgZXZhbF9pZjwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgdDE6OnR5cGUKKyAgICAgICAgICAgICwgdDIsIHQzCisgICAgICAgICAgICA+Ojp0eXBlIGZfOworCisgICAgIHB1YmxpYzoKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBmXzo6dHlwZSB0eXBlOworICAgIH07Cit9OworCit9fQorCmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXdjdy9iaW5kLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9td2N3L2JpbmQuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYyY2RlNWEKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXdjdy9iaW5kLmhwcApAQCAtMCwwICsxLDU2MSBAQAorCisvLyBDb3B5cmlnaHQgUGV0ZXIgRGltb3YgMjAwMQorLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMS0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL2JpbmQuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiwgdHlwZW5hbWUgVTMsIHR5cGVuYW1lIFU0CisgICAgLCB0eXBlbmFtZSBVNQorICAgID4KK3N0cnVjdCByZXNvbHZlX2JpbmRfYXJnCit7CisgICAgdHlwZWRlZiBUIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQKKyAgICAsIHR5cGVuYW1lIEFyZworICAgID4KK3N0cnVjdCByZXBsYWNlX3VubmFtZWRfYXJnCit7CisgICAgdHlwZWRlZiBBcmcgbmV4dDsKKyAgICB0eXBlZGVmIFQgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgQXJnCisgICAgPgorc3RydWN0IHJlcGxhY2VfdW5uYW1lZF9hcmc8IGFyZzwgLTEgPiwgQXJnID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIEFyZzo6bmV4dCBuZXh0OworICAgIHR5cGVkZWYgQXJnIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIGludCBOLCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIsIHR5cGVuYW1lIFUzLCB0eXBlbmFtZSBVNCwgdHlwZW5hbWUgVTUKKyAgICA+CitzdHJ1Y3QgcmVzb2x2ZV9iaW5kX2FyZzwgYXJnPE4+LCBVMSwgVTIsIFUzLCBVNCwgVTUgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHlfd3JhcDU8bXBsOjphcmc8Tj4sIFUxLCBVMiwgVTMsIFU0LCBVNT46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIsIHR5cGVuYW1lIFUzLCB0eXBlbmFtZSBVNAorICAgICwgdHlwZW5hbWUgVTUKKyAgICA+CitzdHJ1Y3QgcmVzb2x2ZV9iaW5kX2FyZzwgYmluZDwgRixUMSxUMixUMyxUNCxUNSA+LCBVMSwgVTIsIFUzLCBVNCwgVTUgPgoreworICAgIHR5cGVkZWYgYmluZDwgRixUMSxUMixUMyxUNCxUNSA+IGZfOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHlfd3JhcDU8IGZfLFUxLFUyLFUzLFU0LFU1ID46OnR5cGUgdHlwZTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYKKyAgICA+CitzdHJ1Y3QgYmluZDAKK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBVMSA9IG5hLCB0eXBlbmFtZSBVMiA9IG5hLCB0eXBlbmFtZSBVMyA9IG5hCisgICAgICAgICwgdHlwZW5hbWUgVTQgPSBuYSwgdHlwZW5hbWUgVTUgPSBuYQorICAgICAgICA+CisgICAgc3RydWN0IGFwcGx5CisgICAgeworICAgICBwcml2YXRlOgorICAgICAgICB0eXBlZGVmIGF1eDo6cmVwbGFjZV91bm5hbWVkX2FyZzwgRiwgbXBsOjphcmc8MT4gPiByMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMDo6dHlwZSBhMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMDo6bmV4dCBuMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhdXg6OnJlc29sdmVfYmluZF9hcmc8IGEwLFUxLFUyLFUzLFU0LFU1ID46OnR5cGUgZl87CisgICAgICAgIC8vLworICAgICBwdWJsaWM6CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHlfd3JhcDA8CisgICAgICAgICAgICAgIGZfCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyLCB0eXBlbmFtZSBVMywgdHlwZW5hbWUgVTQKKyAgICAsIHR5cGVuYW1lIFU1CisgICAgPgorc3RydWN0IHJlc29sdmVfYmluZF9hcmc8CisgICAgICBiaW5kMDxGPiwgVTEsIFUyLCBVMywgVTQsIFU1CisgICAgPgoreworICAgIHR5cGVkZWYgYmluZDA8Rj4gZl87CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseV93cmFwNTwgZl8sVTEsVTIsVTMsVTQsVTUgPjo6dHlwZSB0eXBlOworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK0JPT1NUX01QTF9BVVhfQVJJVFlfU1BFQygxLCBiaW5kMCkKK0JPT1NUX01QTF9BVVhfVEVNUExBVEVfQVJJVFlfU1BFQygxLCBiaW5kMCkKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGCisgICAgPgorc3RydWN0IGJpbmQ8IEYsbmEsbmEsbmEsbmEsbmEgPgorICAgIDogYmluZDA8Rj4KK3sKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEKKyAgICA+CitzdHJ1Y3QgYmluZDEKK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBVMSA9IG5hLCB0eXBlbmFtZSBVMiA9IG5hLCB0eXBlbmFtZSBVMyA9IG5hCisgICAgICAgICwgdHlwZW5hbWUgVTQgPSBuYSwgdHlwZW5hbWUgVTUgPSBuYQorICAgICAgICA+CisgICAgc3RydWN0IGFwcGx5CisgICAgeworICAgICBwcml2YXRlOgorICAgICAgICB0eXBlZGVmIGF1eDo6cmVwbGFjZV91bm5hbWVkX2FyZzwgRiwgbXBsOjphcmc8MT4gPiByMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMDo6dHlwZSBhMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMDo6bmV4dCBuMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhdXg6OnJlc29sdmVfYmluZF9hcmc8IGEwLFUxLFUyLFUzLFU0LFU1ID46OnR5cGUgZl87CisgICAgICAgIC8vLworICAgICAgICB0eXBlZGVmIGF1eDo6cmVwbGFjZV91bm5hbWVkX2FyZzwgVDEsbjEgPiByMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMTo6dHlwZSBhMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMTo6bmV4dCBuMjsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IGExLFUxLFUyLFUzLFU0LFU1ID4gdDE7CisgICAgICAgIC8vLworICAgICBwdWJsaWM6CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHlfd3JhcDE8CisgICAgICAgICAgICAgIGZfCisgICAgICAgICAgICAsIHR5cGVuYW1lIHQxOjp0eXBlCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiwgdHlwZW5hbWUgVTMKKyAgICAsIHR5cGVuYW1lIFU0LCB0eXBlbmFtZSBVNQorICAgID4KK3N0cnVjdCByZXNvbHZlX2JpbmRfYXJnPAorICAgICAgYmluZDE8IEYsVDEgPiwgVTEsIFUyLCBVMywgVTQsIFU1CisgICAgPgoreworICAgIHR5cGVkZWYgYmluZDE8IEYsVDEgPiBmXzsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5X3dyYXA1PCBmXyxVMSxVMixVMyxVNCxVNSA+Ojp0eXBlIHR5cGU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworQk9PU1RfTVBMX0FVWF9BUklUWV9TUEVDKDIsIGJpbmQxKQorQk9PU1RfTVBMX0FVWF9URU1QTEFURV9BUklUWV9TUEVDKDIsIGJpbmQxKQorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxCisgICAgPgorc3RydWN0IGJpbmQ8IEYsVDEsbmEsbmEsbmEsbmEgPgorICAgIDogYmluZDE8IEYsVDEgPgoreworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIKKyAgICA+CitzdHJ1Y3QgYmluZDIKK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBVMSA9IG5hLCB0eXBlbmFtZSBVMiA9IG5hLCB0eXBlbmFtZSBVMyA9IG5hCisgICAgICAgICwgdHlwZW5hbWUgVTQgPSBuYSwgdHlwZW5hbWUgVTUgPSBuYQorICAgICAgICA+CisgICAgc3RydWN0IGFwcGx5CisgICAgeworICAgICBwcml2YXRlOgorICAgICAgICB0eXBlZGVmIGF1eDo6cmVwbGFjZV91bm5hbWVkX2FyZzwgRiwgbXBsOjphcmc8MT4gPiByMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMDo6dHlwZSBhMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMDo6bmV4dCBuMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhdXg6OnJlc29sdmVfYmluZF9hcmc8IGEwLFUxLFUyLFUzLFU0LFU1ID46OnR5cGUgZl87CisgICAgICAgIC8vLworICAgICAgICB0eXBlZGVmIGF1eDo6cmVwbGFjZV91bm5hbWVkX2FyZzwgVDEsbjEgPiByMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMTo6dHlwZSBhMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMTo6bmV4dCBuMjsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IGExLFUxLFUyLFUzLFU0LFU1ID4gdDE7CisgICAgICAgIC8vLworICAgICAgICB0eXBlZGVmIGF1eDo6cmVwbGFjZV91bm5hbWVkX2FyZzwgVDIsbjIgPiByMjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMjo6dHlwZSBhMjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMjo6bmV4dCBuMzsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IGEyLFUxLFUyLFUzLFU0LFU1ID4gdDI7CisgICAgICAgIC8vLworICAgICBwdWJsaWM6CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHlfd3JhcDI8CisgICAgICAgICAgICAgIGZfCisgICAgICAgICAgICAsIHR5cGVuYW1lIHQxOjp0eXBlLCB0eXBlbmFtZSB0Mjo6dHlwZQorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyCisgICAgLCB0eXBlbmFtZSBVMywgdHlwZW5hbWUgVTQsIHR5cGVuYW1lIFU1CisgICAgPgorc3RydWN0IHJlc29sdmVfYmluZF9hcmc8CisgICAgICBiaW5kMjwgRixUMSxUMiA+LCBVMSwgVTIsIFUzLCBVNCwgVTUKKyAgICA+Cit7CisgICAgdHlwZWRlZiBiaW5kMjwgRixUMSxUMiA+IGZfOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHlfd3JhcDU8IGZfLFUxLFUyLFUzLFU0LFU1ID46OnR5cGUgdHlwZTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCitCT09TVF9NUExfQVVYX0FSSVRZX1NQRUMoMywgYmluZDIpCitCT09TVF9NUExfQVVYX1RFTVBMQVRFX0FSSVRZX1NQRUMoMywgYmluZDIpCisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyCisgICAgPgorc3RydWN0IGJpbmQ8IEYsVDEsVDIsbmEsbmEsbmEgPgorICAgIDogYmluZDI8IEYsVDEsVDIgPgoreworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzCisgICAgPgorc3RydWN0IGJpbmQzCit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVTEgPSBuYSwgdHlwZW5hbWUgVTIgPSBuYSwgdHlwZW5hbWUgVTMgPSBuYQorICAgICAgICAsIHR5cGVuYW1lIFU0ID0gbmEsIHR5cGVuYW1lIFU1ID0gbmEKKyAgICAgICAgPgorICAgIHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgcHJpdmF0ZToKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlcGxhY2VfdW5uYW1lZF9hcmc8IEYsIG1wbDo6YXJnPDE+ID4gcjA7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjA6OnR5cGUgYTA7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjA6Om5leHQgbjE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBhMCxVMSxVMixVMyxVNCxVNSA+Ojp0eXBlIGZfOworICAgICAgICAvLy8KKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlcGxhY2VfdW5uYW1lZF9hcmc8IFQxLG4xID4gcjE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjE6OnR5cGUgYTE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjE6Om5leHQgbjI7CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBhMSxVMSxVMixVMyxVNCxVNSA+IHQxOworICAgICAgICAvLy8KKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlcGxhY2VfdW5uYW1lZF9hcmc8IFQyLG4yID4gcjI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjI6OnR5cGUgYTI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjI6Om5leHQgbjM7CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBhMixVMSxVMixVMyxVNCxVNSA+IHQyOworICAgICAgICAvLy8KKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlcGxhY2VfdW5uYW1lZF9hcmc8IFQzLG4zID4gcjM7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjM6OnR5cGUgYTM7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjM6Om5leHQgbjQ7CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBhMyxVMSxVMixVMyxVNCxVNSA+IHQzOworICAgICAgICAvLy8KKyAgICAgcHVibGljOgorICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5X3dyYXAzPAorICAgICAgICAgICAgICBmXworICAgICAgICAgICAgLCB0eXBlbmFtZSB0MTo6dHlwZSwgdHlwZW5hbWUgdDI6OnR5cGUsIHR5cGVuYW1lIHQzOjp0eXBlCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVTEKKyAgICAsIHR5cGVuYW1lIFUyLCB0eXBlbmFtZSBVMywgdHlwZW5hbWUgVTQsIHR5cGVuYW1lIFU1CisgICAgPgorc3RydWN0IHJlc29sdmVfYmluZF9hcmc8CisgICAgICBiaW5kMzwgRixUMSxUMixUMyA+LCBVMSwgVTIsIFUzLCBVNCwgVTUKKyAgICA+Cit7CisgICAgdHlwZWRlZiBiaW5kMzwgRixUMSxUMixUMyA+IGZfOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHlfd3JhcDU8IGZfLFUxLFUyLFUzLFU0LFU1ID46OnR5cGUgdHlwZTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCitCT09TVF9NUExfQVVYX0FSSVRZX1NQRUMoNCwgYmluZDMpCitCT09TVF9NUExfQVVYX1RFTVBMQVRFX0FSSVRZX1NQRUMoNCwgYmluZDMpCisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMworICAgID4KK3N0cnVjdCBiaW5kPCBGLFQxLFQyLFQzLG5hLG5hID4KKyAgICA6IGJpbmQzPCBGLFQxLFQyLFQzID4KK3sKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICA+CitzdHJ1Y3QgYmluZDQKK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBVMSA9IG5hLCB0eXBlbmFtZSBVMiA9IG5hLCB0eXBlbmFtZSBVMyA9IG5hCisgICAgICAgICwgdHlwZW5hbWUgVTQgPSBuYSwgdHlwZW5hbWUgVTUgPSBuYQorICAgICAgICA+CisgICAgc3RydWN0IGFwcGx5CisgICAgeworICAgICBwcml2YXRlOgorICAgICAgICB0eXBlZGVmIGF1eDo6cmVwbGFjZV91bm5hbWVkX2FyZzwgRiwgbXBsOjphcmc8MT4gPiByMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMDo6dHlwZSBhMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMDo6bmV4dCBuMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhdXg6OnJlc29sdmVfYmluZF9hcmc8IGEwLFUxLFUyLFUzLFU0LFU1ID46OnR5cGUgZl87CisgICAgICAgIC8vLworICAgICAgICB0eXBlZGVmIGF1eDo6cmVwbGFjZV91bm5hbWVkX2FyZzwgVDEsbjEgPiByMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMTo6dHlwZSBhMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMTo6bmV4dCBuMjsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IGExLFUxLFUyLFUzLFU0LFU1ID4gdDE7CisgICAgICAgIC8vLworICAgICAgICB0eXBlZGVmIGF1eDo6cmVwbGFjZV91bm5hbWVkX2FyZzwgVDIsbjIgPiByMjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMjo6dHlwZSBhMjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMjo6bmV4dCBuMzsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IGEyLFUxLFUyLFUzLFU0LFU1ID4gdDI7CisgICAgICAgIC8vLworICAgICAgICB0eXBlZGVmIGF1eDo6cmVwbGFjZV91bm5hbWVkX2FyZzwgVDMsbjMgPiByMzsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMzo6dHlwZSBhMzsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMzo6bmV4dCBuNDsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IGEzLFUxLFUyLFUzLFU0LFU1ID4gdDM7CisgICAgICAgIC8vLworICAgICAgICB0eXBlZGVmIGF1eDo6cmVwbGFjZV91bm5hbWVkX2FyZzwgVDQsbjQgPiByNDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByNDo6dHlwZSBhNDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByNDo6bmV4dCBuNTsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IGE0LFUxLFUyLFUzLFU0LFU1ID4gdDQ7CisgICAgICAgIC8vLworICAgICBwdWJsaWM6CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHlfd3JhcDQ8CisgICAgICAgICAgICAgIGZfCisgICAgICAgICAgICAsIHR5cGVuYW1lIHQxOjp0eXBlLCB0eXBlbmFtZSB0Mjo6dHlwZSwgdHlwZW5hbWUgdDM6OnR5cGUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgdDQ6OnR5cGUKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyLCB0eXBlbmFtZSBVMywgdHlwZW5hbWUgVTQsIHR5cGVuYW1lIFU1CisgICAgPgorc3RydWN0IHJlc29sdmVfYmluZF9hcmc8CisgICAgICBiaW5kNDwgRixUMSxUMixUMyxUNCA+LCBVMSwgVTIsIFUzLCBVNCwgVTUKKyAgICA+Cit7CisgICAgdHlwZWRlZiBiaW5kNDwgRixUMSxUMixUMyxUNCA+IGZfOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHlfd3JhcDU8IGZfLFUxLFUyLFUzLFU0LFU1ID46OnR5cGUgdHlwZTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCitCT09TVF9NUExfQVVYX0FSSVRZX1NQRUMoNSwgYmluZDQpCitCT09TVF9NUExfQVVYX1RFTVBMQVRFX0FSSVRZX1NQRUMoNSwgYmluZDQpCisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICA+CitzdHJ1Y3QgYmluZDwgRixUMSxUMixUMyxUNCxuYSA+CisgICAgOiBiaW5kNDwgRixUMSxUMixUMyxUNCA+Cit7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNQorICAgID4KK3N0cnVjdCBiaW5kNQoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFUxID0gbmEsIHR5cGVuYW1lIFUyID0gbmEsIHR5cGVuYW1lIFUzID0gbmEKKyAgICAgICAgLCB0eXBlbmFtZSBVNCA9IG5hLCB0eXBlbmFtZSBVNSA9IG5hCisgICAgICAgID4KKyAgICBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgIHByaXZhdGU6CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXBsYWNlX3VubmFtZWRfYXJnPCBGLCBtcGw6OmFyZzwxPiA+IHIwOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIwOjp0eXBlIGEwOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIwOjpuZXh0IG4xOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgYTAsVTEsVTIsVTMsVTQsVTUgPjo6dHlwZSBmXzsKKyAgICAgICAgLy8vCisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXBsYWNlX3VubmFtZWRfYXJnPCBUMSxuMSA+IHIxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIxOjp0eXBlIGExOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIxOjpuZXh0IG4yOworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgYTEsVTEsVTIsVTMsVTQsVTUgPiB0MTsKKyAgICAgICAgLy8vCisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXBsYWNlX3VubmFtZWRfYXJnPCBUMixuMiA+IHIyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIyOjp0eXBlIGEyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIyOjpuZXh0IG4zOworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgYTIsVTEsVTIsVTMsVTQsVTUgPiB0MjsKKyAgICAgICAgLy8vCisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXBsYWNlX3VubmFtZWRfYXJnPCBUMyxuMyA+IHIzOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIzOjp0eXBlIGEzOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIzOjpuZXh0IG40OworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgYTMsVTEsVTIsVTMsVTQsVTUgPiB0MzsKKyAgICAgICAgLy8vCisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXBsYWNlX3VubmFtZWRfYXJnPCBUNCxuNCA+IHI0OworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHI0Ojp0eXBlIGE0OworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHI0OjpuZXh0IG41OworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgYTQsVTEsVTIsVTMsVTQsVTUgPiB0NDsKKyAgICAgICAgLy8vCisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXBsYWNlX3VubmFtZWRfYXJnPCBUNSxuNSA+IHI1OworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHI1Ojp0eXBlIGE1OworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHI1OjpuZXh0IG42OworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgYTUsVTEsVTIsVTMsVTQsVTUgPiB0NTsKKyAgICAgICAgLy8vCisgICAgIHB1YmxpYzoKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseV93cmFwNTwKKyAgICAgICAgICAgICAgZl8KKyAgICAgICAgICAgICwgdHlwZW5hbWUgdDE6OnR5cGUsIHR5cGVuYW1lIHQyOjp0eXBlLCB0eXBlbmFtZSB0Mzo6dHlwZQorICAgICAgICAgICAgLCB0eXBlbmFtZSB0NDo6dHlwZSwgdHlwZW5hbWUgdDU6OnR5cGUKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiwgdHlwZW5hbWUgVTMsIHR5cGVuYW1lIFU0CisgICAgLCB0eXBlbmFtZSBVNQorICAgID4KK3N0cnVjdCByZXNvbHZlX2JpbmRfYXJnPAorICAgICAgYmluZDU8IEYsVDEsVDIsVDMsVDQsVDUgPiwgVTEsIFUyLCBVMywgVTQsIFU1CisgICAgPgoreworICAgIHR5cGVkZWYgYmluZDU8IEYsVDEsVDIsVDMsVDQsVDUgPiBmXzsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5X3dyYXA1PCBmXyxVMSxVMixVMyxVNCxVNSA+Ojp0eXBlIHR5cGU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworQk9PU1RfTVBMX0FVWF9BUklUWV9TUEVDKDYsIGJpbmQ1KQorQk9PU1RfTVBMX0FVWF9URU1QTEFURV9BUklUWV9TUEVDKDYsIGJpbmQ1KQorCisvLy8gcHJpbWFyeSB0ZW1wbGF0ZSAobm90IGEgc3BlY2lhbGl6YXRpb24hKQorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNQorICAgID4KK3N0cnVjdCBiaW5kCisgICAgOiBiaW5kNTwgRixUMSxUMixUMyxUNCxUNSA+Cit7Cit9OworCisvLy8gaWZfL2V2YWxfaWYgc3BlY2lhbGl6YXRpb25zCit0ZW1wbGF0ZTwgdGVtcGxhdGU8IHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMgPiBjbGFzcyBGLCB0eXBlbmFtZSBUYWcgPgorc3RydWN0IHF1b3RlMzsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMgPiBzdHJ1Y3QgaWZfOworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFRhZywgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMworICAgID4KK3N0cnVjdCBiaW5kMzwKKyAgICAgIHF1b3RlMzwgaWZfLFRhZyA+CisgICAgLCBUMSwgVDIsIFQzCisgICAgPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFUxID0gbmEsIHR5cGVuYW1lIFUyID0gbmEsIHR5cGVuYW1lIFUzID0gbmEKKyAgICAgICAgLCB0eXBlbmFtZSBVNCA9IG5hLCB0eXBlbmFtZSBVNSA9IG5hCisgICAgICAgID4KKyAgICBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgIHByaXZhdGU6CisgICAgICAgIHR5cGVkZWYgbXBsOjphcmc8MT4gbjE7CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXBsYWNlX3VubmFtZWRfYXJnPCBUMSxuMSA+IHIxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIxOjp0eXBlIGExOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIxOjpuZXh0IG4yOworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgYTEsVTEsVTIsVTMsVTQsVTUgPiB0MTsKKyAgICAgICAgLy8vCisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXBsYWNlX3VubmFtZWRfYXJnPCBUMixuMiA+IHIyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIyOjp0eXBlIGEyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIyOjpuZXh0IG4zOworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgYTIsVTEsVTIsVTMsVTQsVTUgPiB0MjsKKyAgICAgICAgLy8vCisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXBsYWNlX3VubmFtZWRfYXJnPCBUMyxuMyA+IHIzOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIzOjp0eXBlIGEzOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIzOjpuZXh0IG40OworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgYTMsVTEsVTIsVTMsVTQsVTUgPiB0MzsKKyAgICAgICAgLy8vCisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgaWZfPAorICAgICAgICAgICAgICB0eXBlbmFtZSB0MTo6dHlwZQorICAgICAgICAgICAgLCB0MiwgdDMKKyAgICAgICAgICAgID46OnR5cGUgZl87CisKKyAgICAgcHVibGljOgorICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGZfOjp0eXBlIHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMgPiBjbGFzcyBGLCB0eXBlbmFtZSBUYWcKKyAgICA+CitzdHJ1Y3QgcXVvdGUzOworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMyA+IHN0cnVjdCBldmFsX2lmOworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFRhZywgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMworICAgID4KK3N0cnVjdCBiaW5kMzwKKyAgICAgIHF1b3RlMzwgZXZhbF9pZixUYWcgPgorICAgICwgVDEsIFQyLCBUMworICAgID4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBVMSA9IG5hLCB0eXBlbmFtZSBVMiA9IG5hLCB0eXBlbmFtZSBVMyA9IG5hCisgICAgICAgICwgdHlwZW5hbWUgVTQgPSBuYSwgdHlwZW5hbWUgVTUgPSBuYQorICAgICAgICA+CisgICAgc3RydWN0IGFwcGx5CisgICAgeworICAgICBwcml2YXRlOgorICAgICAgICB0eXBlZGVmIG1wbDo6YXJnPDE+IG4xOworICAgICAgICB0eXBlZGVmIGF1eDo6cmVwbGFjZV91bm5hbWVkX2FyZzwgVDEsbjEgPiByMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMTo6dHlwZSBhMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMTo6bmV4dCBuMjsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IGExLFUxLFUyLFUzLFU0LFU1ID4gdDE7CisgICAgICAgIC8vLworICAgICAgICB0eXBlZGVmIGF1eDo6cmVwbGFjZV91bm5hbWVkX2FyZzwgVDIsbjIgPiByMjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMjo6dHlwZSBhMjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMjo6bmV4dCBuMzsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IGEyLFUxLFUyLFUzLFU0LFU1ID4gdDI7CisgICAgICAgIC8vLworICAgICAgICB0eXBlZGVmIGF1eDo6cmVwbGFjZV91bm5hbWVkX2FyZzwgVDMsbjMgPiByMzsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMzo6dHlwZSBhMzsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMzo6bmV4dCBuNDsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IGEzLFUxLFUyLFUzLFU0LFU1ID4gdDM7CisgICAgICAgIC8vLworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGV2YWxfaWY8CisgICAgICAgICAgICAgIHR5cGVuYW1lIHQxOjp0eXBlCisgICAgICAgICAgICAsIHQyLCB0MworICAgICAgICAgICAgPjo6dHlwZSBmXzsKKworICAgICBwdWJsaWM6CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgZl86OnR5cGUgdHlwZTsKKyAgICB9OworfTsKKworfX0KKwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL213Y3cvYmluZF9md2QuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL213Y3cvYmluZF9md2QuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlhMDQ2ZWUKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXdjdy9iaW5kX2Z3ZC5ocHAKQEAgLTAsMCArMSw1MiBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvYmluZF9md2QuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEgPSBuYSwgdHlwZW5hbWUgVDIgPSBuYSwgdHlwZW5hbWUgVDMgPSBuYQorICAgICwgdHlwZW5hbWUgVDQgPSBuYSwgdHlwZW5hbWUgVDUgPSBuYQorICAgID4KK3N0cnVjdCBiaW5kOworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYKKyAgICA+CitzdHJ1Y3QgYmluZDA7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEKKyAgICA+CitzdHJ1Y3QgYmluZDE7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyCisgICAgPgorc3RydWN0IGJpbmQyOworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMKKyAgICA+CitzdHJ1Y3QgYmluZDM7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICA+CitzdHJ1Y3QgYmluZDQ7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1CisgICAgPgorc3RydWN0IGJpbmQ1OworCit9fQorCmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXdjdy9iaXRhbmQuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL213Y3cvYml0YW5kLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MGU4NTkzCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL213Y3cvYml0YW5kLmhwcApAQCAtMCwwICsxLDE0NyBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vIENvcHlyaWdodCBKYWFwIFN1dGVyIDIwMDMKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvYml0YW5kLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFRhZzEKKyAgICAsIHR5cGVuYW1lIFRhZzIKKyAgICA+CitzdHJ1Y3QgYml0YW5kX2ltcGwKKyAgICA6IGlmX2M8CisgICAgICAgICAgKCBCT09TVF9NUExfQVVYX05FU1RFRF9WQUxVRV9XS05EKGludCwgVGFnMSkKKyAgICAgICAgICAgICAgPiBCT09TVF9NUExfQVVYX05FU1RFRF9WQUxVRV9XS05EKGludCwgVGFnMikKKyAgICAgICAgICAgICkKKworICAgICAgICAsIGF1eDo6Y2FzdDJuZF9pbXBsPCBiaXRhbmRfaW1wbDwgVGFnMSxUYWcxID4sVGFnMSwgVGFnMiA+CisgICAgICAgICwgYXV4OjpjYXN0MXN0X2ltcGw8IGJpdGFuZF9pbXBsPCBUYWcyLFRhZzIgPixUYWcxLCBUYWcyID4KKyAgICAgICAgPjo6dHlwZQoreworfTsKKworLy8vIGZvciBEaWdpdGFsIE1hcnMgQysrL2NvbXBpbGVycyB3aXRoIG5vIENUUFMvVFRQIHN1cHBvcnQKK3RlbXBsYXRlPD4gc3RydWN0IGJpdGFuZF9pbXBsPCBuYSxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFRhZyA+IHN0cnVjdCBiaXRhbmRfaW1wbDwgbmEsVGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVGFnID4gc3RydWN0IGJpdGFuZF9pbXBsPCBUYWcsbmEgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUID4gc3RydWN0IGJpdGFuZF90YWcKK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIFQ6OnRhZyB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4xKQorICAgICwgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMikKKyAgICAsIHR5cGVuYW1lIE4zID0gbmEsIHR5cGVuYW1lIE40ID0gbmEsIHR5cGVuYW1lIE41ID0gbmEKKyAgICA+CitzdHJ1Y3QgYml0YW5kXworICAgIDogYml0YW5kXzwgYml0YW5kXzwgYml0YW5kXzwgYml0YW5kXzwgTjEsTjIgPiwgTjM+LCBOND4sIE41PgoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoCisgICAgICAgICAgNQorICAgICAgICAsIGJpdGFuZF8KKyAgICAgICAgLCAoIE4xLCBOMiwgTjMsIE40LCBONSApCisgICAgICAgICkKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgTjEsIHR5cGVuYW1lIE4yLCB0eXBlbmFtZSBOMywgdHlwZW5hbWUgTjQKKyAgICA+CitzdHJ1Y3QgYml0YW5kXzwgTjEsTjIsTjMsTjQsbmEgPgorCisgICAgOiBiaXRhbmRfPCBiaXRhbmRfPCBiaXRhbmRfPCBOMSxOMiA+LCBOMz4sIE40PgoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlRfU1BFQygKKyAgICAgICAgICA1CisgICAgICAgICwgYml0YW5kXworICAgICAgICAsICggTjEsIE4yLCBOMywgTjQsIG5hICkKKyAgICAgICAgKQorfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBOMSwgdHlwZW5hbWUgTjIsIHR5cGVuYW1lIE4zCisgICAgPgorc3RydWN0IGJpdGFuZF88IE4xLE4yLE4zLG5hLG5hID4KKworICAgIDogYml0YW5kXzwgYml0YW5kXzwgTjEsTjIgPiwgTjM+Cit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVF9TUEVDKAorICAgICAgICAgIDUKKyAgICAgICAgLCBiaXRhbmRfCisgICAgICAgICwgKCBOMSwgTjIsIE4zLCBuYSwgbmEgKQorICAgICAgICApCit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIE4xLCB0eXBlbmFtZSBOMgorICAgID4KK3N0cnVjdCBiaXRhbmRfPCBOMSxOMixuYSxuYSxuYSA+CisgICAgOiBiaXRhbmRfaW1wbDwKKyAgICAgICAgICB0eXBlbmFtZSBiaXRhbmRfdGFnPE4xPjo6dHlwZQorICAgICAgICAsIHR5cGVuYW1lIGJpdGFuZF90YWc8TjI+Ojp0eXBlCisgICAgICAgID46OnRlbXBsYXRlIGFwcGx5PCBOMSxOMiA+Ojp0eXBlCit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVF9TUEVDKAorICAgICAgICAgIDUKKyAgICAgICAgLCBiaXRhbmRfCisgICAgICAgICwgKCBOMSwgTjIsIG5hLCBuYSwgbmEgKQorICAgICAgICApCisKK307CisKK0JPT1NUX01QTF9BVVhfTkFfU1BFQzIoMiwgNSwgYml0YW5kXykKKworfX0KKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7Cit0ZW1wbGF0ZTw+CitzdHJ1Y3QgYml0YW5kX2ltcGw8IGludGVncmFsX2NfdGFnLGludGVncmFsX2NfdGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgTjEsIHR5cGVuYW1lIE4yID4gc3RydWN0IGFwcGx5CisKKyAgICAgICAgOiBpbnRlZ3JhbF9jPAorICAgICAgICAgICAgICB0eXBlbmFtZSBhdXg6Omxhcmdlc3RfaW50PAorICAgICAgICAgICAgICAgICAgdHlwZW5hbWUgTjE6OnZhbHVlX3R5cGUKKyAgICAgICAgICAgICAgICAsIHR5cGVuYW1lIE4yOjp2YWx1ZV90eXBlCisgICAgICAgICAgICAgICAgPjo6dHlwZQorICAgICAgICAgICAgLCAoIEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChOMSk6OnZhbHVlCisgICAgICAgICAgICAgICAgICAmIEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChOMik6OnZhbHVlCisgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgPgorICAgIHsKKyAgICB9OworfTsKKworfX0KZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9td2N3L2JpdG9yLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9td2N3L2JpdG9yLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNzFhOGY0Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL213Y3cvYml0b3IuaHBwCkBAIC0wLDAgKzEsMTQ3IEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8gQ29weXJpZ2h0IEphYXAgU3V0ZXIgMjAwMworLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9iaXRvci5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUYWcxCisgICAgLCB0eXBlbmFtZSBUYWcyCisgICAgPgorc3RydWN0IGJpdG9yX2ltcGwKKyAgICA6IGlmX2M8CisgICAgICAgICAgKCBCT09TVF9NUExfQVVYX05FU1RFRF9WQUxVRV9XS05EKGludCwgVGFnMSkKKyAgICAgICAgICAgICAgPiBCT09TVF9NUExfQVVYX05FU1RFRF9WQUxVRV9XS05EKGludCwgVGFnMikKKyAgICAgICAgICAgICkKKworICAgICAgICAsIGF1eDo6Y2FzdDJuZF9pbXBsPCBiaXRvcl9pbXBsPCBUYWcxLFRhZzEgPixUYWcxLCBUYWcyID4KKyAgICAgICAgLCBhdXg6OmNhc3Qxc3RfaW1wbDwgYml0b3JfaW1wbDwgVGFnMixUYWcyID4sVGFnMSwgVGFnMiA+CisgICAgICAgID46OnR5cGUKK3sKK307CisKKy8vLyBmb3IgRGlnaXRhbCBNYXJzIEMrKy9jb21waWxlcnMgd2l0aCBubyBDVFBTL1RUUCBzdXBwb3J0Cit0ZW1wbGF0ZTw+IHN0cnVjdCBiaXRvcl9pbXBsPCBuYSxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFRhZyA+IHN0cnVjdCBiaXRvcl9pbXBsPCBuYSxUYWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUYWcgPiBzdHJ1Y3QgYml0b3JfaW1wbDwgVGFnLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVCA+IHN0cnVjdCBiaXRvcl90YWcKK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIFQ6OnRhZyB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4xKQorICAgICwgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMikKKyAgICAsIHR5cGVuYW1lIE4zID0gbmEsIHR5cGVuYW1lIE40ID0gbmEsIHR5cGVuYW1lIE41ID0gbmEKKyAgICA+CitzdHJ1Y3QgYml0b3JfCisgICAgOiBiaXRvcl88IGJpdG9yXzwgYml0b3JfPCBiaXRvcl88IE4xLE4yID4sIE4zPiwgTjQ+LCBONT4KK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKAorICAgICAgICAgIDUKKyAgICAgICAgLCBiaXRvcl8KKyAgICAgICAgLCAoIE4xLCBOMiwgTjMsIE40LCBONSApCisgICAgICAgICkKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgTjEsIHR5cGVuYW1lIE4yLCB0eXBlbmFtZSBOMywgdHlwZW5hbWUgTjQKKyAgICA+CitzdHJ1Y3QgYml0b3JfPCBOMSxOMixOMyxONCxuYSA+CisKKyAgICA6IGJpdG9yXzwgYml0b3JfPCBiaXRvcl88IE4xLE4yID4sIE4zPiwgTjQ+Cit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVF9TUEVDKAorICAgICAgICAgIDUKKyAgICAgICAgLCBiaXRvcl8KKyAgICAgICAgLCAoIE4xLCBOMiwgTjMsIE40LCBuYSApCisgICAgICAgICkKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgTjEsIHR5cGVuYW1lIE4yLCB0eXBlbmFtZSBOMworICAgID4KK3N0cnVjdCBiaXRvcl88IE4xLE4yLE4zLG5hLG5hID4KKworICAgIDogYml0b3JfPCBiaXRvcl88IE4xLE4yID4sIE4zPgoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlRfU1BFQygKKyAgICAgICAgICA1CisgICAgICAgICwgYml0b3JfCisgICAgICAgICwgKCBOMSwgTjIsIE4zLCBuYSwgbmEgKQorICAgICAgICApCit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIE4xLCB0eXBlbmFtZSBOMgorICAgID4KK3N0cnVjdCBiaXRvcl88IE4xLE4yLG5hLG5hLG5hID4KKyAgICA6IGJpdG9yX2ltcGw8CisgICAgICAgICAgdHlwZW5hbWUgYml0b3JfdGFnPE4xPjo6dHlwZQorICAgICAgICAsIHR5cGVuYW1lIGJpdG9yX3RhZzxOMj46OnR5cGUKKyAgICAgICAgPjo6dGVtcGxhdGUgYXBwbHk8IE4xLE4yID46OnR5cGUKK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUX1NQRUMoCisgICAgICAgICAgNQorICAgICAgICAsIGJpdG9yXworICAgICAgICAsICggTjEsIE4yLCBuYSwgbmEsIG5hICkKKyAgICAgICAgKQorCit9OworCitCT09TVF9NUExfQVVYX05BX1NQRUMyKDIsIDUsIGJpdG9yXykKKworfX0KKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7Cit0ZW1wbGF0ZTw+CitzdHJ1Y3QgYml0b3JfaW1wbDwgaW50ZWdyYWxfY190YWcsaW50ZWdyYWxfY190YWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBOMSwgdHlwZW5hbWUgTjIgPiBzdHJ1Y3QgYXBwbHkKKworICAgICAgICA6IGludGVncmFsX2M8CisgICAgICAgICAgICAgIHR5cGVuYW1lIGF1eDo6bGFyZ2VzdF9pbnQ8CisgICAgICAgICAgICAgICAgICB0eXBlbmFtZSBOMTo6dmFsdWVfdHlwZQorICAgICAgICAgICAgICAgICwgdHlwZW5hbWUgTjI6OnZhbHVlX3R5cGUKKyAgICAgICAgICAgICAgICA+Ojp0eXBlCisgICAgICAgICAgICAsICggQk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4xKTo6dmFsdWUKKyAgICAgICAgICAgICAgICAgIHwgQk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4yKTo6dmFsdWUKKyAgICAgICAgICAgICAgICApCisgICAgICAgICAgICA+CisgICAgeworICAgIH07Cit9OworCit9fQpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL213Y3cvYml0eG9yLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9td2N3L2JpdHhvci5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjdmMGNlNwotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9td2N3L2JpdHhvci5ocHAKQEAgLTAsMCArMSwxNDcgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLyBDb3B5cmlnaHQgSmFhcCBTdXRlciAyMDAzCisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL2JpdHhvci5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUYWcxCisgICAgLCB0eXBlbmFtZSBUYWcyCisgICAgPgorc3RydWN0IGJpdHhvcl9pbXBsCisgICAgOiBpZl9jPAorICAgICAgICAgICggQk9PU1RfTVBMX0FVWF9ORVNURURfVkFMVUVfV0tORChpbnQsIFRhZzEpCisgICAgICAgICAgICAgID4gQk9PU1RfTVBMX0FVWF9ORVNURURfVkFMVUVfV0tORChpbnQsIFRhZzIpCisgICAgICAgICAgICApCisKKyAgICAgICAgLCBhdXg6OmNhc3QybmRfaW1wbDwgYml0eG9yX2ltcGw8IFRhZzEsVGFnMSA+LFRhZzEsIFRhZzIgPgorICAgICAgICAsIGF1eDo6Y2FzdDFzdF9pbXBsPCBiaXR4b3JfaW1wbDwgVGFnMixUYWcyID4sVGFnMSwgVGFnMiA+CisgICAgICAgID46OnR5cGUKK3sKK307CisKKy8vLyBmb3IgRGlnaXRhbCBNYXJzIEMrKy9jb21waWxlcnMgd2l0aCBubyBDVFBTL1RUUCBzdXBwb3J0Cit0ZW1wbGF0ZTw+IHN0cnVjdCBiaXR4b3JfaW1wbDwgbmEsbmEgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUYWcgPiBzdHJ1Y3QgYml0eG9yX2ltcGw8IG5hLFRhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFRhZyA+IHN0cnVjdCBiaXR4b3JfaW1wbDwgVGFnLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVCA+IHN0cnVjdCBiaXR4b3JfdGFnCit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBUOjp0YWcgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMSkKKyAgICAsIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjIpCisgICAgLCB0eXBlbmFtZSBOMyA9IG5hLCB0eXBlbmFtZSBONCA9IG5hLCB0eXBlbmFtZSBONSA9IG5hCisgICAgPgorc3RydWN0IGJpdHhvcl8KKyAgICA6IGJpdHhvcl88IGJpdHhvcl88IGJpdHhvcl88IGJpdHhvcl88IE4xLE4yID4sIE4zPiwgTjQ+LCBONT4KK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKAorICAgICAgICAgIDUKKyAgICAgICAgLCBiaXR4b3JfCisgICAgICAgICwgKCBOMSwgTjIsIE4zLCBONCwgTjUgKQorICAgICAgICApCit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIE4xLCB0eXBlbmFtZSBOMiwgdHlwZW5hbWUgTjMsIHR5cGVuYW1lIE40CisgICAgPgorc3RydWN0IGJpdHhvcl88IE4xLE4yLE4zLE40LG5hID4KKworICAgIDogYml0eG9yXzwgYml0eG9yXzwgYml0eG9yXzwgTjEsTjIgPiwgTjM+LCBOND4KK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUX1NQRUMoCisgICAgICAgICAgNQorICAgICAgICAsIGJpdHhvcl8KKyAgICAgICAgLCAoIE4xLCBOMiwgTjMsIE40LCBuYSApCisgICAgICAgICkKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgTjEsIHR5cGVuYW1lIE4yLCB0eXBlbmFtZSBOMworICAgID4KK3N0cnVjdCBiaXR4b3JfPCBOMSxOMixOMyxuYSxuYSA+CisKKyAgICA6IGJpdHhvcl88IGJpdHhvcl88IE4xLE4yID4sIE4zPgoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlRfU1BFQygKKyAgICAgICAgICA1CisgICAgICAgICwgYml0eG9yXworICAgICAgICAsICggTjEsIE4yLCBOMywgbmEsIG5hICkKKyAgICAgICAgKQorfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBOMSwgdHlwZW5hbWUgTjIKKyAgICA+CitzdHJ1Y3QgYml0eG9yXzwgTjEsTjIsbmEsbmEsbmEgPgorICAgIDogYml0eG9yX2ltcGw8CisgICAgICAgICAgdHlwZW5hbWUgYml0eG9yX3RhZzxOMT46OnR5cGUKKyAgICAgICAgLCB0eXBlbmFtZSBiaXR4b3JfdGFnPE4yPjo6dHlwZQorICAgICAgICA+Ojp0ZW1wbGF0ZSBhcHBseTwgTjEsTjIgPjo6dHlwZQoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlRfU1BFQygKKyAgICAgICAgICA1CisgICAgICAgICwgYml0eG9yXworICAgICAgICAsICggTjEsIE4yLCBuYSwgbmEsIG5hICkKKyAgICAgICAgKQorCit9OworCitCT09TVF9NUExfQVVYX05BX1NQRUMyKDIsIDUsIGJpdHhvcl8pCisKK319CisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgewordGVtcGxhdGU8Pgorc3RydWN0IGJpdHhvcl9pbXBsPCBpbnRlZ3JhbF9jX3RhZyxpbnRlZ3JhbF9jX3RhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIE4xLCB0eXBlbmFtZSBOMiA+IHN0cnVjdCBhcHBseQorCisgICAgICAgIDogaW50ZWdyYWxfYzwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgYXV4OjpsYXJnZXN0X2ludDwKKyAgICAgICAgICAgICAgICAgIHR5cGVuYW1lIE4xOjp2YWx1ZV90eXBlCisgICAgICAgICAgICAgICAgLCB0eXBlbmFtZSBOMjo6dmFsdWVfdHlwZQorICAgICAgICAgICAgICAgID46OnR5cGUKKyAgICAgICAgICAgICwgKCBCT09TVF9NUExfQVVYX1ZBTFVFX1dLTkQoTjEpOjp2YWx1ZQorICAgICAgICAgICAgICAgICAgXiBCT09TVF9NUExfQVVYX1ZBTFVFX1dLTkQoTjIpOjp2YWx1ZQorICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgID4KKyAgICB7CisgICAgfTsKK307CisKK319CmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXdjdy9kZXF1ZS5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXdjdy9kZXF1ZS5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDYzMWY2NgotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9td2N3L2RlcXVlLmhwcApAQCAtMCwwICsxLDMyMyBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvZGVxdWUuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAgPSBuYSwgdHlwZW5hbWUgVDEgPSBuYSwgdHlwZW5hbWUgVDIgPSBuYSwgdHlwZW5hbWUgVDMgPSBuYQorICAgICwgdHlwZW5hbWUgVDQgPSBuYSwgdHlwZW5hbWUgVDUgPSBuYSwgdHlwZW5hbWUgVDYgPSBuYSwgdHlwZW5hbWUgVDcgPSBuYQorICAgICwgdHlwZW5hbWUgVDggPSBuYSwgdHlwZW5hbWUgVDkgPSBuYSwgdHlwZW5hbWUgVDEwID0gbmEsIHR5cGVuYW1lIFQxMSA9IG5hCisgICAgLCB0eXBlbmFtZSBUMTIgPSBuYSwgdHlwZW5hbWUgVDEzID0gbmEsIHR5cGVuYW1lIFQxNCA9IG5hCisgICAgLCB0eXBlbmFtZSBUMTUgPSBuYSwgdHlwZW5hbWUgVDE2ID0gbmEsIHR5cGVuYW1lIFQxNyA9IG5hCisgICAgLCB0eXBlbmFtZSBUMTggPSBuYSwgdHlwZW5hbWUgVDE5ID0gbmEKKyAgICA+CitzdHJ1Y3QgZGVxdWU7CisKK3RlbXBsYXRlPAorICAgICAKKyAgICA+CitzdHJ1Y3QgZGVxdWU8CisgICAgICAgICAgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3IwPCAgPgoreworICAgIHR5cGVkZWYgdmVjdG9yMDwgID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAKKyAgICA+CitzdHJ1Y3QgZGVxdWU8CisgICAgICAgICAgVDAsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3IxPFQwPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTxUMD46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxCisgICAgPgorc3RydWN0IGRlcXVlPAorICAgICAgICAgIFQwLCBUMSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogdmVjdG9yMjwgVDAsVDEgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMjwgVDAsVDEgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyCisgICAgPgorc3RydWN0IGRlcXVlPAorICAgICAgICAgIFQwLCBUMSwgVDIsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogdmVjdG9yMzwgVDAsVDEsVDIgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMzwgVDAsVDEsVDIgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMworICAgID4KK3N0cnVjdCBkZXF1ZTwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHZlY3RvcjQ8IFQwLFQxLFQyLFQzID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjQ8IFQwLFQxLFQyLFQzID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgPgorc3RydWN0IGRlcXVlPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogdmVjdG9yNTwgVDAsVDEsVDIsVDMsVDQgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yNTwgVDAsVDEsVDIsVDMsVDQgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1CisgICAgPgorc3RydWN0IGRlcXVlPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogdmVjdG9yNjwgVDAsVDEsVDIsVDMsVDQsVDUgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yNjwgVDAsVDEsVDIsVDMsVDQsVDUgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNgorICAgID4KK3N0cnVjdCBkZXF1ZTwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHZlY3Rvcjc8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3Rvcjc8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3CisgICAgPgorc3RydWN0IGRlcXVlPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogdmVjdG9yODwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yODwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4CisgICAgPgorc3RydWN0IGRlcXVlPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogdmVjdG9yOTwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDggPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yOTwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDggPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgID4KK3N0cnVjdCBkZXF1ZTwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHZlY3RvcjEwPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxMDwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDkgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwCisgICAgPgorc3RydWN0IGRlcXVlPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHZlY3RvcjExPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTE8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMQorICAgID4KK3N0cnVjdCBkZXF1ZTwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogdmVjdG9yMTI8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTI8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMgorICAgID4KK3N0cnVjdCBkZXF1ZTwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHZlY3RvcjEzPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMiA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxMzwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzCisgICAgPgorc3RydWN0IGRlcXVlPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHZlY3RvcjE0PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTQ8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgID4KK3N0cnVjdCBkZXF1ZTwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogdmVjdG9yMTU8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjE1PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMsVDE0ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgLCB0eXBlbmFtZSBUMTUKKyAgICA+CitzdHJ1Y3QgZGVxdWU8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1LCBuYSwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3IxNjwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgLCBUMTUKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTY8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyxUMTQsVDE1ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNgorICAgID4KK3N0cnVjdCBkZXF1ZTwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgLCBUMTUsIFQxNiwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3IxNzwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgLCBUMTUsIFQxNgorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxNzwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzLFQxNCxUMTUsVDE2ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3CisgICAgPgorc3RydWN0IGRlcXVlPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgVDE2LCBUMTcsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3IxODwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgLCBUMTUsIFQxNiwgVDE3CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjE4PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMsVDE0LFQxNSxUMTYsVDE3ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgKKyAgICA+CitzdHJ1Y3QgZGVxdWU8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1LCBUMTYsIFQxNywgVDE4LCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3IxOTwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgLCBUMTUsIFQxNiwgVDE3LCBUMTgKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTk8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyxUMTQsVDE1LFQxNixUMTcsVDE4ID46OnR5cGUgdHlwZTsKK307CisKKy8vLyBwcmltYXJ5IHRlbXBsYXRlIChub3QgYSBzcGVjaWFsaXphdGlvbiEpCisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgID4KK3N0cnVjdCBkZXF1ZQorICAgIDogdmVjdG9yMjA8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1LCBUMTYsIFQxNywgVDE4LCBUMTkKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMjA8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyxUMTQsVDE1LFQxNixUMTcsVDE4LFQxOSA+Ojp0eXBlIHR5cGU7Cit9OworCit9fQorCmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXdjdy9kaXZpZGVzLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9td2N3L2RpdmlkZXMuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBmNTQxNWMKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXdjdy9kaXZpZGVzLmhwcApAQCAtMCwwICsxLDE0NiBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvZGl2aWRlcy5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUYWcxCisgICAgLCB0eXBlbmFtZSBUYWcyCisgICAgPgorc3RydWN0IGRpdmlkZXNfaW1wbAorICAgIDogaWZfYzwKKyAgICAgICAgICAoIEJPT1NUX01QTF9BVVhfTkVTVEVEX1ZBTFVFX1dLTkQoaW50LCBUYWcxKQorICAgICAgICAgICAgICA+IEJPT1NUX01QTF9BVVhfTkVTVEVEX1ZBTFVFX1dLTkQoaW50LCBUYWcyKQorICAgICAgICAgICAgKQorCisgICAgICAgICwgYXV4OjpjYXN0Mm5kX2ltcGw8IGRpdmlkZXNfaW1wbDwgVGFnMSxUYWcxID4sVGFnMSwgVGFnMiA+CisgICAgICAgICwgYXV4OjpjYXN0MXN0X2ltcGw8IGRpdmlkZXNfaW1wbDwgVGFnMixUYWcyID4sVGFnMSwgVGFnMiA+CisgICAgICAgID46OnR5cGUKK3sKK307CisKKy8vLyBmb3IgRGlnaXRhbCBNYXJzIEMrKy9jb21waWxlcnMgd2l0aCBubyBDVFBTL1RUUCBzdXBwb3J0Cit0ZW1wbGF0ZTw+IHN0cnVjdCBkaXZpZGVzX2ltcGw8IG5hLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVGFnID4gc3RydWN0IGRpdmlkZXNfaW1wbDwgbmEsVGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVGFnID4gc3RydWN0IGRpdmlkZXNfaW1wbDwgVGFnLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVCA+IHN0cnVjdCBkaXZpZGVzX3RhZworeworICAgIHR5cGVkZWYgdHlwZW5hbWUgVDo6dGFnIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjEpCisgICAgLCB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4yKQorICAgICwgdHlwZW5hbWUgTjMgPSBuYSwgdHlwZW5hbWUgTjQgPSBuYSwgdHlwZW5hbWUgTjUgPSBuYQorICAgID4KK3N0cnVjdCBkaXZpZGVzCisgICAgOiBkaXZpZGVzPCBkaXZpZGVzPCBkaXZpZGVzPCBkaXZpZGVzPCBOMSxOMiA+LCBOMz4sIE40PiwgTjU+Cit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgKKyAgICAgICAgICA1CisgICAgICAgICwgZGl2aWRlcworICAgICAgICAsICggTjEsIE4yLCBOMywgTjQsIE41ICkKKyAgICAgICAgKQorfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBOMSwgdHlwZW5hbWUgTjIsIHR5cGVuYW1lIE4zLCB0eXBlbmFtZSBONAorICAgID4KK3N0cnVjdCBkaXZpZGVzPCBOMSxOMixOMyxONCxuYSA+CisKKyAgICA6IGRpdmlkZXM8IGRpdmlkZXM8IGRpdmlkZXM8IE4xLE4yID4sIE4zPiwgTjQ+Cit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVF9TUEVDKAorICAgICAgICAgIDUKKyAgICAgICAgLCBkaXZpZGVzCisgICAgICAgICwgKCBOMSwgTjIsIE4zLCBONCwgbmEgKQorICAgICAgICApCit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIE4xLCB0eXBlbmFtZSBOMiwgdHlwZW5hbWUgTjMKKyAgICA+CitzdHJ1Y3QgZGl2aWRlczwgTjEsTjIsTjMsbmEsbmEgPgorCisgICAgOiBkaXZpZGVzPCBkaXZpZGVzPCBOMSxOMiA+LCBOMz4KK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUX1NQRUMoCisgICAgICAgICAgNQorICAgICAgICAsIGRpdmlkZXMKKyAgICAgICAgLCAoIE4xLCBOMiwgTjMsIG5hLCBuYSApCisgICAgICAgICkKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgTjEsIHR5cGVuYW1lIE4yCisgICAgPgorc3RydWN0IGRpdmlkZXM8IE4xLE4yLG5hLG5hLG5hID4KKyAgICA6IGRpdmlkZXNfaW1wbDwKKyAgICAgICAgICB0eXBlbmFtZSBkaXZpZGVzX3RhZzxOMT46OnR5cGUKKyAgICAgICAgLCB0eXBlbmFtZSBkaXZpZGVzX3RhZzxOMj46OnR5cGUKKyAgICAgICAgPjo6dGVtcGxhdGUgYXBwbHk8IE4xLE4yID46OnR5cGUKK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUX1NQRUMoCisgICAgICAgICAgNQorICAgICAgICAsIGRpdmlkZXMKKyAgICAgICAgLCAoIE4xLCBOMiwgbmEsIG5hLCBuYSApCisgICAgICAgICkKKworfTsKKworQk9PU1RfTVBMX0FVWF9OQV9TUEVDMigyLCA1LCBkaXZpZGVzKQorCit9fQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKK3RlbXBsYXRlPD4KK3N0cnVjdCBkaXZpZGVzX2ltcGw8IGludGVncmFsX2NfdGFnLGludGVncmFsX2NfdGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgTjEsIHR5cGVuYW1lIE4yID4gc3RydWN0IGFwcGx5CisKKyAgICAgICAgOiBpbnRlZ3JhbF9jPAorICAgICAgICAgICAgICB0eXBlbmFtZSBhdXg6Omxhcmdlc3RfaW50PAorICAgICAgICAgICAgICAgICAgdHlwZW5hbWUgTjE6OnZhbHVlX3R5cGUKKyAgICAgICAgICAgICAgICAsIHR5cGVuYW1lIE4yOjp2YWx1ZV90eXBlCisgICAgICAgICAgICAgICAgPjo6dHlwZQorICAgICAgICAgICAgLCAoIEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChOMSk6OnZhbHVlCisgICAgICAgICAgICAgICAgICAvIEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChOMik6OnZhbHVlCisgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgPgorICAgIHsKKyAgICB9OworfTsKKworfX0KZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9td2N3L2VxdWFsX3RvLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9td2N3L2VxdWFsX3RvLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZDAyZGE0Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL213Y3cvZXF1YWxfdG8uaHBwCkBAIC0wLDAgKzEsOTQgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL2VxdWFsX3RvLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFRhZzEKKyAgICAsIHR5cGVuYW1lIFRhZzIKKyAgICA+CitzdHJ1Y3QgZXF1YWxfdG9faW1wbAorICAgIDogaWZfYzwKKyAgICAgICAgICAoIEJPT1NUX01QTF9BVVhfTkVTVEVEX1ZBTFVFX1dLTkQoaW50LCBUYWcxKQorICAgICAgICAgICAgICA+IEJPT1NUX01QTF9BVVhfTkVTVEVEX1ZBTFVFX1dLTkQoaW50LCBUYWcyKQorICAgICAgICAgICAgKQorCisgICAgICAgICwgYXV4OjpjYXN0Mm5kX2ltcGw8IGVxdWFsX3RvX2ltcGw8IFRhZzEsVGFnMSA+LFRhZzEsIFRhZzIgPgorICAgICAgICAsIGF1eDo6Y2FzdDFzdF9pbXBsPCBlcXVhbF90b19pbXBsPCBUYWcyLFRhZzIgPixUYWcxLCBUYWcyID4KKyAgICAgICAgPjo6dHlwZQoreworfTsKKworLy8vIGZvciBEaWdpdGFsIE1hcnMgQysrL2NvbXBpbGVycyB3aXRoIG5vIENUUFMvVFRQIHN1cHBvcnQKK3RlbXBsYXRlPD4gc3RydWN0IGVxdWFsX3RvX2ltcGw8IG5hLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVGFnID4gc3RydWN0IGVxdWFsX3RvX2ltcGw8IG5hLFRhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFRhZyA+IHN0cnVjdCBlcXVhbF90b19pbXBsPCBUYWcsbmEgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUID4gc3RydWN0IGVxdWFsX3RvX3RhZworeworICAgIHR5cGVkZWYgdHlwZW5hbWUgVDo6dGFnIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjEpCisgICAgLCB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4yKQorICAgID4KK3N0cnVjdCBlcXVhbF90bworCisgICAgOiBlcXVhbF90b19pbXBsPAorICAgICAgICAgIHR5cGVuYW1lIGVxdWFsX3RvX3RhZzxOMT46OnR5cGUKKyAgICAgICAgLCB0eXBlbmFtZSBlcXVhbF90b190YWc8TjI+Ojp0eXBlCisgICAgICAgID46OnRlbXBsYXRlIGFwcGx5PCBOMSxOMiA+Ojp0eXBlCit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgyLCBlcXVhbF90bywgKE4xLCBOMikpCisKK307CisKK0JPT1NUX01QTF9BVVhfTkFfU1BFQzIoMiwgMiwgZXF1YWxfdG8pCisKK319CisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgZXF1YWxfdG9faW1wbDwgaW50ZWdyYWxfY190YWcsaW50ZWdyYWxfY190YWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBOMSwgdHlwZW5hbWUgTjIgPiBzdHJ1Y3QgYXBwbHkKKworICAgICAgICA6IGJvb2xfPCAoIEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChOMSk6OnZhbHVlICA9PSBCT09TVF9NUExfQVVYX1ZBTFVFX1dLTkQoTjIpOjp2YWx1ZSApID4KKyAgICB7CisgICAgfTsKK307CisKK319CmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXdjdy9mb2xkX2ltcGwuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL213Y3cvZm9sZF9pbXBsLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40OTRjZDQxCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL213Y3cvZm9sZF9pbXBsLmhwcApAQCAtMCwwICsxLDE4MCBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvYXV4Xy9mb2xkX2ltcGwuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7IG5hbWVzcGFjZSBhdXggeworCisvLy8gZm9yd2FyZCBkZWNsYXJhdGlvbgorCit0ZW1wbGF0ZTwKKyAgICAgIGludCBOCisgICAgLCB0eXBlbmFtZSBGaXJzdAorICAgICwgdHlwZW5hbWUgTGFzdAorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgID4KK3N0cnVjdCBmb2xkX2ltcGw7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+CitzdHJ1Y3QgZm9sZF9pbXBsPCAwLEZpcnN0LExhc3QsU3RhdGUsRm9yd2FyZE9wID4KK3sKKyAgICB0eXBlZGVmIEZpcnN0IGl0ZXIwOworICAgIHR5cGVkZWYgU3RhdGUgc3RhdGUwOworICAgIHR5cGVkZWYgc3RhdGUwIHN0YXRlOworICAgIHR5cGVkZWYgaXRlcjAgaXRlcmF0b3I7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgPgorc3RydWN0IGZvbGRfaW1wbDwgMSxGaXJzdCxMYXN0LFN0YXRlLEZvcndhcmRPcCA+Cit7CisgICAgdHlwZWRlZiBGaXJzdCBpdGVyMDsKKyAgICB0eXBlZGVmIFN0YXRlIHN0YXRlMDsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLCBzdGF0ZTAsIHR5cGVuYW1lIGRlcmVmPGl0ZXIwPjo6dHlwZSA+Ojp0eXBlIHN0YXRlMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMD46OnR5cGUgaXRlcjE7CisgICAgCisKKyAgICB0eXBlZGVmIHN0YXRlMSBzdGF0ZTsKKyAgICB0eXBlZGVmIGl0ZXIxIGl0ZXJhdG9yOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGaXJzdAorICAgICwgdHlwZW5hbWUgTGFzdAorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgID4KK3N0cnVjdCBmb2xkX2ltcGw8IDIsRmlyc3QsTGFzdCxTdGF0ZSxGb3J3YXJkT3AgPgoreworICAgIHR5cGVkZWYgRmlyc3QgaXRlcjA7CisgICAgdHlwZWRlZiBTdGF0ZSBzdGF0ZTA7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCwgc3RhdGUwLCB0eXBlbmFtZSBkZXJlZjxpdGVyMD46OnR5cGUgPjo6dHlwZSBzdGF0ZTE7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjA+Ojp0eXBlIGl0ZXIxOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsIHN0YXRlMSwgdHlwZW5hbWUgZGVyZWY8aXRlcjE+Ojp0eXBlID46OnR5cGUgc3RhdGUyOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIxPjo6dHlwZSBpdGVyMjsKKyAgICAKKworICAgIHR5cGVkZWYgc3RhdGUyIHN0YXRlOworICAgIHR5cGVkZWYgaXRlcjIgaXRlcmF0b3I7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgPgorc3RydWN0IGZvbGRfaW1wbDwgMyxGaXJzdCxMYXN0LFN0YXRlLEZvcndhcmRPcCA+Cit7CisgICAgdHlwZWRlZiBGaXJzdCBpdGVyMDsKKyAgICB0eXBlZGVmIFN0YXRlIHN0YXRlMDsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLCBzdGF0ZTAsIHR5cGVuYW1lIGRlcmVmPGl0ZXIwPjo6dHlwZSA+Ojp0eXBlIHN0YXRlMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMD46OnR5cGUgaXRlcjE7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCwgc3RhdGUxLCB0eXBlbmFtZSBkZXJlZjxpdGVyMT46OnR5cGUgPjo6dHlwZSBzdGF0ZTI7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjE+Ojp0eXBlIGl0ZXIyOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsIHN0YXRlMiwgdHlwZW5hbWUgZGVyZWY8aXRlcjI+Ojp0eXBlID46OnR5cGUgc3RhdGUzOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIyPjo6dHlwZSBpdGVyMzsKKyAgICAKKworICAgIHR5cGVkZWYgc3RhdGUzIHN0YXRlOworICAgIHR5cGVkZWYgaXRlcjMgaXRlcmF0b3I7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgPgorc3RydWN0IGZvbGRfaW1wbDwgNCxGaXJzdCxMYXN0LFN0YXRlLEZvcndhcmRPcCA+Cit7CisgICAgdHlwZWRlZiBGaXJzdCBpdGVyMDsKKyAgICB0eXBlZGVmIFN0YXRlIHN0YXRlMDsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLCBzdGF0ZTAsIHR5cGVuYW1lIGRlcmVmPGl0ZXIwPjo6dHlwZSA+Ojp0eXBlIHN0YXRlMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMD46OnR5cGUgaXRlcjE7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCwgc3RhdGUxLCB0eXBlbmFtZSBkZXJlZjxpdGVyMT46OnR5cGUgPjo6dHlwZSBzdGF0ZTI7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjE+Ojp0eXBlIGl0ZXIyOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsIHN0YXRlMiwgdHlwZW5hbWUgZGVyZWY8aXRlcjI+Ojp0eXBlID46OnR5cGUgc3RhdGUzOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIyPjo6dHlwZSBpdGVyMzsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLCBzdGF0ZTMsIHR5cGVuYW1lIGRlcmVmPGl0ZXIzPjo6dHlwZSA+Ojp0eXBlIHN0YXRlNDsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMz46OnR5cGUgaXRlcjQ7CisgICAgCisKKyAgICB0eXBlZGVmIHN0YXRlNCBzdGF0ZTsKKyAgICB0eXBlZGVmIGl0ZXI0IGl0ZXJhdG9yOworfTsKKwordGVtcGxhdGU8CisgICAgICBpbnQgTgorICAgICwgdHlwZW5hbWUgRmlyc3QKKyAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+CitzdHJ1Y3QgZm9sZF9pbXBsCit7CisgICAgdHlwZWRlZiBmb2xkX2ltcGw8CisgICAgICAgICAgNAorICAgICAgICAsIEZpcnN0CisgICAgICAgICwgTGFzdAorICAgICAgICAsIFN0YXRlCisgICAgICAgICwgRm9yd2FyZE9wCisgICAgICAgID4gY2h1bmtfOworCisgICAgdHlwZWRlZiBmb2xkX2ltcGw8CisgICAgICAgICAgKCAoTiAtIDQpIDwgMCA/IDAgOiBOIC0gNCApCisgICAgICAgICwgdHlwZW5hbWUgY2h1bmtfOjppdGVyYXRvcgorICAgICAgICAsIExhc3QKKyAgICAgICAgLCB0eXBlbmFtZSBjaHVua186OnN0YXRlCisgICAgICAgICwgRm9yd2FyZE9wCisgICAgICAgID4gcmVzXzsKKworICAgIHR5cGVkZWYgdHlwZW5hbWUgcmVzXzo6c3RhdGUgc3RhdGU7CisgICAgdHlwZWRlZiB0eXBlbmFtZSByZXNfOjppdGVyYXRvciBpdGVyYXRvcjsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+CitzdHJ1Y3QgZm9sZF9pbXBsPCAtMSxGaXJzdCxMYXN0LFN0YXRlLEZvcndhcmRPcCA+CisgICAgOiBmb2xkX2ltcGw8CisgICAgICAgICAgLTEKKyAgICAgICAgLCB0eXBlbmFtZSBtcGw6Om5leHQ8Rmlyc3Q+Ojp0eXBlCisgICAgICAgICwgTGFzdAorICAgICAgICAsIHR5cGVuYW1lIGFwcGx5MjxGb3J3YXJkT3AsU3RhdGUsIHR5cGVuYW1lIGRlcmVmPEZpcnN0Pjo6dHlwZT46OnR5cGUKKyAgICAgICAgLCBGb3J3YXJkT3AKKyAgICAgICAgPgoreworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBMYXN0CisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgPgorc3RydWN0IGZvbGRfaW1wbDwgLTEsTGFzdCxMYXN0LFN0YXRlLEZvcndhcmRPcCA+Cit7CisgICAgdHlwZWRlZiBTdGF0ZSBzdGF0ZTsKKyAgICB0eXBlZGVmIExhc3QgaXRlcmF0b3I7Cit9OworCit9fX0KZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9td2N3L2Z1bGxfbGFtYmRhLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9td2N3L2Z1bGxfbGFtYmRhLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kZTY1OGQ4Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL213Y3cvZnVsbF9sYW1iZGEuaHBwCkBAIC0wLDAgKzEsNTU0IEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDEtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9hdXhfL2Z1bGxfbGFtYmRhLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8CisgICAgICBib29sIEMxID0gZmFsc2UsIGJvb2wgQzIgPSBmYWxzZSwgYm9vbCBDMyA9IGZhbHNlLCBib29sIEM0ID0gZmFsc2UKKyAgICAsIGJvb2wgQzUgPSBmYWxzZQorICAgID4KK3N0cnVjdCBsYW1iZGFfb3IKKyAgICA6IHRydWVfCit7Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgbGFtYmRhX29yPCBmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSA+CisgICAgOiBmYWxzZV8KK3sKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQKKyAgICAsIHR5cGVuYW1lIFRhZworICAgCisgICAgPgorc3RydWN0IGxhbWJkYQoreworICAgIHR5cGVkZWYgZmFsc2VfIGlzX2xlOworICAgIHR5cGVkZWYgVCByZXN1bHRfOworICAgIHR5cGVkZWYgVCB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUCisgICAgPgorc3RydWN0IGlzX2xhbWJkYV9leHByZXNzaW9uCisgICAgOiBsYW1iZGE8VD46OmlzX2xlCit7Cit9OworCit0ZW1wbGF0ZTwgaW50IE4sIHR5cGVuYW1lIFRhZyA+CitzdHJ1Y3QgbGFtYmRhPCBhcmc8Tj4sIFRhZyA+Cit7CisgICAgdHlwZWRlZiB0cnVlXyBpc19sZTsKKyAgICB0eXBlZGVmIG1wbDo6YXJnPE4+IHJlc3VsdF87IC8vIHF1YWxpZmllZCBmb3IgdGhlIHNha2Ugb2YgTUlQU3BybyA3LjQxCisgICAgdHlwZWRlZiBtcGw6OnByb3RlY3Q8cmVzdWx0Xz4gdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRgorICAgICwgdHlwZW5hbWUgVGFnCisgICAgPgorc3RydWN0IGxhbWJkYTwKKyAgICAgICAgICBiaW5kMDxGPgorICAgICAgICAsIFRhZworICAgICAgIAorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiBmYWxzZV8gaXNfbGU7CisgICAgdHlwZWRlZiBiaW5kMDwKKyAgICAgICAgICBGCisgICAgICAgID4gcmVzdWx0XzsKKworICAgIHR5cGVkZWYgcmVzdWx0XyB0eXBlOworfTsKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgSXNMRSwgdHlwZW5hbWUgVGFnCisgICAgLCB0ZW1wbGF0ZTwgdHlwZW5hbWUgUDEgPiBjbGFzcyBGCisgICAgLCB0eXBlbmFtZSBMMQorICAgID4KK3N0cnVjdCBsZV9yZXN1bHQxCit7CisgICAgdHlwZWRlZiBGPAorICAgICAgICAgIHR5cGVuYW1lIEwxOjp0eXBlCisgICAgICAgID4gcmVzdWx0XzsKKworICAgIHR5cGVkZWYgcmVzdWx0XyB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUYWcKKyAgICAsIHRlbXBsYXRlPCB0eXBlbmFtZSBQMSA+IGNsYXNzIEYKKyAgICAsIHR5cGVuYW1lIEwxCisgICAgPgorc3RydWN0IGxlX3Jlc3VsdDE8IHRydWVfLFRhZyxGLEwxID4KK3sKKyAgICB0eXBlZGVmIGJpbmQxPAorICAgICAgICAgIHF1b3RlMTwgRixUYWcgPgorICAgICAgICAsIHR5cGVuYW1lIEwxOjpyZXN1bHRfCisgICAgICAgID4gcmVzdWx0XzsKKworICAgIHR5cGVkZWYgbXBsOjpwcm90ZWN0PHJlc3VsdF8+IHR5cGU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKwordGVtcGxhdGU8CisgICAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgUDEgPiBjbGFzcyBGCisgICAgLCB0eXBlbmFtZSBUMQorICAgICwgdHlwZW5hbWUgVGFnCisgICAgPgorc3RydWN0IGxhbWJkYTwKKyAgICAgICAgICBGPFQxPgorICAgICAgICAsIFRhZworICAgICAgIAorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiBsYW1iZGE8IFQxLFRhZyA+IGwxOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbDE6OmlzX2xlIGlzX2xlMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGF1eDo6bGFtYmRhX29yPAorICAgICAgICAgIGlzX2xlMTo6dmFsdWUKKyAgICAgICAgPjo6dHlwZSBpc19sZTsKKworICAgIHR5cGVkZWYgYXV4OjpsZV9yZXN1bHQxPAorICAgICAgICAgIGlzX2xlLCBUYWcsIEYsIGwxCisgICAgICAgID4gbGVfcmVzdWx0XzsKKworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGVfcmVzdWx0Xzo6cmVzdWx0XyByZXN1bHRfOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGVfcmVzdWx0Xzo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMQorICAgICwgdHlwZW5hbWUgVGFnCisgICAgPgorc3RydWN0IGxhbWJkYTwKKyAgICAgICAgICBiaW5kMTwgRixUMSA+CisgICAgICAgICwgVGFnCisgICAgICAgCisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIGZhbHNlXyBpc19sZTsKKyAgICB0eXBlZGVmIGJpbmQxPAorICAgICAgICAgIEYKKyAgICAgICAgLCBUMQorICAgICAgICA+IHJlc3VsdF87CisKKyAgICB0eXBlZGVmIHJlc3VsdF8gdHlwZTsKK307CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIElzTEUsIHR5cGVuYW1lIFRhZworICAgICwgdGVtcGxhdGU8IHR5cGVuYW1lIFAxLCB0eXBlbmFtZSBQMiA+IGNsYXNzIEYKKyAgICAsIHR5cGVuYW1lIEwxLCB0eXBlbmFtZSBMMgorICAgID4KK3N0cnVjdCBsZV9yZXN1bHQyCit7CisgICAgdHlwZWRlZiBGPAorICAgICAgICAgIHR5cGVuYW1lIEwxOjp0eXBlLCB0eXBlbmFtZSBMMjo6dHlwZQorICAgICAgICA+IHJlc3VsdF87CisKKyAgICB0eXBlZGVmIHJlc3VsdF8gdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVGFnCisgICAgLCB0ZW1wbGF0ZTwgdHlwZW5hbWUgUDEsIHR5cGVuYW1lIFAyID4gY2xhc3MgRgorICAgICwgdHlwZW5hbWUgTDEsIHR5cGVuYW1lIEwyCisgICAgPgorc3RydWN0IGxlX3Jlc3VsdDI8IHRydWVfLFRhZyxGLEwxLEwyID4KK3sKKyAgICB0eXBlZGVmIGJpbmQyPAorICAgICAgICAgIHF1b3RlMjwgRixUYWcgPgorICAgICAgICAsIHR5cGVuYW1lIEwxOjpyZXN1bHRfLCB0eXBlbmFtZSBMMjo6cmVzdWx0XworICAgICAgICA+IHJlc3VsdF87CisKKyAgICB0eXBlZGVmIG1wbDo6cHJvdGVjdDxyZXN1bHRfPiB0eXBlOworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK3RlbXBsYXRlPAorICAgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFAxLCB0eXBlbmFtZSBQMiA+IGNsYXNzIEYKKyAgICAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMgorICAgICwgdHlwZW5hbWUgVGFnCisgICAgPgorc3RydWN0IGxhbWJkYTwKKyAgICAgICAgICBGPCBUMSxUMiA+CisgICAgICAgICwgVGFnCisgICAgICAgCisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIGxhbWJkYTwgVDEsVGFnID4gbDE7CisgICAgdHlwZWRlZiBsYW1iZGE8IFQyLFRhZyA+IGwyOworICAgIAorICAgIHR5cGVkZWYgdHlwZW5hbWUgbDE6OmlzX2xlIGlzX2xlMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGwyOjppc19sZSBpc19sZTI7CisgICAgCisKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGF1eDo6bGFtYmRhX29yPAorICAgICAgICAgIGlzX2xlMTo6dmFsdWUsIGlzX2xlMjo6dmFsdWUKKyAgICAgICAgPjo6dHlwZSBpc19sZTsKKworICAgIHR5cGVkZWYgYXV4OjpsZV9yZXN1bHQyPAorICAgICAgICAgIGlzX2xlLCBUYWcsIEYsIGwxLCBsMgorICAgICAgICA+IGxlX3Jlc3VsdF87CisKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxlX3Jlc3VsdF86OnJlc3VsdF8gcmVzdWx0XzsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxlX3Jlc3VsdF86OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyCisgICAgLCB0eXBlbmFtZSBUYWcKKyAgICA+CitzdHJ1Y3QgbGFtYmRhPAorICAgICAgICAgIGJpbmQyPCBGLFQxLFQyID4KKyAgICAgICAgLCBUYWcKKyAgICAgICAKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgZmFsc2VfIGlzX2xlOworICAgIHR5cGVkZWYgYmluZDI8CisgICAgICAgICAgRgorICAgICAgICAsIFQxLCBUMgorICAgICAgICA+IHJlc3VsdF87CisKKyAgICB0eXBlZGVmIHJlc3VsdF8gdHlwZTsKK307CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIElzTEUsIHR5cGVuYW1lIFRhZworICAgICwgdGVtcGxhdGU8IHR5cGVuYW1lIFAxLCB0eXBlbmFtZSBQMiwgdHlwZW5hbWUgUDMgPiBjbGFzcyBGCisgICAgLCB0eXBlbmFtZSBMMSwgdHlwZW5hbWUgTDIsIHR5cGVuYW1lIEwzCisgICAgPgorc3RydWN0IGxlX3Jlc3VsdDMKK3sKKyAgICB0eXBlZGVmIEY8CisgICAgICAgICAgdHlwZW5hbWUgTDE6OnR5cGUsIHR5cGVuYW1lIEwyOjp0eXBlLCB0eXBlbmFtZSBMMzo6dHlwZQorICAgICAgICA+IHJlc3VsdF87CisKKyAgICB0eXBlZGVmIHJlc3VsdF8gdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVGFnCisgICAgLCB0ZW1wbGF0ZTwgdHlwZW5hbWUgUDEsIHR5cGVuYW1lIFAyLCB0eXBlbmFtZSBQMyA+IGNsYXNzIEYKKyAgICAsIHR5cGVuYW1lIEwxLCB0eXBlbmFtZSBMMiwgdHlwZW5hbWUgTDMKKyAgICA+CitzdHJ1Y3QgbGVfcmVzdWx0MzwgdHJ1ZV8sVGFnLEYsTDEsTDIsTDMgPgoreworICAgIHR5cGVkZWYgYmluZDM8CisgICAgICAgICAgcXVvdGUzPCBGLFRhZyA+CisgICAgICAgICwgdHlwZW5hbWUgTDE6OnJlc3VsdF8sIHR5cGVuYW1lIEwyOjpyZXN1bHRfLCB0eXBlbmFtZSBMMzo6cmVzdWx0XworICAgICAgICA+IHJlc3VsdF87CisKKyAgICB0eXBlZGVmIG1wbDo6cHJvdGVjdDxyZXN1bHRfPiB0eXBlOworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK3RlbXBsYXRlPAorICAgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFAxLCB0eXBlbmFtZSBQMiwgdHlwZW5hbWUgUDMgPiBjbGFzcyBGCisgICAgLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzCisgICAgLCB0eXBlbmFtZSBUYWcKKyAgICA+CitzdHJ1Y3QgbGFtYmRhPAorICAgICAgICAgIEY8IFQxLFQyLFQzID4KKyAgICAgICAgLCBUYWcKKyAgICAgICAKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgbGFtYmRhPCBUMSxUYWcgPiBsMTsKKyAgICB0eXBlZGVmIGxhbWJkYTwgVDIsVGFnID4gbDI7CisgICAgdHlwZWRlZiBsYW1iZGE8IFQzLFRhZyA+IGwzOworICAgIAorICAgIHR5cGVkZWYgdHlwZW5hbWUgbDE6OmlzX2xlIGlzX2xlMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGwyOjppc19sZSBpc19sZTI7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsMzo6aXNfbGUgaXNfbGUzOworICAgIAorCisgICAgdHlwZWRlZiB0eXBlbmFtZSBhdXg6OmxhbWJkYV9vcjwKKyAgICAgICAgICBpc19sZTE6OnZhbHVlLCBpc19sZTI6OnZhbHVlLCBpc19sZTM6OnZhbHVlCisgICAgICAgID46OnR5cGUgaXNfbGU7CisKKyAgICB0eXBlZGVmIGF1eDo6bGVfcmVzdWx0MzwKKyAgICAgICAgICBpc19sZSwgVGFnLCBGLCBsMSwgbDIsIGwzCisgICAgICAgID4gbGVfcmVzdWx0XzsKKworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGVfcmVzdWx0Xzo6cmVzdWx0XyByZXN1bHRfOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGVfcmVzdWx0Xzo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzCisgICAgLCB0eXBlbmFtZSBUYWcKKyAgICA+CitzdHJ1Y3QgbGFtYmRhPAorICAgICAgICAgIGJpbmQzPCBGLFQxLFQyLFQzID4KKyAgICAgICAgLCBUYWcKKyAgICAgICAKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgZmFsc2VfIGlzX2xlOworICAgIHR5cGVkZWYgYmluZDM8CisgICAgICAgICAgRgorICAgICAgICAsIFQxLCBUMiwgVDMKKyAgICAgICAgPiByZXN1bHRfOworCisgICAgdHlwZWRlZiByZXN1bHRfIHR5cGU7Cit9OworCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBJc0xFLCB0eXBlbmFtZSBUYWcKKyAgICAsIHRlbXBsYXRlPCB0eXBlbmFtZSBQMSwgdHlwZW5hbWUgUDIsIHR5cGVuYW1lIFAzLCB0eXBlbmFtZSBQNCA+IGNsYXNzIEYKKyAgICAsIHR5cGVuYW1lIEwxLCB0eXBlbmFtZSBMMiwgdHlwZW5hbWUgTDMsIHR5cGVuYW1lIEw0CisgICAgPgorc3RydWN0IGxlX3Jlc3VsdDQKK3sKKyAgICB0eXBlZGVmIEY8CisgICAgICAgICAgdHlwZW5hbWUgTDE6OnR5cGUsIHR5cGVuYW1lIEwyOjp0eXBlLCB0eXBlbmFtZSBMMzo6dHlwZQorICAgICAgICAsIHR5cGVuYW1lIEw0Ojp0eXBlCisgICAgICAgID4gcmVzdWx0XzsKKworICAgIHR5cGVkZWYgcmVzdWx0XyB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUYWcKKyAgICAsIHRlbXBsYXRlPCB0eXBlbmFtZSBQMSwgdHlwZW5hbWUgUDIsIHR5cGVuYW1lIFAzLCB0eXBlbmFtZSBQNCA+IGNsYXNzIEYKKyAgICAsIHR5cGVuYW1lIEwxLCB0eXBlbmFtZSBMMiwgdHlwZW5hbWUgTDMsIHR5cGVuYW1lIEw0CisgICAgPgorc3RydWN0IGxlX3Jlc3VsdDQ8IHRydWVfLFRhZyxGLEwxLEwyLEwzLEw0ID4KK3sKKyAgICB0eXBlZGVmIGJpbmQ0PAorICAgICAgICAgIHF1b3RlNDwgRixUYWcgPgorICAgICAgICAsIHR5cGVuYW1lIEwxOjpyZXN1bHRfLCB0eXBlbmFtZSBMMjo6cmVzdWx0XywgdHlwZW5hbWUgTDM6OnJlc3VsdF8KKyAgICAgICAgLCB0eXBlbmFtZSBMNDo6cmVzdWx0XworICAgICAgICA+IHJlc3VsdF87CisKKyAgICB0eXBlZGVmIG1wbDo6cHJvdGVjdDxyZXN1bHRfPiB0eXBlOworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK3RlbXBsYXRlPAorICAgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFAxLCB0eXBlbmFtZSBQMiwgdHlwZW5hbWUgUDMsIHR5cGVuYW1lIFA0ID4gY2xhc3MgRgorICAgICwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFRhZworICAgID4KK3N0cnVjdCBsYW1iZGE8CisgICAgICAgICAgRjwgVDEsVDIsVDMsVDQgPgorICAgICAgICAsIFRhZworICAgICAgIAorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiBsYW1iZGE8IFQxLFRhZyA+IGwxOworICAgIHR5cGVkZWYgbGFtYmRhPCBUMixUYWcgPiBsMjsKKyAgICB0eXBlZGVmIGxhbWJkYTwgVDMsVGFnID4gbDM7CisgICAgdHlwZWRlZiBsYW1iZGE8IFQ0LFRhZyA+IGw0OworICAgIAorICAgIHR5cGVkZWYgdHlwZW5hbWUgbDE6OmlzX2xlIGlzX2xlMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGwyOjppc19sZSBpc19sZTI7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsMzo6aXNfbGUgaXNfbGUzOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbDQ6OmlzX2xlIGlzX2xlNDsKKyAgICAKKworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXV4OjpsYW1iZGFfb3I8CisgICAgICAgICAgaXNfbGUxOjp2YWx1ZSwgaXNfbGUyOjp2YWx1ZSwgaXNfbGUzOjp2YWx1ZSwgaXNfbGU0Ojp2YWx1ZQorICAgICAgICA+Ojp0eXBlIGlzX2xlOworCisgICAgdHlwZWRlZiBhdXg6OmxlX3Jlc3VsdDQ8CisgICAgICAgICAgaXNfbGUsIFRhZywgRiwgbDEsIGwyLCBsMywgbDQKKyAgICAgICAgPiBsZV9yZXN1bHRfOworCisgICAgdHlwZWRlZiB0eXBlbmFtZSBsZV9yZXN1bHRfOjpyZXN1bHRfIHJlc3VsdF87CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsZV9yZXN1bHRfOjp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUYWcKKyAgICA+CitzdHJ1Y3QgbGFtYmRhPAorICAgICAgICAgIGJpbmQ0PCBGLFQxLFQyLFQzLFQ0ID4KKyAgICAgICAgLCBUYWcKKyAgICAgICAKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgZmFsc2VfIGlzX2xlOworICAgIHR5cGVkZWYgYmluZDQ8CisgICAgICAgICAgRgorICAgICAgICAsIFQxLCBUMiwgVDMsIFQ0CisgICAgICAgID4gcmVzdWx0XzsKKworICAgIHR5cGVkZWYgcmVzdWx0XyB0eXBlOworfTsKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgSXNMRSwgdHlwZW5hbWUgVGFnCisgICAgLCB0ZW1wbGF0ZTwgdHlwZW5hbWUgUDEsIHR5cGVuYW1lIFAyLCB0eXBlbmFtZSBQMywgdHlwZW5hbWUgUDQsIHR5cGVuYW1lIFA1ID4gY2xhc3MgRgorICAgICwgdHlwZW5hbWUgTDEsIHR5cGVuYW1lIEwyLCB0eXBlbmFtZSBMMywgdHlwZW5hbWUgTDQsIHR5cGVuYW1lIEw1CisgICAgPgorc3RydWN0IGxlX3Jlc3VsdDUKK3sKKyAgICB0eXBlZGVmIEY8CisgICAgICAgICAgdHlwZW5hbWUgTDE6OnR5cGUsIHR5cGVuYW1lIEwyOjp0eXBlLCB0eXBlbmFtZSBMMzo6dHlwZQorICAgICAgICAsIHR5cGVuYW1lIEw0Ojp0eXBlLCB0eXBlbmFtZSBMNTo6dHlwZQorICAgICAgICA+IHJlc3VsdF87CisKKyAgICB0eXBlZGVmIHJlc3VsdF8gdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVGFnCisgICAgLCB0ZW1wbGF0ZTwgdHlwZW5hbWUgUDEsIHR5cGVuYW1lIFAyLCB0eXBlbmFtZSBQMywgdHlwZW5hbWUgUDQsIHR5cGVuYW1lIFA1ID4gY2xhc3MgRgorICAgICwgdHlwZW5hbWUgTDEsIHR5cGVuYW1lIEwyLCB0eXBlbmFtZSBMMywgdHlwZW5hbWUgTDQsIHR5cGVuYW1lIEw1CisgICAgPgorc3RydWN0IGxlX3Jlc3VsdDU8IHRydWVfLFRhZyxGLEwxLEwyLEwzLEw0LEw1ID4KK3sKKyAgICB0eXBlZGVmIGJpbmQ1PAorICAgICAgICAgIHF1b3RlNTwgRixUYWcgPgorICAgICAgICAsIHR5cGVuYW1lIEwxOjpyZXN1bHRfLCB0eXBlbmFtZSBMMjo6cmVzdWx0XywgdHlwZW5hbWUgTDM6OnJlc3VsdF8KKyAgICAgICAgLCB0eXBlbmFtZSBMNDo6cmVzdWx0XywgdHlwZW5hbWUgTDU6OnJlc3VsdF8KKyAgICAgICAgPiByZXN1bHRfOworCisgICAgdHlwZWRlZiBtcGw6OnByb3RlY3Q8cmVzdWx0Xz4gdHlwZTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCit0ZW1wbGF0ZTwKKyAgICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFAxLCB0eXBlbmFtZSBQMiwgdHlwZW5hbWUgUDMsIHR5cGVuYW1lIFA0CisgICAgICAgICwgdHlwZW5hbWUgUDUKKyAgICAgICAgPgorICAgICAgY2xhc3MgRgorICAgICwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQsIHR5cGVuYW1lIFQ1CisgICAgLCB0eXBlbmFtZSBUYWcKKyAgICA+CitzdHJ1Y3QgbGFtYmRhPAorICAgICAgICAgIEY8IFQxLFQyLFQzLFQ0LFQ1ID4KKyAgICAgICAgLCBUYWcKKyAgICAgICAKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgbGFtYmRhPCBUMSxUYWcgPiBsMTsKKyAgICB0eXBlZGVmIGxhbWJkYTwgVDIsVGFnID4gbDI7CisgICAgdHlwZWRlZiBsYW1iZGE8IFQzLFRhZyA+IGwzOworICAgIHR5cGVkZWYgbGFtYmRhPCBUNCxUYWcgPiBsNDsKKyAgICB0eXBlZGVmIGxhbWJkYTwgVDUsVGFnID4gbDU7CisgICAgCisgICAgdHlwZWRlZiB0eXBlbmFtZSBsMTo6aXNfbGUgaXNfbGUxOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbDI6OmlzX2xlIGlzX2xlMjsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGwzOjppc19sZSBpc19sZTM7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsNDo6aXNfbGUgaXNfbGU0OworICAgIHR5cGVkZWYgdHlwZW5hbWUgbDU6OmlzX2xlIGlzX2xlNTsKKyAgICAKKworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXV4OjpsYW1iZGFfb3I8CisgICAgICAgICAgaXNfbGUxOjp2YWx1ZSwgaXNfbGUyOjp2YWx1ZSwgaXNfbGUzOjp2YWx1ZSwgaXNfbGU0Ojp2YWx1ZQorICAgICAgICAsIGlzX2xlNTo6dmFsdWUKKyAgICAgICAgPjo6dHlwZSBpc19sZTsKKworICAgIHR5cGVkZWYgYXV4OjpsZV9yZXN1bHQ1PAorICAgICAgICAgIGlzX2xlLCBUYWcsIEYsIGwxLCBsMiwgbDMsIGw0LCBsNQorICAgICAgICA+IGxlX3Jlc3VsdF87CisKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxlX3Jlc3VsdF86OnJlc3VsdF8gcmVzdWx0XzsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxlX3Jlc3VsdF86OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1CisgICAgLCB0eXBlbmFtZSBUYWcKKyAgICA+CitzdHJ1Y3QgbGFtYmRhPAorICAgICAgICAgIGJpbmQ1PCBGLFQxLFQyLFQzLFQ0LFQ1ID4KKyAgICAgICAgLCBUYWcKKyAgICAgICAKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgZmFsc2VfIGlzX2xlOworICAgIHR5cGVkZWYgYmluZDU8CisgICAgICAgICAgRgorICAgICAgICAsIFQxLCBUMiwgVDMsIFQ0LCBUNQorICAgICAgICA+IHJlc3VsdF87CisKKyAgICB0eXBlZGVmIHJlc3VsdF8gdHlwZTsKK307CisKKy8vLyBzcGVjaWFsIGNhc2UgZm9yICdwcm90ZWN0JwordGVtcGxhdGU8IHR5cGVuYW1lIFQsIHR5cGVuYW1lIFRhZyA+CitzdHJ1Y3QgbGFtYmRhPCBtcGw6OnByb3RlY3Q8VD4sIFRhZyA+Cit7CisgICAgdHlwZWRlZiBmYWxzZV8gaXNfbGU7CisgICAgdHlwZWRlZiBtcGw6OnByb3RlY3Q8VD4gcmVzdWx0XzsKKyAgICB0eXBlZGVmIHJlc3VsdF8gdHlwZTsKK307CisKKy8vLyBzcGVjaWFsaXphdGlvbnMgZm9yIHRoZSBtYWluICdiaW5kJyBmb3JtCisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1CisgICAgLCB0eXBlbmFtZSBUYWcKKyAgICA+CitzdHJ1Y3QgbGFtYmRhPAorICAgICAgICAgIGJpbmQ8IEYsVDEsVDIsVDMsVDQsVDUgPgorICAgICAgICAsIFRhZworICAgICAgIAorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiBmYWxzZV8gaXNfbGU7CisgICAgdHlwZWRlZiBiaW5kPCBGLFQxLFQyLFQzLFQ0LFQ1ID4gcmVzdWx0XzsKKyAgICB0eXBlZGVmIHJlc3VsdF8gdHlwZTsKK307CisKKy8vLyB3b3JrYXJvdW5kIGZvciBNV0NXIDguMysvRURHIDwgMzAzLCBsZWFkcyB0byBhbWJpZ3VpdHkgb24gRGlnaXRhbCBNYXJzCisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVGFnMSwgdHlwZW5hbWUgVGFnMgorICAgID4KK3N0cnVjdCBsYW1iZGE8CisgICAgICAgICAgbGFtYmRhPCBGLFRhZzEgPgorICAgICAgICAsIFRhZzIKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgbGFtYmRhPCBGLFRhZzIgPiBsMTsKKyAgICB0eXBlZGVmIGxhbWJkYTwgVGFnMSxUYWcyID4gbDI7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsMTo6aXNfbGUgaXNfbGU7CisgICAgdHlwZWRlZiBhdXg6OmxlX3Jlc3VsdDI8aXNfbGUsIFRhZzIsIG1wbDo6bGFtYmRhLCBsMSwgbDI+IGxlX3Jlc3VsdF87CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsZV9yZXN1bHRfOjpyZXN1bHRfIHJlc3VsdF87CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsZV9yZXN1bHRfOjp0eXBlIHR5cGU7Cit9OworCitCT09TVF9NUExfQVVYX05BX1NQRUMoMiwgbGFtYmRhKQorCit9fQorCmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXdjdy9ncmVhdGVyLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9td2N3L2dyZWF0ZXIuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUwNWZhM2MKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXdjdy9ncmVhdGVyLmhwcApAQCAtMCwwICsxLDk0IEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9ncmVhdGVyLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFRhZzEKKyAgICAsIHR5cGVuYW1lIFRhZzIKKyAgICA+CitzdHJ1Y3QgZ3JlYXRlcl9pbXBsCisgICAgOiBpZl9jPAorICAgICAgICAgICggQk9PU1RfTVBMX0FVWF9ORVNURURfVkFMVUVfV0tORChpbnQsIFRhZzEpCisgICAgICAgICAgICAgID4gQk9PU1RfTVBMX0FVWF9ORVNURURfVkFMVUVfV0tORChpbnQsIFRhZzIpCisgICAgICAgICAgICApCisKKyAgICAgICAgLCBhdXg6OmNhc3QybmRfaW1wbDwgZ3JlYXRlcl9pbXBsPCBUYWcxLFRhZzEgPixUYWcxLCBUYWcyID4KKyAgICAgICAgLCBhdXg6OmNhc3Qxc3RfaW1wbDwgZ3JlYXRlcl9pbXBsPCBUYWcyLFRhZzIgPixUYWcxLCBUYWcyID4KKyAgICAgICAgPjo6dHlwZQoreworfTsKKworLy8vIGZvciBEaWdpdGFsIE1hcnMgQysrL2NvbXBpbGVycyB3aXRoIG5vIENUUFMvVFRQIHN1cHBvcnQKK3RlbXBsYXRlPD4gc3RydWN0IGdyZWF0ZXJfaW1wbDwgbmEsbmEgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUYWcgPiBzdHJ1Y3QgZ3JlYXRlcl9pbXBsPCBuYSxUYWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUYWcgPiBzdHJ1Y3QgZ3JlYXRlcl9pbXBsPCBUYWcsbmEgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUID4gc3RydWN0IGdyZWF0ZXJfdGFnCit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBUOjp0YWcgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMSkKKyAgICAsIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjIpCisgICAgPgorc3RydWN0IGdyZWF0ZXIKKworICAgIDogZ3JlYXRlcl9pbXBsPAorICAgICAgICAgIHR5cGVuYW1lIGdyZWF0ZXJfdGFnPE4xPjo6dHlwZQorICAgICAgICAsIHR5cGVuYW1lIGdyZWF0ZXJfdGFnPE4yPjo6dHlwZQorICAgICAgICA+Ojp0ZW1wbGF0ZSBhcHBseTwgTjEsTjIgPjo6dHlwZQoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoMiwgZ3JlYXRlciwgKE4xLCBOMikpCisKK307CisKK0JPT1NUX01QTF9BVVhfTkFfU1BFQzIoMiwgMiwgZ3JlYXRlcikKKworfX0KKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBncmVhdGVyX2ltcGw8IGludGVncmFsX2NfdGFnLGludGVncmFsX2NfdGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgTjEsIHR5cGVuYW1lIE4yID4gc3RydWN0IGFwcGx5CisKKyAgICAgICAgOiBib29sXzwgKCBCT09TVF9NUExfQVVYX1ZBTFVFX1dLTkQoTjEpOjp2YWx1ZSA+IEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChOMik6OnZhbHVlICkgPgorICAgIHsKKyAgICB9OworfTsKKworfX0KZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9td2N3L2dyZWF0ZXJfZXF1YWwuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL213Y3cvZ3JlYXRlcl9lcXVhbC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjg5YTU4NwotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9td2N3L2dyZWF0ZXJfZXF1YWwuaHBwCkBAIC0wLDAgKzEsOTQgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL2dyZWF0ZXJfZXF1YWwuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVGFnMQorICAgICwgdHlwZW5hbWUgVGFnMgorICAgID4KK3N0cnVjdCBncmVhdGVyX2VxdWFsX2ltcGwKKyAgICA6IGlmX2M8CisgICAgICAgICAgKCBCT09TVF9NUExfQVVYX05FU1RFRF9WQUxVRV9XS05EKGludCwgVGFnMSkKKyAgICAgICAgICAgICAgPiBCT09TVF9NUExfQVVYX05FU1RFRF9WQUxVRV9XS05EKGludCwgVGFnMikKKyAgICAgICAgICAgICkKKworICAgICAgICAsIGF1eDo6Y2FzdDJuZF9pbXBsPCBncmVhdGVyX2VxdWFsX2ltcGw8IFRhZzEsVGFnMSA+LFRhZzEsIFRhZzIgPgorICAgICAgICAsIGF1eDo6Y2FzdDFzdF9pbXBsPCBncmVhdGVyX2VxdWFsX2ltcGw8IFRhZzIsVGFnMiA+LFRhZzEsIFRhZzIgPgorICAgICAgICA+Ojp0eXBlCit7Cit9OworCisvLy8gZm9yIERpZ2l0YWwgTWFycyBDKysvY29tcGlsZXJzIHdpdGggbm8gQ1RQUy9UVFAgc3VwcG9ydAordGVtcGxhdGU8PiBzdHJ1Y3QgZ3JlYXRlcl9lcXVhbF9pbXBsPCBuYSxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFRhZyA+IHN0cnVjdCBncmVhdGVyX2VxdWFsX2ltcGw8IG5hLFRhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFRhZyA+IHN0cnVjdCBncmVhdGVyX2VxdWFsX2ltcGw8IFRhZyxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFQgPiBzdHJ1Y3QgZ3JlYXRlcl9lcXVhbF90YWcKK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIFQ6OnRhZyB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4xKQorICAgICwgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMikKKyAgICA+CitzdHJ1Y3QgZ3JlYXRlcl9lcXVhbAorCisgICAgOiBncmVhdGVyX2VxdWFsX2ltcGw8CisgICAgICAgICAgdHlwZW5hbWUgZ3JlYXRlcl9lcXVhbF90YWc8TjE+Ojp0eXBlCisgICAgICAgICwgdHlwZW5hbWUgZ3JlYXRlcl9lcXVhbF90YWc8TjI+Ojp0eXBlCisgICAgICAgID46OnRlbXBsYXRlIGFwcGx5PCBOMSxOMiA+Ojp0eXBlCit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgyLCBncmVhdGVyX2VxdWFsLCAoTjEsIE4yKSkKKworfTsKKworQk9PU1RfTVBMX0FVWF9OQV9TUEVDMigyLCAyLCBncmVhdGVyX2VxdWFsKQorCit9fQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8Pgorc3RydWN0IGdyZWF0ZXJfZXF1YWxfaW1wbDwgaW50ZWdyYWxfY190YWcsaW50ZWdyYWxfY190YWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBOMSwgdHlwZW5hbWUgTjIgPiBzdHJ1Y3QgYXBwbHkKKworICAgICAgICA6IGJvb2xfPCAoIEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChOMSk6OnZhbHVlID49IEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChOMik6OnZhbHVlICkgPgorICAgIHsKKyAgICB9OworfTsKKworfX0KZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9td2N3L2luaGVyaXQuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL213Y3cvaW5oZXJpdC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDFmMzg3ZgotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9td2N3L2luaGVyaXQuaHBwCkBAIC0wLDAgKzEsMTQxIEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDEtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9pbmhlcml0LmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oVDEpCisgICAgLCB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKFQyKQorICAgID4KK3N0cnVjdCBpbmhlcml0MgorICAgIDogVDEsIFQyCit7CisgICAgdHlwZWRlZiBpbmhlcml0MiB0eXBlOworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoMiwgaW5oZXJpdDIsIChUMSwgVDIpKQorfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFQxID4KK3N0cnVjdCBpbmhlcml0MjwgVDEsZW1wdHlfYmFzZSA+Cit7CisgICAgdHlwZWRlZiBUMSB0eXBlOworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlRfU1BFQygyLCBpbmhlcml0MiwgKFQxLCBlbXB0eV9iYXNlKSkKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUMiA+CitzdHJ1Y3QgaW5oZXJpdDI8IGVtcHR5X2Jhc2UsVDIgPgoreworICAgIHR5cGVkZWYgVDIgdHlwZTsKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUX1NQRUMoMiwgaW5oZXJpdDIsIChlbXB0eV9iYXNlLCBUMikpCit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgaW5oZXJpdDI8IGVtcHR5X2Jhc2UsZW1wdHlfYmFzZSA+Cit7CisgICAgdHlwZWRlZiBlbXB0eV9iYXNlIHR5cGU7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVF9TUEVDKDIsIGluaGVyaXQyLCAoZW1wdHlfYmFzZSwgZW1wdHlfYmFzZSkpCit9OworCitCT09TVF9NUExfQVVYX05BX1NQRUMoMiwgaW5oZXJpdDIpCisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDEgPSBuYSwgdHlwZW5hbWUgVDIgPSBuYSwgdHlwZW5hbWUgVDMgPSBuYQorICAgID4KK3N0cnVjdCBpbmhlcml0MworICAgIDogaW5oZXJpdDI8CisgICAgICAgICAgdHlwZW5hbWUgaW5oZXJpdDI8CisgICAgICAgICAgICAgIFQxLCBUMgorICAgICAgICAgICAgPjo6dHlwZQorICAgICAgICAsIFQzCisgICAgICAgID4KK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKAorICAgICAgICAgIDMKKyAgICAgICAgLCBpbmhlcml0MworICAgICAgICAsICggVDEsIFQyLCBUMykKKyAgICAgICAgKQorfTsKKworQk9PU1RfTVBMX0FVWF9OQV9TUEVDKDMsIGluaGVyaXQzKQorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQxID0gbmEsIHR5cGVuYW1lIFQyID0gbmEsIHR5cGVuYW1lIFQzID0gbmEsIHR5cGVuYW1lIFQ0ID0gbmEKKyAgICA+CitzdHJ1Y3QgaW5oZXJpdDQKKyAgICA6IGluaGVyaXQyPAorICAgICAgICAgIHR5cGVuYW1lIGluaGVyaXQzPAorICAgICAgICAgICAgICBUMSwgVDIsIFQzCisgICAgICAgICAgICA+Ojp0eXBlCisgICAgICAgICwgVDQKKyAgICAgICAgPgoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoCisgICAgICAgICAgNAorICAgICAgICAsIGluaGVyaXQ0CisgICAgICAgICwgKCBUMSwgVDIsIFQzLCBUNCkKKyAgICAgICAgKQorfTsKKworQk9PU1RfTVBMX0FVWF9OQV9TUEVDKDQsIGluaGVyaXQ0KQorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQxID0gbmEsIHR5cGVuYW1lIFQyID0gbmEsIHR5cGVuYW1lIFQzID0gbmEsIHR5cGVuYW1lIFQ0ID0gbmEKKyAgICAsIHR5cGVuYW1lIFQ1ID0gbmEKKyAgICA+CitzdHJ1Y3QgaW5oZXJpdDUKKyAgICA6IGluaGVyaXQyPAorICAgICAgICAgIHR5cGVuYW1lIGluaGVyaXQ0PAorICAgICAgICAgICAgICBUMSwgVDIsIFQzLCBUNAorICAgICAgICAgICAgPjo6dHlwZQorICAgICAgICAsIFQ1CisgICAgICAgID4KK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKAorICAgICAgICAgIDUKKyAgICAgICAgLCBpbmhlcml0NQorICAgICAgICAsICggVDEsIFQyLCBUMywgVDQsIFQ1KQorICAgICAgICApCit9OworCitCT09TVF9NUExfQVVYX05BX1NQRUMoNSwgaW5oZXJpdDUpCisKKy8vLyBwcmltYXJ5IHRlbXBsYXRlCisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDEgPSBlbXB0eV9iYXNlLCB0eXBlbmFtZSBUMiA9IGVtcHR5X2Jhc2UKKyAgICAsIHR5cGVuYW1lIFQzID0gZW1wdHlfYmFzZSwgdHlwZW5hbWUgVDQgPSBlbXB0eV9iYXNlCisgICAgLCB0eXBlbmFtZSBUNSA9IGVtcHR5X2Jhc2UKKyAgICA+CitzdHJ1Y3QgaW5oZXJpdAorICAgIDogaW5oZXJpdDU8IFQxLFQyLFQzLFQ0LFQ1ID4KK3sKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBpbmhlcml0PCBuYSxuYSxuYSxuYSxuYSA+Cit7CisgICAgdGVtcGxhdGU8CisKKyAgICAgICAgICB0eXBlbmFtZSBUMSA9IGVtcHR5X2Jhc2UsIHR5cGVuYW1lIFQyID0gZW1wdHlfYmFzZQorICAgICAgICAsIHR5cGVuYW1lIFQzID0gZW1wdHlfYmFzZSwgdHlwZW5hbWUgVDQgPSBlbXB0eV9iYXNlCisgICAgICAgICwgdHlwZW5hbWUgVDUgPSBlbXB0eV9iYXNlCisKKyAgICAgICAgPgorICAgIHN0cnVjdCBhcHBseQorICAgICAgICA6IGluaGVyaXQ8IFQxLFQyLFQzLFQ0LFQ1ID4KKyAgICB7CisgICAgfTsKK307CisKK0JPT1NUX01QTF9BVVhfTkFfU1BFQ19MQU1CREEoNSwgaW5oZXJpdCkKK0JPT1NUX01QTF9BVVhfTkFfU1BFQ19BUklUWSg1LCBpbmhlcml0KQorQk9PU1RfTVBMX0FVWF9OQV9TUEVDX1RFTVBMQVRFX0FSSVRZKDUsIDUsIGluaGVyaXQpCit9fQorCmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXdjdy9pdGVyX2ZvbGRfaWZfaW1wbC5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXdjdy9pdGVyX2ZvbGRfaWZfaW1wbC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjBhMjg2NAotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9td2N3L2l0ZXJfZm9sZF9pZl9pbXBsLmhwcApAQCAtMCwwICsxLDEzMyBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAxLTIwMDQKKy8vIENvcHlyaWdodCBEYXZpZCBBYnJhaGFtcyAyMDAxLTIwMDIKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvYXV4Xy9pdGVyX2ZvbGRfaWZfaW1wbC5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsgbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBJdGVyYXRvciwgdHlwZW5hbWUgU3RhdGUgPgorc3RydWN0IGl0ZXJfZm9sZF9pZl9udWxsX3N0ZXAKK3sKKyAgICB0eXBlZGVmIFN0YXRlIHN0YXRlOworICAgIHR5cGVkZWYgSXRlcmF0b3IgaXRlcmF0b3I7Cit9OworCit0ZW1wbGF0ZTwgYm9vbCA+CitzdHJ1Y3QgaXRlcl9mb2xkX2lmX3N0ZXBfaW1wbAoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIEl0ZXJhdG9yCisgICAgICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAgICAgLCB0eXBlbmFtZSBTdGF0ZU9wCisgICAgICAgICwgdHlwZW5hbWUgSXRlcmF0b3JPcAorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBTdGF0ZU9wLFN0YXRlLEl0ZXJhdG9yID46OnR5cGUgc3RhdGU7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgSXRlcmF0b3JPcDo6dHlwZSBpdGVyYXRvcjsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGl0ZXJfZm9sZF9pZl9zdGVwX2ltcGw8ZmFsc2U+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgSXRlcmF0b3IKKyAgICAgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICAgICAsIHR5cGVuYW1lIFN0YXRlT3AKKyAgICAgICAgLCB0eXBlbmFtZSBJdGVyYXRvck9wCisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiBTdGF0ZSBzdGF0ZTsKKyAgICAgICAgdHlwZWRlZiBJdGVyYXRvciBpdGVyYXRvcjsKKyAgICB9OworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBJdGVyYXRvcgorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgICwgdHlwZW5hbWUgUHJlZGljYXRlCisgICAgPgorc3RydWN0IGl0ZXJfZm9sZF9pZl9mb3J3YXJkX3N0ZXAKK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgUHJlZGljYXRlLFN0YXRlLEl0ZXJhdG9yID46OnR5cGUgbm90X2xhc3Q7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBpdGVyX2ZvbGRfaWZfc3RlcF9pbXBsPAorICAgICAgICAgIEJPT1NUX01QTF9BVVhfTVNWQ19WQUxVRV9XS05EKG5vdF9sYXN0KTo6dmFsdWUKKyAgICAgICAgPjo6dGVtcGxhdGUgcmVzdWx0XzwgSXRlcmF0b3IsU3RhdGUsRm9yd2FyZE9wLCBtcGw6Om5leHQ8SXRlcmF0b3I+ID4gaW1wbF87CisKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGltcGxfOjpzdGF0ZSBzdGF0ZTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGltcGxfOjppdGVyYXRvciBpdGVyYXRvcjsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgSXRlcmF0b3IKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBCYWNrd2FyZE9wCisgICAgLCB0eXBlbmFtZSBQcmVkaWNhdGUKKyAgICA+CitzdHJ1Y3QgaXRlcl9mb2xkX2lmX2JhY2t3YXJkX3N0ZXAKK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgUHJlZGljYXRlLFN0YXRlLEl0ZXJhdG9yID46OnR5cGUgbm90X2xhc3Q7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBpdGVyX2ZvbGRfaWZfc3RlcF9pbXBsPAorICAgICAgICAgIEJPT1NUX01QTF9BVVhfTVNWQ19WQUxVRV9XS05EKG5vdF9sYXN0KTo6dmFsdWUKKyAgICAgICAgPjo6dGVtcGxhdGUgcmVzdWx0XzwgSXRlcmF0b3IsU3RhdGUsQmFja3dhcmRPcCwgaWRlbnRpdHk8SXRlcmF0b3I+ID4gaW1wbF87CisKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGltcGxfOjpzdGF0ZSBzdGF0ZTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGltcGxfOjppdGVyYXRvciBpdGVyYXRvcjsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgSXRlcmF0b3IKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRQcmVkaWNhdGUKKyAgICAsIHR5cGVuYW1lIEJhY2t3YXJkT3AKKyAgICAsIHR5cGVuYW1lIEJhY2t3YXJkUHJlZGljYXRlCisgICAgPgorc3RydWN0IGl0ZXJfZm9sZF9pZl9pbXBsCit7CisgcHJpdmF0ZToKKyAgICB0eXBlZGVmIGl0ZXJfZm9sZF9pZl9udWxsX3N0ZXA8IEl0ZXJhdG9yLFN0YXRlID4gZm9yd2FyZF9zdGVwMDsKKyAgICB0eXBlZGVmIGl0ZXJfZm9sZF9pZl9mb3J3YXJkX3N0ZXA8IHR5cGVuYW1lIGZvcndhcmRfc3RlcDA6Oml0ZXJhdG9yLCB0eXBlbmFtZSBmb3J3YXJkX3N0ZXAwOjpzdGF0ZSwgRm9yd2FyZE9wLCBGb3J3YXJkUHJlZGljYXRlID4gZm9yd2FyZF9zdGVwMTsKKyAgICB0eXBlZGVmIGl0ZXJfZm9sZF9pZl9mb3J3YXJkX3N0ZXA8IHR5cGVuYW1lIGZvcndhcmRfc3RlcDE6Oml0ZXJhdG9yLCB0eXBlbmFtZSBmb3J3YXJkX3N0ZXAxOjpzdGF0ZSwgRm9yd2FyZE9wLCBGb3J3YXJkUHJlZGljYXRlID4gZm9yd2FyZF9zdGVwMjsKKyAgICB0eXBlZGVmIGl0ZXJfZm9sZF9pZl9mb3J3YXJkX3N0ZXA8IHR5cGVuYW1lIGZvcndhcmRfc3RlcDI6Oml0ZXJhdG9yLCB0eXBlbmFtZSBmb3J3YXJkX3N0ZXAyOjpzdGF0ZSwgRm9yd2FyZE9wLCBGb3J3YXJkUHJlZGljYXRlID4gZm9yd2FyZF9zdGVwMzsKKyAgICB0eXBlZGVmIGl0ZXJfZm9sZF9pZl9mb3J3YXJkX3N0ZXA8IHR5cGVuYW1lIGZvcndhcmRfc3RlcDM6Oml0ZXJhdG9yLCB0eXBlbmFtZSBmb3J3YXJkX3N0ZXAzOjpzdGF0ZSwgRm9yd2FyZE9wLCBGb3J3YXJkUHJlZGljYXRlID4gZm9yd2FyZF9zdGVwNDsKKyAgICAKKworICAgIHR5cGVkZWYgdHlwZW5hbWUgaWZfPAorICAgICAgICAgIHR5cGVuYW1lIGZvcndhcmRfc3RlcDQ6Om5vdF9sYXN0CisgICAgICAgICwgaXRlcl9mb2xkX2lmX2ltcGw8CisgICAgICAgICAgICAgIHR5cGVuYW1lIGZvcndhcmRfc3RlcDQ6Oml0ZXJhdG9yCisgICAgICAgICAgICAsIHR5cGVuYW1lIGZvcndhcmRfc3RlcDQ6OnN0YXRlCisgICAgICAgICAgICAsIEZvcndhcmRPcAorICAgICAgICAgICAgLCBGb3J3YXJkUHJlZGljYXRlCisgICAgICAgICAgICAsIEJhY2t3YXJkT3AKKyAgICAgICAgICAgICwgQmFja3dhcmRQcmVkaWNhdGUKKyAgICAgICAgICAgID4KKyAgICAgICAgLCBpdGVyX2ZvbGRfaWZfbnVsbF9zdGVwPAorICAgICAgICAgICAgICB0eXBlbmFtZSBmb3J3YXJkX3N0ZXA0OjppdGVyYXRvcgorICAgICAgICAgICAgLCB0eXBlbmFtZSBmb3J3YXJkX3N0ZXA0OjpzdGF0ZQorICAgICAgICAgICAgPgorICAgICAgICA+Ojp0eXBlIGJhY2t3YXJkX3N0ZXA0OworCisgICAgdHlwZWRlZiBpdGVyX2ZvbGRfaWZfYmFja3dhcmRfc3RlcDwgdHlwZW5hbWUgZm9yd2FyZF9zdGVwMzo6aXRlcmF0b3IsIHR5cGVuYW1lIGJhY2t3YXJkX3N0ZXA0OjpzdGF0ZSwgQmFja3dhcmRPcCwgQmFja3dhcmRQcmVkaWNhdGUgPiBiYWNrd2FyZF9zdGVwMzsKKyAgICB0eXBlZGVmIGl0ZXJfZm9sZF9pZl9iYWNrd2FyZF9zdGVwPCB0eXBlbmFtZSBmb3J3YXJkX3N0ZXAyOjppdGVyYXRvciwgdHlwZW5hbWUgYmFja3dhcmRfc3RlcDM6OnN0YXRlLCBCYWNrd2FyZE9wLCBCYWNrd2FyZFByZWRpY2F0ZSA+IGJhY2t3YXJkX3N0ZXAyOworICAgIHR5cGVkZWYgaXRlcl9mb2xkX2lmX2JhY2t3YXJkX3N0ZXA8IHR5cGVuYW1lIGZvcndhcmRfc3RlcDE6Oml0ZXJhdG9yLCB0eXBlbmFtZSBiYWNrd2FyZF9zdGVwMjo6c3RhdGUsIEJhY2t3YXJkT3AsIEJhY2t3YXJkUHJlZGljYXRlID4gYmFja3dhcmRfc3RlcDE7CisgICAgdHlwZWRlZiBpdGVyX2ZvbGRfaWZfYmFja3dhcmRfc3RlcDwgdHlwZW5hbWUgZm9yd2FyZF9zdGVwMDo6aXRlcmF0b3IsIHR5cGVuYW1lIGJhY2t3YXJkX3N0ZXAxOjpzdGF0ZSwgQmFja3dhcmRPcCwgQmFja3dhcmRQcmVkaWNhdGUgPiBiYWNrd2FyZF9zdGVwMDsKKyAgICAKKworIHB1YmxpYzoKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGJhY2t3YXJkX3N0ZXAwOjpzdGF0ZSBzdGF0ZTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGJhY2t3YXJkX3N0ZXA0OjppdGVyYXRvciBpdGVyYXRvcjsKK307CisKK319fQpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL213Y3cvaXRlcl9mb2xkX2ltcGwuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL213Y3cvaXRlcl9mb2xkX2ltcGwuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNjMDhiMzAKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXdjdy9pdGVyX2ZvbGRfaW1wbC5ocHAKQEAgLTAsMCArMSwxODAgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL2F1eF8vaXRlcl9mb2xkX2ltcGwuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7IG5hbWVzcGFjZSBhdXggeworCisvLy8gZm9yd2FyZCBkZWNsYXJhdGlvbgorCit0ZW1wbGF0ZTwKKyAgICAgIGludCBOCisgICAgLCB0eXBlbmFtZSBGaXJzdAorICAgICwgdHlwZW5hbWUgTGFzdAorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgID4KK3N0cnVjdCBpdGVyX2ZvbGRfaW1wbDsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGaXJzdAorICAgICwgdHlwZW5hbWUgTGFzdAorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgID4KK3N0cnVjdCBpdGVyX2ZvbGRfaW1wbDwgMCxGaXJzdCxMYXN0LFN0YXRlLEZvcndhcmRPcCA+Cit7CisgICAgdHlwZWRlZiBGaXJzdCBpdGVyMDsKKyAgICB0eXBlZGVmIFN0YXRlIHN0YXRlMDsKKyAgICB0eXBlZGVmIHN0YXRlMCBzdGF0ZTsKKyAgICB0eXBlZGVmIGl0ZXIwIGl0ZXJhdG9yOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGaXJzdAorICAgICwgdHlwZW5hbWUgTGFzdAorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgID4KK3N0cnVjdCBpdGVyX2ZvbGRfaW1wbDwgMSxGaXJzdCxMYXN0LFN0YXRlLEZvcndhcmRPcCA+Cit7CisgICAgdHlwZWRlZiBGaXJzdCBpdGVyMDsKKyAgICB0eXBlZGVmIFN0YXRlIHN0YXRlMDsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLHN0YXRlMCxpdGVyMCA+Ojp0eXBlIHN0YXRlMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMD46OnR5cGUgaXRlcjE7CisgICAgCisKKyAgICB0eXBlZGVmIHN0YXRlMSBzdGF0ZTsKKyAgICB0eXBlZGVmIGl0ZXIxIGl0ZXJhdG9yOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGaXJzdAorICAgICwgdHlwZW5hbWUgTGFzdAorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgID4KK3N0cnVjdCBpdGVyX2ZvbGRfaW1wbDwgMixGaXJzdCxMYXN0LFN0YXRlLEZvcndhcmRPcCA+Cit7CisgICAgdHlwZWRlZiBGaXJzdCBpdGVyMDsKKyAgICB0eXBlZGVmIFN0YXRlIHN0YXRlMDsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLHN0YXRlMCxpdGVyMCA+Ojp0eXBlIHN0YXRlMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMD46OnR5cGUgaXRlcjE7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCxzdGF0ZTEsaXRlcjEgPjo6dHlwZSBzdGF0ZTI7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjE+Ojp0eXBlIGl0ZXIyOworICAgIAorCisgICAgdHlwZWRlZiBzdGF0ZTIgc3RhdGU7CisgICAgdHlwZWRlZiBpdGVyMiBpdGVyYXRvcjsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+CitzdHJ1Y3QgaXRlcl9mb2xkX2ltcGw8IDMsRmlyc3QsTGFzdCxTdGF0ZSxGb3J3YXJkT3AgPgoreworICAgIHR5cGVkZWYgRmlyc3QgaXRlcjA7CisgICAgdHlwZWRlZiBTdGF0ZSBzdGF0ZTA7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCxzdGF0ZTAsaXRlcjAgPjo6dHlwZSBzdGF0ZTE7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjA+Ojp0eXBlIGl0ZXIxOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3Asc3RhdGUxLGl0ZXIxID46OnR5cGUgc3RhdGUyOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIxPjo6dHlwZSBpdGVyMjsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLHN0YXRlMixpdGVyMiA+Ojp0eXBlIHN0YXRlMzsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMj46OnR5cGUgaXRlcjM7CisgICAgCisKKyAgICB0eXBlZGVmIHN0YXRlMyBzdGF0ZTsKKyAgICB0eXBlZGVmIGl0ZXIzIGl0ZXJhdG9yOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGaXJzdAorICAgICwgdHlwZW5hbWUgTGFzdAorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgID4KK3N0cnVjdCBpdGVyX2ZvbGRfaW1wbDwgNCxGaXJzdCxMYXN0LFN0YXRlLEZvcndhcmRPcCA+Cit7CisgICAgdHlwZWRlZiBGaXJzdCBpdGVyMDsKKyAgICB0eXBlZGVmIFN0YXRlIHN0YXRlMDsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLHN0YXRlMCxpdGVyMCA+Ojp0eXBlIHN0YXRlMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMD46OnR5cGUgaXRlcjE7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCxzdGF0ZTEsaXRlcjEgPjo6dHlwZSBzdGF0ZTI7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjE+Ojp0eXBlIGl0ZXIyOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3Asc3RhdGUyLGl0ZXIyID46OnR5cGUgc3RhdGUzOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIyPjo6dHlwZSBpdGVyMzsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLHN0YXRlMyxpdGVyMyA+Ojp0eXBlIHN0YXRlNDsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMz46OnR5cGUgaXRlcjQ7CisgICAgCisKKyAgICB0eXBlZGVmIHN0YXRlNCBzdGF0ZTsKKyAgICB0eXBlZGVmIGl0ZXI0IGl0ZXJhdG9yOworfTsKKwordGVtcGxhdGU8CisgICAgICBpbnQgTgorICAgICwgdHlwZW5hbWUgRmlyc3QKKyAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+CitzdHJ1Y3QgaXRlcl9mb2xkX2ltcGwKK3sKKyAgICB0eXBlZGVmIGl0ZXJfZm9sZF9pbXBsPAorICAgICAgICAgIDQKKyAgICAgICAgLCBGaXJzdAorICAgICAgICAsIExhc3QKKyAgICAgICAgLCBTdGF0ZQorICAgICAgICAsIEZvcndhcmRPcAorICAgICAgICA+IGNodW5rXzsKKworICAgIHR5cGVkZWYgaXRlcl9mb2xkX2ltcGw8CisgICAgICAgICAgKCAoTiAtIDQpIDwgMCA/IDAgOiBOIC0gNCApCisgICAgICAgICwgdHlwZW5hbWUgY2h1bmtfOjppdGVyYXRvcgorICAgICAgICAsIExhc3QKKyAgICAgICAgLCB0eXBlbmFtZSBjaHVua186OnN0YXRlCisgICAgICAgICwgRm9yd2FyZE9wCisgICAgICAgID4gcmVzXzsKKworICAgIHR5cGVkZWYgdHlwZW5hbWUgcmVzXzo6c3RhdGUgc3RhdGU7CisgICAgdHlwZWRlZiB0eXBlbmFtZSByZXNfOjppdGVyYXRvciBpdGVyYXRvcjsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+CitzdHJ1Y3QgaXRlcl9mb2xkX2ltcGw8IC0xLEZpcnN0LExhc3QsU3RhdGUsRm9yd2FyZE9wID4KKyAgICA6IGl0ZXJfZm9sZF9pbXBsPAorICAgICAgICAgIC0xCisgICAgICAgICwgdHlwZW5hbWUgbXBsOjpuZXh0PEZpcnN0Pjo6dHlwZQorICAgICAgICAsIExhc3QKKyAgICAgICAgLCB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCxTdGF0ZSxGaXJzdCA+Ojp0eXBlCisgICAgICAgICwgRm9yd2FyZE9wCisgICAgICAgID4KK3sKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgTGFzdAorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgID4KK3N0cnVjdCBpdGVyX2ZvbGRfaW1wbDwgLTEsTGFzdCxMYXN0LFN0YXRlLEZvcndhcmRPcCA+Cit7CisgICAgdHlwZWRlZiBTdGF0ZSBzdGF0ZTsKKyAgICB0eXBlZGVmIExhc3QgaXRlcmF0b3I7Cit9OworCit9fX0KZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9td2N3L2xhbWJkYV9ub19jdHBzLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9td2N3L2xhbWJkYV9ub19jdHBzLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41YmZjNjYxCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL213Y3cvbGFtYmRhX25vX2N0cHMuaHBwCkBAIC0wLDAgKzEsMjI5IEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9hdXhfL2xhbWJkYV9ub19jdHBzLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8CisgICAgICBib29sIEMxID0gZmFsc2UsIGJvb2wgQzIgPSBmYWxzZSwgYm9vbCBDMyA9IGZhbHNlLCBib29sIEM0ID0gZmFsc2UKKyAgICAsIGJvb2wgQzUgPSBmYWxzZQorICAgID4KK3N0cnVjdCBsYW1iZGFfb3IKKyAgICA6IHRydWVfCit7Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgbGFtYmRhX29yPCBmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSA+CisgICAgOiBmYWxzZV8KK3sKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBBcml0eSA+IHN0cnVjdCBsYW1iZGFfaW1wbAoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBULCB0eXBlbmFtZSBUYWcsIHR5cGVuYW1lIFByb3RlY3QgPiBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiBUIHR5cGU7CisgICAgICAgIHR5cGVkZWYgaXNfcGxhY2Vob2xkZXI8VD4gaXNfbGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4gc3RydWN0IGxhbWJkYV9pbXBsPCBpbnRfPDE+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVGFnLCB0eXBlbmFtZSBQcm90ZWN0ID4gc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgbGFtYmRhPCB0eXBlbmFtZSBGOjphcmcxLCBUYWcsIGZhbHNlXyA+IGwxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGwxOjppc19sZSBpc19sZTE7CisgICAgICAgIHR5cGVkZWYgYXV4OjpsYW1iZGFfb3I8CisgICAgICAgICAgICAgIEJPT1NUX01QTF9BVVhfTVNWQ19WQUxVRV9XS05EKGlzX2xlMSk6OnZhbHVlCisgICAgICAgICAgICA+IGlzX2xlOworCisgICAgICAgIHR5cGVkZWYgYmluZDE8CisgICAgICAgICAgICAgIHR5cGVuYW1lIEY6OnJlYmluZAorICAgICAgICAgICAgLCB0eXBlbmFtZSBsMTo6dHlwZQorICAgICAgICAgICAgPiBiaW5kXzsKKworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGlmXzwKKyAgICAgICAgICAgICAgaXNfbGUKKyAgICAgICAgICAgICwgaWZfPCBQcm90ZWN0LCBtcGw6OnByb3RlY3Q8YmluZF8+LCBiaW5kXyA+CisgICAgICAgICAgICAsIGlkZW50aXR5PEY+CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGVfOworCisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgdHlwZV86OnR5cGUgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgbGFtYmRhX2ltcGw8IGludF88Mj4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUYWcsIHR5cGVuYW1lIFByb3RlY3QgPiBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiBsYW1iZGE8IHR5cGVuYW1lIEY6OmFyZzEsIFRhZywgZmFsc2VfID4gbDE7CisgICAgICAgIHR5cGVkZWYgbGFtYmRhPCB0eXBlbmFtZSBGOjphcmcyLCBUYWcsIGZhbHNlXyA+IGwyOworICAgICAgICAKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBsMTo6aXNfbGUgaXNfbGUxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGwyOjppc19sZSBpc19sZTI7CisgICAgICAgIAorCisgICAgICAgIHR5cGVkZWYgYXV4OjpsYW1iZGFfb3I8CisgICAgICAgICAgICAgIEJPT1NUX01QTF9BVVhfTVNWQ19WQUxVRV9XS05EKGlzX2xlMSk6OnZhbHVlLCBCT09TVF9NUExfQVVYX01TVkNfVkFMVUVfV0tORChpc19sZTIpOjp2YWx1ZQorICAgICAgICAgICAgPiBpc19sZTsKKworICAgICAgICB0eXBlZGVmIGJpbmQyPAorICAgICAgICAgICAgICB0eXBlbmFtZSBGOjpyZWJpbmQKKyAgICAgICAgICAgICwgdHlwZW5hbWUgbDE6OnR5cGUsIHR5cGVuYW1lIGwyOjp0eXBlCisgICAgICAgICAgICA+IGJpbmRfOworCisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgaWZfPAorICAgICAgICAgICAgICBpc19sZQorICAgICAgICAgICAgLCBpZl88IFByb3RlY3QsIG1wbDo6cHJvdGVjdDxiaW5kXz4sIGJpbmRfID4KKyAgICAgICAgICAgICwgaWRlbnRpdHk8Rj4KKyAgICAgICAgICAgID46OnR5cGUgdHlwZV87CisKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSB0eXBlXzo6dHlwZSB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCBsYW1iZGFfaW1wbDwgaW50XzwzPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIEYsIHR5cGVuYW1lIFRhZywgdHlwZW5hbWUgUHJvdGVjdCA+IHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIGxhbWJkYTwgdHlwZW5hbWUgRjo6YXJnMSwgVGFnLCBmYWxzZV8gPiBsMTsKKyAgICAgICAgdHlwZWRlZiBsYW1iZGE8IHR5cGVuYW1lIEY6OmFyZzIsIFRhZywgZmFsc2VfID4gbDI7CisgICAgICAgIHR5cGVkZWYgbGFtYmRhPCB0eXBlbmFtZSBGOjphcmczLCBUYWcsIGZhbHNlXyA+IGwzOworICAgICAgICAKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBsMTo6aXNfbGUgaXNfbGUxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGwyOjppc19sZSBpc19sZTI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbDM6OmlzX2xlIGlzX2xlMzsKKyAgICAgICAgCisKKyAgICAgICAgdHlwZWRlZiBhdXg6OmxhbWJkYV9vcjwKKyAgICAgICAgICAgICAgQk9PU1RfTVBMX0FVWF9NU1ZDX1ZBTFVFX1dLTkQoaXNfbGUxKTo6dmFsdWUsIEJPT1NUX01QTF9BVVhfTVNWQ19WQUxVRV9XS05EKGlzX2xlMik6OnZhbHVlLCBCT09TVF9NUExfQVVYX01TVkNfVkFMVUVfV0tORChpc19sZTMpOjp2YWx1ZQorICAgICAgICAgICAgPiBpc19sZTsKKworICAgICAgICB0eXBlZGVmIGJpbmQzPAorICAgICAgICAgICAgICB0eXBlbmFtZSBGOjpyZWJpbmQKKyAgICAgICAgICAgICwgdHlwZW5hbWUgbDE6OnR5cGUsIHR5cGVuYW1lIGwyOjp0eXBlLCB0eXBlbmFtZSBsMzo6dHlwZQorICAgICAgICAgICAgPiBiaW5kXzsKKworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGlmXzwKKyAgICAgICAgICAgICAgaXNfbGUKKyAgICAgICAgICAgICwgaWZfPCBQcm90ZWN0LCBtcGw6OnByb3RlY3Q8YmluZF8+LCBiaW5kXyA+CisgICAgICAgICAgICAsIGlkZW50aXR5PEY+CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGVfOworCisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgdHlwZV86OnR5cGUgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgbGFtYmRhX2ltcGw8IGludF88ND4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUYWcsIHR5cGVuYW1lIFByb3RlY3QgPiBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiBsYW1iZGE8IHR5cGVuYW1lIEY6OmFyZzEsIFRhZywgZmFsc2VfID4gbDE7CisgICAgICAgIHR5cGVkZWYgbGFtYmRhPCB0eXBlbmFtZSBGOjphcmcyLCBUYWcsIGZhbHNlXyA+IGwyOworICAgICAgICB0eXBlZGVmIGxhbWJkYTwgdHlwZW5hbWUgRjo6YXJnMywgVGFnLCBmYWxzZV8gPiBsMzsKKyAgICAgICAgdHlwZWRlZiBsYW1iZGE8IHR5cGVuYW1lIEY6OmFyZzQsIFRhZywgZmFsc2VfID4gbDQ7CisgICAgICAgIAorICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGwxOjppc19sZSBpc19sZTE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbDI6OmlzX2xlIGlzX2xlMjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBsMzo6aXNfbGUgaXNfbGUzOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGw0Ojppc19sZSBpc19sZTQ7CisgICAgICAgIAorCisgICAgICAgIHR5cGVkZWYgYXV4OjpsYW1iZGFfb3I8CisgICAgICAgICAgICAgIEJPT1NUX01QTF9BVVhfTVNWQ19WQUxVRV9XS05EKGlzX2xlMSk6OnZhbHVlLCBCT09TVF9NUExfQVVYX01TVkNfVkFMVUVfV0tORChpc19sZTIpOjp2YWx1ZSwgQk9PU1RfTVBMX0FVWF9NU1ZDX1ZBTFVFX1dLTkQoaXNfbGUzKTo6dmFsdWUsIEJPT1NUX01QTF9BVVhfTVNWQ19WQUxVRV9XS05EKGlzX2xlNCk6OnZhbHVlCisgICAgICAgICAgICA+IGlzX2xlOworCisgICAgICAgIHR5cGVkZWYgYmluZDQ8CisgICAgICAgICAgICAgIHR5cGVuYW1lIEY6OnJlYmluZAorICAgICAgICAgICAgLCB0eXBlbmFtZSBsMTo6dHlwZSwgdHlwZW5hbWUgbDI6OnR5cGUsIHR5cGVuYW1lIGwzOjp0eXBlCisgICAgICAgICAgICAsIHR5cGVuYW1lIGw0Ojp0eXBlCisgICAgICAgICAgICA+IGJpbmRfOworCisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgaWZfPAorICAgICAgICAgICAgICBpc19sZQorICAgICAgICAgICAgLCBpZl88IFByb3RlY3QsIG1wbDo6cHJvdGVjdDxiaW5kXz4sIGJpbmRfID4KKyAgICAgICAgICAgICwgaWRlbnRpdHk8Rj4KKyAgICAgICAgICAgID46OnR5cGUgdHlwZV87CisKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSB0eXBlXzo6dHlwZSB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCBsYW1iZGFfaW1wbDwgaW50Xzw1PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIEYsIHR5cGVuYW1lIFRhZywgdHlwZW5hbWUgUHJvdGVjdCA+IHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIGxhbWJkYTwgdHlwZW5hbWUgRjo6YXJnMSwgVGFnLCBmYWxzZV8gPiBsMTsKKyAgICAgICAgdHlwZWRlZiBsYW1iZGE8IHR5cGVuYW1lIEY6OmFyZzIsIFRhZywgZmFsc2VfID4gbDI7CisgICAgICAgIHR5cGVkZWYgbGFtYmRhPCB0eXBlbmFtZSBGOjphcmczLCBUYWcsIGZhbHNlXyA+IGwzOworICAgICAgICB0eXBlZGVmIGxhbWJkYTwgdHlwZW5hbWUgRjo6YXJnNCwgVGFnLCBmYWxzZV8gPiBsNDsKKyAgICAgICAgdHlwZWRlZiBsYW1iZGE8IHR5cGVuYW1lIEY6OmFyZzUsIFRhZywgZmFsc2VfID4gbDU7CisgICAgICAgIAorICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGwxOjppc19sZSBpc19sZTE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbDI6OmlzX2xlIGlzX2xlMjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBsMzo6aXNfbGUgaXNfbGUzOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGw0Ojppc19sZSBpc19sZTQ7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbDU6OmlzX2xlIGlzX2xlNTsKKyAgICAgICAgCisKKyAgICAgICAgdHlwZWRlZiBhdXg6OmxhbWJkYV9vcjwKKyAgICAgICAgICAgICAgQk9PU1RfTVBMX0FVWF9NU1ZDX1ZBTFVFX1dLTkQoaXNfbGUxKTo6dmFsdWUsIEJPT1NUX01QTF9BVVhfTVNWQ19WQUxVRV9XS05EKGlzX2xlMik6OnZhbHVlLCBCT09TVF9NUExfQVVYX01TVkNfVkFMVUVfV0tORChpc19sZTMpOjp2YWx1ZSwgQk9PU1RfTVBMX0FVWF9NU1ZDX1ZBTFVFX1dLTkQoaXNfbGU0KTo6dmFsdWUsIEJPT1NUX01QTF9BVVhfTVNWQ19WQUxVRV9XS05EKGlzX2xlNSk6OnZhbHVlCisgICAgICAgICAgICA+IGlzX2xlOworCisgICAgICAgIHR5cGVkZWYgYmluZDU8CisgICAgICAgICAgICAgIHR5cGVuYW1lIEY6OnJlYmluZAorICAgICAgICAgICAgLCB0eXBlbmFtZSBsMTo6dHlwZSwgdHlwZW5hbWUgbDI6OnR5cGUsIHR5cGVuYW1lIGwzOjp0eXBlCisgICAgICAgICAgICAsIHR5cGVuYW1lIGw0Ojp0eXBlLCB0eXBlbmFtZSBsNTo6dHlwZQorICAgICAgICAgICAgPiBiaW5kXzsKKworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGlmXzwKKyAgICAgICAgICAgICAgaXNfbGUKKyAgICAgICAgICAgICwgaWZfPCBQcm90ZWN0LCBtcGw6OnByb3RlY3Q8YmluZF8+LCBiaW5kXyA+CisgICAgICAgICAgICAsIGlkZW50aXR5PEY+CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGVfOworCisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgdHlwZV86OnR5cGUgdHlwZTsKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVAorICAgICwgdHlwZW5hbWUgVGFnCisgICAgLCB0eXBlbmFtZSBQcm90ZWN0CisgICAgPgorc3RydWN0IGxhbWJkYQoreworICAgIC8vLyBNZXRhZnVuY3Rpb24gZm9yd2FyZGluZyBjb25mdXNlcyBNU1ZDIDYueAorICAgIHR5cGVkZWYgdHlwZW5hbWUgYXV4Ojp0ZW1wbGF0ZV9hcml0eTxUPjo6dHlwZSBhcml0eV87CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhdXg6OmxhbWJkYV9pbXBsPGFyaXR5Xz4KKyAgICAgICAgOjp0ZW1wbGF0ZSByZXN1bHRfPCBULFRhZyxQcm90ZWN0ID4gbF87CisKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxfOjp0eXBlIHR5cGU7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsXzo6aXNfbGUgaXNfbGU7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgzLCBsYW1iZGEsIChULCBUYWcsIFByb3RlY3QpKQorfTsKKworQk9PU1RfTVBMX0FVWF9OQV9TUEVDMigxLCAzLCBsYW1iZGEpCisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVAorICAgID4KK3N0cnVjdCBpc19sYW1iZGFfZXhwcmVzc2lvbgorICAgIDogbGFtYmRhPFQ+Ojppc19sZQoreworfTsKKworfX0KKwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL213Y3cvbGVzcy5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXdjdy9sZXNzLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MTM5Yjc5Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL213Y3cvbGVzcy5ocHAKQEAgLTAsMCArMSw5NCBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvbGVzcy5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUYWcxCisgICAgLCB0eXBlbmFtZSBUYWcyCisgICAgPgorc3RydWN0IGxlc3NfaW1wbAorICAgIDogaWZfYzwKKyAgICAgICAgICAoIEJPT1NUX01QTF9BVVhfTkVTVEVEX1ZBTFVFX1dLTkQoaW50LCBUYWcxKQorICAgICAgICAgICAgICA+IEJPT1NUX01QTF9BVVhfTkVTVEVEX1ZBTFVFX1dLTkQoaW50LCBUYWcyKQorICAgICAgICAgICAgKQorCisgICAgICAgICwgYXV4OjpjYXN0Mm5kX2ltcGw8IGxlc3NfaW1wbDwgVGFnMSxUYWcxID4sVGFnMSwgVGFnMiA+CisgICAgICAgICwgYXV4OjpjYXN0MXN0X2ltcGw8IGxlc3NfaW1wbDwgVGFnMixUYWcyID4sVGFnMSwgVGFnMiA+CisgICAgICAgID46OnR5cGUKK3sKK307CisKKy8vLyBmb3IgRGlnaXRhbCBNYXJzIEMrKy9jb21waWxlcnMgd2l0aCBubyBDVFBTL1RUUCBzdXBwb3J0Cit0ZW1wbGF0ZTw+IHN0cnVjdCBsZXNzX2ltcGw8IG5hLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVGFnID4gc3RydWN0IGxlc3NfaW1wbDwgbmEsVGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVGFnID4gc3RydWN0IGxlc3NfaW1wbDwgVGFnLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVCA+IHN0cnVjdCBsZXNzX3RhZworeworICAgIHR5cGVkZWYgdHlwZW5hbWUgVDo6dGFnIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjEpCisgICAgLCB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4yKQorICAgID4KK3N0cnVjdCBsZXNzCisKKyAgICA6IGxlc3NfaW1wbDwKKyAgICAgICAgICB0eXBlbmFtZSBsZXNzX3RhZzxOMT46OnR5cGUKKyAgICAgICAgLCB0eXBlbmFtZSBsZXNzX3RhZzxOMj46OnR5cGUKKyAgICAgICAgPjo6dGVtcGxhdGUgYXBwbHk8IE4xLE4yID46OnR5cGUKK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKDIsIGxlc3MsIChOMSwgTjIpKQorCit9OworCitCT09TVF9NUExfQVVYX05BX1NQRUMyKDIsIDIsIGxlc3MpCisKK319CisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgbGVzc19pbXBsPCBpbnRlZ3JhbF9jX3RhZyxpbnRlZ3JhbF9jX3RhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIE4xLCB0eXBlbmFtZSBOMiA+IHN0cnVjdCBhcHBseQorCisgICAgICAgIDogYm9vbF88ICggQk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4yKTo6dmFsdWUgPiBCT09TVF9NUExfQVVYX1ZBTFVFX1dLTkQoTjEpOjp2YWx1ZSApID4KKyAgICB7CisgICAgfTsKK307CisKK319CmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXdjdy9sZXNzX2VxdWFsLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9td2N3L2xlc3NfZXF1YWwuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY3YzM0OTEKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXdjdy9sZXNzX2VxdWFsLmhwcApAQCAtMCwwICsxLDk0IEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9sZXNzX2VxdWFsLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFRhZzEKKyAgICAsIHR5cGVuYW1lIFRhZzIKKyAgICA+CitzdHJ1Y3QgbGVzc19lcXVhbF9pbXBsCisgICAgOiBpZl9jPAorICAgICAgICAgICggQk9PU1RfTVBMX0FVWF9ORVNURURfVkFMVUVfV0tORChpbnQsIFRhZzEpCisgICAgICAgICAgICAgID4gQk9PU1RfTVBMX0FVWF9ORVNURURfVkFMVUVfV0tORChpbnQsIFRhZzIpCisgICAgICAgICAgICApCisKKyAgICAgICAgLCBhdXg6OmNhc3QybmRfaW1wbDwgbGVzc19lcXVhbF9pbXBsPCBUYWcxLFRhZzEgPixUYWcxLCBUYWcyID4KKyAgICAgICAgLCBhdXg6OmNhc3Qxc3RfaW1wbDwgbGVzc19lcXVhbF9pbXBsPCBUYWcyLFRhZzIgPixUYWcxLCBUYWcyID4KKyAgICAgICAgPjo6dHlwZQoreworfTsKKworLy8vIGZvciBEaWdpdGFsIE1hcnMgQysrL2NvbXBpbGVycyB3aXRoIG5vIENUUFMvVFRQIHN1cHBvcnQKK3RlbXBsYXRlPD4gc3RydWN0IGxlc3NfZXF1YWxfaW1wbDwgbmEsbmEgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUYWcgPiBzdHJ1Y3QgbGVzc19lcXVhbF9pbXBsPCBuYSxUYWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUYWcgPiBzdHJ1Y3QgbGVzc19lcXVhbF9pbXBsPCBUYWcsbmEgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUID4gc3RydWN0IGxlc3NfZXF1YWxfdGFnCit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBUOjp0YWcgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMSkKKyAgICAsIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjIpCisgICAgPgorc3RydWN0IGxlc3NfZXF1YWwKKworICAgIDogbGVzc19lcXVhbF9pbXBsPAorICAgICAgICAgIHR5cGVuYW1lIGxlc3NfZXF1YWxfdGFnPE4xPjo6dHlwZQorICAgICAgICAsIHR5cGVuYW1lIGxlc3NfZXF1YWxfdGFnPE4yPjo6dHlwZQorICAgICAgICA+Ojp0ZW1wbGF0ZSBhcHBseTwgTjEsTjIgPjo6dHlwZQoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoMiwgbGVzc19lcXVhbCwgKE4xLCBOMikpCisKK307CisKK0JPT1NUX01QTF9BVVhfTkFfU1BFQzIoMiwgMiwgbGVzc19lcXVhbCkKKworfX0KKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBsZXNzX2VxdWFsX2ltcGw8IGludGVncmFsX2NfdGFnLGludGVncmFsX2NfdGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgTjEsIHR5cGVuYW1lIE4yID4gc3RydWN0IGFwcGx5CisKKyAgICAgICAgOiBib29sXzwgKCBCT09TVF9NUExfQVVYX1ZBTFVFX1dLTkQoTjEpOjp2YWx1ZSA8PSBCT09TVF9NUExfQVVYX1ZBTFVFX1dLTkQoTjIpOjp2YWx1ZSApID4KKyAgICB7CisgICAgfTsKK307CisKK319CmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXdjdy9saXN0LmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9td2N3L2xpc3QuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhjYzhjNDYKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXdjdy9saXN0LmhwcApAQCAtMCwwICsxLDMyMyBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvbGlzdC5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCA9IG5hLCB0eXBlbmFtZSBUMSA9IG5hLCB0eXBlbmFtZSBUMiA9IG5hLCB0eXBlbmFtZSBUMyA9IG5hCisgICAgLCB0eXBlbmFtZSBUNCA9IG5hLCB0eXBlbmFtZSBUNSA9IG5hLCB0eXBlbmFtZSBUNiA9IG5hLCB0eXBlbmFtZSBUNyA9IG5hCisgICAgLCB0eXBlbmFtZSBUOCA9IG5hLCB0eXBlbmFtZSBUOSA9IG5hLCB0eXBlbmFtZSBUMTAgPSBuYSwgdHlwZW5hbWUgVDExID0gbmEKKyAgICAsIHR5cGVuYW1lIFQxMiA9IG5hLCB0eXBlbmFtZSBUMTMgPSBuYSwgdHlwZW5hbWUgVDE0ID0gbmEKKyAgICAsIHR5cGVuYW1lIFQxNSA9IG5hLCB0eXBlbmFtZSBUMTYgPSBuYSwgdHlwZW5hbWUgVDE3ID0gbmEKKyAgICAsIHR5cGVuYW1lIFQxOCA9IG5hLCB0eXBlbmFtZSBUMTkgPSBuYQorICAgID4KK3N0cnVjdCBsaXN0OworCit0ZW1wbGF0ZTwKKyAgICAgCisgICAgPgorc3RydWN0IGxpc3Q8CisgICAgICAgICAgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBsaXN0MDwgID4KK3sKKyAgICB0eXBlZGVmIGxpc3QwPCAgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMAorICAgID4KK3N0cnVjdCBsaXN0PAorICAgICAgICAgIFQwLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogbGlzdDE8VDA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0MTxUMD46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxCisgICAgPgorc3RydWN0IGxpc3Q8CisgICAgICAgICAgVDAsIFQxLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBsaXN0MjwgVDAsVDEgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDI8IFQwLFQxID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMgorICAgID4KK3N0cnVjdCBsaXN0PAorICAgICAgICAgIFQwLCBUMSwgVDIsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogbGlzdDM8IFQwLFQxLFQyID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3QzPCBUMCxUMSxUMiA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzCisgICAgPgorc3RydWN0IGxpc3Q8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBsaXN0NDwgVDAsVDEsVDIsVDMgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDQ8IFQwLFQxLFQyLFQzID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgPgorc3RydWN0IGxpc3Q8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBsaXN0NTwgVDAsVDEsVDIsVDMsVDQgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDU8IFQwLFQxLFQyLFQzLFQ0ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNQorICAgID4KK3N0cnVjdCBsaXN0PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogbGlzdDY8IFQwLFQxLFQyLFQzLFQ0LFQ1ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3Q2PCBUMCxUMSxUMixUMyxUNCxUNSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2CisgICAgPgorc3RydWN0IGxpc3Q8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBsaXN0NzwgVDAsVDEsVDIsVDMsVDQsVDUsVDYgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDc8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3CisgICAgPgorc3RydWN0IGxpc3Q8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBsaXN0ODwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDg8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOAorICAgID4KK3N0cnVjdCBsaXN0PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogbGlzdDk8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3Q5PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgPgorc3RydWN0IGxpc3Q8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBsaXN0MTA8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3QxMDwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDkgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwCisgICAgPgorc3RydWN0IGxpc3Q8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogbGlzdDExPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDExPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEKKyAgICA+CitzdHJ1Y3QgbGlzdDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogbGlzdDEyPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3QxMjwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyCisgICAgPgorc3RydWN0IGxpc3Q8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBsaXN0MTM8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3QxMzwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzCisgICAgPgorc3RydWN0IGxpc3Q8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogbGlzdDE0PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDE0PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICA+CitzdHJ1Y3QgbGlzdDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogbGlzdDE1PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0MTU8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyxUMTQgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAsIHR5cGVuYW1lIFQxNQorICAgID4KK3N0cnVjdCBsaXN0PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogbGlzdDE2PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNQorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0MTY8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyxUMTQsVDE1ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNgorICAgID4KK3N0cnVjdCBsaXN0PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgVDE2LCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IGxpc3QxNzwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgLCBUMTUsIFQxNgorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0MTc8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyxUMTQsVDE1LFQxNiA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNworICAgID4KK3N0cnVjdCBsaXN0PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgVDE2LCBUMTcsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBsaXN0MTg8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1LCBUMTYsIFQxNworICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0MTg8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyxUMTQsVDE1LFQxNixUMTcgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOAorICAgID4KK3N0cnVjdCBsaXN0PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgVDE2LCBUMTcsIFQxOCwgbmEKKyAgICAgICAgPgorICAgIDogbGlzdDE5PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgVDE2LCBUMTcsIFQxOAorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0MTk8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyxUMTQsVDE1LFQxNixUMTcsVDE4ID46OnR5cGUgdHlwZTsKK307CisKKy8vLyBwcmltYXJ5IHRlbXBsYXRlIChub3QgYSBzcGVjaWFsaXphdGlvbiEpCisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgID4KK3N0cnVjdCBsaXN0CisgICAgOiBsaXN0MjA8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1LCBUMTYsIFQxNywgVDE4LCBUMTkKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDIwPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMsVDE0LFQxNSxUMTYsVDE3LFQxOCxUMTkgPjo6dHlwZSB0eXBlOworfTsKKworfX0KKwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL213Y3cvbGlzdF9jLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9td2N3L2xpc3RfYy5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTQzZjM4ZgotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9td2N3L2xpc3RfYy5ocHAKQEAgLTAsMCArMSwzMjggQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL2xpc3RfYy5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwID0gTE9OR19NQVgsIGxvbmcgQzEgPSBMT05HX01BWCwgbG9uZyBDMiA9IExPTkdfTUFYCisgICAgLCBsb25nIEMzID0gTE9OR19NQVgsIGxvbmcgQzQgPSBMT05HX01BWCwgbG9uZyBDNSA9IExPTkdfTUFYCisgICAgLCBsb25nIEM2ID0gTE9OR19NQVgsIGxvbmcgQzcgPSBMT05HX01BWCwgbG9uZyBDOCA9IExPTkdfTUFYCisgICAgLCBsb25nIEM5ID0gTE9OR19NQVgsIGxvbmcgQzEwID0gTE9OR19NQVgsIGxvbmcgQzExID0gTE9OR19NQVgKKyAgICAsIGxvbmcgQzEyID0gTE9OR19NQVgsIGxvbmcgQzEzID0gTE9OR19NQVgsIGxvbmcgQzE0ID0gTE9OR19NQVgKKyAgICAsIGxvbmcgQzE1ID0gTE9OR19NQVgsIGxvbmcgQzE2ID0gTE9OR19NQVgsIGxvbmcgQzE3ID0gTE9OR19NQVgKKyAgICAsIGxvbmcgQzE4ID0gTE9OR19NQVgsIGxvbmcgQzE5ID0gTE9OR19NQVgKKyAgICA+CitzdHJ1Y3QgbGlzdF9jOworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQKKyAgICA+CitzdHJ1Y3QgbGlzdF9jPAorICAgICAgICAgIFQsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IGxpc3QwX2M8VD4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3QwX2M8VD46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMAorICAgID4KK3N0cnVjdCBsaXN0X2M8CisgICAgICAgICAgVCwgQzAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogbGlzdDFfYzwgVCxDMCA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0MV9jPCBULEMwID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMQorICAgID4KK3N0cnVjdCBsaXN0X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogbGlzdDJfYzwgVCxDMCxDMSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0Ml9jPCBULEMwLEMxID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMgorICAgID4KK3N0cnVjdCBsaXN0X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogbGlzdDNfYzwgVCxDMCxDMSxDMiA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0M19jPCBULEMwLEMxLEMyID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMworICAgID4KK3N0cnVjdCBsaXN0X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogbGlzdDRfYzwgVCxDMCxDMSxDMixDMyA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0NF9jPCBULEMwLEMxLEMyLEMzID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNAorICAgID4KK3N0cnVjdCBsaXN0X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogbGlzdDVfYzwgVCxDMCxDMSxDMixDMyxDNCA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0NV9jPCBULEMwLEMxLEMyLEMzLEM0ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgID4KK3N0cnVjdCBsaXN0X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogbGlzdDZfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0Nl9jPCBULEMwLEMxLEMyLEMzLEM0LEM1ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICwgbG9uZyBDNgorICAgID4KK3N0cnVjdCBsaXN0X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogbGlzdDdfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNiA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0N19jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICwgbG9uZyBDNiwgbG9uZyBDNworICAgID4KK3N0cnVjdCBsaXN0X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogbGlzdDhfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0OF9jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2LEM3ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOAorICAgID4KK3N0cnVjdCBsaXN0X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogbGlzdDlfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyxDOCA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0OV9jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2LEM3LEM4ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOQorICAgID4KK3N0cnVjdCBsaXN0X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogbGlzdDEwX2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcsQzgsQzkgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDEwX2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcsQzgsQzkgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMAorICAgID4KK3N0cnVjdCBsaXN0X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogbGlzdDExX2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcsQzgsQzksQzEwID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3QxMV9jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2LEM3LEM4LEM5LEMxMCA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMQorICAgID4KK3N0cnVjdCBsaXN0X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IGxpc3QxMl9jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2LEM3LEM4LEM5LEMxMCxDMTEgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDEyX2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcsQzgsQzksQzEwLEMxMSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICA+CitzdHJ1Y3QgbGlzdF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogbGlzdDEzX2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcsQzgsQzksQzEwLEMxMSxDMTIgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDEzX2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcsQzgsQzksQzEwLEMxMSxDMTIgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgLCBsb25nIEMxMworICAgID4KK3N0cnVjdCBsaXN0X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBDMTIsIEMxMworICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogbGlzdDE0X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBDMTIsIEMxMworICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0MTRfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyxDOCxDOSxDMTAsQzExLEMxMixDMTMgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgLCBsb25nIEMxMywgbG9uZyBDMTQKKyAgICA+CitzdHJ1Y3QgbGlzdF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMsIEMxNAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiBsaXN0MTVfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIEMxMiwgQzEzLCBDMTQKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDE1X2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcsQzgsQzksQzEwLEMxMSxDMTIsQzEzLEMxNCA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAsIGxvbmcgQzEzLCBsb25nIEMxNCwgbG9uZyBDMTUKKyAgICA+CitzdHJ1Y3QgbGlzdF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMsIEMxNAorICAgICAgICAsIEMxNSwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogbGlzdDE2X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBDMTIsIEMxMywgQzE0CisgICAgICAgICwgQzE1CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3QxNl9jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2LEM3LEM4LEM5LEMxMCxDMTEsQzEyLEMxMyxDMTQsQzE1ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNSwgbG9uZyBDMTYKKyAgICA+CitzdHJ1Y3QgbGlzdF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMsIEMxNAorICAgICAgICAsIEMxNSwgQzE2LCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IGxpc3QxN19jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMsIEMxNAorICAgICAgICAsIEMxNSwgQzE2CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3QxN19jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2LEM3LEM4LEM5LEMxMCxDMTEsQzEyLEMxMyxDMTQsQzE1LEMxNiA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAsIGxvbmcgQzEzLCBsb25nIEMxNCwgbG9uZyBDMTUsIGxvbmcgQzE2LCBsb25nIEMxNworICAgID4KK3N0cnVjdCBsaXN0X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBDMTIsIEMxMywgQzE0CisgICAgICAgICwgQzE1LCBDMTYsIEMxNywgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IGxpc3QxOF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMsIEMxNAorICAgICAgICAsIEMxNSwgQzE2LCBDMTcKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDE4X2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcsQzgsQzksQzEwLEMxMSxDMTIsQzEzLEMxNCxDMTUsQzE2LEMxNyA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAsIGxvbmcgQzEzLCBsb25nIEMxNCwgbG9uZyBDMTUsIGxvbmcgQzE2LCBsb25nIEMxNywgbG9uZyBDMTgKKyAgICA+CitzdHJ1Y3QgbGlzdF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMsIEMxNAorICAgICAgICAsIEMxNSwgQzE2LCBDMTcsIEMxOCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogbGlzdDE5X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBDMTIsIEMxMywgQzE0CisgICAgICAgICwgQzE1LCBDMTYsIEMxNywgQzE4CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3QxOV9jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2LEM3LEM4LEM5LEMxMCxDMTEsQzEyLEMxMyxDMTQsQzE1LEMxNixDMTcsQzE4ID46OnR5cGUgdHlwZTsKK307CisKKy8vLyBwcmltYXJ5IHRlbXBsYXRlIChub3QgYSBzcGVjaWFsaXphdGlvbiEpCisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNSwgbG9uZyBDMTYsIGxvbmcgQzE3LCBsb25nIEMxOCwgbG9uZyBDMTkKKyAgICA+CitzdHJ1Y3QgbGlzdF9jCisgICAgOiBsaXN0MjBfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIEMxMiwgQzEzLCBDMTQKKyAgICAgICAgLCBDMTUsIEMxNiwgQzE3LCBDMTgsIEMxOQorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0MjBfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyxDOCxDOSxDMTAsQzExLEMxMixDMTMsQzE0LEMxNSxDMTYsQzE3LEMxOCxDMTkgPjo6dHlwZSB0eXBlOworfTsKKworfX0KKwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL213Y3cvbWFwLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9td2N3L21hcC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzk3NGYyOAotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9td2N3L21hcC5ocHAKQEAgLTAsMCArMSwzMjMgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL21hcC5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCA9IG5hLCB0eXBlbmFtZSBUMSA9IG5hLCB0eXBlbmFtZSBUMiA9IG5hLCB0eXBlbmFtZSBUMyA9IG5hCisgICAgLCB0eXBlbmFtZSBUNCA9IG5hLCB0eXBlbmFtZSBUNSA9IG5hLCB0eXBlbmFtZSBUNiA9IG5hLCB0eXBlbmFtZSBUNyA9IG5hCisgICAgLCB0eXBlbmFtZSBUOCA9IG5hLCB0eXBlbmFtZSBUOSA9IG5hLCB0eXBlbmFtZSBUMTAgPSBuYSwgdHlwZW5hbWUgVDExID0gbmEKKyAgICAsIHR5cGVuYW1lIFQxMiA9IG5hLCB0eXBlbmFtZSBUMTMgPSBuYSwgdHlwZW5hbWUgVDE0ID0gbmEKKyAgICAsIHR5cGVuYW1lIFQxNSA9IG5hLCB0eXBlbmFtZSBUMTYgPSBuYSwgdHlwZW5hbWUgVDE3ID0gbmEKKyAgICAsIHR5cGVuYW1lIFQxOCA9IG5hLCB0eXBlbmFtZSBUMTkgPSBuYQorICAgID4KK3N0cnVjdCBtYXA7CisKK3RlbXBsYXRlPAorICAgICAKKyAgICA+CitzdHJ1Y3QgbWFwPAorICAgICAgICAgIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogbWFwMDwgID4KK3sKKyAgICB0eXBlZGVmIG1hcDA8ICA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwCisgICAgPgorc3RydWN0IG1hcDwKKyAgICAgICAgICBUMCwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IG1hcDE8VDA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtYXAxPFQwPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEKKyAgICA+CitzdHJ1Y3QgbWFwPAorICAgICAgICAgIFQwLCBUMSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogbWFwMjwgVDAsVDEgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbWFwMjwgVDAsVDEgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyCisgICAgPgorc3RydWN0IG1hcDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IG1hcDM8IFQwLFQxLFQyID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1hcDM8IFQwLFQxLFQyID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMKKyAgICA+CitzdHJ1Y3QgbWFwPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogbWFwNDwgVDAsVDEsVDIsVDMgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbWFwNDwgVDAsVDEsVDIsVDMgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICA+CitzdHJ1Y3QgbWFwPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogbWFwNTwgVDAsVDEsVDIsVDMsVDQgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbWFwNTwgVDAsVDEsVDIsVDMsVDQgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1CisgICAgPgorc3RydWN0IG1hcDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IG1hcDY8IFQwLFQxLFQyLFQzLFQ0LFQ1ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1hcDY8IFQwLFQxLFQyLFQzLFQ0LFQ1ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYKKyAgICA+CitzdHJ1Y3QgbWFwPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogbWFwNzwgVDAsVDEsVDIsVDMsVDQsVDUsVDYgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbWFwNzwgVDAsVDEsVDIsVDMsVDQsVDUsVDYgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcKKyAgICA+CitzdHJ1Y3QgbWFwPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogbWFwODwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbWFwODwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4CisgICAgPgorc3RydWN0IG1hcDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IG1hcDk8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1hcDk8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICA+CitzdHJ1Y3QgbWFwPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogbWFwMTA8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1hcDEwPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAKKyAgICA+CitzdHJ1Y3QgbWFwPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IG1hcDExPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbWFwMTE8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMQorICAgID4KK3N0cnVjdCBtYXA8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IG1hcDEyPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1hcDEyPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIKKyAgICA+CitzdHJ1Y3QgbWFwPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogbWFwMTM8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1hcDEzPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMiA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMKKyAgICA+CitzdHJ1Y3QgbWFwPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IG1hcDE0PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbWFwMTQ8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgID4KK3N0cnVjdCBtYXA8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0LCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IG1hcDE1PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtYXAxNTwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzLFQxNCA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICwgdHlwZW5hbWUgVDE1CisgICAgPgorc3RydWN0IG1hcDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgLCBUMTUsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IG1hcDE2PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNQorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtYXAxNjwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzLFQxNCxUMTUgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2CisgICAgPgorc3RydWN0IG1hcDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgLCBUMTUsIFQxNiwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBtYXAxNzwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgLCBUMTUsIFQxNgorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtYXAxNzwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzLFQxNCxUMTUsVDE2ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3CisgICAgPgorc3RydWN0IG1hcDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgLCBUMTUsIFQxNiwgVDE3LCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogbWFwMTg8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1LCBUMTYsIFQxNworICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtYXAxODwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzLFQxNCxUMTUsVDE2LFQxNyA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4CisgICAgPgorc3RydWN0IG1hcDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgLCBUMTUsIFQxNiwgVDE3LCBUMTgsIG5hCisgICAgICAgID4KKyAgICA6IG1hcDE5PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgVDE2LCBUMTcsIFQxOAorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtYXAxOTwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzLFQxNCxUMTUsVDE2LFQxNyxUMTggPjo6dHlwZSB0eXBlOworfTsKKworLy8vIHByaW1hcnkgdGVtcGxhdGUgKG5vdCBhIHNwZWNpYWxpemF0aW9uISkKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgPgorc3RydWN0IG1hcAorICAgIDogbWFwMjA8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1LCBUMTYsIFQxNywgVDE4LCBUMTkKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbWFwMjA8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyxUMTQsVDE1LFQxNixUMTcsVDE4LFQxOSA+Ojp0eXBlIHR5cGU7Cit9OworCit9fQorCmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXdjdy9taW51cy5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXdjdy9taW51cy5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWU2YjU5MgotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9td2N3L21pbnVzLmhwcApAQCAtMCwwICsxLDE0NiBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvbWludXMuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVGFnMQorICAgICwgdHlwZW5hbWUgVGFnMgorICAgID4KK3N0cnVjdCBtaW51c19pbXBsCisgICAgOiBpZl9jPAorICAgICAgICAgICggQk9PU1RfTVBMX0FVWF9ORVNURURfVkFMVUVfV0tORChpbnQsIFRhZzEpCisgICAgICAgICAgICAgID4gQk9PU1RfTVBMX0FVWF9ORVNURURfVkFMVUVfV0tORChpbnQsIFRhZzIpCisgICAgICAgICAgICApCisKKyAgICAgICAgLCBhdXg6OmNhc3QybmRfaW1wbDwgbWludXNfaW1wbDwgVGFnMSxUYWcxID4sVGFnMSwgVGFnMiA+CisgICAgICAgICwgYXV4OjpjYXN0MXN0X2ltcGw8IG1pbnVzX2ltcGw8IFRhZzIsVGFnMiA+LFRhZzEsIFRhZzIgPgorICAgICAgICA+Ojp0eXBlCit7Cit9OworCisvLy8gZm9yIERpZ2l0YWwgTWFycyBDKysvY29tcGlsZXJzIHdpdGggbm8gQ1RQUy9UVFAgc3VwcG9ydAordGVtcGxhdGU8PiBzdHJ1Y3QgbWludXNfaW1wbDwgbmEsbmEgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUYWcgPiBzdHJ1Y3QgbWludXNfaW1wbDwgbmEsVGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVGFnID4gc3RydWN0IG1pbnVzX2ltcGw8IFRhZyxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFQgPiBzdHJ1Y3QgbWludXNfdGFnCit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBUOjp0YWcgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMSkKKyAgICAsIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjIpCisgICAgLCB0eXBlbmFtZSBOMyA9IG5hLCB0eXBlbmFtZSBONCA9IG5hLCB0eXBlbmFtZSBONSA9IG5hCisgICAgPgorc3RydWN0IG1pbnVzCisgICAgOiBtaW51czwgbWludXM8IG1pbnVzPCBtaW51czwgTjEsTjIgPiwgTjM+LCBOND4sIE41PgoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoCisgICAgICAgICAgNQorICAgICAgICAsIG1pbnVzCisgICAgICAgICwgKCBOMSwgTjIsIE4zLCBONCwgTjUgKQorICAgICAgICApCit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIE4xLCB0eXBlbmFtZSBOMiwgdHlwZW5hbWUgTjMsIHR5cGVuYW1lIE40CisgICAgPgorc3RydWN0IG1pbnVzPCBOMSxOMixOMyxONCxuYSA+CisKKyAgICA6IG1pbnVzPCBtaW51czwgbWludXM8IE4xLE4yID4sIE4zPiwgTjQ+Cit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVF9TUEVDKAorICAgICAgICAgIDUKKyAgICAgICAgLCBtaW51cworICAgICAgICAsICggTjEsIE4yLCBOMywgTjQsIG5hICkKKyAgICAgICAgKQorfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBOMSwgdHlwZW5hbWUgTjIsIHR5cGVuYW1lIE4zCisgICAgPgorc3RydWN0IG1pbnVzPCBOMSxOMixOMyxuYSxuYSA+CisKKyAgICA6IG1pbnVzPCBtaW51czwgTjEsTjIgPiwgTjM+Cit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVF9TUEVDKAorICAgICAgICAgIDUKKyAgICAgICAgLCBtaW51cworICAgICAgICAsICggTjEsIE4yLCBOMywgbmEsIG5hICkKKyAgICAgICAgKQorfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBOMSwgdHlwZW5hbWUgTjIKKyAgICA+CitzdHJ1Y3QgbWludXM8IE4xLE4yLG5hLG5hLG5hID4KKyAgICA6IG1pbnVzX2ltcGw8CisgICAgICAgICAgdHlwZW5hbWUgbWludXNfdGFnPE4xPjo6dHlwZQorICAgICAgICAsIHR5cGVuYW1lIG1pbnVzX3RhZzxOMj46OnR5cGUKKyAgICAgICAgPjo6dGVtcGxhdGUgYXBwbHk8IE4xLE4yID46OnR5cGUKK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUX1NQRUMoCisgICAgICAgICAgNQorICAgICAgICAsIG1pbnVzCisgICAgICAgICwgKCBOMSwgTjIsIG5hLCBuYSwgbmEgKQorICAgICAgICApCisKK307CisKK0JPT1NUX01QTF9BVVhfTkFfU1BFQzIoMiwgNSwgbWludXMpCisKK319CisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgewordGVtcGxhdGU8Pgorc3RydWN0IG1pbnVzX2ltcGw8IGludGVncmFsX2NfdGFnLGludGVncmFsX2NfdGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgTjEsIHR5cGVuYW1lIE4yID4gc3RydWN0IGFwcGx5CisKKyAgICAgICAgOiBpbnRlZ3JhbF9jPAorICAgICAgICAgICAgICB0eXBlbmFtZSBhdXg6Omxhcmdlc3RfaW50PAorICAgICAgICAgICAgICAgICAgdHlwZW5hbWUgTjE6OnZhbHVlX3R5cGUKKyAgICAgICAgICAgICAgICAsIHR5cGVuYW1lIE4yOjp2YWx1ZV90eXBlCisgICAgICAgICAgICAgICAgPjo6dHlwZQorICAgICAgICAgICAgLCAoIEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChOMSk6OnZhbHVlCisgICAgICAgICAgICAgICAgICAtIEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChOMik6OnZhbHVlCisgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgPgorICAgIHsKKyAgICB9OworfTsKKworfX0KZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9td2N3L21vZHVsdXMuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL213Y3cvbW9kdWx1cy5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODljNjE3MgotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9td2N3L21vZHVsdXMuaHBwCkBAIC0wLDAgKzEsMTAxIEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9tb2R1bHVzLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFRhZzEKKyAgICAsIHR5cGVuYW1lIFRhZzIKKyAgICA+CitzdHJ1Y3QgbW9kdWx1c19pbXBsCisgICAgOiBpZl9jPAorICAgICAgICAgICggQk9PU1RfTVBMX0FVWF9ORVNURURfVkFMVUVfV0tORChpbnQsIFRhZzEpCisgICAgICAgICAgICAgID4gQk9PU1RfTVBMX0FVWF9ORVNURURfVkFMVUVfV0tORChpbnQsIFRhZzIpCisgICAgICAgICAgICApCisKKyAgICAgICAgLCBhdXg6OmNhc3QybmRfaW1wbDwgbW9kdWx1c19pbXBsPCBUYWcxLFRhZzEgPixUYWcxLCBUYWcyID4KKyAgICAgICAgLCBhdXg6OmNhc3Qxc3RfaW1wbDwgbW9kdWx1c19pbXBsPCBUYWcyLFRhZzIgPixUYWcxLCBUYWcyID4KKyAgICAgICAgPjo6dHlwZQoreworfTsKKworLy8vIGZvciBEaWdpdGFsIE1hcnMgQysrL2NvbXBpbGVycyB3aXRoIG5vIENUUFMvVFRQIHN1cHBvcnQKK3RlbXBsYXRlPD4gc3RydWN0IG1vZHVsdXNfaW1wbDwgbmEsbmEgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUYWcgPiBzdHJ1Y3QgbW9kdWx1c19pbXBsPCBuYSxUYWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUYWcgPiBzdHJ1Y3QgbW9kdWx1c19pbXBsPCBUYWcsbmEgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUID4gc3RydWN0IG1vZHVsdXNfdGFnCit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBUOjp0YWcgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMSkKKyAgICAsIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjIpCisgICAgPgorc3RydWN0IG1vZHVsdXMKKworICAgIDogbW9kdWx1c19pbXBsPAorICAgICAgICAgIHR5cGVuYW1lIG1vZHVsdXNfdGFnPE4xPjo6dHlwZQorICAgICAgICAsIHR5cGVuYW1lIG1vZHVsdXNfdGFnPE4yPjo6dHlwZQorICAgICAgICA+Ojp0ZW1wbGF0ZSBhcHBseTwgTjEsTjIgPjo6dHlwZQoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoMiwgbW9kdWx1cywgKE4xLCBOMikpCisKK307CisKK0JPT1NUX01QTF9BVVhfTkFfU1BFQzIoMiwgMiwgbW9kdWx1cykKKworfX0KKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7Cit0ZW1wbGF0ZTw+CitzdHJ1Y3QgbW9kdWx1c19pbXBsPCBpbnRlZ3JhbF9jX3RhZyxpbnRlZ3JhbF9jX3RhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIE4xLCB0eXBlbmFtZSBOMiA+IHN0cnVjdCBhcHBseQorCisgICAgICAgIDogaW50ZWdyYWxfYzwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgYXV4OjpsYXJnZXN0X2ludDwKKyAgICAgICAgICAgICAgICAgIHR5cGVuYW1lIE4xOjp2YWx1ZV90eXBlCisgICAgICAgICAgICAgICAgLCB0eXBlbmFtZSBOMjo6dmFsdWVfdHlwZQorICAgICAgICAgICAgICAgID46OnR5cGUKKyAgICAgICAgICAgICwgKCBCT09TVF9NUExfQVVYX1ZBTFVFX1dLTkQoTjEpOjp2YWx1ZQorICAgICAgICAgICAgICAgICAgJSBCT09TVF9NUExfQVVYX1ZBTFVFX1dLTkQoTjIpOjp2YWx1ZQorICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgID4KKyAgICB7CisgICAgfTsKK307CisKK319CmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXdjdy9ub3RfZXF1YWxfdG8uaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL213Y3cvbm90X2VxdWFsX3RvLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMjhlMTAwCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL213Y3cvbm90X2VxdWFsX3RvLmhwcApAQCAtMCwwICsxLDk0IEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9ub3RfZXF1YWxfdG8uaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVGFnMQorICAgICwgdHlwZW5hbWUgVGFnMgorICAgID4KK3N0cnVjdCBub3RfZXF1YWxfdG9faW1wbAorICAgIDogaWZfYzwKKyAgICAgICAgICAoIEJPT1NUX01QTF9BVVhfTkVTVEVEX1ZBTFVFX1dLTkQoaW50LCBUYWcxKQorICAgICAgICAgICAgICA+IEJPT1NUX01QTF9BVVhfTkVTVEVEX1ZBTFVFX1dLTkQoaW50LCBUYWcyKQorICAgICAgICAgICAgKQorCisgICAgICAgICwgYXV4OjpjYXN0Mm5kX2ltcGw8IG5vdF9lcXVhbF90b19pbXBsPCBUYWcxLFRhZzEgPixUYWcxLCBUYWcyID4KKyAgICAgICAgLCBhdXg6OmNhc3Qxc3RfaW1wbDwgbm90X2VxdWFsX3RvX2ltcGw8IFRhZzIsVGFnMiA+LFRhZzEsIFRhZzIgPgorICAgICAgICA+Ojp0eXBlCit7Cit9OworCisvLy8gZm9yIERpZ2l0YWwgTWFycyBDKysvY29tcGlsZXJzIHdpdGggbm8gQ1RQUy9UVFAgc3VwcG9ydAordGVtcGxhdGU8PiBzdHJ1Y3Qgbm90X2VxdWFsX3RvX2ltcGw8IG5hLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVGFnID4gc3RydWN0IG5vdF9lcXVhbF90b19pbXBsPCBuYSxUYWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUYWcgPiBzdHJ1Y3Qgbm90X2VxdWFsX3RvX2ltcGw8IFRhZyxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFQgPiBzdHJ1Y3Qgbm90X2VxdWFsX3RvX3RhZworeworICAgIHR5cGVkZWYgdHlwZW5hbWUgVDo6dGFnIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjEpCisgICAgLCB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4yKQorICAgID4KK3N0cnVjdCBub3RfZXF1YWxfdG8KKworICAgIDogbm90X2VxdWFsX3RvX2ltcGw8CisgICAgICAgICAgdHlwZW5hbWUgbm90X2VxdWFsX3RvX3RhZzxOMT46OnR5cGUKKyAgICAgICAgLCB0eXBlbmFtZSBub3RfZXF1YWxfdG9fdGFnPE4yPjo6dHlwZQorICAgICAgICA+Ojp0ZW1wbGF0ZSBhcHBseTwgTjEsTjIgPjo6dHlwZQoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoMiwgbm90X2VxdWFsX3RvLCAoTjEsIE4yKSkKKworfTsKKworQk9PU1RfTVBMX0FVWF9OQV9TUEVDMigyLCAyLCBub3RfZXF1YWxfdG8pCisKK319CisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3Qgbm90X2VxdWFsX3RvX2ltcGw8IGludGVncmFsX2NfdGFnLGludGVncmFsX2NfdGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgTjEsIHR5cGVuYW1lIE4yID4gc3RydWN0IGFwcGx5CisKKyAgICAgICAgOiBib29sXzwgKCBCT09TVF9NUExfQVVYX1ZBTFVFX1dLTkQoTjEpOjp2YWx1ZSAhPSBCT09TVF9NUExfQVVYX1ZBTFVFX1dLTkQoTjIpOjp2YWx1ZSApID4KKyAgICB7CisgICAgfTsKK307CisKK319CmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXdjdy9vci5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXdjdy9vci5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTkyOTYwMgotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9td2N3L29yLmhwcApAQCAtMCwwICsxLDY5IEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9vci5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPCBib29sIENfLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNCA+CitzdHJ1Y3Qgb3JfaW1wbAorICAgIDogdHJ1ZV8KK3sKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNCA+CitzdHJ1Y3Qgb3JfaW1wbDwgZmFsc2UsVDEsVDIsVDMsVDQgPgorICAgIDogb3JfaW1wbDwKKyAgICAgICAgICBCT09TVF9NUExfQVVYX05FU1RFRF9UWVBFX1dLTkQoVDEpOjp2YWx1ZQorICAgICAgICAsIFQyLCBUMywgVDQKKyAgICAgICAgLCBmYWxzZV8KKyAgICAgICAgPgoreworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IG9yX2ltcGw8CisgICAgICAgICAgZmFsc2UKKyAgICAgICAgLCBmYWxzZV8sIGZhbHNlXywgZmFsc2VfLCBmYWxzZV8KKyAgICAgICAgPgorICAgIDogZmFsc2VfCit7Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKFQxKQorICAgICwgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShUMikKKyAgICAsIHR5cGVuYW1lIFQzID0gZmFsc2VfLCB0eXBlbmFtZSBUNCA9IGZhbHNlXywgdHlwZW5hbWUgVDUgPSBmYWxzZV8KKyAgICA+CitzdHJ1Y3Qgb3JfCisKKyAgICA6IGF1eDo6b3JfaW1wbDwKKyAgICAgICAgICBCT09TVF9NUExfQVVYX05FU1RFRF9UWVBFX1dLTkQoVDEpOjp2YWx1ZQorICAgICAgICAsIFQyLCBUMywgVDQsIFQ1CisgICAgICAgID4KKworeworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoCisgICAgICAgICAgNQorICAgICAgICAsIG9yXworICAgICAgICAsICggVDEsIFQyLCBUMywgVDQsIFQ1KQorICAgICAgICApCit9OworCitCT09TVF9NUExfQVVYX05BX1NQRUMyKAorICAgICAgMgorICAgICwgNQorICAgICwgb3JfCisgICAgKQorCit9fQpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL213Y3cvcGxhY2Vob2xkZXJzLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9td2N3L3BsYWNlaG9sZGVycy5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWNkNDUxNAotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9td2N3L3BsYWNlaG9sZGVycy5ocHAKQEAgLTAsMCArMSwxMDUgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMS0yMDA0CisvLyBDb3B5cmlnaHQgUGV0ZXIgRGltb3YgMjAwMS0yMDAzCisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL3BsYWNlaG9sZGVycy5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCitCT09TVF9NUExfQVVYX0FETF9CQVJSSUVSX05BTUVTUEFDRV9PUEVOCit0eXBlZGVmIGFyZzwgLTEgPiBfOworQk9PU1RfTVBMX0FVWF9BRExfQkFSUklFUl9OQU1FU1BBQ0VfQ0xPU0UKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCitCT09TVF9NUExfQVVYX0FSR19BRExfQkFSUklFUl9ERUNMKF8pCisKK25hbWVzcGFjZSBwbGFjZWhvbGRlcnMgewordXNpbmcgQk9PU1RfTVBMX0FVWF9BRExfQkFSUklFUl9OQU1FU1BBQ0U6Ol87Cit9CisKK319CisKKy8vLyBhZ3VydCwgMTcvbWFyLzAyOiBvbmUgbW9yZSBwbGFjZWhvbGRlciBmb3IgdGhlIGxhc3QgJ2FwcGx5IycgCisvLy8gc3BlY2lhbGl6YXRpb24KK0JPT1NUX01QTF9BVVhfQURMX0JBUlJJRVJfTkFNRVNQQUNFX09QRU4KK3R5cGVkZWYgYXJnPDE+IF8xOworCitCT09TVF9NUExfQVVYX0FETF9CQVJSSUVSX05BTUVTUEFDRV9DTE9TRQorbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK0JPT1NUX01QTF9BVVhfQVJHX0FETF9CQVJSSUVSX0RFQ0woXzEpCisKK25hbWVzcGFjZSBwbGFjZWhvbGRlcnMgewordXNpbmcgQk9PU1RfTVBMX0FVWF9BRExfQkFSUklFUl9OQU1FU1BBQ0U6Ol8xOworfQorCit9fQorQk9PU1RfTVBMX0FVWF9BRExfQkFSUklFUl9OQU1FU1BBQ0VfT1BFTgordHlwZWRlZiBhcmc8Mj4gXzI7CisKK0JPT1NUX01QTF9BVVhfQURMX0JBUlJJRVJfTkFNRVNQQUNFX0NMT1NFCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKworQk9PU1RfTVBMX0FVWF9BUkdfQURMX0JBUlJJRVJfREVDTChfMikKKworbmFtZXNwYWNlIHBsYWNlaG9sZGVycyB7Cit1c2luZyBCT09TVF9NUExfQVVYX0FETF9CQVJSSUVSX05BTUVTUEFDRTo6XzI7Cit9CisKK319CitCT09TVF9NUExfQVVYX0FETF9CQVJSSUVSX05BTUVTUEFDRV9PUEVOCit0eXBlZGVmIGFyZzwzPiBfMzsKKworQk9PU1RfTVBMX0FVWF9BRExfQkFSUklFUl9OQU1FU1BBQ0VfQ0xPU0UKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCitCT09TVF9NUExfQVVYX0FSR19BRExfQkFSUklFUl9ERUNMKF8zKQorCituYW1lc3BhY2UgcGxhY2Vob2xkZXJzIHsKK3VzaW5nIEJPT1NUX01QTF9BVVhfQURMX0JBUlJJRVJfTkFNRVNQQUNFOjpfMzsKK30KKworfX0KK0JPT1NUX01QTF9BVVhfQURMX0JBUlJJRVJfTkFNRVNQQUNFX09QRU4KK3R5cGVkZWYgYXJnPDQ+IF80OworCitCT09TVF9NUExfQVVYX0FETF9CQVJSSUVSX05BTUVTUEFDRV9DTE9TRQorbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK0JPT1NUX01QTF9BVVhfQVJHX0FETF9CQVJSSUVSX0RFQ0woXzQpCisKK25hbWVzcGFjZSBwbGFjZWhvbGRlcnMgewordXNpbmcgQk9PU1RfTVBMX0FVWF9BRExfQkFSUklFUl9OQU1FU1BBQ0U6Ol80OworfQorCit9fQorQk9PU1RfTVBMX0FVWF9BRExfQkFSUklFUl9OQU1FU1BBQ0VfT1BFTgordHlwZWRlZiBhcmc8NT4gXzU7CisKK0JPT1NUX01QTF9BVVhfQURMX0JBUlJJRVJfTkFNRVNQQUNFX0NMT1NFCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKworQk9PU1RfTVBMX0FVWF9BUkdfQURMX0JBUlJJRVJfREVDTChfNSkKKworbmFtZXNwYWNlIHBsYWNlaG9sZGVycyB7Cit1c2luZyBCT09TVF9NUExfQVVYX0FETF9CQVJSSUVSX05BTUVTUEFDRTo6XzU7Cit9CisKK319CitCT09TVF9NUExfQVVYX0FETF9CQVJSSUVSX05BTUVTUEFDRV9PUEVOCit0eXBlZGVmIGFyZzw2PiBfNjsKKworQk9PU1RfTVBMX0FVWF9BRExfQkFSUklFUl9OQU1FU1BBQ0VfQ0xPU0UKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCitCT09TVF9NUExfQVVYX0FSR19BRExfQkFSUklFUl9ERUNMKF82KQorCituYW1lc3BhY2UgcGxhY2Vob2xkZXJzIHsKK3VzaW5nIEJPT1NUX01QTF9BVVhfQURMX0JBUlJJRVJfTkFNRVNQQUNFOjpfNjsKK30KKworfX0KZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9td2N3L3BsdXMuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL213Y3cvcGx1cy5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGUwM2UzZQotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9td2N3L3BsdXMuaHBwCkBAIC0wLDAgKzEsMTQ2IEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9wbHVzLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFRhZzEKKyAgICAsIHR5cGVuYW1lIFRhZzIKKyAgICA+CitzdHJ1Y3QgcGx1c19pbXBsCisgICAgOiBpZl9jPAorICAgICAgICAgICggQk9PU1RfTVBMX0FVWF9ORVNURURfVkFMVUVfV0tORChpbnQsIFRhZzEpCisgICAgICAgICAgICAgID4gQk9PU1RfTVBMX0FVWF9ORVNURURfVkFMVUVfV0tORChpbnQsIFRhZzIpCisgICAgICAgICAgICApCisKKyAgICAgICAgLCBhdXg6OmNhc3QybmRfaW1wbDwgcGx1c19pbXBsPCBUYWcxLFRhZzEgPixUYWcxLCBUYWcyID4KKyAgICAgICAgLCBhdXg6OmNhc3Qxc3RfaW1wbDwgcGx1c19pbXBsPCBUYWcyLFRhZzIgPixUYWcxLCBUYWcyID4KKyAgICAgICAgPjo6dHlwZQoreworfTsKKworLy8vIGZvciBEaWdpdGFsIE1hcnMgQysrL2NvbXBpbGVycyB3aXRoIG5vIENUUFMvVFRQIHN1cHBvcnQKK3RlbXBsYXRlPD4gc3RydWN0IHBsdXNfaW1wbDwgbmEsbmEgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUYWcgPiBzdHJ1Y3QgcGx1c19pbXBsPCBuYSxUYWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUYWcgPiBzdHJ1Y3QgcGx1c19pbXBsPCBUYWcsbmEgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUID4gc3RydWN0IHBsdXNfdGFnCit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBUOjp0YWcgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMSkKKyAgICAsIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjIpCisgICAgLCB0eXBlbmFtZSBOMyA9IG5hLCB0eXBlbmFtZSBONCA9IG5hLCB0eXBlbmFtZSBONSA9IG5hCisgICAgPgorc3RydWN0IHBsdXMKKyAgICA6IHBsdXM8IHBsdXM8IHBsdXM8IHBsdXM8IE4xLE4yID4sIE4zPiwgTjQ+LCBONT4KK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKAorICAgICAgICAgIDUKKyAgICAgICAgLCBwbHVzCisgICAgICAgICwgKCBOMSwgTjIsIE4zLCBONCwgTjUgKQorICAgICAgICApCit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIE4xLCB0eXBlbmFtZSBOMiwgdHlwZW5hbWUgTjMsIHR5cGVuYW1lIE40CisgICAgPgorc3RydWN0IHBsdXM8IE4xLE4yLE4zLE40LG5hID4KKworICAgIDogcGx1czwgcGx1czwgcGx1czwgTjEsTjIgPiwgTjM+LCBOND4KK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUX1NQRUMoCisgICAgICAgICAgNQorICAgICAgICAsIHBsdXMKKyAgICAgICAgLCAoIE4xLCBOMiwgTjMsIE40LCBuYSApCisgICAgICAgICkKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgTjEsIHR5cGVuYW1lIE4yLCB0eXBlbmFtZSBOMworICAgID4KK3N0cnVjdCBwbHVzPCBOMSxOMixOMyxuYSxuYSA+CisKKyAgICA6IHBsdXM8IHBsdXM8IE4xLE4yID4sIE4zPgoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlRfU1BFQygKKyAgICAgICAgICA1CisgICAgICAgICwgcGx1cworICAgICAgICAsICggTjEsIE4yLCBOMywgbmEsIG5hICkKKyAgICAgICAgKQorfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBOMSwgdHlwZW5hbWUgTjIKKyAgICA+CitzdHJ1Y3QgcGx1czwgTjEsTjIsbmEsbmEsbmEgPgorICAgIDogcGx1c19pbXBsPAorICAgICAgICAgIHR5cGVuYW1lIHBsdXNfdGFnPE4xPjo6dHlwZQorICAgICAgICAsIHR5cGVuYW1lIHBsdXNfdGFnPE4yPjo6dHlwZQorICAgICAgICA+Ojp0ZW1wbGF0ZSBhcHBseTwgTjEsTjIgPjo6dHlwZQoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlRfU1BFQygKKyAgICAgICAgICA1CisgICAgICAgICwgcGx1cworICAgICAgICAsICggTjEsIE4yLCBuYSwgbmEsIG5hICkKKyAgICAgICAgKQorCit9OworCitCT09TVF9NUExfQVVYX05BX1NQRUMyKDIsIDUsIHBsdXMpCisKK319CisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgewordGVtcGxhdGU8Pgorc3RydWN0IHBsdXNfaW1wbDwgaW50ZWdyYWxfY190YWcsaW50ZWdyYWxfY190YWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBOMSwgdHlwZW5hbWUgTjIgPiBzdHJ1Y3QgYXBwbHkKKworICAgICAgICA6IGludGVncmFsX2M8CisgICAgICAgICAgICAgIHR5cGVuYW1lIGF1eDo6bGFyZ2VzdF9pbnQ8CisgICAgICAgICAgICAgICAgICB0eXBlbmFtZSBOMTo6dmFsdWVfdHlwZQorICAgICAgICAgICAgICAgICwgdHlwZW5hbWUgTjI6OnZhbHVlX3R5cGUKKyAgICAgICAgICAgICAgICA+Ojp0eXBlCisgICAgICAgICAgICAsICggQk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4xKTo6dmFsdWUKKyAgICAgICAgICAgICAgICAgICsgQk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4yKTo6dmFsdWUKKyAgICAgICAgICAgICAgICApCisgICAgICAgICAgICA+CisgICAgeworICAgIH07Cit9OworCit9fQpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL213Y3cvcXVvdGUuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL213Y3cvcXVvdGUuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhjZTc5ZWQKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXdjdy9xdW90ZS5ocHAKQEAgLTAsMCArMSwxMjMgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL3F1b3RlLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVCwgYm9vbCBoYXNfdHlwZV8gPgorc3RydWN0IHF1b3RlX2ltcGwKKyAgICA6IFQKK3sKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUID4KK3N0cnVjdCBxdW90ZV9pbXBsPCBULGZhbHNlID4KK3sKKyAgICB0eXBlZGVmIFQgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFAxID4gY2xhc3MgRgorICAgICwgdHlwZW5hbWUgVGFnID0gdm9pZF8KKyAgICA+CitzdHJ1Y3QgcXVvdGUxCit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxID4gc3RydWN0IGFwcGx5CisKKyAgICAgICAgOiBxdW90ZV9pbXBsPAorICAgICAgICAgICAgICBGPFUxPgorICAgICAgICAgICAgLCBhdXg6Omhhc190eXBlPCBGPFUxPiA+Ojp2YWx1ZQorICAgICAgICAgICAgPgorCisgICAgeworICAgIH07Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBQMSwgdHlwZW5hbWUgUDIgPiBjbGFzcyBGCisgICAgLCB0eXBlbmFtZSBUYWcgPSB2b2lkXworICAgID4KK3N0cnVjdCBxdW90ZTIKK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisKKyAgICAgICAgOiBxdW90ZV9pbXBsPAorICAgICAgICAgICAgICBGPCBVMSxVMiA+CisgICAgICAgICAgICAsIGF1eDo6aGFzX3R5cGU8IEY8IFUxLFUyID4gPjo6dmFsdWUKKyAgICAgICAgICAgID4KKworICAgIHsKKyAgICB9OworfTsKKwordGVtcGxhdGU8CisgICAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgUDEsIHR5cGVuYW1lIFAyLCB0eXBlbmFtZSBQMyA+IGNsYXNzIEYKKyAgICAsIHR5cGVuYW1lIFRhZyA9IHZvaWRfCisgICAgPgorc3RydWN0IHF1b3RlMworeworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIsIHR5cGVuYW1lIFUzID4gc3RydWN0IGFwcGx5CisKKyAgICAgICAgOiBxdW90ZV9pbXBsPAorICAgICAgICAgICAgICBGPCBVMSxVMixVMyA+CisgICAgICAgICAgICAsIGF1eDo6aGFzX3R5cGU8IEY8IFUxLFUyLFUzID4gPjo6dmFsdWUKKyAgICAgICAgICAgID4KKworICAgIHsKKyAgICB9OworfTsKKwordGVtcGxhdGU8CisgICAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgUDEsIHR5cGVuYW1lIFAyLCB0eXBlbmFtZSBQMywgdHlwZW5hbWUgUDQgPiBjbGFzcyBGCisgICAgLCB0eXBlbmFtZSBUYWcgPSB2b2lkXworICAgID4KK3N0cnVjdCBxdW90ZTQKK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIsIHR5cGVuYW1lIFUzLCB0eXBlbmFtZSBVNAorICAgICAgICA+CisgICAgc3RydWN0IGFwcGx5CisKKyAgICAgICAgOiBxdW90ZV9pbXBsPAorICAgICAgICAgICAgICBGPCBVMSxVMixVMyxVNCA+CisgICAgICAgICAgICAsIGF1eDo6aGFzX3R5cGU8IEY8IFUxLFUyLFUzLFU0ID4gPjo6dmFsdWUKKyAgICAgICAgICAgID4KKworICAgIHsKKyAgICB9OworfTsKKwordGVtcGxhdGU8CisgICAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBQMSwgdHlwZW5hbWUgUDIsIHR5cGVuYW1lIFAzLCB0eXBlbmFtZSBQNAorICAgICAgICAsIHR5cGVuYW1lIFA1CisgICAgICAgID4KKyAgICAgIGNsYXNzIEYKKyAgICAsIHR5cGVuYW1lIFRhZyA9IHZvaWRfCisgICAgPgorc3RydWN0IHF1b3RlNQoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiwgdHlwZW5hbWUgVTMsIHR5cGVuYW1lIFU0CisgICAgICAgICwgdHlwZW5hbWUgVTUKKyAgICAgICAgPgorICAgIHN0cnVjdCBhcHBseQorCisgICAgICAgIDogcXVvdGVfaW1wbDwKKyAgICAgICAgICAgICAgRjwgVTEsVTIsVTMsVTQsVTUgPgorICAgICAgICAgICAgLCBhdXg6Omhhc190eXBlPCBGPCBVMSxVMixVMyxVNCxVNSA+ID46OnZhbHVlCisgICAgICAgICAgICA+CisKKyAgICB7CisgICAgfTsKK307CisKK319CisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9td2N3L3JldmVyc2VfZm9sZF9pbXBsLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9td2N3L3JldmVyc2VfZm9sZF9pbXBsLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZDNhZDc1Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL213Y3cvcmV2ZXJzZV9mb2xkX2ltcGwuaHBwCkBAIC0wLDAgKzEsMjMxIEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9hdXhfL3JldmVyc2VfZm9sZF9pbXBsLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeyBuYW1lc3BhY2UgYXV4IHsKKworLy8vIGZvcndhcmQgZGVjbGFyYXRpb24KKwordGVtcGxhdGU8CisgICAgICBsb25nIE4KKyAgICAsIHR5cGVuYW1lIEZpcnN0CisgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICwgdHlwZW5hbWUgQmFja3dhcmRPcAorICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgPgorc3RydWN0IHJldmVyc2VfZm9sZF9pbXBsOworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICwgdHlwZW5hbWUgQmFja3dhcmRPcAorICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgPgorc3RydWN0IHJldmVyc2VfZm9sZF9pbXBsPCAwLEZpcnN0LExhc3QsU3RhdGUsQmFja3dhcmRPcCxGb3J3YXJkT3AgPgoreworICAgIHR5cGVkZWYgRmlyc3QgaXRlcjA7CisgICAgdHlwZWRlZiBTdGF0ZSBmd2Rfc3RhdGUwOworICAgIHR5cGVkZWYgZndkX3N0YXRlMCBia3dkX3N0YXRlMDsKKyAgICB0eXBlZGVmIGJrd2Rfc3RhdGUwIHN0YXRlOworICAgIHR5cGVkZWYgaXRlcjAgaXRlcmF0b3I7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICwgdHlwZW5hbWUgQmFja3dhcmRPcAorICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgPgorc3RydWN0IHJldmVyc2VfZm9sZF9pbXBsPCAxLEZpcnN0LExhc3QsU3RhdGUsQmFja3dhcmRPcCxGb3J3YXJkT3AgPgoreworICAgIHR5cGVkZWYgRmlyc3QgaXRlcjA7CisgICAgdHlwZWRlZiBTdGF0ZSBmd2Rfc3RhdGUwOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsIGZ3ZF9zdGF0ZTAsIHR5cGVuYW1lIGRlcmVmPGl0ZXIwPjo6dHlwZSA+Ojp0eXBlIGZ3ZF9zdGF0ZTE7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjA+Ojp0eXBlIGl0ZXIxOworICAgIAorCisgICAgdHlwZWRlZiBmd2Rfc3RhdGUxIGJrd2Rfc3RhdGUxOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLCBia3dkX3N0YXRlMSwgdHlwZW5hbWUgZGVyZWY8aXRlcjA+Ojp0eXBlID46OnR5cGUgYmt3ZF9zdGF0ZTA7CisgICAgdHlwZWRlZiBia3dkX3N0YXRlMCBzdGF0ZTsKKyAgICB0eXBlZGVmIGl0ZXIxIGl0ZXJhdG9yOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGaXJzdAorICAgICwgdHlwZW5hbWUgTGFzdAorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEJhY2t3YXJkT3AKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgID4KK3N0cnVjdCByZXZlcnNlX2ZvbGRfaW1wbDwgMixGaXJzdCxMYXN0LFN0YXRlLEJhY2t3YXJkT3AsRm9yd2FyZE9wID4KK3sKKyAgICB0eXBlZGVmIEZpcnN0IGl0ZXIwOworICAgIHR5cGVkZWYgU3RhdGUgZndkX3N0YXRlMDsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLCBmd2Rfc3RhdGUwLCB0eXBlbmFtZSBkZXJlZjxpdGVyMD46OnR5cGUgPjo6dHlwZSBmd2Rfc3RhdGUxOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIwPjo6dHlwZSBpdGVyMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLCBmd2Rfc3RhdGUxLCB0eXBlbmFtZSBkZXJlZjxpdGVyMT46OnR5cGUgPjo6dHlwZSBmd2Rfc3RhdGUyOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIxPjo6dHlwZSBpdGVyMjsKKyAgICAKKworICAgIHR5cGVkZWYgZndkX3N0YXRlMiBia3dkX3N0YXRlMjsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgQmFja3dhcmRPcCwgYmt3ZF9zdGF0ZTIsIHR5cGVuYW1lIGRlcmVmPGl0ZXIxPjo6dHlwZSA+Ojp0eXBlIGJrd2Rfc3RhdGUxOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLCBia3dkX3N0YXRlMSwgdHlwZW5hbWUgZGVyZWY8aXRlcjA+Ojp0eXBlID46OnR5cGUgYmt3ZF9zdGF0ZTA7CisgICAgCisKKyAgICB0eXBlZGVmIGJrd2Rfc3RhdGUwIHN0YXRlOworICAgIHR5cGVkZWYgaXRlcjIgaXRlcmF0b3I7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICwgdHlwZW5hbWUgQmFja3dhcmRPcAorICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgPgorc3RydWN0IHJldmVyc2VfZm9sZF9pbXBsPCAzLEZpcnN0LExhc3QsU3RhdGUsQmFja3dhcmRPcCxGb3J3YXJkT3AgPgoreworICAgIHR5cGVkZWYgRmlyc3QgaXRlcjA7CisgICAgdHlwZWRlZiBTdGF0ZSBmd2Rfc3RhdGUwOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsIGZ3ZF9zdGF0ZTAsIHR5cGVuYW1lIGRlcmVmPGl0ZXIwPjo6dHlwZSA+Ojp0eXBlIGZ3ZF9zdGF0ZTE7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjA+Ojp0eXBlIGl0ZXIxOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsIGZ3ZF9zdGF0ZTEsIHR5cGVuYW1lIGRlcmVmPGl0ZXIxPjo6dHlwZSA+Ojp0eXBlIGZ3ZF9zdGF0ZTI7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjE+Ojp0eXBlIGl0ZXIyOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsIGZ3ZF9zdGF0ZTIsIHR5cGVuYW1lIGRlcmVmPGl0ZXIyPjo6dHlwZSA+Ojp0eXBlIGZ3ZF9zdGF0ZTM7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjI+Ojp0eXBlIGl0ZXIzOworICAgIAorCisgICAgdHlwZWRlZiBmd2Rfc3RhdGUzIGJrd2Rfc3RhdGUzOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLCBia3dkX3N0YXRlMywgdHlwZW5hbWUgZGVyZWY8aXRlcjI+Ojp0eXBlID46OnR5cGUgYmt3ZF9zdGF0ZTI7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEJhY2t3YXJkT3AsIGJrd2Rfc3RhdGUyLCB0eXBlbmFtZSBkZXJlZjxpdGVyMT46OnR5cGUgPjo6dHlwZSBia3dkX3N0YXRlMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgQmFja3dhcmRPcCwgYmt3ZF9zdGF0ZTEsIHR5cGVuYW1lIGRlcmVmPGl0ZXIwPjo6dHlwZSA+Ojp0eXBlIGJrd2Rfc3RhdGUwOworICAgIAorCisgICAgdHlwZWRlZiBia3dkX3N0YXRlMCBzdGF0ZTsKKyAgICB0eXBlZGVmIGl0ZXIzIGl0ZXJhdG9yOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGaXJzdAorICAgICwgdHlwZW5hbWUgTGFzdAorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEJhY2t3YXJkT3AKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgID4KK3N0cnVjdCByZXZlcnNlX2ZvbGRfaW1wbDwgNCxGaXJzdCxMYXN0LFN0YXRlLEJhY2t3YXJkT3AsRm9yd2FyZE9wID4KK3sKKyAgICB0eXBlZGVmIEZpcnN0IGl0ZXIwOworICAgIHR5cGVkZWYgU3RhdGUgZndkX3N0YXRlMDsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLCBmd2Rfc3RhdGUwLCB0eXBlbmFtZSBkZXJlZjxpdGVyMD46OnR5cGUgPjo6dHlwZSBmd2Rfc3RhdGUxOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIwPjo6dHlwZSBpdGVyMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLCBmd2Rfc3RhdGUxLCB0eXBlbmFtZSBkZXJlZjxpdGVyMT46OnR5cGUgPjo6dHlwZSBmd2Rfc3RhdGUyOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIxPjo6dHlwZSBpdGVyMjsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLCBmd2Rfc3RhdGUyLCB0eXBlbmFtZSBkZXJlZjxpdGVyMj46OnR5cGUgPjo6dHlwZSBmd2Rfc3RhdGUzOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIyPjo6dHlwZSBpdGVyMzsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLCBmd2Rfc3RhdGUzLCB0eXBlbmFtZSBkZXJlZjxpdGVyMz46OnR5cGUgPjo6dHlwZSBmd2Rfc3RhdGU0OworICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIzPjo6dHlwZSBpdGVyNDsKKyAgICAKKworICAgIHR5cGVkZWYgZndkX3N0YXRlNCBia3dkX3N0YXRlNDsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgQmFja3dhcmRPcCwgYmt3ZF9zdGF0ZTQsIHR5cGVuYW1lIGRlcmVmPGl0ZXIzPjo6dHlwZSA+Ojp0eXBlIGJrd2Rfc3RhdGUzOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLCBia3dkX3N0YXRlMywgdHlwZW5hbWUgZGVyZWY8aXRlcjI+Ojp0eXBlID46OnR5cGUgYmt3ZF9zdGF0ZTI7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEJhY2t3YXJkT3AsIGJrd2Rfc3RhdGUyLCB0eXBlbmFtZSBkZXJlZjxpdGVyMT46OnR5cGUgPjo6dHlwZSBia3dkX3N0YXRlMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgQmFja3dhcmRPcCwgYmt3ZF9zdGF0ZTEsIHR5cGVuYW1lIGRlcmVmPGl0ZXIwPjo6dHlwZSA+Ojp0eXBlIGJrd2Rfc3RhdGUwOworICAgIAorCisgICAgdHlwZWRlZiBia3dkX3N0YXRlMCBzdGF0ZTsKKyAgICB0eXBlZGVmIGl0ZXI0IGl0ZXJhdG9yOworfTsKKwordGVtcGxhdGU8CisgICAgICBsb25nIE4KKyAgICAsIHR5cGVuYW1lIEZpcnN0CisgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICwgdHlwZW5hbWUgQmFja3dhcmRPcAorICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgPgorc3RydWN0IHJldmVyc2VfZm9sZF9pbXBsCit7CisgICAgdHlwZWRlZiBGaXJzdCBpdGVyMDsKKyAgICB0eXBlZGVmIFN0YXRlIGZ3ZF9zdGF0ZTA7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCwgZndkX3N0YXRlMCwgdHlwZW5hbWUgZGVyZWY8aXRlcjA+Ojp0eXBlID46OnR5cGUgZndkX3N0YXRlMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMD46OnR5cGUgaXRlcjE7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCwgZndkX3N0YXRlMSwgdHlwZW5hbWUgZGVyZWY8aXRlcjE+Ojp0eXBlID46OnR5cGUgZndkX3N0YXRlMjsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMT46OnR5cGUgaXRlcjI7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCwgZndkX3N0YXRlMiwgdHlwZW5hbWUgZGVyZWY8aXRlcjI+Ojp0eXBlID46OnR5cGUgZndkX3N0YXRlMzsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMj46OnR5cGUgaXRlcjM7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCwgZndkX3N0YXRlMywgdHlwZW5hbWUgZGVyZWY8aXRlcjM+Ojp0eXBlID46OnR5cGUgZndkX3N0YXRlNDsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMz46OnR5cGUgaXRlcjQ7CisgICAgCisKKyAgICB0eXBlZGVmIHJldmVyc2VfZm9sZF9pbXBsPAorICAgICAgICAgICggKE4gLSA0KSA8IDAgPyAwIDogTiAtIDQgKQorICAgICAgICAsIGl0ZXI0CisgICAgICAgICwgTGFzdAorICAgICAgICAsIGZ3ZF9zdGF0ZTQKKyAgICAgICAgLCBCYWNrd2FyZE9wCisgICAgICAgICwgRm9yd2FyZE9wCisgICAgICAgID4gbmVzdGVkX2NodW5rOworCisgICAgdHlwZWRlZiB0eXBlbmFtZSBuZXN0ZWRfY2h1bms6OnN0YXRlIGJrd2Rfc3RhdGU0OworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLCBia3dkX3N0YXRlNCwgdHlwZW5hbWUgZGVyZWY8aXRlcjM+Ojp0eXBlID46OnR5cGUgYmt3ZF9zdGF0ZTM7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEJhY2t3YXJkT3AsIGJrd2Rfc3RhdGUzLCB0eXBlbmFtZSBkZXJlZjxpdGVyMj46OnR5cGUgPjo6dHlwZSBia3dkX3N0YXRlMjsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgQmFja3dhcmRPcCwgYmt3ZF9zdGF0ZTIsIHR5cGVuYW1lIGRlcmVmPGl0ZXIxPjo6dHlwZSA+Ojp0eXBlIGJrd2Rfc3RhdGUxOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLCBia3dkX3N0YXRlMSwgdHlwZW5hbWUgZGVyZWY8aXRlcjA+Ojp0eXBlID46OnR5cGUgYmt3ZF9zdGF0ZTA7CisgICAgCisKKyAgICB0eXBlZGVmIGJrd2Rfc3RhdGUwIHN0YXRlOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbmVzdGVkX2NodW5rOjppdGVyYXRvciBpdGVyYXRvcjsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBCYWNrd2FyZE9wCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+CitzdHJ1Y3QgcmV2ZXJzZV9mb2xkX2ltcGw8IC0xLEZpcnN0LExhc3QsU3RhdGUsQmFja3dhcmRPcCxGb3J3YXJkT3AgPgoreworICAgIHR5cGVkZWYgcmV2ZXJzZV9mb2xkX2ltcGw8CisgICAgICAgICAgLTEKKyAgICAgICAgLCB0eXBlbmFtZSBtcGw6Om5leHQ8Rmlyc3Q+Ojp0eXBlCisgICAgICAgICwgTGFzdAorICAgICAgICAsIHR5cGVuYW1lIGFwcGx5MjxGb3J3YXJkT3AsU3RhdGUsIHR5cGVuYW1lIGRlcmVmPEZpcnN0Pjo6dHlwZT46OnR5cGUKKyAgICAgICAgLCBCYWNrd2FyZE9wCisgICAgICAgICwgRm9yd2FyZE9wCisgICAgICAgID4gbmVzdGVkX3N0ZXA7CisKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwKKyAgICAgICAgICBCYWNrd2FyZE9wCisgICAgICAgICwgdHlwZW5hbWUgbmVzdGVkX3N0ZXA6OnN0YXRlCisgICAgICAgICwgdHlwZW5hbWUgZGVyZWY8Rmlyc3Q+Ojp0eXBlCisgICAgICAgID46OnR5cGUgc3RhdGU7CisKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG5lc3RlZF9zdGVwOjppdGVyYXRvciBpdGVyYXRvcjsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgTGFzdAorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEJhY2t3YXJkT3AKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgID4KK3N0cnVjdCByZXZlcnNlX2ZvbGRfaW1wbDwgLTEsTGFzdCxMYXN0LFN0YXRlLEJhY2t3YXJkT3AsRm9yd2FyZE9wID4KK3sKKyAgICB0eXBlZGVmIFN0YXRlIHN0YXRlOworICAgIHR5cGVkZWYgTGFzdCBpdGVyYXRvcjsKK307CisKK319fQpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL213Y3cvcmV2ZXJzZV9pdGVyX2ZvbGRfaW1wbC5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXdjdy9yZXZlcnNlX2l0ZXJfZm9sZF9pbXBsLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zM2JmNTA4Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL213Y3cvcmV2ZXJzZV9pdGVyX2ZvbGRfaW1wbC5ocHAKQEAgLTAsMCArMSwyMzEgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL2F1eF8vcmV2ZXJzZV9pdGVyX2ZvbGRfaW1wbC5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsgbmFtZXNwYWNlIGF1eCB7CisKKy8vLyBmb3J3YXJkIGRlY2xhcmF0aW9uCisKK3RlbXBsYXRlPAorICAgICAgbG9uZyBOCisgICAgLCB0eXBlbmFtZSBGaXJzdAorICAgICwgdHlwZW5hbWUgTGFzdAorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEJhY2t3YXJkT3AKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgID4KK3N0cnVjdCByZXZlcnNlX2l0ZXJfZm9sZF9pbXBsOworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICwgdHlwZW5hbWUgQmFja3dhcmRPcAorICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgPgorc3RydWN0IHJldmVyc2VfaXRlcl9mb2xkX2ltcGw8IDAsRmlyc3QsTGFzdCxTdGF0ZSxCYWNrd2FyZE9wLEZvcndhcmRPcCA+Cit7CisgICAgdHlwZWRlZiBGaXJzdCBpdGVyMDsKKyAgICB0eXBlZGVmIFN0YXRlIGZ3ZF9zdGF0ZTA7CisgICAgdHlwZWRlZiBmd2Rfc3RhdGUwIGJrd2Rfc3RhdGUwOworICAgIHR5cGVkZWYgYmt3ZF9zdGF0ZTAgc3RhdGU7CisgICAgdHlwZWRlZiBpdGVyMCBpdGVyYXRvcjsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBCYWNrd2FyZE9wCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+CitzdHJ1Y3QgcmV2ZXJzZV9pdGVyX2ZvbGRfaW1wbDwgMSxGaXJzdCxMYXN0LFN0YXRlLEJhY2t3YXJkT3AsRm9yd2FyZE9wID4KK3sKKyAgICB0eXBlZGVmIEZpcnN0IGl0ZXIwOworICAgIHR5cGVkZWYgU3RhdGUgZndkX3N0YXRlMDsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLGZ3ZF9zdGF0ZTAsaXRlcjAgPjo6dHlwZSBmd2Rfc3RhdGUxOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIwPjo6dHlwZSBpdGVyMTsKKyAgICAKKworICAgIHR5cGVkZWYgZndkX3N0YXRlMSBia3dkX3N0YXRlMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgQmFja3dhcmRPcCxia3dkX3N0YXRlMSxpdGVyMCA+Ojp0eXBlIGJrd2Rfc3RhdGUwOworICAgIHR5cGVkZWYgYmt3ZF9zdGF0ZTAgc3RhdGU7CisgICAgdHlwZWRlZiBpdGVyMSBpdGVyYXRvcjsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBCYWNrd2FyZE9wCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+CitzdHJ1Y3QgcmV2ZXJzZV9pdGVyX2ZvbGRfaW1wbDwgMixGaXJzdCxMYXN0LFN0YXRlLEJhY2t3YXJkT3AsRm9yd2FyZE9wID4KK3sKKyAgICB0eXBlZGVmIEZpcnN0IGl0ZXIwOworICAgIHR5cGVkZWYgU3RhdGUgZndkX3N0YXRlMDsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLGZ3ZF9zdGF0ZTAsaXRlcjAgPjo6dHlwZSBmd2Rfc3RhdGUxOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIwPjo6dHlwZSBpdGVyMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLGZ3ZF9zdGF0ZTEsaXRlcjEgPjo6dHlwZSBmd2Rfc3RhdGUyOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIxPjo6dHlwZSBpdGVyMjsKKyAgICAKKworICAgIHR5cGVkZWYgZndkX3N0YXRlMiBia3dkX3N0YXRlMjsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgQmFja3dhcmRPcCxia3dkX3N0YXRlMixpdGVyMSA+Ojp0eXBlIGJrd2Rfc3RhdGUxOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLGJrd2Rfc3RhdGUxLGl0ZXIwID46OnR5cGUgYmt3ZF9zdGF0ZTA7CisgICAgCisKKyAgICB0eXBlZGVmIGJrd2Rfc3RhdGUwIHN0YXRlOworICAgIHR5cGVkZWYgaXRlcjIgaXRlcmF0b3I7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICwgdHlwZW5hbWUgQmFja3dhcmRPcAorICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgPgorc3RydWN0IHJldmVyc2VfaXRlcl9mb2xkX2ltcGw8IDMsRmlyc3QsTGFzdCxTdGF0ZSxCYWNrd2FyZE9wLEZvcndhcmRPcCA+Cit7CisgICAgdHlwZWRlZiBGaXJzdCBpdGVyMDsKKyAgICB0eXBlZGVmIFN0YXRlIGZ3ZF9zdGF0ZTA7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCxmd2Rfc3RhdGUwLGl0ZXIwID46OnR5cGUgZndkX3N0YXRlMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMD46OnR5cGUgaXRlcjE7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCxmd2Rfc3RhdGUxLGl0ZXIxID46OnR5cGUgZndkX3N0YXRlMjsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMT46OnR5cGUgaXRlcjI7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCxmd2Rfc3RhdGUyLGl0ZXIyID46OnR5cGUgZndkX3N0YXRlMzsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMj46OnR5cGUgaXRlcjM7CisgICAgCisKKyAgICB0eXBlZGVmIGZ3ZF9zdGF0ZTMgYmt3ZF9zdGF0ZTM7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEJhY2t3YXJkT3AsYmt3ZF9zdGF0ZTMsaXRlcjIgPjo6dHlwZSBia3dkX3N0YXRlMjsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgQmFja3dhcmRPcCxia3dkX3N0YXRlMixpdGVyMSA+Ojp0eXBlIGJrd2Rfc3RhdGUxOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLGJrd2Rfc3RhdGUxLGl0ZXIwID46OnR5cGUgYmt3ZF9zdGF0ZTA7CisgICAgCisKKyAgICB0eXBlZGVmIGJrd2Rfc3RhdGUwIHN0YXRlOworICAgIHR5cGVkZWYgaXRlcjMgaXRlcmF0b3I7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICwgdHlwZW5hbWUgQmFja3dhcmRPcAorICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgPgorc3RydWN0IHJldmVyc2VfaXRlcl9mb2xkX2ltcGw8IDQsRmlyc3QsTGFzdCxTdGF0ZSxCYWNrd2FyZE9wLEZvcndhcmRPcCA+Cit7CisgICAgdHlwZWRlZiBGaXJzdCBpdGVyMDsKKyAgICB0eXBlZGVmIFN0YXRlIGZ3ZF9zdGF0ZTA7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCxmd2Rfc3RhdGUwLGl0ZXIwID46OnR5cGUgZndkX3N0YXRlMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMD46OnR5cGUgaXRlcjE7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCxmd2Rfc3RhdGUxLGl0ZXIxID46OnR5cGUgZndkX3N0YXRlMjsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMT46OnR5cGUgaXRlcjI7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCxmd2Rfc3RhdGUyLGl0ZXIyID46OnR5cGUgZndkX3N0YXRlMzsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMj46OnR5cGUgaXRlcjM7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCxmd2Rfc3RhdGUzLGl0ZXIzID46OnR5cGUgZndkX3N0YXRlNDsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMz46OnR5cGUgaXRlcjQ7CisgICAgCisKKyAgICB0eXBlZGVmIGZ3ZF9zdGF0ZTQgYmt3ZF9zdGF0ZTQ7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEJhY2t3YXJkT3AsYmt3ZF9zdGF0ZTQsaXRlcjMgPjo6dHlwZSBia3dkX3N0YXRlMzsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgQmFja3dhcmRPcCxia3dkX3N0YXRlMyxpdGVyMiA+Ojp0eXBlIGJrd2Rfc3RhdGUyOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLGJrd2Rfc3RhdGUyLGl0ZXIxID46OnR5cGUgYmt3ZF9zdGF0ZTE7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEJhY2t3YXJkT3AsYmt3ZF9zdGF0ZTEsaXRlcjAgPjo6dHlwZSBia3dkX3N0YXRlMDsKKyAgICAKKworICAgIHR5cGVkZWYgYmt3ZF9zdGF0ZTAgc3RhdGU7CisgICAgdHlwZWRlZiBpdGVyNCBpdGVyYXRvcjsKK307CisKK3RlbXBsYXRlPAorICAgICAgbG9uZyBOCisgICAgLCB0eXBlbmFtZSBGaXJzdAorICAgICwgdHlwZW5hbWUgTGFzdAorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEJhY2t3YXJkT3AKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgID4KK3N0cnVjdCByZXZlcnNlX2l0ZXJfZm9sZF9pbXBsCit7CisgICAgdHlwZWRlZiBGaXJzdCBpdGVyMDsKKyAgICB0eXBlZGVmIFN0YXRlIGZ3ZF9zdGF0ZTA7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCxmd2Rfc3RhdGUwLGl0ZXIwID46OnR5cGUgZndkX3N0YXRlMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMD46OnR5cGUgaXRlcjE7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCxmd2Rfc3RhdGUxLGl0ZXIxID46OnR5cGUgZndkX3N0YXRlMjsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMT46OnR5cGUgaXRlcjI7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCxmd2Rfc3RhdGUyLGl0ZXIyID46OnR5cGUgZndkX3N0YXRlMzsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMj46OnR5cGUgaXRlcjM7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCxmd2Rfc3RhdGUzLGl0ZXIzID46OnR5cGUgZndkX3N0YXRlNDsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMz46OnR5cGUgaXRlcjQ7CisgICAgCisKKyAgICB0eXBlZGVmIHJldmVyc2VfaXRlcl9mb2xkX2ltcGw8CisgICAgICAgICAgKCAoTiAtIDQpIDwgMCA/IDAgOiBOIC0gNCApCisgICAgICAgICwgaXRlcjQKKyAgICAgICAgLCBMYXN0CisgICAgICAgICwgZndkX3N0YXRlNAorICAgICAgICAsIEJhY2t3YXJkT3AKKyAgICAgICAgLCBGb3J3YXJkT3AKKyAgICAgICAgPiBuZXN0ZWRfY2h1bms7CisKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG5lc3RlZF9jaHVuazo6c3RhdGUgYmt3ZF9zdGF0ZTQ7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEJhY2t3YXJkT3AsYmt3ZF9zdGF0ZTQsaXRlcjMgPjo6dHlwZSBia3dkX3N0YXRlMzsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgQmFja3dhcmRPcCxia3dkX3N0YXRlMyxpdGVyMiA+Ojp0eXBlIGJrd2Rfc3RhdGUyOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLGJrd2Rfc3RhdGUyLGl0ZXIxID46OnR5cGUgYmt3ZF9zdGF0ZTE7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEJhY2t3YXJkT3AsYmt3ZF9zdGF0ZTEsaXRlcjAgPjo6dHlwZSBia3dkX3N0YXRlMDsKKyAgICAKKworICAgIHR5cGVkZWYgYmt3ZF9zdGF0ZTAgc3RhdGU7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBuZXN0ZWRfY2h1bms6Oml0ZXJhdG9yIGl0ZXJhdG9yOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGaXJzdAorICAgICwgdHlwZW5hbWUgTGFzdAorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEJhY2t3YXJkT3AKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgID4KK3N0cnVjdCByZXZlcnNlX2l0ZXJfZm9sZF9pbXBsPCAtMSxGaXJzdCxMYXN0LFN0YXRlLEJhY2t3YXJkT3AsRm9yd2FyZE9wID4KK3sKKyAgICB0eXBlZGVmIHJldmVyc2VfaXRlcl9mb2xkX2ltcGw8CisgICAgICAgICAgLTEKKyAgICAgICAgLCB0eXBlbmFtZSBtcGw6Om5leHQ8Rmlyc3Q+Ojp0eXBlCisgICAgICAgICwgTGFzdAorICAgICAgICAsIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLFN0YXRlLEZpcnN0ID46OnR5cGUKKyAgICAgICAgLCBCYWNrd2FyZE9wCisgICAgICAgICwgRm9yd2FyZE9wCisgICAgICAgID4gbmVzdGVkX3N0ZXA7CisKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwKKyAgICAgICAgICBCYWNrd2FyZE9wCisgICAgICAgICwgdHlwZW5hbWUgbmVzdGVkX3N0ZXA6OnN0YXRlCisgICAgICAgICwgRmlyc3QKKyAgICAgICAgPjo6dHlwZSBzdGF0ZTsKKworICAgIHR5cGVkZWYgdHlwZW5hbWUgbmVzdGVkX3N0ZXA6Oml0ZXJhdG9yIGl0ZXJhdG9yOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBMYXN0CisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICwgdHlwZW5hbWUgQmFja3dhcmRPcAorICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgPgorc3RydWN0IHJldmVyc2VfaXRlcl9mb2xkX2ltcGw8IC0xLExhc3QsTGFzdCxTdGF0ZSxCYWNrd2FyZE9wLEZvcndhcmRPcCA+Cit7CisgICAgdHlwZWRlZiBTdGF0ZSBzdGF0ZTsKKyAgICB0eXBlZGVmIExhc3QgaXRlcmF0b3I7Cit9OworCit9fX0KZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9td2N3L3NldC5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXdjdy9zZXQuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRjNGNhMTEKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXdjdy9zZXQuaHBwCkBAIC0wLDAgKzEsMzIzIEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9zZXQuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAgPSBuYSwgdHlwZW5hbWUgVDEgPSBuYSwgdHlwZW5hbWUgVDIgPSBuYSwgdHlwZW5hbWUgVDMgPSBuYQorICAgICwgdHlwZW5hbWUgVDQgPSBuYSwgdHlwZW5hbWUgVDUgPSBuYSwgdHlwZW5hbWUgVDYgPSBuYSwgdHlwZW5hbWUgVDcgPSBuYQorICAgICwgdHlwZW5hbWUgVDggPSBuYSwgdHlwZW5hbWUgVDkgPSBuYSwgdHlwZW5hbWUgVDEwID0gbmEsIHR5cGVuYW1lIFQxMSA9IG5hCisgICAgLCB0eXBlbmFtZSBUMTIgPSBuYSwgdHlwZW5hbWUgVDEzID0gbmEsIHR5cGVuYW1lIFQxNCA9IG5hCisgICAgLCB0eXBlbmFtZSBUMTUgPSBuYSwgdHlwZW5hbWUgVDE2ID0gbmEsIHR5cGVuYW1lIFQxNyA9IG5hCisgICAgLCB0eXBlbmFtZSBUMTggPSBuYSwgdHlwZW5hbWUgVDE5ID0gbmEKKyAgICA+CitzdHJ1Y3Qgc2V0OworCit0ZW1wbGF0ZTwKKyAgICAgCisgICAgPgorc3RydWN0IHNldDwKKyAgICAgICAgICBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHNldDA8ICA+Cit7CisgICAgdHlwZWRlZiBzZXQwPCAgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMAorICAgID4KK3N0cnVjdCBzZXQ8CisgICAgICAgICAgVDAsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBzZXQxPFQwPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0MTxUMD46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxCisgICAgPgorc3RydWN0IHNldDwKKyAgICAgICAgICBUMCwgVDEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHNldDI8IFQwLFQxID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDI8IFQwLFQxID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMgorICAgID4KK3N0cnVjdCBzZXQ8CisgICAgICAgICAgVDAsIFQxLCBUMiwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBzZXQzPCBUMCxUMSxUMiA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQzPCBUMCxUMSxUMiA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzCisgICAgPgorc3RydWN0IHNldDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHNldDQ8IFQwLFQxLFQyLFQzID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDQ8IFQwLFQxLFQyLFQzID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgPgorc3RydWN0IHNldDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHNldDU8IFQwLFQxLFQyLFQzLFQ0ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDU8IFQwLFQxLFQyLFQzLFQ0ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNQorICAgID4KK3N0cnVjdCBzZXQ8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBzZXQ2PCBUMCxUMSxUMixUMyxUNCxUNSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQ2PCBUMCxUMSxUMixUMyxUNCxUNSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2CisgICAgPgorc3RydWN0IHNldDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHNldDc8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDc8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3CisgICAgPgorc3RydWN0IHNldDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHNldDg8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDg8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOAorICAgID4KK3N0cnVjdCBzZXQ8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBzZXQ5PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQ5PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgPgorc3RydWN0IHNldDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHNldDEwPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQxMDwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDkgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwCisgICAgPgorc3RydWN0IHNldDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBzZXQxMTwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDExPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEKKyAgICA+CitzdHJ1Y3Qgc2V0PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBzZXQxMjwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQxMjwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyCisgICAgPgorc3RydWN0IHNldDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHNldDEzPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMiA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQxMzwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzCisgICAgPgorc3RydWN0IHNldDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBzZXQxNDwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDE0PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICA+CitzdHJ1Y3Qgc2V0PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNCwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBzZXQxNTwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0MTU8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyxUMTQgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAsIHR5cGVuYW1lIFQxNQorICAgID4KK3N0cnVjdCBzZXQ8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1LCBuYSwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBzZXQxNjwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgLCBUMTUKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0MTY8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyxUMTQsVDE1ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNgorICAgID4KK3N0cnVjdCBzZXQ8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1LCBUMTYsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogc2V0MTc8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1LCBUMTYKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0MTc8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyxUMTQsVDE1LFQxNiA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNworICAgID4KK3N0cnVjdCBzZXQ8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1LCBUMTYsIFQxNywgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHNldDE4PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgVDE2LCBUMTcKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0MTg8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyxUMTQsVDE1LFQxNixUMTcgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOAorICAgID4KK3N0cnVjdCBzZXQ8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1LCBUMTYsIFQxNywgVDE4LCBuYQorICAgICAgICA+CisgICAgOiBzZXQxOTwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgLCBUMTUsIFQxNiwgVDE3LCBUMTgKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0MTk8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyxUMTQsVDE1LFQxNixUMTcsVDE4ID46OnR5cGUgdHlwZTsKK307CisKKy8vLyBwcmltYXJ5IHRlbXBsYXRlIChub3QgYSBzcGVjaWFsaXphdGlvbiEpCisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgID4KK3N0cnVjdCBzZXQKKyAgICA6IHNldDIwPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgVDE2LCBUMTcsIFQxOCwgVDE5CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDIwPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMsVDE0LFQxNSxUMTYsVDE3LFQxOCxUMTkgPjo6dHlwZSB0eXBlOworfTsKKworfX0KKwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL213Y3cvc2V0X2MuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL213Y3cvc2V0X2MuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJlZjJmZGUKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXdjdy9zZXRfYy5ocHAKQEAgLTAsMCArMSwzMjggQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL3NldF9jLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAgPSBMT05HX01BWCwgbG9uZyBDMSA9IExPTkdfTUFYLCBsb25nIEMyID0gTE9OR19NQVgKKyAgICAsIGxvbmcgQzMgPSBMT05HX01BWCwgbG9uZyBDNCA9IExPTkdfTUFYLCBsb25nIEM1ID0gTE9OR19NQVgKKyAgICAsIGxvbmcgQzYgPSBMT05HX01BWCwgbG9uZyBDNyA9IExPTkdfTUFYLCBsb25nIEM4ID0gTE9OR19NQVgKKyAgICAsIGxvbmcgQzkgPSBMT05HX01BWCwgbG9uZyBDMTAgPSBMT05HX01BWCwgbG9uZyBDMTEgPSBMT05HX01BWAorICAgICwgbG9uZyBDMTIgPSBMT05HX01BWCwgbG9uZyBDMTMgPSBMT05HX01BWCwgbG9uZyBDMTQgPSBMT05HX01BWAorICAgICwgbG9uZyBDMTUgPSBMT05HX01BWCwgbG9uZyBDMTYgPSBMT05HX01BWCwgbG9uZyBDMTcgPSBMT05HX01BWAorICAgICwgbG9uZyBDMTggPSBMT05HX01BWCwgbG9uZyBDMTkgPSBMT05HX01BWAorICAgID4KK3N0cnVjdCBzZXRfYzsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUCisgICAgPgorc3RydWN0IHNldF9jPAorICAgICAgICAgIFQsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IHNldDBfYzxUPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0MF9jPFQ+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAKKyAgICA+CitzdHJ1Y3Qgc2V0X2M8CisgICAgICAgICAgVCwgQzAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogc2V0MV9jPCBULEMwID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDFfYzwgVCxDMCA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEKKyAgICA+CitzdHJ1Y3Qgc2V0X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogc2V0Ml9jPCBULEMwLEMxID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDJfYzwgVCxDMCxDMSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIKKyAgICA+CitzdHJ1Y3Qgc2V0X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogc2V0M19jPCBULEMwLEMxLEMyID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDNfYzwgVCxDMCxDMSxDMiA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMKKyAgICA+CitzdHJ1Y3Qgc2V0X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogc2V0NF9jPCBULEMwLEMxLEMyLEMzID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDRfYzwgVCxDMCxDMSxDMixDMyA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQKKyAgICA+CitzdHJ1Y3Qgc2V0X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogc2V0NV9jPCBULEMwLEMxLEMyLEMzLEM0ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDVfYzwgVCxDMCxDMSxDMixDMyxDNCA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICA+CitzdHJ1Y3Qgc2V0X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogc2V0Nl9jPCBULEMwLEMxLEMyLEMzLEM0LEM1ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDZfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAsIGxvbmcgQzYKKyAgICA+CitzdHJ1Y3Qgc2V0X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogc2V0N19jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDdfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNiA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAsIGxvbmcgQzYsIGxvbmcgQzcKKyAgICA+CitzdHJ1Y3Qgc2V0X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogc2V0OF9jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2LEM3ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDhfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgKKyAgICA+CitzdHJ1Y3Qgc2V0X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogc2V0OV9jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2LEM3LEM4ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDlfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyxDOCA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzkKKyAgICA+CitzdHJ1Y3Qgc2V0X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogc2V0MTBfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyxDOCxDOSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQxMF9jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2LEM3LEM4LEM5ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAKKyAgICA+CitzdHJ1Y3Qgc2V0X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogc2V0MTFfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyxDOCxDOSxDMTAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0MTFfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyxDOCxDOSxDMTAgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEKKyAgICA+CitzdHJ1Y3Qgc2V0X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IHNldDEyX2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcsQzgsQzksQzEwLEMxMSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQxMl9jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2LEM3LEM4LEM5LEMxMCxDMTEgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgPgorc3RydWN0IHNldF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogc2V0MTNfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyxDOCxDOSxDMTAsQzExLEMxMiA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQxM19jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2LEM3LEM4LEM5LEMxMCxDMTEsQzEyID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgICwgbG9uZyBDMTMKKyAgICA+CitzdHJ1Y3Qgc2V0X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBDMTIsIEMxMworICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogc2V0MTRfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIEMxMiwgQzEzCisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDE0X2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcsQzgsQzksQzEwLEMxMSxDMTIsQzEzID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0CisgICAgPgorc3RydWN0IHNldF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMsIEMxNAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiBzZXQxNV9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMsIEMxNAorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQxNV9jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2LEM3LEM4LEM5LEMxMCxDMTEsQzEyLEMxMyxDMTQgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1CisgICAgPgorc3RydWN0IHNldF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMsIEMxNAorICAgICAgICAsIEMxNSwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogc2V0MTZfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIEMxMiwgQzEzLCBDMTQKKyAgICAgICAgLCBDMTUKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0MTZfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyxDOCxDOSxDMTAsQzExLEMxMixDMTMsQzE0LEMxNSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAsIGxvbmcgQzEzLCBsb25nIEMxNCwgbG9uZyBDMTUsIGxvbmcgQzE2CisgICAgPgorc3RydWN0IHNldF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMsIEMxNAorICAgICAgICAsIEMxNSwgQzE2LCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IHNldDE3X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBDMTIsIEMxMywgQzE0CisgICAgICAgICwgQzE1LCBDMTYKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0MTdfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyxDOCxDOSxDMTAsQzExLEMxMixDMTMsQzE0LEMxNSxDMTYgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1LCBsb25nIEMxNiwgbG9uZyBDMTcKKyAgICA+CitzdHJ1Y3Qgc2V0X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBDMTIsIEMxMywgQzE0CisgICAgICAgICwgQzE1LCBDMTYsIEMxNywgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IHNldDE4X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBDMTIsIEMxMywgQzE0CisgICAgICAgICwgQzE1LCBDMTYsIEMxNworICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQxOF9jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2LEM3LEM4LEM5LEMxMCxDMTEsQzEyLEMxMyxDMTQsQzE1LEMxNixDMTcgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1LCBsb25nIEMxNiwgbG9uZyBDMTcsIGxvbmcgQzE4CisgICAgPgorc3RydWN0IHNldF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMsIEMxNAorICAgICAgICAsIEMxNSwgQzE2LCBDMTcsIEMxOCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogc2V0MTlfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIEMxMiwgQzEzLCBDMTQKKyAgICAgICAgLCBDMTUsIEMxNiwgQzE3LCBDMTgKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0MTlfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyxDOCxDOSxDMTAsQzExLEMxMixDMTMsQzE0LEMxNSxDMTYsQzE3LEMxOCA+Ojp0eXBlIHR5cGU7Cit9OworCisvLy8gcHJpbWFyeSB0ZW1wbGF0ZSAobm90IGEgc3BlY2lhbGl6YXRpb24hKQorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAsIGxvbmcgQzEzLCBsb25nIEMxNCwgbG9uZyBDMTUsIGxvbmcgQzE2LCBsb25nIEMxNywgbG9uZyBDMTgsIGxvbmcgQzE5CisgICAgPgorc3RydWN0IHNldF9jCisgICAgOiBzZXQyMF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMsIEMxNAorICAgICAgICAsIEMxNSwgQzE2LCBDMTcsIEMxOCwgQzE5CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDIwX2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcsQzgsQzksQzEwLEMxMSxDMTIsQzEzLEMxNCxDMTUsQzE2LEMxNyxDMTgsQzE5ID46OnR5cGUgdHlwZTsKK307CisKK319CisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9td2N3L3NoaWZ0X2xlZnQuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL213Y3cvc2hpZnRfbGVmdC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzhkZjI5YwotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9td2N3L3NoaWZ0X2xlZnQuaHBwCkBAIC0wLDAgKzEsOTkgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLyBDb3B5cmlnaHQgSmFhcCBTdXRlciAyMDAzCisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL3NoaWZ0X2xlZnQuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVGFnMQorICAgICwgdHlwZW5hbWUgVGFnMgorICAgID4KK3N0cnVjdCBzaGlmdF9sZWZ0X2ltcGwKKyAgICA6IGlmX2M8CisgICAgICAgICAgKCBCT09TVF9NUExfQVVYX05FU1RFRF9WQUxVRV9XS05EKGludCwgVGFnMSkKKyAgICAgICAgICAgICAgPiBCT09TVF9NUExfQVVYX05FU1RFRF9WQUxVRV9XS05EKGludCwgVGFnMikKKyAgICAgICAgICAgICkKKworICAgICAgICAsIGF1eDo6Y2FzdDJuZF9pbXBsPCBzaGlmdF9sZWZ0X2ltcGw8IFRhZzEsVGFnMSA+LFRhZzEsIFRhZzIgPgorICAgICAgICAsIGF1eDo6Y2FzdDFzdF9pbXBsPCBzaGlmdF9sZWZ0X2ltcGw8IFRhZzIsVGFnMiA+LFRhZzEsIFRhZzIgPgorICAgICAgICA+Ojp0eXBlCit7Cit9OworCisvLy8gZm9yIERpZ2l0YWwgTWFycyBDKysvY29tcGlsZXJzIHdpdGggbm8gQ1RQUy9UVFAgc3VwcG9ydAordGVtcGxhdGU8PiBzdHJ1Y3Qgc2hpZnRfbGVmdF9pbXBsPCBuYSxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFRhZyA+IHN0cnVjdCBzaGlmdF9sZWZ0X2ltcGw8IG5hLFRhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFRhZyA+IHN0cnVjdCBzaGlmdF9sZWZ0X2ltcGw8IFRhZyxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFQgPiBzdHJ1Y3Qgc2hpZnRfbGVmdF90YWcKK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIFQ6OnRhZyB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4xKQorICAgICwgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMikKKyAgICA+CitzdHJ1Y3Qgc2hpZnRfbGVmdAorCisgICAgOiBzaGlmdF9sZWZ0X2ltcGw8CisgICAgICAgICAgdHlwZW5hbWUgc2hpZnRfbGVmdF90YWc8TjE+Ojp0eXBlCisgICAgICAgICwgdHlwZW5hbWUgc2hpZnRfbGVmdF90YWc8TjI+Ojp0eXBlCisgICAgICAgID46OnRlbXBsYXRlIGFwcGx5PCBOMSxOMiA+Ojp0eXBlCit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgyLCBzaGlmdF9sZWZ0LCAoTjEsIE4yKSkKKworfTsKKworQk9PU1RfTVBMX0FVWF9OQV9TUEVDMigyLCAyLCBzaGlmdF9sZWZ0KQorCit9fQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKK3RlbXBsYXRlPD4KK3N0cnVjdCBzaGlmdF9sZWZ0X2ltcGw8IGludGVncmFsX2NfdGFnLGludGVncmFsX2NfdGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgTiwgdHlwZW5hbWUgUyA+IHN0cnVjdCBhcHBseQorCisgICAgICAgIDogaW50ZWdyYWxfYzwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgTjo6dmFsdWVfdHlwZQorICAgICAgICAgICAgLCAoIEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChOKTo6dmFsdWUKKyAgICAgICAgICAgICAgICAgIDw8IEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChTKTo6dmFsdWUKKyAgICAgICAgICAgICAgICApCisgICAgICAgICAgICA+CisgICAgeworICAgIH07Cit9OworCit9fQpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL213Y3cvc2hpZnRfcmlnaHQuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL213Y3cvc2hpZnRfcmlnaHQuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE3MjZmZjEKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXdjdy9zaGlmdF9yaWdodC5ocHAKQEAgLTAsMCArMSw5OSBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vIENvcHlyaWdodCBKYWFwIFN1dGVyIDIwMDMKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvc2hpZnRfcmlnaHQuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVGFnMQorICAgICwgdHlwZW5hbWUgVGFnMgorICAgID4KK3N0cnVjdCBzaGlmdF9yaWdodF9pbXBsCisgICAgOiBpZl9jPAorICAgICAgICAgICggQk9PU1RfTVBMX0FVWF9ORVNURURfVkFMVUVfV0tORChpbnQsIFRhZzEpCisgICAgICAgICAgICAgID4gQk9PU1RfTVBMX0FVWF9ORVNURURfVkFMVUVfV0tORChpbnQsIFRhZzIpCisgICAgICAgICAgICApCisKKyAgICAgICAgLCBhdXg6OmNhc3QybmRfaW1wbDwgc2hpZnRfcmlnaHRfaW1wbDwgVGFnMSxUYWcxID4sVGFnMSwgVGFnMiA+CisgICAgICAgICwgYXV4OjpjYXN0MXN0X2ltcGw8IHNoaWZ0X3JpZ2h0X2ltcGw8IFRhZzIsVGFnMiA+LFRhZzEsIFRhZzIgPgorICAgICAgICA+Ojp0eXBlCit7Cit9OworCisvLy8gZm9yIERpZ2l0YWwgTWFycyBDKysvY29tcGlsZXJzIHdpdGggbm8gQ1RQUy9UVFAgc3VwcG9ydAordGVtcGxhdGU8PiBzdHJ1Y3Qgc2hpZnRfcmlnaHRfaW1wbDwgbmEsbmEgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUYWcgPiBzdHJ1Y3Qgc2hpZnRfcmlnaHRfaW1wbDwgbmEsVGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVGFnID4gc3RydWN0IHNoaWZ0X3JpZ2h0X2ltcGw8IFRhZyxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFQgPiBzdHJ1Y3Qgc2hpZnRfcmlnaHRfdGFnCit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBUOjp0YWcgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMSkKKyAgICAsIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjIpCisgICAgPgorc3RydWN0IHNoaWZ0X3JpZ2h0CisKKyAgICA6IHNoaWZ0X3JpZ2h0X2ltcGw8CisgICAgICAgICAgdHlwZW5hbWUgc2hpZnRfcmlnaHRfdGFnPE4xPjo6dHlwZQorICAgICAgICAsIHR5cGVuYW1lIHNoaWZ0X3JpZ2h0X3RhZzxOMj46OnR5cGUKKyAgICAgICAgPjo6dGVtcGxhdGUgYXBwbHk8IE4xLE4yID46OnR5cGUKK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKDIsIHNoaWZ0X3JpZ2h0LCAoTjEsIE4yKSkKKworfTsKKworQk9PU1RfTVBMX0FVWF9OQV9TUEVDMigyLCAyLCBzaGlmdF9yaWdodCkKKworfX0KKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7Cit0ZW1wbGF0ZTw+CitzdHJ1Y3Qgc2hpZnRfcmlnaHRfaW1wbDwgaW50ZWdyYWxfY190YWcsaW50ZWdyYWxfY190YWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBOLCB0eXBlbmFtZSBTID4gc3RydWN0IGFwcGx5CisKKyAgICAgICAgOiBpbnRlZ3JhbF9jPAorICAgICAgICAgICAgICB0eXBlbmFtZSBOOjp2YWx1ZV90eXBlCisgICAgICAgICAgICAsICggQk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4pOjp2YWx1ZQorICAgICAgICAgICAgICAgICAgPj4gQk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKFMpOjp2YWx1ZQorICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgID4KKyAgICB7CisgICAgfTsKK307CisKK319CmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXdjdy90ZW1wbGF0ZV9hcml0eS5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXdjdy90ZW1wbGF0ZV9hcml0eS5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmNiNDJhZQotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9td2N3L3RlbXBsYXRlX2FyaXR5LmhwcApAQCAtMCwwICsxLDExIEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDEtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9hdXhfL3RlbXBsYXRlX2FyaXR5LmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9td2N3L3RpbWVzLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9td2N3L3RpbWVzLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNDUxNGU1Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL213Y3cvdGltZXMuaHBwCkBAIC0wLDAgKzEsMTQ2IEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC90aW1lcy5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUYWcxCisgICAgLCB0eXBlbmFtZSBUYWcyCisgICAgPgorc3RydWN0IHRpbWVzX2ltcGwKKyAgICA6IGlmX2M8CisgICAgICAgICAgKCBCT09TVF9NUExfQVVYX05FU1RFRF9WQUxVRV9XS05EKGludCwgVGFnMSkKKyAgICAgICAgICAgICAgPiBCT09TVF9NUExfQVVYX05FU1RFRF9WQUxVRV9XS05EKGludCwgVGFnMikKKyAgICAgICAgICAgICkKKworICAgICAgICAsIGF1eDo6Y2FzdDJuZF9pbXBsPCB0aW1lc19pbXBsPCBUYWcxLFRhZzEgPixUYWcxLCBUYWcyID4KKyAgICAgICAgLCBhdXg6OmNhc3Qxc3RfaW1wbDwgdGltZXNfaW1wbDwgVGFnMixUYWcyID4sVGFnMSwgVGFnMiA+CisgICAgICAgID46OnR5cGUKK3sKK307CisKKy8vLyBmb3IgRGlnaXRhbCBNYXJzIEMrKy9jb21waWxlcnMgd2l0aCBubyBDVFBTL1RUUCBzdXBwb3J0Cit0ZW1wbGF0ZTw+IHN0cnVjdCB0aW1lc19pbXBsPCBuYSxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFRhZyA+IHN0cnVjdCB0aW1lc19pbXBsPCBuYSxUYWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUYWcgPiBzdHJ1Y3QgdGltZXNfaW1wbDwgVGFnLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVCA+IHN0cnVjdCB0aW1lc190YWcKK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIFQ6OnRhZyB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4xKQorICAgICwgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMikKKyAgICAsIHR5cGVuYW1lIE4zID0gbmEsIHR5cGVuYW1lIE40ID0gbmEsIHR5cGVuYW1lIE41ID0gbmEKKyAgICA+CitzdHJ1Y3QgdGltZXMKKyAgICA6IHRpbWVzPCB0aW1lczwgdGltZXM8IHRpbWVzPCBOMSxOMiA+LCBOMz4sIE40PiwgTjU+Cit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgKKyAgICAgICAgICA1CisgICAgICAgICwgdGltZXMKKyAgICAgICAgLCAoIE4xLCBOMiwgTjMsIE40LCBONSApCisgICAgICAgICkKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgTjEsIHR5cGVuYW1lIE4yLCB0eXBlbmFtZSBOMywgdHlwZW5hbWUgTjQKKyAgICA+CitzdHJ1Y3QgdGltZXM8IE4xLE4yLE4zLE40LG5hID4KKworICAgIDogdGltZXM8IHRpbWVzPCB0aW1lczwgTjEsTjIgPiwgTjM+LCBOND4KK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUX1NQRUMoCisgICAgICAgICAgNQorICAgICAgICAsIHRpbWVzCisgICAgICAgICwgKCBOMSwgTjIsIE4zLCBONCwgbmEgKQorICAgICAgICApCit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIE4xLCB0eXBlbmFtZSBOMiwgdHlwZW5hbWUgTjMKKyAgICA+CitzdHJ1Y3QgdGltZXM8IE4xLE4yLE4zLG5hLG5hID4KKworICAgIDogdGltZXM8IHRpbWVzPCBOMSxOMiA+LCBOMz4KK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUX1NQRUMoCisgICAgICAgICAgNQorICAgICAgICAsIHRpbWVzCisgICAgICAgICwgKCBOMSwgTjIsIE4zLCBuYSwgbmEgKQorICAgICAgICApCit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIE4xLCB0eXBlbmFtZSBOMgorICAgID4KK3N0cnVjdCB0aW1lczwgTjEsTjIsbmEsbmEsbmEgPgorICAgIDogdGltZXNfaW1wbDwKKyAgICAgICAgICB0eXBlbmFtZSB0aW1lc190YWc8TjE+Ojp0eXBlCisgICAgICAgICwgdHlwZW5hbWUgdGltZXNfdGFnPE4yPjo6dHlwZQorICAgICAgICA+Ojp0ZW1wbGF0ZSBhcHBseTwgTjEsTjIgPjo6dHlwZQoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlRfU1BFQygKKyAgICAgICAgICA1CisgICAgICAgICwgdGltZXMKKyAgICAgICAgLCAoIE4xLCBOMiwgbmEsIG5hLCBuYSApCisgICAgICAgICkKKworfTsKKworQk9PU1RfTVBMX0FVWF9OQV9TUEVDMigyLCA1LCB0aW1lcykKKworfX0KKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7Cit0ZW1wbGF0ZTw+CitzdHJ1Y3QgdGltZXNfaW1wbDwgaW50ZWdyYWxfY190YWcsaW50ZWdyYWxfY190YWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBOMSwgdHlwZW5hbWUgTjIgPiBzdHJ1Y3QgYXBwbHkKKworICAgICAgICA6IGludGVncmFsX2M8CisgICAgICAgICAgICAgIHR5cGVuYW1lIGF1eDo6bGFyZ2VzdF9pbnQ8CisgICAgICAgICAgICAgICAgICB0eXBlbmFtZSBOMTo6dmFsdWVfdHlwZQorICAgICAgICAgICAgICAgICwgdHlwZW5hbWUgTjI6OnZhbHVlX3R5cGUKKyAgICAgICAgICAgICAgICA+Ojp0eXBlCisgICAgICAgICAgICAsICggQk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4xKTo6dmFsdWUKKyAgICAgICAgICAgICAgICAgICogQk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4yKTo6dmFsdWUKKyAgICAgICAgICAgICAgICApCisgICAgICAgICAgICA+CisgICAgeworICAgIH07Cit9OworCit9fQpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL213Y3cvdW5wYWNrX2FyZ3MuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL213Y3cvdW5wYWNrX2FyZ3MuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjljOTIwNGYKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXdjdy91bnBhY2tfYXJncy5ocHAKQEAgLTAsMCArMSw5NCBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAyLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvdW5wYWNrX2FyZ3MuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwgaW50IHNpemUsIHR5cGVuYW1lIEYsIHR5cGVuYW1lIEFyZ3MgPgorc3RydWN0IHVucGFja19hcmdzX2ltcGw7CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBGLCB0eXBlbmFtZSBBcmdzID4KK3N0cnVjdCB1bnBhY2tfYXJnc19pbXBsPCAwLEYsQXJncyA+CisgICAgOiBhcHBseTA8CisgICAgICAgICAgRgorICAgICAgICA+Cit7Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgRiwgdHlwZW5hbWUgQXJncyA+CitzdHJ1Y3QgdW5wYWNrX2FyZ3NfaW1wbDwgMSxGLEFyZ3MgPgorICAgIDogYXBwbHkxPAorICAgICAgICAgIEYKKyAgICAgICAgLCB0eXBlbmFtZSBhdF9jPCBBcmdzLDAgPjo6dHlwZQorICAgICAgICA+Cit7Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgRiwgdHlwZW5hbWUgQXJncyA+CitzdHJ1Y3QgdW5wYWNrX2FyZ3NfaW1wbDwgMixGLEFyZ3MgPgorICAgIDogYXBwbHkyPAorICAgICAgICAgIEYKKyAgICAgICAgLCB0eXBlbmFtZSBhdF9jPCBBcmdzLDAgPjo6dHlwZSwgdHlwZW5hbWUgYXRfYzwgQXJncywxID46OnR5cGUKKyAgICAgICAgPgoreworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIEYsIHR5cGVuYW1lIEFyZ3MgPgorc3RydWN0IHVucGFja19hcmdzX2ltcGw8IDMsRixBcmdzID4KKyAgICA6IGFwcGx5MzwKKyAgICAgICAgICBGCisgICAgICAgICwgdHlwZW5hbWUgYXRfYzwgQXJncywwID46OnR5cGUsIHR5cGVuYW1lIGF0X2M8IEFyZ3MsMSA+Ojp0eXBlCisgICAgICAgICwgdHlwZW5hbWUgYXRfYzwgQXJncywyID46OnR5cGUKKyAgICAgICAgPgoreworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIEYsIHR5cGVuYW1lIEFyZ3MgPgorc3RydWN0IHVucGFja19hcmdzX2ltcGw8IDQsRixBcmdzID4KKyAgICA6IGFwcGx5NDwKKyAgICAgICAgICBGCisgICAgICAgICwgdHlwZW5hbWUgYXRfYzwgQXJncywwID46OnR5cGUsIHR5cGVuYW1lIGF0X2M8IEFyZ3MsMSA+Ojp0eXBlCisgICAgICAgICwgdHlwZW5hbWUgYXRfYzwgQXJncywyID46OnR5cGUsIHR5cGVuYW1lIGF0X2M8IEFyZ3MsMyA+Ojp0eXBlCisgICAgICAgID4KK3sKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBGLCB0eXBlbmFtZSBBcmdzID4KK3N0cnVjdCB1bnBhY2tfYXJnc19pbXBsPCA1LEYsQXJncyA+CisgICAgOiBhcHBseTU8CisgICAgICAgICAgRgorICAgICAgICAsIHR5cGVuYW1lIGF0X2M8IEFyZ3MsMCA+Ojp0eXBlLCB0eXBlbmFtZSBhdF9jPCBBcmdzLDEgPjo6dHlwZQorICAgICAgICAsIHR5cGVuYW1lIGF0X2M8IEFyZ3MsMiA+Ojp0eXBlLCB0eXBlbmFtZSBhdF9jPCBBcmdzLDMgPjo6dHlwZQorICAgICAgICAsIHR5cGVuYW1lIGF0X2M8IEFyZ3MsNCA+Ojp0eXBlCisgICAgICAgID4KK3sKK307CisKK30KKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGCisgICAgPgorc3RydWN0IHVucGFja19hcmdzCit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIEFyZ3MgPiBzdHJ1Y3QgYXBwbHkKKworICAgICAgICA6IGF1eDo6dW5wYWNrX2FyZ3NfaW1wbDwgc2l6ZTxBcmdzPjo6dmFsdWUsRiwgQXJncyA+CisKKyAgICB7CisgICAgfTsKK307CisKK0JPT1NUX01QTF9BVVhfUEFTU19USFJPVUdIX0xBTUJEQV9TUEVDKDEsIHVucGFja19hcmdzKQorCit9fQorCmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbXdjdy92ZWN0b3IuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL213Y3cvdmVjdG9yLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kZjY3NTg5Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL213Y3cvdmVjdG9yLmhwcApAQCAtMCwwICsxLDMyMyBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvdmVjdG9yLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwID0gbmEsIHR5cGVuYW1lIFQxID0gbmEsIHR5cGVuYW1lIFQyID0gbmEsIHR5cGVuYW1lIFQzID0gbmEKKyAgICAsIHR5cGVuYW1lIFQ0ID0gbmEsIHR5cGVuYW1lIFQ1ID0gbmEsIHR5cGVuYW1lIFQ2ID0gbmEsIHR5cGVuYW1lIFQ3ID0gbmEKKyAgICAsIHR5cGVuYW1lIFQ4ID0gbmEsIHR5cGVuYW1lIFQ5ID0gbmEsIHR5cGVuYW1lIFQxMCA9IG5hLCB0eXBlbmFtZSBUMTEgPSBuYQorICAgICwgdHlwZW5hbWUgVDEyID0gbmEsIHR5cGVuYW1lIFQxMyA9IG5hLCB0eXBlbmFtZSBUMTQgPSBuYQorICAgICwgdHlwZW5hbWUgVDE1ID0gbmEsIHR5cGVuYW1lIFQxNiA9IG5hLCB0eXBlbmFtZSBUMTcgPSBuYQorICAgICwgdHlwZW5hbWUgVDE4ID0gbmEsIHR5cGVuYW1lIFQxOSA9IG5hCisgICAgPgorc3RydWN0IHZlY3RvcjsKKwordGVtcGxhdGU8CisgICAgIAorICAgID4KK3N0cnVjdCB2ZWN0b3I8CisgICAgICAgICAgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3IwPCAgPgoreworICAgIHR5cGVkZWYgdmVjdG9yMDwgID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAKKyAgICA+CitzdHJ1Y3QgdmVjdG9yPAorICAgICAgICAgIFQwLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogdmVjdG9yMTxUMD4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjE8VDA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMQorICAgID4KK3N0cnVjdCB2ZWN0b3I8CisgICAgICAgICAgVDAsIFQxLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3IyPCBUMCxUMSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IyPCBUMCxUMSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIKKyAgICA+CitzdHJ1Y3QgdmVjdG9yPAorICAgICAgICAgIFQwLCBUMSwgVDIsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogdmVjdG9yMzwgVDAsVDEsVDIgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMzwgVDAsVDEsVDIgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMworICAgID4KK3N0cnVjdCB2ZWN0b3I8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3I0PCBUMCxUMSxUMixUMyA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3I0PCBUMCxUMSxUMixUMyA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgID4KK3N0cnVjdCB2ZWN0b3I8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3I1PCBUMCxUMSxUMixUMyxUNCA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3I1PCBUMCxUMSxUMixUMyxUNCA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUKKyAgICA+CitzdHJ1Y3QgdmVjdG9yPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogdmVjdG9yNjwgVDAsVDEsVDIsVDMsVDQsVDUgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yNjwgVDAsVDEsVDIsVDMsVDQsVDUgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNgorICAgID4KK3N0cnVjdCB2ZWN0b3I8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3I3PCBUMCxUMSxUMixUMyxUNCxUNSxUNiA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3I3PCBUMCxUMSxUMixUMyxUNCxUNSxUNiA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNworICAgID4KK3N0cnVjdCB2ZWN0b3I8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3I4PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3I4PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgKKyAgICA+CitzdHJ1Y3QgdmVjdG9yPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogdmVjdG9yOTwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDggPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yOTwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDggPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgID4KK3N0cnVjdCB2ZWN0b3I8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3IxMDwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDkgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTA8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMAorICAgID4KK3N0cnVjdCB2ZWN0b3I8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogdmVjdG9yMTE8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxMTwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExCisgICAgPgorc3RydWN0IHZlY3RvcjwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogdmVjdG9yMTI8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTI8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMgorICAgID4KK3N0cnVjdCB2ZWN0b3I8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3IxMzwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTM8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMworICAgID4KK3N0cnVjdCB2ZWN0b3I8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogdmVjdG9yMTQ8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxNDwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgPgorc3RydWN0IHZlY3RvcjwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogdmVjdG9yMTU8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjE1PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMsVDE0ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgLCB0eXBlbmFtZSBUMTUKKyAgICA+CitzdHJ1Y3QgdmVjdG9yPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogdmVjdG9yMTY8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjE2PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMsVDE0LFQxNSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYKKyAgICA+CitzdHJ1Y3QgdmVjdG9yPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgVDE2LCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHZlY3RvcjE3PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgVDE2CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjE3PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMsVDE0LFQxNSxUMTYgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcKKyAgICA+CitzdHJ1Y3QgdmVjdG9yPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgVDE2LCBUMTcsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3IxODwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgLCBUMTUsIFQxNiwgVDE3CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjE4PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMsVDE0LFQxNSxUMTYsVDE3ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgKKyAgICA+CitzdHJ1Y3QgdmVjdG9yPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgVDE2LCBUMTcsIFQxOCwgbmEKKyAgICAgICAgPgorICAgIDogdmVjdG9yMTk8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1LCBUMTYsIFQxNywgVDE4CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjE5PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMsVDE0LFQxNSxUMTYsVDE3LFQxOCA+Ojp0eXBlIHR5cGU7Cit9OworCisvLy8gcHJpbWFyeSB0ZW1wbGF0ZSAobm90IGEgc3BlY2lhbGl6YXRpb24hKQorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICA+CitzdHJ1Y3QgdmVjdG9yCisgICAgOiB2ZWN0b3IyMDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgLCBUMTUsIFQxNiwgVDE3LCBUMTgsIFQxOQorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IyMDwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzLFQxNCxUMTUsVDE2LFQxNyxUMTgsVDE5ID46OnR5cGUgdHlwZTsKK307CisKK319CisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9td2N3L3ZlY3Rvcl9jLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9td2N3L3ZlY3Rvcl9jLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMmZiZGI0Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL213Y3cvdmVjdG9yX2MuaHBwCkBAIC0wLDAgKzEsMzA5IEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC92ZWN0b3JfYy5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwID0gTE9OR19NQVgsIGxvbmcgQzEgPSBMT05HX01BWCwgbG9uZyBDMiA9IExPTkdfTUFYCisgICAgLCBsb25nIEMzID0gTE9OR19NQVgsIGxvbmcgQzQgPSBMT05HX01BWCwgbG9uZyBDNSA9IExPTkdfTUFYCisgICAgLCBsb25nIEM2ID0gTE9OR19NQVgsIGxvbmcgQzcgPSBMT05HX01BWCwgbG9uZyBDOCA9IExPTkdfTUFYCisgICAgLCBsb25nIEM5ID0gTE9OR19NQVgsIGxvbmcgQzEwID0gTE9OR19NQVgsIGxvbmcgQzExID0gTE9OR19NQVgKKyAgICAsIGxvbmcgQzEyID0gTE9OR19NQVgsIGxvbmcgQzEzID0gTE9OR19NQVgsIGxvbmcgQzE0ID0gTE9OR19NQVgKKyAgICAsIGxvbmcgQzE1ID0gTE9OR19NQVgsIGxvbmcgQzE2ID0gTE9OR19NQVgsIGxvbmcgQzE3ID0gTE9OR19NQVgKKyAgICAsIGxvbmcgQzE4ID0gTE9OR19NQVgsIGxvbmcgQzE5ID0gTE9OR19NQVgKKyAgICA+CitzdHJ1Y3QgdmVjdG9yX2M7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVAorICAgID4KK3N0cnVjdCB2ZWN0b3JfYzwKKyAgICAgICAgICBULCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiB2ZWN0b3IwX2M8VD4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjBfYzxUPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwCisgICAgPgorc3RydWN0IHZlY3Rvcl9jPAorICAgICAgICAgIFQsIEMwLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IHZlY3RvcjFfYzwgVCwgVChDMCkgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMV9jPCBULCBUKEMwKSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEKKyAgICA+CitzdHJ1Y3QgdmVjdG9yX2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogdmVjdG9yMl9jPCBULCBUKEMwKSwgVChDMSkgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMl9jPCBULCBUKEMwKSwgVChDMSkgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyCisgICAgPgorc3RydWN0IHZlY3Rvcl9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IHZlY3RvcjNfYzwgVCwgVChDMCksIFQoQzEpLCBUKEMyKSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IzX2M8IFQsIFQoQzApLCBUKEMxKSwgVChDMikgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzCisgICAgPgorc3RydWN0IHZlY3Rvcl9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IHZlY3RvcjRfYzwgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMykgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yNF9jPCBULCBUKEMwKSwgVChDMSksIFQoQzIpLCBUKEMzKSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQKKyAgICA+CitzdHJ1Y3QgdmVjdG9yX2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogdmVjdG9yNV9jPCBULCBUKEMwKSwgVChDMSksIFQoQzIpLCBUKEMzKSwgVChDNCkgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yNV9jPCBULCBUKEMwKSwgVChDMSksIFQoQzIpLCBUKEMzKSwgVChDNCkgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgPgorc3RydWN0IHZlY3Rvcl9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IHZlY3RvcjZfYzwgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMyksIFQoQzQpLCBUKEM1KSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3I2X2M8IFQsIFQoQzApLCBUKEMxKSwgVChDMiksIFQoQzMpLCBUKEM0KSwgVChDNSkgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2CisgICAgPgorc3RydWN0IHZlY3Rvcl9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IHZlY3RvcjdfYzwgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMyksIFQoQzQpLCBUKEM1KSwgVChDNikgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yN19jPCBULCBUKEMwKSwgVChDMSksIFQoQzIpLCBUKEMzKSwgVChDNCksIFQoQzUpLCBUKEM2KSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAsIGxvbmcgQzYsIGxvbmcgQzcKKyAgICA+CitzdHJ1Y3QgdmVjdG9yX2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogdmVjdG9yOF9jPCBULCBUKEMwKSwgVChDMSksIFQoQzIpLCBUKEMzKSwgVChDNCksIFQoQzUpLCBUKEM2KSwgVChDNykgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yOF9jPCBULCBUKEMwKSwgVChDMSksIFQoQzIpLCBUKEMzKSwgVChDNCksIFQoQzUpLCBUKEM2KSwgVChDNykgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4CisgICAgPgorc3RydWN0IHZlY3Rvcl9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IHZlY3RvcjlfYzwgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMyksIFQoQzQpLCBUKEM1KSwgVChDNiksIFQoQzcpLCBUKEM4KSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3I5X2M8IFQsIFQoQzApLCBUKEMxKSwgVChDMiksIFQoQzMpLCBUKEM0KSwgVChDNSksIFQoQzYpLCBUKEM3KSwgVChDOCkgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5CisgICAgPgorc3RydWN0IHZlY3Rvcl9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IHZlY3RvcjEwX2M8IFQsIFQoQzApLCBUKEMxKSwgVChDMiksIFQoQzMpLCBUKEM0KSwgVChDNSksIFQoQzYpLCBUKEM3KSwgVChDOCksIFQoQzkpID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjEwX2M8IFQsIFQoQzApLCBUKEMxKSwgVChDMiksIFQoQzMpLCBUKEM0KSwgVChDNSksIFQoQzYpLCBUKEM3KSwgVChDOCksIFQoQzkpID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAKKyAgICA+CitzdHJ1Y3QgdmVjdG9yX2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogdmVjdG9yMTFfYzwgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMyksIFQoQzQpLCBUKEM1KSwgVChDNiksIFQoQzcpLCBUKEM4KSwgVChDOSksIFQoQzEwKSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxMV9jPCBULCBUKEMwKSwgVChDMSksIFQoQzIpLCBUKEMzKSwgVChDNCksIFQoQzUpLCBUKEM2KSwgVChDNyksIFQoQzgpLCBUKEM5KSwgVChDMTApID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExCisgICAgPgorc3RydWN0IHZlY3Rvcl9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiB2ZWN0b3IxMl9jPCBULCBUKEMwKSwgVChDMSksIFQoQzIpLCBUKEMzKSwgVChDNCksIFQoQzUpLCBUKEM2KSwgVChDNyksIFQoQzgpLCBUKEM5KSwgVChDMTApLCBUKEMxMSkgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTJfYzwgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMyksIFQoQzQpLCBUKEM1KSwgVChDNiksIFQoQzcpLCBUKEM4KSwgVChDOSksIFQoQzEwKSwgVChDMTEpID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgID4KK3N0cnVjdCB2ZWN0b3JfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIEMxMiwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IHZlY3RvcjEzX2M8IFQsIFQoQzApLCBUKEMxKSwgVChDMiksIFQoQzMpLCBUKEM0KSwgVChDNSksIFQoQzYpLCBUKEM3KSwgVChDOCksIFQoQzkpLCBUKEMxMCksIFQoQzExKSwgVChDMTIpID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjEzX2M8IFQsIFQoQzApLCBUKEMxKSwgVChDMiksIFQoQzMpLCBUKEM0KSwgVChDNSksIFQoQzYpLCBUKEM3KSwgVChDOCksIFQoQzkpLCBUKEMxMCksIFQoQzExKSwgVChDMTIpID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgICwgbG9uZyBDMTMKKyAgICA+CitzdHJ1Y3QgdmVjdG9yX2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBDMTIsIEMxMworICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogdmVjdG9yMTRfYzwgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMyksIFQoQzQpLCBUKEM1KSwgVChDNiksIFQoQzcpLCBUKEM4KSwgVChDOSksIFQoQzEwKSwgVChDMTEpLCBUKEMxMiksIFQoQzEzKSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxNF9jPCBULCBUKEMwKSwgVChDMSksIFQoQzIpLCBUKEMzKSwgVChDNCksIFQoQzUpLCBUKEM2KSwgVChDNyksIFQoQzgpLCBUKEM5KSwgVChDMTApLCBUKEMxMSksIFQoQzEyKSwgVChDMTMpID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0CisgICAgPgorc3RydWN0IHZlY3Rvcl9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMsIEMxNAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiB2ZWN0b3IxNV9jPCBULCBUKEMwKSwgVChDMSksIFQoQzIpLCBUKEMzKSwgVChDNCksIFQoQzUpLCBUKEM2KSwgVChDNyksIFQoQzgpLCBUKEM5KSwgVChDMTApLCBUKEMxMSksIFQoQzEyKSwgVChDMTMpLCBUKEMxNCkgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTVfYzwgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMyksIFQoQzQpLCBUKEM1KSwgVChDNiksIFQoQzcpLCBUKEM4KSwgVChDOSksIFQoQzEwKSwgVChDMTEpLCBUKEMxMiksIFQoQzEzKSwgVChDMTQpID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNQorICAgID4KK3N0cnVjdCB2ZWN0b3JfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIEMxMiwgQzEzLCBDMTQKKyAgICAgICAgLCBDMTUsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IHZlY3RvcjE2X2M8IFQsIFQoQzApLCBUKEMxKSwgVChDMiksIFQoQzMpLCBUKEM0KSwgVChDNSksIFQoQzYpLCBUKEM3KSwgVChDOCksIFQoQzkpLCBUKEMxMCksIFQoQzExKSwgVChDMTIpLCBUKEMxMyksIFQoQzE0KSwgVChDMTUpID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjE2X2M8IFQsIFQoQzApLCBUKEMxKSwgVChDMiksIFQoQzMpLCBUKEM0KSwgVChDNSksIFQoQzYpLCBUKEM3KSwgVChDOCksIFQoQzkpLCBUKEMxMCksIFQoQzExKSwgVChDMTIpLCBUKEMxMyksIFQoQzE0KSwgVChDMTUpID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNSwgbG9uZyBDMTYKKyAgICA+CitzdHJ1Y3QgdmVjdG9yX2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBDMTIsIEMxMywgQzE0CisgICAgICAgICwgQzE1LCBDMTYsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogdmVjdG9yMTdfYzwgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMyksIFQoQzQpLCBUKEM1KSwgVChDNiksIFQoQzcpLCBUKEM4KSwgVChDOSksIFQoQzEwKSwgVChDMTEpLCBUKEMxMiksIFQoQzEzKSwgVChDMTQpLCBUKEMxNSksIFQoQzE2KSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxN19jPCBULCBUKEMwKSwgVChDMSksIFQoQzIpLCBUKEMzKSwgVChDNCksIFQoQzUpLCBUKEM2KSwgVChDNyksIFQoQzgpLCBUKEM5KSwgVChDMTApLCBUKEMxMSksIFQoQzEyKSwgVChDMTMpLCBUKEMxNCksIFQoQzE1KSwgVChDMTYpID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNSwgbG9uZyBDMTYsIGxvbmcgQzE3CisgICAgPgorc3RydWN0IHZlY3Rvcl9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMsIEMxNAorICAgICAgICAsIEMxNSwgQzE2LCBDMTcsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiB2ZWN0b3IxOF9jPCBULCBUKEMwKSwgVChDMSksIFQoQzIpLCBUKEMzKSwgVChDNCksIFQoQzUpLCBUKEM2KSwgVChDNyksIFQoQzgpLCBUKEM5KSwgVChDMTApLCBUKEMxMSksIFQoQzEyKSwgVChDMTMpLCBUKEMxNCksIFQoQzE1KSwgVChDMTYpLCBUKEMxNykgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMThfYzwgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMyksIFQoQzQpLCBUKEM1KSwgVChDNiksIFQoQzcpLCBUKEM4KSwgVChDOSksIFQoQzEwKSwgVChDMTEpLCBUKEMxMiksIFQoQzEzKSwgVChDMTQpLCBUKEMxNSksIFQoQzE2KSwgVChDMTcpID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNSwgbG9uZyBDMTYsIGxvbmcgQzE3LCBsb25nIEMxOAorICAgID4KK3N0cnVjdCB2ZWN0b3JfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIEMxMiwgQzEzLCBDMTQKKyAgICAgICAgLCBDMTUsIEMxNiwgQzE3LCBDMTgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IHZlY3RvcjE5X2M8IFQsIFQoQzApLCBUKEMxKSwgVChDMiksIFQoQzMpLCBUKEM0KSwgVChDNSksIFQoQzYpLCBUKEM3KSwgVChDOCksIFQoQzkpLCBUKEMxMCksIFQoQzExKSwgVChDMTIpLCBUKEMxMyksIFQoQzE0KSwgVChDMTUpLCBUKEMxNiksIFQoQzE3KSwgVChDMTgpID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjE5X2M8IFQsIFQoQzApLCBUKEMxKSwgVChDMiksIFQoQzMpLCBUKEM0KSwgVChDNSksIFQoQzYpLCBUKEM3KSwgVChDOCksIFQoQzkpLCBUKEMxMCksIFQoQzExKSwgVChDMTIpLCBUKEMxMyksIFQoQzE0KSwgVChDMTUpLCBUKEMxNiksIFQoQzE3KSwgVChDMTgpID46OnR5cGUgdHlwZTsKK307CisKKy8vLyBwcmltYXJ5IHRlbXBsYXRlIChub3QgYSBzcGVjaWFsaXphdGlvbiEpCisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNSwgbG9uZyBDMTYsIGxvbmcgQzE3LCBsb25nIEMxOCwgbG9uZyBDMTkKKyAgICA+CitzdHJ1Y3QgdmVjdG9yX2MKKyAgICA6IHZlY3RvcjIwX2M8IFQsIFQoQzApLCBUKEMxKSwgVChDMiksIFQoQzMpLCBUKEM0KSwgVChDNSksIFQoQzYpLCBUKEM3KSwgVChDOCksIFQoQzkpLCBUKEMxMCksIFQoQzExKSwgVChDMTIpLCBUKEMxMyksIFQoQzE0KSwgVChDMTUpLCBUKEMxNiksIFQoQzE3KSwgVChDMTgpLCBUKEMxOSkgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMjBfYzwgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMyksIFQoQzQpLCBUKEM1KSwgVChDNiksIFQoQzcpLCBUKEM4KSwgVChDOSksIFQoQzEwKSwgVChDMTEpLCBUKEMxMiksIFQoQzEzKSwgVChDMTQpLCBUKEMxNSksIFQoQzE2KSwgVChDMTcpLCBUKEMxOCksIFQoQzE5KSA+Ojp0eXBlIHR5cGU7Cit9OworCit9fQorCmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fY3Rwcy9hZHZhbmNlX2JhY2t3YXJkLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9ub19jdHBzL2FkdmFuY2VfYmFja3dhcmQuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBlMGM4MjgKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fY3Rwcy9hZHZhbmNlX2JhY2t3YXJkLmhwcApAQCAtMCwwICsxLDk3IEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9hdXhfL2FkdmFuY2VfYmFja3dhcmQuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7IG5hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwgbG9uZyBOID4gc3RydWN0IGFkdmFuY2VfYmFja3dhcmQ7Cit0ZW1wbGF0ZTw+CitzdHJ1Y3QgYWR2YW5jZV9iYWNrd2FyZDwwPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBJdGVyYXRvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBJdGVyYXRvciBpdGVyMDsKKyAgICAgICAgdHlwZWRlZiBpdGVyMCB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgYWR2YW5jZV9iYWNrd2FyZDwxPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBJdGVyYXRvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBJdGVyYXRvciBpdGVyMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBwcmlvcjxpdGVyMD46OnR5cGUgaXRlcjE7CisgICAgICAgIHR5cGVkZWYgaXRlcjEgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGFkdmFuY2VfYmFja3dhcmQ8Mj4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgSXRlcmF0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgSXRlcmF0b3IgaXRlcjA7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcHJpb3I8aXRlcjA+Ojp0eXBlIGl0ZXIxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHByaW9yPGl0ZXIxPjo6dHlwZSBpdGVyMjsKKyAgICAgICAgdHlwZWRlZiBpdGVyMiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgYWR2YW5jZV9iYWNrd2FyZDwzPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBJdGVyYXRvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBJdGVyYXRvciBpdGVyMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBwcmlvcjxpdGVyMD46OnR5cGUgaXRlcjE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcHJpb3I8aXRlcjE+Ojp0eXBlIGl0ZXIyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHByaW9yPGl0ZXIyPjo6dHlwZSBpdGVyMzsKKyAgICAgICAgdHlwZWRlZiBpdGVyMyB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgYWR2YW5jZV9iYWNrd2FyZDw0PgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBJdGVyYXRvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBJdGVyYXRvciBpdGVyMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBwcmlvcjxpdGVyMD46OnR5cGUgaXRlcjE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcHJpb3I8aXRlcjE+Ojp0eXBlIGl0ZXIyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHByaW9yPGl0ZXIyPjo6dHlwZSBpdGVyMzsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBwcmlvcjxpdGVyMz46OnR5cGUgaXRlcjQ7CisgICAgICAgIHR5cGVkZWYgaXRlcjQgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IGxvbmcgTiA+CitzdHJ1Y3QgYWR2YW5jZV9iYWNrd2FyZAoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBJdGVyYXRvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseV93cmFwMTwKKyAgICAgICAgICAgICAgYWR2YW5jZV9iYWNrd2FyZDw0PgorICAgICAgICAgICAgLCBJdGVyYXRvcgorICAgICAgICAgICAgPjo6dHlwZSBjaHVua19yZXN1bHRfOworCisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHlfd3JhcDE8CisgICAgICAgICAgICAgIGFkdmFuY2VfYmFja3dhcmQ8KAorICAgICAgICAgICAgICAgIChOIC0gNCkgPCAwCisgICAgICAgICAgICAgICAgICAgID8gMAorICAgICAgICAgICAgICAgICAgICA6IE4gLSA0CisgICAgICAgICAgICAgICAgICAgICk+CisgICAgICAgICAgICAsIGNodW5rX3Jlc3VsdF8KKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKyAgICB9OworfTsKKworfX19CisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9ub19jdHBzL2FkdmFuY2VfZm9yd2FyZC5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fY3Rwcy9hZHZhbmNlX2ZvcndhcmQuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIzYTVhZmQKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fY3Rwcy9hZHZhbmNlX2ZvcndhcmQuaHBwCkBAIC0wLDAgKzEsOTcgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL2F1eF8vYWR2YW5jZV9mb3J3YXJkLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeyBuYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8IGxvbmcgTiA+IHN0cnVjdCBhZHZhbmNlX2ZvcndhcmQ7Cit0ZW1wbGF0ZTw+CitzdHJ1Y3QgYWR2YW5jZV9mb3J3YXJkPDA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIEl0ZXJhdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIEl0ZXJhdG9yIGl0ZXIwOworICAgICAgICB0eXBlZGVmIGl0ZXIwIHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBhZHZhbmNlX2ZvcndhcmQ8MT4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgSXRlcmF0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgSXRlcmF0b3IgaXRlcjA7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbmV4dDxpdGVyMD46OnR5cGUgaXRlcjE7CisgICAgICAgIHR5cGVkZWYgaXRlcjEgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGFkdmFuY2VfZm9yd2FyZDwyPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBJdGVyYXRvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBJdGVyYXRvciBpdGVyMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBuZXh0PGl0ZXIwPjo6dHlwZSBpdGVyMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBuZXh0PGl0ZXIxPjo6dHlwZSBpdGVyMjsKKyAgICAgICAgdHlwZWRlZiBpdGVyMiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgYWR2YW5jZV9mb3J3YXJkPDM+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIEl0ZXJhdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIEl0ZXJhdG9yIGl0ZXIwOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG5leHQ8aXRlcjA+Ojp0eXBlIGl0ZXIxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG5leHQ8aXRlcjE+Ojp0eXBlIGl0ZXIyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG5leHQ8aXRlcjI+Ojp0eXBlIGl0ZXIzOworICAgICAgICB0eXBlZGVmIGl0ZXIzIHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBhZHZhbmNlX2ZvcndhcmQ8ND4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgSXRlcmF0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgSXRlcmF0b3IgaXRlcjA7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbmV4dDxpdGVyMD46OnR5cGUgaXRlcjE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbmV4dDxpdGVyMT46OnR5cGUgaXRlcjI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbmV4dDxpdGVyMj46OnR5cGUgaXRlcjM7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbmV4dDxpdGVyMz46OnR5cGUgaXRlcjQ7CisgICAgICAgIHR5cGVkZWYgaXRlcjQgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IGxvbmcgTiA+CitzdHJ1Y3QgYWR2YW5jZV9mb3J3YXJkCit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIEl0ZXJhdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5X3dyYXAxPAorICAgICAgICAgICAgICBhZHZhbmNlX2ZvcndhcmQ8ND4KKyAgICAgICAgICAgICwgSXRlcmF0b3IKKyAgICAgICAgICAgID46OnR5cGUgY2h1bmtfcmVzdWx0XzsKKworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5X3dyYXAxPAorICAgICAgICAgICAgICBhZHZhbmNlX2ZvcndhcmQ8KAorICAgICAgICAgICAgICAgIChOIC0gNCkgPCAwCisgICAgICAgICAgICAgICAgICAgID8gMAorICAgICAgICAgICAgICAgICAgICA6IE4gLSA0CisgICAgICAgICAgICAgICAgICAgICk+CisgICAgICAgICAgICAsIGNodW5rX3Jlc3VsdF8KKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKyAgICB9OworfTsKKworfX19CisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9ub19jdHBzL2FuZC5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fY3Rwcy9hbmQuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJhZTRlM2IKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fY3Rwcy9hbmQuaHBwCkBAIC0wLDAgKzEsNzMgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL2FuZC5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKworbmFtZXNwYWNlIGF1eCB7Cit0ZW1wbGF0ZTwgYm9vbCBDXyA+IHN0cnVjdCBhbmRfaW1wbAoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgICAgICA6IGZhbHNlXworICAgIHsKKyAgICB9OworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgYW5kX2ltcGw8dHJ1ZT4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICAgICAgOiBhbmRfaW1wbDwKKyAgICAgICAgICAgICAgQk9PU1RfTVBMX0FVWF9ORVNURURfVFlQRV9XS05EKFQxKTo6dmFsdWUKKyAgICAgICAgICAgID46OnRlbXBsYXRlIHJlc3VsdF88IFQyLFQzLFQ0LHRydWVfID4KKyAgICB7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBhbmRfaW1wbDx0cnVlPgorICAgIDo6cmVzdWx0XzwgdHJ1ZV8sdHJ1ZV8sdHJ1ZV8sdHJ1ZV8gPgorICAgICAgICA6IHRydWVfCit7Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKFQxKQorICAgICwgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShUMikKKyAgICAsIHR5cGVuYW1lIFQzID0gdHJ1ZV8sIHR5cGVuYW1lIFQ0ID0gdHJ1ZV8sIHR5cGVuYW1lIFQ1ID0gdHJ1ZV8KKyAgICA+CitzdHJ1Y3QgYW5kXworCisgICAgOiBhdXg6OmFuZF9pbXBsPAorICAgICAgICAgIEJPT1NUX01QTF9BVVhfTkVTVEVEX1RZUEVfV0tORChUMSk6OnZhbHVlCisgICAgICAgID46OnRlbXBsYXRlIHJlc3VsdF88IFQyLFQzLFQ0LFQ1ID4KKworeworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoCisgICAgICAgICAgNQorICAgICAgICAsIGFuZF8KKyAgICAgICAgLCAoIFQxLCBUMiwgVDMsIFQ0LCBUNSkKKyAgICAgICAgKQorfTsKKworQk9PU1RfTVBMX0FVWF9OQV9TUEVDMigKKyAgICAgIDIKKyAgICAsIDUKKyAgICAsIGFuZF8KKyAgICApCisKK319CmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fY3Rwcy9hcHBseS5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fY3Rwcy9hcHBseS5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTM4NmM2ZQotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9ub19jdHBzL2FwcGx5LmhwcApAQCAtMCwwICsxLDI2OCBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvYXBwbHkuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRgorICAgID4KK3N0cnVjdCBhcHBseTAKKworICAgIDogYXBwbHlfd3JhcDA8CisgICAgICAgICAgdHlwZW5hbWUgbGFtYmRhPEY+Ojp0eXBlCisgICAgICAgCisgICAgICAgID4KK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKAorICAgICAgICAgIDEKKyAgICAgICAgLCBhcHBseTAKKyAgICAgICAgLCAoRiApCisgICAgICAgICkKK307CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgYXBwbHlfY2hvb3NlcjwwPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgICAgICwgdHlwZW5hbWUgVDUKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5MDwKKyAgICAgICAgICAgICAgRgorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMQorICAgID4KK3N0cnVjdCBhcHBseTEKKworICAgIDogYXBwbHlfd3JhcDE8CisgICAgICAgICAgdHlwZW5hbWUgbGFtYmRhPEY+Ojp0eXBlCisgICAgICAgICwgVDEKKyAgICAgICAgPgoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoCisgICAgICAgICAgMgorICAgICAgICAsIGFwcGx5MQorICAgICAgICAsIChGLCBUMSkKKyAgICAgICAgKQorfTsKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBhcHBseV9jaG9vc2VyPDE+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkxPAorICAgICAgICAgICAgICBGLCBUMQorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIKKyAgICA+CitzdHJ1Y3QgYXBwbHkyCisKKyAgICA6IGFwcGx5X3dyYXAyPAorICAgICAgICAgIHR5cGVuYW1lIGxhbWJkYTxGPjo6dHlwZQorICAgICAgICAsIFQxLCBUMgorICAgICAgICA+Cit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgKKyAgICAgICAgICAzCisgICAgICAgICwgYXBwbHkyCisgICAgICAgICwgKEYsIFQxLCBUMikKKyAgICAgICAgKQorfTsKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBhcHBseV9jaG9vc2VyPDI+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkyPAorICAgICAgICAgICAgICBGLCBUMSwgVDIKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMworICAgID4KK3N0cnVjdCBhcHBseTMKKworICAgIDogYXBwbHlfd3JhcDM8CisgICAgICAgICAgdHlwZW5hbWUgbGFtYmRhPEY+Ojp0eXBlCisgICAgICAgICwgVDEsIFQyLCBUMworICAgICAgICA+Cit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgKKyAgICAgICAgICA0CisgICAgICAgICwgYXBwbHkzCisgICAgICAgICwgKEYsIFQxLCBUMiwgVDMpCisgICAgICAgICkKK307CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgYXBwbHlfY2hvb3NlcjwzPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgICAgICwgdHlwZW5hbWUgVDUKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5MzwKKyAgICAgICAgICAgICAgRiwgVDEsIFQyLCBUMworICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgID4KK3N0cnVjdCBhcHBseTQKKworICAgIDogYXBwbHlfd3JhcDQ8CisgICAgICAgICAgdHlwZW5hbWUgbGFtYmRhPEY+Ojp0eXBlCisgICAgICAgICwgVDEsIFQyLCBUMywgVDQKKyAgICAgICAgPgoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoCisgICAgICAgICAgNQorICAgICAgICAsIGFwcGx5NAorICAgICAgICAsIChGLCBUMSwgVDIsIFQzLCBUNCkKKyAgICAgICAgKQorfTsKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBhcHBseV9jaG9vc2VyPDQ+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHk0PAorICAgICAgICAgICAgICBGLCBUMSwgVDIsIFQzLCBUNAorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUKKyAgICA+CitzdHJ1Y3QgYXBwbHk1CisKKyAgICA6IGFwcGx5X3dyYXA1PAorICAgICAgICAgIHR5cGVuYW1lIGxhbWJkYTxGPjo6dHlwZQorICAgICAgICAsIFQxLCBUMiwgVDMsIFQ0LCBUNQorICAgICAgICA+Cit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgKKyAgICAgICAgICA2CisgICAgICAgICwgYXBwbHk1CisgICAgICAgICwgKEYsIFQxLCBUMiwgVDMsIFQ0LCBUNSkKKyAgICAgICAgKQorfTsKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBhcHBseV9jaG9vc2VyPDU+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHk1PAorICAgICAgICAgICAgICBGLCBUMSwgVDIsIFQzLCBUNCwgVDUKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVCA+CitzdHJ1Y3QgaXNfYXBwbHlfYXJnCit7CisgICAgc3RhdGljIGJvb2wgY29uc3QgdmFsdWUgID0gdHJ1ZTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBpc19hcHBseV9hcmc8bmE+Cit7CisgICAgc3RhdGljIGJvb2wgY29uc3QgdmFsdWUgID0gZmFsc2U7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0LCB0eXBlbmFtZSBUNQorICAgID4KK3N0cnVjdCBhcHBseV9jb3VudF9hcmdzCit7CisgICAgc3RhdGljIGludCBjb25zdCB2YWx1ZSAgPSBpc19hcHBseV9hcmc8VDE+Ojp2YWx1ZSArIGlzX2FwcGx5X2FyZzxUMj46OnZhbHVlICsgaXNfYXBwbHlfYXJnPFQzPjo6dmFsdWUgKyBpc19hcHBseV9hcmc8VDQ+Ojp2YWx1ZSArIGlzX2FwcGx5X2FyZzxUNT46OnZhbHVlOworCit9OworCit9CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEgPSBuYSwgdHlwZW5hbWUgVDIgPSBuYSwgdHlwZW5hbWUgVDMgPSBuYQorICAgICwgdHlwZW5hbWUgVDQgPSBuYSwgdHlwZW5hbWUgVDUgPSBuYQorICAgID4KK3N0cnVjdCBhcHBseQorICAgIDogYXV4OjphcHBseV9jaG9vc2VyPAorICAgICAgICAgIGF1eDo6YXBwbHlfY291bnRfYXJnczwgVDEsVDIsVDMsVDQsVDUgPjo6dmFsdWUKKyAgICAgICAgPjo6dGVtcGxhdGUgcmVzdWx0XzwgRixUMSxUMixUMyxUNCxUNSA+Ojp0eXBlCit7Cit9OworCit9fQorCmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fY3Rwcy9hcHBseV9md2QuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL25vX2N0cHMvYXBwbHlfZndkLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNWJlOTQ3Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL25vX2N0cHMvYXBwbHlfZndkLmhwcApAQCAtMCwwICsxLDUwIEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9hcHBseV9md2QuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK25hbWVzcGFjZSBhdXggewordGVtcGxhdGU8IEJPT1NUX0FVWF9OVFRQX0RFQ0woaW50LCBhcml0eV8pID4gc3RydWN0IGFwcGx5X2Nob29zZXI7Cit9CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRgorICAgID4KK3N0cnVjdCBhcHBseTA7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEKKyAgICA+CitzdHJ1Y3QgYXBwbHkxOworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMgorICAgID4KK3N0cnVjdCBhcHBseTI7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMworICAgID4KK3N0cnVjdCBhcHBseTM7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICA+CitzdHJ1Y3QgYXBwbHk0OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNQorICAgID4KK3N0cnVjdCBhcHBseTU7CisKK319CisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9ub19jdHBzL2FwcGx5X3dyYXAuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL25vX2N0cHMvYXBwbHlfd3JhcC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTVjYmQ1NgotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9ub19jdHBzL2FwcGx5X3dyYXAuaHBwCkBAIC0wLDAgKzEsNzggQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL2FwcGx5X3dyYXAuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRgorCisgICAgLCB0eXBlbmFtZSBoYXNfYXBwbHlfID0gdHlwZW5hbWUgYXV4OjpoYXNfYXBwbHk8Rj46OnR5cGUKKworICAgID4KK3N0cnVjdCBhcHBseV93cmFwMAorCisgICAgOiBGOjp0ZW1wbGF0ZSBhcHBseTwgID4KK3sKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEKKworICAgID4KK3N0cnVjdCBhcHBseV93cmFwMQorCisgICAgOiBGOjp0ZW1wbGF0ZSBhcHBseTxUMT4KK3sKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyCisKKyAgICA+CitzdHJ1Y3QgYXBwbHlfd3JhcDIKKworICAgIDogRjo6dGVtcGxhdGUgYXBwbHk8IFQxLFQyID4KK3sKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMworCisgICAgPgorc3RydWN0IGFwcGx5X3dyYXAzCisKKyAgICA6IEY6OnRlbXBsYXRlIGFwcGx5PCBUMSxUMixUMyA+Cit7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisKKyAgICA+CitzdHJ1Y3QgYXBwbHlfd3JhcDQKKworICAgIDogRjo6dGVtcGxhdGUgYXBwbHk8IFQxLFQyLFQzLFQ0ID4KK3sKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1CisKKyAgICA+CitzdHJ1Y3QgYXBwbHlfd3JhcDUKKworICAgIDogRjo6dGVtcGxhdGUgYXBwbHk8IFQxLFQyLFQzLFQ0LFQ1ID4KK3sKK307CisKK319CisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9ub19jdHBzL2FyZy5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fY3Rwcy9hcmcuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlhMTU3YzIKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fY3Rwcy9hcmcuaHBwCkBAIC0wLDAgKzEsMTIzIEBACisKKy8vIENvcHlyaWdodCBQZXRlciBEaW1vdiAyMDAxLTIwMDIKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDEtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9hcmcuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworQk9PU1RfTVBMX0FVWF9BRExfQkFSUklFUl9OQU1FU1BBQ0VfT1BFTgordGVtcGxhdGU8PiBzdHJ1Y3QgYXJnPCAtMSA+Cit7CisgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gLTEpOworICAgIEJPT1NUX01QTF9BVVhfQVJHX1RZUEVERUYobmEsIHRhZykKKyAgICBCT09TVF9NUExfQVVYX0FSR19UWVBFREVGKG5hLCB0eXBlKQorCisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVTEgPSBuYSwgdHlwZW5hbWUgVTIgPSBuYSwgdHlwZW5hbWUgVTMgPSBuYQorICAgICAgICAsIHR5cGVuYW1lIFU0ID0gbmEsIHR5cGVuYW1lIFU1ID0gbmEKKyAgICAgICAgPgorICAgIHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBVMSB0eXBlOworICAgICAgICBCT09TVF9NUExfQVVYX0FTU0VSVF9OT1RfTkEodHlwZSk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4gc3RydWN0IGFyZzwxPgoreworICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDEpOworICAgIHR5cGVkZWYgYXJnPDI+IG5leHQ7CisgICAgQk9PU1RfTVBMX0FVWF9BUkdfVFlQRURFRihuYSwgdGFnKQorICAgIEJPT1NUX01QTF9BVVhfQVJHX1RZUEVERUYobmEsIHR5cGUpCisKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBVMSA9IG5hLCB0eXBlbmFtZSBVMiA9IG5hLCB0eXBlbmFtZSBVMyA9IG5hCisgICAgICAgICwgdHlwZW5hbWUgVTQgPSBuYSwgdHlwZW5hbWUgVTUgPSBuYQorICAgICAgICA+CisgICAgc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIFUxIHR5cGU7CisgICAgICAgIEJPT1NUX01QTF9BVVhfQVNTRVJUX05PVF9OQSh0eXBlKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgYXJnPDI+Cit7CisgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMik7CisgICAgdHlwZWRlZiBhcmc8Mz4gbmV4dDsKKyAgICBCT09TVF9NUExfQVVYX0FSR19UWVBFREVGKG5hLCB0YWcpCisgICAgQk9PU1RfTVBMX0FVWF9BUkdfVFlQRURFRihuYSwgdHlwZSkKKworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFUxID0gbmEsIHR5cGVuYW1lIFUyID0gbmEsIHR5cGVuYW1lIFUzID0gbmEKKyAgICAgICAgLCB0eXBlbmFtZSBVNCA9IG5hLCB0eXBlbmFtZSBVNSA9IG5hCisgICAgICAgID4KKyAgICBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgVTIgdHlwZTsKKyAgICAgICAgQk9PU1RfTVBMX0FVWF9BU1NFUlRfTk9UX05BKHR5cGUpOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCBhcmc8Mz4KK3sKKyAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAzKTsKKyAgICB0eXBlZGVmIGFyZzw0PiBuZXh0OworICAgIEJPT1NUX01QTF9BVVhfQVJHX1RZUEVERUYobmEsIHRhZykKKyAgICBCT09TVF9NUExfQVVYX0FSR19UWVBFREVGKG5hLCB0eXBlKQorCisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVTEgPSBuYSwgdHlwZW5hbWUgVTIgPSBuYSwgdHlwZW5hbWUgVTMgPSBuYQorICAgICAgICAsIHR5cGVuYW1lIFU0ID0gbmEsIHR5cGVuYW1lIFU1ID0gbmEKKyAgICAgICAgPgorICAgIHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBVMyB0eXBlOworICAgICAgICBCT09TVF9NUExfQVVYX0FTU0VSVF9OT1RfTkEodHlwZSk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4gc3RydWN0IGFyZzw0PgoreworICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDQpOworICAgIHR5cGVkZWYgYXJnPDU+IG5leHQ7CisgICAgQk9PU1RfTVBMX0FVWF9BUkdfVFlQRURFRihuYSwgdGFnKQorICAgIEJPT1NUX01QTF9BVVhfQVJHX1RZUEVERUYobmEsIHR5cGUpCisKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBVMSA9IG5hLCB0eXBlbmFtZSBVMiA9IG5hLCB0eXBlbmFtZSBVMyA9IG5hCisgICAgICAgICwgdHlwZW5hbWUgVTQgPSBuYSwgdHlwZW5hbWUgVTUgPSBuYQorICAgICAgICA+CisgICAgc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIFU0IHR5cGU7CisgICAgICAgIEJPT1NUX01QTF9BVVhfQVNTRVJUX05PVF9OQSh0eXBlKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgYXJnPDU+Cit7CisgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gNSk7CisgICAgdHlwZWRlZiBhcmc8Nj4gbmV4dDsKKyAgICBCT09TVF9NUExfQVVYX0FSR19UWVBFREVGKG5hLCB0YWcpCisgICAgQk9PU1RfTVBMX0FVWF9BUkdfVFlQRURFRihuYSwgdHlwZSkKKworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFUxID0gbmEsIHR5cGVuYW1lIFUyID0gbmEsIHR5cGVuYW1lIFUzID0gbmEKKyAgICAgICAgLCB0eXBlbmFtZSBVNCA9IG5hLCB0eXBlbmFtZSBVNSA9IG5hCisgICAgICAgID4KKyAgICBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgVTUgdHlwZTsKKyAgICAgICAgQk9PU1RfTVBMX0FVWF9BU1NFUlRfTk9UX05BKHR5cGUpOworICAgIH07Cit9OworCitCT09TVF9NUExfQVVYX05PTlRZUEVfQVJJVFlfU1BFQygxLGludCwgYXJnKQorCitCT09TVF9NUExfQVVYX0FETF9CQVJSSUVSX05BTUVTUEFDRV9DTE9TRQpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL25vX2N0cHMvYmFzaWNfYmluZC5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fY3Rwcy9iYXNpY19iaW5kLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMGZkMWU4Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL25vX2N0cHMvYmFzaWNfYmluZC5ocHAKQEAgLTAsMCArMSw0ODYgQEAKKworLy8gQ29weXJpZ2h0IFBldGVyIERpbW92IDIwMDEKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDEtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9hdXhfL2Jhc2ljX2JpbmQuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK25hbWVzcGFjZSBhdXggewordGVtcGxhdGU8IGJvb2wgPgorc3RydWN0IHJlc29sdmVfYXJnX2ltcGwKK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBULCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIsIHR5cGVuYW1lIFUzCisgICAgICAgICwgdHlwZW5hbWUgVTQsIHR5cGVuYW1lIFU1CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiBUIHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCByZXNvbHZlX2FyZ19pbXBsPHRydWU+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVCwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyLCB0eXBlbmFtZSBVMworICAgICAgICAsIHR5cGVuYW1lIFU0LCB0eXBlbmFtZSBVNQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHlfd3JhcDU8CisgICAgICAgICAgICAgIFQKKyAgICAgICAgICAgICwgVTEsIFUyLCBVMywgVTQsIFU1CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUID4gc3RydWN0IGlzX2JpbmRfdGVtcGxhdGU7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyLCB0eXBlbmFtZSBVMywgdHlwZW5hbWUgVTQKKyAgICAsIHR5cGVuYW1lIFU1CisgICAgPgorc3RydWN0IHJlc29sdmVfYmluZF9hcmcKKyAgICA6IHJlc29sdmVfYXJnX2ltcGw8IGlzX2JpbmRfdGVtcGxhdGU8VD46OnZhbHVlID4KKyAgICAgICAgICAgIDo6dGVtcGxhdGUgcmVzdWx0XzwgVCxVMSxVMixVMyxVNCxVNSA+Cit7Cit9OworCit0ZW1wbGF0ZTwgaW50IGFyaXR5XyA+IHN0cnVjdCBiaW5kX2Nob29zZXI7CisKK2F1eDo6bm9fdGFnIGlzX2JpbmRfaGVscGVyKC4uLik7Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgVCA+IGF1eDo6bm9fdGFnIGlzX2JpbmRfaGVscGVyKHByb3RlY3Q8VD4qKTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUKKyAgICA+CithdXg6Onllc190YWcgaXNfYmluZF9oZWxwZXIoYmluZDwgRixUMSxUMixUMyxUNCxUNSA+Kik7CisKK3RlbXBsYXRlPCBpbnQgTiA+CithdXg6Onllc190YWcgaXNfYmluZF9oZWxwZXIoYXJnPE4+Kik7CisKK3RlbXBsYXRlPCBib29sIGlzX3JlZl8gID0gdHJ1ZSA+CitzdHJ1Y3QgaXNfYmluZF90ZW1wbGF0ZV9pbXBsCit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFQgPiBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGJvb2wsIHZhbHVlICA9IGZhbHNlKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGlzX2JpbmRfdGVtcGxhdGVfaW1wbDxmYWxzZT4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVCA+IHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoYm9vbCwgdmFsdWUgPQorICAgICAgICAgICAgICBzaXplb2YoYXV4Ojppc19iaW5kX2hlbHBlcihzdGF0aWNfY2FzdDxUKj4oMCkpKQorICAgICAgICAgICAgICAgID09IHNpemVvZihhdXg6Onllc190YWcpCisgICAgICAgICAgICApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVCA+IHN0cnVjdCBpc19iaW5kX3RlbXBsYXRlCisgICAgOiBpc19iaW5kX3RlbXBsYXRlX2ltcGw8IDo6bmRuYm9vc3Q6OmRldGFpbDo6aXNfcmVmZXJlbmNlX2ltcGw8VD46OnZhbHVlID4KKyAgICAgICAgOjp0ZW1wbGF0ZSByZXN1bHRfPFQ+Cit7Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGCisgICAgPgorc3RydWN0IGJpbmQwCit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVTEgPSBuYSwgdHlwZW5hbWUgVTIgPSBuYSwgdHlwZW5hbWUgVTMgPSBuYQorICAgICAgICAsIHR5cGVuYW1lIFU0ID0gbmEsIHR5cGVuYW1lIFU1ID0gbmEKKyAgICAgICAgPgorICAgIHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgcHJpdmF0ZToKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhdXg6OnJlc29sdmVfYmluZF9hcmc8IEYsVTEsVTIsVTMsVTQsVTUgPjo6dHlwZSBmXzsKKworICAgICBwdWJsaWM6CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHlfd3JhcDA8CisgICAgICAgICAgICAgIGZfCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRgorICAgID4KK2F1eDo6eWVzX3RhZworaXNfYmluZF9oZWxwZXIoYmluZDA8Rj4qKTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK0JPT1NUX01QTF9BVVhfQVJJVFlfU1BFQygxLCBiaW5kMCkKK0JPT1NUX01QTF9BVVhfVEVNUExBVEVfQVJJVFlfU1BFQygxLCBiaW5kMCkKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBiaW5kX2Nob29zZXI8MD4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiBiaW5kMDxGPiB0eXBlOworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMQorICAgID4KK3N0cnVjdCBiaW5kMQoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFUxID0gbmEsIHR5cGVuYW1lIFUyID0gbmEsIHR5cGVuYW1lIFUzID0gbmEKKyAgICAgICAgLCB0eXBlbmFtZSBVNCA9IG5hLCB0eXBlbmFtZSBVNSA9IG5hCisgICAgICAgID4KKyAgICBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgIHByaXZhdGU6CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBGLFUxLFUyLFUzLFU0LFU1ID46OnR5cGUgZl87CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBUMSxVMSxVMixVMyxVNCxVNSA+IHQxOworCisgICAgIHB1YmxpYzoKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseV93cmFwMTwKKyAgICAgICAgICAgICAgZl8KKyAgICAgICAgICAgICwgdHlwZW5hbWUgdDE6OnR5cGUKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMQorICAgID4KK2F1eDo6eWVzX3RhZworaXNfYmluZF9oZWxwZXIoYmluZDE8IEYsVDEgPiopOworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworQk9PU1RfTVBMX0FVWF9BUklUWV9TUEVDKDIsIGJpbmQxKQorQk9PU1RfTVBMX0FVWF9URU1QTEFURV9BUklUWV9TUEVDKDIsIGJpbmQxKQorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IGJpbmRfY2hvb3NlcjwxPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgICAgICwgdHlwZW5hbWUgVDUKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIGJpbmQxPCBGLFQxID4gdHlwZTsKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyCisgICAgPgorc3RydWN0IGJpbmQyCit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVTEgPSBuYSwgdHlwZW5hbWUgVTIgPSBuYSwgdHlwZW5hbWUgVTMgPSBuYQorICAgICAgICAsIHR5cGVuYW1lIFU0ID0gbmEsIHR5cGVuYW1lIFU1ID0gbmEKKyAgICAgICAgPgorICAgIHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgcHJpdmF0ZToKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhdXg6OnJlc29sdmVfYmluZF9hcmc8IEYsVTEsVTIsVTMsVTQsVTUgPjo6dHlwZSBmXzsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IFQxLFUxLFUyLFUzLFU0LFU1ID4gdDE7CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBUMixVMSxVMixVMyxVNCxVNSA+IHQyOworCisgICAgIHB1YmxpYzoKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseV93cmFwMjwKKyAgICAgICAgICAgICAgZl8KKyAgICAgICAgICAgICwgdHlwZW5hbWUgdDE6OnR5cGUsIHR5cGVuYW1lIHQyOjp0eXBlCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyCisgICAgPgorYXV4Ojp5ZXNfdGFnCitpc19iaW5kX2hlbHBlcihiaW5kMjwgRixUMSxUMiA+Kik7CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCitCT09TVF9NUExfQVVYX0FSSVRZX1NQRUMoMywgYmluZDIpCitCT09TVF9NUExfQVVYX1RFTVBMQVRFX0FSSVRZX1NQRUMoMywgYmluZDIpCisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgYmluZF9jaG9vc2VyPDI+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgYmluZDI8IEYsVDEsVDIgPiB0eXBlOworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzCisgICAgPgorc3RydWN0IGJpbmQzCit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVTEgPSBuYSwgdHlwZW5hbWUgVTIgPSBuYSwgdHlwZW5hbWUgVTMgPSBuYQorICAgICAgICAsIHR5cGVuYW1lIFU0ID0gbmEsIHR5cGVuYW1lIFU1ID0gbmEKKyAgICAgICAgPgorICAgIHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgcHJpdmF0ZToKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhdXg6OnJlc29sdmVfYmluZF9hcmc8IEYsVTEsVTIsVTMsVTQsVTUgPjo6dHlwZSBmXzsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IFQxLFUxLFUyLFUzLFU0LFU1ID4gdDE7CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBUMixVMSxVMixVMyxVNCxVNSA+IHQyOworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgVDMsVTEsVTIsVTMsVTQsVTUgPiB0MzsKKworICAgICBwdWJsaWM6CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHlfd3JhcDM8CisgICAgICAgICAgICAgIGZfCisgICAgICAgICAgICAsIHR5cGVuYW1lIHQxOjp0eXBlLCB0eXBlbmFtZSB0Mjo6dHlwZSwgdHlwZW5hbWUgdDM6OnR5cGUKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzCisgICAgPgorYXV4Ojp5ZXNfdGFnCitpc19iaW5kX2hlbHBlcihiaW5kMzwgRixUMSxUMixUMyA+Kik7CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCitCT09TVF9NUExfQVVYX0FSSVRZX1NQRUMoNCwgYmluZDMpCitCT09TVF9NUExfQVVYX1RFTVBMQVRFX0FSSVRZX1NQRUMoNCwgYmluZDMpCisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgYmluZF9jaG9vc2VyPDM+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgYmluZDM8IEYsVDEsVDIsVDMgPiB0eXBlOworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgID4KK3N0cnVjdCBiaW5kNAoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFUxID0gbmEsIHR5cGVuYW1lIFUyID0gbmEsIHR5cGVuYW1lIFUzID0gbmEKKyAgICAgICAgLCB0eXBlbmFtZSBVNCA9IG5hLCB0eXBlbmFtZSBVNSA9IG5hCisgICAgICAgID4KKyAgICBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgIHByaXZhdGU6CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBGLFUxLFUyLFUzLFU0LFU1ID46OnR5cGUgZl87CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBUMSxVMSxVMixVMyxVNCxVNSA+IHQxOworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgVDIsVTEsVTIsVTMsVTQsVTUgPiB0MjsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IFQzLFUxLFUyLFUzLFU0LFU1ID4gdDM7CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBUNCxVMSxVMixVMyxVNCxVNSA+IHQ0OworCisgICAgIHB1YmxpYzoKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseV93cmFwNDwKKyAgICAgICAgICAgICAgZl8KKyAgICAgICAgICAgICwgdHlwZW5hbWUgdDE6OnR5cGUsIHR5cGVuYW1lIHQyOjp0eXBlLCB0eXBlbmFtZSB0Mzo6dHlwZQorICAgICAgICAgICAgLCB0eXBlbmFtZSB0NDo6dHlwZQorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgPgorYXV4Ojp5ZXNfdGFnCitpc19iaW5kX2hlbHBlcihiaW5kNDwgRixUMSxUMixUMyxUNCA+Kik7CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCitCT09TVF9NUExfQVVYX0FSSVRZX1NQRUMoNSwgYmluZDQpCitCT09TVF9NUExfQVVYX1RFTVBMQVRFX0FSSVRZX1NQRUMoNSwgYmluZDQpCisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgYmluZF9jaG9vc2VyPDQ+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgYmluZDQ8IEYsVDEsVDIsVDMsVDQgPiB0eXBlOworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUKKyAgICA+CitzdHJ1Y3QgYmluZDUKK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBVMSA9IG5hLCB0eXBlbmFtZSBVMiA9IG5hLCB0eXBlbmFtZSBVMyA9IG5hCisgICAgICAgICwgdHlwZW5hbWUgVTQgPSBuYSwgdHlwZW5hbWUgVTUgPSBuYQorICAgICAgICA+CisgICAgc3RydWN0IGFwcGx5CisgICAgeworICAgICBwcml2YXRlOgorICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgRixVMSxVMixVMyxVNCxVNSA+Ojp0eXBlIGZfOworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgVDEsVTEsVTIsVTMsVTQsVTUgPiB0MTsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IFQyLFUxLFUyLFUzLFU0LFU1ID4gdDI7CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBUMyxVMSxVMixVMyxVNCxVNSA+IHQzOworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgVDQsVTEsVTIsVTMsVTQsVTUgPiB0NDsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IFQ1LFUxLFUyLFUzLFU0LFU1ID4gdDU7CisKKyAgICAgcHVibGljOgorICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5X3dyYXA1PAorICAgICAgICAgICAgICBmXworICAgICAgICAgICAgLCB0eXBlbmFtZSB0MTo6dHlwZSwgdHlwZW5hbWUgdDI6OnR5cGUsIHR5cGVuYW1lIHQzOjp0eXBlCisgICAgICAgICAgICAsIHR5cGVuYW1lIHQ0Ojp0eXBlLCB0eXBlbmFtZSB0NTo6dHlwZQorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNQorICAgID4KK2F1eDo6eWVzX3RhZworaXNfYmluZF9oZWxwZXIoYmluZDU8IEYsVDEsVDIsVDMsVDQsVDUgPiopOworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworQk9PU1RfTVBMX0FVWF9BUklUWV9TUEVDKDYsIGJpbmQ1KQorQk9PU1RfTVBMX0FVWF9URU1QTEFURV9BUklUWV9TUEVDKDYsIGJpbmQ1KQorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IGJpbmRfY2hvb3Nlcjw1PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgICAgICwgdHlwZW5hbWUgVDUKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIGJpbmQ1PCBGLFQxLFQyLFQzLFQ0LFQ1ID4gdHlwZTsKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVCA+CitzdHJ1Y3QgaXNfYmluZF9hcmcKK3sKKyAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoYm9vbCwgdmFsdWUgID0gdHJ1ZSk7Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgaXNfYmluZF9hcmc8bmE+Cit7CisgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGJvb2wsIHZhbHVlICA9IGZhbHNlKTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQsIHR5cGVuYW1lIFQ1CisgICAgPgorc3RydWN0IGJpbmRfY291bnRfYXJncworeworICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlID0KKyAgICAgICAgICBpc19iaW5kX2FyZzxUMT46OnZhbHVlICsgaXNfYmluZF9hcmc8VDI+Ojp2YWx1ZSAKKyAgICAgICAgKyBpc19iaW5kX2FyZzxUMz46OnZhbHVlICsgaXNfYmluZF9hcmc8VDQ+Ojp2YWx1ZSAKKyAgICAgICAgKyBpc19iaW5kX2FyZzxUNT46OnZhbHVlCisgICAgICAgICk7CisKK307CisKK30KKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUKKyAgICA+CitzdHJ1Y3QgYmluZAorICAgIDogYXV4OjpiaW5kX2Nob29zZXI8CisgICAgICAgICAgYXV4OjpiaW5kX2NvdW50X2FyZ3M8IFQxLFQyLFQzLFQ0LFQ1ID46OnZhbHVlCisgICAgICAgID46OnRlbXBsYXRlIHJlc3VsdF88IEYsVDEsVDIsVDMsVDQsVDUgPjo6dHlwZQoreworfTsKKworQk9PU1RfTVBMX0FVWF9BUklUWV9TUEVDKAorICAgICAgNgorICAgICwgYmluZAorICAgICkKKworQk9PU1RfTVBMX0FVWF9URU1QTEFURV9BUklUWV9TUEVDKAorICAgICAgNgorICAgICwgYmluZAorICAgICkKK319CisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9ub19jdHBzL2JpbmQuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL25vX2N0cHMvYmluZC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTA0YzY0ZgotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9ub19jdHBzL2JpbmQuaHBwCkBAIC0wLDAgKzEsNTkwIEBACisKKy8vIENvcHlyaWdodCBQZXRlciBEaW1vdiAyMDAxCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAxLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvYmluZC5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKworbmFtZXNwYWNlIGF1eCB7Cit0ZW1wbGF0ZTwgYm9vbCA+CitzdHJ1Y3QgcmVzb2x2ZV9hcmdfaW1wbAoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQsIHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiwgdHlwZW5hbWUgVTMKKyAgICAgICAgLCB0eXBlbmFtZSBVNCwgdHlwZW5hbWUgVTUKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIFQgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHJlc29sdmVfYXJnX2ltcGw8dHJ1ZT4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBULCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIsIHR5cGVuYW1lIFUzCisgICAgICAgICwgdHlwZW5hbWUgVTQsIHR5cGVuYW1lIFU1CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseV93cmFwNTwKKyAgICAgICAgICAgICAgVAorICAgICAgICAgICAgLCBVMSwgVTIsIFUzLCBVNCwgVTUKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFQgPiBzdHJ1Y3QgaXNfYmluZF90ZW1wbGF0ZTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIsIHR5cGVuYW1lIFUzLCB0eXBlbmFtZSBVNAorICAgICwgdHlwZW5hbWUgVTUKKyAgICA+CitzdHJ1Y3QgcmVzb2x2ZV9iaW5kX2FyZworICAgIDogcmVzb2x2ZV9hcmdfaW1wbDwgaXNfYmluZF90ZW1wbGF0ZTxUPjo6dmFsdWUgPgorICAgICAgICAgICAgOjp0ZW1wbGF0ZSByZXN1bHRfPCBULFUxLFUyLFUzLFU0LFU1ID4KK3sKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUID4KK3N0cnVjdCByZXBsYWNlX3VubmFtZWRfYXJnX2ltcGwKK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgQXJnID4gc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgQXJnIG5leHQ7CisgICAgICAgIHR5cGVkZWYgVCB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcmVwbGFjZV91bm5hbWVkX2FyZ19pbXBsPCBhcmc8IC0xID4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBBcmcgPiBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBuZXh0PEFyZz46OnR5cGUgbmV4dDsKKyAgICAgICAgdHlwZWRlZiBBcmcgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFQsIHR5cGVuYW1lIEFyZyA+CitzdHJ1Y3QgcmVwbGFjZV91bm5hbWVkX2FyZworICAgIDogcmVwbGFjZV91bm5hbWVkX2FyZ19pbXBsPFQ+Ojp0ZW1wbGF0ZSByZXN1bHRfPEFyZz4KK3sKK307CisKK3RlbXBsYXRlPCBpbnQgYXJpdHlfID4gc3RydWN0IGJpbmRfY2hvb3NlcjsKKworYXV4Ojpub190YWcgaXNfYmluZF9oZWxwZXIoLi4uKTsKK3RlbXBsYXRlPCB0eXBlbmFtZSBUID4gYXV4Ojpub190YWcgaXNfYmluZF9oZWxwZXIocHJvdGVjdDxUPiopOworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNQorICAgID4KK2F1eDo6eWVzX3RhZyBpc19iaW5kX2hlbHBlcihiaW5kPCBGLFQxLFQyLFQzLFQ0LFQ1ID4qKTsKKwordGVtcGxhdGU8IGludCBOID4KK2F1eDo6eWVzX3RhZyBpc19iaW5kX2hlbHBlcihhcmc8Tj4qKTsKKwordGVtcGxhdGU8IGJvb2wgaXNfcmVmXyAgPSB0cnVlID4KK3N0cnVjdCBpc19iaW5kX3RlbXBsYXRlX2ltcGwKK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVCA+IHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoYm9vbCwgdmFsdWUgID0gZmFsc2UpOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgaXNfYmluZF90ZW1wbGF0ZV9pbXBsPGZhbHNlPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBUID4gc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChib29sLCB2YWx1ZSA9CisgICAgICAgICAgICAgIHNpemVvZihhdXg6OmlzX2JpbmRfaGVscGVyKHN0YXRpY19jYXN0PFQqPigwKSkpCisgICAgICAgICAgICAgICAgPT0gc2l6ZW9mKGF1eDo6eWVzX3RhZykKKyAgICAgICAgICAgICk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUID4gc3RydWN0IGlzX2JpbmRfdGVtcGxhdGUKKyAgICA6IGlzX2JpbmRfdGVtcGxhdGVfaW1wbDwgOjpuZG5ib29zdDo6ZGV0YWlsOjppc19yZWZlcmVuY2VfaW1wbDxUPjo6dmFsdWUgPgorICAgICAgICA6OnRlbXBsYXRlIHJlc3VsdF88VD4KK3sKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYKKyAgICA+CitzdHJ1Y3QgYmluZDAKK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBVMSA9IG5hLCB0eXBlbmFtZSBVMiA9IG5hLCB0eXBlbmFtZSBVMyA9IG5hCisgICAgICAgICwgdHlwZW5hbWUgVTQgPSBuYSwgdHlwZW5hbWUgVTUgPSBuYQorICAgICAgICA+CisgICAgc3RydWN0IGFwcGx5CisgICAgeworICAgICBwcml2YXRlOgorICAgICAgICB0eXBlZGVmIGF1eDo6cmVwbGFjZV91bm5hbWVkX2FyZzwgRiwgbXBsOjphcmc8MT4gPiByMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMDo6dHlwZSBhMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMDo6bmV4dCBuMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhdXg6OnJlc29sdmVfYmluZF9hcmc8IGEwLFUxLFUyLFUzLFU0LFU1ID46OnR5cGUgZl87CisgICAgICAgIC8vLworICAgICBwdWJsaWM6CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHlfd3JhcDA8CisgICAgICAgICAgICAgIGZfCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRgorICAgID4KK2F1eDo6eWVzX3RhZworaXNfYmluZF9oZWxwZXIoYmluZDA8Rj4qKTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK0JPT1NUX01QTF9BVVhfQVJJVFlfU1BFQygxLCBiaW5kMCkKK0JPT1NUX01QTF9BVVhfVEVNUExBVEVfQVJJVFlfU1BFQygxLCBiaW5kMCkKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBiaW5kX2Nob29zZXI8MD4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiBiaW5kMDxGPiB0eXBlOworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMQorICAgID4KK3N0cnVjdCBiaW5kMQoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFUxID0gbmEsIHR5cGVuYW1lIFUyID0gbmEsIHR5cGVuYW1lIFUzID0gbmEKKyAgICAgICAgLCB0eXBlbmFtZSBVNCA9IG5hLCB0eXBlbmFtZSBVNSA9IG5hCisgICAgICAgID4KKyAgICBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgIHByaXZhdGU6CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXBsYWNlX3VubmFtZWRfYXJnPCBGLCBtcGw6OmFyZzwxPiA+IHIwOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIwOjp0eXBlIGEwOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIwOjpuZXh0IG4xOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgYTAsVTEsVTIsVTMsVTQsVTUgPjo6dHlwZSBmXzsKKyAgICAgICAgLy8vCisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXBsYWNlX3VubmFtZWRfYXJnPCBUMSxuMSA+IHIxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIxOjp0eXBlIGExOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIxOjpuZXh0IG4yOworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgYTEsVTEsVTIsVTMsVTQsVTUgPiB0MTsKKyAgICAgICAgLy8vCisgICAgIHB1YmxpYzoKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseV93cmFwMTwKKyAgICAgICAgICAgICAgZl8KKyAgICAgICAgICAgICwgdHlwZW5hbWUgdDE6OnR5cGUKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMQorICAgID4KK2F1eDo6eWVzX3RhZworaXNfYmluZF9oZWxwZXIoYmluZDE8IEYsVDEgPiopOworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworQk9PU1RfTVBMX0FVWF9BUklUWV9TUEVDKDIsIGJpbmQxKQorQk9PU1RfTVBMX0FVWF9URU1QTEFURV9BUklUWV9TUEVDKDIsIGJpbmQxKQorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IGJpbmRfY2hvb3NlcjwxPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgICAgICwgdHlwZW5hbWUgVDUKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIGJpbmQxPCBGLFQxID4gdHlwZTsKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyCisgICAgPgorc3RydWN0IGJpbmQyCit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVTEgPSBuYSwgdHlwZW5hbWUgVTIgPSBuYSwgdHlwZW5hbWUgVTMgPSBuYQorICAgICAgICAsIHR5cGVuYW1lIFU0ID0gbmEsIHR5cGVuYW1lIFU1ID0gbmEKKyAgICAgICAgPgorICAgIHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgcHJpdmF0ZToKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlcGxhY2VfdW5uYW1lZF9hcmc8IEYsIG1wbDo6YXJnPDE+ID4gcjA7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjA6OnR5cGUgYTA7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjA6Om5leHQgbjE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBhMCxVMSxVMixVMyxVNCxVNSA+Ojp0eXBlIGZfOworICAgICAgICAvLy8KKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlcGxhY2VfdW5uYW1lZF9hcmc8IFQxLG4xID4gcjE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjE6OnR5cGUgYTE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjE6Om5leHQgbjI7CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBhMSxVMSxVMixVMyxVNCxVNSA+IHQxOworICAgICAgICAvLy8KKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlcGxhY2VfdW5uYW1lZF9hcmc8IFQyLG4yID4gcjI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjI6OnR5cGUgYTI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjI6Om5leHQgbjM7CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBhMixVMSxVMixVMyxVNCxVNSA+IHQyOworICAgICAgICAvLy8KKyAgICAgcHVibGljOgorICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5X3dyYXAyPAorICAgICAgICAgICAgICBmXworICAgICAgICAgICAgLCB0eXBlbmFtZSB0MTo6dHlwZSwgdHlwZW5hbWUgdDI6OnR5cGUKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIKKyAgICA+CithdXg6Onllc190YWcKK2lzX2JpbmRfaGVscGVyKGJpbmQyPCBGLFQxLFQyID4qKTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK0JPT1NUX01QTF9BVVhfQVJJVFlfU1BFQygzLCBiaW5kMikKK0JPT1NUX01QTF9BVVhfVEVNUExBVEVfQVJJVFlfU1BFQygzLCBiaW5kMikKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBiaW5kX2Nob29zZXI8Mj4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiBiaW5kMjwgRixUMSxUMiA+IHR5cGU7CisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMKKyAgICA+CitzdHJ1Y3QgYmluZDMKK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBVMSA9IG5hLCB0eXBlbmFtZSBVMiA9IG5hLCB0eXBlbmFtZSBVMyA9IG5hCisgICAgICAgICwgdHlwZW5hbWUgVTQgPSBuYSwgdHlwZW5hbWUgVTUgPSBuYQorICAgICAgICA+CisgICAgc3RydWN0IGFwcGx5CisgICAgeworICAgICBwcml2YXRlOgorICAgICAgICB0eXBlZGVmIGF1eDo6cmVwbGFjZV91bm5hbWVkX2FyZzwgRiwgbXBsOjphcmc8MT4gPiByMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMDo6dHlwZSBhMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMDo6bmV4dCBuMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhdXg6OnJlc29sdmVfYmluZF9hcmc8IGEwLFUxLFUyLFUzLFU0LFU1ID46OnR5cGUgZl87CisgICAgICAgIC8vLworICAgICAgICB0eXBlZGVmIGF1eDo6cmVwbGFjZV91bm5hbWVkX2FyZzwgVDEsbjEgPiByMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMTo6dHlwZSBhMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMTo6bmV4dCBuMjsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IGExLFUxLFUyLFUzLFU0LFU1ID4gdDE7CisgICAgICAgIC8vLworICAgICAgICB0eXBlZGVmIGF1eDo6cmVwbGFjZV91bm5hbWVkX2FyZzwgVDIsbjIgPiByMjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMjo6dHlwZSBhMjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMjo6bmV4dCBuMzsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IGEyLFUxLFUyLFUzLFU0LFU1ID4gdDI7CisgICAgICAgIC8vLworICAgICAgICB0eXBlZGVmIGF1eDo6cmVwbGFjZV91bm5hbWVkX2FyZzwgVDMsbjMgPiByMzsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMzo6dHlwZSBhMzsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMzo6bmV4dCBuNDsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IGEzLFUxLFUyLFUzLFU0LFU1ID4gdDM7CisgICAgICAgIC8vLworICAgICBwdWJsaWM6CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHlfd3JhcDM8CisgICAgICAgICAgICAgIGZfCisgICAgICAgICAgICAsIHR5cGVuYW1lIHQxOjp0eXBlLCB0eXBlbmFtZSB0Mjo6dHlwZSwgdHlwZW5hbWUgdDM6OnR5cGUKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzCisgICAgPgorYXV4Ojp5ZXNfdGFnCitpc19iaW5kX2hlbHBlcihiaW5kMzwgRixUMSxUMixUMyA+Kik7CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCitCT09TVF9NUExfQVVYX0FSSVRZX1NQRUMoNCwgYmluZDMpCitCT09TVF9NUExfQVVYX1RFTVBMQVRFX0FSSVRZX1NQRUMoNCwgYmluZDMpCisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgYmluZF9jaG9vc2VyPDM+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgYmluZDM8IEYsVDEsVDIsVDMgPiB0eXBlOworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgID4KK3N0cnVjdCBiaW5kNAoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFUxID0gbmEsIHR5cGVuYW1lIFUyID0gbmEsIHR5cGVuYW1lIFUzID0gbmEKKyAgICAgICAgLCB0eXBlbmFtZSBVNCA9IG5hLCB0eXBlbmFtZSBVNSA9IG5hCisgICAgICAgID4KKyAgICBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgIHByaXZhdGU6CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXBsYWNlX3VubmFtZWRfYXJnPCBGLCBtcGw6OmFyZzwxPiA+IHIwOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIwOjp0eXBlIGEwOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIwOjpuZXh0IG4xOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgYTAsVTEsVTIsVTMsVTQsVTUgPjo6dHlwZSBmXzsKKyAgICAgICAgLy8vCisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXBsYWNlX3VubmFtZWRfYXJnPCBUMSxuMSA+IHIxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIxOjp0eXBlIGExOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIxOjpuZXh0IG4yOworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgYTEsVTEsVTIsVTMsVTQsVTUgPiB0MTsKKyAgICAgICAgLy8vCisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXBsYWNlX3VubmFtZWRfYXJnPCBUMixuMiA+IHIyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIyOjp0eXBlIGEyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIyOjpuZXh0IG4zOworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgYTIsVTEsVTIsVTMsVTQsVTUgPiB0MjsKKyAgICAgICAgLy8vCisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXBsYWNlX3VubmFtZWRfYXJnPCBUMyxuMyA+IHIzOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIzOjp0eXBlIGEzOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIzOjpuZXh0IG40OworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgYTMsVTEsVTIsVTMsVTQsVTUgPiB0MzsKKyAgICAgICAgLy8vCisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXBsYWNlX3VubmFtZWRfYXJnPCBUNCxuNCA+IHI0OworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHI0Ojp0eXBlIGE0OworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHI0OjpuZXh0IG41OworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgYTQsVTEsVTIsVTMsVTQsVTUgPiB0NDsKKyAgICAgICAgLy8vCisgICAgIHB1YmxpYzoKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseV93cmFwNDwKKyAgICAgICAgICAgICAgZl8KKyAgICAgICAgICAgICwgdHlwZW5hbWUgdDE6OnR5cGUsIHR5cGVuYW1lIHQyOjp0eXBlLCB0eXBlbmFtZSB0Mzo6dHlwZQorICAgICAgICAgICAgLCB0eXBlbmFtZSB0NDo6dHlwZQorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgPgorYXV4Ojp5ZXNfdGFnCitpc19iaW5kX2hlbHBlcihiaW5kNDwgRixUMSxUMixUMyxUNCA+Kik7CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCitCT09TVF9NUExfQVVYX0FSSVRZX1NQRUMoNSwgYmluZDQpCitCT09TVF9NUExfQVVYX1RFTVBMQVRFX0FSSVRZX1NQRUMoNSwgYmluZDQpCisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgYmluZF9jaG9vc2VyPDQ+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgYmluZDQ8IEYsVDEsVDIsVDMsVDQgPiB0eXBlOworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUKKyAgICA+CitzdHJ1Y3QgYmluZDUKK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBVMSA9IG5hLCB0eXBlbmFtZSBVMiA9IG5hLCB0eXBlbmFtZSBVMyA9IG5hCisgICAgICAgICwgdHlwZW5hbWUgVTQgPSBuYSwgdHlwZW5hbWUgVTUgPSBuYQorICAgICAgICA+CisgICAgc3RydWN0IGFwcGx5CisgICAgeworICAgICBwcml2YXRlOgorICAgICAgICB0eXBlZGVmIGF1eDo6cmVwbGFjZV91bm5hbWVkX2FyZzwgRiwgbXBsOjphcmc8MT4gPiByMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMDo6dHlwZSBhMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMDo6bmV4dCBuMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhdXg6OnJlc29sdmVfYmluZF9hcmc8IGEwLFUxLFUyLFUzLFU0LFU1ID46OnR5cGUgZl87CisgICAgICAgIC8vLworICAgICAgICB0eXBlZGVmIGF1eDo6cmVwbGFjZV91bm5hbWVkX2FyZzwgVDEsbjEgPiByMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMTo6dHlwZSBhMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMTo6bmV4dCBuMjsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IGExLFUxLFUyLFUzLFU0LFU1ID4gdDE7CisgICAgICAgIC8vLworICAgICAgICB0eXBlZGVmIGF1eDo6cmVwbGFjZV91bm5hbWVkX2FyZzwgVDIsbjIgPiByMjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMjo6dHlwZSBhMjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMjo6bmV4dCBuMzsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IGEyLFUxLFUyLFUzLFU0LFU1ID4gdDI7CisgICAgICAgIC8vLworICAgICAgICB0eXBlZGVmIGF1eDo6cmVwbGFjZV91bm5hbWVkX2FyZzwgVDMsbjMgPiByMzsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMzo6dHlwZSBhMzsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMzo6bmV4dCBuNDsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IGEzLFUxLFUyLFUzLFU0LFU1ID4gdDM7CisgICAgICAgIC8vLworICAgICAgICB0eXBlZGVmIGF1eDo6cmVwbGFjZV91bm5hbWVkX2FyZzwgVDQsbjQgPiByNDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByNDo6dHlwZSBhNDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByNDo6bmV4dCBuNTsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IGE0LFUxLFUyLFUzLFU0LFU1ID4gdDQ7CisgICAgICAgIC8vLworICAgICAgICB0eXBlZGVmIGF1eDo6cmVwbGFjZV91bm5hbWVkX2FyZzwgVDUsbjUgPiByNTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByNTo6dHlwZSBhNTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByNTo6bmV4dCBuNjsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IGE1LFUxLFUyLFUzLFU0LFU1ID4gdDU7CisgICAgICAgIC8vLworICAgICBwdWJsaWM6CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHlfd3JhcDU8CisgICAgICAgICAgICAgIGZfCisgICAgICAgICAgICAsIHR5cGVuYW1lIHQxOjp0eXBlLCB0eXBlbmFtZSB0Mjo6dHlwZSwgdHlwZW5hbWUgdDM6OnR5cGUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgdDQ6OnR5cGUsIHR5cGVuYW1lIHQ1Ojp0eXBlCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1CisgICAgPgorYXV4Ojp5ZXNfdGFnCitpc19iaW5kX2hlbHBlcihiaW5kNTwgRixUMSxUMixUMyxUNCxUNSA+Kik7CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCitCT09TVF9NUExfQVVYX0FSSVRZX1NQRUMoNiwgYmluZDUpCitCT09TVF9NUExfQVVYX1RFTVBMQVRFX0FSSVRZX1NQRUMoNiwgYmluZDUpCisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgYmluZF9jaG9vc2VyPDU+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgYmluZDU8IEYsVDEsVDIsVDMsVDQsVDUgPiB0eXBlOworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUID4KK3N0cnVjdCBpc19iaW5kX2FyZworeworICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChib29sLCB2YWx1ZSAgPSB0cnVlKTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBpc19iaW5kX2FyZzxuYT4KK3sKKyAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoYm9vbCwgdmFsdWUgID0gZmFsc2UpOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNCwgdHlwZW5hbWUgVDUKKyAgICA+CitzdHJ1Y3QgYmluZF9jb3VudF9hcmdzCit7CisgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgPQorICAgICAgICAgIGlzX2JpbmRfYXJnPFQxPjo6dmFsdWUgKyBpc19iaW5kX2FyZzxUMj46OnZhbHVlIAorICAgICAgICArIGlzX2JpbmRfYXJnPFQzPjo6dmFsdWUgKyBpc19iaW5kX2FyZzxUND46OnZhbHVlIAorICAgICAgICArIGlzX2JpbmRfYXJnPFQ1Pjo6dmFsdWUKKyAgICAgICAgKTsKKworfTsKKworfQorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNQorICAgID4KK3N0cnVjdCBiaW5kCisgICAgOiBhdXg6OmJpbmRfY2hvb3NlcjwKKyAgICAgICAgICBhdXg6OmJpbmRfY291bnRfYXJnczwgVDEsVDIsVDMsVDQsVDUgPjo6dmFsdWUKKyAgICAgICAgPjo6dGVtcGxhdGUgcmVzdWx0XzwgRixUMSxUMixUMyxUNCxUNSA+Ojp0eXBlCit7Cit9OworCitCT09TVF9NUExfQVVYX0FSSVRZX1NQRUMoCisgICAgICA2CisgICAgLCBiaW5kCisgICAgKQorCitCT09TVF9NUExfQVVYX1RFTVBMQVRFX0FSSVRZX1NQRUMoCisgICAgICA2CisgICAgLCBiaW5kCisgICAgKQorfX0KKwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL25vX2N0cHMvYmluZF9md2QuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL25vX2N0cHMvYmluZF9md2QuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlhMDQ2ZWUKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fY3Rwcy9iaW5kX2Z3ZC5ocHAKQEAgLTAsMCArMSw1MiBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvYmluZF9md2QuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEgPSBuYSwgdHlwZW5hbWUgVDIgPSBuYSwgdHlwZW5hbWUgVDMgPSBuYQorICAgICwgdHlwZW5hbWUgVDQgPSBuYSwgdHlwZW5hbWUgVDUgPSBuYQorICAgID4KK3N0cnVjdCBiaW5kOworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYKKyAgICA+CitzdHJ1Y3QgYmluZDA7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEKKyAgICA+CitzdHJ1Y3QgYmluZDE7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyCisgICAgPgorc3RydWN0IGJpbmQyOworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMKKyAgICA+CitzdHJ1Y3QgYmluZDM7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICA+CitzdHJ1Y3QgYmluZDQ7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1CisgICAgPgorc3RydWN0IGJpbmQ1OworCit9fQorCmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fY3Rwcy9iaXRhbmQuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL25vX2N0cHMvYml0YW5kLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yM2RmY2JjCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL25vX2N0cHMvYml0YW5kLmhwcApAQCAtMCwwICsxLDEzNCBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vIENvcHlyaWdodCBKYWFwIFN1dGVyIDIwMDMKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvYml0YW5kLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFRhZzEKKyAgICAsIHR5cGVuYW1lIFRhZzIKKyAgICA+CitzdHJ1Y3QgYml0YW5kX2ltcGwKKyAgICA6IGlmX2M8CisgICAgICAgICAgKCBCT09TVF9NUExfQVVYX05FU1RFRF9WQUxVRV9XS05EKGludCwgVGFnMSkKKyAgICAgICAgICAgICAgPiBCT09TVF9NUExfQVVYX05FU1RFRF9WQUxVRV9XS05EKGludCwgVGFnMikKKyAgICAgICAgICAgICkKKworICAgICAgICAsIGF1eDo6Y2FzdDJuZF9pbXBsPCBiaXRhbmRfaW1wbDwgVGFnMSxUYWcxID4sVGFnMSwgVGFnMiA+CisgICAgICAgICwgYXV4OjpjYXN0MXN0X2ltcGw8IGJpdGFuZF9pbXBsPCBUYWcyLFRhZzIgPixUYWcxLCBUYWcyID4KKyAgICAgICAgPjo6dHlwZQoreworfTsKKworLy8vIGZvciBEaWdpdGFsIE1hcnMgQysrL2NvbXBpbGVycyB3aXRoIG5vIENUUFMvVFRQIHN1cHBvcnQKK3RlbXBsYXRlPD4gc3RydWN0IGJpdGFuZF9pbXBsPCBuYSxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgYml0YW5kX2ltcGw8IG5hLGludGVncmFsX2NfdGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCBiaXRhbmRfaW1wbDwgaW50ZWdyYWxfY190YWcsbmEgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUID4gc3RydWN0IGJpdGFuZF90YWcKK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIFQ6OnRhZyB0eXBlOworfTsKKworLy8vIGZvcndhcmQgZGVjbGFyYXRpb24KKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4xKQorICAgICwgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMikKKyAgICA+CitzdHJ1Y3QgYml0YW5kXzI7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMSkKKyAgICAsIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjIpCisgICAgLCB0eXBlbmFtZSBOMyA9IG5hLCB0eXBlbmFtZSBONCA9IG5hLCB0eXBlbmFtZSBONSA9IG5hCisgICAgPgorc3RydWN0IGJpdGFuZF8KKworICAgIDogaWZfPAorCisgICAgICAgICAgaXNfbmE8TjM+CisgICAgICAgICwgYml0YW5kXzI8IE4xLE4yID4KKyAgICAgICAgLCBiaXRhbmRfPAorICAgICAgICAgICAgICBiaXRhbmRfMjwgTjEsTjIgPgorICAgICAgICAgICAgLCBOMywgTjQsIE41CisgICAgICAgICAgICA+CisgICAgICAgID46OnR5cGUKKworeworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoCisgICAgICAgICAgNQorICAgICAgICAsIGJpdGFuZF8KKyAgICAgICAgLCAoIE4xLCBOMiwgTjMsIE40LCBONSApCisgICAgICAgICkKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgTjEKKyAgICAsIHR5cGVuYW1lIE4yCisgICAgPgorc3RydWN0IGJpdGFuZF8yCisgICAgOiBiaXRhbmRfaW1wbDwKKyAgICAgICAgICB0eXBlbmFtZSBiaXRhbmRfdGFnPE4xPjo6dHlwZQorICAgICAgICAsIHR5cGVuYW1lIGJpdGFuZF90YWc8TjI+Ojp0eXBlCisgICAgICAgID46OnRlbXBsYXRlIGFwcGx5PCBOMSxOMiA+Ojp0eXBlCit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgyLCBiaXRhbmRfMiwgKE4xLCBOMikpCisKK307CisKK0JPT1NUX01QTF9BVVhfTkFfU1BFQzIoMiwgNSwgYml0YW5kXykKKworfX0KKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7Cit0ZW1wbGF0ZTw+CitzdHJ1Y3QgYml0YW5kX2ltcGw8IGludGVncmFsX2NfdGFnLGludGVncmFsX2NfdGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgTjEsIHR5cGVuYW1lIE4yID4gc3RydWN0IGFwcGx5CisKKyAgICAgICAgOiBpbnRlZ3JhbF9jPAorICAgICAgICAgICAgICB0eXBlbmFtZSBhdXg6Omxhcmdlc3RfaW50PAorICAgICAgICAgICAgICAgICAgdHlwZW5hbWUgTjE6OnZhbHVlX3R5cGUKKyAgICAgICAgICAgICAgICAsIHR5cGVuYW1lIE4yOjp2YWx1ZV90eXBlCisgICAgICAgICAgICAgICAgPjo6dHlwZQorICAgICAgICAgICAgLCAoIEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChOMSk6OnZhbHVlCisgICAgICAgICAgICAgICAgICAmIEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChOMik6OnZhbHVlCisgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgPgorICAgIHsKKyAgICB9OworfTsKKworfX0KZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9ub19jdHBzL2JpdG9yLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9ub19jdHBzL2JpdG9yLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mZjYyMjFhCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL25vX2N0cHMvYml0b3IuaHBwCkBAIC0wLDAgKzEsMTM0IEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8gQ29weXJpZ2h0IEphYXAgU3V0ZXIgMjAwMworLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9iaXRvci5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUYWcxCisgICAgLCB0eXBlbmFtZSBUYWcyCisgICAgPgorc3RydWN0IGJpdG9yX2ltcGwKKyAgICA6IGlmX2M8CisgICAgICAgICAgKCBCT09TVF9NUExfQVVYX05FU1RFRF9WQUxVRV9XS05EKGludCwgVGFnMSkKKyAgICAgICAgICAgICAgPiBCT09TVF9NUExfQVVYX05FU1RFRF9WQUxVRV9XS05EKGludCwgVGFnMikKKyAgICAgICAgICAgICkKKworICAgICAgICAsIGF1eDo6Y2FzdDJuZF9pbXBsPCBiaXRvcl9pbXBsPCBUYWcxLFRhZzEgPixUYWcxLCBUYWcyID4KKyAgICAgICAgLCBhdXg6OmNhc3Qxc3RfaW1wbDwgYml0b3JfaW1wbDwgVGFnMixUYWcyID4sVGFnMSwgVGFnMiA+CisgICAgICAgID46OnR5cGUKK3sKK307CisKKy8vLyBmb3IgRGlnaXRhbCBNYXJzIEMrKy9jb21waWxlcnMgd2l0aCBubyBDVFBTL1RUUCBzdXBwb3J0Cit0ZW1wbGF0ZTw+IHN0cnVjdCBiaXRvcl9pbXBsPCBuYSxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgYml0b3JfaW1wbDwgbmEsaW50ZWdyYWxfY190YWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4gc3RydWN0IGJpdG9yX2ltcGw8IGludGVncmFsX2NfdGFnLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVCA+IHN0cnVjdCBiaXRvcl90YWcKK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIFQ6OnRhZyB0eXBlOworfTsKKworLy8vIGZvcndhcmQgZGVjbGFyYXRpb24KKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4xKQorICAgICwgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMikKKyAgICA+CitzdHJ1Y3QgYml0b3JfMjsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4xKQorICAgICwgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMikKKyAgICAsIHR5cGVuYW1lIE4zID0gbmEsIHR5cGVuYW1lIE40ID0gbmEsIHR5cGVuYW1lIE41ID0gbmEKKyAgICA+CitzdHJ1Y3QgYml0b3JfCisKKyAgICA6IGlmXzwKKworICAgICAgICAgIGlzX25hPE4zPgorICAgICAgICAsIGJpdG9yXzI8IE4xLE4yID4KKyAgICAgICAgLCBiaXRvcl88CisgICAgICAgICAgICAgIGJpdG9yXzI8IE4xLE4yID4KKyAgICAgICAgICAgICwgTjMsIE40LCBONQorICAgICAgICAgICAgPgorICAgICAgICA+Ojp0eXBlCisKK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKAorICAgICAgICAgIDUKKyAgICAgICAgLCBiaXRvcl8KKyAgICAgICAgLCAoIE4xLCBOMiwgTjMsIE40LCBONSApCisgICAgICAgICkKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgTjEKKyAgICAsIHR5cGVuYW1lIE4yCisgICAgPgorc3RydWN0IGJpdG9yXzIKKyAgICA6IGJpdG9yX2ltcGw8CisgICAgICAgICAgdHlwZW5hbWUgYml0b3JfdGFnPE4xPjo6dHlwZQorICAgICAgICAsIHR5cGVuYW1lIGJpdG9yX3RhZzxOMj46OnR5cGUKKyAgICAgICAgPjo6dGVtcGxhdGUgYXBwbHk8IE4xLE4yID46OnR5cGUKK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKDIsIGJpdG9yXzIsIChOMSwgTjIpKQorCit9OworCitCT09TVF9NUExfQVVYX05BX1NQRUMyKDIsIDUsIGJpdG9yXykKKworfX0KKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7Cit0ZW1wbGF0ZTw+CitzdHJ1Y3QgYml0b3JfaW1wbDwgaW50ZWdyYWxfY190YWcsaW50ZWdyYWxfY190YWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBOMSwgdHlwZW5hbWUgTjIgPiBzdHJ1Y3QgYXBwbHkKKworICAgICAgICA6IGludGVncmFsX2M8CisgICAgICAgICAgICAgIHR5cGVuYW1lIGF1eDo6bGFyZ2VzdF9pbnQ8CisgICAgICAgICAgICAgICAgICB0eXBlbmFtZSBOMTo6dmFsdWVfdHlwZQorICAgICAgICAgICAgICAgICwgdHlwZW5hbWUgTjI6OnZhbHVlX3R5cGUKKyAgICAgICAgICAgICAgICA+Ojp0eXBlCisgICAgICAgICAgICAsICggQk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4xKTo6dmFsdWUKKyAgICAgICAgICAgICAgICAgIHwgQk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4yKTo6dmFsdWUKKyAgICAgICAgICAgICAgICApCisgICAgICAgICAgICA+CisgICAgeworICAgIH07Cit9OworCit9fQpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL25vX2N0cHMvYml0eG9yLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9ub19jdHBzL2JpdHhvci5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjBkMmEyNgotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9ub19jdHBzL2JpdHhvci5ocHAKQEAgLTAsMCArMSwxMzQgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLyBDb3B5cmlnaHQgSmFhcCBTdXRlciAyMDAzCisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL2JpdHhvci5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUYWcxCisgICAgLCB0eXBlbmFtZSBUYWcyCisgICAgPgorc3RydWN0IGJpdHhvcl9pbXBsCisgICAgOiBpZl9jPAorICAgICAgICAgICggQk9PU1RfTVBMX0FVWF9ORVNURURfVkFMVUVfV0tORChpbnQsIFRhZzEpCisgICAgICAgICAgICAgID4gQk9PU1RfTVBMX0FVWF9ORVNURURfVkFMVUVfV0tORChpbnQsIFRhZzIpCisgICAgICAgICAgICApCisKKyAgICAgICAgLCBhdXg6OmNhc3QybmRfaW1wbDwgYml0eG9yX2ltcGw8IFRhZzEsVGFnMSA+LFRhZzEsIFRhZzIgPgorICAgICAgICAsIGF1eDo6Y2FzdDFzdF9pbXBsPCBiaXR4b3JfaW1wbDwgVGFnMixUYWcyID4sVGFnMSwgVGFnMiA+CisgICAgICAgID46OnR5cGUKK3sKK307CisKKy8vLyBmb3IgRGlnaXRhbCBNYXJzIEMrKy9jb21waWxlcnMgd2l0aCBubyBDVFBTL1RUUCBzdXBwb3J0Cit0ZW1wbGF0ZTw+IHN0cnVjdCBiaXR4b3JfaW1wbDwgbmEsbmEgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4gc3RydWN0IGJpdHhvcl9pbXBsPCBuYSxpbnRlZ3JhbF9jX3RhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgYml0eG9yX2ltcGw8IGludGVncmFsX2NfdGFnLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVCA+IHN0cnVjdCBiaXR4b3JfdGFnCit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBUOjp0YWcgdHlwZTsKK307CisKKy8vLyBmb3J3YXJkIGRlY2xhcmF0aW9uCisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMSkKKyAgICAsIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjIpCisgICAgPgorc3RydWN0IGJpdHhvcl8yOworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjEpCisgICAgLCB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4yKQorICAgICwgdHlwZW5hbWUgTjMgPSBuYSwgdHlwZW5hbWUgTjQgPSBuYSwgdHlwZW5hbWUgTjUgPSBuYQorICAgID4KK3N0cnVjdCBiaXR4b3JfCisKKyAgICA6IGlmXzwKKworICAgICAgICAgIGlzX25hPE4zPgorICAgICAgICAsIGJpdHhvcl8yPCBOMSxOMiA+CisgICAgICAgICwgYml0eG9yXzwKKyAgICAgICAgICAgICAgYml0eG9yXzI8IE4xLE4yID4KKyAgICAgICAgICAgICwgTjMsIE40LCBONQorICAgICAgICAgICAgPgorICAgICAgICA+Ojp0eXBlCisKK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKAorICAgICAgICAgIDUKKyAgICAgICAgLCBiaXR4b3JfCisgICAgICAgICwgKCBOMSwgTjIsIE4zLCBONCwgTjUgKQorICAgICAgICApCit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIE4xCisgICAgLCB0eXBlbmFtZSBOMgorICAgID4KK3N0cnVjdCBiaXR4b3JfMgorICAgIDogYml0eG9yX2ltcGw8CisgICAgICAgICAgdHlwZW5hbWUgYml0eG9yX3RhZzxOMT46OnR5cGUKKyAgICAgICAgLCB0eXBlbmFtZSBiaXR4b3JfdGFnPE4yPjo6dHlwZQorICAgICAgICA+Ojp0ZW1wbGF0ZSBhcHBseTwgTjEsTjIgPjo6dHlwZQoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoMiwgYml0eG9yXzIsIChOMSwgTjIpKQorCit9OworCitCT09TVF9NUExfQVVYX05BX1NQRUMyKDIsIDUsIGJpdHhvcl8pCisKK319CisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgewordGVtcGxhdGU8Pgorc3RydWN0IGJpdHhvcl9pbXBsPCBpbnRlZ3JhbF9jX3RhZyxpbnRlZ3JhbF9jX3RhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIE4xLCB0eXBlbmFtZSBOMiA+IHN0cnVjdCBhcHBseQorCisgICAgICAgIDogaW50ZWdyYWxfYzwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgYXV4OjpsYXJnZXN0X2ludDwKKyAgICAgICAgICAgICAgICAgIHR5cGVuYW1lIE4xOjp2YWx1ZV90eXBlCisgICAgICAgICAgICAgICAgLCB0eXBlbmFtZSBOMjo6dmFsdWVfdHlwZQorICAgICAgICAgICAgICAgID46OnR5cGUKKyAgICAgICAgICAgICwgKCBCT09TVF9NUExfQVVYX1ZBTFVFX1dLTkQoTjEpOjp2YWx1ZQorICAgICAgICAgICAgICAgICAgXiBCT09TVF9NUExfQVVYX1ZBTFVFX1dLTkQoTjIpOjp2YWx1ZQorICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgID4KKyAgICB7CisgICAgfTsKK307CisKK319CmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fY3Rwcy9kZXF1ZS5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fY3Rwcy9kZXF1ZS5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGE3ZTJjMwotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9ub19jdHBzL2RlcXVlLmhwcApAQCAtMCwwICsxLDU1NiBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvZGVxdWUuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK25hbWVzcGFjZSBhdXggewordGVtcGxhdGU8IGludCBOID4KK3N0cnVjdCBkZXF1ZV9jaG9vc2VyOworCit9CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgZGVxdWVfY2hvb3NlcjwwPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjA8CisgICAgICAgICAgICAgCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgZGVxdWVfY2hvb3NlcjwxPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjE8CisgICAgICAgICAgICAgIFQwCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgZGVxdWVfY2hvb3NlcjwyPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjI8CisgICAgICAgICAgICAgIFQwLCBUMQorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IGRlcXVlX2Nob29zZXI8Mz4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IzPAorICAgICAgICAgICAgICBUMCwgVDEsIFQyCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgZGVxdWVfY2hvb3Nlcjw0PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjQ8CisgICAgICAgICAgICAgIFQwLCBUMSwgVDIsIFQzCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgZGVxdWVfY2hvb3Nlcjw1PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjU8CisgICAgICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNAorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IGRlcXVlX2Nob29zZXI8Nj4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3I2PAorICAgICAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgZGVxdWVfY2hvb3Nlcjw3PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3Rvcjc8CisgICAgICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgZGVxdWVfY2hvb3Nlcjw4PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3Rvcjg8CisgICAgICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNworICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IGRlcXVlX2Nob29zZXI8OT4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3I5PAorICAgICAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgZGVxdWVfY2hvb3NlcjwxMD4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxMDwKKyAgICAgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDkKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBkZXF1ZV9jaG9vc2VyPDExPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjExPAorICAgICAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgZGVxdWVfY2hvb3NlcjwxMj4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxMjwKKyAgICAgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgZGVxdWVfY2hvb3NlcjwxMz4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxMzwKKyAgICAgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBkZXF1ZV9jaG9vc2VyPDE0PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjE0PAorICAgICAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgZGVxdWVfY2hvb3NlcjwxNT4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxNTwKKyAgICAgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgZGVxdWVfY2hvb3NlcjwxNj4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxNjwKKyAgICAgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0LCBUMTUKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBkZXF1ZV9jaG9vc2VyPDE3PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjE3PAorICAgICAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQsIFQxNSwgVDE2CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgZGVxdWVfY2hvb3NlcjwxOD4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxODwKKyAgICAgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0LCBUMTUsIFQxNiwgVDE3CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgZGVxdWVfY2hvb3NlcjwxOT4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxOTwKKyAgICAgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0LCBUMTUsIFQxNiwgVDE3LCBUMTgKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBkZXF1ZV9jaG9vc2VyPDIwPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjIwPAorICAgICAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQsIFQxNSwgVDE2LCBUMTcsIFQxOCwgVDE5CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVCA+CitzdHJ1Y3QgaXNfZGVxdWVfYXJnCit7CisgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGJvb2wsIHZhbHVlICA9IHRydWUpOworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGlzX2RlcXVlX2FyZzxuYT4KK3sKKyAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoYm9vbCwgdmFsdWUgID0gZmFsc2UpOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNCwgdHlwZW5hbWUgVDUKKyAgICAsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5LCB0eXBlbmFtZSBUMTAKKyAgICAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNCwgdHlwZW5hbWUgVDE1CisgICAgLCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTksIHR5cGVuYW1lIFQyMAorICAgID4KK3N0cnVjdCBkZXF1ZV9jb3VudF9hcmdzCit7CisgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgPQorICAgICAgICAgIGlzX2RlcXVlX2FyZzxUMT46OnZhbHVlICsgaXNfZGVxdWVfYXJnPFQyPjo6dmFsdWUgCisgICAgICAgICsgaXNfZGVxdWVfYXJnPFQzPjo6dmFsdWUgKyBpc19kZXF1ZV9hcmc8VDQ+Ojp2YWx1ZSAKKyAgICAgICAgKyBpc19kZXF1ZV9hcmc8VDU+Ojp2YWx1ZSArIGlzX2RlcXVlX2FyZzxUNj46OnZhbHVlIAorICAgICAgICArIGlzX2RlcXVlX2FyZzxUNz46OnZhbHVlICsgaXNfZGVxdWVfYXJnPFQ4Pjo6dmFsdWUgCisgICAgICAgICsgaXNfZGVxdWVfYXJnPFQ5Pjo6dmFsdWUgKyBpc19kZXF1ZV9hcmc8VDEwPjo6dmFsdWUgCisgICAgICAgICsgaXNfZGVxdWVfYXJnPFQxMT46OnZhbHVlICsgaXNfZGVxdWVfYXJnPFQxMj46OnZhbHVlIAorICAgICAgICArIGlzX2RlcXVlX2FyZzxUMTM+Ojp2YWx1ZSArIGlzX2RlcXVlX2FyZzxUMTQ+Ojp2YWx1ZSAKKyAgICAgICAgKyBpc19kZXF1ZV9hcmc8VDE1Pjo6dmFsdWUgKyBpc19kZXF1ZV9hcmc8VDE2Pjo6dmFsdWUgCisgICAgICAgICsgaXNfZGVxdWVfYXJnPFQxNz46OnZhbHVlICsgaXNfZGVxdWVfYXJnPFQxOD46OnZhbHVlIAorICAgICAgICArIGlzX2RlcXVlX2FyZzxUMTk+Ojp2YWx1ZSArIGlzX2RlcXVlX2FyZzxUMjA+Ojp2YWx1ZQorICAgICAgICApOworCit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICA+CitzdHJ1Y3QgZGVxdWVfaW1wbAoreworICAgIHR5cGVkZWYgYXV4OjpkZXF1ZV9jb3VudF9hcmdzPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNCwgVDE1LCBUMTYsIFQxNywgVDE4LCBUMTkKKyAgICAgICAgPiBhcmdfbnVtXzsKKworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXV4OjpkZXF1ZV9jaG9vc2VyPCBhcmdfbnVtXzo6dmFsdWUgPgorICAgICAgICA6OnRlbXBsYXRlIHJlc3VsdF88IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyxUMTQsVDE1LFQxNixUMTcsVDE4LFQxOSA+Ojp0eXBlIHR5cGU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCA9IG5hLCB0eXBlbmFtZSBUMSA9IG5hLCB0eXBlbmFtZSBUMiA9IG5hLCB0eXBlbmFtZSBUMyA9IG5hCisgICAgLCB0eXBlbmFtZSBUNCA9IG5hLCB0eXBlbmFtZSBUNSA9IG5hLCB0eXBlbmFtZSBUNiA9IG5hLCB0eXBlbmFtZSBUNyA9IG5hCisgICAgLCB0eXBlbmFtZSBUOCA9IG5hLCB0eXBlbmFtZSBUOSA9IG5hLCB0eXBlbmFtZSBUMTAgPSBuYSwgdHlwZW5hbWUgVDExID0gbmEKKyAgICAsIHR5cGVuYW1lIFQxMiA9IG5hLCB0eXBlbmFtZSBUMTMgPSBuYSwgdHlwZW5hbWUgVDE0ID0gbmEKKyAgICAsIHR5cGVuYW1lIFQxNSA9IG5hLCB0eXBlbmFtZSBUMTYgPSBuYSwgdHlwZW5hbWUgVDE3ID0gbmEKKyAgICAsIHR5cGVuYW1lIFQxOCA9IG5hLCB0eXBlbmFtZSBUMTkgPSBuYQorICAgID4KK3N0cnVjdCBkZXF1ZQorICAgIDogYXV4OjpkZXF1ZV9pbXBsPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNCwgVDE1LCBUMTYsIFQxNywgVDE4LCBUMTkKKyAgICAgICAgPjo6dHlwZQoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXV4OjpkZXF1ZV9pbXBsPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNCwgVDE1LCBUMTYsIFQxNywgVDE4LCBUMTkKKyAgICAgICAgPjo6dHlwZSB0eXBlOworfTsKKworfX0KKwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL25vX2N0cHMvZGl2aWRlcy5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fY3Rwcy9kaXZpZGVzLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMDQwYjk4Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL25vX2N0cHMvZGl2aWRlcy5ocHAKQEAgLTAsMCArMSwxMzMgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL2RpdmlkZXMuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVGFnMQorICAgICwgdHlwZW5hbWUgVGFnMgorICAgID4KK3N0cnVjdCBkaXZpZGVzX2ltcGwKKyAgICA6IGlmX2M8CisgICAgICAgICAgKCBCT09TVF9NUExfQVVYX05FU1RFRF9WQUxVRV9XS05EKGludCwgVGFnMSkKKyAgICAgICAgICAgICAgPiBCT09TVF9NUExfQVVYX05FU1RFRF9WQUxVRV9XS05EKGludCwgVGFnMikKKyAgICAgICAgICAgICkKKworICAgICAgICAsIGF1eDo6Y2FzdDJuZF9pbXBsPCBkaXZpZGVzX2ltcGw8IFRhZzEsVGFnMSA+LFRhZzEsIFRhZzIgPgorICAgICAgICAsIGF1eDo6Y2FzdDFzdF9pbXBsPCBkaXZpZGVzX2ltcGw8IFRhZzIsVGFnMiA+LFRhZzEsIFRhZzIgPgorICAgICAgICA+Ojp0eXBlCit7Cit9OworCisvLy8gZm9yIERpZ2l0YWwgTWFycyBDKysvY29tcGlsZXJzIHdpdGggbm8gQ1RQUy9UVFAgc3VwcG9ydAordGVtcGxhdGU8PiBzdHJ1Y3QgZGl2aWRlc19pbXBsPCBuYSxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgZGl2aWRlc19pbXBsPCBuYSxpbnRlZ3JhbF9jX3RhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgZGl2aWRlc19pbXBsPCBpbnRlZ3JhbF9jX3RhZyxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFQgPiBzdHJ1Y3QgZGl2aWRlc190YWcKK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIFQ6OnRhZyB0eXBlOworfTsKKworLy8vIGZvcndhcmQgZGVjbGFyYXRpb24KKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4xKQorICAgICwgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMikKKyAgICA+CitzdHJ1Y3QgZGl2aWRlczI7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMSkKKyAgICAsIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjIpCisgICAgLCB0eXBlbmFtZSBOMyA9IG5hLCB0eXBlbmFtZSBONCA9IG5hLCB0eXBlbmFtZSBONSA9IG5hCisgICAgPgorc3RydWN0IGRpdmlkZXMKKworICAgIDogaWZfPAorCisgICAgICAgICAgaXNfbmE8TjM+CisgICAgICAgICwgZGl2aWRlczI8IE4xLE4yID4KKyAgICAgICAgLCBkaXZpZGVzPAorICAgICAgICAgICAgICBkaXZpZGVzMjwgTjEsTjIgPgorICAgICAgICAgICAgLCBOMywgTjQsIE41CisgICAgICAgICAgICA+CisgICAgICAgID46OnR5cGUKKworeworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoCisgICAgICAgICAgNQorICAgICAgICAsIGRpdmlkZXMKKyAgICAgICAgLCAoIE4xLCBOMiwgTjMsIE40LCBONSApCisgICAgICAgICkKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgTjEKKyAgICAsIHR5cGVuYW1lIE4yCisgICAgPgorc3RydWN0IGRpdmlkZXMyCisgICAgOiBkaXZpZGVzX2ltcGw8CisgICAgICAgICAgdHlwZW5hbWUgZGl2aWRlc190YWc8TjE+Ojp0eXBlCisgICAgICAgICwgdHlwZW5hbWUgZGl2aWRlc190YWc8TjI+Ojp0eXBlCisgICAgICAgID46OnRlbXBsYXRlIGFwcGx5PCBOMSxOMiA+Ojp0eXBlCit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgyLCBkaXZpZGVzMiwgKE4xLCBOMikpCisKK307CisKK0JPT1NUX01QTF9BVVhfTkFfU1BFQzIoMiwgNSwgZGl2aWRlcykKKworfX0KKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7Cit0ZW1wbGF0ZTw+CitzdHJ1Y3QgZGl2aWRlc19pbXBsPCBpbnRlZ3JhbF9jX3RhZyxpbnRlZ3JhbF9jX3RhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIE4xLCB0eXBlbmFtZSBOMiA+IHN0cnVjdCBhcHBseQorCisgICAgICAgIDogaW50ZWdyYWxfYzwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgYXV4OjpsYXJnZXN0X2ludDwKKyAgICAgICAgICAgICAgICAgIHR5cGVuYW1lIE4xOjp2YWx1ZV90eXBlCisgICAgICAgICAgICAgICAgLCB0eXBlbmFtZSBOMjo6dmFsdWVfdHlwZQorICAgICAgICAgICAgICAgID46OnR5cGUKKyAgICAgICAgICAgICwgKCBCT09TVF9NUExfQVVYX1ZBTFVFX1dLTkQoTjEpOjp2YWx1ZQorICAgICAgICAgICAgICAgICAgLyBCT09TVF9NUExfQVVYX1ZBTFVFX1dLTkQoTjIpOjp2YWx1ZQorICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgID4KKyAgICB7CisgICAgfTsKK307CisKK319CmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fY3Rwcy9lcXVhbF90by5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fY3Rwcy9lcXVhbF90by5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWI0NTZiYwotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9ub19jdHBzL2VxdWFsX3RvLmhwcApAQCAtMCwwICsxLDk0IEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9lcXVhbF90by5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUYWcxCisgICAgLCB0eXBlbmFtZSBUYWcyCisgICAgPgorc3RydWN0IGVxdWFsX3RvX2ltcGwKKyAgICA6IGlmX2M8CisgICAgICAgICAgKCBCT09TVF9NUExfQVVYX05FU1RFRF9WQUxVRV9XS05EKGludCwgVGFnMSkKKyAgICAgICAgICAgICAgPiBCT09TVF9NUExfQVVYX05FU1RFRF9WQUxVRV9XS05EKGludCwgVGFnMikKKyAgICAgICAgICAgICkKKworICAgICAgICAsIGF1eDo6Y2FzdDJuZF9pbXBsPCBlcXVhbF90b19pbXBsPCBUYWcxLFRhZzEgPixUYWcxLCBUYWcyID4KKyAgICAgICAgLCBhdXg6OmNhc3Qxc3RfaW1wbDwgZXF1YWxfdG9faW1wbDwgVGFnMixUYWcyID4sVGFnMSwgVGFnMiA+CisgICAgICAgID46OnR5cGUKK3sKK307CisKKy8vLyBmb3IgRGlnaXRhbCBNYXJzIEMrKy9jb21waWxlcnMgd2l0aCBubyBDVFBTL1RUUCBzdXBwb3J0Cit0ZW1wbGF0ZTw+IHN0cnVjdCBlcXVhbF90b19pbXBsPCBuYSxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgZXF1YWxfdG9faW1wbDwgbmEsaW50ZWdyYWxfY190YWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4gc3RydWN0IGVxdWFsX3RvX2ltcGw8IGludGVncmFsX2NfdGFnLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVCA+IHN0cnVjdCBlcXVhbF90b190YWcKK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIFQ6OnRhZyB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4xKQorICAgICwgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMikKKyAgICA+CitzdHJ1Y3QgZXF1YWxfdG8KKworICAgIDogZXF1YWxfdG9faW1wbDwKKyAgICAgICAgICB0eXBlbmFtZSBlcXVhbF90b190YWc8TjE+Ojp0eXBlCisgICAgICAgICwgdHlwZW5hbWUgZXF1YWxfdG9fdGFnPE4yPjo6dHlwZQorICAgICAgICA+Ojp0ZW1wbGF0ZSBhcHBseTwgTjEsTjIgPjo6dHlwZQoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoMiwgZXF1YWxfdG8sIChOMSwgTjIpKQorCit9OworCitCT09TVF9NUExfQVVYX05BX1NQRUMyKDIsIDIsIGVxdWFsX3RvKQorCit9fQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8Pgorc3RydWN0IGVxdWFsX3RvX2ltcGw8IGludGVncmFsX2NfdGFnLGludGVncmFsX2NfdGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgTjEsIHR5cGVuYW1lIE4yID4gc3RydWN0IGFwcGx5CisKKyAgICAgICAgOiBib29sXzwgKCBCT09TVF9NUExfQVVYX1ZBTFVFX1dLTkQoTjEpOjp2YWx1ZSAgPT0gQk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4yKTo6dmFsdWUgKSA+CisgICAgeworICAgIH07Cit9OworCit9fQpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL25vX2N0cHMvZm9sZF9pbXBsLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9ub19jdHBzL2ZvbGRfaW1wbC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzRjYWNlNAotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9ub19jdHBzL2ZvbGRfaW1wbC5ocHAKQEAgLTAsMCArMSwyNDUgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL2F1eF8vZm9sZF9pbXBsLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeyBuYW1lc3BhY2UgYXV4IHsKKworLy8vIGZvcndhcmQgZGVjbGFyYXRpb24KKwordGVtcGxhdGU8CisgICAgICBpbnQgTgorICAgICwgdHlwZW5hbWUgRmlyc3QKKyAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+CitzdHJ1Y3QgZm9sZF9pbXBsOworCit0ZW1wbGF0ZTwgaW50IE4gPgorc3RydWN0IGZvbGRfY2h1bms7CisKK3RlbXBsYXRlPD4gc3RydWN0IGZvbGRfY2h1bms8MD4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBGaXJzdAorICAgICAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgRmlyc3QgaXRlcjA7CisgICAgICAgIHR5cGVkZWYgU3RhdGUgc3RhdGUwOworICAgICAgICB0eXBlZGVmIHN0YXRlMCBzdGF0ZTsKKyAgICAgICAgdHlwZWRlZiBpdGVyMCBpdGVyYXRvcjsKKyAgICB9OworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgZm9sZF9jaHVuazwxPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgICAgICwgdHlwZW5hbWUgTGFzdAorICAgICAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiBGaXJzdCBpdGVyMDsKKyAgICAgICAgdHlwZWRlZiBTdGF0ZSBzdGF0ZTA7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsIHN0YXRlMCwgdHlwZW5hbWUgZGVyZWY8aXRlcjA+Ojp0eXBlID46OnR5cGUgc3RhdGUxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMD46OnR5cGUgaXRlcjE7CisgICAgICAgIAorCisgICAgICAgIHR5cGVkZWYgc3RhdGUxIHN0YXRlOworICAgICAgICB0eXBlZGVmIGl0ZXIxIGl0ZXJhdG9yOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCBmb2xkX2NodW5rPDI+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIEZpcnN0IGl0ZXIwOworICAgICAgICB0eXBlZGVmIFN0YXRlIHN0YXRlMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCwgc3RhdGUwLCB0eXBlbmFtZSBkZXJlZjxpdGVyMD46OnR5cGUgPjo6dHlwZSBzdGF0ZTE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIwPjo6dHlwZSBpdGVyMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCwgc3RhdGUxLCB0eXBlbmFtZSBkZXJlZjxpdGVyMT46OnR5cGUgPjo6dHlwZSBzdGF0ZTI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIxPjo6dHlwZSBpdGVyMjsKKyAgICAgICAgCisKKyAgICAgICAgdHlwZWRlZiBzdGF0ZTIgc3RhdGU7CisgICAgICAgIHR5cGVkZWYgaXRlcjIgaXRlcmF0b3I7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4gc3RydWN0IGZvbGRfY2h1bms8Mz4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBGaXJzdAorICAgICAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgRmlyc3QgaXRlcjA7CisgICAgICAgIHR5cGVkZWYgU3RhdGUgc3RhdGUwOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLCBzdGF0ZTAsIHR5cGVuYW1lIGRlcmVmPGl0ZXIwPjo6dHlwZSA+Ojp0eXBlIHN0YXRlMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjA+Ojp0eXBlIGl0ZXIxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLCBzdGF0ZTEsIHR5cGVuYW1lIGRlcmVmPGl0ZXIxPjo6dHlwZSA+Ojp0eXBlIHN0YXRlMjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjE+Ojp0eXBlIGl0ZXIyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLCBzdGF0ZTIsIHR5cGVuYW1lIGRlcmVmPGl0ZXIyPjo6dHlwZSA+Ojp0eXBlIHN0YXRlMzsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjI+Ojp0eXBlIGl0ZXIzOworICAgICAgICAKKworICAgICAgICB0eXBlZGVmIHN0YXRlMyBzdGF0ZTsKKyAgICAgICAgdHlwZWRlZiBpdGVyMyBpdGVyYXRvcjsKKyAgICB9OworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgZm9sZF9jaHVuazw0PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgICAgICwgdHlwZW5hbWUgTGFzdAorICAgICAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiBGaXJzdCBpdGVyMDsKKyAgICAgICAgdHlwZWRlZiBTdGF0ZSBzdGF0ZTA7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsIHN0YXRlMCwgdHlwZW5hbWUgZGVyZWY8aXRlcjA+Ojp0eXBlID46OnR5cGUgc3RhdGUxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMD46OnR5cGUgaXRlcjE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsIHN0YXRlMSwgdHlwZW5hbWUgZGVyZWY8aXRlcjE+Ojp0eXBlID46OnR5cGUgc3RhdGUyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMT46OnR5cGUgaXRlcjI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsIHN0YXRlMiwgdHlwZW5hbWUgZGVyZWY8aXRlcjI+Ojp0eXBlID46OnR5cGUgc3RhdGUzOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMj46OnR5cGUgaXRlcjM7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsIHN0YXRlMywgdHlwZW5hbWUgZGVyZWY8aXRlcjM+Ojp0eXBlID46OnR5cGUgc3RhdGU0OworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMz46OnR5cGUgaXRlcjQ7CisgICAgICAgIAorCisgICAgICAgIHR5cGVkZWYgc3RhdGU0IHN0YXRlOworICAgICAgICB0eXBlZGVmIGl0ZXI0IGl0ZXJhdG9yOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgaW50IE4gPgorc3RydWN0IGZvbGRfY2h1bmsKK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBGaXJzdAorICAgICAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgZm9sZF9pbXBsPAorICAgICAgICAgICAgICA0CisgICAgICAgICAgICAsIEZpcnN0CisgICAgICAgICAgICAsIExhc3QKKyAgICAgICAgICAgICwgU3RhdGUKKyAgICAgICAgICAgICwgRm9yd2FyZE9wCisgICAgICAgICAgICA+IGNodW5rXzsKKworICAgICAgICB0eXBlZGVmIGZvbGRfaW1wbDwKKyAgICAgICAgICAgICAgKCAoTiAtIDQpIDwgMCA/IDAgOiBOIC0gNCApCisgICAgICAgICAgICAsIHR5cGVuYW1lIGNodW5rXzo6aXRlcmF0b3IKKyAgICAgICAgICAgICwgTGFzdAorICAgICAgICAgICAgLCB0eXBlbmFtZSBjaHVua186OnN0YXRlCisgICAgICAgICAgICAsIEZvcndhcmRPcAorICAgICAgICAgICAgPiByZXNfOworCisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcmVzXzo6c3RhdGUgc3RhdGU7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcmVzXzo6aXRlcmF0b3IgaXRlcmF0b3I7CisgICAgfTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+CitzdHJ1Y3QgZm9sZF9zdGVwOworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgPgorc3RydWN0IGZvbGRfbnVsbF9zdGVwCit7CisgICAgdHlwZWRlZiBMYXN0IGl0ZXJhdG9yOworICAgIHR5cGVkZWYgU3RhdGUgc3RhdGU7Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgZm9sZF9jaHVuazwgLTEgPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgICAgICwgdHlwZW5hbWUgTGFzdAorICAgICAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBpZl88CisgICAgICAgICAgICAgIHR5cGVuYW1lIGlzX3NhbWU8IEZpcnN0LExhc3QgPjo6dHlwZQorICAgICAgICAgICAgLCBmb2xkX251bGxfc3RlcDwgTGFzdCxTdGF0ZSA+CisgICAgICAgICAgICAsIGZvbGRfc3RlcDwgRmlyc3QsTGFzdCxTdGF0ZSxGb3J3YXJkT3AgPgorICAgICAgICAgICAgPjo6dHlwZSByZXNfOworCisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcmVzXzo6c3RhdGUgc3RhdGU7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcmVzXzo6aXRlcmF0b3IgaXRlcmF0b3I7CisgICAgfTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+CitzdHJ1Y3QgZm9sZF9zdGVwCit7CisgICAgdHlwZWRlZiBmb2xkX2NodW5rPCAtMSA+Ojp0ZW1wbGF0ZSByZXN1bHRfPAorICAgICAgICAgIHR5cGVuYW1lIG1wbDo6bmV4dDxGaXJzdD46OnR5cGUKKyAgICAgICAgLCBMYXN0CisgICAgICAgICwgdHlwZW5hbWUgYXBwbHkyPEZvcndhcmRPcCxTdGF0ZSwgdHlwZW5hbWUgZGVyZWY8Rmlyc3Q+Ojp0eXBlPjo6dHlwZQorICAgICAgICAsIEZvcndhcmRPcAorICAgICAgICA+IGNodW5rXzsKKworICAgIHR5cGVkZWYgdHlwZW5hbWUgY2h1bmtfOjpzdGF0ZSBzdGF0ZTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGNodW5rXzo6aXRlcmF0b3IgaXRlcmF0b3I7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIGludCBOCisgICAgLCB0eXBlbmFtZSBGaXJzdAorICAgICwgdHlwZW5hbWUgTGFzdAorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgID4KK3N0cnVjdCBmb2xkX2ltcGwKKyAgICA6IGZvbGRfY2h1bms8Tj4KKyAgICAgICAgOjp0ZW1wbGF0ZSByZXN1bHRfPCBGaXJzdCxMYXN0LFN0YXRlLEZvcndhcmRPcCA+Cit7Cit9OworCit9fX0KZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9ub19jdHBzL2Z1bGxfbGFtYmRhLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9ub19jdHBzL2Z1bGxfbGFtYmRhLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kZTY1OGQ4Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL25vX2N0cHMvZnVsbF9sYW1iZGEuaHBwCkBAIC0wLDAgKzEsNTU0IEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDEtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9hdXhfL2Z1bGxfbGFtYmRhLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8CisgICAgICBib29sIEMxID0gZmFsc2UsIGJvb2wgQzIgPSBmYWxzZSwgYm9vbCBDMyA9IGZhbHNlLCBib29sIEM0ID0gZmFsc2UKKyAgICAsIGJvb2wgQzUgPSBmYWxzZQorICAgID4KK3N0cnVjdCBsYW1iZGFfb3IKKyAgICA6IHRydWVfCit7Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgbGFtYmRhX29yPCBmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSA+CisgICAgOiBmYWxzZV8KK3sKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQKKyAgICAsIHR5cGVuYW1lIFRhZworICAgCisgICAgPgorc3RydWN0IGxhbWJkYQoreworICAgIHR5cGVkZWYgZmFsc2VfIGlzX2xlOworICAgIHR5cGVkZWYgVCByZXN1bHRfOworICAgIHR5cGVkZWYgVCB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUCisgICAgPgorc3RydWN0IGlzX2xhbWJkYV9leHByZXNzaW9uCisgICAgOiBsYW1iZGE8VD46OmlzX2xlCit7Cit9OworCit0ZW1wbGF0ZTwgaW50IE4sIHR5cGVuYW1lIFRhZyA+CitzdHJ1Y3QgbGFtYmRhPCBhcmc8Tj4sIFRhZyA+Cit7CisgICAgdHlwZWRlZiB0cnVlXyBpc19sZTsKKyAgICB0eXBlZGVmIG1wbDo6YXJnPE4+IHJlc3VsdF87IC8vIHF1YWxpZmllZCBmb3IgdGhlIHNha2Ugb2YgTUlQU3BybyA3LjQxCisgICAgdHlwZWRlZiBtcGw6OnByb3RlY3Q8cmVzdWx0Xz4gdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRgorICAgICwgdHlwZW5hbWUgVGFnCisgICAgPgorc3RydWN0IGxhbWJkYTwKKyAgICAgICAgICBiaW5kMDxGPgorICAgICAgICAsIFRhZworICAgICAgIAorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiBmYWxzZV8gaXNfbGU7CisgICAgdHlwZWRlZiBiaW5kMDwKKyAgICAgICAgICBGCisgICAgICAgID4gcmVzdWx0XzsKKworICAgIHR5cGVkZWYgcmVzdWx0XyB0eXBlOworfTsKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgSXNMRSwgdHlwZW5hbWUgVGFnCisgICAgLCB0ZW1wbGF0ZTwgdHlwZW5hbWUgUDEgPiBjbGFzcyBGCisgICAgLCB0eXBlbmFtZSBMMQorICAgID4KK3N0cnVjdCBsZV9yZXN1bHQxCit7CisgICAgdHlwZWRlZiBGPAorICAgICAgICAgIHR5cGVuYW1lIEwxOjp0eXBlCisgICAgICAgID4gcmVzdWx0XzsKKworICAgIHR5cGVkZWYgcmVzdWx0XyB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUYWcKKyAgICAsIHRlbXBsYXRlPCB0eXBlbmFtZSBQMSA+IGNsYXNzIEYKKyAgICAsIHR5cGVuYW1lIEwxCisgICAgPgorc3RydWN0IGxlX3Jlc3VsdDE8IHRydWVfLFRhZyxGLEwxID4KK3sKKyAgICB0eXBlZGVmIGJpbmQxPAorICAgICAgICAgIHF1b3RlMTwgRixUYWcgPgorICAgICAgICAsIHR5cGVuYW1lIEwxOjpyZXN1bHRfCisgICAgICAgID4gcmVzdWx0XzsKKworICAgIHR5cGVkZWYgbXBsOjpwcm90ZWN0PHJlc3VsdF8+IHR5cGU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKwordGVtcGxhdGU8CisgICAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgUDEgPiBjbGFzcyBGCisgICAgLCB0eXBlbmFtZSBUMQorICAgICwgdHlwZW5hbWUgVGFnCisgICAgPgorc3RydWN0IGxhbWJkYTwKKyAgICAgICAgICBGPFQxPgorICAgICAgICAsIFRhZworICAgICAgIAorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiBsYW1iZGE8IFQxLFRhZyA+IGwxOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbDE6OmlzX2xlIGlzX2xlMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGF1eDo6bGFtYmRhX29yPAorICAgICAgICAgIGlzX2xlMTo6dmFsdWUKKyAgICAgICAgPjo6dHlwZSBpc19sZTsKKworICAgIHR5cGVkZWYgYXV4OjpsZV9yZXN1bHQxPAorICAgICAgICAgIGlzX2xlLCBUYWcsIEYsIGwxCisgICAgICAgID4gbGVfcmVzdWx0XzsKKworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGVfcmVzdWx0Xzo6cmVzdWx0XyByZXN1bHRfOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGVfcmVzdWx0Xzo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMQorICAgICwgdHlwZW5hbWUgVGFnCisgICAgPgorc3RydWN0IGxhbWJkYTwKKyAgICAgICAgICBiaW5kMTwgRixUMSA+CisgICAgICAgICwgVGFnCisgICAgICAgCisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIGZhbHNlXyBpc19sZTsKKyAgICB0eXBlZGVmIGJpbmQxPAorICAgICAgICAgIEYKKyAgICAgICAgLCBUMQorICAgICAgICA+IHJlc3VsdF87CisKKyAgICB0eXBlZGVmIHJlc3VsdF8gdHlwZTsKK307CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIElzTEUsIHR5cGVuYW1lIFRhZworICAgICwgdGVtcGxhdGU8IHR5cGVuYW1lIFAxLCB0eXBlbmFtZSBQMiA+IGNsYXNzIEYKKyAgICAsIHR5cGVuYW1lIEwxLCB0eXBlbmFtZSBMMgorICAgID4KK3N0cnVjdCBsZV9yZXN1bHQyCit7CisgICAgdHlwZWRlZiBGPAorICAgICAgICAgIHR5cGVuYW1lIEwxOjp0eXBlLCB0eXBlbmFtZSBMMjo6dHlwZQorICAgICAgICA+IHJlc3VsdF87CisKKyAgICB0eXBlZGVmIHJlc3VsdF8gdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVGFnCisgICAgLCB0ZW1wbGF0ZTwgdHlwZW5hbWUgUDEsIHR5cGVuYW1lIFAyID4gY2xhc3MgRgorICAgICwgdHlwZW5hbWUgTDEsIHR5cGVuYW1lIEwyCisgICAgPgorc3RydWN0IGxlX3Jlc3VsdDI8IHRydWVfLFRhZyxGLEwxLEwyID4KK3sKKyAgICB0eXBlZGVmIGJpbmQyPAorICAgICAgICAgIHF1b3RlMjwgRixUYWcgPgorICAgICAgICAsIHR5cGVuYW1lIEwxOjpyZXN1bHRfLCB0eXBlbmFtZSBMMjo6cmVzdWx0XworICAgICAgICA+IHJlc3VsdF87CisKKyAgICB0eXBlZGVmIG1wbDo6cHJvdGVjdDxyZXN1bHRfPiB0eXBlOworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK3RlbXBsYXRlPAorICAgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFAxLCB0eXBlbmFtZSBQMiA+IGNsYXNzIEYKKyAgICAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMgorICAgICwgdHlwZW5hbWUgVGFnCisgICAgPgorc3RydWN0IGxhbWJkYTwKKyAgICAgICAgICBGPCBUMSxUMiA+CisgICAgICAgICwgVGFnCisgICAgICAgCisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIGxhbWJkYTwgVDEsVGFnID4gbDE7CisgICAgdHlwZWRlZiBsYW1iZGE8IFQyLFRhZyA+IGwyOworICAgIAorICAgIHR5cGVkZWYgdHlwZW5hbWUgbDE6OmlzX2xlIGlzX2xlMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGwyOjppc19sZSBpc19sZTI7CisgICAgCisKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGF1eDo6bGFtYmRhX29yPAorICAgICAgICAgIGlzX2xlMTo6dmFsdWUsIGlzX2xlMjo6dmFsdWUKKyAgICAgICAgPjo6dHlwZSBpc19sZTsKKworICAgIHR5cGVkZWYgYXV4OjpsZV9yZXN1bHQyPAorICAgICAgICAgIGlzX2xlLCBUYWcsIEYsIGwxLCBsMgorICAgICAgICA+IGxlX3Jlc3VsdF87CisKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxlX3Jlc3VsdF86OnJlc3VsdF8gcmVzdWx0XzsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxlX3Jlc3VsdF86OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyCisgICAgLCB0eXBlbmFtZSBUYWcKKyAgICA+CitzdHJ1Y3QgbGFtYmRhPAorICAgICAgICAgIGJpbmQyPCBGLFQxLFQyID4KKyAgICAgICAgLCBUYWcKKyAgICAgICAKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgZmFsc2VfIGlzX2xlOworICAgIHR5cGVkZWYgYmluZDI8CisgICAgICAgICAgRgorICAgICAgICAsIFQxLCBUMgorICAgICAgICA+IHJlc3VsdF87CisKKyAgICB0eXBlZGVmIHJlc3VsdF8gdHlwZTsKK307CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIElzTEUsIHR5cGVuYW1lIFRhZworICAgICwgdGVtcGxhdGU8IHR5cGVuYW1lIFAxLCB0eXBlbmFtZSBQMiwgdHlwZW5hbWUgUDMgPiBjbGFzcyBGCisgICAgLCB0eXBlbmFtZSBMMSwgdHlwZW5hbWUgTDIsIHR5cGVuYW1lIEwzCisgICAgPgorc3RydWN0IGxlX3Jlc3VsdDMKK3sKKyAgICB0eXBlZGVmIEY8CisgICAgICAgICAgdHlwZW5hbWUgTDE6OnR5cGUsIHR5cGVuYW1lIEwyOjp0eXBlLCB0eXBlbmFtZSBMMzo6dHlwZQorICAgICAgICA+IHJlc3VsdF87CisKKyAgICB0eXBlZGVmIHJlc3VsdF8gdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVGFnCisgICAgLCB0ZW1wbGF0ZTwgdHlwZW5hbWUgUDEsIHR5cGVuYW1lIFAyLCB0eXBlbmFtZSBQMyA+IGNsYXNzIEYKKyAgICAsIHR5cGVuYW1lIEwxLCB0eXBlbmFtZSBMMiwgdHlwZW5hbWUgTDMKKyAgICA+CitzdHJ1Y3QgbGVfcmVzdWx0MzwgdHJ1ZV8sVGFnLEYsTDEsTDIsTDMgPgoreworICAgIHR5cGVkZWYgYmluZDM8CisgICAgICAgICAgcXVvdGUzPCBGLFRhZyA+CisgICAgICAgICwgdHlwZW5hbWUgTDE6OnJlc3VsdF8sIHR5cGVuYW1lIEwyOjpyZXN1bHRfLCB0eXBlbmFtZSBMMzo6cmVzdWx0XworICAgICAgICA+IHJlc3VsdF87CisKKyAgICB0eXBlZGVmIG1wbDo6cHJvdGVjdDxyZXN1bHRfPiB0eXBlOworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK3RlbXBsYXRlPAorICAgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFAxLCB0eXBlbmFtZSBQMiwgdHlwZW5hbWUgUDMgPiBjbGFzcyBGCisgICAgLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzCisgICAgLCB0eXBlbmFtZSBUYWcKKyAgICA+CitzdHJ1Y3QgbGFtYmRhPAorICAgICAgICAgIEY8IFQxLFQyLFQzID4KKyAgICAgICAgLCBUYWcKKyAgICAgICAKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgbGFtYmRhPCBUMSxUYWcgPiBsMTsKKyAgICB0eXBlZGVmIGxhbWJkYTwgVDIsVGFnID4gbDI7CisgICAgdHlwZWRlZiBsYW1iZGE8IFQzLFRhZyA+IGwzOworICAgIAorICAgIHR5cGVkZWYgdHlwZW5hbWUgbDE6OmlzX2xlIGlzX2xlMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGwyOjppc19sZSBpc19sZTI7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsMzo6aXNfbGUgaXNfbGUzOworICAgIAorCisgICAgdHlwZWRlZiB0eXBlbmFtZSBhdXg6OmxhbWJkYV9vcjwKKyAgICAgICAgICBpc19sZTE6OnZhbHVlLCBpc19sZTI6OnZhbHVlLCBpc19sZTM6OnZhbHVlCisgICAgICAgID46OnR5cGUgaXNfbGU7CisKKyAgICB0eXBlZGVmIGF1eDo6bGVfcmVzdWx0MzwKKyAgICAgICAgICBpc19sZSwgVGFnLCBGLCBsMSwgbDIsIGwzCisgICAgICAgID4gbGVfcmVzdWx0XzsKKworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGVfcmVzdWx0Xzo6cmVzdWx0XyByZXN1bHRfOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGVfcmVzdWx0Xzo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzCisgICAgLCB0eXBlbmFtZSBUYWcKKyAgICA+CitzdHJ1Y3QgbGFtYmRhPAorICAgICAgICAgIGJpbmQzPCBGLFQxLFQyLFQzID4KKyAgICAgICAgLCBUYWcKKyAgICAgICAKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgZmFsc2VfIGlzX2xlOworICAgIHR5cGVkZWYgYmluZDM8CisgICAgICAgICAgRgorICAgICAgICAsIFQxLCBUMiwgVDMKKyAgICAgICAgPiByZXN1bHRfOworCisgICAgdHlwZWRlZiByZXN1bHRfIHR5cGU7Cit9OworCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBJc0xFLCB0eXBlbmFtZSBUYWcKKyAgICAsIHRlbXBsYXRlPCB0eXBlbmFtZSBQMSwgdHlwZW5hbWUgUDIsIHR5cGVuYW1lIFAzLCB0eXBlbmFtZSBQNCA+IGNsYXNzIEYKKyAgICAsIHR5cGVuYW1lIEwxLCB0eXBlbmFtZSBMMiwgdHlwZW5hbWUgTDMsIHR5cGVuYW1lIEw0CisgICAgPgorc3RydWN0IGxlX3Jlc3VsdDQKK3sKKyAgICB0eXBlZGVmIEY8CisgICAgICAgICAgdHlwZW5hbWUgTDE6OnR5cGUsIHR5cGVuYW1lIEwyOjp0eXBlLCB0eXBlbmFtZSBMMzo6dHlwZQorICAgICAgICAsIHR5cGVuYW1lIEw0Ojp0eXBlCisgICAgICAgID4gcmVzdWx0XzsKKworICAgIHR5cGVkZWYgcmVzdWx0XyB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUYWcKKyAgICAsIHRlbXBsYXRlPCB0eXBlbmFtZSBQMSwgdHlwZW5hbWUgUDIsIHR5cGVuYW1lIFAzLCB0eXBlbmFtZSBQNCA+IGNsYXNzIEYKKyAgICAsIHR5cGVuYW1lIEwxLCB0eXBlbmFtZSBMMiwgdHlwZW5hbWUgTDMsIHR5cGVuYW1lIEw0CisgICAgPgorc3RydWN0IGxlX3Jlc3VsdDQ8IHRydWVfLFRhZyxGLEwxLEwyLEwzLEw0ID4KK3sKKyAgICB0eXBlZGVmIGJpbmQ0PAorICAgICAgICAgIHF1b3RlNDwgRixUYWcgPgorICAgICAgICAsIHR5cGVuYW1lIEwxOjpyZXN1bHRfLCB0eXBlbmFtZSBMMjo6cmVzdWx0XywgdHlwZW5hbWUgTDM6OnJlc3VsdF8KKyAgICAgICAgLCB0eXBlbmFtZSBMNDo6cmVzdWx0XworICAgICAgICA+IHJlc3VsdF87CisKKyAgICB0eXBlZGVmIG1wbDo6cHJvdGVjdDxyZXN1bHRfPiB0eXBlOworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK3RlbXBsYXRlPAorICAgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFAxLCB0eXBlbmFtZSBQMiwgdHlwZW5hbWUgUDMsIHR5cGVuYW1lIFA0ID4gY2xhc3MgRgorICAgICwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFRhZworICAgID4KK3N0cnVjdCBsYW1iZGE8CisgICAgICAgICAgRjwgVDEsVDIsVDMsVDQgPgorICAgICAgICAsIFRhZworICAgICAgIAorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiBsYW1iZGE8IFQxLFRhZyA+IGwxOworICAgIHR5cGVkZWYgbGFtYmRhPCBUMixUYWcgPiBsMjsKKyAgICB0eXBlZGVmIGxhbWJkYTwgVDMsVGFnID4gbDM7CisgICAgdHlwZWRlZiBsYW1iZGE8IFQ0LFRhZyA+IGw0OworICAgIAorICAgIHR5cGVkZWYgdHlwZW5hbWUgbDE6OmlzX2xlIGlzX2xlMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGwyOjppc19sZSBpc19sZTI7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsMzo6aXNfbGUgaXNfbGUzOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbDQ6OmlzX2xlIGlzX2xlNDsKKyAgICAKKworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXV4OjpsYW1iZGFfb3I8CisgICAgICAgICAgaXNfbGUxOjp2YWx1ZSwgaXNfbGUyOjp2YWx1ZSwgaXNfbGUzOjp2YWx1ZSwgaXNfbGU0Ojp2YWx1ZQorICAgICAgICA+Ojp0eXBlIGlzX2xlOworCisgICAgdHlwZWRlZiBhdXg6OmxlX3Jlc3VsdDQ8CisgICAgICAgICAgaXNfbGUsIFRhZywgRiwgbDEsIGwyLCBsMywgbDQKKyAgICAgICAgPiBsZV9yZXN1bHRfOworCisgICAgdHlwZWRlZiB0eXBlbmFtZSBsZV9yZXN1bHRfOjpyZXN1bHRfIHJlc3VsdF87CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsZV9yZXN1bHRfOjp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUYWcKKyAgICA+CitzdHJ1Y3QgbGFtYmRhPAorICAgICAgICAgIGJpbmQ0PCBGLFQxLFQyLFQzLFQ0ID4KKyAgICAgICAgLCBUYWcKKyAgICAgICAKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgZmFsc2VfIGlzX2xlOworICAgIHR5cGVkZWYgYmluZDQ8CisgICAgICAgICAgRgorICAgICAgICAsIFQxLCBUMiwgVDMsIFQ0CisgICAgICAgID4gcmVzdWx0XzsKKworICAgIHR5cGVkZWYgcmVzdWx0XyB0eXBlOworfTsKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgSXNMRSwgdHlwZW5hbWUgVGFnCisgICAgLCB0ZW1wbGF0ZTwgdHlwZW5hbWUgUDEsIHR5cGVuYW1lIFAyLCB0eXBlbmFtZSBQMywgdHlwZW5hbWUgUDQsIHR5cGVuYW1lIFA1ID4gY2xhc3MgRgorICAgICwgdHlwZW5hbWUgTDEsIHR5cGVuYW1lIEwyLCB0eXBlbmFtZSBMMywgdHlwZW5hbWUgTDQsIHR5cGVuYW1lIEw1CisgICAgPgorc3RydWN0IGxlX3Jlc3VsdDUKK3sKKyAgICB0eXBlZGVmIEY8CisgICAgICAgICAgdHlwZW5hbWUgTDE6OnR5cGUsIHR5cGVuYW1lIEwyOjp0eXBlLCB0eXBlbmFtZSBMMzo6dHlwZQorICAgICAgICAsIHR5cGVuYW1lIEw0Ojp0eXBlLCB0eXBlbmFtZSBMNTo6dHlwZQorICAgICAgICA+IHJlc3VsdF87CisKKyAgICB0eXBlZGVmIHJlc3VsdF8gdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVGFnCisgICAgLCB0ZW1wbGF0ZTwgdHlwZW5hbWUgUDEsIHR5cGVuYW1lIFAyLCB0eXBlbmFtZSBQMywgdHlwZW5hbWUgUDQsIHR5cGVuYW1lIFA1ID4gY2xhc3MgRgorICAgICwgdHlwZW5hbWUgTDEsIHR5cGVuYW1lIEwyLCB0eXBlbmFtZSBMMywgdHlwZW5hbWUgTDQsIHR5cGVuYW1lIEw1CisgICAgPgorc3RydWN0IGxlX3Jlc3VsdDU8IHRydWVfLFRhZyxGLEwxLEwyLEwzLEw0LEw1ID4KK3sKKyAgICB0eXBlZGVmIGJpbmQ1PAorICAgICAgICAgIHF1b3RlNTwgRixUYWcgPgorICAgICAgICAsIHR5cGVuYW1lIEwxOjpyZXN1bHRfLCB0eXBlbmFtZSBMMjo6cmVzdWx0XywgdHlwZW5hbWUgTDM6OnJlc3VsdF8KKyAgICAgICAgLCB0eXBlbmFtZSBMNDo6cmVzdWx0XywgdHlwZW5hbWUgTDU6OnJlc3VsdF8KKyAgICAgICAgPiByZXN1bHRfOworCisgICAgdHlwZWRlZiBtcGw6OnByb3RlY3Q8cmVzdWx0Xz4gdHlwZTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCit0ZW1wbGF0ZTwKKyAgICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFAxLCB0eXBlbmFtZSBQMiwgdHlwZW5hbWUgUDMsIHR5cGVuYW1lIFA0CisgICAgICAgICwgdHlwZW5hbWUgUDUKKyAgICAgICAgPgorICAgICAgY2xhc3MgRgorICAgICwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQsIHR5cGVuYW1lIFQ1CisgICAgLCB0eXBlbmFtZSBUYWcKKyAgICA+CitzdHJ1Y3QgbGFtYmRhPAorICAgICAgICAgIEY8IFQxLFQyLFQzLFQ0LFQ1ID4KKyAgICAgICAgLCBUYWcKKyAgICAgICAKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgbGFtYmRhPCBUMSxUYWcgPiBsMTsKKyAgICB0eXBlZGVmIGxhbWJkYTwgVDIsVGFnID4gbDI7CisgICAgdHlwZWRlZiBsYW1iZGE8IFQzLFRhZyA+IGwzOworICAgIHR5cGVkZWYgbGFtYmRhPCBUNCxUYWcgPiBsNDsKKyAgICB0eXBlZGVmIGxhbWJkYTwgVDUsVGFnID4gbDU7CisgICAgCisgICAgdHlwZWRlZiB0eXBlbmFtZSBsMTo6aXNfbGUgaXNfbGUxOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbDI6OmlzX2xlIGlzX2xlMjsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGwzOjppc19sZSBpc19sZTM7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsNDo6aXNfbGUgaXNfbGU0OworICAgIHR5cGVkZWYgdHlwZW5hbWUgbDU6OmlzX2xlIGlzX2xlNTsKKyAgICAKKworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXV4OjpsYW1iZGFfb3I8CisgICAgICAgICAgaXNfbGUxOjp2YWx1ZSwgaXNfbGUyOjp2YWx1ZSwgaXNfbGUzOjp2YWx1ZSwgaXNfbGU0Ojp2YWx1ZQorICAgICAgICAsIGlzX2xlNTo6dmFsdWUKKyAgICAgICAgPjo6dHlwZSBpc19sZTsKKworICAgIHR5cGVkZWYgYXV4OjpsZV9yZXN1bHQ1PAorICAgICAgICAgIGlzX2xlLCBUYWcsIEYsIGwxLCBsMiwgbDMsIGw0LCBsNQorICAgICAgICA+IGxlX3Jlc3VsdF87CisKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxlX3Jlc3VsdF86OnJlc3VsdF8gcmVzdWx0XzsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxlX3Jlc3VsdF86OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1CisgICAgLCB0eXBlbmFtZSBUYWcKKyAgICA+CitzdHJ1Y3QgbGFtYmRhPAorICAgICAgICAgIGJpbmQ1PCBGLFQxLFQyLFQzLFQ0LFQ1ID4KKyAgICAgICAgLCBUYWcKKyAgICAgICAKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgZmFsc2VfIGlzX2xlOworICAgIHR5cGVkZWYgYmluZDU8CisgICAgICAgICAgRgorICAgICAgICAsIFQxLCBUMiwgVDMsIFQ0LCBUNQorICAgICAgICA+IHJlc3VsdF87CisKKyAgICB0eXBlZGVmIHJlc3VsdF8gdHlwZTsKK307CisKKy8vLyBzcGVjaWFsIGNhc2UgZm9yICdwcm90ZWN0JwordGVtcGxhdGU8IHR5cGVuYW1lIFQsIHR5cGVuYW1lIFRhZyA+CitzdHJ1Y3QgbGFtYmRhPCBtcGw6OnByb3RlY3Q8VD4sIFRhZyA+Cit7CisgICAgdHlwZWRlZiBmYWxzZV8gaXNfbGU7CisgICAgdHlwZWRlZiBtcGw6OnByb3RlY3Q8VD4gcmVzdWx0XzsKKyAgICB0eXBlZGVmIHJlc3VsdF8gdHlwZTsKK307CisKKy8vLyBzcGVjaWFsaXphdGlvbnMgZm9yIHRoZSBtYWluICdiaW5kJyBmb3JtCisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1CisgICAgLCB0eXBlbmFtZSBUYWcKKyAgICA+CitzdHJ1Y3QgbGFtYmRhPAorICAgICAgICAgIGJpbmQ8IEYsVDEsVDIsVDMsVDQsVDUgPgorICAgICAgICAsIFRhZworICAgICAgIAorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiBmYWxzZV8gaXNfbGU7CisgICAgdHlwZWRlZiBiaW5kPCBGLFQxLFQyLFQzLFQ0LFQ1ID4gcmVzdWx0XzsKKyAgICB0eXBlZGVmIHJlc3VsdF8gdHlwZTsKK307CisKKy8vLyB3b3JrYXJvdW5kIGZvciBNV0NXIDguMysvRURHIDwgMzAzLCBsZWFkcyB0byBhbWJpZ3VpdHkgb24gRGlnaXRhbCBNYXJzCisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVGFnMSwgdHlwZW5hbWUgVGFnMgorICAgID4KK3N0cnVjdCBsYW1iZGE8CisgICAgICAgICAgbGFtYmRhPCBGLFRhZzEgPgorICAgICAgICAsIFRhZzIKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgbGFtYmRhPCBGLFRhZzIgPiBsMTsKKyAgICB0eXBlZGVmIGxhbWJkYTwgVGFnMSxUYWcyID4gbDI7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsMTo6aXNfbGUgaXNfbGU7CisgICAgdHlwZWRlZiBhdXg6OmxlX3Jlc3VsdDI8aXNfbGUsIFRhZzIsIG1wbDo6bGFtYmRhLCBsMSwgbDI+IGxlX3Jlc3VsdF87CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsZV9yZXN1bHRfOjpyZXN1bHRfIHJlc3VsdF87CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsZV9yZXN1bHRfOjp0eXBlIHR5cGU7Cit9OworCitCT09TVF9NUExfQVVYX05BX1NQRUMoMiwgbGFtYmRhKQorCit9fQorCmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fY3Rwcy9ncmVhdGVyLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9ub19jdHBzL2dyZWF0ZXIuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkzNjgzNmYKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fY3Rwcy9ncmVhdGVyLmhwcApAQCAtMCwwICsxLDk0IEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9ncmVhdGVyLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFRhZzEKKyAgICAsIHR5cGVuYW1lIFRhZzIKKyAgICA+CitzdHJ1Y3QgZ3JlYXRlcl9pbXBsCisgICAgOiBpZl9jPAorICAgICAgICAgICggQk9PU1RfTVBMX0FVWF9ORVNURURfVkFMVUVfV0tORChpbnQsIFRhZzEpCisgICAgICAgICAgICAgID4gQk9PU1RfTVBMX0FVWF9ORVNURURfVkFMVUVfV0tORChpbnQsIFRhZzIpCisgICAgICAgICAgICApCisKKyAgICAgICAgLCBhdXg6OmNhc3QybmRfaW1wbDwgZ3JlYXRlcl9pbXBsPCBUYWcxLFRhZzEgPixUYWcxLCBUYWcyID4KKyAgICAgICAgLCBhdXg6OmNhc3Qxc3RfaW1wbDwgZ3JlYXRlcl9pbXBsPCBUYWcyLFRhZzIgPixUYWcxLCBUYWcyID4KKyAgICAgICAgPjo6dHlwZQoreworfTsKKworLy8vIGZvciBEaWdpdGFsIE1hcnMgQysrL2NvbXBpbGVycyB3aXRoIG5vIENUUFMvVFRQIHN1cHBvcnQKK3RlbXBsYXRlPD4gc3RydWN0IGdyZWF0ZXJfaW1wbDwgbmEsbmEgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4gc3RydWN0IGdyZWF0ZXJfaW1wbDwgbmEsaW50ZWdyYWxfY190YWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4gc3RydWN0IGdyZWF0ZXJfaW1wbDwgaW50ZWdyYWxfY190YWcsbmEgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUID4gc3RydWN0IGdyZWF0ZXJfdGFnCit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBUOjp0YWcgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMSkKKyAgICAsIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjIpCisgICAgPgorc3RydWN0IGdyZWF0ZXIKKworICAgIDogZ3JlYXRlcl9pbXBsPAorICAgICAgICAgIHR5cGVuYW1lIGdyZWF0ZXJfdGFnPE4xPjo6dHlwZQorICAgICAgICAsIHR5cGVuYW1lIGdyZWF0ZXJfdGFnPE4yPjo6dHlwZQorICAgICAgICA+Ojp0ZW1wbGF0ZSBhcHBseTwgTjEsTjIgPjo6dHlwZQoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoMiwgZ3JlYXRlciwgKE4xLCBOMikpCisKK307CisKK0JPT1NUX01QTF9BVVhfTkFfU1BFQzIoMiwgMiwgZ3JlYXRlcikKKworfX0KKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBncmVhdGVyX2ltcGw8IGludGVncmFsX2NfdGFnLGludGVncmFsX2NfdGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgTjEsIHR5cGVuYW1lIE4yID4gc3RydWN0IGFwcGx5CisKKyAgICAgICAgOiBib29sXzwgKCBCT09TVF9NUExfQVVYX1ZBTFVFX1dLTkQoTjEpOjp2YWx1ZSA+IEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChOMik6OnZhbHVlICkgPgorICAgIHsKKyAgICB9OworfTsKKworfX0KZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9ub19jdHBzL2dyZWF0ZXJfZXF1YWwuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL25vX2N0cHMvZ3JlYXRlcl9lcXVhbC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzY2NTRiMAotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9ub19jdHBzL2dyZWF0ZXJfZXF1YWwuaHBwCkBAIC0wLDAgKzEsOTQgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL2dyZWF0ZXJfZXF1YWwuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVGFnMQorICAgICwgdHlwZW5hbWUgVGFnMgorICAgID4KK3N0cnVjdCBncmVhdGVyX2VxdWFsX2ltcGwKKyAgICA6IGlmX2M8CisgICAgICAgICAgKCBCT09TVF9NUExfQVVYX05FU1RFRF9WQUxVRV9XS05EKGludCwgVGFnMSkKKyAgICAgICAgICAgICAgPiBCT09TVF9NUExfQVVYX05FU1RFRF9WQUxVRV9XS05EKGludCwgVGFnMikKKyAgICAgICAgICAgICkKKworICAgICAgICAsIGF1eDo6Y2FzdDJuZF9pbXBsPCBncmVhdGVyX2VxdWFsX2ltcGw8IFRhZzEsVGFnMSA+LFRhZzEsIFRhZzIgPgorICAgICAgICAsIGF1eDo6Y2FzdDFzdF9pbXBsPCBncmVhdGVyX2VxdWFsX2ltcGw8IFRhZzIsVGFnMiA+LFRhZzEsIFRhZzIgPgorICAgICAgICA+Ojp0eXBlCit7Cit9OworCisvLy8gZm9yIERpZ2l0YWwgTWFycyBDKysvY29tcGlsZXJzIHdpdGggbm8gQ1RQUy9UVFAgc3VwcG9ydAordGVtcGxhdGU8PiBzdHJ1Y3QgZ3JlYXRlcl9lcXVhbF9pbXBsPCBuYSxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgZ3JlYXRlcl9lcXVhbF9pbXBsPCBuYSxpbnRlZ3JhbF9jX3RhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgZ3JlYXRlcl9lcXVhbF9pbXBsPCBpbnRlZ3JhbF9jX3RhZyxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFQgPiBzdHJ1Y3QgZ3JlYXRlcl9lcXVhbF90YWcKK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIFQ6OnRhZyB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4xKQorICAgICwgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMikKKyAgICA+CitzdHJ1Y3QgZ3JlYXRlcl9lcXVhbAorCisgICAgOiBncmVhdGVyX2VxdWFsX2ltcGw8CisgICAgICAgICAgdHlwZW5hbWUgZ3JlYXRlcl9lcXVhbF90YWc8TjE+Ojp0eXBlCisgICAgICAgICwgdHlwZW5hbWUgZ3JlYXRlcl9lcXVhbF90YWc8TjI+Ojp0eXBlCisgICAgICAgID46OnRlbXBsYXRlIGFwcGx5PCBOMSxOMiA+Ojp0eXBlCit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgyLCBncmVhdGVyX2VxdWFsLCAoTjEsIE4yKSkKKworfTsKKworQk9PU1RfTVBMX0FVWF9OQV9TUEVDMigyLCAyLCBncmVhdGVyX2VxdWFsKQorCit9fQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8Pgorc3RydWN0IGdyZWF0ZXJfZXF1YWxfaW1wbDwgaW50ZWdyYWxfY190YWcsaW50ZWdyYWxfY190YWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBOMSwgdHlwZW5hbWUgTjIgPiBzdHJ1Y3QgYXBwbHkKKworICAgICAgICA6IGJvb2xfPCAoIEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChOMSk6OnZhbHVlID49IEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChOMik6OnZhbHVlICkgPgorICAgIHsKKyAgICB9OworfTsKKworfX0KZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9ub19jdHBzL2luaGVyaXQuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL25vX2N0cHMvaW5oZXJpdC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTIzMjhmNwotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9ub19jdHBzL2luaGVyaXQuaHBwCkBAIC0wLDAgKzEsMTY2IEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDEtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9pbmhlcml0LmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8IGJvb2wgQzEsIGJvb2wgQzIgPgorc3RydWN0IGluaGVyaXQyX2ltcGwKK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgRGVyaXZlZCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyID4gc3RydWN0IHJlc3VsdF8KKyAgICAgICAgOiBUMSwgVDIKKyAgICB7CisgICAgICAgIHR5cGVkZWYgRGVyaXZlZCB0eXBlXzsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGluaGVyaXQyX2ltcGw8IGZhbHNlLHRydWUgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBEZXJpdmVkLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIgPiBzdHJ1Y3QgcmVzdWx0XworICAgICAgICA6IFQxCisgICAgeworICAgICAgICB0eXBlZGVmIFQxIHR5cGVfOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgaW5oZXJpdDJfaW1wbDwgdHJ1ZSxmYWxzZSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIERlcml2ZWQsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiA+IHN0cnVjdCByZXN1bHRfCisgICAgICAgIDogVDIKKyAgICB7CisgICAgICAgIHR5cGVkZWYgVDIgdHlwZV87CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBpbmhlcml0Ml9pbXBsPCB0cnVlLHRydWUgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBEZXJpdmVkLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIgPiBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiBUMSB0eXBlXzsKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShUMSkKKyAgICAsIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oVDIpCisgICAgPgorc3RydWN0IGluaGVyaXQyCisgICAgOiBhdXg6OmluaGVyaXQyX2ltcGw8CisgICAgICAgICAgaXNfZW1wdHlfYmFzZTxUMT46OnZhbHVlCisgICAgICAgICwgaXNfZW1wdHlfYmFzZTxUMj46OnZhbHVlCisgICAgICAgID46OnRlbXBsYXRlIHJlc3VsdF88IGluaGVyaXQyPCBUMSxUMiA+LFQxLCBUMiA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBpbmhlcml0Mjo6dHlwZV8gdHlwZTsKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKDIsIGluaGVyaXQyLCAoVDEsIFQyKSkKK307CisKK0JPT1NUX01QTF9BVVhfTkFfU1BFQygyLCBpbmhlcml0MikKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMSA9IG5hLCB0eXBlbmFtZSBUMiA9IG5hLCB0eXBlbmFtZSBUMyA9IG5hCisgICAgPgorc3RydWN0IGluaGVyaXQzCisgICAgOiBpbmhlcml0MjwKKyAgICAgICAgICB0eXBlbmFtZSBpbmhlcml0MjwKKyAgICAgICAgICAgICAgVDEsIFQyCisgICAgICAgICAgICA+Ojp0eXBlCisgICAgICAgICwgVDMKKyAgICAgICAgPgoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoCisgICAgICAgICAgMworICAgICAgICAsIGluaGVyaXQzCisgICAgICAgICwgKCBUMSwgVDIsIFQzKQorICAgICAgICApCit9OworCitCT09TVF9NUExfQVVYX05BX1NQRUMoMywgaW5oZXJpdDMpCisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDEgPSBuYSwgdHlwZW5hbWUgVDIgPSBuYSwgdHlwZW5hbWUgVDMgPSBuYSwgdHlwZW5hbWUgVDQgPSBuYQorICAgID4KK3N0cnVjdCBpbmhlcml0NAorICAgIDogaW5oZXJpdDI8CisgICAgICAgICAgdHlwZW5hbWUgaW5oZXJpdDM8CisgICAgICAgICAgICAgIFQxLCBUMiwgVDMKKyAgICAgICAgICAgID46OnR5cGUKKyAgICAgICAgLCBUNAorICAgICAgICA+Cit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgKKyAgICAgICAgICA0CisgICAgICAgICwgaW5oZXJpdDQKKyAgICAgICAgLCAoIFQxLCBUMiwgVDMsIFQ0KQorICAgICAgICApCit9OworCitCT09TVF9NUExfQVVYX05BX1NQRUMoNCwgaW5oZXJpdDQpCisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDEgPSBuYSwgdHlwZW5hbWUgVDIgPSBuYSwgdHlwZW5hbWUgVDMgPSBuYSwgdHlwZW5hbWUgVDQgPSBuYQorICAgICwgdHlwZW5hbWUgVDUgPSBuYQorICAgID4KK3N0cnVjdCBpbmhlcml0NQorICAgIDogaW5oZXJpdDI8CisgICAgICAgICAgdHlwZW5hbWUgaW5oZXJpdDQ8CisgICAgICAgICAgICAgIFQxLCBUMiwgVDMsIFQ0CisgICAgICAgICAgICA+Ojp0eXBlCisgICAgICAgICwgVDUKKyAgICAgICAgPgoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoCisgICAgICAgICAgNQorICAgICAgICAsIGluaGVyaXQ1CisgICAgICAgICwgKCBUMSwgVDIsIFQzLCBUNCwgVDUpCisgICAgICAgICkKK307CisKK0JPT1NUX01QTF9BVVhfTkFfU1BFQyg1LCBpbmhlcml0NSkKKworLy8vIHByaW1hcnkgdGVtcGxhdGUKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMSA9IGVtcHR5X2Jhc2UsIHR5cGVuYW1lIFQyID0gZW1wdHlfYmFzZQorICAgICwgdHlwZW5hbWUgVDMgPSBlbXB0eV9iYXNlLCB0eXBlbmFtZSBUNCA9IGVtcHR5X2Jhc2UKKyAgICAsIHR5cGVuYW1lIFQ1ID0gZW1wdHlfYmFzZQorICAgID4KK3N0cnVjdCBpbmhlcml0CisgICAgOiBpbmhlcml0NTwgVDEsVDIsVDMsVDQsVDUgPgoreworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGluaGVyaXQ8IG5hLG5hLG5hLG5hLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwKKworICAgICAgICAgIHR5cGVuYW1lIFQxID0gZW1wdHlfYmFzZSwgdHlwZW5hbWUgVDIgPSBlbXB0eV9iYXNlCisgICAgICAgICwgdHlwZW5hbWUgVDMgPSBlbXB0eV9iYXNlLCB0eXBlbmFtZSBUNCA9IGVtcHR5X2Jhc2UKKyAgICAgICAgLCB0eXBlbmFtZSBUNSA9IGVtcHR5X2Jhc2UKKworICAgICAgICA+CisgICAgc3RydWN0IGFwcGx5CisgICAgICAgIDogaW5oZXJpdDwgVDEsVDIsVDMsVDQsVDUgPgorICAgIHsKKyAgICB9OworfTsKKworQk9PU1RfTVBMX0FVWF9OQV9TUEVDX0xBTUJEQSg1LCBpbmhlcml0KQorQk9PU1RfTVBMX0FVWF9OQV9TUEVDX0FSSVRZKDUsIGluaGVyaXQpCitCT09TVF9NUExfQVVYX05BX1NQRUNfVEVNUExBVEVfQVJJVFkoNSwgNSwgaW5oZXJpdCkKK319CisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9ub19jdHBzL2l0ZXJfZm9sZF9pZl9pbXBsLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9ub19jdHBzL2l0ZXJfZm9sZF9pZl9pbXBsLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMGEyODY0Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL25vX2N0cHMvaXRlcl9mb2xkX2lmX2ltcGwuaHBwCkBAIC0wLDAgKzEsMTMzIEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDEtMjAwNAorLy8gQ29weXJpZ2h0IERhdmlkIEFicmFoYW1zIDIwMDEtMjAwMgorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9hdXhfL2l0ZXJfZm9sZF9pZl9pbXBsLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeyBuYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8IHR5cGVuYW1lIEl0ZXJhdG9yLCB0eXBlbmFtZSBTdGF0ZSA+CitzdHJ1Y3QgaXRlcl9mb2xkX2lmX251bGxfc3RlcAoreworICAgIHR5cGVkZWYgU3RhdGUgc3RhdGU7CisgICAgdHlwZWRlZiBJdGVyYXRvciBpdGVyYXRvcjsKK307CisKK3RlbXBsYXRlPCBib29sID4KK3N0cnVjdCBpdGVyX2ZvbGRfaWZfc3RlcF9pbXBsCit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgSXRlcmF0b3IKKyAgICAgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICAgICAsIHR5cGVuYW1lIFN0YXRlT3AKKyAgICAgICAgLCB0eXBlbmFtZSBJdGVyYXRvck9wCisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IFN0YXRlT3AsU3RhdGUsSXRlcmF0b3IgPjo6dHlwZSBzdGF0ZTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBJdGVyYXRvck9wOjp0eXBlIGl0ZXJhdG9yOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgaXRlcl9mb2xkX2lmX3N0ZXBfaW1wbDxmYWxzZT4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBJdGVyYXRvcgorICAgICAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgICAgICwgdHlwZW5hbWUgU3RhdGVPcAorICAgICAgICAsIHR5cGVuYW1lIEl0ZXJhdG9yT3AKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIFN0YXRlIHN0YXRlOworICAgICAgICB0eXBlZGVmIEl0ZXJhdG9yIGl0ZXJhdG9yOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEl0ZXJhdG9yCisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgLCB0eXBlbmFtZSBQcmVkaWNhdGUKKyAgICA+CitzdHJ1Y3QgaXRlcl9mb2xkX2lmX2ZvcndhcmRfc3RlcAoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBQcmVkaWNhdGUsU3RhdGUsSXRlcmF0b3IgPjo6dHlwZSBub3RfbGFzdDsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGl0ZXJfZm9sZF9pZl9zdGVwX2ltcGw8CisgICAgICAgICAgQk9PU1RfTVBMX0FVWF9NU1ZDX1ZBTFVFX1dLTkQobm90X2xhc3QpOjp2YWx1ZQorICAgICAgICA+Ojp0ZW1wbGF0ZSByZXN1bHRfPCBJdGVyYXRvcixTdGF0ZSxGb3J3YXJkT3AsIG1wbDo6bmV4dDxJdGVyYXRvcj4gPiBpbXBsXzsKKworICAgIHR5cGVkZWYgdHlwZW5hbWUgaW1wbF86OnN0YXRlIHN0YXRlOworICAgIHR5cGVkZWYgdHlwZW5hbWUgaW1wbF86Oml0ZXJhdG9yIGl0ZXJhdG9yOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBJdGVyYXRvcgorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEJhY2t3YXJkT3AKKyAgICAsIHR5cGVuYW1lIFByZWRpY2F0ZQorICAgID4KK3N0cnVjdCBpdGVyX2ZvbGRfaWZfYmFja3dhcmRfc3RlcAoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBQcmVkaWNhdGUsU3RhdGUsSXRlcmF0b3IgPjo6dHlwZSBub3RfbGFzdDsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGl0ZXJfZm9sZF9pZl9zdGVwX2ltcGw8CisgICAgICAgICAgQk9PU1RfTVBMX0FVWF9NU1ZDX1ZBTFVFX1dLTkQobm90X2xhc3QpOjp2YWx1ZQorICAgICAgICA+Ojp0ZW1wbGF0ZSByZXN1bHRfPCBJdGVyYXRvcixTdGF0ZSxCYWNrd2FyZE9wLCBpZGVudGl0eTxJdGVyYXRvcj4gPiBpbXBsXzsKKworICAgIHR5cGVkZWYgdHlwZW5hbWUgaW1wbF86OnN0YXRlIHN0YXRlOworICAgIHR5cGVkZWYgdHlwZW5hbWUgaW1wbF86Oml0ZXJhdG9yIGl0ZXJhdG9yOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBJdGVyYXRvcgorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgICwgdHlwZW5hbWUgRm9yd2FyZFByZWRpY2F0ZQorICAgICwgdHlwZW5hbWUgQmFja3dhcmRPcAorICAgICwgdHlwZW5hbWUgQmFja3dhcmRQcmVkaWNhdGUKKyAgICA+CitzdHJ1Y3QgaXRlcl9mb2xkX2lmX2ltcGwKK3sKKyBwcml2YXRlOgorICAgIHR5cGVkZWYgaXRlcl9mb2xkX2lmX251bGxfc3RlcDwgSXRlcmF0b3IsU3RhdGUgPiBmb3J3YXJkX3N0ZXAwOworICAgIHR5cGVkZWYgaXRlcl9mb2xkX2lmX2ZvcndhcmRfc3RlcDwgdHlwZW5hbWUgZm9yd2FyZF9zdGVwMDo6aXRlcmF0b3IsIHR5cGVuYW1lIGZvcndhcmRfc3RlcDA6OnN0YXRlLCBGb3J3YXJkT3AsIEZvcndhcmRQcmVkaWNhdGUgPiBmb3J3YXJkX3N0ZXAxOworICAgIHR5cGVkZWYgaXRlcl9mb2xkX2lmX2ZvcndhcmRfc3RlcDwgdHlwZW5hbWUgZm9yd2FyZF9zdGVwMTo6aXRlcmF0b3IsIHR5cGVuYW1lIGZvcndhcmRfc3RlcDE6OnN0YXRlLCBGb3J3YXJkT3AsIEZvcndhcmRQcmVkaWNhdGUgPiBmb3J3YXJkX3N0ZXAyOworICAgIHR5cGVkZWYgaXRlcl9mb2xkX2lmX2ZvcndhcmRfc3RlcDwgdHlwZW5hbWUgZm9yd2FyZF9zdGVwMjo6aXRlcmF0b3IsIHR5cGVuYW1lIGZvcndhcmRfc3RlcDI6OnN0YXRlLCBGb3J3YXJkT3AsIEZvcndhcmRQcmVkaWNhdGUgPiBmb3J3YXJkX3N0ZXAzOworICAgIHR5cGVkZWYgaXRlcl9mb2xkX2lmX2ZvcndhcmRfc3RlcDwgdHlwZW5hbWUgZm9yd2FyZF9zdGVwMzo6aXRlcmF0b3IsIHR5cGVuYW1lIGZvcndhcmRfc3RlcDM6OnN0YXRlLCBGb3J3YXJkT3AsIEZvcndhcmRQcmVkaWNhdGUgPiBmb3J3YXJkX3N0ZXA0OworICAgIAorCisgICAgdHlwZWRlZiB0eXBlbmFtZSBpZl88CisgICAgICAgICAgdHlwZW5hbWUgZm9yd2FyZF9zdGVwNDo6bm90X2xhc3QKKyAgICAgICAgLCBpdGVyX2ZvbGRfaWZfaW1wbDwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgZm9yd2FyZF9zdGVwNDo6aXRlcmF0b3IKKyAgICAgICAgICAgICwgdHlwZW5hbWUgZm9yd2FyZF9zdGVwNDo6c3RhdGUKKyAgICAgICAgICAgICwgRm9yd2FyZE9wCisgICAgICAgICAgICAsIEZvcndhcmRQcmVkaWNhdGUKKyAgICAgICAgICAgICwgQmFja3dhcmRPcAorICAgICAgICAgICAgLCBCYWNrd2FyZFByZWRpY2F0ZQorICAgICAgICAgICAgPgorICAgICAgICAsIGl0ZXJfZm9sZF9pZl9udWxsX3N0ZXA8CisgICAgICAgICAgICAgIHR5cGVuYW1lIGZvcndhcmRfc3RlcDQ6Oml0ZXJhdG9yCisgICAgICAgICAgICAsIHR5cGVuYW1lIGZvcndhcmRfc3RlcDQ6OnN0YXRlCisgICAgICAgICAgICA+CisgICAgICAgID46OnR5cGUgYmFja3dhcmRfc3RlcDQ7CisKKyAgICB0eXBlZGVmIGl0ZXJfZm9sZF9pZl9iYWNrd2FyZF9zdGVwPCB0eXBlbmFtZSBmb3J3YXJkX3N0ZXAzOjppdGVyYXRvciwgdHlwZW5hbWUgYmFja3dhcmRfc3RlcDQ6OnN0YXRlLCBCYWNrd2FyZE9wLCBCYWNrd2FyZFByZWRpY2F0ZSA+IGJhY2t3YXJkX3N0ZXAzOworICAgIHR5cGVkZWYgaXRlcl9mb2xkX2lmX2JhY2t3YXJkX3N0ZXA8IHR5cGVuYW1lIGZvcndhcmRfc3RlcDI6Oml0ZXJhdG9yLCB0eXBlbmFtZSBiYWNrd2FyZF9zdGVwMzo6c3RhdGUsIEJhY2t3YXJkT3AsIEJhY2t3YXJkUHJlZGljYXRlID4gYmFja3dhcmRfc3RlcDI7CisgICAgdHlwZWRlZiBpdGVyX2ZvbGRfaWZfYmFja3dhcmRfc3RlcDwgdHlwZW5hbWUgZm9yd2FyZF9zdGVwMTo6aXRlcmF0b3IsIHR5cGVuYW1lIGJhY2t3YXJkX3N0ZXAyOjpzdGF0ZSwgQmFja3dhcmRPcCwgQmFja3dhcmRQcmVkaWNhdGUgPiBiYWNrd2FyZF9zdGVwMTsKKyAgICB0eXBlZGVmIGl0ZXJfZm9sZF9pZl9iYWNrd2FyZF9zdGVwPCB0eXBlbmFtZSBmb3J3YXJkX3N0ZXAwOjppdGVyYXRvciwgdHlwZW5hbWUgYmFja3dhcmRfc3RlcDE6OnN0YXRlLCBCYWNrd2FyZE9wLCBCYWNrd2FyZFByZWRpY2F0ZSA+IGJhY2t3YXJkX3N0ZXAwOworICAgIAorCisgcHVibGljOgorICAgIHR5cGVkZWYgdHlwZW5hbWUgYmFja3dhcmRfc3RlcDA6OnN0YXRlIHN0YXRlOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYmFja3dhcmRfc3RlcDQ6Oml0ZXJhdG9yIGl0ZXJhdG9yOworfTsKKworfX19CmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fY3Rwcy9pdGVyX2ZvbGRfaW1wbC5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fY3Rwcy9pdGVyX2ZvbGRfaW1wbC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTFhNDVmZQotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9ub19jdHBzL2l0ZXJfZm9sZF9pbXBsLmhwcApAQCAtMCwwICsxLDI0NSBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvYXV4Xy9pdGVyX2ZvbGRfaW1wbC5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsgbmFtZXNwYWNlIGF1eCB7CisKKy8vLyBmb3J3YXJkIGRlY2xhcmF0aW9uCisKK3RlbXBsYXRlPAorICAgICAgaW50IE4KKyAgICAsIHR5cGVuYW1lIEZpcnN0CisgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgPgorc3RydWN0IGl0ZXJfZm9sZF9pbXBsOworCit0ZW1wbGF0ZTwgaW50IE4gPgorc3RydWN0IGl0ZXJfZm9sZF9jaHVuazsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgaXRlcl9mb2xkX2NodW5rPDA+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIEZpcnN0IGl0ZXIwOworICAgICAgICB0eXBlZGVmIFN0YXRlIHN0YXRlMDsKKyAgICAgICAgdHlwZWRlZiBzdGF0ZTAgc3RhdGU7CisgICAgICAgIHR5cGVkZWYgaXRlcjAgaXRlcmF0b3I7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4gc3RydWN0IGl0ZXJfZm9sZF9jaHVuazwxPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgICAgICwgdHlwZW5hbWUgTGFzdAorICAgICAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiBGaXJzdCBpdGVyMDsKKyAgICAgICAgdHlwZWRlZiBTdGF0ZSBzdGF0ZTA7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3Asc3RhdGUwLGl0ZXIwID46OnR5cGUgc3RhdGUxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMD46OnR5cGUgaXRlcjE7CisgICAgICAgIAorCisgICAgICAgIHR5cGVkZWYgc3RhdGUxIHN0YXRlOworICAgICAgICB0eXBlZGVmIGl0ZXIxIGl0ZXJhdG9yOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCBpdGVyX2ZvbGRfY2h1bms8Mj4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBGaXJzdAorICAgICAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgRmlyc3QgaXRlcjA7CisgICAgICAgIHR5cGVkZWYgU3RhdGUgc3RhdGUwOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLHN0YXRlMCxpdGVyMCA+Ojp0eXBlIHN0YXRlMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjA+Ojp0eXBlIGl0ZXIxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLHN0YXRlMSxpdGVyMSA+Ojp0eXBlIHN0YXRlMjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjE+Ojp0eXBlIGl0ZXIyOworICAgICAgICAKKworICAgICAgICB0eXBlZGVmIHN0YXRlMiBzdGF0ZTsKKyAgICAgICAgdHlwZWRlZiBpdGVyMiBpdGVyYXRvcjsKKyAgICB9OworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgaXRlcl9mb2xkX2NodW5rPDM+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIEZpcnN0IGl0ZXIwOworICAgICAgICB0eXBlZGVmIFN0YXRlIHN0YXRlMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCxzdGF0ZTAsaXRlcjAgPjo6dHlwZSBzdGF0ZTE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIwPjo6dHlwZSBpdGVyMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCxzdGF0ZTEsaXRlcjEgPjo6dHlwZSBzdGF0ZTI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIxPjo6dHlwZSBpdGVyMjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCxzdGF0ZTIsaXRlcjIgPjo6dHlwZSBzdGF0ZTM7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIyPjo6dHlwZSBpdGVyMzsKKyAgICAgICAgCisKKyAgICAgICAgdHlwZWRlZiBzdGF0ZTMgc3RhdGU7CisgICAgICAgIHR5cGVkZWYgaXRlcjMgaXRlcmF0b3I7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4gc3RydWN0IGl0ZXJfZm9sZF9jaHVuazw0PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgICAgICwgdHlwZW5hbWUgTGFzdAorICAgICAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiBGaXJzdCBpdGVyMDsKKyAgICAgICAgdHlwZWRlZiBTdGF0ZSBzdGF0ZTA7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3Asc3RhdGUwLGl0ZXIwID46OnR5cGUgc3RhdGUxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMD46OnR5cGUgaXRlcjE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3Asc3RhdGUxLGl0ZXIxID46OnR5cGUgc3RhdGUyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMT46OnR5cGUgaXRlcjI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3Asc3RhdGUyLGl0ZXIyID46OnR5cGUgc3RhdGUzOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMj46OnR5cGUgaXRlcjM7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3Asc3RhdGUzLGl0ZXIzID46OnR5cGUgc3RhdGU0OworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMz46OnR5cGUgaXRlcjQ7CisgICAgICAgIAorCisgICAgICAgIHR5cGVkZWYgc3RhdGU0IHN0YXRlOworICAgICAgICB0eXBlZGVmIGl0ZXI0IGl0ZXJhdG9yOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgaW50IE4gPgorc3RydWN0IGl0ZXJfZm9sZF9jaHVuaworeworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgICAgICwgdHlwZW5hbWUgTGFzdAorICAgICAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiBpdGVyX2ZvbGRfaW1wbDwKKyAgICAgICAgICAgICAgNAorICAgICAgICAgICAgLCBGaXJzdAorICAgICAgICAgICAgLCBMYXN0CisgICAgICAgICAgICAsIFN0YXRlCisgICAgICAgICAgICAsIEZvcndhcmRPcAorICAgICAgICAgICAgPiBjaHVua187CisKKyAgICAgICAgdHlwZWRlZiBpdGVyX2ZvbGRfaW1wbDwKKyAgICAgICAgICAgICAgKCAoTiAtIDQpIDwgMCA/IDAgOiBOIC0gNCApCisgICAgICAgICAgICAsIHR5cGVuYW1lIGNodW5rXzo6aXRlcmF0b3IKKyAgICAgICAgICAgICwgTGFzdAorICAgICAgICAgICAgLCB0eXBlbmFtZSBjaHVua186OnN0YXRlCisgICAgICAgICAgICAsIEZvcndhcmRPcAorICAgICAgICAgICAgPiByZXNfOworCisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcmVzXzo6c3RhdGUgc3RhdGU7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcmVzXzo6aXRlcmF0b3IgaXRlcmF0b3I7CisgICAgfTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+CitzdHJ1Y3QgaXRlcl9mb2xkX3N0ZXA7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgTGFzdAorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICA+CitzdHJ1Y3QgaXRlcl9mb2xkX251bGxfc3RlcAoreworICAgIHR5cGVkZWYgTGFzdCBpdGVyYXRvcjsKKyAgICB0eXBlZGVmIFN0YXRlIHN0YXRlOworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGl0ZXJfZm9sZF9jaHVuazwgLTEgPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgICAgICwgdHlwZW5hbWUgTGFzdAorICAgICAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBpZl88CisgICAgICAgICAgICAgIHR5cGVuYW1lIGlzX3NhbWU8IEZpcnN0LExhc3QgPjo6dHlwZQorICAgICAgICAgICAgLCBpdGVyX2ZvbGRfbnVsbF9zdGVwPCBMYXN0LFN0YXRlID4KKyAgICAgICAgICAgICwgaXRlcl9mb2xkX3N0ZXA8IEZpcnN0LExhc3QsU3RhdGUsRm9yd2FyZE9wID4KKyAgICAgICAgICAgID46OnR5cGUgcmVzXzsKKworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHJlc186OnN0YXRlIHN0YXRlOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHJlc186Oml0ZXJhdG9yIGl0ZXJhdG9yOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgPgorc3RydWN0IGl0ZXJfZm9sZF9zdGVwCit7CisgICAgdHlwZWRlZiBpdGVyX2ZvbGRfY2h1bms8IC0xID46OnRlbXBsYXRlIHJlc3VsdF88CisgICAgICAgICAgdHlwZW5hbWUgbXBsOjpuZXh0PEZpcnN0Pjo6dHlwZQorICAgICAgICAsIExhc3QKKyAgICAgICAgLCB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCxTdGF0ZSxGaXJzdCA+Ojp0eXBlCisgICAgICAgICwgRm9yd2FyZE9wCisgICAgICAgID4gY2h1bmtfOworCisgICAgdHlwZWRlZiB0eXBlbmFtZSBjaHVua186OnN0YXRlIHN0YXRlOworICAgIHR5cGVkZWYgdHlwZW5hbWUgY2h1bmtfOjppdGVyYXRvciBpdGVyYXRvcjsKK307CisKK3RlbXBsYXRlPAorICAgICAgaW50IE4KKyAgICAsIHR5cGVuYW1lIEZpcnN0CisgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgPgorc3RydWN0IGl0ZXJfZm9sZF9pbXBsCisgICAgOiBpdGVyX2ZvbGRfY2h1bms8Tj4KKyAgICAgICAgOjp0ZW1wbGF0ZSByZXN1bHRfPCBGaXJzdCxMYXN0LFN0YXRlLEZvcndhcmRPcCA+Cit7Cit9OworCit9fX0KZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9ub19jdHBzL2xhbWJkYV9ub19jdHBzLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9ub19jdHBzL2xhbWJkYV9ub19jdHBzLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41YmZjNjYxCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL25vX2N0cHMvbGFtYmRhX25vX2N0cHMuaHBwCkBAIC0wLDAgKzEsMjI5IEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9hdXhfL2xhbWJkYV9ub19jdHBzLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8CisgICAgICBib29sIEMxID0gZmFsc2UsIGJvb2wgQzIgPSBmYWxzZSwgYm9vbCBDMyA9IGZhbHNlLCBib29sIEM0ID0gZmFsc2UKKyAgICAsIGJvb2wgQzUgPSBmYWxzZQorICAgID4KK3N0cnVjdCBsYW1iZGFfb3IKKyAgICA6IHRydWVfCit7Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgbGFtYmRhX29yPCBmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSA+CisgICAgOiBmYWxzZV8KK3sKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBBcml0eSA+IHN0cnVjdCBsYW1iZGFfaW1wbAoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBULCB0eXBlbmFtZSBUYWcsIHR5cGVuYW1lIFByb3RlY3QgPiBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiBUIHR5cGU7CisgICAgICAgIHR5cGVkZWYgaXNfcGxhY2Vob2xkZXI8VD4gaXNfbGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4gc3RydWN0IGxhbWJkYV9pbXBsPCBpbnRfPDE+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVGFnLCB0eXBlbmFtZSBQcm90ZWN0ID4gc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgbGFtYmRhPCB0eXBlbmFtZSBGOjphcmcxLCBUYWcsIGZhbHNlXyA+IGwxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGwxOjppc19sZSBpc19sZTE7CisgICAgICAgIHR5cGVkZWYgYXV4OjpsYW1iZGFfb3I8CisgICAgICAgICAgICAgIEJPT1NUX01QTF9BVVhfTVNWQ19WQUxVRV9XS05EKGlzX2xlMSk6OnZhbHVlCisgICAgICAgICAgICA+IGlzX2xlOworCisgICAgICAgIHR5cGVkZWYgYmluZDE8CisgICAgICAgICAgICAgIHR5cGVuYW1lIEY6OnJlYmluZAorICAgICAgICAgICAgLCB0eXBlbmFtZSBsMTo6dHlwZQorICAgICAgICAgICAgPiBiaW5kXzsKKworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGlmXzwKKyAgICAgICAgICAgICAgaXNfbGUKKyAgICAgICAgICAgICwgaWZfPCBQcm90ZWN0LCBtcGw6OnByb3RlY3Q8YmluZF8+LCBiaW5kXyA+CisgICAgICAgICAgICAsIGlkZW50aXR5PEY+CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGVfOworCisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgdHlwZV86OnR5cGUgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgbGFtYmRhX2ltcGw8IGludF88Mj4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUYWcsIHR5cGVuYW1lIFByb3RlY3QgPiBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiBsYW1iZGE8IHR5cGVuYW1lIEY6OmFyZzEsIFRhZywgZmFsc2VfID4gbDE7CisgICAgICAgIHR5cGVkZWYgbGFtYmRhPCB0eXBlbmFtZSBGOjphcmcyLCBUYWcsIGZhbHNlXyA+IGwyOworICAgICAgICAKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBsMTo6aXNfbGUgaXNfbGUxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGwyOjppc19sZSBpc19sZTI7CisgICAgICAgIAorCisgICAgICAgIHR5cGVkZWYgYXV4OjpsYW1iZGFfb3I8CisgICAgICAgICAgICAgIEJPT1NUX01QTF9BVVhfTVNWQ19WQUxVRV9XS05EKGlzX2xlMSk6OnZhbHVlLCBCT09TVF9NUExfQVVYX01TVkNfVkFMVUVfV0tORChpc19sZTIpOjp2YWx1ZQorICAgICAgICAgICAgPiBpc19sZTsKKworICAgICAgICB0eXBlZGVmIGJpbmQyPAorICAgICAgICAgICAgICB0eXBlbmFtZSBGOjpyZWJpbmQKKyAgICAgICAgICAgICwgdHlwZW5hbWUgbDE6OnR5cGUsIHR5cGVuYW1lIGwyOjp0eXBlCisgICAgICAgICAgICA+IGJpbmRfOworCisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgaWZfPAorICAgICAgICAgICAgICBpc19sZQorICAgICAgICAgICAgLCBpZl88IFByb3RlY3QsIG1wbDo6cHJvdGVjdDxiaW5kXz4sIGJpbmRfID4KKyAgICAgICAgICAgICwgaWRlbnRpdHk8Rj4KKyAgICAgICAgICAgID46OnR5cGUgdHlwZV87CisKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSB0eXBlXzo6dHlwZSB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCBsYW1iZGFfaW1wbDwgaW50XzwzPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIEYsIHR5cGVuYW1lIFRhZywgdHlwZW5hbWUgUHJvdGVjdCA+IHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIGxhbWJkYTwgdHlwZW5hbWUgRjo6YXJnMSwgVGFnLCBmYWxzZV8gPiBsMTsKKyAgICAgICAgdHlwZWRlZiBsYW1iZGE8IHR5cGVuYW1lIEY6OmFyZzIsIFRhZywgZmFsc2VfID4gbDI7CisgICAgICAgIHR5cGVkZWYgbGFtYmRhPCB0eXBlbmFtZSBGOjphcmczLCBUYWcsIGZhbHNlXyA+IGwzOworICAgICAgICAKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBsMTo6aXNfbGUgaXNfbGUxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGwyOjppc19sZSBpc19sZTI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbDM6OmlzX2xlIGlzX2xlMzsKKyAgICAgICAgCisKKyAgICAgICAgdHlwZWRlZiBhdXg6OmxhbWJkYV9vcjwKKyAgICAgICAgICAgICAgQk9PU1RfTVBMX0FVWF9NU1ZDX1ZBTFVFX1dLTkQoaXNfbGUxKTo6dmFsdWUsIEJPT1NUX01QTF9BVVhfTVNWQ19WQUxVRV9XS05EKGlzX2xlMik6OnZhbHVlLCBCT09TVF9NUExfQVVYX01TVkNfVkFMVUVfV0tORChpc19sZTMpOjp2YWx1ZQorICAgICAgICAgICAgPiBpc19sZTsKKworICAgICAgICB0eXBlZGVmIGJpbmQzPAorICAgICAgICAgICAgICB0eXBlbmFtZSBGOjpyZWJpbmQKKyAgICAgICAgICAgICwgdHlwZW5hbWUgbDE6OnR5cGUsIHR5cGVuYW1lIGwyOjp0eXBlLCB0eXBlbmFtZSBsMzo6dHlwZQorICAgICAgICAgICAgPiBiaW5kXzsKKworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGlmXzwKKyAgICAgICAgICAgICAgaXNfbGUKKyAgICAgICAgICAgICwgaWZfPCBQcm90ZWN0LCBtcGw6OnByb3RlY3Q8YmluZF8+LCBiaW5kXyA+CisgICAgICAgICAgICAsIGlkZW50aXR5PEY+CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGVfOworCisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgdHlwZV86OnR5cGUgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgbGFtYmRhX2ltcGw8IGludF88ND4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUYWcsIHR5cGVuYW1lIFByb3RlY3QgPiBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiBsYW1iZGE8IHR5cGVuYW1lIEY6OmFyZzEsIFRhZywgZmFsc2VfID4gbDE7CisgICAgICAgIHR5cGVkZWYgbGFtYmRhPCB0eXBlbmFtZSBGOjphcmcyLCBUYWcsIGZhbHNlXyA+IGwyOworICAgICAgICB0eXBlZGVmIGxhbWJkYTwgdHlwZW5hbWUgRjo6YXJnMywgVGFnLCBmYWxzZV8gPiBsMzsKKyAgICAgICAgdHlwZWRlZiBsYW1iZGE8IHR5cGVuYW1lIEY6OmFyZzQsIFRhZywgZmFsc2VfID4gbDQ7CisgICAgICAgIAorICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGwxOjppc19sZSBpc19sZTE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbDI6OmlzX2xlIGlzX2xlMjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBsMzo6aXNfbGUgaXNfbGUzOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGw0Ojppc19sZSBpc19sZTQ7CisgICAgICAgIAorCisgICAgICAgIHR5cGVkZWYgYXV4OjpsYW1iZGFfb3I8CisgICAgICAgICAgICAgIEJPT1NUX01QTF9BVVhfTVNWQ19WQUxVRV9XS05EKGlzX2xlMSk6OnZhbHVlLCBCT09TVF9NUExfQVVYX01TVkNfVkFMVUVfV0tORChpc19sZTIpOjp2YWx1ZSwgQk9PU1RfTVBMX0FVWF9NU1ZDX1ZBTFVFX1dLTkQoaXNfbGUzKTo6dmFsdWUsIEJPT1NUX01QTF9BVVhfTVNWQ19WQUxVRV9XS05EKGlzX2xlNCk6OnZhbHVlCisgICAgICAgICAgICA+IGlzX2xlOworCisgICAgICAgIHR5cGVkZWYgYmluZDQ8CisgICAgICAgICAgICAgIHR5cGVuYW1lIEY6OnJlYmluZAorICAgICAgICAgICAgLCB0eXBlbmFtZSBsMTo6dHlwZSwgdHlwZW5hbWUgbDI6OnR5cGUsIHR5cGVuYW1lIGwzOjp0eXBlCisgICAgICAgICAgICAsIHR5cGVuYW1lIGw0Ojp0eXBlCisgICAgICAgICAgICA+IGJpbmRfOworCisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgaWZfPAorICAgICAgICAgICAgICBpc19sZQorICAgICAgICAgICAgLCBpZl88IFByb3RlY3QsIG1wbDo6cHJvdGVjdDxiaW5kXz4sIGJpbmRfID4KKyAgICAgICAgICAgICwgaWRlbnRpdHk8Rj4KKyAgICAgICAgICAgID46OnR5cGUgdHlwZV87CisKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSB0eXBlXzo6dHlwZSB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCBsYW1iZGFfaW1wbDwgaW50Xzw1PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIEYsIHR5cGVuYW1lIFRhZywgdHlwZW5hbWUgUHJvdGVjdCA+IHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIGxhbWJkYTwgdHlwZW5hbWUgRjo6YXJnMSwgVGFnLCBmYWxzZV8gPiBsMTsKKyAgICAgICAgdHlwZWRlZiBsYW1iZGE8IHR5cGVuYW1lIEY6OmFyZzIsIFRhZywgZmFsc2VfID4gbDI7CisgICAgICAgIHR5cGVkZWYgbGFtYmRhPCB0eXBlbmFtZSBGOjphcmczLCBUYWcsIGZhbHNlXyA+IGwzOworICAgICAgICB0eXBlZGVmIGxhbWJkYTwgdHlwZW5hbWUgRjo6YXJnNCwgVGFnLCBmYWxzZV8gPiBsNDsKKyAgICAgICAgdHlwZWRlZiBsYW1iZGE8IHR5cGVuYW1lIEY6OmFyZzUsIFRhZywgZmFsc2VfID4gbDU7CisgICAgICAgIAorICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGwxOjppc19sZSBpc19sZTE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbDI6OmlzX2xlIGlzX2xlMjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBsMzo6aXNfbGUgaXNfbGUzOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGw0Ojppc19sZSBpc19sZTQ7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbDU6OmlzX2xlIGlzX2xlNTsKKyAgICAgICAgCisKKyAgICAgICAgdHlwZWRlZiBhdXg6OmxhbWJkYV9vcjwKKyAgICAgICAgICAgICAgQk9PU1RfTVBMX0FVWF9NU1ZDX1ZBTFVFX1dLTkQoaXNfbGUxKTo6dmFsdWUsIEJPT1NUX01QTF9BVVhfTVNWQ19WQUxVRV9XS05EKGlzX2xlMik6OnZhbHVlLCBCT09TVF9NUExfQVVYX01TVkNfVkFMVUVfV0tORChpc19sZTMpOjp2YWx1ZSwgQk9PU1RfTVBMX0FVWF9NU1ZDX1ZBTFVFX1dLTkQoaXNfbGU0KTo6dmFsdWUsIEJPT1NUX01QTF9BVVhfTVNWQ19WQUxVRV9XS05EKGlzX2xlNSk6OnZhbHVlCisgICAgICAgICAgICA+IGlzX2xlOworCisgICAgICAgIHR5cGVkZWYgYmluZDU8CisgICAgICAgICAgICAgIHR5cGVuYW1lIEY6OnJlYmluZAorICAgICAgICAgICAgLCB0eXBlbmFtZSBsMTo6dHlwZSwgdHlwZW5hbWUgbDI6OnR5cGUsIHR5cGVuYW1lIGwzOjp0eXBlCisgICAgICAgICAgICAsIHR5cGVuYW1lIGw0Ojp0eXBlLCB0eXBlbmFtZSBsNTo6dHlwZQorICAgICAgICAgICAgPiBiaW5kXzsKKworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGlmXzwKKyAgICAgICAgICAgICAgaXNfbGUKKyAgICAgICAgICAgICwgaWZfPCBQcm90ZWN0LCBtcGw6OnByb3RlY3Q8YmluZF8+LCBiaW5kXyA+CisgICAgICAgICAgICAsIGlkZW50aXR5PEY+CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGVfOworCisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgdHlwZV86OnR5cGUgdHlwZTsKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVAorICAgICwgdHlwZW5hbWUgVGFnCisgICAgLCB0eXBlbmFtZSBQcm90ZWN0CisgICAgPgorc3RydWN0IGxhbWJkYQoreworICAgIC8vLyBNZXRhZnVuY3Rpb24gZm9yd2FyZGluZyBjb25mdXNlcyBNU1ZDIDYueAorICAgIHR5cGVkZWYgdHlwZW5hbWUgYXV4Ojp0ZW1wbGF0ZV9hcml0eTxUPjo6dHlwZSBhcml0eV87CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhdXg6OmxhbWJkYV9pbXBsPGFyaXR5Xz4KKyAgICAgICAgOjp0ZW1wbGF0ZSByZXN1bHRfPCBULFRhZyxQcm90ZWN0ID4gbF87CisKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxfOjp0eXBlIHR5cGU7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsXzo6aXNfbGUgaXNfbGU7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgzLCBsYW1iZGEsIChULCBUYWcsIFByb3RlY3QpKQorfTsKKworQk9PU1RfTVBMX0FVWF9OQV9TUEVDMigxLCAzLCBsYW1iZGEpCisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVAorICAgID4KK3N0cnVjdCBpc19sYW1iZGFfZXhwcmVzc2lvbgorICAgIDogbGFtYmRhPFQ+Ojppc19sZQoreworfTsKKworfX0KKwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL25vX2N0cHMvbGVzcy5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fY3Rwcy9sZXNzLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NDYwY2NhCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL25vX2N0cHMvbGVzcy5ocHAKQEAgLTAsMCArMSw5NCBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvbGVzcy5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUYWcxCisgICAgLCB0eXBlbmFtZSBUYWcyCisgICAgPgorc3RydWN0IGxlc3NfaW1wbAorICAgIDogaWZfYzwKKyAgICAgICAgICAoIEJPT1NUX01QTF9BVVhfTkVTVEVEX1ZBTFVFX1dLTkQoaW50LCBUYWcxKQorICAgICAgICAgICAgICA+IEJPT1NUX01QTF9BVVhfTkVTVEVEX1ZBTFVFX1dLTkQoaW50LCBUYWcyKQorICAgICAgICAgICAgKQorCisgICAgICAgICwgYXV4OjpjYXN0Mm5kX2ltcGw8IGxlc3NfaW1wbDwgVGFnMSxUYWcxID4sVGFnMSwgVGFnMiA+CisgICAgICAgICwgYXV4OjpjYXN0MXN0X2ltcGw8IGxlc3NfaW1wbDwgVGFnMixUYWcyID4sVGFnMSwgVGFnMiA+CisgICAgICAgID46OnR5cGUKK3sKK307CisKKy8vLyBmb3IgRGlnaXRhbCBNYXJzIEMrKy9jb21waWxlcnMgd2l0aCBubyBDVFBTL1RUUCBzdXBwb3J0Cit0ZW1wbGF0ZTw+IHN0cnVjdCBsZXNzX2ltcGw8IG5hLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCBsZXNzX2ltcGw8IG5hLGludGVncmFsX2NfdGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCBsZXNzX2ltcGw8IGludGVncmFsX2NfdGFnLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVCA+IHN0cnVjdCBsZXNzX3RhZworeworICAgIHR5cGVkZWYgdHlwZW5hbWUgVDo6dGFnIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjEpCisgICAgLCB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4yKQorICAgID4KK3N0cnVjdCBsZXNzCisKKyAgICA6IGxlc3NfaW1wbDwKKyAgICAgICAgICB0eXBlbmFtZSBsZXNzX3RhZzxOMT46OnR5cGUKKyAgICAgICAgLCB0eXBlbmFtZSBsZXNzX3RhZzxOMj46OnR5cGUKKyAgICAgICAgPjo6dGVtcGxhdGUgYXBwbHk8IE4xLE4yID46OnR5cGUKK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKDIsIGxlc3MsIChOMSwgTjIpKQorCit9OworCitCT09TVF9NUExfQVVYX05BX1NQRUMyKDIsIDIsIGxlc3MpCisKK319CisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgbGVzc19pbXBsPCBpbnRlZ3JhbF9jX3RhZyxpbnRlZ3JhbF9jX3RhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIE4xLCB0eXBlbmFtZSBOMiA+IHN0cnVjdCBhcHBseQorCisgICAgICAgIDogYm9vbF88ICggQk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4yKTo6dmFsdWUgPiBCT09TVF9NUExfQVVYX1ZBTFVFX1dLTkQoTjEpOjp2YWx1ZSApID4KKyAgICB7CisgICAgfTsKK307CisKK319CmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fY3Rwcy9sZXNzX2VxdWFsLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9ub19jdHBzL2xlc3NfZXF1YWwuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhkYTFlZGYKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fY3Rwcy9sZXNzX2VxdWFsLmhwcApAQCAtMCwwICsxLDk0IEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9sZXNzX2VxdWFsLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFRhZzEKKyAgICAsIHR5cGVuYW1lIFRhZzIKKyAgICA+CitzdHJ1Y3QgbGVzc19lcXVhbF9pbXBsCisgICAgOiBpZl9jPAorICAgICAgICAgICggQk9PU1RfTVBMX0FVWF9ORVNURURfVkFMVUVfV0tORChpbnQsIFRhZzEpCisgICAgICAgICAgICAgID4gQk9PU1RfTVBMX0FVWF9ORVNURURfVkFMVUVfV0tORChpbnQsIFRhZzIpCisgICAgICAgICAgICApCisKKyAgICAgICAgLCBhdXg6OmNhc3QybmRfaW1wbDwgbGVzc19lcXVhbF9pbXBsPCBUYWcxLFRhZzEgPixUYWcxLCBUYWcyID4KKyAgICAgICAgLCBhdXg6OmNhc3Qxc3RfaW1wbDwgbGVzc19lcXVhbF9pbXBsPCBUYWcyLFRhZzIgPixUYWcxLCBUYWcyID4KKyAgICAgICAgPjo6dHlwZQoreworfTsKKworLy8vIGZvciBEaWdpdGFsIE1hcnMgQysrL2NvbXBpbGVycyB3aXRoIG5vIENUUFMvVFRQIHN1cHBvcnQKK3RlbXBsYXRlPD4gc3RydWN0IGxlc3NfZXF1YWxfaW1wbDwgbmEsbmEgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4gc3RydWN0IGxlc3NfZXF1YWxfaW1wbDwgbmEsaW50ZWdyYWxfY190YWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4gc3RydWN0IGxlc3NfZXF1YWxfaW1wbDwgaW50ZWdyYWxfY190YWcsbmEgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUID4gc3RydWN0IGxlc3NfZXF1YWxfdGFnCit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBUOjp0YWcgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMSkKKyAgICAsIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjIpCisgICAgPgorc3RydWN0IGxlc3NfZXF1YWwKKworICAgIDogbGVzc19lcXVhbF9pbXBsPAorICAgICAgICAgIHR5cGVuYW1lIGxlc3NfZXF1YWxfdGFnPE4xPjo6dHlwZQorICAgICAgICAsIHR5cGVuYW1lIGxlc3NfZXF1YWxfdGFnPE4yPjo6dHlwZQorICAgICAgICA+Ojp0ZW1wbGF0ZSBhcHBseTwgTjEsTjIgPjo6dHlwZQoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoMiwgbGVzc19lcXVhbCwgKE4xLCBOMikpCisKK307CisKK0JPT1NUX01QTF9BVVhfTkFfU1BFQzIoMiwgMiwgbGVzc19lcXVhbCkKKworfX0KKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBsZXNzX2VxdWFsX2ltcGw8IGludGVncmFsX2NfdGFnLGludGVncmFsX2NfdGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgTjEsIHR5cGVuYW1lIE4yID4gc3RydWN0IGFwcGx5CisKKyAgICAgICAgOiBib29sXzwgKCBCT09TVF9NUExfQVVYX1ZBTFVFX1dLTkQoTjEpOjp2YWx1ZSA8PSBCT09TVF9NUExfQVVYX1ZBTFVFX1dLTkQoTjIpOjp2YWx1ZSApID4KKyAgICB7CisgICAgfTsKK307CisKK319CmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fY3Rwcy9saXN0LmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9ub19jdHBzL2xpc3QuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYzMDYyZDIKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fY3Rwcy9saXN0LmhwcApAQCAtMCwwICsxLDU1NiBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvbGlzdC5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKworbmFtZXNwYWNlIGF1eCB7Cit0ZW1wbGF0ZTwgaW50IE4gPgorc3RydWN0IGxpc3RfY2hvb3NlcjsKKworfQorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IGxpc3RfY2hvb3NlcjwwPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIGxpc3QwPAorICAgICAgICAgICAgIAorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IGxpc3RfY2hvb3NlcjwxPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3QxPAorICAgICAgICAgICAgICBUMAorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IGxpc3RfY2hvb3NlcjwyPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3QyPAorICAgICAgICAgICAgICBUMCwgVDEKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBsaXN0X2Nob29zZXI8Mz4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0MzwKKyAgICAgICAgICAgICAgVDAsIFQxLCBUMgorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IGxpc3RfY2hvb3Nlcjw0PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3Q0PAorICAgICAgICAgICAgICBUMCwgVDEsIFQyLCBUMworICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IGxpc3RfY2hvb3Nlcjw1PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3Q1PAorICAgICAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBsaXN0X2Nob29zZXI8Nj4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0NjwKKyAgICAgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNQorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IGxpc3RfY2hvb3Nlcjw3PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3Q3PAorICAgICAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNgorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IGxpc3RfY2hvb3Nlcjw4PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3Q4PAorICAgICAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBsaXN0X2Nob29zZXI8OT4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0OTwKKyAgICAgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOAorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IGxpc3RfY2hvb3NlcjwxMD4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0MTA8CisgICAgICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgbGlzdF9jaG9vc2VyPDExPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3QxMTwKKyAgICAgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMAorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IGxpc3RfY2hvb3NlcjwxMj4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0MTI8CisgICAgICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMQorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IGxpc3RfY2hvb3NlcjwxMz4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0MTM8CisgICAgICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgbGlzdF9jaG9vc2VyPDE0PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3QxNDwKKyAgICAgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMworICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IGxpc3RfY2hvb3NlcjwxNT4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0MTU8CisgICAgICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IGxpc3RfY2hvb3NlcjwxNj4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0MTY8CisgICAgICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNCwgVDE1CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgbGlzdF9jaG9vc2VyPDE3PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3QxNzwKKyAgICAgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0LCBUMTUsIFQxNgorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IGxpc3RfY2hvb3NlcjwxOD4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0MTg8CisgICAgICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNCwgVDE1LCBUMTYsIFQxNworICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IGxpc3RfY2hvb3NlcjwxOT4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0MTk8CisgICAgICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNCwgVDE1LCBUMTYsIFQxNywgVDE4CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgbGlzdF9jaG9vc2VyPDIwPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3QyMDwKKyAgICAgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0LCBUMTUsIFQxNiwgVDE3LCBUMTgsIFQxOQorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFQgPgorc3RydWN0IGlzX2xpc3RfYXJnCit7CisgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGJvb2wsIHZhbHVlICA9IHRydWUpOworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGlzX2xpc3RfYXJnPG5hPgoreworICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChib29sLCB2YWx1ZSAgPSBmYWxzZSk7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0LCB0eXBlbmFtZSBUNQorICAgICwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDksIHR5cGVuYW1lIFQxMAorICAgICwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0LCB0eXBlbmFtZSBUMTUKKyAgICAsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOSwgdHlwZW5hbWUgVDIwCisgICAgPgorc3RydWN0IGxpc3RfY291bnRfYXJncworeworICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlID0KKyAgICAgICAgICBpc19saXN0X2FyZzxUMT46OnZhbHVlICsgaXNfbGlzdF9hcmc8VDI+Ojp2YWx1ZSAKKyAgICAgICAgKyBpc19saXN0X2FyZzxUMz46OnZhbHVlICsgaXNfbGlzdF9hcmc8VDQ+Ojp2YWx1ZSAKKyAgICAgICAgKyBpc19saXN0X2FyZzxUNT46OnZhbHVlICsgaXNfbGlzdF9hcmc8VDY+Ojp2YWx1ZSAKKyAgICAgICAgKyBpc19saXN0X2FyZzxUNz46OnZhbHVlICsgaXNfbGlzdF9hcmc8VDg+Ojp2YWx1ZSAKKyAgICAgICAgKyBpc19saXN0X2FyZzxUOT46OnZhbHVlICsgaXNfbGlzdF9hcmc8VDEwPjo6dmFsdWUgCisgICAgICAgICsgaXNfbGlzdF9hcmc8VDExPjo6dmFsdWUgKyBpc19saXN0X2FyZzxUMTI+Ojp2YWx1ZSAKKyAgICAgICAgKyBpc19saXN0X2FyZzxUMTM+Ojp2YWx1ZSArIGlzX2xpc3RfYXJnPFQxND46OnZhbHVlIAorICAgICAgICArIGlzX2xpc3RfYXJnPFQxNT46OnZhbHVlICsgaXNfbGlzdF9hcmc8VDE2Pjo6dmFsdWUgCisgICAgICAgICsgaXNfbGlzdF9hcmc8VDE3Pjo6dmFsdWUgKyBpc19saXN0X2FyZzxUMTg+Ojp2YWx1ZSAKKyAgICAgICAgKyBpc19saXN0X2FyZzxUMTk+Ojp2YWx1ZSArIGlzX2xpc3RfYXJnPFQyMD46OnZhbHVlCisgICAgICAgICk7CisKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgID4KK3N0cnVjdCBsaXN0X2ltcGwKK3sKKyAgICB0eXBlZGVmIGF1eDo6bGlzdF9jb3VudF9hcmdzPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNCwgVDE1LCBUMTYsIFQxNywgVDE4LCBUMTkKKyAgICAgICAgPiBhcmdfbnVtXzsKKworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXV4OjpsaXN0X2Nob29zZXI8IGFyZ19udW1fOjp2YWx1ZSA+CisgICAgICAgIDo6dGVtcGxhdGUgcmVzdWx0XzwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzLFQxNCxUMTUsVDE2LFQxNyxUMTgsVDE5ID46OnR5cGUgdHlwZTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwID0gbmEsIHR5cGVuYW1lIFQxID0gbmEsIHR5cGVuYW1lIFQyID0gbmEsIHR5cGVuYW1lIFQzID0gbmEKKyAgICAsIHR5cGVuYW1lIFQ0ID0gbmEsIHR5cGVuYW1lIFQ1ID0gbmEsIHR5cGVuYW1lIFQ2ID0gbmEsIHR5cGVuYW1lIFQ3ID0gbmEKKyAgICAsIHR5cGVuYW1lIFQ4ID0gbmEsIHR5cGVuYW1lIFQ5ID0gbmEsIHR5cGVuYW1lIFQxMCA9IG5hLCB0eXBlbmFtZSBUMTEgPSBuYQorICAgICwgdHlwZW5hbWUgVDEyID0gbmEsIHR5cGVuYW1lIFQxMyA9IG5hLCB0eXBlbmFtZSBUMTQgPSBuYQorICAgICwgdHlwZW5hbWUgVDE1ID0gbmEsIHR5cGVuYW1lIFQxNiA9IG5hLCB0eXBlbmFtZSBUMTcgPSBuYQorICAgICwgdHlwZW5hbWUgVDE4ID0gbmEsIHR5cGVuYW1lIFQxOSA9IG5hCisgICAgPgorc3RydWN0IGxpc3QKKyAgICA6IGF1eDo6bGlzdF9pbXBsPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNCwgVDE1LCBUMTYsIFQxNywgVDE4LCBUMTkKKyAgICAgICAgPjo6dHlwZQoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXV4OjpsaXN0X2ltcGw8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0LCBUMTUsIFQxNiwgVDE3LCBUMTgsIFQxOQorICAgICAgICA+Ojp0eXBlIHR5cGU7Cit9OworCit9fQorCmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fY3Rwcy9saXN0X2MuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL25vX2N0cHMvbGlzdF9jLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMTBmOTJlCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL25vX2N0cHMvbGlzdF9jLmhwcApAQCAtMCwwICsxLDUzNCBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvbGlzdF9jLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCituYW1lc3BhY2UgYXV4IHsKK3RlbXBsYXRlPCBpbnQgTiA+CitzdHJ1Y3QgbGlzdF9jX2Nob29zZXI7CisKK30KKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBsaXN0X2NfY2hvb3NlcjwwPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNSwgbG9uZyBDMTYsIGxvbmcgQzE3LCBsb25nIEMxOCwgbG9uZyBDMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3QwX2M8CisgICAgICAgICAgICAgIFQKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBsaXN0X2NfY2hvb3NlcjwxPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNSwgbG9uZyBDMTYsIGxvbmcgQzE3LCBsb25nIEMxOCwgbG9uZyBDMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3QxX2M8CisgICAgICAgICAgICAgIFQsIEMwCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgbGlzdF9jX2Nob29zZXI8Mj4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgICAgICAsIGxvbmcgQzEzLCBsb25nIEMxNCwgbG9uZyBDMTUsIGxvbmcgQzE2LCBsb25nIEMxNywgbG9uZyBDMTgsIGxvbmcgQzE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0Ml9jPAorICAgICAgICAgICAgICBULCBDMCwgQzEKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBsaXN0X2NfY2hvb3NlcjwzPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNSwgbG9uZyBDMTYsIGxvbmcgQzE3LCBsb25nIEMxOCwgbG9uZyBDMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3QzX2M8CisgICAgICAgICAgICAgIFQsIEMwLCBDMSwgQzIKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBsaXN0X2NfY2hvb3Nlcjw0PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNSwgbG9uZyBDMTYsIGxvbmcgQzE3LCBsb25nIEMxOCwgbG9uZyBDMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3Q0X2M8CisgICAgICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgbGlzdF9jX2Nob29zZXI8NT4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgICAgICAsIGxvbmcgQzEzLCBsb25nIEMxNCwgbG9uZyBDMTUsIGxvbmcgQzE2LCBsb25nIEMxNywgbG9uZyBDMTgsIGxvbmcgQzE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0NV9jPAorICAgICAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBsaXN0X2NfY2hvb3Nlcjw2PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNSwgbG9uZyBDMTYsIGxvbmcgQzE3LCBsb25nIEMxOCwgbG9uZyBDMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3Q2X2M8CisgICAgICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBsaXN0X2NfY2hvb3Nlcjw3PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNSwgbG9uZyBDMTYsIGxvbmcgQzE3LCBsb25nIEMxOCwgbG9uZyBDMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3Q3X2M8CisgICAgICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgbGlzdF9jX2Nob29zZXI8OD4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgICAgICAsIGxvbmcgQzEzLCBsb25nIEMxNCwgbG9uZyBDMTUsIGxvbmcgQzE2LCBsb25nIEMxNywgbG9uZyBDMTgsIGxvbmcgQzE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0OF9jPAorICAgICAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBsaXN0X2NfY2hvb3Nlcjw5PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNSwgbG9uZyBDMTYsIGxvbmcgQzE3LCBsb25nIEMxOCwgbG9uZyBDMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3Q5X2M8CisgICAgICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBsaXN0X2NfY2hvb3NlcjwxMD4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgICAgICAsIGxvbmcgQzEzLCBsb25nIEMxNCwgbG9uZyBDMTUsIGxvbmcgQzE2LCBsb25nIEMxNywgbG9uZyBDMTgsIGxvbmcgQzE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0MTBfYzwKKyAgICAgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzkKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBsaXN0X2NfY2hvb3NlcjwxMT4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgICAgICAsIGxvbmcgQzEzLCBsb25nIEMxNCwgbG9uZyBDMTUsIGxvbmcgQzE2LCBsb25nIEMxNywgbG9uZyBDMTgsIGxvbmcgQzE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0MTFfYzwKKyAgICAgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMAorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IGxpc3RfY19jaG9vc2VyPDEyPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNSwgbG9uZyBDMTYsIGxvbmcgQzE3LCBsb25nIEMxOCwgbG9uZyBDMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3QxMl9jPAorICAgICAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBsaXN0X2NfY2hvb3NlcjwxMz4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgICAgICAsIGxvbmcgQzEzLCBsb25nIEMxNCwgbG9uZyBDMTUsIGxvbmcgQzE2LCBsb25nIEMxNywgbG9uZyBDMTgsIGxvbmcgQzE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0MTNfYzwKKyAgICAgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBDMTIKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBsaXN0X2NfY2hvb3NlcjwxND4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgICAgICAsIGxvbmcgQzEzLCBsb25nIEMxNCwgbG9uZyBDMTUsIGxvbmcgQzE2LCBsb25nIEMxNywgbG9uZyBDMTgsIGxvbmcgQzE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0MTRfYzwKKyAgICAgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBDMTIsIEMxMworICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IGxpc3RfY19jaG9vc2VyPDE1PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNSwgbG9uZyBDMTYsIGxvbmcgQzE3LCBsb25nIEMxOCwgbG9uZyBDMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3QxNV9jPAorICAgICAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIEMxMiwgQzEzLCBDMTQKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBsaXN0X2NfY2hvb3NlcjwxNj4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgICAgICAsIGxvbmcgQzEzLCBsb25nIEMxNCwgbG9uZyBDMTUsIGxvbmcgQzE2LCBsb25nIEMxNywgbG9uZyBDMTgsIGxvbmcgQzE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0MTZfYzwKKyAgICAgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBDMTIsIEMxMywgQzE0LCBDMTUKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBsaXN0X2NfY2hvb3NlcjwxNz4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgICAgICAsIGxvbmcgQzEzLCBsb25nIEMxNCwgbG9uZyBDMTUsIGxvbmcgQzE2LCBsb25nIEMxNywgbG9uZyBDMTgsIGxvbmcgQzE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0MTdfYzwKKyAgICAgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBDMTIsIEMxMywgQzE0LCBDMTUsIEMxNgorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IGxpc3RfY19jaG9vc2VyPDE4PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNSwgbG9uZyBDMTYsIGxvbmcgQzE3LCBsb25nIEMxOCwgbG9uZyBDMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3QxOF9jPAorICAgICAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIEMxMiwgQzEzLCBDMTQsIEMxNSwgQzE2LCBDMTcKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBsaXN0X2NfY2hvb3NlcjwxOT4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgICAgICAsIGxvbmcgQzEzLCBsb25nIEMxNCwgbG9uZyBDMTUsIGxvbmcgQzE2LCBsb25nIEMxNywgbG9uZyBDMTgsIGxvbmcgQzE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0MTlfYzwKKyAgICAgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBDMTIsIEMxMywgQzE0LCBDMTUsIEMxNiwgQzE3LCBDMTgKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBsaXN0X2NfY2hvb3NlcjwyMD4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgICAgICAsIGxvbmcgQzEzLCBsb25nIEMxNCwgbG9uZyBDMTUsIGxvbmcgQzE2LCBsb25nIEMxNywgbG9uZyBDMTgsIGxvbmcgQzE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0MjBfYzwKKyAgICAgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBDMTIsIEMxMywgQzE0LCBDMTUsIEMxNiwgQzE3LCBDMTgsIEMxOQorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8IGxvbmcgQyA+CitzdHJ1Y3QgaXNfbGlzdF9jX2FyZworeworICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChib29sLCB2YWx1ZSAgPSB0cnVlKTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBpc19saXN0X2NfYXJnPExPTkdfTUFYPgoreworICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChib29sLCB2YWx1ZSAgPSBmYWxzZSk7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgKKyAgICAsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIsIGxvbmcgQzEzLCBsb25nIEMxNCwgbG9uZyBDMTUKKyAgICAsIGxvbmcgQzE2LCBsb25nIEMxNywgbG9uZyBDMTgsIGxvbmcgQzE5LCBsb25nIEMyMAorICAgID4KK3N0cnVjdCBsaXN0X2NfY291bnRfYXJncworeworICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlID0KKyAgICAgICAgICBpc19saXN0X2NfYXJnPEMxPjo6dmFsdWUgKyBpc19saXN0X2NfYXJnPEMyPjo6dmFsdWUgCisgICAgICAgICsgaXNfbGlzdF9jX2FyZzxDMz46OnZhbHVlICsgaXNfbGlzdF9jX2FyZzxDND46OnZhbHVlIAorICAgICAgICArIGlzX2xpc3RfY19hcmc8QzU+Ojp2YWx1ZSArIGlzX2xpc3RfY19hcmc8QzY+Ojp2YWx1ZSAKKyAgICAgICAgKyBpc19saXN0X2NfYXJnPEM3Pjo6dmFsdWUgKyBpc19saXN0X2NfYXJnPEM4Pjo6dmFsdWUgCisgICAgICAgICsgaXNfbGlzdF9jX2FyZzxDOT46OnZhbHVlICsgaXNfbGlzdF9jX2FyZzxDMTA+Ojp2YWx1ZSAKKyAgICAgICAgKyBpc19saXN0X2NfYXJnPEMxMT46OnZhbHVlICsgaXNfbGlzdF9jX2FyZzxDMTI+Ojp2YWx1ZSAKKyAgICAgICAgKyBpc19saXN0X2NfYXJnPEMxMz46OnZhbHVlICsgaXNfbGlzdF9jX2FyZzxDMTQ+Ojp2YWx1ZSAKKyAgICAgICAgKyBpc19saXN0X2NfYXJnPEMxNT46OnZhbHVlICsgaXNfbGlzdF9jX2FyZzxDMTY+Ojp2YWx1ZSAKKyAgICAgICAgKyBpc19saXN0X2NfYXJnPEMxNz46OnZhbHVlICsgaXNfbGlzdF9jX2FyZzxDMTg+Ojp2YWx1ZSAKKyAgICAgICAgKyBpc19saXN0X2NfYXJnPEMxOT46OnZhbHVlICsgaXNfbGlzdF9jX2FyZzxDMjA+Ojp2YWx1ZQorICAgICAgICApOworCit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAsIGxvbmcgQzEzLCBsb25nIEMxNCwgbG9uZyBDMTUsIGxvbmcgQzE2LCBsb25nIEMxNywgbG9uZyBDMTgsIGxvbmcgQzE5CisgICAgPgorc3RydWN0IGxpc3RfY19pbXBsCit7CisgICAgdHlwZWRlZiBhdXg6Omxpc3RfY19jb3VudF9hcmdzPAorICAgICAgICAgIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMsIEMxNCwgQzE1LCBDMTYsIEMxNywgQzE4LCBDMTkKKyAgICAgICAgPiBhcmdfbnVtXzsKKworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXV4OjpsaXN0X2NfY2hvb3NlcjwgYXJnX251bV86OnZhbHVlID4KKyAgICAgICAgOjp0ZW1wbGF0ZSByZXN1bHRfPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2LEM3LEM4LEM5LEMxMCxDMTEsQzEyLEMxMyxDMTQsQzE1LEMxNixDMTcsQzE4LEMxOSA+Ojp0eXBlIHR5cGU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwID0gTE9OR19NQVgsIGxvbmcgQzEgPSBMT05HX01BWCwgbG9uZyBDMiA9IExPTkdfTUFYCisgICAgLCBsb25nIEMzID0gTE9OR19NQVgsIGxvbmcgQzQgPSBMT05HX01BWCwgbG9uZyBDNSA9IExPTkdfTUFYCisgICAgLCBsb25nIEM2ID0gTE9OR19NQVgsIGxvbmcgQzcgPSBMT05HX01BWCwgbG9uZyBDOCA9IExPTkdfTUFYCisgICAgLCBsb25nIEM5ID0gTE9OR19NQVgsIGxvbmcgQzEwID0gTE9OR19NQVgsIGxvbmcgQzExID0gTE9OR19NQVgKKyAgICAsIGxvbmcgQzEyID0gTE9OR19NQVgsIGxvbmcgQzEzID0gTE9OR19NQVgsIGxvbmcgQzE0ID0gTE9OR19NQVgKKyAgICAsIGxvbmcgQzE1ID0gTE9OR19NQVgsIGxvbmcgQzE2ID0gTE9OR19NQVgsIGxvbmcgQzE3ID0gTE9OR19NQVgKKyAgICAsIGxvbmcgQzE4ID0gTE9OR19NQVgsIGxvbmcgQzE5ID0gTE9OR19NQVgKKyAgICA+CitzdHJ1Y3QgbGlzdF9jCisgICAgOiBhdXg6Omxpc3RfY19pbXBsPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMsIEMxNCwgQzE1LCBDMTYsIEMxNywgQzE4LCBDMTkKKyAgICAgICAgPjo6dHlwZQoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXV4OjpsaXN0X2NfaW1wbDwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIEMxMiwgQzEzLCBDMTQsIEMxNSwgQzE2LCBDMTcsIEMxOCwgQzE5CisgICAgICAgID46OnR5cGUgdHlwZTsKK307CisKK319CisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9ub19jdHBzL21hcC5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fY3Rwcy9tYXAuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMwNjY2MDMKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fY3Rwcy9tYXAuaHBwCkBAIC0wLDAgKzEsNTU2IEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9tYXAuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK25hbWVzcGFjZSBhdXggewordGVtcGxhdGU8IGludCBOID4KK3N0cnVjdCBtYXBfY2hvb3NlcjsKKworfQorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IG1hcF9jaG9vc2VyPDA+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgbWFwMDwKKyAgICAgICAgICAgICAKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBtYXBfY2hvb3NlcjwxPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG1hcDE8CisgICAgICAgICAgICAgIFQwCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgbWFwX2Nob29zZXI8Mj4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBtYXAyPAorICAgICAgICAgICAgICBUMCwgVDEKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBtYXBfY2hvb3NlcjwzPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG1hcDM8CisgICAgICAgICAgICAgIFQwLCBUMSwgVDIKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBtYXBfY2hvb3Nlcjw0PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG1hcDQ8CisgICAgICAgICAgICAgIFQwLCBUMSwgVDIsIFQzCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgbWFwX2Nob29zZXI8NT4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBtYXA1PAorICAgICAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBtYXBfY2hvb3Nlcjw2PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG1hcDY8CisgICAgICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBtYXBfY2hvb3Nlcjw3PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG1hcDc8CisgICAgICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgbWFwX2Nob29zZXI8OD4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBtYXA4PAorICAgICAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBtYXBfY2hvb3Nlcjw5PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG1hcDk8CisgICAgICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBtYXBfY2hvb3NlcjwxMD4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBtYXAxMDwKKyAgICAgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDkKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBtYXBfY2hvb3NlcjwxMT4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBtYXAxMTwKKyAgICAgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMAorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IG1hcF9jaG9vc2VyPDEyPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG1hcDEyPAorICAgICAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBtYXBfY2hvb3NlcjwxMz4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBtYXAxMzwKKyAgICAgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBtYXBfY2hvb3NlcjwxND4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBtYXAxNDwKKyAgICAgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMworICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IG1hcF9jaG9vc2VyPDE1PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG1hcDE1PAorICAgICAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBtYXBfY2hvb3NlcjwxNj4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBtYXAxNjwKKyAgICAgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0LCBUMTUKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBtYXBfY2hvb3NlcjwxNz4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBtYXAxNzwKKyAgICAgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0LCBUMTUsIFQxNgorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IG1hcF9jaG9vc2VyPDE4PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG1hcDE4PAorICAgICAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQsIFQxNSwgVDE2LCBUMTcKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBtYXBfY2hvb3NlcjwxOT4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBtYXAxOTwKKyAgICAgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0LCBUMTUsIFQxNiwgVDE3LCBUMTgKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBtYXBfY2hvb3NlcjwyMD4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBtYXAyMDwKKyAgICAgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0LCBUMTUsIFQxNiwgVDE3LCBUMTgsIFQxOQorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFQgPgorc3RydWN0IGlzX21hcF9hcmcKK3sKKyAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoYm9vbCwgdmFsdWUgID0gdHJ1ZSk7Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgaXNfbWFwX2FyZzxuYT4KK3sKKyAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoYm9vbCwgdmFsdWUgID0gZmFsc2UpOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNCwgdHlwZW5hbWUgVDUKKyAgICAsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5LCB0eXBlbmFtZSBUMTAKKyAgICAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNCwgdHlwZW5hbWUgVDE1CisgICAgLCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTksIHR5cGVuYW1lIFQyMAorICAgID4KK3N0cnVjdCBtYXBfY291bnRfYXJncworeworICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlID0KKyAgICAgICAgICBpc19tYXBfYXJnPFQxPjo6dmFsdWUgKyBpc19tYXBfYXJnPFQyPjo6dmFsdWUgCisgICAgICAgICsgaXNfbWFwX2FyZzxUMz46OnZhbHVlICsgaXNfbWFwX2FyZzxUND46OnZhbHVlIAorICAgICAgICArIGlzX21hcF9hcmc8VDU+Ojp2YWx1ZSArIGlzX21hcF9hcmc8VDY+Ojp2YWx1ZSAKKyAgICAgICAgKyBpc19tYXBfYXJnPFQ3Pjo6dmFsdWUgKyBpc19tYXBfYXJnPFQ4Pjo6dmFsdWUgCisgICAgICAgICsgaXNfbWFwX2FyZzxUOT46OnZhbHVlICsgaXNfbWFwX2FyZzxUMTA+Ojp2YWx1ZSAKKyAgICAgICAgKyBpc19tYXBfYXJnPFQxMT46OnZhbHVlICsgaXNfbWFwX2FyZzxUMTI+Ojp2YWx1ZSAKKyAgICAgICAgKyBpc19tYXBfYXJnPFQxMz46OnZhbHVlICsgaXNfbWFwX2FyZzxUMTQ+Ojp2YWx1ZSAKKyAgICAgICAgKyBpc19tYXBfYXJnPFQxNT46OnZhbHVlICsgaXNfbWFwX2FyZzxUMTY+Ojp2YWx1ZSAKKyAgICAgICAgKyBpc19tYXBfYXJnPFQxNz46OnZhbHVlICsgaXNfbWFwX2FyZzxUMTg+Ojp2YWx1ZSAKKyAgICAgICAgKyBpc19tYXBfYXJnPFQxOT46OnZhbHVlICsgaXNfbWFwX2FyZzxUMjA+Ojp2YWx1ZQorICAgICAgICApOworCit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICA+CitzdHJ1Y3QgbWFwX2ltcGwKK3sKKyAgICB0eXBlZGVmIGF1eDo6bWFwX2NvdW50X2FyZ3M8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0LCBUMTUsIFQxNiwgVDE3LCBUMTgsIFQxOQorICAgICAgICA+IGFyZ19udW1fOworCisgICAgdHlwZWRlZiB0eXBlbmFtZSBhdXg6Om1hcF9jaG9vc2VyPCBhcmdfbnVtXzo6dmFsdWUgPgorICAgICAgICA6OnRlbXBsYXRlIHJlc3VsdF88IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyxUMTQsVDE1LFQxNixUMTcsVDE4LFQxOSA+Ojp0eXBlIHR5cGU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCA9IG5hLCB0eXBlbmFtZSBUMSA9IG5hLCB0eXBlbmFtZSBUMiA9IG5hLCB0eXBlbmFtZSBUMyA9IG5hCisgICAgLCB0eXBlbmFtZSBUNCA9IG5hLCB0eXBlbmFtZSBUNSA9IG5hLCB0eXBlbmFtZSBUNiA9IG5hLCB0eXBlbmFtZSBUNyA9IG5hCisgICAgLCB0eXBlbmFtZSBUOCA9IG5hLCB0eXBlbmFtZSBUOSA9IG5hLCB0eXBlbmFtZSBUMTAgPSBuYSwgdHlwZW5hbWUgVDExID0gbmEKKyAgICAsIHR5cGVuYW1lIFQxMiA9IG5hLCB0eXBlbmFtZSBUMTMgPSBuYSwgdHlwZW5hbWUgVDE0ID0gbmEKKyAgICAsIHR5cGVuYW1lIFQxNSA9IG5hLCB0eXBlbmFtZSBUMTYgPSBuYSwgdHlwZW5hbWUgVDE3ID0gbmEKKyAgICAsIHR5cGVuYW1lIFQxOCA9IG5hLCB0eXBlbmFtZSBUMTkgPSBuYQorICAgID4KK3N0cnVjdCBtYXAKKyAgICA6IGF1eDo6bWFwX2ltcGw8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0LCBUMTUsIFQxNiwgVDE3LCBUMTgsIFQxOQorICAgICAgICA+Ojp0eXBlCit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhdXg6Om1hcF9pbXBsPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNCwgVDE1LCBUMTYsIFQxNywgVDE4LCBUMTkKKyAgICAgICAgPjo6dHlwZSB0eXBlOworfTsKKworfX0KKwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL25vX2N0cHMvbWludXMuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL25vX2N0cHMvbWludXMuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE2MTUyMTAKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fY3Rwcy9taW51cy5ocHAKQEAgLTAsMCArMSwxMzMgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL21pbnVzLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFRhZzEKKyAgICAsIHR5cGVuYW1lIFRhZzIKKyAgICA+CitzdHJ1Y3QgbWludXNfaW1wbAorICAgIDogaWZfYzwKKyAgICAgICAgICAoIEJPT1NUX01QTF9BVVhfTkVTVEVEX1ZBTFVFX1dLTkQoaW50LCBUYWcxKQorICAgICAgICAgICAgICA+IEJPT1NUX01QTF9BVVhfTkVTVEVEX1ZBTFVFX1dLTkQoaW50LCBUYWcyKQorICAgICAgICAgICAgKQorCisgICAgICAgICwgYXV4OjpjYXN0Mm5kX2ltcGw8IG1pbnVzX2ltcGw8IFRhZzEsVGFnMSA+LFRhZzEsIFRhZzIgPgorICAgICAgICAsIGF1eDo6Y2FzdDFzdF9pbXBsPCBtaW51c19pbXBsPCBUYWcyLFRhZzIgPixUYWcxLCBUYWcyID4KKyAgICAgICAgPjo6dHlwZQoreworfTsKKworLy8vIGZvciBEaWdpdGFsIE1hcnMgQysrL2NvbXBpbGVycyB3aXRoIG5vIENUUFMvVFRQIHN1cHBvcnQKK3RlbXBsYXRlPD4gc3RydWN0IG1pbnVzX2ltcGw8IG5hLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCBtaW51c19pbXBsPCBuYSxpbnRlZ3JhbF9jX3RhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgbWludXNfaW1wbDwgaW50ZWdyYWxfY190YWcsbmEgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUID4gc3RydWN0IG1pbnVzX3RhZworeworICAgIHR5cGVkZWYgdHlwZW5hbWUgVDo6dGFnIHR5cGU7Cit9OworCisvLy8gZm9yd2FyZCBkZWNsYXJhdGlvbgorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjEpCisgICAgLCB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4yKQorICAgID4KK3N0cnVjdCBtaW51czI7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMSkKKyAgICAsIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjIpCisgICAgLCB0eXBlbmFtZSBOMyA9IG5hLCB0eXBlbmFtZSBONCA9IG5hLCB0eXBlbmFtZSBONSA9IG5hCisgICAgPgorc3RydWN0IG1pbnVzCisKKyAgICA6IGlmXzwKKworICAgICAgICAgIGlzX25hPE4zPgorICAgICAgICAsIG1pbnVzMjwgTjEsTjIgPgorICAgICAgICAsIG1pbnVzPAorICAgICAgICAgICAgICBtaW51czI8IE4xLE4yID4KKyAgICAgICAgICAgICwgTjMsIE40LCBONQorICAgICAgICAgICAgPgorICAgICAgICA+Ojp0eXBlCisKK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKAorICAgICAgICAgIDUKKyAgICAgICAgLCBtaW51cworICAgICAgICAsICggTjEsIE4yLCBOMywgTjQsIE41ICkKKyAgICAgICAgKQorfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBOMQorICAgICwgdHlwZW5hbWUgTjIKKyAgICA+CitzdHJ1Y3QgbWludXMyCisgICAgOiBtaW51c19pbXBsPAorICAgICAgICAgIHR5cGVuYW1lIG1pbnVzX3RhZzxOMT46OnR5cGUKKyAgICAgICAgLCB0eXBlbmFtZSBtaW51c190YWc8TjI+Ojp0eXBlCisgICAgICAgID46OnRlbXBsYXRlIGFwcGx5PCBOMSxOMiA+Ojp0eXBlCit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgyLCBtaW51czIsIChOMSwgTjIpKQorCit9OworCitCT09TVF9NUExfQVVYX05BX1NQRUMyKDIsIDUsIG1pbnVzKQorCit9fQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKK3RlbXBsYXRlPD4KK3N0cnVjdCBtaW51c19pbXBsPCBpbnRlZ3JhbF9jX3RhZyxpbnRlZ3JhbF9jX3RhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIE4xLCB0eXBlbmFtZSBOMiA+IHN0cnVjdCBhcHBseQorCisgICAgICAgIDogaW50ZWdyYWxfYzwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgYXV4OjpsYXJnZXN0X2ludDwKKyAgICAgICAgICAgICAgICAgIHR5cGVuYW1lIE4xOjp2YWx1ZV90eXBlCisgICAgICAgICAgICAgICAgLCB0eXBlbmFtZSBOMjo6dmFsdWVfdHlwZQorICAgICAgICAgICAgICAgID46OnR5cGUKKyAgICAgICAgICAgICwgKCBCT09TVF9NUExfQVVYX1ZBTFVFX1dLTkQoTjEpOjp2YWx1ZQorICAgICAgICAgICAgICAgICAgLSBCT09TVF9NUExfQVVYX1ZBTFVFX1dLTkQoTjIpOjp2YWx1ZQorICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgID4KKyAgICB7CisgICAgfTsKK307CisKK319CmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fY3Rwcy9tb2R1bHVzLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9ub19jdHBzL21vZHVsdXMuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEzYzc1ZDQKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fY3Rwcy9tb2R1bHVzLmhwcApAQCAtMCwwICsxLDEwMSBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvbW9kdWx1cy5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUYWcxCisgICAgLCB0eXBlbmFtZSBUYWcyCisgICAgPgorc3RydWN0IG1vZHVsdXNfaW1wbAorICAgIDogaWZfYzwKKyAgICAgICAgICAoIEJPT1NUX01QTF9BVVhfTkVTVEVEX1ZBTFVFX1dLTkQoaW50LCBUYWcxKQorICAgICAgICAgICAgICA+IEJPT1NUX01QTF9BVVhfTkVTVEVEX1ZBTFVFX1dLTkQoaW50LCBUYWcyKQorICAgICAgICAgICAgKQorCisgICAgICAgICwgYXV4OjpjYXN0Mm5kX2ltcGw8IG1vZHVsdXNfaW1wbDwgVGFnMSxUYWcxID4sVGFnMSwgVGFnMiA+CisgICAgICAgICwgYXV4OjpjYXN0MXN0X2ltcGw8IG1vZHVsdXNfaW1wbDwgVGFnMixUYWcyID4sVGFnMSwgVGFnMiA+CisgICAgICAgID46OnR5cGUKK3sKK307CisKKy8vLyBmb3IgRGlnaXRhbCBNYXJzIEMrKy9jb21waWxlcnMgd2l0aCBubyBDVFBTL1RUUCBzdXBwb3J0Cit0ZW1wbGF0ZTw+IHN0cnVjdCBtb2R1bHVzX2ltcGw8IG5hLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCBtb2R1bHVzX2ltcGw8IG5hLGludGVncmFsX2NfdGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCBtb2R1bHVzX2ltcGw8IGludGVncmFsX2NfdGFnLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVCA+IHN0cnVjdCBtb2R1bHVzX3RhZworeworICAgIHR5cGVkZWYgdHlwZW5hbWUgVDo6dGFnIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjEpCisgICAgLCB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4yKQorICAgID4KK3N0cnVjdCBtb2R1bHVzCisKKyAgICA6IG1vZHVsdXNfaW1wbDwKKyAgICAgICAgICB0eXBlbmFtZSBtb2R1bHVzX3RhZzxOMT46OnR5cGUKKyAgICAgICAgLCB0eXBlbmFtZSBtb2R1bHVzX3RhZzxOMj46OnR5cGUKKyAgICAgICAgPjo6dGVtcGxhdGUgYXBwbHk8IE4xLE4yID46OnR5cGUKK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKDIsIG1vZHVsdXMsIChOMSwgTjIpKQorCit9OworCitCT09TVF9NUExfQVVYX05BX1NQRUMyKDIsIDIsIG1vZHVsdXMpCisKK319CisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgewordGVtcGxhdGU8Pgorc3RydWN0IG1vZHVsdXNfaW1wbDwgaW50ZWdyYWxfY190YWcsaW50ZWdyYWxfY190YWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBOMSwgdHlwZW5hbWUgTjIgPiBzdHJ1Y3QgYXBwbHkKKworICAgICAgICA6IGludGVncmFsX2M8CisgICAgICAgICAgICAgIHR5cGVuYW1lIGF1eDo6bGFyZ2VzdF9pbnQ8CisgICAgICAgICAgICAgICAgICB0eXBlbmFtZSBOMTo6dmFsdWVfdHlwZQorICAgICAgICAgICAgICAgICwgdHlwZW5hbWUgTjI6OnZhbHVlX3R5cGUKKyAgICAgICAgICAgICAgICA+Ojp0eXBlCisgICAgICAgICAgICAsICggQk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4xKTo6dmFsdWUKKyAgICAgICAgICAgICAgICAgICUgQk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4yKTo6dmFsdWUKKyAgICAgICAgICAgICAgICApCisgICAgICAgICAgICA+CisgICAgeworICAgIH07Cit9OworCit9fQpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL25vX2N0cHMvbm90X2VxdWFsX3RvLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9ub19jdHBzL25vdF9lcXVhbF90by5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjhjNGE0NwotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9ub19jdHBzL25vdF9lcXVhbF90by5ocHAKQEAgLTAsMCArMSw5NCBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvbm90X2VxdWFsX3RvLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFRhZzEKKyAgICAsIHR5cGVuYW1lIFRhZzIKKyAgICA+CitzdHJ1Y3Qgbm90X2VxdWFsX3RvX2ltcGwKKyAgICA6IGlmX2M8CisgICAgICAgICAgKCBCT09TVF9NUExfQVVYX05FU1RFRF9WQUxVRV9XS05EKGludCwgVGFnMSkKKyAgICAgICAgICAgICAgPiBCT09TVF9NUExfQVVYX05FU1RFRF9WQUxVRV9XS05EKGludCwgVGFnMikKKyAgICAgICAgICAgICkKKworICAgICAgICAsIGF1eDo6Y2FzdDJuZF9pbXBsPCBub3RfZXF1YWxfdG9faW1wbDwgVGFnMSxUYWcxID4sVGFnMSwgVGFnMiA+CisgICAgICAgICwgYXV4OjpjYXN0MXN0X2ltcGw8IG5vdF9lcXVhbF90b19pbXBsPCBUYWcyLFRhZzIgPixUYWcxLCBUYWcyID4KKyAgICAgICAgPjo6dHlwZQoreworfTsKKworLy8vIGZvciBEaWdpdGFsIE1hcnMgQysrL2NvbXBpbGVycyB3aXRoIG5vIENUUFMvVFRQIHN1cHBvcnQKK3RlbXBsYXRlPD4gc3RydWN0IG5vdF9lcXVhbF90b19pbXBsPCBuYSxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3Qgbm90X2VxdWFsX3RvX2ltcGw8IG5hLGludGVncmFsX2NfdGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCBub3RfZXF1YWxfdG9faW1wbDwgaW50ZWdyYWxfY190YWcsbmEgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUID4gc3RydWN0IG5vdF9lcXVhbF90b190YWcKK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIFQ6OnRhZyB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4xKQorICAgICwgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMikKKyAgICA+CitzdHJ1Y3Qgbm90X2VxdWFsX3RvCisKKyAgICA6IG5vdF9lcXVhbF90b19pbXBsPAorICAgICAgICAgIHR5cGVuYW1lIG5vdF9lcXVhbF90b190YWc8TjE+Ojp0eXBlCisgICAgICAgICwgdHlwZW5hbWUgbm90X2VxdWFsX3RvX3RhZzxOMj46OnR5cGUKKyAgICAgICAgPjo6dGVtcGxhdGUgYXBwbHk8IE4xLE4yID46OnR5cGUKK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKDIsIG5vdF9lcXVhbF90bywgKE4xLCBOMikpCisKK307CisKK0JPT1NUX01QTF9BVVhfTkFfU1BFQzIoMiwgMiwgbm90X2VxdWFsX3RvKQorCit9fQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8Pgorc3RydWN0IG5vdF9lcXVhbF90b19pbXBsPCBpbnRlZ3JhbF9jX3RhZyxpbnRlZ3JhbF9jX3RhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIE4xLCB0eXBlbmFtZSBOMiA+IHN0cnVjdCBhcHBseQorCisgICAgICAgIDogYm9vbF88ICggQk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4xKTo6dmFsdWUgIT0gQk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4yKTo6dmFsdWUgKSA+CisgICAgeworICAgIH07Cit9OworCit9fQpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL25vX2N0cHMvb3IuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL25vX2N0cHMvb3IuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIwYjNhN2YKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fY3Rwcy9vci5ocHAKQEAgLTAsMCArMSw3MyBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvb3IuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK25hbWVzcGFjZSBhdXggewordGVtcGxhdGU8IGJvb2wgQ18gPiBzdHJ1Y3Qgb3JfaW1wbAoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgICAgICA6IHRydWVfCisgICAgeworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCBvcl9pbXBsPGZhbHNlPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgICAgICA6IG9yX2ltcGw8CisgICAgICAgICAgICAgIEJPT1NUX01QTF9BVVhfTkVTVEVEX1RZUEVfV0tORChUMSk6OnZhbHVlCisgICAgICAgICAgICA+Ojp0ZW1wbGF0ZSByZXN1bHRfPCBUMixUMyxUNCxmYWxzZV8gPgorICAgIHsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IG9yX2ltcGw8ZmFsc2U+CisgICAgOjpyZXN1bHRfPCBmYWxzZV8sZmFsc2VfLGZhbHNlXyxmYWxzZV8gPgorICAgICAgICA6IGZhbHNlXworeworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShUMSkKKyAgICAsIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oVDIpCisgICAgLCB0eXBlbmFtZSBUMyA9IGZhbHNlXywgdHlwZW5hbWUgVDQgPSBmYWxzZV8sIHR5cGVuYW1lIFQ1ID0gZmFsc2VfCisgICAgPgorc3RydWN0IG9yXworCisgICAgOiBhdXg6Om9yX2ltcGw8CisgICAgICAgICAgQk9PU1RfTVBMX0FVWF9ORVNURURfVFlQRV9XS05EKFQxKTo6dmFsdWUKKyAgICAgICAgPjo6dGVtcGxhdGUgcmVzdWx0XzwgVDIsVDMsVDQsVDUgPgorCit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgKKyAgICAgICAgICA1CisgICAgICAgICwgb3JfCisgICAgICAgICwgKCBUMSwgVDIsIFQzLCBUNCwgVDUpCisgICAgICAgICkKK307CisKK0JPT1NUX01QTF9BVVhfTkFfU1BFQzIoCisgICAgICAyCisgICAgLCA1CisgICAgLCBvcl8KKyAgICApCisKK319CmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fY3Rwcy9wbGFjZWhvbGRlcnMuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL25vX2N0cHMvcGxhY2Vob2xkZXJzLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lY2Q0NTE0Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL25vX2N0cHMvcGxhY2Vob2xkZXJzLmhwcApAQCAtMCwwICsxLDEwNSBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAxLTIwMDQKKy8vIENvcHlyaWdodCBQZXRlciBEaW1vdiAyMDAxLTIwMDMKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvcGxhY2Vob2xkZXJzLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK0JPT1NUX01QTF9BVVhfQURMX0JBUlJJRVJfTkFNRVNQQUNFX09QRU4KK3R5cGVkZWYgYXJnPCAtMSA+IF87CitCT09TVF9NUExfQVVYX0FETF9CQVJSSUVSX05BTUVTUEFDRV9DTE9TRQorbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK0JPT1NUX01QTF9BVVhfQVJHX0FETF9CQVJSSUVSX0RFQ0woXykKKworbmFtZXNwYWNlIHBsYWNlaG9sZGVycyB7Cit1c2luZyBCT09TVF9NUExfQVVYX0FETF9CQVJSSUVSX05BTUVTUEFDRTo6XzsKK30KKworfX0KKworLy8vIGFndXJ0LCAxNy9tYXIvMDI6IG9uZSBtb3JlIHBsYWNlaG9sZGVyIGZvciB0aGUgbGFzdCAnYXBwbHkjJyAKKy8vLyBzcGVjaWFsaXphdGlvbgorQk9PU1RfTVBMX0FVWF9BRExfQkFSUklFUl9OQU1FU1BBQ0VfT1BFTgordHlwZWRlZiBhcmc8MT4gXzE7CisKK0JPT1NUX01QTF9BVVhfQURMX0JBUlJJRVJfTkFNRVNQQUNFX0NMT1NFCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKworQk9PU1RfTVBMX0FVWF9BUkdfQURMX0JBUlJJRVJfREVDTChfMSkKKworbmFtZXNwYWNlIHBsYWNlaG9sZGVycyB7Cit1c2luZyBCT09TVF9NUExfQVVYX0FETF9CQVJSSUVSX05BTUVTUEFDRTo6XzE7Cit9CisKK319CitCT09TVF9NUExfQVVYX0FETF9CQVJSSUVSX05BTUVTUEFDRV9PUEVOCit0eXBlZGVmIGFyZzwyPiBfMjsKKworQk9PU1RfTVBMX0FVWF9BRExfQkFSUklFUl9OQU1FU1BBQ0VfQ0xPU0UKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCitCT09TVF9NUExfQVVYX0FSR19BRExfQkFSUklFUl9ERUNMKF8yKQorCituYW1lc3BhY2UgcGxhY2Vob2xkZXJzIHsKK3VzaW5nIEJPT1NUX01QTF9BVVhfQURMX0JBUlJJRVJfTkFNRVNQQUNFOjpfMjsKK30KKworfX0KK0JPT1NUX01QTF9BVVhfQURMX0JBUlJJRVJfTkFNRVNQQUNFX09QRU4KK3R5cGVkZWYgYXJnPDM+IF8zOworCitCT09TVF9NUExfQVVYX0FETF9CQVJSSUVSX05BTUVTUEFDRV9DTE9TRQorbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK0JPT1NUX01QTF9BVVhfQVJHX0FETF9CQVJSSUVSX0RFQ0woXzMpCisKK25hbWVzcGFjZSBwbGFjZWhvbGRlcnMgewordXNpbmcgQk9PU1RfTVBMX0FVWF9BRExfQkFSUklFUl9OQU1FU1BBQ0U6Ol8zOworfQorCit9fQorQk9PU1RfTVBMX0FVWF9BRExfQkFSUklFUl9OQU1FU1BBQ0VfT1BFTgordHlwZWRlZiBhcmc8ND4gXzQ7CisKK0JPT1NUX01QTF9BVVhfQURMX0JBUlJJRVJfTkFNRVNQQUNFX0NMT1NFCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKworQk9PU1RfTVBMX0FVWF9BUkdfQURMX0JBUlJJRVJfREVDTChfNCkKKworbmFtZXNwYWNlIHBsYWNlaG9sZGVycyB7Cit1c2luZyBCT09TVF9NUExfQVVYX0FETF9CQVJSSUVSX05BTUVTUEFDRTo6XzQ7Cit9CisKK319CitCT09TVF9NUExfQVVYX0FETF9CQVJSSUVSX05BTUVTUEFDRV9PUEVOCit0eXBlZGVmIGFyZzw1PiBfNTsKKworQk9PU1RfTVBMX0FVWF9BRExfQkFSUklFUl9OQU1FU1BBQ0VfQ0xPU0UKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCitCT09TVF9NUExfQVVYX0FSR19BRExfQkFSUklFUl9ERUNMKF81KQorCituYW1lc3BhY2UgcGxhY2Vob2xkZXJzIHsKK3VzaW5nIEJPT1NUX01QTF9BVVhfQURMX0JBUlJJRVJfTkFNRVNQQUNFOjpfNTsKK30KKworfX0KK0JPT1NUX01QTF9BVVhfQURMX0JBUlJJRVJfTkFNRVNQQUNFX09QRU4KK3R5cGVkZWYgYXJnPDY+IF82OworCitCT09TVF9NUExfQVVYX0FETF9CQVJSSUVSX05BTUVTUEFDRV9DTE9TRQorbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK0JPT1NUX01QTF9BVVhfQVJHX0FETF9CQVJSSUVSX0RFQ0woXzYpCisKK25hbWVzcGFjZSBwbGFjZWhvbGRlcnMgewordXNpbmcgQk9PU1RfTVBMX0FVWF9BRExfQkFSUklFUl9OQU1FU1BBQ0U6Ol82OworfQorCit9fQpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL25vX2N0cHMvcGx1cy5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fY3Rwcy9wbHVzLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yOTY3NjM2Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL25vX2N0cHMvcGx1cy5ocHAKQEAgLTAsMCArMSwxMzMgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL3BsdXMuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVGFnMQorICAgICwgdHlwZW5hbWUgVGFnMgorICAgID4KK3N0cnVjdCBwbHVzX2ltcGwKKyAgICA6IGlmX2M8CisgICAgICAgICAgKCBCT09TVF9NUExfQVVYX05FU1RFRF9WQUxVRV9XS05EKGludCwgVGFnMSkKKyAgICAgICAgICAgICAgPiBCT09TVF9NUExfQVVYX05FU1RFRF9WQUxVRV9XS05EKGludCwgVGFnMikKKyAgICAgICAgICAgICkKKworICAgICAgICAsIGF1eDo6Y2FzdDJuZF9pbXBsPCBwbHVzX2ltcGw8IFRhZzEsVGFnMSA+LFRhZzEsIFRhZzIgPgorICAgICAgICAsIGF1eDo6Y2FzdDFzdF9pbXBsPCBwbHVzX2ltcGw8IFRhZzIsVGFnMiA+LFRhZzEsIFRhZzIgPgorICAgICAgICA+Ojp0eXBlCit7Cit9OworCisvLy8gZm9yIERpZ2l0YWwgTWFycyBDKysvY29tcGlsZXJzIHdpdGggbm8gQ1RQUy9UVFAgc3VwcG9ydAordGVtcGxhdGU8PiBzdHJ1Y3QgcGx1c19pbXBsPCBuYSxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgcGx1c19pbXBsPCBuYSxpbnRlZ3JhbF9jX3RhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgcGx1c19pbXBsPCBpbnRlZ3JhbF9jX3RhZyxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFQgPiBzdHJ1Y3QgcGx1c190YWcKK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIFQ6OnRhZyB0eXBlOworfTsKKworLy8vIGZvcndhcmQgZGVjbGFyYXRpb24KKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4xKQorICAgICwgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMikKKyAgICA+CitzdHJ1Y3QgcGx1czI7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMSkKKyAgICAsIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjIpCisgICAgLCB0eXBlbmFtZSBOMyA9IG5hLCB0eXBlbmFtZSBONCA9IG5hLCB0eXBlbmFtZSBONSA9IG5hCisgICAgPgorc3RydWN0IHBsdXMKKworICAgIDogaWZfPAorCisgICAgICAgICAgaXNfbmE8TjM+CisgICAgICAgICwgcGx1czI8IE4xLE4yID4KKyAgICAgICAgLCBwbHVzPAorICAgICAgICAgICAgICBwbHVzMjwgTjEsTjIgPgorICAgICAgICAgICAgLCBOMywgTjQsIE41CisgICAgICAgICAgICA+CisgICAgICAgID46OnR5cGUKKworeworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoCisgICAgICAgICAgNQorICAgICAgICAsIHBsdXMKKyAgICAgICAgLCAoIE4xLCBOMiwgTjMsIE40LCBONSApCisgICAgICAgICkKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgTjEKKyAgICAsIHR5cGVuYW1lIE4yCisgICAgPgorc3RydWN0IHBsdXMyCisgICAgOiBwbHVzX2ltcGw8CisgICAgICAgICAgdHlwZW5hbWUgcGx1c190YWc8TjE+Ojp0eXBlCisgICAgICAgICwgdHlwZW5hbWUgcGx1c190YWc8TjI+Ojp0eXBlCisgICAgICAgID46OnRlbXBsYXRlIGFwcGx5PCBOMSxOMiA+Ojp0eXBlCit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgyLCBwbHVzMiwgKE4xLCBOMikpCisKK307CisKK0JPT1NUX01QTF9BVVhfTkFfU1BFQzIoMiwgNSwgcGx1cykKKworfX0KKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7Cit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcGx1c19pbXBsPCBpbnRlZ3JhbF9jX3RhZyxpbnRlZ3JhbF9jX3RhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIE4xLCB0eXBlbmFtZSBOMiA+IHN0cnVjdCBhcHBseQorCisgICAgICAgIDogaW50ZWdyYWxfYzwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgYXV4OjpsYXJnZXN0X2ludDwKKyAgICAgICAgICAgICAgICAgIHR5cGVuYW1lIE4xOjp2YWx1ZV90eXBlCisgICAgICAgICAgICAgICAgLCB0eXBlbmFtZSBOMjo6dmFsdWVfdHlwZQorICAgICAgICAgICAgICAgID46OnR5cGUKKyAgICAgICAgICAgICwgKCBCT09TVF9NUExfQVVYX1ZBTFVFX1dLTkQoTjEpOjp2YWx1ZQorICAgICAgICAgICAgICAgICAgKyBCT09TVF9NUExfQVVYX1ZBTFVFX1dLTkQoTjIpOjp2YWx1ZQorICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgID4KKyAgICB7CisgICAgfTsKK307CisKK319CmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fY3Rwcy9xdW90ZS5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fY3Rwcy9xdW90ZS5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjI1OThjYgotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9ub19jdHBzL3F1b3RlLmhwcApAQCAtMCwwICsxLDExNiBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvcXVvdGUuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7Cit0ZW1wbGF0ZTwgYm9vbCA+IHN0cnVjdCBxdW90ZV9pbXBsCit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFQgPiBzdHJ1Y3QgcmVzdWx0XworICAgICAgICA6IFQKKyAgICB7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4gc3RydWN0IHF1b3RlX2ltcGw8ZmFsc2U+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFQgPiBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiBUIHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFAxID4gY2xhc3MgRgorICAgICwgdHlwZW5hbWUgVGFnID0gdm9pZF8KKyAgICA+CitzdHJ1Y3QgcXVvdGUxCit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxID4gc3RydWN0IGFwcGx5CisKKyAgICAgICAgOiBxdW90ZV9pbXBsPCBhdXg6Omhhc190eXBlPCBGPFUxPiA+Ojp2YWx1ZSA+CisgICAgICAgICAgICA6OnRlbXBsYXRlIHJlc3VsdF88IEY8VTE+ID4KKworICAgIHsKKyAgICB9OworfTsKKwordGVtcGxhdGU8CisgICAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgUDEsIHR5cGVuYW1lIFAyID4gY2xhc3MgRgorICAgICwgdHlwZW5hbWUgVGFnID0gdm9pZF8KKyAgICA+CitzdHJ1Y3QgcXVvdGUyCit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorCisgICAgICAgIDogcXVvdGVfaW1wbDwgYXV4OjpoYXNfdHlwZTwgRjwgVTEsVTIgPiA+Ojp2YWx1ZSA+CisgICAgICAgICAgICA6OnRlbXBsYXRlIHJlc3VsdF88IEY8IFUxLFUyID4gPgorCisgICAgeworICAgIH07Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBQMSwgdHlwZW5hbWUgUDIsIHR5cGVuYW1lIFAzID4gY2xhc3MgRgorICAgICwgdHlwZW5hbWUgVGFnID0gdm9pZF8KKyAgICA+CitzdHJ1Y3QgcXVvdGUzCit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiwgdHlwZW5hbWUgVTMgPiBzdHJ1Y3QgYXBwbHkKKworICAgICAgICA6IHF1b3RlX2ltcGw8IGF1eDo6aGFzX3R5cGU8IEY8IFUxLFUyLFUzID4gPjo6dmFsdWUgPgorICAgICAgICAgICAgOjp0ZW1wbGF0ZSByZXN1bHRfPCBGPCBVMSxVMixVMyA+ID4KKworICAgIHsKKyAgICB9OworfTsKKwordGVtcGxhdGU8CisgICAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgUDEsIHR5cGVuYW1lIFAyLCB0eXBlbmFtZSBQMywgdHlwZW5hbWUgUDQgPiBjbGFzcyBGCisgICAgLCB0eXBlbmFtZSBUYWcgPSB2b2lkXworICAgID4KK3N0cnVjdCBxdW90ZTQKK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIsIHR5cGVuYW1lIFUzLCB0eXBlbmFtZSBVNAorICAgICAgICA+CisgICAgc3RydWN0IGFwcGx5CisKKyAgICAgICAgOiBxdW90ZV9pbXBsPCBhdXg6Omhhc190eXBlPCBGPCBVMSxVMixVMyxVNCA+ID46OnZhbHVlID4KKyAgICAgICAgICAgIDo6dGVtcGxhdGUgcmVzdWx0XzwgRjwgVTEsVTIsVTMsVTQgPiA+CisKKyAgICB7CisgICAgfTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgUDEsIHR5cGVuYW1lIFAyLCB0eXBlbmFtZSBQMywgdHlwZW5hbWUgUDQKKyAgICAgICAgLCB0eXBlbmFtZSBQNQorICAgICAgICA+CisgICAgICBjbGFzcyBGCisgICAgLCB0eXBlbmFtZSBUYWcgPSB2b2lkXworICAgID4KK3N0cnVjdCBxdW90ZTUKK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIsIHR5cGVuYW1lIFUzLCB0eXBlbmFtZSBVNAorICAgICAgICAsIHR5cGVuYW1lIFU1CisgICAgICAgID4KKyAgICBzdHJ1Y3QgYXBwbHkKKworICAgICAgICA6IHF1b3RlX2ltcGw8IGF1eDo6aGFzX3R5cGU8IEY8IFUxLFUyLFUzLFU0LFU1ID4gPjo6dmFsdWUgPgorICAgICAgICAgICAgOjp0ZW1wbGF0ZSByZXN1bHRfPCBGPCBVMSxVMixVMyxVNCxVNSA+ID4KKworICAgIHsKKyAgICB9OworfTsKKworfX0KKwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL25vX2N0cHMvcmV2ZXJzZV9mb2xkX2ltcGwuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL25vX2N0cHMvcmV2ZXJzZV9mb2xkX2ltcGwuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJjNmMxNzMKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fY3Rwcy9yZXZlcnNlX2ZvbGRfaW1wbC5ocHAKQEAgLTAsMCArMSwyOTUgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL2F1eF8vcmV2ZXJzZV9mb2xkX2ltcGwuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7IG5hbWVzcGFjZSBhdXggeworCisvLy8gZm9yd2FyZCBkZWNsYXJhdGlvbgorCit0ZW1wbGF0ZTwKKyAgICAgIGxvbmcgTgorICAgICwgdHlwZW5hbWUgRmlyc3QKKyAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBCYWNrd2FyZE9wCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+CitzdHJ1Y3QgcmV2ZXJzZV9mb2xkX2ltcGw7CisKK3RlbXBsYXRlPCBsb25nIE4gPgorc3RydWN0IHJldmVyc2VfZm9sZF9jaHVuazsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgcmV2ZXJzZV9mb2xkX2NodW5rPDA+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAgICAgLCB0eXBlbmFtZSBCYWNrd2FyZE9wCisgICAgICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiBGaXJzdCBpdGVyMDsKKyAgICAgICAgdHlwZWRlZiBTdGF0ZSBmd2Rfc3RhdGUwOworICAgICAgICB0eXBlZGVmIGZ3ZF9zdGF0ZTAgYmt3ZF9zdGF0ZTA7CisgICAgICAgIHR5cGVkZWYgYmt3ZF9zdGF0ZTAgc3RhdGU7CisgICAgICAgIHR5cGVkZWYgaXRlcjAgaXRlcmF0b3I7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4gc3RydWN0IHJldmVyc2VfZm9sZF9jaHVuazwxPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgICAgICwgdHlwZW5hbWUgTGFzdAorICAgICAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgICAgICwgdHlwZW5hbWUgQmFja3dhcmRPcAorICAgICAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgRmlyc3QgaXRlcjA7CisgICAgICAgIHR5cGVkZWYgU3RhdGUgZndkX3N0YXRlMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCwgZndkX3N0YXRlMCwgdHlwZW5hbWUgZGVyZWY8aXRlcjA+Ojp0eXBlID46OnR5cGUgZndkX3N0YXRlMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjA+Ojp0eXBlIGl0ZXIxOworICAgICAgICAKKworICAgICAgICB0eXBlZGVmIGZ3ZF9zdGF0ZTEgYmt3ZF9zdGF0ZTE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLCBia3dkX3N0YXRlMSwgdHlwZW5hbWUgZGVyZWY8aXRlcjA+Ojp0eXBlID46OnR5cGUgYmt3ZF9zdGF0ZTA7CisgICAgICAgIHR5cGVkZWYgYmt3ZF9zdGF0ZTAgc3RhdGU7CisgICAgICAgIHR5cGVkZWYgaXRlcjEgaXRlcmF0b3I7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4gc3RydWN0IHJldmVyc2VfZm9sZF9jaHVuazwyPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgICAgICwgdHlwZW5hbWUgTGFzdAorICAgICAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgICAgICwgdHlwZW5hbWUgQmFja3dhcmRPcAorICAgICAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgRmlyc3QgaXRlcjA7CisgICAgICAgIHR5cGVkZWYgU3RhdGUgZndkX3N0YXRlMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCwgZndkX3N0YXRlMCwgdHlwZW5hbWUgZGVyZWY8aXRlcjA+Ojp0eXBlID46OnR5cGUgZndkX3N0YXRlMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjA+Ojp0eXBlIGl0ZXIxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLCBmd2Rfc3RhdGUxLCB0eXBlbmFtZSBkZXJlZjxpdGVyMT46OnR5cGUgPjo6dHlwZSBmd2Rfc3RhdGUyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMT46OnR5cGUgaXRlcjI7CisgICAgICAgIAorCisgICAgICAgIHR5cGVkZWYgZndkX3N0YXRlMiBia3dkX3N0YXRlMjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEJhY2t3YXJkT3AsIGJrd2Rfc3RhdGUyLCB0eXBlbmFtZSBkZXJlZjxpdGVyMT46OnR5cGUgPjo6dHlwZSBia3dkX3N0YXRlMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEJhY2t3YXJkT3AsIGJrd2Rfc3RhdGUxLCB0eXBlbmFtZSBkZXJlZjxpdGVyMD46OnR5cGUgPjo6dHlwZSBia3dkX3N0YXRlMDsKKyAgICAgICAgCisKKyAgICAgICAgdHlwZWRlZiBia3dkX3N0YXRlMCBzdGF0ZTsKKyAgICAgICAgdHlwZWRlZiBpdGVyMiBpdGVyYXRvcjsKKyAgICB9OworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgcmV2ZXJzZV9mb2xkX2NodW5rPDM+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAgICAgLCB0eXBlbmFtZSBCYWNrd2FyZE9wCisgICAgICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiBGaXJzdCBpdGVyMDsKKyAgICAgICAgdHlwZWRlZiBTdGF0ZSBmd2Rfc3RhdGUwOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLCBmd2Rfc3RhdGUwLCB0eXBlbmFtZSBkZXJlZjxpdGVyMD46OnR5cGUgPjo6dHlwZSBmd2Rfc3RhdGUxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMD46OnR5cGUgaXRlcjE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsIGZ3ZF9zdGF0ZTEsIHR5cGVuYW1lIGRlcmVmPGl0ZXIxPjo6dHlwZSA+Ojp0eXBlIGZ3ZF9zdGF0ZTI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIxPjo6dHlwZSBpdGVyMjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCwgZndkX3N0YXRlMiwgdHlwZW5hbWUgZGVyZWY8aXRlcjI+Ojp0eXBlID46OnR5cGUgZndkX3N0YXRlMzsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjI+Ojp0eXBlIGl0ZXIzOworICAgICAgICAKKworICAgICAgICB0eXBlZGVmIGZ3ZF9zdGF0ZTMgYmt3ZF9zdGF0ZTM7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLCBia3dkX3N0YXRlMywgdHlwZW5hbWUgZGVyZWY8aXRlcjI+Ojp0eXBlID46OnR5cGUgYmt3ZF9zdGF0ZTI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLCBia3dkX3N0YXRlMiwgdHlwZW5hbWUgZGVyZWY8aXRlcjE+Ojp0eXBlID46OnR5cGUgYmt3ZF9zdGF0ZTE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLCBia3dkX3N0YXRlMSwgdHlwZW5hbWUgZGVyZWY8aXRlcjA+Ojp0eXBlID46OnR5cGUgYmt3ZF9zdGF0ZTA7CisgICAgICAgIAorCisgICAgICAgIHR5cGVkZWYgYmt3ZF9zdGF0ZTAgc3RhdGU7CisgICAgICAgIHR5cGVkZWYgaXRlcjMgaXRlcmF0b3I7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4gc3RydWN0IHJldmVyc2VfZm9sZF9jaHVuazw0PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgICAgICwgdHlwZW5hbWUgTGFzdAorICAgICAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgICAgICwgdHlwZW5hbWUgQmFja3dhcmRPcAorICAgICAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgRmlyc3QgaXRlcjA7CisgICAgICAgIHR5cGVkZWYgU3RhdGUgZndkX3N0YXRlMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCwgZndkX3N0YXRlMCwgdHlwZW5hbWUgZGVyZWY8aXRlcjA+Ojp0eXBlID46OnR5cGUgZndkX3N0YXRlMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjA+Ojp0eXBlIGl0ZXIxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLCBmd2Rfc3RhdGUxLCB0eXBlbmFtZSBkZXJlZjxpdGVyMT46OnR5cGUgPjo6dHlwZSBmd2Rfc3RhdGUyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMT46OnR5cGUgaXRlcjI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsIGZ3ZF9zdGF0ZTIsIHR5cGVuYW1lIGRlcmVmPGl0ZXIyPjo6dHlwZSA+Ojp0eXBlIGZ3ZF9zdGF0ZTM7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIyPjo6dHlwZSBpdGVyMzsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCwgZndkX3N0YXRlMywgdHlwZW5hbWUgZGVyZWY8aXRlcjM+Ojp0eXBlID46OnR5cGUgZndkX3N0YXRlNDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjM+Ojp0eXBlIGl0ZXI0OworICAgICAgICAKKworICAgICAgICB0eXBlZGVmIGZ3ZF9zdGF0ZTQgYmt3ZF9zdGF0ZTQ7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLCBia3dkX3N0YXRlNCwgdHlwZW5hbWUgZGVyZWY8aXRlcjM+Ojp0eXBlID46OnR5cGUgYmt3ZF9zdGF0ZTM7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLCBia3dkX3N0YXRlMywgdHlwZW5hbWUgZGVyZWY8aXRlcjI+Ojp0eXBlID46OnR5cGUgYmt3ZF9zdGF0ZTI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLCBia3dkX3N0YXRlMiwgdHlwZW5hbWUgZGVyZWY8aXRlcjE+Ojp0eXBlID46OnR5cGUgYmt3ZF9zdGF0ZTE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLCBia3dkX3N0YXRlMSwgdHlwZW5hbWUgZGVyZWY8aXRlcjA+Ojp0eXBlID46OnR5cGUgYmt3ZF9zdGF0ZTA7CisgICAgICAgIAorCisgICAgICAgIHR5cGVkZWYgYmt3ZF9zdGF0ZTAgc3RhdGU7CisgICAgICAgIHR5cGVkZWYgaXRlcjQgaXRlcmF0b3I7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCBsb25nIE4gPgorc3RydWN0IHJldmVyc2VfZm9sZF9jaHVuaworeworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgICAgICwgdHlwZW5hbWUgTGFzdAorICAgICAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgICAgICwgdHlwZW5hbWUgQmFja3dhcmRPcAorICAgICAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgRmlyc3QgaXRlcjA7CisgICAgICAgIHR5cGVkZWYgU3RhdGUgZndkX3N0YXRlMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCwgZndkX3N0YXRlMCwgdHlwZW5hbWUgZGVyZWY8aXRlcjA+Ojp0eXBlID46OnR5cGUgZndkX3N0YXRlMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjA+Ojp0eXBlIGl0ZXIxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLCBmd2Rfc3RhdGUxLCB0eXBlbmFtZSBkZXJlZjxpdGVyMT46OnR5cGUgPjo6dHlwZSBmd2Rfc3RhdGUyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMT46OnR5cGUgaXRlcjI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsIGZ3ZF9zdGF0ZTIsIHR5cGVuYW1lIGRlcmVmPGl0ZXIyPjo6dHlwZSA+Ojp0eXBlIGZ3ZF9zdGF0ZTM7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIyPjo6dHlwZSBpdGVyMzsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCwgZndkX3N0YXRlMywgdHlwZW5hbWUgZGVyZWY8aXRlcjM+Ojp0eXBlID46OnR5cGUgZndkX3N0YXRlNDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjM+Ojp0eXBlIGl0ZXI0OworICAgICAgICAKKworICAgICAgICB0eXBlZGVmIHJldmVyc2VfZm9sZF9pbXBsPAorICAgICAgICAgICAgICAoIChOIC0gNCkgPCAwID8gMCA6IE4gLSA0ICkKKyAgICAgICAgICAgICwgaXRlcjQKKyAgICAgICAgICAgICwgTGFzdAorICAgICAgICAgICAgLCBmd2Rfc3RhdGU0CisgICAgICAgICAgICAsIEJhY2t3YXJkT3AKKyAgICAgICAgICAgICwgRm9yd2FyZE9wCisgICAgICAgICAgICA+IG5lc3RlZF9jaHVuazsKKworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG5lc3RlZF9jaHVuazo6c3RhdGUgYmt3ZF9zdGF0ZTQ7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLCBia3dkX3N0YXRlNCwgdHlwZW5hbWUgZGVyZWY8aXRlcjM+Ojp0eXBlID46OnR5cGUgYmt3ZF9zdGF0ZTM7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLCBia3dkX3N0YXRlMywgdHlwZW5hbWUgZGVyZWY8aXRlcjI+Ojp0eXBlID46OnR5cGUgYmt3ZF9zdGF0ZTI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLCBia3dkX3N0YXRlMiwgdHlwZW5hbWUgZGVyZWY8aXRlcjE+Ojp0eXBlID46OnR5cGUgYmt3ZF9zdGF0ZTE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLCBia3dkX3N0YXRlMSwgdHlwZW5hbWUgZGVyZWY8aXRlcjA+Ojp0eXBlID46OnR5cGUgYmt3ZF9zdGF0ZTA7CisgICAgICAgIAorCisgICAgICAgIHR5cGVkZWYgYmt3ZF9zdGF0ZTAgc3RhdGU7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbmVzdGVkX2NodW5rOjppdGVyYXRvciBpdGVyYXRvcjsKKyAgICB9OworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGaXJzdAorICAgICwgdHlwZW5hbWUgTGFzdAorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEJhY2t3YXJkT3AKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgID4KK3N0cnVjdCByZXZlcnNlX2ZvbGRfc3RlcDsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBMYXN0CisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgID4KK3N0cnVjdCByZXZlcnNlX2ZvbGRfbnVsbF9zdGVwCit7CisgICAgdHlwZWRlZiBMYXN0IGl0ZXJhdG9yOworICAgIHR5cGVkZWYgU3RhdGUgc3RhdGU7Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcmV2ZXJzZV9mb2xkX2NodW5rPCAtMSA+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAgICAgLCB0eXBlbmFtZSBCYWNrd2FyZE9wCisgICAgICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBpZl88CisgICAgICAgICAgICAgIHR5cGVuYW1lIGlzX3NhbWU8IEZpcnN0LExhc3QgPjo6dHlwZQorICAgICAgICAgICAgLCByZXZlcnNlX2ZvbGRfbnVsbF9zdGVwPCBMYXN0LFN0YXRlID4KKyAgICAgICAgICAgICwgcmV2ZXJzZV9mb2xkX3N0ZXA8IEZpcnN0LExhc3QsU3RhdGUsQmFja3dhcmRPcCxGb3J3YXJkT3AgPgorICAgICAgICAgICAgPjo6dHlwZSByZXNfOworCisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcmVzXzo6c3RhdGUgc3RhdGU7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcmVzXzo6aXRlcmF0b3IgaXRlcmF0b3I7CisgICAgfTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBCYWNrd2FyZE9wCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+CitzdHJ1Y3QgcmV2ZXJzZV9mb2xkX3N0ZXAKK3sKKyAgICB0eXBlZGVmIHJldmVyc2VfZm9sZF9jaHVuazwgLTEgPjo6dGVtcGxhdGUgcmVzdWx0XzwKKyAgICAgICAgICB0eXBlbmFtZSBtcGw6Om5leHQ8Rmlyc3Q+Ojp0eXBlCisgICAgICAgICwgTGFzdAorICAgICAgICAsIHR5cGVuYW1lIGFwcGx5MjxGb3J3YXJkT3AsU3RhdGUsIHR5cGVuYW1lIGRlcmVmPEZpcnN0Pjo6dHlwZT46OnR5cGUKKyAgICAgICAgLCBCYWNrd2FyZE9wCisgICAgICAgICwgRm9yd2FyZE9wCisgICAgICAgID4gbmVzdGVkX3N0ZXA7CisKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwKKyAgICAgICAgICBCYWNrd2FyZE9wCisgICAgICAgICwgdHlwZW5hbWUgbmVzdGVkX3N0ZXA6OnN0YXRlCisgICAgICAgICwgdHlwZW5hbWUgZGVyZWY8Rmlyc3Q+Ojp0eXBlCisgICAgICAgID46OnR5cGUgc3RhdGU7CisKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG5lc3RlZF9zdGVwOjppdGVyYXRvciBpdGVyYXRvcjsKK307CisKK3RlbXBsYXRlPAorICAgICAgbG9uZyBOCisgICAgLCB0eXBlbmFtZSBGaXJzdAorICAgICwgdHlwZW5hbWUgTGFzdAorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEJhY2t3YXJkT3AKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgID4KK3N0cnVjdCByZXZlcnNlX2ZvbGRfaW1wbAorICAgIDogcmV2ZXJzZV9mb2xkX2NodW5rPE4+CisgICAgICAgIDo6dGVtcGxhdGUgcmVzdWx0XzwgRmlyc3QsTGFzdCxTdGF0ZSxCYWNrd2FyZE9wLEZvcndhcmRPcCA+Cit7Cit9OworCit9fX0KZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9ub19jdHBzL3JldmVyc2VfaXRlcl9mb2xkX2ltcGwuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL25vX2N0cHMvcmV2ZXJzZV9pdGVyX2ZvbGRfaW1wbC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTdjYzY4OAotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9ub19jdHBzL3JldmVyc2VfaXRlcl9mb2xkX2ltcGwuaHBwCkBAIC0wLDAgKzEsMjk1IEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9hdXhfL3JldmVyc2VfaXRlcl9mb2xkX2ltcGwuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7IG5hbWVzcGFjZSBhdXggeworCisvLy8gZm9yd2FyZCBkZWNsYXJhdGlvbgorCit0ZW1wbGF0ZTwKKyAgICAgIGxvbmcgTgorICAgICwgdHlwZW5hbWUgRmlyc3QKKyAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBCYWNrd2FyZE9wCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+CitzdHJ1Y3QgcmV2ZXJzZV9pdGVyX2ZvbGRfaW1wbDsKKwordGVtcGxhdGU8IGxvbmcgTiA+CitzdHJ1Y3QgcmV2ZXJzZV9pdGVyX2ZvbGRfY2h1bms7CisKK3RlbXBsYXRlPD4gc3RydWN0IHJldmVyc2VfaXRlcl9mb2xkX2NodW5rPDA+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAgICAgLCB0eXBlbmFtZSBCYWNrd2FyZE9wCisgICAgICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiBGaXJzdCBpdGVyMDsKKyAgICAgICAgdHlwZWRlZiBTdGF0ZSBmd2Rfc3RhdGUwOworICAgICAgICB0eXBlZGVmIGZ3ZF9zdGF0ZTAgYmt3ZF9zdGF0ZTA7CisgICAgICAgIHR5cGVkZWYgYmt3ZF9zdGF0ZTAgc3RhdGU7CisgICAgICAgIHR5cGVkZWYgaXRlcjAgaXRlcmF0b3I7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4gc3RydWN0IHJldmVyc2VfaXRlcl9mb2xkX2NodW5rPDE+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAgICAgLCB0eXBlbmFtZSBCYWNrd2FyZE9wCisgICAgICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiBGaXJzdCBpdGVyMDsKKyAgICAgICAgdHlwZWRlZiBTdGF0ZSBmd2Rfc3RhdGUwOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLGZ3ZF9zdGF0ZTAsaXRlcjAgPjo6dHlwZSBmd2Rfc3RhdGUxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMD46OnR5cGUgaXRlcjE7CisgICAgICAgIAorCisgICAgICAgIHR5cGVkZWYgZndkX3N0YXRlMSBia3dkX3N0YXRlMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEJhY2t3YXJkT3AsYmt3ZF9zdGF0ZTEsaXRlcjAgPjo6dHlwZSBia3dkX3N0YXRlMDsKKyAgICAgICAgdHlwZWRlZiBia3dkX3N0YXRlMCBzdGF0ZTsKKyAgICAgICAgdHlwZWRlZiBpdGVyMSBpdGVyYXRvcjsKKyAgICB9OworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgcmV2ZXJzZV9pdGVyX2ZvbGRfY2h1bms8Mj4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBGaXJzdAorICAgICAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICAgICAsIHR5cGVuYW1lIEJhY2t3YXJkT3AKKyAgICAgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIEZpcnN0IGl0ZXIwOworICAgICAgICB0eXBlZGVmIFN0YXRlIGZ3ZF9zdGF0ZTA7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsZndkX3N0YXRlMCxpdGVyMCA+Ojp0eXBlIGZ3ZF9zdGF0ZTE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIwPjo6dHlwZSBpdGVyMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCxmd2Rfc3RhdGUxLGl0ZXIxID46OnR5cGUgZndkX3N0YXRlMjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjE+Ojp0eXBlIGl0ZXIyOworICAgICAgICAKKworICAgICAgICB0eXBlZGVmIGZ3ZF9zdGF0ZTIgYmt3ZF9zdGF0ZTI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLGJrd2Rfc3RhdGUyLGl0ZXIxID46OnR5cGUgYmt3ZF9zdGF0ZTE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLGJrd2Rfc3RhdGUxLGl0ZXIwID46OnR5cGUgYmt3ZF9zdGF0ZTA7CisgICAgICAgIAorCisgICAgICAgIHR5cGVkZWYgYmt3ZF9zdGF0ZTAgc3RhdGU7CisgICAgICAgIHR5cGVkZWYgaXRlcjIgaXRlcmF0b3I7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4gc3RydWN0IHJldmVyc2VfaXRlcl9mb2xkX2NodW5rPDM+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAgICAgLCB0eXBlbmFtZSBCYWNrd2FyZE9wCisgICAgICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiBGaXJzdCBpdGVyMDsKKyAgICAgICAgdHlwZWRlZiBTdGF0ZSBmd2Rfc3RhdGUwOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLGZ3ZF9zdGF0ZTAsaXRlcjAgPjo6dHlwZSBmd2Rfc3RhdGUxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMD46OnR5cGUgaXRlcjE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsZndkX3N0YXRlMSxpdGVyMSA+Ojp0eXBlIGZ3ZF9zdGF0ZTI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIxPjo6dHlwZSBpdGVyMjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCxmd2Rfc3RhdGUyLGl0ZXIyID46OnR5cGUgZndkX3N0YXRlMzsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjI+Ojp0eXBlIGl0ZXIzOworICAgICAgICAKKworICAgICAgICB0eXBlZGVmIGZ3ZF9zdGF0ZTMgYmt3ZF9zdGF0ZTM7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLGJrd2Rfc3RhdGUzLGl0ZXIyID46OnR5cGUgYmt3ZF9zdGF0ZTI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLGJrd2Rfc3RhdGUyLGl0ZXIxID46OnR5cGUgYmt3ZF9zdGF0ZTE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLGJrd2Rfc3RhdGUxLGl0ZXIwID46OnR5cGUgYmt3ZF9zdGF0ZTA7CisgICAgICAgIAorCisgICAgICAgIHR5cGVkZWYgYmt3ZF9zdGF0ZTAgc3RhdGU7CisgICAgICAgIHR5cGVkZWYgaXRlcjMgaXRlcmF0b3I7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4gc3RydWN0IHJldmVyc2VfaXRlcl9mb2xkX2NodW5rPDQ+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAgICAgLCB0eXBlbmFtZSBCYWNrd2FyZE9wCisgICAgICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiBGaXJzdCBpdGVyMDsKKyAgICAgICAgdHlwZWRlZiBTdGF0ZSBmd2Rfc3RhdGUwOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLGZ3ZF9zdGF0ZTAsaXRlcjAgPjo6dHlwZSBmd2Rfc3RhdGUxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMD46OnR5cGUgaXRlcjE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsZndkX3N0YXRlMSxpdGVyMSA+Ojp0eXBlIGZ3ZF9zdGF0ZTI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIxPjo6dHlwZSBpdGVyMjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCxmd2Rfc3RhdGUyLGl0ZXIyID46OnR5cGUgZndkX3N0YXRlMzsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjI+Ojp0eXBlIGl0ZXIzOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLGZ3ZF9zdGF0ZTMsaXRlcjMgPjo6dHlwZSBmd2Rfc3RhdGU0OworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMz46OnR5cGUgaXRlcjQ7CisgICAgICAgIAorCisgICAgICAgIHR5cGVkZWYgZndkX3N0YXRlNCBia3dkX3N0YXRlNDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEJhY2t3YXJkT3AsYmt3ZF9zdGF0ZTQsaXRlcjMgPjo6dHlwZSBia3dkX3N0YXRlMzsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEJhY2t3YXJkT3AsYmt3ZF9zdGF0ZTMsaXRlcjIgPjo6dHlwZSBia3dkX3N0YXRlMjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEJhY2t3YXJkT3AsYmt3ZF9zdGF0ZTIsaXRlcjEgPjo6dHlwZSBia3dkX3N0YXRlMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEJhY2t3YXJkT3AsYmt3ZF9zdGF0ZTEsaXRlcjAgPjo6dHlwZSBia3dkX3N0YXRlMDsKKyAgICAgICAgCisKKyAgICAgICAgdHlwZWRlZiBia3dkX3N0YXRlMCBzdGF0ZTsKKyAgICAgICAgdHlwZWRlZiBpdGVyNCBpdGVyYXRvcjsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IGxvbmcgTiA+CitzdHJ1Y3QgcmV2ZXJzZV9pdGVyX2ZvbGRfY2h1bmsKK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBGaXJzdAorICAgICAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICAgICAsIHR5cGVuYW1lIEJhY2t3YXJkT3AKKyAgICAgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIEZpcnN0IGl0ZXIwOworICAgICAgICB0eXBlZGVmIFN0YXRlIGZ3ZF9zdGF0ZTA7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsZndkX3N0YXRlMCxpdGVyMCA+Ojp0eXBlIGZ3ZF9zdGF0ZTE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIwPjo6dHlwZSBpdGVyMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCxmd2Rfc3RhdGUxLGl0ZXIxID46OnR5cGUgZndkX3N0YXRlMjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjE+Ojp0eXBlIGl0ZXIyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLGZ3ZF9zdGF0ZTIsaXRlcjIgPjo6dHlwZSBmd2Rfc3RhdGUzOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMj46OnR5cGUgaXRlcjM7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsZndkX3N0YXRlMyxpdGVyMyA+Ojp0eXBlIGZ3ZF9zdGF0ZTQ7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIzPjo6dHlwZSBpdGVyNDsKKyAgICAgICAgCisKKyAgICAgICAgdHlwZWRlZiByZXZlcnNlX2l0ZXJfZm9sZF9pbXBsPAorICAgICAgICAgICAgICAoIChOIC0gNCkgPCAwID8gMCA6IE4gLSA0ICkKKyAgICAgICAgICAgICwgaXRlcjQKKyAgICAgICAgICAgICwgTGFzdAorICAgICAgICAgICAgLCBmd2Rfc3RhdGU0CisgICAgICAgICAgICAsIEJhY2t3YXJkT3AKKyAgICAgICAgICAgICwgRm9yd2FyZE9wCisgICAgICAgICAgICA+IG5lc3RlZF9jaHVuazsKKworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG5lc3RlZF9jaHVuazo6c3RhdGUgYmt3ZF9zdGF0ZTQ7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLGJrd2Rfc3RhdGU0LGl0ZXIzID46OnR5cGUgYmt3ZF9zdGF0ZTM7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLGJrd2Rfc3RhdGUzLGl0ZXIyID46OnR5cGUgYmt3ZF9zdGF0ZTI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLGJrd2Rfc3RhdGUyLGl0ZXIxID46OnR5cGUgYmt3ZF9zdGF0ZTE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLGJrd2Rfc3RhdGUxLGl0ZXIwID46OnR5cGUgYmt3ZF9zdGF0ZTA7CisgICAgICAgIAorCisgICAgICAgIHR5cGVkZWYgYmt3ZF9zdGF0ZTAgc3RhdGU7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbmVzdGVkX2NodW5rOjppdGVyYXRvciBpdGVyYXRvcjsKKyAgICB9OworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGaXJzdAorICAgICwgdHlwZW5hbWUgTGFzdAorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEJhY2t3YXJkT3AKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgID4KK3N0cnVjdCByZXZlcnNlX2l0ZXJfZm9sZF9zdGVwOworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgPgorc3RydWN0IHJldmVyc2VfaXRlcl9mb2xkX251bGxfc3RlcAoreworICAgIHR5cGVkZWYgTGFzdCBpdGVyYXRvcjsKKyAgICB0eXBlZGVmIFN0YXRlIHN0YXRlOworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHJldmVyc2VfaXRlcl9mb2xkX2NodW5rPCAtMSA+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAgICAgLCB0eXBlbmFtZSBCYWNrd2FyZE9wCisgICAgICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBpZl88CisgICAgICAgICAgICAgIHR5cGVuYW1lIGlzX3NhbWU8IEZpcnN0LExhc3QgPjo6dHlwZQorICAgICAgICAgICAgLCByZXZlcnNlX2l0ZXJfZm9sZF9udWxsX3N0ZXA8IExhc3QsU3RhdGUgPgorICAgICAgICAgICAgLCByZXZlcnNlX2l0ZXJfZm9sZF9zdGVwPCBGaXJzdCxMYXN0LFN0YXRlLEJhY2t3YXJkT3AsRm9yd2FyZE9wID4KKyAgICAgICAgICAgID46OnR5cGUgcmVzXzsKKworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHJlc186OnN0YXRlIHN0YXRlOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHJlc186Oml0ZXJhdG9yIGl0ZXJhdG9yOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICwgdHlwZW5hbWUgQmFja3dhcmRPcAorICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgPgorc3RydWN0IHJldmVyc2VfaXRlcl9mb2xkX3N0ZXAKK3sKKyAgICB0eXBlZGVmIHJldmVyc2VfaXRlcl9mb2xkX2NodW5rPCAtMSA+Ojp0ZW1wbGF0ZSByZXN1bHRfPAorICAgICAgICAgIHR5cGVuYW1lIG1wbDo6bmV4dDxGaXJzdD46OnR5cGUKKyAgICAgICAgLCBMYXN0CisgICAgICAgICwgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsU3RhdGUsRmlyc3QgPjo6dHlwZQorICAgICAgICAsIEJhY2t3YXJkT3AKKyAgICAgICAgLCBGb3J3YXJkT3AKKyAgICAgICAgPiBuZXN0ZWRfc3RlcDsKKworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPAorICAgICAgICAgIEJhY2t3YXJkT3AKKyAgICAgICAgLCB0eXBlbmFtZSBuZXN0ZWRfc3RlcDo6c3RhdGUKKyAgICAgICAgLCBGaXJzdAorICAgICAgICA+Ojp0eXBlIHN0YXRlOworCisgICAgdHlwZWRlZiB0eXBlbmFtZSBuZXN0ZWRfc3RlcDo6aXRlcmF0b3IgaXRlcmF0b3I7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIGxvbmcgTgorICAgICwgdHlwZW5hbWUgRmlyc3QKKyAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBCYWNrd2FyZE9wCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+CitzdHJ1Y3QgcmV2ZXJzZV9pdGVyX2ZvbGRfaW1wbAorICAgIDogcmV2ZXJzZV9pdGVyX2ZvbGRfY2h1bms8Tj4KKyAgICAgICAgOjp0ZW1wbGF0ZSByZXN1bHRfPCBGaXJzdCxMYXN0LFN0YXRlLEJhY2t3YXJkT3AsRm9yd2FyZE9wID4KK3sKK307CisKK319fQpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL25vX2N0cHMvc2V0LmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9ub19jdHBzL3NldC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTk2NDg3OQotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9ub19jdHBzL3NldC5ocHAKQEAgLTAsMCArMSw1NTYgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL3NldC5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKworbmFtZXNwYWNlIGF1eCB7Cit0ZW1wbGF0ZTwgaW50IE4gPgorc3RydWN0IHNldF9jaG9vc2VyOworCit9CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3Qgc2V0X2Nob29zZXI8MD4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiBzZXQwPAorICAgICAgICAgICAgIAorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IHNldF9jaG9vc2VyPDE+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0MTwKKyAgICAgICAgICAgICAgVDAKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBzZXRfY2hvb3NlcjwyPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDI8CisgICAgICAgICAgICAgIFQwLCBUMQorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IHNldF9jaG9vc2VyPDM+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0MzwKKyAgICAgICAgICAgICAgVDAsIFQxLCBUMgorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IHNldF9jaG9vc2VyPDQ+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0NDwKKyAgICAgICAgICAgICAgVDAsIFQxLCBUMiwgVDMKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBzZXRfY2hvb3Nlcjw1PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDU8CisgICAgICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNAorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IHNldF9jaG9vc2VyPDY+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0NjwKKyAgICAgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNQorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IHNldF9jaG9vc2VyPDc+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0NzwKKyAgICAgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBzZXRfY2hvb3Nlcjw4PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDg8CisgICAgICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNworICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IHNldF9jaG9vc2VyPDk+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0OTwKKyAgICAgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOAorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IHNldF9jaG9vc2VyPDEwPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDEwPAorICAgICAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOQorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IHNldF9jaG9vc2VyPDExPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDExPAorICAgICAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3Qgc2V0X2Nob29zZXI8MTI+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0MTI8CisgICAgICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMQorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IHNldF9jaG9vc2VyPDEzPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDEzPAorICAgICAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMgorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IHNldF9jaG9vc2VyPDE0PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDE0PAorICAgICAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3Qgc2V0X2Nob29zZXI8MTU+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0MTU8CisgICAgICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IHNldF9jaG9vc2VyPDE2PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDE2PAorICAgICAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQsIFQxNQorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IHNldF9jaG9vc2VyPDE3PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDE3PAorICAgICAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQsIFQxNSwgVDE2CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3Qgc2V0X2Nob29zZXI8MTg+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0MTg8CisgICAgICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNCwgVDE1LCBUMTYsIFQxNworICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IHNldF9jaG9vc2VyPDE5PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDE5PAorICAgICAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQsIFQxNSwgVDE2LCBUMTcsIFQxOAorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IHNldF9jaG9vc2VyPDIwPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDIwPAorICAgICAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQsIFQxNSwgVDE2LCBUMTcsIFQxOCwgVDE5CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVCA+CitzdHJ1Y3QgaXNfc2V0X2FyZworeworICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChib29sLCB2YWx1ZSAgPSB0cnVlKTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBpc19zZXRfYXJnPG5hPgoreworICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChib29sLCB2YWx1ZSAgPSBmYWxzZSk7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0LCB0eXBlbmFtZSBUNQorICAgICwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDksIHR5cGVuYW1lIFQxMAorICAgICwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0LCB0eXBlbmFtZSBUMTUKKyAgICAsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOSwgdHlwZW5hbWUgVDIwCisgICAgPgorc3RydWN0IHNldF9jb3VudF9hcmdzCit7CisgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgPQorICAgICAgICAgIGlzX3NldF9hcmc8VDE+Ojp2YWx1ZSArIGlzX3NldF9hcmc8VDI+Ojp2YWx1ZSAKKyAgICAgICAgKyBpc19zZXRfYXJnPFQzPjo6dmFsdWUgKyBpc19zZXRfYXJnPFQ0Pjo6dmFsdWUgCisgICAgICAgICsgaXNfc2V0X2FyZzxUNT46OnZhbHVlICsgaXNfc2V0X2FyZzxUNj46OnZhbHVlIAorICAgICAgICArIGlzX3NldF9hcmc8VDc+Ojp2YWx1ZSArIGlzX3NldF9hcmc8VDg+Ojp2YWx1ZSAKKyAgICAgICAgKyBpc19zZXRfYXJnPFQ5Pjo6dmFsdWUgKyBpc19zZXRfYXJnPFQxMD46OnZhbHVlIAorICAgICAgICArIGlzX3NldF9hcmc8VDExPjo6dmFsdWUgKyBpc19zZXRfYXJnPFQxMj46OnZhbHVlIAorICAgICAgICArIGlzX3NldF9hcmc8VDEzPjo6dmFsdWUgKyBpc19zZXRfYXJnPFQxND46OnZhbHVlIAorICAgICAgICArIGlzX3NldF9hcmc8VDE1Pjo6dmFsdWUgKyBpc19zZXRfYXJnPFQxNj46OnZhbHVlIAorICAgICAgICArIGlzX3NldF9hcmc8VDE3Pjo6dmFsdWUgKyBpc19zZXRfYXJnPFQxOD46OnZhbHVlIAorICAgICAgICArIGlzX3NldF9hcmc8VDE5Pjo6dmFsdWUgKyBpc19zZXRfYXJnPFQyMD46OnZhbHVlCisgICAgICAgICk7CisKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgID4KK3N0cnVjdCBzZXRfaW1wbAoreworICAgIHR5cGVkZWYgYXV4OjpzZXRfY291bnRfYXJnczwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQsIFQxNSwgVDE2LCBUMTcsIFQxOCwgVDE5CisgICAgICAgID4gYXJnX251bV87CisKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGF1eDo6c2V0X2Nob29zZXI8IGFyZ19udW1fOjp2YWx1ZSA+CisgICAgICAgIDo6dGVtcGxhdGUgcmVzdWx0XzwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzLFQxNCxUMTUsVDE2LFQxNyxUMTgsVDE5ID46OnR5cGUgdHlwZTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwID0gbmEsIHR5cGVuYW1lIFQxID0gbmEsIHR5cGVuYW1lIFQyID0gbmEsIHR5cGVuYW1lIFQzID0gbmEKKyAgICAsIHR5cGVuYW1lIFQ0ID0gbmEsIHR5cGVuYW1lIFQ1ID0gbmEsIHR5cGVuYW1lIFQ2ID0gbmEsIHR5cGVuYW1lIFQ3ID0gbmEKKyAgICAsIHR5cGVuYW1lIFQ4ID0gbmEsIHR5cGVuYW1lIFQ5ID0gbmEsIHR5cGVuYW1lIFQxMCA9IG5hLCB0eXBlbmFtZSBUMTEgPSBuYQorICAgICwgdHlwZW5hbWUgVDEyID0gbmEsIHR5cGVuYW1lIFQxMyA9IG5hLCB0eXBlbmFtZSBUMTQgPSBuYQorICAgICwgdHlwZW5hbWUgVDE1ID0gbmEsIHR5cGVuYW1lIFQxNiA9IG5hLCB0eXBlbmFtZSBUMTcgPSBuYQorICAgICwgdHlwZW5hbWUgVDE4ID0gbmEsIHR5cGVuYW1lIFQxOSA9IG5hCisgICAgPgorc3RydWN0IHNldAorICAgIDogYXV4OjpzZXRfaW1wbDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQsIFQxNSwgVDE2LCBUMTcsIFQxOCwgVDE5CisgICAgICAgID46OnR5cGUKK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGF1eDo6c2V0X2ltcGw8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0LCBUMTUsIFQxNiwgVDE3LCBUMTgsIFQxOQorICAgICAgICA+Ojp0eXBlIHR5cGU7Cit9OworCit9fQorCmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fY3Rwcy9zZXRfYy5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fY3Rwcy9zZXRfYy5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTlhOWIxOAotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9ub19jdHBzL3NldF9jLmhwcApAQCAtMCwwICsxLDUzNCBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvc2V0X2MuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK25hbWVzcGFjZSBhdXggewordGVtcGxhdGU8IGludCBOID4KK3N0cnVjdCBzZXRfY19jaG9vc2VyOworCit9CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3Qgc2V0X2NfY2hvb3NlcjwwPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNSwgbG9uZyBDMTYsIGxvbmcgQzE3LCBsb25nIEMxOCwgbG9uZyBDMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDBfYzwKKyAgICAgICAgICAgICAgVAorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IHNldF9jX2Nob29zZXI8MT4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgICAgICAsIGxvbmcgQzEzLCBsb25nIEMxNCwgbG9uZyBDMTUsIGxvbmcgQzE2LCBsb25nIEMxNywgbG9uZyBDMTgsIGxvbmcgQzE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQxX2M8CisgICAgICAgICAgICAgIFQsIEMwCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3Qgc2V0X2NfY2hvb3NlcjwyPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNSwgbG9uZyBDMTYsIGxvbmcgQzE3LCBsb25nIEMxOCwgbG9uZyBDMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDJfYzwKKyAgICAgICAgICAgICAgVCwgQzAsIEMxCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3Qgc2V0X2NfY2hvb3NlcjwzPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNSwgbG9uZyBDMTYsIGxvbmcgQzE3LCBsb25nIEMxOCwgbG9uZyBDMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDNfYzwKKyAgICAgICAgICAgICAgVCwgQzAsIEMxLCBDMgorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IHNldF9jX2Nob29zZXI8ND4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgICAgICAsIGxvbmcgQzEzLCBsb25nIEMxNCwgbG9uZyBDMTUsIGxvbmcgQzE2LCBsb25nIEMxNywgbG9uZyBDMTgsIGxvbmcgQzE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQ0X2M8CisgICAgICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3Qgc2V0X2NfY2hvb3Nlcjw1PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNSwgbG9uZyBDMTYsIGxvbmcgQzE3LCBsb25nIEMxOCwgbG9uZyBDMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDVfYzwKKyAgICAgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3Qgc2V0X2NfY2hvb3Nlcjw2PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNSwgbG9uZyBDMTYsIGxvbmcgQzE3LCBsb25nIEMxOCwgbG9uZyBDMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDZfYzwKKyAgICAgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNQorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IHNldF9jX2Nob29zZXI8Nz4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgICAgICAsIGxvbmcgQzEzLCBsb25nIEMxNCwgbG9uZyBDMTUsIGxvbmcgQzE2LCBsb25nIEMxNywgbG9uZyBDMTgsIGxvbmcgQzE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQ3X2M8CisgICAgICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3Qgc2V0X2NfY2hvb3Nlcjw4PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNSwgbG9uZyBDMTYsIGxvbmcgQzE3LCBsb25nIEMxOCwgbG9uZyBDMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDhfYzwKKyAgICAgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3Qgc2V0X2NfY2hvb3Nlcjw5PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNSwgbG9uZyBDMTYsIGxvbmcgQzE3LCBsb25nIEMxOCwgbG9uZyBDMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDlfYzwKKyAgICAgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOAorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IHNldF9jX2Nob29zZXI8MTA+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1LCBsb25nIEMxNiwgbG9uZyBDMTcsIGxvbmcgQzE4LCBsb25nIEMxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0MTBfYzwKKyAgICAgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzkKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBzZXRfY19jaG9vc2VyPDExPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNSwgbG9uZyBDMTYsIGxvbmcgQzE3LCBsb25nIEMxOCwgbG9uZyBDMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDExX2M8CisgICAgICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBzZXRfY19jaG9vc2VyPDEyPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNSwgbG9uZyBDMTYsIGxvbmcgQzE3LCBsb25nIEMxOCwgbG9uZyBDMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDEyX2M8CisgICAgICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMQorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IHNldF9jX2Nob29zZXI8MTM+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1LCBsb25nIEMxNiwgbG9uZyBDMTcsIGxvbmcgQzE4LCBsb25nIEMxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0MTNfYzwKKyAgICAgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBDMTIKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBzZXRfY19jaG9vc2VyPDE0PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNSwgbG9uZyBDMTYsIGxvbmcgQzE3LCBsb25nIEMxOCwgbG9uZyBDMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDE0X2M8CisgICAgICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBzZXRfY19jaG9vc2VyPDE1PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNSwgbG9uZyBDMTYsIGxvbmcgQzE3LCBsb25nIEMxOCwgbG9uZyBDMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDE1X2M8CisgICAgICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMsIEMxNAorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IHNldF9jX2Nob29zZXI8MTY+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1LCBsb25nIEMxNiwgbG9uZyBDMTcsIGxvbmcgQzE4LCBsb25nIEMxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0MTZfYzwKKyAgICAgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBDMTIsIEMxMywgQzE0LCBDMTUKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBzZXRfY19jaG9vc2VyPDE3PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNSwgbG9uZyBDMTYsIGxvbmcgQzE3LCBsb25nIEMxOCwgbG9uZyBDMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDE3X2M8CisgICAgICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMsIEMxNCwgQzE1LCBDMTYKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBzZXRfY19jaG9vc2VyPDE4PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNSwgbG9uZyBDMTYsIGxvbmcgQzE3LCBsb25nIEMxOCwgbG9uZyBDMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDE4X2M8CisgICAgICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMsIEMxNCwgQzE1LCBDMTYsIEMxNworICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IHNldF9jX2Nob29zZXI8MTk+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1LCBsb25nIEMxNiwgbG9uZyBDMTcsIGxvbmcgQzE4LCBsb25nIEMxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0MTlfYzwKKyAgICAgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBDMTIsIEMxMywgQzE0LCBDMTUsIEMxNiwgQzE3LCBDMTgKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBzZXRfY19jaG9vc2VyPDIwPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNSwgbG9uZyBDMTYsIGxvbmcgQzE3LCBsb25nIEMxOCwgbG9uZyBDMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDIwX2M8CisgICAgICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMsIEMxNCwgQzE1LCBDMTYsIEMxNywgQzE4LCBDMTkKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPCBsb25nIEMgPgorc3RydWN0IGlzX3NldF9jX2FyZworeworICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChib29sLCB2YWx1ZSAgPSB0cnVlKTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBpc19zZXRfY19hcmc8TE9OR19NQVg+Cit7CisgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGJvb2wsIHZhbHVlICA9IGZhbHNlKTsKK307CisKK3RlbXBsYXRlPAorICAgICAgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNSwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOAorICAgICwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMiwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNQorICAgICwgbG9uZyBDMTYsIGxvbmcgQzE3LCBsb25nIEMxOCwgbG9uZyBDMTksIGxvbmcgQzIwCisgICAgPgorc3RydWN0IHNldF9jX2NvdW50X2FyZ3MKK3sKKyAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSA9CisgICAgICAgICAgaXNfc2V0X2NfYXJnPEMxPjo6dmFsdWUgKyBpc19zZXRfY19hcmc8QzI+Ojp2YWx1ZSAKKyAgICAgICAgKyBpc19zZXRfY19hcmc8QzM+Ojp2YWx1ZSArIGlzX3NldF9jX2FyZzxDND46OnZhbHVlIAorICAgICAgICArIGlzX3NldF9jX2FyZzxDNT46OnZhbHVlICsgaXNfc2V0X2NfYXJnPEM2Pjo6dmFsdWUgCisgICAgICAgICsgaXNfc2V0X2NfYXJnPEM3Pjo6dmFsdWUgKyBpc19zZXRfY19hcmc8Qzg+Ojp2YWx1ZSAKKyAgICAgICAgKyBpc19zZXRfY19hcmc8Qzk+Ojp2YWx1ZSArIGlzX3NldF9jX2FyZzxDMTA+Ojp2YWx1ZSAKKyAgICAgICAgKyBpc19zZXRfY19hcmc8QzExPjo6dmFsdWUgKyBpc19zZXRfY19hcmc8QzEyPjo6dmFsdWUgCisgICAgICAgICsgaXNfc2V0X2NfYXJnPEMxMz46OnZhbHVlICsgaXNfc2V0X2NfYXJnPEMxND46OnZhbHVlIAorICAgICAgICArIGlzX3NldF9jX2FyZzxDMTU+Ojp2YWx1ZSArIGlzX3NldF9jX2FyZzxDMTY+Ojp2YWx1ZSAKKyAgICAgICAgKyBpc19zZXRfY19hcmc8QzE3Pjo6dmFsdWUgKyBpc19zZXRfY19hcmc8QzE4Pjo6dmFsdWUgCisgICAgICAgICsgaXNfc2V0X2NfYXJnPEMxOT46OnZhbHVlICsgaXNfc2V0X2NfYXJnPEMyMD46OnZhbHVlCisgICAgICAgICk7CisKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNSwgbG9uZyBDMTYsIGxvbmcgQzE3LCBsb25nIEMxOCwgbG9uZyBDMTkKKyAgICA+CitzdHJ1Y3Qgc2V0X2NfaW1wbAoreworICAgIHR5cGVkZWYgYXV4OjpzZXRfY19jb3VudF9hcmdzPAorICAgICAgICAgIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMsIEMxNCwgQzE1LCBDMTYsIEMxNywgQzE4LCBDMTkKKyAgICAgICAgPiBhcmdfbnVtXzsKKworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXV4OjpzZXRfY19jaG9vc2VyPCBhcmdfbnVtXzo6dmFsdWUgPgorICAgICAgICA6OnRlbXBsYXRlIHJlc3VsdF88IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcsQzgsQzksQzEwLEMxMSxDMTIsQzEzLEMxNCxDMTUsQzE2LEMxNyxDMTgsQzE5ID46OnR5cGUgdHlwZTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAgPSBMT05HX01BWCwgbG9uZyBDMSA9IExPTkdfTUFYLCBsb25nIEMyID0gTE9OR19NQVgKKyAgICAsIGxvbmcgQzMgPSBMT05HX01BWCwgbG9uZyBDNCA9IExPTkdfTUFYLCBsb25nIEM1ID0gTE9OR19NQVgKKyAgICAsIGxvbmcgQzYgPSBMT05HX01BWCwgbG9uZyBDNyA9IExPTkdfTUFYLCBsb25nIEM4ID0gTE9OR19NQVgKKyAgICAsIGxvbmcgQzkgPSBMT05HX01BWCwgbG9uZyBDMTAgPSBMT05HX01BWCwgbG9uZyBDMTEgPSBMT05HX01BWAorICAgICwgbG9uZyBDMTIgPSBMT05HX01BWCwgbG9uZyBDMTMgPSBMT05HX01BWCwgbG9uZyBDMTQgPSBMT05HX01BWAorICAgICwgbG9uZyBDMTUgPSBMT05HX01BWCwgbG9uZyBDMTYgPSBMT05HX01BWCwgbG9uZyBDMTcgPSBMT05HX01BWAorICAgICwgbG9uZyBDMTggPSBMT05HX01BWCwgbG9uZyBDMTkgPSBMT05HX01BWAorICAgID4KK3N0cnVjdCBzZXRfYworICAgIDogYXV4OjpzZXRfY19pbXBsPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMsIEMxNCwgQzE1LCBDMTYsIEMxNywgQzE4LCBDMTkKKyAgICAgICAgPjo6dHlwZQoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXV4OjpzZXRfY19pbXBsPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMsIEMxNCwgQzE1LCBDMTYsIEMxNywgQzE4LCBDMTkKKyAgICAgICAgPjo6dHlwZSB0eXBlOworfTsKKworfX0KKwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL25vX2N0cHMvc2hpZnRfbGVmdC5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fY3Rwcy9zaGlmdF9sZWZ0LmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZDZjNTQ1Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL25vX2N0cHMvc2hpZnRfbGVmdC5ocHAKQEAgLTAsMCArMSw5OSBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vIENvcHlyaWdodCBKYWFwIFN1dGVyIDIwMDMKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvc2hpZnRfbGVmdC5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUYWcxCisgICAgLCB0eXBlbmFtZSBUYWcyCisgICAgPgorc3RydWN0IHNoaWZ0X2xlZnRfaW1wbAorICAgIDogaWZfYzwKKyAgICAgICAgICAoIEJPT1NUX01QTF9BVVhfTkVTVEVEX1ZBTFVFX1dLTkQoaW50LCBUYWcxKQorICAgICAgICAgICAgICA+IEJPT1NUX01QTF9BVVhfTkVTVEVEX1ZBTFVFX1dLTkQoaW50LCBUYWcyKQorICAgICAgICAgICAgKQorCisgICAgICAgICwgYXV4OjpjYXN0Mm5kX2ltcGw8IHNoaWZ0X2xlZnRfaW1wbDwgVGFnMSxUYWcxID4sVGFnMSwgVGFnMiA+CisgICAgICAgICwgYXV4OjpjYXN0MXN0X2ltcGw8IHNoaWZ0X2xlZnRfaW1wbDwgVGFnMixUYWcyID4sVGFnMSwgVGFnMiA+CisgICAgICAgID46OnR5cGUKK3sKK307CisKKy8vLyBmb3IgRGlnaXRhbCBNYXJzIEMrKy9jb21waWxlcnMgd2l0aCBubyBDVFBTL1RUUCBzdXBwb3J0Cit0ZW1wbGF0ZTw+IHN0cnVjdCBzaGlmdF9sZWZ0X2ltcGw8IG5hLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCBzaGlmdF9sZWZ0X2ltcGw8IG5hLGludGVncmFsX2NfdGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCBzaGlmdF9sZWZ0X2ltcGw8IGludGVncmFsX2NfdGFnLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVCA+IHN0cnVjdCBzaGlmdF9sZWZ0X3RhZworeworICAgIHR5cGVkZWYgdHlwZW5hbWUgVDo6dGFnIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjEpCisgICAgLCB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4yKQorICAgID4KK3N0cnVjdCBzaGlmdF9sZWZ0CisKKyAgICA6IHNoaWZ0X2xlZnRfaW1wbDwKKyAgICAgICAgICB0eXBlbmFtZSBzaGlmdF9sZWZ0X3RhZzxOMT46OnR5cGUKKyAgICAgICAgLCB0eXBlbmFtZSBzaGlmdF9sZWZ0X3RhZzxOMj46OnR5cGUKKyAgICAgICAgPjo6dGVtcGxhdGUgYXBwbHk8IE4xLE4yID46OnR5cGUKK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKDIsIHNoaWZ0X2xlZnQsIChOMSwgTjIpKQorCit9OworCitCT09TVF9NUExfQVVYX05BX1NQRUMyKDIsIDIsIHNoaWZ0X2xlZnQpCisKK319CisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgewordGVtcGxhdGU8Pgorc3RydWN0IHNoaWZ0X2xlZnRfaW1wbDwgaW50ZWdyYWxfY190YWcsaW50ZWdyYWxfY190YWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBOLCB0eXBlbmFtZSBTID4gc3RydWN0IGFwcGx5CisKKyAgICAgICAgOiBpbnRlZ3JhbF9jPAorICAgICAgICAgICAgICB0eXBlbmFtZSBOOjp2YWx1ZV90eXBlCisgICAgICAgICAgICAsICggQk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4pOjp2YWx1ZQorICAgICAgICAgICAgICAgICAgPDwgQk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKFMpOjp2YWx1ZQorICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgID4KKyAgICB7CisgICAgfTsKK307CisKK319CmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fY3Rwcy9zaGlmdF9yaWdodC5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fY3Rwcy9zaGlmdF9yaWdodC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTg1ZWIwZQotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9ub19jdHBzL3NoaWZ0X3JpZ2h0LmhwcApAQCAtMCwwICsxLDk5IEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8gQ29weXJpZ2h0IEphYXAgU3V0ZXIgMjAwMworLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9zaGlmdF9yaWdodC5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUYWcxCisgICAgLCB0eXBlbmFtZSBUYWcyCisgICAgPgorc3RydWN0IHNoaWZ0X3JpZ2h0X2ltcGwKKyAgICA6IGlmX2M8CisgICAgICAgICAgKCBCT09TVF9NUExfQVVYX05FU1RFRF9WQUxVRV9XS05EKGludCwgVGFnMSkKKyAgICAgICAgICAgICAgPiBCT09TVF9NUExfQVVYX05FU1RFRF9WQUxVRV9XS05EKGludCwgVGFnMikKKyAgICAgICAgICAgICkKKworICAgICAgICAsIGF1eDo6Y2FzdDJuZF9pbXBsPCBzaGlmdF9yaWdodF9pbXBsPCBUYWcxLFRhZzEgPixUYWcxLCBUYWcyID4KKyAgICAgICAgLCBhdXg6OmNhc3Qxc3RfaW1wbDwgc2hpZnRfcmlnaHRfaW1wbDwgVGFnMixUYWcyID4sVGFnMSwgVGFnMiA+CisgICAgICAgID46OnR5cGUKK3sKK307CisKKy8vLyBmb3IgRGlnaXRhbCBNYXJzIEMrKy9jb21waWxlcnMgd2l0aCBubyBDVFBTL1RUUCBzdXBwb3J0Cit0ZW1wbGF0ZTw+IHN0cnVjdCBzaGlmdF9yaWdodF9pbXBsPCBuYSxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3Qgc2hpZnRfcmlnaHRfaW1wbDwgbmEsaW50ZWdyYWxfY190YWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4gc3RydWN0IHNoaWZ0X3JpZ2h0X2ltcGw8IGludGVncmFsX2NfdGFnLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVCA+IHN0cnVjdCBzaGlmdF9yaWdodF90YWcKK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIFQ6OnRhZyB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4xKQorICAgICwgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMikKKyAgICA+CitzdHJ1Y3Qgc2hpZnRfcmlnaHQKKworICAgIDogc2hpZnRfcmlnaHRfaW1wbDwKKyAgICAgICAgICB0eXBlbmFtZSBzaGlmdF9yaWdodF90YWc8TjE+Ojp0eXBlCisgICAgICAgICwgdHlwZW5hbWUgc2hpZnRfcmlnaHRfdGFnPE4yPjo6dHlwZQorICAgICAgICA+Ojp0ZW1wbGF0ZSBhcHBseTwgTjEsTjIgPjo6dHlwZQoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoMiwgc2hpZnRfcmlnaHQsIChOMSwgTjIpKQorCit9OworCitCT09TVF9NUExfQVVYX05BX1NQRUMyKDIsIDIsIHNoaWZ0X3JpZ2h0KQorCit9fQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKK3RlbXBsYXRlPD4KK3N0cnVjdCBzaGlmdF9yaWdodF9pbXBsPCBpbnRlZ3JhbF9jX3RhZyxpbnRlZ3JhbF9jX3RhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIE4sIHR5cGVuYW1lIFMgPiBzdHJ1Y3QgYXBwbHkKKworICAgICAgICA6IGludGVncmFsX2M8CisgICAgICAgICAgICAgIHR5cGVuYW1lIE46OnZhbHVlX3R5cGUKKyAgICAgICAgICAgICwgKCBCT09TVF9NUExfQVVYX1ZBTFVFX1dLTkQoTik6OnZhbHVlCisgICAgICAgICAgICAgICAgICA+PiBCT09TVF9NUExfQVVYX1ZBTFVFX1dLTkQoUyk6OnZhbHVlCisgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgPgorICAgIHsKKyAgICB9OworfTsKKworfX0KZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9ub19jdHBzL3RlbXBsYXRlX2FyaXR5LmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9ub19jdHBzL3RlbXBsYXRlX2FyaXR5LmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNTA1NzhmCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL25vX2N0cHMvdGVtcGxhdGVfYXJpdHkuaHBwCkBAIC0wLDAgKzEsNDAgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMS0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL2F1eF8vdGVtcGxhdGVfYXJpdHkuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7IG5hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwgYm9vbCA+CitzdHJ1Y3QgdGVtcGxhdGVfYXJpdHlfaW1wbAoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBGID4gc3RydWN0IHJlc3VsdF8KKyAgICAgICAgOiBtcGw6OmludF88IC0xID4KKyAgICB7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCB0ZW1wbGF0ZV9hcml0eV9pbXBsPHRydWU+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIEYgPiBzdHJ1Y3QgcmVzdWx0XworICAgICAgICA6IEY6OmFyaXR5CisgICAgeworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgRiA+CitzdHJ1Y3QgdGVtcGxhdGVfYXJpdHkKKyAgICA6IHRlbXBsYXRlX2FyaXR5X2ltcGw8IDo6bmRuYm9vc3Q6Om1wbDo6YXV4OjpoYXNfcmViaW5kPEY+Ojp2YWx1ZSA+CisgICAgICAgIDo6dGVtcGxhdGUgcmVzdWx0XzxGPgoreworfTsKKworfX19CisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9ub19jdHBzL3RpbWVzLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9ub19jdHBzL3RpbWVzLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lY2RhZmM5Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL25vX2N0cHMvdGltZXMuaHBwCkBAIC0wLDAgKzEsMTMzIEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC90aW1lcy5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUYWcxCisgICAgLCB0eXBlbmFtZSBUYWcyCisgICAgPgorc3RydWN0IHRpbWVzX2ltcGwKKyAgICA6IGlmX2M8CisgICAgICAgICAgKCBCT09TVF9NUExfQVVYX05FU1RFRF9WQUxVRV9XS05EKGludCwgVGFnMSkKKyAgICAgICAgICAgICAgPiBCT09TVF9NUExfQVVYX05FU1RFRF9WQUxVRV9XS05EKGludCwgVGFnMikKKyAgICAgICAgICAgICkKKworICAgICAgICAsIGF1eDo6Y2FzdDJuZF9pbXBsPCB0aW1lc19pbXBsPCBUYWcxLFRhZzEgPixUYWcxLCBUYWcyID4KKyAgICAgICAgLCBhdXg6OmNhc3Qxc3RfaW1wbDwgdGltZXNfaW1wbDwgVGFnMixUYWcyID4sVGFnMSwgVGFnMiA+CisgICAgICAgID46OnR5cGUKK3sKK307CisKKy8vLyBmb3IgRGlnaXRhbCBNYXJzIEMrKy9jb21waWxlcnMgd2l0aCBubyBDVFBTL1RUUCBzdXBwb3J0Cit0ZW1wbGF0ZTw+IHN0cnVjdCB0aW1lc19pbXBsPCBuYSxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgdGltZXNfaW1wbDwgbmEsaW50ZWdyYWxfY190YWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4gc3RydWN0IHRpbWVzX2ltcGw8IGludGVncmFsX2NfdGFnLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVCA+IHN0cnVjdCB0aW1lc190YWcKK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIFQ6OnRhZyB0eXBlOworfTsKKworLy8vIGZvcndhcmQgZGVjbGFyYXRpb24KKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4xKQorICAgICwgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMikKKyAgICA+CitzdHJ1Y3QgdGltZXMyOworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjEpCisgICAgLCB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4yKQorICAgICwgdHlwZW5hbWUgTjMgPSBuYSwgdHlwZW5hbWUgTjQgPSBuYSwgdHlwZW5hbWUgTjUgPSBuYQorICAgID4KK3N0cnVjdCB0aW1lcworCisgICAgOiBpZl88CisKKyAgICAgICAgICBpc19uYTxOMz4KKyAgICAgICAgLCB0aW1lczI8IE4xLE4yID4KKyAgICAgICAgLCB0aW1lczwKKyAgICAgICAgICAgICAgdGltZXMyPCBOMSxOMiA+CisgICAgICAgICAgICAsIE4zLCBONCwgTjUKKyAgICAgICAgICAgID4KKyAgICAgICAgPjo6dHlwZQorCit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgKKyAgICAgICAgICA1CisgICAgICAgICwgdGltZXMKKyAgICAgICAgLCAoIE4xLCBOMiwgTjMsIE40LCBONSApCisgICAgICAgICkKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgTjEKKyAgICAsIHR5cGVuYW1lIE4yCisgICAgPgorc3RydWN0IHRpbWVzMgorICAgIDogdGltZXNfaW1wbDwKKyAgICAgICAgICB0eXBlbmFtZSB0aW1lc190YWc8TjE+Ojp0eXBlCisgICAgICAgICwgdHlwZW5hbWUgdGltZXNfdGFnPE4yPjo6dHlwZQorICAgICAgICA+Ojp0ZW1wbGF0ZSBhcHBseTwgTjEsTjIgPjo6dHlwZQoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoMiwgdGltZXMyLCAoTjEsIE4yKSkKKworfTsKKworQk9PU1RfTVBMX0FVWF9OQV9TUEVDMigyLCA1LCB0aW1lcykKKworfX0KKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7Cit0ZW1wbGF0ZTw+CitzdHJ1Y3QgdGltZXNfaW1wbDwgaW50ZWdyYWxfY190YWcsaW50ZWdyYWxfY190YWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBOMSwgdHlwZW5hbWUgTjIgPiBzdHJ1Y3QgYXBwbHkKKworICAgICAgICA6IGludGVncmFsX2M8CisgICAgICAgICAgICAgIHR5cGVuYW1lIGF1eDo6bGFyZ2VzdF9pbnQ8CisgICAgICAgICAgICAgICAgICB0eXBlbmFtZSBOMTo6dmFsdWVfdHlwZQorICAgICAgICAgICAgICAgICwgdHlwZW5hbWUgTjI6OnZhbHVlX3R5cGUKKyAgICAgICAgICAgICAgICA+Ojp0eXBlCisgICAgICAgICAgICAsICggQk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4xKTo6dmFsdWUKKyAgICAgICAgICAgICAgICAgICogQk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4yKTo6dmFsdWUKKyAgICAgICAgICAgICAgICApCisgICAgICAgICAgICA+CisgICAgeworICAgIH07Cit9OworCit9fQpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL25vX2N0cHMvdW5wYWNrX2FyZ3MuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL25vX2N0cHMvdW5wYWNrX2FyZ3MuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJlZTc0NzIKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fY3Rwcy91bnBhY2tfYXJncy5ocHAKQEAgLTAsMCArMSwxMDkgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMi0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL3VucGFja19hcmdzLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8IEJPT1NUX01QTF9BVVhfTlRUUF9ERUNMKGludCwgc2l6ZSkgPiBzdHJ1Y3QgdW5wYWNrX2FyZ3NfaW1wbAoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBGLCB0eXBlbmFtZSBBcmdzID4gc3RydWN0IGFwcGx5OworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgdW5wYWNrX2FyZ3NfaW1wbDwwPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBGLCB0eXBlbmFtZSBBcmdzID4gc3RydWN0IGFwcGx5CisgICAgICAgIDogYXBwbHkwPAorICAgICAgICAgICAgICBGCisgICAgICAgICAgICA+CisgICAgeworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCB1bnBhY2tfYXJnc19pbXBsPDE+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIEYsIHR5cGVuYW1lIEFyZ3MgPiBzdHJ1Y3QgYXBwbHkKKyAgICAgICAgOiBhcHBseTE8CisgICAgICAgICAgICAgIEYKKyAgICAgICAgICAgICwgdHlwZW5hbWUgYXRfYzwgQXJncywwID46OnR5cGUKKyAgICAgICAgICAgID4KKyAgICB7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4gc3RydWN0IHVucGFja19hcmdzX2ltcGw8Mj4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgRiwgdHlwZW5hbWUgQXJncyA+IHN0cnVjdCBhcHBseQorICAgICAgICA6IGFwcGx5MjwKKyAgICAgICAgICAgICAgRgorICAgICAgICAgICAgLCB0eXBlbmFtZSBhdF9jPCBBcmdzLDAgPjo6dHlwZSwgdHlwZW5hbWUgYXRfYzwgQXJncywxID46OnR5cGUKKyAgICAgICAgICAgID4KKyAgICB7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4gc3RydWN0IHVucGFja19hcmdzX2ltcGw8Mz4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgRiwgdHlwZW5hbWUgQXJncyA+IHN0cnVjdCBhcHBseQorICAgICAgICA6IGFwcGx5MzwKKyAgICAgICAgICAgICAgRgorICAgICAgICAgICAgLCB0eXBlbmFtZSBhdF9jPCBBcmdzLDAgPjo6dHlwZSwgdHlwZW5hbWUgYXRfYzwgQXJncywxID46OnR5cGUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgYXRfYzwgQXJncywyID46OnR5cGUKKyAgICAgICAgICAgID4KKyAgICB7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4gc3RydWN0IHVucGFja19hcmdzX2ltcGw8ND4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgRiwgdHlwZW5hbWUgQXJncyA+IHN0cnVjdCBhcHBseQorICAgICAgICA6IGFwcGx5NDwKKyAgICAgICAgICAgICAgRgorICAgICAgICAgICAgLCB0eXBlbmFtZSBhdF9jPCBBcmdzLDAgPjo6dHlwZSwgdHlwZW5hbWUgYXRfYzwgQXJncywxID46OnR5cGUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgYXRfYzwgQXJncywyID46OnR5cGUsIHR5cGVuYW1lIGF0X2M8IEFyZ3MsMyA+Ojp0eXBlCisgICAgICAgICAgICA+CisgICAgeworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCB1bnBhY2tfYXJnc19pbXBsPDU+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIEYsIHR5cGVuYW1lIEFyZ3MgPiBzdHJ1Y3QgYXBwbHkKKyAgICAgICAgOiBhcHBseTU8CisgICAgICAgICAgICAgIEYKKyAgICAgICAgICAgICwgdHlwZW5hbWUgYXRfYzwgQXJncywwID46OnR5cGUsIHR5cGVuYW1lIGF0X2M8IEFyZ3MsMSA+Ojp0eXBlCisgICAgICAgICAgICAsIHR5cGVuYW1lIGF0X2M8IEFyZ3MsMiA+Ojp0eXBlLCB0eXBlbmFtZSBhdF9jPCBBcmdzLDMgPjo6dHlwZQorICAgICAgICAgICAgLCB0eXBlbmFtZSBhdF9jPCBBcmdzLDQgPjo6dHlwZQorICAgICAgICAgICAgPgorICAgIHsKKyAgICB9OworfTsKKworfQorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYKKyAgICA+CitzdHJ1Y3QgdW5wYWNrX2FyZ3MKK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgQXJncyA+IHN0cnVjdCBhcHBseQorCisgICAgICAgIDogYXV4Ojp1bnBhY2tfYXJnc19pbXBsPCBzaXplPEFyZ3M+Ojp2YWx1ZSA+CisgICAgICAgICAgICA6OnRlbXBsYXRlIGFwcGx5PCBGLEFyZ3MgPgorCisgICAgeworICAgIH07Cit9OworCitCT09TVF9NUExfQVVYX1BBU1NfVEhST1VHSF9MQU1CREFfU1BFQygxLCB1bnBhY2tfYXJncykKKworfX0KKwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL25vX2N0cHMvdmVjdG9yLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9ub19jdHBzL3ZlY3Rvci5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmRlZTkyMwotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9ub19jdHBzL3ZlY3Rvci5ocHAKQEAgLTAsMCArMSw1NTYgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL3ZlY3Rvci5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKworbmFtZXNwYWNlIGF1eCB7Cit0ZW1wbGF0ZTwgaW50IE4gPgorc3RydWN0IHZlY3Rvcl9jaG9vc2VyOworCit9CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgdmVjdG9yX2Nob29zZXI8MD4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IwPAorICAgICAgICAgICAgIAorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IHZlY3Rvcl9jaG9vc2VyPDE+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTwKKyAgICAgICAgICAgICAgVDAKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCB2ZWN0b3JfY2hvb3NlcjwyPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjI8CisgICAgICAgICAgICAgIFQwLCBUMQorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IHZlY3Rvcl9jaG9vc2VyPDM+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMzwKKyAgICAgICAgICAgICAgVDAsIFQxLCBUMgorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IHZlY3Rvcl9jaG9vc2VyPDQ+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yNDwKKyAgICAgICAgICAgICAgVDAsIFQxLCBUMiwgVDMKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCB2ZWN0b3JfY2hvb3Nlcjw1PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjU8CisgICAgICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNAorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IHZlY3Rvcl9jaG9vc2VyPDY+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yNjwKKyAgICAgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNQorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IHZlY3Rvcl9jaG9vc2VyPDc+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yNzwKKyAgICAgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCB2ZWN0b3JfY2hvb3Nlcjw4PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3Rvcjg8CisgICAgICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNworICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IHZlY3Rvcl9jaG9vc2VyPDk+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yOTwKKyAgICAgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOAorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IHZlY3Rvcl9jaG9vc2VyPDEwPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjEwPAorICAgICAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOQorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IHZlY3Rvcl9jaG9vc2VyPDExPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjExPAorICAgICAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgdmVjdG9yX2Nob29zZXI8MTI+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTI8CisgICAgICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMQorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IHZlY3Rvcl9jaG9vc2VyPDEzPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjEzPAorICAgICAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMgorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IHZlY3Rvcl9jaG9vc2VyPDE0PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjE0PAorICAgICAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgdmVjdG9yX2Nob29zZXI8MTU+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTU8CisgICAgICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IHZlY3Rvcl9jaG9vc2VyPDE2PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjE2PAorICAgICAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQsIFQxNQorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IHZlY3Rvcl9jaG9vc2VyPDE3PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjE3PAorICAgICAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQsIFQxNSwgVDE2CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgdmVjdG9yX2Nob29zZXI8MTg+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTg8CisgICAgICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNCwgVDE1LCBUMTYsIFQxNworICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IHZlY3Rvcl9jaG9vc2VyPDE5PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjE5PAorICAgICAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQsIFQxNSwgVDE2LCBUMTcsIFQxOAorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IHZlY3Rvcl9jaG9vc2VyPDIwPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjIwPAorICAgICAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQsIFQxNSwgVDE2LCBUMTcsIFQxOCwgVDE5CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVCA+CitzdHJ1Y3QgaXNfdmVjdG9yX2FyZworeworICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChib29sLCB2YWx1ZSAgPSB0cnVlKTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBpc192ZWN0b3JfYXJnPG5hPgoreworICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChib29sLCB2YWx1ZSAgPSBmYWxzZSk7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0LCB0eXBlbmFtZSBUNQorICAgICwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDksIHR5cGVuYW1lIFQxMAorICAgICwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0LCB0eXBlbmFtZSBUMTUKKyAgICAsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOSwgdHlwZW5hbWUgVDIwCisgICAgPgorc3RydWN0IHZlY3Rvcl9jb3VudF9hcmdzCit7CisgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgPQorICAgICAgICAgIGlzX3ZlY3Rvcl9hcmc8VDE+Ojp2YWx1ZSArIGlzX3ZlY3Rvcl9hcmc8VDI+Ojp2YWx1ZSAKKyAgICAgICAgKyBpc192ZWN0b3JfYXJnPFQzPjo6dmFsdWUgKyBpc192ZWN0b3JfYXJnPFQ0Pjo6dmFsdWUgCisgICAgICAgICsgaXNfdmVjdG9yX2FyZzxUNT46OnZhbHVlICsgaXNfdmVjdG9yX2FyZzxUNj46OnZhbHVlIAorICAgICAgICArIGlzX3ZlY3Rvcl9hcmc8VDc+Ojp2YWx1ZSArIGlzX3ZlY3Rvcl9hcmc8VDg+Ojp2YWx1ZSAKKyAgICAgICAgKyBpc192ZWN0b3JfYXJnPFQ5Pjo6dmFsdWUgKyBpc192ZWN0b3JfYXJnPFQxMD46OnZhbHVlIAorICAgICAgICArIGlzX3ZlY3Rvcl9hcmc8VDExPjo6dmFsdWUgKyBpc192ZWN0b3JfYXJnPFQxMj46OnZhbHVlIAorICAgICAgICArIGlzX3ZlY3Rvcl9hcmc8VDEzPjo6dmFsdWUgKyBpc192ZWN0b3JfYXJnPFQxND46OnZhbHVlIAorICAgICAgICArIGlzX3ZlY3Rvcl9hcmc8VDE1Pjo6dmFsdWUgKyBpc192ZWN0b3JfYXJnPFQxNj46OnZhbHVlIAorICAgICAgICArIGlzX3ZlY3Rvcl9hcmc8VDE3Pjo6dmFsdWUgKyBpc192ZWN0b3JfYXJnPFQxOD46OnZhbHVlIAorICAgICAgICArIGlzX3ZlY3Rvcl9hcmc8VDE5Pjo6dmFsdWUgKyBpc192ZWN0b3JfYXJnPFQyMD46OnZhbHVlCisgICAgICAgICk7CisKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgID4KK3N0cnVjdCB2ZWN0b3JfaW1wbAoreworICAgIHR5cGVkZWYgYXV4Ojp2ZWN0b3JfY291bnRfYXJnczwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQsIFQxNSwgVDE2LCBUMTcsIFQxOCwgVDE5CisgICAgICAgID4gYXJnX251bV87CisKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGF1eDo6dmVjdG9yX2Nob29zZXI8IGFyZ19udW1fOjp2YWx1ZSA+CisgICAgICAgIDo6dGVtcGxhdGUgcmVzdWx0XzwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzLFQxNCxUMTUsVDE2LFQxNyxUMTgsVDE5ID46OnR5cGUgdHlwZTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwID0gbmEsIHR5cGVuYW1lIFQxID0gbmEsIHR5cGVuYW1lIFQyID0gbmEsIHR5cGVuYW1lIFQzID0gbmEKKyAgICAsIHR5cGVuYW1lIFQ0ID0gbmEsIHR5cGVuYW1lIFQ1ID0gbmEsIHR5cGVuYW1lIFQ2ID0gbmEsIHR5cGVuYW1lIFQ3ID0gbmEKKyAgICAsIHR5cGVuYW1lIFQ4ID0gbmEsIHR5cGVuYW1lIFQ5ID0gbmEsIHR5cGVuYW1lIFQxMCA9IG5hLCB0eXBlbmFtZSBUMTEgPSBuYQorICAgICwgdHlwZW5hbWUgVDEyID0gbmEsIHR5cGVuYW1lIFQxMyA9IG5hLCB0eXBlbmFtZSBUMTQgPSBuYQorICAgICwgdHlwZW5hbWUgVDE1ID0gbmEsIHR5cGVuYW1lIFQxNiA9IG5hLCB0eXBlbmFtZSBUMTcgPSBuYQorICAgICwgdHlwZW5hbWUgVDE4ID0gbmEsIHR5cGVuYW1lIFQxOSA9IG5hCisgICAgPgorc3RydWN0IHZlY3RvcgorICAgIDogYXV4Ojp2ZWN0b3JfaW1wbDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQsIFQxNSwgVDE2LCBUMTcsIFQxOCwgVDE5CisgICAgICAgID46OnR5cGUKK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGF1eDo6dmVjdG9yX2ltcGw8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0LCBUMTUsIFQxNiwgVDE3LCBUMTgsIFQxOQorICAgICAgICA+Ojp0eXBlIHR5cGU7Cit9OworCit9fQorCmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fY3Rwcy92ZWN0b3JfYy5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fY3Rwcy92ZWN0b3JfYy5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2U2NDViOQotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9ub19jdHBzL3ZlY3Rvcl9jLmhwcApAQCAtMCwwICsxLDUzNCBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvdmVjdG9yX2MuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK25hbWVzcGFjZSBhdXggewordGVtcGxhdGU8IGludCBOID4KK3N0cnVjdCB2ZWN0b3JfY19jaG9vc2VyOworCit9CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgdmVjdG9yX2NfY2hvb3NlcjwwPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNSwgbG9uZyBDMTYsIGxvbmcgQzE3LCBsb25nIEMxOCwgbG9uZyBDMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjBfYzwKKyAgICAgICAgICAgICAgVAorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IHZlY3Rvcl9jX2Nob29zZXI8MT4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgICAgICAsIGxvbmcgQzEzLCBsb25nIEMxNCwgbG9uZyBDMTUsIGxvbmcgQzE2LCBsb25nIEMxNywgbG9uZyBDMTgsIGxvbmcgQzE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxX2M8CisgICAgICAgICAgICAgIFQsIFQoQzApCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgdmVjdG9yX2NfY2hvb3NlcjwyPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNSwgbG9uZyBDMTYsIGxvbmcgQzE3LCBsb25nIEMxOCwgbG9uZyBDMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjJfYzwKKyAgICAgICAgICAgICAgVCwgVChDMCksIFQoQzEpCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgdmVjdG9yX2NfY2hvb3NlcjwzPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNSwgbG9uZyBDMTYsIGxvbmcgQzE3LCBsb25nIEMxOCwgbG9uZyBDMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjNfYzwKKyAgICAgICAgICAgICAgVCwgVChDMCksIFQoQzEpLCBUKEMyKQorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IHZlY3Rvcl9jX2Nob29zZXI8ND4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgICAgICAsIGxvbmcgQzEzLCBsb25nIEMxNCwgbG9uZyBDMTUsIGxvbmcgQzE2LCBsb25nIEMxNywgbG9uZyBDMTgsIGxvbmcgQzE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3I0X2M8CisgICAgICAgICAgICAgIFQsIFQoQzApLCBUKEMxKSwgVChDMiksIFQoQzMpCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgdmVjdG9yX2NfY2hvb3Nlcjw1PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNSwgbG9uZyBDMTYsIGxvbmcgQzE3LCBsb25nIEMxOCwgbG9uZyBDMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjVfYzwKKyAgICAgICAgICAgICAgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMyksIFQoQzQpCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgdmVjdG9yX2NfY2hvb3Nlcjw2PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNSwgbG9uZyBDMTYsIGxvbmcgQzE3LCBsb25nIEMxOCwgbG9uZyBDMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjZfYzwKKyAgICAgICAgICAgICAgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMyksIFQoQzQpLCBUKEM1KQorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IHZlY3Rvcl9jX2Nob29zZXI8Nz4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgICAgICAsIGxvbmcgQzEzLCBsb25nIEMxNCwgbG9uZyBDMTUsIGxvbmcgQzE2LCBsb25nIEMxNywgbG9uZyBDMTgsIGxvbmcgQzE5CisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3I3X2M8CisgICAgICAgICAgICAgIFQsIFQoQzApLCBUKEMxKSwgVChDMiksIFQoQzMpLCBUKEM0KSwgVChDNSksIFQoQzYpCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgdmVjdG9yX2NfY2hvb3Nlcjw4PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNSwgbG9uZyBDMTYsIGxvbmcgQzE3LCBsb25nIEMxOCwgbG9uZyBDMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjhfYzwKKyAgICAgICAgICAgICAgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMyksIFQoQzQpLCBUKEM1KSwgVChDNiksIFQoQzcpCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgdmVjdG9yX2NfY2hvb3Nlcjw5PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNSwgbG9uZyBDMTYsIGxvbmcgQzE3LCBsb25nIEMxOCwgbG9uZyBDMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjlfYzwKKyAgICAgICAgICAgICAgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMyksIFQoQzQpLCBUKEM1KSwgVChDNiksIFQoQzcpLCBUKEM4KQorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IHZlY3Rvcl9jX2Nob29zZXI8MTA+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1LCBsb25nIEMxNiwgbG9uZyBDMTcsIGxvbmcgQzE4LCBsb25nIEMxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTBfYzwKKyAgICAgICAgICAgICAgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMyksIFQoQzQpLCBUKEM1KSwgVChDNiksIFQoQzcpLCBUKEM4KSwgVChDOSkKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCB2ZWN0b3JfY19jaG9vc2VyPDExPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNSwgbG9uZyBDMTYsIGxvbmcgQzE3LCBsb25nIEMxOCwgbG9uZyBDMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjExX2M8CisgICAgICAgICAgICAgIFQsIFQoQzApLCBUKEMxKSwgVChDMiksIFQoQzMpLCBUKEM0KSwgVChDNSksIFQoQzYpLCBUKEM3KSwgVChDOCksIFQoQzkpLCBUKEMxMCkKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCB2ZWN0b3JfY19jaG9vc2VyPDEyPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNSwgbG9uZyBDMTYsIGxvbmcgQzE3LCBsb25nIEMxOCwgbG9uZyBDMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjEyX2M8CisgICAgICAgICAgICAgIFQsIFQoQzApLCBUKEMxKSwgVChDMiksIFQoQzMpLCBUKEM0KSwgVChDNSksIFQoQzYpLCBUKEM3KSwgVChDOCksIFQoQzkpLCBUKEMxMCksIFQoQzExKQorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IHZlY3Rvcl9jX2Nob29zZXI8MTM+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1LCBsb25nIEMxNiwgbG9uZyBDMTcsIGxvbmcgQzE4LCBsb25nIEMxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTNfYzwKKyAgICAgICAgICAgICAgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMyksIFQoQzQpLCBUKEM1KSwgVChDNiksIFQoQzcpLCBUKEM4KSwgVChDOSksIFQoQzEwKSwgVChDMTEpLCBUKEMxMikKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCB2ZWN0b3JfY19jaG9vc2VyPDE0PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNSwgbG9uZyBDMTYsIGxvbmcgQzE3LCBsb25nIEMxOCwgbG9uZyBDMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjE0X2M8CisgICAgICAgICAgICAgIFQsIFQoQzApLCBUKEMxKSwgVChDMiksIFQoQzMpLCBUKEM0KSwgVChDNSksIFQoQzYpLCBUKEM3KSwgVChDOCksIFQoQzkpLCBUKEMxMCksIFQoQzExKSwgVChDMTIpLCBUKEMxMykKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCB2ZWN0b3JfY19jaG9vc2VyPDE1PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNSwgbG9uZyBDMTYsIGxvbmcgQzE3LCBsb25nIEMxOCwgbG9uZyBDMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjE1X2M8CisgICAgICAgICAgICAgIFQsIFQoQzApLCBUKEMxKSwgVChDMiksIFQoQzMpLCBUKEM0KSwgVChDNSksIFQoQzYpLCBUKEM3KSwgVChDOCksIFQoQzkpLCBUKEMxMCksIFQoQzExKSwgVChDMTIpLCBUKEMxMyksIFQoQzE0KQorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IHZlY3Rvcl9jX2Nob29zZXI8MTY+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1LCBsb25nIEMxNiwgbG9uZyBDMTcsIGxvbmcgQzE4LCBsb25nIEMxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTZfYzwKKyAgICAgICAgICAgICAgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMyksIFQoQzQpLCBUKEM1KSwgVChDNiksIFQoQzcpLCBUKEM4KSwgVChDOSksIFQoQzEwKSwgVChDMTEpLCBUKEMxMiksIFQoQzEzKSwgVChDMTQpLCBUKEMxNSkKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCB2ZWN0b3JfY19jaG9vc2VyPDE3PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNSwgbG9uZyBDMTYsIGxvbmcgQzE3LCBsb25nIEMxOCwgbG9uZyBDMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjE3X2M8CisgICAgICAgICAgICAgIFQsIFQoQzApLCBUKEMxKSwgVChDMiksIFQoQzMpLCBUKEM0KSwgVChDNSksIFQoQzYpLCBUKEM3KSwgVChDOCksIFQoQzkpLCBUKEMxMCksIFQoQzExKSwgVChDMTIpLCBUKEMxMyksIFQoQzE0KSwgVChDMTUpLCBUKEMxNikKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCB2ZWN0b3JfY19jaG9vc2VyPDE4PgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNSwgbG9uZyBDMTYsIGxvbmcgQzE3LCBsb25nIEMxOCwgbG9uZyBDMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjE4X2M8CisgICAgICAgICAgICAgIFQsIFQoQzApLCBUKEMxKSwgVChDMiksIFQoQzMpLCBUKEM0KSwgVChDNSksIFQoQzYpLCBUKEM3KSwgVChDOCksIFQoQzkpLCBUKEMxMCksIFQoQzExKSwgVChDMTIpLCBUKEMxMyksIFQoQzE0KSwgVChDMTUpLCBUKEMxNiksIFQoQzE3KQorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IHZlY3Rvcl9jX2Nob29zZXI8MTk+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1LCBsb25nIEMxNiwgbG9uZyBDMTcsIGxvbmcgQzE4LCBsb25nIEMxOQorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTlfYzwKKyAgICAgICAgICAgICAgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMyksIFQoQzQpLCBUKEM1KSwgVChDNiksIFQoQzcpLCBUKEM4KSwgVChDOSksIFQoQzEwKSwgVChDMTEpLCBUKEMxMiksIFQoQzEzKSwgVChDMTQpLCBUKEMxNSksIFQoQzE2KSwgVChDMTcpLCBUKEMxOCkKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCB2ZWN0b3JfY19jaG9vc2VyPDIwPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNSwgbG9uZyBDMTYsIGxvbmcgQzE3LCBsb25nIEMxOCwgbG9uZyBDMTkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjIwX2M8CisgICAgICAgICAgICAgIFQsIFQoQzApLCBUKEMxKSwgVChDMiksIFQoQzMpLCBUKEM0KSwgVChDNSksIFQoQzYpLCBUKEM3KSwgVChDOCksIFQoQzkpLCBUKEMxMCksIFQoQzExKSwgVChDMTIpLCBUKEMxMyksIFQoQzE0KSwgVChDMTUpLCBUKEMxNiksIFQoQzE3KSwgVChDMTgpLCBUKEMxOSkKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPCBsb25nIEMgPgorc3RydWN0IGlzX3ZlY3Rvcl9jX2FyZworeworICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChib29sLCB2YWx1ZSAgPSB0cnVlKTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBpc192ZWN0b3JfY19hcmc8TE9OR19NQVg+Cit7CisgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGJvb2wsIHZhbHVlICA9IGZhbHNlKTsKK307CisKK3RlbXBsYXRlPAorICAgICAgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNSwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOAorICAgICwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMiwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNQorICAgICwgbG9uZyBDMTYsIGxvbmcgQzE3LCBsb25nIEMxOCwgbG9uZyBDMTksIGxvbmcgQzIwCisgICAgPgorc3RydWN0IHZlY3Rvcl9jX2NvdW50X2FyZ3MKK3sKKyAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSA9CisgICAgICAgICAgaXNfdmVjdG9yX2NfYXJnPEMxPjo6dmFsdWUgKyBpc192ZWN0b3JfY19hcmc8QzI+Ojp2YWx1ZSAKKyAgICAgICAgKyBpc192ZWN0b3JfY19hcmc8QzM+Ojp2YWx1ZSArIGlzX3ZlY3Rvcl9jX2FyZzxDND46OnZhbHVlIAorICAgICAgICArIGlzX3ZlY3Rvcl9jX2FyZzxDNT46OnZhbHVlICsgaXNfdmVjdG9yX2NfYXJnPEM2Pjo6dmFsdWUgCisgICAgICAgICsgaXNfdmVjdG9yX2NfYXJnPEM3Pjo6dmFsdWUgKyBpc192ZWN0b3JfY19hcmc8Qzg+Ojp2YWx1ZSAKKyAgICAgICAgKyBpc192ZWN0b3JfY19hcmc8Qzk+Ojp2YWx1ZSArIGlzX3ZlY3Rvcl9jX2FyZzxDMTA+Ojp2YWx1ZSAKKyAgICAgICAgKyBpc192ZWN0b3JfY19hcmc8QzExPjo6dmFsdWUgKyBpc192ZWN0b3JfY19hcmc8QzEyPjo6dmFsdWUgCisgICAgICAgICsgaXNfdmVjdG9yX2NfYXJnPEMxMz46OnZhbHVlICsgaXNfdmVjdG9yX2NfYXJnPEMxND46OnZhbHVlIAorICAgICAgICArIGlzX3ZlY3Rvcl9jX2FyZzxDMTU+Ojp2YWx1ZSArIGlzX3ZlY3Rvcl9jX2FyZzxDMTY+Ojp2YWx1ZSAKKyAgICAgICAgKyBpc192ZWN0b3JfY19hcmc8QzE3Pjo6dmFsdWUgKyBpc192ZWN0b3JfY19hcmc8QzE4Pjo6dmFsdWUgCisgICAgICAgICsgaXNfdmVjdG9yX2NfYXJnPEMxOT46OnZhbHVlICsgaXNfdmVjdG9yX2NfYXJnPEMyMD46OnZhbHVlCisgICAgICAgICk7CisKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNSwgbG9uZyBDMTYsIGxvbmcgQzE3LCBsb25nIEMxOCwgbG9uZyBDMTkKKyAgICA+CitzdHJ1Y3QgdmVjdG9yX2NfaW1wbAoreworICAgIHR5cGVkZWYgYXV4Ojp2ZWN0b3JfY19jb3VudF9hcmdzPAorICAgICAgICAgIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMsIEMxNCwgQzE1LCBDMTYsIEMxNywgQzE4LCBDMTkKKyAgICAgICAgPiBhcmdfbnVtXzsKKworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXV4Ojp2ZWN0b3JfY19jaG9vc2VyPCBhcmdfbnVtXzo6dmFsdWUgPgorICAgICAgICA6OnRlbXBsYXRlIHJlc3VsdF88IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcsQzgsQzksQzEwLEMxMSxDMTIsQzEzLEMxNCxDMTUsQzE2LEMxNyxDMTgsQzE5ID46OnR5cGUgdHlwZTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAgPSBMT05HX01BWCwgbG9uZyBDMSA9IExPTkdfTUFYLCBsb25nIEMyID0gTE9OR19NQVgKKyAgICAsIGxvbmcgQzMgPSBMT05HX01BWCwgbG9uZyBDNCA9IExPTkdfTUFYLCBsb25nIEM1ID0gTE9OR19NQVgKKyAgICAsIGxvbmcgQzYgPSBMT05HX01BWCwgbG9uZyBDNyA9IExPTkdfTUFYLCBsb25nIEM4ID0gTE9OR19NQVgKKyAgICAsIGxvbmcgQzkgPSBMT05HX01BWCwgbG9uZyBDMTAgPSBMT05HX01BWCwgbG9uZyBDMTEgPSBMT05HX01BWAorICAgICwgbG9uZyBDMTIgPSBMT05HX01BWCwgbG9uZyBDMTMgPSBMT05HX01BWCwgbG9uZyBDMTQgPSBMT05HX01BWAorICAgICwgbG9uZyBDMTUgPSBMT05HX01BWCwgbG9uZyBDMTYgPSBMT05HX01BWCwgbG9uZyBDMTcgPSBMT05HX01BWAorICAgICwgbG9uZyBDMTggPSBMT05HX01BWCwgbG9uZyBDMTkgPSBMT05HX01BWAorICAgID4KK3N0cnVjdCB2ZWN0b3JfYworICAgIDogYXV4Ojp2ZWN0b3JfY19pbXBsPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMsIEMxNCwgQzE1LCBDMTYsIEMxNywgQzE4LCBDMTkKKyAgICAgICAgPjo6dHlwZQoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXV4Ojp2ZWN0b3JfY19pbXBsPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMsIEMxNCwgQzE1LCBDMTYsIEMxNywgQzE4LCBDMTkKKyAgICAgICAgPjo6dHlwZSB0eXBlOworfTsKKworfX0KKwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL25vX3R0cC9hZHZhbmNlX2JhY2t3YXJkLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9ub190dHAvYWR2YW5jZV9iYWNrd2FyZC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGUwYzgyOAotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9ub190dHAvYWR2YW5jZV9iYWNrd2FyZC5ocHAKQEAgLTAsMCArMSw5NyBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvYXV4Xy9hZHZhbmNlX2JhY2t3YXJkLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeyBuYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8IGxvbmcgTiA+IHN0cnVjdCBhZHZhbmNlX2JhY2t3YXJkOwordGVtcGxhdGU8Pgorc3RydWN0IGFkdmFuY2VfYmFja3dhcmQ8MD4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgSXRlcmF0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgSXRlcmF0b3IgaXRlcjA7CisgICAgICAgIHR5cGVkZWYgaXRlcjAgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGFkdmFuY2VfYmFja3dhcmQ8MT4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgSXRlcmF0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgSXRlcmF0b3IgaXRlcjA7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcHJpb3I8aXRlcjA+Ojp0eXBlIGl0ZXIxOworICAgICAgICB0eXBlZGVmIGl0ZXIxIHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBhZHZhbmNlX2JhY2t3YXJkPDI+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIEl0ZXJhdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIEl0ZXJhdG9yIGl0ZXIwOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHByaW9yPGl0ZXIwPjo6dHlwZSBpdGVyMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBwcmlvcjxpdGVyMT46OnR5cGUgaXRlcjI7CisgICAgICAgIHR5cGVkZWYgaXRlcjIgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGFkdmFuY2VfYmFja3dhcmQ8Mz4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgSXRlcmF0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgSXRlcmF0b3IgaXRlcjA7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcHJpb3I8aXRlcjA+Ojp0eXBlIGl0ZXIxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHByaW9yPGl0ZXIxPjo6dHlwZSBpdGVyMjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBwcmlvcjxpdGVyMj46OnR5cGUgaXRlcjM7CisgICAgICAgIHR5cGVkZWYgaXRlcjMgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGFkdmFuY2VfYmFja3dhcmQ8ND4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgSXRlcmF0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgSXRlcmF0b3IgaXRlcjA7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcHJpb3I8aXRlcjA+Ojp0eXBlIGl0ZXIxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHByaW9yPGl0ZXIxPjo6dHlwZSBpdGVyMjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBwcmlvcjxpdGVyMj46OnR5cGUgaXRlcjM7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcHJpb3I8aXRlcjM+Ojp0eXBlIGl0ZXI0OworICAgICAgICB0eXBlZGVmIGl0ZXI0IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCBsb25nIE4gPgorc3RydWN0IGFkdmFuY2VfYmFja3dhcmQKK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgSXRlcmF0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHlfd3JhcDE8CisgICAgICAgICAgICAgIGFkdmFuY2VfYmFja3dhcmQ8ND4KKyAgICAgICAgICAgICwgSXRlcmF0b3IKKyAgICAgICAgICAgID46OnR5cGUgY2h1bmtfcmVzdWx0XzsKKworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5X3dyYXAxPAorICAgICAgICAgICAgICBhZHZhbmNlX2JhY2t3YXJkPCgKKyAgICAgICAgICAgICAgICAoTiAtIDQpIDwgMAorICAgICAgICAgICAgICAgICAgICA/IDAKKyAgICAgICAgICAgICAgICAgICAgOiBOIC0gNAorICAgICAgICAgICAgICAgICAgICApPgorICAgICAgICAgICAgLCBjaHVua19yZXN1bHRfCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisgICAgfTsKK307CisKK319fQorCmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fdHRwL2FkdmFuY2VfZm9yd2FyZC5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fdHRwL2FkdmFuY2VfZm9yd2FyZC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjNhNWFmZAotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9ub190dHAvYWR2YW5jZV9mb3J3YXJkLmhwcApAQCAtMCwwICsxLDk3IEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9hdXhfL2FkdmFuY2VfZm9yd2FyZC5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsgbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPCBsb25nIE4gPiBzdHJ1Y3QgYWR2YW5jZV9mb3J3YXJkOwordGVtcGxhdGU8Pgorc3RydWN0IGFkdmFuY2VfZm9yd2FyZDwwPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBJdGVyYXRvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBJdGVyYXRvciBpdGVyMDsKKyAgICAgICAgdHlwZWRlZiBpdGVyMCB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgYWR2YW5jZV9mb3J3YXJkPDE+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIEl0ZXJhdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIEl0ZXJhdG9yIGl0ZXIwOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG5leHQ8aXRlcjA+Ojp0eXBlIGl0ZXIxOworICAgICAgICB0eXBlZGVmIGl0ZXIxIHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBhZHZhbmNlX2ZvcndhcmQ8Mj4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgSXRlcmF0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgSXRlcmF0b3IgaXRlcjA7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbmV4dDxpdGVyMD46OnR5cGUgaXRlcjE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbmV4dDxpdGVyMT46OnR5cGUgaXRlcjI7CisgICAgICAgIHR5cGVkZWYgaXRlcjIgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGFkdmFuY2VfZm9yd2FyZDwzPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBJdGVyYXRvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBJdGVyYXRvciBpdGVyMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBuZXh0PGl0ZXIwPjo6dHlwZSBpdGVyMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBuZXh0PGl0ZXIxPjo6dHlwZSBpdGVyMjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBuZXh0PGl0ZXIyPjo6dHlwZSBpdGVyMzsKKyAgICAgICAgdHlwZWRlZiBpdGVyMyB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgYWR2YW5jZV9mb3J3YXJkPDQ+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIEl0ZXJhdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIEl0ZXJhdG9yIGl0ZXIwOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG5leHQ8aXRlcjA+Ojp0eXBlIGl0ZXIxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG5leHQ8aXRlcjE+Ojp0eXBlIGl0ZXIyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG5leHQ8aXRlcjI+Ojp0eXBlIGl0ZXIzOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG5leHQ8aXRlcjM+Ojp0eXBlIGl0ZXI0OworICAgICAgICB0eXBlZGVmIGl0ZXI0IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCBsb25nIE4gPgorc3RydWN0IGFkdmFuY2VfZm9yd2FyZAoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBJdGVyYXRvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseV93cmFwMTwKKyAgICAgICAgICAgICAgYWR2YW5jZV9mb3J3YXJkPDQ+CisgICAgICAgICAgICAsIEl0ZXJhdG9yCisgICAgICAgICAgICA+Ojp0eXBlIGNodW5rX3Jlc3VsdF87CisKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseV93cmFwMTwKKyAgICAgICAgICAgICAgYWR2YW5jZV9mb3J3YXJkPCgKKyAgICAgICAgICAgICAgICAoTiAtIDQpIDwgMAorICAgICAgICAgICAgICAgICAgICA/IDAKKyAgICAgICAgICAgICAgICAgICAgOiBOIC0gNAorICAgICAgICAgICAgICAgICAgICApPgorICAgICAgICAgICAgLCBjaHVua19yZXN1bHRfCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisgICAgfTsKK307CisKK319fQorCmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fdHRwL2FuZC5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fdHRwL2FuZC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjRiODhkOAotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9ub190dHAvYW5kLmhwcApAQCAtMCwwICsxLDY5IEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9hbmQuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwgYm9vbCBDXywgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQgPgorc3RydWN0IGFuZF9pbXBsCisgICAgOiBmYWxzZV8KK3sKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNCA+CitzdHJ1Y3QgYW5kX2ltcGw8IHRydWUsVDEsVDIsVDMsVDQgPgorICAgIDogYW5kX2ltcGw8CisgICAgICAgICAgQk9PU1RfTVBMX0FVWF9ORVNURURfVFlQRV9XS05EKFQxKTo6dmFsdWUKKyAgICAgICAgLCBUMiwgVDMsIFQ0CisgICAgICAgICwgdHJ1ZV8KKyAgICAgICAgPgoreworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGFuZF9pbXBsPAorICAgICAgICAgIHRydWUKKyAgICAgICAgLCB0cnVlXywgdHJ1ZV8sIHRydWVfLCB0cnVlXworICAgICAgICA+CisgICAgOiB0cnVlXworeworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShUMSkKKyAgICAsIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oVDIpCisgICAgLCB0eXBlbmFtZSBUMyA9IHRydWVfLCB0eXBlbmFtZSBUNCA9IHRydWVfLCB0eXBlbmFtZSBUNSA9IHRydWVfCisgICAgPgorc3RydWN0IGFuZF8KKworICAgIDogYXV4OjphbmRfaW1wbDwKKyAgICAgICAgICBCT09TVF9NUExfQVVYX05FU1RFRF9UWVBFX1dLTkQoVDEpOjp2YWx1ZQorICAgICAgICAsIFQyLCBUMywgVDQsIFQ1CisgICAgICAgID4KKworeworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoCisgICAgICAgICAgNQorICAgICAgICAsIGFuZF8KKyAgICAgICAgLCAoIFQxLCBUMiwgVDMsIFQ0LCBUNSkKKyAgICAgICAgKQorfTsKKworQk9PU1RfTVBMX0FVWF9OQV9TUEVDMigKKyAgICAgIDIKKyAgICAsIDUKKyAgICAsIGFuZF8KKyAgICApCisKK319CmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fdHRwL2FwcGx5LmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9ub190dHAvYXBwbHkuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU0YjFjZDIKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fdHRwL2FwcGx5LmhwcApAQCAtMCwwICsxLDE2OSBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvYXBwbHkuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRgorICAgID4KK3N0cnVjdCBhcHBseTAKKworICAgIDogYXBwbHlfd3JhcDA8CisgICAgICAgICAgdHlwZW5hbWUgbGFtYmRhPEY+Ojp0eXBlCisgICAgICAgCisgICAgICAgID4KK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKAorICAgICAgICAgIDEKKyAgICAgICAgLCBhcHBseTAKKyAgICAgICAgLCAoRiApCisgICAgICAgICkKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRgorICAgID4KK3N0cnVjdCBhcHBseTwgRixuYSxuYSxuYSxuYSxuYSA+CisgICAgOiBhcHBseTA8Rj4KK3sKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEKKyAgICA+CitzdHJ1Y3QgYXBwbHkxCisKKyAgICA6IGFwcGx5X3dyYXAxPAorICAgICAgICAgIHR5cGVuYW1lIGxhbWJkYTxGPjo6dHlwZQorICAgICAgICAsIFQxCisgICAgICAgID4KK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKAorICAgICAgICAgIDIKKyAgICAgICAgLCBhcHBseTEKKyAgICAgICAgLCAoRiwgVDEpCisgICAgICAgICkKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEKKyAgICA+CitzdHJ1Y3QgYXBwbHk8IEYsVDEsbmEsbmEsbmEsbmEgPgorICAgIDogYXBwbHkxPCBGLFQxID4KK3sKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyCisgICAgPgorc3RydWN0IGFwcGx5MgorCisgICAgOiBhcHBseV93cmFwMjwKKyAgICAgICAgICB0eXBlbmFtZSBsYW1iZGE8Rj46OnR5cGUKKyAgICAgICAgLCBUMSwgVDIKKyAgICAgICAgPgoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoCisgICAgICAgICAgMworICAgICAgICAsIGFwcGx5MgorICAgICAgICAsIChGLCBUMSwgVDIpCisgICAgICAgICkKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyCisgICAgPgorc3RydWN0IGFwcGx5PCBGLFQxLFQyLG5hLG5hLG5hID4KKyAgICA6IGFwcGx5MjwgRixUMSxUMiA+Cit7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMKKyAgICA+CitzdHJ1Y3QgYXBwbHkzCisKKyAgICA6IGFwcGx5X3dyYXAzPAorICAgICAgICAgIHR5cGVuYW1lIGxhbWJkYTxGPjo6dHlwZQorICAgICAgICAsIFQxLCBUMiwgVDMKKyAgICAgICAgPgoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoCisgICAgICAgICAgNAorICAgICAgICAsIGFwcGx5MworICAgICAgICAsIChGLCBUMSwgVDIsIFQzKQorICAgICAgICApCit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMKKyAgICA+CitzdHJ1Y3QgYXBwbHk8IEYsVDEsVDIsVDMsbmEsbmEgPgorICAgIDogYXBwbHkzPCBGLFQxLFQyLFQzID4KK3sKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICA+CitzdHJ1Y3QgYXBwbHk0CisKKyAgICA6IGFwcGx5X3dyYXA0PAorICAgICAgICAgIHR5cGVuYW1lIGxhbWJkYTxGPjo6dHlwZQorICAgICAgICAsIFQxLCBUMiwgVDMsIFQ0CisgICAgICAgID4KK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKAorICAgICAgICAgIDUKKyAgICAgICAgLCBhcHBseTQKKyAgICAgICAgLCAoRiwgVDEsIFQyLCBUMywgVDQpCisgICAgICAgICkKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICA+CitzdHJ1Y3QgYXBwbHk8IEYsVDEsVDIsVDMsVDQsbmEgPgorICAgIDogYXBwbHk0PCBGLFQxLFQyLFQzLFQ0ID4KK3sKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1CisgICAgPgorc3RydWN0IGFwcGx5NQorCisgICAgOiBhcHBseV93cmFwNTwKKyAgICAgICAgICB0eXBlbmFtZSBsYW1iZGE8Rj46OnR5cGUKKyAgICAgICAgLCBUMSwgVDIsIFQzLCBUNCwgVDUKKyAgICAgICAgPgoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoCisgICAgICAgICAgNgorICAgICAgICAsIGFwcGx5NQorICAgICAgICAsIChGLCBUMSwgVDIsIFQzLCBUNCwgVDUpCisgICAgICAgICkKK307CisKKy8vLyBwcmltYXJ5IHRlbXBsYXRlIChub3QgYSBzcGVjaWFsaXphdGlvbiEpCisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1CisgICAgPgorc3RydWN0IGFwcGx5CisgICAgOiBhcHBseTU8IEYsVDEsVDIsVDMsVDQsVDUgPgoreworfTsKKworfX0KKwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL25vX3R0cC9hcHBseV9md2QuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL25vX3R0cC9hcHBseV9md2QuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJjY2M5NGUKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fdHRwL2FwcGx5X2Z3ZC5ocHAKQEAgLTAsMCArMSw1MiBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvYXBwbHlfZndkLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxID0gbmEsIHR5cGVuYW1lIFQyID0gbmEsIHR5cGVuYW1lIFQzID0gbmEKKyAgICAsIHR5cGVuYW1lIFQ0ID0gbmEsIHR5cGVuYW1lIFQ1ID0gbmEKKyAgICA+CitzdHJ1Y3QgYXBwbHk7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRgorICAgID4KK3N0cnVjdCBhcHBseTA7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEKKyAgICA+CitzdHJ1Y3QgYXBwbHkxOworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMgorICAgID4KK3N0cnVjdCBhcHBseTI7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMworICAgID4KK3N0cnVjdCBhcHBseTM7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICA+CitzdHJ1Y3QgYXBwbHk0OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNQorICAgID4KK3N0cnVjdCBhcHBseTU7CisKK319CisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9ub190dHAvYXBwbHlfd3JhcC5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fdHRwL2FwcGx5X3dyYXAuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVjOTAyMDIKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fdHRwL2FwcGx5X3dyYXAuaHBwCkBAIC0wLDAgKzEsODQgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL2FwcGx5X3dyYXAuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRgorCisgICAgLCB0eXBlbmFtZSBoYXNfYXBwbHlfID0gdHlwZW5hbWUgYXV4OjpoYXNfYXBwbHk8Rj46OnR5cGUKKworICAgID4KK3N0cnVjdCBhcHBseV93cmFwMAorCisgICAgOiBGOjp0ZW1wbGF0ZSBhcHBseTwgID4KK3sKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBGID4KK3N0cnVjdCBhcHBseV93cmFwMDwgRix0cnVlXyA+CisgICAgOiBGOjphcHBseQoreworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMQorCisgICAgPgorc3RydWN0IGFwcGx5X3dyYXAxCisKKyAgICA6IEY6OnRlbXBsYXRlIGFwcGx5PFQxPgoreworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIKKworICAgID4KK3N0cnVjdCBhcHBseV93cmFwMgorCisgICAgOiBGOjp0ZW1wbGF0ZSBhcHBseTwgVDEsVDIgPgoreworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzCisKKyAgICA+CitzdHJ1Y3QgYXBwbHlfd3JhcDMKKworICAgIDogRjo6dGVtcGxhdGUgYXBwbHk8IFQxLFQyLFQzID4KK3sKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKworICAgID4KK3N0cnVjdCBhcHBseV93cmFwNAorCisgICAgOiBGOjp0ZW1wbGF0ZSBhcHBseTwgVDEsVDIsVDMsVDQgPgoreworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUKKworICAgID4KK3N0cnVjdCBhcHBseV93cmFwNQorCisgICAgOiBGOjp0ZW1wbGF0ZSBhcHBseTwgVDEsVDIsVDMsVDQsVDUgPgoreworfTsKKworfX0KKwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL25vX3R0cC9hcmcuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL25vX3R0cC9hcmcuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlhMTU3YzIKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fdHRwL2FyZy5ocHAKQEAgLTAsMCArMSwxMjMgQEAKKworLy8gQ29weXJpZ2h0IFBldGVyIERpbW92IDIwMDEtMjAwMgorLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMS0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL2FyZy5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCitCT09TVF9NUExfQVVYX0FETF9CQVJSSUVSX05BTUVTUEFDRV9PUEVOCit0ZW1wbGF0ZTw+IHN0cnVjdCBhcmc8IC0xID4KK3sKKyAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAtMSk7CisgICAgQk9PU1RfTVBMX0FVWF9BUkdfVFlQRURFRihuYSwgdGFnKQorICAgIEJPT1NUX01QTF9BVVhfQVJHX1RZUEVERUYobmEsIHR5cGUpCisKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBVMSA9IG5hLCB0eXBlbmFtZSBVMiA9IG5hLCB0eXBlbmFtZSBVMyA9IG5hCisgICAgICAgICwgdHlwZW5hbWUgVTQgPSBuYSwgdHlwZW5hbWUgVTUgPSBuYQorICAgICAgICA+CisgICAgc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIFUxIHR5cGU7CisgICAgICAgIEJPT1NUX01QTF9BVVhfQVNTRVJUX05PVF9OQSh0eXBlKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgYXJnPDE+Cit7CisgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMSk7CisgICAgdHlwZWRlZiBhcmc8Mj4gbmV4dDsKKyAgICBCT09TVF9NUExfQVVYX0FSR19UWVBFREVGKG5hLCB0YWcpCisgICAgQk9PU1RfTVBMX0FVWF9BUkdfVFlQRURFRihuYSwgdHlwZSkKKworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFUxID0gbmEsIHR5cGVuYW1lIFUyID0gbmEsIHR5cGVuYW1lIFUzID0gbmEKKyAgICAgICAgLCB0eXBlbmFtZSBVNCA9IG5hLCB0eXBlbmFtZSBVNSA9IG5hCisgICAgICAgID4KKyAgICBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgVTEgdHlwZTsKKyAgICAgICAgQk9PU1RfTVBMX0FVWF9BU1NFUlRfTk9UX05BKHR5cGUpOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCBhcmc8Mj4KK3sKKyAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAyKTsKKyAgICB0eXBlZGVmIGFyZzwzPiBuZXh0OworICAgIEJPT1NUX01QTF9BVVhfQVJHX1RZUEVERUYobmEsIHRhZykKKyAgICBCT09TVF9NUExfQVVYX0FSR19UWVBFREVGKG5hLCB0eXBlKQorCisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVTEgPSBuYSwgdHlwZW5hbWUgVTIgPSBuYSwgdHlwZW5hbWUgVTMgPSBuYQorICAgICAgICAsIHR5cGVuYW1lIFU0ID0gbmEsIHR5cGVuYW1lIFU1ID0gbmEKKyAgICAgICAgPgorICAgIHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBVMiB0eXBlOworICAgICAgICBCT09TVF9NUExfQVVYX0FTU0VSVF9OT1RfTkEodHlwZSk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4gc3RydWN0IGFyZzwzPgoreworICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDMpOworICAgIHR5cGVkZWYgYXJnPDQ+IG5leHQ7CisgICAgQk9PU1RfTVBMX0FVWF9BUkdfVFlQRURFRihuYSwgdGFnKQorICAgIEJPT1NUX01QTF9BVVhfQVJHX1RZUEVERUYobmEsIHR5cGUpCisKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBVMSA9IG5hLCB0eXBlbmFtZSBVMiA9IG5hLCB0eXBlbmFtZSBVMyA9IG5hCisgICAgICAgICwgdHlwZW5hbWUgVTQgPSBuYSwgdHlwZW5hbWUgVTUgPSBuYQorICAgICAgICA+CisgICAgc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIFUzIHR5cGU7CisgICAgICAgIEJPT1NUX01QTF9BVVhfQVNTRVJUX05PVF9OQSh0eXBlKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgYXJnPDQ+Cit7CisgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gNCk7CisgICAgdHlwZWRlZiBhcmc8NT4gbmV4dDsKKyAgICBCT09TVF9NUExfQVVYX0FSR19UWVBFREVGKG5hLCB0YWcpCisgICAgQk9PU1RfTVBMX0FVWF9BUkdfVFlQRURFRihuYSwgdHlwZSkKKworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFUxID0gbmEsIHR5cGVuYW1lIFUyID0gbmEsIHR5cGVuYW1lIFUzID0gbmEKKyAgICAgICAgLCB0eXBlbmFtZSBVNCA9IG5hLCB0eXBlbmFtZSBVNSA9IG5hCisgICAgICAgID4KKyAgICBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgVTQgdHlwZTsKKyAgICAgICAgQk9PU1RfTVBMX0FVWF9BU1NFUlRfTk9UX05BKHR5cGUpOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCBhcmc8NT4KK3sKKyAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSA1KTsKKyAgICB0eXBlZGVmIGFyZzw2PiBuZXh0OworICAgIEJPT1NUX01QTF9BVVhfQVJHX1RZUEVERUYobmEsIHRhZykKKyAgICBCT09TVF9NUExfQVVYX0FSR19UWVBFREVGKG5hLCB0eXBlKQorCisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVTEgPSBuYSwgdHlwZW5hbWUgVTIgPSBuYSwgdHlwZW5hbWUgVTMgPSBuYQorICAgICAgICAsIHR5cGVuYW1lIFU0ID0gbmEsIHR5cGVuYW1lIFU1ID0gbmEKKyAgICAgICAgPgorICAgIHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBVNSB0eXBlOworICAgICAgICBCT09TVF9NUExfQVVYX0FTU0VSVF9OT1RfTkEodHlwZSk7CisgICAgfTsKK307CisKK0JPT1NUX01QTF9BVVhfTk9OVFlQRV9BUklUWV9TUEVDKDEsaW50LCBhcmcpCisKK0JPT1NUX01QTF9BVVhfQURMX0JBUlJJRVJfTkFNRVNQQUNFX0NMT1NFCmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fdHRwL2Jhc2ljX2JpbmQuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL25vX3R0cC9iYXNpY19iaW5kLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41YzdmNTA1Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL25vX3R0cC9iYXNpY19iaW5kLmhwcApAQCAtMCwwICsxLDM2OSBAQAorCisvLyBDb3B5cmlnaHQgUGV0ZXIgRGltb3YgMjAwMQorLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMS0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL2F1eF8vYmFzaWNfYmluZC5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyLCB0eXBlbmFtZSBVMywgdHlwZW5hbWUgVTQKKyAgICAsIHR5cGVuYW1lIFU1CisgICAgPgorc3RydWN0IHJlc29sdmVfYmluZF9hcmcKK3sKKyAgICB0eXBlZGVmIFQgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgaW50IE4sIHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiwgdHlwZW5hbWUgVTMsIHR5cGVuYW1lIFU0LCB0eXBlbmFtZSBVNQorICAgID4KK3N0cnVjdCByZXNvbHZlX2JpbmRfYXJnPCBhcmc8Tj4sIFUxLCBVMiwgVTMsIFU0LCBVNSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseV93cmFwNTxtcGw6OmFyZzxOPiwgVTEsIFUyLCBVMywgVTQsIFU1Pjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiwgdHlwZW5hbWUgVTMsIHR5cGVuYW1lIFU0CisgICAgLCB0eXBlbmFtZSBVNQorICAgID4KK3N0cnVjdCByZXNvbHZlX2JpbmRfYXJnPCBiaW5kPCBGLFQxLFQyLFQzLFQ0LFQ1ID4sIFUxLCBVMiwgVTMsIFU0LCBVNSA+Cit7CisgICAgdHlwZWRlZiBiaW5kPCBGLFQxLFQyLFQzLFQ0LFQ1ID4gZl87CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseV93cmFwNTwgZl8sVTEsVTIsVTMsVTQsVTUgPjo6dHlwZSB0eXBlOworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRgorICAgID4KK3N0cnVjdCBiaW5kMAoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFUxID0gbmEsIHR5cGVuYW1lIFUyID0gbmEsIHR5cGVuYW1lIFUzID0gbmEKKyAgICAgICAgLCB0eXBlbmFtZSBVNCA9IG5hLCB0eXBlbmFtZSBVNSA9IG5hCisgICAgICAgID4KKyAgICBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgIHByaXZhdGU6CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBGLFUxLFUyLFUzLFU0LFU1ID46OnR5cGUgZl87CisKKyAgICAgcHVibGljOgorICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5X3dyYXAwPAorICAgICAgICAgICAgICBmXworICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiwgdHlwZW5hbWUgVTMsIHR5cGVuYW1lIFU0CisgICAgLCB0eXBlbmFtZSBVNQorICAgID4KK3N0cnVjdCByZXNvbHZlX2JpbmRfYXJnPAorICAgICAgYmluZDA8Rj4sIFUxLCBVMiwgVTMsIFU0LCBVNQorICAgID4KK3sKKyAgICB0eXBlZGVmIGJpbmQwPEY+IGZfOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHlfd3JhcDU8IGZfLFUxLFUyLFUzLFU0LFU1ID46OnR5cGUgdHlwZTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCitCT09TVF9NUExfQVVYX0FSSVRZX1NQRUMoMSwgYmluZDApCitCT09TVF9NUExfQVVYX1RFTVBMQVRFX0FSSVRZX1NQRUMoMSwgYmluZDApCisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRgorICAgID4KK3N0cnVjdCBiaW5kPCBGLG5hLG5hLG5hLG5hLG5hID4KKyAgICA6IGJpbmQwPEY+Cit7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxCisgICAgPgorc3RydWN0IGJpbmQxCit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVTEgPSBuYSwgdHlwZW5hbWUgVTIgPSBuYSwgdHlwZW5hbWUgVTMgPSBuYQorICAgICAgICAsIHR5cGVuYW1lIFU0ID0gbmEsIHR5cGVuYW1lIFU1ID0gbmEKKyAgICAgICAgPgorICAgIHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgcHJpdmF0ZToKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhdXg6OnJlc29sdmVfYmluZF9hcmc8IEYsVTEsVTIsVTMsVTQsVTUgPjo6dHlwZSBmXzsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IFQxLFUxLFUyLFUzLFU0LFU1ID4gdDE7CisKKyAgICAgcHVibGljOgorICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5X3dyYXAxPAorICAgICAgICAgICAgICBmXworICAgICAgICAgICAgLCB0eXBlbmFtZSB0MTo6dHlwZQorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIsIHR5cGVuYW1lIFUzCisgICAgLCB0eXBlbmFtZSBVNCwgdHlwZW5hbWUgVTUKKyAgICA+CitzdHJ1Y3QgcmVzb2x2ZV9iaW5kX2FyZzwKKyAgICAgIGJpbmQxPCBGLFQxID4sIFUxLCBVMiwgVTMsIFU0LCBVNQorICAgID4KK3sKKyAgICB0eXBlZGVmIGJpbmQxPCBGLFQxID4gZl87CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseV93cmFwNTwgZl8sVTEsVTIsVTMsVTQsVTUgPjo6dHlwZSB0eXBlOworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK0JPT1NUX01QTF9BVVhfQVJJVFlfU1BFQygyLCBiaW5kMSkKK0JPT1NUX01QTF9BVVhfVEVNUExBVEVfQVJJVFlfU1BFQygyLCBiaW5kMSkKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMQorICAgID4KK3N0cnVjdCBiaW5kPCBGLFQxLG5hLG5hLG5hLG5hID4KKyAgICA6IGJpbmQxPCBGLFQxID4KK3sKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyCisgICAgPgorc3RydWN0IGJpbmQyCit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVTEgPSBuYSwgdHlwZW5hbWUgVTIgPSBuYSwgdHlwZW5hbWUgVTMgPSBuYQorICAgICAgICAsIHR5cGVuYW1lIFU0ID0gbmEsIHR5cGVuYW1lIFU1ID0gbmEKKyAgICAgICAgPgorICAgIHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgcHJpdmF0ZToKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhdXg6OnJlc29sdmVfYmluZF9hcmc8IEYsVTEsVTIsVTMsVTQsVTUgPjo6dHlwZSBmXzsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IFQxLFUxLFUyLFUzLFU0LFU1ID4gdDE7CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBUMixVMSxVMixVMyxVNCxVNSA+IHQyOworCisgICAgIHB1YmxpYzoKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseV93cmFwMjwKKyAgICAgICAgICAgICAgZl8KKyAgICAgICAgICAgICwgdHlwZW5hbWUgdDE6OnR5cGUsIHR5cGVuYW1lIHQyOjp0eXBlCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIKKyAgICAsIHR5cGVuYW1lIFUzLCB0eXBlbmFtZSBVNCwgdHlwZW5hbWUgVTUKKyAgICA+CitzdHJ1Y3QgcmVzb2x2ZV9iaW5kX2FyZzwKKyAgICAgIGJpbmQyPCBGLFQxLFQyID4sIFUxLCBVMiwgVTMsIFU0LCBVNQorICAgID4KK3sKKyAgICB0eXBlZGVmIGJpbmQyPCBGLFQxLFQyID4gZl87CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseV93cmFwNTwgZl8sVTEsVTIsVTMsVTQsVTUgPjo6dHlwZSB0eXBlOworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK0JPT1NUX01QTF9BVVhfQVJJVFlfU1BFQygzLCBiaW5kMikKK0JPT1NUX01QTF9BVVhfVEVNUExBVEVfQVJJVFlfU1BFQygzLCBiaW5kMikKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIKKyAgICA+CitzdHJ1Y3QgYmluZDwgRixUMSxUMixuYSxuYSxuYSA+CisgICAgOiBiaW5kMjwgRixUMSxUMiA+Cit7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMKKyAgICA+CitzdHJ1Y3QgYmluZDMKK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBVMSA9IG5hLCB0eXBlbmFtZSBVMiA9IG5hLCB0eXBlbmFtZSBVMyA9IG5hCisgICAgICAgICwgdHlwZW5hbWUgVTQgPSBuYSwgdHlwZW5hbWUgVTUgPSBuYQorICAgICAgICA+CisgICAgc3RydWN0IGFwcGx5CisgICAgeworICAgICBwcml2YXRlOgorICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgRixVMSxVMixVMyxVNCxVNSA+Ojp0eXBlIGZfOworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgVDEsVTEsVTIsVTMsVTQsVTUgPiB0MTsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IFQyLFUxLFUyLFUzLFU0LFU1ID4gdDI7CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBUMyxVMSxVMixVMyxVNCxVNSA+IHQzOworCisgICAgIHB1YmxpYzoKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseV93cmFwMzwKKyAgICAgICAgICAgICAgZl8KKyAgICAgICAgICAgICwgdHlwZW5hbWUgdDE6OnR5cGUsIHR5cGVuYW1lIHQyOjp0eXBlLCB0eXBlbmFtZSB0Mzo6dHlwZQorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFUxCisgICAgLCB0eXBlbmFtZSBVMiwgdHlwZW5hbWUgVTMsIHR5cGVuYW1lIFU0LCB0eXBlbmFtZSBVNQorICAgID4KK3N0cnVjdCByZXNvbHZlX2JpbmRfYXJnPAorICAgICAgYmluZDM8IEYsVDEsVDIsVDMgPiwgVTEsIFUyLCBVMywgVTQsIFU1CisgICAgPgoreworICAgIHR5cGVkZWYgYmluZDM8IEYsVDEsVDIsVDMgPiBmXzsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5X3dyYXA1PCBmXyxVMSxVMixVMyxVNCxVNSA+Ojp0eXBlIHR5cGU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworQk9PU1RfTVBMX0FVWF9BUklUWV9TUEVDKDQsIGJpbmQzKQorQk9PU1RfTVBMX0FVWF9URU1QTEFURV9BUklUWV9TUEVDKDQsIGJpbmQzKQorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMKKyAgICA+CitzdHJ1Y3QgYmluZDwgRixUMSxUMixUMyxuYSxuYSA+CisgICAgOiBiaW5kMzwgRixUMSxUMixUMyA+Cit7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgPgorc3RydWN0IGJpbmQ0Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVTEgPSBuYSwgdHlwZW5hbWUgVTIgPSBuYSwgdHlwZW5hbWUgVTMgPSBuYQorICAgICAgICAsIHR5cGVuYW1lIFU0ID0gbmEsIHR5cGVuYW1lIFU1ID0gbmEKKyAgICAgICAgPgorICAgIHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgcHJpdmF0ZToKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhdXg6OnJlc29sdmVfYmluZF9hcmc8IEYsVTEsVTIsVTMsVTQsVTUgPjo6dHlwZSBmXzsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IFQxLFUxLFUyLFUzLFU0LFU1ID4gdDE7CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBUMixVMSxVMixVMyxVNCxVNSA+IHQyOworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgVDMsVTEsVTIsVTMsVTQsVTUgPiB0MzsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IFQ0LFUxLFUyLFUzLFU0LFU1ID4gdDQ7CisKKyAgICAgcHVibGljOgorICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5X3dyYXA0PAorICAgICAgICAgICAgICBmXworICAgICAgICAgICAgLCB0eXBlbmFtZSB0MTo6dHlwZSwgdHlwZW5hbWUgdDI6OnR5cGUsIHR5cGVuYW1lIHQzOjp0eXBlCisgICAgICAgICAgICAsIHR5cGVuYW1lIHQ0Ojp0eXBlCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiwgdHlwZW5hbWUgVTMsIHR5cGVuYW1lIFU0LCB0eXBlbmFtZSBVNQorICAgID4KK3N0cnVjdCByZXNvbHZlX2JpbmRfYXJnPAorICAgICAgYmluZDQ8IEYsVDEsVDIsVDMsVDQgPiwgVTEsIFUyLCBVMywgVTQsIFU1CisgICAgPgoreworICAgIHR5cGVkZWYgYmluZDQ8IEYsVDEsVDIsVDMsVDQgPiBmXzsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5X3dyYXA1PCBmXyxVMSxVMixVMyxVNCxVNSA+Ojp0eXBlIHR5cGU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworQk9PU1RfTVBMX0FVWF9BUklUWV9TUEVDKDUsIGJpbmQ0KQorQk9PU1RfTVBMX0FVWF9URU1QTEFURV9BUklUWV9TUEVDKDUsIGJpbmQ0KQorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgPgorc3RydWN0IGJpbmQ8IEYsVDEsVDIsVDMsVDQsbmEgPgorICAgIDogYmluZDQ8IEYsVDEsVDIsVDMsVDQgPgoreworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUKKyAgICA+CitzdHJ1Y3QgYmluZDUKK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBVMSA9IG5hLCB0eXBlbmFtZSBVMiA9IG5hLCB0eXBlbmFtZSBVMyA9IG5hCisgICAgICAgICwgdHlwZW5hbWUgVTQgPSBuYSwgdHlwZW5hbWUgVTUgPSBuYQorICAgICAgICA+CisgICAgc3RydWN0IGFwcGx5CisgICAgeworICAgICBwcml2YXRlOgorICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgRixVMSxVMixVMyxVNCxVNSA+Ojp0eXBlIGZfOworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgVDEsVTEsVTIsVTMsVTQsVTUgPiB0MTsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IFQyLFUxLFUyLFUzLFU0LFU1ID4gdDI7CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBUMyxVMSxVMixVMyxVNCxVNSA+IHQzOworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgVDQsVTEsVTIsVTMsVTQsVTUgPiB0NDsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IFQ1LFUxLFUyLFUzLFU0LFU1ID4gdDU7CisKKyAgICAgcHVibGljOgorICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5X3dyYXA1PAorICAgICAgICAgICAgICBmXworICAgICAgICAgICAgLCB0eXBlbmFtZSB0MTo6dHlwZSwgdHlwZW5hbWUgdDI6OnR5cGUsIHR5cGVuYW1lIHQzOjp0eXBlCisgICAgICAgICAgICAsIHR5cGVuYW1lIHQ0Ojp0eXBlLCB0eXBlbmFtZSB0NTo6dHlwZQorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyLCB0eXBlbmFtZSBVMywgdHlwZW5hbWUgVTQKKyAgICAsIHR5cGVuYW1lIFU1CisgICAgPgorc3RydWN0IHJlc29sdmVfYmluZF9hcmc8CisgICAgICBiaW5kNTwgRixUMSxUMixUMyxUNCxUNSA+LCBVMSwgVTIsIFUzLCBVNCwgVTUKKyAgICA+Cit7CisgICAgdHlwZWRlZiBiaW5kNTwgRixUMSxUMixUMyxUNCxUNSA+IGZfOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHlfd3JhcDU8IGZfLFUxLFUyLFUzLFU0LFU1ID46OnR5cGUgdHlwZTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCitCT09TVF9NUExfQVVYX0FSSVRZX1NQRUMoNiwgYmluZDUpCitCT09TVF9NUExfQVVYX1RFTVBMQVRFX0FSSVRZX1NQRUMoNiwgYmluZDUpCisKKy8vLyBwcmltYXJ5IHRlbXBsYXRlIChub3QgYSBzcGVjaWFsaXphdGlvbiEpCisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1CisgICAgPgorc3RydWN0IGJpbmQKKyAgICA6IGJpbmQ1PCBGLFQxLFQyLFQzLFQ0LFQ1ID4KK3sKK307CisKK319CisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9ub190dHAvYmluZC5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fdHRwL2JpbmQuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2ODZkOGUKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fdHRwL2JpbmQuaHBwCkBAIC0wLDAgKzEsNDY2IEBACisKKy8vIENvcHlyaWdodCBQZXRlciBEaW1vdiAyMDAxCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAxLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvYmluZC5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyLCB0eXBlbmFtZSBVMywgdHlwZW5hbWUgVTQKKyAgICAsIHR5cGVuYW1lIFU1CisgICAgPgorc3RydWN0IHJlc29sdmVfYmluZF9hcmcKK3sKKyAgICB0eXBlZGVmIFQgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVAorICAgICwgdHlwZW5hbWUgQXJnCisgICAgPgorc3RydWN0IHJlcGxhY2VfdW5uYW1lZF9hcmcKK3sKKyAgICB0eXBlZGVmIEFyZyBuZXh0OworICAgIHR5cGVkZWYgVCB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBBcmcKKyAgICA+CitzdHJ1Y3QgcmVwbGFjZV91bm5hbWVkX2FyZzwgYXJnPCAtMSA+LCBBcmcgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgQXJnOjpuZXh0IG5leHQ7CisgICAgdHlwZWRlZiBBcmcgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgaW50IE4sIHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiwgdHlwZW5hbWUgVTMsIHR5cGVuYW1lIFU0LCB0eXBlbmFtZSBVNQorICAgID4KK3N0cnVjdCByZXNvbHZlX2JpbmRfYXJnPCBhcmc8Tj4sIFUxLCBVMiwgVTMsIFU0LCBVNSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseV93cmFwNTxtcGw6OmFyZzxOPiwgVTEsIFUyLCBVMywgVTQsIFU1Pjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiwgdHlwZW5hbWUgVTMsIHR5cGVuYW1lIFU0CisgICAgLCB0eXBlbmFtZSBVNQorICAgID4KK3N0cnVjdCByZXNvbHZlX2JpbmRfYXJnPCBiaW5kPCBGLFQxLFQyLFQzLFQ0LFQ1ID4sIFUxLCBVMiwgVTMsIFU0LCBVNSA+Cit7CisgICAgdHlwZWRlZiBiaW5kPCBGLFQxLFQyLFQzLFQ0LFQ1ID4gZl87CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseV93cmFwNTwgZl8sVTEsVTIsVTMsVTQsVTUgPjo6dHlwZSB0eXBlOworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRgorICAgID4KK3N0cnVjdCBiaW5kMAoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFUxID0gbmEsIHR5cGVuYW1lIFUyID0gbmEsIHR5cGVuYW1lIFUzID0gbmEKKyAgICAgICAgLCB0eXBlbmFtZSBVNCA9IG5hLCB0eXBlbmFtZSBVNSA9IG5hCisgICAgICAgID4KKyAgICBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgIHByaXZhdGU6CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXBsYWNlX3VubmFtZWRfYXJnPCBGLCBtcGw6OmFyZzwxPiA+IHIwOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIwOjp0eXBlIGEwOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIwOjpuZXh0IG4xOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgYTAsVTEsVTIsVTMsVTQsVTUgPjo6dHlwZSBmXzsKKyAgICAgICAgLy8vCisgICAgIHB1YmxpYzoKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseV93cmFwMDwKKyAgICAgICAgICAgICAgZl8KKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIsIHR5cGVuYW1lIFUzLCB0eXBlbmFtZSBVNAorICAgICwgdHlwZW5hbWUgVTUKKyAgICA+CitzdHJ1Y3QgcmVzb2x2ZV9iaW5kX2FyZzwKKyAgICAgIGJpbmQwPEY+LCBVMSwgVTIsIFUzLCBVNCwgVTUKKyAgICA+Cit7CisgICAgdHlwZWRlZiBiaW5kMDxGPiBmXzsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5X3dyYXA1PCBmXyxVMSxVMixVMyxVNCxVNSA+Ojp0eXBlIHR5cGU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworQk9PU1RfTVBMX0FVWF9BUklUWV9TUEVDKDEsIGJpbmQwKQorQk9PU1RfTVBMX0FVWF9URU1QTEFURV9BUklUWV9TUEVDKDEsIGJpbmQwKQorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYKKyAgICA+CitzdHJ1Y3QgYmluZDwgRixuYSxuYSxuYSxuYSxuYSA+CisgICAgOiBiaW5kMDxGPgoreworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMQorICAgID4KK3N0cnVjdCBiaW5kMQoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFUxID0gbmEsIHR5cGVuYW1lIFUyID0gbmEsIHR5cGVuYW1lIFUzID0gbmEKKyAgICAgICAgLCB0eXBlbmFtZSBVNCA9IG5hLCB0eXBlbmFtZSBVNSA9IG5hCisgICAgICAgID4KKyAgICBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgIHByaXZhdGU6CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXBsYWNlX3VubmFtZWRfYXJnPCBGLCBtcGw6OmFyZzwxPiA+IHIwOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIwOjp0eXBlIGEwOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIwOjpuZXh0IG4xOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgYTAsVTEsVTIsVTMsVTQsVTUgPjo6dHlwZSBmXzsKKyAgICAgICAgLy8vCisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXBsYWNlX3VubmFtZWRfYXJnPCBUMSxuMSA+IHIxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIxOjp0eXBlIGExOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIxOjpuZXh0IG4yOworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgYTEsVTEsVTIsVTMsVTQsVTUgPiB0MTsKKyAgICAgICAgLy8vCisgICAgIHB1YmxpYzoKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseV93cmFwMTwKKyAgICAgICAgICAgICAgZl8KKyAgICAgICAgICAgICwgdHlwZW5hbWUgdDE6OnR5cGUKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyLCB0eXBlbmFtZSBVMworICAgICwgdHlwZW5hbWUgVTQsIHR5cGVuYW1lIFU1CisgICAgPgorc3RydWN0IHJlc29sdmVfYmluZF9hcmc8CisgICAgICBiaW5kMTwgRixUMSA+LCBVMSwgVTIsIFUzLCBVNCwgVTUKKyAgICA+Cit7CisgICAgdHlwZWRlZiBiaW5kMTwgRixUMSA+IGZfOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHlfd3JhcDU8IGZfLFUxLFUyLFUzLFU0LFU1ID46OnR5cGUgdHlwZTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCitCT09TVF9NUExfQVVYX0FSSVRZX1NQRUMoMiwgYmluZDEpCitCT09TVF9NUExfQVVYX1RFTVBMQVRFX0FSSVRZX1NQRUMoMiwgYmluZDEpCisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEKKyAgICA+CitzdHJ1Y3QgYmluZDwgRixUMSxuYSxuYSxuYSxuYSA+CisgICAgOiBiaW5kMTwgRixUMSA+Cit7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMgorICAgID4KK3N0cnVjdCBiaW5kMgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFUxID0gbmEsIHR5cGVuYW1lIFUyID0gbmEsIHR5cGVuYW1lIFUzID0gbmEKKyAgICAgICAgLCB0eXBlbmFtZSBVNCA9IG5hLCB0eXBlbmFtZSBVNSA9IG5hCisgICAgICAgID4KKyAgICBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgIHByaXZhdGU6CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXBsYWNlX3VubmFtZWRfYXJnPCBGLCBtcGw6OmFyZzwxPiA+IHIwOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIwOjp0eXBlIGEwOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIwOjpuZXh0IG4xOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgYTAsVTEsVTIsVTMsVTQsVTUgPjo6dHlwZSBmXzsKKyAgICAgICAgLy8vCisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXBsYWNlX3VubmFtZWRfYXJnPCBUMSxuMSA+IHIxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIxOjp0eXBlIGExOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIxOjpuZXh0IG4yOworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgYTEsVTEsVTIsVTMsVTQsVTUgPiB0MTsKKyAgICAgICAgLy8vCisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXBsYWNlX3VubmFtZWRfYXJnPCBUMixuMiA+IHIyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIyOjp0eXBlIGEyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIyOjpuZXh0IG4zOworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgYTIsVTEsVTIsVTMsVTQsVTUgPiB0MjsKKyAgICAgICAgLy8vCisgICAgIHB1YmxpYzoKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseV93cmFwMjwKKyAgICAgICAgICAgICAgZl8KKyAgICAgICAgICAgICwgdHlwZW5hbWUgdDE6OnR5cGUsIHR5cGVuYW1lIHQyOjp0eXBlCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIKKyAgICAsIHR5cGVuYW1lIFUzLCB0eXBlbmFtZSBVNCwgdHlwZW5hbWUgVTUKKyAgICA+CitzdHJ1Y3QgcmVzb2x2ZV9iaW5kX2FyZzwKKyAgICAgIGJpbmQyPCBGLFQxLFQyID4sIFUxLCBVMiwgVTMsIFU0LCBVNQorICAgID4KK3sKKyAgICB0eXBlZGVmIGJpbmQyPCBGLFQxLFQyID4gZl87CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseV93cmFwNTwgZl8sVTEsVTIsVTMsVTQsVTUgPjo6dHlwZSB0eXBlOworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK0JPT1NUX01QTF9BVVhfQVJJVFlfU1BFQygzLCBiaW5kMikKK0JPT1NUX01QTF9BVVhfVEVNUExBVEVfQVJJVFlfU1BFQygzLCBiaW5kMikKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIKKyAgICA+CitzdHJ1Y3QgYmluZDwgRixUMSxUMixuYSxuYSxuYSA+CisgICAgOiBiaW5kMjwgRixUMSxUMiA+Cit7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMKKyAgICA+CitzdHJ1Y3QgYmluZDMKK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBVMSA9IG5hLCB0eXBlbmFtZSBVMiA9IG5hLCB0eXBlbmFtZSBVMyA9IG5hCisgICAgICAgICwgdHlwZW5hbWUgVTQgPSBuYSwgdHlwZW5hbWUgVTUgPSBuYQorICAgICAgICA+CisgICAgc3RydWN0IGFwcGx5CisgICAgeworICAgICBwcml2YXRlOgorICAgICAgICB0eXBlZGVmIGF1eDo6cmVwbGFjZV91bm5hbWVkX2FyZzwgRiwgbXBsOjphcmc8MT4gPiByMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMDo6dHlwZSBhMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMDo6bmV4dCBuMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhdXg6OnJlc29sdmVfYmluZF9hcmc8IGEwLFUxLFUyLFUzLFU0LFU1ID46OnR5cGUgZl87CisgICAgICAgIC8vLworICAgICAgICB0eXBlZGVmIGF1eDo6cmVwbGFjZV91bm5hbWVkX2FyZzwgVDEsbjEgPiByMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMTo6dHlwZSBhMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMTo6bmV4dCBuMjsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IGExLFUxLFUyLFUzLFU0LFU1ID4gdDE7CisgICAgICAgIC8vLworICAgICAgICB0eXBlZGVmIGF1eDo6cmVwbGFjZV91bm5hbWVkX2FyZzwgVDIsbjIgPiByMjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMjo6dHlwZSBhMjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMjo6bmV4dCBuMzsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IGEyLFUxLFUyLFUzLFU0LFU1ID4gdDI7CisgICAgICAgIC8vLworICAgICAgICB0eXBlZGVmIGF1eDo6cmVwbGFjZV91bm5hbWVkX2FyZzwgVDMsbjMgPiByMzsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMzo6dHlwZSBhMzsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMzo6bmV4dCBuNDsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IGEzLFUxLFUyLFUzLFU0LFU1ID4gdDM7CisgICAgICAgIC8vLworICAgICBwdWJsaWM6CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHlfd3JhcDM8CisgICAgICAgICAgICAgIGZfCisgICAgICAgICAgICAsIHR5cGVuYW1lIHQxOjp0eXBlLCB0eXBlbmFtZSB0Mjo6dHlwZSwgdHlwZW5hbWUgdDM6OnR5cGUKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBVMQorICAgICwgdHlwZW5hbWUgVTIsIHR5cGVuYW1lIFUzLCB0eXBlbmFtZSBVNCwgdHlwZW5hbWUgVTUKKyAgICA+CitzdHJ1Y3QgcmVzb2x2ZV9iaW5kX2FyZzwKKyAgICAgIGJpbmQzPCBGLFQxLFQyLFQzID4sIFUxLCBVMiwgVTMsIFU0LCBVNQorICAgID4KK3sKKyAgICB0eXBlZGVmIGJpbmQzPCBGLFQxLFQyLFQzID4gZl87CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseV93cmFwNTwgZl8sVTEsVTIsVTMsVTQsVTUgPjo6dHlwZSB0eXBlOworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK0JPT1NUX01QTF9BVVhfQVJJVFlfU1BFQyg0LCBiaW5kMykKK0JPT1NUX01QTF9BVVhfVEVNUExBVEVfQVJJVFlfU1BFQyg0LCBiaW5kMykKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzCisgICAgPgorc3RydWN0IGJpbmQ8IEYsVDEsVDIsVDMsbmEsbmEgPgorICAgIDogYmluZDM8IEYsVDEsVDIsVDMgPgoreworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgID4KK3N0cnVjdCBiaW5kNAoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFUxID0gbmEsIHR5cGVuYW1lIFUyID0gbmEsIHR5cGVuYW1lIFUzID0gbmEKKyAgICAgICAgLCB0eXBlbmFtZSBVNCA9IG5hLCB0eXBlbmFtZSBVNSA9IG5hCisgICAgICAgID4KKyAgICBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgIHByaXZhdGU6CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXBsYWNlX3VubmFtZWRfYXJnPCBGLCBtcGw6OmFyZzwxPiA+IHIwOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIwOjp0eXBlIGEwOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIwOjpuZXh0IG4xOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgYTAsVTEsVTIsVTMsVTQsVTUgPjo6dHlwZSBmXzsKKyAgICAgICAgLy8vCisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXBsYWNlX3VubmFtZWRfYXJnPCBUMSxuMSA+IHIxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIxOjp0eXBlIGExOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIxOjpuZXh0IG4yOworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgYTEsVTEsVTIsVTMsVTQsVTUgPiB0MTsKKyAgICAgICAgLy8vCisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXBsYWNlX3VubmFtZWRfYXJnPCBUMixuMiA+IHIyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIyOjp0eXBlIGEyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIyOjpuZXh0IG4zOworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgYTIsVTEsVTIsVTMsVTQsVTUgPiB0MjsKKyAgICAgICAgLy8vCisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXBsYWNlX3VubmFtZWRfYXJnPCBUMyxuMyA+IHIzOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIzOjp0eXBlIGEzOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIzOjpuZXh0IG40OworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgYTMsVTEsVTIsVTMsVTQsVTUgPiB0MzsKKyAgICAgICAgLy8vCisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXBsYWNlX3VubmFtZWRfYXJnPCBUNCxuNCA+IHI0OworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHI0Ojp0eXBlIGE0OworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHI0OjpuZXh0IG41OworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgYTQsVTEsVTIsVTMsVTQsVTUgPiB0NDsKKyAgICAgICAgLy8vCisgICAgIHB1YmxpYzoKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseV93cmFwNDwKKyAgICAgICAgICAgICAgZl8KKyAgICAgICAgICAgICwgdHlwZW5hbWUgdDE6OnR5cGUsIHR5cGVuYW1lIHQyOjp0eXBlLCB0eXBlbmFtZSB0Mzo6dHlwZQorICAgICAgICAgICAgLCB0eXBlbmFtZSB0NDo6dHlwZQorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIsIHR5cGVuYW1lIFUzLCB0eXBlbmFtZSBVNCwgdHlwZW5hbWUgVTUKKyAgICA+CitzdHJ1Y3QgcmVzb2x2ZV9iaW5kX2FyZzwKKyAgICAgIGJpbmQ0PCBGLFQxLFQyLFQzLFQ0ID4sIFUxLCBVMiwgVTMsIFU0LCBVNQorICAgID4KK3sKKyAgICB0eXBlZGVmIGJpbmQ0PCBGLFQxLFQyLFQzLFQ0ID4gZl87CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseV93cmFwNTwgZl8sVTEsVTIsVTMsVTQsVTUgPjo6dHlwZSB0eXBlOworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK0JPT1NUX01QTF9BVVhfQVJJVFlfU1BFQyg1LCBiaW5kNCkKK0JPT1NUX01QTF9BVVhfVEVNUExBVEVfQVJJVFlfU1BFQyg1LCBiaW5kNCkKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgID4KK3N0cnVjdCBiaW5kPCBGLFQxLFQyLFQzLFQ0LG5hID4KKyAgICA6IGJpbmQ0PCBGLFQxLFQyLFQzLFQ0ID4KK3sKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1CisgICAgPgorc3RydWN0IGJpbmQ1Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVTEgPSBuYSwgdHlwZW5hbWUgVTIgPSBuYSwgdHlwZW5hbWUgVTMgPSBuYQorICAgICAgICAsIHR5cGVuYW1lIFU0ID0gbmEsIHR5cGVuYW1lIFU1ID0gbmEKKyAgICAgICAgPgorICAgIHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgcHJpdmF0ZToKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlcGxhY2VfdW5uYW1lZF9hcmc8IEYsIG1wbDo6YXJnPDE+ID4gcjA7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjA6OnR5cGUgYTA7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjA6Om5leHQgbjE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBhMCxVMSxVMixVMyxVNCxVNSA+Ojp0eXBlIGZfOworICAgICAgICAvLy8KKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlcGxhY2VfdW5uYW1lZF9hcmc8IFQxLG4xID4gcjE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjE6OnR5cGUgYTE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjE6Om5leHQgbjI7CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBhMSxVMSxVMixVMyxVNCxVNSA+IHQxOworICAgICAgICAvLy8KKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlcGxhY2VfdW5uYW1lZF9hcmc8IFQyLG4yID4gcjI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjI6OnR5cGUgYTI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjI6Om5leHQgbjM7CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBhMixVMSxVMixVMyxVNCxVNSA+IHQyOworICAgICAgICAvLy8KKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlcGxhY2VfdW5uYW1lZF9hcmc8IFQzLG4zID4gcjM7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjM6OnR5cGUgYTM7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjM6Om5leHQgbjQ7CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBhMyxVMSxVMixVMyxVNCxVNSA+IHQzOworICAgICAgICAvLy8KKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlcGxhY2VfdW5uYW1lZF9hcmc8IFQ0LG40ID4gcjQ7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjQ6OnR5cGUgYTQ7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjQ6Om5leHQgbjU7CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBhNCxVMSxVMixVMyxVNCxVNSA+IHQ0OworICAgICAgICAvLy8KKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlcGxhY2VfdW5uYW1lZF9hcmc8IFQ1LG41ID4gcjU7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjU6OnR5cGUgYTU7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjU6Om5leHQgbjY7CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBhNSxVMSxVMixVMyxVNCxVNSA+IHQ1OworICAgICAgICAvLy8KKyAgICAgcHVibGljOgorICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5X3dyYXA1PAorICAgICAgICAgICAgICBmXworICAgICAgICAgICAgLCB0eXBlbmFtZSB0MTo6dHlwZSwgdHlwZW5hbWUgdDI6OnR5cGUsIHR5cGVuYW1lIHQzOjp0eXBlCisgICAgICAgICAgICAsIHR5cGVuYW1lIHQ0Ojp0eXBlLCB0eXBlbmFtZSB0NTo6dHlwZQorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyLCB0eXBlbmFtZSBVMywgdHlwZW5hbWUgVTQKKyAgICAsIHR5cGVuYW1lIFU1CisgICAgPgorc3RydWN0IHJlc29sdmVfYmluZF9hcmc8CisgICAgICBiaW5kNTwgRixUMSxUMixUMyxUNCxUNSA+LCBVMSwgVTIsIFUzLCBVNCwgVTUKKyAgICA+Cit7CisgICAgdHlwZWRlZiBiaW5kNTwgRixUMSxUMixUMyxUNCxUNSA+IGZfOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHlfd3JhcDU8IGZfLFUxLFUyLFUzLFU0LFU1ID46OnR5cGUgdHlwZTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCitCT09TVF9NUExfQVVYX0FSSVRZX1NQRUMoNiwgYmluZDUpCitCT09TVF9NUExfQVVYX1RFTVBMQVRFX0FSSVRZX1NQRUMoNiwgYmluZDUpCisKKy8vLyBwcmltYXJ5IHRlbXBsYXRlIChub3QgYSBzcGVjaWFsaXphdGlvbiEpCisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1CisgICAgPgorc3RydWN0IGJpbmQKKyAgICA6IGJpbmQ1PCBGLFQxLFQyLFQzLFQ0LFQ1ID4KK3sKK307CisKK319CisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9ub190dHAvYmluZF9md2QuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL25vX3R0cC9iaW5kX2Z3ZC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWEwNDZlZQotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9ub190dHAvYmluZF9md2QuaHBwCkBAIC0wLDAgKzEsNTIgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL2JpbmRfZndkLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxID0gbmEsIHR5cGVuYW1lIFQyID0gbmEsIHR5cGVuYW1lIFQzID0gbmEKKyAgICAsIHR5cGVuYW1lIFQ0ID0gbmEsIHR5cGVuYW1lIFQ1ID0gbmEKKyAgICA+CitzdHJ1Y3QgYmluZDsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGCisgICAgPgorc3RydWN0IGJpbmQwOworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxCisgICAgPgorc3RydWN0IGJpbmQxOworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMgorICAgID4KK3N0cnVjdCBiaW5kMjsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzCisgICAgPgorc3RydWN0IGJpbmQzOworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgPgorc3RydWN0IGJpbmQ0OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNQorICAgID4KK3N0cnVjdCBiaW5kNTsKKworfX0KKwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL25vX3R0cC9iaXRhbmQuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL25vX3R0cC9iaXRhbmQuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY1MGM3ZGEKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fdHRwL2JpdGFuZC5ocHAKQEAgLTAsMCArMSwxNTcgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLyBDb3B5cmlnaHQgSmFhcCBTdXRlciAyMDAzCisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL2JpdGFuZC5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUYWcxCisgICAgLCB0eXBlbmFtZSBUYWcyCisgICAgPgorc3RydWN0IGJpdGFuZF9pbXBsCisgICAgOiBpZl9jPAorICAgICAgICAgICggQk9PU1RfTVBMX0FVWF9ORVNURURfVkFMVUVfV0tORChpbnQsIFRhZzEpCisgICAgICAgICAgICAgID4gQk9PU1RfTVBMX0FVWF9ORVNURURfVkFMVUVfV0tORChpbnQsIFRhZzIpCisgICAgICAgICAgICApCisKKyAgICAgICAgLCBhdXg6OmNhc3QybmRfaW1wbDwgYml0YW5kX2ltcGw8IFRhZzEsVGFnMSA+LFRhZzEsIFRhZzIgPgorICAgICAgICAsIGF1eDo6Y2FzdDFzdF9pbXBsPCBiaXRhbmRfaW1wbDwgVGFnMixUYWcyID4sVGFnMSwgVGFnMiA+CisgICAgICAgID46OnR5cGUKK3sKK307CisKKy8vLyBmb3IgRGlnaXRhbCBNYXJzIEMrKy9jb21waWxlcnMgd2l0aCBubyBDVFBTL1RUUCBzdXBwb3J0Cit0ZW1wbGF0ZTw+IHN0cnVjdCBiaXRhbmRfaW1wbDwgbmEsbmEgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUYWcgPiBzdHJ1Y3QgYml0YW5kX2ltcGw8IG5hLFRhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFRhZyA+IHN0cnVjdCBiaXRhbmRfaW1wbDwgVGFnLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVCA+IHN0cnVjdCBiaXRhbmRfdGFnCit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBUOjp0YWcgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMSkKKyAgICAsIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjIpCisgICAgLCB0eXBlbmFtZSBOMyA9IG5hLCB0eXBlbmFtZSBONCA9IG5hLCB0eXBlbmFtZSBONSA9IG5hCisgICAgPgorc3RydWN0IGJpdGFuZF8KKyAgICA6IGJpdGFuZF88IGJpdGFuZF88IGJpdGFuZF88IGJpdGFuZF88IE4xLE4yID4sIE4zPiwgTjQ+LCBONT4KK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKAorICAgICAgICAgIDUKKyAgICAgICAgLCBiaXRhbmRfCisgICAgICAgICwgKCBOMSwgTjIsIE4zLCBONCwgTjUgKQorICAgICAgICApCit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIE4xLCB0eXBlbmFtZSBOMiwgdHlwZW5hbWUgTjMsIHR5cGVuYW1lIE40CisgICAgPgorc3RydWN0IGJpdGFuZF88IE4xLE4yLE4zLE40LG5hID4KKworICAgIDogYml0YW5kXzwgYml0YW5kXzwgYml0YW5kXzwgTjEsTjIgPiwgTjM+LCBOND4KK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUX1NQRUMoCisgICAgICAgICAgNQorICAgICAgICAsIGJpdGFuZF8KKyAgICAgICAgLCAoIE4xLCBOMiwgTjMsIE40LCBuYSApCisgICAgICAgICkKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgTjEsIHR5cGVuYW1lIE4yLCB0eXBlbmFtZSBOMworICAgID4KK3N0cnVjdCBiaXRhbmRfPCBOMSxOMixOMyxuYSxuYSA+CisKKyAgICA6IGJpdGFuZF88IGJpdGFuZF88IE4xLE4yID4sIE4zPgoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlRfU1BFQygKKyAgICAgICAgICA1CisgICAgICAgICwgYml0YW5kXworICAgICAgICAsICggTjEsIE4yLCBOMywgbmEsIG5hICkKKyAgICAgICAgKQorfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBOMSwgdHlwZW5hbWUgTjIKKyAgICA+CitzdHJ1Y3QgYml0YW5kXzwgTjEsTjIsbmEsbmEsbmEgPgorICAgIDogYml0YW5kX2ltcGw8CisgICAgICAgICAgdHlwZW5hbWUgYml0YW5kX3RhZzxOMT46OnR5cGUKKyAgICAgICAgLCB0eXBlbmFtZSBiaXRhbmRfdGFnPE4yPjo6dHlwZQorICAgICAgICA+Ojp0ZW1wbGF0ZSBhcHBseTwgTjEsTjIgPjo6dHlwZQoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlRfU1BFQygKKyAgICAgICAgICA1CisgICAgICAgICwgYml0YW5kXworICAgICAgICAsICggTjEsIE4yLCBuYSwgbmEsIG5hICkKKyAgICAgICAgKQorCit9OworCitCT09TVF9NUExfQVVYX05BX1NQRUMyKDIsIDUsIGJpdGFuZF8pCisKK319CisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCituYW1lc3BhY2UgYXV4IHsKK3RlbXBsYXRlPCB0eXBlbmFtZSBULCBUIG4xLCBUIG4yID4KK3N0cnVjdCBiaXRhbmRfd2tuZAoreworICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChULCB2YWx1ZSAgPSAobjEgJiBuMikpOworICAgIHR5cGVkZWYgaW50ZWdyYWxfYzwgVCx2YWx1ZSA+IHR5cGU7Cit9OworCit9CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBiaXRhbmRfaW1wbDwgaW50ZWdyYWxfY190YWcsaW50ZWdyYWxfY190YWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBOMSwgdHlwZW5hbWUgTjIgPiBzdHJ1Y3QgYXBwbHkKKyAgICAgICAgOiBhdXg6OmJpdGFuZF93a25kPAorICAgICAgICAgICAgICB0eXBlbmFtZSBhdXg6Omxhcmdlc3RfaW50PAorICAgICAgICAgICAgICAgICAgdHlwZW5hbWUgTjE6OnZhbHVlX3R5cGUKKyAgICAgICAgICAgICAgICAsIHR5cGVuYW1lIE4yOjp2YWx1ZV90eXBlCisgICAgICAgICAgICAgICAgPjo6dHlwZQorICAgICAgICAgICAgLCBOMTo6dmFsdWUKKyAgICAgICAgICAgICwgTjI6OnZhbHVlCisgICAgICAgICAgICA+Ojp0eXBlCisKKyAgICB7CisgICAgfTsKK307CisKK319CmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fdHRwL2JpdG9yLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9ub190dHAvYml0b3IuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZhMWQyNGIKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fdHRwL2JpdG9yLmhwcApAQCAtMCwwICsxLDE1NyBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vIENvcHlyaWdodCBKYWFwIFN1dGVyIDIwMDMKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvYml0b3IuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVGFnMQorICAgICwgdHlwZW5hbWUgVGFnMgorICAgID4KK3N0cnVjdCBiaXRvcl9pbXBsCisgICAgOiBpZl9jPAorICAgICAgICAgICggQk9PU1RfTVBMX0FVWF9ORVNURURfVkFMVUVfV0tORChpbnQsIFRhZzEpCisgICAgICAgICAgICAgID4gQk9PU1RfTVBMX0FVWF9ORVNURURfVkFMVUVfV0tORChpbnQsIFRhZzIpCisgICAgICAgICAgICApCisKKyAgICAgICAgLCBhdXg6OmNhc3QybmRfaW1wbDwgYml0b3JfaW1wbDwgVGFnMSxUYWcxID4sVGFnMSwgVGFnMiA+CisgICAgICAgICwgYXV4OjpjYXN0MXN0X2ltcGw8IGJpdG9yX2ltcGw8IFRhZzIsVGFnMiA+LFRhZzEsIFRhZzIgPgorICAgICAgICA+Ojp0eXBlCit7Cit9OworCisvLy8gZm9yIERpZ2l0YWwgTWFycyBDKysvY29tcGlsZXJzIHdpdGggbm8gQ1RQUy9UVFAgc3VwcG9ydAordGVtcGxhdGU8PiBzdHJ1Y3QgYml0b3JfaW1wbDwgbmEsbmEgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUYWcgPiBzdHJ1Y3QgYml0b3JfaW1wbDwgbmEsVGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVGFnID4gc3RydWN0IGJpdG9yX2ltcGw8IFRhZyxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFQgPiBzdHJ1Y3QgYml0b3JfdGFnCit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBUOjp0YWcgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMSkKKyAgICAsIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjIpCisgICAgLCB0eXBlbmFtZSBOMyA9IG5hLCB0eXBlbmFtZSBONCA9IG5hLCB0eXBlbmFtZSBONSA9IG5hCisgICAgPgorc3RydWN0IGJpdG9yXworICAgIDogYml0b3JfPCBiaXRvcl88IGJpdG9yXzwgYml0b3JfPCBOMSxOMiA+LCBOMz4sIE40PiwgTjU+Cit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgKKyAgICAgICAgICA1CisgICAgICAgICwgYml0b3JfCisgICAgICAgICwgKCBOMSwgTjIsIE4zLCBONCwgTjUgKQorICAgICAgICApCit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIE4xLCB0eXBlbmFtZSBOMiwgdHlwZW5hbWUgTjMsIHR5cGVuYW1lIE40CisgICAgPgorc3RydWN0IGJpdG9yXzwgTjEsTjIsTjMsTjQsbmEgPgorCisgICAgOiBiaXRvcl88IGJpdG9yXzwgYml0b3JfPCBOMSxOMiA+LCBOMz4sIE40PgoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlRfU1BFQygKKyAgICAgICAgICA1CisgICAgICAgICwgYml0b3JfCisgICAgICAgICwgKCBOMSwgTjIsIE4zLCBONCwgbmEgKQorICAgICAgICApCit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIE4xLCB0eXBlbmFtZSBOMiwgdHlwZW5hbWUgTjMKKyAgICA+CitzdHJ1Y3QgYml0b3JfPCBOMSxOMixOMyxuYSxuYSA+CisKKyAgICA6IGJpdG9yXzwgYml0b3JfPCBOMSxOMiA+LCBOMz4KK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUX1NQRUMoCisgICAgICAgICAgNQorICAgICAgICAsIGJpdG9yXworICAgICAgICAsICggTjEsIE4yLCBOMywgbmEsIG5hICkKKyAgICAgICAgKQorfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBOMSwgdHlwZW5hbWUgTjIKKyAgICA+CitzdHJ1Y3QgYml0b3JfPCBOMSxOMixuYSxuYSxuYSA+CisgICAgOiBiaXRvcl9pbXBsPAorICAgICAgICAgIHR5cGVuYW1lIGJpdG9yX3RhZzxOMT46OnR5cGUKKyAgICAgICAgLCB0eXBlbmFtZSBiaXRvcl90YWc8TjI+Ojp0eXBlCisgICAgICAgID46OnRlbXBsYXRlIGFwcGx5PCBOMSxOMiA+Ojp0eXBlCit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVF9TUEVDKAorICAgICAgICAgIDUKKyAgICAgICAgLCBiaXRvcl8KKyAgICAgICAgLCAoIE4xLCBOMiwgbmEsIG5hLCBuYSApCisgICAgICAgICkKKworfTsKKworQk9PU1RfTVBMX0FVWF9OQV9TUEVDMigyLCA1LCBiaXRvcl8pCisKK319CisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCituYW1lc3BhY2UgYXV4IHsKK3RlbXBsYXRlPCB0eXBlbmFtZSBULCBUIG4xLCBUIG4yID4KK3N0cnVjdCBiaXRvcl93a25kCit7CisgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKFQsIHZhbHVlICA9IChuMSB8IG4yKSk7CisgICAgdHlwZWRlZiBpbnRlZ3JhbF9jPCBULHZhbHVlID4gdHlwZTsKK307CisKK30KKwordGVtcGxhdGU8Pgorc3RydWN0IGJpdG9yX2ltcGw8IGludGVncmFsX2NfdGFnLGludGVncmFsX2NfdGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgTjEsIHR5cGVuYW1lIE4yID4gc3RydWN0IGFwcGx5CisgICAgICAgIDogYXV4OjpiaXRvcl93a25kPAorICAgICAgICAgICAgICB0eXBlbmFtZSBhdXg6Omxhcmdlc3RfaW50PAorICAgICAgICAgICAgICAgICAgdHlwZW5hbWUgTjE6OnZhbHVlX3R5cGUKKyAgICAgICAgICAgICAgICAsIHR5cGVuYW1lIE4yOjp2YWx1ZV90eXBlCisgICAgICAgICAgICAgICAgPjo6dHlwZQorICAgICAgICAgICAgLCBOMTo6dmFsdWUKKyAgICAgICAgICAgICwgTjI6OnZhbHVlCisgICAgICAgICAgICA+Ojp0eXBlCisKKyAgICB7CisgICAgfTsKK307CisKK319CmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fdHRwL2JpdHhvci5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fdHRwL2JpdHhvci5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmJkYTg2OQotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9ub190dHAvYml0eG9yLmhwcApAQCAtMCwwICsxLDE1NyBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vIENvcHlyaWdodCBKYWFwIFN1dGVyIDIwMDMKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvYml0eG9yLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFRhZzEKKyAgICAsIHR5cGVuYW1lIFRhZzIKKyAgICA+CitzdHJ1Y3QgYml0eG9yX2ltcGwKKyAgICA6IGlmX2M8CisgICAgICAgICAgKCBCT09TVF9NUExfQVVYX05FU1RFRF9WQUxVRV9XS05EKGludCwgVGFnMSkKKyAgICAgICAgICAgICAgPiBCT09TVF9NUExfQVVYX05FU1RFRF9WQUxVRV9XS05EKGludCwgVGFnMikKKyAgICAgICAgICAgICkKKworICAgICAgICAsIGF1eDo6Y2FzdDJuZF9pbXBsPCBiaXR4b3JfaW1wbDwgVGFnMSxUYWcxID4sVGFnMSwgVGFnMiA+CisgICAgICAgICwgYXV4OjpjYXN0MXN0X2ltcGw8IGJpdHhvcl9pbXBsPCBUYWcyLFRhZzIgPixUYWcxLCBUYWcyID4KKyAgICAgICAgPjo6dHlwZQoreworfTsKKworLy8vIGZvciBEaWdpdGFsIE1hcnMgQysrL2NvbXBpbGVycyB3aXRoIG5vIENUUFMvVFRQIHN1cHBvcnQKK3RlbXBsYXRlPD4gc3RydWN0IGJpdHhvcl9pbXBsPCBuYSxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFRhZyA+IHN0cnVjdCBiaXR4b3JfaW1wbDwgbmEsVGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVGFnID4gc3RydWN0IGJpdHhvcl9pbXBsPCBUYWcsbmEgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUID4gc3RydWN0IGJpdHhvcl90YWcKK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIFQ6OnRhZyB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4xKQorICAgICwgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMikKKyAgICAsIHR5cGVuYW1lIE4zID0gbmEsIHR5cGVuYW1lIE40ID0gbmEsIHR5cGVuYW1lIE41ID0gbmEKKyAgICA+CitzdHJ1Y3QgYml0eG9yXworICAgIDogYml0eG9yXzwgYml0eG9yXzwgYml0eG9yXzwgYml0eG9yXzwgTjEsTjIgPiwgTjM+LCBOND4sIE41PgoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoCisgICAgICAgICAgNQorICAgICAgICAsIGJpdHhvcl8KKyAgICAgICAgLCAoIE4xLCBOMiwgTjMsIE40LCBONSApCisgICAgICAgICkKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgTjEsIHR5cGVuYW1lIE4yLCB0eXBlbmFtZSBOMywgdHlwZW5hbWUgTjQKKyAgICA+CitzdHJ1Y3QgYml0eG9yXzwgTjEsTjIsTjMsTjQsbmEgPgorCisgICAgOiBiaXR4b3JfPCBiaXR4b3JfPCBiaXR4b3JfPCBOMSxOMiA+LCBOMz4sIE40PgoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlRfU1BFQygKKyAgICAgICAgICA1CisgICAgICAgICwgYml0eG9yXworICAgICAgICAsICggTjEsIE4yLCBOMywgTjQsIG5hICkKKyAgICAgICAgKQorfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBOMSwgdHlwZW5hbWUgTjIsIHR5cGVuYW1lIE4zCisgICAgPgorc3RydWN0IGJpdHhvcl88IE4xLE4yLE4zLG5hLG5hID4KKworICAgIDogYml0eG9yXzwgYml0eG9yXzwgTjEsTjIgPiwgTjM+Cit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVF9TUEVDKAorICAgICAgICAgIDUKKyAgICAgICAgLCBiaXR4b3JfCisgICAgICAgICwgKCBOMSwgTjIsIE4zLCBuYSwgbmEgKQorICAgICAgICApCit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIE4xLCB0eXBlbmFtZSBOMgorICAgID4KK3N0cnVjdCBiaXR4b3JfPCBOMSxOMixuYSxuYSxuYSA+CisgICAgOiBiaXR4b3JfaW1wbDwKKyAgICAgICAgICB0eXBlbmFtZSBiaXR4b3JfdGFnPE4xPjo6dHlwZQorICAgICAgICAsIHR5cGVuYW1lIGJpdHhvcl90YWc8TjI+Ojp0eXBlCisgICAgICAgID46OnRlbXBsYXRlIGFwcGx5PCBOMSxOMiA+Ojp0eXBlCit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVF9TUEVDKAorICAgICAgICAgIDUKKyAgICAgICAgLCBiaXR4b3JfCisgICAgICAgICwgKCBOMSwgTjIsIG5hLCBuYSwgbmEgKQorICAgICAgICApCisKK307CisKK0JPT1NUX01QTF9BVVhfTkFfU1BFQzIoMiwgNSwgYml0eG9yXykKKworfX0KKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK25hbWVzcGFjZSBhdXggewordGVtcGxhdGU8IHR5cGVuYW1lIFQsIFQgbjEsIFQgbjIgPgorc3RydWN0IGJpdHhvcl93a25kCit7CisgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKFQsIHZhbHVlICA9IChuMSBeIG4yKSk7CisgICAgdHlwZWRlZiBpbnRlZ3JhbF9jPCBULHZhbHVlID4gdHlwZTsKK307CisKK30KKwordGVtcGxhdGU8Pgorc3RydWN0IGJpdHhvcl9pbXBsPCBpbnRlZ3JhbF9jX3RhZyxpbnRlZ3JhbF9jX3RhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIE4xLCB0eXBlbmFtZSBOMiA+IHN0cnVjdCBhcHBseQorICAgICAgICA6IGF1eDo6Yml0eG9yX3drbmQ8CisgICAgICAgICAgICAgIHR5cGVuYW1lIGF1eDo6bGFyZ2VzdF9pbnQ8CisgICAgICAgICAgICAgICAgICB0eXBlbmFtZSBOMTo6dmFsdWVfdHlwZQorICAgICAgICAgICAgICAgICwgdHlwZW5hbWUgTjI6OnZhbHVlX3R5cGUKKyAgICAgICAgICAgICAgICA+Ojp0eXBlCisgICAgICAgICAgICAsIE4xOjp2YWx1ZQorICAgICAgICAgICAgLCBOMjo6dmFsdWUKKyAgICAgICAgICAgID46OnR5cGUKKworICAgIHsKKyAgICB9OworfTsKKworfX0KZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9ub190dHAvZGVxdWUuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL25vX3R0cC9kZXF1ZS5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDYzMWY2NgotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9ub190dHAvZGVxdWUuaHBwCkBAIC0wLDAgKzEsMzIzIEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9kZXF1ZS5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCA9IG5hLCB0eXBlbmFtZSBUMSA9IG5hLCB0eXBlbmFtZSBUMiA9IG5hLCB0eXBlbmFtZSBUMyA9IG5hCisgICAgLCB0eXBlbmFtZSBUNCA9IG5hLCB0eXBlbmFtZSBUNSA9IG5hLCB0eXBlbmFtZSBUNiA9IG5hLCB0eXBlbmFtZSBUNyA9IG5hCisgICAgLCB0eXBlbmFtZSBUOCA9IG5hLCB0eXBlbmFtZSBUOSA9IG5hLCB0eXBlbmFtZSBUMTAgPSBuYSwgdHlwZW5hbWUgVDExID0gbmEKKyAgICAsIHR5cGVuYW1lIFQxMiA9IG5hLCB0eXBlbmFtZSBUMTMgPSBuYSwgdHlwZW5hbWUgVDE0ID0gbmEKKyAgICAsIHR5cGVuYW1lIFQxNSA9IG5hLCB0eXBlbmFtZSBUMTYgPSBuYSwgdHlwZW5hbWUgVDE3ID0gbmEKKyAgICAsIHR5cGVuYW1lIFQxOCA9IG5hLCB0eXBlbmFtZSBUMTkgPSBuYQorICAgID4KK3N0cnVjdCBkZXF1ZTsKKwordGVtcGxhdGU8CisgICAgIAorICAgID4KK3N0cnVjdCBkZXF1ZTwKKyAgICAgICAgICBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHZlY3RvcjA8ICA+Cit7CisgICAgdHlwZWRlZiB2ZWN0b3IwPCAgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMAorICAgID4KK3N0cnVjdCBkZXF1ZTwKKyAgICAgICAgICBUMCwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHZlY3RvcjE8VDA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxPFQwPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEKKyAgICA+CitzdHJ1Y3QgZGVxdWU8CisgICAgICAgICAgVDAsIFQxLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3IyPCBUMCxUMSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IyPCBUMCxUMSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIKKyAgICA+CitzdHJ1Y3QgZGVxdWU8CisgICAgICAgICAgVDAsIFQxLCBUMiwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3IzPCBUMCxUMSxUMiA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IzPCBUMCxUMSxUMiA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzCisgICAgPgorc3RydWN0IGRlcXVlPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogdmVjdG9yNDwgVDAsVDEsVDIsVDMgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yNDwgVDAsVDEsVDIsVDMgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICA+CitzdHJ1Y3QgZGVxdWU8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3I1PCBUMCxUMSxUMixUMyxUNCA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3I1PCBUMCxUMSxUMixUMyxUNCA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUKKyAgICA+CitzdHJ1Y3QgZGVxdWU8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3I2PCBUMCxUMSxUMixUMyxUNCxUNSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3I2PCBUMCxUMSxUMixUMyxUNCxUNSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2CisgICAgPgorc3RydWN0IGRlcXVlPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogdmVjdG9yNzwgVDAsVDEsVDIsVDMsVDQsVDUsVDYgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yNzwgVDAsVDEsVDIsVDMsVDQsVDUsVDYgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcKKyAgICA+CitzdHJ1Y3QgZGVxdWU8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3I4PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3I4PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgKKyAgICA+CitzdHJ1Y3QgZGVxdWU8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3I5PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3I5PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgPgorc3RydWN0IGRlcXVlPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogdmVjdG9yMTA8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjEwPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAKKyAgICA+CitzdHJ1Y3QgZGVxdWU8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogdmVjdG9yMTE8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxMTwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExCisgICAgPgorc3RydWN0IGRlcXVlPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3IxMjwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxMjwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyCisgICAgPgorc3RydWN0IGRlcXVlPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogdmVjdG9yMTM8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjEzPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMiA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMKKyAgICA+CitzdHJ1Y3QgZGVxdWU8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogdmVjdG9yMTQ8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxNDwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgPgorc3RydWN0IGRlcXVlPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNCwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3IxNTwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTU8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyxUMTQgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAsIHR5cGVuYW1lIFQxNQorICAgID4KK3N0cnVjdCBkZXF1ZTwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgLCBUMTUsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHZlY3RvcjE2PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNQorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxNjwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzLFQxNCxUMTUgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2CisgICAgPgorc3RydWN0IGRlcXVlPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgVDE2LCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHZlY3RvcjE3PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgVDE2CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjE3PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMsVDE0LFQxNSxUMTYgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcKKyAgICA+CitzdHJ1Y3QgZGVxdWU8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1LCBUMTYsIFQxNywgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHZlY3RvcjE4PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgVDE2LCBUMTcKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTg8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyxUMTQsVDE1LFQxNixUMTcgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOAorICAgID4KK3N0cnVjdCBkZXF1ZTwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgLCBUMTUsIFQxNiwgVDE3LCBUMTgsIG5hCisgICAgICAgID4KKyAgICA6IHZlY3RvcjE5PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgVDE2LCBUMTcsIFQxOAorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxOTwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzLFQxNCxUMTUsVDE2LFQxNyxUMTggPjo6dHlwZSB0eXBlOworfTsKKworLy8vIHByaW1hcnkgdGVtcGxhdGUgKG5vdCBhIHNwZWNpYWxpemF0aW9uISkKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgPgorc3RydWN0IGRlcXVlCisgICAgOiB2ZWN0b3IyMDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgLCBUMTUsIFQxNiwgVDE3LCBUMTgsIFQxOQorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IyMDwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzLFQxNCxUMTUsVDE2LFQxNyxUMTgsVDE5ID46OnR5cGUgdHlwZTsKK307CisKK319CisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9ub190dHAvZGl2aWRlcy5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fdHRwL2RpdmlkZXMuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmViMjJhMDkKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fdHRwL2RpdmlkZXMuaHBwCkBAIC0wLDAgKzEsMTU2IEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9kaXZpZGVzLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFRhZzEKKyAgICAsIHR5cGVuYW1lIFRhZzIKKyAgICA+CitzdHJ1Y3QgZGl2aWRlc19pbXBsCisgICAgOiBpZl9jPAorICAgICAgICAgICggQk9PU1RfTVBMX0FVWF9ORVNURURfVkFMVUVfV0tORChpbnQsIFRhZzEpCisgICAgICAgICAgICAgID4gQk9PU1RfTVBMX0FVWF9ORVNURURfVkFMVUVfV0tORChpbnQsIFRhZzIpCisgICAgICAgICAgICApCisKKyAgICAgICAgLCBhdXg6OmNhc3QybmRfaW1wbDwgZGl2aWRlc19pbXBsPCBUYWcxLFRhZzEgPixUYWcxLCBUYWcyID4KKyAgICAgICAgLCBhdXg6OmNhc3Qxc3RfaW1wbDwgZGl2aWRlc19pbXBsPCBUYWcyLFRhZzIgPixUYWcxLCBUYWcyID4KKyAgICAgICAgPjo6dHlwZQoreworfTsKKworLy8vIGZvciBEaWdpdGFsIE1hcnMgQysrL2NvbXBpbGVycyB3aXRoIG5vIENUUFMvVFRQIHN1cHBvcnQKK3RlbXBsYXRlPD4gc3RydWN0IGRpdmlkZXNfaW1wbDwgbmEsbmEgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUYWcgPiBzdHJ1Y3QgZGl2aWRlc19pbXBsPCBuYSxUYWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUYWcgPiBzdHJ1Y3QgZGl2aWRlc19pbXBsPCBUYWcsbmEgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUID4gc3RydWN0IGRpdmlkZXNfdGFnCit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBUOjp0YWcgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMSkKKyAgICAsIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjIpCisgICAgLCB0eXBlbmFtZSBOMyA9IG5hLCB0eXBlbmFtZSBONCA9IG5hLCB0eXBlbmFtZSBONSA9IG5hCisgICAgPgorc3RydWN0IGRpdmlkZXMKKyAgICA6IGRpdmlkZXM8IGRpdmlkZXM8IGRpdmlkZXM8IGRpdmlkZXM8IE4xLE4yID4sIE4zPiwgTjQ+LCBONT4KK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKAorICAgICAgICAgIDUKKyAgICAgICAgLCBkaXZpZGVzCisgICAgICAgICwgKCBOMSwgTjIsIE4zLCBONCwgTjUgKQorICAgICAgICApCit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIE4xLCB0eXBlbmFtZSBOMiwgdHlwZW5hbWUgTjMsIHR5cGVuYW1lIE40CisgICAgPgorc3RydWN0IGRpdmlkZXM8IE4xLE4yLE4zLE40LG5hID4KKworICAgIDogZGl2aWRlczwgZGl2aWRlczwgZGl2aWRlczwgTjEsTjIgPiwgTjM+LCBOND4KK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUX1NQRUMoCisgICAgICAgICAgNQorICAgICAgICAsIGRpdmlkZXMKKyAgICAgICAgLCAoIE4xLCBOMiwgTjMsIE40LCBuYSApCisgICAgICAgICkKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgTjEsIHR5cGVuYW1lIE4yLCB0eXBlbmFtZSBOMworICAgID4KK3N0cnVjdCBkaXZpZGVzPCBOMSxOMixOMyxuYSxuYSA+CisKKyAgICA6IGRpdmlkZXM8IGRpdmlkZXM8IE4xLE4yID4sIE4zPgoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlRfU1BFQygKKyAgICAgICAgICA1CisgICAgICAgICwgZGl2aWRlcworICAgICAgICAsICggTjEsIE4yLCBOMywgbmEsIG5hICkKKyAgICAgICAgKQorfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBOMSwgdHlwZW5hbWUgTjIKKyAgICA+CitzdHJ1Y3QgZGl2aWRlczwgTjEsTjIsbmEsbmEsbmEgPgorICAgIDogZGl2aWRlc19pbXBsPAorICAgICAgICAgIHR5cGVuYW1lIGRpdmlkZXNfdGFnPE4xPjo6dHlwZQorICAgICAgICAsIHR5cGVuYW1lIGRpdmlkZXNfdGFnPE4yPjo6dHlwZQorICAgICAgICA+Ojp0ZW1wbGF0ZSBhcHBseTwgTjEsTjIgPjo6dHlwZQoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlRfU1BFQygKKyAgICAgICAgICA1CisgICAgICAgICwgZGl2aWRlcworICAgICAgICAsICggTjEsIE4yLCBuYSwgbmEsIG5hICkKKyAgICAgICAgKQorCit9OworCitCT09TVF9NUExfQVVYX05BX1NQRUMyKDIsIDUsIGRpdmlkZXMpCisKK319CisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCituYW1lc3BhY2UgYXV4IHsKK3RlbXBsYXRlPCB0eXBlbmFtZSBULCBUIG4xLCBUIG4yID4KK3N0cnVjdCBkaXZpZGVzX3drbmQKK3sKKyAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoVCwgdmFsdWUgID0gKG4xIC8gbjIpKTsKKyAgICB0eXBlZGVmIGludGVncmFsX2M8IFQsdmFsdWUgPiB0eXBlOworfTsKKworfQorCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgZGl2aWRlc19pbXBsPCBpbnRlZ3JhbF9jX3RhZyxpbnRlZ3JhbF9jX3RhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIE4xLCB0eXBlbmFtZSBOMiA+IHN0cnVjdCBhcHBseQorICAgICAgICA6IGF1eDo6ZGl2aWRlc193a25kPAorICAgICAgICAgICAgICB0eXBlbmFtZSBhdXg6Omxhcmdlc3RfaW50PAorICAgICAgICAgICAgICAgICAgdHlwZW5hbWUgTjE6OnZhbHVlX3R5cGUKKyAgICAgICAgICAgICAgICAsIHR5cGVuYW1lIE4yOjp2YWx1ZV90eXBlCisgICAgICAgICAgICAgICAgPjo6dHlwZQorICAgICAgICAgICAgLCBOMTo6dmFsdWUKKyAgICAgICAgICAgICwgTjI6OnZhbHVlCisgICAgICAgICAgICA+Ojp0eXBlCisKKyAgICB7CisgICAgfTsKK307CisKK319CmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fdHRwL2VxdWFsX3RvLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9ub190dHAvZXF1YWxfdG8uaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI5MDBiYTEKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fdHRwL2VxdWFsX3RvLmhwcApAQCAtMCwwICsxLDk4IEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9lcXVhbF90by5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUYWcxCisgICAgLCB0eXBlbmFtZSBUYWcyCisgICAgPgorc3RydWN0IGVxdWFsX3RvX2ltcGwKKyAgICA6IGlmX2M8CisgICAgICAgICAgKCBCT09TVF9NUExfQVVYX05FU1RFRF9WQUxVRV9XS05EKGludCwgVGFnMSkKKyAgICAgICAgICAgICAgPiBCT09TVF9NUExfQVVYX05FU1RFRF9WQUxVRV9XS05EKGludCwgVGFnMikKKyAgICAgICAgICAgICkKKworICAgICAgICAsIGF1eDo6Y2FzdDJuZF9pbXBsPCBlcXVhbF90b19pbXBsPCBUYWcxLFRhZzEgPixUYWcxLCBUYWcyID4KKyAgICAgICAgLCBhdXg6OmNhc3Qxc3RfaW1wbDwgZXF1YWxfdG9faW1wbDwgVGFnMixUYWcyID4sVGFnMSwgVGFnMiA+CisgICAgICAgID46OnR5cGUKK3sKK307CisKKy8vLyBmb3IgRGlnaXRhbCBNYXJzIEMrKy9jb21waWxlcnMgd2l0aCBubyBDVFBTL1RUUCBzdXBwb3J0Cit0ZW1wbGF0ZTw+IHN0cnVjdCBlcXVhbF90b19pbXBsPCBuYSxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFRhZyA+IHN0cnVjdCBlcXVhbF90b19pbXBsPCBuYSxUYWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUYWcgPiBzdHJ1Y3QgZXF1YWxfdG9faW1wbDwgVGFnLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVCA+IHN0cnVjdCBlcXVhbF90b190YWcKK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIFQ6OnRhZyB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4xKQorICAgICwgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMikKKyAgICA+CitzdHJ1Y3QgZXF1YWxfdG8KKworICAgIDogZXF1YWxfdG9faW1wbDwKKyAgICAgICAgICB0eXBlbmFtZSBlcXVhbF90b190YWc8TjE+Ojp0eXBlCisgICAgICAgICwgdHlwZW5hbWUgZXF1YWxfdG9fdGFnPE4yPjo6dHlwZQorICAgICAgICA+Ojp0ZW1wbGF0ZSBhcHBseTwgTjEsTjIgPjo6dHlwZQoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoMiwgZXF1YWxfdG8sIChOMSwgTjIpKQorCit9OworCitCT09TVF9NUExfQVVYX05BX1NQRUMyKDIsIDIsIGVxdWFsX3RvKQorCit9fQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8Pgorc3RydWN0IGVxdWFsX3RvX2ltcGw8IGludGVncmFsX2NfdGFnLGludGVncmFsX2NfdGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgTjEsIHR5cGVuYW1lIE4yID4gc3RydWN0IGFwcGx5CisKKyAgICB7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChib29sLCB2YWx1ZSA9CisgICAgICAgICAgICAgKCBCT09TVF9NUExfQVVYX1ZBTFVFX1dLTkQoTjEpOjp2YWx1ZSA9PQorICAgICAgICAgICAgIEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChOMik6OnZhbHVlICkKKyAgICAgICAgICAgICk7CisgICAgICAgIHR5cGVkZWYgYm9vbF88dmFsdWU+IHR5cGU7CisgICAgfTsKK307CisKK319CmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fdHRwL2ZvbGRfaW1wbC5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fdHRwL2ZvbGRfaW1wbC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDk0Y2Q0MQotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9ub190dHAvZm9sZF9pbXBsLmhwcApAQCAtMCwwICsxLDE4MCBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvYXV4Xy9mb2xkX2ltcGwuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7IG5hbWVzcGFjZSBhdXggeworCisvLy8gZm9yd2FyZCBkZWNsYXJhdGlvbgorCit0ZW1wbGF0ZTwKKyAgICAgIGludCBOCisgICAgLCB0eXBlbmFtZSBGaXJzdAorICAgICwgdHlwZW5hbWUgTGFzdAorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgID4KK3N0cnVjdCBmb2xkX2ltcGw7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+CitzdHJ1Y3QgZm9sZF9pbXBsPCAwLEZpcnN0LExhc3QsU3RhdGUsRm9yd2FyZE9wID4KK3sKKyAgICB0eXBlZGVmIEZpcnN0IGl0ZXIwOworICAgIHR5cGVkZWYgU3RhdGUgc3RhdGUwOworICAgIHR5cGVkZWYgc3RhdGUwIHN0YXRlOworICAgIHR5cGVkZWYgaXRlcjAgaXRlcmF0b3I7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgPgorc3RydWN0IGZvbGRfaW1wbDwgMSxGaXJzdCxMYXN0LFN0YXRlLEZvcndhcmRPcCA+Cit7CisgICAgdHlwZWRlZiBGaXJzdCBpdGVyMDsKKyAgICB0eXBlZGVmIFN0YXRlIHN0YXRlMDsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLCBzdGF0ZTAsIHR5cGVuYW1lIGRlcmVmPGl0ZXIwPjo6dHlwZSA+Ojp0eXBlIHN0YXRlMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMD46OnR5cGUgaXRlcjE7CisgICAgCisKKyAgICB0eXBlZGVmIHN0YXRlMSBzdGF0ZTsKKyAgICB0eXBlZGVmIGl0ZXIxIGl0ZXJhdG9yOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGaXJzdAorICAgICwgdHlwZW5hbWUgTGFzdAorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgID4KK3N0cnVjdCBmb2xkX2ltcGw8IDIsRmlyc3QsTGFzdCxTdGF0ZSxGb3J3YXJkT3AgPgoreworICAgIHR5cGVkZWYgRmlyc3QgaXRlcjA7CisgICAgdHlwZWRlZiBTdGF0ZSBzdGF0ZTA7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCwgc3RhdGUwLCB0eXBlbmFtZSBkZXJlZjxpdGVyMD46OnR5cGUgPjo6dHlwZSBzdGF0ZTE7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjA+Ojp0eXBlIGl0ZXIxOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsIHN0YXRlMSwgdHlwZW5hbWUgZGVyZWY8aXRlcjE+Ojp0eXBlID46OnR5cGUgc3RhdGUyOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIxPjo6dHlwZSBpdGVyMjsKKyAgICAKKworICAgIHR5cGVkZWYgc3RhdGUyIHN0YXRlOworICAgIHR5cGVkZWYgaXRlcjIgaXRlcmF0b3I7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgPgorc3RydWN0IGZvbGRfaW1wbDwgMyxGaXJzdCxMYXN0LFN0YXRlLEZvcndhcmRPcCA+Cit7CisgICAgdHlwZWRlZiBGaXJzdCBpdGVyMDsKKyAgICB0eXBlZGVmIFN0YXRlIHN0YXRlMDsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLCBzdGF0ZTAsIHR5cGVuYW1lIGRlcmVmPGl0ZXIwPjo6dHlwZSA+Ojp0eXBlIHN0YXRlMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMD46OnR5cGUgaXRlcjE7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCwgc3RhdGUxLCB0eXBlbmFtZSBkZXJlZjxpdGVyMT46OnR5cGUgPjo6dHlwZSBzdGF0ZTI7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjE+Ojp0eXBlIGl0ZXIyOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsIHN0YXRlMiwgdHlwZW5hbWUgZGVyZWY8aXRlcjI+Ojp0eXBlID46OnR5cGUgc3RhdGUzOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIyPjo6dHlwZSBpdGVyMzsKKyAgICAKKworICAgIHR5cGVkZWYgc3RhdGUzIHN0YXRlOworICAgIHR5cGVkZWYgaXRlcjMgaXRlcmF0b3I7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgPgorc3RydWN0IGZvbGRfaW1wbDwgNCxGaXJzdCxMYXN0LFN0YXRlLEZvcndhcmRPcCA+Cit7CisgICAgdHlwZWRlZiBGaXJzdCBpdGVyMDsKKyAgICB0eXBlZGVmIFN0YXRlIHN0YXRlMDsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLCBzdGF0ZTAsIHR5cGVuYW1lIGRlcmVmPGl0ZXIwPjo6dHlwZSA+Ojp0eXBlIHN0YXRlMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMD46OnR5cGUgaXRlcjE7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCwgc3RhdGUxLCB0eXBlbmFtZSBkZXJlZjxpdGVyMT46OnR5cGUgPjo6dHlwZSBzdGF0ZTI7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjE+Ojp0eXBlIGl0ZXIyOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsIHN0YXRlMiwgdHlwZW5hbWUgZGVyZWY8aXRlcjI+Ojp0eXBlID46OnR5cGUgc3RhdGUzOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIyPjo6dHlwZSBpdGVyMzsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLCBzdGF0ZTMsIHR5cGVuYW1lIGRlcmVmPGl0ZXIzPjo6dHlwZSA+Ojp0eXBlIHN0YXRlNDsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMz46OnR5cGUgaXRlcjQ7CisgICAgCisKKyAgICB0eXBlZGVmIHN0YXRlNCBzdGF0ZTsKKyAgICB0eXBlZGVmIGl0ZXI0IGl0ZXJhdG9yOworfTsKKwordGVtcGxhdGU8CisgICAgICBpbnQgTgorICAgICwgdHlwZW5hbWUgRmlyc3QKKyAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+CitzdHJ1Y3QgZm9sZF9pbXBsCit7CisgICAgdHlwZWRlZiBmb2xkX2ltcGw8CisgICAgICAgICAgNAorICAgICAgICAsIEZpcnN0CisgICAgICAgICwgTGFzdAorICAgICAgICAsIFN0YXRlCisgICAgICAgICwgRm9yd2FyZE9wCisgICAgICAgID4gY2h1bmtfOworCisgICAgdHlwZWRlZiBmb2xkX2ltcGw8CisgICAgICAgICAgKCAoTiAtIDQpIDwgMCA/IDAgOiBOIC0gNCApCisgICAgICAgICwgdHlwZW5hbWUgY2h1bmtfOjppdGVyYXRvcgorICAgICAgICAsIExhc3QKKyAgICAgICAgLCB0eXBlbmFtZSBjaHVua186OnN0YXRlCisgICAgICAgICwgRm9yd2FyZE9wCisgICAgICAgID4gcmVzXzsKKworICAgIHR5cGVkZWYgdHlwZW5hbWUgcmVzXzo6c3RhdGUgc3RhdGU7CisgICAgdHlwZWRlZiB0eXBlbmFtZSByZXNfOjppdGVyYXRvciBpdGVyYXRvcjsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+CitzdHJ1Y3QgZm9sZF9pbXBsPCAtMSxGaXJzdCxMYXN0LFN0YXRlLEZvcndhcmRPcCA+CisgICAgOiBmb2xkX2ltcGw8CisgICAgICAgICAgLTEKKyAgICAgICAgLCB0eXBlbmFtZSBtcGw6Om5leHQ8Rmlyc3Q+Ojp0eXBlCisgICAgICAgICwgTGFzdAorICAgICAgICAsIHR5cGVuYW1lIGFwcGx5MjxGb3J3YXJkT3AsU3RhdGUsIHR5cGVuYW1lIGRlcmVmPEZpcnN0Pjo6dHlwZT46OnR5cGUKKyAgICAgICAgLCBGb3J3YXJkT3AKKyAgICAgICAgPgoreworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBMYXN0CisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgPgorc3RydWN0IGZvbGRfaW1wbDwgLTEsTGFzdCxMYXN0LFN0YXRlLEZvcndhcmRPcCA+Cit7CisgICAgdHlwZWRlZiBTdGF0ZSBzdGF0ZTsKKyAgICB0eXBlZGVmIExhc3QgaXRlcmF0b3I7Cit9OworCit9fX0KZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9ub190dHAvZnVsbF9sYW1iZGEuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL25vX3R0cC9mdWxsX2xhbWJkYS5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGU2NThkOAotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9ub190dHAvZnVsbF9sYW1iZGEuaHBwCkBAIC0wLDAgKzEsNTU0IEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDEtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9hdXhfL2Z1bGxfbGFtYmRhLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8CisgICAgICBib29sIEMxID0gZmFsc2UsIGJvb2wgQzIgPSBmYWxzZSwgYm9vbCBDMyA9IGZhbHNlLCBib29sIEM0ID0gZmFsc2UKKyAgICAsIGJvb2wgQzUgPSBmYWxzZQorICAgID4KK3N0cnVjdCBsYW1iZGFfb3IKKyAgICA6IHRydWVfCit7Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgbGFtYmRhX29yPCBmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSA+CisgICAgOiBmYWxzZV8KK3sKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQKKyAgICAsIHR5cGVuYW1lIFRhZworICAgCisgICAgPgorc3RydWN0IGxhbWJkYQoreworICAgIHR5cGVkZWYgZmFsc2VfIGlzX2xlOworICAgIHR5cGVkZWYgVCByZXN1bHRfOworICAgIHR5cGVkZWYgVCB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUCisgICAgPgorc3RydWN0IGlzX2xhbWJkYV9leHByZXNzaW9uCisgICAgOiBsYW1iZGE8VD46OmlzX2xlCit7Cit9OworCit0ZW1wbGF0ZTwgaW50IE4sIHR5cGVuYW1lIFRhZyA+CitzdHJ1Y3QgbGFtYmRhPCBhcmc8Tj4sIFRhZyA+Cit7CisgICAgdHlwZWRlZiB0cnVlXyBpc19sZTsKKyAgICB0eXBlZGVmIG1wbDo6YXJnPE4+IHJlc3VsdF87IC8vIHF1YWxpZmllZCBmb3IgdGhlIHNha2Ugb2YgTUlQU3BybyA3LjQxCisgICAgdHlwZWRlZiBtcGw6OnByb3RlY3Q8cmVzdWx0Xz4gdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRgorICAgICwgdHlwZW5hbWUgVGFnCisgICAgPgorc3RydWN0IGxhbWJkYTwKKyAgICAgICAgICBiaW5kMDxGPgorICAgICAgICAsIFRhZworICAgICAgIAorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiBmYWxzZV8gaXNfbGU7CisgICAgdHlwZWRlZiBiaW5kMDwKKyAgICAgICAgICBGCisgICAgICAgID4gcmVzdWx0XzsKKworICAgIHR5cGVkZWYgcmVzdWx0XyB0eXBlOworfTsKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgSXNMRSwgdHlwZW5hbWUgVGFnCisgICAgLCB0ZW1wbGF0ZTwgdHlwZW5hbWUgUDEgPiBjbGFzcyBGCisgICAgLCB0eXBlbmFtZSBMMQorICAgID4KK3N0cnVjdCBsZV9yZXN1bHQxCit7CisgICAgdHlwZWRlZiBGPAorICAgICAgICAgIHR5cGVuYW1lIEwxOjp0eXBlCisgICAgICAgID4gcmVzdWx0XzsKKworICAgIHR5cGVkZWYgcmVzdWx0XyB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUYWcKKyAgICAsIHRlbXBsYXRlPCB0eXBlbmFtZSBQMSA+IGNsYXNzIEYKKyAgICAsIHR5cGVuYW1lIEwxCisgICAgPgorc3RydWN0IGxlX3Jlc3VsdDE8IHRydWVfLFRhZyxGLEwxID4KK3sKKyAgICB0eXBlZGVmIGJpbmQxPAorICAgICAgICAgIHF1b3RlMTwgRixUYWcgPgorICAgICAgICAsIHR5cGVuYW1lIEwxOjpyZXN1bHRfCisgICAgICAgID4gcmVzdWx0XzsKKworICAgIHR5cGVkZWYgbXBsOjpwcm90ZWN0PHJlc3VsdF8+IHR5cGU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKwordGVtcGxhdGU8CisgICAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgUDEgPiBjbGFzcyBGCisgICAgLCB0eXBlbmFtZSBUMQorICAgICwgdHlwZW5hbWUgVGFnCisgICAgPgorc3RydWN0IGxhbWJkYTwKKyAgICAgICAgICBGPFQxPgorICAgICAgICAsIFRhZworICAgICAgIAorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiBsYW1iZGE8IFQxLFRhZyA+IGwxOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbDE6OmlzX2xlIGlzX2xlMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGF1eDo6bGFtYmRhX29yPAorICAgICAgICAgIGlzX2xlMTo6dmFsdWUKKyAgICAgICAgPjo6dHlwZSBpc19sZTsKKworICAgIHR5cGVkZWYgYXV4OjpsZV9yZXN1bHQxPAorICAgICAgICAgIGlzX2xlLCBUYWcsIEYsIGwxCisgICAgICAgID4gbGVfcmVzdWx0XzsKKworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGVfcmVzdWx0Xzo6cmVzdWx0XyByZXN1bHRfOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGVfcmVzdWx0Xzo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMQorICAgICwgdHlwZW5hbWUgVGFnCisgICAgPgorc3RydWN0IGxhbWJkYTwKKyAgICAgICAgICBiaW5kMTwgRixUMSA+CisgICAgICAgICwgVGFnCisgICAgICAgCisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIGZhbHNlXyBpc19sZTsKKyAgICB0eXBlZGVmIGJpbmQxPAorICAgICAgICAgIEYKKyAgICAgICAgLCBUMQorICAgICAgICA+IHJlc3VsdF87CisKKyAgICB0eXBlZGVmIHJlc3VsdF8gdHlwZTsKK307CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIElzTEUsIHR5cGVuYW1lIFRhZworICAgICwgdGVtcGxhdGU8IHR5cGVuYW1lIFAxLCB0eXBlbmFtZSBQMiA+IGNsYXNzIEYKKyAgICAsIHR5cGVuYW1lIEwxLCB0eXBlbmFtZSBMMgorICAgID4KK3N0cnVjdCBsZV9yZXN1bHQyCit7CisgICAgdHlwZWRlZiBGPAorICAgICAgICAgIHR5cGVuYW1lIEwxOjp0eXBlLCB0eXBlbmFtZSBMMjo6dHlwZQorICAgICAgICA+IHJlc3VsdF87CisKKyAgICB0eXBlZGVmIHJlc3VsdF8gdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVGFnCisgICAgLCB0ZW1wbGF0ZTwgdHlwZW5hbWUgUDEsIHR5cGVuYW1lIFAyID4gY2xhc3MgRgorICAgICwgdHlwZW5hbWUgTDEsIHR5cGVuYW1lIEwyCisgICAgPgorc3RydWN0IGxlX3Jlc3VsdDI8IHRydWVfLFRhZyxGLEwxLEwyID4KK3sKKyAgICB0eXBlZGVmIGJpbmQyPAorICAgICAgICAgIHF1b3RlMjwgRixUYWcgPgorICAgICAgICAsIHR5cGVuYW1lIEwxOjpyZXN1bHRfLCB0eXBlbmFtZSBMMjo6cmVzdWx0XworICAgICAgICA+IHJlc3VsdF87CisKKyAgICB0eXBlZGVmIG1wbDo6cHJvdGVjdDxyZXN1bHRfPiB0eXBlOworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK3RlbXBsYXRlPAorICAgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFAxLCB0eXBlbmFtZSBQMiA+IGNsYXNzIEYKKyAgICAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMgorICAgICwgdHlwZW5hbWUgVGFnCisgICAgPgorc3RydWN0IGxhbWJkYTwKKyAgICAgICAgICBGPCBUMSxUMiA+CisgICAgICAgICwgVGFnCisgICAgICAgCisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIGxhbWJkYTwgVDEsVGFnID4gbDE7CisgICAgdHlwZWRlZiBsYW1iZGE8IFQyLFRhZyA+IGwyOworICAgIAorICAgIHR5cGVkZWYgdHlwZW5hbWUgbDE6OmlzX2xlIGlzX2xlMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGwyOjppc19sZSBpc19sZTI7CisgICAgCisKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGF1eDo6bGFtYmRhX29yPAorICAgICAgICAgIGlzX2xlMTo6dmFsdWUsIGlzX2xlMjo6dmFsdWUKKyAgICAgICAgPjo6dHlwZSBpc19sZTsKKworICAgIHR5cGVkZWYgYXV4OjpsZV9yZXN1bHQyPAorICAgICAgICAgIGlzX2xlLCBUYWcsIEYsIGwxLCBsMgorICAgICAgICA+IGxlX3Jlc3VsdF87CisKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxlX3Jlc3VsdF86OnJlc3VsdF8gcmVzdWx0XzsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxlX3Jlc3VsdF86OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyCisgICAgLCB0eXBlbmFtZSBUYWcKKyAgICA+CitzdHJ1Y3QgbGFtYmRhPAorICAgICAgICAgIGJpbmQyPCBGLFQxLFQyID4KKyAgICAgICAgLCBUYWcKKyAgICAgICAKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgZmFsc2VfIGlzX2xlOworICAgIHR5cGVkZWYgYmluZDI8CisgICAgICAgICAgRgorICAgICAgICAsIFQxLCBUMgorICAgICAgICA+IHJlc3VsdF87CisKKyAgICB0eXBlZGVmIHJlc3VsdF8gdHlwZTsKK307CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIElzTEUsIHR5cGVuYW1lIFRhZworICAgICwgdGVtcGxhdGU8IHR5cGVuYW1lIFAxLCB0eXBlbmFtZSBQMiwgdHlwZW5hbWUgUDMgPiBjbGFzcyBGCisgICAgLCB0eXBlbmFtZSBMMSwgdHlwZW5hbWUgTDIsIHR5cGVuYW1lIEwzCisgICAgPgorc3RydWN0IGxlX3Jlc3VsdDMKK3sKKyAgICB0eXBlZGVmIEY8CisgICAgICAgICAgdHlwZW5hbWUgTDE6OnR5cGUsIHR5cGVuYW1lIEwyOjp0eXBlLCB0eXBlbmFtZSBMMzo6dHlwZQorICAgICAgICA+IHJlc3VsdF87CisKKyAgICB0eXBlZGVmIHJlc3VsdF8gdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVGFnCisgICAgLCB0ZW1wbGF0ZTwgdHlwZW5hbWUgUDEsIHR5cGVuYW1lIFAyLCB0eXBlbmFtZSBQMyA+IGNsYXNzIEYKKyAgICAsIHR5cGVuYW1lIEwxLCB0eXBlbmFtZSBMMiwgdHlwZW5hbWUgTDMKKyAgICA+CitzdHJ1Y3QgbGVfcmVzdWx0MzwgdHJ1ZV8sVGFnLEYsTDEsTDIsTDMgPgoreworICAgIHR5cGVkZWYgYmluZDM8CisgICAgICAgICAgcXVvdGUzPCBGLFRhZyA+CisgICAgICAgICwgdHlwZW5hbWUgTDE6OnJlc3VsdF8sIHR5cGVuYW1lIEwyOjpyZXN1bHRfLCB0eXBlbmFtZSBMMzo6cmVzdWx0XworICAgICAgICA+IHJlc3VsdF87CisKKyAgICB0eXBlZGVmIG1wbDo6cHJvdGVjdDxyZXN1bHRfPiB0eXBlOworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK3RlbXBsYXRlPAorICAgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFAxLCB0eXBlbmFtZSBQMiwgdHlwZW5hbWUgUDMgPiBjbGFzcyBGCisgICAgLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzCisgICAgLCB0eXBlbmFtZSBUYWcKKyAgICA+CitzdHJ1Y3QgbGFtYmRhPAorICAgICAgICAgIEY8IFQxLFQyLFQzID4KKyAgICAgICAgLCBUYWcKKyAgICAgICAKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgbGFtYmRhPCBUMSxUYWcgPiBsMTsKKyAgICB0eXBlZGVmIGxhbWJkYTwgVDIsVGFnID4gbDI7CisgICAgdHlwZWRlZiBsYW1iZGE8IFQzLFRhZyA+IGwzOworICAgIAorICAgIHR5cGVkZWYgdHlwZW5hbWUgbDE6OmlzX2xlIGlzX2xlMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGwyOjppc19sZSBpc19sZTI7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsMzo6aXNfbGUgaXNfbGUzOworICAgIAorCisgICAgdHlwZWRlZiB0eXBlbmFtZSBhdXg6OmxhbWJkYV9vcjwKKyAgICAgICAgICBpc19sZTE6OnZhbHVlLCBpc19sZTI6OnZhbHVlLCBpc19sZTM6OnZhbHVlCisgICAgICAgID46OnR5cGUgaXNfbGU7CisKKyAgICB0eXBlZGVmIGF1eDo6bGVfcmVzdWx0MzwKKyAgICAgICAgICBpc19sZSwgVGFnLCBGLCBsMSwgbDIsIGwzCisgICAgICAgID4gbGVfcmVzdWx0XzsKKworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGVfcmVzdWx0Xzo6cmVzdWx0XyByZXN1bHRfOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGVfcmVzdWx0Xzo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzCisgICAgLCB0eXBlbmFtZSBUYWcKKyAgICA+CitzdHJ1Y3QgbGFtYmRhPAorICAgICAgICAgIGJpbmQzPCBGLFQxLFQyLFQzID4KKyAgICAgICAgLCBUYWcKKyAgICAgICAKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgZmFsc2VfIGlzX2xlOworICAgIHR5cGVkZWYgYmluZDM8CisgICAgICAgICAgRgorICAgICAgICAsIFQxLCBUMiwgVDMKKyAgICAgICAgPiByZXN1bHRfOworCisgICAgdHlwZWRlZiByZXN1bHRfIHR5cGU7Cit9OworCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBJc0xFLCB0eXBlbmFtZSBUYWcKKyAgICAsIHRlbXBsYXRlPCB0eXBlbmFtZSBQMSwgdHlwZW5hbWUgUDIsIHR5cGVuYW1lIFAzLCB0eXBlbmFtZSBQNCA+IGNsYXNzIEYKKyAgICAsIHR5cGVuYW1lIEwxLCB0eXBlbmFtZSBMMiwgdHlwZW5hbWUgTDMsIHR5cGVuYW1lIEw0CisgICAgPgorc3RydWN0IGxlX3Jlc3VsdDQKK3sKKyAgICB0eXBlZGVmIEY8CisgICAgICAgICAgdHlwZW5hbWUgTDE6OnR5cGUsIHR5cGVuYW1lIEwyOjp0eXBlLCB0eXBlbmFtZSBMMzo6dHlwZQorICAgICAgICAsIHR5cGVuYW1lIEw0Ojp0eXBlCisgICAgICAgID4gcmVzdWx0XzsKKworICAgIHR5cGVkZWYgcmVzdWx0XyB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUYWcKKyAgICAsIHRlbXBsYXRlPCB0eXBlbmFtZSBQMSwgdHlwZW5hbWUgUDIsIHR5cGVuYW1lIFAzLCB0eXBlbmFtZSBQNCA+IGNsYXNzIEYKKyAgICAsIHR5cGVuYW1lIEwxLCB0eXBlbmFtZSBMMiwgdHlwZW5hbWUgTDMsIHR5cGVuYW1lIEw0CisgICAgPgorc3RydWN0IGxlX3Jlc3VsdDQ8IHRydWVfLFRhZyxGLEwxLEwyLEwzLEw0ID4KK3sKKyAgICB0eXBlZGVmIGJpbmQ0PAorICAgICAgICAgIHF1b3RlNDwgRixUYWcgPgorICAgICAgICAsIHR5cGVuYW1lIEwxOjpyZXN1bHRfLCB0eXBlbmFtZSBMMjo6cmVzdWx0XywgdHlwZW5hbWUgTDM6OnJlc3VsdF8KKyAgICAgICAgLCB0eXBlbmFtZSBMNDo6cmVzdWx0XworICAgICAgICA+IHJlc3VsdF87CisKKyAgICB0eXBlZGVmIG1wbDo6cHJvdGVjdDxyZXN1bHRfPiB0eXBlOworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK3RlbXBsYXRlPAorICAgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFAxLCB0eXBlbmFtZSBQMiwgdHlwZW5hbWUgUDMsIHR5cGVuYW1lIFA0ID4gY2xhc3MgRgorICAgICwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFRhZworICAgID4KK3N0cnVjdCBsYW1iZGE8CisgICAgICAgICAgRjwgVDEsVDIsVDMsVDQgPgorICAgICAgICAsIFRhZworICAgICAgIAorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiBsYW1iZGE8IFQxLFRhZyA+IGwxOworICAgIHR5cGVkZWYgbGFtYmRhPCBUMixUYWcgPiBsMjsKKyAgICB0eXBlZGVmIGxhbWJkYTwgVDMsVGFnID4gbDM7CisgICAgdHlwZWRlZiBsYW1iZGE8IFQ0LFRhZyA+IGw0OworICAgIAorICAgIHR5cGVkZWYgdHlwZW5hbWUgbDE6OmlzX2xlIGlzX2xlMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGwyOjppc19sZSBpc19sZTI7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsMzo6aXNfbGUgaXNfbGUzOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbDQ6OmlzX2xlIGlzX2xlNDsKKyAgICAKKworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXV4OjpsYW1iZGFfb3I8CisgICAgICAgICAgaXNfbGUxOjp2YWx1ZSwgaXNfbGUyOjp2YWx1ZSwgaXNfbGUzOjp2YWx1ZSwgaXNfbGU0Ojp2YWx1ZQorICAgICAgICA+Ojp0eXBlIGlzX2xlOworCisgICAgdHlwZWRlZiBhdXg6OmxlX3Jlc3VsdDQ8CisgICAgICAgICAgaXNfbGUsIFRhZywgRiwgbDEsIGwyLCBsMywgbDQKKyAgICAgICAgPiBsZV9yZXN1bHRfOworCisgICAgdHlwZWRlZiB0eXBlbmFtZSBsZV9yZXN1bHRfOjpyZXN1bHRfIHJlc3VsdF87CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsZV9yZXN1bHRfOjp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUYWcKKyAgICA+CitzdHJ1Y3QgbGFtYmRhPAorICAgICAgICAgIGJpbmQ0PCBGLFQxLFQyLFQzLFQ0ID4KKyAgICAgICAgLCBUYWcKKyAgICAgICAKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgZmFsc2VfIGlzX2xlOworICAgIHR5cGVkZWYgYmluZDQ8CisgICAgICAgICAgRgorICAgICAgICAsIFQxLCBUMiwgVDMsIFQ0CisgICAgICAgID4gcmVzdWx0XzsKKworICAgIHR5cGVkZWYgcmVzdWx0XyB0eXBlOworfTsKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgSXNMRSwgdHlwZW5hbWUgVGFnCisgICAgLCB0ZW1wbGF0ZTwgdHlwZW5hbWUgUDEsIHR5cGVuYW1lIFAyLCB0eXBlbmFtZSBQMywgdHlwZW5hbWUgUDQsIHR5cGVuYW1lIFA1ID4gY2xhc3MgRgorICAgICwgdHlwZW5hbWUgTDEsIHR5cGVuYW1lIEwyLCB0eXBlbmFtZSBMMywgdHlwZW5hbWUgTDQsIHR5cGVuYW1lIEw1CisgICAgPgorc3RydWN0IGxlX3Jlc3VsdDUKK3sKKyAgICB0eXBlZGVmIEY8CisgICAgICAgICAgdHlwZW5hbWUgTDE6OnR5cGUsIHR5cGVuYW1lIEwyOjp0eXBlLCB0eXBlbmFtZSBMMzo6dHlwZQorICAgICAgICAsIHR5cGVuYW1lIEw0Ojp0eXBlLCB0eXBlbmFtZSBMNTo6dHlwZQorICAgICAgICA+IHJlc3VsdF87CisKKyAgICB0eXBlZGVmIHJlc3VsdF8gdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVGFnCisgICAgLCB0ZW1wbGF0ZTwgdHlwZW5hbWUgUDEsIHR5cGVuYW1lIFAyLCB0eXBlbmFtZSBQMywgdHlwZW5hbWUgUDQsIHR5cGVuYW1lIFA1ID4gY2xhc3MgRgorICAgICwgdHlwZW5hbWUgTDEsIHR5cGVuYW1lIEwyLCB0eXBlbmFtZSBMMywgdHlwZW5hbWUgTDQsIHR5cGVuYW1lIEw1CisgICAgPgorc3RydWN0IGxlX3Jlc3VsdDU8IHRydWVfLFRhZyxGLEwxLEwyLEwzLEw0LEw1ID4KK3sKKyAgICB0eXBlZGVmIGJpbmQ1PAorICAgICAgICAgIHF1b3RlNTwgRixUYWcgPgorICAgICAgICAsIHR5cGVuYW1lIEwxOjpyZXN1bHRfLCB0eXBlbmFtZSBMMjo6cmVzdWx0XywgdHlwZW5hbWUgTDM6OnJlc3VsdF8KKyAgICAgICAgLCB0eXBlbmFtZSBMNDo6cmVzdWx0XywgdHlwZW5hbWUgTDU6OnJlc3VsdF8KKyAgICAgICAgPiByZXN1bHRfOworCisgICAgdHlwZWRlZiBtcGw6OnByb3RlY3Q8cmVzdWx0Xz4gdHlwZTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCit0ZW1wbGF0ZTwKKyAgICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFAxLCB0eXBlbmFtZSBQMiwgdHlwZW5hbWUgUDMsIHR5cGVuYW1lIFA0CisgICAgICAgICwgdHlwZW5hbWUgUDUKKyAgICAgICAgPgorICAgICAgY2xhc3MgRgorICAgICwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQsIHR5cGVuYW1lIFQ1CisgICAgLCB0eXBlbmFtZSBUYWcKKyAgICA+CitzdHJ1Y3QgbGFtYmRhPAorICAgICAgICAgIEY8IFQxLFQyLFQzLFQ0LFQ1ID4KKyAgICAgICAgLCBUYWcKKyAgICAgICAKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgbGFtYmRhPCBUMSxUYWcgPiBsMTsKKyAgICB0eXBlZGVmIGxhbWJkYTwgVDIsVGFnID4gbDI7CisgICAgdHlwZWRlZiBsYW1iZGE8IFQzLFRhZyA+IGwzOworICAgIHR5cGVkZWYgbGFtYmRhPCBUNCxUYWcgPiBsNDsKKyAgICB0eXBlZGVmIGxhbWJkYTwgVDUsVGFnID4gbDU7CisgICAgCisgICAgdHlwZWRlZiB0eXBlbmFtZSBsMTo6aXNfbGUgaXNfbGUxOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbDI6OmlzX2xlIGlzX2xlMjsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGwzOjppc19sZSBpc19sZTM7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsNDo6aXNfbGUgaXNfbGU0OworICAgIHR5cGVkZWYgdHlwZW5hbWUgbDU6OmlzX2xlIGlzX2xlNTsKKyAgICAKKworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXV4OjpsYW1iZGFfb3I8CisgICAgICAgICAgaXNfbGUxOjp2YWx1ZSwgaXNfbGUyOjp2YWx1ZSwgaXNfbGUzOjp2YWx1ZSwgaXNfbGU0Ojp2YWx1ZQorICAgICAgICAsIGlzX2xlNTo6dmFsdWUKKyAgICAgICAgPjo6dHlwZSBpc19sZTsKKworICAgIHR5cGVkZWYgYXV4OjpsZV9yZXN1bHQ1PAorICAgICAgICAgIGlzX2xlLCBUYWcsIEYsIGwxLCBsMiwgbDMsIGw0LCBsNQorICAgICAgICA+IGxlX3Jlc3VsdF87CisKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxlX3Jlc3VsdF86OnJlc3VsdF8gcmVzdWx0XzsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxlX3Jlc3VsdF86OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1CisgICAgLCB0eXBlbmFtZSBUYWcKKyAgICA+CitzdHJ1Y3QgbGFtYmRhPAorICAgICAgICAgIGJpbmQ1PCBGLFQxLFQyLFQzLFQ0LFQ1ID4KKyAgICAgICAgLCBUYWcKKyAgICAgICAKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgZmFsc2VfIGlzX2xlOworICAgIHR5cGVkZWYgYmluZDU8CisgICAgICAgICAgRgorICAgICAgICAsIFQxLCBUMiwgVDMsIFQ0LCBUNQorICAgICAgICA+IHJlc3VsdF87CisKKyAgICB0eXBlZGVmIHJlc3VsdF8gdHlwZTsKK307CisKKy8vLyBzcGVjaWFsIGNhc2UgZm9yICdwcm90ZWN0JwordGVtcGxhdGU8IHR5cGVuYW1lIFQsIHR5cGVuYW1lIFRhZyA+CitzdHJ1Y3QgbGFtYmRhPCBtcGw6OnByb3RlY3Q8VD4sIFRhZyA+Cit7CisgICAgdHlwZWRlZiBmYWxzZV8gaXNfbGU7CisgICAgdHlwZWRlZiBtcGw6OnByb3RlY3Q8VD4gcmVzdWx0XzsKKyAgICB0eXBlZGVmIHJlc3VsdF8gdHlwZTsKK307CisKKy8vLyBzcGVjaWFsaXphdGlvbnMgZm9yIHRoZSBtYWluICdiaW5kJyBmb3JtCisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1CisgICAgLCB0eXBlbmFtZSBUYWcKKyAgICA+CitzdHJ1Y3QgbGFtYmRhPAorICAgICAgICAgIGJpbmQ8IEYsVDEsVDIsVDMsVDQsVDUgPgorICAgICAgICAsIFRhZworICAgICAgIAorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiBmYWxzZV8gaXNfbGU7CisgICAgdHlwZWRlZiBiaW5kPCBGLFQxLFQyLFQzLFQ0LFQ1ID4gcmVzdWx0XzsKKyAgICB0eXBlZGVmIHJlc3VsdF8gdHlwZTsKK307CisKKy8vLyB3b3JrYXJvdW5kIGZvciBNV0NXIDguMysvRURHIDwgMzAzLCBsZWFkcyB0byBhbWJpZ3VpdHkgb24gRGlnaXRhbCBNYXJzCisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVGFnMSwgdHlwZW5hbWUgVGFnMgorICAgID4KK3N0cnVjdCBsYW1iZGE8CisgICAgICAgICAgbGFtYmRhPCBGLFRhZzEgPgorICAgICAgICAsIFRhZzIKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgbGFtYmRhPCBGLFRhZzIgPiBsMTsKKyAgICB0eXBlZGVmIGxhbWJkYTwgVGFnMSxUYWcyID4gbDI7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsMTo6aXNfbGUgaXNfbGU7CisgICAgdHlwZWRlZiBhdXg6OmxlX3Jlc3VsdDI8aXNfbGUsIFRhZzIsIG1wbDo6bGFtYmRhLCBsMSwgbDI+IGxlX3Jlc3VsdF87CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsZV9yZXN1bHRfOjpyZXN1bHRfIHJlc3VsdF87CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsZV9yZXN1bHRfOjp0eXBlIHR5cGU7Cit9OworCitCT09TVF9NUExfQVVYX05BX1NQRUMoMiwgbGFtYmRhKQorCit9fQorCmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fdHRwL2dyZWF0ZXIuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL25vX3R0cC9ncmVhdGVyLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kY2UxYWUxCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL25vX3R0cC9ncmVhdGVyLmhwcApAQCAtMCwwICsxLDk4IEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9ncmVhdGVyLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFRhZzEKKyAgICAsIHR5cGVuYW1lIFRhZzIKKyAgICA+CitzdHJ1Y3QgZ3JlYXRlcl9pbXBsCisgICAgOiBpZl9jPAorICAgICAgICAgICggQk9PU1RfTVBMX0FVWF9ORVNURURfVkFMVUVfV0tORChpbnQsIFRhZzEpCisgICAgICAgICAgICAgID4gQk9PU1RfTVBMX0FVWF9ORVNURURfVkFMVUVfV0tORChpbnQsIFRhZzIpCisgICAgICAgICAgICApCisKKyAgICAgICAgLCBhdXg6OmNhc3QybmRfaW1wbDwgZ3JlYXRlcl9pbXBsPCBUYWcxLFRhZzEgPixUYWcxLCBUYWcyID4KKyAgICAgICAgLCBhdXg6OmNhc3Qxc3RfaW1wbDwgZ3JlYXRlcl9pbXBsPCBUYWcyLFRhZzIgPixUYWcxLCBUYWcyID4KKyAgICAgICAgPjo6dHlwZQoreworfTsKKworLy8vIGZvciBEaWdpdGFsIE1hcnMgQysrL2NvbXBpbGVycyB3aXRoIG5vIENUUFMvVFRQIHN1cHBvcnQKK3RlbXBsYXRlPD4gc3RydWN0IGdyZWF0ZXJfaW1wbDwgbmEsbmEgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUYWcgPiBzdHJ1Y3QgZ3JlYXRlcl9pbXBsPCBuYSxUYWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUYWcgPiBzdHJ1Y3QgZ3JlYXRlcl9pbXBsPCBUYWcsbmEgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUID4gc3RydWN0IGdyZWF0ZXJfdGFnCit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBUOjp0YWcgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMSkKKyAgICAsIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjIpCisgICAgPgorc3RydWN0IGdyZWF0ZXIKKworICAgIDogZ3JlYXRlcl9pbXBsPAorICAgICAgICAgIHR5cGVuYW1lIGdyZWF0ZXJfdGFnPE4xPjo6dHlwZQorICAgICAgICAsIHR5cGVuYW1lIGdyZWF0ZXJfdGFnPE4yPjo6dHlwZQorICAgICAgICA+Ojp0ZW1wbGF0ZSBhcHBseTwgTjEsTjIgPjo6dHlwZQoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoMiwgZ3JlYXRlciwgKE4xLCBOMikpCisKK307CisKK0JPT1NUX01QTF9BVVhfTkFfU1BFQzIoMiwgMiwgZ3JlYXRlcikKKworfX0KKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBncmVhdGVyX2ltcGw8IGludGVncmFsX2NfdGFnLGludGVncmFsX2NfdGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgTjEsIHR5cGVuYW1lIE4yID4gc3RydWN0IGFwcGx5CisKKyAgICB7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChib29sLCB2YWx1ZSA9CisgICAgICAgICAgICAgKCBCT09TVF9NUExfQVVYX1ZBTFVFX1dLTkQoTjEpOjp2YWx1ZSA+CisgICAgICAgICAgICAgQk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4yKTo6dmFsdWUgKQorICAgICAgICAgICAgKTsKKyAgICAgICAgdHlwZWRlZiBib29sXzx2YWx1ZT4gdHlwZTsKKyAgICB9OworfTsKKworfX0KZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9ub190dHAvZ3JlYXRlcl9lcXVhbC5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fdHRwL2dyZWF0ZXJfZXF1YWwuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjliZGZkYTUKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fdHRwL2dyZWF0ZXJfZXF1YWwuaHBwCkBAIC0wLDAgKzEsOTggQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL2dyZWF0ZXJfZXF1YWwuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVGFnMQorICAgICwgdHlwZW5hbWUgVGFnMgorICAgID4KK3N0cnVjdCBncmVhdGVyX2VxdWFsX2ltcGwKKyAgICA6IGlmX2M8CisgICAgICAgICAgKCBCT09TVF9NUExfQVVYX05FU1RFRF9WQUxVRV9XS05EKGludCwgVGFnMSkKKyAgICAgICAgICAgICAgPiBCT09TVF9NUExfQVVYX05FU1RFRF9WQUxVRV9XS05EKGludCwgVGFnMikKKyAgICAgICAgICAgICkKKworICAgICAgICAsIGF1eDo6Y2FzdDJuZF9pbXBsPCBncmVhdGVyX2VxdWFsX2ltcGw8IFRhZzEsVGFnMSA+LFRhZzEsIFRhZzIgPgorICAgICAgICAsIGF1eDo6Y2FzdDFzdF9pbXBsPCBncmVhdGVyX2VxdWFsX2ltcGw8IFRhZzIsVGFnMiA+LFRhZzEsIFRhZzIgPgorICAgICAgICA+Ojp0eXBlCit7Cit9OworCisvLy8gZm9yIERpZ2l0YWwgTWFycyBDKysvY29tcGlsZXJzIHdpdGggbm8gQ1RQUy9UVFAgc3VwcG9ydAordGVtcGxhdGU8PiBzdHJ1Y3QgZ3JlYXRlcl9lcXVhbF9pbXBsPCBuYSxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFRhZyA+IHN0cnVjdCBncmVhdGVyX2VxdWFsX2ltcGw8IG5hLFRhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFRhZyA+IHN0cnVjdCBncmVhdGVyX2VxdWFsX2ltcGw8IFRhZyxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFQgPiBzdHJ1Y3QgZ3JlYXRlcl9lcXVhbF90YWcKK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIFQ6OnRhZyB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4xKQorICAgICwgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMikKKyAgICA+CitzdHJ1Y3QgZ3JlYXRlcl9lcXVhbAorCisgICAgOiBncmVhdGVyX2VxdWFsX2ltcGw8CisgICAgICAgICAgdHlwZW5hbWUgZ3JlYXRlcl9lcXVhbF90YWc8TjE+Ojp0eXBlCisgICAgICAgICwgdHlwZW5hbWUgZ3JlYXRlcl9lcXVhbF90YWc8TjI+Ojp0eXBlCisgICAgICAgID46OnRlbXBsYXRlIGFwcGx5PCBOMSxOMiA+Ojp0eXBlCit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgyLCBncmVhdGVyX2VxdWFsLCAoTjEsIE4yKSkKKworfTsKKworQk9PU1RfTVBMX0FVWF9OQV9TUEVDMigyLCAyLCBncmVhdGVyX2VxdWFsKQorCit9fQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8Pgorc3RydWN0IGdyZWF0ZXJfZXF1YWxfaW1wbDwgaW50ZWdyYWxfY190YWcsaW50ZWdyYWxfY190YWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBOMSwgdHlwZW5hbWUgTjIgPiBzdHJ1Y3QgYXBwbHkKKworICAgIHsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGJvb2wsIHZhbHVlID0KKyAgICAgICAgICAgICAoIEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChOMSk6OnZhbHVlID49CisgICAgICAgICAgICAgQk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4yKTo6dmFsdWUgKQorICAgICAgICAgICAgKTsKKyAgICAgICAgdHlwZWRlZiBib29sXzx2YWx1ZT4gdHlwZTsKKyAgICB9OworfTsKKworfX0KZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9ub190dHAvaW5oZXJpdC5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fdHRwL2luaGVyaXQuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQxZjM4N2YKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fdHRwL2luaGVyaXQuaHBwCkBAIC0wLDAgKzEsMTQxIEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDEtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9pbmhlcml0LmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oVDEpCisgICAgLCB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKFQyKQorICAgID4KK3N0cnVjdCBpbmhlcml0MgorICAgIDogVDEsIFQyCit7CisgICAgdHlwZWRlZiBpbmhlcml0MiB0eXBlOworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoMiwgaW5oZXJpdDIsIChUMSwgVDIpKQorfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFQxID4KK3N0cnVjdCBpbmhlcml0MjwgVDEsZW1wdHlfYmFzZSA+Cit7CisgICAgdHlwZWRlZiBUMSB0eXBlOworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlRfU1BFQygyLCBpbmhlcml0MiwgKFQxLCBlbXB0eV9iYXNlKSkKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUMiA+CitzdHJ1Y3QgaW5oZXJpdDI8IGVtcHR5X2Jhc2UsVDIgPgoreworICAgIHR5cGVkZWYgVDIgdHlwZTsKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUX1NQRUMoMiwgaW5oZXJpdDIsIChlbXB0eV9iYXNlLCBUMikpCit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgaW5oZXJpdDI8IGVtcHR5X2Jhc2UsZW1wdHlfYmFzZSA+Cit7CisgICAgdHlwZWRlZiBlbXB0eV9iYXNlIHR5cGU7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVF9TUEVDKDIsIGluaGVyaXQyLCAoZW1wdHlfYmFzZSwgZW1wdHlfYmFzZSkpCit9OworCitCT09TVF9NUExfQVVYX05BX1NQRUMoMiwgaW5oZXJpdDIpCisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDEgPSBuYSwgdHlwZW5hbWUgVDIgPSBuYSwgdHlwZW5hbWUgVDMgPSBuYQorICAgID4KK3N0cnVjdCBpbmhlcml0MworICAgIDogaW5oZXJpdDI8CisgICAgICAgICAgdHlwZW5hbWUgaW5oZXJpdDI8CisgICAgICAgICAgICAgIFQxLCBUMgorICAgICAgICAgICAgPjo6dHlwZQorICAgICAgICAsIFQzCisgICAgICAgID4KK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKAorICAgICAgICAgIDMKKyAgICAgICAgLCBpbmhlcml0MworICAgICAgICAsICggVDEsIFQyLCBUMykKKyAgICAgICAgKQorfTsKKworQk9PU1RfTVBMX0FVWF9OQV9TUEVDKDMsIGluaGVyaXQzKQorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQxID0gbmEsIHR5cGVuYW1lIFQyID0gbmEsIHR5cGVuYW1lIFQzID0gbmEsIHR5cGVuYW1lIFQ0ID0gbmEKKyAgICA+CitzdHJ1Y3QgaW5oZXJpdDQKKyAgICA6IGluaGVyaXQyPAorICAgICAgICAgIHR5cGVuYW1lIGluaGVyaXQzPAorICAgICAgICAgICAgICBUMSwgVDIsIFQzCisgICAgICAgICAgICA+Ojp0eXBlCisgICAgICAgICwgVDQKKyAgICAgICAgPgoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoCisgICAgICAgICAgNAorICAgICAgICAsIGluaGVyaXQ0CisgICAgICAgICwgKCBUMSwgVDIsIFQzLCBUNCkKKyAgICAgICAgKQorfTsKKworQk9PU1RfTVBMX0FVWF9OQV9TUEVDKDQsIGluaGVyaXQ0KQorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQxID0gbmEsIHR5cGVuYW1lIFQyID0gbmEsIHR5cGVuYW1lIFQzID0gbmEsIHR5cGVuYW1lIFQ0ID0gbmEKKyAgICAsIHR5cGVuYW1lIFQ1ID0gbmEKKyAgICA+CitzdHJ1Y3QgaW5oZXJpdDUKKyAgICA6IGluaGVyaXQyPAorICAgICAgICAgIHR5cGVuYW1lIGluaGVyaXQ0PAorICAgICAgICAgICAgICBUMSwgVDIsIFQzLCBUNAorICAgICAgICAgICAgPjo6dHlwZQorICAgICAgICAsIFQ1CisgICAgICAgID4KK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKAorICAgICAgICAgIDUKKyAgICAgICAgLCBpbmhlcml0NQorICAgICAgICAsICggVDEsIFQyLCBUMywgVDQsIFQ1KQorICAgICAgICApCit9OworCitCT09TVF9NUExfQVVYX05BX1NQRUMoNSwgaW5oZXJpdDUpCisKKy8vLyBwcmltYXJ5IHRlbXBsYXRlCisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDEgPSBlbXB0eV9iYXNlLCB0eXBlbmFtZSBUMiA9IGVtcHR5X2Jhc2UKKyAgICAsIHR5cGVuYW1lIFQzID0gZW1wdHlfYmFzZSwgdHlwZW5hbWUgVDQgPSBlbXB0eV9iYXNlCisgICAgLCB0eXBlbmFtZSBUNSA9IGVtcHR5X2Jhc2UKKyAgICA+CitzdHJ1Y3QgaW5oZXJpdAorICAgIDogaW5oZXJpdDU8IFQxLFQyLFQzLFQ0LFQ1ID4KK3sKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBpbmhlcml0PCBuYSxuYSxuYSxuYSxuYSA+Cit7CisgICAgdGVtcGxhdGU8CisKKyAgICAgICAgICB0eXBlbmFtZSBUMSA9IGVtcHR5X2Jhc2UsIHR5cGVuYW1lIFQyID0gZW1wdHlfYmFzZQorICAgICAgICAsIHR5cGVuYW1lIFQzID0gZW1wdHlfYmFzZSwgdHlwZW5hbWUgVDQgPSBlbXB0eV9iYXNlCisgICAgICAgICwgdHlwZW5hbWUgVDUgPSBlbXB0eV9iYXNlCisKKyAgICAgICAgPgorICAgIHN0cnVjdCBhcHBseQorICAgICAgICA6IGluaGVyaXQ8IFQxLFQyLFQzLFQ0LFQ1ID4KKyAgICB7CisgICAgfTsKK307CisKK0JPT1NUX01QTF9BVVhfTkFfU1BFQ19MQU1CREEoNSwgaW5oZXJpdCkKK0JPT1NUX01QTF9BVVhfTkFfU1BFQ19BUklUWSg1LCBpbmhlcml0KQorQk9PU1RfTVBMX0FVWF9OQV9TUEVDX1RFTVBMQVRFX0FSSVRZKDUsIDUsIGluaGVyaXQpCit9fQorCmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fdHRwL2l0ZXJfZm9sZF9pZl9pbXBsLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9ub190dHAvaXRlcl9mb2xkX2lmX2ltcGwuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIwYTI4NjQKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fdHRwL2l0ZXJfZm9sZF9pZl9pbXBsLmhwcApAQCAtMCwwICsxLDEzMyBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAxLTIwMDQKKy8vIENvcHlyaWdodCBEYXZpZCBBYnJhaGFtcyAyMDAxLTIwMDIKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvYXV4Xy9pdGVyX2ZvbGRfaWZfaW1wbC5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsgbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBJdGVyYXRvciwgdHlwZW5hbWUgU3RhdGUgPgorc3RydWN0IGl0ZXJfZm9sZF9pZl9udWxsX3N0ZXAKK3sKKyAgICB0eXBlZGVmIFN0YXRlIHN0YXRlOworICAgIHR5cGVkZWYgSXRlcmF0b3IgaXRlcmF0b3I7Cit9OworCit0ZW1wbGF0ZTwgYm9vbCA+CitzdHJ1Y3QgaXRlcl9mb2xkX2lmX3N0ZXBfaW1wbAoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIEl0ZXJhdG9yCisgICAgICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAgICAgLCB0eXBlbmFtZSBTdGF0ZU9wCisgICAgICAgICwgdHlwZW5hbWUgSXRlcmF0b3JPcAorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBTdGF0ZU9wLFN0YXRlLEl0ZXJhdG9yID46OnR5cGUgc3RhdGU7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgSXRlcmF0b3JPcDo6dHlwZSBpdGVyYXRvcjsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGl0ZXJfZm9sZF9pZl9zdGVwX2ltcGw8ZmFsc2U+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgSXRlcmF0b3IKKyAgICAgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICAgICAsIHR5cGVuYW1lIFN0YXRlT3AKKyAgICAgICAgLCB0eXBlbmFtZSBJdGVyYXRvck9wCisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiBTdGF0ZSBzdGF0ZTsKKyAgICAgICAgdHlwZWRlZiBJdGVyYXRvciBpdGVyYXRvcjsKKyAgICB9OworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBJdGVyYXRvcgorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgICwgdHlwZW5hbWUgUHJlZGljYXRlCisgICAgPgorc3RydWN0IGl0ZXJfZm9sZF9pZl9mb3J3YXJkX3N0ZXAKK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgUHJlZGljYXRlLFN0YXRlLEl0ZXJhdG9yID46OnR5cGUgbm90X2xhc3Q7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBpdGVyX2ZvbGRfaWZfc3RlcF9pbXBsPAorICAgICAgICAgIEJPT1NUX01QTF9BVVhfTVNWQ19WQUxVRV9XS05EKG5vdF9sYXN0KTo6dmFsdWUKKyAgICAgICAgPjo6dGVtcGxhdGUgcmVzdWx0XzwgSXRlcmF0b3IsU3RhdGUsRm9yd2FyZE9wLCBtcGw6Om5leHQ8SXRlcmF0b3I+ID4gaW1wbF87CisKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGltcGxfOjpzdGF0ZSBzdGF0ZTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGltcGxfOjppdGVyYXRvciBpdGVyYXRvcjsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgSXRlcmF0b3IKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBCYWNrd2FyZE9wCisgICAgLCB0eXBlbmFtZSBQcmVkaWNhdGUKKyAgICA+CitzdHJ1Y3QgaXRlcl9mb2xkX2lmX2JhY2t3YXJkX3N0ZXAKK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgUHJlZGljYXRlLFN0YXRlLEl0ZXJhdG9yID46OnR5cGUgbm90X2xhc3Q7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBpdGVyX2ZvbGRfaWZfc3RlcF9pbXBsPAorICAgICAgICAgIEJPT1NUX01QTF9BVVhfTVNWQ19WQUxVRV9XS05EKG5vdF9sYXN0KTo6dmFsdWUKKyAgICAgICAgPjo6dGVtcGxhdGUgcmVzdWx0XzwgSXRlcmF0b3IsU3RhdGUsQmFja3dhcmRPcCwgaWRlbnRpdHk8SXRlcmF0b3I+ID4gaW1wbF87CisKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGltcGxfOjpzdGF0ZSBzdGF0ZTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGltcGxfOjppdGVyYXRvciBpdGVyYXRvcjsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgSXRlcmF0b3IKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRQcmVkaWNhdGUKKyAgICAsIHR5cGVuYW1lIEJhY2t3YXJkT3AKKyAgICAsIHR5cGVuYW1lIEJhY2t3YXJkUHJlZGljYXRlCisgICAgPgorc3RydWN0IGl0ZXJfZm9sZF9pZl9pbXBsCit7CisgcHJpdmF0ZToKKyAgICB0eXBlZGVmIGl0ZXJfZm9sZF9pZl9udWxsX3N0ZXA8IEl0ZXJhdG9yLFN0YXRlID4gZm9yd2FyZF9zdGVwMDsKKyAgICB0eXBlZGVmIGl0ZXJfZm9sZF9pZl9mb3J3YXJkX3N0ZXA8IHR5cGVuYW1lIGZvcndhcmRfc3RlcDA6Oml0ZXJhdG9yLCB0eXBlbmFtZSBmb3J3YXJkX3N0ZXAwOjpzdGF0ZSwgRm9yd2FyZE9wLCBGb3J3YXJkUHJlZGljYXRlID4gZm9yd2FyZF9zdGVwMTsKKyAgICB0eXBlZGVmIGl0ZXJfZm9sZF9pZl9mb3J3YXJkX3N0ZXA8IHR5cGVuYW1lIGZvcndhcmRfc3RlcDE6Oml0ZXJhdG9yLCB0eXBlbmFtZSBmb3J3YXJkX3N0ZXAxOjpzdGF0ZSwgRm9yd2FyZE9wLCBGb3J3YXJkUHJlZGljYXRlID4gZm9yd2FyZF9zdGVwMjsKKyAgICB0eXBlZGVmIGl0ZXJfZm9sZF9pZl9mb3J3YXJkX3N0ZXA8IHR5cGVuYW1lIGZvcndhcmRfc3RlcDI6Oml0ZXJhdG9yLCB0eXBlbmFtZSBmb3J3YXJkX3N0ZXAyOjpzdGF0ZSwgRm9yd2FyZE9wLCBGb3J3YXJkUHJlZGljYXRlID4gZm9yd2FyZF9zdGVwMzsKKyAgICB0eXBlZGVmIGl0ZXJfZm9sZF9pZl9mb3J3YXJkX3N0ZXA8IHR5cGVuYW1lIGZvcndhcmRfc3RlcDM6Oml0ZXJhdG9yLCB0eXBlbmFtZSBmb3J3YXJkX3N0ZXAzOjpzdGF0ZSwgRm9yd2FyZE9wLCBGb3J3YXJkUHJlZGljYXRlID4gZm9yd2FyZF9zdGVwNDsKKyAgICAKKworICAgIHR5cGVkZWYgdHlwZW5hbWUgaWZfPAorICAgICAgICAgIHR5cGVuYW1lIGZvcndhcmRfc3RlcDQ6Om5vdF9sYXN0CisgICAgICAgICwgaXRlcl9mb2xkX2lmX2ltcGw8CisgICAgICAgICAgICAgIHR5cGVuYW1lIGZvcndhcmRfc3RlcDQ6Oml0ZXJhdG9yCisgICAgICAgICAgICAsIHR5cGVuYW1lIGZvcndhcmRfc3RlcDQ6OnN0YXRlCisgICAgICAgICAgICAsIEZvcndhcmRPcAorICAgICAgICAgICAgLCBGb3J3YXJkUHJlZGljYXRlCisgICAgICAgICAgICAsIEJhY2t3YXJkT3AKKyAgICAgICAgICAgICwgQmFja3dhcmRQcmVkaWNhdGUKKyAgICAgICAgICAgID4KKyAgICAgICAgLCBpdGVyX2ZvbGRfaWZfbnVsbF9zdGVwPAorICAgICAgICAgICAgICB0eXBlbmFtZSBmb3J3YXJkX3N0ZXA0OjppdGVyYXRvcgorICAgICAgICAgICAgLCB0eXBlbmFtZSBmb3J3YXJkX3N0ZXA0OjpzdGF0ZQorICAgICAgICAgICAgPgorICAgICAgICA+Ojp0eXBlIGJhY2t3YXJkX3N0ZXA0OworCisgICAgdHlwZWRlZiBpdGVyX2ZvbGRfaWZfYmFja3dhcmRfc3RlcDwgdHlwZW5hbWUgZm9yd2FyZF9zdGVwMzo6aXRlcmF0b3IsIHR5cGVuYW1lIGJhY2t3YXJkX3N0ZXA0OjpzdGF0ZSwgQmFja3dhcmRPcCwgQmFja3dhcmRQcmVkaWNhdGUgPiBiYWNrd2FyZF9zdGVwMzsKKyAgICB0eXBlZGVmIGl0ZXJfZm9sZF9pZl9iYWNrd2FyZF9zdGVwPCB0eXBlbmFtZSBmb3J3YXJkX3N0ZXAyOjppdGVyYXRvciwgdHlwZW5hbWUgYmFja3dhcmRfc3RlcDM6OnN0YXRlLCBCYWNrd2FyZE9wLCBCYWNrd2FyZFByZWRpY2F0ZSA+IGJhY2t3YXJkX3N0ZXAyOworICAgIHR5cGVkZWYgaXRlcl9mb2xkX2lmX2JhY2t3YXJkX3N0ZXA8IHR5cGVuYW1lIGZvcndhcmRfc3RlcDE6Oml0ZXJhdG9yLCB0eXBlbmFtZSBiYWNrd2FyZF9zdGVwMjo6c3RhdGUsIEJhY2t3YXJkT3AsIEJhY2t3YXJkUHJlZGljYXRlID4gYmFja3dhcmRfc3RlcDE7CisgICAgdHlwZWRlZiBpdGVyX2ZvbGRfaWZfYmFja3dhcmRfc3RlcDwgdHlwZW5hbWUgZm9yd2FyZF9zdGVwMDo6aXRlcmF0b3IsIHR5cGVuYW1lIGJhY2t3YXJkX3N0ZXAxOjpzdGF0ZSwgQmFja3dhcmRPcCwgQmFja3dhcmRQcmVkaWNhdGUgPiBiYWNrd2FyZF9zdGVwMDsKKyAgICAKKworIHB1YmxpYzoKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGJhY2t3YXJkX3N0ZXAwOjpzdGF0ZSBzdGF0ZTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGJhY2t3YXJkX3N0ZXA0OjppdGVyYXRvciBpdGVyYXRvcjsKK307CisKK319fQpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL25vX3R0cC9pdGVyX2ZvbGRfaW1wbC5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fdHRwL2l0ZXJfZm9sZF9pbXBsLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jYzA4YjMwCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL25vX3R0cC9pdGVyX2ZvbGRfaW1wbC5ocHAKQEAgLTAsMCArMSwxODAgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL2F1eF8vaXRlcl9mb2xkX2ltcGwuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7IG5hbWVzcGFjZSBhdXggeworCisvLy8gZm9yd2FyZCBkZWNsYXJhdGlvbgorCit0ZW1wbGF0ZTwKKyAgICAgIGludCBOCisgICAgLCB0eXBlbmFtZSBGaXJzdAorICAgICwgdHlwZW5hbWUgTGFzdAorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgID4KK3N0cnVjdCBpdGVyX2ZvbGRfaW1wbDsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGaXJzdAorICAgICwgdHlwZW5hbWUgTGFzdAorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgID4KK3N0cnVjdCBpdGVyX2ZvbGRfaW1wbDwgMCxGaXJzdCxMYXN0LFN0YXRlLEZvcndhcmRPcCA+Cit7CisgICAgdHlwZWRlZiBGaXJzdCBpdGVyMDsKKyAgICB0eXBlZGVmIFN0YXRlIHN0YXRlMDsKKyAgICB0eXBlZGVmIHN0YXRlMCBzdGF0ZTsKKyAgICB0eXBlZGVmIGl0ZXIwIGl0ZXJhdG9yOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGaXJzdAorICAgICwgdHlwZW5hbWUgTGFzdAorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgID4KK3N0cnVjdCBpdGVyX2ZvbGRfaW1wbDwgMSxGaXJzdCxMYXN0LFN0YXRlLEZvcndhcmRPcCA+Cit7CisgICAgdHlwZWRlZiBGaXJzdCBpdGVyMDsKKyAgICB0eXBlZGVmIFN0YXRlIHN0YXRlMDsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLHN0YXRlMCxpdGVyMCA+Ojp0eXBlIHN0YXRlMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMD46OnR5cGUgaXRlcjE7CisgICAgCisKKyAgICB0eXBlZGVmIHN0YXRlMSBzdGF0ZTsKKyAgICB0eXBlZGVmIGl0ZXIxIGl0ZXJhdG9yOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGaXJzdAorICAgICwgdHlwZW5hbWUgTGFzdAorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgID4KK3N0cnVjdCBpdGVyX2ZvbGRfaW1wbDwgMixGaXJzdCxMYXN0LFN0YXRlLEZvcndhcmRPcCA+Cit7CisgICAgdHlwZWRlZiBGaXJzdCBpdGVyMDsKKyAgICB0eXBlZGVmIFN0YXRlIHN0YXRlMDsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLHN0YXRlMCxpdGVyMCA+Ojp0eXBlIHN0YXRlMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMD46OnR5cGUgaXRlcjE7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCxzdGF0ZTEsaXRlcjEgPjo6dHlwZSBzdGF0ZTI7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjE+Ojp0eXBlIGl0ZXIyOworICAgIAorCisgICAgdHlwZWRlZiBzdGF0ZTIgc3RhdGU7CisgICAgdHlwZWRlZiBpdGVyMiBpdGVyYXRvcjsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+CitzdHJ1Y3QgaXRlcl9mb2xkX2ltcGw8IDMsRmlyc3QsTGFzdCxTdGF0ZSxGb3J3YXJkT3AgPgoreworICAgIHR5cGVkZWYgRmlyc3QgaXRlcjA7CisgICAgdHlwZWRlZiBTdGF0ZSBzdGF0ZTA7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCxzdGF0ZTAsaXRlcjAgPjo6dHlwZSBzdGF0ZTE7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjA+Ojp0eXBlIGl0ZXIxOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3Asc3RhdGUxLGl0ZXIxID46OnR5cGUgc3RhdGUyOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIxPjo6dHlwZSBpdGVyMjsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLHN0YXRlMixpdGVyMiA+Ojp0eXBlIHN0YXRlMzsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMj46OnR5cGUgaXRlcjM7CisgICAgCisKKyAgICB0eXBlZGVmIHN0YXRlMyBzdGF0ZTsKKyAgICB0eXBlZGVmIGl0ZXIzIGl0ZXJhdG9yOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGaXJzdAorICAgICwgdHlwZW5hbWUgTGFzdAorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgID4KK3N0cnVjdCBpdGVyX2ZvbGRfaW1wbDwgNCxGaXJzdCxMYXN0LFN0YXRlLEZvcndhcmRPcCA+Cit7CisgICAgdHlwZWRlZiBGaXJzdCBpdGVyMDsKKyAgICB0eXBlZGVmIFN0YXRlIHN0YXRlMDsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLHN0YXRlMCxpdGVyMCA+Ojp0eXBlIHN0YXRlMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMD46OnR5cGUgaXRlcjE7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCxzdGF0ZTEsaXRlcjEgPjo6dHlwZSBzdGF0ZTI7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjE+Ojp0eXBlIGl0ZXIyOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3Asc3RhdGUyLGl0ZXIyID46OnR5cGUgc3RhdGUzOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIyPjo6dHlwZSBpdGVyMzsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLHN0YXRlMyxpdGVyMyA+Ojp0eXBlIHN0YXRlNDsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMz46OnR5cGUgaXRlcjQ7CisgICAgCisKKyAgICB0eXBlZGVmIHN0YXRlNCBzdGF0ZTsKKyAgICB0eXBlZGVmIGl0ZXI0IGl0ZXJhdG9yOworfTsKKwordGVtcGxhdGU8CisgICAgICBpbnQgTgorICAgICwgdHlwZW5hbWUgRmlyc3QKKyAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+CitzdHJ1Y3QgaXRlcl9mb2xkX2ltcGwKK3sKKyAgICB0eXBlZGVmIGl0ZXJfZm9sZF9pbXBsPAorICAgICAgICAgIDQKKyAgICAgICAgLCBGaXJzdAorICAgICAgICAsIExhc3QKKyAgICAgICAgLCBTdGF0ZQorICAgICAgICAsIEZvcndhcmRPcAorICAgICAgICA+IGNodW5rXzsKKworICAgIHR5cGVkZWYgaXRlcl9mb2xkX2ltcGw8CisgICAgICAgICAgKCAoTiAtIDQpIDwgMCA/IDAgOiBOIC0gNCApCisgICAgICAgICwgdHlwZW5hbWUgY2h1bmtfOjppdGVyYXRvcgorICAgICAgICAsIExhc3QKKyAgICAgICAgLCB0eXBlbmFtZSBjaHVua186OnN0YXRlCisgICAgICAgICwgRm9yd2FyZE9wCisgICAgICAgID4gcmVzXzsKKworICAgIHR5cGVkZWYgdHlwZW5hbWUgcmVzXzo6c3RhdGUgc3RhdGU7CisgICAgdHlwZWRlZiB0eXBlbmFtZSByZXNfOjppdGVyYXRvciBpdGVyYXRvcjsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+CitzdHJ1Y3QgaXRlcl9mb2xkX2ltcGw8IC0xLEZpcnN0LExhc3QsU3RhdGUsRm9yd2FyZE9wID4KKyAgICA6IGl0ZXJfZm9sZF9pbXBsPAorICAgICAgICAgIC0xCisgICAgICAgICwgdHlwZW5hbWUgbXBsOjpuZXh0PEZpcnN0Pjo6dHlwZQorICAgICAgICAsIExhc3QKKyAgICAgICAgLCB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCxTdGF0ZSxGaXJzdCA+Ojp0eXBlCisgICAgICAgICwgRm9yd2FyZE9wCisgICAgICAgID4KK3sKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgTGFzdAorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgID4KK3N0cnVjdCBpdGVyX2ZvbGRfaW1wbDwgLTEsTGFzdCxMYXN0LFN0YXRlLEZvcndhcmRPcCA+Cit7CisgICAgdHlwZWRlZiBTdGF0ZSBzdGF0ZTsKKyAgICB0eXBlZGVmIExhc3QgaXRlcmF0b3I7Cit9OworCit9fX0KZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9ub190dHAvbGFtYmRhX25vX2N0cHMuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL25vX3R0cC9sYW1iZGFfbm9fY3Rwcy5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWJmYzY2MQotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9ub190dHAvbGFtYmRhX25vX2N0cHMuaHBwCkBAIC0wLDAgKzEsMjI5IEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9hdXhfL2xhbWJkYV9ub19jdHBzLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8CisgICAgICBib29sIEMxID0gZmFsc2UsIGJvb2wgQzIgPSBmYWxzZSwgYm9vbCBDMyA9IGZhbHNlLCBib29sIEM0ID0gZmFsc2UKKyAgICAsIGJvb2wgQzUgPSBmYWxzZQorICAgID4KK3N0cnVjdCBsYW1iZGFfb3IKKyAgICA6IHRydWVfCit7Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgbGFtYmRhX29yPCBmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSA+CisgICAgOiBmYWxzZV8KK3sKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBBcml0eSA+IHN0cnVjdCBsYW1iZGFfaW1wbAoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBULCB0eXBlbmFtZSBUYWcsIHR5cGVuYW1lIFByb3RlY3QgPiBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiBUIHR5cGU7CisgICAgICAgIHR5cGVkZWYgaXNfcGxhY2Vob2xkZXI8VD4gaXNfbGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4gc3RydWN0IGxhbWJkYV9pbXBsPCBpbnRfPDE+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVGFnLCB0eXBlbmFtZSBQcm90ZWN0ID4gc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgbGFtYmRhPCB0eXBlbmFtZSBGOjphcmcxLCBUYWcsIGZhbHNlXyA+IGwxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGwxOjppc19sZSBpc19sZTE7CisgICAgICAgIHR5cGVkZWYgYXV4OjpsYW1iZGFfb3I8CisgICAgICAgICAgICAgIEJPT1NUX01QTF9BVVhfTVNWQ19WQUxVRV9XS05EKGlzX2xlMSk6OnZhbHVlCisgICAgICAgICAgICA+IGlzX2xlOworCisgICAgICAgIHR5cGVkZWYgYmluZDE8CisgICAgICAgICAgICAgIHR5cGVuYW1lIEY6OnJlYmluZAorICAgICAgICAgICAgLCB0eXBlbmFtZSBsMTo6dHlwZQorICAgICAgICAgICAgPiBiaW5kXzsKKworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGlmXzwKKyAgICAgICAgICAgICAgaXNfbGUKKyAgICAgICAgICAgICwgaWZfPCBQcm90ZWN0LCBtcGw6OnByb3RlY3Q8YmluZF8+LCBiaW5kXyA+CisgICAgICAgICAgICAsIGlkZW50aXR5PEY+CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGVfOworCisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgdHlwZV86OnR5cGUgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgbGFtYmRhX2ltcGw8IGludF88Mj4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUYWcsIHR5cGVuYW1lIFByb3RlY3QgPiBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiBsYW1iZGE8IHR5cGVuYW1lIEY6OmFyZzEsIFRhZywgZmFsc2VfID4gbDE7CisgICAgICAgIHR5cGVkZWYgbGFtYmRhPCB0eXBlbmFtZSBGOjphcmcyLCBUYWcsIGZhbHNlXyA+IGwyOworICAgICAgICAKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBsMTo6aXNfbGUgaXNfbGUxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGwyOjppc19sZSBpc19sZTI7CisgICAgICAgIAorCisgICAgICAgIHR5cGVkZWYgYXV4OjpsYW1iZGFfb3I8CisgICAgICAgICAgICAgIEJPT1NUX01QTF9BVVhfTVNWQ19WQUxVRV9XS05EKGlzX2xlMSk6OnZhbHVlLCBCT09TVF9NUExfQVVYX01TVkNfVkFMVUVfV0tORChpc19sZTIpOjp2YWx1ZQorICAgICAgICAgICAgPiBpc19sZTsKKworICAgICAgICB0eXBlZGVmIGJpbmQyPAorICAgICAgICAgICAgICB0eXBlbmFtZSBGOjpyZWJpbmQKKyAgICAgICAgICAgICwgdHlwZW5hbWUgbDE6OnR5cGUsIHR5cGVuYW1lIGwyOjp0eXBlCisgICAgICAgICAgICA+IGJpbmRfOworCisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgaWZfPAorICAgICAgICAgICAgICBpc19sZQorICAgICAgICAgICAgLCBpZl88IFByb3RlY3QsIG1wbDo6cHJvdGVjdDxiaW5kXz4sIGJpbmRfID4KKyAgICAgICAgICAgICwgaWRlbnRpdHk8Rj4KKyAgICAgICAgICAgID46OnR5cGUgdHlwZV87CisKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSB0eXBlXzo6dHlwZSB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCBsYW1iZGFfaW1wbDwgaW50XzwzPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIEYsIHR5cGVuYW1lIFRhZywgdHlwZW5hbWUgUHJvdGVjdCA+IHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIGxhbWJkYTwgdHlwZW5hbWUgRjo6YXJnMSwgVGFnLCBmYWxzZV8gPiBsMTsKKyAgICAgICAgdHlwZWRlZiBsYW1iZGE8IHR5cGVuYW1lIEY6OmFyZzIsIFRhZywgZmFsc2VfID4gbDI7CisgICAgICAgIHR5cGVkZWYgbGFtYmRhPCB0eXBlbmFtZSBGOjphcmczLCBUYWcsIGZhbHNlXyA+IGwzOworICAgICAgICAKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBsMTo6aXNfbGUgaXNfbGUxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGwyOjppc19sZSBpc19sZTI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbDM6OmlzX2xlIGlzX2xlMzsKKyAgICAgICAgCisKKyAgICAgICAgdHlwZWRlZiBhdXg6OmxhbWJkYV9vcjwKKyAgICAgICAgICAgICAgQk9PU1RfTVBMX0FVWF9NU1ZDX1ZBTFVFX1dLTkQoaXNfbGUxKTo6dmFsdWUsIEJPT1NUX01QTF9BVVhfTVNWQ19WQUxVRV9XS05EKGlzX2xlMik6OnZhbHVlLCBCT09TVF9NUExfQVVYX01TVkNfVkFMVUVfV0tORChpc19sZTMpOjp2YWx1ZQorICAgICAgICAgICAgPiBpc19sZTsKKworICAgICAgICB0eXBlZGVmIGJpbmQzPAorICAgICAgICAgICAgICB0eXBlbmFtZSBGOjpyZWJpbmQKKyAgICAgICAgICAgICwgdHlwZW5hbWUgbDE6OnR5cGUsIHR5cGVuYW1lIGwyOjp0eXBlLCB0eXBlbmFtZSBsMzo6dHlwZQorICAgICAgICAgICAgPiBiaW5kXzsKKworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGlmXzwKKyAgICAgICAgICAgICAgaXNfbGUKKyAgICAgICAgICAgICwgaWZfPCBQcm90ZWN0LCBtcGw6OnByb3RlY3Q8YmluZF8+LCBiaW5kXyA+CisgICAgICAgICAgICAsIGlkZW50aXR5PEY+CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGVfOworCisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgdHlwZV86OnR5cGUgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgbGFtYmRhX2ltcGw8IGludF88ND4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUYWcsIHR5cGVuYW1lIFByb3RlY3QgPiBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiBsYW1iZGE8IHR5cGVuYW1lIEY6OmFyZzEsIFRhZywgZmFsc2VfID4gbDE7CisgICAgICAgIHR5cGVkZWYgbGFtYmRhPCB0eXBlbmFtZSBGOjphcmcyLCBUYWcsIGZhbHNlXyA+IGwyOworICAgICAgICB0eXBlZGVmIGxhbWJkYTwgdHlwZW5hbWUgRjo6YXJnMywgVGFnLCBmYWxzZV8gPiBsMzsKKyAgICAgICAgdHlwZWRlZiBsYW1iZGE8IHR5cGVuYW1lIEY6OmFyZzQsIFRhZywgZmFsc2VfID4gbDQ7CisgICAgICAgIAorICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGwxOjppc19sZSBpc19sZTE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbDI6OmlzX2xlIGlzX2xlMjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBsMzo6aXNfbGUgaXNfbGUzOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGw0Ojppc19sZSBpc19sZTQ7CisgICAgICAgIAorCisgICAgICAgIHR5cGVkZWYgYXV4OjpsYW1iZGFfb3I8CisgICAgICAgICAgICAgIEJPT1NUX01QTF9BVVhfTVNWQ19WQUxVRV9XS05EKGlzX2xlMSk6OnZhbHVlLCBCT09TVF9NUExfQVVYX01TVkNfVkFMVUVfV0tORChpc19sZTIpOjp2YWx1ZSwgQk9PU1RfTVBMX0FVWF9NU1ZDX1ZBTFVFX1dLTkQoaXNfbGUzKTo6dmFsdWUsIEJPT1NUX01QTF9BVVhfTVNWQ19WQUxVRV9XS05EKGlzX2xlNCk6OnZhbHVlCisgICAgICAgICAgICA+IGlzX2xlOworCisgICAgICAgIHR5cGVkZWYgYmluZDQ8CisgICAgICAgICAgICAgIHR5cGVuYW1lIEY6OnJlYmluZAorICAgICAgICAgICAgLCB0eXBlbmFtZSBsMTo6dHlwZSwgdHlwZW5hbWUgbDI6OnR5cGUsIHR5cGVuYW1lIGwzOjp0eXBlCisgICAgICAgICAgICAsIHR5cGVuYW1lIGw0Ojp0eXBlCisgICAgICAgICAgICA+IGJpbmRfOworCisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgaWZfPAorICAgICAgICAgICAgICBpc19sZQorICAgICAgICAgICAgLCBpZl88IFByb3RlY3QsIG1wbDo6cHJvdGVjdDxiaW5kXz4sIGJpbmRfID4KKyAgICAgICAgICAgICwgaWRlbnRpdHk8Rj4KKyAgICAgICAgICAgID46OnR5cGUgdHlwZV87CisKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSB0eXBlXzo6dHlwZSB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCBsYW1iZGFfaW1wbDwgaW50Xzw1PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIEYsIHR5cGVuYW1lIFRhZywgdHlwZW5hbWUgUHJvdGVjdCA+IHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIGxhbWJkYTwgdHlwZW5hbWUgRjo6YXJnMSwgVGFnLCBmYWxzZV8gPiBsMTsKKyAgICAgICAgdHlwZWRlZiBsYW1iZGE8IHR5cGVuYW1lIEY6OmFyZzIsIFRhZywgZmFsc2VfID4gbDI7CisgICAgICAgIHR5cGVkZWYgbGFtYmRhPCB0eXBlbmFtZSBGOjphcmczLCBUYWcsIGZhbHNlXyA+IGwzOworICAgICAgICB0eXBlZGVmIGxhbWJkYTwgdHlwZW5hbWUgRjo6YXJnNCwgVGFnLCBmYWxzZV8gPiBsNDsKKyAgICAgICAgdHlwZWRlZiBsYW1iZGE8IHR5cGVuYW1lIEY6OmFyZzUsIFRhZywgZmFsc2VfID4gbDU7CisgICAgICAgIAorICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGwxOjppc19sZSBpc19sZTE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbDI6OmlzX2xlIGlzX2xlMjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBsMzo6aXNfbGUgaXNfbGUzOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGw0Ojppc19sZSBpc19sZTQ7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbDU6OmlzX2xlIGlzX2xlNTsKKyAgICAgICAgCisKKyAgICAgICAgdHlwZWRlZiBhdXg6OmxhbWJkYV9vcjwKKyAgICAgICAgICAgICAgQk9PU1RfTVBMX0FVWF9NU1ZDX1ZBTFVFX1dLTkQoaXNfbGUxKTo6dmFsdWUsIEJPT1NUX01QTF9BVVhfTVNWQ19WQUxVRV9XS05EKGlzX2xlMik6OnZhbHVlLCBCT09TVF9NUExfQVVYX01TVkNfVkFMVUVfV0tORChpc19sZTMpOjp2YWx1ZSwgQk9PU1RfTVBMX0FVWF9NU1ZDX1ZBTFVFX1dLTkQoaXNfbGU0KTo6dmFsdWUsIEJPT1NUX01QTF9BVVhfTVNWQ19WQUxVRV9XS05EKGlzX2xlNSk6OnZhbHVlCisgICAgICAgICAgICA+IGlzX2xlOworCisgICAgICAgIHR5cGVkZWYgYmluZDU8CisgICAgICAgICAgICAgIHR5cGVuYW1lIEY6OnJlYmluZAorICAgICAgICAgICAgLCB0eXBlbmFtZSBsMTo6dHlwZSwgdHlwZW5hbWUgbDI6OnR5cGUsIHR5cGVuYW1lIGwzOjp0eXBlCisgICAgICAgICAgICAsIHR5cGVuYW1lIGw0Ojp0eXBlLCB0eXBlbmFtZSBsNTo6dHlwZQorICAgICAgICAgICAgPiBiaW5kXzsKKworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGlmXzwKKyAgICAgICAgICAgICAgaXNfbGUKKyAgICAgICAgICAgICwgaWZfPCBQcm90ZWN0LCBtcGw6OnByb3RlY3Q8YmluZF8+LCBiaW5kXyA+CisgICAgICAgICAgICAsIGlkZW50aXR5PEY+CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGVfOworCisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgdHlwZV86OnR5cGUgdHlwZTsKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVAorICAgICwgdHlwZW5hbWUgVGFnCisgICAgLCB0eXBlbmFtZSBQcm90ZWN0CisgICAgPgorc3RydWN0IGxhbWJkYQoreworICAgIC8vLyBNZXRhZnVuY3Rpb24gZm9yd2FyZGluZyBjb25mdXNlcyBNU1ZDIDYueAorICAgIHR5cGVkZWYgdHlwZW5hbWUgYXV4Ojp0ZW1wbGF0ZV9hcml0eTxUPjo6dHlwZSBhcml0eV87CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhdXg6OmxhbWJkYV9pbXBsPGFyaXR5Xz4KKyAgICAgICAgOjp0ZW1wbGF0ZSByZXN1bHRfPCBULFRhZyxQcm90ZWN0ID4gbF87CisKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxfOjp0eXBlIHR5cGU7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsXzo6aXNfbGUgaXNfbGU7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgzLCBsYW1iZGEsIChULCBUYWcsIFByb3RlY3QpKQorfTsKKworQk9PU1RfTVBMX0FVWF9OQV9TUEVDMigxLCAzLCBsYW1iZGEpCisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVAorICAgID4KK3N0cnVjdCBpc19sYW1iZGFfZXhwcmVzc2lvbgorICAgIDogbGFtYmRhPFQ+Ojppc19sZQoreworfTsKKworfX0KKwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL25vX3R0cC9sZXNzLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9ub190dHAvbGVzcy5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjdmYWU3YwotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9ub190dHAvbGVzcy5ocHAKQEAgLTAsMCArMSw5OCBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvbGVzcy5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUYWcxCisgICAgLCB0eXBlbmFtZSBUYWcyCisgICAgPgorc3RydWN0IGxlc3NfaW1wbAorICAgIDogaWZfYzwKKyAgICAgICAgICAoIEJPT1NUX01QTF9BVVhfTkVTVEVEX1ZBTFVFX1dLTkQoaW50LCBUYWcxKQorICAgICAgICAgICAgICA+IEJPT1NUX01QTF9BVVhfTkVTVEVEX1ZBTFVFX1dLTkQoaW50LCBUYWcyKQorICAgICAgICAgICAgKQorCisgICAgICAgICwgYXV4OjpjYXN0Mm5kX2ltcGw8IGxlc3NfaW1wbDwgVGFnMSxUYWcxID4sVGFnMSwgVGFnMiA+CisgICAgICAgICwgYXV4OjpjYXN0MXN0X2ltcGw8IGxlc3NfaW1wbDwgVGFnMixUYWcyID4sVGFnMSwgVGFnMiA+CisgICAgICAgID46OnR5cGUKK3sKK307CisKKy8vLyBmb3IgRGlnaXRhbCBNYXJzIEMrKy9jb21waWxlcnMgd2l0aCBubyBDVFBTL1RUUCBzdXBwb3J0Cit0ZW1wbGF0ZTw+IHN0cnVjdCBsZXNzX2ltcGw8IG5hLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVGFnID4gc3RydWN0IGxlc3NfaW1wbDwgbmEsVGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVGFnID4gc3RydWN0IGxlc3NfaW1wbDwgVGFnLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVCA+IHN0cnVjdCBsZXNzX3RhZworeworICAgIHR5cGVkZWYgdHlwZW5hbWUgVDo6dGFnIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjEpCisgICAgLCB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4yKQorICAgID4KK3N0cnVjdCBsZXNzCisKKyAgICA6IGxlc3NfaW1wbDwKKyAgICAgICAgICB0eXBlbmFtZSBsZXNzX3RhZzxOMT46OnR5cGUKKyAgICAgICAgLCB0eXBlbmFtZSBsZXNzX3RhZzxOMj46OnR5cGUKKyAgICAgICAgPjo6dGVtcGxhdGUgYXBwbHk8IE4xLE4yID46OnR5cGUKK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKDIsIGxlc3MsIChOMSwgTjIpKQorCit9OworCitCT09TVF9NUExfQVVYX05BX1NQRUMyKDIsIDIsIGxlc3MpCisKK319CisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgbGVzc19pbXBsPCBpbnRlZ3JhbF9jX3RhZyxpbnRlZ3JhbF9jX3RhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIE4xLCB0eXBlbmFtZSBOMiA+IHN0cnVjdCBhcHBseQorCisgICAgeworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoYm9vbCwgdmFsdWUgPQorICAgICAgICAgICAgICggQk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4yKTo6dmFsdWUgPgorICAgICAgICAgICAgIEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChOMSk6OnZhbHVlICkKKyAgICAgICAgICAgICk7CisgICAgICAgIHR5cGVkZWYgYm9vbF88dmFsdWU+IHR5cGU7CisgICAgfTsKK307CisKK319CmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fdHRwL2xlc3NfZXF1YWwuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL25vX3R0cC9sZXNzX2VxdWFsLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYTA3N2ZiCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL25vX3R0cC9sZXNzX2VxdWFsLmhwcApAQCAtMCwwICsxLDk4IEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9sZXNzX2VxdWFsLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFRhZzEKKyAgICAsIHR5cGVuYW1lIFRhZzIKKyAgICA+CitzdHJ1Y3QgbGVzc19lcXVhbF9pbXBsCisgICAgOiBpZl9jPAorICAgICAgICAgICggQk9PU1RfTVBMX0FVWF9ORVNURURfVkFMVUVfV0tORChpbnQsIFRhZzEpCisgICAgICAgICAgICAgID4gQk9PU1RfTVBMX0FVWF9ORVNURURfVkFMVUVfV0tORChpbnQsIFRhZzIpCisgICAgICAgICAgICApCisKKyAgICAgICAgLCBhdXg6OmNhc3QybmRfaW1wbDwgbGVzc19lcXVhbF9pbXBsPCBUYWcxLFRhZzEgPixUYWcxLCBUYWcyID4KKyAgICAgICAgLCBhdXg6OmNhc3Qxc3RfaW1wbDwgbGVzc19lcXVhbF9pbXBsPCBUYWcyLFRhZzIgPixUYWcxLCBUYWcyID4KKyAgICAgICAgPjo6dHlwZQoreworfTsKKworLy8vIGZvciBEaWdpdGFsIE1hcnMgQysrL2NvbXBpbGVycyB3aXRoIG5vIENUUFMvVFRQIHN1cHBvcnQKK3RlbXBsYXRlPD4gc3RydWN0IGxlc3NfZXF1YWxfaW1wbDwgbmEsbmEgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUYWcgPiBzdHJ1Y3QgbGVzc19lcXVhbF9pbXBsPCBuYSxUYWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUYWcgPiBzdHJ1Y3QgbGVzc19lcXVhbF9pbXBsPCBUYWcsbmEgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUID4gc3RydWN0IGxlc3NfZXF1YWxfdGFnCit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBUOjp0YWcgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMSkKKyAgICAsIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjIpCisgICAgPgorc3RydWN0IGxlc3NfZXF1YWwKKworICAgIDogbGVzc19lcXVhbF9pbXBsPAorICAgICAgICAgIHR5cGVuYW1lIGxlc3NfZXF1YWxfdGFnPE4xPjo6dHlwZQorICAgICAgICAsIHR5cGVuYW1lIGxlc3NfZXF1YWxfdGFnPE4yPjo6dHlwZQorICAgICAgICA+Ojp0ZW1wbGF0ZSBhcHBseTwgTjEsTjIgPjo6dHlwZQoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoMiwgbGVzc19lcXVhbCwgKE4xLCBOMikpCisKK307CisKK0JPT1NUX01QTF9BVVhfTkFfU1BFQzIoMiwgMiwgbGVzc19lcXVhbCkKKworfX0KKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBsZXNzX2VxdWFsX2ltcGw8IGludGVncmFsX2NfdGFnLGludGVncmFsX2NfdGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgTjEsIHR5cGVuYW1lIE4yID4gc3RydWN0IGFwcGx5CisKKyAgICB7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChib29sLCB2YWx1ZSA9CisgICAgICAgICAgICAgKCBCT09TVF9NUExfQVVYX1ZBTFVFX1dLTkQoTjEpOjp2YWx1ZSA8PQorICAgICAgICAgICAgIEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChOMik6OnZhbHVlICkKKyAgICAgICAgICAgICk7CisgICAgICAgIHR5cGVkZWYgYm9vbF88dmFsdWU+IHR5cGU7CisgICAgfTsKK307CisKK319CmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fdHRwL2xpc3QuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL25vX3R0cC9saXN0LmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44Y2M4YzQ2Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL25vX3R0cC9saXN0LmhwcApAQCAtMCwwICsxLDMyMyBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvbGlzdC5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCA9IG5hLCB0eXBlbmFtZSBUMSA9IG5hLCB0eXBlbmFtZSBUMiA9IG5hLCB0eXBlbmFtZSBUMyA9IG5hCisgICAgLCB0eXBlbmFtZSBUNCA9IG5hLCB0eXBlbmFtZSBUNSA9IG5hLCB0eXBlbmFtZSBUNiA9IG5hLCB0eXBlbmFtZSBUNyA9IG5hCisgICAgLCB0eXBlbmFtZSBUOCA9IG5hLCB0eXBlbmFtZSBUOSA9IG5hLCB0eXBlbmFtZSBUMTAgPSBuYSwgdHlwZW5hbWUgVDExID0gbmEKKyAgICAsIHR5cGVuYW1lIFQxMiA9IG5hLCB0eXBlbmFtZSBUMTMgPSBuYSwgdHlwZW5hbWUgVDE0ID0gbmEKKyAgICAsIHR5cGVuYW1lIFQxNSA9IG5hLCB0eXBlbmFtZSBUMTYgPSBuYSwgdHlwZW5hbWUgVDE3ID0gbmEKKyAgICAsIHR5cGVuYW1lIFQxOCA9IG5hLCB0eXBlbmFtZSBUMTkgPSBuYQorICAgID4KK3N0cnVjdCBsaXN0OworCit0ZW1wbGF0ZTwKKyAgICAgCisgICAgPgorc3RydWN0IGxpc3Q8CisgICAgICAgICAgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBsaXN0MDwgID4KK3sKKyAgICB0eXBlZGVmIGxpc3QwPCAgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMAorICAgID4KK3N0cnVjdCBsaXN0PAorICAgICAgICAgIFQwLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogbGlzdDE8VDA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0MTxUMD46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxCisgICAgPgorc3RydWN0IGxpc3Q8CisgICAgICAgICAgVDAsIFQxLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBsaXN0MjwgVDAsVDEgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDI8IFQwLFQxID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMgorICAgID4KK3N0cnVjdCBsaXN0PAorICAgICAgICAgIFQwLCBUMSwgVDIsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogbGlzdDM8IFQwLFQxLFQyID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3QzPCBUMCxUMSxUMiA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzCisgICAgPgorc3RydWN0IGxpc3Q8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBsaXN0NDwgVDAsVDEsVDIsVDMgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDQ8IFQwLFQxLFQyLFQzID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgPgorc3RydWN0IGxpc3Q8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBsaXN0NTwgVDAsVDEsVDIsVDMsVDQgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDU8IFQwLFQxLFQyLFQzLFQ0ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNQorICAgID4KK3N0cnVjdCBsaXN0PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogbGlzdDY8IFQwLFQxLFQyLFQzLFQ0LFQ1ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3Q2PCBUMCxUMSxUMixUMyxUNCxUNSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2CisgICAgPgorc3RydWN0IGxpc3Q8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBsaXN0NzwgVDAsVDEsVDIsVDMsVDQsVDUsVDYgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDc8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3CisgICAgPgorc3RydWN0IGxpc3Q8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBsaXN0ODwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDg8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOAorICAgID4KK3N0cnVjdCBsaXN0PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogbGlzdDk8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3Q5PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgPgorc3RydWN0IGxpc3Q8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBsaXN0MTA8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3QxMDwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDkgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwCisgICAgPgorc3RydWN0IGxpc3Q8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogbGlzdDExPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDExPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEKKyAgICA+CitzdHJ1Y3QgbGlzdDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogbGlzdDEyPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3QxMjwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyCisgICAgPgorc3RydWN0IGxpc3Q8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBsaXN0MTM8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3QxMzwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzCisgICAgPgorc3RydWN0IGxpc3Q8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogbGlzdDE0PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDE0PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICA+CitzdHJ1Y3QgbGlzdDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogbGlzdDE1PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0MTU8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyxUMTQgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAsIHR5cGVuYW1lIFQxNQorICAgID4KK3N0cnVjdCBsaXN0PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogbGlzdDE2PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNQorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0MTY8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyxUMTQsVDE1ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNgorICAgID4KK3N0cnVjdCBsaXN0PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgVDE2LCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IGxpc3QxNzwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgLCBUMTUsIFQxNgorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0MTc8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyxUMTQsVDE1LFQxNiA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNworICAgID4KK3N0cnVjdCBsaXN0PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgVDE2LCBUMTcsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBsaXN0MTg8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1LCBUMTYsIFQxNworICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0MTg8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyxUMTQsVDE1LFQxNixUMTcgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOAorICAgID4KK3N0cnVjdCBsaXN0PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgVDE2LCBUMTcsIFQxOCwgbmEKKyAgICAgICAgPgorICAgIDogbGlzdDE5PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgVDE2LCBUMTcsIFQxOAorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0MTk8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyxUMTQsVDE1LFQxNixUMTcsVDE4ID46OnR5cGUgdHlwZTsKK307CisKKy8vLyBwcmltYXJ5IHRlbXBsYXRlIChub3QgYSBzcGVjaWFsaXphdGlvbiEpCisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgID4KK3N0cnVjdCBsaXN0CisgICAgOiBsaXN0MjA8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1LCBUMTYsIFQxNywgVDE4LCBUMTkKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDIwPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMsVDE0LFQxNSxUMTYsVDE3LFQxOCxUMTkgPjo6dHlwZSB0eXBlOworfTsKKworfX0KKwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL25vX3R0cC9saXN0X2MuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL25vX3R0cC9saXN0X2MuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU0M2YzOGYKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fdHRwL2xpc3RfYy5ocHAKQEAgLTAsMCArMSwzMjggQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL2xpc3RfYy5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwID0gTE9OR19NQVgsIGxvbmcgQzEgPSBMT05HX01BWCwgbG9uZyBDMiA9IExPTkdfTUFYCisgICAgLCBsb25nIEMzID0gTE9OR19NQVgsIGxvbmcgQzQgPSBMT05HX01BWCwgbG9uZyBDNSA9IExPTkdfTUFYCisgICAgLCBsb25nIEM2ID0gTE9OR19NQVgsIGxvbmcgQzcgPSBMT05HX01BWCwgbG9uZyBDOCA9IExPTkdfTUFYCisgICAgLCBsb25nIEM5ID0gTE9OR19NQVgsIGxvbmcgQzEwID0gTE9OR19NQVgsIGxvbmcgQzExID0gTE9OR19NQVgKKyAgICAsIGxvbmcgQzEyID0gTE9OR19NQVgsIGxvbmcgQzEzID0gTE9OR19NQVgsIGxvbmcgQzE0ID0gTE9OR19NQVgKKyAgICAsIGxvbmcgQzE1ID0gTE9OR19NQVgsIGxvbmcgQzE2ID0gTE9OR19NQVgsIGxvbmcgQzE3ID0gTE9OR19NQVgKKyAgICAsIGxvbmcgQzE4ID0gTE9OR19NQVgsIGxvbmcgQzE5ID0gTE9OR19NQVgKKyAgICA+CitzdHJ1Y3QgbGlzdF9jOworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQKKyAgICA+CitzdHJ1Y3QgbGlzdF9jPAorICAgICAgICAgIFQsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IGxpc3QwX2M8VD4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3QwX2M8VD46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMAorICAgID4KK3N0cnVjdCBsaXN0X2M8CisgICAgICAgICAgVCwgQzAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogbGlzdDFfYzwgVCxDMCA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0MV9jPCBULEMwID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMQorICAgID4KK3N0cnVjdCBsaXN0X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogbGlzdDJfYzwgVCxDMCxDMSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0Ml9jPCBULEMwLEMxID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMgorICAgID4KK3N0cnVjdCBsaXN0X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogbGlzdDNfYzwgVCxDMCxDMSxDMiA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0M19jPCBULEMwLEMxLEMyID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMworICAgID4KK3N0cnVjdCBsaXN0X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogbGlzdDRfYzwgVCxDMCxDMSxDMixDMyA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0NF9jPCBULEMwLEMxLEMyLEMzID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNAorICAgID4KK3N0cnVjdCBsaXN0X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogbGlzdDVfYzwgVCxDMCxDMSxDMixDMyxDNCA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0NV9jPCBULEMwLEMxLEMyLEMzLEM0ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgID4KK3N0cnVjdCBsaXN0X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogbGlzdDZfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0Nl9jPCBULEMwLEMxLEMyLEMzLEM0LEM1ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICwgbG9uZyBDNgorICAgID4KK3N0cnVjdCBsaXN0X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogbGlzdDdfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNiA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0N19jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICwgbG9uZyBDNiwgbG9uZyBDNworICAgID4KK3N0cnVjdCBsaXN0X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogbGlzdDhfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0OF9jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2LEM3ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOAorICAgID4KK3N0cnVjdCBsaXN0X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogbGlzdDlfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyxDOCA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0OV9jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2LEM3LEM4ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOQorICAgID4KK3N0cnVjdCBsaXN0X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogbGlzdDEwX2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcsQzgsQzkgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDEwX2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcsQzgsQzkgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMAorICAgID4KK3N0cnVjdCBsaXN0X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogbGlzdDExX2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcsQzgsQzksQzEwID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3QxMV9jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2LEM3LEM4LEM5LEMxMCA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMQorICAgID4KK3N0cnVjdCBsaXN0X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IGxpc3QxMl9jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2LEM3LEM4LEM5LEMxMCxDMTEgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDEyX2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcsQzgsQzksQzEwLEMxMSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICA+CitzdHJ1Y3QgbGlzdF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogbGlzdDEzX2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcsQzgsQzksQzEwLEMxMSxDMTIgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDEzX2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcsQzgsQzksQzEwLEMxMSxDMTIgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgLCBsb25nIEMxMworICAgID4KK3N0cnVjdCBsaXN0X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBDMTIsIEMxMworICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogbGlzdDE0X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBDMTIsIEMxMworICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0MTRfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyxDOCxDOSxDMTAsQzExLEMxMixDMTMgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgLCBsb25nIEMxMywgbG9uZyBDMTQKKyAgICA+CitzdHJ1Y3QgbGlzdF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMsIEMxNAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiBsaXN0MTVfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIEMxMiwgQzEzLCBDMTQKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDE1X2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcsQzgsQzksQzEwLEMxMSxDMTIsQzEzLEMxNCA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAsIGxvbmcgQzEzLCBsb25nIEMxNCwgbG9uZyBDMTUKKyAgICA+CitzdHJ1Y3QgbGlzdF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMsIEMxNAorICAgICAgICAsIEMxNSwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogbGlzdDE2X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBDMTIsIEMxMywgQzE0CisgICAgICAgICwgQzE1CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3QxNl9jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2LEM3LEM4LEM5LEMxMCxDMTEsQzEyLEMxMyxDMTQsQzE1ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNSwgbG9uZyBDMTYKKyAgICA+CitzdHJ1Y3QgbGlzdF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMsIEMxNAorICAgICAgICAsIEMxNSwgQzE2LCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IGxpc3QxN19jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMsIEMxNAorICAgICAgICAsIEMxNSwgQzE2CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3QxN19jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2LEM3LEM4LEM5LEMxMCxDMTEsQzEyLEMxMyxDMTQsQzE1LEMxNiA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAsIGxvbmcgQzEzLCBsb25nIEMxNCwgbG9uZyBDMTUsIGxvbmcgQzE2LCBsb25nIEMxNworICAgID4KK3N0cnVjdCBsaXN0X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBDMTIsIEMxMywgQzE0CisgICAgICAgICwgQzE1LCBDMTYsIEMxNywgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IGxpc3QxOF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMsIEMxNAorICAgICAgICAsIEMxNSwgQzE2LCBDMTcKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDE4X2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcsQzgsQzksQzEwLEMxMSxDMTIsQzEzLEMxNCxDMTUsQzE2LEMxNyA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAsIGxvbmcgQzEzLCBsb25nIEMxNCwgbG9uZyBDMTUsIGxvbmcgQzE2LCBsb25nIEMxNywgbG9uZyBDMTgKKyAgICA+CitzdHJ1Y3QgbGlzdF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMsIEMxNAorICAgICAgICAsIEMxNSwgQzE2LCBDMTcsIEMxOCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogbGlzdDE5X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBDMTIsIEMxMywgQzE0CisgICAgICAgICwgQzE1LCBDMTYsIEMxNywgQzE4CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3QxOV9jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2LEM3LEM4LEM5LEMxMCxDMTEsQzEyLEMxMyxDMTQsQzE1LEMxNixDMTcsQzE4ID46OnR5cGUgdHlwZTsKK307CisKKy8vLyBwcmltYXJ5IHRlbXBsYXRlIChub3QgYSBzcGVjaWFsaXphdGlvbiEpCisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNSwgbG9uZyBDMTYsIGxvbmcgQzE3LCBsb25nIEMxOCwgbG9uZyBDMTkKKyAgICA+CitzdHJ1Y3QgbGlzdF9jCisgICAgOiBsaXN0MjBfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIEMxMiwgQzEzLCBDMTQKKyAgICAgICAgLCBDMTUsIEMxNiwgQzE3LCBDMTgsIEMxOQorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0MjBfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyxDOCxDOSxDMTAsQzExLEMxMixDMTMsQzE0LEMxNSxDMTYsQzE3LEMxOCxDMTkgPjo6dHlwZSB0eXBlOworfTsKKworfX0KKwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL25vX3R0cC9tYXAuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL25vX3R0cC9tYXAuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc5NzRmMjgKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fdHRwL21hcC5ocHAKQEAgLTAsMCArMSwzMjMgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL21hcC5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCA9IG5hLCB0eXBlbmFtZSBUMSA9IG5hLCB0eXBlbmFtZSBUMiA9IG5hLCB0eXBlbmFtZSBUMyA9IG5hCisgICAgLCB0eXBlbmFtZSBUNCA9IG5hLCB0eXBlbmFtZSBUNSA9IG5hLCB0eXBlbmFtZSBUNiA9IG5hLCB0eXBlbmFtZSBUNyA9IG5hCisgICAgLCB0eXBlbmFtZSBUOCA9IG5hLCB0eXBlbmFtZSBUOSA9IG5hLCB0eXBlbmFtZSBUMTAgPSBuYSwgdHlwZW5hbWUgVDExID0gbmEKKyAgICAsIHR5cGVuYW1lIFQxMiA9IG5hLCB0eXBlbmFtZSBUMTMgPSBuYSwgdHlwZW5hbWUgVDE0ID0gbmEKKyAgICAsIHR5cGVuYW1lIFQxNSA9IG5hLCB0eXBlbmFtZSBUMTYgPSBuYSwgdHlwZW5hbWUgVDE3ID0gbmEKKyAgICAsIHR5cGVuYW1lIFQxOCA9IG5hLCB0eXBlbmFtZSBUMTkgPSBuYQorICAgID4KK3N0cnVjdCBtYXA7CisKK3RlbXBsYXRlPAorICAgICAKKyAgICA+CitzdHJ1Y3QgbWFwPAorICAgICAgICAgIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogbWFwMDwgID4KK3sKKyAgICB0eXBlZGVmIG1hcDA8ICA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwCisgICAgPgorc3RydWN0IG1hcDwKKyAgICAgICAgICBUMCwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IG1hcDE8VDA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtYXAxPFQwPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEKKyAgICA+CitzdHJ1Y3QgbWFwPAorICAgICAgICAgIFQwLCBUMSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogbWFwMjwgVDAsVDEgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbWFwMjwgVDAsVDEgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyCisgICAgPgorc3RydWN0IG1hcDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IG1hcDM8IFQwLFQxLFQyID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1hcDM8IFQwLFQxLFQyID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMKKyAgICA+CitzdHJ1Y3QgbWFwPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogbWFwNDwgVDAsVDEsVDIsVDMgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbWFwNDwgVDAsVDEsVDIsVDMgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICA+CitzdHJ1Y3QgbWFwPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogbWFwNTwgVDAsVDEsVDIsVDMsVDQgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbWFwNTwgVDAsVDEsVDIsVDMsVDQgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1CisgICAgPgorc3RydWN0IG1hcDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IG1hcDY8IFQwLFQxLFQyLFQzLFQ0LFQ1ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1hcDY8IFQwLFQxLFQyLFQzLFQ0LFQ1ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYKKyAgICA+CitzdHJ1Y3QgbWFwPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogbWFwNzwgVDAsVDEsVDIsVDMsVDQsVDUsVDYgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbWFwNzwgVDAsVDEsVDIsVDMsVDQsVDUsVDYgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcKKyAgICA+CitzdHJ1Y3QgbWFwPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogbWFwODwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbWFwODwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4CisgICAgPgorc3RydWN0IG1hcDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IG1hcDk8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1hcDk8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICA+CitzdHJ1Y3QgbWFwPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogbWFwMTA8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1hcDEwPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAKKyAgICA+CitzdHJ1Y3QgbWFwPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IG1hcDExPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbWFwMTE8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMQorICAgID4KK3N0cnVjdCBtYXA8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IG1hcDEyPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1hcDEyPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIKKyAgICA+CitzdHJ1Y3QgbWFwPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogbWFwMTM8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1hcDEzPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMiA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMKKyAgICA+CitzdHJ1Y3QgbWFwPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IG1hcDE0PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbWFwMTQ8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgID4KK3N0cnVjdCBtYXA8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0LCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IG1hcDE1PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtYXAxNTwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzLFQxNCA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICwgdHlwZW5hbWUgVDE1CisgICAgPgorc3RydWN0IG1hcDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgLCBUMTUsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IG1hcDE2PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNQorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtYXAxNjwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzLFQxNCxUMTUgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2CisgICAgPgorc3RydWN0IG1hcDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgLCBUMTUsIFQxNiwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBtYXAxNzwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgLCBUMTUsIFQxNgorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtYXAxNzwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzLFQxNCxUMTUsVDE2ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3CisgICAgPgorc3RydWN0IG1hcDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgLCBUMTUsIFQxNiwgVDE3LCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogbWFwMTg8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1LCBUMTYsIFQxNworICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtYXAxODwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzLFQxNCxUMTUsVDE2LFQxNyA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4CisgICAgPgorc3RydWN0IG1hcDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgLCBUMTUsIFQxNiwgVDE3LCBUMTgsIG5hCisgICAgICAgID4KKyAgICA6IG1hcDE5PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgVDE2LCBUMTcsIFQxOAorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtYXAxOTwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzLFQxNCxUMTUsVDE2LFQxNyxUMTggPjo6dHlwZSB0eXBlOworfTsKKworLy8vIHByaW1hcnkgdGVtcGxhdGUgKG5vdCBhIHNwZWNpYWxpemF0aW9uISkKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgPgorc3RydWN0IG1hcAorICAgIDogbWFwMjA8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1LCBUMTYsIFQxNywgVDE4LCBUMTkKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbWFwMjA8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyxUMTQsVDE1LFQxNixUMTcsVDE4LFQxOSA+Ojp0eXBlIHR5cGU7Cit9OworCit9fQorCmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fdHRwL21pbnVzLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9ub190dHAvbWludXMuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZhM2VkYTkKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fdHRwL21pbnVzLmhwcApAQCAtMCwwICsxLDE1NiBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvbWludXMuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVGFnMQorICAgICwgdHlwZW5hbWUgVGFnMgorICAgID4KK3N0cnVjdCBtaW51c19pbXBsCisgICAgOiBpZl9jPAorICAgICAgICAgICggQk9PU1RfTVBMX0FVWF9ORVNURURfVkFMVUVfV0tORChpbnQsIFRhZzEpCisgICAgICAgICAgICAgID4gQk9PU1RfTVBMX0FVWF9ORVNURURfVkFMVUVfV0tORChpbnQsIFRhZzIpCisgICAgICAgICAgICApCisKKyAgICAgICAgLCBhdXg6OmNhc3QybmRfaW1wbDwgbWludXNfaW1wbDwgVGFnMSxUYWcxID4sVGFnMSwgVGFnMiA+CisgICAgICAgICwgYXV4OjpjYXN0MXN0X2ltcGw8IG1pbnVzX2ltcGw8IFRhZzIsVGFnMiA+LFRhZzEsIFRhZzIgPgorICAgICAgICA+Ojp0eXBlCit7Cit9OworCisvLy8gZm9yIERpZ2l0YWwgTWFycyBDKysvY29tcGlsZXJzIHdpdGggbm8gQ1RQUy9UVFAgc3VwcG9ydAordGVtcGxhdGU8PiBzdHJ1Y3QgbWludXNfaW1wbDwgbmEsbmEgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUYWcgPiBzdHJ1Y3QgbWludXNfaW1wbDwgbmEsVGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVGFnID4gc3RydWN0IG1pbnVzX2ltcGw8IFRhZyxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFQgPiBzdHJ1Y3QgbWludXNfdGFnCit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBUOjp0YWcgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMSkKKyAgICAsIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjIpCisgICAgLCB0eXBlbmFtZSBOMyA9IG5hLCB0eXBlbmFtZSBONCA9IG5hLCB0eXBlbmFtZSBONSA9IG5hCisgICAgPgorc3RydWN0IG1pbnVzCisgICAgOiBtaW51czwgbWludXM8IG1pbnVzPCBtaW51czwgTjEsTjIgPiwgTjM+LCBOND4sIE41PgoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoCisgICAgICAgICAgNQorICAgICAgICAsIG1pbnVzCisgICAgICAgICwgKCBOMSwgTjIsIE4zLCBONCwgTjUgKQorICAgICAgICApCit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIE4xLCB0eXBlbmFtZSBOMiwgdHlwZW5hbWUgTjMsIHR5cGVuYW1lIE40CisgICAgPgorc3RydWN0IG1pbnVzPCBOMSxOMixOMyxONCxuYSA+CisKKyAgICA6IG1pbnVzPCBtaW51czwgbWludXM8IE4xLE4yID4sIE4zPiwgTjQ+Cit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVF9TUEVDKAorICAgICAgICAgIDUKKyAgICAgICAgLCBtaW51cworICAgICAgICAsICggTjEsIE4yLCBOMywgTjQsIG5hICkKKyAgICAgICAgKQorfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBOMSwgdHlwZW5hbWUgTjIsIHR5cGVuYW1lIE4zCisgICAgPgorc3RydWN0IG1pbnVzPCBOMSxOMixOMyxuYSxuYSA+CisKKyAgICA6IG1pbnVzPCBtaW51czwgTjEsTjIgPiwgTjM+Cit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVF9TUEVDKAorICAgICAgICAgIDUKKyAgICAgICAgLCBtaW51cworICAgICAgICAsICggTjEsIE4yLCBOMywgbmEsIG5hICkKKyAgICAgICAgKQorfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBOMSwgdHlwZW5hbWUgTjIKKyAgICA+CitzdHJ1Y3QgbWludXM8IE4xLE4yLG5hLG5hLG5hID4KKyAgICA6IG1pbnVzX2ltcGw8CisgICAgICAgICAgdHlwZW5hbWUgbWludXNfdGFnPE4xPjo6dHlwZQorICAgICAgICAsIHR5cGVuYW1lIG1pbnVzX3RhZzxOMj46OnR5cGUKKyAgICAgICAgPjo6dGVtcGxhdGUgYXBwbHk8IE4xLE4yID46OnR5cGUKK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUX1NQRUMoCisgICAgICAgICAgNQorICAgICAgICAsIG1pbnVzCisgICAgICAgICwgKCBOMSwgTjIsIG5hLCBuYSwgbmEgKQorICAgICAgICApCisKK307CisKK0JPT1NUX01QTF9BVVhfTkFfU1BFQzIoMiwgNSwgbWludXMpCisKK319CisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCituYW1lc3BhY2UgYXV4IHsKK3RlbXBsYXRlPCB0eXBlbmFtZSBULCBUIG4xLCBUIG4yID4KK3N0cnVjdCBtaW51c193a25kCit7CisgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKFQsIHZhbHVlICA9IChuMSAtIG4yKSk7CisgICAgdHlwZWRlZiBpbnRlZ3JhbF9jPCBULHZhbHVlID4gdHlwZTsKK307CisKK30KKwordGVtcGxhdGU8Pgorc3RydWN0IG1pbnVzX2ltcGw8IGludGVncmFsX2NfdGFnLGludGVncmFsX2NfdGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgTjEsIHR5cGVuYW1lIE4yID4gc3RydWN0IGFwcGx5CisgICAgICAgIDogYXV4OjptaW51c193a25kPAorICAgICAgICAgICAgICB0eXBlbmFtZSBhdXg6Omxhcmdlc3RfaW50PAorICAgICAgICAgICAgICAgICAgdHlwZW5hbWUgTjE6OnZhbHVlX3R5cGUKKyAgICAgICAgICAgICAgICAsIHR5cGVuYW1lIE4yOjp2YWx1ZV90eXBlCisgICAgICAgICAgICAgICAgPjo6dHlwZQorICAgICAgICAgICAgLCBOMTo6dmFsdWUKKyAgICAgICAgICAgICwgTjI6OnZhbHVlCisgICAgICAgICAgICA+Ojp0eXBlCisKKyAgICB7CisgICAgfTsKK307CisKK319CmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fdHRwL21vZHVsdXMuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL25vX3R0cC9tb2R1bHVzLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZDdmZTIyCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL25vX3R0cC9tb2R1bHVzLmhwcApAQCAtMCwwICsxLDExMSBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvbW9kdWx1cy5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUYWcxCisgICAgLCB0eXBlbmFtZSBUYWcyCisgICAgPgorc3RydWN0IG1vZHVsdXNfaW1wbAorICAgIDogaWZfYzwKKyAgICAgICAgICAoIEJPT1NUX01QTF9BVVhfTkVTVEVEX1ZBTFVFX1dLTkQoaW50LCBUYWcxKQorICAgICAgICAgICAgICA+IEJPT1NUX01QTF9BVVhfTkVTVEVEX1ZBTFVFX1dLTkQoaW50LCBUYWcyKQorICAgICAgICAgICAgKQorCisgICAgICAgICwgYXV4OjpjYXN0Mm5kX2ltcGw8IG1vZHVsdXNfaW1wbDwgVGFnMSxUYWcxID4sVGFnMSwgVGFnMiA+CisgICAgICAgICwgYXV4OjpjYXN0MXN0X2ltcGw8IG1vZHVsdXNfaW1wbDwgVGFnMixUYWcyID4sVGFnMSwgVGFnMiA+CisgICAgICAgID46OnR5cGUKK3sKK307CisKKy8vLyBmb3IgRGlnaXRhbCBNYXJzIEMrKy9jb21waWxlcnMgd2l0aCBubyBDVFBTL1RUUCBzdXBwb3J0Cit0ZW1wbGF0ZTw+IHN0cnVjdCBtb2R1bHVzX2ltcGw8IG5hLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVGFnID4gc3RydWN0IG1vZHVsdXNfaW1wbDwgbmEsVGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVGFnID4gc3RydWN0IG1vZHVsdXNfaW1wbDwgVGFnLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVCA+IHN0cnVjdCBtb2R1bHVzX3RhZworeworICAgIHR5cGVkZWYgdHlwZW5hbWUgVDo6dGFnIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjEpCisgICAgLCB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4yKQorICAgID4KK3N0cnVjdCBtb2R1bHVzCisKKyAgICA6IG1vZHVsdXNfaW1wbDwKKyAgICAgICAgICB0eXBlbmFtZSBtb2R1bHVzX3RhZzxOMT46OnR5cGUKKyAgICAgICAgLCB0eXBlbmFtZSBtb2R1bHVzX3RhZzxOMj46OnR5cGUKKyAgICAgICAgPjo6dGVtcGxhdGUgYXBwbHk8IE4xLE4yID46OnR5cGUKK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKDIsIG1vZHVsdXMsIChOMSwgTjIpKQorCit9OworCitCT09TVF9NUExfQVVYX05BX1NQRUMyKDIsIDIsIG1vZHVsdXMpCisKK319CisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCituYW1lc3BhY2UgYXV4IHsKK3RlbXBsYXRlPCB0eXBlbmFtZSBULCBUIG4xLCBUIG4yID4KK3N0cnVjdCBtb2R1bHVzX3drbmQKK3sKKyAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoVCwgdmFsdWUgID0gKG4xICUgbjIpKTsKKyAgICB0eXBlZGVmIGludGVncmFsX2M8IFQsdmFsdWUgPiB0eXBlOworfTsKKworfQorCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgbW9kdWx1c19pbXBsPCBpbnRlZ3JhbF9jX3RhZyxpbnRlZ3JhbF9jX3RhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIE4xLCB0eXBlbmFtZSBOMiA+IHN0cnVjdCBhcHBseQorICAgICAgICA6IGF1eDo6bW9kdWx1c193a25kPAorICAgICAgICAgICAgICB0eXBlbmFtZSBhdXg6Omxhcmdlc3RfaW50PAorICAgICAgICAgICAgICAgICAgdHlwZW5hbWUgTjE6OnZhbHVlX3R5cGUKKyAgICAgICAgICAgICAgICAsIHR5cGVuYW1lIE4yOjp2YWx1ZV90eXBlCisgICAgICAgICAgICAgICAgPjo6dHlwZQorICAgICAgICAgICAgLCBOMTo6dmFsdWUKKyAgICAgICAgICAgICwgTjI6OnZhbHVlCisgICAgICAgICAgICA+Ojp0eXBlCisKKyAgICB7CisgICAgfTsKK307CisKK319CmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fdHRwL25vdF9lcXVhbF90by5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fdHRwL25vdF9lcXVhbF90by5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzlhMTlhYQotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9ub190dHAvbm90X2VxdWFsX3RvLmhwcApAQCAtMCwwICsxLDk4IEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9ub3RfZXF1YWxfdG8uaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVGFnMQorICAgICwgdHlwZW5hbWUgVGFnMgorICAgID4KK3N0cnVjdCBub3RfZXF1YWxfdG9faW1wbAorICAgIDogaWZfYzwKKyAgICAgICAgICAoIEJPT1NUX01QTF9BVVhfTkVTVEVEX1ZBTFVFX1dLTkQoaW50LCBUYWcxKQorICAgICAgICAgICAgICA+IEJPT1NUX01QTF9BVVhfTkVTVEVEX1ZBTFVFX1dLTkQoaW50LCBUYWcyKQorICAgICAgICAgICAgKQorCisgICAgICAgICwgYXV4OjpjYXN0Mm5kX2ltcGw8IG5vdF9lcXVhbF90b19pbXBsPCBUYWcxLFRhZzEgPixUYWcxLCBUYWcyID4KKyAgICAgICAgLCBhdXg6OmNhc3Qxc3RfaW1wbDwgbm90X2VxdWFsX3RvX2ltcGw8IFRhZzIsVGFnMiA+LFRhZzEsIFRhZzIgPgorICAgICAgICA+Ojp0eXBlCit7Cit9OworCisvLy8gZm9yIERpZ2l0YWwgTWFycyBDKysvY29tcGlsZXJzIHdpdGggbm8gQ1RQUy9UVFAgc3VwcG9ydAordGVtcGxhdGU8PiBzdHJ1Y3Qgbm90X2VxdWFsX3RvX2ltcGw8IG5hLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVGFnID4gc3RydWN0IG5vdF9lcXVhbF90b19pbXBsPCBuYSxUYWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUYWcgPiBzdHJ1Y3Qgbm90X2VxdWFsX3RvX2ltcGw8IFRhZyxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFQgPiBzdHJ1Y3Qgbm90X2VxdWFsX3RvX3RhZworeworICAgIHR5cGVkZWYgdHlwZW5hbWUgVDo6dGFnIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjEpCisgICAgLCB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4yKQorICAgID4KK3N0cnVjdCBub3RfZXF1YWxfdG8KKworICAgIDogbm90X2VxdWFsX3RvX2ltcGw8CisgICAgICAgICAgdHlwZW5hbWUgbm90X2VxdWFsX3RvX3RhZzxOMT46OnR5cGUKKyAgICAgICAgLCB0eXBlbmFtZSBub3RfZXF1YWxfdG9fdGFnPE4yPjo6dHlwZQorICAgICAgICA+Ojp0ZW1wbGF0ZSBhcHBseTwgTjEsTjIgPjo6dHlwZQoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoMiwgbm90X2VxdWFsX3RvLCAoTjEsIE4yKSkKKworfTsKKworQk9PU1RfTVBMX0FVWF9OQV9TUEVDMigyLCAyLCBub3RfZXF1YWxfdG8pCisKK319CisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3Qgbm90X2VxdWFsX3RvX2ltcGw8IGludGVncmFsX2NfdGFnLGludGVncmFsX2NfdGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgTjEsIHR5cGVuYW1lIE4yID4gc3RydWN0IGFwcGx5CisKKyAgICB7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChib29sLCB2YWx1ZSA9CisgICAgICAgICAgICAgKCBCT09TVF9NUExfQVVYX1ZBTFVFX1dLTkQoTjEpOjp2YWx1ZSAhPQorICAgICAgICAgICAgIEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChOMik6OnZhbHVlICkKKyAgICAgICAgICAgICk7CisgICAgICAgIHR5cGVkZWYgYm9vbF88dmFsdWU+IHR5cGU7CisgICAgfTsKK307CisKK319CmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fdHRwL29yLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9ub190dHAvb3IuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU5Mjk2MDIKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fdHRwL29yLmhwcApAQCAtMCwwICsxLDY5IEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9vci5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPCBib29sIENfLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNCA+CitzdHJ1Y3Qgb3JfaW1wbAorICAgIDogdHJ1ZV8KK3sKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNCA+CitzdHJ1Y3Qgb3JfaW1wbDwgZmFsc2UsVDEsVDIsVDMsVDQgPgorICAgIDogb3JfaW1wbDwKKyAgICAgICAgICBCT09TVF9NUExfQVVYX05FU1RFRF9UWVBFX1dLTkQoVDEpOjp2YWx1ZQorICAgICAgICAsIFQyLCBUMywgVDQKKyAgICAgICAgLCBmYWxzZV8KKyAgICAgICAgPgoreworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IG9yX2ltcGw8CisgICAgICAgICAgZmFsc2UKKyAgICAgICAgLCBmYWxzZV8sIGZhbHNlXywgZmFsc2VfLCBmYWxzZV8KKyAgICAgICAgPgorICAgIDogZmFsc2VfCit7Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKFQxKQorICAgICwgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShUMikKKyAgICAsIHR5cGVuYW1lIFQzID0gZmFsc2VfLCB0eXBlbmFtZSBUNCA9IGZhbHNlXywgdHlwZW5hbWUgVDUgPSBmYWxzZV8KKyAgICA+CitzdHJ1Y3Qgb3JfCisKKyAgICA6IGF1eDo6b3JfaW1wbDwKKyAgICAgICAgICBCT09TVF9NUExfQVVYX05FU1RFRF9UWVBFX1dLTkQoVDEpOjp2YWx1ZQorICAgICAgICAsIFQyLCBUMywgVDQsIFQ1CisgICAgICAgID4KKworeworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoCisgICAgICAgICAgNQorICAgICAgICAsIG9yXworICAgICAgICAsICggVDEsIFQyLCBUMywgVDQsIFQ1KQorICAgICAgICApCit9OworCitCT09TVF9NUExfQVVYX05BX1NQRUMyKAorICAgICAgMgorICAgICwgNQorICAgICwgb3JfCisgICAgKQorCit9fQpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL25vX3R0cC9wbGFjZWhvbGRlcnMuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL25vX3R0cC9wbGFjZWhvbGRlcnMuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVjZDQ1MTQKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fdHRwL3BsYWNlaG9sZGVycy5ocHAKQEAgLTAsMCArMSwxMDUgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMS0yMDA0CisvLyBDb3B5cmlnaHQgUGV0ZXIgRGltb3YgMjAwMS0yMDAzCisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL3BsYWNlaG9sZGVycy5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCitCT09TVF9NUExfQVVYX0FETF9CQVJSSUVSX05BTUVTUEFDRV9PUEVOCit0eXBlZGVmIGFyZzwgLTEgPiBfOworQk9PU1RfTVBMX0FVWF9BRExfQkFSUklFUl9OQU1FU1BBQ0VfQ0xPU0UKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCitCT09TVF9NUExfQVVYX0FSR19BRExfQkFSUklFUl9ERUNMKF8pCisKK25hbWVzcGFjZSBwbGFjZWhvbGRlcnMgewordXNpbmcgQk9PU1RfTVBMX0FVWF9BRExfQkFSUklFUl9OQU1FU1BBQ0U6Ol87Cit9CisKK319CisKKy8vLyBhZ3VydCwgMTcvbWFyLzAyOiBvbmUgbW9yZSBwbGFjZWhvbGRlciBmb3IgdGhlIGxhc3QgJ2FwcGx5IycgCisvLy8gc3BlY2lhbGl6YXRpb24KK0JPT1NUX01QTF9BVVhfQURMX0JBUlJJRVJfTkFNRVNQQUNFX09QRU4KK3R5cGVkZWYgYXJnPDE+IF8xOworCitCT09TVF9NUExfQVVYX0FETF9CQVJSSUVSX05BTUVTUEFDRV9DTE9TRQorbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK0JPT1NUX01QTF9BVVhfQVJHX0FETF9CQVJSSUVSX0RFQ0woXzEpCisKK25hbWVzcGFjZSBwbGFjZWhvbGRlcnMgewordXNpbmcgQk9PU1RfTVBMX0FVWF9BRExfQkFSUklFUl9OQU1FU1BBQ0U6Ol8xOworfQorCit9fQorQk9PU1RfTVBMX0FVWF9BRExfQkFSUklFUl9OQU1FU1BBQ0VfT1BFTgordHlwZWRlZiBhcmc8Mj4gXzI7CisKK0JPT1NUX01QTF9BVVhfQURMX0JBUlJJRVJfTkFNRVNQQUNFX0NMT1NFCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKworQk9PU1RfTVBMX0FVWF9BUkdfQURMX0JBUlJJRVJfREVDTChfMikKKworbmFtZXNwYWNlIHBsYWNlaG9sZGVycyB7Cit1c2luZyBCT09TVF9NUExfQVVYX0FETF9CQVJSSUVSX05BTUVTUEFDRTo6XzI7Cit9CisKK319CitCT09TVF9NUExfQVVYX0FETF9CQVJSSUVSX05BTUVTUEFDRV9PUEVOCit0eXBlZGVmIGFyZzwzPiBfMzsKKworQk9PU1RfTVBMX0FVWF9BRExfQkFSUklFUl9OQU1FU1BBQ0VfQ0xPU0UKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCitCT09TVF9NUExfQVVYX0FSR19BRExfQkFSUklFUl9ERUNMKF8zKQorCituYW1lc3BhY2UgcGxhY2Vob2xkZXJzIHsKK3VzaW5nIEJPT1NUX01QTF9BVVhfQURMX0JBUlJJRVJfTkFNRVNQQUNFOjpfMzsKK30KKworfX0KK0JPT1NUX01QTF9BVVhfQURMX0JBUlJJRVJfTkFNRVNQQUNFX09QRU4KK3R5cGVkZWYgYXJnPDQ+IF80OworCitCT09TVF9NUExfQVVYX0FETF9CQVJSSUVSX05BTUVTUEFDRV9DTE9TRQorbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK0JPT1NUX01QTF9BVVhfQVJHX0FETF9CQVJSSUVSX0RFQ0woXzQpCisKK25hbWVzcGFjZSBwbGFjZWhvbGRlcnMgewordXNpbmcgQk9PU1RfTVBMX0FVWF9BRExfQkFSUklFUl9OQU1FU1BBQ0U6Ol80OworfQorCit9fQorQk9PU1RfTVBMX0FVWF9BRExfQkFSUklFUl9OQU1FU1BBQ0VfT1BFTgordHlwZWRlZiBhcmc8NT4gXzU7CisKK0JPT1NUX01QTF9BVVhfQURMX0JBUlJJRVJfTkFNRVNQQUNFX0NMT1NFCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKworQk9PU1RfTVBMX0FVWF9BUkdfQURMX0JBUlJJRVJfREVDTChfNSkKKworbmFtZXNwYWNlIHBsYWNlaG9sZGVycyB7Cit1c2luZyBCT09TVF9NUExfQVVYX0FETF9CQVJSSUVSX05BTUVTUEFDRTo6XzU7Cit9CisKK319CitCT09TVF9NUExfQVVYX0FETF9CQVJSSUVSX05BTUVTUEFDRV9PUEVOCit0eXBlZGVmIGFyZzw2PiBfNjsKKworQk9PU1RfTVBMX0FVWF9BRExfQkFSUklFUl9OQU1FU1BBQ0VfQ0xPU0UKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCitCT09TVF9NUExfQVVYX0FSR19BRExfQkFSUklFUl9ERUNMKF82KQorCituYW1lc3BhY2UgcGxhY2Vob2xkZXJzIHsKK3VzaW5nIEJPT1NUX01QTF9BVVhfQURMX0JBUlJJRVJfTkFNRVNQQUNFOjpfNjsKK30KKworfX0KZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9ub190dHAvcGx1cy5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fdHRwL3BsdXMuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI0ZDg4ZGIKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fdHRwL3BsdXMuaHBwCkBAIC0wLDAgKzEsMTU2IEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9wbHVzLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFRhZzEKKyAgICAsIHR5cGVuYW1lIFRhZzIKKyAgICA+CitzdHJ1Y3QgcGx1c19pbXBsCisgICAgOiBpZl9jPAorICAgICAgICAgICggQk9PU1RfTVBMX0FVWF9ORVNURURfVkFMVUVfV0tORChpbnQsIFRhZzEpCisgICAgICAgICAgICAgID4gQk9PU1RfTVBMX0FVWF9ORVNURURfVkFMVUVfV0tORChpbnQsIFRhZzIpCisgICAgICAgICAgICApCisKKyAgICAgICAgLCBhdXg6OmNhc3QybmRfaW1wbDwgcGx1c19pbXBsPCBUYWcxLFRhZzEgPixUYWcxLCBUYWcyID4KKyAgICAgICAgLCBhdXg6OmNhc3Qxc3RfaW1wbDwgcGx1c19pbXBsPCBUYWcyLFRhZzIgPixUYWcxLCBUYWcyID4KKyAgICAgICAgPjo6dHlwZQoreworfTsKKworLy8vIGZvciBEaWdpdGFsIE1hcnMgQysrL2NvbXBpbGVycyB3aXRoIG5vIENUUFMvVFRQIHN1cHBvcnQKK3RlbXBsYXRlPD4gc3RydWN0IHBsdXNfaW1wbDwgbmEsbmEgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUYWcgPiBzdHJ1Y3QgcGx1c19pbXBsPCBuYSxUYWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUYWcgPiBzdHJ1Y3QgcGx1c19pbXBsPCBUYWcsbmEgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUID4gc3RydWN0IHBsdXNfdGFnCit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBUOjp0YWcgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMSkKKyAgICAsIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjIpCisgICAgLCB0eXBlbmFtZSBOMyA9IG5hLCB0eXBlbmFtZSBONCA9IG5hLCB0eXBlbmFtZSBONSA9IG5hCisgICAgPgorc3RydWN0IHBsdXMKKyAgICA6IHBsdXM8IHBsdXM8IHBsdXM8IHBsdXM8IE4xLE4yID4sIE4zPiwgTjQ+LCBONT4KK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKAorICAgICAgICAgIDUKKyAgICAgICAgLCBwbHVzCisgICAgICAgICwgKCBOMSwgTjIsIE4zLCBONCwgTjUgKQorICAgICAgICApCit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIE4xLCB0eXBlbmFtZSBOMiwgdHlwZW5hbWUgTjMsIHR5cGVuYW1lIE40CisgICAgPgorc3RydWN0IHBsdXM8IE4xLE4yLE4zLE40LG5hID4KKworICAgIDogcGx1czwgcGx1czwgcGx1czwgTjEsTjIgPiwgTjM+LCBOND4KK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUX1NQRUMoCisgICAgICAgICAgNQorICAgICAgICAsIHBsdXMKKyAgICAgICAgLCAoIE4xLCBOMiwgTjMsIE40LCBuYSApCisgICAgICAgICkKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgTjEsIHR5cGVuYW1lIE4yLCB0eXBlbmFtZSBOMworICAgID4KK3N0cnVjdCBwbHVzPCBOMSxOMixOMyxuYSxuYSA+CisKKyAgICA6IHBsdXM8IHBsdXM8IE4xLE4yID4sIE4zPgoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlRfU1BFQygKKyAgICAgICAgICA1CisgICAgICAgICwgcGx1cworICAgICAgICAsICggTjEsIE4yLCBOMywgbmEsIG5hICkKKyAgICAgICAgKQorfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBOMSwgdHlwZW5hbWUgTjIKKyAgICA+CitzdHJ1Y3QgcGx1czwgTjEsTjIsbmEsbmEsbmEgPgorICAgIDogcGx1c19pbXBsPAorICAgICAgICAgIHR5cGVuYW1lIHBsdXNfdGFnPE4xPjo6dHlwZQorICAgICAgICAsIHR5cGVuYW1lIHBsdXNfdGFnPE4yPjo6dHlwZQorICAgICAgICA+Ojp0ZW1wbGF0ZSBhcHBseTwgTjEsTjIgPjo6dHlwZQoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlRfU1BFQygKKyAgICAgICAgICA1CisgICAgICAgICwgcGx1cworICAgICAgICAsICggTjEsIE4yLCBuYSwgbmEsIG5hICkKKyAgICAgICAgKQorCit9OworCitCT09TVF9NUExfQVVYX05BX1NQRUMyKDIsIDUsIHBsdXMpCisKK319CisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCituYW1lc3BhY2UgYXV4IHsKK3RlbXBsYXRlPCB0eXBlbmFtZSBULCBUIG4xLCBUIG4yID4KK3N0cnVjdCBwbHVzX3drbmQKK3sKKyAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoVCwgdmFsdWUgID0gKG4xICsgbjIpKTsKKyAgICB0eXBlZGVmIGludGVncmFsX2M8IFQsdmFsdWUgPiB0eXBlOworfTsKKworfQorCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcGx1c19pbXBsPCBpbnRlZ3JhbF9jX3RhZyxpbnRlZ3JhbF9jX3RhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIE4xLCB0eXBlbmFtZSBOMiA+IHN0cnVjdCBhcHBseQorICAgICAgICA6IGF1eDo6cGx1c193a25kPAorICAgICAgICAgICAgICB0eXBlbmFtZSBhdXg6Omxhcmdlc3RfaW50PAorICAgICAgICAgICAgICAgICAgdHlwZW5hbWUgTjE6OnZhbHVlX3R5cGUKKyAgICAgICAgICAgICAgICAsIHR5cGVuYW1lIE4yOjp2YWx1ZV90eXBlCisgICAgICAgICAgICAgICAgPjo6dHlwZQorICAgICAgICAgICAgLCBOMTo6dmFsdWUKKyAgICAgICAgICAgICwgTjI6OnZhbHVlCisgICAgICAgICAgICA+Ojp0eXBlCisKKyAgICB7CisgICAgfTsKK307CisKK319CmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fdHRwL3F1b3RlLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9ub190dHAvcXVvdGUuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNlNzdmYmEKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fdHRwL3F1b3RlLmhwcApAQCAtMCwwICsxLDExIEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9xdW90ZS5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fdHRwL3JldmVyc2VfZm9sZF9pbXBsLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9ub190dHAvcmV2ZXJzZV9mb2xkX2ltcGwuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdkM2FkNzUKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fdHRwL3JldmVyc2VfZm9sZF9pbXBsLmhwcApAQCAtMCwwICsxLDIzMSBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvYXV4Xy9yZXZlcnNlX2ZvbGRfaW1wbC5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsgbmFtZXNwYWNlIGF1eCB7CisKKy8vLyBmb3J3YXJkIGRlY2xhcmF0aW9uCisKK3RlbXBsYXRlPAorICAgICAgbG9uZyBOCisgICAgLCB0eXBlbmFtZSBGaXJzdAorICAgICwgdHlwZW5hbWUgTGFzdAorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEJhY2t3YXJkT3AKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgID4KK3N0cnVjdCByZXZlcnNlX2ZvbGRfaW1wbDsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGaXJzdAorICAgICwgdHlwZW5hbWUgTGFzdAorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEJhY2t3YXJkT3AKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgID4KK3N0cnVjdCByZXZlcnNlX2ZvbGRfaW1wbDwgMCxGaXJzdCxMYXN0LFN0YXRlLEJhY2t3YXJkT3AsRm9yd2FyZE9wID4KK3sKKyAgICB0eXBlZGVmIEZpcnN0IGl0ZXIwOworICAgIHR5cGVkZWYgU3RhdGUgZndkX3N0YXRlMDsKKyAgICB0eXBlZGVmIGZ3ZF9zdGF0ZTAgYmt3ZF9zdGF0ZTA7CisgICAgdHlwZWRlZiBia3dkX3N0YXRlMCBzdGF0ZTsKKyAgICB0eXBlZGVmIGl0ZXIwIGl0ZXJhdG9yOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGaXJzdAorICAgICwgdHlwZW5hbWUgTGFzdAorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEJhY2t3YXJkT3AKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgID4KK3N0cnVjdCByZXZlcnNlX2ZvbGRfaW1wbDwgMSxGaXJzdCxMYXN0LFN0YXRlLEJhY2t3YXJkT3AsRm9yd2FyZE9wID4KK3sKKyAgICB0eXBlZGVmIEZpcnN0IGl0ZXIwOworICAgIHR5cGVkZWYgU3RhdGUgZndkX3N0YXRlMDsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLCBmd2Rfc3RhdGUwLCB0eXBlbmFtZSBkZXJlZjxpdGVyMD46OnR5cGUgPjo6dHlwZSBmd2Rfc3RhdGUxOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIwPjo6dHlwZSBpdGVyMTsKKyAgICAKKworICAgIHR5cGVkZWYgZndkX3N0YXRlMSBia3dkX3N0YXRlMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgQmFja3dhcmRPcCwgYmt3ZF9zdGF0ZTEsIHR5cGVuYW1lIGRlcmVmPGl0ZXIwPjo6dHlwZSA+Ojp0eXBlIGJrd2Rfc3RhdGUwOworICAgIHR5cGVkZWYgYmt3ZF9zdGF0ZTAgc3RhdGU7CisgICAgdHlwZWRlZiBpdGVyMSBpdGVyYXRvcjsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBCYWNrd2FyZE9wCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+CitzdHJ1Y3QgcmV2ZXJzZV9mb2xkX2ltcGw8IDIsRmlyc3QsTGFzdCxTdGF0ZSxCYWNrd2FyZE9wLEZvcndhcmRPcCA+Cit7CisgICAgdHlwZWRlZiBGaXJzdCBpdGVyMDsKKyAgICB0eXBlZGVmIFN0YXRlIGZ3ZF9zdGF0ZTA7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCwgZndkX3N0YXRlMCwgdHlwZW5hbWUgZGVyZWY8aXRlcjA+Ojp0eXBlID46OnR5cGUgZndkX3N0YXRlMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMD46OnR5cGUgaXRlcjE7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCwgZndkX3N0YXRlMSwgdHlwZW5hbWUgZGVyZWY8aXRlcjE+Ojp0eXBlID46OnR5cGUgZndkX3N0YXRlMjsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMT46OnR5cGUgaXRlcjI7CisgICAgCisKKyAgICB0eXBlZGVmIGZ3ZF9zdGF0ZTIgYmt3ZF9zdGF0ZTI7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEJhY2t3YXJkT3AsIGJrd2Rfc3RhdGUyLCB0eXBlbmFtZSBkZXJlZjxpdGVyMT46OnR5cGUgPjo6dHlwZSBia3dkX3N0YXRlMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgQmFja3dhcmRPcCwgYmt3ZF9zdGF0ZTEsIHR5cGVuYW1lIGRlcmVmPGl0ZXIwPjo6dHlwZSA+Ojp0eXBlIGJrd2Rfc3RhdGUwOworICAgIAorCisgICAgdHlwZWRlZiBia3dkX3N0YXRlMCBzdGF0ZTsKKyAgICB0eXBlZGVmIGl0ZXIyIGl0ZXJhdG9yOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGaXJzdAorICAgICwgdHlwZW5hbWUgTGFzdAorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEJhY2t3YXJkT3AKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgID4KK3N0cnVjdCByZXZlcnNlX2ZvbGRfaW1wbDwgMyxGaXJzdCxMYXN0LFN0YXRlLEJhY2t3YXJkT3AsRm9yd2FyZE9wID4KK3sKKyAgICB0eXBlZGVmIEZpcnN0IGl0ZXIwOworICAgIHR5cGVkZWYgU3RhdGUgZndkX3N0YXRlMDsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLCBmd2Rfc3RhdGUwLCB0eXBlbmFtZSBkZXJlZjxpdGVyMD46OnR5cGUgPjo6dHlwZSBmd2Rfc3RhdGUxOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIwPjo6dHlwZSBpdGVyMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLCBmd2Rfc3RhdGUxLCB0eXBlbmFtZSBkZXJlZjxpdGVyMT46OnR5cGUgPjo6dHlwZSBmd2Rfc3RhdGUyOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIxPjo6dHlwZSBpdGVyMjsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLCBmd2Rfc3RhdGUyLCB0eXBlbmFtZSBkZXJlZjxpdGVyMj46OnR5cGUgPjo6dHlwZSBmd2Rfc3RhdGUzOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIyPjo6dHlwZSBpdGVyMzsKKyAgICAKKworICAgIHR5cGVkZWYgZndkX3N0YXRlMyBia3dkX3N0YXRlMzsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgQmFja3dhcmRPcCwgYmt3ZF9zdGF0ZTMsIHR5cGVuYW1lIGRlcmVmPGl0ZXIyPjo6dHlwZSA+Ojp0eXBlIGJrd2Rfc3RhdGUyOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLCBia3dkX3N0YXRlMiwgdHlwZW5hbWUgZGVyZWY8aXRlcjE+Ojp0eXBlID46OnR5cGUgYmt3ZF9zdGF0ZTE7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEJhY2t3YXJkT3AsIGJrd2Rfc3RhdGUxLCB0eXBlbmFtZSBkZXJlZjxpdGVyMD46OnR5cGUgPjo6dHlwZSBia3dkX3N0YXRlMDsKKyAgICAKKworICAgIHR5cGVkZWYgYmt3ZF9zdGF0ZTAgc3RhdGU7CisgICAgdHlwZWRlZiBpdGVyMyBpdGVyYXRvcjsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBCYWNrd2FyZE9wCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+CitzdHJ1Y3QgcmV2ZXJzZV9mb2xkX2ltcGw8IDQsRmlyc3QsTGFzdCxTdGF0ZSxCYWNrd2FyZE9wLEZvcndhcmRPcCA+Cit7CisgICAgdHlwZWRlZiBGaXJzdCBpdGVyMDsKKyAgICB0eXBlZGVmIFN0YXRlIGZ3ZF9zdGF0ZTA7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCwgZndkX3N0YXRlMCwgdHlwZW5hbWUgZGVyZWY8aXRlcjA+Ojp0eXBlID46OnR5cGUgZndkX3N0YXRlMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMD46OnR5cGUgaXRlcjE7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCwgZndkX3N0YXRlMSwgdHlwZW5hbWUgZGVyZWY8aXRlcjE+Ojp0eXBlID46OnR5cGUgZndkX3N0YXRlMjsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMT46OnR5cGUgaXRlcjI7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCwgZndkX3N0YXRlMiwgdHlwZW5hbWUgZGVyZWY8aXRlcjI+Ojp0eXBlID46OnR5cGUgZndkX3N0YXRlMzsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMj46OnR5cGUgaXRlcjM7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCwgZndkX3N0YXRlMywgdHlwZW5hbWUgZGVyZWY8aXRlcjM+Ojp0eXBlID46OnR5cGUgZndkX3N0YXRlNDsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMz46OnR5cGUgaXRlcjQ7CisgICAgCisKKyAgICB0eXBlZGVmIGZ3ZF9zdGF0ZTQgYmt3ZF9zdGF0ZTQ7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEJhY2t3YXJkT3AsIGJrd2Rfc3RhdGU0LCB0eXBlbmFtZSBkZXJlZjxpdGVyMz46OnR5cGUgPjo6dHlwZSBia3dkX3N0YXRlMzsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgQmFja3dhcmRPcCwgYmt3ZF9zdGF0ZTMsIHR5cGVuYW1lIGRlcmVmPGl0ZXIyPjo6dHlwZSA+Ojp0eXBlIGJrd2Rfc3RhdGUyOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLCBia3dkX3N0YXRlMiwgdHlwZW5hbWUgZGVyZWY8aXRlcjE+Ojp0eXBlID46OnR5cGUgYmt3ZF9zdGF0ZTE7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEJhY2t3YXJkT3AsIGJrd2Rfc3RhdGUxLCB0eXBlbmFtZSBkZXJlZjxpdGVyMD46OnR5cGUgPjo6dHlwZSBia3dkX3N0YXRlMDsKKyAgICAKKworICAgIHR5cGVkZWYgYmt3ZF9zdGF0ZTAgc3RhdGU7CisgICAgdHlwZWRlZiBpdGVyNCBpdGVyYXRvcjsKK307CisKK3RlbXBsYXRlPAorICAgICAgbG9uZyBOCisgICAgLCB0eXBlbmFtZSBGaXJzdAorICAgICwgdHlwZW5hbWUgTGFzdAorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEJhY2t3YXJkT3AKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgID4KK3N0cnVjdCByZXZlcnNlX2ZvbGRfaW1wbAoreworICAgIHR5cGVkZWYgRmlyc3QgaXRlcjA7CisgICAgdHlwZWRlZiBTdGF0ZSBmd2Rfc3RhdGUwOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsIGZ3ZF9zdGF0ZTAsIHR5cGVuYW1lIGRlcmVmPGl0ZXIwPjo6dHlwZSA+Ojp0eXBlIGZ3ZF9zdGF0ZTE7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjA+Ojp0eXBlIGl0ZXIxOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsIGZ3ZF9zdGF0ZTEsIHR5cGVuYW1lIGRlcmVmPGl0ZXIxPjo6dHlwZSA+Ojp0eXBlIGZ3ZF9zdGF0ZTI7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjE+Ojp0eXBlIGl0ZXIyOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsIGZ3ZF9zdGF0ZTIsIHR5cGVuYW1lIGRlcmVmPGl0ZXIyPjo6dHlwZSA+Ojp0eXBlIGZ3ZF9zdGF0ZTM7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjI+Ojp0eXBlIGl0ZXIzOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsIGZ3ZF9zdGF0ZTMsIHR5cGVuYW1lIGRlcmVmPGl0ZXIzPjo6dHlwZSA+Ojp0eXBlIGZ3ZF9zdGF0ZTQ7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjM+Ojp0eXBlIGl0ZXI0OworICAgIAorCisgICAgdHlwZWRlZiByZXZlcnNlX2ZvbGRfaW1wbDwKKyAgICAgICAgICAoIChOIC0gNCkgPCAwID8gMCA6IE4gLSA0ICkKKyAgICAgICAgLCBpdGVyNAorICAgICAgICAsIExhc3QKKyAgICAgICAgLCBmd2Rfc3RhdGU0CisgICAgICAgICwgQmFja3dhcmRPcAorICAgICAgICAsIEZvcndhcmRPcAorICAgICAgICA+IG5lc3RlZF9jaHVuazsKKworICAgIHR5cGVkZWYgdHlwZW5hbWUgbmVzdGVkX2NodW5rOjpzdGF0ZSBia3dkX3N0YXRlNDsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgQmFja3dhcmRPcCwgYmt3ZF9zdGF0ZTQsIHR5cGVuYW1lIGRlcmVmPGl0ZXIzPjo6dHlwZSA+Ojp0eXBlIGJrd2Rfc3RhdGUzOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLCBia3dkX3N0YXRlMywgdHlwZW5hbWUgZGVyZWY8aXRlcjI+Ojp0eXBlID46OnR5cGUgYmt3ZF9zdGF0ZTI7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEJhY2t3YXJkT3AsIGJrd2Rfc3RhdGUyLCB0eXBlbmFtZSBkZXJlZjxpdGVyMT46OnR5cGUgPjo6dHlwZSBia3dkX3N0YXRlMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgQmFja3dhcmRPcCwgYmt3ZF9zdGF0ZTEsIHR5cGVuYW1lIGRlcmVmPGl0ZXIwPjo6dHlwZSA+Ojp0eXBlIGJrd2Rfc3RhdGUwOworICAgIAorCisgICAgdHlwZWRlZiBia3dkX3N0YXRlMCBzdGF0ZTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG5lc3RlZF9jaHVuazo6aXRlcmF0b3IgaXRlcmF0b3I7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICwgdHlwZW5hbWUgQmFja3dhcmRPcAorICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgPgorc3RydWN0IHJldmVyc2VfZm9sZF9pbXBsPCAtMSxGaXJzdCxMYXN0LFN0YXRlLEJhY2t3YXJkT3AsRm9yd2FyZE9wID4KK3sKKyAgICB0eXBlZGVmIHJldmVyc2VfZm9sZF9pbXBsPAorICAgICAgICAgIC0xCisgICAgICAgICwgdHlwZW5hbWUgbXBsOjpuZXh0PEZpcnN0Pjo6dHlwZQorICAgICAgICAsIExhc3QKKyAgICAgICAgLCB0eXBlbmFtZSBhcHBseTI8Rm9yd2FyZE9wLFN0YXRlLCB0eXBlbmFtZSBkZXJlZjxGaXJzdD46OnR5cGU+Ojp0eXBlCisgICAgICAgICwgQmFja3dhcmRPcAorICAgICAgICAsIEZvcndhcmRPcAorICAgICAgICA+IG5lc3RlZF9zdGVwOworCisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8CisgICAgICAgICAgQmFja3dhcmRPcAorICAgICAgICAsIHR5cGVuYW1lIG5lc3RlZF9zdGVwOjpzdGF0ZQorICAgICAgICAsIHR5cGVuYW1lIGRlcmVmPEZpcnN0Pjo6dHlwZQorICAgICAgICA+Ojp0eXBlIHN0YXRlOworCisgICAgdHlwZWRlZiB0eXBlbmFtZSBuZXN0ZWRfc3RlcDo6aXRlcmF0b3IgaXRlcmF0b3I7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBCYWNrd2FyZE9wCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+CitzdHJ1Y3QgcmV2ZXJzZV9mb2xkX2ltcGw8IC0xLExhc3QsTGFzdCxTdGF0ZSxCYWNrd2FyZE9wLEZvcndhcmRPcCA+Cit7CisgICAgdHlwZWRlZiBTdGF0ZSBzdGF0ZTsKKyAgICB0eXBlZGVmIExhc3QgaXRlcmF0b3I7Cit9OworCit9fX0KZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9ub190dHAvcmV2ZXJzZV9pdGVyX2ZvbGRfaW1wbC5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fdHRwL3JldmVyc2VfaXRlcl9mb2xkX2ltcGwuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMzYmY1MDgKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fdHRwL3JldmVyc2VfaXRlcl9mb2xkX2ltcGwuaHBwCkBAIC0wLDAgKzEsMjMxIEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9hdXhfL3JldmVyc2VfaXRlcl9mb2xkX2ltcGwuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7IG5hbWVzcGFjZSBhdXggeworCisvLy8gZm9yd2FyZCBkZWNsYXJhdGlvbgorCit0ZW1wbGF0ZTwKKyAgICAgIGxvbmcgTgorICAgICwgdHlwZW5hbWUgRmlyc3QKKyAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBCYWNrd2FyZE9wCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+CitzdHJ1Y3QgcmV2ZXJzZV9pdGVyX2ZvbGRfaW1wbDsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGaXJzdAorICAgICwgdHlwZW5hbWUgTGFzdAorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEJhY2t3YXJkT3AKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgID4KK3N0cnVjdCByZXZlcnNlX2l0ZXJfZm9sZF9pbXBsPCAwLEZpcnN0LExhc3QsU3RhdGUsQmFja3dhcmRPcCxGb3J3YXJkT3AgPgoreworICAgIHR5cGVkZWYgRmlyc3QgaXRlcjA7CisgICAgdHlwZWRlZiBTdGF0ZSBmd2Rfc3RhdGUwOworICAgIHR5cGVkZWYgZndkX3N0YXRlMCBia3dkX3N0YXRlMDsKKyAgICB0eXBlZGVmIGJrd2Rfc3RhdGUwIHN0YXRlOworICAgIHR5cGVkZWYgaXRlcjAgaXRlcmF0b3I7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICwgdHlwZW5hbWUgQmFja3dhcmRPcAorICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgPgorc3RydWN0IHJldmVyc2VfaXRlcl9mb2xkX2ltcGw8IDEsRmlyc3QsTGFzdCxTdGF0ZSxCYWNrd2FyZE9wLEZvcndhcmRPcCA+Cit7CisgICAgdHlwZWRlZiBGaXJzdCBpdGVyMDsKKyAgICB0eXBlZGVmIFN0YXRlIGZ3ZF9zdGF0ZTA7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCxmd2Rfc3RhdGUwLGl0ZXIwID46OnR5cGUgZndkX3N0YXRlMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMD46OnR5cGUgaXRlcjE7CisgICAgCisKKyAgICB0eXBlZGVmIGZ3ZF9zdGF0ZTEgYmt3ZF9zdGF0ZTE7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEJhY2t3YXJkT3AsYmt3ZF9zdGF0ZTEsaXRlcjAgPjo6dHlwZSBia3dkX3N0YXRlMDsKKyAgICB0eXBlZGVmIGJrd2Rfc3RhdGUwIHN0YXRlOworICAgIHR5cGVkZWYgaXRlcjEgaXRlcmF0b3I7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICwgdHlwZW5hbWUgQmFja3dhcmRPcAorICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgPgorc3RydWN0IHJldmVyc2VfaXRlcl9mb2xkX2ltcGw8IDIsRmlyc3QsTGFzdCxTdGF0ZSxCYWNrd2FyZE9wLEZvcndhcmRPcCA+Cit7CisgICAgdHlwZWRlZiBGaXJzdCBpdGVyMDsKKyAgICB0eXBlZGVmIFN0YXRlIGZ3ZF9zdGF0ZTA7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCxmd2Rfc3RhdGUwLGl0ZXIwID46OnR5cGUgZndkX3N0YXRlMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMD46OnR5cGUgaXRlcjE7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCxmd2Rfc3RhdGUxLGl0ZXIxID46OnR5cGUgZndkX3N0YXRlMjsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMT46OnR5cGUgaXRlcjI7CisgICAgCisKKyAgICB0eXBlZGVmIGZ3ZF9zdGF0ZTIgYmt3ZF9zdGF0ZTI7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEJhY2t3YXJkT3AsYmt3ZF9zdGF0ZTIsaXRlcjEgPjo6dHlwZSBia3dkX3N0YXRlMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgQmFja3dhcmRPcCxia3dkX3N0YXRlMSxpdGVyMCA+Ojp0eXBlIGJrd2Rfc3RhdGUwOworICAgIAorCisgICAgdHlwZWRlZiBia3dkX3N0YXRlMCBzdGF0ZTsKKyAgICB0eXBlZGVmIGl0ZXIyIGl0ZXJhdG9yOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGaXJzdAorICAgICwgdHlwZW5hbWUgTGFzdAorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEJhY2t3YXJkT3AKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgID4KK3N0cnVjdCByZXZlcnNlX2l0ZXJfZm9sZF9pbXBsPCAzLEZpcnN0LExhc3QsU3RhdGUsQmFja3dhcmRPcCxGb3J3YXJkT3AgPgoreworICAgIHR5cGVkZWYgRmlyc3QgaXRlcjA7CisgICAgdHlwZWRlZiBTdGF0ZSBmd2Rfc3RhdGUwOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsZndkX3N0YXRlMCxpdGVyMCA+Ojp0eXBlIGZ3ZF9zdGF0ZTE7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjA+Ojp0eXBlIGl0ZXIxOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsZndkX3N0YXRlMSxpdGVyMSA+Ojp0eXBlIGZ3ZF9zdGF0ZTI7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjE+Ojp0eXBlIGl0ZXIyOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsZndkX3N0YXRlMixpdGVyMiA+Ojp0eXBlIGZ3ZF9zdGF0ZTM7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjI+Ojp0eXBlIGl0ZXIzOworICAgIAorCisgICAgdHlwZWRlZiBmd2Rfc3RhdGUzIGJrd2Rfc3RhdGUzOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLGJrd2Rfc3RhdGUzLGl0ZXIyID46OnR5cGUgYmt3ZF9zdGF0ZTI7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEJhY2t3YXJkT3AsYmt3ZF9zdGF0ZTIsaXRlcjEgPjo6dHlwZSBia3dkX3N0YXRlMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgQmFja3dhcmRPcCxia3dkX3N0YXRlMSxpdGVyMCA+Ojp0eXBlIGJrd2Rfc3RhdGUwOworICAgIAorCisgICAgdHlwZWRlZiBia3dkX3N0YXRlMCBzdGF0ZTsKKyAgICB0eXBlZGVmIGl0ZXIzIGl0ZXJhdG9yOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGaXJzdAorICAgICwgdHlwZW5hbWUgTGFzdAorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEJhY2t3YXJkT3AKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgID4KK3N0cnVjdCByZXZlcnNlX2l0ZXJfZm9sZF9pbXBsPCA0LEZpcnN0LExhc3QsU3RhdGUsQmFja3dhcmRPcCxGb3J3YXJkT3AgPgoreworICAgIHR5cGVkZWYgRmlyc3QgaXRlcjA7CisgICAgdHlwZWRlZiBTdGF0ZSBmd2Rfc3RhdGUwOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsZndkX3N0YXRlMCxpdGVyMCA+Ojp0eXBlIGZ3ZF9zdGF0ZTE7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjA+Ojp0eXBlIGl0ZXIxOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsZndkX3N0YXRlMSxpdGVyMSA+Ojp0eXBlIGZ3ZF9zdGF0ZTI7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjE+Ojp0eXBlIGl0ZXIyOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsZndkX3N0YXRlMixpdGVyMiA+Ojp0eXBlIGZ3ZF9zdGF0ZTM7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjI+Ojp0eXBlIGl0ZXIzOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsZndkX3N0YXRlMyxpdGVyMyA+Ojp0eXBlIGZ3ZF9zdGF0ZTQ7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjM+Ojp0eXBlIGl0ZXI0OworICAgIAorCisgICAgdHlwZWRlZiBmd2Rfc3RhdGU0IGJrd2Rfc3RhdGU0OworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLGJrd2Rfc3RhdGU0LGl0ZXIzID46OnR5cGUgYmt3ZF9zdGF0ZTM7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEJhY2t3YXJkT3AsYmt3ZF9zdGF0ZTMsaXRlcjIgPjo6dHlwZSBia3dkX3N0YXRlMjsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgQmFja3dhcmRPcCxia3dkX3N0YXRlMixpdGVyMSA+Ojp0eXBlIGJrd2Rfc3RhdGUxOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLGJrd2Rfc3RhdGUxLGl0ZXIwID46OnR5cGUgYmt3ZF9zdGF0ZTA7CisgICAgCisKKyAgICB0eXBlZGVmIGJrd2Rfc3RhdGUwIHN0YXRlOworICAgIHR5cGVkZWYgaXRlcjQgaXRlcmF0b3I7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIGxvbmcgTgorICAgICwgdHlwZW5hbWUgRmlyc3QKKyAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBCYWNrd2FyZE9wCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+CitzdHJ1Y3QgcmV2ZXJzZV9pdGVyX2ZvbGRfaW1wbAoreworICAgIHR5cGVkZWYgRmlyc3QgaXRlcjA7CisgICAgdHlwZWRlZiBTdGF0ZSBmd2Rfc3RhdGUwOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsZndkX3N0YXRlMCxpdGVyMCA+Ojp0eXBlIGZ3ZF9zdGF0ZTE7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjA+Ojp0eXBlIGl0ZXIxOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsZndkX3N0YXRlMSxpdGVyMSA+Ojp0eXBlIGZ3ZF9zdGF0ZTI7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjE+Ojp0eXBlIGl0ZXIyOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsZndkX3N0YXRlMixpdGVyMiA+Ojp0eXBlIGZ3ZF9zdGF0ZTM7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjI+Ojp0eXBlIGl0ZXIzOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsZndkX3N0YXRlMyxpdGVyMyA+Ojp0eXBlIGZ3ZF9zdGF0ZTQ7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjM+Ojp0eXBlIGl0ZXI0OworICAgIAorCisgICAgdHlwZWRlZiByZXZlcnNlX2l0ZXJfZm9sZF9pbXBsPAorICAgICAgICAgICggKE4gLSA0KSA8IDAgPyAwIDogTiAtIDQgKQorICAgICAgICAsIGl0ZXI0CisgICAgICAgICwgTGFzdAorICAgICAgICAsIGZ3ZF9zdGF0ZTQKKyAgICAgICAgLCBCYWNrd2FyZE9wCisgICAgICAgICwgRm9yd2FyZE9wCisgICAgICAgID4gbmVzdGVkX2NodW5rOworCisgICAgdHlwZWRlZiB0eXBlbmFtZSBuZXN0ZWRfY2h1bms6OnN0YXRlIGJrd2Rfc3RhdGU0OworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLGJrd2Rfc3RhdGU0LGl0ZXIzID46OnR5cGUgYmt3ZF9zdGF0ZTM7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEJhY2t3YXJkT3AsYmt3ZF9zdGF0ZTMsaXRlcjIgPjo6dHlwZSBia3dkX3N0YXRlMjsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgQmFja3dhcmRPcCxia3dkX3N0YXRlMixpdGVyMSA+Ojp0eXBlIGJrd2Rfc3RhdGUxOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLGJrd2Rfc3RhdGUxLGl0ZXIwID46OnR5cGUgYmt3ZF9zdGF0ZTA7CisgICAgCisKKyAgICB0eXBlZGVmIGJrd2Rfc3RhdGUwIHN0YXRlOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbmVzdGVkX2NodW5rOjppdGVyYXRvciBpdGVyYXRvcjsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBCYWNrd2FyZE9wCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+CitzdHJ1Y3QgcmV2ZXJzZV9pdGVyX2ZvbGRfaW1wbDwgLTEsRmlyc3QsTGFzdCxTdGF0ZSxCYWNrd2FyZE9wLEZvcndhcmRPcCA+Cit7CisgICAgdHlwZWRlZiByZXZlcnNlX2l0ZXJfZm9sZF9pbXBsPAorICAgICAgICAgIC0xCisgICAgICAgICwgdHlwZW5hbWUgbXBsOjpuZXh0PEZpcnN0Pjo6dHlwZQorICAgICAgICAsIExhc3QKKyAgICAgICAgLCB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCxTdGF0ZSxGaXJzdCA+Ojp0eXBlCisgICAgICAgICwgQmFja3dhcmRPcAorICAgICAgICAsIEZvcndhcmRPcAorICAgICAgICA+IG5lc3RlZF9zdGVwOworCisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8CisgICAgICAgICAgQmFja3dhcmRPcAorICAgICAgICAsIHR5cGVuYW1lIG5lc3RlZF9zdGVwOjpzdGF0ZQorICAgICAgICAsIEZpcnN0CisgICAgICAgID46OnR5cGUgc3RhdGU7CisKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG5lc3RlZF9zdGVwOjppdGVyYXRvciBpdGVyYXRvcjsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgTGFzdAorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEJhY2t3YXJkT3AKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgID4KK3N0cnVjdCByZXZlcnNlX2l0ZXJfZm9sZF9pbXBsPCAtMSxMYXN0LExhc3QsU3RhdGUsQmFja3dhcmRPcCxGb3J3YXJkT3AgPgoreworICAgIHR5cGVkZWYgU3RhdGUgc3RhdGU7CisgICAgdHlwZWRlZiBMYXN0IGl0ZXJhdG9yOworfTsKKworfX19CmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fdHRwL3NldC5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fdHRwL3NldC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGM0Y2ExMQotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9ub190dHAvc2V0LmhwcApAQCAtMCwwICsxLDMyMyBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvc2V0LmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwID0gbmEsIHR5cGVuYW1lIFQxID0gbmEsIHR5cGVuYW1lIFQyID0gbmEsIHR5cGVuYW1lIFQzID0gbmEKKyAgICAsIHR5cGVuYW1lIFQ0ID0gbmEsIHR5cGVuYW1lIFQ1ID0gbmEsIHR5cGVuYW1lIFQ2ID0gbmEsIHR5cGVuYW1lIFQ3ID0gbmEKKyAgICAsIHR5cGVuYW1lIFQ4ID0gbmEsIHR5cGVuYW1lIFQ5ID0gbmEsIHR5cGVuYW1lIFQxMCA9IG5hLCB0eXBlbmFtZSBUMTEgPSBuYQorICAgICwgdHlwZW5hbWUgVDEyID0gbmEsIHR5cGVuYW1lIFQxMyA9IG5hLCB0eXBlbmFtZSBUMTQgPSBuYQorICAgICwgdHlwZW5hbWUgVDE1ID0gbmEsIHR5cGVuYW1lIFQxNiA9IG5hLCB0eXBlbmFtZSBUMTcgPSBuYQorICAgICwgdHlwZW5hbWUgVDE4ID0gbmEsIHR5cGVuYW1lIFQxOSA9IG5hCisgICAgPgorc3RydWN0IHNldDsKKwordGVtcGxhdGU8CisgICAgIAorICAgID4KK3N0cnVjdCBzZXQ8CisgICAgICAgICAgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBzZXQwPCAgPgoreworICAgIHR5cGVkZWYgc2V0MDwgID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAKKyAgICA+CitzdHJ1Y3Qgc2V0PAorICAgICAgICAgIFQwLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogc2V0MTxUMD4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDE8VDA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMQorICAgID4KK3N0cnVjdCBzZXQ8CisgICAgICAgICAgVDAsIFQxLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBzZXQyPCBUMCxUMSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQyPCBUMCxUMSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIKKyAgICA+CitzdHJ1Y3Qgc2V0PAorICAgICAgICAgIFQwLCBUMSwgVDIsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogc2V0MzwgVDAsVDEsVDIgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0MzwgVDAsVDEsVDIgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMworICAgID4KK3N0cnVjdCBzZXQ8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBzZXQ0PCBUMCxUMSxUMixUMyA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQ0PCBUMCxUMSxUMixUMyA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgID4KK3N0cnVjdCBzZXQ8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBzZXQ1PCBUMCxUMSxUMixUMyxUNCA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQ1PCBUMCxUMSxUMixUMyxUNCA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUKKyAgICA+CitzdHJ1Y3Qgc2V0PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogc2V0NjwgVDAsVDEsVDIsVDMsVDQsVDUgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0NjwgVDAsVDEsVDIsVDMsVDQsVDUgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNgorICAgID4KK3N0cnVjdCBzZXQ8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBzZXQ3PCBUMCxUMSxUMixUMyxUNCxUNSxUNiA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQ3PCBUMCxUMSxUMixUMyxUNCxUNSxUNiA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNworICAgID4KK3N0cnVjdCBzZXQ8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBzZXQ4PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQ4PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgKKyAgICA+CitzdHJ1Y3Qgc2V0PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogc2V0OTwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDggPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0OTwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDggPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgID4KK3N0cnVjdCBzZXQ8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBzZXQxMDwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDkgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0MTA8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMAorICAgID4KK3N0cnVjdCBzZXQ8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogc2V0MTE8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQxMTwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExCisgICAgPgorc3RydWN0IHNldDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogc2V0MTI8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0MTI8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMgorICAgID4KK3N0cnVjdCBzZXQ8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBzZXQxMzwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0MTM8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMworICAgID4KK3N0cnVjdCBzZXQ8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogc2V0MTQ8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQxNDwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgPgorc3RydWN0IHNldDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogc2V0MTU8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDE1PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMsVDE0ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgLCB0eXBlbmFtZSBUMTUKKyAgICA+CitzdHJ1Y3Qgc2V0PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogc2V0MTY8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDE2PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMsVDE0LFQxNSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYKKyAgICA+CitzdHJ1Y3Qgc2V0PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgVDE2LCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHNldDE3PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgVDE2CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDE3PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMsVDE0LFQxNSxUMTYgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcKKyAgICA+CitzdHJ1Y3Qgc2V0PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgVDE2LCBUMTcsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBzZXQxODwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgLCBUMTUsIFQxNiwgVDE3CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDE4PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMsVDE0LFQxNSxUMTYsVDE3ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgKKyAgICA+CitzdHJ1Y3Qgc2V0PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgVDE2LCBUMTcsIFQxOCwgbmEKKyAgICAgICAgPgorICAgIDogc2V0MTk8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1LCBUMTYsIFQxNywgVDE4CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDE5PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMsVDE0LFQxNSxUMTYsVDE3LFQxOCA+Ojp0eXBlIHR5cGU7Cit9OworCisvLy8gcHJpbWFyeSB0ZW1wbGF0ZSAobm90IGEgc3BlY2lhbGl6YXRpb24hKQorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICA+CitzdHJ1Y3Qgc2V0CisgICAgOiBzZXQyMDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgLCBUMTUsIFQxNiwgVDE3LCBUMTgsIFQxOQorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQyMDwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzLFQxNCxUMTUsVDE2LFQxNyxUMTgsVDE5ID46OnR5cGUgdHlwZTsKK307CisKK319CisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9ub190dHAvc2V0X2MuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL25vX3R0cC9zZXRfYy5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmVmMmZkZQotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9ub190dHAvc2V0X2MuaHBwCkBAIC0wLDAgKzEsMzI4IEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9zZXRfYy5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwID0gTE9OR19NQVgsIGxvbmcgQzEgPSBMT05HX01BWCwgbG9uZyBDMiA9IExPTkdfTUFYCisgICAgLCBsb25nIEMzID0gTE9OR19NQVgsIGxvbmcgQzQgPSBMT05HX01BWCwgbG9uZyBDNSA9IExPTkdfTUFYCisgICAgLCBsb25nIEM2ID0gTE9OR19NQVgsIGxvbmcgQzcgPSBMT05HX01BWCwgbG9uZyBDOCA9IExPTkdfTUFYCisgICAgLCBsb25nIEM5ID0gTE9OR19NQVgsIGxvbmcgQzEwID0gTE9OR19NQVgsIGxvbmcgQzExID0gTE9OR19NQVgKKyAgICAsIGxvbmcgQzEyID0gTE9OR19NQVgsIGxvbmcgQzEzID0gTE9OR19NQVgsIGxvbmcgQzE0ID0gTE9OR19NQVgKKyAgICAsIGxvbmcgQzE1ID0gTE9OR19NQVgsIGxvbmcgQzE2ID0gTE9OR19NQVgsIGxvbmcgQzE3ID0gTE9OR19NQVgKKyAgICAsIGxvbmcgQzE4ID0gTE9OR19NQVgsIGxvbmcgQzE5ID0gTE9OR19NQVgKKyAgICA+CitzdHJ1Y3Qgc2V0X2M7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVAorICAgID4KK3N0cnVjdCBzZXRfYzwKKyAgICAgICAgICBULCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiBzZXQwX2M8VD4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDBfYzxUPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwCisgICAgPgorc3RydWN0IHNldF9jPAorICAgICAgICAgIFQsIEMwLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IHNldDFfYzwgVCxDMCA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQxX2M8IFQsQzAgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxCisgICAgPgorc3RydWN0IHNldF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IHNldDJfYzwgVCxDMCxDMSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQyX2M8IFQsQzAsQzEgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyCisgICAgPgorc3RydWN0IHNldF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IHNldDNfYzwgVCxDMCxDMSxDMiA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQzX2M8IFQsQzAsQzEsQzIgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzCisgICAgPgorc3RydWN0IHNldF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IHNldDRfYzwgVCxDMCxDMSxDMixDMyA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQ0X2M8IFQsQzAsQzEsQzIsQzMgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0CisgICAgPgorc3RydWN0IHNldF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IHNldDVfYzwgVCxDMCxDMSxDMixDMyxDNCA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQ1X2M8IFQsQzAsQzEsQzIsQzMsQzQgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgPgorc3RydWN0IHNldF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IHNldDZfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQ2X2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2CisgICAgPgorc3RydWN0IHNldF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IHNldDdfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNiA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQ3X2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3CisgICAgPgorc3RydWN0IHNldF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IHNldDhfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQ4X2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4CisgICAgPgorc3RydWN0IHNldF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IHNldDlfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyxDOCA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQ5X2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcsQzggPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5CisgICAgPgorc3RydWN0IHNldF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IHNldDEwX2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcsQzgsQzkgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0MTBfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyxDOCxDOSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwCisgICAgPgorc3RydWN0IHNldF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IHNldDExX2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcsQzgsQzksQzEwID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDExX2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcsQzgsQzksQzEwID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExCisgICAgPgorc3RydWN0IHNldF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiBzZXQxMl9jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2LEM3LEM4LEM5LEMxMCxDMTEgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0MTJfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyxDOCxDOSxDMTAsQzExID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgID4KK3N0cnVjdCBzZXRfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIEMxMiwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IHNldDEzX2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcsQzgsQzksQzEwLEMxMSxDMTIgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0MTNfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyxDOCxDOSxDMTAsQzExLEMxMiA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAsIGxvbmcgQzEzCisgICAgPgorc3RydWN0IHNldF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IHNldDE0X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBDMTIsIEMxMworICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQxNF9jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2LEM3LEM4LEM5LEMxMCxDMTEsQzEyLEMxMyA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAsIGxvbmcgQzEzLCBsb25nIEMxNAorICAgID4KK3N0cnVjdCBzZXRfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIEMxMiwgQzEzLCBDMTQKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogc2V0MTVfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIEMxMiwgQzEzLCBDMTQKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0MTVfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyxDOCxDOSxDMTAsQzExLEMxMixDMTMsQzE0ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNQorICAgID4KK3N0cnVjdCBzZXRfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIEMxMiwgQzEzLCBDMTQKKyAgICAgICAgLCBDMTUsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IHNldDE2X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBDMTIsIEMxMywgQzE0CisgICAgICAgICwgQzE1CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDE2X2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcsQzgsQzksQzEwLEMxMSxDMTIsQzEzLEMxNCxDMTUgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1LCBsb25nIEMxNgorICAgID4KK3N0cnVjdCBzZXRfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIEMxMiwgQzEzLCBDMTQKKyAgICAgICAgLCBDMTUsIEMxNiwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiBzZXQxN19jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMsIEMxNAorICAgICAgICAsIEMxNSwgQzE2CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDE3X2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcsQzgsQzksQzEwLEMxMSxDMTIsQzEzLEMxNCxDMTUsQzE2ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNSwgbG9uZyBDMTYsIGxvbmcgQzE3CisgICAgPgorc3RydWN0IHNldF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMsIEMxNAorICAgICAgICAsIEMxNSwgQzE2LCBDMTcsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiBzZXQxOF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMsIEMxNAorICAgICAgICAsIEMxNSwgQzE2LCBDMTcKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0MThfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyxDOCxDOSxDMTAsQzExLEMxMixDMTMsQzE0LEMxNSxDMTYsQzE3ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNSwgbG9uZyBDMTYsIGxvbmcgQzE3LCBsb25nIEMxOAorICAgID4KK3N0cnVjdCBzZXRfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIEMxMiwgQzEzLCBDMTQKKyAgICAgICAgLCBDMTUsIEMxNiwgQzE3LCBDMTgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IHNldDE5X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBDMTIsIEMxMywgQzE0CisgICAgICAgICwgQzE1LCBDMTYsIEMxNywgQzE4CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDE5X2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcsQzgsQzksQzEwLEMxMSxDMTIsQzEzLEMxNCxDMTUsQzE2LEMxNyxDMTggPjo6dHlwZSB0eXBlOworfTsKKworLy8vIHByaW1hcnkgdGVtcGxhdGUgKG5vdCBhIHNwZWNpYWxpemF0aW9uISkKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1LCBsb25nIEMxNiwgbG9uZyBDMTcsIGxvbmcgQzE4LCBsb25nIEMxOQorICAgID4KK3N0cnVjdCBzZXRfYworICAgIDogc2V0MjBfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIEMxMiwgQzEzLCBDMTQKKyAgICAgICAgLCBDMTUsIEMxNiwgQzE3LCBDMTgsIEMxOQorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQyMF9jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2LEM3LEM4LEM5LEMxMCxDMTEsQzEyLEMxMyxDMTQsQzE1LEMxNixDMTcsQzE4LEMxOSA+Ojp0eXBlIHR5cGU7Cit9OworCit9fQorCmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fdHRwL3NoaWZ0X2xlZnQuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL25vX3R0cC9zaGlmdF9sZWZ0LmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNzA5M2Y0Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL25vX3R0cC9zaGlmdF9sZWZ0LmhwcApAQCAtMCwwICsxLDExMCBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vIENvcHlyaWdodCBKYWFwIFN1dGVyIDIwMDMKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvc2hpZnRfbGVmdC5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUYWcxCisgICAgLCB0eXBlbmFtZSBUYWcyCisgICAgPgorc3RydWN0IHNoaWZ0X2xlZnRfaW1wbAorICAgIDogaWZfYzwKKyAgICAgICAgICAoIEJPT1NUX01QTF9BVVhfTkVTVEVEX1ZBTFVFX1dLTkQoaW50LCBUYWcxKQorICAgICAgICAgICAgICA+IEJPT1NUX01QTF9BVVhfTkVTVEVEX1ZBTFVFX1dLTkQoaW50LCBUYWcyKQorICAgICAgICAgICAgKQorCisgICAgICAgICwgYXV4OjpjYXN0Mm5kX2ltcGw8IHNoaWZ0X2xlZnRfaW1wbDwgVGFnMSxUYWcxID4sVGFnMSwgVGFnMiA+CisgICAgICAgICwgYXV4OjpjYXN0MXN0X2ltcGw8IHNoaWZ0X2xlZnRfaW1wbDwgVGFnMixUYWcyID4sVGFnMSwgVGFnMiA+CisgICAgICAgID46OnR5cGUKK3sKK307CisKKy8vLyBmb3IgRGlnaXRhbCBNYXJzIEMrKy9jb21waWxlcnMgd2l0aCBubyBDVFBTL1RUUCBzdXBwb3J0Cit0ZW1wbGF0ZTw+IHN0cnVjdCBzaGlmdF9sZWZ0X2ltcGw8IG5hLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVGFnID4gc3RydWN0IHNoaWZ0X2xlZnRfaW1wbDwgbmEsVGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVGFnID4gc3RydWN0IHNoaWZ0X2xlZnRfaW1wbDwgVGFnLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVCA+IHN0cnVjdCBzaGlmdF9sZWZ0X3RhZworeworICAgIHR5cGVkZWYgdHlwZW5hbWUgVDo6dGFnIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjEpCisgICAgLCB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4yKQorICAgID4KK3N0cnVjdCBzaGlmdF9sZWZ0CisKKyAgICA6IHNoaWZ0X2xlZnRfaW1wbDwKKyAgICAgICAgICB0eXBlbmFtZSBzaGlmdF9sZWZ0X3RhZzxOMT46OnR5cGUKKyAgICAgICAgLCB0eXBlbmFtZSBzaGlmdF9sZWZ0X3RhZzxOMj46OnR5cGUKKyAgICAgICAgPjo6dGVtcGxhdGUgYXBwbHk8IE4xLE4yID46OnR5cGUKK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKDIsIHNoaWZ0X2xlZnQsIChOMSwgTjIpKQorCit9OworCitCT09TVF9NUExfQVVYX05BX1NQRUMyKDIsIDIsIHNoaWZ0X2xlZnQpCisKK319CisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCituYW1lc3BhY2UgYXV4IHsKK3RlbXBsYXRlPCB0eXBlbmFtZSBULCB0eXBlbmFtZSBTaGlmdCwgVCBuLCBTaGlmdCBzID4KK3N0cnVjdCBzaGlmdF9sZWZ0X3drbmQKK3sKKyAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoVCwgdmFsdWUgID0gKG4gPDwgcykpOworICAgIHR5cGVkZWYgaW50ZWdyYWxfYzwgVCx2YWx1ZSA+IHR5cGU7Cit9OworCit9CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBzaGlmdF9sZWZ0X2ltcGw8IGludGVncmFsX2NfdGFnLGludGVncmFsX2NfdGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgTiwgdHlwZW5hbWUgUyA+IHN0cnVjdCBhcHBseQorICAgICAgICA6IGF1eDo6c2hpZnRfbGVmdF93a25kPAorICAgICAgICAgICAgICB0eXBlbmFtZSBOOjp2YWx1ZV90eXBlCisgICAgICAgICAgICAsIHR5cGVuYW1lIFM6OnZhbHVlX3R5cGUKKyAgICAgICAgICAgICwgTjo6dmFsdWUKKyAgICAgICAgICAgICwgUzo6dmFsdWUKKyAgICAgICAgICAgID46OnR5cGUKKworICAgIHsKKyAgICB9OworfTsKKworfX0KZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9ub190dHAvc2hpZnRfcmlnaHQuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL25vX3R0cC9zaGlmdF9yaWdodC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDRkNDEwMAotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9ub190dHAvc2hpZnRfcmlnaHQuaHBwCkBAIC0wLDAgKzEsMTEwIEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8gQ29weXJpZ2h0IEphYXAgU3V0ZXIgMjAwMworLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9zaGlmdF9yaWdodC5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUYWcxCisgICAgLCB0eXBlbmFtZSBUYWcyCisgICAgPgorc3RydWN0IHNoaWZ0X3JpZ2h0X2ltcGwKKyAgICA6IGlmX2M8CisgICAgICAgICAgKCBCT09TVF9NUExfQVVYX05FU1RFRF9WQUxVRV9XS05EKGludCwgVGFnMSkKKyAgICAgICAgICAgICAgPiBCT09TVF9NUExfQVVYX05FU1RFRF9WQUxVRV9XS05EKGludCwgVGFnMikKKyAgICAgICAgICAgICkKKworICAgICAgICAsIGF1eDo6Y2FzdDJuZF9pbXBsPCBzaGlmdF9yaWdodF9pbXBsPCBUYWcxLFRhZzEgPixUYWcxLCBUYWcyID4KKyAgICAgICAgLCBhdXg6OmNhc3Qxc3RfaW1wbDwgc2hpZnRfcmlnaHRfaW1wbDwgVGFnMixUYWcyID4sVGFnMSwgVGFnMiA+CisgICAgICAgID46OnR5cGUKK3sKK307CisKKy8vLyBmb3IgRGlnaXRhbCBNYXJzIEMrKy9jb21waWxlcnMgd2l0aCBubyBDVFBTL1RUUCBzdXBwb3J0Cit0ZW1wbGF0ZTw+IHN0cnVjdCBzaGlmdF9yaWdodF9pbXBsPCBuYSxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFRhZyA+IHN0cnVjdCBzaGlmdF9yaWdodF9pbXBsPCBuYSxUYWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUYWcgPiBzdHJ1Y3Qgc2hpZnRfcmlnaHRfaW1wbDwgVGFnLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVCA+IHN0cnVjdCBzaGlmdF9yaWdodF90YWcKK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIFQ6OnRhZyB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4xKQorICAgICwgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMikKKyAgICA+CitzdHJ1Y3Qgc2hpZnRfcmlnaHQKKworICAgIDogc2hpZnRfcmlnaHRfaW1wbDwKKyAgICAgICAgICB0eXBlbmFtZSBzaGlmdF9yaWdodF90YWc8TjE+Ojp0eXBlCisgICAgICAgICwgdHlwZW5hbWUgc2hpZnRfcmlnaHRfdGFnPE4yPjo6dHlwZQorICAgICAgICA+Ojp0ZW1wbGF0ZSBhcHBseTwgTjEsTjIgPjo6dHlwZQoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoMiwgc2hpZnRfcmlnaHQsIChOMSwgTjIpKQorCit9OworCitCT09TVF9NUExfQVVYX05BX1NQRUMyKDIsIDIsIHNoaWZ0X3JpZ2h0KQorCit9fQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKworbmFtZXNwYWNlIGF1eCB7Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgVCwgdHlwZW5hbWUgU2hpZnQsIFQgbiwgU2hpZnQgcyA+CitzdHJ1Y3Qgc2hpZnRfcmlnaHRfd2tuZAoreworICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChULCB2YWx1ZSAgPSAobiA+PiBzKSk7CisgICAgdHlwZWRlZiBpbnRlZ3JhbF9jPCBULHZhbHVlID4gdHlwZTsKK307CisKK30KKwordGVtcGxhdGU8Pgorc3RydWN0IHNoaWZ0X3JpZ2h0X2ltcGw8IGludGVncmFsX2NfdGFnLGludGVncmFsX2NfdGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgTiwgdHlwZW5hbWUgUyA+IHN0cnVjdCBhcHBseQorICAgICAgICA6IGF1eDo6c2hpZnRfcmlnaHRfd2tuZDwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgTjo6dmFsdWVfdHlwZQorICAgICAgICAgICAgLCB0eXBlbmFtZSBTOjp2YWx1ZV90eXBlCisgICAgICAgICAgICAsIE46OnZhbHVlCisgICAgICAgICAgICAsIFM6OnZhbHVlCisgICAgICAgICAgICA+Ojp0eXBlCisKKyAgICB7CisgICAgfTsKK307CisKK319CmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fdHRwL3RlbXBsYXRlX2FyaXR5LmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9ub190dHAvdGVtcGxhdGVfYXJpdHkuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY1MDU3OGYKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fdHRwL3RlbXBsYXRlX2FyaXR5LmhwcApAQCAtMCwwICsxLDQwIEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDEtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9hdXhfL3RlbXBsYXRlX2FyaXR5LmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeyBuYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8IGJvb2wgPgorc3RydWN0IHRlbXBsYXRlX2FyaXR5X2ltcGwKK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgRiA+IHN0cnVjdCByZXN1bHRfCisgICAgICAgIDogbXBsOjppbnRfPCAtMSA+CisgICAgeworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgdGVtcGxhdGVfYXJpdHlfaW1wbDx0cnVlPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBGID4gc3RydWN0IHJlc3VsdF8KKyAgICAgICAgOiBGOjphcml0eQorICAgIHsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIEYgPgorc3RydWN0IHRlbXBsYXRlX2FyaXR5CisgICAgOiB0ZW1wbGF0ZV9hcml0eV9pbXBsPCA6Om5kbmJvb3N0OjptcGw6OmF1eDo6aGFzX3JlYmluZDxGPjo6dmFsdWUgPgorICAgICAgICA6OnRlbXBsYXRlIHJlc3VsdF88Rj4KK3sKK307CisKK319fQorCmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fdHRwL3RpbWVzLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9ub190dHAvdGltZXMuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUyY2QxYWIKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fdHRwL3RpbWVzLmhwcApAQCAtMCwwICsxLDE1NiBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvdGltZXMuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVGFnMQorICAgICwgdHlwZW5hbWUgVGFnMgorICAgID4KK3N0cnVjdCB0aW1lc19pbXBsCisgICAgOiBpZl9jPAorICAgICAgICAgICggQk9PU1RfTVBMX0FVWF9ORVNURURfVkFMVUVfV0tORChpbnQsIFRhZzEpCisgICAgICAgICAgICAgID4gQk9PU1RfTVBMX0FVWF9ORVNURURfVkFMVUVfV0tORChpbnQsIFRhZzIpCisgICAgICAgICAgICApCisKKyAgICAgICAgLCBhdXg6OmNhc3QybmRfaW1wbDwgdGltZXNfaW1wbDwgVGFnMSxUYWcxID4sVGFnMSwgVGFnMiA+CisgICAgICAgICwgYXV4OjpjYXN0MXN0X2ltcGw8IHRpbWVzX2ltcGw8IFRhZzIsVGFnMiA+LFRhZzEsIFRhZzIgPgorICAgICAgICA+Ojp0eXBlCit7Cit9OworCisvLy8gZm9yIERpZ2l0YWwgTWFycyBDKysvY29tcGlsZXJzIHdpdGggbm8gQ1RQUy9UVFAgc3VwcG9ydAordGVtcGxhdGU8PiBzdHJ1Y3QgdGltZXNfaW1wbDwgbmEsbmEgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUYWcgPiBzdHJ1Y3QgdGltZXNfaW1wbDwgbmEsVGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVGFnID4gc3RydWN0IHRpbWVzX2ltcGw8IFRhZyxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFQgPiBzdHJ1Y3QgdGltZXNfdGFnCit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBUOjp0YWcgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMSkKKyAgICAsIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjIpCisgICAgLCB0eXBlbmFtZSBOMyA9IG5hLCB0eXBlbmFtZSBONCA9IG5hLCB0eXBlbmFtZSBONSA9IG5hCisgICAgPgorc3RydWN0IHRpbWVzCisgICAgOiB0aW1lczwgdGltZXM8IHRpbWVzPCB0aW1lczwgTjEsTjIgPiwgTjM+LCBOND4sIE41PgoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoCisgICAgICAgICAgNQorICAgICAgICAsIHRpbWVzCisgICAgICAgICwgKCBOMSwgTjIsIE4zLCBONCwgTjUgKQorICAgICAgICApCit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIE4xLCB0eXBlbmFtZSBOMiwgdHlwZW5hbWUgTjMsIHR5cGVuYW1lIE40CisgICAgPgorc3RydWN0IHRpbWVzPCBOMSxOMixOMyxONCxuYSA+CisKKyAgICA6IHRpbWVzPCB0aW1lczwgdGltZXM8IE4xLE4yID4sIE4zPiwgTjQ+Cit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVF9TUEVDKAorICAgICAgICAgIDUKKyAgICAgICAgLCB0aW1lcworICAgICAgICAsICggTjEsIE4yLCBOMywgTjQsIG5hICkKKyAgICAgICAgKQorfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBOMSwgdHlwZW5hbWUgTjIsIHR5cGVuYW1lIE4zCisgICAgPgorc3RydWN0IHRpbWVzPCBOMSxOMixOMyxuYSxuYSA+CisKKyAgICA6IHRpbWVzPCB0aW1lczwgTjEsTjIgPiwgTjM+Cit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVF9TUEVDKAorICAgICAgICAgIDUKKyAgICAgICAgLCB0aW1lcworICAgICAgICAsICggTjEsIE4yLCBOMywgbmEsIG5hICkKKyAgICAgICAgKQorfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBOMSwgdHlwZW5hbWUgTjIKKyAgICA+CitzdHJ1Y3QgdGltZXM8IE4xLE4yLG5hLG5hLG5hID4KKyAgICA6IHRpbWVzX2ltcGw8CisgICAgICAgICAgdHlwZW5hbWUgdGltZXNfdGFnPE4xPjo6dHlwZQorICAgICAgICAsIHR5cGVuYW1lIHRpbWVzX3RhZzxOMj46OnR5cGUKKyAgICAgICAgPjo6dGVtcGxhdGUgYXBwbHk8IE4xLE4yID46OnR5cGUKK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUX1NQRUMoCisgICAgICAgICAgNQorICAgICAgICAsIHRpbWVzCisgICAgICAgICwgKCBOMSwgTjIsIG5hLCBuYSwgbmEgKQorICAgICAgICApCisKK307CisKK0JPT1NUX01QTF9BVVhfTkFfU1BFQzIoMiwgNSwgdGltZXMpCisKK319CisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCituYW1lc3BhY2UgYXV4IHsKK3RlbXBsYXRlPCB0eXBlbmFtZSBULCBUIG4xLCBUIG4yID4KK3N0cnVjdCB0aW1lc193a25kCit7CisgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKFQsIHZhbHVlICA9IChuMSAqIG4yKSk7CisgICAgdHlwZWRlZiBpbnRlZ3JhbF9jPCBULHZhbHVlID4gdHlwZTsKK307CisKK30KKwordGVtcGxhdGU8Pgorc3RydWN0IHRpbWVzX2ltcGw8IGludGVncmFsX2NfdGFnLGludGVncmFsX2NfdGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgTjEsIHR5cGVuYW1lIE4yID4gc3RydWN0IGFwcGx5CisgICAgICAgIDogYXV4Ojp0aW1lc193a25kPAorICAgICAgICAgICAgICB0eXBlbmFtZSBhdXg6Omxhcmdlc3RfaW50PAorICAgICAgICAgICAgICAgICAgdHlwZW5hbWUgTjE6OnZhbHVlX3R5cGUKKyAgICAgICAgICAgICAgICAsIHR5cGVuYW1lIE4yOjp2YWx1ZV90eXBlCisgICAgICAgICAgICAgICAgPjo6dHlwZQorICAgICAgICAgICAgLCBOMTo6dmFsdWUKKyAgICAgICAgICAgICwgTjI6OnZhbHVlCisgICAgICAgICAgICA+Ojp0eXBlCisKKyAgICB7CisgICAgfTsKK307CisKK319CmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fdHRwL3VucGFja19hcmdzLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9ub190dHAvdW5wYWNrX2FyZ3MuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjljOTIwNGYKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fdHRwL3VucGFja19hcmdzLmhwcApAQCAtMCwwICsxLDk0IEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDItMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC91bnBhY2tfYXJncy5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPCBpbnQgc2l6ZSwgdHlwZW5hbWUgRiwgdHlwZW5hbWUgQXJncyA+CitzdHJ1Y3QgdW5wYWNrX2FyZ3NfaW1wbDsKKwordGVtcGxhdGU8IHR5cGVuYW1lIEYsIHR5cGVuYW1lIEFyZ3MgPgorc3RydWN0IHVucGFja19hcmdzX2ltcGw8IDAsRixBcmdzID4KKyAgICA6IGFwcGx5MDwKKyAgICAgICAgICBGCisgICAgICAgID4KK3sKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBGLCB0eXBlbmFtZSBBcmdzID4KK3N0cnVjdCB1bnBhY2tfYXJnc19pbXBsPCAxLEYsQXJncyA+CisgICAgOiBhcHBseTE8CisgICAgICAgICAgRgorICAgICAgICAsIHR5cGVuYW1lIGF0X2M8IEFyZ3MsMCA+Ojp0eXBlCisgICAgICAgID4KK3sKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBGLCB0eXBlbmFtZSBBcmdzID4KK3N0cnVjdCB1bnBhY2tfYXJnc19pbXBsPCAyLEYsQXJncyA+CisgICAgOiBhcHBseTI8CisgICAgICAgICAgRgorICAgICAgICAsIHR5cGVuYW1lIGF0X2M8IEFyZ3MsMCA+Ojp0eXBlLCB0eXBlbmFtZSBhdF9jPCBBcmdzLDEgPjo6dHlwZQorICAgICAgICA+Cit7Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgRiwgdHlwZW5hbWUgQXJncyA+CitzdHJ1Y3QgdW5wYWNrX2FyZ3NfaW1wbDwgMyxGLEFyZ3MgPgorICAgIDogYXBwbHkzPAorICAgICAgICAgIEYKKyAgICAgICAgLCB0eXBlbmFtZSBhdF9jPCBBcmdzLDAgPjo6dHlwZSwgdHlwZW5hbWUgYXRfYzwgQXJncywxID46OnR5cGUKKyAgICAgICAgLCB0eXBlbmFtZSBhdF9jPCBBcmdzLDIgPjo6dHlwZQorICAgICAgICA+Cit7Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgRiwgdHlwZW5hbWUgQXJncyA+CitzdHJ1Y3QgdW5wYWNrX2FyZ3NfaW1wbDwgNCxGLEFyZ3MgPgorICAgIDogYXBwbHk0PAorICAgICAgICAgIEYKKyAgICAgICAgLCB0eXBlbmFtZSBhdF9jPCBBcmdzLDAgPjo6dHlwZSwgdHlwZW5hbWUgYXRfYzwgQXJncywxID46OnR5cGUKKyAgICAgICAgLCB0eXBlbmFtZSBhdF9jPCBBcmdzLDIgPjo6dHlwZSwgdHlwZW5hbWUgYXRfYzwgQXJncywzID46OnR5cGUKKyAgICAgICAgPgoreworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIEYsIHR5cGVuYW1lIEFyZ3MgPgorc3RydWN0IHVucGFja19hcmdzX2ltcGw8IDUsRixBcmdzID4KKyAgICA6IGFwcGx5NTwKKyAgICAgICAgICBGCisgICAgICAgICwgdHlwZW5hbWUgYXRfYzwgQXJncywwID46OnR5cGUsIHR5cGVuYW1lIGF0X2M8IEFyZ3MsMSA+Ojp0eXBlCisgICAgICAgICwgdHlwZW5hbWUgYXRfYzwgQXJncywyID46OnR5cGUsIHR5cGVuYW1lIGF0X2M8IEFyZ3MsMyA+Ojp0eXBlCisgICAgICAgICwgdHlwZW5hbWUgYXRfYzwgQXJncyw0ID46OnR5cGUKKyAgICAgICAgPgoreworfTsKKworfQorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYKKyAgICA+CitzdHJ1Y3QgdW5wYWNrX2FyZ3MKK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgQXJncyA+IHN0cnVjdCBhcHBseQorCisgICAgICAgIDogYXV4Ojp1bnBhY2tfYXJnc19pbXBsPCBzaXplPEFyZ3M+Ojp2YWx1ZSxGLCBBcmdzID4KKworICAgIHsKKyAgICB9OworfTsKKworQk9PU1RfTVBMX0FVWF9QQVNTX1RIUk9VR0hfTEFNQkRBX1NQRUMoMSwgdW5wYWNrX2FyZ3MpCisKK319CisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9ub190dHAvdmVjdG9yLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9ub190dHAvdmVjdG9yLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kZjY3NTg5Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL25vX3R0cC92ZWN0b3IuaHBwCkBAIC0wLDAgKzEsMzIzIEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC92ZWN0b3IuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAgPSBuYSwgdHlwZW5hbWUgVDEgPSBuYSwgdHlwZW5hbWUgVDIgPSBuYSwgdHlwZW5hbWUgVDMgPSBuYQorICAgICwgdHlwZW5hbWUgVDQgPSBuYSwgdHlwZW5hbWUgVDUgPSBuYSwgdHlwZW5hbWUgVDYgPSBuYSwgdHlwZW5hbWUgVDcgPSBuYQorICAgICwgdHlwZW5hbWUgVDggPSBuYSwgdHlwZW5hbWUgVDkgPSBuYSwgdHlwZW5hbWUgVDEwID0gbmEsIHR5cGVuYW1lIFQxMSA9IG5hCisgICAgLCB0eXBlbmFtZSBUMTIgPSBuYSwgdHlwZW5hbWUgVDEzID0gbmEsIHR5cGVuYW1lIFQxNCA9IG5hCisgICAgLCB0eXBlbmFtZSBUMTUgPSBuYSwgdHlwZW5hbWUgVDE2ID0gbmEsIHR5cGVuYW1lIFQxNyA9IG5hCisgICAgLCB0eXBlbmFtZSBUMTggPSBuYSwgdHlwZW5hbWUgVDE5ID0gbmEKKyAgICA+CitzdHJ1Y3QgdmVjdG9yOworCit0ZW1wbGF0ZTwKKyAgICAgCisgICAgPgorc3RydWN0IHZlY3RvcjwKKyAgICAgICAgICBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHZlY3RvcjA8ICA+Cit7CisgICAgdHlwZWRlZiB2ZWN0b3IwPCAgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMAorICAgID4KK3N0cnVjdCB2ZWN0b3I8CisgICAgICAgICAgVDAsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3IxPFQwPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTxUMD46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxCisgICAgPgorc3RydWN0IHZlY3RvcjwKKyAgICAgICAgICBUMCwgVDEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHZlY3RvcjI8IFQwLFQxID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjI8IFQwLFQxID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMgorICAgID4KK3N0cnVjdCB2ZWN0b3I8CisgICAgICAgICAgVDAsIFQxLCBUMiwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3IzPCBUMCxUMSxUMiA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IzPCBUMCxUMSxUMiA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzCisgICAgPgorc3RydWN0IHZlY3RvcjwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHZlY3RvcjQ8IFQwLFQxLFQyLFQzID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjQ8IFQwLFQxLFQyLFQzID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgPgorc3RydWN0IHZlY3RvcjwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHZlY3RvcjU8IFQwLFQxLFQyLFQzLFQ0ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjU8IFQwLFQxLFQyLFQzLFQ0ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNQorICAgID4KK3N0cnVjdCB2ZWN0b3I8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3I2PCBUMCxUMSxUMixUMyxUNCxUNSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3I2PCBUMCxUMSxUMixUMyxUNCxUNSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2CisgICAgPgorc3RydWN0IHZlY3RvcjwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHZlY3Rvcjc8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3Rvcjc8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3CisgICAgPgorc3RydWN0IHZlY3RvcjwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHZlY3Rvcjg8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3Rvcjg8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOAorICAgID4KK3N0cnVjdCB2ZWN0b3I8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3I5PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3I5PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgPgorc3RydWN0IHZlY3RvcjwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHZlY3RvcjEwPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxMDwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDkgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwCisgICAgPgorc3RydWN0IHZlY3RvcjwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3IxMTwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjExPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEKKyAgICA+CitzdHJ1Y3QgdmVjdG9yPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3IxMjwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxMjwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyCisgICAgPgorc3RydWN0IHZlY3RvcjwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHZlY3RvcjEzPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMiA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxMzwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzCisgICAgPgorc3RydWN0IHZlY3RvcjwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3IxNDwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjE0PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICA+CitzdHJ1Y3QgdmVjdG9yPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNCwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3IxNTwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTU8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyxUMTQgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAsIHR5cGVuYW1lIFQxNQorICAgID4KK3N0cnVjdCB2ZWN0b3I8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1LCBuYSwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3IxNjwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgLCBUMTUKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTY8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyxUMTQsVDE1ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNgorICAgID4KK3N0cnVjdCB2ZWN0b3I8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1LCBUMTYsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogdmVjdG9yMTc8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1LCBUMTYKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTc8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyxUMTQsVDE1LFQxNiA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNworICAgID4KK3N0cnVjdCB2ZWN0b3I8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1LCBUMTYsIFQxNywgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHZlY3RvcjE4PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgVDE2LCBUMTcKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTg8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyxUMTQsVDE1LFQxNixUMTcgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOAorICAgID4KK3N0cnVjdCB2ZWN0b3I8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1LCBUMTYsIFQxNywgVDE4LCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3IxOTwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgLCBUMTUsIFQxNiwgVDE3LCBUMTgKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTk8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyxUMTQsVDE1LFQxNixUMTcsVDE4ID46OnR5cGUgdHlwZTsKK307CisKKy8vLyBwcmltYXJ5IHRlbXBsYXRlIChub3QgYSBzcGVjaWFsaXphdGlvbiEpCisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgID4KK3N0cnVjdCB2ZWN0b3IKKyAgICA6IHZlY3RvcjIwPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgVDE2LCBUMTcsIFQxOCwgVDE5CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjIwPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMsVDE0LFQxNSxUMTYsVDE3LFQxOCxUMTkgPjo6dHlwZSB0eXBlOworfTsKKworfX0KKwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL25vX3R0cC92ZWN0b3JfYy5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fdHRwL3ZlY3Rvcl9jLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMmZiZGI0Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL25vX3R0cC92ZWN0b3JfYy5ocHAKQEAgLTAsMCArMSwzMDkgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL3ZlY3Rvcl9jLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAgPSBMT05HX01BWCwgbG9uZyBDMSA9IExPTkdfTUFYLCBsb25nIEMyID0gTE9OR19NQVgKKyAgICAsIGxvbmcgQzMgPSBMT05HX01BWCwgbG9uZyBDNCA9IExPTkdfTUFYLCBsb25nIEM1ID0gTE9OR19NQVgKKyAgICAsIGxvbmcgQzYgPSBMT05HX01BWCwgbG9uZyBDNyA9IExPTkdfTUFYLCBsb25nIEM4ID0gTE9OR19NQVgKKyAgICAsIGxvbmcgQzkgPSBMT05HX01BWCwgbG9uZyBDMTAgPSBMT05HX01BWCwgbG9uZyBDMTEgPSBMT05HX01BWAorICAgICwgbG9uZyBDMTIgPSBMT05HX01BWCwgbG9uZyBDMTMgPSBMT05HX01BWCwgbG9uZyBDMTQgPSBMT05HX01BWAorICAgICwgbG9uZyBDMTUgPSBMT05HX01BWCwgbG9uZyBDMTYgPSBMT05HX01BWCwgbG9uZyBDMTcgPSBMT05HX01BWAorICAgICwgbG9uZyBDMTggPSBMT05HX01BWCwgbG9uZyBDMTkgPSBMT05HX01BWAorICAgID4KK3N0cnVjdCB2ZWN0b3JfYzsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUCisgICAgPgorc3RydWN0IHZlY3Rvcl9jPAorICAgICAgICAgIFQsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IHZlY3RvcjBfYzxUPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMF9jPFQ+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAKKyAgICA+CitzdHJ1Y3QgdmVjdG9yX2M8CisgICAgICAgICAgVCwgQzAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogdmVjdG9yMV9jPCBULCBUKEMwKSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxX2M8IFQsIFQoQzApID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMQorICAgID4KK3N0cnVjdCB2ZWN0b3JfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiB2ZWN0b3IyX2M8IFQsIFQoQzApLCBUKEMxKSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IyX2M8IFQsIFQoQzApLCBUKEMxKSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIKKyAgICA+CitzdHJ1Y3QgdmVjdG9yX2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogdmVjdG9yM19jPCBULCBUKEMwKSwgVChDMSksIFQoQzIpID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjNfYzwgVCwgVChDMCksIFQoQzEpLCBUKEMyKSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMKKyAgICA+CitzdHJ1Y3QgdmVjdG9yX2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogdmVjdG9yNF9jPCBULCBUKEMwKSwgVChDMSksIFQoQzIpLCBUKEMzKSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3I0X2M8IFQsIFQoQzApLCBUKEMxKSwgVChDMiksIFQoQzMpID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNAorICAgID4KK3N0cnVjdCB2ZWN0b3JfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiB2ZWN0b3I1X2M8IFQsIFQoQzApLCBUKEMxKSwgVChDMiksIFQoQzMpLCBUKEM0KSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3I1X2M8IFQsIFQoQzApLCBUKEMxKSwgVChDMiksIFQoQzMpLCBUKEM0KSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICA+CitzdHJ1Y3QgdmVjdG9yX2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogdmVjdG9yNl9jPCBULCBUKEMwKSwgVChDMSksIFQoQzIpLCBUKEMzKSwgVChDNCksIFQoQzUpID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjZfYzwgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMyksIFQoQzQpLCBUKEM1KSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAsIGxvbmcgQzYKKyAgICA+CitzdHJ1Y3QgdmVjdG9yX2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogdmVjdG9yN19jPCBULCBUKEMwKSwgVChDMSksIFQoQzIpLCBUKEMzKSwgVChDNCksIFQoQzUpLCBUKEM2KSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3I3X2M8IFQsIFQoQzApLCBUKEMxKSwgVChDMiksIFQoQzMpLCBUKEM0KSwgVChDNSksIFQoQzYpID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICwgbG9uZyBDNiwgbG9uZyBDNworICAgID4KK3N0cnVjdCB2ZWN0b3JfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiB2ZWN0b3I4X2M8IFQsIFQoQzApLCBUKEMxKSwgVChDMiksIFQoQzMpLCBUKEM0KSwgVChDNSksIFQoQzYpLCBUKEM3KSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3I4X2M8IFQsIFQoQzApLCBUKEMxKSwgVChDMiksIFQoQzMpLCBUKEM0KSwgVChDNSksIFQoQzYpLCBUKEM3KSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgKKyAgICA+CitzdHJ1Y3QgdmVjdG9yX2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogdmVjdG9yOV9jPCBULCBUKEMwKSwgVChDMSksIFQoQzIpLCBUKEMzKSwgVChDNCksIFQoQzUpLCBUKEM2KSwgVChDNyksIFQoQzgpID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjlfYzwgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMyksIFQoQzQpLCBUKEM1KSwgVChDNiksIFQoQzcpLCBUKEM4KSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzkKKyAgICA+CitzdHJ1Y3QgdmVjdG9yX2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogdmVjdG9yMTBfYzwgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMyksIFQoQzQpLCBUKEM1KSwgVChDNiksIFQoQzcpLCBUKEM4KSwgVChDOSkgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTBfYzwgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMyksIFQoQzQpLCBUKEM1KSwgVChDNiksIFQoQzcpLCBUKEM4KSwgVChDOSkgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMAorICAgID4KK3N0cnVjdCB2ZWN0b3JfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiB2ZWN0b3IxMV9jPCBULCBUKEMwKSwgVChDMSksIFQoQzIpLCBUKEMzKSwgVChDNCksIFQoQzUpLCBUKEM2KSwgVChDNyksIFQoQzgpLCBUKEM5KSwgVChDMTApID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjExX2M8IFQsIFQoQzApLCBUKEMxKSwgVChDMiksIFQoQzMpLCBUKEM0KSwgVChDNSksIFQoQzYpLCBUKEM3KSwgVChDOCksIFQoQzkpLCBUKEMxMCkgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEKKyAgICA+CitzdHJ1Y3QgdmVjdG9yX2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IHZlY3RvcjEyX2M8IFQsIFQoQzApLCBUKEMxKSwgVChDMiksIFQoQzMpLCBUKEM0KSwgVChDNSksIFQoQzYpLCBUKEM3KSwgVChDOCksIFQoQzkpLCBUKEMxMCksIFQoQzExKSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxMl9jPCBULCBUKEMwKSwgVChDMSksIFQoQzIpLCBUKEMzKSwgVChDNCksIFQoQzUpLCBUKEM2KSwgVChDNyksIFQoQzgpLCBUKEM5KSwgVChDMTApLCBUKEMxMSkgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgPgorc3RydWN0IHZlY3Rvcl9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogdmVjdG9yMTNfYzwgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMyksIFQoQzQpLCBUKEM1KSwgVChDNiksIFQoQzcpLCBUKEM4KSwgVChDOSksIFQoQzEwKSwgVChDMTEpLCBUKEMxMikgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTNfYzwgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMyksIFQoQzQpLCBUKEM1KSwgVChDNiksIFQoQzcpLCBUKEM4KSwgVChDOSksIFQoQzEwKSwgVChDMTEpLCBUKEMxMikgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgLCBsb25nIEMxMworICAgID4KK3N0cnVjdCB2ZWN0b3JfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIEMxMiwgQzEzCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiB2ZWN0b3IxNF9jPCBULCBUKEMwKSwgVChDMSksIFQoQzIpLCBUKEMzKSwgVChDNCksIFQoQzUpLCBUKEM2KSwgVChDNyksIFQoQzgpLCBUKEM5KSwgVChDMTApLCBUKEMxMSksIFQoQzEyKSwgVChDMTMpID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjE0X2M8IFQsIFQoQzApLCBUKEMxKSwgVChDMiksIFQoQzMpLCBUKEM0KSwgVChDNSksIFQoQzYpLCBUKEM3KSwgVChDOCksIFQoQzkpLCBUKEMxMCksIFQoQzExKSwgVChDMTIpLCBUKEMxMykgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgLCBsb25nIEMxMywgbG9uZyBDMTQKKyAgICA+CitzdHJ1Y3QgdmVjdG9yX2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBDMTIsIEMxMywgQzE0CisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IHZlY3RvcjE1X2M8IFQsIFQoQzApLCBUKEMxKSwgVChDMiksIFQoQzMpLCBUKEM0KSwgVChDNSksIFQoQzYpLCBUKEM3KSwgVChDOCksIFQoQzkpLCBUKEMxMCksIFQoQzExKSwgVChDMTIpLCBUKEMxMyksIFQoQzE0KSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxNV9jPCBULCBUKEMwKSwgVChDMSksIFQoQzIpLCBUKEMzKSwgVChDNCksIFQoQzUpLCBUKEM2KSwgVChDNyksIFQoQzgpLCBUKEM5KSwgVChDMTApLCBUKEMxMSksIFQoQzEyKSwgVChDMTMpLCBUKEMxNCkgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1CisgICAgPgorc3RydWN0IHZlY3Rvcl9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMsIEMxNAorICAgICAgICAsIEMxNSwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogdmVjdG9yMTZfYzwgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMyksIFQoQzQpLCBUKEM1KSwgVChDNiksIFQoQzcpLCBUKEM4KSwgVChDOSksIFQoQzEwKSwgVChDMTEpLCBUKEMxMiksIFQoQzEzKSwgVChDMTQpLCBUKEMxNSkgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTZfYzwgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMyksIFQoQzQpLCBUKEM1KSwgVChDNiksIFQoQzcpLCBUKEM4KSwgVChDOSksIFQoQzEwKSwgVChDMTEpLCBUKEMxMiksIFQoQzEzKSwgVChDMTQpLCBUKEMxNSkgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1LCBsb25nIEMxNgorICAgID4KK3N0cnVjdCB2ZWN0b3JfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIEMxMiwgQzEzLCBDMTQKKyAgICAgICAgLCBDMTUsIEMxNiwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiB2ZWN0b3IxN19jPCBULCBUKEMwKSwgVChDMSksIFQoQzIpLCBUKEMzKSwgVChDNCksIFQoQzUpLCBUKEM2KSwgVChDNyksIFQoQzgpLCBUKEM5KSwgVChDMTApLCBUKEMxMSksIFQoQzEyKSwgVChDMTMpLCBUKEMxNCksIFQoQzE1KSwgVChDMTYpID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjE3X2M8IFQsIFQoQzApLCBUKEMxKSwgVChDMiksIFQoQzMpLCBUKEM0KSwgVChDNSksIFQoQzYpLCBUKEM3KSwgVChDOCksIFQoQzkpLCBUKEMxMCksIFQoQzExKSwgVChDMTIpLCBUKEMxMyksIFQoQzE0KSwgVChDMTUpLCBUKEMxNikgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1LCBsb25nIEMxNiwgbG9uZyBDMTcKKyAgICA+CitzdHJ1Y3QgdmVjdG9yX2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBDMTIsIEMxMywgQzE0CisgICAgICAgICwgQzE1LCBDMTYsIEMxNywgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IHZlY3RvcjE4X2M8IFQsIFQoQzApLCBUKEMxKSwgVChDMiksIFQoQzMpLCBUKEM0KSwgVChDNSksIFQoQzYpLCBUKEM3KSwgVChDOCksIFQoQzkpLCBUKEMxMCksIFQoQzExKSwgVChDMTIpLCBUKEMxMyksIFQoQzE0KSwgVChDMTUpLCBUKEMxNiksIFQoQzE3KSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxOF9jPCBULCBUKEMwKSwgVChDMSksIFQoQzIpLCBUKEMzKSwgVChDNCksIFQoQzUpLCBUKEM2KSwgVChDNyksIFQoQzgpLCBUKEM5KSwgVChDMTApLCBUKEMxMSksIFQoQzEyKSwgVChDMTMpLCBUKEMxNCksIFQoQzE1KSwgVChDMTYpLCBUKEMxNykgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1LCBsb25nIEMxNiwgbG9uZyBDMTcsIGxvbmcgQzE4CisgICAgPgorc3RydWN0IHZlY3Rvcl9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMsIEMxNAorICAgICAgICAsIEMxNSwgQzE2LCBDMTcsIEMxOCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogdmVjdG9yMTlfYzwgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMyksIFQoQzQpLCBUKEM1KSwgVChDNiksIFQoQzcpLCBUKEM4KSwgVChDOSksIFQoQzEwKSwgVChDMTEpLCBUKEMxMiksIFQoQzEzKSwgVChDMTQpLCBUKEMxNSksIFQoQzE2KSwgVChDMTcpLCBUKEMxOCkgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTlfYzwgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMyksIFQoQzQpLCBUKEM1KSwgVChDNiksIFQoQzcpLCBUKEM4KSwgVChDOSksIFQoQzEwKSwgVChDMTEpLCBUKEMxMiksIFQoQzEzKSwgVChDMTQpLCBUKEMxNSksIFQoQzE2KSwgVChDMTcpLCBUKEMxOCkgPjo6dHlwZSB0eXBlOworfTsKKworLy8vIHByaW1hcnkgdGVtcGxhdGUgKG5vdCBhIHNwZWNpYWxpemF0aW9uISkKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1LCBsb25nIEMxNiwgbG9uZyBDMTcsIGxvbmcgQzE4LCBsb25nIEMxOQorICAgID4KK3N0cnVjdCB2ZWN0b3JfYworICAgIDogdmVjdG9yMjBfYzwgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMyksIFQoQzQpLCBUKEM1KSwgVChDNiksIFQoQzcpLCBUKEM4KSwgVChDOSksIFQoQzEwKSwgVChDMTEpLCBUKEMxMiksIFQoQzEzKSwgVChDMTQpLCBUKEMxNSksIFQoQzE2KSwgVChDMTcpLCBUKEMxOCksIFQoQzE5KSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IyMF9jPCBULCBUKEMwKSwgVChDMSksIFQoQzIpLCBUKEMzKSwgVChDNCksIFQoQzUpLCBUKEM2KSwgVChDNyksIFQoQzgpLCBUKEM5KSwgVChDMTApLCBUKEMxMSksIFQoQzEyKSwgVChDMTMpLCBUKEMxNCksIFQoQzE1KSwgVChDMTYpLCBUKEMxNyksIFQoQzE4KSwgVChDMTkpID46OnR5cGUgdHlwZTsKK307CisKK319CisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9wbGFpbi9hZHZhbmNlX2JhY2t3YXJkLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9wbGFpbi9hZHZhbmNlX2JhY2t3YXJkLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZTBjODI4Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL3BsYWluL2FkdmFuY2VfYmFja3dhcmQuaHBwCkBAIC0wLDAgKzEsOTcgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL2F1eF8vYWR2YW5jZV9iYWNrd2FyZC5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsgbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPCBsb25nIE4gPiBzdHJ1Y3QgYWR2YW5jZV9iYWNrd2FyZDsKK3RlbXBsYXRlPD4KK3N0cnVjdCBhZHZhbmNlX2JhY2t3YXJkPDA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIEl0ZXJhdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIEl0ZXJhdG9yIGl0ZXIwOworICAgICAgICB0eXBlZGVmIGl0ZXIwIHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBhZHZhbmNlX2JhY2t3YXJkPDE+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIEl0ZXJhdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIEl0ZXJhdG9yIGl0ZXIwOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHByaW9yPGl0ZXIwPjo6dHlwZSBpdGVyMTsKKyAgICAgICAgdHlwZWRlZiBpdGVyMSB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgYWR2YW5jZV9iYWNrd2FyZDwyPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBJdGVyYXRvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBJdGVyYXRvciBpdGVyMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBwcmlvcjxpdGVyMD46OnR5cGUgaXRlcjE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcHJpb3I8aXRlcjE+Ojp0eXBlIGl0ZXIyOworICAgICAgICB0eXBlZGVmIGl0ZXIyIHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBhZHZhbmNlX2JhY2t3YXJkPDM+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIEl0ZXJhdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIEl0ZXJhdG9yIGl0ZXIwOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHByaW9yPGl0ZXIwPjo6dHlwZSBpdGVyMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBwcmlvcjxpdGVyMT46OnR5cGUgaXRlcjI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcHJpb3I8aXRlcjI+Ojp0eXBlIGl0ZXIzOworICAgICAgICB0eXBlZGVmIGl0ZXIzIHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBhZHZhbmNlX2JhY2t3YXJkPDQ+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIEl0ZXJhdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIEl0ZXJhdG9yIGl0ZXIwOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHByaW9yPGl0ZXIwPjo6dHlwZSBpdGVyMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBwcmlvcjxpdGVyMT46OnR5cGUgaXRlcjI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcHJpb3I8aXRlcjI+Ojp0eXBlIGl0ZXIzOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHByaW9yPGl0ZXIzPjo6dHlwZSBpdGVyNDsKKyAgICAgICAgdHlwZWRlZiBpdGVyNCB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgbG9uZyBOID4KK3N0cnVjdCBhZHZhbmNlX2JhY2t3YXJkCit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIEl0ZXJhdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5X3dyYXAxPAorICAgICAgICAgICAgICBhZHZhbmNlX2JhY2t3YXJkPDQ+CisgICAgICAgICAgICAsIEl0ZXJhdG9yCisgICAgICAgICAgICA+Ojp0eXBlIGNodW5rX3Jlc3VsdF87CisKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseV93cmFwMTwKKyAgICAgICAgICAgICAgYWR2YW5jZV9iYWNrd2FyZDwoCisgICAgICAgICAgICAgICAgKE4gLSA0KSA8IDAKKyAgICAgICAgICAgICAgICAgICAgPyAwCisgICAgICAgICAgICAgICAgICAgIDogTiAtIDQKKyAgICAgICAgICAgICAgICAgICAgKT4KKyAgICAgICAgICAgICwgY2h1bmtfcmVzdWx0XworICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworICAgIH07Cit9OworCit9fX0KKwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL3BsYWluL2FkdmFuY2VfZm9yd2FyZC5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvcGxhaW4vYWR2YW5jZV9mb3J3YXJkLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iM2E1YWZkCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL3BsYWluL2FkdmFuY2VfZm9yd2FyZC5ocHAKQEAgLTAsMCArMSw5NyBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvYXV4Xy9hZHZhbmNlX2ZvcndhcmQuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7IG5hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwgbG9uZyBOID4gc3RydWN0IGFkdmFuY2VfZm9yd2FyZDsKK3RlbXBsYXRlPD4KK3N0cnVjdCBhZHZhbmNlX2ZvcndhcmQ8MD4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgSXRlcmF0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgSXRlcmF0b3IgaXRlcjA7CisgICAgICAgIHR5cGVkZWYgaXRlcjAgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGFkdmFuY2VfZm9yd2FyZDwxPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBJdGVyYXRvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBJdGVyYXRvciBpdGVyMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBuZXh0PGl0ZXIwPjo6dHlwZSBpdGVyMTsKKyAgICAgICAgdHlwZWRlZiBpdGVyMSB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgYWR2YW5jZV9mb3J3YXJkPDI+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIEl0ZXJhdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIEl0ZXJhdG9yIGl0ZXIwOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG5leHQ8aXRlcjA+Ojp0eXBlIGl0ZXIxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG5leHQ8aXRlcjE+Ojp0eXBlIGl0ZXIyOworICAgICAgICB0eXBlZGVmIGl0ZXIyIHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBhZHZhbmNlX2ZvcndhcmQ8Mz4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgSXRlcmF0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgSXRlcmF0b3IgaXRlcjA7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbmV4dDxpdGVyMD46OnR5cGUgaXRlcjE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbmV4dDxpdGVyMT46OnR5cGUgaXRlcjI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbmV4dDxpdGVyMj46OnR5cGUgaXRlcjM7CisgICAgICAgIHR5cGVkZWYgaXRlcjMgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGFkdmFuY2VfZm9yd2FyZDw0PgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBJdGVyYXRvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBJdGVyYXRvciBpdGVyMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBuZXh0PGl0ZXIwPjo6dHlwZSBpdGVyMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBuZXh0PGl0ZXIxPjo6dHlwZSBpdGVyMjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBuZXh0PGl0ZXIyPjo6dHlwZSBpdGVyMzsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBuZXh0PGl0ZXIzPjo6dHlwZSBpdGVyNDsKKyAgICAgICAgdHlwZWRlZiBpdGVyNCB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgbG9uZyBOID4KK3N0cnVjdCBhZHZhbmNlX2ZvcndhcmQKK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgSXRlcmF0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHlfd3JhcDE8CisgICAgICAgICAgICAgIGFkdmFuY2VfZm9yd2FyZDw0PgorICAgICAgICAgICAgLCBJdGVyYXRvcgorICAgICAgICAgICAgPjo6dHlwZSBjaHVua19yZXN1bHRfOworCisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHlfd3JhcDE8CisgICAgICAgICAgICAgIGFkdmFuY2VfZm9yd2FyZDwoCisgICAgICAgICAgICAgICAgKE4gLSA0KSA8IDAKKyAgICAgICAgICAgICAgICAgICAgPyAwCisgICAgICAgICAgICAgICAgICAgIDogTiAtIDQKKyAgICAgICAgICAgICAgICAgICAgKT4KKyAgICAgICAgICAgICwgY2h1bmtfcmVzdWx0XworICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworICAgIH07Cit9OworCit9fX0KKwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL3BsYWluL2FuZC5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvcGxhaW4vYW5kLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MGE5MWVmCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL3BsYWluL2FuZC5ocHAKQEAgLTAsMCArMSw2NCBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvYW5kLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8IGJvb2wgQ18sIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0ID4KK3N0cnVjdCBhbmRfaW1wbAorICAgIDogZmFsc2VfCit7Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQgPgorc3RydWN0IGFuZF9pbXBsPCB0cnVlLFQxLFQyLFQzLFQ0ID4KKyAgICA6IGFuZF9pbXBsPAorICAgICAgICAgIEJPT1NUX01QTF9BVVhfTkVTVEVEX1RZUEVfV0tORChUMSk6OnZhbHVlCisgICAgICAgICwgVDIsIFQzLCBUNAorICAgICAgICAsIHRydWVfCisgICAgICAgID4KK3sKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBhbmRfaW1wbDwKKyAgICAgICAgICB0cnVlCisgICAgICAgICwgdHJ1ZV8sIHRydWVfLCB0cnVlXywgdHJ1ZV8KKyAgICAgICAgPgorICAgIDogdHJ1ZV8KK3sKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oVDEpCisgICAgLCB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKFQyKQorICAgICwgdHlwZW5hbWUgVDMgPSB0cnVlXywgdHlwZW5hbWUgVDQgPSB0cnVlXywgdHlwZW5hbWUgVDUgPSB0cnVlXworICAgID4KK3N0cnVjdCBhbmRfCisKKyAgICA6IGF1eDo6YW5kX2ltcGw8CisgICAgICAgICAgQk9PU1RfTVBMX0FVWF9ORVNURURfVFlQRV9XS05EKFQxKTo6dmFsdWUKKyAgICAgICAgLCBUMiwgVDMsIFQ0LCBUNQorICAgICAgICA+CisKK3sKK307CisKK0JPT1NUX01QTF9BVVhfTkFfU1BFQzIoCisgICAgICAyCisgICAgLCA1CisgICAgLCBhbmRfCisgICAgKQorCit9fQpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL3BsYWluL2FwcGx5LmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9wbGFpbi9hcHBseS5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTIwZWM0NgotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9wbGFpbi9hcHBseS5ocHAKQEAgLTAsMCArMSwxMzkgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL2FwcGx5LmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYKKyAgICA+CitzdHJ1Y3QgYXBwbHkwCisKKyAgICA6IGFwcGx5X3dyYXAwPAorICAgICAgICAgIHR5cGVuYW1lIGxhbWJkYTxGPjo6dHlwZQorICAgICAgIAorICAgICAgICA+Cit7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYKKyAgICA+CitzdHJ1Y3QgYXBwbHk8IEYsbmEsbmEsbmEsbmEsbmEgPgorICAgIDogYXBwbHkwPEY+Cit7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxCisgICAgPgorc3RydWN0IGFwcGx5MQorCisgICAgOiBhcHBseV93cmFwMTwKKyAgICAgICAgICB0eXBlbmFtZSBsYW1iZGE8Rj46OnR5cGUKKyAgICAgICAgLCBUMQorICAgICAgICA+Cit7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxCisgICAgPgorc3RydWN0IGFwcGx5PCBGLFQxLG5hLG5hLG5hLG5hID4KKyAgICA6IGFwcGx5MTwgRixUMSA+Cit7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMgorICAgID4KK3N0cnVjdCBhcHBseTIKKworICAgIDogYXBwbHlfd3JhcDI8CisgICAgICAgICAgdHlwZW5hbWUgbGFtYmRhPEY+Ojp0eXBlCisgICAgICAgICwgVDEsIFQyCisgICAgICAgID4KK3sKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyCisgICAgPgorc3RydWN0IGFwcGx5PCBGLFQxLFQyLG5hLG5hLG5hID4KKyAgICA6IGFwcGx5MjwgRixUMSxUMiA+Cit7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMKKyAgICA+CitzdHJ1Y3QgYXBwbHkzCisKKyAgICA6IGFwcGx5X3dyYXAzPAorICAgICAgICAgIHR5cGVuYW1lIGxhbWJkYTxGPjo6dHlwZQorICAgICAgICAsIFQxLCBUMiwgVDMKKyAgICAgICAgPgoreworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzCisgICAgPgorc3RydWN0IGFwcGx5PCBGLFQxLFQyLFQzLG5hLG5hID4KKyAgICA6IGFwcGx5MzwgRixUMSxUMixUMyA+Cit7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgPgorc3RydWN0IGFwcGx5NAorCisgICAgOiBhcHBseV93cmFwNDwKKyAgICAgICAgICB0eXBlbmFtZSBsYW1iZGE8Rj46OnR5cGUKKyAgICAgICAgLCBUMSwgVDIsIFQzLCBUNAorICAgICAgICA+Cit7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgPgorc3RydWN0IGFwcGx5PCBGLFQxLFQyLFQzLFQ0LG5hID4KKyAgICA6IGFwcGx5NDwgRixUMSxUMixUMyxUNCA+Cit7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNQorICAgID4KK3N0cnVjdCBhcHBseTUKKworICAgIDogYXBwbHlfd3JhcDU8CisgICAgICAgICAgdHlwZW5hbWUgbGFtYmRhPEY+Ojp0eXBlCisgICAgICAgICwgVDEsIFQyLCBUMywgVDQsIFQ1CisgICAgICAgID4KK3sKK307CisKKy8vLyBwcmltYXJ5IHRlbXBsYXRlIChub3QgYSBzcGVjaWFsaXphdGlvbiEpCisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1CisgICAgPgorc3RydWN0IGFwcGx5CisgICAgOiBhcHBseTU8IEYsVDEsVDIsVDMsVDQsVDUgPgoreworfTsKKworfX0KKwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL3BsYWluL2FwcGx5X2Z3ZC5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvcGxhaW4vYXBwbHlfZndkLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iY2NjOTRlCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL3BsYWluL2FwcGx5X2Z3ZC5ocHAKQEAgLTAsMCArMSw1MiBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvYXBwbHlfZndkLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxID0gbmEsIHR5cGVuYW1lIFQyID0gbmEsIHR5cGVuYW1lIFQzID0gbmEKKyAgICAsIHR5cGVuYW1lIFQ0ID0gbmEsIHR5cGVuYW1lIFQ1ID0gbmEKKyAgICA+CitzdHJ1Y3QgYXBwbHk7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRgorICAgID4KK3N0cnVjdCBhcHBseTA7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEKKyAgICA+CitzdHJ1Y3QgYXBwbHkxOworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMgorICAgID4KK3N0cnVjdCBhcHBseTI7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMworICAgID4KK3N0cnVjdCBhcHBseTM7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICA+CitzdHJ1Y3QgYXBwbHk0OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNQorICAgID4KK3N0cnVjdCBhcHBseTU7CisKK319CisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9wbGFpbi9hcHBseV93cmFwLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9wbGFpbi9hcHBseV93cmFwLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lYzkwMjAyCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL3BsYWluL2FwcGx5X3dyYXAuaHBwCkBAIC0wLDAgKzEsODQgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL2FwcGx5X3dyYXAuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRgorCisgICAgLCB0eXBlbmFtZSBoYXNfYXBwbHlfID0gdHlwZW5hbWUgYXV4OjpoYXNfYXBwbHk8Rj46OnR5cGUKKworICAgID4KK3N0cnVjdCBhcHBseV93cmFwMAorCisgICAgOiBGOjp0ZW1wbGF0ZSBhcHBseTwgID4KK3sKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBGID4KK3N0cnVjdCBhcHBseV93cmFwMDwgRix0cnVlXyA+CisgICAgOiBGOjphcHBseQoreworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMQorCisgICAgPgorc3RydWN0IGFwcGx5X3dyYXAxCisKKyAgICA6IEY6OnRlbXBsYXRlIGFwcGx5PFQxPgoreworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIKKworICAgID4KK3N0cnVjdCBhcHBseV93cmFwMgorCisgICAgOiBGOjp0ZW1wbGF0ZSBhcHBseTwgVDEsVDIgPgoreworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzCisKKyAgICA+CitzdHJ1Y3QgYXBwbHlfd3JhcDMKKworICAgIDogRjo6dGVtcGxhdGUgYXBwbHk8IFQxLFQyLFQzID4KK3sKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKworICAgID4KK3N0cnVjdCBhcHBseV93cmFwNAorCisgICAgOiBGOjp0ZW1wbGF0ZSBhcHBseTwgVDEsVDIsVDMsVDQgPgoreworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUKKworICAgID4KK3N0cnVjdCBhcHBseV93cmFwNQorCisgICAgOiBGOjp0ZW1wbGF0ZSBhcHBseTwgVDEsVDIsVDMsVDQsVDUgPgoreworfTsKKworfX0KKwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL3BsYWluL2FyZy5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvcGxhaW4vYXJnLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45YTE1N2MyCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL3BsYWluL2FyZy5ocHAKQEAgLTAsMCArMSwxMjMgQEAKKworLy8gQ29weXJpZ2h0IFBldGVyIERpbW92IDIwMDEtMjAwMgorLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMS0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL2FyZy5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCitCT09TVF9NUExfQVVYX0FETF9CQVJSSUVSX05BTUVTUEFDRV9PUEVOCit0ZW1wbGF0ZTw+IHN0cnVjdCBhcmc8IC0xID4KK3sKKyAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAtMSk7CisgICAgQk9PU1RfTVBMX0FVWF9BUkdfVFlQRURFRihuYSwgdGFnKQorICAgIEJPT1NUX01QTF9BVVhfQVJHX1RZUEVERUYobmEsIHR5cGUpCisKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBVMSA9IG5hLCB0eXBlbmFtZSBVMiA9IG5hLCB0eXBlbmFtZSBVMyA9IG5hCisgICAgICAgICwgdHlwZW5hbWUgVTQgPSBuYSwgdHlwZW5hbWUgVTUgPSBuYQorICAgICAgICA+CisgICAgc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIFUxIHR5cGU7CisgICAgICAgIEJPT1NUX01QTF9BVVhfQVNTRVJUX05PVF9OQSh0eXBlKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgYXJnPDE+Cit7CisgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMSk7CisgICAgdHlwZWRlZiBhcmc8Mj4gbmV4dDsKKyAgICBCT09TVF9NUExfQVVYX0FSR19UWVBFREVGKG5hLCB0YWcpCisgICAgQk9PU1RfTVBMX0FVWF9BUkdfVFlQRURFRihuYSwgdHlwZSkKKworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFUxID0gbmEsIHR5cGVuYW1lIFUyID0gbmEsIHR5cGVuYW1lIFUzID0gbmEKKyAgICAgICAgLCB0eXBlbmFtZSBVNCA9IG5hLCB0eXBlbmFtZSBVNSA9IG5hCisgICAgICAgID4KKyAgICBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgVTEgdHlwZTsKKyAgICAgICAgQk9PU1RfTVBMX0FVWF9BU1NFUlRfTk9UX05BKHR5cGUpOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCBhcmc8Mj4KK3sKKyAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAyKTsKKyAgICB0eXBlZGVmIGFyZzwzPiBuZXh0OworICAgIEJPT1NUX01QTF9BVVhfQVJHX1RZUEVERUYobmEsIHRhZykKKyAgICBCT09TVF9NUExfQVVYX0FSR19UWVBFREVGKG5hLCB0eXBlKQorCisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVTEgPSBuYSwgdHlwZW5hbWUgVTIgPSBuYSwgdHlwZW5hbWUgVTMgPSBuYQorICAgICAgICAsIHR5cGVuYW1lIFU0ID0gbmEsIHR5cGVuYW1lIFU1ID0gbmEKKyAgICAgICAgPgorICAgIHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBVMiB0eXBlOworICAgICAgICBCT09TVF9NUExfQVVYX0FTU0VSVF9OT1RfTkEodHlwZSk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4gc3RydWN0IGFyZzwzPgoreworICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDMpOworICAgIHR5cGVkZWYgYXJnPDQ+IG5leHQ7CisgICAgQk9PU1RfTVBMX0FVWF9BUkdfVFlQRURFRihuYSwgdGFnKQorICAgIEJPT1NUX01QTF9BVVhfQVJHX1RZUEVERUYobmEsIHR5cGUpCisKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBVMSA9IG5hLCB0eXBlbmFtZSBVMiA9IG5hLCB0eXBlbmFtZSBVMyA9IG5hCisgICAgICAgICwgdHlwZW5hbWUgVTQgPSBuYSwgdHlwZW5hbWUgVTUgPSBuYQorICAgICAgICA+CisgICAgc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIFUzIHR5cGU7CisgICAgICAgIEJPT1NUX01QTF9BVVhfQVNTRVJUX05PVF9OQSh0eXBlKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgYXJnPDQ+Cit7CisgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gNCk7CisgICAgdHlwZWRlZiBhcmc8NT4gbmV4dDsKKyAgICBCT09TVF9NUExfQVVYX0FSR19UWVBFREVGKG5hLCB0YWcpCisgICAgQk9PU1RfTVBMX0FVWF9BUkdfVFlQRURFRihuYSwgdHlwZSkKKworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFUxID0gbmEsIHR5cGVuYW1lIFUyID0gbmEsIHR5cGVuYW1lIFUzID0gbmEKKyAgICAgICAgLCB0eXBlbmFtZSBVNCA9IG5hLCB0eXBlbmFtZSBVNSA9IG5hCisgICAgICAgID4KKyAgICBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgVTQgdHlwZTsKKyAgICAgICAgQk9PU1RfTVBMX0FVWF9BU1NFUlRfTk9UX05BKHR5cGUpOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCBhcmc8NT4KK3sKKyAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSA1KTsKKyAgICB0eXBlZGVmIGFyZzw2PiBuZXh0OworICAgIEJPT1NUX01QTF9BVVhfQVJHX1RZUEVERUYobmEsIHRhZykKKyAgICBCT09TVF9NUExfQVVYX0FSR19UWVBFREVGKG5hLCB0eXBlKQorCisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVTEgPSBuYSwgdHlwZW5hbWUgVTIgPSBuYSwgdHlwZW5hbWUgVTMgPSBuYQorICAgICAgICAsIHR5cGVuYW1lIFU0ID0gbmEsIHR5cGVuYW1lIFU1ID0gbmEKKyAgICAgICAgPgorICAgIHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBVNSB0eXBlOworICAgICAgICBCT09TVF9NUExfQVVYX0FTU0VSVF9OT1RfTkEodHlwZSk7CisgICAgfTsKK307CisKK0JPT1NUX01QTF9BVVhfTk9OVFlQRV9BUklUWV9TUEVDKDEsaW50LCBhcmcpCisKK0JPT1NUX01QTF9BVVhfQURMX0JBUlJJRVJfTkFNRVNQQUNFX0NMT1NFCmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvcGxhaW4vYmFzaWNfYmluZC5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvcGxhaW4vYmFzaWNfYmluZC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTJhNTY1ZQotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9wbGFpbi9iYXNpY19iaW5kLmhwcApAQCAtMCwwICsxLDQ0MCBAQAorCisvLyBDb3B5cmlnaHQgUGV0ZXIgRGltb3YgMjAwMQorLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMS0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL2F1eF8vYmFzaWNfYmluZC5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyLCB0eXBlbmFtZSBVMywgdHlwZW5hbWUgVTQKKyAgICAsIHR5cGVuYW1lIFU1CisgICAgPgorc3RydWN0IHJlc29sdmVfYmluZF9hcmcKK3sKKyAgICB0eXBlZGVmIFQgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgaW50IE4sIHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiwgdHlwZW5hbWUgVTMsIHR5cGVuYW1lIFU0LCB0eXBlbmFtZSBVNQorICAgID4KK3N0cnVjdCByZXNvbHZlX2JpbmRfYXJnPCBhcmc8Tj4sIFUxLCBVMiwgVTMsIFU0LCBVNSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseV93cmFwNTxtcGw6OmFyZzxOPiwgVTEsIFUyLCBVMywgVTQsIFU1Pjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiwgdHlwZW5hbWUgVTMsIHR5cGVuYW1lIFU0CisgICAgLCB0eXBlbmFtZSBVNQorICAgID4KK3N0cnVjdCByZXNvbHZlX2JpbmRfYXJnPCBiaW5kPCBGLFQxLFQyLFQzLFQ0LFQ1ID4sIFUxLCBVMiwgVTMsIFU0LCBVNSA+Cit7CisgICAgdHlwZWRlZiBiaW5kPCBGLFQxLFQyLFQzLFQ0LFQ1ID4gZl87CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseV93cmFwNTwgZl8sVTEsVTIsVTMsVTQsVTUgPjo6dHlwZSB0eXBlOworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRgorICAgID4KK3N0cnVjdCBiaW5kMAoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFUxID0gbmEsIHR5cGVuYW1lIFUyID0gbmEsIHR5cGVuYW1lIFUzID0gbmEKKyAgICAgICAgLCB0eXBlbmFtZSBVNCA9IG5hLCB0eXBlbmFtZSBVNSA9IG5hCisgICAgICAgID4KKyAgICBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgIHByaXZhdGU6CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBGLFUxLFUyLFUzLFU0LFU1ID46OnR5cGUgZl87CisKKyAgICAgcHVibGljOgorICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5X3dyYXAwPAorICAgICAgICAgICAgICBmXworICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiwgdHlwZW5hbWUgVTMsIHR5cGVuYW1lIFU0CisgICAgLCB0eXBlbmFtZSBVNQorICAgID4KK3N0cnVjdCByZXNvbHZlX2JpbmRfYXJnPAorICAgICAgYmluZDA8Rj4sIFUxLCBVMiwgVTMsIFU0LCBVNQorICAgID4KK3sKKyAgICB0eXBlZGVmIGJpbmQwPEY+IGZfOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHlfd3JhcDU8IGZfLFUxLFUyLFUzLFU0LFU1ID46OnR5cGUgdHlwZTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCitCT09TVF9NUExfQVVYX0FSSVRZX1NQRUMoMSwgYmluZDApCitCT09TVF9NUExfQVVYX1RFTVBMQVRFX0FSSVRZX1NQRUMoMSwgYmluZDApCisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRgorICAgID4KK3N0cnVjdCBiaW5kPCBGLG5hLG5hLG5hLG5hLG5hID4KKyAgICA6IGJpbmQwPEY+Cit7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxCisgICAgPgorc3RydWN0IGJpbmQxCit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVTEgPSBuYSwgdHlwZW5hbWUgVTIgPSBuYSwgdHlwZW5hbWUgVTMgPSBuYQorICAgICAgICAsIHR5cGVuYW1lIFU0ID0gbmEsIHR5cGVuYW1lIFU1ID0gbmEKKyAgICAgICAgPgorICAgIHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgcHJpdmF0ZToKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhdXg6OnJlc29sdmVfYmluZF9hcmc8IEYsVTEsVTIsVTMsVTQsVTUgPjo6dHlwZSBmXzsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IFQxLFUxLFUyLFUzLFU0LFU1ID4gdDE7CisKKyAgICAgcHVibGljOgorICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5X3dyYXAxPAorICAgICAgICAgICAgICBmXworICAgICAgICAgICAgLCB0eXBlbmFtZSB0MTo6dHlwZQorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIsIHR5cGVuYW1lIFUzCisgICAgLCB0eXBlbmFtZSBVNCwgdHlwZW5hbWUgVTUKKyAgICA+CitzdHJ1Y3QgcmVzb2x2ZV9iaW5kX2FyZzwKKyAgICAgIGJpbmQxPCBGLFQxID4sIFUxLCBVMiwgVTMsIFU0LCBVNQorICAgID4KK3sKKyAgICB0eXBlZGVmIGJpbmQxPCBGLFQxID4gZl87CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseV93cmFwNTwgZl8sVTEsVTIsVTMsVTQsVTUgPjo6dHlwZSB0eXBlOworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK0JPT1NUX01QTF9BVVhfQVJJVFlfU1BFQygyLCBiaW5kMSkKK0JPT1NUX01QTF9BVVhfVEVNUExBVEVfQVJJVFlfU1BFQygyLCBiaW5kMSkKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMQorICAgID4KK3N0cnVjdCBiaW5kPCBGLFQxLG5hLG5hLG5hLG5hID4KKyAgICA6IGJpbmQxPCBGLFQxID4KK3sKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyCisgICAgPgorc3RydWN0IGJpbmQyCit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVTEgPSBuYSwgdHlwZW5hbWUgVTIgPSBuYSwgdHlwZW5hbWUgVTMgPSBuYQorICAgICAgICAsIHR5cGVuYW1lIFU0ID0gbmEsIHR5cGVuYW1lIFU1ID0gbmEKKyAgICAgICAgPgorICAgIHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgcHJpdmF0ZToKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhdXg6OnJlc29sdmVfYmluZF9hcmc8IEYsVTEsVTIsVTMsVTQsVTUgPjo6dHlwZSBmXzsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IFQxLFUxLFUyLFUzLFU0LFU1ID4gdDE7CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBUMixVMSxVMixVMyxVNCxVNSA+IHQyOworCisgICAgIHB1YmxpYzoKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseV93cmFwMjwKKyAgICAgICAgICAgICAgZl8KKyAgICAgICAgICAgICwgdHlwZW5hbWUgdDE6OnR5cGUsIHR5cGVuYW1lIHQyOjp0eXBlCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIKKyAgICAsIHR5cGVuYW1lIFUzLCB0eXBlbmFtZSBVNCwgdHlwZW5hbWUgVTUKKyAgICA+CitzdHJ1Y3QgcmVzb2x2ZV9iaW5kX2FyZzwKKyAgICAgIGJpbmQyPCBGLFQxLFQyID4sIFUxLCBVMiwgVTMsIFU0LCBVNQorICAgID4KK3sKKyAgICB0eXBlZGVmIGJpbmQyPCBGLFQxLFQyID4gZl87CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseV93cmFwNTwgZl8sVTEsVTIsVTMsVTQsVTUgPjo6dHlwZSB0eXBlOworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK0JPT1NUX01QTF9BVVhfQVJJVFlfU1BFQygzLCBiaW5kMikKK0JPT1NUX01QTF9BVVhfVEVNUExBVEVfQVJJVFlfU1BFQygzLCBiaW5kMikKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIKKyAgICA+CitzdHJ1Y3QgYmluZDwgRixUMSxUMixuYSxuYSxuYSA+CisgICAgOiBiaW5kMjwgRixUMSxUMiA+Cit7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMKKyAgICA+CitzdHJ1Y3QgYmluZDMKK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBVMSA9IG5hLCB0eXBlbmFtZSBVMiA9IG5hLCB0eXBlbmFtZSBVMyA9IG5hCisgICAgICAgICwgdHlwZW5hbWUgVTQgPSBuYSwgdHlwZW5hbWUgVTUgPSBuYQorICAgICAgICA+CisgICAgc3RydWN0IGFwcGx5CisgICAgeworICAgICBwcml2YXRlOgorICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgRixVMSxVMixVMyxVNCxVNSA+Ojp0eXBlIGZfOworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgVDEsVTEsVTIsVTMsVTQsVTUgPiB0MTsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IFQyLFUxLFUyLFUzLFU0LFU1ID4gdDI7CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBUMyxVMSxVMixVMyxVNCxVNSA+IHQzOworCisgICAgIHB1YmxpYzoKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseV93cmFwMzwKKyAgICAgICAgICAgICAgZl8KKyAgICAgICAgICAgICwgdHlwZW5hbWUgdDE6OnR5cGUsIHR5cGVuYW1lIHQyOjp0eXBlLCB0eXBlbmFtZSB0Mzo6dHlwZQorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFUxCisgICAgLCB0eXBlbmFtZSBVMiwgdHlwZW5hbWUgVTMsIHR5cGVuYW1lIFU0LCB0eXBlbmFtZSBVNQorICAgID4KK3N0cnVjdCByZXNvbHZlX2JpbmRfYXJnPAorICAgICAgYmluZDM8IEYsVDEsVDIsVDMgPiwgVTEsIFUyLCBVMywgVTQsIFU1CisgICAgPgoreworICAgIHR5cGVkZWYgYmluZDM8IEYsVDEsVDIsVDMgPiBmXzsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5X3dyYXA1PCBmXyxVMSxVMixVMyxVNCxVNSA+Ojp0eXBlIHR5cGU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworQk9PU1RfTVBMX0FVWF9BUklUWV9TUEVDKDQsIGJpbmQzKQorQk9PU1RfTVBMX0FVWF9URU1QTEFURV9BUklUWV9TUEVDKDQsIGJpbmQzKQorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMKKyAgICA+CitzdHJ1Y3QgYmluZDwgRixUMSxUMixUMyxuYSxuYSA+CisgICAgOiBiaW5kMzwgRixUMSxUMixUMyA+Cit7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgPgorc3RydWN0IGJpbmQ0Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVTEgPSBuYSwgdHlwZW5hbWUgVTIgPSBuYSwgdHlwZW5hbWUgVTMgPSBuYQorICAgICAgICAsIHR5cGVuYW1lIFU0ID0gbmEsIHR5cGVuYW1lIFU1ID0gbmEKKyAgICAgICAgPgorICAgIHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgcHJpdmF0ZToKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhdXg6OnJlc29sdmVfYmluZF9hcmc8IEYsVTEsVTIsVTMsVTQsVTUgPjo6dHlwZSBmXzsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IFQxLFUxLFUyLFUzLFU0LFU1ID4gdDE7CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBUMixVMSxVMixVMyxVNCxVNSA+IHQyOworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgVDMsVTEsVTIsVTMsVTQsVTUgPiB0MzsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IFQ0LFUxLFUyLFUzLFU0LFU1ID4gdDQ7CisKKyAgICAgcHVibGljOgorICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5X3dyYXA0PAorICAgICAgICAgICAgICBmXworICAgICAgICAgICAgLCB0eXBlbmFtZSB0MTo6dHlwZSwgdHlwZW5hbWUgdDI6OnR5cGUsIHR5cGVuYW1lIHQzOjp0eXBlCisgICAgICAgICAgICAsIHR5cGVuYW1lIHQ0Ojp0eXBlCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiwgdHlwZW5hbWUgVTMsIHR5cGVuYW1lIFU0LCB0eXBlbmFtZSBVNQorICAgID4KK3N0cnVjdCByZXNvbHZlX2JpbmRfYXJnPAorICAgICAgYmluZDQ8IEYsVDEsVDIsVDMsVDQgPiwgVTEsIFUyLCBVMywgVTQsIFU1CisgICAgPgoreworICAgIHR5cGVkZWYgYmluZDQ8IEYsVDEsVDIsVDMsVDQgPiBmXzsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5X3dyYXA1PCBmXyxVMSxVMixVMyxVNCxVNSA+Ojp0eXBlIHR5cGU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworQk9PU1RfTVBMX0FVWF9BUklUWV9TUEVDKDUsIGJpbmQ0KQorQk9PU1RfTVBMX0FVWF9URU1QTEFURV9BUklUWV9TUEVDKDUsIGJpbmQ0KQorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgPgorc3RydWN0IGJpbmQ8IEYsVDEsVDIsVDMsVDQsbmEgPgorICAgIDogYmluZDQ8IEYsVDEsVDIsVDMsVDQgPgoreworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUKKyAgICA+CitzdHJ1Y3QgYmluZDUKK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBVMSA9IG5hLCB0eXBlbmFtZSBVMiA9IG5hLCB0eXBlbmFtZSBVMyA9IG5hCisgICAgICAgICwgdHlwZW5hbWUgVTQgPSBuYSwgdHlwZW5hbWUgVTUgPSBuYQorICAgICAgICA+CisgICAgc3RydWN0IGFwcGx5CisgICAgeworICAgICBwcml2YXRlOgorICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgRixVMSxVMixVMyxVNCxVNSA+Ojp0eXBlIGZfOworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgVDEsVTEsVTIsVTMsVTQsVTUgPiB0MTsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IFQyLFUxLFUyLFUzLFU0LFU1ID4gdDI7CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBUMyxVMSxVMixVMyxVNCxVNSA+IHQzOworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgVDQsVTEsVTIsVTMsVTQsVTUgPiB0NDsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IFQ1LFUxLFUyLFUzLFU0LFU1ID4gdDU7CisKKyAgICAgcHVibGljOgorICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5X3dyYXA1PAorICAgICAgICAgICAgICBmXworICAgICAgICAgICAgLCB0eXBlbmFtZSB0MTo6dHlwZSwgdHlwZW5hbWUgdDI6OnR5cGUsIHR5cGVuYW1lIHQzOjp0eXBlCisgICAgICAgICAgICAsIHR5cGVuYW1lIHQ0Ojp0eXBlLCB0eXBlbmFtZSB0NTo6dHlwZQorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyLCB0eXBlbmFtZSBVMywgdHlwZW5hbWUgVTQKKyAgICAsIHR5cGVuYW1lIFU1CisgICAgPgorc3RydWN0IHJlc29sdmVfYmluZF9hcmc8CisgICAgICBiaW5kNTwgRixUMSxUMixUMyxUNCxUNSA+LCBVMSwgVTIsIFUzLCBVNCwgVTUKKyAgICA+Cit7CisgICAgdHlwZWRlZiBiaW5kNTwgRixUMSxUMixUMyxUNCxUNSA+IGZfOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHlfd3JhcDU8IGZfLFUxLFUyLFUzLFU0LFU1ID46OnR5cGUgdHlwZTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCitCT09TVF9NUExfQVVYX0FSSVRZX1NQRUMoNiwgYmluZDUpCitCT09TVF9NUExfQVVYX1RFTVBMQVRFX0FSSVRZX1NQRUMoNiwgYmluZDUpCisKKy8vLyBwcmltYXJ5IHRlbXBsYXRlIChub3QgYSBzcGVjaWFsaXphdGlvbiEpCisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1CisgICAgPgorc3RydWN0IGJpbmQKKyAgICA6IGJpbmQ1PCBGLFQxLFQyLFQzLFQ0LFQ1ID4KK3sKK307CisKKy8vLyBpZl8vZXZhbF9pZiBzcGVjaWFsaXphdGlvbnMKK3RlbXBsYXRlPCB0ZW1wbGF0ZTwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMyA+IGNsYXNzIEYsIHR5cGVuYW1lIFRhZyA+CitzdHJ1Y3QgcXVvdGUzOworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMyA+IHN0cnVjdCBpZl87CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVGFnLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzCisgICAgPgorc3RydWN0IGJpbmQzPAorICAgICAgcXVvdGUzPCBpZl8sVGFnID4KKyAgICAsIFQxLCBUMiwgVDMKKyAgICA+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVTEgPSBuYSwgdHlwZW5hbWUgVTIgPSBuYSwgdHlwZW5hbWUgVTMgPSBuYQorICAgICAgICAsIHR5cGVuYW1lIFU0ID0gbmEsIHR5cGVuYW1lIFU1ID0gbmEKKyAgICAgICAgPgorICAgIHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgcHJpdmF0ZToKKyAgICAgICAgdHlwZWRlZiBtcGw6OmFyZzwxPiBuMTsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IFQxLFUxLFUyLFUzLFU0LFU1ID4gdDE7CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBUMixVMSxVMixVMyxVNCxVNSA+IHQyOworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgVDMsVTEsVTIsVTMsVTQsVTUgPiB0MzsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBpZl88CisgICAgICAgICAgICAgIHR5cGVuYW1lIHQxOjp0eXBlCisgICAgICAgICAgICAsIHQyLCB0MworICAgICAgICAgICAgPjo6dHlwZSBmXzsKKworICAgICBwdWJsaWM6CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgZl86OnR5cGUgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8CisgICAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMyA+IGNsYXNzIEYsIHR5cGVuYW1lIFRhZworICAgID4KK3N0cnVjdCBxdW90ZTM7CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzID4gc3RydWN0IGV2YWxfaWY7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVGFnLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzCisgICAgPgorc3RydWN0IGJpbmQzPAorICAgICAgcXVvdGUzPCBldmFsX2lmLFRhZyA+CisgICAgLCBUMSwgVDIsIFQzCisgICAgPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFUxID0gbmEsIHR5cGVuYW1lIFUyID0gbmEsIHR5cGVuYW1lIFUzID0gbmEKKyAgICAgICAgLCB0eXBlbmFtZSBVNCA9IG5hLCB0eXBlbmFtZSBVNSA9IG5hCisgICAgICAgID4KKyAgICBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgIHByaXZhdGU6CisgICAgICAgIHR5cGVkZWYgbXBsOjphcmc8MT4gbjE7CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBUMSxVMSxVMixVMyxVNCxVNSA+IHQxOworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgVDIsVTEsVTIsVTMsVTQsVTUgPiB0MjsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IFQzLFUxLFUyLFUzLFU0LFU1ID4gdDM7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgZXZhbF9pZjwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgdDE6OnR5cGUKKyAgICAgICAgICAgICwgdDIsIHQzCisgICAgICAgICAgICA+Ojp0eXBlIGZfOworCisgICAgIHB1YmxpYzoKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBmXzo6dHlwZSB0eXBlOworICAgIH07Cit9OworCit9fQorCmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvcGxhaW4vYmluZC5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvcGxhaW4vYmluZC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjJjZGU1YQotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9wbGFpbi9iaW5kLmhwcApAQCAtMCwwICsxLDU2MSBAQAorCisvLyBDb3B5cmlnaHQgUGV0ZXIgRGltb3YgMjAwMQorLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMS0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL2JpbmQuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiwgdHlwZW5hbWUgVTMsIHR5cGVuYW1lIFU0CisgICAgLCB0eXBlbmFtZSBVNQorICAgID4KK3N0cnVjdCByZXNvbHZlX2JpbmRfYXJnCit7CisgICAgdHlwZWRlZiBUIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQKKyAgICAsIHR5cGVuYW1lIEFyZworICAgID4KK3N0cnVjdCByZXBsYWNlX3VubmFtZWRfYXJnCit7CisgICAgdHlwZWRlZiBBcmcgbmV4dDsKKyAgICB0eXBlZGVmIFQgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgQXJnCisgICAgPgorc3RydWN0IHJlcGxhY2VfdW5uYW1lZF9hcmc8IGFyZzwgLTEgPiwgQXJnID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIEFyZzo6bmV4dCBuZXh0OworICAgIHR5cGVkZWYgQXJnIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIGludCBOLCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIsIHR5cGVuYW1lIFUzLCB0eXBlbmFtZSBVNCwgdHlwZW5hbWUgVTUKKyAgICA+CitzdHJ1Y3QgcmVzb2x2ZV9iaW5kX2FyZzwgYXJnPE4+LCBVMSwgVTIsIFUzLCBVNCwgVTUgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHlfd3JhcDU8bXBsOjphcmc8Tj4sIFUxLCBVMiwgVTMsIFU0LCBVNT46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIsIHR5cGVuYW1lIFUzLCB0eXBlbmFtZSBVNAorICAgICwgdHlwZW5hbWUgVTUKKyAgICA+CitzdHJ1Y3QgcmVzb2x2ZV9iaW5kX2FyZzwgYmluZDwgRixUMSxUMixUMyxUNCxUNSA+LCBVMSwgVTIsIFUzLCBVNCwgVTUgPgoreworICAgIHR5cGVkZWYgYmluZDwgRixUMSxUMixUMyxUNCxUNSA+IGZfOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHlfd3JhcDU8IGZfLFUxLFUyLFUzLFU0LFU1ID46OnR5cGUgdHlwZTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYKKyAgICA+CitzdHJ1Y3QgYmluZDAKK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBVMSA9IG5hLCB0eXBlbmFtZSBVMiA9IG5hLCB0eXBlbmFtZSBVMyA9IG5hCisgICAgICAgICwgdHlwZW5hbWUgVTQgPSBuYSwgdHlwZW5hbWUgVTUgPSBuYQorICAgICAgICA+CisgICAgc3RydWN0IGFwcGx5CisgICAgeworICAgICBwcml2YXRlOgorICAgICAgICB0eXBlZGVmIGF1eDo6cmVwbGFjZV91bm5hbWVkX2FyZzwgRiwgbXBsOjphcmc8MT4gPiByMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMDo6dHlwZSBhMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMDo6bmV4dCBuMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhdXg6OnJlc29sdmVfYmluZF9hcmc8IGEwLFUxLFUyLFUzLFU0LFU1ID46OnR5cGUgZl87CisgICAgICAgIC8vLworICAgICBwdWJsaWM6CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHlfd3JhcDA8CisgICAgICAgICAgICAgIGZfCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyLCB0eXBlbmFtZSBVMywgdHlwZW5hbWUgVTQKKyAgICAsIHR5cGVuYW1lIFU1CisgICAgPgorc3RydWN0IHJlc29sdmVfYmluZF9hcmc8CisgICAgICBiaW5kMDxGPiwgVTEsIFUyLCBVMywgVTQsIFU1CisgICAgPgoreworICAgIHR5cGVkZWYgYmluZDA8Rj4gZl87CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseV93cmFwNTwgZl8sVTEsVTIsVTMsVTQsVTUgPjo6dHlwZSB0eXBlOworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK0JPT1NUX01QTF9BVVhfQVJJVFlfU1BFQygxLCBiaW5kMCkKK0JPT1NUX01QTF9BVVhfVEVNUExBVEVfQVJJVFlfU1BFQygxLCBiaW5kMCkKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGCisgICAgPgorc3RydWN0IGJpbmQ8IEYsbmEsbmEsbmEsbmEsbmEgPgorICAgIDogYmluZDA8Rj4KK3sKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEKKyAgICA+CitzdHJ1Y3QgYmluZDEKK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBVMSA9IG5hLCB0eXBlbmFtZSBVMiA9IG5hLCB0eXBlbmFtZSBVMyA9IG5hCisgICAgICAgICwgdHlwZW5hbWUgVTQgPSBuYSwgdHlwZW5hbWUgVTUgPSBuYQorICAgICAgICA+CisgICAgc3RydWN0IGFwcGx5CisgICAgeworICAgICBwcml2YXRlOgorICAgICAgICB0eXBlZGVmIGF1eDo6cmVwbGFjZV91bm5hbWVkX2FyZzwgRiwgbXBsOjphcmc8MT4gPiByMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMDo6dHlwZSBhMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMDo6bmV4dCBuMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhdXg6OnJlc29sdmVfYmluZF9hcmc8IGEwLFUxLFUyLFUzLFU0LFU1ID46OnR5cGUgZl87CisgICAgICAgIC8vLworICAgICAgICB0eXBlZGVmIGF1eDo6cmVwbGFjZV91bm5hbWVkX2FyZzwgVDEsbjEgPiByMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMTo6dHlwZSBhMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMTo6bmV4dCBuMjsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IGExLFUxLFUyLFUzLFU0LFU1ID4gdDE7CisgICAgICAgIC8vLworICAgICBwdWJsaWM6CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHlfd3JhcDE8CisgICAgICAgICAgICAgIGZfCisgICAgICAgICAgICAsIHR5cGVuYW1lIHQxOjp0eXBlCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiwgdHlwZW5hbWUgVTMKKyAgICAsIHR5cGVuYW1lIFU0LCB0eXBlbmFtZSBVNQorICAgID4KK3N0cnVjdCByZXNvbHZlX2JpbmRfYXJnPAorICAgICAgYmluZDE8IEYsVDEgPiwgVTEsIFUyLCBVMywgVTQsIFU1CisgICAgPgoreworICAgIHR5cGVkZWYgYmluZDE8IEYsVDEgPiBmXzsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5X3dyYXA1PCBmXyxVMSxVMixVMyxVNCxVNSA+Ojp0eXBlIHR5cGU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworQk9PU1RfTVBMX0FVWF9BUklUWV9TUEVDKDIsIGJpbmQxKQorQk9PU1RfTVBMX0FVWF9URU1QTEFURV9BUklUWV9TUEVDKDIsIGJpbmQxKQorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxCisgICAgPgorc3RydWN0IGJpbmQ8IEYsVDEsbmEsbmEsbmEsbmEgPgorICAgIDogYmluZDE8IEYsVDEgPgoreworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIKKyAgICA+CitzdHJ1Y3QgYmluZDIKK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBVMSA9IG5hLCB0eXBlbmFtZSBVMiA9IG5hLCB0eXBlbmFtZSBVMyA9IG5hCisgICAgICAgICwgdHlwZW5hbWUgVTQgPSBuYSwgdHlwZW5hbWUgVTUgPSBuYQorICAgICAgICA+CisgICAgc3RydWN0IGFwcGx5CisgICAgeworICAgICBwcml2YXRlOgorICAgICAgICB0eXBlZGVmIGF1eDo6cmVwbGFjZV91bm5hbWVkX2FyZzwgRiwgbXBsOjphcmc8MT4gPiByMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMDo6dHlwZSBhMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMDo6bmV4dCBuMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhdXg6OnJlc29sdmVfYmluZF9hcmc8IGEwLFUxLFUyLFUzLFU0LFU1ID46OnR5cGUgZl87CisgICAgICAgIC8vLworICAgICAgICB0eXBlZGVmIGF1eDo6cmVwbGFjZV91bm5hbWVkX2FyZzwgVDEsbjEgPiByMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMTo6dHlwZSBhMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMTo6bmV4dCBuMjsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IGExLFUxLFUyLFUzLFU0LFU1ID4gdDE7CisgICAgICAgIC8vLworICAgICAgICB0eXBlZGVmIGF1eDo6cmVwbGFjZV91bm5hbWVkX2FyZzwgVDIsbjIgPiByMjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMjo6dHlwZSBhMjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMjo6bmV4dCBuMzsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IGEyLFUxLFUyLFUzLFU0LFU1ID4gdDI7CisgICAgICAgIC8vLworICAgICBwdWJsaWM6CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHlfd3JhcDI8CisgICAgICAgICAgICAgIGZfCisgICAgICAgICAgICAsIHR5cGVuYW1lIHQxOjp0eXBlLCB0eXBlbmFtZSB0Mjo6dHlwZQorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisgICAgfTsKK307CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyCisgICAgLCB0eXBlbmFtZSBVMywgdHlwZW5hbWUgVTQsIHR5cGVuYW1lIFU1CisgICAgPgorc3RydWN0IHJlc29sdmVfYmluZF9hcmc8CisgICAgICBiaW5kMjwgRixUMSxUMiA+LCBVMSwgVTIsIFUzLCBVNCwgVTUKKyAgICA+Cit7CisgICAgdHlwZWRlZiBiaW5kMjwgRixUMSxUMiA+IGZfOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHlfd3JhcDU8IGZfLFUxLFUyLFUzLFU0LFU1ID46OnR5cGUgdHlwZTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCitCT09TVF9NUExfQVVYX0FSSVRZX1NQRUMoMywgYmluZDIpCitCT09TVF9NUExfQVVYX1RFTVBMQVRFX0FSSVRZX1NQRUMoMywgYmluZDIpCisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyCisgICAgPgorc3RydWN0IGJpbmQ8IEYsVDEsVDIsbmEsbmEsbmEgPgorICAgIDogYmluZDI8IEYsVDEsVDIgPgoreworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzCisgICAgPgorc3RydWN0IGJpbmQzCit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVTEgPSBuYSwgdHlwZW5hbWUgVTIgPSBuYSwgdHlwZW5hbWUgVTMgPSBuYQorICAgICAgICAsIHR5cGVuYW1lIFU0ID0gbmEsIHR5cGVuYW1lIFU1ID0gbmEKKyAgICAgICAgPgorICAgIHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgcHJpdmF0ZToKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlcGxhY2VfdW5uYW1lZF9hcmc8IEYsIG1wbDo6YXJnPDE+ID4gcjA7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjA6OnR5cGUgYTA7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjA6Om5leHQgbjE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBhMCxVMSxVMixVMyxVNCxVNSA+Ojp0eXBlIGZfOworICAgICAgICAvLy8KKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlcGxhY2VfdW5uYW1lZF9hcmc8IFQxLG4xID4gcjE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjE6OnR5cGUgYTE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjE6Om5leHQgbjI7CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBhMSxVMSxVMixVMyxVNCxVNSA+IHQxOworICAgICAgICAvLy8KKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlcGxhY2VfdW5uYW1lZF9hcmc8IFQyLG4yID4gcjI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjI6OnR5cGUgYTI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjI6Om5leHQgbjM7CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBhMixVMSxVMixVMyxVNCxVNSA+IHQyOworICAgICAgICAvLy8KKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlcGxhY2VfdW5uYW1lZF9hcmc8IFQzLG4zID4gcjM7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjM6OnR5cGUgYTM7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjM6Om5leHQgbjQ7CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPCBhMyxVMSxVMixVMyxVNCxVNSA+IHQzOworICAgICAgICAvLy8KKyAgICAgcHVibGljOgorICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5X3dyYXAzPAorICAgICAgICAgICAgICBmXworICAgICAgICAgICAgLCB0eXBlbmFtZSB0MTo6dHlwZSwgdHlwZW5hbWUgdDI6OnR5cGUsIHR5cGVuYW1lIHQzOjp0eXBlCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisKKyAgICB9OworfTsKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVTEKKyAgICAsIHR5cGVuYW1lIFUyLCB0eXBlbmFtZSBVMywgdHlwZW5hbWUgVTQsIHR5cGVuYW1lIFU1CisgICAgPgorc3RydWN0IHJlc29sdmVfYmluZF9hcmc8CisgICAgICBiaW5kMzwgRixUMSxUMixUMyA+LCBVMSwgVTIsIFUzLCBVNCwgVTUKKyAgICA+Cit7CisgICAgdHlwZWRlZiBiaW5kMzwgRixUMSxUMixUMyA+IGZfOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHlfd3JhcDU8IGZfLFUxLFUyLFUzLFU0LFU1ID46OnR5cGUgdHlwZTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCitCT09TVF9NUExfQVVYX0FSSVRZX1NQRUMoNCwgYmluZDMpCitCT09TVF9NUExfQVVYX1RFTVBMQVRFX0FSSVRZX1NQRUMoNCwgYmluZDMpCisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMworICAgID4KK3N0cnVjdCBiaW5kPCBGLFQxLFQyLFQzLG5hLG5hID4KKyAgICA6IGJpbmQzPCBGLFQxLFQyLFQzID4KK3sKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICA+CitzdHJ1Y3QgYmluZDQKK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBVMSA9IG5hLCB0eXBlbmFtZSBVMiA9IG5hLCB0eXBlbmFtZSBVMyA9IG5hCisgICAgICAgICwgdHlwZW5hbWUgVTQgPSBuYSwgdHlwZW5hbWUgVTUgPSBuYQorICAgICAgICA+CisgICAgc3RydWN0IGFwcGx5CisgICAgeworICAgICBwcml2YXRlOgorICAgICAgICB0eXBlZGVmIGF1eDo6cmVwbGFjZV91bm5hbWVkX2FyZzwgRiwgbXBsOjphcmc8MT4gPiByMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMDo6dHlwZSBhMDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMDo6bmV4dCBuMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhdXg6OnJlc29sdmVfYmluZF9hcmc8IGEwLFUxLFUyLFUzLFU0LFU1ID46OnR5cGUgZl87CisgICAgICAgIC8vLworICAgICAgICB0eXBlZGVmIGF1eDo6cmVwbGFjZV91bm5hbWVkX2FyZzwgVDEsbjEgPiByMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMTo6dHlwZSBhMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMTo6bmV4dCBuMjsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IGExLFUxLFUyLFUzLFU0LFU1ID4gdDE7CisgICAgICAgIC8vLworICAgICAgICB0eXBlZGVmIGF1eDo6cmVwbGFjZV91bm5hbWVkX2FyZzwgVDIsbjIgPiByMjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMjo6dHlwZSBhMjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMjo6bmV4dCBuMzsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IGEyLFUxLFUyLFUzLFU0LFU1ID4gdDI7CisgICAgICAgIC8vLworICAgICAgICB0eXBlZGVmIGF1eDo6cmVwbGFjZV91bm5hbWVkX2FyZzwgVDMsbjMgPiByMzsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMzo6dHlwZSBhMzsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMzo6bmV4dCBuNDsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IGEzLFUxLFUyLFUzLFU0LFU1ID4gdDM7CisgICAgICAgIC8vLworICAgICAgICB0eXBlZGVmIGF1eDo6cmVwbGFjZV91bm5hbWVkX2FyZzwgVDQsbjQgPiByNDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByNDo6dHlwZSBhNDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByNDo6bmV4dCBuNTsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IGE0LFUxLFUyLFUzLFU0LFU1ID4gdDQ7CisgICAgICAgIC8vLworICAgICBwdWJsaWM6CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHlfd3JhcDQ8CisgICAgICAgICAgICAgIGZfCisgICAgICAgICAgICAsIHR5cGVuYW1lIHQxOjp0eXBlLCB0eXBlbmFtZSB0Mjo6dHlwZSwgdHlwZW5hbWUgdDM6OnR5cGUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgdDQ6OnR5cGUKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyLCB0eXBlbmFtZSBVMywgdHlwZW5hbWUgVTQsIHR5cGVuYW1lIFU1CisgICAgPgorc3RydWN0IHJlc29sdmVfYmluZF9hcmc8CisgICAgICBiaW5kNDwgRixUMSxUMixUMyxUNCA+LCBVMSwgVTIsIFUzLCBVNCwgVTUKKyAgICA+Cit7CisgICAgdHlwZWRlZiBiaW5kNDwgRixUMSxUMixUMyxUNCA+IGZfOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHlfd3JhcDU8IGZfLFUxLFUyLFUzLFU0LFU1ID46OnR5cGUgdHlwZTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCitCT09TVF9NUExfQVVYX0FSSVRZX1NQRUMoNSwgYmluZDQpCitCT09TVF9NUExfQVVYX1RFTVBMQVRFX0FSSVRZX1NQRUMoNSwgYmluZDQpCisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICA+CitzdHJ1Y3QgYmluZDwgRixUMSxUMixUMyxUNCxuYSA+CisgICAgOiBiaW5kNDwgRixUMSxUMixUMyxUNCA+Cit7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNQorICAgID4KK3N0cnVjdCBiaW5kNQoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFUxID0gbmEsIHR5cGVuYW1lIFUyID0gbmEsIHR5cGVuYW1lIFUzID0gbmEKKyAgICAgICAgLCB0eXBlbmFtZSBVNCA9IG5hLCB0eXBlbmFtZSBVNSA9IG5hCisgICAgICAgID4KKyAgICBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgIHByaXZhdGU6CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXBsYWNlX3VubmFtZWRfYXJnPCBGLCBtcGw6OmFyZzwxPiA+IHIwOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIwOjp0eXBlIGEwOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIwOjpuZXh0IG4xOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgYTAsVTEsVTIsVTMsVTQsVTUgPjo6dHlwZSBmXzsKKyAgICAgICAgLy8vCisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXBsYWNlX3VubmFtZWRfYXJnPCBUMSxuMSA+IHIxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIxOjp0eXBlIGExOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIxOjpuZXh0IG4yOworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgYTEsVTEsVTIsVTMsVTQsVTUgPiB0MTsKKyAgICAgICAgLy8vCisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXBsYWNlX3VubmFtZWRfYXJnPCBUMixuMiA+IHIyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIyOjp0eXBlIGEyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIyOjpuZXh0IG4zOworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgYTIsVTEsVTIsVTMsVTQsVTUgPiB0MjsKKyAgICAgICAgLy8vCisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXBsYWNlX3VubmFtZWRfYXJnPCBUMyxuMyA+IHIzOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIzOjp0eXBlIGEzOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIzOjpuZXh0IG40OworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgYTMsVTEsVTIsVTMsVTQsVTUgPiB0MzsKKyAgICAgICAgLy8vCisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXBsYWNlX3VubmFtZWRfYXJnPCBUNCxuNCA+IHI0OworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHI0Ojp0eXBlIGE0OworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHI0OjpuZXh0IG41OworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgYTQsVTEsVTIsVTMsVTQsVTUgPiB0NDsKKyAgICAgICAgLy8vCisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXBsYWNlX3VubmFtZWRfYXJnPCBUNSxuNSA+IHI1OworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHI1Ojp0eXBlIGE1OworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHI1OjpuZXh0IG42OworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgYTUsVTEsVTIsVTMsVTQsVTUgPiB0NTsKKyAgICAgICAgLy8vCisgICAgIHB1YmxpYzoKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseV93cmFwNTwKKyAgICAgICAgICAgICAgZl8KKyAgICAgICAgICAgICwgdHlwZW5hbWUgdDE6OnR5cGUsIHR5cGVuYW1lIHQyOjp0eXBlLCB0eXBlbmFtZSB0Mzo6dHlwZQorICAgICAgICAgICAgLCB0eXBlbmFtZSB0NDo6dHlwZSwgdHlwZW5hbWUgdDU6OnR5cGUKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKworICAgIH07Cit9OworCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiwgdHlwZW5hbWUgVTMsIHR5cGVuYW1lIFU0CisgICAgLCB0eXBlbmFtZSBVNQorICAgID4KK3N0cnVjdCByZXNvbHZlX2JpbmRfYXJnPAorICAgICAgYmluZDU8IEYsVDEsVDIsVDMsVDQsVDUgPiwgVTEsIFUyLCBVMywgVTQsIFU1CisgICAgPgoreworICAgIHR5cGVkZWYgYmluZDU8IEYsVDEsVDIsVDMsVDQsVDUgPiBmXzsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5X3dyYXA1PCBmXyxVMSxVMixVMyxVNCxVNSA+Ojp0eXBlIHR5cGU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworQk9PU1RfTVBMX0FVWF9BUklUWV9TUEVDKDYsIGJpbmQ1KQorQk9PU1RfTVBMX0FVWF9URU1QTEFURV9BUklUWV9TUEVDKDYsIGJpbmQ1KQorCisvLy8gcHJpbWFyeSB0ZW1wbGF0ZSAobm90IGEgc3BlY2lhbGl6YXRpb24hKQorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNQorICAgID4KK3N0cnVjdCBiaW5kCisgICAgOiBiaW5kNTwgRixUMSxUMixUMyxUNCxUNSA+Cit7Cit9OworCisvLy8gaWZfL2V2YWxfaWYgc3BlY2lhbGl6YXRpb25zCit0ZW1wbGF0ZTwgdGVtcGxhdGU8IHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMgPiBjbGFzcyBGLCB0eXBlbmFtZSBUYWcgPgorc3RydWN0IHF1b3RlMzsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMgPiBzdHJ1Y3QgaWZfOworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFRhZywgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMworICAgID4KK3N0cnVjdCBiaW5kMzwKKyAgICAgIHF1b3RlMzwgaWZfLFRhZyA+CisgICAgLCBUMSwgVDIsIFQzCisgICAgPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIFUxID0gbmEsIHR5cGVuYW1lIFUyID0gbmEsIHR5cGVuYW1lIFUzID0gbmEKKyAgICAgICAgLCB0eXBlbmFtZSBVNCA9IG5hLCB0eXBlbmFtZSBVNSA9IG5hCisgICAgICAgID4KKyAgICBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgIHByaXZhdGU6CisgICAgICAgIHR5cGVkZWYgbXBsOjphcmc8MT4gbjE7CisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXBsYWNlX3VubmFtZWRfYXJnPCBUMSxuMSA+IHIxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIxOjp0eXBlIGExOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIxOjpuZXh0IG4yOworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgYTEsVTEsVTIsVTMsVTQsVTUgPiB0MTsKKyAgICAgICAgLy8vCisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXBsYWNlX3VubmFtZWRfYXJnPCBUMixuMiA+IHIyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIyOjp0eXBlIGEyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIyOjpuZXh0IG4zOworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgYTIsVTEsVTIsVTMsVTQsVTUgPiB0MjsKKyAgICAgICAgLy8vCisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXBsYWNlX3VubmFtZWRfYXJnPCBUMyxuMyA+IHIzOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIzOjp0eXBlIGEzOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHIzOjpuZXh0IG40OworICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgYTMsVTEsVTIsVTMsVTQsVTUgPiB0MzsKKyAgICAgICAgLy8vCisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgaWZfPAorICAgICAgICAgICAgICB0eXBlbmFtZSB0MTo6dHlwZQorICAgICAgICAgICAgLCB0MiwgdDMKKyAgICAgICAgICAgID46OnR5cGUgZl87CisKKyAgICAgcHVibGljOgorICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGZfOjp0eXBlIHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMgPiBjbGFzcyBGLCB0eXBlbmFtZSBUYWcKKyAgICA+CitzdHJ1Y3QgcXVvdGUzOworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMyA+IHN0cnVjdCBldmFsX2lmOworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFRhZywgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMworICAgID4KK3N0cnVjdCBiaW5kMzwKKyAgICAgIHF1b3RlMzwgZXZhbF9pZixUYWcgPgorICAgICwgVDEsIFQyLCBUMworICAgID4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBVMSA9IG5hLCB0eXBlbmFtZSBVMiA9IG5hLCB0eXBlbmFtZSBVMyA9IG5hCisgICAgICAgICwgdHlwZW5hbWUgVTQgPSBuYSwgdHlwZW5hbWUgVTUgPSBuYQorICAgICAgICA+CisgICAgc3RydWN0IGFwcGx5CisgICAgeworICAgICBwcml2YXRlOgorICAgICAgICB0eXBlZGVmIG1wbDo6YXJnPDE+IG4xOworICAgICAgICB0eXBlZGVmIGF1eDo6cmVwbGFjZV91bm5hbWVkX2FyZzwgVDEsbjEgPiByMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMTo6dHlwZSBhMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMTo6bmV4dCBuMjsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IGExLFUxLFUyLFUzLFU0LFU1ID4gdDE7CisgICAgICAgIC8vLworICAgICAgICB0eXBlZGVmIGF1eDo6cmVwbGFjZV91bm5hbWVkX2FyZzwgVDIsbjIgPiByMjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMjo6dHlwZSBhMjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMjo6bmV4dCBuMzsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IGEyLFUxLFUyLFUzLFU0LFU1ID4gdDI7CisgICAgICAgIC8vLworICAgICAgICB0eXBlZGVmIGF1eDo6cmVwbGFjZV91bm5hbWVkX2FyZzwgVDMsbjMgPiByMzsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMzo6dHlwZSBhMzsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByMzo6bmV4dCBuNDsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8IGEzLFUxLFUyLFUzLFU0LFU1ID4gdDM7CisgICAgICAgIC8vLworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGV2YWxfaWY8CisgICAgICAgICAgICAgIHR5cGVuYW1lIHQxOjp0eXBlCisgICAgICAgICAgICAsIHQyLCB0MworICAgICAgICAgICAgPjo6dHlwZSBmXzsKKworICAgICBwdWJsaWM6CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgZl86OnR5cGUgdHlwZTsKKyAgICB9OworfTsKKworfX0KKwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL3BsYWluL2JpbmRfZndkLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9wbGFpbi9iaW5kX2Z3ZC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWEwNDZlZQotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9wbGFpbi9iaW5kX2Z3ZC5ocHAKQEAgLTAsMCArMSw1MiBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvYmluZF9md2QuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEgPSBuYSwgdHlwZW5hbWUgVDIgPSBuYSwgdHlwZW5hbWUgVDMgPSBuYQorICAgICwgdHlwZW5hbWUgVDQgPSBuYSwgdHlwZW5hbWUgVDUgPSBuYQorICAgID4KK3N0cnVjdCBiaW5kOworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYKKyAgICA+CitzdHJ1Y3QgYmluZDA7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEKKyAgICA+CitzdHJ1Y3QgYmluZDE7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyCisgICAgPgorc3RydWN0IGJpbmQyOworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMKKyAgICA+CitzdHJ1Y3QgYmluZDM7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICA+CitzdHJ1Y3QgYmluZDQ7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1CisgICAgPgorc3RydWN0IGJpbmQ1OworCit9fQorCmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvcGxhaW4vYml0YW5kLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9wbGFpbi9iaXRhbmQuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYwNTc1ZjUKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvcGxhaW4vYml0YW5kLmhwcApAQCAtMCwwICsxLDE0MiBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vIENvcHlyaWdodCBKYWFwIFN1dGVyIDIwMDMKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvYml0YW5kLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFRhZzEKKyAgICAsIHR5cGVuYW1lIFRhZzIKKyAgICA+CitzdHJ1Y3QgYml0YW5kX2ltcGwKKyAgICA6IGlmX2M8CisgICAgICAgICAgKCBCT09TVF9NUExfQVVYX05FU1RFRF9WQUxVRV9XS05EKGludCwgVGFnMSkKKyAgICAgICAgICAgICAgPiBCT09TVF9NUExfQVVYX05FU1RFRF9WQUxVRV9XS05EKGludCwgVGFnMikKKyAgICAgICAgICAgICkKKworICAgICAgICAsIGF1eDo6Y2FzdDJuZF9pbXBsPCBiaXRhbmRfaW1wbDwgVGFnMSxUYWcxID4sVGFnMSwgVGFnMiA+CisgICAgICAgICwgYXV4OjpjYXN0MXN0X2ltcGw8IGJpdGFuZF9pbXBsPCBUYWcyLFRhZzIgPixUYWcxLCBUYWcyID4KKyAgICAgICAgPjo6dHlwZQoreworfTsKKworLy8vIGZvciBEaWdpdGFsIE1hcnMgQysrL2NvbXBpbGVycyB3aXRoIG5vIENUUFMvVFRQIHN1cHBvcnQKK3RlbXBsYXRlPD4gc3RydWN0IGJpdGFuZF9pbXBsPCBuYSxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFRhZyA+IHN0cnVjdCBiaXRhbmRfaW1wbDwgbmEsVGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVGFnID4gc3RydWN0IGJpdGFuZF9pbXBsPCBUYWcsbmEgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUID4gc3RydWN0IGJpdGFuZF90YWcKK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIFQ6OnRhZyB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4xKQorICAgICwgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMikKKyAgICAsIHR5cGVuYW1lIE4zID0gbmEsIHR5cGVuYW1lIE40ID0gbmEsIHR5cGVuYW1lIE41ID0gbmEKKyAgICA+CitzdHJ1Y3QgYml0YW5kXworICAgIDogYml0YW5kXzwgYml0YW5kXzwgYml0YW5kXzwgYml0YW5kXzwgTjEsTjIgPiwgTjM+LCBOND4sIE41PgoreworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBOMSwgdHlwZW5hbWUgTjIsIHR5cGVuYW1lIE4zLCB0eXBlbmFtZSBONAorICAgID4KK3N0cnVjdCBiaXRhbmRfPCBOMSxOMixOMyxONCxuYSA+CisKKyAgICA6IGJpdGFuZF88IGJpdGFuZF88IGJpdGFuZF88IE4xLE4yID4sIE4zPiwgTjQ+Cit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVF9TUEVDKAorICAgICAgICAgIDUKKyAgICAgICAgLCBiaXRhbmRfCisgICAgICAgICwgKCBOMSwgTjIsIE4zLCBONCwgbmEgKQorICAgICAgICApCit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIE4xLCB0eXBlbmFtZSBOMiwgdHlwZW5hbWUgTjMKKyAgICA+CitzdHJ1Y3QgYml0YW5kXzwgTjEsTjIsTjMsbmEsbmEgPgorCisgICAgOiBiaXRhbmRfPCBiaXRhbmRfPCBOMSxOMiA+LCBOMz4KK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUX1NQRUMoCisgICAgICAgICAgNQorICAgICAgICAsIGJpdGFuZF8KKyAgICAgICAgLCAoIE4xLCBOMiwgTjMsIG5hLCBuYSApCisgICAgICAgICkKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgTjEsIHR5cGVuYW1lIE4yCisgICAgPgorc3RydWN0IGJpdGFuZF88IE4xLE4yLG5hLG5hLG5hID4KKyAgICA6IGJpdGFuZF9pbXBsPAorICAgICAgICAgIHR5cGVuYW1lIGJpdGFuZF90YWc8TjE+Ojp0eXBlCisgICAgICAgICwgdHlwZW5hbWUgYml0YW5kX3RhZzxOMj46OnR5cGUKKyAgICAgICAgPjo6dGVtcGxhdGUgYXBwbHk8IE4xLE4yID46OnR5cGUKK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUX1NQRUMoCisgICAgICAgICAgNQorICAgICAgICAsIGJpdGFuZF8KKyAgICAgICAgLCAoIE4xLCBOMiwgbmEsIG5hLCBuYSApCisgICAgICAgICkKKworfTsKKworQk9PU1RfTVBMX0FVWF9OQV9TUEVDMigyLCA1LCBiaXRhbmRfKQorCit9fQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKK3RlbXBsYXRlPD4KK3N0cnVjdCBiaXRhbmRfaW1wbDwgaW50ZWdyYWxfY190YWcsaW50ZWdyYWxfY190YWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBOMSwgdHlwZW5hbWUgTjIgPiBzdHJ1Y3QgYXBwbHkKKworICAgICAgICA6IGludGVncmFsX2M8CisgICAgICAgICAgICAgIHR5cGVuYW1lIGF1eDo6bGFyZ2VzdF9pbnQ8CisgICAgICAgICAgICAgICAgICB0eXBlbmFtZSBOMTo6dmFsdWVfdHlwZQorICAgICAgICAgICAgICAgICwgdHlwZW5hbWUgTjI6OnZhbHVlX3R5cGUKKyAgICAgICAgICAgICAgICA+Ojp0eXBlCisgICAgICAgICAgICAsICggQk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4xKTo6dmFsdWUKKyAgICAgICAgICAgICAgICAgICYgQk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4yKTo6dmFsdWUKKyAgICAgICAgICAgICAgICApCisgICAgICAgICAgICA+CisgICAgeworICAgIH07Cit9OworCit9fQpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL3BsYWluL2JpdG9yLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9wbGFpbi9iaXRvci5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmQ0ODExYgotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9wbGFpbi9iaXRvci5ocHAKQEAgLTAsMCArMSwxNDIgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLyBDb3B5cmlnaHQgSmFhcCBTdXRlciAyMDAzCisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL2JpdG9yLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFRhZzEKKyAgICAsIHR5cGVuYW1lIFRhZzIKKyAgICA+CitzdHJ1Y3QgYml0b3JfaW1wbAorICAgIDogaWZfYzwKKyAgICAgICAgICAoIEJPT1NUX01QTF9BVVhfTkVTVEVEX1ZBTFVFX1dLTkQoaW50LCBUYWcxKQorICAgICAgICAgICAgICA+IEJPT1NUX01QTF9BVVhfTkVTVEVEX1ZBTFVFX1dLTkQoaW50LCBUYWcyKQorICAgICAgICAgICAgKQorCisgICAgICAgICwgYXV4OjpjYXN0Mm5kX2ltcGw8IGJpdG9yX2ltcGw8IFRhZzEsVGFnMSA+LFRhZzEsIFRhZzIgPgorICAgICAgICAsIGF1eDo6Y2FzdDFzdF9pbXBsPCBiaXRvcl9pbXBsPCBUYWcyLFRhZzIgPixUYWcxLCBUYWcyID4KKyAgICAgICAgPjo6dHlwZQoreworfTsKKworLy8vIGZvciBEaWdpdGFsIE1hcnMgQysrL2NvbXBpbGVycyB3aXRoIG5vIENUUFMvVFRQIHN1cHBvcnQKK3RlbXBsYXRlPD4gc3RydWN0IGJpdG9yX2ltcGw8IG5hLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVGFnID4gc3RydWN0IGJpdG9yX2ltcGw8IG5hLFRhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFRhZyA+IHN0cnVjdCBiaXRvcl9pbXBsPCBUYWcsbmEgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUID4gc3RydWN0IGJpdG9yX3RhZworeworICAgIHR5cGVkZWYgdHlwZW5hbWUgVDo6dGFnIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjEpCisgICAgLCB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4yKQorICAgICwgdHlwZW5hbWUgTjMgPSBuYSwgdHlwZW5hbWUgTjQgPSBuYSwgdHlwZW5hbWUgTjUgPSBuYQorICAgID4KK3N0cnVjdCBiaXRvcl8KKyAgICA6IGJpdG9yXzwgYml0b3JfPCBiaXRvcl88IGJpdG9yXzwgTjEsTjIgPiwgTjM+LCBOND4sIE41PgoreworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBOMSwgdHlwZW5hbWUgTjIsIHR5cGVuYW1lIE4zLCB0eXBlbmFtZSBONAorICAgID4KK3N0cnVjdCBiaXRvcl88IE4xLE4yLE4zLE40LG5hID4KKworICAgIDogYml0b3JfPCBiaXRvcl88IGJpdG9yXzwgTjEsTjIgPiwgTjM+LCBOND4KK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUX1NQRUMoCisgICAgICAgICAgNQorICAgICAgICAsIGJpdG9yXworICAgICAgICAsICggTjEsIE4yLCBOMywgTjQsIG5hICkKKyAgICAgICAgKQorfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBOMSwgdHlwZW5hbWUgTjIsIHR5cGVuYW1lIE4zCisgICAgPgorc3RydWN0IGJpdG9yXzwgTjEsTjIsTjMsbmEsbmEgPgorCisgICAgOiBiaXRvcl88IGJpdG9yXzwgTjEsTjIgPiwgTjM+Cit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVF9TUEVDKAorICAgICAgICAgIDUKKyAgICAgICAgLCBiaXRvcl8KKyAgICAgICAgLCAoIE4xLCBOMiwgTjMsIG5hLCBuYSApCisgICAgICAgICkKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgTjEsIHR5cGVuYW1lIE4yCisgICAgPgorc3RydWN0IGJpdG9yXzwgTjEsTjIsbmEsbmEsbmEgPgorICAgIDogYml0b3JfaW1wbDwKKyAgICAgICAgICB0eXBlbmFtZSBiaXRvcl90YWc8TjE+Ojp0eXBlCisgICAgICAgICwgdHlwZW5hbWUgYml0b3JfdGFnPE4yPjo6dHlwZQorICAgICAgICA+Ojp0ZW1wbGF0ZSBhcHBseTwgTjEsTjIgPjo6dHlwZQoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlRfU1BFQygKKyAgICAgICAgICA1CisgICAgICAgICwgYml0b3JfCisgICAgICAgICwgKCBOMSwgTjIsIG5hLCBuYSwgbmEgKQorICAgICAgICApCisKK307CisKK0JPT1NUX01QTF9BVVhfTkFfU1BFQzIoMiwgNSwgYml0b3JfKQorCit9fQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKK3RlbXBsYXRlPD4KK3N0cnVjdCBiaXRvcl9pbXBsPCBpbnRlZ3JhbF9jX3RhZyxpbnRlZ3JhbF9jX3RhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIE4xLCB0eXBlbmFtZSBOMiA+IHN0cnVjdCBhcHBseQorCisgICAgICAgIDogaW50ZWdyYWxfYzwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgYXV4OjpsYXJnZXN0X2ludDwKKyAgICAgICAgICAgICAgICAgIHR5cGVuYW1lIE4xOjp2YWx1ZV90eXBlCisgICAgICAgICAgICAgICAgLCB0eXBlbmFtZSBOMjo6dmFsdWVfdHlwZQorICAgICAgICAgICAgICAgID46OnR5cGUKKyAgICAgICAgICAgICwgKCBCT09TVF9NUExfQVVYX1ZBTFVFX1dLTkQoTjEpOjp2YWx1ZQorICAgICAgICAgICAgICAgICAgfCBCT09TVF9NUExfQVVYX1ZBTFVFX1dLTkQoTjIpOjp2YWx1ZQorICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgID4KKyAgICB7CisgICAgfTsKK307CisKK319CmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvcGxhaW4vYml0eG9yLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9wbGFpbi9iaXR4b3IuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE0MDM1ZDAKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvcGxhaW4vYml0eG9yLmhwcApAQCAtMCwwICsxLDE0MiBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vIENvcHlyaWdodCBKYWFwIFN1dGVyIDIwMDMKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvYml0eG9yLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFRhZzEKKyAgICAsIHR5cGVuYW1lIFRhZzIKKyAgICA+CitzdHJ1Y3QgYml0eG9yX2ltcGwKKyAgICA6IGlmX2M8CisgICAgICAgICAgKCBCT09TVF9NUExfQVVYX05FU1RFRF9WQUxVRV9XS05EKGludCwgVGFnMSkKKyAgICAgICAgICAgICAgPiBCT09TVF9NUExfQVVYX05FU1RFRF9WQUxVRV9XS05EKGludCwgVGFnMikKKyAgICAgICAgICAgICkKKworICAgICAgICAsIGF1eDo6Y2FzdDJuZF9pbXBsPCBiaXR4b3JfaW1wbDwgVGFnMSxUYWcxID4sVGFnMSwgVGFnMiA+CisgICAgICAgICwgYXV4OjpjYXN0MXN0X2ltcGw8IGJpdHhvcl9pbXBsPCBUYWcyLFRhZzIgPixUYWcxLCBUYWcyID4KKyAgICAgICAgPjo6dHlwZQoreworfTsKKworLy8vIGZvciBEaWdpdGFsIE1hcnMgQysrL2NvbXBpbGVycyB3aXRoIG5vIENUUFMvVFRQIHN1cHBvcnQKK3RlbXBsYXRlPD4gc3RydWN0IGJpdHhvcl9pbXBsPCBuYSxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFRhZyA+IHN0cnVjdCBiaXR4b3JfaW1wbDwgbmEsVGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVGFnID4gc3RydWN0IGJpdHhvcl9pbXBsPCBUYWcsbmEgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUID4gc3RydWN0IGJpdHhvcl90YWcKK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIFQ6OnRhZyB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4xKQorICAgICwgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMikKKyAgICAsIHR5cGVuYW1lIE4zID0gbmEsIHR5cGVuYW1lIE40ID0gbmEsIHR5cGVuYW1lIE41ID0gbmEKKyAgICA+CitzdHJ1Y3QgYml0eG9yXworICAgIDogYml0eG9yXzwgYml0eG9yXzwgYml0eG9yXzwgYml0eG9yXzwgTjEsTjIgPiwgTjM+LCBOND4sIE41PgoreworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBOMSwgdHlwZW5hbWUgTjIsIHR5cGVuYW1lIE4zLCB0eXBlbmFtZSBONAorICAgID4KK3N0cnVjdCBiaXR4b3JfPCBOMSxOMixOMyxONCxuYSA+CisKKyAgICA6IGJpdHhvcl88IGJpdHhvcl88IGJpdHhvcl88IE4xLE4yID4sIE4zPiwgTjQ+Cit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVF9TUEVDKAorICAgICAgICAgIDUKKyAgICAgICAgLCBiaXR4b3JfCisgICAgICAgICwgKCBOMSwgTjIsIE4zLCBONCwgbmEgKQorICAgICAgICApCit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIE4xLCB0eXBlbmFtZSBOMiwgdHlwZW5hbWUgTjMKKyAgICA+CitzdHJ1Y3QgYml0eG9yXzwgTjEsTjIsTjMsbmEsbmEgPgorCisgICAgOiBiaXR4b3JfPCBiaXR4b3JfPCBOMSxOMiA+LCBOMz4KK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUX1NQRUMoCisgICAgICAgICAgNQorICAgICAgICAsIGJpdHhvcl8KKyAgICAgICAgLCAoIE4xLCBOMiwgTjMsIG5hLCBuYSApCisgICAgICAgICkKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgTjEsIHR5cGVuYW1lIE4yCisgICAgPgorc3RydWN0IGJpdHhvcl88IE4xLE4yLG5hLG5hLG5hID4KKyAgICA6IGJpdHhvcl9pbXBsPAorICAgICAgICAgIHR5cGVuYW1lIGJpdHhvcl90YWc8TjE+Ojp0eXBlCisgICAgICAgICwgdHlwZW5hbWUgYml0eG9yX3RhZzxOMj46OnR5cGUKKyAgICAgICAgPjo6dGVtcGxhdGUgYXBwbHk8IE4xLE4yID46OnR5cGUKK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUX1NQRUMoCisgICAgICAgICAgNQorICAgICAgICAsIGJpdHhvcl8KKyAgICAgICAgLCAoIE4xLCBOMiwgbmEsIG5hLCBuYSApCisgICAgICAgICkKKworfTsKKworQk9PU1RfTVBMX0FVWF9OQV9TUEVDMigyLCA1LCBiaXR4b3JfKQorCit9fQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKK3RlbXBsYXRlPD4KK3N0cnVjdCBiaXR4b3JfaW1wbDwgaW50ZWdyYWxfY190YWcsaW50ZWdyYWxfY190YWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBOMSwgdHlwZW5hbWUgTjIgPiBzdHJ1Y3QgYXBwbHkKKworICAgICAgICA6IGludGVncmFsX2M8CisgICAgICAgICAgICAgIHR5cGVuYW1lIGF1eDo6bGFyZ2VzdF9pbnQ8CisgICAgICAgICAgICAgICAgICB0eXBlbmFtZSBOMTo6dmFsdWVfdHlwZQorICAgICAgICAgICAgICAgICwgdHlwZW5hbWUgTjI6OnZhbHVlX3R5cGUKKyAgICAgICAgICAgICAgICA+Ojp0eXBlCisgICAgICAgICAgICAsICggQk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4xKTo6dmFsdWUKKyAgICAgICAgICAgICAgICAgIF4gQk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4yKTo6dmFsdWUKKyAgICAgICAgICAgICAgICApCisgICAgICAgICAgICA+CisgICAgeworICAgIH07Cit9OworCit9fQpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL3BsYWluL2RlcXVlLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9wbGFpbi9kZXF1ZS5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDYzMWY2NgotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9wbGFpbi9kZXF1ZS5ocHAKQEAgLTAsMCArMSwzMjMgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL2RlcXVlLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwID0gbmEsIHR5cGVuYW1lIFQxID0gbmEsIHR5cGVuYW1lIFQyID0gbmEsIHR5cGVuYW1lIFQzID0gbmEKKyAgICAsIHR5cGVuYW1lIFQ0ID0gbmEsIHR5cGVuYW1lIFQ1ID0gbmEsIHR5cGVuYW1lIFQ2ID0gbmEsIHR5cGVuYW1lIFQ3ID0gbmEKKyAgICAsIHR5cGVuYW1lIFQ4ID0gbmEsIHR5cGVuYW1lIFQ5ID0gbmEsIHR5cGVuYW1lIFQxMCA9IG5hLCB0eXBlbmFtZSBUMTEgPSBuYQorICAgICwgdHlwZW5hbWUgVDEyID0gbmEsIHR5cGVuYW1lIFQxMyA9IG5hLCB0eXBlbmFtZSBUMTQgPSBuYQorICAgICwgdHlwZW5hbWUgVDE1ID0gbmEsIHR5cGVuYW1lIFQxNiA9IG5hLCB0eXBlbmFtZSBUMTcgPSBuYQorICAgICwgdHlwZW5hbWUgVDE4ID0gbmEsIHR5cGVuYW1lIFQxOSA9IG5hCisgICAgPgorc3RydWN0IGRlcXVlOworCit0ZW1wbGF0ZTwKKyAgICAgCisgICAgPgorc3RydWN0IGRlcXVlPAorICAgICAgICAgIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogdmVjdG9yMDwgID4KK3sKKyAgICB0eXBlZGVmIHZlY3RvcjA8ICA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwCisgICAgPgorc3RydWN0IGRlcXVlPAorICAgICAgICAgIFQwLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogdmVjdG9yMTxUMD4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjE8VDA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMQorICAgID4KK3N0cnVjdCBkZXF1ZTwKKyAgICAgICAgICBUMCwgVDEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHZlY3RvcjI8IFQwLFQxID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjI8IFQwLFQxID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMgorICAgID4KK3N0cnVjdCBkZXF1ZTwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHZlY3RvcjM8IFQwLFQxLFQyID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjM8IFQwLFQxLFQyID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMKKyAgICA+CitzdHJ1Y3QgZGVxdWU8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3I0PCBUMCxUMSxUMixUMyA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3I0PCBUMCxUMSxUMixUMyA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgID4KK3N0cnVjdCBkZXF1ZTwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHZlY3RvcjU8IFQwLFQxLFQyLFQzLFQ0ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjU8IFQwLFQxLFQyLFQzLFQ0ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNQorICAgID4KK3N0cnVjdCBkZXF1ZTwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHZlY3RvcjY8IFQwLFQxLFQyLFQzLFQ0LFQ1ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjY8IFQwLFQxLFQyLFQzLFQ0LFQ1ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYKKyAgICA+CitzdHJ1Y3QgZGVxdWU8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3I3PCBUMCxUMSxUMixUMyxUNCxUNSxUNiA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3I3PCBUMCxUMSxUMixUMyxUNCxUNSxUNiA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNworICAgID4KK3N0cnVjdCBkZXF1ZTwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHZlY3Rvcjg8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3Rvcjg8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOAorICAgID4KK3N0cnVjdCBkZXF1ZTwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHZlY3Rvcjk8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3Rvcjk8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICA+CitzdHJ1Y3QgZGVxdWU8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3IxMDwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDkgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTA8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMAorICAgID4KK3N0cnVjdCBkZXF1ZTwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3IxMTwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjExPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEKKyAgICA+CitzdHJ1Y3QgZGVxdWU8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHZlY3RvcjEyPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjEyPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIKKyAgICA+CitzdHJ1Y3QgZGVxdWU8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3IxMzwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTM8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMworICAgID4KK3N0cnVjdCBkZXF1ZTwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3IxNDwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjE0PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICA+CitzdHJ1Y3QgZGVxdWU8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0LCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHZlY3RvcjE1PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxNTwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzLFQxNCA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICwgdHlwZW5hbWUgVDE1CisgICAgPgorc3RydWN0IGRlcXVlPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogdmVjdG9yMTY8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjE2PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMsVDE0LFQxNSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYKKyAgICA+CitzdHJ1Y3QgZGVxdWU8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1LCBUMTYsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogdmVjdG9yMTc8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1LCBUMTYKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTc8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyxUMTQsVDE1LFQxNiA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNworICAgID4KK3N0cnVjdCBkZXF1ZTwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgLCBUMTUsIFQxNiwgVDE3LCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogdmVjdG9yMTg8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1LCBUMTYsIFQxNworICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxODwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzLFQxNCxUMTUsVDE2LFQxNyA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4CisgICAgPgorc3RydWN0IGRlcXVlPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgVDE2LCBUMTcsIFQxOCwgbmEKKyAgICAgICAgPgorICAgIDogdmVjdG9yMTk8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1LCBUMTYsIFQxNywgVDE4CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjE5PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMsVDE0LFQxNSxUMTYsVDE3LFQxOCA+Ojp0eXBlIHR5cGU7Cit9OworCisvLy8gcHJpbWFyeSB0ZW1wbGF0ZSAobm90IGEgc3BlY2lhbGl6YXRpb24hKQorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICA+CitzdHJ1Y3QgZGVxdWUKKyAgICA6IHZlY3RvcjIwPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgVDE2LCBUMTcsIFQxOCwgVDE5CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjIwPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMsVDE0LFQxNSxUMTYsVDE3LFQxOCxUMTkgPjo6dHlwZSB0eXBlOworfTsKKworfX0KKwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL3BsYWluL2RpdmlkZXMuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL3BsYWluL2RpdmlkZXMuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRkM2QyNGUKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvcGxhaW4vZGl2aWRlcy5ocHAKQEAgLTAsMCArMSwxNDEgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL2RpdmlkZXMuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVGFnMQorICAgICwgdHlwZW5hbWUgVGFnMgorICAgID4KK3N0cnVjdCBkaXZpZGVzX2ltcGwKKyAgICA6IGlmX2M8CisgICAgICAgICAgKCBCT09TVF9NUExfQVVYX05FU1RFRF9WQUxVRV9XS05EKGludCwgVGFnMSkKKyAgICAgICAgICAgICAgPiBCT09TVF9NUExfQVVYX05FU1RFRF9WQUxVRV9XS05EKGludCwgVGFnMikKKyAgICAgICAgICAgICkKKworICAgICAgICAsIGF1eDo6Y2FzdDJuZF9pbXBsPCBkaXZpZGVzX2ltcGw8IFRhZzEsVGFnMSA+LFRhZzEsIFRhZzIgPgorICAgICAgICAsIGF1eDo6Y2FzdDFzdF9pbXBsPCBkaXZpZGVzX2ltcGw8IFRhZzIsVGFnMiA+LFRhZzEsIFRhZzIgPgorICAgICAgICA+Ojp0eXBlCit7Cit9OworCisvLy8gZm9yIERpZ2l0YWwgTWFycyBDKysvY29tcGlsZXJzIHdpdGggbm8gQ1RQUy9UVFAgc3VwcG9ydAordGVtcGxhdGU8PiBzdHJ1Y3QgZGl2aWRlc19pbXBsPCBuYSxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFRhZyA+IHN0cnVjdCBkaXZpZGVzX2ltcGw8IG5hLFRhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFRhZyA+IHN0cnVjdCBkaXZpZGVzX2ltcGw8IFRhZyxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFQgPiBzdHJ1Y3QgZGl2aWRlc190YWcKK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIFQ6OnRhZyB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4xKQorICAgICwgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMikKKyAgICAsIHR5cGVuYW1lIE4zID0gbmEsIHR5cGVuYW1lIE40ID0gbmEsIHR5cGVuYW1lIE41ID0gbmEKKyAgICA+CitzdHJ1Y3QgZGl2aWRlcworICAgIDogZGl2aWRlczwgZGl2aWRlczwgZGl2aWRlczwgZGl2aWRlczwgTjEsTjIgPiwgTjM+LCBOND4sIE41PgoreworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBOMSwgdHlwZW5hbWUgTjIsIHR5cGVuYW1lIE4zLCB0eXBlbmFtZSBONAorICAgID4KK3N0cnVjdCBkaXZpZGVzPCBOMSxOMixOMyxONCxuYSA+CisKKyAgICA6IGRpdmlkZXM8IGRpdmlkZXM8IGRpdmlkZXM8IE4xLE4yID4sIE4zPiwgTjQ+Cit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVF9TUEVDKAorICAgICAgICAgIDUKKyAgICAgICAgLCBkaXZpZGVzCisgICAgICAgICwgKCBOMSwgTjIsIE4zLCBONCwgbmEgKQorICAgICAgICApCit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIE4xLCB0eXBlbmFtZSBOMiwgdHlwZW5hbWUgTjMKKyAgICA+CitzdHJ1Y3QgZGl2aWRlczwgTjEsTjIsTjMsbmEsbmEgPgorCisgICAgOiBkaXZpZGVzPCBkaXZpZGVzPCBOMSxOMiA+LCBOMz4KK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUX1NQRUMoCisgICAgICAgICAgNQorICAgICAgICAsIGRpdmlkZXMKKyAgICAgICAgLCAoIE4xLCBOMiwgTjMsIG5hLCBuYSApCisgICAgICAgICkKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgTjEsIHR5cGVuYW1lIE4yCisgICAgPgorc3RydWN0IGRpdmlkZXM8IE4xLE4yLG5hLG5hLG5hID4KKyAgICA6IGRpdmlkZXNfaW1wbDwKKyAgICAgICAgICB0eXBlbmFtZSBkaXZpZGVzX3RhZzxOMT46OnR5cGUKKyAgICAgICAgLCB0eXBlbmFtZSBkaXZpZGVzX3RhZzxOMj46OnR5cGUKKyAgICAgICAgPjo6dGVtcGxhdGUgYXBwbHk8IE4xLE4yID46OnR5cGUKK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUX1NQRUMoCisgICAgICAgICAgNQorICAgICAgICAsIGRpdmlkZXMKKyAgICAgICAgLCAoIE4xLCBOMiwgbmEsIG5hLCBuYSApCisgICAgICAgICkKKworfTsKKworQk9PU1RfTVBMX0FVWF9OQV9TUEVDMigyLCA1LCBkaXZpZGVzKQorCit9fQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKK3RlbXBsYXRlPD4KK3N0cnVjdCBkaXZpZGVzX2ltcGw8IGludGVncmFsX2NfdGFnLGludGVncmFsX2NfdGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgTjEsIHR5cGVuYW1lIE4yID4gc3RydWN0IGFwcGx5CisKKyAgICAgICAgOiBpbnRlZ3JhbF9jPAorICAgICAgICAgICAgICB0eXBlbmFtZSBhdXg6Omxhcmdlc3RfaW50PAorICAgICAgICAgICAgICAgICAgdHlwZW5hbWUgTjE6OnZhbHVlX3R5cGUKKyAgICAgICAgICAgICAgICAsIHR5cGVuYW1lIE4yOjp2YWx1ZV90eXBlCisgICAgICAgICAgICAgICAgPjo6dHlwZQorICAgICAgICAgICAgLCAoIEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChOMSk6OnZhbHVlCisgICAgICAgICAgICAgICAgICAvIEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChOMik6OnZhbHVlCisgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgPgorICAgIHsKKyAgICB9OworfTsKKworfX0KZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9wbGFpbi9lcXVhbF90by5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvcGxhaW4vZXF1YWxfdG8uaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI5NmM2OWMKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvcGxhaW4vZXF1YWxfdG8uaHBwCkBAIC0wLDAgKzEsOTIgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL2VxdWFsX3RvLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFRhZzEKKyAgICAsIHR5cGVuYW1lIFRhZzIKKyAgICA+CitzdHJ1Y3QgZXF1YWxfdG9faW1wbAorICAgIDogaWZfYzwKKyAgICAgICAgICAoIEJPT1NUX01QTF9BVVhfTkVTVEVEX1ZBTFVFX1dLTkQoaW50LCBUYWcxKQorICAgICAgICAgICAgICA+IEJPT1NUX01QTF9BVVhfTkVTVEVEX1ZBTFVFX1dLTkQoaW50LCBUYWcyKQorICAgICAgICAgICAgKQorCisgICAgICAgICwgYXV4OjpjYXN0Mm5kX2ltcGw8IGVxdWFsX3RvX2ltcGw8IFRhZzEsVGFnMSA+LFRhZzEsIFRhZzIgPgorICAgICAgICAsIGF1eDo6Y2FzdDFzdF9pbXBsPCBlcXVhbF90b19pbXBsPCBUYWcyLFRhZzIgPixUYWcxLCBUYWcyID4KKyAgICAgICAgPjo6dHlwZQoreworfTsKKworLy8vIGZvciBEaWdpdGFsIE1hcnMgQysrL2NvbXBpbGVycyB3aXRoIG5vIENUUFMvVFRQIHN1cHBvcnQKK3RlbXBsYXRlPD4gc3RydWN0IGVxdWFsX3RvX2ltcGw8IG5hLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVGFnID4gc3RydWN0IGVxdWFsX3RvX2ltcGw8IG5hLFRhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFRhZyA+IHN0cnVjdCBlcXVhbF90b19pbXBsPCBUYWcsbmEgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUID4gc3RydWN0IGVxdWFsX3RvX3RhZworeworICAgIHR5cGVkZWYgdHlwZW5hbWUgVDo6dGFnIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjEpCisgICAgLCB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4yKQorICAgID4KK3N0cnVjdCBlcXVhbF90bworCisgICAgOiBlcXVhbF90b19pbXBsPAorICAgICAgICAgIHR5cGVuYW1lIGVxdWFsX3RvX3RhZzxOMT46OnR5cGUKKyAgICAgICAgLCB0eXBlbmFtZSBlcXVhbF90b190YWc8TjI+Ojp0eXBlCisgICAgICAgID46OnRlbXBsYXRlIGFwcGx5PCBOMSxOMiA+Ojp0eXBlCit7Cit9OworCitCT09TVF9NUExfQVVYX05BX1NQRUMyKDIsIDIsIGVxdWFsX3RvKQorCit9fQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8Pgorc3RydWN0IGVxdWFsX3RvX2ltcGw8IGludGVncmFsX2NfdGFnLGludGVncmFsX2NfdGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgTjEsIHR5cGVuYW1lIE4yID4gc3RydWN0IGFwcGx5CisKKyAgICAgICAgOiBib29sXzwgKCBCT09TVF9NUExfQVVYX1ZBTFVFX1dLTkQoTjEpOjp2YWx1ZSAgPT0gQk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4yKTo6dmFsdWUgKSA+CisgICAgeworICAgIH07Cit9OworCit9fQpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL3BsYWluL2ZvbGRfaW1wbC5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvcGxhaW4vZm9sZF9pbXBsLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40OTRjZDQxCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL3BsYWluL2ZvbGRfaW1wbC5ocHAKQEAgLTAsMCArMSwxODAgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL2F1eF8vZm9sZF9pbXBsLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeyBuYW1lc3BhY2UgYXV4IHsKKworLy8vIGZvcndhcmQgZGVjbGFyYXRpb24KKwordGVtcGxhdGU8CisgICAgICBpbnQgTgorICAgICwgdHlwZW5hbWUgRmlyc3QKKyAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+CitzdHJ1Y3QgZm9sZF9pbXBsOworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgPgorc3RydWN0IGZvbGRfaW1wbDwgMCxGaXJzdCxMYXN0LFN0YXRlLEZvcndhcmRPcCA+Cit7CisgICAgdHlwZWRlZiBGaXJzdCBpdGVyMDsKKyAgICB0eXBlZGVmIFN0YXRlIHN0YXRlMDsKKyAgICB0eXBlZGVmIHN0YXRlMCBzdGF0ZTsKKyAgICB0eXBlZGVmIGl0ZXIwIGl0ZXJhdG9yOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGaXJzdAorICAgICwgdHlwZW5hbWUgTGFzdAorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgID4KK3N0cnVjdCBmb2xkX2ltcGw8IDEsRmlyc3QsTGFzdCxTdGF0ZSxGb3J3YXJkT3AgPgoreworICAgIHR5cGVkZWYgRmlyc3QgaXRlcjA7CisgICAgdHlwZWRlZiBTdGF0ZSBzdGF0ZTA7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCwgc3RhdGUwLCB0eXBlbmFtZSBkZXJlZjxpdGVyMD46OnR5cGUgPjo6dHlwZSBzdGF0ZTE7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjA+Ojp0eXBlIGl0ZXIxOworICAgIAorCisgICAgdHlwZWRlZiBzdGF0ZTEgc3RhdGU7CisgICAgdHlwZWRlZiBpdGVyMSBpdGVyYXRvcjsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+CitzdHJ1Y3QgZm9sZF9pbXBsPCAyLEZpcnN0LExhc3QsU3RhdGUsRm9yd2FyZE9wID4KK3sKKyAgICB0eXBlZGVmIEZpcnN0IGl0ZXIwOworICAgIHR5cGVkZWYgU3RhdGUgc3RhdGUwOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsIHN0YXRlMCwgdHlwZW5hbWUgZGVyZWY8aXRlcjA+Ojp0eXBlID46OnR5cGUgc3RhdGUxOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIwPjo6dHlwZSBpdGVyMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLCBzdGF0ZTEsIHR5cGVuYW1lIGRlcmVmPGl0ZXIxPjo6dHlwZSA+Ojp0eXBlIHN0YXRlMjsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMT46OnR5cGUgaXRlcjI7CisgICAgCisKKyAgICB0eXBlZGVmIHN0YXRlMiBzdGF0ZTsKKyAgICB0eXBlZGVmIGl0ZXIyIGl0ZXJhdG9yOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGaXJzdAorICAgICwgdHlwZW5hbWUgTGFzdAorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgID4KK3N0cnVjdCBmb2xkX2ltcGw8IDMsRmlyc3QsTGFzdCxTdGF0ZSxGb3J3YXJkT3AgPgoreworICAgIHR5cGVkZWYgRmlyc3QgaXRlcjA7CisgICAgdHlwZWRlZiBTdGF0ZSBzdGF0ZTA7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCwgc3RhdGUwLCB0eXBlbmFtZSBkZXJlZjxpdGVyMD46OnR5cGUgPjo6dHlwZSBzdGF0ZTE7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjA+Ojp0eXBlIGl0ZXIxOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsIHN0YXRlMSwgdHlwZW5hbWUgZGVyZWY8aXRlcjE+Ojp0eXBlID46OnR5cGUgc3RhdGUyOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIxPjo6dHlwZSBpdGVyMjsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLCBzdGF0ZTIsIHR5cGVuYW1lIGRlcmVmPGl0ZXIyPjo6dHlwZSA+Ojp0eXBlIHN0YXRlMzsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMj46OnR5cGUgaXRlcjM7CisgICAgCisKKyAgICB0eXBlZGVmIHN0YXRlMyBzdGF0ZTsKKyAgICB0eXBlZGVmIGl0ZXIzIGl0ZXJhdG9yOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGaXJzdAorICAgICwgdHlwZW5hbWUgTGFzdAorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgID4KK3N0cnVjdCBmb2xkX2ltcGw8IDQsRmlyc3QsTGFzdCxTdGF0ZSxGb3J3YXJkT3AgPgoreworICAgIHR5cGVkZWYgRmlyc3QgaXRlcjA7CisgICAgdHlwZWRlZiBTdGF0ZSBzdGF0ZTA7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCwgc3RhdGUwLCB0eXBlbmFtZSBkZXJlZjxpdGVyMD46OnR5cGUgPjo6dHlwZSBzdGF0ZTE7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjA+Ojp0eXBlIGl0ZXIxOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsIHN0YXRlMSwgdHlwZW5hbWUgZGVyZWY8aXRlcjE+Ojp0eXBlID46OnR5cGUgc3RhdGUyOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIxPjo6dHlwZSBpdGVyMjsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLCBzdGF0ZTIsIHR5cGVuYW1lIGRlcmVmPGl0ZXIyPjo6dHlwZSA+Ojp0eXBlIHN0YXRlMzsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMj46OnR5cGUgaXRlcjM7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCwgc3RhdGUzLCB0eXBlbmFtZSBkZXJlZjxpdGVyMz46OnR5cGUgPjo6dHlwZSBzdGF0ZTQ7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjM+Ojp0eXBlIGl0ZXI0OworICAgIAorCisgICAgdHlwZWRlZiBzdGF0ZTQgc3RhdGU7CisgICAgdHlwZWRlZiBpdGVyNCBpdGVyYXRvcjsKK307CisKK3RlbXBsYXRlPAorICAgICAgaW50IE4KKyAgICAsIHR5cGVuYW1lIEZpcnN0CisgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgPgorc3RydWN0IGZvbGRfaW1wbAoreworICAgIHR5cGVkZWYgZm9sZF9pbXBsPAorICAgICAgICAgIDQKKyAgICAgICAgLCBGaXJzdAorICAgICAgICAsIExhc3QKKyAgICAgICAgLCBTdGF0ZQorICAgICAgICAsIEZvcndhcmRPcAorICAgICAgICA+IGNodW5rXzsKKworICAgIHR5cGVkZWYgZm9sZF9pbXBsPAorICAgICAgICAgICggKE4gLSA0KSA8IDAgPyAwIDogTiAtIDQgKQorICAgICAgICAsIHR5cGVuYW1lIGNodW5rXzo6aXRlcmF0b3IKKyAgICAgICAgLCBMYXN0CisgICAgICAgICwgdHlwZW5hbWUgY2h1bmtfOjpzdGF0ZQorICAgICAgICAsIEZvcndhcmRPcAorICAgICAgICA+IHJlc187CisKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHJlc186OnN0YXRlIHN0YXRlOworICAgIHR5cGVkZWYgdHlwZW5hbWUgcmVzXzo6aXRlcmF0b3IgaXRlcmF0b3I7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgPgorc3RydWN0IGZvbGRfaW1wbDwgLTEsRmlyc3QsTGFzdCxTdGF0ZSxGb3J3YXJkT3AgPgorICAgIDogZm9sZF9pbXBsPAorICAgICAgICAgIC0xCisgICAgICAgICwgdHlwZW5hbWUgbXBsOjpuZXh0PEZpcnN0Pjo6dHlwZQorICAgICAgICAsIExhc3QKKyAgICAgICAgLCB0eXBlbmFtZSBhcHBseTI8Rm9yd2FyZE9wLFN0YXRlLCB0eXBlbmFtZSBkZXJlZjxGaXJzdD46OnR5cGU+Ojp0eXBlCisgICAgICAgICwgRm9yd2FyZE9wCisgICAgICAgID4KK3sKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgTGFzdAorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgID4KK3N0cnVjdCBmb2xkX2ltcGw8IC0xLExhc3QsTGFzdCxTdGF0ZSxGb3J3YXJkT3AgPgoreworICAgIHR5cGVkZWYgU3RhdGUgc3RhdGU7CisgICAgdHlwZWRlZiBMYXN0IGl0ZXJhdG9yOworfTsKKworfX19CmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvcGxhaW4vZnVsbF9sYW1iZGEuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL3BsYWluL2Z1bGxfbGFtYmRhLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kZTY1OGQ4Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL3BsYWluL2Z1bGxfbGFtYmRhLmhwcApAQCAtMCwwICsxLDU1NCBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAxLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvYXV4Xy9mdWxsX2xhbWJkYS5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPAorICAgICAgYm9vbCBDMSA9IGZhbHNlLCBib29sIEMyID0gZmFsc2UsIGJvb2wgQzMgPSBmYWxzZSwgYm9vbCBDNCA9IGZhbHNlCisgICAgLCBib29sIEM1ID0gZmFsc2UKKyAgICA+CitzdHJ1Y3QgbGFtYmRhX29yCisgICAgOiB0cnVlXworeworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGxhbWJkYV9vcjwgZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UgPgorICAgIDogZmFsc2VfCit7Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUCisgICAgLCB0eXBlbmFtZSBUYWcKKyAgIAorICAgID4KK3N0cnVjdCBsYW1iZGEKK3sKKyAgICB0eXBlZGVmIGZhbHNlXyBpc19sZTsKKyAgICB0eXBlZGVmIFQgcmVzdWx0XzsKKyAgICB0eXBlZGVmIFQgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVAorICAgID4KK3N0cnVjdCBpc19sYW1iZGFfZXhwcmVzc2lvbgorICAgIDogbGFtYmRhPFQ+Ojppc19sZQoreworfTsKKwordGVtcGxhdGU8IGludCBOLCB0eXBlbmFtZSBUYWcgPgorc3RydWN0IGxhbWJkYTwgYXJnPE4+LCBUYWcgPgoreworICAgIHR5cGVkZWYgdHJ1ZV8gaXNfbGU7CisgICAgdHlwZWRlZiBtcGw6OmFyZzxOPiByZXN1bHRfOyAvLyBxdWFsaWZpZWQgZm9yIHRoZSBzYWtlIG9mIE1JUFNwcm8gNy40MQorICAgIHR5cGVkZWYgbXBsOjpwcm90ZWN0PHJlc3VsdF8+IHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYKKyAgICAsIHR5cGVuYW1lIFRhZworICAgID4KK3N0cnVjdCBsYW1iZGE8CisgICAgICAgICAgYmluZDA8Rj4KKyAgICAgICAgLCBUYWcKKyAgICAgICAKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgZmFsc2VfIGlzX2xlOworICAgIHR5cGVkZWYgYmluZDA8CisgICAgICAgICAgRgorICAgICAgICA+IHJlc3VsdF87CisKKyAgICB0eXBlZGVmIHJlc3VsdF8gdHlwZTsKK307CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIElzTEUsIHR5cGVuYW1lIFRhZworICAgICwgdGVtcGxhdGU8IHR5cGVuYW1lIFAxID4gY2xhc3MgRgorICAgICwgdHlwZW5hbWUgTDEKKyAgICA+CitzdHJ1Y3QgbGVfcmVzdWx0MQoreworICAgIHR5cGVkZWYgRjwKKyAgICAgICAgICB0eXBlbmFtZSBMMTo6dHlwZQorICAgICAgICA+IHJlc3VsdF87CisKKyAgICB0eXBlZGVmIHJlc3VsdF8gdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVGFnCisgICAgLCB0ZW1wbGF0ZTwgdHlwZW5hbWUgUDEgPiBjbGFzcyBGCisgICAgLCB0eXBlbmFtZSBMMQorICAgID4KK3N0cnVjdCBsZV9yZXN1bHQxPCB0cnVlXyxUYWcsRixMMSA+Cit7CisgICAgdHlwZWRlZiBiaW5kMTwKKyAgICAgICAgICBxdW90ZTE8IEYsVGFnID4KKyAgICAgICAgLCB0eXBlbmFtZSBMMTo6cmVzdWx0XworICAgICAgICA+IHJlc3VsdF87CisKKyAgICB0eXBlZGVmIG1wbDo6cHJvdGVjdDxyZXN1bHRfPiB0eXBlOworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK3RlbXBsYXRlPAorICAgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFAxID4gY2xhc3MgRgorICAgICwgdHlwZW5hbWUgVDEKKyAgICAsIHR5cGVuYW1lIFRhZworICAgID4KK3N0cnVjdCBsYW1iZGE8CisgICAgICAgICAgRjxUMT4KKyAgICAgICAgLCBUYWcKKyAgICAgICAKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgbGFtYmRhPCBUMSxUYWcgPiBsMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGwxOjppc19sZSBpc19sZTE7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhdXg6OmxhbWJkYV9vcjwKKyAgICAgICAgICBpc19sZTE6OnZhbHVlCisgICAgICAgID46OnR5cGUgaXNfbGU7CisKKyAgICB0eXBlZGVmIGF1eDo6bGVfcmVzdWx0MTwKKyAgICAgICAgICBpc19sZSwgVGFnLCBGLCBsMQorICAgICAgICA+IGxlX3Jlc3VsdF87CisKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxlX3Jlc3VsdF86OnJlc3VsdF8gcmVzdWx0XzsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxlX3Jlc3VsdF86OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEKKyAgICAsIHR5cGVuYW1lIFRhZworICAgID4KK3N0cnVjdCBsYW1iZGE8CisgICAgICAgICAgYmluZDE8IEYsVDEgPgorICAgICAgICAsIFRhZworICAgICAgIAorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiBmYWxzZV8gaXNfbGU7CisgICAgdHlwZWRlZiBiaW5kMTwKKyAgICAgICAgICBGCisgICAgICAgICwgVDEKKyAgICAgICAgPiByZXN1bHRfOworCisgICAgdHlwZWRlZiByZXN1bHRfIHR5cGU7Cit9OworCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBJc0xFLCB0eXBlbmFtZSBUYWcKKyAgICAsIHRlbXBsYXRlPCB0eXBlbmFtZSBQMSwgdHlwZW5hbWUgUDIgPiBjbGFzcyBGCisgICAgLCB0eXBlbmFtZSBMMSwgdHlwZW5hbWUgTDIKKyAgICA+CitzdHJ1Y3QgbGVfcmVzdWx0MgoreworICAgIHR5cGVkZWYgRjwKKyAgICAgICAgICB0eXBlbmFtZSBMMTo6dHlwZSwgdHlwZW5hbWUgTDI6OnR5cGUKKyAgICAgICAgPiByZXN1bHRfOworCisgICAgdHlwZWRlZiByZXN1bHRfIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFRhZworICAgICwgdGVtcGxhdGU8IHR5cGVuYW1lIFAxLCB0eXBlbmFtZSBQMiA+IGNsYXNzIEYKKyAgICAsIHR5cGVuYW1lIEwxLCB0eXBlbmFtZSBMMgorICAgID4KK3N0cnVjdCBsZV9yZXN1bHQyPCB0cnVlXyxUYWcsRixMMSxMMiA+Cit7CisgICAgdHlwZWRlZiBiaW5kMjwKKyAgICAgICAgICBxdW90ZTI8IEYsVGFnID4KKyAgICAgICAgLCB0eXBlbmFtZSBMMTo6cmVzdWx0XywgdHlwZW5hbWUgTDI6OnJlc3VsdF8KKyAgICAgICAgPiByZXN1bHRfOworCisgICAgdHlwZWRlZiBtcGw6OnByb3RlY3Q8cmVzdWx0Xz4gdHlwZTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCit0ZW1wbGF0ZTwKKyAgICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBQMSwgdHlwZW5hbWUgUDIgPiBjbGFzcyBGCisgICAgLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIKKyAgICAsIHR5cGVuYW1lIFRhZworICAgID4KK3N0cnVjdCBsYW1iZGE8CisgICAgICAgICAgRjwgVDEsVDIgPgorICAgICAgICAsIFRhZworICAgICAgIAorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiBsYW1iZGE8IFQxLFRhZyA+IGwxOworICAgIHR5cGVkZWYgbGFtYmRhPCBUMixUYWcgPiBsMjsKKyAgICAKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGwxOjppc19sZSBpc19sZTE7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsMjo6aXNfbGUgaXNfbGUyOworICAgIAorCisgICAgdHlwZWRlZiB0eXBlbmFtZSBhdXg6OmxhbWJkYV9vcjwKKyAgICAgICAgICBpc19sZTE6OnZhbHVlLCBpc19sZTI6OnZhbHVlCisgICAgICAgID46OnR5cGUgaXNfbGU7CisKKyAgICB0eXBlZGVmIGF1eDo6bGVfcmVzdWx0MjwKKyAgICAgICAgICBpc19sZSwgVGFnLCBGLCBsMSwgbDIKKyAgICAgICAgPiBsZV9yZXN1bHRfOworCisgICAgdHlwZWRlZiB0eXBlbmFtZSBsZV9yZXN1bHRfOjpyZXN1bHRfIHJlc3VsdF87CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsZV9yZXN1bHRfOjp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMgorICAgICwgdHlwZW5hbWUgVGFnCisgICAgPgorc3RydWN0IGxhbWJkYTwKKyAgICAgICAgICBiaW5kMjwgRixUMSxUMiA+CisgICAgICAgICwgVGFnCisgICAgICAgCisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIGZhbHNlXyBpc19sZTsKKyAgICB0eXBlZGVmIGJpbmQyPAorICAgICAgICAgIEYKKyAgICAgICAgLCBUMSwgVDIKKyAgICAgICAgPiByZXN1bHRfOworCisgICAgdHlwZWRlZiByZXN1bHRfIHR5cGU7Cit9OworCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBJc0xFLCB0eXBlbmFtZSBUYWcKKyAgICAsIHRlbXBsYXRlPCB0eXBlbmFtZSBQMSwgdHlwZW5hbWUgUDIsIHR5cGVuYW1lIFAzID4gY2xhc3MgRgorICAgICwgdHlwZW5hbWUgTDEsIHR5cGVuYW1lIEwyLCB0eXBlbmFtZSBMMworICAgID4KK3N0cnVjdCBsZV9yZXN1bHQzCit7CisgICAgdHlwZWRlZiBGPAorICAgICAgICAgIHR5cGVuYW1lIEwxOjp0eXBlLCB0eXBlbmFtZSBMMjo6dHlwZSwgdHlwZW5hbWUgTDM6OnR5cGUKKyAgICAgICAgPiByZXN1bHRfOworCisgICAgdHlwZWRlZiByZXN1bHRfIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFRhZworICAgICwgdGVtcGxhdGU8IHR5cGVuYW1lIFAxLCB0eXBlbmFtZSBQMiwgdHlwZW5hbWUgUDMgPiBjbGFzcyBGCisgICAgLCB0eXBlbmFtZSBMMSwgdHlwZW5hbWUgTDIsIHR5cGVuYW1lIEwzCisgICAgPgorc3RydWN0IGxlX3Jlc3VsdDM8IHRydWVfLFRhZyxGLEwxLEwyLEwzID4KK3sKKyAgICB0eXBlZGVmIGJpbmQzPAorICAgICAgICAgIHF1b3RlMzwgRixUYWcgPgorICAgICAgICAsIHR5cGVuYW1lIEwxOjpyZXN1bHRfLCB0eXBlbmFtZSBMMjo6cmVzdWx0XywgdHlwZW5hbWUgTDM6OnJlc3VsdF8KKyAgICAgICAgPiByZXN1bHRfOworCisgICAgdHlwZWRlZiBtcGw6OnByb3RlY3Q8cmVzdWx0Xz4gdHlwZTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCit0ZW1wbGF0ZTwKKyAgICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBQMSwgdHlwZW5hbWUgUDIsIHR5cGVuYW1lIFAzID4gY2xhc3MgRgorICAgICwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMworICAgICwgdHlwZW5hbWUgVGFnCisgICAgPgorc3RydWN0IGxhbWJkYTwKKyAgICAgICAgICBGPCBUMSxUMixUMyA+CisgICAgICAgICwgVGFnCisgICAgICAgCisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIGxhbWJkYTwgVDEsVGFnID4gbDE7CisgICAgdHlwZWRlZiBsYW1iZGE8IFQyLFRhZyA+IGwyOworICAgIHR5cGVkZWYgbGFtYmRhPCBUMyxUYWcgPiBsMzsKKyAgICAKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGwxOjppc19sZSBpc19sZTE7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsMjo6aXNfbGUgaXNfbGUyOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbDM6OmlzX2xlIGlzX2xlMzsKKyAgICAKKworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXV4OjpsYW1iZGFfb3I8CisgICAgICAgICAgaXNfbGUxOjp2YWx1ZSwgaXNfbGUyOjp2YWx1ZSwgaXNfbGUzOjp2YWx1ZQorICAgICAgICA+Ojp0eXBlIGlzX2xlOworCisgICAgdHlwZWRlZiBhdXg6OmxlX3Jlc3VsdDM8CisgICAgICAgICAgaXNfbGUsIFRhZywgRiwgbDEsIGwyLCBsMworICAgICAgICA+IGxlX3Jlc3VsdF87CisKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxlX3Jlc3VsdF86OnJlc3VsdF8gcmVzdWx0XzsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxlX3Jlc3VsdF86OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMworICAgICwgdHlwZW5hbWUgVGFnCisgICAgPgorc3RydWN0IGxhbWJkYTwKKyAgICAgICAgICBiaW5kMzwgRixUMSxUMixUMyA+CisgICAgICAgICwgVGFnCisgICAgICAgCisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIGZhbHNlXyBpc19sZTsKKyAgICB0eXBlZGVmIGJpbmQzPAorICAgICAgICAgIEYKKyAgICAgICAgLCBUMSwgVDIsIFQzCisgICAgICAgID4gcmVzdWx0XzsKKworICAgIHR5cGVkZWYgcmVzdWx0XyB0eXBlOworfTsKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgSXNMRSwgdHlwZW5hbWUgVGFnCisgICAgLCB0ZW1wbGF0ZTwgdHlwZW5hbWUgUDEsIHR5cGVuYW1lIFAyLCB0eXBlbmFtZSBQMywgdHlwZW5hbWUgUDQgPiBjbGFzcyBGCisgICAgLCB0eXBlbmFtZSBMMSwgdHlwZW5hbWUgTDIsIHR5cGVuYW1lIEwzLCB0eXBlbmFtZSBMNAorICAgID4KK3N0cnVjdCBsZV9yZXN1bHQ0Cit7CisgICAgdHlwZWRlZiBGPAorICAgICAgICAgIHR5cGVuYW1lIEwxOjp0eXBlLCB0eXBlbmFtZSBMMjo6dHlwZSwgdHlwZW5hbWUgTDM6OnR5cGUKKyAgICAgICAgLCB0eXBlbmFtZSBMNDo6dHlwZQorICAgICAgICA+IHJlc3VsdF87CisKKyAgICB0eXBlZGVmIHJlc3VsdF8gdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVGFnCisgICAgLCB0ZW1wbGF0ZTwgdHlwZW5hbWUgUDEsIHR5cGVuYW1lIFAyLCB0eXBlbmFtZSBQMywgdHlwZW5hbWUgUDQgPiBjbGFzcyBGCisgICAgLCB0eXBlbmFtZSBMMSwgdHlwZW5hbWUgTDIsIHR5cGVuYW1lIEwzLCB0eXBlbmFtZSBMNAorICAgID4KK3N0cnVjdCBsZV9yZXN1bHQ0PCB0cnVlXyxUYWcsRixMMSxMMixMMyxMNCA+Cit7CisgICAgdHlwZWRlZiBiaW5kNDwKKyAgICAgICAgICBxdW90ZTQ8IEYsVGFnID4KKyAgICAgICAgLCB0eXBlbmFtZSBMMTo6cmVzdWx0XywgdHlwZW5hbWUgTDI6OnJlc3VsdF8sIHR5cGVuYW1lIEwzOjpyZXN1bHRfCisgICAgICAgICwgdHlwZW5hbWUgTDQ6OnJlc3VsdF8KKyAgICAgICAgPiByZXN1bHRfOworCisgICAgdHlwZWRlZiBtcGw6OnByb3RlY3Q8cmVzdWx0Xz4gdHlwZTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCit0ZW1wbGF0ZTwKKyAgICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBQMSwgdHlwZW5hbWUgUDIsIHR5cGVuYW1lIFAzLCB0eXBlbmFtZSBQNCA+IGNsYXNzIEYKKyAgICAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUYWcKKyAgICA+CitzdHJ1Y3QgbGFtYmRhPAorICAgICAgICAgIEY8IFQxLFQyLFQzLFQ0ID4KKyAgICAgICAgLCBUYWcKKyAgICAgICAKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgbGFtYmRhPCBUMSxUYWcgPiBsMTsKKyAgICB0eXBlZGVmIGxhbWJkYTwgVDIsVGFnID4gbDI7CisgICAgdHlwZWRlZiBsYW1iZGE8IFQzLFRhZyA+IGwzOworICAgIHR5cGVkZWYgbGFtYmRhPCBUNCxUYWcgPiBsNDsKKyAgICAKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGwxOjppc19sZSBpc19sZTE7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsMjo6aXNfbGUgaXNfbGUyOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbDM6OmlzX2xlIGlzX2xlMzsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGw0Ojppc19sZSBpc19sZTQ7CisgICAgCisKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGF1eDo6bGFtYmRhX29yPAorICAgICAgICAgIGlzX2xlMTo6dmFsdWUsIGlzX2xlMjo6dmFsdWUsIGlzX2xlMzo6dmFsdWUsIGlzX2xlNDo6dmFsdWUKKyAgICAgICAgPjo6dHlwZSBpc19sZTsKKworICAgIHR5cGVkZWYgYXV4OjpsZV9yZXN1bHQ0PAorICAgICAgICAgIGlzX2xlLCBUYWcsIEYsIGwxLCBsMiwgbDMsIGw0CisgICAgICAgID4gbGVfcmVzdWx0XzsKKworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGVfcmVzdWx0Xzo6cmVzdWx0XyByZXN1bHRfOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGVfcmVzdWx0Xzo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVGFnCisgICAgPgorc3RydWN0IGxhbWJkYTwKKyAgICAgICAgICBiaW5kNDwgRixUMSxUMixUMyxUNCA+CisgICAgICAgICwgVGFnCisgICAgICAgCisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIGZhbHNlXyBpc19sZTsKKyAgICB0eXBlZGVmIGJpbmQ0PAorICAgICAgICAgIEYKKyAgICAgICAgLCBUMSwgVDIsIFQzLCBUNAorICAgICAgICA+IHJlc3VsdF87CisKKyAgICB0eXBlZGVmIHJlc3VsdF8gdHlwZTsKK307CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIElzTEUsIHR5cGVuYW1lIFRhZworICAgICwgdGVtcGxhdGU8IHR5cGVuYW1lIFAxLCB0eXBlbmFtZSBQMiwgdHlwZW5hbWUgUDMsIHR5cGVuYW1lIFA0LCB0eXBlbmFtZSBQNSA+IGNsYXNzIEYKKyAgICAsIHR5cGVuYW1lIEwxLCB0eXBlbmFtZSBMMiwgdHlwZW5hbWUgTDMsIHR5cGVuYW1lIEw0LCB0eXBlbmFtZSBMNQorICAgID4KK3N0cnVjdCBsZV9yZXN1bHQ1Cit7CisgICAgdHlwZWRlZiBGPAorICAgICAgICAgIHR5cGVuYW1lIEwxOjp0eXBlLCB0eXBlbmFtZSBMMjo6dHlwZSwgdHlwZW5hbWUgTDM6OnR5cGUKKyAgICAgICAgLCB0eXBlbmFtZSBMNDo6dHlwZSwgdHlwZW5hbWUgTDU6OnR5cGUKKyAgICAgICAgPiByZXN1bHRfOworCisgICAgdHlwZWRlZiByZXN1bHRfIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFRhZworICAgICwgdGVtcGxhdGU8IHR5cGVuYW1lIFAxLCB0eXBlbmFtZSBQMiwgdHlwZW5hbWUgUDMsIHR5cGVuYW1lIFA0LCB0eXBlbmFtZSBQNSA+IGNsYXNzIEYKKyAgICAsIHR5cGVuYW1lIEwxLCB0eXBlbmFtZSBMMiwgdHlwZW5hbWUgTDMsIHR5cGVuYW1lIEw0LCB0eXBlbmFtZSBMNQorICAgID4KK3N0cnVjdCBsZV9yZXN1bHQ1PCB0cnVlXyxUYWcsRixMMSxMMixMMyxMNCxMNSA+Cit7CisgICAgdHlwZWRlZiBiaW5kNTwKKyAgICAgICAgICBxdW90ZTU8IEYsVGFnID4KKyAgICAgICAgLCB0eXBlbmFtZSBMMTo6cmVzdWx0XywgdHlwZW5hbWUgTDI6OnJlc3VsdF8sIHR5cGVuYW1lIEwzOjpyZXN1bHRfCisgICAgICAgICwgdHlwZW5hbWUgTDQ6OnJlc3VsdF8sIHR5cGVuYW1lIEw1OjpyZXN1bHRfCisgICAgICAgID4gcmVzdWx0XzsKKworICAgIHR5cGVkZWYgbXBsOjpwcm90ZWN0PHJlc3VsdF8+IHR5cGU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKwordGVtcGxhdGU8CisgICAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBQMSwgdHlwZW5hbWUgUDIsIHR5cGVuYW1lIFAzLCB0eXBlbmFtZSBQNAorICAgICAgICAsIHR5cGVuYW1lIFA1CisgICAgICAgID4KKyAgICAgIGNsYXNzIEYKKyAgICAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0LCB0eXBlbmFtZSBUNQorICAgICwgdHlwZW5hbWUgVGFnCisgICAgPgorc3RydWN0IGxhbWJkYTwKKyAgICAgICAgICBGPCBUMSxUMixUMyxUNCxUNSA+CisgICAgICAgICwgVGFnCisgICAgICAgCisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIGxhbWJkYTwgVDEsVGFnID4gbDE7CisgICAgdHlwZWRlZiBsYW1iZGE8IFQyLFRhZyA+IGwyOworICAgIHR5cGVkZWYgbGFtYmRhPCBUMyxUYWcgPiBsMzsKKyAgICB0eXBlZGVmIGxhbWJkYTwgVDQsVGFnID4gbDQ7CisgICAgdHlwZWRlZiBsYW1iZGE8IFQ1LFRhZyA+IGw1OworICAgIAorICAgIHR5cGVkZWYgdHlwZW5hbWUgbDE6OmlzX2xlIGlzX2xlMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGwyOjppc19sZSBpc19sZTI7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsMzo6aXNfbGUgaXNfbGUzOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbDQ6OmlzX2xlIGlzX2xlNDsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGw1Ojppc19sZSBpc19sZTU7CisgICAgCisKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGF1eDo6bGFtYmRhX29yPAorICAgICAgICAgIGlzX2xlMTo6dmFsdWUsIGlzX2xlMjo6dmFsdWUsIGlzX2xlMzo6dmFsdWUsIGlzX2xlNDo6dmFsdWUKKyAgICAgICAgLCBpc19sZTU6OnZhbHVlCisgICAgICAgID46OnR5cGUgaXNfbGU7CisKKyAgICB0eXBlZGVmIGF1eDo6bGVfcmVzdWx0NTwKKyAgICAgICAgICBpc19sZSwgVGFnLCBGLCBsMSwgbDIsIGwzLCBsNCwgbDUKKyAgICAgICAgPiBsZV9yZXN1bHRfOworCisgICAgdHlwZWRlZiB0eXBlbmFtZSBsZV9yZXN1bHRfOjpyZXN1bHRfIHJlc3VsdF87CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsZV9yZXN1bHRfOjp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNQorICAgICwgdHlwZW5hbWUgVGFnCisgICAgPgorc3RydWN0IGxhbWJkYTwKKyAgICAgICAgICBiaW5kNTwgRixUMSxUMixUMyxUNCxUNSA+CisgICAgICAgICwgVGFnCisgICAgICAgCisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIGZhbHNlXyBpc19sZTsKKyAgICB0eXBlZGVmIGJpbmQ1PAorICAgICAgICAgIEYKKyAgICAgICAgLCBUMSwgVDIsIFQzLCBUNCwgVDUKKyAgICAgICAgPiByZXN1bHRfOworCisgICAgdHlwZWRlZiByZXN1bHRfIHR5cGU7Cit9OworCisvLy8gc3BlY2lhbCBjYXNlIGZvciAncHJvdGVjdCcKK3RlbXBsYXRlPCB0eXBlbmFtZSBULCB0eXBlbmFtZSBUYWcgPgorc3RydWN0IGxhbWJkYTwgbXBsOjpwcm90ZWN0PFQ+LCBUYWcgPgoreworICAgIHR5cGVkZWYgZmFsc2VfIGlzX2xlOworICAgIHR5cGVkZWYgbXBsOjpwcm90ZWN0PFQ+IHJlc3VsdF87CisgICAgdHlwZWRlZiByZXN1bHRfIHR5cGU7Cit9OworCisvLy8gc3BlY2lhbGl6YXRpb25zIGZvciB0aGUgbWFpbiAnYmluZCcgZm9ybQorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNQorICAgICwgdHlwZW5hbWUgVGFnCisgICAgPgorc3RydWN0IGxhbWJkYTwKKyAgICAgICAgICBiaW5kPCBGLFQxLFQyLFQzLFQ0LFQ1ID4KKyAgICAgICAgLCBUYWcKKyAgICAgICAKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgZmFsc2VfIGlzX2xlOworICAgIHR5cGVkZWYgYmluZDwgRixUMSxUMixUMyxUNCxUNSA+IHJlc3VsdF87CisgICAgdHlwZWRlZiByZXN1bHRfIHR5cGU7Cit9OworCisvLy8gd29ya2Fyb3VuZCBmb3IgTVdDVyA4LjMrL0VERyA8IDMwMywgbGVhZHMgdG8gYW1iaWd1aXR5IG9uIERpZ2l0YWwgTWFycworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIHR5cGVuYW1lIFRhZzEsIHR5cGVuYW1lIFRhZzIKKyAgICA+CitzdHJ1Y3QgbGFtYmRhPAorICAgICAgICAgIGxhbWJkYTwgRixUYWcxID4KKyAgICAgICAgLCBUYWcyCisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIGxhbWJkYTwgRixUYWcyID4gbDE7CisgICAgdHlwZWRlZiBsYW1iZGE8IFRhZzEsVGFnMiA+IGwyOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbDE6OmlzX2xlIGlzX2xlOworICAgIHR5cGVkZWYgYXV4OjpsZV9yZXN1bHQyPGlzX2xlLCBUYWcyLCBtcGw6OmxhbWJkYSwgbDEsIGwyPiBsZV9yZXN1bHRfOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGVfcmVzdWx0Xzo6cmVzdWx0XyByZXN1bHRfOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGVfcmVzdWx0Xzo6dHlwZSB0eXBlOworfTsKKworQk9PU1RfTVBMX0FVWF9OQV9TUEVDKDIsIGxhbWJkYSkKKworfX0KKwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL3BsYWluL2dyZWF0ZXIuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL3BsYWluL2dyZWF0ZXIuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYyODM1ZDcKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvcGxhaW4vZ3JlYXRlci5ocHAKQEAgLTAsMCArMSw5MiBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvZ3JlYXRlci5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUYWcxCisgICAgLCB0eXBlbmFtZSBUYWcyCisgICAgPgorc3RydWN0IGdyZWF0ZXJfaW1wbAorICAgIDogaWZfYzwKKyAgICAgICAgICAoIEJPT1NUX01QTF9BVVhfTkVTVEVEX1ZBTFVFX1dLTkQoaW50LCBUYWcxKQorICAgICAgICAgICAgICA+IEJPT1NUX01QTF9BVVhfTkVTVEVEX1ZBTFVFX1dLTkQoaW50LCBUYWcyKQorICAgICAgICAgICAgKQorCisgICAgICAgICwgYXV4OjpjYXN0Mm5kX2ltcGw8IGdyZWF0ZXJfaW1wbDwgVGFnMSxUYWcxID4sVGFnMSwgVGFnMiA+CisgICAgICAgICwgYXV4OjpjYXN0MXN0X2ltcGw8IGdyZWF0ZXJfaW1wbDwgVGFnMixUYWcyID4sVGFnMSwgVGFnMiA+CisgICAgICAgID46OnR5cGUKK3sKK307CisKKy8vLyBmb3IgRGlnaXRhbCBNYXJzIEMrKy9jb21waWxlcnMgd2l0aCBubyBDVFBTL1RUUCBzdXBwb3J0Cit0ZW1wbGF0ZTw+IHN0cnVjdCBncmVhdGVyX2ltcGw8IG5hLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVGFnID4gc3RydWN0IGdyZWF0ZXJfaW1wbDwgbmEsVGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVGFnID4gc3RydWN0IGdyZWF0ZXJfaW1wbDwgVGFnLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVCA+IHN0cnVjdCBncmVhdGVyX3RhZworeworICAgIHR5cGVkZWYgdHlwZW5hbWUgVDo6dGFnIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjEpCisgICAgLCB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4yKQorICAgID4KK3N0cnVjdCBncmVhdGVyCisKKyAgICA6IGdyZWF0ZXJfaW1wbDwKKyAgICAgICAgICB0eXBlbmFtZSBncmVhdGVyX3RhZzxOMT46OnR5cGUKKyAgICAgICAgLCB0eXBlbmFtZSBncmVhdGVyX3RhZzxOMj46OnR5cGUKKyAgICAgICAgPjo6dGVtcGxhdGUgYXBwbHk8IE4xLE4yID46OnR5cGUKK3sKK307CisKK0JPT1NUX01QTF9BVVhfTkFfU1BFQzIoMiwgMiwgZ3JlYXRlcikKKworfX0KKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBncmVhdGVyX2ltcGw8IGludGVncmFsX2NfdGFnLGludGVncmFsX2NfdGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgTjEsIHR5cGVuYW1lIE4yID4gc3RydWN0IGFwcGx5CisKKyAgICAgICAgOiBib29sXzwgKCBCT09TVF9NUExfQVVYX1ZBTFVFX1dLTkQoTjEpOjp2YWx1ZSA+IEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChOMik6OnZhbHVlICkgPgorICAgIHsKKyAgICB9OworfTsKKworfX0KZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9wbGFpbi9ncmVhdGVyX2VxdWFsLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9wbGFpbi9ncmVhdGVyX2VxdWFsLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNjdkNWQ2Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL3BsYWluL2dyZWF0ZXJfZXF1YWwuaHBwCkBAIC0wLDAgKzEsOTIgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL2dyZWF0ZXJfZXF1YWwuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVGFnMQorICAgICwgdHlwZW5hbWUgVGFnMgorICAgID4KK3N0cnVjdCBncmVhdGVyX2VxdWFsX2ltcGwKKyAgICA6IGlmX2M8CisgICAgICAgICAgKCBCT09TVF9NUExfQVVYX05FU1RFRF9WQUxVRV9XS05EKGludCwgVGFnMSkKKyAgICAgICAgICAgICAgPiBCT09TVF9NUExfQVVYX05FU1RFRF9WQUxVRV9XS05EKGludCwgVGFnMikKKyAgICAgICAgICAgICkKKworICAgICAgICAsIGF1eDo6Y2FzdDJuZF9pbXBsPCBncmVhdGVyX2VxdWFsX2ltcGw8IFRhZzEsVGFnMSA+LFRhZzEsIFRhZzIgPgorICAgICAgICAsIGF1eDo6Y2FzdDFzdF9pbXBsPCBncmVhdGVyX2VxdWFsX2ltcGw8IFRhZzIsVGFnMiA+LFRhZzEsIFRhZzIgPgorICAgICAgICA+Ojp0eXBlCit7Cit9OworCisvLy8gZm9yIERpZ2l0YWwgTWFycyBDKysvY29tcGlsZXJzIHdpdGggbm8gQ1RQUy9UVFAgc3VwcG9ydAordGVtcGxhdGU8PiBzdHJ1Y3QgZ3JlYXRlcl9lcXVhbF9pbXBsPCBuYSxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFRhZyA+IHN0cnVjdCBncmVhdGVyX2VxdWFsX2ltcGw8IG5hLFRhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFRhZyA+IHN0cnVjdCBncmVhdGVyX2VxdWFsX2ltcGw8IFRhZyxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFQgPiBzdHJ1Y3QgZ3JlYXRlcl9lcXVhbF90YWcKK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIFQ6OnRhZyB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4xKQorICAgICwgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMikKKyAgICA+CitzdHJ1Y3QgZ3JlYXRlcl9lcXVhbAorCisgICAgOiBncmVhdGVyX2VxdWFsX2ltcGw8CisgICAgICAgICAgdHlwZW5hbWUgZ3JlYXRlcl9lcXVhbF90YWc8TjE+Ojp0eXBlCisgICAgICAgICwgdHlwZW5hbWUgZ3JlYXRlcl9lcXVhbF90YWc8TjI+Ojp0eXBlCisgICAgICAgID46OnRlbXBsYXRlIGFwcGx5PCBOMSxOMiA+Ojp0eXBlCit7Cit9OworCitCT09TVF9NUExfQVVYX05BX1NQRUMyKDIsIDIsIGdyZWF0ZXJfZXF1YWwpCisKK319CisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgZ3JlYXRlcl9lcXVhbF9pbXBsPCBpbnRlZ3JhbF9jX3RhZyxpbnRlZ3JhbF9jX3RhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIE4xLCB0eXBlbmFtZSBOMiA+IHN0cnVjdCBhcHBseQorCisgICAgICAgIDogYm9vbF88ICggQk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4xKTo6dmFsdWUgPj0gQk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4yKTo6dmFsdWUgKSA+CisgICAgeworICAgIH07Cit9OworCit9fQpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL3BsYWluL2luaGVyaXQuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL3BsYWluL2luaGVyaXQuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhjNzkxNGQKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvcGxhaW4vaW5oZXJpdC5ocHAKQEAgLTAsMCArMSwxMjUgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMS0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL2luaGVyaXQuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShUMSkKKyAgICAsIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oVDIpCisgICAgPgorc3RydWN0IGluaGVyaXQyCisgICAgOiBUMSwgVDIKK3sKKyAgICB0eXBlZGVmIGluaGVyaXQyIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVDEgPgorc3RydWN0IGluaGVyaXQyPCBUMSxlbXB0eV9iYXNlID4KK3sKKyAgICB0eXBlZGVmIFQxIHR5cGU7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVF9TUEVDKDIsIGluaGVyaXQyLCAoVDEsIGVtcHR5X2Jhc2UpKQorfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFQyID4KK3N0cnVjdCBpbmhlcml0MjwgZW1wdHlfYmFzZSxUMiA+Cit7CisgICAgdHlwZWRlZiBUMiB0eXBlOworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlRfU1BFQygyLCBpbmhlcml0MiwgKGVtcHR5X2Jhc2UsIFQyKSkKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBpbmhlcml0MjwgZW1wdHlfYmFzZSxlbXB0eV9iYXNlID4KK3sKKyAgICB0eXBlZGVmIGVtcHR5X2Jhc2UgdHlwZTsKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUX1NQRUMoMiwgaW5oZXJpdDIsIChlbXB0eV9iYXNlLCBlbXB0eV9iYXNlKSkKK307CisKK0JPT1NUX01QTF9BVVhfTkFfU1BFQygyLCBpbmhlcml0MikKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMSA9IG5hLCB0eXBlbmFtZSBUMiA9IG5hLCB0eXBlbmFtZSBUMyA9IG5hCisgICAgPgorc3RydWN0IGluaGVyaXQzCisgICAgOiBpbmhlcml0MjwKKyAgICAgICAgICB0eXBlbmFtZSBpbmhlcml0MjwKKyAgICAgICAgICAgICAgVDEsIFQyCisgICAgICAgICAgICA+Ojp0eXBlCisgICAgICAgICwgVDMKKyAgICAgICAgPgoreworfTsKKworQk9PU1RfTVBMX0FVWF9OQV9TUEVDKDMsIGluaGVyaXQzKQorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQxID0gbmEsIHR5cGVuYW1lIFQyID0gbmEsIHR5cGVuYW1lIFQzID0gbmEsIHR5cGVuYW1lIFQ0ID0gbmEKKyAgICA+CitzdHJ1Y3QgaW5oZXJpdDQKKyAgICA6IGluaGVyaXQyPAorICAgICAgICAgIHR5cGVuYW1lIGluaGVyaXQzPAorICAgICAgICAgICAgICBUMSwgVDIsIFQzCisgICAgICAgICAgICA+Ojp0eXBlCisgICAgICAgICwgVDQKKyAgICAgICAgPgoreworfTsKKworQk9PU1RfTVBMX0FVWF9OQV9TUEVDKDQsIGluaGVyaXQ0KQorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQxID0gbmEsIHR5cGVuYW1lIFQyID0gbmEsIHR5cGVuYW1lIFQzID0gbmEsIHR5cGVuYW1lIFQ0ID0gbmEKKyAgICAsIHR5cGVuYW1lIFQ1ID0gbmEKKyAgICA+CitzdHJ1Y3QgaW5oZXJpdDUKKyAgICA6IGluaGVyaXQyPAorICAgICAgICAgIHR5cGVuYW1lIGluaGVyaXQ0PAorICAgICAgICAgICAgICBUMSwgVDIsIFQzLCBUNAorICAgICAgICAgICAgPjo6dHlwZQorICAgICAgICAsIFQ1CisgICAgICAgID4KK3sKK307CisKK0JPT1NUX01QTF9BVVhfTkFfU1BFQyg1LCBpbmhlcml0NSkKKworLy8vIHByaW1hcnkgdGVtcGxhdGUKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMSA9IGVtcHR5X2Jhc2UsIHR5cGVuYW1lIFQyID0gZW1wdHlfYmFzZQorICAgICwgdHlwZW5hbWUgVDMgPSBlbXB0eV9iYXNlLCB0eXBlbmFtZSBUNCA9IGVtcHR5X2Jhc2UKKyAgICAsIHR5cGVuYW1lIFQ1ID0gZW1wdHlfYmFzZQorICAgID4KK3N0cnVjdCBpbmhlcml0CisgICAgOiBpbmhlcml0NTwgVDEsVDIsVDMsVDQsVDUgPgoreworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGluaGVyaXQ8IG5hLG5hLG5hLG5hLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwKKworICAgICAgICAgIHR5cGVuYW1lIFQxID0gZW1wdHlfYmFzZSwgdHlwZW5hbWUgVDIgPSBlbXB0eV9iYXNlCisgICAgICAgICwgdHlwZW5hbWUgVDMgPSBlbXB0eV9iYXNlLCB0eXBlbmFtZSBUNCA9IGVtcHR5X2Jhc2UKKyAgICAgICAgLCB0eXBlbmFtZSBUNSA9IGVtcHR5X2Jhc2UKKworICAgICAgICA+CisgICAgc3RydWN0IGFwcGx5CisgICAgICAgIDogaW5oZXJpdDwgVDEsVDIsVDMsVDQsVDUgPgorICAgIHsKKyAgICB9OworfTsKKworQk9PU1RfTVBMX0FVWF9OQV9TUEVDX0xBTUJEQSg1LCBpbmhlcml0KQorQk9PU1RfTVBMX0FVWF9OQV9TUEVDX0FSSVRZKDUsIGluaGVyaXQpCitCT09TVF9NUExfQVVYX05BX1NQRUNfVEVNUExBVEVfQVJJVFkoNSwgNSwgaW5oZXJpdCkKK319CisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9wbGFpbi9pdGVyX2ZvbGRfaWZfaW1wbC5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvcGxhaW4vaXRlcl9mb2xkX2lmX2ltcGwuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIwYTI4NjQKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvcGxhaW4vaXRlcl9mb2xkX2lmX2ltcGwuaHBwCkBAIC0wLDAgKzEsMTMzIEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDEtMjAwNAorLy8gQ29weXJpZ2h0IERhdmlkIEFicmFoYW1zIDIwMDEtMjAwMgorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9hdXhfL2l0ZXJfZm9sZF9pZl9pbXBsLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeyBuYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8IHR5cGVuYW1lIEl0ZXJhdG9yLCB0eXBlbmFtZSBTdGF0ZSA+CitzdHJ1Y3QgaXRlcl9mb2xkX2lmX251bGxfc3RlcAoreworICAgIHR5cGVkZWYgU3RhdGUgc3RhdGU7CisgICAgdHlwZWRlZiBJdGVyYXRvciBpdGVyYXRvcjsKK307CisKK3RlbXBsYXRlPCBib29sID4KK3N0cnVjdCBpdGVyX2ZvbGRfaWZfc3RlcF9pbXBsCit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgSXRlcmF0b3IKKyAgICAgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICAgICAsIHR5cGVuYW1lIFN0YXRlT3AKKyAgICAgICAgLCB0eXBlbmFtZSBJdGVyYXRvck9wCisgICAgICAgID4KKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IFN0YXRlT3AsU3RhdGUsSXRlcmF0b3IgPjo6dHlwZSBzdGF0ZTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBJdGVyYXRvck9wOjp0eXBlIGl0ZXJhdG9yOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgaXRlcl9mb2xkX2lmX3N0ZXBfaW1wbDxmYWxzZT4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBJdGVyYXRvcgorICAgICAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgICAgICwgdHlwZW5hbWUgU3RhdGVPcAorICAgICAgICAsIHR5cGVuYW1lIEl0ZXJhdG9yT3AKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIFN0YXRlIHN0YXRlOworICAgICAgICB0eXBlZGVmIEl0ZXJhdG9yIGl0ZXJhdG9yOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEl0ZXJhdG9yCisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgLCB0eXBlbmFtZSBQcmVkaWNhdGUKKyAgICA+CitzdHJ1Y3QgaXRlcl9mb2xkX2lmX2ZvcndhcmRfc3RlcAoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBQcmVkaWNhdGUsU3RhdGUsSXRlcmF0b3IgPjo6dHlwZSBub3RfbGFzdDsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGl0ZXJfZm9sZF9pZl9zdGVwX2ltcGw8CisgICAgICAgICAgQk9PU1RfTVBMX0FVWF9NU1ZDX1ZBTFVFX1dLTkQobm90X2xhc3QpOjp2YWx1ZQorICAgICAgICA+Ojp0ZW1wbGF0ZSByZXN1bHRfPCBJdGVyYXRvcixTdGF0ZSxGb3J3YXJkT3AsIG1wbDo6bmV4dDxJdGVyYXRvcj4gPiBpbXBsXzsKKworICAgIHR5cGVkZWYgdHlwZW5hbWUgaW1wbF86OnN0YXRlIHN0YXRlOworICAgIHR5cGVkZWYgdHlwZW5hbWUgaW1wbF86Oml0ZXJhdG9yIGl0ZXJhdG9yOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBJdGVyYXRvcgorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEJhY2t3YXJkT3AKKyAgICAsIHR5cGVuYW1lIFByZWRpY2F0ZQorICAgID4KK3N0cnVjdCBpdGVyX2ZvbGRfaWZfYmFja3dhcmRfc3RlcAoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBQcmVkaWNhdGUsU3RhdGUsSXRlcmF0b3IgPjo6dHlwZSBub3RfbGFzdDsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGl0ZXJfZm9sZF9pZl9zdGVwX2ltcGw8CisgICAgICAgICAgQk9PU1RfTVBMX0FVWF9NU1ZDX1ZBTFVFX1dLTkQobm90X2xhc3QpOjp2YWx1ZQorICAgICAgICA+Ojp0ZW1wbGF0ZSByZXN1bHRfPCBJdGVyYXRvcixTdGF0ZSxCYWNrd2FyZE9wLCBpZGVudGl0eTxJdGVyYXRvcj4gPiBpbXBsXzsKKworICAgIHR5cGVkZWYgdHlwZW5hbWUgaW1wbF86OnN0YXRlIHN0YXRlOworICAgIHR5cGVkZWYgdHlwZW5hbWUgaW1wbF86Oml0ZXJhdG9yIGl0ZXJhdG9yOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBJdGVyYXRvcgorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgICwgdHlwZW5hbWUgRm9yd2FyZFByZWRpY2F0ZQorICAgICwgdHlwZW5hbWUgQmFja3dhcmRPcAorICAgICwgdHlwZW5hbWUgQmFja3dhcmRQcmVkaWNhdGUKKyAgICA+CitzdHJ1Y3QgaXRlcl9mb2xkX2lmX2ltcGwKK3sKKyBwcml2YXRlOgorICAgIHR5cGVkZWYgaXRlcl9mb2xkX2lmX251bGxfc3RlcDwgSXRlcmF0b3IsU3RhdGUgPiBmb3J3YXJkX3N0ZXAwOworICAgIHR5cGVkZWYgaXRlcl9mb2xkX2lmX2ZvcndhcmRfc3RlcDwgdHlwZW5hbWUgZm9yd2FyZF9zdGVwMDo6aXRlcmF0b3IsIHR5cGVuYW1lIGZvcndhcmRfc3RlcDA6OnN0YXRlLCBGb3J3YXJkT3AsIEZvcndhcmRQcmVkaWNhdGUgPiBmb3J3YXJkX3N0ZXAxOworICAgIHR5cGVkZWYgaXRlcl9mb2xkX2lmX2ZvcndhcmRfc3RlcDwgdHlwZW5hbWUgZm9yd2FyZF9zdGVwMTo6aXRlcmF0b3IsIHR5cGVuYW1lIGZvcndhcmRfc3RlcDE6OnN0YXRlLCBGb3J3YXJkT3AsIEZvcndhcmRQcmVkaWNhdGUgPiBmb3J3YXJkX3N0ZXAyOworICAgIHR5cGVkZWYgaXRlcl9mb2xkX2lmX2ZvcndhcmRfc3RlcDwgdHlwZW5hbWUgZm9yd2FyZF9zdGVwMjo6aXRlcmF0b3IsIHR5cGVuYW1lIGZvcndhcmRfc3RlcDI6OnN0YXRlLCBGb3J3YXJkT3AsIEZvcndhcmRQcmVkaWNhdGUgPiBmb3J3YXJkX3N0ZXAzOworICAgIHR5cGVkZWYgaXRlcl9mb2xkX2lmX2ZvcndhcmRfc3RlcDwgdHlwZW5hbWUgZm9yd2FyZF9zdGVwMzo6aXRlcmF0b3IsIHR5cGVuYW1lIGZvcndhcmRfc3RlcDM6OnN0YXRlLCBGb3J3YXJkT3AsIEZvcndhcmRQcmVkaWNhdGUgPiBmb3J3YXJkX3N0ZXA0OworICAgIAorCisgICAgdHlwZWRlZiB0eXBlbmFtZSBpZl88CisgICAgICAgICAgdHlwZW5hbWUgZm9yd2FyZF9zdGVwNDo6bm90X2xhc3QKKyAgICAgICAgLCBpdGVyX2ZvbGRfaWZfaW1wbDwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgZm9yd2FyZF9zdGVwNDo6aXRlcmF0b3IKKyAgICAgICAgICAgICwgdHlwZW5hbWUgZm9yd2FyZF9zdGVwNDo6c3RhdGUKKyAgICAgICAgICAgICwgRm9yd2FyZE9wCisgICAgICAgICAgICAsIEZvcndhcmRQcmVkaWNhdGUKKyAgICAgICAgICAgICwgQmFja3dhcmRPcAorICAgICAgICAgICAgLCBCYWNrd2FyZFByZWRpY2F0ZQorICAgICAgICAgICAgPgorICAgICAgICAsIGl0ZXJfZm9sZF9pZl9udWxsX3N0ZXA8CisgICAgICAgICAgICAgIHR5cGVuYW1lIGZvcndhcmRfc3RlcDQ6Oml0ZXJhdG9yCisgICAgICAgICAgICAsIHR5cGVuYW1lIGZvcndhcmRfc3RlcDQ6OnN0YXRlCisgICAgICAgICAgICA+CisgICAgICAgID46OnR5cGUgYmFja3dhcmRfc3RlcDQ7CisKKyAgICB0eXBlZGVmIGl0ZXJfZm9sZF9pZl9iYWNrd2FyZF9zdGVwPCB0eXBlbmFtZSBmb3J3YXJkX3N0ZXAzOjppdGVyYXRvciwgdHlwZW5hbWUgYmFja3dhcmRfc3RlcDQ6OnN0YXRlLCBCYWNrd2FyZE9wLCBCYWNrd2FyZFByZWRpY2F0ZSA+IGJhY2t3YXJkX3N0ZXAzOworICAgIHR5cGVkZWYgaXRlcl9mb2xkX2lmX2JhY2t3YXJkX3N0ZXA8IHR5cGVuYW1lIGZvcndhcmRfc3RlcDI6Oml0ZXJhdG9yLCB0eXBlbmFtZSBiYWNrd2FyZF9zdGVwMzo6c3RhdGUsIEJhY2t3YXJkT3AsIEJhY2t3YXJkUHJlZGljYXRlID4gYmFja3dhcmRfc3RlcDI7CisgICAgdHlwZWRlZiBpdGVyX2ZvbGRfaWZfYmFja3dhcmRfc3RlcDwgdHlwZW5hbWUgZm9yd2FyZF9zdGVwMTo6aXRlcmF0b3IsIHR5cGVuYW1lIGJhY2t3YXJkX3N0ZXAyOjpzdGF0ZSwgQmFja3dhcmRPcCwgQmFja3dhcmRQcmVkaWNhdGUgPiBiYWNrd2FyZF9zdGVwMTsKKyAgICB0eXBlZGVmIGl0ZXJfZm9sZF9pZl9iYWNrd2FyZF9zdGVwPCB0eXBlbmFtZSBmb3J3YXJkX3N0ZXAwOjppdGVyYXRvciwgdHlwZW5hbWUgYmFja3dhcmRfc3RlcDE6OnN0YXRlLCBCYWNrd2FyZE9wLCBCYWNrd2FyZFByZWRpY2F0ZSA+IGJhY2t3YXJkX3N0ZXAwOworICAgIAorCisgcHVibGljOgorICAgIHR5cGVkZWYgdHlwZW5hbWUgYmFja3dhcmRfc3RlcDA6OnN0YXRlIHN0YXRlOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYmFja3dhcmRfc3RlcDQ6Oml0ZXJhdG9yIGl0ZXJhdG9yOworfTsKKworfX19CmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvcGxhaW4vaXRlcl9mb2xkX2ltcGwuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL3BsYWluL2l0ZXJfZm9sZF9pbXBsLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jYzA4YjMwCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL3BsYWluL2l0ZXJfZm9sZF9pbXBsLmhwcApAQCAtMCwwICsxLDE4MCBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvYXV4Xy9pdGVyX2ZvbGRfaW1wbC5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsgbmFtZXNwYWNlIGF1eCB7CisKKy8vLyBmb3J3YXJkIGRlY2xhcmF0aW9uCisKK3RlbXBsYXRlPAorICAgICAgaW50IE4KKyAgICAsIHR5cGVuYW1lIEZpcnN0CisgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgPgorc3RydWN0IGl0ZXJfZm9sZF9pbXBsOworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgPgorc3RydWN0IGl0ZXJfZm9sZF9pbXBsPCAwLEZpcnN0LExhc3QsU3RhdGUsRm9yd2FyZE9wID4KK3sKKyAgICB0eXBlZGVmIEZpcnN0IGl0ZXIwOworICAgIHR5cGVkZWYgU3RhdGUgc3RhdGUwOworICAgIHR5cGVkZWYgc3RhdGUwIHN0YXRlOworICAgIHR5cGVkZWYgaXRlcjAgaXRlcmF0b3I7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgPgorc3RydWN0IGl0ZXJfZm9sZF9pbXBsPCAxLEZpcnN0LExhc3QsU3RhdGUsRm9yd2FyZE9wID4KK3sKKyAgICB0eXBlZGVmIEZpcnN0IGl0ZXIwOworICAgIHR5cGVkZWYgU3RhdGUgc3RhdGUwOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3Asc3RhdGUwLGl0ZXIwID46OnR5cGUgc3RhdGUxOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIwPjo6dHlwZSBpdGVyMTsKKyAgICAKKworICAgIHR5cGVkZWYgc3RhdGUxIHN0YXRlOworICAgIHR5cGVkZWYgaXRlcjEgaXRlcmF0b3I7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgPgorc3RydWN0IGl0ZXJfZm9sZF9pbXBsPCAyLEZpcnN0LExhc3QsU3RhdGUsRm9yd2FyZE9wID4KK3sKKyAgICB0eXBlZGVmIEZpcnN0IGl0ZXIwOworICAgIHR5cGVkZWYgU3RhdGUgc3RhdGUwOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3Asc3RhdGUwLGl0ZXIwID46OnR5cGUgc3RhdGUxOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIwPjo6dHlwZSBpdGVyMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLHN0YXRlMSxpdGVyMSA+Ojp0eXBlIHN0YXRlMjsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMT46OnR5cGUgaXRlcjI7CisgICAgCisKKyAgICB0eXBlZGVmIHN0YXRlMiBzdGF0ZTsKKyAgICB0eXBlZGVmIGl0ZXIyIGl0ZXJhdG9yOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGaXJzdAorICAgICwgdHlwZW5hbWUgTGFzdAorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgID4KK3N0cnVjdCBpdGVyX2ZvbGRfaW1wbDwgMyxGaXJzdCxMYXN0LFN0YXRlLEZvcndhcmRPcCA+Cit7CisgICAgdHlwZWRlZiBGaXJzdCBpdGVyMDsKKyAgICB0eXBlZGVmIFN0YXRlIHN0YXRlMDsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLHN0YXRlMCxpdGVyMCA+Ojp0eXBlIHN0YXRlMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMD46OnR5cGUgaXRlcjE7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCxzdGF0ZTEsaXRlcjEgPjo6dHlwZSBzdGF0ZTI7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjE+Ojp0eXBlIGl0ZXIyOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3Asc3RhdGUyLGl0ZXIyID46OnR5cGUgc3RhdGUzOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIyPjo6dHlwZSBpdGVyMzsKKyAgICAKKworICAgIHR5cGVkZWYgc3RhdGUzIHN0YXRlOworICAgIHR5cGVkZWYgaXRlcjMgaXRlcmF0b3I7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgPgorc3RydWN0IGl0ZXJfZm9sZF9pbXBsPCA0LEZpcnN0LExhc3QsU3RhdGUsRm9yd2FyZE9wID4KK3sKKyAgICB0eXBlZGVmIEZpcnN0IGl0ZXIwOworICAgIHR5cGVkZWYgU3RhdGUgc3RhdGUwOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3Asc3RhdGUwLGl0ZXIwID46OnR5cGUgc3RhdGUxOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIwPjo6dHlwZSBpdGVyMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLHN0YXRlMSxpdGVyMSA+Ojp0eXBlIHN0YXRlMjsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMT46OnR5cGUgaXRlcjI7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCxzdGF0ZTIsaXRlcjIgPjo6dHlwZSBzdGF0ZTM7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjI+Ojp0eXBlIGl0ZXIzOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3Asc3RhdGUzLGl0ZXIzID46OnR5cGUgc3RhdGU0OworICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIzPjo6dHlwZSBpdGVyNDsKKyAgICAKKworICAgIHR5cGVkZWYgc3RhdGU0IHN0YXRlOworICAgIHR5cGVkZWYgaXRlcjQgaXRlcmF0b3I7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIGludCBOCisgICAgLCB0eXBlbmFtZSBGaXJzdAorICAgICwgdHlwZW5hbWUgTGFzdAorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgID4KK3N0cnVjdCBpdGVyX2ZvbGRfaW1wbAoreworICAgIHR5cGVkZWYgaXRlcl9mb2xkX2ltcGw8CisgICAgICAgICAgNAorICAgICAgICAsIEZpcnN0CisgICAgICAgICwgTGFzdAorICAgICAgICAsIFN0YXRlCisgICAgICAgICwgRm9yd2FyZE9wCisgICAgICAgID4gY2h1bmtfOworCisgICAgdHlwZWRlZiBpdGVyX2ZvbGRfaW1wbDwKKyAgICAgICAgICAoIChOIC0gNCkgPCAwID8gMCA6IE4gLSA0ICkKKyAgICAgICAgLCB0eXBlbmFtZSBjaHVua186Oml0ZXJhdG9yCisgICAgICAgICwgTGFzdAorICAgICAgICAsIHR5cGVuYW1lIGNodW5rXzo6c3RhdGUKKyAgICAgICAgLCBGb3J3YXJkT3AKKyAgICAgICAgPiByZXNfOworCisgICAgdHlwZWRlZiB0eXBlbmFtZSByZXNfOjpzdGF0ZSBzdGF0ZTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHJlc186Oml0ZXJhdG9yIGl0ZXJhdG9yOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGaXJzdAorICAgICwgdHlwZW5hbWUgTGFzdAorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgID4KK3N0cnVjdCBpdGVyX2ZvbGRfaW1wbDwgLTEsRmlyc3QsTGFzdCxTdGF0ZSxGb3J3YXJkT3AgPgorICAgIDogaXRlcl9mb2xkX2ltcGw8CisgICAgICAgICAgLTEKKyAgICAgICAgLCB0eXBlbmFtZSBtcGw6Om5leHQ8Rmlyc3Q+Ojp0eXBlCisgICAgICAgICwgTGFzdAorICAgICAgICAsIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLFN0YXRlLEZpcnN0ID46OnR5cGUKKyAgICAgICAgLCBGb3J3YXJkT3AKKyAgICAgICAgPgoreworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBMYXN0CisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgPgorc3RydWN0IGl0ZXJfZm9sZF9pbXBsPCAtMSxMYXN0LExhc3QsU3RhdGUsRm9yd2FyZE9wID4KK3sKKyAgICB0eXBlZGVmIFN0YXRlIHN0YXRlOworICAgIHR5cGVkZWYgTGFzdCBpdGVyYXRvcjsKK307CisKK319fQpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL3BsYWluL2xhbWJkYV9ub19jdHBzLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9wbGFpbi9sYW1iZGFfbm9fY3Rwcy5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzU3YTE2NQotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9wbGFpbi9sYW1iZGFfbm9fY3Rwcy5ocHAKQEAgLTAsMCArMSwyMjggQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL2F1eF8vbGFtYmRhX25vX2N0cHMuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwKKyAgICAgIGJvb2wgQzEgPSBmYWxzZSwgYm9vbCBDMiA9IGZhbHNlLCBib29sIEMzID0gZmFsc2UsIGJvb2wgQzQgPSBmYWxzZQorICAgICwgYm9vbCBDNSA9IGZhbHNlCisgICAgPgorc3RydWN0IGxhbWJkYV9vcgorICAgIDogdHJ1ZV8KK3sKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBsYW1iZGFfb3I8IGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlID4KKyAgICA6IGZhbHNlXworeworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIEFyaXR5ID4gc3RydWN0IGxhbWJkYV9pbXBsCit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFQsIHR5cGVuYW1lIFRhZywgdHlwZW5hbWUgUHJvdGVjdCA+IHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIFQgdHlwZTsKKyAgICAgICAgdHlwZWRlZiBpc19wbGFjZWhvbGRlcjxUPiBpc19sZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgbGFtYmRhX2ltcGw8IGludF88MT4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBGLCB0eXBlbmFtZSBUYWcsIHR5cGVuYW1lIFByb3RlY3QgPiBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiBsYW1iZGE8IHR5cGVuYW1lIEY6OmFyZzEsIFRhZywgZmFsc2VfID4gbDE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbDE6OmlzX2xlIGlzX2xlMTsKKyAgICAgICAgdHlwZWRlZiBhdXg6OmxhbWJkYV9vcjwKKyAgICAgICAgICAgICAgQk9PU1RfTVBMX0FVWF9NU1ZDX1ZBTFVFX1dLTkQoaXNfbGUxKTo6dmFsdWUKKyAgICAgICAgICAgID4gaXNfbGU7CisKKyAgICAgICAgdHlwZWRlZiBiaW5kMTwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgRjo6cmViaW5kCisgICAgICAgICAgICAsIHR5cGVuYW1lIGwxOjp0eXBlCisgICAgICAgICAgICA+IGJpbmRfOworCisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgaWZfPAorICAgICAgICAgICAgICBpc19sZQorICAgICAgICAgICAgLCBpZl88IFByb3RlY3QsIG1wbDo6cHJvdGVjdDxiaW5kXz4sIGJpbmRfID4KKyAgICAgICAgICAgICwgaWRlbnRpdHk8Rj4KKyAgICAgICAgICAgID46OnR5cGUgdHlwZV87CisKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSB0eXBlXzo6dHlwZSB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCBsYW1iZGFfaW1wbDwgaW50XzwyPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIEYsIHR5cGVuYW1lIFRhZywgdHlwZW5hbWUgUHJvdGVjdCA+IHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIGxhbWJkYTwgdHlwZW5hbWUgRjo6YXJnMSwgVGFnLCBmYWxzZV8gPiBsMTsKKyAgICAgICAgdHlwZWRlZiBsYW1iZGE8IHR5cGVuYW1lIEY6OmFyZzIsIFRhZywgZmFsc2VfID4gbDI7CisgICAgICAgIAorICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGwxOjppc19sZSBpc19sZTE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbDI6OmlzX2xlIGlzX2xlMjsKKyAgICAgICAgCisKKyAgICAgICAgdHlwZWRlZiBhdXg6OmxhbWJkYV9vcjwKKyAgICAgICAgICAgICAgQk9PU1RfTVBMX0FVWF9NU1ZDX1ZBTFVFX1dLTkQoaXNfbGUxKTo6dmFsdWUsIEJPT1NUX01QTF9BVVhfTVNWQ19WQUxVRV9XS05EKGlzX2xlMik6OnZhbHVlCisgICAgICAgICAgICA+IGlzX2xlOworCisgICAgICAgIHR5cGVkZWYgYmluZDI8CisgICAgICAgICAgICAgIHR5cGVuYW1lIEY6OnJlYmluZAorICAgICAgICAgICAgLCB0eXBlbmFtZSBsMTo6dHlwZSwgdHlwZW5hbWUgbDI6OnR5cGUKKyAgICAgICAgICAgID4gYmluZF87CisKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBpZl88CisgICAgICAgICAgICAgIGlzX2xlCisgICAgICAgICAgICAsIGlmXzwgUHJvdGVjdCwgbXBsOjpwcm90ZWN0PGJpbmRfPiwgYmluZF8gPgorICAgICAgICAgICAgLCBpZGVudGl0eTxGPgorICAgICAgICAgICAgPjo6dHlwZSB0eXBlXzsKKworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHR5cGVfOjp0eXBlIHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4gc3RydWN0IGxhbWJkYV9pbXBsPCBpbnRfPDM+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVGFnLCB0eXBlbmFtZSBQcm90ZWN0ID4gc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgbGFtYmRhPCB0eXBlbmFtZSBGOjphcmcxLCBUYWcsIGZhbHNlXyA+IGwxOworICAgICAgICB0eXBlZGVmIGxhbWJkYTwgdHlwZW5hbWUgRjo6YXJnMiwgVGFnLCBmYWxzZV8gPiBsMjsKKyAgICAgICAgdHlwZWRlZiBsYW1iZGE8IHR5cGVuYW1lIEY6OmFyZzMsIFRhZywgZmFsc2VfID4gbDM7CisgICAgICAgIAorICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGwxOjppc19sZSBpc19sZTE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbDI6OmlzX2xlIGlzX2xlMjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBsMzo6aXNfbGUgaXNfbGUzOworICAgICAgICAKKworICAgICAgICB0eXBlZGVmIGF1eDo6bGFtYmRhX29yPAorICAgICAgICAgICAgICBCT09TVF9NUExfQVVYX01TVkNfVkFMVUVfV0tORChpc19sZTEpOjp2YWx1ZSwgQk9PU1RfTVBMX0FVWF9NU1ZDX1ZBTFVFX1dLTkQoaXNfbGUyKTo6dmFsdWUsIEJPT1NUX01QTF9BVVhfTVNWQ19WQUxVRV9XS05EKGlzX2xlMyk6OnZhbHVlCisgICAgICAgICAgICA+IGlzX2xlOworCisgICAgICAgIHR5cGVkZWYgYmluZDM8CisgICAgICAgICAgICAgIHR5cGVuYW1lIEY6OnJlYmluZAorICAgICAgICAgICAgLCB0eXBlbmFtZSBsMTo6dHlwZSwgdHlwZW5hbWUgbDI6OnR5cGUsIHR5cGVuYW1lIGwzOjp0eXBlCisgICAgICAgICAgICA+IGJpbmRfOworCisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgaWZfPAorICAgICAgICAgICAgICBpc19sZQorICAgICAgICAgICAgLCBpZl88IFByb3RlY3QsIG1wbDo6cHJvdGVjdDxiaW5kXz4sIGJpbmRfID4KKyAgICAgICAgICAgICwgaWRlbnRpdHk8Rj4KKyAgICAgICAgICAgID46OnR5cGUgdHlwZV87CisKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSB0eXBlXzo6dHlwZSB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCBsYW1iZGFfaW1wbDwgaW50Xzw0PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIEYsIHR5cGVuYW1lIFRhZywgdHlwZW5hbWUgUHJvdGVjdCA+IHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIGxhbWJkYTwgdHlwZW5hbWUgRjo6YXJnMSwgVGFnLCBmYWxzZV8gPiBsMTsKKyAgICAgICAgdHlwZWRlZiBsYW1iZGE8IHR5cGVuYW1lIEY6OmFyZzIsIFRhZywgZmFsc2VfID4gbDI7CisgICAgICAgIHR5cGVkZWYgbGFtYmRhPCB0eXBlbmFtZSBGOjphcmczLCBUYWcsIGZhbHNlXyA+IGwzOworICAgICAgICB0eXBlZGVmIGxhbWJkYTwgdHlwZW5hbWUgRjo6YXJnNCwgVGFnLCBmYWxzZV8gPiBsNDsKKyAgICAgICAgCisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbDE6OmlzX2xlIGlzX2xlMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBsMjo6aXNfbGUgaXNfbGUyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGwzOjppc19sZSBpc19sZTM7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbDQ6OmlzX2xlIGlzX2xlNDsKKyAgICAgICAgCisKKyAgICAgICAgdHlwZWRlZiBhdXg6OmxhbWJkYV9vcjwKKyAgICAgICAgICAgICAgQk9PU1RfTVBMX0FVWF9NU1ZDX1ZBTFVFX1dLTkQoaXNfbGUxKTo6dmFsdWUsIEJPT1NUX01QTF9BVVhfTVNWQ19WQUxVRV9XS05EKGlzX2xlMik6OnZhbHVlLCBCT09TVF9NUExfQVVYX01TVkNfVkFMVUVfV0tORChpc19sZTMpOjp2YWx1ZSwgQk9PU1RfTVBMX0FVWF9NU1ZDX1ZBTFVFX1dLTkQoaXNfbGU0KTo6dmFsdWUKKyAgICAgICAgICAgID4gaXNfbGU7CisKKyAgICAgICAgdHlwZWRlZiBiaW5kNDwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgRjo6cmViaW5kCisgICAgICAgICAgICAsIHR5cGVuYW1lIGwxOjp0eXBlLCB0eXBlbmFtZSBsMjo6dHlwZSwgdHlwZW5hbWUgbDM6OnR5cGUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgbDQ6OnR5cGUKKyAgICAgICAgICAgID4gYmluZF87CisKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBpZl88CisgICAgICAgICAgICAgIGlzX2xlCisgICAgICAgICAgICAsIGlmXzwgUHJvdGVjdCwgbXBsOjpwcm90ZWN0PGJpbmRfPiwgYmluZF8gPgorICAgICAgICAgICAgLCBpZGVudGl0eTxGPgorICAgICAgICAgICAgPjo6dHlwZSB0eXBlXzsKKworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHR5cGVfOjp0eXBlIHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4gc3RydWN0IGxhbWJkYV9pbXBsPCBpbnRfPDU+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgRiwgdHlwZW5hbWUgVGFnLCB0eXBlbmFtZSBQcm90ZWN0ID4gc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgbGFtYmRhPCB0eXBlbmFtZSBGOjphcmcxLCBUYWcsIGZhbHNlXyA+IGwxOworICAgICAgICB0eXBlZGVmIGxhbWJkYTwgdHlwZW5hbWUgRjo6YXJnMiwgVGFnLCBmYWxzZV8gPiBsMjsKKyAgICAgICAgdHlwZWRlZiBsYW1iZGE8IHR5cGVuYW1lIEY6OmFyZzMsIFRhZywgZmFsc2VfID4gbDM7CisgICAgICAgIHR5cGVkZWYgbGFtYmRhPCB0eXBlbmFtZSBGOjphcmc0LCBUYWcsIGZhbHNlXyA+IGw0OworICAgICAgICB0eXBlZGVmIGxhbWJkYTwgdHlwZW5hbWUgRjo6YXJnNSwgVGFnLCBmYWxzZV8gPiBsNTsKKyAgICAgICAgCisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbDE6OmlzX2xlIGlzX2xlMTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBsMjo6aXNfbGUgaXNfbGUyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGwzOjppc19sZSBpc19sZTM7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbDQ6OmlzX2xlIGlzX2xlNDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBsNTo6aXNfbGUgaXNfbGU1OworICAgICAgICAKKworICAgICAgICB0eXBlZGVmIGF1eDo6bGFtYmRhX29yPAorICAgICAgICAgICAgICBCT09TVF9NUExfQVVYX01TVkNfVkFMVUVfV0tORChpc19sZTEpOjp2YWx1ZSwgQk9PU1RfTVBMX0FVWF9NU1ZDX1ZBTFVFX1dLTkQoaXNfbGUyKTo6dmFsdWUsIEJPT1NUX01QTF9BVVhfTVNWQ19WQUxVRV9XS05EKGlzX2xlMyk6OnZhbHVlLCBCT09TVF9NUExfQVVYX01TVkNfVkFMVUVfV0tORChpc19sZTQpOjp2YWx1ZSwgQk9PU1RfTVBMX0FVWF9NU1ZDX1ZBTFVFX1dLTkQoaXNfbGU1KTo6dmFsdWUKKyAgICAgICAgICAgID4gaXNfbGU7CisKKyAgICAgICAgdHlwZWRlZiBiaW5kNTwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgRjo6cmViaW5kCisgICAgICAgICAgICAsIHR5cGVuYW1lIGwxOjp0eXBlLCB0eXBlbmFtZSBsMjo6dHlwZSwgdHlwZW5hbWUgbDM6OnR5cGUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgbDQ6OnR5cGUsIHR5cGVuYW1lIGw1Ojp0eXBlCisgICAgICAgICAgICA+IGJpbmRfOworCisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgaWZfPAorICAgICAgICAgICAgICBpc19sZQorICAgICAgICAgICAgLCBpZl88IFByb3RlY3QsIG1wbDo6cHJvdGVjdDxiaW5kXz4sIGJpbmRfID4KKyAgICAgICAgICAgICwgaWRlbnRpdHk8Rj4KKyAgICAgICAgICAgID46OnR5cGUgdHlwZV87CisKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSB0eXBlXzo6dHlwZSB0eXBlOworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUCisgICAgLCB0eXBlbmFtZSBUYWcKKyAgICAsIHR5cGVuYW1lIFByb3RlY3QKKyAgICA+CitzdHJ1Y3QgbGFtYmRhCit7CisgICAgLy8vIE1ldGFmdW5jdGlvbiBmb3J3YXJkaW5nIGNvbmZ1c2VzIE1TVkMgNi54CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhdXg6OnRlbXBsYXRlX2FyaXR5PFQ+Ojp0eXBlIGFyaXR5XzsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGF1eDo6bGFtYmRhX2ltcGw8YXJpdHlfPgorICAgICAgICA6OnRlbXBsYXRlIHJlc3VsdF88IFQsVGFnLFByb3RlY3QgPiBsXzsKKworICAgIHR5cGVkZWYgdHlwZW5hbWUgbF86OnR5cGUgdHlwZTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxfOjppc19sZSBpc19sZTsKK307CisKK0JPT1NUX01QTF9BVVhfTkFfU1BFQzIoMSwgMywgbGFtYmRhKQorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQKKyAgICA+CitzdHJ1Y3QgaXNfbGFtYmRhX2V4cHJlc3Npb24KKyAgICA6IGxhbWJkYTxUPjo6aXNfbGUKK3sKK307CisKK319CisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9wbGFpbi9sZXNzLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9wbGFpbi9sZXNzLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kZWJlY2UxCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL3BsYWluL2xlc3MuaHBwCkBAIC0wLDAgKzEsOTIgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL2xlc3MuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVGFnMQorICAgICwgdHlwZW5hbWUgVGFnMgorICAgID4KK3N0cnVjdCBsZXNzX2ltcGwKKyAgICA6IGlmX2M8CisgICAgICAgICAgKCBCT09TVF9NUExfQVVYX05FU1RFRF9WQUxVRV9XS05EKGludCwgVGFnMSkKKyAgICAgICAgICAgICAgPiBCT09TVF9NUExfQVVYX05FU1RFRF9WQUxVRV9XS05EKGludCwgVGFnMikKKyAgICAgICAgICAgICkKKworICAgICAgICAsIGF1eDo6Y2FzdDJuZF9pbXBsPCBsZXNzX2ltcGw8IFRhZzEsVGFnMSA+LFRhZzEsIFRhZzIgPgorICAgICAgICAsIGF1eDo6Y2FzdDFzdF9pbXBsPCBsZXNzX2ltcGw8IFRhZzIsVGFnMiA+LFRhZzEsIFRhZzIgPgorICAgICAgICA+Ojp0eXBlCit7Cit9OworCisvLy8gZm9yIERpZ2l0YWwgTWFycyBDKysvY29tcGlsZXJzIHdpdGggbm8gQ1RQUy9UVFAgc3VwcG9ydAordGVtcGxhdGU8PiBzdHJ1Y3QgbGVzc19pbXBsPCBuYSxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFRhZyA+IHN0cnVjdCBsZXNzX2ltcGw8IG5hLFRhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFRhZyA+IHN0cnVjdCBsZXNzX2ltcGw8IFRhZyxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFQgPiBzdHJ1Y3QgbGVzc190YWcKK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIFQ6OnRhZyB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4xKQorICAgICwgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMikKKyAgICA+CitzdHJ1Y3QgbGVzcworCisgICAgOiBsZXNzX2ltcGw8CisgICAgICAgICAgdHlwZW5hbWUgbGVzc190YWc8TjE+Ojp0eXBlCisgICAgICAgICwgdHlwZW5hbWUgbGVzc190YWc8TjI+Ojp0eXBlCisgICAgICAgID46OnRlbXBsYXRlIGFwcGx5PCBOMSxOMiA+Ojp0eXBlCit7Cit9OworCitCT09TVF9NUExfQVVYX05BX1NQRUMyKDIsIDIsIGxlc3MpCisKK319CisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgbGVzc19pbXBsPCBpbnRlZ3JhbF9jX3RhZyxpbnRlZ3JhbF9jX3RhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIE4xLCB0eXBlbmFtZSBOMiA+IHN0cnVjdCBhcHBseQorCisgICAgICAgIDogYm9vbF88ICggQk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4yKTo6dmFsdWUgPiBCT09TVF9NUExfQVVYX1ZBTFVFX1dLTkQoTjEpOjp2YWx1ZSApID4KKyAgICB7CisgICAgfTsKK307CisKK319CmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvcGxhaW4vbGVzc19lcXVhbC5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvcGxhaW4vbGVzc19lcXVhbC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzE4ZGQ2YQotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9wbGFpbi9sZXNzX2VxdWFsLmhwcApAQCAtMCwwICsxLDkyIEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9sZXNzX2VxdWFsLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFRhZzEKKyAgICAsIHR5cGVuYW1lIFRhZzIKKyAgICA+CitzdHJ1Y3QgbGVzc19lcXVhbF9pbXBsCisgICAgOiBpZl9jPAorICAgICAgICAgICggQk9PU1RfTVBMX0FVWF9ORVNURURfVkFMVUVfV0tORChpbnQsIFRhZzEpCisgICAgICAgICAgICAgID4gQk9PU1RfTVBMX0FVWF9ORVNURURfVkFMVUVfV0tORChpbnQsIFRhZzIpCisgICAgICAgICAgICApCisKKyAgICAgICAgLCBhdXg6OmNhc3QybmRfaW1wbDwgbGVzc19lcXVhbF9pbXBsPCBUYWcxLFRhZzEgPixUYWcxLCBUYWcyID4KKyAgICAgICAgLCBhdXg6OmNhc3Qxc3RfaW1wbDwgbGVzc19lcXVhbF9pbXBsPCBUYWcyLFRhZzIgPixUYWcxLCBUYWcyID4KKyAgICAgICAgPjo6dHlwZQoreworfTsKKworLy8vIGZvciBEaWdpdGFsIE1hcnMgQysrL2NvbXBpbGVycyB3aXRoIG5vIENUUFMvVFRQIHN1cHBvcnQKK3RlbXBsYXRlPD4gc3RydWN0IGxlc3NfZXF1YWxfaW1wbDwgbmEsbmEgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUYWcgPiBzdHJ1Y3QgbGVzc19lcXVhbF9pbXBsPCBuYSxUYWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUYWcgPiBzdHJ1Y3QgbGVzc19lcXVhbF9pbXBsPCBUYWcsbmEgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUID4gc3RydWN0IGxlc3NfZXF1YWxfdGFnCit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBUOjp0YWcgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMSkKKyAgICAsIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjIpCisgICAgPgorc3RydWN0IGxlc3NfZXF1YWwKKworICAgIDogbGVzc19lcXVhbF9pbXBsPAorICAgICAgICAgIHR5cGVuYW1lIGxlc3NfZXF1YWxfdGFnPE4xPjo6dHlwZQorICAgICAgICAsIHR5cGVuYW1lIGxlc3NfZXF1YWxfdGFnPE4yPjo6dHlwZQorICAgICAgICA+Ojp0ZW1wbGF0ZSBhcHBseTwgTjEsTjIgPjo6dHlwZQoreworfTsKKworQk9PU1RfTVBMX0FVWF9OQV9TUEVDMigyLCAyLCBsZXNzX2VxdWFsKQorCit9fQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8Pgorc3RydWN0IGxlc3NfZXF1YWxfaW1wbDwgaW50ZWdyYWxfY190YWcsaW50ZWdyYWxfY190YWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBOMSwgdHlwZW5hbWUgTjIgPiBzdHJ1Y3QgYXBwbHkKKworICAgICAgICA6IGJvb2xfPCAoIEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChOMSk6OnZhbHVlIDw9IEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChOMik6OnZhbHVlICkgPgorICAgIHsKKyAgICB9OworfTsKKworfX0KZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9wbGFpbi9saXN0LmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9wbGFpbi9saXN0LmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44Y2M4YzQ2Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL3BsYWluL2xpc3QuaHBwCkBAIC0wLDAgKzEsMzIzIEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9saXN0LmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwID0gbmEsIHR5cGVuYW1lIFQxID0gbmEsIHR5cGVuYW1lIFQyID0gbmEsIHR5cGVuYW1lIFQzID0gbmEKKyAgICAsIHR5cGVuYW1lIFQ0ID0gbmEsIHR5cGVuYW1lIFQ1ID0gbmEsIHR5cGVuYW1lIFQ2ID0gbmEsIHR5cGVuYW1lIFQ3ID0gbmEKKyAgICAsIHR5cGVuYW1lIFQ4ID0gbmEsIHR5cGVuYW1lIFQ5ID0gbmEsIHR5cGVuYW1lIFQxMCA9IG5hLCB0eXBlbmFtZSBUMTEgPSBuYQorICAgICwgdHlwZW5hbWUgVDEyID0gbmEsIHR5cGVuYW1lIFQxMyA9IG5hLCB0eXBlbmFtZSBUMTQgPSBuYQorICAgICwgdHlwZW5hbWUgVDE1ID0gbmEsIHR5cGVuYW1lIFQxNiA9IG5hLCB0eXBlbmFtZSBUMTcgPSBuYQorICAgICwgdHlwZW5hbWUgVDE4ID0gbmEsIHR5cGVuYW1lIFQxOSA9IG5hCisgICAgPgorc3RydWN0IGxpc3Q7CisKK3RlbXBsYXRlPAorICAgICAKKyAgICA+CitzdHJ1Y3QgbGlzdDwKKyAgICAgICAgICBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IGxpc3QwPCAgPgoreworICAgIHR5cGVkZWYgbGlzdDA8ICA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwCisgICAgPgorc3RydWN0IGxpc3Q8CisgICAgICAgICAgVDAsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBsaXN0MTxUMD4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3QxPFQwPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEKKyAgICA+CitzdHJ1Y3QgbGlzdDwKKyAgICAgICAgICBUMCwgVDEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IGxpc3QyPCBUMCxUMSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0MjwgVDAsVDEgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyCisgICAgPgorc3RydWN0IGxpc3Q8CisgICAgICAgICAgVDAsIFQxLCBUMiwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBsaXN0MzwgVDAsVDEsVDIgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDM8IFQwLFQxLFQyID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMKKyAgICA+CitzdHJ1Y3QgbGlzdDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IGxpc3Q0PCBUMCxUMSxUMixUMyA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0NDwgVDAsVDEsVDIsVDMgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICA+CitzdHJ1Y3QgbGlzdDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IGxpc3Q1PCBUMCxUMSxUMixUMyxUNCA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0NTwgVDAsVDEsVDIsVDMsVDQgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1CisgICAgPgorc3RydWN0IGxpc3Q8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBsaXN0NjwgVDAsVDEsVDIsVDMsVDQsVDUgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDY8IFQwLFQxLFQyLFQzLFQ0LFQ1ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYKKyAgICA+CitzdHJ1Y3QgbGlzdDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IGxpc3Q3PCBUMCxUMSxUMixUMyxUNCxUNSxUNiA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0NzwgVDAsVDEsVDIsVDMsVDQsVDUsVDYgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcKKyAgICA+CitzdHJ1Y3QgbGlzdDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IGxpc3Q4PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0ODwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4CisgICAgPgorc3RydWN0IGxpc3Q8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBsaXN0OTwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDggPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDk8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICA+CitzdHJ1Y3QgbGlzdDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IGxpc3QxMDwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDkgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDEwPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAKKyAgICA+CitzdHJ1Y3QgbGlzdDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBsaXN0MTE8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0MTE8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMQorICAgID4KK3N0cnVjdCBsaXN0PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBsaXN0MTI8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDEyPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIKKyAgICA+CitzdHJ1Y3QgbGlzdDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IGxpc3QxMzwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDEzPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMiA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMKKyAgICA+CitzdHJ1Y3QgbGlzdDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBsaXN0MTQ8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0MTQ8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgID4KK3N0cnVjdCBsaXN0PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNCwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBsaXN0MTU8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3QxNTwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzLFQxNCA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICwgdHlwZW5hbWUgVDE1CisgICAgPgorc3RydWN0IGxpc3Q8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1LCBuYSwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBsaXN0MTY8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3QxNjwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzLFQxNCxUMTUgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2CisgICAgPgorc3RydWN0IGxpc3Q8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1LCBUMTYsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogbGlzdDE3PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgVDE2CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3QxNzwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzLFQxNCxUMTUsVDE2ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3CisgICAgPgorc3RydWN0IGxpc3Q8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1LCBUMTYsIFQxNywgbmEsIG5hCisgICAgICAgID4KKyAgICA6IGxpc3QxODwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgLCBUMTUsIFQxNiwgVDE3CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3QxODwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzLFQxNCxUMTUsVDE2LFQxNyA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4CisgICAgPgorc3RydWN0IGxpc3Q8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1LCBUMTYsIFQxNywgVDE4LCBuYQorICAgICAgICA+CisgICAgOiBsaXN0MTk8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1LCBUMTYsIFQxNywgVDE4CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3QxOTwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzLFQxNCxUMTUsVDE2LFQxNyxUMTggPjo6dHlwZSB0eXBlOworfTsKKworLy8vIHByaW1hcnkgdGVtcGxhdGUgKG5vdCBhIHNwZWNpYWxpemF0aW9uISkKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgPgorc3RydWN0IGxpc3QKKyAgICA6IGxpc3QyMDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgLCBUMTUsIFQxNiwgVDE3LCBUMTgsIFQxOQorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0MjA8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyxUMTQsVDE1LFQxNixUMTcsVDE4LFQxOSA+Ojp0eXBlIHR5cGU7Cit9OworCit9fQorCmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvcGxhaW4vbGlzdF9jLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9wbGFpbi9saXN0X2MuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU0M2YzOGYKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvcGxhaW4vbGlzdF9jLmhwcApAQCAtMCwwICsxLDMyOCBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvbGlzdF9jLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAgPSBMT05HX01BWCwgbG9uZyBDMSA9IExPTkdfTUFYLCBsb25nIEMyID0gTE9OR19NQVgKKyAgICAsIGxvbmcgQzMgPSBMT05HX01BWCwgbG9uZyBDNCA9IExPTkdfTUFYLCBsb25nIEM1ID0gTE9OR19NQVgKKyAgICAsIGxvbmcgQzYgPSBMT05HX01BWCwgbG9uZyBDNyA9IExPTkdfTUFYLCBsb25nIEM4ID0gTE9OR19NQVgKKyAgICAsIGxvbmcgQzkgPSBMT05HX01BWCwgbG9uZyBDMTAgPSBMT05HX01BWCwgbG9uZyBDMTEgPSBMT05HX01BWAorICAgICwgbG9uZyBDMTIgPSBMT05HX01BWCwgbG9uZyBDMTMgPSBMT05HX01BWCwgbG9uZyBDMTQgPSBMT05HX01BWAorICAgICwgbG9uZyBDMTUgPSBMT05HX01BWCwgbG9uZyBDMTYgPSBMT05HX01BWCwgbG9uZyBDMTcgPSBMT05HX01BWAorICAgICwgbG9uZyBDMTggPSBMT05HX01BWCwgbG9uZyBDMTkgPSBMT05HX01BWAorICAgID4KK3N0cnVjdCBsaXN0X2M7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVAorICAgID4KK3N0cnVjdCBsaXN0X2M8CisgICAgICAgICAgVCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogbGlzdDBfYzxUPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDBfYzxUPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwCisgICAgPgorc3RydWN0IGxpc3RfYzwKKyAgICAgICAgICBULCBDMCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiBsaXN0MV9jPCBULEMwID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3QxX2M8IFQsQzAgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxCisgICAgPgorc3RydWN0IGxpc3RfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiBsaXN0Ml9jPCBULEMwLEMxID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3QyX2M8IFQsQzAsQzEgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyCisgICAgPgorc3RydWN0IGxpc3RfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiBsaXN0M19jPCBULEMwLEMxLEMyID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3QzX2M8IFQsQzAsQzEsQzIgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzCisgICAgPgorc3RydWN0IGxpc3RfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiBsaXN0NF9jPCBULEMwLEMxLEMyLEMzID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3Q0X2M8IFQsQzAsQzEsQzIsQzMgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0CisgICAgPgorc3RydWN0IGxpc3RfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiBsaXN0NV9jPCBULEMwLEMxLEMyLEMzLEM0ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3Q1X2M8IFQsQzAsQzEsQzIsQzMsQzQgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgPgorc3RydWN0IGxpc3RfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiBsaXN0Nl9jPCBULEMwLEMxLEMyLEMzLEM0LEM1ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3Q2X2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2CisgICAgPgorc3RydWN0IGxpc3RfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiBsaXN0N19jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3Q3X2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3CisgICAgPgorc3RydWN0IGxpc3RfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiBsaXN0OF9jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2LEM3ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3Q4X2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4CisgICAgPgorc3RydWN0IGxpc3RfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiBsaXN0OV9jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2LEM3LEM4ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3Q5X2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcsQzggPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5CisgICAgPgorc3RydWN0IGxpc3RfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiBsaXN0MTBfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyxDOCxDOSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0MTBfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyxDOCxDOSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwCisgICAgPgorc3RydWN0IGxpc3RfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiBsaXN0MTFfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyxDOCxDOSxDMTAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDExX2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcsQzgsQzksQzEwID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExCisgICAgPgorc3RydWN0IGxpc3RfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogbGlzdDEyX2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcsQzgsQzksQzEwLEMxMSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0MTJfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyxDOCxDOSxDMTAsQzExID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgID4KK3N0cnVjdCBsaXN0X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBDMTIsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiBsaXN0MTNfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyxDOCxDOSxDMTAsQzExLEMxMiA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0MTNfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyxDOCxDOSxDMTAsQzExLEMxMiA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAsIGxvbmcgQzEzCisgICAgPgorc3RydWN0IGxpc3RfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIEMxMiwgQzEzCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiBsaXN0MTRfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIEMxMiwgQzEzCisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3QxNF9jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2LEM3LEM4LEM5LEMxMCxDMTEsQzEyLEMxMyA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAsIGxvbmcgQzEzLCBsb25nIEMxNAorICAgID4KK3N0cnVjdCBsaXN0X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBDMTIsIEMxMywgQzE0CisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IGxpc3QxNV9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMsIEMxNAorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0MTVfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyxDOCxDOSxDMTAsQzExLEMxMixDMTMsQzE0ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNQorICAgID4KK3N0cnVjdCBsaXN0X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBDMTIsIEMxMywgQzE0CisgICAgICAgICwgQzE1LCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiBsaXN0MTZfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIEMxMiwgQzEzLCBDMTQKKyAgICAgICAgLCBDMTUKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDE2X2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcsQzgsQzksQzEwLEMxMSxDMTIsQzEzLEMxNCxDMTUgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1LCBsb25nIEMxNgorICAgID4KK3N0cnVjdCBsaXN0X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBDMTIsIEMxMywgQzE0CisgICAgICAgICwgQzE1LCBDMTYsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogbGlzdDE3X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBDMTIsIEMxMywgQzE0CisgICAgICAgICwgQzE1LCBDMTYKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDE3X2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcsQzgsQzksQzEwLEMxMSxDMTIsQzEzLEMxNCxDMTUsQzE2ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNSwgbG9uZyBDMTYsIGxvbmcgQzE3CisgICAgPgorc3RydWN0IGxpc3RfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIEMxMiwgQzEzLCBDMTQKKyAgICAgICAgLCBDMTUsIEMxNiwgQzE3LCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogbGlzdDE4X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBDMTIsIEMxMywgQzE0CisgICAgICAgICwgQzE1LCBDMTYsIEMxNworICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBsaXN0MThfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyxDOCxDOSxDMTAsQzExLEMxMixDMTMsQzE0LEMxNSxDMTYsQzE3ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNSwgbG9uZyBDMTYsIGxvbmcgQzE3LCBsb25nIEMxOAorICAgID4KK3N0cnVjdCBsaXN0X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBDMTIsIEMxMywgQzE0CisgICAgICAgICwgQzE1LCBDMTYsIEMxNywgQzE4LCBMT05HX01BWAorICAgICAgICA+CisgICAgOiBsaXN0MTlfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIEMxMiwgQzEzLCBDMTQKKyAgICAgICAgLCBDMTUsIEMxNiwgQzE3LCBDMTgKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbGlzdDE5X2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcsQzgsQzksQzEwLEMxMSxDMTIsQzEzLEMxNCxDMTUsQzE2LEMxNyxDMTggPjo6dHlwZSB0eXBlOworfTsKKworLy8vIHByaW1hcnkgdGVtcGxhdGUgKG5vdCBhIHNwZWNpYWxpemF0aW9uISkKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1LCBsb25nIEMxNiwgbG9uZyBDMTcsIGxvbmcgQzE4LCBsb25nIEMxOQorICAgID4KK3N0cnVjdCBsaXN0X2MKKyAgICA6IGxpc3QyMF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMsIEMxNAorICAgICAgICAsIEMxNSwgQzE2LCBDMTcsIEMxOCwgQzE5CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGxpc3QyMF9jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2LEM3LEM4LEM5LEMxMCxDMTEsQzEyLEMxMyxDMTQsQzE1LEMxNixDMTcsQzE4LEMxOSA+Ojp0eXBlIHR5cGU7Cit9OworCit9fQorCmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvcGxhaW4vbWFwLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9wbGFpbi9tYXAuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc5NzRmMjgKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvcGxhaW4vbWFwLmhwcApAQCAtMCwwICsxLDMyMyBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvbWFwLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwID0gbmEsIHR5cGVuYW1lIFQxID0gbmEsIHR5cGVuYW1lIFQyID0gbmEsIHR5cGVuYW1lIFQzID0gbmEKKyAgICAsIHR5cGVuYW1lIFQ0ID0gbmEsIHR5cGVuYW1lIFQ1ID0gbmEsIHR5cGVuYW1lIFQ2ID0gbmEsIHR5cGVuYW1lIFQ3ID0gbmEKKyAgICAsIHR5cGVuYW1lIFQ4ID0gbmEsIHR5cGVuYW1lIFQ5ID0gbmEsIHR5cGVuYW1lIFQxMCA9IG5hLCB0eXBlbmFtZSBUMTEgPSBuYQorICAgICwgdHlwZW5hbWUgVDEyID0gbmEsIHR5cGVuYW1lIFQxMyA9IG5hLCB0eXBlbmFtZSBUMTQgPSBuYQorICAgICwgdHlwZW5hbWUgVDE1ID0gbmEsIHR5cGVuYW1lIFQxNiA9IG5hLCB0eXBlbmFtZSBUMTcgPSBuYQorICAgICwgdHlwZW5hbWUgVDE4ID0gbmEsIHR5cGVuYW1lIFQxOSA9IG5hCisgICAgPgorc3RydWN0IG1hcDsKKwordGVtcGxhdGU8CisgICAgIAorICAgID4KK3N0cnVjdCBtYXA8CisgICAgICAgICAgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBtYXAwPCAgPgoreworICAgIHR5cGVkZWYgbWFwMDwgID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAKKyAgICA+CitzdHJ1Y3QgbWFwPAorICAgICAgICAgIFQwLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogbWFwMTxUMD4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1hcDE8VDA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMQorICAgID4KK3N0cnVjdCBtYXA8CisgICAgICAgICAgVDAsIFQxLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBtYXAyPCBUMCxUMSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtYXAyPCBUMCxUMSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIKKyAgICA+CitzdHJ1Y3QgbWFwPAorICAgICAgICAgIFQwLCBUMSwgVDIsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogbWFwMzwgVDAsVDEsVDIgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbWFwMzwgVDAsVDEsVDIgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMworICAgID4KK3N0cnVjdCBtYXA8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBtYXA0PCBUMCxUMSxUMixUMyA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtYXA0PCBUMCxUMSxUMixUMyA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgID4KK3N0cnVjdCBtYXA8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBtYXA1PCBUMCxUMSxUMixUMyxUNCA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtYXA1PCBUMCxUMSxUMixUMyxUNCA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUKKyAgICA+CitzdHJ1Y3QgbWFwPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogbWFwNjwgVDAsVDEsVDIsVDMsVDQsVDUgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbWFwNjwgVDAsVDEsVDIsVDMsVDQsVDUgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNgorICAgID4KK3N0cnVjdCBtYXA8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBtYXA3PCBUMCxUMSxUMixUMyxUNCxUNSxUNiA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtYXA3PCBUMCxUMSxUMixUMyxUNCxUNSxUNiA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNworICAgID4KK3N0cnVjdCBtYXA8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBtYXA4PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtYXA4PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgKKyAgICA+CitzdHJ1Y3QgbWFwPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogbWFwOTwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDggPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbWFwOTwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDggPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgID4KK3N0cnVjdCBtYXA8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBtYXAxMDwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDkgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbWFwMTA8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMAorICAgID4KK3N0cnVjdCBtYXA8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogbWFwMTE8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtYXAxMTwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExCisgICAgPgorc3RydWN0IG1hcDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogbWFwMTI8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbWFwMTI8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMgorICAgID4KK3N0cnVjdCBtYXA8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBtYXAxMzwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbWFwMTM8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMworICAgID4KK3N0cnVjdCBtYXA8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogbWFwMTQ8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtYXAxNDwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgPgorc3RydWN0IG1hcDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogbWFwMTU8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1hcDE1PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMsVDE0ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgLCB0eXBlbmFtZSBUMTUKKyAgICA+CitzdHJ1Y3QgbWFwPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogbWFwMTY8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1hcDE2PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMsVDE0LFQxNSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYKKyAgICA+CitzdHJ1Y3QgbWFwPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgVDE2LCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IG1hcDE3PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgVDE2CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1hcDE3PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMsVDE0LFQxNSxUMTYgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcKKyAgICA+CitzdHJ1Y3QgbWFwPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgVDE2LCBUMTcsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBtYXAxODwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgLCBUMTUsIFQxNiwgVDE3CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1hcDE4PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMsVDE0LFQxNSxUMTYsVDE3ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgKKyAgICA+CitzdHJ1Y3QgbWFwPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgVDE2LCBUMTcsIFQxOCwgbmEKKyAgICAgICAgPgorICAgIDogbWFwMTk8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1LCBUMTYsIFQxNywgVDE4CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1hcDE5PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMsVDE0LFQxNSxUMTYsVDE3LFQxOCA+Ojp0eXBlIHR5cGU7Cit9OworCisvLy8gcHJpbWFyeSB0ZW1wbGF0ZSAobm90IGEgc3BlY2lhbGl6YXRpb24hKQorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICA+CitzdHJ1Y3QgbWFwCisgICAgOiBtYXAyMDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgLCBUMTUsIFQxNiwgVDE3LCBUMTgsIFQxOQorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtYXAyMDwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzLFQxNCxUMTUsVDE2LFQxNyxUMTgsVDE5ID46OnR5cGUgdHlwZTsKK307CisKK319CisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9wbGFpbi9taW51cy5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvcGxhaW4vbWludXMuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM0OTFkNTMKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvcGxhaW4vbWludXMuaHBwCkBAIC0wLDAgKzEsMTQxIEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9taW51cy5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUYWcxCisgICAgLCB0eXBlbmFtZSBUYWcyCisgICAgPgorc3RydWN0IG1pbnVzX2ltcGwKKyAgICA6IGlmX2M8CisgICAgICAgICAgKCBCT09TVF9NUExfQVVYX05FU1RFRF9WQUxVRV9XS05EKGludCwgVGFnMSkKKyAgICAgICAgICAgICAgPiBCT09TVF9NUExfQVVYX05FU1RFRF9WQUxVRV9XS05EKGludCwgVGFnMikKKyAgICAgICAgICAgICkKKworICAgICAgICAsIGF1eDo6Y2FzdDJuZF9pbXBsPCBtaW51c19pbXBsPCBUYWcxLFRhZzEgPixUYWcxLCBUYWcyID4KKyAgICAgICAgLCBhdXg6OmNhc3Qxc3RfaW1wbDwgbWludXNfaW1wbDwgVGFnMixUYWcyID4sVGFnMSwgVGFnMiA+CisgICAgICAgID46OnR5cGUKK3sKK307CisKKy8vLyBmb3IgRGlnaXRhbCBNYXJzIEMrKy9jb21waWxlcnMgd2l0aCBubyBDVFBTL1RUUCBzdXBwb3J0Cit0ZW1wbGF0ZTw+IHN0cnVjdCBtaW51c19pbXBsPCBuYSxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFRhZyA+IHN0cnVjdCBtaW51c19pbXBsPCBuYSxUYWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUYWcgPiBzdHJ1Y3QgbWludXNfaW1wbDwgVGFnLG5hID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVCA+IHN0cnVjdCBtaW51c190YWcKK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIFQ6OnRhZyB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4xKQorICAgICwgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMikKKyAgICAsIHR5cGVuYW1lIE4zID0gbmEsIHR5cGVuYW1lIE40ID0gbmEsIHR5cGVuYW1lIE41ID0gbmEKKyAgICA+CitzdHJ1Y3QgbWludXMKKyAgICA6IG1pbnVzPCBtaW51czwgbWludXM8IG1pbnVzPCBOMSxOMiA+LCBOMz4sIE40PiwgTjU+Cit7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIE4xLCB0eXBlbmFtZSBOMiwgdHlwZW5hbWUgTjMsIHR5cGVuYW1lIE40CisgICAgPgorc3RydWN0IG1pbnVzPCBOMSxOMixOMyxONCxuYSA+CisKKyAgICA6IG1pbnVzPCBtaW51czwgbWludXM8IE4xLE4yID4sIE4zPiwgTjQ+Cit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVF9TUEVDKAorICAgICAgICAgIDUKKyAgICAgICAgLCBtaW51cworICAgICAgICAsICggTjEsIE4yLCBOMywgTjQsIG5hICkKKyAgICAgICAgKQorfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBOMSwgdHlwZW5hbWUgTjIsIHR5cGVuYW1lIE4zCisgICAgPgorc3RydWN0IG1pbnVzPCBOMSxOMixOMyxuYSxuYSA+CisKKyAgICA6IG1pbnVzPCBtaW51czwgTjEsTjIgPiwgTjM+Cit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVF9TUEVDKAorICAgICAgICAgIDUKKyAgICAgICAgLCBtaW51cworICAgICAgICAsICggTjEsIE4yLCBOMywgbmEsIG5hICkKKyAgICAgICAgKQorfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBOMSwgdHlwZW5hbWUgTjIKKyAgICA+CitzdHJ1Y3QgbWludXM8IE4xLE4yLG5hLG5hLG5hID4KKyAgICA6IG1pbnVzX2ltcGw8CisgICAgICAgICAgdHlwZW5hbWUgbWludXNfdGFnPE4xPjo6dHlwZQorICAgICAgICAsIHR5cGVuYW1lIG1pbnVzX3RhZzxOMj46OnR5cGUKKyAgICAgICAgPjo6dGVtcGxhdGUgYXBwbHk8IE4xLE4yID46OnR5cGUKK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUX1NQRUMoCisgICAgICAgICAgNQorICAgICAgICAsIG1pbnVzCisgICAgICAgICwgKCBOMSwgTjIsIG5hLCBuYSwgbmEgKQorICAgICAgICApCisKK307CisKK0JPT1NUX01QTF9BVVhfTkFfU1BFQzIoMiwgNSwgbWludXMpCisKK319CisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgewordGVtcGxhdGU8Pgorc3RydWN0IG1pbnVzX2ltcGw8IGludGVncmFsX2NfdGFnLGludGVncmFsX2NfdGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgTjEsIHR5cGVuYW1lIE4yID4gc3RydWN0IGFwcGx5CisKKyAgICAgICAgOiBpbnRlZ3JhbF9jPAorICAgICAgICAgICAgICB0eXBlbmFtZSBhdXg6Omxhcmdlc3RfaW50PAorICAgICAgICAgICAgICAgICAgdHlwZW5hbWUgTjE6OnZhbHVlX3R5cGUKKyAgICAgICAgICAgICAgICAsIHR5cGVuYW1lIE4yOjp2YWx1ZV90eXBlCisgICAgICAgICAgICAgICAgPjo6dHlwZQorICAgICAgICAgICAgLCAoIEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChOMSk6OnZhbHVlCisgICAgICAgICAgICAgICAgICAtIEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChOMik6OnZhbHVlCisgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgPgorICAgIHsKKyAgICB9OworfTsKKworfX0KZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9wbGFpbi9tb2R1bHVzLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9wbGFpbi9tb2R1bHVzLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NDIzYzU3Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL3BsYWluL21vZHVsdXMuaHBwCkBAIC0wLDAgKzEsOTkgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL21vZHVsdXMuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVGFnMQorICAgICwgdHlwZW5hbWUgVGFnMgorICAgID4KK3N0cnVjdCBtb2R1bHVzX2ltcGwKKyAgICA6IGlmX2M8CisgICAgICAgICAgKCBCT09TVF9NUExfQVVYX05FU1RFRF9WQUxVRV9XS05EKGludCwgVGFnMSkKKyAgICAgICAgICAgICAgPiBCT09TVF9NUExfQVVYX05FU1RFRF9WQUxVRV9XS05EKGludCwgVGFnMikKKyAgICAgICAgICAgICkKKworICAgICAgICAsIGF1eDo6Y2FzdDJuZF9pbXBsPCBtb2R1bHVzX2ltcGw8IFRhZzEsVGFnMSA+LFRhZzEsIFRhZzIgPgorICAgICAgICAsIGF1eDo6Y2FzdDFzdF9pbXBsPCBtb2R1bHVzX2ltcGw8IFRhZzIsVGFnMiA+LFRhZzEsIFRhZzIgPgorICAgICAgICA+Ojp0eXBlCit7Cit9OworCisvLy8gZm9yIERpZ2l0YWwgTWFycyBDKysvY29tcGlsZXJzIHdpdGggbm8gQ1RQUy9UVFAgc3VwcG9ydAordGVtcGxhdGU8PiBzdHJ1Y3QgbW9kdWx1c19pbXBsPCBuYSxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFRhZyA+IHN0cnVjdCBtb2R1bHVzX2ltcGw8IG5hLFRhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFRhZyA+IHN0cnVjdCBtb2R1bHVzX2ltcGw8IFRhZyxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFQgPiBzdHJ1Y3QgbW9kdWx1c190YWcKK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIFQ6OnRhZyB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4xKQorICAgICwgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMikKKyAgICA+CitzdHJ1Y3QgbW9kdWx1cworCisgICAgOiBtb2R1bHVzX2ltcGw8CisgICAgICAgICAgdHlwZW5hbWUgbW9kdWx1c190YWc8TjE+Ojp0eXBlCisgICAgICAgICwgdHlwZW5hbWUgbW9kdWx1c190YWc8TjI+Ojp0eXBlCisgICAgICAgID46OnRlbXBsYXRlIGFwcGx5PCBOMSxOMiA+Ojp0eXBlCit7Cit9OworCitCT09TVF9NUExfQVVYX05BX1NQRUMyKDIsIDIsIG1vZHVsdXMpCisKK319CisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgewordGVtcGxhdGU8Pgorc3RydWN0IG1vZHVsdXNfaW1wbDwgaW50ZWdyYWxfY190YWcsaW50ZWdyYWxfY190YWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBOMSwgdHlwZW5hbWUgTjIgPiBzdHJ1Y3QgYXBwbHkKKworICAgICAgICA6IGludGVncmFsX2M8CisgICAgICAgICAgICAgIHR5cGVuYW1lIGF1eDo6bGFyZ2VzdF9pbnQ8CisgICAgICAgICAgICAgICAgICB0eXBlbmFtZSBOMTo6dmFsdWVfdHlwZQorICAgICAgICAgICAgICAgICwgdHlwZW5hbWUgTjI6OnZhbHVlX3R5cGUKKyAgICAgICAgICAgICAgICA+Ojp0eXBlCisgICAgICAgICAgICAsICggQk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4xKTo6dmFsdWUKKyAgICAgICAgICAgICAgICAgICUgQk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4yKTo6dmFsdWUKKyAgICAgICAgICAgICAgICApCisgICAgICAgICAgICA+CisgICAgeworICAgIH07Cit9OworCit9fQpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL3BsYWluL25vdF9lcXVhbF90by5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvcGxhaW4vbm90X2VxdWFsX3RvLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xY2U2MzRkCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL3BsYWluL25vdF9lcXVhbF90by5ocHAKQEAgLTAsMCArMSw5MiBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvbm90X2VxdWFsX3RvLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFRhZzEKKyAgICAsIHR5cGVuYW1lIFRhZzIKKyAgICA+CitzdHJ1Y3Qgbm90X2VxdWFsX3RvX2ltcGwKKyAgICA6IGlmX2M8CisgICAgICAgICAgKCBCT09TVF9NUExfQVVYX05FU1RFRF9WQUxVRV9XS05EKGludCwgVGFnMSkKKyAgICAgICAgICAgICAgPiBCT09TVF9NUExfQVVYX05FU1RFRF9WQUxVRV9XS05EKGludCwgVGFnMikKKyAgICAgICAgICAgICkKKworICAgICAgICAsIGF1eDo6Y2FzdDJuZF9pbXBsPCBub3RfZXF1YWxfdG9faW1wbDwgVGFnMSxUYWcxID4sVGFnMSwgVGFnMiA+CisgICAgICAgICwgYXV4OjpjYXN0MXN0X2ltcGw8IG5vdF9lcXVhbF90b19pbXBsPCBUYWcyLFRhZzIgPixUYWcxLCBUYWcyID4KKyAgICAgICAgPjo6dHlwZQoreworfTsKKworLy8vIGZvciBEaWdpdGFsIE1hcnMgQysrL2NvbXBpbGVycyB3aXRoIG5vIENUUFMvVFRQIHN1cHBvcnQKK3RlbXBsYXRlPD4gc3RydWN0IG5vdF9lcXVhbF90b19pbXBsPCBuYSxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFRhZyA+IHN0cnVjdCBub3RfZXF1YWxfdG9faW1wbDwgbmEsVGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVGFnID4gc3RydWN0IG5vdF9lcXVhbF90b19pbXBsPCBUYWcsbmEgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUID4gc3RydWN0IG5vdF9lcXVhbF90b190YWcKK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIFQ6OnRhZyB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4xKQorICAgICwgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMikKKyAgICA+CitzdHJ1Y3Qgbm90X2VxdWFsX3RvCisKKyAgICA6IG5vdF9lcXVhbF90b19pbXBsPAorICAgICAgICAgIHR5cGVuYW1lIG5vdF9lcXVhbF90b190YWc8TjE+Ojp0eXBlCisgICAgICAgICwgdHlwZW5hbWUgbm90X2VxdWFsX3RvX3RhZzxOMj46OnR5cGUKKyAgICAgICAgPjo6dGVtcGxhdGUgYXBwbHk8IE4xLE4yID46OnR5cGUKK3sKK307CisKK0JPT1NUX01QTF9BVVhfTkFfU1BFQzIoMiwgMiwgbm90X2VxdWFsX3RvKQorCit9fQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8Pgorc3RydWN0IG5vdF9lcXVhbF90b19pbXBsPCBpbnRlZ3JhbF9jX3RhZyxpbnRlZ3JhbF9jX3RhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIE4xLCB0eXBlbmFtZSBOMiA+IHN0cnVjdCBhcHBseQorCisgICAgICAgIDogYm9vbF88ICggQk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4xKTo6dmFsdWUgIT0gQk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4yKTo6dmFsdWUgKSA+CisgICAgeworICAgIH07Cit9OworCit9fQpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL3BsYWluL29yLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9wbGFpbi9vci5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmM1NzY1ZAotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9wbGFpbi9vci5ocHAKQEAgLTAsMCArMSw2NCBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvb3IuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwgYm9vbCBDXywgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQgPgorc3RydWN0IG9yX2ltcGwKKyAgICA6IHRydWVfCit7Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQgPgorc3RydWN0IG9yX2ltcGw8IGZhbHNlLFQxLFQyLFQzLFQ0ID4KKyAgICA6IG9yX2ltcGw8CisgICAgICAgICAgQk9PU1RfTVBMX0FVWF9ORVNURURfVFlQRV9XS05EKFQxKTo6dmFsdWUKKyAgICAgICAgLCBUMiwgVDMsIFQ0CisgICAgICAgICwgZmFsc2VfCisgICAgICAgID4KK3sKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBvcl9pbXBsPAorICAgICAgICAgIGZhbHNlCisgICAgICAgICwgZmFsc2VfLCBmYWxzZV8sIGZhbHNlXywgZmFsc2VfCisgICAgICAgID4KKyAgICA6IGZhbHNlXworeworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShUMSkKKyAgICAsIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oVDIpCisgICAgLCB0eXBlbmFtZSBUMyA9IGZhbHNlXywgdHlwZW5hbWUgVDQgPSBmYWxzZV8sIHR5cGVuYW1lIFQ1ID0gZmFsc2VfCisgICAgPgorc3RydWN0IG9yXworCisgICAgOiBhdXg6Om9yX2ltcGw8CisgICAgICAgICAgQk9PU1RfTVBMX0FVWF9ORVNURURfVFlQRV9XS05EKFQxKTo6dmFsdWUKKyAgICAgICAgLCBUMiwgVDMsIFQ0LCBUNQorICAgICAgICA+CisKK3sKK307CisKK0JPT1NUX01QTF9BVVhfTkFfU1BFQzIoCisgICAgICAyCisgICAgLCA1CisgICAgLCBvcl8KKyAgICApCisKK319CmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvcGxhaW4vcGxhY2Vob2xkZXJzLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9wbGFpbi9wbGFjZWhvbGRlcnMuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVjZDQ1MTQKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvcGxhaW4vcGxhY2Vob2xkZXJzLmhwcApAQCAtMCwwICsxLDEwNSBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAxLTIwMDQKKy8vIENvcHlyaWdodCBQZXRlciBEaW1vdiAyMDAxLTIwMDMKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvcGxhY2Vob2xkZXJzLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK0JPT1NUX01QTF9BVVhfQURMX0JBUlJJRVJfTkFNRVNQQUNFX09QRU4KK3R5cGVkZWYgYXJnPCAtMSA+IF87CitCT09TVF9NUExfQVVYX0FETF9CQVJSSUVSX05BTUVTUEFDRV9DTE9TRQorbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK0JPT1NUX01QTF9BVVhfQVJHX0FETF9CQVJSSUVSX0RFQ0woXykKKworbmFtZXNwYWNlIHBsYWNlaG9sZGVycyB7Cit1c2luZyBCT09TVF9NUExfQVVYX0FETF9CQVJSSUVSX05BTUVTUEFDRTo6XzsKK30KKworfX0KKworLy8vIGFndXJ0LCAxNy9tYXIvMDI6IG9uZSBtb3JlIHBsYWNlaG9sZGVyIGZvciB0aGUgbGFzdCAnYXBwbHkjJyAKKy8vLyBzcGVjaWFsaXphdGlvbgorQk9PU1RfTVBMX0FVWF9BRExfQkFSUklFUl9OQU1FU1BBQ0VfT1BFTgordHlwZWRlZiBhcmc8MT4gXzE7CisKK0JPT1NUX01QTF9BVVhfQURMX0JBUlJJRVJfTkFNRVNQQUNFX0NMT1NFCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKworQk9PU1RfTVBMX0FVWF9BUkdfQURMX0JBUlJJRVJfREVDTChfMSkKKworbmFtZXNwYWNlIHBsYWNlaG9sZGVycyB7Cit1c2luZyBCT09TVF9NUExfQVVYX0FETF9CQVJSSUVSX05BTUVTUEFDRTo6XzE7Cit9CisKK319CitCT09TVF9NUExfQVVYX0FETF9CQVJSSUVSX05BTUVTUEFDRV9PUEVOCit0eXBlZGVmIGFyZzwyPiBfMjsKKworQk9PU1RfTVBMX0FVWF9BRExfQkFSUklFUl9OQU1FU1BBQ0VfQ0xPU0UKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCitCT09TVF9NUExfQVVYX0FSR19BRExfQkFSUklFUl9ERUNMKF8yKQorCituYW1lc3BhY2UgcGxhY2Vob2xkZXJzIHsKK3VzaW5nIEJPT1NUX01QTF9BVVhfQURMX0JBUlJJRVJfTkFNRVNQQUNFOjpfMjsKK30KKworfX0KK0JPT1NUX01QTF9BVVhfQURMX0JBUlJJRVJfTkFNRVNQQUNFX09QRU4KK3R5cGVkZWYgYXJnPDM+IF8zOworCitCT09TVF9NUExfQVVYX0FETF9CQVJSSUVSX05BTUVTUEFDRV9DTE9TRQorbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK0JPT1NUX01QTF9BVVhfQVJHX0FETF9CQVJSSUVSX0RFQ0woXzMpCisKK25hbWVzcGFjZSBwbGFjZWhvbGRlcnMgewordXNpbmcgQk9PU1RfTVBMX0FVWF9BRExfQkFSUklFUl9OQU1FU1BBQ0U6Ol8zOworfQorCit9fQorQk9PU1RfTVBMX0FVWF9BRExfQkFSUklFUl9OQU1FU1BBQ0VfT1BFTgordHlwZWRlZiBhcmc8ND4gXzQ7CisKK0JPT1NUX01QTF9BVVhfQURMX0JBUlJJRVJfTkFNRVNQQUNFX0NMT1NFCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKworQk9PU1RfTVBMX0FVWF9BUkdfQURMX0JBUlJJRVJfREVDTChfNCkKKworbmFtZXNwYWNlIHBsYWNlaG9sZGVycyB7Cit1c2luZyBCT09TVF9NUExfQVVYX0FETF9CQVJSSUVSX05BTUVTUEFDRTo6XzQ7Cit9CisKK319CitCT09TVF9NUExfQVVYX0FETF9CQVJSSUVSX05BTUVTUEFDRV9PUEVOCit0eXBlZGVmIGFyZzw1PiBfNTsKKworQk9PU1RfTVBMX0FVWF9BRExfQkFSUklFUl9OQU1FU1BBQ0VfQ0xPU0UKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCitCT09TVF9NUExfQVVYX0FSR19BRExfQkFSUklFUl9ERUNMKF81KQorCituYW1lc3BhY2UgcGxhY2Vob2xkZXJzIHsKK3VzaW5nIEJPT1NUX01QTF9BVVhfQURMX0JBUlJJRVJfTkFNRVNQQUNFOjpfNTsKK30KKworfX0KK0JPT1NUX01QTF9BVVhfQURMX0JBUlJJRVJfTkFNRVNQQUNFX09QRU4KK3R5cGVkZWYgYXJnPDY+IF82OworCitCT09TVF9NUExfQVVYX0FETF9CQVJSSUVSX05BTUVTUEFDRV9DTE9TRQorbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK0JPT1NUX01QTF9BVVhfQVJHX0FETF9CQVJSSUVSX0RFQ0woXzYpCisKK25hbWVzcGFjZSBwbGFjZWhvbGRlcnMgewordXNpbmcgQk9PU1RfTVBMX0FVWF9BRExfQkFSUklFUl9OQU1FU1BBQ0U6Ol82OworfQorCit9fQpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL3BsYWluL3BsdXMuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL3BsYWluL3BsdXMuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAxYTE5MWQKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvcGxhaW4vcGx1cy5ocHAKQEAgLTAsMCArMSwxNDEgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL3BsdXMuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVGFnMQorICAgICwgdHlwZW5hbWUgVGFnMgorICAgID4KK3N0cnVjdCBwbHVzX2ltcGwKKyAgICA6IGlmX2M8CisgICAgICAgICAgKCBCT09TVF9NUExfQVVYX05FU1RFRF9WQUxVRV9XS05EKGludCwgVGFnMSkKKyAgICAgICAgICAgICAgPiBCT09TVF9NUExfQVVYX05FU1RFRF9WQUxVRV9XS05EKGludCwgVGFnMikKKyAgICAgICAgICAgICkKKworICAgICAgICAsIGF1eDo6Y2FzdDJuZF9pbXBsPCBwbHVzX2ltcGw8IFRhZzEsVGFnMSA+LFRhZzEsIFRhZzIgPgorICAgICAgICAsIGF1eDo6Y2FzdDFzdF9pbXBsPCBwbHVzX2ltcGw8IFRhZzIsVGFnMiA+LFRhZzEsIFRhZzIgPgorICAgICAgICA+Ojp0eXBlCit7Cit9OworCisvLy8gZm9yIERpZ2l0YWwgTWFycyBDKysvY29tcGlsZXJzIHdpdGggbm8gQ1RQUy9UVFAgc3VwcG9ydAordGVtcGxhdGU8PiBzdHJ1Y3QgcGx1c19pbXBsPCBuYSxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFRhZyA+IHN0cnVjdCBwbHVzX2ltcGw8IG5hLFRhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFRhZyA+IHN0cnVjdCBwbHVzX2ltcGw8IFRhZyxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFQgPiBzdHJ1Y3QgcGx1c190YWcKK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIFQ6OnRhZyB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKE4xKQorICAgICwgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMikKKyAgICAsIHR5cGVuYW1lIE4zID0gbmEsIHR5cGVuYW1lIE40ID0gbmEsIHR5cGVuYW1lIE41ID0gbmEKKyAgICA+CitzdHJ1Y3QgcGx1cworICAgIDogcGx1czwgcGx1czwgcGx1czwgcGx1czwgTjEsTjIgPiwgTjM+LCBOND4sIE41PgoreworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBOMSwgdHlwZW5hbWUgTjIsIHR5cGVuYW1lIE4zLCB0eXBlbmFtZSBONAorICAgID4KK3N0cnVjdCBwbHVzPCBOMSxOMixOMyxONCxuYSA+CisKKyAgICA6IHBsdXM8IHBsdXM8IHBsdXM8IE4xLE4yID4sIE4zPiwgTjQ+Cit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVF9TUEVDKAorICAgICAgICAgIDUKKyAgICAgICAgLCBwbHVzCisgICAgICAgICwgKCBOMSwgTjIsIE4zLCBONCwgbmEgKQorICAgICAgICApCit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIE4xLCB0eXBlbmFtZSBOMiwgdHlwZW5hbWUgTjMKKyAgICA+CitzdHJ1Y3QgcGx1czwgTjEsTjIsTjMsbmEsbmEgPgorCisgICAgOiBwbHVzPCBwbHVzPCBOMSxOMiA+LCBOMz4KK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUX1NQRUMoCisgICAgICAgICAgNQorICAgICAgICAsIHBsdXMKKyAgICAgICAgLCAoIE4xLCBOMiwgTjMsIG5hLCBuYSApCisgICAgICAgICkKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgTjEsIHR5cGVuYW1lIE4yCisgICAgPgorc3RydWN0IHBsdXM8IE4xLE4yLG5hLG5hLG5hID4KKyAgICA6IHBsdXNfaW1wbDwKKyAgICAgICAgICB0eXBlbmFtZSBwbHVzX3RhZzxOMT46OnR5cGUKKyAgICAgICAgLCB0eXBlbmFtZSBwbHVzX3RhZzxOMj46OnR5cGUKKyAgICAgICAgPjo6dGVtcGxhdGUgYXBwbHk8IE4xLE4yID46OnR5cGUKK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUX1NQRUMoCisgICAgICAgICAgNQorICAgICAgICAsIHBsdXMKKyAgICAgICAgLCAoIE4xLCBOMiwgbmEsIG5hLCBuYSApCisgICAgICAgICkKKworfTsKKworQk9PU1RfTVBMX0FVWF9OQV9TUEVDMigyLCA1LCBwbHVzKQorCit9fQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKK3RlbXBsYXRlPD4KK3N0cnVjdCBwbHVzX2ltcGw8IGludGVncmFsX2NfdGFnLGludGVncmFsX2NfdGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgTjEsIHR5cGVuYW1lIE4yID4gc3RydWN0IGFwcGx5CisKKyAgICAgICAgOiBpbnRlZ3JhbF9jPAorICAgICAgICAgICAgICB0eXBlbmFtZSBhdXg6Omxhcmdlc3RfaW50PAorICAgICAgICAgICAgICAgICAgdHlwZW5hbWUgTjE6OnZhbHVlX3R5cGUKKyAgICAgICAgICAgICAgICAsIHR5cGVuYW1lIE4yOjp2YWx1ZV90eXBlCisgICAgICAgICAgICAgICAgPjo6dHlwZQorICAgICAgICAgICAgLCAoIEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChOMSk6OnZhbHVlCisgICAgICAgICAgICAgICAgICArIEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChOMik6OnZhbHVlCisgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgPgorICAgIHsKKyAgICB9OworfTsKKworfX0KZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9wbGFpbi9xdW90ZS5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvcGxhaW4vcXVvdGUuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhjZTc5ZWQKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvcGxhaW4vcXVvdGUuaHBwCkBAIC0wLDAgKzEsMTIzIEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9xdW90ZS5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFQsIGJvb2wgaGFzX3R5cGVfID4KK3N0cnVjdCBxdW90ZV9pbXBsCisgICAgOiBUCit7Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVCA+CitzdHJ1Y3QgcXVvdGVfaW1wbDwgVCxmYWxzZSA+Cit7CisgICAgdHlwZWRlZiBUIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBQMSA+IGNsYXNzIEYKKyAgICAsIHR5cGVuYW1lIFRhZyA9IHZvaWRfCisgICAgPgorc3RydWN0IHF1b3RlMQoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSA+IHN0cnVjdCBhcHBseQorCisgICAgICAgIDogcXVvdGVfaW1wbDwKKyAgICAgICAgICAgICAgRjxVMT4KKyAgICAgICAgICAgICwgYXV4OjpoYXNfdHlwZTwgRjxVMT4gPjo6dmFsdWUKKyAgICAgICAgICAgID4KKworICAgIHsKKyAgICB9OworfTsKKwordGVtcGxhdGU8CisgICAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgUDEsIHR5cGVuYW1lIFAyID4gY2xhc3MgRgorICAgICwgdHlwZW5hbWUgVGFnID0gdm9pZF8KKyAgICA+CitzdHJ1Y3QgcXVvdGUyCit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorCisgICAgICAgIDogcXVvdGVfaW1wbDwKKyAgICAgICAgICAgICAgRjwgVTEsVTIgPgorICAgICAgICAgICAgLCBhdXg6Omhhc190eXBlPCBGPCBVMSxVMiA+ID46OnZhbHVlCisgICAgICAgICAgICA+CisKKyAgICB7CisgICAgfTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFAxLCB0eXBlbmFtZSBQMiwgdHlwZW5hbWUgUDMgPiBjbGFzcyBGCisgICAgLCB0eXBlbmFtZSBUYWcgPSB2b2lkXworICAgID4KK3N0cnVjdCBxdW90ZTMKK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyLCB0eXBlbmFtZSBVMyA+IHN0cnVjdCBhcHBseQorCisgICAgICAgIDogcXVvdGVfaW1wbDwKKyAgICAgICAgICAgICAgRjwgVTEsVTIsVTMgPgorICAgICAgICAgICAgLCBhdXg6Omhhc190eXBlPCBGPCBVMSxVMixVMyA+ID46OnZhbHVlCisgICAgICAgICAgICA+CisKKyAgICB7CisgICAgfTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFAxLCB0eXBlbmFtZSBQMiwgdHlwZW5hbWUgUDMsIHR5cGVuYW1lIFA0ID4gY2xhc3MgRgorICAgICwgdHlwZW5hbWUgVGFnID0gdm9pZF8KKyAgICA+CitzdHJ1Y3QgcXVvdGU0Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyLCB0eXBlbmFtZSBVMywgdHlwZW5hbWUgVTQKKyAgICAgICAgPgorICAgIHN0cnVjdCBhcHBseQorCisgICAgICAgIDogcXVvdGVfaW1wbDwKKyAgICAgICAgICAgICAgRjwgVTEsVTIsVTMsVTQgPgorICAgICAgICAgICAgLCBhdXg6Omhhc190eXBlPCBGPCBVMSxVMixVMyxVNCA+ID46OnZhbHVlCisgICAgICAgICAgICA+CisKKyAgICB7CisgICAgfTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdGVtcGxhdGU8CisgICAgICAgICAgdHlwZW5hbWUgUDEsIHR5cGVuYW1lIFAyLCB0eXBlbmFtZSBQMywgdHlwZW5hbWUgUDQKKyAgICAgICAgLCB0eXBlbmFtZSBQNQorICAgICAgICA+CisgICAgICBjbGFzcyBGCisgICAgLCB0eXBlbmFtZSBUYWcgPSB2b2lkXworICAgID4KK3N0cnVjdCBxdW90ZTUKK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIsIHR5cGVuYW1lIFUzLCB0eXBlbmFtZSBVNAorICAgICAgICAsIHR5cGVuYW1lIFU1CisgICAgICAgID4KKyAgICBzdHJ1Y3QgYXBwbHkKKworICAgICAgICA6IHF1b3RlX2ltcGw8CisgICAgICAgICAgICAgIEY8IFUxLFUyLFUzLFU0LFU1ID4KKyAgICAgICAgICAgICwgYXV4OjpoYXNfdHlwZTwgRjwgVTEsVTIsVTMsVTQsVTUgPiA+Ojp2YWx1ZQorICAgICAgICAgICAgPgorCisgICAgeworICAgIH07Cit9OworCit9fQorCmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvcGxhaW4vcmV2ZXJzZV9mb2xkX2ltcGwuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL3BsYWluL3JldmVyc2VfZm9sZF9pbXBsLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZDNhZDc1Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL3BsYWluL3JldmVyc2VfZm9sZF9pbXBsLmhwcApAQCAtMCwwICsxLDIzMSBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvYXV4Xy9yZXZlcnNlX2ZvbGRfaW1wbC5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsgbmFtZXNwYWNlIGF1eCB7CisKKy8vLyBmb3J3YXJkIGRlY2xhcmF0aW9uCisKK3RlbXBsYXRlPAorICAgICAgbG9uZyBOCisgICAgLCB0eXBlbmFtZSBGaXJzdAorICAgICwgdHlwZW5hbWUgTGFzdAorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEJhY2t3YXJkT3AKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgID4KK3N0cnVjdCByZXZlcnNlX2ZvbGRfaW1wbDsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGaXJzdAorICAgICwgdHlwZW5hbWUgTGFzdAorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEJhY2t3YXJkT3AKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgID4KK3N0cnVjdCByZXZlcnNlX2ZvbGRfaW1wbDwgMCxGaXJzdCxMYXN0LFN0YXRlLEJhY2t3YXJkT3AsRm9yd2FyZE9wID4KK3sKKyAgICB0eXBlZGVmIEZpcnN0IGl0ZXIwOworICAgIHR5cGVkZWYgU3RhdGUgZndkX3N0YXRlMDsKKyAgICB0eXBlZGVmIGZ3ZF9zdGF0ZTAgYmt3ZF9zdGF0ZTA7CisgICAgdHlwZWRlZiBia3dkX3N0YXRlMCBzdGF0ZTsKKyAgICB0eXBlZGVmIGl0ZXIwIGl0ZXJhdG9yOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGaXJzdAorICAgICwgdHlwZW5hbWUgTGFzdAorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEJhY2t3YXJkT3AKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgID4KK3N0cnVjdCByZXZlcnNlX2ZvbGRfaW1wbDwgMSxGaXJzdCxMYXN0LFN0YXRlLEJhY2t3YXJkT3AsRm9yd2FyZE9wID4KK3sKKyAgICB0eXBlZGVmIEZpcnN0IGl0ZXIwOworICAgIHR5cGVkZWYgU3RhdGUgZndkX3N0YXRlMDsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLCBmd2Rfc3RhdGUwLCB0eXBlbmFtZSBkZXJlZjxpdGVyMD46OnR5cGUgPjo6dHlwZSBmd2Rfc3RhdGUxOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIwPjo6dHlwZSBpdGVyMTsKKyAgICAKKworICAgIHR5cGVkZWYgZndkX3N0YXRlMSBia3dkX3N0YXRlMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgQmFja3dhcmRPcCwgYmt3ZF9zdGF0ZTEsIHR5cGVuYW1lIGRlcmVmPGl0ZXIwPjo6dHlwZSA+Ojp0eXBlIGJrd2Rfc3RhdGUwOworICAgIHR5cGVkZWYgYmt3ZF9zdGF0ZTAgc3RhdGU7CisgICAgdHlwZWRlZiBpdGVyMSBpdGVyYXRvcjsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBCYWNrd2FyZE9wCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+CitzdHJ1Y3QgcmV2ZXJzZV9mb2xkX2ltcGw8IDIsRmlyc3QsTGFzdCxTdGF0ZSxCYWNrd2FyZE9wLEZvcndhcmRPcCA+Cit7CisgICAgdHlwZWRlZiBGaXJzdCBpdGVyMDsKKyAgICB0eXBlZGVmIFN0YXRlIGZ3ZF9zdGF0ZTA7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCwgZndkX3N0YXRlMCwgdHlwZW5hbWUgZGVyZWY8aXRlcjA+Ojp0eXBlID46OnR5cGUgZndkX3N0YXRlMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMD46OnR5cGUgaXRlcjE7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCwgZndkX3N0YXRlMSwgdHlwZW5hbWUgZGVyZWY8aXRlcjE+Ojp0eXBlID46OnR5cGUgZndkX3N0YXRlMjsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMT46OnR5cGUgaXRlcjI7CisgICAgCisKKyAgICB0eXBlZGVmIGZ3ZF9zdGF0ZTIgYmt3ZF9zdGF0ZTI7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEJhY2t3YXJkT3AsIGJrd2Rfc3RhdGUyLCB0eXBlbmFtZSBkZXJlZjxpdGVyMT46OnR5cGUgPjo6dHlwZSBia3dkX3N0YXRlMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgQmFja3dhcmRPcCwgYmt3ZF9zdGF0ZTEsIHR5cGVuYW1lIGRlcmVmPGl0ZXIwPjo6dHlwZSA+Ojp0eXBlIGJrd2Rfc3RhdGUwOworICAgIAorCisgICAgdHlwZWRlZiBia3dkX3N0YXRlMCBzdGF0ZTsKKyAgICB0eXBlZGVmIGl0ZXIyIGl0ZXJhdG9yOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGaXJzdAorICAgICwgdHlwZW5hbWUgTGFzdAorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEJhY2t3YXJkT3AKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgID4KK3N0cnVjdCByZXZlcnNlX2ZvbGRfaW1wbDwgMyxGaXJzdCxMYXN0LFN0YXRlLEJhY2t3YXJkT3AsRm9yd2FyZE9wID4KK3sKKyAgICB0eXBlZGVmIEZpcnN0IGl0ZXIwOworICAgIHR5cGVkZWYgU3RhdGUgZndkX3N0YXRlMDsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLCBmd2Rfc3RhdGUwLCB0eXBlbmFtZSBkZXJlZjxpdGVyMD46OnR5cGUgPjo6dHlwZSBmd2Rfc3RhdGUxOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIwPjo6dHlwZSBpdGVyMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLCBmd2Rfc3RhdGUxLCB0eXBlbmFtZSBkZXJlZjxpdGVyMT46OnR5cGUgPjo6dHlwZSBmd2Rfc3RhdGUyOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIxPjo6dHlwZSBpdGVyMjsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgRm9yd2FyZE9wLCBmd2Rfc3RhdGUyLCB0eXBlbmFtZSBkZXJlZjxpdGVyMj46OnR5cGUgPjo6dHlwZSBmd2Rfc3RhdGUzOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpuZXh0PGl0ZXIyPjo6dHlwZSBpdGVyMzsKKyAgICAKKworICAgIHR5cGVkZWYgZndkX3N0YXRlMyBia3dkX3N0YXRlMzsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgQmFja3dhcmRPcCwgYmt3ZF9zdGF0ZTMsIHR5cGVuYW1lIGRlcmVmPGl0ZXIyPjo6dHlwZSA+Ojp0eXBlIGJrd2Rfc3RhdGUyOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLCBia3dkX3N0YXRlMiwgdHlwZW5hbWUgZGVyZWY8aXRlcjE+Ojp0eXBlID46OnR5cGUgYmt3ZF9zdGF0ZTE7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEJhY2t3YXJkT3AsIGJrd2Rfc3RhdGUxLCB0eXBlbmFtZSBkZXJlZjxpdGVyMD46OnR5cGUgPjo6dHlwZSBia3dkX3N0YXRlMDsKKyAgICAKKworICAgIHR5cGVkZWYgYmt3ZF9zdGF0ZTAgc3RhdGU7CisgICAgdHlwZWRlZiBpdGVyMyBpdGVyYXRvcjsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBCYWNrd2FyZE9wCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+CitzdHJ1Y3QgcmV2ZXJzZV9mb2xkX2ltcGw8IDQsRmlyc3QsTGFzdCxTdGF0ZSxCYWNrd2FyZE9wLEZvcndhcmRPcCA+Cit7CisgICAgdHlwZWRlZiBGaXJzdCBpdGVyMDsKKyAgICB0eXBlZGVmIFN0YXRlIGZ3ZF9zdGF0ZTA7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCwgZndkX3N0YXRlMCwgdHlwZW5hbWUgZGVyZWY8aXRlcjA+Ojp0eXBlID46OnR5cGUgZndkX3N0YXRlMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMD46OnR5cGUgaXRlcjE7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCwgZndkX3N0YXRlMSwgdHlwZW5hbWUgZGVyZWY8aXRlcjE+Ojp0eXBlID46OnR5cGUgZndkX3N0YXRlMjsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMT46OnR5cGUgaXRlcjI7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCwgZndkX3N0YXRlMiwgdHlwZW5hbWUgZGVyZWY8aXRlcjI+Ojp0eXBlID46OnR5cGUgZndkX3N0YXRlMzsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMj46OnR5cGUgaXRlcjM7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCwgZndkX3N0YXRlMywgdHlwZW5hbWUgZGVyZWY8aXRlcjM+Ojp0eXBlID46OnR5cGUgZndkX3N0YXRlNDsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMz46OnR5cGUgaXRlcjQ7CisgICAgCisKKyAgICB0eXBlZGVmIGZ3ZF9zdGF0ZTQgYmt3ZF9zdGF0ZTQ7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEJhY2t3YXJkT3AsIGJrd2Rfc3RhdGU0LCB0eXBlbmFtZSBkZXJlZjxpdGVyMz46OnR5cGUgPjo6dHlwZSBia3dkX3N0YXRlMzsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgQmFja3dhcmRPcCwgYmt3ZF9zdGF0ZTMsIHR5cGVuYW1lIGRlcmVmPGl0ZXIyPjo6dHlwZSA+Ojp0eXBlIGJrd2Rfc3RhdGUyOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLCBia3dkX3N0YXRlMiwgdHlwZW5hbWUgZGVyZWY8aXRlcjE+Ojp0eXBlID46OnR5cGUgYmt3ZF9zdGF0ZTE7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEJhY2t3YXJkT3AsIGJrd2Rfc3RhdGUxLCB0eXBlbmFtZSBkZXJlZjxpdGVyMD46OnR5cGUgPjo6dHlwZSBia3dkX3N0YXRlMDsKKyAgICAKKworICAgIHR5cGVkZWYgYmt3ZF9zdGF0ZTAgc3RhdGU7CisgICAgdHlwZWRlZiBpdGVyNCBpdGVyYXRvcjsKK307CisKK3RlbXBsYXRlPAorICAgICAgbG9uZyBOCisgICAgLCB0eXBlbmFtZSBGaXJzdAorICAgICwgdHlwZW5hbWUgTGFzdAorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEJhY2t3YXJkT3AKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgID4KK3N0cnVjdCByZXZlcnNlX2ZvbGRfaW1wbAoreworICAgIHR5cGVkZWYgRmlyc3QgaXRlcjA7CisgICAgdHlwZWRlZiBTdGF0ZSBmd2Rfc3RhdGUwOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsIGZ3ZF9zdGF0ZTAsIHR5cGVuYW1lIGRlcmVmPGl0ZXIwPjo6dHlwZSA+Ojp0eXBlIGZ3ZF9zdGF0ZTE7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjA+Ojp0eXBlIGl0ZXIxOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsIGZ3ZF9zdGF0ZTEsIHR5cGVuYW1lIGRlcmVmPGl0ZXIxPjo6dHlwZSA+Ojp0eXBlIGZ3ZF9zdGF0ZTI7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjE+Ojp0eXBlIGl0ZXIyOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsIGZ3ZF9zdGF0ZTIsIHR5cGVuYW1lIGRlcmVmPGl0ZXIyPjo6dHlwZSA+Ojp0eXBlIGZ3ZF9zdGF0ZTM7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjI+Ojp0eXBlIGl0ZXIzOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsIGZ3ZF9zdGF0ZTMsIHR5cGVuYW1lIGRlcmVmPGl0ZXIzPjo6dHlwZSA+Ojp0eXBlIGZ3ZF9zdGF0ZTQ7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjM+Ojp0eXBlIGl0ZXI0OworICAgIAorCisgICAgdHlwZWRlZiByZXZlcnNlX2ZvbGRfaW1wbDwKKyAgICAgICAgICAoIChOIC0gNCkgPCAwID8gMCA6IE4gLSA0ICkKKyAgICAgICAgLCBpdGVyNAorICAgICAgICAsIExhc3QKKyAgICAgICAgLCBmd2Rfc3RhdGU0CisgICAgICAgICwgQmFja3dhcmRPcAorICAgICAgICAsIEZvcndhcmRPcAorICAgICAgICA+IG5lc3RlZF9jaHVuazsKKworICAgIHR5cGVkZWYgdHlwZW5hbWUgbmVzdGVkX2NodW5rOjpzdGF0ZSBia3dkX3N0YXRlNDsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgQmFja3dhcmRPcCwgYmt3ZF9zdGF0ZTQsIHR5cGVuYW1lIGRlcmVmPGl0ZXIzPjo6dHlwZSA+Ojp0eXBlIGJrd2Rfc3RhdGUzOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLCBia3dkX3N0YXRlMywgdHlwZW5hbWUgZGVyZWY8aXRlcjI+Ojp0eXBlID46OnR5cGUgYmt3ZF9zdGF0ZTI7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEJhY2t3YXJkT3AsIGJrd2Rfc3RhdGUyLCB0eXBlbmFtZSBkZXJlZjxpdGVyMT46OnR5cGUgPjo6dHlwZSBia3dkX3N0YXRlMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgQmFja3dhcmRPcCwgYmt3ZF9zdGF0ZTEsIHR5cGVuYW1lIGRlcmVmPGl0ZXIwPjo6dHlwZSA+Ojp0eXBlIGJrd2Rfc3RhdGUwOworICAgIAorCisgICAgdHlwZWRlZiBia3dkX3N0YXRlMCBzdGF0ZTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG5lc3RlZF9jaHVuazo6aXRlcmF0b3IgaXRlcmF0b3I7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICwgdHlwZW5hbWUgQmFja3dhcmRPcAorICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgPgorc3RydWN0IHJldmVyc2VfZm9sZF9pbXBsPCAtMSxGaXJzdCxMYXN0LFN0YXRlLEJhY2t3YXJkT3AsRm9yd2FyZE9wID4KK3sKKyAgICB0eXBlZGVmIHJldmVyc2VfZm9sZF9pbXBsPAorICAgICAgICAgIC0xCisgICAgICAgICwgdHlwZW5hbWUgbXBsOjpuZXh0PEZpcnN0Pjo6dHlwZQorICAgICAgICAsIExhc3QKKyAgICAgICAgLCB0eXBlbmFtZSBhcHBseTI8Rm9yd2FyZE9wLFN0YXRlLCB0eXBlbmFtZSBkZXJlZjxGaXJzdD46OnR5cGU+Ojp0eXBlCisgICAgICAgICwgQmFja3dhcmRPcAorICAgICAgICAsIEZvcndhcmRPcAorICAgICAgICA+IG5lc3RlZF9zdGVwOworCisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8CisgICAgICAgICAgQmFja3dhcmRPcAorICAgICAgICAsIHR5cGVuYW1lIG5lc3RlZF9zdGVwOjpzdGF0ZQorICAgICAgICAsIHR5cGVuYW1lIGRlcmVmPEZpcnN0Pjo6dHlwZQorICAgICAgICA+Ojp0eXBlIHN0YXRlOworCisgICAgdHlwZWRlZiB0eXBlbmFtZSBuZXN0ZWRfc3RlcDo6aXRlcmF0b3IgaXRlcmF0b3I7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBCYWNrd2FyZE9wCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+CitzdHJ1Y3QgcmV2ZXJzZV9mb2xkX2ltcGw8IC0xLExhc3QsTGFzdCxTdGF0ZSxCYWNrd2FyZE9wLEZvcndhcmRPcCA+Cit7CisgICAgdHlwZWRlZiBTdGF0ZSBzdGF0ZTsKKyAgICB0eXBlZGVmIExhc3QgaXRlcmF0b3I7Cit9OworCit9fX0KZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9wbGFpbi9yZXZlcnNlX2l0ZXJfZm9sZF9pbXBsLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9wbGFpbi9yZXZlcnNlX2l0ZXJfZm9sZF9pbXBsLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zM2JmNTA4Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL3BsYWluL3JldmVyc2VfaXRlcl9mb2xkX2ltcGwuaHBwCkBAIC0wLDAgKzEsMjMxIEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9hdXhfL3JldmVyc2VfaXRlcl9mb2xkX2ltcGwuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7IG5hbWVzcGFjZSBhdXggeworCisvLy8gZm9yd2FyZCBkZWNsYXJhdGlvbgorCit0ZW1wbGF0ZTwKKyAgICAgIGxvbmcgTgorICAgICwgdHlwZW5hbWUgRmlyc3QKKyAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBCYWNrd2FyZE9wCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+CitzdHJ1Y3QgcmV2ZXJzZV9pdGVyX2ZvbGRfaW1wbDsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGaXJzdAorICAgICwgdHlwZW5hbWUgTGFzdAorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEJhY2t3YXJkT3AKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgID4KK3N0cnVjdCByZXZlcnNlX2l0ZXJfZm9sZF9pbXBsPCAwLEZpcnN0LExhc3QsU3RhdGUsQmFja3dhcmRPcCxGb3J3YXJkT3AgPgoreworICAgIHR5cGVkZWYgRmlyc3QgaXRlcjA7CisgICAgdHlwZWRlZiBTdGF0ZSBmd2Rfc3RhdGUwOworICAgIHR5cGVkZWYgZndkX3N0YXRlMCBia3dkX3N0YXRlMDsKKyAgICB0eXBlZGVmIGJrd2Rfc3RhdGUwIHN0YXRlOworICAgIHR5cGVkZWYgaXRlcjAgaXRlcmF0b3I7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICwgdHlwZW5hbWUgQmFja3dhcmRPcAorICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgPgorc3RydWN0IHJldmVyc2VfaXRlcl9mb2xkX2ltcGw8IDEsRmlyc3QsTGFzdCxTdGF0ZSxCYWNrd2FyZE9wLEZvcndhcmRPcCA+Cit7CisgICAgdHlwZWRlZiBGaXJzdCBpdGVyMDsKKyAgICB0eXBlZGVmIFN0YXRlIGZ3ZF9zdGF0ZTA7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCxmd2Rfc3RhdGUwLGl0ZXIwID46OnR5cGUgZndkX3N0YXRlMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMD46OnR5cGUgaXRlcjE7CisgICAgCisKKyAgICB0eXBlZGVmIGZ3ZF9zdGF0ZTEgYmt3ZF9zdGF0ZTE7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEJhY2t3YXJkT3AsYmt3ZF9zdGF0ZTEsaXRlcjAgPjo6dHlwZSBia3dkX3N0YXRlMDsKKyAgICB0eXBlZGVmIGJrd2Rfc3RhdGUwIHN0YXRlOworICAgIHR5cGVkZWYgaXRlcjEgaXRlcmF0b3I7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICwgdHlwZW5hbWUgQmFja3dhcmRPcAorICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgPgorc3RydWN0IHJldmVyc2VfaXRlcl9mb2xkX2ltcGw8IDIsRmlyc3QsTGFzdCxTdGF0ZSxCYWNrd2FyZE9wLEZvcndhcmRPcCA+Cit7CisgICAgdHlwZWRlZiBGaXJzdCBpdGVyMDsKKyAgICB0eXBlZGVmIFN0YXRlIGZ3ZF9zdGF0ZTA7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCxmd2Rfc3RhdGUwLGl0ZXIwID46OnR5cGUgZndkX3N0YXRlMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMD46OnR5cGUgaXRlcjE7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCxmd2Rfc3RhdGUxLGl0ZXIxID46OnR5cGUgZndkX3N0YXRlMjsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6bmV4dDxpdGVyMT46OnR5cGUgaXRlcjI7CisgICAgCisKKyAgICB0eXBlZGVmIGZ3ZF9zdGF0ZTIgYmt3ZF9zdGF0ZTI7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEJhY2t3YXJkT3AsYmt3ZF9zdGF0ZTIsaXRlcjEgPjo6dHlwZSBia3dkX3N0YXRlMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgQmFja3dhcmRPcCxia3dkX3N0YXRlMSxpdGVyMCA+Ojp0eXBlIGJrd2Rfc3RhdGUwOworICAgIAorCisgICAgdHlwZWRlZiBia3dkX3N0YXRlMCBzdGF0ZTsKKyAgICB0eXBlZGVmIGl0ZXIyIGl0ZXJhdG9yOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGaXJzdAorICAgICwgdHlwZW5hbWUgTGFzdAorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEJhY2t3YXJkT3AKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgID4KK3N0cnVjdCByZXZlcnNlX2l0ZXJfZm9sZF9pbXBsPCAzLEZpcnN0LExhc3QsU3RhdGUsQmFja3dhcmRPcCxGb3J3YXJkT3AgPgoreworICAgIHR5cGVkZWYgRmlyc3QgaXRlcjA7CisgICAgdHlwZWRlZiBTdGF0ZSBmd2Rfc3RhdGUwOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsZndkX3N0YXRlMCxpdGVyMCA+Ojp0eXBlIGZ3ZF9zdGF0ZTE7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjA+Ojp0eXBlIGl0ZXIxOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsZndkX3N0YXRlMSxpdGVyMSA+Ojp0eXBlIGZ3ZF9zdGF0ZTI7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjE+Ojp0eXBlIGl0ZXIyOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsZndkX3N0YXRlMixpdGVyMiA+Ojp0eXBlIGZ3ZF9zdGF0ZTM7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjI+Ojp0eXBlIGl0ZXIzOworICAgIAorCisgICAgdHlwZWRlZiBmd2Rfc3RhdGUzIGJrd2Rfc3RhdGUzOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLGJrd2Rfc3RhdGUzLGl0ZXIyID46OnR5cGUgYmt3ZF9zdGF0ZTI7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEJhY2t3YXJkT3AsYmt3ZF9zdGF0ZTIsaXRlcjEgPjo6dHlwZSBia3dkX3N0YXRlMTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgQmFja3dhcmRPcCxia3dkX3N0YXRlMSxpdGVyMCA+Ojp0eXBlIGJrd2Rfc3RhdGUwOworICAgIAorCisgICAgdHlwZWRlZiBia3dkX3N0YXRlMCBzdGF0ZTsKKyAgICB0eXBlZGVmIGl0ZXIzIGl0ZXJhdG9yOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGaXJzdAorICAgICwgdHlwZW5hbWUgTGFzdAorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEJhY2t3YXJkT3AKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgID4KK3N0cnVjdCByZXZlcnNlX2l0ZXJfZm9sZF9pbXBsPCA0LEZpcnN0LExhc3QsU3RhdGUsQmFja3dhcmRPcCxGb3J3YXJkT3AgPgoreworICAgIHR5cGVkZWYgRmlyc3QgaXRlcjA7CisgICAgdHlwZWRlZiBTdGF0ZSBmd2Rfc3RhdGUwOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsZndkX3N0YXRlMCxpdGVyMCA+Ojp0eXBlIGZ3ZF9zdGF0ZTE7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjA+Ojp0eXBlIGl0ZXIxOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsZndkX3N0YXRlMSxpdGVyMSA+Ojp0eXBlIGZ3ZF9zdGF0ZTI7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjE+Ojp0eXBlIGl0ZXIyOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsZndkX3N0YXRlMixpdGVyMiA+Ojp0eXBlIGZ3ZF9zdGF0ZTM7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjI+Ojp0eXBlIGl0ZXIzOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsZndkX3N0YXRlMyxpdGVyMyA+Ojp0eXBlIGZ3ZF9zdGF0ZTQ7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjM+Ojp0eXBlIGl0ZXI0OworICAgIAorCisgICAgdHlwZWRlZiBmd2Rfc3RhdGU0IGJrd2Rfc3RhdGU0OworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLGJrd2Rfc3RhdGU0LGl0ZXIzID46OnR5cGUgYmt3ZF9zdGF0ZTM7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEJhY2t3YXJkT3AsYmt3ZF9zdGF0ZTMsaXRlcjIgPjo6dHlwZSBia3dkX3N0YXRlMjsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgQmFja3dhcmRPcCxia3dkX3N0YXRlMixpdGVyMSA+Ojp0eXBlIGJrd2Rfc3RhdGUxOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLGJrd2Rfc3RhdGUxLGl0ZXIwID46OnR5cGUgYmt3ZF9zdGF0ZTA7CisgICAgCisKKyAgICB0eXBlZGVmIGJrd2Rfc3RhdGUwIHN0YXRlOworICAgIHR5cGVkZWYgaXRlcjQgaXRlcmF0b3I7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIGxvbmcgTgorICAgICwgdHlwZW5hbWUgRmlyc3QKKyAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBCYWNrd2FyZE9wCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+CitzdHJ1Y3QgcmV2ZXJzZV9pdGVyX2ZvbGRfaW1wbAoreworICAgIHR5cGVkZWYgRmlyc3QgaXRlcjA7CisgICAgdHlwZWRlZiBTdGF0ZSBmd2Rfc3RhdGUwOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsZndkX3N0YXRlMCxpdGVyMCA+Ojp0eXBlIGZ3ZF9zdGF0ZTE7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjA+Ojp0eXBlIGl0ZXIxOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsZndkX3N0YXRlMSxpdGVyMSA+Ojp0eXBlIGZ3ZF9zdGF0ZTI7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjE+Ojp0eXBlIGl0ZXIyOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsZndkX3N0YXRlMixpdGVyMiA+Ojp0eXBlIGZ3ZF9zdGF0ZTM7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjI+Ojp0eXBlIGl0ZXIzOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBGb3J3YXJkT3AsZndkX3N0YXRlMyxpdGVyMyA+Ojp0eXBlIGZ3ZF9zdGF0ZTQ7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8aXRlcjM+Ojp0eXBlIGl0ZXI0OworICAgIAorCisgICAgdHlwZWRlZiByZXZlcnNlX2l0ZXJfZm9sZF9pbXBsPAorICAgICAgICAgICggKE4gLSA0KSA8IDAgPyAwIDogTiAtIDQgKQorICAgICAgICAsIGl0ZXI0CisgICAgICAgICwgTGFzdAorICAgICAgICAsIGZ3ZF9zdGF0ZTQKKyAgICAgICAgLCBCYWNrd2FyZE9wCisgICAgICAgICwgRm9yd2FyZE9wCisgICAgICAgID4gbmVzdGVkX2NodW5rOworCisgICAgdHlwZWRlZiB0eXBlbmFtZSBuZXN0ZWRfY2h1bms6OnN0YXRlIGJrd2Rfc3RhdGU0OworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLGJrd2Rfc3RhdGU0LGl0ZXIzID46OnR5cGUgYmt3ZF9zdGF0ZTM7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IEJhY2t3YXJkT3AsYmt3ZF9zdGF0ZTMsaXRlcjIgPjo6dHlwZSBia3dkX3N0YXRlMjsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwgQmFja3dhcmRPcCxia3dkX3N0YXRlMixpdGVyMSA+Ojp0eXBlIGJrd2Rfc3RhdGUxOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBCYWNrd2FyZE9wLGJrd2Rfc3RhdGUxLGl0ZXIwID46OnR5cGUgYmt3ZF9zdGF0ZTA7CisgICAgCisKKyAgICB0eXBlZGVmIGJrd2Rfc3RhdGUwIHN0YXRlOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbmVzdGVkX2NodW5rOjppdGVyYXRvciBpdGVyYXRvcjsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBCYWNrd2FyZE9wCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+CitzdHJ1Y3QgcmV2ZXJzZV9pdGVyX2ZvbGRfaW1wbDwgLTEsRmlyc3QsTGFzdCxTdGF0ZSxCYWNrd2FyZE9wLEZvcndhcmRPcCA+Cit7CisgICAgdHlwZWRlZiByZXZlcnNlX2l0ZXJfZm9sZF9pbXBsPAorICAgICAgICAgIC0xCisgICAgICAgICwgdHlwZW5hbWUgbXBsOjpuZXh0PEZpcnN0Pjo6dHlwZQorICAgICAgICAsIExhc3QKKyAgICAgICAgLCB0eXBlbmFtZSBhcHBseTI8IEZvcndhcmRPcCxTdGF0ZSxGaXJzdCA+Ojp0eXBlCisgICAgICAgICwgQmFja3dhcmRPcAorICAgICAgICAsIEZvcndhcmRPcAorICAgICAgICA+IG5lc3RlZF9zdGVwOworCisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8CisgICAgICAgICAgQmFja3dhcmRPcAorICAgICAgICAsIHR5cGVuYW1lIG5lc3RlZF9zdGVwOjpzdGF0ZQorICAgICAgICAsIEZpcnN0CisgICAgICAgID46OnR5cGUgc3RhdGU7CisKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG5lc3RlZF9zdGVwOjppdGVyYXRvciBpdGVyYXRvcjsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgTGFzdAorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEJhY2t3YXJkT3AKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgID4KK3N0cnVjdCByZXZlcnNlX2l0ZXJfZm9sZF9pbXBsPCAtMSxMYXN0LExhc3QsU3RhdGUsQmFja3dhcmRPcCxGb3J3YXJkT3AgPgoreworICAgIHR5cGVkZWYgU3RhdGUgc3RhdGU7CisgICAgdHlwZWRlZiBMYXN0IGl0ZXJhdG9yOworfTsKKworfX19CmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvcGxhaW4vc2V0LmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9wbGFpbi9zZXQuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRjNGNhMTEKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvcGxhaW4vc2V0LmhwcApAQCAtMCwwICsxLDMyMyBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvc2V0LmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwID0gbmEsIHR5cGVuYW1lIFQxID0gbmEsIHR5cGVuYW1lIFQyID0gbmEsIHR5cGVuYW1lIFQzID0gbmEKKyAgICAsIHR5cGVuYW1lIFQ0ID0gbmEsIHR5cGVuYW1lIFQ1ID0gbmEsIHR5cGVuYW1lIFQ2ID0gbmEsIHR5cGVuYW1lIFQ3ID0gbmEKKyAgICAsIHR5cGVuYW1lIFQ4ID0gbmEsIHR5cGVuYW1lIFQ5ID0gbmEsIHR5cGVuYW1lIFQxMCA9IG5hLCB0eXBlbmFtZSBUMTEgPSBuYQorICAgICwgdHlwZW5hbWUgVDEyID0gbmEsIHR5cGVuYW1lIFQxMyA9IG5hLCB0eXBlbmFtZSBUMTQgPSBuYQorICAgICwgdHlwZW5hbWUgVDE1ID0gbmEsIHR5cGVuYW1lIFQxNiA9IG5hLCB0eXBlbmFtZSBUMTcgPSBuYQorICAgICwgdHlwZW5hbWUgVDE4ID0gbmEsIHR5cGVuYW1lIFQxOSA9IG5hCisgICAgPgorc3RydWN0IHNldDsKKwordGVtcGxhdGU8CisgICAgIAorICAgID4KK3N0cnVjdCBzZXQ8CisgICAgICAgICAgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBzZXQwPCAgPgoreworICAgIHR5cGVkZWYgc2V0MDwgID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAKKyAgICA+CitzdHJ1Y3Qgc2V0PAorICAgICAgICAgIFQwLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogc2V0MTxUMD4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDE8VDA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMQorICAgID4KK3N0cnVjdCBzZXQ8CisgICAgICAgICAgVDAsIFQxLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBzZXQyPCBUMCxUMSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQyPCBUMCxUMSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIKKyAgICA+CitzdHJ1Y3Qgc2V0PAorICAgICAgICAgIFQwLCBUMSwgVDIsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogc2V0MzwgVDAsVDEsVDIgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0MzwgVDAsVDEsVDIgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMworICAgID4KK3N0cnVjdCBzZXQ8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBzZXQ0PCBUMCxUMSxUMixUMyA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQ0PCBUMCxUMSxUMixUMyA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgID4KK3N0cnVjdCBzZXQ8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBzZXQ1PCBUMCxUMSxUMixUMyxUNCA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQ1PCBUMCxUMSxUMixUMyxUNCA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUKKyAgICA+CitzdHJ1Y3Qgc2V0PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogc2V0NjwgVDAsVDEsVDIsVDMsVDQsVDUgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0NjwgVDAsVDEsVDIsVDMsVDQsVDUgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNgorICAgID4KK3N0cnVjdCBzZXQ8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBzZXQ3PCBUMCxUMSxUMixUMyxUNCxUNSxUNiA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQ3PCBUMCxUMSxUMixUMyxUNCxUNSxUNiA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNworICAgID4KK3N0cnVjdCBzZXQ8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBzZXQ4PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQ4PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgKKyAgICA+CitzdHJ1Y3Qgc2V0PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogc2V0OTwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDggPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0OTwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDggPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgID4KK3N0cnVjdCBzZXQ8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBzZXQxMDwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDkgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0MTA8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMAorICAgID4KK3N0cnVjdCBzZXQ8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogc2V0MTE8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQxMTwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExCisgICAgPgorc3RydWN0IHNldDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogc2V0MTI8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0MTI8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMgorICAgID4KK3N0cnVjdCBzZXQ8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBzZXQxMzwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0MTM8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMworICAgID4KK3N0cnVjdCBzZXQ8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogc2V0MTQ8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQxNDwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgPgorc3RydWN0IHNldDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogc2V0MTU8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDE1PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMsVDE0ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgLCB0eXBlbmFtZSBUMTUKKyAgICA+CitzdHJ1Y3Qgc2V0PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogc2V0MTY8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDE2PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMsVDE0LFQxNSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYKKyAgICA+CitzdHJ1Y3Qgc2V0PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgVDE2LCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHNldDE3PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgVDE2CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDE3PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMsVDE0LFQxNSxUMTYgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcKKyAgICA+CitzdHJ1Y3Qgc2V0PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgVDE2LCBUMTcsIG5hLCBuYQorICAgICAgICA+CisgICAgOiBzZXQxODwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgLCBUMTUsIFQxNiwgVDE3CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDE4PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMsVDE0LFQxNSxUMTYsVDE3ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgKKyAgICA+CitzdHJ1Y3Qgc2V0PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgVDE2LCBUMTcsIFQxOCwgbmEKKyAgICAgICAgPgorICAgIDogc2V0MTk8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1LCBUMTYsIFQxNywgVDE4CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDE5PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMsVDE0LFQxNSxUMTYsVDE3LFQxOCA+Ojp0eXBlIHR5cGU7Cit9OworCisvLy8gcHJpbWFyeSB0ZW1wbGF0ZSAobm90IGEgc3BlY2lhbGl6YXRpb24hKQorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICA+CitzdHJ1Y3Qgc2V0CisgICAgOiBzZXQyMDwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgLCBUMTUsIFQxNiwgVDE3LCBUMTgsIFQxOQorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQyMDwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzLFQxNCxUMTUsVDE2LFQxNyxUMTgsVDE5ID46OnR5cGUgdHlwZTsKK307CisKK319CisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9wbGFpbi9zZXRfYy5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvcGxhaW4vc2V0X2MuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJlZjJmZGUKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvcGxhaW4vc2V0X2MuaHBwCkBAIC0wLDAgKzEsMzI4IEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9zZXRfYy5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwID0gTE9OR19NQVgsIGxvbmcgQzEgPSBMT05HX01BWCwgbG9uZyBDMiA9IExPTkdfTUFYCisgICAgLCBsb25nIEMzID0gTE9OR19NQVgsIGxvbmcgQzQgPSBMT05HX01BWCwgbG9uZyBDNSA9IExPTkdfTUFYCisgICAgLCBsb25nIEM2ID0gTE9OR19NQVgsIGxvbmcgQzcgPSBMT05HX01BWCwgbG9uZyBDOCA9IExPTkdfTUFYCisgICAgLCBsb25nIEM5ID0gTE9OR19NQVgsIGxvbmcgQzEwID0gTE9OR19NQVgsIGxvbmcgQzExID0gTE9OR19NQVgKKyAgICAsIGxvbmcgQzEyID0gTE9OR19NQVgsIGxvbmcgQzEzID0gTE9OR19NQVgsIGxvbmcgQzE0ID0gTE9OR19NQVgKKyAgICAsIGxvbmcgQzE1ID0gTE9OR19NQVgsIGxvbmcgQzE2ID0gTE9OR19NQVgsIGxvbmcgQzE3ID0gTE9OR19NQVgKKyAgICAsIGxvbmcgQzE4ID0gTE9OR19NQVgsIGxvbmcgQzE5ID0gTE9OR19NQVgKKyAgICA+CitzdHJ1Y3Qgc2V0X2M7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVAorICAgID4KK3N0cnVjdCBzZXRfYzwKKyAgICAgICAgICBULCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiBzZXQwX2M8VD4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDBfYzxUPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwCisgICAgPgorc3RydWN0IHNldF9jPAorICAgICAgICAgIFQsIEMwLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IHNldDFfYzwgVCxDMCA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQxX2M8IFQsQzAgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxCisgICAgPgorc3RydWN0IHNldF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IHNldDJfYzwgVCxDMCxDMSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQyX2M8IFQsQzAsQzEgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyCisgICAgPgorc3RydWN0IHNldF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IHNldDNfYzwgVCxDMCxDMSxDMiA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQzX2M8IFQsQzAsQzEsQzIgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzCisgICAgPgorc3RydWN0IHNldF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IHNldDRfYzwgVCxDMCxDMSxDMixDMyA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQ0X2M8IFQsQzAsQzEsQzIsQzMgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0CisgICAgPgorc3RydWN0IHNldF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IHNldDVfYzwgVCxDMCxDMSxDMixDMyxDNCA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQ1X2M8IFQsQzAsQzEsQzIsQzMsQzQgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgPgorc3RydWN0IHNldF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IHNldDZfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQ2X2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2CisgICAgPgorc3RydWN0IHNldF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IHNldDdfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNiA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQ3X2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3CisgICAgPgorc3RydWN0IHNldF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IHNldDhfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQ4X2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4CisgICAgPgorc3RydWN0IHNldF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IHNldDlfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyxDOCA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQ5X2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcsQzggPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5CisgICAgPgorc3RydWN0IHNldF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IHNldDEwX2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcsQzgsQzkgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0MTBfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyxDOCxDOSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwCisgICAgPgorc3RydWN0IHNldF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IHNldDExX2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcsQzgsQzksQzEwID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDExX2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcsQzgsQzksQzEwID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExCisgICAgPgorc3RydWN0IHNldF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiBzZXQxMl9jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2LEM3LEM4LEM5LEMxMCxDMTEgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0MTJfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyxDOCxDOSxDMTAsQzExID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgID4KK3N0cnVjdCBzZXRfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIEMxMiwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IHNldDEzX2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcsQzgsQzksQzEwLEMxMSxDMTIgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0MTNfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyxDOCxDOSxDMTAsQzExLEMxMiA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAsIGxvbmcgQzEzCisgICAgPgorc3RydWN0IHNldF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IHNldDE0X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBDMTIsIEMxMworICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQxNF9jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2LEM3LEM4LEM5LEMxMCxDMTEsQzEyLEMxMyA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzksIGxvbmcgQzEwLCBsb25nIEMxMSwgbG9uZyBDMTIKKyAgICAsIGxvbmcgQzEzLCBsb25nIEMxNAorICAgID4KK3N0cnVjdCBzZXRfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIEMxMiwgQzEzLCBDMTQKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogc2V0MTVfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIEMxMiwgQzEzLCBDMTQKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0MTVfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyxDOCxDOSxDMTAsQzExLEMxMixDMTMsQzE0ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNQorICAgID4KK3N0cnVjdCBzZXRfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIEMxMiwgQzEzLCBDMTQKKyAgICAgICAgLCBDMTUsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IHNldDE2X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBDMTIsIEMxMywgQzE0CisgICAgICAgICwgQzE1CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDE2X2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcsQzgsQzksQzEwLEMxMSxDMTIsQzEzLEMxNCxDMTUgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1LCBsb25nIEMxNgorICAgID4KK3N0cnVjdCBzZXRfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIEMxMiwgQzEzLCBDMTQKKyAgICAgICAgLCBDMTUsIEMxNiwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiBzZXQxN19jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMsIEMxNAorICAgICAgICAsIEMxNSwgQzE2CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDE3X2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcsQzgsQzksQzEwLEMxMSxDMTIsQzEzLEMxNCxDMTUsQzE2ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNSwgbG9uZyBDMTYsIGxvbmcgQzE3CisgICAgPgorc3RydWN0IHNldF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMsIEMxNAorICAgICAgICAsIEMxNSwgQzE2LCBDMTcsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiBzZXQxOF9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMsIEMxNAorICAgICAgICAsIEMxNSwgQzE2LCBDMTcKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgc2V0MThfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyxDOCxDOSxDMTAsQzExLEMxMixDMTMsQzE0LEMxNSxDMTYsQzE3ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICwgbG9uZyBDNiwgbG9uZyBDNywgbG9uZyBDOCwgbG9uZyBDOSwgbG9uZyBDMTAsIGxvbmcgQzExLCBsb25nIEMxMgorICAgICwgbG9uZyBDMTMsIGxvbmcgQzE0LCBsb25nIEMxNSwgbG9uZyBDMTYsIGxvbmcgQzE3LCBsb25nIEMxOAorICAgID4KK3N0cnVjdCBzZXRfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIEMxMiwgQzEzLCBDMTQKKyAgICAgICAgLCBDMTUsIEMxNiwgQzE3LCBDMTgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IHNldDE5X2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBDMTIsIEMxMywgQzE0CisgICAgICAgICwgQzE1LCBDMTYsIEMxNywgQzE4CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHNldDE5X2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcsQzgsQzksQzEwLEMxMSxDMTIsQzEzLEMxNCxDMTUsQzE2LEMxNyxDMTggPjo6dHlwZSB0eXBlOworfTsKKworLy8vIHByaW1hcnkgdGVtcGxhdGUgKG5vdCBhIHNwZWNpYWxpemF0aW9uISkKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1LCBsb25nIEMxNiwgbG9uZyBDMTcsIGxvbmcgQzE4LCBsb25nIEMxOQorICAgID4KK3N0cnVjdCBzZXRfYworICAgIDogc2V0MjBfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIEMxMiwgQzEzLCBDMTQKKyAgICAgICAgLCBDMTUsIEMxNiwgQzE3LCBDMTgsIEMxOQorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZXQyMF9jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2LEM3LEM4LEM5LEMxMCxDMTEsQzEyLEMxMyxDMTQsQzE1LEMxNixDMTcsQzE4LEMxOSA+Ojp0eXBlIHR5cGU7Cit9OworCit9fQorCmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvcGxhaW4vc2hpZnRfbGVmdC5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvcGxhaW4vc2hpZnRfbGVmdC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTM3ZDNiMgotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9wbGFpbi9zaGlmdF9sZWZ0LmhwcApAQCAtMCwwICsxLDk3IEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8gQ29weXJpZ2h0IEphYXAgU3V0ZXIgMjAwMworLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC9zaGlmdF9sZWZ0LmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFRhZzEKKyAgICAsIHR5cGVuYW1lIFRhZzIKKyAgICA+CitzdHJ1Y3Qgc2hpZnRfbGVmdF9pbXBsCisgICAgOiBpZl9jPAorICAgICAgICAgICggQk9PU1RfTVBMX0FVWF9ORVNURURfVkFMVUVfV0tORChpbnQsIFRhZzEpCisgICAgICAgICAgICAgID4gQk9PU1RfTVBMX0FVWF9ORVNURURfVkFMVUVfV0tORChpbnQsIFRhZzIpCisgICAgICAgICAgICApCisKKyAgICAgICAgLCBhdXg6OmNhc3QybmRfaW1wbDwgc2hpZnRfbGVmdF9pbXBsPCBUYWcxLFRhZzEgPixUYWcxLCBUYWcyID4KKyAgICAgICAgLCBhdXg6OmNhc3Qxc3RfaW1wbDwgc2hpZnRfbGVmdF9pbXBsPCBUYWcyLFRhZzIgPixUYWcxLCBUYWcyID4KKyAgICAgICAgPjo6dHlwZQoreworfTsKKworLy8vIGZvciBEaWdpdGFsIE1hcnMgQysrL2NvbXBpbGVycyB3aXRoIG5vIENUUFMvVFRQIHN1cHBvcnQKK3RlbXBsYXRlPD4gc3RydWN0IHNoaWZ0X2xlZnRfaW1wbDwgbmEsbmEgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUYWcgPiBzdHJ1Y3Qgc2hpZnRfbGVmdF9pbXBsPCBuYSxUYWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUYWcgPiBzdHJ1Y3Qgc2hpZnRfbGVmdF9pbXBsPCBUYWcsbmEgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUID4gc3RydWN0IHNoaWZ0X2xlZnRfdGFnCit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBUOjp0YWcgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMSkKKyAgICAsIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjIpCisgICAgPgorc3RydWN0IHNoaWZ0X2xlZnQKKworICAgIDogc2hpZnRfbGVmdF9pbXBsPAorICAgICAgICAgIHR5cGVuYW1lIHNoaWZ0X2xlZnRfdGFnPE4xPjo6dHlwZQorICAgICAgICAsIHR5cGVuYW1lIHNoaWZ0X2xlZnRfdGFnPE4yPjo6dHlwZQorICAgICAgICA+Ojp0ZW1wbGF0ZSBhcHBseTwgTjEsTjIgPjo6dHlwZQoreworfTsKKworQk9PU1RfTVBMX0FVWF9OQV9TUEVDMigyLCAyLCBzaGlmdF9sZWZ0KQorCit9fQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKK3RlbXBsYXRlPD4KK3N0cnVjdCBzaGlmdF9sZWZ0X2ltcGw8IGludGVncmFsX2NfdGFnLGludGVncmFsX2NfdGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgTiwgdHlwZW5hbWUgUyA+IHN0cnVjdCBhcHBseQorCisgICAgICAgIDogaW50ZWdyYWxfYzwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgTjo6dmFsdWVfdHlwZQorICAgICAgICAgICAgLCAoIEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChOKTo6dmFsdWUKKyAgICAgICAgICAgICAgICAgIDw8IEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChTKTo6dmFsdWUKKyAgICAgICAgICAgICAgICApCisgICAgICAgICAgICA+CisgICAgeworICAgIH07Cit9OworCit9fQpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL3BsYWluL3NoaWZ0X3JpZ2h0LmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9wbGFpbi9zaGlmdF9yaWdodC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmFhODMwMgotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9wbGFpbi9zaGlmdF9yaWdodC5ocHAKQEAgLTAsMCArMSw5NyBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vIENvcHlyaWdodCBKYWFwIFN1dGVyIDIwMDMKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvc2hpZnRfcmlnaHQuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVGFnMQorICAgICwgdHlwZW5hbWUgVGFnMgorICAgID4KK3N0cnVjdCBzaGlmdF9yaWdodF9pbXBsCisgICAgOiBpZl9jPAorICAgICAgICAgICggQk9PU1RfTVBMX0FVWF9ORVNURURfVkFMVUVfV0tORChpbnQsIFRhZzEpCisgICAgICAgICAgICAgID4gQk9PU1RfTVBMX0FVWF9ORVNURURfVkFMVUVfV0tORChpbnQsIFRhZzIpCisgICAgICAgICAgICApCisKKyAgICAgICAgLCBhdXg6OmNhc3QybmRfaW1wbDwgc2hpZnRfcmlnaHRfaW1wbDwgVGFnMSxUYWcxID4sVGFnMSwgVGFnMiA+CisgICAgICAgICwgYXV4OjpjYXN0MXN0X2ltcGw8IHNoaWZ0X3JpZ2h0X2ltcGw8IFRhZzIsVGFnMiA+LFRhZzEsIFRhZzIgPgorICAgICAgICA+Ojp0eXBlCit7Cit9OworCisvLy8gZm9yIERpZ2l0YWwgTWFycyBDKysvY29tcGlsZXJzIHdpdGggbm8gQ1RQUy9UVFAgc3VwcG9ydAordGVtcGxhdGU8PiBzdHJ1Y3Qgc2hpZnRfcmlnaHRfaW1wbDwgbmEsbmEgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUYWcgPiBzdHJ1Y3Qgc2hpZnRfcmlnaHRfaW1wbDwgbmEsVGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVGFnID4gc3RydWN0IHNoaWZ0X3JpZ2h0X2ltcGw8IFRhZyxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFQgPiBzdHJ1Y3Qgc2hpZnRfcmlnaHRfdGFnCit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBUOjp0YWcgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMSkKKyAgICAsIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjIpCisgICAgPgorc3RydWN0IHNoaWZ0X3JpZ2h0CisKKyAgICA6IHNoaWZ0X3JpZ2h0X2ltcGw8CisgICAgICAgICAgdHlwZW5hbWUgc2hpZnRfcmlnaHRfdGFnPE4xPjo6dHlwZQorICAgICAgICAsIHR5cGVuYW1lIHNoaWZ0X3JpZ2h0X3RhZzxOMj46OnR5cGUKKyAgICAgICAgPjo6dGVtcGxhdGUgYXBwbHk8IE4xLE4yID46OnR5cGUKK3sKK307CisKK0JPT1NUX01QTF9BVVhfTkFfU1BFQzIoMiwgMiwgc2hpZnRfcmlnaHQpCisKK319CisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgewordGVtcGxhdGU8Pgorc3RydWN0IHNoaWZ0X3JpZ2h0X2ltcGw8IGludGVncmFsX2NfdGFnLGludGVncmFsX2NfdGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgTiwgdHlwZW5hbWUgUyA+IHN0cnVjdCBhcHBseQorCisgICAgICAgIDogaW50ZWdyYWxfYzwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgTjo6dmFsdWVfdHlwZQorICAgICAgICAgICAgLCAoIEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChOKTo6dmFsdWUKKyAgICAgICAgICAgICAgICAgID4+IEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChTKTo6dmFsdWUKKyAgICAgICAgICAgICAgICApCisgICAgICAgICAgICA+CisgICAgeworICAgIH07Cit9OworCit9fQpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL3BsYWluL3RlbXBsYXRlX2FyaXR5LmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9wbGFpbi90ZW1wbGF0ZV9hcml0eS5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmNiNDJhZQotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9wbGFpbi90ZW1wbGF0ZV9hcml0eS5ocHAKQEAgLTAsMCArMSwxMSBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAxLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvYXV4Xy90ZW1wbGF0ZV9hcml0eS5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvcGxhaW4vdGltZXMuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL3BsYWluL3RpbWVzLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMGUxNmFhCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL3BsYWluL3RpbWVzLmhwcApAQCAtMCwwICsxLDE0MSBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvdGltZXMuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVGFnMQorICAgICwgdHlwZW5hbWUgVGFnMgorICAgID4KK3N0cnVjdCB0aW1lc19pbXBsCisgICAgOiBpZl9jPAorICAgICAgICAgICggQk9PU1RfTVBMX0FVWF9ORVNURURfVkFMVUVfV0tORChpbnQsIFRhZzEpCisgICAgICAgICAgICAgID4gQk9PU1RfTVBMX0FVWF9ORVNURURfVkFMVUVfV0tORChpbnQsIFRhZzIpCisgICAgICAgICAgICApCisKKyAgICAgICAgLCBhdXg6OmNhc3QybmRfaW1wbDwgdGltZXNfaW1wbDwgVGFnMSxUYWcxID4sVGFnMSwgVGFnMiA+CisgICAgICAgICwgYXV4OjpjYXN0MXN0X2ltcGw8IHRpbWVzX2ltcGw8IFRhZzIsVGFnMiA+LFRhZzEsIFRhZzIgPgorICAgICAgICA+Ojp0eXBlCit7Cit9OworCisvLy8gZm9yIERpZ2l0YWwgTWFycyBDKysvY29tcGlsZXJzIHdpdGggbm8gQ1RQUy9UVFAgc3VwcG9ydAordGVtcGxhdGU8PiBzdHJ1Y3QgdGltZXNfaW1wbDwgbmEsbmEgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVMSwgdHlwZW5hbWUgVTIgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYXBwbHkgdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgID0gMCk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUYWcgPiBzdHJ1Y3QgdGltZXNfaW1wbDwgbmEsVGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVTEsIHR5cGVuYW1lIFUyID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIGFwcGx5IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlICA9IDApOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVGFnID4gc3RydWN0IHRpbWVzX2ltcGw8IFRhZyxuYSA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUxLCB0eXBlbmFtZSBVMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhcHBseSB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSAgPSAwKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFQgPiBzdHJ1Y3QgdGltZXNfdGFnCit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBUOjp0YWcgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOMSkKKyAgICAsIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTjIpCisgICAgLCB0eXBlbmFtZSBOMyA9IG5hLCB0eXBlbmFtZSBONCA9IG5hLCB0eXBlbmFtZSBONSA9IG5hCisgICAgPgorc3RydWN0IHRpbWVzCisgICAgOiB0aW1lczwgdGltZXM8IHRpbWVzPCB0aW1lczwgTjEsTjIgPiwgTjM+LCBOND4sIE41PgoreworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBOMSwgdHlwZW5hbWUgTjIsIHR5cGVuYW1lIE4zLCB0eXBlbmFtZSBONAorICAgID4KK3N0cnVjdCB0aW1lczwgTjEsTjIsTjMsTjQsbmEgPgorCisgICAgOiB0aW1lczwgdGltZXM8IHRpbWVzPCBOMSxOMiA+LCBOMz4sIE40PgoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlRfU1BFQygKKyAgICAgICAgICA1CisgICAgICAgICwgdGltZXMKKyAgICAgICAgLCAoIE4xLCBOMiwgTjMsIE40LCBuYSApCisgICAgICAgICkKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgTjEsIHR5cGVuYW1lIE4yLCB0eXBlbmFtZSBOMworICAgID4KK3N0cnVjdCB0aW1lczwgTjEsTjIsTjMsbmEsbmEgPgorCisgICAgOiB0aW1lczwgdGltZXM8IE4xLE4yID4sIE4zPgoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlRfU1BFQygKKyAgICAgICAgICA1CisgICAgICAgICwgdGltZXMKKyAgICAgICAgLCAoIE4xLCBOMiwgTjMsIG5hLCBuYSApCisgICAgICAgICkKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgTjEsIHR5cGVuYW1lIE4yCisgICAgPgorc3RydWN0IHRpbWVzPCBOMSxOMixuYSxuYSxuYSA+CisgICAgOiB0aW1lc19pbXBsPAorICAgICAgICAgIHR5cGVuYW1lIHRpbWVzX3RhZzxOMT46OnR5cGUKKyAgICAgICAgLCB0eXBlbmFtZSB0aW1lc190YWc8TjI+Ojp0eXBlCisgICAgICAgID46OnRlbXBsYXRlIGFwcGx5PCBOMSxOMiA+Ojp0eXBlCit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVF9TUEVDKAorICAgICAgICAgIDUKKyAgICAgICAgLCB0aW1lcworICAgICAgICAsICggTjEsIE4yLCBuYSwgbmEsIG5hICkKKyAgICAgICAgKQorCit9OworCitCT09TVF9NUExfQVVYX05BX1NQRUMyKDIsIDUsIHRpbWVzKQorCit9fQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKK3RlbXBsYXRlPD4KK3N0cnVjdCB0aW1lc19pbXBsPCBpbnRlZ3JhbF9jX3RhZyxpbnRlZ3JhbF9jX3RhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIE4xLCB0eXBlbmFtZSBOMiA+IHN0cnVjdCBhcHBseQorCisgICAgICAgIDogaW50ZWdyYWxfYzwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgYXV4OjpsYXJnZXN0X2ludDwKKyAgICAgICAgICAgICAgICAgIHR5cGVuYW1lIE4xOjp2YWx1ZV90eXBlCisgICAgICAgICAgICAgICAgLCB0eXBlbmFtZSBOMjo6dmFsdWVfdHlwZQorICAgICAgICAgICAgICAgID46OnR5cGUKKyAgICAgICAgICAgICwgKCBCT09TVF9NUExfQVVYX1ZBTFVFX1dLTkQoTjEpOjp2YWx1ZQorICAgICAgICAgICAgICAgICAgKiBCT09TVF9NUExfQVVYX1ZBTFVFX1dLTkQoTjIpOjp2YWx1ZQorICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgID4KKyAgICB7CisgICAgfTsKK307CisKK319CmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzZWQvcGxhaW4vdW5wYWNrX2FyZ3MuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL3BsYWluL3VucGFja19hcmdzLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45YzkyMDRmCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL3BsYWluL3VucGFja19hcmdzLmhwcApAQCAtMCwwICsxLDk0IEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDItMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC91bnBhY2tfYXJncy5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPCBpbnQgc2l6ZSwgdHlwZW5hbWUgRiwgdHlwZW5hbWUgQXJncyA+CitzdHJ1Y3QgdW5wYWNrX2FyZ3NfaW1wbDsKKwordGVtcGxhdGU8IHR5cGVuYW1lIEYsIHR5cGVuYW1lIEFyZ3MgPgorc3RydWN0IHVucGFja19hcmdzX2ltcGw8IDAsRixBcmdzID4KKyAgICA6IGFwcGx5MDwKKyAgICAgICAgICBGCisgICAgICAgID4KK3sKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBGLCB0eXBlbmFtZSBBcmdzID4KK3N0cnVjdCB1bnBhY2tfYXJnc19pbXBsPCAxLEYsQXJncyA+CisgICAgOiBhcHBseTE8CisgICAgICAgICAgRgorICAgICAgICAsIHR5cGVuYW1lIGF0X2M8IEFyZ3MsMCA+Ojp0eXBlCisgICAgICAgID4KK3sKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBGLCB0eXBlbmFtZSBBcmdzID4KK3N0cnVjdCB1bnBhY2tfYXJnc19pbXBsPCAyLEYsQXJncyA+CisgICAgOiBhcHBseTI8CisgICAgICAgICAgRgorICAgICAgICAsIHR5cGVuYW1lIGF0X2M8IEFyZ3MsMCA+Ojp0eXBlLCB0eXBlbmFtZSBhdF9jPCBBcmdzLDEgPjo6dHlwZQorICAgICAgICA+Cit7Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgRiwgdHlwZW5hbWUgQXJncyA+CitzdHJ1Y3QgdW5wYWNrX2FyZ3NfaW1wbDwgMyxGLEFyZ3MgPgorICAgIDogYXBwbHkzPAorICAgICAgICAgIEYKKyAgICAgICAgLCB0eXBlbmFtZSBhdF9jPCBBcmdzLDAgPjo6dHlwZSwgdHlwZW5hbWUgYXRfYzwgQXJncywxID46OnR5cGUKKyAgICAgICAgLCB0eXBlbmFtZSBhdF9jPCBBcmdzLDIgPjo6dHlwZQorICAgICAgICA+Cit7Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgRiwgdHlwZW5hbWUgQXJncyA+CitzdHJ1Y3QgdW5wYWNrX2FyZ3NfaW1wbDwgNCxGLEFyZ3MgPgorICAgIDogYXBwbHk0PAorICAgICAgICAgIEYKKyAgICAgICAgLCB0eXBlbmFtZSBhdF9jPCBBcmdzLDAgPjo6dHlwZSwgdHlwZW5hbWUgYXRfYzwgQXJncywxID46OnR5cGUKKyAgICAgICAgLCB0eXBlbmFtZSBhdF9jPCBBcmdzLDIgPjo6dHlwZSwgdHlwZW5hbWUgYXRfYzwgQXJncywzID46OnR5cGUKKyAgICAgICAgPgoreworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIEYsIHR5cGVuYW1lIEFyZ3MgPgorc3RydWN0IHVucGFja19hcmdzX2ltcGw8IDUsRixBcmdzID4KKyAgICA6IGFwcGx5NTwKKyAgICAgICAgICBGCisgICAgICAgICwgdHlwZW5hbWUgYXRfYzwgQXJncywwID46OnR5cGUsIHR5cGVuYW1lIGF0X2M8IEFyZ3MsMSA+Ojp0eXBlCisgICAgICAgICwgdHlwZW5hbWUgYXRfYzwgQXJncywyID46OnR5cGUsIHR5cGVuYW1lIGF0X2M8IEFyZ3MsMyA+Ojp0eXBlCisgICAgICAgICwgdHlwZW5hbWUgYXRfYzwgQXJncyw0ID46OnR5cGUKKyAgICAgICAgPgoreworfTsKKworfQorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYKKyAgICA+CitzdHJ1Y3QgdW5wYWNrX2FyZ3MKK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgQXJncyA+IHN0cnVjdCBhcHBseQorCisgICAgICAgIDogYXV4Ojp1bnBhY2tfYXJnc19pbXBsPCBzaXplPEFyZ3M+Ojp2YWx1ZSxGLCBBcmdzID4KKworICAgIHsKKyAgICB9OworfTsKKworQk9PU1RfTVBMX0FVWF9QQVNTX1RIUk9VR0hfTEFNQkRBX1NQRUMoMSwgdW5wYWNrX2FyZ3MpCisKK319CisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9wbGFpbi92ZWN0b3IuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL3BsYWluL3ZlY3Rvci5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGY2NzU4OQotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9wbGFpbi92ZWN0b3IuaHBwCkBAIC0wLDAgKzEsMzIzIEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC92ZWN0b3IuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAgPSBuYSwgdHlwZW5hbWUgVDEgPSBuYSwgdHlwZW5hbWUgVDIgPSBuYSwgdHlwZW5hbWUgVDMgPSBuYQorICAgICwgdHlwZW5hbWUgVDQgPSBuYSwgdHlwZW5hbWUgVDUgPSBuYSwgdHlwZW5hbWUgVDYgPSBuYSwgdHlwZW5hbWUgVDcgPSBuYQorICAgICwgdHlwZW5hbWUgVDggPSBuYSwgdHlwZW5hbWUgVDkgPSBuYSwgdHlwZW5hbWUgVDEwID0gbmEsIHR5cGVuYW1lIFQxMSA9IG5hCisgICAgLCB0eXBlbmFtZSBUMTIgPSBuYSwgdHlwZW5hbWUgVDEzID0gbmEsIHR5cGVuYW1lIFQxNCA9IG5hCisgICAgLCB0eXBlbmFtZSBUMTUgPSBuYSwgdHlwZW5hbWUgVDE2ID0gbmEsIHR5cGVuYW1lIFQxNyA9IG5hCisgICAgLCB0eXBlbmFtZSBUMTggPSBuYSwgdHlwZW5hbWUgVDE5ID0gbmEKKyAgICA+CitzdHJ1Y3QgdmVjdG9yOworCit0ZW1wbGF0ZTwKKyAgICAgCisgICAgPgorc3RydWN0IHZlY3RvcjwKKyAgICAgICAgICBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHZlY3RvcjA8ICA+Cit7CisgICAgdHlwZWRlZiB2ZWN0b3IwPCAgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMAorICAgID4KK3N0cnVjdCB2ZWN0b3I8CisgICAgICAgICAgVDAsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3IxPFQwPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTxUMD46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxCisgICAgPgorc3RydWN0IHZlY3RvcjwKKyAgICAgICAgICBUMCwgVDEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHZlY3RvcjI8IFQwLFQxID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjI8IFQwLFQxID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMgorICAgID4KK3N0cnVjdCB2ZWN0b3I8CisgICAgICAgICAgVDAsIFQxLCBUMiwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3IzPCBUMCxUMSxUMiA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IzPCBUMCxUMSxUMiA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzCisgICAgPgorc3RydWN0IHZlY3RvcjwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHZlY3RvcjQ8IFQwLFQxLFQyLFQzID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjQ8IFQwLFQxLFQyLFQzID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgPgorc3RydWN0IHZlY3RvcjwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHZlY3RvcjU8IFQwLFQxLFQyLFQzLFQ0ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjU8IFQwLFQxLFQyLFQzLFQ0ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNQorICAgID4KK3N0cnVjdCB2ZWN0b3I8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3I2PCBUMCxUMSxUMixUMyxUNCxUNSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3I2PCBUMCxUMSxUMixUMyxUNCxUNSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2CisgICAgPgorc3RydWN0IHZlY3RvcjwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHZlY3Rvcjc8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3Rvcjc8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3CisgICAgPgorc3RydWN0IHZlY3RvcjwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHZlY3Rvcjg8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3Rvcjg8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOAorICAgID4KK3N0cnVjdCB2ZWN0b3I8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3I5PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3I5PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgPgorc3RydWN0IHZlY3RvcjwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgbmEsIG5hLCBuYSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHZlY3RvcjEwPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxMDwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDkgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwCisgICAgPgorc3RydWN0IHZlY3RvcjwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBuYSwgbmEsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgICwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3IxMTwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjExPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEKKyAgICA+CitzdHJ1Y3QgdmVjdG9yPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgbmEsIG5hLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3IxMjwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxMjwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyCisgICAgPgorc3RydWN0IHZlY3RvcjwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgbmEsIG5hLCBuYQorICAgICAgICAsIG5hLCBuYSwgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHZlY3RvcjEzPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMiA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxMzwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzCisgICAgPgorc3RydWN0IHZlY3RvcjwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBuYSwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3IxNDwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjE0PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICA+CitzdHJ1Y3QgdmVjdG9yPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNCwgbmEKKyAgICAgICAgLCBuYSwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3IxNTwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTU8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyxUMTQgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAsIHR5cGVuYW1lIFQxNQorICAgID4KK3N0cnVjdCB2ZWN0b3I8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1LCBuYSwgbmEsIG5hLCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3IxNjwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgLCBUMTUKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTY8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyxUMTQsVDE1ID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNgorICAgID4KK3N0cnVjdCB2ZWN0b3I8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1LCBUMTYsIG5hLCBuYSwgbmEKKyAgICAgICAgPgorICAgIDogdmVjdG9yMTc8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1LCBUMTYKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTc8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyxUMTQsVDE1LFQxNiA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNworICAgID4KK3N0cnVjdCB2ZWN0b3I8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1LCBUMTYsIFQxNywgbmEsIG5hCisgICAgICAgID4KKyAgICA6IHZlY3RvcjE4PAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgVDE2LCBUMTcKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTg8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyxUMTQsVDE1LFQxNixUMTcgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOAorICAgID4KK3N0cnVjdCB2ZWN0b3I8CisgICAgICAgICAgVDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCwgVDExLCBUMTIsIFQxMywgVDE0CisgICAgICAgICwgVDE1LCBUMTYsIFQxNywgVDE4LCBuYQorICAgICAgICA+CisgICAgOiB2ZWN0b3IxOTwKKyAgICAgICAgICBUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwLCBUMTEsIFQxMiwgVDEzLCBUMTQKKyAgICAgICAgLCBUMTUsIFQxNiwgVDE3LCBUMTgKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTk8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFQxMCxUMTEsVDEyLFQxMyxUMTQsVDE1LFQxNixUMTcsVDE4ID46OnR5cGUgdHlwZTsKK307CisKKy8vLyBwcmltYXJ5IHRlbXBsYXRlIChub3QgYSBzcGVjaWFsaXphdGlvbiEpCisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgID4KK3N0cnVjdCB2ZWN0b3IKKyAgICA6IHZlY3RvcjIwPAorICAgICAgICAgIFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTAsIFQxMSwgVDEyLCBUMTMsIFQxNAorICAgICAgICAsIFQxNSwgVDE2LCBUMTcsIFQxOCwgVDE5CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjIwPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMsVDE0LFQxNSxUMTYsVDE3LFQxOCxUMTkgPjo6dHlwZSB0eXBlOworfTsKKworfX0KKwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc2VkL3BsYWluL3ZlY3Rvcl9jLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9wbGFpbi92ZWN0b3JfYy5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTJmYmRiNAotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3NlZC9wbGFpbi92ZWN0b3JfYy5ocHAKQEAgLTAsMCArMSwzMDkgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL3ZlY3Rvcl9jLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAgPSBMT05HX01BWCwgbG9uZyBDMSA9IExPTkdfTUFYLCBsb25nIEMyID0gTE9OR19NQVgKKyAgICAsIGxvbmcgQzMgPSBMT05HX01BWCwgbG9uZyBDNCA9IExPTkdfTUFYLCBsb25nIEM1ID0gTE9OR19NQVgKKyAgICAsIGxvbmcgQzYgPSBMT05HX01BWCwgbG9uZyBDNyA9IExPTkdfTUFYLCBsb25nIEM4ID0gTE9OR19NQVgKKyAgICAsIGxvbmcgQzkgPSBMT05HX01BWCwgbG9uZyBDMTAgPSBMT05HX01BWCwgbG9uZyBDMTEgPSBMT05HX01BWAorICAgICwgbG9uZyBDMTIgPSBMT05HX01BWCwgbG9uZyBDMTMgPSBMT05HX01BWCwgbG9uZyBDMTQgPSBMT05HX01BWAorICAgICwgbG9uZyBDMTUgPSBMT05HX01BWCwgbG9uZyBDMTYgPSBMT05HX01BWCwgbG9uZyBDMTcgPSBMT05HX01BWAorICAgICwgbG9uZyBDMTggPSBMT05HX01BWCwgbG9uZyBDMTkgPSBMT05HX01BWAorICAgID4KK3N0cnVjdCB2ZWN0b3JfYzsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUCisgICAgPgorc3RydWN0IHZlY3Rvcl9jPAorICAgICAgICAgIFQsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IHZlY3RvcjBfYzxUPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMF9jPFQ+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAKKyAgICA+CitzdHJ1Y3QgdmVjdG9yX2M8CisgICAgICAgICAgVCwgQzAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogdmVjdG9yMV9jPCBULCBUKEMwKSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxX2M8IFQsIFQoQzApID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMQorICAgID4KK3N0cnVjdCB2ZWN0b3JfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiB2ZWN0b3IyX2M8IFQsIFQoQzApLCBUKEMxKSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IyX2M8IFQsIFQoQzApLCBUKEMxKSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIKKyAgICA+CitzdHJ1Y3QgdmVjdG9yX2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogdmVjdG9yM19jPCBULCBUKEMwKSwgVChDMSksIFQoQzIpID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjNfYzwgVCwgVChDMCksIFQoQzEpLCBUKEMyKSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMKKyAgICA+CitzdHJ1Y3QgdmVjdG9yX2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogdmVjdG9yNF9jPCBULCBUKEMwKSwgVChDMSksIFQoQzIpLCBUKEMzKSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3I0X2M8IFQsIFQoQzApLCBUKEMxKSwgVChDMiksIFQoQzMpID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNAorICAgID4KK3N0cnVjdCB2ZWN0b3JfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiB2ZWN0b3I1X2M8IFQsIFQoQzApLCBUKEMxKSwgVChDMiksIFQoQzMpLCBUKEM0KSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3I1X2M8IFQsIFQoQzApLCBUKEMxKSwgVChDMiksIFQoQzMpLCBUKEM0KSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICA+CitzdHJ1Y3QgdmVjdG9yX2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogdmVjdG9yNl9jPCBULCBUKEMwKSwgVChDMSksIFQoQzIpLCBUKEMzKSwgVChDNCksIFQoQzUpID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjZfYzwgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMyksIFQoQzQpLCBUKEM1KSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAsIGxvbmcgQzYKKyAgICA+CitzdHJ1Y3QgdmVjdG9yX2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogdmVjdG9yN19jPCBULCBUKEMwKSwgVChDMSksIFQoQzIpLCBUKEMzKSwgVChDNCksIFQoQzUpLCBUKEM2KSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3I3X2M8IFQsIFQoQzApLCBUKEMxKSwgVChDMiksIFQoQzMpLCBUKEM0KSwgVChDNSksIFQoQzYpID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgbG9uZyBDMCwgbG9uZyBDMSwgbG9uZyBDMiwgbG9uZyBDMywgbG9uZyBDNCwgbG9uZyBDNQorICAgICwgbG9uZyBDNiwgbG9uZyBDNworICAgID4KK3N0cnVjdCB2ZWN0b3JfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiB2ZWN0b3I4X2M8IFQsIFQoQzApLCBUKEMxKSwgVChDMiksIFQoQzMpLCBUKEM0KSwgVChDNSksIFQoQzYpLCBUKEM3KSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3I4X2M8IFQsIFQoQzApLCBUKEMxKSwgVChDMiksIFQoQzMpLCBUKEM0KSwgVChDNSksIFQoQzYpLCBUKEM3KSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgKKyAgICA+CitzdHJ1Y3QgdmVjdG9yX2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogdmVjdG9yOV9jPCBULCBUKEMwKSwgVChDMSksIFQoQzIpLCBUKEMzKSwgVChDNCksIFQoQzUpLCBUKEM2KSwgVChDNyksIFQoQzgpID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjlfYzwgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMyksIFQoQzQpLCBUKEM1KSwgVChDNiksIFQoQzcpLCBUKEM4KSA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQsIGxvbmcgQzAsIGxvbmcgQzEsIGxvbmcgQzIsIGxvbmcgQzMsIGxvbmcgQzQsIGxvbmcgQzUKKyAgICAsIGxvbmcgQzYsIGxvbmcgQzcsIGxvbmcgQzgsIGxvbmcgQzkKKyAgICA+CitzdHJ1Y3QgdmVjdG9yX2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgICwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogdmVjdG9yMTBfYzwgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMyksIFQoQzQpLCBUKEM1KSwgVChDNiksIFQoQzcpLCBUKEM4KSwgVChDOSkgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTBfYzwgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMyksIFQoQzQpLCBUKEM1KSwgVChDNiksIFQoQzcpLCBUKEM4KSwgVChDOSkgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMAorICAgID4KK3N0cnVjdCB2ZWN0b3JfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiB2ZWN0b3IxMV9jPCBULCBUKEMwKSwgVChDMSksIFQoQzIpLCBUKEMzKSwgVChDNCksIFQoQzUpLCBUKEM2KSwgVChDNyksIFQoQzgpLCBUKEM5KSwgVChDMTApID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjExX2M8IFQsIFQoQzApLCBUKEMxKSwgVChDMiksIFQoQzMpLCBUKEM0KSwgVChDNSksIFQoQzYpLCBUKEM3KSwgVChDOCksIFQoQzkpLCBUKEMxMCkgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEKKyAgICA+CitzdHJ1Y3QgdmVjdG9yX2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IHZlY3RvcjEyX2M8IFQsIFQoQzApLCBUKEMxKSwgVChDMiksIFQoQzMpLCBUKEM0KSwgVChDNSksIFQoQzYpLCBUKEM3KSwgVChDOCksIFQoQzkpLCBUKEMxMCksIFQoQzExKSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxMl9jPCBULCBUKEMwKSwgVChDMSksIFQoQzIpLCBUKEMzKSwgVChDNCksIFQoQzUpLCBUKEM2KSwgVChDNyksIFQoQzgpLCBUKEM5KSwgVChDMTApLCBUKEMxMSkgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgPgorc3RydWN0IHZlY3Rvcl9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBMT05HX01BWAorICAgICAgICAsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogdmVjdG9yMTNfYzwgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMyksIFQoQzQpLCBUKEM1KSwgVChDNiksIFQoQzcpLCBUKEM4KSwgVChDOSksIFQoQzEwKSwgVChDMTEpLCBUKEMxMikgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTNfYzwgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMyksIFQoQzQpLCBUKEM1KSwgVChDNiksIFQoQzcpLCBUKEM4KSwgVChDOSksIFQoQzEwKSwgVChDMTEpLCBUKEMxMikgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgLCBsb25nIEMxMworICAgID4KK3N0cnVjdCB2ZWN0b3JfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIEMxMiwgQzEzCisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiB2ZWN0b3IxNF9jPCBULCBUKEMwKSwgVChDMSksIFQoQzIpLCBUKEMzKSwgVChDNCksIFQoQzUpLCBUKEM2KSwgVChDNyksIFQoQzgpLCBUKEM5KSwgVChDMTApLCBUKEMxMSksIFQoQzEyKSwgVChDMTMpID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjE0X2M8IFQsIFQoQzApLCBUKEMxKSwgVChDMiksIFQoQzMpLCBUKEM0KSwgVChDNSksIFQoQzYpLCBUKEM3KSwgVChDOCksIFQoQzkpLCBUKEMxMCksIFQoQzExKSwgVChDMTIpLCBUKEMxMykgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgLCBsb25nIEMxMywgbG9uZyBDMTQKKyAgICA+CitzdHJ1Y3QgdmVjdG9yX2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBDMTIsIEMxMywgQzE0CisgICAgICAgICwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IHZlY3RvcjE1X2M8IFQsIFQoQzApLCBUKEMxKSwgVChDMiksIFQoQzMpLCBUKEM0KSwgVChDNSksIFQoQzYpLCBUKEM3KSwgVChDOCksIFQoQzkpLCBUKEMxMCksIFQoQzExKSwgVChDMTIpLCBUKEMxMyksIFQoQzE0KSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxNV9jPCBULCBUKEMwKSwgVChDMSksIFQoQzIpLCBUKEMzKSwgVChDNCksIFQoQzUpLCBUKEM2KSwgVChDNyksIFQoQzgpLCBUKEM5KSwgVChDMTApLCBUKEMxMSksIFQoQzEyKSwgVChDMTMpLCBUKEMxNCkgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1CisgICAgPgorc3RydWN0IHZlY3Rvcl9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMsIEMxNAorICAgICAgICAsIEMxNSwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogdmVjdG9yMTZfYzwgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMyksIFQoQzQpLCBUKEM1KSwgVChDNiksIFQoQzcpLCBUKEM4KSwgVChDOSksIFQoQzEwKSwgVChDMTEpLCBUKEMxMiksIFQoQzEzKSwgVChDMTQpLCBUKEMxNSkgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTZfYzwgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMyksIFQoQzQpLCBUKEM1KSwgVChDNiksIFQoQzcpLCBUKEM4KSwgVChDOSksIFQoQzEwKSwgVChDMTEpLCBUKEMxMiksIFQoQzEzKSwgVChDMTQpLCBUKEMxNSkgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1LCBsb25nIEMxNgorICAgID4KK3N0cnVjdCB2ZWN0b3JfYzwKKyAgICAgICAgICBULCBDMCwgQzEsIEMyLCBDMywgQzQsIEM1LCBDNiwgQzcsIEM4LCBDOSwgQzEwLCBDMTEsIEMxMiwgQzEzLCBDMTQKKyAgICAgICAgLCBDMTUsIEMxNiwgTE9OR19NQVgsIExPTkdfTUFYLCBMT05HX01BWAorICAgICAgICA+CisgICAgOiB2ZWN0b3IxN19jPCBULCBUKEMwKSwgVChDMSksIFQoQzIpLCBUKEMzKSwgVChDNCksIFQoQzUpLCBUKEM2KSwgVChDNyksIFQoQzgpLCBUKEM5KSwgVChDMTApLCBUKEMxMSksIFQoQzEyKSwgVChDMTMpLCBUKEMxNCksIFQoQzE1KSwgVChDMTYpID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHZlY3RvcjE3X2M8IFQsIFQoQzApLCBUKEMxKSwgVChDMiksIFQoQzMpLCBUKEM0KSwgVChDNSksIFQoQzYpLCBUKEM3KSwgVChDOCksIFQoQzkpLCBUKEMxMCksIFQoQzExKSwgVChDMTIpLCBUKEMxMyksIFQoQzE0KSwgVChDMTUpLCBUKEMxNikgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1LCBsb25nIEMxNiwgbG9uZyBDMTcKKyAgICA+CitzdHJ1Y3QgdmVjdG9yX2M8CisgICAgICAgICAgVCwgQzAsIEMxLCBDMiwgQzMsIEM0LCBDNSwgQzYsIEM3LCBDOCwgQzksIEMxMCwgQzExLCBDMTIsIEMxMywgQzE0CisgICAgICAgICwgQzE1LCBDMTYsIEMxNywgTE9OR19NQVgsIExPTkdfTUFYCisgICAgICAgID4KKyAgICA6IHZlY3RvcjE4X2M8IFQsIFQoQzApLCBUKEMxKSwgVChDMiksIFQoQzMpLCBUKEM0KSwgVChDNSksIFQoQzYpLCBUKEM3KSwgVChDOCksIFQoQzkpLCBUKEMxMCksIFQoQzExKSwgVChDMTIpLCBUKEMxMyksIFQoQzE0KSwgVChDMTUpLCBUKEMxNiksIFQoQzE3KSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IxOF9jPCBULCBUKEMwKSwgVChDMSksIFQoQzIpLCBUKEMzKSwgVChDNCksIFQoQzUpLCBUKEM2KSwgVChDNyksIFQoQzgpLCBUKEM5KSwgVChDMTApLCBUKEMxMSksIFQoQzEyKSwgVChDMTMpLCBUKEMxNCksIFQoQzE1KSwgVChDMTYpLCBUKEMxNykgPjo6dHlwZSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1LCBsb25nIEMxNiwgbG9uZyBDMTcsIGxvbmcgQzE4CisgICAgPgorc3RydWN0IHZlY3Rvcl9jPAorICAgICAgICAgIFQsIEMwLCBDMSwgQzIsIEMzLCBDNCwgQzUsIEM2LCBDNywgQzgsIEM5LCBDMTAsIEMxMSwgQzEyLCBDMTMsIEMxNAorICAgICAgICAsIEMxNSwgQzE2LCBDMTcsIEMxOCwgTE9OR19NQVgKKyAgICAgICAgPgorICAgIDogdmVjdG9yMTlfYzwgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMyksIFQoQzQpLCBUKEM1KSwgVChDNiksIFQoQzcpLCBUKEM4KSwgVChDOSksIFQoQzEwKSwgVChDMTEpLCBUKEMxMiksIFQoQzEzKSwgVChDMTQpLCBUKEMxNSksIFQoQzE2KSwgVChDMTcpLCBUKEMxOCkgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgdmVjdG9yMTlfYzwgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMyksIFQoQzQpLCBUKEM1KSwgVChDNiksIFQoQzcpLCBUKEM4KSwgVChDOSksIFQoQzEwKSwgVChDMTEpLCBUKEMxMiksIFQoQzEzKSwgVChDMTQpLCBUKEMxNSksIFQoQzE2KSwgVChDMTcpLCBUKEMxOCkgPjo6dHlwZSB0eXBlOworfTsKKworLy8vIHByaW1hcnkgdGVtcGxhdGUgKG5vdCBhIHNwZWNpYWxpemF0aW9uISkKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBULCBsb25nIEMwLCBsb25nIEMxLCBsb25nIEMyLCBsb25nIEMzLCBsb25nIEM0LCBsb25nIEM1CisgICAgLCBsb25nIEM2LCBsb25nIEM3LCBsb25nIEM4LCBsb25nIEM5LCBsb25nIEMxMCwgbG9uZyBDMTEsIGxvbmcgQzEyCisgICAgLCBsb25nIEMxMywgbG9uZyBDMTQsIGxvbmcgQzE1LCBsb25nIEMxNiwgbG9uZyBDMTcsIGxvbmcgQzE4LCBsb25nIEMxOQorICAgID4KK3N0cnVjdCB2ZWN0b3JfYworICAgIDogdmVjdG9yMjBfYzwgVCwgVChDMCksIFQoQzEpLCBUKEMyKSwgVChDMyksIFQoQzQpLCBUKEM1KSwgVChDNiksIFQoQzcpLCBUKEM4KSwgVChDOSksIFQoQzEwKSwgVChDMTEpLCBUKEMxMiksIFQoQzEzKSwgVChDMTQpLCBUKEMxNSksIFQoQzE2KSwgVChDMTcpLCBUKEMxOCksIFQoQzE5KSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2ZWN0b3IyMF9jPCBULCBUKEMwKSwgVChDMSksIFQoQzIpLCBUKEMzKSwgVChDNCksIFQoQzUpLCBUKEM2KSwgVChDNyksIFQoQzgpLCBUKEM5KSwgVChDMTApLCBUKEMxMSksIFQoQzEyKSwgVChDMTMpLCBUKEMxNCksIFQoQzE1KSwgVChDMTYpLCBUKEMxNyksIFQoQzE4KSwgVChDMTkpID46OnR5cGUgdHlwZTsKK307CisKK319CisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3Nvci9hZGQuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc29yL2FkZC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmQ1YWJjNgotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3Nvci9hZGQuaHBwCkBAIC0wLDAgKzEsNjUgQEAKKworI2lmbmRlZiBCT09TVF9NUExfQVVYX1BSRVBST0NFU1NPUl9BRERfSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX01QTF9BVVhfUFJFUFJPQ0VTU09SX0FERF9IUFBfSU5DTFVERUQKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMi0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworLy8gU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL2xpYnMvbXBsIGZvciBkb2N1bWVudGF0aW9uLgorCisvLyAkSWQ6IGFkZC5ocHAgNDkyNjcgMjAwOC0xMC0xMSAwNjoxOTowMlogYWd1cnRvdm95ICQKKy8vICREYXRlOiAyMDA4LTEwLTEwIDIzOjE5OjAyIC0wNzAwIChGcmksIDEwIE9jdCAyMDA4KSAkCisvLyAkUmV2aXNpb246IDQ5MjY3ICQKKworI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2NvbmZpZy9wcmVwcm9jZXNzb3IuaHBwPgorCisjaWYgIWRlZmluZWQoQk9PU1RfTVBMX0NGR19OT19PV05fUFBfUFJJTUlUSVZFUykKKworIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3Nvci90dXBsZS5ocHA+CisKKyNpZiBkZWZpbmVkKEJPT1NUX01QTF9DRkdfQlJPS0VOX1BQX01BQ1JPX0VYUEFOU0lPTikKKyMgICBpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3IvY2F0LmhwcD4KKworIyAgIGRlZmluZSBCT09TVF9NUExfUFBfQUREKGksaikgXAorICAgIEJPT1NUX01QTF9QUF9BRERfREVMQVkoaSxqKSBcCisgICAgLyoqLworCisjICAgZGVmaW5lIEJPT1NUX01QTF9QUF9BRERfREVMQVkoaSxqKSBcCisgICAgQk9PU1RfUFBfQ0FUKEJPT1NUX01QTF9QUF9UVVBMRV8xMV9FTEVNXyMjaSxCT09TVF9NUExfUFBfQUREXyMjaikgXAorICAgIC8qKi8KKyNlbHNlCisjICAgZGVmaW5lIEJPT1NUX01QTF9QUF9BREQoaSxqKSBcCisgICAgQk9PU1RfTVBMX1BQX0FERF9ERUxBWShpLGopIFwKKyAgICAvKiovCisKKyMgICBkZWZpbmUgQk9PU1RfTVBMX1BQX0FERF9ERUxBWShpLGopIFwKKyAgICBCT09TVF9NUExfUFBfVFVQTEVfMTFfRUxFTV8jI2kgQk9PU1RfTVBMX1BQX0FERF8jI2ogXAorICAgIC8qKi8KKyNlbmRpZgorCisjICAgZGVmaW5lIEJPT1NUX01QTF9QUF9BRERfMCAoMCwxLDIsMyw0LDUsNiw3LDgsOSwxMCkKKyMgICBkZWZpbmUgQk9PU1RfTVBMX1BQX0FERF8xICgxLDIsMyw0LDUsNiw3LDgsOSwxMCwwKQorIyAgIGRlZmluZSBCT09TVF9NUExfUFBfQUREXzIgKDIsMyw0LDUsNiw3LDgsOSwxMCwwLDApCisjICAgZGVmaW5lIEJPT1NUX01QTF9QUF9BRERfMyAoMyw0LDUsNiw3LDgsOSwxMCwwLDAsMCkKKyMgICBkZWZpbmUgQk9PU1RfTVBMX1BQX0FERF80ICg0LDUsNiw3LDgsOSwxMCwwLDAsMCwwKQorIyAgIGRlZmluZSBCT09TVF9NUExfUFBfQUREXzUgKDUsNiw3LDgsOSwxMCwwLDAsMCwwLDApCisjICAgZGVmaW5lIEJPT1NUX01QTF9QUF9BRERfNiAoNiw3LDgsOSwxMCwwLDAsMCwwLDAsMCkKKyMgICBkZWZpbmUgQk9PU1RfTVBMX1BQX0FERF83ICg3LDgsOSwxMCwwLDAsMCwwLDAsMCwwKQorIyAgIGRlZmluZSBCT09TVF9NUExfUFBfQUREXzggKDgsOSwxMCwwLDAsMCwwLDAsMCwwLDApCisjICAgZGVmaW5lIEJPT1NUX01QTF9QUF9BRERfOSAoOSwxMCwwLDAsMCwwLDAsMCwwLDAsMCkKKyMgICBkZWZpbmUgQk9PU1RfTVBMX1BQX0FERF8xMCAoMTAsMCwwLDAsMCwwLDAsMCwwLDAsMCkKKworI2Vsc2UKKworIyAgIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9hcml0aG1ldGljL2FkZC5ocHA+CisKKyMgICBkZWZpbmUgQk9PU1RfTVBMX1BQX0FERChpLGopIFwKKyAgICBCT09TVF9QUF9BREQoaSxqKSBcCisgICAgLyoqLworICAgIAorI2VuZGlmIAorCisjZW5kaWYgLy8gQk9PU1RfTVBMX0FVWF9QUkVQUk9DRVNTT1JfQUREX0hQUF9JTkNMVURFRApkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc29yL2RlZmF1bHRfcGFyYW1zLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3Nvci9kZWZhdWx0X3BhcmFtcy5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTgyZDY5MgotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3Nvci9kZWZhdWx0X3BhcmFtcy5ocHAKQEAgLTAsMCArMSw2NyBAQAorCisjaWZuZGVmIEJPT1NUX01QTF9BVVhfUFJFUFJPQ0VTU09SX0RFRkFVTFRfUEFSQU1TX0hQUF9JTkNMVURFRAorI2RlZmluZSBCT09TVF9NUExfQVVYX1BSRVBST0NFU1NPUl9ERUZBVUxUX1BBUkFNU19IUFBfSU5DTFVERUQKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMi0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworLy8gU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL2xpYnMvbXBsIGZvciBkb2N1bWVudGF0aW9uLgorCisvLyAkSWQ6IGRlZmF1bHRfcGFyYW1zLmhwcCA0OTI2NyAyMDA4LTEwLTExIDA2OjE5OjAyWiBhZ3VydG92b3kgJAorLy8gJERhdGU6IDIwMDgtMTAtMTAgMjM6MTk6MDIgLTA3MDAgKEZyaSwgMTAgT2N0IDIwMDgpICQKKy8vICRSZXZpc2lvbjogNDkyNjcgJAorCisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vY29uZmlnL3ByZXByb2Nlc3Nvci5ocHA+CisKKy8vIEJPT1NUX01QTF9QUF9ERUZBVUxUX1BBUkFNUygwLFQsaW50KTogPG5vdGhpbmc+CisvLyBCT09TVF9NUExfUFBfREVGQVVMVF9QQVJBTVMoMSxULGludCk6IFQxID0gaW50CisvLyBCT09TVF9NUExfUFBfREVGQVVMVF9QQVJBTVMoMixULGludCk6IFQxID0gaW50LCBUMiA9IGludAorLy8gQk9PU1RfTVBMX1BQX0RFRkFVTFRfUEFSQU1TKG4sVCxpbnQpOiBUMSA9IGludCwgVDIgPSBpbnQsIC4uLCBUbiA9IGludAorCisjaWYgIWRlZmluZWQoQk9PU1RfTVBMX0NGR19OT19PV05fUFBfUFJJTUlUSVZFUykKKworIyAgIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9jYXQuaHBwPgorCisjICAgZGVmaW5lIEJPT1NUX01QTF9QUF9ERUZBVUxUX1BBUkFNUyhuLHAsdikgXAorICAgIEJPT1NUX1BQX0NBVChCT09TVF9NUExfUFBfREVGQVVMVF9QQVJBTVNfLG4pKHAsdikgXAorICAgIC8qKi8KKyAgICAKKyMgICBkZWZpbmUgQk9PU1RfTVBMX1BQX0RFRkFVTFRfUEFSQU1TXzAocCx2KQorIyAgIGRlZmluZSBCT09TVF9NUExfUFBfREVGQVVMVF9QQVJBTVNfMShwLHYpIHAjIzE9dgorIyAgIGRlZmluZSBCT09TVF9NUExfUFBfREVGQVVMVF9QQVJBTVNfMihwLHYpIHAjIzE9dixwIyMyPXYKKyMgICBkZWZpbmUgQk9PU1RfTVBMX1BQX0RFRkFVTFRfUEFSQU1TXzMocCx2KSBwIyMxPXYscCMjMj12LHAjIzM9dgorIyAgIGRlZmluZSBCT09TVF9NUExfUFBfREVGQVVMVF9QQVJBTVNfNChwLHYpIHAjIzE9dixwIyMyPXYscCMjMz12LHAjIzQ9dgorIyAgIGRlZmluZSBCT09TVF9NUExfUFBfREVGQVVMVF9QQVJBTVNfNShwLHYpIHAjIzE9dixwIyMyPXYscCMjMz12LHAjIzQ9dixwIyM1PXYKKyMgICBkZWZpbmUgQk9PU1RfTVBMX1BQX0RFRkFVTFRfUEFSQU1TXzYocCx2KSBwIyMxPXYscCMjMj12LHAjIzM9dixwIyM0PXYscCMjNT12LHAjIzY9dgorIyAgIGRlZmluZSBCT09TVF9NUExfUFBfREVGQVVMVF9QQVJBTVNfNyhwLHYpIHAjIzE9dixwIyMyPXYscCMjMz12LHAjIzQ9dixwIyM1PXYscCMjNj12LHAjIzc9dgorIyAgIGRlZmluZSBCT09TVF9NUExfUFBfREVGQVVMVF9QQVJBTVNfOChwLHYpIHAjIzE9dixwIyMyPXYscCMjMz12LHAjIzQ9dixwIyM1PXYscCMjNj12LHAjIzc9dixwIyM4PXYKKyMgICBkZWZpbmUgQk9PU1RfTVBMX1BQX0RFRkFVTFRfUEFSQU1TXzkocCx2KSBwIyMxPXYscCMjMj12LHAjIzM9dixwIyM0PXYscCMjNT12LHAjIzY9dixwIyM3PXYscCMjOD12LHAjIzk9dgorCisjZWxzZQorCisjICAgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL3R1cGxlL2VsZW0uaHBwPgorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9jb21tYV9pZi5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL3JlcGVhdC5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL2luYy5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL2NhdC5ocHA+CisKKyMgICBkZWZpbmUgQk9PU1RfTVBMX1BQX0FVWF9ERUZBVUxUX1BBUkFNX0ZVTkModW51c2VkLCBpLCBwdikgXAorICAgIEJPT1NUX1BQX0NPTU1BX0lGKGkpIFwKKyAgICBCT09TVF9QUF9DQVQoIEJPT1NUX1BQX1RVUExFX0VMRU0oMiwwLHB2KSwgQk9PU1RfUFBfSU5DKGkpICkgXAorICAgICAgICA9IEJPT1NUX1BQX1RVUExFX0VMRU0oMiwxLHB2KSBcCisgICAgLyoqLworCisjICAgZGVmaW5lIEJPT1NUX01QTF9QUF9ERUZBVUxUX1BBUkFNUyhuLCBwYXJhbSwgdmFsdWUpIFwKKyAgICBCT09TVF9QUF9SRVBFQVQoIFwKKyAgICAgICAgICBuIFwKKyAgICAgICAgLCBCT09TVF9NUExfUFBfQVVYX0RFRkFVTFRfUEFSQU1fRlVOQyBcCisgICAgICAgICwgKHBhcmFtLHZhbHVlKSBcCisgICAgICAgICkgXAorICAgIC8qKi8KKworI2VuZGlmCisKKyNlbmRpZiAvLyBCT09TVF9NUExfQVVYX1BSRVBST0NFU1NPUl9ERUZBVUxUX1BBUkFNU19IUFBfSU5DTFVERUQKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3Nvci9leHRfcGFyYW1zLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3Nvci9leHRfcGFyYW1zLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZjAxYjFiCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc29yL2V4dF9wYXJhbXMuaHBwCkBAIC0wLDAgKzEsNzggQEAKKworI2lmbmRlZiBCT09TVF9NUExfQVVYX1BSRVBST0NFU1NPUl9FWFRfUEFSQU1TX0hQUF9JTkNMVURFRAorI2RlZmluZSBCT09TVF9NUExfQVVYX1BSRVBST0NFU1NPUl9FWFRfUEFSQU1TX0hQUF9JTkNMVURFRAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisvLyBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvbGlicy9tcGwgZm9yIGRvY3VtZW50YXRpb24uCisKKy8vICRJZDogZXh0X3BhcmFtcy5ocHAgNDkyNjcgMjAwOC0xMC0xMSAwNjoxOTowMlogYWd1cnRvdm95ICQKKy8vICREYXRlOiAyMDA4LTEwLTEwIDIzOjE5OjAyIC0wNzAwIChGcmksIDEwIE9jdCAyMDA4KSAkCisvLyAkUmV2aXNpb246IDQ5MjY3ICQKKworI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2NvbmZpZy9wcmVwcm9jZXNzb3IuaHBwPgorCisvLyBCT09TVF9NUExfUFBfRVhUX1BBUkFNUygyLDIsVCk6IDxub3RoaW5nPgorLy8gQk9PU1RfTVBMX1BQX0VYVF9QQVJBTVMoMiwzLFQpOiBUMgorLy8gQk9PU1RfTVBMX1BQX0VYVF9QQVJBTVMoMiw0LFQpOiBUMiwgVDMKKy8vIEJPT1NUX01QTF9QUF9FWFRfUEFSQU1TKDIsbixUKTogVDIsIFQzLCAuLiwgVG4tMQorCisjaWYgIWRlZmluZWQoQk9PU1RfTVBMX0NGR19OT19PV05fUFBfUFJJTUlUSVZFUykKKworIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3Nvci9maWx0ZXJfcGFyYW1zLmhwcD4KKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzb3Ivc3ViLmhwcD4KKworIyAgIGRlZmluZSBCT09TVF9NUExfUFBfRVhUX1BBUkFNUyhpLGoscCkgXAorICAgIEJPT1NUX01QTF9QUF9FWFRfUEFSQU1TX0RFTEFZXzEoaSxCT09TVF9NUExfUFBfU1VCKGosaSkscCkgXAorICAgIC8qKi8KKworIyAgIGRlZmluZSBCT09TVF9NUExfUFBfRVhUX1BBUkFNU19ERUxBWV8xKGksbixwKSBcCisgICAgQk9PU1RfTVBMX1BQX0VYVF9QQVJBTVNfREVMQVlfMihpLG4scCkgXAorICAgIC8qKi8KKworIyAgIGRlZmluZSBCT09TVF9NUExfUFBfRVhUX1BBUkFNU19ERUxBWV8yKGksbixwKSBcCisgICAgQk9PU1RfTVBMX1BQX0VYVF9QQVJBTVNfIyNpKG4scCkgXAorICAgIC8qKi8KKworIyAgIGRlZmluZSBCT09TVF9NUExfUFBfRVhUX1BBUkFNU18xKGkscCkgQk9PU1RfTVBMX1BQX0ZJTFRFUl9QQVJBTVNfIyNpKHAjIzEscCMjMixwIyMzLHAjIzQscCMjNSxwIyM2LHAjIzcscCMjOCxwIyM5KQorIyAgIGRlZmluZSBCT09TVF9NUExfUFBfRVhUX1BBUkFNU18yKGkscCkgQk9PU1RfTVBMX1BQX0ZJTFRFUl9QQVJBTVNfIyNpKHAjIzIscCMjMyxwIyM0LHAjIzUscCMjNixwIyM3LHAjIzgscCMjOSxwMSkKKyMgICBkZWZpbmUgQk9PU1RfTVBMX1BQX0VYVF9QQVJBTVNfMyhpLHApIEJPT1NUX01QTF9QUF9GSUxURVJfUEFSQU1TXyMjaShwIyMzLHAjIzQscCMjNSxwIyM2LHAjIzcscCMjOCxwIyM5LHAxLHAyKQorIyAgIGRlZmluZSBCT09TVF9NUExfUFBfRVhUX1BBUkFNU180KGkscCkgQk9PU1RfTVBMX1BQX0ZJTFRFUl9QQVJBTVNfIyNpKHAjIzQscCMjNSxwIyM2LHAjIzcscCMjOCxwIyM5LHAxLHAyLHAzKQorIyAgIGRlZmluZSBCT09TVF9NUExfUFBfRVhUX1BBUkFNU181KGkscCkgQk9PU1RfTVBMX1BQX0ZJTFRFUl9QQVJBTVNfIyNpKHAjIzUscCMjNixwIyM3LHAjIzgscCMjOSxwMSxwMixwMyxwNCkKKyMgICBkZWZpbmUgQk9PU1RfTVBMX1BQX0VYVF9QQVJBTVNfNihpLHApIEJPT1NUX01QTF9QUF9GSUxURVJfUEFSQU1TXyMjaShwIyM2LHAjIzcscCMjOCxwIyM5LHAxLHAyLHAzLHA0LHA1KQorIyAgIGRlZmluZSBCT09TVF9NUExfUFBfRVhUX1BBUkFNU183KGkscCkgQk9PU1RfTVBMX1BQX0ZJTFRFUl9QQVJBTVNfIyNpKHAjIzcscCMjOCxwIyM5LHAxLHAyLHAzLHA0LHA1LHA2KQorIyAgIGRlZmluZSBCT09TVF9NUExfUFBfRVhUX1BBUkFNU184KGkscCkgQk9PU1RfTVBMX1BQX0ZJTFRFUl9QQVJBTVNfIyNpKHAjIzgscCMjOSxwMSxwMixwMyxwNCxwNSxwNixwNykKKyMgICBkZWZpbmUgQk9PU1RfTVBMX1BQX0VYVF9QQVJBTVNfOShpLHApIEJPT1NUX01QTF9QUF9GSUxURVJfUEFSQU1TXyMjaShwIyM5LHAxLHAyLHAzLHA0LHA1LHA2LHA3LHA4KQorCisjZWxzZQorCisjICAgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL2FyaXRobWV0aWMvYWRkLmhwcD4KKyMgICBpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3IvYXJpdGhtZXRpYy9zdWIuaHBwPgorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9jb21tYV9pZi5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL3JlcGVhdC5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL3R1cGxlL2VsZW0uaHBwPgorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9jYXQuaHBwPgorCisjICAgZGVmaW5lIEJPT1NUX01QTF9QUF9BVVhfRVhUX1BBUkFNX0ZVTkModW51c2VkLCBpLCBvcCkgXAorICAgIEJPT1NUX1BQX0NPTU1BX0lGKGkpIFwKKyAgICBCT09TVF9QUF9DQVQoIFwKKyAgICAgICAgICBCT09TVF9QUF9UVVBMRV9FTEVNKDIsMSxvcCkgXAorICAgICAgICAsIEJPT1NUX1BQX0FERF9EKDEsIGksIEJPT1NUX1BQX1RVUExFX0VMRU0oMiwwLG9wKSkgXAorICAgICAgICApIFwKKyAgICAvKiovCisKKyMgICBkZWZpbmUgQk9PU1RfTVBMX1BQX0VYVF9QQVJBTVMoaSwgaiwgcGFyYW0pIFwKKyAgICBCT09TVF9QUF9SRVBFQVQoIFwKKyAgICAgICAgICBCT09TVF9QUF9TVUJfRCgxLGosaSkgXAorICAgICAgICAsIEJPT1NUX01QTF9QUF9BVVhfRVhUX1BBUkFNX0ZVTkMgXAorICAgICAgICAsIChpLHBhcmFtKSBcCisgICAgICAgICkgXAorICAgIC8qKi8KKworI2VuZGlmCisKKyNlbmRpZiAvLyBCT09TVF9NUExfQVVYX1BSRVBST0NFU1NPUl9FWFRfUEFSQU1TX0hQUF9JTkNMVURFRApkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc29yL3BhcnRpYWxfc3BlY19wYXJhbXMuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc29yL3BhcnRpYWxfc3BlY19wYXJhbXMuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRmMTMyMzUKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzb3IvcGFydGlhbF9zcGVjX3BhcmFtcy5ocHAKQEAgLTAsMCArMSwzMiBAQAorCisjaWZuZGVmIEJPT1NUX01QTF9BVVhfUFJFUFJPQ0VTU09SX1BBUlRJQUxfU1BFQ19QQVJBTVNfSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX01QTF9BVVhfUFJFUFJPQ0VTU09SX1BBUlRJQUxfU1BFQ19QQVJBTVNfSFBQX0lOQ0xVREVECisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKy8vIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL21wbCBmb3IgZG9jdW1lbnRhdGlvbi4KKworLy8gJElkOiBwYXJ0aWFsX3NwZWNfcGFyYW1zLmhwcCA0OTI2NyAyMDA4LTEwLTExIDA2OjE5OjAyWiBhZ3VydG92b3kgJAorLy8gJERhdGU6IDIwMDgtMTAtMTAgMjM6MTk6MDIgLTA3MDAgKEZyaSwgMTAgT2N0IDIwMDgpICQKKy8vICRSZXZpc2lvbjogNDkyNjcgJAorCisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2xpbWl0cy9hcml0eS5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc29yL3BhcmFtcy5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc29yL2VudW0uaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3Nvci9zdWIuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9jb21tYV9pZi5ocHA+CisKKyNkZWZpbmUgQk9PU1RfTVBMX1BQX1BBUlRJQUxfU1BFQ19QQVJBTVMobiwgcGFyYW0sIGRlZikgXAorQk9PU1RfTVBMX1BQX1BBUkFNUyhuLCBwYXJhbSkgXAorQk9PU1RfUFBfQ09NTUFfSUYoQk9PU1RfTVBMX1BQX1NVQihCT09TVF9NUExfTElNSVRfTUVUQUZVTkNUSU9OX0FSSVRZLG4pKSBcCitCT09TVF9NUExfUFBfRU5VTSggXAorICAgICAgQk9PU1RfTVBMX1BQX1NVQihCT09TVF9NUExfTElNSVRfTUVUQUZVTkNUSU9OX0FSSVRZLG4pIFwKKyAgICAsIGRlZiBcCisgICAgKSBcCisvKiovCisKKyNlbmRpZiAvLyBCT09TVF9NUExfQVVYX1BSRVBST0NFU1NPUl9QQVJUSUFMX1NQRUNfUEFSQU1TX0hQUF9JTkNMVURFRApkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc29yL3JhbmdlLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3Nvci9yYW5nZS5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDk3YzlmYgotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3Nvci9yYW5nZS5ocHAKQEAgLTAsMCArMSwyMyBAQAorCisjaWZuZGVmIEJPT1NUX01QTF9BVVhfUFJFUFJPQ0VTU09SX1JBTkdFX0hQUF9JTkNMVURFRAorI2RlZmluZSBCT09TVF9NUExfQVVYX1BSRVBST0NFU1NPUl9SQU5HRV9IUFBfSU5DTFVERUQKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMi0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworLy8gU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL2xpYnMvbXBsIGZvciBkb2N1bWVudGF0aW9uLgorCisvLyAkSWQ6IHJhbmdlLmhwcCA0OTI2NyAyMDA4LTEwLTExIDA2OjE5OjAyWiBhZ3VydG92b3kgJAorLy8gJERhdGU6IDIwMDgtMTAtMTAgMjM6MTk6MDIgLTA3MDAgKEZyaSwgMTAgT2N0IDIwMDgpICQKKy8vICRSZXZpc2lvbjogNDkyNjcgJAorCisjaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL3NlcS9zdWJzZXEuaHBwPgorCisjZGVmaW5lIEJPT1NUX01QTF9QUF9SQU5HRShmaXJzdCwgbGVuZ3RoKSBcCisgICAgQk9PU1RfUFBfU0VRX1NVQlNFUSgoMCkoMSkoMikoMykoNCkoNSkoNikoNykoOCkoOSksIGZpcnN0LCBsZW5ndGgpIFwKKy8qKi8KKworI2VuZGlmIC8vIEJPT1NUX01QTF9BVVhfUFJFUFJPQ0VTU09SX1JBTkdFX0hQUF9JTkNMVURFRApkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc29yL3JlcGVhdC5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzb3IvcmVwZWF0LmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45YjM2MTM2Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc29yL3JlcGVhdC5ocHAKQEAgLTAsMCArMSw1MSBAQAorCisjaWZuZGVmIEJPT1NUX01QTF9BVVhfUFJFUFJPQ0VTU09SX1JFUEVBVF9IUFBfSU5DTFVERUQKKyNkZWZpbmUgQk9PU1RfTVBMX0FVWF9QUkVQUk9DRVNTT1JfUkVQRUFUX0hQUF9JTkNMVURFRAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAyLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisvLyBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvbGlicy9tcGwgZm9yIGRvY3VtZW50YXRpb24uCisKKy8vICRJZDogcmVwZWF0LmhwcCA0OTI2NyAyMDA4LTEwLTExIDA2OjE5OjAyWiBhZ3VydG92b3kgJAorLy8gJERhdGU6IDIwMDgtMTAtMTAgMjM6MTk6MDIgLTA3MDAgKEZyaSwgMTAgT2N0IDIwMDgpICQKKy8vICRSZXZpc2lvbjogNDkyNjcgJAorCisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vY29uZmlnL3ByZXByb2Nlc3Nvci5ocHA+CisKKyNpZiAhZGVmaW5lZChCT09TVF9NUExfQ0ZHX05PX09XTl9QUF9QUklNSVRJVkVTKQorCisjICAgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL2NhdC5ocHA+CisKKyMgICBkZWZpbmUgQk9PU1RfTVBMX1BQX1JFUEVBVChuLGYscGFyYW0pIFwKKyAgICBCT09TVF9QUF9DQVQoQk9PU1RfTVBMX1BQX1JFUEVBVF8sbikoZixwYXJhbSkgXAorICAgIC8qKi8KKyAgICAKKyMgICBkZWZpbmUgQk9PU1RfTVBMX1BQX1JFUEVBVF8wKGYscCkKKyMgICBkZWZpbmUgQk9PU1RfTVBMX1BQX1JFUEVBVF8xKGYscCkgZigwLDAscCkKKyMgICBkZWZpbmUgQk9PU1RfTVBMX1BQX1JFUEVBVF8yKGYscCkgZigwLDAscCkgZigwLDEscCkKKyMgICBkZWZpbmUgQk9PU1RfTVBMX1BQX1JFUEVBVF8zKGYscCkgZigwLDAscCkgZigwLDEscCkgZigwLDIscCkKKyMgICBkZWZpbmUgQk9PU1RfTVBMX1BQX1JFUEVBVF80KGYscCkgZigwLDAscCkgZigwLDEscCkgZigwLDIscCkgZigwLDMscCkKKyMgICBkZWZpbmUgQk9PU1RfTVBMX1BQX1JFUEVBVF81KGYscCkgZigwLDAscCkgZigwLDEscCkgZigwLDIscCkgZigwLDMscCkgZigwLDQscCkKKyMgICBkZWZpbmUgQk9PU1RfTVBMX1BQX1JFUEVBVF82KGYscCkgZigwLDAscCkgZigwLDEscCkgZigwLDIscCkgZigwLDMscCkgZigwLDQscCkgZigwLDUscCkKKyMgICBkZWZpbmUgQk9PU1RfTVBMX1BQX1JFUEVBVF83KGYscCkgZigwLDAscCkgZigwLDEscCkgZigwLDIscCkgZigwLDMscCkgZigwLDQscCkgZigwLDUscCkgZigwLDYscCkKKyMgICBkZWZpbmUgQk9PU1RfTVBMX1BQX1JFUEVBVF84KGYscCkgZigwLDAscCkgZigwLDEscCkgZigwLDIscCkgZigwLDMscCkgZigwLDQscCkgZigwLDUscCkgZigwLDYscCkgZigwLDcscCkKKyMgICBkZWZpbmUgQk9PU1RfTVBMX1BQX1JFUEVBVF85KGYscCkgZigwLDAscCkgZigwLDEscCkgZigwLDIscCkgZigwLDMscCkgZigwLDQscCkgZigwLDUscCkgZigwLDYscCkgZigwLDcscCkgZigwLDgscCkKKyMgICBkZWZpbmUgQk9PU1RfTVBMX1BQX1JFUEVBVF8xMChmLHApIGYoMCwwLHApIGYoMCwxLHApIGYoMCwyLHApIGYoMCwzLHApIGYoMCw0LHApIGYoMCw1LHApIGYoMCw2LHApIGYoMCw3LHApIGYoMCw4LHApIGYoMCw5LHApCisKKyNlbHNlIAorCisjICAgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL3JlcGVhdC5ocHA+CisKKyMgICBkZWZpbmUgQk9PU1RfTVBMX1BQX1JFUEVBVChuLGYscGFyYW0pIFwKKyAgICBCT09TVF9QUF9SRVBFQVQobixmLHBhcmFtKSBcCisgICAgLyoqLworCisjZW5kaWYgCisKKyNkZWZpbmUgQk9PU1RfTVBMX1BQX1JFUEVBVF9JREVOVElUWV9GVU5DKHVudXNlZDEsIHVudXNlZDIsIHgpIHgKKworI2VuZGlmIC8vIEJPT1NUX01QTF9BVVhfUFJFUFJPQ0VTU09SX1JFUEVBVF9IUFBfSU5DTFVERUQKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3B1c2hfYmFja19pbXBsLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3B1c2hfYmFja19pbXBsLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMjIzNGFkCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHVzaF9iYWNrX2ltcGwuaHBwCkBAIC0wLDAgKzEsNzAgQEAKKworI2lmbmRlZiBCT09TVF9NUExfQVVYX1BVU0hfQkFDS19JTVBMX0hQUF9JTkNMVURFRAorI2RlZmluZSBCT09TVF9NUExfQVVYX1BVU0hfQkFDS19JTVBMX0hQUF9JTkNMVURFRAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDgKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisvLyBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvbGlicy9tcGwgZm9yIGRvY3VtZW50YXRpb24uCisKKy8vICRJZDogcHVzaF9iYWNrX2ltcGwuaHBwIDU1Njc5IDIwMDktMDgtMjAgMDc6NTA6MTZaIGFndXJ0b3ZveSAkCisvLyAkRGF0ZTogMjAwOS0wOC0yMCAwMDo1MDoxNiAtMDcwMCAoVGh1LCAyMCBBdWcgMjAwOSkgJAorLy8gJFJldmlzaW9uOiA1NTY3OSAkCisKKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvcHVzaF9iYWNrX2Z3ZC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2Fzc2VydC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vaGFzX3R5cGUuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL3RyYWl0c19sYW1iZGFfc3BlYy5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vY29uZmlnL2ZvcndhcmRpbmcuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2NvbmZpZy9zdGF0aWNfY29uc3RhbnQuaHBwPgorCisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvaXNfc2FtZS5ocHA+CisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCitzdHJ1Y3QgaGFzX3B1c2hfYmFja19hcmcge307CisKKy8vIGFndXJ0IDA1L2ZlYi8wNDogbm8gZGVmYXVsdCBpbXBsZW1lbnRhdGlvbjsgdGhlIHN0dWIgZGVmaW5pdGlvbiBpcyBuZWVkZWQgCisvLyB0byBlbmFibGUgdGhlIGRlZmF1bHQgJ2hhc19wdXNoX2JhY2snIGltcGxlbWVudGF0aW9uIGJlbG93Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgVGFnID4KK3N0cnVjdCBwdXNoX2JhY2tfaW1wbAoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBTZXF1ZW5jZSwgdHlwZW5hbWUgVCA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgLy8gc2hvdWxkIGJlIGluc3RhbnRpYXRlZCBvbmx5IGluIHRoZSBjb250ZXh0IG9mICdoYXNfcHVzaF9iYWNrX2ltcGwnOworICAgICAgICAvLyBpZiB5b3UndmUgZ290IGFuIGFzc2VydCBoZXJlLCB5b3UgYXJlIHJlcXVlc3RpbmcgYSAncHVzaF9iYWNrJyAKKyAgICAgICAgLy8gc3BlY2lhbGl6YXRpb24gdGhhdCBkb2Vzbid0IGV4aXN0LgorICAgICAgICBCT09TVF9NUExfQVNTRVJUX01TRygKKyAgICAgICAgICAgICAgKCBuZG5ib29zdDo6aXNfc2FtZTwgVCwgaGFzX3B1c2hfYmFja19hcmcgPjo6dmFsdWUgKQorICAgICAgICAgICAgLCBSRVFVRVNURURfUFVTSF9CQUNLX1NQRUNJQUxJWkFUSU9OX0ZPUl9TRVFVRU5DRV9ET0VTX05PVF9FWElTVAorICAgICAgICAgICAgLCAoIFNlcXVlbmNlICkKKyAgICAgICAgICAgICk7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUYWcgPgorc3RydWN0IGhhc19wdXNoX2JhY2tfaW1wbAoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBTZXEgPiBzdHJ1Y3QgYXBwbHkKKyNpZiAhZGVmaW5lZChCT09TVF9NUExfQ0ZHX05PX05FU1RFRF9GT1JXQVJESU5HKQorICAgICAgICA6IGF1eDo6aGFzX3R5cGU8IHB1c2hfYmFjazwgU2VxLCBoYXNfcHVzaF9iYWNrX2FyZyA+ID4KKyAgICB7CisjZWxzZQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBhdXg6Omhhc190eXBlPCBwdXNoX2JhY2s8IFNlcSwgaGFzX3B1c2hfYmFja19hcmcgPiA+IHR5cGU7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChib29sLCB2YWx1ZSA9IAorICAgICAgICAgICAgICAoYXV4OjpoYXNfdHlwZTwgcHVzaF9iYWNrPCBTZXEsIGhhc19wdXNoX2JhY2tfYXJnID4gPjo6dmFsdWUpCisgICAgICAgICAgICApOworI2VuZGlmCisgICAgfTsKK307CisKK0JPT1NUX01QTF9BTEdPUklUTV9UUkFJVFNfTEFNQkRBX1NQRUMoMiwgcHVzaF9iYWNrX2ltcGwpCitCT09TVF9NUExfQUxHT1JJVE1fVFJBSVRTX0xBTUJEQV9TUEVDKDEsIGhhc19wdXNoX2JhY2tfaW1wbCkKKworfX0KKworI2VuZGlmIC8vIEJPT1NUX01QTF9BVVhfUFVTSF9CQUNLX0lNUExfSFBQX0lOQ0xVREVECmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9wdXNoX2Zyb250X2ltcGwuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHVzaF9mcm9udF9pbXBsLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZWY1M2Y4Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vcHVzaF9mcm9udF9pbXBsLmhwcApAQCAtMCwwICsxLDcxIEBACisKKyNpZm5kZWYgQk9PU1RfTVBMX0FVWF9QVVNIX0ZST05UX0lNUExfSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX01QTF9BVVhfUFVTSF9GUk9OVF9JTVBMX0hQUF9JTkNMVURFRAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDgKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisvLyBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvbGlicy9tcGwgZm9yIGRvY3VtZW50YXRpb24uCisKKy8vICRJZDogcHVzaF9mcm9udF9pbXBsLmhwcCA1NTY3OSAyMDA5LTA4LTIwIDA3OjUwOjE2WiBhZ3VydG92b3kgJAorLy8gJERhdGU6IDIwMDktMDgtMjAgMDA6NTA6MTYgLTA3MDAgKFRodSwgMjAgQXVnIDIwMDkpICQKKy8vICRSZXZpc2lvbjogNTU2NzkgJAorCisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL3B1c2hfZnJvbnRfZndkLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXNzZXJ0LmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9oYXNfdHlwZS5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vdHJhaXRzX2xhbWJkYV9zcGVjLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9jb25maWcvZm9yd2FyZGluZy5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vY29uZmlnL3N0YXRpY19jb25zdGFudC5ocHA+CisKKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9pc19zYW1lLmhwcD4KKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3N0cnVjdCBoYXNfcHVzaF9mcm9udF9hcmcge307CisKKy8vIGFndXJ0IDA1L2ZlYi8wNDogbm8gZGVmYXVsdCBpbXBsZW1lbnRhdGlvbjsgdGhlIHN0dWIgZGVmaW5pdGlvbiBpcyBuZWVkZWQgCisvLyB0byBlbmFibGUgdGhlIGRlZmF1bHQgJ2hhc19wdXNoX2Zyb250JyBpbXBsZW1lbnRhdGlvbiBiZWxvdworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVGFnID4KK3N0cnVjdCBwdXNoX2Zyb250X2ltcGwKK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgU2VxdWVuY2UsIHR5cGVuYW1lIFQgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIC8vIHNob3VsZCBiZSBpbnN0YW50aWF0ZWQgb25seSBpbiB0aGUgY29udGV4dCBvZiAnaGFzX3B1c2hfZnJvbnRfaW1wbCc7CisgICAgICAgIC8vIGlmIHlvdSd2ZSBnb3QgYW4gYXNzZXJ0IGhlcmUsIHlvdSBhcmUgcmVxdWVzdGluZyBhICdwdXNoX2Zyb250JyAKKyAgICAgICAgLy8gc3BlY2lhbGl6YXRpb24gdGhhdCBkb2Vzbid0IGV4aXN0LgorICAgICAgICBCT09TVF9NUExfQVNTRVJUX01TRygKKyAgICAgICAgICAgICAgKCBuZG5ib29zdDo6aXNfc2FtZTwgVCwgaGFzX3B1c2hfZnJvbnRfYXJnID46OnZhbHVlICkKKyAgICAgICAgICAgICwgUkVRVUVTVEVEX1BVU0hfRlJPTlRfU1BFQ0lBTElaQVRJT05fRk9SX1NFUVVFTkNFX0RPRVNfTk9UX0VYSVNUCisgICAgICAgICAgICAsICggU2VxdWVuY2UgKQorICAgICAgICAgICAgKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFRhZyA+CitzdHJ1Y3QgaGFzX3B1c2hfZnJvbnRfaW1wbAoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBTZXEgPiBzdHJ1Y3QgYXBwbHkKKyNpZiAhZGVmaW5lZChCT09TVF9NUExfQ0ZHX05PX05FU1RFRF9GT1JXQVJESU5HKQorICAgICAgICA6IGF1eDo6aGFzX3R5cGU8IHB1c2hfZnJvbnQ8IFNlcSwgaGFzX3B1c2hfZnJvbnRfYXJnID4gPgorICAgIHsKKyNlbHNlCisgICAgeworICAgICAgICB0eXBlZGVmIGF1eDo6aGFzX3R5cGU8IHB1c2hfZnJvbnQ8IFNlcSwgaGFzX3B1c2hfZnJvbnRfYXJnID4gPiB0eXBlOworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoYm9vbCwgdmFsdWUgPSAKKyAgICAgICAgICAgICAgKGF1eDo6aGFzX3R5cGU8IHB1c2hfZnJvbnQ8IFNlcSwgaGFzX3B1c2hfZnJvbnRfYXJnID4gPjo6dmFsdWUpCisgICAgICAgICAgICApOworI2VuZGlmCisgICAgfTsKK307CisKK0JPT1NUX01QTF9BTEdPUklUTV9UUkFJVFNfTEFNQkRBX1NQRUMoMiwgcHVzaF9mcm9udF9pbXBsKQorQk9PU1RfTVBMX0FMR09SSVRNX1RSQUlUU19MQU1CREFfU1BFQygxLCBoYXNfcHVzaF9mcm9udF9pbXBsKQorCit9fQorCisjZW5kaWYgLy8gQk9PU1RfTVBMX0FVWF9QVVNIX0ZST05UX0lNUExfSFBQX0lOQ0xVREVECmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9yZXZlcnNlX2ZvbGRfaW1wbC5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy9yZXZlcnNlX2ZvbGRfaW1wbC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2Y1ZTg1OAotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3JldmVyc2VfZm9sZF9pbXBsLmhwcApAQCAtMCwwICsxLDQ0IEBACisKKyNpZm5kZWYgQk9PU1RfTVBMX0FVWF9SRVZFUlNFX0ZPTERfSU1QTF9IUFBfSU5DTFVERUQKKyNkZWZpbmUgQk9PU1RfTVBMX0FVWF9SRVZFUlNFX0ZPTERfSU1QTF9IUFBfSU5DTFVERUQKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworLy8gU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL2xpYnMvbXBsIGZvciBkb2N1bWVudGF0aW9uLgorCisvLyAkSWQ6IHJldmVyc2VfZm9sZF9pbXBsLmhwcCA0OTI2NyAyMDA4LTEwLTExIDA2OjE5OjAyWiBhZ3VydG92b3kgJAorLy8gJERhdGU6IDIwMDgtMTAtMTAgMjM6MTk6MDIgLTA3MDAgKEZyaSwgMTAgT2N0IDIwMDgpICQKKy8vICRSZXZpc2lvbjogNDkyNjcgJAorCisjaWYgIWRlZmluZWQoQk9PU1RfTVBMX1BSRVBST0NFU1NJTkdfTU9ERSkKKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvbmV4dF9wcmlvci5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2RlcmVmLmhwcD4KKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXBwbHkuaHBwPgorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2NvbmZpZy9jdHBzLmhwcD4KKyMgICBpZiBkZWZpbmVkKEJPT1NUX05PX1RFTVBMQVRFX1BBUlRJQUxfU1BFQ0lBTElaQVRJT04pIFwKKyAgICB8fCBkZWZpbmVkKEJPT1NUX01QTF9DRkdfTk9fTk9OVFlQRV9URU1QTEFURV9QQVJUSUFMX1NQRUMpCisjICAgICAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC9pZi5ocHA+CisjICAgICAgIGluY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2lzX3NhbWUuaHBwPgorIyAgIGVuZGlmCisjZW5kaWYKKworI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2NvbmZpZy91c2VfcHJlcHJvY2Vzc2VkLmhwcD4KKworI2lmICFkZWZpbmVkKEJPT1NUX01QTF9DRkdfTk9fUFJFUFJPQ0VTU0VEX0hFQURFUlMpIFwKKyAgICAmJiAhZGVmaW5lZChCT09TVF9NUExfUFJFUFJPQ0VTU0lOR19NT0RFKQorCisjICAgZGVmaW5lIEJPT1NUX01QTF9QUkVQUk9DRVNTRURfSEVBREVSIHJldmVyc2VfZm9sZF9pbXBsLmhwcAorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2luY2x1ZGVfcHJlcHJvY2Vzc2VkLmhwcD4KKworI2Vsc2UKKworIyAgIGRlZmluZSBBVVg3NzgwNzZfRk9MRF9JTVBMX09QKGl0ZXIpIHR5cGVuYW1lIGRlcmVmPGl0ZXI+Ojp0eXBlCisjICAgZGVmaW5lIEFVWDc3ODA3Nl9GT0xEX0lNUExfTkFNRV9QUkVGSVggcmV2ZXJzZV9mb2xkCisjICAgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vcmV2ZXJzZV9mb2xkX2ltcGxfYm9keS5ocHA+CisKKyNlbmRpZiAvLyBCT09TVF9NUExfQ0ZHX05PX1BSRVBST0NFU1NFRF9IRUFERVJTCisjZW5kaWYgLy8gQk9PU1RfTVBMX0FVWF9SRVZFUlNFX0ZPTERfSU1QTF9IUFBfSU5DTFVERUQKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3JldmVyc2VfZm9sZF9pbXBsX2JvZHkuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vcmV2ZXJzZV9mb2xkX2ltcGxfYm9keS5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODM4ZTYzZQotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3JldmVyc2VfZm9sZF9pbXBsX2JvZHkuaHBwCkBAIC0wLDAgKzEsNDEyIEBACisKKy8vIE5PIElOQ0xVREUgR1VBUkRTLCBUSEUgSEVBREVSIElTIElOVEVOREVEIEZPUiBNVUxUSVBMRSBJTkNMVVNJT04hCisKKyNpZiAhZGVmaW5lZChCT09TVF9QUF9JU19JVEVSQVRJTkcpCisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKy8vIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL21wbCBmb3IgZG9jdW1lbnRhdGlvbi4KKworLy8gJElkOiByZXZlcnNlX2ZvbGRfaW1wbF9ib2R5LmhwcCA0OTI2NyAyMDA4LTEwLTExIDA2OjE5OjAyWiBhZ3VydG92b3kgJAorLy8gJERhdGU6IDIwMDgtMTAtMTAgMjM6MTk6MDIgLTA3MDAgKEZyaSwgMTAgT2N0IDIwMDgpICQKKy8vICRSZXZpc2lvbjogNDkyNjcgJAorCisjICAgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2xpbWl0cy91bnJvbGxpbmcuaHBwPgorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3Nvci9yZXBlYXQuaHBwPgorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2NvbmZpZy9jdHBzLmhwcD4KKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9udHRwX2RlY2wuaHBwPgorCisjICAgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL2FyaXRobWV0aWMvc3ViLmhwcD4KKyMgICBpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3IvaXRlcmF0ZS5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL2RlYy5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL2luYy5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL2NhdC5ocHA+CisKKy8vIGxvY2FsIG1hY3JvcywgI3VuZGVmLWluZWQgYXQgdGhlIGVuZCBvZiB0aGUgaGVhZGVyCisKKyMgICBkZWZpbmUgQVVYNzc4MDc2X0lURVJfRk9MRF9GT1JXQVJEX1NURVAodW51c2VkLCBuXywgdW51c2VkMikgXAorICAgIHR5cGVkZWYgdHlwZW5hbWUgYXBwbHkyPCBcCisgICAgICAgICAgRm9yd2FyZE9wIFwKKyAgICAgICAgLCBCT09TVF9QUF9DQVQoZndkX3N0YXRlLG5fKSBcCisgICAgICAgICwgQVVYNzc4MDc2X0ZPTERfSU1QTF9PUChCT09TVF9QUF9DQVQoaXRlcixuXykpIFwKKyAgICAgICAgPjo6dHlwZSBCT09TVF9QUF9DQVQoZndkX3N0YXRlLEJPT1NUX1BQX0lOQyhuXykpOyBcCisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6Om5leHQ8Qk9PU1RfUFBfQ0FUKGl0ZXIsbl8pPjo6dHlwZSBcCisgICAgICAgIEJPT1NUX1BQX0NBVChpdGVyLEJPT1NUX1BQX0lOQyhuXykpOyBcCisgICAgLyoqLworCisjICAgZGVmaW5lIEFVWDc3ODA3Nl9JVEVSX0ZPTERfQkFDS1dBUkRfU1RFUF9GVU5DKG5fKSBcCisgICAgdHlwZWRlZiB0eXBlbmFtZSBhcHBseTI8IFwKKyAgICAgICAgICBCYWNrd2FyZE9wIFwKKyAgICAgICAgLCBCT09TVF9QUF9DQVQoYmt3ZF9zdGF0ZSxuXykgXAorICAgICAgICAsIEFVWDc3ODA3Nl9GT0xEX0lNUExfT1AoQk9PU1RfUFBfQ0FUKGl0ZXIsQk9PU1RfUFBfREVDKG5fKSkpIFwKKyAgICAgICAgPjo6dHlwZSBCT09TVF9QUF9DQVQoYmt3ZF9zdGF0ZSxCT09TVF9QUF9ERUMobl8pKTsgXAorICAgIC8qKi8KKworIyAgIGRlZmluZSBBVVg3NzgwNzZfSVRFUl9GT0xEX0JBQ0tXQVJEX1NURVAodW51c2VkLCBuXywgaikgXAorICAgIEFVWDc3ODA3Nl9JVEVSX0ZPTERfQkFDS1dBUkRfU1RFUF9GVU5DKCBcCisgICAgICAgICAgQk9PU1RfUFBfU1VCX0QoMSxqLG5fKSBcCisgICAgICAgICkgXAorICAgIC8qKi8KKworIyAgIGRlZmluZSBBVVg3NzgwNzZfRklSU1RfQkFDS1dBUkRfU1RBVEVfVFlQRURFRihuXykgXAorICAgIHR5cGVkZWYgdHlwZW5hbWUgbmVzdGVkX2NodW5rOjpzdGF0ZSBCT09TVF9QUF9DQVQoYmt3ZF9zdGF0ZSxuXyk7CisgICAgLyoqLworCisjICAgZGVmaW5lIEFVWDc3ODA3Nl9GT0xEX0lNUExfTkFNRSBcCisgICAgQk9PU1RfUFBfQ0FUKEFVWDc3ODA3Nl9GT0xEX0lNUExfTkFNRV9QUkVGSVgsX2ltcGwpIFwKKyAgICAvKiovCisKKyMgICBkZWZpbmUgQVVYNzc4MDc2X0ZPTERfQ0hVTktfTkFNRSBcCisgICAgQk9PU1RfUFBfQ0FUKEFVWDc3ODA3Nl9GT0xEX0lNUExfTkFNRV9QUkVGSVgsX2NodW5rKSBcCisgICAgLyoqLworCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsgbmFtZXNwYWNlIGF1eCB7CisKKy8vLyBmb3J3YXJkIGRlY2xhcmF0aW9uCit0ZW1wbGF0ZTwKKyAgICAgIEJPT1NUX01QTF9BVVhfTlRUUF9ERUNMKGxvbmcsIE4pCisgICAgLCB0eXBlbmFtZSBGaXJzdAorICAgICwgdHlwZW5hbWUgTGFzdAorICAgICwgdHlwZW5hbWUgU3RhdGUKKyAgICAsIHR5cGVuYW1lIEJhY2t3YXJkT3AKKyAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgID4gCitzdHJ1Y3QgQVVYNzc4MDc2X0ZPTERfSU1QTF9OQU1FOworCisjaWYgIWRlZmluZWQoQk9PU1RfTk9fVEVNUExBVEVfUEFSVElBTF9TUEVDSUFMSVpBVElPTikgXAorICAgICYmICFkZWZpbmVkKEJPT1NUX01QTF9DRkdfTk9fTk9OVFlQRV9URU1QTEFURV9QQVJUSUFMX1NQRUMpCisKKyMgICBkZWZpbmUgQk9PU1RfUFBfSVRFUkFUSU9OX1BBUkFNU18xIFwKKyAgICAoMywoMCwgQk9PU1RfTVBMX0xJTUlUX1VOUk9MTElORywgPG5kbmJvb3N0L21wbC9hdXhfL3JldmVyc2VfZm9sZF9pbXBsX2JvZHkuaHBwPikpCisjICAgaW5jbHVkZSBCT09TVF9QUF9JVEVSQVRFKCkKKworLy8gaW1wbGVtZW50YXRpb24gZm9yIE4gdGhhdCBleGNlZWRzIEJPT1NUX01QTF9MSU1JVF9VTlJPTExJTkcKK3RlbXBsYXRlPAorICAgICAgQk9PU1RfTVBMX0FVWF9OVFRQX0RFQ0wobG9uZywgTikKKyAgICAsIHR5cGVuYW1lIEZpcnN0CisgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICwgdHlwZW5hbWUgQmFja3dhcmRPcAorICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgPiAKK3N0cnVjdCBBVVg3NzgwNzZfRk9MRF9JTVBMX05BTUUKK3sKKyAgICB0eXBlZGVmIEZpcnN0IGl0ZXIwOworICAgIHR5cGVkZWYgU3RhdGUgZndkX3N0YXRlMDsKKworICAgIEJPT1NUX01QTF9QUF9SRVBFQVQoCisgICAgICAgICAgQk9PU1RfTVBMX0xJTUlUX1VOUk9MTElORworICAgICAgICAsIEFVWDc3ODA3Nl9JVEVSX0ZPTERfRk9SV0FSRF9TVEVQCisgICAgICAgICwgdW51c2VkCisgICAgICAgICkKKworICAgIHR5cGVkZWYgQVVYNzc4MDc2X0ZPTERfSU1QTF9OQU1FPAorICAgICAgICAgICggKE4gLSBCT09TVF9NUExfTElNSVRfVU5ST0xMSU5HKSA8IDAgPyAwIDogTiAtIEJPT1NUX01QTF9MSU1JVF9VTlJPTExJTkcgKQorICAgICAgICAsIEJPT1NUX1BQX0NBVChpdGVyLEJPT1NUX01QTF9MSU1JVF9VTlJPTExJTkcpCisgICAgICAgICwgTGFzdAorICAgICAgICAsIEJPT1NUX1BQX0NBVChmd2Rfc3RhdGUsQk9PU1RfTVBMX0xJTUlUX1VOUk9MTElORykKKyAgICAgICAgLCBCYWNrd2FyZE9wCisgICAgICAgICwgRm9yd2FyZE9wCisgICAgICAgID4gbmVzdGVkX2NodW5rOworICAgICAgICAKKyAgICBBVVg3NzgwNzZfRklSU1RfQkFDS1dBUkRfU1RBVEVfVFlQRURFRihCT09TVF9NUExfTElNSVRfVU5ST0xMSU5HKQorCisgICAgQk9PU1RfTVBMX1BQX1JFUEVBVCgKKyAgICAgICAgICBCT09TVF9NUExfTElNSVRfVU5ST0xMSU5HCisgICAgICAgICwgQVVYNzc4MDc2X0lURVJfRk9MRF9CQUNLV0FSRF9TVEVQCisgICAgICAgICwgQk9PU1RfTVBMX0xJTUlUX1VOUk9MTElORworICAgICAgICApCisKKyAgICB0eXBlZGVmIGJrd2Rfc3RhdGUwIHN0YXRlOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbmVzdGVkX2NodW5rOjppdGVyYXRvciBpdGVyYXRvcjsKK307CisKKy8vIGZhbGxiYWNrIGltcGxlbWVudGF0aW9uIGZvciBzZXF1ZW5jZXMgb2YgdW5rbm93biBzaXplCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICwgdHlwZW5hbWUgQmFja3dhcmRPcAorICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgPiAKK3N0cnVjdCBBVVg3NzgwNzZfRk9MRF9JTVBMX05BTUU8LTEsRmlyc3QsTGFzdCxTdGF0ZSxCYWNrd2FyZE9wLEZvcndhcmRPcD4KK3sKKyAgICB0eXBlZGVmIEFVWDc3ODA3Nl9GT0xEX0lNUExfTkFNRTwKKyAgICAgICAgICAtMQorICAgICAgICAsIHR5cGVuYW1lIG1wbDo6bmV4dDxGaXJzdD46OnR5cGUKKyAgICAgICAgLCBMYXN0CisgICAgICAgICwgdHlwZW5hbWUgYXBwbHkyPEZvcndhcmRPcCxTdGF0ZSxBVVg3NzgwNzZfRk9MRF9JTVBMX09QKEZpcnN0KT46OnR5cGUKKyAgICAgICAgLCBCYWNrd2FyZE9wCisgICAgICAgICwgRm9yd2FyZE9wCisgICAgICAgID4gbmVzdGVkX3N0ZXA7CisKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwKKyAgICAgICAgICBCYWNrd2FyZE9wCisgICAgICAgICwgdHlwZW5hbWUgbmVzdGVkX3N0ZXA6OnN0YXRlCisgICAgICAgICwgQVVYNzc4MDc2X0ZPTERfSU1QTF9PUChGaXJzdCkKKyAgICAgICAgPjo6dHlwZSBzdGF0ZTsKKworICAgIHR5cGVkZWYgdHlwZW5hbWUgbmVzdGVkX3N0ZXA6Oml0ZXJhdG9yIGl0ZXJhdG9yOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBMYXN0CisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICwgdHlwZW5hbWUgQmFja3dhcmRPcAorICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgPiAKK3N0cnVjdCBBVVg3NzgwNzZfRk9MRF9JTVBMX05BTUU8LTEsTGFzdCxMYXN0LFN0YXRlLEJhY2t3YXJkT3AsRm9yd2FyZE9wPgoreworICAgIHR5cGVkZWYgU3RhdGUgc3RhdGU7CisgICAgdHlwZWRlZiBMYXN0IGl0ZXJhdG9yOworfTsKKworI2Vsc2UgLy8gQk9PU1RfTk9fVEVNUExBVEVfUEFSVElBTF9TUEVDSUFMSVpBVElPTgorCit0ZW1wbGF0ZTwgQk9PU1RfTVBMX0FVWF9OVFRQX0RFQ0wobG9uZywgTikgPgorc3RydWN0IEFVWDc3ODA3Nl9GT0xEX0NIVU5LX05BTUU7CisKKyMgICBkZWZpbmUgQk9PU1RfUFBfSVRFUkFUSU9OX1BBUkFNU18xIFwKKyAgICAoMywoMCwgQk9PU1RfTVBMX0xJTUlUX1VOUk9MTElORywgPG5kbmJvb3N0L21wbC9hdXhfL3JldmVyc2VfZm9sZF9pbXBsX2JvZHkuaHBwPikpCisjICAgaW5jbHVkZSBCT09TVF9QUF9JVEVSQVRFKCkKKworLy8gaW1wbGVtZW50YXRpb24gZm9yIE4gdGhhdCBleGNlZWRzIEJPT1NUX01QTF9MSU1JVF9VTlJPTExJTkcKK3RlbXBsYXRlPCBCT09TVF9NUExfQVVYX05UVFBfREVDTChsb25nLCBOKSA+IAorc3RydWN0IEFVWDc3ODA3Nl9GT0xEX0NIVU5LX05BTUUKK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBGaXJzdAorICAgICAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICAgICAsIHR5cGVuYW1lIEJhY2t3YXJkT3AKKyAgICAgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICAgICAgPiAKKyAgICBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiBGaXJzdCBpdGVyMDsKKyAgICAgICAgdHlwZWRlZiBTdGF0ZSBmd2Rfc3RhdGUwOworCisgICAgICAgIEJPT1NUX01QTF9QUF9SRVBFQVQoCisgICAgICAgICAgICAgIEJPT1NUX01QTF9MSU1JVF9VTlJPTExJTkcKKyAgICAgICAgICAgICwgQVVYNzc4MDc2X0lURVJfRk9MRF9GT1JXQVJEX1NURVAKKyAgICAgICAgICAgICwgdW51c2VkCisgICAgICAgICAgICApCisKKyAgICAgICAgdHlwZWRlZiBBVVg3NzgwNzZfRk9MRF9JTVBMX05BTUU8CisgICAgICAgICAgICAgICggKE4gLSBCT09TVF9NUExfTElNSVRfVU5ST0xMSU5HKSA8IDAgPyAwIDogTiAtIEJPT1NUX01QTF9MSU1JVF9VTlJPTExJTkcgKQorICAgICAgICAgICAgLCBCT09TVF9QUF9DQVQoaXRlcixCT09TVF9NUExfTElNSVRfVU5ST0xMSU5HKQorICAgICAgICAgICAgLCBMYXN0CisgICAgICAgICAgICAsIEJPT1NUX1BQX0NBVChmd2Rfc3RhdGUsQk9PU1RfTVBMX0xJTUlUX1VOUk9MTElORykKKyAgICAgICAgICAgICwgQmFja3dhcmRPcAorICAgICAgICAgICAgLCBGb3J3YXJkT3AKKyAgICAgICAgICAgID4gbmVzdGVkX2NodW5rOworICAgICAgICAgICAgCisgICAgICAgIEFVWDc3ODA3Nl9GSVJTVF9CQUNLV0FSRF9TVEFURV9UWVBFREVGKEJPT1NUX01QTF9MSU1JVF9VTlJPTExJTkcpCisKKyAgICAgICAgQk9PU1RfTVBMX1BQX1JFUEVBVCgKKyAgICAgICAgICAgICAgQk9PU1RfTVBMX0xJTUlUX1VOUk9MTElORworICAgICAgICAgICAgLCBBVVg3NzgwNzZfSVRFUl9GT0xEX0JBQ0tXQVJEX1NURVAKKyAgICAgICAgICAgICwgQk9PU1RfTVBMX0xJTUlUX1VOUk9MTElORworICAgICAgICAgICAgKQorCisgICAgICAgIHR5cGVkZWYgYmt3ZF9zdGF0ZTAgc3RhdGU7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbmVzdGVkX2NodW5rOjppdGVyYXRvciBpdGVyYXRvcjsKKyAgICB9OworfTsKKworLy8gZmFsbGJhY2sgaW1wbGVtZW50YXRpb24gZm9yIHNlcXVlbmNlcyBvZiB1bmtub3duIHNpemUKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRmlyc3QKKyAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBCYWNrd2FyZE9wCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+IAorc3RydWN0IEJPT1NUX1BQX0NBVChBVVg3NzgwNzZfRk9MRF9JTVBMX05BTUVfUFJFRklYLF9zdGVwKTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBMYXN0CisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgID4KK3N0cnVjdCBCT09TVF9QUF9DQVQoQVVYNzc4MDc2X0ZPTERfSU1QTF9OQU1FX1BSRUZJWCxfbnVsbF9zdGVwKQoreworICAgIHR5cGVkZWYgTGFzdCBpdGVyYXRvcjsKKyAgICB0eXBlZGVmIFN0YXRlIHN0YXRlOworfTsKKwordGVtcGxhdGU8PiAKK3N0cnVjdCBBVVg3NzgwNzZfRk9MRF9DSFVOS19OQU1FPC0xPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgICAgICwgdHlwZW5hbWUgTGFzdAorICAgICAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgICAgICwgdHlwZW5hbWUgQmFja3dhcmRPcAorICAgICAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgICAgICA+IAorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGlmXzwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgaXNfc2FtZTxGaXJzdCxMYXN0Pjo6dHlwZQorICAgICAgICAgICAgLCBCT09TVF9QUF9DQVQoQVVYNzc4MDc2X0ZPTERfSU1QTF9OQU1FX1BSRUZJWCxfbnVsbF9zdGVwKTxMYXN0LFN0YXRlPgorICAgICAgICAgICAgLCBCT09TVF9QUF9DQVQoQVVYNzc4MDc2X0ZPTERfSU1QTF9OQU1FX1BSRUZJWCxfc3RlcCk8Rmlyc3QsTGFzdCxTdGF0ZSxCYWNrd2FyZE9wLEZvcndhcmRPcD4KKyAgICAgICAgICAgID46OnR5cGUgcmVzXzsKKworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHJlc186OnN0YXRlIHN0YXRlOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHJlc186Oml0ZXJhdG9yIGl0ZXJhdG9yOworICAgIH07CisKKyNpZiBkZWZpbmVkKEJPT1NUX01QTF9DRkdfTVNWQ182MF9FVElfQlVHKQorICAgIC8vLyBFVEkgd29ya2Fyb3VuZAorICAgIHRlbXBsYXRlPD4gc3RydWN0IHJlc3VsdF88aW50LGludCxpbnQsaW50LGludD4KKyAgICB7CisgICAgICAgIHR5cGVkZWYgaW50IHN0YXRlOworICAgICAgICB0eXBlZGVmIGludCBpdGVyYXRvcjsKKyAgICB9OworI2VuZGlmCit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICwgdHlwZW5hbWUgQmFja3dhcmRPcAorICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgPiAKK3N0cnVjdCBCT09TVF9QUF9DQVQoQVVYNzc4MDc2X0ZPTERfSU1QTF9OQU1FX1BSRUZJWCxfc3RlcCkKK3sKKyAgICB0eXBlZGVmIEFVWDc3ODA3Nl9GT0xEX0NIVU5LX05BTUU8LTE+Ojp0ZW1wbGF0ZSByZXN1bHRfPAorICAgICAgICAgIHR5cGVuYW1lIG1wbDo6bmV4dDxGaXJzdD46OnR5cGUKKyAgICAgICAgLCBMYXN0CisgICAgICAgICwgdHlwZW5hbWUgYXBwbHkyPEZvcndhcmRPcCxTdGF0ZSxBVVg3NzgwNzZfRk9MRF9JTVBMX09QKEZpcnN0KT46OnR5cGUKKyAgICAgICAgLCBCYWNrd2FyZE9wCisgICAgICAgICwgRm9yd2FyZE9wCisgICAgICAgID4gbmVzdGVkX3N0ZXA7CisKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGFwcGx5MjwKKyAgICAgICAgICBCYWNrd2FyZE9wCisgICAgICAgICwgdHlwZW5hbWUgbmVzdGVkX3N0ZXA6OnN0YXRlCisgICAgICAgICwgQVVYNzc4MDc2X0ZPTERfSU1QTF9PUChGaXJzdCkKKyAgICAgICAgPjo6dHlwZSBzdGF0ZTsKKworICAgIHR5cGVkZWYgdHlwZW5hbWUgbmVzdGVkX3N0ZXA6Oml0ZXJhdG9yIGl0ZXJhdG9yOworfTsKKwordGVtcGxhdGU8CisgICAgICBCT09TVF9NUExfQVVYX05UVFBfREVDTChsb25nLCBOKQorICAgICwgdHlwZW5hbWUgRmlyc3QKKyAgICAsIHR5cGVuYW1lIExhc3QKKyAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgLCB0eXBlbmFtZSBCYWNrd2FyZE9wCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AKKyAgICA+IAorc3RydWN0IEFVWDc3ODA3Nl9GT0xEX0lNUExfTkFNRQorICAgIDogQVVYNzc4MDc2X0ZPTERfQ0hVTktfTkFNRTxOPgorICAgICAgICA6OnRlbXBsYXRlIHJlc3VsdF88Rmlyc3QsTGFzdCxTdGF0ZSxCYWNrd2FyZE9wLEZvcndhcmRPcD4KK3sKK307CisKKyNlbmRpZiAvLyBCT09TVF9OT19URU1QTEFURV9QQVJUSUFMX1NQRUNJQUxJWkFUSU9OCisKK319fQorCisjICAgdW5kZWYgQVVYNzc4MDc2X0ZJUlNUX0JBQ0tXQVJEX1NUQVRFX1RZUEVERUYKKyMgICB1bmRlZiBBVVg3NzgwNzZfSVRFUl9GT0xEX0JBQ0tXQVJEX1NURVAKKyMgICB1bmRlZiBBVVg3NzgwNzZfSVRFUl9GT0xEX0JBQ0tXQVJEX1NURVBfRlVOQworIyAgIHVuZGVmIEFVWDc3ODA3Nl9JVEVSX0ZPTERfRk9SV0FSRF9TVEVQCisKKyN1bmRlZiBBVVg3NzgwNzZfRk9MRF9JTVBMX09QCisjdW5kZWYgQVVYNzc4MDc2X0ZPTERfSU1QTF9OQU1FX1BSRUZJWAorCisvLy8vLyBpdGVyYXRpb24KKworI2Vsc2UKKworIyAgIGRlZmluZSBuXyBCT09TVF9QUF9GUkFNRV9JVEVSQVRJT04oMSkKKworI2lmICFkZWZpbmVkKEJPT1NUX05PX1RFTVBMQVRFX1BBUlRJQUxfU1BFQ0lBTElaQVRJT04pIFwKKyAgICAmJiAhZGVmaW5lZChCT09TVF9NUExfQ0ZHX05PX05PTlRZUEVfVEVNUExBVEVfUEFSVElBTF9TUEVDKQorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgLCB0eXBlbmFtZSBMYXN0CisgICAgLCB0eXBlbmFtZSBTdGF0ZQorICAgICwgdHlwZW5hbWUgQmFja3dhcmRPcAorICAgICwgdHlwZW5hbWUgRm9yd2FyZE9wCisgICAgPgorc3RydWN0IEFVWDc3ODA3Nl9GT0xEX0lNUExfTkFNRTxuXyxGaXJzdCxMYXN0LFN0YXRlLEJhY2t3YXJkT3AsRm9yd2FyZE9wPgoreworICAgIHR5cGVkZWYgRmlyc3QgaXRlcjA7CisgICAgdHlwZWRlZiBTdGF0ZSBmd2Rfc3RhdGUwOworCisgICAgQk9PU1RfTVBMX1BQX1JFUEVBVCgKKyAgICAgICAgICBuXworICAgICAgICAsIEFVWDc3ODA3Nl9JVEVSX0ZPTERfRk9SV0FSRF9TVEVQCisgICAgICAgICwgdW51c2VkCisgICAgICAgICkKKworICAgIHR5cGVkZWYgQk9PU1RfUFBfQ0FUKGZ3ZF9zdGF0ZSxuXykgQk9PU1RfUFBfQ0FUKGJrd2Rfc3RhdGUsbl8pOworCisgICAgQk9PU1RfTVBMX1BQX1JFUEVBVCgKKyAgICAgICAgICBuXworICAgICAgICAsIEFVWDc3ODA3Nl9JVEVSX0ZPTERfQkFDS1dBUkRfU1RFUAorICAgICAgICAsIG5fCisgICAgICAgICkKKworICAgIHR5cGVkZWYgYmt3ZF9zdGF0ZTAgc3RhdGU7CisgICAgdHlwZWRlZiBCT09TVF9QUF9DQVQoaXRlcixuXykgaXRlcmF0b3I7Cit9OworCisjZWxzZQorCit0ZW1wbGF0ZTw+IHN0cnVjdCBBVVg3NzgwNzZfRk9MRF9DSFVOS19OQU1FPG5fPgoreworICAgIHRlbXBsYXRlPAorICAgICAgICAgIHR5cGVuYW1lIEZpcnN0CisgICAgICAgICwgdHlwZW5hbWUgTGFzdAorICAgICAgICAsIHR5cGVuYW1lIFN0YXRlCisgICAgICAgICwgdHlwZW5hbWUgQmFja3dhcmRPcAorICAgICAgICAsIHR5cGVuYW1lIEZvcndhcmRPcAorICAgICAgICA+CisgICAgc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgRmlyc3QgaXRlcjA7CisgICAgICAgIHR5cGVkZWYgU3RhdGUgZndkX3N0YXRlMDsKKworICAgICAgICBCT09TVF9NUExfUFBfUkVQRUFUKAorICAgICAgICAgICAgICBuXworICAgICAgICAgICAgLCBBVVg3NzgwNzZfSVRFUl9GT0xEX0ZPUldBUkRfU1RFUAorICAgICAgICAgICAgLCB1bnVzZWQKKyAgICAgICAgICAgICkKKworICAgICAgICB0eXBlZGVmIEJPT1NUX1BQX0NBVChmd2Rfc3RhdGUsbl8pIEJPT1NUX1BQX0NBVChia3dkX3N0YXRlLG5fKTsKKworICAgICAgICBCT09TVF9NUExfUFBfUkVQRUFUKAorICAgICAgICAgICAgICBuXworICAgICAgICAgICAgLCBBVVg3NzgwNzZfSVRFUl9GT0xEX0JBQ0tXQVJEX1NURVAKKyAgICAgICAgICAgICwgbl8KKyAgICAgICAgICAgICkKKworICAgICAgICB0eXBlZGVmIGJrd2Rfc3RhdGUwIHN0YXRlOworICAgICAgICB0eXBlZGVmIEJPT1NUX1BQX0NBVChpdGVyLG5fKSBpdGVyYXRvcjsKKyAgICB9OworCisjaWYgZGVmaW5lZChCT09TVF9NUExfQ0ZHX01TVkNfNjBfRVRJX0JVRykKKyAgICAvLy8gRVRJIHdvcmthcm91bmQKKyAgICB0ZW1wbGF0ZTw+IHN0cnVjdCByZXN1bHRfPGludCxpbnQsaW50LGludCxpbnQ+CisgICAgeworICAgICAgICB0eXBlZGVmIGludCBzdGF0ZTsKKyAgICAgICAgdHlwZWRlZiBpbnQgaXRlcmF0b3I7CisgICAgfTsKKyNlbmRpZgorfTsKKworI2VuZGlmIC8vIEJPT1NUX05PX1RFTVBMQVRFX1BBUlRJQUxfU1BFQ0lBTElaQVRJT04KKworIyAgIHVuZGVmIG5fCisKKyNlbmRpZiAvLyBCT09TVF9QUF9JU19JVEVSQVRJTkcKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9hdXhfL3NlcXVlbmNlX3dyYXBwZXIuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vc2VxdWVuY2Vfd3JhcHBlci5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGVjOGYwOQotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3NlcXVlbmNlX3dyYXBwZXIuaHBwCkBAIC0wLDAgKzEsMjkyIEBACisKKy8vIE5PIElOQ0xVREUgR1VBUkRTLCBUSEUgSEVBREVSIElTIElOVEVOREVEIEZPUiBNVUxUSVBMRSBJTkNMVVNJT04KKworI2lmICFkZWZpbmVkKEJPT1NUX1BQX0lTX0lURVJBVElORykKKworLy8vLy8gaGVhZGVyIGJvZHkKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA4CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworLy8gU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL2xpYnMvbXBsIGZvciBkb2N1bWVudGF0aW9uLgorCisvLyAkSWQ6IHNlcXVlbmNlX3dyYXBwZXIuaHBwIDQ5MjcxIDIwMDgtMTAtMTEgMDY6NDY6MDBaIGFndXJ0b3ZveSAkCisvLyAkRGF0ZTogMjAwOC0xMC0xMCAyMzo0NjowMCAtMDcwMCAoRnJpLCAxMCBPY3QgMjAwOCkgJAorLy8gJFJldmlzaW9uOiA0OTI3MSAkCisKKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9jb25maWcvY3Rwcy5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vY29uZmlnL3N0YXRpY19jb25zdGFudC5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vbnR0cF9kZWNsLmhwcD4KKworIyAgIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9hcml0aG1ldGljL3N1Yi5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL3R1cGxlL2VsZW0uaHBwPgorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9lbnVtX3BhcmFtc193aXRoX2FfZGVmYXVsdC5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL2VudW1fcGFyYW1zLmhwcD4KKyMgICBpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3IvZW51bS5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL3JlcGVhdC5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL2NvbW1hX2lmLmhwcD4KKyMgICBpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3IvaXRlcmF0ZS5ocHA+CisKKyNpZiBkZWZpbmVkKEJPT1NUX01QTF9QUkVQUk9DRVNTSU5HX01PREUpCisjICAgdW5kZWYgTE9OR19NQVgKKyNlbmRpZgorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKworI2lmICFkZWZpbmVkKEFVWDc3ODA3Nl9TRVFVRU5DRV9CQVNFX05BTUUpCisjICAgZGVmaW5lIEFVWDc3ODA3Nl9TRVFVRU5DRV9CQVNFX05BTUUgQVVYNzc4MDc2X1NFUVVFTkNFX05BTUUKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoQVVYNzc4MDc2X1NFUVVFTkNFX0lOVEVHUkFMX1dSQVBQRVIpCisKKyMgICBkZWZpbmUgQVVYNzc4MDc2X1NFUVVFTkNFX1BBUkFNX05BTUUgVAorIyAgIGRlZmluZSBBVVg3NzgwNzZfU0VRVUVOQ0VfVEVNUExBVEVfUEFSQU0gdHlwZW5hbWUgVAorIyAgIGRlZmluZSBBVVg3NzgwNzZfU0VRVUVOQ0VfREVGQVVMVCBuYQorCisjICAgZGVmaW5lIEFVWDc3ODA3Nl9TRVFVRU5DRV9OQU1FX04obikgXAorICAgIEJPT1NUX1BQX0NBVChBVVg3NzgwNzZfU0VRVUVOQ0VfQkFTRV9OQU1FLG4pIFwKKyAgICAvKiovCisKKyMgICBkZWZpbmUgQVVYNzc4MDc2X1NFUVVFTkNFX1BBUkFNUygpIFwKKyAgICBCT09TVF9QUF9FTlVNX1BBUkFNUyggXAorICAgICAgICAgIEFVWDc3ODA3Nl9TRVFVRU5DRV9MSU1JVCBcCisgICAgICAgICwgQVVYNzc4MDc2X1NFUVVFTkNFX1RFTVBMQVRFX1BBUkFNIFwKKyAgICAgICAgKSBcCisgICAgLyoqLworCisjICAgZGVmaW5lIEFVWDc3ODA3Nl9TRVFVRU5DRV9BUkdTKCkgXAorICAgIEJPT1NUX1BQX0VOVU1fUEFSQU1TKCBcCisgICAgICAgICAgQVVYNzc4MDc2X1NFUVVFTkNFX0xJTUlUIFwKKyAgICAgICAgLCBUIFwKKyAgICAgICAgKSBcCisgICAgLyoqLworCisjICAgZGVmaW5lIEFVWDc3ODA3Nl9TRVFVRU5DRV9ERUZBVUxUX1BBUkFNUygpIFwKKyAgICAgQk9PU1RfUFBfRU5VTV9QQVJBTVNfV0lUSF9BX0RFRkFVTFQoIFwKKyAgICAgICAgICBBVVg3NzgwNzZfU0VRVUVOQ0VfTElNSVQgXAorICAgICAgICAsIEFVWDc3ODA3Nl9TRVFVRU5DRV9URU1QTEFURV9QQVJBTSBcCisgICAgICAgICwgQVVYNzc4MDc2X1NFUVVFTkNFX0RFRkFVTFQgXAorICAgICAgICApIFwKKyAgICAvKiovCisKKyMgICBkZWZpbmUgQVVYNzc4MDc2X1NFUVVFTkNFX05fUEFSQU1TKG4pIFwKKyAgICBCT09TVF9QUF9FTlVNX1BBUkFNUyhuLCBBVVg3NzgwNzZfU0VRVUVOQ0VfVEVNUExBVEVfUEFSQU0pIFwKKyAgICAvKiovCisKKyMgICBkZWZpbmUgQVVYNzc4MDc2X1NFUVVFTkNFX05fQVJHUyhuKSBcCisgICAgQk9PU1RfUFBfRU5VTV9QQVJBTVMobiwgVCkgXAorICAgIC8qKi8KKworIyAgIGRlZmluZSBBVVg3NzgwNzZfU0VRVUVOQ0VfTl9QQVJUSUFMX1NQRUNfQVJHUyhuKSBcCisgICAgQk9PU1RfUFBfRU5VTV9QQVJBTVMobiwgVCkgXAorICAgIEJPT1NUX1BQX0NPTU1BX0lGKG4pIFwKKyAgICBCT09TVF9QUF9FTlVNKCBcCisgICAgICAgICAgQk9PU1RfUFBfU1VCX0QoMSxBVVg3NzgwNzZfU0VRVUVOQ0VfTElNSVQsbikgXAorICAgICAgICAsIEJPT1NUX1BQX1RVUExFX0VMRU1fM18yIFwKKyAgICAgICAgLCBBVVg3NzgwNzZfU0VRVUVOQ0VfREVGQVVMVCBcCisgICAgICAgICkgXAorICAgIC8qKi8KKworI2Vsc2UgLy8gQVVYNzc4MDc2X1NFUVVFTkNFX0lOVEVHUkFMX1dSQVBQRVIKKworIyAgIGRlZmluZSBBVVg3NzgwNzZfU0VRVUVOQ0VfUEFSQU1fTkFNRSBDCisjICAgZGVmaW5lIEFVWDc3ODA3Nl9TRVFVRU5DRV9URU1QTEFURV9QQVJBTSBCT09TVF9NUExfQVVYX05UVFBfREVDTChsb25nLCBDKQorIyAgIGRlZmluZSBBVVg3NzgwNzZfU0VRVUVOQ0VfREVGQVVMVCBMT05HX01BWAorCisjICAgZGVmaW5lIEFVWDc3ODA3Nl9TRVFVRU5DRV9QQVJBTVMoKSBcCisgICAgdHlwZW5hbWUgVCwgQk9PU1RfUFBfRU5VTV9QQVJBTVMoIFwKKyAgICAgICAgICBBVVg3NzgwNzZfU0VRVUVOQ0VfTElNSVQgXAorICAgICAgICAsIEFVWDc3ODA3Nl9TRVFVRU5DRV9URU1QTEFURV9QQVJBTSBcCisgICAgICAgICkgXAorICAgIC8qKi8KKworIyAgIGRlZmluZSBBVVg3NzgwNzZfU0VRVUVOQ0VfQVJHUygpIFwKKyAgICBULCBCT09TVF9QUF9FTlVNX1BBUkFNUyggXAorICAgICAgICAgIEFVWDc3ODA3Nl9TRVFVRU5DRV9MSU1JVCBcCisgICAgICAgICwgQyBcCisgICAgICAgICkgXAorICAgIC8qKi8KKworIyAgIGRlZmluZSBBVVg3NzgwNzZfU0VRVUVOQ0VfREVGQVVMVF9QQVJBTVMoKSBcCisgICAgdHlwZW5hbWUgVCwgXAorICAgIEJPT1NUX1BQX0VOVU1fUEFSQU1TX1dJVEhfQV9ERUZBVUxUKCBcCisgICAgICAgICAgQVVYNzc4MDc2X1NFUVVFTkNFX0xJTUlUIFwKKyAgICAgICAgLCBBVVg3NzgwNzZfU0VRVUVOQ0VfVEVNUExBVEVfUEFSQU0gXAorICAgICAgICAsIEFVWDc3ODA3Nl9TRVFVRU5DRV9ERUZBVUxUIFwKKyAgICAgICAgKSBcCisgICAgLyoqLworCisjICAgZGVmaW5lIEFVWDc3ODA3Nl9TRVFVRU5DRV9OX1BBUkFNUyhuKSBcCisgICAgdHlwZW5hbWUgVCBCT09TVF9QUF9DT01NQV9JRihuKSBcCisgICAgQk9PU1RfUFBfRU5VTV9QQVJBTVMobiwgQVVYNzc4MDc2X1NFUVVFTkNFX1RFTVBMQVRFX1BBUkFNKSBcCisgICAgLyoqLworCisjICAgaWYgIWRlZmluZWQoQVVYNzc4MDc2X1NFUVVFTkNFX0NPTlZFUlRfQ05fVE8pCisjICAgICAgIGRlZmluZSBBVVg3NzgwNzZfU0VRVUVOQ0VfQ09OVkVSVF9DTl9UTyh6LG4sVEFSR0VUKSBCT09TVF9QUF9DQVQoQyxuKQorIyAgIGVuZGlmCisKKyMgICBkZWZpbmUgQVVYNzc4MDc2X1NFUVVFTkNFX05fQVJHUyhuKSBcCisgICAgVCBCT09TVF9QUF9DT01NQV9JRihuKSBcCisgICAgQk9PU1RfUFBfRU5VTShuLEFVWDc3ODA3Nl9TRVFVRU5DRV9DT05WRVJUX0NOX1RPLFQpIFwKKyAgICAvKiovCisKKyMgICBkZWZpbmUgQVVYNzc4MDc2X1NFUVVFTkNFX05fUEFSVElBTF9TUEVDX0FSR1MobikgXAorICAgIFQsIEJPT1NUX1BQX0VOVU1fUEFSQU1TKG4sIEMpIFwKKyAgICBCT09TVF9QUF9DT01NQV9JRihuKSBcCisgICAgQk9PU1RfUFBfRU5VTSggXAorICAgICAgICAgIEJPT1NUX1BQX1NVQl9EKDEsQVVYNzc4MDc2X1NFUVVFTkNFX0xJTUlULG4pIFwKKyAgICAgICAgLCBCT09TVF9QUF9UVVBMRV9FTEVNXzNfMiBcCisgICAgICAgICwgQVVYNzc4MDc2X1NFUVVFTkNFX0RFRkFVTFQgXAorICAgICAgICApIFwKKyAgICAvKiovCisKKyNlbmRpZiAvLyBBVVg3NzgwNzZfU0VRVUVOQ0VfSU5URUdSQUxfV1JBUFBFUgorCisKKyNpZiAhZGVmaW5lZChCT09TVF9OT19URU1QTEFURV9QQVJUSUFMX1NQRUNJQUxJWkFUSU9OKQorLy8gZm9yd2FyZCBkZWNsYXJhdGlvbgordGVtcGxhdGU8CisgICAgICBBVVg3NzgwNzZfU0VRVUVOQ0VfREVGQVVMVF9QQVJBTVMoKQorICAgID4KK3N0cnVjdCBBVVg3NzgwNzZfU0VRVUVOQ0VfTkFNRTsKKyNlbHNlCituYW1lc3BhY2UgYXV4IHsKK3RlbXBsYXRlPCBCT09TVF9NUExfQVVYX05UVFBfREVDTChpbnQsIE4pID4gCitzdHJ1Y3QgQk9PU1RfUFBfQ0FUKEFVWDc3ODA3Nl9TRVFVRU5DRV9OQU1FLF9jaG9vc2VyKTsKK30KKyNlbmRpZgorCisjZGVmaW5lIEJPT1NUX1BQX0lURVJBVElPTl9QQVJBTVNfMSBcCisgICAgKDMsKDAsIEFVWDc3ODA3Nl9TRVFVRU5DRV9MSU1JVCwgPG5kbmJvb3N0L21wbC9hdXhfL3NlcXVlbmNlX3dyYXBwZXIuaHBwPikpCisjaW5jbHVkZSBCT09TVF9QUF9JVEVSQVRFKCkKKworLy8gcmVhbCBDKysgdmVyc2lvbiBpcyBhbHJlYWR5IHRha2VuIGNhcmUgb2YKKyNpZiBkZWZpbmVkKEJPT1NUX05PX1RFTVBMQVRFX1BBUlRJQUxfU1BFQ0lBTElaQVRJT04pCisKK25hbWVzcGFjZSBhdXggeworLy8gPz8/X2NvdW50X2FyZ3MKKyNkZWZpbmUgQVVYNzc4MDc2X0NPVU5UX0FSR1NfUFJFRklYICAgICAgICAgQVVYNzc4MDc2X1NFUVVFTkNFX05BTUUKKyNkZWZpbmUgQVVYNzc4MDc2X0NPVU5UX0FSR1NfREVGQVVMVCAgICAgICAgQVVYNzc4MDc2X1NFUVVFTkNFX0RFRkFVTFQKKyNkZWZpbmUgQVVYNzc4MDc2X0NPVU5UX0FSR1NfUEFSQU1fTkFNRSAgICAgQVVYNzc4MDc2X1NFUVVFTkNFX1BBUkFNX05BTUUKKyNkZWZpbmUgQVVYNzc4MDc2X0NPVU5UX0FSR1NfVEVNUExBVEVfUEFSQU0gQVVYNzc4MDc2X1NFUVVFTkNFX1RFTVBMQVRFX1BBUkFNCisjZGVmaW5lIEFVWDc3ODA3Nl9DT1VOVF9BUkdTX0FSSVRZICAgICAgICAgIEFVWDc3ODA3Nl9TRVFVRU5DRV9MSU1JVAorI2RlZmluZSBBVVg3NzgwNzZfQ09VTlRfQVJHU19VU0VfU1RBTkRBUkRfUFBfUFJJTUlUSVZFUworI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2NvdW50X2FyZ3MuaHBwPgorCit0ZW1wbGF0ZTwKKyAgICAgIEFVWDc3ODA3Nl9TRVFVRU5DRV9QQVJBTVMoKQorICAgID4KK3N0cnVjdCBCT09TVF9QUF9DQVQoQVVYNzc4MDc2X1NFUVVFTkNFX05BTUUsX2ltcGwpCit7CisgICAgdHlwZWRlZiBhdXg6OkJPT1NUX1BQX0NBVChBVVg3NzgwNzZfU0VRVUVOQ0VfTkFNRSxfY291bnRfYXJncyk8CisgICAgICAgICAgQk9PU1RfUFBfRU5VTV9QQVJBTVMoQVVYNzc4MDc2X1NFUVVFTkNFX0xJTUlULCBBVVg3NzgwNzZfU0VRVUVOQ0VfUEFSQU1fTkFNRSkKKyAgICAgICAgPiBhcmdfbnVtXzsKKyAgICAKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGF1eDo6Qk9PU1RfUFBfQ0FUKEFVWDc3ODA3Nl9TRVFVRU5DRV9OQU1FLF9jaG9vc2VyKTwgYXJnX251bV86OnZhbHVlID4KKyAgICAgICAgOjp0ZW1wbGF0ZSByZXN1bHRfPCBBVVg3NzgwNzZfU0VRVUVOQ0VfQVJHUygpID46OnR5cGUgdHlwZTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCit0ZW1wbGF0ZTwKKyAgICAgIEFVWDc3ODA3Nl9TRVFVRU5DRV9ERUZBVUxUX1BBUkFNUygpCisgICAgPgorc3RydWN0IEFVWDc3ODA3Nl9TRVFVRU5DRV9OQU1FCisgICAgOiBhdXg6OkJPT1NUX1BQX0NBVChBVVg3NzgwNzZfU0VRVUVOQ0VfTkFNRSxfaW1wbCk8CisgICAgICAgICAgQVVYNzc4MDc2X1NFUVVFTkNFX0FSR1MoKQorICAgICAgICA+Ojp0eXBlCit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhdXg6OkJPT1NUX1BQX0NBVChBVVg3NzgwNzZfU0VRVUVOQ0VfTkFNRSxfaW1wbCk8CisgICAgICAgICAgQVVYNzc4MDc2X1NFUVVFTkNFX0FSR1MoKQorICAgICAgICA+Ojp0eXBlIHR5cGU7Cit9OworCisjZW5kaWYgLy8gQk9PU1RfTk9fVEVNUExBVEVfUEFSVElBTF9TUEVDSUFMSVpBVElPTgorCisjICAgdW5kZWYgQVVYNzc4MDc2X1NFUVVFTkNFX05fUEFSVElBTF9TUEVDX0FSR1MKKyMgICB1bmRlZiBBVVg3NzgwNzZfU0VRVUVOQ0VfTl9BUkdTCisjICAgdW5kZWYgQVVYNzc4MDc2X1NFUVVFTkNFX0NPTlZFUlRfQ05fVE8KKyMgICB1bmRlZiBBVVg3NzgwNzZfU0VRVUVOQ0VfTl9QQVJBTVMKKyMgICB1bmRlZiBBVVg3NzgwNzZfU0VRVUVOQ0VfREVGQVVMVF9QQVJBTVMKKyMgICB1bmRlZiBBVVg3NzgwNzZfU0VRVUVOQ0VfQVJHUworIyAgIHVuZGVmIEFVWDc3ODA3Nl9TRVFVRU5DRV9QQVJBTVMKKyMgICB1bmRlZiBBVVg3NzgwNzZfU0VRVUVOQ0VfTkFNRV9OCisjICAgdW5kZWYgQVVYNzc4MDc2X1NFUVVFTkNFX0RFRkFVTFQKKyMgICB1bmRlZiBBVVg3NzgwNzZfU0VRVUVOQ0VfVEVNUExBVEVfUEFSQU0KKyMgICB1bmRlZiBBVVg3NzgwNzZfU0VRVUVOQ0VfUEFSQU1fTkFNRQorIyAgIHVuZGVmIEFVWDc3ODA3Nl9TRVFVRU5DRV9MSU1JVAorIyAgIHVuZGVmIEFVWDc3ODA3Nl9TRVFVRU5DRV9CQVNFX05BTUUKKyMgICB1bmRlZiBBVVg3NzgwNzZfU0VRVUVOQ0VfTkFNRQorIyAgIHVuZGVmIEFVWDc3ODA3Nl9TRVFVRU5DRV9JTlRFR1JBTF9XUkFQUEVSCisKK319CisKKy8vLy8vIGl0ZXJhdGlvbgorCisjZWxzZQorI2RlZmluZSBpXyBCT09TVF9QUF9GUkFNRV9JVEVSQVRJT04oMSkKKworIyAgIGlmICFkZWZpbmVkKEJPT1NUX05PX1RFTVBMQVRFX1BBUlRJQUxfU1BFQ0lBTElaQVRJT04pCisKKyNpZiBpXyA9PSBBVVg3NzgwNzZfU0VRVUVOQ0VfTElNSVQKKworLy8vIHByaW1hcnkgdGVtcGxhdGUgKG5vdCBhIHNwZWNpYWxpemF0aW9uISkKK3RlbXBsYXRlPAorICAgICAgQVVYNzc4MDc2X1NFUVVFTkNFX05fUEFSQU1TKGlfKQorICAgID4KK3N0cnVjdCBBVVg3NzgwNzZfU0VRVUVOQ0VfTkFNRQorICAgIDogQVVYNzc4MDc2X1NFUVVFTkNFX05BTUVfTihpXyk8IEFVWDc3ODA3Nl9TRVFVRU5DRV9OX0FSR1MoaV8pID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIEFVWDc3ODA3Nl9TRVFVRU5DRV9OQU1FX04oaV8pPCBBVVg3NzgwNzZfU0VRVUVOQ0VfTl9BUkdTKGlfKSA+Ojp0eXBlIHR5cGU7Cit9OworCisjZWxzZQorCit0ZW1wbGF0ZTwKKyAgICAgIEFVWDc3ODA3Nl9TRVFVRU5DRV9OX1BBUkFNUyhpXykKKyAgICA+CitzdHJ1Y3QgQVVYNzc4MDc2X1NFUVVFTkNFX05BTUU8IEFVWDc3ODA3Nl9TRVFVRU5DRV9OX1BBUlRJQUxfU1BFQ19BUkdTKGlfKSA+CisgICAgOiBBVVg3NzgwNzZfU0VRVUVOQ0VfTkFNRV9OKGlfKTwgQVVYNzc4MDc2X1NFUVVFTkNFX05fQVJHUyhpXykgPgoreworI2lmIGlfID4gMCB8fCBkZWZpbmVkKEFVWDc3ODA3Nl9TRVFVRU5DRV9JTlRFR1JBTF9XUkFQUEVSKQorICAgIHR5cGVkZWYgdHlwZW5hbWUgQVVYNzc4MDc2X1NFUVVFTkNFX05BTUVfTihpXyk8IEFVWDc3ODA3Nl9TRVFVRU5DRV9OX0FSR1MoaV8pID46OnR5cGUgdHlwZTsKKyNlbHNlCisgICAgdHlwZWRlZiBBVVg3NzgwNzZfU0VRVUVOQ0VfTkFNRV9OKGlfKTwgQVVYNzc4MDc2X1NFUVVFTkNFX05fQVJHUyhpXykgPjo6dHlwZSB0eXBlOworI2VuZGlmCit9OworCisjZW5kaWYgLy8gaV8gPT0gQVVYNzc4MDc2X1NFUVVFTkNFX0xJTUlUCisKKyMgICBlbHNlCisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgQk9PU1RfUFBfQ0FUKEFVWDc3ODA3Nl9TRVFVRU5DRV9OQU1FLF9jaG9vc2VyKTxpXz4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICBBVVg3NzgwNzZfU0VRVUVOQ0VfUEFSQU1TKCkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworI2lmIGlfID4gMCB8fCBkZWZpbmVkKEFVWDc3ODA3Nl9TRVFVRU5DRV9JTlRFR1JBTF9XUkFQUEVSKQorICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIEFVWDc3ODA3Nl9TRVFVRU5DRV9OQU1FX04oaV8pPAorICAgICAgICAgICAgICBBVVg3NzgwNzZfU0VRVUVOQ0VfTl9BUkdTKGlfKQorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworI2Vsc2UKKyAgICAgICAgdHlwZWRlZiBBVVg3NzgwNzZfU0VRVUVOQ0VfTkFNRV9OKGlfKTwKKyAgICAgICAgICAgICAgQVVYNzc4MDc2X1NFUVVFTkNFX05fQVJHUyhpXykKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKyNlbmRpZgorICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKworIyAgIGVuZGlmIC8vIEJPT1NUX05PX1RFTVBMQVRFX1BBUlRJQUxfU1BFQ0lBTElaQVRJT04KKworI3VuZGVmIGlfCisjZW5kaWYgLy8gQk9PU1RfUFBfSVNfSVRFUkFUSU5HCmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy9zaXplX2ltcGwuaHBwIGIvbmRuYm9vc3QvbXBsL2F1eF8vc2l6ZV9pbXBsLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZjQ2N2Y3Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2F1eF8vc2l6ZV9pbXBsLmhwcApAQCAtMCwwICsxLDUyIEBACisKKyNpZm5kZWYgQk9PU1RfTVBMX0FVWF9TSVpFX0lNUExfSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX01QTF9BVVhfU0laRV9JTVBMX0hQUF9JTkNMVURFRAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisvLyBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvbGlicy9tcGwgZm9yIGRvY3VtZW50YXRpb24uCisKKy8vICRJZDogc2l6ZV9pbXBsLmhwcCA0OTI2NyAyMDA4LTEwLTExIDA2OjE5OjAyWiBhZ3VydG92b3kgJAorLy8gJERhdGU6IDIwMDgtMTAtMTAgMjM6MTk6MDIgLTA3MDAgKEZyaSwgMTAgT2N0IDIwMDgpICQKKy8vICRSZXZpc2lvbjogNDkyNjcgJAorCisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL3NpemVfZndkLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYmVnaW5fZW5kLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvZGlzdGFuY2UuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL3RyYWl0c19sYW1iZGFfc3BlYy5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vY29uZmlnL3dvcmthcm91bmQuaHBwPgorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKworLy8gZGVmYXVsdCBpbXBsZW1lbnRhdGlvbjsgY29ucmV0ZSBzZXF1ZW5jZXMgbWlnaHQgb3ZlcnJpZGUgaXQgYnkgCisvLyBzcGVjaWFsaXppbmcgZWl0aGVyIHRoZSAnc2l6ZV9pbXBsJyBvciB0aGUgcHJpbWFyeSAnc2l6ZScgdGVtcGxhdGUKKwordGVtcGxhdGU8IHR5cGVuYW1lIFRhZyA+CitzdHJ1Y3Qgc2l6ZV9pbXBsCit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFNlcXVlbmNlID4gc3RydWN0IGFwcGx5CisjaWYgIUJPT1NUX1dPUktBUk9VTkQoX19CT1JMQU5EQ19fLCBCT09TVF9URVNURURfQVQoMHg1NjEpKQorICAgICAgICA6IGRpc3RhbmNlPAorICAgICAgICAgICAgICB0eXBlbmFtZSBiZWdpbjxTZXF1ZW5jZT46OnR5cGUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgZW5kPFNlcXVlbmNlPjo6dHlwZQorICAgICAgICAgICAgPgorICAgIHsKKyNlbHNlCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGRpc3RhbmNlPAorICAgICAgICAgICAgICB0eXBlbmFtZSBiZWdpbjxTZXF1ZW5jZT46OnR5cGUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgZW5kPFNlcXVlbmNlPjo6dHlwZQorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworI2VuZGlmCisgICAgfTsKK307CisKK0JPT1NUX01QTF9BTEdPUklUTV9UUkFJVFNfTEFNQkRBX1NQRUMoMSwgc2l6ZV9pbXBsKQorCit9fQorCisjZW5kaWYgLy8gQk9PU1RfTVBMX0FVWF9TSVpFX0lNUExfSFBQX0lOQ0xVREVECmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYXV4Xy90ZW1wbGF0ZV9hcml0eS5ocHAgYi9uZG5ib29zdC9tcGwvYXV4Xy90ZW1wbGF0ZV9hcml0eS5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDdhODM5OAotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3RlbXBsYXRlX2FyaXR5LmhwcApAQCAtMCwwICsxLDE4OSBAQAorCisjaWYgIWRlZmluZWQoQk9PU1RfUFBfSVNfSVRFUkFUSU5HKQorCisvLy8vLyBoZWFkZXIgYm9keQorCisjaWZuZGVmIEJPT1NUX01QTF9BVVhfVEVNUExBVEVfQVJJVFlfSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX01QTF9BVVhfVEVNUExBVEVfQVJJVFlfSFBQX0lOQ0xVREVECisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDEtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKy8vIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL21wbCBmb3IgZG9jdW1lbnRhdGlvbi4KKworLy8gJElkOiB0ZW1wbGF0ZV9hcml0eS5ocHAgNjE1ODQgMjAxMC0wNC0yNiAxODo0ODoyNlogYWd1cnRvdm95ICQKKy8vICREYXRlOiAyMDEwLTA0LTI2IDExOjQ4OjI2IC0wNzAwIChNb24sIDI2IEFwciAyMDEwKSAkCisvLyAkUmV2aXNpb246IDYxNTg0ICQKKworI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2NvbmZpZy90dHAuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2NvbmZpZy9sYW1iZGEuaHBwPgorCisjaWYgIWRlZmluZWQoQk9PU1RfTVBMX1BSRVBST0NFU1NJTkdfTU9ERSkKKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy90ZW1wbGF0ZV9hcml0eV9md2QuaHBwPgorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC9pbnQuaHBwPgorIyAgIGlmICFkZWZpbmVkKEJPT1NUX01QTF9DRkdfTk9fRlVMTF9MQU1CREFfU1VQUE9SVCkKKyMgICBpZiBkZWZpbmVkKEJPT1NUX01QTF9DRkdfRVhURU5ERURfVEVNUExBVEVfUEFSQU1FVEVSU19NQVRDSElORykKKyMgICAgICAgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vdHlwZV93cmFwcGVyLmhwcD4KKyMgICBlbmRpZgorIyAgIGVsc2UKKyMgICAgICAgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vaGFzX3JlYmluZC5ocHA+CisjICAgZW5kaWYKKyNlbmRpZgorCisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vY29uZmlnL3N0YXRpY19jb25zdGFudC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vY29uZmlnL3VzZV9wcmVwcm9jZXNzZWQuaHBwPgorCisjaWYgIWRlZmluZWQoQk9PU1RfTVBMX0NGR19OT19QUkVQUk9DRVNTRURfSEVBREVSUykgXAorICAgICYmICFkZWZpbmVkKEJPT1NUX01QTF9QUkVQUk9DRVNTSU5HX01PREUpCisKKyMgICBkZWZpbmUgQk9PU1RfTVBMX1BSRVBST0NFU1NFRF9IRUFERVIgdGVtcGxhdGVfYXJpdHkuaHBwCisjICAgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vaW5jbHVkZV9wcmVwcm9jZXNzZWQuaHBwPgorCisjZWxzZQorCisjICAgaWYgIWRlZmluZWQoQk9PU1RfTVBMX0NGR19OT19GVUxMX0xBTUJEQV9TVVBQT1JUKQorIyAgIGlmIGRlZmluZWQoQk9PU1RfTVBMX0NGR19FWFRFTkRFRF9URU1QTEFURV9QQVJBTUVURVJTX01BVENISU5HKQorCisjICAgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2xpbWl0cy9hcml0eS5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc29yL3JhbmdlLmhwcD4KKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzb3IvcmVwZWF0LmhwcD4KKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzb3IvcGFyYW1zLmhwcD4KKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9udHRwX2RlY2wuaHBwPgorCisjICAgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL3NlcS9mb2xkX2xlZnQuaHBwPgorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9jb21tYV9pZi5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL2l0ZXJhdGUuaHBwPgorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9pbmMuaHBwPgorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9jYXQuaHBwPgorCisjICAgZGVmaW5lIEFVWDc3ODA3Nl9BUklUWSBCT09TVF9QUF9JTkMoQk9PU1RfTVBMX0xJTUlUX01FVEFGVU5DVElPTl9BUklUWSkKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7IG5hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwgQk9PU1RfTVBMX0FVWF9OVFRQX0RFQ0woaW50LCBOKSA+IHN0cnVjdCBhcml0eV90YWcKK3sKKyAgICB0eXBlZGVmIGNoYXIgKCZ0eXBlKVtOICsgMV07Cit9OworCisjICAgZGVmaW5lIEFVWDc3ODA3Nl9NQVhfQVJJVFlfT1AodW51c2VkLCBzdGF0ZSwgaV8pIFwKKyAgICAoIEJPT1NUX1BQX0NBVChDLGlfKSA+IDAgPyBCT09TVF9QUF9DQVQoQyxpXykgOiBzdGF0ZSApIFwKKy8qKi8KKwordGVtcGxhdGU8CisgICAgICBCT09TVF9NUExfUFBfUEFSQU1TKEFVWDc3ODA3Nl9BUklUWSwgQk9PU1RfTVBMX0FVWF9OVFRQX0RFQ0woaW50LCBDKSkKKyAgICA+CitzdHJ1Y3QgbWF4X2FyaXR5Cit7CisgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgPSAKKyAgICAgICAgICBCT09TVF9QUF9TRVFfRk9MRF9MRUZUKAorICAgICAgICAgICAgICBBVVg3NzgwNzZfTUFYX0FSSVRZX09QCisgICAgICAgICAgICAsIC0xCisgICAgICAgICAgICAsIEJPT1NUX01QTF9QUF9SQU5HRSgxLCBBVVg3NzgwNzZfQVJJVFkpCisgICAgICAgICAgICApCisgICAgICAgICk7Cit9OworCisjICAgdW5kZWYgQVVYNzc4MDc2X01BWF9BUklUWV9PUAorCithcml0eV90YWc8MD46OnR5cGUgYXJpdHlfaGVscGVyKC4uLik7CisKKyMgICBkZWZpbmUgQk9PU1RfUFBfSVRFUkFUSU9OX0xJTUlUUyAoMSwgQVVYNzc4MDc2X0FSSVRZKQorIyAgIGRlZmluZSBCT09TVF9QUF9GSUxFTkFNRV8xIDxuZG5ib29zdC9tcGwvYXV4Xy90ZW1wbGF0ZV9hcml0eS5ocHA+CisjICAgaW5jbHVkZSBCT09TVF9QUF9JVEVSQVRFKCkKKwordGVtcGxhdGU8IHR5cGVuYW1lIEYsIEJPT1NUX01QTF9BVVhfTlRUUF9ERUNMKGludCwgTikgPgorc3RydWN0IHRlbXBsYXRlX2FyaXR5X2ltcGwKK3sKKyAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSA9IAorICAgICAgICAgIHNpemVvZig6Om5kbmJvb3N0OjptcGw6OmF1eDo6YXJpdHlfaGVscGVyKHR5cGVfd3JhcHBlcjxGPigpLGFyaXR5X3RhZzxOPigpKSkgLSAxCisgICAgICAgICk7Cit9OworCisjICAgZGVmaW5lIEFVWDc3ODA3Nl9URU1QTEFURV9BUklUWV9JTVBMX0lOVk9DQVRJT04odW51c2VkLCBpXywgRikgXAorICAgIEJPT1NUX1BQX0NPTU1BX0lGKGlfKSB0ZW1wbGF0ZV9hcml0eV9pbXBsPEYsQk9PU1RfUFBfSU5DKGlfKT46OnZhbHVlIFwKKy8qKi8KKwordGVtcGxhdGU8IHR5cGVuYW1lIEYgPgorc3RydWN0IHRlbXBsYXRlX2FyaXR5Cit7CisgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgPSAoCisgICAgICAgICAgbWF4X2FyaXR5PCBCT09TVF9NUExfUFBfUkVQRUFUKAorICAgICAgICAgICAgICBBVVg3NzgwNzZfQVJJVFkKKyAgICAgICAgICAgICwgQVVYNzc4MDc2X1RFTVBMQVRFX0FSSVRZX0lNUExfSU5WT0NBVElPTgorICAgICAgICAgICAgLCBGCisgICAgICAgICAgICApID46OnZhbHVlCisgICAgICAgICkpOworICAgICAgICAKKyAgICB0eXBlZGVmIG1wbDo6aW50Xzx2YWx1ZT4gdHlwZTsKK307CisKKyMgICB1bmRlZiBBVVg3NzgwNzZfVEVNUExBVEVfQVJJVFlfSU1QTF9JTlZPQ0FUSU9OCisKKyMgICB1bmRlZiBBVVg3NzgwNzZfQVJJVFkKKworfX19CisKKyMgICBlbmRpZiAvLyBCT09TVF9NUExfQ0ZHX0VYVEVOREVEX1RFTVBMQVRFX1BBUkFNRVRFUlNfTUFUQ0hJTkcKKyMgICBlbHNlIC8vIEJPT1NUX01QTF9DRkdfTk9fRlVMTF9MQU1CREFfU1VQUE9SVAorCisjICAgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vY29uZmlnL2V0aS5ocHA+CisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeyBuYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8IGJvb2wgPgorc3RydWN0IHRlbXBsYXRlX2FyaXR5X2ltcGwKK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgRiA+IHN0cnVjdCByZXN1bHRfCisgICAgICAgIDogbXBsOjppbnRfPC0xPgorICAgIHsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHRlbXBsYXRlX2FyaXR5X2ltcGw8dHJ1ZT4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgRiA+IHN0cnVjdCByZXN1bHRfCisgICAgICAgIDogRjo6YXJpdHkKKyAgICB7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBGID4KK3N0cnVjdCB0ZW1wbGF0ZV9hcml0eQorICAgIDogdGVtcGxhdGVfYXJpdHlfaW1wbDwgOjpuZG5ib29zdDo6bXBsOjphdXg6Omhhc19yZWJpbmQ8Rj46OnZhbHVlID4KKyAgICAgICAgOjp0ZW1wbGF0ZSByZXN1bHRfPEY+Cit7Cit9OworCisjaWYgZGVmaW5lZChCT09TVF9NUExfQ0ZHX01TVkNfRVRJX0JVRykKK3RlbXBsYXRlPD4KK3N0cnVjdCB0ZW1wbGF0ZV9hcml0eTxpbnQ+CisgICAgOiBtcGw6OmludF88LTE+Cit7Cit9OworI2VuZGlmCisKK319fQorCisjICAgZW5kaWYgLy8gQk9PU1RfTVBMX0NGR19OT19GVUxMX0xBTUJEQV9TVVBQT1JUCisKKyNlbmRpZiAvLyBCT09TVF9NUExfQ0ZHX05PX1BSRVBST0NFU1NFRF9IRUFERVJTCisjZW5kaWYgLy8gQk9PU1RfTVBMX0FVWF9URU1QTEFURV9BUklUWV9IUFBfSU5DTFVERUQKKworLy8vLy8gaXRlcmF0aW9uCisKKyNlbHNlCisjZGVmaW5lIGlfIEJPT1NUX1BQX0ZSQU1FX0lURVJBVElPTigxKQorCit0ZW1wbGF0ZTwKKyAgICAgIHRlbXBsYXRlPCBCT09TVF9NUExfUFBfUEFSQU1TKGlfLCB0eXBlbmFtZSBQKSA+IGNsYXNzIEYKKyAgICAsIEJPT1NUX01QTF9QUF9QQVJBTVMoaV8sIHR5cGVuYW1lIFQpCisgICAgPgordHlwZW5hbWUgYXJpdHlfdGFnPGlfPjo6dHlwZQorYXJpdHlfaGVscGVyKHR5cGVfd3JhcHBlcjwgRjxCT09TVF9NUExfUFBfUEFSQU1TKGlfLCBUKT4gPiwgYXJpdHlfdGFnPGlfPik7CisKKyN1bmRlZiBpXworI2VuZGlmIC8vIEJPT1NUX1BQX0lTX0lURVJBVElORwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vdHJhaXRzX2xhbWJkYV9zcGVjLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3RyYWl0c19sYW1iZGFfc3BlYy5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTNhYjQxZgotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3RyYWl0c19sYW1iZGFfc3BlYy5ocHAKQEAgLTAsMCArMSw2MyBAQAorCisjaWZuZGVmIEJPT1NUX01QTF9BVVhfVFJBSVRTX0xBTUJEQV9TUEVDX0hQUF9JTkNMVURFRAorI2RlZmluZSBCT09TVF9NUExfQVVYX1RSQUlUU19MQU1CREFfU1BFQ19IUFBfSU5DTFVERUQKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA4CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworLy8gU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL2xpYnMvbXBsIGZvciBkb2N1bWVudGF0aW9uLgorCisvLyAkSWQ6IHRyYWl0c19sYW1iZGFfc3BlYy5ocHAgNDkyNjcgMjAwOC0xMC0xMSAwNjoxOTowMlogYWd1cnRvdm95ICQKKy8vICREYXRlOiAyMDA4LTEwLTEwIDIzOjE5OjAyIC0wNzAwIChGcmksIDEwIE9jdCAyMDA4KSAkCisvLyAkUmV2aXNpb246IDQ5MjY3ICQKKworI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9zZXF1ZW5jZV90YWdfZndkLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvdm9pZC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc29yL3BhcmFtcy5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vY29uZmlnL2xhbWJkYS5ocHA+CisKKyNpZiAhZGVmaW5lZChCT09TVF9NUExfQ0ZHX05PX0ZVTExfTEFNQkRBX1NVUFBPUlQpCisKKyMgICBkZWZpbmUgQk9PU1RfTVBMX0FMR09SSVRNX1RSQUlUU19MQU1CREFfU1BFQ19JTVBMKGksIHRyYWl0KSAvKiovCisKKyNlbGlmICFkZWZpbmVkKEJPT1NUX01QTF9DRkdfTVNWQ19FVElfQlVHKQorCisjICAgZGVmaW5lIEJPT1NUX01QTF9BTEdPUklUTV9UUkFJVFNfTEFNQkRBX1NQRUNfSU1QTChpLCB0cmFpdCkgXAordGVtcGxhdGU8PiBzdHJ1Y3QgdHJhaXQ8dm9pZF8+IFwKK3sgXAorICAgIHRlbXBsYXRlPCBCT09TVF9NUExfUFBfUEFSQU1TKGksIHR5cGVuYW1lIFQpID4gc3RydWN0IGFwcGx5IFwKKyAgICB7IFwKKyAgICB9OyBcCit9OyBcCisvKiovCisKKyNlbHNlCisKKyMgICBkZWZpbmUgQk9PU1RfTVBMX0FMR09SSVRNX1RSQUlUU19MQU1CREFfU1BFQ19JTVBMKGksIHRyYWl0KSBcCit0ZW1wbGF0ZTw+IHN0cnVjdCB0cmFpdDx2b2lkXz4gXAoreyBcCisgICAgdGVtcGxhdGU8IEJPT1NUX01QTF9QUF9QQVJBTVMoaSwgdHlwZW5hbWUgVCkgPiBzdHJ1Y3QgYXBwbHkgXAorICAgIHsgXAorICAgIH07IFwKK307IFwKK3RlbXBsYXRlPD4gc3RydWN0IHRyYWl0PGludD4gXAoreyBcCisgICAgdGVtcGxhdGU8IEJPT1NUX01QTF9QUF9QQVJBTVMoaSwgdHlwZW5hbWUgVCkgPiBzdHJ1Y3QgYXBwbHkgXAorICAgIHsgXAorICAgICAgICB0eXBlZGVmIGludCB0eXBlOyBcCisgICAgfTsgXAorfTsgXAorLyoqLworCisjZW5kaWYgLy8gQk9PU1RfTVBMX0NGR19OT19GVUxMX0xBTUJEQV9TVVBQT1JUCisKKworI2RlZmluZSBCT09TVF9NUExfQUxHT1JJVE1fVFJBSVRTX0xBTUJEQV9TUEVDKGksIHRyYWl0KSBcCisgICAgQk9PU1RfTVBMX0FMR09SSVRNX1RSQUlUU19MQU1CREFfU1BFQ19JTVBMKGksIHRyYWl0KSBcCisgICAgdGVtcGxhdGU8PiBzdHJ1Y3QgdHJhaXQ8bm9uX3NlcXVlbmNlX3RhZz4ge307IFwKKy8qKi8KKworI2VuZGlmIC8vIEJPT1NUX01QTF9BVVhfVFJBSVRTX0xBTUJEQV9TUEVDX0hQUF9JTkNMVURFRApkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2F1eF8vdHlwZV93cmFwcGVyLmhwcCBiL25kbmJvb3N0L21wbC9hdXhfL3R5cGVfd3JhcHBlci5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTExMzljMwotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9hdXhfL3R5cGVfd3JhcHBlci5ocHAKQEAgLTAsMCArMSw0NyBAQAorCisjaWZuZGVmIEJPT1NUX01QTF9BVVhfVFlQRV9XUkFQUEVSX0hQUF9JTkNMVURFRAorI2RlZmluZSBCT09TVF9NUExfQVVYX1RZUEVfV1JBUFBFUl9IUFBfSU5DTFVERUQKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLyBDb3B5cmlnaHQgUGV0ZXIgRGltb3YgMjAwMC0yMDAzCisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworLy8gU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL2xpYnMvbXBsIGZvciBkb2N1bWVudGF0aW9uLgorCisvLyAkSWQ6IHR5cGVfd3JhcHBlci5ocHAgNDkyNjcgMjAwOC0xMC0xMSAwNjoxOTowMlogYWd1cnRvdm95ICQKKy8vICREYXRlOiAyMDA4LTEwLTEwIDIzOjE5OjAyIC0wNzAwIChGcmksIDEwIE9jdCAyMDA4KSAkCisvLyAkUmV2aXNpb246IDQ5MjY3ICQKKworI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2NvbmZpZy9jdHBzLmhwcD4KKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7IG5hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVCA+IHN0cnVjdCB0eXBlX3dyYXBwZXIKK3sKKyAgICB0eXBlZGVmIFQgdHlwZTsKK307CisKKyNpZiAhZGVmaW5lZChCT09TVF9OT19URU1QTEFURV9QQVJUSUFMX1NQRUNJQUxJWkFUSU9OKQorLy8gYWd1cnQgMDgvbWF5LzAzOiBhIGNvbXBsaWNhdGVkIHdheSB0byBleHRyYWN0IHRoZSB3cmFwcGVkIHR5cGU7IG5lZWQgaXQgCisvLyBtb3N0bHkgZm9yIHRoZSBzYWtlIG9mIEdDQyAoMy4yLngpLCB3aGljaCBJQ0VzIGlmIHlvdSB0cnkgdG8gZXh0cmFjdCB0aGUgCisvLyBuZXN0ZWQgJ3R5cGUnIGZyb20gJ3R5cGVfd3JhcHBlcjxUPicgd2hlbiB0aGUgbGF0dGVyIHdhcyB0aGUgcmVzdWx0IG9mIGEKKy8vICd0eXBlb2YnIGV4cHJlc3Npb24KK3RlbXBsYXRlPCB0eXBlbmFtZSBUID4gc3RydWN0IHdyYXBwZWRfdHlwZTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFQgPiBzdHJ1Y3Qgd3JhcHBlZF90eXBlPCB0eXBlX3dyYXBwZXI8VD4gPgoreworICAgIHR5cGVkZWYgVCB0eXBlOworfTsKKyNlbHNlCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVyA+IHN0cnVjdCB3cmFwcGVkX3R5cGUKK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIFc6OnR5cGUgdHlwZTsKK307CisjZW5kaWYKKworfX19CisKKyNlbmRpZiAvLyBCT09TVF9NUExfQVVYX1RZUEVfV1JBUFBFUl9IUFBfSU5DTFVERUQKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9iYWNrX2Z3ZC5ocHAgYi9uZG5ib29zdC9tcGwvYmFja19md2QuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJiNDk2M2EKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYmFja19md2QuaHBwCkBAIC0wLDAgKzEsMjQgQEAKKworI2lmbmRlZiBCT09TVF9NUExfQkFDS19GV0RfSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX01QTF9CQUNLX0ZXRF9IUFBfSU5DTFVERUQKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworLy8gU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL2xpYnMvbXBsIGZvciBkb2N1bWVudGF0aW9uLgorCisvLyAkSWQ6IGJhY2tfZndkLmhwcCA0OTI2NyAyMDA4LTEwLTExIDA2OjE5OjAyWiBhZ3VydG92b3kgJAorLy8gJERhdGU6IDIwMDgtMTAtMTAgMjM6MTk6MDIgLTA3MDAgKEZyaSwgMTAgT2N0IDIwMDgpICQKKy8vICRSZXZpc2lvbjogNDkyNjcgJAorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFRhZyA+IHN0cnVjdCBiYWNrX2ltcGw7Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgU2VxdWVuY2UgPiBzdHJ1Y3QgYmFjazsKKworfX0KKworI2VuZGlmIC8vIEJPT1NUX01QTF9CQUNLX0ZXRF9IUFBfSU5DTFVERUQKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9iYWNrX2luc2VydGVyLmhwcCBiL25kbmJvb3N0L21wbC9iYWNrX2luc2VydGVyLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNGM3NzliCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2JhY2tfaW5zZXJ0ZXIuaHBwCkBAIC0wLDAgKzEsMzQgQEAKKworI2lmbmRlZiBCT09TVF9NUExfQkFDS19JTlNFUlRFUl9IUFBfSU5DTFVERUQKKyNkZWZpbmUgQk9PU1RfTVBMX0JBQ0tfSU5TRVJURVJfSFBQX0lOQ0xVREVECisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDMtMjAwNAorLy8gQ29weXJpZ2h0IERhdmlkIEFicmFoYW1zIDIwMDMtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKy8vIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL21wbCBmb3IgZG9jdW1lbnRhdGlvbi4KKworLy8gJElkOiBiYWNrX2luc2VydGVyLmhwcCA0OTI2NyAyMDA4LTEwLTExIDA2OjE5OjAyWiBhZ3VydG92b3kgJAorLy8gJERhdGU6IDIwMDgtMTAtMTAgMjM6MTk6MDIgLTA3MDAgKEZyaSwgMTAgT2N0IDIwMDgpICQKKy8vICRSZXZpc2lvbjogNDkyNjcgJAorCisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL3B1c2hfYmFjay5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2luc2VydGVyLmhwcD4KKworbmFtZXNwYWNlIG5kbmJvb3N0IHsKK25hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFNlcXVlbmNlCisgICAgPgorc3RydWN0IGJhY2tfaW5zZXJ0ZXIKKyAgICA6IGluc2VydGVyPCBTZXF1ZW5jZSxwdXNoX2JhY2s8PiA+Cit7Cit9OworCit9fQorCisjZW5kaWYgLy8gQk9PU1RfTVBMX0JBQ0tfSU5TRVJURVJfSFBQX0lOQ0xVREVECmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYmVnaW4uaHBwIGIvbmRuYm9vc3QvbXBsL2JlZ2luLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MWEyY2QwCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2JlZ2luLmhwcApAQCAtMCwwICsxLDE5IEBACisKKyNpZm5kZWYgQk9PU1RfTVBMX0JFR0lOX0hQUF9JTkNMVURFRAorI2RlZmluZSBCT09TVF9NUExfQkVHSU5fSFBQX0lOQ0xVREVECisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisvLyBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvbGlicy9tcGwgZm9yIGRvY3VtZW50YXRpb24uCisKKy8vICRJZDogYmVnaW4uaHBwIDQ5MjY3IDIwMDgtMTAtMTEgMDY6MTk6MDJaIGFndXJ0b3ZveSAkCisvLyAkRGF0ZTogMjAwOC0xMC0xMCAyMzoxOTowMiAtMDcwMCAoRnJpLCAxMCBPY3QgMjAwOCkgJAorLy8gJFJldmlzaW9uOiA0OTI2NyAkCisKKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYmVnaW5fZW5kLmhwcD4KKworI2VuZGlmIC8vIEJPT1NUX01QTF9CRUdJTl9IUFBfSU5DTFVERUQKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9iZWdpbl9lbmQuaHBwIGIvbmRuYm9vc3QvbXBsL2JlZ2luX2VuZC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODkwOThmYQotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9iZWdpbl9lbmQuaHBwCkBAIC0wLDAgKzEsNTcgQEAKKworI2lmbmRlZiBCT09TVF9NUExfQkVHSU5fRU5EX0hQUF9JTkNMVURFRAorI2RlZmluZSBCT09TVF9NUExfQkVHSU5fRU5EX0hQUF9JTkNMVURFRAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisvLyBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvbGlicy9tcGwgZm9yIGRvY3VtZW50YXRpb24uCisKKy8vICRJZDogYmVnaW5fZW5kLmhwcCA0OTI2NyAyMDA4LTEwLTExIDA2OjE5OjAyWiBhZ3VydG92b3kgJAorLy8gJERhdGU6IDIwMDgtMTAtMTAgMjM6MTk6MDIgLTA3MDAgKEZyaSwgMTAgT2N0IDIwMDgpICQKKy8vICRSZXZpc2lvbjogNDkyNjcgJAorCisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2JlZ2luX2VuZF9md2QuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2JlZ2luX2VuZF9pbXBsLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvc2VxdWVuY2VfdGFnLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9uYV9zcGVjLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9sYW1iZGFfc3VwcG9ydC5ocHA+CisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCisvLyBhZ3VydCwgMTMvc2VwLzAyOiBzd2l0Y2hlZCBmcm9tIGluaGVyaXRhbmNlIHRvIHR5cGVkZWY7IE1TVkMgaXMgbW9yZQorLy8gaGFwcHkgdGhpcyB3YXkgKGxlc3MgRVRJLXJlbGF0ZWQgZXJyb3JzKSwgYW5kIGl0IGRvZXNuJ3QgYWZmZWN0IAorLy8gYW55dGhpbmcgZWxzZQordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKFNlcXVlbmNlKQorICAgID4KK3N0cnVjdCBiZWdpbgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgc2VxdWVuY2VfdGFnPFNlcXVlbmNlPjo6dHlwZSB0YWdfOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYmVnaW5faW1wbDwgdGFnXyA+CisgICAgICAgIDo6dGVtcGxhdGUgYXBwbHk8IFNlcXVlbmNlID46OnR5cGUgdHlwZTsKKworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoMSxiZWdpbiwoU2VxdWVuY2UpKQorfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKFNlcXVlbmNlKQorICAgID4KK3N0cnVjdCBlbmQKK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHNlcXVlbmNlX3RhZzxTZXF1ZW5jZT46OnR5cGUgdGFnXzsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGVuZF9pbXBsPCB0YWdfID4KKyAgICAgICAgOjp0ZW1wbGF0ZSBhcHBseTwgU2VxdWVuY2UgPjo6dHlwZSB0eXBlOworCisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgxLGVuZCwoU2VxdWVuY2UpKQorfTsKKworQk9PU1RfTVBMX0FVWF9OQV9TUEVDKDEsIGJlZ2luKQorQk9PU1RfTVBMX0FVWF9OQV9TUEVDKDEsIGVuZCkKKworfX0KKworI2VuZGlmIC8vIEJPT1NUX01QTF9CRUdJTl9FTkRfSFBQX0lOQ0xVREVECmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvYmVnaW5fZW5kX2Z3ZC5ocHAgYi9uZG5ib29zdC9tcGwvYmVnaW5fZW5kX2Z3ZC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWNiZjQ4MQotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9iZWdpbl9lbmRfZndkLmhwcApAQCAtMCwwICsxLDI3IEBACisKKyNpZm5kZWYgQk9PU1RfTVBMX0JFR0lOX0VORF9GV0RfSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX01QTF9CRUdJTl9FTkRfRldEX0hQUF9JTkNMVURFRAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisvLyBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvbGlicy9tcGwgZm9yIGRvY3VtZW50YXRpb24uCisKKy8vICRJZDogYmVnaW5fZW5kX2Z3ZC5ocHAgNDkyNjcgMjAwOC0xMC0xMSAwNjoxOTowMlogYWd1cnRvdm95ICQKKy8vICREYXRlOiAyMDA4LTEwLTEwIDIzOjE5OjAyIC0wNzAwIChGcmksIDEwIE9jdCAyMDA4KSAkCisvLyAkUmV2aXNpb246IDQ5MjY3ICQKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUYWcgPiBzdHJ1Y3QgYmVnaW5faW1wbDsKK3RlbXBsYXRlPCB0eXBlbmFtZSBUYWcgPiBzdHJ1Y3QgZW5kX2ltcGw7CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBTZXF1ZW5jZSA+IHN0cnVjdCBiZWdpbjsKK3RlbXBsYXRlPCB0eXBlbmFtZSBTZXF1ZW5jZSA+IHN0cnVjdCBlbmQ7CisKK319CisKKyNlbmRpZiAvLyBCT09TVF9NUExfQkVHSU5fRU5EX0ZXRF9IUFBfSU5DTFVERUQKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9iaW5kLmhwcCBiL25kbmJvb3N0L21wbC9iaW5kLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jYzA4MzRlCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2JpbmQuaHBwCkBAIC0wLDAgKzEsNTUxIEBACisKKyNpZiAhZGVmaW5lZChCT09TVF9QUF9JU19JVEVSQVRJTkcpCisKKy8vLy8vIGhlYWRlciBib2R5CisKKyNpZm5kZWYgQk9PU1RfTVBMX0JJTkRfSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX01QTF9CSU5EX0hQUF9JTkNMVURFRAorCisvLyBDb3B5cmlnaHQgUGV0ZXIgRGltb3YgMjAwMQorLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMS0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworLy8gU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL2xpYnMvbXBsIGZvciBkb2N1bWVudGF0aW9uLgorCisvLyAkSWQ6IGJpbmQuaHBwIDQ5MjY3IDIwMDgtMTAtMTEgMDY6MTk6MDJaIGFndXJ0b3ZveSAkCisvLyAkRGF0ZTogMjAwOC0xMC0xMCAyMzoxOTowMiAtMDcwMCAoRnJpLCAxMCBPY3QgMjAwOCkgJAorLy8gJFJldmlzaW9uOiA0OTI2NyAkCisKKyNpZiAhZGVmaW5lZChCT09TVF9NUExfUFJFUFJPQ0VTU0lOR19NT0RFKQorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC9iaW5kX2Z3ZC5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL3BsYWNlaG9sZGVycy5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL25leHQuaHBwPgorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC9wcm90ZWN0LmhwcD4KKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXBwbHlfd3JhcC5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2xpbWl0cy9hcml0eS5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vbmEuaHBwPgorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2FyaXR5X3NwZWMuaHBwPgorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL3R5cGVfd3JhcHBlci5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8veWVzX25vLmhwcD4KKyMgICBpZiBkZWZpbmVkKEJPT1NUX05PX1RFTVBMQVRFX1BBUlRJQUxfU1BFQ0lBTElaQVRJT04pCisjICAgICAgIGluY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2lzX3JlZmVyZW5jZS5ocHA+CisjICAgZW5kaWYgCisjZW5kaWYKKworI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2NvbmZpZy9iaW5kLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9jb25maWcvc3RhdGljX2NvbnN0YW50LmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9jb25maWcvdXNlX3ByZXByb2Nlc3NlZC5ocHA+CisKKyNpZiAhZGVmaW5lZChCT09TVF9NUExfQ0ZHX05PX1BSRVBST0NFU1NFRF9IRUFERVJTKSBcCisgICAgJiYgIWRlZmluZWQoQk9PU1RfTVBMX1BSRVBST0NFU1NJTkdfTU9ERSkKKworIyAgIGlmIGRlZmluZWQoQk9PU1RfTVBMX0NGR19OT19VTk5BTUVEX1BMQUNFSE9MREVSX1NVUFBPUlQpCisjICAgICAgIGRlZmluZSBCT09TVF9NUExfUFJFUFJPQ0VTU0VEX0hFQURFUiBiYXNpY19iaW5kLmhwcAorIyAgIGVsc2UKKyMgICAgICAgZGVmaW5lIEJPT1NUX01QTF9QUkVQUk9DRVNTRURfSEVBREVSIGJpbmQuaHBwCisjICAgZW5kaWYKKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9pbmNsdWRlX3ByZXByb2Nlc3NlZC5ocHA+CisKKyNlbHNlCisKKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzb3IvcGFyYW1zLmhwcD4KKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzb3IvZGVmYXVsdF9wYXJhbXMuaHBwPgorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3Nvci9kZWZfcGFyYW1zX3RhaWwuaHBwPgorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3Nvci9wYXJ0aWFsX3NwZWNfcGFyYW1zLmhwcD4KKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzb3IvZXh0X3BhcmFtcy5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc29yL3JlcGVhdC5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vcHJlcHJvY2Vzc29yL2VudW0uaHBwPgorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3Nvci9hZGQuaHBwPgorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2NvbmZpZy9kbWNfYW1iaWd1b3VzX2N0cHMuaHBwPgorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2NvbmZpZy9jdHBzLmhwcD4KKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9jb25maWcvdHRwLmhwcD4KKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9jb25maWcvZHRwLmhwcD4KKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9udHRwX2RlY2wuaHBwPgorCisjICAgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL2l0ZXJhdGUuaHBwPgorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9jb21tYV9pZi5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL2NhdC5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL2luYy5ocHA+CisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCisvLyBsb2NhbCBtYWNyb3MsICN1bmRlZi1pbmVkIGF0IHRoZSBlbmQgb2YgdGhlIGhlYWRlcgorIyAgIGRlZmluZSBBVVg3NzgwNzZfQVBQTFkgXAorICAgIEJPT1NUX1BQX0NBVChhcHBseV93cmFwLEJPT1NUX01QTF9MSU1JVF9NRVRBRlVOQ1RJT05fQVJJVFkpIFwKKyAgICAvKiovCisKKyMgICBpZiBkZWZpbmVkKEJPT1NUX01QTF9DRkdfRE1DX0FNQklHVU9VU19DVFBTKQorIyAgICAgICBkZWZpbmUgQVVYNzc4MDc2X0RNQ19QQVJBTSgpICwgaW50IGR1bW15XworIyAgIGVsc2UKKyMgICAgICAgZGVmaW5lIEFVWDc3ODA3Nl9ETUNfUEFSQU0oKQorIyAgIGVuZGlmCisKKyMgICBkZWZpbmUgQVVYNzc4MDc2X0JJTkRfUEFSQU1TKHBhcmFtKSBcCisgICAgQk9PU1RfTVBMX1BQX1BBUkFNUyggXAorICAgICAgICAgIEJPT1NUX01QTF9MSU1JVF9NRVRBRlVOQ1RJT05fQVJJVFkgXAorICAgICAgICAsIHBhcmFtIFwKKyAgICAgICAgKSBcCisgICAgLyoqLworCisjICAgZGVmaW5lIEFVWDc3ODA3Nl9CSU5EX0RFRkFVTFRfUEFSQU1TKHBhcmFtLCB2YWx1ZSkgXAorICAgIEJPT1NUX01QTF9QUF9ERUZBVUxUX1BBUkFNUyggXAorICAgICAgICAgIEJPT1NUX01QTF9MSU1JVF9NRVRBRlVOQ1RJT05fQVJJVFkgXAorICAgICAgICAsIHBhcmFtIFwKKyAgICAgICAgLCB2YWx1ZSBcCisgICAgICAgICkgXAorICAgIC8qKi8KKworIyAgIGRlZmluZSBBVVg3NzgwNzZfQklORF9OX1BBUkFNUyhuLCBwYXJhbSkgXAorICAgIEJPT1NUX1BQX0NPTU1BX0lGKG4pIEJPT1NUX01QTF9QUF9QQVJBTVMobiwgcGFyYW0pIFwKKyAgICAvKiovCisKKyMgICBkZWZpbmUgQVVYNzc4MDc2X0JJTkRfTl9TUEVDX1BBUkFNUyhuLCBwYXJhbSwgZGVmKSBcCisgICAgQk9PU1RfUFBfQ09NTUFfSUYobikgXAorICAgIEJPT1NUX01QTF9QUF9QQVJUSUFMX1NQRUNfUEFSQU1TKG4sIHBhcmFtLCBkZWYpIFwKKyAgICAvKiovCisKKyNpZiAhZGVmaW5lZChCT09TVF9NUExfQ0ZHX05PX0RFRkFVTFRfUEFSQU1FVEVSU19JTl9ORVNURURfVEVNUExBVEVTKQorIyAgIGRlZmluZSBBVVg3NzgwNzZfQklORF9ORVNURURfREVGQVVMVF9QQVJBTVMocGFyYW0sIHZhbHVlKSBcCisgICAgQVVYNzc4MDc2X0JJTkRfREVGQVVMVF9QQVJBTVMocGFyYW0sIHZhbHVlKSBcCisgICAgLyoqLworI2Vsc2UKKyMgICBkZWZpbmUgQVVYNzc4MDc2X0JJTkRfTkVTVEVEX0RFRkFVTFRfUEFSQU1TKHBhcmFtLCB2YWx1ZSkgXAorICAgIEFVWDc3ODA3Nl9CSU5EX1BBUkFNUyhwYXJhbSkgXAorICAgIC8qKi8KKyNlbmRpZgorCituYW1lc3BhY2UgYXV4IHsKKworI2lmICFkZWZpbmVkKEJPT1NUX05PX1RFTVBMQVRFX1BBUlRJQUxfU1BFQ0lBTElaQVRJT04pCisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVCwgQVVYNzc4MDc2X0JJTkRfUEFSQU1TKHR5cGVuYW1lIFUpCisgICAgPgorc3RydWN0IHJlc29sdmVfYmluZF9hcmcKK3sKKyAgICB0eXBlZGVmIFQgdHlwZTsKK307CisKKyMgICBpZiAhZGVmaW5lZChCT09TVF9NUExfQ0ZHX05PX1VOTkFNRURfUExBQ0VIT0xERVJfU1VQUE9SVCkKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUCisgICAgLCB0eXBlbmFtZSBBcmcKKyAgICA+CitzdHJ1Y3QgcmVwbGFjZV91bm5hbWVkX2FyZworeworICAgIHR5cGVkZWYgQXJnIG5leHQ7CisgICAgdHlwZWRlZiBUIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEFyZworICAgID4KK3N0cnVjdCByZXBsYWNlX3VubmFtZWRfYXJnPCBhcmc8LTE+LEFyZyA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBBcmc6Om5leHQgbmV4dDsKKyAgICB0eXBlZGVmIEFyZyB0eXBlOworfTsKKworIyAgIGVuZGlmIC8vIEJPT1NUX01QTF9DRkdfTk9fVU5OQU1FRF9QTEFDRUhPTERFUl9TVVBQT1JUCisKK3RlbXBsYXRlPAorICAgICAgQk9PU1RfTVBMX0FVWF9OVFRQX0RFQ0woaW50LCBOKSwgQVVYNzc4MDc2X0JJTkRfUEFSQU1TKHR5cGVuYW1lIFUpCisgICAgPgorc3RydWN0IHJlc29sdmVfYmluZF9hcmc8IGFyZzxOPixBVVg3NzgwNzZfQklORF9QQVJBTVMoVSkgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgQVVYNzc4MDc2X0FQUExZPG1wbDo6YXJnPE4+LCBBVVg3NzgwNzZfQklORF9QQVJBTVMoVSk+Ojp0eXBlIHR5cGU7Cit9OworCisjaWYgIWRlZmluZWQoQk9PU1RfTVBMX0NGR19OT19CSU5EX1RFTVBMQVRFKQordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGLCBBVVg3NzgwNzZfQklORF9QQVJBTVModHlwZW5hbWUgVCksIEFVWDc3ODA3Nl9CSU5EX1BBUkFNUyh0eXBlbmFtZSBVKQorICAgID4KK3N0cnVjdCByZXNvbHZlX2JpbmRfYXJnPCBiaW5kPEYsQVVYNzc4MDc2X0JJTkRfUEFSQU1TKFQpPixBVVg3NzgwNzZfQklORF9QQVJBTVMoVSkgPgoreworICAgIHR5cGVkZWYgYmluZDxGLEFVWDc3ODA3Nl9CSU5EX1BBUkFNUyhUKT4gZl87CisgICAgdHlwZWRlZiB0eXBlbmFtZSBBVVg3NzgwNzZfQVBQTFk8Zl8sIEFVWDc3ODA3Nl9CSU5EX1BBUkFNUyhVKT46OnR5cGUgdHlwZTsKK307CisjZW5kaWYKKworI2Vsc2UgLy8gQk9PU1RfTk9fVEVNUExBVEVfUEFSVElBTF9TUEVDSUFMSVpBVElPTgorCisvLyBhZ3VydCwgMTUvamFuLzAyOiBpdCdzIG5vdCBhIGludGVuZGVkIHRvIGJlIHVzZWQgYXMgYSBmdW5jdGlvbiBjbGFzcywgYW5kIAorLy8gTVNWQzYuNSBoYXMgcHJvYmxlbXMgd2l0aCAnYXBwbHknIG5hbWUgaGVyZSAodGhlIGNvZGUgY29tcGlsZXMsIGJ1dCBkb2Vzbid0CisvLyB3b3JrKSwgc28gSSB3ZW50IHdpdGggdGhlICdyZXN1bHRfJyBoZXJlLCBhbmQgaW4gYWxsIG90aGVyIHNpbWlsYXIgY2FzZXMKK3RlbXBsYXRlPCBib29sID4KK3N0cnVjdCByZXNvbHZlX2FyZ19pbXBsCit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFQsIEFVWDc3ODA3Nl9CSU5EX1BBUkFNUyh0eXBlbmFtZSBVKSA+IHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIFQgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8PiAKK3N0cnVjdCByZXNvbHZlX2FyZ19pbXBsPHRydWU+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFQsIEFVWDc3ODA3Nl9CSU5EX1BBUkFNUyh0eXBlbmFtZSBVKSA+IHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIEFVWDc3ODA3Nl9BUFBMWTwKKyAgICAgICAgICAgICAgVAorICAgICAgICAgICAgLCBBVVg3NzgwNzZfQklORF9QQVJBTVMoVSkKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKyAgICB9OworfTsKKworLy8gZm9yICdyZXNvbHZlX2JpbmRfYXJnJwordGVtcGxhdGU8IHR5cGVuYW1lIFQgPiBzdHJ1Y3QgaXNfYmluZF90ZW1wbGF0ZTsKKwordGVtcGxhdGU8IAorICAgICAgdHlwZW5hbWUgVCwgQVVYNzc4MDc2X0JJTkRfUEFSQU1TKHR5cGVuYW1lIFUpCisgICAgPgorc3RydWN0IHJlc29sdmVfYmluZF9hcmcKKyAgICA6IHJlc29sdmVfYXJnX2ltcGw8IGlzX2JpbmRfdGVtcGxhdGU8VD46OnZhbHVlID4KKyAgICAgICAgICAgIDo6dGVtcGxhdGUgcmVzdWx0XzwgVCxBVVg3NzgwNzZfQklORF9QQVJBTVMoVSkgPgoreworfTsKKworIyAgIGlmICFkZWZpbmVkKEJPT1NUX01QTF9DRkdfTk9fVU5OQU1FRF9QTEFDRUhPTERFUl9TVVBQT1JUKQorCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVCA+IAorc3RydWN0IHJlcGxhY2VfdW5uYW1lZF9hcmdfaW1wbAoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBBcmcgPiBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiBBcmcgbmV4dDsKKyAgICAgICAgdHlwZWRlZiBUIHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4gCitzdHJ1Y3QgcmVwbGFjZV91bm5hbWVkX2FyZ19pbXBsPCBhcmc8LTE+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgQXJnID4gc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbmV4dDxBcmc+Ojp0eXBlIG5leHQ7CisgICAgICAgIHR5cGVkZWYgQXJnIHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBULCB0eXBlbmFtZSBBcmcgPiAKK3N0cnVjdCByZXBsYWNlX3VubmFtZWRfYXJnCisgICAgOiByZXBsYWNlX3VubmFtZWRfYXJnX2ltcGw8VD46OnRlbXBsYXRlIHJlc3VsdF88QXJnPgoreworfTsKKworIyAgIGVuZGlmIC8vIEJPT1NUX01QTF9DRkdfTk9fVU5OQU1FRF9QTEFDRUhPTERFUl9TVVBQT1JUCisKKy8vIGFndXJ0LCAxMC9tYXIvMDI6IHRoZSBmb3J3YXJkIGRlY2xhcmF0aW9uIGhhcyB0byBhcHBlYXIgYmVmb3JlIGFueSBvZgorLy8gJ2lzX2JpbmRfaGVscGVyJyBvdmVybG9hZHMsIG90aGVyd2lzZSBNU1ZDNi41IGlzc3VlcyBhbiBJQ0Ugb24gaXQKK3RlbXBsYXRlPCBCT09TVF9NUExfQVVYX05UVFBfREVDTChpbnQsIGFyaXR5XykgPiBzdHJ1Y3QgYmluZF9jaG9vc2VyOworCithdXg6Om5vX3RhZyBpc19iaW5kX2hlbHBlciguLi4pOwordGVtcGxhdGU8IHR5cGVuYW1lIFQgPiBhdXg6Om5vX3RhZyBpc19iaW5kX2hlbHBlcihwcm90ZWN0PFQ+Kik7CisKKy8vIG92ZXJsb2FkIGZvciAibWFpbiIgZm9ybQorLy8gYWd1cnQsIDE1L21hci8wMjogTVNWQyA2LjUgZmFpbHMgdG8gcHJvcGVybHkgcmVzb2x2ZSB0aGUgb3ZlcmxvYWQgCisvLyBpbiBjYXNlIGlmIHdlIHVzZSAnYXV4Ojp0eXBlX3dyYXBwZXI8IGJpbmQ8Li4uPiA+JyBoZXJlLCBhbmQgYWxsIAorLy8gJ2JpbmQnIGluc3RhbnRpYXRpb25zIGZvcm0gYSBjb21wbGV0ZSB0eXBlIGFueXdheQorI2lmICFkZWZpbmVkKEJPT1NUX01QTF9DRkdfTk9fQklORF9URU1QTEFURSkKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgQVVYNzc4MDc2X0JJTkRfUEFSQU1TKHR5cGVuYW1lIFQpCisgICAgPgorYXV4Ojp5ZXNfdGFnIGlzX2JpbmRfaGVscGVyKGJpbmQ8RixBVVg3NzgwNzZfQklORF9QQVJBTVMoVCk+Kik7CisjZW5kaWYKKwordGVtcGxhdGU8IEJPT1NUX01QTF9BVVhfTlRUUF9ERUNMKGludCwgTikgPgorYXV4Ojp5ZXNfdGFnIGlzX2JpbmRfaGVscGVyKGFyZzxOPiopOworCit0ZW1wbGF0ZTwgYm9vbCBpc19yZWZfID0gdHJ1ZSA+CitzdHJ1Y3QgaXNfYmluZF90ZW1wbGF0ZV9pbXBsCit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFQgPiBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGJvb2wsIHZhbHVlID0gZmFsc2UpOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgaXNfYmluZF90ZW1wbGF0ZV9pbXBsPGZhbHNlPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBUID4gc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChib29sLCB2YWx1ZSA9IAorICAgICAgICAgICAgICBzaXplb2YoYXV4Ojppc19iaW5kX2hlbHBlcihzdGF0aWNfY2FzdDxUKj4oMCkpKSAKKyAgICAgICAgICAgICAgICA9PSBzaXplb2YoYXV4Ojp5ZXNfdGFnKQorICAgICAgICAgICAgKTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFQgPiBzdHJ1Y3QgaXNfYmluZF90ZW1wbGF0ZQorICAgIDogaXNfYmluZF90ZW1wbGF0ZV9pbXBsPCA6Om5kbmJvb3N0OjpkZXRhaWw6OmlzX3JlZmVyZW5jZV9pbXBsPFQ+Ojp2YWx1ZSA+CisgICAgICAgIDo6dGVtcGxhdGUgcmVzdWx0XzxUPgoreworfTsKKworI2VuZGlmIC8vIEJPT1NUX05PX1RFTVBMQVRFX1BBUlRJQUxfU1BFQ0lBTElaQVRJT04KKworfSAvLyBuYW1lc3BhY2UgYXV4CisKKworI2RlZmluZSBCT09TVF9QUF9JVEVSQVRJT05fUEFSQU1TXzEgXAorICAgICgzLCgwLCBCT09TVF9NUExfTElNSVRfTUVUQUZVTkNUSU9OX0FSSVRZLCA8bmRuYm9vc3QvbXBsL2JpbmQuaHBwPikpCisjaW5jbHVkZSBCT09TVF9QUF9JVEVSQVRFKCkKKworI2lmICFkZWZpbmVkKEJPT1NUX05PX1RFTVBMQVRFX1BBUlRJQUxfU1BFQ0lBTElaQVRJT04pIFwKKyAgICAmJiAhZGVmaW5lZChCT09TVF9NUExfQ0ZHX05PX1RFTVBMQVRFX1RFTVBMQVRFX1BBUkFNRVRFUlMpCisvLy8gaWZfL2V2YWxfaWYgc3BlY2lhbGl6YXRpb25zCisjICAgZGVmaW5lIEFVWDc3ODA3Nl9TUEVDX05BTUUgaWZfCisjICAgZGVmaW5lIEJPT1NUX1BQX0lURVJBVElPTl9QQVJBTVNfMSAoMywoMywgMywgPG5kbmJvb3N0L21wbC9iaW5kLmhwcD4pKQorIyAgIGluY2x1ZGUgQk9PU1RfUFBfSVRFUkFURSgpCisKKyNpZiAhZGVmaW5lZChCT09TVF9NUExfQ0ZHX0RNQ19BTUJJR1VPVVNfQ1RQUykKKyMgICBkZWZpbmUgQVVYNzc4MDc2X1NQRUNfTkFNRSBldmFsX2lmCisjICAgZGVmaW5lIEJPT1NUX1BQX0lURVJBVElPTl9QQVJBTVNfMSAoMywoMywgMywgPG5kbmJvb3N0L21wbC9iaW5kLmhwcD4pKQorIyAgIGluY2x1ZGUgQk9PU1RfUFBfSVRFUkFURSgpCisjZW5kaWYKKyNlbmRpZgorCisvLyByZWFsIEMrKyB2ZXJzaW9uIGlzIGFscmVhZHkgdGFrZW4gY2FyZSBvZgorI2lmIGRlZmluZWQoQk9PU1RfTk9fVEVNUExBVEVfUEFSVElBTF9TUEVDSUFMSVpBVElPTikgXAorICAgICYmICFkZWZpbmVkKEJPT1NUX01QTF9DRkdfTk9fQklORF9URU1QTEFURSkKKworbmFtZXNwYWNlIGF1eCB7CisvLyBhcHBseV9jb3VudF9hcmdzCisjZGVmaW5lIEFVWDc3ODA3Nl9DT1VOVF9BUkdTX1BSRUZJWCBiaW5kCisjZGVmaW5lIEFVWDc3ODA3Nl9DT1VOVF9BUkdTX0RFRkFVTFQgbmEKKyNkZWZpbmUgQVVYNzc4MDc2X0NPVU5UX0FSR1NfQVJJVFkgQk9PU1RfTVBMX0xJTUlUX01FVEFGVU5DVElPTl9BUklUWQorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2NvdW50X2FyZ3MuaHBwPgorfQorCisvLyBiaW5kCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYsIEFVWDc3ODA3Nl9CSU5EX1BBUkFNUyh0eXBlbmFtZSBUKSBBVVg3NzgwNzZfRE1DX1BBUkFNKCkKKyAgICA+CitzdHJ1Y3QgYmluZAorICAgIDogYXV4OjpiaW5kX2Nob29zZXI8CisgICAgICAgICAgYXV4OjpiaW5kX2NvdW50X2FyZ3M8QVVYNzc4MDc2X0JJTkRfUEFSQU1TKFQpPjo6dmFsdWUKKyAgICAgICAgPjo6dGVtcGxhdGUgcmVzdWx0XzwgRixBVVg3NzgwNzZfQklORF9QQVJBTVMoVCkgPjo6dHlwZQoreworfTsKKworQk9PU1RfTVBMX0FVWF9BUklUWV9TUEVDKAorICAgICAgQk9PU1RfUFBfSU5DKEJPT1NUX01QTF9MSU1JVF9NRVRBRlVOQ1RJT05fQVJJVFkpCisgICAgLCBiaW5kCisgICAgKQorCitCT09TVF9NUExfQVVYX1RFTVBMQVRFX0FSSVRZX1NQRUMoCisgICAgICBCT09TVF9QUF9JTkMoQk9PU1RfTVBMX0xJTUlUX01FVEFGVU5DVElPTl9BUklUWSkKKyAgICAsIGJpbmQKKyAgICApCisKKworI2VuZGlmIC8vIEJPT1NUX05PX1RFTVBMQVRFX1BBUlRJQUxfU1BFQ0lBTElaQVRJT04KKworIyAgIHVuZGVmIEFVWDc3ODA3Nl9CSU5EX05FU1RFRF9ERUZBVUxUX1BBUkFNUworIyAgIHVuZGVmIEFVWDc3ODA3Nl9CSU5EX05fU1BFQ19QQVJBTVMKKyMgICB1bmRlZiBBVVg3NzgwNzZfQklORF9OX1BBUkFNUworIyAgIHVuZGVmIEFVWDc3ODA3Nl9CSU5EX0RFRkFVTFRfUEFSQU1TCisjICAgdW5kZWYgQVVYNzc4MDc2X0JJTkRfUEFSQU1TCisjICAgdW5kZWYgQVVYNzc4MDc2X0RNQ19QQVJBTQorIyAgIHVuZGVmIEFVWDc3ODA3Nl9BUFBMWQorCit9fQorCisjZW5kaWYgLy8gQk9PU1RfTVBMX0NGR19OT19QUkVQUk9DRVNTRURfSEVBREVSUworI2VuZGlmIC8vIEJPT1NUX01QTF9CSU5EX0hQUF9JTkNMVURFRAorCisvLy8vLyBpdGVyYXRpb24sIGRlcHRoID09IDEKKworLy8gRm9yIGdjYyA0LjQgY29tcGF0YWJpbGl0eSwgd2UgbXVzdCBpbmNsdWRlIHRoZQorLy8gQk9PU1RfUFBfSVRFUkFUSU9OX0RFUFRIIHRlc3QgaW5zaWRlIGFuICNlbHNlIGNsYXVzZS4KKyNlbHNlIC8vIEJPT1NUX1BQX0lTX0lURVJBVElORworI2lmIEJPT1NUX1BQX0lURVJBVElPTl9ERVBUSCgpID09IDEKKworIyAgIGRlZmluZSBpXyBCT09TVF9QUF9GUkFNRV9JVEVSQVRJT04oMSkKKworI2lmIGRlZmluZWQoQVVYNzc4MDc2X1NQRUNfTkFNRSkKKworLy8gbGF6eSBtZXRhZnVuY3Rpb24gc3BlY2lhbGl6YXRpb24KK3RlbXBsYXRlPCB0ZW1wbGF0ZTwgQk9PU1RfTVBMX1BQX1BBUkFNUyhpXywgdHlwZW5hbWUgVCkgPiBjbGFzcyBGLCB0eXBlbmFtZSBUYWcgPgorc3RydWN0IEJPT1NUX1BQX0NBVChxdW90ZSxpXyk7CisKK3RlbXBsYXRlPCBCT09TVF9NUExfUFBfUEFSQU1TKGlfLCB0eXBlbmFtZSBUKSA+IHN0cnVjdCBBVVg3NzgwNzZfU1BFQ19OQU1FOworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFRhZyBBVVg3NzgwNzZfQklORF9OX1BBUkFNUyhpXywgdHlwZW5hbWUgVCkKKyAgICA+CitzdHJ1Y3QgQk9PU1RfUFBfQ0FUKGJpbmQsaV8pPCAKKyAgICAgIEJPT1NUX1BQX0NBVChxdW90ZSxpXyk8QVVYNzc4MDc2X1NQRUNfTkFNRSxUYWc+CisgICAgQVVYNzc4MDc2X0JJTkRfTl9QQVJBTVMoaV8sVCkKKyAgICA+Cit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgQVVYNzc4MDc2X0JJTkRfTkVTVEVEX0RFRkFVTFRfUEFSQU1TKHR5cGVuYW1lIFUsIG5hKQorICAgICAgICA+CisgICAgc3RydWN0IGFwcGx5CisgICAgeworICAgICBwcml2YXRlOgorICAgICAgICB0eXBlZGVmIG1wbDo6YXJnPDE+IG4xOworIyAgICAgICBkZWZpbmUgQk9PU1RfUFBfSVRFUkFUSU9OX1BBUkFNU18yICgzLCgxLCBpXywgPG5kbmJvb3N0L21wbC9iaW5kLmhwcD4pKQorIyAgICAgICBpbmNsdWRlIEJPT1NUX1BQX0lURVJBVEUoKQorCisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgQVVYNzc4MDc2X1NQRUNfTkFNRTwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgdDE6OnR5cGUKKyAgICAgICAgICAgICwgQk9PU1RfTVBMX1BQX0VYVF9QQVJBTVMoMiwgQk9PU1RfUFBfSU5DKGlfKSwgdCkKKyAgICAgICAgICAgID46OnR5cGUgZl87CisKKyAgICAgcHVibGljOgorICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGZfOjp0eXBlIHR5cGU7CisgICAgfTsKK307CisKKyN1bmRlZiBBVVg3NzgwNzZfU1BFQ19OQU1FCisKKyNlbHNlIC8vIEFVWDc3ODA3Nl9TUEVDX05BTUUKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGIEFVWDc3ODA3Nl9CSU5EX05fUEFSQU1TKGlfLCB0eXBlbmFtZSBUKSBBVVg3NzgwNzZfRE1DX1BBUkFNKCkKKyAgICA+CitzdHJ1Y3QgQk9PU1RfUFBfQ0FUKGJpbmQsaV8pCit7CisgICAgdGVtcGxhdGU8CisgICAgICAgICAgQVVYNzc4MDc2X0JJTkRfTkVTVEVEX0RFRkFVTFRfUEFSQU1TKHR5cGVuYW1lIFUsIG5hKQorICAgICAgICA+CisgICAgc3RydWN0IGFwcGx5CisgICAgeworICAgICBwcml2YXRlOgorIyAgIGlmICFkZWZpbmVkKEJPT1NUX01QTF9DRkdfTk9fVU5OQU1FRF9QTEFDRUhPTERFUl9TVVBQT1JUKQorCisgICAgICAgIHR5cGVkZWYgYXV4OjpyZXBsYWNlX3VubmFtZWRfYXJnPCBGLG1wbDo6YXJnPDE+ID4gcjA7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjA6OnR5cGUgYTA7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcjA6Om5leHQgbjE7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXV4OjpyZXNvbHZlX2JpbmRfYXJnPGEwLEFVWDc3ODA3Nl9CSU5EX1BBUkFNUyhVKT46OnR5cGUgZl87CisgICAgICAgIC8vLworIyAgIGVsc2UKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhdXg6OnJlc29sdmVfYmluZF9hcmc8RixBVVg3NzgwNzZfQklORF9QQVJBTVMoVSk+Ojp0eXBlIGZfOworCisjICAgZW5kaWYgLy8gQk9PU1RfTVBMX0NGR19OT19VTk5BTUVEX1BMQUNFSE9MREVSX1NVUFBPUlQKKworIyAgIGlmIGlfID4gMAorIyAgICAgICBkZWZpbmUgQk9PU1RfUFBfSVRFUkFUSU9OX1BBUkFNU18yICgzLCgxLCBpXywgPG5kbmJvb3N0L21wbC9iaW5kLmhwcD4pKQorIyAgICAgICBpbmNsdWRlIEJPT1NUX1BQX0lURVJBVEUoKQorIyAgIGVuZGlmCisKKyAgICAgcHVibGljOgorCisjICAgZGVmaW5lIEFVWDc3ODA3Nl9BUkcodW51c2VkLCBpXywgdCkgXAorICAgIEJPT1NUX1BQX0NPTU1BX0lGKGlfKSBcCisgICAgdHlwZW5hbWUgQk9PU1RfUFBfQ0FUKHQsQk9PU1RfUFBfSU5DKGlfKSk6OnR5cGUgXAorLyoqLworCisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgQk9PU1RfUFBfQ0FUKGFwcGx5X3dyYXAsaV8pPAorICAgICAgICAgICAgICBmXyAKKyAgICAgICAgICAgIEJPT1NUX1BQX0NPTU1BX0lGKGlfKSBCT09TVF9NUExfUFBfUkVQRUFUKGlfLCBBVVg3NzgwNzZfQVJHLCB0KQorICAgICAgICAgICAgPjo6dHlwZSB0eXBlOworCisjICAgdW5kZWYgQVVYNzc4MDc2X0FSRworICAgIH07Cit9OworCituYW1lc3BhY2UgYXV4IHsKKworI2lmICFkZWZpbmVkKEJPT1NUX05PX1RFTVBMQVRFX1BBUlRJQUxfU1BFQ0lBTElaQVRJT04pCisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiBBVVg3NzgwNzZfQklORF9OX1BBUkFNUyhpXywgdHlwZW5hbWUgVCksIEFVWDc3ODA3Nl9CSU5EX1BBUkFNUyh0eXBlbmFtZSBVKQorICAgID4KK3N0cnVjdCByZXNvbHZlX2JpbmRfYXJnPAorICAgICAgQk9PU1RfUFBfQ0FUKGJpbmQsaV8pPEYgQVVYNzc4MDc2X0JJTkRfTl9QQVJBTVMoaV8sVCk+LEFVWDc3ODA3Nl9CSU5EX1BBUkFNUyhVKQorICAgID4KK3sKKyAgICB0eXBlZGVmIEJPT1NUX1BQX0NBVChiaW5kLGlfKTxGIEFVWDc3ODA3Nl9CSU5EX05fUEFSQU1TKGlfLFQpPiBmXzsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIEFVWDc3ODA3Nl9BUFBMWTxmXywgQVVYNzc4MDc2X0JJTkRfUEFSQU1TKFUpPjo6dHlwZSB0eXBlOworfTsKKworI2Vsc2UKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGIEFVWDc3ODA3Nl9CSU5EX05fUEFSQU1TKGlfLCB0eXBlbmFtZSBUKQorICAgID4KK2F1eDo6eWVzX3RhZworaXNfYmluZF9oZWxwZXIoQk9PU1RfUFBfQ0FUKGJpbmQsaV8pPEYgQVVYNzc4MDc2X0JJTkRfTl9QQVJBTVMoaV8sVCk+Kik7CisKKyNlbmRpZiAvLyBCT09TVF9OT19URU1QTEFURV9QQVJUSUFMX1NQRUNJQUxJWkFUSU9OCisKK30gLy8gbmFtZXNwYWNlIGF1eAorCitCT09TVF9NUExfQVVYX0FSSVRZX1NQRUMoQk9PU1RfUFBfSU5DKGlfKSwgQk9PU1RfUFBfQ0FUKGJpbmQsaV8pKQorQk9PU1RfTVBMX0FVWF9URU1QTEFURV9BUklUWV9TUEVDKEJPT1NUX1BQX0lOQyhpXyksIEJPT1NUX1BQX0NBVChiaW5kLGlfKSkKKworIyAgIGlmICFkZWZpbmVkKEJPT1NUX01QTF9DRkdfTk9fQklORF9URU1QTEFURSkKKyMgICBpZiAhZGVmaW5lZChCT09TVF9OT19URU1QTEFURV9QQVJUSUFMX1NQRUNJQUxJWkFUSU9OKQorICAgIAorI2lmIGlfID09IEJPT1NUX01QTF9MSU1JVF9NRVRBRlVOQ1RJT05fQVJJVFkKKy8vLyBwcmltYXJ5IHRlbXBsYXRlIChub3QgYSBzcGVjaWFsaXphdGlvbiEpCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEYgQVVYNzc4MDc2X0JJTkRfTl9QQVJBTVMoaV8sIHR5cGVuYW1lIFQpIEFVWDc3ODA3Nl9ETUNfUEFSQU0oKQorICAgID4KK3N0cnVjdCBiaW5kCisgICAgOiBCT09TVF9QUF9DQVQoYmluZCxpXyk8RiBBVVg3NzgwNzZfQklORF9OX1BBUkFNUyhpXyxUKSA+Cit7Cit9OworI2Vsc2UKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiBBVVg3NzgwNzZfQklORF9OX1BBUkFNUyhpXywgdHlwZW5hbWUgVCkgQVVYNzc4MDc2X0RNQ19QQVJBTSgpCisgICAgPgorc3RydWN0IGJpbmQ8IEYgQVVYNzc4MDc2X0JJTkRfTl9TUEVDX1BBUkFNUyhpXywgVCwgbmEpID4KKyAgICA6IEJPT1NUX1BQX0NBVChiaW5kLGlfKTxGIEFVWDc3ODA3Nl9CSU5EX05fUEFSQU1TKGlfLFQpID4KK3sKK307CisjZW5kaWYKKworIyAgIGVsc2UgLy8gQk9PU1RfTk9fVEVNUExBVEVfUEFSVElBTF9TUEVDSUFMSVpBVElPTgorCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8Pgorc3RydWN0IGJpbmRfY2hvb3NlcjxpXz4KK3sKKyAgICB0ZW1wbGF0ZTwKKyAgICAgICAgICB0eXBlbmFtZSBGLCBBVVg3NzgwNzZfQklORF9QQVJBTVModHlwZW5hbWUgVCkKKyAgICAgICAgPgorICAgIHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIEJPT1NUX1BQX0NBVChiaW5kLGlfKTwgRiBBVVg3NzgwNzZfQklORF9OX1BBUkFNUyhpXyxUKSA+IHR5cGU7CisgICAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCisjICAgZW5kaWYgLy8gQk9PU1RfTk9fVEVNUExBVEVfUEFSVElBTF9TUEVDSUFMSVpBVElPTgorIyAgIGVuZGlmIC8vIEJPT1NUX01QTF9DRkdfTk9fQklORF9URU1QTEFURQorCisjZW5kaWYgLy8gQVVYNzc4MDc2X1NQRUNfTkFNRQorCisjICAgdW5kZWYgaV8KKworLy8vLy8gaXRlcmF0aW9uLCBkZXB0aCA9PSAyCisKKyNlbGlmIEJPT1NUX1BQX0lURVJBVElPTl9ERVBUSCgpID09IDIKKworIyAgIGRlZmluZSBqXyBCT09TVF9QUF9GUkFNRV9JVEVSQVRJT04oMikKKyMgICBpZiAhZGVmaW5lZChCT09TVF9NUExfQ0ZHX05PX1VOTkFNRURfUExBQ0VIT0xERVJfU1VQUE9SVCkKKworICAgICAgICB0eXBlZGVmIGF1eDo6cmVwbGFjZV91bm5hbWVkX2FyZzwgQk9PU1RfUFBfQ0FUKFQsal8pLEJPT1NUX1BQX0NBVChuLGpfKSA+IEJPT1NUX1BQX0NBVChyLGpfKTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBCT09TVF9QUF9DQVQocixqXyk6OnR5cGUgQk9PU1RfUFBfQ0FUKGEsal8pOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIEJPT1NUX1BQX0NBVChyLGpfKTo6bmV4dCBCT09TVF9QUF9DQVQobixCT09TVF9QUF9JTkMoal8pKTsKKyAgICAgICAgdHlwZWRlZiBhdXg6OnJlc29sdmVfYmluZF9hcmc8Qk9PU1RfUFBfQ0FUKGEsal8pLCBBVVg3NzgwNzZfQklORF9QQVJBTVMoVSk+IEJPT1NUX1BQX0NBVCh0LGpfKTsKKyAgICAgICAgLy8vCisjICAgZWxzZQorICAgICAgICB0eXBlZGVmIGF1eDo6cmVzb2x2ZV9iaW5kX2FyZzwgQk9PU1RfUFBfQ0FUKFQsal8pLEFVWDc3ODA3Nl9CSU5EX1BBUkFNUyhVKT4gQk9PU1RfUFBfQ0FUKHQsal8pOworCisjICAgZW5kaWYKKyMgICB1bmRlZiBqXworCisjZW5kaWYgLy8gQk9PU1RfUFBfSVRFUkFUSU9OX0RFUFRIKCkKKyNlbmRpZiAvLyBCT09TVF9QUF9JU19JVEVSQVRJTkcKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9iaW5kX2Z3ZC5ocHAgYi9uZG5ib29zdC9tcGwvYmluZF9md2QuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE4MzdlM2MKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvYmluZF9md2QuaHBwCkBAIC0wLDAgKzEsOTkgQEAKKworI2lmICFkZWZpbmVkKEJPT1NUX1BQX0lTX0lURVJBVElORykKKworLy8vLy8gaGVhZGVyIGJvZHkKKworI2lmbmRlZiBCT09TVF9NUExfQklORF9GV0RfSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX01QTF9CSU5EX0ZXRF9IUFBfSU5DTFVERUQKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworLy8gU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL2xpYnMvbXBsIGZvciBkb2N1bWVudGF0aW9uLgorCisvLyAkSWQ6IGJpbmRfZndkLmhwcCA0OTI2NyAyMDA4LTEwLTExIDA2OjE5OjAyWiBhZ3VydG92b3kgJAorLy8gJERhdGU6IDIwMDgtMTAtMTAgMjM6MTk6MDIgLTA3MDAgKEZyaSwgMTAgT2N0IDIwMDgpICQKKy8vICRSZXZpc2lvbjogNDkyNjcgJAorCisjaWYgIWRlZmluZWQoQk9PU1RfTVBMX1BSRVBST0NFU1NJTkdfTU9ERSkKKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9uYS5ocHA+CisjZW5kaWYKKworI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2NvbmZpZy9iaW5kLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9jb25maWcvdXNlX3ByZXByb2Nlc3NlZC5ocHA+CisKKyNpZiAhZGVmaW5lZChCT09TVF9NUExfQ0ZHX05PX1BSRVBST0NFU1NFRF9IRUFERVJTKSBcCisgICAgJiYgIWRlZmluZWQoQk9PU1RfTVBMX1BSRVBST0NFU1NJTkdfTU9ERSkKKworIyAgIGRlZmluZSBCT09TVF9NUExfUFJFUFJPQ0VTU0VEX0hFQURFUiBiaW5kX2Z3ZC5ocHAKKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9pbmNsdWRlX3ByZXByb2Nlc3NlZC5ocHA+CisKKyNlbHNlCisKKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvbGltaXRzL2FyaXR5LmhwcD4KKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzb3IvcGFyYW1zLmhwcD4KKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzb3IvZGVmYXVsdF9wYXJhbXMuaHBwPgorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2NvbmZpZy9kbWNfYW1iaWd1b3VzX2N0cHMuaHBwPgorCisjICAgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL2NvbW1hX2lmLmhwcD4KKyMgICBpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3IvaXRlcmF0ZS5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL2NhdC5ocHA+CisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCisvLyBsb2NhbCBtYWNyb3MsICN1bmRlZi1pbmVkIGF0IHRoZSBlbmQgb2YgdGhlIGhlYWRlcgorCisjICAgaWYgZGVmaW5lZChCT09TVF9NUExfQ0ZHX0RNQ19BTUJJR1VPVVNfQ1RQUykKKyMgICAgICAgZGVmaW5lIEFVWDc3ODA3Nl9ETUNfUEFSQU0oKSAsIGludCBkdW1teV8gPSAwCisjICAgZWxzZQorIyAgICAgICBkZWZpbmUgQVVYNzc4MDc2X0RNQ19QQVJBTSgpCisjICAgZW5kaWYKKworIyAgIGRlZmluZSBBVVg3NzgwNzZfQklORF9ERUZBVUxUX1BBUkFNUyhwYXJhbSwgdmFsdWUpIFwKKyAgICBCT09TVF9NUExfUFBfREVGQVVMVF9QQVJBTVMoIFwKKyAgICAgICAgICBCT09TVF9NUExfTElNSVRfTUVUQUZVTkNUSU9OX0FSSVRZIFwKKyAgICAgICAgLCBwYXJhbSBcCisgICAgICAgICwgdmFsdWUgXAorICAgICAgICApIFwKKyAgICBBVVg3NzgwNzZfRE1DX1BBUkFNKCkgXAorICAgIC8qKi8KKworIyAgIGRlZmluZSBBVVg3NzgwNzZfQklORF9OX1BBUkFNUyhuLCBwYXJhbSkgXAorICAgIEJPT1NUX1BQX0NPTU1BX0lGKG4pIEJPT1NUX01QTF9QUF9QQVJBTVMobiwgcGFyYW0pIFwKKyAgICBBVVg3NzgwNzZfRE1DX1BBUkFNKCkgXAorICAgIC8qKi8KKworI2lmICFkZWZpbmVkKEJPT1NUX01QTF9DRkdfTk9fQklORF9URU1QTEFURSkKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgRiwgQVVYNzc4MDc2X0JJTkRfREVGQVVMVF9QQVJBTVModHlwZW5hbWUgVCwgbmEpCisgICAgPgorc3RydWN0IGJpbmQ7CisjZW5kaWYKKworI2RlZmluZSBCT09TVF9QUF9JVEVSQVRJT05fUEFSQU1TXzEgXAorICAgICgzLCgwLCBCT09TVF9NUExfTElNSVRfTUVUQUZVTkNUSU9OX0FSSVRZLCA8bmRuYm9vc3QvbXBsL2JpbmRfZndkLmhwcD4pKQorI2luY2x1ZGUgQk9PU1RfUFBfSVRFUkFURSgpCisKKyMgICB1bmRlZiBBVVg3NzgwNzZfQklORF9OX1BBUkFNUworIyAgIHVuZGVmIEFVWDc3ODA3Nl9CSU5EX0RFRkFVTFRfUEFSQU1TCisjICAgdW5kZWYgQVVYNzc4MDc2X0RNQ19QQVJBTQorfX0KKworI2VuZGlmIC8vIEJPT1NUX01QTF9DRkdfTk9fUFJFUFJPQ0VTU0VEX0hFQURFUlMKKyNlbmRpZiAvLyBCT09TVF9NUExfQklORF9GV0RfSFBQX0lOQ0xVREVECisKKy8vLy8vIGl0ZXJhdGlvbgorCisjZWxzZQorI2RlZmluZSBpXyBCT09TVF9QUF9GUkFNRV9JVEVSQVRJT04oMSkKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBGIEFVWDc3ODA3Nl9CSU5EX05fUEFSQU1TKGlfLCB0eXBlbmFtZSBUKQorICAgID4KK3N0cnVjdCBCT09TVF9QUF9DQVQoYmluZCxpXyk7CisKKyN1bmRlZiBpXworI2VuZGlmIC8vIEJPT1NUX1BQX0lTX0lURVJBVElORwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2JpdGFuZC5ocHAgYi9uZG5ib29zdC9tcGwvYml0YW5kLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMzU4ZWRiCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2JpdGFuZC5ocHAKQEAgLTAsMCArMSw0NSBAQAorCisjaWZuZGVmIEJPT1NUX01QTF9CSVRBTkRfSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX01QTF9CSVRBTkRfSFBQX0lOQ0xVREVECisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwOQorLy8gQ29weXJpZ2h0IEphYXAgU3V0ZXIgMjAwMworLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKy8vIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL21wbCBmb3IgZG9jdW1lbnRhdGlvbi4KKworLy8gJElkOiBiaXRhbmQuaHBwIDYzNTIwIDIwMTAtMDctMDIgMDg6NTk6NTVaIGFndXJ0b3ZveSAkCisvLyAkRGF0ZTogMjAxMC0wNy0wMiAwMTo1OTo1NSAtMDcwMCAoRnJpLCAwMiBKdWwgMjAxMCkgJAorLy8gJFJldmlzaW9uOiA2MzUyMCAkCisKKy8vIGFndXJ0LCAyMy9qYW4vMTA6IHdvcmthcm91bmQgYSBjb25mbGljdCB3aXRoIDxpc282NDYuaD4gaGVhZGVyJ3MgCisvLyBtYWNyb3MsIHNlZSBodHRwOi8vdGlueXVybC5jb20veWN3ZHhjbzsgJ2RlZmluZWQoYml0YW5kKScKKy8vIGhhcyB0byBiZSBjaGVja2VkIGluIGEgc2VwYXJhdGUgY29uZGl0aW9uLCBvdGhlcndpc2UgR0NDIGNvbXBsYWlucyAKKy8vIGFib3V0ICdiaXRhbmQnIGJlaW5nIGFuIGFsdGVybmF0aXZlIHRva2VuCisjaWYgZGVmaW5lZChfTVNDX1ZFUikgCisjaWZuZGVmIF9fR0NDWE1MX18KKyNpZiBkZWZpbmVkKGJpdGFuZCkKKyMgICBwcmFnbWEgcHVzaF9tYWNybygiYml0YW5kIikKKyMgICB1bmRlZiBiaXRhbmQKKyMgICBkZWZpbmUgYml0YW5kKHgpCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNkZWZpbmUgQVVYNzc4MDc2X09QX05BTUUgICBiaXRhbmRfCisjZGVmaW5lIEFVWDc3ODA3Nl9PUF9QUkVGSVggYml0YW5kCisjZGVmaW5lIEFVWDc3ODA3Nl9PUF9UT0tFTiAgJgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2FyaXRobWV0aWNfb3AuaHBwPgorCisjaWYgZGVmaW5lZChfTVNDX1ZFUikKKyNpZm5kZWYgX19HQ0NYTUxfXworI2lmIGRlZmluZWQoYml0YW5kKQorIyAgIHByYWdtYSBwb3BfbWFjcm8oImJpdGFuZCIpCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNlbmRpZiAvLyBCT09TVF9NUExfQklUQU5EX0hQUF9JTkNMVURFRApkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2JpdHhvci5ocHAgYi9uZG5ib29zdC9tcGwvYml0eG9yLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jYWU5OTkyCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2JpdHhvci5ocHAKQEAgLTAsMCArMSwyMyBAQAorCisjaWZuZGVmIEJPT1NUX01QTF9CSVRYT1JfSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX01QTF9CSVRYT1JfSFBQX0lOQ0xVREVECisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8gQ29weXJpZ2h0IEphYXAgU3V0ZXIgMjAwMworLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKy8vIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL21wbCBmb3IgZG9jdW1lbnRhdGlvbi4KKworLy8gJElkOiBiaXR4b3IuaHBwIDQ5MjY3IDIwMDgtMTAtMTEgMDY6MTk6MDJaIGFndXJ0b3ZveSAkCisvLyAkRGF0ZTogMjAwOC0xMC0xMCAyMzoxOTowMiAtMDcwMCAoRnJpLCAxMCBPY3QgMjAwOCkgJAorLy8gJFJldmlzaW9uOiA0OTI2NyAkCisKKyNkZWZpbmUgQVVYNzc4MDc2X09QX05BTUUgICBiaXR4b3JfCisjZGVmaW5lIEFVWDc3ODA3Nl9PUF9QUkVGSVggYml0eG9yCisjZGVmaW5lIEFVWDc3ODA3Nl9PUF9UT0tFTiAgXgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2FyaXRobWV0aWNfb3AuaHBwPgorCisjZW5kaWYgLy8gQk9PU1RfTVBMX0JJVFhPUl9IUFBfSU5DTFVERUQKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9jbGVhci5ocHAgYi9uZG5ib29zdC9tcGwvY2xlYXIuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFlZmYzMDYKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvY2xlYXIuaHBwCkBAIC0wLDAgKzEsMzkgQEAKKworI2lmbmRlZiBCT09TVF9NUExfQ0xFQVJfSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX01QTF9DTEVBUl9IUFBfSU5DTFVERUQKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworLy8gU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL2xpYnMvbXBsIGZvciBkb2N1bWVudGF0aW9uLgorCisvLyAkSWQ6IGNsZWFyLmhwcCA0OTI2NyAyMDA4LTEwLTExIDA2OjE5OjAyWiBhZ3VydG92b3kgJAorLy8gJERhdGU6IDIwMDgtMTAtMTAgMjM6MTk6MDIgLTA3MDAgKEZyaSwgMTAgT2N0IDIwMDgpICQKKy8vICRSZXZpc2lvbjogNDkyNjcgJAorCisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2NsZWFyX2Z3ZC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vY2xlYXJfaW1wbC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL3NlcXVlbmNlX3RhZy5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vbmFfc3BlYy5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vbGFtYmRhX3N1cHBvcnQuaHBwPgorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKFNlcXVlbmNlKQorICAgID4KK3N0cnVjdCBjbGVhcgorICAgIDogY2xlYXJfaW1wbDwgdHlwZW5hbWUgc2VxdWVuY2VfdGFnPFNlcXVlbmNlPjo6dHlwZSA+CisgICAgICAgIDo6dGVtcGxhdGUgYXBwbHk8IFNlcXVlbmNlID4KK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKDEsY2xlYXIsKFNlcXVlbmNlKSkKK307CisKK0JPT1NUX01QTF9BVVhfTkFfU1BFQygxLCBjbGVhcikKKworfX0KKworI2VuZGlmIC8vIEJPT1NUX01QTF9DTEVBUl9IUFBfSU5DTFVERUQKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9jbGVhcl9md2QuaHBwIGIvbmRuYm9vc3QvbXBsL2NsZWFyX2Z3ZC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWM3MTk5ZQotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9jbGVhcl9md2QuaHBwCkBAIC0wLDAgKzEsMjQgQEAKKworI2lmbmRlZiBCT09TVF9NUExfQ0xFQVJfRldEX0hQUF9JTkNMVURFRAorI2RlZmluZSBCT09TVF9NUExfQ0xFQVJfRldEX0hQUF9JTkNMVURFRAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisvLyBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvbGlicy9tcGwgZm9yIGRvY3VtZW50YXRpb24uCisKKy8vICRJZDogY2xlYXJfZndkLmhwcCA0OTI2NyAyMDA4LTEwLTExIDA2OjE5OjAyWiBhZ3VydG92b3kgJAorLy8gJERhdGU6IDIwMDgtMTAtMTAgMjM6MTk6MDIgLTA3MDAgKEZyaSwgMTAgT2N0IDIwMDgpICQKKy8vICRSZXZpc2lvbjogNDkyNjcgJAorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFRhZyA+IHN0cnVjdCBjbGVhcl9pbXBsOwordGVtcGxhdGU8IHR5cGVuYW1lIFNlcXVlbmNlID4gc3RydWN0IGNsZWFyOworCit9fQorCisjZW5kaWYgLy8gQk9PU1RfTVBMX0NMRUFSX0ZXRF9IUFBfSU5DTFVERUQKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9jb250YWlucy5ocHAgYi9uZG5ib29zdC9tcGwvY29udGFpbnMuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJmNDE4NTkKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvY29udGFpbnMuaHBwCkBAIC0wLDAgKzEsNDEgQEAKKworI2lmbmRlZiBCT09TVF9NUExfQ09OVEFJTlNfSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX01QTF9DT05UQUlOU19IUFBfSU5DTFVERUQKKworLy8gQ29weXJpZ2h0IEVyaWMgRnJpZWRtYW4gMjAwMgorLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKy8vIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL21wbCBmb3IgZG9jdW1lbnRhdGlvbi4KKworLy8gJElkOiBjb250YWlucy5ocHAgNDkyNjcgMjAwOC0xMC0xMSAwNjoxOTowMlogYWd1cnRvdm95ICQKKy8vICREYXRlOiAyMDA4LTEwLTEwIDIzOjE5OjAyIC0wNzAwIChGcmksIDEwIE9jdCAyMDA4KSAkCisvLyAkUmV2aXNpb246IDQ5MjY3ICQKKworI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9jb250YWluc19md2QuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9zZXF1ZW5jZV90YWcuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2NvbnRhaW5zX2ltcGwuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL25hX3NwZWMuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2xhbWJkYV9zdXBwb3J0LmhwcD4KKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShTZXF1ZW5jZSkKKyAgICAsIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oVCkKKyAgICA+CitzdHJ1Y3QgY29udGFpbnMKKyAgICA6IGNvbnRhaW5zX2ltcGw8IHR5cGVuYW1lIHNlcXVlbmNlX3RhZzxTZXF1ZW5jZT46OnR5cGUgPgorICAgICAgICA6OnRlbXBsYXRlIGFwcGx5PCBTZXF1ZW5jZSxUID4KK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKDIsY29udGFpbnMsKFNlcXVlbmNlLFQpKQorfTsKKworQk9PU1RfTVBMX0FVWF9OQV9TUEVDKDIsIGNvbnRhaW5zKQorCit9fQorCisjZW5kaWYgLy8gQk9PU1RfTVBMX0NPTlRBSU5TX0hQUF9JTkNMVURFRApkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2NvbnRhaW5zX2Z3ZC5ocHAgYi9uZG5ib29zdC9tcGwvY29udGFpbnNfZndkLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMzU5MzZjCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2NvbnRhaW5zX2Z3ZC5ocHAKQEAgLTAsMCArMSwyNSBAQAorCisjaWZuZGVmIEJPT1NUX01QTF9DT05UQUlOU19GV0RfSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX01QTF9DT05UQUlOU19GV0RfSFBQX0lOQ0xVREVECisKKy8vIENvcHlyaWdodCBFcmljIEZyaWVkbWFuIDIwMDIKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisvLyBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvbGlicy9tcGwgZm9yIGRvY3VtZW50YXRpb24uCisKKy8vICRJZDogY29udGFpbnNfZndkLmhwcCA0OTI2NyAyMDA4LTEwLTExIDA2OjE5OjAyWiBhZ3VydG92b3kgJAorLy8gJERhdGU6IDIwMDgtMTAtMTAgMjM6MTk6MDIgLTA3MDAgKEZyaSwgMTAgT2N0IDIwMDgpICQKKy8vICRSZXZpc2lvbjogNDkyNjcgJAorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFRhZyA+IHN0cnVjdCBjb250YWluc19pbXBsOwordGVtcGxhdGU8IHR5cGVuYW1lIFNlcXVlbmNlLCB0eXBlbmFtZSBUID4gc3RydWN0IGNvbnRhaW5zOworCit9fQorCisjZW5kaWYgLy8gQk9PU1RfTVBMX0NPTlRBSU5TX0ZXRF9IUFBfSU5DTFVERUQKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9jb3B5LmhwcCBiL25kbmJvb3N0L21wbC9jb3B5LmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xZTdlZDY0Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2NvcHkuaHBwCkBAIC0wLDAgKzEsNTggQEAKKworI2lmbmRlZiBCT09TVF9NUExfQ09QWV9IUFBfSU5DTFVERUQKKyNkZWZpbmUgQk9PU1RfTVBMX0NPUFlfSFBQX0lOQ0xVREVECisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8gQ29weXJpZ2h0IERhdmlkIEFicmFoYW1zIDIwMDMtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKy8vIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL21wbCBmb3IgZG9jdW1lbnRhdGlvbi4KKworLy8gJElkOiBjb3B5LmhwcCA0OTI2NyAyMDA4LTEwLTExIDA2OjE5OjAyWiBhZ3VydG92b3kgJAorLy8gJERhdGU6IDIwMDgtMTAtMTAgMjM6MTk6MDIgLTA3MDAgKEZyaSwgMTAgT2N0IDIwMDgpICQKKy8vICRSZXZpc2lvbjogNDkyNjcgJAorCisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2ZvbGQuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9yZXZlcnNlX2ZvbGQuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2luc2VydGVyX2FsZ29yaXRobS5ocHA+CisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBTZXF1ZW5jZQorICAgICwgdHlwZW5hbWUgSW5zZXJ0ZXIKKyAgICA+CitzdHJ1Y3QgY29weV9pbXBsCisgICAgOiBmb2xkPCAKKyAgICAgICAgICBTZXF1ZW5jZQorICAgICAgICAsIHR5cGVuYW1lIEluc2VydGVyOjpzdGF0ZQorICAgICAgICAsIHR5cGVuYW1lIEluc2VydGVyOjpvcGVyYXRpb24KKyAgICAgICAgPgoreworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBTZXF1ZW5jZQorICAgICwgdHlwZW5hbWUgSW5zZXJ0ZXIKKyAgICA+CitzdHJ1Y3QgcmV2ZXJzZV9jb3B5X2ltcGwKKyAgICA6IHJldmVyc2VfZm9sZDwKKyAgICAgICAgICBTZXF1ZW5jZQorICAgICAgICAsIHR5cGVuYW1lIEluc2VydGVyOjpzdGF0ZQorICAgICAgICAsIHR5cGVuYW1lIEluc2VydGVyOjpvcGVyYXRpb24KKyAgICAgICAgPgoreworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK0JPT1NUX01QTF9BVVhfSU5TRVJURVJfQUxHT1JJVEhNX0RFRigyLCBjb3B5KQorCit9fQorCisjZW5kaWYgLy8gQk9PU1RfTVBMX0NPUFlfSFBQX0lOQ0xVREVECmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvZGVyZWYuaHBwIGIvbmRuYm9vc3QvbXBsL2RlcmVmLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNzA2MWY3Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2RlcmVmLmhwcApAQCAtMCwwICsxLDQxIEBACisKKyNpZm5kZWYgQk9PU1RfTVBMX0RFUkVGX0hQUF9JTkNMVURFRAorI2RlZmluZSBCT09TVF9NUExfREVSRUZfSFBQX0lOQ0xVREVECisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDItMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKy8vIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL21wbCBmb3IgZG9jdW1lbnRhdGlvbi4KKworLy8gJElkOiBkZXJlZi5ocHAgNDkyNjcgMjAwOC0xMC0xMSAwNjoxOTowMlogYWd1cnRvdm95ICQKKy8vICREYXRlOiAyMDA4LTEwLTEwIDIzOjE5OjAyIC0wNzAwIChGcmksIDEwIE9jdCAyMDA4KSAkCisvLyAkUmV2aXNpb246IDQ5MjY3ICQKKworI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL21zdmNfdHlwZS5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vbmFfc3BlYy5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vbGFtYmRhX3N1cHBvcnQuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2NvbmZpZy9ldGkuaHBwPgorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKEl0ZXJhdG9yKQorICAgID4KK3N0cnVjdCBkZXJlZgoreworI2lmICFkZWZpbmVkKEJPT1NUX01QTF9DRkdfTVNWQ183MF9FVElfQlVHKQorICAgIHR5cGVkZWYgdHlwZW5hbWUgSXRlcmF0b3I6OnR5cGUgdHlwZTsKKyNlbHNlCisgICAgdHlwZWRlZiB0eXBlbmFtZSBhdXg6Om1zdmNfdHlwZTxJdGVyYXRvcj46OnR5cGUgdHlwZTsKKyNlbmRpZgorICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoMSxkZXJlZiwoSXRlcmF0b3IpKQorfTsKKworQk9PU1RfTVBMX0FVWF9OQV9TUEVDKDEsIGRlcmVmKQorCit9fQorCisjZW5kaWYgLy8gQk9PU1RfTVBMX0RFUkVGX0hQUF9JTkNMVURFRApkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2Rpc3RhbmNlLmhwcCBiL25kbmJvb3N0L21wbC9kaXN0YW5jZS5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2YxZWY0YQotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9kaXN0YW5jZS5ocHAKQEAgLTAsMCArMSw3OCBAQAorCisjaWZuZGVmIEJPT1NUX01QTF9ESVNUQU5DRV9IUFBfSU5DTFVERUQKKyNkZWZpbmUgQk9PU1RfTVBMX0RJU1RBTkNFX0hQUF9JTkNMVURFRAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisvLyBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvbGlicy9tcGwgZm9yIGRvY3VtZW50YXRpb24uCisKKy8vICRJZDogZGlzdGFuY2UuaHBwIDQ5MjY3IDIwMDgtMTAtMTEgMDY6MTk6MDJaIGFndXJ0b3ZveSAkCisvLyAkRGF0ZTogMjAwOC0xMC0xMCAyMzoxOTowMiAtMDcwMCAoRnJpLCAxMCBPY3QgMjAwOCkgJAorLy8gJFJldmlzaW9uOiA0OTI2NyAkCisKKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvZGlzdGFuY2VfZndkLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvaXRlcl9mb2xkLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvaXRlcmF0b3JfcmFuZ2UuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9sb25nLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvbmV4dC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL3RhZy5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2FwcGx5X3dyYXAuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL21zdmNfZXRpX2Jhc2UuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL3ZhbHVlX3drbmQuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL25hX3NwZWMuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2NvbmZpZy9mb3J3YXJkaW5nLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9jb25maWcvc3RhdGljX2NvbnN0YW50LmhwcD4KKworCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKworLy8gZGVmYXVsdCBpbXBsZW1lbnRhdGlvbiBmb3IgZm9yd2FyZC9iaWRpcmVjdGlvbmFsIGl0ZXJhdG9ycwordGVtcGxhdGU8IHR5cGVuYW1lIFRhZyA+IHN0cnVjdCBkaXN0YW5jZV9pbXBsCit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIEZpcnN0LCB0eXBlbmFtZSBMYXN0ID4gc3RydWN0IGFwcGx5CisjaWYgIWRlZmluZWQoQk9PU1RfTVBMX0NGR19OT19ORVNURURfRk9SV0FSRElORykKKyAgICAgICAgOiBhdXg6Om1zdmNfZXRpX2Jhc2U8IHR5cGVuYW1lIGl0ZXJfZm9sZDwKKyAgICAgICAgICAgICAgaXRlcmF0b3JfcmFuZ2U8Rmlyc3QsTGFzdD4KKyAgICAgICAgICAgICwgbXBsOjpsb25nXzwwPgorICAgICAgICAgICAgLCBuZXh0PD4KKyAgICAgICAgICAgID46OnR5cGUgPgorICAgIHsKKyNlbHNlCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGl0ZXJfZm9sZDwKKyAgICAgICAgICAgICAgaXRlcmF0b3JfcmFuZ2U8Rmlyc3QsTGFzdD4KKyAgICAgICAgICAgICwgbXBsOjpsb25nXzwwPgorICAgICAgICAgICAgLCBuZXh0PD4KKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKyAgICAgICAgCisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChsb25nLCB2YWx1ZSA9CisgICAgICAgICAgICAgIChpdGVyX2ZvbGQ8CisgICAgICAgICAgICAgICAgICBpdGVyYXRvcl9yYW5nZTxGaXJzdCxMYXN0PgorICAgICAgICAgICAgICAgICwgbXBsOjpsb25nXzwwPgorICAgICAgICAgICAgICAgICwgbmV4dDw+CisgICAgICAgICAgICAgICAgPjo6dHlwZTo6dmFsdWUpCisgICAgICAgICAgICApOworI2VuZGlmCisgICAgfTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShGaXJzdCkKKyAgICAsIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oTGFzdCkKKyAgICA+CitzdHJ1Y3QgZGlzdGFuY2UKKyAgICA6IGRpc3RhbmNlX2ltcGw8IHR5cGVuYW1lIHRhZzxGaXJzdD46OnR5cGUgPgorICAgICAgICA6OnRlbXBsYXRlIGFwcGx5PEZpcnN0LCBMYXN0PgoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoMiwgZGlzdGFuY2UsIChGaXJzdCwgTGFzdCkpCit9OworCitCT09TVF9NUExfQVVYX05BX1NQRUMoMiwgZGlzdGFuY2UpCisKK319CisKKyNlbmRpZiAvLyBCT09TVF9NUExfRElTVEFOQ0VfSFBQX0lOQ0xVREVECmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvZGlzdGFuY2VfZndkLmhwcCBiL25kbmJvb3N0L21wbC9kaXN0YW5jZV9md2QuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQwOGQ2ZDkKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvZGlzdGFuY2VfZndkLmhwcApAQCAtMCwwICsxLDI4IEBACisKKyNpZm5kZWYgQk9PU1RfTVBMX0RJU1RBTkNFX0ZXRF9IUFBfSU5DTFVERUQKKyNkZWZpbmUgQk9PU1RfTVBMX0RJU1RBTkNFX0ZXRF9IUFBfSU5DTFVERUQKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworLy8gU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL2xpYnMvbXBsIGZvciBkb2N1bWVudGF0aW9uLgorCisvLyAkSWQ6IGRpc3RhbmNlX2Z3ZC5ocHAgNDkyNjcgMjAwOC0xMC0xMSAwNjoxOTowMlogYWd1cnRvdm95ICQKKy8vICREYXRlOiAyMDA4LTEwLTEwIDIzOjE5OjAyIC0wNzAwIChGcmksIDEwIE9jdCAyMDA4KSAkCisvLyAkUmV2aXNpb246IDQ5MjY3ICQKKworI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2NvbW1vbl9uYW1lX3drbmQuaHBwPgorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKworQk9PU1RfTVBMX0FVWF9DT01NT05fTkFNRV9XS05EKGRpc3RhbmNlKQorCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVGFnID4gc3RydWN0IGRpc3RhbmNlX2ltcGw7Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgRmlyc3QsIHR5cGVuYW1lIExhc3QgPiBzdHJ1Y3QgZGlzdGFuY2U7CisKK319CisKKyNlbmRpZiAvLyBCT09TVF9NUExfRElTVEFOQ0VfRldEX0hQUF9JTkNMVURFRApkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2VtcHR5X2Z3ZC5ocHAgYi9uZG5ib29zdC9tcGwvZW1wdHlfZndkLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMmEyMTY0Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2VtcHR5X2Z3ZC5ocHAKQEAgLTAsMCArMSwyNCBAQAorCisjaWZuZGVmIEJPT1NUX01QTF9FTVBUWV9GV0RfSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX01QTF9FTVBUWV9GV0RfSFBQX0lOQ0xVREVECisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKy8vIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL21wbCBmb3IgZG9jdW1lbnRhdGlvbi4KKworLy8gJElkOiBlbXB0eV9md2QuaHBwIDQ5MjY3IDIwMDgtMTAtMTEgMDY6MTk6MDJaIGFndXJ0b3ZveSAkCisvLyAkRGF0ZTogMjAwOC0xMC0xMCAyMzoxOTowMiAtMDcwMCAoRnJpLCAxMCBPY3QgMjAwOCkgJAorLy8gJFJldmlzaW9uOiA0OTI2NyAkCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVGFnID4gc3RydWN0IGVtcHR5X2ltcGw7Cit0ZW1wbGF0ZTwgdHlwZW5hbWUgU2VxdWVuY2UgPiBzdHJ1Y3QgZW1wdHk7CisKK319CisKKyNlbmRpZiAvLyBCT09TVF9NUExfRU1QVFlfRldEX0hQUF9JTkNMVURFRApkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2VxdWFsX3RvLmhwcCBiL25kbmJvb3N0L21wbC9lcXVhbF90by5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmQwMWYwYwotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9lcXVhbF90by5ocHAKQEAgLTAsMCArMSwyMSBAQAorCisjaWZuZGVmIEJPT1NUX01QTF9FUVVBTF9UT19IUFBfSU5DTFVERUQKKyNkZWZpbmUgQk9PU1RfTVBMX0VRVUFMX1RPX0hQUF9JTkNMVURFRAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisvLyBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvbGlicy9tcGwgZm9yIGRvY3VtZW50YXRpb24uCisKKy8vICRJZDogZXF1YWxfdG8uaHBwIDQ5MjY3IDIwMDgtMTAtMTEgMDY6MTk6MDJaIGFndXJ0b3ZveSAkCisvLyAkRGF0ZTogMjAwOC0xMC0xMCAyMzoxOTowMiAtMDcwMCAoRnJpLCAxMCBPY3QgMjAwOCkgJAorLy8gJFJldmlzaW9uOiA0OTI2NyAkCisKKyNkZWZpbmUgQVVYNzc4MDc2X09QX05BTUUgZXF1YWxfdG8KKyNkZWZpbmUgQVVYNzc4MDc2X09QX1RPS0VOID09CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vY29tcGFyaXNvbl9vcC5ocHA+CisKKyNlbmRpZiAvLyBCT09TVF9NUExfRVFVQUxfVE9fSFBQX0lOQ0xVREVECmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvZXZhbF9pZi5ocHAgYi9uZG5ib29zdC9tcGwvZXZhbF9pZi5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTk0MDJhYwotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9ldmFsX2lmLmhwcApAQCAtMCwwICsxLDcxIEBACisKKyNpZm5kZWYgQk9PU1RfTVBMX0VWQUxfSUZfSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX01QTF9FVkFMX0lGX0hQUF9JTkNMVURFRAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisvLyBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvbGlicy9tcGwgZm9yIGRvY3VtZW50YXRpb24uCisKKy8vICRJZDogZXZhbF9pZi5ocHAgNjE5MjEgMjAxMC0wNS0xMSAyMTozMzoyNFogbmVpbGdyb3ZlcyAkCisvLyAkRGF0ZTogMjAxMC0wNS0xMSAxNDozMzoyNCAtMDcwMCAoVHVlLCAxMSBNYXkgMjAxMCkgJAorLy8gJFJldmlzaW9uOiA2MTkyMSAkCisKKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvaWYuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL25hX3NwZWMuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2xhbWJkYV9zdXBwb3J0LmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9jb25maWcvbXN2Yy5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vY29uZmlnL2djYy5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vY29uZmlnL3dvcmthcm91bmQuaHBwPgorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKEMpCisgICAgLCB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKEYxKQorICAgICwgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShGMikKKyAgICA+CitzdHJ1Y3QgZXZhbF9pZgorI2lmIEJPT1NUX1dPUktBUk9VTkQoQk9PU1RfTVNWQywgPD0gMTMwMCkgXAorICAgICB8fCAoIEJPT1NUX1dPUktBUk9VTkQoQk9PU1RfTVBMX0NGR19HQ0MsID49IDB4MDMwMCkgXAorICAgICAgICAmJiBCT09TVF9XT1JLQVJPVU5EKEJPT1NUX01QTF9DRkdfR0NDLCBCT09TVF9URVNURURfQVQoMHgwMzA0KSkgXAorICAgICAgICApCit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBpZl88QyxGMSxGMj46OnR5cGUgZl87CisgICAgdHlwZWRlZiB0eXBlbmFtZSBmXzo6dHlwZSB0eXBlOworI2Vsc2UKKyAgICA6IGlmXzxDLEYxLEYyPjo6dHlwZQoreworI2VuZGlmCisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgzLGV2YWxfaWYsKEMsRjEsRjIpKQorfTsKKworLy8gKGFsbW9zdCkgY29weSAmIHBhc3RlIGluIG9yZGVyIHRvIHNhdmUgb25lIG1vcmUgCisvLyByZWN1cnNpdmVseSBuZXN0ZWQgdGVtcGxhdGUgaW5zdGFudGlhdGlvbiB0byB1c2VyCit0ZW1wbGF0ZTwKKyAgICAgIGJvb2wgQworICAgICwgdHlwZW5hbWUgRjEKKyAgICAsIHR5cGVuYW1lIEYyCisgICAgPgorc3RydWN0IGV2YWxfaWZfYworI2lmIEJPT1NUX1dPUktBUk9VTkQoQk9PU1RfTVNWQywgPD0gMTMwMCkgXAorICAgICB8fCAoIEJPT1NUX1dPUktBUk9VTkQoQk9PU1RfTVBMX0NGR19HQ0MsID49IDB4MDMwMCkgXAorICAgICAgICAmJiBCT09TVF9XT1JLQVJPVU5EKEJPT1NUX01QTF9DRkdfR0NDLCBCT09TVF9URVNURURfQVQoMHgwMzA0KSkgXAorICAgICAgICApCit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBpZl9jPEMsRjEsRjI+Ojp0eXBlIGZfOworICAgIHR5cGVkZWYgdHlwZW5hbWUgZl86OnR5cGUgdHlwZTsKKyNlbHNlCisgICAgOiBpZl9jPEMsRjEsRjI+Ojp0eXBlCit7CisjZW5kaWYKK307CisKK0JPT1NUX01QTF9BVVhfTkFfU1BFQygzLCBldmFsX2lmKQorCit9fQorCisjZW5kaWYgLy8gQk9PU1RfTVBMX0VWQUxfSUZfSFBQX0lOQ0xVREVECmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvZmluZC5ocHAgYi9uZG5ib29zdC9tcGwvZmluZC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTRhMmMwOAotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9maW5kLmhwcApAQCAtMCwwICsxLDM4IEBACisKKyNpZm5kZWYgQk9PU1RfTVBMX0ZJTkRfSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX01QTF9GSU5EX0hQUF9JTkNMVURFRAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDIKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisvLyBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvbGlicy9tcGwgZm9yIGRvY3VtZW50YXRpb24uCisKKy8vICRJZDogZmluZC5ocHAgNDkyNjcgMjAwOC0xMC0xMSAwNjoxOTowMlogYWd1cnRvdm95ICQKKy8vICREYXRlOiAyMDA4LTEwLTEwIDIzOjE5OjAyIC0wNzAwIChGcmksIDEwIE9jdCAyMDA4KSAkCisvLyAkUmV2aXNpb246IDQ5MjY3ICQKKworI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9maW5kX2lmLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvc2FtZV9hcy5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vbmFfc3BlYy5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vbGFtYmRhX3N1cHBvcnQuaHBwPgorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKFNlcXVlbmNlKQorICAgICwgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShUKQorICAgID4KK3N0cnVjdCBmaW5kCisgICAgOiBmaW5kX2lmPCBTZXF1ZW5jZSxzYW1lX2FzPFQ+ID4KK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKDIsZmluZCwoU2VxdWVuY2UsVCkpCit9OworCitCT09TVF9NUExfQVVYX05BX1NQRUMoMiwgZmluZCkKKworfX0KKworI2VuZGlmIC8vIEJPT1NUX01QTF9GSU5EX0hQUF9JTkNMVURFRApkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2ZpbmRfaWYuaHBwIGIvbmRuYm9vc3QvbXBsL2ZpbmRfaWYuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdkOTFiZWEKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvZmluZF9pZi5ocHAKQEAgLTAsMCArMSw1MCBAQAorCisjaWZuZGVmIEJPT1NUX01QTF9GSU5EX0lGX0hQUF9JTkNMVURFRAorI2RlZmluZSBCT09TVF9NUExfRklORF9JRl9IUFBfSU5DTFVERUQKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworLy8gU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL2xpYnMvbXBsIGZvciBkb2N1bWVudGF0aW9uLgorCisvLyAkSWQ6IGZpbmRfaWYuaHBwIDQ5Mjc0IDIwMDgtMTAtMTEgMDc6MjI6MDVaIGFndXJ0b3ZveSAkCisvLyAkRGF0ZTogMjAwOC0xMC0xMSAwMDoyMjowNSAtMDcwMCAoU2F0LCAxMSBPY3QgMjAwOCkgJAorLy8gJFJldmlzaW9uOiA0OTI3NCAkCisKKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9maW5kX2lmX3ByZWQuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hcmcuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9pdGVyX2ZvbGRfaWYuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2NvbW1vbl9uYW1lX3drbmQuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL25hX3NwZWMuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2xhbWJkYV9zdXBwb3J0LmhwcD4KKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK0JPT1NUX01QTF9BVVhfQ09NTU9OX05BTUVfV0tORChmaW5kX2lmKQorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oU2VxdWVuY2UpCisgICAgLCB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKFByZWRpY2F0ZSkKKyAgICA+CitzdHJ1Y3QgZmluZF9pZgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgaXRlcl9mb2xkX2lmPAorICAgICAgICAgIFNlcXVlbmNlCisgICAgICAgICwgdm9pZAorICAgICAgICAsIG1wbDo6YXJnPDE+IC8vIGlnbm9yZQorICAgICAgICAsIHByb3RlY3Q8IGF1eDo6ZmluZF9pZl9wcmVkPFByZWRpY2F0ZT4gPgorICAgICAgICA+Ojp0eXBlIHJlc3VsdF87CisKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHNlY29uZDxyZXN1bHRfPjo6dHlwZSB0eXBlOworCisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgyLGZpbmRfaWYsKFNlcXVlbmNlLFByZWRpY2F0ZSkpCit9OworCitCT09TVF9NUExfQVVYX05BX1NQRUMoMixmaW5kX2lmKQorCit9fQorCisjZW5kaWYgLy8gQk9PU1RfTVBMX0ZJTkRfSUZfSFBQX0lOQ0xVREVECmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvZm9sZC5ocHAgYi9uZG5ib29zdC9tcGwvZm9sZC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjIxNGI3OQotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9mb2xkLmhwcApAQCAtMCwwICsxLDQ4IEBACisKKyNpZm5kZWYgQk9PU1RfTVBMX0ZPTERfSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX01QTF9GT0xEX0hQUF9JTkNMVURFRAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAxLTIwMDQKKy8vIENvcHlyaWdodCBEYXZpZCBBYnJhaGFtcyAyMDAxLTIwMDIKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisvLyBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvbGlicy9tcGwgZm9yIGRvY3VtZW50YXRpb24uCisKKy8vICRJZDogZm9sZC5ocHAgNDkyNjcgMjAwOC0xMC0xMSAwNjoxOTowMlogYWd1cnRvdm95ICQKKy8vICREYXRlOiAyMDA4LTEwLTEwIDIzOjE5OjAyIC0wNzAwIChGcmksIDEwIE9jdCAyMDA4KSAkCisvLyAkUmV2aXNpb246IDQ5MjY3ICQKKworI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9iZWdpbl9lbmQuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9PMV9zaXplLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9mb2xkX2ltcGwuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL25hX3NwZWMuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2xhbWJkYV9zdXBwb3J0LmhwcD4KKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShTZXF1ZW5jZSkKKyAgICAsIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oU3RhdGUpCisgICAgLCB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKEZvcndhcmRPcCkKKyAgICA+CitzdHJ1Y3QgZm9sZAoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXV4Ojpmb2xkX2ltcGw8CisgICAgICAgICAgOjpuZG5ib29zdDo6bXBsOjpPMV9zaXplPFNlcXVlbmNlPjo6dmFsdWUKKyAgICAgICAgLCB0eXBlbmFtZSBiZWdpbjxTZXF1ZW5jZT46OnR5cGUKKyAgICAgICAgLCB0eXBlbmFtZSBlbmQ8U2VxdWVuY2U+Ojp0eXBlCisgICAgICAgICwgU3RhdGUKKyAgICAgICAgLCBGb3J3YXJkT3AKKyAgICAgICAgPjo6c3RhdGUgdHlwZTsKKworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoMyxmb2xkLChTZXF1ZW5jZSxTdGF0ZSxGb3J3YXJkT3ApKQorfTsKKworQk9PU1RfTVBMX0FVWF9OQV9TUEVDKDMsIGZvbGQpCisKK319CisKKyNlbmRpZiAvLyBCT09TVF9NUExfRk9MRF9IUFBfSU5DTFVERUQKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9mcm9udC5ocHAgYi9uZG5ib29zdC9tcGwvZnJvbnQuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjExOGIxMTIKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvZnJvbnQuaHBwCkBAIC0wLDAgKzEsMzkgQEAKKworI2lmbmRlZiBCT09TVF9NUExfRlJPTlRfSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX01QTF9GUk9OVF9IUFBfSU5DTFVERUQKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworLy8gU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL2xpYnMvbXBsIGZvciBkb2N1bWVudGF0aW9uLgorCisvLyAkSWQ6IGZyb250LmhwcCA0OTI2NyAyMDA4LTEwLTExIDA2OjE5OjAyWiBhZ3VydG92b3kgJAorLy8gJERhdGU6IDIwMDgtMTAtMTAgMjM6MTk6MDIgLTA3MDAgKEZyaSwgMTAgT2N0IDIwMDgpICQKKy8vICRSZXZpc2lvbjogNDkyNjcgJAorCisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2Zyb250X2Z3ZC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vZnJvbnRfaW1wbC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL3NlcXVlbmNlX3RhZy5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vbmFfc3BlYy5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vbGFtYmRhX3N1cHBvcnQuaHBwPgorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKFNlcXVlbmNlKQorICAgID4KK3N0cnVjdCBmcm9udAorICAgIDogZnJvbnRfaW1wbDwgdHlwZW5hbWUgc2VxdWVuY2VfdGFnPFNlcXVlbmNlPjo6dHlwZSA+CisgICAgICAgIDo6dGVtcGxhdGUgYXBwbHk8IFNlcXVlbmNlID4KK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKDEsZnJvbnQsKFNlcXVlbmNlKSkKK307CisKK0JPT1NUX01QTF9BVVhfTkFfU1BFQygxLCBmcm9udCkKKworfX0KKworI2VuZGlmIC8vIEJPT1NUX01QTF9GUk9OVF9IUFBfSU5DTFVERUQKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9mcm9udF9md2QuaHBwIGIvbmRuYm9vc3QvbXBsL2Zyb250X2Z3ZC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmRlMjI5YQotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9mcm9udF9md2QuaHBwCkBAIC0wLDAgKzEsMjQgQEAKKworI2lmbmRlZiBCT09TVF9NUExfRlJPTlRfRldEX0hQUF9JTkNMVURFRAorI2RlZmluZSBCT09TVF9NUExfRlJPTlRfRldEX0hQUF9JTkNMVURFRAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisvLyBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvbGlicy9tcGwgZm9yIGRvY3VtZW50YXRpb24uCisKKy8vICRJZDogZnJvbnRfZndkLmhwcCA0OTI2NyAyMDA4LTEwLTExIDA2OjE5OjAyWiBhZ3VydG92b3kgJAorLy8gJERhdGU6IDIwMDgtMTAtMTAgMjM6MTk6MDIgLTA3MDAgKEZyaSwgMTAgT2N0IDIwMDgpICQKKy8vICRSZXZpc2lvbjogNDkyNjcgJAorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFRhZyA+IHN0cnVjdCBmcm9udF9pbXBsOwordGVtcGxhdGU8IHR5cGVuYW1lIFNlcXVlbmNlID4gc3RydWN0IGZyb250OworCit9fQorCisjZW5kaWYgLy8gQk9PU1RfTVBMX0ZST05UX0ZXRF9IUFBfSU5DTFVERUQKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9mcm9udF9pbnNlcnRlci5ocHAgYi9uZG5ib29zdC9tcGwvZnJvbnRfaW5zZXJ0ZXIuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ0NzZkMWMKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvZnJvbnRfaW5zZXJ0ZXIuaHBwCkBAIC0wLDAgKzEsMzMgQEAKKworI2lmbmRlZiBCT09TVF9NUExfRlJPTlRfSU5TRVJURVJfSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX01QTF9GUk9OVF9JTlNFUlRFUl9IUFBfSU5DTFVERUQKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMy0yMDA0CisvLyBDb3B5cmlnaHQgRGF2aWQgQWJyYWhhbXMgMjAwMy0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworLy8gU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL2xpYnMvbXBsIGZvciBkb2N1bWVudGF0aW9uLgorCisvLyAkSWQ6IGZyb250X2luc2VydGVyLmhwcCA0OTI2NyAyMDA4LTEwLTExIDA2OjE5OjAyWiBhZ3VydG92b3kgJAorLy8gJERhdGU6IDIwMDgtMTAtMTAgMjM6MTk6MDIgLTA3MDAgKEZyaSwgMTAgT2N0IDIwMDgpICQKKy8vICRSZXZpc2lvbjogNDkyNjcgJAorCisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL3B1c2hfZnJvbnQuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9pbnNlcnRlci5ocHA+CisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFNlcXVlbmNlCisgICAgPgorc3RydWN0IGZyb250X2luc2VydGVyCisgICAgOiBpbnNlcnRlcjwgU2VxdWVuY2UscHVzaF9mcm9udDw+ID4KK3sKK307CisKK319CisKKyNlbmRpZiAvLyBCT09TVF9NUExfRlJPTlRfSU5TRVJURVJfSFBQX0lOQ0xVREVECmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvaGFzX3h4eC5ocHAgYi9uZG5ib29zdC9tcGwvaGFzX3h4eC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzdkNDkxZAotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9oYXNfeHh4LmhwcApAQCAtMCwwICsxLDY0MCBAQAorCisjaWZuZGVmIEJPT1NUX01QTF9IQVNfWFhYX0hQUF9JTkNMVURFRAorI2RlZmluZSBCT09TVF9NUExfSEFTX1hYWF9IUFBfSU5DTFVERUQKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMi0yMDA2CisvLyBDb3B5cmlnaHQgRGF2aWQgQWJyYWhhbXMgMjAwMi0yMDAzCisvLyBDb3B5cmlnaHQgRGFuaWVsIFdhbGtlciAyMDA3CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworLy8gU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL2xpYnMvbXBsIGZvciBkb2N1bWVudGF0aW9uLgorCisvLyAkSWQ6IGhhc194eHguaHBwIDY0MTQ2IDIwMTAtMDctMTkgMDA6NDY6MzFaIGRqd2Fsa2VyICQKKy8vICREYXRlOiAyMDEwLTA3LTE4IDE3OjQ2OjMxIC0wNzAwIChTdW4sIDE4IEp1bCAyMDEwKSAkCisvLyAkUmV2aXNpb246IDY0MTQ2ICQKKworI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9ib29sLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9uYV9zcGVjLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy90eXBlX3dyYXBwZXIuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL3llc19uby5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vY29uZmlnL2djYy5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vY29uZmlnL2hhc194eHguaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2NvbmZpZy9tc3ZjX3R5cGVuYW1lLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9jb25maWcvbXN2Yy5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vY29uZmlnL3N0YXRpY19jb25zdGFudC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vY29uZmlnL3dvcmthcm91bmQuaHBwPgorCisjaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL2FycmF5L2VsZW0uaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9jYXQuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9jb250cm9sL2lmLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3IvcmVwZXRpdGlvbi9lbnVtX3BhcmFtcy5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL3JlcGV0aXRpb24vZW51bV90cmFpbGluZ19wYXJhbXMuaHBwPgorCisjaWYgQk9PU1RfV09SS0FST1VORCggX19CT1JMQU5EQ19fLCBCT09TVF9URVNURURfQVQoMHg1OTApICkKKyMgaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvaXNfY2xhc3MuaHBwPgorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChCT09TVF9NUExfQ0ZHX05PX0hBU19YWFgpCisKKyMgICBpZiBCT09TVF9XT1JLQVJPVU5EKEJPT1NUX01TVkMsIDw9IDEzMDApCisKKy8vIGFndXJ0LCAxMS9zZXAvMDI6IE1TVkMtc3BlY2lmaWMgdmVyc2lvbiAoPCA3LjEpLCBiYXNlZCBvbiBhIFVTRU5FVCAKKy8vIG5ld3Nncm91cCdzIHBvc3RpbmcgYnkgSm9obiBNYWRzZW4gKGNvbXAubGFuZy5jKysubW9kZXJhdGVkLCAKKy8vIDE5OTktMTEtMTIgMTk6MTc6MDYgR01UKTsgdGhlIGNvZGUgaXMgX25vdF8gc3RhbmRhcmQtY29uZm9ybWluZywgYnV0IAorLy8gaXQgd29ya3Mgd2F5IG1vcmUgcmVsaWFibHkgdGhhbiB0aGUgU0ZJTkFFLWJhc2VkIGltcGxlbWVudGF0aW9uCisKKy8vIE1vZGlmaWVkIGR3YSA4L09jdC8wMiB0byBoYW5kbGUgcmVmZXJlbmNlIHR5cGVzLgorCisjICAgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2lmLmhwcD4KKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvYm9vbC5ocHA+CisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeyBuYW1lc3BhY2UgYXV4IHsKKworc3RydWN0IGhhc194eHhfdGFnOworCisjaWYgQk9PU1RfV09SS0FST1VORChCT09TVF9NU1ZDLCA9PSAxMzAwKQordGVtcGxhdGU8IHR5cGVuYW1lIFUgPiBzdHJ1Y3QgbXN2Y19pbmNvbXBsZXRlX2FycmF5Cit7CisgICAgdHlwZWRlZiBjaGFyICgmdHlwZSlbc2l6ZW9mKFUpICsgMV07Cit9OworI2VuZGlmCisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUID4KK3N0cnVjdCBtc3ZjX2lzX2luY29tcGxldGUKK3sKKyAgICAvLyBNU1ZDIGlzIGNhcGFibGUgb2Ygc29tZSBraW5kcyBvZiBTRklOQUUuICBJZiBVIGlzIGFuIGluY29tcGxldGUKKyAgICAvLyB0eXBlLCBpdCB3b24ndCBwaWNrIHRoZSBzZWNvbmQgb3ZlcmxvYWQKKyAgICBzdGF0aWMgY2hhciB0ZXN0ZXIoLi4uKTsKKworI2lmIEJPT1NUX1dPUktBUk9VTkQoQk9PU1RfTVNWQywgPT0gMTMwMCkKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVSA+CisgICAgc3RhdGljIHR5cGVuYW1lIG1zdmNfaW5jb21wbGV0ZV9hcnJheTxVPjo6dHlwZSB0ZXN0ZXIodHlwZV93cmFwcGVyPFU+KTsKKyNlbHNlCisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUgPgorICAgIHN0YXRpYyBjaGFyICgmIHRlc3Rlcih0eXBlX3dyYXBwZXI8VT4pIClbc2l6ZW9mKFUpKzFdOworI2VuZGlmIAorICAgIAorICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChib29sLCB2YWx1ZSA9IAorICAgICAgICAgIHNpemVvZih0ZXN0ZXIodHlwZV93cmFwcGVyPFQ+KCkpKSA9PSAxCisgICAgICAgICk7Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgbXN2Y19pc19pbmNvbXBsZXRlPGludD4KK3sKKyAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoYm9vbCwgdmFsdWUgPSBmYWxzZSk7Cit9OworCit9fX0KKworIyAgIGRlZmluZSBCT09TVF9NUExfSEFTX1hYWF9UUkFJVF9OQU1FRF9ERUZfKHRyYWl0LCBuYW1lLCBkZWZhdWx0XykgXAordGVtcGxhdGU8IHR5cGVuYW1lIFQsIHR5cGVuYW1lIG5hbWUgPSA6Om5kbmJvb3N0OjptcGw6OmF1eDo6aGFzX3h4eF90YWcgPiBcCitzdHJ1Y3QgQk9PU1RfUFBfQ0FUKHRyYWl0LF9pbXBsKSA6IFQgXAoreyBcCisgICAgc3RhdGljIG5kbmJvb3N0OjptcGw6OmF1eDo6bm9fdGFnIFwKKyAgICB0ZXN0KHZvaWQoKikoOjpuZG5ib29zdDo6bXBsOjphdXg6Omhhc194eHhfdGFnKSk7IFwKKyAgICBcCisgICAgc3RhdGljIG5kbmJvb3N0OjptcGw6OmF1eDo6eWVzX3RhZyB0ZXN0KC4uLik7IFwKKyAgICBcCisgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGJvb2wsIHZhbHVlID0gXAorICAgICAgICAgIHNpemVvZih0ZXN0KHN0YXRpY19jYXN0PHZvaWQoKikobmFtZSk+KDApKSkgXAorICAgICAgICAgICAgIT0gc2l6ZW9mKG5kbmJvb3N0OjptcGw6OmF1eDo6bm9fdGFnKSBcCisgICAgICAgICk7IFwKKyAgICB0eXBlZGVmIG5kbmJvb3N0OjptcGw6OmJvb2xfPHZhbHVlPiB0eXBlOyBcCit9OyBcCitcCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVCwgdHlwZW5hbWUgZmFsbGJhY2tfID0gbmRuYm9vc3Q6Om1wbDo6Ym9vbF88ZGVmYXVsdF8+ID4gXAorc3RydWN0IHRyYWl0IFwKKyAgICA6IG5kbmJvb3N0OjptcGw6OmlmX2M8IFwKKyAgICAgICAgICBuZG5ib29zdDo6bXBsOjphdXg6Om1zdmNfaXNfaW5jb21wbGV0ZTxUPjo6dmFsdWUgXAorICAgICAgICAsIG5kbmJvb3N0OjptcGw6OmJvb2xfPGZhbHNlPiBcCisgICAgICAgICwgQk9PU1RfUFBfQ0FUKHRyYWl0LF9pbXBsKTxUPiBcCisgICAgICAgID46OnR5cGUgXAoreyBcCit9OyBcCitcCitCT09TVF9NUExfQVVYX0hBU19YWFhfVFJBSVRfU1BFQyh0cmFpdCwgdm9pZCkgXAorQk9PU1RfTVBMX0FVWF9IQVNfWFhYX1RSQUlUX1NQRUModHJhaXQsIGJvb2wpIFwKK0JPT1NUX01QTF9BVVhfSEFTX1hYWF9UUkFJVF9TUEVDKHRyYWl0LCBjaGFyKSBcCitCT09TVF9NUExfQVVYX0hBU19YWFhfVFJBSVRfU1BFQyh0cmFpdCwgc2lnbmVkIGNoYXIpIFwKK0JPT1NUX01QTF9BVVhfSEFTX1hYWF9UUkFJVF9TUEVDKHRyYWl0LCB1bnNpZ25lZCBjaGFyKSBcCitCT09TVF9NUExfQVVYX0hBU19YWFhfVFJBSVRfU1BFQyh0cmFpdCwgc2lnbmVkIHNob3J0KSBcCitCT09TVF9NUExfQVVYX0hBU19YWFhfVFJBSVRfU1BFQyh0cmFpdCwgdW5zaWduZWQgc2hvcnQpIFwKK0JPT1NUX01QTF9BVVhfSEFTX1hYWF9UUkFJVF9TUEVDKHRyYWl0LCBzaWduZWQgaW50KSBcCitCT09TVF9NUExfQVVYX0hBU19YWFhfVFJBSVRfU1BFQyh0cmFpdCwgdW5zaWduZWQgaW50KSBcCitCT09TVF9NUExfQVVYX0hBU19YWFhfVFJBSVRfU1BFQyh0cmFpdCwgc2lnbmVkIGxvbmcpIFwKK0JPT1NUX01QTF9BVVhfSEFTX1hYWF9UUkFJVF9TUEVDKHRyYWl0LCB1bnNpZ25lZCBsb25nKSBcCitCT09TVF9NUExfQVVYX0hBU19YWFhfVFJBSVRfU1BFQyh0cmFpdCwgZmxvYXQpIFwKK0JPT1NUX01QTF9BVVhfSEFTX1hYWF9UUkFJVF9TUEVDKHRyYWl0LCBkb3VibGUpIFwKK0JPT1NUX01QTF9BVVhfSEFTX1hYWF9UUkFJVF9TUEVDKHRyYWl0LCBsb25nIGRvdWJsZSkgXAorLyoqLworCisjICAgZGVmaW5lIEJPT1NUX01QTF9BVVhfSEFTX1hYWF9UUkFJVF9TUEVDKHRyYWl0LCBUKSBcCit0ZW1wbGF0ZTw+IHN0cnVjdCB0cmFpdDxUPiBcCit7IFwKKyAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoYm9vbCwgdmFsdWUgPSBmYWxzZSk7IFwKKyAgICB0eXBlZGVmIG5kbmJvb3N0OjptcGw6OmJvb2xfPGZhbHNlPiB0eXBlOyBcCit9OyBcCisvKiovCisKKyNpZiAhZGVmaW5lZChCT09TVF9OT19JTlRSSU5TSUNfV0NIQVJfVCkKKyMgICBkZWZpbmUgQk9PU1RfTVBMX0hBU19YWFhfVFJBSVRfTkFNRURfREVGKHRyYWl0LCBuYW1lLCB1bnVzZWQpIFwKKyAgICBCT09TVF9NUExfSEFTX1hYWF9UUkFJVF9OQU1FRF9ERUZfKHRyYWl0LCBuYW1lLCB1bnVzZWQpIFwKKyAgICBCT09TVF9NUExfQVVYX0hBU19YWFhfVFJBSVRfU1BFQyh0cmFpdCwgd2NoYXJfdCkgXAorLyoqLworI2Vsc2UKKyMgICBkZWZpbmUgQk9PU1RfTVBMX0hBU19YWFhfVFJBSVRfTkFNRURfREVGKHRyYWl0LCBuYW1lLCB1bnVzZWQpIFwKKyAgICBCT09TVF9NUExfSEFTX1hYWF9UUkFJVF9OQU1FRF9ERUZfKHRyYWl0LCBuYW1lLCB1bnVzZWQpIFwKKy8qKi8KKyNlbmRpZgorCisKKy8vIFNGSU5BRS1iYXNlZCBpbXBsZW1lbnRhdGlvbnMgYmVsb3cgYXJlIGRlcml2ZWQgZnJvbSBhIFVTRU5FVCBuZXdzZ3JvdXAncyAKKy8vIHBvc3RpbmcgYnkgUmFuaSBTaGFyb25pIChjb21wLmxhbmcuYysrLm1vZGVyYXRlZCwgMjAwMi0wMy0xNyAwNzo0NTowOSBQU1QpCisKKyMgICBlbGlmIEJPT1NUX1dPUktBUk9VTkQoQk9PU1RfTVNWQywgQk9PU1RfVEVTVEVEX0FUKDE0MDApKSBcCisgICAgICB8fCBCT09TVF9XT1JLQVJPVU5EKF9fSUJNQ1BQX18sIDw9IDcwMCkKKworLy8gTVNWQyA3LjErICYgVkFDUFAKKworLy8gYWd1cnQsIDE1L2p1bi8wNTogcmVwbGFjZSBvdmVybG9hZC1iYXNlZCBTRklOQUUgaW1wbGVtZW50YXRpb24gd2l0aCBTRklOQUUKKy8vIGFwcGxpZWQgdG8gcGFydGlhbCBzcGVjaWFsaXphdGlvbiB0byBmaXggc29tZSBhcHBhcmVudGx5IHJhbmRvbSBmYWlsdXJlcyAKKy8vICh0aGFua3MgdG8gRGFuaWVsIFdhbGxpbiBmb3IgcmVzZWFyY2hpbmcgdGhpcyEpCisKKyMgICBkZWZpbmUgQk9PU1RfTVBMX0hBU19YWFhfVFJBSVRfTkFNRURfREVGKHRyYWl0LCBuYW1lLCBkZWZhdWx0XykgXAordGVtcGxhdGU8IHR5cGVuYW1lIFQgPiBcCitzdHJ1Y3QgQk9PU1RfUFBfQ0FUKHRyYWl0LCBfbXN2Y19zZmluYWVfaGVscGVyKSBcCit7IFwKKyAgICB0eXBlZGVmIHZvaWQgdHlwZTsgXAorfTtcCitcCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVCwgdHlwZW5hbWUgVSA9IHZvaWQgPiBcCitzdHJ1Y3QgQk9PU1RfUFBfQ0FUKHRyYWl0LF9pbXBsXykgXAoreyBcCisgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGJvb2wsIHZhbHVlID0gZmFsc2UpOyBcCisgICAgdHlwZWRlZiBuZG5ib29zdDo6bXBsOjpib29sXzx2YWx1ZT4gdHlwZTsgXAorfTsgXAorXAordGVtcGxhdGU8IHR5cGVuYW1lIFQgPiBcCitzdHJ1Y3QgQk9PU1RfUFBfQ0FUKHRyYWl0LF9pbXBsXyk8IFwKKyAgICAgIFQgXAorICAgICwgdHlwZW5hbWUgQk9PU1RfUFBfQ0FUKHRyYWl0LCBfbXN2Y19zZmluYWVfaGVscGVyKTwgdHlwZW5hbWUgVDo6bmFtZSA+Ojp0eXBlIFwKKyAgICA+IFwKK3sgXAorICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChib29sLCB2YWx1ZSA9IHRydWUpOyBcCisgICAgdHlwZWRlZiBuZG5ib29zdDo6bXBsOjpib29sXzx2YWx1ZT4gdHlwZTsgXAorfTsgXAorXAordGVtcGxhdGU8IHR5cGVuYW1lIFQsIHR5cGVuYW1lIGZhbGxiYWNrXyA9IG5kbmJvb3N0OjptcGw6OmJvb2xfPGRlZmF1bHRfPiA+IFwKK3N0cnVjdCB0cmFpdCBcCisgICAgOiBCT09TVF9QUF9DQVQodHJhaXQsX2ltcGxfKTxUPiBcCit7IFwKK307IFwKKy8qKi8KKworIyAgIGVsaWYgQk9PU1RfV09SS0FST1VORCggX19CT1JMQU5EQ19fLCBCT09TVF9URVNURURfQVQoMHg1OTApICkKKworIyAgIGRlZmluZSBCT09TVF9NUExfSEFTX1hYWF9UUkFJVF9OQU1FRF9CQ0JfREVGKHRyYWl0LCB0cmFpdF90ZXN0ZXIsIG5hbWUsIGRlZmF1bHRfKSBcCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVCwgYm9vbCBJU19DTEFTUyA+IFwKK3N0cnVjdCB0cmFpdF90ZXN0ZXIgXAoreyBcCisgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKCBib29sLCAgdmFsdWUgPSBmYWxzZSApOyBcCit9OyBcCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVCA+IFwKK3N0cnVjdCB0cmFpdF90ZXN0ZXI8IFQsIHRydWUgPiBcCit7IFwKKyAgICBzdHJ1Y3QgdHJhaXRfdGVzdGVyX2ltcGwgXAorICAgIHsgXAorICAgICAgICB0ZW1wbGF0ZSA8IGNsYXNzIFUgPiBcCisgICAgICAgIHN0YXRpYyBpbnQgIHJlc29sdmUoIG5kbmJvb3N0OjptcGw6OmF1eDo6dHlwZV93cmFwcGVyPFU+IGNvbnN0IHZvbGF0aWxlICogXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgLCBuZG5ib29zdDo6bXBsOjphdXg6OnR5cGVfd3JhcHBlcjx0eXBlbmFtZSBVOjpuYW1lID4qID0gMCApOyBcCisgICAgICAgIHN0YXRpYyBjaGFyIHJlc29sdmUoIC4uLiApOyBcCisgICAgfTsgXAorICAgIHR5cGVkZWYgbmRuYm9vc3Q6Om1wbDo6YXV4Ojp0eXBlX3dyYXBwZXI8VD4gdF87IFwKKyAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoIGJvb2wsIHZhbHVlID0gKCBzaXplb2YoIHRyYWl0X3Rlc3Rlcl9pbXBsOjpyZXNvbHZlKCBzdGF0aWNfY2FzdDwgdF8gKiA+KDApICkgKSA9PSBzaXplb2YoaW50KSApICk7IFwKK307IFwKK3RlbXBsYXRlPCB0eXBlbmFtZSBULCB0eXBlbmFtZSBmYWxsYmFja18gPSBuZG5ib29zdDo6bXBsOjpib29sXzxkZWZhdWx0Xz4gPiBcCitzdHJ1Y3QgdHJhaXQgICAgICAgICAgIFwKK3sgICAgICAgICAgICAgICAgICAgICAgXAorICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVCggYm9vbCwgdmFsdWUgPSAodHJhaXRfdGVzdGVyPCBULCBuZG5ib29zdDo6aXNfY2xhc3M8IFQgPjo6dmFsdWUgPjo6dmFsdWUpICk7ICAgICBcCisgICAgdHlwZWRlZiBuZG5ib29zdDo6bXBsOjpib29sXzwgdHJhaXQ8IFQsIGZhbGxiYWNrXyA+Ojp2YWx1ZSA+IHR5cGU7IFwKK307CisKKyMgICBkZWZpbmUgQk9PU1RfTVBMX0hBU19YWFhfVFJBSVRfTkFNRURfREVGKHRyYWl0LCBuYW1lLCBkZWZhdWx0XykgXAorICAgIEJPT1NUX01QTF9IQVNfWFhYX1RSQUlUX05BTUVEX0JDQl9ERUYoIHRyYWl0IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLCBCT09TVF9QUF9DQVQodHJhaXQsX3Rlc3RlcikgICAgICBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICwgbmFtZSAgICAgICBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICwgZGVmYXVsdF8gKSBcCisvKiovCisKKyMgICBlbHNlIC8vIG90aGVyIFNGSU5BRS1jYXBhYmxlIGNvbXBpbGVycworCisjICAgZGVmaW5lIEJPT1NUX01QTF9IQVNfWFhYX1RSQUlUX05BTUVEX0RFRih0cmFpdCwgbmFtZSwgZGVmYXVsdF8pIFwKK3RlbXBsYXRlPCB0eXBlbmFtZSBULCB0eXBlbmFtZSBmYWxsYmFja18gPSBuZG5ib29zdDo6bXBsOjpib29sXzxkZWZhdWx0Xz4gPiBcCitzdHJ1Y3QgdHJhaXQgXAoreyBcCisgICAgc3RydWN0IGdjY18zXzJfd2tuZCBcCisgICAgeyBcCisgICAgICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVID4gXAorICAgICAgICBzdGF0aWMgbmRuYm9vc3Q6Om1wbDo6YXV4Ojp5ZXNfdGFnIHRlc3QoIFwKKyAgICAgICAgICAgICAgbmRuYm9vc3Q6Om1wbDo6YXV4Ojp0eXBlX3dyYXBwZXI8VT4gY29uc3Qgdm9sYXRpbGUqIFwKKyAgICAgICAgICAgICwgbmRuYm9vc3Q6Om1wbDo6YXV4Ojp0eXBlX3dyYXBwZXI8Qk9PU1RfTVNWQ19UWVBFTkFNRSBVOjpuYW1lPiogPSAwIFwKKyAgICAgICAgICAgICk7IFwKKyAgICBcCisgICAgICAgIHN0YXRpYyBuZG5ib29zdDo6bXBsOjphdXg6Om5vX3RhZyB0ZXN0KC4uLik7IFwKKyAgICB9OyBcCisgICAgXAorICAgIHR5cGVkZWYgbmRuYm9vc3Q6Om1wbDo6YXV4Ojp0eXBlX3dyYXBwZXI8VD4gdF87IFwKKyAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoYm9vbCwgdmFsdWUgPSBcCisgICAgICAgICAgc2l6ZW9mKGdjY18zXzJfd2tuZDo6dGVzdChzdGF0aWNfY2FzdDx0Xyo+KDApKSkgXAorICAgICAgICAgICAgPT0gc2l6ZW9mKG5kbmJvb3N0OjptcGw6OmF1eDo6eWVzX3RhZykgXAorICAgICAgICApOyBcCisgICAgdHlwZWRlZiBuZG5ib29zdDo6bXBsOjpib29sXzx2YWx1ZT4gdHlwZTsgXAorfTsgXAorLyoqLworCisjICAgZW5kaWYgLy8gQk9PU1RfV09SS0FST1VORChCT09TVF9NU1ZDLCA8PSAxMzAwKQorCisKKyNlbHNlIC8vIEJPT1NUX01QTF9DRkdfTk9fSEFTX1hYWAorCisvLyBwbGFjZWhvbGRlciBpbXBsZW1lbnRhdGlvbgorCisjICAgZGVmaW5lIEJPT1NUX01QTF9IQVNfWFhYX1RSQUlUX05BTUVEX0RFRih0cmFpdCwgbmFtZSwgZGVmYXVsdF8pIFwKK3RlbXBsYXRlPCB0eXBlbmFtZSBULCB0eXBlbmFtZSBmYWxsYmFja18gPSBuZG5ib29zdDo6bXBsOjpib29sXzxkZWZhdWx0Xz4gPiBcCitzdHJ1Y3QgdHJhaXQgXAoreyBcCisgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGJvb2wsIHZhbHVlID0gZmFsbGJhY2tfOjp2YWx1ZSk7IFwKKyAgICB0eXBlZGVmIGZhbGxiYWNrXyB0eXBlOyBcCit9OyBcCisvKiovCisKKyNlbmRpZgorCisjZGVmaW5lIEJPT1NUX01QTF9IQVNfWFhYX1RSQUlUX0RFRihuYW1lKSBcCisgICAgQk9PU1RfTVBMX0hBU19YWFhfVFJBSVRfTkFNRURfREVGKEJPT1NUX1BQX0NBVChoYXNfLG5hbWUpLCBuYW1lLCBmYWxzZSkgXAorLyoqLworCisKKyNpZiAhZGVmaW5lZChCT09TVF9NUExfQ0ZHX05PX0hBU19YWFhfVEVNUExBVEUpCisKKy8vIENyZWF0ZSBhIGJvb2xlYW4gTWV0YWZ1bmN0aW9uIHRvIGRldGVjdCBhIG5lc3RlZCB0ZW1wbGF0ZQorLy8gbWVtYmVyLiBUaGlzIGltcGxlbWVudGF0aW9uIGlzIGJhc2VkIG9uIGEgVVNFTkVUIG5ld3Nncm91cCdzCisvLyBwb3N0aW5nIGJ5IEFsZWtzZXkgR3VydG92b3kgKGNvbXAubGFuZy5jKysubW9kZXJhdGVkLCAyMDAyLTAzLTE5KSwKKy8vIFJhbmkgU2hhcm9uaSdzIFVTRU5FVCBwb3N0aW5nIGNpdGVkIGFib3ZlLCB0aGUgbm9uLXRlbXBsYXRlIGhhc194eHgKKy8vIGltcGxlbWVudGF0aW9ucyBhYm92ZSwgYW5kIGRpc2N1c3Npb24gb24gdGhlIEJvb3N0IG1haWxpbmcgbGlzdC4KKworIyAgIGlmICFkZWZpbmVkKEJPT1NUX01QTF9IQVNfWFhYX05PX1dSQVBQRURfVFlQRVMpCisjICAgICBpZiBCT09TVF9XT1JLQVJPVU5EKEJPT1NUX01TVkMsIDw9IDE0MDApCisjICAgICAgIGRlZmluZSBCT09TVF9NUExfSEFTX1hYWF9OT19XUkFQUEVEX1RZUEVTIDEKKyMgICAgIGVuZGlmCisjICAgZW5kaWYKKworIyAgIGlmICFkZWZpbmVkKEJPT1NUX01QTF9IQVNfWFhYX05PX0VYUExJQ0lUX1RFU1RfRlVOQ1RJT04pCisjICAgICBpZiAoZGVmaW5lZChCT09TVF9OT19FWFBMSUNJVF9GVU5DVElPTl9URU1QTEFURV9BUkdVTUVOVFMpKQorIyAgICAgICBkZWZpbmUgQk9PU1RfTVBMX0hBU19YWFhfTk9fRVhQTElDSVRfVEVTVF9GVU5DVElPTiAxCisjICAgICBlbmRpZgorIyAgIGVuZGlmCisKKyMgICBpZiAhZGVmaW5lZChCT09TVF9NUExfSEFTX1hYWF9ORUVEU19URU1QTEFURV9TRklOQUUpCisjICAgICBpZiBCT09TVF9XT1JLQVJPVU5EKEJPT1NUX01TVkMsIDw9IDE0MDApCisjICAgICAgIGRlZmluZSBCT09TVF9NUExfSEFTX1hYWF9ORUVEU19URU1QTEFURV9TRklOQUUgMQorIyAgICAgZW5kaWYKKyMgICBlbmRpZgorCisvLyBOT1RFOiBNYW55IGludGVybmFsIGltcGxlbWVudGF0aW9uIG1hY3JvcyB0YWtlIGEgQm9vc3QuUHJlcHJvY2Vzc29yCisvLyBhcnJheSBhcmd1bWVudCBjYWxsZWQgYXJncyB3aGljaCBpcyBvZiB0aGUgZm9sbG93aW5nIGZvcm0uCisvLyAgICAgICAgICAgKCA0LCAoIHRyYWl0LCBuYW1lLCBtYXhfYXJpdHksIGRlZmF1bHRfICkgKQorCisjICAgZGVmaW5lIEJPT1NUX01QTF9IQVNfTUVNQkVSX0lOVFJPU1BFQ1RJT05fTkFNRShhcmdzKSBcCisgICAgICBCT09TVF9QUF9DQVQoQk9PU1RfUFBfQVJSQVlfRUxFTSgwLCBhcmdzKSAsIF9pbnRyb3NwZWN0KSBcCisgICAgLyoqLworCisjICAgZGVmaW5lIEJPT1NUX01QTF9IQVNfTUVNQkVSX0lOVFJPU1BFQ1RJT05fU1VCU1RJVFVURV9OQU1FKGFyZ3MsIG4pIFwKKyAgICAgIEJPT1NUX1BQX0NBVChCT09TVF9QUF9DQVQoQk9PU1RfUFBfQVJSQVlfRUxFTSgwLCBhcmdzKSAsIF9zdWJzdGl0dXRlKSwgbikgXAorICAgIC8qKi8KKworIyAgIGRlZmluZSBCT09TVF9NUExfSEFTX01FTUJFUl9JTlRST1NQRUNUSU9OX1RFU1RfTkFNRShhcmdzKSBcCisgICAgICBCT09TVF9QUF9DQVQoQk9PU1RfUFBfQVJSQVlfRUxFTSgwLCBhcmdzKSAsIF90ZXN0KSBcCisgICAgLyoqLworCisvLyBUaGFua3MgdG8gR3VpbGxhdW1lIE1lbHF1aW9uZCBmb3IgcG9pbnRpbmcgb3V0IHRoZSBuZWVkIGZvciB0aGUKKy8vICJzdWJzdGl0dXRlIiB0ZW1wbGF0ZSBhcyBhbiBhcmd1bWVudCB0byB0aGUgb3ZlcmxvYWRlZCB0ZXN0CisvLyBmdW5jdGlvbnMgdG8gZ2V0IFNGSU5BRSB0byB3b3JrIGZvciBtZW1iZXIgdGVtcGxhdGVzIHdpdGggdGhlCisvLyBjb3JyZWN0IG5hbWUgYnV0IGRpZmZlcmVudCBudW1iZXIgb2YgYXJndW1lbnRzLgorIyAgIGRlZmluZSBCT09TVF9NUExfSEFTX01FTUJFUl9NVUxUSV9TVUJTVElUVVRFKHosIG4sIGFyZ3MpIFwKKyAgICAgIHRlbXBsYXRlPCBcCisgICAgICAgICAgdGVtcGxhdGU8IEJPT1NUX1BQX0VOVU1fUEFSQU1TKEJPT1NUX1BQX0lOQyhuKSwgdHlwZW5hbWUgVikgPiBjbGFzcyBWIFwKKyAgICAgICA+IFwKKyAgICAgIHN0cnVjdCBCT09TVF9NUExfSEFTX01FTUJFUl9JTlRST1NQRUNUSU9OX1NVQlNUSVRVVEVfTkFNRShhcmdzLCBuKSB7IFwKKyAgICAgIH07IFwKKyAgICAvKiovCisKKyMgICBkZWZpbmUgQk9PU1RfTVBMX0hBU19NRU1CRVJfU1VCU1RJVFVURShhcmdzLCBzdWJzdGl0dXRlX21hY3JvKSBcCisgICAgICBCT09TVF9QUF9SRVBFQVQoIFwKKyAgICAgICAgICBCT09TVF9QUF9BUlJBWV9FTEVNKDIsIGFyZ3MpIFwKKyAgICAgICAgLCBCT09TVF9NUExfSEFTX01FTUJFUl9NVUxUSV9TVUJTVElUVVRFIFwKKyAgICAgICAgLCBhcmdzIFwKKyAgICAgICkgXAorICAgIC8qKi8KKworIyAgIGlmICFCT09TVF9NUExfSEFTX1hYWF9OT19FWFBMSUNJVF9URVNUX0ZVTkNUSU9OCisjICAgICBkZWZpbmUgQk9PU1RfTVBMX0hBU19NRU1CRVJfUkVKRUNUKGFyZ3MsIG1lbWJlcl9tYWNybykgXAorICAgICAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgViA+IFwKKyAgICAgICAgc3RhdGljIG5kbmJvb3N0OjptcGw6OmF1eDo6bm9fdGFnIFwKKyAgICAgICAgQk9PU1RfTVBMX0hBU19NRU1CRVJfSU5UUk9TUEVDVElPTl9URVNUX05BTUUoYXJncykoLi4uKTsgXAorICAgICAgLyoqLworIyAgIGVsc2UKKyMgICAgIGRlZmluZSBCT09TVF9NUExfSEFTX01FTUJFUl9SRUpFQ1QoYXJncywgbWVtYmVyX21hY3JvKSBcCisgICAgICAgIHN0YXRpYyBuZG5ib29zdDo6bXBsOjphdXg6Om5vX3RhZyBcCisgICAgICAgIEJPT1NUX01QTF9IQVNfTUVNQkVSX0lOVFJPU1BFQ1RJT05fVEVTVF9OQU1FKGFyZ3MpKC4uLik7IFwKKyAgICAgIC8qKi8KKyMgICBlbmRpZgorCisjICAgaWYgIUJPT1NUX01QTF9IQVNfWFhYX05PX1dSQVBQRURfVFlQRVMKKyMgICAgIGRlZmluZSBCT09TVF9NUExfSEFTX01FTUJFUl9NVUxUSV9BQ0NFUFQoeiwgbiwgYXJncykgXAorICAgICAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgViA+IFwKKyAgICAgICAgc3RhdGljIG5kbmJvb3N0OjptcGw6OmF1eDo6eWVzX3RhZyBcCisgICAgICAgIEJPT1NUX01QTF9IQVNfTUVNQkVSX0lOVFJPU1BFQ1RJT05fVEVTVF9OQU1FKGFyZ3MpKCBcCisgICAgICAgICAgICBuZG5ib29zdDo6bXBsOjphdXg6OnR5cGVfd3JhcHBlcjwgViA+IGNvbnN0IHZvbGF0aWxlKiBcCisgICAgICAgICAgLCBCT09TVF9NUExfSEFTX01FTUJFUl9JTlRST1NQRUNUSU9OX1NVQlNUSVRVVEVfTkFNRShhcmdzLCBuKSA8IFwKKyAgICAgICAgICAgICAgICBWOjp0ZW1wbGF0ZSBCT09TVF9QUF9BUlJBWV9FTEVNKDEsIGFyZ3MpIFwKKyAgICAgICAgICAgID4qID0gMCBcCisgICAgICAgICk7IFwKKyAgICAgIC8qKi8KKyMgICAgIGRlZmluZSBCT09TVF9NUExfSEFTX01FTUJFUl9BQ0NFUFQoYXJncywgbWVtYmVyX21hY3JvKSBcCisgICAgICAgIEJPT1NUX1BQX1JFUEVBVCggXAorICAgICAgICAgICAgQk9PU1RfUFBfQVJSQVlfRUxFTSgyLCBhcmdzKSBcCisgICAgICAgICAgLCBCT09TVF9NUExfSEFTX01FTUJFUl9NVUxUSV9BQ0NFUFQgXAorICAgICAgICAgICwgYXJncyBcCisgICAgICAgICkgXAorICAgICAgLyoqLworIyAgIGVsc2UKKyMgICAgIGRlZmluZSBCT09TVF9NUExfSEFTX01FTUJFUl9BQ0NFUFQoYXJncywgbWVtYmVyX21hY3JvKSBcCisgICAgICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWID4gXAorICAgICAgICBzdGF0aWMgbmRuYm9vc3Q6Om1wbDo6YXV4Ojp5ZXNfdGFnIFwKKyAgICAgICAgQk9PU1RfTVBMX0hBU19NRU1CRVJfSU5UUk9TUEVDVElPTl9URVNUX05BTUUoYXJncykoIFwKKyAgICAgICAgICAgIFYgY29uc3Qgdm9sYXRpbGUqIFwKKyAgICAgICAgICAsIG1lbWJlcl9tYWNybyhhcmdzLCBWLCBUKSogPSAwIFwKKyAgICAgICAgKTsgXAorICAgICAgLyoqLworIyAgIGVuZGlmCisKKyMgICBpZiAhQk9PU1RfTVBMX0hBU19YWFhfTk9fRVhQTElDSVRfVEVTVF9GVU5DVElPTgorIyAgICAgZGVmaW5lIEJPT1NUX01QTF9IQVNfTUVNQkVSX1RFU1QoYXJncykgXAorICAgICAgICAgIHNpemVvZihCT09TVF9NUExfSEFTX01FTUJFUl9JTlRST1NQRUNUSU9OX1RFU1RfTkFNRShhcmdzKTwgVSA+KDApKSBcCisgICAgICAgICAgICAgID09IHNpemVvZihuZG5ib29zdDo6bXBsOjphdXg6Onllc190YWcpIFwKKyAgICAgIC8qKi8KKyMgICBlbHNlCisjICAgICBpZiAhQk9PU1RfTVBMX0hBU19YWFhfTk9fV1JBUFBFRF9UWVBFUworIyAgICAgICBkZWZpbmUgQk9PU1RfTVBMX0hBU19NRU1CRVJfVEVTVChhcmdzKSBcCisgICAgICAgICAgc2l6ZW9mKCBcCisgICAgICAgICAgICAgIEJPT1NUX01QTF9IQVNfTUVNQkVSX0lOVFJPU1BFQ1RJT05fVEVTVF9OQU1FKGFyZ3MpKCBcCisgICAgICAgICAgICAgICAgICBzdGF0aWNfY2FzdDwgbmRuYm9vc3Q6Om1wbDo6YXV4Ojp0eXBlX3dyYXBwZXI8IFUgPiogPigwKSBcCisgICAgICAgICAgICAgICkgXAorICAgICAgICAgICkgPT0gc2l6ZW9mKG5kbmJvb3N0OjptcGw6OmF1eDo6eWVzX3RhZykgXAorICAgICAgICAvKiovCisjICAgICBlbHNlCisjICAgICAgIGRlZmluZSBCT09TVF9NUExfSEFTX01FTUJFUl9URVNUKGFyZ3MpIFwKKyAgICAgICAgICBzaXplb2YoIFwKKyAgICAgICAgICAgICAgQk9PU1RfTVBMX0hBU19NRU1CRVJfSU5UUk9TUEVDVElPTl9URVNUX05BTUUoYXJncykoIFwKKyAgICAgICAgICAgICAgICAgIHN0YXRpY19jYXN0PCBVKiA+KDApIFwKKyAgICAgICAgICAgICAgKSBcCisgICAgICAgICAgKSA9PSBzaXplb2YobmRuYm9vc3Q6Om1wbDo6YXV4Ojp5ZXNfdGFnKSBcCisgICAgICAgIC8qKi8KKyMgICAgIGVuZGlmCisjICAgZW5kaWYKKworIyAgIGRlZmluZSBCT09TVF9NUExfSEFTX01FTUJFUl9JTlRST1NQRUNUKCBcCisgICAgICAgICAgICAgICBhcmdzLCBzdWJzdGl0dXRlX21hY3JvLCBtZW1iZXJfbWFjcm8gXAorICAgICAgICAgICApIFwKKyAgICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBVID4gXAorICAgICAgc3RydWN0IEJPT1NUX01QTF9IQVNfTUVNQkVSX0lOVFJPU1BFQ1RJT05fTkFNRShhcmdzKSB7IFwKKyAgICAgICAgICBCT09TVF9NUExfSEFTX01FTUJFUl9TVUJTVElUVVRFKGFyZ3MsIHN1YnN0aXR1dGVfbWFjcm8pIFwKKyAgICAgICAgICBCT09TVF9NUExfSEFTX01FTUJFUl9SRUpFQ1QoYXJncywgbWVtYmVyX21hY3JvKSBcCisgICAgICAgICAgQk9PU1RfTVBMX0hBU19NRU1CRVJfQUNDRVBUKGFyZ3MsIG1lbWJlcl9tYWNybykgXAorICAgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVCggXAorICAgICAgICAgICAgICBib29sLCB2YWx1ZSA9IEJPT1NUX01QTF9IQVNfTUVNQkVSX1RFU1QoYXJncykgXAorICAgICAgICAgICk7IFwKKyAgICAgICAgICB0eXBlZGVmIG5kbmJvb3N0OjptcGw6OmJvb2xfPCB2YWx1ZSA+IHR5cGU7IFwKKyAgICAgIH07IFwKKyAgICAvKiovCisKKyMgICBkZWZpbmUgQk9PU1RfTVBMX0hBU19NRU1CRVJfSU1QTEVNRU5UQVRJT04oIFwKKyAgICAgICAgICAgICAgIGFyZ3MsIGludHJvc3BlY3RfbWFjcm8sIHN1YnN0aXR1dGVfbWFjcm8sIG1lbWJlcl9tYWNybyBcCisgICAgICAgICAgICkgXAorICAgICAgdGVtcGxhdGU8IFwKKyAgICAgICAgICB0eXBlbmFtZSBUIFwKKyAgICAgICAgLCB0eXBlbmFtZSBmYWxsYmFja18gXAorICAgICAgICAgICAgICA9IG5kbmJvb3N0OjptcGw6OmJvb2xfPCBCT09TVF9QUF9BUlJBWV9FTEVNKDMsIGFyZ3MpID4gXAorICAgICAgPiBcCisgICAgICBjbGFzcyBCT09TVF9QUF9BUlJBWV9FTEVNKDAsIGFyZ3MpIHsgXAorICAgICAgICAgIGludHJvc3BlY3RfbWFjcm8oYXJncywgc3Vic3RpdHV0ZV9tYWNybywgbWVtYmVyX21hY3JvKSBcCisgICAgICBwdWJsaWM6IFwKKyAgICAgICAgICBzdGF0aWMgY29uc3QgYm9vbCB2YWx1ZSBcCisgICAgICAgICAgICAgID0gQk9PU1RfTVBMX0hBU19NRU1CRVJfSU5UUk9TUEVDVElPTl9OQU1FKGFyZ3MpPCBUID46OnZhbHVlOyBcCisgICAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBCT09TVF9NUExfSEFTX01FTUJFUl9JTlRST1NQRUNUSU9OX05BTUUoYXJncyk8IFwKKyAgICAgICAgICAgICAgVCBcCisgICAgICAgICAgPjo6dHlwZSB0eXBlOyBcCisgICAgICB9OyBcCisgICAgLyoqLworCisvLyBCT09TVF9NUExfSEFTX01FTUJFUl9XSVRIX0ZVTkNUSU9OX1NGSU5BRSBleHBhbmRzIHRvIHRoZSBmdWxsCisvLyBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgZnVuY3Rpb24tYmFzZWQgbWV0YWZ1bmN0aW9uLiBDb21waWxlIHdpdGggLUUKKy8vIHRvIHNlZSB0aGUgcHJlcHJvY2Vzc29yIG91dHB1dCBmb3IgdGhpcyBtYWNyby4KKyMgICBkZWZpbmUgQk9PU1RfTVBMX0hBU19NRU1CRVJfV0lUSF9GVU5DVElPTl9TRklOQUUoIFwKKyAgICAgICAgICAgICAgIGFyZ3MsIHN1YnN0aXR1dGVfbWFjcm8sIG1lbWJlcl9tYWNybyBcCisgICAgICAgICAgICkgXAorICAgICAgQk9PU1RfTVBMX0hBU19NRU1CRVJfSU1QTEVNRU5UQVRJT04oIFwKKyAgICAgICAgICBhcmdzIFwKKyAgICAgICAgLCBCT09TVF9NUExfSEFTX01FTUJFUl9JTlRST1NQRUNUIFwKKyAgICAgICAgLCBzdWJzdGl0dXRlX21hY3JvIFwKKyAgICAgICAgLCBtZW1iZXJfbWFjcm8gXAorICAgICAgKSBcCisgICAgLyoqLworCisjICAgaWYgQk9PU1RfTVBMX0hBU19YWFhfTkVFRFNfVEVNUExBVEVfU0ZJTkFFCisKKyMgICAgIGlmICFkZWZpbmVkKEJPT1NUX01QTF9IQVNfWFhYX05FRURTX05BTUVTUEFDRV9MRVZFTF9TVUJTVElUVVRFKQorIyAgICAgICBpZiBCT09TVF9XT1JLQVJPVU5EKEJPT1NUX01TVkMsIDw9IDE0MDApCisjICAgICAgICAgZGVmaW5lIEJPT1NUX01QTF9IQVNfWFhYX05FRURTX05BTUVTUEFDRV9MRVZFTF9TVUJTVElUVVRFIDEKKyMgICAgICAgZW5kaWYKKyMgICAgIGVuZGlmCisKKyMgICAgIGlmICFCT09TVF9NUExfSEFTX1hYWF9ORUVEU19OQU1FU1BBQ0VfTEVWRUxfU1VCU1RJVFVURQorIyAgICAgICBkZWZpbmUgQk9PU1RfTVBMX0hBU19NRU1CRVJfSU5UUk9TUEVDVElPTl9TVUJTVElUVVRFX05BTUVfV0lUSF9URU1QTEFURV9TRklOQUUoIFwKKyAgICAgICAgICAgICAgICAgICBhcmdzLCBuIFwKKyAgICAgICAgICAgICAgICkgXAorICAgICAgICAgIEJPT1NUX01QTF9IQVNfTUVNQkVSX0lOVFJPU1BFQ1RJT05fU1VCU1RJVFVURV9OQU1FKGFyZ3MsIG4pIFwKKyAgICAgICAgLyoqLworIyAgICAgZWxzZQorIyAgICAgICBkZWZpbmUgQk9PU1RfTVBMX0hBU19NRU1CRVJfSU5UUk9TUEVDVElPTl9TVUJTVElUVVRFX05BTUVfV0lUSF9URU1QTEFURV9TRklOQUUoIFwKKyAgICAgICAgICAgICAgICAgICBhcmdzLCBuIFwKKyAgICAgICAgICAgICAgICkgXAorICAgICAgICAgIEJPT1NUX1BQX0NBVCggXAorICAgICAgICAgICAgICBib29zdF9tcGxfaGFzX3h4eF8gXAorICAgICAgICAgICAgLCBCT09TVF9NUExfSEFTX01FTUJFUl9JTlRST1NQRUNUSU9OX1NVQlNUSVRVVEVfTkFNRShhcmdzLCBuKSBcCisgICAgICAgICAgKSBcCisgICAgICAgIC8qKi8KKyMgICAgIGVuZGlmCisKKyMgICAgIGRlZmluZSBCT09TVF9NUExfSEFTX01FTUJFUl9JTlRST1NQRUNUSU9OX1NVQlNUSVRVVEVfVEFHX05BTUUoIFwKKyAgICAgICAgICAgICAgICAgYXJncyBcCisgICAgICAgICAgICAgKSBcCisgICAgICAgIEJPT1NUX1BQX0NBVCggXAorICAgICAgICAgICAgQk9PU1RfTVBMX0hBU19NRU1CRVJfSU5UUk9TUEVDVElPTl9TVUJTVElUVVRFX05BTUVfV0lUSF9URU1QTEFURV9TRklOQUUoIFwKKyAgICAgICAgICAgICAgICBhcmdzLCAwIFwKKyAgICAgICAgICAgICkgXAorICAgICAgICAgICwgX3RhZyBcCisgICAgICAgICkgXAorICAgICAgLyoqLworCisjICAgICBkZWZpbmUgQk9PU1RfTVBMX0hBU19NRU1CRVJfTVVMVElfU1VCU1RJVFVURV9XSVRIX1RFTVBMQVRFX1NGSU5BRSggXAorICAgICAgICAgICAgICAgICB6LCBuLCBhcmdzIFwKKyAgICAgICAgICAgICApIFwKKyAgICAgICAgdGVtcGxhdGU8IFwKKyAgICAgICAgICAgICB0ZW1wbGF0ZTwgQk9PU1RfUFBfRU5VTV9QQVJBTVMoQk9PU1RfUFBfSU5DKG4pLCB0eXBlbmFtZSBVKSA+IGNsYXNzIFUgXAorICAgICAgICA+IFwKKyAgICAgICAgc3RydWN0IEJPT1NUX01QTF9IQVNfTUVNQkVSX0lOVFJPU1BFQ1RJT05fU1VCU1RJVFVURV9OQU1FX1dJVEhfVEVNUExBVEVfU0ZJTkFFKCBcCisgICAgICAgICAgICAgICAgYXJncywgbiBcCisgICAgICAgICAgICAgICApIHsgXAorICAgICAgICAgICAgdHlwZWRlZiBcCisgICAgICAgICAgICAgICAgQk9PU1RfTVBMX0hBU19NRU1CRVJfSU5UUk9TUEVDVElPTl9TVUJTVElUVVRFX1RBR19OQU1FKGFyZ3MpIFwKKyAgICAgICAgICAgICAgICB0eXBlOyBcCisgICAgICAgIH07IFwKKyAgICAgIC8qKi8KKworIyAgICAgZGVmaW5lIEJPT1NUX01QTF9IQVNfTUVNQkVSX1NVQlNUSVRVVEVfV0lUSF9URU1QTEFURV9TRklOQUUoIFwKKyAgICAgICAgICAgICAgICAgYXJncywgc3Vic3RpdHV0ZV9tYWNybyBcCisgICAgICAgICAgICAgKSBcCisgICAgICAgIHR5cGVkZWYgdm9pZCBcCisgICAgICAgICAgICBCT09TVF9NUExfSEFTX01FTUJFUl9JTlRST1NQRUNUSU9OX1NVQlNUSVRVVEVfVEFHX05BTUUoYXJncyk7IFwKKyAgICAgICAgQk9PU1RfUFBfUkVQRUFUKCBcCisgICAgICAgICAgICBCT09TVF9QUF9BUlJBWV9FTEVNKDIsIGFyZ3MpIFwKKyAgICAgICAgICAsIEJPT1NUX01QTF9IQVNfTUVNQkVSX01VTFRJX1NVQlNUSVRVVEVfV0lUSF9URU1QTEFURV9TRklOQUUgXAorICAgICAgICAgICwgYXJncyBcCisgICAgICAgICkgXAorICAgICAgLyoqLworCisjICAgICBkZWZpbmUgQk9PU1RfTVBMX0hBU19NRU1CRVJfUkVKRUNUX1dJVEhfVEVNUExBVEVfU0ZJTkFFKCBcCisgICAgICAgICAgICAgICAgIGFyZ3MsIG1lbWJlcl9tYWNybyBcCisgICAgICAgICAgICAgKSBcCisgICAgICAgIHRlbXBsYXRlPCBcCisgICAgICAgICAgICB0eXBlbmFtZSBVIFwKKyAgICAgICAgICAsIHR5cGVuYW1lIFYgXAorICAgICAgICAgICAgICAgID0gQk9PU1RfTVBMX0hBU19NRU1CRVJfSU5UUk9TUEVDVElPTl9TVUJTVElUVVRFX1RBR19OQU1FKGFyZ3MpIFwKKyAgICAgICAgPiBcCisgICAgICAgIHN0cnVjdCBCT09TVF9NUExfSEFTX01FTUJFUl9JTlRST1NQRUNUSU9OX1RFU1RfTkFNRShhcmdzKSB7IFwKKyAgICAgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChib29sLCB2YWx1ZSA9IGZhbHNlKTsgXAorICAgICAgICAgICAgdHlwZWRlZiBuZG5ib29zdDo6bXBsOjpib29sXzwgdmFsdWUgPiB0eXBlOyBcCisgICAgICAgIH07IFwKKyAgICAgIC8qKi8KKworIyAgICAgZGVmaW5lIEJPT1NUX01QTF9IQVNfTUVNQkVSX01VTFRJX0FDQ0VQVF9XSVRIX1RFTVBMQVRFX1NGSU5BRSggXAorICAgICAgICAgICAgICAgICB6LCBuLCBhcmdzIFwKKyAgICAgICAgICAgICApIFwKKyAgICAgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFUgPiBcCisgICAgICAgIHN0cnVjdCBCT09TVF9NUExfSEFTX01FTUJFUl9JTlRST1NQRUNUSU9OX1RFU1RfTkFNRShhcmdzKTwgXAorICAgICAgICAgICAgVSBcCisgICAgICAgICAgLCB0eXBlbmFtZSBcCisgICAgICAgICAgICAgICAgQk9PU1RfTVBMX0hBU19NRU1CRVJfSU5UUk9TUEVDVElPTl9TVUJTVElUVVRFX05BTUVfV0lUSF9URU1QTEFURV9TRklOQUUoIFwKKyAgICAgICAgICAgICAgICAgICAgYXJncywgbiBcCisgICAgICAgICAgICAgICAgKTwgXAorICAgICAgICAgICAgICAgICAgICBCT09TVF9NU1ZDX1RZUEVOQU1FIFU6OkJPT1NUX1BQX0FSUkFZX0VMRU0oMSwgYXJncyk8ID4gXAorICAgICAgICAgICAgICAgID46OnR5cGUgXAorICAgICAgICA+IHsgXAorICAgICAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGJvb2wsIHZhbHVlID0gdHJ1ZSk7IFwKKyAgICAgICAgICAgIHR5cGVkZWYgbmRuYm9vc3Q6Om1wbDo6Ym9vbF88IHZhbHVlID4gdHlwZTsgXAorICAgICAgICB9OyBcCisgICAgICAvKiovCisKKyMgICAgIGRlZmluZSBCT09TVF9NUExfSEFTX01FTUJFUl9BQ0NFUFRfV0lUSF9URU1QTEFURV9TRklOQUUoIFwKKyAgICAgICAgICAgICAgICAgYXJncywgbWVtYmVyX21hY3JvIFwKKyAgICAgICAgICAgICApIFwKKyAgICAgICAgQk9PU1RfUFBfUkVQRUFUKCBcCisgICAgICAgICAgICBCT09TVF9QUF9BUlJBWV9FTEVNKDIsIGFyZ3MpIFwKKyAgICAgICAgICAsIEJPT1NUX01QTF9IQVNfTUVNQkVSX01VTFRJX0FDQ0VQVF9XSVRIX1RFTVBMQVRFX1NGSU5BRSBcCisgICAgICAgICAgLCBhcmdzIFwKKyAgICAgICAgKSBcCisgICAgICAvKiovCisKKyMgICAgIGRlZmluZSBCT09TVF9NUExfSEFTX01FTUJFUl9JTlRST1NQRUNUX1dJVEhfVEVNUExBVEVfU0ZJTkFFKCBcCisgICAgICAgICAgICAgICAgIGFyZ3MsIHN1YnN0aXR1dGVfbWFjcm8sIG1lbWJlcl9tYWNybyBcCisgICAgICAgICAgICAgKSBcCisgICAgICAgIEJPT1NUX01QTF9IQVNfTUVNQkVSX1JFSkVDVF9XSVRIX1RFTVBMQVRFX1NGSU5BRShhcmdzLCBtZW1iZXJfbWFjcm8pIFwKKyAgICAgICAgQk9PU1RfTVBMX0hBU19NRU1CRVJfQUNDRVBUX1dJVEhfVEVNUExBVEVfU0ZJTkFFKGFyZ3MsIG1lbWJlcl9tYWNybykgXAorICAgICAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVSA+IFwKKyAgICAgICAgc3RydWN0IEJPT1NUX01QTF9IQVNfTUVNQkVSX0lOVFJPU1BFQ1RJT05fTkFNRShhcmdzKSBcCisgICAgICAgICAgICA6IEJPT1NUX01QTF9IQVNfTUVNQkVSX0lOVFJPU1BFQ1RJT05fVEVTVF9OQU1FKGFyZ3MpPCBVID4geyBcCisgICAgICAgIH07IFwKKyAgICAgIC8qKi8KKyAKKy8vIEJPT1NUX01QTF9IQVNfTUVNQkVSX1dJVEhfVEVNUExBVEVfU0ZJTkFFIGV4cGFuZHMgdG8gdGhlIGZ1bGwKKy8vIGltcGxlbWVudGF0aW9uIG9mIHRoZSB0ZW1wbGF0ZS1iYXNlZCBtZXRhZnVuY3Rpb24uIENvbXBpbGUgd2l0aCAtRQorLy8gdG8gc2VlIHRoZSBwcmVwcm9jZXNzb3Igb3V0cHV0IGZvciB0aGlzIG1hY3JvLgorLy8KKy8vIE5vdGUgdGhhdCBpZiBCT09TVF9NUExfSEFTX1hYWF9ORUVEU19OQU1FU1BBQ0VfTEVWRUxfU1VCU1RJVFVURSBpcworLy8gZGVmaW5lZCBCT09TVF9NUExfSEFTX01FTUJFUl9TVUJTVElUVVRFX1dJVEhfVEVNUExBVEVfU0ZJTkFFIG5lZWRzCisvLyB0byBiZSBleHBhbmRlZCBhdCBuYW1lc3BhY2UgbGV2ZWwgYmVmb3JlCisvLyBCT09TVF9NUExfSEFTX01FTUJFUl9XSVRIX1RFTVBMQVRFX1NGSU5BRSBjYW4gYmUgdXNlZC4KKyMgICAgIGRlZmluZSBCT09TVF9NUExfSEFTX01FTUJFUl9XSVRIX1RFTVBMQVRFX1NGSU5BRSggXAorICAgICAgICAgICAgICAgICBhcmdzLCBzdWJzdGl0dXRlX21hY3JvLCBtZW1iZXJfbWFjcm8gXAorICAgICAgICAgICAgICkgXAorICAgICAgICBCT09TVF9NUExfSEFTX01FTUJFUl9TVUJTVElUVVRFX1dJVEhfVEVNUExBVEVfU0ZJTkFFKCBcCisgICAgICAgICAgICBhcmdzLCBzdWJzdGl0dXRlX21hY3JvIFwKKyAgICAgICAgKSBcCisgICAgICAgIEJPT1NUX01QTF9IQVNfTUVNQkVSX0lNUExFTUVOVEFUSU9OKCBcCisgICAgICAgICAgICBhcmdzIFwKKyAgICAgICAgICAsIEJPT1NUX01QTF9IQVNfTUVNQkVSX0lOVFJPU1BFQ1RfV0lUSF9URU1QTEFURV9TRklOQUUgXAorICAgICAgICAgICwgc3Vic3RpdHV0ZV9tYWNybyBcCisgICAgICAgICAgLCBtZW1iZXJfbWFjcm8gXAorICAgICAgICApIFwKKyAgICAgIC8qKi8KKworIyAgIGVuZGlmIC8vIEJPT1NUX01QTF9IQVNfWFhYX05FRURTX1RFTVBMQVRFX1NGSU5BRQorCisvLyBOb3RlOiBJbiB0aGUgY3VycmVudCBpbXBsZW1lbnRhdGlvbiB0aGUgcGFyYW1ldGVyIGFuZCBhY2Nlc3MgbWFjcm9zCisvLyBhcmUgbm8gbG9uZ2VyIGV4cGFuZGVkLgorIyAgIGlmICFCT09TVF9XT1JLQVJPVU5EKEJPT1NUX01TVkMsIDw9IDE0MDApCisjICAgICBkZWZpbmUgQk9PU1RfTVBMX0hBU19YWFhfVEVNUExBVEVfTkFNRURfREVGKHRyYWl0LCBuYW1lLCBkZWZhdWx0XykgXAorICAgICAgICBCT09TVF9NUExfSEFTX01FTUJFUl9XSVRIX0ZVTkNUSU9OX1NGSU5BRSggXAorICAgICAgICAgICAgKCA0LCAoIHRyYWl0LCBuYW1lLCBCT09TVF9NUExfTElNSVRfTUVUQUZVTkNUSU9OX0FSSVRZLCBkZWZhdWx0XyApICkgXAorICAgICAgICAgICwgQk9PU1RfTVBMX0hBU19NRU1CRVJfVEVNUExBVEVfU1VCU1RJVFVURV9QQVJBTUVURVIgXAorICAgICAgICAgICwgQk9PU1RfTVBMX0hBU19NRU1CRVJfVEVNUExBVEVfQUNDRVNTIFwKKyAgICAgICAgKSBcCisgICAgICAvKiovCisjICAgZWxzZQorIyAgICAgZGVmaW5lIEJPT1NUX01QTF9IQVNfWFhYX1RFTVBMQVRFX05BTUVEX0RFRih0cmFpdCwgbmFtZSwgZGVmYXVsdF8pIFwKKyAgICAgICAgQk9PU1RfTVBMX0hBU19NRU1CRVJfV0lUSF9URU1QTEFURV9TRklOQUUoIFwKKyAgICAgICAgICAgICggNCwgKCB0cmFpdCwgbmFtZSwgQk9PU1RfTVBMX0xJTUlUX01FVEFGVU5DVElPTl9BUklUWSwgZGVmYXVsdF8gKSApIFwKKyAgICAgICAgICAsIEJPT1NUX01QTF9IQVNfTUVNQkVSX1RFTVBMQVRFX1NVQlNUSVRVVEVfUEFSQU1FVEVSIFwKKyAgICAgICAgICAsIEJPT1NUX01QTF9IQVNfTUVNQkVSX1RFTVBMQVRFX0FDQ0VTUyBcCisgICAgICAgICkgXAorICAgICAgLyoqLworIyAgIGVuZGlmCisKKyNlbHNlIC8vIEJPT1NUX01QTF9DRkdfTk9fSEFTX1hYWF9URU1QTEFURQorCisvLyBwbGFjZWhvbGRlciBpbXBsZW1lbnRhdGlvbgorCisjICAgZGVmaW5lIEJPT1NUX01QTF9IQVNfWFhYX1RFTVBMQVRFX05BTUVEX0RFRih0cmFpdCwgbmFtZSwgZGVmYXVsdF8pIFwKKyAgICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBUIFwKKyAgICAgICAgICAgICAgLCB0eXBlbmFtZSBmYWxsYmFja18gPSBuZG5ib29zdDo6bXBsOjpib29sXzwgZGVmYXVsdF8gPiA+IFwKKyAgICAgIHN0cnVjdCB0cmFpdCB7IFwKKyAgICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoYm9vbCwgdmFsdWUgPSBmYWxsYmFja186OnZhbHVlKTsgXAorICAgICAgICAgIHR5cGVkZWYgZmFsbGJhY2tfIHR5cGU7IFwKKyAgICAgIH07IFwKKyAgICAvKiovCisKKyNlbmRpZiAvLyBCT09TVF9NUExfQ0ZHX05PX0hBU19YWFhfVEVNUExBVEUKKworIyAgIGRlZmluZSBCT09TVF9NUExfSEFTX1hYWF9URU1QTEFURV9ERUYobmFtZSkgXAorICAgICAgQk9PU1RfTVBMX0hBU19YWFhfVEVNUExBVEVfTkFNRURfREVGKCBcCisgICAgICAgICAgQk9PU1RfUFBfQ0FUKGhhc18sIG5hbWUpLCBuYW1lLCBmYWxzZSBcCisgICAgICApIFwKKyAgICAvKiovCisKKyNlbmRpZiAvLyBCT09TVF9NUExfSEFTX1hYWF9IUFBfSU5DTFVERUQKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9pZGVudGl0eS5ocHAgYi9uZG5ib29zdC9tcGwvaWRlbnRpdHkuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg4MzkxZGYKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvaWRlbnRpdHkuaHBwCkBAIC0wLDAgKzEsNDUgQEAKKworI2lmbmRlZiBCT09TVF9NUExfSURFTlRJVFlfSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX01QTF9JREVOVElUWV9IUFBfSU5DTFVERUQKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworLy8gU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL2xpYnMvbXBsIGZvciBkb2N1bWVudGF0aW9uLgorCisvLyAkSWQ6IGlkZW50aXR5LmhwcCA0OTI2NyAyMDA4LTEwLTExIDA2OjE5OjAyWiBhZ3VydG92b3kgJAorLy8gJERhdGU6IDIwMDgtMTAtMTAgMjM6MTk6MDIgLTA3MDAgKEZyaSwgMTAgT2N0IDIwMDgpICQKKy8vICRSZXZpc2lvbjogNDkyNjcgJAorCisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vbmFfc3BlYy5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vbGFtYmRhX3N1cHBvcnQuaHBwPgorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKFQpCisgICAgPgorc3RydWN0IGlkZW50aXR5Cit7CisgICAgdHlwZWRlZiBUIHR5cGU7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgxLCBpZGVudGl0eSwgKFQpKQorfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKFQpCisgICAgPgorc3RydWN0IG1ha2VfaWRlbnRpdHkKK3sKKyAgICB0eXBlZGVmIGlkZW50aXR5PFQ+IHR5cGU7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgxLCBtYWtlX2lkZW50aXR5LCAoVCkpCit9OworCitCT09TVF9NUExfQVVYX05BX1NQRUNfTk9fRVRJKDEsIGlkZW50aXR5KQorQk9PU1RfTVBMX0FVWF9OQV9TUEVDX05PX0VUSSgxLCBtYWtlX2lkZW50aXR5KQorCit9fQorCisjZW5kaWYgLy8gQk9PU1RfTVBMX0lERU5USVRZX0hQUF9JTkNMVURFRApkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2luc2VydGVyLmhwcCBiL25kbmJvb3N0L21wbC9pbnNlcnRlci5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTdhNTRiYQotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9pbnNlcnRlci5ocHAKQEAgLTAsMCArMSwzMiBAQAorCisjaWZuZGVmIEJPT1NUX01QTF9JTlNFUlRFUl9IUFBfSU5DTFVERUQKKyNkZWZpbmUgQk9PU1RfTVBMX0lOU0VSVEVSX0hQUF9JTkNMVURFRAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAzLTIwMDQKKy8vIENvcHlyaWdodCBEYXZpZCBBYnJhaGFtcyAyMDAzLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisvLyBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvbGlicy9tcGwgZm9yIGRvY3VtZW50YXRpb24uCisKKy8vICRJZDogaW5zZXJ0ZXIuaHBwIDQ5MjY3IDIwMDgtMTAtMTEgMDY6MTk6MDJaIGFndXJ0b3ZveSAkCisvLyAkRGF0ZTogMjAwOC0xMC0xMCAyMzoxOTowMiAtMDcwMCAoRnJpLCAxMCBPY3QgMjAwOCkgJAorLy8gJFJldmlzaW9uOiA0OTI2NyAkCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFNlcXVlbmNlCisgICAgLCB0eXBlbmFtZSBPcGVyYXRpb24KKyAgICA+CitzdHJ1Y3QgaW5zZXJ0ZXIKK3sKKyAgICB0eXBlZGVmIFNlcXVlbmNlICAgIHN0YXRlOworICAgIHR5cGVkZWYgT3BlcmF0aW9uICAgb3BlcmF0aW9uOworfTsKKworfX0KKworI2VuZGlmIC8vIEJPT1NUX01QTF9JTlNFUlRFUl9IUFBfSU5DTFVERUQKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9pc19wbGFjZWhvbGRlci5ocHAgYi9uZG5ib29zdC9tcGwvaXNfcGxhY2Vob2xkZXIuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBlMjk4OTEKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvaXNfcGxhY2Vob2xkZXIuaHBwCkBAIC0wLDAgKzEsNjcgQEAKKworI2lmbmRlZiBCT09TVF9NUExfSVNfUExBQ0VIT0xERVJfSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX01QTF9JU19QTEFDRUhPTERFUl9IUFBfSU5DTFVERUQKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMS0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworLy8gU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL2xpYnMvbXBsIGZvciBkb2N1bWVudGF0aW9uLgorCisvLyAkSWQ6IGlzX3BsYWNlaG9sZGVyLmhwcCA0OTI2NyAyMDA4LTEwLTExIDA2OjE5OjAyWiBhZ3VydG92b3kgJAorLy8gJERhdGU6IDIwMDgtMTAtMTAgMjM6MTk6MDIgLTA3MDAgKEZyaSwgMTAgT2N0IDIwMDgpICQKKy8vICRSZXZpc2lvbjogNDkyNjcgJAorCisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2FyZ19md2QuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9ib29sLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy95ZXNfbm8uaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL3R5cGVfd3JhcHBlci5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vbnR0cF9kZWNsLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9jb25maWcvY3Rwcy5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vY29uZmlnL3N0YXRpY19jb25zdGFudC5ocHA+CisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCisjaWYgIWRlZmluZWQoQk9PU1RfTk9fVEVNUExBVEVfUEFSVElBTF9TUEVDSUFMSVpBVElPTikKKwordGVtcGxhdGU8IHR5cGVuYW1lIFQgPgorc3RydWN0IGlzX3BsYWNlaG9sZGVyCisgICAgOiBib29sXzxmYWxzZT4KK3sKK307CisKK3RlbXBsYXRlPCBCT09TVF9NUExfQVVYX05UVFBfREVDTChpbnQsIE4pID4KK3N0cnVjdCBpc19wbGFjZWhvbGRlcjwgYXJnPE4+ID4KKyAgICA6IGJvb2xfPHRydWU+Cit7Cit9OworCisjZWxzZQorCituYW1lc3BhY2UgYXV4IHsKKworYXV4Ojpub190YWcgaXNfcGxhY2Vob2xkZXJfaGVscGVyKC4uLik7CisKK3RlbXBsYXRlPCBCT09TVF9NUExfQVVYX05UVFBfREVDTChpbnQsIE4pID4KK2F1eDo6eWVzX3RhZyBpc19wbGFjZWhvbGRlcl9oZWxwZXIoYXV4Ojp0eXBlX3dyYXBwZXI8IGFyZzxOPiA+Kik7CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVCA+CitzdHJ1Y3QgaXNfcGxhY2Vob2xkZXIKK3sKKyAgICBzdGF0aWMgYXV4Ojp0eXBlX3dyYXBwZXI8VD4qIGdldCgpOworICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChib29sLCB2YWx1ZSA9IAorICAgICAgICAgIHNpemVvZihhdXg6OmlzX3BsYWNlaG9sZGVyX2hlbHBlcihnZXQoKSkpID09IHNpemVvZihhdXg6Onllc190YWcpCisgICAgICAgICk7CisgICAgCisgICAgdHlwZWRlZiBib29sXzx2YWx1ZT4gdHlwZTsKK307CisKKyNlbmRpZiAvLyBCT09TVF9OT19URU1QTEFURV9QQVJUSUFMX1NQRUNJQUxJWkFUSU9OCisKK319CisKKyNlbmRpZiAvLyBCT09TVF9NUExfSVNfUExBQ0VIT0xERVJfSFBQX0lOQ0xVREVECmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvaXNfc2VxdWVuY2UuaHBwIGIvbmRuYm9vc3QvbXBsL2lzX3NlcXVlbmNlLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMTkyZGE2Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2lzX3NlcXVlbmNlLmhwcApAQCAtMCwwICsxLDExMiBAQAorCisjaWZuZGVmIEJPT1NUX01QTF9JU19TRVFVRU5DRV9IUFBfSU5DTFVERUQKKyNkZWZpbmUgQk9PU1RfTVBMX0lTX1NFUVVFTkNFX0hQUF9JTkNMVURFRAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAyLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisvLyBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvbGlicy9tcGwgZm9yIGRvY3VtZW50YXRpb24uCisKKy8vICRJZDogaXNfc2VxdWVuY2UuaHBwIDQ5MjY3IDIwMDgtMTAtMTEgMDY6MTk6MDJaIGFndXJ0b3ZveSAkCisvLyAkRGF0ZTogMjAwOC0xMC0xMCAyMzoxOTowMiAtMDcwMCAoRnJpLCAxMCBPY3QgMjAwOCkgJAorLy8gJFJldmlzaW9uOiA0OTI2NyAkCisKKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvbm90LmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYW5kLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYmVnaW5fZW5kLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvaWYuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9ib29sLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvc2VxdWVuY2VfdGFnX2Z3ZC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2lkZW50aXR5LmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvdm9pZC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vaGFzX3RhZy5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vaGFzX2JlZ2luLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9uYV9zcGVjLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9sYW1iZGFfc3VwcG9ydC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vY29uZmlnL2V0aS5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vY29uZmlnL21zdmMuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2NvbmZpZy93b3JrYXJvdW5kLmhwcD4KKyNpZiBCT09TVF9XT1JLQVJPVU5EKEJPT1NUX01TVkMsIDwgMTMwMCkKKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9tc3ZjX2lzX2NsYXNzLmhwcD4KKyNlbGlmIEJPT1NUX1dPUktBUk9VTkQoQk9PU1RfTVNWQywgPT0gMTMwMCkKKyMgICBpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9pc19jbGFzcy5ocHA+CisjZW5kaWYKKworI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2lzX3NhbWUuaHBwPgorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKworI2lmIEJPT1NUX1dPUktBUk9VTkQoQk9PU1RfTVNWQywgPD0gMTMwMCkKKworbmFtZXNwYWNlIGF1eCB7CisKKy8vIGFndXJ0LCAxMS9qdW4vMDM6IAorLy8gTVNWQyA2LjUvNy4wIGZhaWxzIGlmICdoYXNfYmVnaW4nIGlzIGluc3RhbnRpYXRlZCBvbiBhIGNsYXNzIHR5cGUgdGhhdCBoYXMgYQorLy8gJ2JlZ2luJyBtZW1iZXIgdGhhdCBkb2Vzbid0IG5hbWUgYSB0eXBlOyBlLmcuICdoYXNfYmVnaW48IHN0ZDo6dmVjdG9yPGludD4gPicKKy8vIHdvdWxkIGZhaWw7IHJlcXVpcmluZyAnVCcgdG8gaGF2ZSBfYm90aF8gJ3RhZycgYW5kICdiZWdpbicgbWVtYmVycyB3b3JrYXJvdW5kcworLy8gdGhlIGlzc3VlIGZvciBtb3N0IHJlYWwtd29ybGQgY2FzZXMKK3RlbXBsYXRlPCB0eXBlbmFtZSBUID4gc3RydWN0IGlzX3NlcXVlbmNlX2ltcGwKKyAgICA6IGFuZF88CisgICAgICAgICAgaWRlbnRpdHk8IGF1eDo6aGFzX3RhZzxUPiA+CisgICAgICAgICwgaWRlbnRpdHk8IGF1eDo6aGFzX2JlZ2luPFQ+ID4KKyAgICAgICAgPgoreworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisgICAgICAgIAordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKFQpCisgICAgPgorc3RydWN0IGlzX3NlcXVlbmNlCisgICAgOiBpZl88CisjaWYgQk9PU1RfV09SS0FST1VORChCT09TVF9NU1ZDLCA8IDEzMDApCisgICAgICAgICAgYXV4Ojptc3ZjX2lzX2NsYXNzPFQ+IAorI2Vsc2UKKyAgICAgICAgICBuZG5ib29zdDo6aXNfY2xhc3M8VD4gCisjZW5kaWYKKyAgICAgICAgLCBhdXg6OmlzX3NlcXVlbmNlX2ltcGw8VD4KKyAgICAgICAgLCBib29sXzxmYWxzZT4KKyAgICAgICAgPjo6dHlwZQoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoMSwgaXNfc2VxdWVuY2UsIChUKSkKK307CisKKyNlbGlmIGRlZmluZWQoQk9PU1RfTVBMX0NGR19OT19IQVNfWFhYKQorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oVCkKKyAgICA+CitzdHJ1Y3QgaXNfc2VxdWVuY2UKKyAgICA6IGJvb2xfPGZhbHNlPgoreworfTsKKworI2Vsc2UKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKFQpCisgICAgPgorc3RydWN0IGlzX3NlcXVlbmNlCisgICAgOiBub3RfPCBpc19zYW1lPCB0eXBlbmFtZSBiZWdpbjxUPjo6dHlwZSwgdm9pZF8gPiA+Cit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgxLCBpc19zZXF1ZW5jZSwgKFQpKQorfTsKKworI2VuZGlmIC8vIEJPT1NUX01TVkMKKworI2lmIGRlZmluZWQoQk9PU1RfTVBMX0NGR19NU1ZDXzYwX0VUSV9CVUcpCit0ZW1wbGF0ZTw+IHN0cnVjdCBpc19zZXF1ZW5jZTxpbnQ+CisgICAgOiBib29sXzxmYWxzZT4KK3sKK307CisjZW5kaWYKKworQk9PU1RfTVBMX0FVWF9OQV9TUEVDX05PX0VUSSgxLCBpc19zZXF1ZW5jZSkKKworfX0KKworI2VuZGlmIC8vIEJPT1NUX01QTF9JU19TRVFVRU5DRV9IUFBfSU5DTFVERUQKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9pdGVyX2ZvbGQuaHBwIGIvbmRuYm9vc3QvbXBsL2l0ZXJfZm9sZC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGRiYWE2ZAotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9pdGVyX2ZvbGQuaHBwCkBAIC0wLDAgKzEsNDkgQEAKKworI2lmbmRlZiBCT09TVF9NUExfSVRFUl9GT0xEX0hQUF9JTkNMVURFRAorI2RlZmluZSBCT09TVF9NUExfSVRFUl9GT0xEX0hQUF9JTkNMVURFRAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAxLTIwMDQKKy8vIENvcHlyaWdodCBEYXZpZCBBYnJhaGFtcyAyMDAxLTIwMDIKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisvLyBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvbGlicy9tcGwgZm9yIGRvY3VtZW50YXRpb24uCisKKy8vICRJZDogaXRlcl9mb2xkLmhwcCA0OTI2NyAyMDA4LTEwLTExIDA2OjE5OjAyWiBhZ3VydG92b3kgJAorLy8gJERhdGU6IDIwMDgtMTAtMTAgMjM6MTk6MDIgLTA3MDAgKEZyaSwgMTAgT2N0IDIwMDgpICQKKy8vICRSZXZpc2lvbjogNDkyNjcgJAorCisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2JlZ2luX2VuZC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL08xX3NpemUuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9sYW1iZGEuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2l0ZXJfZm9sZF9pbXBsLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9uYV9zcGVjLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9sYW1iZGFfc3VwcG9ydC5ocHA+CisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oU2VxdWVuY2UpCisgICAgLCB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKFN0YXRlKQorICAgICwgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShGb3J3YXJkT3ApCisgICAgPgorc3RydWN0IGl0ZXJfZm9sZAoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgYXV4OjppdGVyX2ZvbGRfaW1wbDwKKyAgICAgICAgICA6Om5kbmJvb3N0OjptcGw6Ok8xX3NpemU8U2VxdWVuY2U+Ojp2YWx1ZQorICAgICAgICAsIHR5cGVuYW1lIGJlZ2luPFNlcXVlbmNlPjo6dHlwZQorICAgICAgICAsIHR5cGVuYW1lIGVuZDxTZXF1ZW5jZT46OnR5cGUKKyAgICAgICAgLCBTdGF0ZQorICAgICAgICAsIHR5cGVuYW1lIGxhbWJkYTxGb3J3YXJkT3A+Ojp0eXBlCisgICAgICAgID46OnN0YXRlIHR5cGU7CisKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKDMsaXRlcl9mb2xkLChTZXF1ZW5jZSxTdGF0ZSxGb3J3YXJkT3ApKQorfTsKKworQk9PU1RfTVBMX0FVWF9OQV9TUEVDKDMsIGl0ZXJfZm9sZCkKKworfX0KKworI2VuZGlmIC8vIEJPT1NUX01QTF9JVEVSX0ZPTERfSFBQX0lOQ0xVREVECmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvaXRlcl9mb2xkX2lmLmhwcCBiL25kbmJvb3N0L21wbC9pdGVyX2ZvbGRfaWYuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMzNzM1NzkKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvaXRlcl9mb2xkX2lmLmhwcApAQCAtMCwwICsxLDExNyBAQAorCisjaWZuZGVmIEJPT1NUX01QTF9JVEVSX0ZPTERfSUZfSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX01QTF9JVEVSX0ZPTERfSUZfSFBQX0lOQ0xVREVECisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDMtMjAwNAorLy8gQ29weXJpZ2h0IEVyaWMgRnJpZWRtYW4gMjAwMworLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKy8vIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL21wbCBmb3IgZG9jdW1lbnRhdGlvbi4KKworLy8gJElkOiBpdGVyX2ZvbGRfaWYuaHBwIDQ5MjY3IDIwMDgtMTAtMTEgMDY6MTk6MDJaIGFndXJ0b3ZveSAkCisvLyAkRGF0ZTogMjAwOC0xMC0xMCAyMzoxOTowMiAtMDcwMCAoRnJpLCAxMCBPY3QgMjAwOCkgJAorLy8gJFJldmlzaW9uOiA0OTI2NyAkCisKKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYmVnaW5fZW5kLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvbG9naWNhbC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2Fsd2F5cy5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2V2YWxfaWYuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9pZi5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL3BhaXIuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hcHBseS5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vaXRlcl9mb2xkX2lmX2ltcGwuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL25hX3NwZWMuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2xhbWJkYV9zdXBwb3J0LmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9jb25maWcvZm9yd2FyZGluZy5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vY29uZmlnL3dvcmthcm91bmQuaHBwPgorCisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvaXNfc2FtZS5ocHA+CisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFByZWRpY2F0ZSwgdHlwZW5hbWUgTGFzdEl0ZXJhdG9yID4KK3N0cnVjdCBpdGVyX2ZvbGRfaWZfcHJlZAoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBTdGF0ZSwgdHlwZW5hbWUgSXRlcmF0b3IgPiBzdHJ1Y3QgYXBwbHkKKyNpZiAhZGVmaW5lZChCT09TVF9NUExfQ0ZHX05PX05FU1RFRF9GT1JXQVJESU5HKQorICAgICAgICA6IGFuZF88CisgICAgICAgICAgICAgIG5vdF88IGlzX3NhbWU8SXRlcmF0b3IsTGFzdEl0ZXJhdG9yPiA+CisgICAgICAgICAgICAsIGFwcGx5MTxQcmVkaWNhdGUsSXRlcmF0b3I+CisgICAgICAgICAgICA+CisgICAgeworI2Vsc2UKKyAgICB7CisgICAgICAgIHR5cGVkZWYgYW5kXzwKKyAgICAgICAgICAgICAgbm90XzwgaXNfc2FtZTxJdGVyYXRvcixMYXN0SXRlcmF0b3I+ID4KKyAgICAgICAgICAgICwgYXBwbHkxPFByZWRpY2F0ZSxJdGVyYXRvcj4KKyAgICAgICAgICAgID4gdHlwZTsKKyNlbmRpZgorICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKFNlcXVlbmNlKQorICAgICwgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShTdGF0ZSkKKyAgICAsIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oRm9yd2FyZE9wKQorICAgICwgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShGb3J3YXJkUHJlZGljYXRlKQorICAgICwgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShCYWNrd2FyZE9wKQorICAgICwgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShCYWNrd2FyZFByZWRpY2F0ZSkKKyAgICA+CitzdHJ1Y3QgaXRlcl9mb2xkX2lmCit7CisKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGJlZ2luPFNlcXVlbmNlPjo6dHlwZSBmaXJzdF87CisgICAgdHlwZWRlZiB0eXBlbmFtZSBlbmQ8U2VxdWVuY2U+Ojp0eXBlIGxhc3RfOworCisgICAgdHlwZWRlZiB0eXBlbmFtZSBldmFsX2lmPAorICAgICAgICAgIGlzX25hPEJhY2t3YXJkUHJlZGljYXRlPgorICAgICAgICAsIGlmXzwgaXNfbmE8QmFja3dhcmRPcD4sIGFsd2F5czxmYWxzZV8+LCBhbHdheXM8dHJ1ZV8+ID4KKyAgICAgICAgLCBpZGVudGl0eTxCYWNrd2FyZFByZWRpY2F0ZT4KKyAgICAgICAgPjo6dHlwZSBiYWNrd2FyZF9wcmVkXzsKKworLy8gY3dwcm84IGRvZXNuJ3QgbGlrZSAnY3V0LW9mZicgdHlwZSBoZXJlICh1c2UgdHlwZWRlZiBpbnN0ZWFkKQorI2lmICFCT09TVF9XT1JLQVJPVU5EKF9fTVdFUktTX18sIEJPT1NUX1RFU1RFRF9BVCgweDMwMDMpKSAmJiAhQk9PU1RfV09SS0FST1VORChfX0lCTUNQUF9fLCBCT09TVF9URVNURURfQVQoNjAwKSkKKyAgICBzdHJ1Y3QgcmVzdWx0XyA6CisjZWxzZQorICAgIHR5cGVkZWYKKyNlbmRpZgorICAgICAgICBhdXg6Oml0ZXJfZm9sZF9pZl9pbXBsPAorICAgICAgICAgIGZpcnN0XworICAgICAgICAsIFN0YXRlCisgICAgICAgICwgRm9yd2FyZE9wCisgICAgICAgICwgcHJvdGVjdDwgYXV4OjppdGVyX2ZvbGRfaWZfcHJlZDwgRm9yd2FyZFByZWRpY2F0ZSxsYXN0XyA+ID4KKyAgICAgICAgLCBCYWNrd2FyZE9wCisgICAgICAgICwgYmFja3dhcmRfcHJlZF8KKyAgICAgICAgPgorI2lmICFCT09TVF9XT1JLQVJPVU5EKF9fTVdFUktTX18sIEJPT1NUX1RFU1RFRF9BVCgweDMwMDMpKSAmJiAhQk9PU1RfV09SS0FST1VORChfX0lCTUNQUF9fLCBCT09TVF9URVNURURfQVQoNjAwKSkKKyAgICB7IH07CisjZWxzZQorICAgIHJlc3VsdF87CisjZW5kaWYKKworcHVibGljOgorCisgICAgdHlwZWRlZiBwYWlyPAorICAgICAgICAgIHR5cGVuYW1lIHJlc3VsdF86OnN0YXRlCisgICAgICAgICwgdHlwZW5hbWUgcmVzdWx0Xzo6aXRlcmF0b3IKKyAgICAgICAgPiB0eXBlOworCisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgKKyAgICAgICAgICA2CisgICAgICAgICwgaXRlcl9mb2xkX2lmCisgICAgICAgICwgKFNlcXVlbmNlLFN0YXRlLEZvcndhcmRPcCxGb3J3YXJkUHJlZGljYXRlLEJhY2t3YXJkT3AsQmFja3dhcmRQcmVkaWNhdGUpCisgICAgICAgICkKK307CisKK0JPT1NUX01QTF9BVVhfTkFfU1BFQyg2LCBpdGVyX2ZvbGRfaWYpCisKK319CisKKyNlbmRpZiAvLyBCT09TVF9NUExfSVRFUl9GT0xEX0lGX0hQUF9JTkNMVURFRApkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2l0ZXJhdG9yX3JhbmdlLmhwcCBiL25kbmJvb3N0L21wbC9pdGVyYXRvcl9yYW5nZS5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTA2ZGRkMwotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9pdGVyYXRvcl9yYW5nZS5ocHAKQEAgLTAsMCArMSw0MiBAQAorCisjaWZuZGVmIEJPT1NUX01QTF9JVEVSQVRPUl9SQU5HRV9IUFBfSU5DTFVERUQKKyNkZWZpbmUgQk9PU1RfTVBMX0lURVJBVE9SX1JBTkdFX0hQUF9JTkNMVURFRAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAxLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisvLyBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvbGlicy9tcGwgZm9yIGRvY3VtZW50YXRpb24uCisKKy8vICRJZDogaXRlcmF0b3JfcmFuZ2UuaHBwIDQ5MjY3IDIwMDgtMTAtMTEgMDY6MTk6MDJaIGFndXJ0b3ZveSAkCisvLyAkRGF0ZTogMjAwOC0xMC0xMCAyMzoxOTowMiAtMDcwMCAoRnJpLCAxMCBPY3QgMjAwOCkgJAorLy8gJFJldmlzaW9uOiA0OTI2NyAkCisKKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9uYV9zcGVjLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9sYW1iZGFfc3VwcG9ydC5ocHA+CisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCitzdHJ1Y3QgaXRlcmF0b3JfcmFuZ2VfdGFnOworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oRmlyc3QpCisgICAgLCB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKExhc3QpCisgICAgPgorc3RydWN0IGl0ZXJhdG9yX3JhbmdlCit7CisgICAgdHlwZWRlZiBpdGVyYXRvcl9yYW5nZV90YWcgdGFnOworICAgIHR5cGVkZWYgaXRlcmF0b3JfcmFuZ2UgdHlwZTsKKyAgICB0eXBlZGVmIEZpcnN0IGJlZ2luOworICAgIHR5cGVkZWYgTGFzdCBlbmQ7CisKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKDIsaXRlcmF0b3JfcmFuZ2UsKEZpcnN0LExhc3QpKQorfTsKKworQk9PU1RfTVBMX0FVWF9OQV9TUEVDKDIsIGl0ZXJhdG9yX3JhbmdlKQorCit9fQorCisjZW5kaWYgLy8gQk9PU1RfTVBMX0lURVJBVE9SX1JBTkdFX0hQUF9JTkNMVURFRApkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2l0ZXJhdG9yX3RhZ3MuaHBwIGIvbmRuYm9vc3QvbXBsL2l0ZXJhdG9yX3RhZ3MuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU0MGY5MjEKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvaXRlcmF0b3JfdGFncy5ocHAKQEAgLTAsMCArMSwyNyBAQAorCisjaWZuZGVmIEJPT1NUX01QTF9JVEVSQVRPUl9UQUdfSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX01QTF9JVEVSQVRPUl9UQUdfSFBQX0lOQ0xVREVECisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKy8vIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL21wbCBmb3IgZG9jdW1lbnRhdGlvbi4KKworLy8gJElkOiBpdGVyYXRvcl90YWdzLmhwcCA0OTI2NyAyMDA4LTEwLTExIDA2OjE5OjAyWiBhZ3VydG92b3kgJAorLy8gJERhdGU6IDIwMDgtMTAtMTAgMjM6MTk6MDIgLTA3MDAgKEZyaSwgMTAgT2N0IDIwMDgpICQKKy8vICRSZXZpc2lvbjogNDkyNjcgJAorCisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2ludC5ocHA+CisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCitzdHJ1Y3QgZm9yd2FyZF9pdGVyYXRvcl90YWcgICAgICAgOiBpbnRfPDA+IHsgdHlwZWRlZiBmb3J3YXJkX2l0ZXJhdG9yX3RhZyB0eXBlOyB9Oworc3RydWN0IGJpZGlyZWN0aW9uYWxfaXRlcmF0b3JfdGFnIDogaW50XzwxPiB7IHR5cGVkZWYgYmlkaXJlY3Rpb25hbF9pdGVyYXRvcl90YWcgdHlwZTsgfTsKK3N0cnVjdCByYW5kb21fYWNjZXNzX2l0ZXJhdG9yX3RhZyA6IGludF88Mj4geyB0eXBlZGVmIHJhbmRvbV9hY2Nlc3NfaXRlcmF0b3JfdGFnIHR5cGU7IH07CisKK319CisKKyNlbmRpZiAvLyBCT09TVF9NUExfSVRFUkFUT1JfVEFHX0hQUF9JTkNMVURFRApkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2pvaW50X3ZpZXcuaHBwIGIvbmRuYm9vc3QvbXBsL2pvaW50X3ZpZXcuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcwOWM4MjIKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvam9pbnRfdmlldy5ocHAKQEAgLTAsMCArMSw2NSBAQAorCisjaWZuZGVmIEJPT1NUX01QTF9KT0lOVF9WSUVXX0hQUF9JTkNMVURFRAorI2RlZmluZSBCT09TVF9NUExfSk9JTlRfVklFV19IUFBfSU5DTFVERUQKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworLy8gU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL2xpYnMvbXBsIGZvciBkb2N1bWVudGF0aW9uLgorCisvLyAkSWQ6IGpvaW50X3ZpZXcuaHBwIDQ5MjY3IDIwMDgtMTAtMTEgMDY6MTk6MDJaIGFndXJ0b3ZveSAkCisvLyAkRGF0ZTogMjAwOC0xMC0xMCAyMzoxOTowMiAtMDcwMCAoRnJpLCAxMCBPY3QgMjAwOCkgJAorLy8gJFJldmlzaW9uOiA0OTI2NyAkCisKKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9qb2ludF9pdGVyLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvcGx1cy5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL3NpemVfZndkLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYmVnaW5fZW5kLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9uYV9zcGVjLmhwcD4KKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK25hbWVzcGFjZSBhdXggeworc3RydWN0IGpvaW50X3ZpZXdfdGFnOworfQorCit0ZW1wbGF0ZTw+CitzdHJ1Y3Qgc2l6ZV9pbXBsPCBhdXg6OmpvaW50X3ZpZXdfdGFnID4KK3sKKyAgICB0ZW1wbGF0ZSA8IHR5cGVuYW1lIEpvaW50VmlldyA+IHN0cnVjdCBhcHBseQorICAgICAgOiBwbHVzPAorICAgICAgICAgICAgc2l6ZTx0eXBlbmFtZSBKb2ludFZpZXc6OnNlcXVlbmNlMV8+CisgICAgICAgICAgLCBzaXplPHR5cGVuYW1lIEpvaW50Vmlldzo6c2VxdWVuY2UyXz4KKyAgICAgICAgICA+CisgICAge307Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oU2VxdWVuY2UxXykKKyAgICAsIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oU2VxdWVuY2UyXykKKyAgICA+CitzdHJ1Y3Qgam9pbnRfdmlldworeworICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpiZWdpbjxTZXF1ZW5jZTFfPjo6dHlwZSAgIGZpcnN0MV87CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6OmVuZDxTZXF1ZW5jZTFfPjo6dHlwZSAgICAgbGFzdDFfOworICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpiZWdpbjxTZXF1ZW5jZTJfPjo6dHlwZSAgIGZpcnN0Ml87CisgICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6OmVuZDxTZXF1ZW5jZTJfPjo6dHlwZSAgICAgbGFzdDJfOworCisgICAgLy8gYWd1cnQsIDI1L21heS8wMzogZm9yIHRoZSAnc2l6ZV90cmFpdHMnIGltcGxlbWVudGF0aW9uIGFib3ZlCisgICAgdHlwZWRlZiBTZXF1ZW5jZTFfIHNlcXVlbmNlMV87CisgICAgdHlwZWRlZiBTZXF1ZW5jZTJfIHNlcXVlbmNlMl87CisKKyAgICB0eXBlZGVmIGpvaW50X3ZpZXcgdHlwZTsKKyAgICB0eXBlZGVmIGF1eDo6am9pbnRfdmlld190YWcgdGFnOworICAgIHR5cGVkZWYgam9pbnRfaXRlcjxmaXJzdDFfLGxhc3QxXyxmaXJzdDJfPiAgYmVnaW47CisgICAgdHlwZWRlZiBqb2ludF9pdGVyPGxhc3QxXyxsYXN0MV8sbGFzdDJfPiAgICBlbmQ7Cit9OworCitCT09TVF9NUExfQVVYX05BX1NQRUMoMiwgam9pbnRfdmlldykKKworfX0KKworI2VuZGlmIC8vIEJPT1NUX01QTF9KT0lOVF9WSUVXX0hQUF9JTkNMVURFRApkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2xhbWJkYS5ocHAgYi9uZG5ib29zdC9tcGwvbGFtYmRhLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYTQzNTE0Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2xhbWJkYS5ocHAKQEAgLTAsMCArMSwyOSBAQAorCisjaWZuZGVmIEJPT1NUX01QTF9MQU1CREFfSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX01QTF9MQU1CREFfSFBQX0lOQ0xVREVECisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDEtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKy8vIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL21wbCBmb3IgZG9jdW1lbnRhdGlvbi4KKworLy8gJElkOiBsYW1iZGEuaHBwIDQ5MjY3IDIwMDgtMTAtMTEgMDY6MTk6MDJaIGFndXJ0b3ZveSAkCisvLyAkRGF0ZTogMjAwOC0xMC0xMCAyMzoxOTowMiAtMDcwMCAoRnJpLCAxMCBPY3QgMjAwOCkgJAorLy8gJFJldmlzaW9uOiA0OTI2NyAkCisKKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvbGFtYmRhX2Z3ZC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2JpbmQuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2NvbmZpZy9sYW1iZGEuaHBwPgorCisjaWYgIWRlZmluZWQoQk9PU1RfTVBMX0NGR19OT19GVUxMX0xBTUJEQV9TVVBQT1JUKQorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2Z1bGxfbGFtYmRhLmhwcD4KKyNlbHNlCisjICAgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vbGFtYmRhX25vX2N0cHMuaHBwPgorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2xhbWJkYV9zdXBwb3J0LmhwcD4KKyMgICBkZWZpbmUgQk9PU1RfTVBMX0NGR19OT19JTVBMSUNJVF9NRVRBRlVOQ1RJT05TCisjZW5kaWYKKworI2VuZGlmIC8vIEJPT1NUX01QTF9MQU1CREFfSFBQX0lOQ0xVREVECmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvbGVzcy5ocHAgYi9uZG5ib29zdC9tcGwvbGVzcy5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTIwNDNhOAotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9sZXNzLmhwcApAQCAtMCwwICsxLDIxIEBACisKKyNpZm5kZWYgQk9PU1RfTVBMX0xFU1NfSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX01QTF9MRVNTX0hQUF9JTkNMVURFRAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisvLyBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvbGlicy9tcGwgZm9yIGRvY3VtZW50YXRpb24uCisKKy8vICRJZDogbGVzcy5ocHAgNDkyNjcgMjAwOC0xMC0xMSAwNjoxOTowMlogYWd1cnRvdm95ICQKKy8vICREYXRlOiAyMDA4LTEwLTEwIDIzOjE5OjAyIC0wNzAwIChGcmksIDEwIE9jdCAyMDA4KSAkCisvLyAkUmV2aXNpb246IDQ5MjY3ICQKKworI2RlZmluZSBBVVg3NzgwNzZfT1BfTkFNRSBsZXNzCisjZGVmaW5lIEFVWDc3ODA3Nl9PUF9UT0tFTiA8CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vY29tcGFyaXNvbl9vcC5ocHA+CisKKyNlbmRpZiAvLyBCT09TVF9NUExfTEVTU19IUFBfSU5DTFVERUQKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9saW1pdHMvdW5yb2xsaW5nLmhwcCBiL25kbmJvb3N0L21wbC9saW1pdHMvdW5yb2xsaW5nLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zOTE0ZjBhCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2xpbWl0cy91bnJvbGxpbmcuaHBwCkBAIC0wLDAgKzEsMjEgQEAKKworI2lmbmRlZiBCT09TVF9NUExfTElNSVRTX1VOUk9MTElOR19IUFBfSU5DTFVERUQKKyNkZWZpbmUgQk9PU1RfTVBMX0xJTUlUU19VTlJPTExJTkdfSFBQX0lOQ0xVREVECisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKy8vIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL21wbCBmb3IgZG9jdW1lbnRhdGlvbi4KKworLy8gJElkOiB1bnJvbGxpbmcuaHBwIDQ5MjY3IDIwMDgtMTAtMTEgMDY6MTk6MDJaIGFndXJ0b3ZveSAkCisvLyAkRGF0ZTogMjAwOC0xMC0xMCAyMzoxOTowMiAtMDcwMCAoRnJpLCAxMCBPY3QgMjAwOCkgJAorLy8gJFJldmlzaW9uOiA0OTI2NyAkCisKKyNpZiAhZGVmaW5lZChCT09TVF9NUExfTElNSVRfVU5ST0xMSU5HKQorIyAgIGRlZmluZSBCT09TVF9NUExfTElNSVRfVU5ST0xMSU5HIDQKKyNlbmRpZgorCisjZW5kaWYgLy8gQk9PU1RfTVBMX0xJTUlUU19VTlJPTExJTkdfSFBQX0lOQ0xVREVECmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvbGltaXRzL3ZlY3Rvci5ocHAgYi9uZG5ib29zdC9tcGwvbGltaXRzL3ZlY3Rvci5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWRlMzgxMQotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9saW1pdHMvdmVjdG9yLmhwcApAQCAtMCwwICsxLDIxIEBACisKKyNpZm5kZWYgQk9PU1RfTVBMX0xJTUlUU19WRUNUT1JfSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX01QTF9MSU1JVFNfVkVDVE9SX0hQUF9JTkNMVURFRAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisvLyBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvbGlicy9tcGwgZm9yIGRvY3VtZW50YXRpb24uCisKKy8vICRJZDogdmVjdG9yLmhwcCA0OTI2NyAyMDA4LTEwLTExIDA2OjE5OjAyWiBhZ3VydG92b3kgJAorLy8gJERhdGU6IDIwMDgtMTAtMTAgMjM6MTk6MDIgLTA3MDAgKEZyaSwgMTAgT2N0IDIwMDgpICQKKy8vICRSZXZpc2lvbjogNDkyNjcgJAorCisjaWYgIWRlZmluZWQoQk9PU1RfTVBMX0xJTUlUX1ZFQ1RPUl9TSVpFKQorIyAgIGRlZmluZSBCT09TVF9NUExfTElNSVRfVkVDVE9SX1NJWkUgMjAKKyNlbmRpZgorCisjZW5kaWYgLy8gQk9PU1RfTVBMX0xJTUlUU19WRUNUT1JfSFBQX0lOQ0xVREVECmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvbG9naWNhbC5ocHAgYi9uZG5ib29zdC9tcGwvbG9naWNhbC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGQ2Nzg5ZgotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9sb2dpY2FsLmhwcApAQCAtMCwwICsxLDIxIEBACisKKyNpZm5kZWYgQk9PU1RfTVBMX0xPR0lDQUxfSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX01QTF9MT0dJQ0FMX0hQUF9JTkNMVURFRAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisvLyBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvbGlicy9tcGwgZm9yIGRvY3VtZW50YXRpb24uCisKKy8vICRJZDogbG9naWNhbC5ocHAgNDkyNjcgMjAwOC0xMC0xMSAwNjoxOTowMlogYWd1cnRvdm95ICQKKy8vICREYXRlOiAyMDA4LTEwLTEwIDIzOjE5OjAyIC0wNzAwIChGcmksIDEwIE9jdCAyMDA4KSAkCisvLyAkUmV2aXNpb246IDQ5MjY3ICQKKworI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9vci5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2FuZC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL25vdC5ocHA+CisKKyNlbmRpZiAvLyBCT09TVF9NUExfTE9HSUNBTF9IUFBfSU5DTFVERUQKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9sb25nLmhwcCBiL25kbmJvb3N0L21wbC9sb25nLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNTQ1MTQwCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL2xvbmcuaHBwCkBAIC0wLDAgKzEsMjIgQEAKKworI2lmbmRlZiBCT09TVF9NUExfTE9OR19IUFBfSU5DTFVERUQKKyNkZWZpbmUgQk9PU1RfTVBMX0xPTkdfSFBQX0lOQ0xVREVECisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKy8vIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL21wbCBmb3IgZG9jdW1lbnRhdGlvbi4KKworLy8gJElkOiBsb25nLmhwcCA0OTI2NyAyMDA4LTEwLTExIDA2OjE5OjAyWiBhZ3VydG92b3kgJAorLy8gJERhdGU6IDIwMDgtMTAtMTAgMjM6MTk6MDIgLTA3MDAgKEZyaSwgMTAgT2N0IDIwMDgpICQKKy8vICRSZXZpc2lvbjogNDkyNjcgJAorCisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2xvbmdfZndkLmhwcD4KKworI2RlZmluZSBBVVhfV1JBUFBFUl9WQUxVRV9UWVBFIGxvbmcKKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9pbnRlZ3JhbF93cmFwcGVyLmhwcD4KKworI2VuZGlmIC8vIEJPT1NUX01QTF9MT05HX0hQUF9JTkNMVURFRApkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL2xvbmdfZndkLmhwcCBiL25kbmJvb3N0L21wbC9sb25nX2Z3ZC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTI0N2JjMwotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9sb25nX2Z3ZC5ocHAKQEAgLTAsMCArMSwyNyBAQAorCisjaWZuZGVmIEJPT1NUX01QTF9MT05HX0ZXRF9IUFBfSU5DTFVERUQKKyNkZWZpbmUgQk9PU1RfTVBMX0xPTkdfRldEX0hQUF9JTkNMVURFRAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisvLyBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvbGlicy9tcGwgZm9yIGRvY3VtZW50YXRpb24uCisKKy8vICRJZDogbG9uZ19md2QuaHBwIDQ5MjY3IDIwMDgtMTAtMTEgMDY6MTk6MDJaIGFndXJ0b3ZveSAkCisvLyAkRGF0ZTogMjAwOC0xMC0xMCAyMzoxOTowMiAtMDcwMCAoRnJpLCAxMCBPY3QgMjAwOCkgJAorLy8gJFJldmlzaW9uOiA0OTI2NyAkCisKKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9hZGxfYmFycmllci5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vbnR0cF9kZWNsLmhwcD4KKworQk9PU1RfTVBMX0FVWF9BRExfQkFSUklFUl9OQU1FU1BBQ0VfT1BFTgorCit0ZW1wbGF0ZTwgQk9PU1RfTVBMX0FVWF9OVFRQX0RFQ0wobG9uZywgTikgPiBzdHJ1Y3QgbG9uZ187CisKK0JPT1NUX01QTF9BVVhfQURMX0JBUlJJRVJfTkFNRVNQQUNFX0NMT1NFCitCT09TVF9NUExfQVVYX0FETF9CQVJSSUVSX0RFQ0wobG9uZ18pCisKKyNlbmRpZiAvLyBCT09TVF9NUExfTE9OR19GV0RfSFBQX0lOQ0xVREVECmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvbWludXMuaHBwIGIvbmRuYm9vc3QvbXBsL21pbnVzLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wYjRiNWI0Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL21pbnVzLmhwcApAQCAtMCwwICsxLDIxIEBACisKKyNpZm5kZWYgQk9PU1RfTVBMX01JTlVTX0hQUF9JTkNMVURFRAorI2RlZmluZSBCT09TVF9NUExfTUlOVVNfSFBQX0lOQ0xVREVECisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKy8vIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL21wbCBmb3IgZG9jdW1lbnRhdGlvbi4KKworLy8gJElkOiBtaW51cy5ocHAgNDkyNjcgMjAwOC0xMC0xMSAwNjoxOTowMlogYWd1cnRvdm95ICQKKy8vICREYXRlOiAyMDA4LTEwLTEwIDIzOjE5OjAyIC0wNzAwIChGcmksIDEwIE9jdCAyMDA4KSAkCisvLyAkUmV2aXNpb246IDQ5MjY3ICQKKworI2RlZmluZSBBVVg3NzgwNzZfT1BfTkFNRSBtaW51cworI2RlZmluZSBBVVg3NzgwNzZfT1BfVE9LRU4gLQorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2FyaXRobWV0aWNfb3AuaHBwPgorCisjZW5kaWYgLy8gQk9PU1RfTVBMX01JTlVTX0hQUF9JTkNMVURFRApkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL211bHRpcGxpZXMuaHBwIGIvbmRuYm9vc3QvbXBsL211bHRpcGxpZXMuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE4NTU3MDgKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvbXVsdGlwbGllcy5ocHAKQEAgLTAsMCArMSw1MyBAQAorCisjaWZuZGVmIEJPT1NUX01QTF9NVUxUSVBMSUVTX0hQUF9JTkNMVURFRAorI2RlZmluZSBCT09TVF9NUExfTVVMVElQTElFU19IUFBfSU5DTFVERUQKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworLy8gU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL2xpYnMvbXBsIGZvciBkb2N1bWVudGF0aW9uLgorCisvLyAkSWQ6IG11bHRpcGxpZXMuaHBwIDQ5MjY3IDIwMDgtMTAtMTEgMDY6MTk6MDJaIGFndXJ0b3ZveSAkCisvLyAkRGF0ZTogMjAwOC0xMC0xMCAyMzoxOTowMiAtMDcwMCAoRnJpLCAxMCBPY3QgMjAwOCkgJAorLy8gJFJldmlzaW9uOiA0OTI2NyAkCisKKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvdGltZXMuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL25hX3NwZWMuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2xhbWJkYV9zdXBwb3J0LmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9wcmVwcm9jZXNzb3IvZGVmYXVsdF9wYXJhbXMuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3Nvci9wYXJhbXMuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2NvbmZpZy9jdHBzLmhwcD4KKworLy8gYmFja3dhcmQgY29tcGF0aWJpbGl0eSBoZWFkZXIsIGRlcHJlY2F0ZWQKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKKyNpZiAhZGVmaW5lZChCT09TVF9OT19URU1QTEFURV9QQVJUSUFMX1NQRUNJQUxJWkFUSU9OKQorIyAgIGRlZmluZSBBVVg3NzgwNzZfT1BfQVJJVFkgQk9PU1RfTVBMX0xJTUlUX01FVEFGVU5DVElPTl9BUklUWQorI2Vsc2UKKyMgICBkZWZpbmUgQVVYNzc4MDc2X09QX0FSSVRZIDIKKyNlbmRpZgorCit0ZW1wbGF0ZTwKKyAgICAgIEJPT1NUX01QTF9QUF9ERUZBVUxUX1BBUkFNUyhBVVg3NzgwNzZfT1BfQVJJVFksIHR5cGVuYW1lIE4sIG5hKQorICAgID4KK3N0cnVjdCBtdWx0aXBsaWVzCisgICAgOiB0aW1lczwgQk9PU1RfTVBMX1BQX1BBUkFNUyhBVVg3NzgwNzZfT1BfQVJJVFksIE4pID4KK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKAorICAgICAgICAgIEFVWDc3ODA3Nl9PUF9BUklUWQorICAgICAgICAsIG11bHRpcGxpZXMKKyAgICAgICAgLCAoIEJPT1NUX01QTF9QUF9QQVJBTVMoQVVYNzc4MDc2X09QX0FSSVRZLCBOKSApCisgICAgICAgICkKK307CisKK0JPT1NUX01QTF9BVVhfTkFfU1BFQyhBVVg3NzgwNzZfT1BfQVJJVFksIG11bHRpcGxpZXMpCisKKyN1bmRlZiBBVVg3NzgwNzZfT1BfQVJJVFkKKworfX0KKworI2VuZGlmIC8vIEJPT1NUX01QTF9NVUxUSVBMSUVTX0hQUF9JTkNMVURFRApkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL25lZ2F0ZS5ocHAgYi9uZG5ib29zdC9tcGwvbmVnYXRlLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNGU1NTBkCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL25lZ2F0ZS5ocHAKQEAgLTAsMCArMSw4MSBAQAorCisjaWZuZGVmIEJPT1NUX01QTF9ORUdBVEVfSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX01QTF9ORUdBVEVfSFBQX0lOQ0xVREVECisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKy8vIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL21wbCBmb3IgZG9jdW1lbnRhdGlvbi4KKworLy8gJElkOiBuZWdhdGUuaHBwIDQ5MjY3IDIwMDgtMTAtMTEgMDY6MTk6MDJaIGFndXJ0b3ZveSAkCisvLyAkRGF0ZTogMjAwOC0xMC0xMCAyMzoxOTowMiAtMDcwMCAoRnJpLCAxMCBPY3QgMjAwOCkgJAorLy8gJFJldmlzaW9uOiA0OTI2NyAkCisKKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvaW50ZWdyYWxfYy5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vbXN2Y19ldGlfYmFzZS5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vbmFfc3BlYy5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vbGFtYmRhX3N1cHBvcnQuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2NvbmZpZy9ldGkuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2NvbmZpZy9pbnRlZ3JhbC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vY29uZmlnL3N0YXRpY19jb25zdGFudC5ocHA+CisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVGFnID4gc3RydWN0IG5lZ2F0ZV9pbXBsOworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVCA+IHN0cnVjdCBuZWdhdGVfdGFnCit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBUOjp0YWcgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShOKQorICAgID4KK3N0cnVjdCBuZWdhdGUKKyNpZiAhZGVmaW5lZChCT09TVF9NUExfQ0ZHX01TVkNfRVRJX0JVRykKKyAgICA6IG5lZ2F0ZV9pbXBsPAorICAgICAgICAgIHR5cGVuYW1lIG5lZ2F0ZV90YWc8Tj46OnR5cGUKKyAgICAgICAgPjo6dGVtcGxhdGUgYXBwbHk8Tj46OnR5cGUKKyNlbHNlCisgICAgOiBhdXg6Om1zdmNfZXRpX2Jhc2U8IHR5cGVuYW1lIGFwcGx5X3dyYXAxPAorICAgICAgICAgIG5lZ2F0ZV9pbXBsPCB0eXBlbmFtZSBuZWdhdGVfdGFnPE4+Ojp0eXBlID4KKyAgICAgICAgLCBOCisgICAgICAgID46OnR5cGUgPjo6dHlwZQorI2VuZGlmCit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgxLCBuZWdhdGUsIChOKSkKK307CisKK0JPT1NUX01QTF9BVVhfTkFfU1BFQygxLCBuZWdhdGUpCisKKworI2lmIGRlZmluZWQoQk9PU1RfTVBMX0NGR19OT19ORVNURURfVkFMVUVfQVJJVEhNRVRJQykKK25hbWVzcGFjZSBhdXggewordGVtcGxhdGU8IHR5cGVuYW1lIFQsIFQgbiA+IHN0cnVjdCBuZWdhdGVfd2tuZAoreworICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChULCB2YWx1ZSA9IC1uKTsKKyAgICB0eXBlZGVmIGludGVncmFsX2M8VCx2YWx1ZT4gdHlwZTsKK307Cit9CisjZW5kaWYKKwordGVtcGxhdGU8Pgorc3RydWN0IG5lZ2F0ZV9pbXBsPGludGVncmFsX2NfdGFnPgoreworI2lmIGRlZmluZWQoQk9PU1RfTVBMX0NGR19OT19ORVNURURfVkFMVUVfQVJJVEhNRVRJQykKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgTiA+IHN0cnVjdCBhcHBseQorICAgICAgICA6IGF1eDo6bmVnYXRlX3drbmQ8IHR5cGVuYW1lIE46OnZhbHVlX3R5cGUsIE46OnZhbHVlID4KKyNlbHNlCisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIE4gPiBzdHJ1Y3QgYXBwbHkKKyAgICAgICAgOiBpbnRlZ3JhbF9jPCB0eXBlbmFtZSBOOjp2YWx1ZV90eXBlLCAoLU46OnZhbHVlKSA+CisjZW5kaWYgICAgCisgICAgeworICAgIH07Cit9OworCit9fQorCisjZW5kaWYgLy8gQk9PU1RfTVBMX05FR0FURV9IUFBfSU5DTFVERUQKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9uZXh0LmhwcCBiL25kbmJvb3N0L21wbC9uZXh0LmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45YTlmMGVmCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL25leHQuaHBwCkBAIC0wLDAgKzEsMTkgQEAKKworI2lmbmRlZiBCT09TVF9NUExfTkVYVF9IUFBfSU5DTFVERUQKKyNkZWZpbmUgQk9PU1RfTVBMX05FWFRfSFBQX0lOQ0xVREVECisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisvLyBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvbGlicy9tcGwgZm9yIGRvY3VtZW50YXRpb24uCisKKy8vICRJZDogbmV4dC5ocHAgNDkyNjcgMjAwOC0xMC0xMSAwNjoxOTowMlogYWd1cnRvdm95ICQKKy8vICREYXRlOiAyMDA4LTEwLTEwIDIzOjE5OjAyIC0wNzAwIChGcmksIDEwIE9jdCAyMDA4KSAkCisvLyAkUmV2aXNpb246IDQ5MjY3ICQKKworI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9uZXh0X3ByaW9yLmhwcD4KKworI2VuZGlmIC8vIEJPT1NUX01QTF9ORVhUX0hQUF9JTkNMVURFRApkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL25leHRfcHJpb3IuaHBwIGIvbmRuYm9vc3QvbXBsL25leHRfcHJpb3IuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ4OTM1MzMKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvbmV4dF9wcmlvci5ocHAKQEAgLTAsMCArMSw0OSBAQAorCisjaWZuZGVmIEJPT1NUX01QTF9ORVhUX1BSSU9SX0hQUF9JTkNMVURFRAorI2RlZmluZSBCT09TVF9NUExfTkVYVF9QUklPUl9IUFBfSU5DTFVERUQKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworLy8gU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL2xpYnMvbXBsIGZvciBkb2N1bWVudGF0aW9uLgorCisvLyAkSWQ6IG5leHRfcHJpb3IuaHBwIDQ5MjY3IDIwMDgtMTAtMTEgMDY6MTk6MDJaIGFndXJ0b3ZveSAkCisvLyAkRGF0ZTogMjAwOC0xMC0xMCAyMzoxOTowMiAtMDcwMCAoRnJpLCAxMCBPY3QgMjAwOCkgJAorLy8gJFJldmlzaW9uOiA0OTI2NyAkCisKKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9jb21tb25fbmFtZV93a25kLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9uYV9zcGVjLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9sYW1iZGFfc3VwcG9ydC5ocHA+CisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCitCT09TVF9NUExfQVVYX0NPTU1PTl9OQU1FX1dLTkQobmV4dCkKK0JPT1NUX01QTF9BVVhfQ09NTU9OX05BTUVfV0tORChwcmlvcikKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKFQpCisgICAgPgorc3RydWN0IG5leHQKK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIFQ6Om5leHQgdHlwZTsKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKDEsbmV4dCwoVCkpCit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oVCkKKyAgICA+CitzdHJ1Y3QgcHJpb3IKK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIFQ6OnByaW9yIHR5cGU7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgxLHByaW9yLChUKSkKK307CisKK0JPT1NUX01QTF9BVVhfTkFfU1BFQygxLCBuZXh0KQorQk9PU1RfTVBMX0FVWF9OQV9TUEVDKDEsIHByaW9yKQorCit9fQorCisjZW5kaWYgLy8gQk9PU1RfTVBMX05FWFRfUFJJT1JfSFBQX0lOQ0xVREVECmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvbm90LmhwcCBiL25kbmJvb3N0L21wbC9ub3QuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJjM2YxYWIKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvbm90LmhwcApAQCAtMCwwICsxLDUxIEBACisKKyNpZm5kZWYgQk9PU1RfTVBMX05PVF9IUFBfSU5DTFVERUQKKyNkZWZpbmUgQk9PU1RfTVBMX05PVF9IUFBfSU5DTFVERUQKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworLy8gU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL2xpYnMvbXBsIGZvciBkb2N1bWVudGF0aW9uLgorCisvLyAkSWQ6IG5vdC5ocHAgNDkyNjcgMjAwOC0xMC0xMSAwNjoxOTowMlogYWd1cnRvdm95ICQKKy8vICREYXRlOiAyMDA4LTEwLTEwIDIzOjE5OjAyIC0wNzAwIChGcmksIDEwIE9jdCAyMDA4KSAkCisvLyAkUmV2aXNpb246IDQ5MjY3ICQKKworI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9ib29sLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9udHRwX2RlY2wuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL25lc3RlZF90eXBlX3drbmQuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL25hX3NwZWMuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2xhbWJkYV9zdXBwb3J0LmhwcD4KKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwgQk9PU1RfTVBMX0FVWF9OVFRQX0RFQ0wobG9uZywgQ18pID4gLy8gJ2xvbmcnIGlzIGludGVudGlvbmFsIGhlcmUKK3N0cnVjdCBub3RfaW1wbAorICAgIDogYm9vbF88IUNfPgoreworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKFQpCisgICAgPgorc3RydWN0IG5vdF8KKyAgICA6IGF1eDo6bm90X2ltcGw8CisgICAgICAgICAgQk9PU1RfTVBMX0FVWF9ORVNURURfVFlQRV9XS05EKFQpOjp2YWx1ZQorICAgICAgICA+Cit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgxLG5vdF8sKFQpKQorfTsKKworQk9PU1RfTVBMX0FVWF9OQV9TUEVDKDEsbm90XykKKworfX0KKworI2VuZGlmIC8vIEJPT1NUX01QTF9OT1RfSFBQX0lOQ0xVREVECmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvbnVtZXJpY19jYXN0LmhwcCBiL25kbmJvb3N0L21wbC9udW1lcmljX2Nhc3QuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYwM2JmNzUKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvbnVtZXJpY19jYXN0LmhwcApAQCAtMCwwICsxLDQxIEBACisKKyNpZm5kZWYgQk9PU1RfTVBMX05VTUVSSUNfQ0FTVF9IUFBfSU5DTFVERUQKKyNkZWZpbmUgQk9PU1RfTVBMX05VTUVSSUNfQ0FTVF9IUFBfSU5DTFVERUQKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMy0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLgorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKy8vIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL21wbCBmb3IgZG9jdW1lbnRhdGlvbi4KKworLy8gJElkOiBudW1lcmljX2Nhc3QuaHBwIDQ5MjY3IDIwMDgtMTAtMTEgMDY6MTk6MDJaIGFndXJ0b3ZveSAkCisvLyAkRGF0ZTogMjAwOC0xMC0xMCAyMzoxOTowMiAtMDcwMCAoRnJpLCAxMCBPY3QgMjAwOCkgJAorLy8gJFJldmlzaW9uOiA0OTI2NyAkCisKKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9jb25maWcvbXN2Yy5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vY29uZmlnL3dvcmthcm91bmQuaHBwPgorCisvLyBhZ3VydCAyMS9zZXAvMDQ6IHBvcnRhYmlsaXR5IG1hY3JvIGZvciB0aGUgc2FrZSBvZiBNU1ZDIDYueC03LjA7CisvLyByZXNvbHZlcyBjb25mbGljdHMgd2l0aCAnbmRuYm9vc3Q6Om51bWVyaWNfY2FzdCcgZnVuY3Rpb24gdGVtcGxhdGUuCisvLyB1c2UgaXQgaW4geW91ciBvd24gY29kZSBfb25seV8gaWYgeW91IGNhcmUgYWJvdXQgY29tcGF0aWJpbGl0eSB3aXRoCisvLyB0aGVzZSBvdXRkYXRlZCBjb21waWxlcnMhCisjaWYgQk9PU1RfV09SS0FST1VORChCT09TVF9NU1ZDLCA8PSAxMzAwKSB8fCBCT09TVF9XT1JLQVJPVU5EKF9fQk9STEFORENfXywgQk9PU1RfVEVTVEVEX0FUKDB4NTcwKSApCisjICAgZGVmaW5lIEJPT1NUX01QTF9BVVhfTlVNRVJJQ19DQVNUIG51bWVyaWNfY2FzdF8KKyNlbHNlCisjICAgZGVmaW5lIEJPT1NUX01QTF9BVVhfTlVNRVJJQ19DQVNUIG51bWVyaWNfY2FzdAorI2VuZGlmCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCisvLyBubyBkZWZhdWx0IGltcGxlbWVudGF0aW9uOyB0aGUgZGVmaW5pdGlvbiBpcyBuZWVkZWQgdG8gbWFrZSBNU1ZDIGhhcHB5CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBTb3VyY2VUYWcsIHR5cGVuYW1lIFRhcmdldFRhZyA+IHN0cnVjdCBCT09TVF9NUExfQVVYX05VTUVSSUNfQ0FTVAoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBOID4gc3RydWN0IGFwcGx5OworfTsKKworfX0KKworI2VuZGlmIC8vIEJPT1NUX01QTF9OVU1FUklDX0NBU1RfSFBQX0lOQ0xVREVECmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvb3IuaHBwIGIvbmRuYm9vc3QvbXBsL29yLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNTExNmQ5Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL29yLmhwcApAQCAtMCwwICsxLDYxIEBACisKKyNpZm5kZWYgQk9PU1RfTVBMX09SX0hQUF9JTkNMVURFRAorI2RlZmluZSBCT09TVF9NUExfT1JfSFBQX0lOQ0xVREVECisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKy8vIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL21wbCBmb3IgZG9jdW1lbnRhdGlvbi4KKworLy8gJElkOiBvci5ocHAgNDkyNjcgMjAwOC0xMC0xMSAwNjoxOTowMlogYWd1cnRvdm95ICQKKy8vICREYXRlOiAyMDA4LTEwLTEwIDIzOjE5OjAyIC0wNzAwIChGcmksIDEwIE9jdCAyMDA4KSAkCisvLyAkUmV2aXNpb246IDQ5MjY3ICQKKworI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2NvbmZpZy91c2VfcHJlcHJvY2Vzc2VkLmhwcD4KKworI2lmICFkZWZpbmVkKEJPT1NUX01QTF9DRkdfTk9fUFJFUFJPQ0VTU0VEX0hFQURFUlMpIFwKKyAgICAmJiAhZGVmaW5lZChCT09TVF9NUExfUFJFUFJPQ0VTU0lOR19NT0RFKQorCisjICAgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2Jvb2wuaHBwPgorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL25lc3RlZF90eXBlX3drbmQuaHBwPgorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL25hX3NwZWMuaHBwPgorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2xhbWJkYV9zdXBwb3J0LmhwcD4KKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9jb25maWcvbXN2Yy5ocHA+CisKKy8vIGFndXJ0LCAxOS9tYXkvMDQ6IHdvcmthcm91bmQgYSBjb25mbGljdCB3aXRoIDxpc282NDYuaD4gaGVhZGVyJ3MgCisvLyAnb3InIGFuZCAnYW5kJyBtYWNyb3MsIHNlZSBodHRwOi8vdGlueXVybC5jb20vM2V0Njk7ICdkZWZpbmVkKG9yKScKKy8vIGhhcyB0byBiZSBjaGVja2VkIGluIGEgc2VwYXJhdGUgY29uZGl0aW9uLCBvdGhlcndpc2UgR0NDIGNvbXBsYWlucyAKKy8vIGFib3V0ICdvcicgYmVpbmcgYW4gYWx0ZXJuYXRpdmUgdG9rZW4KKyNpZiBkZWZpbmVkKF9NU0NfVkVSKQorI2lmbmRlZiBfX0dDQ1hNTF9fCisjaWYgZGVmaW5lZChvcikKKyMgICBwcmFnbWEgcHVzaF9tYWNybygib3IiKQorIyAgIHVuZGVmIG9yCisjICAgZGVmaW5lIG9yKHgpCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyMgICBkZWZpbmUgQk9PU1RfTVBMX1BSRVBST0NFU1NFRF9IRUFERVIgb3IuaHBwCisjICAgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vaW5jbHVkZV9wcmVwcm9jZXNzZWQuaHBwPgorCisjaWYgZGVmaW5lZChfTVNDX1ZFUikgCisjaWZuZGVmIF9fR0NDWE1MX18KKyNpZiBkZWZpbmVkKG9yKQorIyAgIHByYWdtYSBwb3BfbWFjcm8oIm9yIikKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2Vsc2UKKworIyAgIGRlZmluZSBBVVg3NzgwNzZfT1BfTkFNRSBvcl8KKyMgICBkZWZpbmUgQVVYNzc4MDc2X09QX1ZBTFVFMSB0cnVlCisjICAgZGVmaW5lIEFVWDc3ODA3Nl9PUF9WQUxVRTIgZmFsc2UKKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9sb2dpY2FsX29wLmhwcD4KKworI2VuZGlmIC8vIEJPT1NUX01QTF9DRkdfTk9fUFJFUFJPQ0VTU0VEX0hFQURFUlMKKyNlbmRpZiAvLyBCT09TVF9NUExfT1JfSFBQX0lOQ0xVREVECmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvcGFpci5ocHAgYi9uZG5ib29zdC9tcGwvcGFpci5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjU4YzBiZAotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9wYWlyLmhwcApAQCAtMCwwICsxLDcwIEBACisKKyNpZm5kZWYgQk9PU1RfTVBMX1BBSVJfSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX01QTF9QQUlSX0hQUF9JTkNMVURFRAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAxLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisvLyBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvbGlicy9tcGwgZm9yIGRvY3VtZW50YXRpb24uCisKKy8vICRJZDogcGFpci5ocHAgNDkyNjcgMjAwOC0xMC0xMSAwNjoxOTowMlogYWd1cnRvdm95ICQKKy8vICREYXRlOiAyMDA4LTEwLTEwIDIzOjE5OjAyIC0wNzAwIChGcmksIDEwIE9jdCAyMDA4KSAkCisvLyAkUmV2aXNpb246IDQ5MjY3ICQKKworI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL21zdmNfZXRpX2Jhc2UuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL25hX3NwZWMuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2xhbWJkYV9zdXBwb3J0LmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9jb25maWcvZXRpLmhwcD4KKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShUMSkKKyAgICAsIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oVDIpCisgICAgPgorc3RydWN0IHBhaXIKK3sKKyAgICB0eXBlZGVmIHBhaXIgdHlwZTsKKyAgICB0eXBlZGVmIFQxIGZpcnN0OworICAgIHR5cGVkZWYgVDIgc2Vjb25kOworCisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgyLHBhaXIsKFQxLFQyKSkKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShQKQorICAgID4KK3N0cnVjdCBmaXJzdAoreworI2lmICFkZWZpbmVkKEJPT1NUX01QTF9DRkdfTVNWQ183MF9FVElfQlVHKQorICAgIHR5cGVkZWYgdHlwZW5hbWUgUDo6Zmlyc3QgdHlwZTsKKyNlbHNlCisgICAgdHlwZWRlZiB0eXBlbmFtZSBhdXg6Om1zdmNfZXRpX2Jhc2U8UD46OmZpcnN0IHR5cGU7CisjZW5kaWYKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKDEsZmlyc3QsKFApKQorfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKFApCisgICAgPgorc3RydWN0IHNlY29uZAoreworI2lmICFkZWZpbmVkKEJPT1NUX01QTF9DRkdfTVNWQ183MF9FVElfQlVHKQorICAgIHR5cGVkZWYgdHlwZW5hbWUgUDo6c2Vjb25kIHR5cGU7CisjZWxzZQorICAgIHR5cGVkZWYgdHlwZW5hbWUgYXV4Ojptc3ZjX2V0aV9iYXNlPFA+OjpzZWNvbmQgdHlwZTsKKyNlbmRpZgorICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoMSxzZWNvbmQsKFApKQorfTsKKworCitCT09TVF9NUExfQVVYX05BX1NQRUNfTk9fRVRJKDIsIHBhaXIpCitCT09TVF9NUExfQVVYX05BX1NQRUMoMSwgZmlyc3QpCitCT09TVF9NUExfQVVYX05BX1NQRUMoMSwgc2Vjb25kKQorCit9fQorCisjZW5kaWYgLy8gQk9PU1RfTVBMX1BBSVJfSFBQX0lOQ0xVREVECmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvcGxhY2Vob2xkZXJzLmhwcCBiL25kbmJvb3N0L21wbC9wbGFjZWhvbGRlcnMuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg2ZjhlMDkKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvcGxhY2Vob2xkZXJzLmhwcApAQCAtMCwwICsxLDEwMCBAQAorCisjaWYgIWRlZmluZWQoQk9PU1RfUFBfSVNfSVRFUkFUSU5HKQorCisvLy8vLyBoZWFkZXIgYm9keQorCisjaWZuZGVmIEJPT1NUX01QTF9QTEFDRUhPTERFUlNfSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX01QTF9QTEFDRUhPTERFUlNfSFBQX0lOQ0xVREVECisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDEtMjAwNAorLy8gQ29weXJpZ2h0IFBldGVyIERpbW92IDIwMDEtMjAwMworLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKy8vIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL21wbCBmb3IgZG9jdW1lbnRhdGlvbi4KKworLy8gJElkOiBwbGFjZWhvbGRlcnMuaHBwIDQ5MjY3IDIwMDgtMTAtMTEgMDY6MTk6MDJaIGFndXJ0b3ZveSAkCisvLyAkRGF0ZTogMjAwOC0xMC0xMCAyMzoxOTowMiAtMDcwMCAoRnJpLCAxMCBPY3QgMjAwOCkgJAorLy8gJFJldmlzaW9uOiA0OTI2NyAkCisKKworI2lmICFkZWZpbmVkKEJPT1NUX01QTF9QUkVQUk9DRVNTSU5HX01PREUpCisjICAgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2FyZy5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vYWRsX2JhcnJpZXIuaHBwPgorCisjICAgaWYgIWRlZmluZWQoQk9PU1RfTVBMX0NGR19OT19BRExfQkFSUklFUl9OQU1FU1BBQ0UpCisjICAgICAgIGRlZmluZSBCT09TVF9NUExfQVVYX0FSR19BRExfQkFSUklFUl9ERUNMKHR5cGUpIFwKKyAgICAgICAgdXNpbmcgOjpCT09TVF9NUExfQVVYX0FETF9CQVJSSUVSX05BTUVTUEFDRTo6dHlwZTsgXAorICAgICAgICAvKiovCisjICAgZWxzZQorIyAgICAgICBkZWZpbmUgQk9PU1RfTVBMX0FVWF9BUkdfQURMX0JBUlJJRVJfREVDTCh0eXBlKSAvKiovCisjICAgZW5kaWYKKworI2VuZGlmCisKKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9jb25maWcvdXNlX3ByZXByb2Nlc3NlZC5ocHA+CisKKyNpZiAhZGVmaW5lZChCT09TVF9NUExfQ0ZHX05PX1BSRVBST0NFU1NFRF9IRUFERVJTKSBcCisgJiYgIWRlZmluZWQoQk9PU1RfTVBMX1BSRVBST0NFU1NJTkdfTU9ERSkKKworIyAgIGRlZmluZSBCT09TVF9NUExfUFJFUFJPQ0VTU0VEX0hFQURFUiBwbGFjZWhvbGRlcnMuaHBwCisjICAgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vaW5jbHVkZV9wcmVwcm9jZXNzZWQuaHBwPgorCisjZWxzZQorCisjICAgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vbnR0cF9kZWNsLmhwcD4KKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvbGltaXRzL2FyaXR5LmhwcD4KKyMgICBpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3IvaXRlcmF0ZS5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL2NhdC5ocHA+CisKKy8vIHdhdGNoIG91dCBmb3IgR05VIGdldHRleHQgdXNlcnMsIHdobyAjZGVmaW5lIF8oeCkKKyNpZiAhZGVmaW5lZChfKSB8fCBkZWZpbmVkKEJPT1NUX01QTF9DRkdfTk9fVU5OQU1FRF9QTEFDRUhPTERFUl9TVVBQT1JUKQorQk9PU1RfTVBMX0FVWF9BRExfQkFSUklFUl9OQU1FU1BBQ0VfT1BFTgordHlwZWRlZiBhcmc8LTE+IF87CitCT09TVF9NUExfQVVYX0FETF9CQVJSSUVSX05BTUVTUEFDRV9DTE9TRQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsgCisKK0JPT1NUX01QTF9BVVhfQVJHX0FETF9CQVJSSUVSX0RFQ0woXykKKworbmFtZXNwYWNlIHBsYWNlaG9sZGVycyB7Cit1c2luZyBCT09TVF9NUExfQVVYX0FETF9CQVJSSUVSX05BTUVTUEFDRTo6XzsKK30KKworfX0KKyNlbmRpZgorCisvLy8gYWd1cnQsIDE3L21hci8wMjogb25lIG1vcmUgcGxhY2Vob2xkZXIgZm9yIHRoZSBsYXN0ICdhcHBseSMnIAorLy8vIHNwZWNpYWxpemF0aW9uCisjZGVmaW5lIEJPT1NUX1BQX0lURVJBVElPTl9QQVJBTVNfMSBcCisgICAgKDMsKDEsIEJPT1NUX01QTF9MSU1JVF9NRVRBRlVOQ1RJT05fQVJJVFkgKyAxLCA8bmRuYm9vc3QvbXBsL3BsYWNlaG9sZGVycy5ocHA+KSkKKyNpbmNsdWRlIEJPT1NUX1BQX0lURVJBVEUoKQorCisjZW5kaWYgLy8gQk9PU1RfTVBMX0NGR19OT19QUkVQUk9DRVNTRURfSEVBREVSUworI2VuZGlmIC8vIEJPT1NUX01QTF9QTEFDRUhPTERFUlNfSFBQX0lOQ0xVREVECisKKy8vLy8vIGl0ZXJhdGlvbgorCisjZWxzZQorI2RlZmluZSBpXyBCT09TVF9QUF9GUkFNRV9JVEVSQVRJT04oMSkKKworQk9PU1RfTVBMX0FVWF9BRExfQkFSUklFUl9OQU1FU1BBQ0VfT1BFTgorCit0eXBlZGVmIGFyZzxpXz4gQk9PU1RfUFBfQ0FUKF8saV8pOworCitCT09TVF9NUExfQVVYX0FETF9CQVJSSUVSX05BTUVTUEFDRV9DTE9TRQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsgCisKK0JPT1NUX01QTF9BVVhfQVJHX0FETF9CQVJSSUVSX0RFQ0woQk9PU1RfUFBfQ0FUKF8saV8pKQorCituYW1lc3BhY2UgcGxhY2Vob2xkZXJzIHsKK3VzaW5nIEJPT1NUX01QTF9BVVhfQURMX0JBUlJJRVJfTkFNRVNQQUNFOjpCT09TVF9QUF9DQVQoXyxpXyk7Cit9CisKK319CisKKyN1bmRlZiBpXworI2VuZGlmIC8vIEJPT1NUX1BQX0lTX0lURVJBVElORwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL3BsdXMuaHBwIGIvbmRuYm9vc3QvbXBsL3BsdXMuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVjZTUzNGQKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvcGx1cy5ocHAKQEAgLTAsMCArMSwyMSBAQAorCisjaWZuZGVmIEJPT1NUX01QTF9QTFVTX0hQUF9JTkNMVURFRAorI2RlZmluZSBCT09TVF9NUExfUExVU19IUFBfSU5DTFVERUQKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworLy8gU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL2xpYnMvbXBsIGZvciBkb2N1bWVudGF0aW9uLgorCisvLyAkSWQ6IHBsdXMuaHBwIDQ5MjY3IDIwMDgtMTAtMTEgMDY6MTk6MDJaIGFndXJ0b3ZveSAkCisvLyAkRGF0ZTogMjAwOC0xMC0xMCAyMzoxOTowMiAtMDcwMCAoRnJpLCAxMCBPY3QgMjAwOCkgJAorLy8gJFJldmlzaW9uOiA0OTI2NyAkCisKKyNkZWZpbmUgQVVYNzc4MDc2X09QX05BTUUgcGx1cworI2RlZmluZSBBVVg3NzgwNzZfT1BfVE9LRU4gKworI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2FyaXRobWV0aWNfb3AuaHBwPgorCisjZW5kaWYgLy8gQk9PU1RfTVBMX1BMVVNfSFBQX0lOQ0xVREVECmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvcG9wX2JhY2tfZndkLmhwcCBiL25kbmJvb3N0L21wbC9wb3BfYmFja19md2QuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZhMjI3OGEKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvcG9wX2JhY2tfZndkLmhwcApAQCAtMCwwICsxLDI0IEBACisKKyNpZm5kZWYgQk9PU1RfTVBMX1BPUF9CQUNLX0ZXRF9IUFBfSU5DTFVERUQKKyNkZWZpbmUgQk9PU1RfTVBMX1BPUF9CQUNLX0ZXRF9IUFBfSU5DTFVERUQKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworLy8gU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL2xpYnMvbXBsIGZvciBkb2N1bWVudGF0aW9uLgorCisvLyAkSWQ6IHBvcF9iYWNrX2Z3ZC5ocHAgNDkyNjcgMjAwOC0xMC0xMSAwNjoxOTowMlogYWd1cnRvdm95ICQKKy8vICREYXRlOiAyMDA4LTEwLTEwIDIzOjE5OjAyIC0wNzAwIChGcmksIDEwIE9jdCAyMDA4KSAkCisvLyAkUmV2aXNpb246IDQ5MjY3ICQKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUYWcgPiBzdHJ1Y3QgcG9wX2JhY2tfaW1wbDsKK3RlbXBsYXRlPCB0eXBlbmFtZSBTZXF1ZW5jZSA+IHN0cnVjdCBwb3BfYmFjazsKKworfX0KKworI2VuZGlmIC8vIEJPT1NUX01QTF9QT1BfQkFDS19GV0RfSFBQX0lOQ0xVREVECmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvcG9wX2Zyb250LmhwcCBiL25kbmJvb3N0L21wbC9wb3BfZnJvbnQuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZlN2YzY2IKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvcG9wX2Zyb250LmhwcApAQCAtMCwwICsxLDM5IEBACisKKyNpZm5kZWYgQk9PU1RfTVBMX1BPUF9GUk9OVF9IUFBfSU5DTFVERUQKKyNkZWZpbmUgQk9PU1RfTVBMX1BPUF9GUk9OVF9IUFBfSU5DTFVERUQKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworLy8gU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL2xpYnMvbXBsIGZvciBkb2N1bWVudGF0aW9uLgorCisvLyAkSWQ6IHBvcF9mcm9udC5ocHAgNDkyNjcgMjAwOC0xMC0xMSAwNjoxOTowMlogYWd1cnRvdm95ICQKKy8vICREYXRlOiAyMDA4LTEwLTEwIDIzOjE5OjAyIC0wNzAwIChGcmksIDEwIE9jdCAyMDA4KSAkCisvLyAkUmV2aXNpb246IDQ5MjY3ICQKKworI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9wb3BfZnJvbnRfZndkLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9wb3BfZnJvbnRfaW1wbC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL3NlcXVlbmNlX3RhZy5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vbmFfc3BlYy5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vbGFtYmRhX3N1cHBvcnQuaHBwPgorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKFNlcXVlbmNlKQorICAgID4KK3N0cnVjdCBwb3BfZnJvbnQKKyAgICA6IHBvcF9mcm9udF9pbXBsPCB0eXBlbmFtZSBzZXF1ZW5jZV90YWc8U2VxdWVuY2U+Ojp0eXBlID4KKyAgICAgICAgOjp0ZW1wbGF0ZSBhcHBseTwgU2VxdWVuY2UgPgoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoMSxwb3BfZnJvbnQsKFNlcXVlbmNlKSkKK307CisKK0JPT1NUX01QTF9BVVhfTkFfU1BFQygxLCBwb3BfZnJvbnQpCisKK319CisKKyNlbmRpZiAvLyBCT09TVF9NUExfUE9QX0ZST05UX0hQUF9JTkNMVURFRApkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL3BvcF9mcm9udF9md2QuaHBwIGIvbmRuYm9vc3QvbXBsL3BvcF9mcm9udF9md2QuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNmNWFiMmIKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvcG9wX2Zyb250X2Z3ZC5ocHAKQEAgLTAsMCArMSwyNCBAQAorCisjaWZuZGVmIEJPT1NUX01QTF9QT1BfRlJPTlRfRldEX0hQUF9JTkNMVURFRAorI2RlZmluZSBCT09TVF9NUExfUE9QX0ZST05UX0ZXRF9IUFBfSU5DTFVERUQKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworLy8gU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL2xpYnMvbXBsIGZvciBkb2N1bWVudGF0aW9uLgorCisvLyAkSWQ6IHBvcF9mcm9udF9md2QuaHBwIDQ5MjY3IDIwMDgtMTAtMTEgMDY6MTk6MDJaIGFndXJ0b3ZveSAkCisvLyAkRGF0ZTogMjAwOC0xMC0xMCAyMzoxOTowMiAtMDcwMCAoRnJpLCAxMCBPY3QgMjAwOCkgJAorLy8gJFJldmlzaW9uOiA0OTI2NyAkCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVGFnID4gc3RydWN0IHBvcF9mcm9udF9pbXBsOwordGVtcGxhdGU8IHR5cGVuYW1lIFNlcXVlbmNlID4gc3RydWN0IHBvcF9mcm9udDsKKworfX0KKworI2VuZGlmIC8vIEJPT1NUX01QTF9QT1BfRlJPTlRfRldEX0hQUF9JTkNMVURFRApkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL3ByaW9yLmhwcCBiL25kbmJvb3N0L21wbC9wcmlvci5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTdhZTRlNwotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9wcmlvci5ocHAKQEAgLTAsMCArMSwxOSBAQAorCisjaWZuZGVmIEJPT1NUX01QTF9QUklPUl9IUFBfSU5DTFVERUQKKyNkZWZpbmUgQk9PU1RfTVBMX1BSSU9SX0hQUF9JTkNMVURFRAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworLy8gU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL2xpYnMvbXBsIGZvciBkb2N1bWVudGF0aW9uLgorCisvLyAkSWQ6IHByaW9yLmhwcCA0OTI2NyAyMDA4LTEwLTExIDA2OjE5OjAyWiBhZ3VydG92b3kgJAorLy8gJERhdGU6IDIwMDgtMTAtMTAgMjM6MTk6MDIgLTA3MDAgKEZyaSwgMTAgT2N0IDIwMDgpICQKKy8vICRSZXZpc2lvbjogNDkyNjcgJAorCisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL25leHRfcHJpb3IuaHBwPgorCisjZW5kaWYgLy8gQk9PU1RfTVBMX1BSSU9SX0hQUF9JTkNMVURFRApkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL3Byb3RlY3QuaHBwIGIvbmRuYm9vc3QvbXBsL3Byb3RlY3QuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNlZmNjYTEKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvcHJvdGVjdC5ocHAKQEAgLTAsMCArMSw1NSBAQAorCisjaWZuZGVmIEJPT1NUX01QTF9QUk9URUNUX0hQUF9JTkNMVURFRAorI2RlZmluZSBCT09TVF9NUExfUFJPVEVDVF9IUFBfSU5DTFVERUQKKworLy8gQ29weXJpZ2h0IFBldGVyIERpbW92IDIwMDEKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDItMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKy8vIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL21wbCBmb3IgZG9jdW1lbnRhdGlvbi4KKworLy8gJElkOiBwcm90ZWN0LmhwcCA0OTI2NyAyMDA4LTEwLTExIDA2OjE5OjAyWiBhZ3VydG92b3kgJAorLy8gJERhdGU6IDIwMDgtMTAtMTAgMjM6MTk6MDIgLTA3MDAgKEZyaSwgMTAgT2N0IDIwMDgpICQKKy8vICRSZXZpc2lvbjogNDkyNjcgJAorCisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vYXJpdHkuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2NvbmZpZy9kdHAuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL250dHBfZGVjbC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vbmFfc3BlYy5ocHA+CisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oVCkKKyAgICAsIGludCBub3RfbGVfID0gMAorICAgID4KK3N0cnVjdCBwcm90ZWN0IDogVAoreworI2lmIEJPT1NUX1dPUktBUk9VTkQoX19FREdfVkVSU0lPTl9fLCA9PSAyMzgpCisgICAgdHlwZWRlZiBtcGw6OnByb3RlY3QgdHlwZTsKKyNlbHNlCisgICAgdHlwZWRlZiBwcm90ZWN0IHR5cGU7CisjZW5kaWYKK307CisKKyNpZiBkZWZpbmVkKEJPT1NUX01QTF9DRkdfQlJPS0VOX0RFRkFVTFRfUEFSQU1FVEVSU19JTl9ORVNURURfVEVNUExBVEVTKQorbmFtZXNwYWNlIGF1eCB7IAordGVtcGxhdGU8IEJPT1NUX01QTF9BVVhfTlRUUF9ERUNMKGludCwgTiksIHR5cGVuYW1lIFQgPgorc3RydWN0IGFyaXR5PCBwcm90ZWN0PFQ+LCBOID4gCisgICAgOiBhcml0eTxULE4+Cit7IAorfTsKK30gLy8gbmFtZXNwYWNlIGF1eAorI2VuZGlmCisKK0JPT1NUX01QTF9BVVhfTkFfU1BFQ19NQUlOKDEsIHByb3RlY3QpCisjaWYgIWRlZmluZWQoQk9PU1RfTVBMX0NGR19OT19GVUxMX0xBTUJEQV9TVVBQT1JUKQorQk9PU1RfTVBMX0FVWF9OQV9TUEVDX1RFTVBMQVRFX0FSSVRZKDEsIDEsIHByb3RlY3QpCisjZW5kaWYKKworfX0KKworI2VuZGlmIC8vIEJPT1NUX01QTF9QUk9URUNUX0hQUF9JTkNMVURFRApkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL3B1c2hfYmFjay5ocHAgYi9uZG5ib29zdC9tcGwvcHVzaF9iYWNrLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYTk4ZGFjCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL3B1c2hfYmFjay5ocHAKQEAgLTAsMCArMSw1MyBAQAorCisjaWZuZGVmIEJPT1NUX01QTF9QVVNIX0JBQ0tfSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX01QTF9QVVNIX0JBQ0tfSFBQX0lOQ0xVREVECisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKy8vIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL21wbCBmb3IgZG9jdW1lbnRhdGlvbi4KKworLy8gJElkOiBwdXNoX2JhY2suaHBwIDQ5MjY3IDIwMDgtMTAtMTEgMDY6MTk6MDJaIGFndXJ0b3ZveSAkCisvLyAkRGF0ZTogMjAwOC0xMC0xMCAyMzoxOTowMiAtMDcwMCAoRnJpLCAxMCBPY3QgMjAwOCkgJAorLy8gJFJldmlzaW9uOiA0OTI2NyAkCisKKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvcHVzaF9iYWNrX2Z3ZC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vcHVzaF9iYWNrX2ltcGwuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9zZXF1ZW5jZV90YWcuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL25hX3NwZWMuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2xhbWJkYV9zdXBwb3J0LmhwcD4KKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShTZXF1ZW5jZSkKKyAgICAsIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oVCkKKyAgICA+CitzdHJ1Y3QgcHVzaF9iYWNrCisgICAgOiBwdXNoX2JhY2tfaW1wbDwgdHlwZW5hbWUgc2VxdWVuY2VfdGFnPFNlcXVlbmNlPjo6dHlwZSA+CisgICAgICAgIDo6dGVtcGxhdGUgYXBwbHk8IFNlcXVlbmNlLFQgPgoreworICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoMixwdXNoX2JhY2ssKFNlcXVlbmNlLFQpKQorfTsKKworCit0ZW1wbGF0ZTwgCisgICAgICB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKFNlcXVlbmNlKQorICAgID4KK3N0cnVjdCBoYXNfcHVzaF9iYWNrCisgICAgOiBoYXNfcHVzaF9iYWNrX2ltcGw8IHR5cGVuYW1lIHNlcXVlbmNlX3RhZzxTZXF1ZW5jZT46OnR5cGUgPgorICAgICAgICA6OnRlbXBsYXRlIGFwcGx5PCBTZXF1ZW5jZSA+Cit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgxLGhhc19wdXNoX2JhY2ssKFNlcXVlbmNlKSkKK307CisKKworQk9PU1RfTVBMX0FVWF9OQV9TUEVDKDIsIHB1c2hfYmFjaykKK0JPT1NUX01QTF9BVVhfTkFfU1BFQygxLCBoYXNfcHVzaF9iYWNrKQorCit9fQorCisjZW5kaWYgLy8gQk9PU1RfTVBMX1BVU0hfQkFDS19IUFBfSU5DTFVERUQKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9wdXNoX2JhY2tfZndkLmhwcCBiL25kbmJvb3N0L21wbC9wdXNoX2JhY2tfZndkLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40OTk2MDdjCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL3B1c2hfYmFja19md2QuaHBwCkBAIC0wLDAgKzEsMjQgQEAKKworI2lmbmRlZiBCT09TVF9NUExfUFVTSF9CQUNLX0ZXRF9IUFBfSU5DTFVERUQKKyNkZWZpbmUgQk9PU1RfTVBMX1BVU0hfQkFDS19GV0RfSFBQX0lOQ0xVREVECisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKy8vIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL21wbCBmb3IgZG9jdW1lbnRhdGlvbi4KKworLy8gJElkOiBwdXNoX2JhY2tfZndkLmhwcCA0OTI2NyAyMDA4LTEwLTExIDA2OjE5OjAyWiBhZ3VydG92b3kgJAorLy8gJERhdGU6IDIwMDgtMTAtMTAgMjM6MTk6MDIgLTA3MDAgKEZyaSwgMTAgT2N0IDIwMDgpICQKKy8vICRSZXZpc2lvbjogNDkyNjcgJAorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFRhZyA+IHN0cnVjdCBwdXNoX2JhY2tfaW1wbDsKK3RlbXBsYXRlPCB0eXBlbmFtZSBTZXF1ZW5jZSwgdHlwZW5hbWUgVCA+IHN0cnVjdCBwdXNoX2JhY2s7CisKK319CisKKyNlbmRpZiAvLyBCT09TVF9NUExfUFVTSF9CQUNLX0ZXRF9IUFBfSU5DTFVERUQKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9wdXNoX2Zyb250LmhwcCBiL25kbmJvb3N0L21wbC9wdXNoX2Zyb250LmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMDgyNDhmCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL3B1c2hfZnJvbnQuaHBwCkBAIC0wLDAgKzEsNTIgQEAKKworI2lmbmRlZiBCT09TVF9NUExfUFVTSF9GUk9OVF9IUFBfSU5DTFVERUQKKyNkZWZpbmUgQk9PU1RfTVBMX1BVU0hfRlJPTlRfSFBQX0lOQ0xVREVECisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKy8vIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL21wbCBmb3IgZG9jdW1lbnRhdGlvbi4KKworLy8gJElkOiBwdXNoX2Zyb250LmhwcCA0OTI2NyAyMDA4LTEwLTExIDA2OjE5OjAyWiBhZ3VydG92b3kgJAorLy8gJERhdGU6IDIwMDgtMTAtMTAgMjM6MTk6MDIgLTA3MDAgKEZyaSwgMTAgT2N0IDIwMDgpICQKKy8vICRSZXZpc2lvbjogNDkyNjcgJAorCisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL3B1c2hfZnJvbnRfZndkLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9wdXNoX2Zyb250X2ltcGwuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9zZXF1ZW5jZV90YWcuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL25hX3NwZWMuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2xhbWJkYV9zdXBwb3J0LmhwcD4KKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShTZXF1ZW5jZSkKKyAgICAsIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oVCkKKyAgICA+CitzdHJ1Y3QgcHVzaF9mcm9udAorICAgIDogcHVzaF9mcm9udF9pbXBsPCB0eXBlbmFtZSBzZXF1ZW5jZV90YWc8U2VxdWVuY2U+Ojp0eXBlID4KKyAgICAgICAgOjp0ZW1wbGF0ZSBhcHBseTwgU2VxdWVuY2UsVCA+Cit7CisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgyLHB1c2hfZnJvbnQsKFNlcXVlbmNlLFQpKQorfTsKKworCit0ZW1wbGF0ZTwgCisgICAgICB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKFNlcXVlbmNlKQorICAgID4KK3N0cnVjdCBoYXNfcHVzaF9mcm9udAorICAgIDogaGFzX3B1c2hfZnJvbnRfaW1wbDwgdHlwZW5hbWUgc2VxdWVuY2VfdGFnPFNlcXVlbmNlPjo6dHlwZSA+CisgICAgICAgIDo6dGVtcGxhdGUgYXBwbHk8IFNlcXVlbmNlID4KK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKDEsaGFzX3B1c2hfZnJvbnQsKFNlcXVlbmNlKSkKK307CisKK0JPT1NUX01QTF9BVVhfTkFfU1BFQygyLCBwdXNoX2Zyb250KQorQk9PU1RfTVBMX0FVWF9OQV9TUEVDKDEsIGhhc19wdXNoX2Zyb250KQorCit9fQorCisjZW5kaWYgLy8gQk9PU1RfTVBMX1BVU0hfRlJPTlRfSFBQX0lOQ0xVREVECmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvcHVzaF9mcm9udF9md2QuaHBwIGIvbmRuYm9vc3QvbXBsL3B1c2hfZnJvbnRfZndkLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ZTYyZjEwCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL3B1c2hfZnJvbnRfZndkLmhwcApAQCAtMCwwICsxLDI0IEBACisKKyNpZm5kZWYgQk9PU1RfTVBMX1BVU0hfRlJPTlRfRldEX0hQUF9JTkNMVURFRAorI2RlZmluZSBCT09TVF9NUExfUFVTSF9GUk9OVF9GV0RfSFBQX0lOQ0xVREVECisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKy8vIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL21wbCBmb3IgZG9jdW1lbnRhdGlvbi4KKworLy8gJElkOiBwdXNoX2Zyb250X2Z3ZC5ocHAgNDkyNjcgMjAwOC0xMC0xMSAwNjoxOTowMlogYWd1cnRvdm95ICQKKy8vICREYXRlOiAyMDA4LTEwLTEwIDIzOjE5OjAyIC0wNzAwIChGcmksIDEwIE9jdCAyMDA4KSAkCisvLyAkUmV2aXNpb246IDQ5MjY3ICQKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUYWcgPiBzdHJ1Y3QgcHVzaF9mcm9udF9pbXBsOwordGVtcGxhdGU8IHR5cGVuYW1lIFNlcXVlbmNlLCB0eXBlbmFtZSBUID4gc3RydWN0IHB1c2hfZnJvbnQ7CisKK319CisKKyNlbmRpZiAvLyBCT09TVF9NUExfUFVTSF9GUk9OVF9GV0RfSFBQX0lOQ0xVREVECmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvcXVvdGUuaHBwIGIvbmRuYm9vc3QvbXBsL3F1b3RlLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMTU5ZTE4Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL3F1b3RlLmhwcApAQCAtMCwwICsxLDE1MSBAQAorCisjaWYgIWRlZmluZWQoQk9PU1RfUFBfSVNfSVRFUkFUSU5HKQorCisvLy8vLyBoZWFkZXIgYm9keQorCisjaWZuZGVmIEJPT1NUX01QTF9RVU9URV9IUFBfSU5DTFVERUQKKyNkZWZpbmUgQk9PU1RfTVBMX1FVT1RFX0hQUF9JTkNMVURFRAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDgKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisvLyBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvbGlicy9tcGwgZm9yIGRvY3VtZW50YXRpb24uCisKKy8vICRJZDogcXVvdGUuaHBwIDQ5MjcyIDIwMDgtMTAtMTEgMDY6NTA6NDZaIGFndXJ0b3ZveSAkCisvLyAkRGF0ZTogMjAwOC0xMC0xMCAyMzo1MDo0NiAtMDcwMCAoRnJpLCAxMCBPY3QgMjAwOCkgJAorLy8gJFJldmlzaW9uOiA0OTI3MiAkCisKKyNpZiAhZGVmaW5lZChCT09TVF9NUExfUFJFUFJPQ0VTU0lOR19NT0RFKQorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC92b2lkLmhwcD4KKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9oYXNfdHlwZS5ocHA+CisjZW5kaWYKKworI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2NvbmZpZy9iY2MuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2NvbmZpZy90dHAuaHBwPgorCisjaWYgZGVmaW5lZChCT09TVF9NUExfQ0ZHX05PX1RFTVBMQVRFX1RFTVBMQVRFX1BBUkFNRVRFUlMpIFwKKyAgICAmJiAhZGVmaW5lZChCT09TVF9NUExfQ0ZHX0JDQzU5MF9XT1JLQVJPVU5EUykKKyMgICBkZWZpbmUgQk9PU1RfTVBMX0NGR19OT19RVU9URV9URU1QTEFURQorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChCT09TVF9NUExfQ0ZHX05PX0lNUExJQ0lUX01FVEFGVU5DVElPTlMpIFwKKyAgICAmJiBkZWZpbmVkKEJPT1NUX01QTF9DRkdfTk9fSEFTX1hYWCkKKyMgICBkZWZpbmUgQk9PU1RfTVBMX0NGR19OT19JTVBMSUNJVF9NRVRBRlVOQ1RJT05TCisjZW5kaWYKKworI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2NvbmZpZy91c2VfcHJlcHJvY2Vzc2VkLmhwcD4KKworI2lmICFkZWZpbmVkKEJPT1NUX01QTF9DRkdfTk9fUFJFUFJPQ0VTU0VEX0hFQURFUlMpIFwKKyAmJiAhZGVmaW5lZChCT09TVF9NUExfUFJFUFJPQ0VTU0lOR19NT0RFKQorCisjICAgZGVmaW5lIEJPT1NUX01QTF9QUkVQUk9DRVNTRURfSEVBREVSIHF1b3RlLmhwcAorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2luY2x1ZGVfcHJlcHJvY2Vzc2VkLmhwcD4KKworI2Vsc2UKKworIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC9saW1pdHMvYXJpdHkuaHBwPgorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL3ByZXByb2Nlc3Nvci9wYXJhbXMuaHBwPgorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2NvbmZpZy9jdHBzLmhwcD4KKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9jb25maWcvd29ya2Fyb3VuZC5ocHA+CisKKyMgICBpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3IvaXRlcmF0ZS5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL2NhdC5ocHA+CisKKyNpZiAhZGVmaW5lZChCT09TVF9NUExfQ0ZHX05PX1FVT1RFX1RFTVBMQVRFKQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKworI2lmICFkZWZpbmVkKEJPT1NUX05PX1RFTVBMQVRFX1BBUlRJQUxfU1BFQ0lBTElaQVRJT04pCisKK3RlbXBsYXRlPCB0eXBlbmFtZSBULCBib29sIGhhc190eXBlXyA+CitzdHJ1Y3QgcXVvdGVfaW1wbAorLy8gR0NDIGhhcyBhIHByb2JsZW0gd2l0aCBtZXRhZnVuY3Rpb24gZm9yd2FyZGluZyB3aGVuIFQgaXMgYQorLy8gc3BlY2lhbGl6YXRpb24gb2YgYSB0ZW1wbGF0ZSBjYWxsZWQgJ3R5cGUnLgorIyBpZiBCT09TVF9XT1JLQVJPVU5EKF9fR05VQ19fLCBCT09TVF9URVNURURfQVQoNCkpIFwKKyAgICAmJiBCT09TVF9XT1JLQVJPVU5EKF9fR05VQ19NSU5PUl9fLCBCT09TVF9URVNURURfQVQoMCkpIFwKKyAgICAmJiBCT09TVF9XT1JLQVJPVU5EKF9fR05VQ19QQVRDSExFVkVMX18sIEJPT1NUX1RFU1RFRF9BVCgyKSkKK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIFQ6OnR5cGUgdHlwZTsKK307CisjIGVsc2UgCisgICAgOiBUCit7Cit9OworIyBlbmRpZiAKKwordGVtcGxhdGU8IHR5cGVuYW1lIFQgPgorc3RydWN0IHF1b3RlX2ltcGw8VCxmYWxzZT4KK3sKKyAgICB0eXBlZGVmIFQgdHlwZTsKK307CisKKyNlbHNlIC8vIEJPT1NUX05PX1RFTVBMQVRFX1BBUlRJQUxfU1BFQ0lBTElaQVRJT04KKwordGVtcGxhdGU8IGJvb2wgPiBzdHJ1Y3QgcXVvdGVfaW1wbAoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBUID4gc3RydWN0IHJlc3VsdF8KKyAgICAgICAgOiBUCisgICAgeworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCBxdW90ZV9pbXBsPGZhbHNlPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBUID4gc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgVCB0eXBlOworICAgIH07Cit9OworCisjZW5kaWYgCisKKyNkZWZpbmUgQk9PU1RfUFBfSVRFUkFUSU9OX1BBUkFNU18xIFwKKyAgICAoMywoMSwgQk9PU1RfTVBMX0xJTUlUX01FVEFGVU5DVElPTl9BUklUWSwgPG5kbmJvb3N0L21wbC9xdW90ZS5ocHA+KSkKKyNpbmNsdWRlIEJPT1NUX1BQX0lURVJBVEUoKQorCit9fQorCisjZW5kaWYgLy8gQk9PU1RfTVBMX0NGR19OT19RVU9URV9URU1QTEFURQorCisjZW5kaWYgLy8gQk9PU1RfTVBMX0NGR19OT19QUkVQUk9DRVNTRURfSEVBREVSUworI2VuZGlmIC8vIEJPT1NUX01QTF9RVU9URV9IUFBfSU5DTFVERUQKKworLy8vLy8gaXRlcmF0aW9uCisKKyNlbHNlCisjZGVmaW5lIGlfIEJPT1NUX1BQX0ZSQU1FX0lURVJBVElPTigxKQorCit0ZW1wbGF0ZTwKKyAgICAgIHRlbXBsYXRlPCBCT09TVF9NUExfUFBfUEFSQU1TKGlfLCB0eXBlbmFtZSBQKSA+IGNsYXNzIEYKKyAgICAsIHR5cGVuYW1lIFRhZyA9IHZvaWRfCisgICAgPgorc3RydWN0IEJPT1NUX1BQX0NBVChxdW90ZSxpXykKK3sKKyAgICB0ZW1wbGF0ZTwgQk9PU1RfTVBMX1BQX1BBUkFNUyhpXywgdHlwZW5hbWUgVSkgPiBzdHJ1Y3QgYXBwbHkKKyNpZiBkZWZpbmVkKEJPT1NUX01QTF9DRkdfQkNDNTkwX1dPUktBUk9VTkRTKQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBxdW90ZV9pbXBsPAorICAgICAgICAgICAgICBGPCBCT09TVF9NUExfUFBfUEFSQU1TKGlfLCBVKSA+CisgICAgICAgICAgICAsIGF1eDo6aGFzX3R5cGU8IEY8IEJPT1NUX01QTF9QUF9QQVJBTVMoaV8sIFUpID4gPjo6dmFsdWUKKyAgICAgICAgICAgID46OnR5cGUgdHlwZTsKKyAgICB9OworI2VsaWYgIWRlZmluZWQoQk9PU1RfTk9fVEVNUExBVEVfUEFSVElBTF9TUEVDSUFMSVpBVElPTikKKyAgICAgICAgOiBxdW90ZV9pbXBsPAorICAgICAgICAgICAgICBGPCBCT09TVF9NUExfUFBfUEFSQU1TKGlfLCBVKSA+CisgICAgICAgICAgICAsIGF1eDo6aGFzX3R5cGU8IEY8IEJPT1NUX01QTF9QUF9QQVJBTVMoaV8sIFUpID4gPjo6dmFsdWUKKyAgICAgICAgICAgID4KKyAgICB7CisgICAgfTsKKyNlbHNlCisgICAgICAgIDogcXVvdGVfaW1wbDwgYXV4OjpoYXNfdHlwZTwgRjwgQk9PU1RfTVBMX1BQX1BBUkFNUyhpXywgVSkgPiA+Ojp2YWx1ZSA+CisgICAgICAgICAgICA6OnRlbXBsYXRlIHJlc3VsdF88IEY8IEJPT1NUX01QTF9QUF9QQVJBTVMoaV8sIFUpID4gPgorICAgIHsKKyAgICB9OworI2VuZGlmCit9OworCisjdW5kZWYgaV8KKyNlbmRpZiAvLyBCT09TVF9QUF9JU19JVEVSQVRJTkcKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9yZW1vdmUuaHBwIGIvbmRuYm9vc3QvbXBsL3JlbW92ZS5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjA4MGNmYwotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9yZW1vdmUuaHBwCkBAIC0wLDAgKzEsNTIgQEAKKworI2lmbmRlZiBCT09TVF9NUExfUkVNT1ZFX0hQUF9JTkNMVURFRAorI2RlZmluZSBCT09TVF9NUExfUkVNT1ZFX0hQUF9JTkNMVURFRAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vIENvcHlyaWdodCBEYXZpZCBBYnJhaGFtcyAyMDAzLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisvLyBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvbGlicy9tcGwgZm9yIGRvY3VtZW50YXRpb24uCisKKy8vICRJZDogcmVtb3ZlLmhwcCA0OTI2NyAyMDA4LTEwLTExIDA2OjE5OjAyWiBhZ3VydG92b3kgJAorLy8gJERhdGU6IDIwMDgtMTAtMTAgMjM6MTk6MDIgLTA3MDAgKEZyaSwgMTAgT2N0IDIwMDgpICQKKy8vICRSZXZpc2lvbjogNDkyNjcgJAorCisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL3JlbW92ZV9pZi5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL3NhbWVfYXMuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2luc2VydGVyX2FsZ29yaXRobS5ocHA+CisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCituYW1lc3BhY2UgYXV4IHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBTZXF1ZW5jZQorICAgICwgdHlwZW5hbWUgVAorICAgICwgdHlwZW5hbWUgSW5zZXJ0ZXIgCisgICAgPgorc3RydWN0IHJlbW92ZV9pbXBsCisgICAgOiByZW1vdmVfaWZfaW1wbDwgU2VxdWVuY2UsIHNhbWVfYXM8VD4sIEluc2VydGVyID4KK3sKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgU2VxdWVuY2UKKyAgICAsIHR5cGVuYW1lIFQKKyAgICAsIHR5cGVuYW1lIEluc2VydGVyIAorICAgID4KK3N0cnVjdCByZXZlcnNlX3JlbW92ZV9pbXBsCisgICAgOiByZXZlcnNlX3JlbW92ZV9pZl9pbXBsPCBTZXF1ZW5jZSwgc2FtZV9hczxUPiwgSW5zZXJ0ZXIgPgoreworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK0JPT1NUX01QTF9BVVhfSU5TRVJURVJfQUxHT1JJVEhNX0RFRigzLCByZW1vdmUpCisKK319CisKKyNlbmRpZiAvLyBCT09TVF9NUExfUkVNT1ZFX0hQUF9JTkNMVURFRApkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL3JlbW92ZV9pZi5ocHAgYi9uZG5ib29zdC9tcGwvcmVtb3ZlX2lmLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMjBhMDFjCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL3JlbW92ZV9pZi5ocHAKQEAgLTAsMCArMSw4MyBAQAorCisjaWZuZGVmIEJPT1NUX01QTF9SRU1PVkVfSUZfSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX01QTF9SRU1PVkVfSUZfSFBQX0lOQ0xVREVECisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8gQ29weXJpZ2h0IERhdmlkIEFicmFoYW1zIDIwMDMtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKy8vIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL21wbCBmb3IgZG9jdW1lbnRhdGlvbi4KKworLy8gJElkOiByZW1vdmVfaWYuaHBwIDQ5MjY3IDIwMDgtMTAtMTEgMDY6MTk6MDJaIGFndXJ0b3ZveSAkCisvLyAkRGF0ZTogMjAwOC0xMC0xMCAyMzoxOTowMiAtMDcwMCAoRnJpLCAxMCBPY3QgMjAwOCkgJAorLy8gJFJldmlzaW9uOiA0OTI2NyAkCisKKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvZm9sZC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL3JldmVyc2VfZm9sZC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2V2YWxfaWYuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9pZGVudGl0eS5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL3Byb3RlY3QuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9sYW1iZGEuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hcHBseS5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vaW5zZXJ0ZXJfYWxnb3JpdGhtLmhwcD4KKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK25hbWVzcGFjZSBhdXggeworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgUHJlZCwgdHlwZW5hbWUgSW5zZXJ0T3AgPiBzdHJ1Y3QgcmVtb3ZlX2lmX2hlbHBlcgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBTZXF1ZW5jZSwgdHlwZW5hbWUgVSA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBldmFsX2lmPAorICAgICAgICAgICAgICB0eXBlbmFtZSBhcHBseTE8UHJlZCxVPjo6dHlwZQorICAgICAgICAgICAgLCBpZGVudGl0eTxTZXF1ZW5jZT4KKyAgICAgICAgICAgICwgYXBwbHkyPEluc2VydE9wLFNlcXVlbmNlLFU+CisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgU2VxdWVuY2UKKyAgICAsIHR5cGVuYW1lIFByZWRpY2F0ZQorICAgICwgdHlwZW5hbWUgSW5zZXJ0ZXIKKyAgICA+CitzdHJ1Y3QgcmVtb3ZlX2lmX2ltcGwKKyAgICA6IGZvbGQ8CisgICAgICAgICAgU2VxdWVuY2UKKyAgICAgICAgLCB0eXBlbmFtZSBJbnNlcnRlcjo6c3RhdGUKKyAgICAgICAgLCBwcm90ZWN0PCBhdXg6OnJlbW92ZV9pZl9oZWxwZXI8CisgICAgICAgICAgICAgIHR5cGVuYW1lIGxhbWJkYTxQcmVkaWNhdGU+Ojp0eXBlCisgICAgICAgICAgICAsIHR5cGVuYW1lIEluc2VydGVyOjpvcGVyYXRpb24KKyAgICAgICAgICAgID4gPgorICAgICAgICA+Cit7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFNlcXVlbmNlCisgICAgLCB0eXBlbmFtZSBQcmVkaWNhdGUKKyAgICAsIHR5cGVuYW1lIEluc2VydGVyCisgICAgPgorc3RydWN0IHJldmVyc2VfcmVtb3ZlX2lmX2ltcGwKKyAgICA6IHJldmVyc2VfZm9sZDwKKyAgICAgICAgICBTZXF1ZW5jZQorICAgICAgICAsIHR5cGVuYW1lIEluc2VydGVyOjpzdGF0ZQorICAgICAgICAsIHByb3RlY3Q8IGF1eDo6cmVtb3ZlX2lmX2hlbHBlcjwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgbGFtYmRhPFByZWRpY2F0ZT46OnR5cGUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgSW5zZXJ0ZXI6Om9wZXJhdGlvbgorICAgICAgICAgICAgPiA+CisgICAgICAgID4KK3sKK307CisKK30gLy8gbmFtZXNwYWNlIGF1eAorCitCT09TVF9NUExfQVVYX0lOU0VSVEVSX0FMR09SSVRITV9ERUYoMywgcmVtb3ZlX2lmKQorCit9fQorCisjZW5kaWYgLy8gQk9PU1RfTVBMX1JFTU9WRV9JRl9IUFBfSU5DTFVERUQKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9yZXZlcnNlX2ZvbGQuaHBwIGIvbmRuYm9vc3QvbXBsL3JldmVyc2VfZm9sZC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWQ1ZDlkOAotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9yZXZlcnNlX2ZvbGQuaHBwCkBAIC0wLDAgKzEsNTAgQEAKKworI2lmbmRlZiBCT09TVF9NUExfUkVWRVJTRV9GT0xEX0hQUF9JTkNMVURFRAorI2RlZmluZSBCT09TVF9NUExfUkVWRVJTRV9GT0xEX0hQUF9JTkNMVURFRAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAxLTIwMDQKKy8vIENvcHlyaWdodCBEYXZpZCBBYnJhaGFtcyAyMDAxLTIwMDIKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisvLyBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvbGlicy9tcGwgZm9yIGRvY3VtZW50YXRpb24uCisKKy8vICRJZDogcmV2ZXJzZV9mb2xkLmhwcCA0OTI2NyAyMDA4LTEwLTExIDA2OjE5OjAyWiBhZ3VydG92b3kgJAorLy8gJERhdGU6IDIwMDgtMTAtMTAgMjM6MTk6MDIgLTA3MDAgKEZyaSwgMTAgT2N0IDIwMDgpICQKKy8vICRSZXZpc2lvbjogNDkyNjcgJAorCisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2JlZ2luX2VuZC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL08xX3NpemUuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hcmcuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL3JldmVyc2VfZm9sZF9pbXBsLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9uYV9zcGVjLmhwcD4KKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgQk9PU1RfTVBMX0FVWF9OQV9QQVJBTShTZXF1ZW5jZSkKKyAgICAsIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oU3RhdGUpCisgICAgLCB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKEJhY2t3YXJkT3ApCisgICAgLCB0eXBlbmFtZSBGb3J3YXJkT3AgPSBhcmc8MT4KKyAgICA+CitzdHJ1Y3QgcmV2ZXJzZV9mb2xkCit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBhdXg6OnJldmVyc2VfZm9sZF9pbXBsPAorICAgICAgICAgIDo6bmRuYm9vc3Q6Om1wbDo6TzFfc2l6ZTxTZXF1ZW5jZT46OnZhbHVlCisgICAgICAgICwgdHlwZW5hbWUgYmVnaW48U2VxdWVuY2U+Ojp0eXBlCisgICAgICAgICwgdHlwZW5hbWUgZW5kPFNlcXVlbmNlPjo6dHlwZQorICAgICAgICAsIFN0YXRlCisgICAgICAgICwgQmFja3dhcmRPcAorICAgICAgICAsIEZvcndhcmRPcAorICAgICAgICA+OjpzdGF0ZSB0eXBlOworCisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgzLHJldmVyc2VfZm9sZCwoU2VxdWVuY2UsU3RhdGUsQmFja3dhcmRPcCkpCit9OworCitCT09TVF9NUExfQVVYX05BX1NQRUMoMywgcmV2ZXJzZV9mb2xkKQorCit9fQorCisjZW5kaWYgLy8gQk9PU1RfTVBMX1JFVkVSU0VfRk9MRF9IUFBfSU5DTFVERUQKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC9zYW1lX2FzLmhwcCBiL25kbmJvb3N0L21wbC9zYW1lX2FzLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNzczNmIwCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL3NhbWVfYXMuaHBwCkBAIC0wLDAgKzEsNTUgQEAKKworI2lmbmRlZiBCT09TVF9NUExfU0FNRV9BU19IUFBfSU5DTFVERUQKKyNkZWZpbmUgQk9PU1RfTVBMX1NBTUVfQVNfSFBQX0lOQ0xVREVECisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKy8vIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL21wbCBmb3IgZG9jdW1lbnRhdGlvbi4KKworLy8gJElkOiBzYW1lX2FzLmhwcCA0OTI2NyAyMDA4LTEwLTExIDA2OjE5OjAyWiBhZ3VydG92b3kgJAorLy8gJERhdGU6IDIwMDgtMTAtMTAgMjM6MTk6MDIgLTA3MDAgKEZyaSwgMTAgT2N0IDIwMDgpICQKKy8vICRSZXZpc2lvbjogNDkyNjcgJAorCisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL25vdC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vbGFtYmRhX3NwZWMuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2NvbmZpZy9mb3J3YXJkaW5nLmhwcD4KKworI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2lzX3NhbWUuaHBwPgorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFQxID4KK3N0cnVjdCBzYW1lX2FzCit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFQyID4gc3RydWN0IGFwcGx5CisjaWYgIWRlZmluZWQoQk9PU1RfTVBMX0NGR19OT19ORVNURURfRk9SV0FSRElORykKKyAgICAgICAgOiBpc19zYW1lPFQxLFQyPgorICAgIHsKKyNlbHNlCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGlzX3NhbWU8VDEsVDI+Ojp0eXBlIHR5cGU7CisjZW5kaWYKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFQxID4KK3N0cnVjdCBub3Rfc2FtZV9hcworeworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBUMiA+IHN0cnVjdCBhcHBseQorI2lmICFkZWZpbmVkKEJPT1NUX01QTF9DRkdfTk9fTkVTVEVEX0ZPUldBUkRJTkcpCisgICAgICAgIDogbm90XzwgaXNfc2FtZTxUMSxUMj4gPgorICAgIHsKKyNlbHNlCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG5vdF88IGlzX3NhbWU8VDEsVDI+ID46OnR5cGUgdHlwZTsKKyNlbmRpZgorICAgIH07Cit9OworCit9fQorCisjZW5kaWYgLy8gQk9PU1RfTVBMX1NBTUVfQVNfSFBQX0lOQ0xVREVECmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvc2VxdWVuY2VfdGFnLmhwcCBiL25kbmJvb3N0L21wbC9zZXF1ZW5jZV90YWcuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY5YTcxOTMKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvc2VxdWVuY2VfdGFnLmhwcApAQCAtMCwwICsxLDEyNCBAQAorCisjaWZuZGVmIEJPT1NUX01QTF9TRVFVRU5DRV9UQUdfSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX01QTF9TRVFVRU5DRV9UQUdfSFBQX0lOQ0xVREVECisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKy8vIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL21wbCBmb3IgZG9jdW1lbnRhdGlvbi4KKworLy8gJElkOiBzZXF1ZW5jZV90YWcuaHBwIDQ5MjY3IDIwMDgtMTAtMTEgMDY6MTk6MDJaIGFndXJ0b3ZveSAkCisvLyAkRGF0ZTogMjAwOC0xMC0xMCAyMzoxOTowMiAtMDcwMCAoRnJpLCAxMCBPY3QgMjAwOCkgJAorLy8gJFJldmlzaW9uOiA0OTI2NyAkCisKKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvc2VxdWVuY2VfdGFnX2Z3ZC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vaGFzX3RhZy5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vaGFzX2JlZ2luLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9uYV9zcGVjLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9pc19tc3ZjX2V0aV9hcmcuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2NvbmZpZy9ldGkuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL3llc19uby5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vY29uZmlnL3dvcmthcm91bmQuaHBwPgorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKworLy8gYWd1cnQsIDI3L25vdi8wMjogaGF2ZSB0byB1c2UgYSBzaW1wbGlzdGljICdzZXF1ZW5jZV90YWcnIGltcGxlbWVudGF0aW9uCisvLyBvbiBNU1ZDIHRvIGF2b2lkIGRyZWFkZnVsICJpbnRlcm5hbCBzdHJ1Y3R1cmUgb3ZlcmZsb3ciIGVycm9yCisjaWYgQk9PU1RfV09SS0FST1VORChCT09TVF9NU1ZDLCA8IDEzMDApIFwKKyAgICB8fCBkZWZpbmVkKEJPT1NUX01QTF9DRkdfTk9fSEFTX1hYWCkKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKFNlcXVlbmNlKQorICAgID4KK3N0cnVjdCBzZXF1ZW5jZV90YWcKK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIFNlcXVlbmNlOjp0YWcgdHlwZTsKK307CisKKyNlbGlmIEJPT1NUX1dPUktBUk9VTkQoQk9PU1RfTVNWQywgPT0gMTMwMCkKKworLy8gYWd1cnQsIDA3L2ZlYi8wMzogd29ya2Fyb3VuZCBmb3Igd2hhdCBzZWVtcyB0byBiZSBNU1ZDIDcuMC1zcGVjaWZpYyBFVEkgaXNzdWUKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPCBib29sID4KK3N0cnVjdCBzZXF1ZW5jZV90YWdfaW1wbAoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBTZXF1ZW5jZSA+IHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIFNlcXVlbmNlOjp0YWcgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHNlcXVlbmNlX3RhZ19pbXBsPGZhbHNlPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBTZXF1ZW5jZSA+IHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIGludCB0eXBlOworICAgIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBhdXgKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBCT09TVF9NUExfQVVYX05BX1BBUkFNKFNlcXVlbmNlKQorICAgID4KK3N0cnVjdCBzZXF1ZW5jZV90YWcKKyAgICA6IGF1eDo6c2VxdWVuY2VfdGFnX2ltcGw8ICFhdXg6OmlzX21zdmNfZXRpX2FyZzxTZXF1ZW5jZT46OnZhbHVlID4KKyAgICAgICAgOjp0ZW1wbGF0ZSByZXN1bHRfPFNlcXVlbmNlPgoreworfTsKKworI2Vsc2UKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPCBib29sIGhhc190YWdfLCBib29sIGhhc19iZWdpbl8gPgorc3RydWN0IHNlcXVlbmNlX3RhZ19pbXBsCit7CisgICAgLy8gYWd1cnQgMjQvbm92LzAyOiBNU1ZDIDYuNSBnZXRzIGNvbmZ1c2VkIGluICdzZXF1ZW5jZV90YWdfaW1wbDx0cnVlPicgCisgICAgLy8gc3BlY2lhbGl6YXRpb24gYmVsb3csIGlmIHdlIG5hbWUgaXQgJ3Jlc3VsdF8nIGhlcmUKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgU2VxdWVuY2UgPiBzdHJ1Y3QgcmVzdWx0Ml87Cit9OworCisjICAgZGVmaW5lIEFVWF9DTEFTU19TRVFVRU5DRV9UQUdfU1BFQyhoYXNfdGFnLCBoYXNfYmVnaW4sIHJlc3VsdF90eXBlKSBcCit0ZW1wbGF0ZTw+IHN0cnVjdCBzZXF1ZW5jZV90YWdfaW1wbDxoYXNfdGFnLGhhc19iZWdpbj4gXAoreyBcCisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFNlcXVlbmNlID4gc3RydWN0IHJlc3VsdDJfIFwKKyAgICB7IFwKKyAgICAgICAgdHlwZWRlZiByZXN1bHRfdHlwZSB0eXBlOyBcCisgICAgfTsgXAorfTsgXAorLyoqLworCitBVVhfQ0xBU1NfU0VRVUVOQ0VfVEFHX1NQRUModHJ1ZSwgdHJ1ZSwgdHlwZW5hbWUgU2VxdWVuY2U6OnRhZykKK0FVWF9DTEFTU19TRVFVRU5DRV9UQUdfU1BFQyh0cnVlLCBmYWxzZSwgdHlwZW5hbWUgU2VxdWVuY2U6OnRhZykKK0FVWF9DTEFTU19TRVFVRU5DRV9UQUdfU1BFQyhmYWxzZSwgdHJ1ZSwgbmVzdGVkX2JlZ2luX2VuZF90YWcpCitBVVhfQ0xBU1NfU0VRVUVOQ0VfVEFHX1NQRUMoZmFsc2UsIGZhbHNlLCBub25fc2VxdWVuY2VfdGFnKQorCisjICAgdW5kZWYgQVVYX0NMQVNTX1NFUVVFTkNFX1RBR19TUEVDCisKK30gLy8gbmFtZXNwYWNlIGF1eAorCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oU2VxdWVuY2UpCisgICAgPgorc3RydWN0IHNlcXVlbmNlX3RhZworICAgIDogYXV4OjpzZXF1ZW5jZV90YWdfaW1wbDwKKyAgICAgICAgICA6Om5kbmJvb3N0OjptcGw6OmF1eDo6aGFzX3RhZzxTZXF1ZW5jZT46OnZhbHVlCisgICAgICAgICwgOjpuZG5ib29zdDo6bXBsOjphdXg6Omhhc19iZWdpbjxTZXF1ZW5jZT46OnZhbHVlCisgICAgICAgID46OnRlbXBsYXRlIHJlc3VsdDJfPFNlcXVlbmNlPgoreworfTsKKworI2VuZGlmIC8vIEJPT1NUX01TVkMKKworQk9PU1RfTVBMX0FVWF9OQV9TUEVDKDEsIHNlcXVlbmNlX3RhZykKKworfX0KKworI2VuZGlmIC8vIEJPT1NUX01QTF9TRVFVRU5DRV9UQUdfSFBQX0lOQ0xVREVECmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvc2VxdWVuY2VfdGFnX2Z3ZC5ocHAgYi9uZG5ib29zdC9tcGwvc2VxdWVuY2VfdGFnX2Z3ZC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTE0MGE2ZAotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9zZXF1ZW5jZV90YWdfZndkLmhwcApAQCAtMCwwICsxLDI2IEBACisKKyNpZm5kZWYgQk9PU1RfTVBMX1NFUVVFTkNFX1RBR19GV0RfSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX01QTF9TRVFVRU5DRV9UQUdfRldEX0hQUF9JTkNMVURFRAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisvLyBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvbGlicy9tcGwgZm9yIGRvY3VtZW50YXRpb24uCisKKy8vICRJZDogc2VxdWVuY2VfdGFnX2Z3ZC5ocHAgNDkyNjcgMjAwOC0xMC0xMSAwNjoxOTowMlogYWd1cnRvdm95ICQKKy8vICREYXRlOiAyMDA4LTEwLTEwIDIzOjE5OjAyIC0wNzAwIChGcmksIDEwIE9jdCAyMDA4KSAkCisvLyAkUmV2aXNpb246IDQ5MjY3ICQKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3N0cnVjdCBuZXN0ZWRfYmVnaW5fZW5kX3RhZzsKK3N0cnVjdCBub25fc2VxdWVuY2VfdGFnOworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgU2VxdWVuY2UgPiBzdHJ1Y3Qgc2VxdWVuY2VfdGFnOworCit9fQorCisjZW5kaWYgLy8gQk9PU1RfTVBMX1NFUVVFTkNFX1RBR19GV0RfSFBQX0lOQ0xVREVECmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvc2l6ZS5ocHAgYi9uZG5ib29zdC9tcGwvc2l6ZS5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjUzOGNjMgotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9zaXplLmhwcApAQCAtMCwwICsxLDQyIEBACisKKyNpZm5kZWYgQk9PU1RfTVBMX1NJWkVfSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX01QTF9TSVpFX0hQUF9JTkNMVURFRAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisvLyBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvbGlicy9tcGwgZm9yIGRvY3VtZW50YXRpb24uCisKKy8vICRJZDogc2l6ZS5ocHAgNDkyNjcgMjAwOC0xMC0xMSAwNjoxOTowMlogYWd1cnRvdm95ICQKKy8vICREYXRlOiAyMDA4LTEwLTEwIDIzOjE5OjAyIC0wNzAwIChGcmksIDEwIE9jdCAyMDA4KSAkCisvLyAkUmV2aXNpb246IDQ5MjY3ICQKKworI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9zaXplX2Z3ZC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL3NlcXVlbmNlX3RhZy5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vc2l6ZV9pbXBsLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9uYV9zcGVjLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9sYW1iZGFfc3VwcG9ydC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vbXN2Y19ldGlfYmFzZS5ocHA+CisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIEJPT1NUX01QTF9BVVhfTkFfUEFSQU0oU2VxdWVuY2UpCisgICAgPgorc3RydWN0IHNpemUKKyAgICA6IGF1eDo6bXN2Y19ldGlfYmFzZTwKKyAgICAgICAgdHlwZW5hbWUgc2l6ZV9pbXBsPCB0eXBlbmFtZSBzZXF1ZW5jZV90YWc8U2VxdWVuY2U+Ojp0eXBlID4KKyAgICAgICAgICAgIDo6dGVtcGxhdGUgYXBwbHk8IFNlcXVlbmNlID46OnR5cGUKKyAgICAgID46OnR5cGUKK3sKKyAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKDEsIHNpemUsIChTZXF1ZW5jZSkpCit9OworCitCT09TVF9NUExfQVVYX05BX1NQRUMoMSwgc2l6ZSkKKworfX0KKworI2VuZGlmIC8vIEJPT1NUX01QTF9TSVpFX0hQUF9JTkNMVURFRApkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL3NpemVfZndkLmhwcCBiL25kbmJvb3N0L21wbC9zaXplX2Z3ZC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTg0MDgyYQotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC9zaXplX2Z3ZC5ocHAKQEAgLTAsMCArMSwyNCBAQAorCisjaWZuZGVmIEJPT1NUX01QTF9TSVpFX0ZXRF9IUFBfSU5DTFVERUQKKyNkZWZpbmUgQk9PU1RfTVBMX1NJWkVfRldEX0hQUF9JTkNMVURFRAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisvLyBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvbGlicy9tcGwgZm9yIGRvY3VtZW50YXRpb24uCisKKy8vICRJZDogc2l6ZV9md2QuaHBwIDQ5MjY3IDIwMDgtMTAtMTEgMDY6MTk6MDJaIGFndXJ0b3ZveSAkCisvLyAkRGF0ZTogMjAwOC0xMC0xMCAyMzoxOTowMiAtMDcwMCAoRnJpLCAxMCBPY3QgMjAwOCkgJAorLy8gJFJldmlzaW9uOiA0OTI2NyAkCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVGFnID4gc3RydWN0IHNpemVfaW1wbDsKK3RlbXBsYXRlPCB0eXBlbmFtZSBTZXF1ZW5jZSA+IHN0cnVjdCBzaXplOworCit9fQorCisjZW5kaWYgLy8gQk9PU1RfTVBMX1NJWkVfRldEX0hQUF9JTkNMVURFRApkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL3RhZy5ocHAgYi9uZG5ib29zdC9tcGwvdGFnLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NmI5ZmI0Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL3RhZy5ocHAKQEAgLTAsMCArMSw1MiBAQAorCisjaWZuZGVmIEJPT1NUX01QTF9UQUdfSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX01QTF9UQUdfSFBQX0lOQ0xVREVECisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisvLyBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvbGlicy9tcGwgZm9yIGRvY3VtZW50YXRpb24uCisKKy8vICRJZDogdGFnLmhwcCA0OTI2NyAyMDA4LTEwLTExIDA2OjE5OjAyWiBhZ3VydG92b3kgJAorLy8gJERhdGU6IDIwMDgtMTAtMTAgMjM6MTk6MDIgLTA3MDAgKEZyaSwgMTAgT2N0IDIwMDgpICQKKy8vICRSZXZpc2lvbjogNDkyNjcgJAorCisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2V2YWxfaWYuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC92b2lkLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9oYXNfdGFnLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9jb25maWcvZXRpLmhwcD4KKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK25hbWVzcGFjZSBhdXggewordGVtcGxhdGU8IHR5cGVuYW1lIFQgPiBzdHJ1Y3QgdGFnX2ltcGwKK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIFQ6OnRhZyB0eXBlOworfTsKK30KKwordGVtcGxhdGU8IHR5cGVuYW1lIFQsIHR5cGVuYW1lIERlZmF1bHQgPSB2b2lkXyA+IHN0cnVjdCB0YWcKKyNpZiAhZGVmaW5lZChCT09TVF9NUExfQ0ZHX01TVkNfRVRJX0JVRykKKyAgICA6IGlmXzwgCisgICAgICAgICAgYXV4OjpoYXNfdGFnPFQ+CisgICAgICAgICwgYXV4Ojp0YWdfaW1wbDxUPgorICAgICAgICAsIERlZmF1bHQKKyAgICAgICAgPjo6dHlwZQoreworI2Vsc2UKK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGV2YWxfaWY8IAorICAgICAgICAgIGF1eDo6aGFzX3RhZzxUPgorICAgICAgICAsIGF1eDo6dGFnX2ltcGw8VD4KKyAgICAgICAgLCBEZWZhdWx0CisgICAgICAgID46OnR5cGUgdHlwZTsKKworI2VuZGlmCit9OworCit9fQorCisjZW5kaWYgLy8gQk9PU1RfTVBMX1RBR19IUFBfSU5DTFVERUQKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC90aW1lcy5ocHAgYi9uZG5ib29zdC9tcGwvdGltZXMuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYwOTg0YmIKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvdGltZXMuaHBwCkBAIC0wLDAgKzEsMjEgQEAKKworI2lmbmRlZiBCT09TVF9NUExfVElNRVNfSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX01QTF9USU1FU19IUFBfSU5DTFVERUQKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworLy8gU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL2xpYnMvbXBsIGZvciBkb2N1bWVudGF0aW9uLgorCisvLyAkSWQ6IHRpbWVzLmhwcCA0OTI2NyAyMDA4LTEwLTExIDA2OjE5OjAyWiBhZ3VydG92b3kgJAorLy8gJERhdGU6IDIwMDgtMTAtMTAgMjM6MTk6MDIgLTA3MDAgKEZyaSwgMTAgT2N0IDIwMDgpICQKKy8vICRSZXZpc2lvbjogNDkyNjcgJAorCisjZGVmaW5lIEFVWDc3ODA3Nl9PUF9OQU1FIHRpbWVzCisjZGVmaW5lIEFVWDc3ODA3Nl9PUF9UT0tFTiAqCisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vYXJpdGhtZXRpY19vcC5ocHA+CisKKyNlbmRpZiAvLyBCT09TVF9NUExfVElNRVNfSFBQX0lOQ0xVREVECmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvdmVjdG9yLmhwcCBiL25kbmJvb3N0L21wbC92ZWN0b3IuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEwOWQ3MzIKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvdmVjdG9yLmhwcApAQCAtMCwwICsxLDU3IEBACisKKyNpZm5kZWYgQk9PU1RfTVBMX1ZFQ1RPUl9IUFBfSU5DTFVERUQKKyNkZWZpbmUgQk9PU1RfTVBMX1ZFQ1RPUl9IUFBfSU5DTFVERUQKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworLy8gU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL2xpYnMvbXBsIGZvciBkb2N1bWVudGF0aW9uLgorCisvLyAkSWQ6IHZlY3Rvci5ocHAgNDkyNjcgMjAwOC0xMC0xMSAwNjoxOTowMlogYWd1cnRvdm95ICQKKy8vICREYXRlOiAyMDA4LTEwLTEwIDIzOjE5OjAyIC0wNzAwIChGcmksIDEwIE9jdCAyMDA4KSAkCisvLyAkUmV2aXNpb246IDQ5MjY3ICQKKworI2lmICFkZWZpbmVkKEJPT1NUX01QTF9QUkVQUk9DRVNTSU5HX01PREUpCisjICAgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2xpbWl0cy92ZWN0b3IuaHBwPgorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL25hLmhwcD4KKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9jb25maWcvcHJlcHJvY2Vzc29yLmhwcD4KKworIyAgIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9pbmMuaHBwPgorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9jYXQuaHBwPgorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9zdHJpbmdpemUuaHBwPgorCisjaWYgIWRlZmluZWQoQk9PU1RfTkVFRFNfVE9LRU5fUEFTVElOR19PUF9GT1JfVE9LRU5TX0pVWFRBUE9TSU5HKQorIyAgIGRlZmluZSBBVVg3NzgwNzZfVkVDVE9SX0hFQURFUiBcCisgICAgQk9PU1RfUFBfQ0FUKHZlY3RvciwgQk9PU1RfTVBMX0xJTUlUX1ZFQ1RPUl9TSVpFKS5ocHAgXAorICAgIC8qKi8KKyNlbHNlCisjICAgZGVmaW5lIEFVWDc3ODA3Nl9WRUNUT1JfSEVBREVSIFwKKyAgICBCT09TVF9QUF9DQVQodmVjdG9yLCBCT09TVF9NUExfTElNSVRfVkVDVE9SX1NJWkUpIyMuaHBwIFwKKyAgICAvKiovCisjZW5kaWYKKworIyAgIGluY2x1ZGUgQk9PU1RfUFBfU1RSSU5HSVpFKGJvb3N0L21wbC92ZWN0b3IvQVVYNzc4MDc2X1ZFQ1RPUl9IRUFERVIpCisjICAgdW5kZWYgQVVYNzc4MDc2X1ZFQ1RPUl9IRUFERVIKKyNlbmRpZgorCisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vY29uZmlnL3VzZV9wcmVwcm9jZXNzZWQuaHBwPgorCisjaWYgIWRlZmluZWQoQk9PU1RfTVBMX0NGR19OT19QUkVQUk9DRVNTRURfSEVBREVSUykgXAorICAgICYmICFkZWZpbmVkKEJPT1NUX01QTF9QUkVQUk9DRVNTSU5HX01PREUpCisKKyMgICBkZWZpbmUgQk9PU1RfTVBMX1BSRVBST0NFU1NFRF9IRUFERVIgdmVjdG9yLmhwcAorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2luY2x1ZGVfcHJlcHJvY2Vzc2VkLmhwcD4KKworI2Vsc2UKKworIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC9saW1pdHMvdmVjdG9yLmhwcD4KKworIyAgIGRlZmluZSBBVVg3NzgwNzZfU0VRVUVOQ0VfTkFNRSB2ZWN0b3IKKyMgICBkZWZpbmUgQVVYNzc4MDc2X1NFUVVFTkNFX0xJTUlUIEJPT1NUX01QTF9MSU1JVF9WRUNUT1JfU0laRQorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL3NlcXVlbmNlX3dyYXBwZXIuaHBwPgorCisjZW5kaWYgLy8gQk9PU1RfTVBMX0NGR19OT19QUkVQUk9DRVNTRURfSEVBREVSUworI2VuZGlmIC8vIEJPT1NUX01QTF9WRUNUT1JfSFBQX0lOQ0xVREVECmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvdmVjdG9yL2F1eF8vTzFfc2l6ZS5ocHAgYi9uZG5ib29zdC9tcGwvdmVjdG9yL2F1eF8vTzFfc2l6ZS5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjc5YWRlOQotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC92ZWN0b3IvYXV4Xy9PMV9zaXplLmhwcApAQCAtMCwwICsxLDU2IEBACisKKyNpZm5kZWYgQk9PU1RfTVBMX1ZFQ1RPUl9BVVhfTzFfU0laRV9IUFBfSU5DTFVERUQKKyNkZWZpbmUgQk9PU1RfTVBMX1ZFQ1RPUl9BVVhfTzFfU0laRV9IUFBfSU5DTFVERUQKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworLy8gU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL2xpYnMvbXBsIGZvciBkb2N1bWVudGF0aW9uLgorCisvLyAkSWQ6IE8xX3NpemUuaHBwIDQ5MjY3IDIwMDgtMTAtMTEgMDY6MTk6MDJaIGFndXJ0b3ZveSAkCisvLyAkRGF0ZTogMjAwOC0xMC0xMCAyMzoxOTowMiAtMDcwMCAoRnJpLCAxMCBPY3QgMjAwOCkgJAorLy8gJFJldmlzaW9uOiA0OTI2NyAkCisKKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvTzFfc2l6ZV9md2QuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9taW51cy5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2xvbmcuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC92ZWN0b3IvYXV4Xy90YWcuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2NvbmZpZy90eXBlb2YuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2NvbmZpZy9jdHBzLmhwcD4KKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKKyNpZiBkZWZpbmVkKEJPT1NUX01QTF9DRkdfVFlQRU9GX0JBU0VEX1NFUVVFTkNFUykKKwordGVtcGxhdGU8Pgorc3RydWN0IE8xX3NpemVfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgICAgIDogVmVjdG9yOjpzaXplCisgICAgeworICAgIH07Cit9OworCisjZWxzZQorCisjaWYgIWRlZmluZWQoQk9PU1RfTk9fVEVNUExBVEVfUEFSVElBTF9TUEVDSUFMSVpBVElPTikKKwordGVtcGxhdGU8IGxvbmcgTiA+CitzdHJ1Y3QgTzFfc2l6ZV9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8Tj4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICAgICAgOiBtcGw6OmxvbmdfPE4+CisgICAgeworICAgIH07Cit9OworCisjZW5kaWYgLy8gQk9PU1RfTk9fVEVNUExBVEVfUEFSVElBTF9TUEVDSUFMSVpBVElPTgorCisjZW5kaWYgLy8gQk9PU1RfTVBMX0NGR19UWVBFT0ZfQkFTRURfU0VRVUVOQ0VTCisKK319CisKKyNlbmRpZiAvLyBCT09TVF9NUExfVkVDVE9SX0FVWF9PMV9TSVpFX0hQUF9JTkNMVURFRApkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL3ZlY3Rvci9hdXhfL2F0LmhwcCBiL25kbmJvb3N0L21wbC92ZWN0b3IvYXV4Xy9hdC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzVmN2Q1ZQotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC92ZWN0b3IvYXV4Xy9hdC5ocHAKQEAgLTAsMCArMSwxMTYgQEAKKworI2lmbmRlZiBCT09TVF9NUExfVkVDVE9SX0FVWF9BVF9IUFBfSU5DTFVERUQKKyNkZWZpbmUgQk9PU1RfTVBMX1ZFQ1RPUl9BVVhfQVRfSFBQX0lOQ0xVREVECisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKy8vIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL21wbCBmb3IgZG9jdW1lbnRhdGlvbi4KKworLy8gJElkOiBhdC5ocHAgNDkyNjcgMjAwOC0xMC0xMSAwNjoxOTowMlogYWd1cnRvdm95ICQKKy8vICREYXRlOiAyMDA4LTEwLTEwIDIzOjE5OjAyIC0wNzAwIChGcmksIDEwIE9jdCAyMDA4KSAkCisvLyAkUmV2aXNpb246IDQ5MjY3ICQKKworI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdF9md2QuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC92ZWN0b3IvYXV4Xy90YWcuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9sb25nLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvdm9pZC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vbnR0cF9kZWNsLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy90eXBlX3dyYXBwZXIuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL3ZhbHVlX3drbmQuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2NvbmZpZy90eXBlb2YuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2NvbmZpZy9jdHBzLmhwcD4KKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKKyNpZiBkZWZpbmVkKEJPT1NUX01QTF9DRkdfVFlQRU9GX0JBU0VEX1NFUVVFTkNFUykKKwordGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciwgbG9uZyBuXyA+CitzdHJ1Y3Qgdl9hdF9pbXBsCit7CisgICAgdHlwZWRlZiBsb25nXzwgKFZlY3Rvcjo6bG93ZXJfYm91bmRfOjp2YWx1ZSArIG5fKSA+IGluZGV4XzsKKyAgICB0eXBlZGVmIF9fdHlwZW9mX18oIFZlY3Rvcjo6aXRlbV8oaW5kZXhfKCkpICkgdHlwZTsKK307CisKKwordGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciwgbG9uZyBuXyA+CitzdHJ1Y3Qgdl9hdAorICAgIDogYXV4Ojp3cmFwcGVkX3R5cGU8IHR5cGVuYW1lIHZfYXRfaW1wbDxWZWN0b3Isbl8+Ojp0eXBlID4KK3sKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBhdF9pbXBsPCBhdXg6OnZlY3Rvcl90YWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IsIHR5cGVuYW1lIE4gPiBzdHJ1Y3QgYXBwbHkKKyAgICAgICAgOiB2X2F0PAorICAgICAgICAgICAgICBWZWN0b3IKKyAgICAgICAgICAgICwgQk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4pOjp2YWx1ZQorICAgICAgICAgICAgPgorICAgIHsKKyAgICB9OworfTsKKworI2Vsc2UKKworIyAgIGlmICFkZWZpbmVkKEJPT1NUX05PX1RFTVBMQVRFX1BBUlRJQUxfU1BFQ0lBTElaQVRJT04pIFwKKyAgICAmJiAhZGVmaW5lZChCT09TVF9NUExfQ0ZHX05PX05PTlRZUEVfVEVNUExBVEVfUEFSVElBTF9TUEVDKQorCit0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yLCBCT09TVF9NUExfQVVYX05UVFBfREVDTChsb25nLCBuXykgPiBzdHJ1Y3Qgdl9hdDsKKwordGVtcGxhdGU8IEJPT1NUX01QTF9BVVhfTlRUUF9ERUNMKGxvbmcsIG5fKSA+CitzdHJ1Y3QgYXRfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPG5fPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciwgdHlwZW5hbWUgTiA+IHN0cnVjdCBhcHBseQorI2lmICFkZWZpbmVkKF9fQk9STEFORENfXykKKyAgICAgICAgOiB2X2F0PAorICAgICAgICAgICAgICBWZWN0b3IKKyAgICAgICAgICAgICwgQk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4pOjp2YWx1ZQorICAgICAgICAgICAgPgorICAgIHsKKyNlbHNlCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHZfYXQ8CisgICAgICAgICAgICAgIFZlY3RvcgorICAgICAgICAgICAgLCBCT09TVF9NUExfQVVYX1ZBTFVFX1dLTkQoTik6OnZhbHVlCisgICAgICAgICAgICA+Ojp0eXBlIHR5cGU7CisjZW5kaWYKKyAgICB9OworfTsKKworIyAgIGVsc2UKKworbmFtZXNwYWNlIGF1eCB7CisKK3RlbXBsYXRlPCBCT09TVF9NUExfQVVYX05UVFBfREVDTChsb25nLCBuXykgPiBzdHJ1Y3Qgdl9hdF9pbXBsCit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFYgPiBzdHJ1Y3QgcmVzdWx0XzsKK307CisKKy8vIHRvIHdvcmsgYXJvdW5kIEVUSSwgZXRjLgordGVtcGxhdGU8PiBzdHJ1Y3Qgdl9hdF9pbXBsPC0xPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWID4gc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdm9pZF8gdHlwZTsKKyAgICB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgYXV4CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBULCBCT09TVF9NUExfQVVYX05UVFBfREVDTChsb25nLCBuXykgPgorc3RydWN0IHZfYXQKKyAgICA6IGF1eDo6dl9hdF9pbXBsPG5fPjo6dGVtcGxhdGUgcmVzdWx0XzxUPgoreworfTsKKworIyAgIGVuZGlmIC8vIEJPT1NUX05PX1RFTVBMQVRFX1BBUlRJQUxfU1BFQ0lBTElaQVRJT04KKworI2VuZGlmIC8vIEJPT1NUX01QTF9DRkdfVFlQRU9GX0JBU0VEX1NFUVVFTkNFUworCit9fQorCisjZW5kaWYgLy8gQk9PU1RfTVBMX1ZFQ1RPUl9BVVhfQVRfSFBQX0lOQ0xVREVECmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvdmVjdG9yL2F1eF8vYmFjay5ocHAgYi9uZG5ib29zdC9tcGwvdmVjdG9yL2F1eF8vYmFjay5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDk1MmM2MgotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC92ZWN0b3IvYXV4Xy9iYWNrLmhwcApAQCAtMCwwICsxLDU5IEBACisKKyNpZm5kZWYgQk9PU1RfTVBMX1ZFQ1RPUl9BVVhfQkFDS19IUFBfSU5DTFVERUQKKyNkZWZpbmUgQk9PU1RfTVBMX1ZFQ1RPUl9BVVhfQkFDS19IUFBfSU5DTFVERUQKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworLy8gU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL2xpYnMvbXBsIGZvciBkb2N1bWVudGF0aW9uLgorCisvLyAkSWQ6IGJhY2suaHBwIDQ5MjY3IDIwMDgtMTAtMTEgMDY6MTk6MDJaIGFndXJ0b3ZveSAkCisvLyAkRGF0ZTogMjAwOC0xMC0xMCAyMzoxOTowMiAtMDcwMCAoRnJpLCAxMCBPY3QgMjAwOCkgJAorLy8gJFJldmlzaW9uOiA0OTI2NyAkCisKKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYmFja19md2QuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9uZXh0X3ByaW9yLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvdmVjdG9yL2F1eF8vYXQuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC92ZWN0b3IvYXV4Xy90YWcuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2NvbmZpZy90eXBlb2YuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2NvbmZpZy9jdHBzLmhwcD4KKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKKyNpZiBkZWZpbmVkKEJPT1NUX01QTF9DRkdfVFlQRU9GX0JBU0VEX1NFUVVFTkNFUykKKwordGVtcGxhdGU8Pgorc3RydWN0IGJhY2tfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgICAgIDogdl9hdDwKKyAgICAgICAgICAgICAgVmVjdG9yCisgICAgICAgICAgICAsIHByaW9yPHR5cGVuYW1lIFZlY3Rvcjo6c2l6ZT46OnR5cGU6OnZhbHVlCisgICAgICAgICAgICA+CisgICAgeworICAgIH07Cit9OworCisjZWxzZQorCisjaWYgIWRlZmluZWQoQk9PU1RfTk9fVEVNUExBVEVfUEFSVElBTF9TUEVDSUFMSVpBVElPTikKKwordGVtcGxhdGU8IGxvbmcgbl8gPgorc3RydWN0IGJhY2tfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPG5fPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBWZWN0b3I6OmJhY2sgdHlwZTsKKyAgICB9OworfTsKKworI2VuZGlmIC8vIEJPT1NUX05PX1RFTVBMQVRFX1BBUlRJQUxfU1BFQ0lBTElaQVRJT04KKworI2VuZGlmIC8vIEJPT1NUX01QTF9DRkdfVFlQRU9GX0JBU0VEX1NFUVVFTkNFUworCit9fQorCisjZW5kaWYgLy8gQk9PU1RfTVBMX1ZFQ1RPUl9BVVhfQkFDS19IUFBfSU5DTFVERUQKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC92ZWN0b3IvYXV4Xy9iZWdpbl9lbmQuaHBwIGIvbmRuYm9vc3QvbXBsL3ZlY3Rvci9hdXhfL2JlZ2luX2VuZC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjM0NTUwMwotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC92ZWN0b3IvYXV4Xy9iZWdpbl9lbmQuaHBwCkBAIC0wLDAgKzEsNDkgQEAKKworI2lmbmRlZiBCT09TVF9NUExfVkVDVE9SX0FVWF9CRUdJTl9FTkRfSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX01QTF9WRUNUT1JfQVVYX0JFR0lOX0VORF9IUFBfSU5DTFVERUQKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworLy8gU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL2xpYnMvbXBsIGZvciBkb2N1bWVudGF0aW9uLgorCisvLyAkSWQ6IGJlZ2luX2VuZC5ocHAgNDkyNjcgMjAwOC0xMC0xMSAwNjoxOTowMlogYWd1cnRvdm95ICQKKy8vICREYXRlOiAyMDA4LTEwLTEwIDIzOjE5OjAyIC0wNzAwIChGcmksIDEwIE9jdCAyMDA4KSAkCisvLyAkUmV2aXNpb246IDQ5MjY3ICQKKworI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2NvbmZpZy90eXBlb2YuaHBwPgorCisjaWYgZGVmaW5lZChCT09TVF9NUExfQ0ZHX1RZUEVPRl9CQVNFRF9TRVFVRU5DRVMpCisKKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvYmVnaW5fZW5kX2Z3ZC5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL3ZlY3Rvci9hdXhfL2l0ZXJhdG9yLmhwcD4KKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvdmVjdG9yL2F1eF8vdGFnLmhwcD4KKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBiZWdpbl9pbXBsPCBhdXg6OnZlY3Rvcl90YWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdl9pdGVyPFZlY3RvciwwPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgZW5kX2ltcGw8IGF1eDo6dmVjdG9yX3RhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2X2l0ZXI8VmVjdG9yLFZlY3Rvcjo6c2l6ZTo6dmFsdWU+IHR5cGU7CisgICAgfTsKK307CisKK319CisKKyNlbmRpZiAvLyBCT09TVF9NUExfQ0ZHX1RZUEVPRl9CQVNFRF9TRVFVRU5DRVMKKworI2VuZGlmIC8vIEJPT1NUX01QTF9WRUNUT1JfQVVYX0JFR0lOX0VORF9IUFBfSU5DTFVERUQKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC92ZWN0b3IvYXV4Xy9jbGVhci5ocHAgYi9uZG5ib29zdC9tcGwvdmVjdG9yL2F1eF8vY2xlYXIuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRiMDk5NDMKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvdmVjdG9yL2F1eF8vY2xlYXIuaHBwCkBAIC0wLDAgKzEsNTUgQEAKKworI2lmbmRlZiBCT09TVF9NUExfVkVDVE9SX0FVWF9DTEVBUl9IUFBfSU5DTFVERUQKKyNkZWZpbmUgQk9PU1RfTVBMX1ZFQ1RPUl9BVVhfQ0xFQVJfSFBQX0lOQ0xVREVECisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKy8vIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL21wbCBmb3IgZG9jdW1lbnRhdGlvbi4KKworLy8gJElkOiBjbGVhci5ocHAgNDkyNjcgMjAwOC0xMC0xMSAwNjoxOTowMlogYWd1cnRvdm95ICQKKy8vICREYXRlOiAyMDA4LTEwLTEwIDIzOjE5OjAyIC0wNzAwIChGcmksIDEwIE9jdCAyMDA4KSAkCisvLyAkUmV2aXNpb246IDQ5MjY3ICQKKworI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9jbGVhcl9md2QuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC92ZWN0b3IvYXV4Xy92ZWN0b3IwLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvdmVjdG9yL2F1eF8vdGFnLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9jb25maWcvdHlwZW9mLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9jb25maWcvY3Rwcy5ocHA+CisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCisjaWYgZGVmaW5lZChCT09TVF9NUExfQ0ZHX1RZUEVPRl9CQVNFRF9TRVFVRU5DRVMpCisKK3RlbXBsYXRlPD4KK3N0cnVjdCBjbGVhcl9pbXBsPCBhdXg6OnZlY3Rvcl90YWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yMDw+IHR5cGU7CisgICAgfTsKK307CisKKyNlbHNlCisKKyNpZiAhZGVmaW5lZChCT09TVF9OT19URU1QTEFURV9QQVJUSUFMX1NQRUNJQUxJWkFUSU9OKQorCit0ZW1wbGF0ZTwgbG9uZyBOID4KK3N0cnVjdCBjbGVhcl9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8Tj4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yMDw+IHR5cGU7CisgICAgfTsKK307CisKKyNlbmRpZiAvLyBCT09TVF9OT19URU1QTEFURV9QQVJUSUFMX1NQRUNJQUxJWkFUSU9OCisKKyNlbmRpZiAvLyBCT09TVF9NUExfQ0ZHX1RZUEVPRl9CQVNFRF9TRVFVRU5DRVMKKworfX0KKworI2VuZGlmIC8vIEJPT1NUX01QTF9WRUNUT1JfQVVYX0NMRUFSX0hQUF9JTkNMVURFRApkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL3ZlY3Rvci9hdXhfL2VtcHR5LmhwcCBiL25kbmJvb3N0L21wbC92ZWN0b3IvYXV4Xy9lbXB0eS5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjc4YWY5NAotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC92ZWN0b3IvYXV4Xy9lbXB0eS5ocHAKQEAgLTAsMCArMSw2OCBAQAorCisjaWZuZGVmIEJPT1NUX01QTF9WRUNUT1JfQVVYX0VNUFRZX0hQUF9JTkNMVURFRAorI2RlZmluZSBCT09TVF9NUExfVkVDVE9SX0FVWF9FTVBUWV9IUFBfSU5DTFVERUQKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworLy8gU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL2xpYnMvbXBsIGZvciBkb2N1bWVudGF0aW9uLgorCisvLyAkSWQ6IGVtcHR5LmhwcCA0OTI2NyAyMDA4LTEwLTExIDA2OjE5OjAyWiBhZ3VydG92b3kgJAorLy8gJERhdGU6IDIwMDgtMTAtMTAgMjM6MTk6MDIgLTA3MDAgKEZyaSwgMTAgT2N0IDIwMDgpICQKKy8vICRSZXZpc2lvbjogNDkyNjcgJAorCisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2VtcHR5X2Z3ZC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2Jvb2wuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC92ZWN0b3IvYXV4Xy90YWcuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2NvbmZpZy90eXBlb2YuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2NvbmZpZy9jdHBzLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9pc19zYW1lLmhwcD4KKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKKyNpZiBkZWZpbmVkKEJPT1NUX01QTF9DRkdfVFlQRU9GX0JBU0VEX1NFUVVFTkNFUykKKwordGVtcGxhdGU8Pgorc3RydWN0IGVtcHR5X2ltcGw8IGF1eDo6dmVjdG9yX3RhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgICAgICA6IGlzX3NhbWU8CisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6bG93ZXJfYm91bmRfCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6dXBwZXJfYm91bmRfCisgICAgICAgICAgICA+CisgICAgeworICAgIH07Cit9OworCisjZWxzZQorCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgZW1wdHlfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDA+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgICAgIDogdHJ1ZV8KKyAgICB7CisgICAgfTsKK307CisKKyNpZiAhZGVmaW5lZChCT09TVF9OT19URU1QTEFURV9QQVJUSUFMX1NQRUNJQUxJWkFUSU9OKQorCit0ZW1wbGF0ZTwgbG9uZyBOID4KK3N0cnVjdCBlbXB0eV9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8Tj4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICAgICAgOiBmYWxzZV8KKyAgICB7CisgICAgfTsKK307CisKKyNlbmRpZiAvLyBCT09TVF9OT19URU1QTEFURV9QQVJUSUFMX1NQRUNJQUxJWkFUSU9OCisKKyNlbmRpZiAvLyBCT09TVF9NUExfQ0ZHX1RZUEVPRl9CQVNFRF9TRVFVRU5DRVMKKworfX0KKworI2VuZGlmIC8vIEJPT1NUX01QTF9WRUNUT1JfQVVYX0VNUFRZX0hQUF9JTkNMVURFRApkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL3ZlY3Rvci9hdXhfL2Zyb250LmhwcCBiL25kbmJvb3N0L21wbC92ZWN0b3IvYXV4Xy9mcm9udC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzcwNWQzZAotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC92ZWN0b3IvYXV4Xy9mcm9udC5ocHAKQEAgLTAsMCArMSw1NiBAQAorCisjaWZuZGVmIEJPT1NUX01QTF9WRUNUT1JfQVVYX0ZST05UX0hQUF9JTkNMVURFRAorI2RlZmluZSBCT09TVF9NUExfVkVDVE9SX0FVWF9GUk9OVF9IUFBfSU5DTFVERUQKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA4CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworLy8gU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL2xpYnMvbXBsIGZvciBkb2N1bWVudGF0aW9uLgorCisvLyAkSWQ6IGZyb250LmhwcCA0OTI2NyAyMDA4LTEwLTExIDA2OjE5OjAyWiBhZ3VydG92b3kgJAorLy8gJERhdGU6IDIwMDgtMTAtMTAgMjM6MTk6MDIgLTA3MDAgKEZyaSwgMTAgT2N0IDIwMDgpICQKKy8vICRSZXZpc2lvbjogNDkyNjcgJAorCisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2Zyb250X2Z3ZC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL3ZlY3Rvci9hdXhfL2F0LmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvdmVjdG9yL2F1eF8vdGFnLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9udHRwX2RlY2wuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2NvbmZpZy90eXBlb2YuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2NvbmZpZy9jdHBzLmhwcD4KKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKKyNpZiBkZWZpbmVkKEJPT1NUX01QTF9DRkdfVFlQRU9GX0JBU0VEX1NFUVVFTkNFUykKKwordGVtcGxhdGU8Pgorc3RydWN0IGZyb250X2ltcGw8IGF1eDo6dmVjdG9yX3RhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgICAgICA6IHZfYXQ8VmVjdG9yLDA+CisgICAgeworICAgIH07Cit9OworCisjZWxzZQorCisjaWYgIWRlZmluZWQoQk9PU1RfTk9fVEVNUExBVEVfUEFSVElBTF9TUEVDSUFMSVpBVElPTikKKwordGVtcGxhdGU8IEJPT1NUX01QTF9BVVhfTlRUUF9ERUNMKGxvbmcsIG5fKSA+CitzdHJ1Y3QgZnJvbnRfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPG5fPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0wIHR5cGU7CisgICAgfTsKK307CisKKyNlbmRpZiAvLyBCT09TVF9OT19URU1QTEFURV9QQVJUSUFMX1NQRUNJQUxJWkFUSU9OCisKKyNlbmRpZiAvLyBCT09TVF9NUExfQ0ZHX1RZUEVPRl9CQVNFRF9TRVFVRU5DRVMKKworfX0KKworI2VuZGlmIC8vIEJPT1NUX01QTF9WRUNUT1JfQVVYX0ZST05UX0hQUF9JTkNMVURFRApkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL3ZlY3Rvci9hdXhfL2luY2x1ZGVfcHJlcHJvY2Vzc2VkLmhwcCBiL25kbmJvb3N0L21wbC92ZWN0b3IvYXV4Xy9pbmNsdWRlX3ByZXByb2Nlc3NlZC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODhmYTU4YQotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC92ZWN0b3IvYXV4Xy9pbmNsdWRlX3ByZXByb2Nlc3NlZC5ocHAKQEAgLTAsMCArMSw1NSBAQAorCisvLyBOTyBJTkNMVURFIEdVQVJEUywgVEhFIEhFQURFUiBJUyBJTlRFTkRFRCBGT1IgTVVMVElQTEUgSU5DTFVTSU9OCisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNgorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKy8vIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL21wbCBmb3IgZG9jdW1lbnRhdGlvbi4KKworLy8gJElkOiBpbmNsdWRlX3ByZXByb2Nlc3NlZC5ocHAgNDkyNjcgMjAwOC0xMC0xMSAwNjoxOTowMlogYWd1cnRvdm95ICQKKy8vICREYXRlOiAyMDA4LTEwLTEwIDIzOjE5OjAyIC0wNzAwIChGcmksIDEwIE9jdCAyMDA4KSAkCisvLyAkUmV2aXNpb246IDQ5MjY3ICQKKworI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2NvbmZpZy90eXBlb2YuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2NvbmZpZy9jdHBzLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9jb25maWcvcHJlcHJvY2Vzc29yLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9jb25maWcvd29ya2Fyb3VuZC5ocHA+CisKKyNpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3IvY2F0LmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3Ivc3RyaW5naXplLmhwcD4KKworI2lmIGRlZmluZWQoQk9PU1RfTVBMX0NGR19UWVBFT0ZfQkFTRURfU0VRVUVOQ0VTKQorIyAgIGRlZmluZSBBVVg3NzgwNzZfSU5DTFVERV9ESVIgdHlwZW9mX2Jhc2VkCisjZWxpZiBkZWZpbmVkKEJPT1NUX05PX1RFTVBMQVRFX1BBUlRJQUxfU1BFQ0lBTElaQVRJT04pIFwKKyAgIHx8IGRlZmluZWQoQk9PU1RfTVBMX0NGR19OT19OT05UWVBFX1RFTVBMQVRFX1BBUlRJQUxfU1BFQykKKyMgICBkZWZpbmUgQVVYNzc4MDc2X0lOQ0xVREVfRElSIG5vX2N0cHMKKyNlbHNlCisjICAgZGVmaW5lIEFVWDc3ODA3Nl9JTkNMVURFX0RJUiBwbGFpbgorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChCT09TVF9ORUVEU19UT0tFTl9QQVNUSU5HX09QX0ZPUl9UT0tFTlNfSlVYVEFQT1NJTkcpCisjICAgZGVmaW5lIEFVWDc3ODA3Nl9IRUFERVIgXAorICAgIEFVWDc3ODA3Nl9JTkNMVURFX0RJUi9CT09TVF9NUExfUFJFUFJPQ0VTU0VEX0hFQURFUiBcCisvKiovCisjZWxzZQorIyAgIGRlZmluZSBBVVg3NzgwNzZfSEVBREVSIFwKKyAgICBCT09TVF9QUF9DQVQoQVVYNzc4MDc2X0lOQ0xVREVfRElSLC8pIyNCT09TVF9NUExfUFJFUFJPQ0VTU0VEX0hFQURFUiBcCisvKiovCisjZW5kaWYKKworCisjaWYgQk9PU1RfV09SS0FST1VORChfX0lCTUNQUF9fLCBCT09TVF9URVNURURfQVQoNzAwKSkKKyMgICBkZWZpbmUgQVVYNzc4MDc2X0lOQ0xVREVfU1RSSU5HIEJPT1NUX1BQX1NUUklOR0laRShib29zdC9tcGwvdmVjdG9yL2F1eF8vcHJlcHJvY2Vzc2VkL0FVWDc3ODA3Nl9IRUFERVIpCisjICAgaW5jbHVkZSBBVVg3NzgwNzZfSU5DTFVERV9TVFJJTkcKKyMgICB1bmRlZiBBVVg3NzgwNzZfSU5DTFVERV9TVFJJTkcKKyNlbHNlCisjICAgaW5jbHVkZSBCT09TVF9QUF9TVFJJTkdJWkUoYm9vc3QvbXBsL3ZlY3Rvci9hdXhfL3ByZXByb2Nlc3NlZC9BVVg3NzgwNzZfSEVBREVSKQorI2VuZGlmCisKKyMgICB1bmRlZiBBVVg3NzgwNzZfSEVBREVSCisjICAgdW5kZWYgQVVYNzc4MDc2X0lOQ0xVREVfRElSCisKKyN1bmRlZiBCT09TVF9NUExfUFJFUFJPQ0VTU0VEX0hFQURFUgpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL3ZlY3Rvci9hdXhfL2l0ZW0uaHBwIGIvbmRuYm9vc3QvbXBsL3ZlY3Rvci9hdXhfL2l0ZW0uaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdlMzg4NWMKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvdmVjdG9yL2F1eF8vaXRlbS5ocHAKQEAgLTAsMCArMSwxMDMgQEAKKworI2lmbmRlZiBCT09TVF9NUExfVkVDVE9SX0FVWF9JVEVNX0hQUF9JTkNMVURFRAorI2RlZmluZSBCT09TVF9NUExfVkVDVE9SX0FVWF9JVEVNX0hQUF9JTkNMVURFRAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisvLyBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvbGlicy9tcGwgZm9yIGRvY3VtZW50YXRpb24uCisKKy8vICRJZDogaXRlbS5ocHAgNDkyNjcgMjAwOC0xMC0xMSAwNjoxOTowMlogYWd1cnRvdm95ICQKKy8vICREYXRlOiAyMDA4LTEwLTEwIDIzOjE5OjAyIC0wNzAwIChGcmksIDEwIE9jdCAyMDA4KSAkCisvLyAkUmV2aXNpb246IDQ5MjY3ICQKKworI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9sb25nLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvdm9pZC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL25leHRfcHJpb3IuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL3R5cGVfd3JhcHBlci5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vY29uZmlnL3R5cGVvZi5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vY29uZmlnL2N0cHMuaHBwPgorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKworI2lmIGRlZmluZWQoQk9PU1RfTVBMX0NGR19UWVBFT0ZfQkFTRURfU0VRVUVOQ0VTKQorCit0ZW1wbGF0ZTwgCisgICAgICB0eXBlbmFtZSBUCisgICAgLCB0eXBlbmFtZSBCYXNlCisgICAgLCBpbnQgYXRfZnJvbnQgPSAwCisgICAgPgorc3RydWN0IHZfaXRlbQorICAgIDogQmFzZQoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgQmFzZTo6dXBwZXJfYm91bmRfIGluZGV4XzsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG5leHQ8aW5kZXhfPjo6dHlwZSB1cHBlcl9ib3VuZF87CisgICAgdHlwZWRlZiB0eXBlbmFtZSBuZXh0PHR5cGVuYW1lIEJhc2U6OnNpemU+Ojp0eXBlIHNpemU7CisgICAgdHlwZWRlZiBCYXNlIGJhc2U7CisgICAgdHlwZWRlZiB2X2l0ZW0gdHlwZTsKKworICAgIC8vIGFndXJ0IDEwL3NlcC8wNDogTVdDVyA8PSA5LjMgd29ya2Fyb3VuZCBoZXJlIGFuZCBiZWxvdzsgdGhlIGNvbXBpbGVyCisgICAgLy8gYnJlYWtzIGlmIHVzaW5nIGRlY2xhcmF0aW9uIGNvbWVzIF9iZWZvcmVfIHRoZSBuZXcgb3ZlcmxvYWQKKyAgICBzdGF0aWMgYXV4Ojp0eXBlX3dyYXBwZXI8VD4gaXRlbV8oaW5kZXhfKTsKKyAgICB1c2luZyBCYXNlOjppdGVtXzsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVAorICAgICwgdHlwZW5hbWUgQmFzZQorICAgID4KK3N0cnVjdCB2X2l0ZW08VCxCYXNlLDE+CisgICAgOiBCYXNlCit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBwcmlvcjx0eXBlbmFtZSBCYXNlOjpsb3dlcl9ib3VuZF8+Ojp0eXBlIGluZGV4XzsKKyAgICB0eXBlZGVmIGluZGV4XyBsb3dlcl9ib3VuZF87CisgICAgdHlwZWRlZiB0eXBlbmFtZSBuZXh0PHR5cGVuYW1lIEJhc2U6OnNpemU+Ojp0eXBlIHNpemU7CisgICAgdHlwZWRlZiBCYXNlIGJhc2U7CisgICAgdHlwZWRlZiB2X2l0ZW0gdHlwZTsKKworICAgIHN0YXRpYyBhdXg6OnR5cGVfd3JhcHBlcjxUPiBpdGVtXyhpbmRleF8pOworICAgIHVzaW5nIEJhc2U6Oml0ZW1fOworfTsKKworLy8gImVyYXN1cmUiIGl0ZW0KK3RlbXBsYXRlPCAKKyAgICAgIHR5cGVuYW1lIEJhc2UKKyAgICAsIGludCBhdF9mcm9udAorICAgID4KK3N0cnVjdCB2X21hc2sKKyAgICA6IEJhc2UKK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHByaW9yPHR5cGVuYW1lIEJhc2U6OnVwcGVyX2JvdW5kXz46OnR5cGUgaW5kZXhfOworICAgIHR5cGVkZWYgaW5kZXhfIHVwcGVyX2JvdW5kXzsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHByaW9yPHR5cGVuYW1lIEJhc2U6OnNpemU+Ojp0eXBlIHNpemU7CisgICAgdHlwZWRlZiBCYXNlIGJhc2U7CisgICAgdHlwZWRlZiB2X21hc2sgdHlwZTsKKworICAgIHN0YXRpYyBhdXg6OnR5cGVfd3JhcHBlcjx2b2lkXz4gaXRlbV8oaW5kZXhfKTsKKyAgICB1c2luZyBCYXNlOjppdGVtXzsKK307CisKK3RlbXBsYXRlPCAKKyAgICAgIHR5cGVuYW1lIEJhc2UKKyAgICA+CitzdHJ1Y3Qgdl9tYXNrPEJhc2UsMT4KKyAgICA6IEJhc2UKK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIEJhc2U6Omxvd2VyX2JvdW5kXyBpbmRleF87CisgICAgdHlwZWRlZiB0eXBlbmFtZSBuZXh0PGluZGV4Xz46OnR5cGUgbG93ZXJfYm91bmRfOworICAgIHR5cGVkZWYgdHlwZW5hbWUgcHJpb3I8dHlwZW5hbWUgQmFzZTo6c2l6ZT46OnR5cGUgc2l6ZTsKKyAgICB0eXBlZGVmIEJhc2UgYmFzZTsKKyAgICB0eXBlZGVmIHZfbWFzayB0eXBlOworCisgICAgc3RhdGljIGF1eDo6dHlwZV93cmFwcGVyPHZvaWRfPiBpdGVtXyhpbmRleF8pOworICAgIHVzaW5nIEJhc2U6Oml0ZW1fOworfTsKKworI2VuZGlmIC8vIEJPT1NUX01QTF9DRkdfVFlQRU9GX0JBU0VEX1NFUVVFTkNFUworCit9fQorCisjZW5kaWYgLy8gQk9PU1RfTVBMX1ZFQ1RPUl9BVVhfSVRFTV9IUFBfSU5DTFVERUQKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC92ZWN0b3IvYXV4Xy9pdGVyYXRvci5ocHAgYi9uZG5ib29zdC9tcGwvdmVjdG9yL2F1eF8vaXRlcmF0b3IuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhhNzkxNWIKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvdmVjdG9yL2F1eF8vaXRlcmF0b3IuaHBwCkBAIC0wLDAgKzEsMTMwIEBACisKKyNpZm5kZWYgQk9PU1RfTVBMX0FVWF9WRUNUT1JfSVRFUkFUT1JfSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX01QTF9BVVhfVkVDVE9SX0lURVJBVE9SX0hQUF9JTkNMVURFRAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisvLyBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvbGlicy9tcGwgZm9yIGRvY3VtZW50YXRpb24uCisKKy8vICRJZDogaXRlcmF0b3IuaHBwIDQ5MjY3IDIwMDgtMTAtMTEgMDY6MTk6MDJaIGFndXJ0b3ZveSAkCisvLyAkRGF0ZTogMjAwOC0xMC0xMCAyMzoxOTowMiAtMDcwMCAoRnJpLCAxMCBPY3QgMjAwOCkgJAorLy8gJFJldmlzaW9uOiA0OTI2NyAkCisKKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvdmVjdG9yL2F1eF8vYXQuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9pdGVyYXRvcl90YWdzLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvcGx1cy5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL21pbnVzLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYWR2YW5jZV9md2QuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9kaXN0YW5jZV9md2QuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9uZXh0LmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvcHJpb3IuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL250dHBfZGVjbC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vdmFsdWVfd2tuZC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vY29uZmlnL2N0cHMuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2NvbmZpZy93b3JrYXJvdW5kLmhwcD4KKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVmVjdG9yCisgICAgLCBCT09TVF9NUExfQVVYX05UVFBfREVDTChsb25nLCBuXykKKyAgICA+CitzdHJ1Y3Qgdl9pdGVyCit7CisgICAgdHlwZWRlZiBhdXg6OnZfaXRlcl90YWcgdGFnOworICAgIHR5cGVkZWYgcmFuZG9tX2FjY2Vzc19pdGVyYXRvcl90YWcgY2F0ZWdvcnk7CisgICAgdHlwZWRlZiB0eXBlbmFtZSB2X2F0PFZlY3RvcixuXz46OnR5cGUgdHlwZTsKKworICAgIHR5cGVkZWYgVmVjdG9yIHZlY3Rvcl87CisgICAgdHlwZWRlZiBtcGw6OmxvbmdfPG5fPiBwb3M7CisKKyNpZiBkZWZpbmVkKEJPT1NUX05PX1RFTVBMQVRFX1BBUlRJQUxfU1BFQ0lBTElaQVRJT04pCisgICAgZW51bSB7IAorICAgICAgICAgIG5leHRfID0gbl8gKyAxCisgICAgICAgICwgcHJpb3JfID0gbl8gLSAxCisgICAgICAgICwgcG9zXyA9IG5fCisgICAgfTsKKyAgICAKKyAgICB0eXBlZGVmIHZfaXRlcjxWZWN0b3IsbmV4dF8+IG5leHQ7CisgICAgdHlwZWRlZiB2X2l0ZXI8VmVjdG9yLHByaW9yXz4gcHJpb3I7CisjZW5kaWYKKworfTsKKworCisjaWYgIWRlZmluZWQoQk9PU1RfTk9fVEVNUExBVEVfUEFSVElBTF9TUEVDSUFMSVpBVElPTikKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBWZWN0b3IKKyAgICAsIEJPT1NUX01QTF9BVVhfTlRUUF9ERUNMKGxvbmcsIG5fKQorICAgID4KK3N0cnVjdCBuZXh0PCB2X2l0ZXI8VmVjdG9yLG5fPiA+Cit7CisgICAgdHlwZWRlZiB2X2l0ZXI8VmVjdG9yLChuXyArIDEpPiB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBWZWN0b3IKKyAgICAsIEJPT1NUX01QTF9BVVhfTlRUUF9ERUNMKGxvbmcsIG5fKQorICAgID4KK3N0cnVjdCBwcmlvcjwgdl9pdGVyPFZlY3RvcixuXz4gPgoreworICAgIHR5cGVkZWYgdl9pdGVyPFZlY3Rvciwobl8gLSAxKT4gdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVmVjdG9yCisgICAgLCBCT09TVF9NUExfQVVYX05UVFBfREVDTChsb25nLCBuXykKKyAgICAsIHR5cGVuYW1lIERpc3RhbmNlCisgICAgPgorc3RydWN0IGFkdmFuY2U8IHZfaXRlcjxWZWN0b3Isbl8+LERpc3RhbmNlPgoreworICAgIHR5cGVkZWYgdl9pdGVyPAorICAgICAgICAgIFZlY3RvcgorICAgICAgICAsIChuXyArIEJPT1NUX01QTF9BVVhfTkVTVEVEX1ZBTFVFX1dLTkQobG9uZywgRGlzdGFuY2UpKQorICAgICAgICA+IHR5cGU7Cit9OworCit0ZW1wbGF0ZTwgCisgICAgICB0eXBlbmFtZSBWZWN0b3IKKyAgICAsIEJPT1NUX01QTF9BVVhfTlRUUF9ERUNMKGxvbmcsIG5fKQorICAgICwgQk9PU1RfTVBMX0FVWF9OVFRQX0RFQ0wobG9uZywgbV8pCisgICAgPiAKK3N0cnVjdCBkaXN0YW5jZTwgdl9pdGVyPFZlY3RvcixuXz4sIHZfaXRlcjxWZWN0b3IsbV8+ID4KKyAgICA6IG1wbDo6bG9uZ188KG1fIC0gbl8pPgoreworfTsKKworI2Vsc2UgLy8gQk9PU1RfTk9fVEVNUExBVEVfUEFSVElBTF9TUEVDSUFMSVpBVElPTgorCit0ZW1wbGF0ZTw+IHN0cnVjdCBhZHZhbmNlX2ltcGw8YXV4Ojp2X2l0ZXJfdGFnPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBJdGVyYXRvciwgdHlwZW5hbWUgTiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgZW51bSB7IHBvc18gPSBJdGVyYXRvcjo6cG9zXywgbl8gPSBOOjp2YWx1ZSB9OworICAgICAgICB0eXBlZGVmIHZfaXRlcjwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgSXRlcmF0b3I6OnZlY3Rvcl8KKyAgICAgICAgICAgICwgKHBvc18gKyBuXykKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgZGlzdGFuY2VfaW1wbDxhdXg6OnZfaXRlcl90YWc+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIEl0ZXIxLCB0eXBlbmFtZSBJdGVyMiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgZW51bSB7IHBvczFfID0gSXRlcjE6OnBvc18sIHBvczJfID0gSXRlcjI6OnBvc18gfTsKKyAgICAgICAgdHlwZWRlZiBsb25nXzwoIHBvczJfIC0gcG9zMV8gKT4gdHlwZTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGxvbmcsIHZhbHVlID0gKCBwb3MyXyAtIHBvczFfICkpOworICAgIH07Cit9OworCisjZW5kaWYKKworfX0KKworI2VuZGlmIC8vIEJPT1NUX01QTF9BVVhfVkVDVE9SX0lURVJBVE9SX0hQUF9JTkNMVURFRApkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL3ZlY3Rvci9hdXhfL251bWJlcmVkLmhwcCBiL25kbmJvb3N0L21wbC92ZWN0b3IvYXV4Xy9udW1iZXJlZC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOThlYmM1MAotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC92ZWN0b3IvYXV4Xy9udW1iZXJlZC5ocHAKQEAgLTAsMCArMSwyMTggQEAKKworLy8gTk8gSU5DTFVERSBHVUFSRFMsIFRIRSBIRUFERVIgSVMgSU5URU5ERUQgRk9SIE1VTFRJUExFIElOQ0xVU0lPTgorCisjaWYgZGVmaW5lZChCT09TVF9QUF9JU19JVEVSQVRJTkcpCisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKy8vIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL21wbCBmb3IgZG9jdW1lbnRhdGlvbi4KKworLy8gJElkOiBudW1iZXJlZC5ocHAgNDkyNjcgMjAwOC0xMC0xMSAwNjoxOTowMlogYWd1cnRvdm95ICQKKy8vICREYXRlOiAyMDA4LTEwLTEwIDIzOjE5OjAyIC0wNzAwIChGcmksIDEwIE9jdCAyMDA4KSAkCisvLyAkUmV2aXNpb246IDQ5MjY3ICQKKworI2luY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9lbnVtX3BhcmFtcy5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL2VudW1fc2hpZnRlZF9wYXJhbXMuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9jb21tYV9pZi5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL3JlcGVhdC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL2RlYy5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL2NhdC5ocHA+CisKKyNkZWZpbmUgaV8gQk9PU1RfUFBfRlJBTUVfSVRFUkFUSU9OKDEpCisKKyNpZiBkZWZpbmVkKEJPT1NUX01QTF9DRkdfVFlQRU9GX0JBU0VEX1NFUVVFTkNFUykKKworIyAgIGRlZmluZSBBVVg3NzgwNzZfVkVDVE9SX1RBSUwodmVjdG9yLCBpXywgVCkgXAorICAgIEJPT1NUX1BQX0NBVCh2ZWN0b3IsaV8pPCBcCisgICAgICAgICAgQk9PU1RfUFBfRU5VTV9QQVJBTVMoaV8sIFQpIFwKKyAgICAgICAgPiBcCisgICAgLyoqLworCisjaWYgaV8gPiAwCit0ZW1wbGF0ZTwKKyAgICAgIEJPT1NUX1BQX0VOVU1fUEFSQU1TKGlfLCB0eXBlbmFtZSBUKQorICAgID4KK3N0cnVjdCBCT09TVF9QUF9DQVQodmVjdG9yLGlfKQorICAgIDogdl9pdGVtPAorICAgICAgICAgIEJPT1NUX1BQX0NBVChULEJPT1NUX1BQX0RFQyhpXykpCisgICAgICAgICwgQVVYNzc4MDc2X1ZFQ1RPUl9UQUlMKHZlY3RvcixCT09TVF9QUF9ERUMoaV8pLFQpCisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIEJPT1NUX1BQX0NBVCh2ZWN0b3IsaV8pIHR5cGU7Cit9OworI2VuZGlmCisKKyMgICB1bmRlZiBBVVg3NzgwNzZfVkVDVE9SX1RBSUwKKworI2Vsc2UgLy8gImJydXRlIGZvcmNlIiBpbXBsZW1lbnRhdGlvbgorCisjICAgaWYgaV8gPiAwCisKK3RlbXBsYXRlPAorICAgICAgQk9PU1RfUFBfRU5VTV9QQVJBTVMoaV8sIHR5cGVuYW1lIFQpCisgICAgPgorc3RydWN0IEJPT1NUX1BQX0NBVCh2ZWN0b3IsaV8pCit7CisgICAgdHlwZWRlZiBhdXg6OnZlY3Rvcl90YWc8aV8+IHRhZzsKKyAgICB0eXBlZGVmIEJPT1NUX1BQX0NBVCh2ZWN0b3IsaV8pIHR5cGU7CisKKyMgICBkZWZpbmUgQVVYNzc4MDc2X1ZFQ1RPUl9JVEVNKHVudXNlZCwgaV8sIHVudXNlZDIpIFwKKyAgICB0eXBlZGVmIEJPT1NUX1BQX0NBVChULGlfKSBCT09TVF9QUF9DQVQoaXRlbSxpXyk7IFwKKyAgICAvKiovCisKKyAgICBCT09TVF9QUF9SRVBFQVQoaV8sIEFVWDc3ODA3Nl9WRUNUT1JfSVRFTSwgdW51c2VkKQorIyAgIHVuZGVmIEFVWDc3ODA3Nl9WRUNUT1JfSVRFTQorICAgIHR5cGVkZWYgdm9pZF8gQk9PU1RfUFBfQ0FUKGl0ZW0saV8pOworICAgIHR5cGVkZWYgQk9PU1RfUFBfQ0FUKFQsQk9PU1RfUFBfREVDKGlfKSkgYmFjazsKKworICAgIC8vIEJvcmxhbmQgZm9yY2VzIHVzIHRvIHVzZSAndHlwZScgaGVyZSAoaW5zdGVhZCBvZiB0aGUgY2xhc3MgbmFtZSkKKyAgICB0eXBlZGVmIHZfaXRlcjx0eXBlLDA+IGJlZ2luOworICAgIHR5cGVkZWYgdl9pdGVyPHR5cGUsaV8+IGVuZDsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwdXNoX2Zyb250X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzxCT09TVF9QUF9ERUMoaV8pPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciwgdHlwZW5hbWUgVCA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBCT09TVF9QUF9DQVQodmVjdG9yLGlfKTwKKyAgICAgICAgICAgICAgVAorICAgICAgICAgICAgICBCT09TVF9QUF9DT01NQV9JRihCT09TVF9QUF9ERUMoaV8pKQorICAgICAgICAgICAgICBCT09TVF9QUF9FTlVNX1BBUkFNUyhCT09TVF9QUF9ERUMoaV8pLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0pCisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwb3BfZnJvbnRfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPGlfPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBCT09TVF9QUF9DQVQodmVjdG9yLEJPT1NUX1BQX0RFQyhpXykpPAorICAgICAgICAgICAgICBCT09TVF9QUF9FTlVNX1NISUZURURfUEFSQU1TKGlfLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0pCisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKKwordGVtcGxhdGU8Pgorc3RydWN0IHB1c2hfYmFja19pbXBsPCBhdXg6OnZlY3Rvcl90YWc8Qk9PU1RfUFBfREVDKGlfKT4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IsIHR5cGVuYW1lIFQgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgQk9PU1RfUFBfQ0FUKHZlY3RvcixpXyk8CisgICAgICAgICAgICAgIEJPT1NUX1BQX0VOVU1fUEFSQU1TKEJPT1NUX1BQX0RFQyhpXyksIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbSkKKyAgICAgICAgICAgICAgQk9PU1RfUFBfQ09NTUFfSUYoQk9PU1RfUFBfREVDKGlfKSkKKyAgICAgICAgICAgICAgVAorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcG9wX2JhY2tfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPGlfPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBCT09TVF9QUF9DQVQodmVjdG9yLEJPT1NUX1BQX0RFQyhpXykpPAorICAgICAgICAgICAgICBCT09TVF9QUF9FTlVNX1BBUkFNUyhCT09TVF9QUF9ERUMoaV8pLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0pCisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKKyMgICBlbmRpZiAvLyBpXyA+IDAKKworIyAgIGlmICFkZWZpbmVkKEJPT1NUX05PX1RFTVBMQVRFX1BBUlRJQUxfU1BFQ0lBTElaQVRJT04pIFwKKyAgICAmJiAhZGVmaW5lZChCT09TVF9NUExfQ0ZHX05PX05PTlRZUEVfVEVNUExBVEVfUEFSVElBTF9TUEVDKQorCit0ZW1wbGF0ZTwgdHlwZW5hbWUgViA+CitzdHJ1Y3Qgdl9hdDxWLGlfPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgVjo6Qk9PU1RfUFBfQ0FUKGl0ZW0saV8pIHR5cGU7Cit9OworCisjICAgZWxzZQorCituYW1lc3BhY2UgYXV4IHsKK3RlbXBsYXRlPD4gc3RydWN0IHZfYXRfaW1wbDxpXz4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVl8gPiBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBWXzo6Qk9PU1RfUFBfQ0FUKGl0ZW0saV8pIHR5cGU7CisgICAgfTsKK307Cit9CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBhdF9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8aV8+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVl8sIHR5cGVuYW1lIE4gPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXV4Ojp2X2F0X2ltcGw8Qk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4pOjp2YWx1ZT4KKyAgICAgICAgICAgIDo6dGVtcGxhdGUgcmVzdWx0XzxWXz46OnR5cGUgdHlwZTsKKyAgICB9OworfTsKKworI2lmIGlfID4gMAordGVtcGxhdGU8Pgorc3RydWN0IGZyb250X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzxpXz4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgYmFja19pbXBsPCBhdXg6OnZlY3Rvcl90YWc8aV8+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIFZlY3Rvcjo6YmFjayB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgZW1wdHlfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPGlfPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgICAgICA6IGZhbHNlXworICAgIHsKKyAgICB9OworfTsKKyNlbmRpZgorCit0ZW1wbGF0ZTw+CitzdHJ1Y3Qgc2l6ZV9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8aV8+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgICAgIDogbG9uZ188aV8+CisgICAgeworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgTzFfc2l6ZV9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8aV8+ID4KKyAgICA6IHNpemVfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPGlfPiA+Cit7Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgY2xlYXJfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPGlfPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IwPD4gdHlwZTsKKyAgICB9OworfTsKKworIyAgIGVuZGlmIC8vIEJPT1NUX05PX1RFTVBMQVRFX1BBUlRJQUxfU1BFQ0lBTElaQVRJT04KKworI2VuZGlmIC8vIEJPT1NUX01QTF9DRkdfVFlQRU9GX0JBU0VEX1NFUVVFTkNFUworCisjdW5kZWYgaV8KKworI2VuZGlmIC8vIEJPT1NUX1BQX0lTX0lURVJBVElORwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL3ZlY3Rvci9hdXhfL251bWJlcmVkX2MuaHBwIGIvbmRuYm9vc3QvbXBsL3ZlY3Rvci9hdXhfL251bWJlcmVkX2MuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY3YTZkYjgKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvdmVjdG9yL2F1eF8vbnVtYmVyZWRfYy5ocHAKQEAgLTAsMCArMSw3NyBAQAorCisvLyBOTyBJTkNMVURFIEdVQVJEUywgVEhFIEhFQURFUiBJUyBJTlRFTkRFRCBGT1IgTVVMVElQTEUgSU5DTFVTSU9OCisKKyNpZiBkZWZpbmVkKEJPT1NUX1BQX0lTX0lURVJBVElORykKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworLy8gU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL2xpYnMvbXBsIGZvciBkb2N1bWVudGF0aW9uLgorCisvLyAkSWQ6IG51bWJlcmVkX2MuaHBwIDQ5MjY3IDIwMDgtMTAtMTEgMDY6MTk6MDJaIGFndXJ0b3ZveSAkCisvLyAkRGF0ZTogMjAwOC0xMC0xMCAyMzoxOTowMiAtMDcwMCAoRnJpLCAxMCBPY3QgMjAwOCkgJAorLy8gJFJldmlzaW9uOiA0OTI2NyAkCisKKyNpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3IvZW51bV9wYXJhbXMuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9lbnVtX3NoaWZ0ZWRfcGFyYW1zLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3IvY29tbWFfaWYuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9yZXBlYXQuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9kZWMuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9jYXQuaHBwPgorCisjZGVmaW5lIGlfIEJPT1NUX1BQX0ZSQU1FX0lURVJBVElPTigxKQorCisjaWYgZGVmaW5lZChCT09TVF9NUExfQ0ZHX1RZUEVPRl9CQVNFRF9TRVFVRU5DRVMpCisKKyMgICBkZWZpbmUgQVVYNzc4MDc2X1ZFQ1RPUl9UQUlMKHZlY3RvciwgaV8sIEMpIFwKKyAgICBCT09TVF9QUF9DQVQoQk9PU1RfUFBfQ0FUKHZlY3RvcixpXyksX2MpPFQgXAorICAgICAgICAgIEJPT1NUX1BQX0NPTU1BX0lGKGlfKSBCT09TVF9QUF9FTlVNX1BBUkFNUyhpXywgQykgXAorICAgICAgICA+IFwKKyAgICAvKiovCisKKyNpZiBpXyA+IDAKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVAorICAgICwgQk9PU1RfUFBfRU5VTV9QQVJBTVMoaV8sIFQgQykKKyAgICA+CitzdHJ1Y3QgQk9PU1RfUFBfQ0FUKEJPT1NUX1BQX0NBVCh2ZWN0b3IsaV8pLF9jKQorICAgIDogdl9pdGVtPAorICAgICAgICAgIGludGVncmFsX2M8VCxCT09TVF9QUF9DQVQoQyxCT09TVF9QUF9ERUMoaV8pKT4KKyAgICAgICAgLCBBVVg3NzgwNzZfVkVDVE9SX1RBSUwodmVjdG9yLEJPT1NUX1BQX0RFQyhpXyksQykKKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgQk9PU1RfUFBfQ0FUKEJPT1NUX1BQX0NBVCh2ZWN0b3IsaV8pLF9jKSB0eXBlOworICAgIHR5cGVkZWYgVCB2YWx1ZV90eXBlOworfTsKKyNlbmRpZgorCisjICAgdW5kZWYgQVVYNzc4MDc2X1ZFQ1RPUl9UQUlMCisKKyNlbHNlIC8vICJicnV0ZSBmb3JjZSIgaW1wbGVtZW50YXRpb24KKworIyAgIGRlZmluZSBBVVg3NzgwNzZfVkVDVE9SX0NfUEFSQU1fRlVOQyh1bnVzZWQsIGlfLCBwYXJhbSkgXAorICAgIEJPT1NUX1BQX0NPTU1BX0lGKGlfKSBcCisgICAgaW50ZWdyYWxfYzxULEJPT1NUX1BQX0NBVChwYXJhbSxpXyk+IFwKKyAgICAvKiovCisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVAorICAgICwgQk9PU1RfUFBfRU5VTV9QQVJBTVMoaV8sIFQgQykKKyAgICA+CitzdHJ1Y3QgQk9PU1RfUFBfQ0FUKEJPT1NUX1BQX0NBVCh2ZWN0b3IsaV8pLF9jKQorICAgIDogQk9PU1RfUFBfQ0FUKHZlY3RvcixpXyk8IEJPT1NUX1BQX1JFUEVBVChpXyxBVVg3NzgwNzZfVkVDVE9SX0NfUEFSQU1fRlVOQyxDKSA+Cit7CisgICAgdHlwZWRlZiBCT09TVF9QUF9DQVQoQk9PU1RfUFBfQ0FUKHZlY3RvcixpXyksX2MpIHR5cGU7CisgICAgdHlwZWRlZiBUIHZhbHVlX3R5cGU7Cit9OworCisjICAgdW5kZWYgQVVYNzc4MDc2X1ZFQ1RPUl9DX1BBUkFNX0ZVTkMKKworI2VuZGlmIC8vIEJPT1NUX01QTF9DRkdfVFlQRU9GX0JBU0VEX1NFUVVFTkNFUworCisjdW5kZWYgaV8KKworI2VuZGlmIC8vIEJPT1NUX1BQX0lTX0lURVJBVElORwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL3ZlY3Rvci9hdXhfL3BvcF9iYWNrLmhwcCBiL25kbmJvb3N0L21wbC92ZWN0b3IvYXV4Xy9wb3BfYmFjay5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDgwYmQ2NwotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC92ZWN0b3IvYXV4Xy9wb3BfYmFjay5ocHAKQEAgLTAsMCArMSw0MCBAQAorCisjaWZuZGVmIEJPT1NUX01QTF9WRUNUT1JfQVVYX1BPUF9CQUNLX0hQUF9JTkNMVURFRAorI2RlZmluZSBCT09TVF9NUExfVkVDVE9SX0FVWF9QT1BfQkFDS19IUFBfSU5DTFVERUQKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworLy8gU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL2xpYnMvbXBsIGZvciBkb2N1bWVudGF0aW9uLgorCisvLyAkSWQ6IHBvcF9iYWNrLmhwcCA0OTI2NyAyMDA4LTEwLTExIDA2OjE5OjAyWiBhZ3VydG92b3kgJAorLy8gJERhdGU6IDIwMDgtMTAtMTAgMjM6MTk6MDIgLTA3MDAgKEZyaSwgMTAgT2N0IDIwMDgpICQKKy8vICRSZXZpc2lvbjogNDkyNjcgJAorCisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL3BvcF9iYWNrX2Z3ZC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vY29uZmlnL3R5cGVvZi5ocHA+CisKKyNpZiBkZWZpbmVkKEJPT1NUX01QTF9DRkdfVFlQRU9GX0JBU0VEX1NFUVVFTkNFUykKKworIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC92ZWN0b3IvYXV4Xy9pdGVtLmhwcD4KKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvdmVjdG9yL2F1eF8vdGFnLmhwcD4KKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwb3BfYmFja19pbXBsPCBhdXg6OnZlY3Rvcl90YWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdl9tYXNrPFZlY3RvciwwPiB0eXBlOworICAgIH07Cit9OworCit9fQorCisjZW5kaWYgLy8gQk9PU1RfTVBMX0NGR19UWVBFT0ZfQkFTRURfU0VRVUVOQ0VTCisKKyNlbmRpZiAvLyBCT09TVF9NUExfVkVDVE9SX0FVWF9QT1BfQkFDS19IUFBfSU5DTFVERUQKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC92ZWN0b3IvYXV4Xy9wb3BfZnJvbnQuaHBwIGIvbmRuYm9vc3QvbXBsL3ZlY3Rvci9hdXhfL3BvcF9mcm9udC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGE3ZTdhOAotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC92ZWN0b3IvYXV4Xy9wb3BfZnJvbnQuaHBwCkBAIC0wLDAgKzEsNDAgQEAKKworI2lmbmRlZiBCT09TVF9NUExfVkVDVE9SX0FVWF9QT1BfRlJPTlRfSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX01QTF9WRUNUT1JfQVVYX1BPUF9GUk9OVF9IUFBfSU5DTFVERUQKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworLy8gU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL2xpYnMvbXBsIGZvciBkb2N1bWVudGF0aW9uLgorCisvLyAkSWQ6IHBvcF9mcm9udC5ocHAgNDkyNjcgMjAwOC0xMC0xMSAwNjoxOTowMlogYWd1cnRvdm95ICQKKy8vICREYXRlOiAyMDA4LTEwLTEwIDIzOjE5OjAyIC0wNzAwIChGcmksIDEwIE9jdCAyMDA4KSAkCisvLyAkUmV2aXNpb246IDQ5MjY3ICQKKworI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9wb3BfZnJvbnRfZndkLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9jb25maWcvdHlwZW9mLmhwcD4KKworI2lmIGRlZmluZWQoQk9PU1RfTVBMX0NGR19UWVBFT0ZfQkFTRURfU0VRVUVOQ0VTKQorCisjICAgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL3ZlY3Rvci9hdXhfL2l0ZW0uaHBwPgorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC92ZWN0b3IvYXV4Xy90YWcuaHBwPgorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8Pgorc3RydWN0IHBvcF9mcm9udF9pbXBsPCBhdXg6OnZlY3Rvcl90YWcgPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdl9tYXNrPFZlY3RvciwxPiB0eXBlOworICAgIH07Cit9OworCit9fQorCisjZW5kaWYgLy8gQk9PU1RfTVBMX0NGR19UWVBFT0ZfQkFTRURfU0VRVUVOQ0VTCisKKyNlbmRpZiAvLyBCT09TVF9NUExfVkVDVE9SX0FVWF9QT1BfRlJPTlRfSFBQX0lOQ0xVREVECmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvdmVjdG9yL2F1eF8vcHJlcHJvY2Vzc2VkL25vX2N0cHMvdmVjdG9yMTAuaHBwIGIvbmRuYm9vc3QvbXBsL3ZlY3Rvci9hdXhfL3ByZXByb2Nlc3NlZC9ub19jdHBzL3ZlY3RvcjEwLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wODMwMGM2Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL3ZlY3Rvci9hdXhfL3ByZXByb2Nlc3NlZC9ub19jdHBzL3ZlY3RvcjEwLmhwcApAQCAtMCwwICsxLDE1MjggQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL3ZlY3Rvci92ZWN0b3IxMC5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKworbmFtZXNwYWNlIGF1eCB7Cit0ZW1wbGF0ZTw+IHN0cnVjdCB2X2F0X2ltcGw8MD4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVl8gPiBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBWXzo6aXRlbTAgdHlwZTsKKyAgICB9OworfTsKKworfQorCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgYXRfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDA+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVl8sIHR5cGVuYW1lIE4gPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXV4Ojp2X2F0X2ltcGw8Qk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4pOjp2YWx1ZT4KKyAgICAgICAgICAgIDo6dGVtcGxhdGUgcmVzdWx0XzxWXz46OnR5cGUgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHNpemVfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDA+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgICAgIDogbG9uZ188MD4KKyAgICB7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBPMV9zaXplX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwwPiA+CisgICAgOiBzaXplX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwwPiA+Cit7Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgY2xlYXJfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDA+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjA8PiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwCisgICAgPgorc3RydWN0IHZlY3RvcjEKK3sKKyAgICB0eXBlZGVmIGF1eDo6dmVjdG9yX3RhZzwxPiB0YWc7CisgICAgdHlwZWRlZiB2ZWN0b3IxIHR5cGU7CisgICAgdHlwZWRlZiBUMCBpdGVtMDsKKyAgICB0eXBlZGVmIHZvaWRfIGl0ZW0xOworICAgIHR5cGVkZWYgVDAgYmFjazsKKyAgICB0eXBlZGVmIHZfaXRlcjwgdHlwZSwwID4gYmVnaW47CisgICAgdHlwZWRlZiB2X2l0ZXI8IHR5cGUsMSA+IGVuZDsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwdXNoX2Zyb250X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwwPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciwgdHlwZW5hbWUgVCA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IxPAorICAgICAgICAgICAgICBUCisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwb3BfZnJvbnRfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDE+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjA8CisgICAgICAgICAgICAgCisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwdXNoX2JhY2tfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDA+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yLCB0eXBlbmFtZSBUID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjE8CisgICAgICAgICAgICAgCisgICAgICAgICAgICAgIFQKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHBvcF9iYWNrX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwxPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IwPAorICAgICAgICAgICAgIAorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCituYW1lc3BhY2UgYXV4IHsKK3RlbXBsYXRlPD4gc3RydWN0IHZfYXRfaW1wbDwxPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWXyA+IHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIFZfOjppdGVtMSB0eXBlOworICAgIH07Cit9OworCit9CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBhdF9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MT4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWXywgdHlwZW5hbWUgTiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhdXg6OnZfYXRfaW1wbDxCT09TVF9NUExfQVVYX1ZBTFVFX1dLTkQoTik6OnZhbHVlPgorICAgICAgICAgICAgOjp0ZW1wbGF0ZSByZXN1bHRfPFZfPjo6dHlwZSB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgZnJvbnRfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDE+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGJhY2tfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDE+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIFZlY3Rvcjo6YmFjayB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgZW1wdHlfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDE+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgICAgIDogZmFsc2VfCisgICAgeworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3Qgc2l6ZV9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MT4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICAgICAgOiBsb25nXzwxPgorICAgIHsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IE8xX3NpemVfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDE+ID4KKyAgICA6IHNpemVfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDE+ID4KK3sKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBjbGVhcl9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MT4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yMDw+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxCisgICAgPgorc3RydWN0IHZlY3RvcjIKK3sKKyAgICB0eXBlZGVmIGF1eDo6dmVjdG9yX3RhZzwyPiB0YWc7CisgICAgdHlwZWRlZiB2ZWN0b3IyIHR5cGU7CisgICAgdHlwZWRlZiBUMCBpdGVtMDsKKyAgICB0eXBlZGVmIFQxIGl0ZW0xOworICAgIAorCisgICAgdHlwZWRlZiB2b2lkXyBpdGVtMjsKKyAgICB0eXBlZGVmIFQxIGJhY2s7CisgICAgdHlwZWRlZiB2X2l0ZXI8IHR5cGUsMCA+IGJlZ2luOworICAgIHR5cGVkZWYgdl9pdGVyPCB0eXBlLDIgPiBlbmQ7Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcHVzaF9mcm9udF9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MT4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IsIHR5cGVuYW1lIFQgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yMjwKKyAgICAgICAgICAgICAgVAorICAgICAgICAgICAgICAsCisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHBvcF9mcm9udF9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8Mj4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yMTwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMQorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcHVzaF9iYWNrX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwxPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciwgdHlwZW5hbWUgVCA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IyPAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0wCisgICAgICAgICAgICAgICwKKyAgICAgICAgICAgICAgVAorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcG9wX2JhY2tfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDI+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjE8CisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKworbmFtZXNwYWNlIGF1eCB7Cit0ZW1wbGF0ZTw+IHN0cnVjdCB2X2F0X2ltcGw8Mj4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVl8gPiBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBWXzo6aXRlbTIgdHlwZTsKKyAgICB9OworfTsKKworfQorCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgYXRfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDI+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVl8sIHR5cGVuYW1lIE4gPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXV4Ojp2X2F0X2ltcGw8Qk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4pOjp2YWx1ZT4KKyAgICAgICAgICAgIDo6dGVtcGxhdGUgcmVzdWx0XzxWXz46OnR5cGUgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGZyb250X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwyPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0wIHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBiYWNrX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwyPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBWZWN0b3I6OmJhY2sgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGVtcHR5X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwyPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgICAgICA6IGZhbHNlXworICAgIHsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHNpemVfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDI+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgICAgIDogbG9uZ188Mj4KKyAgICB7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBPMV9zaXplX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwyPiA+CisgICAgOiBzaXplX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwyPiA+Cit7Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgY2xlYXJfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDI+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjA8PiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIKKyAgICA+CitzdHJ1Y3QgdmVjdG9yMworeworICAgIHR5cGVkZWYgYXV4Ojp2ZWN0b3JfdGFnPDM+IHRhZzsKKyAgICB0eXBlZGVmIHZlY3RvcjMgdHlwZTsKKyAgICB0eXBlZGVmIFQwIGl0ZW0wOworICAgIHR5cGVkZWYgVDEgaXRlbTE7CisgICAgdHlwZWRlZiBUMiBpdGVtMjsKKyAgICAKKworICAgIHR5cGVkZWYgdm9pZF8gaXRlbTM7CisgICAgdHlwZWRlZiBUMiBiYWNrOworICAgIHR5cGVkZWYgdl9pdGVyPCB0eXBlLDAgPiBiZWdpbjsKKyAgICB0eXBlZGVmIHZfaXRlcjwgdHlwZSwzID4gZW5kOworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHB1c2hfZnJvbnRfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDI+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yLCB0eXBlbmFtZSBUID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjM8CisgICAgICAgICAgICAgIFQKKyAgICAgICAgICAgICAgLAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0wLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xCisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwb3BfZnJvbnRfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDM+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjI8CisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHB1c2hfYmFja19pbXBsPCBhdXg6OnZlY3Rvcl90YWc8Mj4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IsIHR5cGVuYW1lIFQgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yMzwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMQorICAgICAgICAgICAgICAsCisgICAgICAgICAgICAgIFQKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHBvcF9iYWNrX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwzPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IyPAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0wLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xCisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK25hbWVzcGFjZSBhdXggewordGVtcGxhdGU8PiBzdHJ1Y3Qgdl9hdF9pbXBsPDM+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZfID4gc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgVl86Oml0ZW0zIHR5cGU7CisgICAgfTsKK307CisKK30KKwordGVtcGxhdGU8Pgorc3RydWN0IGF0X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwzPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZfLCB0eXBlbmFtZSBOID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGF1eDo6dl9hdF9pbXBsPEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChOKTo6dmFsdWU+CisgICAgICAgICAgICA6OnRlbXBsYXRlIHJlc3VsdF88Vl8+Ojp0eXBlIHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBmcm9udF9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8Mz4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgYmFja19pbXBsPCBhdXg6OnZlY3Rvcl90YWc8Mz4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgVmVjdG9yOjpiYWNrIHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBlbXB0eV9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8Mz4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICAgICAgOiBmYWxzZV8KKyAgICB7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBzaXplX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwzPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgICAgICA6IGxvbmdfPDM+CisgICAgeworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgTzFfc2l6ZV9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8Mz4gPgorICAgIDogc2l6ZV9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8Mz4gPgoreworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGNsZWFyX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwzPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IwPD4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMworICAgID4KK3N0cnVjdCB2ZWN0b3I0Cit7CisgICAgdHlwZWRlZiBhdXg6OnZlY3Rvcl90YWc8ND4gdGFnOworICAgIHR5cGVkZWYgdmVjdG9yNCB0eXBlOworICAgIHR5cGVkZWYgVDAgaXRlbTA7CisgICAgdHlwZWRlZiBUMSBpdGVtMTsKKyAgICB0eXBlZGVmIFQyIGl0ZW0yOworICAgIHR5cGVkZWYgVDMgaXRlbTM7CisgICAgCisKKyAgICB0eXBlZGVmIHZvaWRfIGl0ZW00OworICAgIHR5cGVkZWYgVDMgYmFjazsKKyAgICB0eXBlZGVmIHZfaXRlcjwgdHlwZSwwID4gYmVnaW47CisgICAgdHlwZWRlZiB2X2l0ZXI8IHR5cGUsNCA+IGVuZDsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwdXNoX2Zyb250X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwzPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciwgdHlwZW5hbWUgVCA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3I0PAorICAgICAgICAgICAgICBUCisgICAgICAgICAgICAgICwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yCisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwb3BfZnJvbnRfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDQ+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjM8CisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMworICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcHVzaF9iYWNrX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwzPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciwgdHlwZW5hbWUgVCA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3I0PAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0wLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIKKyAgICAgICAgICAgICAgLAorICAgICAgICAgICAgICBUCisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwb3BfYmFja19pbXBsPCBhdXg6OnZlY3Rvcl90YWc8ND4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yMzwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yCisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK25hbWVzcGFjZSBhdXggewordGVtcGxhdGU8PiBzdHJ1Y3Qgdl9hdF9pbXBsPDQ+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZfID4gc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgVl86Oml0ZW00IHR5cGU7CisgICAgfTsKK307CisKK30KKwordGVtcGxhdGU8Pgorc3RydWN0IGF0X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzw0PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZfLCB0eXBlbmFtZSBOID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGF1eDo6dl9hdF9pbXBsPEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChOKTo6dmFsdWU+CisgICAgICAgICAgICA6OnRlbXBsYXRlIHJlc3VsdF88Vl8+Ojp0eXBlIHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBmcm9udF9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8ND4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgYmFja19pbXBsPCBhdXg6OnZlY3Rvcl90YWc8ND4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgVmVjdG9yOjpiYWNrIHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBlbXB0eV9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8ND4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICAgICAgOiBmYWxzZV8KKyAgICB7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBzaXplX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzw0PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgICAgICA6IGxvbmdfPDQ+CisgICAgeworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgTzFfc2l6ZV9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8ND4gPgorICAgIDogc2l6ZV9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8ND4gPgoreworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGNsZWFyX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzw0PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IwPD4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICA+CitzdHJ1Y3QgdmVjdG9yNQoreworICAgIHR5cGVkZWYgYXV4Ojp2ZWN0b3JfdGFnPDU+IHRhZzsKKyAgICB0eXBlZGVmIHZlY3RvcjUgdHlwZTsKKyAgICB0eXBlZGVmIFQwIGl0ZW0wOworICAgIHR5cGVkZWYgVDEgaXRlbTE7CisgICAgdHlwZWRlZiBUMiBpdGVtMjsKKyAgICB0eXBlZGVmIFQzIGl0ZW0zOworICAgIHR5cGVkZWYgVDQgaXRlbTQ7CisgICAgCisKKyAgICB0eXBlZGVmIHZvaWRfIGl0ZW01OworICAgIHR5cGVkZWYgVDQgYmFjazsKKyAgICB0eXBlZGVmIHZfaXRlcjwgdHlwZSwwID4gYmVnaW47CisgICAgdHlwZWRlZiB2X2l0ZXI8IHR5cGUsNSA+IGVuZDsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwdXNoX2Zyb250X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzw0PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciwgdHlwZW5hbWUgVCA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3I1PAorICAgICAgICAgICAgICBUCisgICAgICAgICAgICAgICwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zCisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwb3BfZnJvbnRfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDU+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjQ8CisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMywgdHlwZW5hbWUgVmVjdG9yOjppdGVtNAorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcHVzaF9iYWNrX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzw0PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciwgdHlwZW5hbWUgVCA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3I1PAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0wLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMKKyAgICAgICAgICAgICAgLAorICAgICAgICAgICAgICBUCisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwb3BfYmFja19pbXBsPCBhdXg6OnZlY3Rvcl90YWc8NT4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yNDwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zCisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK25hbWVzcGFjZSBhdXggewordGVtcGxhdGU8PiBzdHJ1Y3Qgdl9hdF9pbXBsPDU+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZfID4gc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgVl86Oml0ZW01IHR5cGU7CisgICAgfTsKK307CisKK30KKwordGVtcGxhdGU8Pgorc3RydWN0IGF0X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzw1PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZfLCB0eXBlbmFtZSBOID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGF1eDo6dl9hdF9pbXBsPEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChOKTo6dmFsdWU+CisgICAgICAgICAgICA6OnRlbXBsYXRlIHJlc3VsdF88Vl8+Ojp0eXBlIHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBmcm9udF9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8NT4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgYmFja19pbXBsPCBhdXg6OnZlY3Rvcl90YWc8NT4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgVmVjdG9yOjpiYWNrIHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBlbXB0eV9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8NT4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICAgICAgOiBmYWxzZV8KKyAgICB7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBzaXplX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzw1PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgICAgICA6IGxvbmdfPDU+CisgICAgeworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgTzFfc2l6ZV9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8NT4gPgorICAgIDogc2l6ZV9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8NT4gPgoreworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGNsZWFyX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzw1PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IwPD4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1CisgICAgPgorc3RydWN0IHZlY3RvcjYKK3sKKyAgICB0eXBlZGVmIGF1eDo6dmVjdG9yX3RhZzw2PiB0YWc7CisgICAgdHlwZWRlZiB2ZWN0b3I2IHR5cGU7CisgICAgdHlwZWRlZiBUMCBpdGVtMDsKKyAgICB0eXBlZGVmIFQxIGl0ZW0xOworICAgIHR5cGVkZWYgVDIgaXRlbTI7CisgICAgdHlwZWRlZiBUMyBpdGVtMzsKKyAgICB0eXBlZGVmIFQ0IGl0ZW00OworICAgIHR5cGVkZWYgVDUgaXRlbTU7CisgICAgCisKKyAgICB0eXBlZGVmIHZvaWRfIGl0ZW02OworICAgIHR5cGVkZWYgVDUgYmFjazsKKyAgICB0eXBlZGVmIHZfaXRlcjwgdHlwZSwwID4gYmVnaW47CisgICAgdHlwZWRlZiB2X2l0ZXI8IHR5cGUsNiA+IGVuZDsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwdXNoX2Zyb250X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzw1PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciwgdHlwZW5hbWUgVCA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3I2PAorICAgICAgICAgICAgICBUCisgICAgICAgICAgICAgICwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHBvcF9mcm9udF9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8Nj4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yNTwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHB1c2hfYmFja19pbXBsPCBhdXg6OnZlY3Rvcl90YWc8NT4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IsIHR5cGVuYW1lIFQgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yNjwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQKKyAgICAgICAgICAgICAgLAorICAgICAgICAgICAgICBUCisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwb3BfYmFja19pbXBsPCBhdXg6OnZlY3Rvcl90YWc8Nj4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yNTwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKworbmFtZXNwYWNlIGF1eCB7Cit0ZW1wbGF0ZTw+IHN0cnVjdCB2X2F0X2ltcGw8Nj4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVl8gPiBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBWXzo6aXRlbTYgdHlwZTsKKyAgICB9OworfTsKKworfQorCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgYXRfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDY+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVl8sIHR5cGVuYW1lIE4gPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXV4Ojp2X2F0X2ltcGw8Qk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4pOjp2YWx1ZT4KKyAgICAgICAgICAgIDo6dGVtcGxhdGUgcmVzdWx0XzxWXz46OnR5cGUgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGZyb250X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzw2PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0wIHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBiYWNrX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzw2PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBWZWN0b3I6OmJhY2sgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGVtcHR5X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzw2PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgICAgICA6IGZhbHNlXworICAgIHsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHNpemVfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDY+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgICAgIDogbG9uZ188Nj4KKyAgICB7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBPMV9zaXplX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzw2PiA+CisgICAgOiBzaXplX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzw2PiA+Cit7Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgY2xlYXJfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDY+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjA8PiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2CisgICAgPgorc3RydWN0IHZlY3RvcjcKK3sKKyAgICB0eXBlZGVmIGF1eDo6dmVjdG9yX3RhZzw3PiB0YWc7CisgICAgdHlwZWRlZiB2ZWN0b3I3IHR5cGU7CisgICAgdHlwZWRlZiBUMCBpdGVtMDsKKyAgICB0eXBlZGVmIFQxIGl0ZW0xOworICAgIHR5cGVkZWYgVDIgaXRlbTI7CisgICAgdHlwZWRlZiBUMyBpdGVtMzsKKyAgICB0eXBlZGVmIFQ0IGl0ZW00OworICAgIHR5cGVkZWYgVDUgaXRlbTU7CisgICAgdHlwZWRlZiBUNiBpdGVtNjsKKyAgICAKKworICAgIHR5cGVkZWYgdm9pZF8gaXRlbTc7CisgICAgdHlwZWRlZiBUNiBiYWNrOworICAgIHR5cGVkZWYgdl9pdGVyPCB0eXBlLDAgPiBiZWdpbjsKKyAgICB0eXBlZGVmIHZfaXRlcjwgdHlwZSw3ID4gZW5kOworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHB1c2hfZnJvbnRfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDY+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yLCB0eXBlbmFtZSBUID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3Rvcjc8CisgICAgICAgICAgICAgIFQKKyAgICAgICAgICAgICAgLAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0wLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNQorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcG9wX2Zyb250X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzw3PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3I2PAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNgorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcHVzaF9iYWNrX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzw2PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciwgdHlwZW5hbWUgVCA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3I3PAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0wLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNQorICAgICAgICAgICAgICAsCisgICAgICAgICAgICAgIFQKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHBvcF9iYWNrX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzw3PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3I2PAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0wLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNQorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCituYW1lc3BhY2UgYXV4IHsKK3RlbXBsYXRlPD4gc3RydWN0IHZfYXRfaW1wbDw3PgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWXyA+IHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIFZfOjppdGVtNyB0eXBlOworICAgIH07Cit9OworCit9CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBhdF9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8Nz4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWXywgdHlwZW5hbWUgTiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhdXg6OnZfYXRfaW1wbDxCT09TVF9NUExfQVVYX1ZBTFVFX1dLTkQoTik6OnZhbHVlPgorICAgICAgICAgICAgOjp0ZW1wbGF0ZSByZXN1bHRfPFZfPjo6dHlwZSB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgZnJvbnRfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDc+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGJhY2tfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDc+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIFZlY3Rvcjo6YmFjayB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgZW1wdHlfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDc+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgICAgIDogZmFsc2VfCisgICAgeworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3Qgc2l6ZV9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8Nz4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICAgICAgOiBsb25nXzw3PgorICAgIHsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IE8xX3NpemVfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDc+ID4KKyAgICA6IHNpemVfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDc+ID4KK3sKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBjbGVhcl9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8Nz4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yMDw+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3CisgICAgPgorc3RydWN0IHZlY3RvcjgKK3sKKyAgICB0eXBlZGVmIGF1eDo6dmVjdG9yX3RhZzw4PiB0YWc7CisgICAgdHlwZWRlZiB2ZWN0b3I4IHR5cGU7CisgICAgdHlwZWRlZiBUMCBpdGVtMDsKKyAgICB0eXBlZGVmIFQxIGl0ZW0xOworICAgIHR5cGVkZWYgVDIgaXRlbTI7CisgICAgdHlwZWRlZiBUMyBpdGVtMzsKKyAgICB0eXBlZGVmIFQ0IGl0ZW00OworICAgIHR5cGVkZWYgVDUgaXRlbTU7CisgICAgdHlwZWRlZiBUNiBpdGVtNjsKKyAgICB0eXBlZGVmIFQ3IGl0ZW03OworICAgIAorCisgICAgdHlwZWRlZiB2b2lkXyBpdGVtODsKKyAgICB0eXBlZGVmIFQ3IGJhY2s7CisgICAgdHlwZWRlZiB2X2l0ZXI8IHR5cGUsMCA+IGJlZ2luOworICAgIHR5cGVkZWYgdl9pdGVyPCB0eXBlLDggPiBlbmQ7Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcHVzaF9mcm9udF9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8Nz4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IsIHR5cGVuYW1lIFQgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yODwKKyAgICAgICAgICAgICAgVAorICAgICAgICAgICAgICAsCisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHBvcF9mcm9udF9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8OD4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yNzwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNworICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcHVzaF9iYWNrX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzw3PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciwgdHlwZW5hbWUgVCA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3I4PAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0wLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW02CisgICAgICAgICAgICAgICwKKyAgICAgICAgICAgICAgVAorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcG9wX2JhY2tfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDg+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3Rvcjc8CisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKworbmFtZXNwYWNlIGF1eCB7Cit0ZW1wbGF0ZTw+IHN0cnVjdCB2X2F0X2ltcGw8OD4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVl8gPiBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBWXzo6aXRlbTggdHlwZTsKKyAgICB9OworfTsKKworfQorCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgYXRfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDg+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVl8sIHR5cGVuYW1lIE4gPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXV4Ojp2X2F0X2ltcGw8Qk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4pOjp2YWx1ZT4KKyAgICAgICAgICAgIDo6dGVtcGxhdGUgcmVzdWx0XzxWXz46OnR5cGUgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGZyb250X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzw4PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0wIHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBiYWNrX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzw4PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBWZWN0b3I6OmJhY2sgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGVtcHR5X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzw4PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgICAgICA6IGZhbHNlXworICAgIHsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHNpemVfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDg+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgICAgIDogbG9uZ188OD4KKyAgICB7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBPMV9zaXplX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzw4PiA+CisgICAgOiBzaXplX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzw4PiA+Cit7Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgY2xlYXJfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDg+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjA8PiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgKKyAgICA+CitzdHJ1Y3QgdmVjdG9yOQoreworICAgIHR5cGVkZWYgYXV4Ojp2ZWN0b3JfdGFnPDk+IHRhZzsKKyAgICB0eXBlZGVmIHZlY3RvcjkgdHlwZTsKKyAgICB0eXBlZGVmIFQwIGl0ZW0wOworICAgIHR5cGVkZWYgVDEgaXRlbTE7CisgICAgdHlwZWRlZiBUMiBpdGVtMjsKKyAgICB0eXBlZGVmIFQzIGl0ZW0zOworICAgIHR5cGVkZWYgVDQgaXRlbTQ7CisgICAgdHlwZWRlZiBUNSBpdGVtNTsKKyAgICB0eXBlZGVmIFQ2IGl0ZW02OworICAgIHR5cGVkZWYgVDcgaXRlbTc7CisgICAgdHlwZWRlZiBUOCBpdGVtODsKKyAgICAKKworICAgIHR5cGVkZWYgdm9pZF8gaXRlbTk7CisgICAgdHlwZWRlZiBUOCBiYWNrOworICAgIHR5cGVkZWYgdl9pdGVyPCB0eXBlLDAgPiBiZWdpbjsKKyAgICB0eXBlZGVmIHZfaXRlcjwgdHlwZSw5ID4gZW5kOworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHB1c2hfZnJvbnRfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDg+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yLCB0eXBlbmFtZSBUID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3Rvcjk8CisgICAgICAgICAgICAgIFQKKyAgICAgICAgICAgICAgLAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0wLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW02LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW03CisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwb3BfZnJvbnRfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDk+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3Rvcjg8CisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMywgdHlwZW5hbWUgVmVjdG9yOjppdGVtNAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW02CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTgKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHB1c2hfYmFja19pbXBsPCBhdXg6OnZlY3Rvcl90YWc8OD4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IsIHR5cGVuYW1lIFQgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yOTwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNworICAgICAgICAgICAgICAsCisgICAgICAgICAgICAgIFQKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHBvcF9iYWNrX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzw5PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3I4PAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0wLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW02LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW03CisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK25hbWVzcGFjZSBhdXggewordGVtcGxhdGU8PiBzdHJ1Y3Qgdl9hdF9pbXBsPDk+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZfID4gc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgVl86Oml0ZW05IHR5cGU7CisgICAgfTsKK307CisKK30KKwordGVtcGxhdGU8Pgorc3RydWN0IGF0X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzw5PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZfLCB0eXBlbmFtZSBOID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGF1eDo6dl9hdF9pbXBsPEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChOKTo6dmFsdWU+CisgICAgICAgICAgICA6OnRlbXBsYXRlIHJlc3VsdF88Vl8+Ojp0eXBlIHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBmcm9udF9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8OT4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgYmFja19pbXBsPCBhdXg6OnZlY3Rvcl90YWc8OT4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgVmVjdG9yOjpiYWNrIHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBlbXB0eV9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8OT4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICAgICAgOiBmYWxzZV8KKyAgICB7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBzaXplX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzw5PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgICAgICA6IGxvbmdfPDk+CisgICAgeworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgTzFfc2l6ZV9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8OT4gPgorICAgIDogc2l6ZV9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8OT4gPgoreworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGNsZWFyX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzw5PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IwPD4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgID4KK3N0cnVjdCB2ZWN0b3IxMAoreworICAgIHR5cGVkZWYgYXV4Ojp2ZWN0b3JfdGFnPDEwPiB0YWc7CisgICAgdHlwZWRlZiB2ZWN0b3IxMCB0eXBlOworICAgIHR5cGVkZWYgVDAgaXRlbTA7CisgICAgdHlwZWRlZiBUMSBpdGVtMTsKKyAgICB0eXBlZGVmIFQyIGl0ZW0yOworICAgIHR5cGVkZWYgVDMgaXRlbTM7CisgICAgdHlwZWRlZiBUNCBpdGVtNDsKKyAgICB0eXBlZGVmIFQ1IGl0ZW01OworICAgIHR5cGVkZWYgVDYgaXRlbTY7CisgICAgdHlwZWRlZiBUNyBpdGVtNzsKKyAgICB0eXBlZGVmIFQ4IGl0ZW04OworICAgIHR5cGVkZWYgVDkgaXRlbTk7CisgICAgCisKKyAgICB0eXBlZGVmIHZvaWRfIGl0ZW0xMDsKKyAgICB0eXBlZGVmIFQ5IGJhY2s7CisgICAgdHlwZWRlZiB2X2l0ZXI8IHR5cGUsMCA+IGJlZ2luOworICAgIHR5cGVkZWYgdl9pdGVyPCB0eXBlLDEwID4gZW5kOworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHB1c2hfZnJvbnRfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDk+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yLCB0eXBlbmFtZSBUID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjEwPAorICAgICAgICAgICAgICBUCisgICAgICAgICAgICAgICwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW04CisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwb3BfZnJvbnRfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDEwPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3I5PAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW03LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW04CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTkKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHB1c2hfYmFja19pbXBsPCBhdXg6OnZlY3Rvcl90YWc8OT4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IsIHR5cGVuYW1lIFQgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yMTA8CisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOAorICAgICAgICAgICAgICAsCisgICAgICAgICAgICAgIFQKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHBvcF9iYWNrX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwxMD4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yOTwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW04CisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK25hbWVzcGFjZSBhdXggewordGVtcGxhdGU8PiBzdHJ1Y3Qgdl9hdF9pbXBsPDEwPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWXyA+IHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIFZfOjppdGVtMTAgdHlwZTsKKyAgICB9OworfTsKKworfQorCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgYXRfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDEwPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZfLCB0eXBlbmFtZSBOID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGF1eDo6dl9hdF9pbXBsPEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChOKTo6dmFsdWU+CisgICAgICAgICAgICA6OnRlbXBsYXRlIHJlc3VsdF88Vl8+Ojp0eXBlIHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBmcm9udF9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MTA+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGJhY2tfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDEwPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBWZWN0b3I6OmJhY2sgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGVtcHR5X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwxMD4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICAgICAgOiBmYWxzZV8KKyAgICB7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBzaXplX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwxMD4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICAgICAgOiBsb25nXzwxMD4KKyAgICB7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBPMV9zaXplX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwxMD4gPgorICAgIDogc2l6ZV9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MTA+ID4KK3sKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBjbGVhcl9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MTA+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjA8PiB0eXBlOworICAgIH07Cit9OworCit9fQpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL3ZlY3Rvci9hdXhfL3ByZXByb2Nlc3NlZC9ub19jdHBzL3ZlY3RvcjEwX2MuaHBwIGIvbmRuYm9vc3QvbXBsL3ZlY3Rvci9hdXhfL3ByZXByb2Nlc3NlZC9ub19jdHBzL3ZlY3RvcjEwX2MuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQyNWM5M2YKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvdmVjdG9yL2F1eF8vcHJlcHJvY2Vzc2VkL25vX2N0cHMvdmVjdG9yMTBfYy5ocHAKQEAgLTAsMCArMSwxNDkgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL3ZlY3Rvci92ZWN0b3IxMF9jLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQKKyAgICAsIFQgQzAKKyAgICA+CitzdHJ1Y3QgdmVjdG9yMV9jCisgICAgOiB2ZWN0b3IxPCBpbnRlZ3JhbF9jPCBULEMwID4gPgoreworICAgIHR5cGVkZWYgdmVjdG9yMV9jIHR5cGU7CisgICAgdHlwZWRlZiBUIHZhbHVlX3R5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQKKyAgICAsIFQgQzAsIFQgQzEKKyAgICA+CitzdHJ1Y3QgdmVjdG9yMl9jCisgICAgOiB2ZWN0b3IyPCBpbnRlZ3JhbF9jPCBULEMwID4sIGludGVncmFsX2M8IFQsQzEgPiA+Cit7CisgICAgdHlwZWRlZiB2ZWN0b3IyX2MgdHlwZTsKKyAgICB0eXBlZGVmIFQgdmFsdWVfdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVAorICAgICwgVCBDMCwgVCBDMSwgVCBDMgorICAgID4KK3N0cnVjdCB2ZWN0b3IzX2MKKyAgICA6IHZlY3RvcjM8IGludGVncmFsX2M8IFQsQzAgPiwgaW50ZWdyYWxfYzwgVCxDMSA+LCBpbnRlZ3JhbF9jPCBULEMyID4gPgoreworICAgIHR5cGVkZWYgdmVjdG9yM19jIHR5cGU7CisgICAgdHlwZWRlZiBUIHZhbHVlX3R5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQKKyAgICAsIFQgQzAsIFQgQzEsIFQgQzIsIFQgQzMKKyAgICA+CitzdHJ1Y3QgdmVjdG9yNF9jCisgICAgOiB2ZWN0b3I0PAorICAgICAgICAgIGludGVncmFsX2M8IFQsQzAgPiwgaW50ZWdyYWxfYzwgVCxDMSA+LCBpbnRlZ3JhbF9jPCBULEMyID4sIGludGVncmFsX2M8VAorICAgICAgICAsIEMzPiAKKyA+Cit7CisgICAgdHlwZWRlZiB2ZWN0b3I0X2MgdHlwZTsKKyAgICB0eXBlZGVmIFQgdmFsdWVfdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVAorICAgICwgVCBDMCwgVCBDMSwgVCBDMiwgVCBDMywgVCBDNAorICAgID4KK3N0cnVjdCB2ZWN0b3I1X2MKKyAgICA6IHZlY3RvcjU8CisgICAgICAgICAgaW50ZWdyYWxfYzwgVCxDMCA+LCBpbnRlZ3JhbF9jPCBULEMxID4sIGludGVncmFsX2M8IFQsQzIgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzMgPiwgaW50ZWdyYWxfYzwgVCxDNCA+IAorID4KK3sKKyAgICB0eXBlZGVmIHZlY3RvcjVfYyB0eXBlOworICAgIHR5cGVkZWYgVCB2YWx1ZV90eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUCisgICAgLCBUIEMwLCBUIEMxLCBUIEMyLCBUIEMzLCBUIEM0LCBUIEM1CisgICAgPgorc3RydWN0IHZlY3RvcjZfYworICAgIDogdmVjdG9yNjwKKyAgICAgICAgICBpbnRlZ3JhbF9jPCBULEMwID4sIGludGVncmFsX2M8IFQsQzEgPiwgaW50ZWdyYWxfYzwgVCxDMiA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMyA+LCBpbnRlZ3JhbF9jPCBULEM0ID4sIGludGVncmFsX2M8IFQsQzUgPiAKKyA+Cit7CisgICAgdHlwZWRlZiB2ZWN0b3I2X2MgdHlwZTsKKyAgICB0eXBlZGVmIFQgdmFsdWVfdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVAorICAgICwgVCBDMCwgVCBDMSwgVCBDMiwgVCBDMywgVCBDNCwgVCBDNSwgVCBDNgorICAgID4KK3N0cnVjdCB2ZWN0b3I3X2MKKyAgICA6IHZlY3Rvcjc8CisgICAgICAgICAgaW50ZWdyYWxfYzwgVCxDMCA+LCBpbnRlZ3JhbF9jPCBULEMxID4sIGludGVncmFsX2M8IFQsQzIgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzMgPiwgaW50ZWdyYWxfYzwgVCxDNCA+LCBpbnRlZ3JhbF9jPCBULEM1ID4sIGludGVncmFsX2M8VAorICAgICAgICAsIEM2PiAKKyA+Cit7CisgICAgdHlwZWRlZiB2ZWN0b3I3X2MgdHlwZTsKKyAgICB0eXBlZGVmIFQgdmFsdWVfdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVAorICAgICwgVCBDMCwgVCBDMSwgVCBDMiwgVCBDMywgVCBDNCwgVCBDNSwgVCBDNiwgVCBDNworICAgID4KK3N0cnVjdCB2ZWN0b3I4X2MKKyAgICA6IHZlY3Rvcjg8CisgICAgICAgICAgaW50ZWdyYWxfYzwgVCxDMCA+LCBpbnRlZ3JhbF9jPCBULEMxID4sIGludGVncmFsX2M8IFQsQzIgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzMgPiwgaW50ZWdyYWxfYzwgVCxDNCA+LCBpbnRlZ3JhbF9jPCBULEM1ID4sIGludGVncmFsX2M8IFQsQzYgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzcgPiAKKyA+Cit7CisgICAgdHlwZWRlZiB2ZWN0b3I4X2MgdHlwZTsKKyAgICB0eXBlZGVmIFQgdmFsdWVfdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVAorICAgICwgVCBDMCwgVCBDMSwgVCBDMiwgVCBDMywgVCBDNCwgVCBDNSwgVCBDNiwgVCBDNywgVCBDOAorICAgID4KK3N0cnVjdCB2ZWN0b3I5X2MKKyAgICA6IHZlY3Rvcjk8CisgICAgICAgICAgaW50ZWdyYWxfYzwgVCxDMCA+LCBpbnRlZ3JhbF9jPCBULEMxID4sIGludGVncmFsX2M8IFQsQzIgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzMgPiwgaW50ZWdyYWxfYzwgVCxDNCA+LCBpbnRlZ3JhbF9jPCBULEM1ID4sIGludGVncmFsX2M8IFQsQzYgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzcgPiwgaW50ZWdyYWxfYzwgVCxDOCA+IAorID4KK3sKKyAgICB0eXBlZGVmIHZlY3RvcjlfYyB0eXBlOworICAgIHR5cGVkZWYgVCB2YWx1ZV90eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUCisgICAgLCBUIEMwLCBUIEMxLCBUIEMyLCBUIEMzLCBUIEM0LCBUIEM1LCBUIEM2LCBUIEM3LCBUIEM4LCBUIEM5CisgICAgPgorc3RydWN0IHZlY3RvcjEwX2MKKyAgICA6IHZlY3RvcjEwPAorICAgICAgICAgIGludGVncmFsX2M8IFQsQzAgPiwgaW50ZWdyYWxfYzwgVCxDMSA+LCBpbnRlZ3JhbF9jPCBULEMyID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMzID4sIGludGVncmFsX2M8IFQsQzQgPiwgaW50ZWdyYWxfYzwgVCxDNSA+LCBpbnRlZ3JhbF9jPCBULEM2ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEM3ID4sIGludGVncmFsX2M8IFQsQzggPiwgaW50ZWdyYWxfYzwgVCxDOSA+IAorID4KK3sKKyAgICB0eXBlZGVmIHZlY3RvcjEwX2MgdHlwZTsKKyAgICB0eXBlZGVmIFQgdmFsdWVfdHlwZTsKK307CisKK319CmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvdmVjdG9yL2F1eF8vcHJlcHJvY2Vzc2VkL25vX2N0cHMvdmVjdG9yMjAuaHBwIGIvbmRuYm9vc3QvbXBsL3ZlY3Rvci9hdXhfL3ByZXByb2Nlc3NlZC9ub19jdHBzL3ZlY3RvcjIwLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mYzU2OTA3Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL3ZlY3Rvci9hdXhfL3ByZXByb2Nlc3NlZC9ub19jdHBzL3ZlY3RvcjIwLmhwcApAQCAtMCwwICsxLDE4MDQgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL3ZlY3Rvci92ZWN0b3IyMC5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwCisgICAgPgorc3RydWN0IHZlY3RvcjExCit7CisgICAgdHlwZWRlZiBhdXg6OnZlY3Rvcl90YWc8MTE+IHRhZzsKKyAgICB0eXBlZGVmIHZlY3RvcjExIHR5cGU7CisgICAgdHlwZWRlZiBUMCBpdGVtMDsKKyAgICB0eXBlZGVmIFQxIGl0ZW0xOworICAgIHR5cGVkZWYgVDIgaXRlbTI7CisgICAgdHlwZWRlZiBUMyBpdGVtMzsKKyAgICB0eXBlZGVmIFQ0IGl0ZW00OworICAgIHR5cGVkZWYgVDUgaXRlbTU7CisgICAgdHlwZWRlZiBUNiBpdGVtNjsKKyAgICB0eXBlZGVmIFQ3IGl0ZW03OworICAgIHR5cGVkZWYgVDggaXRlbTg7CisgICAgdHlwZWRlZiBUOSBpdGVtOTsKKyAgICB0eXBlZGVmIFQxMCBpdGVtMTA7CisgICAgCisKKyAgICB0eXBlZGVmIHZvaWRfIGl0ZW0xMTsKKyAgICB0eXBlZGVmIFQxMCBiYWNrOworICAgIHR5cGVkZWYgdl9pdGVyPCB0eXBlLDAgPiBiZWdpbjsKKyAgICB0eXBlZGVmIHZfaXRlcjwgdHlwZSwxMSA+IGVuZDsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwdXNoX2Zyb250X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwxMD4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IsIHR5cGVuYW1lIFQgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yMTE8CisgICAgICAgICAgICAgIFQKKyAgICAgICAgICAgICAgLAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0wLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW02LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW03CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTkKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHBvcF9mcm9udF9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MTE+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjEwPAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW03LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW04CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTksIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEwCisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwdXNoX2JhY2tfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDEwPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciwgdHlwZW5hbWUgVCA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IxMTwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW04LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW05CisgICAgICAgICAgICAgICwKKyAgICAgICAgICAgICAgVAorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcG9wX2JhY2tfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDExPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IxMDwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW04LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW05CisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK25hbWVzcGFjZSBhdXggewordGVtcGxhdGU8PiBzdHJ1Y3Qgdl9hdF9pbXBsPDExPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWXyA+IHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIFZfOjppdGVtMTEgdHlwZTsKKyAgICB9OworfTsKKworfQorCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgYXRfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDExPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZfLCB0eXBlbmFtZSBOID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGF1eDo6dl9hdF9pbXBsPEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChOKTo6dmFsdWU+CisgICAgICAgICAgICA6OnRlbXBsYXRlIHJlc3VsdF88Vl8+Ojp0eXBlIHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBmcm9udF9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MTE+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGJhY2tfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDExPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBWZWN0b3I6OmJhY2sgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGVtcHR5X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwxMT4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICAgICAgOiBmYWxzZV8KKyAgICB7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBzaXplX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwxMT4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICAgICAgOiBsb25nXzwxMT4KKyAgICB7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBPMV9zaXplX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwxMT4gPgorICAgIDogc2l6ZV9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MTE+ID4KK3sKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBjbGVhcl9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MTE+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjA8PiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMQorICAgID4KK3N0cnVjdCB2ZWN0b3IxMgoreworICAgIHR5cGVkZWYgYXV4Ojp2ZWN0b3JfdGFnPDEyPiB0YWc7CisgICAgdHlwZWRlZiB2ZWN0b3IxMiB0eXBlOworICAgIHR5cGVkZWYgVDAgaXRlbTA7CisgICAgdHlwZWRlZiBUMSBpdGVtMTsKKyAgICB0eXBlZGVmIFQyIGl0ZW0yOworICAgIHR5cGVkZWYgVDMgaXRlbTM7CisgICAgdHlwZWRlZiBUNCBpdGVtNDsKKyAgICB0eXBlZGVmIFQ1IGl0ZW01OworICAgIHR5cGVkZWYgVDYgaXRlbTY7CisgICAgdHlwZWRlZiBUNyBpdGVtNzsKKyAgICB0eXBlZGVmIFQ4IGl0ZW04OworICAgIHR5cGVkZWYgVDkgaXRlbTk7CisgICAgdHlwZWRlZiBUMTAgaXRlbTEwOworICAgIHR5cGVkZWYgVDExIGl0ZW0xMTsKKyAgICAKKworICAgIHR5cGVkZWYgdm9pZF8gaXRlbTEyOworICAgIHR5cGVkZWYgVDExIGJhY2s7CisgICAgdHlwZWRlZiB2X2l0ZXI8IHR5cGUsMCA+IGJlZ2luOworICAgIHR5cGVkZWYgdl9pdGVyPCB0eXBlLDEyID4gZW5kOworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHB1c2hfZnJvbnRfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDExPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciwgdHlwZW5hbWUgVCA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IxMjwKKyAgICAgICAgICAgICAgVAorICAgICAgICAgICAgICAsCisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMAorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcG9wX2Zyb250X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwxMj4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yMTE8CisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMywgdHlwZW5hbWUgVmVjdG9yOjppdGVtNAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW02CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTgKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTAKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTEKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHB1c2hfYmFja19pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MTE+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yLCB0eXBlbmFtZSBUID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjEyPAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0wLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW02LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW03CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTAKKyAgICAgICAgICAgICAgLAorICAgICAgICAgICAgICBUCisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwb3BfYmFja19pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MTI+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjExPAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0wLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW02LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW03CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTAKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKworbmFtZXNwYWNlIGF1eCB7Cit0ZW1wbGF0ZTw+IHN0cnVjdCB2X2F0X2ltcGw8MTI+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZfID4gc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgVl86Oml0ZW0xMiB0eXBlOworICAgIH07Cit9OworCit9CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBhdF9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MTI+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVl8sIHR5cGVuYW1lIE4gPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXV4Ojp2X2F0X2ltcGw8Qk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4pOjp2YWx1ZT4KKyAgICAgICAgICAgIDo6dGVtcGxhdGUgcmVzdWx0XzxWXz46OnR5cGUgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGZyb250X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwxMj4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgYmFja19pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MTI+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIFZlY3Rvcjo6YmFjayB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgZW1wdHlfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDEyPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgICAgICA6IGZhbHNlXworICAgIHsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHNpemVfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDEyPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgICAgICA6IGxvbmdfPDEyPgorICAgIHsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IE8xX3NpemVfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDEyPiA+CisgICAgOiBzaXplX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwxMj4gPgoreworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGNsZWFyX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwxMj4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yMDw+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIKKyAgICA+CitzdHJ1Y3QgdmVjdG9yMTMKK3sKKyAgICB0eXBlZGVmIGF1eDo6dmVjdG9yX3RhZzwxMz4gdGFnOworICAgIHR5cGVkZWYgdmVjdG9yMTMgdHlwZTsKKyAgICB0eXBlZGVmIFQwIGl0ZW0wOworICAgIHR5cGVkZWYgVDEgaXRlbTE7CisgICAgdHlwZWRlZiBUMiBpdGVtMjsKKyAgICB0eXBlZGVmIFQzIGl0ZW0zOworICAgIHR5cGVkZWYgVDQgaXRlbTQ7CisgICAgdHlwZWRlZiBUNSBpdGVtNTsKKyAgICB0eXBlZGVmIFQ2IGl0ZW02OworICAgIHR5cGVkZWYgVDcgaXRlbTc7CisgICAgdHlwZWRlZiBUOCBpdGVtODsKKyAgICB0eXBlZGVmIFQ5IGl0ZW05OworICAgIHR5cGVkZWYgVDEwIGl0ZW0xMDsKKyAgICB0eXBlZGVmIFQxMSBpdGVtMTE7CisgICAgdHlwZWRlZiBUMTIgaXRlbTEyOworICAgIAorCisgICAgdHlwZWRlZiB2b2lkXyBpdGVtMTM7CisgICAgdHlwZWRlZiBUMTIgYmFjazsKKyAgICB0eXBlZGVmIHZfaXRlcjwgdHlwZSwwID4gYmVnaW47CisgICAgdHlwZWRlZiB2X2l0ZXI8IHR5cGUsMTMgPiBlbmQ7Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcHVzaF9mcm9udF9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MTI+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yLCB0eXBlbmFtZSBUID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjEzPAorICAgICAgICAgICAgICBUCisgICAgICAgICAgICAgICwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW04LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW05CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMQorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcG9wX2Zyb250X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwxMz4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yMTI8CisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMywgdHlwZW5hbWUgVmVjdG9yOjppdGVtNAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW02CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTgKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTAKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTEsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEyCisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwdXNoX2JhY2tfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDEyPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciwgdHlwZW5hbWUgVCA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IxMzwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW04LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW05CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMQorICAgICAgICAgICAgICAsCisgICAgICAgICAgICAgIFQKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHBvcF9iYWNrX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwxMz4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yMTI8CisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTEKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKworbmFtZXNwYWNlIGF1eCB7Cit0ZW1wbGF0ZTw+IHN0cnVjdCB2X2F0X2ltcGw8MTM+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZfID4gc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgVl86Oml0ZW0xMyB0eXBlOworICAgIH07Cit9OworCit9CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBhdF9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MTM+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVl8sIHR5cGVuYW1lIE4gPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXV4Ojp2X2F0X2ltcGw8Qk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4pOjp2YWx1ZT4KKyAgICAgICAgICAgIDo6dGVtcGxhdGUgcmVzdWx0XzxWXz46OnR5cGUgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGZyb250X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwxMz4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgYmFja19pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MTM+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIFZlY3Rvcjo6YmFjayB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgZW1wdHlfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDEzPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgICAgICA6IGZhbHNlXworICAgIHsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHNpemVfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDEzPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgICAgICA6IGxvbmdfPDEzPgorICAgIHsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IE8xX3NpemVfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDEzPiA+CisgICAgOiBzaXplX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwxMz4gPgoreworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGNsZWFyX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwxMz4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yMDw+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMworICAgID4KK3N0cnVjdCB2ZWN0b3IxNAoreworICAgIHR5cGVkZWYgYXV4Ojp2ZWN0b3JfdGFnPDE0PiB0YWc7CisgICAgdHlwZWRlZiB2ZWN0b3IxNCB0eXBlOworICAgIHR5cGVkZWYgVDAgaXRlbTA7CisgICAgdHlwZWRlZiBUMSBpdGVtMTsKKyAgICB0eXBlZGVmIFQyIGl0ZW0yOworICAgIHR5cGVkZWYgVDMgaXRlbTM7CisgICAgdHlwZWRlZiBUNCBpdGVtNDsKKyAgICB0eXBlZGVmIFQ1IGl0ZW01OworICAgIHR5cGVkZWYgVDYgaXRlbTY7CisgICAgdHlwZWRlZiBUNyBpdGVtNzsKKyAgICB0eXBlZGVmIFQ4IGl0ZW04OworICAgIHR5cGVkZWYgVDkgaXRlbTk7CisgICAgdHlwZWRlZiBUMTAgaXRlbTEwOworICAgIHR5cGVkZWYgVDExIGl0ZW0xMTsKKyAgICB0eXBlZGVmIFQxMiBpdGVtMTI7CisgICAgdHlwZWRlZiBUMTMgaXRlbTEzOworICAgIAorCisgICAgdHlwZWRlZiB2b2lkXyBpdGVtMTQ7CisgICAgdHlwZWRlZiBUMTMgYmFjazsKKyAgICB0eXBlZGVmIHZfaXRlcjwgdHlwZSwwID4gYmVnaW47CisgICAgdHlwZWRlZiB2X2l0ZXI8IHR5cGUsMTQgPiBlbmQ7Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcHVzaF9mcm9udF9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MTM+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yLCB0eXBlbmFtZSBUID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjE0PAorICAgICAgICAgICAgICBUCisgICAgICAgICAgICAgICwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW04LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW05CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMgorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcG9wX2Zyb250X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwxND4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yMTM8CisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMywgdHlwZW5hbWUgVmVjdG9yOjppdGVtNAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW02CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTgKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTAKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTEsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEyCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEzCisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwdXNoX2JhY2tfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDEzPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciwgdHlwZW5hbWUgVCA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IxNDwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW04LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW05CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMgorICAgICAgICAgICAgICAsCisgICAgICAgICAgICAgIFQKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHBvcF9iYWNrX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwxND4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yMTM8CisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTIKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKworbmFtZXNwYWNlIGF1eCB7Cit0ZW1wbGF0ZTw+IHN0cnVjdCB2X2F0X2ltcGw8MTQ+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZfID4gc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgVl86Oml0ZW0xNCB0eXBlOworICAgIH07Cit9OworCit9CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBhdF9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MTQ+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVl8sIHR5cGVuYW1lIE4gPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXV4Ojp2X2F0X2ltcGw8Qk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4pOjp2YWx1ZT4KKyAgICAgICAgICAgIDo6dGVtcGxhdGUgcmVzdWx0XzxWXz46OnR5cGUgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGZyb250X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwxND4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgYmFja19pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MTQ+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIFZlY3Rvcjo6YmFjayB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgZW1wdHlfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDE0PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgICAgICA6IGZhbHNlXworICAgIHsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHNpemVfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDE0PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgICAgICA6IGxvbmdfPDE0PgorICAgIHsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IE8xX3NpemVfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDE0PiA+CisgICAgOiBzaXplX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwxND4gPgoreworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGNsZWFyX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwxND4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yMDw+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgPgorc3RydWN0IHZlY3RvcjE1Cit7CisgICAgdHlwZWRlZiBhdXg6OnZlY3Rvcl90YWc8MTU+IHRhZzsKKyAgICB0eXBlZGVmIHZlY3RvcjE1IHR5cGU7CisgICAgdHlwZWRlZiBUMCBpdGVtMDsKKyAgICB0eXBlZGVmIFQxIGl0ZW0xOworICAgIHR5cGVkZWYgVDIgaXRlbTI7CisgICAgdHlwZWRlZiBUMyBpdGVtMzsKKyAgICB0eXBlZGVmIFQ0IGl0ZW00OworICAgIHR5cGVkZWYgVDUgaXRlbTU7CisgICAgdHlwZWRlZiBUNiBpdGVtNjsKKyAgICB0eXBlZGVmIFQ3IGl0ZW03OworICAgIHR5cGVkZWYgVDggaXRlbTg7CisgICAgdHlwZWRlZiBUOSBpdGVtOTsKKyAgICB0eXBlZGVmIFQxMCBpdGVtMTA7CisgICAgdHlwZWRlZiBUMTEgaXRlbTExOworICAgIHR5cGVkZWYgVDEyIGl0ZW0xMjsKKyAgICB0eXBlZGVmIFQxMyBpdGVtMTM7CisgICAgdHlwZWRlZiBUMTQgaXRlbTE0OworICAgIAorCisgICAgdHlwZWRlZiB2b2lkXyBpdGVtMTU7CisgICAgdHlwZWRlZiBUMTQgYmFjazsKKyAgICB0eXBlZGVmIHZfaXRlcjwgdHlwZSwwID4gYmVnaW47CisgICAgdHlwZWRlZiB2X2l0ZXI8IHR5cGUsMTUgPiBlbmQ7Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcHVzaF9mcm9udF9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MTQ+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yLCB0eXBlbmFtZSBUID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjE1PAorICAgICAgICAgICAgICBUCisgICAgICAgICAgICAgICwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW04LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW05CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTMKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHBvcF9mcm9udF9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MTU+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjE0PAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW03LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW04CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTksIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEwCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTExLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMywgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTQKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHB1c2hfYmFja19pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MTQ+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yLCB0eXBlbmFtZSBUID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjE1PAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0wLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW02LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW03CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTExCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMworICAgICAgICAgICAgICAsCisgICAgICAgICAgICAgIFQKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHBvcF9iYWNrX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwxNT4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yMTQ8CisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEzCisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK25hbWVzcGFjZSBhdXggewordGVtcGxhdGU8PiBzdHJ1Y3Qgdl9hdF9pbXBsPDE1PgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWXyA+IHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIFZfOjppdGVtMTUgdHlwZTsKKyAgICB9OworfTsKKworfQorCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgYXRfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDE1PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZfLCB0eXBlbmFtZSBOID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGF1eDo6dl9hdF9pbXBsPEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChOKTo6dmFsdWU+CisgICAgICAgICAgICA6OnRlbXBsYXRlIHJlc3VsdF88Vl8+Ojp0eXBlIHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBmcm9udF9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MTU+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGJhY2tfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDE1PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBWZWN0b3I6OmJhY2sgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGVtcHR5X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwxNT4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICAgICAgOiBmYWxzZV8KKyAgICB7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBzaXplX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwxNT4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICAgICAgOiBsb25nXzwxNT4KKyAgICB7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBPMV9zaXplX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwxNT4gPgorICAgIDogc2l6ZV9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MTU+ID4KK3sKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBjbGVhcl9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MTU+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjA8PiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICwgdHlwZW5hbWUgVDE1CisgICAgPgorc3RydWN0IHZlY3RvcjE2Cit7CisgICAgdHlwZWRlZiBhdXg6OnZlY3Rvcl90YWc8MTY+IHRhZzsKKyAgICB0eXBlZGVmIHZlY3RvcjE2IHR5cGU7CisgICAgdHlwZWRlZiBUMCBpdGVtMDsKKyAgICB0eXBlZGVmIFQxIGl0ZW0xOworICAgIHR5cGVkZWYgVDIgaXRlbTI7CisgICAgdHlwZWRlZiBUMyBpdGVtMzsKKyAgICB0eXBlZGVmIFQ0IGl0ZW00OworICAgIHR5cGVkZWYgVDUgaXRlbTU7CisgICAgdHlwZWRlZiBUNiBpdGVtNjsKKyAgICB0eXBlZGVmIFQ3IGl0ZW03OworICAgIHR5cGVkZWYgVDggaXRlbTg7CisgICAgdHlwZWRlZiBUOSBpdGVtOTsKKyAgICB0eXBlZGVmIFQxMCBpdGVtMTA7CisgICAgdHlwZWRlZiBUMTEgaXRlbTExOworICAgIHR5cGVkZWYgVDEyIGl0ZW0xMjsKKyAgICB0eXBlZGVmIFQxMyBpdGVtMTM7CisgICAgdHlwZWRlZiBUMTQgaXRlbTE0OworICAgIHR5cGVkZWYgVDE1IGl0ZW0xNTsKKyAgICAKKworICAgIHR5cGVkZWYgdm9pZF8gaXRlbTE2OworICAgIHR5cGVkZWYgVDE1IGJhY2s7CisgICAgdHlwZWRlZiB2X2l0ZXI8IHR5cGUsMCA+IGJlZ2luOworICAgIHR5cGVkZWYgdl9pdGVyPCB0eXBlLDE2ID4gZW5kOworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHB1c2hfZnJvbnRfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDE1PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciwgdHlwZW5hbWUgVCA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IxNjwKKyAgICAgICAgICAgICAgVAorICAgICAgICAgICAgICAsCisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE0CisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwb3BfZnJvbnRfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDE2PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IxNTwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNywgdHlwZW5hbWUgVmVjdG9yOjppdGVtOAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW05LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTIKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTMsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE0CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE1CisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwdXNoX2JhY2tfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDE1PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciwgdHlwZW5hbWUgVCA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IxNjwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW04LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW05CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTQKKyAgICAgICAgICAgICAgLAorICAgICAgICAgICAgICBUCisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwb3BfYmFja19pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MTY+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjE1PAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0wLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW02LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW03CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTExCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNAorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCituYW1lc3BhY2UgYXV4IHsKK3RlbXBsYXRlPD4gc3RydWN0IHZfYXRfaW1wbDwxNj4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVl8gPiBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBWXzo6aXRlbTE2IHR5cGU7CisgICAgfTsKK307CisKK30KKwordGVtcGxhdGU8Pgorc3RydWN0IGF0X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwxNj4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWXywgdHlwZW5hbWUgTiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhdXg6OnZfYXRfaW1wbDxCT09TVF9NUExfQVVYX1ZBTFVFX1dLTkQoTik6OnZhbHVlPgorICAgICAgICAgICAgOjp0ZW1wbGF0ZSByZXN1bHRfPFZfPjo6dHlwZSB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgZnJvbnRfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDE2PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0wIHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBiYWNrX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwxNj4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgVmVjdG9yOjpiYWNrIHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBlbXB0eV9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MTY+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgICAgIDogZmFsc2VfCisgICAgeworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3Qgc2l6ZV9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MTY+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgICAgIDogbG9uZ188MTY+CisgICAgeworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgTzFfc2l6ZV9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MTY+ID4KKyAgICA6IHNpemVfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDE2PiA+Cit7Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgY2xlYXJfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDE2PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IwPD4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2CisgICAgPgorc3RydWN0IHZlY3RvcjE3Cit7CisgICAgdHlwZWRlZiBhdXg6OnZlY3Rvcl90YWc8MTc+IHRhZzsKKyAgICB0eXBlZGVmIHZlY3RvcjE3IHR5cGU7CisgICAgdHlwZWRlZiBUMCBpdGVtMDsKKyAgICB0eXBlZGVmIFQxIGl0ZW0xOworICAgIHR5cGVkZWYgVDIgaXRlbTI7CisgICAgdHlwZWRlZiBUMyBpdGVtMzsKKyAgICB0eXBlZGVmIFQ0IGl0ZW00OworICAgIHR5cGVkZWYgVDUgaXRlbTU7CisgICAgdHlwZWRlZiBUNiBpdGVtNjsKKyAgICB0eXBlZGVmIFQ3IGl0ZW03OworICAgIHR5cGVkZWYgVDggaXRlbTg7CisgICAgdHlwZWRlZiBUOSBpdGVtOTsKKyAgICB0eXBlZGVmIFQxMCBpdGVtMTA7CisgICAgdHlwZWRlZiBUMTEgaXRlbTExOworICAgIHR5cGVkZWYgVDEyIGl0ZW0xMjsKKyAgICB0eXBlZGVmIFQxMyBpdGVtMTM7CisgICAgdHlwZWRlZiBUMTQgaXRlbTE0OworICAgIHR5cGVkZWYgVDE1IGl0ZW0xNTsKKyAgICB0eXBlZGVmIFQxNiBpdGVtMTY7CisgICAgCisKKyAgICB0eXBlZGVmIHZvaWRfIGl0ZW0xNzsKKyAgICB0eXBlZGVmIFQxNiBiYWNrOworICAgIHR5cGVkZWYgdl9pdGVyPCB0eXBlLDAgPiBiZWdpbjsKKyAgICB0eXBlZGVmIHZfaXRlcjwgdHlwZSwxNyA+IGVuZDsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwdXNoX2Zyb250X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwxNj4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IsIHR5cGVuYW1lIFQgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yMTc8CisgICAgICAgICAgICAgIFQKKyAgICAgICAgICAgICAgLAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0wLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW02LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW03CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTExCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTUKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHBvcF9mcm9udF9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MTc+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjE2PAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW03LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW04CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTksIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEwCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTExLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMywgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTQKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTUsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE2CisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwdXNoX2JhY2tfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDE2PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciwgdHlwZW5hbWUgVCA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IxNzwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW04LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW05CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE1CisgICAgICAgICAgICAgICwKKyAgICAgICAgICAgICAgVAorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcG9wX2JhY2tfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDE3PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IxNjwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW04LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW05CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE1CisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK25hbWVzcGFjZSBhdXggewordGVtcGxhdGU8PiBzdHJ1Y3Qgdl9hdF9pbXBsPDE3PgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWXyA+IHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIFZfOjppdGVtMTcgdHlwZTsKKyAgICB9OworfTsKKworfQorCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgYXRfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDE3PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZfLCB0eXBlbmFtZSBOID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGF1eDo6dl9hdF9pbXBsPEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChOKTo6dmFsdWU+CisgICAgICAgICAgICA6OnRlbXBsYXRlIHJlc3VsdF88Vl8+Ojp0eXBlIHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBmcm9udF9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MTc+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGJhY2tfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDE3PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBWZWN0b3I6OmJhY2sgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGVtcHR5X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwxNz4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICAgICAgOiBmYWxzZV8KKyAgICB7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBzaXplX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwxNz4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICAgICAgOiBsb25nXzwxNz4KKyAgICB7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBPMV9zaXplX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwxNz4gPgorICAgIDogc2l6ZV9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MTc+ID4KK3sKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBjbGVhcl9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MTc+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjA8PiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNworICAgID4KK3N0cnVjdCB2ZWN0b3IxOAoreworICAgIHR5cGVkZWYgYXV4Ojp2ZWN0b3JfdGFnPDE4PiB0YWc7CisgICAgdHlwZWRlZiB2ZWN0b3IxOCB0eXBlOworICAgIHR5cGVkZWYgVDAgaXRlbTA7CisgICAgdHlwZWRlZiBUMSBpdGVtMTsKKyAgICB0eXBlZGVmIFQyIGl0ZW0yOworICAgIHR5cGVkZWYgVDMgaXRlbTM7CisgICAgdHlwZWRlZiBUNCBpdGVtNDsKKyAgICB0eXBlZGVmIFQ1IGl0ZW01OworICAgIHR5cGVkZWYgVDYgaXRlbTY7CisgICAgdHlwZWRlZiBUNyBpdGVtNzsKKyAgICB0eXBlZGVmIFQ4IGl0ZW04OworICAgIHR5cGVkZWYgVDkgaXRlbTk7CisgICAgdHlwZWRlZiBUMTAgaXRlbTEwOworICAgIHR5cGVkZWYgVDExIGl0ZW0xMTsKKyAgICB0eXBlZGVmIFQxMiBpdGVtMTI7CisgICAgdHlwZWRlZiBUMTMgaXRlbTEzOworICAgIHR5cGVkZWYgVDE0IGl0ZW0xNDsKKyAgICB0eXBlZGVmIFQxNSBpdGVtMTU7CisgICAgdHlwZWRlZiBUMTYgaXRlbTE2OworICAgIHR5cGVkZWYgVDE3IGl0ZW0xNzsKKyAgICAKKworICAgIHR5cGVkZWYgdm9pZF8gaXRlbTE4OworICAgIHR5cGVkZWYgVDE3IGJhY2s7CisgICAgdHlwZWRlZiB2X2l0ZXI8IHR5cGUsMCA+IGJlZ2luOworICAgIHR5cGVkZWYgdl9pdGVyPCB0eXBlLDE4ID4gZW5kOworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHB1c2hfZnJvbnRfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDE3PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciwgdHlwZW5hbWUgVCA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IxODwKKyAgICAgICAgICAgICAgVAorICAgICAgICAgICAgICAsCisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNgorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcG9wX2Zyb250X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwxOD4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yMTc8CisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMywgdHlwZW5hbWUgVmVjdG9yOjppdGVtNAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW02CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTgKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTAKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTEsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEyCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEzLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTYKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTcKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHB1c2hfYmFja19pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MTc+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yLCB0eXBlbmFtZSBUID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjE4PAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0wLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW02LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW03CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTExCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTYKKyAgICAgICAgICAgICAgLAorICAgICAgICAgICAgICBUCisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwb3BfYmFja19pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MTg+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjE3PAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0wLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW02LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW03CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTExCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTYKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKworbmFtZXNwYWNlIGF1eCB7Cit0ZW1wbGF0ZTw+IHN0cnVjdCB2X2F0X2ltcGw8MTg+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZfID4gc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgVl86Oml0ZW0xOCB0eXBlOworICAgIH07Cit9OworCit9CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBhdF9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MTg+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVl8sIHR5cGVuYW1lIE4gPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXV4Ojp2X2F0X2ltcGw8Qk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4pOjp2YWx1ZT4KKyAgICAgICAgICAgIDo6dGVtcGxhdGUgcmVzdWx0XzxWXz46OnR5cGUgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGZyb250X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwxOD4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgYmFja19pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MTg+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIFZlY3Rvcjo6YmFjayB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgZW1wdHlfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDE4PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgICAgICA6IGZhbHNlXworICAgIHsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHNpemVfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDE4PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgICAgICA6IGxvbmdfPDE4PgorICAgIHsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IE8xX3NpemVfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDE4PiA+CisgICAgOiBzaXplX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwxOD4gPgoreworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGNsZWFyX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwxOD4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yMDw+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgKKyAgICA+CitzdHJ1Y3QgdmVjdG9yMTkKK3sKKyAgICB0eXBlZGVmIGF1eDo6dmVjdG9yX3RhZzwxOT4gdGFnOworICAgIHR5cGVkZWYgdmVjdG9yMTkgdHlwZTsKKyAgICB0eXBlZGVmIFQwIGl0ZW0wOworICAgIHR5cGVkZWYgVDEgaXRlbTE7CisgICAgdHlwZWRlZiBUMiBpdGVtMjsKKyAgICB0eXBlZGVmIFQzIGl0ZW0zOworICAgIHR5cGVkZWYgVDQgaXRlbTQ7CisgICAgdHlwZWRlZiBUNSBpdGVtNTsKKyAgICB0eXBlZGVmIFQ2IGl0ZW02OworICAgIHR5cGVkZWYgVDcgaXRlbTc7CisgICAgdHlwZWRlZiBUOCBpdGVtODsKKyAgICB0eXBlZGVmIFQ5IGl0ZW05OworICAgIHR5cGVkZWYgVDEwIGl0ZW0xMDsKKyAgICB0eXBlZGVmIFQxMSBpdGVtMTE7CisgICAgdHlwZWRlZiBUMTIgaXRlbTEyOworICAgIHR5cGVkZWYgVDEzIGl0ZW0xMzsKKyAgICB0eXBlZGVmIFQxNCBpdGVtMTQ7CisgICAgdHlwZWRlZiBUMTUgaXRlbTE1OworICAgIHR5cGVkZWYgVDE2IGl0ZW0xNjsKKyAgICB0eXBlZGVmIFQxNyBpdGVtMTc7CisgICAgdHlwZWRlZiBUMTggaXRlbTE4OworICAgIAorCisgICAgdHlwZWRlZiB2b2lkXyBpdGVtMTk7CisgICAgdHlwZWRlZiBUMTggYmFjazsKKyAgICB0eXBlZGVmIHZfaXRlcjwgdHlwZSwwID4gYmVnaW47CisgICAgdHlwZWRlZiB2X2l0ZXI8IHR5cGUsMTkgPiBlbmQ7Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcHVzaF9mcm9udF9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MTg+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yLCB0eXBlbmFtZSBUID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjE5PAorICAgICAgICAgICAgICBUCisgICAgICAgICAgICAgICwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW04LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW05CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNworICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcG9wX2Zyb250X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwxOT4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yMTg8CisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMywgdHlwZW5hbWUgVmVjdG9yOjppdGVtNAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW02CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTgKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTAKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTEsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEyCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEzLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTYKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTcsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE4CisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwdXNoX2JhY2tfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDE4PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciwgdHlwZW5hbWUgVCA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IxOTwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW04LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW05CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNworICAgICAgICAgICAgICAsCisgICAgICAgICAgICAgIFQKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHBvcF9iYWNrX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwxOT4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yMTg8CisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTcKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKworbmFtZXNwYWNlIGF1eCB7Cit0ZW1wbGF0ZTw+IHN0cnVjdCB2X2F0X2ltcGw8MTk+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZfID4gc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgVl86Oml0ZW0xOSB0eXBlOworICAgIH07Cit9OworCit9CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBhdF9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MTk+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVl8sIHR5cGVuYW1lIE4gPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXV4Ojp2X2F0X2ltcGw8Qk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4pOjp2YWx1ZT4KKyAgICAgICAgICAgIDo6dGVtcGxhdGUgcmVzdWx0XzxWXz46OnR5cGUgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGZyb250X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwxOT4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgYmFja19pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MTk+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIFZlY3Rvcjo6YmFjayB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgZW1wdHlfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDE5PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgICAgICA6IGZhbHNlXworICAgIHsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHNpemVfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDE5PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgICAgICA6IGxvbmdfPDE5PgorICAgIHsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IE8xX3NpemVfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDE5PiA+CisgICAgOiBzaXplX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwxOT4gPgoreworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGNsZWFyX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwxOT4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yMDw+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgID4KK3N0cnVjdCB2ZWN0b3IyMAoreworICAgIHR5cGVkZWYgYXV4Ojp2ZWN0b3JfdGFnPDIwPiB0YWc7CisgICAgdHlwZWRlZiB2ZWN0b3IyMCB0eXBlOworICAgIHR5cGVkZWYgVDAgaXRlbTA7CisgICAgdHlwZWRlZiBUMSBpdGVtMTsKKyAgICB0eXBlZGVmIFQyIGl0ZW0yOworICAgIHR5cGVkZWYgVDMgaXRlbTM7CisgICAgdHlwZWRlZiBUNCBpdGVtNDsKKyAgICB0eXBlZGVmIFQ1IGl0ZW01OworICAgIHR5cGVkZWYgVDYgaXRlbTY7CisgICAgdHlwZWRlZiBUNyBpdGVtNzsKKyAgICB0eXBlZGVmIFQ4IGl0ZW04OworICAgIHR5cGVkZWYgVDkgaXRlbTk7CisgICAgdHlwZWRlZiBUMTAgaXRlbTEwOworICAgIHR5cGVkZWYgVDExIGl0ZW0xMTsKKyAgICB0eXBlZGVmIFQxMiBpdGVtMTI7CisgICAgdHlwZWRlZiBUMTMgaXRlbTEzOworICAgIHR5cGVkZWYgVDE0IGl0ZW0xNDsKKyAgICB0eXBlZGVmIFQxNSBpdGVtMTU7CisgICAgdHlwZWRlZiBUMTYgaXRlbTE2OworICAgIHR5cGVkZWYgVDE3IGl0ZW0xNzsKKyAgICB0eXBlZGVmIFQxOCBpdGVtMTg7CisgICAgdHlwZWRlZiBUMTkgaXRlbTE5OworICAgIAorCisgICAgdHlwZWRlZiB2b2lkXyBpdGVtMjA7CisgICAgdHlwZWRlZiBUMTkgYmFjazsKKyAgICB0eXBlZGVmIHZfaXRlcjwgdHlwZSwwID4gYmVnaW47CisgICAgdHlwZWRlZiB2X2l0ZXI8IHR5cGUsMjAgPiBlbmQ7Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcHVzaF9mcm9udF9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MTk+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yLCB0eXBlbmFtZSBUID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjIwPAorICAgICAgICAgICAgICBUCisgICAgICAgICAgICAgICwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW04LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW05CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOAorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcG9wX2Zyb250X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwyMD4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yMTk8CisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMywgdHlwZW5hbWUgVmVjdG9yOjppdGVtNAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW02CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTgKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTAKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTEsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEyCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEzLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTYKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTcsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE4CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE5CisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwdXNoX2JhY2tfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDE5PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciwgdHlwZW5hbWUgVCA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IyMDwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW04LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW05CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOAorICAgICAgICAgICAgICAsCisgICAgICAgICAgICAgIFQKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHBvcF9iYWNrX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwyMD4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yMTk8CisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTgKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKworbmFtZXNwYWNlIGF1eCB7Cit0ZW1wbGF0ZTw+IHN0cnVjdCB2X2F0X2ltcGw8MjA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZfID4gc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgVl86Oml0ZW0yMCB0eXBlOworICAgIH07Cit9OworCit9CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBhdF9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MjA+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVl8sIHR5cGVuYW1lIE4gPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXV4Ojp2X2F0X2ltcGw8Qk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4pOjp2YWx1ZT4KKyAgICAgICAgICAgIDo6dGVtcGxhdGUgcmVzdWx0XzxWXz46OnR5cGUgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGZyb250X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwyMD4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgYmFja19pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MjA+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIFZlY3Rvcjo6YmFjayB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgZW1wdHlfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDIwPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgICAgICA6IGZhbHNlXworICAgIHsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHNpemVfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDIwPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgICAgICA6IGxvbmdfPDIwPgorICAgIHsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IE8xX3NpemVfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDIwPiA+CisgICAgOiBzaXplX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwyMD4gPgoreworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGNsZWFyX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwyMD4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yMDw+IHR5cGU7CisgICAgfTsKK307CisKK319CmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvdmVjdG9yL2F1eF8vcHJlcHJvY2Vzc2VkL25vX2N0cHMvdmVjdG9yMjBfYy5ocHAgYi9uZG5ib29zdC9tcGwvdmVjdG9yL2F1eF8vcHJlcHJvY2Vzc2VkL25vX2N0cHMvdmVjdG9yMjBfYy5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTgxNGNjYgotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC92ZWN0b3IvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fY3Rwcy92ZWN0b3IyMF9jLmhwcApAQCAtMCwwICsxLDE5NSBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvdmVjdG9yL3ZlY3RvcjIwX2MuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVAorICAgICwgVCBDMCwgVCBDMSwgVCBDMiwgVCBDMywgVCBDNCwgVCBDNSwgVCBDNiwgVCBDNywgVCBDOCwgVCBDOSwgVCBDMTAKKyAgICA+CitzdHJ1Y3QgdmVjdG9yMTFfYworICAgIDogdmVjdG9yMTE8CisgICAgICAgICAgaW50ZWdyYWxfYzwgVCxDMCA+LCBpbnRlZ3JhbF9jPCBULEMxID4sIGludGVncmFsX2M8IFQsQzIgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzMgPiwgaW50ZWdyYWxfYzwgVCxDNCA+LCBpbnRlZ3JhbF9jPCBULEM1ID4sIGludGVncmFsX2M8IFQsQzYgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzcgPiwgaW50ZWdyYWxfYzwgVCxDOCA+LCBpbnRlZ3JhbF9jPCBULEM5ID4sIGludGVncmFsX2M8VAorICAgICAgICAsIEMxMD4gCisgPgoreworICAgIHR5cGVkZWYgdmVjdG9yMTFfYyB0eXBlOworICAgIHR5cGVkZWYgVCB2YWx1ZV90eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUCisgICAgLCBUIEMwLCBUIEMxLCBUIEMyLCBUIEMzLCBUIEM0LCBUIEM1LCBUIEM2LCBUIEM3LCBUIEM4LCBUIEM5LCBUIEMxMAorICAgICwgVCBDMTEKKyAgICA+CitzdHJ1Y3QgdmVjdG9yMTJfYworICAgIDogdmVjdG9yMTI8CisgICAgICAgICAgaW50ZWdyYWxfYzwgVCxDMCA+LCBpbnRlZ3JhbF9jPCBULEMxID4sIGludGVncmFsX2M8IFQsQzIgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzMgPiwgaW50ZWdyYWxfYzwgVCxDNCA+LCBpbnRlZ3JhbF9jPCBULEM1ID4sIGludGVncmFsX2M8IFQsQzYgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzcgPiwgaW50ZWdyYWxfYzwgVCxDOCA+LCBpbnRlZ3JhbF9jPCBULEM5ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMxMCA+LCBpbnRlZ3JhbF9jPCBULEMxMSA+IAorID4KK3sKKyAgICB0eXBlZGVmIHZlY3RvcjEyX2MgdHlwZTsKKyAgICB0eXBlZGVmIFQgdmFsdWVfdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVAorICAgICwgVCBDMCwgVCBDMSwgVCBDMiwgVCBDMywgVCBDNCwgVCBDNSwgVCBDNiwgVCBDNywgVCBDOCwgVCBDOSwgVCBDMTAKKyAgICAsIFQgQzExLCBUIEMxMgorICAgID4KK3N0cnVjdCB2ZWN0b3IxM19jCisgICAgOiB2ZWN0b3IxMzwKKyAgICAgICAgICBpbnRlZ3JhbF9jPCBULEMwID4sIGludGVncmFsX2M8IFQsQzEgPiwgaW50ZWdyYWxfYzwgVCxDMiA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMyA+LCBpbnRlZ3JhbF9jPCBULEM0ID4sIGludGVncmFsX2M8IFQsQzUgPiwgaW50ZWdyYWxfYzwgVCxDNiA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDNyA+LCBpbnRlZ3JhbF9jPCBULEM4ID4sIGludGVncmFsX2M8IFQsQzkgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzEwID4sIGludGVncmFsX2M8IFQsQzExID4sIGludGVncmFsX2M8IFQsQzEyID4gCisgPgoreworICAgIHR5cGVkZWYgdmVjdG9yMTNfYyB0eXBlOworICAgIHR5cGVkZWYgVCB2YWx1ZV90eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUCisgICAgLCBUIEMwLCBUIEMxLCBUIEMyLCBUIEMzLCBUIEM0LCBUIEM1LCBUIEM2LCBUIEM3LCBUIEM4LCBUIEM5LCBUIEMxMAorICAgICwgVCBDMTEsIFQgQzEyLCBUIEMxMworICAgID4KK3N0cnVjdCB2ZWN0b3IxNF9jCisgICAgOiB2ZWN0b3IxNDwKKyAgICAgICAgICBpbnRlZ3JhbF9jPCBULEMwID4sIGludGVncmFsX2M8IFQsQzEgPiwgaW50ZWdyYWxfYzwgVCxDMiA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMyA+LCBpbnRlZ3JhbF9jPCBULEM0ID4sIGludGVncmFsX2M8IFQsQzUgPiwgaW50ZWdyYWxfYzwgVCxDNiA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDNyA+LCBpbnRlZ3JhbF9jPCBULEM4ID4sIGludGVncmFsX2M8IFQsQzkgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzEwID4sIGludGVncmFsX2M8IFQsQzExID4sIGludGVncmFsX2M8IFQsQzEyID4sIGludGVncmFsX2M8VAorICAgICAgICAsIEMxMz4gCisgPgoreworICAgIHR5cGVkZWYgdmVjdG9yMTRfYyB0eXBlOworICAgIHR5cGVkZWYgVCB2YWx1ZV90eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUCisgICAgLCBUIEMwLCBUIEMxLCBUIEMyLCBUIEMzLCBUIEM0LCBUIEM1LCBUIEM2LCBUIEM3LCBUIEM4LCBUIEM5LCBUIEMxMAorICAgICwgVCBDMTEsIFQgQzEyLCBUIEMxMywgVCBDMTQKKyAgICA+CitzdHJ1Y3QgdmVjdG9yMTVfYworICAgIDogdmVjdG9yMTU8CisgICAgICAgICAgaW50ZWdyYWxfYzwgVCxDMCA+LCBpbnRlZ3JhbF9jPCBULEMxID4sIGludGVncmFsX2M8IFQsQzIgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzMgPiwgaW50ZWdyYWxfYzwgVCxDNCA+LCBpbnRlZ3JhbF9jPCBULEM1ID4sIGludGVncmFsX2M8IFQsQzYgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzcgPiwgaW50ZWdyYWxfYzwgVCxDOCA+LCBpbnRlZ3JhbF9jPCBULEM5ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMxMCA+LCBpbnRlZ3JhbF9jPCBULEMxMSA+LCBpbnRlZ3JhbF9jPCBULEMxMiA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMTMgPiwgaW50ZWdyYWxfYzwgVCxDMTQgPiAKKyA+Cit7CisgICAgdHlwZWRlZiB2ZWN0b3IxNV9jIHR5cGU7CisgICAgdHlwZWRlZiBUIHZhbHVlX3R5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQKKyAgICAsIFQgQzAsIFQgQzEsIFQgQzIsIFQgQzMsIFQgQzQsIFQgQzUsIFQgQzYsIFQgQzcsIFQgQzgsIFQgQzksIFQgQzEwCisgICAgLCBUIEMxMSwgVCBDMTIsIFQgQzEzLCBUIEMxNCwgVCBDMTUKKyAgICA+CitzdHJ1Y3QgdmVjdG9yMTZfYworICAgIDogdmVjdG9yMTY8CisgICAgICAgICAgaW50ZWdyYWxfYzwgVCxDMCA+LCBpbnRlZ3JhbF9jPCBULEMxID4sIGludGVncmFsX2M8IFQsQzIgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzMgPiwgaW50ZWdyYWxfYzwgVCxDNCA+LCBpbnRlZ3JhbF9jPCBULEM1ID4sIGludGVncmFsX2M8IFQsQzYgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzcgPiwgaW50ZWdyYWxfYzwgVCxDOCA+LCBpbnRlZ3JhbF9jPCBULEM5ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMxMCA+LCBpbnRlZ3JhbF9jPCBULEMxMSA+LCBpbnRlZ3JhbF9jPCBULEMxMiA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMTMgPiwgaW50ZWdyYWxfYzwgVCxDMTQgPiwgaW50ZWdyYWxfYzwgVCxDMTUgPiAKKyA+Cit7CisgICAgdHlwZWRlZiB2ZWN0b3IxNl9jIHR5cGU7CisgICAgdHlwZWRlZiBUIHZhbHVlX3R5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQKKyAgICAsIFQgQzAsIFQgQzEsIFQgQzIsIFQgQzMsIFQgQzQsIFQgQzUsIFQgQzYsIFQgQzcsIFQgQzgsIFQgQzksIFQgQzEwCisgICAgLCBUIEMxMSwgVCBDMTIsIFQgQzEzLCBUIEMxNCwgVCBDMTUsIFQgQzE2CisgICAgPgorc3RydWN0IHZlY3RvcjE3X2MKKyAgICA6IHZlY3RvcjE3PAorICAgICAgICAgIGludGVncmFsX2M8IFQsQzAgPiwgaW50ZWdyYWxfYzwgVCxDMSA+LCBpbnRlZ3JhbF9jPCBULEMyID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMzID4sIGludGVncmFsX2M8IFQsQzQgPiwgaW50ZWdyYWxfYzwgVCxDNSA+LCBpbnRlZ3JhbF9jPCBULEM2ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEM3ID4sIGludGVncmFsX2M8IFQsQzggPiwgaW50ZWdyYWxfYzwgVCxDOSA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMTAgPiwgaW50ZWdyYWxfYzwgVCxDMTEgPiwgaW50ZWdyYWxfYzwgVCxDMTIgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzEzID4sIGludGVncmFsX2M8IFQsQzE0ID4sIGludGVncmFsX2M8IFQsQzE1ID4sIGludGVncmFsX2M8VAorICAgICAgICAsIEMxNj4gCisgPgoreworICAgIHR5cGVkZWYgdmVjdG9yMTdfYyB0eXBlOworICAgIHR5cGVkZWYgVCB2YWx1ZV90eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUCisgICAgLCBUIEMwLCBUIEMxLCBUIEMyLCBUIEMzLCBUIEM0LCBUIEM1LCBUIEM2LCBUIEM3LCBUIEM4LCBUIEM5LCBUIEMxMAorICAgICwgVCBDMTEsIFQgQzEyLCBUIEMxMywgVCBDMTQsIFQgQzE1LCBUIEMxNiwgVCBDMTcKKyAgICA+CitzdHJ1Y3QgdmVjdG9yMThfYworICAgIDogdmVjdG9yMTg8CisgICAgICAgICAgaW50ZWdyYWxfYzwgVCxDMCA+LCBpbnRlZ3JhbF9jPCBULEMxID4sIGludGVncmFsX2M8IFQsQzIgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzMgPiwgaW50ZWdyYWxfYzwgVCxDNCA+LCBpbnRlZ3JhbF9jPCBULEM1ID4sIGludGVncmFsX2M8IFQsQzYgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzcgPiwgaW50ZWdyYWxfYzwgVCxDOCA+LCBpbnRlZ3JhbF9jPCBULEM5ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMxMCA+LCBpbnRlZ3JhbF9jPCBULEMxMSA+LCBpbnRlZ3JhbF9jPCBULEMxMiA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMTMgPiwgaW50ZWdyYWxfYzwgVCxDMTQgPiwgaW50ZWdyYWxfYzwgVCxDMTUgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzE2ID4sIGludGVncmFsX2M8IFQsQzE3ID4gCisgPgoreworICAgIHR5cGVkZWYgdmVjdG9yMThfYyB0eXBlOworICAgIHR5cGVkZWYgVCB2YWx1ZV90eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUCisgICAgLCBUIEMwLCBUIEMxLCBUIEMyLCBUIEMzLCBUIEM0LCBUIEM1LCBUIEM2LCBUIEM3LCBUIEM4LCBUIEM5LCBUIEMxMAorICAgICwgVCBDMTEsIFQgQzEyLCBUIEMxMywgVCBDMTQsIFQgQzE1LCBUIEMxNiwgVCBDMTcsIFQgQzE4CisgICAgPgorc3RydWN0IHZlY3RvcjE5X2MKKyAgICA6IHZlY3RvcjE5PAorICAgICAgICAgIGludGVncmFsX2M8IFQsQzAgPiwgaW50ZWdyYWxfYzwgVCxDMSA+LCBpbnRlZ3JhbF9jPCBULEMyID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMzID4sIGludGVncmFsX2M8IFQsQzQgPiwgaW50ZWdyYWxfYzwgVCxDNSA+LCBpbnRlZ3JhbF9jPCBULEM2ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEM3ID4sIGludGVncmFsX2M8IFQsQzggPiwgaW50ZWdyYWxfYzwgVCxDOSA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMTAgPiwgaW50ZWdyYWxfYzwgVCxDMTEgPiwgaW50ZWdyYWxfYzwgVCxDMTIgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzEzID4sIGludGVncmFsX2M8IFQsQzE0ID4sIGludGVncmFsX2M8IFQsQzE1ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMxNiA+LCBpbnRlZ3JhbF9jPCBULEMxNyA+LCBpbnRlZ3JhbF9jPCBULEMxOCA+IAorID4KK3sKKyAgICB0eXBlZGVmIHZlY3RvcjE5X2MgdHlwZTsKKyAgICB0eXBlZGVmIFQgdmFsdWVfdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVAorICAgICwgVCBDMCwgVCBDMSwgVCBDMiwgVCBDMywgVCBDNCwgVCBDNSwgVCBDNiwgVCBDNywgVCBDOCwgVCBDOSwgVCBDMTAKKyAgICAsIFQgQzExLCBUIEMxMiwgVCBDMTMsIFQgQzE0LCBUIEMxNSwgVCBDMTYsIFQgQzE3LCBUIEMxOCwgVCBDMTkKKyAgICA+CitzdHJ1Y3QgdmVjdG9yMjBfYworICAgIDogdmVjdG9yMjA8CisgICAgICAgICAgaW50ZWdyYWxfYzwgVCxDMCA+LCBpbnRlZ3JhbF9jPCBULEMxID4sIGludGVncmFsX2M8IFQsQzIgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzMgPiwgaW50ZWdyYWxfYzwgVCxDNCA+LCBpbnRlZ3JhbF9jPCBULEM1ID4sIGludGVncmFsX2M8IFQsQzYgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzcgPiwgaW50ZWdyYWxfYzwgVCxDOCA+LCBpbnRlZ3JhbF9jPCBULEM5ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMxMCA+LCBpbnRlZ3JhbF9jPCBULEMxMSA+LCBpbnRlZ3JhbF9jPCBULEMxMiA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMTMgPiwgaW50ZWdyYWxfYzwgVCxDMTQgPiwgaW50ZWdyYWxfYzwgVCxDMTUgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzE2ID4sIGludGVncmFsX2M8IFQsQzE3ID4sIGludGVncmFsX2M8IFQsQzE4ID4sIGludGVncmFsX2M8VAorICAgICAgICAsIEMxOT4gCisgPgoreworICAgIHR5cGVkZWYgdmVjdG9yMjBfYyB0eXBlOworICAgIHR5cGVkZWYgVCB2YWx1ZV90eXBlOworfTsKKworfX0KZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC92ZWN0b3IvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fY3Rwcy92ZWN0b3IzMC5ocHAgYi9uZG5ib29zdC9tcGwvdmVjdG9yL2F1eF8vcHJlcHJvY2Vzc2VkL25vX2N0cHMvdmVjdG9yMzAuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdiYmM5ZTAKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvdmVjdG9yL2F1eF8vcHJlcHJvY2Vzc2VkL25vX2N0cHMvdmVjdG9yMzAuaHBwCkBAIC0wLDAgKzEsMjEyNCBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvdmVjdG9yL3ZlY3RvcjMwLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAsIHR5cGVuYW1lIFQyMAorICAgID4KK3N0cnVjdCB2ZWN0b3IyMQoreworICAgIHR5cGVkZWYgYXV4Ojp2ZWN0b3JfdGFnPDIxPiB0YWc7CisgICAgdHlwZWRlZiB2ZWN0b3IyMSB0eXBlOworICAgIHR5cGVkZWYgVDAgaXRlbTA7CisgICAgdHlwZWRlZiBUMSBpdGVtMTsKKyAgICB0eXBlZGVmIFQyIGl0ZW0yOworICAgIHR5cGVkZWYgVDMgaXRlbTM7CisgICAgdHlwZWRlZiBUNCBpdGVtNDsKKyAgICB0eXBlZGVmIFQ1IGl0ZW01OworICAgIHR5cGVkZWYgVDYgaXRlbTY7CisgICAgdHlwZWRlZiBUNyBpdGVtNzsKKyAgICB0eXBlZGVmIFQ4IGl0ZW04OworICAgIHR5cGVkZWYgVDkgaXRlbTk7CisgICAgdHlwZWRlZiBUMTAgaXRlbTEwOworICAgIHR5cGVkZWYgVDExIGl0ZW0xMTsKKyAgICB0eXBlZGVmIFQxMiBpdGVtMTI7CisgICAgdHlwZWRlZiBUMTMgaXRlbTEzOworICAgIHR5cGVkZWYgVDE0IGl0ZW0xNDsKKyAgICB0eXBlZGVmIFQxNSBpdGVtMTU7CisgICAgdHlwZWRlZiBUMTYgaXRlbTE2OworICAgIHR5cGVkZWYgVDE3IGl0ZW0xNzsKKyAgICB0eXBlZGVmIFQxOCBpdGVtMTg7CisgICAgdHlwZWRlZiBUMTkgaXRlbTE5OworICAgIHR5cGVkZWYgVDIwIGl0ZW0yMDsKKyAgICAKKworICAgIHR5cGVkZWYgdm9pZF8gaXRlbTIxOworICAgIHR5cGVkZWYgVDIwIGJhY2s7CisgICAgdHlwZWRlZiB2X2l0ZXI8IHR5cGUsMCA+IGJlZ2luOworICAgIHR5cGVkZWYgdl9pdGVyPCB0eXBlLDIxID4gZW5kOworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHB1c2hfZnJvbnRfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDIwPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciwgdHlwZW5hbWUgVCA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IyMTwKKyAgICAgICAgICAgICAgVAorICAgICAgICAgICAgICAsCisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE5CisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwb3BfZnJvbnRfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDIxPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IyMDwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNywgdHlwZW5hbWUgVmVjdG9yOjppdGVtOAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW05LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTIKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTMsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE0CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE1LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNywgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTgKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTksIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIwCisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwdXNoX2JhY2tfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDIwPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciwgdHlwZW5hbWUgVCA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IyMTwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW04LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW05CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTkKKyAgICAgICAgICAgICAgLAorICAgICAgICAgICAgICBUCisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwb3BfYmFja19pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MjE+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjIwPAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0wLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW02LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW03CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTExCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE4LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOQorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCituYW1lc3BhY2UgYXV4IHsKK3RlbXBsYXRlPD4gc3RydWN0IHZfYXRfaW1wbDwyMT4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVl8gPiBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBWXzo6aXRlbTIxIHR5cGU7CisgICAgfTsKK307CisKK30KKwordGVtcGxhdGU8Pgorc3RydWN0IGF0X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwyMT4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWXywgdHlwZW5hbWUgTiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhdXg6OnZfYXRfaW1wbDxCT09TVF9NUExfQVVYX1ZBTFVFX1dLTkQoTik6OnZhbHVlPgorICAgICAgICAgICAgOjp0ZW1wbGF0ZSByZXN1bHRfPFZfPjo6dHlwZSB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgZnJvbnRfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDIxPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0wIHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBiYWNrX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwyMT4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgVmVjdG9yOjpiYWNrIHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBlbXB0eV9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MjE+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgICAgIDogZmFsc2VfCisgICAgeworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3Qgc2l6ZV9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MjE+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgICAgIDogbG9uZ188MjE+CisgICAgeworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgTzFfc2l6ZV9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MjE+ID4KKyAgICA6IHNpemVfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDIxPiA+Cit7Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgY2xlYXJfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDIxPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IwPD4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgLCB0eXBlbmFtZSBUMjAsIHR5cGVuYW1lIFQyMQorICAgID4KK3N0cnVjdCB2ZWN0b3IyMgoreworICAgIHR5cGVkZWYgYXV4Ojp2ZWN0b3JfdGFnPDIyPiB0YWc7CisgICAgdHlwZWRlZiB2ZWN0b3IyMiB0eXBlOworICAgIHR5cGVkZWYgVDAgaXRlbTA7CisgICAgdHlwZWRlZiBUMSBpdGVtMTsKKyAgICB0eXBlZGVmIFQyIGl0ZW0yOworICAgIHR5cGVkZWYgVDMgaXRlbTM7CisgICAgdHlwZWRlZiBUNCBpdGVtNDsKKyAgICB0eXBlZGVmIFQ1IGl0ZW01OworICAgIHR5cGVkZWYgVDYgaXRlbTY7CisgICAgdHlwZWRlZiBUNyBpdGVtNzsKKyAgICB0eXBlZGVmIFQ4IGl0ZW04OworICAgIHR5cGVkZWYgVDkgaXRlbTk7CisgICAgdHlwZWRlZiBUMTAgaXRlbTEwOworICAgIHR5cGVkZWYgVDExIGl0ZW0xMTsKKyAgICB0eXBlZGVmIFQxMiBpdGVtMTI7CisgICAgdHlwZWRlZiBUMTMgaXRlbTEzOworICAgIHR5cGVkZWYgVDE0IGl0ZW0xNDsKKyAgICB0eXBlZGVmIFQxNSBpdGVtMTU7CisgICAgdHlwZWRlZiBUMTYgaXRlbTE2OworICAgIHR5cGVkZWYgVDE3IGl0ZW0xNzsKKyAgICB0eXBlZGVmIFQxOCBpdGVtMTg7CisgICAgdHlwZWRlZiBUMTkgaXRlbTE5OworICAgIHR5cGVkZWYgVDIwIGl0ZW0yMDsKKyAgICB0eXBlZGVmIFQyMSBpdGVtMjE7CisgICAgCisKKyAgICB0eXBlZGVmIHZvaWRfIGl0ZW0yMjsKKyAgICB0eXBlZGVmIFQyMSBiYWNrOworICAgIHR5cGVkZWYgdl9pdGVyPCB0eXBlLDAgPiBiZWdpbjsKKyAgICB0eXBlZGVmIHZfaXRlcjwgdHlwZSwyMiA+IGVuZDsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwdXNoX2Zyb250X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwyMT4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IsIHR5cGVuYW1lIFQgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yMjI8CisgICAgICAgICAgICAgIFQKKyAgICAgICAgICAgICAgLAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0wLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW02LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW03CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTExCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE4LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMAorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcG9wX2Zyb250X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwyMj4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yMjE8CisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMywgdHlwZW5hbWUgVmVjdG9yOjppdGVtNAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW02CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTgKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTAKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTEsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEyCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEzLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTYKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTcsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE4CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE5LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMQorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcHVzaF9iYWNrX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwyMT4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IsIHR5cGVuYW1lIFQgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yMjI8CisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIwCisgICAgICAgICAgICAgICwKKyAgICAgICAgICAgICAgVAorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcG9wX2JhY2tfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDIyPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IyMTwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW04LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW05CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjAKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKworbmFtZXNwYWNlIGF1eCB7Cit0ZW1wbGF0ZTw+IHN0cnVjdCB2X2F0X2ltcGw8MjI+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZfID4gc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgVl86Oml0ZW0yMiB0eXBlOworICAgIH07Cit9OworCit9CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBhdF9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MjI+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVl8sIHR5cGVuYW1lIE4gPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXV4Ojp2X2F0X2ltcGw8Qk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4pOjp2YWx1ZT4KKyAgICAgICAgICAgIDo6dGVtcGxhdGUgcmVzdWx0XzxWXz46OnR5cGUgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGZyb250X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwyMj4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgYmFja19pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MjI+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIFZlY3Rvcjo6YmFjayB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgZW1wdHlfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDIyPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgICAgICA6IGZhbHNlXworICAgIHsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHNpemVfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDIyPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgICAgICA6IGxvbmdfPDIyPgorICAgIHsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IE8xX3NpemVfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDIyPiA+CisgICAgOiBzaXplX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwyMj4gPgoreworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGNsZWFyX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwyMj4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yMDw+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICwgdHlwZW5hbWUgVDIwLCB0eXBlbmFtZSBUMjEsIHR5cGVuYW1lIFQyMgorICAgID4KK3N0cnVjdCB2ZWN0b3IyMworeworICAgIHR5cGVkZWYgYXV4Ojp2ZWN0b3JfdGFnPDIzPiB0YWc7CisgICAgdHlwZWRlZiB2ZWN0b3IyMyB0eXBlOworICAgIHR5cGVkZWYgVDAgaXRlbTA7CisgICAgdHlwZWRlZiBUMSBpdGVtMTsKKyAgICB0eXBlZGVmIFQyIGl0ZW0yOworICAgIHR5cGVkZWYgVDMgaXRlbTM7CisgICAgdHlwZWRlZiBUNCBpdGVtNDsKKyAgICB0eXBlZGVmIFQ1IGl0ZW01OworICAgIHR5cGVkZWYgVDYgaXRlbTY7CisgICAgdHlwZWRlZiBUNyBpdGVtNzsKKyAgICB0eXBlZGVmIFQ4IGl0ZW04OworICAgIHR5cGVkZWYgVDkgaXRlbTk7CisgICAgdHlwZWRlZiBUMTAgaXRlbTEwOworICAgIHR5cGVkZWYgVDExIGl0ZW0xMTsKKyAgICB0eXBlZGVmIFQxMiBpdGVtMTI7CisgICAgdHlwZWRlZiBUMTMgaXRlbTEzOworICAgIHR5cGVkZWYgVDE0IGl0ZW0xNDsKKyAgICB0eXBlZGVmIFQxNSBpdGVtMTU7CisgICAgdHlwZWRlZiBUMTYgaXRlbTE2OworICAgIHR5cGVkZWYgVDE3IGl0ZW0xNzsKKyAgICB0eXBlZGVmIFQxOCBpdGVtMTg7CisgICAgdHlwZWRlZiBUMTkgaXRlbTE5OworICAgIHR5cGVkZWYgVDIwIGl0ZW0yMDsKKyAgICB0eXBlZGVmIFQyMSBpdGVtMjE7CisgICAgdHlwZWRlZiBUMjIgaXRlbTIyOworICAgIAorCisgICAgdHlwZWRlZiB2b2lkXyBpdGVtMjM7CisgICAgdHlwZWRlZiBUMjIgYmFjazsKKyAgICB0eXBlZGVmIHZfaXRlcjwgdHlwZSwwID4gYmVnaW47CisgICAgdHlwZWRlZiB2X2l0ZXI8IHR5cGUsMjMgPiBlbmQ7Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcHVzaF9mcm9udF9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MjI+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yLCB0eXBlbmFtZSBUID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjIzPAorICAgICAgICAgICAgICBUCisgICAgICAgICAgICAgICwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW04LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW05CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIxCisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwb3BfZnJvbnRfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDIzPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IyMjwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNywgdHlwZW5hbWUgVmVjdG9yOjppdGVtOAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW05LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTIKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTMsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE0CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE1LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNywgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTgKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTksIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIwCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIxLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMgorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcHVzaF9iYWNrX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwyMj4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IsIHR5cGVuYW1lIFQgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yMjM8CisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMQorICAgICAgICAgICAgICAsCisgICAgICAgICAgICAgIFQKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHBvcF9iYWNrX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwyMz4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yMjI8CisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMQorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCituYW1lc3BhY2UgYXV4IHsKK3RlbXBsYXRlPD4gc3RydWN0IHZfYXRfaW1wbDwyMz4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVl8gPiBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBWXzo6aXRlbTIzIHR5cGU7CisgICAgfTsKK307CisKK30KKwordGVtcGxhdGU8Pgorc3RydWN0IGF0X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwyMz4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWXywgdHlwZW5hbWUgTiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhdXg6OnZfYXRfaW1wbDxCT09TVF9NUExfQVVYX1ZBTFVFX1dLTkQoTik6OnZhbHVlPgorICAgICAgICAgICAgOjp0ZW1wbGF0ZSByZXN1bHRfPFZfPjo6dHlwZSB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgZnJvbnRfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDIzPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0wIHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBiYWNrX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwyMz4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgVmVjdG9yOjpiYWNrIHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBlbXB0eV9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MjM+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgICAgIDogZmFsc2VfCisgICAgeworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3Qgc2l6ZV9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MjM+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgICAgIDogbG9uZ188MjM+CisgICAgeworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgTzFfc2l6ZV9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MjM+ID4KKyAgICA6IHNpemVfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDIzPiA+Cit7Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgY2xlYXJfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDIzPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IwPD4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgLCB0eXBlbmFtZSBUMjAsIHR5cGVuYW1lIFQyMSwgdHlwZW5hbWUgVDIyLCB0eXBlbmFtZSBUMjMKKyAgICA+CitzdHJ1Y3QgdmVjdG9yMjQKK3sKKyAgICB0eXBlZGVmIGF1eDo6dmVjdG9yX3RhZzwyND4gdGFnOworICAgIHR5cGVkZWYgdmVjdG9yMjQgdHlwZTsKKyAgICB0eXBlZGVmIFQwIGl0ZW0wOworICAgIHR5cGVkZWYgVDEgaXRlbTE7CisgICAgdHlwZWRlZiBUMiBpdGVtMjsKKyAgICB0eXBlZGVmIFQzIGl0ZW0zOworICAgIHR5cGVkZWYgVDQgaXRlbTQ7CisgICAgdHlwZWRlZiBUNSBpdGVtNTsKKyAgICB0eXBlZGVmIFQ2IGl0ZW02OworICAgIHR5cGVkZWYgVDcgaXRlbTc7CisgICAgdHlwZWRlZiBUOCBpdGVtODsKKyAgICB0eXBlZGVmIFQ5IGl0ZW05OworICAgIHR5cGVkZWYgVDEwIGl0ZW0xMDsKKyAgICB0eXBlZGVmIFQxMSBpdGVtMTE7CisgICAgdHlwZWRlZiBUMTIgaXRlbTEyOworICAgIHR5cGVkZWYgVDEzIGl0ZW0xMzsKKyAgICB0eXBlZGVmIFQxNCBpdGVtMTQ7CisgICAgdHlwZWRlZiBUMTUgaXRlbTE1OworICAgIHR5cGVkZWYgVDE2IGl0ZW0xNjsKKyAgICB0eXBlZGVmIFQxNyBpdGVtMTc7CisgICAgdHlwZWRlZiBUMTggaXRlbTE4OworICAgIHR5cGVkZWYgVDE5IGl0ZW0xOTsKKyAgICB0eXBlZGVmIFQyMCBpdGVtMjA7CisgICAgdHlwZWRlZiBUMjEgaXRlbTIxOworICAgIHR5cGVkZWYgVDIyIGl0ZW0yMjsKKyAgICB0eXBlZGVmIFQyMyBpdGVtMjM7CisgICAgCisKKyAgICB0eXBlZGVmIHZvaWRfIGl0ZW0yNDsKKyAgICB0eXBlZGVmIFQyMyBiYWNrOworICAgIHR5cGVkZWYgdl9pdGVyPCB0eXBlLDAgPiBiZWdpbjsKKyAgICB0eXBlZGVmIHZfaXRlcjwgdHlwZSwyNCA+IGVuZDsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwdXNoX2Zyb250X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwyMz4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IsIHR5cGVuYW1lIFQgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yMjQ8CisgICAgICAgICAgICAgIFQKKyAgICAgICAgICAgICAgLAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0wLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW02LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW03CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTExCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE4LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjIKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHBvcF9mcm9udF9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MjQ+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjIzPAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW03LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW04CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTksIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEwCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTExLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMywgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTQKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTUsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE2CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE3LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjAKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjEsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIyCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIzCisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwdXNoX2JhY2tfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDIzPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciwgdHlwZW5hbWUgVCA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IyNDwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW04LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW05CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIxCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIyCisgICAgICAgICAgICAgICwKKyAgICAgICAgICAgICAgVAorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcG9wX2JhY2tfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDI0PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IyMzwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW04LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW05CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIxCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIyCisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK25hbWVzcGFjZSBhdXggewordGVtcGxhdGU8PiBzdHJ1Y3Qgdl9hdF9pbXBsPDI0PgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWXyA+IHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIFZfOjppdGVtMjQgdHlwZTsKKyAgICB9OworfTsKKworfQorCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgYXRfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDI0PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZfLCB0eXBlbmFtZSBOID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGF1eDo6dl9hdF9pbXBsPEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChOKTo6dmFsdWU+CisgICAgICAgICAgICA6OnRlbXBsYXRlIHJlc3VsdF88Vl8+Ojp0eXBlIHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBmcm9udF9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MjQ+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGJhY2tfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDI0PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBWZWN0b3I6OmJhY2sgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGVtcHR5X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwyND4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICAgICAgOiBmYWxzZV8KKyAgICB7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBzaXplX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwyND4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICAgICAgOiBsb25nXzwyND4KKyAgICB7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBPMV9zaXplX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwyND4gPgorICAgIDogc2l6ZV9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MjQ+ID4KK3sKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBjbGVhcl9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MjQ+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjA8PiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAsIHR5cGVuYW1lIFQyMCwgdHlwZW5hbWUgVDIxLCB0eXBlbmFtZSBUMjIsIHR5cGVuYW1lIFQyMywgdHlwZW5hbWUgVDI0CisgICAgPgorc3RydWN0IHZlY3RvcjI1Cit7CisgICAgdHlwZWRlZiBhdXg6OnZlY3Rvcl90YWc8MjU+IHRhZzsKKyAgICB0eXBlZGVmIHZlY3RvcjI1IHR5cGU7CisgICAgdHlwZWRlZiBUMCBpdGVtMDsKKyAgICB0eXBlZGVmIFQxIGl0ZW0xOworICAgIHR5cGVkZWYgVDIgaXRlbTI7CisgICAgdHlwZWRlZiBUMyBpdGVtMzsKKyAgICB0eXBlZGVmIFQ0IGl0ZW00OworICAgIHR5cGVkZWYgVDUgaXRlbTU7CisgICAgdHlwZWRlZiBUNiBpdGVtNjsKKyAgICB0eXBlZGVmIFQ3IGl0ZW03OworICAgIHR5cGVkZWYgVDggaXRlbTg7CisgICAgdHlwZWRlZiBUOSBpdGVtOTsKKyAgICB0eXBlZGVmIFQxMCBpdGVtMTA7CisgICAgdHlwZWRlZiBUMTEgaXRlbTExOworICAgIHR5cGVkZWYgVDEyIGl0ZW0xMjsKKyAgICB0eXBlZGVmIFQxMyBpdGVtMTM7CisgICAgdHlwZWRlZiBUMTQgaXRlbTE0OworICAgIHR5cGVkZWYgVDE1IGl0ZW0xNTsKKyAgICB0eXBlZGVmIFQxNiBpdGVtMTY7CisgICAgdHlwZWRlZiBUMTcgaXRlbTE3OworICAgIHR5cGVkZWYgVDE4IGl0ZW0xODsKKyAgICB0eXBlZGVmIFQxOSBpdGVtMTk7CisgICAgdHlwZWRlZiBUMjAgaXRlbTIwOworICAgIHR5cGVkZWYgVDIxIGl0ZW0yMTsKKyAgICB0eXBlZGVmIFQyMiBpdGVtMjI7CisgICAgdHlwZWRlZiBUMjMgaXRlbTIzOworICAgIHR5cGVkZWYgVDI0IGl0ZW0yNDsKKyAgICAKKworICAgIHR5cGVkZWYgdm9pZF8gaXRlbTI1OworICAgIHR5cGVkZWYgVDI0IGJhY2s7CisgICAgdHlwZWRlZiB2X2l0ZXI8IHR5cGUsMCA+IGJlZ2luOworICAgIHR5cGVkZWYgdl9pdGVyPCB0eXBlLDI1ID4gZW5kOworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHB1c2hfZnJvbnRfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDI0PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciwgdHlwZW5hbWUgVCA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IyNTwKKyAgICAgICAgICAgICAgVAorICAgICAgICAgICAgICAsCisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjMKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHBvcF9mcm9udF9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MjU+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjI0PAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW03LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW04CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTksIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEwCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTExLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMywgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTQKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTUsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE2CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE3LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjAKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjEsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIyCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIzLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNAorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcHVzaF9iYWNrX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwyND4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IsIHR5cGVuYW1lIFQgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yMjU8CisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjMKKyAgICAgICAgICAgICAgLAorICAgICAgICAgICAgICBUCisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwb3BfYmFja19pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MjU+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjI0PAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0wLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW02LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW03CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTExCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE4LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIzCisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK25hbWVzcGFjZSBhdXggewordGVtcGxhdGU8PiBzdHJ1Y3Qgdl9hdF9pbXBsPDI1PgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWXyA+IHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIFZfOjppdGVtMjUgdHlwZTsKKyAgICB9OworfTsKKworfQorCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgYXRfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDI1PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZfLCB0eXBlbmFtZSBOID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGF1eDo6dl9hdF9pbXBsPEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChOKTo6dmFsdWU+CisgICAgICAgICAgICA6OnRlbXBsYXRlIHJlc3VsdF88Vl8+Ojp0eXBlIHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBmcm9udF9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MjU+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGJhY2tfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDI1PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBWZWN0b3I6OmJhY2sgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGVtcHR5X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwyNT4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICAgICAgOiBmYWxzZV8KKyAgICB7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBzaXplX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwyNT4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICAgICAgOiBsb25nXzwyNT4KKyAgICB7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBPMV9zaXplX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwyNT4gPgorICAgIDogc2l6ZV9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MjU+ID4KK3sKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBjbGVhcl9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MjU+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjA8PiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAsIHR5cGVuYW1lIFQyMCwgdHlwZW5hbWUgVDIxLCB0eXBlbmFtZSBUMjIsIHR5cGVuYW1lIFQyMywgdHlwZW5hbWUgVDI0CisgICAgLCB0eXBlbmFtZSBUMjUKKyAgICA+CitzdHJ1Y3QgdmVjdG9yMjYKK3sKKyAgICB0eXBlZGVmIGF1eDo6dmVjdG9yX3RhZzwyNj4gdGFnOworICAgIHR5cGVkZWYgdmVjdG9yMjYgdHlwZTsKKyAgICB0eXBlZGVmIFQwIGl0ZW0wOworICAgIHR5cGVkZWYgVDEgaXRlbTE7CisgICAgdHlwZWRlZiBUMiBpdGVtMjsKKyAgICB0eXBlZGVmIFQzIGl0ZW0zOworICAgIHR5cGVkZWYgVDQgaXRlbTQ7CisgICAgdHlwZWRlZiBUNSBpdGVtNTsKKyAgICB0eXBlZGVmIFQ2IGl0ZW02OworICAgIHR5cGVkZWYgVDcgaXRlbTc7CisgICAgdHlwZWRlZiBUOCBpdGVtODsKKyAgICB0eXBlZGVmIFQ5IGl0ZW05OworICAgIHR5cGVkZWYgVDEwIGl0ZW0xMDsKKyAgICB0eXBlZGVmIFQxMSBpdGVtMTE7CisgICAgdHlwZWRlZiBUMTIgaXRlbTEyOworICAgIHR5cGVkZWYgVDEzIGl0ZW0xMzsKKyAgICB0eXBlZGVmIFQxNCBpdGVtMTQ7CisgICAgdHlwZWRlZiBUMTUgaXRlbTE1OworICAgIHR5cGVkZWYgVDE2IGl0ZW0xNjsKKyAgICB0eXBlZGVmIFQxNyBpdGVtMTc7CisgICAgdHlwZWRlZiBUMTggaXRlbTE4OworICAgIHR5cGVkZWYgVDE5IGl0ZW0xOTsKKyAgICB0eXBlZGVmIFQyMCBpdGVtMjA7CisgICAgdHlwZWRlZiBUMjEgaXRlbTIxOworICAgIHR5cGVkZWYgVDIyIGl0ZW0yMjsKKyAgICB0eXBlZGVmIFQyMyBpdGVtMjM7CisgICAgdHlwZWRlZiBUMjQgaXRlbTI0OworICAgIHR5cGVkZWYgVDI1IGl0ZW0yNTsKKyAgICAKKworICAgIHR5cGVkZWYgdm9pZF8gaXRlbTI2OworICAgIHR5cGVkZWYgVDI1IGJhY2s7CisgICAgdHlwZWRlZiB2X2l0ZXI8IHR5cGUsMCA+IGJlZ2luOworICAgIHR5cGVkZWYgdl9pdGVyPCB0eXBlLDI2ID4gZW5kOworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHB1c2hfZnJvbnRfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDI1PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciwgdHlwZW5hbWUgVCA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IyNjwKKyAgICAgICAgICAgICAgVAorICAgICAgICAgICAgICAsCisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjQKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHBvcF9mcm9udF9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MjY+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjI1PAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW03LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW04CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTksIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEwCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTExLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMywgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTQKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTUsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE2CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE3LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjAKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjEsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIyCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIzLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNQorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcHVzaF9iYWNrX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwyNT4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IsIHR5cGVuYW1lIFQgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yMjY8CisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjQKKyAgICAgICAgICAgICAgLAorICAgICAgICAgICAgICBUCisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwb3BfYmFja19pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MjY+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjI1PAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0wLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW02LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW03CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTExCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE4LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI0CisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK25hbWVzcGFjZSBhdXggewordGVtcGxhdGU8PiBzdHJ1Y3Qgdl9hdF9pbXBsPDI2PgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWXyA+IHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIFZfOjppdGVtMjYgdHlwZTsKKyAgICB9OworfTsKKworfQorCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgYXRfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDI2PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZfLCB0eXBlbmFtZSBOID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGF1eDo6dl9hdF9pbXBsPEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChOKTo6dmFsdWU+CisgICAgICAgICAgICA6OnRlbXBsYXRlIHJlc3VsdF88Vl8+Ojp0eXBlIHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBmcm9udF9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MjY+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGJhY2tfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDI2PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBWZWN0b3I6OmJhY2sgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGVtcHR5X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwyNj4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICAgICAgOiBmYWxzZV8KKyAgICB7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBzaXplX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwyNj4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICAgICAgOiBsb25nXzwyNj4KKyAgICB7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBPMV9zaXplX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwyNj4gPgorICAgIDogc2l6ZV9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MjY+ID4KK3sKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBjbGVhcl9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MjY+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjA8PiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAsIHR5cGVuYW1lIFQyMCwgdHlwZW5hbWUgVDIxLCB0eXBlbmFtZSBUMjIsIHR5cGVuYW1lIFQyMywgdHlwZW5hbWUgVDI0CisgICAgLCB0eXBlbmFtZSBUMjUsIHR5cGVuYW1lIFQyNgorICAgID4KK3N0cnVjdCB2ZWN0b3IyNworeworICAgIHR5cGVkZWYgYXV4Ojp2ZWN0b3JfdGFnPDI3PiB0YWc7CisgICAgdHlwZWRlZiB2ZWN0b3IyNyB0eXBlOworICAgIHR5cGVkZWYgVDAgaXRlbTA7CisgICAgdHlwZWRlZiBUMSBpdGVtMTsKKyAgICB0eXBlZGVmIFQyIGl0ZW0yOworICAgIHR5cGVkZWYgVDMgaXRlbTM7CisgICAgdHlwZWRlZiBUNCBpdGVtNDsKKyAgICB0eXBlZGVmIFQ1IGl0ZW01OworICAgIHR5cGVkZWYgVDYgaXRlbTY7CisgICAgdHlwZWRlZiBUNyBpdGVtNzsKKyAgICB0eXBlZGVmIFQ4IGl0ZW04OworICAgIHR5cGVkZWYgVDkgaXRlbTk7CisgICAgdHlwZWRlZiBUMTAgaXRlbTEwOworICAgIHR5cGVkZWYgVDExIGl0ZW0xMTsKKyAgICB0eXBlZGVmIFQxMiBpdGVtMTI7CisgICAgdHlwZWRlZiBUMTMgaXRlbTEzOworICAgIHR5cGVkZWYgVDE0IGl0ZW0xNDsKKyAgICB0eXBlZGVmIFQxNSBpdGVtMTU7CisgICAgdHlwZWRlZiBUMTYgaXRlbTE2OworICAgIHR5cGVkZWYgVDE3IGl0ZW0xNzsKKyAgICB0eXBlZGVmIFQxOCBpdGVtMTg7CisgICAgdHlwZWRlZiBUMTkgaXRlbTE5OworICAgIHR5cGVkZWYgVDIwIGl0ZW0yMDsKKyAgICB0eXBlZGVmIFQyMSBpdGVtMjE7CisgICAgdHlwZWRlZiBUMjIgaXRlbTIyOworICAgIHR5cGVkZWYgVDIzIGl0ZW0yMzsKKyAgICB0eXBlZGVmIFQyNCBpdGVtMjQ7CisgICAgdHlwZWRlZiBUMjUgaXRlbTI1OworICAgIHR5cGVkZWYgVDI2IGl0ZW0yNjsKKyAgICAKKworICAgIHR5cGVkZWYgdm9pZF8gaXRlbTI3OworICAgIHR5cGVkZWYgVDI2IGJhY2s7CisgICAgdHlwZWRlZiB2X2l0ZXI8IHR5cGUsMCA+IGJlZ2luOworICAgIHR5cGVkZWYgdl9pdGVyPCB0eXBlLDI3ID4gZW5kOworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHB1c2hfZnJvbnRfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDI2PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciwgdHlwZW5hbWUgVCA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IyNzwKKyAgICAgICAgICAgICAgVAorICAgICAgICAgICAgICAsCisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI1CisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwb3BfZnJvbnRfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDI3PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IyNjwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNywgdHlwZW5hbWUgVmVjdG9yOjppdGVtOAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW05LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTIKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTMsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE0CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE1LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNywgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTgKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTksIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIwCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIxLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMywgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjQKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjUsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI2CisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwdXNoX2JhY2tfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDI2PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciwgdHlwZW5hbWUgVCA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IyNzwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW04LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW05CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIxCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjUKKyAgICAgICAgICAgICAgLAorICAgICAgICAgICAgICBUCisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwb3BfYmFja19pbXBsPCBhdXg6OnZlY3Rvcl90YWc8Mjc+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjI2PAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0wLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW02LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW03CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTExCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE4LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNQorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCituYW1lc3BhY2UgYXV4IHsKK3RlbXBsYXRlPD4gc3RydWN0IHZfYXRfaW1wbDwyNz4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVl8gPiBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBWXzo6aXRlbTI3IHR5cGU7CisgICAgfTsKK307CisKK30KKwordGVtcGxhdGU8Pgorc3RydWN0IGF0X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwyNz4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWXywgdHlwZW5hbWUgTiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhdXg6OnZfYXRfaW1wbDxCT09TVF9NUExfQVVYX1ZBTFVFX1dLTkQoTik6OnZhbHVlPgorICAgICAgICAgICAgOjp0ZW1wbGF0ZSByZXN1bHRfPFZfPjo6dHlwZSB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgZnJvbnRfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDI3PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0wIHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBiYWNrX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwyNz4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgVmVjdG9yOjpiYWNrIHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBlbXB0eV9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8Mjc+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgICAgIDogZmFsc2VfCisgICAgeworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3Qgc2l6ZV9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8Mjc+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgICAgIDogbG9uZ188Mjc+CisgICAgeworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgTzFfc2l6ZV9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8Mjc+ID4KKyAgICA6IHNpemVfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDI3PiA+Cit7Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgY2xlYXJfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDI3PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IwPD4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgLCB0eXBlbmFtZSBUMjAsIHR5cGVuYW1lIFQyMSwgdHlwZW5hbWUgVDIyLCB0eXBlbmFtZSBUMjMsIHR5cGVuYW1lIFQyNAorICAgICwgdHlwZW5hbWUgVDI1LCB0eXBlbmFtZSBUMjYsIHR5cGVuYW1lIFQyNworICAgID4KK3N0cnVjdCB2ZWN0b3IyOAoreworICAgIHR5cGVkZWYgYXV4Ojp2ZWN0b3JfdGFnPDI4PiB0YWc7CisgICAgdHlwZWRlZiB2ZWN0b3IyOCB0eXBlOworICAgIHR5cGVkZWYgVDAgaXRlbTA7CisgICAgdHlwZWRlZiBUMSBpdGVtMTsKKyAgICB0eXBlZGVmIFQyIGl0ZW0yOworICAgIHR5cGVkZWYgVDMgaXRlbTM7CisgICAgdHlwZWRlZiBUNCBpdGVtNDsKKyAgICB0eXBlZGVmIFQ1IGl0ZW01OworICAgIHR5cGVkZWYgVDYgaXRlbTY7CisgICAgdHlwZWRlZiBUNyBpdGVtNzsKKyAgICB0eXBlZGVmIFQ4IGl0ZW04OworICAgIHR5cGVkZWYgVDkgaXRlbTk7CisgICAgdHlwZWRlZiBUMTAgaXRlbTEwOworICAgIHR5cGVkZWYgVDExIGl0ZW0xMTsKKyAgICB0eXBlZGVmIFQxMiBpdGVtMTI7CisgICAgdHlwZWRlZiBUMTMgaXRlbTEzOworICAgIHR5cGVkZWYgVDE0IGl0ZW0xNDsKKyAgICB0eXBlZGVmIFQxNSBpdGVtMTU7CisgICAgdHlwZWRlZiBUMTYgaXRlbTE2OworICAgIHR5cGVkZWYgVDE3IGl0ZW0xNzsKKyAgICB0eXBlZGVmIFQxOCBpdGVtMTg7CisgICAgdHlwZWRlZiBUMTkgaXRlbTE5OworICAgIHR5cGVkZWYgVDIwIGl0ZW0yMDsKKyAgICB0eXBlZGVmIFQyMSBpdGVtMjE7CisgICAgdHlwZWRlZiBUMjIgaXRlbTIyOworICAgIHR5cGVkZWYgVDIzIGl0ZW0yMzsKKyAgICB0eXBlZGVmIFQyNCBpdGVtMjQ7CisgICAgdHlwZWRlZiBUMjUgaXRlbTI1OworICAgIHR5cGVkZWYgVDI2IGl0ZW0yNjsKKyAgICB0eXBlZGVmIFQyNyBpdGVtMjc7CisgICAgCisKKyAgICB0eXBlZGVmIHZvaWRfIGl0ZW0yODsKKyAgICB0eXBlZGVmIFQyNyBiYWNrOworICAgIHR5cGVkZWYgdl9pdGVyPCB0eXBlLDAgPiBiZWdpbjsKKyAgICB0eXBlZGVmIHZfaXRlcjwgdHlwZSwyOCA+IGVuZDsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwdXNoX2Zyb250X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwyNz4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IsIHR5cGVuYW1lIFQgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yMjg8CisgICAgICAgICAgICAgIFQKKyAgICAgICAgICAgICAgLAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0wLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW02LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW03CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTExCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE4LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNgorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcG9wX2Zyb250X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwyOD4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yMjc8CisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMywgdHlwZW5hbWUgVmVjdG9yOjppdGVtNAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW02CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTgKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTAKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTEsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEyCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEzLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTYKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTcsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE4CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE5LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjIKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjMsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI0CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI1LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNworICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcHVzaF9iYWNrX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwyNz4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IsIHR5cGVuYW1lIFQgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yMjg8CisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI2CisgICAgICAgICAgICAgICwKKyAgICAgICAgICAgICAgVAorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcG9wX2JhY2tfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDI4PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IyNzwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW04LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW05CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIxCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjYKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKworbmFtZXNwYWNlIGF1eCB7Cit0ZW1wbGF0ZTw+IHN0cnVjdCB2X2F0X2ltcGw8Mjg+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZfID4gc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgVl86Oml0ZW0yOCB0eXBlOworICAgIH07Cit9OworCit9CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBhdF9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8Mjg+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVl8sIHR5cGVuYW1lIE4gPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXV4Ojp2X2F0X2ltcGw8Qk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4pOjp2YWx1ZT4KKyAgICAgICAgICAgIDo6dGVtcGxhdGUgcmVzdWx0XzxWXz46OnR5cGUgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGZyb250X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwyOD4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgYmFja19pbXBsPCBhdXg6OnZlY3Rvcl90YWc8Mjg+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIFZlY3Rvcjo6YmFjayB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgZW1wdHlfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDI4PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgICAgICA6IGZhbHNlXworICAgIHsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHNpemVfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDI4PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgICAgICA6IGxvbmdfPDI4PgorICAgIHsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IE8xX3NpemVfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDI4PiA+CisgICAgOiBzaXplX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwyOD4gPgoreworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGNsZWFyX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwyOD4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yMDw+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICwgdHlwZW5hbWUgVDIwLCB0eXBlbmFtZSBUMjEsIHR5cGVuYW1lIFQyMiwgdHlwZW5hbWUgVDIzLCB0eXBlbmFtZSBUMjQKKyAgICAsIHR5cGVuYW1lIFQyNSwgdHlwZW5hbWUgVDI2LCB0eXBlbmFtZSBUMjcsIHR5cGVuYW1lIFQyOAorICAgID4KK3N0cnVjdCB2ZWN0b3IyOQoreworICAgIHR5cGVkZWYgYXV4Ojp2ZWN0b3JfdGFnPDI5PiB0YWc7CisgICAgdHlwZWRlZiB2ZWN0b3IyOSB0eXBlOworICAgIHR5cGVkZWYgVDAgaXRlbTA7CisgICAgdHlwZWRlZiBUMSBpdGVtMTsKKyAgICB0eXBlZGVmIFQyIGl0ZW0yOworICAgIHR5cGVkZWYgVDMgaXRlbTM7CisgICAgdHlwZWRlZiBUNCBpdGVtNDsKKyAgICB0eXBlZGVmIFQ1IGl0ZW01OworICAgIHR5cGVkZWYgVDYgaXRlbTY7CisgICAgdHlwZWRlZiBUNyBpdGVtNzsKKyAgICB0eXBlZGVmIFQ4IGl0ZW04OworICAgIHR5cGVkZWYgVDkgaXRlbTk7CisgICAgdHlwZWRlZiBUMTAgaXRlbTEwOworICAgIHR5cGVkZWYgVDExIGl0ZW0xMTsKKyAgICB0eXBlZGVmIFQxMiBpdGVtMTI7CisgICAgdHlwZWRlZiBUMTMgaXRlbTEzOworICAgIHR5cGVkZWYgVDE0IGl0ZW0xNDsKKyAgICB0eXBlZGVmIFQxNSBpdGVtMTU7CisgICAgdHlwZWRlZiBUMTYgaXRlbTE2OworICAgIHR5cGVkZWYgVDE3IGl0ZW0xNzsKKyAgICB0eXBlZGVmIFQxOCBpdGVtMTg7CisgICAgdHlwZWRlZiBUMTkgaXRlbTE5OworICAgIHR5cGVkZWYgVDIwIGl0ZW0yMDsKKyAgICB0eXBlZGVmIFQyMSBpdGVtMjE7CisgICAgdHlwZWRlZiBUMjIgaXRlbTIyOworICAgIHR5cGVkZWYgVDIzIGl0ZW0yMzsKKyAgICB0eXBlZGVmIFQyNCBpdGVtMjQ7CisgICAgdHlwZWRlZiBUMjUgaXRlbTI1OworICAgIHR5cGVkZWYgVDI2IGl0ZW0yNjsKKyAgICB0eXBlZGVmIFQyNyBpdGVtMjc7CisgICAgdHlwZWRlZiBUMjggaXRlbTI4OworICAgIAorCisgICAgdHlwZWRlZiB2b2lkXyBpdGVtMjk7CisgICAgdHlwZWRlZiBUMjggYmFjazsKKyAgICB0eXBlZGVmIHZfaXRlcjwgdHlwZSwwID4gYmVnaW47CisgICAgdHlwZWRlZiB2X2l0ZXI8IHR5cGUsMjkgPiBlbmQ7Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcHVzaF9mcm9udF9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8Mjg+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yLCB0eXBlbmFtZSBUID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjI5PAorICAgICAgICAgICAgICBUCisgICAgICAgICAgICAgICwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW04LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW05CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIxCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI3CisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwb3BfZnJvbnRfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDI5PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IyODwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNywgdHlwZW5hbWUgVmVjdG9yOjppdGVtOAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW05LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTIKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTMsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE0CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE1LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNywgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTgKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTksIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIwCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIxLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMywgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjQKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjUsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI2CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI3LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yOAorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcHVzaF9iYWNrX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwyOD4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IsIHR5cGVuYW1lIFQgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yMjk8CisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNworICAgICAgICAgICAgICAsCisgICAgICAgICAgICAgIFQKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHBvcF9iYWNrX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwyOT4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yMjg8CisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNworICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCituYW1lc3BhY2UgYXV4IHsKK3RlbXBsYXRlPD4gc3RydWN0IHZfYXRfaW1wbDwyOT4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVl8gPiBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBWXzo6aXRlbTI5IHR5cGU7CisgICAgfTsKK307CisKK30KKwordGVtcGxhdGU8Pgorc3RydWN0IGF0X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwyOT4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWXywgdHlwZW5hbWUgTiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhdXg6OnZfYXRfaW1wbDxCT09TVF9NUExfQVVYX1ZBTFVFX1dLTkQoTik6OnZhbHVlPgorICAgICAgICAgICAgOjp0ZW1wbGF0ZSByZXN1bHRfPFZfPjo6dHlwZSB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgZnJvbnRfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDI5PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0wIHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBiYWNrX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwyOT4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgVmVjdG9yOjpiYWNrIHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBlbXB0eV9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8Mjk+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgICAgIDogZmFsc2VfCisgICAgeworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3Qgc2l6ZV9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8Mjk+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgICAgIDogbG9uZ188Mjk+CisgICAgeworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgTzFfc2l6ZV9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8Mjk+ID4KKyAgICA6IHNpemVfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDI5PiA+Cit7Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgY2xlYXJfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDI5PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IwPD4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgLCB0eXBlbmFtZSBUMjAsIHR5cGVuYW1lIFQyMSwgdHlwZW5hbWUgVDIyLCB0eXBlbmFtZSBUMjMsIHR5cGVuYW1lIFQyNAorICAgICwgdHlwZW5hbWUgVDI1LCB0eXBlbmFtZSBUMjYsIHR5cGVuYW1lIFQyNywgdHlwZW5hbWUgVDI4LCB0eXBlbmFtZSBUMjkKKyAgICA+CitzdHJ1Y3QgdmVjdG9yMzAKK3sKKyAgICB0eXBlZGVmIGF1eDo6dmVjdG9yX3RhZzwzMD4gdGFnOworICAgIHR5cGVkZWYgdmVjdG9yMzAgdHlwZTsKKyAgICB0eXBlZGVmIFQwIGl0ZW0wOworICAgIHR5cGVkZWYgVDEgaXRlbTE7CisgICAgdHlwZWRlZiBUMiBpdGVtMjsKKyAgICB0eXBlZGVmIFQzIGl0ZW0zOworICAgIHR5cGVkZWYgVDQgaXRlbTQ7CisgICAgdHlwZWRlZiBUNSBpdGVtNTsKKyAgICB0eXBlZGVmIFQ2IGl0ZW02OworICAgIHR5cGVkZWYgVDcgaXRlbTc7CisgICAgdHlwZWRlZiBUOCBpdGVtODsKKyAgICB0eXBlZGVmIFQ5IGl0ZW05OworICAgIHR5cGVkZWYgVDEwIGl0ZW0xMDsKKyAgICB0eXBlZGVmIFQxMSBpdGVtMTE7CisgICAgdHlwZWRlZiBUMTIgaXRlbTEyOworICAgIHR5cGVkZWYgVDEzIGl0ZW0xMzsKKyAgICB0eXBlZGVmIFQxNCBpdGVtMTQ7CisgICAgdHlwZWRlZiBUMTUgaXRlbTE1OworICAgIHR5cGVkZWYgVDE2IGl0ZW0xNjsKKyAgICB0eXBlZGVmIFQxNyBpdGVtMTc7CisgICAgdHlwZWRlZiBUMTggaXRlbTE4OworICAgIHR5cGVkZWYgVDE5IGl0ZW0xOTsKKyAgICB0eXBlZGVmIFQyMCBpdGVtMjA7CisgICAgdHlwZWRlZiBUMjEgaXRlbTIxOworICAgIHR5cGVkZWYgVDIyIGl0ZW0yMjsKKyAgICB0eXBlZGVmIFQyMyBpdGVtMjM7CisgICAgdHlwZWRlZiBUMjQgaXRlbTI0OworICAgIHR5cGVkZWYgVDI1IGl0ZW0yNTsKKyAgICB0eXBlZGVmIFQyNiBpdGVtMjY7CisgICAgdHlwZWRlZiBUMjcgaXRlbTI3OworICAgIHR5cGVkZWYgVDI4IGl0ZW0yODsKKyAgICB0eXBlZGVmIFQyOSBpdGVtMjk7CisgICAgCisKKyAgICB0eXBlZGVmIHZvaWRfIGl0ZW0zMDsKKyAgICB0eXBlZGVmIFQyOSBiYWNrOworICAgIHR5cGVkZWYgdl9pdGVyPCB0eXBlLDAgPiBiZWdpbjsKKyAgICB0eXBlZGVmIHZfaXRlcjwgdHlwZSwzMCA+IGVuZDsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwdXNoX2Zyb250X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwyOT4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IsIHR5cGVuYW1lIFQgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yMzA8CisgICAgICAgICAgICAgIFQKKyAgICAgICAgICAgICAgLAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0wLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW02LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW03CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTExCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE4LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjgKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHBvcF9mcm9udF9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MzA+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjI5PAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW03LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW04CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTksIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEwCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTExLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMywgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTQKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTUsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE2CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE3LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjAKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjEsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIyCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIzLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjYKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjcsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI4CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI5CisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwdXNoX2JhY2tfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDI5PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciwgdHlwZW5hbWUgVCA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IzMDwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW04LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW05CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIxCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI4CisgICAgICAgICAgICAgICwKKyAgICAgICAgICAgICAgVAorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcG9wX2JhY2tfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDMwPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IyOTwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW04LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW05CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIxCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI4CisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK25hbWVzcGFjZSBhdXggewordGVtcGxhdGU8PiBzdHJ1Y3Qgdl9hdF9pbXBsPDMwPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWXyA+IHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIFZfOjppdGVtMzAgdHlwZTsKKyAgICB9OworfTsKKworfQorCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgYXRfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDMwPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZfLCB0eXBlbmFtZSBOID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGF1eDo6dl9hdF9pbXBsPEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChOKTo6dmFsdWU+CisgICAgICAgICAgICA6OnRlbXBsYXRlIHJlc3VsdF88Vl8+Ojp0eXBlIHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBmcm9udF9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MzA+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGJhY2tfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDMwPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBWZWN0b3I6OmJhY2sgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGVtcHR5X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwzMD4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICAgICAgOiBmYWxzZV8KKyAgICB7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBzaXplX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwzMD4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICAgICAgOiBsb25nXzwzMD4KKyAgICB7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBPMV9zaXplX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwzMD4gPgorICAgIDogc2l6ZV9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MzA+ID4KK3sKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBjbGVhcl9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MzA+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjA8PiB0eXBlOworICAgIH07Cit9OworCit9fQpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL3ZlY3Rvci9hdXhfL3ByZXByb2Nlc3NlZC9ub19jdHBzL3ZlY3RvcjMwX2MuaHBwIGIvbmRuYm9vc3QvbXBsL3ZlY3Rvci9hdXhfL3ByZXByb2Nlc3NlZC9ub19jdHBzL3ZlY3RvcjMwX2MuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdiMTA0NDQKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvdmVjdG9yL2F1eF8vcHJlcHJvY2Vzc2VkL25vX2N0cHMvdmVjdG9yMzBfYy5ocHAKQEAgLTAsMCArMSwyMzggQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL3ZlY3Rvci92ZWN0b3IzMF9jLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQKKyAgICAsIFQgQzAsIFQgQzEsIFQgQzIsIFQgQzMsIFQgQzQsIFQgQzUsIFQgQzYsIFQgQzcsIFQgQzgsIFQgQzksIFQgQzEwCisgICAgLCBUIEMxMSwgVCBDMTIsIFQgQzEzLCBUIEMxNCwgVCBDMTUsIFQgQzE2LCBUIEMxNywgVCBDMTgsIFQgQzE5LCBUIEMyMAorICAgID4KK3N0cnVjdCB2ZWN0b3IyMV9jCisgICAgOiB2ZWN0b3IyMTwKKyAgICAgICAgICBpbnRlZ3JhbF9jPCBULEMwID4sIGludGVncmFsX2M8IFQsQzEgPiwgaW50ZWdyYWxfYzwgVCxDMiA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMyA+LCBpbnRlZ3JhbF9jPCBULEM0ID4sIGludGVncmFsX2M8IFQsQzUgPiwgaW50ZWdyYWxfYzwgVCxDNiA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDNyA+LCBpbnRlZ3JhbF9jPCBULEM4ID4sIGludGVncmFsX2M8IFQsQzkgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzEwID4sIGludGVncmFsX2M8IFQsQzExID4sIGludGVncmFsX2M8IFQsQzEyID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMxMyA+LCBpbnRlZ3JhbF9jPCBULEMxNCA+LCBpbnRlZ3JhbF9jPCBULEMxNSA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMTYgPiwgaW50ZWdyYWxfYzwgVCxDMTcgPiwgaW50ZWdyYWxfYzwgVCxDMTggPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzE5ID4sIGludGVncmFsX2M8IFQsQzIwID4gCisgPgoreworICAgIHR5cGVkZWYgdmVjdG9yMjFfYyB0eXBlOworICAgIHR5cGVkZWYgVCB2YWx1ZV90eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUCisgICAgLCBUIEMwLCBUIEMxLCBUIEMyLCBUIEMzLCBUIEM0LCBUIEM1LCBUIEM2LCBUIEM3LCBUIEM4LCBUIEM5LCBUIEMxMAorICAgICwgVCBDMTEsIFQgQzEyLCBUIEMxMywgVCBDMTQsIFQgQzE1LCBUIEMxNiwgVCBDMTcsIFQgQzE4LCBUIEMxOSwgVCBDMjAKKyAgICAsIFQgQzIxCisgICAgPgorc3RydWN0IHZlY3RvcjIyX2MKKyAgICA6IHZlY3RvcjIyPAorICAgICAgICAgIGludGVncmFsX2M8IFQsQzAgPiwgaW50ZWdyYWxfYzwgVCxDMSA+LCBpbnRlZ3JhbF9jPCBULEMyID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMzID4sIGludGVncmFsX2M8IFQsQzQgPiwgaW50ZWdyYWxfYzwgVCxDNSA+LCBpbnRlZ3JhbF9jPCBULEM2ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEM3ID4sIGludGVncmFsX2M8IFQsQzggPiwgaW50ZWdyYWxfYzwgVCxDOSA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMTAgPiwgaW50ZWdyYWxfYzwgVCxDMTEgPiwgaW50ZWdyYWxfYzwgVCxDMTIgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzEzID4sIGludGVncmFsX2M8IFQsQzE0ID4sIGludGVncmFsX2M8IFQsQzE1ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMxNiA+LCBpbnRlZ3JhbF9jPCBULEMxNyA+LCBpbnRlZ3JhbF9jPCBULEMxOCA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMTkgPiwgaW50ZWdyYWxfYzwgVCxDMjAgPiwgaW50ZWdyYWxfYzwgVCxDMjEgPiAKKyA+Cit7CisgICAgdHlwZWRlZiB2ZWN0b3IyMl9jIHR5cGU7CisgICAgdHlwZWRlZiBUIHZhbHVlX3R5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQKKyAgICAsIFQgQzAsIFQgQzEsIFQgQzIsIFQgQzMsIFQgQzQsIFQgQzUsIFQgQzYsIFQgQzcsIFQgQzgsIFQgQzksIFQgQzEwCisgICAgLCBUIEMxMSwgVCBDMTIsIFQgQzEzLCBUIEMxNCwgVCBDMTUsIFQgQzE2LCBUIEMxNywgVCBDMTgsIFQgQzE5LCBUIEMyMAorICAgICwgVCBDMjEsIFQgQzIyCisgICAgPgorc3RydWN0IHZlY3RvcjIzX2MKKyAgICA6IHZlY3RvcjIzPAorICAgICAgICAgIGludGVncmFsX2M8IFQsQzAgPiwgaW50ZWdyYWxfYzwgVCxDMSA+LCBpbnRlZ3JhbF9jPCBULEMyID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMzID4sIGludGVncmFsX2M8IFQsQzQgPiwgaW50ZWdyYWxfYzwgVCxDNSA+LCBpbnRlZ3JhbF9jPCBULEM2ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEM3ID4sIGludGVncmFsX2M8IFQsQzggPiwgaW50ZWdyYWxfYzwgVCxDOSA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMTAgPiwgaW50ZWdyYWxfYzwgVCxDMTEgPiwgaW50ZWdyYWxfYzwgVCxDMTIgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzEzID4sIGludGVncmFsX2M8IFQsQzE0ID4sIGludGVncmFsX2M8IFQsQzE1ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMxNiA+LCBpbnRlZ3JhbF9jPCBULEMxNyA+LCBpbnRlZ3JhbF9jPCBULEMxOCA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMTkgPiwgaW50ZWdyYWxfYzwgVCxDMjAgPiwgaW50ZWdyYWxfYzwgVCxDMjEgPiwgaW50ZWdyYWxfYzxUCisgICAgICAgICwgQzIyPiAKKyA+Cit7CisgICAgdHlwZWRlZiB2ZWN0b3IyM19jIHR5cGU7CisgICAgdHlwZWRlZiBUIHZhbHVlX3R5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQKKyAgICAsIFQgQzAsIFQgQzEsIFQgQzIsIFQgQzMsIFQgQzQsIFQgQzUsIFQgQzYsIFQgQzcsIFQgQzgsIFQgQzksIFQgQzEwCisgICAgLCBUIEMxMSwgVCBDMTIsIFQgQzEzLCBUIEMxNCwgVCBDMTUsIFQgQzE2LCBUIEMxNywgVCBDMTgsIFQgQzE5LCBUIEMyMAorICAgICwgVCBDMjEsIFQgQzIyLCBUIEMyMworICAgID4KK3N0cnVjdCB2ZWN0b3IyNF9jCisgICAgOiB2ZWN0b3IyNDwKKyAgICAgICAgICBpbnRlZ3JhbF9jPCBULEMwID4sIGludGVncmFsX2M8IFQsQzEgPiwgaW50ZWdyYWxfYzwgVCxDMiA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMyA+LCBpbnRlZ3JhbF9jPCBULEM0ID4sIGludGVncmFsX2M8IFQsQzUgPiwgaW50ZWdyYWxfYzwgVCxDNiA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDNyA+LCBpbnRlZ3JhbF9jPCBULEM4ID4sIGludGVncmFsX2M8IFQsQzkgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzEwID4sIGludGVncmFsX2M8IFQsQzExID4sIGludGVncmFsX2M8IFQsQzEyID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMxMyA+LCBpbnRlZ3JhbF9jPCBULEMxNCA+LCBpbnRlZ3JhbF9jPCBULEMxNSA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMTYgPiwgaW50ZWdyYWxfYzwgVCxDMTcgPiwgaW50ZWdyYWxfYzwgVCxDMTggPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzE5ID4sIGludGVncmFsX2M8IFQsQzIwID4sIGludGVncmFsX2M8IFQsQzIxID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMyMiA+LCBpbnRlZ3JhbF9jPCBULEMyMyA+IAorID4KK3sKKyAgICB0eXBlZGVmIHZlY3RvcjI0X2MgdHlwZTsKKyAgICB0eXBlZGVmIFQgdmFsdWVfdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVAorICAgICwgVCBDMCwgVCBDMSwgVCBDMiwgVCBDMywgVCBDNCwgVCBDNSwgVCBDNiwgVCBDNywgVCBDOCwgVCBDOSwgVCBDMTAKKyAgICAsIFQgQzExLCBUIEMxMiwgVCBDMTMsIFQgQzE0LCBUIEMxNSwgVCBDMTYsIFQgQzE3LCBUIEMxOCwgVCBDMTksIFQgQzIwCisgICAgLCBUIEMyMSwgVCBDMjIsIFQgQzIzLCBUIEMyNAorICAgID4KK3N0cnVjdCB2ZWN0b3IyNV9jCisgICAgOiB2ZWN0b3IyNTwKKyAgICAgICAgICBpbnRlZ3JhbF9jPCBULEMwID4sIGludGVncmFsX2M8IFQsQzEgPiwgaW50ZWdyYWxfYzwgVCxDMiA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMyA+LCBpbnRlZ3JhbF9jPCBULEM0ID4sIGludGVncmFsX2M8IFQsQzUgPiwgaW50ZWdyYWxfYzwgVCxDNiA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDNyA+LCBpbnRlZ3JhbF9jPCBULEM4ID4sIGludGVncmFsX2M8IFQsQzkgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzEwID4sIGludGVncmFsX2M8IFQsQzExID4sIGludGVncmFsX2M8IFQsQzEyID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMxMyA+LCBpbnRlZ3JhbF9jPCBULEMxNCA+LCBpbnRlZ3JhbF9jPCBULEMxNSA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMTYgPiwgaW50ZWdyYWxfYzwgVCxDMTcgPiwgaW50ZWdyYWxfYzwgVCxDMTggPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzE5ID4sIGludGVncmFsX2M8IFQsQzIwID4sIGludGVncmFsX2M8IFQsQzIxID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMyMiA+LCBpbnRlZ3JhbF9jPCBULEMyMyA+LCBpbnRlZ3JhbF9jPCBULEMyNCA+IAorID4KK3sKKyAgICB0eXBlZGVmIHZlY3RvcjI1X2MgdHlwZTsKKyAgICB0eXBlZGVmIFQgdmFsdWVfdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVAorICAgICwgVCBDMCwgVCBDMSwgVCBDMiwgVCBDMywgVCBDNCwgVCBDNSwgVCBDNiwgVCBDNywgVCBDOCwgVCBDOSwgVCBDMTAKKyAgICAsIFQgQzExLCBUIEMxMiwgVCBDMTMsIFQgQzE0LCBUIEMxNSwgVCBDMTYsIFQgQzE3LCBUIEMxOCwgVCBDMTksIFQgQzIwCisgICAgLCBUIEMyMSwgVCBDMjIsIFQgQzIzLCBUIEMyNCwgVCBDMjUKKyAgICA+CitzdHJ1Y3QgdmVjdG9yMjZfYworICAgIDogdmVjdG9yMjY8CisgICAgICAgICAgaW50ZWdyYWxfYzwgVCxDMCA+LCBpbnRlZ3JhbF9jPCBULEMxID4sIGludGVncmFsX2M8IFQsQzIgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzMgPiwgaW50ZWdyYWxfYzwgVCxDNCA+LCBpbnRlZ3JhbF9jPCBULEM1ID4sIGludGVncmFsX2M8IFQsQzYgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzcgPiwgaW50ZWdyYWxfYzwgVCxDOCA+LCBpbnRlZ3JhbF9jPCBULEM5ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMxMCA+LCBpbnRlZ3JhbF9jPCBULEMxMSA+LCBpbnRlZ3JhbF9jPCBULEMxMiA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMTMgPiwgaW50ZWdyYWxfYzwgVCxDMTQgPiwgaW50ZWdyYWxfYzwgVCxDMTUgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzE2ID4sIGludGVncmFsX2M8IFQsQzE3ID4sIGludGVncmFsX2M8IFQsQzE4ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMxOSA+LCBpbnRlZ3JhbF9jPCBULEMyMCA+LCBpbnRlZ3JhbF9jPCBULEMyMSA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMjIgPiwgaW50ZWdyYWxfYzwgVCxDMjMgPiwgaW50ZWdyYWxfYzwgVCxDMjQgPiwgaW50ZWdyYWxfYzxUCisgICAgICAgICwgQzI1PiAKKyA+Cit7CisgICAgdHlwZWRlZiB2ZWN0b3IyNl9jIHR5cGU7CisgICAgdHlwZWRlZiBUIHZhbHVlX3R5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQKKyAgICAsIFQgQzAsIFQgQzEsIFQgQzIsIFQgQzMsIFQgQzQsIFQgQzUsIFQgQzYsIFQgQzcsIFQgQzgsIFQgQzksIFQgQzEwCisgICAgLCBUIEMxMSwgVCBDMTIsIFQgQzEzLCBUIEMxNCwgVCBDMTUsIFQgQzE2LCBUIEMxNywgVCBDMTgsIFQgQzE5LCBUIEMyMAorICAgICwgVCBDMjEsIFQgQzIyLCBUIEMyMywgVCBDMjQsIFQgQzI1LCBUIEMyNgorICAgID4KK3N0cnVjdCB2ZWN0b3IyN19jCisgICAgOiB2ZWN0b3IyNzwKKyAgICAgICAgICBpbnRlZ3JhbF9jPCBULEMwID4sIGludGVncmFsX2M8IFQsQzEgPiwgaW50ZWdyYWxfYzwgVCxDMiA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMyA+LCBpbnRlZ3JhbF9jPCBULEM0ID4sIGludGVncmFsX2M8IFQsQzUgPiwgaW50ZWdyYWxfYzwgVCxDNiA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDNyA+LCBpbnRlZ3JhbF9jPCBULEM4ID4sIGludGVncmFsX2M8IFQsQzkgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzEwID4sIGludGVncmFsX2M8IFQsQzExID4sIGludGVncmFsX2M8IFQsQzEyID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMxMyA+LCBpbnRlZ3JhbF9jPCBULEMxNCA+LCBpbnRlZ3JhbF9jPCBULEMxNSA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMTYgPiwgaW50ZWdyYWxfYzwgVCxDMTcgPiwgaW50ZWdyYWxfYzwgVCxDMTggPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzE5ID4sIGludGVncmFsX2M8IFQsQzIwID4sIGludGVncmFsX2M8IFQsQzIxID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMyMiA+LCBpbnRlZ3JhbF9jPCBULEMyMyA+LCBpbnRlZ3JhbF9jPCBULEMyNCA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMjUgPiwgaW50ZWdyYWxfYzwgVCxDMjYgPiAKKyA+Cit7CisgICAgdHlwZWRlZiB2ZWN0b3IyN19jIHR5cGU7CisgICAgdHlwZWRlZiBUIHZhbHVlX3R5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQKKyAgICAsIFQgQzAsIFQgQzEsIFQgQzIsIFQgQzMsIFQgQzQsIFQgQzUsIFQgQzYsIFQgQzcsIFQgQzgsIFQgQzksIFQgQzEwCisgICAgLCBUIEMxMSwgVCBDMTIsIFQgQzEzLCBUIEMxNCwgVCBDMTUsIFQgQzE2LCBUIEMxNywgVCBDMTgsIFQgQzE5LCBUIEMyMAorICAgICwgVCBDMjEsIFQgQzIyLCBUIEMyMywgVCBDMjQsIFQgQzI1LCBUIEMyNiwgVCBDMjcKKyAgICA+CitzdHJ1Y3QgdmVjdG9yMjhfYworICAgIDogdmVjdG9yMjg8CisgICAgICAgICAgaW50ZWdyYWxfYzwgVCxDMCA+LCBpbnRlZ3JhbF9jPCBULEMxID4sIGludGVncmFsX2M8IFQsQzIgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzMgPiwgaW50ZWdyYWxfYzwgVCxDNCA+LCBpbnRlZ3JhbF9jPCBULEM1ID4sIGludGVncmFsX2M8IFQsQzYgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzcgPiwgaW50ZWdyYWxfYzwgVCxDOCA+LCBpbnRlZ3JhbF9jPCBULEM5ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMxMCA+LCBpbnRlZ3JhbF9jPCBULEMxMSA+LCBpbnRlZ3JhbF9jPCBULEMxMiA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMTMgPiwgaW50ZWdyYWxfYzwgVCxDMTQgPiwgaW50ZWdyYWxfYzwgVCxDMTUgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzE2ID4sIGludGVncmFsX2M8IFQsQzE3ID4sIGludGVncmFsX2M8IFQsQzE4ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMxOSA+LCBpbnRlZ3JhbF9jPCBULEMyMCA+LCBpbnRlZ3JhbF9jPCBULEMyMSA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMjIgPiwgaW50ZWdyYWxfYzwgVCxDMjMgPiwgaW50ZWdyYWxfYzwgVCxDMjQgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzI1ID4sIGludGVncmFsX2M8IFQsQzI2ID4sIGludGVncmFsX2M8IFQsQzI3ID4gCisgPgoreworICAgIHR5cGVkZWYgdmVjdG9yMjhfYyB0eXBlOworICAgIHR5cGVkZWYgVCB2YWx1ZV90eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUCisgICAgLCBUIEMwLCBUIEMxLCBUIEMyLCBUIEMzLCBUIEM0LCBUIEM1LCBUIEM2LCBUIEM3LCBUIEM4LCBUIEM5LCBUIEMxMAorICAgICwgVCBDMTEsIFQgQzEyLCBUIEMxMywgVCBDMTQsIFQgQzE1LCBUIEMxNiwgVCBDMTcsIFQgQzE4LCBUIEMxOSwgVCBDMjAKKyAgICAsIFQgQzIxLCBUIEMyMiwgVCBDMjMsIFQgQzI0LCBUIEMyNSwgVCBDMjYsIFQgQzI3LCBUIEMyOAorICAgID4KK3N0cnVjdCB2ZWN0b3IyOV9jCisgICAgOiB2ZWN0b3IyOTwKKyAgICAgICAgICBpbnRlZ3JhbF9jPCBULEMwID4sIGludGVncmFsX2M8IFQsQzEgPiwgaW50ZWdyYWxfYzwgVCxDMiA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMyA+LCBpbnRlZ3JhbF9jPCBULEM0ID4sIGludGVncmFsX2M8IFQsQzUgPiwgaW50ZWdyYWxfYzwgVCxDNiA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDNyA+LCBpbnRlZ3JhbF9jPCBULEM4ID4sIGludGVncmFsX2M8IFQsQzkgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzEwID4sIGludGVncmFsX2M8IFQsQzExID4sIGludGVncmFsX2M8IFQsQzEyID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMxMyA+LCBpbnRlZ3JhbF9jPCBULEMxNCA+LCBpbnRlZ3JhbF9jPCBULEMxNSA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMTYgPiwgaW50ZWdyYWxfYzwgVCxDMTcgPiwgaW50ZWdyYWxfYzwgVCxDMTggPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzE5ID4sIGludGVncmFsX2M8IFQsQzIwID4sIGludGVncmFsX2M8IFQsQzIxID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMyMiA+LCBpbnRlZ3JhbF9jPCBULEMyMyA+LCBpbnRlZ3JhbF9jPCBULEMyNCA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMjUgPiwgaW50ZWdyYWxfYzwgVCxDMjYgPiwgaW50ZWdyYWxfYzwgVCxDMjcgPiwgaW50ZWdyYWxfYzxUCisgICAgICAgICwgQzI4PiAKKyA+Cit7CisgICAgdHlwZWRlZiB2ZWN0b3IyOV9jIHR5cGU7CisgICAgdHlwZWRlZiBUIHZhbHVlX3R5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQKKyAgICAsIFQgQzAsIFQgQzEsIFQgQzIsIFQgQzMsIFQgQzQsIFQgQzUsIFQgQzYsIFQgQzcsIFQgQzgsIFQgQzksIFQgQzEwCisgICAgLCBUIEMxMSwgVCBDMTIsIFQgQzEzLCBUIEMxNCwgVCBDMTUsIFQgQzE2LCBUIEMxNywgVCBDMTgsIFQgQzE5LCBUIEMyMAorICAgICwgVCBDMjEsIFQgQzIyLCBUIEMyMywgVCBDMjQsIFQgQzI1LCBUIEMyNiwgVCBDMjcsIFQgQzI4LCBUIEMyOQorICAgID4KK3N0cnVjdCB2ZWN0b3IzMF9jCisgICAgOiB2ZWN0b3IzMDwKKyAgICAgICAgICBpbnRlZ3JhbF9jPCBULEMwID4sIGludGVncmFsX2M8IFQsQzEgPiwgaW50ZWdyYWxfYzwgVCxDMiA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMyA+LCBpbnRlZ3JhbF9jPCBULEM0ID4sIGludGVncmFsX2M8IFQsQzUgPiwgaW50ZWdyYWxfYzwgVCxDNiA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDNyA+LCBpbnRlZ3JhbF9jPCBULEM4ID4sIGludGVncmFsX2M8IFQsQzkgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzEwID4sIGludGVncmFsX2M8IFQsQzExID4sIGludGVncmFsX2M8IFQsQzEyID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMxMyA+LCBpbnRlZ3JhbF9jPCBULEMxNCA+LCBpbnRlZ3JhbF9jPCBULEMxNSA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMTYgPiwgaW50ZWdyYWxfYzwgVCxDMTcgPiwgaW50ZWdyYWxfYzwgVCxDMTggPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzE5ID4sIGludGVncmFsX2M8IFQsQzIwID4sIGludGVncmFsX2M8IFQsQzIxID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMyMiA+LCBpbnRlZ3JhbF9jPCBULEMyMyA+LCBpbnRlZ3JhbF9jPCBULEMyNCA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMjUgPiwgaW50ZWdyYWxfYzwgVCxDMjYgPiwgaW50ZWdyYWxfYzwgVCxDMjcgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzI4ID4sIGludGVncmFsX2M8IFQsQzI5ID4gCisgPgoreworICAgIHR5cGVkZWYgdmVjdG9yMzBfYyB0eXBlOworICAgIHR5cGVkZWYgVCB2YWx1ZV90eXBlOworfTsKKworfX0KZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC92ZWN0b3IvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fY3Rwcy92ZWN0b3I0MC5ocHAgYi9uZG5ib29zdC9tcGwvdmVjdG9yL2F1eF8vcHJlcHJvY2Vzc2VkL25vX2N0cHMvdmVjdG9yNDAuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJiY2ZlNzgKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvdmVjdG9yL2F1eF8vcHJlcHJvY2Vzc2VkL25vX2N0cHMvdmVjdG9yNDAuaHBwCkBAIC0wLDAgKzEsMjQ0NCBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvdmVjdG9yL3ZlY3RvcjQwLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAsIHR5cGVuYW1lIFQyMCwgdHlwZW5hbWUgVDIxLCB0eXBlbmFtZSBUMjIsIHR5cGVuYW1lIFQyMywgdHlwZW5hbWUgVDI0CisgICAgLCB0eXBlbmFtZSBUMjUsIHR5cGVuYW1lIFQyNiwgdHlwZW5hbWUgVDI3LCB0eXBlbmFtZSBUMjgsIHR5cGVuYW1lIFQyOQorICAgICwgdHlwZW5hbWUgVDMwCisgICAgPgorc3RydWN0IHZlY3RvcjMxCit7CisgICAgdHlwZWRlZiBhdXg6OnZlY3Rvcl90YWc8MzE+IHRhZzsKKyAgICB0eXBlZGVmIHZlY3RvcjMxIHR5cGU7CisgICAgdHlwZWRlZiBUMCBpdGVtMDsKKyAgICB0eXBlZGVmIFQxIGl0ZW0xOworICAgIHR5cGVkZWYgVDIgaXRlbTI7CisgICAgdHlwZWRlZiBUMyBpdGVtMzsKKyAgICB0eXBlZGVmIFQ0IGl0ZW00OworICAgIHR5cGVkZWYgVDUgaXRlbTU7CisgICAgdHlwZWRlZiBUNiBpdGVtNjsKKyAgICB0eXBlZGVmIFQ3IGl0ZW03OworICAgIHR5cGVkZWYgVDggaXRlbTg7CisgICAgdHlwZWRlZiBUOSBpdGVtOTsKKyAgICB0eXBlZGVmIFQxMCBpdGVtMTA7CisgICAgdHlwZWRlZiBUMTEgaXRlbTExOworICAgIHR5cGVkZWYgVDEyIGl0ZW0xMjsKKyAgICB0eXBlZGVmIFQxMyBpdGVtMTM7CisgICAgdHlwZWRlZiBUMTQgaXRlbTE0OworICAgIHR5cGVkZWYgVDE1IGl0ZW0xNTsKKyAgICB0eXBlZGVmIFQxNiBpdGVtMTY7CisgICAgdHlwZWRlZiBUMTcgaXRlbTE3OworICAgIHR5cGVkZWYgVDE4IGl0ZW0xODsKKyAgICB0eXBlZGVmIFQxOSBpdGVtMTk7CisgICAgdHlwZWRlZiBUMjAgaXRlbTIwOworICAgIHR5cGVkZWYgVDIxIGl0ZW0yMTsKKyAgICB0eXBlZGVmIFQyMiBpdGVtMjI7CisgICAgdHlwZWRlZiBUMjMgaXRlbTIzOworICAgIHR5cGVkZWYgVDI0IGl0ZW0yNDsKKyAgICB0eXBlZGVmIFQyNSBpdGVtMjU7CisgICAgdHlwZWRlZiBUMjYgaXRlbTI2OworICAgIHR5cGVkZWYgVDI3IGl0ZW0yNzsKKyAgICB0eXBlZGVmIFQyOCBpdGVtMjg7CisgICAgdHlwZWRlZiBUMjkgaXRlbTI5OworICAgIHR5cGVkZWYgVDMwIGl0ZW0zMDsKKyAgICAKKworICAgIHR5cGVkZWYgdm9pZF8gaXRlbTMxOworICAgIHR5cGVkZWYgVDMwIGJhY2s7CisgICAgdHlwZWRlZiB2X2l0ZXI8IHR5cGUsMCA+IGJlZ2luOworICAgIHR5cGVkZWYgdl9pdGVyPCB0eXBlLDMxID4gZW5kOworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHB1c2hfZnJvbnRfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDMwPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciwgdHlwZW5hbWUgVCA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IzMTwKKyAgICAgICAgICAgICAgVAorICAgICAgICAgICAgICAsCisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjkKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHBvcF9mcm9udF9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MzE+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjMwPAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW03LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW04CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTksIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEwCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTExLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMywgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTQKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTUsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE2CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE3LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjAKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjEsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIyCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIzLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjYKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjcsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI4CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI5LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMAorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcHVzaF9iYWNrX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwzMD4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IsIHR5cGVuYW1lIFQgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yMzE8CisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjkKKyAgICAgICAgICAgICAgLAorICAgICAgICAgICAgICBUCisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwb3BfYmFja19pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MzE+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjMwPAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0wLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW02LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW03CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTExCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE4LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI5CisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK25hbWVzcGFjZSBhdXggewordGVtcGxhdGU8PiBzdHJ1Y3Qgdl9hdF9pbXBsPDMxPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWXyA+IHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIFZfOjppdGVtMzEgdHlwZTsKKyAgICB9OworfTsKKworfQorCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgYXRfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDMxPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZfLCB0eXBlbmFtZSBOID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGF1eDo6dl9hdF9pbXBsPEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChOKTo6dmFsdWU+CisgICAgICAgICAgICA6OnRlbXBsYXRlIHJlc3VsdF88Vl8+Ojp0eXBlIHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBmcm9udF9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MzE+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGJhY2tfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDMxPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBWZWN0b3I6OmJhY2sgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGVtcHR5X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwzMT4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICAgICAgOiBmYWxzZV8KKyAgICB7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBzaXplX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwzMT4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICAgICAgOiBsb25nXzwzMT4KKyAgICB7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBPMV9zaXplX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwzMT4gPgorICAgIDogc2l6ZV9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MzE+ID4KK3sKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBjbGVhcl9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MzE+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjA8PiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAsIHR5cGVuYW1lIFQyMCwgdHlwZW5hbWUgVDIxLCB0eXBlbmFtZSBUMjIsIHR5cGVuYW1lIFQyMywgdHlwZW5hbWUgVDI0CisgICAgLCB0eXBlbmFtZSBUMjUsIHR5cGVuYW1lIFQyNiwgdHlwZW5hbWUgVDI3LCB0eXBlbmFtZSBUMjgsIHR5cGVuYW1lIFQyOQorICAgICwgdHlwZW5hbWUgVDMwLCB0eXBlbmFtZSBUMzEKKyAgICA+CitzdHJ1Y3QgdmVjdG9yMzIKK3sKKyAgICB0eXBlZGVmIGF1eDo6dmVjdG9yX3RhZzwzMj4gdGFnOworICAgIHR5cGVkZWYgdmVjdG9yMzIgdHlwZTsKKyAgICB0eXBlZGVmIFQwIGl0ZW0wOworICAgIHR5cGVkZWYgVDEgaXRlbTE7CisgICAgdHlwZWRlZiBUMiBpdGVtMjsKKyAgICB0eXBlZGVmIFQzIGl0ZW0zOworICAgIHR5cGVkZWYgVDQgaXRlbTQ7CisgICAgdHlwZWRlZiBUNSBpdGVtNTsKKyAgICB0eXBlZGVmIFQ2IGl0ZW02OworICAgIHR5cGVkZWYgVDcgaXRlbTc7CisgICAgdHlwZWRlZiBUOCBpdGVtODsKKyAgICB0eXBlZGVmIFQ5IGl0ZW05OworICAgIHR5cGVkZWYgVDEwIGl0ZW0xMDsKKyAgICB0eXBlZGVmIFQxMSBpdGVtMTE7CisgICAgdHlwZWRlZiBUMTIgaXRlbTEyOworICAgIHR5cGVkZWYgVDEzIGl0ZW0xMzsKKyAgICB0eXBlZGVmIFQxNCBpdGVtMTQ7CisgICAgdHlwZWRlZiBUMTUgaXRlbTE1OworICAgIHR5cGVkZWYgVDE2IGl0ZW0xNjsKKyAgICB0eXBlZGVmIFQxNyBpdGVtMTc7CisgICAgdHlwZWRlZiBUMTggaXRlbTE4OworICAgIHR5cGVkZWYgVDE5IGl0ZW0xOTsKKyAgICB0eXBlZGVmIFQyMCBpdGVtMjA7CisgICAgdHlwZWRlZiBUMjEgaXRlbTIxOworICAgIHR5cGVkZWYgVDIyIGl0ZW0yMjsKKyAgICB0eXBlZGVmIFQyMyBpdGVtMjM7CisgICAgdHlwZWRlZiBUMjQgaXRlbTI0OworICAgIHR5cGVkZWYgVDI1IGl0ZW0yNTsKKyAgICB0eXBlZGVmIFQyNiBpdGVtMjY7CisgICAgdHlwZWRlZiBUMjcgaXRlbTI3OworICAgIHR5cGVkZWYgVDI4IGl0ZW0yODsKKyAgICB0eXBlZGVmIFQyOSBpdGVtMjk7CisgICAgdHlwZWRlZiBUMzAgaXRlbTMwOworICAgIHR5cGVkZWYgVDMxIGl0ZW0zMTsKKyAgICAKKworICAgIHR5cGVkZWYgdm9pZF8gaXRlbTMyOworICAgIHR5cGVkZWYgVDMxIGJhY2s7CisgICAgdHlwZWRlZiB2X2l0ZXI8IHR5cGUsMCA+IGJlZ2luOworICAgIHR5cGVkZWYgdl9pdGVyPCB0eXBlLDMyID4gZW5kOworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHB1c2hfZnJvbnRfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDMxPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciwgdHlwZW5hbWUgVCA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IzMjwKKyAgICAgICAgICAgICAgVAorICAgICAgICAgICAgICAsCisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzAKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHBvcF9mcm9udF9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MzI+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjMxPAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW03LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW04CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTksIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEwCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTExLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMywgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTQKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTUsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE2CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE3LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjAKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjEsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIyCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIzLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjYKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjcsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI4CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI5LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMQorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcHVzaF9iYWNrX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwzMT4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IsIHR5cGVuYW1lIFQgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yMzI8CisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzAKKyAgICAgICAgICAgICAgLAorICAgICAgICAgICAgICBUCisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwb3BfYmFja19pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MzI+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjMxPAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0wLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW02LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW03CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTExCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE4LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMwCisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK25hbWVzcGFjZSBhdXggewordGVtcGxhdGU8PiBzdHJ1Y3Qgdl9hdF9pbXBsPDMyPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWXyA+IHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIFZfOjppdGVtMzIgdHlwZTsKKyAgICB9OworfTsKKworfQorCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgYXRfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDMyPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZfLCB0eXBlbmFtZSBOID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGF1eDo6dl9hdF9pbXBsPEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChOKTo6dmFsdWU+CisgICAgICAgICAgICA6OnRlbXBsYXRlIHJlc3VsdF88Vl8+Ojp0eXBlIHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBmcm9udF9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MzI+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGJhY2tfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDMyPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBWZWN0b3I6OmJhY2sgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGVtcHR5X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwzMj4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICAgICAgOiBmYWxzZV8KKyAgICB7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBzaXplX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwzMj4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICAgICAgOiBsb25nXzwzMj4KKyAgICB7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBPMV9zaXplX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwzMj4gPgorICAgIDogc2l6ZV9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MzI+ID4KK3sKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBjbGVhcl9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MzI+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjA8PiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAsIHR5cGVuYW1lIFQyMCwgdHlwZW5hbWUgVDIxLCB0eXBlbmFtZSBUMjIsIHR5cGVuYW1lIFQyMywgdHlwZW5hbWUgVDI0CisgICAgLCB0eXBlbmFtZSBUMjUsIHR5cGVuYW1lIFQyNiwgdHlwZW5hbWUgVDI3LCB0eXBlbmFtZSBUMjgsIHR5cGVuYW1lIFQyOQorICAgICwgdHlwZW5hbWUgVDMwLCB0eXBlbmFtZSBUMzEsIHR5cGVuYW1lIFQzMgorICAgID4KK3N0cnVjdCB2ZWN0b3IzMworeworICAgIHR5cGVkZWYgYXV4Ojp2ZWN0b3JfdGFnPDMzPiB0YWc7CisgICAgdHlwZWRlZiB2ZWN0b3IzMyB0eXBlOworICAgIHR5cGVkZWYgVDAgaXRlbTA7CisgICAgdHlwZWRlZiBUMSBpdGVtMTsKKyAgICB0eXBlZGVmIFQyIGl0ZW0yOworICAgIHR5cGVkZWYgVDMgaXRlbTM7CisgICAgdHlwZWRlZiBUNCBpdGVtNDsKKyAgICB0eXBlZGVmIFQ1IGl0ZW01OworICAgIHR5cGVkZWYgVDYgaXRlbTY7CisgICAgdHlwZWRlZiBUNyBpdGVtNzsKKyAgICB0eXBlZGVmIFQ4IGl0ZW04OworICAgIHR5cGVkZWYgVDkgaXRlbTk7CisgICAgdHlwZWRlZiBUMTAgaXRlbTEwOworICAgIHR5cGVkZWYgVDExIGl0ZW0xMTsKKyAgICB0eXBlZGVmIFQxMiBpdGVtMTI7CisgICAgdHlwZWRlZiBUMTMgaXRlbTEzOworICAgIHR5cGVkZWYgVDE0IGl0ZW0xNDsKKyAgICB0eXBlZGVmIFQxNSBpdGVtMTU7CisgICAgdHlwZWRlZiBUMTYgaXRlbTE2OworICAgIHR5cGVkZWYgVDE3IGl0ZW0xNzsKKyAgICB0eXBlZGVmIFQxOCBpdGVtMTg7CisgICAgdHlwZWRlZiBUMTkgaXRlbTE5OworICAgIHR5cGVkZWYgVDIwIGl0ZW0yMDsKKyAgICB0eXBlZGVmIFQyMSBpdGVtMjE7CisgICAgdHlwZWRlZiBUMjIgaXRlbTIyOworICAgIHR5cGVkZWYgVDIzIGl0ZW0yMzsKKyAgICB0eXBlZGVmIFQyNCBpdGVtMjQ7CisgICAgdHlwZWRlZiBUMjUgaXRlbTI1OworICAgIHR5cGVkZWYgVDI2IGl0ZW0yNjsKKyAgICB0eXBlZGVmIFQyNyBpdGVtMjc7CisgICAgdHlwZWRlZiBUMjggaXRlbTI4OworICAgIHR5cGVkZWYgVDI5IGl0ZW0yOTsKKyAgICB0eXBlZGVmIFQzMCBpdGVtMzA7CisgICAgdHlwZWRlZiBUMzEgaXRlbTMxOworICAgIHR5cGVkZWYgVDMyIGl0ZW0zMjsKKyAgICAKKworICAgIHR5cGVkZWYgdm9pZF8gaXRlbTMzOworICAgIHR5cGVkZWYgVDMyIGJhY2s7CisgICAgdHlwZWRlZiB2X2l0ZXI8IHR5cGUsMCA+IGJlZ2luOworICAgIHR5cGVkZWYgdl9pdGVyPCB0eXBlLDMzID4gZW5kOworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHB1c2hfZnJvbnRfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDMyPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciwgdHlwZW5hbWUgVCA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IzMzwKKyAgICAgICAgICAgICAgVAorICAgICAgICAgICAgICAsCisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMxCisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwb3BfZnJvbnRfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDMzPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IzMjwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNywgdHlwZW5hbWUgVmVjdG9yOjppdGVtOAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW05LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTIKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTMsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE0CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE1LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNywgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTgKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTksIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIwCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIxLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMywgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjQKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjUsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI2CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI3LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yOAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yOSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzAKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzEsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMyCisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwdXNoX2JhY2tfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDMyPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciwgdHlwZW5hbWUgVCA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IzMzwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW04LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW05CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIxCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI4LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzEKKyAgICAgICAgICAgICAgLAorICAgICAgICAgICAgICBUCisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwb3BfYmFja19pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MzM+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjMyPAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0wLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW02LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW03CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTExCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE4LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMQorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCituYW1lc3BhY2UgYXV4IHsKK3RlbXBsYXRlPD4gc3RydWN0IHZfYXRfaW1wbDwzMz4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVl8gPiBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBWXzo6aXRlbTMzIHR5cGU7CisgICAgfTsKK307CisKK30KKwordGVtcGxhdGU8Pgorc3RydWN0IGF0X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwzMz4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWXywgdHlwZW5hbWUgTiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhdXg6OnZfYXRfaW1wbDxCT09TVF9NUExfQVVYX1ZBTFVFX1dLTkQoTik6OnZhbHVlPgorICAgICAgICAgICAgOjp0ZW1wbGF0ZSByZXN1bHRfPFZfPjo6dHlwZSB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgZnJvbnRfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDMzPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0wIHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBiYWNrX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwzMz4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgVmVjdG9yOjpiYWNrIHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBlbXB0eV9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MzM+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgICAgIDogZmFsc2VfCisgICAgeworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3Qgc2l6ZV9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MzM+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgICAgIDogbG9uZ188MzM+CisgICAgeworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgTzFfc2l6ZV9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MzM+ID4KKyAgICA6IHNpemVfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDMzPiA+Cit7Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgY2xlYXJfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDMzPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IwPD4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgLCB0eXBlbmFtZSBUMjAsIHR5cGVuYW1lIFQyMSwgdHlwZW5hbWUgVDIyLCB0eXBlbmFtZSBUMjMsIHR5cGVuYW1lIFQyNAorICAgICwgdHlwZW5hbWUgVDI1LCB0eXBlbmFtZSBUMjYsIHR5cGVuYW1lIFQyNywgdHlwZW5hbWUgVDI4LCB0eXBlbmFtZSBUMjkKKyAgICAsIHR5cGVuYW1lIFQzMCwgdHlwZW5hbWUgVDMxLCB0eXBlbmFtZSBUMzIsIHR5cGVuYW1lIFQzMworICAgID4KK3N0cnVjdCB2ZWN0b3IzNAoreworICAgIHR5cGVkZWYgYXV4Ojp2ZWN0b3JfdGFnPDM0PiB0YWc7CisgICAgdHlwZWRlZiB2ZWN0b3IzNCB0eXBlOworICAgIHR5cGVkZWYgVDAgaXRlbTA7CisgICAgdHlwZWRlZiBUMSBpdGVtMTsKKyAgICB0eXBlZGVmIFQyIGl0ZW0yOworICAgIHR5cGVkZWYgVDMgaXRlbTM7CisgICAgdHlwZWRlZiBUNCBpdGVtNDsKKyAgICB0eXBlZGVmIFQ1IGl0ZW01OworICAgIHR5cGVkZWYgVDYgaXRlbTY7CisgICAgdHlwZWRlZiBUNyBpdGVtNzsKKyAgICB0eXBlZGVmIFQ4IGl0ZW04OworICAgIHR5cGVkZWYgVDkgaXRlbTk7CisgICAgdHlwZWRlZiBUMTAgaXRlbTEwOworICAgIHR5cGVkZWYgVDExIGl0ZW0xMTsKKyAgICB0eXBlZGVmIFQxMiBpdGVtMTI7CisgICAgdHlwZWRlZiBUMTMgaXRlbTEzOworICAgIHR5cGVkZWYgVDE0IGl0ZW0xNDsKKyAgICB0eXBlZGVmIFQxNSBpdGVtMTU7CisgICAgdHlwZWRlZiBUMTYgaXRlbTE2OworICAgIHR5cGVkZWYgVDE3IGl0ZW0xNzsKKyAgICB0eXBlZGVmIFQxOCBpdGVtMTg7CisgICAgdHlwZWRlZiBUMTkgaXRlbTE5OworICAgIHR5cGVkZWYgVDIwIGl0ZW0yMDsKKyAgICB0eXBlZGVmIFQyMSBpdGVtMjE7CisgICAgdHlwZWRlZiBUMjIgaXRlbTIyOworICAgIHR5cGVkZWYgVDIzIGl0ZW0yMzsKKyAgICB0eXBlZGVmIFQyNCBpdGVtMjQ7CisgICAgdHlwZWRlZiBUMjUgaXRlbTI1OworICAgIHR5cGVkZWYgVDI2IGl0ZW0yNjsKKyAgICB0eXBlZGVmIFQyNyBpdGVtMjc7CisgICAgdHlwZWRlZiBUMjggaXRlbTI4OworICAgIHR5cGVkZWYgVDI5IGl0ZW0yOTsKKyAgICB0eXBlZGVmIFQzMCBpdGVtMzA7CisgICAgdHlwZWRlZiBUMzEgaXRlbTMxOworICAgIHR5cGVkZWYgVDMyIGl0ZW0zMjsKKyAgICB0eXBlZGVmIFQzMyBpdGVtMzM7CisgICAgCisKKyAgICB0eXBlZGVmIHZvaWRfIGl0ZW0zNDsKKyAgICB0eXBlZGVmIFQzMyBiYWNrOworICAgIHR5cGVkZWYgdl9pdGVyPCB0eXBlLDAgPiBiZWdpbjsKKyAgICB0eXBlZGVmIHZfaXRlcjwgdHlwZSwzNCA+IGVuZDsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwdXNoX2Zyb250X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwzMz4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IsIHR5cGVuYW1lIFQgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yMzQ8CisgICAgICAgICAgICAgIFQKKyAgICAgICAgICAgICAgLAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0wLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW02LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW03CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTExCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE4LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMgorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcG9wX2Zyb250X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwzND4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yMzM8CisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMywgdHlwZW5hbWUgVmVjdG9yOjppdGVtNAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW02CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTgKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTAKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTEsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEyCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEzLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTYKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTcsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE4CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE5LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjIKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjMsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI0CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI1LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNywgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjgKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjksIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMwCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMxLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMworICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcHVzaF9iYWNrX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwzMz4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IsIHR5cGVuYW1lIFQgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yMzQ8CisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMxCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMyCisgICAgICAgICAgICAgICwKKyAgICAgICAgICAgICAgVAorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcG9wX2JhY2tfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDM0PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IzMzwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW04LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW05CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIxCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI4LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzIKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKworbmFtZXNwYWNlIGF1eCB7Cit0ZW1wbGF0ZTw+IHN0cnVjdCB2X2F0X2ltcGw8MzQ+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZfID4gc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgVl86Oml0ZW0zNCB0eXBlOworICAgIH07Cit9OworCit9CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBhdF9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MzQ+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVl8sIHR5cGVuYW1lIE4gPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXV4Ojp2X2F0X2ltcGw8Qk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4pOjp2YWx1ZT4KKyAgICAgICAgICAgIDo6dGVtcGxhdGUgcmVzdWx0XzxWXz46OnR5cGUgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGZyb250X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwzND4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgYmFja19pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MzQ+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIFZlY3Rvcjo6YmFjayB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgZW1wdHlfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDM0PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgICAgICA6IGZhbHNlXworICAgIHsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHNpemVfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDM0PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgICAgICA6IGxvbmdfPDM0PgorICAgIHsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IE8xX3NpemVfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDM0PiA+CisgICAgOiBzaXplX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwzND4gPgoreworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGNsZWFyX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwzND4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yMDw+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICwgdHlwZW5hbWUgVDIwLCB0eXBlbmFtZSBUMjEsIHR5cGVuYW1lIFQyMiwgdHlwZW5hbWUgVDIzLCB0eXBlbmFtZSBUMjQKKyAgICAsIHR5cGVuYW1lIFQyNSwgdHlwZW5hbWUgVDI2LCB0eXBlbmFtZSBUMjcsIHR5cGVuYW1lIFQyOCwgdHlwZW5hbWUgVDI5CisgICAgLCB0eXBlbmFtZSBUMzAsIHR5cGVuYW1lIFQzMSwgdHlwZW5hbWUgVDMyLCB0eXBlbmFtZSBUMzMsIHR5cGVuYW1lIFQzNAorICAgID4KK3N0cnVjdCB2ZWN0b3IzNQoreworICAgIHR5cGVkZWYgYXV4Ojp2ZWN0b3JfdGFnPDM1PiB0YWc7CisgICAgdHlwZWRlZiB2ZWN0b3IzNSB0eXBlOworICAgIHR5cGVkZWYgVDAgaXRlbTA7CisgICAgdHlwZWRlZiBUMSBpdGVtMTsKKyAgICB0eXBlZGVmIFQyIGl0ZW0yOworICAgIHR5cGVkZWYgVDMgaXRlbTM7CisgICAgdHlwZWRlZiBUNCBpdGVtNDsKKyAgICB0eXBlZGVmIFQ1IGl0ZW01OworICAgIHR5cGVkZWYgVDYgaXRlbTY7CisgICAgdHlwZWRlZiBUNyBpdGVtNzsKKyAgICB0eXBlZGVmIFQ4IGl0ZW04OworICAgIHR5cGVkZWYgVDkgaXRlbTk7CisgICAgdHlwZWRlZiBUMTAgaXRlbTEwOworICAgIHR5cGVkZWYgVDExIGl0ZW0xMTsKKyAgICB0eXBlZGVmIFQxMiBpdGVtMTI7CisgICAgdHlwZWRlZiBUMTMgaXRlbTEzOworICAgIHR5cGVkZWYgVDE0IGl0ZW0xNDsKKyAgICB0eXBlZGVmIFQxNSBpdGVtMTU7CisgICAgdHlwZWRlZiBUMTYgaXRlbTE2OworICAgIHR5cGVkZWYgVDE3IGl0ZW0xNzsKKyAgICB0eXBlZGVmIFQxOCBpdGVtMTg7CisgICAgdHlwZWRlZiBUMTkgaXRlbTE5OworICAgIHR5cGVkZWYgVDIwIGl0ZW0yMDsKKyAgICB0eXBlZGVmIFQyMSBpdGVtMjE7CisgICAgdHlwZWRlZiBUMjIgaXRlbTIyOworICAgIHR5cGVkZWYgVDIzIGl0ZW0yMzsKKyAgICB0eXBlZGVmIFQyNCBpdGVtMjQ7CisgICAgdHlwZWRlZiBUMjUgaXRlbTI1OworICAgIHR5cGVkZWYgVDI2IGl0ZW0yNjsKKyAgICB0eXBlZGVmIFQyNyBpdGVtMjc7CisgICAgdHlwZWRlZiBUMjggaXRlbTI4OworICAgIHR5cGVkZWYgVDI5IGl0ZW0yOTsKKyAgICB0eXBlZGVmIFQzMCBpdGVtMzA7CisgICAgdHlwZWRlZiBUMzEgaXRlbTMxOworICAgIHR5cGVkZWYgVDMyIGl0ZW0zMjsKKyAgICB0eXBlZGVmIFQzMyBpdGVtMzM7CisgICAgdHlwZWRlZiBUMzQgaXRlbTM0OworICAgIAorCisgICAgdHlwZWRlZiB2b2lkXyBpdGVtMzU7CisgICAgdHlwZWRlZiBUMzQgYmFjazsKKyAgICB0eXBlZGVmIHZfaXRlcjwgdHlwZSwwID4gYmVnaW47CisgICAgdHlwZWRlZiB2X2l0ZXI8IHR5cGUsMzUgPiBlbmQ7Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcHVzaF9mcm9udF9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MzQ+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yLCB0eXBlbmFtZSBUID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjM1PAorICAgICAgICAgICAgICBUCisgICAgICAgICAgICAgICwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW04LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW05CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIxCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI4LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMzCisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwb3BfZnJvbnRfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDM1PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IzNDwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNywgdHlwZW5hbWUgVmVjdG9yOjppdGVtOAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW05LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTIKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTMsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE0CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE1LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNywgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTgKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTksIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIwCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIxLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMywgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjQKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjUsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI2CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI3LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yOAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yOSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzAKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzEsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMyCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMzLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNAorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcHVzaF9iYWNrX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwzND4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IsIHR5cGVuYW1lIFQgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yMzU8CisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMxCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMworICAgICAgICAgICAgICAsCisgICAgICAgICAgICAgIFQKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHBvcF9iYWNrX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwzNT4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yMzQ8CisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMxCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMworICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCituYW1lc3BhY2UgYXV4IHsKK3RlbXBsYXRlPD4gc3RydWN0IHZfYXRfaW1wbDwzNT4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVl8gPiBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBWXzo6aXRlbTM1IHR5cGU7CisgICAgfTsKK307CisKK30KKwordGVtcGxhdGU8Pgorc3RydWN0IGF0X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwzNT4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWXywgdHlwZW5hbWUgTiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhdXg6OnZfYXRfaW1wbDxCT09TVF9NUExfQVVYX1ZBTFVFX1dLTkQoTik6OnZhbHVlPgorICAgICAgICAgICAgOjp0ZW1wbGF0ZSByZXN1bHRfPFZfPjo6dHlwZSB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgZnJvbnRfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDM1PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0wIHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBiYWNrX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwzNT4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgVmVjdG9yOjpiYWNrIHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBlbXB0eV9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MzU+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgICAgIDogZmFsc2VfCisgICAgeworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3Qgc2l6ZV9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MzU+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgICAgIDogbG9uZ188MzU+CisgICAgeworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgTzFfc2l6ZV9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MzU+ID4KKyAgICA6IHNpemVfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDM1PiA+Cit7Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgY2xlYXJfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDM1PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IwPD4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgLCB0eXBlbmFtZSBUMjAsIHR5cGVuYW1lIFQyMSwgdHlwZW5hbWUgVDIyLCB0eXBlbmFtZSBUMjMsIHR5cGVuYW1lIFQyNAorICAgICwgdHlwZW5hbWUgVDI1LCB0eXBlbmFtZSBUMjYsIHR5cGVuYW1lIFQyNywgdHlwZW5hbWUgVDI4LCB0eXBlbmFtZSBUMjkKKyAgICAsIHR5cGVuYW1lIFQzMCwgdHlwZW5hbWUgVDMxLCB0eXBlbmFtZSBUMzIsIHR5cGVuYW1lIFQzMywgdHlwZW5hbWUgVDM0CisgICAgLCB0eXBlbmFtZSBUMzUKKyAgICA+CitzdHJ1Y3QgdmVjdG9yMzYKK3sKKyAgICB0eXBlZGVmIGF1eDo6dmVjdG9yX3RhZzwzNj4gdGFnOworICAgIHR5cGVkZWYgdmVjdG9yMzYgdHlwZTsKKyAgICB0eXBlZGVmIFQwIGl0ZW0wOworICAgIHR5cGVkZWYgVDEgaXRlbTE7CisgICAgdHlwZWRlZiBUMiBpdGVtMjsKKyAgICB0eXBlZGVmIFQzIGl0ZW0zOworICAgIHR5cGVkZWYgVDQgaXRlbTQ7CisgICAgdHlwZWRlZiBUNSBpdGVtNTsKKyAgICB0eXBlZGVmIFQ2IGl0ZW02OworICAgIHR5cGVkZWYgVDcgaXRlbTc7CisgICAgdHlwZWRlZiBUOCBpdGVtODsKKyAgICB0eXBlZGVmIFQ5IGl0ZW05OworICAgIHR5cGVkZWYgVDEwIGl0ZW0xMDsKKyAgICB0eXBlZGVmIFQxMSBpdGVtMTE7CisgICAgdHlwZWRlZiBUMTIgaXRlbTEyOworICAgIHR5cGVkZWYgVDEzIGl0ZW0xMzsKKyAgICB0eXBlZGVmIFQxNCBpdGVtMTQ7CisgICAgdHlwZWRlZiBUMTUgaXRlbTE1OworICAgIHR5cGVkZWYgVDE2IGl0ZW0xNjsKKyAgICB0eXBlZGVmIFQxNyBpdGVtMTc7CisgICAgdHlwZWRlZiBUMTggaXRlbTE4OworICAgIHR5cGVkZWYgVDE5IGl0ZW0xOTsKKyAgICB0eXBlZGVmIFQyMCBpdGVtMjA7CisgICAgdHlwZWRlZiBUMjEgaXRlbTIxOworICAgIHR5cGVkZWYgVDIyIGl0ZW0yMjsKKyAgICB0eXBlZGVmIFQyMyBpdGVtMjM7CisgICAgdHlwZWRlZiBUMjQgaXRlbTI0OworICAgIHR5cGVkZWYgVDI1IGl0ZW0yNTsKKyAgICB0eXBlZGVmIFQyNiBpdGVtMjY7CisgICAgdHlwZWRlZiBUMjcgaXRlbTI3OworICAgIHR5cGVkZWYgVDI4IGl0ZW0yODsKKyAgICB0eXBlZGVmIFQyOSBpdGVtMjk7CisgICAgdHlwZWRlZiBUMzAgaXRlbTMwOworICAgIHR5cGVkZWYgVDMxIGl0ZW0zMTsKKyAgICB0eXBlZGVmIFQzMiBpdGVtMzI7CisgICAgdHlwZWRlZiBUMzMgaXRlbTMzOworICAgIHR5cGVkZWYgVDM0IGl0ZW0zNDsKKyAgICB0eXBlZGVmIFQzNSBpdGVtMzU7CisgICAgCisKKyAgICB0eXBlZGVmIHZvaWRfIGl0ZW0zNjsKKyAgICB0eXBlZGVmIFQzNSBiYWNrOworICAgIHR5cGVkZWYgdl9pdGVyPCB0eXBlLDAgPiBiZWdpbjsKKyAgICB0eXBlZGVmIHZfaXRlcjwgdHlwZSwzNiA+IGVuZDsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwdXNoX2Zyb250X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwzNT4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IsIHR5cGVuYW1lIFQgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yMzY8CisgICAgICAgICAgICAgIFQKKyAgICAgICAgICAgICAgLAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0wLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW02LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW03CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTExCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE4LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzQKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHBvcF9mcm9udF9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MzY+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjM1PAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW03LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW04CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTksIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEwCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTExLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMywgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTQKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTUsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE2CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE3LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjAKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjEsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIyCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIzLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjYKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjcsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI4CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI5LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzIKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzMsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM0CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM1CisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwdXNoX2JhY2tfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDM1PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciwgdHlwZW5hbWUgVCA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IzNjwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW04LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW05CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIxCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI4LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM0CisgICAgICAgICAgICAgICwKKyAgICAgICAgICAgICAgVAorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcG9wX2JhY2tfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDM2PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IzNTwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW04LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW05CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIxCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI4LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM0CisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK25hbWVzcGFjZSBhdXggewordGVtcGxhdGU8PiBzdHJ1Y3Qgdl9hdF9pbXBsPDM2PgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWXyA+IHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIFZfOjppdGVtMzYgdHlwZTsKKyAgICB9OworfTsKKworfQorCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgYXRfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDM2PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZfLCB0eXBlbmFtZSBOID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGF1eDo6dl9hdF9pbXBsPEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChOKTo6dmFsdWU+CisgICAgICAgICAgICA6OnRlbXBsYXRlIHJlc3VsdF88Vl8+Ojp0eXBlIHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBmcm9udF9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MzY+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGJhY2tfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDM2PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBWZWN0b3I6OmJhY2sgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGVtcHR5X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwzNj4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICAgICAgOiBmYWxzZV8KKyAgICB7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBzaXplX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwzNj4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICAgICAgOiBsb25nXzwzNj4KKyAgICB7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBPMV9zaXplX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwzNj4gPgorICAgIDogc2l6ZV9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MzY+ID4KK3sKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBjbGVhcl9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MzY+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjA8PiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAsIHR5cGVuYW1lIFQyMCwgdHlwZW5hbWUgVDIxLCB0eXBlbmFtZSBUMjIsIHR5cGVuYW1lIFQyMywgdHlwZW5hbWUgVDI0CisgICAgLCB0eXBlbmFtZSBUMjUsIHR5cGVuYW1lIFQyNiwgdHlwZW5hbWUgVDI3LCB0eXBlbmFtZSBUMjgsIHR5cGVuYW1lIFQyOQorICAgICwgdHlwZW5hbWUgVDMwLCB0eXBlbmFtZSBUMzEsIHR5cGVuYW1lIFQzMiwgdHlwZW5hbWUgVDMzLCB0eXBlbmFtZSBUMzQKKyAgICAsIHR5cGVuYW1lIFQzNSwgdHlwZW5hbWUgVDM2CisgICAgPgorc3RydWN0IHZlY3RvcjM3Cit7CisgICAgdHlwZWRlZiBhdXg6OnZlY3Rvcl90YWc8Mzc+IHRhZzsKKyAgICB0eXBlZGVmIHZlY3RvcjM3IHR5cGU7CisgICAgdHlwZWRlZiBUMCBpdGVtMDsKKyAgICB0eXBlZGVmIFQxIGl0ZW0xOworICAgIHR5cGVkZWYgVDIgaXRlbTI7CisgICAgdHlwZWRlZiBUMyBpdGVtMzsKKyAgICB0eXBlZGVmIFQ0IGl0ZW00OworICAgIHR5cGVkZWYgVDUgaXRlbTU7CisgICAgdHlwZWRlZiBUNiBpdGVtNjsKKyAgICB0eXBlZGVmIFQ3IGl0ZW03OworICAgIHR5cGVkZWYgVDggaXRlbTg7CisgICAgdHlwZWRlZiBUOSBpdGVtOTsKKyAgICB0eXBlZGVmIFQxMCBpdGVtMTA7CisgICAgdHlwZWRlZiBUMTEgaXRlbTExOworICAgIHR5cGVkZWYgVDEyIGl0ZW0xMjsKKyAgICB0eXBlZGVmIFQxMyBpdGVtMTM7CisgICAgdHlwZWRlZiBUMTQgaXRlbTE0OworICAgIHR5cGVkZWYgVDE1IGl0ZW0xNTsKKyAgICB0eXBlZGVmIFQxNiBpdGVtMTY7CisgICAgdHlwZWRlZiBUMTcgaXRlbTE3OworICAgIHR5cGVkZWYgVDE4IGl0ZW0xODsKKyAgICB0eXBlZGVmIFQxOSBpdGVtMTk7CisgICAgdHlwZWRlZiBUMjAgaXRlbTIwOworICAgIHR5cGVkZWYgVDIxIGl0ZW0yMTsKKyAgICB0eXBlZGVmIFQyMiBpdGVtMjI7CisgICAgdHlwZWRlZiBUMjMgaXRlbTIzOworICAgIHR5cGVkZWYgVDI0IGl0ZW0yNDsKKyAgICB0eXBlZGVmIFQyNSBpdGVtMjU7CisgICAgdHlwZWRlZiBUMjYgaXRlbTI2OworICAgIHR5cGVkZWYgVDI3IGl0ZW0yNzsKKyAgICB0eXBlZGVmIFQyOCBpdGVtMjg7CisgICAgdHlwZWRlZiBUMjkgaXRlbTI5OworICAgIHR5cGVkZWYgVDMwIGl0ZW0zMDsKKyAgICB0eXBlZGVmIFQzMSBpdGVtMzE7CisgICAgdHlwZWRlZiBUMzIgaXRlbTMyOworICAgIHR5cGVkZWYgVDMzIGl0ZW0zMzsKKyAgICB0eXBlZGVmIFQzNCBpdGVtMzQ7CisgICAgdHlwZWRlZiBUMzUgaXRlbTM1OworICAgIHR5cGVkZWYgVDM2IGl0ZW0zNjsKKyAgICAKKworICAgIHR5cGVkZWYgdm9pZF8gaXRlbTM3OworICAgIHR5cGVkZWYgVDM2IGJhY2s7CisgICAgdHlwZWRlZiB2X2l0ZXI8IHR5cGUsMCA+IGJlZ2luOworICAgIHR5cGVkZWYgdl9pdGVyPCB0eXBlLDM3ID4gZW5kOworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHB1c2hfZnJvbnRfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDM2PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciwgdHlwZW5hbWUgVCA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IzNzwKKyAgICAgICAgICAgICAgVAorICAgICAgICAgICAgICAsCisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMxCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzUKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHBvcF9mcm9udF9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8Mzc+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjM2PAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW03LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW04CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTksIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEwCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTExLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMywgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTQKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTUsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE2CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE3LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjAKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjEsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIyCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIzLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjYKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjcsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI4CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI5LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzIKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzMsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM0CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM1LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNgorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcHVzaF9iYWNrX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwzNj4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IsIHR5cGVuYW1lIFQgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yMzc8CisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMxCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzUKKyAgICAgICAgICAgICAgLAorICAgICAgICAgICAgICBUCisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwb3BfYmFja19pbXBsPCBhdXg6OnZlY3Rvcl90YWc8Mzc+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjM2PAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0wLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW02LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW03CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTExCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE4LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM1CisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK25hbWVzcGFjZSBhdXggewordGVtcGxhdGU8PiBzdHJ1Y3Qgdl9hdF9pbXBsPDM3PgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWXyA+IHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIFZfOjppdGVtMzcgdHlwZTsKKyAgICB9OworfTsKKworfQorCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgYXRfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDM3PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZfLCB0eXBlbmFtZSBOID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGF1eDo6dl9hdF9pbXBsPEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChOKTo6dmFsdWU+CisgICAgICAgICAgICA6OnRlbXBsYXRlIHJlc3VsdF88Vl8+Ojp0eXBlIHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBmcm9udF9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8Mzc+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGJhY2tfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDM3PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBWZWN0b3I6OmJhY2sgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGVtcHR5X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwzNz4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICAgICAgOiBmYWxzZV8KKyAgICB7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBzaXplX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwzNz4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICAgICAgOiBsb25nXzwzNz4KKyAgICB7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBPMV9zaXplX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwzNz4gPgorICAgIDogc2l6ZV9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8Mzc+ID4KK3sKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBjbGVhcl9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8Mzc+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjA8PiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAsIHR5cGVuYW1lIFQyMCwgdHlwZW5hbWUgVDIxLCB0eXBlbmFtZSBUMjIsIHR5cGVuYW1lIFQyMywgdHlwZW5hbWUgVDI0CisgICAgLCB0eXBlbmFtZSBUMjUsIHR5cGVuYW1lIFQyNiwgdHlwZW5hbWUgVDI3LCB0eXBlbmFtZSBUMjgsIHR5cGVuYW1lIFQyOQorICAgICwgdHlwZW5hbWUgVDMwLCB0eXBlbmFtZSBUMzEsIHR5cGVuYW1lIFQzMiwgdHlwZW5hbWUgVDMzLCB0eXBlbmFtZSBUMzQKKyAgICAsIHR5cGVuYW1lIFQzNSwgdHlwZW5hbWUgVDM2LCB0eXBlbmFtZSBUMzcKKyAgICA+CitzdHJ1Y3QgdmVjdG9yMzgKK3sKKyAgICB0eXBlZGVmIGF1eDo6dmVjdG9yX3RhZzwzOD4gdGFnOworICAgIHR5cGVkZWYgdmVjdG9yMzggdHlwZTsKKyAgICB0eXBlZGVmIFQwIGl0ZW0wOworICAgIHR5cGVkZWYgVDEgaXRlbTE7CisgICAgdHlwZWRlZiBUMiBpdGVtMjsKKyAgICB0eXBlZGVmIFQzIGl0ZW0zOworICAgIHR5cGVkZWYgVDQgaXRlbTQ7CisgICAgdHlwZWRlZiBUNSBpdGVtNTsKKyAgICB0eXBlZGVmIFQ2IGl0ZW02OworICAgIHR5cGVkZWYgVDcgaXRlbTc7CisgICAgdHlwZWRlZiBUOCBpdGVtODsKKyAgICB0eXBlZGVmIFQ5IGl0ZW05OworICAgIHR5cGVkZWYgVDEwIGl0ZW0xMDsKKyAgICB0eXBlZGVmIFQxMSBpdGVtMTE7CisgICAgdHlwZWRlZiBUMTIgaXRlbTEyOworICAgIHR5cGVkZWYgVDEzIGl0ZW0xMzsKKyAgICB0eXBlZGVmIFQxNCBpdGVtMTQ7CisgICAgdHlwZWRlZiBUMTUgaXRlbTE1OworICAgIHR5cGVkZWYgVDE2IGl0ZW0xNjsKKyAgICB0eXBlZGVmIFQxNyBpdGVtMTc7CisgICAgdHlwZWRlZiBUMTggaXRlbTE4OworICAgIHR5cGVkZWYgVDE5IGl0ZW0xOTsKKyAgICB0eXBlZGVmIFQyMCBpdGVtMjA7CisgICAgdHlwZWRlZiBUMjEgaXRlbTIxOworICAgIHR5cGVkZWYgVDIyIGl0ZW0yMjsKKyAgICB0eXBlZGVmIFQyMyBpdGVtMjM7CisgICAgdHlwZWRlZiBUMjQgaXRlbTI0OworICAgIHR5cGVkZWYgVDI1IGl0ZW0yNTsKKyAgICB0eXBlZGVmIFQyNiBpdGVtMjY7CisgICAgdHlwZWRlZiBUMjcgaXRlbTI3OworICAgIHR5cGVkZWYgVDI4IGl0ZW0yODsKKyAgICB0eXBlZGVmIFQyOSBpdGVtMjk7CisgICAgdHlwZWRlZiBUMzAgaXRlbTMwOworICAgIHR5cGVkZWYgVDMxIGl0ZW0zMTsKKyAgICB0eXBlZGVmIFQzMiBpdGVtMzI7CisgICAgdHlwZWRlZiBUMzMgaXRlbTMzOworICAgIHR5cGVkZWYgVDM0IGl0ZW0zNDsKKyAgICB0eXBlZGVmIFQzNSBpdGVtMzU7CisgICAgdHlwZWRlZiBUMzYgaXRlbTM2OworICAgIHR5cGVkZWYgVDM3IGl0ZW0zNzsKKyAgICAKKworICAgIHR5cGVkZWYgdm9pZF8gaXRlbTM4OworICAgIHR5cGVkZWYgVDM3IGJhY2s7CisgICAgdHlwZWRlZiB2X2l0ZXI8IHR5cGUsMCA+IGJlZ2luOworICAgIHR5cGVkZWYgdl9pdGVyPCB0eXBlLDM4ID4gZW5kOworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHB1c2hfZnJvbnRfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDM3PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciwgdHlwZW5hbWUgVCA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IzODwKKyAgICAgICAgICAgICAgVAorICAgICAgICAgICAgICAsCisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMxCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzYKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHBvcF9mcm9udF9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8Mzg+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjM3PAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW03LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW04CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTksIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEwCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTExLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMywgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTQKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTUsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE2CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE3LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjAKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjEsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIyCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIzLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjYKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjcsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI4CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI5LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzIKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzMsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM0CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM1LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNworICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcHVzaF9iYWNrX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwzNz4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IsIHR5cGVuYW1lIFQgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yMzg8CisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMxCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzYKKyAgICAgICAgICAgICAgLAorICAgICAgICAgICAgICBUCisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwb3BfYmFja19pbXBsPCBhdXg6OnZlY3Rvcl90YWc8Mzg+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjM3PAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0wLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW02LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW03CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTExCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE4LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM2CisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK25hbWVzcGFjZSBhdXggewordGVtcGxhdGU8PiBzdHJ1Y3Qgdl9hdF9pbXBsPDM4PgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWXyA+IHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIFZfOjppdGVtMzggdHlwZTsKKyAgICB9OworfTsKKworfQorCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgYXRfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDM4PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZfLCB0eXBlbmFtZSBOID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGF1eDo6dl9hdF9pbXBsPEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChOKTo6dmFsdWU+CisgICAgICAgICAgICA6OnRlbXBsYXRlIHJlc3VsdF88Vl8+Ojp0eXBlIHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBmcm9udF9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8Mzg+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGJhY2tfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDM4PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBWZWN0b3I6OmJhY2sgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGVtcHR5X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwzOD4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICAgICAgOiBmYWxzZV8KKyAgICB7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBzaXplX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwzOD4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICAgICAgOiBsb25nXzwzOD4KKyAgICB7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBPMV9zaXplX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwzOD4gPgorICAgIDogc2l6ZV9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8Mzg+ID4KK3sKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBjbGVhcl9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8Mzg+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjA8PiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAsIHR5cGVuYW1lIFQyMCwgdHlwZW5hbWUgVDIxLCB0eXBlbmFtZSBUMjIsIHR5cGVuYW1lIFQyMywgdHlwZW5hbWUgVDI0CisgICAgLCB0eXBlbmFtZSBUMjUsIHR5cGVuYW1lIFQyNiwgdHlwZW5hbWUgVDI3LCB0eXBlbmFtZSBUMjgsIHR5cGVuYW1lIFQyOQorICAgICwgdHlwZW5hbWUgVDMwLCB0eXBlbmFtZSBUMzEsIHR5cGVuYW1lIFQzMiwgdHlwZW5hbWUgVDMzLCB0eXBlbmFtZSBUMzQKKyAgICAsIHR5cGVuYW1lIFQzNSwgdHlwZW5hbWUgVDM2LCB0eXBlbmFtZSBUMzcsIHR5cGVuYW1lIFQzOAorICAgID4KK3N0cnVjdCB2ZWN0b3IzOQoreworICAgIHR5cGVkZWYgYXV4Ojp2ZWN0b3JfdGFnPDM5PiB0YWc7CisgICAgdHlwZWRlZiB2ZWN0b3IzOSB0eXBlOworICAgIHR5cGVkZWYgVDAgaXRlbTA7CisgICAgdHlwZWRlZiBUMSBpdGVtMTsKKyAgICB0eXBlZGVmIFQyIGl0ZW0yOworICAgIHR5cGVkZWYgVDMgaXRlbTM7CisgICAgdHlwZWRlZiBUNCBpdGVtNDsKKyAgICB0eXBlZGVmIFQ1IGl0ZW01OworICAgIHR5cGVkZWYgVDYgaXRlbTY7CisgICAgdHlwZWRlZiBUNyBpdGVtNzsKKyAgICB0eXBlZGVmIFQ4IGl0ZW04OworICAgIHR5cGVkZWYgVDkgaXRlbTk7CisgICAgdHlwZWRlZiBUMTAgaXRlbTEwOworICAgIHR5cGVkZWYgVDExIGl0ZW0xMTsKKyAgICB0eXBlZGVmIFQxMiBpdGVtMTI7CisgICAgdHlwZWRlZiBUMTMgaXRlbTEzOworICAgIHR5cGVkZWYgVDE0IGl0ZW0xNDsKKyAgICB0eXBlZGVmIFQxNSBpdGVtMTU7CisgICAgdHlwZWRlZiBUMTYgaXRlbTE2OworICAgIHR5cGVkZWYgVDE3IGl0ZW0xNzsKKyAgICB0eXBlZGVmIFQxOCBpdGVtMTg7CisgICAgdHlwZWRlZiBUMTkgaXRlbTE5OworICAgIHR5cGVkZWYgVDIwIGl0ZW0yMDsKKyAgICB0eXBlZGVmIFQyMSBpdGVtMjE7CisgICAgdHlwZWRlZiBUMjIgaXRlbTIyOworICAgIHR5cGVkZWYgVDIzIGl0ZW0yMzsKKyAgICB0eXBlZGVmIFQyNCBpdGVtMjQ7CisgICAgdHlwZWRlZiBUMjUgaXRlbTI1OworICAgIHR5cGVkZWYgVDI2IGl0ZW0yNjsKKyAgICB0eXBlZGVmIFQyNyBpdGVtMjc7CisgICAgdHlwZWRlZiBUMjggaXRlbTI4OworICAgIHR5cGVkZWYgVDI5IGl0ZW0yOTsKKyAgICB0eXBlZGVmIFQzMCBpdGVtMzA7CisgICAgdHlwZWRlZiBUMzEgaXRlbTMxOworICAgIHR5cGVkZWYgVDMyIGl0ZW0zMjsKKyAgICB0eXBlZGVmIFQzMyBpdGVtMzM7CisgICAgdHlwZWRlZiBUMzQgaXRlbTM0OworICAgIHR5cGVkZWYgVDM1IGl0ZW0zNTsKKyAgICB0eXBlZGVmIFQzNiBpdGVtMzY7CisgICAgdHlwZWRlZiBUMzcgaXRlbTM3OworICAgIHR5cGVkZWYgVDM4IGl0ZW0zODsKKyAgICAKKworICAgIHR5cGVkZWYgdm9pZF8gaXRlbTM5OworICAgIHR5cGVkZWYgVDM4IGJhY2s7CisgICAgdHlwZWRlZiB2X2l0ZXI8IHR5cGUsMCA+IGJlZ2luOworICAgIHR5cGVkZWYgdl9pdGVyPCB0eXBlLDM5ID4gZW5kOworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHB1c2hfZnJvbnRfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDM4PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciwgdHlwZW5hbWUgVCA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IzOTwKKyAgICAgICAgICAgICAgVAorICAgICAgICAgICAgICAsCisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMxCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM3CisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwb3BfZnJvbnRfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDM5PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IzODwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNywgdHlwZW5hbWUgVmVjdG9yOjppdGVtOAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW05LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTIKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTMsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE0CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE1LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNywgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTgKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTksIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIwCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIxLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMywgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjQKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjUsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI2CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI3LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yOAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yOSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzAKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzEsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMyCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMzLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzYKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzcsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM4CisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwdXNoX2JhY2tfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDM4PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciwgdHlwZW5hbWUgVCA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IzOTwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW04LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW05CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIxCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI4LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzcKKyAgICAgICAgICAgICAgLAorICAgICAgICAgICAgICBUCisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwb3BfYmFja19pbXBsPCBhdXg6OnZlY3Rvcl90YWc8Mzk+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjM4PAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0wLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW02LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW03CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTExCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE4LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNworICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCituYW1lc3BhY2UgYXV4IHsKK3RlbXBsYXRlPD4gc3RydWN0IHZfYXRfaW1wbDwzOT4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVl8gPiBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBWXzo6aXRlbTM5IHR5cGU7CisgICAgfTsKK307CisKK30KKwordGVtcGxhdGU8Pgorc3RydWN0IGF0X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwzOT4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWXywgdHlwZW5hbWUgTiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhdXg6OnZfYXRfaW1wbDxCT09TVF9NUExfQVVYX1ZBTFVFX1dLTkQoTik6OnZhbHVlPgorICAgICAgICAgICAgOjp0ZW1wbGF0ZSByZXN1bHRfPFZfPjo6dHlwZSB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgZnJvbnRfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDM5PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0wIHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBiYWNrX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwzOT4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgVmVjdG9yOjpiYWNrIHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBlbXB0eV9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8Mzk+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgICAgIDogZmFsc2VfCisgICAgeworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3Qgc2l6ZV9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8Mzk+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgICAgIDogbG9uZ188Mzk+CisgICAgeworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgTzFfc2l6ZV9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8Mzk+ID4KKyAgICA6IHNpemVfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDM5PiA+Cit7Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgY2xlYXJfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDM5PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IwPD4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgLCB0eXBlbmFtZSBUMjAsIHR5cGVuYW1lIFQyMSwgdHlwZW5hbWUgVDIyLCB0eXBlbmFtZSBUMjMsIHR5cGVuYW1lIFQyNAorICAgICwgdHlwZW5hbWUgVDI1LCB0eXBlbmFtZSBUMjYsIHR5cGVuYW1lIFQyNywgdHlwZW5hbWUgVDI4LCB0eXBlbmFtZSBUMjkKKyAgICAsIHR5cGVuYW1lIFQzMCwgdHlwZW5hbWUgVDMxLCB0eXBlbmFtZSBUMzIsIHR5cGVuYW1lIFQzMywgdHlwZW5hbWUgVDM0CisgICAgLCB0eXBlbmFtZSBUMzUsIHR5cGVuYW1lIFQzNiwgdHlwZW5hbWUgVDM3LCB0eXBlbmFtZSBUMzgsIHR5cGVuYW1lIFQzOQorICAgID4KK3N0cnVjdCB2ZWN0b3I0MAoreworICAgIHR5cGVkZWYgYXV4Ojp2ZWN0b3JfdGFnPDQwPiB0YWc7CisgICAgdHlwZWRlZiB2ZWN0b3I0MCB0eXBlOworICAgIHR5cGVkZWYgVDAgaXRlbTA7CisgICAgdHlwZWRlZiBUMSBpdGVtMTsKKyAgICB0eXBlZGVmIFQyIGl0ZW0yOworICAgIHR5cGVkZWYgVDMgaXRlbTM7CisgICAgdHlwZWRlZiBUNCBpdGVtNDsKKyAgICB0eXBlZGVmIFQ1IGl0ZW01OworICAgIHR5cGVkZWYgVDYgaXRlbTY7CisgICAgdHlwZWRlZiBUNyBpdGVtNzsKKyAgICB0eXBlZGVmIFQ4IGl0ZW04OworICAgIHR5cGVkZWYgVDkgaXRlbTk7CisgICAgdHlwZWRlZiBUMTAgaXRlbTEwOworICAgIHR5cGVkZWYgVDExIGl0ZW0xMTsKKyAgICB0eXBlZGVmIFQxMiBpdGVtMTI7CisgICAgdHlwZWRlZiBUMTMgaXRlbTEzOworICAgIHR5cGVkZWYgVDE0IGl0ZW0xNDsKKyAgICB0eXBlZGVmIFQxNSBpdGVtMTU7CisgICAgdHlwZWRlZiBUMTYgaXRlbTE2OworICAgIHR5cGVkZWYgVDE3IGl0ZW0xNzsKKyAgICB0eXBlZGVmIFQxOCBpdGVtMTg7CisgICAgdHlwZWRlZiBUMTkgaXRlbTE5OworICAgIHR5cGVkZWYgVDIwIGl0ZW0yMDsKKyAgICB0eXBlZGVmIFQyMSBpdGVtMjE7CisgICAgdHlwZWRlZiBUMjIgaXRlbTIyOworICAgIHR5cGVkZWYgVDIzIGl0ZW0yMzsKKyAgICB0eXBlZGVmIFQyNCBpdGVtMjQ7CisgICAgdHlwZWRlZiBUMjUgaXRlbTI1OworICAgIHR5cGVkZWYgVDI2IGl0ZW0yNjsKKyAgICB0eXBlZGVmIFQyNyBpdGVtMjc7CisgICAgdHlwZWRlZiBUMjggaXRlbTI4OworICAgIHR5cGVkZWYgVDI5IGl0ZW0yOTsKKyAgICB0eXBlZGVmIFQzMCBpdGVtMzA7CisgICAgdHlwZWRlZiBUMzEgaXRlbTMxOworICAgIHR5cGVkZWYgVDMyIGl0ZW0zMjsKKyAgICB0eXBlZGVmIFQzMyBpdGVtMzM7CisgICAgdHlwZWRlZiBUMzQgaXRlbTM0OworICAgIHR5cGVkZWYgVDM1IGl0ZW0zNTsKKyAgICB0eXBlZGVmIFQzNiBpdGVtMzY7CisgICAgdHlwZWRlZiBUMzcgaXRlbTM3OworICAgIHR5cGVkZWYgVDM4IGl0ZW0zODsKKyAgICB0eXBlZGVmIFQzOSBpdGVtMzk7CisgICAgCisKKyAgICB0eXBlZGVmIHZvaWRfIGl0ZW00MDsKKyAgICB0eXBlZGVmIFQzOSBiYWNrOworICAgIHR5cGVkZWYgdl9pdGVyPCB0eXBlLDAgPiBiZWdpbjsKKyAgICB0eXBlZGVmIHZfaXRlcjwgdHlwZSw0MCA+IGVuZDsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwdXNoX2Zyb250X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwzOT4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IsIHR5cGVuYW1lIFQgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yNDA8CisgICAgICAgICAgICAgIFQKKyAgICAgICAgICAgICAgLAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0wLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW02LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW03CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTExCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE4LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zOAorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcG9wX2Zyb250X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzw0MD4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yMzk8CisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMywgdHlwZW5hbWUgVmVjdG9yOjppdGVtNAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW02CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTgKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTAKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTEsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEyCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEzLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTYKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTcsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE4CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE5LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjIKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjMsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI0CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI1LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNywgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjgKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjksIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMwCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMxLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMywgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzQKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzUsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM2CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM3LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zOAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zOQorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcHVzaF9iYWNrX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwzOT4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IsIHR5cGVuYW1lIFQgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yNDA8CisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMxCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM4CisgICAgICAgICAgICAgICwKKyAgICAgICAgICAgICAgVAorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcG9wX2JhY2tfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDQwPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IzOTwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW04LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW05CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIxCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI4LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzgKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKworbmFtZXNwYWNlIGF1eCB7Cit0ZW1wbGF0ZTw+IHN0cnVjdCB2X2F0X2ltcGw8NDA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZfID4gc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgVl86Oml0ZW00MCB0eXBlOworICAgIH07Cit9OworCit9CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBhdF9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8NDA+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVl8sIHR5cGVuYW1lIE4gPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXV4Ojp2X2F0X2ltcGw8Qk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4pOjp2YWx1ZT4KKyAgICAgICAgICAgIDo6dGVtcGxhdGUgcmVzdWx0XzxWXz46OnR5cGUgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGZyb250X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzw0MD4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgYmFja19pbXBsPCBhdXg6OnZlY3Rvcl90YWc8NDA+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIFZlY3Rvcjo6YmFjayB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgZW1wdHlfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDQwPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgICAgICA6IGZhbHNlXworICAgIHsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHNpemVfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDQwPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgICAgICA6IGxvbmdfPDQwPgorICAgIHsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IE8xX3NpemVfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDQwPiA+CisgICAgOiBzaXplX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzw0MD4gPgoreworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGNsZWFyX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzw0MD4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yMDw+IHR5cGU7CisgICAgfTsKK307CisKK319CmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvdmVjdG9yL2F1eF8vcHJlcHJvY2Vzc2VkL25vX2N0cHMvdmVjdG9yNDBfYy5ocHAgYi9uZG5ib29zdC9tcGwvdmVjdG9yL2F1eF8vcHJlcHJvY2Vzc2VkL25vX2N0cHMvdmVjdG9yNDBfYy5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDVkNjJkMwotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC92ZWN0b3IvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fY3Rwcy92ZWN0b3I0MF9jLmhwcApAQCAtMCwwICsxLDI4MSBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvdmVjdG9yL3ZlY3RvcjQwX2MuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVAorICAgICwgVCBDMCwgVCBDMSwgVCBDMiwgVCBDMywgVCBDNCwgVCBDNSwgVCBDNiwgVCBDNywgVCBDOCwgVCBDOSwgVCBDMTAKKyAgICAsIFQgQzExLCBUIEMxMiwgVCBDMTMsIFQgQzE0LCBUIEMxNSwgVCBDMTYsIFQgQzE3LCBUIEMxOCwgVCBDMTksIFQgQzIwCisgICAgLCBUIEMyMSwgVCBDMjIsIFQgQzIzLCBUIEMyNCwgVCBDMjUsIFQgQzI2LCBUIEMyNywgVCBDMjgsIFQgQzI5LCBUIEMzMAorICAgID4KK3N0cnVjdCB2ZWN0b3IzMV9jCisgICAgOiB2ZWN0b3IzMTwKKyAgICAgICAgICBpbnRlZ3JhbF9jPCBULEMwID4sIGludGVncmFsX2M8IFQsQzEgPiwgaW50ZWdyYWxfYzwgVCxDMiA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMyA+LCBpbnRlZ3JhbF9jPCBULEM0ID4sIGludGVncmFsX2M8IFQsQzUgPiwgaW50ZWdyYWxfYzwgVCxDNiA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDNyA+LCBpbnRlZ3JhbF9jPCBULEM4ID4sIGludGVncmFsX2M8IFQsQzkgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzEwID4sIGludGVncmFsX2M8IFQsQzExID4sIGludGVncmFsX2M8IFQsQzEyID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMxMyA+LCBpbnRlZ3JhbF9jPCBULEMxNCA+LCBpbnRlZ3JhbF9jPCBULEMxNSA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMTYgPiwgaW50ZWdyYWxfYzwgVCxDMTcgPiwgaW50ZWdyYWxfYzwgVCxDMTggPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzE5ID4sIGludGVncmFsX2M8IFQsQzIwID4sIGludGVncmFsX2M8IFQsQzIxID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMyMiA+LCBpbnRlZ3JhbF9jPCBULEMyMyA+LCBpbnRlZ3JhbF9jPCBULEMyNCA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMjUgPiwgaW50ZWdyYWxfYzwgVCxDMjYgPiwgaW50ZWdyYWxfYzwgVCxDMjcgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzI4ID4sIGludGVncmFsX2M8IFQsQzI5ID4sIGludGVncmFsX2M8IFQsQzMwID4gCisgPgoreworICAgIHR5cGVkZWYgdmVjdG9yMzFfYyB0eXBlOworICAgIHR5cGVkZWYgVCB2YWx1ZV90eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUCisgICAgLCBUIEMwLCBUIEMxLCBUIEMyLCBUIEMzLCBUIEM0LCBUIEM1LCBUIEM2LCBUIEM3LCBUIEM4LCBUIEM5LCBUIEMxMAorICAgICwgVCBDMTEsIFQgQzEyLCBUIEMxMywgVCBDMTQsIFQgQzE1LCBUIEMxNiwgVCBDMTcsIFQgQzE4LCBUIEMxOSwgVCBDMjAKKyAgICAsIFQgQzIxLCBUIEMyMiwgVCBDMjMsIFQgQzI0LCBUIEMyNSwgVCBDMjYsIFQgQzI3LCBUIEMyOCwgVCBDMjksIFQgQzMwCisgICAgLCBUIEMzMQorICAgID4KK3N0cnVjdCB2ZWN0b3IzMl9jCisgICAgOiB2ZWN0b3IzMjwKKyAgICAgICAgICBpbnRlZ3JhbF9jPCBULEMwID4sIGludGVncmFsX2M8IFQsQzEgPiwgaW50ZWdyYWxfYzwgVCxDMiA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMyA+LCBpbnRlZ3JhbF9jPCBULEM0ID4sIGludGVncmFsX2M8IFQsQzUgPiwgaW50ZWdyYWxfYzwgVCxDNiA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDNyA+LCBpbnRlZ3JhbF9jPCBULEM4ID4sIGludGVncmFsX2M8IFQsQzkgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzEwID4sIGludGVncmFsX2M8IFQsQzExID4sIGludGVncmFsX2M8IFQsQzEyID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMxMyA+LCBpbnRlZ3JhbF9jPCBULEMxNCA+LCBpbnRlZ3JhbF9jPCBULEMxNSA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMTYgPiwgaW50ZWdyYWxfYzwgVCxDMTcgPiwgaW50ZWdyYWxfYzwgVCxDMTggPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzE5ID4sIGludGVncmFsX2M8IFQsQzIwID4sIGludGVncmFsX2M8IFQsQzIxID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMyMiA+LCBpbnRlZ3JhbF9jPCBULEMyMyA+LCBpbnRlZ3JhbF9jPCBULEMyNCA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMjUgPiwgaW50ZWdyYWxfYzwgVCxDMjYgPiwgaW50ZWdyYWxfYzwgVCxDMjcgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzI4ID4sIGludGVncmFsX2M8IFQsQzI5ID4sIGludGVncmFsX2M8IFQsQzMwID4sIGludGVncmFsX2M8VAorICAgICAgICAsIEMzMT4gCisgPgoreworICAgIHR5cGVkZWYgdmVjdG9yMzJfYyB0eXBlOworICAgIHR5cGVkZWYgVCB2YWx1ZV90eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUCisgICAgLCBUIEMwLCBUIEMxLCBUIEMyLCBUIEMzLCBUIEM0LCBUIEM1LCBUIEM2LCBUIEM3LCBUIEM4LCBUIEM5LCBUIEMxMAorICAgICwgVCBDMTEsIFQgQzEyLCBUIEMxMywgVCBDMTQsIFQgQzE1LCBUIEMxNiwgVCBDMTcsIFQgQzE4LCBUIEMxOSwgVCBDMjAKKyAgICAsIFQgQzIxLCBUIEMyMiwgVCBDMjMsIFQgQzI0LCBUIEMyNSwgVCBDMjYsIFQgQzI3LCBUIEMyOCwgVCBDMjksIFQgQzMwCisgICAgLCBUIEMzMSwgVCBDMzIKKyAgICA+CitzdHJ1Y3QgdmVjdG9yMzNfYworICAgIDogdmVjdG9yMzM8CisgICAgICAgICAgaW50ZWdyYWxfYzwgVCxDMCA+LCBpbnRlZ3JhbF9jPCBULEMxID4sIGludGVncmFsX2M8IFQsQzIgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzMgPiwgaW50ZWdyYWxfYzwgVCxDNCA+LCBpbnRlZ3JhbF9jPCBULEM1ID4sIGludGVncmFsX2M8IFQsQzYgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzcgPiwgaW50ZWdyYWxfYzwgVCxDOCA+LCBpbnRlZ3JhbF9jPCBULEM5ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMxMCA+LCBpbnRlZ3JhbF9jPCBULEMxMSA+LCBpbnRlZ3JhbF9jPCBULEMxMiA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMTMgPiwgaW50ZWdyYWxfYzwgVCxDMTQgPiwgaW50ZWdyYWxfYzwgVCxDMTUgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzE2ID4sIGludGVncmFsX2M8IFQsQzE3ID4sIGludGVncmFsX2M8IFQsQzE4ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMxOSA+LCBpbnRlZ3JhbF9jPCBULEMyMCA+LCBpbnRlZ3JhbF9jPCBULEMyMSA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMjIgPiwgaW50ZWdyYWxfYzwgVCxDMjMgPiwgaW50ZWdyYWxfYzwgVCxDMjQgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzI1ID4sIGludGVncmFsX2M8IFQsQzI2ID4sIGludGVncmFsX2M8IFQsQzI3ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMyOCA+LCBpbnRlZ3JhbF9jPCBULEMyOSA+LCBpbnRlZ3JhbF9jPCBULEMzMCA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMzEgPiwgaW50ZWdyYWxfYzwgVCxDMzIgPiAKKyA+Cit7CisgICAgdHlwZWRlZiB2ZWN0b3IzM19jIHR5cGU7CisgICAgdHlwZWRlZiBUIHZhbHVlX3R5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQKKyAgICAsIFQgQzAsIFQgQzEsIFQgQzIsIFQgQzMsIFQgQzQsIFQgQzUsIFQgQzYsIFQgQzcsIFQgQzgsIFQgQzksIFQgQzEwCisgICAgLCBUIEMxMSwgVCBDMTIsIFQgQzEzLCBUIEMxNCwgVCBDMTUsIFQgQzE2LCBUIEMxNywgVCBDMTgsIFQgQzE5LCBUIEMyMAorICAgICwgVCBDMjEsIFQgQzIyLCBUIEMyMywgVCBDMjQsIFQgQzI1LCBUIEMyNiwgVCBDMjcsIFQgQzI4LCBUIEMyOSwgVCBDMzAKKyAgICAsIFQgQzMxLCBUIEMzMiwgVCBDMzMKKyAgICA+CitzdHJ1Y3QgdmVjdG9yMzRfYworICAgIDogdmVjdG9yMzQ8CisgICAgICAgICAgaW50ZWdyYWxfYzwgVCxDMCA+LCBpbnRlZ3JhbF9jPCBULEMxID4sIGludGVncmFsX2M8IFQsQzIgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzMgPiwgaW50ZWdyYWxfYzwgVCxDNCA+LCBpbnRlZ3JhbF9jPCBULEM1ID4sIGludGVncmFsX2M8IFQsQzYgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzcgPiwgaW50ZWdyYWxfYzwgVCxDOCA+LCBpbnRlZ3JhbF9jPCBULEM5ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMxMCA+LCBpbnRlZ3JhbF9jPCBULEMxMSA+LCBpbnRlZ3JhbF9jPCBULEMxMiA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMTMgPiwgaW50ZWdyYWxfYzwgVCxDMTQgPiwgaW50ZWdyYWxfYzwgVCxDMTUgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzE2ID4sIGludGVncmFsX2M8IFQsQzE3ID4sIGludGVncmFsX2M8IFQsQzE4ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMxOSA+LCBpbnRlZ3JhbF9jPCBULEMyMCA+LCBpbnRlZ3JhbF9jPCBULEMyMSA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMjIgPiwgaW50ZWdyYWxfYzwgVCxDMjMgPiwgaW50ZWdyYWxfYzwgVCxDMjQgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzI1ID4sIGludGVncmFsX2M8IFQsQzI2ID4sIGludGVncmFsX2M8IFQsQzI3ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMyOCA+LCBpbnRlZ3JhbF9jPCBULEMyOSA+LCBpbnRlZ3JhbF9jPCBULEMzMCA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMzEgPiwgaW50ZWdyYWxfYzwgVCxDMzIgPiwgaW50ZWdyYWxfYzwgVCxDMzMgPiAKKyA+Cit7CisgICAgdHlwZWRlZiB2ZWN0b3IzNF9jIHR5cGU7CisgICAgdHlwZWRlZiBUIHZhbHVlX3R5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQKKyAgICAsIFQgQzAsIFQgQzEsIFQgQzIsIFQgQzMsIFQgQzQsIFQgQzUsIFQgQzYsIFQgQzcsIFQgQzgsIFQgQzksIFQgQzEwCisgICAgLCBUIEMxMSwgVCBDMTIsIFQgQzEzLCBUIEMxNCwgVCBDMTUsIFQgQzE2LCBUIEMxNywgVCBDMTgsIFQgQzE5LCBUIEMyMAorICAgICwgVCBDMjEsIFQgQzIyLCBUIEMyMywgVCBDMjQsIFQgQzI1LCBUIEMyNiwgVCBDMjcsIFQgQzI4LCBUIEMyOSwgVCBDMzAKKyAgICAsIFQgQzMxLCBUIEMzMiwgVCBDMzMsIFQgQzM0CisgICAgPgorc3RydWN0IHZlY3RvcjM1X2MKKyAgICA6IHZlY3RvcjM1PAorICAgICAgICAgIGludGVncmFsX2M8IFQsQzAgPiwgaW50ZWdyYWxfYzwgVCxDMSA+LCBpbnRlZ3JhbF9jPCBULEMyID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMzID4sIGludGVncmFsX2M8IFQsQzQgPiwgaW50ZWdyYWxfYzwgVCxDNSA+LCBpbnRlZ3JhbF9jPCBULEM2ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEM3ID4sIGludGVncmFsX2M8IFQsQzggPiwgaW50ZWdyYWxfYzwgVCxDOSA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMTAgPiwgaW50ZWdyYWxfYzwgVCxDMTEgPiwgaW50ZWdyYWxfYzwgVCxDMTIgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzEzID4sIGludGVncmFsX2M8IFQsQzE0ID4sIGludGVncmFsX2M8IFQsQzE1ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMxNiA+LCBpbnRlZ3JhbF9jPCBULEMxNyA+LCBpbnRlZ3JhbF9jPCBULEMxOCA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMTkgPiwgaW50ZWdyYWxfYzwgVCxDMjAgPiwgaW50ZWdyYWxfYzwgVCxDMjEgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzIyID4sIGludGVncmFsX2M8IFQsQzIzID4sIGludGVncmFsX2M8IFQsQzI0ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMyNSA+LCBpbnRlZ3JhbF9jPCBULEMyNiA+LCBpbnRlZ3JhbF9jPCBULEMyNyA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMjggPiwgaW50ZWdyYWxfYzwgVCxDMjkgPiwgaW50ZWdyYWxfYzwgVCxDMzAgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzMxID4sIGludGVncmFsX2M8IFQsQzMyID4sIGludGVncmFsX2M8IFQsQzMzID4sIGludGVncmFsX2M8VAorICAgICAgICAsIEMzND4gCisgPgoreworICAgIHR5cGVkZWYgdmVjdG9yMzVfYyB0eXBlOworICAgIHR5cGVkZWYgVCB2YWx1ZV90eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUCisgICAgLCBUIEMwLCBUIEMxLCBUIEMyLCBUIEMzLCBUIEM0LCBUIEM1LCBUIEM2LCBUIEM3LCBUIEM4LCBUIEM5LCBUIEMxMAorICAgICwgVCBDMTEsIFQgQzEyLCBUIEMxMywgVCBDMTQsIFQgQzE1LCBUIEMxNiwgVCBDMTcsIFQgQzE4LCBUIEMxOSwgVCBDMjAKKyAgICAsIFQgQzIxLCBUIEMyMiwgVCBDMjMsIFQgQzI0LCBUIEMyNSwgVCBDMjYsIFQgQzI3LCBUIEMyOCwgVCBDMjksIFQgQzMwCisgICAgLCBUIEMzMSwgVCBDMzIsIFQgQzMzLCBUIEMzNCwgVCBDMzUKKyAgICA+CitzdHJ1Y3QgdmVjdG9yMzZfYworICAgIDogdmVjdG9yMzY8CisgICAgICAgICAgaW50ZWdyYWxfYzwgVCxDMCA+LCBpbnRlZ3JhbF9jPCBULEMxID4sIGludGVncmFsX2M8IFQsQzIgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzMgPiwgaW50ZWdyYWxfYzwgVCxDNCA+LCBpbnRlZ3JhbF9jPCBULEM1ID4sIGludGVncmFsX2M8IFQsQzYgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzcgPiwgaW50ZWdyYWxfYzwgVCxDOCA+LCBpbnRlZ3JhbF9jPCBULEM5ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMxMCA+LCBpbnRlZ3JhbF9jPCBULEMxMSA+LCBpbnRlZ3JhbF9jPCBULEMxMiA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMTMgPiwgaW50ZWdyYWxfYzwgVCxDMTQgPiwgaW50ZWdyYWxfYzwgVCxDMTUgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzE2ID4sIGludGVncmFsX2M8IFQsQzE3ID4sIGludGVncmFsX2M8IFQsQzE4ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMxOSA+LCBpbnRlZ3JhbF9jPCBULEMyMCA+LCBpbnRlZ3JhbF9jPCBULEMyMSA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMjIgPiwgaW50ZWdyYWxfYzwgVCxDMjMgPiwgaW50ZWdyYWxfYzwgVCxDMjQgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzI1ID4sIGludGVncmFsX2M8IFQsQzI2ID4sIGludGVncmFsX2M8IFQsQzI3ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMyOCA+LCBpbnRlZ3JhbF9jPCBULEMyOSA+LCBpbnRlZ3JhbF9jPCBULEMzMCA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMzEgPiwgaW50ZWdyYWxfYzwgVCxDMzIgPiwgaW50ZWdyYWxfYzwgVCxDMzMgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzM0ID4sIGludGVncmFsX2M8IFQsQzM1ID4gCisgPgoreworICAgIHR5cGVkZWYgdmVjdG9yMzZfYyB0eXBlOworICAgIHR5cGVkZWYgVCB2YWx1ZV90eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUCisgICAgLCBUIEMwLCBUIEMxLCBUIEMyLCBUIEMzLCBUIEM0LCBUIEM1LCBUIEM2LCBUIEM3LCBUIEM4LCBUIEM5LCBUIEMxMAorICAgICwgVCBDMTEsIFQgQzEyLCBUIEMxMywgVCBDMTQsIFQgQzE1LCBUIEMxNiwgVCBDMTcsIFQgQzE4LCBUIEMxOSwgVCBDMjAKKyAgICAsIFQgQzIxLCBUIEMyMiwgVCBDMjMsIFQgQzI0LCBUIEMyNSwgVCBDMjYsIFQgQzI3LCBUIEMyOCwgVCBDMjksIFQgQzMwCisgICAgLCBUIEMzMSwgVCBDMzIsIFQgQzMzLCBUIEMzNCwgVCBDMzUsIFQgQzM2CisgICAgPgorc3RydWN0IHZlY3RvcjM3X2MKKyAgICA6IHZlY3RvcjM3PAorICAgICAgICAgIGludGVncmFsX2M8IFQsQzAgPiwgaW50ZWdyYWxfYzwgVCxDMSA+LCBpbnRlZ3JhbF9jPCBULEMyID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMzID4sIGludGVncmFsX2M8IFQsQzQgPiwgaW50ZWdyYWxfYzwgVCxDNSA+LCBpbnRlZ3JhbF9jPCBULEM2ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEM3ID4sIGludGVncmFsX2M8IFQsQzggPiwgaW50ZWdyYWxfYzwgVCxDOSA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMTAgPiwgaW50ZWdyYWxfYzwgVCxDMTEgPiwgaW50ZWdyYWxfYzwgVCxDMTIgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzEzID4sIGludGVncmFsX2M8IFQsQzE0ID4sIGludGVncmFsX2M8IFQsQzE1ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMxNiA+LCBpbnRlZ3JhbF9jPCBULEMxNyA+LCBpbnRlZ3JhbF9jPCBULEMxOCA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMTkgPiwgaW50ZWdyYWxfYzwgVCxDMjAgPiwgaW50ZWdyYWxfYzwgVCxDMjEgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzIyID4sIGludGVncmFsX2M8IFQsQzIzID4sIGludGVncmFsX2M8IFQsQzI0ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMyNSA+LCBpbnRlZ3JhbF9jPCBULEMyNiA+LCBpbnRlZ3JhbF9jPCBULEMyNyA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMjggPiwgaW50ZWdyYWxfYzwgVCxDMjkgPiwgaW50ZWdyYWxfYzwgVCxDMzAgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzMxID4sIGludGVncmFsX2M8IFQsQzMyID4sIGludGVncmFsX2M8IFQsQzMzID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMzNCA+LCBpbnRlZ3JhbF9jPCBULEMzNSA+LCBpbnRlZ3JhbF9jPCBULEMzNiA+IAorID4KK3sKKyAgICB0eXBlZGVmIHZlY3RvcjM3X2MgdHlwZTsKKyAgICB0eXBlZGVmIFQgdmFsdWVfdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVAorICAgICwgVCBDMCwgVCBDMSwgVCBDMiwgVCBDMywgVCBDNCwgVCBDNSwgVCBDNiwgVCBDNywgVCBDOCwgVCBDOSwgVCBDMTAKKyAgICAsIFQgQzExLCBUIEMxMiwgVCBDMTMsIFQgQzE0LCBUIEMxNSwgVCBDMTYsIFQgQzE3LCBUIEMxOCwgVCBDMTksIFQgQzIwCisgICAgLCBUIEMyMSwgVCBDMjIsIFQgQzIzLCBUIEMyNCwgVCBDMjUsIFQgQzI2LCBUIEMyNywgVCBDMjgsIFQgQzI5LCBUIEMzMAorICAgICwgVCBDMzEsIFQgQzMyLCBUIEMzMywgVCBDMzQsIFQgQzM1LCBUIEMzNiwgVCBDMzcKKyAgICA+CitzdHJ1Y3QgdmVjdG9yMzhfYworICAgIDogdmVjdG9yMzg8CisgICAgICAgICAgaW50ZWdyYWxfYzwgVCxDMCA+LCBpbnRlZ3JhbF9jPCBULEMxID4sIGludGVncmFsX2M8IFQsQzIgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzMgPiwgaW50ZWdyYWxfYzwgVCxDNCA+LCBpbnRlZ3JhbF9jPCBULEM1ID4sIGludGVncmFsX2M8IFQsQzYgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzcgPiwgaW50ZWdyYWxfYzwgVCxDOCA+LCBpbnRlZ3JhbF9jPCBULEM5ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMxMCA+LCBpbnRlZ3JhbF9jPCBULEMxMSA+LCBpbnRlZ3JhbF9jPCBULEMxMiA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMTMgPiwgaW50ZWdyYWxfYzwgVCxDMTQgPiwgaW50ZWdyYWxfYzwgVCxDMTUgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzE2ID4sIGludGVncmFsX2M8IFQsQzE3ID4sIGludGVncmFsX2M8IFQsQzE4ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMxOSA+LCBpbnRlZ3JhbF9jPCBULEMyMCA+LCBpbnRlZ3JhbF9jPCBULEMyMSA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMjIgPiwgaW50ZWdyYWxfYzwgVCxDMjMgPiwgaW50ZWdyYWxfYzwgVCxDMjQgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzI1ID4sIGludGVncmFsX2M8IFQsQzI2ID4sIGludGVncmFsX2M8IFQsQzI3ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMyOCA+LCBpbnRlZ3JhbF9jPCBULEMyOSA+LCBpbnRlZ3JhbF9jPCBULEMzMCA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMzEgPiwgaW50ZWdyYWxfYzwgVCxDMzIgPiwgaW50ZWdyYWxfYzwgVCxDMzMgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzM0ID4sIGludGVncmFsX2M8IFQsQzM1ID4sIGludGVncmFsX2M8IFQsQzM2ID4sIGludGVncmFsX2M8VAorICAgICAgICAsIEMzNz4gCisgPgoreworICAgIHR5cGVkZWYgdmVjdG9yMzhfYyB0eXBlOworICAgIHR5cGVkZWYgVCB2YWx1ZV90eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUCisgICAgLCBUIEMwLCBUIEMxLCBUIEMyLCBUIEMzLCBUIEM0LCBUIEM1LCBUIEM2LCBUIEM3LCBUIEM4LCBUIEM5LCBUIEMxMAorICAgICwgVCBDMTEsIFQgQzEyLCBUIEMxMywgVCBDMTQsIFQgQzE1LCBUIEMxNiwgVCBDMTcsIFQgQzE4LCBUIEMxOSwgVCBDMjAKKyAgICAsIFQgQzIxLCBUIEMyMiwgVCBDMjMsIFQgQzI0LCBUIEMyNSwgVCBDMjYsIFQgQzI3LCBUIEMyOCwgVCBDMjksIFQgQzMwCisgICAgLCBUIEMzMSwgVCBDMzIsIFQgQzMzLCBUIEMzNCwgVCBDMzUsIFQgQzM2LCBUIEMzNywgVCBDMzgKKyAgICA+CitzdHJ1Y3QgdmVjdG9yMzlfYworICAgIDogdmVjdG9yMzk8CisgICAgICAgICAgaW50ZWdyYWxfYzwgVCxDMCA+LCBpbnRlZ3JhbF9jPCBULEMxID4sIGludGVncmFsX2M8IFQsQzIgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzMgPiwgaW50ZWdyYWxfYzwgVCxDNCA+LCBpbnRlZ3JhbF9jPCBULEM1ID4sIGludGVncmFsX2M8IFQsQzYgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzcgPiwgaW50ZWdyYWxfYzwgVCxDOCA+LCBpbnRlZ3JhbF9jPCBULEM5ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMxMCA+LCBpbnRlZ3JhbF9jPCBULEMxMSA+LCBpbnRlZ3JhbF9jPCBULEMxMiA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMTMgPiwgaW50ZWdyYWxfYzwgVCxDMTQgPiwgaW50ZWdyYWxfYzwgVCxDMTUgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzE2ID4sIGludGVncmFsX2M8IFQsQzE3ID4sIGludGVncmFsX2M8IFQsQzE4ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMxOSA+LCBpbnRlZ3JhbF9jPCBULEMyMCA+LCBpbnRlZ3JhbF9jPCBULEMyMSA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMjIgPiwgaW50ZWdyYWxfYzwgVCxDMjMgPiwgaW50ZWdyYWxfYzwgVCxDMjQgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzI1ID4sIGludGVncmFsX2M8IFQsQzI2ID4sIGludGVncmFsX2M8IFQsQzI3ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMyOCA+LCBpbnRlZ3JhbF9jPCBULEMyOSA+LCBpbnRlZ3JhbF9jPCBULEMzMCA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMzEgPiwgaW50ZWdyYWxfYzwgVCxDMzIgPiwgaW50ZWdyYWxfYzwgVCxDMzMgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzM0ID4sIGludGVncmFsX2M8IFQsQzM1ID4sIGludGVncmFsX2M8IFQsQzM2ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMzNyA+LCBpbnRlZ3JhbF9jPCBULEMzOCA+IAorID4KK3sKKyAgICB0eXBlZGVmIHZlY3RvcjM5X2MgdHlwZTsKKyAgICB0eXBlZGVmIFQgdmFsdWVfdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVAorICAgICwgVCBDMCwgVCBDMSwgVCBDMiwgVCBDMywgVCBDNCwgVCBDNSwgVCBDNiwgVCBDNywgVCBDOCwgVCBDOSwgVCBDMTAKKyAgICAsIFQgQzExLCBUIEMxMiwgVCBDMTMsIFQgQzE0LCBUIEMxNSwgVCBDMTYsIFQgQzE3LCBUIEMxOCwgVCBDMTksIFQgQzIwCisgICAgLCBUIEMyMSwgVCBDMjIsIFQgQzIzLCBUIEMyNCwgVCBDMjUsIFQgQzI2LCBUIEMyNywgVCBDMjgsIFQgQzI5LCBUIEMzMAorICAgICwgVCBDMzEsIFQgQzMyLCBUIEMzMywgVCBDMzQsIFQgQzM1LCBUIEMzNiwgVCBDMzcsIFQgQzM4LCBUIEMzOQorICAgID4KK3N0cnVjdCB2ZWN0b3I0MF9jCisgICAgOiB2ZWN0b3I0MDwKKyAgICAgICAgICBpbnRlZ3JhbF9jPCBULEMwID4sIGludGVncmFsX2M8IFQsQzEgPiwgaW50ZWdyYWxfYzwgVCxDMiA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMyA+LCBpbnRlZ3JhbF9jPCBULEM0ID4sIGludGVncmFsX2M8IFQsQzUgPiwgaW50ZWdyYWxfYzwgVCxDNiA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDNyA+LCBpbnRlZ3JhbF9jPCBULEM4ID4sIGludGVncmFsX2M8IFQsQzkgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzEwID4sIGludGVncmFsX2M8IFQsQzExID4sIGludGVncmFsX2M8IFQsQzEyID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMxMyA+LCBpbnRlZ3JhbF9jPCBULEMxNCA+LCBpbnRlZ3JhbF9jPCBULEMxNSA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMTYgPiwgaW50ZWdyYWxfYzwgVCxDMTcgPiwgaW50ZWdyYWxfYzwgVCxDMTggPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzE5ID4sIGludGVncmFsX2M8IFQsQzIwID4sIGludGVncmFsX2M8IFQsQzIxID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMyMiA+LCBpbnRlZ3JhbF9jPCBULEMyMyA+LCBpbnRlZ3JhbF9jPCBULEMyNCA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMjUgPiwgaW50ZWdyYWxfYzwgVCxDMjYgPiwgaW50ZWdyYWxfYzwgVCxDMjcgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzI4ID4sIGludGVncmFsX2M8IFQsQzI5ID4sIGludGVncmFsX2M8IFQsQzMwID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMzMSA+LCBpbnRlZ3JhbF9jPCBULEMzMiA+LCBpbnRlZ3JhbF9jPCBULEMzMyA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMzQgPiwgaW50ZWdyYWxfYzwgVCxDMzUgPiwgaW50ZWdyYWxfYzwgVCxDMzYgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzM3ID4sIGludGVncmFsX2M8IFQsQzM4ID4sIGludGVncmFsX2M8IFQsQzM5ID4gCisgPgoreworICAgIHR5cGVkZWYgdmVjdG9yNDBfYyB0eXBlOworICAgIHR5cGVkZWYgVCB2YWx1ZV90eXBlOworfTsKKworfX0KZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC92ZWN0b3IvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fY3Rwcy92ZWN0b3I1MC5ocHAgYi9uZG5ib29zdC9tcGwvdmVjdG9yL2F1eF8vcHJlcHJvY2Vzc2VkL25vX2N0cHMvdmVjdG9yNTAuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI2Y2E3N2QKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvdmVjdG9yL2F1eF8vcHJlcHJvY2Vzc2VkL25vX2N0cHMvdmVjdG9yNTAuaHBwCkBAIC0wLDAgKzEsMjc2NCBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvdmVjdG9yL3ZlY3RvcjUwLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAsIHR5cGVuYW1lIFQyMCwgdHlwZW5hbWUgVDIxLCB0eXBlbmFtZSBUMjIsIHR5cGVuYW1lIFQyMywgdHlwZW5hbWUgVDI0CisgICAgLCB0eXBlbmFtZSBUMjUsIHR5cGVuYW1lIFQyNiwgdHlwZW5hbWUgVDI3LCB0eXBlbmFtZSBUMjgsIHR5cGVuYW1lIFQyOQorICAgICwgdHlwZW5hbWUgVDMwLCB0eXBlbmFtZSBUMzEsIHR5cGVuYW1lIFQzMiwgdHlwZW5hbWUgVDMzLCB0eXBlbmFtZSBUMzQKKyAgICAsIHR5cGVuYW1lIFQzNSwgdHlwZW5hbWUgVDM2LCB0eXBlbmFtZSBUMzcsIHR5cGVuYW1lIFQzOCwgdHlwZW5hbWUgVDM5CisgICAgLCB0eXBlbmFtZSBUNDAKKyAgICA+CitzdHJ1Y3QgdmVjdG9yNDEKK3sKKyAgICB0eXBlZGVmIGF1eDo6dmVjdG9yX3RhZzw0MT4gdGFnOworICAgIHR5cGVkZWYgdmVjdG9yNDEgdHlwZTsKKyAgICB0eXBlZGVmIFQwIGl0ZW0wOworICAgIHR5cGVkZWYgVDEgaXRlbTE7CisgICAgdHlwZWRlZiBUMiBpdGVtMjsKKyAgICB0eXBlZGVmIFQzIGl0ZW0zOworICAgIHR5cGVkZWYgVDQgaXRlbTQ7CisgICAgdHlwZWRlZiBUNSBpdGVtNTsKKyAgICB0eXBlZGVmIFQ2IGl0ZW02OworICAgIHR5cGVkZWYgVDcgaXRlbTc7CisgICAgdHlwZWRlZiBUOCBpdGVtODsKKyAgICB0eXBlZGVmIFQ5IGl0ZW05OworICAgIHR5cGVkZWYgVDEwIGl0ZW0xMDsKKyAgICB0eXBlZGVmIFQxMSBpdGVtMTE7CisgICAgdHlwZWRlZiBUMTIgaXRlbTEyOworICAgIHR5cGVkZWYgVDEzIGl0ZW0xMzsKKyAgICB0eXBlZGVmIFQxNCBpdGVtMTQ7CisgICAgdHlwZWRlZiBUMTUgaXRlbTE1OworICAgIHR5cGVkZWYgVDE2IGl0ZW0xNjsKKyAgICB0eXBlZGVmIFQxNyBpdGVtMTc7CisgICAgdHlwZWRlZiBUMTggaXRlbTE4OworICAgIHR5cGVkZWYgVDE5IGl0ZW0xOTsKKyAgICB0eXBlZGVmIFQyMCBpdGVtMjA7CisgICAgdHlwZWRlZiBUMjEgaXRlbTIxOworICAgIHR5cGVkZWYgVDIyIGl0ZW0yMjsKKyAgICB0eXBlZGVmIFQyMyBpdGVtMjM7CisgICAgdHlwZWRlZiBUMjQgaXRlbTI0OworICAgIHR5cGVkZWYgVDI1IGl0ZW0yNTsKKyAgICB0eXBlZGVmIFQyNiBpdGVtMjY7CisgICAgdHlwZWRlZiBUMjcgaXRlbTI3OworICAgIHR5cGVkZWYgVDI4IGl0ZW0yODsKKyAgICB0eXBlZGVmIFQyOSBpdGVtMjk7CisgICAgdHlwZWRlZiBUMzAgaXRlbTMwOworICAgIHR5cGVkZWYgVDMxIGl0ZW0zMTsKKyAgICB0eXBlZGVmIFQzMiBpdGVtMzI7CisgICAgdHlwZWRlZiBUMzMgaXRlbTMzOworICAgIHR5cGVkZWYgVDM0IGl0ZW0zNDsKKyAgICB0eXBlZGVmIFQzNSBpdGVtMzU7CisgICAgdHlwZWRlZiBUMzYgaXRlbTM2OworICAgIHR5cGVkZWYgVDM3IGl0ZW0zNzsKKyAgICB0eXBlZGVmIFQzOCBpdGVtMzg7CisgICAgdHlwZWRlZiBUMzkgaXRlbTM5OworICAgIHR5cGVkZWYgVDQwIGl0ZW00MDsKKyAgICAKKworICAgIHR5cGVkZWYgdm9pZF8gaXRlbTQxOworICAgIHR5cGVkZWYgVDQwIGJhY2s7CisgICAgdHlwZWRlZiB2X2l0ZXI8IHR5cGUsMCA+IGJlZ2luOworICAgIHR5cGVkZWYgdl9pdGVyPCB0eXBlLDQxID4gZW5kOworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHB1c2hfZnJvbnRfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDQwPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciwgdHlwZW5hbWUgVCA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3I0MTwKKyAgICAgICAgICAgICAgVAorICAgICAgICAgICAgICAsCisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMxCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM4LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zOQorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcG9wX2Zyb250X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzw0MT4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yNDA8CisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMywgdHlwZW5hbWUgVmVjdG9yOjppdGVtNAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW02CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTgKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTAKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTEsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEyCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEzLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTYKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTcsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE4CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE5LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjIKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjMsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI0CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI1LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNywgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjgKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjksIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMwCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMxLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMywgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzQKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzUsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM2CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM3LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zOAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zOSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDAKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHB1c2hfYmFja19pbXBsPCBhdXg6OnZlY3Rvcl90YWc8NDA+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yLCB0eXBlbmFtZSBUID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjQxPAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0wLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW02LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW03CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTExCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE4LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzkKKyAgICAgICAgICAgICAgLAorICAgICAgICAgICAgICBUCisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwb3BfYmFja19pbXBsPCBhdXg6OnZlY3Rvcl90YWc8NDE+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjQwPAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0wLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW02LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW03CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTExCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE4LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzkKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKworbmFtZXNwYWNlIGF1eCB7Cit0ZW1wbGF0ZTw+IHN0cnVjdCB2X2F0X2ltcGw8NDE+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZfID4gc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgVl86Oml0ZW00MSB0eXBlOworICAgIH07Cit9OworCit9CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBhdF9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8NDE+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVl8sIHR5cGVuYW1lIE4gPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXV4Ojp2X2F0X2ltcGw8Qk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4pOjp2YWx1ZT4KKyAgICAgICAgICAgIDo6dGVtcGxhdGUgcmVzdWx0XzxWXz46OnR5cGUgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGZyb250X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzw0MT4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgYmFja19pbXBsPCBhdXg6OnZlY3Rvcl90YWc8NDE+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIFZlY3Rvcjo6YmFjayB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgZW1wdHlfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDQxPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgICAgICA6IGZhbHNlXworICAgIHsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHNpemVfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDQxPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgICAgICA6IGxvbmdfPDQxPgorICAgIHsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IE8xX3NpemVfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDQxPiA+CisgICAgOiBzaXplX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzw0MT4gPgoreworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGNsZWFyX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzw0MT4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yMDw+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICwgdHlwZW5hbWUgVDIwLCB0eXBlbmFtZSBUMjEsIHR5cGVuYW1lIFQyMiwgdHlwZW5hbWUgVDIzLCB0eXBlbmFtZSBUMjQKKyAgICAsIHR5cGVuYW1lIFQyNSwgdHlwZW5hbWUgVDI2LCB0eXBlbmFtZSBUMjcsIHR5cGVuYW1lIFQyOCwgdHlwZW5hbWUgVDI5CisgICAgLCB0eXBlbmFtZSBUMzAsIHR5cGVuYW1lIFQzMSwgdHlwZW5hbWUgVDMyLCB0eXBlbmFtZSBUMzMsIHR5cGVuYW1lIFQzNAorICAgICwgdHlwZW5hbWUgVDM1LCB0eXBlbmFtZSBUMzYsIHR5cGVuYW1lIFQzNywgdHlwZW5hbWUgVDM4LCB0eXBlbmFtZSBUMzkKKyAgICAsIHR5cGVuYW1lIFQ0MCwgdHlwZW5hbWUgVDQxCisgICAgPgorc3RydWN0IHZlY3RvcjQyCit7CisgICAgdHlwZWRlZiBhdXg6OnZlY3Rvcl90YWc8NDI+IHRhZzsKKyAgICB0eXBlZGVmIHZlY3RvcjQyIHR5cGU7CisgICAgdHlwZWRlZiBUMCBpdGVtMDsKKyAgICB0eXBlZGVmIFQxIGl0ZW0xOworICAgIHR5cGVkZWYgVDIgaXRlbTI7CisgICAgdHlwZWRlZiBUMyBpdGVtMzsKKyAgICB0eXBlZGVmIFQ0IGl0ZW00OworICAgIHR5cGVkZWYgVDUgaXRlbTU7CisgICAgdHlwZWRlZiBUNiBpdGVtNjsKKyAgICB0eXBlZGVmIFQ3IGl0ZW03OworICAgIHR5cGVkZWYgVDggaXRlbTg7CisgICAgdHlwZWRlZiBUOSBpdGVtOTsKKyAgICB0eXBlZGVmIFQxMCBpdGVtMTA7CisgICAgdHlwZWRlZiBUMTEgaXRlbTExOworICAgIHR5cGVkZWYgVDEyIGl0ZW0xMjsKKyAgICB0eXBlZGVmIFQxMyBpdGVtMTM7CisgICAgdHlwZWRlZiBUMTQgaXRlbTE0OworICAgIHR5cGVkZWYgVDE1IGl0ZW0xNTsKKyAgICB0eXBlZGVmIFQxNiBpdGVtMTY7CisgICAgdHlwZWRlZiBUMTcgaXRlbTE3OworICAgIHR5cGVkZWYgVDE4IGl0ZW0xODsKKyAgICB0eXBlZGVmIFQxOSBpdGVtMTk7CisgICAgdHlwZWRlZiBUMjAgaXRlbTIwOworICAgIHR5cGVkZWYgVDIxIGl0ZW0yMTsKKyAgICB0eXBlZGVmIFQyMiBpdGVtMjI7CisgICAgdHlwZWRlZiBUMjMgaXRlbTIzOworICAgIHR5cGVkZWYgVDI0IGl0ZW0yNDsKKyAgICB0eXBlZGVmIFQyNSBpdGVtMjU7CisgICAgdHlwZWRlZiBUMjYgaXRlbTI2OworICAgIHR5cGVkZWYgVDI3IGl0ZW0yNzsKKyAgICB0eXBlZGVmIFQyOCBpdGVtMjg7CisgICAgdHlwZWRlZiBUMjkgaXRlbTI5OworICAgIHR5cGVkZWYgVDMwIGl0ZW0zMDsKKyAgICB0eXBlZGVmIFQzMSBpdGVtMzE7CisgICAgdHlwZWRlZiBUMzIgaXRlbTMyOworICAgIHR5cGVkZWYgVDMzIGl0ZW0zMzsKKyAgICB0eXBlZGVmIFQzNCBpdGVtMzQ7CisgICAgdHlwZWRlZiBUMzUgaXRlbTM1OworICAgIHR5cGVkZWYgVDM2IGl0ZW0zNjsKKyAgICB0eXBlZGVmIFQzNyBpdGVtMzc7CisgICAgdHlwZWRlZiBUMzggaXRlbTM4OworICAgIHR5cGVkZWYgVDM5IGl0ZW0zOTsKKyAgICB0eXBlZGVmIFQ0MCBpdGVtNDA7CisgICAgdHlwZWRlZiBUNDEgaXRlbTQxOworICAgIAorCisgICAgdHlwZWRlZiB2b2lkXyBpdGVtNDI7CisgICAgdHlwZWRlZiBUNDEgYmFjazsKKyAgICB0eXBlZGVmIHZfaXRlcjwgdHlwZSwwID4gYmVnaW47CisgICAgdHlwZWRlZiB2X2l0ZXI8IHR5cGUsNDIgPiBlbmQ7Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcHVzaF9mcm9udF9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8NDE+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yLCB0eXBlbmFtZSBUID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjQyPAorICAgICAgICAgICAgICBUCisgICAgICAgICAgICAgICwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW04LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW05CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIxCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI4LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQwCisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwb3BfZnJvbnRfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDQyPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3I0MTwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNywgdHlwZW5hbWUgVmVjdG9yOjppdGVtOAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW05LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTIKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTMsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE0CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE1LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNywgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTgKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTksIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIwCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIxLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMywgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjQKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjUsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI2CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI3LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yOAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yOSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzAKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzEsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMyCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMzLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzYKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzcsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM4CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM5LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00MAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00MQorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcHVzaF9iYWNrX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzw0MT4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IsIHR5cGVuYW1lIFQgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yNDI8CisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMxCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM4LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00MAorICAgICAgICAgICAgICAsCisgICAgICAgICAgICAgIFQKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHBvcF9iYWNrX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzw0Mj4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yNDE8CisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMxCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM4LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00MAorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCituYW1lc3BhY2UgYXV4IHsKK3RlbXBsYXRlPD4gc3RydWN0IHZfYXRfaW1wbDw0Mj4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVl8gPiBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBWXzo6aXRlbTQyIHR5cGU7CisgICAgfTsKK307CisKK30KKwordGVtcGxhdGU8Pgorc3RydWN0IGF0X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzw0Mj4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWXywgdHlwZW5hbWUgTiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhdXg6OnZfYXRfaW1wbDxCT09TVF9NUExfQVVYX1ZBTFVFX1dLTkQoTik6OnZhbHVlPgorICAgICAgICAgICAgOjp0ZW1wbGF0ZSByZXN1bHRfPFZfPjo6dHlwZSB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgZnJvbnRfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDQyPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0wIHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBiYWNrX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzw0Mj4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgVmVjdG9yOjpiYWNrIHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBlbXB0eV9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8NDI+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgICAgIDogZmFsc2VfCisgICAgeworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3Qgc2l6ZV9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8NDI+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgICAgIDogbG9uZ188NDI+CisgICAgeworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgTzFfc2l6ZV9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8NDI+ID4KKyAgICA6IHNpemVfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDQyPiA+Cit7Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgY2xlYXJfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDQyPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IwPD4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgLCB0eXBlbmFtZSBUMjAsIHR5cGVuYW1lIFQyMSwgdHlwZW5hbWUgVDIyLCB0eXBlbmFtZSBUMjMsIHR5cGVuYW1lIFQyNAorICAgICwgdHlwZW5hbWUgVDI1LCB0eXBlbmFtZSBUMjYsIHR5cGVuYW1lIFQyNywgdHlwZW5hbWUgVDI4LCB0eXBlbmFtZSBUMjkKKyAgICAsIHR5cGVuYW1lIFQzMCwgdHlwZW5hbWUgVDMxLCB0eXBlbmFtZSBUMzIsIHR5cGVuYW1lIFQzMywgdHlwZW5hbWUgVDM0CisgICAgLCB0eXBlbmFtZSBUMzUsIHR5cGVuYW1lIFQzNiwgdHlwZW5hbWUgVDM3LCB0eXBlbmFtZSBUMzgsIHR5cGVuYW1lIFQzOQorICAgICwgdHlwZW5hbWUgVDQwLCB0eXBlbmFtZSBUNDEsIHR5cGVuYW1lIFQ0MgorICAgID4KK3N0cnVjdCB2ZWN0b3I0MworeworICAgIHR5cGVkZWYgYXV4Ojp2ZWN0b3JfdGFnPDQzPiB0YWc7CisgICAgdHlwZWRlZiB2ZWN0b3I0MyB0eXBlOworICAgIHR5cGVkZWYgVDAgaXRlbTA7CisgICAgdHlwZWRlZiBUMSBpdGVtMTsKKyAgICB0eXBlZGVmIFQyIGl0ZW0yOworICAgIHR5cGVkZWYgVDMgaXRlbTM7CisgICAgdHlwZWRlZiBUNCBpdGVtNDsKKyAgICB0eXBlZGVmIFQ1IGl0ZW01OworICAgIHR5cGVkZWYgVDYgaXRlbTY7CisgICAgdHlwZWRlZiBUNyBpdGVtNzsKKyAgICB0eXBlZGVmIFQ4IGl0ZW04OworICAgIHR5cGVkZWYgVDkgaXRlbTk7CisgICAgdHlwZWRlZiBUMTAgaXRlbTEwOworICAgIHR5cGVkZWYgVDExIGl0ZW0xMTsKKyAgICB0eXBlZGVmIFQxMiBpdGVtMTI7CisgICAgdHlwZWRlZiBUMTMgaXRlbTEzOworICAgIHR5cGVkZWYgVDE0IGl0ZW0xNDsKKyAgICB0eXBlZGVmIFQxNSBpdGVtMTU7CisgICAgdHlwZWRlZiBUMTYgaXRlbTE2OworICAgIHR5cGVkZWYgVDE3IGl0ZW0xNzsKKyAgICB0eXBlZGVmIFQxOCBpdGVtMTg7CisgICAgdHlwZWRlZiBUMTkgaXRlbTE5OworICAgIHR5cGVkZWYgVDIwIGl0ZW0yMDsKKyAgICB0eXBlZGVmIFQyMSBpdGVtMjE7CisgICAgdHlwZWRlZiBUMjIgaXRlbTIyOworICAgIHR5cGVkZWYgVDIzIGl0ZW0yMzsKKyAgICB0eXBlZGVmIFQyNCBpdGVtMjQ7CisgICAgdHlwZWRlZiBUMjUgaXRlbTI1OworICAgIHR5cGVkZWYgVDI2IGl0ZW0yNjsKKyAgICB0eXBlZGVmIFQyNyBpdGVtMjc7CisgICAgdHlwZWRlZiBUMjggaXRlbTI4OworICAgIHR5cGVkZWYgVDI5IGl0ZW0yOTsKKyAgICB0eXBlZGVmIFQzMCBpdGVtMzA7CisgICAgdHlwZWRlZiBUMzEgaXRlbTMxOworICAgIHR5cGVkZWYgVDMyIGl0ZW0zMjsKKyAgICB0eXBlZGVmIFQzMyBpdGVtMzM7CisgICAgdHlwZWRlZiBUMzQgaXRlbTM0OworICAgIHR5cGVkZWYgVDM1IGl0ZW0zNTsKKyAgICB0eXBlZGVmIFQzNiBpdGVtMzY7CisgICAgdHlwZWRlZiBUMzcgaXRlbTM3OworICAgIHR5cGVkZWYgVDM4IGl0ZW0zODsKKyAgICB0eXBlZGVmIFQzOSBpdGVtMzk7CisgICAgdHlwZWRlZiBUNDAgaXRlbTQwOworICAgIHR5cGVkZWYgVDQxIGl0ZW00MTsKKyAgICB0eXBlZGVmIFQ0MiBpdGVtNDI7CisgICAgCisKKyAgICB0eXBlZGVmIHZvaWRfIGl0ZW00MzsKKyAgICB0eXBlZGVmIFQ0MiBiYWNrOworICAgIHR5cGVkZWYgdl9pdGVyPCB0eXBlLDAgPiBiZWdpbjsKKyAgICB0eXBlZGVmIHZfaXRlcjwgdHlwZSw0MyA+IGVuZDsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwdXNoX2Zyb250X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzw0Mj4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IsIHR5cGVuYW1lIFQgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yNDM8CisgICAgICAgICAgICAgIFQKKyAgICAgICAgICAgICAgLAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0wLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW02LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW03CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTExCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE4LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQxCisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwb3BfZnJvbnRfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDQzPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3I0MjwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNywgdHlwZW5hbWUgVmVjdG9yOjppdGVtOAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW05LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTIKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTMsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE0CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE1LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNywgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTgKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTksIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIwCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIxLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMywgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjQKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjUsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI2CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI3LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yOAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yOSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzAKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzEsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMyCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMzLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzYKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzcsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM4CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM5LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00MAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00MSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDIKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHB1c2hfYmFja19pbXBsPCBhdXg6OnZlY3Rvcl90YWc8NDI+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yLCB0eXBlbmFtZSBUID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjQzPAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0wLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW02LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW03CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTExCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE4LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQxCisgICAgICAgICAgICAgICwKKyAgICAgICAgICAgICAgVAorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcG9wX2JhY2tfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDQzPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3I0MjwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW04LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW05CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIxCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI4LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00MQorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCituYW1lc3BhY2UgYXV4IHsKK3RlbXBsYXRlPD4gc3RydWN0IHZfYXRfaW1wbDw0Mz4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVl8gPiBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBWXzo6aXRlbTQzIHR5cGU7CisgICAgfTsKK307CisKK30KKwordGVtcGxhdGU8Pgorc3RydWN0IGF0X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzw0Mz4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWXywgdHlwZW5hbWUgTiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhdXg6OnZfYXRfaW1wbDxCT09TVF9NUExfQVVYX1ZBTFVFX1dLTkQoTik6OnZhbHVlPgorICAgICAgICAgICAgOjp0ZW1wbGF0ZSByZXN1bHRfPFZfPjo6dHlwZSB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgZnJvbnRfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDQzPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0wIHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBiYWNrX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzw0Mz4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgVmVjdG9yOjpiYWNrIHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBlbXB0eV9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8NDM+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgICAgIDogZmFsc2VfCisgICAgeworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3Qgc2l6ZV9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8NDM+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgICAgIDogbG9uZ188NDM+CisgICAgeworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgTzFfc2l6ZV9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8NDM+ID4KKyAgICA6IHNpemVfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDQzPiA+Cit7Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgY2xlYXJfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDQzPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IwPD4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgLCB0eXBlbmFtZSBUMjAsIHR5cGVuYW1lIFQyMSwgdHlwZW5hbWUgVDIyLCB0eXBlbmFtZSBUMjMsIHR5cGVuYW1lIFQyNAorICAgICwgdHlwZW5hbWUgVDI1LCB0eXBlbmFtZSBUMjYsIHR5cGVuYW1lIFQyNywgdHlwZW5hbWUgVDI4LCB0eXBlbmFtZSBUMjkKKyAgICAsIHR5cGVuYW1lIFQzMCwgdHlwZW5hbWUgVDMxLCB0eXBlbmFtZSBUMzIsIHR5cGVuYW1lIFQzMywgdHlwZW5hbWUgVDM0CisgICAgLCB0eXBlbmFtZSBUMzUsIHR5cGVuYW1lIFQzNiwgdHlwZW5hbWUgVDM3LCB0eXBlbmFtZSBUMzgsIHR5cGVuYW1lIFQzOQorICAgICwgdHlwZW5hbWUgVDQwLCB0eXBlbmFtZSBUNDEsIHR5cGVuYW1lIFQ0MiwgdHlwZW5hbWUgVDQzCisgICAgPgorc3RydWN0IHZlY3RvcjQ0Cit7CisgICAgdHlwZWRlZiBhdXg6OnZlY3Rvcl90YWc8NDQ+IHRhZzsKKyAgICB0eXBlZGVmIHZlY3RvcjQ0IHR5cGU7CisgICAgdHlwZWRlZiBUMCBpdGVtMDsKKyAgICB0eXBlZGVmIFQxIGl0ZW0xOworICAgIHR5cGVkZWYgVDIgaXRlbTI7CisgICAgdHlwZWRlZiBUMyBpdGVtMzsKKyAgICB0eXBlZGVmIFQ0IGl0ZW00OworICAgIHR5cGVkZWYgVDUgaXRlbTU7CisgICAgdHlwZWRlZiBUNiBpdGVtNjsKKyAgICB0eXBlZGVmIFQ3IGl0ZW03OworICAgIHR5cGVkZWYgVDggaXRlbTg7CisgICAgdHlwZWRlZiBUOSBpdGVtOTsKKyAgICB0eXBlZGVmIFQxMCBpdGVtMTA7CisgICAgdHlwZWRlZiBUMTEgaXRlbTExOworICAgIHR5cGVkZWYgVDEyIGl0ZW0xMjsKKyAgICB0eXBlZGVmIFQxMyBpdGVtMTM7CisgICAgdHlwZWRlZiBUMTQgaXRlbTE0OworICAgIHR5cGVkZWYgVDE1IGl0ZW0xNTsKKyAgICB0eXBlZGVmIFQxNiBpdGVtMTY7CisgICAgdHlwZWRlZiBUMTcgaXRlbTE3OworICAgIHR5cGVkZWYgVDE4IGl0ZW0xODsKKyAgICB0eXBlZGVmIFQxOSBpdGVtMTk7CisgICAgdHlwZWRlZiBUMjAgaXRlbTIwOworICAgIHR5cGVkZWYgVDIxIGl0ZW0yMTsKKyAgICB0eXBlZGVmIFQyMiBpdGVtMjI7CisgICAgdHlwZWRlZiBUMjMgaXRlbTIzOworICAgIHR5cGVkZWYgVDI0IGl0ZW0yNDsKKyAgICB0eXBlZGVmIFQyNSBpdGVtMjU7CisgICAgdHlwZWRlZiBUMjYgaXRlbTI2OworICAgIHR5cGVkZWYgVDI3IGl0ZW0yNzsKKyAgICB0eXBlZGVmIFQyOCBpdGVtMjg7CisgICAgdHlwZWRlZiBUMjkgaXRlbTI5OworICAgIHR5cGVkZWYgVDMwIGl0ZW0zMDsKKyAgICB0eXBlZGVmIFQzMSBpdGVtMzE7CisgICAgdHlwZWRlZiBUMzIgaXRlbTMyOworICAgIHR5cGVkZWYgVDMzIGl0ZW0zMzsKKyAgICB0eXBlZGVmIFQzNCBpdGVtMzQ7CisgICAgdHlwZWRlZiBUMzUgaXRlbTM1OworICAgIHR5cGVkZWYgVDM2IGl0ZW0zNjsKKyAgICB0eXBlZGVmIFQzNyBpdGVtMzc7CisgICAgdHlwZWRlZiBUMzggaXRlbTM4OworICAgIHR5cGVkZWYgVDM5IGl0ZW0zOTsKKyAgICB0eXBlZGVmIFQ0MCBpdGVtNDA7CisgICAgdHlwZWRlZiBUNDEgaXRlbTQxOworICAgIHR5cGVkZWYgVDQyIGl0ZW00MjsKKyAgICB0eXBlZGVmIFQ0MyBpdGVtNDM7CisgICAgCisKKyAgICB0eXBlZGVmIHZvaWRfIGl0ZW00NDsKKyAgICB0eXBlZGVmIFQ0MyBiYWNrOworICAgIHR5cGVkZWYgdl9pdGVyPCB0eXBlLDAgPiBiZWdpbjsKKyAgICB0eXBlZGVmIHZfaXRlcjwgdHlwZSw0NCA+IGVuZDsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwdXNoX2Zyb250X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzw0Mz4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IsIHR5cGVuYW1lIFQgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yNDQ8CisgICAgICAgICAgICAgIFQKKyAgICAgICAgICAgICAgLAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0wLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW02LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW03CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTExCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE4LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQxCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQyCisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwb3BfZnJvbnRfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDQ0PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3I0MzwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNywgdHlwZW5hbWUgVmVjdG9yOjppdGVtOAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW05LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTIKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTMsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE0CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE1LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNywgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTgKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTksIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIwCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIxLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMywgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjQKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjUsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI2CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI3LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yOAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yOSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzAKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzEsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMyCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMzLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzYKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzcsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM4CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM5LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00MAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00MSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDIKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDMKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHB1c2hfYmFja19pbXBsPCBhdXg6OnZlY3Rvcl90YWc8NDM+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yLCB0eXBlbmFtZSBUID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjQ0PAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0wLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW02LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW03CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTExCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE4LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQxCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQyCisgICAgICAgICAgICAgICwKKyAgICAgICAgICAgICAgVAorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcG9wX2JhY2tfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDQ0PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3I0MzwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW04LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW05CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIxCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI4LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00MQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00MgorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCituYW1lc3BhY2UgYXV4IHsKK3RlbXBsYXRlPD4gc3RydWN0IHZfYXRfaW1wbDw0ND4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVl8gPiBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBWXzo6aXRlbTQ0IHR5cGU7CisgICAgfTsKK307CisKK30KKwordGVtcGxhdGU8Pgorc3RydWN0IGF0X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzw0ND4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWXywgdHlwZW5hbWUgTiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhdXg6OnZfYXRfaW1wbDxCT09TVF9NUExfQVVYX1ZBTFVFX1dLTkQoTik6OnZhbHVlPgorICAgICAgICAgICAgOjp0ZW1wbGF0ZSByZXN1bHRfPFZfPjo6dHlwZSB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgZnJvbnRfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDQ0PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0wIHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBiYWNrX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzw0ND4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgVmVjdG9yOjpiYWNrIHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBlbXB0eV9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8NDQ+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgICAgIDogZmFsc2VfCisgICAgeworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3Qgc2l6ZV9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8NDQ+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgICAgIDogbG9uZ188NDQ+CisgICAgeworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgTzFfc2l6ZV9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8NDQ+ID4KKyAgICA6IHNpemVfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDQ0PiA+Cit7Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgY2xlYXJfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDQ0PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IwPD4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgLCB0eXBlbmFtZSBUMjAsIHR5cGVuYW1lIFQyMSwgdHlwZW5hbWUgVDIyLCB0eXBlbmFtZSBUMjMsIHR5cGVuYW1lIFQyNAorICAgICwgdHlwZW5hbWUgVDI1LCB0eXBlbmFtZSBUMjYsIHR5cGVuYW1lIFQyNywgdHlwZW5hbWUgVDI4LCB0eXBlbmFtZSBUMjkKKyAgICAsIHR5cGVuYW1lIFQzMCwgdHlwZW5hbWUgVDMxLCB0eXBlbmFtZSBUMzIsIHR5cGVuYW1lIFQzMywgdHlwZW5hbWUgVDM0CisgICAgLCB0eXBlbmFtZSBUMzUsIHR5cGVuYW1lIFQzNiwgdHlwZW5hbWUgVDM3LCB0eXBlbmFtZSBUMzgsIHR5cGVuYW1lIFQzOQorICAgICwgdHlwZW5hbWUgVDQwLCB0eXBlbmFtZSBUNDEsIHR5cGVuYW1lIFQ0MiwgdHlwZW5hbWUgVDQzLCB0eXBlbmFtZSBUNDQKKyAgICA+CitzdHJ1Y3QgdmVjdG9yNDUKK3sKKyAgICB0eXBlZGVmIGF1eDo6dmVjdG9yX3RhZzw0NT4gdGFnOworICAgIHR5cGVkZWYgdmVjdG9yNDUgdHlwZTsKKyAgICB0eXBlZGVmIFQwIGl0ZW0wOworICAgIHR5cGVkZWYgVDEgaXRlbTE7CisgICAgdHlwZWRlZiBUMiBpdGVtMjsKKyAgICB0eXBlZGVmIFQzIGl0ZW0zOworICAgIHR5cGVkZWYgVDQgaXRlbTQ7CisgICAgdHlwZWRlZiBUNSBpdGVtNTsKKyAgICB0eXBlZGVmIFQ2IGl0ZW02OworICAgIHR5cGVkZWYgVDcgaXRlbTc7CisgICAgdHlwZWRlZiBUOCBpdGVtODsKKyAgICB0eXBlZGVmIFQ5IGl0ZW05OworICAgIHR5cGVkZWYgVDEwIGl0ZW0xMDsKKyAgICB0eXBlZGVmIFQxMSBpdGVtMTE7CisgICAgdHlwZWRlZiBUMTIgaXRlbTEyOworICAgIHR5cGVkZWYgVDEzIGl0ZW0xMzsKKyAgICB0eXBlZGVmIFQxNCBpdGVtMTQ7CisgICAgdHlwZWRlZiBUMTUgaXRlbTE1OworICAgIHR5cGVkZWYgVDE2IGl0ZW0xNjsKKyAgICB0eXBlZGVmIFQxNyBpdGVtMTc7CisgICAgdHlwZWRlZiBUMTggaXRlbTE4OworICAgIHR5cGVkZWYgVDE5IGl0ZW0xOTsKKyAgICB0eXBlZGVmIFQyMCBpdGVtMjA7CisgICAgdHlwZWRlZiBUMjEgaXRlbTIxOworICAgIHR5cGVkZWYgVDIyIGl0ZW0yMjsKKyAgICB0eXBlZGVmIFQyMyBpdGVtMjM7CisgICAgdHlwZWRlZiBUMjQgaXRlbTI0OworICAgIHR5cGVkZWYgVDI1IGl0ZW0yNTsKKyAgICB0eXBlZGVmIFQyNiBpdGVtMjY7CisgICAgdHlwZWRlZiBUMjcgaXRlbTI3OworICAgIHR5cGVkZWYgVDI4IGl0ZW0yODsKKyAgICB0eXBlZGVmIFQyOSBpdGVtMjk7CisgICAgdHlwZWRlZiBUMzAgaXRlbTMwOworICAgIHR5cGVkZWYgVDMxIGl0ZW0zMTsKKyAgICB0eXBlZGVmIFQzMiBpdGVtMzI7CisgICAgdHlwZWRlZiBUMzMgaXRlbTMzOworICAgIHR5cGVkZWYgVDM0IGl0ZW0zNDsKKyAgICB0eXBlZGVmIFQzNSBpdGVtMzU7CisgICAgdHlwZWRlZiBUMzYgaXRlbTM2OworICAgIHR5cGVkZWYgVDM3IGl0ZW0zNzsKKyAgICB0eXBlZGVmIFQzOCBpdGVtMzg7CisgICAgdHlwZWRlZiBUMzkgaXRlbTM5OworICAgIHR5cGVkZWYgVDQwIGl0ZW00MDsKKyAgICB0eXBlZGVmIFQ0MSBpdGVtNDE7CisgICAgdHlwZWRlZiBUNDIgaXRlbTQyOworICAgIHR5cGVkZWYgVDQzIGl0ZW00MzsKKyAgICB0eXBlZGVmIFQ0NCBpdGVtNDQ7CisgICAgCisKKyAgICB0eXBlZGVmIHZvaWRfIGl0ZW00NTsKKyAgICB0eXBlZGVmIFQ0NCBiYWNrOworICAgIHR5cGVkZWYgdl9pdGVyPCB0eXBlLDAgPiBiZWdpbjsKKyAgICB0eXBlZGVmIHZfaXRlcjwgdHlwZSw0NSA+IGVuZDsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwdXNoX2Zyb250X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzw0ND4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IsIHR5cGVuYW1lIFQgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yNDU8CisgICAgICAgICAgICAgIFQKKyAgICAgICAgICAgICAgLAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0wLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW02LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW03CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTExCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE4LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQxCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00MworICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcG9wX2Zyb250X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzw0NT4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yNDQ8CisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMywgdHlwZW5hbWUgVmVjdG9yOjppdGVtNAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW02CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTgKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTAKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTEsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEyCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEzLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTYKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTcsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE4CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE5LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjIKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjMsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI0CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI1LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNywgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjgKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjksIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMwCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMxLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMywgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzQKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzUsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM2CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM3LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zOAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zOSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDAKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDEsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQyCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQzLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00NAorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcHVzaF9iYWNrX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzw0ND4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IsIHR5cGVuYW1lIFQgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yNDU8CisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMxCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM4LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00MCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQzCisgICAgICAgICAgICAgICwKKyAgICAgICAgICAgICAgVAorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcG9wX2JhY2tfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDQ1PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3I0NDwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW04LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW05CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIxCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI4LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00MQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00MiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDMKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKworbmFtZXNwYWNlIGF1eCB7Cit0ZW1wbGF0ZTw+IHN0cnVjdCB2X2F0X2ltcGw8NDU+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZfID4gc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgVl86Oml0ZW00NSB0eXBlOworICAgIH07Cit9OworCit9CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBhdF9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8NDU+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVl8sIHR5cGVuYW1lIE4gPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXV4Ojp2X2F0X2ltcGw8Qk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4pOjp2YWx1ZT4KKyAgICAgICAgICAgIDo6dGVtcGxhdGUgcmVzdWx0XzxWXz46OnR5cGUgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGZyb250X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzw0NT4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgYmFja19pbXBsPCBhdXg6OnZlY3Rvcl90YWc8NDU+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIFZlY3Rvcjo6YmFjayB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgZW1wdHlfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDQ1PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgICAgICA6IGZhbHNlXworICAgIHsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHNpemVfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDQ1PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgICAgICA6IGxvbmdfPDQ1PgorICAgIHsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IE8xX3NpemVfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDQ1PiA+CisgICAgOiBzaXplX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzw0NT4gPgoreworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGNsZWFyX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzw0NT4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yMDw+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICwgdHlwZW5hbWUgVDIwLCB0eXBlbmFtZSBUMjEsIHR5cGVuYW1lIFQyMiwgdHlwZW5hbWUgVDIzLCB0eXBlbmFtZSBUMjQKKyAgICAsIHR5cGVuYW1lIFQyNSwgdHlwZW5hbWUgVDI2LCB0eXBlbmFtZSBUMjcsIHR5cGVuYW1lIFQyOCwgdHlwZW5hbWUgVDI5CisgICAgLCB0eXBlbmFtZSBUMzAsIHR5cGVuYW1lIFQzMSwgdHlwZW5hbWUgVDMyLCB0eXBlbmFtZSBUMzMsIHR5cGVuYW1lIFQzNAorICAgICwgdHlwZW5hbWUgVDM1LCB0eXBlbmFtZSBUMzYsIHR5cGVuYW1lIFQzNywgdHlwZW5hbWUgVDM4LCB0eXBlbmFtZSBUMzkKKyAgICAsIHR5cGVuYW1lIFQ0MCwgdHlwZW5hbWUgVDQxLCB0eXBlbmFtZSBUNDIsIHR5cGVuYW1lIFQ0MywgdHlwZW5hbWUgVDQ0CisgICAgLCB0eXBlbmFtZSBUNDUKKyAgICA+CitzdHJ1Y3QgdmVjdG9yNDYKK3sKKyAgICB0eXBlZGVmIGF1eDo6dmVjdG9yX3RhZzw0Nj4gdGFnOworICAgIHR5cGVkZWYgdmVjdG9yNDYgdHlwZTsKKyAgICB0eXBlZGVmIFQwIGl0ZW0wOworICAgIHR5cGVkZWYgVDEgaXRlbTE7CisgICAgdHlwZWRlZiBUMiBpdGVtMjsKKyAgICB0eXBlZGVmIFQzIGl0ZW0zOworICAgIHR5cGVkZWYgVDQgaXRlbTQ7CisgICAgdHlwZWRlZiBUNSBpdGVtNTsKKyAgICB0eXBlZGVmIFQ2IGl0ZW02OworICAgIHR5cGVkZWYgVDcgaXRlbTc7CisgICAgdHlwZWRlZiBUOCBpdGVtODsKKyAgICB0eXBlZGVmIFQ5IGl0ZW05OworICAgIHR5cGVkZWYgVDEwIGl0ZW0xMDsKKyAgICB0eXBlZGVmIFQxMSBpdGVtMTE7CisgICAgdHlwZWRlZiBUMTIgaXRlbTEyOworICAgIHR5cGVkZWYgVDEzIGl0ZW0xMzsKKyAgICB0eXBlZGVmIFQxNCBpdGVtMTQ7CisgICAgdHlwZWRlZiBUMTUgaXRlbTE1OworICAgIHR5cGVkZWYgVDE2IGl0ZW0xNjsKKyAgICB0eXBlZGVmIFQxNyBpdGVtMTc7CisgICAgdHlwZWRlZiBUMTggaXRlbTE4OworICAgIHR5cGVkZWYgVDE5IGl0ZW0xOTsKKyAgICB0eXBlZGVmIFQyMCBpdGVtMjA7CisgICAgdHlwZWRlZiBUMjEgaXRlbTIxOworICAgIHR5cGVkZWYgVDIyIGl0ZW0yMjsKKyAgICB0eXBlZGVmIFQyMyBpdGVtMjM7CisgICAgdHlwZWRlZiBUMjQgaXRlbTI0OworICAgIHR5cGVkZWYgVDI1IGl0ZW0yNTsKKyAgICB0eXBlZGVmIFQyNiBpdGVtMjY7CisgICAgdHlwZWRlZiBUMjcgaXRlbTI3OworICAgIHR5cGVkZWYgVDI4IGl0ZW0yODsKKyAgICB0eXBlZGVmIFQyOSBpdGVtMjk7CisgICAgdHlwZWRlZiBUMzAgaXRlbTMwOworICAgIHR5cGVkZWYgVDMxIGl0ZW0zMTsKKyAgICB0eXBlZGVmIFQzMiBpdGVtMzI7CisgICAgdHlwZWRlZiBUMzMgaXRlbTMzOworICAgIHR5cGVkZWYgVDM0IGl0ZW0zNDsKKyAgICB0eXBlZGVmIFQzNSBpdGVtMzU7CisgICAgdHlwZWRlZiBUMzYgaXRlbTM2OworICAgIHR5cGVkZWYgVDM3IGl0ZW0zNzsKKyAgICB0eXBlZGVmIFQzOCBpdGVtMzg7CisgICAgdHlwZWRlZiBUMzkgaXRlbTM5OworICAgIHR5cGVkZWYgVDQwIGl0ZW00MDsKKyAgICB0eXBlZGVmIFQ0MSBpdGVtNDE7CisgICAgdHlwZWRlZiBUNDIgaXRlbTQyOworICAgIHR5cGVkZWYgVDQzIGl0ZW00MzsKKyAgICB0eXBlZGVmIFQ0NCBpdGVtNDQ7CisgICAgdHlwZWRlZiBUNDUgaXRlbTQ1OworICAgIAorCisgICAgdHlwZWRlZiB2b2lkXyBpdGVtNDY7CisgICAgdHlwZWRlZiBUNDUgYmFjazsKKyAgICB0eXBlZGVmIHZfaXRlcjwgdHlwZSwwID4gYmVnaW47CisgICAgdHlwZWRlZiB2X2l0ZXI8IHR5cGUsNDYgPiBlbmQ7Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcHVzaF9mcm9udF9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8NDU+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yLCB0eXBlbmFtZSBUID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjQ2PAorICAgICAgICAgICAgICBUCisgICAgICAgICAgICAgICwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW04LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW05CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIxCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI4LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00MQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00MiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDQKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHBvcF9mcm9udF9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8NDY+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjQ1PAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW03LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW04CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTksIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEwCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTExLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMywgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTQKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTUsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE2CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE3LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjAKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjEsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIyCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIzLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjYKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjcsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI4CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI5LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzIKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzMsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM0CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM1LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNywgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzgKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzksIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQwCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQxLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00MgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00MywgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDQKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDUKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHB1c2hfYmFja19pbXBsPCBhdXg6OnZlY3Rvcl90YWc8NDU+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yLCB0eXBlbmFtZSBUID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjQ2PAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0wLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW02LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW03CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTExCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE4LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQxCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00MworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00NAorICAgICAgICAgICAgICAsCisgICAgICAgICAgICAgIFQKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHBvcF9iYWNrX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzw0Nj4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yNDU8CisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMxCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM4LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00MCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQ0CisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK25hbWVzcGFjZSBhdXggewordGVtcGxhdGU8PiBzdHJ1Y3Qgdl9hdF9pbXBsPDQ2PgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWXyA+IHN0cnVjdCByZXN1bHRfCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIFZfOjppdGVtNDYgdHlwZTsKKyAgICB9OworfTsKKworfQorCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgYXRfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDQ2PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZfLCB0eXBlbmFtZSBOID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGF1eDo6dl9hdF9pbXBsPEJPT1NUX01QTF9BVVhfVkFMVUVfV0tORChOKTo6dmFsdWU+CisgICAgICAgICAgICA6OnRlbXBsYXRlIHJlc3VsdF88Vl8+Ojp0eXBlIHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBmcm9udF9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8NDY+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGJhY2tfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDQ2PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBWZWN0b3I6OmJhY2sgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGVtcHR5X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzw0Nj4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICAgICAgOiBmYWxzZV8KKyAgICB7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBzaXplX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzw0Nj4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICAgICAgOiBsb25nXzw0Nj4KKyAgICB7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBPMV9zaXplX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzw0Nj4gPgorICAgIDogc2l6ZV9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8NDY+ID4KK3sKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBjbGVhcl9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8NDY+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjA8PiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAsIHR5cGVuYW1lIFQyMCwgdHlwZW5hbWUgVDIxLCB0eXBlbmFtZSBUMjIsIHR5cGVuYW1lIFQyMywgdHlwZW5hbWUgVDI0CisgICAgLCB0eXBlbmFtZSBUMjUsIHR5cGVuYW1lIFQyNiwgdHlwZW5hbWUgVDI3LCB0eXBlbmFtZSBUMjgsIHR5cGVuYW1lIFQyOQorICAgICwgdHlwZW5hbWUgVDMwLCB0eXBlbmFtZSBUMzEsIHR5cGVuYW1lIFQzMiwgdHlwZW5hbWUgVDMzLCB0eXBlbmFtZSBUMzQKKyAgICAsIHR5cGVuYW1lIFQzNSwgdHlwZW5hbWUgVDM2LCB0eXBlbmFtZSBUMzcsIHR5cGVuYW1lIFQzOCwgdHlwZW5hbWUgVDM5CisgICAgLCB0eXBlbmFtZSBUNDAsIHR5cGVuYW1lIFQ0MSwgdHlwZW5hbWUgVDQyLCB0eXBlbmFtZSBUNDMsIHR5cGVuYW1lIFQ0NAorICAgICwgdHlwZW5hbWUgVDQ1LCB0eXBlbmFtZSBUNDYKKyAgICA+CitzdHJ1Y3QgdmVjdG9yNDcKK3sKKyAgICB0eXBlZGVmIGF1eDo6dmVjdG9yX3RhZzw0Nz4gdGFnOworICAgIHR5cGVkZWYgdmVjdG9yNDcgdHlwZTsKKyAgICB0eXBlZGVmIFQwIGl0ZW0wOworICAgIHR5cGVkZWYgVDEgaXRlbTE7CisgICAgdHlwZWRlZiBUMiBpdGVtMjsKKyAgICB0eXBlZGVmIFQzIGl0ZW0zOworICAgIHR5cGVkZWYgVDQgaXRlbTQ7CisgICAgdHlwZWRlZiBUNSBpdGVtNTsKKyAgICB0eXBlZGVmIFQ2IGl0ZW02OworICAgIHR5cGVkZWYgVDcgaXRlbTc7CisgICAgdHlwZWRlZiBUOCBpdGVtODsKKyAgICB0eXBlZGVmIFQ5IGl0ZW05OworICAgIHR5cGVkZWYgVDEwIGl0ZW0xMDsKKyAgICB0eXBlZGVmIFQxMSBpdGVtMTE7CisgICAgdHlwZWRlZiBUMTIgaXRlbTEyOworICAgIHR5cGVkZWYgVDEzIGl0ZW0xMzsKKyAgICB0eXBlZGVmIFQxNCBpdGVtMTQ7CisgICAgdHlwZWRlZiBUMTUgaXRlbTE1OworICAgIHR5cGVkZWYgVDE2IGl0ZW0xNjsKKyAgICB0eXBlZGVmIFQxNyBpdGVtMTc7CisgICAgdHlwZWRlZiBUMTggaXRlbTE4OworICAgIHR5cGVkZWYgVDE5IGl0ZW0xOTsKKyAgICB0eXBlZGVmIFQyMCBpdGVtMjA7CisgICAgdHlwZWRlZiBUMjEgaXRlbTIxOworICAgIHR5cGVkZWYgVDIyIGl0ZW0yMjsKKyAgICB0eXBlZGVmIFQyMyBpdGVtMjM7CisgICAgdHlwZWRlZiBUMjQgaXRlbTI0OworICAgIHR5cGVkZWYgVDI1IGl0ZW0yNTsKKyAgICB0eXBlZGVmIFQyNiBpdGVtMjY7CisgICAgdHlwZWRlZiBUMjcgaXRlbTI3OworICAgIHR5cGVkZWYgVDI4IGl0ZW0yODsKKyAgICB0eXBlZGVmIFQyOSBpdGVtMjk7CisgICAgdHlwZWRlZiBUMzAgaXRlbTMwOworICAgIHR5cGVkZWYgVDMxIGl0ZW0zMTsKKyAgICB0eXBlZGVmIFQzMiBpdGVtMzI7CisgICAgdHlwZWRlZiBUMzMgaXRlbTMzOworICAgIHR5cGVkZWYgVDM0IGl0ZW0zNDsKKyAgICB0eXBlZGVmIFQzNSBpdGVtMzU7CisgICAgdHlwZWRlZiBUMzYgaXRlbTM2OworICAgIHR5cGVkZWYgVDM3IGl0ZW0zNzsKKyAgICB0eXBlZGVmIFQzOCBpdGVtMzg7CisgICAgdHlwZWRlZiBUMzkgaXRlbTM5OworICAgIHR5cGVkZWYgVDQwIGl0ZW00MDsKKyAgICB0eXBlZGVmIFQ0MSBpdGVtNDE7CisgICAgdHlwZWRlZiBUNDIgaXRlbTQyOworICAgIHR5cGVkZWYgVDQzIGl0ZW00MzsKKyAgICB0eXBlZGVmIFQ0NCBpdGVtNDQ7CisgICAgdHlwZWRlZiBUNDUgaXRlbTQ1OworICAgIHR5cGVkZWYgVDQ2IGl0ZW00NjsKKyAgICAKKworICAgIHR5cGVkZWYgdm9pZF8gaXRlbTQ3OworICAgIHR5cGVkZWYgVDQ2IGJhY2s7CisgICAgdHlwZWRlZiB2X2l0ZXI8IHR5cGUsMCA+IGJlZ2luOworICAgIHR5cGVkZWYgdl9pdGVyPCB0eXBlLDQ3ID4gZW5kOworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHB1c2hfZnJvbnRfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDQ2PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciwgdHlwZW5hbWUgVCA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3I0NzwKKyAgICAgICAgICAgICAgVAorICAgICAgICAgICAgICAsCisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMxCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM4LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00MCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQ0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00NQorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcG9wX2Zyb250X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzw0Nz4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yNDY8CisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMywgdHlwZW5hbWUgVmVjdG9yOjppdGVtNAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW02CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTgKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTAKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTEsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEyCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEzLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTYKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTcsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE4CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE5LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjIKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjMsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI0CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI1LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNywgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjgKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjksIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMwCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMxLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMywgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzQKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzUsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM2CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM3LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zOAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zOSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDAKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDEsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQyCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQzLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00NAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00NSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDYKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHB1c2hfYmFja19pbXBsPCBhdXg6OnZlY3Rvcl90YWc8NDY+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yLCB0eXBlbmFtZSBUID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjQ3PAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0wLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW02LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW03CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTExCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE4LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQxCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00MworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00NCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDUKKyAgICAgICAgICAgICAgLAorICAgICAgICAgICAgICBUCisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwb3BfYmFja19pbXBsPCBhdXg6OnZlY3Rvcl90YWc8NDc+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjQ2PAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0wLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW02LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW03CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTExCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE4LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQxCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00MworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00NCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDUKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKworbmFtZXNwYWNlIGF1eCB7Cit0ZW1wbGF0ZTw+IHN0cnVjdCB2X2F0X2ltcGw8NDc+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZfID4gc3RydWN0IHJlc3VsdF8KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgVl86Oml0ZW00NyB0eXBlOworICAgIH07Cit9OworCit9CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBhdF9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8NDc+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVl8sIHR5cGVuYW1lIE4gPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYXV4Ojp2X2F0X2ltcGw8Qk9PU1RfTVBMX0FVWF9WQUxVRV9XS05EKE4pOjp2YWx1ZT4KKyAgICAgICAgICAgIDo6dGVtcGxhdGUgcmVzdWx0XzxWXz46OnR5cGUgdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGZyb250X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzw0Nz4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgYmFja19pbXBsPCBhdXg6OnZlY3Rvcl90YWc8NDc+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIFZlY3Rvcjo6YmFjayB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgZW1wdHlfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDQ3PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgICAgICA6IGZhbHNlXworICAgIHsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHNpemVfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDQ3PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgICAgICA6IGxvbmdfPDQ3PgorICAgIHsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IE8xX3NpemVfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDQ3PiA+CisgICAgOiBzaXplX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzw0Nz4gPgoreworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGNsZWFyX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzw0Nz4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yMDw+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICwgdHlwZW5hbWUgVDIwLCB0eXBlbmFtZSBUMjEsIHR5cGVuYW1lIFQyMiwgdHlwZW5hbWUgVDIzLCB0eXBlbmFtZSBUMjQKKyAgICAsIHR5cGVuYW1lIFQyNSwgdHlwZW5hbWUgVDI2LCB0eXBlbmFtZSBUMjcsIHR5cGVuYW1lIFQyOCwgdHlwZW5hbWUgVDI5CisgICAgLCB0eXBlbmFtZSBUMzAsIHR5cGVuYW1lIFQzMSwgdHlwZW5hbWUgVDMyLCB0eXBlbmFtZSBUMzMsIHR5cGVuYW1lIFQzNAorICAgICwgdHlwZW5hbWUgVDM1LCB0eXBlbmFtZSBUMzYsIHR5cGVuYW1lIFQzNywgdHlwZW5hbWUgVDM4LCB0eXBlbmFtZSBUMzkKKyAgICAsIHR5cGVuYW1lIFQ0MCwgdHlwZW5hbWUgVDQxLCB0eXBlbmFtZSBUNDIsIHR5cGVuYW1lIFQ0MywgdHlwZW5hbWUgVDQ0CisgICAgLCB0eXBlbmFtZSBUNDUsIHR5cGVuYW1lIFQ0NiwgdHlwZW5hbWUgVDQ3CisgICAgPgorc3RydWN0IHZlY3RvcjQ4Cit7CisgICAgdHlwZWRlZiBhdXg6OnZlY3Rvcl90YWc8NDg+IHRhZzsKKyAgICB0eXBlZGVmIHZlY3RvcjQ4IHR5cGU7CisgICAgdHlwZWRlZiBUMCBpdGVtMDsKKyAgICB0eXBlZGVmIFQxIGl0ZW0xOworICAgIHR5cGVkZWYgVDIgaXRlbTI7CisgICAgdHlwZWRlZiBUMyBpdGVtMzsKKyAgICB0eXBlZGVmIFQ0IGl0ZW00OworICAgIHR5cGVkZWYgVDUgaXRlbTU7CisgICAgdHlwZWRlZiBUNiBpdGVtNjsKKyAgICB0eXBlZGVmIFQ3IGl0ZW03OworICAgIHR5cGVkZWYgVDggaXRlbTg7CisgICAgdHlwZWRlZiBUOSBpdGVtOTsKKyAgICB0eXBlZGVmIFQxMCBpdGVtMTA7CisgICAgdHlwZWRlZiBUMTEgaXRlbTExOworICAgIHR5cGVkZWYgVDEyIGl0ZW0xMjsKKyAgICB0eXBlZGVmIFQxMyBpdGVtMTM7CisgICAgdHlwZWRlZiBUMTQgaXRlbTE0OworICAgIHR5cGVkZWYgVDE1IGl0ZW0xNTsKKyAgICB0eXBlZGVmIFQxNiBpdGVtMTY7CisgICAgdHlwZWRlZiBUMTcgaXRlbTE3OworICAgIHR5cGVkZWYgVDE4IGl0ZW0xODsKKyAgICB0eXBlZGVmIFQxOSBpdGVtMTk7CisgICAgdHlwZWRlZiBUMjAgaXRlbTIwOworICAgIHR5cGVkZWYgVDIxIGl0ZW0yMTsKKyAgICB0eXBlZGVmIFQyMiBpdGVtMjI7CisgICAgdHlwZWRlZiBUMjMgaXRlbTIzOworICAgIHR5cGVkZWYgVDI0IGl0ZW0yNDsKKyAgICB0eXBlZGVmIFQyNSBpdGVtMjU7CisgICAgdHlwZWRlZiBUMjYgaXRlbTI2OworICAgIHR5cGVkZWYgVDI3IGl0ZW0yNzsKKyAgICB0eXBlZGVmIFQyOCBpdGVtMjg7CisgICAgdHlwZWRlZiBUMjkgaXRlbTI5OworICAgIHR5cGVkZWYgVDMwIGl0ZW0zMDsKKyAgICB0eXBlZGVmIFQzMSBpdGVtMzE7CisgICAgdHlwZWRlZiBUMzIgaXRlbTMyOworICAgIHR5cGVkZWYgVDMzIGl0ZW0zMzsKKyAgICB0eXBlZGVmIFQzNCBpdGVtMzQ7CisgICAgdHlwZWRlZiBUMzUgaXRlbTM1OworICAgIHR5cGVkZWYgVDM2IGl0ZW0zNjsKKyAgICB0eXBlZGVmIFQzNyBpdGVtMzc7CisgICAgdHlwZWRlZiBUMzggaXRlbTM4OworICAgIHR5cGVkZWYgVDM5IGl0ZW0zOTsKKyAgICB0eXBlZGVmIFQ0MCBpdGVtNDA7CisgICAgdHlwZWRlZiBUNDEgaXRlbTQxOworICAgIHR5cGVkZWYgVDQyIGl0ZW00MjsKKyAgICB0eXBlZGVmIFQ0MyBpdGVtNDM7CisgICAgdHlwZWRlZiBUNDQgaXRlbTQ0OworICAgIHR5cGVkZWYgVDQ1IGl0ZW00NTsKKyAgICB0eXBlZGVmIFQ0NiBpdGVtNDY7CisgICAgdHlwZWRlZiBUNDcgaXRlbTQ3OworICAgIAorCisgICAgdHlwZWRlZiB2b2lkXyBpdGVtNDg7CisgICAgdHlwZWRlZiBUNDcgYmFjazsKKyAgICB0eXBlZGVmIHZfaXRlcjwgdHlwZSwwID4gYmVnaW47CisgICAgdHlwZWRlZiB2X2l0ZXI8IHR5cGUsNDggPiBlbmQ7Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcHVzaF9mcm9udF9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8NDc+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yLCB0eXBlbmFtZSBUID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjQ4PAorICAgICAgICAgICAgICBUCisgICAgICAgICAgICAgICwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW04LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW05CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIxCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI4LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00MQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00MiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQ1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQ2CisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwb3BfZnJvbnRfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDQ4PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3I0NzwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNywgdHlwZW5hbWUgVmVjdG9yOjppdGVtOAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW05LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTIKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTMsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE0CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE1LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNywgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTgKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTksIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIwCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIxLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMywgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjQKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjUsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI2CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI3LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yOAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yOSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzAKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzEsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMyCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMzLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzYKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzcsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM4CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM5LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00MAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00MSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDIKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDMsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQ0CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQ1LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00NgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00NworICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcHVzaF9iYWNrX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzw0Nz4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IsIHR5cGVuYW1lIFQgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yNDg8CisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMxCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM4LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00MCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQ0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00NQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00NgorICAgICAgICAgICAgICAsCisgICAgICAgICAgICAgIFQKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHBvcF9iYWNrX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzw0OD4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yNDc8CisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMxCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM4LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00MCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQ0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00NQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00NgorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCituYW1lc3BhY2UgYXV4IHsKK3RlbXBsYXRlPD4gc3RydWN0IHZfYXRfaW1wbDw0OD4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVl8gPiBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBWXzo6aXRlbTQ4IHR5cGU7CisgICAgfTsKK307CisKK30KKwordGVtcGxhdGU8Pgorc3RydWN0IGF0X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzw0OD4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWXywgdHlwZW5hbWUgTiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhdXg6OnZfYXRfaW1wbDxCT09TVF9NUExfQVVYX1ZBTFVFX1dLTkQoTik6OnZhbHVlPgorICAgICAgICAgICAgOjp0ZW1wbGF0ZSByZXN1bHRfPFZfPjo6dHlwZSB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgZnJvbnRfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDQ4PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0wIHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBiYWNrX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzw0OD4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgVmVjdG9yOjpiYWNrIHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBlbXB0eV9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8NDg+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgICAgIDogZmFsc2VfCisgICAgeworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3Qgc2l6ZV9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8NDg+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgICAgIDogbG9uZ188NDg+CisgICAgeworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgTzFfc2l6ZV9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8NDg+ID4KKyAgICA6IHNpemVfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDQ4PiA+Cit7Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgY2xlYXJfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDQ4PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IwPD4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgLCB0eXBlbmFtZSBUMjAsIHR5cGVuYW1lIFQyMSwgdHlwZW5hbWUgVDIyLCB0eXBlbmFtZSBUMjMsIHR5cGVuYW1lIFQyNAorICAgICwgdHlwZW5hbWUgVDI1LCB0eXBlbmFtZSBUMjYsIHR5cGVuYW1lIFQyNywgdHlwZW5hbWUgVDI4LCB0eXBlbmFtZSBUMjkKKyAgICAsIHR5cGVuYW1lIFQzMCwgdHlwZW5hbWUgVDMxLCB0eXBlbmFtZSBUMzIsIHR5cGVuYW1lIFQzMywgdHlwZW5hbWUgVDM0CisgICAgLCB0eXBlbmFtZSBUMzUsIHR5cGVuYW1lIFQzNiwgdHlwZW5hbWUgVDM3LCB0eXBlbmFtZSBUMzgsIHR5cGVuYW1lIFQzOQorICAgICwgdHlwZW5hbWUgVDQwLCB0eXBlbmFtZSBUNDEsIHR5cGVuYW1lIFQ0MiwgdHlwZW5hbWUgVDQzLCB0eXBlbmFtZSBUNDQKKyAgICAsIHR5cGVuYW1lIFQ0NSwgdHlwZW5hbWUgVDQ2LCB0eXBlbmFtZSBUNDcsIHR5cGVuYW1lIFQ0OAorICAgID4KK3N0cnVjdCB2ZWN0b3I0OQoreworICAgIHR5cGVkZWYgYXV4Ojp2ZWN0b3JfdGFnPDQ5PiB0YWc7CisgICAgdHlwZWRlZiB2ZWN0b3I0OSB0eXBlOworICAgIHR5cGVkZWYgVDAgaXRlbTA7CisgICAgdHlwZWRlZiBUMSBpdGVtMTsKKyAgICB0eXBlZGVmIFQyIGl0ZW0yOworICAgIHR5cGVkZWYgVDMgaXRlbTM7CisgICAgdHlwZWRlZiBUNCBpdGVtNDsKKyAgICB0eXBlZGVmIFQ1IGl0ZW01OworICAgIHR5cGVkZWYgVDYgaXRlbTY7CisgICAgdHlwZWRlZiBUNyBpdGVtNzsKKyAgICB0eXBlZGVmIFQ4IGl0ZW04OworICAgIHR5cGVkZWYgVDkgaXRlbTk7CisgICAgdHlwZWRlZiBUMTAgaXRlbTEwOworICAgIHR5cGVkZWYgVDExIGl0ZW0xMTsKKyAgICB0eXBlZGVmIFQxMiBpdGVtMTI7CisgICAgdHlwZWRlZiBUMTMgaXRlbTEzOworICAgIHR5cGVkZWYgVDE0IGl0ZW0xNDsKKyAgICB0eXBlZGVmIFQxNSBpdGVtMTU7CisgICAgdHlwZWRlZiBUMTYgaXRlbTE2OworICAgIHR5cGVkZWYgVDE3IGl0ZW0xNzsKKyAgICB0eXBlZGVmIFQxOCBpdGVtMTg7CisgICAgdHlwZWRlZiBUMTkgaXRlbTE5OworICAgIHR5cGVkZWYgVDIwIGl0ZW0yMDsKKyAgICB0eXBlZGVmIFQyMSBpdGVtMjE7CisgICAgdHlwZWRlZiBUMjIgaXRlbTIyOworICAgIHR5cGVkZWYgVDIzIGl0ZW0yMzsKKyAgICB0eXBlZGVmIFQyNCBpdGVtMjQ7CisgICAgdHlwZWRlZiBUMjUgaXRlbTI1OworICAgIHR5cGVkZWYgVDI2IGl0ZW0yNjsKKyAgICB0eXBlZGVmIFQyNyBpdGVtMjc7CisgICAgdHlwZWRlZiBUMjggaXRlbTI4OworICAgIHR5cGVkZWYgVDI5IGl0ZW0yOTsKKyAgICB0eXBlZGVmIFQzMCBpdGVtMzA7CisgICAgdHlwZWRlZiBUMzEgaXRlbTMxOworICAgIHR5cGVkZWYgVDMyIGl0ZW0zMjsKKyAgICB0eXBlZGVmIFQzMyBpdGVtMzM7CisgICAgdHlwZWRlZiBUMzQgaXRlbTM0OworICAgIHR5cGVkZWYgVDM1IGl0ZW0zNTsKKyAgICB0eXBlZGVmIFQzNiBpdGVtMzY7CisgICAgdHlwZWRlZiBUMzcgaXRlbTM3OworICAgIHR5cGVkZWYgVDM4IGl0ZW0zODsKKyAgICB0eXBlZGVmIFQzOSBpdGVtMzk7CisgICAgdHlwZWRlZiBUNDAgaXRlbTQwOworICAgIHR5cGVkZWYgVDQxIGl0ZW00MTsKKyAgICB0eXBlZGVmIFQ0MiBpdGVtNDI7CisgICAgdHlwZWRlZiBUNDMgaXRlbTQzOworICAgIHR5cGVkZWYgVDQ0IGl0ZW00NDsKKyAgICB0eXBlZGVmIFQ0NSBpdGVtNDU7CisgICAgdHlwZWRlZiBUNDYgaXRlbTQ2OworICAgIHR5cGVkZWYgVDQ3IGl0ZW00NzsKKyAgICB0eXBlZGVmIFQ0OCBpdGVtNDg7CisgICAgCisKKyAgICB0eXBlZGVmIHZvaWRfIGl0ZW00OTsKKyAgICB0eXBlZGVmIFQ0OCBiYWNrOworICAgIHR5cGVkZWYgdl9pdGVyPCB0eXBlLDAgPiBiZWdpbjsKKyAgICB0eXBlZGVmIHZfaXRlcjwgdHlwZSw0OSA+IGVuZDsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwdXNoX2Zyb250X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzw0OD4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IsIHR5cGVuYW1lIFQgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yNDk8CisgICAgICAgICAgICAgIFQKKyAgICAgICAgICAgICAgLAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0wLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW02LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW03CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTExCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE4LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQxCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00MworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00NCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQ3CisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwb3BfZnJvbnRfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDQ5PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3I0ODwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNywgdHlwZW5hbWUgVmVjdG9yOjppdGVtOAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW05LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTIKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTMsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE0CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE1LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNywgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTgKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTksIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIwCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIxLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMywgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjQKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjUsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI2CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI3LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yOAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yOSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzAKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzEsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMyCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMzLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzYKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzcsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM4CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM5LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00MAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00MSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDIKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDMsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQ0CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQ1LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00NgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00NywgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDgKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHB1c2hfYmFja19pbXBsPCBhdXg6OnZlY3Rvcl90YWc8NDg+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yLCB0eXBlbmFtZSBUID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjQ5PAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0wLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW02LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW03CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTExCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE4LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQxCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00MworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00NCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQ3CisgICAgICAgICAgICAgICwKKyAgICAgICAgICAgICAgVAorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcG9wX2JhY2tfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDQ5PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3I0ODwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW04LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW05CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIxCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI4LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00MQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00MiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQ1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQ2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00NworICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCituYW1lc3BhY2UgYXV4IHsKK3RlbXBsYXRlPD4gc3RydWN0IHZfYXRfaW1wbDw0OT4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVl8gPiBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBWXzo6aXRlbTQ5IHR5cGU7CisgICAgfTsKK307CisKK30KKwordGVtcGxhdGU8Pgorc3RydWN0IGF0X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzw0OT4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWXywgdHlwZW5hbWUgTiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhdXg6OnZfYXRfaW1wbDxCT09TVF9NUExfQVVYX1ZBTFVFX1dLTkQoTik6OnZhbHVlPgorICAgICAgICAgICAgOjp0ZW1wbGF0ZSByZXN1bHRfPFZfPjo6dHlwZSB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgZnJvbnRfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDQ5PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0wIHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBiYWNrX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzw0OT4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgVmVjdG9yOjpiYWNrIHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBlbXB0eV9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8NDk+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgICAgIDogZmFsc2VfCisgICAgeworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3Qgc2l6ZV9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8NDk+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgICAgIDogbG9uZ188NDk+CisgICAgeworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgTzFfc2l6ZV9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8NDk+ID4KKyAgICA6IHNpemVfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDQ5PiA+Cit7Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgY2xlYXJfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDQ5PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IwPD4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgLCB0eXBlbmFtZSBUMjAsIHR5cGVuYW1lIFQyMSwgdHlwZW5hbWUgVDIyLCB0eXBlbmFtZSBUMjMsIHR5cGVuYW1lIFQyNAorICAgICwgdHlwZW5hbWUgVDI1LCB0eXBlbmFtZSBUMjYsIHR5cGVuYW1lIFQyNywgdHlwZW5hbWUgVDI4LCB0eXBlbmFtZSBUMjkKKyAgICAsIHR5cGVuYW1lIFQzMCwgdHlwZW5hbWUgVDMxLCB0eXBlbmFtZSBUMzIsIHR5cGVuYW1lIFQzMywgdHlwZW5hbWUgVDM0CisgICAgLCB0eXBlbmFtZSBUMzUsIHR5cGVuYW1lIFQzNiwgdHlwZW5hbWUgVDM3LCB0eXBlbmFtZSBUMzgsIHR5cGVuYW1lIFQzOQorICAgICwgdHlwZW5hbWUgVDQwLCB0eXBlbmFtZSBUNDEsIHR5cGVuYW1lIFQ0MiwgdHlwZW5hbWUgVDQzLCB0eXBlbmFtZSBUNDQKKyAgICAsIHR5cGVuYW1lIFQ0NSwgdHlwZW5hbWUgVDQ2LCB0eXBlbmFtZSBUNDcsIHR5cGVuYW1lIFQ0OCwgdHlwZW5hbWUgVDQ5CisgICAgPgorc3RydWN0IHZlY3RvcjUwCit7CisgICAgdHlwZWRlZiBhdXg6OnZlY3Rvcl90YWc8NTA+IHRhZzsKKyAgICB0eXBlZGVmIHZlY3RvcjUwIHR5cGU7CisgICAgdHlwZWRlZiBUMCBpdGVtMDsKKyAgICB0eXBlZGVmIFQxIGl0ZW0xOworICAgIHR5cGVkZWYgVDIgaXRlbTI7CisgICAgdHlwZWRlZiBUMyBpdGVtMzsKKyAgICB0eXBlZGVmIFQ0IGl0ZW00OworICAgIHR5cGVkZWYgVDUgaXRlbTU7CisgICAgdHlwZWRlZiBUNiBpdGVtNjsKKyAgICB0eXBlZGVmIFQ3IGl0ZW03OworICAgIHR5cGVkZWYgVDggaXRlbTg7CisgICAgdHlwZWRlZiBUOSBpdGVtOTsKKyAgICB0eXBlZGVmIFQxMCBpdGVtMTA7CisgICAgdHlwZWRlZiBUMTEgaXRlbTExOworICAgIHR5cGVkZWYgVDEyIGl0ZW0xMjsKKyAgICB0eXBlZGVmIFQxMyBpdGVtMTM7CisgICAgdHlwZWRlZiBUMTQgaXRlbTE0OworICAgIHR5cGVkZWYgVDE1IGl0ZW0xNTsKKyAgICB0eXBlZGVmIFQxNiBpdGVtMTY7CisgICAgdHlwZWRlZiBUMTcgaXRlbTE3OworICAgIHR5cGVkZWYgVDE4IGl0ZW0xODsKKyAgICB0eXBlZGVmIFQxOSBpdGVtMTk7CisgICAgdHlwZWRlZiBUMjAgaXRlbTIwOworICAgIHR5cGVkZWYgVDIxIGl0ZW0yMTsKKyAgICB0eXBlZGVmIFQyMiBpdGVtMjI7CisgICAgdHlwZWRlZiBUMjMgaXRlbTIzOworICAgIHR5cGVkZWYgVDI0IGl0ZW0yNDsKKyAgICB0eXBlZGVmIFQyNSBpdGVtMjU7CisgICAgdHlwZWRlZiBUMjYgaXRlbTI2OworICAgIHR5cGVkZWYgVDI3IGl0ZW0yNzsKKyAgICB0eXBlZGVmIFQyOCBpdGVtMjg7CisgICAgdHlwZWRlZiBUMjkgaXRlbTI5OworICAgIHR5cGVkZWYgVDMwIGl0ZW0zMDsKKyAgICB0eXBlZGVmIFQzMSBpdGVtMzE7CisgICAgdHlwZWRlZiBUMzIgaXRlbTMyOworICAgIHR5cGVkZWYgVDMzIGl0ZW0zMzsKKyAgICB0eXBlZGVmIFQzNCBpdGVtMzQ7CisgICAgdHlwZWRlZiBUMzUgaXRlbTM1OworICAgIHR5cGVkZWYgVDM2IGl0ZW0zNjsKKyAgICB0eXBlZGVmIFQzNyBpdGVtMzc7CisgICAgdHlwZWRlZiBUMzggaXRlbTM4OworICAgIHR5cGVkZWYgVDM5IGl0ZW0zOTsKKyAgICB0eXBlZGVmIFQ0MCBpdGVtNDA7CisgICAgdHlwZWRlZiBUNDEgaXRlbTQxOworICAgIHR5cGVkZWYgVDQyIGl0ZW00MjsKKyAgICB0eXBlZGVmIFQ0MyBpdGVtNDM7CisgICAgdHlwZWRlZiBUNDQgaXRlbTQ0OworICAgIHR5cGVkZWYgVDQ1IGl0ZW00NTsKKyAgICB0eXBlZGVmIFQ0NiBpdGVtNDY7CisgICAgdHlwZWRlZiBUNDcgaXRlbTQ3OworICAgIHR5cGVkZWYgVDQ4IGl0ZW00ODsKKyAgICB0eXBlZGVmIFQ0OSBpdGVtNDk7CisgICAgCisKKyAgICB0eXBlZGVmIHZvaWRfIGl0ZW01MDsKKyAgICB0eXBlZGVmIFQ0OSBiYWNrOworICAgIHR5cGVkZWYgdl9pdGVyPCB0eXBlLDAgPiBiZWdpbjsKKyAgICB0eXBlZGVmIHZfaXRlcjwgdHlwZSw1MCA+IGVuZDsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwdXNoX2Zyb250X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzw0OT4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IsIHR5cGVuYW1lIFQgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yNTA8CisgICAgICAgICAgICAgIFQKKyAgICAgICAgICAgICAgLAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0wLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW02LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW03CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTExCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE4LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQxCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00MworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00NCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQ3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQ4CisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwb3BfZnJvbnRfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDUwPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3I0OTwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNywgdHlwZW5hbWUgVmVjdG9yOjppdGVtOAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW05LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTIKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTMsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE0CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE1LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNywgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTgKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTksIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIwCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIxLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMywgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjQKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjUsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI2CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI3LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yOAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yOSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzAKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzEsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMyCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMzLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzYKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzcsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM4CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM5LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00MAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00MSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDIKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDMsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQ0CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQ1LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00NgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00NywgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDgKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDkKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHB1c2hfYmFja19pbXBsPCBhdXg6OnZlY3Rvcl90YWc8NDk+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yLCB0eXBlbmFtZSBUID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjUwPAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0wLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW02LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW03CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTExCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE4LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQxCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00MworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00NCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQ3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQ4CisgICAgICAgICAgICAgICwKKyAgICAgICAgICAgICAgVAorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcG9wX2JhY2tfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDUwPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3I0OTwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW04LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW05CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIxCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI4LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00MQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00MiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQ1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQ2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00NworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00OAorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCituYW1lc3BhY2UgYXV4IHsKK3RlbXBsYXRlPD4gc3RydWN0IHZfYXRfaW1wbDw1MD4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVl8gPiBzdHJ1Y3QgcmVzdWx0XworICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBWXzo6aXRlbTUwIHR5cGU7CisgICAgfTsKK307CisKK30KKwordGVtcGxhdGU8Pgorc3RydWN0IGF0X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzw1MD4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWXywgdHlwZW5hbWUgTiA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhdXg6OnZfYXRfaW1wbDxCT09TVF9NUExfQVVYX1ZBTFVFX1dLTkQoTik6OnZhbHVlPgorICAgICAgICAgICAgOjp0ZW1wbGF0ZSByZXN1bHRfPFZfPjo6dHlwZSB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgZnJvbnRfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDUwPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0wIHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBiYWNrX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzw1MD4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgVmVjdG9yOjpiYWNrIHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBlbXB0eV9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8NTA+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgICAgIDogZmFsc2VfCisgICAgeworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3Qgc2l6ZV9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8NTA+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgICAgIDogbG9uZ188NTA+CisgICAgeworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgTzFfc2l6ZV9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8NTA+ID4KKyAgICA6IHNpemVfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDUwPiA+Cit7Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgY2xlYXJfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDUwPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IwPD4gdHlwZTsKKyAgICB9OworfTsKKworfX0KZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC92ZWN0b3IvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fY3Rwcy92ZWN0b3I1MF9jLmhwcCBiL25kbmJvb3N0L21wbC92ZWN0b3IvYXV4Xy9wcmVwcm9jZXNzZWQvbm9fY3Rwcy92ZWN0b3I1MF9jLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40ZTVhNjM5Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL3ZlY3Rvci9hdXhfL3ByZXByb2Nlc3NlZC9ub19jdHBzL3ZlY3RvcjUwX2MuaHBwCkBAIC0wLDAgKzEsMzI1IEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC92ZWN0b3IvdmVjdG9yNTBfYy5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUCisgICAgLCBUIEMwLCBUIEMxLCBUIEMyLCBUIEMzLCBUIEM0LCBUIEM1LCBUIEM2LCBUIEM3LCBUIEM4LCBUIEM5LCBUIEMxMAorICAgICwgVCBDMTEsIFQgQzEyLCBUIEMxMywgVCBDMTQsIFQgQzE1LCBUIEMxNiwgVCBDMTcsIFQgQzE4LCBUIEMxOSwgVCBDMjAKKyAgICAsIFQgQzIxLCBUIEMyMiwgVCBDMjMsIFQgQzI0LCBUIEMyNSwgVCBDMjYsIFQgQzI3LCBUIEMyOCwgVCBDMjksIFQgQzMwCisgICAgLCBUIEMzMSwgVCBDMzIsIFQgQzMzLCBUIEMzNCwgVCBDMzUsIFQgQzM2LCBUIEMzNywgVCBDMzgsIFQgQzM5LCBUIEM0MAorICAgID4KK3N0cnVjdCB2ZWN0b3I0MV9jCisgICAgOiB2ZWN0b3I0MTwKKyAgICAgICAgICBpbnRlZ3JhbF9jPCBULEMwID4sIGludGVncmFsX2M8IFQsQzEgPiwgaW50ZWdyYWxfYzwgVCxDMiA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMyA+LCBpbnRlZ3JhbF9jPCBULEM0ID4sIGludGVncmFsX2M8IFQsQzUgPiwgaW50ZWdyYWxfYzwgVCxDNiA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDNyA+LCBpbnRlZ3JhbF9jPCBULEM4ID4sIGludGVncmFsX2M8IFQsQzkgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzEwID4sIGludGVncmFsX2M8IFQsQzExID4sIGludGVncmFsX2M8IFQsQzEyID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMxMyA+LCBpbnRlZ3JhbF9jPCBULEMxNCA+LCBpbnRlZ3JhbF9jPCBULEMxNSA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMTYgPiwgaW50ZWdyYWxfYzwgVCxDMTcgPiwgaW50ZWdyYWxfYzwgVCxDMTggPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzE5ID4sIGludGVncmFsX2M8IFQsQzIwID4sIGludGVncmFsX2M8IFQsQzIxID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMyMiA+LCBpbnRlZ3JhbF9jPCBULEMyMyA+LCBpbnRlZ3JhbF9jPCBULEMyNCA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMjUgPiwgaW50ZWdyYWxfYzwgVCxDMjYgPiwgaW50ZWdyYWxfYzwgVCxDMjcgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzI4ID4sIGludGVncmFsX2M8IFQsQzI5ID4sIGludGVncmFsX2M8IFQsQzMwID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMzMSA+LCBpbnRlZ3JhbF9jPCBULEMzMiA+LCBpbnRlZ3JhbF9jPCBULEMzMyA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMzQgPiwgaW50ZWdyYWxfYzwgVCxDMzUgPiwgaW50ZWdyYWxfYzwgVCxDMzYgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzM3ID4sIGludGVncmFsX2M8IFQsQzM4ID4sIGludGVncmFsX2M8IFQsQzM5ID4sIGludGVncmFsX2M8VAorICAgICAgICAsIEM0MD4gCisgPgoreworICAgIHR5cGVkZWYgdmVjdG9yNDFfYyB0eXBlOworICAgIHR5cGVkZWYgVCB2YWx1ZV90eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUCisgICAgLCBUIEMwLCBUIEMxLCBUIEMyLCBUIEMzLCBUIEM0LCBUIEM1LCBUIEM2LCBUIEM3LCBUIEM4LCBUIEM5LCBUIEMxMAorICAgICwgVCBDMTEsIFQgQzEyLCBUIEMxMywgVCBDMTQsIFQgQzE1LCBUIEMxNiwgVCBDMTcsIFQgQzE4LCBUIEMxOSwgVCBDMjAKKyAgICAsIFQgQzIxLCBUIEMyMiwgVCBDMjMsIFQgQzI0LCBUIEMyNSwgVCBDMjYsIFQgQzI3LCBUIEMyOCwgVCBDMjksIFQgQzMwCisgICAgLCBUIEMzMSwgVCBDMzIsIFQgQzMzLCBUIEMzNCwgVCBDMzUsIFQgQzM2LCBUIEMzNywgVCBDMzgsIFQgQzM5LCBUIEM0MAorICAgICwgVCBDNDEKKyAgICA+CitzdHJ1Y3QgdmVjdG9yNDJfYworICAgIDogdmVjdG9yNDI8CisgICAgICAgICAgaW50ZWdyYWxfYzwgVCxDMCA+LCBpbnRlZ3JhbF9jPCBULEMxID4sIGludGVncmFsX2M8IFQsQzIgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzMgPiwgaW50ZWdyYWxfYzwgVCxDNCA+LCBpbnRlZ3JhbF9jPCBULEM1ID4sIGludGVncmFsX2M8IFQsQzYgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzcgPiwgaW50ZWdyYWxfYzwgVCxDOCA+LCBpbnRlZ3JhbF9jPCBULEM5ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMxMCA+LCBpbnRlZ3JhbF9jPCBULEMxMSA+LCBpbnRlZ3JhbF9jPCBULEMxMiA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMTMgPiwgaW50ZWdyYWxfYzwgVCxDMTQgPiwgaW50ZWdyYWxfYzwgVCxDMTUgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzE2ID4sIGludGVncmFsX2M8IFQsQzE3ID4sIGludGVncmFsX2M8IFQsQzE4ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMxOSA+LCBpbnRlZ3JhbF9jPCBULEMyMCA+LCBpbnRlZ3JhbF9jPCBULEMyMSA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMjIgPiwgaW50ZWdyYWxfYzwgVCxDMjMgPiwgaW50ZWdyYWxfYzwgVCxDMjQgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzI1ID4sIGludGVncmFsX2M8IFQsQzI2ID4sIGludGVncmFsX2M8IFQsQzI3ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMyOCA+LCBpbnRlZ3JhbF9jPCBULEMyOSA+LCBpbnRlZ3JhbF9jPCBULEMzMCA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMzEgPiwgaW50ZWdyYWxfYzwgVCxDMzIgPiwgaW50ZWdyYWxfYzwgVCxDMzMgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzM0ID4sIGludGVncmFsX2M8IFQsQzM1ID4sIGludGVncmFsX2M8IFQsQzM2ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMzNyA+LCBpbnRlZ3JhbF9jPCBULEMzOCA+LCBpbnRlZ3JhbF9jPCBULEMzOSA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDNDAgPiwgaW50ZWdyYWxfYzwgVCxDNDEgPiAKKyA+Cit7CisgICAgdHlwZWRlZiB2ZWN0b3I0Ml9jIHR5cGU7CisgICAgdHlwZWRlZiBUIHZhbHVlX3R5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQKKyAgICAsIFQgQzAsIFQgQzEsIFQgQzIsIFQgQzMsIFQgQzQsIFQgQzUsIFQgQzYsIFQgQzcsIFQgQzgsIFQgQzksIFQgQzEwCisgICAgLCBUIEMxMSwgVCBDMTIsIFQgQzEzLCBUIEMxNCwgVCBDMTUsIFQgQzE2LCBUIEMxNywgVCBDMTgsIFQgQzE5LCBUIEMyMAorICAgICwgVCBDMjEsIFQgQzIyLCBUIEMyMywgVCBDMjQsIFQgQzI1LCBUIEMyNiwgVCBDMjcsIFQgQzI4LCBUIEMyOSwgVCBDMzAKKyAgICAsIFQgQzMxLCBUIEMzMiwgVCBDMzMsIFQgQzM0LCBUIEMzNSwgVCBDMzYsIFQgQzM3LCBUIEMzOCwgVCBDMzksIFQgQzQwCisgICAgLCBUIEM0MSwgVCBDNDIKKyAgICA+CitzdHJ1Y3QgdmVjdG9yNDNfYworICAgIDogdmVjdG9yNDM8CisgICAgICAgICAgaW50ZWdyYWxfYzwgVCxDMCA+LCBpbnRlZ3JhbF9jPCBULEMxID4sIGludGVncmFsX2M8IFQsQzIgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzMgPiwgaW50ZWdyYWxfYzwgVCxDNCA+LCBpbnRlZ3JhbF9jPCBULEM1ID4sIGludGVncmFsX2M8IFQsQzYgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzcgPiwgaW50ZWdyYWxfYzwgVCxDOCA+LCBpbnRlZ3JhbF9jPCBULEM5ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMxMCA+LCBpbnRlZ3JhbF9jPCBULEMxMSA+LCBpbnRlZ3JhbF9jPCBULEMxMiA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMTMgPiwgaW50ZWdyYWxfYzwgVCxDMTQgPiwgaW50ZWdyYWxfYzwgVCxDMTUgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzE2ID4sIGludGVncmFsX2M8IFQsQzE3ID4sIGludGVncmFsX2M8IFQsQzE4ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMxOSA+LCBpbnRlZ3JhbF9jPCBULEMyMCA+LCBpbnRlZ3JhbF9jPCBULEMyMSA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMjIgPiwgaW50ZWdyYWxfYzwgVCxDMjMgPiwgaW50ZWdyYWxfYzwgVCxDMjQgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzI1ID4sIGludGVncmFsX2M8IFQsQzI2ID4sIGludGVncmFsX2M8IFQsQzI3ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMyOCA+LCBpbnRlZ3JhbF9jPCBULEMyOSA+LCBpbnRlZ3JhbF9jPCBULEMzMCA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMzEgPiwgaW50ZWdyYWxfYzwgVCxDMzIgPiwgaW50ZWdyYWxfYzwgVCxDMzMgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzM0ID4sIGludGVncmFsX2M8IFQsQzM1ID4sIGludGVncmFsX2M8IFQsQzM2ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMzNyA+LCBpbnRlZ3JhbF9jPCBULEMzOCA+LCBpbnRlZ3JhbF9jPCBULEMzOSA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDNDAgPiwgaW50ZWdyYWxfYzwgVCxDNDEgPiwgaW50ZWdyYWxfYzwgVCxDNDIgPiAKKyA+Cit7CisgICAgdHlwZWRlZiB2ZWN0b3I0M19jIHR5cGU7CisgICAgdHlwZWRlZiBUIHZhbHVlX3R5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQKKyAgICAsIFQgQzAsIFQgQzEsIFQgQzIsIFQgQzMsIFQgQzQsIFQgQzUsIFQgQzYsIFQgQzcsIFQgQzgsIFQgQzksIFQgQzEwCisgICAgLCBUIEMxMSwgVCBDMTIsIFQgQzEzLCBUIEMxNCwgVCBDMTUsIFQgQzE2LCBUIEMxNywgVCBDMTgsIFQgQzE5LCBUIEMyMAorICAgICwgVCBDMjEsIFQgQzIyLCBUIEMyMywgVCBDMjQsIFQgQzI1LCBUIEMyNiwgVCBDMjcsIFQgQzI4LCBUIEMyOSwgVCBDMzAKKyAgICAsIFQgQzMxLCBUIEMzMiwgVCBDMzMsIFQgQzM0LCBUIEMzNSwgVCBDMzYsIFQgQzM3LCBUIEMzOCwgVCBDMzksIFQgQzQwCisgICAgLCBUIEM0MSwgVCBDNDIsIFQgQzQzCisgICAgPgorc3RydWN0IHZlY3RvcjQ0X2MKKyAgICA6IHZlY3RvcjQ0PAorICAgICAgICAgIGludGVncmFsX2M8IFQsQzAgPiwgaW50ZWdyYWxfYzwgVCxDMSA+LCBpbnRlZ3JhbF9jPCBULEMyID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMzID4sIGludGVncmFsX2M8IFQsQzQgPiwgaW50ZWdyYWxfYzwgVCxDNSA+LCBpbnRlZ3JhbF9jPCBULEM2ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEM3ID4sIGludGVncmFsX2M8IFQsQzggPiwgaW50ZWdyYWxfYzwgVCxDOSA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMTAgPiwgaW50ZWdyYWxfYzwgVCxDMTEgPiwgaW50ZWdyYWxfYzwgVCxDMTIgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzEzID4sIGludGVncmFsX2M8IFQsQzE0ID4sIGludGVncmFsX2M8IFQsQzE1ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMxNiA+LCBpbnRlZ3JhbF9jPCBULEMxNyA+LCBpbnRlZ3JhbF9jPCBULEMxOCA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMTkgPiwgaW50ZWdyYWxfYzwgVCxDMjAgPiwgaW50ZWdyYWxfYzwgVCxDMjEgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzIyID4sIGludGVncmFsX2M8IFQsQzIzID4sIGludGVncmFsX2M8IFQsQzI0ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMyNSA+LCBpbnRlZ3JhbF9jPCBULEMyNiA+LCBpbnRlZ3JhbF9jPCBULEMyNyA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMjggPiwgaW50ZWdyYWxfYzwgVCxDMjkgPiwgaW50ZWdyYWxfYzwgVCxDMzAgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzMxID4sIGludGVncmFsX2M8IFQsQzMyID4sIGludGVncmFsX2M8IFQsQzMzID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMzNCA+LCBpbnRlZ3JhbF9jPCBULEMzNSA+LCBpbnRlZ3JhbF9jPCBULEMzNiA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMzcgPiwgaW50ZWdyYWxfYzwgVCxDMzggPiwgaW50ZWdyYWxfYzwgVCxDMzkgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzQwID4sIGludGVncmFsX2M8IFQsQzQxID4sIGludGVncmFsX2M8IFQsQzQyID4sIGludGVncmFsX2M8VAorICAgICAgICAsIEM0Mz4gCisgPgoreworICAgIHR5cGVkZWYgdmVjdG9yNDRfYyB0eXBlOworICAgIHR5cGVkZWYgVCB2YWx1ZV90eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUCisgICAgLCBUIEMwLCBUIEMxLCBUIEMyLCBUIEMzLCBUIEM0LCBUIEM1LCBUIEM2LCBUIEM3LCBUIEM4LCBUIEM5LCBUIEMxMAorICAgICwgVCBDMTEsIFQgQzEyLCBUIEMxMywgVCBDMTQsIFQgQzE1LCBUIEMxNiwgVCBDMTcsIFQgQzE4LCBUIEMxOSwgVCBDMjAKKyAgICAsIFQgQzIxLCBUIEMyMiwgVCBDMjMsIFQgQzI0LCBUIEMyNSwgVCBDMjYsIFQgQzI3LCBUIEMyOCwgVCBDMjksIFQgQzMwCisgICAgLCBUIEMzMSwgVCBDMzIsIFQgQzMzLCBUIEMzNCwgVCBDMzUsIFQgQzM2LCBUIEMzNywgVCBDMzgsIFQgQzM5LCBUIEM0MAorICAgICwgVCBDNDEsIFQgQzQyLCBUIEM0MywgVCBDNDQKKyAgICA+CitzdHJ1Y3QgdmVjdG9yNDVfYworICAgIDogdmVjdG9yNDU8CisgICAgICAgICAgaW50ZWdyYWxfYzwgVCxDMCA+LCBpbnRlZ3JhbF9jPCBULEMxID4sIGludGVncmFsX2M8IFQsQzIgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzMgPiwgaW50ZWdyYWxfYzwgVCxDNCA+LCBpbnRlZ3JhbF9jPCBULEM1ID4sIGludGVncmFsX2M8IFQsQzYgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzcgPiwgaW50ZWdyYWxfYzwgVCxDOCA+LCBpbnRlZ3JhbF9jPCBULEM5ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMxMCA+LCBpbnRlZ3JhbF9jPCBULEMxMSA+LCBpbnRlZ3JhbF9jPCBULEMxMiA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMTMgPiwgaW50ZWdyYWxfYzwgVCxDMTQgPiwgaW50ZWdyYWxfYzwgVCxDMTUgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzE2ID4sIGludGVncmFsX2M8IFQsQzE3ID4sIGludGVncmFsX2M8IFQsQzE4ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMxOSA+LCBpbnRlZ3JhbF9jPCBULEMyMCA+LCBpbnRlZ3JhbF9jPCBULEMyMSA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMjIgPiwgaW50ZWdyYWxfYzwgVCxDMjMgPiwgaW50ZWdyYWxfYzwgVCxDMjQgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzI1ID4sIGludGVncmFsX2M8IFQsQzI2ID4sIGludGVncmFsX2M8IFQsQzI3ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMyOCA+LCBpbnRlZ3JhbF9jPCBULEMyOSA+LCBpbnRlZ3JhbF9jPCBULEMzMCA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMzEgPiwgaW50ZWdyYWxfYzwgVCxDMzIgPiwgaW50ZWdyYWxfYzwgVCxDMzMgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzM0ID4sIGludGVncmFsX2M8IFQsQzM1ID4sIGludGVncmFsX2M8IFQsQzM2ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMzNyA+LCBpbnRlZ3JhbF9jPCBULEMzOCA+LCBpbnRlZ3JhbF9jPCBULEMzOSA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDNDAgPiwgaW50ZWdyYWxfYzwgVCxDNDEgPiwgaW50ZWdyYWxfYzwgVCxDNDIgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzQzID4sIGludGVncmFsX2M8IFQsQzQ0ID4gCisgPgoreworICAgIHR5cGVkZWYgdmVjdG9yNDVfYyB0eXBlOworICAgIHR5cGVkZWYgVCB2YWx1ZV90eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUCisgICAgLCBUIEMwLCBUIEMxLCBUIEMyLCBUIEMzLCBUIEM0LCBUIEM1LCBUIEM2LCBUIEM3LCBUIEM4LCBUIEM5LCBUIEMxMAorICAgICwgVCBDMTEsIFQgQzEyLCBUIEMxMywgVCBDMTQsIFQgQzE1LCBUIEMxNiwgVCBDMTcsIFQgQzE4LCBUIEMxOSwgVCBDMjAKKyAgICAsIFQgQzIxLCBUIEMyMiwgVCBDMjMsIFQgQzI0LCBUIEMyNSwgVCBDMjYsIFQgQzI3LCBUIEMyOCwgVCBDMjksIFQgQzMwCisgICAgLCBUIEMzMSwgVCBDMzIsIFQgQzMzLCBUIEMzNCwgVCBDMzUsIFQgQzM2LCBUIEMzNywgVCBDMzgsIFQgQzM5LCBUIEM0MAorICAgICwgVCBDNDEsIFQgQzQyLCBUIEM0MywgVCBDNDQsIFQgQzQ1CisgICAgPgorc3RydWN0IHZlY3RvcjQ2X2MKKyAgICA6IHZlY3RvcjQ2PAorICAgICAgICAgIGludGVncmFsX2M8IFQsQzAgPiwgaW50ZWdyYWxfYzwgVCxDMSA+LCBpbnRlZ3JhbF9jPCBULEMyID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMzID4sIGludGVncmFsX2M8IFQsQzQgPiwgaW50ZWdyYWxfYzwgVCxDNSA+LCBpbnRlZ3JhbF9jPCBULEM2ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEM3ID4sIGludGVncmFsX2M8IFQsQzggPiwgaW50ZWdyYWxfYzwgVCxDOSA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMTAgPiwgaW50ZWdyYWxfYzwgVCxDMTEgPiwgaW50ZWdyYWxfYzwgVCxDMTIgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzEzID4sIGludGVncmFsX2M8IFQsQzE0ID4sIGludGVncmFsX2M8IFQsQzE1ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMxNiA+LCBpbnRlZ3JhbF9jPCBULEMxNyA+LCBpbnRlZ3JhbF9jPCBULEMxOCA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMTkgPiwgaW50ZWdyYWxfYzwgVCxDMjAgPiwgaW50ZWdyYWxfYzwgVCxDMjEgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzIyID4sIGludGVncmFsX2M8IFQsQzIzID4sIGludGVncmFsX2M8IFQsQzI0ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMyNSA+LCBpbnRlZ3JhbF9jPCBULEMyNiA+LCBpbnRlZ3JhbF9jPCBULEMyNyA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMjggPiwgaW50ZWdyYWxfYzwgVCxDMjkgPiwgaW50ZWdyYWxfYzwgVCxDMzAgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzMxID4sIGludGVncmFsX2M8IFQsQzMyID4sIGludGVncmFsX2M8IFQsQzMzID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMzNCA+LCBpbnRlZ3JhbF9jPCBULEMzNSA+LCBpbnRlZ3JhbF9jPCBULEMzNiA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMzcgPiwgaW50ZWdyYWxfYzwgVCxDMzggPiwgaW50ZWdyYWxfYzwgVCxDMzkgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzQwID4sIGludGVncmFsX2M8IFQsQzQxID4sIGludGVncmFsX2M8IFQsQzQyID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEM0MyA+LCBpbnRlZ3JhbF9jPCBULEM0NCA+LCBpbnRlZ3JhbF9jPCBULEM0NSA+IAorID4KK3sKKyAgICB0eXBlZGVmIHZlY3RvcjQ2X2MgdHlwZTsKKyAgICB0eXBlZGVmIFQgdmFsdWVfdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVAorICAgICwgVCBDMCwgVCBDMSwgVCBDMiwgVCBDMywgVCBDNCwgVCBDNSwgVCBDNiwgVCBDNywgVCBDOCwgVCBDOSwgVCBDMTAKKyAgICAsIFQgQzExLCBUIEMxMiwgVCBDMTMsIFQgQzE0LCBUIEMxNSwgVCBDMTYsIFQgQzE3LCBUIEMxOCwgVCBDMTksIFQgQzIwCisgICAgLCBUIEMyMSwgVCBDMjIsIFQgQzIzLCBUIEMyNCwgVCBDMjUsIFQgQzI2LCBUIEMyNywgVCBDMjgsIFQgQzI5LCBUIEMzMAorICAgICwgVCBDMzEsIFQgQzMyLCBUIEMzMywgVCBDMzQsIFQgQzM1LCBUIEMzNiwgVCBDMzcsIFQgQzM4LCBUIEMzOSwgVCBDNDAKKyAgICAsIFQgQzQxLCBUIEM0MiwgVCBDNDMsIFQgQzQ0LCBUIEM0NSwgVCBDNDYKKyAgICA+CitzdHJ1Y3QgdmVjdG9yNDdfYworICAgIDogdmVjdG9yNDc8CisgICAgICAgICAgaW50ZWdyYWxfYzwgVCxDMCA+LCBpbnRlZ3JhbF9jPCBULEMxID4sIGludGVncmFsX2M8IFQsQzIgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzMgPiwgaW50ZWdyYWxfYzwgVCxDNCA+LCBpbnRlZ3JhbF9jPCBULEM1ID4sIGludGVncmFsX2M8IFQsQzYgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzcgPiwgaW50ZWdyYWxfYzwgVCxDOCA+LCBpbnRlZ3JhbF9jPCBULEM5ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMxMCA+LCBpbnRlZ3JhbF9jPCBULEMxMSA+LCBpbnRlZ3JhbF9jPCBULEMxMiA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMTMgPiwgaW50ZWdyYWxfYzwgVCxDMTQgPiwgaW50ZWdyYWxfYzwgVCxDMTUgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzE2ID4sIGludGVncmFsX2M8IFQsQzE3ID4sIGludGVncmFsX2M8IFQsQzE4ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMxOSA+LCBpbnRlZ3JhbF9jPCBULEMyMCA+LCBpbnRlZ3JhbF9jPCBULEMyMSA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMjIgPiwgaW50ZWdyYWxfYzwgVCxDMjMgPiwgaW50ZWdyYWxfYzwgVCxDMjQgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzI1ID4sIGludGVncmFsX2M8IFQsQzI2ID4sIGludGVncmFsX2M8IFQsQzI3ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMyOCA+LCBpbnRlZ3JhbF9jPCBULEMyOSA+LCBpbnRlZ3JhbF9jPCBULEMzMCA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMzEgPiwgaW50ZWdyYWxfYzwgVCxDMzIgPiwgaW50ZWdyYWxfYzwgVCxDMzMgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzM0ID4sIGludGVncmFsX2M8IFQsQzM1ID4sIGludGVncmFsX2M8IFQsQzM2ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMzNyA+LCBpbnRlZ3JhbF9jPCBULEMzOCA+LCBpbnRlZ3JhbF9jPCBULEMzOSA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDNDAgPiwgaW50ZWdyYWxfYzwgVCxDNDEgPiwgaW50ZWdyYWxfYzwgVCxDNDIgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzQzID4sIGludGVncmFsX2M8IFQsQzQ0ID4sIGludGVncmFsX2M8IFQsQzQ1ID4sIGludGVncmFsX2M8VAorICAgICAgICAsIEM0Nj4gCisgPgoreworICAgIHR5cGVkZWYgdmVjdG9yNDdfYyB0eXBlOworICAgIHR5cGVkZWYgVCB2YWx1ZV90eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUCisgICAgLCBUIEMwLCBUIEMxLCBUIEMyLCBUIEMzLCBUIEM0LCBUIEM1LCBUIEM2LCBUIEM3LCBUIEM4LCBUIEM5LCBUIEMxMAorICAgICwgVCBDMTEsIFQgQzEyLCBUIEMxMywgVCBDMTQsIFQgQzE1LCBUIEMxNiwgVCBDMTcsIFQgQzE4LCBUIEMxOSwgVCBDMjAKKyAgICAsIFQgQzIxLCBUIEMyMiwgVCBDMjMsIFQgQzI0LCBUIEMyNSwgVCBDMjYsIFQgQzI3LCBUIEMyOCwgVCBDMjksIFQgQzMwCisgICAgLCBUIEMzMSwgVCBDMzIsIFQgQzMzLCBUIEMzNCwgVCBDMzUsIFQgQzM2LCBUIEMzNywgVCBDMzgsIFQgQzM5LCBUIEM0MAorICAgICwgVCBDNDEsIFQgQzQyLCBUIEM0MywgVCBDNDQsIFQgQzQ1LCBUIEM0NiwgVCBDNDcKKyAgICA+CitzdHJ1Y3QgdmVjdG9yNDhfYworICAgIDogdmVjdG9yNDg8CisgICAgICAgICAgaW50ZWdyYWxfYzwgVCxDMCA+LCBpbnRlZ3JhbF9jPCBULEMxID4sIGludGVncmFsX2M8IFQsQzIgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzMgPiwgaW50ZWdyYWxfYzwgVCxDNCA+LCBpbnRlZ3JhbF9jPCBULEM1ID4sIGludGVncmFsX2M8IFQsQzYgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzcgPiwgaW50ZWdyYWxfYzwgVCxDOCA+LCBpbnRlZ3JhbF9jPCBULEM5ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMxMCA+LCBpbnRlZ3JhbF9jPCBULEMxMSA+LCBpbnRlZ3JhbF9jPCBULEMxMiA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMTMgPiwgaW50ZWdyYWxfYzwgVCxDMTQgPiwgaW50ZWdyYWxfYzwgVCxDMTUgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzE2ID4sIGludGVncmFsX2M8IFQsQzE3ID4sIGludGVncmFsX2M8IFQsQzE4ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMxOSA+LCBpbnRlZ3JhbF9jPCBULEMyMCA+LCBpbnRlZ3JhbF9jPCBULEMyMSA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMjIgPiwgaW50ZWdyYWxfYzwgVCxDMjMgPiwgaW50ZWdyYWxfYzwgVCxDMjQgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzI1ID4sIGludGVncmFsX2M8IFQsQzI2ID4sIGludGVncmFsX2M8IFQsQzI3ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMyOCA+LCBpbnRlZ3JhbF9jPCBULEMyOSA+LCBpbnRlZ3JhbF9jPCBULEMzMCA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMzEgPiwgaW50ZWdyYWxfYzwgVCxDMzIgPiwgaW50ZWdyYWxfYzwgVCxDMzMgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzM0ID4sIGludGVncmFsX2M8IFQsQzM1ID4sIGludGVncmFsX2M8IFQsQzM2ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMzNyA+LCBpbnRlZ3JhbF9jPCBULEMzOCA+LCBpbnRlZ3JhbF9jPCBULEMzOSA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDNDAgPiwgaW50ZWdyYWxfYzwgVCxDNDEgPiwgaW50ZWdyYWxfYzwgVCxDNDIgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzQzID4sIGludGVncmFsX2M8IFQsQzQ0ID4sIGludGVncmFsX2M8IFQsQzQ1ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEM0NiA+LCBpbnRlZ3JhbF9jPCBULEM0NyA+IAorID4KK3sKKyAgICB0eXBlZGVmIHZlY3RvcjQ4X2MgdHlwZTsKKyAgICB0eXBlZGVmIFQgdmFsdWVfdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVAorICAgICwgVCBDMCwgVCBDMSwgVCBDMiwgVCBDMywgVCBDNCwgVCBDNSwgVCBDNiwgVCBDNywgVCBDOCwgVCBDOSwgVCBDMTAKKyAgICAsIFQgQzExLCBUIEMxMiwgVCBDMTMsIFQgQzE0LCBUIEMxNSwgVCBDMTYsIFQgQzE3LCBUIEMxOCwgVCBDMTksIFQgQzIwCisgICAgLCBUIEMyMSwgVCBDMjIsIFQgQzIzLCBUIEMyNCwgVCBDMjUsIFQgQzI2LCBUIEMyNywgVCBDMjgsIFQgQzI5LCBUIEMzMAorICAgICwgVCBDMzEsIFQgQzMyLCBUIEMzMywgVCBDMzQsIFQgQzM1LCBUIEMzNiwgVCBDMzcsIFQgQzM4LCBUIEMzOSwgVCBDNDAKKyAgICAsIFQgQzQxLCBUIEM0MiwgVCBDNDMsIFQgQzQ0LCBUIEM0NSwgVCBDNDYsIFQgQzQ3LCBUIEM0OAorICAgID4KK3N0cnVjdCB2ZWN0b3I0OV9jCisgICAgOiB2ZWN0b3I0OTwKKyAgICAgICAgICBpbnRlZ3JhbF9jPCBULEMwID4sIGludGVncmFsX2M8IFQsQzEgPiwgaW50ZWdyYWxfYzwgVCxDMiA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMyA+LCBpbnRlZ3JhbF9jPCBULEM0ID4sIGludGVncmFsX2M8IFQsQzUgPiwgaW50ZWdyYWxfYzwgVCxDNiA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDNyA+LCBpbnRlZ3JhbF9jPCBULEM4ID4sIGludGVncmFsX2M8IFQsQzkgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzEwID4sIGludGVncmFsX2M8IFQsQzExID4sIGludGVncmFsX2M8IFQsQzEyID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMxMyA+LCBpbnRlZ3JhbF9jPCBULEMxNCA+LCBpbnRlZ3JhbF9jPCBULEMxNSA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMTYgPiwgaW50ZWdyYWxfYzwgVCxDMTcgPiwgaW50ZWdyYWxfYzwgVCxDMTggPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzE5ID4sIGludGVncmFsX2M8IFQsQzIwID4sIGludGVncmFsX2M8IFQsQzIxID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMyMiA+LCBpbnRlZ3JhbF9jPCBULEMyMyA+LCBpbnRlZ3JhbF9jPCBULEMyNCA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMjUgPiwgaW50ZWdyYWxfYzwgVCxDMjYgPiwgaW50ZWdyYWxfYzwgVCxDMjcgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzI4ID4sIGludGVncmFsX2M8IFQsQzI5ID4sIGludGVncmFsX2M8IFQsQzMwID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMzMSA+LCBpbnRlZ3JhbF9jPCBULEMzMiA+LCBpbnRlZ3JhbF9jPCBULEMzMyA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMzQgPiwgaW50ZWdyYWxfYzwgVCxDMzUgPiwgaW50ZWdyYWxfYzwgVCxDMzYgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzM3ID4sIGludGVncmFsX2M8IFQsQzM4ID4sIGludGVncmFsX2M8IFQsQzM5ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEM0MCA+LCBpbnRlZ3JhbF9jPCBULEM0MSA+LCBpbnRlZ3JhbF9jPCBULEM0MiA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDNDMgPiwgaW50ZWdyYWxfYzwgVCxDNDQgPiwgaW50ZWdyYWxfYzwgVCxDNDUgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzQ2ID4sIGludGVncmFsX2M8IFQsQzQ3ID4sIGludGVncmFsX2M8IFQsQzQ4ID4gCisgPgoreworICAgIHR5cGVkZWYgdmVjdG9yNDlfYyB0eXBlOworICAgIHR5cGVkZWYgVCB2YWx1ZV90eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUCisgICAgLCBUIEMwLCBUIEMxLCBUIEMyLCBUIEMzLCBUIEM0LCBUIEM1LCBUIEM2LCBUIEM3LCBUIEM4LCBUIEM5LCBUIEMxMAorICAgICwgVCBDMTEsIFQgQzEyLCBUIEMxMywgVCBDMTQsIFQgQzE1LCBUIEMxNiwgVCBDMTcsIFQgQzE4LCBUIEMxOSwgVCBDMjAKKyAgICAsIFQgQzIxLCBUIEMyMiwgVCBDMjMsIFQgQzI0LCBUIEMyNSwgVCBDMjYsIFQgQzI3LCBUIEMyOCwgVCBDMjksIFQgQzMwCisgICAgLCBUIEMzMSwgVCBDMzIsIFQgQzMzLCBUIEMzNCwgVCBDMzUsIFQgQzM2LCBUIEMzNywgVCBDMzgsIFQgQzM5LCBUIEM0MAorICAgICwgVCBDNDEsIFQgQzQyLCBUIEM0MywgVCBDNDQsIFQgQzQ1LCBUIEM0NiwgVCBDNDcsIFQgQzQ4LCBUIEM0OQorICAgID4KK3N0cnVjdCB2ZWN0b3I1MF9jCisgICAgOiB2ZWN0b3I1MDwKKyAgICAgICAgICBpbnRlZ3JhbF9jPCBULEMwID4sIGludGVncmFsX2M8IFQsQzEgPiwgaW50ZWdyYWxfYzwgVCxDMiA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMyA+LCBpbnRlZ3JhbF9jPCBULEM0ID4sIGludGVncmFsX2M8IFQsQzUgPiwgaW50ZWdyYWxfYzwgVCxDNiA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDNyA+LCBpbnRlZ3JhbF9jPCBULEM4ID4sIGludGVncmFsX2M8IFQsQzkgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzEwID4sIGludGVncmFsX2M8IFQsQzExID4sIGludGVncmFsX2M8IFQsQzEyID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMxMyA+LCBpbnRlZ3JhbF9jPCBULEMxNCA+LCBpbnRlZ3JhbF9jPCBULEMxNSA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMTYgPiwgaW50ZWdyYWxfYzwgVCxDMTcgPiwgaW50ZWdyYWxfYzwgVCxDMTggPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzE5ID4sIGludGVncmFsX2M8IFQsQzIwID4sIGludGVncmFsX2M8IFQsQzIxID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMyMiA+LCBpbnRlZ3JhbF9jPCBULEMyMyA+LCBpbnRlZ3JhbF9jPCBULEMyNCA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMjUgPiwgaW50ZWdyYWxfYzwgVCxDMjYgPiwgaW50ZWdyYWxfYzwgVCxDMjcgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzI4ID4sIGludGVncmFsX2M8IFQsQzI5ID4sIGludGVncmFsX2M8IFQsQzMwID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMzMSA+LCBpbnRlZ3JhbF9jPCBULEMzMiA+LCBpbnRlZ3JhbF9jPCBULEMzMyA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMzQgPiwgaW50ZWdyYWxfYzwgVCxDMzUgPiwgaW50ZWdyYWxfYzwgVCxDMzYgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzM3ID4sIGludGVncmFsX2M8IFQsQzM4ID4sIGludGVncmFsX2M8IFQsQzM5ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEM0MCA+LCBpbnRlZ3JhbF9jPCBULEM0MSA+LCBpbnRlZ3JhbF9jPCBULEM0MiA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDNDMgPiwgaW50ZWdyYWxfYzwgVCxDNDQgPiwgaW50ZWdyYWxfYzwgVCxDNDUgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzQ2ID4sIGludGVncmFsX2M8IFQsQzQ3ID4sIGludGVncmFsX2M8IFQsQzQ4ID4sIGludGVncmFsX2M8VAorICAgICAgICAsIEM0OT4gCisgPgoreworICAgIHR5cGVkZWYgdmVjdG9yNTBfYyB0eXBlOworICAgIHR5cGVkZWYgVCB2YWx1ZV90eXBlOworfTsKKworfX0KZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC92ZWN0b3IvYXV4Xy9wcmVwcm9jZXNzZWQvcGxhaW4vdmVjdG9yMTAuaHBwIGIvbmRuYm9vc3QvbXBsL3ZlY3Rvci9hdXhfL3ByZXByb2Nlc3NlZC9wbGFpbi92ZWN0b3IxMC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWVmZTMyYgotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC92ZWN0b3IvYXV4Xy9wcmVwcm9jZXNzZWQvcGxhaW4vdmVjdG9yMTAuaHBwCkBAIC0wLDAgKzEsODI5IEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC92ZWN0b3IvdmVjdG9yMTAuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBWID4KK3N0cnVjdCB2X2F0PCBWLDAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTAgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAKKyAgICA+CitzdHJ1Y3QgdmVjdG9yMQoreworICAgIHR5cGVkZWYgYXV4Ojp2ZWN0b3JfdGFnPDE+IHRhZzsKKyAgICB0eXBlZGVmIHZlY3RvcjEgdHlwZTsKKyAgICB0eXBlZGVmIFQwIGl0ZW0wOworICAgIHR5cGVkZWYgdm9pZF8gaXRlbTE7CisgICAgdHlwZWRlZiBUMCBiYWNrOworICAgIHR5cGVkZWYgdl9pdGVyPCB0eXBlLDAgPiBiZWdpbjsKKyAgICB0eXBlZGVmIHZfaXRlcjwgdHlwZSwxID4gZW5kOworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHB1c2hfZnJvbnRfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDA+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yLCB0eXBlbmFtZSBUID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjE8CisgICAgICAgICAgICAgIFQKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHBvcF9mcm9udF9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MT4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yMDwKKyAgICAgICAgICAgICAKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHB1c2hfYmFja19pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MD4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IsIHR5cGVuYW1lIFQgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yMTwKKyAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgVAorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcG9wX2JhY2tfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDE+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjA8CisgICAgICAgICAgICAgCisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBWID4KK3N0cnVjdCB2X2F0PCBWLDEgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTEgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxCisgICAgPgorc3RydWN0IHZlY3RvcjIKK3sKKyAgICB0eXBlZGVmIGF1eDo6dmVjdG9yX3RhZzwyPiB0YWc7CisgICAgdHlwZWRlZiB2ZWN0b3IyIHR5cGU7CisgICAgdHlwZWRlZiBUMCBpdGVtMDsKKyAgICB0eXBlZGVmIFQxIGl0ZW0xOworICAgIAorCisgICAgdHlwZWRlZiB2b2lkXyBpdGVtMjsKKyAgICB0eXBlZGVmIFQxIGJhY2s7CisgICAgdHlwZWRlZiB2X2l0ZXI8IHR5cGUsMCA+IGJlZ2luOworICAgIHR5cGVkZWYgdl9pdGVyPCB0eXBlLDIgPiBlbmQ7Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcHVzaF9mcm9udF9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MT4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IsIHR5cGVuYW1lIFQgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yMjwKKyAgICAgICAgICAgICAgVAorICAgICAgICAgICAgICAsCisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHBvcF9mcm9udF9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8Mj4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yMTwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMQorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcHVzaF9iYWNrX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwxPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciwgdHlwZW5hbWUgVCA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IyPAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0wCisgICAgICAgICAgICAgICwKKyAgICAgICAgICAgICAgVAorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcG9wX2JhY2tfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDI+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjE8CisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFYgPgorc3RydWN0IHZfYXQ8IFYsMiA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtMiB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyCisgICAgPgorc3RydWN0IHZlY3RvcjMKK3sKKyAgICB0eXBlZGVmIGF1eDo6dmVjdG9yX3RhZzwzPiB0YWc7CisgICAgdHlwZWRlZiB2ZWN0b3IzIHR5cGU7CisgICAgdHlwZWRlZiBUMCBpdGVtMDsKKyAgICB0eXBlZGVmIFQxIGl0ZW0xOworICAgIHR5cGVkZWYgVDIgaXRlbTI7CisgICAgCisKKyAgICB0eXBlZGVmIHZvaWRfIGl0ZW0zOworICAgIHR5cGVkZWYgVDIgYmFjazsKKyAgICB0eXBlZGVmIHZfaXRlcjwgdHlwZSwwID4gYmVnaW47CisgICAgdHlwZWRlZiB2X2l0ZXI8IHR5cGUsMyA+IGVuZDsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwdXNoX2Zyb250X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwyPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciwgdHlwZW5hbWUgVCA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IzPAorICAgICAgICAgICAgICBUCisgICAgICAgICAgICAgICwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMQorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcG9wX2Zyb250X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwzPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IyPAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yCisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwdXNoX2JhY2tfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDI+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yLCB0eXBlbmFtZSBUID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjM8CisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEKKyAgICAgICAgICAgICAgLAorICAgICAgICAgICAgICBUCisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwb3BfYmFja19pbXBsPCBhdXg6OnZlY3Rvcl90YWc8Mz4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yMjwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMQorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgViA+CitzdHJ1Y3Qgdl9hdDwgViwzID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW0zIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzCisgICAgPgorc3RydWN0IHZlY3RvcjQKK3sKKyAgICB0eXBlZGVmIGF1eDo6dmVjdG9yX3RhZzw0PiB0YWc7CisgICAgdHlwZWRlZiB2ZWN0b3I0IHR5cGU7CisgICAgdHlwZWRlZiBUMCBpdGVtMDsKKyAgICB0eXBlZGVmIFQxIGl0ZW0xOworICAgIHR5cGVkZWYgVDIgaXRlbTI7CisgICAgdHlwZWRlZiBUMyBpdGVtMzsKKyAgICAKKworICAgIHR5cGVkZWYgdm9pZF8gaXRlbTQ7CisgICAgdHlwZWRlZiBUMyBiYWNrOworICAgIHR5cGVkZWYgdl9pdGVyPCB0eXBlLDAgPiBiZWdpbjsKKyAgICB0eXBlZGVmIHZfaXRlcjwgdHlwZSw0ID4gZW5kOworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHB1c2hfZnJvbnRfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDM+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yLCB0eXBlbmFtZSBUID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjQ8CisgICAgICAgICAgICAgIFQKKyAgICAgICAgICAgICAgLAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0wLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHBvcF9mcm9udF9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8ND4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yMzwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zCisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwdXNoX2JhY2tfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDM+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yLCB0eXBlbmFtZSBUID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjQ8CisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMgorICAgICAgICAgICAgICAsCisgICAgICAgICAgICAgIFQKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHBvcF9iYWNrX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzw0PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IzPAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0wLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFYgPgorc3RydWN0IHZfYXQ8IFYsNCA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtNCB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICA+CitzdHJ1Y3QgdmVjdG9yNQoreworICAgIHR5cGVkZWYgYXV4Ojp2ZWN0b3JfdGFnPDU+IHRhZzsKKyAgICB0eXBlZGVmIHZlY3RvcjUgdHlwZTsKKyAgICB0eXBlZGVmIFQwIGl0ZW0wOworICAgIHR5cGVkZWYgVDEgaXRlbTE7CisgICAgdHlwZWRlZiBUMiBpdGVtMjsKKyAgICB0eXBlZGVmIFQzIGl0ZW0zOworICAgIHR5cGVkZWYgVDQgaXRlbTQ7CisgICAgCisKKyAgICB0eXBlZGVmIHZvaWRfIGl0ZW01OworICAgIHR5cGVkZWYgVDQgYmFjazsKKyAgICB0eXBlZGVmIHZfaXRlcjwgdHlwZSwwID4gYmVnaW47CisgICAgdHlwZWRlZiB2X2l0ZXI8IHR5cGUsNSA+IGVuZDsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwdXNoX2Zyb250X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzw0PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciwgdHlwZW5hbWUgVCA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3I1PAorICAgICAgICAgICAgICBUCisgICAgICAgICAgICAgICwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zCisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwb3BfZnJvbnRfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDU+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjQ8CisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMywgdHlwZW5hbWUgVmVjdG9yOjppdGVtNAorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcHVzaF9iYWNrX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzw0PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciwgdHlwZW5hbWUgVCA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3I1PAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0wLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMKKyAgICAgICAgICAgICAgLAorICAgICAgICAgICAgICBUCisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwb3BfYmFja19pbXBsPCBhdXg6OnZlY3Rvcl90YWc8NT4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yNDwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zCisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBWID4KK3N0cnVjdCB2X2F0PCBWLDUgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNQorICAgID4KK3N0cnVjdCB2ZWN0b3I2Cit7CisgICAgdHlwZWRlZiBhdXg6OnZlY3Rvcl90YWc8Nj4gdGFnOworICAgIHR5cGVkZWYgdmVjdG9yNiB0eXBlOworICAgIHR5cGVkZWYgVDAgaXRlbTA7CisgICAgdHlwZWRlZiBUMSBpdGVtMTsKKyAgICB0eXBlZGVmIFQyIGl0ZW0yOworICAgIHR5cGVkZWYgVDMgaXRlbTM7CisgICAgdHlwZWRlZiBUNCBpdGVtNDsKKyAgICB0eXBlZGVmIFQ1IGl0ZW01OworICAgIAorCisgICAgdHlwZWRlZiB2b2lkXyBpdGVtNjsKKyAgICB0eXBlZGVmIFQ1IGJhY2s7CisgICAgdHlwZWRlZiB2X2l0ZXI8IHR5cGUsMCA+IGJlZ2luOworICAgIHR5cGVkZWYgdl9pdGVyPCB0eXBlLDYgPiBlbmQ7Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcHVzaF9mcm9udF9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8NT4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IsIHR5cGVuYW1lIFQgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yNjwKKyAgICAgICAgICAgICAgVAorICAgICAgICAgICAgICAsCisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00CisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwb3BfZnJvbnRfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDY+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjU8CisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMywgdHlwZW5hbWUgVmVjdG9yOjppdGVtNAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01CisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwdXNoX2JhY2tfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDU+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yLCB0eXBlbmFtZSBUID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjY8CisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00CisgICAgICAgICAgICAgICwKKyAgICAgICAgICAgICAgVAorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcG9wX2JhY2tfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDY+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjU8CisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00CisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBWID4KK3N0cnVjdCB2X2F0PCBWLDYgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTYgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYKKyAgICA+CitzdHJ1Y3QgdmVjdG9yNworeworICAgIHR5cGVkZWYgYXV4Ojp2ZWN0b3JfdGFnPDc+IHRhZzsKKyAgICB0eXBlZGVmIHZlY3RvcjcgdHlwZTsKKyAgICB0eXBlZGVmIFQwIGl0ZW0wOworICAgIHR5cGVkZWYgVDEgaXRlbTE7CisgICAgdHlwZWRlZiBUMiBpdGVtMjsKKyAgICB0eXBlZGVmIFQzIGl0ZW0zOworICAgIHR5cGVkZWYgVDQgaXRlbTQ7CisgICAgdHlwZWRlZiBUNSBpdGVtNTsKKyAgICB0eXBlZGVmIFQ2IGl0ZW02OworICAgIAorCisgICAgdHlwZWRlZiB2b2lkXyBpdGVtNzsKKyAgICB0eXBlZGVmIFQ2IGJhY2s7CisgICAgdHlwZWRlZiB2X2l0ZXI8IHR5cGUsMCA+IGJlZ2luOworICAgIHR5cGVkZWYgdl9pdGVyPCB0eXBlLDcgPiBlbmQ7Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcHVzaF9mcm9udF9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8Nj4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IsIHR5cGVuYW1lIFQgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yNzwKKyAgICAgICAgICAgICAgVAorICAgICAgICAgICAgICAsCisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01CisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwb3BfZnJvbnRfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDc+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjY8CisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMywgdHlwZW5hbWUgVmVjdG9yOjppdGVtNAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW02CisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwdXNoX2JhY2tfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDY+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yLCB0eXBlbmFtZSBUID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3Rvcjc8CisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01CisgICAgICAgICAgICAgICwKKyAgICAgICAgICAgICAgVAorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcG9wX2JhY2tfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDc+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjY8CisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01CisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBWID4KK3N0cnVjdCB2X2F0PCBWLDcgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTcgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3CisgICAgPgorc3RydWN0IHZlY3RvcjgKK3sKKyAgICB0eXBlZGVmIGF1eDo6dmVjdG9yX3RhZzw4PiB0YWc7CisgICAgdHlwZWRlZiB2ZWN0b3I4IHR5cGU7CisgICAgdHlwZWRlZiBUMCBpdGVtMDsKKyAgICB0eXBlZGVmIFQxIGl0ZW0xOworICAgIHR5cGVkZWYgVDIgaXRlbTI7CisgICAgdHlwZWRlZiBUMyBpdGVtMzsKKyAgICB0eXBlZGVmIFQ0IGl0ZW00OworICAgIHR5cGVkZWYgVDUgaXRlbTU7CisgICAgdHlwZWRlZiBUNiBpdGVtNjsKKyAgICB0eXBlZGVmIFQ3IGl0ZW03OworICAgIAorCisgICAgdHlwZWRlZiB2b2lkXyBpdGVtODsKKyAgICB0eXBlZGVmIFQ3IGJhY2s7CisgICAgdHlwZWRlZiB2X2l0ZXI8IHR5cGUsMCA+IGJlZ2luOworICAgIHR5cGVkZWYgdl9pdGVyPCB0eXBlLDggPiBlbmQ7Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcHVzaF9mcm9udF9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8Nz4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IsIHR5cGVuYW1lIFQgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yODwKKyAgICAgICAgICAgICAgVAorICAgICAgICAgICAgICAsCisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHBvcF9mcm9udF9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8OD4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yNzwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNworICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcHVzaF9iYWNrX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzw3PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciwgdHlwZW5hbWUgVCA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3I4PAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0wLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW02CisgICAgICAgICAgICAgICwKKyAgICAgICAgICAgICAgVAorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcG9wX2JhY2tfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDg+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3Rvcjc8CisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFYgPgorc3RydWN0IHZfYXQ8IFYsOCA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtOCB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4CisgICAgPgorc3RydWN0IHZlY3RvcjkKK3sKKyAgICB0eXBlZGVmIGF1eDo6dmVjdG9yX3RhZzw5PiB0YWc7CisgICAgdHlwZWRlZiB2ZWN0b3I5IHR5cGU7CisgICAgdHlwZWRlZiBUMCBpdGVtMDsKKyAgICB0eXBlZGVmIFQxIGl0ZW0xOworICAgIHR5cGVkZWYgVDIgaXRlbTI7CisgICAgdHlwZWRlZiBUMyBpdGVtMzsKKyAgICB0eXBlZGVmIFQ0IGl0ZW00OworICAgIHR5cGVkZWYgVDUgaXRlbTU7CisgICAgdHlwZWRlZiBUNiBpdGVtNjsKKyAgICB0eXBlZGVmIFQ3IGl0ZW03OworICAgIHR5cGVkZWYgVDggaXRlbTg7CisgICAgCisKKyAgICB0eXBlZGVmIHZvaWRfIGl0ZW05OworICAgIHR5cGVkZWYgVDggYmFjazsKKyAgICB0eXBlZGVmIHZfaXRlcjwgdHlwZSwwID4gYmVnaW47CisgICAgdHlwZWRlZiB2X2l0ZXI8IHR5cGUsOSA+IGVuZDsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwdXNoX2Zyb250X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzw4PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciwgdHlwZW5hbWUgVCA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3I5PAorICAgICAgICAgICAgICBUCisgICAgICAgICAgICAgICwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNworICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcG9wX2Zyb250X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzw5PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3I4PAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW03LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW04CisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwdXNoX2JhY2tfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDg+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yLCB0eXBlbmFtZSBUID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3Rvcjk8CisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcKKyAgICAgICAgICAgICAgLAorICAgICAgICAgICAgICBUCisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwb3BfYmFja19pbXBsPCBhdXg6OnZlY3Rvcl90YWc8OT4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yODwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNworICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgViA+CitzdHJ1Y3Qgdl9hdDwgViw5ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW05IHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgPgorc3RydWN0IHZlY3RvcjEwCit7CisgICAgdHlwZWRlZiBhdXg6OnZlY3Rvcl90YWc8MTA+IHRhZzsKKyAgICB0eXBlZGVmIHZlY3RvcjEwIHR5cGU7CisgICAgdHlwZWRlZiBUMCBpdGVtMDsKKyAgICB0eXBlZGVmIFQxIGl0ZW0xOworICAgIHR5cGVkZWYgVDIgaXRlbTI7CisgICAgdHlwZWRlZiBUMyBpdGVtMzsKKyAgICB0eXBlZGVmIFQ0IGl0ZW00OworICAgIHR5cGVkZWYgVDUgaXRlbTU7CisgICAgdHlwZWRlZiBUNiBpdGVtNjsKKyAgICB0eXBlZGVmIFQ3IGl0ZW03OworICAgIHR5cGVkZWYgVDggaXRlbTg7CisgICAgdHlwZWRlZiBUOSBpdGVtOTsKKyAgICAKKworICAgIHR5cGVkZWYgdm9pZF8gaXRlbTEwOworICAgIHR5cGVkZWYgVDkgYmFjazsKKyAgICB0eXBlZGVmIHZfaXRlcjwgdHlwZSwwID4gYmVnaW47CisgICAgdHlwZWRlZiB2X2l0ZXI8IHR5cGUsMTAgPiBlbmQ7Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcHVzaF9mcm9udF9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8OT4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IsIHR5cGVuYW1lIFQgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yMTA8CisgICAgICAgICAgICAgIFQKKyAgICAgICAgICAgICAgLAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0wLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW02LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW03CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTgKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHBvcF9mcm9udF9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MTA+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3Rvcjk8CisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMywgdHlwZW5hbWUgVmVjdG9yOjppdGVtNAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW02CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTgKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOQorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcHVzaF9iYWNrX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzw5PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciwgdHlwZW5hbWUgVCA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IxMDwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW04CisgICAgICAgICAgICAgICwKKyAgICAgICAgICAgICAgVAorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcG9wX2JhY2tfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDEwPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3I5PAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0wLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW02LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW03CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTgKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFYgPgorc3RydWN0IHZfYXQ8IFYsMTAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTEwIHR5cGU7Cit9OworCit9fQpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL3ZlY3Rvci9hdXhfL3ByZXByb2Nlc3NlZC9wbGFpbi92ZWN0b3IxMF9jLmhwcCBiL25kbmJvb3N0L21wbC92ZWN0b3IvYXV4Xy9wcmVwcm9jZXNzZWQvcGxhaW4vdmVjdG9yMTBfYy5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDI1YzkzZgotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC92ZWN0b3IvYXV4Xy9wcmVwcm9jZXNzZWQvcGxhaW4vdmVjdG9yMTBfYy5ocHAKQEAgLTAsMCArMSwxNDkgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL3ZlY3Rvci92ZWN0b3IxMF9jLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQKKyAgICAsIFQgQzAKKyAgICA+CitzdHJ1Y3QgdmVjdG9yMV9jCisgICAgOiB2ZWN0b3IxPCBpbnRlZ3JhbF9jPCBULEMwID4gPgoreworICAgIHR5cGVkZWYgdmVjdG9yMV9jIHR5cGU7CisgICAgdHlwZWRlZiBUIHZhbHVlX3R5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQKKyAgICAsIFQgQzAsIFQgQzEKKyAgICA+CitzdHJ1Y3QgdmVjdG9yMl9jCisgICAgOiB2ZWN0b3IyPCBpbnRlZ3JhbF9jPCBULEMwID4sIGludGVncmFsX2M8IFQsQzEgPiA+Cit7CisgICAgdHlwZWRlZiB2ZWN0b3IyX2MgdHlwZTsKKyAgICB0eXBlZGVmIFQgdmFsdWVfdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVAorICAgICwgVCBDMCwgVCBDMSwgVCBDMgorICAgID4KK3N0cnVjdCB2ZWN0b3IzX2MKKyAgICA6IHZlY3RvcjM8IGludGVncmFsX2M8IFQsQzAgPiwgaW50ZWdyYWxfYzwgVCxDMSA+LCBpbnRlZ3JhbF9jPCBULEMyID4gPgoreworICAgIHR5cGVkZWYgdmVjdG9yM19jIHR5cGU7CisgICAgdHlwZWRlZiBUIHZhbHVlX3R5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQKKyAgICAsIFQgQzAsIFQgQzEsIFQgQzIsIFQgQzMKKyAgICA+CitzdHJ1Y3QgdmVjdG9yNF9jCisgICAgOiB2ZWN0b3I0PAorICAgICAgICAgIGludGVncmFsX2M8IFQsQzAgPiwgaW50ZWdyYWxfYzwgVCxDMSA+LCBpbnRlZ3JhbF9jPCBULEMyID4sIGludGVncmFsX2M8VAorICAgICAgICAsIEMzPiAKKyA+Cit7CisgICAgdHlwZWRlZiB2ZWN0b3I0X2MgdHlwZTsKKyAgICB0eXBlZGVmIFQgdmFsdWVfdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVAorICAgICwgVCBDMCwgVCBDMSwgVCBDMiwgVCBDMywgVCBDNAorICAgID4KK3N0cnVjdCB2ZWN0b3I1X2MKKyAgICA6IHZlY3RvcjU8CisgICAgICAgICAgaW50ZWdyYWxfYzwgVCxDMCA+LCBpbnRlZ3JhbF9jPCBULEMxID4sIGludGVncmFsX2M8IFQsQzIgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzMgPiwgaW50ZWdyYWxfYzwgVCxDNCA+IAorID4KK3sKKyAgICB0eXBlZGVmIHZlY3RvcjVfYyB0eXBlOworICAgIHR5cGVkZWYgVCB2YWx1ZV90eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUCisgICAgLCBUIEMwLCBUIEMxLCBUIEMyLCBUIEMzLCBUIEM0LCBUIEM1CisgICAgPgorc3RydWN0IHZlY3RvcjZfYworICAgIDogdmVjdG9yNjwKKyAgICAgICAgICBpbnRlZ3JhbF9jPCBULEMwID4sIGludGVncmFsX2M8IFQsQzEgPiwgaW50ZWdyYWxfYzwgVCxDMiA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMyA+LCBpbnRlZ3JhbF9jPCBULEM0ID4sIGludGVncmFsX2M8IFQsQzUgPiAKKyA+Cit7CisgICAgdHlwZWRlZiB2ZWN0b3I2X2MgdHlwZTsKKyAgICB0eXBlZGVmIFQgdmFsdWVfdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVAorICAgICwgVCBDMCwgVCBDMSwgVCBDMiwgVCBDMywgVCBDNCwgVCBDNSwgVCBDNgorICAgID4KK3N0cnVjdCB2ZWN0b3I3X2MKKyAgICA6IHZlY3Rvcjc8CisgICAgICAgICAgaW50ZWdyYWxfYzwgVCxDMCA+LCBpbnRlZ3JhbF9jPCBULEMxID4sIGludGVncmFsX2M8IFQsQzIgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzMgPiwgaW50ZWdyYWxfYzwgVCxDNCA+LCBpbnRlZ3JhbF9jPCBULEM1ID4sIGludGVncmFsX2M8VAorICAgICAgICAsIEM2PiAKKyA+Cit7CisgICAgdHlwZWRlZiB2ZWN0b3I3X2MgdHlwZTsKKyAgICB0eXBlZGVmIFQgdmFsdWVfdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVAorICAgICwgVCBDMCwgVCBDMSwgVCBDMiwgVCBDMywgVCBDNCwgVCBDNSwgVCBDNiwgVCBDNworICAgID4KK3N0cnVjdCB2ZWN0b3I4X2MKKyAgICA6IHZlY3Rvcjg8CisgICAgICAgICAgaW50ZWdyYWxfYzwgVCxDMCA+LCBpbnRlZ3JhbF9jPCBULEMxID4sIGludGVncmFsX2M8IFQsQzIgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzMgPiwgaW50ZWdyYWxfYzwgVCxDNCA+LCBpbnRlZ3JhbF9jPCBULEM1ID4sIGludGVncmFsX2M8IFQsQzYgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzcgPiAKKyA+Cit7CisgICAgdHlwZWRlZiB2ZWN0b3I4X2MgdHlwZTsKKyAgICB0eXBlZGVmIFQgdmFsdWVfdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVAorICAgICwgVCBDMCwgVCBDMSwgVCBDMiwgVCBDMywgVCBDNCwgVCBDNSwgVCBDNiwgVCBDNywgVCBDOAorICAgID4KK3N0cnVjdCB2ZWN0b3I5X2MKKyAgICA6IHZlY3Rvcjk8CisgICAgICAgICAgaW50ZWdyYWxfYzwgVCxDMCA+LCBpbnRlZ3JhbF9jPCBULEMxID4sIGludGVncmFsX2M8IFQsQzIgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzMgPiwgaW50ZWdyYWxfYzwgVCxDNCA+LCBpbnRlZ3JhbF9jPCBULEM1ID4sIGludGVncmFsX2M8IFQsQzYgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzcgPiwgaW50ZWdyYWxfYzwgVCxDOCA+IAorID4KK3sKKyAgICB0eXBlZGVmIHZlY3RvcjlfYyB0eXBlOworICAgIHR5cGVkZWYgVCB2YWx1ZV90eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUCisgICAgLCBUIEMwLCBUIEMxLCBUIEMyLCBUIEMzLCBUIEM0LCBUIEM1LCBUIEM2LCBUIEM3LCBUIEM4LCBUIEM5CisgICAgPgorc3RydWN0IHZlY3RvcjEwX2MKKyAgICA6IHZlY3RvcjEwPAorICAgICAgICAgIGludGVncmFsX2M8IFQsQzAgPiwgaW50ZWdyYWxfYzwgVCxDMSA+LCBpbnRlZ3JhbF9jPCBULEMyID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMzID4sIGludGVncmFsX2M8IFQsQzQgPiwgaW50ZWdyYWxfYzwgVCxDNSA+LCBpbnRlZ3JhbF9jPCBULEM2ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEM3ID4sIGludGVncmFsX2M8IFQsQzggPiwgaW50ZWdyYWxfYzwgVCxDOSA+IAorID4KK3sKKyAgICB0eXBlZGVmIHZlY3RvcjEwX2MgdHlwZTsKKyAgICB0eXBlZGVmIFQgdmFsdWVfdHlwZTsKK307CisKK319CmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvdmVjdG9yL2F1eF8vcHJlcHJvY2Vzc2VkL3BsYWluL3ZlY3RvcjIwLmhwcCBiL25kbmJvb3N0L21wbC92ZWN0b3IvYXV4Xy9wcmVwcm9jZXNzZWQvcGxhaW4vdmVjdG9yMjAuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ0OTIwOWUKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvdmVjdG9yL2F1eF8vcHJlcHJvY2Vzc2VkL3BsYWluL3ZlY3RvcjIwLmhwcApAQCAtMCwwICsxLDExNDQgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL3ZlY3Rvci92ZWN0b3IyMC5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwCisgICAgPgorc3RydWN0IHZlY3RvcjExCit7CisgICAgdHlwZWRlZiBhdXg6OnZlY3Rvcl90YWc8MTE+IHRhZzsKKyAgICB0eXBlZGVmIHZlY3RvcjExIHR5cGU7CisgICAgdHlwZWRlZiBUMCBpdGVtMDsKKyAgICB0eXBlZGVmIFQxIGl0ZW0xOworICAgIHR5cGVkZWYgVDIgaXRlbTI7CisgICAgdHlwZWRlZiBUMyBpdGVtMzsKKyAgICB0eXBlZGVmIFQ0IGl0ZW00OworICAgIHR5cGVkZWYgVDUgaXRlbTU7CisgICAgdHlwZWRlZiBUNiBpdGVtNjsKKyAgICB0eXBlZGVmIFQ3IGl0ZW03OworICAgIHR5cGVkZWYgVDggaXRlbTg7CisgICAgdHlwZWRlZiBUOSBpdGVtOTsKKyAgICB0eXBlZGVmIFQxMCBpdGVtMTA7CisgICAgCisKKyAgICB0eXBlZGVmIHZvaWRfIGl0ZW0xMTsKKyAgICB0eXBlZGVmIFQxMCBiYWNrOworICAgIHR5cGVkZWYgdl9pdGVyPCB0eXBlLDAgPiBiZWdpbjsKKyAgICB0eXBlZGVmIHZfaXRlcjwgdHlwZSwxMSA+IGVuZDsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwdXNoX2Zyb250X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwxMD4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IsIHR5cGVuYW1lIFQgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yMTE8CisgICAgICAgICAgICAgIFQKKyAgICAgICAgICAgICAgLAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0wLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW02LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW03CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTkKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHBvcF9mcm9udF9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MTE+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjEwPAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW03LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW04CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTksIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEwCisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwdXNoX2JhY2tfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDEwPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciwgdHlwZW5hbWUgVCA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IxMTwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW04LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW05CisgICAgICAgICAgICAgICwKKyAgICAgICAgICAgICAgVAorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcG9wX2JhY2tfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDExPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IxMDwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW04LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW05CisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBWID4KK3N0cnVjdCB2X2F0PCBWLDExID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW0xMSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEKKyAgICA+CitzdHJ1Y3QgdmVjdG9yMTIKK3sKKyAgICB0eXBlZGVmIGF1eDo6dmVjdG9yX3RhZzwxMj4gdGFnOworICAgIHR5cGVkZWYgdmVjdG9yMTIgdHlwZTsKKyAgICB0eXBlZGVmIFQwIGl0ZW0wOworICAgIHR5cGVkZWYgVDEgaXRlbTE7CisgICAgdHlwZWRlZiBUMiBpdGVtMjsKKyAgICB0eXBlZGVmIFQzIGl0ZW0zOworICAgIHR5cGVkZWYgVDQgaXRlbTQ7CisgICAgdHlwZWRlZiBUNSBpdGVtNTsKKyAgICB0eXBlZGVmIFQ2IGl0ZW02OworICAgIHR5cGVkZWYgVDcgaXRlbTc7CisgICAgdHlwZWRlZiBUOCBpdGVtODsKKyAgICB0eXBlZGVmIFQ5IGl0ZW05OworICAgIHR5cGVkZWYgVDEwIGl0ZW0xMDsKKyAgICB0eXBlZGVmIFQxMSBpdGVtMTE7CisgICAgCisKKyAgICB0eXBlZGVmIHZvaWRfIGl0ZW0xMjsKKyAgICB0eXBlZGVmIFQxMSBiYWNrOworICAgIHR5cGVkZWYgdl9pdGVyPCB0eXBlLDAgPiBiZWdpbjsKKyAgICB0eXBlZGVmIHZfaXRlcjwgdHlwZSwxMiA+IGVuZDsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwdXNoX2Zyb250X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwxMT4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IsIHR5cGVuYW1lIFQgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yMTI8CisgICAgICAgICAgICAgIFQKKyAgICAgICAgICAgICAgLAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0wLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW02LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW03CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTAKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHBvcF9mcm9udF9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MTI+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjExPAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW03LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW04CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTksIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEwCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTExCisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwdXNoX2JhY2tfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDExPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciwgdHlwZW5hbWUgVCA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IxMjwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW04LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW05CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEwCisgICAgICAgICAgICAgICwKKyAgICAgICAgICAgICAgVAorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcG9wX2JhY2tfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDEyPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IxMTwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW04LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW05CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEwCisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBWID4KK3N0cnVjdCB2X2F0PCBWLDEyID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW0xMiB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMgorICAgID4KK3N0cnVjdCB2ZWN0b3IxMworeworICAgIHR5cGVkZWYgYXV4Ojp2ZWN0b3JfdGFnPDEzPiB0YWc7CisgICAgdHlwZWRlZiB2ZWN0b3IxMyB0eXBlOworICAgIHR5cGVkZWYgVDAgaXRlbTA7CisgICAgdHlwZWRlZiBUMSBpdGVtMTsKKyAgICB0eXBlZGVmIFQyIGl0ZW0yOworICAgIHR5cGVkZWYgVDMgaXRlbTM7CisgICAgdHlwZWRlZiBUNCBpdGVtNDsKKyAgICB0eXBlZGVmIFQ1IGl0ZW01OworICAgIHR5cGVkZWYgVDYgaXRlbTY7CisgICAgdHlwZWRlZiBUNyBpdGVtNzsKKyAgICB0eXBlZGVmIFQ4IGl0ZW04OworICAgIHR5cGVkZWYgVDkgaXRlbTk7CisgICAgdHlwZWRlZiBUMTAgaXRlbTEwOworICAgIHR5cGVkZWYgVDExIGl0ZW0xMTsKKyAgICB0eXBlZGVmIFQxMiBpdGVtMTI7CisgICAgCisKKyAgICB0eXBlZGVmIHZvaWRfIGl0ZW0xMzsKKyAgICB0eXBlZGVmIFQxMiBiYWNrOworICAgIHR5cGVkZWYgdl9pdGVyPCB0eXBlLDAgPiBiZWdpbjsKKyAgICB0eXBlZGVmIHZfaXRlcjwgdHlwZSwxMyA+IGVuZDsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwdXNoX2Zyb250X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwxMj4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IsIHR5cGVuYW1lIFQgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yMTM8CisgICAgICAgICAgICAgIFQKKyAgICAgICAgICAgICAgLAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0wLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW02LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW03CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTExCisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwb3BfZnJvbnRfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDEzPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IxMjwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNywgdHlwZW5hbWUgVmVjdG9yOjppdGVtOAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW05LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTIKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHB1c2hfYmFja19pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MTI+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yLCB0eXBlbmFtZSBUID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjEzPAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0wLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW02LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW03CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTExCisgICAgICAgICAgICAgICwKKyAgICAgICAgICAgICAgVAorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcG9wX2JhY2tfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDEzPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IxMjwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW04LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW05CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMQorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgViA+CitzdHJ1Y3Qgdl9hdDwgViwxMyA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtMTMgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMworICAgID4KK3N0cnVjdCB2ZWN0b3IxNAoreworICAgIHR5cGVkZWYgYXV4Ojp2ZWN0b3JfdGFnPDE0PiB0YWc7CisgICAgdHlwZWRlZiB2ZWN0b3IxNCB0eXBlOworICAgIHR5cGVkZWYgVDAgaXRlbTA7CisgICAgdHlwZWRlZiBUMSBpdGVtMTsKKyAgICB0eXBlZGVmIFQyIGl0ZW0yOworICAgIHR5cGVkZWYgVDMgaXRlbTM7CisgICAgdHlwZWRlZiBUNCBpdGVtNDsKKyAgICB0eXBlZGVmIFQ1IGl0ZW01OworICAgIHR5cGVkZWYgVDYgaXRlbTY7CisgICAgdHlwZWRlZiBUNyBpdGVtNzsKKyAgICB0eXBlZGVmIFQ4IGl0ZW04OworICAgIHR5cGVkZWYgVDkgaXRlbTk7CisgICAgdHlwZWRlZiBUMTAgaXRlbTEwOworICAgIHR5cGVkZWYgVDExIGl0ZW0xMTsKKyAgICB0eXBlZGVmIFQxMiBpdGVtMTI7CisgICAgdHlwZWRlZiBUMTMgaXRlbTEzOworICAgIAorCisgICAgdHlwZWRlZiB2b2lkXyBpdGVtMTQ7CisgICAgdHlwZWRlZiBUMTMgYmFjazsKKyAgICB0eXBlZGVmIHZfaXRlcjwgdHlwZSwwID4gYmVnaW47CisgICAgdHlwZWRlZiB2X2l0ZXI8IHR5cGUsMTQgPiBlbmQ7Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcHVzaF9mcm9udF9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MTM+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yLCB0eXBlbmFtZSBUID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjE0PAorICAgICAgICAgICAgICBUCisgICAgICAgICAgICAgICwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW04LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW05CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMgorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcG9wX2Zyb250X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwxND4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yMTM8CisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMywgdHlwZW5hbWUgVmVjdG9yOjppdGVtNAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW02CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTgKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTAKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTEsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEyCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEzCisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwdXNoX2JhY2tfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDEzPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciwgdHlwZW5hbWUgVCA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IxNDwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW04LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW05CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMgorICAgICAgICAgICAgICAsCisgICAgICAgICAgICAgIFQKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHBvcF9iYWNrX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwxND4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yMTM8CisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTIKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFYgPgorc3RydWN0IHZfYXQ8IFYsMTQgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTE0IHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgID4KK3N0cnVjdCB2ZWN0b3IxNQoreworICAgIHR5cGVkZWYgYXV4Ojp2ZWN0b3JfdGFnPDE1PiB0YWc7CisgICAgdHlwZWRlZiB2ZWN0b3IxNSB0eXBlOworICAgIHR5cGVkZWYgVDAgaXRlbTA7CisgICAgdHlwZWRlZiBUMSBpdGVtMTsKKyAgICB0eXBlZGVmIFQyIGl0ZW0yOworICAgIHR5cGVkZWYgVDMgaXRlbTM7CisgICAgdHlwZWRlZiBUNCBpdGVtNDsKKyAgICB0eXBlZGVmIFQ1IGl0ZW01OworICAgIHR5cGVkZWYgVDYgaXRlbTY7CisgICAgdHlwZWRlZiBUNyBpdGVtNzsKKyAgICB0eXBlZGVmIFQ4IGl0ZW04OworICAgIHR5cGVkZWYgVDkgaXRlbTk7CisgICAgdHlwZWRlZiBUMTAgaXRlbTEwOworICAgIHR5cGVkZWYgVDExIGl0ZW0xMTsKKyAgICB0eXBlZGVmIFQxMiBpdGVtMTI7CisgICAgdHlwZWRlZiBUMTMgaXRlbTEzOworICAgIHR5cGVkZWYgVDE0IGl0ZW0xNDsKKyAgICAKKworICAgIHR5cGVkZWYgdm9pZF8gaXRlbTE1OworICAgIHR5cGVkZWYgVDE0IGJhY2s7CisgICAgdHlwZWRlZiB2X2l0ZXI8IHR5cGUsMCA+IGJlZ2luOworICAgIHR5cGVkZWYgdl9pdGVyPCB0eXBlLDE1ID4gZW5kOworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHB1c2hfZnJvbnRfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDE0PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciwgdHlwZW5hbWUgVCA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IxNTwKKyAgICAgICAgICAgICAgVAorICAgICAgICAgICAgICAsCisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEzCisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwb3BfZnJvbnRfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDE1PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IxNDwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNywgdHlwZW5hbWUgVmVjdG9yOjppdGVtOAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW05LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTIKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTMsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE0CisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwdXNoX2JhY2tfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDE0PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciwgdHlwZW5hbWUgVCA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IxNTwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW04LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW05CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTMKKyAgICAgICAgICAgICAgLAorICAgICAgICAgICAgICBUCisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwb3BfYmFja19pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MTU+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjE0PAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0wLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW02LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW03CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTExCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMworICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgViA+CitzdHJ1Y3Qgdl9hdDwgViwxNSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtMTUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgLCB0eXBlbmFtZSBUMTUKKyAgICA+CitzdHJ1Y3QgdmVjdG9yMTYKK3sKKyAgICB0eXBlZGVmIGF1eDo6dmVjdG9yX3RhZzwxNj4gdGFnOworICAgIHR5cGVkZWYgdmVjdG9yMTYgdHlwZTsKKyAgICB0eXBlZGVmIFQwIGl0ZW0wOworICAgIHR5cGVkZWYgVDEgaXRlbTE7CisgICAgdHlwZWRlZiBUMiBpdGVtMjsKKyAgICB0eXBlZGVmIFQzIGl0ZW0zOworICAgIHR5cGVkZWYgVDQgaXRlbTQ7CisgICAgdHlwZWRlZiBUNSBpdGVtNTsKKyAgICB0eXBlZGVmIFQ2IGl0ZW02OworICAgIHR5cGVkZWYgVDcgaXRlbTc7CisgICAgdHlwZWRlZiBUOCBpdGVtODsKKyAgICB0eXBlZGVmIFQ5IGl0ZW05OworICAgIHR5cGVkZWYgVDEwIGl0ZW0xMDsKKyAgICB0eXBlZGVmIFQxMSBpdGVtMTE7CisgICAgdHlwZWRlZiBUMTIgaXRlbTEyOworICAgIHR5cGVkZWYgVDEzIGl0ZW0xMzsKKyAgICB0eXBlZGVmIFQxNCBpdGVtMTQ7CisgICAgdHlwZWRlZiBUMTUgaXRlbTE1OworICAgIAorCisgICAgdHlwZWRlZiB2b2lkXyBpdGVtMTY7CisgICAgdHlwZWRlZiBUMTUgYmFjazsKKyAgICB0eXBlZGVmIHZfaXRlcjwgdHlwZSwwID4gYmVnaW47CisgICAgdHlwZWRlZiB2X2l0ZXI8IHR5cGUsMTYgPiBlbmQ7Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcHVzaF9mcm9udF9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MTU+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yLCB0eXBlbmFtZSBUID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjE2PAorICAgICAgICAgICAgICBUCisgICAgICAgICAgICAgICwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW04LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW05CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTQKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHBvcF9mcm9udF9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MTY+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjE1PAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW03LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW04CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTksIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEwCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTExLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMywgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTQKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTUKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHB1c2hfYmFja19pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MTU+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yLCB0eXBlbmFtZSBUID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjE2PAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0wLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW02LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW03CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTExCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNAorICAgICAgICAgICAgICAsCisgICAgICAgICAgICAgIFQKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHBvcF9iYWNrX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwxNj4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yMTU8CisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE0CisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBWID4KK3N0cnVjdCB2X2F0PCBWLDE2ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW0xNiB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2CisgICAgPgorc3RydWN0IHZlY3RvcjE3Cit7CisgICAgdHlwZWRlZiBhdXg6OnZlY3Rvcl90YWc8MTc+IHRhZzsKKyAgICB0eXBlZGVmIHZlY3RvcjE3IHR5cGU7CisgICAgdHlwZWRlZiBUMCBpdGVtMDsKKyAgICB0eXBlZGVmIFQxIGl0ZW0xOworICAgIHR5cGVkZWYgVDIgaXRlbTI7CisgICAgdHlwZWRlZiBUMyBpdGVtMzsKKyAgICB0eXBlZGVmIFQ0IGl0ZW00OworICAgIHR5cGVkZWYgVDUgaXRlbTU7CisgICAgdHlwZWRlZiBUNiBpdGVtNjsKKyAgICB0eXBlZGVmIFQ3IGl0ZW03OworICAgIHR5cGVkZWYgVDggaXRlbTg7CisgICAgdHlwZWRlZiBUOSBpdGVtOTsKKyAgICB0eXBlZGVmIFQxMCBpdGVtMTA7CisgICAgdHlwZWRlZiBUMTEgaXRlbTExOworICAgIHR5cGVkZWYgVDEyIGl0ZW0xMjsKKyAgICB0eXBlZGVmIFQxMyBpdGVtMTM7CisgICAgdHlwZWRlZiBUMTQgaXRlbTE0OworICAgIHR5cGVkZWYgVDE1IGl0ZW0xNTsKKyAgICB0eXBlZGVmIFQxNiBpdGVtMTY7CisgICAgCisKKyAgICB0eXBlZGVmIHZvaWRfIGl0ZW0xNzsKKyAgICB0eXBlZGVmIFQxNiBiYWNrOworICAgIHR5cGVkZWYgdl9pdGVyPCB0eXBlLDAgPiBiZWdpbjsKKyAgICB0eXBlZGVmIHZfaXRlcjwgdHlwZSwxNyA+IGVuZDsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwdXNoX2Zyb250X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwxNj4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IsIHR5cGVuYW1lIFQgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yMTc8CisgICAgICAgICAgICAgIFQKKyAgICAgICAgICAgICAgLAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0wLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW02LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW03CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTExCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTUKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHBvcF9mcm9udF9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MTc+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjE2PAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW03LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW04CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTksIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEwCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTExLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMywgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTQKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTUsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE2CisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwdXNoX2JhY2tfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDE2PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciwgdHlwZW5hbWUgVCA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IxNzwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW04LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW05CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE1CisgICAgICAgICAgICAgICwKKyAgICAgICAgICAgICAgVAorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcG9wX2JhY2tfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDE3PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IxNjwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW04LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW05CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE1CisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBWID4KK3N0cnVjdCB2X2F0PCBWLDE3ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW0xNyB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcKKyAgICA+CitzdHJ1Y3QgdmVjdG9yMTgKK3sKKyAgICB0eXBlZGVmIGF1eDo6dmVjdG9yX3RhZzwxOD4gdGFnOworICAgIHR5cGVkZWYgdmVjdG9yMTggdHlwZTsKKyAgICB0eXBlZGVmIFQwIGl0ZW0wOworICAgIHR5cGVkZWYgVDEgaXRlbTE7CisgICAgdHlwZWRlZiBUMiBpdGVtMjsKKyAgICB0eXBlZGVmIFQzIGl0ZW0zOworICAgIHR5cGVkZWYgVDQgaXRlbTQ7CisgICAgdHlwZWRlZiBUNSBpdGVtNTsKKyAgICB0eXBlZGVmIFQ2IGl0ZW02OworICAgIHR5cGVkZWYgVDcgaXRlbTc7CisgICAgdHlwZWRlZiBUOCBpdGVtODsKKyAgICB0eXBlZGVmIFQ5IGl0ZW05OworICAgIHR5cGVkZWYgVDEwIGl0ZW0xMDsKKyAgICB0eXBlZGVmIFQxMSBpdGVtMTE7CisgICAgdHlwZWRlZiBUMTIgaXRlbTEyOworICAgIHR5cGVkZWYgVDEzIGl0ZW0xMzsKKyAgICB0eXBlZGVmIFQxNCBpdGVtMTQ7CisgICAgdHlwZWRlZiBUMTUgaXRlbTE1OworICAgIHR5cGVkZWYgVDE2IGl0ZW0xNjsKKyAgICB0eXBlZGVmIFQxNyBpdGVtMTc7CisgICAgCisKKyAgICB0eXBlZGVmIHZvaWRfIGl0ZW0xODsKKyAgICB0eXBlZGVmIFQxNyBiYWNrOworICAgIHR5cGVkZWYgdl9pdGVyPCB0eXBlLDAgPiBiZWdpbjsKKyAgICB0eXBlZGVmIHZfaXRlcjwgdHlwZSwxOCA+IGVuZDsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwdXNoX2Zyb250X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwxNz4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IsIHR5cGVuYW1lIFQgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yMTg8CisgICAgICAgICAgICAgIFQKKyAgICAgICAgICAgICAgLAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0wLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW02LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW03CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTExCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTYKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHBvcF9mcm9udF9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MTg+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjE3PAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW03LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW04CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTksIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEwCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTExLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMywgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTQKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTUsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE2CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE3CisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwdXNoX2JhY2tfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDE3PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciwgdHlwZW5hbWUgVCA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IxODwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW04LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW05CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE2CisgICAgICAgICAgICAgICwKKyAgICAgICAgICAgICAgVAorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcG9wX2JhY2tfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDE4PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IxNzwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW04LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW05CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE2CisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBWID4KK3N0cnVjdCB2X2F0PCBWLDE4ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW0xOCB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOAorICAgID4KK3N0cnVjdCB2ZWN0b3IxOQoreworICAgIHR5cGVkZWYgYXV4Ojp2ZWN0b3JfdGFnPDE5PiB0YWc7CisgICAgdHlwZWRlZiB2ZWN0b3IxOSB0eXBlOworICAgIHR5cGVkZWYgVDAgaXRlbTA7CisgICAgdHlwZWRlZiBUMSBpdGVtMTsKKyAgICB0eXBlZGVmIFQyIGl0ZW0yOworICAgIHR5cGVkZWYgVDMgaXRlbTM7CisgICAgdHlwZWRlZiBUNCBpdGVtNDsKKyAgICB0eXBlZGVmIFQ1IGl0ZW01OworICAgIHR5cGVkZWYgVDYgaXRlbTY7CisgICAgdHlwZWRlZiBUNyBpdGVtNzsKKyAgICB0eXBlZGVmIFQ4IGl0ZW04OworICAgIHR5cGVkZWYgVDkgaXRlbTk7CisgICAgdHlwZWRlZiBUMTAgaXRlbTEwOworICAgIHR5cGVkZWYgVDExIGl0ZW0xMTsKKyAgICB0eXBlZGVmIFQxMiBpdGVtMTI7CisgICAgdHlwZWRlZiBUMTMgaXRlbTEzOworICAgIHR5cGVkZWYgVDE0IGl0ZW0xNDsKKyAgICB0eXBlZGVmIFQxNSBpdGVtMTU7CisgICAgdHlwZWRlZiBUMTYgaXRlbTE2OworICAgIHR5cGVkZWYgVDE3IGl0ZW0xNzsKKyAgICB0eXBlZGVmIFQxOCBpdGVtMTg7CisgICAgCisKKyAgICB0eXBlZGVmIHZvaWRfIGl0ZW0xOTsKKyAgICB0eXBlZGVmIFQxOCBiYWNrOworICAgIHR5cGVkZWYgdl9pdGVyPCB0eXBlLDAgPiBiZWdpbjsKKyAgICB0eXBlZGVmIHZfaXRlcjwgdHlwZSwxOSA+IGVuZDsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwdXNoX2Zyb250X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwxOD4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IsIHR5cGVuYW1lIFQgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yMTk8CisgICAgICAgICAgICAgIFQKKyAgICAgICAgICAgICAgLAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0wLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW02LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW03CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTExCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE3CisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwb3BfZnJvbnRfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDE5PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IxODwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNywgdHlwZW5hbWUgVmVjdG9yOjppdGVtOAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW05LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTIKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTMsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE0CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE1LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNywgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTgKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHB1c2hfYmFja19pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MTg+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yLCB0eXBlbmFtZSBUID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjE5PAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0wLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW02LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW03CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTExCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE3CisgICAgICAgICAgICAgICwKKyAgICAgICAgICAgICAgVAorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcG9wX2JhY2tfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDE5PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IxODwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW04LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW05CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNworICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgViA+CitzdHJ1Y3Qgdl9hdDwgViwxOSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtMTkgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgID4KK3N0cnVjdCB2ZWN0b3IyMAoreworICAgIHR5cGVkZWYgYXV4Ojp2ZWN0b3JfdGFnPDIwPiB0YWc7CisgICAgdHlwZWRlZiB2ZWN0b3IyMCB0eXBlOworICAgIHR5cGVkZWYgVDAgaXRlbTA7CisgICAgdHlwZWRlZiBUMSBpdGVtMTsKKyAgICB0eXBlZGVmIFQyIGl0ZW0yOworICAgIHR5cGVkZWYgVDMgaXRlbTM7CisgICAgdHlwZWRlZiBUNCBpdGVtNDsKKyAgICB0eXBlZGVmIFQ1IGl0ZW01OworICAgIHR5cGVkZWYgVDYgaXRlbTY7CisgICAgdHlwZWRlZiBUNyBpdGVtNzsKKyAgICB0eXBlZGVmIFQ4IGl0ZW04OworICAgIHR5cGVkZWYgVDkgaXRlbTk7CisgICAgdHlwZWRlZiBUMTAgaXRlbTEwOworICAgIHR5cGVkZWYgVDExIGl0ZW0xMTsKKyAgICB0eXBlZGVmIFQxMiBpdGVtMTI7CisgICAgdHlwZWRlZiBUMTMgaXRlbTEzOworICAgIHR5cGVkZWYgVDE0IGl0ZW0xNDsKKyAgICB0eXBlZGVmIFQxNSBpdGVtMTU7CisgICAgdHlwZWRlZiBUMTYgaXRlbTE2OworICAgIHR5cGVkZWYgVDE3IGl0ZW0xNzsKKyAgICB0eXBlZGVmIFQxOCBpdGVtMTg7CisgICAgdHlwZWRlZiBUMTkgaXRlbTE5OworICAgIAorCisgICAgdHlwZWRlZiB2b2lkXyBpdGVtMjA7CisgICAgdHlwZWRlZiBUMTkgYmFjazsKKyAgICB0eXBlZGVmIHZfaXRlcjwgdHlwZSwwID4gYmVnaW47CisgICAgdHlwZWRlZiB2X2l0ZXI8IHR5cGUsMjAgPiBlbmQ7Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcHVzaF9mcm9udF9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MTk+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yLCB0eXBlbmFtZSBUID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjIwPAorICAgICAgICAgICAgICBUCisgICAgICAgICAgICAgICwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW04LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW05CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOAorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcG9wX2Zyb250X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwyMD4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yMTk8CisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMywgdHlwZW5hbWUgVmVjdG9yOjppdGVtNAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW02CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTgKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTAKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTEsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEyCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEzLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTYKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTcsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE4CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE5CisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwdXNoX2JhY2tfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDE5PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciwgdHlwZW5hbWUgVCA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IyMDwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW04LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW05CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOAorICAgICAgICAgICAgICAsCisgICAgICAgICAgICAgIFQKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHBvcF9iYWNrX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwyMD4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yMTk8CisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTgKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFYgPgorc3RydWN0IHZfYXQ8IFYsMjAgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTIwIHR5cGU7Cit9OworCit9fQpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL3ZlY3Rvci9hdXhfL3ByZXByb2Nlc3NlZC9wbGFpbi92ZWN0b3IyMF9jLmhwcCBiL25kbmJvb3N0L21wbC92ZWN0b3IvYXV4Xy9wcmVwcm9jZXNzZWQvcGxhaW4vdmVjdG9yMjBfYy5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTgxNGNjYgotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC92ZWN0b3IvYXV4Xy9wcmVwcm9jZXNzZWQvcGxhaW4vdmVjdG9yMjBfYy5ocHAKQEAgLTAsMCArMSwxOTUgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL3ZlY3Rvci92ZWN0b3IyMF9jLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQKKyAgICAsIFQgQzAsIFQgQzEsIFQgQzIsIFQgQzMsIFQgQzQsIFQgQzUsIFQgQzYsIFQgQzcsIFQgQzgsIFQgQzksIFQgQzEwCisgICAgPgorc3RydWN0IHZlY3RvcjExX2MKKyAgICA6IHZlY3RvcjExPAorICAgICAgICAgIGludGVncmFsX2M8IFQsQzAgPiwgaW50ZWdyYWxfYzwgVCxDMSA+LCBpbnRlZ3JhbF9jPCBULEMyID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMzID4sIGludGVncmFsX2M8IFQsQzQgPiwgaW50ZWdyYWxfYzwgVCxDNSA+LCBpbnRlZ3JhbF9jPCBULEM2ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEM3ID4sIGludGVncmFsX2M8IFQsQzggPiwgaW50ZWdyYWxfYzwgVCxDOSA+LCBpbnRlZ3JhbF9jPFQKKyAgICAgICAgLCBDMTA+IAorID4KK3sKKyAgICB0eXBlZGVmIHZlY3RvcjExX2MgdHlwZTsKKyAgICB0eXBlZGVmIFQgdmFsdWVfdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVAorICAgICwgVCBDMCwgVCBDMSwgVCBDMiwgVCBDMywgVCBDNCwgVCBDNSwgVCBDNiwgVCBDNywgVCBDOCwgVCBDOSwgVCBDMTAKKyAgICAsIFQgQzExCisgICAgPgorc3RydWN0IHZlY3RvcjEyX2MKKyAgICA6IHZlY3RvcjEyPAorICAgICAgICAgIGludGVncmFsX2M8IFQsQzAgPiwgaW50ZWdyYWxfYzwgVCxDMSA+LCBpbnRlZ3JhbF9jPCBULEMyID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMzID4sIGludGVncmFsX2M8IFQsQzQgPiwgaW50ZWdyYWxfYzwgVCxDNSA+LCBpbnRlZ3JhbF9jPCBULEM2ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEM3ID4sIGludGVncmFsX2M8IFQsQzggPiwgaW50ZWdyYWxfYzwgVCxDOSA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMTAgPiwgaW50ZWdyYWxfYzwgVCxDMTEgPiAKKyA+Cit7CisgICAgdHlwZWRlZiB2ZWN0b3IxMl9jIHR5cGU7CisgICAgdHlwZWRlZiBUIHZhbHVlX3R5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQKKyAgICAsIFQgQzAsIFQgQzEsIFQgQzIsIFQgQzMsIFQgQzQsIFQgQzUsIFQgQzYsIFQgQzcsIFQgQzgsIFQgQzksIFQgQzEwCisgICAgLCBUIEMxMSwgVCBDMTIKKyAgICA+CitzdHJ1Y3QgdmVjdG9yMTNfYworICAgIDogdmVjdG9yMTM8CisgICAgICAgICAgaW50ZWdyYWxfYzwgVCxDMCA+LCBpbnRlZ3JhbF9jPCBULEMxID4sIGludGVncmFsX2M8IFQsQzIgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzMgPiwgaW50ZWdyYWxfYzwgVCxDNCA+LCBpbnRlZ3JhbF9jPCBULEM1ID4sIGludGVncmFsX2M8IFQsQzYgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzcgPiwgaW50ZWdyYWxfYzwgVCxDOCA+LCBpbnRlZ3JhbF9jPCBULEM5ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMxMCA+LCBpbnRlZ3JhbF9jPCBULEMxMSA+LCBpbnRlZ3JhbF9jPCBULEMxMiA+IAorID4KK3sKKyAgICB0eXBlZGVmIHZlY3RvcjEzX2MgdHlwZTsKKyAgICB0eXBlZGVmIFQgdmFsdWVfdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVAorICAgICwgVCBDMCwgVCBDMSwgVCBDMiwgVCBDMywgVCBDNCwgVCBDNSwgVCBDNiwgVCBDNywgVCBDOCwgVCBDOSwgVCBDMTAKKyAgICAsIFQgQzExLCBUIEMxMiwgVCBDMTMKKyAgICA+CitzdHJ1Y3QgdmVjdG9yMTRfYworICAgIDogdmVjdG9yMTQ8CisgICAgICAgICAgaW50ZWdyYWxfYzwgVCxDMCA+LCBpbnRlZ3JhbF9jPCBULEMxID4sIGludGVncmFsX2M8IFQsQzIgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzMgPiwgaW50ZWdyYWxfYzwgVCxDNCA+LCBpbnRlZ3JhbF9jPCBULEM1ID4sIGludGVncmFsX2M8IFQsQzYgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzcgPiwgaW50ZWdyYWxfYzwgVCxDOCA+LCBpbnRlZ3JhbF9jPCBULEM5ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMxMCA+LCBpbnRlZ3JhbF9jPCBULEMxMSA+LCBpbnRlZ3JhbF9jPCBULEMxMiA+LCBpbnRlZ3JhbF9jPFQKKyAgICAgICAgLCBDMTM+IAorID4KK3sKKyAgICB0eXBlZGVmIHZlY3RvcjE0X2MgdHlwZTsKKyAgICB0eXBlZGVmIFQgdmFsdWVfdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVAorICAgICwgVCBDMCwgVCBDMSwgVCBDMiwgVCBDMywgVCBDNCwgVCBDNSwgVCBDNiwgVCBDNywgVCBDOCwgVCBDOSwgVCBDMTAKKyAgICAsIFQgQzExLCBUIEMxMiwgVCBDMTMsIFQgQzE0CisgICAgPgorc3RydWN0IHZlY3RvcjE1X2MKKyAgICA6IHZlY3RvcjE1PAorICAgICAgICAgIGludGVncmFsX2M8IFQsQzAgPiwgaW50ZWdyYWxfYzwgVCxDMSA+LCBpbnRlZ3JhbF9jPCBULEMyID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMzID4sIGludGVncmFsX2M8IFQsQzQgPiwgaW50ZWdyYWxfYzwgVCxDNSA+LCBpbnRlZ3JhbF9jPCBULEM2ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEM3ID4sIGludGVncmFsX2M8IFQsQzggPiwgaW50ZWdyYWxfYzwgVCxDOSA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMTAgPiwgaW50ZWdyYWxfYzwgVCxDMTEgPiwgaW50ZWdyYWxfYzwgVCxDMTIgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzEzID4sIGludGVncmFsX2M8IFQsQzE0ID4gCisgPgoreworICAgIHR5cGVkZWYgdmVjdG9yMTVfYyB0eXBlOworICAgIHR5cGVkZWYgVCB2YWx1ZV90eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUCisgICAgLCBUIEMwLCBUIEMxLCBUIEMyLCBUIEMzLCBUIEM0LCBUIEM1LCBUIEM2LCBUIEM3LCBUIEM4LCBUIEM5LCBUIEMxMAorICAgICwgVCBDMTEsIFQgQzEyLCBUIEMxMywgVCBDMTQsIFQgQzE1CisgICAgPgorc3RydWN0IHZlY3RvcjE2X2MKKyAgICA6IHZlY3RvcjE2PAorICAgICAgICAgIGludGVncmFsX2M8IFQsQzAgPiwgaW50ZWdyYWxfYzwgVCxDMSA+LCBpbnRlZ3JhbF9jPCBULEMyID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMzID4sIGludGVncmFsX2M8IFQsQzQgPiwgaW50ZWdyYWxfYzwgVCxDNSA+LCBpbnRlZ3JhbF9jPCBULEM2ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEM3ID4sIGludGVncmFsX2M8IFQsQzggPiwgaW50ZWdyYWxfYzwgVCxDOSA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMTAgPiwgaW50ZWdyYWxfYzwgVCxDMTEgPiwgaW50ZWdyYWxfYzwgVCxDMTIgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzEzID4sIGludGVncmFsX2M8IFQsQzE0ID4sIGludGVncmFsX2M8IFQsQzE1ID4gCisgPgoreworICAgIHR5cGVkZWYgdmVjdG9yMTZfYyB0eXBlOworICAgIHR5cGVkZWYgVCB2YWx1ZV90eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUCisgICAgLCBUIEMwLCBUIEMxLCBUIEMyLCBUIEMzLCBUIEM0LCBUIEM1LCBUIEM2LCBUIEM3LCBUIEM4LCBUIEM5LCBUIEMxMAorICAgICwgVCBDMTEsIFQgQzEyLCBUIEMxMywgVCBDMTQsIFQgQzE1LCBUIEMxNgorICAgID4KK3N0cnVjdCB2ZWN0b3IxN19jCisgICAgOiB2ZWN0b3IxNzwKKyAgICAgICAgICBpbnRlZ3JhbF9jPCBULEMwID4sIGludGVncmFsX2M8IFQsQzEgPiwgaW50ZWdyYWxfYzwgVCxDMiA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMyA+LCBpbnRlZ3JhbF9jPCBULEM0ID4sIGludGVncmFsX2M8IFQsQzUgPiwgaW50ZWdyYWxfYzwgVCxDNiA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDNyA+LCBpbnRlZ3JhbF9jPCBULEM4ID4sIGludGVncmFsX2M8IFQsQzkgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzEwID4sIGludGVncmFsX2M8IFQsQzExID4sIGludGVncmFsX2M8IFQsQzEyID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMxMyA+LCBpbnRlZ3JhbF9jPCBULEMxNCA+LCBpbnRlZ3JhbF9jPCBULEMxNSA+LCBpbnRlZ3JhbF9jPFQKKyAgICAgICAgLCBDMTY+IAorID4KK3sKKyAgICB0eXBlZGVmIHZlY3RvcjE3X2MgdHlwZTsKKyAgICB0eXBlZGVmIFQgdmFsdWVfdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVAorICAgICwgVCBDMCwgVCBDMSwgVCBDMiwgVCBDMywgVCBDNCwgVCBDNSwgVCBDNiwgVCBDNywgVCBDOCwgVCBDOSwgVCBDMTAKKyAgICAsIFQgQzExLCBUIEMxMiwgVCBDMTMsIFQgQzE0LCBUIEMxNSwgVCBDMTYsIFQgQzE3CisgICAgPgorc3RydWN0IHZlY3RvcjE4X2MKKyAgICA6IHZlY3RvcjE4PAorICAgICAgICAgIGludGVncmFsX2M8IFQsQzAgPiwgaW50ZWdyYWxfYzwgVCxDMSA+LCBpbnRlZ3JhbF9jPCBULEMyID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMzID4sIGludGVncmFsX2M8IFQsQzQgPiwgaW50ZWdyYWxfYzwgVCxDNSA+LCBpbnRlZ3JhbF9jPCBULEM2ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEM3ID4sIGludGVncmFsX2M8IFQsQzggPiwgaW50ZWdyYWxfYzwgVCxDOSA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMTAgPiwgaW50ZWdyYWxfYzwgVCxDMTEgPiwgaW50ZWdyYWxfYzwgVCxDMTIgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzEzID4sIGludGVncmFsX2M8IFQsQzE0ID4sIGludGVncmFsX2M8IFQsQzE1ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMxNiA+LCBpbnRlZ3JhbF9jPCBULEMxNyA+IAorID4KK3sKKyAgICB0eXBlZGVmIHZlY3RvcjE4X2MgdHlwZTsKKyAgICB0eXBlZGVmIFQgdmFsdWVfdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVAorICAgICwgVCBDMCwgVCBDMSwgVCBDMiwgVCBDMywgVCBDNCwgVCBDNSwgVCBDNiwgVCBDNywgVCBDOCwgVCBDOSwgVCBDMTAKKyAgICAsIFQgQzExLCBUIEMxMiwgVCBDMTMsIFQgQzE0LCBUIEMxNSwgVCBDMTYsIFQgQzE3LCBUIEMxOAorICAgID4KK3N0cnVjdCB2ZWN0b3IxOV9jCisgICAgOiB2ZWN0b3IxOTwKKyAgICAgICAgICBpbnRlZ3JhbF9jPCBULEMwID4sIGludGVncmFsX2M8IFQsQzEgPiwgaW50ZWdyYWxfYzwgVCxDMiA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMyA+LCBpbnRlZ3JhbF9jPCBULEM0ID4sIGludGVncmFsX2M8IFQsQzUgPiwgaW50ZWdyYWxfYzwgVCxDNiA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDNyA+LCBpbnRlZ3JhbF9jPCBULEM4ID4sIGludGVncmFsX2M8IFQsQzkgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzEwID4sIGludGVncmFsX2M8IFQsQzExID4sIGludGVncmFsX2M8IFQsQzEyID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMxMyA+LCBpbnRlZ3JhbF9jPCBULEMxNCA+LCBpbnRlZ3JhbF9jPCBULEMxNSA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMTYgPiwgaW50ZWdyYWxfYzwgVCxDMTcgPiwgaW50ZWdyYWxfYzwgVCxDMTggPiAKKyA+Cit7CisgICAgdHlwZWRlZiB2ZWN0b3IxOV9jIHR5cGU7CisgICAgdHlwZWRlZiBUIHZhbHVlX3R5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQKKyAgICAsIFQgQzAsIFQgQzEsIFQgQzIsIFQgQzMsIFQgQzQsIFQgQzUsIFQgQzYsIFQgQzcsIFQgQzgsIFQgQzksIFQgQzEwCisgICAgLCBUIEMxMSwgVCBDMTIsIFQgQzEzLCBUIEMxNCwgVCBDMTUsIFQgQzE2LCBUIEMxNywgVCBDMTgsIFQgQzE5CisgICAgPgorc3RydWN0IHZlY3RvcjIwX2MKKyAgICA6IHZlY3RvcjIwPAorICAgICAgICAgIGludGVncmFsX2M8IFQsQzAgPiwgaW50ZWdyYWxfYzwgVCxDMSA+LCBpbnRlZ3JhbF9jPCBULEMyID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMzID4sIGludGVncmFsX2M8IFQsQzQgPiwgaW50ZWdyYWxfYzwgVCxDNSA+LCBpbnRlZ3JhbF9jPCBULEM2ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEM3ID4sIGludGVncmFsX2M8IFQsQzggPiwgaW50ZWdyYWxfYzwgVCxDOSA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMTAgPiwgaW50ZWdyYWxfYzwgVCxDMTEgPiwgaW50ZWdyYWxfYzwgVCxDMTIgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzEzID4sIGludGVncmFsX2M8IFQsQzE0ID4sIGludGVncmFsX2M8IFQsQzE1ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMxNiA+LCBpbnRlZ3JhbF9jPCBULEMxNyA+LCBpbnRlZ3JhbF9jPCBULEMxOCA+LCBpbnRlZ3JhbF9jPFQKKyAgICAgICAgLCBDMTk+IAorID4KK3sKKyAgICB0eXBlZGVmIHZlY3RvcjIwX2MgdHlwZTsKKyAgICB0eXBlZGVmIFQgdmFsdWVfdHlwZTsKK307CisKK319CmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvdmVjdG9yL2F1eF8vcHJlcHJvY2Vzc2VkL3BsYWluL3ZlY3RvcjMwLmhwcCBiL25kbmJvb3N0L21wbC92ZWN0b3IvYXV4Xy9wcmVwcm9jZXNzZWQvcGxhaW4vdmVjdG9yMzAuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU4OGY1Y2EKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvdmVjdG9yL2F1eF8vcHJlcHJvY2Vzc2VkL3BsYWluL3ZlY3RvcjMwLmhwcApAQCAtMCwwICsxLDE0NjQgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL3ZlY3Rvci92ZWN0b3IzMC5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgLCB0eXBlbmFtZSBUMjAKKyAgICA+CitzdHJ1Y3QgdmVjdG9yMjEKK3sKKyAgICB0eXBlZGVmIGF1eDo6dmVjdG9yX3RhZzwyMT4gdGFnOworICAgIHR5cGVkZWYgdmVjdG9yMjEgdHlwZTsKKyAgICB0eXBlZGVmIFQwIGl0ZW0wOworICAgIHR5cGVkZWYgVDEgaXRlbTE7CisgICAgdHlwZWRlZiBUMiBpdGVtMjsKKyAgICB0eXBlZGVmIFQzIGl0ZW0zOworICAgIHR5cGVkZWYgVDQgaXRlbTQ7CisgICAgdHlwZWRlZiBUNSBpdGVtNTsKKyAgICB0eXBlZGVmIFQ2IGl0ZW02OworICAgIHR5cGVkZWYgVDcgaXRlbTc7CisgICAgdHlwZWRlZiBUOCBpdGVtODsKKyAgICB0eXBlZGVmIFQ5IGl0ZW05OworICAgIHR5cGVkZWYgVDEwIGl0ZW0xMDsKKyAgICB0eXBlZGVmIFQxMSBpdGVtMTE7CisgICAgdHlwZWRlZiBUMTIgaXRlbTEyOworICAgIHR5cGVkZWYgVDEzIGl0ZW0xMzsKKyAgICB0eXBlZGVmIFQxNCBpdGVtMTQ7CisgICAgdHlwZWRlZiBUMTUgaXRlbTE1OworICAgIHR5cGVkZWYgVDE2IGl0ZW0xNjsKKyAgICB0eXBlZGVmIFQxNyBpdGVtMTc7CisgICAgdHlwZWRlZiBUMTggaXRlbTE4OworICAgIHR5cGVkZWYgVDE5IGl0ZW0xOTsKKyAgICB0eXBlZGVmIFQyMCBpdGVtMjA7CisgICAgCisKKyAgICB0eXBlZGVmIHZvaWRfIGl0ZW0yMTsKKyAgICB0eXBlZGVmIFQyMCBiYWNrOworICAgIHR5cGVkZWYgdl9pdGVyPCB0eXBlLDAgPiBiZWdpbjsKKyAgICB0eXBlZGVmIHZfaXRlcjwgdHlwZSwyMSA+IGVuZDsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwdXNoX2Zyb250X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwyMD4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IsIHR5cGVuYW1lIFQgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yMjE8CisgICAgICAgICAgICAgIFQKKyAgICAgICAgICAgICAgLAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0wLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW02LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW03CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTExCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE4LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOQorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcG9wX2Zyb250X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwyMT4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yMjA8CisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMywgdHlwZW5hbWUgVmVjdG9yOjppdGVtNAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW02CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTgKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTAKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTEsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEyCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEzLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTYKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTcsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE4CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE5LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMAorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcHVzaF9iYWNrX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwyMD4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IsIHR5cGVuYW1lIFQgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yMjE8CisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE5CisgICAgICAgICAgICAgICwKKyAgICAgICAgICAgICAgVAorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcG9wX2JhY2tfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDIxPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IyMDwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW04LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW05CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTkKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFYgPgorc3RydWN0IHZfYXQ8IFYsMjEgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTIxIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAsIHR5cGVuYW1lIFQyMCwgdHlwZW5hbWUgVDIxCisgICAgPgorc3RydWN0IHZlY3RvcjIyCit7CisgICAgdHlwZWRlZiBhdXg6OnZlY3Rvcl90YWc8MjI+IHRhZzsKKyAgICB0eXBlZGVmIHZlY3RvcjIyIHR5cGU7CisgICAgdHlwZWRlZiBUMCBpdGVtMDsKKyAgICB0eXBlZGVmIFQxIGl0ZW0xOworICAgIHR5cGVkZWYgVDIgaXRlbTI7CisgICAgdHlwZWRlZiBUMyBpdGVtMzsKKyAgICB0eXBlZGVmIFQ0IGl0ZW00OworICAgIHR5cGVkZWYgVDUgaXRlbTU7CisgICAgdHlwZWRlZiBUNiBpdGVtNjsKKyAgICB0eXBlZGVmIFQ3IGl0ZW03OworICAgIHR5cGVkZWYgVDggaXRlbTg7CisgICAgdHlwZWRlZiBUOSBpdGVtOTsKKyAgICB0eXBlZGVmIFQxMCBpdGVtMTA7CisgICAgdHlwZWRlZiBUMTEgaXRlbTExOworICAgIHR5cGVkZWYgVDEyIGl0ZW0xMjsKKyAgICB0eXBlZGVmIFQxMyBpdGVtMTM7CisgICAgdHlwZWRlZiBUMTQgaXRlbTE0OworICAgIHR5cGVkZWYgVDE1IGl0ZW0xNTsKKyAgICB0eXBlZGVmIFQxNiBpdGVtMTY7CisgICAgdHlwZWRlZiBUMTcgaXRlbTE3OworICAgIHR5cGVkZWYgVDE4IGl0ZW0xODsKKyAgICB0eXBlZGVmIFQxOSBpdGVtMTk7CisgICAgdHlwZWRlZiBUMjAgaXRlbTIwOworICAgIHR5cGVkZWYgVDIxIGl0ZW0yMTsKKyAgICAKKworICAgIHR5cGVkZWYgdm9pZF8gaXRlbTIyOworICAgIHR5cGVkZWYgVDIxIGJhY2s7CisgICAgdHlwZWRlZiB2X2l0ZXI8IHR5cGUsMCA+IGJlZ2luOworICAgIHR5cGVkZWYgdl9pdGVyPCB0eXBlLDIyID4gZW5kOworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHB1c2hfZnJvbnRfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDIxPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciwgdHlwZW5hbWUgVCA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IyMjwKKyAgICAgICAgICAgICAgVAorICAgICAgICAgICAgICAsCisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIwCisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwb3BfZnJvbnRfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDIyPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IyMTwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNywgdHlwZW5hbWUgVmVjdG9yOjppdGVtOAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW05LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTIKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTMsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE0CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE1LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNywgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTgKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTksIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIwCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIxCisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwdXNoX2JhY2tfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDIxPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciwgdHlwZW5hbWUgVCA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IyMjwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW04LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW05CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjAKKyAgICAgICAgICAgICAgLAorICAgICAgICAgICAgICBUCisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwb3BfYmFja19pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MjI+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjIxPAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0wLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW02LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW03CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTExCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE4LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMAorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgViA+CitzdHJ1Y3Qgdl9hdDwgViwyMiA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtMjIgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICwgdHlwZW5hbWUgVDIwLCB0eXBlbmFtZSBUMjEsIHR5cGVuYW1lIFQyMgorICAgID4KK3N0cnVjdCB2ZWN0b3IyMworeworICAgIHR5cGVkZWYgYXV4Ojp2ZWN0b3JfdGFnPDIzPiB0YWc7CisgICAgdHlwZWRlZiB2ZWN0b3IyMyB0eXBlOworICAgIHR5cGVkZWYgVDAgaXRlbTA7CisgICAgdHlwZWRlZiBUMSBpdGVtMTsKKyAgICB0eXBlZGVmIFQyIGl0ZW0yOworICAgIHR5cGVkZWYgVDMgaXRlbTM7CisgICAgdHlwZWRlZiBUNCBpdGVtNDsKKyAgICB0eXBlZGVmIFQ1IGl0ZW01OworICAgIHR5cGVkZWYgVDYgaXRlbTY7CisgICAgdHlwZWRlZiBUNyBpdGVtNzsKKyAgICB0eXBlZGVmIFQ4IGl0ZW04OworICAgIHR5cGVkZWYgVDkgaXRlbTk7CisgICAgdHlwZWRlZiBUMTAgaXRlbTEwOworICAgIHR5cGVkZWYgVDExIGl0ZW0xMTsKKyAgICB0eXBlZGVmIFQxMiBpdGVtMTI7CisgICAgdHlwZWRlZiBUMTMgaXRlbTEzOworICAgIHR5cGVkZWYgVDE0IGl0ZW0xNDsKKyAgICB0eXBlZGVmIFQxNSBpdGVtMTU7CisgICAgdHlwZWRlZiBUMTYgaXRlbTE2OworICAgIHR5cGVkZWYgVDE3IGl0ZW0xNzsKKyAgICB0eXBlZGVmIFQxOCBpdGVtMTg7CisgICAgdHlwZWRlZiBUMTkgaXRlbTE5OworICAgIHR5cGVkZWYgVDIwIGl0ZW0yMDsKKyAgICB0eXBlZGVmIFQyMSBpdGVtMjE7CisgICAgdHlwZWRlZiBUMjIgaXRlbTIyOworICAgIAorCisgICAgdHlwZWRlZiB2b2lkXyBpdGVtMjM7CisgICAgdHlwZWRlZiBUMjIgYmFjazsKKyAgICB0eXBlZGVmIHZfaXRlcjwgdHlwZSwwID4gYmVnaW47CisgICAgdHlwZWRlZiB2X2l0ZXI8IHR5cGUsMjMgPiBlbmQ7Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcHVzaF9mcm9udF9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MjI+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yLCB0eXBlbmFtZSBUID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjIzPAorICAgICAgICAgICAgICBUCisgICAgICAgICAgICAgICwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW04LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW05CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIxCisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwb3BfZnJvbnRfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDIzPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IyMjwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNywgdHlwZW5hbWUgVmVjdG9yOjppdGVtOAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW05LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTIKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTMsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE0CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE1LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNywgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTgKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTksIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIwCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIxLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMgorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcHVzaF9iYWNrX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwyMj4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IsIHR5cGVuYW1lIFQgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yMjM8CisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMQorICAgICAgICAgICAgICAsCisgICAgICAgICAgICAgIFQKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHBvcF9iYWNrX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwyMz4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yMjI8CisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMQorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgViA+CitzdHJ1Y3Qgdl9hdDwgViwyMyA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtMjMgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICwgdHlwZW5hbWUgVDIwLCB0eXBlbmFtZSBUMjEsIHR5cGVuYW1lIFQyMiwgdHlwZW5hbWUgVDIzCisgICAgPgorc3RydWN0IHZlY3RvcjI0Cit7CisgICAgdHlwZWRlZiBhdXg6OnZlY3Rvcl90YWc8MjQ+IHRhZzsKKyAgICB0eXBlZGVmIHZlY3RvcjI0IHR5cGU7CisgICAgdHlwZWRlZiBUMCBpdGVtMDsKKyAgICB0eXBlZGVmIFQxIGl0ZW0xOworICAgIHR5cGVkZWYgVDIgaXRlbTI7CisgICAgdHlwZWRlZiBUMyBpdGVtMzsKKyAgICB0eXBlZGVmIFQ0IGl0ZW00OworICAgIHR5cGVkZWYgVDUgaXRlbTU7CisgICAgdHlwZWRlZiBUNiBpdGVtNjsKKyAgICB0eXBlZGVmIFQ3IGl0ZW03OworICAgIHR5cGVkZWYgVDggaXRlbTg7CisgICAgdHlwZWRlZiBUOSBpdGVtOTsKKyAgICB0eXBlZGVmIFQxMCBpdGVtMTA7CisgICAgdHlwZWRlZiBUMTEgaXRlbTExOworICAgIHR5cGVkZWYgVDEyIGl0ZW0xMjsKKyAgICB0eXBlZGVmIFQxMyBpdGVtMTM7CisgICAgdHlwZWRlZiBUMTQgaXRlbTE0OworICAgIHR5cGVkZWYgVDE1IGl0ZW0xNTsKKyAgICB0eXBlZGVmIFQxNiBpdGVtMTY7CisgICAgdHlwZWRlZiBUMTcgaXRlbTE3OworICAgIHR5cGVkZWYgVDE4IGl0ZW0xODsKKyAgICB0eXBlZGVmIFQxOSBpdGVtMTk7CisgICAgdHlwZWRlZiBUMjAgaXRlbTIwOworICAgIHR5cGVkZWYgVDIxIGl0ZW0yMTsKKyAgICB0eXBlZGVmIFQyMiBpdGVtMjI7CisgICAgdHlwZWRlZiBUMjMgaXRlbTIzOworICAgIAorCisgICAgdHlwZWRlZiB2b2lkXyBpdGVtMjQ7CisgICAgdHlwZWRlZiBUMjMgYmFjazsKKyAgICB0eXBlZGVmIHZfaXRlcjwgdHlwZSwwID4gYmVnaW47CisgICAgdHlwZWRlZiB2X2l0ZXI8IHR5cGUsMjQgPiBlbmQ7Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcHVzaF9mcm9udF9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MjM+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yLCB0eXBlbmFtZSBUID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjI0PAorICAgICAgICAgICAgICBUCisgICAgICAgICAgICAgICwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW04LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW05CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIxCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIyCisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwb3BfZnJvbnRfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDI0PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IyMzwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNywgdHlwZW5hbWUgVmVjdG9yOjppdGVtOAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW05LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTIKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTMsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE0CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE1LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNywgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTgKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTksIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIwCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIxLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMworICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcHVzaF9iYWNrX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwyMz4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IsIHR5cGVuYW1lIFQgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yMjQ8CisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMgorICAgICAgICAgICAgICAsCisgICAgICAgICAgICAgIFQKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHBvcF9iYWNrX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwyND4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yMjM8CisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMgorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgViA+CitzdHJ1Y3Qgdl9hdDwgViwyNCA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtMjQgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICwgdHlwZW5hbWUgVDIwLCB0eXBlbmFtZSBUMjEsIHR5cGVuYW1lIFQyMiwgdHlwZW5hbWUgVDIzLCB0eXBlbmFtZSBUMjQKKyAgICA+CitzdHJ1Y3QgdmVjdG9yMjUKK3sKKyAgICB0eXBlZGVmIGF1eDo6dmVjdG9yX3RhZzwyNT4gdGFnOworICAgIHR5cGVkZWYgdmVjdG9yMjUgdHlwZTsKKyAgICB0eXBlZGVmIFQwIGl0ZW0wOworICAgIHR5cGVkZWYgVDEgaXRlbTE7CisgICAgdHlwZWRlZiBUMiBpdGVtMjsKKyAgICB0eXBlZGVmIFQzIGl0ZW0zOworICAgIHR5cGVkZWYgVDQgaXRlbTQ7CisgICAgdHlwZWRlZiBUNSBpdGVtNTsKKyAgICB0eXBlZGVmIFQ2IGl0ZW02OworICAgIHR5cGVkZWYgVDcgaXRlbTc7CisgICAgdHlwZWRlZiBUOCBpdGVtODsKKyAgICB0eXBlZGVmIFQ5IGl0ZW05OworICAgIHR5cGVkZWYgVDEwIGl0ZW0xMDsKKyAgICB0eXBlZGVmIFQxMSBpdGVtMTE7CisgICAgdHlwZWRlZiBUMTIgaXRlbTEyOworICAgIHR5cGVkZWYgVDEzIGl0ZW0xMzsKKyAgICB0eXBlZGVmIFQxNCBpdGVtMTQ7CisgICAgdHlwZWRlZiBUMTUgaXRlbTE1OworICAgIHR5cGVkZWYgVDE2IGl0ZW0xNjsKKyAgICB0eXBlZGVmIFQxNyBpdGVtMTc7CisgICAgdHlwZWRlZiBUMTggaXRlbTE4OworICAgIHR5cGVkZWYgVDE5IGl0ZW0xOTsKKyAgICB0eXBlZGVmIFQyMCBpdGVtMjA7CisgICAgdHlwZWRlZiBUMjEgaXRlbTIxOworICAgIHR5cGVkZWYgVDIyIGl0ZW0yMjsKKyAgICB0eXBlZGVmIFQyMyBpdGVtMjM7CisgICAgdHlwZWRlZiBUMjQgaXRlbTI0OworICAgIAorCisgICAgdHlwZWRlZiB2b2lkXyBpdGVtMjU7CisgICAgdHlwZWRlZiBUMjQgYmFjazsKKyAgICB0eXBlZGVmIHZfaXRlcjwgdHlwZSwwID4gYmVnaW47CisgICAgdHlwZWRlZiB2X2l0ZXI8IHR5cGUsMjUgPiBlbmQ7Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcHVzaF9mcm9udF9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MjQ+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yLCB0eXBlbmFtZSBUID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjI1PAorICAgICAgICAgICAgICBUCisgICAgICAgICAgICAgICwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW04LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW05CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIxCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMworICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcG9wX2Zyb250X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwyNT4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yMjQ8CisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMywgdHlwZW5hbWUgVmVjdG9yOjppdGVtNAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW02CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTgKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTAKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTEsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEyCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEzLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTYKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTcsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE4CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE5LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjIKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjMsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI0CisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwdXNoX2JhY2tfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDI0PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciwgdHlwZW5hbWUgVCA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IyNTwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW04LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW05CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIxCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMworICAgICAgICAgICAgICAsCisgICAgICAgICAgICAgIFQKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHBvcF9iYWNrX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwyNT4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yMjQ8CisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjMKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFYgPgorc3RydWN0IHZfYXQ8IFYsMjUgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTI1IHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAsIHR5cGVuYW1lIFQyMCwgdHlwZW5hbWUgVDIxLCB0eXBlbmFtZSBUMjIsIHR5cGVuYW1lIFQyMywgdHlwZW5hbWUgVDI0CisgICAgLCB0eXBlbmFtZSBUMjUKKyAgICA+CitzdHJ1Y3QgdmVjdG9yMjYKK3sKKyAgICB0eXBlZGVmIGF1eDo6dmVjdG9yX3RhZzwyNj4gdGFnOworICAgIHR5cGVkZWYgdmVjdG9yMjYgdHlwZTsKKyAgICB0eXBlZGVmIFQwIGl0ZW0wOworICAgIHR5cGVkZWYgVDEgaXRlbTE7CisgICAgdHlwZWRlZiBUMiBpdGVtMjsKKyAgICB0eXBlZGVmIFQzIGl0ZW0zOworICAgIHR5cGVkZWYgVDQgaXRlbTQ7CisgICAgdHlwZWRlZiBUNSBpdGVtNTsKKyAgICB0eXBlZGVmIFQ2IGl0ZW02OworICAgIHR5cGVkZWYgVDcgaXRlbTc7CisgICAgdHlwZWRlZiBUOCBpdGVtODsKKyAgICB0eXBlZGVmIFQ5IGl0ZW05OworICAgIHR5cGVkZWYgVDEwIGl0ZW0xMDsKKyAgICB0eXBlZGVmIFQxMSBpdGVtMTE7CisgICAgdHlwZWRlZiBUMTIgaXRlbTEyOworICAgIHR5cGVkZWYgVDEzIGl0ZW0xMzsKKyAgICB0eXBlZGVmIFQxNCBpdGVtMTQ7CisgICAgdHlwZWRlZiBUMTUgaXRlbTE1OworICAgIHR5cGVkZWYgVDE2IGl0ZW0xNjsKKyAgICB0eXBlZGVmIFQxNyBpdGVtMTc7CisgICAgdHlwZWRlZiBUMTggaXRlbTE4OworICAgIHR5cGVkZWYgVDE5IGl0ZW0xOTsKKyAgICB0eXBlZGVmIFQyMCBpdGVtMjA7CisgICAgdHlwZWRlZiBUMjEgaXRlbTIxOworICAgIHR5cGVkZWYgVDIyIGl0ZW0yMjsKKyAgICB0eXBlZGVmIFQyMyBpdGVtMjM7CisgICAgdHlwZWRlZiBUMjQgaXRlbTI0OworICAgIHR5cGVkZWYgVDI1IGl0ZW0yNTsKKyAgICAKKworICAgIHR5cGVkZWYgdm9pZF8gaXRlbTI2OworICAgIHR5cGVkZWYgVDI1IGJhY2s7CisgICAgdHlwZWRlZiB2X2l0ZXI8IHR5cGUsMCA+IGJlZ2luOworICAgIHR5cGVkZWYgdl9pdGVyPCB0eXBlLDI2ID4gZW5kOworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHB1c2hfZnJvbnRfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDI1PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciwgdHlwZW5hbWUgVCA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IyNjwKKyAgICAgICAgICAgICAgVAorICAgICAgICAgICAgICAsCisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjQKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHBvcF9mcm9udF9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MjY+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjI1PAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW03LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW04CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTksIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEwCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTExLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMywgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTQKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTUsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE2CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE3LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjAKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjEsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIyCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIzLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNQorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcHVzaF9iYWNrX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwyNT4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IsIHR5cGVuYW1lIFQgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yMjY8CisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjQKKyAgICAgICAgICAgICAgLAorICAgICAgICAgICAgICBUCisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwb3BfYmFja19pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MjY+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjI1PAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0wLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW02LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW03CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTExCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE4LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI0CisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBWID4KK3N0cnVjdCB2X2F0PCBWLDI2ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW0yNiB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgLCB0eXBlbmFtZSBUMjAsIHR5cGVuYW1lIFQyMSwgdHlwZW5hbWUgVDIyLCB0eXBlbmFtZSBUMjMsIHR5cGVuYW1lIFQyNAorICAgICwgdHlwZW5hbWUgVDI1LCB0eXBlbmFtZSBUMjYKKyAgICA+CitzdHJ1Y3QgdmVjdG9yMjcKK3sKKyAgICB0eXBlZGVmIGF1eDo6dmVjdG9yX3RhZzwyNz4gdGFnOworICAgIHR5cGVkZWYgdmVjdG9yMjcgdHlwZTsKKyAgICB0eXBlZGVmIFQwIGl0ZW0wOworICAgIHR5cGVkZWYgVDEgaXRlbTE7CisgICAgdHlwZWRlZiBUMiBpdGVtMjsKKyAgICB0eXBlZGVmIFQzIGl0ZW0zOworICAgIHR5cGVkZWYgVDQgaXRlbTQ7CisgICAgdHlwZWRlZiBUNSBpdGVtNTsKKyAgICB0eXBlZGVmIFQ2IGl0ZW02OworICAgIHR5cGVkZWYgVDcgaXRlbTc7CisgICAgdHlwZWRlZiBUOCBpdGVtODsKKyAgICB0eXBlZGVmIFQ5IGl0ZW05OworICAgIHR5cGVkZWYgVDEwIGl0ZW0xMDsKKyAgICB0eXBlZGVmIFQxMSBpdGVtMTE7CisgICAgdHlwZWRlZiBUMTIgaXRlbTEyOworICAgIHR5cGVkZWYgVDEzIGl0ZW0xMzsKKyAgICB0eXBlZGVmIFQxNCBpdGVtMTQ7CisgICAgdHlwZWRlZiBUMTUgaXRlbTE1OworICAgIHR5cGVkZWYgVDE2IGl0ZW0xNjsKKyAgICB0eXBlZGVmIFQxNyBpdGVtMTc7CisgICAgdHlwZWRlZiBUMTggaXRlbTE4OworICAgIHR5cGVkZWYgVDE5IGl0ZW0xOTsKKyAgICB0eXBlZGVmIFQyMCBpdGVtMjA7CisgICAgdHlwZWRlZiBUMjEgaXRlbTIxOworICAgIHR5cGVkZWYgVDIyIGl0ZW0yMjsKKyAgICB0eXBlZGVmIFQyMyBpdGVtMjM7CisgICAgdHlwZWRlZiBUMjQgaXRlbTI0OworICAgIHR5cGVkZWYgVDI1IGl0ZW0yNTsKKyAgICB0eXBlZGVmIFQyNiBpdGVtMjY7CisgICAgCisKKyAgICB0eXBlZGVmIHZvaWRfIGl0ZW0yNzsKKyAgICB0eXBlZGVmIFQyNiBiYWNrOworICAgIHR5cGVkZWYgdl9pdGVyPCB0eXBlLDAgPiBiZWdpbjsKKyAgICB0eXBlZGVmIHZfaXRlcjwgdHlwZSwyNyA+IGVuZDsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwdXNoX2Zyb250X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwyNj4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IsIHR5cGVuYW1lIFQgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yMjc8CisgICAgICAgICAgICAgIFQKKyAgICAgICAgICAgICAgLAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0wLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW02LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW03CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTExCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE4LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNQorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcG9wX2Zyb250X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwyNz4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yMjY8CisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMywgdHlwZW5hbWUgVmVjdG9yOjppdGVtNAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW02CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTgKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTAKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTEsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEyCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEzLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTYKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTcsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE4CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE5LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjIKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjMsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI0CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI1LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNgorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcHVzaF9iYWNrX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwyNj4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IsIHR5cGVuYW1lIFQgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yMjc8CisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI1CisgICAgICAgICAgICAgICwKKyAgICAgICAgICAgICAgVAorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcG9wX2JhY2tfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDI3PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IyNjwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW04LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW05CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIxCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjUKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFYgPgorc3RydWN0IHZfYXQ8IFYsMjcgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTI3IHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAsIHR5cGVuYW1lIFQyMCwgdHlwZW5hbWUgVDIxLCB0eXBlbmFtZSBUMjIsIHR5cGVuYW1lIFQyMywgdHlwZW5hbWUgVDI0CisgICAgLCB0eXBlbmFtZSBUMjUsIHR5cGVuYW1lIFQyNiwgdHlwZW5hbWUgVDI3CisgICAgPgorc3RydWN0IHZlY3RvcjI4Cit7CisgICAgdHlwZWRlZiBhdXg6OnZlY3Rvcl90YWc8Mjg+IHRhZzsKKyAgICB0eXBlZGVmIHZlY3RvcjI4IHR5cGU7CisgICAgdHlwZWRlZiBUMCBpdGVtMDsKKyAgICB0eXBlZGVmIFQxIGl0ZW0xOworICAgIHR5cGVkZWYgVDIgaXRlbTI7CisgICAgdHlwZWRlZiBUMyBpdGVtMzsKKyAgICB0eXBlZGVmIFQ0IGl0ZW00OworICAgIHR5cGVkZWYgVDUgaXRlbTU7CisgICAgdHlwZWRlZiBUNiBpdGVtNjsKKyAgICB0eXBlZGVmIFQ3IGl0ZW03OworICAgIHR5cGVkZWYgVDggaXRlbTg7CisgICAgdHlwZWRlZiBUOSBpdGVtOTsKKyAgICB0eXBlZGVmIFQxMCBpdGVtMTA7CisgICAgdHlwZWRlZiBUMTEgaXRlbTExOworICAgIHR5cGVkZWYgVDEyIGl0ZW0xMjsKKyAgICB0eXBlZGVmIFQxMyBpdGVtMTM7CisgICAgdHlwZWRlZiBUMTQgaXRlbTE0OworICAgIHR5cGVkZWYgVDE1IGl0ZW0xNTsKKyAgICB0eXBlZGVmIFQxNiBpdGVtMTY7CisgICAgdHlwZWRlZiBUMTcgaXRlbTE3OworICAgIHR5cGVkZWYgVDE4IGl0ZW0xODsKKyAgICB0eXBlZGVmIFQxOSBpdGVtMTk7CisgICAgdHlwZWRlZiBUMjAgaXRlbTIwOworICAgIHR5cGVkZWYgVDIxIGl0ZW0yMTsKKyAgICB0eXBlZGVmIFQyMiBpdGVtMjI7CisgICAgdHlwZWRlZiBUMjMgaXRlbTIzOworICAgIHR5cGVkZWYgVDI0IGl0ZW0yNDsKKyAgICB0eXBlZGVmIFQyNSBpdGVtMjU7CisgICAgdHlwZWRlZiBUMjYgaXRlbTI2OworICAgIHR5cGVkZWYgVDI3IGl0ZW0yNzsKKyAgICAKKworICAgIHR5cGVkZWYgdm9pZF8gaXRlbTI4OworICAgIHR5cGVkZWYgVDI3IGJhY2s7CisgICAgdHlwZWRlZiB2X2l0ZXI8IHR5cGUsMCA+IGJlZ2luOworICAgIHR5cGVkZWYgdl9pdGVyPCB0eXBlLDI4ID4gZW5kOworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHB1c2hfZnJvbnRfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDI3PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciwgdHlwZW5hbWUgVCA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IyODwKKyAgICAgICAgICAgICAgVAorICAgICAgICAgICAgICAsCisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI2CisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwb3BfZnJvbnRfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDI4PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IyNzwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNywgdHlwZW5hbWUgVmVjdG9yOjppdGVtOAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW05LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTIKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTMsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE0CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE1LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNywgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTgKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTksIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIwCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIxLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMywgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjQKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjUsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI2CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI3CisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwdXNoX2JhY2tfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDI3PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciwgdHlwZW5hbWUgVCA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IyODwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW04LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW05CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIxCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjYKKyAgICAgICAgICAgICAgLAorICAgICAgICAgICAgICBUCisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwb3BfYmFja19pbXBsPCBhdXg6OnZlY3Rvcl90YWc8Mjg+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjI3PAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0wLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW02LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW03CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTExCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE4LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNgorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgViA+CitzdHJ1Y3Qgdl9hdDwgViwyOCA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtMjggdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICwgdHlwZW5hbWUgVDIwLCB0eXBlbmFtZSBUMjEsIHR5cGVuYW1lIFQyMiwgdHlwZW5hbWUgVDIzLCB0eXBlbmFtZSBUMjQKKyAgICAsIHR5cGVuYW1lIFQyNSwgdHlwZW5hbWUgVDI2LCB0eXBlbmFtZSBUMjcsIHR5cGVuYW1lIFQyOAorICAgID4KK3N0cnVjdCB2ZWN0b3IyOQoreworICAgIHR5cGVkZWYgYXV4Ojp2ZWN0b3JfdGFnPDI5PiB0YWc7CisgICAgdHlwZWRlZiB2ZWN0b3IyOSB0eXBlOworICAgIHR5cGVkZWYgVDAgaXRlbTA7CisgICAgdHlwZWRlZiBUMSBpdGVtMTsKKyAgICB0eXBlZGVmIFQyIGl0ZW0yOworICAgIHR5cGVkZWYgVDMgaXRlbTM7CisgICAgdHlwZWRlZiBUNCBpdGVtNDsKKyAgICB0eXBlZGVmIFQ1IGl0ZW01OworICAgIHR5cGVkZWYgVDYgaXRlbTY7CisgICAgdHlwZWRlZiBUNyBpdGVtNzsKKyAgICB0eXBlZGVmIFQ4IGl0ZW04OworICAgIHR5cGVkZWYgVDkgaXRlbTk7CisgICAgdHlwZWRlZiBUMTAgaXRlbTEwOworICAgIHR5cGVkZWYgVDExIGl0ZW0xMTsKKyAgICB0eXBlZGVmIFQxMiBpdGVtMTI7CisgICAgdHlwZWRlZiBUMTMgaXRlbTEzOworICAgIHR5cGVkZWYgVDE0IGl0ZW0xNDsKKyAgICB0eXBlZGVmIFQxNSBpdGVtMTU7CisgICAgdHlwZWRlZiBUMTYgaXRlbTE2OworICAgIHR5cGVkZWYgVDE3IGl0ZW0xNzsKKyAgICB0eXBlZGVmIFQxOCBpdGVtMTg7CisgICAgdHlwZWRlZiBUMTkgaXRlbTE5OworICAgIHR5cGVkZWYgVDIwIGl0ZW0yMDsKKyAgICB0eXBlZGVmIFQyMSBpdGVtMjE7CisgICAgdHlwZWRlZiBUMjIgaXRlbTIyOworICAgIHR5cGVkZWYgVDIzIGl0ZW0yMzsKKyAgICB0eXBlZGVmIFQyNCBpdGVtMjQ7CisgICAgdHlwZWRlZiBUMjUgaXRlbTI1OworICAgIHR5cGVkZWYgVDI2IGl0ZW0yNjsKKyAgICB0eXBlZGVmIFQyNyBpdGVtMjc7CisgICAgdHlwZWRlZiBUMjggaXRlbTI4OworICAgIAorCisgICAgdHlwZWRlZiB2b2lkXyBpdGVtMjk7CisgICAgdHlwZWRlZiBUMjggYmFjazsKKyAgICB0eXBlZGVmIHZfaXRlcjwgdHlwZSwwID4gYmVnaW47CisgICAgdHlwZWRlZiB2X2l0ZXI8IHR5cGUsMjkgPiBlbmQ7Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcHVzaF9mcm9udF9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8Mjg+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yLCB0eXBlbmFtZSBUID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjI5PAorICAgICAgICAgICAgICBUCisgICAgICAgICAgICAgICwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW04LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW05CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIxCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI3CisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwb3BfZnJvbnRfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDI5PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IyODwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNywgdHlwZW5hbWUgVmVjdG9yOjppdGVtOAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW05LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTIKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTMsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE0CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE1LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNywgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTgKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTksIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIwCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIxLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMywgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjQKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjUsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI2CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI3LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yOAorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcHVzaF9iYWNrX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwyOD4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IsIHR5cGVuYW1lIFQgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yMjk8CisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNworICAgICAgICAgICAgICAsCisgICAgICAgICAgICAgIFQKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHBvcF9iYWNrX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwyOT4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yMjg8CisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNworICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgViA+CitzdHJ1Y3Qgdl9hdDwgViwyOSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtMjkgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICwgdHlwZW5hbWUgVDIwLCB0eXBlbmFtZSBUMjEsIHR5cGVuYW1lIFQyMiwgdHlwZW5hbWUgVDIzLCB0eXBlbmFtZSBUMjQKKyAgICAsIHR5cGVuYW1lIFQyNSwgdHlwZW5hbWUgVDI2LCB0eXBlbmFtZSBUMjcsIHR5cGVuYW1lIFQyOCwgdHlwZW5hbWUgVDI5CisgICAgPgorc3RydWN0IHZlY3RvcjMwCit7CisgICAgdHlwZWRlZiBhdXg6OnZlY3Rvcl90YWc8MzA+IHRhZzsKKyAgICB0eXBlZGVmIHZlY3RvcjMwIHR5cGU7CisgICAgdHlwZWRlZiBUMCBpdGVtMDsKKyAgICB0eXBlZGVmIFQxIGl0ZW0xOworICAgIHR5cGVkZWYgVDIgaXRlbTI7CisgICAgdHlwZWRlZiBUMyBpdGVtMzsKKyAgICB0eXBlZGVmIFQ0IGl0ZW00OworICAgIHR5cGVkZWYgVDUgaXRlbTU7CisgICAgdHlwZWRlZiBUNiBpdGVtNjsKKyAgICB0eXBlZGVmIFQ3IGl0ZW03OworICAgIHR5cGVkZWYgVDggaXRlbTg7CisgICAgdHlwZWRlZiBUOSBpdGVtOTsKKyAgICB0eXBlZGVmIFQxMCBpdGVtMTA7CisgICAgdHlwZWRlZiBUMTEgaXRlbTExOworICAgIHR5cGVkZWYgVDEyIGl0ZW0xMjsKKyAgICB0eXBlZGVmIFQxMyBpdGVtMTM7CisgICAgdHlwZWRlZiBUMTQgaXRlbTE0OworICAgIHR5cGVkZWYgVDE1IGl0ZW0xNTsKKyAgICB0eXBlZGVmIFQxNiBpdGVtMTY7CisgICAgdHlwZWRlZiBUMTcgaXRlbTE3OworICAgIHR5cGVkZWYgVDE4IGl0ZW0xODsKKyAgICB0eXBlZGVmIFQxOSBpdGVtMTk7CisgICAgdHlwZWRlZiBUMjAgaXRlbTIwOworICAgIHR5cGVkZWYgVDIxIGl0ZW0yMTsKKyAgICB0eXBlZGVmIFQyMiBpdGVtMjI7CisgICAgdHlwZWRlZiBUMjMgaXRlbTIzOworICAgIHR5cGVkZWYgVDI0IGl0ZW0yNDsKKyAgICB0eXBlZGVmIFQyNSBpdGVtMjU7CisgICAgdHlwZWRlZiBUMjYgaXRlbTI2OworICAgIHR5cGVkZWYgVDI3IGl0ZW0yNzsKKyAgICB0eXBlZGVmIFQyOCBpdGVtMjg7CisgICAgdHlwZWRlZiBUMjkgaXRlbTI5OworICAgIAorCisgICAgdHlwZWRlZiB2b2lkXyBpdGVtMzA7CisgICAgdHlwZWRlZiBUMjkgYmFjazsKKyAgICB0eXBlZGVmIHZfaXRlcjwgdHlwZSwwID4gYmVnaW47CisgICAgdHlwZWRlZiB2X2l0ZXI8IHR5cGUsMzAgPiBlbmQ7Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcHVzaF9mcm9udF9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8Mjk+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yLCB0eXBlbmFtZSBUID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjMwPAorICAgICAgICAgICAgICBUCisgICAgICAgICAgICAgICwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW04LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW05CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIxCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI4CisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwb3BfZnJvbnRfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDMwPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IyOTwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNywgdHlwZW5hbWUgVmVjdG9yOjppdGVtOAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW05LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTIKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTMsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE0CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE1LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNywgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTgKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTksIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIwCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIxLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMywgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjQKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjUsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI2CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI3LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yOAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yOQorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcHVzaF9iYWNrX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwyOT4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IsIHR5cGVuYW1lIFQgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yMzA8CisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yOAorICAgICAgICAgICAgICAsCisgICAgICAgICAgICAgIFQKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHBvcF9iYWNrX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwzMD4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yMjk8CisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yOAorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgViA+CitzdHJ1Y3Qgdl9hdDwgViwzMCA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtMzAgdHlwZTsKK307CisKK319CmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvdmVjdG9yL2F1eF8vcHJlcHJvY2Vzc2VkL3BsYWluL3ZlY3RvcjMwX2MuaHBwIGIvbmRuYm9vc3QvbXBsL3ZlY3Rvci9hdXhfL3ByZXByb2Nlc3NlZC9wbGFpbi92ZWN0b3IzMF9jLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YjEwNDQ0Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL3ZlY3Rvci9hdXhfL3ByZXByb2Nlc3NlZC9wbGFpbi92ZWN0b3IzMF9jLmhwcApAQCAtMCwwICsxLDIzOCBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvdmVjdG9yL3ZlY3RvcjMwX2MuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVAorICAgICwgVCBDMCwgVCBDMSwgVCBDMiwgVCBDMywgVCBDNCwgVCBDNSwgVCBDNiwgVCBDNywgVCBDOCwgVCBDOSwgVCBDMTAKKyAgICAsIFQgQzExLCBUIEMxMiwgVCBDMTMsIFQgQzE0LCBUIEMxNSwgVCBDMTYsIFQgQzE3LCBUIEMxOCwgVCBDMTksIFQgQzIwCisgICAgPgorc3RydWN0IHZlY3RvcjIxX2MKKyAgICA6IHZlY3RvcjIxPAorICAgICAgICAgIGludGVncmFsX2M8IFQsQzAgPiwgaW50ZWdyYWxfYzwgVCxDMSA+LCBpbnRlZ3JhbF9jPCBULEMyID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMzID4sIGludGVncmFsX2M8IFQsQzQgPiwgaW50ZWdyYWxfYzwgVCxDNSA+LCBpbnRlZ3JhbF9jPCBULEM2ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEM3ID4sIGludGVncmFsX2M8IFQsQzggPiwgaW50ZWdyYWxfYzwgVCxDOSA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMTAgPiwgaW50ZWdyYWxfYzwgVCxDMTEgPiwgaW50ZWdyYWxfYzwgVCxDMTIgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzEzID4sIGludGVncmFsX2M8IFQsQzE0ID4sIGludGVncmFsX2M8IFQsQzE1ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMxNiA+LCBpbnRlZ3JhbF9jPCBULEMxNyA+LCBpbnRlZ3JhbF9jPCBULEMxOCA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMTkgPiwgaW50ZWdyYWxfYzwgVCxDMjAgPiAKKyA+Cit7CisgICAgdHlwZWRlZiB2ZWN0b3IyMV9jIHR5cGU7CisgICAgdHlwZWRlZiBUIHZhbHVlX3R5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQKKyAgICAsIFQgQzAsIFQgQzEsIFQgQzIsIFQgQzMsIFQgQzQsIFQgQzUsIFQgQzYsIFQgQzcsIFQgQzgsIFQgQzksIFQgQzEwCisgICAgLCBUIEMxMSwgVCBDMTIsIFQgQzEzLCBUIEMxNCwgVCBDMTUsIFQgQzE2LCBUIEMxNywgVCBDMTgsIFQgQzE5LCBUIEMyMAorICAgICwgVCBDMjEKKyAgICA+CitzdHJ1Y3QgdmVjdG9yMjJfYworICAgIDogdmVjdG9yMjI8CisgICAgICAgICAgaW50ZWdyYWxfYzwgVCxDMCA+LCBpbnRlZ3JhbF9jPCBULEMxID4sIGludGVncmFsX2M8IFQsQzIgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzMgPiwgaW50ZWdyYWxfYzwgVCxDNCA+LCBpbnRlZ3JhbF9jPCBULEM1ID4sIGludGVncmFsX2M8IFQsQzYgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzcgPiwgaW50ZWdyYWxfYzwgVCxDOCA+LCBpbnRlZ3JhbF9jPCBULEM5ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMxMCA+LCBpbnRlZ3JhbF9jPCBULEMxMSA+LCBpbnRlZ3JhbF9jPCBULEMxMiA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMTMgPiwgaW50ZWdyYWxfYzwgVCxDMTQgPiwgaW50ZWdyYWxfYzwgVCxDMTUgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzE2ID4sIGludGVncmFsX2M8IFQsQzE3ID4sIGludGVncmFsX2M8IFQsQzE4ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMxOSA+LCBpbnRlZ3JhbF9jPCBULEMyMCA+LCBpbnRlZ3JhbF9jPCBULEMyMSA+IAorID4KK3sKKyAgICB0eXBlZGVmIHZlY3RvcjIyX2MgdHlwZTsKKyAgICB0eXBlZGVmIFQgdmFsdWVfdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVAorICAgICwgVCBDMCwgVCBDMSwgVCBDMiwgVCBDMywgVCBDNCwgVCBDNSwgVCBDNiwgVCBDNywgVCBDOCwgVCBDOSwgVCBDMTAKKyAgICAsIFQgQzExLCBUIEMxMiwgVCBDMTMsIFQgQzE0LCBUIEMxNSwgVCBDMTYsIFQgQzE3LCBUIEMxOCwgVCBDMTksIFQgQzIwCisgICAgLCBUIEMyMSwgVCBDMjIKKyAgICA+CitzdHJ1Y3QgdmVjdG9yMjNfYworICAgIDogdmVjdG9yMjM8CisgICAgICAgICAgaW50ZWdyYWxfYzwgVCxDMCA+LCBpbnRlZ3JhbF9jPCBULEMxID4sIGludGVncmFsX2M8IFQsQzIgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzMgPiwgaW50ZWdyYWxfYzwgVCxDNCA+LCBpbnRlZ3JhbF9jPCBULEM1ID4sIGludGVncmFsX2M8IFQsQzYgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzcgPiwgaW50ZWdyYWxfYzwgVCxDOCA+LCBpbnRlZ3JhbF9jPCBULEM5ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMxMCA+LCBpbnRlZ3JhbF9jPCBULEMxMSA+LCBpbnRlZ3JhbF9jPCBULEMxMiA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMTMgPiwgaW50ZWdyYWxfYzwgVCxDMTQgPiwgaW50ZWdyYWxfYzwgVCxDMTUgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzE2ID4sIGludGVncmFsX2M8IFQsQzE3ID4sIGludGVncmFsX2M8IFQsQzE4ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMxOSA+LCBpbnRlZ3JhbF9jPCBULEMyMCA+LCBpbnRlZ3JhbF9jPCBULEMyMSA+LCBpbnRlZ3JhbF9jPFQKKyAgICAgICAgLCBDMjI+IAorID4KK3sKKyAgICB0eXBlZGVmIHZlY3RvcjIzX2MgdHlwZTsKKyAgICB0eXBlZGVmIFQgdmFsdWVfdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVAorICAgICwgVCBDMCwgVCBDMSwgVCBDMiwgVCBDMywgVCBDNCwgVCBDNSwgVCBDNiwgVCBDNywgVCBDOCwgVCBDOSwgVCBDMTAKKyAgICAsIFQgQzExLCBUIEMxMiwgVCBDMTMsIFQgQzE0LCBUIEMxNSwgVCBDMTYsIFQgQzE3LCBUIEMxOCwgVCBDMTksIFQgQzIwCisgICAgLCBUIEMyMSwgVCBDMjIsIFQgQzIzCisgICAgPgorc3RydWN0IHZlY3RvcjI0X2MKKyAgICA6IHZlY3RvcjI0PAorICAgICAgICAgIGludGVncmFsX2M8IFQsQzAgPiwgaW50ZWdyYWxfYzwgVCxDMSA+LCBpbnRlZ3JhbF9jPCBULEMyID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMzID4sIGludGVncmFsX2M8IFQsQzQgPiwgaW50ZWdyYWxfYzwgVCxDNSA+LCBpbnRlZ3JhbF9jPCBULEM2ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEM3ID4sIGludGVncmFsX2M8IFQsQzggPiwgaW50ZWdyYWxfYzwgVCxDOSA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMTAgPiwgaW50ZWdyYWxfYzwgVCxDMTEgPiwgaW50ZWdyYWxfYzwgVCxDMTIgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzEzID4sIGludGVncmFsX2M8IFQsQzE0ID4sIGludGVncmFsX2M8IFQsQzE1ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMxNiA+LCBpbnRlZ3JhbF9jPCBULEMxNyA+LCBpbnRlZ3JhbF9jPCBULEMxOCA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMTkgPiwgaW50ZWdyYWxfYzwgVCxDMjAgPiwgaW50ZWdyYWxfYzwgVCxDMjEgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzIyID4sIGludGVncmFsX2M8IFQsQzIzID4gCisgPgoreworICAgIHR5cGVkZWYgdmVjdG9yMjRfYyB0eXBlOworICAgIHR5cGVkZWYgVCB2YWx1ZV90eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUCisgICAgLCBUIEMwLCBUIEMxLCBUIEMyLCBUIEMzLCBUIEM0LCBUIEM1LCBUIEM2LCBUIEM3LCBUIEM4LCBUIEM5LCBUIEMxMAorICAgICwgVCBDMTEsIFQgQzEyLCBUIEMxMywgVCBDMTQsIFQgQzE1LCBUIEMxNiwgVCBDMTcsIFQgQzE4LCBUIEMxOSwgVCBDMjAKKyAgICAsIFQgQzIxLCBUIEMyMiwgVCBDMjMsIFQgQzI0CisgICAgPgorc3RydWN0IHZlY3RvcjI1X2MKKyAgICA6IHZlY3RvcjI1PAorICAgICAgICAgIGludGVncmFsX2M8IFQsQzAgPiwgaW50ZWdyYWxfYzwgVCxDMSA+LCBpbnRlZ3JhbF9jPCBULEMyID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMzID4sIGludGVncmFsX2M8IFQsQzQgPiwgaW50ZWdyYWxfYzwgVCxDNSA+LCBpbnRlZ3JhbF9jPCBULEM2ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEM3ID4sIGludGVncmFsX2M8IFQsQzggPiwgaW50ZWdyYWxfYzwgVCxDOSA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMTAgPiwgaW50ZWdyYWxfYzwgVCxDMTEgPiwgaW50ZWdyYWxfYzwgVCxDMTIgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzEzID4sIGludGVncmFsX2M8IFQsQzE0ID4sIGludGVncmFsX2M8IFQsQzE1ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMxNiA+LCBpbnRlZ3JhbF9jPCBULEMxNyA+LCBpbnRlZ3JhbF9jPCBULEMxOCA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMTkgPiwgaW50ZWdyYWxfYzwgVCxDMjAgPiwgaW50ZWdyYWxfYzwgVCxDMjEgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzIyID4sIGludGVncmFsX2M8IFQsQzIzID4sIGludGVncmFsX2M8IFQsQzI0ID4gCisgPgoreworICAgIHR5cGVkZWYgdmVjdG9yMjVfYyB0eXBlOworICAgIHR5cGVkZWYgVCB2YWx1ZV90eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUCisgICAgLCBUIEMwLCBUIEMxLCBUIEMyLCBUIEMzLCBUIEM0LCBUIEM1LCBUIEM2LCBUIEM3LCBUIEM4LCBUIEM5LCBUIEMxMAorICAgICwgVCBDMTEsIFQgQzEyLCBUIEMxMywgVCBDMTQsIFQgQzE1LCBUIEMxNiwgVCBDMTcsIFQgQzE4LCBUIEMxOSwgVCBDMjAKKyAgICAsIFQgQzIxLCBUIEMyMiwgVCBDMjMsIFQgQzI0LCBUIEMyNQorICAgID4KK3N0cnVjdCB2ZWN0b3IyNl9jCisgICAgOiB2ZWN0b3IyNjwKKyAgICAgICAgICBpbnRlZ3JhbF9jPCBULEMwID4sIGludGVncmFsX2M8IFQsQzEgPiwgaW50ZWdyYWxfYzwgVCxDMiA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMyA+LCBpbnRlZ3JhbF9jPCBULEM0ID4sIGludGVncmFsX2M8IFQsQzUgPiwgaW50ZWdyYWxfYzwgVCxDNiA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDNyA+LCBpbnRlZ3JhbF9jPCBULEM4ID4sIGludGVncmFsX2M8IFQsQzkgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzEwID4sIGludGVncmFsX2M8IFQsQzExID4sIGludGVncmFsX2M8IFQsQzEyID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMxMyA+LCBpbnRlZ3JhbF9jPCBULEMxNCA+LCBpbnRlZ3JhbF9jPCBULEMxNSA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMTYgPiwgaW50ZWdyYWxfYzwgVCxDMTcgPiwgaW50ZWdyYWxfYzwgVCxDMTggPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzE5ID4sIGludGVncmFsX2M8IFQsQzIwID4sIGludGVncmFsX2M8IFQsQzIxID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMyMiA+LCBpbnRlZ3JhbF9jPCBULEMyMyA+LCBpbnRlZ3JhbF9jPCBULEMyNCA+LCBpbnRlZ3JhbF9jPFQKKyAgICAgICAgLCBDMjU+IAorID4KK3sKKyAgICB0eXBlZGVmIHZlY3RvcjI2X2MgdHlwZTsKKyAgICB0eXBlZGVmIFQgdmFsdWVfdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVAorICAgICwgVCBDMCwgVCBDMSwgVCBDMiwgVCBDMywgVCBDNCwgVCBDNSwgVCBDNiwgVCBDNywgVCBDOCwgVCBDOSwgVCBDMTAKKyAgICAsIFQgQzExLCBUIEMxMiwgVCBDMTMsIFQgQzE0LCBUIEMxNSwgVCBDMTYsIFQgQzE3LCBUIEMxOCwgVCBDMTksIFQgQzIwCisgICAgLCBUIEMyMSwgVCBDMjIsIFQgQzIzLCBUIEMyNCwgVCBDMjUsIFQgQzI2CisgICAgPgorc3RydWN0IHZlY3RvcjI3X2MKKyAgICA6IHZlY3RvcjI3PAorICAgICAgICAgIGludGVncmFsX2M8IFQsQzAgPiwgaW50ZWdyYWxfYzwgVCxDMSA+LCBpbnRlZ3JhbF9jPCBULEMyID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMzID4sIGludGVncmFsX2M8IFQsQzQgPiwgaW50ZWdyYWxfYzwgVCxDNSA+LCBpbnRlZ3JhbF9jPCBULEM2ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEM3ID4sIGludGVncmFsX2M8IFQsQzggPiwgaW50ZWdyYWxfYzwgVCxDOSA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMTAgPiwgaW50ZWdyYWxfYzwgVCxDMTEgPiwgaW50ZWdyYWxfYzwgVCxDMTIgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzEzID4sIGludGVncmFsX2M8IFQsQzE0ID4sIGludGVncmFsX2M8IFQsQzE1ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMxNiA+LCBpbnRlZ3JhbF9jPCBULEMxNyA+LCBpbnRlZ3JhbF9jPCBULEMxOCA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMTkgPiwgaW50ZWdyYWxfYzwgVCxDMjAgPiwgaW50ZWdyYWxfYzwgVCxDMjEgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzIyID4sIGludGVncmFsX2M8IFQsQzIzID4sIGludGVncmFsX2M8IFQsQzI0ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMyNSA+LCBpbnRlZ3JhbF9jPCBULEMyNiA+IAorID4KK3sKKyAgICB0eXBlZGVmIHZlY3RvcjI3X2MgdHlwZTsKKyAgICB0eXBlZGVmIFQgdmFsdWVfdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVAorICAgICwgVCBDMCwgVCBDMSwgVCBDMiwgVCBDMywgVCBDNCwgVCBDNSwgVCBDNiwgVCBDNywgVCBDOCwgVCBDOSwgVCBDMTAKKyAgICAsIFQgQzExLCBUIEMxMiwgVCBDMTMsIFQgQzE0LCBUIEMxNSwgVCBDMTYsIFQgQzE3LCBUIEMxOCwgVCBDMTksIFQgQzIwCisgICAgLCBUIEMyMSwgVCBDMjIsIFQgQzIzLCBUIEMyNCwgVCBDMjUsIFQgQzI2LCBUIEMyNworICAgID4KK3N0cnVjdCB2ZWN0b3IyOF9jCisgICAgOiB2ZWN0b3IyODwKKyAgICAgICAgICBpbnRlZ3JhbF9jPCBULEMwID4sIGludGVncmFsX2M8IFQsQzEgPiwgaW50ZWdyYWxfYzwgVCxDMiA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMyA+LCBpbnRlZ3JhbF9jPCBULEM0ID4sIGludGVncmFsX2M8IFQsQzUgPiwgaW50ZWdyYWxfYzwgVCxDNiA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDNyA+LCBpbnRlZ3JhbF9jPCBULEM4ID4sIGludGVncmFsX2M8IFQsQzkgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzEwID4sIGludGVncmFsX2M8IFQsQzExID4sIGludGVncmFsX2M8IFQsQzEyID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMxMyA+LCBpbnRlZ3JhbF9jPCBULEMxNCA+LCBpbnRlZ3JhbF9jPCBULEMxNSA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMTYgPiwgaW50ZWdyYWxfYzwgVCxDMTcgPiwgaW50ZWdyYWxfYzwgVCxDMTggPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzE5ID4sIGludGVncmFsX2M8IFQsQzIwID4sIGludGVncmFsX2M8IFQsQzIxID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMyMiA+LCBpbnRlZ3JhbF9jPCBULEMyMyA+LCBpbnRlZ3JhbF9jPCBULEMyNCA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMjUgPiwgaW50ZWdyYWxfYzwgVCxDMjYgPiwgaW50ZWdyYWxfYzwgVCxDMjcgPiAKKyA+Cit7CisgICAgdHlwZWRlZiB2ZWN0b3IyOF9jIHR5cGU7CisgICAgdHlwZWRlZiBUIHZhbHVlX3R5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQKKyAgICAsIFQgQzAsIFQgQzEsIFQgQzIsIFQgQzMsIFQgQzQsIFQgQzUsIFQgQzYsIFQgQzcsIFQgQzgsIFQgQzksIFQgQzEwCisgICAgLCBUIEMxMSwgVCBDMTIsIFQgQzEzLCBUIEMxNCwgVCBDMTUsIFQgQzE2LCBUIEMxNywgVCBDMTgsIFQgQzE5LCBUIEMyMAorICAgICwgVCBDMjEsIFQgQzIyLCBUIEMyMywgVCBDMjQsIFQgQzI1LCBUIEMyNiwgVCBDMjcsIFQgQzI4CisgICAgPgorc3RydWN0IHZlY3RvcjI5X2MKKyAgICA6IHZlY3RvcjI5PAorICAgICAgICAgIGludGVncmFsX2M8IFQsQzAgPiwgaW50ZWdyYWxfYzwgVCxDMSA+LCBpbnRlZ3JhbF9jPCBULEMyID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMzID4sIGludGVncmFsX2M8IFQsQzQgPiwgaW50ZWdyYWxfYzwgVCxDNSA+LCBpbnRlZ3JhbF9jPCBULEM2ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEM3ID4sIGludGVncmFsX2M8IFQsQzggPiwgaW50ZWdyYWxfYzwgVCxDOSA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMTAgPiwgaW50ZWdyYWxfYzwgVCxDMTEgPiwgaW50ZWdyYWxfYzwgVCxDMTIgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzEzID4sIGludGVncmFsX2M8IFQsQzE0ID4sIGludGVncmFsX2M8IFQsQzE1ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMxNiA+LCBpbnRlZ3JhbF9jPCBULEMxNyA+LCBpbnRlZ3JhbF9jPCBULEMxOCA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMTkgPiwgaW50ZWdyYWxfYzwgVCxDMjAgPiwgaW50ZWdyYWxfYzwgVCxDMjEgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzIyID4sIGludGVncmFsX2M8IFQsQzIzID4sIGludGVncmFsX2M8IFQsQzI0ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMyNSA+LCBpbnRlZ3JhbF9jPCBULEMyNiA+LCBpbnRlZ3JhbF9jPCBULEMyNyA+LCBpbnRlZ3JhbF9jPFQKKyAgICAgICAgLCBDMjg+IAorID4KK3sKKyAgICB0eXBlZGVmIHZlY3RvcjI5X2MgdHlwZTsKKyAgICB0eXBlZGVmIFQgdmFsdWVfdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVAorICAgICwgVCBDMCwgVCBDMSwgVCBDMiwgVCBDMywgVCBDNCwgVCBDNSwgVCBDNiwgVCBDNywgVCBDOCwgVCBDOSwgVCBDMTAKKyAgICAsIFQgQzExLCBUIEMxMiwgVCBDMTMsIFQgQzE0LCBUIEMxNSwgVCBDMTYsIFQgQzE3LCBUIEMxOCwgVCBDMTksIFQgQzIwCisgICAgLCBUIEMyMSwgVCBDMjIsIFQgQzIzLCBUIEMyNCwgVCBDMjUsIFQgQzI2LCBUIEMyNywgVCBDMjgsIFQgQzI5CisgICAgPgorc3RydWN0IHZlY3RvcjMwX2MKKyAgICA6IHZlY3RvcjMwPAorICAgICAgICAgIGludGVncmFsX2M8IFQsQzAgPiwgaW50ZWdyYWxfYzwgVCxDMSA+LCBpbnRlZ3JhbF9jPCBULEMyID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMzID4sIGludGVncmFsX2M8IFQsQzQgPiwgaW50ZWdyYWxfYzwgVCxDNSA+LCBpbnRlZ3JhbF9jPCBULEM2ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEM3ID4sIGludGVncmFsX2M8IFQsQzggPiwgaW50ZWdyYWxfYzwgVCxDOSA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMTAgPiwgaW50ZWdyYWxfYzwgVCxDMTEgPiwgaW50ZWdyYWxfYzwgVCxDMTIgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzEzID4sIGludGVncmFsX2M8IFQsQzE0ID4sIGludGVncmFsX2M8IFQsQzE1ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMxNiA+LCBpbnRlZ3JhbF9jPCBULEMxNyA+LCBpbnRlZ3JhbF9jPCBULEMxOCA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMTkgPiwgaW50ZWdyYWxfYzwgVCxDMjAgPiwgaW50ZWdyYWxfYzwgVCxDMjEgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzIyID4sIGludGVncmFsX2M8IFQsQzIzID4sIGludGVncmFsX2M8IFQsQzI0ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMyNSA+LCBpbnRlZ3JhbF9jPCBULEMyNiA+LCBpbnRlZ3JhbF9jPCBULEMyNyA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMjggPiwgaW50ZWdyYWxfYzwgVCxDMjkgPiAKKyA+Cit7CisgICAgdHlwZWRlZiB2ZWN0b3IzMF9jIHR5cGU7CisgICAgdHlwZWRlZiBUIHZhbHVlX3R5cGU7Cit9OworCit9fQpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL3ZlY3Rvci9hdXhfL3ByZXByb2Nlc3NlZC9wbGFpbi92ZWN0b3I0MC5ocHAgYi9uZG5ib29zdC9tcGwvdmVjdG9yL2F1eF8vcHJlcHJvY2Vzc2VkL3BsYWluL3ZlY3RvcjQwLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kN2M3NTNkCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL3ZlY3Rvci9hdXhfL3ByZXByb2Nlc3NlZC9wbGFpbi92ZWN0b3I0MC5ocHAKQEAgLTAsMCArMSwxNzg0IEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC92ZWN0b3IvdmVjdG9yNDAuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICwgdHlwZW5hbWUgVDIwLCB0eXBlbmFtZSBUMjEsIHR5cGVuYW1lIFQyMiwgdHlwZW5hbWUgVDIzLCB0eXBlbmFtZSBUMjQKKyAgICAsIHR5cGVuYW1lIFQyNSwgdHlwZW5hbWUgVDI2LCB0eXBlbmFtZSBUMjcsIHR5cGVuYW1lIFQyOCwgdHlwZW5hbWUgVDI5CisgICAgLCB0eXBlbmFtZSBUMzAKKyAgICA+CitzdHJ1Y3QgdmVjdG9yMzEKK3sKKyAgICB0eXBlZGVmIGF1eDo6dmVjdG9yX3RhZzwzMT4gdGFnOworICAgIHR5cGVkZWYgdmVjdG9yMzEgdHlwZTsKKyAgICB0eXBlZGVmIFQwIGl0ZW0wOworICAgIHR5cGVkZWYgVDEgaXRlbTE7CisgICAgdHlwZWRlZiBUMiBpdGVtMjsKKyAgICB0eXBlZGVmIFQzIGl0ZW0zOworICAgIHR5cGVkZWYgVDQgaXRlbTQ7CisgICAgdHlwZWRlZiBUNSBpdGVtNTsKKyAgICB0eXBlZGVmIFQ2IGl0ZW02OworICAgIHR5cGVkZWYgVDcgaXRlbTc7CisgICAgdHlwZWRlZiBUOCBpdGVtODsKKyAgICB0eXBlZGVmIFQ5IGl0ZW05OworICAgIHR5cGVkZWYgVDEwIGl0ZW0xMDsKKyAgICB0eXBlZGVmIFQxMSBpdGVtMTE7CisgICAgdHlwZWRlZiBUMTIgaXRlbTEyOworICAgIHR5cGVkZWYgVDEzIGl0ZW0xMzsKKyAgICB0eXBlZGVmIFQxNCBpdGVtMTQ7CisgICAgdHlwZWRlZiBUMTUgaXRlbTE1OworICAgIHR5cGVkZWYgVDE2IGl0ZW0xNjsKKyAgICB0eXBlZGVmIFQxNyBpdGVtMTc7CisgICAgdHlwZWRlZiBUMTggaXRlbTE4OworICAgIHR5cGVkZWYgVDE5IGl0ZW0xOTsKKyAgICB0eXBlZGVmIFQyMCBpdGVtMjA7CisgICAgdHlwZWRlZiBUMjEgaXRlbTIxOworICAgIHR5cGVkZWYgVDIyIGl0ZW0yMjsKKyAgICB0eXBlZGVmIFQyMyBpdGVtMjM7CisgICAgdHlwZWRlZiBUMjQgaXRlbTI0OworICAgIHR5cGVkZWYgVDI1IGl0ZW0yNTsKKyAgICB0eXBlZGVmIFQyNiBpdGVtMjY7CisgICAgdHlwZWRlZiBUMjcgaXRlbTI3OworICAgIHR5cGVkZWYgVDI4IGl0ZW0yODsKKyAgICB0eXBlZGVmIFQyOSBpdGVtMjk7CisgICAgdHlwZWRlZiBUMzAgaXRlbTMwOworICAgIAorCisgICAgdHlwZWRlZiB2b2lkXyBpdGVtMzE7CisgICAgdHlwZWRlZiBUMzAgYmFjazsKKyAgICB0eXBlZGVmIHZfaXRlcjwgdHlwZSwwID4gYmVnaW47CisgICAgdHlwZWRlZiB2X2l0ZXI8IHR5cGUsMzEgPiBlbmQ7Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcHVzaF9mcm9udF9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MzA+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yLCB0eXBlbmFtZSBUID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjMxPAorICAgICAgICAgICAgICBUCisgICAgICAgICAgICAgICwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW04LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW05CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIxCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI4LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yOQorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcG9wX2Zyb250X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwzMT4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yMzA8CisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMywgdHlwZW5hbWUgVmVjdG9yOjppdGVtNAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW02CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTgKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTAKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTEsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEyCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEzLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTYKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTcsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE4CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE5LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjIKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjMsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI0CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI1LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNywgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjgKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjksIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMwCisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwdXNoX2JhY2tfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDMwPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciwgdHlwZW5hbWUgVCA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IzMTwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW04LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW05CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIxCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI4LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yOQorICAgICAgICAgICAgICAsCisgICAgICAgICAgICAgIFQKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHBvcF9iYWNrX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwzMT4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yMzA8CisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjkKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFYgPgorc3RydWN0IHZfYXQ8IFYsMzEgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTMxIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAsIHR5cGVuYW1lIFQyMCwgdHlwZW5hbWUgVDIxLCB0eXBlbmFtZSBUMjIsIHR5cGVuYW1lIFQyMywgdHlwZW5hbWUgVDI0CisgICAgLCB0eXBlbmFtZSBUMjUsIHR5cGVuYW1lIFQyNiwgdHlwZW5hbWUgVDI3LCB0eXBlbmFtZSBUMjgsIHR5cGVuYW1lIFQyOQorICAgICwgdHlwZW5hbWUgVDMwLCB0eXBlbmFtZSBUMzEKKyAgICA+CitzdHJ1Y3QgdmVjdG9yMzIKK3sKKyAgICB0eXBlZGVmIGF1eDo6dmVjdG9yX3RhZzwzMj4gdGFnOworICAgIHR5cGVkZWYgdmVjdG9yMzIgdHlwZTsKKyAgICB0eXBlZGVmIFQwIGl0ZW0wOworICAgIHR5cGVkZWYgVDEgaXRlbTE7CisgICAgdHlwZWRlZiBUMiBpdGVtMjsKKyAgICB0eXBlZGVmIFQzIGl0ZW0zOworICAgIHR5cGVkZWYgVDQgaXRlbTQ7CisgICAgdHlwZWRlZiBUNSBpdGVtNTsKKyAgICB0eXBlZGVmIFQ2IGl0ZW02OworICAgIHR5cGVkZWYgVDcgaXRlbTc7CisgICAgdHlwZWRlZiBUOCBpdGVtODsKKyAgICB0eXBlZGVmIFQ5IGl0ZW05OworICAgIHR5cGVkZWYgVDEwIGl0ZW0xMDsKKyAgICB0eXBlZGVmIFQxMSBpdGVtMTE7CisgICAgdHlwZWRlZiBUMTIgaXRlbTEyOworICAgIHR5cGVkZWYgVDEzIGl0ZW0xMzsKKyAgICB0eXBlZGVmIFQxNCBpdGVtMTQ7CisgICAgdHlwZWRlZiBUMTUgaXRlbTE1OworICAgIHR5cGVkZWYgVDE2IGl0ZW0xNjsKKyAgICB0eXBlZGVmIFQxNyBpdGVtMTc7CisgICAgdHlwZWRlZiBUMTggaXRlbTE4OworICAgIHR5cGVkZWYgVDE5IGl0ZW0xOTsKKyAgICB0eXBlZGVmIFQyMCBpdGVtMjA7CisgICAgdHlwZWRlZiBUMjEgaXRlbTIxOworICAgIHR5cGVkZWYgVDIyIGl0ZW0yMjsKKyAgICB0eXBlZGVmIFQyMyBpdGVtMjM7CisgICAgdHlwZWRlZiBUMjQgaXRlbTI0OworICAgIHR5cGVkZWYgVDI1IGl0ZW0yNTsKKyAgICB0eXBlZGVmIFQyNiBpdGVtMjY7CisgICAgdHlwZWRlZiBUMjcgaXRlbTI3OworICAgIHR5cGVkZWYgVDI4IGl0ZW0yODsKKyAgICB0eXBlZGVmIFQyOSBpdGVtMjk7CisgICAgdHlwZWRlZiBUMzAgaXRlbTMwOworICAgIHR5cGVkZWYgVDMxIGl0ZW0zMTsKKyAgICAKKworICAgIHR5cGVkZWYgdm9pZF8gaXRlbTMyOworICAgIHR5cGVkZWYgVDMxIGJhY2s7CisgICAgdHlwZWRlZiB2X2l0ZXI8IHR5cGUsMCA+IGJlZ2luOworICAgIHR5cGVkZWYgdl9pdGVyPCB0eXBlLDMyID4gZW5kOworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHB1c2hfZnJvbnRfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDMxPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciwgdHlwZW5hbWUgVCA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IzMjwKKyAgICAgICAgICAgICAgVAorICAgICAgICAgICAgICAsCisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzAKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHBvcF9mcm9udF9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MzI+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjMxPAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW03LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW04CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTksIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEwCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTExLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMywgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTQKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTUsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE2CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE3LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjAKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjEsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIyCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIzLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjYKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjcsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI4CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI5LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMQorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcHVzaF9iYWNrX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwzMT4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IsIHR5cGVuYW1lIFQgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yMzI8CisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzAKKyAgICAgICAgICAgICAgLAorICAgICAgICAgICAgICBUCisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwb3BfYmFja19pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MzI+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjMxPAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0wLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW02LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW03CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTExCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE4LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMwCisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBWID4KK3N0cnVjdCB2X2F0PCBWLDMyID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW0zMiB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgLCB0eXBlbmFtZSBUMjAsIHR5cGVuYW1lIFQyMSwgdHlwZW5hbWUgVDIyLCB0eXBlbmFtZSBUMjMsIHR5cGVuYW1lIFQyNAorICAgICwgdHlwZW5hbWUgVDI1LCB0eXBlbmFtZSBUMjYsIHR5cGVuYW1lIFQyNywgdHlwZW5hbWUgVDI4LCB0eXBlbmFtZSBUMjkKKyAgICAsIHR5cGVuYW1lIFQzMCwgdHlwZW5hbWUgVDMxLCB0eXBlbmFtZSBUMzIKKyAgICA+CitzdHJ1Y3QgdmVjdG9yMzMKK3sKKyAgICB0eXBlZGVmIGF1eDo6dmVjdG9yX3RhZzwzMz4gdGFnOworICAgIHR5cGVkZWYgdmVjdG9yMzMgdHlwZTsKKyAgICB0eXBlZGVmIFQwIGl0ZW0wOworICAgIHR5cGVkZWYgVDEgaXRlbTE7CisgICAgdHlwZWRlZiBUMiBpdGVtMjsKKyAgICB0eXBlZGVmIFQzIGl0ZW0zOworICAgIHR5cGVkZWYgVDQgaXRlbTQ7CisgICAgdHlwZWRlZiBUNSBpdGVtNTsKKyAgICB0eXBlZGVmIFQ2IGl0ZW02OworICAgIHR5cGVkZWYgVDcgaXRlbTc7CisgICAgdHlwZWRlZiBUOCBpdGVtODsKKyAgICB0eXBlZGVmIFQ5IGl0ZW05OworICAgIHR5cGVkZWYgVDEwIGl0ZW0xMDsKKyAgICB0eXBlZGVmIFQxMSBpdGVtMTE7CisgICAgdHlwZWRlZiBUMTIgaXRlbTEyOworICAgIHR5cGVkZWYgVDEzIGl0ZW0xMzsKKyAgICB0eXBlZGVmIFQxNCBpdGVtMTQ7CisgICAgdHlwZWRlZiBUMTUgaXRlbTE1OworICAgIHR5cGVkZWYgVDE2IGl0ZW0xNjsKKyAgICB0eXBlZGVmIFQxNyBpdGVtMTc7CisgICAgdHlwZWRlZiBUMTggaXRlbTE4OworICAgIHR5cGVkZWYgVDE5IGl0ZW0xOTsKKyAgICB0eXBlZGVmIFQyMCBpdGVtMjA7CisgICAgdHlwZWRlZiBUMjEgaXRlbTIxOworICAgIHR5cGVkZWYgVDIyIGl0ZW0yMjsKKyAgICB0eXBlZGVmIFQyMyBpdGVtMjM7CisgICAgdHlwZWRlZiBUMjQgaXRlbTI0OworICAgIHR5cGVkZWYgVDI1IGl0ZW0yNTsKKyAgICB0eXBlZGVmIFQyNiBpdGVtMjY7CisgICAgdHlwZWRlZiBUMjcgaXRlbTI3OworICAgIHR5cGVkZWYgVDI4IGl0ZW0yODsKKyAgICB0eXBlZGVmIFQyOSBpdGVtMjk7CisgICAgdHlwZWRlZiBUMzAgaXRlbTMwOworICAgIHR5cGVkZWYgVDMxIGl0ZW0zMTsKKyAgICB0eXBlZGVmIFQzMiBpdGVtMzI7CisgICAgCisKKyAgICB0eXBlZGVmIHZvaWRfIGl0ZW0zMzsKKyAgICB0eXBlZGVmIFQzMiBiYWNrOworICAgIHR5cGVkZWYgdl9pdGVyPCB0eXBlLDAgPiBiZWdpbjsKKyAgICB0eXBlZGVmIHZfaXRlcjwgdHlwZSwzMyA+IGVuZDsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwdXNoX2Zyb250X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwzMj4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IsIHR5cGVuYW1lIFQgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yMzM8CisgICAgICAgICAgICAgIFQKKyAgICAgICAgICAgICAgLAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0wLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW02LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW03CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTExCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE4LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMQorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcG9wX2Zyb250X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwzMz4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yMzI8CisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMywgdHlwZW5hbWUgVmVjdG9yOjppdGVtNAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW02CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTgKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTAKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTEsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEyCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEzLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTYKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTcsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE4CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE5LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjIKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjMsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI0CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI1LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNywgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjgKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjksIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMwCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMxLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMgorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcHVzaF9iYWNrX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwzMj4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IsIHR5cGVuYW1lIFQgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yMzM8CisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMxCisgICAgICAgICAgICAgICwKKyAgICAgICAgICAgICAgVAorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcG9wX2JhY2tfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDMzPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IzMjwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW04LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW05CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIxCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI4LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzEKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFYgPgorc3RydWN0IHZfYXQ8IFYsMzMgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTMzIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAsIHR5cGVuYW1lIFQyMCwgdHlwZW5hbWUgVDIxLCB0eXBlbmFtZSBUMjIsIHR5cGVuYW1lIFQyMywgdHlwZW5hbWUgVDI0CisgICAgLCB0eXBlbmFtZSBUMjUsIHR5cGVuYW1lIFQyNiwgdHlwZW5hbWUgVDI3LCB0eXBlbmFtZSBUMjgsIHR5cGVuYW1lIFQyOQorICAgICwgdHlwZW5hbWUgVDMwLCB0eXBlbmFtZSBUMzEsIHR5cGVuYW1lIFQzMiwgdHlwZW5hbWUgVDMzCisgICAgPgorc3RydWN0IHZlY3RvcjM0Cit7CisgICAgdHlwZWRlZiBhdXg6OnZlY3Rvcl90YWc8MzQ+IHRhZzsKKyAgICB0eXBlZGVmIHZlY3RvcjM0IHR5cGU7CisgICAgdHlwZWRlZiBUMCBpdGVtMDsKKyAgICB0eXBlZGVmIFQxIGl0ZW0xOworICAgIHR5cGVkZWYgVDIgaXRlbTI7CisgICAgdHlwZWRlZiBUMyBpdGVtMzsKKyAgICB0eXBlZGVmIFQ0IGl0ZW00OworICAgIHR5cGVkZWYgVDUgaXRlbTU7CisgICAgdHlwZWRlZiBUNiBpdGVtNjsKKyAgICB0eXBlZGVmIFQ3IGl0ZW03OworICAgIHR5cGVkZWYgVDggaXRlbTg7CisgICAgdHlwZWRlZiBUOSBpdGVtOTsKKyAgICB0eXBlZGVmIFQxMCBpdGVtMTA7CisgICAgdHlwZWRlZiBUMTEgaXRlbTExOworICAgIHR5cGVkZWYgVDEyIGl0ZW0xMjsKKyAgICB0eXBlZGVmIFQxMyBpdGVtMTM7CisgICAgdHlwZWRlZiBUMTQgaXRlbTE0OworICAgIHR5cGVkZWYgVDE1IGl0ZW0xNTsKKyAgICB0eXBlZGVmIFQxNiBpdGVtMTY7CisgICAgdHlwZWRlZiBUMTcgaXRlbTE3OworICAgIHR5cGVkZWYgVDE4IGl0ZW0xODsKKyAgICB0eXBlZGVmIFQxOSBpdGVtMTk7CisgICAgdHlwZWRlZiBUMjAgaXRlbTIwOworICAgIHR5cGVkZWYgVDIxIGl0ZW0yMTsKKyAgICB0eXBlZGVmIFQyMiBpdGVtMjI7CisgICAgdHlwZWRlZiBUMjMgaXRlbTIzOworICAgIHR5cGVkZWYgVDI0IGl0ZW0yNDsKKyAgICB0eXBlZGVmIFQyNSBpdGVtMjU7CisgICAgdHlwZWRlZiBUMjYgaXRlbTI2OworICAgIHR5cGVkZWYgVDI3IGl0ZW0yNzsKKyAgICB0eXBlZGVmIFQyOCBpdGVtMjg7CisgICAgdHlwZWRlZiBUMjkgaXRlbTI5OworICAgIHR5cGVkZWYgVDMwIGl0ZW0zMDsKKyAgICB0eXBlZGVmIFQzMSBpdGVtMzE7CisgICAgdHlwZWRlZiBUMzIgaXRlbTMyOworICAgIHR5cGVkZWYgVDMzIGl0ZW0zMzsKKyAgICAKKworICAgIHR5cGVkZWYgdm9pZF8gaXRlbTM0OworICAgIHR5cGVkZWYgVDMzIGJhY2s7CisgICAgdHlwZWRlZiB2X2l0ZXI8IHR5cGUsMCA+IGJlZ2luOworICAgIHR5cGVkZWYgdl9pdGVyPCB0eXBlLDM0ID4gZW5kOworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHB1c2hfZnJvbnRfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDMzPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciwgdHlwZW5hbWUgVCA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IzNDwKKyAgICAgICAgICAgICAgVAorICAgICAgICAgICAgICAsCisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMxCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMyCisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwb3BfZnJvbnRfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDM0PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IzMzwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNywgdHlwZW5hbWUgVmVjdG9yOjppdGVtOAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW05LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTIKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTMsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE0CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE1LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNywgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTgKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTksIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIwCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIxLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMywgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjQKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjUsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI2CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI3LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yOAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yOSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzAKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzEsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMyCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMzCisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwdXNoX2JhY2tfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDMzPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciwgdHlwZW5hbWUgVCA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IzNDwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW04LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW05CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIxCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI4LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzIKKyAgICAgICAgICAgICAgLAorICAgICAgICAgICAgICBUCisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwb3BfYmFja19pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MzQ+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjMzPAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0wLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW02LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW03CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTExCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE4LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMgorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgViA+CitzdHJ1Y3Qgdl9hdDwgViwzNCA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtMzQgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICwgdHlwZW5hbWUgVDIwLCB0eXBlbmFtZSBUMjEsIHR5cGVuYW1lIFQyMiwgdHlwZW5hbWUgVDIzLCB0eXBlbmFtZSBUMjQKKyAgICAsIHR5cGVuYW1lIFQyNSwgdHlwZW5hbWUgVDI2LCB0eXBlbmFtZSBUMjcsIHR5cGVuYW1lIFQyOCwgdHlwZW5hbWUgVDI5CisgICAgLCB0eXBlbmFtZSBUMzAsIHR5cGVuYW1lIFQzMSwgdHlwZW5hbWUgVDMyLCB0eXBlbmFtZSBUMzMsIHR5cGVuYW1lIFQzNAorICAgID4KK3N0cnVjdCB2ZWN0b3IzNQoreworICAgIHR5cGVkZWYgYXV4Ojp2ZWN0b3JfdGFnPDM1PiB0YWc7CisgICAgdHlwZWRlZiB2ZWN0b3IzNSB0eXBlOworICAgIHR5cGVkZWYgVDAgaXRlbTA7CisgICAgdHlwZWRlZiBUMSBpdGVtMTsKKyAgICB0eXBlZGVmIFQyIGl0ZW0yOworICAgIHR5cGVkZWYgVDMgaXRlbTM7CisgICAgdHlwZWRlZiBUNCBpdGVtNDsKKyAgICB0eXBlZGVmIFQ1IGl0ZW01OworICAgIHR5cGVkZWYgVDYgaXRlbTY7CisgICAgdHlwZWRlZiBUNyBpdGVtNzsKKyAgICB0eXBlZGVmIFQ4IGl0ZW04OworICAgIHR5cGVkZWYgVDkgaXRlbTk7CisgICAgdHlwZWRlZiBUMTAgaXRlbTEwOworICAgIHR5cGVkZWYgVDExIGl0ZW0xMTsKKyAgICB0eXBlZGVmIFQxMiBpdGVtMTI7CisgICAgdHlwZWRlZiBUMTMgaXRlbTEzOworICAgIHR5cGVkZWYgVDE0IGl0ZW0xNDsKKyAgICB0eXBlZGVmIFQxNSBpdGVtMTU7CisgICAgdHlwZWRlZiBUMTYgaXRlbTE2OworICAgIHR5cGVkZWYgVDE3IGl0ZW0xNzsKKyAgICB0eXBlZGVmIFQxOCBpdGVtMTg7CisgICAgdHlwZWRlZiBUMTkgaXRlbTE5OworICAgIHR5cGVkZWYgVDIwIGl0ZW0yMDsKKyAgICB0eXBlZGVmIFQyMSBpdGVtMjE7CisgICAgdHlwZWRlZiBUMjIgaXRlbTIyOworICAgIHR5cGVkZWYgVDIzIGl0ZW0yMzsKKyAgICB0eXBlZGVmIFQyNCBpdGVtMjQ7CisgICAgdHlwZWRlZiBUMjUgaXRlbTI1OworICAgIHR5cGVkZWYgVDI2IGl0ZW0yNjsKKyAgICB0eXBlZGVmIFQyNyBpdGVtMjc7CisgICAgdHlwZWRlZiBUMjggaXRlbTI4OworICAgIHR5cGVkZWYgVDI5IGl0ZW0yOTsKKyAgICB0eXBlZGVmIFQzMCBpdGVtMzA7CisgICAgdHlwZWRlZiBUMzEgaXRlbTMxOworICAgIHR5cGVkZWYgVDMyIGl0ZW0zMjsKKyAgICB0eXBlZGVmIFQzMyBpdGVtMzM7CisgICAgdHlwZWRlZiBUMzQgaXRlbTM0OworICAgIAorCisgICAgdHlwZWRlZiB2b2lkXyBpdGVtMzU7CisgICAgdHlwZWRlZiBUMzQgYmFjazsKKyAgICB0eXBlZGVmIHZfaXRlcjwgdHlwZSwwID4gYmVnaW47CisgICAgdHlwZWRlZiB2X2l0ZXI8IHR5cGUsMzUgPiBlbmQ7Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcHVzaF9mcm9udF9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MzQ+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yLCB0eXBlbmFtZSBUID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjM1PAorICAgICAgICAgICAgICBUCisgICAgICAgICAgICAgICwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW04LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW05CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIxCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI4LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMzCisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwb3BfZnJvbnRfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDM1PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IzNDwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNywgdHlwZW5hbWUgVmVjdG9yOjppdGVtOAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW05LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTIKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTMsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE0CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE1LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNywgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTgKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTksIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIwCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIxLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMywgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjQKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjUsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI2CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI3LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yOAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yOSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzAKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzEsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMyCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMzLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNAorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcHVzaF9iYWNrX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwzND4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IsIHR5cGVuYW1lIFQgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yMzU8CisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMxCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMworICAgICAgICAgICAgICAsCisgICAgICAgICAgICAgIFQKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHBvcF9iYWNrX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwzNT4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yMzQ8CisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMxCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMworICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgViA+CitzdHJ1Y3Qgdl9hdDwgViwzNSA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtMzUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICwgdHlwZW5hbWUgVDIwLCB0eXBlbmFtZSBUMjEsIHR5cGVuYW1lIFQyMiwgdHlwZW5hbWUgVDIzLCB0eXBlbmFtZSBUMjQKKyAgICAsIHR5cGVuYW1lIFQyNSwgdHlwZW5hbWUgVDI2LCB0eXBlbmFtZSBUMjcsIHR5cGVuYW1lIFQyOCwgdHlwZW5hbWUgVDI5CisgICAgLCB0eXBlbmFtZSBUMzAsIHR5cGVuYW1lIFQzMSwgdHlwZW5hbWUgVDMyLCB0eXBlbmFtZSBUMzMsIHR5cGVuYW1lIFQzNAorICAgICwgdHlwZW5hbWUgVDM1CisgICAgPgorc3RydWN0IHZlY3RvcjM2Cit7CisgICAgdHlwZWRlZiBhdXg6OnZlY3Rvcl90YWc8MzY+IHRhZzsKKyAgICB0eXBlZGVmIHZlY3RvcjM2IHR5cGU7CisgICAgdHlwZWRlZiBUMCBpdGVtMDsKKyAgICB0eXBlZGVmIFQxIGl0ZW0xOworICAgIHR5cGVkZWYgVDIgaXRlbTI7CisgICAgdHlwZWRlZiBUMyBpdGVtMzsKKyAgICB0eXBlZGVmIFQ0IGl0ZW00OworICAgIHR5cGVkZWYgVDUgaXRlbTU7CisgICAgdHlwZWRlZiBUNiBpdGVtNjsKKyAgICB0eXBlZGVmIFQ3IGl0ZW03OworICAgIHR5cGVkZWYgVDggaXRlbTg7CisgICAgdHlwZWRlZiBUOSBpdGVtOTsKKyAgICB0eXBlZGVmIFQxMCBpdGVtMTA7CisgICAgdHlwZWRlZiBUMTEgaXRlbTExOworICAgIHR5cGVkZWYgVDEyIGl0ZW0xMjsKKyAgICB0eXBlZGVmIFQxMyBpdGVtMTM7CisgICAgdHlwZWRlZiBUMTQgaXRlbTE0OworICAgIHR5cGVkZWYgVDE1IGl0ZW0xNTsKKyAgICB0eXBlZGVmIFQxNiBpdGVtMTY7CisgICAgdHlwZWRlZiBUMTcgaXRlbTE3OworICAgIHR5cGVkZWYgVDE4IGl0ZW0xODsKKyAgICB0eXBlZGVmIFQxOSBpdGVtMTk7CisgICAgdHlwZWRlZiBUMjAgaXRlbTIwOworICAgIHR5cGVkZWYgVDIxIGl0ZW0yMTsKKyAgICB0eXBlZGVmIFQyMiBpdGVtMjI7CisgICAgdHlwZWRlZiBUMjMgaXRlbTIzOworICAgIHR5cGVkZWYgVDI0IGl0ZW0yNDsKKyAgICB0eXBlZGVmIFQyNSBpdGVtMjU7CisgICAgdHlwZWRlZiBUMjYgaXRlbTI2OworICAgIHR5cGVkZWYgVDI3IGl0ZW0yNzsKKyAgICB0eXBlZGVmIFQyOCBpdGVtMjg7CisgICAgdHlwZWRlZiBUMjkgaXRlbTI5OworICAgIHR5cGVkZWYgVDMwIGl0ZW0zMDsKKyAgICB0eXBlZGVmIFQzMSBpdGVtMzE7CisgICAgdHlwZWRlZiBUMzIgaXRlbTMyOworICAgIHR5cGVkZWYgVDMzIGl0ZW0zMzsKKyAgICB0eXBlZGVmIFQzNCBpdGVtMzQ7CisgICAgdHlwZWRlZiBUMzUgaXRlbTM1OworICAgIAorCisgICAgdHlwZWRlZiB2b2lkXyBpdGVtMzY7CisgICAgdHlwZWRlZiBUMzUgYmFjazsKKyAgICB0eXBlZGVmIHZfaXRlcjwgdHlwZSwwID4gYmVnaW47CisgICAgdHlwZWRlZiB2X2l0ZXI8IHR5cGUsMzYgPiBlbmQ7Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcHVzaF9mcm9udF9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MzU+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yLCB0eXBlbmFtZSBUID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjM2PAorICAgICAgICAgICAgICBUCisgICAgICAgICAgICAgICwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW04LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW05CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIxCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI4LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM0CisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwb3BfZnJvbnRfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDM2PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IzNTwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNywgdHlwZW5hbWUgVmVjdG9yOjppdGVtOAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW05LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTIKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTMsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE0CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE1LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNywgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTgKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTksIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIwCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIxLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMywgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjQKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjUsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI2CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI3LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yOAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yOSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzAKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzEsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMyCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMzLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNQorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcHVzaF9iYWNrX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwzNT4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IsIHR5cGVuYW1lIFQgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yMzY8CisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMxCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNAorICAgICAgICAgICAgICAsCisgICAgICAgICAgICAgIFQKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHBvcF9iYWNrX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwzNj4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yMzU8CisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMxCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNAorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgViA+CitzdHJ1Y3Qgdl9hdDwgViwzNiA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtMzYgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICwgdHlwZW5hbWUgVDIwLCB0eXBlbmFtZSBUMjEsIHR5cGVuYW1lIFQyMiwgdHlwZW5hbWUgVDIzLCB0eXBlbmFtZSBUMjQKKyAgICAsIHR5cGVuYW1lIFQyNSwgdHlwZW5hbWUgVDI2LCB0eXBlbmFtZSBUMjcsIHR5cGVuYW1lIFQyOCwgdHlwZW5hbWUgVDI5CisgICAgLCB0eXBlbmFtZSBUMzAsIHR5cGVuYW1lIFQzMSwgdHlwZW5hbWUgVDMyLCB0eXBlbmFtZSBUMzMsIHR5cGVuYW1lIFQzNAorICAgICwgdHlwZW5hbWUgVDM1LCB0eXBlbmFtZSBUMzYKKyAgICA+CitzdHJ1Y3QgdmVjdG9yMzcKK3sKKyAgICB0eXBlZGVmIGF1eDo6dmVjdG9yX3RhZzwzNz4gdGFnOworICAgIHR5cGVkZWYgdmVjdG9yMzcgdHlwZTsKKyAgICB0eXBlZGVmIFQwIGl0ZW0wOworICAgIHR5cGVkZWYgVDEgaXRlbTE7CisgICAgdHlwZWRlZiBUMiBpdGVtMjsKKyAgICB0eXBlZGVmIFQzIGl0ZW0zOworICAgIHR5cGVkZWYgVDQgaXRlbTQ7CisgICAgdHlwZWRlZiBUNSBpdGVtNTsKKyAgICB0eXBlZGVmIFQ2IGl0ZW02OworICAgIHR5cGVkZWYgVDcgaXRlbTc7CisgICAgdHlwZWRlZiBUOCBpdGVtODsKKyAgICB0eXBlZGVmIFQ5IGl0ZW05OworICAgIHR5cGVkZWYgVDEwIGl0ZW0xMDsKKyAgICB0eXBlZGVmIFQxMSBpdGVtMTE7CisgICAgdHlwZWRlZiBUMTIgaXRlbTEyOworICAgIHR5cGVkZWYgVDEzIGl0ZW0xMzsKKyAgICB0eXBlZGVmIFQxNCBpdGVtMTQ7CisgICAgdHlwZWRlZiBUMTUgaXRlbTE1OworICAgIHR5cGVkZWYgVDE2IGl0ZW0xNjsKKyAgICB0eXBlZGVmIFQxNyBpdGVtMTc7CisgICAgdHlwZWRlZiBUMTggaXRlbTE4OworICAgIHR5cGVkZWYgVDE5IGl0ZW0xOTsKKyAgICB0eXBlZGVmIFQyMCBpdGVtMjA7CisgICAgdHlwZWRlZiBUMjEgaXRlbTIxOworICAgIHR5cGVkZWYgVDIyIGl0ZW0yMjsKKyAgICB0eXBlZGVmIFQyMyBpdGVtMjM7CisgICAgdHlwZWRlZiBUMjQgaXRlbTI0OworICAgIHR5cGVkZWYgVDI1IGl0ZW0yNTsKKyAgICB0eXBlZGVmIFQyNiBpdGVtMjY7CisgICAgdHlwZWRlZiBUMjcgaXRlbTI3OworICAgIHR5cGVkZWYgVDI4IGl0ZW0yODsKKyAgICB0eXBlZGVmIFQyOSBpdGVtMjk7CisgICAgdHlwZWRlZiBUMzAgaXRlbTMwOworICAgIHR5cGVkZWYgVDMxIGl0ZW0zMTsKKyAgICB0eXBlZGVmIFQzMiBpdGVtMzI7CisgICAgdHlwZWRlZiBUMzMgaXRlbTMzOworICAgIHR5cGVkZWYgVDM0IGl0ZW0zNDsKKyAgICB0eXBlZGVmIFQzNSBpdGVtMzU7CisgICAgdHlwZWRlZiBUMzYgaXRlbTM2OworICAgIAorCisgICAgdHlwZWRlZiB2b2lkXyBpdGVtMzc7CisgICAgdHlwZWRlZiBUMzYgYmFjazsKKyAgICB0eXBlZGVmIHZfaXRlcjwgdHlwZSwwID4gYmVnaW47CisgICAgdHlwZWRlZiB2X2l0ZXI8IHR5cGUsMzcgPiBlbmQ7Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcHVzaF9mcm9udF9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8MzY+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yLCB0eXBlbmFtZSBUID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjM3PAorICAgICAgICAgICAgICBUCisgICAgICAgICAgICAgICwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW04LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW05CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIxCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI4LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNQorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcG9wX2Zyb250X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwzNz4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yMzY8CisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMywgdHlwZW5hbWUgVmVjdG9yOjppdGVtNAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW02CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTgKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTAKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTEsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEyCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEzLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTYKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTcsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE4CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE5LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjIKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjMsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI0CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI1LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNywgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjgKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjksIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMwCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMxLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMywgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzQKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzUsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM2CisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwdXNoX2JhY2tfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDM2PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciwgdHlwZW5hbWUgVCA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IzNzwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW04LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW05CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIxCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI4LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNQorICAgICAgICAgICAgICAsCisgICAgICAgICAgICAgIFQKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHBvcF9iYWNrX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwzNz4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yMzY8CisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMxCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzUKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFYgPgorc3RydWN0IHZfYXQ8IFYsMzcgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTM3IHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAsIHR5cGVuYW1lIFQyMCwgdHlwZW5hbWUgVDIxLCB0eXBlbmFtZSBUMjIsIHR5cGVuYW1lIFQyMywgdHlwZW5hbWUgVDI0CisgICAgLCB0eXBlbmFtZSBUMjUsIHR5cGVuYW1lIFQyNiwgdHlwZW5hbWUgVDI3LCB0eXBlbmFtZSBUMjgsIHR5cGVuYW1lIFQyOQorICAgICwgdHlwZW5hbWUgVDMwLCB0eXBlbmFtZSBUMzEsIHR5cGVuYW1lIFQzMiwgdHlwZW5hbWUgVDMzLCB0eXBlbmFtZSBUMzQKKyAgICAsIHR5cGVuYW1lIFQzNSwgdHlwZW5hbWUgVDM2LCB0eXBlbmFtZSBUMzcKKyAgICA+CitzdHJ1Y3QgdmVjdG9yMzgKK3sKKyAgICB0eXBlZGVmIGF1eDo6dmVjdG9yX3RhZzwzOD4gdGFnOworICAgIHR5cGVkZWYgdmVjdG9yMzggdHlwZTsKKyAgICB0eXBlZGVmIFQwIGl0ZW0wOworICAgIHR5cGVkZWYgVDEgaXRlbTE7CisgICAgdHlwZWRlZiBUMiBpdGVtMjsKKyAgICB0eXBlZGVmIFQzIGl0ZW0zOworICAgIHR5cGVkZWYgVDQgaXRlbTQ7CisgICAgdHlwZWRlZiBUNSBpdGVtNTsKKyAgICB0eXBlZGVmIFQ2IGl0ZW02OworICAgIHR5cGVkZWYgVDcgaXRlbTc7CisgICAgdHlwZWRlZiBUOCBpdGVtODsKKyAgICB0eXBlZGVmIFQ5IGl0ZW05OworICAgIHR5cGVkZWYgVDEwIGl0ZW0xMDsKKyAgICB0eXBlZGVmIFQxMSBpdGVtMTE7CisgICAgdHlwZWRlZiBUMTIgaXRlbTEyOworICAgIHR5cGVkZWYgVDEzIGl0ZW0xMzsKKyAgICB0eXBlZGVmIFQxNCBpdGVtMTQ7CisgICAgdHlwZWRlZiBUMTUgaXRlbTE1OworICAgIHR5cGVkZWYgVDE2IGl0ZW0xNjsKKyAgICB0eXBlZGVmIFQxNyBpdGVtMTc7CisgICAgdHlwZWRlZiBUMTggaXRlbTE4OworICAgIHR5cGVkZWYgVDE5IGl0ZW0xOTsKKyAgICB0eXBlZGVmIFQyMCBpdGVtMjA7CisgICAgdHlwZWRlZiBUMjEgaXRlbTIxOworICAgIHR5cGVkZWYgVDIyIGl0ZW0yMjsKKyAgICB0eXBlZGVmIFQyMyBpdGVtMjM7CisgICAgdHlwZWRlZiBUMjQgaXRlbTI0OworICAgIHR5cGVkZWYgVDI1IGl0ZW0yNTsKKyAgICB0eXBlZGVmIFQyNiBpdGVtMjY7CisgICAgdHlwZWRlZiBUMjcgaXRlbTI3OworICAgIHR5cGVkZWYgVDI4IGl0ZW0yODsKKyAgICB0eXBlZGVmIFQyOSBpdGVtMjk7CisgICAgdHlwZWRlZiBUMzAgaXRlbTMwOworICAgIHR5cGVkZWYgVDMxIGl0ZW0zMTsKKyAgICB0eXBlZGVmIFQzMiBpdGVtMzI7CisgICAgdHlwZWRlZiBUMzMgaXRlbTMzOworICAgIHR5cGVkZWYgVDM0IGl0ZW0zNDsKKyAgICB0eXBlZGVmIFQzNSBpdGVtMzU7CisgICAgdHlwZWRlZiBUMzYgaXRlbTM2OworICAgIHR5cGVkZWYgVDM3IGl0ZW0zNzsKKyAgICAKKworICAgIHR5cGVkZWYgdm9pZF8gaXRlbTM4OworICAgIHR5cGVkZWYgVDM3IGJhY2s7CisgICAgdHlwZWRlZiB2X2l0ZXI8IHR5cGUsMCA+IGJlZ2luOworICAgIHR5cGVkZWYgdl9pdGVyPCB0eXBlLDM4ID4gZW5kOworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHB1c2hfZnJvbnRfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDM3PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciwgdHlwZW5hbWUgVCA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IzODwKKyAgICAgICAgICAgICAgVAorICAgICAgICAgICAgICAsCisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMxCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzYKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHBvcF9mcm9udF9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8Mzg+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjM3PAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW03LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW04CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTksIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEwCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTExLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMywgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTQKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTUsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE2CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE3LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjAKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjEsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIyCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIzLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjYKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjcsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI4CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI5LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzIKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzMsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM0CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM1LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNworICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcHVzaF9iYWNrX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwzNz4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IsIHR5cGVuYW1lIFQgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yMzg8CisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMxCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzYKKyAgICAgICAgICAgICAgLAorICAgICAgICAgICAgICBUCisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwb3BfYmFja19pbXBsPCBhdXg6OnZlY3Rvcl90YWc8Mzg+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjM3PAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0wLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW02LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW03CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTExCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE4LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM2CisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBWID4KK3N0cnVjdCB2X2F0PCBWLDM4ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW0zOCB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgLCB0eXBlbmFtZSBUMjAsIHR5cGVuYW1lIFQyMSwgdHlwZW5hbWUgVDIyLCB0eXBlbmFtZSBUMjMsIHR5cGVuYW1lIFQyNAorICAgICwgdHlwZW5hbWUgVDI1LCB0eXBlbmFtZSBUMjYsIHR5cGVuYW1lIFQyNywgdHlwZW5hbWUgVDI4LCB0eXBlbmFtZSBUMjkKKyAgICAsIHR5cGVuYW1lIFQzMCwgdHlwZW5hbWUgVDMxLCB0eXBlbmFtZSBUMzIsIHR5cGVuYW1lIFQzMywgdHlwZW5hbWUgVDM0CisgICAgLCB0eXBlbmFtZSBUMzUsIHR5cGVuYW1lIFQzNiwgdHlwZW5hbWUgVDM3LCB0eXBlbmFtZSBUMzgKKyAgICA+CitzdHJ1Y3QgdmVjdG9yMzkKK3sKKyAgICB0eXBlZGVmIGF1eDo6dmVjdG9yX3RhZzwzOT4gdGFnOworICAgIHR5cGVkZWYgdmVjdG9yMzkgdHlwZTsKKyAgICB0eXBlZGVmIFQwIGl0ZW0wOworICAgIHR5cGVkZWYgVDEgaXRlbTE7CisgICAgdHlwZWRlZiBUMiBpdGVtMjsKKyAgICB0eXBlZGVmIFQzIGl0ZW0zOworICAgIHR5cGVkZWYgVDQgaXRlbTQ7CisgICAgdHlwZWRlZiBUNSBpdGVtNTsKKyAgICB0eXBlZGVmIFQ2IGl0ZW02OworICAgIHR5cGVkZWYgVDcgaXRlbTc7CisgICAgdHlwZWRlZiBUOCBpdGVtODsKKyAgICB0eXBlZGVmIFQ5IGl0ZW05OworICAgIHR5cGVkZWYgVDEwIGl0ZW0xMDsKKyAgICB0eXBlZGVmIFQxMSBpdGVtMTE7CisgICAgdHlwZWRlZiBUMTIgaXRlbTEyOworICAgIHR5cGVkZWYgVDEzIGl0ZW0xMzsKKyAgICB0eXBlZGVmIFQxNCBpdGVtMTQ7CisgICAgdHlwZWRlZiBUMTUgaXRlbTE1OworICAgIHR5cGVkZWYgVDE2IGl0ZW0xNjsKKyAgICB0eXBlZGVmIFQxNyBpdGVtMTc7CisgICAgdHlwZWRlZiBUMTggaXRlbTE4OworICAgIHR5cGVkZWYgVDE5IGl0ZW0xOTsKKyAgICB0eXBlZGVmIFQyMCBpdGVtMjA7CisgICAgdHlwZWRlZiBUMjEgaXRlbTIxOworICAgIHR5cGVkZWYgVDIyIGl0ZW0yMjsKKyAgICB0eXBlZGVmIFQyMyBpdGVtMjM7CisgICAgdHlwZWRlZiBUMjQgaXRlbTI0OworICAgIHR5cGVkZWYgVDI1IGl0ZW0yNTsKKyAgICB0eXBlZGVmIFQyNiBpdGVtMjY7CisgICAgdHlwZWRlZiBUMjcgaXRlbTI3OworICAgIHR5cGVkZWYgVDI4IGl0ZW0yODsKKyAgICB0eXBlZGVmIFQyOSBpdGVtMjk7CisgICAgdHlwZWRlZiBUMzAgaXRlbTMwOworICAgIHR5cGVkZWYgVDMxIGl0ZW0zMTsKKyAgICB0eXBlZGVmIFQzMiBpdGVtMzI7CisgICAgdHlwZWRlZiBUMzMgaXRlbTMzOworICAgIHR5cGVkZWYgVDM0IGl0ZW0zNDsKKyAgICB0eXBlZGVmIFQzNSBpdGVtMzU7CisgICAgdHlwZWRlZiBUMzYgaXRlbTM2OworICAgIHR5cGVkZWYgVDM3IGl0ZW0zNzsKKyAgICB0eXBlZGVmIFQzOCBpdGVtMzg7CisgICAgCisKKyAgICB0eXBlZGVmIHZvaWRfIGl0ZW0zOTsKKyAgICB0eXBlZGVmIFQzOCBiYWNrOworICAgIHR5cGVkZWYgdl9pdGVyPCB0eXBlLDAgPiBiZWdpbjsKKyAgICB0eXBlZGVmIHZfaXRlcjwgdHlwZSwzOSA+IGVuZDsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwdXNoX2Zyb250X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwzOD4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IsIHR5cGVuYW1lIFQgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yMzk8CisgICAgICAgICAgICAgIFQKKyAgICAgICAgICAgICAgLAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0wLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW02LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW03CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTExCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE4LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNworICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcG9wX2Zyb250X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwzOT4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yMzg8CisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMywgdHlwZW5hbWUgVmVjdG9yOjppdGVtNAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW02CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTgKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTAKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTEsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEyCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEzLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTYKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTcsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE4CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE5LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjIKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjMsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI0CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI1LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNywgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjgKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjksIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMwCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMxLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMywgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzQKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzUsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM2CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM3LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zOAorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcHVzaF9iYWNrX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzwzOD4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IsIHR5cGVuYW1lIFQgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yMzk8CisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMxCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM3CisgICAgICAgICAgICAgICwKKyAgICAgICAgICAgICAgVAorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcG9wX2JhY2tfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDM5PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IzODwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW04LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW05CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIxCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI4LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzcKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFYgPgorc3RydWN0IHZfYXQ8IFYsMzkgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTM5IHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAsIHR5cGVuYW1lIFQyMCwgdHlwZW5hbWUgVDIxLCB0eXBlbmFtZSBUMjIsIHR5cGVuYW1lIFQyMywgdHlwZW5hbWUgVDI0CisgICAgLCB0eXBlbmFtZSBUMjUsIHR5cGVuYW1lIFQyNiwgdHlwZW5hbWUgVDI3LCB0eXBlbmFtZSBUMjgsIHR5cGVuYW1lIFQyOQorICAgICwgdHlwZW5hbWUgVDMwLCB0eXBlbmFtZSBUMzEsIHR5cGVuYW1lIFQzMiwgdHlwZW5hbWUgVDMzLCB0eXBlbmFtZSBUMzQKKyAgICAsIHR5cGVuYW1lIFQzNSwgdHlwZW5hbWUgVDM2LCB0eXBlbmFtZSBUMzcsIHR5cGVuYW1lIFQzOCwgdHlwZW5hbWUgVDM5CisgICAgPgorc3RydWN0IHZlY3RvcjQwCit7CisgICAgdHlwZWRlZiBhdXg6OnZlY3Rvcl90YWc8NDA+IHRhZzsKKyAgICB0eXBlZGVmIHZlY3RvcjQwIHR5cGU7CisgICAgdHlwZWRlZiBUMCBpdGVtMDsKKyAgICB0eXBlZGVmIFQxIGl0ZW0xOworICAgIHR5cGVkZWYgVDIgaXRlbTI7CisgICAgdHlwZWRlZiBUMyBpdGVtMzsKKyAgICB0eXBlZGVmIFQ0IGl0ZW00OworICAgIHR5cGVkZWYgVDUgaXRlbTU7CisgICAgdHlwZWRlZiBUNiBpdGVtNjsKKyAgICB0eXBlZGVmIFQ3IGl0ZW03OworICAgIHR5cGVkZWYgVDggaXRlbTg7CisgICAgdHlwZWRlZiBUOSBpdGVtOTsKKyAgICB0eXBlZGVmIFQxMCBpdGVtMTA7CisgICAgdHlwZWRlZiBUMTEgaXRlbTExOworICAgIHR5cGVkZWYgVDEyIGl0ZW0xMjsKKyAgICB0eXBlZGVmIFQxMyBpdGVtMTM7CisgICAgdHlwZWRlZiBUMTQgaXRlbTE0OworICAgIHR5cGVkZWYgVDE1IGl0ZW0xNTsKKyAgICB0eXBlZGVmIFQxNiBpdGVtMTY7CisgICAgdHlwZWRlZiBUMTcgaXRlbTE3OworICAgIHR5cGVkZWYgVDE4IGl0ZW0xODsKKyAgICB0eXBlZGVmIFQxOSBpdGVtMTk7CisgICAgdHlwZWRlZiBUMjAgaXRlbTIwOworICAgIHR5cGVkZWYgVDIxIGl0ZW0yMTsKKyAgICB0eXBlZGVmIFQyMiBpdGVtMjI7CisgICAgdHlwZWRlZiBUMjMgaXRlbTIzOworICAgIHR5cGVkZWYgVDI0IGl0ZW0yNDsKKyAgICB0eXBlZGVmIFQyNSBpdGVtMjU7CisgICAgdHlwZWRlZiBUMjYgaXRlbTI2OworICAgIHR5cGVkZWYgVDI3IGl0ZW0yNzsKKyAgICB0eXBlZGVmIFQyOCBpdGVtMjg7CisgICAgdHlwZWRlZiBUMjkgaXRlbTI5OworICAgIHR5cGVkZWYgVDMwIGl0ZW0zMDsKKyAgICB0eXBlZGVmIFQzMSBpdGVtMzE7CisgICAgdHlwZWRlZiBUMzIgaXRlbTMyOworICAgIHR5cGVkZWYgVDMzIGl0ZW0zMzsKKyAgICB0eXBlZGVmIFQzNCBpdGVtMzQ7CisgICAgdHlwZWRlZiBUMzUgaXRlbTM1OworICAgIHR5cGVkZWYgVDM2IGl0ZW0zNjsKKyAgICB0eXBlZGVmIFQzNyBpdGVtMzc7CisgICAgdHlwZWRlZiBUMzggaXRlbTM4OworICAgIHR5cGVkZWYgVDM5IGl0ZW0zOTsKKyAgICAKKworICAgIHR5cGVkZWYgdm9pZF8gaXRlbTQwOworICAgIHR5cGVkZWYgVDM5IGJhY2s7CisgICAgdHlwZWRlZiB2X2l0ZXI8IHR5cGUsMCA+IGJlZ2luOworICAgIHR5cGVkZWYgdl9pdGVyPCB0eXBlLDQwID4gZW5kOworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHB1c2hfZnJvbnRfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDM5PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciwgdHlwZW5hbWUgVCA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3I0MDwKKyAgICAgICAgICAgICAgVAorICAgICAgICAgICAgICAsCisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMxCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM4CisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwb3BfZnJvbnRfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDQwPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3IzOTwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNywgdHlwZW5hbWUgVmVjdG9yOjppdGVtOAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW05LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTIKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTMsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE0CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE1LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNywgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTgKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTksIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIwCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIxLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMywgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjQKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjUsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI2CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI3LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yOAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yOSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzAKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzEsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMyCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMzLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzYKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzcsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM4CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM5CisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwdXNoX2JhY2tfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDM5PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciwgdHlwZW5hbWUgVCA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3I0MDwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW04LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW05CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIxCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI4LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzgKKyAgICAgICAgICAgICAgLAorICAgICAgICAgICAgICBUCisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwb3BfYmFja19pbXBsPCBhdXg6OnZlY3Rvcl90YWc8NDA+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjM5PAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0wLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW02LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW03CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTExCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE4LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zOAorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgViA+CitzdHJ1Y3Qgdl9hdDwgViw0MCA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtNDAgdHlwZTsKK307CisKK319CmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvdmVjdG9yL2F1eF8vcHJlcHJvY2Vzc2VkL3BsYWluL3ZlY3RvcjQwX2MuaHBwIGIvbmRuYm9vc3QvbXBsL3ZlY3Rvci9hdXhfL3ByZXByb2Nlc3NlZC9wbGFpbi92ZWN0b3I0MF9jLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NWQ2MmQzCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL3ZlY3Rvci9hdXhfL3ByZXByb2Nlc3NlZC9wbGFpbi92ZWN0b3I0MF9jLmhwcApAQCAtMCwwICsxLDI4MSBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvdmVjdG9yL3ZlY3RvcjQwX2MuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVAorICAgICwgVCBDMCwgVCBDMSwgVCBDMiwgVCBDMywgVCBDNCwgVCBDNSwgVCBDNiwgVCBDNywgVCBDOCwgVCBDOSwgVCBDMTAKKyAgICAsIFQgQzExLCBUIEMxMiwgVCBDMTMsIFQgQzE0LCBUIEMxNSwgVCBDMTYsIFQgQzE3LCBUIEMxOCwgVCBDMTksIFQgQzIwCisgICAgLCBUIEMyMSwgVCBDMjIsIFQgQzIzLCBUIEMyNCwgVCBDMjUsIFQgQzI2LCBUIEMyNywgVCBDMjgsIFQgQzI5LCBUIEMzMAorICAgID4KK3N0cnVjdCB2ZWN0b3IzMV9jCisgICAgOiB2ZWN0b3IzMTwKKyAgICAgICAgICBpbnRlZ3JhbF9jPCBULEMwID4sIGludGVncmFsX2M8IFQsQzEgPiwgaW50ZWdyYWxfYzwgVCxDMiA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMyA+LCBpbnRlZ3JhbF9jPCBULEM0ID4sIGludGVncmFsX2M8IFQsQzUgPiwgaW50ZWdyYWxfYzwgVCxDNiA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDNyA+LCBpbnRlZ3JhbF9jPCBULEM4ID4sIGludGVncmFsX2M8IFQsQzkgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzEwID4sIGludGVncmFsX2M8IFQsQzExID4sIGludGVncmFsX2M8IFQsQzEyID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMxMyA+LCBpbnRlZ3JhbF9jPCBULEMxNCA+LCBpbnRlZ3JhbF9jPCBULEMxNSA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMTYgPiwgaW50ZWdyYWxfYzwgVCxDMTcgPiwgaW50ZWdyYWxfYzwgVCxDMTggPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzE5ID4sIGludGVncmFsX2M8IFQsQzIwID4sIGludGVncmFsX2M8IFQsQzIxID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMyMiA+LCBpbnRlZ3JhbF9jPCBULEMyMyA+LCBpbnRlZ3JhbF9jPCBULEMyNCA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMjUgPiwgaW50ZWdyYWxfYzwgVCxDMjYgPiwgaW50ZWdyYWxfYzwgVCxDMjcgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzI4ID4sIGludGVncmFsX2M8IFQsQzI5ID4sIGludGVncmFsX2M8IFQsQzMwID4gCisgPgoreworICAgIHR5cGVkZWYgdmVjdG9yMzFfYyB0eXBlOworICAgIHR5cGVkZWYgVCB2YWx1ZV90eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUCisgICAgLCBUIEMwLCBUIEMxLCBUIEMyLCBUIEMzLCBUIEM0LCBUIEM1LCBUIEM2LCBUIEM3LCBUIEM4LCBUIEM5LCBUIEMxMAorICAgICwgVCBDMTEsIFQgQzEyLCBUIEMxMywgVCBDMTQsIFQgQzE1LCBUIEMxNiwgVCBDMTcsIFQgQzE4LCBUIEMxOSwgVCBDMjAKKyAgICAsIFQgQzIxLCBUIEMyMiwgVCBDMjMsIFQgQzI0LCBUIEMyNSwgVCBDMjYsIFQgQzI3LCBUIEMyOCwgVCBDMjksIFQgQzMwCisgICAgLCBUIEMzMQorICAgID4KK3N0cnVjdCB2ZWN0b3IzMl9jCisgICAgOiB2ZWN0b3IzMjwKKyAgICAgICAgICBpbnRlZ3JhbF9jPCBULEMwID4sIGludGVncmFsX2M8IFQsQzEgPiwgaW50ZWdyYWxfYzwgVCxDMiA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMyA+LCBpbnRlZ3JhbF9jPCBULEM0ID4sIGludGVncmFsX2M8IFQsQzUgPiwgaW50ZWdyYWxfYzwgVCxDNiA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDNyA+LCBpbnRlZ3JhbF9jPCBULEM4ID4sIGludGVncmFsX2M8IFQsQzkgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzEwID4sIGludGVncmFsX2M8IFQsQzExID4sIGludGVncmFsX2M8IFQsQzEyID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMxMyA+LCBpbnRlZ3JhbF9jPCBULEMxNCA+LCBpbnRlZ3JhbF9jPCBULEMxNSA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMTYgPiwgaW50ZWdyYWxfYzwgVCxDMTcgPiwgaW50ZWdyYWxfYzwgVCxDMTggPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzE5ID4sIGludGVncmFsX2M8IFQsQzIwID4sIGludGVncmFsX2M8IFQsQzIxID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMyMiA+LCBpbnRlZ3JhbF9jPCBULEMyMyA+LCBpbnRlZ3JhbF9jPCBULEMyNCA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMjUgPiwgaW50ZWdyYWxfYzwgVCxDMjYgPiwgaW50ZWdyYWxfYzwgVCxDMjcgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzI4ID4sIGludGVncmFsX2M8IFQsQzI5ID4sIGludGVncmFsX2M8IFQsQzMwID4sIGludGVncmFsX2M8VAorICAgICAgICAsIEMzMT4gCisgPgoreworICAgIHR5cGVkZWYgdmVjdG9yMzJfYyB0eXBlOworICAgIHR5cGVkZWYgVCB2YWx1ZV90eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUCisgICAgLCBUIEMwLCBUIEMxLCBUIEMyLCBUIEMzLCBUIEM0LCBUIEM1LCBUIEM2LCBUIEM3LCBUIEM4LCBUIEM5LCBUIEMxMAorICAgICwgVCBDMTEsIFQgQzEyLCBUIEMxMywgVCBDMTQsIFQgQzE1LCBUIEMxNiwgVCBDMTcsIFQgQzE4LCBUIEMxOSwgVCBDMjAKKyAgICAsIFQgQzIxLCBUIEMyMiwgVCBDMjMsIFQgQzI0LCBUIEMyNSwgVCBDMjYsIFQgQzI3LCBUIEMyOCwgVCBDMjksIFQgQzMwCisgICAgLCBUIEMzMSwgVCBDMzIKKyAgICA+CitzdHJ1Y3QgdmVjdG9yMzNfYworICAgIDogdmVjdG9yMzM8CisgICAgICAgICAgaW50ZWdyYWxfYzwgVCxDMCA+LCBpbnRlZ3JhbF9jPCBULEMxID4sIGludGVncmFsX2M8IFQsQzIgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzMgPiwgaW50ZWdyYWxfYzwgVCxDNCA+LCBpbnRlZ3JhbF9jPCBULEM1ID4sIGludGVncmFsX2M8IFQsQzYgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzcgPiwgaW50ZWdyYWxfYzwgVCxDOCA+LCBpbnRlZ3JhbF9jPCBULEM5ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMxMCA+LCBpbnRlZ3JhbF9jPCBULEMxMSA+LCBpbnRlZ3JhbF9jPCBULEMxMiA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMTMgPiwgaW50ZWdyYWxfYzwgVCxDMTQgPiwgaW50ZWdyYWxfYzwgVCxDMTUgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzE2ID4sIGludGVncmFsX2M8IFQsQzE3ID4sIGludGVncmFsX2M8IFQsQzE4ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMxOSA+LCBpbnRlZ3JhbF9jPCBULEMyMCA+LCBpbnRlZ3JhbF9jPCBULEMyMSA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMjIgPiwgaW50ZWdyYWxfYzwgVCxDMjMgPiwgaW50ZWdyYWxfYzwgVCxDMjQgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzI1ID4sIGludGVncmFsX2M8IFQsQzI2ID4sIGludGVncmFsX2M8IFQsQzI3ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMyOCA+LCBpbnRlZ3JhbF9jPCBULEMyOSA+LCBpbnRlZ3JhbF9jPCBULEMzMCA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMzEgPiwgaW50ZWdyYWxfYzwgVCxDMzIgPiAKKyA+Cit7CisgICAgdHlwZWRlZiB2ZWN0b3IzM19jIHR5cGU7CisgICAgdHlwZWRlZiBUIHZhbHVlX3R5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQKKyAgICAsIFQgQzAsIFQgQzEsIFQgQzIsIFQgQzMsIFQgQzQsIFQgQzUsIFQgQzYsIFQgQzcsIFQgQzgsIFQgQzksIFQgQzEwCisgICAgLCBUIEMxMSwgVCBDMTIsIFQgQzEzLCBUIEMxNCwgVCBDMTUsIFQgQzE2LCBUIEMxNywgVCBDMTgsIFQgQzE5LCBUIEMyMAorICAgICwgVCBDMjEsIFQgQzIyLCBUIEMyMywgVCBDMjQsIFQgQzI1LCBUIEMyNiwgVCBDMjcsIFQgQzI4LCBUIEMyOSwgVCBDMzAKKyAgICAsIFQgQzMxLCBUIEMzMiwgVCBDMzMKKyAgICA+CitzdHJ1Y3QgdmVjdG9yMzRfYworICAgIDogdmVjdG9yMzQ8CisgICAgICAgICAgaW50ZWdyYWxfYzwgVCxDMCA+LCBpbnRlZ3JhbF9jPCBULEMxID4sIGludGVncmFsX2M8IFQsQzIgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzMgPiwgaW50ZWdyYWxfYzwgVCxDNCA+LCBpbnRlZ3JhbF9jPCBULEM1ID4sIGludGVncmFsX2M8IFQsQzYgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzcgPiwgaW50ZWdyYWxfYzwgVCxDOCA+LCBpbnRlZ3JhbF9jPCBULEM5ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMxMCA+LCBpbnRlZ3JhbF9jPCBULEMxMSA+LCBpbnRlZ3JhbF9jPCBULEMxMiA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMTMgPiwgaW50ZWdyYWxfYzwgVCxDMTQgPiwgaW50ZWdyYWxfYzwgVCxDMTUgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzE2ID4sIGludGVncmFsX2M8IFQsQzE3ID4sIGludGVncmFsX2M8IFQsQzE4ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMxOSA+LCBpbnRlZ3JhbF9jPCBULEMyMCA+LCBpbnRlZ3JhbF9jPCBULEMyMSA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMjIgPiwgaW50ZWdyYWxfYzwgVCxDMjMgPiwgaW50ZWdyYWxfYzwgVCxDMjQgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzI1ID4sIGludGVncmFsX2M8IFQsQzI2ID4sIGludGVncmFsX2M8IFQsQzI3ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMyOCA+LCBpbnRlZ3JhbF9jPCBULEMyOSA+LCBpbnRlZ3JhbF9jPCBULEMzMCA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMzEgPiwgaW50ZWdyYWxfYzwgVCxDMzIgPiwgaW50ZWdyYWxfYzwgVCxDMzMgPiAKKyA+Cit7CisgICAgdHlwZWRlZiB2ZWN0b3IzNF9jIHR5cGU7CisgICAgdHlwZWRlZiBUIHZhbHVlX3R5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQKKyAgICAsIFQgQzAsIFQgQzEsIFQgQzIsIFQgQzMsIFQgQzQsIFQgQzUsIFQgQzYsIFQgQzcsIFQgQzgsIFQgQzksIFQgQzEwCisgICAgLCBUIEMxMSwgVCBDMTIsIFQgQzEzLCBUIEMxNCwgVCBDMTUsIFQgQzE2LCBUIEMxNywgVCBDMTgsIFQgQzE5LCBUIEMyMAorICAgICwgVCBDMjEsIFQgQzIyLCBUIEMyMywgVCBDMjQsIFQgQzI1LCBUIEMyNiwgVCBDMjcsIFQgQzI4LCBUIEMyOSwgVCBDMzAKKyAgICAsIFQgQzMxLCBUIEMzMiwgVCBDMzMsIFQgQzM0CisgICAgPgorc3RydWN0IHZlY3RvcjM1X2MKKyAgICA6IHZlY3RvcjM1PAorICAgICAgICAgIGludGVncmFsX2M8IFQsQzAgPiwgaW50ZWdyYWxfYzwgVCxDMSA+LCBpbnRlZ3JhbF9jPCBULEMyID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMzID4sIGludGVncmFsX2M8IFQsQzQgPiwgaW50ZWdyYWxfYzwgVCxDNSA+LCBpbnRlZ3JhbF9jPCBULEM2ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEM3ID4sIGludGVncmFsX2M8IFQsQzggPiwgaW50ZWdyYWxfYzwgVCxDOSA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMTAgPiwgaW50ZWdyYWxfYzwgVCxDMTEgPiwgaW50ZWdyYWxfYzwgVCxDMTIgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzEzID4sIGludGVncmFsX2M8IFQsQzE0ID4sIGludGVncmFsX2M8IFQsQzE1ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMxNiA+LCBpbnRlZ3JhbF9jPCBULEMxNyA+LCBpbnRlZ3JhbF9jPCBULEMxOCA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMTkgPiwgaW50ZWdyYWxfYzwgVCxDMjAgPiwgaW50ZWdyYWxfYzwgVCxDMjEgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzIyID4sIGludGVncmFsX2M8IFQsQzIzID4sIGludGVncmFsX2M8IFQsQzI0ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMyNSA+LCBpbnRlZ3JhbF9jPCBULEMyNiA+LCBpbnRlZ3JhbF9jPCBULEMyNyA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMjggPiwgaW50ZWdyYWxfYzwgVCxDMjkgPiwgaW50ZWdyYWxfYzwgVCxDMzAgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzMxID4sIGludGVncmFsX2M8IFQsQzMyID4sIGludGVncmFsX2M8IFQsQzMzID4sIGludGVncmFsX2M8VAorICAgICAgICAsIEMzND4gCisgPgoreworICAgIHR5cGVkZWYgdmVjdG9yMzVfYyB0eXBlOworICAgIHR5cGVkZWYgVCB2YWx1ZV90eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUCisgICAgLCBUIEMwLCBUIEMxLCBUIEMyLCBUIEMzLCBUIEM0LCBUIEM1LCBUIEM2LCBUIEM3LCBUIEM4LCBUIEM5LCBUIEMxMAorICAgICwgVCBDMTEsIFQgQzEyLCBUIEMxMywgVCBDMTQsIFQgQzE1LCBUIEMxNiwgVCBDMTcsIFQgQzE4LCBUIEMxOSwgVCBDMjAKKyAgICAsIFQgQzIxLCBUIEMyMiwgVCBDMjMsIFQgQzI0LCBUIEMyNSwgVCBDMjYsIFQgQzI3LCBUIEMyOCwgVCBDMjksIFQgQzMwCisgICAgLCBUIEMzMSwgVCBDMzIsIFQgQzMzLCBUIEMzNCwgVCBDMzUKKyAgICA+CitzdHJ1Y3QgdmVjdG9yMzZfYworICAgIDogdmVjdG9yMzY8CisgICAgICAgICAgaW50ZWdyYWxfYzwgVCxDMCA+LCBpbnRlZ3JhbF9jPCBULEMxID4sIGludGVncmFsX2M8IFQsQzIgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzMgPiwgaW50ZWdyYWxfYzwgVCxDNCA+LCBpbnRlZ3JhbF9jPCBULEM1ID4sIGludGVncmFsX2M8IFQsQzYgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzcgPiwgaW50ZWdyYWxfYzwgVCxDOCA+LCBpbnRlZ3JhbF9jPCBULEM5ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMxMCA+LCBpbnRlZ3JhbF9jPCBULEMxMSA+LCBpbnRlZ3JhbF9jPCBULEMxMiA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMTMgPiwgaW50ZWdyYWxfYzwgVCxDMTQgPiwgaW50ZWdyYWxfYzwgVCxDMTUgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzE2ID4sIGludGVncmFsX2M8IFQsQzE3ID4sIGludGVncmFsX2M8IFQsQzE4ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMxOSA+LCBpbnRlZ3JhbF9jPCBULEMyMCA+LCBpbnRlZ3JhbF9jPCBULEMyMSA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMjIgPiwgaW50ZWdyYWxfYzwgVCxDMjMgPiwgaW50ZWdyYWxfYzwgVCxDMjQgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzI1ID4sIGludGVncmFsX2M8IFQsQzI2ID4sIGludGVncmFsX2M8IFQsQzI3ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMyOCA+LCBpbnRlZ3JhbF9jPCBULEMyOSA+LCBpbnRlZ3JhbF9jPCBULEMzMCA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMzEgPiwgaW50ZWdyYWxfYzwgVCxDMzIgPiwgaW50ZWdyYWxfYzwgVCxDMzMgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzM0ID4sIGludGVncmFsX2M8IFQsQzM1ID4gCisgPgoreworICAgIHR5cGVkZWYgdmVjdG9yMzZfYyB0eXBlOworICAgIHR5cGVkZWYgVCB2YWx1ZV90eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUCisgICAgLCBUIEMwLCBUIEMxLCBUIEMyLCBUIEMzLCBUIEM0LCBUIEM1LCBUIEM2LCBUIEM3LCBUIEM4LCBUIEM5LCBUIEMxMAorICAgICwgVCBDMTEsIFQgQzEyLCBUIEMxMywgVCBDMTQsIFQgQzE1LCBUIEMxNiwgVCBDMTcsIFQgQzE4LCBUIEMxOSwgVCBDMjAKKyAgICAsIFQgQzIxLCBUIEMyMiwgVCBDMjMsIFQgQzI0LCBUIEMyNSwgVCBDMjYsIFQgQzI3LCBUIEMyOCwgVCBDMjksIFQgQzMwCisgICAgLCBUIEMzMSwgVCBDMzIsIFQgQzMzLCBUIEMzNCwgVCBDMzUsIFQgQzM2CisgICAgPgorc3RydWN0IHZlY3RvcjM3X2MKKyAgICA6IHZlY3RvcjM3PAorICAgICAgICAgIGludGVncmFsX2M8IFQsQzAgPiwgaW50ZWdyYWxfYzwgVCxDMSA+LCBpbnRlZ3JhbF9jPCBULEMyID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMzID4sIGludGVncmFsX2M8IFQsQzQgPiwgaW50ZWdyYWxfYzwgVCxDNSA+LCBpbnRlZ3JhbF9jPCBULEM2ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEM3ID4sIGludGVncmFsX2M8IFQsQzggPiwgaW50ZWdyYWxfYzwgVCxDOSA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMTAgPiwgaW50ZWdyYWxfYzwgVCxDMTEgPiwgaW50ZWdyYWxfYzwgVCxDMTIgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzEzID4sIGludGVncmFsX2M8IFQsQzE0ID4sIGludGVncmFsX2M8IFQsQzE1ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMxNiA+LCBpbnRlZ3JhbF9jPCBULEMxNyA+LCBpbnRlZ3JhbF9jPCBULEMxOCA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMTkgPiwgaW50ZWdyYWxfYzwgVCxDMjAgPiwgaW50ZWdyYWxfYzwgVCxDMjEgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzIyID4sIGludGVncmFsX2M8IFQsQzIzID4sIGludGVncmFsX2M8IFQsQzI0ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMyNSA+LCBpbnRlZ3JhbF9jPCBULEMyNiA+LCBpbnRlZ3JhbF9jPCBULEMyNyA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMjggPiwgaW50ZWdyYWxfYzwgVCxDMjkgPiwgaW50ZWdyYWxfYzwgVCxDMzAgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzMxID4sIGludGVncmFsX2M8IFQsQzMyID4sIGludGVncmFsX2M8IFQsQzMzID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMzNCA+LCBpbnRlZ3JhbF9jPCBULEMzNSA+LCBpbnRlZ3JhbF9jPCBULEMzNiA+IAorID4KK3sKKyAgICB0eXBlZGVmIHZlY3RvcjM3X2MgdHlwZTsKKyAgICB0eXBlZGVmIFQgdmFsdWVfdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVAorICAgICwgVCBDMCwgVCBDMSwgVCBDMiwgVCBDMywgVCBDNCwgVCBDNSwgVCBDNiwgVCBDNywgVCBDOCwgVCBDOSwgVCBDMTAKKyAgICAsIFQgQzExLCBUIEMxMiwgVCBDMTMsIFQgQzE0LCBUIEMxNSwgVCBDMTYsIFQgQzE3LCBUIEMxOCwgVCBDMTksIFQgQzIwCisgICAgLCBUIEMyMSwgVCBDMjIsIFQgQzIzLCBUIEMyNCwgVCBDMjUsIFQgQzI2LCBUIEMyNywgVCBDMjgsIFQgQzI5LCBUIEMzMAorICAgICwgVCBDMzEsIFQgQzMyLCBUIEMzMywgVCBDMzQsIFQgQzM1LCBUIEMzNiwgVCBDMzcKKyAgICA+CitzdHJ1Y3QgdmVjdG9yMzhfYworICAgIDogdmVjdG9yMzg8CisgICAgICAgICAgaW50ZWdyYWxfYzwgVCxDMCA+LCBpbnRlZ3JhbF9jPCBULEMxID4sIGludGVncmFsX2M8IFQsQzIgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzMgPiwgaW50ZWdyYWxfYzwgVCxDNCA+LCBpbnRlZ3JhbF9jPCBULEM1ID4sIGludGVncmFsX2M8IFQsQzYgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzcgPiwgaW50ZWdyYWxfYzwgVCxDOCA+LCBpbnRlZ3JhbF9jPCBULEM5ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMxMCA+LCBpbnRlZ3JhbF9jPCBULEMxMSA+LCBpbnRlZ3JhbF9jPCBULEMxMiA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMTMgPiwgaW50ZWdyYWxfYzwgVCxDMTQgPiwgaW50ZWdyYWxfYzwgVCxDMTUgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzE2ID4sIGludGVncmFsX2M8IFQsQzE3ID4sIGludGVncmFsX2M8IFQsQzE4ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMxOSA+LCBpbnRlZ3JhbF9jPCBULEMyMCA+LCBpbnRlZ3JhbF9jPCBULEMyMSA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMjIgPiwgaW50ZWdyYWxfYzwgVCxDMjMgPiwgaW50ZWdyYWxfYzwgVCxDMjQgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzI1ID4sIGludGVncmFsX2M8IFQsQzI2ID4sIGludGVncmFsX2M8IFQsQzI3ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMyOCA+LCBpbnRlZ3JhbF9jPCBULEMyOSA+LCBpbnRlZ3JhbF9jPCBULEMzMCA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMzEgPiwgaW50ZWdyYWxfYzwgVCxDMzIgPiwgaW50ZWdyYWxfYzwgVCxDMzMgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzM0ID4sIGludGVncmFsX2M8IFQsQzM1ID4sIGludGVncmFsX2M8IFQsQzM2ID4sIGludGVncmFsX2M8VAorICAgICAgICAsIEMzNz4gCisgPgoreworICAgIHR5cGVkZWYgdmVjdG9yMzhfYyB0eXBlOworICAgIHR5cGVkZWYgVCB2YWx1ZV90eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUCisgICAgLCBUIEMwLCBUIEMxLCBUIEMyLCBUIEMzLCBUIEM0LCBUIEM1LCBUIEM2LCBUIEM3LCBUIEM4LCBUIEM5LCBUIEMxMAorICAgICwgVCBDMTEsIFQgQzEyLCBUIEMxMywgVCBDMTQsIFQgQzE1LCBUIEMxNiwgVCBDMTcsIFQgQzE4LCBUIEMxOSwgVCBDMjAKKyAgICAsIFQgQzIxLCBUIEMyMiwgVCBDMjMsIFQgQzI0LCBUIEMyNSwgVCBDMjYsIFQgQzI3LCBUIEMyOCwgVCBDMjksIFQgQzMwCisgICAgLCBUIEMzMSwgVCBDMzIsIFQgQzMzLCBUIEMzNCwgVCBDMzUsIFQgQzM2LCBUIEMzNywgVCBDMzgKKyAgICA+CitzdHJ1Y3QgdmVjdG9yMzlfYworICAgIDogdmVjdG9yMzk8CisgICAgICAgICAgaW50ZWdyYWxfYzwgVCxDMCA+LCBpbnRlZ3JhbF9jPCBULEMxID4sIGludGVncmFsX2M8IFQsQzIgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzMgPiwgaW50ZWdyYWxfYzwgVCxDNCA+LCBpbnRlZ3JhbF9jPCBULEM1ID4sIGludGVncmFsX2M8IFQsQzYgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzcgPiwgaW50ZWdyYWxfYzwgVCxDOCA+LCBpbnRlZ3JhbF9jPCBULEM5ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMxMCA+LCBpbnRlZ3JhbF9jPCBULEMxMSA+LCBpbnRlZ3JhbF9jPCBULEMxMiA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMTMgPiwgaW50ZWdyYWxfYzwgVCxDMTQgPiwgaW50ZWdyYWxfYzwgVCxDMTUgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzE2ID4sIGludGVncmFsX2M8IFQsQzE3ID4sIGludGVncmFsX2M8IFQsQzE4ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMxOSA+LCBpbnRlZ3JhbF9jPCBULEMyMCA+LCBpbnRlZ3JhbF9jPCBULEMyMSA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMjIgPiwgaW50ZWdyYWxfYzwgVCxDMjMgPiwgaW50ZWdyYWxfYzwgVCxDMjQgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzI1ID4sIGludGVncmFsX2M8IFQsQzI2ID4sIGludGVncmFsX2M8IFQsQzI3ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMyOCA+LCBpbnRlZ3JhbF9jPCBULEMyOSA+LCBpbnRlZ3JhbF9jPCBULEMzMCA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMzEgPiwgaW50ZWdyYWxfYzwgVCxDMzIgPiwgaW50ZWdyYWxfYzwgVCxDMzMgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzM0ID4sIGludGVncmFsX2M8IFQsQzM1ID4sIGludGVncmFsX2M8IFQsQzM2ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMzNyA+LCBpbnRlZ3JhbF9jPCBULEMzOCA+IAorID4KK3sKKyAgICB0eXBlZGVmIHZlY3RvcjM5X2MgdHlwZTsKKyAgICB0eXBlZGVmIFQgdmFsdWVfdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVAorICAgICwgVCBDMCwgVCBDMSwgVCBDMiwgVCBDMywgVCBDNCwgVCBDNSwgVCBDNiwgVCBDNywgVCBDOCwgVCBDOSwgVCBDMTAKKyAgICAsIFQgQzExLCBUIEMxMiwgVCBDMTMsIFQgQzE0LCBUIEMxNSwgVCBDMTYsIFQgQzE3LCBUIEMxOCwgVCBDMTksIFQgQzIwCisgICAgLCBUIEMyMSwgVCBDMjIsIFQgQzIzLCBUIEMyNCwgVCBDMjUsIFQgQzI2LCBUIEMyNywgVCBDMjgsIFQgQzI5LCBUIEMzMAorICAgICwgVCBDMzEsIFQgQzMyLCBUIEMzMywgVCBDMzQsIFQgQzM1LCBUIEMzNiwgVCBDMzcsIFQgQzM4LCBUIEMzOQorICAgID4KK3N0cnVjdCB2ZWN0b3I0MF9jCisgICAgOiB2ZWN0b3I0MDwKKyAgICAgICAgICBpbnRlZ3JhbF9jPCBULEMwID4sIGludGVncmFsX2M8IFQsQzEgPiwgaW50ZWdyYWxfYzwgVCxDMiA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMyA+LCBpbnRlZ3JhbF9jPCBULEM0ID4sIGludGVncmFsX2M8IFQsQzUgPiwgaW50ZWdyYWxfYzwgVCxDNiA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDNyA+LCBpbnRlZ3JhbF9jPCBULEM4ID4sIGludGVncmFsX2M8IFQsQzkgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzEwID4sIGludGVncmFsX2M8IFQsQzExID4sIGludGVncmFsX2M8IFQsQzEyID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMxMyA+LCBpbnRlZ3JhbF9jPCBULEMxNCA+LCBpbnRlZ3JhbF9jPCBULEMxNSA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMTYgPiwgaW50ZWdyYWxfYzwgVCxDMTcgPiwgaW50ZWdyYWxfYzwgVCxDMTggPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzE5ID4sIGludGVncmFsX2M8IFQsQzIwID4sIGludGVncmFsX2M8IFQsQzIxID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMyMiA+LCBpbnRlZ3JhbF9jPCBULEMyMyA+LCBpbnRlZ3JhbF9jPCBULEMyNCA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMjUgPiwgaW50ZWdyYWxfYzwgVCxDMjYgPiwgaW50ZWdyYWxfYzwgVCxDMjcgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzI4ID4sIGludGVncmFsX2M8IFQsQzI5ID4sIGludGVncmFsX2M8IFQsQzMwID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMzMSA+LCBpbnRlZ3JhbF9jPCBULEMzMiA+LCBpbnRlZ3JhbF9jPCBULEMzMyA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMzQgPiwgaW50ZWdyYWxfYzwgVCxDMzUgPiwgaW50ZWdyYWxfYzwgVCxDMzYgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzM3ID4sIGludGVncmFsX2M8IFQsQzM4ID4sIGludGVncmFsX2M8IFQsQzM5ID4gCisgPgoreworICAgIHR5cGVkZWYgdmVjdG9yNDBfYyB0eXBlOworICAgIHR5cGVkZWYgVCB2YWx1ZV90eXBlOworfTsKKworfX0KZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC92ZWN0b3IvYXV4Xy9wcmVwcm9jZXNzZWQvcGxhaW4vdmVjdG9yNTAuaHBwIGIvbmRuYm9vc3QvbXBsL3ZlY3Rvci9hdXhfL3ByZXByb2Nlc3NlZC9wbGFpbi92ZWN0b3I1MC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGZkMmMzYQotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC92ZWN0b3IvYXV4Xy9wcmVwcm9jZXNzZWQvcGxhaW4vdmVjdG9yNTAuaHBwCkBAIC0wLDAgKzEsMjEwNCBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvdmVjdG9yL3ZlY3RvcjUwLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAsIHR5cGVuYW1lIFQyMCwgdHlwZW5hbWUgVDIxLCB0eXBlbmFtZSBUMjIsIHR5cGVuYW1lIFQyMywgdHlwZW5hbWUgVDI0CisgICAgLCB0eXBlbmFtZSBUMjUsIHR5cGVuYW1lIFQyNiwgdHlwZW5hbWUgVDI3LCB0eXBlbmFtZSBUMjgsIHR5cGVuYW1lIFQyOQorICAgICwgdHlwZW5hbWUgVDMwLCB0eXBlbmFtZSBUMzEsIHR5cGVuYW1lIFQzMiwgdHlwZW5hbWUgVDMzLCB0eXBlbmFtZSBUMzQKKyAgICAsIHR5cGVuYW1lIFQzNSwgdHlwZW5hbWUgVDM2LCB0eXBlbmFtZSBUMzcsIHR5cGVuYW1lIFQzOCwgdHlwZW5hbWUgVDM5CisgICAgLCB0eXBlbmFtZSBUNDAKKyAgICA+CitzdHJ1Y3QgdmVjdG9yNDEKK3sKKyAgICB0eXBlZGVmIGF1eDo6dmVjdG9yX3RhZzw0MT4gdGFnOworICAgIHR5cGVkZWYgdmVjdG9yNDEgdHlwZTsKKyAgICB0eXBlZGVmIFQwIGl0ZW0wOworICAgIHR5cGVkZWYgVDEgaXRlbTE7CisgICAgdHlwZWRlZiBUMiBpdGVtMjsKKyAgICB0eXBlZGVmIFQzIGl0ZW0zOworICAgIHR5cGVkZWYgVDQgaXRlbTQ7CisgICAgdHlwZWRlZiBUNSBpdGVtNTsKKyAgICB0eXBlZGVmIFQ2IGl0ZW02OworICAgIHR5cGVkZWYgVDcgaXRlbTc7CisgICAgdHlwZWRlZiBUOCBpdGVtODsKKyAgICB0eXBlZGVmIFQ5IGl0ZW05OworICAgIHR5cGVkZWYgVDEwIGl0ZW0xMDsKKyAgICB0eXBlZGVmIFQxMSBpdGVtMTE7CisgICAgdHlwZWRlZiBUMTIgaXRlbTEyOworICAgIHR5cGVkZWYgVDEzIGl0ZW0xMzsKKyAgICB0eXBlZGVmIFQxNCBpdGVtMTQ7CisgICAgdHlwZWRlZiBUMTUgaXRlbTE1OworICAgIHR5cGVkZWYgVDE2IGl0ZW0xNjsKKyAgICB0eXBlZGVmIFQxNyBpdGVtMTc7CisgICAgdHlwZWRlZiBUMTggaXRlbTE4OworICAgIHR5cGVkZWYgVDE5IGl0ZW0xOTsKKyAgICB0eXBlZGVmIFQyMCBpdGVtMjA7CisgICAgdHlwZWRlZiBUMjEgaXRlbTIxOworICAgIHR5cGVkZWYgVDIyIGl0ZW0yMjsKKyAgICB0eXBlZGVmIFQyMyBpdGVtMjM7CisgICAgdHlwZWRlZiBUMjQgaXRlbTI0OworICAgIHR5cGVkZWYgVDI1IGl0ZW0yNTsKKyAgICB0eXBlZGVmIFQyNiBpdGVtMjY7CisgICAgdHlwZWRlZiBUMjcgaXRlbTI3OworICAgIHR5cGVkZWYgVDI4IGl0ZW0yODsKKyAgICB0eXBlZGVmIFQyOSBpdGVtMjk7CisgICAgdHlwZWRlZiBUMzAgaXRlbTMwOworICAgIHR5cGVkZWYgVDMxIGl0ZW0zMTsKKyAgICB0eXBlZGVmIFQzMiBpdGVtMzI7CisgICAgdHlwZWRlZiBUMzMgaXRlbTMzOworICAgIHR5cGVkZWYgVDM0IGl0ZW0zNDsKKyAgICB0eXBlZGVmIFQzNSBpdGVtMzU7CisgICAgdHlwZWRlZiBUMzYgaXRlbTM2OworICAgIHR5cGVkZWYgVDM3IGl0ZW0zNzsKKyAgICB0eXBlZGVmIFQzOCBpdGVtMzg7CisgICAgdHlwZWRlZiBUMzkgaXRlbTM5OworICAgIHR5cGVkZWYgVDQwIGl0ZW00MDsKKyAgICAKKworICAgIHR5cGVkZWYgdm9pZF8gaXRlbTQxOworICAgIHR5cGVkZWYgVDQwIGJhY2s7CisgICAgdHlwZWRlZiB2X2l0ZXI8IHR5cGUsMCA+IGJlZ2luOworICAgIHR5cGVkZWYgdl9pdGVyPCB0eXBlLDQxID4gZW5kOworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHB1c2hfZnJvbnRfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDQwPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciwgdHlwZW5hbWUgVCA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3I0MTwKKyAgICAgICAgICAgICAgVAorICAgICAgICAgICAgICAsCisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMxCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM4LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zOQorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcG9wX2Zyb250X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzw0MT4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yNDA8CisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMywgdHlwZW5hbWUgVmVjdG9yOjppdGVtNAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW02CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTgKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTAKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTEsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEyCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEzLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTYKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTcsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE4CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE5LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjIKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjMsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI0CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI1LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNywgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjgKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjksIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMwCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMxLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMywgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzQKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzUsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM2CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM3LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zOAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zOSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDAKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHB1c2hfYmFja19pbXBsPCBhdXg6OnZlY3Rvcl90YWc8NDA+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yLCB0eXBlbmFtZSBUID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjQxPAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0wLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW02LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW03CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTExCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE4LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzkKKyAgICAgICAgICAgICAgLAorICAgICAgICAgICAgICBUCisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwb3BfYmFja19pbXBsPCBhdXg6OnZlY3Rvcl90YWc8NDE+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjQwPAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0wLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW02LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW03CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTExCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE4LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzkKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFYgPgorc3RydWN0IHZfYXQ8IFYsNDEgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTQxIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAsIHR5cGVuYW1lIFQyMCwgdHlwZW5hbWUgVDIxLCB0eXBlbmFtZSBUMjIsIHR5cGVuYW1lIFQyMywgdHlwZW5hbWUgVDI0CisgICAgLCB0eXBlbmFtZSBUMjUsIHR5cGVuYW1lIFQyNiwgdHlwZW5hbWUgVDI3LCB0eXBlbmFtZSBUMjgsIHR5cGVuYW1lIFQyOQorICAgICwgdHlwZW5hbWUgVDMwLCB0eXBlbmFtZSBUMzEsIHR5cGVuYW1lIFQzMiwgdHlwZW5hbWUgVDMzLCB0eXBlbmFtZSBUMzQKKyAgICAsIHR5cGVuYW1lIFQzNSwgdHlwZW5hbWUgVDM2LCB0eXBlbmFtZSBUMzcsIHR5cGVuYW1lIFQzOCwgdHlwZW5hbWUgVDM5CisgICAgLCB0eXBlbmFtZSBUNDAsIHR5cGVuYW1lIFQ0MQorICAgID4KK3N0cnVjdCB2ZWN0b3I0MgoreworICAgIHR5cGVkZWYgYXV4Ojp2ZWN0b3JfdGFnPDQyPiB0YWc7CisgICAgdHlwZWRlZiB2ZWN0b3I0MiB0eXBlOworICAgIHR5cGVkZWYgVDAgaXRlbTA7CisgICAgdHlwZWRlZiBUMSBpdGVtMTsKKyAgICB0eXBlZGVmIFQyIGl0ZW0yOworICAgIHR5cGVkZWYgVDMgaXRlbTM7CisgICAgdHlwZWRlZiBUNCBpdGVtNDsKKyAgICB0eXBlZGVmIFQ1IGl0ZW01OworICAgIHR5cGVkZWYgVDYgaXRlbTY7CisgICAgdHlwZWRlZiBUNyBpdGVtNzsKKyAgICB0eXBlZGVmIFQ4IGl0ZW04OworICAgIHR5cGVkZWYgVDkgaXRlbTk7CisgICAgdHlwZWRlZiBUMTAgaXRlbTEwOworICAgIHR5cGVkZWYgVDExIGl0ZW0xMTsKKyAgICB0eXBlZGVmIFQxMiBpdGVtMTI7CisgICAgdHlwZWRlZiBUMTMgaXRlbTEzOworICAgIHR5cGVkZWYgVDE0IGl0ZW0xNDsKKyAgICB0eXBlZGVmIFQxNSBpdGVtMTU7CisgICAgdHlwZWRlZiBUMTYgaXRlbTE2OworICAgIHR5cGVkZWYgVDE3IGl0ZW0xNzsKKyAgICB0eXBlZGVmIFQxOCBpdGVtMTg7CisgICAgdHlwZWRlZiBUMTkgaXRlbTE5OworICAgIHR5cGVkZWYgVDIwIGl0ZW0yMDsKKyAgICB0eXBlZGVmIFQyMSBpdGVtMjE7CisgICAgdHlwZWRlZiBUMjIgaXRlbTIyOworICAgIHR5cGVkZWYgVDIzIGl0ZW0yMzsKKyAgICB0eXBlZGVmIFQyNCBpdGVtMjQ7CisgICAgdHlwZWRlZiBUMjUgaXRlbTI1OworICAgIHR5cGVkZWYgVDI2IGl0ZW0yNjsKKyAgICB0eXBlZGVmIFQyNyBpdGVtMjc7CisgICAgdHlwZWRlZiBUMjggaXRlbTI4OworICAgIHR5cGVkZWYgVDI5IGl0ZW0yOTsKKyAgICB0eXBlZGVmIFQzMCBpdGVtMzA7CisgICAgdHlwZWRlZiBUMzEgaXRlbTMxOworICAgIHR5cGVkZWYgVDMyIGl0ZW0zMjsKKyAgICB0eXBlZGVmIFQzMyBpdGVtMzM7CisgICAgdHlwZWRlZiBUMzQgaXRlbTM0OworICAgIHR5cGVkZWYgVDM1IGl0ZW0zNTsKKyAgICB0eXBlZGVmIFQzNiBpdGVtMzY7CisgICAgdHlwZWRlZiBUMzcgaXRlbTM3OworICAgIHR5cGVkZWYgVDM4IGl0ZW0zODsKKyAgICB0eXBlZGVmIFQzOSBpdGVtMzk7CisgICAgdHlwZWRlZiBUNDAgaXRlbTQwOworICAgIHR5cGVkZWYgVDQxIGl0ZW00MTsKKyAgICAKKworICAgIHR5cGVkZWYgdm9pZF8gaXRlbTQyOworICAgIHR5cGVkZWYgVDQxIGJhY2s7CisgICAgdHlwZWRlZiB2X2l0ZXI8IHR5cGUsMCA+IGJlZ2luOworICAgIHR5cGVkZWYgdl9pdGVyPCB0eXBlLDQyID4gZW5kOworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHB1c2hfZnJvbnRfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDQxPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciwgdHlwZW5hbWUgVCA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3I0MjwKKyAgICAgICAgICAgICAgVAorICAgICAgICAgICAgICAsCisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMxCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM4LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00MAorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcG9wX2Zyb250X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzw0Mj4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yNDE8CisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMywgdHlwZW5hbWUgVmVjdG9yOjppdGVtNAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW02CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTgKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTAKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTEsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEyCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEzLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTYKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTcsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE4CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE5LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjIKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjMsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI0CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI1LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNywgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjgKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjksIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMwCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMxLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMywgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzQKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzUsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM2CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM3LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zOAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zOSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDAKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDEKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHB1c2hfYmFja19pbXBsPCBhdXg6OnZlY3Rvcl90YWc8NDE+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yLCB0eXBlbmFtZSBUID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjQyPAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0wLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW02LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW03CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTExCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE4LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDAKKyAgICAgICAgICAgICAgLAorICAgICAgICAgICAgICBUCisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwb3BfYmFja19pbXBsPCBhdXg6OnZlY3Rvcl90YWc8NDI+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjQxPAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0wLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW02LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW03CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTExCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE4LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDAKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFYgPgorc3RydWN0IHZfYXQ8IFYsNDIgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTQyIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAsIHR5cGVuYW1lIFQyMCwgdHlwZW5hbWUgVDIxLCB0eXBlbmFtZSBUMjIsIHR5cGVuYW1lIFQyMywgdHlwZW5hbWUgVDI0CisgICAgLCB0eXBlbmFtZSBUMjUsIHR5cGVuYW1lIFQyNiwgdHlwZW5hbWUgVDI3LCB0eXBlbmFtZSBUMjgsIHR5cGVuYW1lIFQyOQorICAgICwgdHlwZW5hbWUgVDMwLCB0eXBlbmFtZSBUMzEsIHR5cGVuYW1lIFQzMiwgdHlwZW5hbWUgVDMzLCB0eXBlbmFtZSBUMzQKKyAgICAsIHR5cGVuYW1lIFQzNSwgdHlwZW5hbWUgVDM2LCB0eXBlbmFtZSBUMzcsIHR5cGVuYW1lIFQzOCwgdHlwZW5hbWUgVDM5CisgICAgLCB0eXBlbmFtZSBUNDAsIHR5cGVuYW1lIFQ0MSwgdHlwZW5hbWUgVDQyCisgICAgPgorc3RydWN0IHZlY3RvcjQzCit7CisgICAgdHlwZWRlZiBhdXg6OnZlY3Rvcl90YWc8NDM+IHRhZzsKKyAgICB0eXBlZGVmIHZlY3RvcjQzIHR5cGU7CisgICAgdHlwZWRlZiBUMCBpdGVtMDsKKyAgICB0eXBlZGVmIFQxIGl0ZW0xOworICAgIHR5cGVkZWYgVDIgaXRlbTI7CisgICAgdHlwZWRlZiBUMyBpdGVtMzsKKyAgICB0eXBlZGVmIFQ0IGl0ZW00OworICAgIHR5cGVkZWYgVDUgaXRlbTU7CisgICAgdHlwZWRlZiBUNiBpdGVtNjsKKyAgICB0eXBlZGVmIFQ3IGl0ZW03OworICAgIHR5cGVkZWYgVDggaXRlbTg7CisgICAgdHlwZWRlZiBUOSBpdGVtOTsKKyAgICB0eXBlZGVmIFQxMCBpdGVtMTA7CisgICAgdHlwZWRlZiBUMTEgaXRlbTExOworICAgIHR5cGVkZWYgVDEyIGl0ZW0xMjsKKyAgICB0eXBlZGVmIFQxMyBpdGVtMTM7CisgICAgdHlwZWRlZiBUMTQgaXRlbTE0OworICAgIHR5cGVkZWYgVDE1IGl0ZW0xNTsKKyAgICB0eXBlZGVmIFQxNiBpdGVtMTY7CisgICAgdHlwZWRlZiBUMTcgaXRlbTE3OworICAgIHR5cGVkZWYgVDE4IGl0ZW0xODsKKyAgICB0eXBlZGVmIFQxOSBpdGVtMTk7CisgICAgdHlwZWRlZiBUMjAgaXRlbTIwOworICAgIHR5cGVkZWYgVDIxIGl0ZW0yMTsKKyAgICB0eXBlZGVmIFQyMiBpdGVtMjI7CisgICAgdHlwZWRlZiBUMjMgaXRlbTIzOworICAgIHR5cGVkZWYgVDI0IGl0ZW0yNDsKKyAgICB0eXBlZGVmIFQyNSBpdGVtMjU7CisgICAgdHlwZWRlZiBUMjYgaXRlbTI2OworICAgIHR5cGVkZWYgVDI3IGl0ZW0yNzsKKyAgICB0eXBlZGVmIFQyOCBpdGVtMjg7CisgICAgdHlwZWRlZiBUMjkgaXRlbTI5OworICAgIHR5cGVkZWYgVDMwIGl0ZW0zMDsKKyAgICB0eXBlZGVmIFQzMSBpdGVtMzE7CisgICAgdHlwZWRlZiBUMzIgaXRlbTMyOworICAgIHR5cGVkZWYgVDMzIGl0ZW0zMzsKKyAgICB0eXBlZGVmIFQzNCBpdGVtMzQ7CisgICAgdHlwZWRlZiBUMzUgaXRlbTM1OworICAgIHR5cGVkZWYgVDM2IGl0ZW0zNjsKKyAgICB0eXBlZGVmIFQzNyBpdGVtMzc7CisgICAgdHlwZWRlZiBUMzggaXRlbTM4OworICAgIHR5cGVkZWYgVDM5IGl0ZW0zOTsKKyAgICB0eXBlZGVmIFQ0MCBpdGVtNDA7CisgICAgdHlwZWRlZiBUNDEgaXRlbTQxOworICAgIHR5cGVkZWYgVDQyIGl0ZW00MjsKKyAgICAKKworICAgIHR5cGVkZWYgdm9pZF8gaXRlbTQzOworICAgIHR5cGVkZWYgVDQyIGJhY2s7CisgICAgdHlwZWRlZiB2X2l0ZXI8IHR5cGUsMCA+IGJlZ2luOworICAgIHR5cGVkZWYgdl9pdGVyPCB0eXBlLDQzID4gZW5kOworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHB1c2hfZnJvbnRfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDQyPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciwgdHlwZW5hbWUgVCA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3I0MzwKKyAgICAgICAgICAgICAgVAorICAgICAgICAgICAgICAsCisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMxCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM4LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00MCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDEKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHBvcF9mcm9udF9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8NDM+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjQyPAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW03LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW04CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTksIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEwCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTExLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMywgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTQKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTUsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE2CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE3LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjAKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjEsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIyCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIzLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjYKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjcsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI4CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI5LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzIKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzMsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM0CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM1LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNywgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzgKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzksIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQwCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQxLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00MgorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcHVzaF9iYWNrX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzw0Mj4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IsIHR5cGVuYW1lIFQgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yNDM8CisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMxCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM4LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00MCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDEKKyAgICAgICAgICAgICAgLAorICAgICAgICAgICAgICBUCisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwb3BfYmFja19pbXBsPCBhdXg6OnZlY3Rvcl90YWc8NDM+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjQyPAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0wLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW02LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW03CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTExCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE4LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQxCisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBWID4KK3N0cnVjdCB2X2F0PCBWLDQzID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW00MyB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgLCB0eXBlbmFtZSBUMjAsIHR5cGVuYW1lIFQyMSwgdHlwZW5hbWUgVDIyLCB0eXBlbmFtZSBUMjMsIHR5cGVuYW1lIFQyNAorICAgICwgdHlwZW5hbWUgVDI1LCB0eXBlbmFtZSBUMjYsIHR5cGVuYW1lIFQyNywgdHlwZW5hbWUgVDI4LCB0eXBlbmFtZSBUMjkKKyAgICAsIHR5cGVuYW1lIFQzMCwgdHlwZW5hbWUgVDMxLCB0eXBlbmFtZSBUMzIsIHR5cGVuYW1lIFQzMywgdHlwZW5hbWUgVDM0CisgICAgLCB0eXBlbmFtZSBUMzUsIHR5cGVuYW1lIFQzNiwgdHlwZW5hbWUgVDM3LCB0eXBlbmFtZSBUMzgsIHR5cGVuYW1lIFQzOQorICAgICwgdHlwZW5hbWUgVDQwLCB0eXBlbmFtZSBUNDEsIHR5cGVuYW1lIFQ0MiwgdHlwZW5hbWUgVDQzCisgICAgPgorc3RydWN0IHZlY3RvcjQ0Cit7CisgICAgdHlwZWRlZiBhdXg6OnZlY3Rvcl90YWc8NDQ+IHRhZzsKKyAgICB0eXBlZGVmIHZlY3RvcjQ0IHR5cGU7CisgICAgdHlwZWRlZiBUMCBpdGVtMDsKKyAgICB0eXBlZGVmIFQxIGl0ZW0xOworICAgIHR5cGVkZWYgVDIgaXRlbTI7CisgICAgdHlwZWRlZiBUMyBpdGVtMzsKKyAgICB0eXBlZGVmIFQ0IGl0ZW00OworICAgIHR5cGVkZWYgVDUgaXRlbTU7CisgICAgdHlwZWRlZiBUNiBpdGVtNjsKKyAgICB0eXBlZGVmIFQ3IGl0ZW03OworICAgIHR5cGVkZWYgVDggaXRlbTg7CisgICAgdHlwZWRlZiBUOSBpdGVtOTsKKyAgICB0eXBlZGVmIFQxMCBpdGVtMTA7CisgICAgdHlwZWRlZiBUMTEgaXRlbTExOworICAgIHR5cGVkZWYgVDEyIGl0ZW0xMjsKKyAgICB0eXBlZGVmIFQxMyBpdGVtMTM7CisgICAgdHlwZWRlZiBUMTQgaXRlbTE0OworICAgIHR5cGVkZWYgVDE1IGl0ZW0xNTsKKyAgICB0eXBlZGVmIFQxNiBpdGVtMTY7CisgICAgdHlwZWRlZiBUMTcgaXRlbTE3OworICAgIHR5cGVkZWYgVDE4IGl0ZW0xODsKKyAgICB0eXBlZGVmIFQxOSBpdGVtMTk7CisgICAgdHlwZWRlZiBUMjAgaXRlbTIwOworICAgIHR5cGVkZWYgVDIxIGl0ZW0yMTsKKyAgICB0eXBlZGVmIFQyMiBpdGVtMjI7CisgICAgdHlwZWRlZiBUMjMgaXRlbTIzOworICAgIHR5cGVkZWYgVDI0IGl0ZW0yNDsKKyAgICB0eXBlZGVmIFQyNSBpdGVtMjU7CisgICAgdHlwZWRlZiBUMjYgaXRlbTI2OworICAgIHR5cGVkZWYgVDI3IGl0ZW0yNzsKKyAgICB0eXBlZGVmIFQyOCBpdGVtMjg7CisgICAgdHlwZWRlZiBUMjkgaXRlbTI5OworICAgIHR5cGVkZWYgVDMwIGl0ZW0zMDsKKyAgICB0eXBlZGVmIFQzMSBpdGVtMzE7CisgICAgdHlwZWRlZiBUMzIgaXRlbTMyOworICAgIHR5cGVkZWYgVDMzIGl0ZW0zMzsKKyAgICB0eXBlZGVmIFQzNCBpdGVtMzQ7CisgICAgdHlwZWRlZiBUMzUgaXRlbTM1OworICAgIHR5cGVkZWYgVDM2IGl0ZW0zNjsKKyAgICB0eXBlZGVmIFQzNyBpdGVtMzc7CisgICAgdHlwZWRlZiBUMzggaXRlbTM4OworICAgIHR5cGVkZWYgVDM5IGl0ZW0zOTsKKyAgICB0eXBlZGVmIFQ0MCBpdGVtNDA7CisgICAgdHlwZWRlZiBUNDEgaXRlbTQxOworICAgIHR5cGVkZWYgVDQyIGl0ZW00MjsKKyAgICB0eXBlZGVmIFQ0MyBpdGVtNDM7CisgICAgCisKKyAgICB0eXBlZGVmIHZvaWRfIGl0ZW00NDsKKyAgICB0eXBlZGVmIFQ0MyBiYWNrOworICAgIHR5cGVkZWYgdl9pdGVyPCB0eXBlLDAgPiBiZWdpbjsKKyAgICB0eXBlZGVmIHZfaXRlcjwgdHlwZSw0NCA+IGVuZDsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwdXNoX2Zyb250X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzw0Mz4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IsIHR5cGVuYW1lIFQgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yNDQ8CisgICAgICAgICAgICAgIFQKKyAgICAgICAgICAgICAgLAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0wLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW02LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW03CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTExCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE4LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQxCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQyCisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwb3BfZnJvbnRfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDQ0PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3I0MzwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNywgdHlwZW5hbWUgVmVjdG9yOjppdGVtOAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW05LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTIKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTMsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE0CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE1LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNywgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTgKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTksIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIwCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIxLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMywgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjQKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjUsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI2CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI3LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yOAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yOSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzAKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzEsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMyCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMzLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzYKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzcsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM4CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM5LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00MAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00MSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDIKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDMKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHB1c2hfYmFja19pbXBsPCBhdXg6OnZlY3Rvcl90YWc8NDM+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yLCB0eXBlbmFtZSBUID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjQ0PAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0wLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW02LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW03CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTExCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE4LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQxCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQyCisgICAgICAgICAgICAgICwKKyAgICAgICAgICAgICAgVAorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcG9wX2JhY2tfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDQ0PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3I0MzwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW04LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW05CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIxCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI4LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00MQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00MgorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgViA+CitzdHJ1Y3Qgdl9hdDwgViw0NCA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtNDQgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICwgdHlwZW5hbWUgVDIwLCB0eXBlbmFtZSBUMjEsIHR5cGVuYW1lIFQyMiwgdHlwZW5hbWUgVDIzLCB0eXBlbmFtZSBUMjQKKyAgICAsIHR5cGVuYW1lIFQyNSwgdHlwZW5hbWUgVDI2LCB0eXBlbmFtZSBUMjcsIHR5cGVuYW1lIFQyOCwgdHlwZW5hbWUgVDI5CisgICAgLCB0eXBlbmFtZSBUMzAsIHR5cGVuYW1lIFQzMSwgdHlwZW5hbWUgVDMyLCB0eXBlbmFtZSBUMzMsIHR5cGVuYW1lIFQzNAorICAgICwgdHlwZW5hbWUgVDM1LCB0eXBlbmFtZSBUMzYsIHR5cGVuYW1lIFQzNywgdHlwZW5hbWUgVDM4LCB0eXBlbmFtZSBUMzkKKyAgICAsIHR5cGVuYW1lIFQ0MCwgdHlwZW5hbWUgVDQxLCB0eXBlbmFtZSBUNDIsIHR5cGVuYW1lIFQ0MywgdHlwZW5hbWUgVDQ0CisgICAgPgorc3RydWN0IHZlY3RvcjQ1Cit7CisgICAgdHlwZWRlZiBhdXg6OnZlY3Rvcl90YWc8NDU+IHRhZzsKKyAgICB0eXBlZGVmIHZlY3RvcjQ1IHR5cGU7CisgICAgdHlwZWRlZiBUMCBpdGVtMDsKKyAgICB0eXBlZGVmIFQxIGl0ZW0xOworICAgIHR5cGVkZWYgVDIgaXRlbTI7CisgICAgdHlwZWRlZiBUMyBpdGVtMzsKKyAgICB0eXBlZGVmIFQ0IGl0ZW00OworICAgIHR5cGVkZWYgVDUgaXRlbTU7CisgICAgdHlwZWRlZiBUNiBpdGVtNjsKKyAgICB0eXBlZGVmIFQ3IGl0ZW03OworICAgIHR5cGVkZWYgVDggaXRlbTg7CisgICAgdHlwZWRlZiBUOSBpdGVtOTsKKyAgICB0eXBlZGVmIFQxMCBpdGVtMTA7CisgICAgdHlwZWRlZiBUMTEgaXRlbTExOworICAgIHR5cGVkZWYgVDEyIGl0ZW0xMjsKKyAgICB0eXBlZGVmIFQxMyBpdGVtMTM7CisgICAgdHlwZWRlZiBUMTQgaXRlbTE0OworICAgIHR5cGVkZWYgVDE1IGl0ZW0xNTsKKyAgICB0eXBlZGVmIFQxNiBpdGVtMTY7CisgICAgdHlwZWRlZiBUMTcgaXRlbTE3OworICAgIHR5cGVkZWYgVDE4IGl0ZW0xODsKKyAgICB0eXBlZGVmIFQxOSBpdGVtMTk7CisgICAgdHlwZWRlZiBUMjAgaXRlbTIwOworICAgIHR5cGVkZWYgVDIxIGl0ZW0yMTsKKyAgICB0eXBlZGVmIFQyMiBpdGVtMjI7CisgICAgdHlwZWRlZiBUMjMgaXRlbTIzOworICAgIHR5cGVkZWYgVDI0IGl0ZW0yNDsKKyAgICB0eXBlZGVmIFQyNSBpdGVtMjU7CisgICAgdHlwZWRlZiBUMjYgaXRlbTI2OworICAgIHR5cGVkZWYgVDI3IGl0ZW0yNzsKKyAgICB0eXBlZGVmIFQyOCBpdGVtMjg7CisgICAgdHlwZWRlZiBUMjkgaXRlbTI5OworICAgIHR5cGVkZWYgVDMwIGl0ZW0zMDsKKyAgICB0eXBlZGVmIFQzMSBpdGVtMzE7CisgICAgdHlwZWRlZiBUMzIgaXRlbTMyOworICAgIHR5cGVkZWYgVDMzIGl0ZW0zMzsKKyAgICB0eXBlZGVmIFQzNCBpdGVtMzQ7CisgICAgdHlwZWRlZiBUMzUgaXRlbTM1OworICAgIHR5cGVkZWYgVDM2IGl0ZW0zNjsKKyAgICB0eXBlZGVmIFQzNyBpdGVtMzc7CisgICAgdHlwZWRlZiBUMzggaXRlbTM4OworICAgIHR5cGVkZWYgVDM5IGl0ZW0zOTsKKyAgICB0eXBlZGVmIFQ0MCBpdGVtNDA7CisgICAgdHlwZWRlZiBUNDEgaXRlbTQxOworICAgIHR5cGVkZWYgVDQyIGl0ZW00MjsKKyAgICB0eXBlZGVmIFQ0MyBpdGVtNDM7CisgICAgdHlwZWRlZiBUNDQgaXRlbTQ0OworICAgIAorCisgICAgdHlwZWRlZiB2b2lkXyBpdGVtNDU7CisgICAgdHlwZWRlZiBUNDQgYmFjazsKKyAgICB0eXBlZGVmIHZfaXRlcjwgdHlwZSwwID4gYmVnaW47CisgICAgdHlwZWRlZiB2X2l0ZXI8IHR5cGUsNDUgPiBlbmQ7Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcHVzaF9mcm9udF9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8NDQ+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yLCB0eXBlbmFtZSBUID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjQ1PAorICAgICAgICAgICAgICBUCisgICAgICAgICAgICAgICwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW04LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW05CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIxCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI4LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00MQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00MiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDMKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHBvcF9mcm9udF9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8NDU+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjQ0PAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW03LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW04CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTksIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEwCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTExLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMywgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTQKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTUsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE2CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE3LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjAKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjEsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIyCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIzLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjYKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjcsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI4CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI5LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzIKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzMsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM0CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM1LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNywgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzgKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzksIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQwCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQxLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00MgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00MywgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDQKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHB1c2hfYmFja19pbXBsPCBhdXg6OnZlY3Rvcl90YWc8NDQ+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yLCB0eXBlbmFtZSBUID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjQ1PAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0wLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW02LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW03CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTExCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE4LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQxCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00MworICAgICAgICAgICAgICAsCisgICAgICAgICAgICAgIFQKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHBvcF9iYWNrX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzw0NT4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yNDQ8CisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMxCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM4LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00MCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQzCisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBWID4KK3N0cnVjdCB2X2F0PCBWLDQ1ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW00NSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgLCB0eXBlbmFtZSBUMjAsIHR5cGVuYW1lIFQyMSwgdHlwZW5hbWUgVDIyLCB0eXBlbmFtZSBUMjMsIHR5cGVuYW1lIFQyNAorICAgICwgdHlwZW5hbWUgVDI1LCB0eXBlbmFtZSBUMjYsIHR5cGVuYW1lIFQyNywgdHlwZW5hbWUgVDI4LCB0eXBlbmFtZSBUMjkKKyAgICAsIHR5cGVuYW1lIFQzMCwgdHlwZW5hbWUgVDMxLCB0eXBlbmFtZSBUMzIsIHR5cGVuYW1lIFQzMywgdHlwZW5hbWUgVDM0CisgICAgLCB0eXBlbmFtZSBUMzUsIHR5cGVuYW1lIFQzNiwgdHlwZW5hbWUgVDM3LCB0eXBlbmFtZSBUMzgsIHR5cGVuYW1lIFQzOQorICAgICwgdHlwZW5hbWUgVDQwLCB0eXBlbmFtZSBUNDEsIHR5cGVuYW1lIFQ0MiwgdHlwZW5hbWUgVDQzLCB0eXBlbmFtZSBUNDQKKyAgICAsIHR5cGVuYW1lIFQ0NQorICAgID4KK3N0cnVjdCB2ZWN0b3I0NgoreworICAgIHR5cGVkZWYgYXV4Ojp2ZWN0b3JfdGFnPDQ2PiB0YWc7CisgICAgdHlwZWRlZiB2ZWN0b3I0NiB0eXBlOworICAgIHR5cGVkZWYgVDAgaXRlbTA7CisgICAgdHlwZWRlZiBUMSBpdGVtMTsKKyAgICB0eXBlZGVmIFQyIGl0ZW0yOworICAgIHR5cGVkZWYgVDMgaXRlbTM7CisgICAgdHlwZWRlZiBUNCBpdGVtNDsKKyAgICB0eXBlZGVmIFQ1IGl0ZW01OworICAgIHR5cGVkZWYgVDYgaXRlbTY7CisgICAgdHlwZWRlZiBUNyBpdGVtNzsKKyAgICB0eXBlZGVmIFQ4IGl0ZW04OworICAgIHR5cGVkZWYgVDkgaXRlbTk7CisgICAgdHlwZWRlZiBUMTAgaXRlbTEwOworICAgIHR5cGVkZWYgVDExIGl0ZW0xMTsKKyAgICB0eXBlZGVmIFQxMiBpdGVtMTI7CisgICAgdHlwZWRlZiBUMTMgaXRlbTEzOworICAgIHR5cGVkZWYgVDE0IGl0ZW0xNDsKKyAgICB0eXBlZGVmIFQxNSBpdGVtMTU7CisgICAgdHlwZWRlZiBUMTYgaXRlbTE2OworICAgIHR5cGVkZWYgVDE3IGl0ZW0xNzsKKyAgICB0eXBlZGVmIFQxOCBpdGVtMTg7CisgICAgdHlwZWRlZiBUMTkgaXRlbTE5OworICAgIHR5cGVkZWYgVDIwIGl0ZW0yMDsKKyAgICB0eXBlZGVmIFQyMSBpdGVtMjE7CisgICAgdHlwZWRlZiBUMjIgaXRlbTIyOworICAgIHR5cGVkZWYgVDIzIGl0ZW0yMzsKKyAgICB0eXBlZGVmIFQyNCBpdGVtMjQ7CisgICAgdHlwZWRlZiBUMjUgaXRlbTI1OworICAgIHR5cGVkZWYgVDI2IGl0ZW0yNjsKKyAgICB0eXBlZGVmIFQyNyBpdGVtMjc7CisgICAgdHlwZWRlZiBUMjggaXRlbTI4OworICAgIHR5cGVkZWYgVDI5IGl0ZW0yOTsKKyAgICB0eXBlZGVmIFQzMCBpdGVtMzA7CisgICAgdHlwZWRlZiBUMzEgaXRlbTMxOworICAgIHR5cGVkZWYgVDMyIGl0ZW0zMjsKKyAgICB0eXBlZGVmIFQzMyBpdGVtMzM7CisgICAgdHlwZWRlZiBUMzQgaXRlbTM0OworICAgIHR5cGVkZWYgVDM1IGl0ZW0zNTsKKyAgICB0eXBlZGVmIFQzNiBpdGVtMzY7CisgICAgdHlwZWRlZiBUMzcgaXRlbTM3OworICAgIHR5cGVkZWYgVDM4IGl0ZW0zODsKKyAgICB0eXBlZGVmIFQzOSBpdGVtMzk7CisgICAgdHlwZWRlZiBUNDAgaXRlbTQwOworICAgIHR5cGVkZWYgVDQxIGl0ZW00MTsKKyAgICB0eXBlZGVmIFQ0MiBpdGVtNDI7CisgICAgdHlwZWRlZiBUNDMgaXRlbTQzOworICAgIHR5cGVkZWYgVDQ0IGl0ZW00NDsKKyAgICB0eXBlZGVmIFQ0NSBpdGVtNDU7CisgICAgCisKKyAgICB0eXBlZGVmIHZvaWRfIGl0ZW00NjsKKyAgICB0eXBlZGVmIFQ0NSBiYWNrOworICAgIHR5cGVkZWYgdl9pdGVyPCB0eXBlLDAgPiBiZWdpbjsKKyAgICB0eXBlZGVmIHZfaXRlcjwgdHlwZSw0NiA+IGVuZDsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwdXNoX2Zyb250X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzw0NT4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IsIHR5cGVuYW1lIFQgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yNDY8CisgICAgICAgICAgICAgIFQKKyAgICAgICAgICAgICAgLAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0wLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW02LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW03CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTExCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE4LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQxCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00MworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00NAorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcG9wX2Zyb250X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzw0Nj4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yNDU8CisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMywgdHlwZW5hbWUgVmVjdG9yOjppdGVtNAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW02CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTgKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTAKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTEsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEyCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEzLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTYKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTcsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE4CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE5LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjIKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjMsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI0CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI1LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNywgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjgKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjksIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMwCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMxLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMywgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzQKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzUsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM2CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM3LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zOAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zOSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDAKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDEsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQyCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQzLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00NAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00NQorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcHVzaF9iYWNrX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzw0NT4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IsIHR5cGVuYW1lIFQgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yNDY8CisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMxCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM4LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00MCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQ0CisgICAgICAgICAgICAgICwKKyAgICAgICAgICAgICAgVAorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcG9wX2JhY2tfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDQ2PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3I0NTwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW04LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW05CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIxCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI4LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00MQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00MiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDQKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFYgPgorc3RydWN0IHZfYXQ8IFYsNDYgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTQ2IHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAsIHR5cGVuYW1lIFQyMCwgdHlwZW5hbWUgVDIxLCB0eXBlbmFtZSBUMjIsIHR5cGVuYW1lIFQyMywgdHlwZW5hbWUgVDI0CisgICAgLCB0eXBlbmFtZSBUMjUsIHR5cGVuYW1lIFQyNiwgdHlwZW5hbWUgVDI3LCB0eXBlbmFtZSBUMjgsIHR5cGVuYW1lIFQyOQorICAgICwgdHlwZW5hbWUgVDMwLCB0eXBlbmFtZSBUMzEsIHR5cGVuYW1lIFQzMiwgdHlwZW5hbWUgVDMzLCB0eXBlbmFtZSBUMzQKKyAgICAsIHR5cGVuYW1lIFQzNSwgdHlwZW5hbWUgVDM2LCB0eXBlbmFtZSBUMzcsIHR5cGVuYW1lIFQzOCwgdHlwZW5hbWUgVDM5CisgICAgLCB0eXBlbmFtZSBUNDAsIHR5cGVuYW1lIFQ0MSwgdHlwZW5hbWUgVDQyLCB0eXBlbmFtZSBUNDMsIHR5cGVuYW1lIFQ0NAorICAgICwgdHlwZW5hbWUgVDQ1LCB0eXBlbmFtZSBUNDYKKyAgICA+CitzdHJ1Y3QgdmVjdG9yNDcKK3sKKyAgICB0eXBlZGVmIGF1eDo6dmVjdG9yX3RhZzw0Nz4gdGFnOworICAgIHR5cGVkZWYgdmVjdG9yNDcgdHlwZTsKKyAgICB0eXBlZGVmIFQwIGl0ZW0wOworICAgIHR5cGVkZWYgVDEgaXRlbTE7CisgICAgdHlwZWRlZiBUMiBpdGVtMjsKKyAgICB0eXBlZGVmIFQzIGl0ZW0zOworICAgIHR5cGVkZWYgVDQgaXRlbTQ7CisgICAgdHlwZWRlZiBUNSBpdGVtNTsKKyAgICB0eXBlZGVmIFQ2IGl0ZW02OworICAgIHR5cGVkZWYgVDcgaXRlbTc7CisgICAgdHlwZWRlZiBUOCBpdGVtODsKKyAgICB0eXBlZGVmIFQ5IGl0ZW05OworICAgIHR5cGVkZWYgVDEwIGl0ZW0xMDsKKyAgICB0eXBlZGVmIFQxMSBpdGVtMTE7CisgICAgdHlwZWRlZiBUMTIgaXRlbTEyOworICAgIHR5cGVkZWYgVDEzIGl0ZW0xMzsKKyAgICB0eXBlZGVmIFQxNCBpdGVtMTQ7CisgICAgdHlwZWRlZiBUMTUgaXRlbTE1OworICAgIHR5cGVkZWYgVDE2IGl0ZW0xNjsKKyAgICB0eXBlZGVmIFQxNyBpdGVtMTc7CisgICAgdHlwZWRlZiBUMTggaXRlbTE4OworICAgIHR5cGVkZWYgVDE5IGl0ZW0xOTsKKyAgICB0eXBlZGVmIFQyMCBpdGVtMjA7CisgICAgdHlwZWRlZiBUMjEgaXRlbTIxOworICAgIHR5cGVkZWYgVDIyIGl0ZW0yMjsKKyAgICB0eXBlZGVmIFQyMyBpdGVtMjM7CisgICAgdHlwZWRlZiBUMjQgaXRlbTI0OworICAgIHR5cGVkZWYgVDI1IGl0ZW0yNTsKKyAgICB0eXBlZGVmIFQyNiBpdGVtMjY7CisgICAgdHlwZWRlZiBUMjcgaXRlbTI3OworICAgIHR5cGVkZWYgVDI4IGl0ZW0yODsKKyAgICB0eXBlZGVmIFQyOSBpdGVtMjk7CisgICAgdHlwZWRlZiBUMzAgaXRlbTMwOworICAgIHR5cGVkZWYgVDMxIGl0ZW0zMTsKKyAgICB0eXBlZGVmIFQzMiBpdGVtMzI7CisgICAgdHlwZWRlZiBUMzMgaXRlbTMzOworICAgIHR5cGVkZWYgVDM0IGl0ZW0zNDsKKyAgICB0eXBlZGVmIFQzNSBpdGVtMzU7CisgICAgdHlwZWRlZiBUMzYgaXRlbTM2OworICAgIHR5cGVkZWYgVDM3IGl0ZW0zNzsKKyAgICB0eXBlZGVmIFQzOCBpdGVtMzg7CisgICAgdHlwZWRlZiBUMzkgaXRlbTM5OworICAgIHR5cGVkZWYgVDQwIGl0ZW00MDsKKyAgICB0eXBlZGVmIFQ0MSBpdGVtNDE7CisgICAgdHlwZWRlZiBUNDIgaXRlbTQyOworICAgIHR5cGVkZWYgVDQzIGl0ZW00MzsKKyAgICB0eXBlZGVmIFQ0NCBpdGVtNDQ7CisgICAgdHlwZWRlZiBUNDUgaXRlbTQ1OworICAgIHR5cGVkZWYgVDQ2IGl0ZW00NjsKKyAgICAKKworICAgIHR5cGVkZWYgdm9pZF8gaXRlbTQ3OworICAgIHR5cGVkZWYgVDQ2IGJhY2s7CisgICAgdHlwZWRlZiB2X2l0ZXI8IHR5cGUsMCA+IGJlZ2luOworICAgIHR5cGVkZWYgdl9pdGVyPCB0eXBlLDQ3ID4gZW5kOworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHB1c2hfZnJvbnRfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDQ2PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciwgdHlwZW5hbWUgVCA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3I0NzwKKyAgICAgICAgICAgICAgVAorICAgICAgICAgICAgICAsCisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMxCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM4LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00MCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQ0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00NQorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcG9wX2Zyb250X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzw0Nz4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yNDY8CisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMywgdHlwZW5hbWUgVmVjdG9yOjppdGVtNAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW02CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTgKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTAKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTEsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEyCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEzLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTYKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTcsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE4CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE5LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjIKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjMsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI0CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI1LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNywgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjgKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjksIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMwCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMxLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMywgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzQKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzUsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM2CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM3LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zOAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zOSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDAKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDEsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQyCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQzLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00NAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00NSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDYKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHB1c2hfYmFja19pbXBsPCBhdXg6OnZlY3Rvcl90YWc8NDY+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yLCB0eXBlbmFtZSBUID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjQ3PAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0wLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW02LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW03CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTExCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE4LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQxCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00MworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00NCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDUKKyAgICAgICAgICAgICAgLAorICAgICAgICAgICAgICBUCisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwb3BfYmFja19pbXBsPCBhdXg6OnZlY3Rvcl90YWc8NDc+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjQ2PAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0wLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW02LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW03CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTExCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE4LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQxCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00MworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00NCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDUKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFYgPgorc3RydWN0IHZfYXQ8IFYsNDcgPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTQ3IHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAsIHR5cGVuYW1lIFQyMCwgdHlwZW5hbWUgVDIxLCB0eXBlbmFtZSBUMjIsIHR5cGVuYW1lIFQyMywgdHlwZW5hbWUgVDI0CisgICAgLCB0eXBlbmFtZSBUMjUsIHR5cGVuYW1lIFQyNiwgdHlwZW5hbWUgVDI3LCB0eXBlbmFtZSBUMjgsIHR5cGVuYW1lIFQyOQorICAgICwgdHlwZW5hbWUgVDMwLCB0eXBlbmFtZSBUMzEsIHR5cGVuYW1lIFQzMiwgdHlwZW5hbWUgVDMzLCB0eXBlbmFtZSBUMzQKKyAgICAsIHR5cGVuYW1lIFQzNSwgdHlwZW5hbWUgVDM2LCB0eXBlbmFtZSBUMzcsIHR5cGVuYW1lIFQzOCwgdHlwZW5hbWUgVDM5CisgICAgLCB0eXBlbmFtZSBUNDAsIHR5cGVuYW1lIFQ0MSwgdHlwZW5hbWUgVDQyLCB0eXBlbmFtZSBUNDMsIHR5cGVuYW1lIFQ0NAorICAgICwgdHlwZW5hbWUgVDQ1LCB0eXBlbmFtZSBUNDYsIHR5cGVuYW1lIFQ0NworICAgID4KK3N0cnVjdCB2ZWN0b3I0OAoreworICAgIHR5cGVkZWYgYXV4Ojp2ZWN0b3JfdGFnPDQ4PiB0YWc7CisgICAgdHlwZWRlZiB2ZWN0b3I0OCB0eXBlOworICAgIHR5cGVkZWYgVDAgaXRlbTA7CisgICAgdHlwZWRlZiBUMSBpdGVtMTsKKyAgICB0eXBlZGVmIFQyIGl0ZW0yOworICAgIHR5cGVkZWYgVDMgaXRlbTM7CisgICAgdHlwZWRlZiBUNCBpdGVtNDsKKyAgICB0eXBlZGVmIFQ1IGl0ZW01OworICAgIHR5cGVkZWYgVDYgaXRlbTY7CisgICAgdHlwZWRlZiBUNyBpdGVtNzsKKyAgICB0eXBlZGVmIFQ4IGl0ZW04OworICAgIHR5cGVkZWYgVDkgaXRlbTk7CisgICAgdHlwZWRlZiBUMTAgaXRlbTEwOworICAgIHR5cGVkZWYgVDExIGl0ZW0xMTsKKyAgICB0eXBlZGVmIFQxMiBpdGVtMTI7CisgICAgdHlwZWRlZiBUMTMgaXRlbTEzOworICAgIHR5cGVkZWYgVDE0IGl0ZW0xNDsKKyAgICB0eXBlZGVmIFQxNSBpdGVtMTU7CisgICAgdHlwZWRlZiBUMTYgaXRlbTE2OworICAgIHR5cGVkZWYgVDE3IGl0ZW0xNzsKKyAgICB0eXBlZGVmIFQxOCBpdGVtMTg7CisgICAgdHlwZWRlZiBUMTkgaXRlbTE5OworICAgIHR5cGVkZWYgVDIwIGl0ZW0yMDsKKyAgICB0eXBlZGVmIFQyMSBpdGVtMjE7CisgICAgdHlwZWRlZiBUMjIgaXRlbTIyOworICAgIHR5cGVkZWYgVDIzIGl0ZW0yMzsKKyAgICB0eXBlZGVmIFQyNCBpdGVtMjQ7CisgICAgdHlwZWRlZiBUMjUgaXRlbTI1OworICAgIHR5cGVkZWYgVDI2IGl0ZW0yNjsKKyAgICB0eXBlZGVmIFQyNyBpdGVtMjc7CisgICAgdHlwZWRlZiBUMjggaXRlbTI4OworICAgIHR5cGVkZWYgVDI5IGl0ZW0yOTsKKyAgICB0eXBlZGVmIFQzMCBpdGVtMzA7CisgICAgdHlwZWRlZiBUMzEgaXRlbTMxOworICAgIHR5cGVkZWYgVDMyIGl0ZW0zMjsKKyAgICB0eXBlZGVmIFQzMyBpdGVtMzM7CisgICAgdHlwZWRlZiBUMzQgaXRlbTM0OworICAgIHR5cGVkZWYgVDM1IGl0ZW0zNTsKKyAgICB0eXBlZGVmIFQzNiBpdGVtMzY7CisgICAgdHlwZWRlZiBUMzcgaXRlbTM3OworICAgIHR5cGVkZWYgVDM4IGl0ZW0zODsKKyAgICB0eXBlZGVmIFQzOSBpdGVtMzk7CisgICAgdHlwZWRlZiBUNDAgaXRlbTQwOworICAgIHR5cGVkZWYgVDQxIGl0ZW00MTsKKyAgICB0eXBlZGVmIFQ0MiBpdGVtNDI7CisgICAgdHlwZWRlZiBUNDMgaXRlbTQzOworICAgIHR5cGVkZWYgVDQ0IGl0ZW00NDsKKyAgICB0eXBlZGVmIFQ0NSBpdGVtNDU7CisgICAgdHlwZWRlZiBUNDYgaXRlbTQ2OworICAgIHR5cGVkZWYgVDQ3IGl0ZW00NzsKKyAgICAKKworICAgIHR5cGVkZWYgdm9pZF8gaXRlbTQ4OworICAgIHR5cGVkZWYgVDQ3IGJhY2s7CisgICAgdHlwZWRlZiB2X2l0ZXI8IHR5cGUsMCA+IGJlZ2luOworICAgIHR5cGVkZWYgdl9pdGVyPCB0eXBlLDQ4ID4gZW5kOworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHB1c2hfZnJvbnRfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDQ3PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciwgdHlwZW5hbWUgVCA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3I0ODwKKyAgICAgICAgICAgICAgVAorICAgICAgICAgICAgICAsCisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMxCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM4LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00MCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQ0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00NQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00NgorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcG9wX2Zyb250X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzw0OD4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yNDc8CisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMywgdHlwZW5hbWUgVmVjdG9yOjppdGVtNAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW02CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTgKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTAKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTEsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEyCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEzLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTYKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTcsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE4CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE5LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjIKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjMsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI0CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI1LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNywgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjgKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjksIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMwCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMxLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMywgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzQKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzUsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM2CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM3LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zOAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zOSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDAKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDEsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQyCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQzLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00NAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00NSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDYKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDcKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHB1c2hfYmFja19pbXBsPCBhdXg6OnZlY3Rvcl90YWc8NDc+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yLCB0eXBlbmFtZSBUID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjQ4PAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0wLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW02LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW03CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTExCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE4LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQxCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00MworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00NCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDYKKyAgICAgICAgICAgICAgLAorICAgICAgICAgICAgICBUCisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwb3BfYmFja19pbXBsPCBhdXg6OnZlY3Rvcl90YWc8NDg+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjQ3PAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0wLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW02LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW03CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTExCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE4LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQxCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00MworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00NCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDYKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFYgPgorc3RydWN0IHZfYXQ8IFYsNDggPgoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTQ4IHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAsIHR5cGVuYW1lIFQyMCwgdHlwZW5hbWUgVDIxLCB0eXBlbmFtZSBUMjIsIHR5cGVuYW1lIFQyMywgdHlwZW5hbWUgVDI0CisgICAgLCB0eXBlbmFtZSBUMjUsIHR5cGVuYW1lIFQyNiwgdHlwZW5hbWUgVDI3LCB0eXBlbmFtZSBUMjgsIHR5cGVuYW1lIFQyOQorICAgICwgdHlwZW5hbWUgVDMwLCB0eXBlbmFtZSBUMzEsIHR5cGVuYW1lIFQzMiwgdHlwZW5hbWUgVDMzLCB0eXBlbmFtZSBUMzQKKyAgICAsIHR5cGVuYW1lIFQzNSwgdHlwZW5hbWUgVDM2LCB0eXBlbmFtZSBUMzcsIHR5cGVuYW1lIFQzOCwgdHlwZW5hbWUgVDM5CisgICAgLCB0eXBlbmFtZSBUNDAsIHR5cGVuYW1lIFQ0MSwgdHlwZW5hbWUgVDQyLCB0eXBlbmFtZSBUNDMsIHR5cGVuYW1lIFQ0NAorICAgICwgdHlwZW5hbWUgVDQ1LCB0eXBlbmFtZSBUNDYsIHR5cGVuYW1lIFQ0NywgdHlwZW5hbWUgVDQ4CisgICAgPgorc3RydWN0IHZlY3RvcjQ5Cit7CisgICAgdHlwZWRlZiBhdXg6OnZlY3Rvcl90YWc8NDk+IHRhZzsKKyAgICB0eXBlZGVmIHZlY3RvcjQ5IHR5cGU7CisgICAgdHlwZWRlZiBUMCBpdGVtMDsKKyAgICB0eXBlZGVmIFQxIGl0ZW0xOworICAgIHR5cGVkZWYgVDIgaXRlbTI7CisgICAgdHlwZWRlZiBUMyBpdGVtMzsKKyAgICB0eXBlZGVmIFQ0IGl0ZW00OworICAgIHR5cGVkZWYgVDUgaXRlbTU7CisgICAgdHlwZWRlZiBUNiBpdGVtNjsKKyAgICB0eXBlZGVmIFQ3IGl0ZW03OworICAgIHR5cGVkZWYgVDggaXRlbTg7CisgICAgdHlwZWRlZiBUOSBpdGVtOTsKKyAgICB0eXBlZGVmIFQxMCBpdGVtMTA7CisgICAgdHlwZWRlZiBUMTEgaXRlbTExOworICAgIHR5cGVkZWYgVDEyIGl0ZW0xMjsKKyAgICB0eXBlZGVmIFQxMyBpdGVtMTM7CisgICAgdHlwZWRlZiBUMTQgaXRlbTE0OworICAgIHR5cGVkZWYgVDE1IGl0ZW0xNTsKKyAgICB0eXBlZGVmIFQxNiBpdGVtMTY7CisgICAgdHlwZWRlZiBUMTcgaXRlbTE3OworICAgIHR5cGVkZWYgVDE4IGl0ZW0xODsKKyAgICB0eXBlZGVmIFQxOSBpdGVtMTk7CisgICAgdHlwZWRlZiBUMjAgaXRlbTIwOworICAgIHR5cGVkZWYgVDIxIGl0ZW0yMTsKKyAgICB0eXBlZGVmIFQyMiBpdGVtMjI7CisgICAgdHlwZWRlZiBUMjMgaXRlbTIzOworICAgIHR5cGVkZWYgVDI0IGl0ZW0yNDsKKyAgICB0eXBlZGVmIFQyNSBpdGVtMjU7CisgICAgdHlwZWRlZiBUMjYgaXRlbTI2OworICAgIHR5cGVkZWYgVDI3IGl0ZW0yNzsKKyAgICB0eXBlZGVmIFQyOCBpdGVtMjg7CisgICAgdHlwZWRlZiBUMjkgaXRlbTI5OworICAgIHR5cGVkZWYgVDMwIGl0ZW0zMDsKKyAgICB0eXBlZGVmIFQzMSBpdGVtMzE7CisgICAgdHlwZWRlZiBUMzIgaXRlbTMyOworICAgIHR5cGVkZWYgVDMzIGl0ZW0zMzsKKyAgICB0eXBlZGVmIFQzNCBpdGVtMzQ7CisgICAgdHlwZWRlZiBUMzUgaXRlbTM1OworICAgIHR5cGVkZWYgVDM2IGl0ZW0zNjsKKyAgICB0eXBlZGVmIFQzNyBpdGVtMzc7CisgICAgdHlwZWRlZiBUMzggaXRlbTM4OworICAgIHR5cGVkZWYgVDM5IGl0ZW0zOTsKKyAgICB0eXBlZGVmIFQ0MCBpdGVtNDA7CisgICAgdHlwZWRlZiBUNDEgaXRlbTQxOworICAgIHR5cGVkZWYgVDQyIGl0ZW00MjsKKyAgICB0eXBlZGVmIFQ0MyBpdGVtNDM7CisgICAgdHlwZWRlZiBUNDQgaXRlbTQ0OworICAgIHR5cGVkZWYgVDQ1IGl0ZW00NTsKKyAgICB0eXBlZGVmIFQ0NiBpdGVtNDY7CisgICAgdHlwZWRlZiBUNDcgaXRlbTQ3OworICAgIHR5cGVkZWYgVDQ4IGl0ZW00ODsKKyAgICAKKworICAgIHR5cGVkZWYgdm9pZF8gaXRlbTQ5OworICAgIHR5cGVkZWYgVDQ4IGJhY2s7CisgICAgdHlwZWRlZiB2X2l0ZXI8IHR5cGUsMCA+IGJlZ2luOworICAgIHR5cGVkZWYgdl9pdGVyPCB0eXBlLDQ5ID4gZW5kOworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHB1c2hfZnJvbnRfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDQ4PiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciwgdHlwZW5hbWUgVCA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3I0OTwKKyAgICAgICAgICAgICAgVAorICAgICAgICAgICAgICAsCisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMxCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM4LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00MCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQ0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00NQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00NiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDcKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHBvcF9mcm9udF9pbXBsPCBhdXg6OnZlY3Rvcl90YWc8NDk+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjQ4PAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW03LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW04CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTksIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEwCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTExLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMywgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTQKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTUsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE2CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE3LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjAKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjEsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIyCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIzLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjYKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjcsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI4CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI5LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzIKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzMsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM0CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM1LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNywgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzgKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzksIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQwCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQxLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00MgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00MywgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDQKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDUsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQ2CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQ3LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00OAorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcHVzaF9iYWNrX2ltcGw8IGF1eDo6dmVjdG9yX3RhZzw0OD4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IsIHR5cGVuYW1lIFQgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yNDk8CisgICAgICAgICAgICAgIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW01CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMxCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM4LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00MCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQ0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00NQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00NiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDcKKyAgICAgICAgICAgICAgLAorICAgICAgICAgICAgICBUCisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwb3BfYmFja19pbXBsPCBhdXg6OnZlY3Rvcl90YWc8NDk+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjQ4PAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0wLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW02LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW03CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTExCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE4LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQxCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00MworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00NCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQ3CisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBWID4KK3N0cnVjdCB2X2F0PCBWLDQ5ID4KK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW00OSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgLCB0eXBlbmFtZSBUMjAsIHR5cGVuYW1lIFQyMSwgdHlwZW5hbWUgVDIyLCB0eXBlbmFtZSBUMjMsIHR5cGVuYW1lIFQyNAorICAgICwgdHlwZW5hbWUgVDI1LCB0eXBlbmFtZSBUMjYsIHR5cGVuYW1lIFQyNywgdHlwZW5hbWUgVDI4LCB0eXBlbmFtZSBUMjkKKyAgICAsIHR5cGVuYW1lIFQzMCwgdHlwZW5hbWUgVDMxLCB0eXBlbmFtZSBUMzIsIHR5cGVuYW1lIFQzMywgdHlwZW5hbWUgVDM0CisgICAgLCB0eXBlbmFtZSBUMzUsIHR5cGVuYW1lIFQzNiwgdHlwZW5hbWUgVDM3LCB0eXBlbmFtZSBUMzgsIHR5cGVuYW1lIFQzOQorICAgICwgdHlwZW5hbWUgVDQwLCB0eXBlbmFtZSBUNDEsIHR5cGVuYW1lIFQ0MiwgdHlwZW5hbWUgVDQzLCB0eXBlbmFtZSBUNDQKKyAgICAsIHR5cGVuYW1lIFQ0NSwgdHlwZW5hbWUgVDQ2LCB0eXBlbmFtZSBUNDcsIHR5cGVuYW1lIFQ0OCwgdHlwZW5hbWUgVDQ5CisgICAgPgorc3RydWN0IHZlY3RvcjUwCit7CisgICAgdHlwZWRlZiBhdXg6OnZlY3Rvcl90YWc8NTA+IHRhZzsKKyAgICB0eXBlZGVmIHZlY3RvcjUwIHR5cGU7CisgICAgdHlwZWRlZiBUMCBpdGVtMDsKKyAgICB0eXBlZGVmIFQxIGl0ZW0xOworICAgIHR5cGVkZWYgVDIgaXRlbTI7CisgICAgdHlwZWRlZiBUMyBpdGVtMzsKKyAgICB0eXBlZGVmIFQ0IGl0ZW00OworICAgIHR5cGVkZWYgVDUgaXRlbTU7CisgICAgdHlwZWRlZiBUNiBpdGVtNjsKKyAgICB0eXBlZGVmIFQ3IGl0ZW03OworICAgIHR5cGVkZWYgVDggaXRlbTg7CisgICAgdHlwZWRlZiBUOSBpdGVtOTsKKyAgICB0eXBlZGVmIFQxMCBpdGVtMTA7CisgICAgdHlwZWRlZiBUMTEgaXRlbTExOworICAgIHR5cGVkZWYgVDEyIGl0ZW0xMjsKKyAgICB0eXBlZGVmIFQxMyBpdGVtMTM7CisgICAgdHlwZWRlZiBUMTQgaXRlbTE0OworICAgIHR5cGVkZWYgVDE1IGl0ZW0xNTsKKyAgICB0eXBlZGVmIFQxNiBpdGVtMTY7CisgICAgdHlwZWRlZiBUMTcgaXRlbTE3OworICAgIHR5cGVkZWYgVDE4IGl0ZW0xODsKKyAgICB0eXBlZGVmIFQxOSBpdGVtMTk7CisgICAgdHlwZWRlZiBUMjAgaXRlbTIwOworICAgIHR5cGVkZWYgVDIxIGl0ZW0yMTsKKyAgICB0eXBlZGVmIFQyMiBpdGVtMjI7CisgICAgdHlwZWRlZiBUMjMgaXRlbTIzOworICAgIHR5cGVkZWYgVDI0IGl0ZW0yNDsKKyAgICB0eXBlZGVmIFQyNSBpdGVtMjU7CisgICAgdHlwZWRlZiBUMjYgaXRlbTI2OworICAgIHR5cGVkZWYgVDI3IGl0ZW0yNzsKKyAgICB0eXBlZGVmIFQyOCBpdGVtMjg7CisgICAgdHlwZWRlZiBUMjkgaXRlbTI5OworICAgIHR5cGVkZWYgVDMwIGl0ZW0zMDsKKyAgICB0eXBlZGVmIFQzMSBpdGVtMzE7CisgICAgdHlwZWRlZiBUMzIgaXRlbTMyOworICAgIHR5cGVkZWYgVDMzIGl0ZW0zMzsKKyAgICB0eXBlZGVmIFQzNCBpdGVtMzQ7CisgICAgdHlwZWRlZiBUMzUgaXRlbTM1OworICAgIHR5cGVkZWYgVDM2IGl0ZW0zNjsKKyAgICB0eXBlZGVmIFQzNyBpdGVtMzc7CisgICAgdHlwZWRlZiBUMzggaXRlbTM4OworICAgIHR5cGVkZWYgVDM5IGl0ZW0zOTsKKyAgICB0eXBlZGVmIFQ0MCBpdGVtNDA7CisgICAgdHlwZWRlZiBUNDEgaXRlbTQxOworICAgIHR5cGVkZWYgVDQyIGl0ZW00MjsKKyAgICB0eXBlZGVmIFQ0MyBpdGVtNDM7CisgICAgdHlwZWRlZiBUNDQgaXRlbTQ0OworICAgIHR5cGVkZWYgVDQ1IGl0ZW00NTsKKyAgICB0eXBlZGVmIFQ0NiBpdGVtNDY7CisgICAgdHlwZWRlZiBUNDcgaXRlbTQ3OworICAgIHR5cGVkZWYgVDQ4IGl0ZW00ODsKKyAgICB0eXBlZGVmIFQ0OSBpdGVtNDk7CisgICAgCisKKyAgICB0eXBlZGVmIHZvaWRfIGl0ZW01MDsKKyAgICB0eXBlZGVmIFQ0OSBiYWNrOworICAgIHR5cGVkZWYgdl9pdGVyPCB0eXBlLDAgPiBiZWdpbjsKKyAgICB0eXBlZGVmIHZfaXRlcjwgdHlwZSw1MCA+IGVuZDsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwdXNoX2Zyb250X2ltcGw8IGF1eDo6dmVjdG9yX3RhZzw0OT4gPgoreworICAgIHRlbXBsYXRlPCB0eXBlbmFtZSBWZWN0b3IsIHR5cGVuYW1lIFQgPiBzdHJ1Y3QgYXBwbHkKKyAgICB7CisgICAgICAgIHR5cGVkZWYgdmVjdG9yNTA8CisgICAgICAgICAgICAgIFQKKyAgICAgICAgICAgICAgLAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0wLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW02LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW03CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTExCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE4LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQxCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00MworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00NCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQ3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQ4CisgICAgICAgICAgICA+IHR5cGU7CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBwb3BfZnJvbnRfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDUwPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3I0OTwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTYKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNywgdHlwZW5hbWUgVmVjdG9yOjppdGVtOAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW05LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTIKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTMsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE0CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE1LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNywgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTgKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTksIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIwCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIxLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMywgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjQKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjUsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI2CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI3LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yOAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yOSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzAKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzEsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMyCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMzLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzYKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzcsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM4CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM5LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00MAorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00MSwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDIKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDMsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQ0CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQ1LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00NgorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00NywgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDgKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDkKKyAgICAgICAgICAgID4gdHlwZTsKKyAgICB9OworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHB1c2hfYmFja19pbXBsPCBhdXg6OnZlY3Rvcl90YWc8NDk+ID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yLCB0eXBlbmFtZSBUID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZlY3RvcjUwPAorICAgICAgICAgICAgICB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0wLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW02LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW03CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTExCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE4LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQxCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00MworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00NCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQ3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQ4CisgICAgICAgICAgICAgICwKKyAgICAgICAgICAgICAgVAorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcG9wX2JhY2tfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPDUwPiA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2ZWN0b3I0OTwKKyAgICAgICAgICAgICAgdHlwZW5hbWUgVmVjdG9yOjppdGVtMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW04LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW05CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTEwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xMiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTE2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xNworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0xOCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMTkKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIxCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTIyLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yMworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yNCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjUKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMjYsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI3CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTI4LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0yOQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zMCwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzEKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzIsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTMzCisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM0LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW0zNiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzcKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtMzgsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTM5CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQwLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00MQorICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00MiwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDMKKyAgICAgICAgICAgICwgdHlwZW5hbWUgVmVjdG9yOjppdGVtNDQsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQ1CisgICAgICAgICAgICAsIHR5cGVuYW1lIFZlY3Rvcjo6aXRlbTQ2LCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00NworICAgICAgICAgICAgLCB0eXBlbmFtZSBWZWN0b3I6Oml0ZW00OAorICAgICAgICAgICAgPiB0eXBlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTwgdHlwZW5hbWUgViA+CitzdHJ1Y3Qgdl9hdDwgViw1MCA+Cit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtNTAgdHlwZTsKK307CisKK319CmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvdmVjdG9yL2F1eF8vcHJlcHJvY2Vzc2VkL3BsYWluL3ZlY3RvcjUwX2MuaHBwIGIvbmRuYm9vc3QvbXBsL3ZlY3Rvci9hdXhfL3ByZXByb2Nlc3NlZC9wbGFpbi92ZWN0b3I1MF9jLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40ZTVhNjM5Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL3ZlY3Rvci9hdXhfL3ByZXByb2Nlc3NlZC9wbGFpbi92ZWN0b3I1MF9jLmhwcApAQCAtMCwwICsxLDMyNSBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvdmVjdG9yL3ZlY3RvcjUwX2MuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVAorICAgICwgVCBDMCwgVCBDMSwgVCBDMiwgVCBDMywgVCBDNCwgVCBDNSwgVCBDNiwgVCBDNywgVCBDOCwgVCBDOSwgVCBDMTAKKyAgICAsIFQgQzExLCBUIEMxMiwgVCBDMTMsIFQgQzE0LCBUIEMxNSwgVCBDMTYsIFQgQzE3LCBUIEMxOCwgVCBDMTksIFQgQzIwCisgICAgLCBUIEMyMSwgVCBDMjIsIFQgQzIzLCBUIEMyNCwgVCBDMjUsIFQgQzI2LCBUIEMyNywgVCBDMjgsIFQgQzI5LCBUIEMzMAorICAgICwgVCBDMzEsIFQgQzMyLCBUIEMzMywgVCBDMzQsIFQgQzM1LCBUIEMzNiwgVCBDMzcsIFQgQzM4LCBUIEMzOSwgVCBDNDAKKyAgICA+CitzdHJ1Y3QgdmVjdG9yNDFfYworICAgIDogdmVjdG9yNDE8CisgICAgICAgICAgaW50ZWdyYWxfYzwgVCxDMCA+LCBpbnRlZ3JhbF9jPCBULEMxID4sIGludGVncmFsX2M8IFQsQzIgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzMgPiwgaW50ZWdyYWxfYzwgVCxDNCA+LCBpbnRlZ3JhbF9jPCBULEM1ID4sIGludGVncmFsX2M8IFQsQzYgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzcgPiwgaW50ZWdyYWxfYzwgVCxDOCA+LCBpbnRlZ3JhbF9jPCBULEM5ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMxMCA+LCBpbnRlZ3JhbF9jPCBULEMxMSA+LCBpbnRlZ3JhbF9jPCBULEMxMiA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMTMgPiwgaW50ZWdyYWxfYzwgVCxDMTQgPiwgaW50ZWdyYWxfYzwgVCxDMTUgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzE2ID4sIGludGVncmFsX2M8IFQsQzE3ID4sIGludGVncmFsX2M8IFQsQzE4ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMxOSA+LCBpbnRlZ3JhbF9jPCBULEMyMCA+LCBpbnRlZ3JhbF9jPCBULEMyMSA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMjIgPiwgaW50ZWdyYWxfYzwgVCxDMjMgPiwgaW50ZWdyYWxfYzwgVCxDMjQgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzI1ID4sIGludGVncmFsX2M8IFQsQzI2ID4sIGludGVncmFsX2M8IFQsQzI3ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMyOCA+LCBpbnRlZ3JhbF9jPCBULEMyOSA+LCBpbnRlZ3JhbF9jPCBULEMzMCA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMzEgPiwgaW50ZWdyYWxfYzwgVCxDMzIgPiwgaW50ZWdyYWxfYzwgVCxDMzMgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzM0ID4sIGludGVncmFsX2M8IFQsQzM1ID4sIGludGVncmFsX2M8IFQsQzM2ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMzNyA+LCBpbnRlZ3JhbF9jPCBULEMzOCA+LCBpbnRlZ3JhbF9jPCBULEMzOSA+LCBpbnRlZ3JhbF9jPFQKKyAgICAgICAgLCBDNDA+IAorID4KK3sKKyAgICB0eXBlZGVmIHZlY3RvcjQxX2MgdHlwZTsKKyAgICB0eXBlZGVmIFQgdmFsdWVfdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVAorICAgICwgVCBDMCwgVCBDMSwgVCBDMiwgVCBDMywgVCBDNCwgVCBDNSwgVCBDNiwgVCBDNywgVCBDOCwgVCBDOSwgVCBDMTAKKyAgICAsIFQgQzExLCBUIEMxMiwgVCBDMTMsIFQgQzE0LCBUIEMxNSwgVCBDMTYsIFQgQzE3LCBUIEMxOCwgVCBDMTksIFQgQzIwCisgICAgLCBUIEMyMSwgVCBDMjIsIFQgQzIzLCBUIEMyNCwgVCBDMjUsIFQgQzI2LCBUIEMyNywgVCBDMjgsIFQgQzI5LCBUIEMzMAorICAgICwgVCBDMzEsIFQgQzMyLCBUIEMzMywgVCBDMzQsIFQgQzM1LCBUIEMzNiwgVCBDMzcsIFQgQzM4LCBUIEMzOSwgVCBDNDAKKyAgICAsIFQgQzQxCisgICAgPgorc3RydWN0IHZlY3RvcjQyX2MKKyAgICA6IHZlY3RvcjQyPAorICAgICAgICAgIGludGVncmFsX2M8IFQsQzAgPiwgaW50ZWdyYWxfYzwgVCxDMSA+LCBpbnRlZ3JhbF9jPCBULEMyID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMzID4sIGludGVncmFsX2M8IFQsQzQgPiwgaW50ZWdyYWxfYzwgVCxDNSA+LCBpbnRlZ3JhbF9jPCBULEM2ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEM3ID4sIGludGVncmFsX2M8IFQsQzggPiwgaW50ZWdyYWxfYzwgVCxDOSA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMTAgPiwgaW50ZWdyYWxfYzwgVCxDMTEgPiwgaW50ZWdyYWxfYzwgVCxDMTIgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzEzID4sIGludGVncmFsX2M8IFQsQzE0ID4sIGludGVncmFsX2M8IFQsQzE1ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMxNiA+LCBpbnRlZ3JhbF9jPCBULEMxNyA+LCBpbnRlZ3JhbF9jPCBULEMxOCA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMTkgPiwgaW50ZWdyYWxfYzwgVCxDMjAgPiwgaW50ZWdyYWxfYzwgVCxDMjEgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzIyID4sIGludGVncmFsX2M8IFQsQzIzID4sIGludGVncmFsX2M8IFQsQzI0ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMyNSA+LCBpbnRlZ3JhbF9jPCBULEMyNiA+LCBpbnRlZ3JhbF9jPCBULEMyNyA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMjggPiwgaW50ZWdyYWxfYzwgVCxDMjkgPiwgaW50ZWdyYWxfYzwgVCxDMzAgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzMxID4sIGludGVncmFsX2M8IFQsQzMyID4sIGludGVncmFsX2M8IFQsQzMzID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMzNCA+LCBpbnRlZ3JhbF9jPCBULEMzNSA+LCBpbnRlZ3JhbF9jPCBULEMzNiA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMzcgPiwgaW50ZWdyYWxfYzwgVCxDMzggPiwgaW50ZWdyYWxfYzwgVCxDMzkgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzQwID4sIGludGVncmFsX2M8IFQsQzQxID4gCisgPgoreworICAgIHR5cGVkZWYgdmVjdG9yNDJfYyB0eXBlOworICAgIHR5cGVkZWYgVCB2YWx1ZV90eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUCisgICAgLCBUIEMwLCBUIEMxLCBUIEMyLCBUIEMzLCBUIEM0LCBUIEM1LCBUIEM2LCBUIEM3LCBUIEM4LCBUIEM5LCBUIEMxMAorICAgICwgVCBDMTEsIFQgQzEyLCBUIEMxMywgVCBDMTQsIFQgQzE1LCBUIEMxNiwgVCBDMTcsIFQgQzE4LCBUIEMxOSwgVCBDMjAKKyAgICAsIFQgQzIxLCBUIEMyMiwgVCBDMjMsIFQgQzI0LCBUIEMyNSwgVCBDMjYsIFQgQzI3LCBUIEMyOCwgVCBDMjksIFQgQzMwCisgICAgLCBUIEMzMSwgVCBDMzIsIFQgQzMzLCBUIEMzNCwgVCBDMzUsIFQgQzM2LCBUIEMzNywgVCBDMzgsIFQgQzM5LCBUIEM0MAorICAgICwgVCBDNDEsIFQgQzQyCisgICAgPgorc3RydWN0IHZlY3RvcjQzX2MKKyAgICA6IHZlY3RvcjQzPAorICAgICAgICAgIGludGVncmFsX2M8IFQsQzAgPiwgaW50ZWdyYWxfYzwgVCxDMSA+LCBpbnRlZ3JhbF9jPCBULEMyID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMzID4sIGludGVncmFsX2M8IFQsQzQgPiwgaW50ZWdyYWxfYzwgVCxDNSA+LCBpbnRlZ3JhbF9jPCBULEM2ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEM3ID4sIGludGVncmFsX2M8IFQsQzggPiwgaW50ZWdyYWxfYzwgVCxDOSA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMTAgPiwgaW50ZWdyYWxfYzwgVCxDMTEgPiwgaW50ZWdyYWxfYzwgVCxDMTIgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzEzID4sIGludGVncmFsX2M8IFQsQzE0ID4sIGludGVncmFsX2M8IFQsQzE1ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMxNiA+LCBpbnRlZ3JhbF9jPCBULEMxNyA+LCBpbnRlZ3JhbF9jPCBULEMxOCA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMTkgPiwgaW50ZWdyYWxfYzwgVCxDMjAgPiwgaW50ZWdyYWxfYzwgVCxDMjEgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzIyID4sIGludGVncmFsX2M8IFQsQzIzID4sIGludGVncmFsX2M8IFQsQzI0ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMyNSA+LCBpbnRlZ3JhbF9jPCBULEMyNiA+LCBpbnRlZ3JhbF9jPCBULEMyNyA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMjggPiwgaW50ZWdyYWxfYzwgVCxDMjkgPiwgaW50ZWdyYWxfYzwgVCxDMzAgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzMxID4sIGludGVncmFsX2M8IFQsQzMyID4sIGludGVncmFsX2M8IFQsQzMzID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMzNCA+LCBpbnRlZ3JhbF9jPCBULEMzNSA+LCBpbnRlZ3JhbF9jPCBULEMzNiA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMzcgPiwgaW50ZWdyYWxfYzwgVCxDMzggPiwgaW50ZWdyYWxfYzwgVCxDMzkgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzQwID4sIGludGVncmFsX2M8IFQsQzQxID4sIGludGVncmFsX2M8IFQsQzQyID4gCisgPgoreworICAgIHR5cGVkZWYgdmVjdG9yNDNfYyB0eXBlOworICAgIHR5cGVkZWYgVCB2YWx1ZV90eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUCisgICAgLCBUIEMwLCBUIEMxLCBUIEMyLCBUIEMzLCBUIEM0LCBUIEM1LCBUIEM2LCBUIEM3LCBUIEM4LCBUIEM5LCBUIEMxMAorICAgICwgVCBDMTEsIFQgQzEyLCBUIEMxMywgVCBDMTQsIFQgQzE1LCBUIEMxNiwgVCBDMTcsIFQgQzE4LCBUIEMxOSwgVCBDMjAKKyAgICAsIFQgQzIxLCBUIEMyMiwgVCBDMjMsIFQgQzI0LCBUIEMyNSwgVCBDMjYsIFQgQzI3LCBUIEMyOCwgVCBDMjksIFQgQzMwCisgICAgLCBUIEMzMSwgVCBDMzIsIFQgQzMzLCBUIEMzNCwgVCBDMzUsIFQgQzM2LCBUIEMzNywgVCBDMzgsIFQgQzM5LCBUIEM0MAorICAgICwgVCBDNDEsIFQgQzQyLCBUIEM0MworICAgID4KK3N0cnVjdCB2ZWN0b3I0NF9jCisgICAgOiB2ZWN0b3I0NDwKKyAgICAgICAgICBpbnRlZ3JhbF9jPCBULEMwID4sIGludGVncmFsX2M8IFQsQzEgPiwgaW50ZWdyYWxfYzwgVCxDMiA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMyA+LCBpbnRlZ3JhbF9jPCBULEM0ID4sIGludGVncmFsX2M8IFQsQzUgPiwgaW50ZWdyYWxfYzwgVCxDNiA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDNyA+LCBpbnRlZ3JhbF9jPCBULEM4ID4sIGludGVncmFsX2M8IFQsQzkgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzEwID4sIGludGVncmFsX2M8IFQsQzExID4sIGludGVncmFsX2M8IFQsQzEyID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMxMyA+LCBpbnRlZ3JhbF9jPCBULEMxNCA+LCBpbnRlZ3JhbF9jPCBULEMxNSA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMTYgPiwgaW50ZWdyYWxfYzwgVCxDMTcgPiwgaW50ZWdyYWxfYzwgVCxDMTggPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzE5ID4sIGludGVncmFsX2M8IFQsQzIwID4sIGludGVncmFsX2M8IFQsQzIxID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMyMiA+LCBpbnRlZ3JhbF9jPCBULEMyMyA+LCBpbnRlZ3JhbF9jPCBULEMyNCA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMjUgPiwgaW50ZWdyYWxfYzwgVCxDMjYgPiwgaW50ZWdyYWxfYzwgVCxDMjcgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzI4ID4sIGludGVncmFsX2M8IFQsQzI5ID4sIGludGVncmFsX2M8IFQsQzMwID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMzMSA+LCBpbnRlZ3JhbF9jPCBULEMzMiA+LCBpbnRlZ3JhbF9jPCBULEMzMyA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMzQgPiwgaW50ZWdyYWxfYzwgVCxDMzUgPiwgaW50ZWdyYWxfYzwgVCxDMzYgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzM3ID4sIGludGVncmFsX2M8IFQsQzM4ID4sIGludGVncmFsX2M8IFQsQzM5ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEM0MCA+LCBpbnRlZ3JhbF9jPCBULEM0MSA+LCBpbnRlZ3JhbF9jPCBULEM0MiA+LCBpbnRlZ3JhbF9jPFQKKyAgICAgICAgLCBDNDM+IAorID4KK3sKKyAgICB0eXBlZGVmIHZlY3RvcjQ0X2MgdHlwZTsKKyAgICB0eXBlZGVmIFQgdmFsdWVfdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVAorICAgICwgVCBDMCwgVCBDMSwgVCBDMiwgVCBDMywgVCBDNCwgVCBDNSwgVCBDNiwgVCBDNywgVCBDOCwgVCBDOSwgVCBDMTAKKyAgICAsIFQgQzExLCBUIEMxMiwgVCBDMTMsIFQgQzE0LCBUIEMxNSwgVCBDMTYsIFQgQzE3LCBUIEMxOCwgVCBDMTksIFQgQzIwCisgICAgLCBUIEMyMSwgVCBDMjIsIFQgQzIzLCBUIEMyNCwgVCBDMjUsIFQgQzI2LCBUIEMyNywgVCBDMjgsIFQgQzI5LCBUIEMzMAorICAgICwgVCBDMzEsIFQgQzMyLCBUIEMzMywgVCBDMzQsIFQgQzM1LCBUIEMzNiwgVCBDMzcsIFQgQzM4LCBUIEMzOSwgVCBDNDAKKyAgICAsIFQgQzQxLCBUIEM0MiwgVCBDNDMsIFQgQzQ0CisgICAgPgorc3RydWN0IHZlY3RvcjQ1X2MKKyAgICA6IHZlY3RvcjQ1PAorICAgICAgICAgIGludGVncmFsX2M8IFQsQzAgPiwgaW50ZWdyYWxfYzwgVCxDMSA+LCBpbnRlZ3JhbF9jPCBULEMyID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMzID4sIGludGVncmFsX2M8IFQsQzQgPiwgaW50ZWdyYWxfYzwgVCxDNSA+LCBpbnRlZ3JhbF9jPCBULEM2ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEM3ID4sIGludGVncmFsX2M8IFQsQzggPiwgaW50ZWdyYWxfYzwgVCxDOSA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMTAgPiwgaW50ZWdyYWxfYzwgVCxDMTEgPiwgaW50ZWdyYWxfYzwgVCxDMTIgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzEzID4sIGludGVncmFsX2M8IFQsQzE0ID4sIGludGVncmFsX2M8IFQsQzE1ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMxNiA+LCBpbnRlZ3JhbF9jPCBULEMxNyA+LCBpbnRlZ3JhbF9jPCBULEMxOCA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMTkgPiwgaW50ZWdyYWxfYzwgVCxDMjAgPiwgaW50ZWdyYWxfYzwgVCxDMjEgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzIyID4sIGludGVncmFsX2M8IFQsQzIzID4sIGludGVncmFsX2M8IFQsQzI0ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMyNSA+LCBpbnRlZ3JhbF9jPCBULEMyNiA+LCBpbnRlZ3JhbF9jPCBULEMyNyA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMjggPiwgaW50ZWdyYWxfYzwgVCxDMjkgPiwgaW50ZWdyYWxfYzwgVCxDMzAgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzMxID4sIGludGVncmFsX2M8IFQsQzMyID4sIGludGVncmFsX2M8IFQsQzMzID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMzNCA+LCBpbnRlZ3JhbF9jPCBULEMzNSA+LCBpbnRlZ3JhbF9jPCBULEMzNiA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMzcgPiwgaW50ZWdyYWxfYzwgVCxDMzggPiwgaW50ZWdyYWxfYzwgVCxDMzkgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzQwID4sIGludGVncmFsX2M8IFQsQzQxID4sIGludGVncmFsX2M8IFQsQzQyID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEM0MyA+LCBpbnRlZ3JhbF9jPCBULEM0NCA+IAorID4KK3sKKyAgICB0eXBlZGVmIHZlY3RvcjQ1X2MgdHlwZTsKKyAgICB0eXBlZGVmIFQgdmFsdWVfdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVAorICAgICwgVCBDMCwgVCBDMSwgVCBDMiwgVCBDMywgVCBDNCwgVCBDNSwgVCBDNiwgVCBDNywgVCBDOCwgVCBDOSwgVCBDMTAKKyAgICAsIFQgQzExLCBUIEMxMiwgVCBDMTMsIFQgQzE0LCBUIEMxNSwgVCBDMTYsIFQgQzE3LCBUIEMxOCwgVCBDMTksIFQgQzIwCisgICAgLCBUIEMyMSwgVCBDMjIsIFQgQzIzLCBUIEMyNCwgVCBDMjUsIFQgQzI2LCBUIEMyNywgVCBDMjgsIFQgQzI5LCBUIEMzMAorICAgICwgVCBDMzEsIFQgQzMyLCBUIEMzMywgVCBDMzQsIFQgQzM1LCBUIEMzNiwgVCBDMzcsIFQgQzM4LCBUIEMzOSwgVCBDNDAKKyAgICAsIFQgQzQxLCBUIEM0MiwgVCBDNDMsIFQgQzQ0LCBUIEM0NQorICAgID4KK3N0cnVjdCB2ZWN0b3I0Nl9jCisgICAgOiB2ZWN0b3I0NjwKKyAgICAgICAgICBpbnRlZ3JhbF9jPCBULEMwID4sIGludGVncmFsX2M8IFQsQzEgPiwgaW50ZWdyYWxfYzwgVCxDMiA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMyA+LCBpbnRlZ3JhbF9jPCBULEM0ID4sIGludGVncmFsX2M8IFQsQzUgPiwgaW50ZWdyYWxfYzwgVCxDNiA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDNyA+LCBpbnRlZ3JhbF9jPCBULEM4ID4sIGludGVncmFsX2M8IFQsQzkgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzEwID4sIGludGVncmFsX2M8IFQsQzExID4sIGludGVncmFsX2M8IFQsQzEyID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMxMyA+LCBpbnRlZ3JhbF9jPCBULEMxNCA+LCBpbnRlZ3JhbF9jPCBULEMxNSA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMTYgPiwgaW50ZWdyYWxfYzwgVCxDMTcgPiwgaW50ZWdyYWxfYzwgVCxDMTggPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzE5ID4sIGludGVncmFsX2M8IFQsQzIwID4sIGludGVncmFsX2M8IFQsQzIxID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMyMiA+LCBpbnRlZ3JhbF9jPCBULEMyMyA+LCBpbnRlZ3JhbF9jPCBULEMyNCA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMjUgPiwgaW50ZWdyYWxfYzwgVCxDMjYgPiwgaW50ZWdyYWxfYzwgVCxDMjcgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzI4ID4sIGludGVncmFsX2M8IFQsQzI5ID4sIGludGVncmFsX2M8IFQsQzMwID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMzMSA+LCBpbnRlZ3JhbF9jPCBULEMzMiA+LCBpbnRlZ3JhbF9jPCBULEMzMyA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMzQgPiwgaW50ZWdyYWxfYzwgVCxDMzUgPiwgaW50ZWdyYWxfYzwgVCxDMzYgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzM3ID4sIGludGVncmFsX2M8IFQsQzM4ID4sIGludGVncmFsX2M8IFQsQzM5ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEM0MCA+LCBpbnRlZ3JhbF9jPCBULEM0MSA+LCBpbnRlZ3JhbF9jPCBULEM0MiA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDNDMgPiwgaW50ZWdyYWxfYzwgVCxDNDQgPiwgaW50ZWdyYWxfYzwgVCxDNDUgPiAKKyA+Cit7CisgICAgdHlwZWRlZiB2ZWN0b3I0Nl9jIHR5cGU7CisgICAgdHlwZWRlZiBUIHZhbHVlX3R5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQKKyAgICAsIFQgQzAsIFQgQzEsIFQgQzIsIFQgQzMsIFQgQzQsIFQgQzUsIFQgQzYsIFQgQzcsIFQgQzgsIFQgQzksIFQgQzEwCisgICAgLCBUIEMxMSwgVCBDMTIsIFQgQzEzLCBUIEMxNCwgVCBDMTUsIFQgQzE2LCBUIEMxNywgVCBDMTgsIFQgQzE5LCBUIEMyMAorICAgICwgVCBDMjEsIFQgQzIyLCBUIEMyMywgVCBDMjQsIFQgQzI1LCBUIEMyNiwgVCBDMjcsIFQgQzI4LCBUIEMyOSwgVCBDMzAKKyAgICAsIFQgQzMxLCBUIEMzMiwgVCBDMzMsIFQgQzM0LCBUIEMzNSwgVCBDMzYsIFQgQzM3LCBUIEMzOCwgVCBDMzksIFQgQzQwCisgICAgLCBUIEM0MSwgVCBDNDIsIFQgQzQzLCBUIEM0NCwgVCBDNDUsIFQgQzQ2CisgICAgPgorc3RydWN0IHZlY3RvcjQ3X2MKKyAgICA6IHZlY3RvcjQ3PAorICAgICAgICAgIGludGVncmFsX2M8IFQsQzAgPiwgaW50ZWdyYWxfYzwgVCxDMSA+LCBpbnRlZ3JhbF9jPCBULEMyID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMzID4sIGludGVncmFsX2M8IFQsQzQgPiwgaW50ZWdyYWxfYzwgVCxDNSA+LCBpbnRlZ3JhbF9jPCBULEM2ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEM3ID4sIGludGVncmFsX2M8IFQsQzggPiwgaW50ZWdyYWxfYzwgVCxDOSA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMTAgPiwgaW50ZWdyYWxfYzwgVCxDMTEgPiwgaW50ZWdyYWxfYzwgVCxDMTIgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzEzID4sIGludGVncmFsX2M8IFQsQzE0ID4sIGludGVncmFsX2M8IFQsQzE1ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMxNiA+LCBpbnRlZ3JhbF9jPCBULEMxNyA+LCBpbnRlZ3JhbF9jPCBULEMxOCA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMTkgPiwgaW50ZWdyYWxfYzwgVCxDMjAgPiwgaW50ZWdyYWxfYzwgVCxDMjEgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzIyID4sIGludGVncmFsX2M8IFQsQzIzID4sIGludGVncmFsX2M8IFQsQzI0ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMyNSA+LCBpbnRlZ3JhbF9jPCBULEMyNiA+LCBpbnRlZ3JhbF9jPCBULEMyNyA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMjggPiwgaW50ZWdyYWxfYzwgVCxDMjkgPiwgaW50ZWdyYWxfYzwgVCxDMzAgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzMxID4sIGludGVncmFsX2M8IFQsQzMyID4sIGludGVncmFsX2M8IFQsQzMzID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMzNCA+LCBpbnRlZ3JhbF9jPCBULEMzNSA+LCBpbnRlZ3JhbF9jPCBULEMzNiA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMzcgPiwgaW50ZWdyYWxfYzwgVCxDMzggPiwgaW50ZWdyYWxfYzwgVCxDMzkgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzQwID4sIGludGVncmFsX2M8IFQsQzQxID4sIGludGVncmFsX2M8IFQsQzQyID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEM0MyA+LCBpbnRlZ3JhbF9jPCBULEM0NCA+LCBpbnRlZ3JhbF9jPCBULEM0NSA+LCBpbnRlZ3JhbF9jPFQKKyAgICAgICAgLCBDNDY+IAorID4KK3sKKyAgICB0eXBlZGVmIHZlY3RvcjQ3X2MgdHlwZTsKKyAgICB0eXBlZGVmIFQgdmFsdWVfdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVAorICAgICwgVCBDMCwgVCBDMSwgVCBDMiwgVCBDMywgVCBDNCwgVCBDNSwgVCBDNiwgVCBDNywgVCBDOCwgVCBDOSwgVCBDMTAKKyAgICAsIFQgQzExLCBUIEMxMiwgVCBDMTMsIFQgQzE0LCBUIEMxNSwgVCBDMTYsIFQgQzE3LCBUIEMxOCwgVCBDMTksIFQgQzIwCisgICAgLCBUIEMyMSwgVCBDMjIsIFQgQzIzLCBUIEMyNCwgVCBDMjUsIFQgQzI2LCBUIEMyNywgVCBDMjgsIFQgQzI5LCBUIEMzMAorICAgICwgVCBDMzEsIFQgQzMyLCBUIEMzMywgVCBDMzQsIFQgQzM1LCBUIEMzNiwgVCBDMzcsIFQgQzM4LCBUIEMzOSwgVCBDNDAKKyAgICAsIFQgQzQxLCBUIEM0MiwgVCBDNDMsIFQgQzQ0LCBUIEM0NSwgVCBDNDYsIFQgQzQ3CisgICAgPgorc3RydWN0IHZlY3RvcjQ4X2MKKyAgICA6IHZlY3RvcjQ4PAorICAgICAgICAgIGludGVncmFsX2M8IFQsQzAgPiwgaW50ZWdyYWxfYzwgVCxDMSA+LCBpbnRlZ3JhbF9jPCBULEMyID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMzID4sIGludGVncmFsX2M8IFQsQzQgPiwgaW50ZWdyYWxfYzwgVCxDNSA+LCBpbnRlZ3JhbF9jPCBULEM2ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEM3ID4sIGludGVncmFsX2M8IFQsQzggPiwgaW50ZWdyYWxfYzwgVCxDOSA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMTAgPiwgaW50ZWdyYWxfYzwgVCxDMTEgPiwgaW50ZWdyYWxfYzwgVCxDMTIgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzEzID4sIGludGVncmFsX2M8IFQsQzE0ID4sIGludGVncmFsX2M8IFQsQzE1ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMxNiA+LCBpbnRlZ3JhbF9jPCBULEMxNyA+LCBpbnRlZ3JhbF9jPCBULEMxOCA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMTkgPiwgaW50ZWdyYWxfYzwgVCxDMjAgPiwgaW50ZWdyYWxfYzwgVCxDMjEgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzIyID4sIGludGVncmFsX2M8IFQsQzIzID4sIGludGVncmFsX2M8IFQsQzI0ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMyNSA+LCBpbnRlZ3JhbF9jPCBULEMyNiA+LCBpbnRlZ3JhbF9jPCBULEMyNyA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMjggPiwgaW50ZWdyYWxfYzwgVCxDMjkgPiwgaW50ZWdyYWxfYzwgVCxDMzAgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzMxID4sIGludGVncmFsX2M8IFQsQzMyID4sIGludGVncmFsX2M8IFQsQzMzID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMzNCA+LCBpbnRlZ3JhbF9jPCBULEMzNSA+LCBpbnRlZ3JhbF9jPCBULEMzNiA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMzcgPiwgaW50ZWdyYWxfYzwgVCxDMzggPiwgaW50ZWdyYWxfYzwgVCxDMzkgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzQwID4sIGludGVncmFsX2M8IFQsQzQxID4sIGludGVncmFsX2M8IFQsQzQyID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEM0MyA+LCBpbnRlZ3JhbF9jPCBULEM0NCA+LCBpbnRlZ3JhbF9jPCBULEM0NSA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDNDYgPiwgaW50ZWdyYWxfYzwgVCxDNDcgPiAKKyA+Cit7CisgICAgdHlwZWRlZiB2ZWN0b3I0OF9jIHR5cGU7CisgICAgdHlwZWRlZiBUIHZhbHVlX3R5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQKKyAgICAsIFQgQzAsIFQgQzEsIFQgQzIsIFQgQzMsIFQgQzQsIFQgQzUsIFQgQzYsIFQgQzcsIFQgQzgsIFQgQzksIFQgQzEwCisgICAgLCBUIEMxMSwgVCBDMTIsIFQgQzEzLCBUIEMxNCwgVCBDMTUsIFQgQzE2LCBUIEMxNywgVCBDMTgsIFQgQzE5LCBUIEMyMAorICAgICwgVCBDMjEsIFQgQzIyLCBUIEMyMywgVCBDMjQsIFQgQzI1LCBUIEMyNiwgVCBDMjcsIFQgQzI4LCBUIEMyOSwgVCBDMzAKKyAgICAsIFQgQzMxLCBUIEMzMiwgVCBDMzMsIFQgQzM0LCBUIEMzNSwgVCBDMzYsIFQgQzM3LCBUIEMzOCwgVCBDMzksIFQgQzQwCisgICAgLCBUIEM0MSwgVCBDNDIsIFQgQzQzLCBUIEM0NCwgVCBDNDUsIFQgQzQ2LCBUIEM0NywgVCBDNDgKKyAgICA+CitzdHJ1Y3QgdmVjdG9yNDlfYworICAgIDogdmVjdG9yNDk8CisgICAgICAgICAgaW50ZWdyYWxfYzwgVCxDMCA+LCBpbnRlZ3JhbF9jPCBULEMxID4sIGludGVncmFsX2M8IFQsQzIgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzMgPiwgaW50ZWdyYWxfYzwgVCxDNCA+LCBpbnRlZ3JhbF9jPCBULEM1ID4sIGludGVncmFsX2M8IFQsQzYgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzcgPiwgaW50ZWdyYWxfYzwgVCxDOCA+LCBpbnRlZ3JhbF9jPCBULEM5ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMxMCA+LCBpbnRlZ3JhbF9jPCBULEMxMSA+LCBpbnRlZ3JhbF9jPCBULEMxMiA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMTMgPiwgaW50ZWdyYWxfYzwgVCxDMTQgPiwgaW50ZWdyYWxfYzwgVCxDMTUgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzE2ID4sIGludGVncmFsX2M8IFQsQzE3ID4sIGludGVncmFsX2M8IFQsQzE4ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMxOSA+LCBpbnRlZ3JhbF9jPCBULEMyMCA+LCBpbnRlZ3JhbF9jPCBULEMyMSA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMjIgPiwgaW50ZWdyYWxfYzwgVCxDMjMgPiwgaW50ZWdyYWxfYzwgVCxDMjQgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzI1ID4sIGludGVncmFsX2M8IFQsQzI2ID4sIGludGVncmFsX2M8IFQsQzI3ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMyOCA+LCBpbnRlZ3JhbF9jPCBULEMyOSA+LCBpbnRlZ3JhbF9jPCBULEMzMCA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMzEgPiwgaW50ZWdyYWxfYzwgVCxDMzIgPiwgaW50ZWdyYWxfYzwgVCxDMzMgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzM0ID4sIGludGVncmFsX2M8IFQsQzM1ID4sIGludGVncmFsX2M8IFQsQzM2ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMzNyA+LCBpbnRlZ3JhbF9jPCBULEMzOCA+LCBpbnRlZ3JhbF9jPCBULEMzOSA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDNDAgPiwgaW50ZWdyYWxfYzwgVCxDNDEgPiwgaW50ZWdyYWxfYzwgVCxDNDIgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzQzID4sIGludGVncmFsX2M8IFQsQzQ0ID4sIGludGVncmFsX2M8IFQsQzQ1ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEM0NiA+LCBpbnRlZ3JhbF9jPCBULEM0NyA+LCBpbnRlZ3JhbF9jPCBULEM0OCA+IAorID4KK3sKKyAgICB0eXBlZGVmIHZlY3RvcjQ5X2MgdHlwZTsKKyAgICB0eXBlZGVmIFQgdmFsdWVfdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVAorICAgICwgVCBDMCwgVCBDMSwgVCBDMiwgVCBDMywgVCBDNCwgVCBDNSwgVCBDNiwgVCBDNywgVCBDOCwgVCBDOSwgVCBDMTAKKyAgICAsIFQgQzExLCBUIEMxMiwgVCBDMTMsIFQgQzE0LCBUIEMxNSwgVCBDMTYsIFQgQzE3LCBUIEMxOCwgVCBDMTksIFQgQzIwCisgICAgLCBUIEMyMSwgVCBDMjIsIFQgQzIzLCBUIEMyNCwgVCBDMjUsIFQgQzI2LCBUIEMyNywgVCBDMjgsIFQgQzI5LCBUIEMzMAorICAgICwgVCBDMzEsIFQgQzMyLCBUIEMzMywgVCBDMzQsIFQgQzM1LCBUIEMzNiwgVCBDMzcsIFQgQzM4LCBUIEMzOSwgVCBDNDAKKyAgICAsIFQgQzQxLCBUIEM0MiwgVCBDNDMsIFQgQzQ0LCBUIEM0NSwgVCBDNDYsIFQgQzQ3LCBUIEM0OCwgVCBDNDkKKyAgICA+CitzdHJ1Y3QgdmVjdG9yNTBfYworICAgIDogdmVjdG9yNTA8CisgICAgICAgICAgaW50ZWdyYWxfYzwgVCxDMCA+LCBpbnRlZ3JhbF9jPCBULEMxID4sIGludGVncmFsX2M8IFQsQzIgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzMgPiwgaW50ZWdyYWxfYzwgVCxDNCA+LCBpbnRlZ3JhbF9jPCBULEM1ID4sIGludGVncmFsX2M8IFQsQzYgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzcgPiwgaW50ZWdyYWxfYzwgVCxDOCA+LCBpbnRlZ3JhbF9jPCBULEM5ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMxMCA+LCBpbnRlZ3JhbF9jPCBULEMxMSA+LCBpbnRlZ3JhbF9jPCBULEMxMiA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMTMgPiwgaW50ZWdyYWxfYzwgVCxDMTQgPiwgaW50ZWdyYWxfYzwgVCxDMTUgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzE2ID4sIGludGVncmFsX2M8IFQsQzE3ID4sIGludGVncmFsX2M8IFQsQzE4ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMxOSA+LCBpbnRlZ3JhbF9jPCBULEMyMCA+LCBpbnRlZ3JhbF9jPCBULEMyMSA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMjIgPiwgaW50ZWdyYWxfYzwgVCxDMjMgPiwgaW50ZWdyYWxfYzwgVCxDMjQgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzI1ID4sIGludGVncmFsX2M8IFQsQzI2ID4sIGludGVncmFsX2M8IFQsQzI3ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMyOCA+LCBpbnRlZ3JhbF9jPCBULEMyOSA+LCBpbnRlZ3JhbF9jPCBULEMzMCA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDMzEgPiwgaW50ZWdyYWxfYzwgVCxDMzIgPiwgaW50ZWdyYWxfYzwgVCxDMzMgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzM0ID4sIGludGVncmFsX2M8IFQsQzM1ID4sIGludGVncmFsX2M8IFQsQzM2ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEMzNyA+LCBpbnRlZ3JhbF9jPCBULEMzOCA+LCBpbnRlZ3JhbF9jPCBULEMzOSA+CisgICAgICAgICwgaW50ZWdyYWxfYzwgVCxDNDAgPiwgaW50ZWdyYWxfYzwgVCxDNDEgPiwgaW50ZWdyYWxfYzwgVCxDNDIgPgorICAgICAgICAsIGludGVncmFsX2M8IFQsQzQzID4sIGludGVncmFsX2M8IFQsQzQ0ID4sIGludGVncmFsX2M8IFQsQzQ1ID4KKyAgICAgICAgLCBpbnRlZ3JhbF9jPCBULEM0NiA+LCBpbnRlZ3JhbF9jPCBULEM0NyA+LCBpbnRlZ3JhbF9jPCBULEM0OCA+LCBpbnRlZ3JhbF9jPFQKKyAgICAgICAgLCBDNDk+IAorID4KK3sKKyAgICB0eXBlZGVmIHZlY3RvcjUwX2MgdHlwZTsKKyAgICB0eXBlZGVmIFQgdmFsdWVfdHlwZTsKK307CisKK319CmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvdmVjdG9yL2F1eF8vcHJlcHJvY2Vzc2VkL3R5cGVvZl9iYXNlZC92ZWN0b3IxMC5ocHAgYi9uZG5ib29zdC9tcGwvdmVjdG9yL2F1eF8vcHJlcHJvY2Vzc2VkL3R5cGVvZl9iYXNlZC92ZWN0b3IxMC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTRmNGEyMQotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC92ZWN0b3IvYXV4Xy9wcmVwcm9jZXNzZWQvdHlwZW9mX2Jhc2VkL3ZlY3RvcjEwLmhwcApAQCAtMCwwICsxLDEzOSBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvdmVjdG9yL3ZlY3RvcjEwLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwCisgICAgPgorc3RydWN0IHZlY3RvcjEKKyAgICA6IHZfaXRlbTwKKyAgICAgICAgICBUMAorICAgICAgICAsIHZlY3RvcjA8ICA+CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHZlY3RvcjEgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxCisgICAgPgorc3RydWN0IHZlY3RvcjIKKyAgICA6IHZfaXRlbTwKKyAgICAgICAgICBUMQorICAgICAgICAsIHZlY3RvcjE8VDA+CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHZlY3RvcjIgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMgorICAgID4KK3N0cnVjdCB2ZWN0b3IzCisgICAgOiB2X2l0ZW08CisgICAgICAgICAgVDIKKyAgICAgICAgLCB2ZWN0b3IyPCBUMCxUMSA+CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHZlY3RvcjMgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMKKyAgICA+CitzdHJ1Y3QgdmVjdG9yNAorICAgIDogdl9pdGVtPAorICAgICAgICAgIFQzCisgICAgICAgICwgdmVjdG9yMzwgVDAsVDEsVDIgPgorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB2ZWN0b3I0IHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgID4KK3N0cnVjdCB2ZWN0b3I1CisgICAgOiB2X2l0ZW08CisgICAgICAgICAgVDQKKyAgICAgICAgLCB2ZWN0b3I0PCBUMCxUMSxUMixUMyA+CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHZlY3RvcjUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNQorICAgID4KK3N0cnVjdCB2ZWN0b3I2CisgICAgOiB2X2l0ZW08CisgICAgICAgICAgVDUKKyAgICAgICAgLCB2ZWN0b3I1PCBUMCxUMSxUMixUMyxUNCA+CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHZlY3RvcjYgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYKKyAgICA+CitzdHJ1Y3QgdmVjdG9yNworICAgIDogdl9pdGVtPAorICAgICAgICAgIFQ2CisgICAgICAgICwgdmVjdG9yNjwgVDAsVDEsVDIsVDMsVDQsVDUgPgorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB2ZWN0b3I3IHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNworICAgID4KK3N0cnVjdCB2ZWN0b3I4CisgICAgOiB2X2l0ZW08CisgICAgICAgICAgVDcKKyAgICAgICAgLCB2ZWN0b3I3PCBUMCxUMSxUMixUMyxUNCxUNSxUNiA+CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHZlY3RvcjggdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOAorICAgID4KK3N0cnVjdCB2ZWN0b3I5CisgICAgOiB2X2l0ZW08CisgICAgICAgICAgVDgKKyAgICAgICAgLCB2ZWN0b3I4PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyA+CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHZlY3RvcjkgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICA+CitzdHJ1Y3QgdmVjdG9yMTAKKyAgICA6IHZfaXRlbTwKKyAgICAgICAgICBUOQorICAgICAgICAsIHZlY3Rvcjk8IFQwLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4ID4KKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdmVjdG9yMTAgdHlwZTsKK307CisKK319CmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvdmVjdG9yL2F1eF8vcHJlcHJvY2Vzc2VkL3R5cGVvZl9iYXNlZC92ZWN0b3IxMF9jLmhwcCBiL25kbmJvb3N0L21wbC92ZWN0b3IvYXV4Xy9wcmVwcm9jZXNzZWQvdHlwZW9mX2Jhc2VkL3ZlY3RvcjEwX2MuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEwYTE4MjEKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvdmVjdG9yL2F1eF8vcHJlcHJvY2Vzc2VkL3R5cGVvZl9iYXNlZC92ZWN0b3IxMF9jLmhwcApAQCAtMCwwICsxLDE1NCBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvdmVjdG9yL3ZlY3RvcjEwX2MuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVAorICAgICwgVCBDMAorICAgID4KK3N0cnVjdCB2ZWN0b3IxX2MKKyAgICA6IHZfaXRlbTwKKyAgICAgICAgICBpbnRlZ3JhbF9jPCBULEMwID4KKyAgICAgICAgLCB2ZWN0b3IwX2M8VD4KKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdmVjdG9yMV9jIHR5cGU7CisgICAgdHlwZWRlZiBUIHZhbHVlX3R5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQKKyAgICAsIFQgQzAsIFQgQzEKKyAgICA+CitzdHJ1Y3QgdmVjdG9yMl9jCisgICAgOiB2X2l0ZW08CisgICAgICAgICAgaW50ZWdyYWxfYzwgVCxDMSA+CisgICAgICAgICwgdmVjdG9yMV9jPCBULEMwID4KKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdmVjdG9yMl9jIHR5cGU7CisgICAgdHlwZWRlZiBUIHZhbHVlX3R5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQKKyAgICAsIFQgQzAsIFQgQzEsIFQgQzIKKyAgICA+CitzdHJ1Y3QgdmVjdG9yM19jCisgICAgOiB2X2l0ZW08CisgICAgICAgICAgaW50ZWdyYWxfYzwgVCxDMiA+CisgICAgICAgICwgdmVjdG9yMl9jPCBULEMwLEMxID4KKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdmVjdG9yM19jIHR5cGU7CisgICAgdHlwZWRlZiBUIHZhbHVlX3R5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQKKyAgICAsIFQgQzAsIFQgQzEsIFQgQzIsIFQgQzMKKyAgICA+CitzdHJ1Y3QgdmVjdG9yNF9jCisgICAgOiB2X2l0ZW08CisgICAgICAgICAgaW50ZWdyYWxfYzwgVCxDMyA+CisgICAgICAgICwgdmVjdG9yM19jPCBULEMwLEMxLEMyID4KKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdmVjdG9yNF9jIHR5cGU7CisgICAgdHlwZWRlZiBUIHZhbHVlX3R5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQKKyAgICAsIFQgQzAsIFQgQzEsIFQgQzIsIFQgQzMsIFQgQzQKKyAgICA+CitzdHJ1Y3QgdmVjdG9yNV9jCisgICAgOiB2X2l0ZW08CisgICAgICAgICAgaW50ZWdyYWxfYzwgVCxDNCA+CisgICAgICAgICwgdmVjdG9yNF9jPCBULEMwLEMxLEMyLEMzID4KKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdmVjdG9yNV9jIHR5cGU7CisgICAgdHlwZWRlZiBUIHZhbHVlX3R5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQKKyAgICAsIFQgQzAsIFQgQzEsIFQgQzIsIFQgQzMsIFQgQzQsIFQgQzUKKyAgICA+CitzdHJ1Y3QgdmVjdG9yNl9jCisgICAgOiB2X2l0ZW08CisgICAgICAgICAgaW50ZWdyYWxfYzwgVCxDNSA+CisgICAgICAgICwgdmVjdG9yNV9jPCBULEMwLEMxLEMyLEMzLEM0ID4KKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdmVjdG9yNl9jIHR5cGU7CisgICAgdHlwZWRlZiBUIHZhbHVlX3R5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQKKyAgICAsIFQgQzAsIFQgQzEsIFQgQzIsIFQgQzMsIFQgQzQsIFQgQzUsIFQgQzYKKyAgICA+CitzdHJ1Y3QgdmVjdG9yN19jCisgICAgOiB2X2l0ZW08CisgICAgICAgICAgaW50ZWdyYWxfYzwgVCxDNiA+CisgICAgICAgICwgdmVjdG9yNl9jPCBULEMwLEMxLEMyLEMzLEM0LEM1ID4KKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdmVjdG9yN19jIHR5cGU7CisgICAgdHlwZWRlZiBUIHZhbHVlX3R5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQKKyAgICAsIFQgQzAsIFQgQzEsIFQgQzIsIFQgQzMsIFQgQzQsIFQgQzUsIFQgQzYsIFQgQzcKKyAgICA+CitzdHJ1Y3QgdmVjdG9yOF9jCisgICAgOiB2X2l0ZW08CisgICAgICAgICAgaW50ZWdyYWxfYzwgVCxDNyA+CisgICAgICAgICwgdmVjdG9yN19jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2ID4KKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdmVjdG9yOF9jIHR5cGU7CisgICAgdHlwZWRlZiBUIHZhbHVlX3R5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQKKyAgICAsIFQgQzAsIFQgQzEsIFQgQzIsIFQgQzMsIFQgQzQsIFQgQzUsIFQgQzYsIFQgQzcsIFQgQzgKKyAgICA+CitzdHJ1Y3QgdmVjdG9yOV9jCisgICAgOiB2X2l0ZW08CisgICAgICAgICAgaW50ZWdyYWxfYzwgVCxDOCA+CisgICAgICAgICwgdmVjdG9yOF9jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2LEM3ID4KKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdmVjdG9yOV9jIHR5cGU7CisgICAgdHlwZWRlZiBUIHZhbHVlX3R5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQKKyAgICAsIFQgQzAsIFQgQzEsIFQgQzIsIFQgQzMsIFQgQzQsIFQgQzUsIFQgQzYsIFQgQzcsIFQgQzgsIFQgQzkKKyAgICA+CitzdHJ1Y3QgdmVjdG9yMTBfYworICAgIDogdl9pdGVtPAorICAgICAgICAgIGludGVncmFsX2M8IFQsQzkgPgorICAgICAgICAsIHZlY3RvcjlfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyxDOCA+CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHZlY3RvcjEwX2MgdHlwZTsKKyAgICB0eXBlZGVmIFQgdmFsdWVfdHlwZTsKK307CisKK319CmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvdmVjdG9yL2F1eF8vcHJlcHJvY2Vzc2VkL3R5cGVvZl9iYXNlZC92ZWN0b3IyMC5ocHAgYi9uZG5ib29zdC9tcGwvdmVjdG9yL2F1eF8vcHJlcHJvY2Vzc2VkL3R5cGVvZl9iYXNlZC92ZWN0b3IyMC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGEzNGYzMAotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC92ZWN0b3IvYXV4Xy9wcmVwcm9jZXNzZWQvdHlwZW9mX2Jhc2VkL3ZlY3RvcjIwLmhwcApAQCAtMCwwICsxLDE1OSBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvdmVjdG9yL3ZlY3RvcjIwLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAKKyAgICA+CitzdHJ1Y3QgdmVjdG9yMTEKKyAgICA6IHZfaXRlbTwKKyAgICAgICAgICBUMTAKKyAgICAgICAgLCB2ZWN0b3IxMDwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDkgPgorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB2ZWN0b3IxMSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEKKyAgICA+CitzdHJ1Y3QgdmVjdG9yMTIKKyAgICA6IHZfaXRlbTwKKyAgICAgICAgICBUMTEKKyAgICAgICAgLCB2ZWN0b3IxMTwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwID4KKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdmVjdG9yMTIgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIKKyAgICA+CitzdHJ1Y3QgdmVjdG9yMTMKKyAgICA6IHZfaXRlbTwKKyAgICAgICAgICBUMTIKKyAgICAgICAgLCB2ZWN0b3IxMjwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSA+CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHZlY3RvcjEzIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMKKyAgICA+CitzdHJ1Y3QgdmVjdG9yMTQKKyAgICA6IHZfaXRlbTwKKyAgICAgICAgICBUMTMKKyAgICAgICAgLCB2ZWN0b3IxMzwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIgPgorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB2ZWN0b3IxNCB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICA+CitzdHJ1Y3QgdmVjdG9yMTUKKyAgICA6IHZfaXRlbTwKKyAgICAgICAgICBUMTQKKyAgICAgICAgLCB2ZWN0b3IxNDwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzID4KKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdmVjdG9yMTUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgLCB0eXBlbmFtZSBUMTUKKyAgICA+CitzdHJ1Y3QgdmVjdG9yMTYKKyAgICA6IHZfaXRlbTwKKyAgICAgICAgICBUMTUKKyAgICAgICAgLCB2ZWN0b3IxNTwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzLFQxNCA+CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHZlY3RvcjE2IHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYKKyAgICA+CitzdHJ1Y3QgdmVjdG9yMTcKKyAgICA6IHZfaXRlbTwKKyAgICAgICAgICBUMTYKKyAgICAgICAgLCB2ZWN0b3IxNjwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzLFQxNCxUMTUgPgorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB2ZWN0b3IxNyB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcKKyAgICA+CitzdHJ1Y3QgdmVjdG9yMTgKKyAgICA6IHZfaXRlbTwKKyAgICAgICAgICBUMTcKKyAgICAgICAgLCB2ZWN0b3IxNzwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzLFQxNCxUMTUsVDE2ID4KKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdmVjdG9yMTggdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgKKyAgICA+CitzdHJ1Y3QgdmVjdG9yMTkKKyAgICA6IHZfaXRlbTwKKyAgICAgICAgICBUMTgKKyAgICAgICAgLCB2ZWN0b3IxODwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzLFQxNCxUMTUsVDE2LFQxNyA+CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHZlY3RvcjE5IHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICA+CitzdHJ1Y3QgdmVjdG9yMjAKKyAgICA6IHZfaXRlbTwKKyAgICAgICAgICBUMTkKKyAgICAgICAgLCB2ZWN0b3IxOTwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzLFQxNCxUMTUsVDE2LFQxNyxUMTggPgorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB2ZWN0b3IyMCB0eXBlOworfTsKKworfX0KZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC92ZWN0b3IvYXV4Xy9wcmVwcm9jZXNzZWQvdHlwZW9mX2Jhc2VkL3ZlY3RvcjIwX2MuaHBwIGIvbmRuYm9vc3QvbXBsL3ZlY3Rvci9hdXhfL3ByZXByb2Nlc3NlZC90eXBlb2ZfYmFzZWQvdmVjdG9yMjBfYy5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTUxZTc4ZQotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC92ZWN0b3IvYXV4Xy9wcmVwcm9jZXNzZWQvdHlwZW9mX2Jhc2VkL3ZlY3RvcjIwX2MuaHBwCkBAIC0wLDAgKzEsMTYzIEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC92ZWN0b3IvdmVjdG9yMjBfYy5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUCisgICAgLCBUIEMwLCBUIEMxLCBUIEMyLCBUIEMzLCBUIEM0LCBUIEM1LCBUIEM2LCBUIEM3LCBUIEM4LCBUIEM5LCBUIEMxMAorICAgID4KK3N0cnVjdCB2ZWN0b3IxMV9jCisgICAgOiB2X2l0ZW08CisgICAgICAgICAgaW50ZWdyYWxfYzwgVCxDMTAgPgorICAgICAgICAsIHZlY3RvcjEwX2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcsQzgsQzkgPgorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB2ZWN0b3IxMV9jIHR5cGU7CisgICAgdHlwZWRlZiBUIHZhbHVlX3R5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQKKyAgICAsIFQgQzAsIFQgQzEsIFQgQzIsIFQgQzMsIFQgQzQsIFQgQzUsIFQgQzYsIFQgQzcsIFQgQzgsIFQgQzksIFQgQzEwCisgICAgLCBUIEMxMQorICAgID4KK3N0cnVjdCB2ZWN0b3IxMl9jCisgICAgOiB2X2l0ZW08CisgICAgICAgICAgaW50ZWdyYWxfYzwgVCxDMTEgPgorICAgICAgICAsIHZlY3RvcjExX2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcsQzgsQzksQzEwID4KKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdmVjdG9yMTJfYyB0eXBlOworICAgIHR5cGVkZWYgVCB2YWx1ZV90eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUCisgICAgLCBUIEMwLCBUIEMxLCBUIEMyLCBUIEMzLCBUIEM0LCBUIEM1LCBUIEM2LCBUIEM3LCBUIEM4LCBUIEM5LCBUIEMxMAorICAgICwgVCBDMTEsIFQgQzEyCisgICAgPgorc3RydWN0IHZlY3RvcjEzX2MKKyAgICA6IHZfaXRlbTwKKyAgICAgICAgICBpbnRlZ3JhbF9jPCBULEMxMiA+CisgICAgICAgICwgdmVjdG9yMTJfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyxDOCxDOSxDMTAsQzExID4KKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdmVjdG9yMTNfYyB0eXBlOworICAgIHR5cGVkZWYgVCB2YWx1ZV90eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUCisgICAgLCBUIEMwLCBUIEMxLCBUIEMyLCBUIEMzLCBUIEM0LCBUIEM1LCBUIEM2LCBUIEM3LCBUIEM4LCBUIEM5LCBUIEMxMAorICAgICwgVCBDMTEsIFQgQzEyLCBUIEMxMworICAgID4KK3N0cnVjdCB2ZWN0b3IxNF9jCisgICAgOiB2X2l0ZW08CisgICAgICAgICAgaW50ZWdyYWxfYzwgVCxDMTMgPgorICAgICAgICAsIHZlY3RvcjEzX2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcsQzgsQzksQzEwLEMxMSxDMTIgPgorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB2ZWN0b3IxNF9jIHR5cGU7CisgICAgdHlwZWRlZiBUIHZhbHVlX3R5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQKKyAgICAsIFQgQzAsIFQgQzEsIFQgQzIsIFQgQzMsIFQgQzQsIFQgQzUsIFQgQzYsIFQgQzcsIFQgQzgsIFQgQzksIFQgQzEwCisgICAgLCBUIEMxMSwgVCBDMTIsIFQgQzEzLCBUIEMxNAorICAgID4KK3N0cnVjdCB2ZWN0b3IxNV9jCisgICAgOiB2X2l0ZW08CisgICAgICAgICAgaW50ZWdyYWxfYzwgVCxDMTQgPgorICAgICAgICAsIHZlY3RvcjE0X2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcsQzgsQzksQzEwLEMxMSxDMTIsQzEzID4KKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdmVjdG9yMTVfYyB0eXBlOworICAgIHR5cGVkZWYgVCB2YWx1ZV90eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUCisgICAgLCBUIEMwLCBUIEMxLCBUIEMyLCBUIEMzLCBUIEM0LCBUIEM1LCBUIEM2LCBUIEM3LCBUIEM4LCBUIEM5LCBUIEMxMAorICAgICwgVCBDMTEsIFQgQzEyLCBUIEMxMywgVCBDMTQsIFQgQzE1CisgICAgPgorc3RydWN0IHZlY3RvcjE2X2MKKyAgICA6IHZfaXRlbTwKKyAgICAgICAgICBpbnRlZ3JhbF9jPCBULEMxNSA+CisgICAgICAgICwgdmVjdG9yMTVfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyxDOCxDOSxDMTAsQzExLEMxMixDMTMsQzE0ID4KKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdmVjdG9yMTZfYyB0eXBlOworICAgIHR5cGVkZWYgVCB2YWx1ZV90eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUCisgICAgLCBUIEMwLCBUIEMxLCBUIEMyLCBUIEMzLCBUIEM0LCBUIEM1LCBUIEM2LCBUIEM3LCBUIEM4LCBUIEM5LCBUIEMxMAorICAgICwgVCBDMTEsIFQgQzEyLCBUIEMxMywgVCBDMTQsIFQgQzE1LCBUIEMxNgorICAgID4KK3N0cnVjdCB2ZWN0b3IxN19jCisgICAgOiB2X2l0ZW08CisgICAgICAgICAgaW50ZWdyYWxfYzwgVCxDMTYgPgorICAgICAgICAsIHZlY3RvcjE2X2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcsQzgsQzksQzEwLEMxMSxDMTIsQzEzLEMxNCxDMTUgPgorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB2ZWN0b3IxN19jIHR5cGU7CisgICAgdHlwZWRlZiBUIHZhbHVlX3R5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQKKyAgICAsIFQgQzAsIFQgQzEsIFQgQzIsIFQgQzMsIFQgQzQsIFQgQzUsIFQgQzYsIFQgQzcsIFQgQzgsIFQgQzksIFQgQzEwCisgICAgLCBUIEMxMSwgVCBDMTIsIFQgQzEzLCBUIEMxNCwgVCBDMTUsIFQgQzE2LCBUIEMxNworICAgID4KK3N0cnVjdCB2ZWN0b3IxOF9jCisgICAgOiB2X2l0ZW08CisgICAgICAgICAgaW50ZWdyYWxfYzwgVCxDMTcgPgorICAgICAgICAsIHZlY3RvcjE3X2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcsQzgsQzksQzEwLEMxMSxDMTIsQzEzLEMxNCxDMTUsQzE2ID4KKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdmVjdG9yMThfYyB0eXBlOworICAgIHR5cGVkZWYgVCB2YWx1ZV90eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUCisgICAgLCBUIEMwLCBUIEMxLCBUIEMyLCBUIEMzLCBUIEM0LCBUIEM1LCBUIEM2LCBUIEM3LCBUIEM4LCBUIEM5LCBUIEMxMAorICAgICwgVCBDMTEsIFQgQzEyLCBUIEMxMywgVCBDMTQsIFQgQzE1LCBUIEMxNiwgVCBDMTcsIFQgQzE4CisgICAgPgorc3RydWN0IHZlY3RvcjE5X2MKKyAgICA6IHZfaXRlbTwKKyAgICAgICAgICBpbnRlZ3JhbF9jPCBULEMxOCA+CisgICAgICAgICwgdmVjdG9yMThfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyxDOCxDOSxDMTAsQzExLEMxMixDMTMsQzE0LEMxNSxDMTYsQzE3ID4KKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdmVjdG9yMTlfYyB0eXBlOworICAgIHR5cGVkZWYgVCB2YWx1ZV90eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUCisgICAgLCBUIEMwLCBUIEMxLCBUIEMyLCBUIEMzLCBUIEM0LCBUIEM1LCBUIEM2LCBUIEM3LCBUIEM4LCBUIEM5LCBUIEMxMAorICAgICwgVCBDMTEsIFQgQzEyLCBUIEMxMywgVCBDMTQsIFQgQzE1LCBUIEMxNiwgVCBDMTcsIFQgQzE4LCBUIEMxOQorICAgID4KK3N0cnVjdCB2ZWN0b3IyMF9jCisgICAgOiB2X2l0ZW08CisgICAgICAgICAgaW50ZWdyYWxfYzwgVCxDMTkgPgorICAgICAgICAsIHZlY3RvcjE5X2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcsQzgsQzksQzEwLEMxMSxDMTIsQzEzLEMxNCxDMTUsQzE2LEMxNyxDMTggPgorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB2ZWN0b3IyMF9jIHR5cGU7CisgICAgdHlwZWRlZiBUIHZhbHVlX3R5cGU7Cit9OworCit9fQpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL3ZlY3Rvci9hdXhfL3ByZXByb2Nlc3NlZC90eXBlb2ZfYmFzZWQvdmVjdG9yMzAuaHBwIGIvbmRuYm9vc3QvbXBsL3ZlY3Rvci9hdXhfL3ByZXByb2Nlc3NlZC90eXBlb2ZfYmFzZWQvdmVjdG9yMzAuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE3NmQ1ZGYKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvdmVjdG9yL2F1eF8vcHJlcHJvY2Vzc2VkL3R5cGVvZl9iYXNlZC92ZWN0b3IzMC5ocHAKQEAgLTAsMCArMSwxNzkgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL3ZlY3Rvci92ZWN0b3IzMC5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgLCB0eXBlbmFtZSBUMjAKKyAgICA+CitzdHJ1Y3QgdmVjdG9yMjEKKyAgICA6IHZfaXRlbTwKKyAgICAgICAgICBUMjAKKyAgICAgICAgLCB2ZWN0b3IyMDwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzLFQxNCxUMTUsVDE2LFQxNyxUMTgsVDE5ID4KKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdmVjdG9yMjEgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICwgdHlwZW5hbWUgVDIwLCB0eXBlbmFtZSBUMjEKKyAgICA+CitzdHJ1Y3QgdmVjdG9yMjIKKyAgICA6IHZfaXRlbTwKKyAgICAgICAgICBUMjEKKyAgICAgICAgLCB2ZWN0b3IyMTwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzLFQxNCxUMTUsVDE2LFQxNyxUMTgsVDE5LFQyMCA+CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHZlY3RvcjIyIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAsIHR5cGVuYW1lIFQyMCwgdHlwZW5hbWUgVDIxLCB0eXBlbmFtZSBUMjIKKyAgICA+CitzdHJ1Y3QgdmVjdG9yMjMKKyAgICA6IHZfaXRlbTwKKyAgICAgICAgICBUMjIKKyAgICAgICAgLCB2ZWN0b3IyMjwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzLFQxNCxUMTUsVDE2LFQxNyxUMTgsVDE5LFQyMCxUMjEgPgorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB2ZWN0b3IyMyB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgLCB0eXBlbmFtZSBUMjAsIHR5cGVuYW1lIFQyMSwgdHlwZW5hbWUgVDIyLCB0eXBlbmFtZSBUMjMKKyAgICA+CitzdHJ1Y3QgdmVjdG9yMjQKKyAgICA6IHZfaXRlbTwKKyAgICAgICAgICBUMjMKKyAgICAgICAgLCB2ZWN0b3IyMzwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzLFQxNCxUMTUsVDE2LFQxNyxUMTgsVDE5LFQyMCxUMjEsVDIyID4KKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdmVjdG9yMjQgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICwgdHlwZW5hbWUgVDIwLCB0eXBlbmFtZSBUMjEsIHR5cGVuYW1lIFQyMiwgdHlwZW5hbWUgVDIzLCB0eXBlbmFtZSBUMjQKKyAgICA+CitzdHJ1Y3QgdmVjdG9yMjUKKyAgICA6IHZfaXRlbTwKKyAgICAgICAgICBUMjQKKyAgICAgICAgLCB2ZWN0b3IyNDwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzLFQxNCxUMTUsVDE2LFQxNyxUMTgsVDE5LFQyMCxUMjEsVDIyLFQyMyA+CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHZlY3RvcjI1IHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAsIHR5cGVuYW1lIFQyMCwgdHlwZW5hbWUgVDIxLCB0eXBlbmFtZSBUMjIsIHR5cGVuYW1lIFQyMywgdHlwZW5hbWUgVDI0CisgICAgLCB0eXBlbmFtZSBUMjUKKyAgICA+CitzdHJ1Y3QgdmVjdG9yMjYKKyAgICA6IHZfaXRlbTwKKyAgICAgICAgICBUMjUKKyAgICAgICAgLCB2ZWN0b3IyNTwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzLFQxNCxUMTUsVDE2LFQxNyxUMTgsVDE5LFQyMCxUMjEsVDIyLFQyMyxUMjQgPgorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB2ZWN0b3IyNiB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgLCB0eXBlbmFtZSBUMjAsIHR5cGVuYW1lIFQyMSwgdHlwZW5hbWUgVDIyLCB0eXBlbmFtZSBUMjMsIHR5cGVuYW1lIFQyNAorICAgICwgdHlwZW5hbWUgVDI1LCB0eXBlbmFtZSBUMjYKKyAgICA+CitzdHJ1Y3QgdmVjdG9yMjcKKyAgICA6IHZfaXRlbTwKKyAgICAgICAgICBUMjYKKyAgICAgICAgLCB2ZWN0b3IyNjwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzLFQxNCxUMTUsVDE2LFQxNyxUMTgsVDE5LFQyMCxUMjEsVDIyLFQyMyxUMjQsVDI1ID4KKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdmVjdG9yMjcgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICwgdHlwZW5hbWUgVDIwLCB0eXBlbmFtZSBUMjEsIHR5cGVuYW1lIFQyMiwgdHlwZW5hbWUgVDIzLCB0eXBlbmFtZSBUMjQKKyAgICAsIHR5cGVuYW1lIFQyNSwgdHlwZW5hbWUgVDI2LCB0eXBlbmFtZSBUMjcKKyAgICA+CitzdHJ1Y3QgdmVjdG9yMjgKKyAgICA6IHZfaXRlbTwKKyAgICAgICAgICBUMjcKKyAgICAgICAgLCB2ZWN0b3IyNzwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzLFQxNCxUMTUsVDE2LFQxNyxUMTgsVDE5LFQyMCxUMjEsVDIyLFQyMyxUMjQsVDI1LFQyNiA+CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHZlY3RvcjI4IHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAsIHR5cGVuYW1lIFQyMCwgdHlwZW5hbWUgVDIxLCB0eXBlbmFtZSBUMjIsIHR5cGVuYW1lIFQyMywgdHlwZW5hbWUgVDI0CisgICAgLCB0eXBlbmFtZSBUMjUsIHR5cGVuYW1lIFQyNiwgdHlwZW5hbWUgVDI3LCB0eXBlbmFtZSBUMjgKKyAgICA+CitzdHJ1Y3QgdmVjdG9yMjkKKyAgICA6IHZfaXRlbTwKKyAgICAgICAgICBUMjgKKyAgICAgICAgLCB2ZWN0b3IyODwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzLFQxNCxUMTUsVDE2LFQxNyxUMTgsVDE5LFQyMCxUMjEsVDIyLFQyMyxUMjQsVDI1LFQyNixUMjcgPgorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB2ZWN0b3IyOSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgLCB0eXBlbmFtZSBUMjAsIHR5cGVuYW1lIFQyMSwgdHlwZW5hbWUgVDIyLCB0eXBlbmFtZSBUMjMsIHR5cGVuYW1lIFQyNAorICAgICwgdHlwZW5hbWUgVDI1LCB0eXBlbmFtZSBUMjYsIHR5cGVuYW1lIFQyNywgdHlwZW5hbWUgVDI4LCB0eXBlbmFtZSBUMjkKKyAgICA+CitzdHJ1Y3QgdmVjdG9yMzAKKyAgICA6IHZfaXRlbTwKKyAgICAgICAgICBUMjkKKyAgICAgICAgLCB2ZWN0b3IyOTwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzLFQxNCxUMTUsVDE2LFQxNyxUMTgsVDE5LFQyMCxUMjEsVDIyLFQyMyxUMjQsVDI1LFQyNixUMjcsVDI4ID4KKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdmVjdG9yMzAgdHlwZTsKK307CisKK319CmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvdmVjdG9yL2F1eF8vcHJlcHJvY2Vzc2VkL3R5cGVvZl9iYXNlZC92ZWN0b3IzMF9jLmhwcCBiL25kbmJvb3N0L21wbC92ZWN0b3IvYXV4Xy9wcmVwcm9jZXNzZWQvdHlwZW9mX2Jhc2VkL3ZlY3RvcjMwX2MuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI3ZmEyMzUKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvdmVjdG9yL2F1eF8vcHJlcHJvY2Vzc2VkL3R5cGVvZl9iYXNlZC92ZWN0b3IzMF9jLmhwcApAQCAtMCwwICsxLDE3MyBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvdmVjdG9yL3ZlY3RvcjMwX2MuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVAorICAgICwgVCBDMCwgVCBDMSwgVCBDMiwgVCBDMywgVCBDNCwgVCBDNSwgVCBDNiwgVCBDNywgVCBDOCwgVCBDOSwgVCBDMTAKKyAgICAsIFQgQzExLCBUIEMxMiwgVCBDMTMsIFQgQzE0LCBUIEMxNSwgVCBDMTYsIFQgQzE3LCBUIEMxOCwgVCBDMTksIFQgQzIwCisgICAgPgorc3RydWN0IHZlY3RvcjIxX2MKKyAgICA6IHZfaXRlbTwKKyAgICAgICAgICBpbnRlZ3JhbF9jPCBULEMyMCA+CisgICAgICAgICwgdmVjdG9yMjBfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyxDOCxDOSxDMTAsQzExLEMxMixDMTMsQzE0LEMxNSxDMTYsQzE3LEMxOCxDMTkgPgorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB2ZWN0b3IyMV9jIHR5cGU7CisgICAgdHlwZWRlZiBUIHZhbHVlX3R5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQKKyAgICAsIFQgQzAsIFQgQzEsIFQgQzIsIFQgQzMsIFQgQzQsIFQgQzUsIFQgQzYsIFQgQzcsIFQgQzgsIFQgQzksIFQgQzEwCisgICAgLCBUIEMxMSwgVCBDMTIsIFQgQzEzLCBUIEMxNCwgVCBDMTUsIFQgQzE2LCBUIEMxNywgVCBDMTgsIFQgQzE5LCBUIEMyMAorICAgICwgVCBDMjEKKyAgICA+CitzdHJ1Y3QgdmVjdG9yMjJfYworICAgIDogdl9pdGVtPAorICAgICAgICAgIGludGVncmFsX2M8IFQsQzIxID4KKyAgICAgICAgLCB2ZWN0b3IyMV9jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2LEM3LEM4LEM5LEMxMCxDMTEsQzEyLEMxMyxDMTQsQzE1LEMxNixDMTcsQzE4LEMxOSxDMjAgPgorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB2ZWN0b3IyMl9jIHR5cGU7CisgICAgdHlwZWRlZiBUIHZhbHVlX3R5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQKKyAgICAsIFQgQzAsIFQgQzEsIFQgQzIsIFQgQzMsIFQgQzQsIFQgQzUsIFQgQzYsIFQgQzcsIFQgQzgsIFQgQzksIFQgQzEwCisgICAgLCBUIEMxMSwgVCBDMTIsIFQgQzEzLCBUIEMxNCwgVCBDMTUsIFQgQzE2LCBUIEMxNywgVCBDMTgsIFQgQzE5LCBUIEMyMAorICAgICwgVCBDMjEsIFQgQzIyCisgICAgPgorc3RydWN0IHZlY3RvcjIzX2MKKyAgICA6IHZfaXRlbTwKKyAgICAgICAgICBpbnRlZ3JhbF9jPCBULEMyMiA+CisgICAgICAgICwgdmVjdG9yMjJfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyxDOCxDOSxDMTAsQzExLEMxMixDMTMsQzE0LEMxNSxDMTYsQzE3LEMxOCxDMTksQzIwLEMyMSA+CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHZlY3RvcjIzX2MgdHlwZTsKKyAgICB0eXBlZGVmIFQgdmFsdWVfdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVAorICAgICwgVCBDMCwgVCBDMSwgVCBDMiwgVCBDMywgVCBDNCwgVCBDNSwgVCBDNiwgVCBDNywgVCBDOCwgVCBDOSwgVCBDMTAKKyAgICAsIFQgQzExLCBUIEMxMiwgVCBDMTMsIFQgQzE0LCBUIEMxNSwgVCBDMTYsIFQgQzE3LCBUIEMxOCwgVCBDMTksIFQgQzIwCisgICAgLCBUIEMyMSwgVCBDMjIsIFQgQzIzCisgICAgPgorc3RydWN0IHZlY3RvcjI0X2MKKyAgICA6IHZfaXRlbTwKKyAgICAgICAgICBpbnRlZ3JhbF9jPCBULEMyMyA+CisgICAgICAgICwgdmVjdG9yMjNfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyxDOCxDOSxDMTAsQzExLEMxMixDMTMsQzE0LEMxNSxDMTYsQzE3LEMxOCxDMTksQzIwLEMyMSxDMjIgPgorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB2ZWN0b3IyNF9jIHR5cGU7CisgICAgdHlwZWRlZiBUIHZhbHVlX3R5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQKKyAgICAsIFQgQzAsIFQgQzEsIFQgQzIsIFQgQzMsIFQgQzQsIFQgQzUsIFQgQzYsIFQgQzcsIFQgQzgsIFQgQzksIFQgQzEwCisgICAgLCBUIEMxMSwgVCBDMTIsIFQgQzEzLCBUIEMxNCwgVCBDMTUsIFQgQzE2LCBUIEMxNywgVCBDMTgsIFQgQzE5LCBUIEMyMAorICAgICwgVCBDMjEsIFQgQzIyLCBUIEMyMywgVCBDMjQKKyAgICA+CitzdHJ1Y3QgdmVjdG9yMjVfYworICAgIDogdl9pdGVtPAorICAgICAgICAgIGludGVncmFsX2M8IFQsQzI0ID4KKyAgICAgICAgLCB2ZWN0b3IyNF9jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2LEM3LEM4LEM5LEMxMCxDMTEsQzEyLEMxMyxDMTQsQzE1LEMxNixDMTcsQzE4LEMxOSxDMjAsQzIxLEMyMixDMjMgPgorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB2ZWN0b3IyNV9jIHR5cGU7CisgICAgdHlwZWRlZiBUIHZhbHVlX3R5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQKKyAgICAsIFQgQzAsIFQgQzEsIFQgQzIsIFQgQzMsIFQgQzQsIFQgQzUsIFQgQzYsIFQgQzcsIFQgQzgsIFQgQzksIFQgQzEwCisgICAgLCBUIEMxMSwgVCBDMTIsIFQgQzEzLCBUIEMxNCwgVCBDMTUsIFQgQzE2LCBUIEMxNywgVCBDMTgsIFQgQzE5LCBUIEMyMAorICAgICwgVCBDMjEsIFQgQzIyLCBUIEMyMywgVCBDMjQsIFQgQzI1CisgICAgPgorc3RydWN0IHZlY3RvcjI2X2MKKyAgICA6IHZfaXRlbTwKKyAgICAgICAgICBpbnRlZ3JhbF9jPCBULEMyNSA+CisgICAgICAgICwgdmVjdG9yMjVfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyxDOCxDOSxDMTAsQzExLEMxMixDMTMsQzE0LEMxNSxDMTYsQzE3LEMxOCxDMTksQzIwLEMyMSxDMjIsQzIzLEMyNCA+CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHZlY3RvcjI2X2MgdHlwZTsKKyAgICB0eXBlZGVmIFQgdmFsdWVfdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVAorICAgICwgVCBDMCwgVCBDMSwgVCBDMiwgVCBDMywgVCBDNCwgVCBDNSwgVCBDNiwgVCBDNywgVCBDOCwgVCBDOSwgVCBDMTAKKyAgICAsIFQgQzExLCBUIEMxMiwgVCBDMTMsIFQgQzE0LCBUIEMxNSwgVCBDMTYsIFQgQzE3LCBUIEMxOCwgVCBDMTksIFQgQzIwCisgICAgLCBUIEMyMSwgVCBDMjIsIFQgQzIzLCBUIEMyNCwgVCBDMjUsIFQgQzI2CisgICAgPgorc3RydWN0IHZlY3RvcjI3X2MKKyAgICA6IHZfaXRlbTwKKyAgICAgICAgICBpbnRlZ3JhbF9jPCBULEMyNiA+CisgICAgICAgICwgdmVjdG9yMjZfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyxDOCxDOSxDMTAsQzExLEMxMixDMTMsQzE0LEMxNSxDMTYsQzE3LEMxOCxDMTksQzIwLEMyMSxDMjIsQzIzLEMyNCxDMjUgPgorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB2ZWN0b3IyN19jIHR5cGU7CisgICAgdHlwZWRlZiBUIHZhbHVlX3R5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQKKyAgICAsIFQgQzAsIFQgQzEsIFQgQzIsIFQgQzMsIFQgQzQsIFQgQzUsIFQgQzYsIFQgQzcsIFQgQzgsIFQgQzksIFQgQzEwCisgICAgLCBUIEMxMSwgVCBDMTIsIFQgQzEzLCBUIEMxNCwgVCBDMTUsIFQgQzE2LCBUIEMxNywgVCBDMTgsIFQgQzE5LCBUIEMyMAorICAgICwgVCBDMjEsIFQgQzIyLCBUIEMyMywgVCBDMjQsIFQgQzI1LCBUIEMyNiwgVCBDMjcKKyAgICA+CitzdHJ1Y3QgdmVjdG9yMjhfYworICAgIDogdl9pdGVtPAorICAgICAgICAgIGludGVncmFsX2M8IFQsQzI3ID4KKyAgICAgICAgLCB2ZWN0b3IyN19jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2LEM3LEM4LEM5LEMxMCxDMTEsQzEyLEMxMyxDMTQsQzE1LEMxNixDMTcsQzE4LEMxOSxDMjAsQzIxLEMyMixDMjMsQzI0LEMyNSxDMjYgPgorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB2ZWN0b3IyOF9jIHR5cGU7CisgICAgdHlwZWRlZiBUIHZhbHVlX3R5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQKKyAgICAsIFQgQzAsIFQgQzEsIFQgQzIsIFQgQzMsIFQgQzQsIFQgQzUsIFQgQzYsIFQgQzcsIFQgQzgsIFQgQzksIFQgQzEwCisgICAgLCBUIEMxMSwgVCBDMTIsIFQgQzEzLCBUIEMxNCwgVCBDMTUsIFQgQzE2LCBUIEMxNywgVCBDMTgsIFQgQzE5LCBUIEMyMAorICAgICwgVCBDMjEsIFQgQzIyLCBUIEMyMywgVCBDMjQsIFQgQzI1LCBUIEMyNiwgVCBDMjcsIFQgQzI4CisgICAgPgorc3RydWN0IHZlY3RvcjI5X2MKKyAgICA6IHZfaXRlbTwKKyAgICAgICAgICBpbnRlZ3JhbF9jPCBULEMyOCA+CisgICAgICAgICwgdmVjdG9yMjhfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyxDOCxDOSxDMTAsQzExLEMxMixDMTMsQzE0LEMxNSxDMTYsQzE3LEMxOCxDMTksQzIwLEMyMSxDMjIsQzIzLEMyNCxDMjUsQzI2LEMyNyA+CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHZlY3RvcjI5X2MgdHlwZTsKKyAgICB0eXBlZGVmIFQgdmFsdWVfdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVAorICAgICwgVCBDMCwgVCBDMSwgVCBDMiwgVCBDMywgVCBDNCwgVCBDNSwgVCBDNiwgVCBDNywgVCBDOCwgVCBDOSwgVCBDMTAKKyAgICAsIFQgQzExLCBUIEMxMiwgVCBDMTMsIFQgQzE0LCBUIEMxNSwgVCBDMTYsIFQgQzE3LCBUIEMxOCwgVCBDMTksIFQgQzIwCisgICAgLCBUIEMyMSwgVCBDMjIsIFQgQzIzLCBUIEMyNCwgVCBDMjUsIFQgQzI2LCBUIEMyNywgVCBDMjgsIFQgQzI5CisgICAgPgorc3RydWN0IHZlY3RvcjMwX2MKKyAgICA6IHZfaXRlbTwKKyAgICAgICAgICBpbnRlZ3JhbF9jPCBULEMyOSA+CisgICAgICAgICwgdmVjdG9yMjlfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyxDOCxDOSxDMTAsQzExLEMxMixDMTMsQzE0LEMxNSxDMTYsQzE3LEMxOCxDMTksQzIwLEMyMSxDMjIsQzIzLEMyNCxDMjUsQzI2LEMyNyxDMjggPgorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB2ZWN0b3IzMF9jIHR5cGU7CisgICAgdHlwZWRlZiBUIHZhbHVlX3R5cGU7Cit9OworCit9fQpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL3ZlY3Rvci9hdXhfL3ByZXByb2Nlc3NlZC90eXBlb2ZfYmFzZWQvdmVjdG9yNDAuaHBwIGIvbmRuYm9vc3QvbXBsL3ZlY3Rvci9hdXhfL3ByZXByb2Nlc3NlZC90eXBlb2ZfYmFzZWQvdmVjdG9yNDAuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdhMTQyMzUKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvdmVjdG9yL2F1eF8vcHJlcHJvY2Vzc2VkL3R5cGVvZl9iYXNlZC92ZWN0b3I0MC5ocHAKQEAgLTAsMCArMSwxOTkgQEAKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworCisvLyBQcmVwcm9jZXNzZWQgdmVyc2lvbiBvZiAibmRuYm9vc3QvbXBsL3ZlY3Rvci92ZWN0b3I0MC5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgLCB0eXBlbmFtZSBUMjAsIHR5cGVuYW1lIFQyMSwgdHlwZW5hbWUgVDIyLCB0eXBlbmFtZSBUMjMsIHR5cGVuYW1lIFQyNAorICAgICwgdHlwZW5hbWUgVDI1LCB0eXBlbmFtZSBUMjYsIHR5cGVuYW1lIFQyNywgdHlwZW5hbWUgVDI4LCB0eXBlbmFtZSBUMjkKKyAgICAsIHR5cGVuYW1lIFQzMAorICAgID4KK3N0cnVjdCB2ZWN0b3IzMQorICAgIDogdl9pdGVtPAorICAgICAgICAgIFQzMAorICAgICAgICAsIHZlY3RvcjMwPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMsVDE0LFQxNSxUMTYsVDE3LFQxOCxUMTksVDIwLFQyMSxUMjIsVDIzLFQyNCxUMjUsVDI2LFQyNyxUMjgsVDI5ID4KKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdmVjdG9yMzEgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICwgdHlwZW5hbWUgVDIwLCB0eXBlbmFtZSBUMjEsIHR5cGVuYW1lIFQyMiwgdHlwZW5hbWUgVDIzLCB0eXBlbmFtZSBUMjQKKyAgICAsIHR5cGVuYW1lIFQyNSwgdHlwZW5hbWUgVDI2LCB0eXBlbmFtZSBUMjcsIHR5cGVuYW1lIFQyOCwgdHlwZW5hbWUgVDI5CisgICAgLCB0eXBlbmFtZSBUMzAsIHR5cGVuYW1lIFQzMQorICAgID4KK3N0cnVjdCB2ZWN0b3IzMgorICAgIDogdl9pdGVtPAorICAgICAgICAgIFQzMQorICAgICAgICAsIHZlY3RvcjMxPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMsVDE0LFQxNSxUMTYsVDE3LFQxOCxUMTksVDIwLFQyMSxUMjIsVDIzLFQyNCxUMjUsVDI2LFQyNyxUMjgsVDI5LFQzMCA+CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHZlY3RvcjMyIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAsIHR5cGVuYW1lIFQyMCwgdHlwZW5hbWUgVDIxLCB0eXBlbmFtZSBUMjIsIHR5cGVuYW1lIFQyMywgdHlwZW5hbWUgVDI0CisgICAgLCB0eXBlbmFtZSBUMjUsIHR5cGVuYW1lIFQyNiwgdHlwZW5hbWUgVDI3LCB0eXBlbmFtZSBUMjgsIHR5cGVuYW1lIFQyOQorICAgICwgdHlwZW5hbWUgVDMwLCB0eXBlbmFtZSBUMzEsIHR5cGVuYW1lIFQzMgorICAgID4KK3N0cnVjdCB2ZWN0b3IzMworICAgIDogdl9pdGVtPAorICAgICAgICAgIFQzMgorICAgICAgICAsIHZlY3RvcjMyPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMsVDE0LFQxNSxUMTYsVDE3LFQxOCxUMTksVDIwLFQyMSxUMjIsVDIzLFQyNCxUMjUsVDI2LFQyNyxUMjgsVDI5LFQzMCxUMzEgPgorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB2ZWN0b3IzMyB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgLCB0eXBlbmFtZSBUMjAsIHR5cGVuYW1lIFQyMSwgdHlwZW5hbWUgVDIyLCB0eXBlbmFtZSBUMjMsIHR5cGVuYW1lIFQyNAorICAgICwgdHlwZW5hbWUgVDI1LCB0eXBlbmFtZSBUMjYsIHR5cGVuYW1lIFQyNywgdHlwZW5hbWUgVDI4LCB0eXBlbmFtZSBUMjkKKyAgICAsIHR5cGVuYW1lIFQzMCwgdHlwZW5hbWUgVDMxLCB0eXBlbmFtZSBUMzIsIHR5cGVuYW1lIFQzMworICAgID4KK3N0cnVjdCB2ZWN0b3IzNAorICAgIDogdl9pdGVtPAorICAgICAgICAgIFQzMworICAgICAgICAsIHZlY3RvcjMzPCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMsVDE0LFQxNSxUMTYsVDE3LFQxOCxUMTksVDIwLFQyMSxUMjIsVDIzLFQyNCxUMjUsVDI2LFQyNyxUMjgsVDI5LFQzMCxUMzEsVDMyID4KKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdmVjdG9yMzQgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICwgdHlwZW5hbWUgVDIwLCB0eXBlbmFtZSBUMjEsIHR5cGVuYW1lIFQyMiwgdHlwZW5hbWUgVDIzLCB0eXBlbmFtZSBUMjQKKyAgICAsIHR5cGVuYW1lIFQyNSwgdHlwZW5hbWUgVDI2LCB0eXBlbmFtZSBUMjcsIHR5cGVuYW1lIFQyOCwgdHlwZW5hbWUgVDI5CisgICAgLCB0eXBlbmFtZSBUMzAsIHR5cGVuYW1lIFQzMSwgdHlwZW5hbWUgVDMyLCB0eXBlbmFtZSBUMzMsIHR5cGVuYW1lIFQzNAorICAgID4KK3N0cnVjdCB2ZWN0b3IzNQorICAgIDogdl9pdGVtPAorICAgICAgICAgIFQzNAorICAgICAgICAsIHZlY3RvcjM0PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMsVDE0LFQxNSxUMTYsVDE3LFQxOCxUMTksVDIwLFQyMSxUMjIsVDIzLFQyNCxUMjUsVDI2LFQyNyxUMjgsVDI5LFQzMCxUMzEsVDMyLFQzMyA+CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHZlY3RvcjM1IHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAsIHR5cGVuYW1lIFQyMCwgdHlwZW5hbWUgVDIxLCB0eXBlbmFtZSBUMjIsIHR5cGVuYW1lIFQyMywgdHlwZW5hbWUgVDI0CisgICAgLCB0eXBlbmFtZSBUMjUsIHR5cGVuYW1lIFQyNiwgdHlwZW5hbWUgVDI3LCB0eXBlbmFtZSBUMjgsIHR5cGVuYW1lIFQyOQorICAgICwgdHlwZW5hbWUgVDMwLCB0eXBlbmFtZSBUMzEsIHR5cGVuYW1lIFQzMiwgdHlwZW5hbWUgVDMzLCB0eXBlbmFtZSBUMzQKKyAgICAsIHR5cGVuYW1lIFQzNQorICAgID4KK3N0cnVjdCB2ZWN0b3IzNgorICAgIDogdl9pdGVtPAorICAgICAgICAgIFQzNQorICAgICAgICAsIHZlY3RvcjM1PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMsVDE0LFQxNSxUMTYsVDE3LFQxOCxUMTksVDIwLFQyMSxUMjIsVDIzLFQyNCxUMjUsVDI2LFQyNyxUMjgsVDI5LFQzMCxUMzEsVDMyLFQzMyxUMzQgPgorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB2ZWN0b3IzNiB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgLCB0eXBlbmFtZSBUMjAsIHR5cGVuYW1lIFQyMSwgdHlwZW5hbWUgVDIyLCB0eXBlbmFtZSBUMjMsIHR5cGVuYW1lIFQyNAorICAgICwgdHlwZW5hbWUgVDI1LCB0eXBlbmFtZSBUMjYsIHR5cGVuYW1lIFQyNywgdHlwZW5hbWUgVDI4LCB0eXBlbmFtZSBUMjkKKyAgICAsIHR5cGVuYW1lIFQzMCwgdHlwZW5hbWUgVDMxLCB0eXBlbmFtZSBUMzIsIHR5cGVuYW1lIFQzMywgdHlwZW5hbWUgVDM0CisgICAgLCB0eXBlbmFtZSBUMzUsIHR5cGVuYW1lIFQzNgorICAgID4KK3N0cnVjdCB2ZWN0b3IzNworICAgIDogdl9pdGVtPAorICAgICAgICAgIFQzNgorICAgICAgICAsIHZlY3RvcjM2PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMsVDE0LFQxNSxUMTYsVDE3LFQxOCxUMTksVDIwLFQyMSxUMjIsVDIzLFQyNCxUMjUsVDI2LFQyNyxUMjgsVDI5LFQzMCxUMzEsVDMyLFQzMyxUMzQsVDM1ID4KKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdmVjdG9yMzcgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICwgdHlwZW5hbWUgVDIwLCB0eXBlbmFtZSBUMjEsIHR5cGVuYW1lIFQyMiwgdHlwZW5hbWUgVDIzLCB0eXBlbmFtZSBUMjQKKyAgICAsIHR5cGVuYW1lIFQyNSwgdHlwZW5hbWUgVDI2LCB0eXBlbmFtZSBUMjcsIHR5cGVuYW1lIFQyOCwgdHlwZW5hbWUgVDI5CisgICAgLCB0eXBlbmFtZSBUMzAsIHR5cGVuYW1lIFQzMSwgdHlwZW5hbWUgVDMyLCB0eXBlbmFtZSBUMzMsIHR5cGVuYW1lIFQzNAorICAgICwgdHlwZW5hbWUgVDM1LCB0eXBlbmFtZSBUMzYsIHR5cGVuYW1lIFQzNworICAgID4KK3N0cnVjdCB2ZWN0b3IzOAorICAgIDogdl9pdGVtPAorICAgICAgICAgIFQzNworICAgICAgICAsIHZlY3RvcjM3PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMsVDE0LFQxNSxUMTYsVDE3LFQxOCxUMTksVDIwLFQyMSxUMjIsVDIzLFQyNCxUMjUsVDI2LFQyNyxUMjgsVDI5LFQzMCxUMzEsVDMyLFQzMyxUMzQsVDM1LFQzNiA+CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHZlY3RvcjM4IHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAsIHR5cGVuYW1lIFQyMCwgdHlwZW5hbWUgVDIxLCB0eXBlbmFtZSBUMjIsIHR5cGVuYW1lIFQyMywgdHlwZW5hbWUgVDI0CisgICAgLCB0eXBlbmFtZSBUMjUsIHR5cGVuYW1lIFQyNiwgdHlwZW5hbWUgVDI3LCB0eXBlbmFtZSBUMjgsIHR5cGVuYW1lIFQyOQorICAgICwgdHlwZW5hbWUgVDMwLCB0eXBlbmFtZSBUMzEsIHR5cGVuYW1lIFQzMiwgdHlwZW5hbWUgVDMzLCB0eXBlbmFtZSBUMzQKKyAgICAsIHR5cGVuYW1lIFQzNSwgdHlwZW5hbWUgVDM2LCB0eXBlbmFtZSBUMzcsIHR5cGVuYW1lIFQzOAorICAgID4KK3N0cnVjdCB2ZWN0b3IzOQorICAgIDogdl9pdGVtPAorICAgICAgICAgIFQzOAorICAgICAgICAsIHZlY3RvcjM4PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMsVDE0LFQxNSxUMTYsVDE3LFQxOCxUMTksVDIwLFQyMSxUMjIsVDIzLFQyNCxUMjUsVDI2LFQyNyxUMjgsVDI5LFQzMCxUMzEsVDMyLFQzMyxUMzQsVDM1LFQzNixUMzcgPgorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB2ZWN0b3IzOSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgLCB0eXBlbmFtZSBUMjAsIHR5cGVuYW1lIFQyMSwgdHlwZW5hbWUgVDIyLCB0eXBlbmFtZSBUMjMsIHR5cGVuYW1lIFQyNAorICAgICwgdHlwZW5hbWUgVDI1LCB0eXBlbmFtZSBUMjYsIHR5cGVuYW1lIFQyNywgdHlwZW5hbWUgVDI4LCB0eXBlbmFtZSBUMjkKKyAgICAsIHR5cGVuYW1lIFQzMCwgdHlwZW5hbWUgVDMxLCB0eXBlbmFtZSBUMzIsIHR5cGVuYW1lIFQzMywgdHlwZW5hbWUgVDM0CisgICAgLCB0eXBlbmFtZSBUMzUsIHR5cGVuYW1lIFQzNiwgdHlwZW5hbWUgVDM3LCB0eXBlbmFtZSBUMzgsIHR5cGVuYW1lIFQzOQorICAgID4KK3N0cnVjdCB2ZWN0b3I0MAorICAgIDogdl9pdGVtPAorICAgICAgICAgIFQzOQorICAgICAgICAsIHZlY3RvcjM5PCBUMCxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUMTAsVDExLFQxMixUMTMsVDE0LFQxNSxUMTYsVDE3LFQxOCxUMTksVDIwLFQyMSxUMjIsVDIzLFQyNCxUMjUsVDI2LFQyNyxUMjgsVDI5LFQzMCxUMzEsVDMyLFQzMyxUMzQsVDM1LFQzNixUMzcsVDM4ID4KKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdmVjdG9yNDAgdHlwZTsKK307CisKK319CmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvdmVjdG9yL2F1eF8vcHJlcHJvY2Vzc2VkL3R5cGVvZl9iYXNlZC92ZWN0b3I0MF9jLmhwcCBiL25kbmJvb3N0L21wbC92ZWN0b3IvYXV4Xy9wcmVwcm9jZXNzZWQvdHlwZW9mX2Jhc2VkL3ZlY3RvcjQwX2MuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFhNzQ4YTkKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvdmVjdG9yL2F1eF8vcHJlcHJvY2Vzc2VkL3R5cGVvZl9iYXNlZC92ZWN0b3I0MF9jLmhwcApAQCAtMCwwICsxLDE4MyBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvdmVjdG9yL3ZlY3RvcjQwX2MuaHBwIiBoZWFkZXIKKy8vIC0tIERPIE5PVCBtb2RpZnkgYnkgaGFuZCEKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVAorICAgICwgVCBDMCwgVCBDMSwgVCBDMiwgVCBDMywgVCBDNCwgVCBDNSwgVCBDNiwgVCBDNywgVCBDOCwgVCBDOSwgVCBDMTAKKyAgICAsIFQgQzExLCBUIEMxMiwgVCBDMTMsIFQgQzE0LCBUIEMxNSwgVCBDMTYsIFQgQzE3LCBUIEMxOCwgVCBDMTksIFQgQzIwCisgICAgLCBUIEMyMSwgVCBDMjIsIFQgQzIzLCBUIEMyNCwgVCBDMjUsIFQgQzI2LCBUIEMyNywgVCBDMjgsIFQgQzI5LCBUIEMzMAorICAgID4KK3N0cnVjdCB2ZWN0b3IzMV9jCisgICAgOiB2X2l0ZW08CisgICAgICAgICAgaW50ZWdyYWxfYzwgVCxDMzAgPgorICAgICAgICAsIHZlY3RvcjMwX2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcsQzgsQzksQzEwLEMxMSxDMTIsQzEzLEMxNCxDMTUsQzE2LEMxNyxDMTgsQzE5LEMyMCxDMjEsQzIyLEMyMyxDMjQsQzI1LEMyNixDMjcsQzI4LEMyOSA+CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHZlY3RvcjMxX2MgdHlwZTsKKyAgICB0eXBlZGVmIFQgdmFsdWVfdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVAorICAgICwgVCBDMCwgVCBDMSwgVCBDMiwgVCBDMywgVCBDNCwgVCBDNSwgVCBDNiwgVCBDNywgVCBDOCwgVCBDOSwgVCBDMTAKKyAgICAsIFQgQzExLCBUIEMxMiwgVCBDMTMsIFQgQzE0LCBUIEMxNSwgVCBDMTYsIFQgQzE3LCBUIEMxOCwgVCBDMTksIFQgQzIwCisgICAgLCBUIEMyMSwgVCBDMjIsIFQgQzIzLCBUIEMyNCwgVCBDMjUsIFQgQzI2LCBUIEMyNywgVCBDMjgsIFQgQzI5LCBUIEMzMAorICAgICwgVCBDMzEKKyAgICA+CitzdHJ1Y3QgdmVjdG9yMzJfYworICAgIDogdl9pdGVtPAorICAgICAgICAgIGludGVncmFsX2M8IFQsQzMxID4KKyAgICAgICAgLCB2ZWN0b3IzMV9jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2LEM3LEM4LEM5LEMxMCxDMTEsQzEyLEMxMyxDMTQsQzE1LEMxNixDMTcsQzE4LEMxOSxDMjAsQzIxLEMyMixDMjMsQzI0LEMyNSxDMjYsQzI3LEMyOCxDMjksQzMwID4KKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdmVjdG9yMzJfYyB0eXBlOworICAgIHR5cGVkZWYgVCB2YWx1ZV90eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUCisgICAgLCBUIEMwLCBUIEMxLCBUIEMyLCBUIEMzLCBUIEM0LCBUIEM1LCBUIEM2LCBUIEM3LCBUIEM4LCBUIEM5LCBUIEMxMAorICAgICwgVCBDMTEsIFQgQzEyLCBUIEMxMywgVCBDMTQsIFQgQzE1LCBUIEMxNiwgVCBDMTcsIFQgQzE4LCBUIEMxOSwgVCBDMjAKKyAgICAsIFQgQzIxLCBUIEMyMiwgVCBDMjMsIFQgQzI0LCBUIEMyNSwgVCBDMjYsIFQgQzI3LCBUIEMyOCwgVCBDMjksIFQgQzMwCisgICAgLCBUIEMzMSwgVCBDMzIKKyAgICA+CitzdHJ1Y3QgdmVjdG9yMzNfYworICAgIDogdl9pdGVtPAorICAgICAgICAgIGludGVncmFsX2M8IFQsQzMyID4KKyAgICAgICAgLCB2ZWN0b3IzMl9jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2LEM3LEM4LEM5LEMxMCxDMTEsQzEyLEMxMyxDMTQsQzE1LEMxNixDMTcsQzE4LEMxOSxDMjAsQzIxLEMyMixDMjMsQzI0LEMyNSxDMjYsQzI3LEMyOCxDMjksQzMwLEMzMSA+CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHZlY3RvcjMzX2MgdHlwZTsKKyAgICB0eXBlZGVmIFQgdmFsdWVfdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVAorICAgICwgVCBDMCwgVCBDMSwgVCBDMiwgVCBDMywgVCBDNCwgVCBDNSwgVCBDNiwgVCBDNywgVCBDOCwgVCBDOSwgVCBDMTAKKyAgICAsIFQgQzExLCBUIEMxMiwgVCBDMTMsIFQgQzE0LCBUIEMxNSwgVCBDMTYsIFQgQzE3LCBUIEMxOCwgVCBDMTksIFQgQzIwCisgICAgLCBUIEMyMSwgVCBDMjIsIFQgQzIzLCBUIEMyNCwgVCBDMjUsIFQgQzI2LCBUIEMyNywgVCBDMjgsIFQgQzI5LCBUIEMzMAorICAgICwgVCBDMzEsIFQgQzMyLCBUIEMzMworICAgID4KK3N0cnVjdCB2ZWN0b3IzNF9jCisgICAgOiB2X2l0ZW08CisgICAgICAgICAgaW50ZWdyYWxfYzwgVCxDMzMgPgorICAgICAgICAsIHZlY3RvcjMzX2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcsQzgsQzksQzEwLEMxMSxDMTIsQzEzLEMxNCxDMTUsQzE2LEMxNyxDMTgsQzE5LEMyMCxDMjEsQzIyLEMyMyxDMjQsQzI1LEMyNixDMjcsQzI4LEMyOSxDMzAsQzMxLEMzMiA+CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHZlY3RvcjM0X2MgdHlwZTsKKyAgICB0eXBlZGVmIFQgdmFsdWVfdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVAorICAgICwgVCBDMCwgVCBDMSwgVCBDMiwgVCBDMywgVCBDNCwgVCBDNSwgVCBDNiwgVCBDNywgVCBDOCwgVCBDOSwgVCBDMTAKKyAgICAsIFQgQzExLCBUIEMxMiwgVCBDMTMsIFQgQzE0LCBUIEMxNSwgVCBDMTYsIFQgQzE3LCBUIEMxOCwgVCBDMTksIFQgQzIwCisgICAgLCBUIEMyMSwgVCBDMjIsIFQgQzIzLCBUIEMyNCwgVCBDMjUsIFQgQzI2LCBUIEMyNywgVCBDMjgsIFQgQzI5LCBUIEMzMAorICAgICwgVCBDMzEsIFQgQzMyLCBUIEMzMywgVCBDMzQKKyAgICA+CitzdHJ1Y3QgdmVjdG9yMzVfYworICAgIDogdl9pdGVtPAorICAgICAgICAgIGludGVncmFsX2M8IFQsQzM0ID4KKyAgICAgICAgLCB2ZWN0b3IzNF9jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2LEM3LEM4LEM5LEMxMCxDMTEsQzEyLEMxMyxDMTQsQzE1LEMxNixDMTcsQzE4LEMxOSxDMjAsQzIxLEMyMixDMjMsQzI0LEMyNSxDMjYsQzI3LEMyOCxDMjksQzMwLEMzMSxDMzIsQzMzID4KKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdmVjdG9yMzVfYyB0eXBlOworICAgIHR5cGVkZWYgVCB2YWx1ZV90eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUCisgICAgLCBUIEMwLCBUIEMxLCBUIEMyLCBUIEMzLCBUIEM0LCBUIEM1LCBUIEM2LCBUIEM3LCBUIEM4LCBUIEM5LCBUIEMxMAorICAgICwgVCBDMTEsIFQgQzEyLCBUIEMxMywgVCBDMTQsIFQgQzE1LCBUIEMxNiwgVCBDMTcsIFQgQzE4LCBUIEMxOSwgVCBDMjAKKyAgICAsIFQgQzIxLCBUIEMyMiwgVCBDMjMsIFQgQzI0LCBUIEMyNSwgVCBDMjYsIFQgQzI3LCBUIEMyOCwgVCBDMjksIFQgQzMwCisgICAgLCBUIEMzMSwgVCBDMzIsIFQgQzMzLCBUIEMzNCwgVCBDMzUKKyAgICA+CitzdHJ1Y3QgdmVjdG9yMzZfYworICAgIDogdl9pdGVtPAorICAgICAgICAgIGludGVncmFsX2M8IFQsQzM1ID4KKyAgICAgICAgLCB2ZWN0b3IzNV9jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2LEM3LEM4LEM5LEMxMCxDMTEsQzEyLEMxMyxDMTQsQzE1LEMxNixDMTcsQzE4LEMxOSxDMjAsQzIxLEMyMixDMjMsQzI0LEMyNSxDMjYsQzI3LEMyOCxDMjksQzMwLEMzMSxDMzIsQzMzLEMzNCA+CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHZlY3RvcjM2X2MgdHlwZTsKKyAgICB0eXBlZGVmIFQgdmFsdWVfdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVAorICAgICwgVCBDMCwgVCBDMSwgVCBDMiwgVCBDMywgVCBDNCwgVCBDNSwgVCBDNiwgVCBDNywgVCBDOCwgVCBDOSwgVCBDMTAKKyAgICAsIFQgQzExLCBUIEMxMiwgVCBDMTMsIFQgQzE0LCBUIEMxNSwgVCBDMTYsIFQgQzE3LCBUIEMxOCwgVCBDMTksIFQgQzIwCisgICAgLCBUIEMyMSwgVCBDMjIsIFQgQzIzLCBUIEMyNCwgVCBDMjUsIFQgQzI2LCBUIEMyNywgVCBDMjgsIFQgQzI5LCBUIEMzMAorICAgICwgVCBDMzEsIFQgQzMyLCBUIEMzMywgVCBDMzQsIFQgQzM1LCBUIEMzNgorICAgID4KK3N0cnVjdCB2ZWN0b3IzN19jCisgICAgOiB2X2l0ZW08CisgICAgICAgICAgaW50ZWdyYWxfYzwgVCxDMzYgPgorICAgICAgICAsIHZlY3RvcjM2X2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcsQzgsQzksQzEwLEMxMSxDMTIsQzEzLEMxNCxDMTUsQzE2LEMxNyxDMTgsQzE5LEMyMCxDMjEsQzIyLEMyMyxDMjQsQzI1LEMyNixDMjcsQzI4LEMyOSxDMzAsQzMxLEMzMixDMzMsQzM0LEMzNSA+CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHZlY3RvcjM3X2MgdHlwZTsKKyAgICB0eXBlZGVmIFQgdmFsdWVfdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVAorICAgICwgVCBDMCwgVCBDMSwgVCBDMiwgVCBDMywgVCBDNCwgVCBDNSwgVCBDNiwgVCBDNywgVCBDOCwgVCBDOSwgVCBDMTAKKyAgICAsIFQgQzExLCBUIEMxMiwgVCBDMTMsIFQgQzE0LCBUIEMxNSwgVCBDMTYsIFQgQzE3LCBUIEMxOCwgVCBDMTksIFQgQzIwCisgICAgLCBUIEMyMSwgVCBDMjIsIFQgQzIzLCBUIEMyNCwgVCBDMjUsIFQgQzI2LCBUIEMyNywgVCBDMjgsIFQgQzI5LCBUIEMzMAorICAgICwgVCBDMzEsIFQgQzMyLCBUIEMzMywgVCBDMzQsIFQgQzM1LCBUIEMzNiwgVCBDMzcKKyAgICA+CitzdHJ1Y3QgdmVjdG9yMzhfYworICAgIDogdl9pdGVtPAorICAgICAgICAgIGludGVncmFsX2M8IFQsQzM3ID4KKyAgICAgICAgLCB2ZWN0b3IzN19jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2LEM3LEM4LEM5LEMxMCxDMTEsQzEyLEMxMyxDMTQsQzE1LEMxNixDMTcsQzE4LEMxOSxDMjAsQzIxLEMyMixDMjMsQzI0LEMyNSxDMjYsQzI3LEMyOCxDMjksQzMwLEMzMSxDMzIsQzMzLEMzNCxDMzUsQzM2ID4KKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdmVjdG9yMzhfYyB0eXBlOworICAgIHR5cGVkZWYgVCB2YWx1ZV90eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUCisgICAgLCBUIEMwLCBUIEMxLCBUIEMyLCBUIEMzLCBUIEM0LCBUIEM1LCBUIEM2LCBUIEM3LCBUIEM4LCBUIEM5LCBUIEMxMAorICAgICwgVCBDMTEsIFQgQzEyLCBUIEMxMywgVCBDMTQsIFQgQzE1LCBUIEMxNiwgVCBDMTcsIFQgQzE4LCBUIEMxOSwgVCBDMjAKKyAgICAsIFQgQzIxLCBUIEMyMiwgVCBDMjMsIFQgQzI0LCBUIEMyNSwgVCBDMjYsIFQgQzI3LCBUIEMyOCwgVCBDMjksIFQgQzMwCisgICAgLCBUIEMzMSwgVCBDMzIsIFQgQzMzLCBUIEMzNCwgVCBDMzUsIFQgQzM2LCBUIEMzNywgVCBDMzgKKyAgICA+CitzdHJ1Y3QgdmVjdG9yMzlfYworICAgIDogdl9pdGVtPAorICAgICAgICAgIGludGVncmFsX2M8IFQsQzM4ID4KKyAgICAgICAgLCB2ZWN0b3IzOF9jPCBULEMwLEMxLEMyLEMzLEM0LEM1LEM2LEM3LEM4LEM5LEMxMCxDMTEsQzEyLEMxMyxDMTQsQzE1LEMxNixDMTcsQzE4LEMxOSxDMjAsQzIxLEMyMixDMjMsQzI0LEMyNSxDMjYsQzI3LEMyOCxDMjksQzMwLEMzMSxDMzIsQzMzLEMzNCxDMzUsQzM2LEMzNyA+CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHZlY3RvcjM5X2MgdHlwZTsKKyAgICB0eXBlZGVmIFQgdmFsdWVfdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVAorICAgICwgVCBDMCwgVCBDMSwgVCBDMiwgVCBDMywgVCBDNCwgVCBDNSwgVCBDNiwgVCBDNywgVCBDOCwgVCBDOSwgVCBDMTAKKyAgICAsIFQgQzExLCBUIEMxMiwgVCBDMTMsIFQgQzE0LCBUIEMxNSwgVCBDMTYsIFQgQzE3LCBUIEMxOCwgVCBDMTksIFQgQzIwCisgICAgLCBUIEMyMSwgVCBDMjIsIFQgQzIzLCBUIEMyNCwgVCBDMjUsIFQgQzI2LCBUIEMyNywgVCBDMjgsIFQgQzI5LCBUIEMzMAorICAgICwgVCBDMzEsIFQgQzMyLCBUIEMzMywgVCBDMzQsIFQgQzM1LCBUIEMzNiwgVCBDMzcsIFQgQzM4LCBUIEMzOQorICAgID4KK3N0cnVjdCB2ZWN0b3I0MF9jCisgICAgOiB2X2l0ZW08CisgICAgICAgICAgaW50ZWdyYWxfYzwgVCxDMzkgPgorICAgICAgICAsIHZlY3RvcjM5X2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcsQzgsQzksQzEwLEMxMSxDMTIsQzEzLEMxNCxDMTUsQzE2LEMxNyxDMTgsQzE5LEMyMCxDMjEsQzIyLEMyMyxDMjQsQzI1LEMyNixDMjcsQzI4LEMyOSxDMzAsQzMxLEMzMixDMzMsQzM0LEMzNSxDMzYsQzM3LEMzOCA+CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHZlY3RvcjQwX2MgdHlwZTsKKyAgICB0eXBlZGVmIFQgdmFsdWVfdHlwZTsKK307CisKK319CmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvdmVjdG9yL2F1eF8vcHJlcHJvY2Vzc2VkL3R5cGVvZl9iYXNlZC92ZWN0b3I1MC5ocHAgYi9uZG5ib29zdC9tcGwvdmVjdG9yL2F1eF8vcHJlcHJvY2Vzc2VkL3R5cGVvZl9iYXNlZC92ZWN0b3I1MC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWY2YWU2NwotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC92ZWN0b3IvYXV4Xy9wcmVwcm9jZXNzZWQvdHlwZW9mX2Jhc2VkL3ZlY3RvcjUwLmhwcApAQCAtMCwwICsxLDIxOSBAQAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisKKy8vIFByZXByb2Nlc3NlZCB2ZXJzaW9uIG9mICJuZG5ib29zdC9tcGwvdmVjdG9yL3ZlY3RvcjUwLmhwcCIgaGVhZGVyCisvLyAtLSBETyBOT1QgbW9kaWZ5IGJ5IGhhbmQhCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAsIHR5cGVuYW1lIFQyMCwgdHlwZW5hbWUgVDIxLCB0eXBlbmFtZSBUMjIsIHR5cGVuYW1lIFQyMywgdHlwZW5hbWUgVDI0CisgICAgLCB0eXBlbmFtZSBUMjUsIHR5cGVuYW1lIFQyNiwgdHlwZW5hbWUgVDI3LCB0eXBlbmFtZSBUMjgsIHR5cGVuYW1lIFQyOQorICAgICwgdHlwZW5hbWUgVDMwLCB0eXBlbmFtZSBUMzEsIHR5cGVuYW1lIFQzMiwgdHlwZW5hbWUgVDMzLCB0eXBlbmFtZSBUMzQKKyAgICAsIHR5cGVuYW1lIFQzNSwgdHlwZW5hbWUgVDM2LCB0eXBlbmFtZSBUMzcsIHR5cGVuYW1lIFQzOCwgdHlwZW5hbWUgVDM5CisgICAgLCB0eXBlbmFtZSBUNDAKKyAgICA+CitzdHJ1Y3QgdmVjdG9yNDEKKyAgICA6IHZfaXRlbTwKKyAgICAgICAgICBUNDAKKyAgICAgICAgLCB2ZWN0b3I0MDwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzLFQxNCxUMTUsVDE2LFQxNyxUMTgsVDE5LFQyMCxUMjEsVDIyLFQyMyxUMjQsVDI1LFQyNixUMjcsVDI4LFQyOSxUMzAsVDMxLFQzMixUMzMsVDM0LFQzNSxUMzYsVDM3LFQzOCxUMzkgPgorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB2ZWN0b3I0MSB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgLCB0eXBlbmFtZSBUMjAsIHR5cGVuYW1lIFQyMSwgdHlwZW5hbWUgVDIyLCB0eXBlbmFtZSBUMjMsIHR5cGVuYW1lIFQyNAorICAgICwgdHlwZW5hbWUgVDI1LCB0eXBlbmFtZSBUMjYsIHR5cGVuYW1lIFQyNywgdHlwZW5hbWUgVDI4LCB0eXBlbmFtZSBUMjkKKyAgICAsIHR5cGVuYW1lIFQzMCwgdHlwZW5hbWUgVDMxLCB0eXBlbmFtZSBUMzIsIHR5cGVuYW1lIFQzMywgdHlwZW5hbWUgVDM0CisgICAgLCB0eXBlbmFtZSBUMzUsIHR5cGVuYW1lIFQzNiwgdHlwZW5hbWUgVDM3LCB0eXBlbmFtZSBUMzgsIHR5cGVuYW1lIFQzOQorICAgICwgdHlwZW5hbWUgVDQwLCB0eXBlbmFtZSBUNDEKKyAgICA+CitzdHJ1Y3QgdmVjdG9yNDIKKyAgICA6IHZfaXRlbTwKKyAgICAgICAgICBUNDEKKyAgICAgICAgLCB2ZWN0b3I0MTwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzLFQxNCxUMTUsVDE2LFQxNyxUMTgsVDE5LFQyMCxUMjEsVDIyLFQyMyxUMjQsVDI1LFQyNixUMjcsVDI4LFQyOSxUMzAsVDMxLFQzMixUMzMsVDM0LFQzNSxUMzYsVDM3LFQzOCxUMzksVDQwID4KKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdmVjdG9yNDIgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICwgdHlwZW5hbWUgVDIwLCB0eXBlbmFtZSBUMjEsIHR5cGVuYW1lIFQyMiwgdHlwZW5hbWUgVDIzLCB0eXBlbmFtZSBUMjQKKyAgICAsIHR5cGVuYW1lIFQyNSwgdHlwZW5hbWUgVDI2LCB0eXBlbmFtZSBUMjcsIHR5cGVuYW1lIFQyOCwgdHlwZW5hbWUgVDI5CisgICAgLCB0eXBlbmFtZSBUMzAsIHR5cGVuYW1lIFQzMSwgdHlwZW5hbWUgVDMyLCB0eXBlbmFtZSBUMzMsIHR5cGVuYW1lIFQzNAorICAgICwgdHlwZW5hbWUgVDM1LCB0eXBlbmFtZSBUMzYsIHR5cGVuYW1lIFQzNywgdHlwZW5hbWUgVDM4LCB0eXBlbmFtZSBUMzkKKyAgICAsIHR5cGVuYW1lIFQ0MCwgdHlwZW5hbWUgVDQxLCB0eXBlbmFtZSBUNDIKKyAgICA+CitzdHJ1Y3QgdmVjdG9yNDMKKyAgICA6IHZfaXRlbTwKKyAgICAgICAgICBUNDIKKyAgICAgICAgLCB2ZWN0b3I0MjwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzLFQxNCxUMTUsVDE2LFQxNyxUMTgsVDE5LFQyMCxUMjEsVDIyLFQyMyxUMjQsVDI1LFQyNixUMjcsVDI4LFQyOSxUMzAsVDMxLFQzMixUMzMsVDM0LFQzNSxUMzYsVDM3LFQzOCxUMzksVDQwLFQ0MSA+CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHZlY3RvcjQzIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAsIHR5cGVuYW1lIFQyMCwgdHlwZW5hbWUgVDIxLCB0eXBlbmFtZSBUMjIsIHR5cGVuYW1lIFQyMywgdHlwZW5hbWUgVDI0CisgICAgLCB0eXBlbmFtZSBUMjUsIHR5cGVuYW1lIFQyNiwgdHlwZW5hbWUgVDI3LCB0eXBlbmFtZSBUMjgsIHR5cGVuYW1lIFQyOQorICAgICwgdHlwZW5hbWUgVDMwLCB0eXBlbmFtZSBUMzEsIHR5cGVuYW1lIFQzMiwgdHlwZW5hbWUgVDMzLCB0eXBlbmFtZSBUMzQKKyAgICAsIHR5cGVuYW1lIFQzNSwgdHlwZW5hbWUgVDM2LCB0eXBlbmFtZSBUMzcsIHR5cGVuYW1lIFQzOCwgdHlwZW5hbWUgVDM5CisgICAgLCB0eXBlbmFtZSBUNDAsIHR5cGVuYW1lIFQ0MSwgdHlwZW5hbWUgVDQyLCB0eXBlbmFtZSBUNDMKKyAgICA+CitzdHJ1Y3QgdmVjdG9yNDQKKyAgICA6IHZfaXRlbTwKKyAgICAgICAgICBUNDMKKyAgICAgICAgLCB2ZWN0b3I0MzwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzLFQxNCxUMTUsVDE2LFQxNyxUMTgsVDE5LFQyMCxUMjEsVDIyLFQyMyxUMjQsVDI1LFQyNixUMjcsVDI4LFQyOSxUMzAsVDMxLFQzMixUMzMsVDM0LFQzNSxUMzYsVDM3LFQzOCxUMzksVDQwLFQ0MSxUNDIgPgorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB2ZWN0b3I0NCB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgLCB0eXBlbmFtZSBUMjAsIHR5cGVuYW1lIFQyMSwgdHlwZW5hbWUgVDIyLCB0eXBlbmFtZSBUMjMsIHR5cGVuYW1lIFQyNAorICAgICwgdHlwZW5hbWUgVDI1LCB0eXBlbmFtZSBUMjYsIHR5cGVuYW1lIFQyNywgdHlwZW5hbWUgVDI4LCB0eXBlbmFtZSBUMjkKKyAgICAsIHR5cGVuYW1lIFQzMCwgdHlwZW5hbWUgVDMxLCB0eXBlbmFtZSBUMzIsIHR5cGVuYW1lIFQzMywgdHlwZW5hbWUgVDM0CisgICAgLCB0eXBlbmFtZSBUMzUsIHR5cGVuYW1lIFQzNiwgdHlwZW5hbWUgVDM3LCB0eXBlbmFtZSBUMzgsIHR5cGVuYW1lIFQzOQorICAgICwgdHlwZW5hbWUgVDQwLCB0eXBlbmFtZSBUNDEsIHR5cGVuYW1lIFQ0MiwgdHlwZW5hbWUgVDQzLCB0eXBlbmFtZSBUNDQKKyAgICA+CitzdHJ1Y3QgdmVjdG9yNDUKKyAgICA6IHZfaXRlbTwKKyAgICAgICAgICBUNDQKKyAgICAgICAgLCB2ZWN0b3I0NDwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzLFQxNCxUMTUsVDE2LFQxNyxUMTgsVDE5LFQyMCxUMjEsVDIyLFQyMyxUMjQsVDI1LFQyNixUMjcsVDI4LFQyOSxUMzAsVDMxLFQzMixUMzMsVDM0LFQzNSxUMzYsVDM3LFQzOCxUMzksVDQwLFQ0MSxUNDIsVDQzID4KKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdmVjdG9yNDUgdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICwgdHlwZW5hbWUgVDIwLCB0eXBlbmFtZSBUMjEsIHR5cGVuYW1lIFQyMiwgdHlwZW5hbWUgVDIzLCB0eXBlbmFtZSBUMjQKKyAgICAsIHR5cGVuYW1lIFQyNSwgdHlwZW5hbWUgVDI2LCB0eXBlbmFtZSBUMjcsIHR5cGVuYW1lIFQyOCwgdHlwZW5hbWUgVDI5CisgICAgLCB0eXBlbmFtZSBUMzAsIHR5cGVuYW1lIFQzMSwgdHlwZW5hbWUgVDMyLCB0eXBlbmFtZSBUMzMsIHR5cGVuYW1lIFQzNAorICAgICwgdHlwZW5hbWUgVDM1LCB0eXBlbmFtZSBUMzYsIHR5cGVuYW1lIFQzNywgdHlwZW5hbWUgVDM4LCB0eXBlbmFtZSBUMzkKKyAgICAsIHR5cGVuYW1lIFQ0MCwgdHlwZW5hbWUgVDQxLCB0eXBlbmFtZSBUNDIsIHR5cGVuYW1lIFQ0MywgdHlwZW5hbWUgVDQ0CisgICAgLCB0eXBlbmFtZSBUNDUKKyAgICA+CitzdHJ1Y3QgdmVjdG9yNDYKKyAgICA6IHZfaXRlbTwKKyAgICAgICAgICBUNDUKKyAgICAgICAgLCB2ZWN0b3I0NTwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzLFQxNCxUMTUsVDE2LFQxNyxUMTgsVDE5LFQyMCxUMjEsVDIyLFQyMyxUMjQsVDI1LFQyNixUMjcsVDI4LFQyOSxUMzAsVDMxLFQzMixUMzMsVDM0LFQzNSxUMzYsVDM3LFQzOCxUMzksVDQwLFQ0MSxUNDIsVDQzLFQ0NCA+CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHZlY3RvcjQ2IHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAsIHR5cGVuYW1lIFQyMCwgdHlwZW5hbWUgVDIxLCB0eXBlbmFtZSBUMjIsIHR5cGVuYW1lIFQyMywgdHlwZW5hbWUgVDI0CisgICAgLCB0eXBlbmFtZSBUMjUsIHR5cGVuYW1lIFQyNiwgdHlwZW5hbWUgVDI3LCB0eXBlbmFtZSBUMjgsIHR5cGVuYW1lIFQyOQorICAgICwgdHlwZW5hbWUgVDMwLCB0eXBlbmFtZSBUMzEsIHR5cGVuYW1lIFQzMiwgdHlwZW5hbWUgVDMzLCB0eXBlbmFtZSBUMzQKKyAgICAsIHR5cGVuYW1lIFQzNSwgdHlwZW5hbWUgVDM2LCB0eXBlbmFtZSBUMzcsIHR5cGVuYW1lIFQzOCwgdHlwZW5hbWUgVDM5CisgICAgLCB0eXBlbmFtZSBUNDAsIHR5cGVuYW1lIFQ0MSwgdHlwZW5hbWUgVDQyLCB0eXBlbmFtZSBUNDMsIHR5cGVuYW1lIFQ0NAorICAgICwgdHlwZW5hbWUgVDQ1LCB0eXBlbmFtZSBUNDYKKyAgICA+CitzdHJ1Y3QgdmVjdG9yNDcKKyAgICA6IHZfaXRlbTwKKyAgICAgICAgICBUNDYKKyAgICAgICAgLCB2ZWN0b3I0NjwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzLFQxNCxUMTUsVDE2LFQxNyxUMTgsVDE5LFQyMCxUMjEsVDIyLFQyMyxUMjQsVDI1LFQyNixUMjcsVDI4LFQyOSxUMzAsVDMxLFQzMixUMzMsVDM0LFQzNSxUMzYsVDM3LFQzOCxUMzksVDQwLFQ0MSxUNDIsVDQzLFQ0NCxUNDUgPgorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB2ZWN0b3I0NyB0eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMCwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQKKyAgICAsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOQorICAgICwgdHlwZW5hbWUgVDEwLCB0eXBlbmFtZSBUMTEsIHR5cGVuYW1lIFQxMiwgdHlwZW5hbWUgVDEzLCB0eXBlbmFtZSBUMTQKKyAgICAsIHR5cGVuYW1lIFQxNSwgdHlwZW5hbWUgVDE2LCB0eXBlbmFtZSBUMTcsIHR5cGVuYW1lIFQxOCwgdHlwZW5hbWUgVDE5CisgICAgLCB0eXBlbmFtZSBUMjAsIHR5cGVuYW1lIFQyMSwgdHlwZW5hbWUgVDIyLCB0eXBlbmFtZSBUMjMsIHR5cGVuYW1lIFQyNAorICAgICwgdHlwZW5hbWUgVDI1LCB0eXBlbmFtZSBUMjYsIHR5cGVuYW1lIFQyNywgdHlwZW5hbWUgVDI4LCB0eXBlbmFtZSBUMjkKKyAgICAsIHR5cGVuYW1lIFQzMCwgdHlwZW5hbWUgVDMxLCB0eXBlbmFtZSBUMzIsIHR5cGVuYW1lIFQzMywgdHlwZW5hbWUgVDM0CisgICAgLCB0eXBlbmFtZSBUMzUsIHR5cGVuYW1lIFQzNiwgdHlwZW5hbWUgVDM3LCB0eXBlbmFtZSBUMzgsIHR5cGVuYW1lIFQzOQorICAgICwgdHlwZW5hbWUgVDQwLCB0eXBlbmFtZSBUNDEsIHR5cGVuYW1lIFQ0MiwgdHlwZW5hbWUgVDQzLCB0eXBlbmFtZSBUNDQKKyAgICAsIHR5cGVuYW1lIFQ0NSwgdHlwZW5hbWUgVDQ2LCB0eXBlbmFtZSBUNDcKKyAgICA+CitzdHJ1Y3QgdmVjdG9yNDgKKyAgICA6IHZfaXRlbTwKKyAgICAgICAgICBUNDcKKyAgICAgICAgLCB2ZWN0b3I0NzwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzLFQxNCxUMTUsVDE2LFQxNyxUMTgsVDE5LFQyMCxUMjEsVDIyLFQyMyxUMjQsVDI1LFQyNixUMjcsVDI4LFQyOSxUMzAsVDMxLFQzMixUMzMsVDM0LFQzNSxUMzYsVDM3LFQzOCxUMzksVDQwLFQ0MSxUNDIsVDQzLFQ0NCxUNDUsVDQ2ID4KKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdmVjdG9yNDggdHlwZTsKK307CisKK3RlbXBsYXRlPAorICAgICAgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0CisgICAgLCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDkKKyAgICAsIHR5cGVuYW1lIFQxMCwgdHlwZW5hbWUgVDExLCB0eXBlbmFtZSBUMTIsIHR5cGVuYW1lIFQxMywgdHlwZW5hbWUgVDE0CisgICAgLCB0eXBlbmFtZSBUMTUsIHR5cGVuYW1lIFQxNiwgdHlwZW5hbWUgVDE3LCB0eXBlbmFtZSBUMTgsIHR5cGVuYW1lIFQxOQorICAgICwgdHlwZW5hbWUgVDIwLCB0eXBlbmFtZSBUMjEsIHR5cGVuYW1lIFQyMiwgdHlwZW5hbWUgVDIzLCB0eXBlbmFtZSBUMjQKKyAgICAsIHR5cGVuYW1lIFQyNSwgdHlwZW5hbWUgVDI2LCB0eXBlbmFtZSBUMjcsIHR5cGVuYW1lIFQyOCwgdHlwZW5hbWUgVDI5CisgICAgLCB0eXBlbmFtZSBUMzAsIHR5cGVuYW1lIFQzMSwgdHlwZW5hbWUgVDMyLCB0eXBlbmFtZSBUMzMsIHR5cGVuYW1lIFQzNAorICAgICwgdHlwZW5hbWUgVDM1LCB0eXBlbmFtZSBUMzYsIHR5cGVuYW1lIFQzNywgdHlwZW5hbWUgVDM4LCB0eXBlbmFtZSBUMzkKKyAgICAsIHR5cGVuYW1lIFQ0MCwgdHlwZW5hbWUgVDQxLCB0eXBlbmFtZSBUNDIsIHR5cGVuYW1lIFQ0MywgdHlwZW5hbWUgVDQ0CisgICAgLCB0eXBlbmFtZSBUNDUsIHR5cGVuYW1lIFQ0NiwgdHlwZW5hbWUgVDQ3LCB0eXBlbmFtZSBUNDgKKyAgICA+CitzdHJ1Y3QgdmVjdG9yNDkKKyAgICA6IHZfaXRlbTwKKyAgICAgICAgICBUNDgKKyAgICAgICAgLCB2ZWN0b3I0ODwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzLFQxNCxUMTUsVDE2LFQxNyxUMTgsVDE5LFQyMCxUMjEsVDIyLFQyMyxUMjQsVDI1LFQyNixUMjcsVDI4LFQyOSxUMzAsVDMxLFQzMixUMzMsVDM0LFQzNSxUMzYsVDM3LFQzOCxUMzksVDQwLFQ0MSxUNDIsVDQzLFQ0NCxUNDUsVDQ2LFQ0NyA+CisgICAgICAgID4KK3sKKyAgICB0eXBlZGVmIHZlY3RvcjQ5IHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQwLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNAorICAgICwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5CisgICAgLCB0eXBlbmFtZSBUMTAsIHR5cGVuYW1lIFQxMSwgdHlwZW5hbWUgVDEyLCB0eXBlbmFtZSBUMTMsIHR5cGVuYW1lIFQxNAorICAgICwgdHlwZW5hbWUgVDE1LCB0eXBlbmFtZSBUMTYsIHR5cGVuYW1lIFQxNywgdHlwZW5hbWUgVDE4LCB0eXBlbmFtZSBUMTkKKyAgICAsIHR5cGVuYW1lIFQyMCwgdHlwZW5hbWUgVDIxLCB0eXBlbmFtZSBUMjIsIHR5cGVuYW1lIFQyMywgdHlwZW5hbWUgVDI0CisgICAgLCB0eXBlbmFtZSBUMjUsIHR5cGVuYW1lIFQyNiwgdHlwZW5hbWUgVDI3LCB0eXBlbmFtZSBUMjgsIHR5cGVuYW1lIFQyOQorICAgICwgdHlwZW5hbWUgVDMwLCB0eXBlbmFtZSBUMzEsIHR5cGVuYW1lIFQzMiwgdHlwZW5hbWUgVDMzLCB0eXBlbmFtZSBUMzQKKyAgICAsIHR5cGVuYW1lIFQzNSwgdHlwZW5hbWUgVDM2LCB0eXBlbmFtZSBUMzcsIHR5cGVuYW1lIFQzOCwgdHlwZW5hbWUgVDM5CisgICAgLCB0eXBlbmFtZSBUNDAsIHR5cGVuYW1lIFQ0MSwgdHlwZW5hbWUgVDQyLCB0eXBlbmFtZSBUNDMsIHR5cGVuYW1lIFQ0NAorICAgICwgdHlwZW5hbWUgVDQ1LCB0eXBlbmFtZSBUNDYsIHR5cGVuYW1lIFQ0NywgdHlwZW5hbWUgVDQ4LCB0eXBlbmFtZSBUNDkKKyAgICA+CitzdHJ1Y3QgdmVjdG9yNTAKKyAgICA6IHZfaXRlbTwKKyAgICAgICAgICBUNDkKKyAgICAgICAgLCB2ZWN0b3I0OTwgVDAsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVDEwLFQxMSxUMTIsVDEzLFQxNCxUMTUsVDE2LFQxNyxUMTgsVDE5LFQyMCxUMjEsVDIyLFQyMyxUMjQsVDI1LFQyNixUMjcsVDI4LFQyOSxUMzAsVDMxLFQzMixUMzMsVDM0LFQzNSxUMzYsVDM3LFQzOCxUMzksVDQwLFQ0MSxUNDIsVDQzLFQ0NCxUNDUsVDQ2LFQ0NyxUNDggPgorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB2ZWN0b3I1MCB0eXBlOworfTsKKworfX0KZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC92ZWN0b3IvYXV4Xy9wcmVwcm9jZXNzZWQvdHlwZW9mX2Jhc2VkL3ZlY3RvcjUwX2MuaHBwIGIvbmRuYm9vc3QvbXBsL3ZlY3Rvci9hdXhfL3ByZXByb2Nlc3NlZC90eXBlb2ZfYmFzZWQvdmVjdG9yNTBfYy5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODY5YzZhMQotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC92ZWN0b3IvYXV4Xy9wcmVwcm9jZXNzZWQvdHlwZW9mX2Jhc2VkL3ZlY3RvcjUwX2MuaHBwCkBAIC0wLDAgKzEsMTkzIEBACisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKworLy8gUHJlcHJvY2Vzc2VkIHZlcnNpb24gb2YgIm5kbmJvb3N0L21wbC92ZWN0b3IvdmVjdG9yNTBfYy5ocHAiIGhlYWRlcgorLy8gLS0gRE8gTk9UIG1vZGlmeSBieSBoYW5kIQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUCisgICAgLCBUIEMwLCBUIEMxLCBUIEMyLCBUIEMzLCBUIEM0LCBUIEM1LCBUIEM2LCBUIEM3LCBUIEM4LCBUIEM5LCBUIEMxMAorICAgICwgVCBDMTEsIFQgQzEyLCBUIEMxMywgVCBDMTQsIFQgQzE1LCBUIEMxNiwgVCBDMTcsIFQgQzE4LCBUIEMxOSwgVCBDMjAKKyAgICAsIFQgQzIxLCBUIEMyMiwgVCBDMjMsIFQgQzI0LCBUIEMyNSwgVCBDMjYsIFQgQzI3LCBUIEMyOCwgVCBDMjksIFQgQzMwCisgICAgLCBUIEMzMSwgVCBDMzIsIFQgQzMzLCBUIEMzNCwgVCBDMzUsIFQgQzM2LCBUIEMzNywgVCBDMzgsIFQgQzM5LCBUIEM0MAorICAgID4KK3N0cnVjdCB2ZWN0b3I0MV9jCisgICAgOiB2X2l0ZW08CisgICAgICAgICAgaW50ZWdyYWxfYzwgVCxDNDAgPgorICAgICAgICAsIHZlY3RvcjQwX2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcsQzgsQzksQzEwLEMxMSxDMTIsQzEzLEMxNCxDMTUsQzE2LEMxNyxDMTgsQzE5LEMyMCxDMjEsQzIyLEMyMyxDMjQsQzI1LEMyNixDMjcsQzI4LEMyOSxDMzAsQzMxLEMzMixDMzMsQzM0LEMzNSxDMzYsQzM3LEMzOCxDMzkgPgorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB2ZWN0b3I0MV9jIHR5cGU7CisgICAgdHlwZWRlZiBUIHZhbHVlX3R5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQKKyAgICAsIFQgQzAsIFQgQzEsIFQgQzIsIFQgQzMsIFQgQzQsIFQgQzUsIFQgQzYsIFQgQzcsIFQgQzgsIFQgQzksIFQgQzEwCisgICAgLCBUIEMxMSwgVCBDMTIsIFQgQzEzLCBUIEMxNCwgVCBDMTUsIFQgQzE2LCBUIEMxNywgVCBDMTgsIFQgQzE5LCBUIEMyMAorICAgICwgVCBDMjEsIFQgQzIyLCBUIEMyMywgVCBDMjQsIFQgQzI1LCBUIEMyNiwgVCBDMjcsIFQgQzI4LCBUIEMyOSwgVCBDMzAKKyAgICAsIFQgQzMxLCBUIEMzMiwgVCBDMzMsIFQgQzM0LCBUIEMzNSwgVCBDMzYsIFQgQzM3LCBUIEMzOCwgVCBDMzksIFQgQzQwCisgICAgLCBUIEM0MQorICAgID4KK3N0cnVjdCB2ZWN0b3I0Ml9jCisgICAgOiB2X2l0ZW08CisgICAgICAgICAgaW50ZWdyYWxfYzwgVCxDNDEgPgorICAgICAgICAsIHZlY3RvcjQxX2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcsQzgsQzksQzEwLEMxMSxDMTIsQzEzLEMxNCxDMTUsQzE2LEMxNyxDMTgsQzE5LEMyMCxDMjEsQzIyLEMyMyxDMjQsQzI1LEMyNixDMjcsQzI4LEMyOSxDMzAsQzMxLEMzMixDMzMsQzM0LEMzNSxDMzYsQzM3LEMzOCxDMzksQzQwID4KKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdmVjdG9yNDJfYyB0eXBlOworICAgIHR5cGVkZWYgVCB2YWx1ZV90eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUCisgICAgLCBUIEMwLCBUIEMxLCBUIEMyLCBUIEMzLCBUIEM0LCBUIEM1LCBUIEM2LCBUIEM3LCBUIEM4LCBUIEM5LCBUIEMxMAorICAgICwgVCBDMTEsIFQgQzEyLCBUIEMxMywgVCBDMTQsIFQgQzE1LCBUIEMxNiwgVCBDMTcsIFQgQzE4LCBUIEMxOSwgVCBDMjAKKyAgICAsIFQgQzIxLCBUIEMyMiwgVCBDMjMsIFQgQzI0LCBUIEMyNSwgVCBDMjYsIFQgQzI3LCBUIEMyOCwgVCBDMjksIFQgQzMwCisgICAgLCBUIEMzMSwgVCBDMzIsIFQgQzMzLCBUIEMzNCwgVCBDMzUsIFQgQzM2LCBUIEMzNywgVCBDMzgsIFQgQzM5LCBUIEM0MAorICAgICwgVCBDNDEsIFQgQzQyCisgICAgPgorc3RydWN0IHZlY3RvcjQzX2MKKyAgICA6IHZfaXRlbTwKKyAgICAgICAgICBpbnRlZ3JhbF9jPCBULEM0MiA+CisgICAgICAgICwgdmVjdG9yNDJfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyxDOCxDOSxDMTAsQzExLEMxMixDMTMsQzE0LEMxNSxDMTYsQzE3LEMxOCxDMTksQzIwLEMyMSxDMjIsQzIzLEMyNCxDMjUsQzI2LEMyNyxDMjgsQzI5LEMzMCxDMzEsQzMyLEMzMyxDMzQsQzM1LEMzNixDMzcsQzM4LEMzOSxDNDAsQzQxID4KKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdmVjdG9yNDNfYyB0eXBlOworICAgIHR5cGVkZWYgVCB2YWx1ZV90eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUCisgICAgLCBUIEMwLCBUIEMxLCBUIEMyLCBUIEMzLCBUIEM0LCBUIEM1LCBUIEM2LCBUIEM3LCBUIEM4LCBUIEM5LCBUIEMxMAorICAgICwgVCBDMTEsIFQgQzEyLCBUIEMxMywgVCBDMTQsIFQgQzE1LCBUIEMxNiwgVCBDMTcsIFQgQzE4LCBUIEMxOSwgVCBDMjAKKyAgICAsIFQgQzIxLCBUIEMyMiwgVCBDMjMsIFQgQzI0LCBUIEMyNSwgVCBDMjYsIFQgQzI3LCBUIEMyOCwgVCBDMjksIFQgQzMwCisgICAgLCBUIEMzMSwgVCBDMzIsIFQgQzMzLCBUIEMzNCwgVCBDMzUsIFQgQzM2LCBUIEMzNywgVCBDMzgsIFQgQzM5LCBUIEM0MAorICAgICwgVCBDNDEsIFQgQzQyLCBUIEM0MworICAgID4KK3N0cnVjdCB2ZWN0b3I0NF9jCisgICAgOiB2X2l0ZW08CisgICAgICAgICAgaW50ZWdyYWxfYzwgVCxDNDMgPgorICAgICAgICAsIHZlY3RvcjQzX2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcsQzgsQzksQzEwLEMxMSxDMTIsQzEzLEMxNCxDMTUsQzE2LEMxNyxDMTgsQzE5LEMyMCxDMjEsQzIyLEMyMyxDMjQsQzI1LEMyNixDMjcsQzI4LEMyOSxDMzAsQzMxLEMzMixDMzMsQzM0LEMzNSxDMzYsQzM3LEMzOCxDMzksQzQwLEM0MSxDNDIgPgorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB2ZWN0b3I0NF9jIHR5cGU7CisgICAgdHlwZWRlZiBUIHZhbHVlX3R5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQKKyAgICAsIFQgQzAsIFQgQzEsIFQgQzIsIFQgQzMsIFQgQzQsIFQgQzUsIFQgQzYsIFQgQzcsIFQgQzgsIFQgQzksIFQgQzEwCisgICAgLCBUIEMxMSwgVCBDMTIsIFQgQzEzLCBUIEMxNCwgVCBDMTUsIFQgQzE2LCBUIEMxNywgVCBDMTgsIFQgQzE5LCBUIEMyMAorICAgICwgVCBDMjEsIFQgQzIyLCBUIEMyMywgVCBDMjQsIFQgQzI1LCBUIEMyNiwgVCBDMjcsIFQgQzI4LCBUIEMyOSwgVCBDMzAKKyAgICAsIFQgQzMxLCBUIEMzMiwgVCBDMzMsIFQgQzM0LCBUIEMzNSwgVCBDMzYsIFQgQzM3LCBUIEMzOCwgVCBDMzksIFQgQzQwCisgICAgLCBUIEM0MSwgVCBDNDIsIFQgQzQzLCBUIEM0NAorICAgID4KK3N0cnVjdCB2ZWN0b3I0NV9jCisgICAgOiB2X2l0ZW08CisgICAgICAgICAgaW50ZWdyYWxfYzwgVCxDNDQgPgorICAgICAgICAsIHZlY3RvcjQ0X2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcsQzgsQzksQzEwLEMxMSxDMTIsQzEzLEMxNCxDMTUsQzE2LEMxNyxDMTgsQzE5LEMyMCxDMjEsQzIyLEMyMyxDMjQsQzI1LEMyNixDMjcsQzI4LEMyOSxDMzAsQzMxLEMzMixDMzMsQzM0LEMzNSxDMzYsQzM3LEMzOCxDMzksQzQwLEM0MSxDNDIsQzQzID4KKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdmVjdG9yNDVfYyB0eXBlOworICAgIHR5cGVkZWYgVCB2YWx1ZV90eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUCisgICAgLCBUIEMwLCBUIEMxLCBUIEMyLCBUIEMzLCBUIEM0LCBUIEM1LCBUIEM2LCBUIEM3LCBUIEM4LCBUIEM5LCBUIEMxMAorICAgICwgVCBDMTEsIFQgQzEyLCBUIEMxMywgVCBDMTQsIFQgQzE1LCBUIEMxNiwgVCBDMTcsIFQgQzE4LCBUIEMxOSwgVCBDMjAKKyAgICAsIFQgQzIxLCBUIEMyMiwgVCBDMjMsIFQgQzI0LCBUIEMyNSwgVCBDMjYsIFQgQzI3LCBUIEMyOCwgVCBDMjksIFQgQzMwCisgICAgLCBUIEMzMSwgVCBDMzIsIFQgQzMzLCBUIEMzNCwgVCBDMzUsIFQgQzM2LCBUIEMzNywgVCBDMzgsIFQgQzM5LCBUIEM0MAorICAgICwgVCBDNDEsIFQgQzQyLCBUIEM0MywgVCBDNDQsIFQgQzQ1CisgICAgPgorc3RydWN0IHZlY3RvcjQ2X2MKKyAgICA6IHZfaXRlbTwKKyAgICAgICAgICBpbnRlZ3JhbF9jPCBULEM0NSA+CisgICAgICAgICwgdmVjdG9yNDVfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyxDOCxDOSxDMTAsQzExLEMxMixDMTMsQzE0LEMxNSxDMTYsQzE3LEMxOCxDMTksQzIwLEMyMSxDMjIsQzIzLEMyNCxDMjUsQzI2LEMyNyxDMjgsQzI5LEMzMCxDMzEsQzMyLEMzMyxDMzQsQzM1LEMzNixDMzcsQzM4LEMzOSxDNDAsQzQxLEM0MixDNDMsQzQ0ID4KKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdmVjdG9yNDZfYyB0eXBlOworICAgIHR5cGVkZWYgVCB2YWx1ZV90eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUCisgICAgLCBUIEMwLCBUIEMxLCBUIEMyLCBUIEMzLCBUIEM0LCBUIEM1LCBUIEM2LCBUIEM3LCBUIEM4LCBUIEM5LCBUIEMxMAorICAgICwgVCBDMTEsIFQgQzEyLCBUIEMxMywgVCBDMTQsIFQgQzE1LCBUIEMxNiwgVCBDMTcsIFQgQzE4LCBUIEMxOSwgVCBDMjAKKyAgICAsIFQgQzIxLCBUIEMyMiwgVCBDMjMsIFQgQzI0LCBUIEMyNSwgVCBDMjYsIFQgQzI3LCBUIEMyOCwgVCBDMjksIFQgQzMwCisgICAgLCBUIEMzMSwgVCBDMzIsIFQgQzMzLCBUIEMzNCwgVCBDMzUsIFQgQzM2LCBUIEMzNywgVCBDMzgsIFQgQzM5LCBUIEM0MAorICAgICwgVCBDNDEsIFQgQzQyLCBUIEM0MywgVCBDNDQsIFQgQzQ1LCBUIEM0NgorICAgID4KK3N0cnVjdCB2ZWN0b3I0N19jCisgICAgOiB2X2l0ZW08CisgICAgICAgICAgaW50ZWdyYWxfYzwgVCxDNDYgPgorICAgICAgICAsIHZlY3RvcjQ2X2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcsQzgsQzksQzEwLEMxMSxDMTIsQzEzLEMxNCxDMTUsQzE2LEMxNyxDMTgsQzE5LEMyMCxDMjEsQzIyLEMyMyxDMjQsQzI1LEMyNixDMjcsQzI4LEMyOSxDMzAsQzMxLEMzMixDMzMsQzM0LEMzNSxDMzYsQzM3LEMzOCxDMzksQzQwLEM0MSxDNDIsQzQzLEM0NCxDNDUgPgorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB2ZWN0b3I0N19jIHR5cGU7CisgICAgdHlwZWRlZiBUIHZhbHVlX3R5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICAgIHR5cGVuYW1lIFQKKyAgICAsIFQgQzAsIFQgQzEsIFQgQzIsIFQgQzMsIFQgQzQsIFQgQzUsIFQgQzYsIFQgQzcsIFQgQzgsIFQgQzksIFQgQzEwCisgICAgLCBUIEMxMSwgVCBDMTIsIFQgQzEzLCBUIEMxNCwgVCBDMTUsIFQgQzE2LCBUIEMxNywgVCBDMTgsIFQgQzE5LCBUIEMyMAorICAgICwgVCBDMjEsIFQgQzIyLCBUIEMyMywgVCBDMjQsIFQgQzI1LCBUIEMyNiwgVCBDMjcsIFQgQzI4LCBUIEMyOSwgVCBDMzAKKyAgICAsIFQgQzMxLCBUIEMzMiwgVCBDMzMsIFQgQzM0LCBUIEMzNSwgVCBDMzYsIFQgQzM3LCBUIEMzOCwgVCBDMzksIFQgQzQwCisgICAgLCBUIEM0MSwgVCBDNDIsIFQgQzQzLCBUIEM0NCwgVCBDNDUsIFQgQzQ2LCBUIEM0NworICAgID4KK3N0cnVjdCB2ZWN0b3I0OF9jCisgICAgOiB2X2l0ZW08CisgICAgICAgICAgaW50ZWdyYWxfYzwgVCxDNDcgPgorICAgICAgICAsIHZlY3RvcjQ3X2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcsQzgsQzksQzEwLEMxMSxDMTIsQzEzLEMxNCxDMTUsQzE2LEMxNyxDMTgsQzE5LEMyMCxDMjEsQzIyLEMyMyxDMjQsQzI1LEMyNixDMjcsQzI4LEMyOSxDMzAsQzMxLEMzMixDMzMsQzM0LEMzNSxDMzYsQzM3LEMzOCxDMzksQzQwLEM0MSxDNDIsQzQzLEM0NCxDNDUsQzQ2ID4KKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdmVjdG9yNDhfYyB0eXBlOworICAgIHR5cGVkZWYgVCB2YWx1ZV90eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUCisgICAgLCBUIEMwLCBUIEMxLCBUIEMyLCBUIEMzLCBUIEM0LCBUIEM1LCBUIEM2LCBUIEM3LCBUIEM4LCBUIEM5LCBUIEMxMAorICAgICwgVCBDMTEsIFQgQzEyLCBUIEMxMywgVCBDMTQsIFQgQzE1LCBUIEMxNiwgVCBDMTcsIFQgQzE4LCBUIEMxOSwgVCBDMjAKKyAgICAsIFQgQzIxLCBUIEMyMiwgVCBDMjMsIFQgQzI0LCBUIEMyNSwgVCBDMjYsIFQgQzI3LCBUIEMyOCwgVCBDMjksIFQgQzMwCisgICAgLCBUIEMzMSwgVCBDMzIsIFQgQzMzLCBUIEMzNCwgVCBDMzUsIFQgQzM2LCBUIEMzNywgVCBDMzgsIFQgQzM5LCBUIEM0MAorICAgICwgVCBDNDEsIFQgQzQyLCBUIEM0MywgVCBDNDQsIFQgQzQ1LCBUIEM0NiwgVCBDNDcsIFQgQzQ4CisgICAgPgorc3RydWN0IHZlY3RvcjQ5X2MKKyAgICA6IHZfaXRlbTwKKyAgICAgICAgICBpbnRlZ3JhbF9jPCBULEM0OCA+CisgICAgICAgICwgdmVjdG9yNDhfYzwgVCxDMCxDMSxDMixDMyxDNCxDNSxDNixDNyxDOCxDOSxDMTAsQzExLEMxMixDMTMsQzE0LEMxNSxDMTYsQzE3LEMxOCxDMTksQzIwLEMyMSxDMjIsQzIzLEMyNCxDMjUsQzI2LEMyNyxDMjgsQzI5LEMzMCxDMzEsQzMyLEMzMyxDMzQsQzM1LEMzNixDMzcsQzM4LEMzOSxDNDAsQzQxLEM0MixDNDMsQzQ0LEM0NSxDNDYsQzQ3ID4KKyAgICAgICAgPgoreworICAgIHR5cGVkZWYgdmVjdG9yNDlfYyB0eXBlOworICAgIHR5cGVkZWYgVCB2YWx1ZV90eXBlOworfTsKKwordGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUCisgICAgLCBUIEMwLCBUIEMxLCBUIEMyLCBUIEMzLCBUIEM0LCBUIEM1LCBUIEM2LCBUIEM3LCBUIEM4LCBUIEM5LCBUIEMxMAorICAgICwgVCBDMTEsIFQgQzEyLCBUIEMxMywgVCBDMTQsIFQgQzE1LCBUIEMxNiwgVCBDMTcsIFQgQzE4LCBUIEMxOSwgVCBDMjAKKyAgICAsIFQgQzIxLCBUIEMyMiwgVCBDMjMsIFQgQzI0LCBUIEMyNSwgVCBDMjYsIFQgQzI3LCBUIEMyOCwgVCBDMjksIFQgQzMwCisgICAgLCBUIEMzMSwgVCBDMzIsIFQgQzMzLCBUIEMzNCwgVCBDMzUsIFQgQzM2LCBUIEMzNywgVCBDMzgsIFQgQzM5LCBUIEM0MAorICAgICwgVCBDNDEsIFQgQzQyLCBUIEM0MywgVCBDNDQsIFQgQzQ1LCBUIEM0NiwgVCBDNDcsIFQgQzQ4LCBUIEM0OQorICAgID4KK3N0cnVjdCB2ZWN0b3I1MF9jCisgICAgOiB2X2l0ZW08CisgICAgICAgICAgaW50ZWdyYWxfYzwgVCxDNDkgPgorICAgICAgICAsIHZlY3RvcjQ5X2M8IFQsQzAsQzEsQzIsQzMsQzQsQzUsQzYsQzcsQzgsQzksQzEwLEMxMSxDMTIsQzEzLEMxNCxDMTUsQzE2LEMxNyxDMTgsQzE5LEMyMCxDMjEsQzIyLEMyMyxDMjQsQzI1LEMyNixDMjcsQzI4LEMyOSxDMzAsQzMxLEMzMixDMzMsQzM0LEMzNSxDMzYsQzM3LEMzOCxDMzksQzQwLEM0MSxDNDIsQzQzLEM0NCxDNDUsQzQ2LEM0NyxDNDggPgorICAgICAgICA+Cit7CisgICAgdHlwZWRlZiB2ZWN0b3I1MF9jIHR5cGU7CisgICAgdHlwZWRlZiBUIHZhbHVlX3R5cGU7Cit9OworCit9fQpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL3ZlY3Rvci9hdXhfL3B1c2hfYmFjay5ocHAgYi9uZG5ib29zdC9tcGwvdmVjdG9yL2F1eF8vcHVzaF9iYWNrLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMjcyMmIyCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL3ZlY3Rvci9hdXhfL3B1c2hfYmFjay5ocHAKQEAgLTAsMCArMSw0MCBAQAorCisjaWZuZGVmIEJPT1NUX01QTF9WRUNUT1JfQVVYX1BVU0hfQkFDS19IUFBfSU5DTFVERUQKKyNkZWZpbmUgQk9PU1RfTVBMX1ZFQ1RPUl9BVVhfUFVTSF9CQUNLX0hQUF9JTkNMVURFRAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisvLyBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvbGlicy9tcGwgZm9yIGRvY3VtZW50YXRpb24uCisKKy8vICRJZDogcHVzaF9iYWNrLmhwcCA0OTI2NyAyMDA4LTEwLTExIDA2OjE5OjAyWiBhZ3VydG92b3kgJAorLy8gJERhdGU6IDIwMDgtMTAtMTAgMjM6MTk6MDIgLTA3MDAgKEZyaSwgMTAgT2N0IDIwMDgpICQKKy8vICRSZXZpc2lvbjogNDkyNjcgJAorCisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL3B1c2hfYmFja19md2QuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2NvbmZpZy90eXBlb2YuaHBwPgorCisjaWYgZGVmaW5lZChCT09TVF9NUExfQ0ZHX1RZUEVPRl9CQVNFRF9TRVFVRU5DRVMpCisKKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvdmVjdG9yL2F1eF8vaXRlbS5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL3ZlY3Rvci9hdXhfL3RhZy5ocHA+CisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgcHVzaF9iYWNrX2ltcGw8IGF1eDo6dmVjdG9yX3RhZyA+Cit7CisgICAgdGVtcGxhdGU8IHR5cGVuYW1lIFZlY3RvciwgdHlwZW5hbWUgVCA+IHN0cnVjdCBhcHBseQorICAgIHsKKyAgICAgICAgdHlwZWRlZiB2X2l0ZW08VCxWZWN0b3IsMD4gdHlwZTsKKyAgICB9OworfTsKKworfX0KKworI2VuZGlmIAorCisjZW5kaWYgLy8gQk9PU1RfTVBMX1ZFQ1RPUl9BVVhfUFVTSF9CQUNLX0hQUF9JTkNMVURFRApkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL3ZlY3Rvci9hdXhfL3B1c2hfZnJvbnQuaHBwIGIvbmRuYm9vc3QvbXBsL3ZlY3Rvci9hdXhfL3B1c2hfZnJvbnQuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEyMDAxNzQKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvdmVjdG9yL2F1eF8vcHVzaF9mcm9udC5ocHAKQEAgLTAsMCArMSw0MCBAQAorCisjaWZuZGVmIEJPT1NUX01QTF9WRUNUT1JfQVVYX1BVU0hfRlJPTlRfSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX01QTF9WRUNUT1JfQVVYX1BVU0hfRlJPTlRfSFBQX0lOQ0xVREVECisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKy8vIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL21wbCBmb3IgZG9jdW1lbnRhdGlvbi4KKworLy8gJElkOiBwdXNoX2Zyb250LmhwcCA0OTI2NyAyMDA4LTEwLTExIDA2OjE5OjAyWiBhZ3VydG92b3kgJAorLy8gJERhdGU6IDIwMDgtMTAtMTAgMjM6MTk6MDIgLTA3MDAgKEZyaSwgMTAgT2N0IDIwMDgpICQKKy8vICRSZXZpc2lvbjogNDkyNjcgJAorCisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL3B1c2hfZnJvbnRfZndkLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9jb25maWcvdHlwZW9mLmhwcD4KKworI2lmIGRlZmluZWQoQk9PU1RfTVBMX0NGR19UWVBFT0ZfQkFTRURfU0VRVUVOQ0VTKQorCisjICAgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL3ZlY3Rvci9hdXhfL2l0ZW0uaHBwPgorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC92ZWN0b3IvYXV4Xy90YWcuaHBwPgorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8Pgorc3RydWN0IHB1c2hfZnJvbnRfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnID4KK3sKKyAgICB0ZW1wbGF0ZTwgdHlwZW5hbWUgVmVjdG9yLCB0eXBlbmFtZSBUID4gc3RydWN0IGFwcGx5CisgICAgeworICAgICAgICB0eXBlZGVmIHZfaXRlbTxULFZlY3RvciwxPiB0eXBlOworICAgIH07Cit9OworCit9fQorCisjZW5kaWYgLy8gQk9PU1RfTVBMX0NGR19UWVBFT0ZfQkFTRURfU0VRVUVOQ0VTCisKKyNlbmRpZiAvLyBCT09TVF9NUExfVkVDVE9SX0FVWF9QVVNIX0ZST05UX0hQUF9JTkNMVURFRApkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL3ZlY3Rvci9hdXhfL3NpemUuaHBwIGIvbmRuYm9vc3QvbXBsL3ZlY3Rvci9hdXhfL3NpemUuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRjOTc0OWYKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvdmVjdG9yL2F1eF8vc2l6ZS5ocHAKQEAgLTAsMCArMSw0OSBAQAorCisjaWZuZGVmIEJPT1NUX01QTF9WRUNUT1JfQVVYX1NJWkVfSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX01QTF9WRUNUT1JfQVVYX1NJWkVfSFBQX0lOQ0xVREVECisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKy8vIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL21wbCBmb3IgZG9jdW1lbnRhdGlvbi4KKworLy8gJElkOiBzaXplLmhwcCA0OTI2NyAyMDA4LTEwLTExIDA2OjE5OjAyWiBhZ3VydG92b3kgJAorLy8gJERhdGU6IDIwMDgtMTAtMTAgMjM6MTk6MDIgLTA3MDAgKEZyaSwgMTAgT2N0IDIwMDgpICQKKy8vICRSZXZpc2lvbjogNDkyNjcgJAorCisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL3NpemVfZndkLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvdmVjdG9yL2F1eF8vTzFfc2l6ZS5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL3ZlY3Rvci9hdXhfL3RhZy5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vY29uZmlnL3R5cGVvZi5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vY29uZmlnL2N0cHMuaHBwPgorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKworI2lmIGRlZmluZWQoQk9PU1RfTVBMX0NGR19UWVBFT0ZfQkFTRURfU0VRVUVOQ0VTKQorCit0ZW1wbGF0ZTw+CitzdHJ1Y3Qgc2l6ZV9pbXBsPCBhdXg6OnZlY3Rvcl90YWcgPgorICAgIDogTzFfc2l6ZV9pbXBsPCBhdXg6OnZlY3Rvcl90YWcgPgoreworfTsKKworI2Vsc2UKKworI2lmICFkZWZpbmVkKEJPT1NUX05PX1RFTVBMQVRFX1BBUlRJQUxfU1BFQ0lBTElaQVRJT04pCisKK3RlbXBsYXRlPCBsb25nIE4gPgorc3RydWN0IHNpemVfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPE4+ID4KKyAgICA6IE8xX3NpemVfaW1wbDwgYXV4Ojp2ZWN0b3JfdGFnPE4+ID4KK3sKK307CisKKyNlbmRpZiAvLyBCT09TVF9OT19URU1QTEFURV9QQVJUSUFMX1NQRUNJQUxJWkFUSU9OCisKKyNlbmRpZiAvLyBCT09TVF9NUExfQ0ZHX1RZUEVPRl9CQVNFRF9TRVFVRU5DRVMKKworfX0KKworI2VuZGlmIC8vIEJPT1NUX01QTF9WRUNUT1JfQVVYX1NJWkVfSFBQX0lOQ0xVREVECmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvdmVjdG9yL2F1eF8vdGFnLmhwcCBiL25kbmJvb3N0L21wbC92ZWN0b3IvYXV4Xy90YWcuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk1NzY0NTQKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvdmVjdG9yL2F1eF8vdGFnLmhwcApAQCAtMCwwICsxLDMyIEBACisKKyNpZm5kZWYgQk9PU1RfTVBMX1ZFQ1RPUl9BVVhfVEFHX0hQUF9JTkNMVURFRAorI2RlZmluZSBCT09TVF9NUExfVkVDVE9SX0FVWF9UQUdfSFBQX0lOQ0xVREVECisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKy8vIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL21wbCBmb3IgZG9jdW1lbnRhdGlvbi4KKworLy8gJElkOiB0YWcuaHBwIDQ5MjY3IDIwMDgtMTAtMTEgMDY6MTk6MDJaIGFndXJ0b3ZveSAkCisvLyAkRGF0ZTogMjAwOC0xMC0xMCAyMzoxOTowMiAtMDcwMCAoRnJpLCAxMCBPY3QgMjAwOCkgJAorLy8gJFJldmlzaW9uOiA0OTI2NyAkCisKKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9jb25maWcvdHlwZW9mLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9udHRwX2RlY2wuaHBwPgorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsgbmFtZXNwYWNlIGF1eCB7CisKK3N0cnVjdCB2X2l0ZXJfdGFnOworCisjaWYgZGVmaW5lZChCT09TVF9NUExfQ0ZHX1RZUEVPRl9CQVNFRF9TRVFVRU5DRVMpCitzdHJ1Y3QgdmVjdG9yX3RhZzsKKyNlbHNlCit0ZW1wbGF0ZTwgQk9PU1RfTVBMX0FVWF9OVFRQX0RFQ0wobG9uZywgTikgPiBzdHJ1Y3QgdmVjdG9yX3RhZzsKKyNlbmRpZgorCit9fX0KKworI2VuZGlmIC8vIEJPT1NUX01QTF9WRUNUT1JfQVVYX1RBR19IUFBfSU5DTFVERUQKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC92ZWN0b3IvYXV4Xy92ZWN0b3IwLmhwcCBiL25kbmJvb3N0L21wbC92ZWN0b3IvYXV4Xy92ZWN0b3IwLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNTQwNThiCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL3ZlY3Rvci9hdXhfL3ZlY3RvcjAuaHBwCkBAIC0wLDAgKzEsNTIgQEAKKworI2lmbmRlZiBCT09TVF9NUExfVkVDVE9SX0FVWF9WRUNUT1IwX0hQUF9JTkNMVURFRAorI2RlZmluZSBCT09TVF9NUExfVkVDVE9SX0FVWF9WRUNUT1IwX0hQUF9JTkNMVURFRAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisvLyBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvbGlicy9tcGwgZm9yIGRvY3VtZW50YXRpb24uCisKKy8vICRJZDogdmVjdG9yMC5ocHAgNDkyNjcgMjAwOC0xMC0xMSAwNjoxOTowMlogYWd1cnRvdm95ICQKKy8vICREYXRlOiAyMDA4LTEwLTEwIDIzOjE5OjAyIC0wNzAwIChGcmksIDEwIE9jdCAyMDA4KSAkCisvLyAkUmV2aXNpb246IDQ5MjY3ICQKKworI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9sb25nLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvdm9pZC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vbmEuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL3R5cGVfd3JhcHBlci5ocHA+CisKKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvdmVjdG9yL2F1eF8vaXRlcmF0b3IuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC92ZWN0b3IvYXV4Xy90YWcuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2NvbmZpZy90eXBlb2YuaHBwPgorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8IHR5cGVuYW1lIER1bW15ID0gbmEgPiBzdHJ1Y3QgdmVjdG9yMDsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgdmVjdG9yMDxuYT4KK3sKKyNpZiBkZWZpbmVkKEJPT1NUX01QTF9DRkdfVFlQRU9GX0JBU0VEX1NFUVVFTkNFUykKKyAgICB0eXBlZGVmIGF1eDo6dmVjdG9yX3RhZyB0YWc7CisgICAgdHlwZWRlZiB2ZWN0b3IwICAgICAgICAgdHlwZTsKKyAgICB0eXBlZGVmIGxvbmdfPDMyNzY4PiAgICBsb3dlcl9ib3VuZF87CisgICAgdHlwZWRlZiBsb3dlcl9ib3VuZF8gICAgdXBwZXJfYm91bmRfOworICAgIHR5cGVkZWYgbG9uZ188MD4gICAgICAgIHNpemU7CisKKyAgICBzdGF0aWMgYXV4Ojp0eXBlX3dyYXBwZXI8dm9pZF8+IGl0ZW1fKC4uLik7CisjZWxzZQorICAgIHR5cGVkZWYgYXV4Ojp2ZWN0b3JfdGFnPDA+IHRhZzsKKyAgICB0eXBlZGVmIHZlY3RvcjAgdHlwZTsKKyAgICB0eXBlZGVmIHZvaWRfIGl0ZW0wOworICAgIAorICAgIHR5cGVkZWYgdl9pdGVyPHZlY3RvcjA8PiwwPiBiZWdpbjsKKyAgICB0eXBlZGVmIHZfaXRlcjx2ZWN0b3IwPD4sMD4gZW5kOworI2VuZGlmCit9OworCit9fQorCisjZW5kaWYgLy8gQk9PU1RfTVBMX1ZFQ1RPUl9BVVhfVkVDVE9SMF9IUFBfSU5DTFVERUQKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC92ZWN0b3IvdmVjdG9yMC5ocHAgYi9uZG5ib29zdC9tcGwvdmVjdG9yL3ZlY3RvcjAuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYyM2Y1ZDIKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvdmVjdG9yL3ZlY3RvcjAuaHBwCkBAIC0wLDAgKzEsMzQgQEAKKworI2lmbmRlZiBCT09TVF9NUExfVkVDVE9SX1ZFQ1RPUjBfSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX01QTF9WRUNUT1JfVkVDVE9SMF9IUFBfSU5DTFVERUQKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworLy8gU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL2xpYnMvbXBsIGZvciBkb2N1bWVudGF0aW9uLgorCisvLyAkSWQ6IHZlY3RvcjAuaHBwIDQ5MjY3IDIwMDgtMTAtMTEgMDY6MTk6MDJaIGFndXJ0b3ZveSAkCisvLyAkRGF0ZTogMjAwOC0xMC0xMCAyMzoxOTowMiAtMDcwMCAoRnJpLCAxMCBPY3QgMjAwOCkgJAorLy8gJFJldmlzaW9uOiA0OTI2NyAkCisKKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvdmVjdG9yL2F1eF8vYXQuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC92ZWN0b3IvYXV4Xy9mcm9udC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL3ZlY3Rvci9hdXhfL3B1c2hfZnJvbnQuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC92ZWN0b3IvYXV4Xy9wb3BfZnJvbnQuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC92ZWN0b3IvYXV4Xy9wdXNoX2JhY2suaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC92ZWN0b3IvYXV4Xy9wb3BfYmFjay5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL3ZlY3Rvci9hdXhfL2JhY2suaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC92ZWN0b3IvYXV4Xy9jbGVhci5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL3ZlY3Rvci9hdXhfL08xX3NpemUuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC92ZWN0b3IvYXV4Xy9zaXplLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvdmVjdG9yL2F1eF8vZW1wdHkuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC92ZWN0b3IvYXV4Xy9pdGVtLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvdmVjdG9yL2F1eF8vaXRlcmF0b3IuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC92ZWN0b3IvYXV4Xy92ZWN0b3IwLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvdmVjdG9yL2F1eF8vYmVnaW5fZW5kLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvdmVjdG9yL2F1eF8vdGFnLmhwcD4KKworI2VuZGlmIC8vIEJPT1NUX01QTF9WRUNUT1JfVkVDVE9SMF9IUFBfSU5DTFVERUQKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC92ZWN0b3IvdmVjdG9yMF9jLmhwcCBiL25kbmJvb3N0L21wbC92ZWN0b3IvdmVjdG9yMF9jLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YjI4NDcyCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL3ZlY3Rvci92ZWN0b3IwX2MuaHBwCkBAIC0wLDAgKzEsMzEgQEAKKworI2lmbmRlZiBCT09TVF9NUExfVkVDVE9SX1ZFQ1RPUjBfQ19IUFBfSU5DTFVERUQKKyNkZWZpbmUgQk9PU1RfTVBMX1ZFQ1RPUl9WRUNUT1IwX0NfSFBQX0lOQ0xVREVECisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKy8vIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL21wbCBmb3IgZG9jdW1lbnRhdGlvbi4KKworLy8gJElkOiB2ZWN0b3IwX2MuaHBwIDQ5MjY3IDIwMDgtMTAtMTEgMDY6MTk6MDJaIGFndXJ0b3ZveSAkCisvLyAkRGF0ZTogMjAwOC0xMC0xMCAyMzoxOTowMiAtMDcwMCAoRnJpLCAxMCBPY3QgMjAwOCkgJAorLy8gJFJldmlzaW9uOiA0OTI2NyAkCisKKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvdmVjdG9yL3ZlY3RvcjAuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9pbnRlZ3JhbF9jLmhwcD4KKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKK3RlbXBsYXRlPCB0eXBlbmFtZSBUID4gc3RydWN0IHZlY3RvcjBfYworICAgIDogdmVjdG9yMDw+Cit7CisgICAgdHlwZWRlZiB2ZWN0b3IwX2MgdHlwZTsKKyAgICB0eXBlZGVmIFQgdmFsdWVfdHlwZTsKK307CisKK319CisKKyNlbmRpZiAvLyBCT09TVF9NUExfVkVDVE9SX1ZFQ1RPUjBfQ19IUFBfSU5DTFVERUQKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC92ZWN0b3IvdmVjdG9yMTAuaHBwIGIvbmRuYm9vc3QvbXBsL3ZlY3Rvci92ZWN0b3IxMC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDVjOTM3YQotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L21wbC92ZWN0b3IvdmVjdG9yMTAuaHBwCkBAIC0wLDAgKzEsNDUgQEAKKworI2lmbmRlZiBCT09TVF9NUExfVkVDVE9SX1ZFQ1RPUjEwX0hQUF9JTkNMVURFRAorI2RlZmluZSBCT09TVF9NUExfVkVDVE9SX1ZFQ1RPUjEwX0hQUF9JTkNMVURFRAorCisvLyBDb3B5cmlnaHQgQWxla3NleSBHdXJ0b3ZveSAyMDAwLTIwMDQKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIAorLy8gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisvLyBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvbGlicy9tcGwgZm9yIGRvY3VtZW50YXRpb24uCisKKy8vICRJZDogdmVjdG9yMTAuaHBwIDQ5MjY3IDIwMDgtMTAtMTEgMDY6MTk6MDJaIGFndXJ0b3ZveSAkCisvLyAkRGF0ZTogMjAwOC0xMC0xMCAyMzoxOTowMiAtMDcwMCAoRnJpLCAxMCBPY3QgMjAwOCkgJAorLy8gJFJldmlzaW9uOiA0OTI2NyAkCisKKyNpZiAhZGVmaW5lZChCT09TVF9NUExfUFJFUFJPQ0VTU0lOR19NT0RFKQorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC92ZWN0b3IvdmVjdG9yMC5ocHA+CisjZW5kaWYKKworI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2NvbmZpZy91c2VfcHJlcHJvY2Vzc2VkLmhwcD4KKworI2lmICFkZWZpbmVkKEJPT1NUX01QTF9DRkdfTk9fUFJFUFJPQ0VTU0VEX0hFQURFUlMpIFwKKyAgICAmJiAhZGVmaW5lZChCT09TVF9NUExfUFJFUFJPQ0VTU0lOR19NT0RFKQorCisjICAgZGVmaW5lIEJPT1NUX01QTF9QUkVQUk9DRVNTRURfSEVBREVSIHZlY3RvcjEwLmhwcAorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC92ZWN0b3IvYXV4Xy9pbmNsdWRlX3ByZXByb2Nlc3NlZC5ocHA+CisKKyNlbHNlCisKKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9jb25maWcvdHlwZW9mLmhwcD4KKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9jb25maWcvY3Rwcy5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL2l0ZXJhdGUuaHBwPgorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKworIyAgIGRlZmluZSBCT09TVF9QUF9JVEVSQVRJT05fUEFSQU1TXzEgXAorICAgICgzLCgwLCAxMCwgPG5kbmJvb3N0L21wbC92ZWN0b3IvYXV4Xy9udW1iZXJlZC5ocHA+KSkKKyMgICBpbmNsdWRlIEJPT1NUX1BQX0lURVJBVEUoKQorCit9fQorCisjZW5kaWYgLy8gQk9PU1RfTVBMX0NGR19OT19QUkVQUk9DRVNTRURfSEVBREVSUworCisjZW5kaWYgLy8gQk9PU1RfTVBMX1ZFQ1RPUl9WRUNUT1IxMF9IUFBfSU5DTFVERUQKZGlmZiAtLWdpdCBhL25kbmJvb3N0L21wbC92ZWN0b3IvdmVjdG9yMTBfYy5ocHAgYi9uZG5ib29zdC9tcGwvdmVjdG9yL3ZlY3RvcjEwX2MuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY4ZWZiNjMKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvdmVjdG9yL3ZlY3RvcjEwX2MuaHBwCkBAIC0wLDAgKzEsNDYgQEAKKworI2lmbmRlZiBCT09TVF9NUExfVkVDVE9SX1ZFQ1RPUjEwX0NfSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX01QTF9WRUNUT1JfVkVDVE9SMTBfQ19IUFBfSU5DTFVERUQKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMC0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworLy8gU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL2xpYnMvbXBsIGZvciBkb2N1bWVudGF0aW9uLgorCisvLyAkSWQ6IHZlY3RvcjEwX2MuaHBwIDQ5MjY3IDIwMDgtMTAtMTEgMDY6MTk6MDJaIGFndXJ0b3ZveSAkCisvLyAkRGF0ZTogMjAwOC0xMC0xMCAyMzoxOTowMiAtMDcwMCAoRnJpLCAxMCBPY3QgMjAwOCkgJAorLy8gJFJldmlzaW9uOiA0OTI2NyAkCisKKyNpZiAhZGVmaW5lZChCT09TVF9NUExfUFJFUFJPQ0VTU0lOR19NT0RFKQorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC92ZWN0b3IvdmVjdG9yMF9jLmhwcD4KKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvdmVjdG9yL3ZlY3RvcjEwLmhwcD4KKyNlbmRpZgorCisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vY29uZmlnL3VzZV9wcmVwcm9jZXNzZWQuaHBwPgorCisjaWYgIWRlZmluZWQoQk9PU1RfTVBMX0NGR19OT19QUkVQUk9DRVNTRURfSEVBREVSUykgXAorICAgICYmICFkZWZpbmVkKEJPT1NUX01QTF9QUkVQUk9DRVNTSU5HX01PREUpCisKKyMgICBkZWZpbmUgQk9PU1RfTVBMX1BSRVBST0NFU1NFRF9IRUFERVIgdmVjdG9yMTBfYy5ocHAKKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvdmVjdG9yL2F1eF8vaW5jbHVkZV9wcmVwcm9jZXNzZWQuaHBwPgorCisjZWxzZQorCisjICAgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vY29uZmlnL3R5cGVvZi5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vY29uZmlnL2N0cHMuaHBwPgorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9pdGVyYXRlLmhwcD4KKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIG1wbCB7CisKKyMgICBkZWZpbmUgQk9PU1RfUFBfSVRFUkFUSU9OX1BBUkFNU18xIFwKKyAgICAoMywoMSwgMTAsIDxuZG5ib29zdC9tcGwvdmVjdG9yL2F1eF8vbnVtYmVyZWRfYy5ocHA+KSkKKyMgICBpbmNsdWRlIEJPT1NUX1BQX0lURVJBVEUoKQorCit9fQorCisjZW5kaWYgLy8gQk9PU1RfTVBMX0NGR19OT19QUkVQUk9DRVNTRURfSEVBREVSUworCisjZW5kaWYgLy8gQk9PU1RfTVBMX1ZFQ1RPUl9WRUNUT1IxMF9DX0hQUF9JTkNMVURFRApkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL3ZlY3Rvci92ZWN0b3IyMC5ocHAgYi9uZG5ib29zdC9tcGwvdmVjdG9yL3ZlY3RvcjIwLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hZTU0MjU1Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL3ZlY3Rvci92ZWN0b3IyMC5ocHAKQEAgLTAsMCArMSw0NSBAQAorCisjaWZuZGVmIEJPT1NUX01QTF9WRUNUT1JfVkVDVE9SMjBfSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX01QTF9WRUNUT1JfVkVDVE9SMjBfSFBQX0lOQ0xVREVECisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKy8vIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL21wbCBmb3IgZG9jdW1lbnRhdGlvbi4KKworLy8gJElkOiB2ZWN0b3IyMC5ocHAgNDkyNjcgMjAwOC0xMC0xMSAwNjoxOTowMlogYWd1cnRvdm95ICQKKy8vICREYXRlOiAyMDA4LTEwLTEwIDIzOjE5OjAyIC0wNzAwIChGcmksIDEwIE9jdCAyMDA4KSAkCisvLyAkUmV2aXNpb246IDQ5MjY3ICQKKworI2lmICFkZWZpbmVkKEJPT1NUX01QTF9QUkVQUk9DRVNTSU5HX01PREUpCisjICAgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL3ZlY3Rvci92ZWN0b3IxMC5ocHA+CisjZW5kaWYKKworI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2NvbmZpZy91c2VfcHJlcHJvY2Vzc2VkLmhwcD4KKworI2lmICFkZWZpbmVkKEJPT1NUX01QTF9DRkdfTk9fUFJFUFJPQ0VTU0VEX0hFQURFUlMpIFwKKyAgICAmJiAhZGVmaW5lZChCT09TVF9NUExfUFJFUFJPQ0VTU0lOR19NT0RFKQorCisjICAgZGVmaW5lIEJPT1NUX01QTF9QUkVQUk9DRVNTRURfSEVBREVSIHZlY3RvcjIwLmhwcAorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC92ZWN0b3IvYXV4Xy9pbmNsdWRlX3ByZXByb2Nlc3NlZC5ocHA+CisKKyNlbHNlCisKKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9jb25maWcvdHlwZW9mLmhwcD4KKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9jb25maWcvY3Rwcy5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL2l0ZXJhdGUuaHBwPgorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKworIyAgIGRlZmluZSBCT09TVF9QUF9JVEVSQVRJT05fUEFSQU1TXzEgXAorICAgICgzLCgxMSwgMjAsIDxuZG5ib29zdC9tcGwvdmVjdG9yL2F1eF8vbnVtYmVyZWQuaHBwPikpCisjICAgaW5jbHVkZSBCT09TVF9QUF9JVEVSQVRFKCkKKworfX0KKworI2VuZGlmIC8vIEJPT1NUX01QTF9DRkdfTk9fUFJFUFJPQ0VTU0VEX0hFQURFUlMKKworI2VuZGlmIC8vIEJPT1NUX01QTF9WRUNUT1JfVkVDVE9SMjBfSFBQX0lOQ0xVREVECmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvdmVjdG9yL3ZlY3RvcjIwX2MuaHBwIGIvbmRuYm9vc3QvbXBsL3ZlY3Rvci92ZWN0b3IyMF9jLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mZThkNTkxCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL3ZlY3Rvci92ZWN0b3IyMF9jLmhwcApAQCAtMCwwICsxLDQ2IEBACisKKyNpZm5kZWYgQk9PU1RfTVBMX1ZFQ1RPUl9WRUNUT1IyMF9DX0hQUF9JTkNMVURFRAorI2RlZmluZSBCT09TVF9NUExfVkVDVE9SX1ZFQ1RPUjIwX0NfSFBQX0lOQ0xVREVECisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKy8vIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL21wbCBmb3IgZG9jdW1lbnRhdGlvbi4KKworLy8gJElkOiB2ZWN0b3IyMF9jLmhwcCA0OTI2NyAyMDA4LTEwLTExIDA2OjE5OjAyWiBhZ3VydG92b3kgJAorLy8gJERhdGU6IDIwMDgtMTAtMTAgMjM6MTk6MDIgLTA3MDAgKEZyaSwgMTAgT2N0IDIwMDgpICQKKy8vICRSZXZpc2lvbjogNDkyNjcgJAorCisjaWYgIWRlZmluZWQoQk9PU1RfTVBMX1BSRVBST0NFU1NJTkdfTU9ERSkKKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvdmVjdG9yL3ZlY3RvcjEwX2MuaHBwPgorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC92ZWN0b3IvdmVjdG9yMjAuaHBwPgorI2VuZGlmCisKKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9jb25maWcvdXNlX3ByZXByb2Nlc3NlZC5ocHA+CisKKyNpZiAhZGVmaW5lZChCT09TVF9NUExfQ0ZHX05PX1BSRVBST0NFU1NFRF9IRUFERVJTKSBcCisgICAgJiYgIWRlZmluZWQoQk9PU1RfTVBMX1BSRVBST0NFU1NJTkdfTU9ERSkKKworIyAgIGRlZmluZSBCT09TVF9NUExfUFJFUFJPQ0VTU0VEX0hFQURFUiB2ZWN0b3IyMF9jLmhwcAorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC92ZWN0b3IvYXV4Xy9pbmNsdWRlX3ByZXByb2Nlc3NlZC5ocHA+CisKKyNlbHNlCisKKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9jb25maWcvdHlwZW9mLmhwcD4KKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9jb25maWcvY3Rwcy5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL2l0ZXJhdGUuaHBwPgorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKworIyAgIGRlZmluZSBCT09TVF9QUF9JVEVSQVRJT05fUEFSQU1TXzEgXAorICAgICgzLCgxMSwgMjAsIDxuZG5ib29zdC9tcGwvdmVjdG9yL2F1eF8vbnVtYmVyZWRfYy5ocHA+KSkKKyMgICBpbmNsdWRlIEJPT1NUX1BQX0lURVJBVEUoKQorCit9fQorCisjZW5kaWYgLy8gQk9PU1RfTVBMX0NGR19OT19QUkVQUk9DRVNTRURfSEVBREVSUworCisjZW5kaWYgLy8gQk9PU1RfTVBMX1ZFQ1RPUl9WRUNUT1IyMF9DX0hQUF9JTkNMVURFRApkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL3ZlY3Rvci92ZWN0b3IzMC5ocHAgYi9uZG5ib29zdC9tcGwvdmVjdG9yL3ZlY3RvcjMwLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ODk4MTU1Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL3ZlY3Rvci92ZWN0b3IzMC5ocHAKQEAgLTAsMCArMSw0NSBAQAorCisjaWZuZGVmIEJPT1NUX01QTF9WRUNUT1JfVkVDVE9SMzBfSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX01QTF9WRUNUT1JfVkVDVE9SMzBfSFBQX0lOQ0xVREVECisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKy8vIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL21wbCBmb3IgZG9jdW1lbnRhdGlvbi4KKworLy8gJElkOiB2ZWN0b3IzMC5ocHAgNDkyNjcgMjAwOC0xMC0xMSAwNjoxOTowMlogYWd1cnRvdm95ICQKKy8vICREYXRlOiAyMDA4LTEwLTEwIDIzOjE5OjAyIC0wNzAwIChGcmksIDEwIE9jdCAyMDA4KSAkCisvLyAkUmV2aXNpb246IDQ5MjY3ICQKKworI2lmICFkZWZpbmVkKEJPT1NUX01QTF9QUkVQUk9DRVNTSU5HX01PREUpCisjICAgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL3ZlY3Rvci92ZWN0b3IyMC5ocHA+CisjZW5kaWYKKworI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2NvbmZpZy91c2VfcHJlcHJvY2Vzc2VkLmhwcD4KKworI2lmICFkZWZpbmVkKEJPT1NUX01QTF9DRkdfTk9fUFJFUFJPQ0VTU0VEX0hFQURFUlMpIFwKKyAgICAmJiAhZGVmaW5lZChCT09TVF9NUExfUFJFUFJPQ0VTU0lOR19NT0RFKQorCisjICAgZGVmaW5lIEJPT1NUX01QTF9QUkVQUk9DRVNTRURfSEVBREVSIHZlY3RvcjMwLmhwcAorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC92ZWN0b3IvYXV4Xy9pbmNsdWRlX3ByZXByb2Nlc3NlZC5ocHA+CisKKyNlbHNlCisKKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9jb25maWcvdHlwZW9mLmhwcD4KKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9jb25maWcvY3Rwcy5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL2l0ZXJhdGUuaHBwPgorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKworIyAgIGRlZmluZSBCT09TVF9QUF9JVEVSQVRJT05fUEFSQU1TXzEgXAorICAgICgzLCgyMSwgMzAsIDxuZG5ib29zdC9tcGwvdmVjdG9yL2F1eF8vbnVtYmVyZWQuaHBwPikpCisjICAgaW5jbHVkZSBCT09TVF9QUF9JVEVSQVRFKCkKKworfX0KKworI2VuZGlmIC8vIEJPT1NUX01QTF9DRkdfTk9fUFJFUFJPQ0VTU0VEX0hFQURFUlMKKworI2VuZGlmIC8vIEJPT1NUX01QTF9WRUNUT1JfVkVDVE9SMzBfSFBQX0lOQ0xVREVECmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvdmVjdG9yL3ZlY3RvcjMwX2MuaHBwIGIvbmRuYm9vc3QvbXBsL3ZlY3Rvci92ZWN0b3IzMF9jLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45Y2M5MzAwCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL3ZlY3Rvci92ZWN0b3IzMF9jLmhwcApAQCAtMCwwICsxLDQ3IEBACisKKyNpZm5kZWYgQk9PU1RfTVBMX1ZFQ1RPUl9WRUNUT1IzMF9DX0hQUF9JTkNMVURFRAorI2RlZmluZSBCT09TVF9NUExfVkVDVE9SX1ZFQ1RPUjMwX0NfSFBQX0lOQ0xVREVECisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKy8vIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL21wbCBmb3IgZG9jdW1lbnRhdGlvbi4KKworLy8gJElkOiB2ZWN0b3IzMF9jLmhwcCA0OTI2NyAyMDA4LTEwLTExIDA2OjE5OjAyWiBhZ3VydG92b3kgJAorLy8gJERhdGU6IDIwMDgtMTAtMTAgMjM6MTk6MDIgLTA3MDAgKEZyaSwgMTAgT2N0IDIwMDgpICQKKy8vICRSZXZpc2lvbjogNDkyNjcgJAorCisjaWYgIWRlZmluZWQoQk9PU1RfTVBMX1BSRVBST0NFU1NJTkdfTU9ERSkKKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvdmVjdG9yL3ZlY3RvcjIwX2MuaHBwPgorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC92ZWN0b3IvdmVjdG9yMzAuaHBwPgorI2VuZGlmCisKKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9jb25maWcvdXNlX3ByZXByb2Nlc3NlZC5ocHA+CisKKyNpZiAhZGVmaW5lZChCT09TVF9NUExfQ0ZHX05PX1BSRVBST0NFU1NFRF9IRUFERVJTKSBcCisgJiYgIWRlZmluZWQoQk9PU1RfTVBMX1BSRVBST0NFU1NJTkdfTU9ERSkKKworIyAgIGRlZmluZSBCT09TVF9NUExfUFJFUFJPQ0VTU0VEX0hFQURFUiB2ZWN0b3IzMF9jLmhwcAorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC92ZWN0b3IvYXV4Xy9pbmNsdWRlX3ByZXByb2Nlc3NlZC5ocHA+CisKKyNlbHNlCisKKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9jb25maWcvdHlwZW9mLmhwcD4KKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9jb25maWcvY3Rwcy5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL2l0ZXJhdGUuaHBwPgorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L2NvbmZpZy5ocHA+CisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBtcGwgeworCisjICAgZGVmaW5lIEJPT1NUX1BQX0lURVJBVElPTl9QQVJBTVNfMSBcCisgICAgKDMsKDIxLCAzMCwgPG5kbmJvb3N0L21wbC92ZWN0b3IvYXV4Xy9udW1iZXJlZF9jLmhwcD4pKQorIyAgIGluY2x1ZGUgQk9PU1RfUFBfSVRFUkFURSgpCisKK319CisKKyNlbmRpZiAvLyBCT09TVF9NUExfQ0ZHX1VTRV9QUkVQUk9DRVNTRURfSEVBREVSUworCisjZW5kaWYgLy8gQk9PU1RfTVBMX1ZFQ1RPUl9WRUNUT1IzMF9DX0hQUF9JTkNMVURFRApkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL3ZlY3Rvci92ZWN0b3I0MC5ocHAgYi9uZG5ib29zdC9tcGwvdmVjdG9yL3ZlY3RvcjQwLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mOTJkMGEzCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL3ZlY3Rvci92ZWN0b3I0MC5ocHAKQEAgLTAsMCArMSw0NSBAQAorCisjaWZuZGVmIEJPT1NUX01QTF9WRUNUT1JfVkVDVE9SNDBfSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX01QTF9WRUNUT1JfVkVDVE9SNDBfSFBQX0lOQ0xVREVECisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKy8vIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL21wbCBmb3IgZG9jdW1lbnRhdGlvbi4KKworLy8gJElkOiB2ZWN0b3I0MC5ocHAgNDkyNjcgMjAwOC0xMC0xMSAwNjoxOTowMlogYWd1cnRvdm95ICQKKy8vICREYXRlOiAyMDA4LTEwLTEwIDIzOjE5OjAyIC0wNzAwIChGcmksIDEwIE9jdCAyMDA4KSAkCisvLyAkUmV2aXNpb246IDQ5MjY3ICQKKworI2lmICFkZWZpbmVkKEJPT1NUX01QTF9QUkVQUk9DRVNTSU5HX01PREUpCisjICAgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL3ZlY3Rvci92ZWN0b3IzMC5ocHA+CisjZW5kaWYKKworI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2NvbmZpZy91c2VfcHJlcHJvY2Vzc2VkLmhwcD4KKworI2lmICFkZWZpbmVkKEJPT1NUX01QTF9DRkdfTk9fUFJFUFJPQ0VTU0VEX0hFQURFUlMpIFwKKyAgICAmJiAhZGVmaW5lZChCT09TVF9NUExfUFJFUFJPQ0VTU0lOR19NT0RFKQorCisjICAgZGVmaW5lIEJPT1NUX01QTF9QUkVQUk9DRVNTRURfSEVBREVSIHZlY3RvcjQwLmhwcAorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC92ZWN0b3IvYXV4Xy9pbmNsdWRlX3ByZXByb2Nlc3NlZC5ocHA+CisKKyNlbHNlCisKKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9jb25maWcvdHlwZW9mLmhwcD4KKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9jb25maWcvY3Rwcy5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL2l0ZXJhdGUuaHBwPgorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKworIyAgIGRlZmluZSBCT09TVF9QUF9JVEVSQVRJT05fUEFSQU1TXzEgXAorICAgICgzLCgzMSwgNDAsIDxuZG5ib29zdC9tcGwvdmVjdG9yL2F1eF8vbnVtYmVyZWQuaHBwPikpCisjICAgaW5jbHVkZSBCT09TVF9QUF9JVEVSQVRFKCkKKworfX0KKworI2VuZGlmIC8vIEJPT1NUX01QTF9DRkdfTk9fUFJFUFJPQ0VTU0VEX0hFQURFUlMKKworI2VuZGlmIC8vIEJPT1NUX01QTF9WRUNUT1JfVkVDVE9SNDBfSFBQX0lOQ0xVREVECmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvdmVjdG9yL3ZlY3RvcjQwX2MuaHBwIGIvbmRuYm9vc3QvbXBsL3ZlY3Rvci92ZWN0b3I0MF9jLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMDk2OWY0Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL3ZlY3Rvci92ZWN0b3I0MF9jLmhwcApAQCAtMCwwICsxLDQ2IEBACisKKyNpZm5kZWYgQk9PU1RfTVBMX1ZFQ1RPUl9WRUNUT1I0MF9DX0hQUF9JTkNMVURFRAorI2RlZmluZSBCT09TVF9NUExfVkVDVE9SX1ZFQ1RPUjQwX0NfSFBQX0lOQ0xVREVECisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKy8vIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL21wbCBmb3IgZG9jdW1lbnRhdGlvbi4KKworLy8gJElkOiB2ZWN0b3I0MF9jLmhwcCA0OTI2NyAyMDA4LTEwLTExIDA2OjE5OjAyWiBhZ3VydG92b3kgJAorLy8gJERhdGU6IDIwMDgtMTAtMTAgMjM6MTk6MDIgLTA3MDAgKEZyaSwgMTAgT2N0IDIwMDgpICQKKy8vICRSZXZpc2lvbjogNDkyNjcgJAorCisjaWYgIWRlZmluZWQoQk9PU1RfTVBMX1BSRVBST0NFU1NJTkdfTU9ERSkKKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvdmVjdG9yL3ZlY3RvcjMwX2MuaHBwPgorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC92ZWN0b3IvdmVjdG9yNDAuaHBwPgorI2VuZGlmCisKKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9jb25maWcvdXNlX3ByZXByb2Nlc3NlZC5ocHA+CisKKyNpZiAhZGVmaW5lZChCT09TVF9NUExfQ0ZHX05PX1BSRVBST0NFU1NFRF9IRUFERVJTKSBcCisgICAgJiYgIWRlZmluZWQoQk9PU1RfTVBMX1BSRVBST0NFU1NJTkdfTU9ERSkKKworIyAgIGRlZmluZSBCT09TVF9NUExfUFJFUFJPQ0VTU0VEX0hFQURFUiB2ZWN0b3I0MF9jLmhwcAorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC92ZWN0b3IvYXV4Xy9pbmNsdWRlX3ByZXByb2Nlc3NlZC5ocHA+CisKKyNlbHNlCisKKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9jb25maWcvdHlwZW9mLmhwcD4KKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9jb25maWcvY3Rwcy5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL2l0ZXJhdGUuaHBwPgorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKworIyAgIGRlZmluZSBCT09TVF9QUF9JVEVSQVRJT05fUEFSQU1TXzEgXAorICAgICgzLCgzMSwgNDAsIDxuZG5ib29zdC9tcGwvdmVjdG9yL2F1eF8vbnVtYmVyZWRfYy5ocHA+KSkKKyMgICBpbmNsdWRlIEJPT1NUX1BQX0lURVJBVEUoKQorCit9fQorCisjZW5kaWYgLy8gQk9PU1RfTVBMX0NGR19OT19QUkVQUk9DRVNTRURfSEVBREVSUworCisjZW5kaWYgLy8gQk9PU1RfTVBMX1ZFQ1RPUl9WRUNUT1I0MF9DX0hQUF9JTkNMVURFRApkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL3ZlY3Rvci92ZWN0b3I1MC5ocHAgYi9uZG5ib29zdC9tcGwvdmVjdG9yL3ZlY3RvcjUwLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45OThlOTUwCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL3ZlY3Rvci92ZWN0b3I1MC5ocHAKQEAgLTAsMCArMSw0NSBAQAorCisjaWZuZGVmIEJPT1NUX01QTF9WRUNUT1JfVkVDVE9SNTBfSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX01QTF9WRUNUT1JfVkVDVE9SNTBfSFBQX0lOQ0xVREVECisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKy8vIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL21wbCBmb3IgZG9jdW1lbnRhdGlvbi4KKworLy8gJElkOiB2ZWN0b3I1MC5ocHAgNDkyNjcgMjAwOC0xMC0xMSAwNjoxOTowMlogYWd1cnRvdm95ICQKKy8vICREYXRlOiAyMDA4LTEwLTEwIDIzOjE5OjAyIC0wNzAwIChGcmksIDEwIE9jdCAyMDA4KSAkCisvLyAkUmV2aXNpb246IDQ5MjY3ICQKKworI2lmICFkZWZpbmVkKEJPT1NUX01QTF9QUkVQUk9DRVNTSU5HX01PREUpCisjICAgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL3ZlY3Rvci92ZWN0b3I0MC5ocHA+CisjZW5kaWYKKworI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hdXhfL2NvbmZpZy91c2VfcHJlcHJvY2Vzc2VkLmhwcD4KKworI2lmICFkZWZpbmVkKEJPT1NUX01QTF9DRkdfTk9fUFJFUFJPQ0VTU0VEX0hFQURFUlMpIFwKKyAgICAmJiAhZGVmaW5lZChCT09TVF9NUExfUFJFUFJPQ0VTU0lOR19NT0RFKQorCisjICAgZGVmaW5lIEJPT1NUX01QTF9QUkVQUk9DRVNTRURfSEVBREVSIHZlY3RvcjUwLmhwcAorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC92ZWN0b3IvYXV4Xy9pbmNsdWRlX3ByZXByb2Nlc3NlZC5ocHA+CisKKyNlbHNlCisKKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9jb25maWcvdHlwZW9mLmhwcD4KKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9jb25maWcvY3Rwcy5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL2l0ZXJhdGUuaHBwPgorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKworIyAgIGRlZmluZSBCT09TVF9QUF9JVEVSQVRJT05fUEFSQU1TXzEgXAorICAgICgzLCg0MSwgNTAsIDxuZG5ib29zdC9tcGwvdmVjdG9yL2F1eF8vbnVtYmVyZWQuaHBwPikpCisjICAgaW5jbHVkZSBCT09TVF9QUF9JVEVSQVRFKCkKKworfX0KKworI2VuZGlmIC8vIEJPT1NUX01QTF9DRkdfTk9fUFJFUFJPQ0VTU0VEX0hFQURFUlMKKworI2VuZGlmIC8vIEJPT1NUX01QTF9WRUNUT1JfVkVDVE9SNTBfSFBQX0lOQ0xVREVECmRpZmYgLS1naXQgYS9uZG5ib29zdC9tcGwvdmVjdG9yL3ZlY3RvcjUwX2MuaHBwIGIvbmRuYm9vc3QvbXBsL3ZlY3Rvci92ZWN0b3I1MF9jLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lYTA1N2JlCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvbXBsL3ZlY3Rvci92ZWN0b3I1MF9jLmhwcApAQCAtMCwwICsxLDQ2IEBACisKKyNpZm5kZWYgQk9PU1RfTVBMX1ZFQ1RPUl9WRUNUT1I1MF9DX0hQUF9JTkNMVURFRAorI2RlZmluZSBCT09TVF9NUExfVkVDVE9SX1ZFQ1RPUjUwX0NfSFBQX0lOQ0xVREVECisKKy8vIENvcHlyaWdodCBBbGVrc2V5IEd1cnRvdm95IDIwMDAtMjAwNAorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gCisvLyAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorLy8KKy8vIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL21wbCBmb3IgZG9jdW1lbnRhdGlvbi4KKworLy8gJElkOiB2ZWN0b3I1MF9jLmhwcCA0OTI2NyAyMDA4LTEwLTExIDA2OjE5OjAyWiBhZ3VydG92b3kgJAorLy8gJERhdGU6IDIwMDgtMTAtMTAgMjM6MTk6MDIgLTA3MDAgKEZyaSwgMTAgT2N0IDIwMDgpICQKKy8vICRSZXZpc2lvbjogNDkyNjcgJAorCisjaWYgIWRlZmluZWQoQk9PU1RfTVBMX1BSRVBST0NFU1NJTkdfTU9ERSkKKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvdmVjdG9yL3ZlY3RvcjQwX2MuaHBwPgorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC92ZWN0b3IvdmVjdG9yNTAuaHBwPgorI2VuZGlmCisKKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9jb25maWcvdXNlX3ByZXByb2Nlc3NlZC5ocHA+CisKKyNpZiAhZGVmaW5lZChCT09TVF9NUExfQ0ZHX05PX1BSRVBST0NFU1NFRF9IRUFERVJTKSBcCisgJiYgIWRlZmluZWQoQk9PU1RfTVBMX1BSRVBST0NFU1NJTkdfTU9ERSkKKworIyAgIGRlZmluZSBCT09TVF9NUExfUFJFUFJPQ0VTU0VEX0hFQURFUiB2ZWN0b3I1MF9jLmhwcAorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L21wbC92ZWN0b3IvYXV4Xy9pbmNsdWRlX3ByZXByb2Nlc3NlZC5ocHA+CisKKyNlbHNlCisKKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9jb25maWcvdHlwZW9mLmhwcD4KKyMgICBpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9jb25maWcvY3Rwcy5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL2l0ZXJhdGUuaHBwPgorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKworIyAgIGRlZmluZSBCT09TVF9QUF9JVEVSQVRJT05fUEFSQU1TXzEgXAorICAgICgzLCg0MSwgNTAsIDxuZG5ib29zdC9tcGwvdmVjdG9yL2F1eF8vbnVtYmVyZWRfYy5ocHA+KSkKKyMgICBpbmNsdWRlIEJPT1NUX1BQX0lURVJBVEUoKQorCit9fQorCisjZW5kaWYgLy8gQk9PU1RfTVBMX0NGR19OT19QUkVQUk9DRVNTRURfSEVBREVSUworCisjZW5kaWYgLy8gQk9PU1RfTVBMX1ZFQ1RPUl9WRUNUT1I1MF9DX0hQUF9JTkNMVURFRApkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvbXBsL3ZvaWQuaHBwIGIvbmRuYm9vc3QvbXBsL3ZvaWQuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE1YzdhZWYKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9tcGwvdm9pZC5ocHAKQEAgLTAsMCArMSw3NiBAQAorCisjaWZuZGVmIEJPT1NUX01QTF9WT0lEX0hQUF9JTkNMVURFRAorI2RlZmluZSBCT09TVF9NUExfVk9JRF9IUFBfSU5DTFVERUQKKworLy8gQ29weXJpZ2h0IEFsZWtzZXkgR3VydG92b3kgMjAwMS0yMDA0CisvLworLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAKKy8vIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgCisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworLy8gU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL2xpYnMvbXBsIGZvciBkb2N1bWVudGF0aW9uLgorCisvLyAkSWQ6IHZvaWQuaHBwIDQ5MjY3IDIwMDgtMTAtMTEgMDY6MTk6MDJaIGFndXJ0b3ZveSAkCisvLyAkRGF0ZTogMjAwOC0xMC0xMCAyMzoxOTowMiAtMDcwMCAoRnJpLCAxMCBPY3QgMjAwOCkgJAorLy8gJFJldmlzaW9uOiA0OTI2NyAkCisKKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvdm9pZF9md2QuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9ib29sLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9uYV9zcGVjLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXV4Xy9jb25maWcvbXN2Yy5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2F1eF8vY29uZmlnL3dvcmthcm91bmQuaHBwPgorCitCT09TVF9NUExfQVVYX0FETF9CQVJSSUVSX05BTUVTUEFDRV9PUEVOCisKKy8vICBbSkRHIEZlYi00LTIwMDNdIG1hZGUgdm9pZF8gYSBjb21wbGV0ZSB0eXBlIHRvIGFsbG93IGl0IHRvIGJlCisvLyAgaW5zdGFudGlhdGVkIHNvIHRoYXQgaXQgY2FuIGJlIHBhc3NlZCBpbiBhcyBhbiBvYmplY3QgdGhhdCBjYW4gYmUKKy8vICB1c2VkIHRvIHNlbGVjdCBhbiBvdmVybG9hZGVkIGZ1bmN0aW9uLiBQb3NzaWJsZSB1c2UgaW5jbHVkZXMgc2lnbmFsaW5nCisvLyAgYSB6ZXJvIGFyaXR5IGZ1bmN0b3IgZXZhbHVhdGlvbiBjYWxsLgorc3RydWN0IHZvaWRfIHsgdHlwZWRlZiB2b2lkXyB0eXBlOyB9OworCitCT09TVF9NUExfQVVYX0FETF9CQVJSSUVSX05BTUVTUEFDRV9DTE9TRQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgbXBsIHsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFQgPgorc3RydWN0IGlzX3ZvaWRfCisgICAgOiBmYWxzZV8KK3sKKyNpZiBCT09TVF9XT1JLQVJPVU5EKEJPT1NUX01TVkMsIDwgMTMwMCkKKyAgICB1c2luZyBmYWxzZV86OnZhbHVlOworI2VuZGlmCit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgaXNfdm9pZF88dm9pZF8+CisgICAgOiB0cnVlXworeworI2lmIEJPT1NUX1dPUktBUk9VTkQoQk9PU1RfTVNWQywgPCAxMzAwKQorICAgIHVzaW5nIHRydWVfOjp2YWx1ZTsKKyNlbmRpZgorfTsKKwordGVtcGxhdGU8IHR5cGVuYW1lIFQgPgorc3RydWN0IGlzX25vdF92b2lkXworICAgIDogdHJ1ZV8KK3sKKyNpZiBCT09TVF9XT1JLQVJPVU5EKEJPT1NUX01TVkMsIDwgMTMwMCkKKyAgICB1c2luZyB0cnVlXzo6dmFsdWU7CisjZW5kaWYKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBpc19ub3Rfdm9pZF88dm9pZF8+CisgICAgOiBmYWxzZV8KK3sKKyNpZiBCT09TVF9XT1JLQVJPVU5EKEJPT1NUX01TVkMsIDwgMTMwMCkKKyAgICB1c2luZyBmYWxzZV86OnZhbHVlOworI2VuZGlmCit9OworCitCT09TVF9NUExfQVVYX05BX1NQRUMoMSwgaXNfdm9pZF8pCitCT09TVF9NUExfQVVYX05BX1NQRUMoMSwgaXNfbm90X3ZvaWRfKQorCit9fQorCisjZW5kaWYgLy8gQk9PU1RfTVBMX1ZPSURfSFBQX0lOQ0xVREVECmRpZmYgLS1naXQgYS9uZG5ib29zdC9ub25jb3B5YWJsZS5ocHAgYi9uZG5ib29zdC9ub25jb3B5YWJsZS5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmM0YmVlYgotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L25vbmNvcHlhYmxlLmhwcApAQCAtMCwwICsxLDQ4IEBACisvLyAgQm9vc3Qgbm9uY29weWFibGUuaHBwIGhlYWRlciBmaWxlICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS8vCisKKy8vICAoQykgQ29weXJpZ2h0IEJlbWFuIERhd2VzIDE5OTktMjAwMy4gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0CisvLyAgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIChTZWUgYWNjb21wYW55aW5nIGZpbGUKKy8vICBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisKKy8vICBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvbGlicy91dGlsaXR5IGZvciBkb2N1bWVudGF0aW9uLgorCisjaWZuZGVmIEJPT1NUX05PTkNPUFlBQkxFX0hQUF9JTkNMVURFRAorI2RlZmluZSBCT09TVF9OT05DT1BZQUJMRV9IUFBfSU5DTFVERUQKKworI2luY2x1ZGUgPG5kbmJvb3N0L2NvbmZpZy5ocHA+CisKK25hbWVzcGFjZSBuZG5ib29zdCB7CisKKy8vICBQcml2YXRlIGNvcHkgY29uc3RydWN0b3IgYW5kIGNvcHkgYXNzaWdubWVudCBlbnN1cmUgY2xhc3NlcyBkZXJpdmVkIGZyb20KKy8vICBjbGFzcyBub25jb3B5YWJsZSBjYW5ub3QgYmUgY29waWVkLgorCisvLyAgQ29udHJpYnV0ZWQgYnkgRGF2ZSBBYnJhaGFtcworCituYW1lc3BhY2Ugbm9uY29weWFibGVfICAvLyBwcm90ZWN0aW9uIGZyb20gdW5pbnRlbmRlZCBBREwKK3sKKyAgY2xhc3Mgbm9uY29weWFibGUKKyAgeworICAgcHJvdGVjdGVkOgorI2lmbmRlZiBCT09TVF9OT19ERUZBVUxURURfRlVOQ1RJT05TCisgICAgQk9PU1RfQ09OU1RFWFBSIG5vbmNvcHlhYmxlKCkgPSBkZWZhdWx0OworICAgIH5ub25jb3B5YWJsZSgpID0gZGVmYXVsdDsKKyNlbHNlCisgICAgbm9uY29weWFibGUoKSB7fQorICAgICAgfm5vbmNvcHlhYmxlKCkge30KKyNlbmRpZgorI2lmbmRlZiBCT09TVF9OT19ERUxFVEVEX0ZVTkNUSU9OUworICAgICAgICBub25jb3B5YWJsZSggY29uc3Qgbm9uY29weWFibGUmICkgPSBkZWxldGU7CisgICAgICAgIG5vbmNvcHlhYmxlJiBvcGVyYXRvcj0oIGNvbnN0IG5vbmNvcHlhYmxlJiApID0gZGVsZXRlOworI2Vsc2UKKyAgICBwcml2YXRlOiAgLy8gZW1waGFzaXplIHRoZSBmb2xsb3dpbmcgbWVtYmVycyBhcmUgcHJpdmF0ZQorICAgICAgbm9uY29weWFibGUoIGNvbnN0IG5vbmNvcHlhYmxlJiApOworICAgICAgbm9uY29weWFibGUmIG9wZXJhdG9yPSggY29uc3Qgbm9uY29weWFibGUmICk7CisjZW5kaWYKKyAgfTsKK30KKwordHlwZWRlZiBub25jb3B5YWJsZV86Om5vbmNvcHlhYmxlIG5vbmNvcHlhYmxlOworCit9IC8vIG5hbWVzcGFjZSBuZG5ib29zdAorCisjZW5kaWYgIC8vIEJPT1NUX05PTkNPUFlBQkxFX0hQUF9JTkNMVURFRApkaWZmIC0tZ2l0IGEvbmRuYm9vc3Qvbm9uZV90LmhwcCBiL25kbmJvb3N0L25vbmVfdC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmFmMzAwNAotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L25vbmVfdC5ocHAKQEAgLTAsMCArMSwyNCBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDAzLCBGZXJuYW5kbyBMdWlzIENhY2Npb2xhIENhcmJhbGxhbC4KKy8vCisvLyBVc2UsIG1vZGlmaWNhdGlvbiwgYW5kIGRpc3RyaWJ1dGlvbiBpcyBzdWJqZWN0IHRvIHRoZSBCb29zdCBTb2Z0d2FyZQorLy8gTGljZW5zZSwgVmVyc2lvbiAxLjAuIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisvLyBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvbGlicy9vcHRpb25hbCBmb3IgZG9jdW1lbnRhdGlvbi4KKy8vCisvLyBZb3UgYXJlIHdlbGNvbWUgdG8gY29udGFjdCB0aGUgYXV0aG9yIGF0OgorLy8gIGZlcm5hbmRvX2NhY2Npb2xhQGhvdG1haWwuY29tCisvLworI2lmbmRlZiBCT09TVF9OT05FX1RfMTdTRVAyMDAzX0hQUAorI2RlZmluZSBCT09TVF9OT05FX1RfMTdTRVAyMDAzX0hQUAorCituYW1lc3BhY2UgbmRuYm9vc3QgeworCituYW1lc3BhY2UgZGV0YWlsIHsgc3RydWN0IG5vbmVfaGVscGVye307IH0KKwordHlwZWRlZiBpbnQgZGV0YWlsOjpub25lX2hlbHBlcjo6Km5vbmVfdCA7CisKK30gLy8gbmFtZXNwYWNlIG5kbmJvb3N0CisKKyNlbmRpZgorCmRpZmYgLS1naXQgYS9uZG5ib29zdC9wb2ludGVlLmhwcCBiL25kbmJvb3N0L3BvaW50ZWUuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY1ZDFjZDgKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9wb2ludGVlLmhwcApAQCAtMCwwICsxLDc0IEBACisjaWZuZGVmIFBPSU5URUVfRFdBMjAwNDE1X0hQUAorIyBkZWZpbmUgUE9JTlRFRV9EV0EyMDA0MTVfSFBQCisKKy8vCisvLyBDb3B5cmlnaHQgRGF2aWQgQWJyYWhhbXMgMjAwNC4gVXNlLCBtb2RpZmljYXRpb24gYW5kIGRpc3RyaWJ1dGlvbiBpcworLy8gc3ViamVjdCB0byB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIChTZWUgYWNjb21wYW55aW5nCisvLyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKy8vCisvLyB0eXBlbmFtZSBwb2ludGVlPFA+Ojp0eXBlIHByb3ZpZGVzIHRoZSBwb2ludGVlIHR5cGUgb2YgUC4KKy8vCisvLyBGb3IgZXhhbXBsZSwgaXQgaXMgVCBmb3IgVCogYW5kIFggZm9yIHNoYXJlZF9wdHI8WD4uCisvLworLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvbGlicy9pdGVyYXRvci9kb2MvcG9pbnRlZS5odG1sCisvLworCisjIGluY2x1ZGUgPG5kbmJvb3N0L2RldGFpbC9pc19pbmNyZW1lbnRhYmxlLmhwcD4KKyMgaW5jbHVkZSA8bmRuYm9vc3QvaXRlcmF0b3IvaXRlcmF0b3JfdHJhaXRzLmhwcD4KKyMgaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvYWRkX2NvbnN0LmhwcD4KKyMgaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvcmVtb3ZlX2N2LmhwcD4KKyMgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2lmLmhwcD4KKyMgaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2V2YWxfaWYuaHBwPgorCituYW1lc3BhY2UgbmRuYm9vc3QgeyAKKworbmFtZXNwYWNlIGRldGFpbAoreworICB0ZW1wbGF0ZSA8Y2xhc3MgUD4KKyAgc3RydWN0IHNtYXJ0X3B0cl9wb2ludGVlCisgIHsKKyAgICAgIHR5cGVkZWYgdHlwZW5hbWUgUDo6ZWxlbWVudF90eXBlIHR5cGU7CisgIH07CisKKyAgdGVtcGxhdGUgPGNsYXNzIEl0ZXJhdG9yPgorICBzdHJ1Y3QgaXRlcmF0b3JfcG9pbnRlZQorICB7CisgICAgICB0eXBlZGVmIHR5cGVuYW1lIGl0ZXJhdG9yX3RyYWl0czxJdGVyYXRvcj46OnZhbHVlX3R5cGUgdmFsdWVfdHlwZTsKKyAgICAgIAorICAgICAgc3RydWN0IGltcGwKKyAgICAgIHsKKyAgICAgICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVD4KKyAgICAgICAgICBzdGF0aWMgY2hhciB0ZXN0KFQgY29uc3QmKTsKKyAgICAgICAgICAKKyAgICAgICAgICBzdGF0aWMgY2hhciAoJiB0ZXN0KHZhbHVlX3R5cGUmKSApWzJdOworICAgICAgICAgIAorICAgICAgICAgIHN0YXRpYyBJdGVyYXRvciYgeDsKKyAgICAgIH07CisgICAgICAKKyAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChib29sLCBpc19jb25zdGFudCA9IHNpemVvZihpbXBsOjp0ZXN0KCppbXBsOjp4KSkgPT0gMSk7CisgICAgICAKKyAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjppZl9jPAorIyAgaWYgQk9PU1RfV09SS0FST1VORChfX0JPUkxBTkRDX18sIEJPT1NUX1RFU1RFRF9BVCgweDU1MSkpCisgICAgICAgICAgOjpuZG5ib29zdDo6ZGV0YWlsOjppdGVyYXRvcl9wb2ludGVlPEl0ZXJhdG9yPjo6aXNfY29uc3RhbnQKKyMgIGVsc2UKKyAgICAgICAgICBpc19jb25zdGFudAorIyAgZW5kaWYgCisgICAgICAgICwgdHlwZW5hbWUgYWRkX2NvbnN0PHZhbHVlX3R5cGU+Ojp0eXBlCisgICAgICAgICwgdmFsdWVfdHlwZQorICAgICAgPjo6dHlwZSB0eXBlOworICB9OworfQorCit0ZW1wbGF0ZSA8Y2xhc3MgUD4KK3N0cnVjdCBwb2ludGVlCisgIDogbXBsOjpldmFsX2lmPAorICAgICAgICBkZXRhaWw6OmlzX2luY3JlbWVudGFibGU8UD4KKyAgICAgICwgZGV0YWlsOjppdGVyYXRvcl9wb2ludGVlPFA+CisgICAgICAsIGRldGFpbDo6c21hcnRfcHRyX3BvaW50ZWU8UD4KKyAgICA+Cit7Cit9OworICAKK30gLy8gbmFtZXNwYWNlIG5kbmJvb3N0CisKKyNlbmRpZiAvLyBQT0lOVEVFX0RXQTIwMDQxNV9IUFAKZGlmZiAtLWdpdCBhL25kbmJvb3N0L3BvaW50ZXJfdG9fb3RoZXIuaHBwIGIvbmRuYm9vc3QvcG9pbnRlcl90b19vdGhlci5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGQ3Y2Q5YwotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L3BvaW50ZXJfdG9fb3RoZXIuaHBwCkBAIC0wLDAgKzEsNTUgQEAKKyNpZm5kZWYgQk9PU1RfUE9JTlRFUl9UT19PVEhFUl9IUFBfSU5DTFVERUQKKyNkZWZpbmUgQk9PU1RfUE9JTlRFUl9UT19PVEhFUl9IUFBfSU5DTFVERUQKKworLy8KKy8vICBwb2ludGVyX3RvX290aGVyLmhwcAorLy8KKy8vICAoQykgQ29weXJpZ2h0IElvbiBHYXp0YW5hZ2EgMjAwNS4KKy8vICBDb3B5cmlnaHQgKGMpIDIwMDUgUGV0ZXIgRGltb3YuCisvLworLy8gIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4KKy8vCisvLyAgKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCAKKy8vICBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworLy8gIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL3NtYXJ0X3B0ci9wb2ludGVyX3RvX290aGVyLmh0bWwKKy8vCisKK25hbWVzcGFjZSBuZG5ib29zdAoreworCisvLyBEZWZpbmVzIHRoZSBzYW1lIHBvaW50ZXIgdHlwZSAocmF3IG9yIHNtYXJ0KSB0byBhbm90aGVyIHBvaW50ZWUgdHlwZQorCit0ZW1wbGF0ZTxjbGFzcyBULCBjbGFzcyBVPgorc3RydWN0IHBvaW50ZXJfdG9fb3RoZXI7CisKK3RlbXBsYXRlPGNsYXNzIFQsIGNsYXNzIFUsIAorICAgICAgICAgdGVtcGxhdGU8Y2xhc3M+IGNsYXNzIFNwPgorc3RydWN0IHBvaW50ZXJfdG9fb3RoZXI8IFNwPFQ+LCBVID4KK3sKKyAgIHR5cGVkZWYgU3A8VT4gdHlwZTsKK307CisKK3RlbXBsYXRlPGNsYXNzIFQsIGNsYXNzIFQyLCBjbGFzcyBVLCAKKyAgICAgICAgIHRlbXBsYXRlPGNsYXNzLCBjbGFzcz4gY2xhc3MgU3A+CitzdHJ1Y3QgcG9pbnRlcl90b19vdGhlcjwgU3A8VCwgVDI+LCBVID4KK3sKKyAgIHR5cGVkZWYgU3A8VSwgVDI+IHR5cGU7Cit9OworCit0ZW1wbGF0ZTxjbGFzcyBULCBjbGFzcyBUMiwgY2xhc3MgVDMsIGNsYXNzIFUsIAorICAgICAgICAgdGVtcGxhdGU8Y2xhc3MsIGNsYXNzLCBjbGFzcz4gY2xhc3MgU3A+CitzdHJ1Y3QgcG9pbnRlcl90b19vdGhlcjwgU3A8VCwgVDIsIFQzPiwgVSA+Cit7CisgICB0eXBlZGVmIFNwPFUsIFQyLCBUMz4gdHlwZTsKK307CisKK3RlbXBsYXRlPGNsYXNzIFQsIGNsYXNzIFU+CitzdHJ1Y3QgcG9pbnRlcl90b19vdGhlcjwgVCosIFUgPgoreworICAgdHlwZWRlZiBVKiB0eXBlOworfTsKKworfSAvLyBuYW1lc3BhY2UgbmRuYm9vc3QKKworI2VuZGlmIC8vICNpZm5kZWYgQk9PU1RfUE9JTlRFUl9UT19PVEhFUl9IUFBfSU5DTFVERUQKZGlmZiAtLWdpdCBhL25kbmJvb3N0L3ByZXByb2Nlc3Nvci9jb21wYXJpc29uL2dyZWF0ZXIuaHBwIGIvbmRuYm9vc3QvcHJlcHJvY2Vzc29yL2NvbXBhcmlzb24vZ3JlYXRlci5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzRlNWE5ZQotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L3ByZXByb2Nlc3Nvci9jb21wYXJpc29uL2dyZWF0ZXIuaHBwCkBAIC0wLDAgKzEsMzggQEAKKyMgLyogQ29weXJpZ2h0IChDKSAyMDAxCisjICAqIEhvdXNlbWFycXVlIE95CisjICAqIGh0dHA6Ly93d3cuaG91c2VtYXJxdWUuY29tCisjICAqCisjICAqIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gKFNlZQorIyAgKiBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdAorIyAgKiBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisjICAqLworIworIyAvKiBSZXZpc2VkIGJ5IFBhdWwgTWVuc29uaWRlcyAoMjAwMikgKi8KKyMKKyMgLyogU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnIGZvciBtb3N0IHJlY2VudCB2ZXJzaW9uLiAqLworIworIyBpZm5kZWYgQk9PU1RfUFJFUFJPQ0VTU09SX0NPTVBBUklTT05fR1JFQVRFUl9IUFAKKyMgZGVmaW5lIEJPT1NUX1BSRVBST0NFU1NPUl9DT01QQVJJU09OX0dSRUFURVJfSFBQCisjCisjIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9jb21wYXJpc29uL2xlc3MuaHBwPgorIyBpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3IvY29uZmlnL2NvbmZpZy5ocHA+CisjCisjIC8qIEJPT1NUX1BQX0dSRUFURVIgKi8KKyMKKyMgaWYgfkJPT1NUX1BQX0NPTkZJR19GTEFHUygpICYgQk9PU1RfUFBfQ09ORklHX0VERygpCisjICAgIGRlZmluZSBCT09TVF9QUF9HUkVBVEVSKHgsIHkpIEJPT1NUX1BQX0xFU1MoeSwgeCkKKyMgZWxzZQorIyAgICBkZWZpbmUgQk9PU1RfUFBfR1JFQVRFUih4LCB5KSBCT09TVF9QUF9HUkVBVEVSX0koeCwgeSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX0dSRUFURVJfSSh4LCB5KSBCT09TVF9QUF9MRVNTKHksIHgpCisjIGVuZGlmCisjCisjIC8qIEJPT1NUX1BQX0dSRUFURVJfRCAqLworIworIyBpZiB+Qk9PU1RfUFBfQ09ORklHX0ZMQUdTKCkgJiBCT09TVF9QUF9DT05GSUdfRURHKCkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX0dSRUFURVJfRChkLCB4LCB5KSBCT09TVF9QUF9MRVNTX0QoZCwgeSwgeCkKKyMgZWxzZQorIyAgICBkZWZpbmUgQk9PU1RfUFBfR1JFQVRFUl9EKGQsIHgsIHkpIEJPT1NUX1BQX0dSRUFURVJfRF9JKGQsIHgsIHkpCisjICAgIGRlZmluZSBCT09TVF9QUF9HUkVBVEVSX0RfSShkLCB4LCB5KSBCT09TVF9QUF9MRVNTX0QoZCwgeSwgeCkKKyMgZW5kaWYKKyMKKyMgZW5kaWYKZGlmZiAtLWdpdCBhL25kbmJvb3N0L3ByZXByb2Nlc3Nvci9jb21wYXJpc29uL2xlc3MuaHBwIGIvbmRuYm9vc3QvcHJlcHJvY2Vzc29yL2NvbXBhcmlzb24vbGVzcy5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWYxMzhjZgotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L3ByZXByb2Nlc3Nvci9jb21wYXJpc29uL2xlc3MuaHBwCkBAIC0wLDAgKzEsNDYgQEAKKyMgLyogQ29weXJpZ2h0IChDKSAyMDAxCisjICAqIEhvdXNlbWFycXVlIE95CisjICAqIGh0dHA6Ly93d3cuaG91c2VtYXJxdWUuY29tCisjICAqCisjICAqIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gKFNlZQorIyAgKiBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdAorIyAgKiBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisjICAqLworIworIyAvKiBSZXZpc2VkIGJ5IFBhdWwgTWVuc29uaWRlcyAoMjAwMikgKi8KKyMKKyMgLyogU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnIGZvciBtb3N0IHJlY2VudCB2ZXJzaW9uLiAqLworIworIyBpZm5kZWYgQk9PU1RfUFJFUFJPQ0VTU09SX0NPTVBBUklTT05fTEVTU19IUFAKKyMgZGVmaW5lIEJPT1NUX1BSRVBST0NFU1NPUl9DT01QQVJJU09OX0xFU1NfSFBQCisjCisjIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9jb21wYXJpc29uL2xlc3NfZXF1YWwuaHBwPgorIyBpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3IvY29tcGFyaXNvbi9ub3RfZXF1YWwuaHBwPgorIyBpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3IvY29uZmlnL2NvbmZpZy5ocHA+CisjIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9jb250cm9sL2lpZi5ocHA+CisjIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9sb2dpY2FsL2JpdGFuZC5ocHA+CisjIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci90dXBsZS9lYXQuaHBwPgorIworIyAvKiBCT09TVF9QUF9MRVNTICovCisjCisjIGlmIEJPT1NUX1BQX0NPTkZJR19GTEFHUygpICYgKEJPT1NUX1BQX0NPTkZJR19NV0NDKCkgfCBCT09TVF9QUF9DT05GSUdfRE1DKCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9MRVNTKHgsIHkpIEJPT1NUX1BQX0JJVEFORChCT09TVF9QUF9OT1RfRVFVQUwoeCwgeSksIEJPT1NUX1BQX0xFU1NfRVFVQUwoeCwgeSkpCisjIGVsaWYgfkJPT1NUX1BQX0NPTkZJR19GTEFHUygpICYgQk9PU1RfUFBfQ09ORklHX0VERygpCisjICAgIGRlZmluZSBCT09TVF9QUF9MRVNTKHgsIHkpIEJPT1NUX1BQX0lJRihCT09TVF9QUF9OT1RfRVFVQUwoeCwgeSksIEJPT1NUX1BQX0xFU1NfRVFVQUwsIDAgQk9PU1RfUFBfVFVQTEVfRUFUXzIpKHgsIHkpCisjIGVsc2UKKyMgICAgZGVmaW5lIEJPT1NUX1BQX0xFU1MoeCwgeSkgQk9PU1RfUFBfTEVTU19JKHgsIHkpCisjICAgIGRlZmluZSBCT09TVF9QUF9MRVNTX0koeCwgeSkgQk9PU1RfUFBfSUlGKEJPT1NUX1BQX05PVF9FUVVBTCh4LCB5KSwgQk9PU1RfUFBfTEVTU19FUVVBTCwgMCBCT09TVF9QUF9UVVBMRV9FQVRfMikoeCwgeSkKKyMgZW5kaWYKKyMKKyMgLyogQk9PU1RfUFBfTEVTU19EICovCisjCisjIGlmIEJPT1NUX1BQX0NPTkZJR19GTEFHUygpICYgKEJPT1NUX1BQX0NPTkZJR19NV0NDKCkgfCBCT09TVF9QUF9DT05GSUdfRE1DKCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9MRVNTX0QoZCwgeCwgeSkgQk9PU1RfUFBfQklUQU5EKEJPT1NUX1BQX05PVF9FUVVBTCh4LCB5KSwgQk9PU1RfUFBfTEVTU19FUVVBTF9EKGQsIHgsIHkpKQorIyBlbGlmIH5CT09TVF9QUF9DT05GSUdfRkxBR1MoKSAmIEJPT1NUX1BQX0NPTkZJR19FREcoKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTEVTU19EKGQsIHgsIHkpIEJPT1NUX1BQX0lJRihCT09TVF9QUF9OT1RfRVFVQUwoeCwgeSksIEJPT1NUX1BQX0xFU1NfRVFVQUxfRCwgMCBCT09TVF9QUF9UVVBMRV9FQVRfMykoZCwgeCwgeSkKKyMgZWxzZQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTEVTU19EKGQsIHgsIHkpIEJPT1NUX1BQX0xFU1NfRF9JKGQsIHgsIHkpCisjICAgIGRlZmluZSBCT09TVF9QUF9MRVNTX0RfSShkLCB4LCB5KSBCT09TVF9QUF9JSUYoQk9PU1RfUFBfTk9UX0VRVUFMKHgsIHkpLCBCT09TVF9QUF9MRVNTX0VRVUFMX0QsIDAgQk9PU1RfUFBfVFVQTEVfRUFUXzMpKGQsIHgsIHkpCisjIGVuZGlmCisjCisjIGVuZGlmCmRpZmYgLS1naXQgYS9uZG5ib29zdC9wcmVwcm9jZXNzb3IvY29tcGFyaXNvbi9sZXNzX2VxdWFsLmhwcCBiL25kbmJvb3N0L3ByZXByb2Nlc3Nvci9jb21wYXJpc29uL2xlc3NfZXF1YWwuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI0NzE1NjQKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9wcmVwcm9jZXNzb3IvY29tcGFyaXNvbi9sZXNzX2VxdWFsLmhwcApAQCAtMCwwICsxLDM5IEBACisjIC8qIENvcHlyaWdodCAoQykgMjAwMQorIyAgKiBIb3VzZW1hcnF1ZSBPeQorIyAgKiBodHRwOi8vd3d3LmhvdXNlbWFycXVlLmNvbQorIyAgKgorIyAgKiBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIChTZWUKKyMgICogYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQKKyMgICogaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorIyAgKi8KKyMKKyMgLyogUmV2aXNlZCBieSBQYXVsIE1lbnNvbmlkZXMgKDIwMDIpICovCisjCisjIC8qIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZyBmb3IgbW9zdCByZWNlbnQgdmVyc2lvbi4gKi8KKyMKKyMgaWZuZGVmIEJPT1NUX1BSRVBST0NFU1NPUl9DT01QQVJJU09OX0xFU1NfRVFVQUxfSFBQCisjIGRlZmluZSBCT09TVF9QUkVQUk9DRVNTT1JfQ09NUEFSSVNPTl9MRVNTX0VRVUFMX0hQUAorIworIyBpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3IvYXJpdGhtZXRpYy9zdWIuaHBwPgorIyBpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3IvY29uZmlnL2NvbmZpZy5ocHA+CisjIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9sb2dpY2FsL25vdC5ocHA+CisjCisjIC8qIEJPT1NUX1BQX0xFU1NfRVFVQUwgKi8KKyMKKyMgaWYgfkJPT1NUX1BQX0NPTkZJR19GTEFHUygpICYgQk9PU1RfUFBfQ09ORklHX0VERygpCisjICAgIGRlZmluZSBCT09TVF9QUF9MRVNTX0VRVUFMKHgsIHkpIEJPT1NUX1BQX05PVChCT09TVF9QUF9TVUIoeCwgeSkpCisjIGVsc2UKKyMgICAgZGVmaW5lIEJPT1NUX1BQX0xFU1NfRVFVQUwoeCwgeSkgQk9PU1RfUFBfTEVTU19FUVVBTF9JKHgsIHkpCisjICAgIGRlZmluZSBCT09TVF9QUF9MRVNTX0VRVUFMX0koeCwgeSkgQk9PU1RfUFBfTk9UKEJPT1NUX1BQX1NVQih4LCB5KSkKKyMgZW5kaWYKKyMKKyMgLyogQk9PU1RfUFBfTEVTU19FUVVBTF9EICovCisjCisjIGlmIH5CT09TVF9QUF9DT05GSUdfRkxBR1MoKSAmIEJPT1NUX1BQX0NPTkZJR19FREcoKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTEVTU19FUVVBTF9EKGQsIHgsIHkpIEJPT1NUX1BQX05PVChCT09TVF9QUF9TVUJfRChkLCB4LCB5KSkKKyMgZWxzZQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTEVTU19FUVVBTF9EKGQsIHgsIHkpIEJPT1NUX1BQX0xFU1NfRVFVQUxfRF9JKGQsIHgsIHkpCisjICAgIGRlZmluZSBCT09TVF9QUF9MRVNTX0VRVUFMX0RfSShkLCB4LCB5KSBCT09TVF9QUF9OT1QoQk9PU1RfUFBfU1VCX0QoZCwgeCwgeSkpCisjIGVuZGlmCisjCisjIGVuZGlmCmRpZmYgLS1naXQgYS9uZG5ib29zdC9wcmVwcm9jZXNzb3IvY29tcGFyaXNvbi9ub3RfZXF1YWwuaHBwIGIvbmRuYm9vc3QvcHJlcHJvY2Vzc29yL2NvbXBhcmlzb24vbm90X2VxdWFsLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MTUzODkwCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvcHJlcHJvY2Vzc29yL2NvbXBhcmlzb24vbm90X2VxdWFsLmhwcApAQCAtMCwwICsxLDgxNCBAQAorIyAvKiBDb3B5cmlnaHQgKEMpIDIwMDEKKyMgICogSG91c2VtYXJxdWUgT3kKKyMgICogaHR0cDovL3d3dy5ob3VzZW1hcnF1ZS5jb20KKyMgICoKKyMgICogRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAoU2VlCisjICAqIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0CisjICAqIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKyMgICovCisjCisjIC8qIFJldmlzZWQgYnkgUGF1bCBNZW5zb25pZGVzICgyMDAyKSAqLworIworIyAvKiBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcgZm9yIG1vc3QgcmVjZW50IHZlcnNpb24uICovCisjCisjIGlmbmRlZiBCT09TVF9QUkVQUk9DRVNTT1JfQ09NUEFSSVNPTl9OT1RfRVFVQUxfSFBQCisjIGRlZmluZSBCT09TVF9QUkVQUk9DRVNTT1JfQ09NUEFSSVNPTl9OT1RfRVFVQUxfSFBQCisjCisjIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9jYXQuaHBwPgorIyBpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3IvY29uZmlnL2NvbmZpZy5ocHA+CisjIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9jb250cm9sL2lpZi5ocHA+CisjCisjIC8qIEJPT1NUX1BQX05PVF9FUVVBTCAqLworIworIyBpZiB+Qk9PU1RfUFBfQ09ORklHX0ZMQUdTKCkgJiBCT09TVF9QUF9DT05GSUdfTVdDQygpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUwoeCwgeSkgQk9PU1RfUFBfTk9UX0VRVUFMX0koeCwgeSkKKyMgZWxzZQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMKHgsIHkpIEJPT1NUX1BQX05PVF9FUVVBTF9PTygoeCwgeSkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfT08ocGFyKSBCT09TVF9QUF9OT1RfRVFVQUxfSSAjIyBwYXIKKyMgZW5kaWYKKyMKKyMgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF9JKHgsIHkpIEJPT1NUX1BQX0NBVChCT09TVF9QUF9OT1RfRVFVQUxfQ0hFQ0tfLCBCT09TVF9QUF9OT1RfRVFVQUxfICMjIHgoMCwgQk9PU1RfUFBfTk9UX0VRVUFMXyAjIyB5KSkKKyMKKyMgLyogQk9PU1RfUFBfTk9UX0VRVUFMX0QgKi8KKyMKKyMgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF9EKGQsIHgsIHkpIEJPT1NUX1BQX05PVF9FUVVBTCh4LCB5KQorIworIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05JTCAxCisjCisjIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfQ0hFQ0tfQk9PU1RfUFBfTk9UX0VRVUFMXzAoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8xKGMsIHkpIDAKKyMgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF9DSEVDS19CT09TVF9QUF9OT1RfRVFVQUxfMihjLCB5KSAwCisjIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfQ0hFQ0tfQk9PU1RfUFBfTk9UX0VRVUFMXzMoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF80KGMsIHkpIDAKKyMgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF9DSEVDS19CT09TVF9QUF9OT1RfRVFVQUxfNShjLCB5KSAwCisjIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfQ0hFQ0tfQk9PU1RfUFBfTk9UX0VRVUFMXzYoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF83KGMsIHkpIDAKKyMgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF9DSEVDS19CT09TVF9QUF9OT1RfRVFVQUxfOChjLCB5KSAwCisjIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfQ0hFQ0tfQk9PU1RfUFBfTk9UX0VRVUFMXzkoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8xMChjLCB5KSAwCisjIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfQ0hFQ0tfQk9PU1RfUFBfTk9UX0VRVUFMXzExKGMsIHkpIDAKKyMgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF9DSEVDS19CT09TVF9QUF9OT1RfRVFVQUxfMTIoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8xMyhjLCB5KSAwCisjIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfQ0hFQ0tfQk9PU1RfUFBfTk9UX0VRVUFMXzE0KGMsIHkpIDAKKyMgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF9DSEVDS19CT09TVF9QUF9OT1RfRVFVQUxfMTUoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8xNihjLCB5KSAwCisjIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfQ0hFQ0tfQk9PU1RfUFBfTk9UX0VRVUFMXzE3KGMsIHkpIDAKKyMgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF9DSEVDS19CT09TVF9QUF9OT1RfRVFVQUxfMTgoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8xOShjLCB5KSAwCisjIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfQ0hFQ0tfQk9PU1RfUFBfTk9UX0VRVUFMXzIwKGMsIHkpIDAKKyMgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF9DSEVDS19CT09TVF9QUF9OT1RfRVFVQUxfMjEoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8yMihjLCB5KSAwCisjIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfQ0hFQ0tfQk9PU1RfUFBfTk9UX0VRVUFMXzIzKGMsIHkpIDAKKyMgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF9DSEVDS19CT09TVF9QUF9OT1RfRVFVQUxfMjQoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8yNShjLCB5KSAwCisjIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfQ0hFQ0tfQk9PU1RfUFBfTk9UX0VRVUFMXzI2KGMsIHkpIDAKKyMgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF9DSEVDS19CT09TVF9QUF9OT1RfRVFVQUxfMjcoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8yOChjLCB5KSAwCisjIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfQ0hFQ0tfQk9PU1RfUFBfTk9UX0VRVUFMXzI5KGMsIHkpIDAKKyMgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF9DSEVDS19CT09TVF9QUF9OT1RfRVFVQUxfMzAoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8zMShjLCB5KSAwCisjIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfQ0hFQ0tfQk9PU1RfUFBfTk9UX0VRVUFMXzMyKGMsIHkpIDAKKyMgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF9DSEVDS19CT09TVF9QUF9OT1RfRVFVQUxfMzMoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8zNChjLCB5KSAwCisjIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfQ0hFQ0tfQk9PU1RfUFBfTk9UX0VRVUFMXzM1KGMsIHkpIDAKKyMgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF9DSEVDS19CT09TVF9QUF9OT1RfRVFVQUxfMzYoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8zNyhjLCB5KSAwCisjIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfQ0hFQ0tfQk9PU1RfUFBfTk9UX0VRVUFMXzM4KGMsIHkpIDAKKyMgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF9DSEVDS19CT09TVF9QUF9OT1RfRVFVQUxfMzkoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF80MChjLCB5KSAwCisjIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfQ0hFQ0tfQk9PU1RfUFBfTk9UX0VRVUFMXzQxKGMsIHkpIDAKKyMgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF9DSEVDS19CT09TVF9QUF9OT1RfRVFVQUxfNDIoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF80MyhjLCB5KSAwCisjIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfQ0hFQ0tfQk9PU1RfUFBfTk9UX0VRVUFMXzQ0KGMsIHkpIDAKKyMgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF9DSEVDS19CT09TVF9QUF9OT1RfRVFVQUxfNDUoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF80NihjLCB5KSAwCisjIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfQ0hFQ0tfQk9PU1RfUFBfTk9UX0VRVUFMXzQ3KGMsIHkpIDAKKyMgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF9DSEVDS19CT09TVF9QUF9OT1RfRVFVQUxfNDgoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF80OShjLCB5KSAwCisjIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfQ0hFQ0tfQk9PU1RfUFBfTk9UX0VRVUFMXzUwKGMsIHkpIDAKKyMgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF9DSEVDS19CT09TVF9QUF9OT1RfRVFVQUxfNTEoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF81MihjLCB5KSAwCisjIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfQ0hFQ0tfQk9PU1RfUFBfTk9UX0VRVUFMXzUzKGMsIHkpIDAKKyMgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF9DSEVDS19CT09TVF9QUF9OT1RfRVFVQUxfNTQoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF81NShjLCB5KSAwCisjIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfQ0hFQ0tfQk9PU1RfUFBfTk9UX0VRVUFMXzU2KGMsIHkpIDAKKyMgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF9DSEVDS19CT09TVF9QUF9OT1RfRVFVQUxfNTcoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF81OChjLCB5KSAwCisjIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfQ0hFQ0tfQk9PU1RfUFBfTk9UX0VRVUFMXzU5KGMsIHkpIDAKKyMgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF9DSEVDS19CT09TVF9QUF9OT1RfRVFVQUxfNjAoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF82MShjLCB5KSAwCisjIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfQ0hFQ0tfQk9PU1RfUFBfTk9UX0VRVUFMXzYyKGMsIHkpIDAKKyMgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF9DSEVDS19CT09TVF9QUF9OT1RfRVFVQUxfNjMoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF82NChjLCB5KSAwCisjIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfQ0hFQ0tfQk9PU1RfUFBfTk9UX0VRVUFMXzY1KGMsIHkpIDAKKyMgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF9DSEVDS19CT09TVF9QUF9OT1RfRVFVQUxfNjYoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF82NyhjLCB5KSAwCisjIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfQ0hFQ0tfQk9PU1RfUFBfTk9UX0VRVUFMXzY4KGMsIHkpIDAKKyMgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF9DSEVDS19CT09TVF9QUF9OT1RfRVFVQUxfNjkoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF83MChjLCB5KSAwCisjIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfQ0hFQ0tfQk9PU1RfUFBfTk9UX0VRVUFMXzcxKGMsIHkpIDAKKyMgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF9DSEVDS19CT09TVF9QUF9OT1RfRVFVQUxfNzIoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF83MyhjLCB5KSAwCisjIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfQ0hFQ0tfQk9PU1RfUFBfTk9UX0VRVUFMXzc0KGMsIHkpIDAKKyMgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF9DSEVDS19CT09TVF9QUF9OT1RfRVFVQUxfNzUoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF83NihjLCB5KSAwCisjIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfQ0hFQ0tfQk9PU1RfUFBfTk9UX0VRVUFMXzc3KGMsIHkpIDAKKyMgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF9DSEVDS19CT09TVF9QUF9OT1RfRVFVQUxfNzgoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF83OShjLCB5KSAwCisjIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfQ0hFQ0tfQk9PU1RfUFBfTk9UX0VRVUFMXzgwKGMsIHkpIDAKKyMgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF9DSEVDS19CT09TVF9QUF9OT1RfRVFVQUxfODEoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF84MihjLCB5KSAwCisjIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfQ0hFQ0tfQk9PU1RfUFBfTk9UX0VRVUFMXzgzKGMsIHkpIDAKKyMgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF9DSEVDS19CT09TVF9QUF9OT1RfRVFVQUxfODQoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF84NShjLCB5KSAwCisjIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfQ0hFQ0tfQk9PU1RfUFBfTk9UX0VRVUFMXzg2KGMsIHkpIDAKKyMgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF9DSEVDS19CT09TVF9QUF9OT1RfRVFVQUxfODcoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF84OChjLCB5KSAwCisjIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfQ0hFQ0tfQk9PU1RfUFBfTk9UX0VRVUFMXzg5KGMsIHkpIDAKKyMgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF9DSEVDS19CT09TVF9QUF9OT1RfRVFVQUxfOTAoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF85MShjLCB5KSAwCisjIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfQ0hFQ0tfQk9PU1RfUFBfTk9UX0VRVUFMXzkyKGMsIHkpIDAKKyMgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF9DSEVDS19CT09TVF9QUF9OT1RfRVFVQUxfOTMoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF85NChjLCB5KSAwCisjIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfQ0hFQ0tfQk9PU1RfUFBfTk9UX0VRVUFMXzk1KGMsIHkpIDAKKyMgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF9DSEVDS19CT09TVF9QUF9OT1RfRVFVQUxfOTYoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF85NyhjLCB5KSAwCisjIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfQ0hFQ0tfQk9PU1RfUFBfTk9UX0VRVUFMXzk4KGMsIHkpIDAKKyMgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF9DSEVDS19CT09TVF9QUF9OT1RfRVFVQUxfOTkoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8xMDAoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8xMDEoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8xMDIoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8xMDMoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8xMDQoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8xMDUoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8xMDYoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8xMDcoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8xMDgoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8xMDkoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8xMTAoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8xMTEoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8xMTIoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8xMTMoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8xMTQoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8xMTUoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8xMTYoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8xMTcoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8xMTgoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8xMTkoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8xMjAoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8xMjEoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8xMjIoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8xMjMoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8xMjQoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8xMjUoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8xMjYoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8xMjcoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8xMjgoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8xMjkoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8xMzAoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8xMzEoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8xMzIoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8xMzMoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8xMzQoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8xMzUoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8xMzYoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8xMzcoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8xMzgoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8xMzkoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8xNDAoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8xNDEoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8xNDIoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8xNDMoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8xNDQoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8xNDUoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8xNDYoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8xNDcoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8xNDgoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8xNDkoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8xNTAoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8xNTEoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8xNTIoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8xNTMoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8xNTQoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8xNTUoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8xNTYoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8xNTcoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8xNTgoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8xNTkoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8xNjAoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8xNjEoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8xNjIoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8xNjMoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8xNjQoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8xNjUoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8xNjYoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8xNjcoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8xNjgoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8xNjkoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8xNzAoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8xNzEoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8xNzIoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8xNzMoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8xNzQoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8xNzUoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8xNzYoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8xNzcoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8xNzgoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8xNzkoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8xODAoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8xODEoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8xODIoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8xODMoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8xODQoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8xODUoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8xODYoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8xODcoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8xODgoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8xODkoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8xOTAoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8xOTEoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8xOTIoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8xOTMoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8xOTQoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8xOTUoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8xOTYoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8xOTcoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8xOTgoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8xOTkoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8yMDAoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8yMDEoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8yMDIoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8yMDMoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8yMDQoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8yMDUoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8yMDYoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8yMDcoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8yMDgoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8yMDkoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8yMTAoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8yMTEoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8yMTIoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8yMTMoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8yMTQoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8yMTUoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8yMTYoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8yMTcoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8yMTgoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8yMTkoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8yMjAoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8yMjEoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8yMjIoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8yMjMoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8yMjQoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8yMjUoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8yMjYoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8yMjcoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8yMjgoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8yMjkoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8yMzAoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8yMzEoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8yMzIoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8yMzMoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8yMzQoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8yMzUoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8yMzYoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8yMzcoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8yMzgoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8yMzkoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8yNDAoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8yNDEoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8yNDIoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8yNDMoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8yNDQoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8yNDUoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8yNDYoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8yNDcoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8yNDgoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8yNDkoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8yNTAoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8yNTEoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8yNTIoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8yNTMoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8yNTQoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8yNTUoYywgeSkgMAorIyBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMX0NIRUNLX0JPT1NUX1BQX05PVF9FUVVBTF8yNTYoYywgeSkgMAorIworI2lmIH5CT09TVF9QUF9DT05GSUdfRkxBR1MoKSAmIEJPT1NUX1BQX0NPTkZJR19ETUMoKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzAoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSgxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzEoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSgxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzIoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSgxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzMoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSgxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzQoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSgxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzUoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSgxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzYoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSgxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzcoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSgxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzgoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSgxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzkoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSgxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzEwKGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8xMShjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5KDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMTIoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSgxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzEzKGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8xNChjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5KDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMTUoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSgxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzE2KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8xNyhjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5KDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMTgoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSgxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzE5KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8yMChjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5KDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMjEoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSgxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzIyKGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8yMyhjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5KDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMjQoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSgxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzI1KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8yNihjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5KDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMjcoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSgxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzI4KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8yOShjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5KDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMzAoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSgxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzMxKGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8zMihjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5KDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMzMoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSgxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzM0KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8zNShjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5KDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMzYoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSgxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzM3KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8zOChjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5KDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMzkoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSgxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzQwKGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF80MShjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5KDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfNDIoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSgxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzQzKGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF80NChjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5KDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfNDUoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSgxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzQ2KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF80NyhjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5KDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfNDgoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSgxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzQ5KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF81MChjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5KDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfNTEoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSgxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzUyKGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF81MyhjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5KDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfNTQoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSgxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzU1KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF81NihjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5KDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfNTcoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSgxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzU4KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF81OShjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5KDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfNjAoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSgxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzYxKGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF82MihjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5KDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfNjMoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSgxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzY0KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF82NShjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5KDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfNjYoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSgxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzY3KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF82OChjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5KDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfNjkoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSgxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzcwKGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF83MShjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5KDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfNzIoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSgxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzczKGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF83NChjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5KDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfNzUoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSgxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzc2KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF83NyhjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5KDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfNzgoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSgxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzc5KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF84MChjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5KDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfODEoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSgxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzgyKGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF84MyhjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5KDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfODQoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSgxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzg1KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF84NihjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5KDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfODcoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSgxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzg4KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF84OShjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5KDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfOTAoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSgxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzkxKGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF85MihjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5KDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfOTMoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSgxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzk0KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF85NShjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5KDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfOTYoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSgxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzk3KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF85OChjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5KDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfOTkoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSgxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzEwMChjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5KDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMTAxKGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8xMDIoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSgxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzEwMyhjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5KDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMTA0KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8xMDUoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSgxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzEwNihjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5KDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMTA3KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8xMDgoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSgxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzEwOShjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5KDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMTEwKGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8xMTEoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSgxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzExMihjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5KDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMTEzKGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8xMTQoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSgxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzExNShjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5KDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMTE2KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8xMTcoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSgxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzExOChjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5KDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMTE5KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8xMjAoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSgxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzEyMShjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5KDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMTIyKGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8xMjMoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSgxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzEyNChjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5KDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMTI1KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8xMjYoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSgxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzEyNyhjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5KDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMTI4KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8xMjkoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSgxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzEzMChjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5KDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMTMxKGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8xMzIoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSgxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzEzMyhjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5KDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMTM0KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8xMzUoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSgxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzEzNihjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5KDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMTM3KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8xMzgoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSgxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzEzOShjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5KDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMTQwKGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8xNDEoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSgxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzE0MihjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5KDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMTQzKGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8xNDQoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSgxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzE0NShjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5KDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMTQ2KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8xNDcoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSgxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzE0OChjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5KDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMTQ5KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8xNTAoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSgxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzE1MShjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5KDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMTUyKGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8xNTMoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSgxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzE1NChjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5KDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMTU1KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8xNTYoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSgxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzE1NyhjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5KDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMTU4KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8xNTkoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSgxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzE2MChjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5KDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMTYxKGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8xNjIoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSgxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzE2MyhjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5KDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMTY0KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8xNjUoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSgxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzE2NihjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5KDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMTY3KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8xNjgoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSgxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzE2OShjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5KDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMTcwKGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8xNzEoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSgxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzE3MihjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5KDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMTczKGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8xNzQoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSgxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzE3NShjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5KDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMTc2KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8xNzcoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSgxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzE3OChjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5KDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMTc5KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8xODAoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSgxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzE4MShjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5KDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMTgyKGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8xODMoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSgxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzE4NChjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5KDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMTg1KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8xODYoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSgxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzE4NyhjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5KDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMTg4KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8xODkoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSgxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzE5MChjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5KDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMTkxKGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8xOTIoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSgxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzE5MyhjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5KDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMTk0KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8xOTUoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSgxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzE5NihjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5KDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMTk3KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8xOTgoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSgxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzE5OShjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5KDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMjAwKGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8yMDEoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSgxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzIwMihjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5KDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMjAzKGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8yMDQoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSgxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzIwNShjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5KDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMjA2KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8yMDcoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSgxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzIwOChjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5KDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMjA5KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8yMTAoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSgxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzIxMShjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5KDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMjEyKGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8yMTMoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSgxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzIxNChjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5KDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMjE1KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8yMTYoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSgxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzIxNyhjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5KDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMjE4KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8yMTkoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSgxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzIyMChjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5KDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMjIxKGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8yMjIoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSgxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzIyMyhjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5KDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMjI0KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8yMjUoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSgxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzIyNihjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5KDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMjI3KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8yMjgoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSgxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzIyOShjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5KDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMjMwKGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8yMzEoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSgxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzIzMihjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5KDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMjMzKGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8yMzQoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSgxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzIzNShjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5KDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMjM2KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8yMzcoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSgxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzIzOChjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5KDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMjM5KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8yNDAoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSgxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzI0MShjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5KDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMjQyKGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8yNDMoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSgxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzI0NChjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5KDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMjQ1KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8yNDYoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSgxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzI0NyhjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5KDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMjQ4KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8yNDkoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSgxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzI1MChjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5KDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMjUxKGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8yNTIoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSgxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzI1MyhjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5KDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMjU0KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8yNTUoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSgxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzI1NihjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5KDEsIEJPT1NUX1BQX05JTCkpCisjIGVsc2UKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8wKGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzEoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSMjKDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMihjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5IyMoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8zKGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzQoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSMjKDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfNShjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5IyMoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF82KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzcoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSMjKDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfOChjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5IyMoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF85KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzEwKGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzExKGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzEyKGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzEzKGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzE0KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzE1KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzE2KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzE3KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzE4KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzE5KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzIwKGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzIxKGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzIyKGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzIzKGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzI0KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzI1KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzI2KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzI3KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzI4KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzI5KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzMwKGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzMxKGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzMyKGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzMzKGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzM0KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzM1KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzM2KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzM3KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzM4KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzM5KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzQwKGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzQxKGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzQyKGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzQzKGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzQ0KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzQ1KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzQ2KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzQ3KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzQ4KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzQ5KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzUwKGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzUxKGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzUyKGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzUzKGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzU0KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzU1KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzU2KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzU3KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzU4KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzU5KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzYwKGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzYxKGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzYyKGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzYzKGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzY0KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzY1KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzY2KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzY3KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzY4KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzY5KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzcwKGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzcxKGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzcyKGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzczKGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzc0KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzc1KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzc2KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzc3KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzc4KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzc5KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzgwKGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzgxKGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzgyKGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzgzKGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzg0KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzg1KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzg2KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzg3KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzg4KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzg5KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzkwKGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzkxKGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzkyKGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzkzKGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzk0KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzk1KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzk2KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzk3KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzk4KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzk5KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzEwMChjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5IyMoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8xMDEoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSMjKDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMTAyKGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzEwMyhjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5IyMoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8xMDQoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSMjKDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMTA1KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzEwNihjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5IyMoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8xMDcoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSMjKDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMTA4KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzEwOShjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5IyMoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8xMTAoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSMjKDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMTExKGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzExMihjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5IyMoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8xMTMoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSMjKDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMTE0KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzExNShjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5IyMoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8xMTYoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSMjKDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMTE3KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzExOChjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5IyMoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8xMTkoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSMjKDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMTIwKGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzEyMShjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5IyMoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8xMjIoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSMjKDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMTIzKGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzEyNChjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5IyMoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8xMjUoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSMjKDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMTI2KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzEyNyhjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5IyMoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8xMjgoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSMjKDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMTI5KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzEzMChjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5IyMoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8xMzEoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSMjKDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMTMyKGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzEzMyhjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5IyMoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8xMzQoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSMjKDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMTM1KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzEzNihjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5IyMoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8xMzcoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSMjKDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMTM4KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzEzOShjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5IyMoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8xNDAoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSMjKDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMTQxKGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzE0MihjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5IyMoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8xNDMoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSMjKDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMTQ0KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzE0NShjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5IyMoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8xNDYoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSMjKDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMTQ3KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzE0OChjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5IyMoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8xNDkoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSMjKDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMTUwKGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzE1MShjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5IyMoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8xNTIoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSMjKDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMTUzKGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzE1NChjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5IyMoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8xNTUoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSMjKDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMTU2KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzE1NyhjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5IyMoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8xNTgoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSMjKDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMTU5KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzE2MChjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5IyMoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8xNjEoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSMjKDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMTYyKGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzE2MyhjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5IyMoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8xNjQoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSMjKDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMTY1KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzE2NihjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5IyMoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8xNjcoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSMjKDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMTY4KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzE2OShjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5IyMoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8xNzAoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSMjKDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMTcxKGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzE3MihjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5IyMoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8xNzMoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSMjKDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMTc0KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzE3NShjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5IyMoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8xNzYoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSMjKDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMTc3KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzE3OChjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5IyMoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8xNzkoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSMjKDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMTgwKGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzE4MShjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5IyMoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8xODIoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSMjKDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMTgzKGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzE4NChjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5IyMoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8xODUoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSMjKDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMTg2KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzE4NyhjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5IyMoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8xODgoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSMjKDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMTg5KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzE5MChjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5IyMoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8xOTEoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSMjKDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMTkyKGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzE5MyhjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5IyMoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8xOTQoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSMjKDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMTk1KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzE5NihjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5IyMoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8xOTcoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSMjKDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMTk4KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzE5OShjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5IyMoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8yMDAoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSMjKDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMjAxKGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzIwMihjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5IyMoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8yMDMoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSMjKDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMjA0KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzIwNShjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5IyMoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8yMDYoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSMjKDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMjA3KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzIwOChjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5IyMoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8yMDkoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSMjKDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMjEwKGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzIxMShjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5IyMoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8yMTIoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSMjKDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMjEzKGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzIxNChjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5IyMoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8yMTUoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSMjKDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMjE2KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzIxNyhjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5IyMoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8yMTgoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSMjKDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMjE5KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzIyMChjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5IyMoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8yMjEoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSMjKDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMjIyKGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzIyMyhjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5IyMoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8yMjQoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSMjKDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMjI1KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzIyNihjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5IyMoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8yMjcoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSMjKDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMjI4KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzIyOShjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5IyMoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8yMzAoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSMjKDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMjMxKGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzIzMihjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5IyMoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8yMzMoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSMjKDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMjM0KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzIzNShjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5IyMoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8yMzYoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSMjKDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMjM3KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzIzOChjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5IyMoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8yMzkoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSMjKDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMjQwKGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzI0MShjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5IyMoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8yNDIoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSMjKDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMjQzKGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzI0NChjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5IyMoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8yNDUoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSMjKDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMjQ2KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzI0NyhjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5IyMoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8yNDgoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSMjKDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMjQ5KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzI1MChjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5IyMoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8yNTEoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSMjKDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMjUyKGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzI1MyhjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5IyMoMSwgQk9PU1RfUFBfTklMKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVF9FUVVBTF8yNTQoYywgeSkgQk9PU1RfUFBfSUlGKGMsIEJPT1NUX1BQX05JTCwgeSMjKDEsIEJPT1NUX1BQX05JTCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9OT1RfRVFVQUxfMjU1KGMsIHkpIEJPT1NUX1BQX0lJRihjLCBCT09TVF9QUF9OSUwsIHkjIygxLCBCT09TVF9QUF9OSUwpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0VRVUFMXzI1NihjLCB5KSBCT09TVF9QUF9JSUYoYywgQk9PU1RfUFBfTklMLCB5IyMoMSwgQk9PU1RfUFBfTklMKSkKKyMgZW5kaWYKKyMKKyMgZW5kaWYKZGlmZiAtLWdpdCBhL25kbmJvb3N0L3ByZXByb2Nlc3Nvci9jb250cm9sL2V4cHJfaWYuaHBwIGIvbmRuYm9vc3QvcHJlcHJvY2Vzc29yL2NvbnRyb2wvZXhwcl9pZi5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzY0ZWY1OQotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L3ByZXByb2Nlc3Nvci9jb250cm9sL2V4cHJfaWYuaHBwCkBAIC0wLDAgKzEsMzAgQEAKKyMgLyogQ29weXJpZ2h0IChDKSAyMDAxCisjICAqIEhvdXNlbWFycXVlIE95CisjICAqIGh0dHA6Ly93d3cuaG91c2VtYXJxdWUuY29tCisjICAqCisjICAqIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gKFNlZQorIyAgKiBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdAorIyAgKiBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisjICAqLworIworIyAvKiBSZXZpc2VkIGJ5IFBhdWwgTWVuc29uaWRlcyAoMjAwMikgKi8KKyMKKyMgLyogU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnIGZvciBtb3N0IHJlY2VudCB2ZXJzaW9uLiAqLworIworIyBpZm5kZWYgQk9PU1RfUFJFUFJPQ0VTU09SX0NPTlRST0xfRVhQUl9JRl9IUFAKKyMgZGVmaW5lIEJPT1NUX1BSRVBST0NFU1NPUl9DT05UUk9MX0VYUFJfSUZfSFBQCisjCisjIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9jb25maWcvY29uZmlnLmhwcD4KKyMgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL2NvbnRyb2wvZXhwcl9paWYuaHBwPgorIyBpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3IvbG9naWNhbC9ib29sLmhwcD4KKyMKKyMgLyogQk9PU1RfUFBfRVhQUl9JRiAqLworIworIyBpZiB+Qk9PU1RfUFBfQ09ORklHX0ZMQUdTKCkgJiBCT09TVF9QUF9DT05GSUdfRURHKCkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX0VYUFJfSUYoY29uZCwgZXhwcikgQk9PU1RfUFBfRVhQUl9JSUYoQk9PU1RfUFBfQk9PTChjb25kKSwgZXhwcikKKyMgZWxzZQorIyAgICBkZWZpbmUgQk9PU1RfUFBfRVhQUl9JRihjb25kLCBleHByKSBCT09TVF9QUF9FWFBSX0lGX0koY29uZCwgZXhwcikKKyMgICAgZGVmaW5lIEJPT1NUX1BQX0VYUFJfSUZfSShjb25kLCBleHByKSBCT09TVF9QUF9FWFBSX0lJRihCT09TVF9QUF9CT09MKGNvbmQpLCBleHByKQorIyBlbmRpZgorIworIyBlbmRpZgpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvcHJlcHJvY2Vzc29yL2RlYy5ocHAgYi9uZG5ib29zdC9wcmVwcm9jZXNzb3IvZGVjLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNTY3OGFkCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvcHJlcHJvY2Vzc29yL2RlYy5ocHAKQEAgLTAsMCArMSwxNyBAQAorIyAvKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorIyAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKgorIyAgKiAgICAgKEMpIENvcHlyaWdodCBQYXVsIE1lbnNvbmlkZXMgMjAwMi4KKyMgICogICAgIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gKFNlZQorIyAgKiAgICAgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQKKyMgICogICAgIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKyMgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoKKyMgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovCisjCisjIC8qIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZyBmb3IgbW9zdCByZWNlbnQgdmVyc2lvbi4gKi8KKyMKKyMgaWZuZGVmIEJPT1NUX1BSRVBST0NFU1NPUl9ERUNfSFBQCisjIGRlZmluZSBCT09TVF9QUkVQUk9DRVNTT1JfREVDX0hQUAorIworIyBpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3IvYXJpdGhtZXRpYy9kZWMuaHBwPgorIworIyBlbmRpZgpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvcHJlcHJvY2Vzc29yL2RldGFpbC9pc191bmFyeS5ocHAgYi9uZG5ib29zdC9wcmVwcm9jZXNzb3IvZGV0YWlsL2lzX3VuYXJ5LmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMTJmMDA4Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvcHJlcHJvY2Vzc29yL2RldGFpbC9pc191bmFyeS5ocHAKQEAgLTAsMCArMSwzMCBAQAorIyAvKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorIyAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKgorIyAgKiAgICAgKEMpIENvcHlyaWdodCBQYXVsIE1lbnNvbmlkZXMgMjAwMi4KKyMgICogICAgIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gKFNlZQorIyAgKiAgICAgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQKKyMgICogICAgIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKyMgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoKKyMgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovCisjCisjIC8qIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZyBmb3IgbW9zdCByZWNlbnQgdmVyc2lvbi4gKi8KKyMKKyMgaWZuZGVmIEJPT1NUX1BSRVBST0NFU1NPUl9ERVRBSUxfSVNfVU5BUllfSFBQCisjIGRlZmluZSBCT09TVF9QUkVQUk9DRVNTT1JfREVUQUlMX0lTX1VOQVJZX0hQUAorIworIyBpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3IvY29uZmlnL2NvbmZpZy5ocHA+CisjIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9kZXRhaWwvY2hlY2suaHBwPgorIworIyAvKiBCT09TVF9QUF9JU19VTkFSWSAqLworIworIyBpZiB+Qk9PU1RfUFBfQ09ORklHX0ZMQUdTKCkgJiBCT09TVF9QUF9DT05GSUdfRURHKCkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX0lTX1VOQVJZKHgpIEJPT1NUX1BQX0NIRUNLKHgsIEJPT1NUX1BQX0lTX1VOQVJZX0NIRUNLKQorIyBlbHNlCisjICAgIGRlZmluZSBCT09TVF9QUF9JU19VTkFSWSh4KSBCT09TVF9QUF9JU19VTkFSWV9JKHgpCisjICAgIGRlZmluZSBCT09TVF9QUF9JU19VTkFSWV9JKHgpIEJPT1NUX1BQX0NIRUNLKHgsIEJPT1NUX1BQX0lTX1VOQVJZX0NIRUNLKQorIyBlbmRpZgorIworIyBkZWZpbmUgQk9PU1RfUFBfSVNfVU5BUllfQ0hFQ0soYSkgMQorIyBkZWZpbmUgQk9PU1RfUFBfQ0hFQ0tfUkVTVUxUX0JPT1NUX1BQX0lTX1VOQVJZX0NIRUNLIDAsIEJPT1NUX1BQX05JTAorIworIyBlbmRpZgpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvcHJlcHJvY2Vzc29yL2VudW0uaHBwIGIvbmRuYm9vc3QvcHJlcHJvY2Vzc29yL2VudW0uaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcxNTgzNGYKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9wcmVwcm9jZXNzb3IvZW51bS5ocHAKQEAgLTAsMCArMSwxNyBAQAorIyAvKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorIyAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKgorIyAgKiAgICAgKEMpIENvcHlyaWdodCBQYXVsIE1lbnNvbmlkZXMgMjAwMi4KKyMgICogICAgIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gKFNlZQorIyAgKiAgICAgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQKKyMgICogICAgIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKyMgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoKKyMgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovCisjCisjIC8qIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZyBmb3IgbW9zdCByZWNlbnQgdmVyc2lvbi4gKi8KKyMKKyMgaWZuZGVmIEJPT1NUX1BSRVBST0NFU1NPUl9FTlVNX0hQUAorIyBkZWZpbmUgQk9PU1RfUFJFUFJPQ0VTU09SX0VOVU1fSFBQCisjCisjIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9yZXBldGl0aW9uL2VudW0uaHBwPgorIworIyBlbmRpZgpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvcHJlcHJvY2Vzc29yL2VudW1fcGFyYW1zX3dpdGhfYV9kZWZhdWx0LmhwcCBiL25kbmJvb3N0L3ByZXByb2Nlc3Nvci9lbnVtX3BhcmFtc193aXRoX2FfZGVmYXVsdC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTYzODZjMgotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L3ByZXByb2Nlc3Nvci9lbnVtX3BhcmFtc193aXRoX2FfZGVmYXVsdC5ocHAKQEAgLTAsMCArMSwxNyBAQAorIyAvKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorIyAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKgorIyAgKiAgICAgKEMpIENvcHlyaWdodCBQYXVsIE1lbnNvbmlkZXMgMjAwMi4KKyMgICogICAgIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gKFNlZQorIyAgKiAgICAgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQKKyMgICogICAgIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKyMgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoKKyMgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovCisjCisjIC8qIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZyBmb3IgbW9zdCByZWNlbnQgdmVyc2lvbi4gKi8KKyMKKyMgaWZuZGVmIEJPT1NUX1BSRVBST0NFU1NPUl9FTlVNX1BBUkFNU19XSVRIX0FfREVGQVVMVF9IUFAKKyMgZGVmaW5lIEJPT1NUX1BSRVBST0NFU1NPUl9FTlVNX1BBUkFNU19XSVRIX0FfREVGQVVMVF9IUFAKKyMKKyMgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL3JlcGV0aXRpb24vZW51bV9wYXJhbXNfd2l0aF9hX2RlZmF1bHQuaHBwPgorIworIyBlbmRpZgpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvcHJlcHJvY2Vzc29yL2VudW1fc2hpZnRlZF9wYXJhbXMuaHBwIGIvbmRuYm9vc3QvcHJlcHJvY2Vzc29yL2VudW1fc2hpZnRlZF9wYXJhbXMuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNhZDlmZGEKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9wcmVwcm9jZXNzb3IvZW51bV9zaGlmdGVkX3BhcmFtcy5ocHAKQEAgLTAsMCArMSwxNyBAQAorIyAvKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorIyAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKgorIyAgKiAgICAgKEMpIENvcHlyaWdodCBQYXVsIE1lbnNvbmlkZXMgMjAwMi4KKyMgICogICAgIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gKFNlZQorIyAgKiAgICAgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQKKyMgICogICAgIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKyMgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoKKyMgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovCisjCisjIC8qIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZyBmb3IgbW9zdCByZWNlbnQgdmVyc2lvbi4gKi8KKyMKKyMgaWZuZGVmIEJPT1NUX1BSRVBST0NFU1NPUl9FTlVNX1NISUZURURfUEFSQU1TX0hQUAorIyBkZWZpbmUgQk9PU1RfUFJFUFJPQ0VTU09SX0VOVU1fU0hJRlRFRF9QQVJBTVNfSFBQCisjCisjIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9yZXBldGl0aW9uL2VudW1fc2hpZnRlZF9wYXJhbXMuaHBwPgorIworIyBlbmRpZgpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvcHJlcHJvY2Vzc29yL2V4cHJfaWYuaHBwIGIvbmRuYm9vc3QvcHJlcHJvY2Vzc29yL2V4cHJfaWYuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZmZWRmYjMKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9wcmVwcm9jZXNzb3IvZXhwcl9pZi5ocHAKQEAgLTAsMCArMSwxNyBAQAorIyAvKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorIyAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKgorIyAgKiAgICAgKEMpIENvcHlyaWdodCBQYXVsIE1lbnNvbmlkZXMgMjAwMi4KKyMgICogICAgIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gKFNlZQorIyAgKiAgICAgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQKKyMgICogICAgIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKyMgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoKKyMgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovCisjCisjIC8qIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZyBmb3IgbW9zdCByZWNlbnQgdmVyc2lvbi4gKi8KKyMKKyMgaWZuZGVmIEJPT1NUX1BSRVBST0NFU1NPUl9FWFBSX0lGX0hQUAorIyBkZWZpbmUgQk9PU1RfUFJFUFJPQ0VTU09SX0VYUFJfSUZfSFBQCisjCisjIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9jb250cm9sL2V4cHJfaWYuaHBwPgorIworIyBlbmRpZgpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvcHJlcHJvY2Vzc29yL2ZhY2lsaXRpZXMvZXhwYW5kLmhwcCBiL25kbmJvb3N0L3ByZXByb2Nlc3Nvci9mYWNpbGl0aWVzL2V4cGFuZC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjIxMjgzMAotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L3ByZXByb2Nlc3Nvci9mYWNpbGl0aWVzL2V4cGFuZC5ocHAKQEAgLTAsMCArMSwyOCBAQAorIyAvKiBDb3B5cmlnaHQgKEMpIDIwMDEKKyMgICogSG91c2VtYXJxdWUgT3kKKyMgICogaHR0cDovL3d3dy5ob3VzZW1hcnF1ZS5jb20KKyMgICoKKyMgICogRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAoU2VlCisjICAqIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0CisjICAqIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKyMgICovCisjCisjIC8qIFJldmlzZWQgYnkgUGF1bCBNZW5zb25pZGVzICgyMDAyKSAqLworIworIyAvKiBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcgZm9yIG1vc3QgcmVjZW50IHZlcnNpb24uICovCisjCisjIGlmbmRlZiBCT09TVF9QUkVQUk9DRVNTT1JfRkFDSUxJVElFU19FWFBBTkRfSFBQCisjIGRlZmluZSBCT09TVF9QUkVQUk9DRVNTT1JfRkFDSUxJVElFU19FWFBBTkRfSFBQCisjCisjIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9jb25maWcvY29uZmlnLmhwcD4KKyMKKyMgaWYgfkJPT1NUX1BQX0NPTkZJR19GTEFHUygpICYgQk9PU1RfUFBfQ09ORklHX01XQ0MoKSAmJiB+Qk9PU1RfUFBfQ09ORklHX0ZMQUdTKCkgJiBCT09TVF9QUF9DT05GSUdfRE1DKCkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX0VYUEFORCh4KSBCT09TVF9QUF9FWFBBTkRfSSh4KQorIyBlbHNlCisjICAgIGRlZmluZSBCT09TVF9QUF9FWFBBTkQoeCkgQk9PU1RfUFBfRVhQQU5EX09PKCh4KSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX0VYUEFORF9PTyhwYXIpIEJPT1NUX1BQX0VYUEFORF9JICMjIHBhcgorIyBlbmRpZgorIworIyBkZWZpbmUgQk9PU1RfUFBfRVhQQU5EX0koeCkgeAorIworIyBlbmRpZgpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvcHJlcHJvY2Vzc29yL2ZhY2lsaXRpZXMvaW50ZXJjZXB0LmhwcCBiL25kbmJvb3N0L3ByZXByb2Nlc3Nvci9mYWNpbGl0aWVzL2ludGVyY2VwdC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDFkY2M2YQotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L3ByZXByb2Nlc3Nvci9mYWNpbGl0aWVzL2ludGVyY2VwdC5ocHAKQEAgLTAsMCArMSwyNzcgQEAKKyMgLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyMgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoKKyMgICogICAgIChDKSBDb3B5cmlnaHQgUGF1bCBNZW5zb25pZGVzIDIwMDIuCisjICAqICAgICBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIChTZWUKKyMgICogICAgIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0CisjICAqICAgICBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisjICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqCisjICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqLworIworIyAvKiBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcgZm9yIG1vc3QgcmVjZW50IHZlcnNpb24uICovCisjCisjIGlmbmRlZiBCT09TVF9QUkVQUk9DRVNTT1JfRkFDSUxJVElFU19JTlRFUkNFUFRfSFBQCisjIGRlZmluZSBCT09TVF9QUkVQUk9DRVNTT1JfRkFDSUxJVElFU19JTlRFUkNFUFRfSFBQCisjCisjIC8qIEJPT1NUX1BQX0lOVEVSQ0VQVCAqLworIworIyBkZWZpbmUgQk9PU1RfUFBfSU5URVJDRVBUIEJPT1NUX1BQX0lOVEVSQ0VQVF8KKyMKKyMgZGVmaW5lIEJPT1NUX1BQX0lOVEVSQ0VQVF8wCisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMQorIyBkZWZpbmUgQk9PU1RfUFBfSU5URVJDRVBUXzIKKyMgZGVmaW5lIEJPT1NUX1BQX0lOVEVSQ0VQVF8zCisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfNAorIyBkZWZpbmUgQk9PU1RfUFBfSU5URVJDRVBUXzUKKyMgZGVmaW5lIEJPT1NUX1BQX0lOVEVSQ0VQVF82CisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfNworIyBkZWZpbmUgQk9PU1RfUFBfSU5URVJDRVBUXzgKKyMgZGVmaW5lIEJPT1NUX1BQX0lOVEVSQ0VQVF85CisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMTAKKyMgZGVmaW5lIEJPT1NUX1BQX0lOVEVSQ0VQVF8xMQorIyBkZWZpbmUgQk9PU1RfUFBfSU5URVJDRVBUXzEyCisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMTMKKyMgZGVmaW5lIEJPT1NUX1BQX0lOVEVSQ0VQVF8xNAorIyBkZWZpbmUgQk9PU1RfUFBfSU5URVJDRVBUXzE1CisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMTYKKyMgZGVmaW5lIEJPT1NUX1BQX0lOVEVSQ0VQVF8xNworIyBkZWZpbmUgQk9PU1RfUFBfSU5URVJDRVBUXzE4CisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMTkKKyMgZGVmaW5lIEJPT1NUX1BQX0lOVEVSQ0VQVF8yMAorIyBkZWZpbmUgQk9PU1RfUFBfSU5URVJDRVBUXzIxCisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMjIKKyMgZGVmaW5lIEJPT1NUX1BQX0lOVEVSQ0VQVF8yMworIyBkZWZpbmUgQk9PU1RfUFBfSU5URVJDRVBUXzI0CisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMjUKKyMgZGVmaW5lIEJPT1NUX1BQX0lOVEVSQ0VQVF8yNgorIyBkZWZpbmUgQk9PU1RfUFBfSU5URVJDRVBUXzI3CisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMjgKKyMgZGVmaW5lIEJPT1NUX1BQX0lOVEVSQ0VQVF8yOQorIyBkZWZpbmUgQk9PU1RfUFBfSU5URVJDRVBUXzMwCisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMzEKKyMgZGVmaW5lIEJPT1NUX1BQX0lOVEVSQ0VQVF8zMgorIyBkZWZpbmUgQk9PU1RfUFBfSU5URVJDRVBUXzMzCisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMzQKKyMgZGVmaW5lIEJPT1NUX1BQX0lOVEVSQ0VQVF8zNQorIyBkZWZpbmUgQk9PU1RfUFBfSU5URVJDRVBUXzM2CisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMzcKKyMgZGVmaW5lIEJPT1NUX1BQX0lOVEVSQ0VQVF8zOAorIyBkZWZpbmUgQk9PU1RfUFBfSU5URVJDRVBUXzM5CisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfNDAKKyMgZGVmaW5lIEJPT1NUX1BQX0lOVEVSQ0VQVF80MQorIyBkZWZpbmUgQk9PU1RfUFBfSU5URVJDRVBUXzQyCisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfNDMKKyMgZGVmaW5lIEJPT1NUX1BQX0lOVEVSQ0VQVF80NAorIyBkZWZpbmUgQk9PU1RfUFBfSU5URVJDRVBUXzQ1CisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfNDYKKyMgZGVmaW5lIEJPT1NUX1BQX0lOVEVSQ0VQVF80NworIyBkZWZpbmUgQk9PU1RfUFBfSU5URVJDRVBUXzQ4CisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfNDkKKyMgZGVmaW5lIEJPT1NUX1BQX0lOVEVSQ0VQVF81MAorIyBkZWZpbmUgQk9PU1RfUFBfSU5URVJDRVBUXzUxCisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfNTIKKyMgZGVmaW5lIEJPT1NUX1BQX0lOVEVSQ0VQVF81MworIyBkZWZpbmUgQk9PU1RfUFBfSU5URVJDRVBUXzU0CisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfNTUKKyMgZGVmaW5lIEJPT1NUX1BQX0lOVEVSQ0VQVF81NgorIyBkZWZpbmUgQk9PU1RfUFBfSU5URVJDRVBUXzU3CisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfNTgKKyMgZGVmaW5lIEJPT1NUX1BQX0lOVEVSQ0VQVF81OQorIyBkZWZpbmUgQk9PU1RfUFBfSU5URVJDRVBUXzYwCisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfNjEKKyMgZGVmaW5lIEJPT1NUX1BQX0lOVEVSQ0VQVF82MgorIyBkZWZpbmUgQk9PU1RfUFBfSU5URVJDRVBUXzYzCisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfNjQKKyMgZGVmaW5lIEJPT1NUX1BQX0lOVEVSQ0VQVF82NQorIyBkZWZpbmUgQk9PU1RfUFBfSU5URVJDRVBUXzY2CisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfNjcKKyMgZGVmaW5lIEJPT1NUX1BQX0lOVEVSQ0VQVF82OAorIyBkZWZpbmUgQk9PU1RfUFBfSU5URVJDRVBUXzY5CisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfNzAKKyMgZGVmaW5lIEJPT1NUX1BQX0lOVEVSQ0VQVF83MQorIyBkZWZpbmUgQk9PU1RfUFBfSU5URVJDRVBUXzcyCisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfNzMKKyMgZGVmaW5lIEJPT1NUX1BQX0lOVEVSQ0VQVF83NAorIyBkZWZpbmUgQk9PU1RfUFBfSU5URVJDRVBUXzc1CisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfNzYKKyMgZGVmaW5lIEJPT1NUX1BQX0lOVEVSQ0VQVF83NworIyBkZWZpbmUgQk9PU1RfUFBfSU5URVJDRVBUXzc4CisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfNzkKKyMgZGVmaW5lIEJPT1NUX1BQX0lOVEVSQ0VQVF84MAorIyBkZWZpbmUgQk9PU1RfUFBfSU5URVJDRVBUXzgxCisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfODIKKyMgZGVmaW5lIEJPT1NUX1BQX0lOVEVSQ0VQVF84MworIyBkZWZpbmUgQk9PU1RfUFBfSU5URVJDRVBUXzg0CisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfODUKKyMgZGVmaW5lIEJPT1NUX1BQX0lOVEVSQ0VQVF84NgorIyBkZWZpbmUgQk9PU1RfUFBfSU5URVJDRVBUXzg3CisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfODgKKyMgZGVmaW5lIEJPT1NUX1BQX0lOVEVSQ0VQVF84OQorIyBkZWZpbmUgQk9PU1RfUFBfSU5URVJDRVBUXzkwCisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfOTEKKyMgZGVmaW5lIEJPT1NUX1BQX0lOVEVSQ0VQVF85MgorIyBkZWZpbmUgQk9PU1RfUFBfSU5URVJDRVBUXzkzCisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfOTQKKyMgZGVmaW5lIEJPT1NUX1BQX0lOVEVSQ0VQVF85NQorIyBkZWZpbmUgQk9PU1RfUFBfSU5URVJDRVBUXzk2CisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfOTcKKyMgZGVmaW5lIEJPT1NUX1BQX0lOVEVSQ0VQVF85OAorIyBkZWZpbmUgQk9PU1RfUFBfSU5URVJDRVBUXzk5CisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMTAwCisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMTAxCisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMTAyCisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMTAzCisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMTA0CisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMTA1CisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMTA2CisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMTA3CisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMTA4CisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMTA5CisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMTEwCisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMTExCisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMTEyCisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMTEzCisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMTE0CisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMTE1CisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMTE2CisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMTE3CisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMTE4CisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMTE5CisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMTIwCisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMTIxCisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMTIyCisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMTIzCisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMTI0CisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMTI1CisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMTI2CisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMTI3CisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMTI4CisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMTI5CisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMTMwCisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMTMxCisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMTMyCisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMTMzCisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMTM0CisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMTM1CisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMTM2CisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMTM3CisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMTM4CisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMTM5CisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMTQwCisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMTQxCisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMTQyCisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMTQzCisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMTQ0CisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMTQ1CisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMTQ2CisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMTQ3CisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMTQ4CisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMTQ5CisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMTUwCisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMTUxCisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMTUyCisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMTUzCisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMTU0CisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMTU1CisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMTU2CisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMTU3CisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMTU4CisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMTU5CisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMTYwCisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMTYxCisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMTYyCisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMTYzCisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMTY0CisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMTY1CisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMTY2CisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMTY3CisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMTY4CisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMTY5CisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMTcwCisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMTcxCisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMTcyCisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMTczCisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMTc0CisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMTc1CisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMTc2CisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMTc3CisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMTc4CisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMTc5CisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMTgwCisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMTgxCisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMTgyCisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMTgzCisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMTg0CisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMTg1CisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMTg2CisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMTg3CisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMTg4CisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMTg5CisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMTkwCisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMTkxCisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMTkyCisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMTkzCisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMTk0CisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMTk1CisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMTk2CisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMTk3CisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMTk4CisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMTk5CisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMjAwCisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMjAxCisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMjAyCisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMjAzCisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMjA0CisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMjA1CisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMjA2CisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMjA3CisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMjA4CisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMjA5CisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMjEwCisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMjExCisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMjEyCisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMjEzCisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMjE0CisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMjE1CisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMjE2CisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMjE3CisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMjE4CisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMjE5CisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMjIwCisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMjIxCisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMjIyCisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMjIzCisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMjI0CisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMjI1CisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMjI2CisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMjI3CisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMjI4CisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMjI5CisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMjMwCisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMjMxCisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMjMyCisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMjMzCisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMjM0CisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMjM1CisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMjM2CisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMjM3CisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMjM4CisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMjM5CisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMjQwCisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMjQxCisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMjQyCisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMjQzCisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMjQ0CisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMjQ1CisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMjQ2CisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMjQ3CisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMjQ4CisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMjQ5CisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMjUwCisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMjUxCisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMjUyCisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMjUzCisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMjU0CisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMjU1CisjIGRlZmluZSBCT09TVF9QUF9JTlRFUkNFUFRfMjU2CisjCisjIGVuZGlmCmRpZmYgLS1naXQgYS9uZG5ib29zdC9wcmVwcm9jZXNzb3IvaWYuaHBwIGIvbmRuYm9vc3QvcHJlcHJvY2Vzc29yL2lmLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNTFkMTY5Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvcHJlcHJvY2Vzc29yL2lmLmhwcApAQCAtMCwwICsxLDE3IEBACisjIC8qICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisjICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqCisjICAqICAgICAoQykgQ29weXJpZ2h0IFBhdWwgTWVuc29uaWRlcyAyMDAyLgorIyAgKiAgICAgRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAoU2VlCisjICAqICAgICBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdAorIyAgKiAgICAgaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorIyAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKgorIyAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi8KKyMKKyMgLyogU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnIGZvciBtb3N0IHJlY2VudCB2ZXJzaW9uLiAqLworIworIyBpZm5kZWYgQk9PU1RfUFJFUFJPQ0VTU09SX0lGX0hQUAorIyBkZWZpbmUgQk9PU1RfUFJFUFJPQ0VTU09SX0lGX0hQUAorIworIyBpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3IvY29udHJvbC9pZi5ocHA+CisjCisjIGVuZGlmCmRpZmYgLS1naXQgYS9uZG5ib29zdC9wcmVwcm9jZXNzb3IvbG9naWNhbC9iaXRvci5ocHAgYi9uZG5ib29zdC9wcmVwcm9jZXNzb3IvbG9naWNhbC9iaXRvci5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjA1YjBiZgotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L3ByZXByb2Nlc3Nvci9sb2dpY2FsL2JpdG9yLmhwcApAQCAtMCwwICsxLDM4IEBACisjIC8qICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisjICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqCisjICAqICAgICAoQykgQ29weXJpZ2h0IFBhdWwgTWVuc29uaWRlcyAyMDAyLgorIyAgKiAgICAgRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAoU2VlCisjICAqICAgICBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdAorIyAgKiAgICAgaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorIyAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKgorIyAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi8KKyMKKyMgLyogU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnIGZvciBtb3N0IHJlY2VudCB2ZXJzaW9uLiAqLworIworIyBpZm5kZWYgQk9PU1RfUFJFUFJPQ0VTU09SX0xPR0lDQUxfQklUT1JfSFBQCisjIGRlZmluZSBCT09TVF9QUkVQUk9DRVNTT1JfTE9HSUNBTF9CSVRPUl9IUFAKKyMKKyMgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL2NvbmZpZy9jb25maWcuaHBwPgorIworIyAvKiBCT09TVF9QUF9CSVRPUiAqLworIworIyBpZiB+Qk9PU1RfUFBfQ09ORklHX0ZMQUdTKCkgJiBCT09TVF9QUF9DT05GSUdfTVdDQygpCisjICAgIGRlZmluZSBCT09TVF9QUF9CSVRPUih4LCB5KSBCT09TVF9QUF9CSVRPUl9JKHgsIHkpCisjIGVsc2UKKyMgICAgZGVmaW5lIEJPT1NUX1BQX0JJVE9SKHgsIHkpIEJPT1NUX1BQX0JJVE9SX09PKCh4LCB5KSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX0JJVE9SX09PKHBhcikgQk9PU1RfUFBfQklUT1JfSSAjIyBwYXIKKyMgZW5kaWYKKyMKKyMgaWYgfkJPT1NUX1BQX0NPTkZJR19GTEFHUygpICYgQk9PU1RfUFBfQ09ORklHX01TVkMoKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfQklUT1JfSSh4LCB5KSBCT09TVF9QUF9CSVRPUl8gIyMgeCAjIyB5CisjIGVsc2UKKyMgICAgZGVmaW5lIEJPT1NUX1BQX0JJVE9SX0koeCwgeSkgQk9PU1RfUFBfQklUT1JfSUQoQk9PU1RfUFBfQklUT1JfICMjIHggIyMgeSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX0JJVE9SX0lEKGlkKSBpZAorIyBlbmRpZgorIworIyBkZWZpbmUgQk9PU1RfUFBfQklUT1JfMDAgMAorIyBkZWZpbmUgQk9PU1RfUFBfQklUT1JfMDEgMQorIyBkZWZpbmUgQk9PU1RfUFBfQklUT1JfMTAgMQorIyBkZWZpbmUgQk9PU1RfUFBfQklUT1JfMTEgMQorIworIyBlbmRpZgpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvcHJlcHJvY2Vzc29yL2xvZ2ljYWwvbm90LmhwcCBiL25kbmJvb3N0L3ByZXByb2Nlc3Nvci9sb2dpY2FsL25vdC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjA5NzA3OAotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L3ByZXByb2Nlc3Nvci9sb2dpY2FsL25vdC5ocHAKQEAgLTAsMCArMSwzMCBAQAorIyAvKiBDb3B5cmlnaHQgKEMpIDIwMDEKKyMgICogSG91c2VtYXJxdWUgT3kKKyMgICogaHR0cDovL3d3dy5ob3VzZW1hcnF1ZS5jb20KKyMgICoKKyMgICogRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAoU2VlCisjICAqIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0CisjICAqIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKyMgICovCisjCisjIC8qIFJldmlzZWQgYnkgUGF1bCBNZW5zb25pZGVzICgyMDAyKSAqLworIworIyAvKiBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcgZm9yIG1vc3QgcmVjZW50IHZlcnNpb24uICovCisjCisjIGlmbmRlZiBCT09TVF9QUkVQUk9DRVNTT1JfTE9HSUNBTF9OT1RfSFBQCisjIGRlZmluZSBCT09TVF9QUkVQUk9DRVNTT1JfTE9HSUNBTF9OT1RfSFBQCisjCisjIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9jb25maWcvY29uZmlnLmhwcD4KKyMgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL2xvZ2ljYWwvYm9vbC5ocHA+CisjIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9sb2dpY2FsL2NvbXBsLmhwcD4KKyMKKyMgLyogQk9PU1RfUFBfTk9UICovCisjCisjIGlmIH5CT09TVF9QUF9DT05GSUdfRkxBR1MoKSAmIEJPT1NUX1BQX0NPTkZJR19FREcoKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UKHgpIEJPT1NUX1BQX0NPTVBMKEJPT1NUX1BQX0JPT0woeCkpCisjIGVsc2UKKyMgICAgZGVmaW5lIEJPT1NUX1BQX05PVCh4KSBCT09TVF9QUF9OT1RfSSh4KQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTk9UX0koeCkgQk9PU1RfUFBfQ09NUEwoQk9PU1RfUFBfQk9PTCh4KSkKKyMgZW5kaWYKKyMKKyMgZW5kaWYKZGlmZiAtLWdpdCBhL25kbmJvb3N0L3ByZXByb2Nlc3Nvci9sb2dpY2FsL29yLmhwcCBiL25kbmJvb3N0L3ByZXByb2Nlc3Nvci9sb2dpY2FsL29yLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ZWM1ZGJlCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvcHJlcHJvY2Vzc29yL2xvZ2ljYWwvb3IuaHBwCkBAIC0wLDAgKzEsMzAgQEAKKyMgLyogQ29weXJpZ2h0IChDKSAyMDAxCisjICAqIEhvdXNlbWFycXVlIE95CisjICAqIGh0dHA6Ly93d3cuaG91c2VtYXJxdWUuY29tCisjICAqCisjICAqIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gKFNlZQorIyAgKiBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdAorIyAgKiBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisjICAqLworIworIyAvKiBSZXZpc2VkIGJ5IFBhdWwgTWVuc29uaWRlcyAoMjAwMikgKi8KKyMKKyMgLyogU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnIGZvciBtb3N0IHJlY2VudCB2ZXJzaW9uLiAqLworIworIyBpZm5kZWYgQk9PU1RfUFJFUFJPQ0VTU09SX0xPR0lDQUxfT1JfSFBQCisjIGRlZmluZSBCT09TVF9QUkVQUk9DRVNTT1JfTE9HSUNBTF9PUl9IUFAKKyMKKyMgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL2NvbmZpZy9jb25maWcuaHBwPgorIyBpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3IvbG9naWNhbC9ib29sLmhwcD4KKyMgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL2xvZ2ljYWwvYml0b3IuaHBwPgorIworIyAvKiBCT09TVF9QUF9PUiAqLworIworIyBpZiB+Qk9PU1RfUFBfQ09ORklHX0ZMQUdTKCkgJiBCT09TVF9QUF9DT05GSUdfRURHKCkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX09SKHAsIHEpIEJPT1NUX1BQX0JJVE9SKEJPT1NUX1BQX0JPT0wocCksIEJPT1NUX1BQX0JPT0wocSkpCisjIGVsc2UKKyMgICAgZGVmaW5lIEJPT1NUX1BQX09SKHAsIHEpIEJPT1NUX1BQX09SX0kocCwgcSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX09SX0kocCwgcSkgQk9PU1RfUFBfQklUT1IoQk9PU1RfUFBfQk9PTChwKSwgQk9PU1RfUFBfQk9PTChxKSkKKyMgZW5kaWYKKyMKKyMgZW5kaWYKZGlmZiAtLWdpdCBhL25kbmJvb3N0L3ByZXByb2Nlc3Nvci9wdW5jdHVhdGlvbi9wYXJlbi5ocHAgYi9uZG5ib29zdC9wcmVwcm9jZXNzb3IvcHVuY3R1YXRpb24vcGFyZW4uaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI4YzE4Y2IKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9wcmVwcm9jZXNzb3IvcHVuY3R1YXRpb24vcGFyZW4uaHBwCkBAIC0wLDAgKzEsMjMgQEAKKyMgLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyMgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoKKyMgICogICAgIChDKSBDb3B5cmlnaHQgUGF1bCBNZW5zb25pZGVzIDIwMDIuCisjICAqICAgICBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIChTZWUKKyMgICogICAgIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0CisjICAqICAgICBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisjICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqCisjICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqLworIworIyAvKiBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcgZm9yIG1vc3QgcmVjZW50IHZlcnNpb24uICovCisjCisjIGlmbmRlZiBCT09TVF9QUkVQUk9DRVNTT1JfUFVOQ1RVQVRJT05fUEFSRU5fSFBQCisjIGRlZmluZSBCT09TVF9QUkVQUk9DRVNTT1JfUFVOQ1RVQVRJT05fUEFSRU5fSFBQCisjCisjIC8qIEJPT1NUX1BQX0xQQVJFTiAqLworIworIyBkZWZpbmUgQk9PU1RfUFBfTFBBUkVOKCkgKAorIworIyAvKiBCT09TVF9QUF9SUEFSRU4gKi8KKyMKKyMgZGVmaW5lIEJPT1NUX1BQX1JQQVJFTigpICkKKyMKKyMgZW5kaWYKZGlmZiAtLWdpdCBhL25kbmJvb3N0L3ByZXByb2Nlc3Nvci9wdW5jdHVhdGlvbi9wYXJlbl9pZi5ocHAgYi9uZG5ib29zdC9wcmVwcm9jZXNzb3IvcHVuY3R1YXRpb24vcGFyZW5faWYuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFkMWFmZmQKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9wcmVwcm9jZXNzb3IvcHVuY3R1YXRpb24vcGFyZW5faWYuaHBwCkBAIC0wLDAgKzEsMzggQEAKKyMgLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyMgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoKKyMgICogICAgIChDKSBDb3B5cmlnaHQgUGF1bCBNZW5zb25pZGVzIDIwMDIuCisjICAqICAgICBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIChTZWUKKyMgICogICAgIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0CisjICAqICAgICBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisjICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqCisjICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqLworIworIyAvKiBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcgZm9yIG1vc3QgcmVjZW50IHZlcnNpb24uICovCisjCisjIGlmbmRlZiBCT09TVF9QUkVQUk9DRVNTT1JfUFVOQ1RVQVRJT05fUEFSRU5fSUZfSFBQCisjIGRlZmluZSBCT09TVF9QUkVQUk9DRVNTT1JfUFVOQ1RVQVRJT05fUEFSRU5fSUZfSFBQCisjCisjIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9jb25maWcvY29uZmlnLmhwcD4KKyMgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL2NvbnRyb2wvaWYuaHBwPgorIyBpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3IvZmFjaWxpdGllcy9lbXB0eS5ocHA+CisjIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9wdW5jdHVhdGlvbi9wYXJlbi5ocHA+CisjCisjIC8qIEJPT1NUX1BQX0xQQVJFTl9JRiAqLworIworIyBpZiB+Qk9PU1RfUFBfQ09ORklHX0ZMQUdTKCkgJiBCT09TVF9QUF9DT05GSUdfRURHKCkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX0xQQVJFTl9JRihjb25kKSBCT09TVF9QUF9JRihjb25kLCBCT09TVF9QUF9MUEFSRU4sIEJPT1NUX1BQX0VNUFRZKSgpCisjIGVsc2UKKyMgICAgZGVmaW5lIEJPT1NUX1BQX0xQQVJFTl9JRihjb25kKSBCT09TVF9QUF9MUEFSRU5fSUZfSShjb25kKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfTFBBUkVOX0lGX0koY29uZCkgQk9PU1RfUFBfSUYoY29uZCwgQk9PU1RfUFBfTFBBUkVOLCBCT09TVF9QUF9FTVBUWSkoKQorIyBlbmRpZgorIworIyAvKiBCT09TVF9QUF9SUEFSRU5fSUYgKi8KKyMKKyMgaWYgfkJPT1NUX1BQX0NPTkZJR19GTEFHUygpICYgQk9PU1RfUFBfQ09ORklHX0VERygpCisjICAgIGRlZmluZSBCT09TVF9QUF9SUEFSRU5fSUYoY29uZCkgQk9PU1RfUFBfSUYoY29uZCwgQk9PU1RfUFBfUlBBUkVOLCBCT09TVF9QUF9FTVBUWSkoKQorIyBlbHNlCisjICAgIGRlZmluZSBCT09TVF9QUF9SUEFSRU5fSUYoY29uZCkgQk9PU1RfUFBfUlBBUkVOX0lGX0koY29uZCkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1JQQVJFTl9JRl9JKGNvbmQpIEJPT1NUX1BQX0lGKGNvbmQsIEJPT1NUX1BQX1JQQVJFTiwgQk9PU1RfUFBfRU1QVFkpKCkKKyMgZW5kaWYKKyMKKyMgZW5kaWYKZGlmZiAtLWdpdCBhL25kbmJvb3N0L3ByZXByb2Nlc3Nvci9yZXBlYXRfZnJvbV90by5ocHAgYi9uZG5ib29zdC9wcmVwcm9jZXNzb3IvcmVwZWF0X2Zyb21fdG8uaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMyY2VhMmMKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9wcmVwcm9jZXNzb3IvcmVwZWF0X2Zyb21fdG8uaHBwCkBAIC0wLDAgKzEsMTcgQEAKKyMgLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyMgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoKKyMgICogICAgIChDKSBDb3B5cmlnaHQgUGF1bCBNZW5zb25pZGVzIDIwMDIuCisjICAqICAgICBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIChTZWUKKyMgICogICAgIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0CisjICAqICAgICBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisjICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqCisjICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqLworIworIyAvKiBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcgZm9yIG1vc3QgcmVjZW50IHZlcnNpb24uICovCisjCisjIGlmbmRlZiBCT09TVF9QUkVQUk9DRVNTT1JfUkVQRUFUX0ZST01fVE9fSFBQCisjIGRlZmluZSBCT09TVF9QUkVQUk9DRVNTT1JfUkVQRUFUX0ZST01fVE9fSFBQCisjCisjIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9yZXBldGl0aW9uL3JlcGVhdF9mcm9tX3RvLmhwcD4KKyMKKyMgZW5kaWYKZGlmZiAtLWdpdCBhL25kbmJvb3N0L3ByZXByb2Nlc3Nvci9yZXBldGl0aW9uL2VudW0uaHBwIGIvbmRuYm9vc3QvcHJlcHJvY2Vzc29yL3JlcGV0aXRpb24vZW51bS5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWFjZDk0NAotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L3ByZXByb2Nlc3Nvci9yZXBldGl0aW9uL2VudW0uaHBwCkBAIC0wLDAgKzEsNjYgQEAKKyMgLyogQ29weXJpZ2h0IChDKSAyMDAxCisjICAqIEhvdXNlbWFycXVlIE95CisjICAqIGh0dHA6Ly93d3cuaG91c2VtYXJxdWUuY29tCisjICAqCisjICAqIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gKFNlZQorIyAgKiBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdAorIyAgKiBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisjICAqLworIworIyAvKiBSZXZpc2VkIGJ5IFBhdWwgTWVuc29uaWRlcyAoMjAwMikgKi8KKyMKKyMgLyogU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnIGZvciBtb3N0IHJlY2VudCB2ZXJzaW9uLiAqLworIworIyBpZm5kZWYgQk9PU1RfUFJFUFJPQ0VTU09SX1JFUEVUSVRJT05fRU5VTV9IUFAKKyMgZGVmaW5lIEJPT1NUX1BSRVBST0NFU1NPUl9SRVBFVElUSU9OX0VOVU1fSFBQCisjCisjIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9jYXQuaHBwPgorIyBpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3IvY29uZmlnL2NvbmZpZy5ocHA+CisjIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9kZWJ1Zy9lcnJvci5ocHA+CisjIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9kZXRhaWwvYXV0b19yZWMuaHBwPgorIyBpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3IvcHVuY3R1YXRpb24vY29tbWFfaWYuaHBwPgorIyBpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3IvcmVwZXRpdGlvbi9yZXBlYXQuaHBwPgorIyBpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3IvdHVwbGUvZWxlbS5ocHA+CisjIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci90dXBsZS9yZW0uaHBwPgorIworIyAvKiBCT09TVF9QUF9FTlVNICovCisjCisjIGlmIDAKKyMgICAgZGVmaW5lIEJPT1NUX1BQX0VOVU0oY291bnQsIG1hY3JvLCBkYXRhKQorIyBlbmRpZgorIworIyBkZWZpbmUgQk9PU1RfUFBfRU5VTSBCT09TVF9QUF9DQVQoQk9PU1RfUFBfRU5VTV8sIEJPT1NUX1BQX0FVVE9fUkVDKEJPT1NUX1BQX1JFUEVBVF9QLCA0KSkKKyMKKyMgaWYgfkJPT1NUX1BQX0NPTkZJR19GTEFHUygpICYgQk9PU1RfUFBfQ09ORklHX0VERygpCisjICAgIGRlZmluZSBCT09TVF9QUF9FTlVNXzEoYywgbSwgZCkgQk9PU1RfUFBfUkVQRUFUXzEoYywgQk9PU1RfUFBfRU5VTV9NXzEsIChtLCBkKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX0VOVU1fMihjLCBtLCBkKSBCT09TVF9QUF9SRVBFQVRfMihjLCBCT09TVF9QUF9FTlVNX01fMiwgKG0sIGQpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfRU5VTV8zKGMsIG0sIGQpIEJPT1NUX1BQX1JFUEVBVF8zKGMsIEJPT1NUX1BQX0VOVU1fTV8zLCAobSwgZCkpCisjIGVsc2UKKyMgICAgZGVmaW5lIEJPT1NUX1BQX0VOVU1fMShjLCBtLCBkKSBCT09TVF9QUF9FTlVNXzFfSShjLCBtLCBkKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfRU5VTV8yKGMsIG0sIGQpIEJPT1NUX1BQX0VOVU1fMl9JKGMsIG0sIGQpCisjICAgIGRlZmluZSBCT09TVF9QUF9FTlVNXzMoYywgbSwgZCkgQk9PU1RfUFBfRU5VTV8zX0koYywgbSwgZCkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX0VOVU1fMV9JKGMsIG0sIGQpIEJPT1NUX1BQX1JFUEVBVF8xKGMsIEJPT1NUX1BQX0VOVU1fTV8xLCAobSwgZCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9FTlVNXzJfSShjLCBtLCBkKSBCT09TVF9QUF9SRVBFQVRfMihjLCBCT09TVF9QUF9FTlVNX01fMiwgKG0sIGQpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfRU5VTV8zX0koYywgbSwgZCkgQk9PU1RfUFBfUkVQRUFUXzMoYywgQk9PU1RfUFBfRU5VTV9NXzMsIChtLCBkKSkKKyMgZW5kaWYKKyMKKyMgZGVmaW5lIEJPT1NUX1BQX0VOVU1fNChjLCBtLCBkKSBCT09TVF9QUF9FUlJPUigweDAwMDMpCisjCisjIGlmIEJPT1NUX1BQX0NPTkZJR19GTEFHUygpICYgQk9PU1RfUFBfQ09ORklHX1NUUklDVCgpCisjICAgIGRlZmluZSBCT09TVF9QUF9FTlVNX01fMSh6LCBuLCBtZCkgQk9PU1RfUFBfRU5VTV9NXzFfSU0oeiwgbiwgQk9PU1RfUFBfVFVQTEVfUkVNXzIgbWQpCisjICAgIGRlZmluZSBCT09TVF9QUF9FTlVNX01fMih6LCBuLCBtZCkgQk9PU1RfUFBfRU5VTV9NXzJfSU0oeiwgbiwgQk9PU1RfUFBfVFVQTEVfUkVNXzIgbWQpCisjICAgIGRlZmluZSBCT09TVF9QUF9FTlVNX01fMyh6LCBuLCBtZCkgQk9PU1RfUFBfRU5VTV9NXzNfSU0oeiwgbiwgQk9PU1RfUFBfVFVQTEVfUkVNXzIgbWQpCisjICAgIGRlZmluZSBCT09TVF9QUF9FTlVNX01fMV9JTSh6LCBuLCBpbSkgQk9PU1RfUFBfRU5VTV9NXzFfSSh6LCBuLCBpbSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX0VOVU1fTV8yX0lNKHosIG4sIGltKSBCT09TVF9QUF9FTlVNX01fMl9JKHosIG4sIGltKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfRU5VTV9NXzNfSU0oeiwgbiwgaW0pIEJPT1NUX1BQX0VOVU1fTV8zX0koeiwgbiwgaW0pCisjIGVsc2UKKyMgICAgZGVmaW5lIEJPT1NUX1BQX0VOVU1fTV8xKHosIG4sIG1kKSBCT09TVF9QUF9FTlVNX01fMV9JKHosIG4sIEJPT1NUX1BQX1RVUExFX0VMRU0oMiwgMCwgbWQpLCBCT09TVF9QUF9UVVBMRV9FTEVNKDIsIDEsIG1kKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX0VOVU1fTV8yKHosIG4sIG1kKSBCT09TVF9QUF9FTlVNX01fMl9JKHosIG4sIEJPT1NUX1BQX1RVUExFX0VMRU0oMiwgMCwgbWQpLCBCT09TVF9QUF9UVVBMRV9FTEVNKDIsIDEsIG1kKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX0VOVU1fTV8zKHosIG4sIG1kKSBCT09TVF9QUF9FTlVNX01fM19JKHosIG4sIEJPT1NUX1BQX1RVUExFX0VMRU0oMiwgMCwgbWQpLCBCT09TVF9QUF9UVVBMRV9FTEVNKDIsIDEsIG1kKSkKKyMgZW5kaWYKKyMKKyMgZGVmaW5lIEJPT1NUX1BQX0VOVU1fTV8xX0koeiwgbiwgbSwgZCkgQk9PU1RfUFBfQ09NTUFfSUYobikgbSh6LCBuLCBkKQorIyBkZWZpbmUgQk9PU1RfUFBfRU5VTV9NXzJfSSh6LCBuLCBtLCBkKSBCT09TVF9QUF9DT01NQV9JRihuKSBtKHosIG4sIGQpCisjIGRlZmluZSBCT09TVF9QUF9FTlVNX01fM19JKHosIG4sIG0sIGQpIEJPT1NUX1BQX0NPTU1BX0lGKG4pIG0oeiwgbiwgZCkKKyMKKyMgZW5kaWYKZGlmZiAtLWdpdCBhL25kbmJvb3N0L3ByZXByb2Nlc3Nvci9yZXBldGl0aW9uL2VudW1fYmluYXJ5X3BhcmFtcy5ocHAgYi9uZG5ib29zdC9wcmVwcm9jZXNzb3IvcmVwZXRpdGlvbi9lbnVtX2JpbmFyeV9wYXJhbXMuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM5ZGU4MDEKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9wcmVwcm9jZXNzb3IvcmVwZXRpdGlvbi9lbnVtX2JpbmFyeV9wYXJhbXMuaHBwCkBAIC0wLDAgKzEsNTQgQEAKKyMgLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyMgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoKKyMgICogICAgIChDKSBDb3B5cmlnaHQgUGF1bCBNZW5zb25pZGVzIDIwMDIuCisjICAqICAgICBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIChTZWUKKyMgICogICAgIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0CisjICAqICAgICBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisjICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqCisjICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqLworIworIyAvKiBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcgZm9yIG1vc3QgcmVjZW50IHZlcnNpb24uICovCisjCisjIGlmbmRlZiBCT09TVF9QUkVQUk9DRVNTT1JfUkVQRVRJVElPTl9FTlVNX0JJTkFSWV9QQVJBTVNfSFBQCisjIGRlZmluZSBCT09TVF9QUkVQUk9DRVNTT1JfUkVQRVRJVElPTl9FTlVNX0JJTkFSWV9QQVJBTVNfSFBQCisjCisjIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9jYXQuaHBwPgorIyBpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3IvY29uZmlnL2NvbmZpZy5ocHA+CisjIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9wdW5jdHVhdGlvbi9jb21tYV9pZi5ocHA+CisjIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9yZXBldGl0aW9uL3JlcGVhdC5ocHA+CisjIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci90dXBsZS9lbGVtLmhwcD4KKyMgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL3R1cGxlL3JlbS5ocHA+CisjCisjIC8qIEJPT1NUX1BQX0VOVU1fQklOQVJZX1BBUkFNUyAqLworIworIyBpZiB+Qk9PU1RfUFBfQ09ORklHX0ZMQUdTKCkgJiBCT09TVF9QUF9DT05GSUdfRURHKCkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX0VOVU1fQklOQVJZX1BBUkFNUyhjb3VudCwgcDEsIHAyKSBCT09TVF9QUF9SRVBFQVQoY291bnQsIEJPT1NUX1BQX0VOVU1fQklOQVJZX1BBUkFNU19NLCAocDEsIHAyKSkKKyMgZWxzZQorIyAgICBkZWZpbmUgQk9PU1RfUFBfRU5VTV9CSU5BUllfUEFSQU1TKGNvdW50LCBwMSwgcDIpIEJPT1NUX1BQX0VOVU1fQklOQVJZX1BBUkFNU19JKGNvdW50LCBwMSwgcDIpCisjICAgIGRlZmluZSBCT09TVF9QUF9FTlVNX0JJTkFSWV9QQVJBTVNfSShjb3VudCwgcDEsIHAyKSBCT09TVF9QUF9SRVBFQVQoY291bnQsIEJPT1NUX1BQX0VOVU1fQklOQVJZX1BBUkFNU19NLCAocDEsIHAyKSkKKyMgZW5kaWYKKyMKKyMgaWYgQk9PU1RfUFBfQ09ORklHX0ZMQUdTKCkgJiBCT09TVF9QUF9DT05GSUdfU1RSSUNUKCkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX0VOVU1fQklOQVJZX1BBUkFNU19NKHosIG4sIHBwKSBCT09TVF9QUF9FTlVNX0JJTkFSWV9QQVJBTVNfTV9JTSh6LCBuLCBCT09TVF9QUF9UVVBMRV9SRU1fMiBwcCkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX0VOVU1fQklOQVJZX1BBUkFNU19NX0lNKHosIG4sIGltKSBCT09TVF9QUF9FTlVNX0JJTkFSWV9QQVJBTVNfTV9JKHosIG4sIGltKQorIyBlbHNlCisjICAgIGRlZmluZSBCT09TVF9QUF9FTlVNX0JJTkFSWV9QQVJBTVNfTSh6LCBuLCBwcCkgQk9PU1RfUFBfRU5VTV9CSU5BUllfUEFSQU1TX01fSSh6LCBuLCBCT09TVF9QUF9UVVBMRV9FTEVNKDIsIDAsIHBwKSwgQk9PU1RfUFBfVFVQTEVfRUxFTSgyLCAxLCBwcCkpCisjIGVuZGlmCisjCisjIGlmIH5CT09TVF9QUF9DT05GSUdfRkxBR1MoKSAmIEJPT1NUX1BQX0NPTkZJR19NU1ZDKCkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX0VOVU1fQklOQVJZX1BBUkFNU19NX0koeiwgbiwgcDEsIHAyKSBCT09TVF9QUF9FTlVNX0JJTkFSWV9QQVJBTVNfTV9JSSh6LCBuLCBwMSwgcDIpCisjICAgIGRlZmluZSBCT09TVF9QUF9FTlVNX0JJTkFSWV9QQVJBTVNfTV9JSSh6LCBuLCBwMSwgcDIpIEJPT1NUX1BQX0NPTU1BX0lGKG4pIHAxICMjIG4gcDIgIyMgbgorIyBlbHNlCisjICAgIGRlZmluZSBCT09TVF9QUF9FTlVNX0JJTkFSWV9QQVJBTVNfTV9JKHosIG4sIHAxLCBwMikgQk9PU1RfUFBfQ09NTUFfSUYobikgQk9PU1RfUFBfQ0FUKHAxLCBuKSBCT09TVF9QUF9DQVQocDIsIG4pCisjIGVuZGlmCisjCisjIC8qIEJPT1NUX1BQX0VOVU1fQklOQVJZX1BBUkFNU19aICovCisjCisjIGlmIH5CT09TVF9QUF9DT05GSUdfRkxBR1MoKSAmIEJPT1NUX1BQX0NPTkZJR19FREcoKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfRU5VTV9CSU5BUllfUEFSQU1TX1ooeiwgY291bnQsIHAxLCBwMikgQk9PU1RfUFBfUkVQRUFUXyAjIyB6KGNvdW50LCBCT09TVF9QUF9FTlVNX0JJTkFSWV9QQVJBTVNfTSwgKHAxLCBwMikpCisjIGVsc2UKKyMgICAgZGVmaW5lIEJPT1NUX1BQX0VOVU1fQklOQVJZX1BBUkFNU19aKHosIGNvdW50LCBwMSwgcDIpIEJPT1NUX1BQX0VOVU1fQklOQVJZX1BBUkFNU19aX0koeiwgY291bnQsIHAxLCBwMikKKyMgICAgZGVmaW5lIEJPT1NUX1BQX0VOVU1fQklOQVJZX1BBUkFNU19aX0koeiwgY291bnQsIHAxLCBwMikgQk9PU1RfUFBfUkVQRUFUXyAjIyB6KGNvdW50LCBCT09TVF9QUF9FTlVNX0JJTkFSWV9QQVJBTVNfTSwgKHAxLCBwMikpCisjIGVuZGlmCisjCisjIGVuZGlmCmRpZmYgLS1naXQgYS9uZG5ib29zdC9wcmVwcm9jZXNzb3IvcmVwZXRpdGlvbi9lbnVtX3BhcmFtc193aXRoX2FfZGVmYXVsdC5ocHAgYi9uZG5ib29zdC9wcmVwcm9jZXNzb3IvcmVwZXRpdGlvbi9lbnVtX3BhcmFtc193aXRoX2FfZGVmYXVsdC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjc2YmFhZgotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L3ByZXByb2Nlc3Nvci9yZXBldGl0aW9uL2VudW1fcGFyYW1zX3dpdGhfYV9kZWZhdWx0LmhwcApAQCAtMCwwICsxLDI1IEBACisjIC8qIENvcHlyaWdodCAoQykgMjAwMQorIyAgKiBIb3VzZW1hcnF1ZSBPeQorIyAgKiBodHRwOi8vd3d3LmhvdXNlbWFycXVlLmNvbQorIyAgKgorIyAgKiBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIChTZWUKKyMgICogYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQKKyMgICogaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorIyAgKi8KKyMKKyMgLyogUmV2aXNlZCBieSBQYXVsIE1lbnNvbmlkZXMgKDIwMDIpICovCisjCisjIC8qIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZyBmb3IgbW9zdCByZWNlbnQgdmVyc2lvbi4gKi8KKyMKKyMgaWZuZGVmIEJPT1NUX1BSRVBST0NFU1NPUl9SRVBFVElUSU9OX0VOVU1fUEFSQU1TX1dJVEhfQV9ERUZBVUxUX0hQUAorIyBkZWZpbmUgQk9PU1RfUFJFUFJPQ0VTU09SX1JFUEVUSVRJT05fRU5VTV9QQVJBTVNfV0lUSF9BX0RFRkFVTFRfSFBQCisjCisjIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9jb25maWcvY29uZmlnLmhwcD4KKyMgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL2ZhY2lsaXRpZXMvaW50ZXJjZXB0LmhwcD4KKyMgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL3JlcGV0aXRpb24vZW51bV9iaW5hcnlfcGFyYW1zLmhwcD4KKyMKKyMgLyogQk9PU1RfUFBfRU5VTV9QQVJBTVNfV0lUSF9BX0RFRkFVTFQgKi8KKyMKKyMgZGVmaW5lIEJPT1NUX1BQX0VOVU1fUEFSQU1TX1dJVEhfQV9ERUZBVUxUKGNvdW50LCBwYXJhbSwgZGVmKSBCT09TVF9QUF9FTlVNX0JJTkFSWV9QQVJBTVMoY291bnQsIHBhcmFtLCA9IGRlZiBCT09TVF9QUF9JTlRFUkNFUFQpCisjCisjIGVuZGlmCmRpZmYgLS1naXQgYS9uZG5ib29zdC9wcmVwcm9jZXNzb3IvcmVwZXRpdGlvbi9lbnVtX3NoaWZ0ZWQuaHBwIGIvbmRuYm9vc3QvcHJlcHJvY2Vzc29yL3JlcGV0aXRpb24vZW51bV9zaGlmdGVkLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42ZmY0MjE4Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvcHJlcHJvY2Vzc29yL3JlcGV0aXRpb24vZW51bV9zaGlmdGVkLmhwcApAQCAtMCwwICsxLDY4IEBACisjIC8qIENvcHlyaWdodCAoQykgMjAwMQorIyAgKiBIb3VzZW1hcnF1ZSBPeQorIyAgKiBodHRwOi8vd3d3LmhvdXNlbWFycXVlLmNvbQorIyAgKgorIyAgKiBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIChTZWUKKyMgICogYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQKKyMgICogaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorIyAgKi8KKyMKKyMgLyogUmV2aXNlZCBieSBQYXVsIE1lbnNvbmlkZXMgKDIwMDIpICovCisjCisjIC8qIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZyBmb3IgbW9zdCByZWNlbnQgdmVyc2lvbi4gKi8KKyMKKyMgaWZuZGVmIEJPT1NUX1BSRVBST0NFU1NPUl9SRVBFVElUSU9OX0VOVU1fU0hJRlRFRF9IUFAKKyMgZGVmaW5lIEJPT1NUX1BSRVBST0NFU1NPUl9SRVBFVElUSU9OX0VOVU1fU0hJRlRFRF9IUFAKKyMKKyMgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL2NhdC5ocHA+CisjIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9hcml0aG1ldGljL2RlYy5ocHA+CisjIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9hcml0aG1ldGljL2luYy5ocHA+CisjIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9jb25maWcvY29uZmlnLmhwcD4KKyMgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL2RlYnVnL2Vycm9yLmhwcD4KKyMgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL2RldGFpbC9hdXRvX3JlYy5ocHA+CisjIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9wdW5jdHVhdGlvbi9jb21tYV9pZi5ocHA+CisjIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9yZXBldGl0aW9uL3JlcGVhdC5ocHA+CisjIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci90dXBsZS9lbGVtLmhwcD4KKyMgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL3R1cGxlL3JlbS5ocHA+CisjCisjIC8qIEJPT1NUX1BQX0VOVU1fU0hJRlRFRCAqLworIworIyBpZiAwCisjICAgIGRlZmluZSBCT09TVF9QUF9FTlVNX1NISUZURUQoY291bnQsIG1hY3JvLCBkYXRhKQorIyBlbmRpZgorIworIyBkZWZpbmUgQk9PU1RfUFBfRU5VTV9TSElGVEVEIEJPT1NUX1BQX0NBVChCT09TVF9QUF9FTlVNX1NISUZURURfLCBCT09TVF9QUF9BVVRPX1JFQyhCT09TVF9QUF9SRVBFQVRfUCwgNCkpCisjCisjIGlmIH5CT09TVF9QUF9DT05GSUdfRkxBR1MoKSAmIEJPT1NUX1BQX0NPTkZJR19FREcoKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfRU5VTV9TSElGVEVEXzEoYywgbSwgZCkgQk9PU1RfUFBfUkVQRUFUXzEoQk9PU1RfUFBfREVDKGMpLCBCT09TVF9QUF9FTlVNX1NISUZURURfTV8xLCAobSwgZCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9FTlVNX1NISUZURURfMihjLCBtLCBkKSBCT09TVF9QUF9SRVBFQVRfMihCT09TVF9QUF9ERUMoYyksIEJPT1NUX1BQX0VOVU1fU0hJRlRFRF9NXzIsIChtLCBkKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX0VOVU1fU0hJRlRFRF8zKGMsIG0sIGQpIEJPT1NUX1BQX1JFUEVBVF8zKEJPT1NUX1BQX0RFQyhjKSwgQk9PU1RfUFBfRU5VTV9TSElGVEVEX01fMywgKG0sIGQpKQorIyBlbHNlCisjICAgIGRlZmluZSBCT09TVF9QUF9FTlVNX1NISUZURURfMShjLCBtLCBkKSBCT09TVF9QUF9FTlVNX1NISUZURURfMV9JKGMsIG0sIGQpCisjICAgIGRlZmluZSBCT09TVF9QUF9FTlVNX1NISUZURURfMihjLCBtLCBkKSBCT09TVF9QUF9FTlVNX1NISUZURURfMV8yKGMsIG0sIGQpCisjICAgIGRlZmluZSBCT09TVF9QUF9FTlVNX1NISUZURURfMyhjLCBtLCBkKSBCT09TVF9QUF9FTlVNX1NISUZURURfMV8zKGMsIG0sIGQpCisjICAgIGRlZmluZSBCT09TVF9QUF9FTlVNX1NISUZURURfMV9JKGMsIG0sIGQpIEJPT1NUX1BQX1JFUEVBVF8xKEJPT1NUX1BQX0RFQyhjKSwgQk9PU1RfUFBfRU5VTV9TSElGVEVEX01fMSwgKG0sIGQpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfRU5VTV9TSElGVEVEXzJfSShjLCBtLCBkKSBCT09TVF9QUF9SRVBFQVRfMihCT09TVF9QUF9ERUMoYyksIEJPT1NUX1BQX0VOVU1fU0hJRlRFRF9NXzIsIChtLCBkKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX0VOVU1fU0hJRlRFRF8zX0koYywgbSwgZCkgQk9PU1RfUFBfUkVQRUFUXzMoQk9PU1RfUFBfREVDKGMpLCBCT09TVF9QUF9FTlVNX1NISUZURURfTV8zLCAobSwgZCkpCisjIGVuZGlmCisjCisjIGRlZmluZSBCT09TVF9QUF9FTlVNX1NISUZURURfNChjLCBtLCBkKSBCT09TVF9QUF9FUlJPUigweDAwMDMpCisjCisjIGlmIEJPT1NUX1BQX0NPTkZJR19GTEFHUygpICYgQk9PU1RfUFBfQ09ORklHX1NUUklDVCgpCisjICAgIGRlZmluZSBCT09TVF9QUF9FTlVNX1NISUZURURfTV8xKHosIG4sIG1kKSBCT09TVF9QUF9FTlVNX1NISUZURURfTV8xX0lNKHosIG4sIEJPT1NUX1BQX1RVUExFX1JFTV8yIG1kKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfRU5VTV9TSElGVEVEX01fMih6LCBuLCBtZCkgQk9PU1RfUFBfRU5VTV9TSElGVEVEX01fMl9JTSh6LCBuLCBCT09TVF9QUF9UVVBMRV9SRU1fMiBtZCkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX0VOVU1fU0hJRlRFRF9NXzMoeiwgbiwgbWQpIEJPT1NUX1BQX0VOVU1fU0hJRlRFRF9NXzNfSU0oeiwgbiwgQk9PU1RfUFBfVFVQTEVfUkVNXzIgbWQpCisjICAgIGRlZmluZSBCT09TVF9QUF9FTlVNX1NISUZURURfTV8xX0lNKHosIG4sIGltKSBCT09TVF9QUF9FTlVNX1NISUZURURfTV8xX0koeiwgbiwgaW0pCisjICAgIGRlZmluZSBCT09TVF9QUF9FTlVNX1NISUZURURfTV8yX0lNKHosIG4sIGltKSBCT09TVF9QUF9FTlVNX1NISUZURURfTV8yX0koeiwgbiwgaW0pCisjICAgIGRlZmluZSBCT09TVF9QUF9FTlVNX1NISUZURURfTV8zX0lNKHosIG4sIGltKSBCT09TVF9QUF9FTlVNX1NISUZURURfTV8zX0koeiwgbiwgaW0pCisjIGVsc2UKKyMgICAgZGVmaW5lIEJPT1NUX1BQX0VOVU1fU0hJRlRFRF9NXzEoeiwgbiwgbWQpIEJPT1NUX1BQX0VOVU1fU0hJRlRFRF9NXzFfSSh6LCBuLCBCT09TVF9QUF9UVVBMRV9FTEVNKDIsIDAsIG1kKSwgQk9PU1RfUFBfVFVQTEVfRUxFTSgyLCAxLCBtZCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9FTlVNX1NISUZURURfTV8yKHosIG4sIG1kKSBCT09TVF9QUF9FTlVNX1NISUZURURfTV8yX0koeiwgbiwgQk9PU1RfUFBfVFVQTEVfRUxFTSgyLCAwLCBtZCksIEJPT1NUX1BQX1RVUExFX0VMRU0oMiwgMSwgbWQpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfRU5VTV9TSElGVEVEX01fMyh6LCBuLCBtZCkgQk9PU1RfUFBfRU5VTV9TSElGVEVEX01fM19JKHosIG4sIEJPT1NUX1BQX1RVUExFX0VMRU0oMiwgMCwgbWQpLCBCT09TVF9QUF9UVVBMRV9FTEVNKDIsIDEsIG1kKSkKKyMgZW5kaWYKKyMKKyMgZGVmaW5lIEJPT1NUX1BQX0VOVU1fU0hJRlRFRF9NXzFfSSh6LCBuLCBtLCBkKSBCT09TVF9QUF9DT01NQV9JRihuKSBtKHosIEJPT1NUX1BQX0lOQyhuKSwgZCkKKyMgZGVmaW5lIEJPT1NUX1BQX0VOVU1fU0hJRlRFRF9NXzJfSSh6LCBuLCBtLCBkKSBCT09TVF9QUF9DT01NQV9JRihuKSBtKHosIEJPT1NUX1BQX0lOQyhuKSwgZCkKKyMgZGVmaW5lIEJPT1NUX1BQX0VOVU1fU0hJRlRFRF9NXzNfSSh6LCBuLCBtLCBkKSBCT09TVF9QUF9DT01NQV9JRihuKSBtKHosIEJPT1NUX1BQX0lOQyhuKSwgZCkKKyMKKyMgZW5kaWYKZGlmZiAtLWdpdCBhL25kbmJvb3N0L3ByZXByb2Nlc3Nvci9yZXBldGl0aW9uL2VudW1fc2hpZnRlZF9wYXJhbXMuaHBwIGIvbmRuYm9vc3QvcHJlcHJvY2Vzc29yL3JlcGV0aXRpb24vZW51bV9zaGlmdGVkX3BhcmFtcy5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGM3MWViOQotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L3ByZXByb2Nlc3Nvci9yZXBldGl0aW9uL2VudW1fc2hpZnRlZF9wYXJhbXMuaHBwCkBAIC0wLDAgKzEsNDQgQEAKKyMgLyogQ29weXJpZ2h0IChDKSAyMDAxCisjICAqIEhvdXNlbWFycXVlIE95CisjICAqIGh0dHA6Ly93d3cuaG91c2VtYXJxdWUuY29tCisjICAqCisjICAqIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gKFNlZQorIyAgKiBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdAorIyAgKiBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisjICAqLworIworIyAvKiBSZXZpc2VkIGJ5IFBhdWwgTWVuc29uaWRlcyAoMjAwMikgKi8KKyMKKyMgLyogU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnIGZvciBtb3N0IHJlY2VudCB2ZXJzaW9uLiAqLworIworIyBpZm5kZWYgQk9PU1RfUFJFUFJPQ0VTU09SX1JFUEVUSVRJT05fRU5VTV9TSElGVEVEX1BBUkFNU19IUFAKKyMgZGVmaW5lIEJPT1NUX1BSRVBST0NFU1NPUl9SRVBFVElUSU9OX0VOVU1fU0hJRlRFRF9QQVJBTVNfSFBQCisjCisjIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9hcml0aG1ldGljL2RlYy5ocHA+CisjIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9hcml0aG1ldGljL2luYy5ocHA+CisjIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9jYXQuaHBwPgorIyBpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3IvY29uZmlnL2NvbmZpZy5ocHA+CisjIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9wdW5jdHVhdGlvbi9jb21tYV9pZi5ocHA+CisjIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9yZXBldGl0aW9uL3JlcGVhdC5ocHA+CisjCisjIC8qIEJPT1NUX1BQX0VOVU1fU0hJRlRFRF9QQVJBTVMgKi8KKyMKKyMgaWYgfkJPT1NUX1BQX0NPTkZJR19GTEFHUygpICYgQk9PU1RfUFBfQ09ORklHX0VERygpCisjICAgIGRlZmluZSBCT09TVF9QUF9FTlVNX1NISUZURURfUEFSQU1TKGNvdW50LCBwYXJhbSkgQk9PU1RfUFBfUkVQRUFUKEJPT1NUX1BQX0RFQyhjb3VudCksIEJPT1NUX1BQX0VOVU1fU0hJRlRFRF9QQVJBTVNfTSwgcGFyYW0pCisjIGVsc2UKKyMgICAgZGVmaW5lIEJPT1NUX1BQX0VOVU1fU0hJRlRFRF9QQVJBTVMoY291bnQsIHBhcmFtKSBCT09TVF9QUF9FTlVNX1NISUZURURfUEFSQU1TX0koY291bnQsIHBhcmFtKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfRU5VTV9TSElGVEVEX1BBUkFNU19JKGNvdW50LCBwYXJhbSkgQk9PU1RfUFBfUkVQRUFUKEJPT1NUX1BQX0RFQyhjb3VudCksIEJPT1NUX1BQX0VOVU1fU0hJRlRFRF9QQVJBTVNfTSwgcGFyYW0pCisjIGVuZGlmCisjCisjIGRlZmluZSBCT09TVF9QUF9FTlVNX1NISUZURURfUEFSQU1TX00oeiwgbiwgcGFyYW0pIEJPT1NUX1BQX0NPTU1BX0lGKG4pIEJPT1NUX1BQX0NBVChwYXJhbSwgQk9PU1RfUFBfSU5DKG4pKQorIworIyAvKiBCT09TVF9QUF9FTlVNX1NISUZURURfUEFSQU1TX1ogKi8KKyMKKyMgaWYgfkJPT1NUX1BQX0NPTkZJR19GTEFHUygpICYgQk9PU1RfUFBfQ09ORklHX0VERygpCisjICAgIGRlZmluZSBCT09TVF9QUF9FTlVNX1NISUZURURfUEFSQU1TX1ooeiwgY291bnQsIHBhcmFtKSBCT09TVF9QUF9SRVBFQVRfICMjIHooQk9PU1RfUFBfREVDKGNvdW50KSwgQk9PU1RfUFBfRU5VTV9TSElGVEVEX1BBUkFNU19NLCBwYXJhbSkKKyMgZWxzZQorIyAgICBkZWZpbmUgQk9PU1RfUFBfRU5VTV9TSElGVEVEX1BBUkFNU19aKHosIGNvdW50LCBwYXJhbSkgQk9PU1RfUFBfRU5VTV9TSElGVEVEX1BBUkFNU19aX0koeiwgY291bnQsIHBhcmFtKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfRU5VTV9TSElGVEVEX1BBUkFNU19aX0koeiwgY291bnQsIHBhcmFtKSBCT09TVF9QUF9SRVBFQVRfICMjIHooQk9PU1RfUFBfREVDKGNvdW50KSwgQk9PU1RfUFBfRU5VTV9TSElGVEVEX1BBUkFNU19NLCBwYXJhbSkKKyMgZW5kaWYKKyMKKyMgZW5kaWYKZGlmZiAtLWdpdCBhL25kbmJvb3N0L3ByZXByb2Nlc3Nvci9yZXBldGl0aW9uL2VudW1fdHJhaWxpbmcuaHBwIGIvbmRuYm9vc3QvcHJlcHJvY2Vzc29yL3JlcGV0aXRpb24vZW51bV90cmFpbGluZy5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTQ5M2UxOAotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L3ByZXByb2Nlc3Nvci9yZXBldGl0aW9uL2VudW1fdHJhaWxpbmcuaHBwCkBAIC0wLDAgKzEsNjMgQEAKKyMgLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyMgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoKKyMgICogICAgIChDKSBDb3B5cmlnaHQgUGF1bCBNZW5zb25pZGVzIDIwMDIuCisjICAqICAgICBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIChTZWUKKyMgICogICAgIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0CisjICAqICAgICBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisjICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqCisjICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqLworIworIyAvKiBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcgZm9yIG1vc3QgcmVjZW50IHZlcnNpb24uICovCisjCisjIGlmbmRlZiBCT09TVF9QUkVQUk9DRVNTT1JfUkVQRVRJVElPTl9FTlVNX1RSQUlMSU5HX0hQUAorIyBkZWZpbmUgQk9PU1RfUFJFUFJPQ0VTU09SX1JFUEVUSVRJT05fRU5VTV9UUkFJTElOR19IUFAKKyMKKyMgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL2NhdC5ocHA+CisjIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9jb25maWcvY29uZmlnLmhwcD4KKyMgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL2RlYnVnL2Vycm9yLmhwcD4KKyMgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL2RldGFpbC9hdXRvX3JlYy5ocHA+CisjIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9yZXBldGl0aW9uL3JlcGVhdC5ocHA+CisjIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci90dXBsZS9lbGVtLmhwcD4KKyMgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL3R1cGxlL3JlbS5ocHA+CisjCisjIC8qIEJPT1NUX1BQX0VOVU1fVFJBSUxJTkcgKi8KKyMKKyMgaWYgMAorIyAgICBkZWZpbmUgQk9PU1RfUFBfRU5VTV9UUkFJTElORyhjb3VudCwgbWFjcm8sIGRhdGEpCisjIGVuZGlmCisjCisjIGRlZmluZSBCT09TVF9QUF9FTlVNX1RSQUlMSU5HIEJPT1NUX1BQX0NBVChCT09TVF9QUF9FTlVNX1RSQUlMSU5HXywgQk9PU1RfUFBfQVVUT19SRUMoQk9PU1RfUFBfUkVQRUFUX1AsIDQpKQorIworIyBpZiB+Qk9PU1RfUFBfQ09ORklHX0ZMQUdTKCkgJiBCT09TVF9QUF9DT05GSUdfRURHKCkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX0VOVU1fVFJBSUxJTkdfMShjLCBtLCBkKSBCT09TVF9QUF9SRVBFQVRfMShjLCBCT09TVF9QUF9FTlVNX1RSQUlMSU5HX01fMSwgKG0sIGQpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfRU5VTV9UUkFJTElOR18yKGMsIG0sIGQpIEJPT1NUX1BQX1JFUEVBVF8yKGMsIEJPT1NUX1BQX0VOVU1fVFJBSUxJTkdfTV8yLCAobSwgZCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9FTlVNX1RSQUlMSU5HXzMoYywgbSwgZCkgQk9PU1RfUFBfUkVQRUFUXzMoYywgQk9PU1RfUFBfRU5VTV9UUkFJTElOR19NXzMsIChtLCBkKSkKKyMgZWxzZQorIyAgICBkZWZpbmUgQk9PU1RfUFBfRU5VTV9UUkFJTElOR18xKGMsIG0sIGQpIEJPT1NUX1BQX0VOVU1fVFJBSUxJTkdfMV9JKGMsIG0sIGQpCisjICAgIGRlZmluZSBCT09TVF9QUF9FTlVNX1RSQUlMSU5HXzIoYywgbSwgZCkgQk9PU1RfUFBfRU5VTV9UUkFJTElOR18yX0koYywgbSwgZCkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX0VOVU1fVFJBSUxJTkdfMyhjLCBtLCBkKSBCT09TVF9QUF9FTlVNX1RSQUlMSU5HXzNfSShjLCBtLCBkKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfRU5VTV9UUkFJTElOR18xX0koYywgbSwgZCkgQk9PU1RfUFBfUkVQRUFUXzEoYywgQk9PU1RfUFBfRU5VTV9UUkFJTElOR19NXzEsIChtLCBkKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX0VOVU1fVFJBSUxJTkdfMl9JKGMsIG0sIGQpIEJPT1NUX1BQX1JFUEVBVF8yKGMsIEJPT1NUX1BQX0VOVU1fVFJBSUxJTkdfTV8yLCAobSwgZCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9FTlVNX1RSQUlMSU5HXzNfSShjLCBtLCBkKSBCT09TVF9QUF9SRVBFQVRfMyhjLCBCT09TVF9QUF9FTlVNX1RSQUlMSU5HX01fMywgKG0sIGQpKQorIyBlbmRpZgorIworIyBkZWZpbmUgQk9PU1RfUFBfRU5VTV9UUkFJTElOR180KGMsIG0sIGQpIEJPT1NUX1BQX0VSUk9SKDB4MDAwMykKKyMKKyMgaWYgQk9PU1RfUFBfQ09ORklHX0ZMQUdTKCkgJiBCT09TVF9QUF9DT05GSUdfU1RSSUNUKCkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX0VOVU1fVFJBSUxJTkdfTV8xKHosIG4sIG1kKSBCT09TVF9QUF9FTlVNX1RSQUlMSU5HX01fMV9JTSh6LCBuLCBCT09TVF9QUF9UVVBMRV9SRU1fMiBtZCkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX0VOVU1fVFJBSUxJTkdfTV8yKHosIG4sIG1kKSBCT09TVF9QUF9FTlVNX1RSQUlMSU5HX01fMl9JTSh6LCBuLCBCT09TVF9QUF9UVVBMRV9SRU1fMiBtZCkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX0VOVU1fVFJBSUxJTkdfTV8zKHosIG4sIG1kKSBCT09TVF9QUF9FTlVNX1RSQUlMSU5HX01fM19JTSh6LCBuLCBCT09TVF9QUF9UVVBMRV9SRU1fMiBtZCkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX0VOVU1fVFJBSUxJTkdfTV8xX0lNKHosIG4sIGltKSBCT09TVF9QUF9FTlVNX1RSQUlMSU5HX01fMV9JKHosIG4sIGltKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfRU5VTV9UUkFJTElOR19NXzJfSU0oeiwgbiwgaW0pIEJPT1NUX1BQX0VOVU1fVFJBSUxJTkdfTV8yX0koeiwgbiwgaW0pCisjICAgIGRlZmluZSBCT09TVF9QUF9FTlVNX1RSQUlMSU5HX01fM19JTSh6LCBuLCBpbSkgQk9PU1RfUFBfRU5VTV9UUkFJTElOR19NXzNfSSh6LCBuLCBpbSkKKyMgZWxzZQorIyAgICBkZWZpbmUgQk9PU1RfUFBfRU5VTV9UUkFJTElOR19NXzEoeiwgbiwgbWQpIEJPT1NUX1BQX0VOVU1fVFJBSUxJTkdfTV8xX0koeiwgbiwgQk9PU1RfUFBfVFVQTEVfRUxFTSgyLCAwLCBtZCksIEJPT1NUX1BQX1RVUExFX0VMRU0oMiwgMSwgbWQpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfRU5VTV9UUkFJTElOR19NXzIoeiwgbiwgbWQpIEJPT1NUX1BQX0VOVU1fVFJBSUxJTkdfTV8yX0koeiwgbiwgQk9PU1RfUFBfVFVQTEVfRUxFTSgyLCAwLCBtZCksIEJPT1NUX1BQX1RVUExFX0VMRU0oMiwgMSwgbWQpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfRU5VTV9UUkFJTElOR19NXzMoeiwgbiwgbWQpIEJPT1NUX1BQX0VOVU1fVFJBSUxJTkdfTV8zX0koeiwgbiwgQk9PU1RfUFBfVFVQTEVfRUxFTSgyLCAwLCBtZCksIEJPT1NUX1BQX1RVUExFX0VMRU0oMiwgMSwgbWQpKQorIyBlbmRpZgorIworIyBkZWZpbmUgQk9PU1RfUFBfRU5VTV9UUkFJTElOR19NXzFfSSh6LCBuLCBtLCBkKSAsIG0oeiwgbiwgZCkKKyMgZGVmaW5lIEJPT1NUX1BQX0VOVU1fVFJBSUxJTkdfTV8yX0koeiwgbiwgbSwgZCkgLCBtKHosIG4sIGQpCisjIGRlZmluZSBCT09TVF9QUF9FTlVNX1RSQUlMSU5HX01fM19JKHosIG4sIG0sIGQpICwgbSh6LCBuLCBkKQorIworIyBlbmRpZgpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvcHJlcHJvY2Vzc29yL3JlcGV0aXRpb24vZW51bV90cmFpbGluZ19wYXJhbXMuaHBwIGIvbmRuYm9vc3QvcHJlcHJvY2Vzc29yL3JlcGV0aXRpb24vZW51bV90cmFpbGluZ19wYXJhbXMuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY2MjAxMjkKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9wcmVwcm9jZXNzb3IvcmVwZXRpdGlvbi9lbnVtX3RyYWlsaW5nX3BhcmFtcy5ocHAKQEAgLTAsMCArMSwzOCBAQAorIyAvKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorIyAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKgorIyAgKiAgICAgKEMpIENvcHlyaWdodCBQYXVsIE1lbnNvbmlkZXMgMjAwMi4KKyMgICogICAgIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gKFNlZQorIyAgKiAgICAgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQKKyMgICogICAgIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKyMgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoKKyMgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovCisjCisjIC8qIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZyBmb3IgbW9zdCByZWNlbnQgdmVyc2lvbi4gKi8KKyMKKyMgaWZuZGVmIEJPT1NUX1BSRVBST0NFU1NPUl9SRVBFVElUSU9OX0VOVU1fVFJBSUxJTkdfUEFSQU1TX0hQUAorIyBkZWZpbmUgQk9PU1RfUFJFUFJPQ0VTU09SX1JFUEVUSVRJT05fRU5VTV9UUkFJTElOR19QQVJBTVNfSFBQCisjCisjIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9jb25maWcvY29uZmlnLmhwcD4KKyMgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL3JlcGV0aXRpb24vcmVwZWF0LmhwcD4KKyMKKyMgLyogQk9PU1RfUFBfRU5VTV9UUkFJTElOR19QQVJBTVMgKi8KKyMKKyMgaWYgfkJPT1NUX1BQX0NPTkZJR19GTEFHUygpICYgQk9PU1RfUFBfQ09ORklHX0VERygpCisjICAgIGRlZmluZSBCT09TVF9QUF9FTlVNX1RSQUlMSU5HX1BBUkFNUyhjb3VudCwgcGFyYW0pIEJPT1NUX1BQX1JFUEVBVChjb3VudCwgQk9PU1RfUFBfRU5VTV9UUkFJTElOR19QQVJBTVNfTSwgcGFyYW0pCisjIGVsc2UKKyMgICAgZGVmaW5lIEJPT1NUX1BQX0VOVU1fVFJBSUxJTkdfUEFSQU1TKGNvdW50LCBwYXJhbSkgQk9PU1RfUFBfRU5VTV9UUkFJTElOR19QQVJBTVNfSShjb3VudCwgcGFyYW0pCisjICAgIGRlZmluZSBCT09TVF9QUF9FTlVNX1RSQUlMSU5HX1BBUkFNU19JKGNvdW50LCBwYXJhbSkgQk9PU1RfUFBfUkVQRUFUKGNvdW50LCBCT09TVF9QUF9FTlVNX1RSQUlMSU5HX1BBUkFNU19NLCBwYXJhbSkKKyMgZW5kaWYKKyMKKyMgZGVmaW5lIEJPT1NUX1BQX0VOVU1fVFJBSUxJTkdfUEFSQU1TX00oeiwgbiwgcGFyYW0pICwgcGFyYW0gIyMgbgorIworIyAvKiBCT09TVF9QUF9FTlVNX1RSQUlMSU5HX1BBUkFNU19aICovCisjCisjIGlmIH5CT09TVF9QUF9DT05GSUdfRkxBR1MoKSAmIEJPT1NUX1BQX0NPTkZJR19FREcoKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfRU5VTV9UUkFJTElOR19QQVJBTVNfWih6LCBjb3VudCwgcGFyYW0pIEJPT1NUX1BQX1JFUEVBVF8gIyMgeihjb3VudCwgQk9PU1RfUFBfRU5VTV9UUkFJTElOR19QQVJBTVNfTSwgcGFyYW0pCisjIGVsc2UKKyMgICAgZGVmaW5lIEJPT1NUX1BQX0VOVU1fVFJBSUxJTkdfUEFSQU1TX1ooeiwgY291bnQsIHBhcmFtKSBCT09TVF9QUF9FTlVNX1RSQUlMSU5HX1BBUkFNU19aX0koeiwgY291bnQsIHBhcmFtKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfRU5VTV9UUkFJTElOR19QQVJBTVNfWl9JKHosIGNvdW50LCBwYXJhbSkgQk9PU1RfUFBfUkVQRUFUXyAjIyB6KGNvdW50LCBCT09TVF9QUF9FTlVNX1RSQUlMSU5HX1BBUkFNU19NLCBwYXJhbSkKKyMgZW5kaWYKKyMKKyMgZW5kaWYKZGlmZiAtLWdpdCBhL25kbmJvb3N0L3ByZXByb2Nlc3Nvci9yZXBldGl0aW9uL3JlcGVhdF9mcm9tX3RvLmhwcCBiL25kbmJvb3N0L3ByZXByb2Nlc3Nvci9yZXBldGl0aW9uL3JlcGVhdF9mcm9tX3RvLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YmU4YzcwCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvcHJlcHJvY2Vzc29yL3JlcGV0aXRpb24vcmVwZWF0X2Zyb21fdG8uaHBwCkBAIC0wLDAgKzEsODcgQEAKKyMgLyogQ29weXJpZ2h0IChDKSAyMDAxCisjICAqIEhvdXNlbWFycXVlIE95CisjICAqIGh0dHA6Ly93d3cuaG91c2VtYXJxdWUuY29tCisjICAqCisjICAqIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gKFNlZQorIyAgKiBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdAorIyAgKiBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisjICAqLworIworIyAvKiBSZXZpc2VkIGJ5IFBhdWwgTWVuc29uaWRlcyAoMjAwMikgKi8KKyMKKyMgLyogU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnIGZvciBtb3N0IHJlY2VudCB2ZXJzaW9uLiAqLworIworIyBpZm5kZWYgQk9PU1RfUFJFUFJPQ0VTU09SX1JFUEVUSVRJT05fUkVQRUFUX0ZST01fVE9fSFBQCisjIGRlZmluZSBCT09TVF9QUkVQUk9DRVNTT1JfUkVQRVRJVElPTl9SRVBFQVRfRlJPTV9UT19IUFAKKyMKKyMgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL2FyaXRobWV0aWMvYWRkLmhwcD4KKyMgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL2FyaXRobWV0aWMvc3ViLmhwcD4KKyMgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL2NhdC5ocHA+CisjIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9jb25maWcvY29uZmlnLmhwcD4KKyMgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL2NvbnRyb2wvd2hpbGUuaHBwPgorIyBpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3IvZGVidWcvZXJyb3IuaHBwPgorIyBpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3IvZGV0YWlsL2F1dG9fcmVjLmhwcD4KKyMgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL3JlcGV0aXRpb24vcmVwZWF0LmhwcD4KKyMgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL3R1cGxlL2VsZW0uaHBwPgorIyBpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3IvdHVwbGUvcmVtLmhwcD4KKyMKKyMgLyogQk9PU1RfUFBfUkVQRUFUX0ZST01fVE8gKi8KKyMKKyMgaWYgMAorIyAgICBkZWZpbmUgQk9PU1RfUFBfUkVQRUFUX0ZST01fVE8oZmlyc3QsIGxhc3QsIG1hY3JvLCBkYXRhKQorIyBlbmRpZgorIworIyBkZWZpbmUgQk9PU1RfUFBfUkVQRUFUX0ZST01fVE8gQk9PU1RfUFBfQ0FUKEJPT1NUX1BQX1JFUEVBVF9GUk9NX1RPXywgQk9PU1RfUFBfQVVUT19SRUMoQk9PU1RfUFBfUkVQRUFUX1AsIDQpKQorIworIyBkZWZpbmUgQk9PU1RfUFBfUkVQRUFUX0ZST01fVE9fMShmLCBsLCBtLCBkdCkgQk9PU1RfUFBfUkVQRUFUX0ZST01fVE9fRF8xKEJPT1NUX1BQX0FVVE9fUkVDKEJPT1NUX1BQX1dISUxFX1AsIDI1NiksIGYsIGwsIG0sIGR0KQorIyBkZWZpbmUgQk9PU1RfUFBfUkVQRUFUX0ZST01fVE9fMihmLCBsLCBtLCBkdCkgQk9PU1RfUFBfUkVQRUFUX0ZST01fVE9fRF8yKEJPT1NUX1BQX0FVVE9fUkVDKEJPT1NUX1BQX1dISUxFX1AsIDI1NiksIGYsIGwsIG0sIGR0KQorIyBkZWZpbmUgQk9PU1RfUFBfUkVQRUFUX0ZST01fVE9fMyhmLCBsLCBtLCBkdCkgQk9PU1RfUFBfUkVQRUFUX0ZST01fVE9fRF8zKEJPT1NUX1BQX0FVVE9fUkVDKEJPT1NUX1BQX1dISUxFX1AsIDI1NiksIGYsIGwsIG0sIGR0KQorIyBkZWZpbmUgQk9PU1RfUFBfUkVQRUFUX0ZST01fVE9fNChmLCBsLCBtLCBkdCkgQk9PU1RfUFBfRVJST1IoMHgwMDAzKQorIworIyBkZWZpbmUgQk9PU1RfUFBfUkVQRUFUX0ZST01fVE9fMVNUIEJPT1NUX1BQX1JFUEVBVF9GUk9NX1RPXzEKKyMgZGVmaW5lIEJPT1NUX1BQX1JFUEVBVF9GUk9NX1RPXzJORCBCT09TVF9QUF9SRVBFQVRfRlJPTV9UT18yCisjIGRlZmluZSBCT09TVF9QUF9SRVBFQVRfRlJPTV9UT18zUkQgQk9PU1RfUFBfUkVQRUFUX0ZST01fVE9fMworIworIyAvKiBCT09TVF9QUF9SRVBFQVRfRlJPTV9UT19EICovCisjCisjIGlmIDAKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1JFUEVBVF9GUk9NX1RPX0QoZCwgZmlyc3QsIGxhc3QsIG1hY3JvLCBkYXRhKQorIyBlbmRpZgorIworIyBkZWZpbmUgQk9PU1RfUFBfUkVQRUFUX0ZST01fVE9fRCBCT09TVF9QUF9DQVQoQk9PU1RfUFBfUkVQRUFUX0ZST01fVE9fRF8sIEJPT1NUX1BQX0FVVE9fUkVDKEJPT1NUX1BQX1JFUEVBVF9QLCA0KSkKKyMKKyMgaWYgfkJPT1NUX1BQX0NPTkZJR19GTEFHUygpICYgQk9PU1RfUFBfQ09ORklHX0VERygpCisjICAgIGRlZmluZSBCT09TVF9QUF9SRVBFQVRfRlJPTV9UT19EXzEoZCwgZiwgbCwgbSwgZHQpIEJPT1NUX1BQX1JFUEVBVF8xKEJPT1NUX1BQX1NVQl9EKGQsIGwsIGYpLCBCT09TVF9QUF9SRVBFQVRfRlJPTV9UT19NXzEsIChkLCBmLCBtLCBkdCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9SRVBFQVRfRlJPTV9UT19EXzIoZCwgZiwgbCwgbSwgZHQpIEJPT1NUX1BQX1JFUEVBVF8yKEJPT1NUX1BQX1NVQl9EKGQsIGwsIGYpLCBCT09TVF9QUF9SRVBFQVRfRlJPTV9UT19NXzIsIChkLCBmLCBtLCBkdCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9SRVBFQVRfRlJPTV9UT19EXzMoZCwgZiwgbCwgbSwgZHQpIEJPT1NUX1BQX1JFUEVBVF8zKEJPT1NUX1BQX1NVQl9EKGQsIGwsIGYpLCBCT09TVF9QUF9SRVBFQVRfRlJPTV9UT19NXzMsIChkLCBmLCBtLCBkdCkpCisjIGVsc2UKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1JFUEVBVF9GUk9NX1RPX0RfMShkLCBmLCBsLCBtLCBkdCkgQk9PU1RfUFBfUkVQRUFUX0ZST01fVE9fRF8xX0koZCwgZiwgbCwgbSwgZHQpCisjICAgIGRlZmluZSBCT09TVF9QUF9SRVBFQVRfRlJPTV9UT19EXzIoZCwgZiwgbCwgbSwgZHQpIEJPT1NUX1BQX1JFUEVBVF9GUk9NX1RPX0RfMl9JKGQsIGYsIGwsIG0sIGR0KQorIyAgICBkZWZpbmUgQk9PU1RfUFBfUkVQRUFUX0ZST01fVE9fRF8zKGQsIGYsIGwsIG0sIGR0KSBCT09TVF9QUF9SRVBFQVRfRlJPTV9UT19EXzNfSShkLCBmLCBsLCBtLCBkdCkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1JFUEVBVF9GUk9NX1RPX0RfMV9JKGQsIGYsIGwsIG0sIGR0KSBCT09TVF9QUF9SRVBFQVRfMShCT09TVF9QUF9TVUJfRChkLCBsLCBmKSwgQk9PU1RfUFBfUkVQRUFUX0ZST01fVE9fTV8xLCAoZCwgZiwgbSwgZHQpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfUkVQRUFUX0ZST01fVE9fRF8yX0koZCwgZiwgbCwgbSwgZHQpIEJPT1NUX1BQX1JFUEVBVF8yKEJPT1NUX1BQX1NVQl9EKGQsIGwsIGYpLCBCT09TVF9QUF9SRVBFQVRfRlJPTV9UT19NXzIsIChkLCBmLCBtLCBkdCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9SRVBFQVRfRlJPTV9UT19EXzNfSShkLCBmLCBsLCBtLCBkdCkgQk9PU1RfUFBfUkVQRUFUXzMoQk9PU1RfUFBfU1VCX0QoZCwgbCwgZiksIEJPT1NUX1BQX1JFUEVBVF9GUk9NX1RPX01fMywgKGQsIGYsIG0sIGR0KSkKKyMgZW5kaWYKKyMKKyMgaWYgQk9PU1RfUFBfQ09ORklHX0ZMQUdTKCkgJiBCT09TVF9QUF9DT05GSUdfU1RSSUNUKCkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1JFUEVBVF9GUk9NX1RPX01fMSh6LCBuLCBkZm1kKSBCT09TVF9QUF9SRVBFQVRfRlJPTV9UT19NXzFfSU0oeiwgbiwgQk9PU1RfUFBfVFVQTEVfUkVNXzQgZGZtZCkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1JFUEVBVF9GUk9NX1RPX01fMih6LCBuLCBkZm1kKSBCT09TVF9QUF9SRVBFQVRfRlJPTV9UT19NXzJfSU0oeiwgbiwgQk9PU1RfUFBfVFVQTEVfUkVNXzQgZGZtZCkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1JFUEVBVF9GUk9NX1RPX01fMyh6LCBuLCBkZm1kKSBCT09TVF9QUF9SRVBFQVRfRlJPTV9UT19NXzNfSU0oeiwgbiwgQk9PU1RfUFBfVFVQTEVfUkVNXzQgZGZtZCkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1JFUEVBVF9GUk9NX1RPX01fMV9JTSh6LCBuLCBpbSkgQk9PU1RfUFBfUkVQRUFUX0ZST01fVE9fTV8xX0koeiwgbiwgaW0pCisjICAgIGRlZmluZSBCT09TVF9QUF9SRVBFQVRfRlJPTV9UT19NXzJfSU0oeiwgbiwgaW0pIEJPT1NUX1BQX1JFUEVBVF9GUk9NX1RPX01fMl9JKHosIG4sIGltKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfUkVQRUFUX0ZST01fVE9fTV8zX0lNKHosIG4sIGltKSBCT09TVF9QUF9SRVBFQVRfRlJPTV9UT19NXzNfSSh6LCBuLCBpbSkKKyMgZWxzZQorIyAgICBkZWZpbmUgQk9PU1RfUFBfUkVQRUFUX0ZST01fVE9fTV8xKHosIG4sIGRmbWQpIEJPT1NUX1BQX1JFUEVBVF9GUk9NX1RPX01fMV9JKHosIG4sIEJPT1NUX1BQX1RVUExFX0VMRU0oNCwgMCwgZGZtZCksIEJPT1NUX1BQX1RVUExFX0VMRU0oNCwgMSwgZGZtZCksIEJPT1NUX1BQX1RVUExFX0VMRU0oNCwgMiwgZGZtZCksIEJPT1NUX1BQX1RVUExFX0VMRU0oNCwgMywgZGZtZCkpCisjICAgIGRlZmluZSBCT09TVF9QUF9SRVBFQVRfRlJPTV9UT19NXzIoeiwgbiwgZGZtZCkgQk9PU1RfUFBfUkVQRUFUX0ZST01fVE9fTV8yX0koeiwgbiwgQk9PU1RfUFBfVFVQTEVfRUxFTSg0LCAwLCBkZm1kKSwgQk9PU1RfUFBfVFVQTEVfRUxFTSg0LCAxLCBkZm1kKSwgQk9PU1RfUFBfVFVQTEVfRUxFTSg0LCAyLCBkZm1kKSwgQk9PU1RfUFBfVFVQTEVfRUxFTSg0LCAzLCBkZm1kKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1JFUEVBVF9GUk9NX1RPX01fMyh6LCBuLCBkZm1kKSBCT09TVF9QUF9SRVBFQVRfRlJPTV9UT19NXzNfSSh6LCBuLCBCT09TVF9QUF9UVVBMRV9FTEVNKDQsIDAsIGRmbWQpLCBCT09TVF9QUF9UVVBMRV9FTEVNKDQsIDEsIGRmbWQpLCBCT09TVF9QUF9UVVBMRV9FTEVNKDQsIDIsIGRmbWQpLCBCT09TVF9QUF9UVVBMRV9FTEVNKDQsIDMsIGRmbWQpKQorIyBlbmRpZgorIworIyBkZWZpbmUgQk9PU1RfUFBfUkVQRUFUX0ZST01fVE9fTV8xX0koeiwgbiwgZCwgZiwgbSwgZHQpIEJPT1NUX1BQX1JFUEVBVF9GUk9NX1RPX01fMV9JSSh6LCBCT09TVF9QUF9BRERfRChkLCBuLCBmKSwgbSwgZHQpCisjIGRlZmluZSBCT09TVF9QUF9SRVBFQVRfRlJPTV9UT19NXzJfSSh6LCBuLCBkLCBmLCBtLCBkdCkgQk9PU1RfUFBfUkVQRUFUX0ZST01fVE9fTV8yX0lJKHosIEJPT1NUX1BQX0FERF9EKGQsIG4sIGYpLCBtLCBkdCkKKyMgZGVmaW5lIEJPT1NUX1BQX1JFUEVBVF9GUk9NX1RPX01fM19JKHosIG4sIGQsIGYsIG0sIGR0KSBCT09TVF9QUF9SRVBFQVRfRlJPTV9UT19NXzNfSUkoeiwgQk9PU1RfUFBfQUREX0QoZCwgbiwgZiksIG0sIGR0KQorIworIyBkZWZpbmUgQk9PU1RfUFBfUkVQRUFUX0ZST01fVE9fTV8xX0lJKHosIG4sIG0sIGR0KSBtKHosIG4sIGR0KQorIyBkZWZpbmUgQk9PU1RfUFBfUkVQRUFUX0ZST01fVE9fTV8yX0lJKHosIG4sIG0sIGR0KSBtKHosIG4sIGR0KQorIyBkZWZpbmUgQk9PU1RfUFBfUkVQRUFUX0ZST01fVE9fTV8zX0lJKHosIG4sIG0sIGR0KSBtKHosIG4sIGR0KQorIworIyBlbmRpZgpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvcHJlcHJvY2Vzc29yL3NlcS9jYXQuaHBwIGIvbmRuYm9vc3QvcHJlcHJvY2Vzc29yL3NlcS9jYXQuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUwYjEwNDYKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9wcmVwcm9jZXNzb3Ivc2VxL2NhdC5ocHAKQEAgLTAsMCArMSw0OSBAQAorIyAvKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorIyAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKgorIyAgKiAgICAgKEMpIENvcHlyaWdodCBQYXVsIE1lbnNvbmlkZXMgMjAwMi4KKyMgICogICAgIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gKFNlZQorIyAgKiAgICAgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQKKyMgICogICAgIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKyMgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoKKyMgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovCisjCisjIC8qIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZyBmb3IgbW9zdCByZWNlbnQgdmVyc2lvbi4gKi8KKyMKKyMgaWZuZGVmIEJPT1NUX1BSRVBST0NFU1NPUl9TRVFfQ0FUX0hQUAorIyBkZWZpbmUgQk9PU1RfUFJFUFJPQ0VTU09SX1NFUV9DQVRfSFBQCisjCisjIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9hcml0aG1ldGljL2RlYy5ocHA+CisjIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9jb25maWcvY29uZmlnLmhwcD4KKyMgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL2NvbnRyb2wvaWYuaHBwPgorIyBpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3Ivc2VxL2ZvbGRfbGVmdC5ocHA+CisjIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9zZXEvc2VxLmhwcD4KKyMgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL3NlcS9zaXplLmhwcD4KKyMgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL3R1cGxlL2VhdC5ocHA+CisjCisjIC8qIEJPT1NUX1BQX1NFUV9DQVQgKi8KKyMKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9DQVQoc2VxKSBcCisgICAgQk9PU1RfUFBfSUYoIFwKKyAgICAgICAgQk9PU1RfUFBfREVDKEJPT1NUX1BQX1NFUV9TSVpFKHNlcSkpLCBcCisgICAgICAgIEJPT1NUX1BQX1NFUV9DQVRfSSwgXAorICAgICAgICBCT09TVF9QUF9TRVFfSEVBRCBcCisgICAgKShzZXEpIFwKKyAgICAvKiovCisjIGRlZmluZSBCT09TVF9QUF9TRVFfQ0FUX0koc2VxKSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUKEJPT1NUX1BQX1NFUV9DQVRfTywgQk9PU1RfUFBfU0VRX0hFQUQoc2VxKSwgQk9PU1RfUFBfU0VRX1RBSUwoc2VxKSkKKyMKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9DQVRfTyhzLCBzdCwgZWxlbSkgQk9PU1RfUFBfU0VRX0NBVF9PX0koc3QsIGVsZW0pCisjIGRlZmluZSBCT09TVF9QUF9TRVFfQ0FUX09fSShhLCBiKSBhICMjIGIKKyMKKyMgLyogQk9PU1RfUFBfU0VRX0NBVF9TICovCisjCisjIGRlZmluZSBCT09TVF9QUF9TRVFfQ0FUX1Mocywgc2VxKSBcCisgICAgQk9PU1RfUFBfSUYoIFwKKyAgICAgICAgQk9PU1RfUFBfREVDKEJPT1NUX1BQX1NFUV9TSVpFKHNlcSkpLCBcCisgICAgICAgIEJPT1NUX1BQX1NFUV9DQVRfU19JX0EsIFwKKyAgICAgICAgQk9PU1RfUFBfU0VRX0NBVF9TX0lfQiBcCisgICAgKShzLCBzZXEpIFwKKyAgICAvKiovCisjIGRlZmluZSBCT09TVF9QUF9TRVFfQ0FUX1NfSV9BKHMsIHNlcSkgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF8gIyMgcyhCT09TVF9QUF9TRVFfQ0FUX08sIEJPT1NUX1BQX1NFUV9IRUFEKHNlcSksIEJPT1NUX1BQX1NFUV9UQUlMKHNlcSkpCisjIGRlZmluZSBCT09TVF9QUF9TRVFfQ0FUX1NfSV9CKHMsIHNlcSkgQk9PU1RfUFBfU0VRX0hFQUQoc2VxKQorIworIyBlbmRpZgpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvcHJlcHJvY2Vzc29yL3NlcS9kZXRhaWwvc3BsaXQuaHBwIGIvbmRuYm9vc3QvcHJlcHJvY2Vzc29yL3NlcS9kZXRhaWwvc3BsaXQuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJhNTYyODAKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9wcmVwcm9jZXNzb3Ivc2VxL2RldGFpbC9zcGxpdC5ocHAKQEAgLTAsMCArMSwyODQgQEAKKyMgLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyMgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoKKyMgICogICAgIChDKSBDb3B5cmlnaHQgUGF1bCBNZW5zb25pZGVzIDIwMDIuCisjICAqICAgICBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIChTZWUKKyMgICogICAgIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0CisjICAqICAgICBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisjICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqCisjICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqLworIworIyAvKiBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcgZm9yIG1vc3QgcmVjZW50IHZlcnNpb24uICovCisjCisjIGlmbmRlZiBCT09TVF9QUkVQUk9DRVNTT1JfU0VRX0RFVEFJTF9TUExJVF9IUFAKKyMgZGVmaW5lIEJPT1NUX1BSRVBST0NFU1NPUl9TRVFfREVUQUlMX1NQTElUX0hQUAorIworIyBpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3IvY29uZmlnL2NvbmZpZy5ocHA+CisjCisjIC8qIEJPT1NUX1BQX1NFUV9TUExJVCAqLworIworIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NQTElUKG4sIHNlcSkgQk9PU1RfUFBfU0VRX1NQTElUX0Qobiwgc2VxKQorIworIyBpZiB+Qk9PU1RfUFBfQ09ORklHX0ZMQUdTKCkgJiBCT09TVF9QUF9DT05GSUdfTVdDQygpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfRChuLCBzZXEpIChCT09TVF9QUF9TRVFfU1BMSVRfICMjIG4gc2VxKQorIyBlbHNlCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfRChuLCBzZXEpIChCT09TVF9QUF9TRVFfU1BMSVRfICMjIG4gIyMgc2VxKQorIyBlbmRpZgorIworIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NQTElUXzEoeCkgKHgpLAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NQTElUXzIoeCkgKHgpIEJPT1NUX1BQX1NFUV9TUExJVF8xCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMyh4KSAoeCkgQk9PU1RfUFBfU0VRX1NQTElUXzIKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9TUExJVF80KHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMworIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NQTElUXzUoeCkgKHgpIEJPT1NUX1BQX1NFUV9TUExJVF80CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfNih4KSAoeCkgQk9PU1RfUFBfU0VRX1NQTElUXzUKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9TUExJVF83KHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfNgorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NQTElUXzgoeCkgKHgpIEJPT1NUX1BQX1NFUV9TUExJVF83CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfOSh4KSAoeCkgQk9PU1RfUFBfU0VRX1NQTElUXzgKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9TUExJVF8xMCh4KSAoeCkgQk9PU1RfUFBfU0VRX1NQTElUXzkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9TUExJVF8xMSh4KSAoeCkgQk9PU1RfUFBfU0VRX1NQTElUXzEwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMTIoeCkgKHgpIEJPT1NUX1BQX1NFUV9TUExJVF8xMQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NQTElUXzEzKHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMTIKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9TUExJVF8xNCh4KSAoeCkgQk9PU1RfUFBfU0VRX1NQTElUXzEzCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMTUoeCkgKHgpIEJPT1NUX1BQX1NFUV9TUExJVF8xNAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NQTElUXzE2KHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMTUKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9TUExJVF8xNyh4KSAoeCkgQk9PU1RfUFBfU0VRX1NQTElUXzE2CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMTgoeCkgKHgpIEJPT1NUX1BQX1NFUV9TUExJVF8xNworIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NQTElUXzE5KHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMTgKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9TUExJVF8yMCh4KSAoeCkgQk9PU1RfUFBfU0VRX1NQTElUXzE5CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMjEoeCkgKHgpIEJPT1NUX1BQX1NFUV9TUExJVF8yMAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NQTElUXzIyKHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMjEKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9TUExJVF8yMyh4KSAoeCkgQk9PU1RfUFBfU0VRX1NQTElUXzIyCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMjQoeCkgKHgpIEJPT1NUX1BQX1NFUV9TUExJVF8yMworIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NQTElUXzI1KHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMjQKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9TUExJVF8yNih4KSAoeCkgQk9PU1RfUFBfU0VRX1NQTElUXzI1CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMjcoeCkgKHgpIEJPT1NUX1BQX1NFUV9TUExJVF8yNgorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NQTElUXzI4KHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMjcKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9TUExJVF8yOSh4KSAoeCkgQk9PU1RfUFBfU0VRX1NQTElUXzI4CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMzAoeCkgKHgpIEJPT1NUX1BQX1NFUV9TUExJVF8yOQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NQTElUXzMxKHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMzAKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9TUExJVF8zMih4KSAoeCkgQk9PU1RfUFBfU0VRX1NQTElUXzMxCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMzMoeCkgKHgpIEJPT1NUX1BQX1NFUV9TUExJVF8zMgorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NQTElUXzM0KHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMzMKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9TUExJVF8zNSh4KSAoeCkgQk9PU1RfUFBfU0VRX1NQTElUXzM0CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMzYoeCkgKHgpIEJPT1NUX1BQX1NFUV9TUExJVF8zNQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NQTElUXzM3KHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMzYKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9TUExJVF8zOCh4KSAoeCkgQk9PU1RfUFBfU0VRX1NQTElUXzM3CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMzkoeCkgKHgpIEJPT1NUX1BQX1NFUV9TUExJVF8zOAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NQTElUXzQwKHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMzkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9TUExJVF80MSh4KSAoeCkgQk9PU1RfUFBfU0VRX1NQTElUXzQwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfNDIoeCkgKHgpIEJPT1NUX1BQX1NFUV9TUExJVF80MQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NQTElUXzQzKHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfNDIKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9TUExJVF80NCh4KSAoeCkgQk9PU1RfUFBfU0VRX1NQTElUXzQzCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfNDUoeCkgKHgpIEJPT1NUX1BQX1NFUV9TUExJVF80NAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NQTElUXzQ2KHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfNDUKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9TUExJVF80Nyh4KSAoeCkgQk9PU1RfUFBfU0VRX1NQTElUXzQ2CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfNDgoeCkgKHgpIEJPT1NUX1BQX1NFUV9TUExJVF80NworIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NQTElUXzQ5KHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfNDgKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9TUExJVF81MCh4KSAoeCkgQk9PU1RfUFBfU0VRX1NQTElUXzQ5CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfNTEoeCkgKHgpIEJPT1NUX1BQX1NFUV9TUExJVF81MAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NQTElUXzUyKHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfNTEKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9TUExJVF81Myh4KSAoeCkgQk9PU1RfUFBfU0VRX1NQTElUXzUyCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfNTQoeCkgKHgpIEJPT1NUX1BQX1NFUV9TUExJVF81MworIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NQTElUXzU1KHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfNTQKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9TUExJVF81Nih4KSAoeCkgQk9PU1RfUFBfU0VRX1NQTElUXzU1CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfNTcoeCkgKHgpIEJPT1NUX1BQX1NFUV9TUExJVF81NgorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NQTElUXzU4KHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfNTcKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9TUExJVF81OSh4KSAoeCkgQk9PU1RfUFBfU0VRX1NQTElUXzU4CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfNjAoeCkgKHgpIEJPT1NUX1BQX1NFUV9TUExJVF81OQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NQTElUXzYxKHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfNjAKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9TUExJVF82Mih4KSAoeCkgQk9PU1RfUFBfU0VRX1NQTElUXzYxCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfNjMoeCkgKHgpIEJPT1NUX1BQX1NFUV9TUExJVF82MgorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NQTElUXzY0KHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfNjMKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9TUExJVF82NSh4KSAoeCkgQk9PU1RfUFBfU0VRX1NQTElUXzY0CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfNjYoeCkgKHgpIEJPT1NUX1BQX1NFUV9TUExJVF82NQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NQTElUXzY3KHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfNjYKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9TUExJVF82OCh4KSAoeCkgQk9PU1RfUFBfU0VRX1NQTElUXzY3CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfNjkoeCkgKHgpIEJPT1NUX1BQX1NFUV9TUExJVF82OAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NQTElUXzcwKHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfNjkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9TUExJVF83MSh4KSAoeCkgQk9PU1RfUFBfU0VRX1NQTElUXzcwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfNzIoeCkgKHgpIEJPT1NUX1BQX1NFUV9TUExJVF83MQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NQTElUXzczKHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfNzIKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9TUExJVF83NCh4KSAoeCkgQk9PU1RfUFBfU0VRX1NQTElUXzczCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfNzUoeCkgKHgpIEJPT1NUX1BQX1NFUV9TUExJVF83NAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NQTElUXzc2KHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfNzUKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9TUExJVF83Nyh4KSAoeCkgQk9PU1RfUFBfU0VRX1NQTElUXzc2CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfNzgoeCkgKHgpIEJPT1NUX1BQX1NFUV9TUExJVF83NworIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NQTElUXzc5KHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfNzgKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9TUExJVF84MCh4KSAoeCkgQk9PU1RfUFBfU0VRX1NQTElUXzc5CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfODEoeCkgKHgpIEJPT1NUX1BQX1NFUV9TUExJVF84MAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NQTElUXzgyKHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfODEKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9TUExJVF84Myh4KSAoeCkgQk9PU1RfUFBfU0VRX1NQTElUXzgyCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfODQoeCkgKHgpIEJPT1NUX1BQX1NFUV9TUExJVF84MworIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NQTElUXzg1KHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfODQKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9TUExJVF84Nih4KSAoeCkgQk9PU1RfUFBfU0VRX1NQTElUXzg1CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfODcoeCkgKHgpIEJPT1NUX1BQX1NFUV9TUExJVF84NgorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NQTElUXzg4KHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfODcKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9TUExJVF84OSh4KSAoeCkgQk9PU1RfUFBfU0VRX1NQTElUXzg4CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfOTAoeCkgKHgpIEJPT1NUX1BQX1NFUV9TUExJVF84OQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NQTElUXzkxKHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfOTAKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9TUExJVF85Mih4KSAoeCkgQk9PU1RfUFBfU0VRX1NQTElUXzkxCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfOTMoeCkgKHgpIEJPT1NUX1BQX1NFUV9TUExJVF85MgorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NQTElUXzk0KHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfOTMKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9TUExJVF85NSh4KSAoeCkgQk9PU1RfUFBfU0VRX1NQTElUXzk0CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfOTYoeCkgKHgpIEJPT1NUX1BQX1NFUV9TUExJVF85NQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NQTElUXzk3KHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfOTYKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9TUExJVF85OCh4KSAoeCkgQk9PU1RfUFBfU0VRX1NQTElUXzk3CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfOTkoeCkgKHgpIEJPT1NUX1BQX1NFUV9TUExJVF85OAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NQTElUXzEwMCh4KSAoeCkgQk9PU1RfUFBfU0VRX1NQTElUXzk5CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMTAxKHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMTAwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMTAyKHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMTAxCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMTAzKHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMTAyCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMTA0KHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMTAzCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMTA1KHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMTA0CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMTA2KHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMTA1CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMTA3KHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMTA2CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMTA4KHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMTA3CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMTA5KHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMTA4CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMTEwKHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMTA5CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMTExKHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMTEwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMTEyKHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMTExCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMTEzKHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMTEyCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMTE0KHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMTEzCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMTE1KHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMTE0CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMTE2KHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMTE1CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMTE3KHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMTE2CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMTE4KHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMTE3CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMTE5KHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMTE4CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMTIwKHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMTE5CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMTIxKHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMTIwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMTIyKHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMTIxCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMTIzKHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMTIyCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMTI0KHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMTIzCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMTI1KHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMTI0CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMTI2KHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMTI1CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMTI3KHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMTI2CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMTI4KHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMTI3CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMTI5KHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMTI4CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMTMwKHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMTI5CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMTMxKHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMTMwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMTMyKHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMTMxCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMTMzKHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMTMyCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMTM0KHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMTMzCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMTM1KHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMTM0CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMTM2KHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMTM1CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMTM3KHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMTM2CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMTM4KHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMTM3CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMTM5KHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMTM4CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMTQwKHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMTM5CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMTQxKHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMTQwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMTQyKHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMTQxCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMTQzKHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMTQyCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMTQ0KHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMTQzCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMTQ1KHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMTQ0CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMTQ2KHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMTQ1CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMTQ3KHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMTQ2CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMTQ4KHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMTQ3CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMTQ5KHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMTQ4CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMTUwKHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMTQ5CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMTUxKHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMTUwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMTUyKHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMTUxCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMTUzKHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMTUyCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMTU0KHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMTUzCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMTU1KHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMTU0CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMTU2KHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMTU1CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMTU3KHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMTU2CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMTU4KHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMTU3CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMTU5KHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMTU4CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMTYwKHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMTU5CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMTYxKHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMTYwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMTYyKHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMTYxCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMTYzKHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMTYyCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMTY0KHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMTYzCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMTY1KHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMTY0CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMTY2KHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMTY1CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMTY3KHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMTY2CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMTY4KHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMTY3CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMTY5KHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMTY4CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMTcwKHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMTY5CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMTcxKHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMTcwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMTcyKHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMTcxCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMTczKHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMTcyCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMTc0KHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMTczCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMTc1KHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMTc0CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMTc2KHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMTc1CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMTc3KHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMTc2CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMTc4KHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMTc3CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMTc5KHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMTc4CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMTgwKHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMTc5CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMTgxKHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMTgwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMTgyKHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMTgxCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMTgzKHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMTgyCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMTg0KHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMTgzCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMTg1KHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMTg0CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMTg2KHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMTg1CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMTg3KHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMTg2CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMTg4KHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMTg3CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMTg5KHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMTg4CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMTkwKHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMTg5CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMTkxKHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMTkwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMTkyKHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMTkxCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMTkzKHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMTkyCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMTk0KHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMTkzCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMTk1KHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMTk0CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMTk2KHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMTk1CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMTk3KHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMTk2CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMTk4KHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMTk3CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMTk5KHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMTk4CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMjAwKHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMTk5CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMjAxKHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMjAwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMjAyKHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMjAxCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMjAzKHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMjAyCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMjA0KHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMjAzCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMjA1KHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMjA0CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMjA2KHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMjA1CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMjA3KHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMjA2CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMjA4KHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMjA3CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMjA5KHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMjA4CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMjEwKHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMjA5CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMjExKHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMjEwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMjEyKHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMjExCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMjEzKHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMjEyCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMjE0KHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMjEzCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMjE1KHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMjE0CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMjE2KHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMjE1CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMjE3KHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMjE2CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMjE4KHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMjE3CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMjE5KHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMjE4CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMjIwKHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMjE5CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMjIxKHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMjIwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMjIyKHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMjIxCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMjIzKHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMjIyCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMjI0KHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMjIzCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMjI1KHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMjI0CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMjI2KHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMjI1CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMjI3KHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMjI2CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMjI4KHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMjI3CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMjI5KHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMjI4CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMjMwKHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMjI5CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMjMxKHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMjMwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMjMyKHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMjMxCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMjMzKHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMjMyCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMjM0KHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMjMzCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMjM1KHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMjM0CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMjM2KHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMjM1CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMjM3KHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMjM2CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMjM4KHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMjM3CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMjM5KHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMjM4CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMjQwKHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMjM5CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMjQxKHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMjQwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMjQyKHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMjQxCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMjQzKHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMjQyCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMjQ0KHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMjQzCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMjQ1KHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMjQ0CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMjQ2KHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMjQ1CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMjQ3KHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMjQ2CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMjQ4KHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMjQ3CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMjQ5KHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMjQ4CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMjUwKHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMjQ5CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMjUxKHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMjUwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMjUyKHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMjUxCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMjUzKHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMjUyCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMjU0KHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMjUzCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMjU1KHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMjU0CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU1BMSVRfMjU2KHgpICh4KSBCT09TVF9QUF9TRVFfU1BMSVRfMjU1CisjCisjIGVuZGlmCmRpZmYgLS1naXQgYS9uZG5ib29zdC9wcmVwcm9jZXNzb3Ivc2VxL2VsZW0uaHBwIGIvbmRuYm9vc3QvcHJlcHJvY2Vzc29yL3NlcS9lbGVtLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMjlhOGEyCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvcHJlcHJvY2Vzc29yL3NlcS9lbGVtLmhwcApAQCAtMCwwICsxLDMwNCBAQAorIyAvKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorIyAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKgorIyAgKiAgICAgKEMpIENvcHlyaWdodCBQYXVsIE1lbnNvbmlkZXMgMjAwMi4KKyMgICogICAgIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gKFNlZQorIyAgKiAgICAgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQKKyMgICogICAgIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKyMgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoKKyMgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovCisjCisjIC8qIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZyBmb3IgbW9zdCByZWNlbnQgdmVyc2lvbi4gKi8KKyMKKyMgaWZuZGVmIEJPT1NUX1BSRVBST0NFU1NPUl9TRVFfRUxFTV9IUFAKKyMgZGVmaW5lIEJPT1NUX1BSRVBST0NFU1NPUl9TRVFfRUxFTV9IUFAKKyMKKyMgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL2NhdC5ocHA+CisjIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9jb25maWcvY29uZmlnLmhwcD4KKyMgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL2ZhY2lsaXRpZXMvZW1wdHkuaHBwPgorIworIyAvKiBCT09TVF9QUF9TRVFfRUxFTSAqLworIworIyBpZiB+Qk9PU1RfUFBfQ09ORklHX0ZMQUdTKCkgJiBCT09TVF9QUF9DT05GSUdfTVdDQygpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRUxFTShpLCBzZXEpIEJPT1NUX1BQX1NFUV9FTEVNX0koaSwgc2VxKQorIyBlbHNlCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRUxFTShpLCBzZXEpIEJPT1NUX1BQX1NFUV9FTEVNX0koKGksIHNlcSkpCisjIGVuZGlmCisjCisjIGlmIEJPT1NUX1BQX0NPTkZJR19GTEFHUygpICYgQk9PU1RfUFBfQ09ORklHX01TVkMoKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fSShpLCBzZXEpIEJPT1NUX1BQX1NFUV9FTEVNX0lJKChCT09TVF9QUF9TRVFfRUxFTV8gIyMgaSBzZXEpKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fSUkocmVzKSBCT09TVF9QUF9TRVFfRUxFTV9JVihCT09TVF9QUF9TRVFfRUxFTV9JSUkgcmVzKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fSUlJKHgsIF8pIHggQk9PU1RfUFBfRU1QVFkoKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fSVYoeCkgeAorIyBlbGlmIEJPT1NUX1BQX0NPTkZJR19GTEFHUygpICYgQk9PU1RfUFBfQ09ORklHX01XQ0MoKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fSShwYXIpIEJPT1NUX1BQX1NFUV9FTEVNX0lJICMjIHBhcgorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fSUkoaSwgc2VxKSBCT09TVF9QUF9TRVFfRUxFTV9JSUkoQk9PU1RfUFBfU0VRX0VMRU1fICMjIGkgIyMgc2VxKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fSUlJKGltKSBCT09TVF9QUF9TRVFfRUxFTV9JVihpbSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9FTEVNX0lWKHgsIF8pIHgKKyMgZWxzZQorIyAgICBpZiBkZWZpbmVkKF9fSUJNQ19fKSB8fCBkZWZpbmVkKF9fSUJNQ1BQX18pCisjICAgICAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fSShpLCBzZXEpIEJPT1NUX1BQX1NFUV9FTEVNX0lJKEJPT1NUX1BQX0NBVChCT09TVF9QUF9TRVFfRUxFTV8gIyMgaSwgc2VxKSkKKyMgICAgZWxzZQorIyAgICAgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9FTEVNX0koaSwgc2VxKSBCT09TVF9QUF9TRVFfRUxFTV9JSShCT09TVF9QUF9TRVFfRUxFTV8gIyMgaSBzZXEpCisjICAgIGVuZGlmCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRUxFTV9JSShpbSkgQk9PU1RfUFBfU0VRX0VMRU1fSUlJKGltKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fSUlJKHgsIF8pIHgKKyMgZW5kaWYKKyMKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9FTEVNXzAoeCkgeCwgQk9PU1RfUFBfTklMCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRUxFTV8xKF8pIEJPT1NUX1BQX1NFUV9FTEVNXzAKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9FTEVNXzIoXykgQk9PU1RfUFBfU0VRX0VMRU1fMQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMyhfKSBCT09TVF9QUF9TRVFfRUxFTV8yCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRUxFTV80KF8pIEJPT1NUX1BQX1NFUV9FTEVNXzMKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9FTEVNXzUoXykgQk9PU1RfUFBfU0VRX0VMRU1fNAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fNihfKSBCT09TVF9QUF9TRVFfRUxFTV81CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRUxFTV83KF8pIEJPT1NUX1BQX1NFUV9FTEVNXzYKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9FTEVNXzgoXykgQk9PU1RfUFBfU0VRX0VMRU1fNworIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fOShfKSBCT09TVF9QUF9TRVFfRUxFTV84CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRUxFTV8xMChfKSBCT09TVF9QUF9TRVFfRUxFTV85CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRUxFTV8xMShfKSBCT09TVF9QUF9TRVFfRUxFTV8xMAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMTIoXykgQk9PU1RfUFBfU0VRX0VMRU1fMTEKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9FTEVNXzEzKF8pIEJPT1NUX1BQX1NFUV9FTEVNXzEyCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRUxFTV8xNChfKSBCT09TVF9QUF9TRVFfRUxFTV8xMworIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMTUoXykgQk9PU1RfUFBfU0VRX0VMRU1fMTQKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9FTEVNXzE2KF8pIEJPT1NUX1BQX1NFUV9FTEVNXzE1CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRUxFTV8xNyhfKSBCT09TVF9QUF9TRVFfRUxFTV8xNgorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMTgoXykgQk9PU1RfUFBfU0VRX0VMRU1fMTcKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9FTEVNXzE5KF8pIEJPT1NUX1BQX1NFUV9FTEVNXzE4CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRUxFTV8yMChfKSBCT09TVF9QUF9TRVFfRUxFTV8xOQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMjEoXykgQk9PU1RfUFBfU0VRX0VMRU1fMjAKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9FTEVNXzIyKF8pIEJPT1NUX1BQX1NFUV9FTEVNXzIxCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRUxFTV8yMyhfKSBCT09TVF9QUF9TRVFfRUxFTV8yMgorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMjQoXykgQk9PU1RfUFBfU0VRX0VMRU1fMjMKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9FTEVNXzI1KF8pIEJPT1NUX1BQX1NFUV9FTEVNXzI0CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRUxFTV8yNihfKSBCT09TVF9QUF9TRVFfRUxFTV8yNQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMjcoXykgQk9PU1RfUFBfU0VRX0VMRU1fMjYKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9FTEVNXzI4KF8pIEJPT1NUX1BQX1NFUV9FTEVNXzI3CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRUxFTV8yOShfKSBCT09TVF9QUF9TRVFfRUxFTV8yOAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMzAoXykgQk9PU1RfUFBfU0VRX0VMRU1fMjkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9FTEVNXzMxKF8pIEJPT1NUX1BQX1NFUV9FTEVNXzMwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRUxFTV8zMihfKSBCT09TVF9QUF9TRVFfRUxFTV8zMQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMzMoXykgQk9PU1RfUFBfU0VRX0VMRU1fMzIKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9FTEVNXzM0KF8pIEJPT1NUX1BQX1NFUV9FTEVNXzMzCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRUxFTV8zNShfKSBCT09TVF9QUF9TRVFfRUxFTV8zNAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMzYoXykgQk9PU1RfUFBfU0VRX0VMRU1fMzUKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9FTEVNXzM3KF8pIEJPT1NUX1BQX1NFUV9FTEVNXzM2CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRUxFTV8zOChfKSBCT09TVF9QUF9TRVFfRUxFTV8zNworIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMzkoXykgQk9PU1RfUFBfU0VRX0VMRU1fMzgKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9FTEVNXzQwKF8pIEJPT1NUX1BQX1NFUV9FTEVNXzM5CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRUxFTV80MShfKSBCT09TVF9QUF9TRVFfRUxFTV80MAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fNDIoXykgQk9PU1RfUFBfU0VRX0VMRU1fNDEKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9FTEVNXzQzKF8pIEJPT1NUX1BQX1NFUV9FTEVNXzQyCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRUxFTV80NChfKSBCT09TVF9QUF9TRVFfRUxFTV80MworIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fNDUoXykgQk9PU1RfUFBfU0VRX0VMRU1fNDQKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9FTEVNXzQ2KF8pIEJPT1NUX1BQX1NFUV9FTEVNXzQ1CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRUxFTV80NyhfKSBCT09TVF9QUF9TRVFfRUxFTV80NgorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fNDgoXykgQk9PU1RfUFBfU0VRX0VMRU1fNDcKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9FTEVNXzQ5KF8pIEJPT1NUX1BQX1NFUV9FTEVNXzQ4CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRUxFTV81MChfKSBCT09TVF9QUF9TRVFfRUxFTV80OQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fNTEoXykgQk9PU1RfUFBfU0VRX0VMRU1fNTAKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9FTEVNXzUyKF8pIEJPT1NUX1BQX1NFUV9FTEVNXzUxCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRUxFTV81MyhfKSBCT09TVF9QUF9TRVFfRUxFTV81MgorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fNTQoXykgQk9PU1RfUFBfU0VRX0VMRU1fNTMKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9FTEVNXzU1KF8pIEJPT1NUX1BQX1NFUV9FTEVNXzU0CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRUxFTV81NihfKSBCT09TVF9QUF9TRVFfRUxFTV81NQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fNTcoXykgQk9PU1RfUFBfU0VRX0VMRU1fNTYKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9FTEVNXzU4KF8pIEJPT1NUX1BQX1NFUV9FTEVNXzU3CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRUxFTV81OShfKSBCT09TVF9QUF9TRVFfRUxFTV81OAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fNjAoXykgQk9PU1RfUFBfU0VRX0VMRU1fNTkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9FTEVNXzYxKF8pIEJPT1NUX1BQX1NFUV9FTEVNXzYwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRUxFTV82MihfKSBCT09TVF9QUF9TRVFfRUxFTV82MQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fNjMoXykgQk9PU1RfUFBfU0VRX0VMRU1fNjIKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9FTEVNXzY0KF8pIEJPT1NUX1BQX1NFUV9FTEVNXzYzCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRUxFTV82NShfKSBCT09TVF9QUF9TRVFfRUxFTV82NAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fNjYoXykgQk9PU1RfUFBfU0VRX0VMRU1fNjUKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9FTEVNXzY3KF8pIEJPT1NUX1BQX1NFUV9FTEVNXzY2CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRUxFTV82OChfKSBCT09TVF9QUF9TRVFfRUxFTV82NworIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fNjkoXykgQk9PU1RfUFBfU0VRX0VMRU1fNjgKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9FTEVNXzcwKF8pIEJPT1NUX1BQX1NFUV9FTEVNXzY5CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRUxFTV83MShfKSBCT09TVF9QUF9TRVFfRUxFTV83MAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fNzIoXykgQk9PU1RfUFBfU0VRX0VMRU1fNzEKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9FTEVNXzczKF8pIEJPT1NUX1BQX1NFUV9FTEVNXzcyCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRUxFTV83NChfKSBCT09TVF9QUF9TRVFfRUxFTV83MworIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fNzUoXykgQk9PU1RfUFBfU0VRX0VMRU1fNzQKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9FTEVNXzc2KF8pIEJPT1NUX1BQX1NFUV9FTEVNXzc1CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRUxFTV83NyhfKSBCT09TVF9QUF9TRVFfRUxFTV83NgorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fNzgoXykgQk9PU1RfUFBfU0VRX0VMRU1fNzcKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9FTEVNXzc5KF8pIEJPT1NUX1BQX1NFUV9FTEVNXzc4CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRUxFTV84MChfKSBCT09TVF9QUF9TRVFfRUxFTV83OQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fODEoXykgQk9PU1RfUFBfU0VRX0VMRU1fODAKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9FTEVNXzgyKF8pIEJPT1NUX1BQX1NFUV9FTEVNXzgxCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRUxFTV84MyhfKSBCT09TVF9QUF9TRVFfRUxFTV84MgorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fODQoXykgQk9PU1RfUFBfU0VRX0VMRU1fODMKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9FTEVNXzg1KF8pIEJPT1NUX1BQX1NFUV9FTEVNXzg0CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRUxFTV84NihfKSBCT09TVF9QUF9TRVFfRUxFTV84NQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fODcoXykgQk9PU1RfUFBfU0VRX0VMRU1fODYKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9FTEVNXzg4KF8pIEJPT1NUX1BQX1NFUV9FTEVNXzg3CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRUxFTV84OShfKSBCT09TVF9QUF9TRVFfRUxFTV84OAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fOTAoXykgQk9PU1RfUFBfU0VRX0VMRU1fODkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9FTEVNXzkxKF8pIEJPT1NUX1BQX1NFUV9FTEVNXzkwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRUxFTV85MihfKSBCT09TVF9QUF9TRVFfRUxFTV85MQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fOTMoXykgQk9PU1RfUFBfU0VRX0VMRU1fOTIKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9FTEVNXzk0KF8pIEJPT1NUX1BQX1NFUV9FTEVNXzkzCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRUxFTV85NShfKSBCT09TVF9QUF9TRVFfRUxFTV85NAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fOTYoXykgQk9PU1RfUFBfU0VRX0VMRU1fOTUKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9FTEVNXzk3KF8pIEJPT1NUX1BQX1NFUV9FTEVNXzk2CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRUxFTV85OChfKSBCT09TVF9QUF9TRVFfRUxFTV85NworIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fOTkoXykgQk9PU1RfUFBfU0VRX0VMRU1fOTgKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9FTEVNXzEwMChfKSBCT09TVF9QUF9TRVFfRUxFTV85OQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMTAxKF8pIEJPT1NUX1BQX1NFUV9FTEVNXzEwMAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMTAyKF8pIEJPT1NUX1BQX1NFUV9FTEVNXzEwMQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMTAzKF8pIEJPT1NUX1BQX1NFUV9FTEVNXzEwMgorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMTA0KF8pIEJPT1NUX1BQX1NFUV9FTEVNXzEwMworIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMTA1KF8pIEJPT1NUX1BQX1NFUV9FTEVNXzEwNAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMTA2KF8pIEJPT1NUX1BQX1NFUV9FTEVNXzEwNQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMTA3KF8pIEJPT1NUX1BQX1NFUV9FTEVNXzEwNgorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMTA4KF8pIEJPT1NUX1BQX1NFUV9FTEVNXzEwNworIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMTA5KF8pIEJPT1NUX1BQX1NFUV9FTEVNXzEwOAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMTEwKF8pIEJPT1NUX1BQX1NFUV9FTEVNXzEwOQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMTExKF8pIEJPT1NUX1BQX1NFUV9FTEVNXzExMAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMTEyKF8pIEJPT1NUX1BQX1NFUV9FTEVNXzExMQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMTEzKF8pIEJPT1NUX1BQX1NFUV9FTEVNXzExMgorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMTE0KF8pIEJPT1NUX1BQX1NFUV9FTEVNXzExMworIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMTE1KF8pIEJPT1NUX1BQX1NFUV9FTEVNXzExNAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMTE2KF8pIEJPT1NUX1BQX1NFUV9FTEVNXzExNQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMTE3KF8pIEJPT1NUX1BQX1NFUV9FTEVNXzExNgorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMTE4KF8pIEJPT1NUX1BQX1NFUV9FTEVNXzExNworIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMTE5KF8pIEJPT1NUX1BQX1NFUV9FTEVNXzExOAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMTIwKF8pIEJPT1NUX1BQX1NFUV9FTEVNXzExOQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMTIxKF8pIEJPT1NUX1BQX1NFUV9FTEVNXzEyMAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMTIyKF8pIEJPT1NUX1BQX1NFUV9FTEVNXzEyMQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMTIzKF8pIEJPT1NUX1BQX1NFUV9FTEVNXzEyMgorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMTI0KF8pIEJPT1NUX1BQX1NFUV9FTEVNXzEyMworIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMTI1KF8pIEJPT1NUX1BQX1NFUV9FTEVNXzEyNAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMTI2KF8pIEJPT1NUX1BQX1NFUV9FTEVNXzEyNQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMTI3KF8pIEJPT1NUX1BQX1NFUV9FTEVNXzEyNgorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMTI4KF8pIEJPT1NUX1BQX1NFUV9FTEVNXzEyNworIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMTI5KF8pIEJPT1NUX1BQX1NFUV9FTEVNXzEyOAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMTMwKF8pIEJPT1NUX1BQX1NFUV9FTEVNXzEyOQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMTMxKF8pIEJPT1NUX1BQX1NFUV9FTEVNXzEzMAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMTMyKF8pIEJPT1NUX1BQX1NFUV9FTEVNXzEzMQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMTMzKF8pIEJPT1NUX1BQX1NFUV9FTEVNXzEzMgorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMTM0KF8pIEJPT1NUX1BQX1NFUV9FTEVNXzEzMworIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMTM1KF8pIEJPT1NUX1BQX1NFUV9FTEVNXzEzNAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMTM2KF8pIEJPT1NUX1BQX1NFUV9FTEVNXzEzNQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMTM3KF8pIEJPT1NUX1BQX1NFUV9FTEVNXzEzNgorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMTM4KF8pIEJPT1NUX1BQX1NFUV9FTEVNXzEzNworIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMTM5KF8pIEJPT1NUX1BQX1NFUV9FTEVNXzEzOAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMTQwKF8pIEJPT1NUX1BQX1NFUV9FTEVNXzEzOQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMTQxKF8pIEJPT1NUX1BQX1NFUV9FTEVNXzE0MAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMTQyKF8pIEJPT1NUX1BQX1NFUV9FTEVNXzE0MQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMTQzKF8pIEJPT1NUX1BQX1NFUV9FTEVNXzE0MgorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMTQ0KF8pIEJPT1NUX1BQX1NFUV9FTEVNXzE0MworIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMTQ1KF8pIEJPT1NUX1BQX1NFUV9FTEVNXzE0NAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMTQ2KF8pIEJPT1NUX1BQX1NFUV9FTEVNXzE0NQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMTQ3KF8pIEJPT1NUX1BQX1NFUV9FTEVNXzE0NgorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMTQ4KF8pIEJPT1NUX1BQX1NFUV9FTEVNXzE0NworIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMTQ5KF8pIEJPT1NUX1BQX1NFUV9FTEVNXzE0OAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMTUwKF8pIEJPT1NUX1BQX1NFUV9FTEVNXzE0OQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMTUxKF8pIEJPT1NUX1BQX1NFUV9FTEVNXzE1MAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMTUyKF8pIEJPT1NUX1BQX1NFUV9FTEVNXzE1MQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMTUzKF8pIEJPT1NUX1BQX1NFUV9FTEVNXzE1MgorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMTU0KF8pIEJPT1NUX1BQX1NFUV9FTEVNXzE1MworIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMTU1KF8pIEJPT1NUX1BQX1NFUV9FTEVNXzE1NAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMTU2KF8pIEJPT1NUX1BQX1NFUV9FTEVNXzE1NQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMTU3KF8pIEJPT1NUX1BQX1NFUV9FTEVNXzE1NgorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMTU4KF8pIEJPT1NUX1BQX1NFUV9FTEVNXzE1NworIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMTU5KF8pIEJPT1NUX1BQX1NFUV9FTEVNXzE1OAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMTYwKF8pIEJPT1NUX1BQX1NFUV9FTEVNXzE1OQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMTYxKF8pIEJPT1NUX1BQX1NFUV9FTEVNXzE2MAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMTYyKF8pIEJPT1NUX1BQX1NFUV9FTEVNXzE2MQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMTYzKF8pIEJPT1NUX1BQX1NFUV9FTEVNXzE2MgorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMTY0KF8pIEJPT1NUX1BQX1NFUV9FTEVNXzE2MworIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMTY1KF8pIEJPT1NUX1BQX1NFUV9FTEVNXzE2NAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMTY2KF8pIEJPT1NUX1BQX1NFUV9FTEVNXzE2NQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMTY3KF8pIEJPT1NUX1BQX1NFUV9FTEVNXzE2NgorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMTY4KF8pIEJPT1NUX1BQX1NFUV9FTEVNXzE2NworIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMTY5KF8pIEJPT1NUX1BQX1NFUV9FTEVNXzE2OAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMTcwKF8pIEJPT1NUX1BQX1NFUV9FTEVNXzE2OQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMTcxKF8pIEJPT1NUX1BQX1NFUV9FTEVNXzE3MAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMTcyKF8pIEJPT1NUX1BQX1NFUV9FTEVNXzE3MQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMTczKF8pIEJPT1NUX1BQX1NFUV9FTEVNXzE3MgorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMTc0KF8pIEJPT1NUX1BQX1NFUV9FTEVNXzE3MworIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMTc1KF8pIEJPT1NUX1BQX1NFUV9FTEVNXzE3NAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMTc2KF8pIEJPT1NUX1BQX1NFUV9FTEVNXzE3NQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMTc3KF8pIEJPT1NUX1BQX1NFUV9FTEVNXzE3NgorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMTc4KF8pIEJPT1NUX1BQX1NFUV9FTEVNXzE3NworIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMTc5KF8pIEJPT1NUX1BQX1NFUV9FTEVNXzE3OAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMTgwKF8pIEJPT1NUX1BQX1NFUV9FTEVNXzE3OQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMTgxKF8pIEJPT1NUX1BQX1NFUV9FTEVNXzE4MAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMTgyKF8pIEJPT1NUX1BQX1NFUV9FTEVNXzE4MQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMTgzKF8pIEJPT1NUX1BQX1NFUV9FTEVNXzE4MgorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMTg0KF8pIEJPT1NUX1BQX1NFUV9FTEVNXzE4MworIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMTg1KF8pIEJPT1NUX1BQX1NFUV9FTEVNXzE4NAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMTg2KF8pIEJPT1NUX1BQX1NFUV9FTEVNXzE4NQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMTg3KF8pIEJPT1NUX1BQX1NFUV9FTEVNXzE4NgorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMTg4KF8pIEJPT1NUX1BQX1NFUV9FTEVNXzE4NworIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMTg5KF8pIEJPT1NUX1BQX1NFUV9FTEVNXzE4OAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMTkwKF8pIEJPT1NUX1BQX1NFUV9FTEVNXzE4OQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMTkxKF8pIEJPT1NUX1BQX1NFUV9FTEVNXzE5MAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMTkyKF8pIEJPT1NUX1BQX1NFUV9FTEVNXzE5MQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMTkzKF8pIEJPT1NUX1BQX1NFUV9FTEVNXzE5MgorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMTk0KF8pIEJPT1NUX1BQX1NFUV9FTEVNXzE5MworIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMTk1KF8pIEJPT1NUX1BQX1NFUV9FTEVNXzE5NAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMTk2KF8pIEJPT1NUX1BQX1NFUV9FTEVNXzE5NQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMTk3KF8pIEJPT1NUX1BQX1NFUV9FTEVNXzE5NgorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMTk4KF8pIEJPT1NUX1BQX1NFUV9FTEVNXzE5NworIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMTk5KF8pIEJPT1NUX1BQX1NFUV9FTEVNXzE5OAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMjAwKF8pIEJPT1NUX1BQX1NFUV9FTEVNXzE5OQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMjAxKF8pIEJPT1NUX1BQX1NFUV9FTEVNXzIwMAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMjAyKF8pIEJPT1NUX1BQX1NFUV9FTEVNXzIwMQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMjAzKF8pIEJPT1NUX1BQX1NFUV9FTEVNXzIwMgorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMjA0KF8pIEJPT1NUX1BQX1NFUV9FTEVNXzIwMworIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMjA1KF8pIEJPT1NUX1BQX1NFUV9FTEVNXzIwNAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMjA2KF8pIEJPT1NUX1BQX1NFUV9FTEVNXzIwNQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMjA3KF8pIEJPT1NUX1BQX1NFUV9FTEVNXzIwNgorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMjA4KF8pIEJPT1NUX1BQX1NFUV9FTEVNXzIwNworIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMjA5KF8pIEJPT1NUX1BQX1NFUV9FTEVNXzIwOAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMjEwKF8pIEJPT1NUX1BQX1NFUV9FTEVNXzIwOQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMjExKF8pIEJPT1NUX1BQX1NFUV9FTEVNXzIxMAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMjEyKF8pIEJPT1NUX1BQX1NFUV9FTEVNXzIxMQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMjEzKF8pIEJPT1NUX1BQX1NFUV9FTEVNXzIxMgorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMjE0KF8pIEJPT1NUX1BQX1NFUV9FTEVNXzIxMworIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMjE1KF8pIEJPT1NUX1BQX1NFUV9FTEVNXzIxNAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMjE2KF8pIEJPT1NUX1BQX1NFUV9FTEVNXzIxNQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMjE3KF8pIEJPT1NUX1BQX1NFUV9FTEVNXzIxNgorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMjE4KF8pIEJPT1NUX1BQX1NFUV9FTEVNXzIxNworIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMjE5KF8pIEJPT1NUX1BQX1NFUV9FTEVNXzIxOAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMjIwKF8pIEJPT1NUX1BQX1NFUV9FTEVNXzIxOQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMjIxKF8pIEJPT1NUX1BQX1NFUV9FTEVNXzIyMAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMjIyKF8pIEJPT1NUX1BQX1NFUV9FTEVNXzIyMQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMjIzKF8pIEJPT1NUX1BQX1NFUV9FTEVNXzIyMgorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMjI0KF8pIEJPT1NUX1BQX1NFUV9FTEVNXzIyMworIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMjI1KF8pIEJPT1NUX1BQX1NFUV9FTEVNXzIyNAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMjI2KF8pIEJPT1NUX1BQX1NFUV9FTEVNXzIyNQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMjI3KF8pIEJPT1NUX1BQX1NFUV9FTEVNXzIyNgorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMjI4KF8pIEJPT1NUX1BQX1NFUV9FTEVNXzIyNworIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMjI5KF8pIEJPT1NUX1BQX1NFUV9FTEVNXzIyOAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMjMwKF8pIEJPT1NUX1BQX1NFUV9FTEVNXzIyOQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMjMxKF8pIEJPT1NUX1BQX1NFUV9FTEVNXzIzMAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMjMyKF8pIEJPT1NUX1BQX1NFUV9FTEVNXzIzMQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMjMzKF8pIEJPT1NUX1BQX1NFUV9FTEVNXzIzMgorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMjM0KF8pIEJPT1NUX1BQX1NFUV9FTEVNXzIzMworIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMjM1KF8pIEJPT1NUX1BQX1NFUV9FTEVNXzIzNAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMjM2KF8pIEJPT1NUX1BQX1NFUV9FTEVNXzIzNQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMjM3KF8pIEJPT1NUX1BQX1NFUV9FTEVNXzIzNgorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMjM4KF8pIEJPT1NUX1BQX1NFUV9FTEVNXzIzNworIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMjM5KF8pIEJPT1NUX1BQX1NFUV9FTEVNXzIzOAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMjQwKF8pIEJPT1NUX1BQX1NFUV9FTEVNXzIzOQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMjQxKF8pIEJPT1NUX1BQX1NFUV9FTEVNXzI0MAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMjQyKF8pIEJPT1NUX1BQX1NFUV9FTEVNXzI0MQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMjQzKF8pIEJPT1NUX1BQX1NFUV9FTEVNXzI0MgorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMjQ0KF8pIEJPT1NUX1BQX1NFUV9FTEVNXzI0MworIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMjQ1KF8pIEJPT1NUX1BQX1NFUV9FTEVNXzI0NAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMjQ2KF8pIEJPT1NUX1BQX1NFUV9FTEVNXzI0NQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMjQ3KF8pIEJPT1NUX1BQX1NFUV9FTEVNXzI0NgorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMjQ4KF8pIEJPT1NUX1BQX1NFUV9FTEVNXzI0NworIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMjQ5KF8pIEJPT1NUX1BQX1NFUV9FTEVNXzI0OAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMjUwKF8pIEJPT1NUX1BQX1NFUV9FTEVNXzI0OQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMjUxKF8pIEJPT1NUX1BQX1NFUV9FTEVNXzI1MAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMjUyKF8pIEJPT1NUX1BQX1NFUV9FTEVNXzI1MQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMjUzKF8pIEJPT1NUX1BQX1NFUV9FTEVNXzI1MgorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMjU0KF8pIEJPT1NUX1BQX1NFUV9FTEVNXzI1MworIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VMRU1fMjU1KF8pIEJPT1NUX1BQX1NFUV9FTEVNXzI1NAorIworIyBlbmRpZgpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvcHJlcHJvY2Vzc29yL3NlcS9lbnVtLmhwcCBiL25kbmJvb3N0L3ByZXByb2Nlc3Nvci9zZXEvZW51bS5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTcyMjdmMAotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L3ByZXByb2Nlc3Nvci9zZXEvZW51bS5ocHAKQEAgLTAsMCArMSwyODggQEAKKyMgLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyMgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoKKyMgICogICAgIChDKSBDb3B5cmlnaHQgUGF1bCBNZW5zb25pZGVzIDIwMDIuCisjICAqICAgICBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIChTZWUKKyMgICogICAgIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0CisjICAqICAgICBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisjICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqCisjICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqLworIworIyAvKiBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcgZm9yIG1vc3QgcmVjZW50IHZlcnNpb24uICovCisjCisjIGlmbmRlZiBCT09TVF9QUkVQUk9DRVNTT1JfU0VRX0VOVU1fSFBQCisjIGRlZmluZSBCT09TVF9QUkVQUk9DRVNTT1JfU0VRX0VOVU1fSFBQCisjCisjIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9jYXQuaHBwPgorIyBpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3IvY29uZmlnL2NvbmZpZy5ocHA+CisjIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9zZXEvc2l6ZS5ocHA+CisjCisjIC8qIEJPT1NUX1BQX1NFUV9FTlVNICovCisjCisjIGlmIEJPT1NUX1BQX0NPTkZJR19GTEFHUygpICYgQk9PU1RfUFBfQ09ORklHX0VERygpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTShzZXEpIEJPT1NUX1BQX1NFUV9FTlVNX0koc2VxKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0VOVU1fSShzZXEpIEJPT1NUX1BQX0NBVChCT09TVF9QUF9TRVFfRU5VTV8sIEJPT1NUX1BQX1NFUV9TSVpFKHNlcSkpIHNlcQorIyBlbGlmIEJPT1NUX1BQX0NPTkZJR19GTEFHUygpICYgQk9PU1RfUFBfQ09ORklHX01XQ0MoKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0VOVU0oc2VxKSBCT09TVF9QUF9TRVFfRU5VTV9JKEJPT1NUX1BQX1NFUV9TSVpFKHNlcSksIHNlcSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9FTlVNX0koc2l6ZSwgc2VxKSBCT09TVF9QUF9DQVQoQk9PU1RfUFBfU0VRX0VOVU1fLCBzaXplKSBzZXEKKyMgZWxzZQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0VOVU0oc2VxKSBCT09TVF9QUF9DQVQoQk9PU1RfUFBfU0VRX0VOVU1fLCBCT09TVF9QUF9TRVFfU0laRShzZXEpKSBzZXEKKyMgZW5kaWYKKyMKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9FTlVNXzEoeCkgeAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VOVU1fMih4KSB4LCBCT09TVF9QUF9TRVFfRU5VTV8xCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8zKHgpIHgsIEJPT1NUX1BQX1NFUV9FTlVNXzIKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9FTlVNXzQoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMworIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VOVU1fNSh4KSB4LCBCT09TVF9QUF9TRVFfRU5VTV80CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV82KHgpIHgsIEJPT1NUX1BQX1NFUV9FTlVNXzUKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9FTlVNXzcoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fNgorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VOVU1fOCh4KSB4LCBCT09TVF9QUF9TRVFfRU5VTV83CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV85KHgpIHgsIEJPT1NUX1BQX1NFUV9FTlVNXzgKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9FTlVNXzEwKHgpIHgsIEJPT1NUX1BQX1NFUV9FTlVNXzkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9FTlVNXzExKHgpIHgsIEJPT1NUX1BQX1NFUV9FTlVNXzEwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8xMih4KSB4LCBCT09TVF9QUF9TRVFfRU5VTV8xMQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VOVU1fMTMoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMTIKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9FTlVNXzE0KHgpIHgsIEJPT1NUX1BQX1NFUV9FTlVNXzEzCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8xNSh4KSB4LCBCT09TVF9QUF9TRVFfRU5VTV8xNAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VOVU1fMTYoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMTUKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9FTlVNXzE3KHgpIHgsIEJPT1NUX1BQX1NFUV9FTlVNXzE2CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8xOCh4KSB4LCBCT09TVF9QUF9TRVFfRU5VTV8xNworIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VOVU1fMTkoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMTgKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9FTlVNXzIwKHgpIHgsIEJPT1NUX1BQX1NFUV9FTlVNXzE5CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8yMSh4KSB4LCBCT09TVF9QUF9TRVFfRU5VTV8yMAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VOVU1fMjIoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMjEKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9FTlVNXzIzKHgpIHgsIEJPT1NUX1BQX1NFUV9FTlVNXzIyCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8yNCh4KSB4LCBCT09TVF9QUF9TRVFfRU5VTV8yMworIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VOVU1fMjUoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMjQKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9FTlVNXzI2KHgpIHgsIEJPT1NUX1BQX1NFUV9FTlVNXzI1CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8yNyh4KSB4LCBCT09TVF9QUF9TRVFfRU5VTV8yNgorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VOVU1fMjgoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMjcKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9FTlVNXzI5KHgpIHgsIEJPT1NUX1BQX1NFUV9FTlVNXzI4CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8zMCh4KSB4LCBCT09TVF9QUF9TRVFfRU5VTV8yOQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VOVU1fMzEoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMzAKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9FTlVNXzMyKHgpIHgsIEJPT1NUX1BQX1NFUV9FTlVNXzMxCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8zMyh4KSB4LCBCT09TVF9QUF9TRVFfRU5VTV8zMgorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VOVU1fMzQoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMzMKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9FTlVNXzM1KHgpIHgsIEJPT1NUX1BQX1NFUV9FTlVNXzM0CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8zNih4KSB4LCBCT09TVF9QUF9TRVFfRU5VTV8zNQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VOVU1fMzcoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMzYKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9FTlVNXzM4KHgpIHgsIEJPT1NUX1BQX1NFUV9FTlVNXzM3CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8zOSh4KSB4LCBCT09TVF9QUF9TRVFfRU5VTV8zOAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VOVU1fNDAoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMzkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9FTlVNXzQxKHgpIHgsIEJPT1NUX1BQX1NFUV9FTlVNXzQwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV80Mih4KSB4LCBCT09TVF9QUF9TRVFfRU5VTV80MQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VOVU1fNDMoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fNDIKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9FTlVNXzQ0KHgpIHgsIEJPT1NUX1BQX1NFUV9FTlVNXzQzCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV80NSh4KSB4LCBCT09TVF9QUF9TRVFfRU5VTV80NAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VOVU1fNDYoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fNDUKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9FTlVNXzQ3KHgpIHgsIEJPT1NUX1BQX1NFUV9FTlVNXzQ2CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV80OCh4KSB4LCBCT09TVF9QUF9TRVFfRU5VTV80NworIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VOVU1fNDkoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fNDgKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9FTlVNXzUwKHgpIHgsIEJPT1NUX1BQX1NFUV9FTlVNXzQ5CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV81MSh4KSB4LCBCT09TVF9QUF9TRVFfRU5VTV81MAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VOVU1fNTIoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fNTEKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9FTlVNXzUzKHgpIHgsIEJPT1NUX1BQX1NFUV9FTlVNXzUyCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV81NCh4KSB4LCBCT09TVF9QUF9TRVFfRU5VTV81MworIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VOVU1fNTUoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fNTQKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9FTlVNXzU2KHgpIHgsIEJPT1NUX1BQX1NFUV9FTlVNXzU1CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV81Nyh4KSB4LCBCT09TVF9QUF9TRVFfRU5VTV81NgorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VOVU1fNTgoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fNTcKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9FTlVNXzU5KHgpIHgsIEJPT1NUX1BQX1NFUV9FTlVNXzU4CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV82MCh4KSB4LCBCT09TVF9QUF9TRVFfRU5VTV81OQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VOVU1fNjEoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fNjAKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9FTlVNXzYyKHgpIHgsIEJPT1NUX1BQX1NFUV9FTlVNXzYxCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV82Myh4KSB4LCBCT09TVF9QUF9TRVFfRU5VTV82MgorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VOVU1fNjQoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fNjMKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9FTlVNXzY1KHgpIHgsIEJPT1NUX1BQX1NFUV9FTlVNXzY0CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV82Nih4KSB4LCBCT09TVF9QUF9TRVFfRU5VTV82NQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VOVU1fNjcoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fNjYKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9FTlVNXzY4KHgpIHgsIEJPT1NUX1BQX1NFUV9FTlVNXzY3CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV82OSh4KSB4LCBCT09TVF9QUF9TRVFfRU5VTV82OAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VOVU1fNzAoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fNjkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9FTlVNXzcxKHgpIHgsIEJPT1NUX1BQX1NFUV9FTlVNXzcwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV83Mih4KSB4LCBCT09TVF9QUF9TRVFfRU5VTV83MQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VOVU1fNzMoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fNzIKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9FTlVNXzc0KHgpIHgsIEJPT1NUX1BQX1NFUV9FTlVNXzczCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV83NSh4KSB4LCBCT09TVF9QUF9TRVFfRU5VTV83NAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VOVU1fNzYoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fNzUKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9FTlVNXzc3KHgpIHgsIEJPT1NUX1BQX1NFUV9FTlVNXzc2CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV83OCh4KSB4LCBCT09TVF9QUF9TRVFfRU5VTV83NworIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VOVU1fNzkoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fNzgKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9FTlVNXzgwKHgpIHgsIEJPT1NUX1BQX1NFUV9FTlVNXzc5CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV84MSh4KSB4LCBCT09TVF9QUF9TRVFfRU5VTV84MAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VOVU1fODIoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fODEKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9FTlVNXzgzKHgpIHgsIEJPT1NUX1BQX1NFUV9FTlVNXzgyCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV84NCh4KSB4LCBCT09TVF9QUF9TRVFfRU5VTV84MworIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VOVU1fODUoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fODQKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9FTlVNXzg2KHgpIHgsIEJPT1NUX1BQX1NFUV9FTlVNXzg1CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV84Nyh4KSB4LCBCT09TVF9QUF9TRVFfRU5VTV84NgorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VOVU1fODgoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fODcKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9FTlVNXzg5KHgpIHgsIEJPT1NUX1BQX1NFUV9FTlVNXzg4CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV85MCh4KSB4LCBCT09TVF9QUF9TRVFfRU5VTV84OQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VOVU1fOTEoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fOTAKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9FTlVNXzkyKHgpIHgsIEJPT1NUX1BQX1NFUV9FTlVNXzkxCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV85Myh4KSB4LCBCT09TVF9QUF9TRVFfRU5VTV85MgorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VOVU1fOTQoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fOTMKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9FTlVNXzk1KHgpIHgsIEJPT1NUX1BQX1NFUV9FTlVNXzk0CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV85Nih4KSB4LCBCT09TVF9QUF9TRVFfRU5VTV85NQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VOVU1fOTcoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fOTYKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9FTlVNXzk4KHgpIHgsIEJPT1NUX1BQX1NFUV9FTlVNXzk3CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV85OSh4KSB4LCBCT09TVF9QUF9TRVFfRU5VTV85OAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0VOVU1fMTAwKHgpIHgsIEJPT1NUX1BQX1NFUV9FTlVNXzk5CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8xMDEoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMTAwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8xMDIoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMTAxCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8xMDMoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMTAyCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8xMDQoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMTAzCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8xMDUoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMTA0CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8xMDYoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMTA1CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8xMDcoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMTA2CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8xMDgoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMTA3CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8xMDkoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMTA4CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8xMTAoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMTA5CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8xMTEoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMTEwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8xMTIoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMTExCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8xMTMoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMTEyCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8xMTQoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMTEzCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8xMTUoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMTE0CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8xMTYoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMTE1CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8xMTcoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMTE2CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8xMTgoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMTE3CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8xMTkoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMTE4CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8xMjAoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMTE5CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8xMjEoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMTIwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8xMjIoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMTIxCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8xMjMoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMTIyCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8xMjQoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMTIzCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8xMjUoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMTI0CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8xMjYoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMTI1CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8xMjcoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMTI2CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8xMjgoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMTI3CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8xMjkoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMTI4CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8xMzAoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMTI5CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8xMzEoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMTMwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8xMzIoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMTMxCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8xMzMoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMTMyCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8xMzQoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMTMzCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8xMzUoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMTM0CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8xMzYoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMTM1CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8xMzcoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMTM2CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8xMzgoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMTM3CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8xMzkoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMTM4CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8xNDAoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMTM5CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8xNDEoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMTQwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8xNDIoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMTQxCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8xNDMoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMTQyCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8xNDQoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMTQzCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8xNDUoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMTQ0CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8xNDYoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMTQ1CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8xNDcoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMTQ2CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8xNDgoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMTQ3CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8xNDkoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMTQ4CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8xNTAoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMTQ5CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8xNTEoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMTUwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8xNTIoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMTUxCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8xNTMoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMTUyCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8xNTQoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMTUzCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8xNTUoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMTU0CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8xNTYoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMTU1CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8xNTcoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMTU2CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8xNTgoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMTU3CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8xNTkoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMTU4CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8xNjAoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMTU5CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8xNjEoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMTYwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8xNjIoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMTYxCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8xNjMoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMTYyCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8xNjQoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMTYzCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8xNjUoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMTY0CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8xNjYoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMTY1CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8xNjcoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMTY2CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8xNjgoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMTY3CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8xNjkoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMTY4CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8xNzAoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMTY5CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8xNzEoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMTcwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8xNzIoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMTcxCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8xNzMoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMTcyCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8xNzQoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMTczCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8xNzUoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMTc0CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8xNzYoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMTc1CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8xNzcoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMTc2CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8xNzgoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMTc3CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8xNzkoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMTc4CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8xODAoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMTc5CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8xODEoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMTgwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8xODIoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMTgxCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8xODMoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMTgyCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8xODQoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMTgzCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8xODUoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMTg0CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8xODYoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMTg1CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8xODcoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMTg2CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8xODgoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMTg3CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8xODkoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMTg4CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8xOTAoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMTg5CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8xOTEoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMTkwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8xOTIoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMTkxCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8xOTMoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMTkyCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8xOTQoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMTkzCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8xOTUoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMTk0CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8xOTYoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMTk1CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8xOTcoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMTk2CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8xOTgoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMTk3CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8xOTkoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMTk4CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8yMDAoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMTk5CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8yMDEoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMjAwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8yMDIoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMjAxCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8yMDMoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMjAyCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8yMDQoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMjAzCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8yMDUoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMjA0CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8yMDYoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMjA1CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8yMDcoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMjA2CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8yMDgoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMjA3CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8yMDkoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMjA4CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8yMTAoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMjA5CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8yMTEoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMjEwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8yMTIoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMjExCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8yMTMoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMjEyCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8yMTQoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMjEzCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8yMTUoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMjE0CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8yMTYoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMjE1CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8yMTcoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMjE2CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8yMTgoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMjE3CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8yMTkoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMjE4CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8yMjAoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMjE5CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8yMjEoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMjIwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8yMjIoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMjIxCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8yMjMoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMjIyCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8yMjQoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMjIzCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8yMjUoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMjI0CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8yMjYoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMjI1CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8yMjcoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMjI2CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8yMjgoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMjI3CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8yMjkoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMjI4CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8yMzAoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMjI5CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8yMzEoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMjMwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8yMzIoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMjMxCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8yMzMoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMjMyCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8yMzQoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMjMzCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8yMzUoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMjM0CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8yMzYoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMjM1CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8yMzcoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMjM2CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8yMzgoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMjM3CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8yMzkoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMjM4CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8yNDAoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMjM5CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8yNDEoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMjQwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8yNDIoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMjQxCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8yNDMoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMjQyCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8yNDQoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMjQzCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8yNDUoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMjQ0CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8yNDYoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMjQ1CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8yNDcoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMjQ2CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8yNDgoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMjQ3CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8yNDkoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMjQ4CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8yNTAoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMjQ5CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8yNTEoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMjUwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8yNTIoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMjUxCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8yNTMoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMjUyCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8yNTQoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMjUzCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8yNTUoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMjU0CisjIGRlZmluZSBCT09TVF9QUF9TRVFfRU5VTV8yNTYoeCkgeCwgQk9PU1RfUFBfU0VRX0VOVU1fMjU1CisjCisjIGVuZGlmCmRpZmYgLS1naXQgYS9uZG5ib29zdC9wcmVwcm9jZXNzb3Ivc2VxL2ZpcnN0X24uaHBwIGIvbmRuYm9vc3QvcHJlcHJvY2Vzc29yL3NlcS9maXJzdF9uLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNjljZWM4Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvcHJlcHJvY2Vzc29yL3NlcS9maXJzdF9uLmhwcApAQCAtMCwwICsxLDMwIEBACisjIC8qICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisjICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqCisjICAqICAgICAoQykgQ29weXJpZ2h0IFBhdWwgTWVuc29uaWRlcyAyMDAyLgorIyAgKiAgICAgRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAoU2VlCisjICAqICAgICBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdAorIyAgKiAgICAgaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorIyAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKgorIyAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi8KKyMKKyMgLyogU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnIGZvciBtb3N0IHJlY2VudCB2ZXJzaW9uLiAqLworIworIyBpZm5kZWYgQk9PU1RfUFJFUFJPQ0VTU09SX1NFUV9GSVJTVF9OX0hQUAorIyBkZWZpbmUgQk9PU1RfUFJFUFJPQ0VTU09SX1NFUV9GSVJTVF9OX0hQUAorIworIyBpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3IvY29uZmlnL2NvbmZpZy5ocHA+CisjIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9jb250cm9sL2lmLmhwcD4KKyMgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL3NlcS9kZXRhaWwvc3BsaXQuaHBwPgorIyBpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3IvdHVwbGUvZWF0LmhwcD4KKyMgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL3R1cGxlL2VsZW0uaHBwPgorIworIyAvKiBCT09TVF9QUF9TRVFfRklSU1RfTiAqLworIworIyBpZiB+Qk9PU1RfUFBfQ09ORklHX0ZMQUdTKCkgJiBCT09TVF9QUF9DT05GSUdfRURHKCkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9GSVJTVF9OKG4sIHNlcSkgQk9PU1RfUFBfSUYobiwgQk9PU1RfUFBfVFVQTEVfRUxFTSwgQk9PU1RfUFBfVFVQTEVfRUFUXzMpKDIsIDAsIEJPT1NUX1BQX1NFUV9TUExJVChuLCBzZXEgKG5pbCkpKQorIyBlbHNlCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRklSU1RfTihuLCBzZXEpIEJPT1NUX1BQX1NFUV9GSVJTVF9OX0kobiwgc2VxKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZJUlNUX05fSShuLCBzZXEpIEJPT1NUX1BQX0lGKG4sIEJPT1NUX1BQX1RVUExFX0VMRU0sIEJPT1NUX1BQX1RVUExFX0VBVF8zKSgyLCAwLCBCT09TVF9QUF9TRVFfU1BMSVQobiwgc2VxIChuaWwpKSkKKyMgZW5kaWYKKyMKKyMgZW5kaWYKZGlmZiAtLWdpdCBhL25kbmJvb3N0L3ByZXByb2Nlc3Nvci9zZXEvZm9sZF9sZWZ0LmhwcCBiL25kbmJvb3N0L3ByZXByb2Nlc3Nvci9zZXEvZm9sZF9sZWZ0LmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNjg3N2RlCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvcHJlcHJvY2Vzc29yL3NlcS9mb2xkX2xlZnQuaHBwCkBAIC0wLDAgKzEsMTA3MCBAQAorIyAvKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorIyAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKgorIyAgKiAgICAgKEMpIENvcHlyaWdodCBQYXVsIE1lbnNvbmlkZXMgMjAwMi4KKyMgICogICAgIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gKFNlZQorIyAgKiAgICAgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQKKyMgICogICAgIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKyMgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoKKyMgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovCisjCisjIC8qIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZyBmb3IgbW9zdCByZWNlbnQgdmVyc2lvbi4gKi8KKyMKKyMgaWZuZGVmIEJPT1NUX1BSRVBST0NFU1NPUl9TRVFfRk9MRF9MRUZUX0hQUAorIyBkZWZpbmUgQk9PU1RfUFJFUFJPQ0VTU09SX1NFUV9GT0xEX0xFRlRfSFBQCisjCisjIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9hcml0aG1ldGljL2RlYy5ocHA+CisjIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9jYXQuaHBwPgorIyBpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3IvY29udHJvbC9pZi5ocHA+CisjIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9kZWJ1Zy9lcnJvci5ocHA+CisjIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9kZXRhaWwvYXV0b19yZWMuaHBwPgorIyBpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3Ivc2VxL3NlcS5ocHA+CisjIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9zZXEvc2l6ZS5ocHA+CisjCisjIC8qIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlQgKi8KKyMKKyMgaWYgMAorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVChvcCwgc3RhdGUsIHNlcSkgLi4uCisjIGVuZGlmCisjCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUIEJPT1NUX1BQX0NBVChCT09TVF9QUF9TRVFfRk9MRF9MRUZUXywgQk9PU1RfUFBfQVVUT19SRUMoQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9QLCAyNTYpKQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9QKG4pIEJPT1NUX1BQX0NBVChCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0NIRUNLXywgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXyAjIyBuKEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfTywgQk9PU1RfUFBfTklMLCAobmlsKSwgMSkpCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX08ocywgc3QsIF8pIHN0CisjCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUXzI1NyhvcCwgc3QsIHNzKSBCT09TVF9QUF9FUlJPUigweDAwMDUpCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjU3KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9FUlJPUigweDAwMDUpCisjCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0NIRUNLX0JPT1NUX1BQX05JTCAxCisjCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0NIRUNLX0JPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xKG9wLCBzdCwgc3MsIHN6KSAwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0NIRUNLX0JPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8yKG9wLCBzdCwgc3MsIHN6KSAwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0NIRUNLX0JPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8zKG9wLCBzdCwgc3MsIHN6KSAwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0NIRUNLX0JPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV80KG9wLCBzdCwgc3MsIHN6KSAwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0NIRUNLX0JPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV81KG9wLCBzdCwgc3MsIHN6KSAwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0NIRUNLX0JPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV82KG9wLCBzdCwgc3MsIHN6KSAwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0NIRUNLX0JPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV83KG9wLCBzdCwgc3MsIHN6KSAwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0NIRUNLX0JPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV84KG9wLCBzdCwgc3MsIHN6KSAwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0NIRUNLX0JPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV85KG9wLCBzdCwgc3MsIHN6KSAwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0NIRUNLX0JPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xMChvcCwgc3QsIHNzLCBzeikgMAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9DSEVDS19CT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTEob3AsIHN0LCBzcywgc3opIDAKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfQ0hFQ0tfQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzEyKG9wLCBzdCwgc3MsIHN6KSAwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0NIRUNLX0JPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xMyhvcCwgc3QsIHNzLCBzeikgMAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9DSEVDS19CT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTQob3AsIHN0LCBzcywgc3opIDAKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfQ0hFQ0tfQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzE1KG9wLCBzdCwgc3MsIHN6KSAwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0NIRUNLX0JPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xNihvcCwgc3QsIHNzLCBzeikgMAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9DSEVDS19CT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTcob3AsIHN0LCBzcywgc3opIDAKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfQ0hFQ0tfQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzE4KG9wLCBzdCwgc3MsIHN6KSAwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0NIRUNLX0JPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xOShvcCwgc3QsIHNzLCBzeikgMAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9DSEVDS19CT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjAob3AsIHN0LCBzcywgc3opIDAKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfQ0hFQ0tfQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzIxKG9wLCBzdCwgc3MsIHN6KSAwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0NIRUNLX0JPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8yMihvcCwgc3QsIHNzLCBzeikgMAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9DSEVDS19CT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjMob3AsIHN0LCBzcywgc3opIDAKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfQ0hFQ0tfQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzI0KG9wLCBzdCwgc3MsIHN6KSAwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0NIRUNLX0JPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8yNShvcCwgc3QsIHNzLCBzeikgMAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9DSEVDS19CT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjYob3AsIHN0LCBzcywgc3opIDAKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfQ0hFQ0tfQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzI3KG9wLCBzdCwgc3MsIHN6KSAwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0NIRUNLX0JPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8yOChvcCwgc3QsIHNzLCBzeikgMAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9DSEVDS19CT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjkob3AsIHN0LCBzcywgc3opIDAKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfQ0hFQ0tfQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzMwKG9wLCBzdCwgc3MsIHN6KSAwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0NIRUNLX0JPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8zMShvcCwgc3QsIHNzLCBzeikgMAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9DSEVDS19CT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMzIob3AsIHN0LCBzcywgc3opIDAKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfQ0hFQ0tfQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzMzKG9wLCBzdCwgc3MsIHN6KSAwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0NIRUNLX0JPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8zNChvcCwgc3QsIHNzLCBzeikgMAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9DSEVDS19CT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMzUob3AsIHN0LCBzcywgc3opIDAKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfQ0hFQ0tfQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzM2KG9wLCBzdCwgc3MsIHN6KSAwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0NIRUNLX0JPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8zNyhvcCwgc3QsIHNzLCBzeikgMAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9DSEVDS19CT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMzgob3AsIHN0LCBzcywgc3opIDAKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfQ0hFQ0tfQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzM5KG9wLCBzdCwgc3MsIHN6KSAwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0NIRUNLX0JPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV80MChvcCwgc3QsIHNzLCBzeikgMAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9DSEVDS19CT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfNDEob3AsIHN0LCBzcywgc3opIDAKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfQ0hFQ0tfQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzQyKG9wLCBzdCwgc3MsIHN6KSAwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0NIRUNLX0JPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV80MyhvcCwgc3QsIHNzLCBzeikgMAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9DSEVDS19CT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfNDQob3AsIHN0LCBzcywgc3opIDAKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfQ0hFQ0tfQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzQ1KG9wLCBzdCwgc3MsIHN6KSAwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0NIRUNLX0JPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV80NihvcCwgc3QsIHNzLCBzeikgMAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9DSEVDS19CT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfNDcob3AsIHN0LCBzcywgc3opIDAKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfQ0hFQ0tfQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzQ4KG9wLCBzdCwgc3MsIHN6KSAwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0NIRUNLX0JPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV80OShvcCwgc3QsIHNzLCBzeikgMAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9DSEVDS19CT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfNTAob3AsIHN0LCBzcywgc3opIDAKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfQ0hFQ0tfQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzUxKG9wLCBzdCwgc3MsIHN6KSAwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0NIRUNLX0JPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV81MihvcCwgc3QsIHNzLCBzeikgMAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9DSEVDS19CT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfNTMob3AsIHN0LCBzcywgc3opIDAKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfQ0hFQ0tfQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzU0KG9wLCBzdCwgc3MsIHN6KSAwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0NIRUNLX0JPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV81NShvcCwgc3QsIHNzLCBzeikgMAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9DSEVDS19CT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfNTYob3AsIHN0LCBzcywgc3opIDAKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfQ0hFQ0tfQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzU3KG9wLCBzdCwgc3MsIHN6KSAwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0NIRUNLX0JPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV81OChvcCwgc3QsIHNzLCBzeikgMAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9DSEVDS19CT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfNTkob3AsIHN0LCBzcywgc3opIDAKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfQ0hFQ0tfQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzYwKG9wLCBzdCwgc3MsIHN6KSAwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0NIRUNLX0JPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV82MShvcCwgc3QsIHNzLCBzeikgMAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9DSEVDS19CT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfNjIob3AsIHN0LCBzcywgc3opIDAKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfQ0hFQ0tfQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzYzKG9wLCBzdCwgc3MsIHN6KSAwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0NIRUNLX0JPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV82NChvcCwgc3QsIHNzLCBzeikgMAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9DSEVDS19CT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfNjUob3AsIHN0LCBzcywgc3opIDAKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfQ0hFQ0tfQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzY2KG9wLCBzdCwgc3MsIHN6KSAwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0NIRUNLX0JPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV82NyhvcCwgc3QsIHNzLCBzeikgMAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9DSEVDS19CT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfNjgob3AsIHN0LCBzcywgc3opIDAKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfQ0hFQ0tfQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzY5KG9wLCBzdCwgc3MsIHN6KSAwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0NIRUNLX0JPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV83MChvcCwgc3QsIHNzLCBzeikgMAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9DSEVDS19CT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfNzEob3AsIHN0LCBzcywgc3opIDAKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfQ0hFQ0tfQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzcyKG9wLCBzdCwgc3MsIHN6KSAwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0NIRUNLX0JPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV83MyhvcCwgc3QsIHNzLCBzeikgMAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9DSEVDS19CT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfNzQob3AsIHN0LCBzcywgc3opIDAKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfQ0hFQ0tfQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzc1KG9wLCBzdCwgc3MsIHN6KSAwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0NIRUNLX0JPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV83NihvcCwgc3QsIHNzLCBzeikgMAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9DSEVDS19CT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfNzcob3AsIHN0LCBzcywgc3opIDAKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfQ0hFQ0tfQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzc4KG9wLCBzdCwgc3MsIHN6KSAwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0NIRUNLX0JPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV83OShvcCwgc3QsIHNzLCBzeikgMAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9DSEVDS19CT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfODAob3AsIHN0LCBzcywgc3opIDAKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfQ0hFQ0tfQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzgxKG9wLCBzdCwgc3MsIHN6KSAwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0NIRUNLX0JPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV84MihvcCwgc3QsIHNzLCBzeikgMAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9DSEVDS19CT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfODMob3AsIHN0LCBzcywgc3opIDAKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfQ0hFQ0tfQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzg0KG9wLCBzdCwgc3MsIHN6KSAwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0NIRUNLX0JPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV84NShvcCwgc3QsIHNzLCBzeikgMAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9DSEVDS19CT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfODYob3AsIHN0LCBzcywgc3opIDAKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfQ0hFQ0tfQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzg3KG9wLCBzdCwgc3MsIHN6KSAwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0NIRUNLX0JPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV84OChvcCwgc3QsIHNzLCBzeikgMAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9DSEVDS19CT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfODkob3AsIHN0LCBzcywgc3opIDAKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfQ0hFQ0tfQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzkwKG9wLCBzdCwgc3MsIHN6KSAwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0NIRUNLX0JPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV85MShvcCwgc3QsIHNzLCBzeikgMAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9DSEVDS19CT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfOTIob3AsIHN0LCBzcywgc3opIDAKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfQ0hFQ0tfQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzkzKG9wLCBzdCwgc3MsIHN6KSAwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0NIRUNLX0JPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV85NChvcCwgc3QsIHNzLCBzeikgMAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9DSEVDS19CT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfOTUob3AsIHN0LCBzcywgc3opIDAKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfQ0hFQ0tfQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzk2KG9wLCBzdCwgc3MsIHN6KSAwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0NIRUNLX0JPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV85NyhvcCwgc3QsIHNzLCBzeikgMAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9DSEVDS19CT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfOTgob3AsIHN0LCBzcywgc3opIDAKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfQ0hFQ0tfQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzk5KG9wLCBzdCwgc3MsIHN6KSAwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0NIRUNLX0JPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xMDAob3AsIHN0LCBzcywgc3opIDAKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfQ0hFQ0tfQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzEwMShvcCwgc3QsIHNzLCBzeikgMAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9DSEVDS19CT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTAyKG9wLCBzdCwgc3MsIHN6KSAwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0NIRUNLX0JPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xMDMob3AsIHN0LCBzcywgc3opIDAKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfQ0hFQ0tfQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzEwNChvcCwgc3QsIHNzLCBzeikgMAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9DSEVDS19CT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTA1KG9wLCBzdCwgc3MsIHN6KSAwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0NIRUNLX0JPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xMDYob3AsIHN0LCBzcywgc3opIDAKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfQ0hFQ0tfQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzEwNyhvcCwgc3QsIHNzLCBzeikgMAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9DSEVDS19CT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTA4KG9wLCBzdCwgc3MsIHN6KSAwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0NIRUNLX0JPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xMDkob3AsIHN0LCBzcywgc3opIDAKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfQ0hFQ0tfQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzExMChvcCwgc3QsIHNzLCBzeikgMAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9DSEVDS19CT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTExKG9wLCBzdCwgc3MsIHN6KSAwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0NIRUNLX0JPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xMTIob3AsIHN0LCBzcywgc3opIDAKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfQ0hFQ0tfQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzExMyhvcCwgc3QsIHNzLCBzeikgMAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9DSEVDS19CT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTE0KG9wLCBzdCwgc3MsIHN6KSAwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0NIRUNLX0JPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xMTUob3AsIHN0LCBzcywgc3opIDAKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfQ0hFQ0tfQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzExNihvcCwgc3QsIHNzLCBzeikgMAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9DSEVDS19CT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTE3KG9wLCBzdCwgc3MsIHN6KSAwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0NIRUNLX0JPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xMTgob3AsIHN0LCBzcywgc3opIDAKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfQ0hFQ0tfQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzExOShvcCwgc3QsIHNzLCBzeikgMAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9DSEVDS19CT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTIwKG9wLCBzdCwgc3MsIHN6KSAwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0NIRUNLX0JPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xMjEob3AsIHN0LCBzcywgc3opIDAKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfQ0hFQ0tfQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzEyMihvcCwgc3QsIHNzLCBzeikgMAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9DSEVDS19CT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTIzKG9wLCBzdCwgc3MsIHN6KSAwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0NIRUNLX0JPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xMjQob3AsIHN0LCBzcywgc3opIDAKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfQ0hFQ0tfQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzEyNShvcCwgc3QsIHNzLCBzeikgMAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9DSEVDS19CT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTI2KG9wLCBzdCwgc3MsIHN6KSAwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0NIRUNLX0JPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xMjcob3AsIHN0LCBzcywgc3opIDAKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfQ0hFQ0tfQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzEyOChvcCwgc3QsIHNzLCBzeikgMAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9DSEVDS19CT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTI5KG9wLCBzdCwgc3MsIHN6KSAwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0NIRUNLX0JPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xMzAob3AsIHN0LCBzcywgc3opIDAKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfQ0hFQ0tfQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzEzMShvcCwgc3QsIHNzLCBzeikgMAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9DSEVDS19CT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTMyKG9wLCBzdCwgc3MsIHN6KSAwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0NIRUNLX0JPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xMzMob3AsIHN0LCBzcywgc3opIDAKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfQ0hFQ0tfQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzEzNChvcCwgc3QsIHNzLCBzeikgMAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9DSEVDS19CT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTM1KG9wLCBzdCwgc3MsIHN6KSAwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0NIRUNLX0JPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xMzYob3AsIHN0LCBzcywgc3opIDAKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfQ0hFQ0tfQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzEzNyhvcCwgc3QsIHNzLCBzeikgMAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9DSEVDS19CT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTM4KG9wLCBzdCwgc3MsIHN6KSAwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0NIRUNLX0JPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xMzkob3AsIHN0LCBzcywgc3opIDAKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfQ0hFQ0tfQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzE0MChvcCwgc3QsIHNzLCBzeikgMAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9DSEVDS19CT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTQxKG9wLCBzdCwgc3MsIHN6KSAwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0NIRUNLX0JPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xNDIob3AsIHN0LCBzcywgc3opIDAKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfQ0hFQ0tfQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzE0MyhvcCwgc3QsIHNzLCBzeikgMAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9DSEVDS19CT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTQ0KG9wLCBzdCwgc3MsIHN6KSAwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0NIRUNLX0JPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xNDUob3AsIHN0LCBzcywgc3opIDAKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfQ0hFQ0tfQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzE0NihvcCwgc3QsIHNzLCBzeikgMAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9DSEVDS19CT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTQ3KG9wLCBzdCwgc3MsIHN6KSAwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0NIRUNLX0JPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xNDgob3AsIHN0LCBzcywgc3opIDAKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfQ0hFQ0tfQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzE0OShvcCwgc3QsIHNzLCBzeikgMAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9DSEVDS19CT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTUwKG9wLCBzdCwgc3MsIHN6KSAwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0NIRUNLX0JPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xNTEob3AsIHN0LCBzcywgc3opIDAKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfQ0hFQ0tfQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzE1MihvcCwgc3QsIHNzLCBzeikgMAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9DSEVDS19CT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTUzKG9wLCBzdCwgc3MsIHN6KSAwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0NIRUNLX0JPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xNTQob3AsIHN0LCBzcywgc3opIDAKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfQ0hFQ0tfQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzE1NShvcCwgc3QsIHNzLCBzeikgMAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9DSEVDS19CT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTU2KG9wLCBzdCwgc3MsIHN6KSAwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0NIRUNLX0JPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xNTcob3AsIHN0LCBzcywgc3opIDAKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfQ0hFQ0tfQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzE1OChvcCwgc3QsIHNzLCBzeikgMAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9DSEVDS19CT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTU5KG9wLCBzdCwgc3MsIHN6KSAwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0NIRUNLX0JPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xNjAob3AsIHN0LCBzcywgc3opIDAKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfQ0hFQ0tfQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzE2MShvcCwgc3QsIHNzLCBzeikgMAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9DSEVDS19CT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTYyKG9wLCBzdCwgc3MsIHN6KSAwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0NIRUNLX0JPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xNjMob3AsIHN0LCBzcywgc3opIDAKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfQ0hFQ0tfQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzE2NChvcCwgc3QsIHNzLCBzeikgMAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9DSEVDS19CT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTY1KG9wLCBzdCwgc3MsIHN6KSAwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0NIRUNLX0JPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xNjYob3AsIHN0LCBzcywgc3opIDAKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfQ0hFQ0tfQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzE2NyhvcCwgc3QsIHNzLCBzeikgMAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9DSEVDS19CT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTY4KG9wLCBzdCwgc3MsIHN6KSAwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0NIRUNLX0JPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xNjkob3AsIHN0LCBzcywgc3opIDAKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfQ0hFQ0tfQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzE3MChvcCwgc3QsIHNzLCBzeikgMAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9DSEVDS19CT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTcxKG9wLCBzdCwgc3MsIHN6KSAwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0NIRUNLX0JPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xNzIob3AsIHN0LCBzcywgc3opIDAKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfQ0hFQ0tfQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzE3MyhvcCwgc3QsIHNzLCBzeikgMAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9DSEVDS19CT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTc0KG9wLCBzdCwgc3MsIHN6KSAwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0NIRUNLX0JPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xNzUob3AsIHN0LCBzcywgc3opIDAKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfQ0hFQ0tfQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzE3NihvcCwgc3QsIHNzLCBzeikgMAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9DSEVDS19CT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTc3KG9wLCBzdCwgc3MsIHN6KSAwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0NIRUNLX0JPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xNzgob3AsIHN0LCBzcywgc3opIDAKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfQ0hFQ0tfQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzE3OShvcCwgc3QsIHNzLCBzeikgMAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9DSEVDS19CT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTgwKG9wLCBzdCwgc3MsIHN6KSAwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0NIRUNLX0JPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xODEob3AsIHN0LCBzcywgc3opIDAKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfQ0hFQ0tfQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzE4MihvcCwgc3QsIHNzLCBzeikgMAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9DSEVDS19CT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTgzKG9wLCBzdCwgc3MsIHN6KSAwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0NIRUNLX0JPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xODQob3AsIHN0LCBzcywgc3opIDAKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfQ0hFQ0tfQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzE4NShvcCwgc3QsIHNzLCBzeikgMAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9DSEVDS19CT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTg2KG9wLCBzdCwgc3MsIHN6KSAwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0NIRUNLX0JPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xODcob3AsIHN0LCBzcywgc3opIDAKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfQ0hFQ0tfQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzE4OChvcCwgc3QsIHNzLCBzeikgMAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9DSEVDS19CT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTg5KG9wLCBzdCwgc3MsIHN6KSAwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0NIRUNLX0JPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xOTAob3AsIHN0LCBzcywgc3opIDAKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfQ0hFQ0tfQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzE5MShvcCwgc3QsIHNzLCBzeikgMAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9DSEVDS19CT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTkyKG9wLCBzdCwgc3MsIHN6KSAwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0NIRUNLX0JPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xOTMob3AsIHN0LCBzcywgc3opIDAKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfQ0hFQ0tfQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzE5NChvcCwgc3QsIHNzLCBzeikgMAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9DSEVDS19CT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTk1KG9wLCBzdCwgc3MsIHN6KSAwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0NIRUNLX0JPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xOTYob3AsIHN0LCBzcywgc3opIDAKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfQ0hFQ0tfQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzE5NyhvcCwgc3QsIHNzLCBzeikgMAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9DSEVDS19CT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTk4KG9wLCBzdCwgc3MsIHN6KSAwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0NIRUNLX0JPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xOTkob3AsIHN0LCBzcywgc3opIDAKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfQ0hFQ0tfQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzIwMChvcCwgc3QsIHNzLCBzeikgMAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9DSEVDS19CT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjAxKG9wLCBzdCwgc3MsIHN6KSAwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0NIRUNLX0JPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8yMDIob3AsIHN0LCBzcywgc3opIDAKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfQ0hFQ0tfQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzIwMyhvcCwgc3QsIHNzLCBzeikgMAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9DSEVDS19CT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjA0KG9wLCBzdCwgc3MsIHN6KSAwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0NIRUNLX0JPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8yMDUob3AsIHN0LCBzcywgc3opIDAKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfQ0hFQ0tfQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzIwNihvcCwgc3QsIHNzLCBzeikgMAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9DSEVDS19CT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjA3KG9wLCBzdCwgc3MsIHN6KSAwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0NIRUNLX0JPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8yMDgob3AsIHN0LCBzcywgc3opIDAKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfQ0hFQ0tfQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzIwOShvcCwgc3QsIHNzLCBzeikgMAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9DSEVDS19CT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjEwKG9wLCBzdCwgc3MsIHN6KSAwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0NIRUNLX0JPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8yMTEob3AsIHN0LCBzcywgc3opIDAKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfQ0hFQ0tfQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzIxMihvcCwgc3QsIHNzLCBzeikgMAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9DSEVDS19CT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjEzKG9wLCBzdCwgc3MsIHN6KSAwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0NIRUNLX0JPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8yMTQob3AsIHN0LCBzcywgc3opIDAKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfQ0hFQ0tfQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzIxNShvcCwgc3QsIHNzLCBzeikgMAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9DSEVDS19CT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjE2KG9wLCBzdCwgc3MsIHN6KSAwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0NIRUNLX0JPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8yMTcob3AsIHN0LCBzcywgc3opIDAKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfQ0hFQ0tfQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzIxOChvcCwgc3QsIHNzLCBzeikgMAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9DSEVDS19CT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjE5KG9wLCBzdCwgc3MsIHN6KSAwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0NIRUNLX0JPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8yMjAob3AsIHN0LCBzcywgc3opIDAKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfQ0hFQ0tfQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzIyMShvcCwgc3QsIHNzLCBzeikgMAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9DSEVDS19CT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjIyKG9wLCBzdCwgc3MsIHN6KSAwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0NIRUNLX0JPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8yMjMob3AsIHN0LCBzcywgc3opIDAKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfQ0hFQ0tfQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzIyNChvcCwgc3QsIHNzLCBzeikgMAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9DSEVDS19CT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjI1KG9wLCBzdCwgc3MsIHN6KSAwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0NIRUNLX0JPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8yMjYob3AsIHN0LCBzcywgc3opIDAKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfQ0hFQ0tfQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzIyNyhvcCwgc3QsIHNzLCBzeikgMAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9DSEVDS19CT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjI4KG9wLCBzdCwgc3MsIHN6KSAwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0NIRUNLX0JPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8yMjkob3AsIHN0LCBzcywgc3opIDAKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfQ0hFQ0tfQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzIzMChvcCwgc3QsIHNzLCBzeikgMAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9DSEVDS19CT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjMxKG9wLCBzdCwgc3MsIHN6KSAwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0NIRUNLX0JPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8yMzIob3AsIHN0LCBzcywgc3opIDAKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfQ0hFQ0tfQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzIzMyhvcCwgc3QsIHNzLCBzeikgMAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9DSEVDS19CT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjM0KG9wLCBzdCwgc3MsIHN6KSAwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0NIRUNLX0JPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8yMzUob3AsIHN0LCBzcywgc3opIDAKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfQ0hFQ0tfQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzIzNihvcCwgc3QsIHNzLCBzeikgMAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9DSEVDS19CT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjM3KG9wLCBzdCwgc3MsIHN6KSAwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0NIRUNLX0JPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8yMzgob3AsIHN0LCBzcywgc3opIDAKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfQ0hFQ0tfQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzIzOShvcCwgc3QsIHNzLCBzeikgMAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9DSEVDS19CT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjQwKG9wLCBzdCwgc3MsIHN6KSAwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0NIRUNLX0JPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8yNDEob3AsIHN0LCBzcywgc3opIDAKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfQ0hFQ0tfQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzI0MihvcCwgc3QsIHNzLCBzeikgMAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9DSEVDS19CT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjQzKG9wLCBzdCwgc3MsIHN6KSAwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0NIRUNLX0JPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8yNDQob3AsIHN0LCBzcywgc3opIDAKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfQ0hFQ0tfQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzI0NShvcCwgc3QsIHNzLCBzeikgMAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9DSEVDS19CT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjQ2KG9wLCBzdCwgc3MsIHN6KSAwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0NIRUNLX0JPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8yNDcob3AsIHN0LCBzcywgc3opIDAKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfQ0hFQ0tfQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzI0OChvcCwgc3QsIHNzLCBzeikgMAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9DSEVDS19CT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjQ5KG9wLCBzdCwgc3MsIHN6KSAwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0NIRUNLX0JPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8yNTAob3AsIHN0LCBzcywgc3opIDAKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfQ0hFQ0tfQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzI1MShvcCwgc3QsIHNzLCBzeikgMAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9DSEVDS19CT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjUyKG9wLCBzdCwgc3MsIHN6KSAwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0NIRUNLX0JPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8yNTMob3AsIHN0LCBzcywgc3opIDAKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfQ0hFQ0tfQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzI1NChvcCwgc3QsIHNzLCBzeikgMAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9DSEVDS19CT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjU1KG9wLCBzdCwgc3MsIHN6KSAwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0NIRUNLX0JPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8yNTYob3AsIHN0LCBzcywgc3opIDAKKyMKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRihvcCwgc3QsIHNzLCBzeikgc3QKKyMKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfMShvcCwgc3QsIHNzKSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMShvcCwgc3QsIHNzLCBCT09TVF9QUF9TRVFfU0laRShzcykpCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUXzIob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzIob3AsIHN0LCBzcywgQk9PU1RfUFBfU0VRX1NJWkUoc3MpKQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF8zKG9wLCBzdCwgc3MpIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8zKG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfNChvcCwgc3QsIHNzKSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfNChvcCwgc3QsIHNzLCBCT09TVF9QUF9TRVFfU0laRShzcykpCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUXzUob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzUob3AsIHN0LCBzcywgQk9PU1RfUFBfU0VRX1NJWkUoc3MpKQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF82KG9wLCBzdCwgc3MpIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV82KG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfNyhvcCwgc3QsIHNzKSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfNyhvcCwgc3QsIHNzLCBCT09TVF9QUF9TRVFfU0laRShzcykpCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUXzgob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzgob3AsIHN0LCBzcywgQk9PU1RfUFBfU0VRX1NJWkUoc3MpKQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF85KG9wLCBzdCwgc3MpIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV85KG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfMTAob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzEwKG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfMTEob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzExKG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfMTIob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzEyKG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfMTMob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzEzKG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfMTQob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzE0KG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfMTUob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzE1KG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfMTYob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzE2KG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfMTcob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzE3KG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfMTgob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzE4KG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfMTkob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzE5KG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfMjAob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzIwKG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfMjEob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzIxKG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfMjIob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzIyKG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfMjMob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzIzKG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfMjQob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzI0KG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfMjUob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzI1KG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfMjYob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzI2KG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfMjcob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzI3KG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfMjgob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzI4KG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfMjkob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzI5KG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfMzAob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzMwKG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfMzEob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzMxKG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfMzIob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzMyKG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfMzMob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzMzKG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfMzQob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzM0KG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfMzUob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzM1KG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfMzYob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzM2KG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfMzcob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzM3KG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfMzgob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzM4KG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfMzkob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzM5KG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfNDAob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzQwKG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfNDEob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzQxKG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfNDIob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzQyKG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfNDMob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzQzKG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfNDQob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzQ0KG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfNDUob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzQ1KG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfNDYob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzQ2KG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfNDcob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzQ3KG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfNDgob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzQ4KG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfNDkob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzQ5KG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfNTAob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzUwKG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfNTEob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzUxKG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfNTIob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzUyKG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfNTMob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzUzKG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfNTQob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzU0KG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfNTUob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzU1KG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfNTYob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzU2KG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfNTcob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzU3KG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfNTgob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzU4KG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfNTkob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzU5KG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfNjAob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzYwKG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfNjEob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzYxKG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfNjIob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzYyKG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfNjMob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzYzKG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfNjQob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzY0KG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfNjUob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzY1KG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfNjYob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzY2KG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfNjcob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzY3KG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfNjgob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzY4KG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfNjkob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzY5KG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfNzAob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzcwKG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfNzEob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzcxKG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfNzIob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzcyKG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfNzMob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzczKG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfNzQob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzc0KG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfNzUob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzc1KG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfNzYob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzc2KG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfNzcob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzc3KG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfNzgob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzc4KG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfNzkob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzc5KG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfODAob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzgwKG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfODEob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzgxKG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfODIob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzgyKG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfODMob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzgzKG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfODQob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzg0KG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfODUob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzg1KG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfODYob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzg2KG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfODcob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzg3KG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfODgob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzg4KG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfODkob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzg5KG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfOTAob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzkwKG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfOTEob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzkxKG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfOTIob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzkyKG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfOTMob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzkzKG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfOTQob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzk0KG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfOTUob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzk1KG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfOTYob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzk2KG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfOTcob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzk3KG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfOTgob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzk4KG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfOTkob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzk5KG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfMTAwKG9wLCBzdCwgc3MpIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xMDAob3AsIHN0LCBzcywgQk9PU1RfUFBfU0VRX1NJWkUoc3MpKQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF8xMDEob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzEwMShvcCwgc3QsIHNzLCBCT09TVF9QUF9TRVFfU0laRShzcykpCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUXzEwMihvcCwgc3QsIHNzKSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTAyKG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfMTAzKG9wLCBzdCwgc3MpIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xMDMob3AsIHN0LCBzcywgQk9PU1RfUFBfU0VRX1NJWkUoc3MpKQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF8xMDQob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzEwNChvcCwgc3QsIHNzLCBCT09TVF9QUF9TRVFfU0laRShzcykpCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUXzEwNShvcCwgc3QsIHNzKSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTA1KG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfMTA2KG9wLCBzdCwgc3MpIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xMDYob3AsIHN0LCBzcywgQk9PU1RfUFBfU0VRX1NJWkUoc3MpKQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF8xMDcob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzEwNyhvcCwgc3QsIHNzLCBCT09TVF9QUF9TRVFfU0laRShzcykpCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUXzEwOChvcCwgc3QsIHNzKSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTA4KG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfMTA5KG9wLCBzdCwgc3MpIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xMDkob3AsIHN0LCBzcywgQk9PU1RfUFBfU0VRX1NJWkUoc3MpKQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF8xMTAob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzExMChvcCwgc3QsIHNzLCBCT09TVF9QUF9TRVFfU0laRShzcykpCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUXzExMShvcCwgc3QsIHNzKSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTExKG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfMTEyKG9wLCBzdCwgc3MpIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xMTIob3AsIHN0LCBzcywgQk9PU1RfUFBfU0VRX1NJWkUoc3MpKQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF8xMTMob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzExMyhvcCwgc3QsIHNzLCBCT09TVF9QUF9TRVFfU0laRShzcykpCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUXzExNChvcCwgc3QsIHNzKSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTE0KG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfMTE1KG9wLCBzdCwgc3MpIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xMTUob3AsIHN0LCBzcywgQk9PU1RfUFBfU0VRX1NJWkUoc3MpKQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF8xMTYob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzExNihvcCwgc3QsIHNzLCBCT09TVF9QUF9TRVFfU0laRShzcykpCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUXzExNyhvcCwgc3QsIHNzKSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTE3KG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfMTE4KG9wLCBzdCwgc3MpIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xMTgob3AsIHN0LCBzcywgQk9PU1RfUFBfU0VRX1NJWkUoc3MpKQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF8xMTkob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzExOShvcCwgc3QsIHNzLCBCT09TVF9QUF9TRVFfU0laRShzcykpCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUXzEyMChvcCwgc3QsIHNzKSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTIwKG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfMTIxKG9wLCBzdCwgc3MpIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xMjEob3AsIHN0LCBzcywgQk9PU1RfUFBfU0VRX1NJWkUoc3MpKQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF8xMjIob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzEyMihvcCwgc3QsIHNzLCBCT09TVF9QUF9TRVFfU0laRShzcykpCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUXzEyMyhvcCwgc3QsIHNzKSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTIzKG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfMTI0KG9wLCBzdCwgc3MpIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xMjQob3AsIHN0LCBzcywgQk9PU1RfUFBfU0VRX1NJWkUoc3MpKQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF8xMjUob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzEyNShvcCwgc3QsIHNzLCBCT09TVF9QUF9TRVFfU0laRShzcykpCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUXzEyNihvcCwgc3QsIHNzKSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTI2KG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfMTI3KG9wLCBzdCwgc3MpIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xMjcob3AsIHN0LCBzcywgQk9PU1RfUFBfU0VRX1NJWkUoc3MpKQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF8xMjgob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzEyOChvcCwgc3QsIHNzLCBCT09TVF9QUF9TRVFfU0laRShzcykpCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUXzEyOShvcCwgc3QsIHNzKSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTI5KG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfMTMwKG9wLCBzdCwgc3MpIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xMzAob3AsIHN0LCBzcywgQk9PU1RfUFBfU0VRX1NJWkUoc3MpKQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF8xMzEob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzEzMShvcCwgc3QsIHNzLCBCT09TVF9QUF9TRVFfU0laRShzcykpCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUXzEzMihvcCwgc3QsIHNzKSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTMyKG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfMTMzKG9wLCBzdCwgc3MpIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xMzMob3AsIHN0LCBzcywgQk9PU1RfUFBfU0VRX1NJWkUoc3MpKQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF8xMzQob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzEzNChvcCwgc3QsIHNzLCBCT09TVF9QUF9TRVFfU0laRShzcykpCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUXzEzNShvcCwgc3QsIHNzKSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTM1KG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfMTM2KG9wLCBzdCwgc3MpIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xMzYob3AsIHN0LCBzcywgQk9PU1RfUFBfU0VRX1NJWkUoc3MpKQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF8xMzcob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzEzNyhvcCwgc3QsIHNzLCBCT09TVF9QUF9TRVFfU0laRShzcykpCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUXzEzOChvcCwgc3QsIHNzKSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTM4KG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfMTM5KG9wLCBzdCwgc3MpIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xMzkob3AsIHN0LCBzcywgQk9PU1RfUFBfU0VRX1NJWkUoc3MpKQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF8xNDAob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzE0MChvcCwgc3QsIHNzLCBCT09TVF9QUF9TRVFfU0laRShzcykpCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUXzE0MShvcCwgc3QsIHNzKSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTQxKG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfMTQyKG9wLCBzdCwgc3MpIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xNDIob3AsIHN0LCBzcywgQk9PU1RfUFBfU0VRX1NJWkUoc3MpKQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF8xNDMob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzE0MyhvcCwgc3QsIHNzLCBCT09TVF9QUF9TRVFfU0laRShzcykpCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUXzE0NChvcCwgc3QsIHNzKSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTQ0KG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfMTQ1KG9wLCBzdCwgc3MpIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xNDUob3AsIHN0LCBzcywgQk9PU1RfUFBfU0VRX1NJWkUoc3MpKQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF8xNDYob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzE0NihvcCwgc3QsIHNzLCBCT09TVF9QUF9TRVFfU0laRShzcykpCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUXzE0NyhvcCwgc3QsIHNzKSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTQ3KG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfMTQ4KG9wLCBzdCwgc3MpIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xNDgob3AsIHN0LCBzcywgQk9PU1RfUFBfU0VRX1NJWkUoc3MpKQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF8xNDkob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzE0OShvcCwgc3QsIHNzLCBCT09TVF9QUF9TRVFfU0laRShzcykpCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUXzE1MChvcCwgc3QsIHNzKSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTUwKG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfMTUxKG9wLCBzdCwgc3MpIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xNTEob3AsIHN0LCBzcywgQk9PU1RfUFBfU0VRX1NJWkUoc3MpKQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF8xNTIob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzE1MihvcCwgc3QsIHNzLCBCT09TVF9QUF9TRVFfU0laRShzcykpCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUXzE1MyhvcCwgc3QsIHNzKSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTUzKG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfMTU0KG9wLCBzdCwgc3MpIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xNTQob3AsIHN0LCBzcywgQk9PU1RfUFBfU0VRX1NJWkUoc3MpKQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF8xNTUob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzE1NShvcCwgc3QsIHNzLCBCT09TVF9QUF9TRVFfU0laRShzcykpCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUXzE1NihvcCwgc3QsIHNzKSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTU2KG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfMTU3KG9wLCBzdCwgc3MpIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xNTcob3AsIHN0LCBzcywgQk9PU1RfUFBfU0VRX1NJWkUoc3MpKQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF8xNTgob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzE1OChvcCwgc3QsIHNzLCBCT09TVF9QUF9TRVFfU0laRShzcykpCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUXzE1OShvcCwgc3QsIHNzKSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTU5KG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfMTYwKG9wLCBzdCwgc3MpIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xNjAob3AsIHN0LCBzcywgQk9PU1RfUFBfU0VRX1NJWkUoc3MpKQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF8xNjEob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzE2MShvcCwgc3QsIHNzLCBCT09TVF9QUF9TRVFfU0laRShzcykpCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUXzE2MihvcCwgc3QsIHNzKSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTYyKG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfMTYzKG9wLCBzdCwgc3MpIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xNjMob3AsIHN0LCBzcywgQk9PU1RfUFBfU0VRX1NJWkUoc3MpKQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF8xNjQob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzE2NChvcCwgc3QsIHNzLCBCT09TVF9QUF9TRVFfU0laRShzcykpCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUXzE2NShvcCwgc3QsIHNzKSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTY1KG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfMTY2KG9wLCBzdCwgc3MpIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xNjYob3AsIHN0LCBzcywgQk9PU1RfUFBfU0VRX1NJWkUoc3MpKQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF8xNjcob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzE2NyhvcCwgc3QsIHNzLCBCT09TVF9QUF9TRVFfU0laRShzcykpCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUXzE2OChvcCwgc3QsIHNzKSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTY4KG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfMTY5KG9wLCBzdCwgc3MpIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xNjkob3AsIHN0LCBzcywgQk9PU1RfUFBfU0VRX1NJWkUoc3MpKQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF8xNzAob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzE3MChvcCwgc3QsIHNzLCBCT09TVF9QUF9TRVFfU0laRShzcykpCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUXzE3MShvcCwgc3QsIHNzKSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTcxKG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfMTcyKG9wLCBzdCwgc3MpIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xNzIob3AsIHN0LCBzcywgQk9PU1RfUFBfU0VRX1NJWkUoc3MpKQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF8xNzMob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzE3MyhvcCwgc3QsIHNzLCBCT09TVF9QUF9TRVFfU0laRShzcykpCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUXzE3NChvcCwgc3QsIHNzKSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTc0KG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfMTc1KG9wLCBzdCwgc3MpIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xNzUob3AsIHN0LCBzcywgQk9PU1RfUFBfU0VRX1NJWkUoc3MpKQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF8xNzYob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzE3NihvcCwgc3QsIHNzLCBCT09TVF9QUF9TRVFfU0laRShzcykpCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUXzE3NyhvcCwgc3QsIHNzKSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTc3KG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfMTc4KG9wLCBzdCwgc3MpIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xNzgob3AsIHN0LCBzcywgQk9PU1RfUFBfU0VRX1NJWkUoc3MpKQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF8xNzkob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzE3OShvcCwgc3QsIHNzLCBCT09TVF9QUF9TRVFfU0laRShzcykpCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUXzE4MChvcCwgc3QsIHNzKSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTgwKG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfMTgxKG9wLCBzdCwgc3MpIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xODEob3AsIHN0LCBzcywgQk9PU1RfUFBfU0VRX1NJWkUoc3MpKQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF8xODIob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzE4MihvcCwgc3QsIHNzLCBCT09TVF9QUF9TRVFfU0laRShzcykpCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUXzE4MyhvcCwgc3QsIHNzKSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTgzKG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfMTg0KG9wLCBzdCwgc3MpIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xODQob3AsIHN0LCBzcywgQk9PU1RfUFBfU0VRX1NJWkUoc3MpKQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF8xODUob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzE4NShvcCwgc3QsIHNzLCBCT09TVF9QUF9TRVFfU0laRShzcykpCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUXzE4NihvcCwgc3QsIHNzKSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTg2KG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfMTg3KG9wLCBzdCwgc3MpIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xODcob3AsIHN0LCBzcywgQk9PU1RfUFBfU0VRX1NJWkUoc3MpKQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF8xODgob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzE4OChvcCwgc3QsIHNzLCBCT09TVF9QUF9TRVFfU0laRShzcykpCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUXzE4OShvcCwgc3QsIHNzKSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTg5KG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfMTkwKG9wLCBzdCwgc3MpIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xOTAob3AsIHN0LCBzcywgQk9PU1RfUFBfU0VRX1NJWkUoc3MpKQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF8xOTEob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzE5MShvcCwgc3QsIHNzLCBCT09TVF9QUF9TRVFfU0laRShzcykpCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUXzE5MihvcCwgc3QsIHNzKSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTkyKG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfMTkzKG9wLCBzdCwgc3MpIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xOTMob3AsIHN0LCBzcywgQk9PU1RfUFBfU0VRX1NJWkUoc3MpKQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF8xOTQob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzE5NChvcCwgc3QsIHNzLCBCT09TVF9QUF9TRVFfU0laRShzcykpCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUXzE5NShvcCwgc3QsIHNzKSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTk1KG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfMTk2KG9wLCBzdCwgc3MpIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xOTYob3AsIHN0LCBzcywgQk9PU1RfUFBfU0VRX1NJWkUoc3MpKQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF8xOTcob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzE5NyhvcCwgc3QsIHNzLCBCT09TVF9QUF9TRVFfU0laRShzcykpCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUXzE5OChvcCwgc3QsIHNzKSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTk4KG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfMTk5KG9wLCBzdCwgc3MpIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xOTkob3AsIHN0LCBzcywgQk9PU1RfUFBfU0VRX1NJWkUoc3MpKQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF8yMDAob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzIwMChvcCwgc3QsIHNzLCBCT09TVF9QUF9TRVFfU0laRShzcykpCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUXzIwMShvcCwgc3QsIHNzKSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjAxKG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfMjAyKG9wLCBzdCwgc3MpIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8yMDIob3AsIHN0LCBzcywgQk9PU1RfUFBfU0VRX1NJWkUoc3MpKQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF8yMDMob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzIwMyhvcCwgc3QsIHNzLCBCT09TVF9QUF9TRVFfU0laRShzcykpCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUXzIwNChvcCwgc3QsIHNzKSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjA0KG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfMjA1KG9wLCBzdCwgc3MpIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8yMDUob3AsIHN0LCBzcywgQk9PU1RfUFBfU0VRX1NJWkUoc3MpKQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF8yMDYob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzIwNihvcCwgc3QsIHNzLCBCT09TVF9QUF9TRVFfU0laRShzcykpCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUXzIwNyhvcCwgc3QsIHNzKSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjA3KG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfMjA4KG9wLCBzdCwgc3MpIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8yMDgob3AsIHN0LCBzcywgQk9PU1RfUFBfU0VRX1NJWkUoc3MpKQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF8yMDkob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzIwOShvcCwgc3QsIHNzLCBCT09TVF9QUF9TRVFfU0laRShzcykpCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUXzIxMChvcCwgc3QsIHNzKSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjEwKG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfMjExKG9wLCBzdCwgc3MpIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8yMTEob3AsIHN0LCBzcywgQk9PU1RfUFBfU0VRX1NJWkUoc3MpKQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF8yMTIob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzIxMihvcCwgc3QsIHNzLCBCT09TVF9QUF9TRVFfU0laRShzcykpCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUXzIxMyhvcCwgc3QsIHNzKSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjEzKG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfMjE0KG9wLCBzdCwgc3MpIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8yMTQob3AsIHN0LCBzcywgQk9PU1RfUFBfU0VRX1NJWkUoc3MpKQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF8yMTUob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzIxNShvcCwgc3QsIHNzLCBCT09TVF9QUF9TRVFfU0laRShzcykpCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUXzIxNihvcCwgc3QsIHNzKSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjE2KG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfMjE3KG9wLCBzdCwgc3MpIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8yMTcob3AsIHN0LCBzcywgQk9PU1RfUFBfU0VRX1NJWkUoc3MpKQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF8yMTgob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzIxOChvcCwgc3QsIHNzLCBCT09TVF9QUF9TRVFfU0laRShzcykpCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUXzIxOShvcCwgc3QsIHNzKSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjE5KG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfMjIwKG9wLCBzdCwgc3MpIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8yMjAob3AsIHN0LCBzcywgQk9PU1RfUFBfU0VRX1NJWkUoc3MpKQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF8yMjEob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzIyMShvcCwgc3QsIHNzLCBCT09TVF9QUF9TRVFfU0laRShzcykpCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUXzIyMihvcCwgc3QsIHNzKSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjIyKG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfMjIzKG9wLCBzdCwgc3MpIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8yMjMob3AsIHN0LCBzcywgQk9PU1RfUFBfU0VRX1NJWkUoc3MpKQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF8yMjQob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzIyNChvcCwgc3QsIHNzLCBCT09TVF9QUF9TRVFfU0laRShzcykpCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUXzIyNShvcCwgc3QsIHNzKSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjI1KG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfMjI2KG9wLCBzdCwgc3MpIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8yMjYob3AsIHN0LCBzcywgQk9PU1RfUFBfU0VRX1NJWkUoc3MpKQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF8yMjcob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzIyNyhvcCwgc3QsIHNzLCBCT09TVF9QUF9TRVFfU0laRShzcykpCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUXzIyOChvcCwgc3QsIHNzKSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjI4KG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfMjI5KG9wLCBzdCwgc3MpIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8yMjkob3AsIHN0LCBzcywgQk9PU1RfUFBfU0VRX1NJWkUoc3MpKQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF8yMzAob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzIzMChvcCwgc3QsIHNzLCBCT09TVF9QUF9TRVFfU0laRShzcykpCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUXzIzMShvcCwgc3QsIHNzKSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjMxKG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfMjMyKG9wLCBzdCwgc3MpIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8yMzIob3AsIHN0LCBzcywgQk9PU1RfUFBfU0VRX1NJWkUoc3MpKQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF8yMzMob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzIzMyhvcCwgc3QsIHNzLCBCT09TVF9QUF9TRVFfU0laRShzcykpCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUXzIzNChvcCwgc3QsIHNzKSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjM0KG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfMjM1KG9wLCBzdCwgc3MpIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8yMzUob3AsIHN0LCBzcywgQk9PU1RfUFBfU0VRX1NJWkUoc3MpKQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF8yMzYob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzIzNihvcCwgc3QsIHNzLCBCT09TVF9QUF9TRVFfU0laRShzcykpCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUXzIzNyhvcCwgc3QsIHNzKSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjM3KG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfMjM4KG9wLCBzdCwgc3MpIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8yMzgob3AsIHN0LCBzcywgQk9PU1RfUFBfU0VRX1NJWkUoc3MpKQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF8yMzkob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzIzOShvcCwgc3QsIHNzLCBCT09TVF9QUF9TRVFfU0laRShzcykpCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUXzI0MChvcCwgc3QsIHNzKSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjQwKG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfMjQxKG9wLCBzdCwgc3MpIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8yNDEob3AsIHN0LCBzcywgQk9PU1RfUFBfU0VRX1NJWkUoc3MpKQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF8yNDIob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzI0MihvcCwgc3QsIHNzLCBCT09TVF9QUF9TRVFfU0laRShzcykpCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUXzI0MyhvcCwgc3QsIHNzKSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjQzKG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfMjQ0KG9wLCBzdCwgc3MpIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8yNDQob3AsIHN0LCBzcywgQk9PU1RfUFBfU0VRX1NJWkUoc3MpKQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF8yNDUob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzI0NShvcCwgc3QsIHNzLCBCT09TVF9QUF9TRVFfU0laRShzcykpCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUXzI0NihvcCwgc3QsIHNzKSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjQ2KG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfMjQ3KG9wLCBzdCwgc3MpIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8yNDcob3AsIHN0LCBzcywgQk9PU1RfUFBfU0VRX1NJWkUoc3MpKQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF8yNDgob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzI0OChvcCwgc3QsIHNzLCBCT09TVF9QUF9TRVFfU0laRShzcykpCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUXzI0OShvcCwgc3QsIHNzKSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjQ5KG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfMjUwKG9wLCBzdCwgc3MpIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8yNTAob3AsIHN0LCBzcywgQk9PU1RfUFBfU0VRX1NJWkUoc3MpKQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF8yNTEob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzI1MShvcCwgc3QsIHNzLCBCT09TVF9QUF9TRVFfU0laRShzcykpCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUXzI1MihvcCwgc3QsIHNzKSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjUyKG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfMjUzKG9wLCBzdCwgc3MpIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8yNTMob3AsIHN0LCBzcywgQk9PU1RfUFBfU0VRX1NJWkUoc3MpKQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF8yNTQob3AsIHN0LCBzcykgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzI1NChvcCwgc3QsIHNzLCBCT09TVF9QUF9TRVFfU0laRShzcykpCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUXzI1NShvcCwgc3QsIHNzKSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjU1KG9wLCBzdCwgc3MsIEJPT1NUX1BQX1NFUV9TSVpFKHNzKSkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfMjU2KG9wLCBzdCwgc3MpIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8yNTYob3AsIHN0LCBzcywgQk9PU1RfUFBfU0VRX1NJWkUoc3MpKQorIworIyBpZiB+Qk9PU1RfUFBfQ09ORklHX0ZMQUdTKCkgJiBCT09TVF9QUF9DT05GSUdfRE1DKCkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMiwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9GKShvcCwgb3AoMiwgc3QsIEJPT1NUX1BQX1NFUV9IRUFEKHNzKSksIEJPT1NUX1BQX1NFUV9UQUlMKHNzKSwgQk9PU1RfUFBfREVDKHN6KSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8yKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMywgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9GKShvcCwgb3AoMywgc3QsIEJPT1NUX1BQX1NFUV9IRUFEKHNzKSksIEJPT1NUX1BQX1NFUV9UQUlMKHNzKSwgQk9PU1RfUFBfREVDKHN6KSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8zKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfNCwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9GKShvcCwgb3AoNCwgc3QsIEJPT1NUX1BQX1NFUV9IRUFEKHNzKSksIEJPT1NUX1BQX1NFUV9UQUlMKHNzKSwgQk9PU1RfUFBfREVDKHN6KSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV80KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfNSwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9GKShvcCwgb3AoNSwgc3QsIEJPT1NUX1BQX1NFUV9IRUFEKHNzKSksIEJPT1NUX1BQX1NFUV9UQUlMKHNzKSwgQk9PU1RfUFBfREVDKHN6KSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV81KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfNiwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9GKShvcCwgb3AoNiwgc3QsIEJPT1NUX1BQX1NFUV9IRUFEKHNzKSksIEJPT1NUX1BQX1NFUV9UQUlMKHNzKSwgQk9PU1RfUFBfREVDKHN6KSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV82KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfNywgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9GKShvcCwgb3AoNywgc3QsIEJPT1NUX1BQX1NFUV9IRUFEKHNzKSksIEJPT1NUX1BQX1NFUV9UQUlMKHNzKSwgQk9PU1RfUFBfREVDKHN6KSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV83KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfOCwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9GKShvcCwgb3AoOCwgc3QsIEJPT1NUX1BQX1NFUV9IRUFEKHNzKSksIEJPT1NUX1BQX1NFUV9UQUlMKHNzKSwgQk9PU1RfUFBfREVDKHN6KSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV84KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfOSwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9GKShvcCwgb3AoOSwgc3QsIEJPT1NUX1BQX1NFUV9IRUFEKHNzKSksIEJPT1NUX1BQX1NFUV9UQUlMKHNzKSwgQk9PU1RfUFBfREVDKHN6KSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV85KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTAsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wKDEwLCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzEwKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTEsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wKDExLCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzExKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTIsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wKDEyLCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzEyKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTMsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wKDEzLCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzEzKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTQsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wKDE0LCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzE0KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTUsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wKDE1LCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzE1KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTYsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wKDE2LCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzE2KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTcsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wKDE3LCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzE3KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTgsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wKDE4LCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzE4KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTksIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wKDE5LCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzE5KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjAsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wKDIwLCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzIwKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjEsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wKDIxLCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzIxKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjIsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wKDIyLCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzIyKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjMsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wKDIzLCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzIzKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjQsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wKDI0LCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzI0KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjUsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wKDI1LCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzI1KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjYsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wKDI2LCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzI2KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjcsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wKDI3LCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzI3KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjgsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wKDI4LCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzI4KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjksIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wKDI5LCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzI5KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMzAsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wKDMwLCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzMwKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMzEsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wKDMxLCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzMxKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMzIsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wKDMyLCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzMyKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMzMsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wKDMzLCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzMzKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMzQsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wKDM0LCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzM0KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMzUsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wKDM1LCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzM1KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMzYsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wKDM2LCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzM2KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMzcsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wKDM3LCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzM3KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMzgsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wKDM4LCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzM4KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMzksIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wKDM5LCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzM5KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfNDAsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wKDQwLCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzQwKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfNDEsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wKDQxLCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzQxKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfNDIsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wKDQyLCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzQyKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfNDMsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wKDQzLCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzQzKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfNDQsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wKDQ0LCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzQ0KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfNDUsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wKDQ1LCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzQ1KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfNDYsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wKDQ2LCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzQ2KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfNDcsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wKDQ3LCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzQ3KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfNDgsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wKDQ4LCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzQ4KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfNDksIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wKDQ5LCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzQ5KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfNTAsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wKDUwLCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzUwKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfNTEsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wKDUxLCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzUxKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfNTIsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wKDUyLCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzUyKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfNTMsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wKDUzLCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzUzKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfNTQsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wKDU0LCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzU0KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfNTUsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wKDU1LCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzU1KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfNTYsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wKDU2LCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzU2KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfNTcsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wKDU3LCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzU3KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfNTgsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wKDU4LCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzU4KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfNTksIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wKDU5LCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzU5KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfNjAsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wKDYwLCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzYwKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfNjEsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wKDYxLCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzYxKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfNjIsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wKDYyLCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzYyKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfNjMsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wKDYzLCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzYzKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfNjQsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wKDY0LCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzY0KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfNjUsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wKDY1LCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzY1KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfNjYsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wKDY2LCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzY2KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfNjcsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wKDY3LCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzY3KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfNjgsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wKDY4LCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzY4KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfNjksIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wKDY5LCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzY5KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfNzAsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wKDcwLCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzcwKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfNzEsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wKDcxLCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzcxKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfNzIsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wKDcyLCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzcyKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfNzMsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wKDczLCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzczKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfNzQsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wKDc0LCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzc0KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfNzUsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wKDc1LCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzc1KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfNzYsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wKDc2LCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzc2KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfNzcsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wKDc3LCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzc3KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfNzgsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wKDc4LCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzc4KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfNzksIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wKDc5LCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzc5KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfODAsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wKDgwLCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzgwKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfODEsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wKDgxLCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzgxKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfODIsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wKDgyLCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzgyKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfODMsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wKDgzLCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzgzKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfODQsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wKDg0LCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzg0KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfODUsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wKDg1LCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzg1KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfODYsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wKDg2LCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzg2KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfODcsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wKDg3LCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzg3KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfODgsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wKDg4LCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzg4KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfODksIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wKDg5LCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzg5KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfOTAsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wKDkwLCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzkwKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfOTEsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wKDkxLCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzkxKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfOTIsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wKDkyLCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzkyKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfOTMsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wKDkzLCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzkzKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfOTQsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wKDk0LCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzk0KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfOTUsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wKDk1LCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzk1KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfOTYsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wKDk2LCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzk2KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfOTcsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wKDk3LCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzk3KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfOTgsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wKDk4LCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzk4KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfOTksIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wKDk5LCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzk5KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTAwLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgxMDAsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTAwKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTAxLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgxMDEsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTAxKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTAyLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgxMDIsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTAyKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTAzLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgxMDMsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTAzKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTA0LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgxMDQsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTA0KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTA1LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgxMDUsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTA1KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTA2LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgxMDYsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTA2KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTA3LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgxMDcsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTA3KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTA4LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgxMDgsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTA4KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTA5LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgxMDksIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTA5KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTEwLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgxMTAsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTEwKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTExLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgxMTEsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTExKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTEyLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgxMTIsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTEyKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTEzLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgxMTMsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTEzKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTE0LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgxMTQsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTE0KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTE1LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgxMTUsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTE1KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTE2LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgxMTYsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTE2KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTE3LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgxMTcsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTE3KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTE4LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgxMTgsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTE4KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTE5LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgxMTksIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTE5KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTIwLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgxMjAsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTIwKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTIxLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgxMjEsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTIxKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTIyLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgxMjIsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTIyKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTIzLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgxMjMsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTIzKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTI0LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgxMjQsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTI0KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTI1LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgxMjUsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTI1KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTI2LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgxMjYsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTI2KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTI3LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgxMjcsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTI3KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTI4LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgxMjgsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTI4KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTI5LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgxMjksIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTI5KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTMwLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgxMzAsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTMwKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTMxLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgxMzEsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTMxKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTMyLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgxMzIsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTMyKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTMzLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgxMzMsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTMzKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTM0LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgxMzQsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTM0KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTM1LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgxMzUsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTM1KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTM2LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgxMzYsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTM2KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTM3LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgxMzcsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTM3KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTM4LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgxMzgsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTM4KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTM5LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgxMzksIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTM5KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTQwLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgxNDAsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTQwKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTQxLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgxNDEsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTQxKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTQyLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgxNDIsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTQyKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTQzLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgxNDMsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTQzKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTQ0LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgxNDQsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTQ0KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTQ1LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgxNDUsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTQ1KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTQ2LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgxNDYsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTQ2KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTQ3LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgxNDcsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTQ3KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTQ4LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgxNDgsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTQ4KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTQ5LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgxNDksIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTQ5KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTUwLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgxNTAsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTUwKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTUxLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgxNTEsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTUxKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTUyLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgxNTIsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTUyKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTUzLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgxNTMsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTUzKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTU0LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgxNTQsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTU0KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTU1LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgxNTUsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTU1KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTU2LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgxNTYsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTU2KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTU3LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgxNTcsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTU3KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTU4LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgxNTgsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTU4KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTU5LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgxNTksIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTU5KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTYwLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgxNjAsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTYwKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTYxLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgxNjEsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTYxKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTYyLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgxNjIsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTYyKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTYzLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgxNjMsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTYzKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTY0LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgxNjQsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTY0KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTY1LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgxNjUsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTY1KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTY2LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgxNjYsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTY2KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTY3LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgxNjcsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTY3KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTY4LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgxNjgsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTY4KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTY5LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgxNjksIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTY5KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTcwLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgxNzAsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTcwKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTcxLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgxNzEsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTcxKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTcyLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgxNzIsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTcyKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTczLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgxNzMsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTczKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTc0LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgxNzQsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTc0KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTc1LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgxNzUsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTc1KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTc2LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgxNzYsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTc2KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTc3LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgxNzcsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTc3KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTc4LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgxNzgsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTc4KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTc5LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgxNzksIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTc5KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTgwLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgxODAsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTgwKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTgxLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgxODEsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTgxKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTgyLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgxODIsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTgyKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTgzLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgxODMsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTgzKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTg0LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgxODQsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTg0KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTg1LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgxODUsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTg1KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTg2LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgxODYsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTg2KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTg3LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgxODcsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTg3KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTg4LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgxODgsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTg4KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTg5LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgxODksIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTg5KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTkwLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgxOTAsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTkwKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTkxLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgxOTEsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTkxKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTkyLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgxOTIsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTkyKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTkzLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgxOTMsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTkzKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTk0LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgxOTQsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTk0KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTk1LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgxOTUsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTk1KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTk2LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgxOTYsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTk2KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTk3LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgxOTcsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTk3KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTk4LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgxOTgsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTk4KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTk5LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgxOTksIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTk5KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjAwLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgyMDAsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjAwKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjAxLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgyMDEsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjAxKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjAyLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgyMDIsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjAyKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjAzLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgyMDMsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjAzKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjA0LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgyMDQsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjA0KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjA1LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgyMDUsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjA1KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjA2LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgyMDYsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjA2KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjA3LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgyMDcsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjA3KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjA4LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgyMDgsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjA4KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjA5LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgyMDksIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjA5KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjEwLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgyMTAsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjEwKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjExLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgyMTEsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjExKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjEyLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgyMTIsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjEyKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjEzLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgyMTMsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjEzKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjE0LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgyMTQsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjE0KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjE1LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgyMTUsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjE1KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjE2LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgyMTYsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjE2KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjE3LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgyMTcsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjE3KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjE4LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgyMTgsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjE4KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjE5LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgyMTksIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjE5KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjIwLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgyMjAsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjIwKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjIxLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgyMjEsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjIxKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjIyLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgyMjIsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjIyKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjIzLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgyMjMsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjIzKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjI0LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgyMjQsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjI0KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjI1LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgyMjUsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjI1KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjI2LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgyMjYsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjI2KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjI3LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgyMjcsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjI3KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjI4LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgyMjgsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjI4KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjI5LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgyMjksIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjI5KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjMwLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgyMzAsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjMwKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjMxLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgyMzEsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjMxKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjMyLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgyMzIsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjMyKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjMzLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgyMzMsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjMzKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjM0LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgyMzQsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjM0KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjM1LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgyMzUsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjM1KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjM2LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgyMzYsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjM2KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjM3LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgyMzcsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjM3KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjM4LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgyMzgsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjM4KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjM5LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgyMzksIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjM5KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjQwLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgyNDAsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjQwKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjQxLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgyNDEsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjQxKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjQyLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgyNDIsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjQyKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjQzLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgyNDMsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjQzKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjQ0LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgyNDQsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjQ0KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjQ1LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgyNDUsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjQ1KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjQ2LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgyNDYsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjQ2KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjQ3LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgyNDcsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjQ3KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjQ4LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgyNDgsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjQ4KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjQ5LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgyNDksIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjQ5KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjUwLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgyNTAsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjUwKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjUxLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgyNTEsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjUxKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjUyLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgyNTIsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjUyKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjUzLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgyNTMsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjUzKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjU0LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgyNTQsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjU0KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjU1LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgyNTUsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjU1KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjU2LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgyNTYsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjU2KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjU3LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCgyNTcsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjIGVsc2UKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMiwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9GKShvcCwgb3AjIygyLCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzIob3AsIHN0LCBzcywgc3opIEJPT1NUX1BQX0lGKEJPT1NUX1BQX0RFQyhzeiksIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8zLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCMjKDMsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMyhvcCwgc3QsIHNzLCBzeikgQk9PU1RfUFBfSUYoQk9PU1RfUFBfREVDKHN6KSwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzQsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wIyMoNCwgc3QsIEJPT1NUX1BQX1NFUV9IRUFEKHNzKSksIEJPT1NUX1BQX1NFUV9UQUlMKHNzKSwgQk9PU1RfUFBfREVDKHN6KSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV80KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfNSwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9GKShvcCwgb3AjIyg1LCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzUob3AsIHN0LCBzcywgc3opIEJPT1NUX1BQX0lGKEJPT1NUX1BQX0RFQyhzeiksIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV82LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCMjKDYsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfNihvcCwgc3QsIHNzLCBzeikgQk9PU1RfUFBfSUYoQk9PU1RfUFBfREVDKHN6KSwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzcsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wIyMoNywgc3QsIEJPT1NUX1BQX1NFUV9IRUFEKHNzKSksIEJPT1NUX1BQX1NFUV9UQUlMKHNzKSwgQk9PU1RfUFBfREVDKHN6KSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV83KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfOCwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9GKShvcCwgb3AjIyg4LCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzgob3AsIHN0LCBzcywgc3opIEJPT1NUX1BQX0lGKEJPT1NUX1BQX0RFQyhzeiksIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV85LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCMjKDksIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfOShvcCwgc3QsIHNzLCBzeikgQk9PU1RfUFBfSUYoQk9PU1RfUFBfREVDKHN6KSwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzEwLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCMjKDEwLCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzEwKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTEsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wIyMoMTEsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTEob3AsIHN0LCBzcywgc3opIEJPT1NUX1BQX0lGKEJPT1NUX1BQX0RFQyhzeiksIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xMiwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9GKShvcCwgb3AjIygxMiwgc3QsIEJPT1NUX1BQX1NFUV9IRUFEKHNzKSksIEJPT1NUX1BQX1NFUV9UQUlMKHNzKSwgQk9PU1RfUFBfREVDKHN6KSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xMihvcCwgc3QsIHNzLCBzeikgQk9PU1RfUFBfSUYoQk9PU1RfUFBfREVDKHN6KSwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzEzLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCMjKDEzLCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzEzKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTQsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wIyMoMTQsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTQob3AsIHN0LCBzcywgc3opIEJPT1NUX1BQX0lGKEJPT1NUX1BQX0RFQyhzeiksIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xNSwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9GKShvcCwgb3AjIygxNSwgc3QsIEJPT1NUX1BQX1NFUV9IRUFEKHNzKSksIEJPT1NUX1BQX1NFUV9UQUlMKHNzKSwgQk9PU1RfUFBfREVDKHN6KSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xNShvcCwgc3QsIHNzLCBzeikgQk9PU1RfUFBfSUYoQk9PU1RfUFBfREVDKHN6KSwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzE2LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCMjKDE2LCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzE2KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTcsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wIyMoMTcsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTcob3AsIHN0LCBzcywgc3opIEJPT1NUX1BQX0lGKEJPT1NUX1BQX0RFQyhzeiksIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xOCwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9GKShvcCwgb3AjIygxOCwgc3QsIEJPT1NUX1BQX1NFUV9IRUFEKHNzKSksIEJPT1NUX1BQX1NFUV9UQUlMKHNzKSwgQk9PU1RfUFBfREVDKHN6KSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xOChvcCwgc3QsIHNzLCBzeikgQk9PU1RfUFBfSUYoQk9PU1RfUFBfREVDKHN6KSwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzE5LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCMjKDE5LCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzE5KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjAsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wIyMoMjAsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjAob3AsIHN0LCBzcywgc3opIEJPT1NUX1BQX0lGKEJPT1NUX1BQX0RFQyhzeiksIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8yMSwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9GKShvcCwgb3AjIygyMSwgc3QsIEJPT1NUX1BQX1NFUV9IRUFEKHNzKSksIEJPT1NUX1BQX1NFUV9UQUlMKHNzKSwgQk9PU1RfUFBfREVDKHN6KSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8yMShvcCwgc3QsIHNzLCBzeikgQk9PU1RfUFBfSUYoQk9PU1RfUFBfREVDKHN6KSwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzIyLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCMjKDIyLCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzIyKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjMsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wIyMoMjMsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjMob3AsIHN0LCBzcywgc3opIEJPT1NUX1BQX0lGKEJPT1NUX1BQX0RFQyhzeiksIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8yNCwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9GKShvcCwgb3AjIygyNCwgc3QsIEJPT1NUX1BQX1NFUV9IRUFEKHNzKSksIEJPT1NUX1BQX1NFUV9UQUlMKHNzKSwgQk9PU1RfUFBfREVDKHN6KSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8yNChvcCwgc3QsIHNzLCBzeikgQk9PU1RfUFBfSUYoQk9PU1RfUFBfREVDKHN6KSwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzI1LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCMjKDI1LCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzI1KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjYsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wIyMoMjYsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjYob3AsIHN0LCBzcywgc3opIEJPT1NUX1BQX0lGKEJPT1NUX1BQX0RFQyhzeiksIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8yNywgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9GKShvcCwgb3AjIygyNywgc3QsIEJPT1NUX1BQX1NFUV9IRUFEKHNzKSksIEJPT1NUX1BQX1NFUV9UQUlMKHNzKSwgQk9PU1RfUFBfREVDKHN6KSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8yNyhvcCwgc3QsIHNzLCBzeikgQk9PU1RfUFBfSUYoQk9PU1RfUFBfREVDKHN6KSwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzI4LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCMjKDI4LCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzI4KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjksIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wIyMoMjksIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjkob3AsIHN0LCBzcywgc3opIEJPT1NUX1BQX0lGKEJPT1NUX1BQX0RFQyhzeiksIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8zMCwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9GKShvcCwgb3AjIygzMCwgc3QsIEJPT1NUX1BQX1NFUV9IRUFEKHNzKSksIEJPT1NUX1BQX1NFUV9UQUlMKHNzKSwgQk9PU1RfUFBfREVDKHN6KSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8zMChvcCwgc3QsIHNzLCBzeikgQk9PU1RfUFBfSUYoQk9PU1RfUFBfREVDKHN6KSwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzMxLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCMjKDMxLCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzMxKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMzIsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wIyMoMzIsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMzIob3AsIHN0LCBzcywgc3opIEJPT1NUX1BQX0lGKEJPT1NUX1BQX0RFQyhzeiksIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8zMywgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9GKShvcCwgb3AjIygzMywgc3QsIEJPT1NUX1BQX1NFUV9IRUFEKHNzKSksIEJPT1NUX1BQX1NFUV9UQUlMKHNzKSwgQk9PU1RfUFBfREVDKHN6KSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8zMyhvcCwgc3QsIHNzLCBzeikgQk9PU1RfUFBfSUYoQk9PU1RfUFBfREVDKHN6KSwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzM0LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCMjKDM0LCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzM0KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMzUsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wIyMoMzUsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMzUob3AsIHN0LCBzcywgc3opIEJPT1NUX1BQX0lGKEJPT1NUX1BQX0RFQyhzeiksIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8zNiwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9GKShvcCwgb3AjIygzNiwgc3QsIEJPT1NUX1BQX1NFUV9IRUFEKHNzKSksIEJPT1NUX1BQX1NFUV9UQUlMKHNzKSwgQk9PU1RfUFBfREVDKHN6KSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8zNihvcCwgc3QsIHNzLCBzeikgQk9PU1RfUFBfSUYoQk9PU1RfUFBfREVDKHN6KSwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzM3LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCMjKDM3LCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzM3KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMzgsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wIyMoMzgsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMzgob3AsIHN0LCBzcywgc3opIEJPT1NUX1BQX0lGKEJPT1NUX1BQX0RFQyhzeiksIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8zOSwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9GKShvcCwgb3AjIygzOSwgc3QsIEJPT1NUX1BQX1NFUV9IRUFEKHNzKSksIEJPT1NUX1BQX1NFUV9UQUlMKHNzKSwgQk9PU1RfUFBfREVDKHN6KSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8zOShvcCwgc3QsIHNzLCBzeikgQk9PU1RfUFBfSUYoQk9PU1RfUFBfREVDKHN6KSwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzQwLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCMjKDQwLCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzQwKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfNDEsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wIyMoNDEsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfNDEob3AsIHN0LCBzcywgc3opIEJPT1NUX1BQX0lGKEJPT1NUX1BQX0RFQyhzeiksIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV80MiwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9GKShvcCwgb3AjIyg0Miwgc3QsIEJPT1NUX1BQX1NFUV9IRUFEKHNzKSksIEJPT1NUX1BQX1NFUV9UQUlMKHNzKSwgQk9PU1RfUFBfREVDKHN6KSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV80MihvcCwgc3QsIHNzLCBzeikgQk9PU1RfUFBfSUYoQk9PU1RfUFBfREVDKHN6KSwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzQzLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCMjKDQzLCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzQzKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfNDQsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wIyMoNDQsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfNDQob3AsIHN0LCBzcywgc3opIEJPT1NUX1BQX0lGKEJPT1NUX1BQX0RFQyhzeiksIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV80NSwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9GKShvcCwgb3AjIyg0NSwgc3QsIEJPT1NUX1BQX1NFUV9IRUFEKHNzKSksIEJPT1NUX1BQX1NFUV9UQUlMKHNzKSwgQk9PU1RfUFBfREVDKHN6KSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV80NShvcCwgc3QsIHNzLCBzeikgQk9PU1RfUFBfSUYoQk9PU1RfUFBfREVDKHN6KSwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzQ2LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCMjKDQ2LCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzQ2KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfNDcsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wIyMoNDcsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfNDcob3AsIHN0LCBzcywgc3opIEJPT1NUX1BQX0lGKEJPT1NUX1BQX0RFQyhzeiksIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV80OCwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9GKShvcCwgb3AjIyg0OCwgc3QsIEJPT1NUX1BQX1NFUV9IRUFEKHNzKSksIEJPT1NUX1BQX1NFUV9UQUlMKHNzKSwgQk9PU1RfUFBfREVDKHN6KSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV80OChvcCwgc3QsIHNzLCBzeikgQk9PU1RfUFBfSUYoQk9PU1RfUFBfREVDKHN6KSwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzQ5LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCMjKDQ5LCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzQ5KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfNTAsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wIyMoNTAsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfNTAob3AsIHN0LCBzcywgc3opIEJPT1NUX1BQX0lGKEJPT1NUX1BQX0RFQyhzeiksIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV81MSwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9GKShvcCwgb3AjIyg1MSwgc3QsIEJPT1NUX1BQX1NFUV9IRUFEKHNzKSksIEJPT1NUX1BQX1NFUV9UQUlMKHNzKSwgQk9PU1RfUFBfREVDKHN6KSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV81MShvcCwgc3QsIHNzLCBzeikgQk9PU1RfUFBfSUYoQk9PU1RfUFBfREVDKHN6KSwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzUyLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCMjKDUyLCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzUyKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfNTMsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wIyMoNTMsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfNTMob3AsIHN0LCBzcywgc3opIEJPT1NUX1BQX0lGKEJPT1NUX1BQX0RFQyhzeiksIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV81NCwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9GKShvcCwgb3AjIyg1NCwgc3QsIEJPT1NUX1BQX1NFUV9IRUFEKHNzKSksIEJPT1NUX1BQX1NFUV9UQUlMKHNzKSwgQk9PU1RfUFBfREVDKHN6KSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV81NChvcCwgc3QsIHNzLCBzeikgQk9PU1RfUFBfSUYoQk9PU1RfUFBfREVDKHN6KSwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzU1LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCMjKDU1LCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzU1KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfNTYsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wIyMoNTYsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfNTYob3AsIHN0LCBzcywgc3opIEJPT1NUX1BQX0lGKEJPT1NUX1BQX0RFQyhzeiksIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV81NywgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9GKShvcCwgb3AjIyg1Nywgc3QsIEJPT1NUX1BQX1NFUV9IRUFEKHNzKSksIEJPT1NUX1BQX1NFUV9UQUlMKHNzKSwgQk9PU1RfUFBfREVDKHN6KSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV81NyhvcCwgc3QsIHNzLCBzeikgQk9PU1RfUFBfSUYoQk9PU1RfUFBfREVDKHN6KSwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzU4LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCMjKDU4LCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzU4KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfNTksIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wIyMoNTksIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfNTkob3AsIHN0LCBzcywgc3opIEJPT1NUX1BQX0lGKEJPT1NUX1BQX0RFQyhzeiksIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV82MCwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9GKShvcCwgb3AjIyg2MCwgc3QsIEJPT1NUX1BQX1NFUV9IRUFEKHNzKSksIEJPT1NUX1BQX1NFUV9UQUlMKHNzKSwgQk9PU1RfUFBfREVDKHN6KSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV82MChvcCwgc3QsIHNzLCBzeikgQk9PU1RfUFBfSUYoQk9PU1RfUFBfREVDKHN6KSwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzYxLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCMjKDYxLCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzYxKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfNjIsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wIyMoNjIsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfNjIob3AsIHN0LCBzcywgc3opIEJPT1NUX1BQX0lGKEJPT1NUX1BQX0RFQyhzeiksIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV82MywgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9GKShvcCwgb3AjIyg2Mywgc3QsIEJPT1NUX1BQX1NFUV9IRUFEKHNzKSksIEJPT1NUX1BQX1NFUV9UQUlMKHNzKSwgQk9PU1RfUFBfREVDKHN6KSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV82MyhvcCwgc3QsIHNzLCBzeikgQk9PU1RfUFBfSUYoQk9PU1RfUFBfREVDKHN6KSwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzY0LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCMjKDY0LCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzY0KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfNjUsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wIyMoNjUsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfNjUob3AsIHN0LCBzcywgc3opIEJPT1NUX1BQX0lGKEJPT1NUX1BQX0RFQyhzeiksIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV82NiwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9GKShvcCwgb3AjIyg2Niwgc3QsIEJPT1NUX1BQX1NFUV9IRUFEKHNzKSksIEJPT1NUX1BQX1NFUV9UQUlMKHNzKSwgQk9PU1RfUFBfREVDKHN6KSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV82NihvcCwgc3QsIHNzLCBzeikgQk9PU1RfUFBfSUYoQk9PU1RfUFBfREVDKHN6KSwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzY3LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCMjKDY3LCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzY3KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfNjgsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wIyMoNjgsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfNjgob3AsIHN0LCBzcywgc3opIEJPT1NUX1BQX0lGKEJPT1NUX1BQX0RFQyhzeiksIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV82OSwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9GKShvcCwgb3AjIyg2OSwgc3QsIEJPT1NUX1BQX1NFUV9IRUFEKHNzKSksIEJPT1NUX1BQX1NFUV9UQUlMKHNzKSwgQk9PU1RfUFBfREVDKHN6KSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV82OShvcCwgc3QsIHNzLCBzeikgQk9PU1RfUFBfSUYoQk9PU1RfUFBfREVDKHN6KSwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzcwLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCMjKDcwLCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzcwKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfNzEsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wIyMoNzEsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfNzEob3AsIHN0LCBzcywgc3opIEJPT1NUX1BQX0lGKEJPT1NUX1BQX0RFQyhzeiksIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV83MiwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9GKShvcCwgb3AjIyg3Miwgc3QsIEJPT1NUX1BQX1NFUV9IRUFEKHNzKSksIEJPT1NUX1BQX1NFUV9UQUlMKHNzKSwgQk9PU1RfUFBfREVDKHN6KSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV83MihvcCwgc3QsIHNzLCBzeikgQk9PU1RfUFBfSUYoQk9PU1RfUFBfREVDKHN6KSwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzczLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCMjKDczLCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzczKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfNzQsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wIyMoNzQsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfNzQob3AsIHN0LCBzcywgc3opIEJPT1NUX1BQX0lGKEJPT1NUX1BQX0RFQyhzeiksIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV83NSwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9GKShvcCwgb3AjIyg3NSwgc3QsIEJPT1NUX1BQX1NFUV9IRUFEKHNzKSksIEJPT1NUX1BQX1NFUV9UQUlMKHNzKSwgQk9PU1RfUFBfREVDKHN6KSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV83NShvcCwgc3QsIHNzLCBzeikgQk9PU1RfUFBfSUYoQk9PU1RfUFBfREVDKHN6KSwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzc2LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCMjKDc2LCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzc2KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfNzcsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wIyMoNzcsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfNzcob3AsIHN0LCBzcywgc3opIEJPT1NUX1BQX0lGKEJPT1NUX1BQX0RFQyhzeiksIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV83OCwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9GKShvcCwgb3AjIyg3OCwgc3QsIEJPT1NUX1BQX1NFUV9IRUFEKHNzKSksIEJPT1NUX1BQX1NFUV9UQUlMKHNzKSwgQk9PU1RfUFBfREVDKHN6KSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV83OChvcCwgc3QsIHNzLCBzeikgQk9PU1RfUFBfSUYoQk9PU1RfUFBfREVDKHN6KSwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzc5LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCMjKDc5LCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzc5KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfODAsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wIyMoODAsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfODAob3AsIHN0LCBzcywgc3opIEJPT1NUX1BQX0lGKEJPT1NUX1BQX0RFQyhzeiksIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV84MSwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9GKShvcCwgb3AjIyg4MSwgc3QsIEJPT1NUX1BQX1NFUV9IRUFEKHNzKSksIEJPT1NUX1BQX1NFUV9UQUlMKHNzKSwgQk9PU1RfUFBfREVDKHN6KSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV84MShvcCwgc3QsIHNzLCBzeikgQk9PU1RfUFBfSUYoQk9PU1RfUFBfREVDKHN6KSwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzgyLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCMjKDgyLCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzgyKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfODMsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wIyMoODMsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfODMob3AsIHN0LCBzcywgc3opIEJPT1NUX1BQX0lGKEJPT1NUX1BQX0RFQyhzeiksIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV84NCwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9GKShvcCwgb3AjIyg4NCwgc3QsIEJPT1NUX1BQX1NFUV9IRUFEKHNzKSksIEJPT1NUX1BQX1NFUV9UQUlMKHNzKSwgQk9PU1RfUFBfREVDKHN6KSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV84NChvcCwgc3QsIHNzLCBzeikgQk9PU1RfUFBfSUYoQk9PU1RfUFBfREVDKHN6KSwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzg1LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCMjKDg1LCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzg1KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfODYsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wIyMoODYsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfODYob3AsIHN0LCBzcywgc3opIEJPT1NUX1BQX0lGKEJPT1NUX1BQX0RFQyhzeiksIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV84NywgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9GKShvcCwgb3AjIyg4Nywgc3QsIEJPT1NUX1BQX1NFUV9IRUFEKHNzKSksIEJPT1NUX1BQX1NFUV9UQUlMKHNzKSwgQk9PU1RfUFBfREVDKHN6KSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV84NyhvcCwgc3QsIHNzLCBzeikgQk9PU1RfUFBfSUYoQk9PU1RfUFBfREVDKHN6KSwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzg4LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCMjKDg4LCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzg4KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfODksIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wIyMoODksIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfODkob3AsIHN0LCBzcywgc3opIEJPT1NUX1BQX0lGKEJPT1NUX1BQX0RFQyhzeiksIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV85MCwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9GKShvcCwgb3AjIyg5MCwgc3QsIEJPT1NUX1BQX1NFUV9IRUFEKHNzKSksIEJPT1NUX1BQX1NFUV9UQUlMKHNzKSwgQk9PU1RfUFBfREVDKHN6KSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV85MChvcCwgc3QsIHNzLCBzeikgQk9PU1RfUFBfSUYoQk9PU1RfUFBfREVDKHN6KSwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzkxLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCMjKDkxLCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzkxKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfOTIsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wIyMoOTIsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfOTIob3AsIHN0LCBzcywgc3opIEJPT1NUX1BQX0lGKEJPT1NUX1BQX0RFQyhzeiksIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV85MywgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9GKShvcCwgb3AjIyg5Mywgc3QsIEJPT1NUX1BQX1NFUV9IRUFEKHNzKSksIEJPT1NUX1BQX1NFUV9UQUlMKHNzKSwgQk9PU1RfUFBfREVDKHN6KSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV85MyhvcCwgc3QsIHNzLCBzeikgQk9PU1RfUFBfSUYoQk9PU1RfUFBfREVDKHN6KSwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzk0LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCMjKDk0LCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzk0KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfOTUsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wIyMoOTUsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfOTUob3AsIHN0LCBzcywgc3opIEJPT1NUX1BQX0lGKEJPT1NUX1BQX0RFQyhzeiksIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV85NiwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9GKShvcCwgb3AjIyg5Niwgc3QsIEJPT1NUX1BQX1NFUV9IRUFEKHNzKSksIEJPT1NUX1BQX1NFUV9UQUlMKHNzKSwgQk9PU1RfUFBfREVDKHN6KSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV85NihvcCwgc3QsIHNzLCBzeikgQk9PU1RfUFBfSUYoQk9PU1RfUFBfREVDKHN6KSwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzk3LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCMjKDk3LCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzk3KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfOTgsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wIyMoOTgsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfOTgob3AsIHN0LCBzcywgc3opIEJPT1NUX1BQX0lGKEJPT1NUX1BQX0RFQyhzeiksIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV85OSwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9GKShvcCwgb3AjIyg5OSwgc3QsIEJPT1NUX1BQX1NFUV9IRUFEKHNzKSksIEJPT1NUX1BQX1NFUV9UQUlMKHNzKSwgQk9PU1RfUFBfREVDKHN6KSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV85OShvcCwgc3QsIHNzLCBzeikgQk9PU1RfUFBfSUYoQk9PU1RfUFBfREVDKHN6KSwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzEwMCwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9GKShvcCwgb3AjIygxMDAsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTAwKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTAxLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCMjKDEwMSwgc3QsIEJPT1NUX1BQX1NFUV9IRUFEKHNzKSksIEJPT1NUX1BQX1NFUV9UQUlMKHNzKSwgQk9PU1RfUFBfREVDKHN6KSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xMDEob3AsIHN0LCBzcywgc3opIEJPT1NUX1BQX0lGKEJPT1NUX1BQX0RFQyhzeiksIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xMDIsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wIyMoMTAyLCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzEwMihvcCwgc3QsIHNzLCBzeikgQk9PU1RfUFBfSUYoQk9PU1RfUFBfREVDKHN6KSwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzEwMywgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9GKShvcCwgb3AjIygxMDMsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTAzKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTA0LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCMjKDEwNCwgc3QsIEJPT1NUX1BQX1NFUV9IRUFEKHNzKSksIEJPT1NUX1BQX1NFUV9UQUlMKHNzKSwgQk9PU1RfUFBfREVDKHN6KSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xMDQob3AsIHN0LCBzcywgc3opIEJPT1NUX1BQX0lGKEJPT1NUX1BQX0RFQyhzeiksIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xMDUsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wIyMoMTA1LCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzEwNShvcCwgc3QsIHNzLCBzeikgQk9PU1RfUFBfSUYoQk9PU1RfUFBfREVDKHN6KSwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzEwNiwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9GKShvcCwgb3AjIygxMDYsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTA2KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTA3LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCMjKDEwNywgc3QsIEJPT1NUX1BQX1NFUV9IRUFEKHNzKSksIEJPT1NUX1BQX1NFUV9UQUlMKHNzKSwgQk9PU1RfUFBfREVDKHN6KSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xMDcob3AsIHN0LCBzcywgc3opIEJPT1NUX1BQX0lGKEJPT1NUX1BQX0RFQyhzeiksIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xMDgsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wIyMoMTA4LCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzEwOChvcCwgc3QsIHNzLCBzeikgQk9PU1RfUFBfSUYoQk9PU1RfUFBfREVDKHN6KSwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzEwOSwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9GKShvcCwgb3AjIygxMDksIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTA5KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTEwLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCMjKDExMCwgc3QsIEJPT1NUX1BQX1NFUV9IRUFEKHNzKSksIEJPT1NUX1BQX1NFUV9UQUlMKHNzKSwgQk9PU1RfUFBfREVDKHN6KSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xMTAob3AsIHN0LCBzcywgc3opIEJPT1NUX1BQX0lGKEJPT1NUX1BQX0RFQyhzeiksIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xMTEsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wIyMoMTExLCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzExMShvcCwgc3QsIHNzLCBzeikgQk9PU1RfUFBfSUYoQk9PU1RfUFBfREVDKHN6KSwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzExMiwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9GKShvcCwgb3AjIygxMTIsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTEyKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTEzLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCMjKDExMywgc3QsIEJPT1NUX1BQX1NFUV9IRUFEKHNzKSksIEJPT1NUX1BQX1NFUV9UQUlMKHNzKSwgQk9PU1RfUFBfREVDKHN6KSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xMTMob3AsIHN0LCBzcywgc3opIEJPT1NUX1BQX0lGKEJPT1NUX1BQX0RFQyhzeiksIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xMTQsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wIyMoMTE0LCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzExNChvcCwgc3QsIHNzLCBzeikgQk9PU1RfUFBfSUYoQk9PU1RfUFBfREVDKHN6KSwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzExNSwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9GKShvcCwgb3AjIygxMTUsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTE1KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTE2LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCMjKDExNiwgc3QsIEJPT1NUX1BQX1NFUV9IRUFEKHNzKSksIEJPT1NUX1BQX1NFUV9UQUlMKHNzKSwgQk9PU1RfUFBfREVDKHN6KSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xMTYob3AsIHN0LCBzcywgc3opIEJPT1NUX1BQX0lGKEJPT1NUX1BQX0RFQyhzeiksIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xMTcsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wIyMoMTE3LCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzExNyhvcCwgc3QsIHNzLCBzeikgQk9PU1RfUFBfSUYoQk9PU1RfUFBfREVDKHN6KSwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzExOCwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9GKShvcCwgb3AjIygxMTgsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTE4KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTE5LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCMjKDExOSwgc3QsIEJPT1NUX1BQX1NFUV9IRUFEKHNzKSksIEJPT1NUX1BQX1NFUV9UQUlMKHNzKSwgQk9PU1RfUFBfREVDKHN6KSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xMTkob3AsIHN0LCBzcywgc3opIEJPT1NUX1BQX0lGKEJPT1NUX1BQX0RFQyhzeiksIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xMjAsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wIyMoMTIwLCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzEyMChvcCwgc3QsIHNzLCBzeikgQk9PU1RfUFBfSUYoQk9PU1RfUFBfREVDKHN6KSwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzEyMSwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9GKShvcCwgb3AjIygxMjEsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTIxKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTIyLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCMjKDEyMiwgc3QsIEJPT1NUX1BQX1NFUV9IRUFEKHNzKSksIEJPT1NUX1BQX1NFUV9UQUlMKHNzKSwgQk9PU1RfUFBfREVDKHN6KSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xMjIob3AsIHN0LCBzcywgc3opIEJPT1NUX1BQX0lGKEJPT1NUX1BQX0RFQyhzeiksIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xMjMsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wIyMoMTIzLCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzEyMyhvcCwgc3QsIHNzLCBzeikgQk9PU1RfUFBfSUYoQk9PU1RfUFBfREVDKHN6KSwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzEyNCwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9GKShvcCwgb3AjIygxMjQsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTI0KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTI1LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCMjKDEyNSwgc3QsIEJPT1NUX1BQX1NFUV9IRUFEKHNzKSksIEJPT1NUX1BQX1NFUV9UQUlMKHNzKSwgQk9PU1RfUFBfREVDKHN6KSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xMjUob3AsIHN0LCBzcywgc3opIEJPT1NUX1BQX0lGKEJPT1NUX1BQX0RFQyhzeiksIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xMjYsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wIyMoMTI2LCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzEyNihvcCwgc3QsIHNzLCBzeikgQk9PU1RfUFBfSUYoQk9PU1RfUFBfREVDKHN6KSwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzEyNywgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9GKShvcCwgb3AjIygxMjcsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTI3KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTI4LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCMjKDEyOCwgc3QsIEJPT1NUX1BQX1NFUV9IRUFEKHNzKSksIEJPT1NUX1BQX1NFUV9UQUlMKHNzKSwgQk9PU1RfUFBfREVDKHN6KSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xMjgob3AsIHN0LCBzcywgc3opIEJPT1NUX1BQX0lGKEJPT1NUX1BQX0RFQyhzeiksIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xMjksIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wIyMoMTI5LCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzEyOShvcCwgc3QsIHNzLCBzeikgQk9PU1RfUFBfSUYoQk9PU1RfUFBfREVDKHN6KSwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzEzMCwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9GKShvcCwgb3AjIygxMzAsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTMwKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTMxLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCMjKDEzMSwgc3QsIEJPT1NUX1BQX1NFUV9IRUFEKHNzKSksIEJPT1NUX1BQX1NFUV9UQUlMKHNzKSwgQk9PU1RfUFBfREVDKHN6KSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xMzEob3AsIHN0LCBzcywgc3opIEJPT1NUX1BQX0lGKEJPT1NUX1BQX0RFQyhzeiksIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xMzIsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wIyMoMTMyLCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzEzMihvcCwgc3QsIHNzLCBzeikgQk9PU1RfUFBfSUYoQk9PU1RfUFBfREVDKHN6KSwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzEzMywgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9GKShvcCwgb3AjIygxMzMsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTMzKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTM0LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCMjKDEzNCwgc3QsIEJPT1NUX1BQX1NFUV9IRUFEKHNzKSksIEJPT1NUX1BQX1NFUV9UQUlMKHNzKSwgQk9PU1RfUFBfREVDKHN6KSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xMzQob3AsIHN0LCBzcywgc3opIEJPT1NUX1BQX0lGKEJPT1NUX1BQX0RFQyhzeiksIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xMzUsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wIyMoMTM1LCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzEzNShvcCwgc3QsIHNzLCBzeikgQk9PU1RfUFBfSUYoQk9PU1RfUFBfREVDKHN6KSwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzEzNiwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9GKShvcCwgb3AjIygxMzYsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTM2KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTM3LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCMjKDEzNywgc3QsIEJPT1NUX1BQX1NFUV9IRUFEKHNzKSksIEJPT1NUX1BQX1NFUV9UQUlMKHNzKSwgQk9PU1RfUFBfREVDKHN6KSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xMzcob3AsIHN0LCBzcywgc3opIEJPT1NUX1BQX0lGKEJPT1NUX1BQX0RFQyhzeiksIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xMzgsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wIyMoMTM4LCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzEzOChvcCwgc3QsIHNzLCBzeikgQk9PU1RfUFBfSUYoQk9PU1RfUFBfREVDKHN6KSwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzEzOSwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9GKShvcCwgb3AjIygxMzksIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTM5KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTQwLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCMjKDE0MCwgc3QsIEJPT1NUX1BQX1NFUV9IRUFEKHNzKSksIEJPT1NUX1BQX1NFUV9UQUlMKHNzKSwgQk9PU1RfUFBfREVDKHN6KSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xNDAob3AsIHN0LCBzcywgc3opIEJPT1NUX1BQX0lGKEJPT1NUX1BQX0RFQyhzeiksIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xNDEsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wIyMoMTQxLCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzE0MShvcCwgc3QsIHNzLCBzeikgQk9PU1RfUFBfSUYoQk9PU1RfUFBfREVDKHN6KSwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzE0MiwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9GKShvcCwgb3AjIygxNDIsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTQyKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTQzLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCMjKDE0Mywgc3QsIEJPT1NUX1BQX1NFUV9IRUFEKHNzKSksIEJPT1NUX1BQX1NFUV9UQUlMKHNzKSwgQk9PU1RfUFBfREVDKHN6KSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xNDMob3AsIHN0LCBzcywgc3opIEJPT1NUX1BQX0lGKEJPT1NUX1BQX0RFQyhzeiksIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xNDQsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wIyMoMTQ0LCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzE0NChvcCwgc3QsIHNzLCBzeikgQk9PU1RfUFBfSUYoQk9PU1RfUFBfREVDKHN6KSwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzE0NSwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9GKShvcCwgb3AjIygxNDUsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTQ1KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTQ2LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCMjKDE0Niwgc3QsIEJPT1NUX1BQX1NFUV9IRUFEKHNzKSksIEJPT1NUX1BQX1NFUV9UQUlMKHNzKSwgQk9PU1RfUFBfREVDKHN6KSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xNDYob3AsIHN0LCBzcywgc3opIEJPT1NUX1BQX0lGKEJPT1NUX1BQX0RFQyhzeiksIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xNDcsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wIyMoMTQ3LCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzE0NyhvcCwgc3QsIHNzLCBzeikgQk9PU1RfUFBfSUYoQk9PU1RfUFBfREVDKHN6KSwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzE0OCwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9GKShvcCwgb3AjIygxNDgsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTQ4KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTQ5LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCMjKDE0OSwgc3QsIEJPT1NUX1BQX1NFUV9IRUFEKHNzKSksIEJPT1NUX1BQX1NFUV9UQUlMKHNzKSwgQk9PU1RfUFBfREVDKHN6KSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xNDkob3AsIHN0LCBzcywgc3opIEJPT1NUX1BQX0lGKEJPT1NUX1BQX0RFQyhzeiksIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xNTAsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wIyMoMTUwLCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzE1MChvcCwgc3QsIHNzLCBzeikgQk9PU1RfUFBfSUYoQk9PU1RfUFBfREVDKHN6KSwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzE1MSwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9GKShvcCwgb3AjIygxNTEsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTUxKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTUyLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCMjKDE1Miwgc3QsIEJPT1NUX1BQX1NFUV9IRUFEKHNzKSksIEJPT1NUX1BQX1NFUV9UQUlMKHNzKSwgQk9PU1RfUFBfREVDKHN6KSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xNTIob3AsIHN0LCBzcywgc3opIEJPT1NUX1BQX0lGKEJPT1NUX1BQX0RFQyhzeiksIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xNTMsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wIyMoMTUzLCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzE1MyhvcCwgc3QsIHNzLCBzeikgQk9PU1RfUFBfSUYoQk9PU1RfUFBfREVDKHN6KSwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzE1NCwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9GKShvcCwgb3AjIygxNTQsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTU0KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTU1LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCMjKDE1NSwgc3QsIEJPT1NUX1BQX1NFUV9IRUFEKHNzKSksIEJPT1NUX1BQX1NFUV9UQUlMKHNzKSwgQk9PU1RfUFBfREVDKHN6KSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xNTUob3AsIHN0LCBzcywgc3opIEJPT1NUX1BQX0lGKEJPT1NUX1BQX0RFQyhzeiksIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xNTYsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wIyMoMTU2LCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzE1NihvcCwgc3QsIHNzLCBzeikgQk9PU1RfUFBfSUYoQk9PU1RfUFBfREVDKHN6KSwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzE1NywgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9GKShvcCwgb3AjIygxNTcsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTU3KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTU4LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCMjKDE1OCwgc3QsIEJPT1NUX1BQX1NFUV9IRUFEKHNzKSksIEJPT1NUX1BQX1NFUV9UQUlMKHNzKSwgQk9PU1RfUFBfREVDKHN6KSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xNTgob3AsIHN0LCBzcywgc3opIEJPT1NUX1BQX0lGKEJPT1NUX1BQX0RFQyhzeiksIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xNTksIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wIyMoMTU5LCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzE1OShvcCwgc3QsIHNzLCBzeikgQk9PU1RfUFBfSUYoQk9PU1RfUFBfREVDKHN6KSwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzE2MCwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9GKShvcCwgb3AjIygxNjAsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTYwKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTYxLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCMjKDE2MSwgc3QsIEJPT1NUX1BQX1NFUV9IRUFEKHNzKSksIEJPT1NUX1BQX1NFUV9UQUlMKHNzKSwgQk9PU1RfUFBfREVDKHN6KSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xNjEob3AsIHN0LCBzcywgc3opIEJPT1NUX1BQX0lGKEJPT1NUX1BQX0RFQyhzeiksIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xNjIsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wIyMoMTYyLCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzE2MihvcCwgc3QsIHNzLCBzeikgQk9PU1RfUFBfSUYoQk9PU1RfUFBfREVDKHN6KSwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzE2MywgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9GKShvcCwgb3AjIygxNjMsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTYzKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTY0LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCMjKDE2NCwgc3QsIEJPT1NUX1BQX1NFUV9IRUFEKHNzKSksIEJPT1NUX1BQX1NFUV9UQUlMKHNzKSwgQk9PU1RfUFBfREVDKHN6KSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xNjQob3AsIHN0LCBzcywgc3opIEJPT1NUX1BQX0lGKEJPT1NUX1BQX0RFQyhzeiksIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xNjUsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wIyMoMTY1LCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzE2NShvcCwgc3QsIHNzLCBzeikgQk9PU1RfUFBfSUYoQk9PU1RfUFBfREVDKHN6KSwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzE2NiwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9GKShvcCwgb3AjIygxNjYsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTY2KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTY3LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCMjKDE2Nywgc3QsIEJPT1NUX1BQX1NFUV9IRUFEKHNzKSksIEJPT1NUX1BQX1NFUV9UQUlMKHNzKSwgQk9PU1RfUFBfREVDKHN6KSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xNjcob3AsIHN0LCBzcywgc3opIEJPT1NUX1BQX0lGKEJPT1NUX1BQX0RFQyhzeiksIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xNjgsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wIyMoMTY4LCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzE2OChvcCwgc3QsIHNzLCBzeikgQk9PU1RfUFBfSUYoQk9PU1RfUFBfREVDKHN6KSwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzE2OSwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9GKShvcCwgb3AjIygxNjksIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTY5KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTcwLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCMjKDE3MCwgc3QsIEJPT1NUX1BQX1NFUV9IRUFEKHNzKSksIEJPT1NUX1BQX1NFUV9UQUlMKHNzKSwgQk9PU1RfUFBfREVDKHN6KSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xNzAob3AsIHN0LCBzcywgc3opIEJPT1NUX1BQX0lGKEJPT1NUX1BQX0RFQyhzeiksIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xNzEsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wIyMoMTcxLCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzE3MShvcCwgc3QsIHNzLCBzeikgQk9PU1RfUFBfSUYoQk9PU1RfUFBfREVDKHN6KSwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzE3MiwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9GKShvcCwgb3AjIygxNzIsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTcyKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTczLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCMjKDE3Mywgc3QsIEJPT1NUX1BQX1NFUV9IRUFEKHNzKSksIEJPT1NUX1BQX1NFUV9UQUlMKHNzKSwgQk9PU1RfUFBfREVDKHN6KSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xNzMob3AsIHN0LCBzcywgc3opIEJPT1NUX1BQX0lGKEJPT1NUX1BQX0RFQyhzeiksIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xNzQsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wIyMoMTc0LCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzE3NChvcCwgc3QsIHNzLCBzeikgQk9PU1RfUFBfSUYoQk9PU1RfUFBfREVDKHN6KSwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzE3NSwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9GKShvcCwgb3AjIygxNzUsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTc1KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTc2LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCMjKDE3Niwgc3QsIEJPT1NUX1BQX1NFUV9IRUFEKHNzKSksIEJPT1NUX1BQX1NFUV9UQUlMKHNzKSwgQk9PU1RfUFBfREVDKHN6KSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xNzYob3AsIHN0LCBzcywgc3opIEJPT1NUX1BQX0lGKEJPT1NUX1BQX0RFQyhzeiksIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xNzcsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wIyMoMTc3LCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzE3NyhvcCwgc3QsIHNzLCBzeikgQk9PU1RfUFBfSUYoQk9PU1RfUFBfREVDKHN6KSwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzE3OCwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9GKShvcCwgb3AjIygxNzgsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTc4KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTc5LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCMjKDE3OSwgc3QsIEJPT1NUX1BQX1NFUV9IRUFEKHNzKSksIEJPT1NUX1BQX1NFUV9UQUlMKHNzKSwgQk9PU1RfUFBfREVDKHN6KSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xNzkob3AsIHN0LCBzcywgc3opIEJPT1NUX1BQX0lGKEJPT1NUX1BQX0RFQyhzeiksIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xODAsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wIyMoMTgwLCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzE4MChvcCwgc3QsIHNzLCBzeikgQk9PU1RfUFBfSUYoQk9PU1RfUFBfREVDKHN6KSwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzE4MSwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9GKShvcCwgb3AjIygxODEsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTgxKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTgyLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCMjKDE4Miwgc3QsIEJPT1NUX1BQX1NFUV9IRUFEKHNzKSksIEJPT1NUX1BQX1NFUV9UQUlMKHNzKSwgQk9PU1RfUFBfREVDKHN6KSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xODIob3AsIHN0LCBzcywgc3opIEJPT1NUX1BQX0lGKEJPT1NUX1BQX0RFQyhzeiksIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xODMsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wIyMoMTgzLCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzE4MyhvcCwgc3QsIHNzLCBzeikgQk9PU1RfUFBfSUYoQk9PU1RfUFBfREVDKHN6KSwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzE4NCwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9GKShvcCwgb3AjIygxODQsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTg0KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTg1LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCMjKDE4NSwgc3QsIEJPT1NUX1BQX1NFUV9IRUFEKHNzKSksIEJPT1NUX1BQX1NFUV9UQUlMKHNzKSwgQk9PU1RfUFBfREVDKHN6KSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xODUob3AsIHN0LCBzcywgc3opIEJPT1NUX1BQX0lGKEJPT1NUX1BQX0RFQyhzeiksIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xODYsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wIyMoMTg2LCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzE4NihvcCwgc3QsIHNzLCBzeikgQk9PU1RfUFBfSUYoQk9PU1RfUFBfREVDKHN6KSwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzE4NywgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9GKShvcCwgb3AjIygxODcsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTg3KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTg4LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCMjKDE4OCwgc3QsIEJPT1NUX1BQX1NFUV9IRUFEKHNzKSksIEJPT1NUX1BQX1NFUV9UQUlMKHNzKSwgQk9PU1RfUFBfREVDKHN6KSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xODgob3AsIHN0LCBzcywgc3opIEJPT1NUX1BQX0lGKEJPT1NUX1BQX0RFQyhzeiksIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xODksIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wIyMoMTg5LCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzE4OShvcCwgc3QsIHNzLCBzeikgQk9PU1RfUFBfSUYoQk9PU1RfUFBfREVDKHN6KSwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzE5MCwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9GKShvcCwgb3AjIygxOTAsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTkwKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTkxLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCMjKDE5MSwgc3QsIEJPT1NUX1BQX1NFUV9IRUFEKHNzKSksIEJPT1NUX1BQX1NFUV9UQUlMKHNzKSwgQk9PU1RfUFBfREVDKHN6KSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xOTEob3AsIHN0LCBzcywgc3opIEJPT1NUX1BQX0lGKEJPT1NUX1BQX0RFQyhzeiksIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xOTIsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wIyMoMTkyLCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzE5MihvcCwgc3QsIHNzLCBzeikgQk9PU1RfUFBfSUYoQk9PU1RfUFBfREVDKHN6KSwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzE5MywgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9GKShvcCwgb3AjIygxOTMsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTkzKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTk0LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCMjKDE5NCwgc3QsIEJPT1NUX1BQX1NFUV9IRUFEKHNzKSksIEJPT1NUX1BQX1NFUV9UQUlMKHNzKSwgQk9PU1RfUFBfREVDKHN6KSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xOTQob3AsIHN0LCBzcywgc3opIEJPT1NUX1BQX0lGKEJPT1NUX1BQX0RFQyhzeiksIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xOTUsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wIyMoMTk1LCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzE5NShvcCwgc3QsIHNzLCBzeikgQk9PU1RfUFBfSUYoQk9PU1RfUFBfREVDKHN6KSwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzE5NiwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9GKShvcCwgb3AjIygxOTYsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTk2KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTk3LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCMjKDE5Nywgc3QsIEJPT1NUX1BQX1NFUV9IRUFEKHNzKSksIEJPT1NUX1BQX1NFUV9UQUlMKHNzKSwgQk9PU1RfUFBfREVDKHN6KSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xOTcob3AsIHN0LCBzcywgc3opIEJPT1NUX1BQX0lGKEJPT1NUX1BQX0RFQyhzeiksIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8xOTgsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wIyMoMTk4LCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzE5OChvcCwgc3QsIHNzLCBzeikgQk9PU1RfUFBfSUYoQk9PU1RfUFBfREVDKHN6KSwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzE5OSwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9GKShvcCwgb3AjIygxOTksIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMTk5KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjAwLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCMjKDIwMCwgc3QsIEJPT1NUX1BQX1NFUV9IRUFEKHNzKSksIEJPT1NUX1BQX1NFUV9UQUlMKHNzKSwgQk9PU1RfUFBfREVDKHN6KSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8yMDAob3AsIHN0LCBzcywgc3opIEJPT1NUX1BQX0lGKEJPT1NUX1BQX0RFQyhzeiksIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8yMDEsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wIyMoMjAxLCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzIwMShvcCwgc3QsIHNzLCBzeikgQk9PU1RfUFBfSUYoQk9PU1RfUFBfREVDKHN6KSwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzIwMiwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9GKShvcCwgb3AjIygyMDIsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjAyKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjAzLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCMjKDIwMywgc3QsIEJPT1NUX1BQX1NFUV9IRUFEKHNzKSksIEJPT1NUX1BQX1NFUV9UQUlMKHNzKSwgQk9PU1RfUFBfREVDKHN6KSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8yMDMob3AsIHN0LCBzcywgc3opIEJPT1NUX1BQX0lGKEJPT1NUX1BQX0RFQyhzeiksIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8yMDQsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wIyMoMjA0LCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzIwNChvcCwgc3QsIHNzLCBzeikgQk9PU1RfUFBfSUYoQk9PU1RfUFBfREVDKHN6KSwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzIwNSwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9GKShvcCwgb3AjIygyMDUsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjA1KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjA2LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCMjKDIwNiwgc3QsIEJPT1NUX1BQX1NFUV9IRUFEKHNzKSksIEJPT1NUX1BQX1NFUV9UQUlMKHNzKSwgQk9PU1RfUFBfREVDKHN6KSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8yMDYob3AsIHN0LCBzcywgc3opIEJPT1NUX1BQX0lGKEJPT1NUX1BQX0RFQyhzeiksIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8yMDcsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wIyMoMjA3LCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzIwNyhvcCwgc3QsIHNzLCBzeikgQk9PU1RfUFBfSUYoQk9PU1RfUFBfREVDKHN6KSwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzIwOCwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9GKShvcCwgb3AjIygyMDgsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjA4KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjA5LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCMjKDIwOSwgc3QsIEJPT1NUX1BQX1NFUV9IRUFEKHNzKSksIEJPT1NUX1BQX1NFUV9UQUlMKHNzKSwgQk9PU1RfUFBfREVDKHN6KSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8yMDkob3AsIHN0LCBzcywgc3opIEJPT1NUX1BQX0lGKEJPT1NUX1BQX0RFQyhzeiksIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8yMTAsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wIyMoMjEwLCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzIxMChvcCwgc3QsIHNzLCBzeikgQk9PU1RfUFBfSUYoQk9PU1RfUFBfREVDKHN6KSwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzIxMSwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9GKShvcCwgb3AjIygyMTEsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjExKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjEyLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCMjKDIxMiwgc3QsIEJPT1NUX1BQX1NFUV9IRUFEKHNzKSksIEJPT1NUX1BQX1NFUV9UQUlMKHNzKSwgQk9PU1RfUFBfREVDKHN6KSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8yMTIob3AsIHN0LCBzcywgc3opIEJPT1NUX1BQX0lGKEJPT1NUX1BQX0RFQyhzeiksIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8yMTMsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wIyMoMjEzLCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzIxMyhvcCwgc3QsIHNzLCBzeikgQk9PU1RfUFBfSUYoQk9PU1RfUFBfREVDKHN6KSwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzIxNCwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9GKShvcCwgb3AjIygyMTQsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjE0KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjE1LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCMjKDIxNSwgc3QsIEJPT1NUX1BQX1NFUV9IRUFEKHNzKSksIEJPT1NUX1BQX1NFUV9UQUlMKHNzKSwgQk9PU1RfUFBfREVDKHN6KSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8yMTUob3AsIHN0LCBzcywgc3opIEJPT1NUX1BQX0lGKEJPT1NUX1BQX0RFQyhzeiksIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8yMTYsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wIyMoMjE2LCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzIxNihvcCwgc3QsIHNzLCBzeikgQk9PU1RfUFBfSUYoQk9PU1RfUFBfREVDKHN6KSwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzIxNywgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9GKShvcCwgb3AjIygyMTcsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjE3KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjE4LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCMjKDIxOCwgc3QsIEJPT1NUX1BQX1NFUV9IRUFEKHNzKSksIEJPT1NUX1BQX1NFUV9UQUlMKHNzKSwgQk9PU1RfUFBfREVDKHN6KSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8yMTgob3AsIHN0LCBzcywgc3opIEJPT1NUX1BQX0lGKEJPT1NUX1BQX0RFQyhzeiksIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8yMTksIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wIyMoMjE5LCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzIxOShvcCwgc3QsIHNzLCBzeikgQk9PU1RfUFBfSUYoQk9PU1RfUFBfREVDKHN6KSwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzIyMCwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9GKShvcCwgb3AjIygyMjAsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjIwKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjIxLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCMjKDIyMSwgc3QsIEJPT1NUX1BQX1NFUV9IRUFEKHNzKSksIEJPT1NUX1BQX1NFUV9UQUlMKHNzKSwgQk9PU1RfUFBfREVDKHN6KSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8yMjEob3AsIHN0LCBzcywgc3opIEJPT1NUX1BQX0lGKEJPT1NUX1BQX0RFQyhzeiksIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8yMjIsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wIyMoMjIyLCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzIyMihvcCwgc3QsIHNzLCBzeikgQk9PU1RfUFBfSUYoQk9PU1RfUFBfREVDKHN6KSwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzIyMywgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9GKShvcCwgb3AjIygyMjMsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjIzKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjI0LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCMjKDIyNCwgc3QsIEJPT1NUX1BQX1NFUV9IRUFEKHNzKSksIEJPT1NUX1BQX1NFUV9UQUlMKHNzKSwgQk9PU1RfUFBfREVDKHN6KSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8yMjQob3AsIHN0LCBzcywgc3opIEJPT1NUX1BQX0lGKEJPT1NUX1BQX0RFQyhzeiksIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8yMjUsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wIyMoMjI1LCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzIyNShvcCwgc3QsIHNzLCBzeikgQk9PU1RfUFBfSUYoQk9PU1RfUFBfREVDKHN6KSwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzIyNiwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9GKShvcCwgb3AjIygyMjYsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjI2KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjI3LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCMjKDIyNywgc3QsIEJPT1NUX1BQX1NFUV9IRUFEKHNzKSksIEJPT1NUX1BQX1NFUV9UQUlMKHNzKSwgQk9PU1RfUFBfREVDKHN6KSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8yMjcob3AsIHN0LCBzcywgc3opIEJPT1NUX1BQX0lGKEJPT1NUX1BQX0RFQyhzeiksIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8yMjgsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wIyMoMjI4LCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzIyOChvcCwgc3QsIHNzLCBzeikgQk9PU1RfUFBfSUYoQk9PU1RfUFBfREVDKHN6KSwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzIyOSwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9GKShvcCwgb3AjIygyMjksIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjI5KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjMwLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCMjKDIzMCwgc3QsIEJPT1NUX1BQX1NFUV9IRUFEKHNzKSksIEJPT1NUX1BQX1NFUV9UQUlMKHNzKSwgQk9PU1RfUFBfREVDKHN6KSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8yMzAob3AsIHN0LCBzcywgc3opIEJPT1NUX1BQX0lGKEJPT1NUX1BQX0RFQyhzeiksIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8yMzEsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wIyMoMjMxLCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzIzMShvcCwgc3QsIHNzLCBzeikgQk9PU1RfUFBfSUYoQk9PU1RfUFBfREVDKHN6KSwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzIzMiwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9GKShvcCwgb3AjIygyMzIsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjMyKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjMzLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCMjKDIzMywgc3QsIEJPT1NUX1BQX1NFUV9IRUFEKHNzKSksIEJPT1NUX1BQX1NFUV9UQUlMKHNzKSwgQk9PU1RfUFBfREVDKHN6KSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8yMzMob3AsIHN0LCBzcywgc3opIEJPT1NUX1BQX0lGKEJPT1NUX1BQX0RFQyhzeiksIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8yMzQsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wIyMoMjM0LCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzIzNChvcCwgc3QsIHNzLCBzeikgQk9PU1RfUFBfSUYoQk9PU1RfUFBfREVDKHN6KSwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzIzNSwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9GKShvcCwgb3AjIygyMzUsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjM1KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjM2LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCMjKDIzNiwgc3QsIEJPT1NUX1BQX1NFUV9IRUFEKHNzKSksIEJPT1NUX1BQX1NFUV9UQUlMKHNzKSwgQk9PU1RfUFBfREVDKHN6KSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8yMzYob3AsIHN0LCBzcywgc3opIEJPT1NUX1BQX0lGKEJPT1NUX1BQX0RFQyhzeiksIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8yMzcsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wIyMoMjM3LCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzIzNyhvcCwgc3QsIHNzLCBzeikgQk9PU1RfUFBfSUYoQk9PU1RfUFBfREVDKHN6KSwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzIzOCwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9GKShvcCwgb3AjIygyMzgsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjM4KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjM5LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCMjKDIzOSwgc3QsIEJPT1NUX1BQX1NFUV9IRUFEKHNzKSksIEJPT1NUX1BQX1NFUV9UQUlMKHNzKSwgQk9PU1RfUFBfREVDKHN6KSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8yMzkob3AsIHN0LCBzcywgc3opIEJPT1NUX1BQX0lGKEJPT1NUX1BQX0RFQyhzeiksIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8yNDAsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wIyMoMjQwLCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzI0MChvcCwgc3QsIHNzLCBzeikgQk9PU1RfUFBfSUYoQk9PU1RfUFBfREVDKHN6KSwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzI0MSwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9GKShvcCwgb3AjIygyNDEsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjQxKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjQyLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCMjKDI0Miwgc3QsIEJPT1NUX1BQX1NFUV9IRUFEKHNzKSksIEJPT1NUX1BQX1NFUV9UQUlMKHNzKSwgQk9PU1RfUFBfREVDKHN6KSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8yNDIob3AsIHN0LCBzcywgc3opIEJPT1NUX1BQX0lGKEJPT1NUX1BQX0RFQyhzeiksIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8yNDMsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wIyMoMjQzLCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzI0MyhvcCwgc3QsIHNzLCBzeikgQk9PU1RfUFBfSUYoQk9PU1RfUFBfREVDKHN6KSwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzI0NCwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9GKShvcCwgb3AjIygyNDQsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjQ0KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjQ1LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCMjKDI0NSwgc3QsIEJPT1NUX1BQX1NFUV9IRUFEKHNzKSksIEJPT1NUX1BQX1NFUV9UQUlMKHNzKSwgQk9PU1RfUFBfREVDKHN6KSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8yNDUob3AsIHN0LCBzcywgc3opIEJPT1NUX1BQX0lGKEJPT1NUX1BQX0RFQyhzeiksIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8yNDYsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wIyMoMjQ2LCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzI0NihvcCwgc3QsIHNzLCBzeikgQk9PU1RfUFBfSUYoQk9PU1RfUFBfREVDKHN6KSwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzI0NywgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9GKShvcCwgb3AjIygyNDcsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjQ3KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjQ4LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCMjKDI0OCwgc3QsIEJPT1NUX1BQX1NFUV9IRUFEKHNzKSksIEJPT1NUX1BQX1NFUV9UQUlMKHNzKSwgQk9PU1RfUFBfREVDKHN6KSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8yNDgob3AsIHN0LCBzcywgc3opIEJPT1NUX1BQX0lGKEJPT1NUX1BQX0RFQyhzeiksIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8yNDksIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wIyMoMjQ5LCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzI0OShvcCwgc3QsIHNzLCBzeikgQk9PU1RfUFBfSUYoQk9PU1RfUFBfREVDKHN6KSwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzI1MCwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9GKShvcCwgb3AjIygyNTAsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjUwKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjUxLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCMjKDI1MSwgc3QsIEJPT1NUX1BQX1NFUV9IRUFEKHNzKSksIEJPT1NUX1BQX1NFUV9UQUlMKHNzKSwgQk9PU1RfUFBfREVDKHN6KSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8yNTEob3AsIHN0LCBzcywgc3opIEJPT1NUX1BQX0lGKEJPT1NUX1BQX0RFQyhzeiksIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8yNTIsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wIyMoMjUyLCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzI1MihvcCwgc3QsIHNzLCBzeikgQk9PU1RfUFBfSUYoQk9PU1RfUFBfREVDKHN6KSwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzI1MywgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9GKShvcCwgb3AjIygyNTMsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjUzKG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjU0LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCMjKDI1NCwgc3QsIEJPT1NUX1BQX1NFUV9IRUFEKHNzKSksIEJPT1NUX1BQX1NFUV9UQUlMKHNzKSwgQk9PU1RfUFBfREVDKHN6KSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8yNTQob3AsIHN0LCBzcywgc3opIEJPT1NUX1BQX0lGKEJPT1NUX1BQX0RFQyhzeiksIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfSV8yNTUsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlRfRikob3AsIG9wIyMoMjU1LCBzdCwgQk9PU1RfUFBfU0VRX0hFQUQoc3MpKSwgQk9PU1RfUFBfU0VRX1RBSUwoc3MpLCBCT09TVF9QUF9ERUMoc3opKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzI1NShvcCwgc3QsIHNzLCBzeikgQk9PU1RfUFBfSUYoQk9PU1RfUFBfREVDKHN6KSwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9JXzI1NiwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF9GKShvcCwgb3AjIygyNTYsIHN0LCBCT09TVF9QUF9TRVFfSEVBRChzcykpLCBCT09TVF9QUF9TRVFfVEFJTChzcyksIEJPT1NUX1BQX0RFQyhzeikpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjU2KG9wLCBzdCwgc3MsIHN6KSBCT09TVF9QUF9JRihCT09TVF9QUF9ERUMoc3opLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0lfMjU3LCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUX0YpKG9wLCBvcCMjKDI1Nywgc3QsIEJPT1NUX1BQX1NFUV9IRUFEKHNzKSksIEJPT1NUX1BQX1NFUV9UQUlMKHNzKSwgQk9PU1RfUFBfREVDKHN6KSkKKyMgZW5kaWYKKyMKKyMgZW5kaWYKZGlmZiAtLWdpdCBhL25kbmJvb3N0L3ByZXByb2Nlc3Nvci9zZXEvZm9yX2VhY2hfaS5ocHAgYi9uZG5ib29zdC9wcmVwcm9jZXNzb3Ivc2VxL2Zvcl9lYWNoX2kuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFiMzZiYWEKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9wcmVwcm9jZXNzb3Ivc2VxL2Zvcl9lYWNoX2kuaHBwCkBAIC0wLDAgKzEsNjEgQEAKKyMgLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyMgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoKKyMgICogICAgIChDKSBDb3B5cmlnaHQgUGF1bCBNZW5zb25pZGVzIDIwMDIuCisjICAqICAgICBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIChTZWUKKyMgICogICAgIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0CisjICAqICAgICBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisjICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqCisjICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqLworIworIyAvKiBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcgZm9yIG1vc3QgcmVjZW50IHZlcnNpb24uICovCisjCisjIGlmbmRlZiBCT09TVF9QUkVQUk9DRVNTT1JfU0VRX0ZPUl9FQUNIX0lfSFBQCisjIGRlZmluZSBCT09TVF9QUkVQUk9DRVNTT1JfU0VRX0ZPUl9FQUNIX0lfSFBQCisjCisjIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9hcml0aG1ldGljL2RlYy5ocHA+CisjIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9hcml0aG1ldGljL2luYy5ocHA+CisjIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9jb25maWcvY29uZmlnLmhwcD4KKyMgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL3JlcGV0aXRpb24vZm9yLmhwcD4KKyMgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL3NlcS9zZXEuaHBwPgorIyBpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3Ivc2VxL3NpemUuaHBwPgorIyBpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3IvdHVwbGUvZWxlbS5ocHA+CisjIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci90dXBsZS9yZW0uaHBwPgorIworIyAvKiBCT09TVF9QUF9TRVFfRk9SX0VBQ0hfSSAqLworIworIyBpZiB+Qk9PU1RfUFBfQ09ORklHX0ZMQUdTKCkgJiBCT09TVF9QUF9DT05GSUdfRURHKCkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT1JfRUFDSF9JKG1hY3JvLCBkYXRhLCBzZXEpIEJPT1NUX1BQX0ZPUigobWFjcm8sIGRhdGEsIHNlcSAobmlsKSwgMCksIEJPT1NUX1BQX1NFUV9GT1JfRUFDSF9JX1AsIEJPT1NUX1BQX1NFUV9GT1JfRUFDSF9JX08sIEJPT1NUX1BQX1NFUV9GT1JfRUFDSF9JX00pCisjIGVsc2UKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT1JfRUFDSF9JKG1hY3JvLCBkYXRhLCBzZXEpIEJPT1NUX1BQX1NFUV9GT1JfRUFDSF9JX0kobWFjcm8sIGRhdGEsIHNlcSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT1JfRUFDSF9JX0kobWFjcm8sIGRhdGEsIHNlcSkgQk9PU1RfUFBfRk9SKChtYWNybywgZGF0YSwgc2VxIChuaWwpLCAwKSwgQk9PU1RfUFBfU0VRX0ZPUl9FQUNIX0lfUCwgQk9PU1RfUFBfU0VRX0ZPUl9FQUNIX0lfTywgQk9PU1RfUFBfU0VRX0ZPUl9FQUNIX0lfTSkKKyMgZW5kaWYKKyMKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT1JfRUFDSF9JX1AociwgeCkgQk9PU1RfUFBfREVDKEJPT1NUX1BQX1NFUV9TSVpFKEJPT1NUX1BQX1RVUExFX0VMRU0oNCwgMiwgeCkpKQorIworIyBpZiBCT09TVF9QUF9DT05GSUdfRkxBR1MoKSAmIEJPT1NUX1BQX0NPTkZJR19TVFJJQ1QoKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPUl9FQUNIX0lfTyhyLCB4KSBCT09TVF9QUF9TRVFfRk9SX0VBQ0hfSV9PX0kgeAorIyBlbHNlCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9SX0VBQ0hfSV9PKHIsIHgpIEJPT1NUX1BQX1NFUV9GT1JfRUFDSF9JX09fSShCT09TVF9QUF9UVVBMRV9FTEVNKDQsIDAsIHgpLCBCT09TVF9QUF9UVVBMRV9FTEVNKDQsIDEsIHgpLCBCT09TVF9QUF9UVVBMRV9FTEVNKDQsIDIsIHgpLCBCT09TVF9QUF9UVVBMRV9FTEVNKDQsIDMsIHgpKQorIyBlbmRpZgorIworIyBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPUl9FQUNIX0lfT19JKG1hY3JvLCBkYXRhLCBzZXEsIGkpIChtYWNybywgZGF0YSwgQk9PU1RfUFBfU0VRX1RBSUwoc2VxKSwgQk9PU1RfUFBfSU5DKGkpKQorIworIyBpZiBCT09TVF9QUF9DT05GSUdfRkxBR1MoKSAmIEJPT1NUX1BQX0NPTkZJR19TVFJJQ1QoKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPUl9FQUNIX0lfTShyLCB4KSBCT09TVF9QUF9TRVFfRk9SX0VBQ0hfSV9NX0lNKHIsIEJPT1NUX1BQX1RVUExFX1JFTV80IHgpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfRk9SX0VBQ0hfSV9NX0lNKHIsIGltKSBCT09TVF9QUF9TRVFfRk9SX0VBQ0hfSV9NX0kociwgaW0pCisjIGVsc2UKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT1JfRUFDSF9JX00ociwgeCkgQk9PU1RfUFBfU0VRX0ZPUl9FQUNIX0lfTV9JKHIsIEJPT1NUX1BQX1RVUExFX0VMRU0oNCwgMCwgeCksIEJPT1NUX1BQX1RVUExFX0VMRU0oNCwgMSwgeCksIEJPT1NUX1BQX1RVUExFX0VMRU0oNCwgMiwgeCksIEJPT1NUX1BQX1RVUExFX0VMRU0oNCwgMywgeCkpCisjIGVuZGlmCisjCisjIGRlZmluZSBCT09TVF9QUF9TRVFfRk9SX0VBQ0hfSV9NX0kociwgbWFjcm8sIGRhdGEsIHNlcSwgaSkgbWFjcm8ociwgZGF0YSwgaSwgQk9PU1RfUFBfU0VRX0hFQUQoc2VxKSkKKyMKKyMgLyogQk9PU1RfUFBfU0VRX0ZPUl9FQUNIX0lfUiAqLworIworIyBpZiB+Qk9PU1RfUFBfQ09ORklHX0ZMQUdTKCkgJiBCT09TVF9QUF9DT05GSUdfRURHKCkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT1JfRUFDSF9JX1IociwgbWFjcm8sIGRhdGEsIHNlcSkgQk9PU1RfUFBfRk9SXyAjIyByKChtYWNybywgZGF0YSwgc2VxIChuaWwpLCAwKSwgQk9PU1RfUFBfU0VRX0ZPUl9FQUNIX0lfUCwgQk9PU1RfUFBfU0VRX0ZPUl9FQUNIX0lfTywgQk9PU1RfUFBfU0VRX0ZPUl9FQUNIX0lfTSkKKyMgZWxzZQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX0ZPUl9FQUNIX0lfUihyLCBtYWNybywgZGF0YSwgc2VxKSBCT09TVF9QUF9TRVFfRk9SX0VBQ0hfSV9SX0kociwgbWFjcm8sIGRhdGEsIHNlcSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9GT1JfRUFDSF9JX1JfSShyLCBtYWNybywgZGF0YSwgc2VxKSBCT09TVF9QUF9GT1JfICMjIHIoKG1hY3JvLCBkYXRhLCBzZXEgKG5pbCksIDApLCBCT09TVF9QUF9TRVFfRk9SX0VBQ0hfSV9QLCBCT09TVF9QUF9TRVFfRk9SX0VBQ0hfSV9PLCBCT09TVF9QUF9TRVFfRk9SX0VBQ0hfSV9NKQorIyBlbmRpZgorIworIyBlbmRpZgpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvcHJlcHJvY2Vzc29yL3NlcS9yZXN0X24uaHBwIGIvbmRuYm9vc3QvcHJlcHJvY2Vzc29yL3NlcS9yZXN0X24uaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZmZDNkODQKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9wcmVwcm9jZXNzb3Ivc2VxL3Jlc3Rfbi5ocHAKQEAgLTAsMCArMSwzMCBAQAorIyAvKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorIyAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKgorIyAgKiAgICAgKEMpIENvcHlyaWdodCBQYXVsIE1lbnNvbmlkZXMgMjAwMi4KKyMgICogICAgIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gKFNlZQorIyAgKiAgICAgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQKKyMgICogICAgIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKyMgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoKKyMgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovCisjCisjIC8qIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZyBmb3IgbW9zdCByZWNlbnQgdmVyc2lvbi4gKi8KKyMKKyMgaWZuZGVmIEJPT1NUX1BSRVBST0NFU1NPUl9TRVFfUkVTVF9OX0hQUAorIyBkZWZpbmUgQk9PU1RfUFJFUFJPQ0VTU09SX1NFUV9SRVNUX05fSFBQCisjCisjIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9hcml0aG1ldGljL2luYy5ocHA+CisjIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9jb25maWcvY29uZmlnLmhwcD4KKyMgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL2ZhY2lsaXRpZXMvZW1wdHkuaHBwPgorIyBpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3Ivc2VxL2RldGFpbC9zcGxpdC5ocHA+CisjIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci90dXBsZS9lbGVtLmhwcD4KKyMKKyMgLyogQk9PU1RfUFBfU0VRX1JFU1RfTiAqLworIworIyBpZiB+Qk9PU1RfUFBfQ09ORklHX0ZMQUdTKCkgJiBCT09TVF9QUF9DT05GSUdfRURHKCkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9SRVNUX04obiwgc2VxKSBCT09TVF9QUF9UVVBMRV9FTEVNKDIsIDEsIEJPT1NUX1BQX1NFUV9TUExJVChCT09TVF9QUF9JTkMobiksIChuaWwpIHNlcSBCT09TVF9QUF9FTVBUWSkpKCkKKyMgZWxzZQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX1JFU1RfTihuLCBzZXEpIEJPT1NUX1BQX1NFUV9SRVNUX05fSShuLCBzZXEpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfUkVTVF9OX0kobiwgc2VxKSBCT09TVF9QUF9UVVBMRV9FTEVNKDIsIDEsIEJPT1NUX1BQX1NFUV9TUExJVChCT09TVF9QUF9JTkMobiksIChuaWwpIHNlcSBCT09TVF9QUF9FTVBUWSkpKCkKKyMgZW5kaWYKKyMKKyMgZW5kaWYKZGlmZiAtLWdpdCBhL25kbmJvb3N0L3ByZXByb2Nlc3Nvci9zZXEvc2VxLmhwcCBiL25kbmJvb3N0L3ByZXByb2Nlc3Nvci9zZXEvc2VxLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kZTY1NjcyCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvcHJlcHJvY2Vzc29yL3NlcS9zZXEuaHBwCkBAIC0wLDAgKzEsNDQgQEAKKyMgLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyMgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoKKyMgICogICAgIChDKSBDb3B5cmlnaHQgUGF1bCBNZW5zb25pZGVzIDIwMDIuCisjICAqICAgICBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIChTZWUKKyMgICogICAgIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0CisjICAqICAgICBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisjICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqCisjICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqLworIworIyAvKiBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcgZm9yIG1vc3QgcmVjZW50IHZlcnNpb24uICovCisjCisjIGlmbmRlZiBCT09TVF9QUkVQUk9DRVNTT1JfU0VRX1NFUV9IUFAKKyMgZGVmaW5lIEJPT1NUX1BSRVBST0NFU1NPUl9TRVFfU0VRX0hQUAorIworIyBpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3IvY29uZmlnL2NvbmZpZy5ocHA+CisjIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9zZXEvZWxlbS5ocHA+CisjCisjIC8qIEJPT1NUX1BQX1NFUV9IRUFEICovCisjCisjIGRlZmluZSBCT09TVF9QUF9TRVFfSEVBRChzZXEpIEJPT1NUX1BQX1NFUV9FTEVNKDAsIHNlcSkKKyMKKyMgLyogQk9PU1RfUFBfU0VRX1RBSUwgKi8KKyMKKyMgaWYgQk9PU1RfUFBfQ09ORklHX0ZMQUdTKCkgJiBCT09TVF9QUF9DT05GSUdfTVdDQygpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfVEFJTChzZXEpIEJPT1NUX1BQX1NFUV9UQUlMXzEoKHNlcSkpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfVEFJTF8xKHBhcikgQk9PU1RfUFBfU0VRX1RBSUxfMiAjIyBwYXIKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9UQUlMXzIoc2VxKSBCT09TVF9QUF9TRVFfVEFJTF9JICMjIHNlcQorIyBlbGlmIEJPT1NUX1BQX0NPTkZJR19GTEFHUygpICYgQk9PU1RfUFBfQ09ORklHX01TVkMoKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX1RBSUwoc2VxKSBCT09TVF9QUF9TRVFfVEFJTF9JRChCT09TVF9QUF9TRVFfVEFJTF9JIHNlcSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9UQUlMX0lEKGlkKSBpZAorIyBlbGlmIEJPT1NUX1BQX0NPTkZJR19GTEFHUygpICYgQk9PU1RfUFBfQ09ORklHX0VERygpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfVEFJTChzZXEpIEJPT1NUX1BQX1NFUV9UQUlMX0Qoc2VxKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX1RBSUxfRChzZXEpIEJPT1NUX1BQX1NFUV9UQUlMX0kgc2VxCisjIGVsc2UKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9UQUlMKHNlcSkgQk9PU1RfUFBfU0VRX1RBSUxfSSBzZXEKKyMgZW5kaWYKKyMKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9UQUlMX0koeCkKKyMKKyMgLyogQk9PU1RfUFBfU0VRX05JTCAqLworIworIyBkZWZpbmUgQk9PU1RfUFBfU0VRX05JTCh4KSAoeCkKKyMKKyMgZW5kaWYKZGlmZiAtLWdpdCBhL25kbmJvb3N0L3ByZXByb2Nlc3Nvci9zZXEvc2l6ZS5ocHAgYi9uZG5ib29zdC9wcmVwcm9jZXNzb3Ivc2VxL3NpemUuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNlYjJkMTIKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC9wcmVwcm9jZXNzb3Ivc2VxL3NpemUuaHBwCkBAIC0wLDAgKzEsNTQ3IEBACisjIC8qICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisjICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqCisjICAqICAgICAoQykgQ29weXJpZ2h0IFBhdWwgTWVuc29uaWRlcyAyMDAyLgorIyAgKiAgICAgRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAoU2VlCisjICAqICAgICBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdAorIyAgKiAgICAgaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorIyAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKgorIyAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi8KKyMKKyMgLyogU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnIGZvciBtb3N0IHJlY2VudCB2ZXJzaW9uLiAqLworIworIyBpZm5kZWYgQk9PU1RfUFJFUFJPQ0VTU09SX1NFUV9TSVpFX0hQUAorIyBkZWZpbmUgQk9PU1RfUFJFUFJPQ0VTU09SX1NFUV9TSVpFX0hQUAorIworIyBpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3IvY2F0LmhwcD4KKyMgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL2NvbmZpZy9jb25maWcuaHBwPgorIworIyBpZiBCT09TVF9QUF9DT05GSUdfRkxBR1MoKSAmIEJPT1NUX1BQX0NPTkZJR19NV0NDKCkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9TSVpFKHNlcSkgQk9PU1RfUFBfU0VRX1NJWkVfSSgoc2VxKSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9TSVpFX0kocGFyKSBCT09TVF9QUF9TRVFfU0laRV9JSSAjIyBwYXIKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9TSVpFX0lJKHNlcSkgQk9PU1RfUFBfQ0FUKEJPT1NUX1BQX1NFUV9TSVpFXywgQk9PU1RfUFBfU0VRX1NJWkVfMCAjIyBzZXEpCisjIGVsaWYgQk9PU1RfUFBfQ09ORklHX0ZMQUdTKCkgJiBCT09TVF9QUF9DT05GSUdfRURHKCkgfHwgQk9PU1RfUFBfQ09ORklHX0ZMQUdTKCkgJiBCT09TVF9QUF9DT05GSUdfTVNWQygpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRShzZXEpIEJPT1NUX1BQX1NFUV9TSVpFX0koc2VxKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfSShzZXEpIEJPT1NUX1BQX0NBVChCT09TVF9QUF9TRVFfU0laRV8sIEJPT1NUX1BQX1NFUV9TSVpFXzAgc2VxKQorIyBlbGlmIGRlZmluZWQoX19JQk1DX18pIHx8IGRlZmluZWQoX19JQk1DUFBfXykKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9TSVpFKHNlcSkgQk9PU1RfUFBfQ0FUKEJPT1NUX1BQX1NFUV9TSVpFXywgQk9PU1RfUFBfQ0FUKEJPT1NUX1BQX1NFUV9TSVpFXzAsIHNlcSkpCisjIGVsc2UKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9TSVpFKHNlcSkgQk9PU1RfUFBfQ0FUKEJPT1NUX1BQX1NFUV9TSVpFXywgQk9PU1RfUFBfU0VRX1NJWkVfMCBzZXEpCisjIGVuZGlmCisjCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV8wKF8pIEJPT1NUX1BQX1NFUV9TSVpFXzEKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9TSVpFXzEoXykgQk9PU1RfUFBfU0VRX1NJWkVfMgorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMihfKSBCT09TVF9QUF9TRVFfU0laRV8zCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV8zKF8pIEJPT1NUX1BQX1NFUV9TSVpFXzQKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9TSVpFXzQoXykgQk9PU1RfUFBfU0VRX1NJWkVfNQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfNShfKSBCT09TVF9QUF9TRVFfU0laRV82CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV82KF8pIEJPT1NUX1BQX1NFUV9TSVpFXzcKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9TSVpFXzcoXykgQk9PU1RfUFBfU0VRX1NJWkVfOAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfOChfKSBCT09TVF9QUF9TRVFfU0laRV85CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV85KF8pIEJPT1NUX1BQX1NFUV9TSVpFXzEwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV8xMChfKSBCT09TVF9QUF9TRVFfU0laRV8xMQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMTEoXykgQk9PU1RfUFBfU0VRX1NJWkVfMTIKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9TSVpFXzEyKF8pIEJPT1NUX1BQX1NFUV9TSVpFXzEzCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV8xMyhfKSBCT09TVF9QUF9TRVFfU0laRV8xNAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMTQoXykgQk9PU1RfUFBfU0VRX1NJWkVfMTUKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9TSVpFXzE1KF8pIEJPT1NUX1BQX1NFUV9TSVpFXzE2CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV8xNihfKSBCT09TVF9QUF9TRVFfU0laRV8xNworIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMTcoXykgQk9PU1RfUFBfU0VRX1NJWkVfMTgKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9TSVpFXzE4KF8pIEJPT1NUX1BQX1NFUV9TSVpFXzE5CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV8xOShfKSBCT09TVF9QUF9TRVFfU0laRV8yMAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMjAoXykgQk9PU1RfUFBfU0VRX1NJWkVfMjEKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9TSVpFXzIxKF8pIEJPT1NUX1BQX1NFUV9TSVpFXzIyCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV8yMihfKSBCT09TVF9QUF9TRVFfU0laRV8yMworIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMjMoXykgQk9PU1RfUFBfU0VRX1NJWkVfMjQKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9TSVpFXzI0KF8pIEJPT1NUX1BQX1NFUV9TSVpFXzI1CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV8yNShfKSBCT09TVF9QUF9TRVFfU0laRV8yNgorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMjYoXykgQk9PU1RfUFBfU0VRX1NJWkVfMjcKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9TSVpFXzI3KF8pIEJPT1NUX1BQX1NFUV9TSVpFXzI4CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV8yOChfKSBCT09TVF9QUF9TRVFfU0laRV8yOQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMjkoXykgQk9PU1RfUFBfU0VRX1NJWkVfMzAKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9TSVpFXzMwKF8pIEJPT1NUX1BQX1NFUV9TSVpFXzMxCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV8zMShfKSBCT09TVF9QUF9TRVFfU0laRV8zMgorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMzIoXykgQk9PU1RfUFBfU0VRX1NJWkVfMzMKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9TSVpFXzMzKF8pIEJPT1NUX1BQX1NFUV9TSVpFXzM0CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV8zNChfKSBCT09TVF9QUF9TRVFfU0laRV8zNQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMzUoXykgQk9PU1RfUFBfU0VRX1NJWkVfMzYKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9TSVpFXzM2KF8pIEJPT1NUX1BQX1NFUV9TSVpFXzM3CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV8zNyhfKSBCT09TVF9QUF9TRVFfU0laRV8zOAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMzgoXykgQk9PU1RfUFBfU0VRX1NJWkVfMzkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9TSVpFXzM5KF8pIEJPT1NUX1BQX1NFUV9TSVpFXzQwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV80MChfKSBCT09TVF9QUF9TRVFfU0laRV80MQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfNDEoXykgQk9PU1RfUFBfU0VRX1NJWkVfNDIKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9TSVpFXzQyKF8pIEJPT1NUX1BQX1NFUV9TSVpFXzQzCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV80MyhfKSBCT09TVF9QUF9TRVFfU0laRV80NAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfNDQoXykgQk9PU1RfUFBfU0VRX1NJWkVfNDUKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9TSVpFXzQ1KF8pIEJPT1NUX1BQX1NFUV9TSVpFXzQ2CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV80NihfKSBCT09TVF9QUF9TRVFfU0laRV80NworIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfNDcoXykgQk9PU1RfUFBfU0VRX1NJWkVfNDgKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9TSVpFXzQ4KF8pIEJPT1NUX1BQX1NFUV9TSVpFXzQ5CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV80OShfKSBCT09TVF9QUF9TRVFfU0laRV81MAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfNTAoXykgQk9PU1RfUFBfU0VRX1NJWkVfNTEKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9TSVpFXzUxKF8pIEJPT1NUX1BQX1NFUV9TSVpFXzUyCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV81MihfKSBCT09TVF9QUF9TRVFfU0laRV81MworIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfNTMoXykgQk9PU1RfUFBfU0VRX1NJWkVfNTQKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9TSVpFXzU0KF8pIEJPT1NUX1BQX1NFUV9TSVpFXzU1CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV81NShfKSBCT09TVF9QUF9TRVFfU0laRV81NgorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfNTYoXykgQk9PU1RfUFBfU0VRX1NJWkVfNTcKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9TSVpFXzU3KF8pIEJPT1NUX1BQX1NFUV9TSVpFXzU4CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV81OChfKSBCT09TVF9QUF9TRVFfU0laRV81OQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfNTkoXykgQk9PU1RfUFBfU0VRX1NJWkVfNjAKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9TSVpFXzYwKF8pIEJPT1NUX1BQX1NFUV9TSVpFXzYxCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV82MShfKSBCT09TVF9QUF9TRVFfU0laRV82MgorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfNjIoXykgQk9PU1RfUFBfU0VRX1NJWkVfNjMKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9TSVpFXzYzKF8pIEJPT1NUX1BQX1NFUV9TSVpFXzY0CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV82NChfKSBCT09TVF9QUF9TRVFfU0laRV82NQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfNjUoXykgQk9PU1RfUFBfU0VRX1NJWkVfNjYKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9TSVpFXzY2KF8pIEJPT1NUX1BQX1NFUV9TSVpFXzY3CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV82NyhfKSBCT09TVF9QUF9TRVFfU0laRV82OAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfNjgoXykgQk9PU1RfUFBfU0VRX1NJWkVfNjkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9TSVpFXzY5KF8pIEJPT1NUX1BQX1NFUV9TSVpFXzcwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV83MChfKSBCT09TVF9QUF9TRVFfU0laRV83MQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfNzEoXykgQk9PU1RfUFBfU0VRX1NJWkVfNzIKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9TSVpFXzcyKF8pIEJPT1NUX1BQX1NFUV9TSVpFXzczCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV83MyhfKSBCT09TVF9QUF9TRVFfU0laRV83NAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfNzQoXykgQk9PU1RfUFBfU0VRX1NJWkVfNzUKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9TSVpFXzc1KF8pIEJPT1NUX1BQX1NFUV9TSVpFXzc2CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV83NihfKSBCT09TVF9QUF9TRVFfU0laRV83NworIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfNzcoXykgQk9PU1RfUFBfU0VRX1NJWkVfNzgKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9TSVpFXzc4KF8pIEJPT1NUX1BQX1NFUV9TSVpFXzc5CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV83OShfKSBCT09TVF9QUF9TRVFfU0laRV84MAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfODAoXykgQk9PU1RfUFBfU0VRX1NJWkVfODEKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9TSVpFXzgxKF8pIEJPT1NUX1BQX1NFUV9TSVpFXzgyCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV84MihfKSBCT09TVF9QUF9TRVFfU0laRV84MworIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfODMoXykgQk9PU1RfUFBfU0VRX1NJWkVfODQKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9TSVpFXzg0KF8pIEJPT1NUX1BQX1NFUV9TSVpFXzg1CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV84NShfKSBCT09TVF9QUF9TRVFfU0laRV84NgorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfODYoXykgQk9PU1RfUFBfU0VRX1NJWkVfODcKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9TSVpFXzg3KF8pIEJPT1NUX1BQX1NFUV9TSVpFXzg4CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV84OChfKSBCT09TVF9QUF9TRVFfU0laRV84OQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfODkoXykgQk9PU1RfUFBfU0VRX1NJWkVfOTAKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9TSVpFXzkwKF8pIEJPT1NUX1BQX1NFUV9TSVpFXzkxCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV85MShfKSBCT09TVF9QUF9TRVFfU0laRV85MgorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfOTIoXykgQk9PU1RfUFBfU0VRX1NJWkVfOTMKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9TSVpFXzkzKF8pIEJPT1NUX1BQX1NFUV9TSVpFXzk0CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV85NChfKSBCT09TVF9QUF9TRVFfU0laRV85NQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfOTUoXykgQk9PU1RfUFBfU0VRX1NJWkVfOTYKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9TSVpFXzk2KF8pIEJPT1NUX1BQX1NFUV9TSVpFXzk3CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV85NyhfKSBCT09TVF9QUF9TRVFfU0laRV85OAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfOTgoXykgQk9PU1RfUFBfU0VRX1NJWkVfOTkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9TSVpFXzk5KF8pIEJPT1NUX1BQX1NFUV9TSVpFXzEwMAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMTAwKF8pIEJPT1NUX1BQX1NFUV9TSVpFXzEwMQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMTAxKF8pIEJPT1NUX1BQX1NFUV9TSVpFXzEwMgorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMTAyKF8pIEJPT1NUX1BQX1NFUV9TSVpFXzEwMworIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMTAzKF8pIEJPT1NUX1BQX1NFUV9TSVpFXzEwNAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMTA0KF8pIEJPT1NUX1BQX1NFUV9TSVpFXzEwNQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMTA1KF8pIEJPT1NUX1BQX1NFUV9TSVpFXzEwNgorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMTA2KF8pIEJPT1NUX1BQX1NFUV9TSVpFXzEwNworIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMTA3KF8pIEJPT1NUX1BQX1NFUV9TSVpFXzEwOAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMTA4KF8pIEJPT1NUX1BQX1NFUV9TSVpFXzEwOQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMTA5KF8pIEJPT1NUX1BQX1NFUV9TSVpFXzExMAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMTEwKF8pIEJPT1NUX1BQX1NFUV9TSVpFXzExMQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMTExKF8pIEJPT1NUX1BQX1NFUV9TSVpFXzExMgorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMTEyKF8pIEJPT1NUX1BQX1NFUV9TSVpFXzExMworIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMTEzKF8pIEJPT1NUX1BQX1NFUV9TSVpFXzExNAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMTE0KF8pIEJPT1NUX1BQX1NFUV9TSVpFXzExNQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMTE1KF8pIEJPT1NUX1BQX1NFUV9TSVpFXzExNgorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMTE2KF8pIEJPT1NUX1BQX1NFUV9TSVpFXzExNworIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMTE3KF8pIEJPT1NUX1BQX1NFUV9TSVpFXzExOAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMTE4KF8pIEJPT1NUX1BQX1NFUV9TSVpFXzExOQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMTE5KF8pIEJPT1NUX1BQX1NFUV9TSVpFXzEyMAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMTIwKF8pIEJPT1NUX1BQX1NFUV9TSVpFXzEyMQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMTIxKF8pIEJPT1NUX1BQX1NFUV9TSVpFXzEyMgorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMTIyKF8pIEJPT1NUX1BQX1NFUV9TSVpFXzEyMworIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMTIzKF8pIEJPT1NUX1BQX1NFUV9TSVpFXzEyNAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMTI0KF8pIEJPT1NUX1BQX1NFUV9TSVpFXzEyNQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMTI1KF8pIEJPT1NUX1BQX1NFUV9TSVpFXzEyNgorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMTI2KF8pIEJPT1NUX1BQX1NFUV9TSVpFXzEyNworIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMTI3KF8pIEJPT1NUX1BQX1NFUV9TSVpFXzEyOAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMTI4KF8pIEJPT1NUX1BQX1NFUV9TSVpFXzEyOQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMTI5KF8pIEJPT1NUX1BQX1NFUV9TSVpFXzEzMAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMTMwKF8pIEJPT1NUX1BQX1NFUV9TSVpFXzEzMQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMTMxKF8pIEJPT1NUX1BQX1NFUV9TSVpFXzEzMgorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMTMyKF8pIEJPT1NUX1BQX1NFUV9TSVpFXzEzMworIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMTMzKF8pIEJPT1NUX1BQX1NFUV9TSVpFXzEzNAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMTM0KF8pIEJPT1NUX1BQX1NFUV9TSVpFXzEzNQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMTM1KF8pIEJPT1NUX1BQX1NFUV9TSVpFXzEzNgorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMTM2KF8pIEJPT1NUX1BQX1NFUV9TSVpFXzEzNworIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMTM3KF8pIEJPT1NUX1BQX1NFUV9TSVpFXzEzOAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMTM4KF8pIEJPT1NUX1BQX1NFUV9TSVpFXzEzOQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMTM5KF8pIEJPT1NUX1BQX1NFUV9TSVpFXzE0MAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMTQwKF8pIEJPT1NUX1BQX1NFUV9TSVpFXzE0MQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMTQxKF8pIEJPT1NUX1BQX1NFUV9TSVpFXzE0MgorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMTQyKF8pIEJPT1NUX1BQX1NFUV9TSVpFXzE0MworIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMTQzKF8pIEJPT1NUX1BQX1NFUV9TSVpFXzE0NAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMTQ0KF8pIEJPT1NUX1BQX1NFUV9TSVpFXzE0NQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMTQ1KF8pIEJPT1NUX1BQX1NFUV9TSVpFXzE0NgorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMTQ2KF8pIEJPT1NUX1BQX1NFUV9TSVpFXzE0NworIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMTQ3KF8pIEJPT1NUX1BQX1NFUV9TSVpFXzE0OAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMTQ4KF8pIEJPT1NUX1BQX1NFUV9TSVpFXzE0OQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMTQ5KF8pIEJPT1NUX1BQX1NFUV9TSVpFXzE1MAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMTUwKF8pIEJPT1NUX1BQX1NFUV9TSVpFXzE1MQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMTUxKF8pIEJPT1NUX1BQX1NFUV9TSVpFXzE1MgorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMTUyKF8pIEJPT1NUX1BQX1NFUV9TSVpFXzE1MworIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMTUzKF8pIEJPT1NUX1BQX1NFUV9TSVpFXzE1NAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMTU0KF8pIEJPT1NUX1BQX1NFUV9TSVpFXzE1NQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMTU1KF8pIEJPT1NUX1BQX1NFUV9TSVpFXzE1NgorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMTU2KF8pIEJPT1NUX1BQX1NFUV9TSVpFXzE1NworIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMTU3KF8pIEJPT1NUX1BQX1NFUV9TSVpFXzE1OAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMTU4KF8pIEJPT1NUX1BQX1NFUV9TSVpFXzE1OQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMTU5KF8pIEJPT1NUX1BQX1NFUV9TSVpFXzE2MAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMTYwKF8pIEJPT1NUX1BQX1NFUV9TSVpFXzE2MQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMTYxKF8pIEJPT1NUX1BQX1NFUV9TSVpFXzE2MgorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMTYyKF8pIEJPT1NUX1BQX1NFUV9TSVpFXzE2MworIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMTYzKF8pIEJPT1NUX1BQX1NFUV9TSVpFXzE2NAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMTY0KF8pIEJPT1NUX1BQX1NFUV9TSVpFXzE2NQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMTY1KF8pIEJPT1NUX1BQX1NFUV9TSVpFXzE2NgorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMTY2KF8pIEJPT1NUX1BQX1NFUV9TSVpFXzE2NworIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMTY3KF8pIEJPT1NUX1BQX1NFUV9TSVpFXzE2OAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMTY4KF8pIEJPT1NUX1BQX1NFUV9TSVpFXzE2OQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMTY5KF8pIEJPT1NUX1BQX1NFUV9TSVpFXzE3MAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMTcwKF8pIEJPT1NUX1BQX1NFUV9TSVpFXzE3MQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMTcxKF8pIEJPT1NUX1BQX1NFUV9TSVpFXzE3MgorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMTcyKF8pIEJPT1NUX1BQX1NFUV9TSVpFXzE3MworIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMTczKF8pIEJPT1NUX1BQX1NFUV9TSVpFXzE3NAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMTc0KF8pIEJPT1NUX1BQX1NFUV9TSVpFXzE3NQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMTc1KF8pIEJPT1NUX1BQX1NFUV9TSVpFXzE3NgorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMTc2KF8pIEJPT1NUX1BQX1NFUV9TSVpFXzE3NworIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMTc3KF8pIEJPT1NUX1BQX1NFUV9TSVpFXzE3OAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMTc4KF8pIEJPT1NUX1BQX1NFUV9TSVpFXzE3OQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMTc5KF8pIEJPT1NUX1BQX1NFUV9TSVpFXzE4MAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMTgwKF8pIEJPT1NUX1BQX1NFUV9TSVpFXzE4MQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMTgxKF8pIEJPT1NUX1BQX1NFUV9TSVpFXzE4MgorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMTgyKF8pIEJPT1NUX1BQX1NFUV9TSVpFXzE4MworIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMTgzKF8pIEJPT1NUX1BQX1NFUV9TSVpFXzE4NAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMTg0KF8pIEJPT1NUX1BQX1NFUV9TSVpFXzE4NQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMTg1KF8pIEJPT1NUX1BQX1NFUV9TSVpFXzE4NgorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMTg2KF8pIEJPT1NUX1BQX1NFUV9TSVpFXzE4NworIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMTg3KF8pIEJPT1NUX1BQX1NFUV9TSVpFXzE4OAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMTg4KF8pIEJPT1NUX1BQX1NFUV9TSVpFXzE4OQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMTg5KF8pIEJPT1NUX1BQX1NFUV9TSVpFXzE5MAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMTkwKF8pIEJPT1NUX1BQX1NFUV9TSVpFXzE5MQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMTkxKF8pIEJPT1NUX1BQX1NFUV9TSVpFXzE5MgorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMTkyKF8pIEJPT1NUX1BQX1NFUV9TSVpFXzE5MworIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMTkzKF8pIEJPT1NUX1BQX1NFUV9TSVpFXzE5NAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMTk0KF8pIEJPT1NUX1BQX1NFUV9TSVpFXzE5NQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMTk1KF8pIEJPT1NUX1BQX1NFUV9TSVpFXzE5NgorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMTk2KF8pIEJPT1NUX1BQX1NFUV9TSVpFXzE5NworIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMTk3KF8pIEJPT1NUX1BQX1NFUV9TSVpFXzE5OAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMTk4KF8pIEJPT1NUX1BQX1NFUV9TSVpFXzE5OQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMTk5KF8pIEJPT1NUX1BQX1NFUV9TSVpFXzIwMAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMjAwKF8pIEJPT1NUX1BQX1NFUV9TSVpFXzIwMQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMjAxKF8pIEJPT1NUX1BQX1NFUV9TSVpFXzIwMgorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMjAyKF8pIEJPT1NUX1BQX1NFUV9TSVpFXzIwMworIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMjAzKF8pIEJPT1NUX1BQX1NFUV9TSVpFXzIwNAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMjA0KF8pIEJPT1NUX1BQX1NFUV9TSVpFXzIwNQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMjA1KF8pIEJPT1NUX1BQX1NFUV9TSVpFXzIwNgorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMjA2KF8pIEJPT1NUX1BQX1NFUV9TSVpFXzIwNworIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMjA3KF8pIEJPT1NUX1BQX1NFUV9TSVpFXzIwOAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMjA4KF8pIEJPT1NUX1BQX1NFUV9TSVpFXzIwOQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMjA5KF8pIEJPT1NUX1BQX1NFUV9TSVpFXzIxMAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMjEwKF8pIEJPT1NUX1BQX1NFUV9TSVpFXzIxMQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMjExKF8pIEJPT1NUX1BQX1NFUV9TSVpFXzIxMgorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMjEyKF8pIEJPT1NUX1BQX1NFUV9TSVpFXzIxMworIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMjEzKF8pIEJPT1NUX1BQX1NFUV9TSVpFXzIxNAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMjE0KF8pIEJPT1NUX1BQX1NFUV9TSVpFXzIxNQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMjE1KF8pIEJPT1NUX1BQX1NFUV9TSVpFXzIxNgorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMjE2KF8pIEJPT1NUX1BQX1NFUV9TSVpFXzIxNworIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMjE3KF8pIEJPT1NUX1BQX1NFUV9TSVpFXzIxOAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMjE4KF8pIEJPT1NUX1BQX1NFUV9TSVpFXzIxOQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMjE5KF8pIEJPT1NUX1BQX1NFUV9TSVpFXzIyMAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMjIwKF8pIEJPT1NUX1BQX1NFUV9TSVpFXzIyMQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMjIxKF8pIEJPT1NUX1BQX1NFUV9TSVpFXzIyMgorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMjIyKF8pIEJPT1NUX1BQX1NFUV9TSVpFXzIyMworIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMjIzKF8pIEJPT1NUX1BQX1NFUV9TSVpFXzIyNAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMjI0KF8pIEJPT1NUX1BQX1NFUV9TSVpFXzIyNQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMjI1KF8pIEJPT1NUX1BQX1NFUV9TSVpFXzIyNgorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMjI2KF8pIEJPT1NUX1BQX1NFUV9TSVpFXzIyNworIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMjI3KF8pIEJPT1NUX1BQX1NFUV9TSVpFXzIyOAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMjI4KF8pIEJPT1NUX1BQX1NFUV9TSVpFXzIyOQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMjI5KF8pIEJPT1NUX1BQX1NFUV9TSVpFXzIzMAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMjMwKF8pIEJPT1NUX1BQX1NFUV9TSVpFXzIzMQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMjMxKF8pIEJPT1NUX1BQX1NFUV9TSVpFXzIzMgorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMjMyKF8pIEJPT1NUX1BQX1NFUV9TSVpFXzIzMworIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMjMzKF8pIEJPT1NUX1BQX1NFUV9TSVpFXzIzNAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMjM0KF8pIEJPT1NUX1BQX1NFUV9TSVpFXzIzNQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMjM1KF8pIEJPT1NUX1BQX1NFUV9TSVpFXzIzNgorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMjM2KF8pIEJPT1NUX1BQX1NFUV9TSVpFXzIzNworIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMjM3KF8pIEJPT1NUX1BQX1NFUV9TSVpFXzIzOAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMjM4KF8pIEJPT1NUX1BQX1NFUV9TSVpFXzIzOQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMjM5KF8pIEJPT1NUX1BQX1NFUV9TSVpFXzI0MAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMjQwKF8pIEJPT1NUX1BQX1NFUV9TSVpFXzI0MQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMjQxKF8pIEJPT1NUX1BQX1NFUV9TSVpFXzI0MgorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMjQyKF8pIEJPT1NUX1BQX1NFUV9TSVpFXzI0MworIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMjQzKF8pIEJPT1NUX1BQX1NFUV9TSVpFXzI0NAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMjQ0KF8pIEJPT1NUX1BQX1NFUV9TSVpFXzI0NQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMjQ1KF8pIEJPT1NUX1BQX1NFUV9TSVpFXzI0NgorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMjQ2KF8pIEJPT1NUX1BQX1NFUV9TSVpFXzI0NworIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMjQ3KF8pIEJPT1NUX1BQX1NFUV9TSVpFXzI0OAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMjQ4KF8pIEJPT1NUX1BQX1NFUV9TSVpFXzI0OQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMjQ5KF8pIEJPT1NUX1BQX1NFUV9TSVpFXzI1MAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMjUwKF8pIEJPT1NUX1BQX1NFUV9TSVpFXzI1MQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMjUxKF8pIEJPT1NUX1BQX1NFUV9TSVpFXzI1MgorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMjUyKF8pIEJPT1NUX1BQX1NFUV9TSVpFXzI1MworIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMjUzKF8pIEJPT1NUX1BQX1NFUV9TSVpFXzI1NAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMjU0KF8pIEJPT1NUX1BQX1NFUV9TSVpFXzI1NQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMjU1KF8pIEJPT1NUX1BQX1NFUV9TSVpFXzI1NgorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfMjU2KF8pIEJPT1NUX1BQX1NFUV9TSVpFXzI1NworIworIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfQk9PU1RfUFBfU0VRX1NJWkVfMCAwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8xIDEKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9TSVpFX0JPT1NUX1BQX1NFUV9TSVpFXzIgMgorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfQk9PU1RfUFBfU0VRX1NJWkVfMyAzCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV80IDQKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9TSVpFX0JPT1NUX1BQX1NFUV9TSVpFXzUgNQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfQk9PU1RfUFBfU0VRX1NJWkVfNiA2CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV83IDcKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9TSVpFX0JPT1NUX1BQX1NFUV9TSVpFXzggOAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfQk9PU1RfUFBfU0VRX1NJWkVfOSA5CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8xMCAxMAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfQk9PU1RfUFBfU0VRX1NJWkVfMTEgMTEKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9TSVpFX0JPT1NUX1BQX1NFUV9TSVpFXzEyIDEyCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8xMyAxMworIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfQk9PU1RfUFBfU0VRX1NJWkVfMTQgMTQKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9TSVpFX0JPT1NUX1BQX1NFUV9TSVpFXzE1IDE1CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8xNiAxNgorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfQk9PU1RfUFBfU0VRX1NJWkVfMTcgMTcKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9TSVpFX0JPT1NUX1BQX1NFUV9TSVpFXzE4IDE4CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8xOSAxOQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfQk9PU1RfUFBfU0VRX1NJWkVfMjAgMjAKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9TSVpFX0JPT1NUX1BQX1NFUV9TSVpFXzIxIDIxCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8yMiAyMgorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfQk9PU1RfUFBfU0VRX1NJWkVfMjMgMjMKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9TSVpFX0JPT1NUX1BQX1NFUV9TSVpFXzI0IDI0CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8yNSAyNQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfQk9PU1RfUFBfU0VRX1NJWkVfMjYgMjYKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9TSVpFX0JPT1NUX1BQX1NFUV9TSVpFXzI3IDI3CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8yOCAyOAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfQk9PU1RfUFBfU0VRX1NJWkVfMjkgMjkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9TSVpFX0JPT1NUX1BQX1NFUV9TSVpFXzMwIDMwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8zMSAzMQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfQk9PU1RfUFBfU0VRX1NJWkVfMzIgMzIKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9TSVpFX0JPT1NUX1BQX1NFUV9TSVpFXzMzIDMzCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8zNCAzNAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfQk9PU1RfUFBfU0VRX1NJWkVfMzUgMzUKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9TSVpFX0JPT1NUX1BQX1NFUV9TSVpFXzM2IDM2CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8zNyAzNworIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfQk9PU1RfUFBfU0VRX1NJWkVfMzggMzgKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9TSVpFX0JPT1NUX1BQX1NFUV9TSVpFXzM5IDM5CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV80MCA0MAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfQk9PU1RfUFBfU0VRX1NJWkVfNDEgNDEKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9TSVpFX0JPT1NUX1BQX1NFUV9TSVpFXzQyIDQyCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV80MyA0MworIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfQk9PU1RfUFBfU0VRX1NJWkVfNDQgNDQKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9TSVpFX0JPT1NUX1BQX1NFUV9TSVpFXzQ1IDQ1CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV80NiA0NgorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfQk9PU1RfUFBfU0VRX1NJWkVfNDcgNDcKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9TSVpFX0JPT1NUX1BQX1NFUV9TSVpFXzQ4IDQ4CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV80OSA0OQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfQk9PU1RfUFBfU0VRX1NJWkVfNTAgNTAKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9TSVpFX0JPT1NUX1BQX1NFUV9TSVpFXzUxIDUxCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV81MiA1MgorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfQk9PU1RfUFBfU0VRX1NJWkVfNTMgNTMKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9TSVpFX0JPT1NUX1BQX1NFUV9TSVpFXzU0IDU0CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV81NSA1NQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfQk9PU1RfUFBfU0VRX1NJWkVfNTYgNTYKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9TSVpFX0JPT1NUX1BQX1NFUV9TSVpFXzU3IDU3CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV81OCA1OAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfQk9PU1RfUFBfU0VRX1NJWkVfNTkgNTkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9TSVpFX0JPT1NUX1BQX1NFUV9TSVpFXzYwIDYwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV82MSA2MQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfQk9PU1RfUFBfU0VRX1NJWkVfNjIgNjIKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9TSVpFX0JPT1NUX1BQX1NFUV9TSVpFXzYzIDYzCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV82NCA2NAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfQk9PU1RfUFBfU0VRX1NJWkVfNjUgNjUKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9TSVpFX0JPT1NUX1BQX1NFUV9TSVpFXzY2IDY2CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV82NyA2NworIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfQk9PU1RfUFBfU0VRX1NJWkVfNjggNjgKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9TSVpFX0JPT1NUX1BQX1NFUV9TSVpFXzY5IDY5CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV83MCA3MAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfQk9PU1RfUFBfU0VRX1NJWkVfNzEgNzEKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9TSVpFX0JPT1NUX1BQX1NFUV9TSVpFXzcyIDcyCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV83MyA3MworIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfQk9PU1RfUFBfU0VRX1NJWkVfNzQgNzQKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9TSVpFX0JPT1NUX1BQX1NFUV9TSVpFXzc1IDc1CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV83NiA3NgorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfQk9PU1RfUFBfU0VRX1NJWkVfNzcgNzcKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9TSVpFX0JPT1NUX1BQX1NFUV9TSVpFXzc4IDc4CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV83OSA3OQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfQk9PU1RfUFBfU0VRX1NJWkVfODAgODAKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9TSVpFX0JPT1NUX1BQX1NFUV9TSVpFXzgxIDgxCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV84MiA4MgorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfQk9PU1RfUFBfU0VRX1NJWkVfODMgODMKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9TSVpFX0JPT1NUX1BQX1NFUV9TSVpFXzg0IDg0CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV84NSA4NQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfQk9PU1RfUFBfU0VRX1NJWkVfODYgODYKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9TSVpFX0JPT1NUX1BQX1NFUV9TSVpFXzg3IDg3CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV84OCA4OAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfQk9PU1RfUFBfU0VRX1NJWkVfODkgODkKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9TSVpFX0JPT1NUX1BQX1NFUV9TSVpFXzkwIDkwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV85MSA5MQorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfQk9PU1RfUFBfU0VRX1NJWkVfOTIgOTIKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9TSVpFX0JPT1NUX1BQX1NFUV9TSVpFXzkzIDkzCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV85NCA5NAorIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfQk9PU1RfUFBfU0VRX1NJWkVfOTUgOTUKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9TSVpFX0JPT1NUX1BQX1NFUV9TSVpFXzk2IDk2CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV85NyA5NworIyBkZWZpbmUgQk9PU1RfUFBfU0VRX1NJWkVfQk9PU1RfUFBfU0VRX1NJWkVfOTggOTgKKyMgZGVmaW5lIEJPT1NUX1BQX1NFUV9TSVpFX0JPT1NUX1BQX1NFUV9TSVpFXzk5IDk5CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8xMDAgMTAwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8xMDEgMTAxCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8xMDIgMTAyCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8xMDMgMTAzCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8xMDQgMTA0CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8xMDUgMTA1CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8xMDYgMTA2CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8xMDcgMTA3CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8xMDggMTA4CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8xMDkgMTA5CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8xMTAgMTEwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8xMTEgMTExCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8xMTIgMTEyCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8xMTMgMTEzCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8xMTQgMTE0CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8xMTUgMTE1CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8xMTYgMTE2CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8xMTcgMTE3CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8xMTggMTE4CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8xMTkgMTE5CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8xMjAgMTIwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8xMjEgMTIxCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8xMjIgMTIyCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8xMjMgMTIzCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8xMjQgMTI0CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8xMjUgMTI1CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8xMjYgMTI2CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8xMjcgMTI3CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8xMjggMTI4CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8xMjkgMTI5CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8xMzAgMTMwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8xMzEgMTMxCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8xMzIgMTMyCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8xMzMgMTMzCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8xMzQgMTM0CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8xMzUgMTM1CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8xMzYgMTM2CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8xMzcgMTM3CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8xMzggMTM4CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8xMzkgMTM5CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8xNDAgMTQwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8xNDEgMTQxCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8xNDIgMTQyCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8xNDMgMTQzCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8xNDQgMTQ0CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8xNDUgMTQ1CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8xNDYgMTQ2CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8xNDcgMTQ3CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8xNDggMTQ4CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8xNDkgMTQ5CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8xNTAgMTUwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8xNTEgMTUxCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8xNTIgMTUyCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8xNTMgMTUzCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8xNTQgMTU0CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8xNTUgMTU1CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8xNTYgMTU2CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8xNTcgMTU3CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8xNTggMTU4CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8xNTkgMTU5CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8xNjAgMTYwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8xNjEgMTYxCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8xNjIgMTYyCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8xNjMgMTYzCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8xNjQgMTY0CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8xNjUgMTY1CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8xNjYgMTY2CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8xNjcgMTY3CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8xNjggMTY4CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8xNjkgMTY5CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8xNzAgMTcwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8xNzEgMTcxCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8xNzIgMTcyCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8xNzMgMTczCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8xNzQgMTc0CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8xNzUgMTc1CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8xNzYgMTc2CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8xNzcgMTc3CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8xNzggMTc4CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8xNzkgMTc5CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8xODAgMTgwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8xODEgMTgxCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8xODIgMTgyCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8xODMgMTgzCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8xODQgMTg0CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8xODUgMTg1CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8xODYgMTg2CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8xODcgMTg3CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8xODggMTg4CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8xODkgMTg5CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8xOTAgMTkwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8xOTEgMTkxCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8xOTIgMTkyCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8xOTMgMTkzCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8xOTQgMTk0CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8xOTUgMTk1CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8xOTYgMTk2CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8xOTcgMTk3CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8xOTggMTk4CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8xOTkgMTk5CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8yMDAgMjAwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8yMDEgMjAxCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8yMDIgMjAyCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8yMDMgMjAzCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8yMDQgMjA0CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8yMDUgMjA1CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8yMDYgMjA2CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8yMDcgMjA3CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8yMDggMjA4CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8yMDkgMjA5CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8yMTAgMjEwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8yMTEgMjExCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8yMTIgMjEyCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8yMTMgMjEzCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8yMTQgMjE0CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8yMTUgMjE1CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8yMTYgMjE2CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8yMTcgMjE3CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8yMTggMjE4CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8yMTkgMjE5CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8yMjAgMjIwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8yMjEgMjIxCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8yMjIgMjIyCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8yMjMgMjIzCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8yMjQgMjI0CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8yMjUgMjI1CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8yMjYgMjI2CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8yMjcgMjI3CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8yMjggMjI4CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8yMjkgMjI5CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8yMzAgMjMwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8yMzEgMjMxCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8yMzIgMjMyCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8yMzMgMjMzCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8yMzQgMjM0CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8yMzUgMjM1CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8yMzYgMjM2CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8yMzcgMjM3CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8yMzggMjM4CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8yMzkgMjM5CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8yNDAgMjQwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8yNDEgMjQxCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8yNDIgMjQyCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8yNDMgMjQzCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8yNDQgMjQ0CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8yNDUgMjQ1CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8yNDYgMjQ2CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8yNDcgMjQ3CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8yNDggMjQ4CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8yNDkgMjQ5CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8yNTAgMjUwCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8yNTEgMjUxCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8yNTIgMjUyCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8yNTMgMjUzCisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8yNTQgMjU0CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8yNTUgMjU1CisjIGRlZmluZSBCT09TVF9QUF9TRVFfU0laRV9CT09TVF9QUF9TRVFfU0laRV8yNTYgMjU2CisjCisjIGVuZGlmCmRpZmYgLS1naXQgYS9uZG5ib29zdC9wcmVwcm9jZXNzb3Ivc2VxL3N1YnNlcS5ocHAgYi9uZG5ib29zdC9wcmVwcm9jZXNzb3Ivc2VxL3N1YnNlcS5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTI5ZTBkYwotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L3ByZXByb2Nlc3Nvci9zZXEvc3Vic2VxLmhwcApAQCAtMCwwICsxLDI4IEBACisjIC8qICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisjICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqCisjICAqICAgICAoQykgQ29weXJpZ2h0IFBhdWwgTWVuc29uaWRlcyAyMDAyLgorIyAgKiAgICAgRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAoU2VlCisjICAqICAgICBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdAorIyAgKiAgICAgaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorIyAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKgorIyAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi8KKyMKKyMgLyogU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnIGZvciBtb3N0IHJlY2VudCB2ZXJzaW9uLiAqLworIworIyBpZm5kZWYgQk9PU1RfUFJFUFJPQ0VTU09SX1NFUV9TVUJTRVFfSFBQCisjIGRlZmluZSBCT09TVF9QUkVQUk9DRVNTT1JfU0VRX1NVQlNFUV9IUFAKKyMKKyMgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL2NvbmZpZy9jb25maWcuaHBwPgorIyBpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3Ivc2VxL2ZpcnN0X24uaHBwPgorIyBpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3Ivc2VxL3Jlc3Rfbi5ocHA+CisjCisjIC8qIEJPT1NUX1BQX1NFUV9TVUJTRVEgKi8KKyMKKyMgaWYgfkJPT1NUX1BQX0NPTkZJR19GTEFHUygpICYgQk9PU1RfUFBfQ09ORklHX0VERygpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfU1VCU0VRKHNlcSwgaSwgbGVuKSBCT09TVF9QUF9TRVFfRklSU1RfTihsZW4sIEJPT1NUX1BQX1NFUV9SRVNUX04oaSwgc2VxKSkKKyMgZWxzZQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX1NVQlNFUShzZXEsIGksIGxlbikgQk9PU1RfUFBfU0VRX1NVQlNFUV9JKHNlcSwgaSwgbGVuKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX1NVQlNFUV9JKHNlcSwgaSwgbGVuKSBCT09TVF9QUF9TRVFfRklSU1RfTihsZW4sIEJPT1NUX1BQX1NFUV9SRVNUX04oaSwgc2VxKSkKKyMgZW5kaWYKKyMKKyMgZW5kaWYKZGlmZiAtLWdpdCBhL25kbmJvb3N0L3ByZXByb2Nlc3Nvci9zZXEvdHJhbnNmb3JtLmhwcCBiL25kbmJvb3N0L3ByZXByb2Nlc3Nvci9zZXEvdHJhbnNmb3JtLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNzc5M2YxCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvcHJlcHJvY2Vzc29yL3NlcS90cmFuc2Zvcm0uaHBwCkBAIC0wLDAgKzEsNDggQEAKKyMgLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyMgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoKKyMgICogICAgIChDKSBDb3B5cmlnaHQgUGF1bCBNZW5zb25pZGVzIDIwMDIuCisjICAqICAgICBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIChTZWUKKyMgICogICAgIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0CisjICAqICAgICBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisjICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqCisjICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqLworIworIyAvKiBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcgZm9yIG1vc3QgcmVjZW50IHZlcnNpb24uICovCisjCisjIGlmbmRlZiBCT09TVF9QUkVQUk9DRVNTT1JfU0VRX1RSQU5TRk9STV9IUFAKKyMgZGVmaW5lIEJPT1NUX1BSRVBST0NFU1NPUl9TRVFfVFJBTlNGT1JNX0hQUAorIworIyBpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3IvY29uZmlnL2NvbmZpZy5ocHA+CisjIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9zZXEvZm9sZF9sZWZ0LmhwcD4KKyMgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL3NlcS9zZXEuaHBwPgorIyBpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3IvdHVwbGUvZWxlbS5ocHA+CisjIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci90dXBsZS9yZW0uaHBwPgorIworIyAvKiBCT09TVF9QUF9TRVFfVFJBTlNGT1JNICovCisjCisjIGlmIH5CT09TVF9QUF9DT05GSUdfRkxBR1MoKSAmIEJPT1NUX1BQX0NPTkZJR19FREcoKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX1RSQU5TRk9STShvcCwgZGF0YSwgc2VxKSBCT09TVF9QUF9TRVFfVEFJTChCT09TVF9QUF9UVVBMRV9FTEVNKDMsIDIsIEJPT1NUX1BQX1NFUV9GT0xEX0xFRlQoQk9PU1RfUFBfU0VRX1RSQU5TRk9STV9PLCAob3AsIGRhdGEsIChuaWwpKSwgc2VxKSkpCisjIGVsc2UKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9UUkFOU0ZPUk0ob3AsIGRhdGEsIHNlcSkgQk9PU1RfUFBfU0VRX1RSQU5TRk9STV9JKG9wLCBkYXRhLCBzZXEpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfVFJBTlNGT1JNX0kob3AsIGRhdGEsIHNlcSkgQk9PU1RfUFBfU0VRX1RBSUwoQk9PU1RfUFBfVFVQTEVfRUxFTSgzLCAyLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUKEJPT1NUX1BQX1NFUV9UUkFOU0ZPUk1fTywgKG9wLCBkYXRhLCAobmlsKSksIHNlcSkpKQorIyBlbmRpZgorIworIyBpZiBCT09TVF9QUF9DT05GSUdfRkxBR1MoKSAmIEJPT1NUX1BQX0NPTkZJR19TVFJJQ1QoKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU0VRX1RSQU5TRk9STV9PKHMsIHN0YXRlLCBlbGVtKSBCT09TVF9QUF9TRVFfVFJBTlNGT1JNX09fSU0ocywgQk9PU1RfUFBfVFVQTEVfUkVNXzMgc3RhdGUsIGVsZW0pCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfVFJBTlNGT1JNX09fSU0ocywgaW0sIGVsZW0pIEJPT1NUX1BQX1NFUV9UUkFOU0ZPUk1fT19JKHMsIGltLCBlbGVtKQorIyBlbHNlCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfVFJBTlNGT1JNX08ocywgc3RhdGUsIGVsZW0pIEJPT1NUX1BQX1NFUV9UUkFOU0ZPUk1fT19JKHMsIEJPT1NUX1BQX1RVUExFX0VMRU0oMywgMCwgc3RhdGUpLCBCT09TVF9QUF9UVVBMRV9FTEVNKDMsIDEsIHN0YXRlKSwgQk9PU1RfUFBfVFVQTEVfRUxFTSgzLCAyLCBzdGF0ZSksIGVsZW0pCisjIGVuZGlmCisjCisjIGRlZmluZSBCT09TVF9QUF9TRVFfVFJBTlNGT1JNX09fSShzLCBvcCwgZGF0YSwgcmVzLCBlbGVtKSAob3AsIGRhdGEsIHJlcyAob3AocywgZGF0YSwgZWxlbSkpKQorIworIyAvKiBCT09TVF9QUF9TRVFfVFJBTlNGT1JNX1MgKi8KKyMKKyMgaWYgfkJPT1NUX1BQX0NPTkZJR19GTEFHUygpICYgQk9PU1RfUFBfQ09ORklHX0VERygpCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfVFJBTlNGT1JNX1Mocywgb3AsIGRhdGEsIHNlcSkgQk9PU1RfUFBfU0VRX1RBSUwoQk9PU1RfUFBfVFVQTEVfRUxFTSgzLCAyLCBCT09TVF9QUF9TRVFfRk9MRF9MRUZUXyAjIyBzKEJPT1NUX1BQX1NFUV9UUkFOU0ZPUk1fTywgKG9wLCBkYXRhLCAobmlsKSksIHNlcSkpKQorIyBlbHNlCisjICAgIGRlZmluZSBCT09TVF9QUF9TRVFfVFJBTlNGT1JNX1Mocywgb3AsIGRhdGEsIHNlcSkgQk9PU1RfUFBfU0VRX1RSQU5TRk9STV9TX0kocywgb3AsIGRhdGEsIHNlcSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NFUV9UUkFOU0ZPUk1fU19JKHMsIG9wLCBkYXRhLCBzZXEpIEJPT1NUX1BQX1NFUV9UQUlMKEJPT1NUX1BQX1RVUExFX0VMRU0oMywgMiwgQk9PU1RfUFBfU0VRX0ZPTERfTEVGVF8gIyMgcyhCT09TVF9QUF9TRVFfVFJBTlNGT1JNX08sIChvcCwgZGF0YSwgKG5pbCkpLCBzZXEpKSkKKyMgZW5kaWYKKyMKKyMgZW5kaWYKZGlmZiAtLWdpdCBhL25kbmJvb3N0L3ByZXByb2Nlc3Nvci9zdHJpbmdpemUuaHBwIGIvbmRuYm9vc3QvcHJlcHJvY2Vzc29yL3N0cmluZ2l6ZS5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDY4MmNjNQotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L3ByZXByb2Nlc3Nvci9zdHJpbmdpemUuaHBwCkBAIC0wLDAgKzEsMzMgQEAKKyMgLyogQ29weXJpZ2h0IChDKSAyMDAxCisjICAqIEhvdXNlbWFycXVlIE95CisjICAqIGh0dHA6Ly93d3cuaG91c2VtYXJxdWUuY29tCisjICAqCisjICAqIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gKFNlZQorIyAgKiBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdAorIyAgKiBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisjICAqLworIworIyAvKiBSZXZpc2VkIGJ5IFBhdWwgTWVuc29uaWRlcyAoMjAwMikgKi8KKyMKKyMgLyogU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnIGZvciBtb3N0IHJlY2VudCB2ZXJzaW9uLiAqLworIworIyBpZm5kZWYgQk9PU1RfUFJFUFJPQ0VTU09SX1NUUklOR0laRV9IUFAKKyMgZGVmaW5lIEJPT1NUX1BSRVBST0NFU1NPUl9TVFJJTkdJWkVfSFBQCisjCisjIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9jb25maWcvY29uZmlnLmhwcD4KKyMKKyMgLyogQk9PU1RfUFBfU1RSSU5HSVpFICovCisjCisjIGlmIEJPT1NUX1BQX0NPTkZJR19GTEFHUygpICYgQk9PU1RfUFBfQ09ORklHX01TVkMoKQorIyAgICBkZWZpbmUgQk9PU1RfUFBfU1RSSU5HSVpFKHRleHQpIEJPT1NUX1BQX1NUUklOR0laRV9BKCh0ZXh0KSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NUUklOR0laRV9BKGFyZykgQk9PU1RfUFBfU1RSSU5HSVpFX0kgYXJnCisjIGVsaWYgQk9PU1RfUFBfQ09ORklHX0ZMQUdTKCkgJiBCT09TVF9QUF9DT05GSUdfTVdDQygpCisjICAgIGRlZmluZSBCT09TVF9QUF9TVFJJTkdJWkUodGV4dCkgQk9PU1RfUFBfU1RSSU5HSVpFX09PKCh0ZXh0KSkKKyMgICAgZGVmaW5lIEJPT1NUX1BQX1NUUklOR0laRV9PTyhwYXIpIEJPT1NUX1BQX1NUUklOR0laRV9JICMjIHBhcgorIyBlbHNlCisjICAgIGRlZmluZSBCT09TVF9QUF9TVFJJTkdJWkUodGV4dCkgQk9PU1RfUFBfU1RSSU5HSVpFX0kodGV4dCkKKyMgZW5kaWYKKyMKKyMgZGVmaW5lIEJPT1NUX1BQX1NUUklOR0laRV9JKHRleHQpICN0ZXh0CisjCisjIGVuZGlmCmRpZmYgLS1naXQgYS9uZG5ib29zdC9yZWYuaHBwIGIvbmRuYm9vc3QvcmVmLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hZDIwYmNhCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvcmVmLmhwcApAQCAtMCwwICsxLDE4OSBAQAorI2lmbmRlZiBCT09TVF9SRUZfSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX1JFRl9IUFBfSU5DTFVERUQKKworLy8gTVMgY29tcGF0aWJsZSBjb21waWxlcnMgc3VwcG9ydCAjcHJhZ21hIG9uY2UKKworI2lmIGRlZmluZWQoX01TQ19WRVIpICYmIChfTVNDX1ZFUiA+PSAxMDIwKQorIyBwcmFnbWEgb25jZQorI2VuZGlmCisKKyNpbmNsdWRlIDxuZG5ib29zdC9jb25maWcuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3V0aWxpdHkvYWRkcmVzc29mLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYm9vbC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvZGV0YWlsL3dvcmthcm91bmQuaHBwPgorCisvLworLy8gIHJlZi5ocHAgLSByZWYvY3JlZiwgdXNlZnVsIGhlbHBlciBmdW5jdGlvbnMKKy8vCisvLyAgQ29weXJpZ2h0IChDKSAxOTk5LCAyMDAwIEphYWtrbyBKYXJ2aSAoamFha2tvLmphcnZpQGNzLnV0dS5maSkKKy8vICBDb3B5cmlnaHQgKEMpIDIwMDEsIDIwMDIgUGV0ZXIgRGltb3YKKy8vICBDb3B5cmlnaHQgKEMpIDIwMDIgRGF2aWQgQWJyYWhhbXMKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIChTZWUKKy8vIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0CisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLworLy8gIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL2JpbmQvcmVmLmh0bWwgZm9yIGRvY3VtZW50YXRpb24uCisvLworCituYW1lc3BhY2UgbmRuYm9vc3QKK3sKKwordGVtcGxhdGU8Y2xhc3MgVD4gY2xhc3MgcmVmZXJlbmNlX3dyYXBwZXIKK3sgCitwdWJsaWM6CisgICAgdHlwZWRlZiBUIHR5cGU7CisKKyNpZiBkZWZpbmVkKCBCT09TVF9NU1ZDICkgJiYgQk9PU1RfV09SS0FST1VORCggQk9PU1RfTVNWQywgPCAxMzAwICkKKworICAgIGV4cGxpY2l0IHJlZmVyZW5jZV93cmFwcGVyKFQmIHQpOiB0XygmdCkge30KKworI2Vsc2UKKworICAgIGV4cGxpY2l0IHJlZmVyZW5jZV93cmFwcGVyKFQmIHQpOiB0XyhuZG5ib29zdDo6YWRkcmVzc29mKHQpKSB7fQorCisjZW5kaWYKKworICAgIG9wZXJhdG9yIFQmICgpIGNvbnN0IHsgcmV0dXJuICp0XzsgfQorCisgICAgVCYgZ2V0KCkgY29uc3QgeyByZXR1cm4gKnRfOyB9CisKKyAgICBUKiBnZXRfcG9pbnRlcigpIGNvbnN0IHsgcmV0dXJuIHRfOyB9CisKK3ByaXZhdGU6CisKKyAgICBUKiB0XzsKK307CisKKyMgaWYgZGVmaW5lZCggX19CT1JMQU5EQ19fICkgJiYgQk9PU1RfV09SS0FST1VORCggX19CT1JMQU5EQ19fLCBCT09TVF9URVNURURfQVQoMHg1ODEpICkKKyMgIGRlZmluZSBCT09TVF9SRUZfQ09OU1QKKyMgZWxzZQorIyAgZGVmaW5lIEJPT1NUX1JFRl9DT05TVCBjb25zdAorIyBlbmRpZgorCit0ZW1wbGF0ZTxjbGFzcyBUPiBpbmxpbmUgcmVmZXJlbmNlX3dyYXBwZXI8VD4gQk9PU1RfUkVGX0NPTlNUIHJlZihUICYgdCkKK3sgCisgICAgcmV0dXJuIHJlZmVyZW5jZV93cmFwcGVyPFQ+KHQpOworfQorCit0ZW1wbGF0ZTxjbGFzcyBUPiBpbmxpbmUgcmVmZXJlbmNlX3dyYXBwZXI8VCBjb25zdD4gQk9PU1RfUkVGX0NPTlNUIGNyZWYoVCBjb25zdCAmIHQpCit7CisgICAgcmV0dXJuIHJlZmVyZW5jZV93cmFwcGVyPFQgY29uc3Q+KHQpOworfQorCisjIHVuZGVmIEJPT1NUX1JFRl9DT05TVAorCisjIGlmbmRlZiBCT09TVF9OT19URU1QTEFURV9QQVJUSUFMX1NQRUNJQUxJWkFUSU9OCisKK3RlbXBsYXRlPHR5cGVuYW1lIFQ+CitjbGFzcyBpc19yZWZlcmVuY2Vfd3JhcHBlcgorICAgIDogcHVibGljIG1wbDo6ZmFsc2VfCit7Cit9OworCit0ZW1wbGF0ZTx0eXBlbmFtZSBUPgorY2xhc3MgdW53cmFwX3JlZmVyZW5jZQoreworIHB1YmxpYzoKKyAgICB0eXBlZGVmIFQgdHlwZTsKK307CisKKyMgIGRlZmluZSBBVVhfUkVGRVJFTkNFX1dSQVBQRVJfTUVUQUZVTkNUSU9OU19ERUYoWCkgXAordGVtcGxhdGU8dHlwZW5hbWUgVD4gXAorY2xhc3MgaXNfcmVmZXJlbmNlX3dyYXBwZXI8IFggPiBcCisgICAgOiBwdWJsaWMgbXBsOjp0cnVlXyBcCit7IFwKK307IFwKK1wKK3RlbXBsYXRlPHR5cGVuYW1lIFQ+IFwKK2NsYXNzIHVud3JhcF9yZWZlcmVuY2U8IFggPiBcCit7IFwKKyBwdWJsaWM6IFwKKyAgICB0eXBlZGVmIFQgdHlwZTsgXAorfTsgXAorLyoqLworCitBVVhfUkVGRVJFTkNFX1dSQVBQRVJfTUVUQUZVTkNUSU9OU19ERUYocmVmZXJlbmNlX3dyYXBwZXI8VD4pCisjaWYgIWRlZmluZWQoQk9PU1RfTk9fQ1ZfU1BFQ0lBTElaQVRJT05TKQorQVVYX1JFRkVSRU5DRV9XUkFQUEVSX01FVEFGVU5DVElPTlNfREVGKHJlZmVyZW5jZV93cmFwcGVyPFQ+IGNvbnN0KQorQVVYX1JFRkVSRU5DRV9XUkFQUEVSX01FVEFGVU5DVElPTlNfREVGKHJlZmVyZW5jZV93cmFwcGVyPFQ+IHZvbGF0aWxlKQorQVVYX1JFRkVSRU5DRV9XUkFQUEVSX01FVEFGVU5DVElPTlNfREVGKHJlZmVyZW5jZV93cmFwcGVyPFQ+IGNvbnN0IHZvbGF0aWxlKQorI2VuZGlmCisKKyMgIHVuZGVmIEFVWF9SRUZFUkVOQ0VfV1JBUFBFUl9NRVRBRlVOQ1RJT05TX0RFRgorCisjIGVsc2UgLy8gbm8gcGFydGlhbCBzcGVjaWFsaXphdGlvbgorCit9IC8vIG5hbWVzcGFjZSBuZG5ib29zdAorCisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZS5ocHA+CisKK25hbWVzcGFjZSBuZG5ib29zdAoreworCituYW1lc3BhY2UgZGV0YWlsCit7CisgIHR5cGVkZWYgY2hhciAoJnllc19yZWZlcmVuY2Vfd3JhcHBlcl90KVsxXTsKKyAgdHlwZWRlZiBjaGFyICgmbm9fcmVmZXJlbmNlX3dyYXBwZXJfdClbMl07CisgICAgICAKKyAgbm9fcmVmZXJlbmNlX3dyYXBwZXJfdCBpc19yZWZlcmVuY2Vfd3JhcHBlcl90ZXN0KC4uLik7CisKKyAgdGVtcGxhdGU8dHlwZW5hbWUgVD4KKyAgeWVzX3JlZmVyZW5jZV93cmFwcGVyX3QgaXNfcmVmZXJlbmNlX3dyYXBwZXJfdGVzdCh0eXBlPCByZWZlcmVuY2Vfd3JhcHBlcjxUPiA+KTsKKworICB0ZW1wbGF0ZTxib29sIHdyYXBwZWQ+CisgIHN0cnVjdCByZWZlcmVuY2VfdW53cmFwcGVyCisgIHsKKyAgICAgIHRlbXBsYXRlIDxjbGFzcyBUPgorICAgICAgc3RydWN0IGFwcGx5CisgICAgICB7CisgICAgICAgICAgdHlwZWRlZiBUIHR5cGU7CisgICAgICB9OworICB9OworCisgIHRlbXBsYXRlPD4KKyAgc3RydWN0IHJlZmVyZW5jZV91bndyYXBwZXI8dHJ1ZT4KKyAgeworICAgICAgdGVtcGxhdGUgPGNsYXNzIFQ+CisgICAgICBzdHJ1Y3QgYXBwbHkKKyAgICAgIHsKKyAgICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIFQ6OnR5cGUgdHlwZTsKKyAgICAgIH07CisgIH07Cit9CisKK3RlbXBsYXRlPHR5cGVuYW1lIFQ+CitjbGFzcyBpc19yZWZlcmVuY2Vfd3JhcHBlcgoreworIHB1YmxpYzoKKyAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoCisgICAgICAgIGJvb2wsIHZhbHVlID0gKAorICAgICAgICAgICAgIHNpemVvZihkZXRhaWw6OmlzX3JlZmVyZW5jZV93cmFwcGVyX3Rlc3QodHlwZTxUPigpKSkKKyAgICAgICAgICAgID09IHNpemVvZihkZXRhaWw6Onllc19yZWZlcmVuY2Vfd3JhcHBlcl90KSkpOworICAgIAorICAgIHR5cGVkZWYgOjpuZG5ib29zdDo6bXBsOjpib29sXzx2YWx1ZT4gdHlwZTsKK307CisKK3RlbXBsYXRlIDx0eXBlbmFtZSBUPgorY2xhc3MgdW53cmFwX3JlZmVyZW5jZQorICAgIDogcHVibGljIGRldGFpbDo6cmVmZXJlbmNlX3Vud3JhcHBlcjwKKyAgICAgICAgaXNfcmVmZXJlbmNlX3dyYXBwZXI8VD46OnZhbHVlCisgICAgICA+Ojp0ZW1wbGF0ZSBhcHBseTxUPgore307CisKKyMgZW5kaWYgLy8gQk9PU1RfTk9fVEVNUExBVEVfUEFSVElBTF9TUEVDSUFMSVpBVElPTgorCit0ZW1wbGF0ZSA8Y2xhc3MgVD4gaW5saW5lIHR5cGVuYW1lIHVud3JhcF9yZWZlcmVuY2U8VD46OnR5cGUmCit1bndyYXBfcmVmKFQmIHQpCit7CisgICAgcmV0dXJuIHQ7Cit9CisKK3RlbXBsYXRlPGNsYXNzIFQ+IGlubGluZSBUKiBnZXRfcG9pbnRlciggcmVmZXJlbmNlX3dyYXBwZXI8VD4gY29uc3QgJiByICkKK3sKKyAgICByZXR1cm4gci5nZXRfcG9pbnRlcigpOworfQorCit9IC8vIG5hbWVzcGFjZSBuZG5ib29zdAorCisjZW5kaWYgLy8gI2lmbmRlZiBCT09TVF9SRUZfSFBQX0lOQ0xVREVECmRpZmYgLS1naXQgYS9uZG5ib29zdC9zbWFydF9wdHIvZGV0YWlsL2FsbG9jYXRlX2FycmF5X2hlbHBlci5ocHAgYi9uZG5ib29zdC9zbWFydF9wdHIvZGV0YWlsL2FsbG9jYXRlX2FycmF5X2hlbHBlci5ocHAKaW5kZXggYTY3ZTZlOC4uYTBhZDM4MCAxMDA2NDQKLS0tIGEvbmRuYm9vc3Qvc21hcnRfcHRyL2RldGFpbC9hbGxvY2F0ZV9hcnJheV9oZWxwZXIuaHBwCisrKyBiL25kbmJvb3N0L3NtYXJ0X3B0ci9kZXRhaWwvYWxsb2NhdGVfYXJyYXlfaGVscGVyLmhwcApAQCAtMzMsMTAgKzMzLDEwIEBACiAgICAgICAgICAgICBzdHJ1Y3QgcmViaW5kIHsKICAgICAgICAgICAgICAgICB0eXBlZGVmIGFsbG9jYXRlX2FycmF5X2hlbHBlcjxBLCBUW10sIFU+IG90aGVyOwogICAgICAgICAgICAgfTsKLSAgICAgICAgICAgIGFsbG9jYXRlX2FycmF5X2hlbHBlcihjb25zdCBBJiBhbGxvY2F0b3IsIHN0ZDo6c2l6ZV90IHNpemUsIFQqKiBkYXRhKQotICAgICAgICAgICAgICAgIDogYWxsb2NhdG9yKGFsbG9jYXRvciksCi0gICAgICAgICAgICAgICAgICBzaXplKHNpemVvZihUKSAqIHNpemUpLAotICAgICAgICAgICAgICAgICAgZGF0YShkYXRhKSB7CisgICAgICAgICAgICBhbGxvY2F0ZV9hcnJheV9oZWxwZXIoY29uc3QgQSYgYWxsb2NhdG9yXywgc3RkOjpzaXplX3Qgc2l6ZV8sIFQqKiBkYXRhXykKKyAgICAgICAgICAgICAgICA6IGFsbG9jYXRvcihhbGxvY2F0b3JfKSwKKyAgICAgICAgICAgICAgICAgIHNpemUoc2l6ZW9mKFQpICogc2l6ZV8pLAorICAgICAgICAgICAgICAgICAgZGF0YShkYXRhXykgewogICAgICAgICAgICAgfQogICAgICAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVT4KICAgICAgICAgICAgIGFsbG9jYXRlX2FycmF5X2hlbHBlcihjb25zdCBhbGxvY2F0ZV9hcnJheV9oZWxwZXI8QSwgVFtdLCBVPiYgb3RoZXIpIApAQCAtMTA3LDkgKzEwNyw5IEBACiAgICAgICAgICAgICBzdHJ1Y3QgcmViaW5kIHsKICAgICAgICAgICAgICAgICB0eXBlZGVmIGFsbG9jYXRlX2FycmF5X2hlbHBlcjxBLCBUW05dLCBVPiBvdGhlcjsKICAgICAgICAgICAgIH07Ci0gICAgICAgICAgICBhbGxvY2F0ZV9hcnJheV9oZWxwZXIoY29uc3QgQSYgYWxsb2NhdG9yLCBUKiogZGF0YSkKLSAgICAgICAgICAgICAgICA6IGFsbG9jYXRvcihhbGxvY2F0b3IpLAotICAgICAgICAgICAgICAgICAgZGF0YShkYXRhKSB7CisgICAgICAgICAgICBhbGxvY2F0ZV9hcnJheV9oZWxwZXIoY29uc3QgQSYgYWxsb2NhdG9yXywgVCoqIGRhdGFfKQorICAgICAgICAgICAgICAgIDogYWxsb2NhdG9yKGFsbG9jYXRvcl8pLAorICAgICAgICAgICAgICAgICAgZGF0YShkYXRhXykgewogICAgICAgICAgICAgfQogICAgICAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVT4KICAgICAgICAgICAgIGFsbG9jYXRlX2FycmF5X2hlbHBlcihjb25zdCBhbGxvY2F0ZV9hcnJheV9oZWxwZXI8QSwgVFtOXSwgVT4mIG90aGVyKSAKZGlmZiAtLWdpdCBhL25kbmJvb3N0L3NtYXJ0X3B0ci9kZXRhaWwvYXJyYXlfZGVsZXRlci5ocHAgYi9uZG5ib29zdC9zbWFydF9wdHIvZGV0YWlsL2FycmF5X2RlbGV0ZXIuaHBwCmluZGV4IDJhZmU5NmMuLjE0ZGNmYjIgMTAwNjQ0Ci0tLSBhL25kbmJvb3N0L3NtYXJ0X3B0ci9kZXRhaWwvYXJyYXlfZGVsZXRlci5ocHAKKysrIGIvbmRuYm9vc3Qvc21hcnRfcHRyL2RldGFpbC9hcnJheV9kZWxldGVyLmhwcApAQCAtMTksOCArMTksOCBAQAogICAgICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgogICAgICAgICBjbGFzcyBhcnJheV9kZWxldGVyPFRbXT4gewogICAgICAgICBwdWJsaWM6Ci0gICAgICAgICAgICBhcnJheV9kZWxldGVyKHN0ZDo6c2l6ZV90IHNpemUpCi0gICAgICAgICAgICAgICAgOiBzaXplKHNpemUpLAorICAgICAgICAgICAgYXJyYXlfZGVsZXRlcihzdGQ6OnNpemVfdCBzaXplXykKKyAgICAgICAgICAgICAgICA6IHNpemUoc2l6ZV8pLAogICAgICAgICAgICAgICAgICAgb2JqZWN0KDApIHsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH5hcnJheV9kZWxldGVyKCkgewpkaWZmIC0tZ2l0IGEvbmRuYm9vc3Qvc21hcnRfcHRyL2RldGFpbC9tYWtlX2FycmF5X2hlbHBlci5ocHAgYi9uZG5ib29zdC9zbWFydF9wdHIvZGV0YWlsL21ha2VfYXJyYXlfaGVscGVyLmhwcAppbmRleCBlOTg5ZjIyLi4xMTA1MTM3IDEwMDY0NAotLS0gYS9uZG5ib29zdC9zbWFydF9wdHIvZGV0YWlsL21ha2VfYXJyYXlfaGVscGVyLmhwcAorKysgYi9uZG5ib29zdC9zbWFydF9wdHIvZGV0YWlsL21ha2VfYXJyYXlfaGVscGVyLmhwcApAQCAtMzEsOSArMzEsOSBAQAogICAgICAgICAgICAgc3RydWN0IHJlYmluZCB7CiAgICAgICAgICAgICAgICAgdHlwZWRlZiBtYWtlX2FycmF5X2hlbHBlcjxUW10sIFU+IG90aGVyOwogICAgICAgICAgICAgfTsKLSAgICAgICAgICAgIG1ha2VfYXJyYXlfaGVscGVyKHN0ZDo6c2l6ZV90IHNpemUsIFQqKiBkYXRhKQotICAgICAgICAgICAgICAgIDogc2l6ZShzaXplb2YoVCkgKiBzaXplKSwKLSAgICAgICAgICAgICAgICAgIGRhdGEoZGF0YSkgeworICAgICAgICAgICAgbWFrZV9hcnJheV9oZWxwZXIoc3RkOjpzaXplX3Qgc2l6ZV8sIFQqKiBkYXRhXykKKyAgICAgICAgICAgICAgICA6IHNpemUoc2l6ZW9mKFQpICogc2l6ZV8pLAorICAgICAgICAgICAgICAgICAgZGF0YShkYXRhXykgewogICAgICAgICAgICAgfQogICAgICAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVT4KICAgICAgICAgICAgIG1ha2VfYXJyYXlfaGVscGVyKGNvbnN0IG1ha2VfYXJyYXlfaGVscGVyPFRbXSwgVT4mIG90aGVyKSAKQEAgLTcyLDcgKzcyLDcgQEAKICAgICAgICAgICAgICAgICBtZW1vcnktPn5ZKCk7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBVPgotICAgICAgICAgICAgYm9vbCBvcGVyYXRvcj09KGNvbnN0IG1ha2VfYXJyYXlfaGVscGVyPFRbXSwgVT4mIG90aGVyKSBjb25zdCB7CisgICAgICAgICAgICBib29sIG9wZXJhdG9yPT0oY29uc3QgbWFrZV9hcnJheV9oZWxwZXI8VFtdLCBVPiYpIGNvbnN0IHsKICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIHRlbXBsYXRlPHR5cGVuYW1lIFU+CkBAIC05OSw4ICs5OSw4IEBACiAgICAgICAgICAgICBzdHJ1Y3QgcmViaW5kIHsKICAgICAgICAgICAgICAgICB0eXBlZGVmIG1ha2VfYXJyYXlfaGVscGVyPFRbTl0sIFU+IG90aGVyOwogICAgICAgICAgICAgfTsKLSAgICAgICAgICAgIG1ha2VfYXJyYXlfaGVscGVyKFQqKiBkYXRhKQotICAgICAgICAgICAgICAgIDogZGF0YShkYXRhKSB7CisgICAgICAgICAgICBtYWtlX2FycmF5X2hlbHBlcihUKiogZGF0YV8pCisgICAgICAgICAgICAgICAgOiBkYXRhKGRhdGFfKSB7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBVPgogICAgICAgICAgICAgbWFrZV9hcnJheV9oZWxwZXIoY29uc3QgbWFrZV9hcnJheV9oZWxwZXI8VFtOXSwgVT4mIG90aGVyKSAKQEAgLTEzOCw3ICsxMzgsNyBAQAogICAgICAgICAgICAgICAgIG1lbW9yeS0+flkoKTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIHRlbXBsYXRlPHR5cGVuYW1lIFU+Ci0gICAgICAgICAgICBib29sIG9wZXJhdG9yPT0oY29uc3QgbWFrZV9hcnJheV9oZWxwZXI8VFtOXSwgVT4mIG90aGVyKSBjb25zdCB7CisgICAgICAgICAgICBib29sIG9wZXJhdG9yPT0oY29uc3QgbWFrZV9hcnJheV9oZWxwZXI8VFtOXSwgVT4mKSBjb25zdCB7CiAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBVPgpkaWZmIC0tZ2l0IGEvbmRuYm9vc3Qvc21hcnRfcHRyL2RldGFpbC9zaGFyZWRfY291bnQuaHBwIGIvbmRuYm9vc3Qvc21hcnRfcHRyL2RldGFpbC9zaGFyZWRfY291bnQuaHBwCmluZGV4IGFkNTNlYzAuLmY3MjM1ODQgMTAwNjQ0Ci0tLSBhL25kbmJvb3N0L3NtYXJ0X3B0ci9kZXRhaWwvc2hhcmVkX2NvdW50LmhwcAorKysgYi9uZG5ib29zdC9zbWFydF9wdHIvZGV0YWlsL3NoYXJlZF9jb3VudC5ocHAKQEAgLTIwMCw3ICsyMDAsNyBAQAogICAgICAgICB9CiAgICAgICAgIGNhdGNoKCAuLi4gKQogICAgICAgICB7Ci0gICAgICAgICAgICBEKCkoIHAgKTsgLy8gZGVsZXRlIHAKKyAgICAgICAgICAgIEQ6Om9wZXJhdG9yX2ZuKCBwICk7IC8vIGRlbGV0ZSBwCiAgICAgICAgICAgICB0aHJvdzsKICAgICAgICAgfQogCkBAIC0yMTAsNyArMjEwLDcgQEAKIAogICAgICAgICBpZiggcGlfID09IDAgKQogICAgICAgICB7Ci0gICAgICAgICAgICBEKCkoIHAgKTsgLy8gZGVsZXRlIHAKKyAgICAgICAgICAgIEQ6Om9wZXJhdG9yX2ZuKCBwICk7IC8vIGRlbGV0ZSBwCiAgICAgICAgICAgICBuZG5ib29zdDo6dGhyb3dfZXhjZXB0aW9uKCBzdGQ6OmJhZF9hbGxvYygpICk7CiAgICAgICAgIH0KIApAQCAtMjg2LDcgKzI4Niw3IEBACiAgICAgICAgIH0KICAgICAgICAgY2F0Y2goLi4uKQogICAgICAgICB7Ci0gICAgICAgICAgICBEKCkoIHAgKTsKKyAgICAgICAgICAgIEQ6Om9wZXJhdG9yX2ZuKCBwICk7CiAKICAgICAgICAgICAgIGlmKCBwaV8gIT0gMCApCiAgICAgICAgICAgICB7CkBAIC0zMDYsNyArMzA2LDcgQEAKICAgICAgICAgfQogICAgICAgICBlbHNlCiAgICAgICAgIHsKLSAgICAgICAgICAgIEQoKSggcCApOworICAgICAgICAgICAgRDo6b3BlcmF0b3JfZm4oIHAgKTsKICAgICAgICAgICAgIG5kbmJvb3N0Ojp0aHJvd19leGNlcHRpb24oIHN0ZDo6YmFkX2FsbG9jKCkgKTsKICAgICAgICAgfQogCmRpZmYgLS1naXQgYS9uZG5ib29zdC9zbWFydF9wdHIvbWFrZV9zaGFyZWRfb2JqZWN0LmhwcCBiL25kbmJvb3N0L3NtYXJ0X3B0ci9tYWtlX3NoYXJlZF9vYmplY3QuaHBwCmluZGV4IDFkMWFlN2EuLjUxM2RmYzIgMTAwNjQ0Ci0tLSBhL25kbmJvb3N0L3NtYXJ0X3B0ci9tYWtlX3NoYXJlZF9vYmplY3QuaHBwCisrKyBiL25kbmJvb3N0L3NtYXJ0X3B0ci9tYWtlX3NoYXJlZF9vYmplY3QuaHBwCkBAIC04Nyw2ICs4NywxMCBAQAogICAgICAgICBkZXN0cm95KCk7CiAgICAgfQogCisgICAgc3RhdGljIHZvaWQgb3BlcmF0b3JfZm4oIFQqICkgLy8gb3BlcmF0b3IoKSBjYW4ndCBiZSBzdGF0aWMKKyAgICB7CisgICAgfQorCiAgICAgdm9pZCAqIGFkZHJlc3MoKSBCT09TVF9OT0VYQ0VQVAogICAgIHsKICAgICAgICAgcmV0dXJuIHN0b3JhZ2VfLmRhdGFfOwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3Qvc21hcnRfcHRyL3NoYXJlZF9wdHIuaHBwIGIvbmRuYm9vc3Qvc21hcnRfcHRyL3NoYXJlZF9wdHIuaHBwCmluZGV4IDc4ZDZlMzAuLjUyYjlhY2MgMTAwNjQ0Ci0tLSBhL25kbmJvb3N0L3NtYXJ0X3B0ci9zaGFyZWRfcHRyLmhwcAorKysgYi9uZG5ib29zdC9zbWFydF9wdHIvc2hhcmVkX3B0ci5ocHAKQEAgLTQ4NSw3ICs0ODUsNyBAQAogCiAjZW5kaWYgLy8gQk9PU1RfTk9fQVVUT19QVFIKIAotI2lmICFkZWZpbmVkKCBCT09TVF9OT19DWFgxMV9TTUFSVF9QVFIgKQorI2lmICFkZWZpbmVkKCBCT09TVF9OT19DWFgxMV9TTUFSVF9QVFIgKSAmJiAhZGVmaW5lZCggQk9PU1RfTk9fQ1hYMTFfUlZBTFVFX1JFRkVSRU5DRVMgKQogCiAgICAgdGVtcGxhdGU8IGNsYXNzIFksIGNsYXNzIEQgPgogICAgIHNoYXJlZF9wdHIoIHN0ZDo6dW5pcXVlX3B0cjwgWSwgRCA+ICYmIHIgKTogcHgoIHIuZ2V0KCkgKSwgcG4oKQpAQCAtNTUwLDcgKzU1MCw3IEBACiAKICNlbmRpZiAvLyBCT09TVF9OT19BVVRPX1BUUgogCi0jaWYgIWRlZmluZWQoIEJPT1NUX05PX0NYWDExX1NNQVJUX1BUUiApCisjaWYgIWRlZmluZWQoIEJPT1NUX05PX0NYWDExX1NNQVJUX1BUUiApICYmICFkZWZpbmVkKCBCT09TVF9OT19DWFgxMV9SVkFMVUVfUkVGRVJFTkNFUyApCiAKICAgICB0ZW1wbGF0ZTxjbGFzcyBZLCBjbGFzcyBEPgogICAgIHNoYXJlZF9wdHIgJiBvcGVyYXRvcj0oIHN0ZDo6dW5pcXVlX3B0cjxZLCBEPiAmJiByICkKZGlmZiAtLWdpdCBhL25kbmJvb3N0L3N3YXAuaHBwIGIvbmRuYm9vc3Qvc3dhcC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODc1ZmU4YwotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L3N3YXAuaHBwCkBAIC0wLDAgKzEsMTIgQEAKKy8vIENvcHlyaWdodCAoQykgMjAwNyBKb3NlcGggR2F1dGVyaW4KKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIChTZWUKKy8vIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0CisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisKKyNpZm5kZWYgQk9PU1RfU1dBUF9IUFAKKyNkZWZpbmUgQk9PU1RfU1dBUF9IUFAKKworI2luY2x1ZGUgIm5kbmJvb3N0L3V0aWxpdHkvc3dhcC5ocHAiCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvdHVwbGUvZGV0YWlsL3R1cGxlX2Jhc2ljLmhwcCBiL25kbmJvb3N0L3R1cGxlL2RldGFpbC90dXBsZV9iYXNpYy5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzVmN2Q4MAotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L3R1cGxlL2RldGFpbC90dXBsZV9iYXNpYy5ocHAKQEAgLTAsMCArMSw5ODAgQEAKKy8vICB0dXBsZV9iYXNpYy5ocHAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworLy8gQ29weXJpZ2h0IChDKSAxOTk5LCAyMDAwIEphYWtrbyBKYXJ2aSAoamFha2tvLmphcnZpQGNzLnV0dS5maSkKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIChTZWUKKy8vIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0CisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisKKy8vIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUgaHR0cDovL3d3dy5ib29zdC5vcmcKKworLy8gT3V0c2lkZSBoZWxwOgorLy8gVGhpcyBhbmQgdGhhdCwgR2FyeSBQb3dlbGwuCisvLyBGaXhlZCByZXR1cm4gdHlwZXMgZm9yIGdldF9oZWFkL2dldF90YWlsCisvLyAoIGFuZCBvdGhlciBidWdzICkgcGVyIHN1Z2dlc3Rpb24gb2YgSmVucyBNYXVyZXIKKy8vIHNpbXBsaWZpZWQgZWxlbWVudCB0eXBlIGFjY2Vzc29ycyArIGJ1ZyBmaXggIChKZXJlbXkgU2llaykKKy8vIFNldmVyYWwgY2hhbmdlcy9hZGRpdGlvbnMgYWNjb3JkaW5nIHRvIHN1Z2dlc3Rpb25zIGJ5IERvdWdsYXMgR3JlZ29yLAorLy8gV2lsbGlhbSBLZW1wZiwgVmVzYSBLYXJ2b25lbiwgSm9obiBNYXggU2thbGxlciwgRWQgQnJleSwgQmVtYW4gRGF3ZXMsCisvLyBEYXZpZCBBYnJhaGFtcy4KKworLy8gUmV2aXNpb24gaGlzdG9yeToKKy8vIDIwMDIgMDUgMDEgSHVnbyBEdW5jYW46IEZpeCBmb3IgQm9ybGFuZCBhZnRlciBKYWFra28ncyBwcmV2aW91cyBjaGFuZ2VzCisvLyAyMDAyIDA0IDE4IEphYWtrbzogdHVwbGUgZWxlbWVudCB0eXBlcyBjYW4gYmUgdm9pZCBvciBwbGFpbiBmdW5jdGlvbgorLy8gICAgICAgICAgICAgICAgICAgIHR5cGVzLCBhcyBsb25nIGFzIG5vIG9iamVjdCBpcyBjcmVhdGVkLgorLy8gICAgICAgICAgICAgICAgICAgIFR1cGxlIG9iamVjdHMgY2FuIG5vIGhvbGQgZXZlbiBub25jb3B5YWJsZSB0eXBlcworLy8gICAgICAgICAgICAgICAgICAgIHN1Y2ggYXMgYXJyYXlzLgorLy8gMjAwMSAxMCAyMiBKb2huIE1hZGRvY2sKKy8vICAgICAgRml4ZXMgZm9yIEJvcmxhbmQgQysrCisvLyAyMDAxIDA4IDMwIERhdmlkIEFicmFoYW1zCisvLyAgICAgIEFkZGVkIGRlZmF1bHQgY29uc3RydWN0b3IgZm9yIGNvbnM8Pi4KKy8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKyNpZm5kZWYgQk9PU1RfVFVQTEVfQkFTSUNfSFBQCisjZGVmaW5lIEJPT1NUX1RVUExFX0JBU0lDX0hQUAorCisKKyNpbmNsdWRlIDx1dGlsaXR5PiAvLyBuZWVkZWQgZm9yIHRoZSBhc3NpZ25tZW50IGZyb20gcGFpciB0byB0dXBsZQorCisjaW5jbHVkZSAibmRuYm9vc3QvdHlwZV90cmFpdHMvY3ZfdHJhaXRzLmhwcCIKKyNpbmNsdWRlICJuZG5ib29zdC90eXBlX3RyYWl0cy9mdW5jdGlvbl90cmFpdHMuaHBwIgorI2luY2x1ZGUgIm5kbmJvb3N0L3V0aWxpdHkvc3dhcC5ocHAiCisKKyNpbmNsdWRlICJuZG5ib29zdC9kZXRhaWwvd29ya2Fyb3VuZC5ocHAiIC8vIG5lZWRlZCBmb3IgQk9PU1RfV09SS0FST1VORAorCituYW1lc3BhY2UgbmRuYm9vc3QgeworbmFtZXNwYWNlIHR1cGxlcyB7CisKKy8vIC0tIG51bGxfdHlwZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorc3RydWN0IG51bGxfdHlwZSB7fTsKKworLy8gYSBoZWxwZXIgZnVuY3Rpb24gdG8gcHJvdmlkZSBhIGNvbnN0IG51bGxfdHlwZSB0eXBlIHRlbXBvcmFyeQorbmFtZXNwYWNlIGRldGFpbCB7CisgIGlubGluZSBjb25zdCBudWxsX3R5cGUgY251bGwoKSB7IHJldHVybiBudWxsX3R5cGUoKTsgfQorCisKKy8vIC0tIGlmIGNvbnN0cnVjdCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy8vIFByb3Bvc2VkIGJ5IEtyenlzenRvZiBDemFybmVja2kgYW5kIFVscmljaCBFaXNlbmVja2VyCisKK3RlbXBsYXRlIDxib29sIElmLCBjbGFzcyBUaGVuLCBjbGFzcyBFbHNlPiBzdHJ1Y3QgSUYgeyB0eXBlZGVmIFRoZW4gUkVUOyB9OworCit0ZW1wbGF0ZSA8Y2xhc3MgVGhlbiwgY2xhc3MgRWxzZT4gc3RydWN0IElGPGZhbHNlLCBUaGVuLCBFbHNlPiB7CisgIHR5cGVkZWYgRWxzZSBSRVQ7Cit9OworCit9IC8vIGVuZCBkZXRhaWwKKworLy8gLSBjb25zIGZvcndhcmQgZGVjbGFyYXRpb24gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK3RlbXBsYXRlIDxjbGFzcyBIVCwgY2xhc3MgVFQ+IHN0cnVjdCBjb25zOworCisKKy8vIC0gdHVwbGUgZm9yd2FyZCBkZWNsYXJhdGlvbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQordGVtcGxhdGUgPAorICBjbGFzcyBUMCA9IG51bGxfdHlwZSwgY2xhc3MgVDEgPSBudWxsX3R5cGUsIGNsYXNzIFQyID0gbnVsbF90eXBlLAorICBjbGFzcyBUMyA9IG51bGxfdHlwZSwgY2xhc3MgVDQgPSBudWxsX3R5cGUsIGNsYXNzIFQ1ID0gbnVsbF90eXBlLAorICBjbGFzcyBUNiA9IG51bGxfdHlwZSwgY2xhc3MgVDcgPSBudWxsX3R5cGUsIGNsYXNzIFQ4ID0gbnVsbF90eXBlLAorICBjbGFzcyBUOSA9IG51bGxfdHlwZT4KK2NsYXNzIHR1cGxlOworCisvLyB0dXBsZV9sZW5ndGggZm9yd2FyZCBkZWNsYXJhdGlvbgordGVtcGxhdGU8Y2xhc3MgVD4gc3RydWN0IGxlbmd0aDsKKworCisKK25hbWVzcGFjZSBkZXRhaWwgeworCisvLyAtLSBnZW5lcmF0ZSBlcnJvciB0ZW1wbGF0ZSwgcmVmZXJlbmNpbmcgdG8gbm9uLWV4aXN0aW5nIG1lbWJlcnMgb2YgdGhpcworLy8gdGVtcGxhdGUgaXMgdXNlZCB0byBwcm9kdWNlIGNvbXBpbGF0aW9uIGVycm9ycyBpbnRlbnRpb25hbGx5Cit0ZW1wbGF0ZTxjbGFzcyBUPgorY2xhc3MgZ2VuZXJhdGVfZXJyb3I7CisKK3RlbXBsYXRlPGludCBOPgorc3RydWN0IGRyb3BfZnJvbnQgeworICAgIHRlbXBsYXRlPGNsYXNzIFR1cGxlPgorICAgIHN0cnVjdCBhcHBseSB7CisgICAgICAgIHR5cGVkZWYgQk9PU1RfREVEVUNFRF9UWVBFTkFNRSBkcm9wX2Zyb250PE4tMT46OkJPT1NUX05FU1RFRF9URU1QTEFURQorICAgICAgICAgICAgYXBwbHk8VHVwbGU+IG5leHQ7CisgICAgICAgIHR5cGVkZWYgQk9PU1RfREVEVUNFRF9UWVBFTkFNRSBuZXh0Ojp0eXBlOjp0YWlsX3R5cGUgdHlwZTsKKyAgICAgICAgc3RhdGljIGNvbnN0IHR5cGUmIGNhbGwoY29uc3QgVHVwbGUmIHR1cCkgeworICAgICAgICAgICAgcmV0dXJuIG5leHQ6OmNhbGwodHVwKS50YWlsOworICAgICAgICB9CisgICAgfTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBkcm9wX2Zyb250PDA+IHsKKyAgICB0ZW1wbGF0ZTxjbGFzcyBUdXBsZT4KKyAgICBzdHJ1Y3QgYXBwbHkgeworICAgICAgICB0eXBlZGVmIFR1cGxlIHR5cGU7CisgICAgICAgIHN0YXRpYyBjb25zdCB0eXBlJiBjYWxsKGNvbnN0IFR1cGxlJiB0dXApIHsKKyAgICAgICAgICAgIHJldHVybiB0dXA7CisgICAgICAgIH0KKyAgICB9OworfTsKKworfSAvLyBlbmQgb2YgbmFtZXNwYWNlIGRldGFpbAorCisKKy8vIC1jb25zIHR5cGUgYWNjZXNzb3JzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy8vIHR5cGVuYW1lIHR1cGxlczo6ZWxlbWVudDxOLFQ+Ojp0eXBlIGdldHMgdGhlIHR5cGUgb2YgdGhlCisvLyBOdGggZWxlbWVudCBvdCBULCBmaXJzdCBlbGVtZW50IGlzIGF0IGluZGV4IDAKKy8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworI2lmbmRlZiBCT09TVF9OT19DVl9TUEVDSUFMSVpBVElPTlMKKwordGVtcGxhdGU8aW50IE4sIGNsYXNzIFQ+CitzdHJ1Y3QgZWxlbWVudAoreworICB0eXBlZGVmIEJPT1NUX0RFRFVDRURfVFlQRU5BTUUgZGV0YWlsOjpkcm9wX2Zyb250PE4+OjpCT09TVF9ORVNURURfVEVNUExBVEUKKyAgICAgIGFwcGx5PFQ+Ojp0eXBlOjpoZWFkX3R5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPGludCBOLCBjbGFzcyBUPgorc3RydWN0IGVsZW1lbnQ8TiwgY29uc3QgVD4KK3sKK3ByaXZhdGU6CisgIHR5cGVkZWYgQk9PU1RfREVEVUNFRF9UWVBFTkFNRSBkZXRhaWw6OmRyb3BfZnJvbnQ8Tj46OkJPT1NUX05FU1RFRF9URU1QTEFURQorICAgICAgYXBwbHk8VD46OnR5cGU6OmhlYWRfdHlwZSB1bnF1YWxpZmllZF90eXBlOworcHVibGljOgorI2lmIEJPT1NUX1dPUktBUk9VTkQoX19CT1JMQU5EQ19fLDwweDYwMCkKKyAgdHlwZWRlZiBjb25zdCB1bnF1YWxpZmllZF90eXBlIHR5cGU7CisjZWxzZQorICB0eXBlZGVmIEJPT1NUX0RFRFVDRURfVFlQRU5BTUUgbmRuYm9vc3Q6OmFkZF9jb25zdDx1bnF1YWxpZmllZF90eXBlPjo6dHlwZSB0eXBlOworI2VuZGlmCit9OworI2Vsc2UgLy8gZGVmIEJPT1NUX05PX0NWX1NQRUNJQUxJWkFUSU9OUworCituYW1lc3BhY2UgZGV0YWlsIHsKKwordGVtcGxhdGU8aW50IE4sIGNsYXNzIFQsIGJvb2wgSXNDb25zdD4KK3N0cnVjdCBlbGVtZW50X2ltcGwKK3sKKyAgdHlwZWRlZiBCT09TVF9ERURVQ0VEX1RZUEVOQU1FIGRldGFpbDo6ZHJvcF9mcm9udDxOPjo6Qk9PU1RfTkVTVEVEX1RFTVBMQVRFCisgICAgICBhcHBseTxUPjo6dHlwZTo6aGVhZF90eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTxpbnQgTiwgY2xhc3MgVD4KK3N0cnVjdCBlbGVtZW50X2ltcGw8TiwgVCwgdHJ1ZSAvKiBJc0NvbnN0ICovPgoreworICB0eXBlZGVmIEJPT1NUX0RFRFVDRURfVFlQRU5BTUUgZGV0YWlsOjpkcm9wX2Zyb250PE4+OjpCT09TVF9ORVNURURfVEVNUExBVEUKKyAgICAgIGFwcGx5PFQ+Ojp0eXBlOjpoZWFkX3R5cGUgdW5xdWFsaWZpZWRfdHlwZTsKKyAgdHlwZWRlZiBjb25zdCB1bnF1YWxpZmllZF90eXBlIHR5cGU7Cit9OworCit9IC8vIGVuZCBvZiBuYW1lc3BhY2UgZGV0YWlsCisKKwordGVtcGxhdGU8aW50IE4sIGNsYXNzIFQ+CitzdHJ1Y3QgZWxlbWVudDoKKyAgcHVibGljIGRldGFpbDo6ZWxlbWVudF9pbXBsPE4sIFQsIDo6bmRuYm9vc3Q6OmlzX2NvbnN0PFQ+Ojp2YWx1ZT4KK3sKK307CisKKyNlbmRpZgorCisKKy8vIC1nZXQgZnVuY3Rpb24gdGVtcGxhdGVzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisvLyBVc2FnZTogZ2V0PE4+KGFUdXBsZSkKKworLy8gLS0gc29tZSB0cmFpdHMgY2xhc3NlcyBmb3IgZ2V0IGZ1bmN0aW9ucworCisvLyBhY2Nlc3MgdHJhaXRzIGxpZnRlZCBmcm9tIGRldGFpbCBuYW1lc3BhY2UgdG8gYmUgcGFydCBvZiB0aGUgaW50ZXJmYWNlLAorLy8gKEpvZWwgZGUgR3V6bWFuJ3Mgc3VnZ2VzdGlvbikuIFJhdGlvbmFsZTogZ2V0IGZ1bmN0aW9ucyBhcmUgcGFydCBvZiB0aGUKKy8vIGludGVyZmFjZSwgc28gc2hvdWxkIHRoZSB3YXkgdG8gZXhwcmVzcyB0aGVpciByZXR1cm4gdHlwZXMgYmUuCisKK3RlbXBsYXRlIDxjbGFzcyBUPiBzdHJ1Y3QgYWNjZXNzX3RyYWl0cyB7CisgIHR5cGVkZWYgY29uc3QgVCYgY29uc3RfdHlwZTsKKyAgdHlwZWRlZiBUJiBub25fY29uc3RfdHlwZTsKKworICB0eXBlZGVmIGNvbnN0IHR5cGVuYW1lIG5kbmJvb3N0OjpyZW1vdmVfY3Y8VD46OnR5cGUmIHBhcmFtZXRlcl90eXBlOworCisvLyB1c2VkIGFzIHRoZSB0dXBsZSBjb25zdHJ1Y3RvcnMgcGFyYW1ldGVyIHR5cGVzCisvLyBSYXRpb25hbGU6IG5vbi1yZWZlcmVuY2UgdHVwbGUgZWxlbWVudCB0eXBlcyBjYW4gYmUgY3YtcXVhbGlmaWVkLgorLy8gSXQgc2hvdWxkIGJlIHBvc3NpYmxlIHRvIGluaXRpYWxpemUgc3VjaCB0eXBlcyB3aXRoIHRlbXBvcmFyaWVzLAorLy8gYW5kIHdoZW4gYmluZGluZyB0ZW1wb3JhcmllcyB0byByZWZlcmVuY2VzLCB0aGUgcmVmZXJlbmNlIG11c3QKKy8vIGJlIG5vbi12b2xhdGlsZSBhbmQgY29uc3QuIDguNS4zLiAoNSkKK307CisKK3RlbXBsYXRlIDxjbGFzcyBUPiBzdHJ1Y3QgYWNjZXNzX3RyYWl0czxUJj4geworCisgIHR5cGVkZWYgVCYgY29uc3RfdHlwZTsKKyAgdHlwZWRlZiBUJiBub25fY29uc3RfdHlwZTsKKworICB0eXBlZGVmIFQmIHBhcmFtZXRlcl90eXBlOworfTsKKworLy8gZ2V0IGZ1bmN0aW9uIGZvciBub24tY29uc3QgY29ucy1saXN0cywgcmV0dXJucyBhIHJlZmVyZW5jZSB0byB0aGUgZWxlbWVudAorCit0ZW1wbGF0ZTxpbnQgTiwgY2xhc3MgSFQsIGNsYXNzIFRUPgoraW5saW5lIHR5cGVuYW1lIGFjY2Vzc190cmFpdHM8CisgICAgICAgICAgICAgICAgICB0eXBlbmFtZSBlbGVtZW50PE4sIGNvbnM8SFQsIFRUPiA+Ojp0eXBlCisgICAgICAgICAgICAgICAgPjo6bm9uX2NvbnN0X3R5cGUKK2dldChjb25zPEhULCBUVD4mIGMgQk9PU1RfQVBQRU5EX0VYUExJQ0lUX1RFTVBMQVRFX05PTl9UWVBFKGludCwgTikpIHsKKyAgdHlwZWRlZiBCT09TVF9ERURVQ0VEX1RZUEVOQU1FIGRldGFpbDo6ZHJvcF9mcm9udDxOPjo6Qk9PU1RfTkVTVEVEX1RFTVBMQVRFCisgICAgICBhcHBseTxjb25zPEhULCBUVD4gPiBpbXBsOworICB0eXBlZGVmIEJPT1NUX0RFRFVDRURfVFlQRU5BTUUgaW1wbDo6dHlwZSBjb25zX2VsZW1lbnQ7CisgIHJldHVybiBjb25zdF9jYXN0PGNvbnNfZWxlbWVudCY+KGltcGw6OmNhbGwoYykpLmhlYWQ7Cit9CisKKy8vIGdldCBmdW5jdGlvbiBmb3IgY29uc3QgY29ucy1saXN0cywgcmV0dXJucyBhIGNvbnN0IHJlZmVyZW5jZSB0bworLy8gdGhlIGVsZW1lbnQuIElmIHRoZSBlbGVtZW50IGlzIGEgcmVmZXJlbmNlLCByZXR1cm5zIHRoZSByZWZlcmVuY2UKKy8vIGFzIHN1Y2ggKHRoYXQgaXMsIGNhbiByZXR1cm4gYSBub24tY29uc3QgcmVmZXJlbmNlKQordGVtcGxhdGU8aW50IE4sIGNsYXNzIEhULCBjbGFzcyBUVD4KK2lubGluZSB0eXBlbmFtZSBhY2Nlc3NfdHJhaXRzPAorICAgICAgICAgICAgICAgICAgdHlwZW5hbWUgZWxlbWVudDxOLCBjb25zPEhULCBUVD4gPjo6dHlwZQorICAgICAgICAgICAgICAgID46OmNvbnN0X3R5cGUKK2dldChjb25zdCBjb25zPEhULCBUVD4mIGMgQk9PU1RfQVBQRU5EX0VYUExJQ0lUX1RFTVBMQVRFX05PTl9UWVBFKGludCwgTikpIHsKKyAgdHlwZWRlZiBCT09TVF9ERURVQ0VEX1RZUEVOQU1FIGRldGFpbDo6ZHJvcF9mcm9udDxOPjo6Qk9PU1RfTkVTVEVEX1RFTVBMQVRFCisgICAgICBhcHBseTxjb25zPEhULCBUVD4gPiBpbXBsOworICB0eXBlZGVmIEJPT1NUX0RFRFVDRURfVFlQRU5BTUUgaW1wbDo6dHlwZSBjb25zX2VsZW1lbnQ7CisgIHJldHVybiBpbXBsOjpjYWxsKGMpLmhlYWQ7Cit9CisKKy8vIC0tIHRoZSBjb25zIHRlbXBsYXRlICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorbmFtZXNwYWNlIGRldGFpbCB7CisKKy8vICBUaGVzZSBoZWxwZXIgdGVtcGxhdGVzIHdyYXAgdm9pZCB0eXBlcyBhbmQgcGxhaW4gZnVuY3Rpb24gdHlwZXMuCisvLyAgVGhlIHJlYXRpb25hbGUgaXMgdG8gYWxsb3cgb25lIHRvIHdyaXRlIHR1cGxlIHR5cGVzIHdpdGggdGhvc2UgdHlwZXMKKy8vICBhcyBlbGVtZW50cywgZXZlbiB0aG91Z2ggaXQgaXMgbm90IHBvc3NpYmxlIHRvIGluc3RhbnRpYXRlIHN1Y2ggb2JqZWN0LgorLy8gIEUuZzogdHlwZWRlZiB0dXBsZTx2b2lkPiBzb21lX3R5cGU7IC8vIG9rCisvLyAgYnV0OiBzb21lX3R5cGUgeDsgLy8gZmFpbHMKKwordGVtcGxhdGUgPGNsYXNzIFQ+IGNsYXNzIG5vbl9zdG9yZWFibGVfdHlwZSB7CisgIG5vbl9zdG9yZWFibGVfdHlwZSgpOworfTsKKwordGVtcGxhdGUgPGNsYXNzIFQ+IHN0cnVjdCB3cmFwX25vbl9zdG9yZWFibGVfdHlwZSB7CisgIHR5cGVkZWYgdHlwZW5hbWUgSUY8CisgICAgOjpuZG5ib29zdDo6aXNfZnVuY3Rpb248VD46OnZhbHVlLCBub25fc3RvcmVhYmxlX3R5cGU8VD4sIFQKKyAgPjo6UkVUIHR5cGU7Cit9OwordGVtcGxhdGUgPD4gc3RydWN0IHdyYXBfbm9uX3N0b3JlYWJsZV90eXBlPHZvaWQ+IHsKKyAgdHlwZWRlZiBub25fc3RvcmVhYmxlX3R5cGU8dm9pZD4gdHlwZTsKK307CisKK30gLy8gZGV0YWlsCisKK3RlbXBsYXRlIDxjbGFzcyBIVCwgY2xhc3MgVFQ+CitzdHJ1Y3QgY29ucyB7CisKKyAgdHlwZWRlZiBIVCBoZWFkX3R5cGU7CisgIHR5cGVkZWYgVFQgdGFpbF90eXBlOworCisgIHR5cGVkZWYgdHlwZW5hbWUKKyAgICBkZXRhaWw6OndyYXBfbm9uX3N0b3JlYWJsZV90eXBlPGhlYWRfdHlwZT46OnR5cGUgc3RvcmVkX2hlYWRfdHlwZTsKKworICBzdG9yZWRfaGVhZF90eXBlIGhlYWQ7CisgIHRhaWxfdHlwZSB0YWlsOworCisgIHR5cGVuYW1lIGFjY2Vzc190cmFpdHM8c3RvcmVkX2hlYWRfdHlwZT46Om5vbl9jb25zdF90eXBlCisgIGdldF9oZWFkKCkgeyByZXR1cm4gaGVhZDsgfQorCisgIHR5cGVuYW1lIGFjY2Vzc190cmFpdHM8dGFpbF90eXBlPjo6bm9uX2NvbnN0X3R5cGUKKyAgZ2V0X3RhaWwoKSB7IHJldHVybiB0YWlsOyB9CisKKyAgdHlwZW5hbWUgYWNjZXNzX3RyYWl0czxzdG9yZWRfaGVhZF90eXBlPjo6Y29uc3RfdHlwZQorICBnZXRfaGVhZCgpIGNvbnN0IHsgcmV0dXJuIGhlYWQ7IH0KKworICB0eXBlbmFtZSBhY2Nlc3NfdHJhaXRzPHRhaWxfdHlwZT46OmNvbnN0X3R5cGUKKyAgZ2V0X3RhaWwoKSBjb25zdCB7IHJldHVybiB0YWlsOyB9CisKKyAgY29ucygpIDogaGVhZCgpLCB0YWlsKCkge30KKyAgLy8gIGNvbnMoKSA6IGhlYWQoZGV0YWlsOjpkZWZhdWx0X2FyZzxIVD46OmYoKSksIHRhaWwoKSB7fQorCisgIC8vIHRoZSBhcmd1bWVudCBmb3IgaGVhZCBpcyBub3Qgc3RyaWN0bHkgbmVlZGVkLCBidXQgaXQgcHJldmVudHMKKyAgLy8gYXJyYXkgdHlwZSBlbGVtZW50cy4gVGhpcyBpcyBnb29kLCBzaW5jZSBhcnJheSB0eXBlIGVsZW1lbnRzCisgIC8vIGNhbm5vdCBiZSBzdXBwb3J0ZWQgcHJvcGVybHkgaW4gYW55IGNhc2UgKG5vIGFzc2lnbm1lbnQsCisgIC8vIGNvcHkgd29ya3Mgb25seSBpZiB0aGUgdGFpbHMgYXJlIGV4YWN0bHkgdGhlIHNhbWUgdHlwZSwgLi4uKQorCisgIGNvbnModHlwZW5hbWUgYWNjZXNzX3RyYWl0czxzdG9yZWRfaGVhZF90eXBlPjo6cGFyYW1ldGVyX3R5cGUgaCwKKyAgICAgICBjb25zdCB0YWlsX3R5cGUmIHQpCisgICAgOiBoZWFkIChoKSwgdGFpbCh0KSB7fQorCisgIHRlbXBsYXRlIDxjbGFzcyBUMSwgY2xhc3MgVDIsIGNsYXNzIFQzLCBjbGFzcyBUNCwgY2xhc3MgVDUsCisgICAgICAgICAgICBjbGFzcyBUNiwgY2xhc3MgVDcsIGNsYXNzIFQ4LCBjbGFzcyBUOSwgY2xhc3MgVDEwPgorICBjb25zKCBUMSYgdDEsIFQyJiB0MiwgVDMmIHQzLCBUNCYgdDQsIFQ1JiB0NSwKKyAgICAgICAgVDYmIHQ2LCBUNyYgdDcsIFQ4JiB0OCwgVDkmIHQ5LCBUMTAmIHQxMCApCisgICAgOiBoZWFkICh0MSksCisgICAgICB0YWlsICh0MiwgdDMsIHQ0LCB0NSwgdDYsIHQ3LCB0OCwgdDksIHQxMCwgZGV0YWlsOjpjbnVsbCgpKQorICAgICAge30KKworICB0ZW1wbGF0ZSA8Y2xhc3MgVDIsIGNsYXNzIFQzLCBjbGFzcyBUNCwgY2xhc3MgVDUsCisgICAgICAgICAgICBjbGFzcyBUNiwgY2xhc3MgVDcsIGNsYXNzIFQ4LCBjbGFzcyBUOSwgY2xhc3MgVDEwPgorICBjb25zKCBjb25zdCBudWxsX3R5cGUmIC8qdDEqLywgVDImIHQyLCBUMyYgdDMsIFQ0JiB0NCwgVDUmIHQ1LAorICAgICAgICBUNiYgdDYsIFQ3JiB0NywgVDgmIHQ4LCBUOSYgdDksIFQxMCYgdDEwICkKKyAgICA6IGhlYWQgKCksCisgICAgICB0YWlsICh0MiwgdDMsIHQ0LCB0NSwgdDYsIHQ3LCB0OCwgdDksIHQxMCwgZGV0YWlsOjpjbnVsbCgpKQorICAgICAge30KKworCisgIHRlbXBsYXRlIDxjbGFzcyBIVDIsIGNsYXNzIFRUMj4KKyAgY29ucyggY29uc3QgY29uczxIVDIsIFRUMj4mIHUgKSA6IGhlYWQodS5oZWFkKSwgdGFpbCh1LnRhaWwpIHt9CisKKyAgdGVtcGxhdGUgPGNsYXNzIEhUMiwgY2xhc3MgVFQyPgorICBjb25zJiBvcGVyYXRvcj0oIGNvbnN0IGNvbnM8SFQyLCBUVDI+JiB1ICkgeworICAgIGhlYWQ9dS5oZWFkOyB0YWlsPXUudGFpbDsgcmV0dXJuICp0aGlzOworICB9CisKKyAgLy8gbXVzdCBkZWZpbmUgYXNzaWdubWVudCBvcGVyYXRvciBleHBsaWNpdGx5LCBpbXBsaWNpdCB2ZXJzaW9uIGlzCisgIC8vIGlsbGZvcm1lZCBpZiBIVCBpcyBhIHJlZmVyZW5jZSAoMTIuOC4gKDEyKSkKKyAgY29ucyYgb3BlcmF0b3I9KGNvbnN0IGNvbnMmIHUpIHsKKyAgICBoZWFkID0gdS5oZWFkOyB0YWlsID0gdS50YWlsOyAgcmV0dXJuICp0aGlzOworICB9CisKKyAgdGVtcGxhdGUgPGNsYXNzIFQxLCBjbGFzcyBUMj4KKyAgY29ucyYgb3BlcmF0b3I9KCBjb25zdCBzdGQ6OnBhaXI8VDEsIFQyPiYgdSApIHsKKyAgICBCT09TVF9TVEFUSUNfQVNTRVJUKGxlbmd0aDxjb25zPjo6dmFsdWUgPT0gMik7IC8vIGNoZWNrIGxlbmd0aCA9IDIKKyAgICBoZWFkID0gdS5maXJzdDsgdGFpbC5oZWFkID0gdS5zZWNvbmQ7IHJldHVybiAqdGhpczsKKyAgfQorCisgIC8vIGdldCBtZW1iZXIgZnVuY3Rpb25zIChub24tY29uc3QgYW5kIGNvbnN0KQorICB0ZW1wbGF0ZSA8aW50IE4+CisgIHR5cGVuYW1lIGFjY2Vzc190cmFpdHM8CisgICAgICAgICAgICAgdHlwZW5hbWUgZWxlbWVudDxOLCBjb25zPEhULCBUVD4gPjo6dHlwZQorICAgICAgICAgICA+Ojpub25fY29uc3RfdHlwZQorICBnZXQoKSB7CisgICAgcmV0dXJuIG5kbmJvb3N0Ojp0dXBsZXM6OmdldDxOPigqdGhpcyk7IC8vIGRlbGVnYXRlIHRvIG5vbi1tZW1iZXIgZ2V0CisgIH0KKworICB0ZW1wbGF0ZSA8aW50IE4+CisgIHR5cGVuYW1lIGFjY2Vzc190cmFpdHM8CisgICAgICAgICAgICAgdHlwZW5hbWUgZWxlbWVudDxOLCBjb25zPEhULCBUVD4gPjo6dHlwZQorICAgICAgICAgICA+Ojpjb25zdF90eXBlCisgIGdldCgpIGNvbnN0IHsKKyAgICByZXR1cm4gbmRuYm9vc3Q6OnR1cGxlczo6Z2V0PE4+KCp0aGlzKTsgLy8gZGVsZWdhdGUgdG8gbm9uLW1lbWJlciBnZXQKKyAgfQorfTsKKwordGVtcGxhdGUgPGNsYXNzIEhUPgorc3RydWN0IGNvbnM8SFQsIG51bGxfdHlwZT4geworCisgIHR5cGVkZWYgSFQgaGVhZF90eXBlOworICB0eXBlZGVmIG51bGxfdHlwZSB0YWlsX3R5cGU7CisgIHR5cGVkZWYgY29uczxIVCwgbnVsbF90eXBlPiBzZWxmX3R5cGU7CisKKyAgdHlwZWRlZiB0eXBlbmFtZQorICAgIGRldGFpbDo6d3JhcF9ub25fc3RvcmVhYmxlX3R5cGU8aGVhZF90eXBlPjo6dHlwZSBzdG9yZWRfaGVhZF90eXBlOworICBzdG9yZWRfaGVhZF90eXBlIGhlYWQ7CisKKyAgdHlwZW5hbWUgYWNjZXNzX3RyYWl0czxzdG9yZWRfaGVhZF90eXBlPjo6bm9uX2NvbnN0X3R5cGUKKyAgZ2V0X2hlYWQoKSB7IHJldHVybiBoZWFkOyB9CisKKyAgbnVsbF90eXBlIGdldF90YWlsKCkgeyByZXR1cm4gbnVsbF90eXBlKCk7IH0KKworICB0eXBlbmFtZSBhY2Nlc3NfdHJhaXRzPHN0b3JlZF9oZWFkX3R5cGU+Ojpjb25zdF90eXBlCisgIGdldF9oZWFkKCkgY29uc3QgeyByZXR1cm4gaGVhZDsgfQorCisgIGNvbnN0IG51bGxfdHlwZSBnZXRfdGFpbCgpIGNvbnN0IHsgcmV0dXJuIG51bGxfdHlwZSgpOyB9CisKKyAgLy8gIGNvbnMoKSA6IGhlYWQoZGV0YWlsOjpkZWZhdWx0X2FyZzxIVD46OmYoKSkge30KKyAgY29ucygpIDogaGVhZCgpIHt9CisKKyAgY29ucyh0eXBlbmFtZSBhY2Nlc3NfdHJhaXRzPHN0b3JlZF9oZWFkX3R5cGU+OjpwYXJhbWV0ZXJfdHlwZSBoLAorICAgICAgIGNvbnN0IG51bGxfdHlwZSYgPSBudWxsX3R5cGUoKSkKKyAgICA6IGhlYWQgKGgpIHt9CisKKyAgdGVtcGxhdGU8Y2xhc3MgVDE+CisgIGNvbnMoVDEmIHQxLCBjb25zdCBudWxsX3R5cGUmLCBjb25zdCBudWxsX3R5cGUmLCBjb25zdCBudWxsX3R5cGUmLAorICAgICAgIGNvbnN0IG51bGxfdHlwZSYsIGNvbnN0IG51bGxfdHlwZSYsIGNvbnN0IG51bGxfdHlwZSYsCisgICAgICAgY29uc3QgbnVsbF90eXBlJiwgY29uc3QgbnVsbF90eXBlJiwgY29uc3QgbnVsbF90eXBlJikKKyAgOiBoZWFkICh0MSkge30KKworICBjb25zKGNvbnN0IG51bGxfdHlwZSYsCisgICAgICAgY29uc3QgbnVsbF90eXBlJiwgY29uc3QgbnVsbF90eXBlJiwgY29uc3QgbnVsbF90eXBlJiwKKyAgICAgICBjb25zdCBudWxsX3R5cGUmLCBjb25zdCBudWxsX3R5cGUmLCBjb25zdCBudWxsX3R5cGUmLAorICAgICAgIGNvbnN0IG51bGxfdHlwZSYsIGNvbnN0IG51bGxfdHlwZSYsIGNvbnN0IG51bGxfdHlwZSYpCisgIDogaGVhZCAoKSB7fQorCisgIHRlbXBsYXRlIDxjbGFzcyBIVDI+CisgIGNvbnMoIGNvbnN0IGNvbnM8SFQyLCBudWxsX3R5cGU+JiB1ICkgOiBoZWFkKHUuaGVhZCkge30KKworICB0ZW1wbGF0ZSA8Y2xhc3MgSFQyPgorICBjb25zJiBvcGVyYXRvcj0oY29uc3QgY29uczxIVDIsIG51bGxfdHlwZT4mIHUgKQorICB7IGhlYWQgPSB1LmhlYWQ7IHJldHVybiAqdGhpczsgfQorCisgIC8vIG11c3QgZGVmaW5lIGFzc2lnbm1lbnQgb3BlcmF0b3IgZXhwbGljaXRlbHksIGltcGxpY2l0IHZlcnNpb24KKyAgLy8gaXMgaWxsZm9ybWVkIGlmIEhUIGlzIGEgcmVmZXJlbmNlCisgIGNvbnMmIG9wZXJhdG9yPShjb25zdCBjb25zJiB1KSB7IGhlYWQgPSB1LmhlYWQ7IHJldHVybiAqdGhpczsgfQorCisgIHRlbXBsYXRlIDxpbnQgTj4KKyAgdHlwZW5hbWUgYWNjZXNzX3RyYWl0czwKKyAgICAgICAgICAgICB0eXBlbmFtZSBlbGVtZW50PE4sIHNlbGZfdHlwZT46OnR5cGUKKyAgICAgICAgICAgID46Om5vbl9jb25zdF90eXBlCisgIGdldChCT09TVF9FWFBMSUNJVF9URU1QTEFURV9OT05fVFlQRShpbnQsIE4pKSB7CisgICAgcmV0dXJuIG5kbmJvb3N0Ojp0dXBsZXM6OmdldDxOPigqdGhpcyk7CisgIH0KKworICB0ZW1wbGF0ZSA8aW50IE4+CisgIHR5cGVuYW1lIGFjY2Vzc190cmFpdHM8CisgICAgICAgICAgICAgdHlwZW5hbWUgZWxlbWVudDxOLCBzZWxmX3R5cGU+Ojp0eXBlCisgICAgICAgICAgID46OmNvbnN0X3R5cGUKKyAgZ2V0KEJPT1NUX0VYUExJQ0lUX1RFTVBMQVRFX05PTl9UWVBFKGludCwgTikpIGNvbnN0IHsKKyAgICByZXR1cm4gbmRuYm9vc3Q6OnR1cGxlczo6Z2V0PE4+KCp0aGlzKTsKKyAgfQorCit9OworCisvLyB0ZW1wbGF0ZXMgZm9yIGZpbmRpbmcgb3V0IHRoZSBsZW5ndGggb2YgdGhlIHR1cGxlIC0tLS0tLS0tLS0tLS0tLS0tLS0KKwordGVtcGxhdGU8Y2xhc3MgVD4KK3N0cnVjdCBsZW5ndGggIHsKKyAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgPSAxICsgbGVuZ3RoPHR5cGVuYW1lIFQ6OnRhaWxfdHlwZT46OnZhbHVlKTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBsZW5ndGg8dHVwbGU8PiA+IHsKKyAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgPSAwKTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBsZW5ndGg8dHVwbGU8PiBjb25zdD4geworICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LCB2YWx1ZSA9IDApOworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IGxlbmd0aDxudWxsX3R5cGU+IHsKKyAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgPSAwKTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBsZW5ndGg8bnVsbF90eXBlIGNvbnN0PiB7CisgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlID0gMCk7Cit9OworCituYW1lc3BhY2UgZGV0YWlsIHsKKworLy8gVHVwbGUgdG8gY29ucyBtYXBwZXIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK3RlbXBsYXRlIDxjbGFzcyBUMCwgY2xhc3MgVDEsIGNsYXNzIFQyLCBjbGFzcyBUMywgY2xhc3MgVDQsCisgICAgICAgICAgY2xhc3MgVDUsIGNsYXNzIFQ2LCBjbGFzcyBUNywgY2xhc3MgVDgsIGNsYXNzIFQ5Pgorc3RydWN0IG1hcF90dXBsZV90b19jb25zCit7CisgIHR5cGVkZWYgY29uczxUMCwKKyAgICAgICAgICAgICAgIHR5cGVuYW1lIG1hcF90dXBsZV90b19jb25zPFQxLCBUMiwgVDMsIFQ0LCBUNSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFQ2LCBUNywgVDgsIFQ5LCBudWxsX3R5cGU+Ojp0eXBlCisgICAgICAgICAgICAgID4gdHlwZTsKK307CisKKy8vIFRoZSBlbXB0eSB0dXBsZSBpcyBhIG51bGxfdHlwZQordGVtcGxhdGUgPD4KK3N0cnVjdCBtYXBfdHVwbGVfdG9fY29uczxudWxsX3R5cGUsIG51bGxfdHlwZSwgbnVsbF90eXBlLCBudWxsX3R5cGUsIG51bGxfdHlwZSwgbnVsbF90eXBlLCBudWxsX3R5cGUsIG51bGxfdHlwZSwgbnVsbF90eXBlLCBudWxsX3R5cGU+Cit7CisgIHR5cGVkZWYgbnVsbF90eXBlIHR5cGU7Cit9OworCit9IC8vIGVuZCBkZXRhaWwKKworLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLy8gLS0gdHVwbGUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCit0ZW1wbGF0ZSA8Y2xhc3MgVDAsIGNsYXNzIFQxLCBjbGFzcyBUMiwgY2xhc3MgVDMsIGNsYXNzIFQ0LAorICAgICAgICAgIGNsYXNzIFQ1LCBjbGFzcyBUNiwgY2xhc3MgVDcsIGNsYXNzIFQ4LCBjbGFzcyBUOT4KKworY2xhc3MgdHVwbGUgOgorICBwdWJsaWMgZGV0YWlsOjptYXBfdHVwbGVfdG9fY29uczxUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOT46OnR5cGUKK3sKK3B1YmxpYzoKKyAgdHlwZWRlZiB0eXBlbmFtZQorICAgIGRldGFpbDo6bWFwX3R1cGxlX3RvX2NvbnM8VDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDk+Ojp0eXBlIGluaGVyaXRlZDsKKyAgdHlwZWRlZiB0eXBlbmFtZSBpbmhlcml0ZWQ6OmhlYWRfdHlwZSBoZWFkX3R5cGU7CisgIHR5cGVkZWYgdHlwZW5hbWUgaW5oZXJpdGVkOjp0YWlsX3R5cGUgdGFpbF90eXBlOworCisKKy8vIGFjY2Vzc190cmFpdHM8VD46OnBhcmFtZXRlcl90eXBlIHRha2VzIG5vbi1yZWZlcmVuY2UgdHlwZXMgYXMgY29uc3QgVCYKKyAgdHVwbGUoKSB7fQorCisgIHR1cGxlKHR5cGVuYW1lIGFjY2Vzc190cmFpdHM8VDA+OjpwYXJhbWV0ZXJfdHlwZSB0MCkKKyAgICA6IGluaGVyaXRlZCh0MCwgZGV0YWlsOjpjbnVsbCgpLCBkZXRhaWw6OmNudWxsKCksIGRldGFpbDo6Y251bGwoKSwKKyAgICAgICAgICAgICAgICBkZXRhaWw6OmNudWxsKCksIGRldGFpbDo6Y251bGwoKSwgZGV0YWlsOjpjbnVsbCgpLAorICAgICAgICAgICAgICAgIGRldGFpbDo6Y251bGwoKSwgZGV0YWlsOjpjbnVsbCgpLCBkZXRhaWw6OmNudWxsKCkpIHt9CisKKyAgdHVwbGUodHlwZW5hbWUgYWNjZXNzX3RyYWl0czxUMD46OnBhcmFtZXRlcl90eXBlIHQwLAorICAgICAgICB0eXBlbmFtZSBhY2Nlc3NfdHJhaXRzPFQxPjo6cGFyYW1ldGVyX3R5cGUgdDEpCisgICAgOiBpbmhlcml0ZWQodDAsIHQxLCBkZXRhaWw6OmNudWxsKCksIGRldGFpbDo6Y251bGwoKSwKKyAgICAgICAgICAgICAgICBkZXRhaWw6OmNudWxsKCksIGRldGFpbDo6Y251bGwoKSwgZGV0YWlsOjpjbnVsbCgpLAorICAgICAgICAgICAgICAgIGRldGFpbDo6Y251bGwoKSwgZGV0YWlsOjpjbnVsbCgpLCBkZXRhaWw6OmNudWxsKCkpIHt9CisKKyAgdHVwbGUodHlwZW5hbWUgYWNjZXNzX3RyYWl0czxUMD46OnBhcmFtZXRlcl90eXBlIHQwLAorICAgICAgICB0eXBlbmFtZSBhY2Nlc3NfdHJhaXRzPFQxPjo6cGFyYW1ldGVyX3R5cGUgdDEsCisgICAgICAgIHR5cGVuYW1lIGFjY2Vzc190cmFpdHM8VDI+OjpwYXJhbWV0ZXJfdHlwZSB0MikKKyAgICA6IGluaGVyaXRlZCh0MCwgdDEsIHQyLCBkZXRhaWw6OmNudWxsKCksIGRldGFpbDo6Y251bGwoKSwKKyAgICAgICAgICAgICAgICBkZXRhaWw6OmNudWxsKCksIGRldGFpbDo6Y251bGwoKSwgZGV0YWlsOjpjbnVsbCgpLAorICAgICAgICAgICAgICAgIGRldGFpbDo6Y251bGwoKSwgZGV0YWlsOjpjbnVsbCgpKSB7fQorCisgIHR1cGxlKHR5cGVuYW1lIGFjY2Vzc190cmFpdHM8VDA+OjpwYXJhbWV0ZXJfdHlwZSB0MCwKKyAgICAgICAgdHlwZW5hbWUgYWNjZXNzX3RyYWl0czxUMT46OnBhcmFtZXRlcl90eXBlIHQxLAorICAgICAgICB0eXBlbmFtZSBhY2Nlc3NfdHJhaXRzPFQyPjo6cGFyYW1ldGVyX3R5cGUgdDIsCisgICAgICAgIHR5cGVuYW1lIGFjY2Vzc190cmFpdHM8VDM+OjpwYXJhbWV0ZXJfdHlwZSB0MykKKyAgICA6IGluaGVyaXRlZCh0MCwgdDEsIHQyLCB0MywgZGV0YWlsOjpjbnVsbCgpLCBkZXRhaWw6OmNudWxsKCksCisgICAgICAgICAgICAgICAgZGV0YWlsOjpjbnVsbCgpLCBkZXRhaWw6OmNudWxsKCksIGRldGFpbDo6Y251bGwoKSwKKyAgICAgICAgICAgICAgICBkZXRhaWw6OmNudWxsKCkpIHt9CisKKyAgdHVwbGUodHlwZW5hbWUgYWNjZXNzX3RyYWl0czxUMD46OnBhcmFtZXRlcl90eXBlIHQwLAorICAgICAgICB0eXBlbmFtZSBhY2Nlc3NfdHJhaXRzPFQxPjo6cGFyYW1ldGVyX3R5cGUgdDEsCisgICAgICAgIHR5cGVuYW1lIGFjY2Vzc190cmFpdHM8VDI+OjpwYXJhbWV0ZXJfdHlwZSB0MiwKKyAgICAgICAgdHlwZW5hbWUgYWNjZXNzX3RyYWl0czxUMz46OnBhcmFtZXRlcl90eXBlIHQzLAorICAgICAgICB0eXBlbmFtZSBhY2Nlc3NfdHJhaXRzPFQ0Pjo6cGFyYW1ldGVyX3R5cGUgdDQpCisgICAgOiBpbmhlcml0ZWQodDAsIHQxLCB0MiwgdDMsIHQ0LCBkZXRhaWw6OmNudWxsKCksIGRldGFpbDo6Y251bGwoKSwKKyAgICAgICAgICAgICAgICBkZXRhaWw6OmNudWxsKCksIGRldGFpbDo6Y251bGwoKSwgZGV0YWlsOjpjbnVsbCgpKSB7fQorCisgIHR1cGxlKHR5cGVuYW1lIGFjY2Vzc190cmFpdHM8VDA+OjpwYXJhbWV0ZXJfdHlwZSB0MCwKKyAgICAgICAgdHlwZW5hbWUgYWNjZXNzX3RyYWl0czxUMT46OnBhcmFtZXRlcl90eXBlIHQxLAorICAgICAgICB0eXBlbmFtZSBhY2Nlc3NfdHJhaXRzPFQyPjo6cGFyYW1ldGVyX3R5cGUgdDIsCisgICAgICAgIHR5cGVuYW1lIGFjY2Vzc190cmFpdHM8VDM+OjpwYXJhbWV0ZXJfdHlwZSB0MywKKyAgICAgICAgdHlwZW5hbWUgYWNjZXNzX3RyYWl0czxUND46OnBhcmFtZXRlcl90eXBlIHQ0LAorICAgICAgICB0eXBlbmFtZSBhY2Nlc3NfdHJhaXRzPFQ1Pjo6cGFyYW1ldGVyX3R5cGUgdDUpCisgICAgOiBpbmhlcml0ZWQodDAsIHQxLCB0MiwgdDMsIHQ0LCB0NSwgZGV0YWlsOjpjbnVsbCgpLCBkZXRhaWw6OmNudWxsKCksCisgICAgICAgICAgICAgICAgZGV0YWlsOjpjbnVsbCgpLCBkZXRhaWw6OmNudWxsKCkpIHt9CisKKyAgdHVwbGUodHlwZW5hbWUgYWNjZXNzX3RyYWl0czxUMD46OnBhcmFtZXRlcl90eXBlIHQwLAorICAgICAgICB0eXBlbmFtZSBhY2Nlc3NfdHJhaXRzPFQxPjo6cGFyYW1ldGVyX3R5cGUgdDEsCisgICAgICAgIHR5cGVuYW1lIGFjY2Vzc190cmFpdHM8VDI+OjpwYXJhbWV0ZXJfdHlwZSB0MiwKKyAgICAgICAgdHlwZW5hbWUgYWNjZXNzX3RyYWl0czxUMz46OnBhcmFtZXRlcl90eXBlIHQzLAorICAgICAgICB0eXBlbmFtZSBhY2Nlc3NfdHJhaXRzPFQ0Pjo6cGFyYW1ldGVyX3R5cGUgdDQsCisgICAgICAgIHR5cGVuYW1lIGFjY2Vzc190cmFpdHM8VDU+OjpwYXJhbWV0ZXJfdHlwZSB0NSwKKyAgICAgICAgdHlwZW5hbWUgYWNjZXNzX3RyYWl0czxUNj46OnBhcmFtZXRlcl90eXBlIHQ2KQorICAgIDogaW5oZXJpdGVkKHQwLCB0MSwgdDIsIHQzLCB0NCwgdDUsIHQ2LCBkZXRhaWw6OmNudWxsKCksCisgICAgICAgICAgICAgICAgZGV0YWlsOjpjbnVsbCgpLCBkZXRhaWw6OmNudWxsKCkpIHt9CisKKyAgdHVwbGUodHlwZW5hbWUgYWNjZXNzX3RyYWl0czxUMD46OnBhcmFtZXRlcl90eXBlIHQwLAorICAgICAgICB0eXBlbmFtZSBhY2Nlc3NfdHJhaXRzPFQxPjo6cGFyYW1ldGVyX3R5cGUgdDEsCisgICAgICAgIHR5cGVuYW1lIGFjY2Vzc190cmFpdHM8VDI+OjpwYXJhbWV0ZXJfdHlwZSB0MiwKKyAgICAgICAgdHlwZW5hbWUgYWNjZXNzX3RyYWl0czxUMz46OnBhcmFtZXRlcl90eXBlIHQzLAorICAgICAgICB0eXBlbmFtZSBhY2Nlc3NfdHJhaXRzPFQ0Pjo6cGFyYW1ldGVyX3R5cGUgdDQsCisgICAgICAgIHR5cGVuYW1lIGFjY2Vzc190cmFpdHM8VDU+OjpwYXJhbWV0ZXJfdHlwZSB0NSwKKyAgICAgICAgdHlwZW5hbWUgYWNjZXNzX3RyYWl0czxUNj46OnBhcmFtZXRlcl90eXBlIHQ2LAorICAgICAgICB0eXBlbmFtZSBhY2Nlc3NfdHJhaXRzPFQ3Pjo6cGFyYW1ldGVyX3R5cGUgdDcpCisgICAgOiBpbmhlcml0ZWQodDAsIHQxLCB0MiwgdDMsIHQ0LCB0NSwgdDYsIHQ3LCBkZXRhaWw6OmNudWxsKCksCisgICAgICAgICAgICAgICAgZGV0YWlsOjpjbnVsbCgpKSB7fQorCisgIHR1cGxlKHR5cGVuYW1lIGFjY2Vzc190cmFpdHM8VDA+OjpwYXJhbWV0ZXJfdHlwZSB0MCwKKyAgICAgICAgdHlwZW5hbWUgYWNjZXNzX3RyYWl0czxUMT46OnBhcmFtZXRlcl90eXBlIHQxLAorICAgICAgICB0eXBlbmFtZSBhY2Nlc3NfdHJhaXRzPFQyPjo6cGFyYW1ldGVyX3R5cGUgdDIsCisgICAgICAgIHR5cGVuYW1lIGFjY2Vzc190cmFpdHM8VDM+OjpwYXJhbWV0ZXJfdHlwZSB0MywKKyAgICAgICAgdHlwZW5hbWUgYWNjZXNzX3RyYWl0czxUND46OnBhcmFtZXRlcl90eXBlIHQ0LAorICAgICAgICB0eXBlbmFtZSBhY2Nlc3NfdHJhaXRzPFQ1Pjo6cGFyYW1ldGVyX3R5cGUgdDUsCisgICAgICAgIHR5cGVuYW1lIGFjY2Vzc190cmFpdHM8VDY+OjpwYXJhbWV0ZXJfdHlwZSB0NiwKKyAgICAgICAgdHlwZW5hbWUgYWNjZXNzX3RyYWl0czxUNz46OnBhcmFtZXRlcl90eXBlIHQ3LAorICAgICAgICB0eXBlbmFtZSBhY2Nlc3NfdHJhaXRzPFQ4Pjo6cGFyYW1ldGVyX3R5cGUgdDgpCisgICAgOiBpbmhlcml0ZWQodDAsIHQxLCB0MiwgdDMsIHQ0LCB0NSwgdDYsIHQ3LCB0OCwgZGV0YWlsOjpjbnVsbCgpKSB7fQorCisgIHR1cGxlKHR5cGVuYW1lIGFjY2Vzc190cmFpdHM8VDA+OjpwYXJhbWV0ZXJfdHlwZSB0MCwKKyAgICAgICAgdHlwZW5hbWUgYWNjZXNzX3RyYWl0czxUMT46OnBhcmFtZXRlcl90eXBlIHQxLAorICAgICAgICB0eXBlbmFtZSBhY2Nlc3NfdHJhaXRzPFQyPjo6cGFyYW1ldGVyX3R5cGUgdDIsCisgICAgICAgIHR5cGVuYW1lIGFjY2Vzc190cmFpdHM8VDM+OjpwYXJhbWV0ZXJfdHlwZSB0MywKKyAgICAgICAgdHlwZW5hbWUgYWNjZXNzX3RyYWl0czxUND46OnBhcmFtZXRlcl90eXBlIHQ0LAorICAgICAgICB0eXBlbmFtZSBhY2Nlc3NfdHJhaXRzPFQ1Pjo6cGFyYW1ldGVyX3R5cGUgdDUsCisgICAgICAgIHR5cGVuYW1lIGFjY2Vzc190cmFpdHM8VDY+OjpwYXJhbWV0ZXJfdHlwZSB0NiwKKyAgICAgICAgdHlwZW5hbWUgYWNjZXNzX3RyYWl0czxUNz46OnBhcmFtZXRlcl90eXBlIHQ3LAorICAgICAgICB0eXBlbmFtZSBhY2Nlc3NfdHJhaXRzPFQ4Pjo6cGFyYW1ldGVyX3R5cGUgdDgsCisgICAgICAgIHR5cGVuYW1lIGFjY2Vzc190cmFpdHM8VDk+OjpwYXJhbWV0ZXJfdHlwZSB0OSkKKyAgICA6IGluaGVyaXRlZCh0MCwgdDEsIHQyLCB0MywgdDQsIHQ1LCB0NiwgdDcsIHQ4LCB0OSkge30KKworCisgIHRlbXBsYXRlPGNsYXNzIFUxLCBjbGFzcyBVMj4KKyAgdHVwbGUoY29uc3QgY29uczxVMSwgVTI+JiBwKSA6IGluaGVyaXRlZChwKSB7fQorCisgIHRlbXBsYXRlIDxjbGFzcyBVMSwgY2xhc3MgVTI+CisgIHR1cGxlJiBvcGVyYXRvcj0oY29uc3QgY29uczxVMSwgVTI+JiBrKSB7CisgICAgaW5oZXJpdGVkOjpvcGVyYXRvcj0oayk7CisgICAgcmV0dXJuICp0aGlzOworICB9CisKKyAgdGVtcGxhdGUgPGNsYXNzIFUxLCBjbGFzcyBVMj4KKyAgdHVwbGUmIG9wZXJhdG9yPShjb25zdCBzdGQ6OnBhaXI8VTEsIFUyPiYgaykgeworICAgIEJPT1NUX1NUQVRJQ19BU1NFUlQobGVuZ3RoPHR1cGxlPjo6dmFsdWUgPT0gMik7Ly8gY2hlY2tfbGVuZ3RoID0gMgorICAgIHRoaXMtPmhlYWQgPSBrLmZpcnN0OworICAgIHRoaXMtPnRhaWwuaGVhZCA9IGsuc2Vjb25kOworICAgIHJldHVybiAqdGhpczsKKyAgfQorCit9OworCisvLyBUaGUgZW1wdHkgdHVwbGUKK3RlbXBsYXRlIDw+CitjbGFzcyB0dXBsZTxudWxsX3R5cGUsIG51bGxfdHlwZSwgbnVsbF90eXBlLCBudWxsX3R5cGUsIG51bGxfdHlwZSwgbnVsbF90eXBlLCBudWxsX3R5cGUsIG51bGxfdHlwZSwgbnVsbF90eXBlLCBudWxsX3R5cGU+ICA6CisgIHB1YmxpYyBudWxsX3R5cGUKK3sKK3B1YmxpYzoKKyAgdHlwZWRlZiBudWxsX3R5cGUgaW5oZXJpdGVkOworfTsKKworCisvLyBTd2FsbG93cyBhbnkgYXNzaWdubWVudCAgIChieSBEb3VnIEdyZWdvcikKK25hbWVzcGFjZSBkZXRhaWwgeworCitzdHJ1Y3Qgc3dhbGxvd19hc3NpZ247Cit0eXBlZGVmIHZvaWQgKGRldGFpbDo6c3dhbGxvd19hc3NpZ246OippZ25vcmVfdCkoKTsKK3N0cnVjdCBzd2FsbG93X2Fzc2lnbiB7CisgIHN3YWxsb3dfYXNzaWduKGlnbm9yZV90KCopKGlnbm9yZV90KSkge30KKyAgdGVtcGxhdGU8dHlwZW5hbWUgVD4KKyAgc3dhbGxvd19hc3NpZ24gY29uc3QmIG9wZXJhdG9yPShjb25zdCBUJikgY29uc3QgeworICAgIHJldHVybiAqdGhpczsKKyAgfQorfTsKKworCit9IC8vIG5hbWVzcGFjZSBkZXRhaWwKKworLy8gImlnbm9yZSIgYWxsb3dzIHR1cGxlIHBvc2l0aW9ucyB0byBiZSBpZ25vcmVkIHdoZW4gdXNpbmcgInRpZSIuCitpbmxpbmUgZGV0YWlsOjppZ25vcmVfdCBpZ25vcmUoZGV0YWlsOjppZ25vcmVfdCkgeyByZXR1cm4gMDsgfQorCisvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy8vIFRoZSBjYWxsX3RyYWl0cyBmb3IgbWFrZV90dXBsZQorLy8gSG9ub3VycyB0aGUgcmVmZXJlbmNlX3dyYXBwZXIgY2xhc3MuCisKKy8vIE11c3QgYmUgaW5zdGFudGlhdGVkIHdpdGggcGxhaW4gb3IgY29uc3QgcGxhaW4gdHlwZXMgKG5vdCB3aXRoIHJlZmVyZW5jZXMpCisKKy8vIGZyb20gdGVtcGxhdGU8Y2xhc3MgVD4gZm9vKGNvbnN0IFQmIHQpIDogbWFrZV90dXBsZV90cmFpdHM8Y29uc3QgVD46OnR5cGUKKy8vIGZyb20gdGVtcGxhdGU8Y2xhc3MgVD4gZm9vKFQmIHQpIDogbWFrZV90dXBsZV90cmFpdHM8VD46OnR5cGUKKworLy8gQ29udmVyc2lvbnM6CisvLyBUIC0+IFQsCisvLyByZWZlcmVuY2VzIC0+IGNvbXBpbGVfdGltZV9lcnJvcgorLy8gcmVmZXJlbmNlX3dyYXBwZXI8VD4gLT4gVCYKKy8vIGNvbnN0IHJlZmVyZW5jZV93cmFwcGVyPFQ+IC0+IFQmCisvLyBhcnJheSAtPiBjb25zdCByZWYgYXJyYXkKKworCit0ZW1wbGF0ZTxjbGFzcyBUPgorc3RydWN0IG1ha2VfdHVwbGVfdHJhaXRzIHsKKyAgdHlwZWRlZiBUIHR5cGU7CisKKyAgLy8gY29tbWVudGVkIGF3YXksIHNlZSBiZWxvdyAgKEpKKQorICAvLyAgdHlwZWRlZiB0eXBlbmFtZSBJRjwKKyAgLy8gIG5kbmJvb3N0Ojppc19mdW5jdGlvbjxUPjo6dmFsdWUsCisgIC8vICBUJiwKKyAgLy8gIFQ+OjpSRVQgdHlwZTsKKworfTsKKworLy8gVGhlIGlzX2Z1bmN0aW9uIHRlc3Qgd2FzIHRoZXJlIG9yaWdpbmFsbHkgZm9yIHBsYWluIGZ1bmN0aW9uIHR5cGVzLAorLy8gd2hpY2ggY2FuJ3QgYmUgc3RvcmVkIGFzIHN1Y2ggKHdlIG11c3QgZWl0aGVyIHN0b3JlIHRoZW0gYXMgcmVmZXJlbmNlcyBvcgorLy8gcG9pbnRlcnMpLiBTdWNoIGEgdHlwZSBjb3VsZCBiZSBmb3JtZWQgaWYgbWFrZV90dXBsZSB3YXMgY2FsbGVkIHdpdGggYQorLy8gcmVmZXJlbmNlIHRvIGEgZnVuY3Rpb24uCisvLyBCdXQgdGhpcyB3b3VsZCBtZWFuIHRoYXQgYSBjb25zdCBxdWFsaWZpZWQgZnVuY3Rpb24gdHlwZSB3YXMgZm9ybWVkIGluCisvLyB0aGUgbWFrZV90dXBsZSBmdW5jdGlvbiBhbmQgaGVuY2UgbWFrZV90dXBsZSBjYW4ndCB0YWtlIGEgZnVuY3Rpb24KKy8vIHJlZmVyZW5jZSBhcyBhIHBhcmFtZXRlciwgYW5kIHRodXMgVCBjYW4ndCBiZSBhIGZ1bmN0aW9uIHR5cGUuCisvLyBTbyBpc19mdW5jdGlvbiB0ZXN0IHdhcyByZW1vdmVkLgorLy8gKDE0LjguMy4gc2F5cyB0aGF0IHR5cGUgZGVkdWN0aW9uIGZhaWxzIGlmIGEgY3YtcXVhbGlmaWVkIGZ1bmN0aW9uIHR5cGUKKy8vIGlzIGNyZWF0ZWQuIChJdCBvbmx5IGFwcGxpZXMgZm9yIHRoZSBjYXNlIG9mIGV4cGxpY2l0bHkgc3BlY2lmeWluZyB0ZW1wbGF0ZQorLy8gYXJncywgdGhvdWdoPykpIChKSikKKwordGVtcGxhdGU8Y2xhc3MgVD4KK3N0cnVjdCBtYWtlX3R1cGxlX3RyYWl0czxUJj4geworICB0eXBlZGVmIHR5cGVuYW1lCisgICAgIGRldGFpbDo6Z2VuZXJhdGVfZXJyb3I8VCY+OjoKKyAgICAgICBkb19ub3RfdXNlX3dpdGhfcmVmZXJlbmNlX3R5cGUgZXJyb3I7Cit9OworCisvLyBBcnJheXMgY2FuJ3QgYmUgc3RvcmVkIGFzIHBsYWluIHR5cGVzOyBjb252ZXJ0IHRoZW0gdG8gcmVmZXJlbmNlcy4KKy8vIEFsbCBhcnJheXMgYXJlIGNvbnZlcnRlZCB0byBjb25zdC4gVGhpcyBpcyBiZWNhdXNlIG1ha2VfdHVwbGUgdGFrZXMgaXRzCisvLyBwYXJhbWV0ZXJzIGFzIGNvbnN0IFQmIGFuZCB0aHVzIHRoZSBrbm93bGVkZ2Ugb2YgdGhlIHBvdGVudGlhbAorLy8gbm9uLWNvbnN0bmVzcyBvZiBhY3R1YWwgYXJndW1lbnQgaXMgbG9zdC4KK3RlbXBsYXRlPGNsYXNzIFQsIGludCBuPiAgc3RydWN0IG1ha2VfdHVwbGVfdHJhaXRzIDxUW25dPiB7CisgIHR5cGVkZWYgY29uc3QgVCAoJnR5cGUpW25dOworfTsKKwordGVtcGxhdGU8Y2xhc3MgVCwgaW50IG4+CitzdHJ1Y3QgbWFrZV90dXBsZV90cmFpdHM8Y29uc3QgVFtuXT4geworICB0eXBlZGVmIGNvbnN0IFQgKCZ0eXBlKVtuXTsKK307CisKK3RlbXBsYXRlPGNsYXNzIFQsIGludCBuPiAgc3RydWN0IG1ha2VfdHVwbGVfdHJhaXRzPHZvbGF0aWxlIFRbbl0+IHsKKyAgdHlwZWRlZiBjb25zdCB2b2xhdGlsZSBUICgmdHlwZSlbbl07Cit9OworCit0ZW1wbGF0ZTxjbGFzcyBULCBpbnQgbj4KK3N0cnVjdCBtYWtlX3R1cGxlX3RyYWl0czxjb25zdCB2b2xhdGlsZSBUW25dPiB7CisgIHR5cGVkZWYgY29uc3Qgdm9sYXRpbGUgVCAoJnR5cGUpW25dOworfTsKKwordGVtcGxhdGU8Y2xhc3MgVD4KK3N0cnVjdCBtYWtlX3R1cGxlX3RyYWl0czxyZWZlcmVuY2Vfd3JhcHBlcjxUPiA+eworICB0eXBlZGVmIFQmIHR5cGU7Cit9OworCit0ZW1wbGF0ZTxjbGFzcyBUPgorc3RydWN0IG1ha2VfdHVwbGVfdHJhaXRzPGNvbnN0IHJlZmVyZW5jZV93cmFwcGVyPFQ+ID57CisgIHR5cGVkZWYgVCYgdHlwZTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBtYWtlX3R1cGxlX3RyYWl0czxkZXRhaWw6Omlnbm9yZV90KGRldGFpbDo6aWdub3JlX3QpPiB7CisgIHR5cGVkZWYgZGV0YWlsOjpzd2FsbG93X2Fzc2lnbiB0eXBlOworfTsKKworCisKK25hbWVzcGFjZSBkZXRhaWwgeworCisvLyBhIGhlbHBlciB0cmFpdHMgdG8gbWFrZSB0aGUgbWFrZV90dXBsZSBmdW5jdGlvbnMgc2hvcnRlciAoVmVzYSBLYXJ2b25lbidzCisvLyBzdWdnZXN0aW9uKQordGVtcGxhdGUgPAorICBjbGFzcyBUMCA9IG51bGxfdHlwZSwgY2xhc3MgVDEgPSBudWxsX3R5cGUsIGNsYXNzIFQyID0gbnVsbF90eXBlLAorICBjbGFzcyBUMyA9IG51bGxfdHlwZSwgY2xhc3MgVDQgPSBudWxsX3R5cGUsIGNsYXNzIFQ1ID0gbnVsbF90eXBlLAorICBjbGFzcyBUNiA9IG51bGxfdHlwZSwgY2xhc3MgVDcgPSBudWxsX3R5cGUsIGNsYXNzIFQ4ID0gbnVsbF90eXBlLAorICBjbGFzcyBUOSA9IG51bGxfdHlwZQorPgorc3RydWN0IG1ha2VfdHVwbGVfbWFwcGVyIHsKKyAgdHlwZWRlZgorICAgIHR1cGxlPHR5cGVuYW1lIG1ha2VfdHVwbGVfdHJhaXRzPFQwPjo6dHlwZSwKKyAgICAgICAgICB0eXBlbmFtZSBtYWtlX3R1cGxlX3RyYWl0czxUMT46OnR5cGUsCisgICAgICAgICAgdHlwZW5hbWUgbWFrZV90dXBsZV90cmFpdHM8VDI+Ojp0eXBlLAorICAgICAgICAgIHR5cGVuYW1lIG1ha2VfdHVwbGVfdHJhaXRzPFQzPjo6dHlwZSwKKyAgICAgICAgICB0eXBlbmFtZSBtYWtlX3R1cGxlX3RyYWl0czxUND46OnR5cGUsCisgICAgICAgICAgdHlwZW5hbWUgbWFrZV90dXBsZV90cmFpdHM8VDU+Ojp0eXBlLAorICAgICAgICAgIHR5cGVuYW1lIG1ha2VfdHVwbGVfdHJhaXRzPFQ2Pjo6dHlwZSwKKyAgICAgICAgICB0eXBlbmFtZSBtYWtlX3R1cGxlX3RyYWl0czxUNz46OnR5cGUsCisgICAgICAgICAgdHlwZW5hbWUgbWFrZV90dXBsZV90cmFpdHM8VDg+Ojp0eXBlLAorICAgICAgICAgIHR5cGVuYW1lIG1ha2VfdHVwbGVfdHJhaXRzPFQ5Pjo6dHlwZT4gdHlwZTsKK307CisKK30gLy8gZW5kIGRldGFpbAorCisvLyAtbWFrZV90dXBsZSBmdW5jdGlvbiB0ZW1wbGF0ZXMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK2lubGluZSB0dXBsZTw+IG1ha2VfdHVwbGUoKSB7CisgIHJldHVybiB0dXBsZTw+KCk7Cit9CisKK3RlbXBsYXRlPGNsYXNzIFQwPgoraW5saW5lIHR5cGVuYW1lIGRldGFpbDo6bWFrZV90dXBsZV9tYXBwZXI8VDA+Ojp0eXBlCittYWtlX3R1cGxlKGNvbnN0IFQwJiB0MCkgeworICB0eXBlZGVmIHR5cGVuYW1lIGRldGFpbDo6bWFrZV90dXBsZV9tYXBwZXI8VDA+Ojp0eXBlIHQ7CisgIHJldHVybiB0KHQwKTsKK30KKwordGVtcGxhdGU8Y2xhc3MgVDAsIGNsYXNzIFQxPgoraW5saW5lIHR5cGVuYW1lIGRldGFpbDo6bWFrZV90dXBsZV9tYXBwZXI8VDAsIFQxPjo6dHlwZQorbWFrZV90dXBsZShjb25zdCBUMCYgdDAsIGNvbnN0IFQxJiB0MSkgeworICB0eXBlZGVmIHR5cGVuYW1lIGRldGFpbDo6bWFrZV90dXBsZV9tYXBwZXI8VDAsIFQxPjo6dHlwZSB0OworICByZXR1cm4gdCh0MCwgdDEpOworfQorCit0ZW1wbGF0ZTxjbGFzcyBUMCwgY2xhc3MgVDEsIGNsYXNzIFQyPgoraW5saW5lIHR5cGVuYW1lIGRldGFpbDo6bWFrZV90dXBsZV9tYXBwZXI8VDAsIFQxLCBUMj46OnR5cGUKK21ha2VfdHVwbGUoY29uc3QgVDAmIHQwLCBjb25zdCBUMSYgdDEsIGNvbnN0IFQyJiB0MikgeworICB0eXBlZGVmIHR5cGVuYW1lIGRldGFpbDo6bWFrZV90dXBsZV9tYXBwZXI8VDAsIFQxLCBUMj46OnR5cGUgdDsKKyAgcmV0dXJuIHQodDAsIHQxLCB0Mik7Cit9CisKK3RlbXBsYXRlPGNsYXNzIFQwLCBjbGFzcyBUMSwgY2xhc3MgVDIsIGNsYXNzIFQzPgoraW5saW5lIHR5cGVuYW1lIGRldGFpbDo6bWFrZV90dXBsZV9tYXBwZXI8VDAsIFQxLCBUMiwgVDM+Ojp0eXBlCittYWtlX3R1cGxlKGNvbnN0IFQwJiB0MCwgY29uc3QgVDEmIHQxLCBjb25zdCBUMiYgdDIsIGNvbnN0IFQzJiB0MykgeworICB0eXBlZGVmIHR5cGVuYW1lIGRldGFpbDo6bWFrZV90dXBsZV9tYXBwZXI8VDAsIFQxLCBUMiwgVDM+Ojp0eXBlIHQ7CisgIHJldHVybiB0KHQwLCB0MSwgdDIsIHQzKTsKK30KKwordGVtcGxhdGU8Y2xhc3MgVDAsIGNsYXNzIFQxLCBjbGFzcyBUMiwgY2xhc3MgVDMsIGNsYXNzIFQ0PgoraW5saW5lIHR5cGVuYW1lIGRldGFpbDo6bWFrZV90dXBsZV9tYXBwZXI8VDAsIFQxLCBUMiwgVDMsIFQ0Pjo6dHlwZQorbWFrZV90dXBsZShjb25zdCBUMCYgdDAsIGNvbnN0IFQxJiB0MSwgY29uc3QgVDImIHQyLCBjb25zdCBUMyYgdDMsCisgICAgICAgICAgICAgICAgICBjb25zdCBUNCYgdDQpIHsKKyAgdHlwZWRlZiB0eXBlbmFtZSBkZXRhaWw6Om1ha2VfdHVwbGVfbWFwcGVyPFQwLCBUMSwgVDIsIFQzLCBUND46OnR5cGUgdDsKKyAgcmV0dXJuIHQodDAsIHQxLCB0MiwgdDMsIHQ0KTsKK30KKwordGVtcGxhdGU8Y2xhc3MgVDAsIGNsYXNzIFQxLCBjbGFzcyBUMiwgY2xhc3MgVDMsIGNsYXNzIFQ0LCBjbGFzcyBUNT4KK2lubGluZSB0eXBlbmFtZSBkZXRhaWw6Om1ha2VfdHVwbGVfbWFwcGVyPFQwLCBUMSwgVDIsIFQzLCBUNCwgVDU+Ojp0eXBlCittYWtlX3R1cGxlKGNvbnN0IFQwJiB0MCwgY29uc3QgVDEmIHQxLCBjb25zdCBUMiYgdDIsIGNvbnN0IFQzJiB0MywKKyAgICAgICAgICAgICAgICAgIGNvbnN0IFQ0JiB0NCwgY29uc3QgVDUmIHQ1KSB7CisgIHR5cGVkZWYgdHlwZW5hbWUgZGV0YWlsOjptYWtlX3R1cGxlX21hcHBlcjxUMCwgVDEsIFQyLCBUMywgVDQsIFQ1Pjo6dHlwZSB0OworICByZXR1cm4gdCh0MCwgdDEsIHQyLCB0MywgdDQsIHQ1KTsKK30KKwordGVtcGxhdGU8Y2xhc3MgVDAsIGNsYXNzIFQxLCBjbGFzcyBUMiwgY2xhc3MgVDMsIGNsYXNzIFQ0LCBjbGFzcyBUNSwgY2xhc3MgVDY+CitpbmxpbmUgdHlwZW5hbWUgZGV0YWlsOjptYWtlX3R1cGxlX21hcHBlcjxUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNj46OnR5cGUKK21ha2VfdHVwbGUoY29uc3QgVDAmIHQwLCBjb25zdCBUMSYgdDEsIGNvbnN0IFQyJiB0MiwgY29uc3QgVDMmIHQzLAorICAgICAgICAgICAgICAgICAgY29uc3QgVDQmIHQ0LCBjb25zdCBUNSYgdDUsIGNvbnN0IFQ2JiB0NikgeworICB0eXBlZGVmIHR5cGVuYW1lIGRldGFpbDo6bWFrZV90dXBsZV9tYXBwZXIKKyAgICAgICAgICAgPFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2Pjo6dHlwZSB0OworICByZXR1cm4gdCh0MCwgdDEsIHQyLCB0MywgdDQsIHQ1LCB0Nik7Cit9CisKK3RlbXBsYXRlPGNsYXNzIFQwLCBjbGFzcyBUMSwgY2xhc3MgVDIsIGNsYXNzIFQzLCBjbGFzcyBUNCwgY2xhc3MgVDUsIGNsYXNzIFQ2LAorICAgICAgICAgY2xhc3MgVDc+CitpbmxpbmUgdHlwZW5hbWUgZGV0YWlsOjptYWtlX3R1cGxlX21hcHBlcjxUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDc+Ojp0eXBlCittYWtlX3R1cGxlKGNvbnN0IFQwJiB0MCwgY29uc3QgVDEmIHQxLCBjb25zdCBUMiYgdDIsIGNvbnN0IFQzJiB0MywKKyAgICAgICAgICAgICAgICAgIGNvbnN0IFQ0JiB0NCwgY29uc3QgVDUmIHQ1LCBjb25zdCBUNiYgdDYsIGNvbnN0IFQ3JiB0NykgeworICB0eXBlZGVmIHR5cGVuYW1lIGRldGFpbDo6bWFrZV90dXBsZV9tYXBwZXIKKyAgICAgICAgICAgPFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNz46OnR5cGUgdDsKKyAgcmV0dXJuIHQodDAsIHQxLCB0MiwgdDMsIHQ0LCB0NSwgdDYsIHQ3KTsKK30KKwordGVtcGxhdGU8Y2xhc3MgVDAsIGNsYXNzIFQxLCBjbGFzcyBUMiwgY2xhc3MgVDMsIGNsYXNzIFQ0LCBjbGFzcyBUNSwgY2xhc3MgVDYsCisgICAgICAgICBjbGFzcyBUNywgY2xhc3MgVDg+CitpbmxpbmUgdHlwZW5hbWUgZGV0YWlsOjptYWtlX3R1cGxlX21hcHBlcgorICA8VDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOD46OnR5cGUKK21ha2VfdHVwbGUoY29uc3QgVDAmIHQwLCBjb25zdCBUMSYgdDEsIGNvbnN0IFQyJiB0MiwgY29uc3QgVDMmIHQzLAorICAgICAgICAgICAgICAgICAgY29uc3QgVDQmIHQ0LCBjb25zdCBUNSYgdDUsIGNvbnN0IFQ2JiB0NiwgY29uc3QgVDcmIHQ3LAorICAgICAgICAgICAgICAgICAgY29uc3QgVDgmIHQ4KSB7CisgIHR5cGVkZWYgdHlwZW5hbWUgZGV0YWlsOjptYWtlX3R1cGxlX21hcHBlcgorICAgICAgICAgICA8VDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOD46OnR5cGUgdDsKKyAgcmV0dXJuIHQodDAsIHQxLCB0MiwgdDMsIHQ0LCB0NSwgdDYsIHQ3LCB0OCk7Cit9CisKK3RlbXBsYXRlPGNsYXNzIFQwLCBjbGFzcyBUMSwgY2xhc3MgVDIsIGNsYXNzIFQzLCBjbGFzcyBUNCwgY2xhc3MgVDUsIGNsYXNzIFQ2LAorICAgICAgICAgY2xhc3MgVDcsIGNsYXNzIFQ4LCBjbGFzcyBUOT4KK2lubGluZSB0eXBlbmFtZSBkZXRhaWw6Om1ha2VfdHVwbGVfbWFwcGVyCisgIDxUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOT46OnR5cGUKK21ha2VfdHVwbGUoY29uc3QgVDAmIHQwLCBjb25zdCBUMSYgdDEsIGNvbnN0IFQyJiB0MiwgY29uc3QgVDMmIHQzLAorICAgICAgICAgICAgICAgICAgY29uc3QgVDQmIHQ0LCBjb25zdCBUNSYgdDUsIGNvbnN0IFQ2JiB0NiwgY29uc3QgVDcmIHQ3LAorICAgICAgICAgICAgICAgICAgY29uc3QgVDgmIHQ4LCBjb25zdCBUOSYgdDkpIHsKKyAgdHlwZWRlZiB0eXBlbmFtZSBkZXRhaWw6Om1ha2VfdHVwbGVfbWFwcGVyCisgICAgICAgICAgIDxUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOT46OnR5cGUgdDsKKyAgcmV0dXJuIHQodDAsIHQxLCB0MiwgdDMsIHQ0LCB0NSwgdDYsIHQ3LCB0OCwgdDkpOworfQorCituYW1lc3BhY2UgZGV0YWlsIHsKKwordGVtcGxhdGU8Y2xhc3MgVD4KK3N0cnVjdCB0aWVfdHJhaXRzIHsKKyAgdHlwZWRlZiBUJiB0eXBlOworfTsKKwordGVtcGxhdGU8Pgorc3RydWN0IHRpZV90cmFpdHM8aWdub3JlX3QoaWdub3JlX3QpPiB7CisgIHR5cGVkZWYgc3dhbGxvd19hc3NpZ24gdHlwZTsKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCB0aWVfdHJhaXRzPHZvaWQ+IHsKKyAgdHlwZWRlZiBudWxsX3R5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlIDwKKyAgY2xhc3MgVDAgPSB2b2lkLCBjbGFzcyBUMSA9IHZvaWQsIGNsYXNzIFQyID0gdm9pZCwKKyAgY2xhc3MgVDMgPSB2b2lkLCBjbGFzcyBUNCA9IHZvaWQsIGNsYXNzIFQ1ID0gdm9pZCwKKyAgY2xhc3MgVDYgPSB2b2lkLCBjbGFzcyBUNyA9IHZvaWQsIGNsYXNzIFQ4ID0gdm9pZCwKKyAgY2xhc3MgVDkgPSB2b2lkCis+CitzdHJ1Y3QgdGllX21hcHBlciB7CisgIHR5cGVkZWYKKyAgICB0dXBsZTx0eXBlbmFtZSB0aWVfdHJhaXRzPFQwPjo6dHlwZSwKKyAgICAgICAgICB0eXBlbmFtZSB0aWVfdHJhaXRzPFQxPjo6dHlwZSwKKyAgICAgICAgICB0eXBlbmFtZSB0aWVfdHJhaXRzPFQyPjo6dHlwZSwKKyAgICAgICAgICB0eXBlbmFtZSB0aWVfdHJhaXRzPFQzPjo6dHlwZSwKKyAgICAgICAgICB0eXBlbmFtZSB0aWVfdHJhaXRzPFQ0Pjo6dHlwZSwKKyAgICAgICAgICB0eXBlbmFtZSB0aWVfdHJhaXRzPFQ1Pjo6dHlwZSwKKyAgICAgICAgICB0eXBlbmFtZSB0aWVfdHJhaXRzPFQ2Pjo6dHlwZSwKKyAgICAgICAgICB0eXBlbmFtZSB0aWVfdHJhaXRzPFQ3Pjo6dHlwZSwKKyAgICAgICAgICB0eXBlbmFtZSB0aWVfdHJhaXRzPFQ4Pjo6dHlwZSwKKyAgICAgICAgICB0eXBlbmFtZSB0aWVfdHJhaXRzPFQ5Pjo6dHlwZT4gdHlwZTsKK307CisKK30KKworLy8gVGllIGZ1bmN0aW9uIHRlbXBsYXRlcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCit0ZW1wbGF0ZTxjbGFzcyBUMD4KK2lubGluZSB0eXBlbmFtZSBkZXRhaWw6OnRpZV9tYXBwZXI8VDA+Ojp0eXBlCit0aWUoVDAmIHQwKSB7CisgIHR5cGVkZWYgdHlwZW5hbWUgZGV0YWlsOjp0aWVfbWFwcGVyPFQwPjo6dHlwZSB0OworICByZXR1cm4gdCh0MCk7Cit9CisKK3RlbXBsYXRlPGNsYXNzIFQwLCBjbGFzcyBUMT4KK2lubGluZSB0eXBlbmFtZSBkZXRhaWw6OnRpZV9tYXBwZXI8VDAsIFQxPjo6dHlwZQordGllKFQwJiB0MCwgVDEmIHQxKSB7CisgIHR5cGVkZWYgdHlwZW5hbWUgZGV0YWlsOjp0aWVfbWFwcGVyPFQwLCBUMT46OnR5cGUgdDsKKyAgcmV0dXJuIHQodDAsIHQxKTsKK30KKwordGVtcGxhdGU8Y2xhc3MgVDAsIGNsYXNzIFQxLCBjbGFzcyBUMj4KK2lubGluZSB0eXBlbmFtZSBkZXRhaWw6OnRpZV9tYXBwZXI8VDAsIFQxLCBUMj46OnR5cGUKK3RpZShUMCYgdDAsIFQxJiB0MSwgVDImIHQyKSB7CisgIHR5cGVkZWYgdHlwZW5hbWUgZGV0YWlsOjp0aWVfbWFwcGVyPFQwLCBUMSwgVDI+Ojp0eXBlIHQ7CisgIHJldHVybiB0KHQwLCB0MSwgdDIpOworfQorCit0ZW1wbGF0ZTxjbGFzcyBUMCwgY2xhc3MgVDEsIGNsYXNzIFQyLCBjbGFzcyBUMz4KK2lubGluZSB0eXBlbmFtZSBkZXRhaWw6OnRpZV9tYXBwZXI8VDAsIFQxLCBUMiwgVDM+Ojp0eXBlCit0aWUoVDAmIHQwLCBUMSYgdDEsIFQyJiB0MiwgVDMmIHQzKSB7CisgIHR5cGVkZWYgdHlwZW5hbWUgZGV0YWlsOjp0aWVfbWFwcGVyPFQwLCBUMSwgVDIsIFQzPjo6dHlwZSB0OworICByZXR1cm4gdCh0MCwgdDEsIHQyLCB0Myk7Cit9CisKK3RlbXBsYXRlPGNsYXNzIFQwLCBjbGFzcyBUMSwgY2xhc3MgVDIsIGNsYXNzIFQzLCBjbGFzcyBUND4KK2lubGluZSB0eXBlbmFtZSBkZXRhaWw6OnRpZV9tYXBwZXI8VDAsIFQxLCBUMiwgVDMsIFQ0Pjo6dHlwZQordGllKFQwJiB0MCwgVDEmIHQxLCBUMiYgdDIsIFQzJiB0MywKKyAgICAgICAgICAgICAgICAgIFQ0JiB0NCkgeworICB0eXBlZGVmIHR5cGVuYW1lIGRldGFpbDo6dGllX21hcHBlcjxUMCwgVDEsIFQyLCBUMywgVDQ+Ojp0eXBlIHQ7CisgIHJldHVybiB0KHQwLCB0MSwgdDIsIHQzLCB0NCk7Cit9CisKK3RlbXBsYXRlPGNsYXNzIFQwLCBjbGFzcyBUMSwgY2xhc3MgVDIsIGNsYXNzIFQzLCBjbGFzcyBUNCwgY2xhc3MgVDU+CitpbmxpbmUgdHlwZW5hbWUgZGV0YWlsOjp0aWVfbWFwcGVyPFQwLCBUMSwgVDIsIFQzLCBUNCwgVDU+Ojp0eXBlCit0aWUoVDAmIHQwLCBUMSYgdDEsIFQyJiB0MiwgVDMmIHQzLAorICAgICAgICAgICAgICAgICAgVDQmIHQ0LCBUNSYgdDUpIHsKKyAgdHlwZWRlZiB0eXBlbmFtZSBkZXRhaWw6OnRpZV9tYXBwZXI8VDAsIFQxLCBUMiwgVDMsIFQ0LCBUNT46OnR5cGUgdDsKKyAgcmV0dXJuIHQodDAsIHQxLCB0MiwgdDMsIHQ0LCB0NSk7Cit9CisKK3RlbXBsYXRlPGNsYXNzIFQwLCBjbGFzcyBUMSwgY2xhc3MgVDIsIGNsYXNzIFQzLCBjbGFzcyBUNCwgY2xhc3MgVDUsIGNsYXNzIFQ2PgoraW5saW5lIHR5cGVuYW1lIGRldGFpbDo6dGllX21hcHBlcjxUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNj46OnR5cGUKK3RpZShUMCYgdDAsIFQxJiB0MSwgVDImIHQyLCBUMyYgdDMsCisgICAgICAgICAgICAgICAgICBUNCYgdDQsIFQ1JiB0NSwgVDYmIHQ2KSB7CisgIHR5cGVkZWYgdHlwZW5hbWUgZGV0YWlsOjp0aWVfbWFwcGVyCisgICAgICAgICAgIDxUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNj46OnR5cGUgdDsKKyAgcmV0dXJuIHQodDAsIHQxLCB0MiwgdDMsIHQ0LCB0NSwgdDYpOworfQorCit0ZW1wbGF0ZTxjbGFzcyBUMCwgY2xhc3MgVDEsIGNsYXNzIFQyLCBjbGFzcyBUMywgY2xhc3MgVDQsIGNsYXNzIFQ1LCBjbGFzcyBUNiwKKyAgICAgICAgIGNsYXNzIFQ3PgoraW5saW5lIHR5cGVuYW1lIGRldGFpbDo6dGllX21hcHBlcjxUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDc+Ojp0eXBlCit0aWUoVDAmIHQwLCBUMSYgdDEsIFQyJiB0MiwgVDMmIHQzLAorICAgICAgICAgICAgICAgICAgVDQmIHQ0LCBUNSYgdDUsIFQ2JiB0NiwgVDcmIHQ3KSB7CisgIHR5cGVkZWYgdHlwZW5hbWUgZGV0YWlsOjp0aWVfbWFwcGVyCisgICAgICAgICAgIDxUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDc+Ojp0eXBlIHQ7CisgIHJldHVybiB0KHQwLCB0MSwgdDIsIHQzLCB0NCwgdDUsIHQ2LCB0Nyk7Cit9CisKK3RlbXBsYXRlPGNsYXNzIFQwLCBjbGFzcyBUMSwgY2xhc3MgVDIsIGNsYXNzIFQzLCBjbGFzcyBUNCwgY2xhc3MgVDUsIGNsYXNzIFQ2LAorICAgICAgICAgY2xhc3MgVDcsIGNsYXNzIFQ4PgoraW5saW5lIHR5cGVuYW1lIGRldGFpbDo6dGllX21hcHBlcgorICA8VDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOD46OnR5cGUKK3RpZShUMCYgdDAsIFQxJiB0MSwgVDImIHQyLCBUMyYgdDMsCisgICAgICAgICAgICAgICAgICBUNCYgdDQsIFQ1JiB0NSwgVDYmIHQ2LCBUNyYgdDcsCisgICAgICAgICAgICAgICAgICBUOCYgdDgpIHsKKyAgdHlwZWRlZiB0eXBlbmFtZSBkZXRhaWw6OnRpZV9tYXBwZXIKKyAgICAgICAgICAgPFQwLCBUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDg+Ojp0eXBlIHQ7CisgIHJldHVybiB0KHQwLCB0MSwgdDIsIHQzLCB0NCwgdDUsIHQ2LCB0NywgdDgpOworfQorCit0ZW1wbGF0ZTxjbGFzcyBUMCwgY2xhc3MgVDEsIGNsYXNzIFQyLCBjbGFzcyBUMywgY2xhc3MgVDQsIGNsYXNzIFQ1LCBjbGFzcyBUNiwKKyAgICAgICAgIGNsYXNzIFQ3LCBjbGFzcyBUOCwgY2xhc3MgVDk+CitpbmxpbmUgdHlwZW5hbWUgZGV0YWlsOjp0aWVfbWFwcGVyCisgIDxUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOT46OnR5cGUKK3RpZShUMCYgdDAsIFQxJiB0MSwgVDImIHQyLCBUMyYgdDMsCisgICAgICAgICAgICAgICAgICBUNCYgdDQsIFQ1JiB0NSwgVDYmIHQ2LCBUNyYgdDcsCisgICAgICAgICAgICAgICAgICBUOCYgdDgsIFQ5JiB0OSkgeworICB0eXBlZGVmIHR5cGVuYW1lIGRldGFpbDo6dGllX21hcHBlcgorICAgICAgICAgICA8VDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDk+Ojp0eXBlIHQ7CisgIHJldHVybiB0KHQwLCB0MSwgdDIsIHQzLCB0NCwgdDUsIHQ2LCB0NywgdDgsIHQ5KTsKK30KKwordGVtcGxhdGUgPGNsYXNzIFQwLCBjbGFzcyBUMSwgY2xhc3MgVDIsIGNsYXNzIFQzLCBjbGFzcyBUNCwKKyAgICAgICAgICBjbGFzcyBUNSwgY2xhc3MgVDYsIGNsYXNzIFQ3LCBjbGFzcyBUOCwgY2xhc3MgVDk+Cit2b2lkIHN3YXAodHVwbGU8VDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDk+JiBsaHMsCisgICAgICAgICAgdHVwbGU8VDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDk+JiByaHMpOworaW5saW5lIHZvaWQgc3dhcChudWxsX3R5cGUmLCBudWxsX3R5cGUmKSB7fQordGVtcGxhdGU8Y2xhc3MgSEg+CitpbmxpbmUgdm9pZCBzd2FwKGNvbnM8SEgsIG51bGxfdHlwZT4mIGxocywgY29uczxISCwgbnVsbF90eXBlPiYgcmhzKSB7CisgIDo6bmRuYm9vc3Q6OnN3YXAobGhzLmhlYWQsIHJocy5oZWFkKTsKK30KK3RlbXBsYXRlPGNsYXNzIEhILCBjbGFzcyBUVD4KK2lubGluZSB2b2lkIHN3YXAoY29uczxISCwgVFQ+JiBsaHMsIGNvbnM8SEgsIFRUPiYgcmhzKSB7CisgIDo6bmRuYm9vc3Q6OnN3YXAobGhzLmhlYWQsIHJocy5oZWFkKTsKKyAgOjpuZG5ib29zdDo6dHVwbGVzOjpzd2FwKGxocy50YWlsLCByaHMudGFpbCk7Cit9Cit0ZW1wbGF0ZSA8Y2xhc3MgVDAsIGNsYXNzIFQxLCBjbGFzcyBUMiwgY2xhc3MgVDMsIGNsYXNzIFQ0LAorICAgICAgICAgIGNsYXNzIFQ1LCBjbGFzcyBUNiwgY2xhc3MgVDcsIGNsYXNzIFQ4LCBjbGFzcyBUOT4KK2lubGluZSB2b2lkIHN3YXAodHVwbGU8VDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDk+JiBsaHMsCisgICAgICAgICAgdHVwbGU8VDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDk+JiByaHMpIHsKKyAgdHlwZWRlZiB0dXBsZTxUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOT4gdHVwbGVfdHlwZTsKKyAgdHlwZWRlZiB0eXBlbmFtZSB0dXBsZV90eXBlOjppbmhlcml0ZWQgYmFzZTsKKyAgOjpuZG5ib29zdDo6dHVwbGVzOjpzd2FwKHN0YXRpY19jYXN0PGJhc2UmPihsaHMpLCBzdGF0aWNfY2FzdDxiYXNlJj4ocmhzKSk7Cit9CisKK30gLy8gZW5kIG9mIG5hbWVzcGFjZSB0dXBsZXMKK30gLy8gZW5kIG9mIG5hbWVzcGFjZSBuZG5ib29zdAorCisKKyNlbmRpZiAvLyBCT09TVF9UVVBMRV9CQVNJQ19IUFAKKworCmRpZmYgLS1naXQgYS9uZG5ib29zdC90dXBsZS9kZXRhaWwvdHVwbGVfYmFzaWNfbm9fcGFydGlhbF9zcGVjLmhwcCBiL25kbmJvb3N0L3R1cGxlL2RldGFpbC90dXBsZV9iYXNpY19ub19wYXJ0aWFsX3NwZWMuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVmODk0MTUKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC90dXBsZS9kZXRhaWwvdHVwbGVfYmFzaWNfbm9fcGFydGlhbF9zcGVjLmhwcApAQCAtMCwwICsxLDg2NSBAQAorLy8gLSB0dXBsZV9iYXNpY19ub19wYXJ0aWFsX3NwZWMuaHBwIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKy8vIENvcHlyaWdodCAoQykgMTk5OSwgMjAwMCBKYWFra28gSmFydmkgKGphYWtrby5qYXJ2aUBjcy51dHUuZmkpCisvLyBDb3B5cmlnaHQgKEMpIDIwMDEgRG91Z2xhcyBHcmVnb3IgKGdyZWdvZEBycGkuZWR1KQorLy8gQ29weXJpZ2h0IChDKSAyMDAxIEdhcnkgUG93ZWxsIChnYXJ5LnBvd2VsbEBzaWVycmEuY29tKQorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gKFNlZQorLy8gYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKworLy8gRm9yIG1vcmUgaW5mb3JtYXRpb24sIHNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZyBvciBodHRwOi8vbGFtYmRhLmNzLnV0dS5maQorCisvLyBSZXZpc2lvbiBIaXN0b3J5CisvLyAgMTQgMDIgMDEgICAgUmVtb3ZlIGV4dHJhICc7Jy4gQWxzbywgZml4ZWQgMTAtcGFyYW1ldGVyIHRvIG1ha2VfdHVwbGUuIChERykKKy8vICAxMCAwMiAwMSAgICBGaXhlZCAibnVsbF90eXBlIiBjb25zdHJ1Y3RvcnMuCisvLyAgICAgICAgICAgICAgSW1wbGVtZW50ZWQgY29tcGFyaXNvbiBvcGVyYXRvcnMgZ2xvYmFsbHkuCisvLyAgICAgICAgICAgICAgSGlkZSBlbGVtZW50X3R5cGVfcmVmIGFuZCBlbGVtZW50X3R5cGVfY29uc3RfcmVmLgorLy8gICAgICAgICAgICAgIChERykuCisvLyAgMDkgMDIgMDEgICAgRXh0ZW5kZWQgdG8gdHVwbGVzIG9mIGxlbmd0aCAxMC4gQ2hhbmdlZCBjb21wYXJpc29uIGZvcgorLy8gICAgICAgICAgICAgIG9wZXJhdG9yPCgpCisvLyAgICAgICAgICAgICAgdG8gdGhlIHNhbWUgdXNlZCBieSBzdGQ6OnBhaXI8PiwgYWRkZWQgY251bGxfdHlwZSgpIChHUCkKKy8vICAwMyAwMiAwMSAgICBJbml0aWFsIFZlcnNpb24gZnJvbSBvcmlnaW5hbCB0dXBsZS5ocHAgY29kZSBieSBKSi4gKERHKQorCisvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisjaWZuZGVmIEJPT1NUX1RVUExFX0JBU0lDX05PX1BBUlRJQUxfU1BFQ19IUFAKKyNkZWZpbmUgQk9PU1RfVFVQTEVfQkFTSUNfTk9fUEFSVElBTF9TUEVDX0hQUAorCisjaW5jbHVkZSAibmRuYm9vc3QvdHlwZV90cmFpdHMuaHBwIgorI2luY2x1ZGUgIm5kbmJvb3N0L3V0aWxpdHkvc3dhcC5ocHAiCisjaW5jbHVkZSA8dXRpbGl0eT4KKworI2lmIGRlZmluZWQgQk9PU1RfTVNWQworI3ByYWdtYSB3YXJuaW5nKGRpc2FibGU6NDUxOCkgLy8gc3RvcmFnZS1jbGFzcyBvciB0eXBlIHNwZWNpZmllcihzKSB1bmV4cGVjdGVkIGhlcmU7IGlnbm9yZWQKKyNwcmFnbWEgd2FybmluZyhkaXNhYmxlOjQxODEpIC8vIHF1YWxpZmllciBhcHBsaWVkIHRvIHJlZmVyZW5jZSB0eXBlIGlnbm9yZWQKKyNwcmFnbWEgd2FybmluZyhkaXNhYmxlOjQyMjcpIC8vIHF1YWxpZmllciBhcHBsaWVkIHRvIHJlZmVyZW5jZSB0eXBlIGlnbm9yZWQKKyNlbmRpZgorCituYW1lc3BhY2UgbmRuYm9vc3QgeworbmFtZXNwYWNlIHR1cGxlcyB7CisKKyAgICAvLyBudWxsX3R5cGUgZGVub3RlcyB0aGUgZW5kIG9mIGEgbGlzdCBidWlsdCB3aXRoICJjb25zIgorICAgIHN0cnVjdCBudWxsX3R5cGUKKyAgICB7CisgICAgICBudWxsX3R5cGUoKSB7fQorICAgICAgbnVsbF90eXBlKGNvbnN0IG51bGxfdHlwZSYsIGNvbnN0IG51bGxfdHlwZSYpIHt9CisgICAgfTsKKworICAgIC8vIGEgaGVscGVyIGZ1bmN0aW9uIHRvIHByb3ZpZGUgYSBjb25zdCBudWxsX3R5cGUgdHlwZSB0ZW1wb3JhcnkKKyAgICBpbmxpbmUgY29uc3QgbnVsbF90eXBlIGNudWxsX3R5cGUoKSB7IHJldHVybiBudWxsX3R5cGUoKTsgfQorCisvLyBmb3J3YXJkIGRlY2xhcmF0aW9uIG9mIHR1cGxlCisgICAgdGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMSA9IG51bGxfdHlwZSwKKyAgICAgIHR5cGVuYW1lIFQyID0gbnVsbF90eXBlLAorICAgICAgdHlwZW5hbWUgVDMgPSBudWxsX3R5cGUsCisgICAgICB0eXBlbmFtZSBUNCA9IG51bGxfdHlwZSwKKyAgICAgIHR5cGVuYW1lIFQ1ID0gbnVsbF90eXBlLAorICAgICAgdHlwZW5hbWUgVDYgPSBudWxsX3R5cGUsCisgICAgICB0eXBlbmFtZSBUNyA9IG51bGxfdHlwZSwKKyAgICAgIHR5cGVuYW1lIFQ4ID0gbnVsbF90eXBlLAorICAgICAgdHlwZW5hbWUgVDkgPSBudWxsX3R5cGUsCisgICAgICB0eXBlbmFtZSBUMTAgPSBudWxsX3R5cGUKKyAgICA+CisgICAgY2xhc3MgdHVwbGU7CisKKy8vIGZvcndhcmQgZGVjbGFyYXRpb24gb2YgY29ucworICAgIHRlbXBsYXRlPHR5cGVuYW1lIEhlYWQsIHR5cGVuYW1lIFRhaWwgPSBudWxsX3R5cGU+CisgICAgc3RydWN0IGNvbnM7CisKKyAgICBuYW1lc3BhY2UgZGV0YWlsIHsKKworICAgICAgLy8gVGFrZXMgYSBwb2ludGVyIGFuZCByb3V0ZXMgYWxsIGFzc2lnbm1lbnRzIHRvIHdoYXRldmVyIGl0IHBvaW50cyB0bworICAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4KKyAgICAgIHN0cnVjdCBhc3NpZ25fdG9fcG9pbnRlZQorICAgICAgeworICAgICAgcHVibGljOgorICAgICAgICBleHBsaWNpdCBhc3NpZ25fdG9fcG9pbnRlZShUKiBwKSA6IHB0cihwKSB7fQorCisgICAgICAgIHRlbXBsYXRlPHR5cGVuYW1lIE90aGVyPgorICAgICAgICBhc3NpZ25fdG9fcG9pbnRlZSYgb3BlcmF0b3I9KGNvbnN0IE90aGVyJiBvdGhlcikKKyAgICAgICAgeworICAgICAgICAgICpwdHIgPSBvdGhlcjsKKyAgICAgICAgICByZXR1cm4gKnRoaXM7CisgICAgICAgIH0KKworICAgICAgcHJpdmF0ZToKKyAgICAgICAgVCogcHRyOworICAgICAgfTsKKworICAgICAgLy8gU3dhbGxvd3MgYW55IGFzc2lnbm1lbnQKKyAgICAgIHN0cnVjdCBzd2FsbG93X2Fzc2lnbgorICAgICAgeworICAgICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgorICAgICAgICBzd2FsbG93X2Fzc2lnbiBjb25zdCYgb3BlcmF0b3I9KGNvbnN0IFQmKSBjb25zdAorICAgICAgICB7CisgICAgICAgICAgcmV0dXJuICp0aGlzOworICAgICAgICB9CisgICAgICB9OworCisgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFQ+IHN0cnVjdCBhZGRfY29uc3RfcmVmZXJlbmNlIDogYWRkX3JlZmVyZW5jZTx0eXBlbmFtZSBhZGRfY29uc3Q8VD46OnR5cGU+IHt9OworCisgICAgdGVtcGxhdGUgPGNsYXNzIE15VGFpbD4KKyAgICBzdHJ1Y3QgaW5pdF90YWlsCisgICAgeworICAgICAgICAvLyBFYWNoIG9mIHZjNiBhbmQgdmM3IHNlZW0gdG8gcmVxdWlyZSBhIGRpZmZlcmVudCBmb3JtdWxhdGlvbgorICAgICAgICAvLyBvZiB0aGlzIHJldHVybiB0eXBlCisgICAgICAgIHRlbXBsYXRlIDxjbGFzcyBILCBjbGFzcyBUPgorI2lmIEJPT1NUX1dPUktBUk9VTkQoQk9PU1RfTVNWQywgPCAxMzAwKQorICAgICAgICBzdGF0aWMgdHlwZW5hbWUgYWRkX3JlZmVyZW5jZTx0eXBlbmFtZSBhZGRfY29uc3Q8VD46OnR5cGU+Ojp0eXBlCisjZWxzZQorICAgICAgICBzdGF0aWMgdHlwZW5hbWUgYWRkX2NvbnN0X3JlZmVyZW5jZTxUPjo6dHlwZQorI2VuZGlmCisgICAgICAgIGV4ZWN1dGUoIGNvbnM8SCxUPiBjb25zdCYgdSwgbG9uZyApCisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiB1LmdldF90YWlsKCk7CisgICAgICAgIH0KKyAgICB9OworCisgICAgdGVtcGxhdGUgPD4KKyAgICBzdHJ1Y3QgaW5pdF90YWlsPG51bGxfdHlwZT4KKyAgICB7CisgICAgICAgIHRlbXBsYXRlIDxjbGFzcyBIPgorICAgICAgICBzdGF0aWMgbnVsbF90eXBlIGV4ZWN1dGUoIGNvbnM8SCxudWxsX3R5cGU+IGNvbnN0JiB1LCBsb25nICkKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJuIG51bGxfdHlwZSgpOworICAgICAgICB9CisKKyAgICAgICAgdGVtcGxhdGUgPGNsYXNzIFU+CisgICAgICAgIHN0YXRpYyBudWxsX3R5cGUgZXhlY3V0ZShVIGNvbnN0JiwgLi4uKQorICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4gbnVsbF90eXBlKCk7CisgICAgICAgIH0KKyAgICAgcHJpdmF0ZToKKyAgICAgICAgdGVtcGxhdGUgPGNsYXNzIEgsIGNsYXNzIFQ+CisgICAgICAgIHZvaWQgZXhlY3V0ZSggY29uczxILFQ+IGNvbnN0JiwgaW50KTsKKyAgICB9OworCisgICAgdGVtcGxhdGUgPGNsYXNzIE90aGVyPgorICAgIE90aGVyIGNvbnN0JgorICAgIGluaXRfaGVhZCggT3RoZXIgY29uc3QmIHUsIC4uLiApCisgICAgeworICAgICAgICByZXR1cm4gdTsKKyAgICB9CisKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgSCwgY2xhc3MgVD4KKyAgICB0eXBlbmFtZSBhZGRfcmVmZXJlbmNlPHR5cGVuYW1lIGFkZF9jb25zdDxIPjo6dHlwZT46OnR5cGUKKyAgICBpbml0X2hlYWQoIGNvbnM8SCxUPiBjb25zdCYgdSwgaW50ICkKKyAgICB7CisgICAgICAgIHJldHVybiB1LmdldF9oZWFkKCk7CisgICAgfQorCisgICAgaW5saW5lIGNoYXIqKioqIGluaXRfaGVhZChudWxsX3R5cGUgY29uc3QmLCBpbnQpOworCisgIH0gLy8gZW5kIG9mIG5hbWVzcGFjZSBkZXRhaWwKKworICAgIC8vIGNvbnMgYnVpbGRzIGEgaGV0ZXJvZ2Vub3VzIGxpc3Qgb2YgdHlwZXMKKyAgIHRlbXBsYXRlPHR5cGVuYW1lIEhlYWQsIHR5cGVuYW1lIFRhaWw+CisgICBzdHJ1Y3QgY29ucworICAgeworICAgICB0eXBlZGVmIGNvbnMgc2VsZl90eXBlOworICAgICB0eXBlZGVmIEhlYWQgaGVhZF90eXBlOworICAgICB0eXBlZGVmIFRhaWwgdGFpbF90eXBlOworCisgICAgcHJpdmF0ZToKKyAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG5kbmJvb3N0OjphZGRfcmVmZXJlbmNlPGhlYWRfdHlwZT46OnR5cGUgaGVhZF9yZWY7CisgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBuZG5ib29zdDo6YWRkX3JlZmVyZW5jZTx0YWlsX3R5cGU+Ojp0eXBlIHRhaWxfcmVmOworICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgZGV0YWlsOjphZGRfY29uc3RfcmVmZXJlbmNlPGhlYWRfdHlwZT46OnR5cGUgaGVhZF9jcmVmOworICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgZGV0YWlsOjphZGRfY29uc3RfcmVmZXJlbmNlPHRhaWxfdHlwZT46OnR5cGUgdGFpbF9jcmVmOworICAgIHB1YmxpYzoKKyAgICAgaGVhZF90eXBlIGhlYWQ7CisgICAgIHRhaWxfdHlwZSB0YWlsOworCisgICAgIGhlYWRfcmVmIGdldF9oZWFkKCkgeyByZXR1cm4gaGVhZDsgfQorICAgICB0YWlsX3JlZiBnZXRfdGFpbCgpIHsgcmV0dXJuIHRhaWw7IH0KKworICAgICBoZWFkX2NyZWYgZ2V0X2hlYWQoKSBjb25zdCB7IHJldHVybiBoZWFkOyB9CisgICAgIHRhaWxfY3JlZiBnZXRfdGFpbCgpIGNvbnN0IHsgcmV0dXJuIHRhaWw7IH0KKworICAgICBjb25zKCkgOiBoZWFkKCksIHRhaWwoKSB7fQorCisjaWYgZGVmaW5lZCBCT09TVF9NU1ZDCisgICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUYWlsPgorICAgICAgY29ucyhoZWFkX2NyZWYgaCAvKiA9IGhlYWRfdHlwZSgpICovLCAvLyBjYXVzZXMgTVNWQyA2LjUgdG8gYmFyZi4KKyAgICAgICAgICAgICAgICAgICAgY29uc3QgVGFpbCYgdCkgOiBoZWFkKGgpLCB0YWlsKHQuaGVhZCwgdC50YWlsKQorICAgICAgeworICAgICAgfQorCisgICAgICBjb25zKGhlYWRfY3JlZiBoIC8qID0gaGVhZF90eXBlKCkgKi8sIC8vIGNhdXNlcyBNU1ZDIDYuNSB0byBiYXJmLgorICAgICAgICAgICAgICAgICAgICBjb25zdCBudWxsX3R5cGUmIHQpIDogaGVhZChoKSwgdGFpbCh0KQorICAgICAgeworICAgICAgfQorCisjZWxzZQorICAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4KKyAgICAgIGV4cGxpY2l0IGNvbnMoaGVhZF9jcmVmIGgsIGNvbnN0IFQmIHQpIDoKKyAgICAgICAgaGVhZChoKSwgdGFpbCh0LmhlYWQsIHQudGFpbCkKKyAgICAgIHsKKyAgICAgIH0KKworICAgICAgZXhwbGljaXQgY29ucyhoZWFkX2NyZWYgaCA9IGhlYWRfdHlwZSgpLAorICAgICAgICAgICAgICAgICAgICB0YWlsX2NyZWYgdCA9IHRhaWxfdHlwZSgpKSA6CisgICAgICAgIGhlYWQoaCksIHRhaWwodCkKKyAgICAgIHsKKyAgICAgIH0KKyNlbmRpZgorCisgICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVT4KKyAgICAgIGNvbnMoIGNvbnN0IFUmIHUgKQorICAgICAgICA6IGhlYWQoZGV0YWlsOjppbml0X2hlYWQodSwgMCkpCisgICAgICAgICwgdGFpbChkZXRhaWw6OmluaXRfdGFpbDxUYWlsPjo6ZXhlY3V0ZSh1LCAwTCkpCisgICAgICAgeworICAgICAgIH0KKworICAgICAgdGVtcGxhdGU8dHlwZW5hbWUgT3RoZXI+CisgICAgICBjb25zJiBvcGVyYXRvcj0oY29uc3QgT3RoZXImIG90aGVyKQorICAgICAgeworICAgICAgICBoZWFkID0gb3RoZXIuaGVhZDsKKyAgICAgICAgdGFpbCA9IG90aGVyLnRhaWw7CisgICAgICAgIHJldHVybiAqdGhpczsKKyAgICAgIH0KKyAgICB9OworCisgICAgbmFtZXNwYWNlIGRldGFpbCB7CisKKyAgICAgIC8vIERldGVybWluZXMgaWYgdGhlIHBhcmFtZXRlciBpcyBudWxsX3R5cGUKKyAgICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBpc19udWxsX3R5cGUgeyBlbnVtIHsgUkVUID0gMCB9OyB9OworICAgICAgdGVtcGxhdGU8PiBzdHJ1Y3QgaXNfbnVsbF90eXBlPG51bGxfdHlwZT4geyBlbnVtIHsgUkVUID0gMSB9OyB9OworCisgICAgICAvKiBCdWlsZCBhIGNvbnMgc3RydWN0dXJlIGZyb20gdGhlIGdpdmVuIEhlYWQgYW5kIFRhaWwuIElmIGJvdGggYXJlIG51bGxfdHlwZSwKKyAgICAgIHJldHVybiBudWxsX3R5cGUuICovCisgICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBIZWFkLCB0eXBlbmFtZSBUYWlsPgorICAgICAgc3RydWN0IGJ1aWxkX2NvbnMKKyAgICAgIHsKKyAgICAgIHByaXZhdGU6CisgICAgICAgIGVudW0geyB0YWlsX2lzX251bGxfdHlwZSA9IGlzX251bGxfdHlwZTxUYWlsPjo6UkVUIH07CisgICAgICBwdWJsaWM6CisgICAgICAgIHR5cGVkZWYgY29uczxIZWFkLCBUYWlsPiBSRVQ7CisgICAgICB9OworCisgICAgICB0ZW1wbGF0ZTw+CisgICAgICBzdHJ1Y3QgYnVpbGRfY29uczxudWxsX3R5cGUsIG51bGxfdHlwZT4KKyAgICAgIHsKKyAgICAgICAgdHlwZWRlZiBudWxsX3R5cGUgUkVUOworICAgICAgfTsKKworICAgICAgLy8gTWFwIHRoZSBOIGVsZW1lbnRzIG9mIGEgdHVwbGUgaW50byBhIGNvbnMgbGlzdAorICAgICAgdGVtcGxhdGU8CisgICAgICAgIHR5cGVuYW1lIFQxLAorICAgICAgICB0eXBlbmFtZSBUMiA9IG51bGxfdHlwZSwKKyAgICAgICAgdHlwZW5hbWUgVDMgPSBudWxsX3R5cGUsCisgICAgICAgIHR5cGVuYW1lIFQ0ID0gbnVsbF90eXBlLAorICAgICAgICB0eXBlbmFtZSBUNSA9IG51bGxfdHlwZSwKKyAgICAgICAgdHlwZW5hbWUgVDYgPSBudWxsX3R5cGUsCisgICAgICAgIHR5cGVuYW1lIFQ3ID0gbnVsbF90eXBlLAorICAgICAgICB0eXBlbmFtZSBUOCA9IG51bGxfdHlwZSwKKyAgICAgICAgdHlwZW5hbWUgVDkgPSBudWxsX3R5cGUsCisgICAgICAgIHR5cGVuYW1lIFQxMCA9IG51bGxfdHlwZQorICAgICAgPgorICAgICAgc3RydWN0IG1hcF90dXBsZV90b19jb25zCisgICAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgZGV0YWlsOjpidWlsZF9jb25zPFQxMCwgbnVsbF90eXBlICA+OjpSRVQgY29uczEwOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGRldGFpbDo6YnVpbGRfY29uczxUOSwgY29uczEwPjo6UkVUIGNvbnM5OworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGRldGFpbDo6YnVpbGRfY29uczxUOCwgY29uczk+OjpSRVQgY29uczg7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgZGV0YWlsOjpidWlsZF9jb25zPFQ3LCBjb25zOD46OlJFVCBjb25zNzsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBkZXRhaWw6OmJ1aWxkX2NvbnM8VDYsIGNvbnM3Pjo6UkVUIGNvbnM2OworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGRldGFpbDo6YnVpbGRfY29uczxUNSwgY29uczY+OjpSRVQgY29uczU7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgZGV0YWlsOjpidWlsZF9jb25zPFQ0LCBjb25zNT46OlJFVCBjb25zNDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBkZXRhaWw6OmJ1aWxkX2NvbnM8VDMsIGNvbnM0Pjo6UkVUIGNvbnMzOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGRldGFpbDo6YnVpbGRfY29uczxUMiwgY29uczM+OjpSRVQgY29uczI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgZGV0YWlsOjpidWlsZF9jb25zPFQxLCBjb25zMj46OlJFVCBjb25zMTsKKyAgICAgIH07CisKKyAgICAgIC8vIFdvcmthcm91bmQgdGhlIGxhY2sgb2YgcGFydGlhbCBzcGVjaWFsaXphdGlvbiBpbiBzb21lIGNvbXBpbGVycworICAgICAgdGVtcGxhdGU8aW50IE4+CisgICAgICBzdHJ1Y3QgX2VsZW1lbnRfdHlwZQorICAgICAgeworICAgICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUdXBsZT4KKyAgICAgICAgc3RydWN0IGlubmVyCisgICAgICAgIHsKKyAgICAgICAgcHJpdmF0ZToKKyAgICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIFR1cGxlOjp0YWlsX3R5cGUgdGFpbF90eXBlOworICAgICAgICAgIHR5cGVkZWYgX2VsZW1lbnRfdHlwZTxOLTE+IG5leHRfZWx0X3R5cGU7CisKKyAgICAgICAgcHVibGljOgorICAgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgX2VsZW1lbnRfdHlwZTxOLTE+Ojp0ZW1wbGF0ZSBpbm5lcjx0YWlsX3R5cGU+OjpSRVQgUkVUOworICAgICAgICB9OworICAgICAgfTsKKworICAgICAgdGVtcGxhdGU8PgorICAgICAgc3RydWN0IF9lbGVtZW50X3R5cGU8MD4KKyAgICAgIHsKKyAgICAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVHVwbGU+CisgICAgICAgIHN0cnVjdCBpbm5lcgorICAgICAgICB7CisgICAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBUdXBsZTo6aGVhZF90eXBlIFJFVDsKKyAgICAgICAgfTsKKyAgICAgIH07CisKKyAgICB9IC8vIG5hbWVzcGFjZSBkZXRhaWwKKworCisgICAgLy8gUmV0dXJuIHRoZSBOdGggdHlwZSBvZiB0aGUgZ2l2ZW4gVHVwbGUKKyAgICB0ZW1wbGF0ZTxpbnQgTiwgdHlwZW5hbWUgVHVwbGU+CisgICAgc3RydWN0IGVsZW1lbnQKKyAgICB7CisgICAgcHJpdmF0ZToKKyAgICAgIHR5cGVkZWYgZGV0YWlsOjpfZWxlbWVudF90eXBlPE4+IG50aF90eXBlOworCisgICAgcHVibGljOgorICAgICAgdHlwZWRlZiB0eXBlbmFtZSBudGhfdHlwZTo6dGVtcGxhdGUgaW5uZXI8VHVwbGU+OjpSRVQgUkVUOworICAgICAgdHlwZWRlZiBSRVQgdHlwZTsKKyAgICB9OworCisgICAgbmFtZXNwYWNlIGRldGFpbCB7CisKKyNpZiBkZWZpbmVkKEJPT1NUX01TVkMpICYmIChCT09TVF9NU1ZDID09IDEzMDApCisgICAgICAvLyBzcGVjaWFsIHdvcmthcm91bmQgZm9yIHZjNzoKKworICAgICAgdGVtcGxhdGUgPGJvb2wgeD4KKyAgICAgIHN0cnVjdCByZWZlcmVuY2VfYWRkZXIKKyAgICAgIHsKKyAgICAgICAgIHRlbXBsYXRlIDxjbGFzcyBUPgorICAgICAgICAgc3RydWN0IHJlYmluZAorICAgICAgICAgeworICAgICAgICAgICAgdHlwZWRlZiBUJiB0eXBlOworICAgICAgICAgfTsKKyAgICAgIH07CisKKyAgICAgIHRlbXBsYXRlIDw+CisgICAgICBzdHJ1Y3QgcmVmZXJlbmNlX2FkZGVyPHRydWU+CisgICAgICB7CisgICAgICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVD4KKyAgICAgICAgIHN0cnVjdCByZWJpbmQKKyAgICAgICAgIHsKKyAgICAgICAgICAgIHR5cGVkZWYgVCB0eXBlOworICAgICAgICAgfTsKKyAgICAgIH07CisKKworICAgICAgLy8gUmV0dXJuIGEgcmVmZXJlbmNlIHRvIHRoZSBOdGggdHlwZSBvZiB0aGUgZ2l2ZW4gVHVwbGUKKyAgICAgIHRlbXBsYXRlPGludCBOLCB0eXBlbmFtZSBUdXBsZT4KKyAgICAgIHN0cnVjdCBlbGVtZW50X3JlZgorICAgICAgeworICAgICAgcHJpdmF0ZToKKyAgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgZWxlbWVudDxOLCBUdXBsZT46OlJFVCBlbHRfdHlwZTsKKyAgICAgICAgIGVudW0geyBpc19yZWYgPSBpc19yZWZlcmVuY2U8ZWx0X3R5cGU+Ojp2YWx1ZSB9OworCisgICAgICBwdWJsaWM6CisgICAgICAgICB0eXBlZGVmIHJlZmVyZW5jZV9hZGRlcjxpc19yZWY+OjpyZWJpbmQ8ZWx0X3R5cGU+Ojp0eXBlIFJFVDsKKyAgICAgICAgIHR5cGVkZWYgUkVUIHR5cGU7CisgICAgICB9OworCisgICAgICAvLyBSZXR1cm4gYSBjb25zdCByZWZlcmVuY2UgdG8gdGhlIE50aCB0eXBlIG9mIHRoZSBnaXZlbiBUdXBsZQorICAgICAgdGVtcGxhdGU8aW50IE4sIHR5cGVuYW1lIFR1cGxlPgorICAgICAgc3RydWN0IGVsZW1lbnRfY29uc3RfcmVmCisgICAgICB7CisgICAgICBwcml2YXRlOgorICAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBlbGVtZW50PE4sIFR1cGxlPjo6UkVUIGVsdF90eXBlOworICAgICAgICAgZW51bSB7IGlzX3JlZiA9IGlzX3JlZmVyZW5jZTxlbHRfdHlwZT46OnZhbHVlIH07CisKKyAgICAgIHB1YmxpYzoKKyAgICAgICAgIHR5cGVkZWYgcmVmZXJlbmNlX2FkZGVyPGlzX3JlZj46OnJlYmluZDxjb25zdCBlbHRfdHlwZT46OnR5cGUgUkVUOworICAgICAgICAgdHlwZWRlZiBSRVQgdHlwZTsKKyAgICAgIH07CisKKyNlbHNlIC8vIHZjNworCisgICAgICAvLyBSZXR1cm4gYSByZWZlcmVuY2UgdG8gdGhlIE50aCB0eXBlIG9mIHRoZSBnaXZlbiBUdXBsZQorICAgICAgdGVtcGxhdGU8aW50IE4sIHR5cGVuYW1lIFR1cGxlPgorICAgICAgc3RydWN0IGVsZW1lbnRfcmVmCisgICAgICB7CisgICAgICBwcml2YXRlOgorICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGVsZW1lbnQ8TiwgVHVwbGU+OjpSRVQgZWx0X3R5cGU7CisKKyAgICAgIHB1YmxpYzoKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhZGRfcmVmZXJlbmNlPGVsdF90eXBlPjo6dHlwZSBSRVQ7CisgICAgICAgIHR5cGVkZWYgUkVUIHR5cGU7CisgICAgICB9OworCisgICAgICAvLyBSZXR1cm4gYSBjb25zdCByZWZlcmVuY2UgdG8gdGhlIE50aCB0eXBlIG9mIHRoZSBnaXZlbiBUdXBsZQorICAgICAgdGVtcGxhdGU8aW50IE4sIHR5cGVuYW1lIFR1cGxlPgorICAgICAgc3RydWN0IGVsZW1lbnRfY29uc3RfcmVmCisgICAgICB7CisgICAgICBwcml2YXRlOgorICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGVsZW1lbnQ8TiwgVHVwbGU+OjpSRVQgZWx0X3R5cGU7CisKKyAgICAgIHB1YmxpYzoKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhZGRfcmVmZXJlbmNlPGNvbnN0IGVsdF90eXBlPjo6dHlwZSBSRVQ7CisgICAgICAgIHR5cGVkZWYgUkVUIHR5cGU7CisgICAgICB9OworI2VuZGlmIC8vIHZjNworCisgICAgfSAvLyBuYW1lc3BhY2UgZGV0YWlsCisKKyAgICAvLyBHZXQgbGVuZ3RoIG9mIHRoaXMgdHVwbGUKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUdXBsZT4KKyAgICBzdHJ1Y3QgbGVuZ3RoCisgICAgeworICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgPSAxICsgbGVuZ3RoPHR5cGVuYW1lIFR1cGxlOjp0YWlsX3R5cGU+Ojp2YWx1ZSk7CisgICAgfTsKKworICAgIHRlbXBsYXRlPD4gc3RydWN0IGxlbmd0aDx0dXBsZTw+ID4geworICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgPSAwKTsKKyAgICB9OworCisgICAgdGVtcGxhdGU8PgorICAgIHN0cnVjdCBsZW5ndGg8bnVsbF90eXBlPgorICAgIHsKKyAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsIHZhbHVlID0gMCk7CisgICAgfTsKKworICAgIG5hbWVzcGFjZSBkZXRhaWwgeworCisgICAgLy8gUmVmZXJlbmNlIHRoZSBOdGggZWxlbWVudCBpbiBhIHR1cGxlIGFuZCByZXRyaWV2ZSBpdCB3aXRoICJnZXQiCisgICAgdGVtcGxhdGU8aW50IE4+CisgICAgc3RydWN0IGdldF9jbGFzcworICAgIHsKKyAgICAgIHRlbXBsYXRlPHR5cGVuYW1lIEhlYWQsIHR5cGVuYW1lIFRhaWw+CisgICAgICBzdGF0aWMgaW5saW5lCisgICAgICB0eXBlbmFtZSBkZXRhaWw6OmVsZW1lbnRfcmVmPE4sIGNvbnM8SGVhZCwgVGFpbD4gPjo6UkVUCisgICAgICBnZXQoY29uczxIZWFkLCBUYWlsPiYgdCkKKyAgICAgIHsKKyAgICAgICAgcmV0dXJuIGdldF9jbGFzczxOLTE+OjpnZXQodC50YWlsKTsKKyAgICAgIH0KKworICAgICAgdGVtcGxhdGU8dHlwZW5hbWUgSGVhZCwgdHlwZW5hbWUgVGFpbD4KKyAgICAgIHN0YXRpYyBpbmxpbmUKKyAgICAgIHR5cGVuYW1lIGRldGFpbDo6ZWxlbWVudF9jb25zdF9yZWY8TiwgY29uczxIZWFkLCBUYWlsPiA+OjpSRVQKKyAgICAgIGdldChjb25zdCBjb25zPEhlYWQsIFRhaWw+JiB0KQorICAgICAgeworICAgICAgICByZXR1cm4gZ2V0X2NsYXNzPE4tMT46OmdldCh0LnRhaWwpOworICAgICAgfQorICAgIH07CisKKyAgICB0ZW1wbGF0ZTw+CisgICAgc3RydWN0IGdldF9jbGFzczwwPgorICAgIHsKKyAgICAgIHRlbXBsYXRlPHR5cGVuYW1lIEhlYWQsIHR5cGVuYW1lIFRhaWw+CisgICAgICBzdGF0aWMgaW5saW5lCisgICAgICB0eXBlbmFtZSBhZGRfcmVmZXJlbmNlPEhlYWQ+Ojp0eXBlCisgICAgICBnZXQoY29uczxIZWFkLCBUYWlsPiYgdCkKKyAgICAgIHsKKyAgICAgICAgcmV0dXJuIHQuaGVhZDsKKyAgICAgIH0KKworICAgICAgdGVtcGxhdGU8dHlwZW5hbWUgSGVhZCwgdHlwZW5hbWUgVGFpbD4KKyAgICAgIHN0YXRpYyBpbmxpbmUKKyAgICAgIHR5cGVuYW1lIGFkZF9yZWZlcmVuY2U8Y29uc3QgSGVhZD46OnR5cGUKKyAgICAgIGdldChjb25zdCBjb25zPEhlYWQsIFRhaWw+JiB0KQorICAgICAgeworICAgICAgICByZXR1cm4gdC5oZWFkOworICAgICAgfQorICAgIH07CisKKyAgICB9IC8vIG5hbWVzcGFjZSBkZXRhaWwKKworICAgIC8vIHR1cGxlIGNsYXNzCisgICAgdGVtcGxhdGU8CisgICAgICB0eXBlbmFtZSBUMSwKKyAgICAgIHR5cGVuYW1lIFQyLAorICAgICAgdHlwZW5hbWUgVDMsCisgICAgICB0eXBlbmFtZSBUNCwKKyAgICAgIHR5cGVuYW1lIFQ1LAorICAgICAgdHlwZW5hbWUgVDYsCisgICAgICB0eXBlbmFtZSBUNywKKyAgICAgIHR5cGVuYW1lIFQ4LAorICAgICAgdHlwZW5hbWUgVDksCisgICAgICB0eXBlbmFtZSBUMTAKKyAgICA+CisgICAgY2xhc3MgdHVwbGUgOgorICAgICAgcHVibGljIGRldGFpbDo6bWFwX3R1cGxlX3RvX2NvbnM8VDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOSwgVDEwPjo6Y29uczEKKyAgICB7CisgICAgcHJpdmF0ZToKKyAgICAgIHR5cGVkZWYgZGV0YWlsOjptYXBfdHVwbGVfdG9fY29uczxUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTA+IG1hcHBlZF90dXBsZTsKKyAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbWFwcGVkX3R1cGxlOjpjb25zMTAgY29uczEwOworICAgICAgdHlwZWRlZiB0eXBlbmFtZSBtYXBwZWRfdHVwbGU6OmNvbnM5IGNvbnM5OworICAgICAgdHlwZWRlZiB0eXBlbmFtZSBtYXBwZWRfdHVwbGU6OmNvbnM4IGNvbnM4OworICAgICAgdHlwZWRlZiB0eXBlbmFtZSBtYXBwZWRfdHVwbGU6OmNvbnM3IGNvbnM3OworICAgICAgdHlwZWRlZiB0eXBlbmFtZSBtYXBwZWRfdHVwbGU6OmNvbnM2IGNvbnM2OworICAgICAgdHlwZWRlZiB0eXBlbmFtZSBtYXBwZWRfdHVwbGU6OmNvbnM1IGNvbnM1OworICAgICAgdHlwZWRlZiB0eXBlbmFtZSBtYXBwZWRfdHVwbGU6OmNvbnM0IGNvbnM0OworICAgICAgdHlwZWRlZiB0eXBlbmFtZSBtYXBwZWRfdHVwbGU6OmNvbnMzIGNvbnMzOworICAgICAgdHlwZWRlZiB0eXBlbmFtZSBtYXBwZWRfdHVwbGU6OmNvbnMyIGNvbnMyOworICAgICAgdHlwZWRlZiB0eXBlbmFtZSBtYXBwZWRfdHVwbGU6OmNvbnMxIGNvbnMxOworCisgICAgICB0eXBlZGVmIHR5cGVuYW1lIGRldGFpbDo6YWRkX2NvbnN0X3JlZmVyZW5jZTxUMT46OnR5cGUgdDFfY3JlZjsKKyAgICAgIHR5cGVkZWYgdHlwZW5hbWUgZGV0YWlsOjphZGRfY29uc3RfcmVmZXJlbmNlPFQyPjo6dHlwZSB0Ml9jcmVmOworICAgICAgdHlwZWRlZiB0eXBlbmFtZSBkZXRhaWw6OmFkZF9jb25zdF9yZWZlcmVuY2U8VDM+Ojp0eXBlIHQzX2NyZWY7CisgICAgICB0eXBlZGVmIHR5cGVuYW1lIGRldGFpbDo6YWRkX2NvbnN0X3JlZmVyZW5jZTxUND46OnR5cGUgdDRfY3JlZjsKKyAgICAgIHR5cGVkZWYgdHlwZW5hbWUgZGV0YWlsOjphZGRfY29uc3RfcmVmZXJlbmNlPFQ1Pjo6dHlwZSB0NV9jcmVmOworICAgICAgdHlwZWRlZiB0eXBlbmFtZSBkZXRhaWw6OmFkZF9jb25zdF9yZWZlcmVuY2U8VDY+Ojp0eXBlIHQ2X2NyZWY7CisgICAgICB0eXBlZGVmIHR5cGVuYW1lIGRldGFpbDo6YWRkX2NvbnN0X3JlZmVyZW5jZTxUNz46OnR5cGUgdDdfY3JlZjsKKyAgICAgIHR5cGVkZWYgdHlwZW5hbWUgZGV0YWlsOjphZGRfY29uc3RfcmVmZXJlbmNlPFQ4Pjo6dHlwZSB0OF9jcmVmOworICAgICAgdHlwZWRlZiB0eXBlbmFtZSBkZXRhaWw6OmFkZF9jb25zdF9yZWZlcmVuY2U8VDk+Ojp0eXBlIHQ5X2NyZWY7CisgICAgICB0eXBlZGVmIHR5cGVuYW1lIGRldGFpbDo6YWRkX2NvbnN0X3JlZmVyZW5jZTxUMTA+Ojp0eXBlIHQxMF9jcmVmOworICAgIHB1YmxpYzoKKyAgICAgIHR5cGVkZWYgY29uczEgaW5oZXJpdGVkOworICAgICAgdHlwZWRlZiB0dXBsZSBzZWxmX3R5cGU7CisKKyAgICAgIHR1cGxlKCkgOiBjb25zMShUMSgpLCBjb25zMihUMigpLCBjb25zMyhUMygpLCBjb25zNChUNCgpLCBjb25zNShUNSgpLCBjb25zNihUNigpLGNvbnM3KFQ3KCksY29uczgoVDgoKSxjb25zOShUOSgpLGNvbnMxMChUMTAoKSkpKSkpKSkpKSkKKyAgICAgICAge30KKworICAgICAgdHVwbGUoCisgICAgICAgICAgdDFfY3JlZiB0MSwKKyAgICAgICAgICB0Ml9jcmVmIHQyLAorICAgICAgICAgIHQzX2NyZWYgdDMgPSBUMygpLAorICAgICAgICAgIHQ0X2NyZWYgdDQgPSBUNCgpLAorICAgICAgICAgIHQ1X2NyZWYgdDUgPSBUNSgpLAorICAgICAgICAgIHQ2X2NyZWYgdDYgPSBUNigpLAorICAgICAgICAgIHQ3X2NyZWYgdDcgPSBUNygpLAorICAgICAgICAgIHQ4X2NyZWYgdDggPSBUOCgpLAorICAgICAgICAgIHQ5X2NyZWYgdDkgPSBUOSgpLAorICAgICAgICAgIHQxMF9jcmVmIHQxMCA9IFQxMCgpCisgICAgICApIDoKKyAgICAgICAgY29uczEodDEsIGNvbnMyKHQyLCBjb25zMyh0MywgY29uczQodDQsIGNvbnM1KHQ1LCBjb25zNih0Nixjb25zNyh0Nyxjb25zOCh0OCxjb25zOSh0OSxjb25zMTAodDEwKSkpKSkpKSkpKQorICAgICAgeworICAgICAgfQorCisgICAgICBleHBsaWNpdCB0dXBsZSh0MV9jcmVmIHQxKQorICAgICAgICA6IGNvbnMxKHQxLCBjb25zMihUMigpLCBjb25zMyhUMygpLCBjb25zNChUNCgpLCBjb25zNShUNSgpLCBjb25zNihUNigpLGNvbnM3KFQ3KCksY29uczgoVDgoKSxjb25zOShUOSgpLGNvbnMxMChUMTAoKSkpKSkpKSkpKSkKKyAgICAgIHt9CisKKyAgICAgIHRlbXBsYXRlPHR5cGVuYW1lIEhlYWQsIHR5cGVuYW1lIFRhaWw+CisgICAgICB0dXBsZShjb25zdCBjb25zPEhlYWQsIFRhaWw+JiBvdGhlcikgOgorICAgICAgICBjb25zMShvdGhlci5oZWFkLCBvdGhlci50YWlsKQorICAgICAgeworICAgICAgfQorCisgICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBGaXJzdCwgdHlwZW5hbWUgU2Vjb25kPgorICAgICAgc2VsZl90eXBlJiBvcGVyYXRvcj0oY29uc3Qgc3RkOjpwYWlyPEZpcnN0LCBTZWNvbmQ+JiBvdGhlcikKKyAgICAgIHsKKyAgICAgICAgdGhpcy0+aGVhZCA9IG90aGVyLmZpcnN0OworICAgICAgICB0aGlzLT50YWlsLmhlYWQgPSBvdGhlci5zZWNvbmQ7CisgICAgICAgIHJldHVybiAqdGhpczsKKyAgICAgIH0KKworICAgICAgdGVtcGxhdGU8dHlwZW5hbWUgSGVhZCwgdHlwZW5hbWUgVGFpbD4KKyAgICAgIHNlbGZfdHlwZSYgb3BlcmF0b3I9KGNvbnN0IGNvbnM8SGVhZCwgVGFpbD4mIG90aGVyKQorICAgICAgeworICAgICAgICB0aGlzLT5oZWFkID0gb3RoZXIuaGVhZDsKKyAgICAgICAgdGhpcy0+dGFpbCA9IG90aGVyLnRhaWw7CisKKyAgICAgICAgcmV0dXJuICp0aGlzOworICAgICAgfQorICAgIH07CisKKyAgICBuYW1lc3BhY2UgZGV0YWlsIHsKKworICAgICAgdGVtcGxhdGU8aW50IE4+IHN0cnVjdCB3b3JrYXJvdW5kX2hvbGRlciB7fTsKKworICAgIH0gLy8gbmFtZXNwYWNlIGRldGFpbAorCisgICAgdGVtcGxhdGU8aW50IE4sIHR5cGVuYW1lIEhlYWQsIHR5cGVuYW1lIFRhaWw+CisgICAgdHlwZW5hbWUgZGV0YWlsOjplbGVtZW50X3JlZjxOLCBjb25zPEhlYWQsIFRhaWw+ID46OlJFVAorICAgIGdldChjb25zPEhlYWQsIFRhaWw+JiB0LCBkZXRhaWw6Ondvcmthcm91bmRfaG9sZGVyPE4+KiA9IDApCisgICAgeworICAgICAgcmV0dXJuIGRldGFpbDo6Z2V0X2NsYXNzPE4+OjpnZXQodCk7CisgICAgfQorCisgICAgdGVtcGxhdGU8aW50IE4sIHR5cGVuYW1lIEhlYWQsIHR5cGVuYW1lIFRhaWw+CisgICAgdHlwZW5hbWUgZGV0YWlsOjplbGVtZW50X2NvbnN0X3JlZjxOLCBjb25zPEhlYWQsIFRhaWw+ID46OlJFVAorICAgIGdldChjb25zdCBjb25zPEhlYWQsIFRhaWw+JiB0LCBkZXRhaWw6Ondvcmthcm91bmRfaG9sZGVyPE4+KiA9IDApCisgICAgeworICAgICAgcmV0dXJuIGRldGFpbDo6Z2V0X2NsYXNzPE4+OjpnZXQodCk7CisgICAgfQorCisgICAgLy8gTWFrZSBhIHR1cGxlCisgICAgdGVtcGxhdGU8dHlwZW5hbWUgVDE+CisgICAgaW5saW5lCisgICAgdHVwbGU8VDE+CisgICAgbWFrZV90dXBsZShjb25zdCBUMSYgdDEpCisgICAgeworICAgICAgcmV0dXJuIHR1cGxlPFQxPih0MSk7CisgICAgfQorCisgICAgLy8gTWFrZSBhIHR1cGxlCisgICAgdGVtcGxhdGU8dHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyPgorICAgIGlubGluZQorICAgIHR1cGxlPFQxLCBUMj4KKyAgICBtYWtlX3R1cGxlKGNvbnN0IFQxJiB0MSwgY29uc3QgVDImIHQyKQorICAgIHsKKyAgICAgIHJldHVybiB0dXBsZTxUMSwgVDI+KHQxLCB0Mik7CisgICAgfQorCisgICAgLy8gTWFrZSBhIHR1cGxlCisgICAgdGVtcGxhdGU8dHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMz4KKyAgICBpbmxpbmUKKyAgICB0dXBsZTxUMSwgVDIsIFQzPgorICAgIG1ha2VfdHVwbGUoY29uc3QgVDEmIHQxLCBjb25zdCBUMiYgdDIsIGNvbnN0IFQzJiB0MykKKyAgICB7CisgICAgICByZXR1cm4gdHVwbGU8VDEsIFQyLCBUMz4odDEsIHQyLCB0Myk7CisgICAgfQorCisgICAgLy8gTWFrZSBhIHR1cGxlCisgICAgdGVtcGxhdGU8dHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQ+CisgICAgaW5saW5lCisgICAgdHVwbGU8VDEsIFQyLCBUMywgVDQ+CisgICAgbWFrZV90dXBsZShjb25zdCBUMSYgdDEsIGNvbnN0IFQyJiB0MiwgY29uc3QgVDMmIHQzLCBjb25zdCBUNCYgdDQpCisgICAgeworICAgICAgcmV0dXJuIHR1cGxlPFQxLCBUMiwgVDMsIFQ0Pih0MSwgdDIsIHQzLCB0NCk7CisgICAgfQorCisgICAgLy8gTWFrZSBhIHR1cGxlCisgICAgdGVtcGxhdGU8dHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQsIHR5cGVuYW1lIFQ1PgorICAgIGlubGluZQorICAgIHR1cGxlPFQxLCBUMiwgVDMsIFQ0LCBUNT4KKyAgICBtYWtlX3R1cGxlKGNvbnN0IFQxJiB0MSwgY29uc3QgVDImIHQyLCBjb25zdCBUMyYgdDMsIGNvbnN0IFQ0JiB0NCwgY29uc3QgVDUmIHQ1KQorICAgIHsKKyAgICAgIHJldHVybiB0dXBsZTxUMSwgVDIsIFQzLCBUNCwgVDU+KHQxLCB0MiwgdDMsIHQ0LCB0NSk7CisgICAgfQorCisgICAgLy8gTWFrZSBhIHR1cGxlCisgICAgdGVtcGxhdGU8dHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNj4KKyAgICBpbmxpbmUKKyAgICB0dXBsZTxUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2PgorICAgIG1ha2VfdHVwbGUoY29uc3QgVDEmIHQxLCBjb25zdCBUMiYgdDIsIGNvbnN0IFQzJiB0MywgY29uc3QgVDQmIHQ0LCBjb25zdCBUNSYgdDUsIGNvbnN0IFQ2JiB0NikKKyAgICB7CisgICAgICByZXR1cm4gdHVwbGU8VDEsIFQyLCBUMywgVDQsIFQ1LCBUNj4odDEsIHQyLCB0MywgdDQsIHQ1LCB0Nik7CisgICAgfQorCisgICAgLy8gTWFrZSBhIHR1cGxlCisgICAgdGVtcGxhdGU8dHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDc+CisgICAgaW5saW5lCisgICAgdHVwbGU8VDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDc+CisgICAgbWFrZV90dXBsZShjb25zdCBUMSYgdDEsIGNvbnN0IFQyJiB0MiwgY29uc3QgVDMmIHQzLCBjb25zdCBUNCYgdDQsIGNvbnN0IFQ1JiB0NSwgY29uc3QgVDYmIHQ2LCBjb25zdCBUNyYgdDcpCisgICAgeworICAgICAgcmV0dXJuIHR1cGxlPFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3Pih0MSwgdDIsIHQzLCB0NCwgdDUsIHQ2LCB0Nyk7CisgICAgfQorCisgICAgLy8gTWFrZSBhIHR1cGxlCisgICAgdGVtcGxhdGU8dHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4PgorICAgIGlubGluZQorICAgIHR1cGxlPFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOD4KKyAgICBtYWtlX3R1cGxlKGNvbnN0IFQxJiB0MSwgY29uc3QgVDImIHQyLCBjb25zdCBUMyYgdDMsIGNvbnN0IFQ0JiB0NCwgY29uc3QgVDUmIHQ1LCBjb25zdCBUNiYgdDYsIGNvbnN0IFQ3JiB0NywgY29uc3QgVDgmIHQ4KQorICAgIHsKKyAgICAgIHJldHVybiB0dXBsZTxUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDg+KHQxLCB0MiwgdDMsIHQ0LCB0NSwgdDYsIHQ3LCB0OCk7CisgICAgfQorCisgICAgLy8gTWFrZSBhIHR1cGxlCisgICAgdGVtcGxhdGU8dHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOT4KKyAgICBpbmxpbmUKKyAgICB0dXBsZTxUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5PgorICAgIG1ha2VfdHVwbGUoY29uc3QgVDEmIHQxLCBjb25zdCBUMiYgdDIsIGNvbnN0IFQzJiB0MywgY29uc3QgVDQmIHQ0LCBjb25zdCBUNSYgdDUsIGNvbnN0IFQ2JiB0NiwgY29uc3QgVDcmIHQ3LCBjb25zdCBUOCYgdDgsIGNvbnN0IFQ5JiB0OSkKKyAgICB7CisgICAgICByZXR1cm4gdHVwbGU8VDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOT4odDEsIHQyLCB0MywgdDQsIHQ1LCB0NiwgdDcsIHQ4LCB0OSk7CisgICAgfQorCisgICAgLy8gTWFrZSBhIHR1cGxlCisgICAgdGVtcGxhdGU8dHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOSwgdHlwZW5hbWUgVDEwPgorICAgIGlubGluZQorICAgIHR1cGxlPFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMD4KKyAgICBtYWtlX3R1cGxlKGNvbnN0IFQxJiB0MSwgY29uc3QgVDImIHQyLCBjb25zdCBUMyYgdDMsIGNvbnN0IFQ0JiB0NCwgY29uc3QgVDUmIHQ1LCBjb25zdCBUNiYgdDYsIGNvbnN0IFQ3JiB0NywgY29uc3QgVDgmIHQ4LCBjb25zdCBUOSYgdDksIGNvbnN0IFQxMCYgdDEwKQorICAgIHsKKyAgICAgIHJldHVybiB0dXBsZTxUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5LCBUMTA+KHQxLCB0MiwgdDMsIHQ0LCB0NSwgdDYsIHQ3LCB0OCwgdDksIHQxMCk7CisgICAgfQorCisgICAgLy8gVGllIHZhcmlhYmxlcyBpbnRvIGEgdHVwbGUKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUMT4KKyAgICBpbmxpbmUKKyAgICB0dXBsZTxkZXRhaWw6OmFzc2lnbl90b19wb2ludGVlPFQxPiA+CisgICAgdGllKFQxJiB0MSkKKyAgICB7CisgICAgICByZXR1cm4gbWFrZV90dXBsZShkZXRhaWw6OmFzc2lnbl90b19wb2ludGVlPFQxPigmdDEpKTsKKyAgICB9CisKKyAgICAvLyBUaWUgdmFyaWFibGVzIGludG8gYSB0dXBsZQorICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMj4KKyAgICBpbmxpbmUKKyAgICB0dXBsZTxkZXRhaWw6OmFzc2lnbl90b19wb2ludGVlPFQxPiwKKyAgICAgIGRldGFpbDo6YXNzaWduX3RvX3BvaW50ZWU8VDI+ID4KKyAgICB0aWUoVDEmIHQxLCBUMiYgdDIpCisgICAgeworICAgICAgcmV0dXJuIG1ha2VfdHVwbGUoZGV0YWlsOjphc3NpZ25fdG9fcG9pbnRlZTxUMT4oJnQxKSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGRldGFpbDo6YXNzaWduX3RvX3BvaW50ZWU8VDI+KCZ0MikpOworICAgIH0KKworICAgIC8vIFRpZSB2YXJpYWJsZXMgaW50byBhIHR1cGxlCisgICAgdGVtcGxhdGU8dHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMz4KKyAgICBpbmxpbmUKKyAgICB0dXBsZTxkZXRhaWw6OmFzc2lnbl90b19wb2ludGVlPFQxPiwKKyAgICAgIGRldGFpbDo6YXNzaWduX3RvX3BvaW50ZWU8VDI+LAorICAgICAgZGV0YWlsOjphc3NpZ25fdG9fcG9pbnRlZTxUMz4gPgorICAgIHRpZShUMSYgdDEsIFQyJiB0MiwgVDMmIHQzKQorICAgIHsKKyAgICAgIHJldHVybiBtYWtlX3R1cGxlKGRldGFpbDo6YXNzaWduX3RvX3BvaW50ZWU8VDE+KCZ0MSksCisgICAgICAgICAgICAgICAgICAgICAgICBkZXRhaWw6OmFzc2lnbl90b19wb2ludGVlPFQyPigmdDIpLAorICAgICAgICAgICAgICAgICAgICAgICAgZGV0YWlsOjphc3NpZ25fdG9fcG9pbnRlZTxUMz4oJnQzKSk7CisgICAgfQorCisgICAgLy8gVGllIHZhcmlhYmxlcyBpbnRvIGEgdHVwbGUKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUND4KKyAgICBpbmxpbmUKKyAgICB0dXBsZTxkZXRhaWw6OmFzc2lnbl90b19wb2ludGVlPFQxPiwKKyAgICAgIGRldGFpbDo6YXNzaWduX3RvX3BvaW50ZWU8VDI+LAorICAgICAgZGV0YWlsOjphc3NpZ25fdG9fcG9pbnRlZTxUMz4sCisgICAgICBkZXRhaWw6OmFzc2lnbl90b19wb2ludGVlPFQ0PiA+CisgICAgdGllKFQxJiB0MSwgVDImIHQyLCBUMyYgdDMsIFQ0JiB0NCkKKyAgICB7CisgICAgICByZXR1cm4gbWFrZV90dXBsZShkZXRhaWw6OmFzc2lnbl90b19wb2ludGVlPFQxPigmdDEpLAorICAgICAgICAgICAgICAgICAgICAgICAgZGV0YWlsOjphc3NpZ25fdG9fcG9pbnRlZTxUMj4oJnQyKSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGRldGFpbDo6YXNzaWduX3RvX3BvaW50ZWU8VDM+KCZ0MyksCisgICAgICAgICAgICAgICAgICAgICAgICBkZXRhaWw6OmFzc2lnbl90b19wb2ludGVlPFQ0PigmdDQpKTsKKyAgICB9CisKKyAgICAvLyBUaWUgdmFyaWFibGVzIGludG8gYSB0dXBsZQorICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0LCB0eXBlbmFtZSBUNT4KKyAgICBpbmxpbmUKKyAgICB0dXBsZTxkZXRhaWw6OmFzc2lnbl90b19wb2ludGVlPFQxPiwKKyAgICAgIGRldGFpbDo6YXNzaWduX3RvX3BvaW50ZWU8VDI+LAorICAgICAgZGV0YWlsOjphc3NpZ25fdG9fcG9pbnRlZTxUMz4sCisgICAgICBkZXRhaWw6OmFzc2lnbl90b19wb2ludGVlPFQ0PiwKKyAgICAgIGRldGFpbDo6YXNzaWduX3RvX3BvaW50ZWU8VDU+ID4KKyAgICB0aWUoVDEmIHQxLCBUMiYgdDIsIFQzJiB0MywgVDQmIHQ0LCBUNSAmdDUpCisgICAgeworICAgICAgcmV0dXJuIG1ha2VfdHVwbGUoZGV0YWlsOjphc3NpZ25fdG9fcG9pbnRlZTxUMT4oJnQxKSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGRldGFpbDo6YXNzaWduX3RvX3BvaW50ZWU8VDI+KCZ0MiksCisgICAgICAgICAgICAgICAgICAgICAgICBkZXRhaWw6OmFzc2lnbl90b19wb2ludGVlPFQzPigmdDMpLAorICAgICAgICAgICAgICAgICAgICAgICAgZGV0YWlsOjphc3NpZ25fdG9fcG9pbnRlZTxUND4oJnQ0KSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGRldGFpbDo6YXNzaWduX3RvX3BvaW50ZWU8VDU+KCZ0NSkpOworICAgIH0KKworICAgIC8vIFRpZSB2YXJpYWJsZXMgaW50byBhIHR1cGxlCisgICAgdGVtcGxhdGU8dHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNj4KKyAgICBpbmxpbmUKKyAgICB0dXBsZTxkZXRhaWw6OmFzc2lnbl90b19wb2ludGVlPFQxPiwKKyAgICAgIGRldGFpbDo6YXNzaWduX3RvX3BvaW50ZWU8VDI+LAorICAgICAgZGV0YWlsOjphc3NpZ25fdG9fcG9pbnRlZTxUMz4sCisgICAgICBkZXRhaWw6OmFzc2lnbl90b19wb2ludGVlPFQ0PiwKKyAgICAgIGRldGFpbDo6YXNzaWduX3RvX3BvaW50ZWU8VDU+LAorICAgICAgZGV0YWlsOjphc3NpZ25fdG9fcG9pbnRlZTxUNj4gPgorICAgIHRpZShUMSYgdDEsIFQyJiB0MiwgVDMmIHQzLCBUNCYgdDQsIFQ1ICZ0NSwgVDYgJnQ2KQorICAgIHsKKyAgICAgIHJldHVybiBtYWtlX3R1cGxlKGRldGFpbDo6YXNzaWduX3RvX3BvaW50ZWU8VDE+KCZ0MSksCisgICAgICAgICAgICAgICAgICAgICAgICBkZXRhaWw6OmFzc2lnbl90b19wb2ludGVlPFQyPigmdDIpLAorICAgICAgICAgICAgICAgICAgICAgICAgZGV0YWlsOjphc3NpZ25fdG9fcG9pbnRlZTxUMz4oJnQzKSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGRldGFpbDo6YXNzaWduX3RvX3BvaW50ZWU8VDQ+KCZ0NCksCisgICAgICAgICAgICAgICAgICAgICAgICBkZXRhaWw6OmFzc2lnbl90b19wb2ludGVlPFQ1PigmdDUpLAorICAgICAgICAgICAgICAgICAgICAgICAgZGV0YWlsOjphc3NpZ25fdG9fcG9pbnRlZTxUNj4oJnQ2KSk7CisgICAgfQorCisgICAgLy8gVGllIHZhcmlhYmxlcyBpbnRvIGEgdHVwbGUKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNCwgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNz4KKyAgICBpbmxpbmUKKyAgICB0dXBsZTxkZXRhaWw6OmFzc2lnbl90b19wb2ludGVlPFQxPiwKKyAgICAgIGRldGFpbDo6YXNzaWduX3RvX3BvaW50ZWU8VDI+LAorICAgICAgZGV0YWlsOjphc3NpZ25fdG9fcG9pbnRlZTxUMz4sCisgICAgICBkZXRhaWw6OmFzc2lnbl90b19wb2ludGVlPFQ0PiwKKyAgICAgIGRldGFpbDo6YXNzaWduX3RvX3BvaW50ZWU8VDU+LAorICAgICAgZGV0YWlsOjphc3NpZ25fdG9fcG9pbnRlZTxUNj4sCisgICAgICBkZXRhaWw6OmFzc2lnbl90b19wb2ludGVlPFQ3PiA+CisgICAgdGllKFQxJiB0MSwgVDImIHQyLCBUMyYgdDMsIFQ0JiB0NCwgVDUgJnQ1LCBUNiAmdDYsIFQ3ICZ0NykKKyAgICB7CisgICAgICByZXR1cm4gbWFrZV90dXBsZShkZXRhaWw6OmFzc2lnbl90b19wb2ludGVlPFQxPigmdDEpLAorICAgICAgICAgICAgICAgICAgICAgICAgZGV0YWlsOjphc3NpZ25fdG9fcG9pbnRlZTxUMj4oJnQyKSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGRldGFpbDo6YXNzaWduX3RvX3BvaW50ZWU8VDM+KCZ0MyksCisgICAgICAgICAgICAgICAgICAgICAgICBkZXRhaWw6OmFzc2lnbl90b19wb2ludGVlPFQ0PigmdDQpLAorICAgICAgICAgICAgICAgICAgICAgICAgZGV0YWlsOjphc3NpZ25fdG9fcG9pbnRlZTxUNT4oJnQ1KSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGRldGFpbDo6YXNzaWduX3RvX3BvaW50ZWU8VDY+KCZ0NiksCisgICAgICAgICAgICAgICAgICAgICAgICBkZXRhaWw6OmFzc2lnbl90b19wb2ludGVlPFQ3PigmdDcpKTsKKyAgICB9CisKKyAgICAvLyBUaWUgdmFyaWFibGVzIGludG8gYSB0dXBsZQorICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0LCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOD4KKyAgICBpbmxpbmUKKyAgICB0dXBsZTxkZXRhaWw6OmFzc2lnbl90b19wb2ludGVlPFQxPiwKKyAgICAgIGRldGFpbDo6YXNzaWduX3RvX3BvaW50ZWU8VDI+LAorICAgICAgZGV0YWlsOjphc3NpZ25fdG9fcG9pbnRlZTxUMz4sCisgICAgICBkZXRhaWw6OmFzc2lnbl90b19wb2ludGVlPFQ0PiwKKyAgICAgIGRldGFpbDo6YXNzaWduX3RvX3BvaW50ZWU8VDU+LAorICAgICAgZGV0YWlsOjphc3NpZ25fdG9fcG9pbnRlZTxUNj4sCisgICAgICBkZXRhaWw6OmFzc2lnbl90b19wb2ludGVlPFQ3PiwKKyAgICAgIGRldGFpbDo6YXNzaWduX3RvX3BvaW50ZWU8VDg+ID4KKyAgICB0aWUoVDEmIHQxLCBUMiYgdDIsIFQzJiB0MywgVDQmIHQ0LCBUNSAmdDUsIFQ2ICZ0NiwgVDcgJnQ3LCBUOCAmdDgpCisgICAgeworICAgICAgcmV0dXJuIG1ha2VfdHVwbGUoZGV0YWlsOjphc3NpZ25fdG9fcG9pbnRlZTxUMT4oJnQxKSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGRldGFpbDo6YXNzaWduX3RvX3BvaW50ZWU8VDI+KCZ0MiksCisgICAgICAgICAgICAgICAgICAgICAgICBkZXRhaWw6OmFzc2lnbl90b19wb2ludGVlPFQzPigmdDMpLAorICAgICAgICAgICAgICAgICAgICAgICAgZGV0YWlsOjphc3NpZ25fdG9fcG9pbnRlZTxUND4oJnQ0KSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGRldGFpbDo6YXNzaWduX3RvX3BvaW50ZWU8VDU+KCZ0NSksCisgICAgICAgICAgICAgICAgICAgICAgICBkZXRhaWw6OmFzc2lnbl90b19wb2ludGVlPFQ2PigmdDYpLAorICAgICAgICAgICAgICAgICAgICAgICAgZGV0YWlsOjphc3NpZ25fdG9fcG9pbnRlZTxUNz4oJnQ3KSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGRldGFpbDo6YXNzaWduX3RvX3BvaW50ZWU8VDg+KCZ0OCkpOworICAgIH0KKworICAgIC8vIFRpZSB2YXJpYWJsZXMgaW50byBhIHR1cGxlCisgICAgdGVtcGxhdGU8dHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOT4KKyAgICBpbmxpbmUKKyAgICB0dXBsZTxkZXRhaWw6OmFzc2lnbl90b19wb2ludGVlPFQxPiwKKyAgICAgIGRldGFpbDo6YXNzaWduX3RvX3BvaW50ZWU8VDI+LAorICAgICAgZGV0YWlsOjphc3NpZ25fdG9fcG9pbnRlZTxUMz4sCisgICAgICBkZXRhaWw6OmFzc2lnbl90b19wb2ludGVlPFQ0PiwKKyAgICAgIGRldGFpbDo6YXNzaWduX3RvX3BvaW50ZWU8VDU+LAorICAgICAgZGV0YWlsOjphc3NpZ25fdG9fcG9pbnRlZTxUNj4sCisgICAgICBkZXRhaWw6OmFzc2lnbl90b19wb2ludGVlPFQ3PiwKKyAgICAgIGRldGFpbDo6YXNzaWduX3RvX3BvaW50ZWU8VDg+LAorICAgICAgZGV0YWlsOjphc3NpZ25fdG9fcG9pbnRlZTxUOT4gPgorICAgIHRpZShUMSYgdDEsIFQyJiB0MiwgVDMmIHQzLCBUNCYgdDQsIFQ1ICZ0NSwgVDYgJnQ2LCBUNyAmdDcsIFQ4ICZ0OCwgVDkgJnQ5KQorICAgIHsKKyAgICAgIHJldHVybiBtYWtlX3R1cGxlKGRldGFpbDo6YXNzaWduX3RvX3BvaW50ZWU8VDE+KCZ0MSksCisgICAgICAgICAgICAgICAgICAgICAgICBkZXRhaWw6OmFzc2lnbl90b19wb2ludGVlPFQyPigmdDIpLAorICAgICAgICAgICAgICAgICAgICAgICAgZGV0YWlsOjphc3NpZ25fdG9fcG9pbnRlZTxUMz4oJnQzKSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGRldGFpbDo6YXNzaWduX3RvX3BvaW50ZWU8VDQ+KCZ0NCksCisgICAgICAgICAgICAgICAgICAgICAgICBkZXRhaWw6OmFzc2lnbl90b19wb2ludGVlPFQ1PigmdDUpLAorICAgICAgICAgICAgICAgICAgICAgICAgZGV0YWlsOjphc3NpZ25fdG9fcG9pbnRlZTxUNj4oJnQ2KSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGRldGFpbDo6YXNzaWduX3RvX3BvaW50ZWU8VDc+KCZ0NyksCisgICAgICAgICAgICAgICAgICAgICAgICBkZXRhaWw6OmFzc2lnbl90b19wb2ludGVlPFQ4PigmdDgpLAorICAgICAgICAgICAgICAgICAgICAgICAgZGV0YWlsOjphc3NpZ25fdG9fcG9pbnRlZTxUOT4oJnQ5KSk7CisgICAgfQorICAgIC8vIFRpZSB2YXJpYWJsZXMgaW50byBhIHR1cGxlCisgICAgdGVtcGxhdGU8dHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQsIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOSwgdHlwZW5hbWUgVDEwPgorICAgIGlubGluZQorICAgIHR1cGxlPGRldGFpbDo6YXNzaWduX3RvX3BvaW50ZWU8VDE+LAorICAgICAgZGV0YWlsOjphc3NpZ25fdG9fcG9pbnRlZTxUMj4sCisgICAgICBkZXRhaWw6OmFzc2lnbl90b19wb2ludGVlPFQzPiwKKyAgICAgIGRldGFpbDo6YXNzaWduX3RvX3BvaW50ZWU8VDQ+LAorICAgICAgZGV0YWlsOjphc3NpZ25fdG9fcG9pbnRlZTxUNT4sCisgICAgICBkZXRhaWw6OmFzc2lnbl90b19wb2ludGVlPFQ2PiwKKyAgICAgIGRldGFpbDo6YXNzaWduX3RvX3BvaW50ZWU8VDc+LAorICAgICAgZGV0YWlsOjphc3NpZ25fdG9fcG9pbnRlZTxUOD4sCisgICAgICBkZXRhaWw6OmFzc2lnbl90b19wb2ludGVlPFQ5PiwKKyAgICAgIGRldGFpbDo6YXNzaWduX3RvX3BvaW50ZWU8VDEwPiA+CisgICAgdGllKFQxJiB0MSwgVDImIHQyLCBUMyYgdDMsIFQ0JiB0NCwgVDUgJnQ1LCBUNiAmdDYsIFQ3ICZ0NywgVDggJnQ4LCBUOSAmdDksIFQxMCAmdDEwKQorICAgIHsKKyAgICAgIHJldHVybiBtYWtlX3R1cGxlKGRldGFpbDo6YXNzaWduX3RvX3BvaW50ZWU8VDE+KCZ0MSksCisgICAgICAgICAgICAgICAgICAgICAgICBkZXRhaWw6OmFzc2lnbl90b19wb2ludGVlPFQyPigmdDIpLAorICAgICAgICAgICAgICAgICAgICAgICAgZGV0YWlsOjphc3NpZ25fdG9fcG9pbnRlZTxUMz4oJnQzKSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGRldGFpbDo6YXNzaWduX3RvX3BvaW50ZWU8VDQ+KCZ0NCksCisgICAgICAgICAgICAgICAgICAgICAgICBkZXRhaWw6OmFzc2lnbl90b19wb2ludGVlPFQ1PigmdDUpLAorICAgICAgICAgICAgICAgICAgICAgICAgZGV0YWlsOjphc3NpZ25fdG9fcG9pbnRlZTxUNj4oJnQ2KSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGRldGFpbDo6YXNzaWduX3RvX3BvaW50ZWU8VDc+KCZ0NyksCisgICAgICAgICAgICAgICAgICAgICAgICBkZXRhaWw6OmFzc2lnbl90b19wb2ludGVlPFQ4PigmdDgpLAorICAgICAgICAgICAgICAgICAgICAgICAgZGV0YWlsOjphc3NpZ25fdG9fcG9pbnRlZTxUOT4oJnQ5KSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGRldGFpbDo6YXNzaWduX3RvX3BvaW50ZWU8VDEwPigmdDEwKSk7CisgICAgfQorICAgIC8vICJpZ25vcmUiIGFsbG93cyB0dXBsZSBwb3NpdGlvbnMgdG8gYmUgaWdub3JlZCB3aGVuIHVzaW5nICJ0aWUiLgorCitkZXRhaWw6OnN3YWxsb3dfYXNzaWduIGNvbnN0IGlnbm9yZSA9IGRldGFpbDo6c3dhbGxvd19hc3NpZ24oKTsKKwordGVtcGxhdGUgPGNsYXNzIFQwLCBjbGFzcyBUMSwgY2xhc3MgVDIsIGNsYXNzIFQzLCBjbGFzcyBUNCwKKyAgICAgICAgICBjbGFzcyBUNSwgY2xhc3MgVDYsIGNsYXNzIFQ3LCBjbGFzcyBUOCwgY2xhc3MgVDk+Cit2b2lkIHN3YXAodHVwbGU8VDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDk+JiBsaHMsCisgICAgICAgICAgdHVwbGU8VDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDk+JiByaHMpOworaW5saW5lIHZvaWQgc3dhcChudWxsX3R5cGUmLCBudWxsX3R5cGUmKSB7fQordGVtcGxhdGU8Y2xhc3MgSEg+CitpbmxpbmUgdm9pZCBzd2FwKGNvbnM8SEgsIG51bGxfdHlwZT4mIGxocywgY29uczxISCwgbnVsbF90eXBlPiYgcmhzKSB7CisgIDo6bmRuYm9vc3Q6OnN3YXAobGhzLmhlYWQsIHJocy5oZWFkKTsKK30KK3RlbXBsYXRlPGNsYXNzIEhILCBjbGFzcyBUVD4KK2lubGluZSB2b2lkIHN3YXAoY29uczxISCwgVFQ+JiBsaHMsIGNvbnM8SEgsIFRUPiYgcmhzKSB7CisgIDo6bmRuYm9vc3Q6OnN3YXAobGhzLmhlYWQsIHJocy5oZWFkKTsKKyAgOjpuZG5ib29zdDo6dHVwbGVzOjpzd2FwKGxocy50YWlsLCByaHMudGFpbCk7Cit9Cit0ZW1wbGF0ZSA8Y2xhc3MgVDAsIGNsYXNzIFQxLCBjbGFzcyBUMiwgY2xhc3MgVDMsIGNsYXNzIFQ0LAorICAgICAgICAgIGNsYXNzIFQ1LCBjbGFzcyBUNiwgY2xhc3MgVDcsIGNsYXNzIFQ4LCBjbGFzcyBUOT4KK2lubGluZSB2b2lkIHN3YXAodHVwbGU8VDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDk+JiBsaHMsCisgICAgICAgICAgdHVwbGU8VDAsIFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDk+JiByaHMpIHsKKyAgdHlwZWRlZiB0dXBsZTxUMCwgVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcsIFQ4LCBUOT4gdHVwbGVfdHlwZTsKKyAgdHlwZWRlZiB0eXBlbmFtZSB0dXBsZV90eXBlOjppbmhlcml0ZWQgYmFzZTsKKyAgOjpuZG5ib29zdDo6dHVwbGVzOjpzd2FwKHN0YXRpY19jYXN0PGJhc2UmPihsaHMpLCBzdGF0aWNfY2FzdDxiYXNlJj4ocmhzKSk7Cit9CisKK30gLy8gbmFtZXNwYWNlIHR1cGxlcworfSAvLyBuYW1lc3BhY2UgbmRuYm9vc3QKKyNlbmRpZiAvLyBCT09TVF9UVVBMRV9CQVNJQ19OT19QQVJUSUFMX1NQRUNfSFBQCmRpZmYgLS1naXQgYS9uZG5ib29zdC90dXBsZS90dXBsZS5ocHAgYi9uZG5ib29zdC90dXBsZS90dXBsZS5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDY2ODliZAotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L3R1cGxlL3R1cGxlLmhwcApAQCAtMCwwICsxLDkwIEBACisvLyAgdHVwbGUuaHBwIC0gQm9vc3QgVHVwbGUgTGlicmFyeSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisvLyBDb3B5cmlnaHQgKEMpIDE5OTksIDIwMDAgSmFha2tvIEphcnZpIChqYWFra28uamFydmlAY3MudXR1LmZpKQorLy8KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gKFNlZQorLy8gYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQKKy8vIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKworLy8gRm9yIG1vcmUgaW5mb3JtYXRpb24sIHNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZworCisvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAKKworI2lmbmRlZiBCT09TVF9UVVBMRV9IUFAKKyNkZWZpbmUgQk9PU1RfVFVQTEVfSFBQCisKKyNpZiBkZWZpbmVkKF9fc2dpKSAmJiBkZWZpbmVkKF9DT01QSUxFUl9WRVJTSU9OKSAmJiBfQ09NUElMRVJfVkVSU0lPTiA8PSA3MzAKKy8vIFdvcmsgYXJvdW5kIGEgY29tcGlsZXIgYnVnLgorLy8gbmRuYm9vc3Q6OnB5dGhvbjo6dHVwbGUgaGFzIHRvIGJlIHNlZW4gYnkgdGhlIGNvbXBpbGVyIGJlZm9yZSB0aGUKKy8vIG5kbmJvb3N0Ojp0dXBsZSBjbGFzcyB0ZW1wbGF0ZS4KK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSBweXRob24geyBjbGFzcyB0dXBsZTsgfX0KKyNlbmRpZgorCisjaW5jbHVkZSAibmRuYm9vc3QvY29uZmlnLmhwcCIKKyNpbmNsdWRlICJuZG5ib29zdC9zdGF0aWNfYXNzZXJ0LmhwcCIKKworI2lmIGRlZmluZWQoQk9PU1RfTk9fVEVNUExBVEVfUEFSVElBTF9TUEVDSUFMSVpBVElPTikKKy8vIFRoZSBNU1ZDIHZlcnNpb24KKyNpbmNsdWRlICJuZG5ib29zdC90dXBsZS9kZXRhaWwvdHVwbGVfYmFzaWNfbm9fcGFydGlhbF9zcGVjLmhwcCIKKworI2Vsc2UKKy8vIG90aGVyIGNvbXBpbGVycworI2luY2x1ZGUgIm5kbmJvb3N0L3JlZi5ocHAiCisjaW5jbHVkZSAibmRuYm9vc3QvdHVwbGUvZGV0YWlsL3R1cGxlX2Jhc2ljLmhwcCIKKworI2VuZGlmIC8vIEJPT1NUX05PX1RFTVBMQVRFX1BBUlRJQUxfU1BFQ0lBTElaQVRJT04KKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgICAgCisKK3VzaW5nIHR1cGxlczo6dHVwbGU7Cit1c2luZyB0dXBsZXM6Om1ha2VfdHVwbGU7Cit1c2luZyB0dXBsZXM6OnRpZTsKKyNpZiAhZGVmaW5lZChCT09TVF9OT19VU0lOR19URU1QTEFURSkKK3VzaW5nIHR1cGxlczo6Z2V0OworI2VsaWYgIWRlZmluZWQoQk9PU1RfTk9fVEVNUExBVEVfUEFSVElBTF9TUEVDSUFMSVpBVElPTikKKy8vCisvLyBUaGUgInVzaW5nIHR1cGxlczo6Z2V0IiBzdGF0ZW1lbnQgY2F1c2VzIHRoZQorLy8gQm9ybGFuZCBjb21waWxlciB0byBJQ0UsIHVzZSBmb3J3YXJkaW5nCisvLyBmdW5jdGlvbnMgaW5zdGVhZDoKKy8vCit0ZW1wbGF0ZTxpbnQgTiwgY2xhc3MgSFQsIGNsYXNzIFRUPgoraW5saW5lIHR5cGVuYW1lIHR1cGxlczo6YWNjZXNzX3RyYWl0czwKKyAgICAgICAgICAgICAgICAgIHR5cGVuYW1lIHR1cGxlczo6ZWxlbWVudDxOLCB0dXBsZXM6OmNvbnM8SFQsIFRUPiA+Ojp0eXBlCisgICAgICAgICAgICAgICAgPjo6bm9uX2NvbnN0X3R5cGUKK2dldCh0dXBsZXM6OmNvbnM8SFQsIFRUPiYgYykgeworICByZXR1cm4gdHVwbGVzOjpnZXQ8TixIVCxUVD4oYyk7Cit9IAorLy8gZ2V0IGZ1bmN0aW9uIGZvciBjb25zdCBjb25zLWxpc3RzLCByZXR1cm5zIGEgY29uc3QgcmVmZXJlbmNlIHRvCisvLyB0aGUgZWxlbWVudC4gSWYgdGhlIGVsZW1lbnQgaXMgYSByZWZlcmVuY2UsIHJldHVybnMgdGhlIHJlZmVyZW5jZQorLy8gYXMgc3VjaCAodGhhdCBpcywgY2FuIHJldHVybiBhIG5vbi1jb25zdCByZWZlcmVuY2UpCit0ZW1wbGF0ZTxpbnQgTiwgY2xhc3MgSFQsIGNsYXNzIFRUPgoraW5saW5lIHR5cGVuYW1lIHR1cGxlczo6YWNjZXNzX3RyYWl0czwKKyAgICAgICAgICAgICAgICAgIHR5cGVuYW1lIHR1cGxlczo6ZWxlbWVudDxOLCB0dXBsZXM6OmNvbnM8SFQsIFRUPiA+Ojp0eXBlCisgICAgICAgICAgICAgICAgPjo6Y29uc3RfdHlwZQorZ2V0KGNvbnN0IHR1cGxlczo6Y29uczxIVCwgVFQ+JiBjKSB7CisgIHJldHVybiB0dXBsZXM6OmdldDxOLEhULFRUPihjKTsKK30KKyNlbHNlICAvLyBCT09TVF9OT19URU1QTEFURV9QQVJUSUFMX1NQRUNJQUxJWkFUSU9OCisvLworLy8gTVNWQywgdXNpbmcgZGVjbGFyYXRpb25zIGRvbid0IG1peCB3aXRoIHRlbXBsYXRlcyB3ZWxsLAorLy8gc28gdXNlIGZvcndhcmRpbmcgZnVuY3Rpb25zIGluc3RlYWQ6CisvLwordGVtcGxhdGU8aW50IE4sIHR5cGVuYW1lIEhlYWQsIHR5cGVuYW1lIFRhaWw+Cit0eXBlbmFtZSB0dXBsZXM6OmRldGFpbDo6ZWxlbWVudF9yZWY8TiwgdHVwbGVzOjpjb25zPEhlYWQsIFRhaWw+ID46OlJFVAorZ2V0KHR1cGxlczo6Y29uczxIZWFkLCBUYWlsPiYgdCwgdHVwbGVzOjpkZXRhaWw6Ondvcmthcm91bmRfaG9sZGVyPE4+KiA9IDApCit7CisgICByZXR1cm4gdHVwbGVzOjpkZXRhaWw6OmdldF9jbGFzczxOPjo6Z2V0KHQpOworfQorCit0ZW1wbGF0ZTxpbnQgTiwgdHlwZW5hbWUgSGVhZCwgdHlwZW5hbWUgVGFpbD4KK3R5cGVuYW1lIHR1cGxlczo6ZGV0YWlsOjplbGVtZW50X2NvbnN0X3JlZjxOLCB0dXBsZXM6OmNvbnM8SGVhZCwgVGFpbD4gPjo6UkVUCitnZXQoY29uc3QgdHVwbGVzOjpjb25zPEhlYWQsIFRhaWw+JiB0LCB0dXBsZXM6OmRldGFpbDo6d29ya2Fyb3VuZF9ob2xkZXI8Tj4qID0gMCkKK3sKKyAgIHJldHVybiB0dXBsZXM6OmRldGFpbDo6Z2V0X2NsYXNzPE4+OjpnZXQodCk7Cit9CisjZW5kaWYgLy8gQk9PU1RfTk9fVVNJTkdfVEVNUExBVEUKKyAgIAorfSAvLyBlbmQgbmFtZXNwYWNlIG5kbmJvb3N0CisKKworI2VuZGlmIC8vIEJPT1NUX1RVUExFX0hQUApkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvdHlwZV90cmFpdHMuaHBwIGIvbmRuYm9vc3QvdHlwZV90cmFpdHMuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU5NWQzMGIKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC90eXBlX3RyYWl0cy5ocHAKQEAgLTAsMCArMSwxMDAgQEAKKy8vICAoQykgQ29weXJpZ2h0IEpvaG4gTWFkZG9jayAyMDAwLgorLy8gIFVzZSwgbW9kaWZpY2F0aW9uIGFuZCBkaXN0cmlidXRpb24gYXJlIHN1YmplY3QgdG8gdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsCisvLyAgVmVyc2lvbiAxLjAuIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQKKy8vICBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpLgorLy8KKy8vICBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvbGlicy90eXBlX3RyYWl0cyBmb3IgbW9zdCByZWNlbnQgdmVyc2lvbiBpbmNsdWRpbmcgZG9jdW1lbnRhdGlvbi4KKworLy8gIFNlZSBib29zdC90eXBlX3RyYWl0cy8qLmhwcCBmb3IgZnVsbCBjb3B5cmlnaHQgbm90aWNlcy4KKworI2lmbmRlZiBCT09TVF9UWVBFX1RSQUlUU19IUFAKKyNkZWZpbmUgQk9PU1RfVFlQRV9UUkFJVFNfSFBQCisKKyNpbmNsdWRlICJuZG5ib29zdC90eXBlX3RyYWl0cy9hZGRfY29uc3QuaHBwIgorI2luY2x1ZGUgIm5kbmJvb3N0L3R5cGVfdHJhaXRzL2FkZF9jdi5ocHAiCisjaW5jbHVkZSAibmRuYm9vc3QvdHlwZV90cmFpdHMvYWRkX2x2YWx1ZV9yZWZlcmVuY2UuaHBwIgorI2luY2x1ZGUgIm5kbmJvb3N0L3R5cGVfdHJhaXRzL2FkZF9wb2ludGVyLmhwcCIKKyNpbmNsdWRlICJuZG5ib29zdC90eXBlX3RyYWl0cy9hZGRfcmVmZXJlbmNlLmhwcCIKKyNpbmNsdWRlICJuZG5ib29zdC90eXBlX3RyYWl0cy9hZGRfcnZhbHVlX3JlZmVyZW5jZS5ocHAiCisjaW5jbHVkZSAibmRuYm9vc3QvdHlwZV90cmFpdHMvYWRkX3ZvbGF0aWxlLmhwcCIKKyNpbmNsdWRlICJuZG5ib29zdC90eXBlX3RyYWl0cy9hbGlnbmVkX3N0b3JhZ2UuaHBwIgorI2luY2x1ZGUgIm5kbmJvb3N0L3R5cGVfdHJhaXRzL2FsaWdubWVudF9vZi5ocHAiCisjaW5jbHVkZSAibmRuYm9vc3QvdHlwZV90cmFpdHMvY29tbW9uX3R5cGUuaHBwIgorI2luY2x1ZGUgIm5kbmJvb3N0L3R5cGVfdHJhaXRzL2NvbmRpdGlvbmFsLmhwcCIKKyNpbmNsdWRlICJuZG5ib29zdC90eXBlX3RyYWl0cy9kZWNheS5ocHAiCisjaW5jbHVkZSAibmRuYm9vc3QvdHlwZV90cmFpdHMvZXh0ZW50LmhwcCIKKyNpbmNsdWRlICJuZG5ib29zdC90eXBlX3RyYWl0cy9mbG9hdGluZ19wb2ludF9wcm9tb3Rpb24uaHBwIgorI2luY2x1ZGUgIm5kbmJvb3N0L3R5cGVfdHJhaXRzL2Z1bmN0aW9uX3RyYWl0cy5ocHAiCisjaWYgIWRlZmluZWQoX19CT1JMQU5EQ19fKSAmJiAhZGVmaW5lZChfX0NVREFDQ19fKQorI2luY2x1ZGUgIm5kbmJvb3N0L3R5cGVfdHJhaXRzL2hhc19uZXdfb3BlcmF0b3IuaHBwIgorI2VuZGlmCisjaW5jbHVkZSAibmRuYm9vc3QvdHlwZV90cmFpdHMvaGFzX25vdGhyb3dfYXNzaWduLmhwcCIKKyNpbmNsdWRlICJuZG5ib29zdC90eXBlX3RyYWl0cy9oYXNfbm90aHJvd19jb25zdHJ1Y3Rvci5ocHAiCisjaW5jbHVkZSAibmRuYm9vc3QvdHlwZV90cmFpdHMvaGFzX25vdGhyb3dfY29weS5ocHAiCisjaW5jbHVkZSAibmRuYm9vc3QvdHlwZV90cmFpdHMvaGFzX25vdGhyb3dfZGVzdHJ1Y3Rvci5ocHAiCisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvaGFzX29wZXJhdG9yLmhwcD4KKyNpbmNsdWRlICJuZG5ib29zdC90eXBlX3RyYWl0cy9oYXNfdHJpdmlhbF9hc3NpZ24uaHBwIgorI2luY2x1ZGUgIm5kbmJvb3N0L3R5cGVfdHJhaXRzL2hhc190cml2aWFsX2NvbnN0cnVjdG9yLmhwcCIKKyNpbmNsdWRlICJuZG5ib29zdC90eXBlX3RyYWl0cy9oYXNfdHJpdmlhbF9jb3B5LmhwcCIKKyNpbmNsdWRlICJuZG5ib29zdC90eXBlX3RyYWl0cy9oYXNfdHJpdmlhbF9kZXN0cnVjdG9yLmhwcCIKKyNpbmNsdWRlICJuZG5ib29zdC90eXBlX3RyYWl0cy9oYXNfdHJpdmlhbF9tb3ZlX2Fzc2lnbi5ocHAiCisjaW5jbHVkZSAibmRuYm9vc3QvdHlwZV90cmFpdHMvaGFzX3RyaXZpYWxfbW92ZV9jb25zdHJ1Y3Rvci5ocHAiCisjaW5jbHVkZSAibmRuYm9vc3QvdHlwZV90cmFpdHMvaGFzX3ZpcnR1YWxfZGVzdHJ1Y3Rvci5ocHAiCisjaW5jbHVkZSAibmRuYm9vc3QvdHlwZV90cmFpdHMvaXNfYWJzdHJhY3QuaHBwIgorI2luY2x1ZGUgIm5kbmJvb3N0L3R5cGVfdHJhaXRzL2lzX2FyaXRobWV0aWMuaHBwIgorI2luY2x1ZGUgIm5kbmJvb3N0L3R5cGVfdHJhaXRzL2lzX2FycmF5LmhwcCIKKyNpbmNsdWRlICJuZG5ib29zdC90eXBlX3RyYWl0cy9pc19iYXNlX2FuZF9kZXJpdmVkLmhwcCIKKyNpbmNsdWRlICJuZG5ib29zdC90eXBlX3RyYWl0cy9pc19iYXNlX29mLmhwcCIKKyNpbmNsdWRlICJuZG5ib29zdC90eXBlX3RyYWl0cy9pc19jbGFzcy5ocHAiCisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvaXNfY29tcGxleC5ocHA+CisjaW5jbHVkZSAibmRuYm9vc3QvdHlwZV90cmFpdHMvaXNfY29tcG91bmQuaHBwIgorI2luY2x1ZGUgIm5kbmJvb3N0L3R5cGVfdHJhaXRzL2lzX2NvbnN0LmhwcCIKKyNpbmNsdWRlICJuZG5ib29zdC90eXBlX3RyYWl0cy9pc19jb252ZXJ0aWJsZS5ocHAiCisjaW5jbHVkZSAibmRuYm9vc3QvdHlwZV90cmFpdHMvaXNfZW1wdHkuaHBwIgorI2luY2x1ZGUgIm5kbmJvb3N0L3R5cGVfdHJhaXRzL2lzX2VudW0uaHBwIgorI2luY2x1ZGUgIm5kbmJvb3N0L3R5cGVfdHJhaXRzL2lzX2Zsb2F0LmhwcCIKKyNpbmNsdWRlICJuZG5ib29zdC90eXBlX3RyYWl0cy9pc19mbG9hdGluZ19wb2ludC5ocHAiCisjaW5jbHVkZSAibmRuYm9vc3QvdHlwZV90cmFpdHMvaXNfZnVuY3Rpb24uaHBwIgorI2luY2x1ZGUgIm5kbmJvb3N0L3R5cGVfdHJhaXRzL2lzX2Z1bmRhbWVudGFsLmhwcCIKKyNpbmNsdWRlICJuZG5ib29zdC90eXBlX3RyYWl0cy9pc19pbnRlZ3JhbC5ocHAiCisjaW5jbHVkZSAibmRuYm9vc3QvdHlwZV90cmFpdHMvaXNfbHZhbHVlX3JlZmVyZW5jZS5ocHAiCisjaW5jbHVkZSAibmRuYm9vc3QvdHlwZV90cmFpdHMvaXNfbWVtYmVyX2Z1bmN0aW9uX3BvaW50ZXIuaHBwIgorI2luY2x1ZGUgIm5kbmJvb3N0L3R5cGVfdHJhaXRzL2lzX21lbWJlcl9vYmplY3RfcG9pbnRlci5ocHAiCisjaW5jbHVkZSAibmRuYm9vc3QvdHlwZV90cmFpdHMvaXNfbWVtYmVyX3BvaW50ZXIuaHBwIgorI2luY2x1ZGUgIm5kbmJvb3N0L3R5cGVfdHJhaXRzL2lzX25vdGhyb3dfbW92ZV9hc3NpZ25hYmxlLmhwcCIKKyNpbmNsdWRlICJuZG5ib29zdC90eXBlX3RyYWl0cy9pc19ub3Rocm93X21vdmVfY29uc3RydWN0aWJsZS5ocHAiCisjaW5jbHVkZSAibmRuYm9vc3QvdHlwZV90cmFpdHMvaXNfb2JqZWN0LmhwcCIKKyNpbmNsdWRlICJuZG5ib29zdC90eXBlX3RyYWl0cy9pc19wb2QuaHBwIgorI2luY2x1ZGUgIm5kbmJvb3N0L3R5cGVfdHJhaXRzL2lzX3BvbHltb3JwaGljLmhwcCIKKyNpbmNsdWRlICJuZG5ib29zdC90eXBlX3RyYWl0cy9pc19wb2ludGVyLmhwcCIKKyNpbmNsdWRlICJuZG5ib29zdC90eXBlX3RyYWl0cy9pc19yZWZlcmVuY2UuaHBwIgorI2luY2x1ZGUgIm5kbmJvb3N0L3R5cGVfdHJhaXRzL2lzX3J2YWx1ZV9yZWZlcmVuY2UuaHBwIgorI2luY2x1ZGUgIm5kbmJvb3N0L3R5cGVfdHJhaXRzL2lzX3NpZ25lZC5ocHAiCisjaW5jbHVkZSAibmRuYm9vc3QvdHlwZV90cmFpdHMvaXNfc2FtZS5ocHAiCisjaW5jbHVkZSAibmRuYm9vc3QvdHlwZV90cmFpdHMvaXNfc2NhbGFyLmhwcCIKKyNpbmNsdWRlICJuZG5ib29zdC90eXBlX3RyYWl0cy9pc19zdGF0ZWxlc3MuaHBwIgorI2luY2x1ZGUgIm5kbmJvb3N0L3R5cGVfdHJhaXRzL2lzX3VuaW9uLmhwcCIKKyNpbmNsdWRlICJuZG5ib29zdC90eXBlX3RyYWl0cy9pc191bnNpZ25lZC5ocHAiCisjaW5jbHVkZSAibmRuYm9vc3QvdHlwZV90cmFpdHMvaXNfdm9pZC5ocHAiCisjaW5jbHVkZSAibmRuYm9vc3QvdHlwZV90cmFpdHMvaXNfdmlydHVhbF9iYXNlX29mLmhwcCIKKyNpbmNsdWRlICJuZG5ib29zdC90eXBlX3RyYWl0cy9pc192b2xhdGlsZS5ocHAiCisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvbWFrZV91bnNpZ25lZC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvbWFrZV9zaWduZWQuaHBwPgorI2luY2x1ZGUgIm5kbmJvb3N0L3R5cGVfdHJhaXRzL3JhbmsuaHBwIgorI2luY2x1ZGUgIm5kbmJvb3N0L3R5cGVfdHJhaXRzL3JlbW92ZV9ib3VuZHMuaHBwIgorI2luY2x1ZGUgIm5kbmJvb3N0L3R5cGVfdHJhaXRzL3JlbW92ZV9leHRlbnQuaHBwIgorI2luY2x1ZGUgIm5kbmJvb3N0L3R5cGVfdHJhaXRzL3JlbW92ZV9hbGxfZXh0ZW50cy5ocHAiCisjaW5jbHVkZSAibmRuYm9vc3QvdHlwZV90cmFpdHMvcmVtb3ZlX2NvbnN0LmhwcCIKKyNpbmNsdWRlICJuZG5ib29zdC90eXBlX3RyYWl0cy9yZW1vdmVfY3YuaHBwIgorI2luY2x1ZGUgIm5kbmJvb3N0L3R5cGVfdHJhaXRzL3JlbW92ZV9wb2ludGVyLmhwcCIKKyNpbmNsdWRlICJuZG5ib29zdC90eXBlX3RyYWl0cy9yZW1vdmVfcmVmZXJlbmNlLmhwcCIKKyNpbmNsdWRlICJuZG5ib29zdC90eXBlX3RyYWl0cy9yZW1vdmVfdm9sYXRpbGUuaHBwIgorI2luY2x1ZGUgIm5kbmJvb3N0L3R5cGVfdHJhaXRzL3R5cGVfd2l0aF9hbGlnbm1lbnQuaHBwIgorI2lmICEoZGVmaW5lZChfX3NnaSkgJiYgZGVmaW5lZChfX0VER19WRVJTSU9OX18pICYmIChfX0VER19WRVJTSU9OX18gPT0gMjM4KSkKKyNpbmNsdWRlICJuZG5ib29zdC90eXBlX3RyYWl0cy9pbnRlZ3JhbF9wcm9tb3Rpb24uaHBwIgorI2luY2x1ZGUgIm5kbmJvb3N0L3R5cGVfdHJhaXRzL3Byb21vdGUuaHBwIgorI2VuZGlmCisKKyNpbmNsdWRlICJuZG5ib29zdC90eXBlX3RyYWl0cy9pY2UuaHBwIgorCisjZW5kaWYgLy8gQk9PU1RfVFlQRV9UUkFJVFNfSFBQCmRpZmYgLS1naXQgYS9uZG5ib29zdC90eXBlX3RyYWl0cy9hZGRfY29uc3QuaHBwIGIvbmRuYm9vc3QvdHlwZV90cmFpdHMvYWRkX2NvbnN0LmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MWZlNjM2Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvdHlwZV90cmFpdHMvYWRkX2NvbnN0LmhwcApAQCAtMCwwICsxLDQ3IEBACisKKy8vICAoQykgQ29weXJpZ2h0IERhdmUgQWJyYWhhbXMsIFN0ZXZlIENsZWFyeSwgQmVtYW4gRGF3ZXMsIEhvd2FyZAorLy8gIEhpbm5hbnQgJiBKb2huIE1hZGRvY2sgMjAwMC4KKy8vICBVc2UsIG1vZGlmaWNhdGlvbiBhbmQgZGlzdHJpYnV0aW9uIGFyZSBzdWJqZWN0IHRvIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLAorLy8gIFZlcnNpb24gMS4wLiAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0CisvLyAgaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KS4KKy8vCisvLyAgU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL2xpYnMvdHlwZV90cmFpdHMgZm9yIG1vc3QgcmVjZW50IHZlcnNpb24gaW5jbHVkaW5nIGRvY3VtZW50YXRpb24uCisKKyNpZm5kZWYgQk9PU1RfVFRfQUREX0NPTlNUX0hQUF9JTkNMVURFRAorI2RlZmluZSBCT09TVF9UVF9BRERfQ09OU1RfSFBQX0lOQ0xVREVECisKKyNpbmNsdWRlIDxuZG5ib29zdC9jb25maWcuaHBwPgorCisvLyBzaG91bGQgYmUgdGhlIGxhc3QgI2luY2x1ZGUKKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9kZXRhaWwvdHlwZV90cmFpdF9kZWYuaHBwPgorCituYW1lc3BhY2UgbmRuYm9vc3QgeworCisvLyAqIGNvbnZlcnQgYSB0eXBlIFQgdG8gY29uc3QgdHlwZSAtIGFkZF9jb25zdDxUPgorLy8gdGhpcyBpcyBub3QgcmVxdWlyZWQgc2luY2UgdGhlIHJlc3VsdCBpcyBhbHdheXMKKy8vIHRoZSBzYW1lIGFzICJUIGNvbnN0IiwgYnV0IGl0IGRvZXMgc3VwcHJlc3Mgd2FybmluZ3MKKy8vIGZyb20gc29tZSBjb21waWxlcnM6CisKKyNpZiBkZWZpbmVkKEJPT1NUX01TVkMpCisvLyBUaGlzIGJvZ3VzIHdhcm5pbmcgd2lsbCBhcHBlYXIgd2hlbiBhZGRfY29uc3QgaXMgYXBwbGllZCB0byBhCisvLyBjb25zdCB2b2xhdGlsZSByZWZlcmVuY2UgYmVjYXVzZSB3ZSBjYW4ndCBkZXRlY3QgY29uc3Qgdm9sYXRpbGUKKy8vIHJlZmVyZW5jZXMgd2l0aCBNU1ZDNi4KKyMgICBwcmFnbWEgd2FybmluZyhwdXNoKQorIyAgIHByYWdtYSB3YXJuaW5nKGRpc2FibGU6NDE4MSkgLy8gd2FybmluZyBDNDE4MTogcXVhbGlmaWVyIGFwcGxpZWQgdG8gcmVmZXJlbmNlIHR5cGUgaWdub3JlZAorI2VuZGlmIAorCitCT09TVF9UVF9BVVhfVFlQRV9UUkFJVF9ERUYxKGFkZF9jb25zdCxULFQgY29uc3QpCisKKyNpZiBkZWZpbmVkKEJPT1NUX01TVkMpCisjICAgcHJhZ21hIHdhcm5pbmcocG9wKQorI2VuZGlmIAorCisjaWZuZGVmIEJPT1NUX05PX1RFTVBMQVRFX1BBUlRJQUxfU1BFQ0lBTElaQVRJT04KK0JPT1NUX1RUX0FVWF9UWVBFX1RSQUlUX1BBUlRJQUxfU1BFQzFfMSh0eXBlbmFtZSBULGFkZF9jb25zdCxUJixUJikKKyNlbmRpZgorCit9IC8vIG5hbWVzcGFjZSBuZG5ib29zdAorCisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvZGV0YWlsL3R5cGVfdHJhaXRfdW5kZWYuaHBwPgorCisjZW5kaWYgLy8gQk9PU1RfVFRfQUREX0NPTlNUX0hQUF9JTkNMVURFRApkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvdHlwZV90cmFpdHMvYWRkX2N2LmhwcCBiL25kbmJvb3N0L3R5cGVfdHJhaXRzL2FkZF9jdi5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGRmM2FjMQotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L3R5cGVfdHJhaXRzL2FkZF9jdi5ocHAKQEAgLTAsMCArMSw0OCBAQAorCisvLyAgKEMpIENvcHlyaWdodCBEYXZlIEFicmFoYW1zLCBTdGV2ZSBDbGVhcnksIEJlbWFuIERhd2VzLCBIb3dhcmQKKy8vICBIaW5uYW50ICYgSm9obiBNYWRkb2NrIDIwMDAuICAKKy8vICBVc2UsIG1vZGlmaWNhdGlvbiBhbmQgZGlzdHJpYnV0aW9uIGFyZSBzdWJqZWN0IHRvIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLAorLy8gIFZlcnNpb24gMS4wLiAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0CisvLyAgaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KS4KKy8vCisvLyAgU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL2xpYnMvdHlwZV90cmFpdHMgZm9yIG1vc3QgcmVjZW50IHZlcnNpb24gaW5jbHVkaW5nIGRvY3VtZW50YXRpb24uCisKKworI2lmbmRlZiBCT09TVF9UVF9BRERfQ1ZfSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX1RUX0FERF9DVl9IUFBfSU5DTFVERUQKKworI2luY2x1ZGUgPG5kbmJvb3N0L2NvbmZpZy5ocHA+CisKKy8vIHNob3VsZCBiZSB0aGUgbGFzdCAjaW5jbHVkZQorI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2RldGFpbC90eXBlX3RyYWl0X2RlZi5ocHA+CisKK25hbWVzcGFjZSBuZG5ib29zdCB7CisKKy8vICogY29udmVydCBhIHR5cGUgVCB0byBhIGNvbnN0IHZvbGF0aWxlIHR5cGUgLSBhZGRfY3Y8VD4KKy8vIHRoaXMgaXMgbm90IHJlcXVpcmVkIHNpbmNlIHRoZSByZXN1bHQgaXMgYWx3YXlzCisvLyB0aGUgc2FtZSBhcyAiVCBjb25zdCB2b2xhdGlsZSIsIGJ1dCBpdCBkb2VzIHN1cHByZXNzIHdhcm5pbmdzCisvLyBmcm9tIHNvbWUgY29tcGlsZXJzOgorCisjaWYgZGVmaW5lZChCT09TVF9NU1ZDKQorLy8gVGhpcyBib2d1cyB3YXJuaW5nIHdpbGwgYXBwZWFyIHdoZW4gYWRkX3ZvbGF0aWxlIGlzIGFwcGxpZWQgdG8gYQorLy8gY29uc3Qgdm9sYXRpbGUgcmVmZXJlbmNlIGJlY2F1c2Ugd2UgY2FuJ3QgZGV0ZWN0IGNvbnN0IHZvbGF0aWxlCisvLyByZWZlcmVuY2VzIHdpdGggTVNWQzYuCisjICAgcHJhZ21hIHdhcm5pbmcocHVzaCkKKyMgICBwcmFnbWEgd2FybmluZyhkaXNhYmxlOjQxODEpIC8vIHdhcm5pbmcgQzQxODE6IHF1YWxpZmllciBhcHBsaWVkIHRvIHJlZmVyZW5jZSB0eXBlIGlnbm9yZWQKKyNlbmRpZiAKKworQk9PU1RfVFRfQVVYX1RZUEVfVFJBSVRfREVGMShhZGRfY3YsVCxUIGNvbnN0IHZvbGF0aWxlKQorCisjaWYgZGVmaW5lZChCT09TVF9NU1ZDKQorIyAgIHByYWdtYSB3YXJuaW5nKHBvcCkKKyNlbmRpZiAKKworI2lmbmRlZiBCT09TVF9OT19URU1QTEFURV9QQVJUSUFMX1NQRUNJQUxJWkFUSU9OCitCT09TVF9UVF9BVVhfVFlQRV9UUkFJVF9QQVJUSUFMX1NQRUMxXzEodHlwZW5hbWUgVCxhZGRfY3YsVCYsVCYpCisjZW5kaWYKKworfSAvLyBuYW1lc3BhY2UgbmRuYm9vc3QKKworI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2RldGFpbC90eXBlX3RyYWl0X3VuZGVmLmhwcD4KKworI2VuZGlmIC8vIEJPT1NUX1RUX0FERF9DVl9IUFBfSU5DTFVERUQKZGlmZiAtLWdpdCBhL25kbmJvb3N0L3R5cGVfdHJhaXRzL2FkZF9wb2ludGVyLmhwcCBiL25kbmJvb3N0L3R5cGVfdHJhaXRzL2FkZF9wb2ludGVyLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMzQ3MTM5Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvdHlwZV90cmFpdHMvYWRkX3BvaW50ZXIuaHBwCkBAIC0wLDAgKzEsNzIgQEAKKworLy8gKEMpIENvcHlyaWdodCBTdGV2ZSBDbGVhcnksIEJlbWFuIERhd2VzLCBIb3dhcmQgSGlubmFudCAmIEpvaG4gTWFkZG9jayAyMDAwLgorLy8gIFVzZSwgbW9kaWZpY2F0aW9uIGFuZCBkaXN0cmlidXRpb24gYXJlIHN1YmplY3QgdG8gdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsCisvLyAgVmVyc2lvbiAxLjAuIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQKKy8vICBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpLgorLy8KKy8vICBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvbGlicy90eXBlX3RyYWl0cyBmb3IgbW9zdCByZWNlbnQgdmVyc2lvbiBpbmNsdWRpbmcgZG9jdW1lbnRhdGlvbi4KKworI2lmbmRlZiBCT09TVF9UVF9BRERfUE9JTlRFUl9IUFBfSU5DTFVERUQKKyNkZWZpbmUgQk9PU1RfVFRfQUREX1BPSU5URVJfSFBQX0lOQ0xVREVECisKKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9yZW1vdmVfcmVmZXJlbmNlLmhwcD4KKworLy8gc2hvdWxkIGJlIHRoZSBsYXN0ICNpbmNsdWRlCisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvZGV0YWlsL3R5cGVfdHJhaXRfZGVmLmhwcD4KKworbmFtZXNwYWNlIG5kbmJvb3N0IHsKKworbmFtZXNwYWNlIGRldGFpbCB7CisKKyNpZiBkZWZpbmVkKF9fQk9STEFORENfXykgJiYgKF9fQk9STEFORENfXyA8IDB4NUEwKQorLy8KKy8vIEZvciBzb21lIHJlYXNvbiB0aGlzIGltcGxlbWVudGF0aW9uIHN0b3BzIEJvcmxhbmRzIGNvbXBpbGVyCisvLyBmcm9tIGRyb3BwaW5nIGN2LXF1YWxpZmllcnMsIGl0IHN0aWxsIGZhaWxzIHdpdGggcmVmZXJlbmNlcworLy8gdG8gYXJyYXlzIGZvciBzb21lIHJlYXNvbiB0aG91Z2ggKHNocnVnLi4uKSAoSk0gMjAwMjExMDQpCisvLwordGVtcGxhdGUgPHR5cGVuYW1lIFQ+CitzdHJ1Y3QgYWRkX3BvaW50ZXJfaW1wbAoreworICAgIHR5cGVkZWYgVCogdHlwZTsKK307Cit0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KK3N0cnVjdCBhZGRfcG9pbnRlcl9pbXBsPFQmPgoreworICAgIHR5cGVkZWYgVCogdHlwZTsKK307Cit0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KK3N0cnVjdCBhZGRfcG9pbnRlcl9pbXBsPFQmY29uc3Q+Cit7CisgICAgdHlwZWRlZiBUKiB0eXBlOworfTsKK3RlbXBsYXRlIDx0eXBlbmFtZSBUPgorc3RydWN0IGFkZF9wb2ludGVyX2ltcGw8VCZ2b2xhdGlsZT4KK3sKKyAgICB0eXBlZGVmIFQqIHR5cGU7Cit9OwordGVtcGxhdGUgPHR5cGVuYW1lIFQ+CitzdHJ1Y3QgYWRkX3BvaW50ZXJfaW1wbDxUJmNvbnN0IHZvbGF0aWxlPgoreworICAgIHR5cGVkZWYgVCogdHlwZTsKK307CisKKyNlbHNlCisKK3RlbXBsYXRlIDx0eXBlbmFtZSBUPgorc3RydWN0IGFkZF9wb2ludGVyX2ltcGwKK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHJlbW92ZV9yZWZlcmVuY2U8VD46OnR5cGUgbm9fcmVmX3R5cGU7CisgICAgdHlwZWRlZiBub19yZWZfdHlwZSogdHlwZTsKK307CisKKyNlbmRpZgorCit9IC8vIG5hbWVzcGFjZSBkZXRhaWwKKworQk9PU1RfVFRfQVVYX1RZUEVfVFJBSVRfREVGMShhZGRfcG9pbnRlcixULHR5cGVuYW1lIG5kbmJvb3N0OjpkZXRhaWw6OmFkZF9wb2ludGVyX2ltcGw8VD46OnR5cGUpCisKK30gLy8gbmFtZXNwYWNlIG5kbmJvb3N0CisKKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9kZXRhaWwvdHlwZV90cmFpdF91bmRlZi5ocHA+CisKKyNlbmRpZiAvLyBCT09TVF9UVF9BRERfUE9JTlRFUl9IUFBfSU5DTFVERUQKZGlmZiAtLWdpdCBhL25kbmJvb3N0L3R5cGVfdHJhaXRzL2FkZF92b2xhdGlsZS5ocHAgYi9uZG5ib29zdC90eXBlX3RyYWl0cy9hZGRfdm9sYXRpbGUuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUxZGRjZTkKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC90eXBlX3RyYWl0cy9hZGRfdm9sYXRpbGUuaHBwCkBAIC0wLDAgKzEsNDcgQEAKKworLy8gIChDKSBDb3B5cmlnaHQgRGF2ZSBBYnJhaGFtcywgU3RldmUgQ2xlYXJ5LCBCZW1hbiBEYXdlcywgSG93YXJkCisvLyAgSGlubmFudCAmIEpvaG4gTWFkZG9jayAyMDAwLgorLy8gIFVzZSwgbW9kaWZpY2F0aW9uIGFuZCBkaXN0cmlidXRpb24gYXJlIHN1YmplY3QgdG8gdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsCisvLyAgVmVyc2lvbiAxLjAuIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQKKy8vICBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpLgorLy8KKy8vICBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvbGlicy90eXBlX3RyYWl0cyBmb3IgbW9zdCByZWNlbnQgdmVyc2lvbiBpbmNsdWRpbmcgZG9jdW1lbnRhdGlvbi4KKworI2lmbmRlZiBCT09TVF9UVF9BRERfVk9MQVRJTEVfSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX1RUX0FERF9WT0xBVElMRV9IUFBfSU5DTFVERUQKKworI2luY2x1ZGUgPG5kbmJvb3N0L2NvbmZpZy5ocHA+CisKKy8vIHNob3VsZCBiZSB0aGUgbGFzdCAjaW5jbHVkZQorI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2RldGFpbC90eXBlX3RyYWl0X2RlZi5ocHA+CisKK25hbWVzcGFjZSBuZG5ib29zdCB7CisKKy8vICogY29udmVydCBhIHR5cGUgVCB0byB2b2xhdGlsZSB0eXBlIC0gYWRkX3ZvbGF0aWxlPFQ+CisvLyB0aGlzIGlzIG5vdCByZXF1aXJlZCBzaW5jZSB0aGUgcmVzdWx0IGlzIGFsd2F5cworLy8gdGhlIHNhbWUgYXMgIlQgdm9sYXRpbGUiLCBidXQgaXQgZG9lcyBzdXBwcmVzcyB3YXJuaW5ncworLy8gZnJvbSBzb21lIGNvbXBpbGVyczoKKworI2lmIGRlZmluZWQoQk9PU1RfTVNWQykKKy8vIFRoaXMgYm9ndXMgd2FybmluZyB3aWxsIGFwcGVhciB3aGVuIGFkZF92b2xhdGlsZSBpcyBhcHBsaWVkIHRvIGEKKy8vIGNvbnN0IHZvbGF0aWxlIHJlZmVyZW5jZSBiZWNhdXNlIHdlIGNhbid0IGRldGVjdCBjb25zdCB2b2xhdGlsZQorLy8gcmVmZXJlbmNlcyB3aXRoIE1TVkM2LgorIyAgIHByYWdtYSB3YXJuaW5nKHB1c2gpCisjICAgcHJhZ21hIHdhcm5pbmcoZGlzYWJsZTo0MTgxKSAvLyB3YXJuaW5nIEM0MTgxOiBxdWFsaWZpZXIgYXBwbGllZCB0byByZWZlcmVuY2UgdHlwZSBpZ25vcmVkCisjZW5kaWYgCisKK0JPT1NUX1RUX0FVWF9UWVBFX1RSQUlUX0RFRjEoYWRkX3ZvbGF0aWxlLFQsVCB2b2xhdGlsZSkKKworI2lmIGRlZmluZWQoQk9PU1RfTVNWQykKKyMgICBwcmFnbWEgd2FybmluZyhwb3ApCisjZW5kaWYgCisKKyNpZm5kZWYgQk9PU1RfTk9fVEVNUExBVEVfUEFSVElBTF9TUEVDSUFMSVpBVElPTgorQk9PU1RfVFRfQVVYX1RZUEVfVFJBSVRfUEFSVElBTF9TUEVDMV8xKHR5cGVuYW1lIFQsYWRkX3ZvbGF0aWxlLFQmLFQmKQorI2VuZGlmCisKK30gLy8gbmFtZXNwYWNlIG5kbmJvb3N0CisKKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9kZXRhaWwvdHlwZV90cmFpdF91bmRlZi5ocHA+CisKKyNlbmRpZiAvLyBCT09TVF9UVF9BRERfVk9MQVRJTEVfSFBQX0lOQ0xVREVECmRpZmYgLS1naXQgYS9uZG5ib29zdC90eXBlX3RyYWl0cy9hbGlnbmVkX3N0b3JhZ2UuaHBwIGIvbmRuYm9vc3QvdHlwZV90cmFpdHMvYWxpZ25lZF9zdG9yYWdlLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZGI5NzM1Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvdHlwZV90cmFpdHMvYWxpZ25lZF9zdG9yYWdlLmhwcApAQCAtMCwwICsxLDEzIEBACisKKy8vICBDb3B5cmlnaHQgKEMpIEpvaG4gTWFkZG9jayAyMDA1LgorLy8gIFVzZSwgbW9kaWZpY2F0aW9uIGFuZCBkaXN0cmlidXRpb24gYXJlIHN1YmplY3QgdG8gdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsCisvLyAgVmVyc2lvbiAxLjAuIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQKKy8vICBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpLgorLy8KKy8vICBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvbGlicy90eXBlX3RyYWl0cyBmb3IgbW9zdCByZWNlbnQgdmVyc2lvbiBpbmNsdWRpbmcgZG9jdW1lbnRhdGlvbi4KKworI2lmbmRlZiBCT09TVF9UVF9BTElHTkVEX1NUT1JBR0VfSFBQX0lOQ0xVREVECisjICBkZWZpbmUgQk9PU1RfVFRfQUxJR05FRF9TVE9SQUdFX0hQUF9JTkNMVURFRAorIyAgaW5jbHVkZSA8bmRuYm9vc3QvYWxpZ25lZF9zdG9yYWdlLmhwcD4KKyNlbmRpZiAvLyBCT09TVF9UVF9BTElHTkVEX1NUT1JBR0VfSFBQX0lOQ0xVREVECisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L3R5cGVfdHJhaXRzL2FyaXRobWV0aWNfdHJhaXRzLmhwcCBiL25kbmJvb3N0L3R5cGVfdHJhaXRzL2FyaXRobWV0aWNfdHJhaXRzLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMWU2NTAwCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvdHlwZV90cmFpdHMvYXJpdGhtZXRpY190cmFpdHMuaHBwCkBAIC0wLDAgKzEsMjAgQEAKKy8vICAoQykgQ29weXJpZ2h0IFN0ZXZlIENsZWFyeSwgQmVtYW4gRGF3ZXMsIEhvd2FyZCBIaW5uYW50ICYgSm9obiBNYWRkb2NrIDIwMDAuCisvLyAgVXNlLCBtb2RpZmljYXRpb24gYW5kIGRpc3RyaWJ1dGlvbiBhcmUgc3ViamVjdCB0byB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwKKy8vICBWZXJzaW9uIDEuMC4gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdAorLy8gIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkuCisvLworLy8gIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL3R5cGVfdHJhaXRzIGZvciBtb3N0IHJlY2VudCB2ZXJzaW9uIGluY2x1ZGluZyBkb2N1bWVudGF0aW9uLgorLy8KKy8vICBkZWZpbmVzIHRyYWl0cyBjbGFzc2VzIGZvciBhcml0aG1ldGljIHR5cGVzOgorLy8gIGlzX3ZvaWQsIGlzX2ludGVncmFsLCBpc19mbG9hdCwgaXNfYXJpdGhtZXRpYywgaXNfZnVuZGFtZW50YWwuCisKKyNpZm5kZWYgQk9PU1RfVFRfQVJJVEhNRVRJQ19UUkFJVFNfSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX1RUX0FSSVRITUVUSUNfVFJBSVRTX0hQUF9JTkNMVURFRAorCisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvaXNfYXJpdGhtZXRpYy5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvaXNfZmxvYXQuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2lzX2Z1bmRhbWVudGFsLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9pc19pbnRlZ3JhbC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvaXNfdm9pZC5ocHA+CisKKyNlbmRpZiAvLyBCT09TVF9UVF9BUklUSE1FVElDX1RSQUlUU19IUFBfSU5DTFVERUQKZGlmZiAtLWdpdCBhL25kbmJvb3N0L3R5cGVfdHJhaXRzL2NvbW1vbl90eXBlLmhwcCBiL25kbmJvb3N0L3R5cGVfdHJhaXRzL2NvbW1vbl90eXBlLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wOTgxNTI2Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvdHlwZV90cmFpdHMvY29tbW9uX3R5cGUuaHBwCkBAIC0wLDAgKzEsMTU3IEBACisvLyAgY29tbW9uX3R5cGUuaHBwICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0vLworCisvLyAgQ29weXJpZ2h0IDIwMDggSG93YXJkIEhpbm5hbnQKKy8vICBDb3B5cmlnaHQgMjAwOCBCZW1hbiBEYXdlcworCisvLyAgRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLgorLy8gIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQKKworI2lmbmRlZiBCT09TVF9UWVBFX1RSQUlUU19DT01NT05fVFlQRV9IUFAKKyNkZWZpbmUgQk9PU1RfVFlQRV9UUkFJVFNfQ09NTU9OX1RZUEVfSFBQCisKKyNpbmNsdWRlIDxuZG5ib29zdC9jb25maWcuaHBwPgorCisjaWYgZGVmaW5lZChfX1NVTlBST19DQykgJiYgIWRlZmluZWQoQk9PU1RfQ09NTU9OX1RZUEVfRE9OVF9VU0VfVFlQRU9GKQorIyAgZGVmaW5lIEJPT1NUX0NPTU1PTl9UWVBFX0RPTlRfVVNFX1RZUEVPRgorI2VuZGlmCisjaWYgZGVmaW5lZChfX0lCTUNQUF9fKSAmJiAhZGVmaW5lZChCT09TVF9DT01NT05fVFlQRV9ET05UX1VTRV9UWVBFT0YpCisjICBkZWZpbmUgQk9PU1RfQ09NTU9OX1RZUEVfRE9OVF9VU0VfVFlQRU9GCisjZW5kaWYKKworLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLy8KKyNpZiBkZWZpbmVkKEJPT1NUX05PX0NYWDExX1ZBUklBRElDX1RFTVBMQVRFUykgJiYgIWRlZmluZWQoQk9PU1RfQ09NTU9OX1RZUEVfQVJJVFkpCisjZGVmaW5lIEJPT1NUX0NPTU1PTl9UWVBFX0FSSVRZIDMKKyNlbmRpZgorCisvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0vLworI2lmIGRlZmluZWQoQk9PU1RfTk9fQ1hYMTFfREVDTFRZUEUpICYmICFkZWZpbmVkKEJPT1NUX0NPTU1PTl9UWVBFX0RPTlRfVVNFX1RZUEVPRikKKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlb2YvdHlwZW9mLmhwcD4gICAvLyBib29zdCB3b25kZXJzIG5ldmVyIGNlYXNlIQorI2VuZGlmCisKKy8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS8vCisjaWZuZGVmIEJPT1NUX05PX0NYWDExX1NUQVRJQ19BU1NFUlQKKyNkZWZpbmUgQk9PU1RfQ09NTU9OX1RZUEVfU1RBVElDX0FTU0VSVChDTkQsIE1TRywgVFlQRVMpIHN0YXRpY19hc3NlcnQoQ05ELE1TRykKKyNlbGlmIGRlZmluZWQoQk9PU1RfQ09NTU9OX1RZUEVfVVNFU19NUExfQVNTRVJUKQorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9hc3NlcnQuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9ib29sLmhwcD4KKyNkZWZpbmUgQk9PU1RfQ09NTU9OX1RZUEVfU1RBVElDX0FTU0VSVChDTkQsIE1TRywgVFlQRVMpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIEJPT1NUX01QTF9BU1NFUlRfTVNHKG5kbmJvb3N0OjptcGw6OmJvb2xfPCAoQ05EKSA+Ojp0eXBlOjp2YWx1ZSwgTVNHLCBUWVBFUykKKyNlbHNlCisjaW5jbHVkZSA8bmRuYm9vc3Qvc3RhdGljX2Fzc2VydC5ocHA+CisjZGVmaW5lIEJPT1NUX0NPTU1PTl9UWVBFX1NUQVRJQ19BU1NFUlQoQ05ELCBNU0csIFRZUEVTKSBCT09TVF9TVEFUSUNfQVNTRVJUKENORCkKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoQk9PU1RfTk9fQ1hYMTFfU1RBVElDX0FTU0VSVCkgfHwgIWRlZmluZWQoQk9PU1RfQ09NTU9OX1RZUEVfVVNFU19NUExfQVNTRVJUKQorI2RlZmluZSBCT09TVF9DT01NT05fVFlQRV9NVVNUX0JFX0FfQ09NUExFX1RZUEUgIm11c3QgYmUgY29tcGxldGUgdHlwZSIKKyNlbmRpZgorCisjaWYgZGVmaW5lZChCT09TVF9OT19DWFgxMV9ERUNMVFlQRSkgJiYgZGVmaW5lZChCT09TVF9DT01NT05fVFlQRV9ET05UX1VTRV9UWVBFT0YpCisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvZGV0YWlsL2NvbW1vbl90eXBlX2ltcC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvcmVtb3ZlX2N2LmhwcD4KKyNlbmRpZgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9pZi5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvdXRpbGl0eS9kZWNsdmFsLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9hZGRfcnZhbHVlX3JlZmVyZW5jZS5ocHA+CisKKy8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS8vCisvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLworLy8gICAgICAgICAgICAgICAgICAgICAgICAgICBDKyswMyBpbXBsZW1lbnRhdGlvbiBvZiAgICAgICAgICAgICAgICAgICAgICAgICAgLy8KKy8vICAgICAgICAgICAgIDIwLjkuNy42IE90aGVyIHRyYW5zZm9ybWF0aW9ucyBbbWV0YS50cmFucy5vdGhlcl0gICAgICAgICAgICAgIC8vCisvLyAgICAgICAgICAgICAgICAgICAgICAgICAgV3JpdHRlbiBieSBIb3dhcmQgSGlubmFudCAgICAgICAgICAgICAgICAgICAgICAgICAvLworLy8gICAgICBBZGFwdGVkIGZvciBCb29zdCBieSBCZW1hbiBEYXdlcywgVmljZW50ZSBCb3RldCBhbmQgIEplZmZyZXkgSGVsbHJ1bmcgLy8KKy8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vCisvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0vLworCituYW1lc3BhY2UgbmRuYm9vc3QgeworCisvLyBwcm90b3R5cGUKKyNpZiAhZGVmaW5lZChCT09TVF9OT19DWFgxMV9WQVJJQURJQ19URU1QTEFURVMpCisgICAgdGVtcGxhdGU8dHlwZW5hbWUuLi4gVD4KKyAgICBzdHJ1Y3QgY29tbW9uX3R5cGU7CisjZWxzZSAvLyBvciBubyBzcGVjaWFsaXphdGlvbgorICAgIHRlbXBsYXRlIDxjbGFzcyBULCBjbGFzcyBVID0gdm9pZCwgY2xhc3MgViA9IHZvaWQ+CisgICAgc3RydWN0IGNvbW1vbl90eXBlCisgICAgeworICAgIHB1YmxpYzoKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBjb21tb25fdHlwZTx0eXBlbmFtZSBjb21tb25fdHlwZTxULCBVPjo6dHlwZSwgVj46OnR5cGUgdHlwZTsKKyAgICB9OworI2VuZGlmCisKKworLy8gMSBhcmcKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgorI2lmICFkZWZpbmVkKEJPT1NUX05PX0NYWDExX1ZBUklBRElDX1RFTVBMQVRFUykKKyAgICBzdHJ1Y3QgY29tbW9uX3R5cGU8VD4KKyNlbHNlCisgICAgc3RydWN0IGNvbW1vbl90eXBlPFQsIHZvaWQsIHZvaWQ+CisKKyNlbmRpZgorICAgIHsKKyAgICAgICAgQk9PU1RfQ09NTU9OX1RZUEVfU1RBVElDX0FTU0VSVChzaXplb2YoVCkgPiAwLCBCT09TVF9DT01NT05fVFlQRV9NVVNUX0JFX0FfQ09NUExFX1RZUEUsIChUKSk7CisgICAgcHVibGljOgorICAgICAgICB0eXBlZGVmIFQgdHlwZTsKKyAgICB9OworCisvLyAyIGFyZ3MKK25hbWVzcGFjZSB0eXBlX3RyYWl0c19kZXRhaWwgeworCisgICAgdGVtcGxhdGUgPGNsYXNzIFQsIGNsYXNzIFU+CisgICAgc3RydWN0IGNvbW1vbl90eXBlXzIKKyAgICB7CisgICAgcHJpdmF0ZToKKyAgICAgICAgQk9PU1RfQ09NTU9OX1RZUEVfU1RBVElDX0FTU0VSVChzaXplb2YoVCkgPiAwLCBCT09TVF9DT01NT05fVFlQRV9NVVNUX0JFX0FfQ09NUExFX1RZUEUsIChUKSk7CisgICAgICAgIEJPT1NUX0NPTU1PTl9UWVBFX1NUQVRJQ19BU1NFUlQoc2l6ZW9mKFUpID4gMCwgQk9PU1RfQ09NTU9OX1RZUEVfTVVTVF9CRV9BX0NPTVBMRV9UWVBFLCAoVSkpOworICAgICAgICBzdGF0aWMgYm9vbCBkZWNsdmFsX2Jvb2woKTsgIC8vIHdvcmthcm91bmQgZ2NjIGJ1Zzsgbm90IHJlcXVpcmVkIGJ5IHN0ZAorICAgICAgICBzdGF0aWMgdHlwZW5hbWUgYWRkX3J2YWx1ZV9yZWZlcmVuY2U8VD46OnR5cGUgZGVjbHZhbF9UKCk7ICAvLyB3b3JrYXJvdW5kIGdjYyBidWc7IG5vdCByZXF1aXJlZCBieSBzdGQKKyAgICAgICAgc3RhdGljIHR5cGVuYW1lIGFkZF9ydmFsdWVfcmVmZXJlbmNlPFU+Ojp0eXBlIGRlY2x2YWxfVSgpOyAgLy8gd29ya2Fyb3VuZCBnY2MgYnVnOyBub3QgcmVxdWlyZWQgYnkgc3RkCisgICAgICAgIHN0YXRpYyB0eXBlbmFtZSBhZGRfcnZhbHVlX3JlZmVyZW5jZTxib29sPjo6dHlwZSBkZWNsdmFsX2IoKTsgIAorCisjaWYgIWRlZmluZWQoQk9PU1RfTk9fQ1hYMTFfREVDTFRZUEUpCisgICAgcHVibGljOgorICAgICAgICB0eXBlZGVmIGRlY2x0eXBlKGRlY2x2YWw8Ym9vbD4oKSA/IGRlY2x2YWw8VD4oKSA6IGRlY2x2YWw8VT4oKSkgdHlwZTsKKyNlbGlmIGRlZmluZWQoQk9PU1RfQ09NTU9OX1RZUEVfRE9OVF9VU0VfVFlQRU9GKQorICAgIHB1YmxpYzoKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGRldGFpbF90eXBlX3RyYWl0c19jb21tb25fdHlwZTo6Y29tbW9uX3R5cGVfaW1wbDwKKyAgICAgICAgICB0eXBlbmFtZSByZW1vdmVfY3Y8VD46OnR5cGUsCisgICAgICAgICAgdHlwZW5hbWUgcmVtb3ZlX2N2PFU+Ojp0eXBlCisgICAgICA+Ojp0eXBlIHR5cGU7CisjZWxzZQorICAgIHB1YmxpYzoKKyAgICAgICAgdHlwZWRlZiBCT09TVF9UWVBFT0ZfVFBMKGRlY2x2YWxfYigpID8gZGVjbHZhbF9UKCkgOiBkZWNsdmFsX1UoKSkgdHlwZTsKKyNlbmRpZgorCisjaWYgZGVmaW5lZChfX0dOVUNfXykgJiYgX19HTlVDX18gPT0gMyAmJiAoX19HTlVDX01JTk9SX18gPT0gMiB8fCBfX0dOVUNfTUlOT1JfXyA9PSAzKQorICAgIHB1YmxpYzoKKyAgICAgICAgdm9pZCBwdWJsaWNfZHVtbXlfZnVuY3Rpb25fanVzdF90b19zaWxlbmNlX3dhcm5pbmcoKTsKKyNlbmRpZgorICAgIH07CisKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVD4KKyAgICBzdHJ1Y3QgY29tbW9uX3R5cGVfMjxULCBUPgorICAgIHsKKyAgICAgICAgdHlwZWRlZiBUIHR5cGU7CisgICAgfTsKKyAgICB9CisKKyNpZiAhZGVmaW5lZChCT09TVF9OT19DWFgxMV9WQVJJQURJQ19URU1QTEFURVMpCisgICAgdGVtcGxhdGUgPGNsYXNzIFQsIGNsYXNzIFU+CisgICAgc3RydWN0IGNvbW1vbl90eXBlPFQsIFU+CisjZWxzZQorICAgIHRlbXBsYXRlIDxjbGFzcyBULCBjbGFzcyBVPgorICAgIHN0cnVjdCBjb21tb25fdHlwZTxULCBVLCB2b2lkPgorI2VuZGlmCisgICAgOiBwdWJsaWMgdHlwZV90cmFpdHNfZGV0YWlsOjpjb21tb25fdHlwZV8yPFQsVT4KKyAgICB7IH07CisKKworLy8gMyBvciBtb3JlIGFyZ3MKKyNpZiAhZGVmaW5lZChCT09TVF9OT19DWFgxMV9WQVJJQURJQ19URU1QTEFURVMpCisgICAgdGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUgVSwgdHlwZW5hbWUuLi4gVj4KKyAgICBzdHJ1Y3QgY29tbW9uX3R5cGU8VCwgVSwgVi4uLj4geworICAgIHB1YmxpYzoKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBjb21tb25fdHlwZTx0eXBlbmFtZSBjb21tb25fdHlwZTxULCBVPjo6dHlwZSwgVi4uLj46OnR5cGUgdHlwZTsKKyAgICB9OworI2VuZGlmCit9ICAvLyBuYW1lc3BhY2UgbmRuYm9vc3QKKworI2VuZGlmICAvLyBCT09TVF9UWVBFX1RSQUlUU19DT01NT05fVFlQRV9IUFAKZGlmZiAtLWdpdCBhL25kbmJvb3N0L3R5cGVfdHJhaXRzL2NvbXBvc2l0ZV90cmFpdHMuaHBwIGIvbmRuYm9vc3QvdHlwZV90cmFpdHMvY29tcG9zaXRlX3RyYWl0cy5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmJlOTQ2NwotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L3R5cGVfdHJhaXRzL2NvbXBvc2l0ZV90cmFpdHMuaHBwCkBAIC0wLDAgKzEsMjkgQEAKKy8vICAoQykgQ29weXJpZ2h0IERhdmUgQWJyYWhhbXMsIFN0ZXZlIENsZWFyeSwgQmVtYW4gRGF3ZXMsIEhvd2FyZAorLy8gIEhpbm5hbnQgJiBKb2huIE1hZGRvY2sgMjAwMC4gIAorLy8gIFVzZSwgbW9kaWZpY2F0aW9uIGFuZCBkaXN0cmlidXRpb24gYXJlIHN1YmplY3QgdG8gdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsCisvLyAgVmVyc2lvbiAxLjAuIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQKKy8vICBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpLgorLy8KKy8vICBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvbGlicy90eXBlX3RyYWl0cyBmb3IgbW9zdCByZWNlbnQgdmVyc2lvbiBpbmNsdWRpbmcgZG9jdW1lbnRhdGlvbi4KKy8vCisvLyAgZGVmaW5lcyB0cmFpdHMgY2xhc3NlcyBmb3IgY29tcG9zaXRlIHR5cGVzOgorLy8gIGlzX2FycmF5LCBpc19wb2ludGVyLCBpc19yZWZlcmVuY2UsIGlzX21lbWJlcl9wb2ludGVyLCBpc19lbnVtLCBpc191bmlvbi4KKy8vCisKKyNpZm5kZWYgQk9PU1RfVFRfQ09NUE9TSVRFX1RSQUlUU19IUFBfSU5DTFVERUQKKyNkZWZpbmUgQk9PU1RfVFRfQ09NUE9TSVRFX1RSQUlUU19IUFBfSU5DTFVERUQKKworI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2lzX2FycmF5LmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9pc19lbnVtLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9pc19tZW1iZXJfcG9pbnRlci5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvaXNfbWVtYmVyX2Z1bmN0aW9uX3BvaW50ZXIuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2lzX3BvaW50ZXIuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2lzX3JlZmVyZW5jZS5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvaXNfdW5pb24uaHBwPgorCisjZW5kaWYgLy8gQk9PU1RfVFRfQ09NUE9TSVRFX1RSQUlUU19IUFBfSU5DTFVERUQKKworCisKKworCmRpZmYgLS1naXQgYS9uZG5ib29zdC90eXBlX3RyYWl0cy9jb25kaXRpb25hbC5ocHAgYi9uZG5ib29zdC90eXBlX3RyYWl0cy9jb25kaXRpb25hbC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmQyZjQ1YwotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L3R5cGVfdHJhaXRzL2NvbmRpdGlvbmFsLmhwcApAQCAtMCwwICsxLDI1IEBACisKKy8vICAoQykgQ29weXJpZ2h0IEpvaG4gTWFkZG9jayAyMDEwLiAgCisvLyAgVXNlLCBtb2RpZmljYXRpb24gYW5kIGRpc3RyaWJ1dGlvbiBhcmUgc3ViamVjdCB0byB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwKKy8vICBWZXJzaW9uIDEuMC4gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdAorLy8gIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkuCisvLworLy8gIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL3R5cGVfdHJhaXRzIGZvciBtb3N0IHJlY2VudCB2ZXJzaW9uIGluY2x1ZGluZyBkb2N1bWVudGF0aW9uLgorCisKKyNpZm5kZWYgQk9PU1RfVFRfQ09ORElUSU9OQUxfSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX1RUX0NPTkRJVElPTkFMX0hQUF9JTkNMVURFRAorCisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2lmLmhwcD4KKworbmFtZXNwYWNlIG5kbmJvb3N0IHsKKwordGVtcGxhdGUgPGJvb2wgYiwgY2xhc3MgVCwgY2xhc3MgVT4KK3N0cnVjdCBjb25kaXRpb25hbCA6IHB1YmxpYyBtcGw6OmlmX2M8YiwgVCwgVT4KK3sKK307CisKK30gLy8gbmFtZXNwYWNlIG5kbmJvb3N0CisKKworI2VuZGlmIC8vIEJPT1NUX1RUX0NPTkRJVElPTkFMX0hQUF9JTkNMVURFRApkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvdHlwZV90cmFpdHMvY3ZfdHJhaXRzLmhwcCBiL25kbmJvb3N0L3R5cGVfdHJhaXRzL2N2X3RyYWl0cy5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjY4NDBiOAotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L3R5cGVfdHJhaXRzL2N2X3RyYWl0cy5ocHAKQEAgLTAsMCArMSwyNCBAQAorLy8gIChDKSBDb3B5cmlnaHQgRGF2ZSBBYnJhaGFtcywgU3RldmUgQ2xlYXJ5LCBCZW1hbiBEYXdlcywgSG93YXJkCisvLyAgSGlubmFudCAmIEpvaG4gTWFkZG9jayAyMDAwLiAgCisvLyAgVXNlLCBtb2RpZmljYXRpb24gYW5kIGRpc3RyaWJ1dGlvbiBhcmUgc3ViamVjdCB0byB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwKKy8vICBWZXJzaW9uIDEuMC4gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdAorLy8gIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkuCisvLworLy8gIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL3R5cGVfdHJhaXRzIGZvciBtb3N0IHJlY2VudCB2ZXJzaW9uIGluY2x1ZGluZyBkb2N1bWVudGF0aW9uLgorLy8KKy8vICBkZWZpbmVzIHRyYWl0cyBjbGFzc2VzIGZvciBjdi1xdWFsaWZpZWQgdHlwZXM6CisvLyAgaXNfY29uc3QsIGlzX3ZvbGF0aWxlLCByZW1vdmVfY29uc3QsIHJlbW92ZV92b2xhdGlsZSwgcmVtb3ZlX2N2LgorCisjaWZuZGVmIEJPT1NUX1RUX0NWX1RSQUlUU19IUFBfSU5DTFVERUQKKyNkZWZpbmUgQk9PU1RfVFRfQ1ZfVFJBSVRTX0hQUF9JTkNMVURFRAorCisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvYWRkX2NvbnN0LmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9hZGRfdm9sYXRpbGUuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2FkZF9jdi5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvaXNfY29uc3QuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2lzX3ZvbGF0aWxlLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9yZW1vdmVfY29uc3QuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL3JlbW92ZV92b2xhdGlsZS5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvcmVtb3ZlX2N2LmhwcD4KKworI2VuZGlmIC8vIEJPT1NUX1RUX0NWX1RSQUlUU19IUFBfSU5DTFVERUQKZGlmZiAtLWdpdCBhL25kbmJvb3N0L3R5cGVfdHJhaXRzL2RlY2F5LmhwcCBiL25kbmJvb3N0L3R5cGVfdHJhaXRzL2RlY2F5LmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NDIzNjdlCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvdHlwZV90cmFpdHMvZGVjYXkuaHBwCkBAIC0wLDAgKzEsNDQgQEAKKy8vICAoQykgQ29weXJpZ2h0IEpvaG4gTWFkZG9jayAmIFRob3JzdGVuIE90dG9zZW4gMjAwNS4KKy8vICBVc2UsIG1vZGlmaWNhdGlvbiBhbmQgZGlzdHJpYnV0aW9uIGFyZSBzdWJqZWN0IHRvIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLAorLy8gIFZlcnNpb24gMS4wLiAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0CisvLyAgaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KS4KKy8vCisvLyAgU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL2xpYnMvdHlwZV90cmFpdHMgZm9yIG1vc3QgcmVjZW50IHZlcnNpb24gaW5jbHVkaW5nIGRvY3VtZW50YXRpb24uCisKKworI2lmbmRlZiBCT09TVF9UVF9ERUNBWV9IUFBfSU5DTFVERUQKKyNkZWZpbmUgQk9PU1RfVFRfREVDQVlfSFBQX0lOQ0xVREVECisKKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9jb25maWcuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2lzX2FycmF5LmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9pc19mdW5jdGlvbi5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvcmVtb3ZlX2JvdW5kcy5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvYWRkX3BvaW50ZXIuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL3JlbW92ZV9yZWZlcmVuY2UuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9ldmFsX2lmLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvaWRlbnRpdHkuaHBwPgorCituYW1lc3BhY2UgbmRuYm9vc3QgCit7CisKKyAgICB0ZW1wbGF0ZTwgY2xhc3MgVCA+CisgICAgc3RydWN0IGRlY2F5CisgICAgeworICAgIHByaXZhdGU6CisgICAgICAgIHR5cGVkZWYgQk9PU1RfREVEVUNFRF9UWVBFTkFNRSByZW1vdmVfcmVmZXJlbmNlPFQ+Ojp0eXBlIFR5OworICAgIHB1YmxpYzoKKyAgICAgICAgdHlwZWRlZiBCT09TVF9ERURVQ0VEX1RZUEVOQU1FIG1wbDo6ZXZhbF9pZjwgCisgICAgICAgICAgICBpc19hcnJheTxUeT4sCisgICAgICAgICAgICBtcGw6OmlkZW50aXR5PEJPT1NUX0RFRFVDRURfVFlQRU5BTUUgcmVtb3ZlX2JvdW5kczxUeT46OnR5cGUqPiwKKyAgICAgICAgICAgIEJPT1NUX0RFRFVDRURfVFlQRU5BTUUgbXBsOjpldmFsX2lmPCAKKyAgICAgICAgICAgICAgICBpc19mdW5jdGlvbjxUeT4sCisgICAgICAgICAgICAgICAgYWRkX3BvaW50ZXI8VHk+LAorICAgICAgICAgICAgICAgIG1wbDo6aWRlbnRpdHk8VHk+CisgICAgICAgICAgICA+CisgICAgICAgID46OnR5cGUgdHlwZTsKKyAgICB9OworICAgIAorfSAvLyBuYW1lc3BhY2UgbmRuYm9vc3QKKworCisjZW5kaWYgLy8gQk9PU1RfVFRfREVDQVlfSFBQX0lOQ0xVREVECmRpZmYgLS1naXQgYS9uZG5ib29zdC90eXBlX3RyYWl0cy9kZXRhaWwvY29tbW9uX3R5cGVfaW1wLmhwcCBiL25kbmJvb3N0L3R5cGVfdHJhaXRzL2RldGFpbC9jb21tb25fdHlwZV9pbXAuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIzZjJiZDAKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC90eXBlX3RyYWl0cy9kZXRhaWwvY29tbW9uX3R5cGVfaW1wLmhwcApAQCAtMCwwICsxLDMzMyBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIGJvb3N0L3R5cGVfdHJhaXRzL2RldGFpbC9jb21tb25fdHlwZV9pbXAuaHBwCisgKgorICogQ29weXJpZ2h0IDIwMTAsIEplZmZyZXkgSGVsbHJ1bmcuCisgKiBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuICAoU2VlIGFjY29tcGFueWluZworICogZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisgKgorICogc3RydWN0IG5kbmJvb3N0Ojpjb21tb25fdHlwZTxULFU+CisgKgorICogY29tbW9uX3R5cGU8VCxVPjo6dHlwZSBpcyB0aGUgdHlwZSBvZiB0aGUgZXhwcmVzc2lvbgorICogICAgIGIoKSA/IHgoKSA6IHkoKQorICogd2hlcmUgYigpIHJldHVybnMgYSBib29sLCB4KCkgaGFzIHJldHVybiB0eXBlIFQsIGFuZCB5KCkgaGFzIHJldHVybiB0eXBlIFUuCisgKiBTZWUKKyAqICAgICBodHRwOi8vd3d3Lm9wZW4tc3RkLm9yZy9qdGMxL3NjMjIvd2cyMS9kb2NzL3BhcGVycy8yMDA4L24yNjYxLmh0bSNjb21tb25fdHlwZQorICoKKyAqIE5vdGUgdGhhdCB0aGlzIGV2YWx1YXRlcyB0byB2b2lkIGlmIG9uZSBvciBib3RoIG9mIFQgYW5kIFUgaXMgdm9pZC4KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpZm5kZWYgQk9PU1RfVFlQRV9UUkFJVFNfREVUQUlMX0NPTU1PTl9UWVBFX0lNUF9IUFAKKyNkZWZpbmUgQk9PU1RfVFlQRV9UUkFJVFNfREVUQUlMX0NPTU1PTl9UWVBFX0lNUF9IUFAKKworI2luY2x1ZGUgPGNzdGRkZWY+CisKKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXNzZXJ0LmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXQuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9iZWdpbl9lbmQuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9jb250YWlucy5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2NvcHkuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9kZXJlZi5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2V2YWxfaWYuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9pZi5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2luc2VydGVyLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvbmV4dC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL29yLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvcGxhY2Vob2xkZXJzLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvcHVzaF9iYWNrLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvc2l6ZS5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL3ZlY3Rvci92ZWN0b3IwLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvdmVjdG9yL3ZlY3RvcjEwLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9pbnRlZ3JhbF9jb25zdGFudC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvaXNfZW51bS5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvaXNfaW50ZWdyYWwuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL21ha2Vfc2lnbmVkLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9tYWtlX3Vuc2lnbmVkLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9yZW1vdmVfY3YuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL3JlbW92ZV9yZWZlcmVuY2UuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3V0aWxpdHkvZGVjbHZhbC5ocHA+CisKK25hbWVzcGFjZSBuZG5ib29zdAoreworCituYW1lc3BhY2UgZGV0YWlsX3R5cGVfdHJhaXRzX2NvbW1vbl90eXBlCit7CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBzdHJ1Y3QgcHJvcGFnYXRlX2N2PCBGcm9tLCBUbyA+CisgKgorICogVGhpcyBtZXRhZnVuY3Rpb24gcHJvcGFnYXRlcyBjdi1xdWFsaWZpZXJzIG9uIHR5cGUgRnJvbSB0byB0eXBlIFRvLgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKwordGVtcGxhdGU8IGNsYXNzIEZyb20sIGNsYXNzIFRvID4KK3N0cnVjdCBwcm9wYWdhdGVfY3YKK3sgdHlwZWRlZiBUbyB0eXBlOyB9OwordGVtcGxhdGU8IGNsYXNzIEZyb20sIGNsYXNzIFRvID4KK3N0cnVjdCBwcm9wYWdhdGVfY3Y8IGNvbnN0IEZyb20sIFRvID4KK3sgdHlwZWRlZiBUbyBjb25zdCB0eXBlOyB9OwordGVtcGxhdGU8IGNsYXNzIEZyb20sIGNsYXNzIFRvID4KK3N0cnVjdCBwcm9wYWdhdGVfY3Y8IHZvbGF0aWxlIEZyb20sIFRvID4KK3sgdHlwZWRlZiBUbyB2b2xhdGlsZSB0eXBlOyB9OwordGVtcGxhdGU8IGNsYXNzIEZyb20sIGNsYXNzIFRvID4KK3N0cnVjdCBwcm9wYWdhdGVfY3Y8IGNvbnN0IHZvbGF0aWxlIEZyb20sIFRvID4KK3sgdHlwZWRlZiBUbyBjb25zdCB2b2xhdGlsZSB0eXBlOyB9OworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogc3RydWN0IGlzX2ludGVncmFsX29yX2VudW08VD4KKyAqCisgKiBUaGlzIG1ldGFmdW5jdGlvbiBkZXRlcm1pbmVzIGlmIFQgaXMgYW4gaW50ZWdyYWwgdHlwZSB3aGljaCBjYW4gYmUgbWFkZQorICogc2lnbmVkIG9yIHVuc2lnbmVkLgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKwordGVtcGxhdGU8IGNsYXNzIFQgPgorc3RydWN0IGlzX2ludGVncmFsX29yX2VudW0KKyAgICA6IHB1YmxpYyBtcGw6Om9yXzwgaXNfaW50ZWdyYWw8VD4sIGlzX2VudW08VD4gPgoreyB9OwordGVtcGxhdGU8Pgorc3RydWN0IGlzX2ludGVncmFsX29yX2VudW08IGJvb2wgPgorICAgIDogcHVibGljIGZhbHNlX3R5cGUKK3sgfTsKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIHN0cnVjdCBtYWtlX3Vuc2lnbmVkX3NvZnQ8VD4KKyAqIHN0cnVjdCBtYWtlX3NpZ25lZF9zb2Z0PFQ+CisgKgorICogVGhlc2UgbWV0YWZ1bmN0aW9uIGFyZSBpZGVudGljYWwgdG8gbWFrZV91bnNpZ25lZCBhbmQgbWFrZV9zaWduZWQsCisgKiByZXNwZWN0aXZlbHksIGV4Y2VwdCBmb3Igc3BlY2lhbC1jYXNpbmcgYm9vbC4KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKK3RlbXBsYXRlPCBjbGFzcyBUID4KK3N0cnVjdCBtYWtlX3Vuc2lnbmVkX3NvZnQKKyAgICA6IHB1YmxpYyBtYWtlX3Vuc2lnbmVkPFQ+Cit7IH07Cit0ZW1wbGF0ZTw+CitzdHJ1Y3QgbWFrZV91bnNpZ25lZF9zb2Z0PCBib29sID4KK3sgdHlwZWRlZiBib29sIHR5cGU7IH07CisKK3RlbXBsYXRlPCBjbGFzcyBUID4KK3N0cnVjdCBtYWtlX3NpZ25lZF9zb2Z0CisgICAgOiBwdWJsaWMgbWFrZV9zaWduZWQ8VD4KK3sgfTsKK3RlbXBsYXRlPD4KK3N0cnVjdCBtYWtlX3NpZ25lZF9zb2Z0PCBib29sID4KK3sgdHlwZWRlZiBib29sIHR5cGU7IH07CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBzdHJ1Y3Qgc2l6ZW9mX3Q8Tj4KKyAqIHR5cGVkZWYgLi4uIHllc190eXBlCisgKiB0eXBlZGVmIC4uLiBub190eXBlCisgKgorICogVGhlc2UgdHlwZXMgYXJlIGludGVncmFsIHBsYXllcnMgaW4gdGhlIHVzZSBvZiB0aGUgInNpemVvZiB0cmljayIsIGkuZS4sIHdlCisgKiBjYW4gZGlzdGluZ3Vpc2ggb3ZlcmxvYWQgc2VsZWN0aW9uIGJ5IGluc3BlY3RpbmcgdGhlIHNpemUgb2YgdGhlIHJldHVybiB0eXBlCisgKiBvZiB0aGUgb3ZlcmxvYWQuCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCit0ZW1wbGF0ZTwgc3RkOjpzaXplX3QgTiA+IHN0cnVjdCBzaXplb2ZfdCB7IGNoYXIgX2R1bW15W05dOyB9OwordHlwZWRlZiBzaXplb2ZfdDwxPiB5ZXNfdHlwZTsKK3R5cGVkZWYgc2l6ZW9mX3Q8Mj4gbm9fdHlwZTsKK0JPT1NUX01QTF9BU1NFUlRfUkVMQVRJT04oIHNpemVvZiggeWVzX3R5cGUgKSwgPT0sIDEgKTsKK0JPT1NUX01QTF9BU1NFUlRfUkVMQVRJT04oIHNpemVvZiggbm9fdHlwZSApLCA9PSwgMiApOworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogcnZhbHVlX3Rlc3QoVCYpIC0+IG5vX3R5cGUKKyAqIHJ2YWx1ZV90ZXN0KC4uLikgLT4geWVzX3R5cGUKKyAqCisgKiBUaGVzZSBvdmVybG9hZHMgYXJlIHVzZWQgdG8gZGV0ZXJtaW5lIHRoZSBydmFsdWUtbmVzcyBvZiBhbiBleHByZXNzaW9uLgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKwordGVtcGxhdGU8IGNsYXNzIFQgPiBub190eXBlIHJ2YWx1ZV90ZXN0KFQmKTsKK3llc190eXBlIHJ2YWx1ZV90ZXN0KC4uLik7CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBzdHJ1Y3QgY29udmVyc2lvbl90ZXN0X292ZXJsb2FkczwgU2VxdWVuY2UgPgorICoKKyAqIFRoaXMgc3RydWN0IGhhcyBtdWx0aXBsZSBvdmVybG9hZHMgb2YgdGhlIHN0YXRpYyBtZW1iZXIgZnVuY3Rpb24gYXBwbHksIGVhY2gKKyAqIG9uZSB0YWtpbmcgYSBzaW5nbGUgcGFyYW1ldGVyIG9mIGEgdHlwZSB3aXRoaW4gdGhlIEJvb3N0Lk1QTCBzZXF1ZW5jZQorICogU2VxdWVuY2UuICBFYWNoIHN1Y2ggYXBwbHkgb3ZlcmxvYWQgaGFzIGEgcmV0dXJuIHR5cGUgd2l0aCBzaXplb2YgZXF1YWwgdG8KKyAqIG9uZSBwbHVzIHRoZSBpbmRleCBvZiB0aGUgcGFyYW1ldGVyIHR5cGUgd2l0aGluIFNlcXVlbmNlLiAgVGh1cywgd2UgY2FuCisgKiBkZWR1Y2UgdGhlIHR5cGUgVCBvZiBhbiBleHByZXNzaW9uIGFzIGxvbmcgYXMgd2UgY2FuIGdlbmVyYXRlIGEgZmluaXRlIHNldCBvZgorICogY2FuZGlkYXRlIHR5cGVzIGNvbnRhaW5pbmcgVCB2aWEgdGhlc2UgYXBwbHkgb3ZlcmxvYWRzIGFuZCB0aGUgInNpemVvZgorICogdHJpY2siLgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKwordGVtcGxhdGU8IGNsYXNzIEZpcnN0LCBjbGFzcyBMYXN0LCBzdGQ6OnNpemVfdCBJbmRleCA+CitzdHJ1Y3QgY29udmVyc2lvbl90ZXN0X292ZXJsb2Fkc19pdGVyYXRlCisgICAgOiBwdWJsaWMgY29udmVyc2lvbl90ZXN0X292ZXJsb2Fkc19pdGVyYXRlPAorICAgICAgICAgIHR5cGVuYW1lIG1wbDo6bmV4dDwgRmlyc3QgPjo6dHlwZSwgTGFzdCwgSW5kZXggKyAxCisgICAgICA+Cit7CisgICAgdXNpbmcgY29udmVyc2lvbl90ZXN0X292ZXJsb2Fkc19pdGVyYXRlPAorICAgICAgICB0eXBlbmFtZSBtcGw6Om5leHQ8IEZpcnN0ID46OnR5cGUsIExhc3QsIEluZGV4ICsgMQorICAgID46OmFwcGx5OworICAgIHN0YXRpYyBzaXplb2ZfdDwgSW5kZXggKyAxID4KKyAgICBhcHBseSh0eXBlbmFtZSBtcGw6OmRlcmVmPCBGaXJzdCA+Ojp0eXBlKTsKK307CisKK3RlbXBsYXRlPCBjbGFzcyBMYXN0LCBzdGQ6OnNpemVfdCBJbmRleCA+CitzdHJ1Y3QgY29udmVyc2lvbl90ZXN0X292ZXJsb2Fkc19pdGVyYXRlPCBMYXN0LCBMYXN0LCBJbmRleCA+Cit7IHN0YXRpYyBzaXplb2ZfdDwgSW5kZXggKyAxID4gYXBwbHkoLi4uKTsgfTsKKwordGVtcGxhdGU8IGNsYXNzIFNlcXVlbmNlID4KK3N0cnVjdCBjb252ZXJzaW9uX3Rlc3Rfb3ZlcmxvYWRzCisgICAgOiBwdWJsaWMgY29udmVyc2lvbl90ZXN0X292ZXJsb2Fkc19pdGVyYXRlPAorICAgICAgICAgIHR5cGVuYW1lIG1wbDo6YmVnaW48IFNlcXVlbmNlID46OnR5cGUsCisgICAgICAgICAgdHlwZW5hbWUgbXBsOjplbmQ8IFNlcXVlbmNlID46OnR5cGUsCisgICAgICAgICAgMAorICAgICAgPgoreyB9OworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogc3RydWN0IHNlbGVjdDwgU2VxdWVuY2UsIEluZGV4ID4KKyAqCisgKiBzZWxlY3QgaXMgc3lub255bW91cyB3aXRoIG1wbDo6YXRfYyB1bmxlc3MgSW5kZXggZXF1YWxzIHRoZSBzaXplIG9mIHRoZQorICogQm9vc3QuTVBMIFNlcXVlbmNlLCBpbiB3aGljaCBjYXNlIHRoaXMgZXZhbHVhdGVzIHRvIHZvaWQuCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCit0ZW1wbGF0ZTwKKyAgICBjbGFzcyBTZXF1ZW5jZSwgaW50IEluZGV4LAorICAgIGludCBOID0gbXBsOjpzaXplPCBTZXF1ZW5jZSA+Ojp2YWx1ZQorPgorc3RydWN0IHNlbGVjdAorICAgIDogcHVibGljIG1wbDo6YXRfYzwgU2VxdWVuY2UsIEluZGV4ID4KK3sgfTsKK3RlbXBsYXRlPCBjbGFzcyBTZXF1ZW5jZSwgaW50IE4gPgorc3RydWN0IHNlbGVjdDwgU2VxdWVuY2UsIE4sIE4gPgoreyB0eXBlZGVmIHZvaWQgdHlwZTsgfTsKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIGNsYXNzIGRlZHVjZV9jb21tb25fdHlwZTwgVCwgVSwgTm9taW5hbENhbmRpZGF0ZXMgPgorICogc3RydWN0IG5vbWluYWxfY2FuZGlkYXRlczxULFU+CisgKiBzdHJ1Y3QgY29tbW9uX3R5cGVfZGlzcGF0Y2hfb25fcnZhbHVlbmVzczxULFU+CisgKiBzdHJ1Y3QgY29tbW9uX3R5cGVfaW1wbDxULFU+CisgKgorICogVGhlc2UgY2xhc3NlcyBhbmQgc3RydWN0cyBpbXBsZW1lbnQgdGhlIGxvZ2ljIGJlaGluZCBjb21tb25fdHlwZSwgd2hpY2ggZ29lcworICogcm91Z2hseSBhcyBmb2xsb3dzLiAgTGV0IEMgYmUgdGhlIHR5cGUgb2YgdGhlIGNvbmRpdGlvbmFsIGV4cHJlc3Npb24KKyAqICAgICBkZWNsdmFsPCBib29sID4oKSA/IGRlY2x2YWw8VD4oKSA6IGRlY2x2YWw8VT4oKQorICogaWYgQyBpcyBhbiBydmFsdWUsIHRoZW46CisgKiAgICAgbGV0IFQnIGFuZCBVJyBiZSBUIGFuZCBVIHN0cmlwcGVkIG9mIHJlZmVyZW5jZS0gYW5kIGN2LXF1YWxpZmllcnMKKyAqICAgICBpZiBUJyBhbmQgVScgYXJlIHBvaW50ZXIgdHlwZXMsIHNheSwgVCcgPSBWKiBhbmQgVScgPSBXKiwgdGhlbjoKKyAqICAgICAgICAgZGVmaW5lIHRoZSBzZXQgb2YgTm9taW5hbENhbmRpZGF0ZXMgdG8gYmUKKyAqICAgICAgICAgICAgIHsgViosIFcqLCBWJyosIFcnKiB9CisgKiAgICAgICAgICAgd2hlcmUgVicgaXMgViB3aXRoIHdoYXRldmVyIGN2LXF1YWxpZmllcnMgYXJlIG9uIFcsIGFuZCBXJyBpcyBXCisgKiAgICAgICAgICAgd2l0aCB3aGF0ZXZlciBjdi1xdWFsaWZpZXJzIGFyZSBvbiBWCisgKiAgICAgZWxzZSBpZiBUJyBhbmQgVScgYXJlIGJvdGggaW50ZWdyYWwgb3IgZW51bSB0eXBlcywgdGhlbjoKKyAqICAgICAgICAgZGVmaW5lIHRoZSBzZXQgb2YgTm9taW5hbENhbmRpZGF0ZXMgdG8gYmUKKyAqICAgICAgICAgICAgIHsKKyAqICAgICAgICAgICAgICAgICB1bnNpZ25lZF9zb2Z0KFQnKSwKKyAqICAgICAgICAgICAgICAgICB1bnNpZ25lZF9zb2Z0KFUnKSwKKyAqICAgICAgICAgICAgICAgICBzaWduZWRfc29mdChUJyksCisgKiAgICAgICAgICAgICAgICAgc2lnbmVkX3NvZnQoVScpLAorICogICAgICAgICAgICAgICAgIFQnLAorICogICAgICAgICAgICAgICAgIFUnLAorICogICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCwKKyAqICAgICAgICAgICAgICAgICBpbnQKKyAqICAgICAgICAgICAgIH0KKyAqICAgICAgICAgICB3aGVyZSB1bnNpZ25lZF9zb2Z0KFgpIGlzIG1ha2VfdW5zaWduZWRfc29mdDxYPjo6dHlwZSBhbmQKKyAqICAgICAgICAgICBzaWduZWRfc29mdChYKSBpcyBtYWtlX3NpZ25lZF9zb2Z0PFg+Ojp0eXBlICh0aGVzZSBhcmUgYWxsCisgKiAgICAgICAgICAgZ2VuZXJhbGx5IG5lY2Vzc2FyeSB0byBjb3ZlciB0aGUgdmFyaW91cyBpbnRlZ3JhbCBwcm9tb3Rpb24gY2FzZXMpCisgKiAgICAgZWxzZQorICogICAgICAgICBkZWZpbmUgdGhlIHNldCBvZiBOb21pbmFsQ2FuZGlkYXRlcyB0byBiZQorICogICAgICAgICAgICAgeyBUJywgVScgfQorICogZWxzZQorICogICAgIGxldCBWIGFuZCBXIGJlIFQgYW5kIFUgc3RyaXBwZWQgb2YgcmVmZXJlbmNlLXF1YWxpZmllcnMKKyAqICAgICBkZWZpbmUgdGhlIHNldCBvZiBOb21pbmFsQ2FuZGlkYXRlcyB0byBiZQorICogICAgICAgICB7IFYmLCBXJiwgVicmLCBXJyYgfQorICogICAgIHdoZXJlIFYnIGlzIFYgd2l0aCB3aGF0ZXZlciBjdi1xdWFsaWZpZXJzIGFyZSBvbiBXLCBhbmQgVycgaXMgVyB3aXRoCisgKiAgICAgICB3aGF0ZXZlciBjdi1xdWFsaWZpZXJzIGFyZSBvbiBWCisgKiBkZWZpbmUgdGhlIHNldCBvZiBDYW5kaWRhdGVzIHRvIGJlIGVxdWFsIHRvIHRoZSBzZXQgb2YgTm9taW5hbENhbmRpZGF0ZXMgd2l0aAorICogZHVwbGljYXRlcyByZW1vdmVkLCBhbmQgdXNlIHRoaXMgc2V0IG9mIENhbmRpZGF0ZXMgdG8gZGV0ZXJtaW5lIEMgdXNpbmcgdGhlCisgKiBjb252ZXJzaW9uX3Rlc3Rfb3ZlcmxvYWRzIHN0cnVjdAorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKwordGVtcGxhdGU8IGNsYXNzIFQsIGNsYXNzIFUsIGNsYXNzIE5vbWluYWxDYW5kaWRhdGVzID4KK2NsYXNzIGRlZHVjZV9jb21tb25fdHlwZQoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjpjb3B5PAorICAgICAgICBOb21pbmFsQ2FuZGlkYXRlcywKKyAgICAgICAgbXBsOjppbnNlcnRlcjwKKyAgICAgICAgICAgIG1wbDo6dmVjdG9yMDw+LAorICAgICAgICAgICAgbXBsOjppZl88CisgICAgICAgICAgICAgICAgbXBsOjpjb250YWluczwgbXBsOjpfMSwgbXBsOjpfMiA+LAorICAgICAgICAgICAgICAgIG1wbDo6XzEsCisgICAgICAgICAgICAgICAgbXBsOjpwdXNoX2JhY2s8IG1wbDo6XzEsIG1wbDo6XzIgPgorICAgICAgICAgICAgPgorICAgICAgICA+CisgICAgPjo6dHlwZSBjYW5kaWRhdGVfdHlwZXM7CisgICAgc3RhdGljIGNvbnN0IGludCBiZXN0X2NhbmRpZGF0ZV9pbmRleCA9CisgICAgICAgIHNpemVvZiggY29udmVyc2lvbl90ZXN0X292ZXJsb2FkczwgY2FuZGlkYXRlX3R5cGVzID46OmFwcGx5KAorICAgICAgICAgICAgZGVjbHZhbDwgYm9vbCA+KCkgPyBkZWNsdmFsPFQ+KCkgOiBkZWNsdmFsPFU+KCkKKyAgICAgICAgKSApIC0gMTsKK3B1YmxpYzoKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHNlbGVjdDwgY2FuZGlkYXRlX3R5cGVzLCBiZXN0X2NhbmRpZGF0ZV9pbmRleCA+Ojp0eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTwKKyAgICBjbGFzcyBULCBjbGFzcyBVLAorICAgIGNsYXNzIFYgPSB0eXBlbmFtZSByZW1vdmVfY3Y8IHR5cGVuYW1lIHJlbW92ZV9yZWZlcmVuY2U8VD46OnR5cGUgPjo6dHlwZSwKKyAgICBjbGFzcyBXID0gdHlwZW5hbWUgcmVtb3ZlX2N2PCB0eXBlbmFtZSByZW1vdmVfcmVmZXJlbmNlPFU+Ojp0eXBlID46OnR5cGUsCisgICAgYm9vbCA9IGlzX2ludGVncmFsX29yX2VudW08Vj46OnZhbHVlICYmIGlzX2ludGVncmFsX29yX2VudW08Vz46OnZhbHVlCis+CitzdHJ1Y3Qgbm9taW5hbF9jYW5kaWRhdGVzCit7IHR5cGVkZWYgbXBsOjp2ZWN0b3IyPFYsVz4gdHlwZTsgfTsKKwordGVtcGxhdGU8IGNsYXNzIFQsIGNsYXNzIFUsIGNsYXNzIFYsIGNsYXNzIFcgPgorc3RydWN0IG5vbWluYWxfY2FuZGlkYXRlczwgVCwgVSwgViwgVywgdHJ1ZSA+Cit7CisgICAgdHlwZWRlZiBuZG5ib29zdDo6bXBsOjp2ZWN0b3I4PAorICAgICAgICB0eXBlbmFtZSBtYWtlX3Vuc2lnbmVkX3NvZnQ8Vj46OnR5cGUsCisgICAgICAgIHR5cGVuYW1lIG1ha2VfdW5zaWduZWRfc29mdDxXPjo6dHlwZSwKKyAgICAgICAgdHlwZW5hbWUgbWFrZV9zaWduZWRfc29mdDxWPjo6dHlwZSwKKyAgICAgICAgdHlwZW5hbWUgbWFrZV9zaWduZWRfc29mdDxXPjo6dHlwZSwKKyAgICAgICAgViwgVywgdW5zaWduZWQgaW50LCBpbnQKKyAgICA+IHR5cGU7Cit9OworCit0ZW1wbGF0ZTwgY2xhc3MgVCwgY2xhc3MgVSwgY2xhc3MgViwgY2xhc3MgVyA+CitzdHJ1Y3Qgbm9taW5hbF9jYW5kaWRhdGVzPCBULCBVLCBWKiwgVyosIGZhbHNlID4KK3sKKyAgICB0eXBlZGVmIG1wbDo6dmVjdG9yNDwKKyAgICAgICAgViosIFcqLAorICAgICAgICB0eXBlbmFtZSBwcm9wYWdhdGVfY3Y8VyxWPjo6dHlwZSAqLAorICAgICAgICB0eXBlbmFtZSBwcm9wYWdhdGVfY3Y8VixXPjo6dHlwZSAqCisgICAgPiB0eXBlOworfTsKKwordGVtcGxhdGU8Y2xhc3MgVCwgY2xhc3MgVSwgYm9vbCBiPgorc3RydWN0IGNvbW1vbl90eXBlX2Rpc3BhdGNoX29uX3J2YWx1ZW5lc3MKKyAgICA6IHB1YmxpYyBkZWR1Y2VfY29tbW9uX3R5cGU8IFQsIFUsIHR5cGVuYW1lIG5vbWluYWxfY2FuZGlkYXRlczxULFU+Ojp0eXBlID4KK3sgfTsKKwordGVtcGxhdGU8IGNsYXNzIFQsIGNsYXNzIFUgPgorc3RydWN0IGNvbW1vbl90eXBlX2Rpc3BhdGNoX29uX3J2YWx1ZW5lc3M8IFQsIFUsIGZhbHNlID4KK3sKK3ByaXZhdGU6CisgICAgdHlwZWRlZiB0eXBlbmFtZSByZW1vdmVfcmVmZXJlbmNlPFQ+Ojp0eXBlIHVucmVmZWRfVF90eXBlOworICAgIHR5cGVkZWYgdHlwZW5hbWUgcmVtb3ZlX3JlZmVyZW5jZTxVPjo6dHlwZSB1bnJlZmVkX1VfdHlwZTsKK3B1YmxpYzoKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGRlZHVjZV9jb21tb25fdHlwZTwKKyAgICAgICAgVCwgVSwKKyAgICAgICAgbXBsOjp2ZWN0b3I0PAorICAgICAgICAgICAgdW5yZWZlZF9UX3R5cGUgJiwKKyAgICAgICAgICAgIHVucmVmZWRfVV90eXBlICYsCisgICAgICAgICAgICB0eXBlbmFtZSBwcm9wYWdhdGVfY3Y8IHVucmVmZWRfVV90eXBlLCB1bnJlZmVkX1RfdHlwZSA+Ojp0eXBlICYsCisgICAgICAgICAgICB0eXBlbmFtZSBwcm9wYWdhdGVfY3Y8IHVucmVmZWRfVF90eXBlLCB1bnJlZmVkX1VfdHlwZSA+Ojp0eXBlICYKKyAgICAgICAgPgorICAgID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPCBjbGFzcyBULCBjbGFzcyBVID4KK3N0cnVjdCBjb21tb25fdHlwZV9pbXBsCisgICAgOiBwdWJsaWMgY29tbW9uX3R5cGVfZGlzcGF0Y2hfb25fcnZhbHVlbmVzczxULFUsIHNpemVvZiggOjpuZG5ib29zdDo6ZGV0YWlsX3R5cGVfdHJhaXRzX2NvbW1vbl90eXBlOjpydmFsdWVfdGVzdCgKKyAgICAgICAgZGVjbHZhbDwgYm9vbCA+KCkgPyBkZWNsdmFsPFQ+KCkgOiBkZWNsdmFsPFU+KCkgKSApID09IHNpemVvZiggeWVzX3R5cGUgKSA+Cit7IH07CisKK3RlbXBsYXRlPCBjbGFzcyBUID4gc3RydWN0IGNvbW1vbl90eXBlX2ltcGw8IFQsIHZvaWQgPiB7IHR5cGVkZWYgdm9pZCB0eXBlOyB9OwordGVtcGxhdGU8IGNsYXNzIFQgPiBzdHJ1Y3QgY29tbW9uX3R5cGVfaW1wbDwgdm9pZCwgVCA+IHsgdHlwZWRlZiB2b2lkIHR5cGU7IH07Cit0ZW1wbGF0ZTw+IHN0cnVjdCBjb21tb25fdHlwZV9pbXBsPCB2b2lkLCB2b2lkID4geyB0eXBlZGVmIHZvaWQgdHlwZTsgfTsKKworfSAvLyBuYW1lc3BhY2UgZGV0YWlsX3R5cGVfdHJhaXRzX2NvbW1vbl90eXBlCisKKworfSAvLyBuYW1lc3BhY2UgbmRuYm9vc3QKKworI2VuZGlmIC8vIEJPT1NUX1RZUEVfVFJBSVRTX0RFVEFJTF9DT01NT05fVFlQRV9IUFAKKwpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvdHlwZV90cmFpdHMvZGV0YWlsL2hhc19iaW5hcnlfb3BlcmF0b3IuaHBwIGIvbmRuYm9vc3QvdHlwZV90cmFpdHMvZGV0YWlsL2hhc19iaW5hcnlfb3BlcmF0b3IuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmExOGYwMGQKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC90eXBlX3RyYWl0cy9kZXRhaWwvaGFzX2JpbmFyeV9vcGVyYXRvci5ocHAKQEAgLTAsMCArMSwyMjkgQEAKKy8vICAoQykgQ29weXJpZ2h0IDIwMDktMjAxMSBGcmVkZXJpYyBCcm9uLCBSb2JlcnQgU3Rld2FydCwgU3RldmVuIFdhdGFuYWJlICYgUm9tYW4gUGVyZXBlbGl0c2EuCisvLworLy8gIFVzZSwgbW9kaWZpY2F0aW9uIGFuZCBkaXN0cmlidXRpb24gYXJlIHN1YmplY3QgdG8gdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsCisvLyAgVmVyc2lvbiAxLjAuIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQKKy8vICBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpLgorLy8KKy8vICBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvbGlicy90eXBlX3RyYWl0cyBmb3IgbW9zdCByZWNlbnQgdmVyc2lvbiBpbmNsdWRpbmcgZG9jdW1lbnRhdGlvbi4KKworI2luY2x1ZGUgPG5kbmJvb3N0L2NvbmZpZy5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvaWNlLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9pbnRlZ3JhbF9jb25zdGFudC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvaXNfYmFzZV9vZi5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvaXNfY29uc3QuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2lzX2NvbnZlcnRpYmxlLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9pc19mdW5kYW1lbnRhbC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvaXNfaW50ZWdyYWwuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2lzX3BvaW50ZXIuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2lzX3NhbWUuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2lzX3ZvaWQuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL3JlbW92ZV9jdi5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvcmVtb3ZlX3BvaW50ZXIuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL3JlbW92ZV9yZWZlcmVuY2UuaHBwPgorCisvLyBzaG91bGQgYmUgdGhlIGxhc3QgI2luY2x1ZGUKKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9kZXRhaWwvYm9vbF90cmFpdF9kZWYuaHBwPgorCisvLyBjYW5ub3QgaW5jbHVkZSB0aGlzIGhlYWRlciB3aXRob3V0IGdldHRpbmcgd2FybmluZ3Mgb2YgdGhlIGtpbmQ6CisvLyBnY2M6CisvLyAgICB3YXJuaW5nOiB2YWx1ZSBjb21wdXRlZCBpcyBub3QgdXNlZAorLy8gICAgd2FybmluZzogY29tcGFyaXNvbiBiZXR3ZWVuIHNpZ25lZCBhbmQgdW5zaWduZWQgaW50ZWdlciBleHByZXNzaW9ucworLy8gbXN2YzoKKy8vICAgIHdhcm5pbmcgQzQwMTg6ICc8JyA6IHNpZ25lZC91bnNpZ25lZCBtaXNtYXRjaAorLy8gICAgd2FybmluZyBDNDI0NDogJys9JyA6IGNvbnZlcnNpb24gZnJvbSAnZG91YmxlJyB0byAnY2hhcicsIHBvc3NpYmxlIGxvc3Mgb2YgZGF0YQorLy8gICAgd2FybmluZyBDNDU0NzogJyonIDogb3BlcmF0b3IgYmVmb3JlIGNvbW1hIGhhcyBubyBlZmZlY3Q7IGV4cGVjdGVkIG9wZXJhdG9yIHdpdGggc2lkZS1lZmZlY3QKKy8vICAgIHdhcm5pbmcgQzQ4MDA6ICdpbnQnIDogZm9yY2luZyB2YWx1ZSB0byBib29sICd0cnVlJyBvciAnZmFsc2UnIChwZXJmb3JtYW5jZSB3YXJuaW5nKQorLy8gICAgd2FybmluZyBDNDgwNDogJzwnIDogdW5zYWZlIHVzZSBvZiB0eXBlICdib29sJyBpbiBvcGVyYXRpb24KKy8vICAgIHdhcm5pbmcgQzQ4MDU6ICc9PScgOiB1bnNhZmUgbWl4IG9mIHR5cGUgJ2Jvb2wnIGFuZCB0eXBlICdjaGFyJyBpbiBvcGVyYXRpb24KKy8vIGNhbm5vdCBmaW5kIGFub3RoZXIgaW1wbGVtZW50YXRpb24gLT4gZGVjbGFyZWQgYXMgc3lzdGVtIGhlYWRlciB0byBzdXBwcmVzcyB0aGVzZSB3YXJuaW5ncy4KKyNpZiBkZWZpbmVkKF9fR05VQ19fKSAmJiAoKF9fR05VQ19fPT0zICYmIF9fR05VQ19NSU5PUl9fPj0xKSB8fCAoX19HTlVDX18+MykpCisjICAgcHJhZ21hIEdDQyBzeXN0ZW1faGVhZGVyCisjZWxpZiBkZWZpbmVkKEJPT1NUX01TVkMpCisjICAgcHJhZ21hIHdhcm5pbmcgKCBwdXNoICkKKyMgICBwcmFnbWEgd2FybmluZyAoIGRpc2FibGUgOiA0MDE4IDQyNDQgNDU0NyA0ODAwIDQ4MDQgNDgwNSA0OTEzICkKKyNlbmRpZgorCituYW1lc3BhY2UgbmRuYm9vc3QgeworbmFtZXNwYWNlIGRldGFpbCB7CisKKy8vIFRoaXMgbmFtZXNwYWNlIGVuc3VyZXMgdGhhdCBhcmd1bWVudC1kZXBlbmRlbnQgbmFtZSBsb29rdXAgZG9lcyBub3QgbWVzcyB0aGluZ3MgdXAuCituYW1lc3BhY2UgQk9PU1RfSk9JTihCT09TVF9UVF9UUkFJVF9OQU1FLF9pbXBsKSB7CisKKy8vIDEuIGEgZnVuY3Rpb24gdG8gaGF2ZSBhbiBpbnN0YW5jZSBvZiB0eXBlIFQgd2l0aG91dCByZXF1aXJpbmcgVCB0byBiZSBkZWZhdWx0CisvLyBjb25zdHJ1Y3RpYmxlCit0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gVCAmbWFrZSgpOworCisKKy8vIDIuIHdlIHByb3ZpZGUgb3VyIG9wZXJhdG9yIGRlZmluaXRpb24gZm9yIHR5cGVzIHRoYXQgZG8gbm90IGhhdmUgb25lIGFscmVhZHkKKworLy8gYSB0eXBlIHJldHVybmVkIGZyb20gb3BlcmF0b3IgQk9PU1RfVFRfVFJBSVRfT1Agd2hlbiBubyBzdWNoIG9wZXJhdG9yIGlzCisvLyBmb3VuZCBpbiB0aGUgdHlwZSdzIG93biBuYW1lc3BhY2UgKG91ciBvd24gb3BlcmF0b3IgaXMgdXNlZCkgc28gdGhhdCB3ZSBoYXZlCisvLyBhIG1lYW5zIHRvIGtub3cgdGhhdCBvdXIgb3BlcmF0b3Igd2FzIHVzZWQKK3N0cnVjdCBub19vcGVyYXRvciB7IH07CisKKy8vIHRoaXMgY2xhc3MgYWxsb3dzIGltcGxpY2l0IGNvbnZlcnNpb25zIGFuZCBtYWtlcyB0aGUgZm9sbG93aW5nIG9wZXJhdG9yCisvLyBkZWZpbml0aW9uIGxlc3MtcHJlZmVycmVkIHRoYW4gYW55IG90aGVyIHN1Y2ggb3BlcmF0b3JzIHRoYXQgbWlnaHQgYmUgZm91bmQKKy8vIHZpYSBhcmd1bWVudC1kZXBlbmRlbnQgbmFtZSBsb29rdXAKK3N0cnVjdCBhbnkgeyB0ZW1wbGF0ZSA8Y2xhc3MgVD4gYW55KFQgY29uc3QmKTsgfTsKKworLy8gd2hlbiBvcGVyYXRvciBCT09TVF9UVF9UUkFJVF9PUCBpcyBub3QgYXZhaWxhYmxlLCB0aGlzIG9uZSBpcyB1c2VkCitub19vcGVyYXRvciBvcGVyYXRvciBCT09TVF9UVF9UUkFJVF9PUCAoY29uc3QgYW55JiwgY29uc3QgYW55Jik7CisKKworLy8gMy4gY2hlY2tzIGlmIHRoZSBvcGVyYXRvciByZXR1cm5zIHZvaWQgb3Igbm90CisvLyBjb25kaXRpb25zOiBMaHMhPXZvaWQgYW5kIFJocyE9dm9pZAorCisvLyB3ZSBmaXJzdCByZWRlZmluZSAib3BlcmF0b3IsIiBzbyB0aGF0IHdlIGhhdmUgbm8gY29tcGlsYXRpb24gZXJyb3IgaWYKKy8vIG9wZXJhdG9yIEJPT1NUX1RUX1RSQUlUX09QIHJldHVybnMgdm9pZCBhbmQgd2UgY2FuIHVzZSB0aGUgcmV0dXJuIHR5cGUgb2YKKy8vIChsaHMgQk9PU1RfVFRfVFJBSVRfT1AgcmhzLCByZXR1cm5zX3ZvaWRfdCgpKSB0byBkZWR1Y2UgaWYKKy8vIG9wZXJhdG9yIEJPT1NUX1RUX1RSQUlUX09QIHJldHVybnMgdm9pZCBvciBub3Q6CisvLyAtIG9wZXJhdG9yIEJPT1NUX1RUX1RSQUlUX09QIHJldHVybnMgdm9pZCAgIC0+IChsaHMgQk9PU1RfVFRfVFJBSVRfT1AgcmhzLCByZXR1cm5zX3ZvaWRfdCgpKSByZXR1cm5zIHJldHVybnNfdm9pZF90CisvLyAtIG9wZXJhdG9yIEJPT1NUX1RUX1RSQUlUX09QIHJldHVybnMgIT12b2lkIC0+IChsaHMgQk9PU1RfVFRfVFJBSVRfT1AgcmhzLCByZXR1cm5zX3ZvaWRfdCgpKSByZXR1cm5zIGludAorc3RydWN0IHJldHVybnNfdm9pZF90IHsgfTsKK3RlbXBsYXRlIDx0eXBlbmFtZSBUPiBpbnQgb3BlcmF0b3IsKGNvbnN0IFQmLCByZXR1cm5zX3ZvaWRfdCk7Cit0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gaW50IG9wZXJhdG9yLChjb25zdCB2b2xhdGlsZSBUJiwgcmV0dXJuc192b2lkX3QpOworCisvLyB0aGlzIGludGVybWVkaWF0ZSB0cmFpdCBoYXMgbWVtYmVyIHZhbHVlIG9mIHR5cGUgYm9vbDoKKy8vIC0gdmFsdWU9PXRydWUgLT4gb3BlcmF0b3IgQk9PU1RfVFRfVFJBSVRfT1AgcmV0dXJucyB2b2lkCisvLyAtIHZhbHVlPT1mYWxzZSAtPiBvcGVyYXRvciBCT09TVF9UVF9UUkFJVF9PUCBkb2VzIG5vdCByZXR1cm4gdm9pZAordGVtcGxhdGUgPCB0eXBlbmFtZSBMaHMsIHR5cGVuYW1lIFJocyA+CitzdHJ1Y3Qgb3BlcmF0b3JfcmV0dXJuc192b2lkIHsKKyAgIC8vIG92ZXJsb2FkcyBvZiBmdW5jdGlvbiByZXR1cm5zX3ZvaWQgbWFrZSB0aGUgZGlmZmVyZW5jZQorICAgLy8geWVzX3R5cGUgYW5kIG5vX3R5cGUgaGF2ZSBkaWZmZXJlbnQgc2l6ZSBieSBjb25zdHJ1Y3Rpb24KKyAgIHN0YXRpYyA6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6eWVzX3R5cGUgcmV0dXJuc192b2lkKHJldHVybnNfdm9pZF90KTsKKyAgIHN0YXRpYyA6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6bm9fdHlwZSByZXR1cm5zX3ZvaWQoaW50KTsKKyAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChib29sLCB2YWx1ZSA9IChzaXplb2YoOjpuZG5ib29zdDo6dHlwZV90cmFpdHM6Onllc190eXBlKT09c2l6ZW9mKHJldHVybnNfdm9pZCgobWFrZTxMaHM+KCkgQk9PU1RfVFRfVFJBSVRfT1AgbWFrZTxSaHM+KCkscmV0dXJuc192b2lkX3QoKSkpKSkpOworfTsKKworCisvLyA0LiBjaGVja3MgaWYgdGhlIHJldHVybiB0eXBlIGlzIFJldCBvciBSZXQ9PWRvbnRfY2FyZQorLy8gY29uZGl0aW9uczogTGhzIT12b2lkIGFuZCBSaHMhPXZvaWQKKworc3RydWN0IGRvbnRfY2FyZSB7IH07CisKK3RlbXBsYXRlIDwgdHlwZW5hbWUgTGhzLCB0eXBlbmFtZSBSaHMsIHR5cGVuYW1lIFJldCwgYm9vbCBSZXR1cm5zX3ZvaWQgPgorc3RydWN0IG9wZXJhdG9yX3JldHVybnNfUmV0OworCit0ZW1wbGF0ZSA8IHR5cGVuYW1lIExocywgdHlwZW5hbWUgUmhzID4KK3N0cnVjdCBvcGVyYXRvcl9yZXR1cm5zX1JldCA8IExocywgUmhzLCBkb250X2NhcmUsIHRydWUgPiB7CisgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoYm9vbCwgdmFsdWUgPSB0cnVlKTsKK307CisKK3RlbXBsYXRlIDwgdHlwZW5hbWUgTGhzLCB0eXBlbmFtZSBSaHMgPgorc3RydWN0IG9wZXJhdG9yX3JldHVybnNfUmV0IDwgTGhzLCBSaHMsIGRvbnRfY2FyZSwgZmFsc2UgPiB7CisgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoYm9vbCwgdmFsdWUgPSB0cnVlKTsKK307CisKK3RlbXBsYXRlIDwgdHlwZW5hbWUgTGhzLCB0eXBlbmFtZSBSaHMgPgorc3RydWN0IG9wZXJhdG9yX3JldHVybnNfUmV0IDwgTGhzLCBSaHMsIHZvaWQsIHRydWUgPiB7CisgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoYm9vbCwgdmFsdWUgPSB0cnVlKTsKK307CisKK3RlbXBsYXRlIDwgdHlwZW5hbWUgTGhzLCB0eXBlbmFtZSBSaHMgPgorc3RydWN0IG9wZXJhdG9yX3JldHVybnNfUmV0IDwgTGhzLCBSaHMsIHZvaWQsIGZhbHNlID4geworICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGJvb2wsIHZhbHVlID0gZmFsc2UpOworfTsKKwordGVtcGxhdGUgPCB0eXBlbmFtZSBMaHMsIHR5cGVuYW1lIFJocywgdHlwZW5hbWUgUmV0ID4KK3N0cnVjdCBvcGVyYXRvcl9yZXR1cm5zX1JldCA8IExocywgUmhzLCBSZXQsIHRydWUgPiB7CisgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoYm9vbCwgdmFsdWUgPSBmYWxzZSk7Cit9OworCisvLyBvdGhlcndpc2UgY2hlY2tzIGlmIGl0IGlzIGNvbnZlcnRpYmxlIHRvIFJldCB1c2luZyB0aGUgc2l6ZW9mIHRyaWNrCisvLyBiYXNlZCBvbiBvdmVybG9hZCByZXNvbHV0aW9uCisvLyBjb25kaXRpb246IFJldCE9dm9pZCBhbmQgUmV0IT1kb250X2NhcmUgYW5kIHRoZSBvcGVyYXRvciBkb2VzIG5vdCByZXR1cm4gdm9pZAordGVtcGxhdGUgPCB0eXBlbmFtZSBMaHMsIHR5cGVuYW1lIFJocywgdHlwZW5hbWUgUmV0ID4KK3N0cnVjdCBvcGVyYXRvcl9yZXR1cm5zX1JldCA8IExocywgUmhzLCBSZXQsIGZhbHNlID4geworICAgc3RhdGljIDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjp5ZXNfdHlwZSBpc19jb252ZXJ0aWJsZV90b19SZXQoUmV0KTsgLy8gdGhpcyB2ZXJzaW9uIGlzIHByZWZlcnJlZCBmb3IgdHlwZXMgY29udmVydGlibGUgdG8gUmV0CisgICBzdGF0aWMgOjpuZG5ib29zdDo6dHlwZV90cmFpdHM6Om5vX3R5cGUgaXNfY29udmVydGlibGVfdG9fUmV0KC4uLik7IC8vIHRoaXMgdmVyc2lvbiBpcyB1c2VkIG90aGVyd2lzZQorCisgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoYm9vbCwgdmFsdWUgPSAoc2l6ZW9mKGlzX2NvbnZlcnRpYmxlX3RvX1JldChtYWtlPExocz4oKSBCT09TVF9UVF9UUkFJVF9PUCBtYWtlPFJocz4oKSkpPT1zaXplb2YoOjpuZG5ib29zdDo6dHlwZV90cmFpdHM6Onllc190eXBlKSkpOworfTsKKworCisvLyA1LiBjaGVja3MgZm9yIG9wZXJhdG9yIGV4aXN0ZW5jZQorLy8gY29uZGl0aW9uOiBMaHMhPXZvaWQgYW5kIFJocyE9dm9pZAorCisvLyBjaGVja3MgaWYgb3VyIGRlZmluaXRpb24gb2Ygb3BlcmF0b3IgQk9PU1RfVFRfVFJBSVRfT1AgaXMgdXNlZCBvciBhbiBvdGhlcgorLy8gZXhpc3Rpbmcgb25lOworLy8gdGhpcyBpcyBkb25lIHdpdGggcmVkZWZpbml0aW9uIG9mICJvcGVyYXRvciwiIHRoYXQgcmV0dXJucyBub19vcGVyYXRvciBvciBoYXNfb3BlcmF0b3IKK3N0cnVjdCBoYXNfb3BlcmF0b3IgeyB9Oworbm9fb3BlcmF0b3Igb3BlcmF0b3IsKG5vX29wZXJhdG9yLCBoYXNfb3BlcmF0b3IpOworCit0ZW1wbGF0ZSA8IHR5cGVuYW1lIExocywgdHlwZW5hbWUgUmhzID4KK3N0cnVjdCBvcGVyYXRvcl9leGlzdHMgeworICAgc3RhdGljIDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjp5ZXNfdHlwZSBjaGVjayhoYXNfb3BlcmF0b3IpOyAvLyB0aGlzIHZlcnNpb24gaXMgcHJlZmVycmVkIHdoZW4gb3BlcmF0b3IgZXhpc3RzCisgICBzdGF0aWMgOjpuZG5ib29zdDo6dHlwZV90cmFpdHM6Om5vX3R5cGUgY2hlY2sobm9fb3BlcmF0b3IpOyAvLyB0aGlzIHZlcnNpb24gaXMgdXNlZCBvdGhlcndpc2UKKworICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGJvb2wsIHZhbHVlID0gKHNpemVvZihjaGVjaygoKG1ha2U8TGhzPigpIEJPT1NUX1RUX1RSQUlUX09QIG1ha2U8UmhzPigpKSxtYWtlPGhhc19vcGVyYXRvcj4oKSkpKT09c2l6ZW9mKDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjp5ZXNfdHlwZSkpKTsKK307CisKKworLy8gNi4gbWFpbiB0cmFpdDogdG8gYXZvaWQgYW55IGNvbXBpbGF0aW9uIGVycm9yLCB0aGlzIGNsYXNzIGJlaGF2ZXMKKy8vIGRpZmZlcmVudGx5IHdoZW4gb3BlcmF0b3IgQk9PU1RfVFRfVFJBSVRfT1AoTGhzLCBSaHMpIGlzIGZvcmJpZGRlbiBieSB0aGUKKy8vIHN0YW5kYXJkLgorLy8gRm9yYmlkZGVuX2lmIGlzIGEgYm9vbCB0aGF0IGlzOgorLy8gLSB0cnVlIHdoZW4gdGhlIG9wZXJhdG9yIEJPT1NUX1RUX1RSQUlUX09QKExocywgUmhzKSBpcyBmb3JiaWRkZW4gYnkgdGhlIHN0YW5kYXJkCisvLyAgICh3b3VsZCB5aWVsZCBjb21waWxhdGlvbiBlcnJvciBpZiB1c2VkKQorLy8gLSBmYWxzZSBvdGhlcndpc2UKK3RlbXBsYXRlIDwgdHlwZW5hbWUgTGhzLCB0eXBlbmFtZSBSaHMsIHR5cGVuYW1lIFJldCwgYm9vbCBGb3JiaWRkZW5faWYgPgorc3RydWN0IHRyYWl0X2ltcGwxOworCit0ZW1wbGF0ZSA8IHR5cGVuYW1lIExocywgdHlwZW5hbWUgUmhzLCB0eXBlbmFtZSBSZXQgPgorc3RydWN0IHRyYWl0X2ltcGwxIDwgTGhzLCBSaHMsIFJldCwgdHJ1ZSA+IHsKKyAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChib29sLCB2YWx1ZSA9IGZhbHNlKTsKK307CisKK3RlbXBsYXRlIDwgdHlwZW5hbWUgTGhzLCB0eXBlbmFtZSBSaHMsIHR5cGVuYW1lIFJldCA+CitzdHJ1Y3QgdHJhaXRfaW1wbDEgPCBMaHMsIFJocywgUmV0LCBmYWxzZSA+IHsKKyAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChib29sLAorICAgICAgdmFsdWUgPSAoCisgICAgICAgICA6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6aWNlX2FuZDwKKyAgICAgICAgICAgIG9wZXJhdG9yX2V4aXN0cyA8IExocywgUmhzID46OnZhbHVlLAorICAgICAgICAgICAgb3BlcmF0b3JfcmV0dXJuc19SZXQgPCBMaHMsIFJocywgUmV0LCBvcGVyYXRvcl9yZXR1cm5zX3ZvaWQgPCBMaHMsIFJocyA+Ojp2YWx1ZSA+Ojp2YWx1ZQorICAgICAgICAgPjo6dmFsdWUKKyAgICAgICkKKyAgICk7Cit9OworCisvLyBzb21lIHNwZWNpYWxpemF0aW9ucyBuZWVkcyB0byBiZSBkZWNsYXJlZCBmb3IgdGhlIHNwZWNpYWwgdm9pZCBjYXNlCit0ZW1wbGF0ZSA8IHR5cGVuYW1lIFJocywgdHlwZW5hbWUgUmV0ID4KK3N0cnVjdCB0cmFpdF9pbXBsMSA8IHZvaWQsIFJocywgUmV0LCBmYWxzZSA+IHsKKyAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChib29sLCB2YWx1ZSA9IGZhbHNlKTsKK307CisKK3RlbXBsYXRlIDwgdHlwZW5hbWUgTGhzLCB0eXBlbmFtZSBSZXQgPgorc3RydWN0IHRyYWl0X2ltcGwxIDwgTGhzLCB2b2lkLCBSZXQsIGZhbHNlID4geworICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGJvb2wsIHZhbHVlID0gZmFsc2UpOworfTsKKwordGVtcGxhdGUgPCB0eXBlbmFtZSBSZXQgPgorc3RydWN0IHRyYWl0X2ltcGwxIDwgdm9pZCwgdm9pZCwgUmV0LCBmYWxzZSA+IHsKKyAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChib29sLCB2YWx1ZSA9IGZhbHNlKTsKK307CisKKy8vIGRlZmluZXMgc29tZSB0eXBlZGVmIGZvciBjb252ZW5pZW5jZQordGVtcGxhdGUgPCB0eXBlbmFtZSBMaHMsIHR5cGVuYW1lIFJocywgdHlwZW5hbWUgUmV0ID4KK3N0cnVjdCB0cmFpdF9pbXBsIHsKKyAgIHR5cGVkZWYgdHlwZW5hbWUgOjpuZG5ib29zdDo6cmVtb3ZlX3JlZmVyZW5jZTxMaHM+Ojp0eXBlIExoc19ub3JlZjsKKyAgIHR5cGVkZWYgdHlwZW5hbWUgOjpuZG5ib29zdDo6cmVtb3ZlX3JlZmVyZW5jZTxSaHM+Ojp0eXBlIFJoc19ub3JlZjsKKyAgIHR5cGVkZWYgdHlwZW5hbWUgOjpuZG5ib29zdDo6cmVtb3ZlX2N2PExoc19ub3JlZj46OnR5cGUgTGhzX25vY3Y7CisgICB0eXBlZGVmIHR5cGVuYW1lIDo6bmRuYm9vc3Q6OnJlbW92ZV9jdjxSaHNfbm9yZWY+Ojp0eXBlIFJoc19ub2N2OworICAgdHlwZWRlZiB0eXBlbmFtZSA6Om5kbmJvb3N0OjpyZW1vdmVfY3Y8IHR5cGVuYW1lIDo6bmRuYm9vc3Q6OnJlbW92ZV9yZWZlcmVuY2U8IHR5cGVuYW1lIDo6bmRuYm9vc3Q6OnJlbW92ZV9wb2ludGVyPExoc19ub3JlZj46OnR5cGUgPjo6dHlwZSA+Ojp0eXBlIExoc19ub3B0cjsKKyAgIHR5cGVkZWYgdHlwZW5hbWUgOjpuZG5ib29zdDo6cmVtb3ZlX2N2PCB0eXBlbmFtZSA6Om5kbmJvb3N0OjpyZW1vdmVfcmVmZXJlbmNlPCB0eXBlbmFtZSA6Om5kbmJvb3N0OjpyZW1vdmVfcG9pbnRlcjxSaHNfbm9yZWY+Ojp0eXBlID46OnR5cGUgPjo6dHlwZSBSaHNfbm9wdHI7CisgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoYm9vbCwgdmFsdWUgPSAodHJhaXRfaW1wbDEgPCBMaHNfbm9yZWYsIFJoc19ub3JlZiwgUmV0LCBCT09TVF9UVF9GT1JCSURERU5fSUYgPjo6dmFsdWUpKTsKK307CisKK30gLy8gbmFtZXNwYWNlIGltcGwKK30gLy8gbmFtZXNwYWNlIGRldGFpbAorCisvLyB0aGlzIGlzIHRoZSBhY2Nlc3NpYmxlIGRlZmluaXRpb24gb2YgdGhlIHRyYWl0IHRvIGVuZCB1c2VyCitCT09TVF9UVF9BVVhfQk9PTF9UUkFJVF9ERUYzKEJPT1NUX1RUX1RSQUlUX05BTUUsIExocywgUmhzPUxocywgUmV0PTo6bmRuYm9vc3Q6OmRldGFpbDo6Qk9PU1RfSk9JTihCT09TVF9UVF9UUkFJVF9OQU1FLF9pbXBsKTo6ZG9udF9jYXJlLCAoOjpuZG5ib29zdDo6ZGV0YWlsOjpCT09TVF9KT0lOKEJPT1NUX1RUX1RSQUlUX05BTUUsX2ltcGwpOjp0cmFpdF9pbXBsIDwgTGhzLCBSaHMsIFJldCA+Ojp2YWx1ZSkpCisKK30gLy8gbmFtZXNwYWNlIG5kbmJvb3N0CisKKyNpZiBkZWZpbmVkKEJPT1NUX01TVkMpCisjICAgcHJhZ21hIHdhcm5pbmcgKCBwb3AgKQorI2VuZGlmCisKKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9kZXRhaWwvYm9vbF90cmFpdF91bmRlZi5ocHA+CmRpZmYgLS1naXQgYS9uZG5ib29zdC90eXBlX3RyYWl0cy9kZXRhaWwvaGFzX3Bvc3RmaXhfb3BlcmF0b3IuaHBwIGIvbmRuYm9vc3QvdHlwZV90cmFpdHMvZGV0YWlsL2hhc19wb3N0Zml4X29wZXJhdG9yLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZGQ3ZjVhCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvdHlwZV90cmFpdHMvZGV0YWlsL2hhc19wb3N0Zml4X29wZXJhdG9yLmhwcApAQCAtMCwwICsxLDIwMiBAQAorLy8gIChDKSBDb3B5cmlnaHQgMjAwOS0yMDExIEZyZWRlcmljIEJyb24sIFJvYmVydCBTdGV3YXJ0LCBTdGV2ZW4gV2F0YW5hYmUgJiBSb21hbiBQZXJlcGVsaXRzYS4KKy8vCisvLyAgVXNlLCBtb2RpZmljYXRpb24gYW5kIGRpc3RyaWJ1dGlvbiBhcmUgc3ViamVjdCB0byB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwKKy8vICBWZXJzaW9uIDEuMC4gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdAorLy8gIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkuCisvLworLy8gIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL3R5cGVfdHJhaXRzIGZvciBtb3N0IHJlY2VudCB2ZXJzaW9uIGluY2x1ZGluZyBkb2N1bWVudGF0aW9uLgorCisjaW5jbHVkZSA8bmRuYm9vc3QvY29uZmlnLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9pY2UuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2ludGVncmFsX2NvbnN0YW50LmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9pc19jb25zdC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvaXNfZnVuZGFtZW50YWwuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2lzX3BvaW50ZXIuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2lzX3NhbWUuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2lzX3ZvaWQuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL3JlbW92ZV9jdi5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvcmVtb3ZlX3BvaW50ZXIuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL3JlbW92ZV9yZWZlcmVuY2UuaHBwPgorCisvLyBzaG91bGQgYmUgdGhlIGxhc3QgI2luY2x1ZGUKKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9kZXRhaWwvYm9vbF90cmFpdF9kZWYuaHBwPgorCisvLyBhdm9pZCB3YXJuaW5ncworI2lmIGRlZmluZWQoX19HTlVDX18pICYmICgoX19HTlVDX189PTMgJiYgX19HTlVDX01JTk9SX18+PTEpIHx8IChfX0dOVUNfXz4zKSkKKyMgICBwcmFnbWEgR0NDIHN5c3RlbV9oZWFkZXIKKyNlbGlmIGRlZmluZWQoQk9PU1RfTVNWQykKKyMgICBwcmFnbWEgd2FybmluZyAoIHB1c2ggKQorIyAgIHByYWdtYSB3YXJuaW5nICggZGlzYWJsZSA6IDQyNDQgNDkxMyApCisjZW5kaWYKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsKK25hbWVzcGFjZSBkZXRhaWwgeworCisvLyBUaGlzIG5hbWVzcGFjZSBlbnN1cmVzIHRoYXQgYXJndW1lbnQtZGVwZW5kZW50IG5hbWUgbG9va3VwIGRvZXMgbm90IG1lc3MgdGhpbmdzIHVwLgorbmFtZXNwYWNlIEJPT1NUX0pPSU4oQk9PU1RfVFRfVFJBSVRfTkFNRSxfaW1wbCkgeworCisvLyAxLiBhIGZ1bmN0aW9uIHRvIGhhdmUgYW4gaW5zdGFuY2Ugb2YgdHlwZSBUIHdpdGhvdXQgcmVxdWlyaW5nIFQgdG8gYmUgZGVmYXVsdAorLy8gY29uc3RydWN0aWJsZQordGVtcGxhdGUgPHR5cGVuYW1lIFQ+IFQgJm1ha2UoKTsKKworCisvLyAyLiB3ZSBwcm92aWRlIG91ciBvcGVyYXRvciBkZWZpbml0aW9uIGZvciB0eXBlcyB0aGF0IGRvIG5vdCBoYXZlIG9uZSBhbHJlYWR5CisKKy8vIGEgdHlwZSByZXR1cm5lZCBmcm9tIG9wZXJhdG9yIEJPT1NUX1RUX1RSQUlUX09QIHdoZW4gbm8gc3VjaCBvcGVyYXRvciBpcworLy8gZm91bmQgaW4gdGhlIHR5cGUncyBvd24gbmFtZXNwYWNlIChvdXIgb3duIG9wZXJhdG9yIGlzIHVzZWQpIHNvIHRoYXQgd2UgaGF2ZQorLy8gYSBtZWFucyB0byBrbm93IHRoYXQgb3VyIG9wZXJhdG9yIHdhcyB1c2VkCitzdHJ1Y3Qgbm9fb3BlcmF0b3IgeyB9OworCisvLyB0aGlzIGNsYXNzIGFsbG93cyBpbXBsaWNpdCBjb252ZXJzaW9ucyBhbmQgbWFrZXMgdGhlIGZvbGxvd2luZyBvcGVyYXRvcgorLy8gZGVmaW5pdGlvbiBsZXNzLXByZWZlcnJlZCB0aGFuIGFueSBvdGhlciBzdWNoIG9wZXJhdG9ycyB0aGF0IG1pZ2h0IGJlIGZvdW5kCisvLyB2aWEgYXJndW1lbnQtZGVwZW5kZW50IG5hbWUgbG9va3VwCitzdHJ1Y3QgYW55IHsgdGVtcGxhdGUgPGNsYXNzIFQ+IGFueShUIGNvbnN0Jik7IH07CisKKy8vIHdoZW4gb3BlcmF0b3IgQk9PU1RfVFRfVFJBSVRfT1AgaXMgbm90IGF2YWlsYWJsZSwgdGhpcyBvbmUgaXMgdXNlZAorbm9fb3BlcmF0b3Igb3BlcmF0b3IgQk9PU1RfVFRfVFJBSVRfT1AgKGNvbnN0IGFueSYsIGludCk7CisKKworLy8gMy4gY2hlY2tzIGlmIHRoZSBvcGVyYXRvciByZXR1cm5zIHZvaWQgb3Igbm90CisvLyBjb25kaXRpb25zOiBMaHMhPXZvaWQKKworLy8gd2UgZmlyc3QgcmVkZWZpbmUgIm9wZXJhdG9yLCIgc28gdGhhdCB3ZSBoYXZlIG5vIGNvbXBpbGF0aW9uIGVycm9yIGlmCisvLyBvcGVyYXRvciBCT09TVF9UVF9UUkFJVF9PUCByZXR1cm5zIHZvaWQgYW5kIHdlIGNhbiB1c2UgdGhlIHJldHVybiB0eXBlIG9mCisvLyAobGhzIEJPT1NUX1RUX1RSQUlUX09QLCByZXR1cm5zX3ZvaWRfdCgpKSB0byBkZWR1Y2UgaWYKKy8vIG9wZXJhdG9yIEJPT1NUX1RUX1RSQUlUX09QIHJldHVybnMgdm9pZCBvciBub3Q6CisvLyAtIG9wZXJhdG9yIEJPT1NUX1RUX1RSQUlUX09QIHJldHVybnMgdm9pZCAgIC0+IChsaHMgQk9PU1RfVFRfVFJBSVRfT1AsIHJldHVybnNfdm9pZF90KCkpIHJldHVybnMgcmV0dXJuc192b2lkX3QKKy8vIC0gb3BlcmF0b3IgQk9PU1RfVFRfVFJBSVRfT1AgcmV0dXJucyAhPXZvaWQgLT4gKGxocyBCT09TVF9UVF9UUkFJVF9PUCwgcmV0dXJuc192b2lkX3QoKSkgcmV0dXJucyBpbnQKK3N0cnVjdCByZXR1cm5zX3ZvaWRfdCB7IH07Cit0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gaW50IG9wZXJhdG9yLChjb25zdCBUJiwgcmV0dXJuc192b2lkX3QpOwordGVtcGxhdGUgPHR5cGVuYW1lIFQ+IGludCBvcGVyYXRvciwoY29uc3Qgdm9sYXRpbGUgVCYsIHJldHVybnNfdm9pZF90KTsKKworLy8gdGhpcyBpbnRlcm1lZGlhdGUgdHJhaXQgaGFzIG1lbWJlciB2YWx1ZSBvZiB0eXBlIGJvb2w6CisvLyAtIHZhbHVlPT10cnVlIC0+IG9wZXJhdG9yIEJPT1NUX1RUX1RSQUlUX09QIHJldHVybnMgdm9pZAorLy8gLSB2YWx1ZT09ZmFsc2UgLT4gb3BlcmF0b3IgQk9PU1RfVFRfVFJBSVRfT1AgZG9lcyBub3QgcmV0dXJuIHZvaWQKK3RlbXBsYXRlIDwgdHlwZW5hbWUgTGhzID4KK3N0cnVjdCBvcGVyYXRvcl9yZXR1cm5zX3ZvaWQgeworICAgLy8gb3ZlcmxvYWRzIG9mIGZ1bmN0aW9uIHJldHVybnNfdm9pZCBtYWtlIHRoZSBkaWZmZXJlbmNlCisgICAvLyB5ZXNfdHlwZSBhbmQgbm9fdHlwZSBoYXZlIGRpZmZlcmVudCBzaXplIGJ5IGNvbnN0cnVjdGlvbgorICAgc3RhdGljIDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjp5ZXNfdHlwZSByZXR1cm5zX3ZvaWQocmV0dXJuc192b2lkX3QpOworICAgc3RhdGljIDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjpub190eXBlIHJldHVybnNfdm9pZChpbnQpOworICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGJvb2wsIHZhbHVlID0gKHNpemVvZig6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6eWVzX3R5cGUpPT1zaXplb2YocmV0dXJuc192b2lkKChtYWtlPExocz4oKSBCT09TVF9UVF9UUkFJVF9PUCxyZXR1cm5zX3ZvaWRfdCgpKSkpKSk7Cit9OworCisKKy8vIDQuIGNoZWNrcyBpZiB0aGUgcmV0dXJuIHR5cGUgaXMgUmV0IG9yIFJldD09ZG9udF9jYXJlCisvLyBjb25kaXRpb25zOiBMaHMhPXZvaWQKKworc3RydWN0IGRvbnRfY2FyZSB7IH07CisKK3RlbXBsYXRlIDwgdHlwZW5hbWUgTGhzLCB0eXBlbmFtZSBSZXQsIGJvb2wgUmV0dXJuc192b2lkID4KK3N0cnVjdCBvcGVyYXRvcl9yZXR1cm5zX1JldDsKKwordGVtcGxhdGUgPCB0eXBlbmFtZSBMaHMgPgorc3RydWN0IG9wZXJhdG9yX3JldHVybnNfUmV0IDwgTGhzLCBkb250X2NhcmUsIHRydWUgPiB7CisgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoYm9vbCwgdmFsdWUgPSB0cnVlKTsKK307CisKK3RlbXBsYXRlIDwgdHlwZW5hbWUgTGhzID4KK3N0cnVjdCBvcGVyYXRvcl9yZXR1cm5zX1JldCA8IExocywgZG9udF9jYXJlLCBmYWxzZSA+IHsKKyAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChib29sLCB2YWx1ZSA9IHRydWUpOworfTsKKwordGVtcGxhdGUgPCB0eXBlbmFtZSBMaHMgPgorc3RydWN0IG9wZXJhdG9yX3JldHVybnNfUmV0IDwgTGhzLCB2b2lkLCB0cnVlID4geworICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGJvb2wsIHZhbHVlID0gdHJ1ZSk7Cit9OworCit0ZW1wbGF0ZSA8IHR5cGVuYW1lIExocyA+CitzdHJ1Y3Qgb3BlcmF0b3JfcmV0dXJuc19SZXQgPCBMaHMsIHZvaWQsIGZhbHNlID4geworICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGJvb2wsIHZhbHVlID0gZmFsc2UpOworfTsKKwordGVtcGxhdGUgPCB0eXBlbmFtZSBMaHMsIHR5cGVuYW1lIFJldCA+CitzdHJ1Y3Qgb3BlcmF0b3JfcmV0dXJuc19SZXQgPCBMaHMsIFJldCwgdHJ1ZSA+IHsKKyAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChib29sLCB2YWx1ZSA9IGZhbHNlKTsKK307CisKKy8vIG90aGVyd2lzZSBjaGVja3MgaWYgaXQgaXMgY29udmVydGlibGUgdG8gUmV0IHVzaW5nIHRoZSBzaXplb2YgdHJpY2sKKy8vIGJhc2VkIG9uIG92ZXJsb2FkIHJlc29sdXRpb24KKy8vIGNvbmRpdGlvbjogUmV0IT12b2lkIGFuZCBSZXQhPWRvbnRfY2FyZSBhbmQgdGhlIG9wZXJhdG9yIGRvZXMgbm90IHJldHVybiB2b2lkCit0ZW1wbGF0ZSA8IHR5cGVuYW1lIExocywgdHlwZW5hbWUgUmV0ID4KK3N0cnVjdCBvcGVyYXRvcl9yZXR1cm5zX1JldCA8IExocywgUmV0LCBmYWxzZSA+IHsKKyAgIHN0YXRpYyA6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6eWVzX3R5cGUgaXNfY29udmVydGlibGVfdG9fUmV0KFJldCk7IC8vIHRoaXMgdmVyc2lvbiBpcyBwcmVmZXJyZWQgZm9yIHR5cGVzIGNvbnZlcnRpYmxlIHRvIFJldAorICAgc3RhdGljIDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjpub190eXBlIGlzX2NvbnZlcnRpYmxlX3RvX1JldCguLi4pOyAvLyB0aGlzIHZlcnNpb24gaXMgdXNlZCBvdGhlcndpc2UKKworICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGJvb2wsIHZhbHVlID0gKHNpemVvZihpc19jb252ZXJ0aWJsZV90b19SZXQobWFrZTxMaHM+KCkgQk9PU1RfVFRfVFJBSVRfT1ApKT09c2l6ZW9mKDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjp5ZXNfdHlwZSkpKTsKK307CisKKworLy8gNS4gY2hlY2tzIGZvciBvcGVyYXRvciBleGlzdGVuY2UKKy8vIGNvbmRpdGlvbjogTGhzIT12b2lkCisKKy8vIGNoZWNrcyBpZiBvdXIgZGVmaW5pdGlvbiBvZiBvcGVyYXRvciBCT09TVF9UVF9UUkFJVF9PUCBpcyB1c2VkIG9yIGFuIG90aGVyCisvLyBleGlzdGluZyBvbmU7CisvLyB0aGlzIGlzIGRvbmUgd2l0aCByZWRlZmluaXRpb24gb2YgIm9wZXJhdG9yLCIgdGhhdCByZXR1cm5zIG5vX29wZXJhdG9yIG9yIGhhc19vcGVyYXRvcgorc3RydWN0IGhhc19vcGVyYXRvciB7IH07Citub19vcGVyYXRvciBvcGVyYXRvciwobm9fb3BlcmF0b3IsIGhhc19vcGVyYXRvcik7CisKK3RlbXBsYXRlIDwgdHlwZW5hbWUgTGhzID4KK3N0cnVjdCBvcGVyYXRvcl9leGlzdHMgeworICAgc3RhdGljIDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjp5ZXNfdHlwZSBjaGVjayhoYXNfb3BlcmF0b3IpOyAvLyB0aGlzIHZlcnNpb24gaXMgcHJlZmVycmVkIHdoZW4gb3BlcmF0b3IgZXhpc3RzCisgICBzdGF0aWMgOjpuZG5ib29zdDo6dHlwZV90cmFpdHM6Om5vX3R5cGUgY2hlY2sobm9fb3BlcmF0b3IpOyAvLyB0aGlzIHZlcnNpb24gaXMgdXNlZCBvdGhlcndpc2UKKworICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGJvb2wsIHZhbHVlID0gKHNpemVvZihjaGVjaygoKG1ha2U8TGhzPigpIEJPT1NUX1RUX1RSQUlUX09QKSxtYWtlPGhhc19vcGVyYXRvcj4oKSkpKT09c2l6ZW9mKDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjp5ZXNfdHlwZSkpKTsKK307CisKKworLy8gNi4gbWFpbiB0cmFpdDogdG8gYXZvaWQgYW55IGNvbXBpbGF0aW9uIGVycm9yLCB0aGlzIGNsYXNzIGJlaGF2ZXMKKy8vIGRpZmZlcmVudGx5IHdoZW4gb3BlcmF0b3IgQk9PU1RfVFRfVFJBSVRfT1AoTGhzKSBpcyBmb3JiaWRkZW4gYnkgdGhlCisvLyBzdGFuZGFyZC4KKy8vIEZvcmJpZGRlbl9pZiBpcyBhIGJvb2wgdGhhdCBpczoKKy8vIC0gdHJ1ZSB3aGVuIHRoZSBvcGVyYXRvciBCT09TVF9UVF9UUkFJVF9PUChMaHMpIGlzIGZvcmJpZGRlbiBieSB0aGUgc3RhbmRhcmQKKy8vICAgKHdvdWxkIHlpZWxkIGNvbXBpbGF0aW9uIGVycm9yIGlmIHVzZWQpCisvLyAtIGZhbHNlIG90aGVyd2lzZQordGVtcGxhdGUgPCB0eXBlbmFtZSBMaHMsIHR5cGVuYW1lIFJldCwgYm9vbCBGb3JiaWRkZW5faWYgPgorc3RydWN0IHRyYWl0X2ltcGwxOworCit0ZW1wbGF0ZSA8IHR5cGVuYW1lIExocywgdHlwZW5hbWUgUmV0ID4KK3N0cnVjdCB0cmFpdF9pbXBsMSA8IExocywgUmV0LCB0cnVlID4geworICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGJvb2wsIHZhbHVlID0gZmFsc2UpOworfTsKKwordGVtcGxhdGUgPCB0eXBlbmFtZSBMaHMsIHR5cGVuYW1lIFJldCA+CitzdHJ1Y3QgdHJhaXRfaW1wbDEgPCBMaHMsIFJldCwgZmFsc2UgPiB7CisgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoYm9vbCwKKyAgICAgIHZhbHVlID0gKAorICAgICAgICAgOjpuZG5ib29zdDo6dHlwZV90cmFpdHM6OmljZV9hbmQ8CisgICAgICAgICAgICBvcGVyYXRvcl9leGlzdHMgPCBMaHMgPjo6dmFsdWUsCisgICAgICAgICAgICBvcGVyYXRvcl9yZXR1cm5zX1JldCA8IExocywgUmV0LCBvcGVyYXRvcl9yZXR1cm5zX3ZvaWQgPCBMaHMgPjo6dmFsdWUgPjo6dmFsdWUKKyAgICAgICAgID46OnZhbHVlCisgICAgICApCisgICApOworfTsKKworLy8gc3BlY2lhbGl6YXRpb24gbmVlZHMgdG8gYmUgZGVjbGFyZWQgZm9yIHRoZSBzcGVjaWFsIHZvaWQgY2FzZQordGVtcGxhdGUgPCB0eXBlbmFtZSBSZXQgPgorc3RydWN0IHRyYWl0X2ltcGwxIDwgdm9pZCwgUmV0LCBmYWxzZSA+IHsKKyAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChib29sLCB2YWx1ZSA9IGZhbHNlKTsKK307CisKKy8vIGRlZmluZXMgc29tZSB0eXBlZGVmIGZvciBjb252ZW5pZW5jZQordGVtcGxhdGUgPCB0eXBlbmFtZSBMaHMsIHR5cGVuYW1lIFJldCA+CitzdHJ1Y3QgdHJhaXRfaW1wbCB7CisgICB0eXBlZGVmIHR5cGVuYW1lIDo6bmRuYm9vc3Q6OnJlbW92ZV9yZWZlcmVuY2U8TGhzPjo6dHlwZSBMaHNfbm9yZWY7CisgICB0eXBlZGVmIHR5cGVuYW1lIDo6bmRuYm9vc3Q6OnJlbW92ZV9jdjxMaHNfbm9yZWY+Ojp0eXBlIExoc19ub2N2OworICAgdHlwZWRlZiB0eXBlbmFtZSA6Om5kbmJvb3N0OjpyZW1vdmVfY3Y8IHR5cGVuYW1lIDo6bmRuYm9vc3Q6OnJlbW92ZV9yZWZlcmVuY2U8IHR5cGVuYW1lIDo6bmRuYm9vc3Q6OnJlbW92ZV9wb2ludGVyPExoc19ub3JlZj46OnR5cGUgPjo6dHlwZSA+Ojp0eXBlIExoc19ub3B0cjsKKyAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChib29sLCB2YWx1ZSA9ICh0cmFpdF9pbXBsMSA8IExoc19ub3JlZiwgUmV0LCBCT09TVF9UVF9GT1JCSURERU5fSUYgPjo6dmFsdWUpKTsKK307CisKK30gLy8gbmFtZXNwYWNlIGltcGwKK30gLy8gbmFtZXNwYWNlIGRldGFpbAorCisvLyB0aGlzIGlzIHRoZSBhY2Nlc3NpYmxlIGRlZmluaXRpb24gb2YgdGhlIHRyYWl0IHRvIGVuZCB1c2VyCitCT09TVF9UVF9BVVhfQk9PTF9UUkFJVF9ERUYyKEJPT1NUX1RUX1RSQUlUX05BTUUsIExocywgUmV0PTo6bmRuYm9vc3Q6OmRldGFpbDo6Qk9PU1RfSk9JTihCT09TVF9UVF9UUkFJVF9OQU1FLF9pbXBsKTo6ZG9udF9jYXJlLCAoOjpuZG5ib29zdDo6ZGV0YWlsOjpCT09TVF9KT0lOKEJPT1NUX1RUX1RSQUlUX05BTUUsX2ltcGwpOjp0cmFpdF9pbXBsPCBMaHMsIFJldCA+Ojp2YWx1ZSkpCisKK30gLy8gbmFtZXNwYWNlIG5kbmJvb3N0CisKKyNpZiBkZWZpbmVkKEJPT1NUX01TVkMpCisjICAgcHJhZ21hIHdhcm5pbmcgKCBwb3AgKQorI2VuZGlmCisKKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9kZXRhaWwvYm9vbF90cmFpdF91bmRlZi5ocHA+CmRpZmYgLS1naXQgYS9uZG5ib29zdC90eXBlX3RyYWl0cy9kZXRhaWwvaGFzX3ByZWZpeF9vcGVyYXRvci5ocHAgYi9uZG5ib29zdC90eXBlX3RyYWl0cy9kZXRhaWwvaGFzX3ByZWZpeF9vcGVyYXRvci5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjExMTNkMgotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L3R5cGVfdHJhaXRzL2RldGFpbC9oYXNfcHJlZml4X29wZXJhdG9yLmhwcApAQCAtMCwwICsxLDIxMCBAQAorLy8gIChDKSBDb3B5cmlnaHQgMjAwOS0yMDExIEZyZWRlcmljIEJyb24sIFJvYmVydCBTdGV3YXJ0LCBTdGV2ZW4gV2F0YW5hYmUgJiBSb21hbiBQZXJlcGVsaXRzYS4KKy8vCisvLyAgVXNlLCBtb2RpZmljYXRpb24gYW5kIGRpc3RyaWJ1dGlvbiBhcmUgc3ViamVjdCB0byB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwKKy8vICBWZXJzaW9uIDEuMC4gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdAorLy8gIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkuCisvLworLy8gIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL3R5cGVfdHJhaXRzIGZvciBtb3N0IHJlY2VudCB2ZXJzaW9uIGluY2x1ZGluZyBkb2N1bWVudGF0aW9uLgorCisjaW5jbHVkZSA8bmRuYm9vc3QvY29uZmlnLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9pY2UuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2ludGVncmFsX2NvbnN0YW50LmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9pc19jb25zdC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvaXNfZnVuZGFtZW50YWwuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2lzX2ludGVncmFsLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9pc19wb2ludGVyLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9pc19zYW1lLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9pc192b2lkLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9yZW1vdmVfY3YuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL3JlbW92ZV9wb2ludGVyLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9yZW1vdmVfcmVmZXJlbmNlLmhwcD4KKworLy8gc2hvdWxkIGJlIHRoZSBsYXN0ICNpbmNsdWRlCisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvZGV0YWlsL2Jvb2xfdHJhaXRfZGVmLmhwcD4KKworLy8gY2Fubm90IGluY2x1ZGUgdGhpcyBoZWFkZXIgd2l0aG91dCBnZXR0aW5nIHdhcm5pbmdzIG9mIHRoZSBraW5kOgorLy8gZ2NjOgorLy8gICAgd2FybmluZzogdmFsdWUgY29tcHV0ZWQgaXMgbm90IHVzZWQKKy8vICAgIHdhcm5pbmc6IGNvbXBhcmlzb24gYmV0d2VlbiBzaWduZWQgYW5kIHVuc2lnbmVkIGludGVnZXIgZXhwcmVzc2lvbnMKKy8vIG1zdmM6CisvLyAgICB3YXJuaW5nIEM0MTQ2OiB1bmFyeSBtaW51cyBvcGVyYXRvciBhcHBsaWVkIHRvIHVuc2lnbmVkIHR5cGUsIHJlc3VsdCBzdGlsbCB1bnNpZ25lZAorLy8gICAgd2FybmluZyBDNDgwNDogJy0nIDogdW5zYWZlIHVzZSBvZiB0eXBlICdib29sJyBpbiBvcGVyYXRpb24KKy8vIGNhbm5vdCBmaW5kIGFub3RoZXIgaW1wbGVtZW50YXRpb24gLT4gZGVjbGFyZWQgYXMgc3lzdGVtIGhlYWRlciB0byBzdXBwcmVzcyB0aGVzZSB3YXJuaW5ncy4KKyNpZiBkZWZpbmVkKF9fR05VQ19fKSAmJiAoKF9fR05VQ19fPT0zICYmIF9fR05VQ19NSU5PUl9fPj0xKSB8fCAoX19HTlVDX18+MykpCisjICAgcHJhZ21hIEdDQyBzeXN0ZW1faGVhZGVyCisjZWxpZiBkZWZpbmVkKEJPT1NUX01TVkMpCisjICAgcHJhZ21hIHdhcm5pbmcgKCBwdXNoICkKKyMgICBwcmFnbWEgd2FybmluZyAoIGRpc2FibGUgOiA0MTQ2IDQ4MDQgNDkxMyA0MjQ0ICkKKyNlbmRpZgorCituYW1lc3BhY2UgbmRuYm9vc3QgeworbmFtZXNwYWNlIGRldGFpbCB7CisKKy8vIFRoaXMgbmFtZXNwYWNlIGVuc3VyZXMgdGhhdCBhcmd1bWVudC1kZXBlbmRlbnQgbmFtZSBsb29rdXAgZG9lcyBub3QgbWVzcyB0aGluZ3MgdXAuCituYW1lc3BhY2UgQk9PU1RfSk9JTihCT09TVF9UVF9UUkFJVF9OQU1FLF9pbXBsKSB7CisKKy8vIDEuIGEgZnVuY3Rpb24gdG8gaGF2ZSBhbiBpbnN0YW5jZSBvZiB0eXBlIFQgd2l0aG91dCByZXF1aXJpbmcgVCB0byBiZSBkZWZhdWx0CisvLyBjb25zdHJ1Y3RpYmxlCit0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gVCAmbWFrZSgpOworCisKKy8vIDIuIHdlIHByb3ZpZGUgb3VyIG9wZXJhdG9yIGRlZmluaXRpb24gZm9yIHR5cGVzIHRoYXQgZG8gbm90IGhhdmUgb25lIGFscmVhZHkKKworLy8gYSB0eXBlIHJldHVybmVkIGZyb20gb3BlcmF0b3IgQk9PU1RfVFRfVFJBSVRfT1Agd2hlbiBubyBzdWNoIG9wZXJhdG9yIGlzCisvLyBmb3VuZCBpbiB0aGUgdHlwZSdzIG93biBuYW1lc3BhY2UgKG91ciBvd24gb3BlcmF0b3IgaXMgdXNlZCkgc28gdGhhdCB3ZSBoYXZlCisvLyBhIG1lYW5zIHRvIGtub3cgdGhhdCBvdXIgb3BlcmF0b3Igd2FzIHVzZWQKK3N0cnVjdCBub19vcGVyYXRvciB7IH07CisKKy8vIHRoaXMgY2xhc3MgYWxsb3dzIGltcGxpY2l0IGNvbnZlcnNpb25zIGFuZCBtYWtlcyB0aGUgZm9sbG93aW5nIG9wZXJhdG9yCisvLyBkZWZpbml0aW9uIGxlc3MtcHJlZmVycmVkIHRoYW4gYW55IG90aGVyIHN1Y2ggb3BlcmF0b3JzIHRoYXQgbWlnaHQgYmUgZm91bmQKKy8vIHZpYSBhcmd1bWVudC1kZXBlbmRlbnQgbmFtZSBsb29rdXAKK3N0cnVjdCBhbnkgeyB0ZW1wbGF0ZSA8Y2xhc3MgVD4gYW55KFQgY29uc3QmKTsgfTsKKworLy8gd2hlbiBvcGVyYXRvciBCT09TVF9UVF9UUkFJVF9PUCBpcyBub3QgYXZhaWxhYmxlLCB0aGlzIG9uZSBpcyB1c2VkCitub19vcGVyYXRvciBvcGVyYXRvciBCT09TVF9UVF9UUkFJVF9PUCAoY29uc3QgYW55Jik7CisKKworLy8gMy4gY2hlY2tzIGlmIHRoZSBvcGVyYXRvciByZXR1cm5zIHZvaWQgb3Igbm90CisvLyBjb25kaXRpb25zOiBSaHMhPXZvaWQKKworLy8gd2UgZmlyc3QgcmVkZWZpbmUgIm9wZXJhdG9yLCIgc28gdGhhdCB3ZSBoYXZlIG5vIGNvbXBpbGF0aW9uIGVycm9yIGlmCisvLyBvcGVyYXRvciBCT09TVF9UVF9UUkFJVF9PUCByZXR1cm5zIHZvaWQgYW5kIHdlIGNhbiB1c2UgdGhlIHJldHVybiB0eXBlIG9mCisvLyAoQk9PU1RfVFRfVFJBSVRfT1AgcmhzLCByZXR1cm5zX3ZvaWRfdCgpKSB0byBkZWR1Y2UgaWYKKy8vIG9wZXJhdG9yIEJPT1NUX1RUX1RSQUlUX09QIHJldHVybnMgdm9pZCBvciBub3Q6CisvLyAtIG9wZXJhdG9yIEJPT1NUX1RUX1RSQUlUX09QIHJldHVybnMgdm9pZCAgIC0+IChCT09TVF9UVF9UUkFJVF9PUCByaHMsIHJldHVybnNfdm9pZF90KCkpIHJldHVybnMgcmV0dXJuc192b2lkX3QKKy8vIC0gb3BlcmF0b3IgQk9PU1RfVFRfVFJBSVRfT1AgcmV0dXJucyAhPXZvaWQgLT4gKEJPT1NUX1RUX1RSQUlUX09QIHJocywgcmV0dXJuc192b2lkX3QoKSkgcmV0dXJucyBpbnQKK3N0cnVjdCByZXR1cm5zX3ZvaWRfdCB7IH07Cit0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gaW50IG9wZXJhdG9yLChjb25zdCBUJiwgcmV0dXJuc192b2lkX3QpOwordGVtcGxhdGUgPHR5cGVuYW1lIFQ+IGludCBvcGVyYXRvciwoY29uc3Qgdm9sYXRpbGUgVCYsIHJldHVybnNfdm9pZF90KTsKKworLy8gdGhpcyBpbnRlcm1lZGlhdGUgdHJhaXQgaGFzIG1lbWJlciB2YWx1ZSBvZiB0eXBlIGJvb2w6CisvLyAtIHZhbHVlPT10cnVlIC0+IG9wZXJhdG9yIEJPT1NUX1RUX1RSQUlUX09QIHJldHVybnMgdm9pZAorLy8gLSB2YWx1ZT09ZmFsc2UgLT4gb3BlcmF0b3IgQk9PU1RfVFRfVFJBSVRfT1AgZG9lcyBub3QgcmV0dXJuIHZvaWQKK3RlbXBsYXRlIDwgdHlwZW5hbWUgUmhzID4KK3N0cnVjdCBvcGVyYXRvcl9yZXR1cm5zX3ZvaWQgeworICAgLy8gb3ZlcmxvYWRzIG9mIGZ1bmN0aW9uIHJldHVybnNfdm9pZCBtYWtlIHRoZSBkaWZmZXJlbmNlCisgICAvLyB5ZXNfdHlwZSBhbmQgbm9fdHlwZSBoYXZlIGRpZmZlcmVudCBzaXplIGJ5IGNvbnN0cnVjdGlvbgorICAgc3RhdGljIDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjp5ZXNfdHlwZSByZXR1cm5zX3ZvaWQocmV0dXJuc192b2lkX3QpOworICAgc3RhdGljIDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjpub190eXBlIHJldHVybnNfdm9pZChpbnQpOworICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGJvb2wsIHZhbHVlID0gKHNpemVvZig6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6eWVzX3R5cGUpPT1zaXplb2YocmV0dXJuc192b2lkKChCT09TVF9UVF9UUkFJVF9PUCBtYWtlPFJocz4oKSxyZXR1cm5zX3ZvaWRfdCgpKSkpKSk7Cit9OworCisKKy8vIDQuIGNoZWNrcyBpZiB0aGUgcmV0dXJuIHR5cGUgaXMgUmV0IG9yIFJldD09ZG9udF9jYXJlCisvLyBjb25kaXRpb25zOiBSaHMhPXZvaWQKKworc3RydWN0IGRvbnRfY2FyZSB7IH07CisKK3RlbXBsYXRlIDwgdHlwZW5hbWUgUmhzLCB0eXBlbmFtZSBSZXQsIGJvb2wgUmV0dXJuc192b2lkID4KK3N0cnVjdCBvcGVyYXRvcl9yZXR1cm5zX1JldDsKKwordGVtcGxhdGUgPCB0eXBlbmFtZSBSaHMgPgorc3RydWN0IG9wZXJhdG9yX3JldHVybnNfUmV0IDwgUmhzLCBkb250X2NhcmUsIHRydWUgPiB7CisgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoYm9vbCwgdmFsdWUgPSB0cnVlKTsKK307CisKK3RlbXBsYXRlIDwgdHlwZW5hbWUgUmhzID4KK3N0cnVjdCBvcGVyYXRvcl9yZXR1cm5zX1JldCA8IFJocywgZG9udF9jYXJlLCBmYWxzZSA+IHsKKyAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChib29sLCB2YWx1ZSA9IHRydWUpOworfTsKKwordGVtcGxhdGUgPCB0eXBlbmFtZSBSaHMgPgorc3RydWN0IG9wZXJhdG9yX3JldHVybnNfUmV0IDwgUmhzLCB2b2lkLCB0cnVlID4geworICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGJvb2wsIHZhbHVlID0gdHJ1ZSk7Cit9OworCit0ZW1wbGF0ZSA8IHR5cGVuYW1lIFJocyA+CitzdHJ1Y3Qgb3BlcmF0b3JfcmV0dXJuc19SZXQgPCBSaHMsIHZvaWQsIGZhbHNlID4geworICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGJvb2wsIHZhbHVlID0gZmFsc2UpOworfTsKKwordGVtcGxhdGUgPCB0eXBlbmFtZSBSaHMsIHR5cGVuYW1lIFJldCA+CitzdHJ1Y3Qgb3BlcmF0b3JfcmV0dXJuc19SZXQgPCBSaHMsIFJldCwgdHJ1ZSA+IHsKKyAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChib29sLCB2YWx1ZSA9IGZhbHNlKTsKK307CisKKy8vIG90aGVyd2lzZSBjaGVja3MgaWYgaXQgaXMgY29udmVydGlibGUgdG8gUmV0IHVzaW5nIHRoZSBzaXplb2YgdHJpY2sKKy8vIGJhc2VkIG9uIG92ZXJsb2FkIHJlc29sdXRpb24KKy8vIGNvbmRpdGlvbjogUmV0IT12b2lkIGFuZCBSZXQhPWRvbnRfY2FyZSBhbmQgdGhlIG9wZXJhdG9yIGRvZXMgbm90IHJldHVybiB2b2lkCit0ZW1wbGF0ZSA8IHR5cGVuYW1lIFJocywgdHlwZW5hbWUgUmV0ID4KK3N0cnVjdCBvcGVyYXRvcl9yZXR1cm5zX1JldCA8IFJocywgUmV0LCBmYWxzZSA+IHsKKyAgIHN0YXRpYyA6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6eWVzX3R5cGUgaXNfY29udmVydGlibGVfdG9fUmV0KFJldCk7IC8vIHRoaXMgdmVyc2lvbiBpcyBwcmVmZXJyZWQgZm9yIHR5cGVzIGNvbnZlcnRpYmxlIHRvIFJldAorICAgc3RhdGljIDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjpub190eXBlIGlzX2NvbnZlcnRpYmxlX3RvX1JldCguLi4pOyAvLyB0aGlzIHZlcnNpb24gaXMgdXNlZCBvdGhlcndpc2UKKworICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGJvb2wsIHZhbHVlID0gKHNpemVvZihpc19jb252ZXJ0aWJsZV90b19SZXQoQk9PU1RfVFRfVFJBSVRfT1AgbWFrZTxSaHM+KCkpKT09c2l6ZW9mKDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjp5ZXNfdHlwZSkpKTsKK307CisKKworLy8gNS4gY2hlY2tzIGZvciBvcGVyYXRvciBleGlzdGVuY2UKKy8vIGNvbmRpdGlvbjogUmhzIT12b2lkCisKKy8vIGNoZWNrcyBpZiBvdXIgZGVmaW5pdGlvbiBvZiBvcGVyYXRvciBCT09TVF9UVF9UUkFJVF9PUCBpcyB1c2VkIG9yIGFuIG90aGVyCisvLyBleGlzdGluZyBvbmU7CisvLyB0aGlzIGlzIGRvbmUgd2l0aCByZWRlZmluaXRpb24gb2YgIm9wZXJhdG9yLCIgdGhhdCByZXR1cm5zIG5vX29wZXJhdG9yIG9yIGhhc19vcGVyYXRvcgorc3RydWN0IGhhc19vcGVyYXRvciB7IH07Citub19vcGVyYXRvciBvcGVyYXRvciwobm9fb3BlcmF0b3IsIGhhc19vcGVyYXRvcik7CisKK3RlbXBsYXRlIDwgdHlwZW5hbWUgUmhzID4KK3N0cnVjdCBvcGVyYXRvcl9leGlzdHMgeworICAgc3RhdGljIDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjp5ZXNfdHlwZSBjaGVjayhoYXNfb3BlcmF0b3IpOyAvLyB0aGlzIHZlcnNpb24gaXMgcHJlZmVycmVkIHdoZW4gb3BlcmF0b3IgZXhpc3RzCisgICBzdGF0aWMgOjpuZG5ib29zdDo6dHlwZV90cmFpdHM6Om5vX3R5cGUgY2hlY2sobm9fb3BlcmF0b3IpOyAvLyB0aGlzIHZlcnNpb24gaXMgdXNlZCBvdGhlcndpc2UKKworICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGJvb2wsIHZhbHVlID0gKHNpemVvZihjaGVjaygoKEJPT1NUX1RUX1RSQUlUX09QIG1ha2U8UmhzPigpKSxtYWtlPGhhc19vcGVyYXRvcj4oKSkpKT09c2l6ZW9mKDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjp5ZXNfdHlwZSkpKTsKK307CisKKworLy8gNi4gbWFpbiB0cmFpdDogdG8gYXZvaWQgYW55IGNvbXBpbGF0aW9uIGVycm9yLCB0aGlzIGNsYXNzIGJlaGF2ZXMKKy8vIGRpZmZlcmVudGx5IHdoZW4gb3BlcmF0b3IgQk9PU1RfVFRfVFJBSVRfT1AoUmhzKSBpcyBmb3JiaWRkZW4gYnkgdGhlCisvLyBzdGFuZGFyZC4KKy8vIEZvcmJpZGRlbl9pZiBpcyBhIGJvb2wgdGhhdCBpczoKKy8vIC0gdHJ1ZSB3aGVuIHRoZSBvcGVyYXRvciBCT09TVF9UVF9UUkFJVF9PUChSaHMpIGlzIGZvcmJpZGRlbiBieSB0aGUgc3RhbmRhcmQKKy8vICAgKHdvdWxkIHlpZWxkIGNvbXBpbGF0aW9uIGVycm9yIGlmIHVzZWQpCisvLyAtIGZhbHNlIG90aGVyd2lzZQordGVtcGxhdGUgPCB0eXBlbmFtZSBSaHMsIHR5cGVuYW1lIFJldCwgYm9vbCBGb3JiaWRkZW5faWYgPgorc3RydWN0IHRyYWl0X2ltcGwxOworCit0ZW1wbGF0ZSA8IHR5cGVuYW1lIFJocywgdHlwZW5hbWUgUmV0ID4KK3N0cnVjdCB0cmFpdF9pbXBsMSA8IFJocywgUmV0LCB0cnVlID4geworICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGJvb2wsIHZhbHVlID0gZmFsc2UpOworfTsKKwordGVtcGxhdGUgPCB0eXBlbmFtZSBSaHMsIHR5cGVuYW1lIFJldCA+CitzdHJ1Y3QgdHJhaXRfaW1wbDEgPCBSaHMsIFJldCwgZmFsc2UgPiB7CisgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoYm9vbCwKKyAgICAgIHZhbHVlID0gKAorICAgICAgICAgOjpuZG5ib29zdDo6dHlwZV90cmFpdHM6OmljZV9hbmQ8CisgICAgICAgICAgICBvcGVyYXRvcl9leGlzdHMgPCBSaHMgPjo6dmFsdWUsCisgICAgICAgICAgICBvcGVyYXRvcl9yZXR1cm5zX1JldCA8IFJocywgUmV0LCBvcGVyYXRvcl9yZXR1cm5zX3ZvaWQgPCBSaHMgPjo6dmFsdWUgPjo6dmFsdWUKKyAgICAgICAgID46OnZhbHVlCisgICAgICApCisgICApOworfTsKKworLy8gc3BlY2lhbGl6YXRpb24gbmVlZHMgdG8gYmUgZGVjbGFyZWQgZm9yIHRoZSBzcGVjaWFsIHZvaWQgY2FzZQordGVtcGxhdGUgPCB0eXBlbmFtZSBSZXQgPgorc3RydWN0IHRyYWl0X2ltcGwxIDwgdm9pZCwgUmV0LCBmYWxzZSA+IHsKKyAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChib29sLCB2YWx1ZSA9IGZhbHNlKTsKK307CisKKy8vIGRlZmluZXMgc29tZSB0eXBlZGVmIGZvciBjb252ZW5pZW5jZQordGVtcGxhdGUgPCB0eXBlbmFtZSBSaHMsIHR5cGVuYW1lIFJldCA+CitzdHJ1Y3QgdHJhaXRfaW1wbCB7CisgICB0eXBlZGVmIHR5cGVuYW1lIDo6bmRuYm9vc3Q6OnJlbW92ZV9yZWZlcmVuY2U8UmhzPjo6dHlwZSBSaHNfbm9yZWY7CisgICB0eXBlZGVmIHR5cGVuYW1lIDo6bmRuYm9vc3Q6OnJlbW92ZV9jdjxSaHNfbm9yZWY+Ojp0eXBlIFJoc19ub2N2OworICAgdHlwZWRlZiB0eXBlbmFtZSA6Om5kbmJvb3N0OjpyZW1vdmVfY3Y8IHR5cGVuYW1lIDo6bmRuYm9vc3Q6OnJlbW92ZV9yZWZlcmVuY2U8IHR5cGVuYW1lIDo6bmRuYm9vc3Q6OnJlbW92ZV9wb2ludGVyPFJoc19ub3JlZj46OnR5cGUgPjo6dHlwZSA+Ojp0eXBlIFJoc19ub3B0cjsKKyAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChib29sLCB2YWx1ZSA9ICh0cmFpdF9pbXBsMSA8IFJoc19ub3JlZiwgUmV0LCBCT09TVF9UVF9GT1JCSURERU5fSUYgPjo6dmFsdWUpKTsKK307CisKK30gLy8gbmFtZXNwYWNlIGltcGwKK30gLy8gbmFtZXNwYWNlIGRldGFpbAorCisvLyB0aGlzIGlzIHRoZSBhY2Nlc3NpYmxlIGRlZmluaXRpb24gb2YgdGhlIHRyYWl0IHRvIGVuZCB1c2VyCitCT09TVF9UVF9BVVhfQk9PTF9UUkFJVF9ERUYyKEJPT1NUX1RUX1RSQUlUX05BTUUsIFJocywgUmV0PTo6bmRuYm9vc3Q6OmRldGFpbDo6Qk9PU1RfSk9JTihCT09TVF9UVF9UUkFJVF9OQU1FLF9pbXBsKTo6ZG9udF9jYXJlLCAoOjpuZG5ib29zdDo6ZGV0YWlsOjpCT09TVF9KT0lOKEJPT1NUX1RUX1RSQUlUX05BTUUsX2ltcGwpOjp0cmFpdF9pbXBsIDwgUmhzLCBSZXQgPjo6dmFsdWUpKQorCit9IC8vIG5hbWVzcGFjZSBuZG5ib29zdAorCisjaWYgZGVmaW5lZChCT09TVF9NU1ZDKQorIyAgIHByYWdtYSB3YXJuaW5nICggcG9wICkKKyNlbmRpZgorCisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvZGV0YWlsL2Jvb2xfdHJhaXRfdW5kZWYuaHBwPgpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvdHlwZV90cmFpdHMvZXh0ZW50LmhwcCBiL25kbmJvb3N0L3R5cGVfdHJhaXRzL2V4dGVudC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjg5NGViYQotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L3R5cGVfdHJhaXRzL2V4dGVudC5ocHAKQEAgLTAsMCArMSwxNDUgQEAKKworLy8gIChDKSBDb3B5cmlnaHQgSm9obiBNYWRkb2NrIDIwMDUuICAKKy8vICBVc2UsIG1vZGlmaWNhdGlvbiBhbmQgZGlzdHJpYnV0aW9uIGFyZSBzdWJqZWN0IHRvIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLAorLy8gIFZlcnNpb24gMS4wLiAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0CisvLyAgaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KS4KKy8vCisvLyAgU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL2xpYnMvdHlwZV90cmFpdHMgZm9yIG1vc3QgcmVjZW50IHZlcnNpb24gaW5jbHVkaW5nIGRvY3VtZW50YXRpb24uCisKKworI2lmbmRlZiBCT09TVF9UVF9FWFRFTlRfSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX1RUX0VYVEVOVF9IUFBfSU5DTFVERUQKKworLy8gc2hvdWxkIGJlIHRoZSBsYXN0ICNpbmNsdWRlCisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvZGV0YWlsL3NpemVfdF90cmFpdF9kZWYuaHBwPgorCituYW1lc3BhY2UgbmRuYm9vc3QgeworCituYW1lc3BhY2UgZGV0YWlseworCisjaWYgZGVmaW5lZCggX19DT0RFR0VBUkNfXyApCisgICAgLy8gd3JhcCB0aGUgaW1wbCBhcyBtYWluIHRyYWl0IHByb3ZpZGVzIGFkZGl0aW9uYWwgTVBMIGxhbWJkYSBzdXBwb3J0CisgICAgdGVtcGxhdGUgPCB0eXBlbmFtZSBULCBzdGQ6OnNpemVfdCBOID4KKyAgICBzdHJ1Y3QgZXh0ZW50X2ltcCB7CisgICAgICAgIHN0YXRpYyBjb25zdCBzdGQ6OnNpemVfdCB2YWx1ZSA9IF9fYXJyYXlfZXh0ZW50KFQsIE4pOworICAgIH07CisKKyNlbHNlCisKK3RlbXBsYXRlIDxjbGFzcyBULCBzdGQ6OnNpemVfdCBOPgorc3RydWN0IGV4dGVudF9pbXAKK3sKKyAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChzdGQ6OnNpemVfdCwgdmFsdWUgPSAwKTsKK307CisjaWYgIWRlZmluZWQoQk9PU1RfTk9fVEVNUExBVEVfUEFSVElBTF9TUEVDSUFMSVpBVElPTikgJiYgIWRlZmluZWQoQk9PU1RfTk9fQVJSQVlfVFlQRV9TUEVDSUFMSVpBVElPTlMpCit0ZW1wbGF0ZSA8Y2xhc3MgVCwgc3RkOjpzaXplX3QgUiwgc3RkOjpzaXplX3QgTj4KK3N0cnVjdCBleHRlbnRfaW1wPFRbUl0sIE4+Cit7CisgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoc3RkOjpzaXplX3QsIHZhbHVlID0gKDo6bmRuYm9vc3Q6OmRldGFpbDo6ZXh0ZW50X2ltcDxULCBOLTE+Ojp2YWx1ZSkpOworfTsKKwordGVtcGxhdGUgPGNsYXNzIFQsIHN0ZDo6c2l6ZV90IFIsIHN0ZDo6c2l6ZV90IE4+CitzdHJ1Y3QgZXh0ZW50X2ltcDxUIGNvbnN0W1JdLCBOPgoreworICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKHN0ZDo6c2l6ZV90LCB2YWx1ZSA9ICg6Om5kbmJvb3N0OjpkZXRhaWw6OmV4dGVudF9pbXA8VCwgTi0xPjo6dmFsdWUpKTsKK307CisKK3RlbXBsYXRlIDxjbGFzcyBULCBzdGQ6OnNpemVfdCBSLCBzdGQ6OnNpemVfdCBOPgorc3RydWN0IGV4dGVudF9pbXA8VCB2b2xhdGlsZVtSXSwgTj4KK3sKKyAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChzdGQ6OnNpemVfdCwgdmFsdWUgPSAoOjpuZG5ib29zdDo6ZGV0YWlsOjpleHRlbnRfaW1wPFQsIE4tMT46OnZhbHVlKSk7Cit9OworCit0ZW1wbGF0ZSA8Y2xhc3MgVCwgc3RkOjpzaXplX3QgUiwgc3RkOjpzaXplX3QgTj4KK3N0cnVjdCBleHRlbnRfaW1wPFQgY29uc3Qgdm9sYXRpbGVbUl0sIE4+Cit7CisgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoc3RkOjpzaXplX3QsIHZhbHVlID0gKDo6bmRuYm9vc3Q6OmRldGFpbDo6ZXh0ZW50X2ltcDxULCBOLTE+Ojp2YWx1ZSkpOworfTsKKwordGVtcGxhdGUgPGNsYXNzIFQsIHN0ZDo6c2l6ZV90IFI+CitzdHJ1Y3QgZXh0ZW50X2ltcDxUW1JdLDA+Cit7CisgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoc3RkOjpzaXplX3QsIHZhbHVlID0gUik7Cit9OworCit0ZW1wbGF0ZSA8Y2xhc3MgVCwgc3RkOjpzaXplX3QgUj4KK3N0cnVjdCBleHRlbnRfaW1wPFQgY29uc3RbUl0sIDA+Cit7CisgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoc3RkOjpzaXplX3QsIHZhbHVlID0gUik7Cit9OworCit0ZW1wbGF0ZSA8Y2xhc3MgVCwgc3RkOjpzaXplX3QgUj4KK3N0cnVjdCBleHRlbnRfaW1wPFQgdm9sYXRpbGVbUl0sIDA+Cit7CisgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoc3RkOjpzaXplX3QsIHZhbHVlID0gUik7Cit9OworCit0ZW1wbGF0ZSA8Y2xhc3MgVCwgc3RkOjpzaXplX3QgUj4KK3N0cnVjdCBleHRlbnRfaW1wPFQgY29uc3Qgdm9sYXRpbGVbUl0sIDA+Cit7CisgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoc3RkOjpzaXplX3QsIHZhbHVlID0gUik7Cit9OworCisjaWYgIUJPT1NUX1dPUktBUk9VTkQoX19CT1JMQU5EQ19fLCA8IDB4NjAwKSAmJiAhZGVmaW5lZChfX0lCTUNQUF9fKSAmJiAgIUJPT1NUX1dPUktBUk9VTkQoX19ETUNfXywgQk9PU1RfVEVTVEVEX0FUKDB4ODQwKSkgJiYgIWRlZmluZWQoX19NV0VSS1NfXykKK3RlbXBsYXRlIDxjbGFzcyBULCBzdGQ6OnNpemVfdCBOPgorc3RydWN0IGV4dGVudF9pbXA8VFtdLCBOPgoreworICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKHN0ZDo6c2l6ZV90LCB2YWx1ZSA9ICg6Om5kbmJvb3N0OjpkZXRhaWw6OmV4dGVudF9pbXA8VCwgTi0xPjo6dmFsdWUpKTsKK307Cit0ZW1wbGF0ZSA8Y2xhc3MgVCwgc3RkOjpzaXplX3QgTj4KK3N0cnVjdCBleHRlbnRfaW1wPFQgY29uc3RbXSwgTj4KK3sKKyAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChzdGQ6OnNpemVfdCwgdmFsdWUgPSAoOjpuZG5ib29zdDo6ZGV0YWlsOjpleHRlbnRfaW1wPFQsIE4tMT46OnZhbHVlKSk7Cit9OwordGVtcGxhdGUgPGNsYXNzIFQsIHN0ZDo6c2l6ZV90IE4+CitzdHJ1Y3QgZXh0ZW50X2ltcDxUIHZvbGF0aWxlW10sIE4+Cit7CisgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoc3RkOjpzaXplX3QsIHZhbHVlID0gKDo6bmRuYm9vc3Q6OmRldGFpbDo6ZXh0ZW50X2ltcDxULCBOLTE+Ojp2YWx1ZSkpOworfTsKK3RlbXBsYXRlIDxjbGFzcyBULCBzdGQ6OnNpemVfdCBOPgorc3RydWN0IGV4dGVudF9pbXA8VCBjb25zdCB2b2xhdGlsZVtdLCBOPgoreworICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKHN0ZDo6c2l6ZV90LCB2YWx1ZSA9ICg6Om5kbmJvb3N0OjpkZXRhaWw6OmV4dGVudF9pbXA8VCwgTi0xPjo6dmFsdWUpKTsKK307Cit0ZW1wbGF0ZSA8Y2xhc3MgVD4KK3N0cnVjdCBleHRlbnRfaW1wPFRbXSwgMD4KK3sKKyAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChzdGQ6OnNpemVfdCwgdmFsdWUgPSAwKTsKK307Cit0ZW1wbGF0ZSA8Y2xhc3MgVD4KK3N0cnVjdCBleHRlbnRfaW1wPFQgY29uc3RbXSwgMD4KK3sKKyAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChzdGQ6OnNpemVfdCwgdmFsdWUgPSAwKTsKK307Cit0ZW1wbGF0ZSA8Y2xhc3MgVD4KK3N0cnVjdCBleHRlbnRfaW1wPFQgdm9sYXRpbGVbXSwgMD4KK3sKKyAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChzdGQ6OnNpemVfdCwgdmFsdWUgPSAwKTsKK307Cit0ZW1wbGF0ZSA8Y2xhc3MgVD4KK3N0cnVjdCBleHRlbnRfaW1wPFQgY29uc3Qgdm9sYXRpbGVbXSwgMD4KK3sKKyAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChzdGQ6OnNpemVfdCwgdmFsdWUgPSAwKTsKK307CisjZW5kaWYKKyNlbmRpZgorCisjZW5kaWYgIC8vIG5vbi1Db2RlR2VhciBpbXBsZW1lbnRhdGlvbgorfSAgIC8vIDo6bmRuYm9vc3Q6OmRldGFpbAorCit0ZW1wbGF0ZSA8Y2xhc3MgVCwgc3RkOjpzaXplX3QgTiA9IDA+CitzdHJ1Y3QgZXh0ZW50CisgICA6IHB1YmxpYyA6Om5kbmJvb3N0OjppbnRlZ3JhbF9jb25zdGFudDxzdGQ6OnNpemVfdCwgOjpuZG5ib29zdDo6ZGV0YWlsOjpleHRlbnRfaW1wPFQsTj46OnZhbHVlPgoreworI2lmIEJPT1NUX1dPUktBUk9VTkQoQk9PU1RfTVNWQywgPCAxMzAwKSAKKyAgIHR5cGVkZWYgOjpuZG5ib29zdDo6aW50ZWdyYWxfY29uc3RhbnQ8c3RkOjpzaXplX3QsIDo6bmRuYm9vc3Q6OmRldGFpbDo6ZXh0ZW50X2ltcDxULE4+Ojp2YWx1ZT4gYmFzZV87IAorICAgdXNpbmcgYmFzZV86OnZhbHVlOworI2VuZGlmCisgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgxLGV4dGVudCwoVCkpCit9OworCit9IC8vIG5hbWVzcGFjZSBuZG5ib29zdAorCisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvZGV0YWlsL3NpemVfdF90cmFpdF91bmRlZi5ocHA+CisKKyNlbmRpZiAvLyBCT09TVF9UVF9JU19NRU1CRVJfRlVOQ1RJT05fUE9JTlRFUl9IUFBfSU5DTFVERUQKZGlmZiAtLWdpdCBhL25kbmJvb3N0L3R5cGVfdHJhaXRzL2Zsb2F0aW5nX3BvaW50X3Byb21vdGlvbi5ocHAgYi9uZG5ib29zdC90eXBlX3RyYWl0cy9mbG9hdGluZ19wb2ludF9wcm9tb3Rpb24uaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE1YTU4NjEKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC90eXBlX3RyYWl0cy9mbG9hdGluZ19wb2ludF9wcm9tb3Rpb24uaHBwCkBAIC0wLDAgKzEsOTEgQEAKKy8vIENvcHlyaWdodCAyMDA1IEFsZXhhbmRlciBOYXNvbm92LgorLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAoU2VlCisvLyBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorCisjaWZuZGVmIEZJTEVfYm9vc3RfdHlwZV90cmFpdHNfZmxvYXRpbmdfcG9pbnRfcHJvbW90aW9uX2hwcF9JTkNMVURFRAorI2RlZmluZSBGSUxFX2Jvb3N0X3R5cGVfdHJhaXRzX2Zsb2F0aW5nX3BvaW50X3Byb21vdGlvbl9ocHBfSU5DTFVERUQKKworI2luY2x1ZGUgPG5kbmJvb3N0L2NvbmZpZy5ocHA+CisKKyNpZmRlZiBCT09TVF9OT19DVl9TUEVDSUFMSVpBVElPTlMKKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYXQuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9pbnQuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9tdWx0aXBsaWVzLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvcGx1cy5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL3ZlY3Rvci5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvaXNfc2FtZS5ocHA+CisjZW5kaWYKKworLy8gU2hvdWxkIGJlIHRoZSBsYXN0ICNpbmNsdWRlCisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvZGV0YWlsL3R5cGVfdHJhaXRfZGVmLmhwcD4KKworbmFtZXNwYWNlIG5kbmJvb3N0IHsKKworbmFtZXNwYWNlIHR5cGVfdHJhaXRzIHsgbmFtZXNwYWNlIGRldGFpbCB7CisKKyNpZm5kZWYgQk9PU1RfTk9fQ1ZfU1BFQ0lBTElaQVRJT05TCisKK3RlbXBsYXRlPGNsYXNzIFQ+CitzdHJ1Y3QgZmxvYXRpbmdfcG9pbnRfcHJvbW90aW9uCit7CisgICAgdHlwZWRlZiBUIHR5cGU7Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgZmxvYXRpbmdfcG9pbnRfcHJvbW90aW9uPGZsb2F0PgoreworICAgIHR5cGVkZWYgZG91YmxlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgZmxvYXRpbmdfcG9pbnRfcHJvbW90aW9uPGZsb2F0IGNvbnN0PgoreworICAgIHR5cGVkZWYgZG91YmxlIGNvbnN0IHR5cGU7Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgZmxvYXRpbmdfcG9pbnRfcHJvbW90aW9uPGZsb2F0IHZvbGF0aWxlPgoreworICAgIHR5cGVkZWYgZG91YmxlIHZvbGF0aWxlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgZmxvYXRpbmdfcG9pbnRfcHJvbW90aW9uPGZsb2F0IGNvbnN0IHZvbGF0aWxlPgoreworICAgIHR5cGVkZWYgZG91YmxlIGNvbnN0IHZvbGF0aWxlIHR5cGU7Cit9OworCisjZWxzZQorCit0ZW1wbGF0ZTxjbGFzcyBUPgorc3RydWN0IGZsb2F0aW5nX3BvaW50X3Byb21vdGlvbgorICA6IG1wbDo6YXQ8CisgICAgICAgIG1wbDo6dmVjdG9yPCBULCBkb3VibGUsIGRvdWJsZSBjb25zdCwgZG91YmxlIHZvbGF0aWxlLAorICAgICAgICAgICAgICAgICAgICAgZG91YmxlIGNvbnN0IHZvbGF0aWxlID4KKyAgICAgICwgbXBsOjpwbHVzPAorICAgICAgICAgICAgaXNfc2FtZTxULCBmbG9hdD4KKyAgICAgICAgICAsIG1wbDo6bXVsdGlwbGllczwgaXNfc2FtZTxULCBmbG9hdCBjb25zdD4gICAgICAgICAsIG1wbDo6aW50XzwyPiA+CisgICAgICAgICAgLCBtcGw6Om11bHRpcGxpZXM8IGlzX3NhbWU8VCwgZmxvYXQgdm9sYXRpbGU+ICAgICAgLCBtcGw6OmludF88Mz4gPgorICAgICAgICAgICwgbXBsOjptdWx0aXBsaWVzPCBpc19zYW1lPFQsIGZsb2F0IGNvbnN0IHZvbGF0aWxlPiwgbXBsOjppbnRfPDQ+ID4KKyAgICAgICAgICA+CisgICAgICA+Cit7Cit9OworCisjZW5kaWYKKworfSB9CisKK0JPT1NUX1RUX0FVWF9UWVBFX1RSQUlUX0RFRjEoCisgICAgICBmbG9hdGluZ19wb2ludF9wcm9tb3Rpb24KKyAgICAsIFQKKyAgICAsIEJPT1NUX0RFRFVDRURfVFlQRU5BTUUKKyAgICAgICAgbmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjpkZXRhaWw6OmZsb2F0aW5nX3BvaW50X3Byb21vdGlvbjxUPjo6dHlwZQorICAgICkKK30KKworI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2RldGFpbC90eXBlX3RyYWl0X3VuZGVmLmhwcD4KKworI2VuZGlmIC8vICNpZm5kZWYgRklMRV9ib29zdF90eXBlX3RyYWl0c19mbG9hdGluZ19wb2ludF9wcm9tb3Rpb25faHBwX0lOQ0xVREVECisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L3R5cGVfdHJhaXRzL2Z1bmN0aW9uX3RyYWl0cy5ocHAgYi9uZG5ib29zdC90eXBlX3RyYWl0cy9mdW5jdGlvbl90cmFpdHMuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU5Y2E5NGYKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC90eXBlX3RyYWl0cy9mdW5jdGlvbl90cmFpdHMuaHBwCkBAIC0wLDAgKzEsMjM2IEBACisKKy8vICBDb3B5cmlnaHQgMjAwMCBKb2huIE1hZGRvY2sgKGpvaG5Aam9obm1hZGRvY2suY28udWspCisvLyAgVXNlLCBtb2RpZmljYXRpb24gYW5kIGRpc3RyaWJ1dGlvbiBhcmUgc3ViamVjdCB0byB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwKKy8vICBWZXJzaW9uIDEuMC4gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdAorLy8gIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkuCisvLworLy8gIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL3R5cGVfdHJhaXRzIGZvciBtb3N0IHJlY2VudCB2ZXJzaW9uIGluY2x1ZGluZyBkb2N1bWVudGF0aW9uLgorCisjaWZuZGVmIEJPT1NUX1RUX0ZVTkNUSU9OX1RSQUlUU19IUFBfSU5DTFVERUQKKyNkZWZpbmUgQk9PU1RfVFRfRlVOQ1RJT05fVFJBSVRTX0hQUF9JTkNMVURFRAorCisjaW5jbHVkZSA8bmRuYm9vc3QvY29uZmlnLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9pc19mdW5jdGlvbi5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvYWRkX3BvaW50ZXIuaHBwPgorCituYW1lc3BhY2UgbmRuYm9vc3QgeworCisjaWZuZGVmIEJPT1NUX05PX1RFTVBMQVRFX1BBUlRJQUxfU1BFQ0lBTElaQVRJT04KK25hbWVzcGFjZSBkZXRhaWwgeworCit0ZW1wbGF0ZTx0eXBlbmFtZSBGdW5jdGlvbj4gc3RydWN0IGZ1bmN0aW9uX3RyYWl0c19oZWxwZXI7CisKK3RlbXBsYXRlPHR5cGVuYW1lIFI+CitzdHJ1Y3QgZnVuY3Rpb25fdHJhaXRzX2hlbHBlcjxSICgqKSh2b2lkKT4KK3sKKyAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKHVuc2lnbmVkLCBhcml0eSA9IDApOworICB0eXBlZGVmIFIgcmVzdWx0X3R5cGU7Cit9OworCit0ZW1wbGF0ZTx0eXBlbmFtZSBSLCB0eXBlbmFtZSBUMT4KK3N0cnVjdCBmdW5jdGlvbl90cmFpdHNfaGVscGVyPFIgKCopKFQxKT4KK3sKKyAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKHVuc2lnbmVkLCBhcml0eSA9IDEpOworICB0eXBlZGVmIFIgcmVzdWx0X3R5cGU7CisgIHR5cGVkZWYgVDEgYXJnMV90eXBlOworICB0eXBlZGVmIFQxIGFyZ3VtZW50X3R5cGU7Cit9OworCit0ZW1wbGF0ZTx0eXBlbmFtZSBSLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDI+CitzdHJ1Y3QgZnVuY3Rpb25fdHJhaXRzX2hlbHBlcjxSICgqKShUMSwgVDIpPgoreworICBCT09TVF9TVEFUSUNfQ09OU1RBTlQodW5zaWduZWQsIGFyaXR5ID0gMik7CisgIHR5cGVkZWYgUiByZXN1bHRfdHlwZTsKKyAgdHlwZWRlZiBUMSBhcmcxX3R5cGU7CisgIHR5cGVkZWYgVDIgYXJnMl90eXBlOworICB0eXBlZGVmIFQxIGZpcnN0X2FyZ3VtZW50X3R5cGU7CisgIHR5cGVkZWYgVDIgc2Vjb25kX2FyZ3VtZW50X3R5cGU7Cit9OworCit0ZW1wbGF0ZTx0eXBlbmFtZSBSLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzPgorc3RydWN0IGZ1bmN0aW9uX3RyYWl0c19oZWxwZXI8UiAoKikoVDEsIFQyLCBUMyk+Cit7CisgIEJPT1NUX1NUQVRJQ19DT05TVEFOVCh1bnNpZ25lZCwgYXJpdHkgPSAzKTsKKyAgdHlwZWRlZiBSIHJlc3VsdF90eXBlOworICB0eXBlZGVmIFQxIGFyZzFfdHlwZTsKKyAgdHlwZWRlZiBUMiBhcmcyX3R5cGU7CisgIHR5cGVkZWYgVDMgYXJnM190eXBlOworfTsKKwordGVtcGxhdGU8dHlwZW5hbWUgUiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQ+CitzdHJ1Y3QgZnVuY3Rpb25fdHJhaXRzX2hlbHBlcjxSICgqKShUMSwgVDIsIFQzLCBUNCk+Cit7CisgIEJPT1NUX1NUQVRJQ19DT05TVEFOVCh1bnNpZ25lZCwgYXJpdHkgPSA0KTsKKyAgdHlwZWRlZiBSIHJlc3VsdF90eXBlOworICB0eXBlZGVmIFQxIGFyZzFfdHlwZTsKKyAgdHlwZWRlZiBUMiBhcmcyX3R5cGU7CisgIHR5cGVkZWYgVDMgYXJnM190eXBlOworICB0eXBlZGVmIFQ0IGFyZzRfdHlwZTsKK307CisKK3RlbXBsYXRlPHR5cGVuYW1lIFIsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0LAorICAgICAgICAgdHlwZW5hbWUgVDU+CitzdHJ1Y3QgZnVuY3Rpb25fdHJhaXRzX2hlbHBlcjxSICgqKShUMSwgVDIsIFQzLCBUNCwgVDUpPgoreworICBCT09TVF9TVEFUSUNfQ09OU1RBTlQodW5zaWduZWQsIGFyaXR5ID0gNSk7CisgIHR5cGVkZWYgUiByZXN1bHRfdHlwZTsKKyAgdHlwZWRlZiBUMSBhcmcxX3R5cGU7CisgIHR5cGVkZWYgVDIgYXJnMl90eXBlOworICB0eXBlZGVmIFQzIGFyZzNfdHlwZTsKKyAgdHlwZWRlZiBUNCBhcmc0X3R5cGU7CisgIHR5cGVkZWYgVDUgYXJnNV90eXBlOworfTsKKwordGVtcGxhdGU8dHlwZW5hbWUgUiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQsCisgICAgICAgICB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDY+CitzdHJ1Y3QgZnVuY3Rpb25fdHJhaXRzX2hlbHBlcjxSICgqKShUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2KT4KK3sKKyAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKHVuc2lnbmVkLCBhcml0eSA9IDYpOworICB0eXBlZGVmIFIgcmVzdWx0X3R5cGU7CisgIHR5cGVkZWYgVDEgYXJnMV90eXBlOworICB0eXBlZGVmIFQyIGFyZzJfdHlwZTsKKyAgdHlwZWRlZiBUMyBhcmczX3R5cGU7CisgIHR5cGVkZWYgVDQgYXJnNF90eXBlOworICB0eXBlZGVmIFQ1IGFyZzVfdHlwZTsKKyAgdHlwZWRlZiBUNiBhcmc2X3R5cGU7Cit9OworCit0ZW1wbGF0ZTx0eXBlbmFtZSBSLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNCwKKyAgICAgICAgIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDc+CitzdHJ1Y3QgZnVuY3Rpb25fdHJhaXRzX2hlbHBlcjxSICgqKShUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNyk+Cit7CisgIEJPT1NUX1NUQVRJQ19DT05TVEFOVCh1bnNpZ25lZCwgYXJpdHkgPSA3KTsKKyAgdHlwZWRlZiBSIHJlc3VsdF90eXBlOworICB0eXBlZGVmIFQxIGFyZzFfdHlwZTsKKyAgdHlwZWRlZiBUMiBhcmcyX3R5cGU7CisgIHR5cGVkZWYgVDMgYXJnM190eXBlOworICB0eXBlZGVmIFQ0IGFyZzRfdHlwZTsKKyAgdHlwZWRlZiBUNSBhcmc1X3R5cGU7CisgIHR5cGVkZWYgVDYgYXJnNl90eXBlOworICB0eXBlZGVmIFQ3IGFyZzdfdHlwZTsKK307CisKK3RlbXBsYXRlPHR5cGVuYW1lIFIsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0LAorICAgICAgICAgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDg+CitzdHJ1Y3QgZnVuY3Rpb25fdHJhaXRzX2hlbHBlcjxSICgqKShUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgpPgoreworICBCT09TVF9TVEFUSUNfQ09OU1RBTlQodW5zaWduZWQsIGFyaXR5ID0gOCk7CisgIHR5cGVkZWYgUiByZXN1bHRfdHlwZTsKKyAgdHlwZWRlZiBUMSBhcmcxX3R5cGU7CisgIHR5cGVkZWYgVDIgYXJnMl90eXBlOworICB0eXBlZGVmIFQzIGFyZzNfdHlwZTsKKyAgdHlwZWRlZiBUNCBhcmc0X3R5cGU7CisgIHR5cGVkZWYgVDUgYXJnNV90eXBlOworICB0eXBlZGVmIFQ2IGFyZzZfdHlwZTsKKyAgdHlwZWRlZiBUNyBhcmc3X3R5cGU7CisgIHR5cGVkZWYgVDggYXJnOF90eXBlOworfTsKKwordGVtcGxhdGU8dHlwZW5hbWUgUiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQsCisgICAgICAgICB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOCwgdHlwZW5hbWUgVDk+CitzdHJ1Y3QgZnVuY3Rpb25fdHJhaXRzX2hlbHBlcjxSICgqKShUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIFQ5KT4KK3sKKyAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKHVuc2lnbmVkLCBhcml0eSA9IDkpOworICB0eXBlZGVmIFIgcmVzdWx0X3R5cGU7CisgIHR5cGVkZWYgVDEgYXJnMV90eXBlOworICB0eXBlZGVmIFQyIGFyZzJfdHlwZTsKKyAgdHlwZWRlZiBUMyBhcmczX3R5cGU7CisgIHR5cGVkZWYgVDQgYXJnNF90eXBlOworICB0eXBlZGVmIFQ1IGFyZzVfdHlwZTsKKyAgdHlwZWRlZiBUNiBhcmc2X3R5cGU7CisgIHR5cGVkZWYgVDcgYXJnN190eXBlOworICB0eXBlZGVmIFQ4IGFyZzhfdHlwZTsKKyAgdHlwZWRlZiBUOSBhcmc5X3R5cGU7Cit9OworCit0ZW1wbGF0ZTx0eXBlbmFtZSBSLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNCwKKyAgICAgICAgIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOSwKKyAgICAgICAgIHR5cGVuYW1lIFQxMD4KK3N0cnVjdCBmdW5jdGlvbl90cmFpdHNfaGVscGVyPFIgKCopKFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgVDksIFQxMCk+Cit7CisgIEJPT1NUX1NUQVRJQ19DT05TVEFOVCh1bnNpZ25lZCwgYXJpdHkgPSAxMCk7CisgIHR5cGVkZWYgUiByZXN1bHRfdHlwZTsKKyAgdHlwZWRlZiBUMSBhcmcxX3R5cGU7CisgIHR5cGVkZWYgVDIgYXJnMl90eXBlOworICB0eXBlZGVmIFQzIGFyZzNfdHlwZTsKKyAgdHlwZWRlZiBUNCBhcmc0X3R5cGU7CisgIHR5cGVkZWYgVDUgYXJnNV90eXBlOworICB0eXBlZGVmIFQ2IGFyZzZfdHlwZTsKKyAgdHlwZWRlZiBUNyBhcmc3X3R5cGU7CisgIHR5cGVkZWYgVDggYXJnOF90eXBlOworICB0eXBlZGVmIFQ5IGFyZzlfdHlwZTsKKyAgdHlwZWRlZiBUMTAgYXJnMTBfdHlwZTsKK307CisKK30gLy8gZW5kIG5hbWVzcGFjZSBkZXRhaWwKKwordGVtcGxhdGU8dHlwZW5hbWUgRnVuY3Rpb24+CitzdHJ1Y3QgZnVuY3Rpb25fdHJhaXRzIDogCisgIHB1YmxpYyBuZG5ib29zdDo6ZGV0YWlsOjpmdW5jdGlvbl90cmFpdHNfaGVscGVyPHR5cGVuYW1lIG5kbmJvb3N0OjphZGRfcG9pbnRlcjxGdW5jdGlvbj46OnR5cGU+Cit7Cit9OworCisjZWxzZQorCituYW1lc3BhY2UgZGV0YWlsIHsKKwordGVtcGxhdGU8dW5zaWduZWQgTj4gCitzdHJ1Y3QgdHlwZV9vZl9zaXplCit7CisgIGNoYXIgZWxlbWVudHNbTl07Cit9OworCit0ZW1wbGF0ZTx0eXBlbmFtZSBSPgordHlwZV9vZl9zaXplPDE+IGZ1bmN0aW9uX2FyaXR5X2hlbHBlcihSICgqZikoKSk7CisKK3RlbXBsYXRlPHR5cGVuYW1lIFIsIHR5cGVuYW1lIFQxPgordHlwZV9vZl9zaXplPDI+IGZ1bmN0aW9uX2FyaXR5X2hlbHBlcihSICgqZikoVDEpKTsKKwordGVtcGxhdGU8dHlwZW5hbWUgUiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyPgordHlwZV9vZl9zaXplPDM+IGZ1bmN0aW9uX2FyaXR5X2hlbHBlcihSICgqZikoVDEsIFQyKSk7CisKK3RlbXBsYXRlPHR5cGVuYW1lIFIsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDM+Cit0eXBlX29mX3NpemU8ND4gZnVuY3Rpb25fYXJpdHlfaGVscGVyKFIgKCpmKShUMSwgVDIsIFQzKSk7CisKK3RlbXBsYXRlPHR5cGVuYW1lIFIsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0PgordHlwZV9vZl9zaXplPDU+IGZ1bmN0aW9uX2FyaXR5X2hlbHBlcihSICgqZikoVDEsIFQyLCBUMywgVDQpKTsKKwordGVtcGxhdGU8dHlwZW5hbWUgUiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQsCisgICAgICAgICB0eXBlbmFtZSBUNT4KK3R5cGVfb2Zfc2l6ZTw2PiBmdW5jdGlvbl9hcml0eV9oZWxwZXIoUiAoKmYpKFQxLCBUMiwgVDMsIFQ0LCBUNSkpOworCit0ZW1wbGF0ZTx0eXBlbmFtZSBSLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNCwKKyAgICAgICAgIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNj4KK3R5cGVfb2Zfc2l6ZTw3PiBmdW5jdGlvbl9hcml0eV9oZWxwZXIoUiAoKmYpKFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYpKTsKKwordGVtcGxhdGU8dHlwZW5hbWUgUiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQsCisgICAgICAgICB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3PgordHlwZV9vZl9zaXplPDg+IGZ1bmN0aW9uX2FyaXR5X2hlbHBlcihSICgqZikoVDEsIFQyLCBUMywgVDQsIFQ1LCBUNiwgVDcpKTsKKwordGVtcGxhdGU8dHlwZW5hbWUgUiwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQsCisgICAgICAgICB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVuYW1lIFQ3LCB0eXBlbmFtZSBUOD4KK3R5cGVfb2Zfc2l6ZTw5PiBmdW5jdGlvbl9hcml0eV9oZWxwZXIoUiAoKmYpKFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCkpOworCit0ZW1wbGF0ZTx0eXBlbmFtZSBSLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzLCB0eXBlbmFtZSBUNCwKKyAgICAgICAgIHR5cGVuYW1lIFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOT4KK3R5cGVfb2Zfc2l6ZTwxMD4gZnVuY3Rpb25fYXJpdHlfaGVscGVyKFIgKCpmKShUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDgsIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFQ5KSk7CisKK3RlbXBsYXRlPHR5cGVuYW1lIFIsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0LAorICAgICAgICAgdHlwZW5hbWUgVDUsIHR5cGVuYW1lIFQ2LCB0eXBlbmFtZSBUNywgdHlwZW5hbWUgVDgsIHR5cGVuYW1lIFQ5LAorICAgICAgICAgdHlwZW5hbWUgVDEwPgordHlwZV9vZl9zaXplPDExPiBmdW5jdGlvbl9hcml0eV9oZWxwZXIoUiAoKmYpKFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3LCBUOCwgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVDksIFQxMCkpOworfSAvLyBlbmQgbmFtZXNwYWNlIGRldGFpbAorCisvLyBXb24ndCB3b3JrIHdpdGggcmVmZXJlbmNlcwordGVtcGxhdGU8dHlwZW5hbWUgRnVuY3Rpb24+CitzdHJ1Y3QgZnVuY3Rpb25fdHJhaXRzCit7CisgIEJPT1NUX1NUQVRJQ19DT05TVEFOVCh1bnNpZ25lZCwgYXJpdHkgPSAoc2l6ZW9mKG5kbmJvb3N0OjpkZXRhaWw6OmZ1bmN0aW9uX2FyaXR5X2hlbHBlcigoRnVuY3Rpb24qKTApKS0xKSk7Cit9OworCisjZW5kaWYgLy8gQk9PU1RfTk9fVEVNUExBVEVfUEFSVElBTF9TUEVDSUFMSVpBVElPTgorfQorCisjZW5kaWYgLy8gQk9PU1RfVFRfRlVOQ1RJT05fVFJBSVRTX0hQUF9JTkNMVURFRApkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvdHlwZV90cmFpdHMvaGFzX2JpdF9hbmQuaHBwIGIvbmRuYm9vc3QvdHlwZV90cmFpdHMvaGFzX2JpdF9hbmQuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBjYzA5ODIKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC90eXBlX3RyYWl0cy9oYXNfYml0X2FuZC5ocHAKQEAgLTAsMCArMSw0OSBAQAorLy8gIChDKSBDb3B5cmlnaHQgMjAwOS0yMDExIEZyZWRlcmljIEJyb24uCisvLworLy8gIFVzZSwgbW9kaWZpY2F0aW9uIGFuZCBkaXN0cmlidXRpb24gYXJlIHN1YmplY3QgdG8gdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsCisvLyAgVmVyc2lvbiAxLjAuIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQKKy8vICBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpLgorLy8KKy8vICBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvbGlicy90eXBlX3RyYWl0cyBmb3IgbW9zdCByZWNlbnQgdmVyc2lvbiBpbmNsdWRpbmcgZG9jdW1lbnRhdGlvbi4KKworI2lmbmRlZiBCT09TVF9UVF9IQVNfQklUX0FORF9IUFBfSU5DTFVERUQKKyNkZWZpbmUgQk9PU1RfVFRfSEFTX0JJVF9BTkRfSFBQX0lOQ0xVREVECisKKyNkZWZpbmUgQk9PU1RfVFRfVFJBSVRfTkFNRSBoYXNfYml0X2FuZAorI2RlZmluZSBCT09TVF9UVF9UUkFJVF9PUCAmCisjZGVmaW5lIEJPT1NUX1RUX0ZPUkJJRERFTl9JRlwKKyAgIDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2Vfb3I8XAorICAgICAgLyogTGhzPT1mdW5kYW1lbnRhbCBhbmQgUmhzPT1mdW5kYW1lbnRhbCBhbmQgKExocyE9aW50ZWdyYWwgb3IgUmhzIT1pbnRlZ3JhbCkgKi9cCisgICAgICA6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6aWNlX2FuZDxcCisgICAgICAgICA6Om5kbmJvb3N0Ojppc19mdW5kYW1lbnRhbDwgTGhzX25vY3YgPjo6dmFsdWUsXAorICAgICAgICAgOjpuZG5ib29zdDo6aXNfZnVuZGFtZW50YWw8IFJoc19ub2N2ID46OnZhbHVlLFwKKyAgICAgICAgIDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2Vfb3I8XAorICAgICAgICAgICAgOjpuZG5ib29zdDo6dHlwZV90cmFpdHM6OmljZV9ub3Q8IDo6bmRuYm9vc3Q6OmlzX2ludGVncmFsPCBMaHNfbm9yZWYgPjo6dmFsdWUgPjo6dmFsdWUsXAorICAgICAgICAgICAgOjpuZG5ib29zdDo6dHlwZV90cmFpdHM6OmljZV9ub3Q8IDo6bmRuYm9vc3Q6OmlzX2ludGVncmFsPCBSaHNfbm9yZWYgPjo6dmFsdWUgPjo6dmFsdWVcCisgICAgICAgICA+Ojp2YWx1ZVwKKyAgICAgID46OnZhbHVlLFwKKyAgICAgIC8qIExocz09ZnVuZGFtZW50YWwgYW5kIFJocz09cG9pbnRlciAqL1wKKyAgICAgIDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2VfYW5kPFwKKyAgICAgICAgIDo6bmRuYm9vc3Q6OmlzX2Z1bmRhbWVudGFsPCBMaHNfbm9jdiA+Ojp2YWx1ZSxcCisgICAgICAgICA6Om5kbmJvb3N0Ojppc19wb2ludGVyPCBSaHNfbm9yZWYgPjo6dmFsdWVcCisgICAgICA+Ojp2YWx1ZSxcCisgICAgICAvKiBSaHM9PWZ1bmRhbWVudGFsIGFuZCBMaHM9PXBvaW50ZXIgKi9cCisgICAgICA6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6aWNlX2FuZDxcCisgICAgICAgICA6Om5kbmJvb3N0Ojppc19mdW5kYW1lbnRhbDwgUmhzX25vY3YgPjo6dmFsdWUsXAorICAgICAgICAgOjpuZG5ib29zdDo6aXNfcG9pbnRlcjwgTGhzX25vcmVmID46OnZhbHVlXAorICAgICAgPjo6dmFsdWUsXAorICAgICAgLyogTGhzPT1wb2ludGVyIGFuZCBSaHM9PXBvaW50ZXIgKi9cCisgICAgICA6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6aWNlX2FuZDxcCisgICAgICAgICA6Om5kbmJvb3N0Ojppc19wb2ludGVyPCBMaHNfbm9yZWYgPjo6dmFsdWUsXAorICAgICAgICAgOjpuZG5ib29zdDo6aXNfcG9pbnRlcjwgUmhzX25vcmVmID46OnZhbHVlXAorICAgICAgPjo6dmFsdWVcCisgICA+Ojp2YWx1ZQorCisKKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9kZXRhaWwvaGFzX2JpbmFyeV9vcGVyYXRvci5ocHA+CisKKyN1bmRlZiBCT09TVF9UVF9UUkFJVF9OQU1FCisjdW5kZWYgQk9PU1RfVFRfVFJBSVRfT1AKKyN1bmRlZiBCT09TVF9UVF9GT1JCSURERU5fSUYKKworI2VuZGlmCmRpZmYgLS1naXQgYS9uZG5ib29zdC90eXBlX3RyYWl0cy9oYXNfYml0X2FuZF9hc3NpZ24uaHBwIGIvbmRuYm9vc3QvdHlwZV90cmFpdHMvaGFzX2JpdF9hbmRfYXNzaWduLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MWE5MzY1Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvdHlwZV90cmFpdHMvaGFzX2JpdF9hbmRfYXNzaWduLmhwcApAQCAtMCwwICsxLDU1IEBACisvLyAgKEMpIENvcHlyaWdodCAyMDA5LTIwMTEgRnJlZGVyaWMgQnJvbi4KKy8vCisvLyAgVXNlLCBtb2RpZmljYXRpb24gYW5kIGRpc3RyaWJ1dGlvbiBhcmUgc3ViamVjdCB0byB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwKKy8vICBWZXJzaW9uIDEuMC4gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdAorLy8gIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkuCisvLworLy8gIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL3R5cGVfdHJhaXRzIGZvciBtb3N0IHJlY2VudCB2ZXJzaW9uIGluY2x1ZGluZyBkb2N1bWVudGF0aW9uLgorCisjaWZuZGVmIEJPT1NUX1RUX0hBU19CSVRfQU5EX0FTU0lHTl9IUFBfSU5DTFVERUQKKyNkZWZpbmUgQk9PU1RfVFRfSEFTX0JJVF9BTkRfQVNTSUdOX0hQUF9JTkNMVURFRAorCisjZGVmaW5lIEJPT1NUX1RUX1RSQUlUX05BTUUgaGFzX2JpdF9hbmRfYXNzaWduCisjZGVmaW5lIEJPT1NUX1RUX1RSQUlUX09QICY9CisjZGVmaW5lIEJPT1NUX1RUX0ZPUkJJRERFTl9JRlwKKyAgIDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2Vfb3I8XAorICAgICAgLyogTGhzPT1mdW5kYW1lbnRhbCBhbmQgUmhzPT1mdW5kYW1lbnRhbCBhbmQgKExocyE9aW50ZWdyYWwgb3IgUmhzIT1pbnRlZ3JhbCkgKi9cCisgICAgICA6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6aWNlX2FuZDxcCisgICAgICAgICA6Om5kbmJvb3N0Ojppc19mdW5kYW1lbnRhbDwgTGhzX25vY3YgPjo6dmFsdWUsXAorICAgICAgICAgOjpuZG5ib29zdDo6aXNfZnVuZGFtZW50YWw8IFJoc19ub2N2ID46OnZhbHVlLFwKKyAgICAgICAgIDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2Vfb3I8XAorICAgICAgICAgICAgOjpuZG5ib29zdDo6dHlwZV90cmFpdHM6OmljZV9ub3Q8IDo6bmRuYm9vc3Q6OmlzX2ludGVncmFsPCBMaHNfbm9yZWYgPjo6dmFsdWUgPjo6dmFsdWUsXAorICAgICAgICAgICAgOjpuZG5ib29zdDo6dHlwZV90cmFpdHM6OmljZV9ub3Q8IDo6bmRuYm9vc3Q6OmlzX2ludGVncmFsPCBSaHNfbm9yZWYgPjo6dmFsdWUgPjo6dmFsdWVcCisgICAgICAgICA+Ojp2YWx1ZVwKKyAgICAgID46OnZhbHVlLFwKKyAgICAgIC8qIExocz09ZnVuZGFtZW50YWwgYW5kIFJocz09cG9pbnRlciAqL1wKKyAgICAgIDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2VfYW5kPFwKKyAgICAgICAgIDo6bmRuYm9vc3Q6OmlzX2Z1bmRhbWVudGFsPCBMaHNfbm9jdiA+Ojp2YWx1ZSxcCisgICAgICAgICA6Om5kbmJvb3N0Ojppc19wb2ludGVyPCBSaHNfbm9yZWYgPjo6dmFsdWVcCisgICAgICA+Ojp2YWx1ZSxcCisgICAgICAvKiBSaHM9PWZ1bmRhbWVudGFsIGFuZCBMaHM9PXBvaW50ZXIgKi9cCisgICAgICA6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6aWNlX2FuZDxcCisgICAgICAgICA6Om5kbmJvb3N0Ojppc19mdW5kYW1lbnRhbDwgUmhzX25vY3YgPjo6dmFsdWUsXAorICAgICAgICAgOjpuZG5ib29zdDo6aXNfcG9pbnRlcjwgTGhzX25vcmVmID46OnZhbHVlXAorICAgICAgPjo6dmFsdWUsXAorICAgICAgLyogTGhzPT1wb2ludGVyIGFuZCBSaHM9PXBvaW50ZXIgKi9cCisgICAgICA6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6aWNlX2FuZDxcCisgICAgICAgICA6Om5kbmJvb3N0Ojppc19wb2ludGVyPCBMaHNfbm9yZWYgPjo6dmFsdWUsXAorICAgICAgICAgOjpuZG5ib29zdDo6aXNfcG9pbnRlcjwgUmhzX25vcmVmID46OnZhbHVlXAorICAgICAgPjo6dmFsdWUsXAorICAgICAgLyogTGhzPT1mdW5kYW1lbnRhbCBhbmQgUmhzPT1mdW5kYW1lbnRhbCBhbmQgTGhzPT1jb25zdCAqL1wKKyAgICAgIDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2VfYW5kPFwKKyAgICAgICAgIDo6bmRuYm9vc3Q6OmlzX2Z1bmRhbWVudGFsPCBMaHNfbm9jdiA+Ojp2YWx1ZSxcCisgICAgICAgICA6Om5kbmJvb3N0Ojppc19mdW5kYW1lbnRhbDwgUmhzX25vY3YgPjo6dmFsdWUsXAorICAgICAgICAgOjpuZG5ib29zdDo6aXNfY29uc3Q8IExoc19ub3JlZiA+Ojp2YWx1ZVwKKyAgICAgID46OnZhbHVlXAorICAgPjo6dmFsdWUKKworCisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvZGV0YWlsL2hhc19iaW5hcnlfb3BlcmF0b3IuaHBwPgorCisjdW5kZWYgQk9PU1RfVFRfVFJBSVRfTkFNRQorI3VuZGVmIEJPT1NUX1RUX1RSQUlUX09QCisjdW5kZWYgQk9PU1RfVFRfRk9SQklEREVOX0lGCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvdHlwZV90cmFpdHMvaGFzX2JpdF9vci5ocHAgYi9uZG5ib29zdC90eXBlX3RyYWl0cy9oYXNfYml0X29yLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yY2UzMjczCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvdHlwZV90cmFpdHMvaGFzX2JpdF9vci5ocHAKQEAgLTAsMCArMSw0OSBAQAorLy8gIChDKSBDb3B5cmlnaHQgMjAwOS0yMDExIEZyZWRlcmljIEJyb24uCisvLworLy8gIFVzZSwgbW9kaWZpY2F0aW9uIGFuZCBkaXN0cmlidXRpb24gYXJlIHN1YmplY3QgdG8gdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsCisvLyAgVmVyc2lvbiAxLjAuIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQKKy8vICBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpLgorLy8KKy8vICBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvbGlicy90eXBlX3RyYWl0cyBmb3IgbW9zdCByZWNlbnQgdmVyc2lvbiBpbmNsdWRpbmcgZG9jdW1lbnRhdGlvbi4KKworI2lmbmRlZiBCT09TVF9UVF9IQVNfQklUX09SX0hQUF9JTkNMVURFRAorI2RlZmluZSBCT09TVF9UVF9IQVNfQklUX09SX0hQUF9JTkNMVURFRAorCisjZGVmaW5lIEJPT1NUX1RUX1RSQUlUX05BTUUgaGFzX2JpdF9vcgorI2RlZmluZSBCT09TVF9UVF9UUkFJVF9PUCB8CisjZGVmaW5lIEJPT1NUX1RUX0ZPUkJJRERFTl9JRlwKKyAgIDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2Vfb3I8XAorICAgICAgLyogTGhzPT1mdW5kYW1lbnRhbCBhbmQgUmhzPT1mdW5kYW1lbnRhbCBhbmQgKExocyE9aW50ZWdyYWwgb3IgUmhzIT1pbnRlZ3JhbCkgKi9cCisgICAgICA6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6aWNlX2FuZDxcCisgICAgICAgICA6Om5kbmJvb3N0Ojppc19mdW5kYW1lbnRhbDwgTGhzX25vY3YgPjo6dmFsdWUsXAorICAgICAgICAgOjpuZG5ib29zdDo6aXNfZnVuZGFtZW50YWw8IFJoc19ub2N2ID46OnZhbHVlLFwKKyAgICAgICAgIDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2Vfb3I8XAorICAgICAgICAgICAgOjpuZG5ib29zdDo6dHlwZV90cmFpdHM6OmljZV9ub3Q8IDo6bmRuYm9vc3Q6OmlzX2ludGVncmFsPCBMaHNfbm9yZWYgPjo6dmFsdWUgPjo6dmFsdWUsXAorICAgICAgICAgICAgOjpuZG5ib29zdDo6dHlwZV90cmFpdHM6OmljZV9ub3Q8IDo6bmRuYm9vc3Q6OmlzX2ludGVncmFsPCBSaHNfbm9yZWYgPjo6dmFsdWUgPjo6dmFsdWVcCisgICAgICAgICA+Ojp2YWx1ZVwKKyAgICAgID46OnZhbHVlLFwKKyAgICAgIC8qIExocz09ZnVuZGFtZW50YWwgYW5kIFJocz09cG9pbnRlciAqL1wKKyAgICAgIDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2VfYW5kPFwKKyAgICAgICAgIDo6bmRuYm9vc3Q6OmlzX2Z1bmRhbWVudGFsPCBMaHNfbm9jdiA+Ojp2YWx1ZSxcCisgICAgICAgICA6Om5kbmJvb3N0Ojppc19wb2ludGVyPCBSaHNfbm9yZWYgPjo6dmFsdWVcCisgICAgICA+Ojp2YWx1ZSxcCisgICAgICAvKiBSaHM9PWZ1bmRhbWVudGFsIGFuZCBMaHM9PXBvaW50ZXIgKi9cCisgICAgICA6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6aWNlX2FuZDxcCisgICAgICAgICA6Om5kbmJvb3N0Ojppc19mdW5kYW1lbnRhbDwgUmhzX25vY3YgPjo6dmFsdWUsXAorICAgICAgICAgOjpuZG5ib29zdDo6aXNfcG9pbnRlcjwgTGhzX25vcmVmID46OnZhbHVlXAorICAgICAgPjo6dmFsdWUsXAorICAgICAgLyogTGhzPT1wb2ludGVyIGFuZCBSaHM9PXBvaW50ZXIgKi9cCisgICAgICA6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6aWNlX2FuZDxcCisgICAgICAgICA6Om5kbmJvb3N0Ojppc19wb2ludGVyPCBMaHNfbm9yZWYgPjo6dmFsdWUsXAorICAgICAgICAgOjpuZG5ib29zdDo6aXNfcG9pbnRlcjwgUmhzX25vcmVmID46OnZhbHVlXAorICAgICAgPjo6dmFsdWVcCisgICA+Ojp2YWx1ZQorCisKKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9kZXRhaWwvaGFzX2JpbmFyeV9vcGVyYXRvci5ocHA+CisKKyN1bmRlZiBCT09TVF9UVF9UUkFJVF9OQU1FCisjdW5kZWYgQk9PU1RfVFRfVFJBSVRfT1AKKyN1bmRlZiBCT09TVF9UVF9GT1JCSURERU5fSUYKKworI2VuZGlmCmRpZmYgLS1naXQgYS9uZG5ib29zdC90eXBlX3RyYWl0cy9oYXNfYml0X29yX2Fzc2lnbi5ocHAgYi9uZG5ib29zdC90eXBlX3RyYWl0cy9oYXNfYml0X29yX2Fzc2lnbi5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTdiN2MxOAotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L3R5cGVfdHJhaXRzL2hhc19iaXRfb3JfYXNzaWduLmhwcApAQCAtMCwwICsxLDU1IEBACisvLyAgKEMpIENvcHlyaWdodCAyMDA5LTIwMTEgRnJlZGVyaWMgQnJvbi4KKy8vCisvLyAgVXNlLCBtb2RpZmljYXRpb24gYW5kIGRpc3RyaWJ1dGlvbiBhcmUgc3ViamVjdCB0byB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwKKy8vICBWZXJzaW9uIDEuMC4gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdAorLy8gIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkuCisvLworLy8gIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL3R5cGVfdHJhaXRzIGZvciBtb3N0IHJlY2VudCB2ZXJzaW9uIGluY2x1ZGluZyBkb2N1bWVudGF0aW9uLgorCisjaWZuZGVmIEJPT1NUX1RUX0hBU19CSVRfT1JfQVNTSUdOX0hQUF9JTkNMVURFRAorI2RlZmluZSBCT09TVF9UVF9IQVNfQklUX09SX0FTU0lHTl9IUFBfSU5DTFVERUQKKworI2RlZmluZSBCT09TVF9UVF9UUkFJVF9OQU1FIGhhc19iaXRfb3JfYXNzaWduCisjZGVmaW5lIEJPT1NUX1RUX1RSQUlUX09QIHw9CisjZGVmaW5lIEJPT1NUX1RUX0ZPUkJJRERFTl9JRlwKKyAgIDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2Vfb3I8XAorICAgICAgLyogTGhzPT1mdW5kYW1lbnRhbCBhbmQgUmhzPT1mdW5kYW1lbnRhbCBhbmQgKExocyE9aW50ZWdyYWwgb3IgUmhzIT1pbnRlZ3JhbCkgKi9cCisgICAgICA6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6aWNlX2FuZDxcCisgICAgICAgICA6Om5kbmJvb3N0Ojppc19mdW5kYW1lbnRhbDwgTGhzX25vY3YgPjo6dmFsdWUsXAorICAgICAgICAgOjpuZG5ib29zdDo6aXNfZnVuZGFtZW50YWw8IFJoc19ub2N2ID46OnZhbHVlLFwKKyAgICAgICAgIDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2Vfb3I8XAorICAgICAgICAgICAgOjpuZG5ib29zdDo6dHlwZV90cmFpdHM6OmljZV9ub3Q8IDo6bmRuYm9vc3Q6OmlzX2ludGVncmFsPCBMaHNfbm9yZWYgPjo6dmFsdWUgPjo6dmFsdWUsXAorICAgICAgICAgICAgOjpuZG5ib29zdDo6dHlwZV90cmFpdHM6OmljZV9ub3Q8IDo6bmRuYm9vc3Q6OmlzX2ludGVncmFsPCBSaHNfbm9yZWYgPjo6dmFsdWUgPjo6dmFsdWVcCisgICAgICAgICA+Ojp2YWx1ZVwKKyAgICAgID46OnZhbHVlLFwKKyAgICAgIC8qIExocz09ZnVuZGFtZW50YWwgYW5kIFJocz09cG9pbnRlciAqL1wKKyAgICAgIDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2VfYW5kPFwKKyAgICAgICAgIDo6bmRuYm9vc3Q6OmlzX2Z1bmRhbWVudGFsPCBMaHNfbm9jdiA+Ojp2YWx1ZSxcCisgICAgICAgICA6Om5kbmJvb3N0Ojppc19wb2ludGVyPCBSaHNfbm9yZWYgPjo6dmFsdWVcCisgICAgICA+Ojp2YWx1ZSxcCisgICAgICAvKiBSaHM9PWZ1bmRhbWVudGFsIGFuZCBMaHM9PXBvaW50ZXIgKi9cCisgICAgICA6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6aWNlX2FuZDxcCisgICAgICAgICA6Om5kbmJvb3N0Ojppc19mdW5kYW1lbnRhbDwgUmhzX25vY3YgPjo6dmFsdWUsXAorICAgICAgICAgOjpuZG5ib29zdDo6aXNfcG9pbnRlcjwgTGhzX25vcmVmID46OnZhbHVlXAorICAgICAgPjo6dmFsdWUsXAorICAgICAgLyogTGhzPT1wb2ludGVyIGFuZCBSaHM9PXBvaW50ZXIgKi9cCisgICAgICA6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6aWNlX2FuZDxcCisgICAgICAgICA6Om5kbmJvb3N0Ojppc19wb2ludGVyPCBMaHNfbm9yZWYgPjo6dmFsdWUsXAorICAgICAgICAgOjpuZG5ib29zdDo6aXNfcG9pbnRlcjwgUmhzX25vcmVmID46OnZhbHVlXAorICAgICAgPjo6dmFsdWUsXAorICAgICAgLyogTGhzPT1mdW5kYW1lbnRhbCBhbmQgUmhzPT1mdW5kYW1lbnRhbCBhbmQgTGhzPT1jb25zdCAqL1wKKyAgICAgIDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2VfYW5kPFwKKyAgICAgICAgIDo6bmRuYm9vc3Q6OmlzX2Z1bmRhbWVudGFsPCBMaHNfbm9jdiA+Ojp2YWx1ZSxcCisgICAgICAgICA6Om5kbmJvb3N0Ojppc19mdW5kYW1lbnRhbDwgUmhzX25vY3YgPjo6dmFsdWUsXAorICAgICAgICAgOjpuZG5ib29zdDo6aXNfY29uc3Q8IExoc19ub3JlZiA+Ojp2YWx1ZVwKKyAgICAgID46OnZhbHVlXAorICAgPjo6dmFsdWUKKworCisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvZGV0YWlsL2hhc19iaW5hcnlfb3BlcmF0b3IuaHBwPgorCisjdW5kZWYgQk9PU1RfVFRfVFJBSVRfTkFNRQorI3VuZGVmIEJPT1NUX1RUX1RSQUlUX09QCisjdW5kZWYgQk9PU1RfVFRfRk9SQklEREVOX0lGCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvdHlwZV90cmFpdHMvaGFzX2JpdF94b3IuaHBwIGIvbmRuYm9vc3QvdHlwZV90cmFpdHMvaGFzX2JpdF94b3IuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgyOThlMGUKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC90eXBlX3RyYWl0cy9oYXNfYml0X3hvci5ocHAKQEAgLTAsMCArMSw0OSBAQAorLy8gIChDKSBDb3B5cmlnaHQgMjAwOS0yMDExIEZyZWRlcmljIEJyb24uCisvLworLy8gIFVzZSwgbW9kaWZpY2F0aW9uIGFuZCBkaXN0cmlidXRpb24gYXJlIHN1YmplY3QgdG8gdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsCisvLyAgVmVyc2lvbiAxLjAuIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQKKy8vICBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpLgorLy8KKy8vICBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvbGlicy90eXBlX3RyYWl0cyBmb3IgbW9zdCByZWNlbnQgdmVyc2lvbiBpbmNsdWRpbmcgZG9jdW1lbnRhdGlvbi4KKworI2lmbmRlZiBCT09TVF9UVF9IQVNfQklUX1hPUl9IUFBfSU5DTFVERUQKKyNkZWZpbmUgQk9PU1RfVFRfSEFTX0JJVF9YT1JfSFBQX0lOQ0xVREVECisKKyNkZWZpbmUgQk9PU1RfVFRfVFJBSVRfTkFNRSBoYXNfYml0X3hvcgorI2RlZmluZSBCT09TVF9UVF9UUkFJVF9PUCBeCisjZGVmaW5lIEJPT1NUX1RUX0ZPUkJJRERFTl9JRlwKKyAgIDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2Vfb3I8XAorICAgICAgLyogTGhzPT1mdW5kYW1lbnRhbCBhbmQgUmhzPT1mdW5kYW1lbnRhbCBhbmQgKExocyE9aW50ZWdyYWwgb3IgUmhzIT1pbnRlZ3JhbCkgKi9cCisgICAgICA6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6aWNlX2FuZDxcCisgICAgICAgICA6Om5kbmJvb3N0Ojppc19mdW5kYW1lbnRhbDwgTGhzX25vY3YgPjo6dmFsdWUsXAorICAgICAgICAgOjpuZG5ib29zdDo6aXNfZnVuZGFtZW50YWw8IFJoc19ub2N2ID46OnZhbHVlLFwKKyAgICAgICAgIDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2Vfb3I8XAorICAgICAgICAgICAgOjpuZG5ib29zdDo6dHlwZV90cmFpdHM6OmljZV9ub3Q8IDo6bmRuYm9vc3Q6OmlzX2ludGVncmFsPCBMaHNfbm9yZWYgPjo6dmFsdWUgPjo6dmFsdWUsXAorICAgICAgICAgICAgOjpuZG5ib29zdDo6dHlwZV90cmFpdHM6OmljZV9ub3Q8IDo6bmRuYm9vc3Q6OmlzX2ludGVncmFsPCBSaHNfbm9yZWYgPjo6dmFsdWUgPjo6dmFsdWVcCisgICAgICAgICA+Ojp2YWx1ZVwKKyAgICAgID46OnZhbHVlLFwKKyAgICAgIC8qIExocz09ZnVuZGFtZW50YWwgYW5kIFJocz09cG9pbnRlciAqL1wKKyAgICAgIDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2VfYW5kPFwKKyAgICAgICAgIDo6bmRuYm9vc3Q6OmlzX2Z1bmRhbWVudGFsPCBMaHNfbm9jdiA+Ojp2YWx1ZSxcCisgICAgICAgICA6Om5kbmJvb3N0Ojppc19wb2ludGVyPCBSaHNfbm9yZWYgPjo6dmFsdWVcCisgICAgICA+Ojp2YWx1ZSxcCisgICAgICAvKiBSaHM9PWZ1bmRhbWVudGFsIGFuZCBMaHM9PXBvaW50ZXIgKi9cCisgICAgICA6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6aWNlX2FuZDxcCisgICAgICAgICA6Om5kbmJvb3N0Ojppc19mdW5kYW1lbnRhbDwgUmhzX25vY3YgPjo6dmFsdWUsXAorICAgICAgICAgOjpuZG5ib29zdDo6aXNfcG9pbnRlcjwgTGhzX25vcmVmID46OnZhbHVlXAorICAgICAgPjo6dmFsdWUsXAorICAgICAgLyogTGhzPT1wb2ludGVyIGFuZCBSaHM9PXBvaW50ZXIgKi9cCisgICAgICA6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6aWNlX2FuZDxcCisgICAgICAgICA6Om5kbmJvb3N0Ojppc19wb2ludGVyPCBMaHNfbm9yZWYgPjo6dmFsdWUsXAorICAgICAgICAgOjpuZG5ib29zdDo6aXNfcG9pbnRlcjwgUmhzX25vcmVmID46OnZhbHVlXAorICAgICAgPjo6dmFsdWVcCisgICA+Ojp2YWx1ZQorCisKKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9kZXRhaWwvaGFzX2JpbmFyeV9vcGVyYXRvci5ocHA+CisKKyN1bmRlZiBCT09TVF9UVF9UUkFJVF9OQU1FCisjdW5kZWYgQk9PU1RfVFRfVFJBSVRfT1AKKyN1bmRlZiBCT09TVF9UVF9GT1JCSURERU5fSUYKKworI2VuZGlmCmRpZmYgLS1naXQgYS9uZG5ib29zdC90eXBlX3RyYWl0cy9oYXNfYml0X3hvcl9hc3NpZ24uaHBwIGIvbmRuYm9vc3QvdHlwZV90cmFpdHMvaGFzX2JpdF94b3JfYXNzaWduLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MWNhZTk1Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvdHlwZV90cmFpdHMvaGFzX2JpdF94b3JfYXNzaWduLmhwcApAQCAtMCwwICsxLDU1IEBACisvLyAgKEMpIENvcHlyaWdodCAyMDA5LTIwMTEgRnJlZGVyaWMgQnJvbi4KKy8vCisvLyAgVXNlLCBtb2RpZmljYXRpb24gYW5kIGRpc3RyaWJ1dGlvbiBhcmUgc3ViamVjdCB0byB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwKKy8vICBWZXJzaW9uIDEuMC4gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdAorLy8gIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkuCisvLworLy8gIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL3R5cGVfdHJhaXRzIGZvciBtb3N0IHJlY2VudCB2ZXJzaW9uIGluY2x1ZGluZyBkb2N1bWVudGF0aW9uLgorCisjaWZuZGVmIEJPT1NUX1RUX0hBU19CSVRfWE9SX0FTU0lHTl9IUFBfSU5DTFVERUQKKyNkZWZpbmUgQk9PU1RfVFRfSEFTX0JJVF9YT1JfQVNTSUdOX0hQUF9JTkNMVURFRAorCisjZGVmaW5lIEJPT1NUX1RUX1RSQUlUX05BTUUgaGFzX2JpdF94b3JfYXNzaWduCisjZGVmaW5lIEJPT1NUX1RUX1RSQUlUX09QIF49CisjZGVmaW5lIEJPT1NUX1RUX0ZPUkJJRERFTl9JRlwKKyAgIDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2Vfb3I8XAorICAgICAgLyogTGhzPT1mdW5kYW1lbnRhbCBhbmQgUmhzPT1mdW5kYW1lbnRhbCBhbmQgKExocyE9aW50ZWdyYWwgb3IgUmhzIT1pbnRlZ3JhbCkgKi9cCisgICAgICA6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6aWNlX2FuZDxcCisgICAgICAgICA6Om5kbmJvb3N0Ojppc19mdW5kYW1lbnRhbDwgTGhzX25vY3YgPjo6dmFsdWUsXAorICAgICAgICAgOjpuZG5ib29zdDo6aXNfZnVuZGFtZW50YWw8IFJoc19ub2N2ID46OnZhbHVlLFwKKyAgICAgICAgIDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2Vfb3I8XAorICAgICAgICAgICAgOjpuZG5ib29zdDo6dHlwZV90cmFpdHM6OmljZV9ub3Q8IDo6bmRuYm9vc3Q6OmlzX2ludGVncmFsPCBMaHNfbm9yZWYgPjo6dmFsdWUgPjo6dmFsdWUsXAorICAgICAgICAgICAgOjpuZG5ib29zdDo6dHlwZV90cmFpdHM6OmljZV9ub3Q8IDo6bmRuYm9vc3Q6OmlzX2ludGVncmFsPCBSaHNfbm9yZWYgPjo6dmFsdWUgPjo6dmFsdWVcCisgICAgICAgICA+Ojp2YWx1ZVwKKyAgICAgID46OnZhbHVlLFwKKyAgICAgIC8qIExocz09ZnVuZGFtZW50YWwgYW5kIFJocz09cG9pbnRlciAqL1wKKyAgICAgIDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2VfYW5kPFwKKyAgICAgICAgIDo6bmRuYm9vc3Q6OmlzX2Z1bmRhbWVudGFsPCBMaHNfbm9jdiA+Ojp2YWx1ZSxcCisgICAgICAgICA6Om5kbmJvb3N0Ojppc19wb2ludGVyPCBSaHNfbm9yZWYgPjo6dmFsdWVcCisgICAgICA+Ojp2YWx1ZSxcCisgICAgICAvKiBSaHM9PWZ1bmRhbWVudGFsIGFuZCBMaHM9PXBvaW50ZXIgKi9cCisgICAgICA6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6aWNlX2FuZDxcCisgICAgICAgICA6Om5kbmJvb3N0Ojppc19mdW5kYW1lbnRhbDwgUmhzX25vY3YgPjo6dmFsdWUsXAorICAgICAgICAgOjpuZG5ib29zdDo6aXNfcG9pbnRlcjwgTGhzX25vcmVmID46OnZhbHVlXAorICAgICAgPjo6dmFsdWUsXAorICAgICAgLyogTGhzPT1wb2ludGVyIGFuZCBSaHM9PXBvaW50ZXIgKi9cCisgICAgICA6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6aWNlX2FuZDxcCisgICAgICAgICA6Om5kbmJvb3N0Ojppc19wb2ludGVyPCBMaHNfbm9yZWYgPjo6dmFsdWUsXAorICAgICAgICAgOjpuZG5ib29zdDo6aXNfcG9pbnRlcjwgUmhzX25vcmVmID46OnZhbHVlXAorICAgICAgPjo6dmFsdWUsXAorICAgICAgLyogTGhzPT1mdW5kYW1lbnRhbCBhbmQgUmhzPT1mdW5kYW1lbnRhbCBhbmQgTGhzPT1jb25zdCAqL1wKKyAgICAgIDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2VfYW5kPFwKKyAgICAgICAgIDo6bmRuYm9vc3Q6OmlzX2Z1bmRhbWVudGFsPCBMaHNfbm9jdiA+Ojp2YWx1ZSxcCisgICAgICAgICA6Om5kbmJvb3N0Ojppc19mdW5kYW1lbnRhbDwgUmhzX25vY3YgPjo6dmFsdWUsXAorICAgICAgICAgOjpuZG5ib29zdDo6aXNfY29uc3Q8IExoc19ub3JlZiA+Ojp2YWx1ZVwKKyAgICAgID46OnZhbHVlXAorICAgPjo6dmFsdWUKKworCisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvZGV0YWlsL2hhc19iaW5hcnlfb3BlcmF0b3IuaHBwPgorCisjdW5kZWYgQk9PU1RfVFRfVFJBSVRfTkFNRQorI3VuZGVmIEJPT1NUX1RUX1RSQUlUX09QCisjdW5kZWYgQk9PU1RfVFRfRk9SQklEREVOX0lGCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvdHlwZV90cmFpdHMvaGFzX2NvbXBsZW1lbnQuaHBwIGIvbmRuYm9vc3QvdHlwZV90cmFpdHMvaGFzX2NvbXBsZW1lbnQuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM4N2QzNjAKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC90eXBlX3RyYWl0cy9oYXNfY29tcGxlbWVudC5ocHAKQEAgLTAsMCArMSwzMiBAQAorLy8gIChDKSBDb3B5cmlnaHQgMjAwOS0yMDExIEZyZWRlcmljIEJyb24uCisvLworLy8gIFVzZSwgbW9kaWZpY2F0aW9uIGFuZCBkaXN0cmlidXRpb24gYXJlIHN1YmplY3QgdG8gdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsCisvLyAgVmVyc2lvbiAxLjAuIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQKKy8vICBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpLgorLy8KKy8vICBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvbGlicy90eXBlX3RyYWl0cyBmb3IgbW9zdCByZWNlbnQgdmVyc2lvbiBpbmNsdWRpbmcgZG9jdW1lbnRhdGlvbi4KKworI2lmbmRlZiBCT09TVF9UVF9IQVNfQ09NUExFTUVOVF9IUFBfSU5DTFVERUQKKyNkZWZpbmUgQk9PU1RfVFRfSEFTX0NPTVBMRU1FTlRfSFBQX0lOQ0xVREVECisKKyNkZWZpbmUgQk9PU1RfVFRfVFJBSVRfTkFNRSBoYXNfY29tcGxlbWVudAorI2RlZmluZSBCT09TVF9UVF9UUkFJVF9PUCB+CisjZGVmaW5lIEJPT1NUX1RUX0ZPUkJJRERFTl9JRlwKKyAgIDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2Vfb3I8XAorICAgICAgLyogcG9pbnRlciAqL1wKKyAgICAgIDo6bmRuYm9vc3Q6OmlzX3BvaW50ZXI8IFJoc19ub3JlZiA+Ojp2YWx1ZSxcCisgICAgICAvKiBmdW5kYW1lbnRhbCBub24gaW50ZWdyYWwgKi9cCisgICAgICA6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6aWNlX2FuZDxcCisgICAgICAgICA6Om5kbmJvb3N0Ojppc19mdW5kYW1lbnRhbDwgUmhzX25vcmVmID46OnZhbHVlLFwKKyAgICAgICAgIDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2Vfbm90PCA6Om5kbmJvb3N0Ojppc19pbnRlZ3JhbDwgUmhzX25vcmVmID46OnZhbHVlID46OnZhbHVlXAorICAgICAgPjo6dmFsdWVcCisgICA+Ojp2YWx1ZQorCisKKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9kZXRhaWwvaGFzX3ByZWZpeF9vcGVyYXRvci5ocHA+CisKKyN1bmRlZiBCT09TVF9UVF9UUkFJVF9OQU1FCisjdW5kZWYgQk9PU1RfVFRfVFJBSVRfT1AKKyN1bmRlZiBCT09TVF9UVF9GT1JCSURERU5fSUYKKworI2VuZGlmCmRpZmYgLS1naXQgYS9uZG5ib29zdC90eXBlX3RyYWl0cy9oYXNfZGVyZWZlcmVuY2UuaHBwIGIvbmRuYm9vc3QvdHlwZV90cmFpdHMvaGFzX2RlcmVmZXJlbmNlLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iODkwZjY4Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvdHlwZV90cmFpdHMvaGFzX2RlcmVmZXJlbmNlLmhwcApAQCAtMCwwICsxLDMxIEBACisvLyAgKEMpIENvcHlyaWdodCAyMDA5LTIwMTEgRnJlZGVyaWMgQnJvbi4KKy8vCisvLyAgVXNlLCBtb2RpZmljYXRpb24gYW5kIGRpc3RyaWJ1dGlvbiBhcmUgc3ViamVjdCB0byB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwKKy8vICBWZXJzaW9uIDEuMC4gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdAorLy8gIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkuCisvLworLy8gIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL3R5cGVfdHJhaXRzIGZvciBtb3N0IHJlY2VudCB2ZXJzaW9uIGluY2x1ZGluZyBkb2N1bWVudGF0aW9uLgorCisjaWZuZGVmIEJPT1NUX1RUX0hBU19ERVJFRkVSRU5DRV9IUFBfSU5DTFVERUQKKyNkZWZpbmUgQk9PU1RfVFRfSEFTX0RFUkVGRVJFTkNFX0hQUF9JTkNMVURFRAorCisjZGVmaW5lIEJPT1NUX1RUX1RSQUlUX05BTUUgaGFzX2RlcmVmZXJlbmNlCisjZGVmaW5lIEJPT1NUX1RUX1RSQUlUX09QICoKKyNkZWZpbmUgQk9PU1RfVFRfRk9SQklEREVOX0lGXAorICAgLyogdm9pZCogb3IgZnVuZGFtZW50YWwgKi9cCisgICA6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6aWNlX29yPFwKKyAgICAgIDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2VfYW5kPFwKKyAgICAgICAgIDo6bmRuYm9vc3Q6OmlzX3BvaW50ZXI8IFJoc19ub3JlZiA+Ojp2YWx1ZSxcCisgICAgICAgICA6Om5kbmJvb3N0Ojppc192b2lkPCBSaHNfbm9wdHIgPjo6dmFsdWVcCisgICAgICA+Ojp2YWx1ZSxcCisgICAgICA6Om5kbmJvb3N0Ojppc19mdW5kYW1lbnRhbDwgUmhzX25vY3YgPjo6dmFsdWVcCisgICA+Ojp2YWx1ZQorCisKKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9kZXRhaWwvaGFzX3ByZWZpeF9vcGVyYXRvci5ocHA+CisKKyN1bmRlZiBCT09TVF9UVF9UUkFJVF9OQU1FCisjdW5kZWYgQk9PU1RfVFRfVFJBSVRfT1AKKyN1bmRlZiBCT09TVF9UVF9GT1JCSURERU5fSUYKKworI2VuZGlmCmRpZmYgLS1naXQgYS9uZG5ib29zdC90eXBlX3RyYWl0cy9oYXNfZGl2aWRlcy5ocHAgYi9uZG5ib29zdC90eXBlX3RyYWl0cy9oYXNfZGl2aWRlcy5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzgyNTc0MwotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L3R5cGVfdHJhaXRzL2hhc19kaXZpZGVzLmhwcApAQCAtMCwwICsxLDQwIEBACisvLyAgKEMpIENvcHlyaWdodCAyMDA5LTIwMTEgRnJlZGVyaWMgQnJvbi4KKy8vCisvLyAgVXNlLCBtb2RpZmljYXRpb24gYW5kIGRpc3RyaWJ1dGlvbiBhcmUgc3ViamVjdCB0byB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwKKy8vICBWZXJzaW9uIDEuMC4gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdAorLy8gIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkuCisvLworLy8gIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL3R5cGVfdHJhaXRzIGZvciBtb3N0IHJlY2VudCB2ZXJzaW9uIGluY2x1ZGluZyBkb2N1bWVudGF0aW9uLgorCisjaWZuZGVmIEJPT1NUX1RUX0hBU19ESVZJREVTX0hQUF9JTkNMVURFRAorI2RlZmluZSBCT09TVF9UVF9IQVNfRElWSURFU19IUFBfSU5DTFVERUQKKworI2RlZmluZSBCT09TVF9UVF9UUkFJVF9OQU1FIGhhc19kaXZpZGVzCisjZGVmaW5lIEJPT1NUX1RUX1RSQUlUX09QIC8KKyNkZWZpbmUgQk9PU1RfVFRfRk9SQklEREVOX0lGXAorICAgLyogcG9pbnRlciB3aXRoIHBvaW50ZXIgb3IgZnVuZGFtZW50YWwgKi9cCisgICA6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6aWNlX29yPFwKKyAgICAgIDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2VfYW5kPFwKKyAgICAgICAgIDo6bmRuYm9vc3Q6OmlzX3BvaW50ZXI8IExoc19ub3JlZiA+Ojp2YWx1ZSxcCisgICAgICAgICA6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6aWNlX29yPFwKKyAgICAgICAgICAgIDo6bmRuYm9vc3Q6OmlzX2Z1bmRhbWVudGFsPCBSaHNfbm9jdiA+Ojp2YWx1ZSxcCisgICAgICAgICAgICA6Om5kbmJvb3N0Ojppc19wb2ludGVyPCBSaHNfbm9yZWYgPjo6dmFsdWVcCisgICAgICAgICA+Ojp2YWx1ZVwKKyAgICAgID46OnZhbHVlLFwKKyAgICAgIDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2VfYW5kPFwKKyAgICAgICAgIDo6bmRuYm9vc3Q6OmlzX3BvaW50ZXI8IFJoc19ub3JlZiA+Ojp2YWx1ZSxcCisgICAgICAgICA6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6aWNlX29yPFwKKyAgICAgICAgICAgIDo6bmRuYm9vc3Q6OmlzX2Z1bmRhbWVudGFsPCBMaHNfbm9jdiA+Ojp2YWx1ZSxcCisgICAgICAgICAgICA6Om5kbmJvb3N0Ojppc19wb2ludGVyPCBMaHNfbm9yZWYgPjo6dmFsdWVcCisgICAgICAgICA+Ojp2YWx1ZVwKKyAgICAgID46OnZhbHVlXAorICAgPjo6dmFsdWUKKworCisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvZGV0YWlsL2hhc19iaW5hcnlfb3BlcmF0b3IuaHBwPgorCisjdW5kZWYgQk9PU1RfVFRfVFJBSVRfTkFNRQorI3VuZGVmIEJPT1NUX1RUX1RSQUlUX09QCisjdW5kZWYgQk9PU1RfVFRfRk9SQklEREVOX0lGCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvdHlwZV90cmFpdHMvaGFzX2RpdmlkZXNfYXNzaWduLmhwcCBiL25kbmJvb3N0L3R5cGVfdHJhaXRzL2hhc19kaXZpZGVzX2Fzc2lnbi5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDU5NGRmZQotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L3R5cGVfdHJhaXRzL2hhc19kaXZpZGVzX2Fzc2lnbi5ocHAKQEAgLTAsMCArMSw0NyBAQAorLy8gIChDKSBDb3B5cmlnaHQgMjAwOS0yMDExIEZyZWRlcmljIEJyb24uCisvLworLy8gIFVzZSwgbW9kaWZpY2F0aW9uIGFuZCBkaXN0cmlidXRpb24gYXJlIHN1YmplY3QgdG8gdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsCisvLyAgVmVyc2lvbiAxLjAuIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQKKy8vICBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpLgorLy8KKy8vICBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvbGlicy90eXBlX3RyYWl0cyBmb3IgbW9zdCByZWNlbnQgdmVyc2lvbiBpbmNsdWRpbmcgZG9jdW1lbnRhdGlvbi4KKworI2lmbmRlZiBCT09TVF9UVF9IQVNfRElWSURFU19BU1NJR05fSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX1RUX0hBU19ESVZJREVTX0FTU0lHTl9IUFBfSU5DTFVERUQKKworI2RlZmluZSBCT09TVF9UVF9UUkFJVF9OQU1FIGhhc19kaXZpZGVzX2Fzc2lnbgorI2RlZmluZSBCT09TVF9UVF9UUkFJVF9PUCAvPQorI2RlZmluZSBCT09TVF9UVF9GT1JCSURERU5fSUZcCisgICA6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6aWNlX29yPFwKKyAgICAgIC8qIExocz09ZnVuZGFtZW50YWwgYW5kIExocz09Y29uc3QgYW5kIFJocz09ZnVuZGFtZW50YWwgKi9cCisgICAgICA6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6aWNlX2FuZDxcCisgICAgICAgICA6Om5kbmJvb3N0Ojppc19mdW5kYW1lbnRhbDwgTGhzX25vY3YgPjo6dmFsdWUsXAorICAgICAgICAgOjpuZG5ib29zdDo6aXNfY29uc3Q8IExoc19ub3JlZiA+Ojp2YWx1ZSxcCisgICAgICAgICA6Om5kbmJvb3N0Ojppc19mdW5kYW1lbnRhbDwgUmhzX25vY3YgPjo6dmFsdWVcCisgICAgICA+Ojp2YWx1ZSxcCisgICAgICAvKiBMaHM9PXBvaW50ZXIgYW5kIChSaHM9PWZ1bmRhbWVudGFsIG9yIFJocz09cG9pbnRlcikgKi9cCisgICAgICA6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6aWNlX2FuZDxcCisgICAgICAgICA6Om5kbmJvb3N0Ojppc19wb2ludGVyPCBMaHNfbm9yZWYgPjo6dmFsdWUsXAorICAgICAgICAgOjpuZG5ib29zdDo6dHlwZV90cmFpdHM6OmljZV9vcjxcCisgICAgICAgICAgICA6Om5kbmJvb3N0Ojppc19mdW5kYW1lbnRhbDwgUmhzX25vY3YgPjo6dmFsdWUsXAorICAgICAgICAgICAgOjpuZG5ib29zdDo6aXNfcG9pbnRlcjwgUmhzX25vcmVmID46OnZhbHVlXAorICAgICAgICAgPjo6dmFsdWVcCisgICAgICA+Ojp2YWx1ZSxcCisgICAgICAvKiBSaHM9PXBvaW50ZXIgYW5kIChMaHM9PWZ1bmRhbWVudGFsIG9yIExocz09cG9pbnRlcikgKi9cCisgICAgICA6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6aWNlX2FuZDxcCisgICAgICAgICA6Om5kbmJvb3N0Ojppc19wb2ludGVyPCBSaHNfbm9yZWYgPjo6dmFsdWUsXAorICAgICAgICAgOjpuZG5ib29zdDo6dHlwZV90cmFpdHM6OmljZV9vcjxcCisgICAgICAgICAgICA6Om5kbmJvb3N0Ojppc19mdW5kYW1lbnRhbDwgTGhzX25vY3YgPjo6dmFsdWUsXAorICAgICAgICAgICAgOjpuZG5ib29zdDo6aXNfcG9pbnRlcjwgTGhzX25vcmVmID46OnZhbHVlXAorICAgICAgICAgPjo6dmFsdWVcCisgICAgICA+Ojp2YWx1ZVwKKyAgID46OnZhbHVlCisKKworI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2RldGFpbC9oYXNfYmluYXJ5X29wZXJhdG9yLmhwcD4KKworI3VuZGVmIEJPT1NUX1RUX1RSQUlUX05BTUUKKyN1bmRlZiBCT09TVF9UVF9UUkFJVF9PUAorI3VuZGVmIEJPT1NUX1RUX0ZPUkJJRERFTl9JRgorCisjZW5kaWYKZGlmZiAtLWdpdCBhL25kbmJvb3N0L3R5cGVfdHJhaXRzL2hhc19lcXVhbF90by5ocHAgYi9uZG5ib29zdC90eXBlX3RyYWl0cy9oYXNfZXF1YWxfdG8uaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNkMGI4ZDEKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC90eXBlX3RyYWl0cy9oYXNfZXF1YWxfdG8uaHBwCkBAIC0wLDAgKzEsNDkgQEAKKy8vICAoQykgQ29weXJpZ2h0IDIwMDktMjAxMSBGcmVkZXJpYyBCcm9uLgorLy8KKy8vICBVc2UsIG1vZGlmaWNhdGlvbiBhbmQgZGlzdHJpYnV0aW9uIGFyZSBzdWJqZWN0IHRvIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLAorLy8gIFZlcnNpb24gMS4wLiAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0CisvLyAgaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KS4KKy8vCisvLyAgU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL2xpYnMvdHlwZV90cmFpdHMgZm9yIG1vc3QgcmVjZW50IHZlcnNpb24gaW5jbHVkaW5nIGRvY3VtZW50YXRpb24uCisKKyNpZm5kZWYgQk9PU1RfVFRfSEFTX0VRVUFMX1RPX0hQUF9JTkNMVURFRAorI2RlZmluZSBCT09TVF9UVF9IQVNfRVFVQUxfVE9fSFBQX0lOQ0xVREVECisKKyNkZWZpbmUgQk9PU1RfVFRfVFJBSVRfTkFNRSBoYXNfZXF1YWxfdG8KKyNkZWZpbmUgQk9PU1RfVFRfVFJBSVRfT1AgPT0KKyNkZWZpbmUgQk9PU1RfVFRfRk9SQklEREVOX0lGXAorICAgOjpuZG5ib29zdDo6dHlwZV90cmFpdHM6OmljZV9vcjxcCisgICAgICAvKiBMaHM9PXBvaW50ZXIgYW5kIFJocz09ZnVuZGFtZW50YWwgKi9cCisgICAgICA6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6aWNlX2FuZDxcCisgICAgICAgICA6Om5kbmJvb3N0Ojppc19wb2ludGVyPCBMaHNfbm9yZWYgPjo6dmFsdWUsXAorICAgICAgICAgOjpuZG5ib29zdDo6aXNfZnVuZGFtZW50YWw8IFJoc19ub2N2ID46OnZhbHVlXAorICAgICAgPjo6dmFsdWUsXAorICAgICAgLyogUmhzPT1wb2ludGVyIGFuZCBMaHM9PWZ1bmRhbWVudGFsICovXAorICAgICAgOjpuZG5ib29zdDo6dHlwZV90cmFpdHM6OmljZV9hbmQ8XAorICAgICAgICAgOjpuZG5ib29zdDo6aXNfcG9pbnRlcjwgUmhzX25vcmVmID46OnZhbHVlLFwKKyAgICAgICAgIDo6bmRuYm9vc3Q6OmlzX2Z1bmRhbWVudGFsPCBMaHNfbm9jdiA+Ojp2YWx1ZVwKKyAgICAgID46OnZhbHVlLFwKKyAgICAgIC8qIExocz09cG9pbnRlciBhbmQgUmhzPT1wb2ludGVyIGFuZCBMaHMhPWJhc2UoUmhzKSBhbmQgUmhzIT1iYXNlKExocykgYW5kIExocyE9dm9pZCogYW5kIFJocyE9dm9pZCogKi9cCisgICAgICA6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6aWNlX2FuZDxcCisgICAgICAgICA6Om5kbmJvb3N0Ojppc19wb2ludGVyPCBMaHNfbm9yZWYgPjo6dmFsdWUsXAorICAgICAgICAgOjpuZG5ib29zdDo6aXNfcG9pbnRlcjwgUmhzX25vcmVmID46OnZhbHVlLFwKKyAgICAgICAgIDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2Vfbm90PFwKKyAgICAgICAgICAgIDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2Vfb3I8XAorICAgICAgICAgICAgICAgOjpuZG5ib29zdDo6aXNfYmFzZV9vZjwgTGhzX25vcHRyLCBSaHNfbm9wdHIgPjo6dmFsdWUsXAorICAgICAgICAgICAgICAgOjpuZG5ib29zdDo6aXNfYmFzZV9vZjwgUmhzX25vcHRyLCBMaHNfbm9wdHIgPjo6dmFsdWUsXAorICAgICAgICAgICAgICAgOjpuZG5ib29zdDo6aXNfc2FtZTwgTGhzX25vcHRyLCBSaHNfbm9wdHIgPjo6dmFsdWUsXAorICAgICAgICAgICAgICAgOjpuZG5ib29zdDo6aXNfdm9pZDwgTGhzX25vcHRyID46OnZhbHVlLFwKKyAgICAgICAgICAgICAgIDo6bmRuYm9vc3Q6OmlzX3ZvaWQ8IFJoc19ub3B0ciA+Ojp2YWx1ZVwKKyAgICAgICAgICAgID46OnZhbHVlXAorICAgICAgICAgPjo6dmFsdWVcCisgICAgICA+Ojp2YWx1ZVwKKyAgID46OnZhbHVlCisKKworI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2RldGFpbC9oYXNfYmluYXJ5X29wZXJhdG9yLmhwcD4KKworI3VuZGVmIEJPT1NUX1RUX1RSQUlUX05BTUUKKyN1bmRlZiBCT09TVF9UVF9UUkFJVF9PUAorI3VuZGVmIEJPT1NUX1RUX0ZPUkJJRERFTl9JRgorCisjZW5kaWYKZGlmZiAtLWdpdCBhL25kbmJvb3N0L3R5cGVfdHJhaXRzL2hhc19ncmVhdGVyLmhwcCBiL25kbmJvb3N0L3R5cGVfdHJhaXRzL2hhc19ncmVhdGVyLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kYzg4ODlhCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvdHlwZV90cmFpdHMvaGFzX2dyZWF0ZXIuaHBwCkBAIC0wLDAgKzEsNDkgQEAKKy8vICAoQykgQ29weXJpZ2h0IDIwMDktMjAxMSBGcmVkZXJpYyBCcm9uLgorLy8KKy8vICBVc2UsIG1vZGlmaWNhdGlvbiBhbmQgZGlzdHJpYnV0aW9uIGFyZSBzdWJqZWN0IHRvIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLAorLy8gIFZlcnNpb24gMS4wLiAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0CisvLyAgaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KS4KKy8vCisvLyAgU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL2xpYnMvdHlwZV90cmFpdHMgZm9yIG1vc3QgcmVjZW50IHZlcnNpb24gaW5jbHVkaW5nIGRvY3VtZW50YXRpb24uCisKKyNpZm5kZWYgQk9PU1RfVFRfSEFTX0dSRUFURVJfSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX1RUX0hBU19HUkVBVEVSX0hQUF9JTkNMVURFRAorCisjZGVmaW5lIEJPT1NUX1RUX1RSQUlUX05BTUUgaGFzX2dyZWF0ZXIKKyNkZWZpbmUgQk9PU1RfVFRfVFJBSVRfT1AgPgorI2RlZmluZSBCT09TVF9UVF9GT1JCSURERU5fSUZcCisgICA6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6aWNlX29yPFwKKyAgICAgIC8qIExocz09cG9pbnRlciBhbmQgUmhzPT1mdW5kYW1lbnRhbCAqL1wKKyAgICAgIDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2VfYW5kPFwKKyAgICAgICAgIDo6bmRuYm9vc3Q6OmlzX3BvaW50ZXI8IExoc19ub3JlZiA+Ojp2YWx1ZSxcCisgICAgICAgICA6Om5kbmJvb3N0Ojppc19mdW5kYW1lbnRhbDwgUmhzX25vY3YgPjo6dmFsdWVcCisgICAgICA+Ojp2YWx1ZSxcCisgICAgICAvKiBSaHM9PXBvaW50ZXIgYW5kIExocz09ZnVuZGFtZW50YWwgKi9cCisgICAgICA6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6aWNlX2FuZDxcCisgICAgICAgICA6Om5kbmJvb3N0Ojppc19wb2ludGVyPCBSaHNfbm9yZWYgPjo6dmFsdWUsXAorICAgICAgICAgOjpuZG5ib29zdDo6aXNfZnVuZGFtZW50YWw8IExoc19ub2N2ID46OnZhbHVlXAorICAgICAgPjo6dmFsdWUsXAorICAgICAgLyogTGhzPT1wb2ludGVyIGFuZCBSaHM9PXBvaW50ZXIgYW5kIExocyE9YmFzZShSaHMpIGFuZCBSaHMhPWJhc2UoTGhzKSBhbmQgTGhzIT12b2lkKiBhbmQgUmhzIT12b2lkKiAqL1wKKyAgICAgIDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2VfYW5kPFwKKyAgICAgICAgIDo6bmRuYm9vc3Q6OmlzX3BvaW50ZXI8IExoc19ub3JlZiA+Ojp2YWx1ZSxcCisgICAgICAgICA6Om5kbmJvb3N0Ojppc19wb2ludGVyPCBSaHNfbm9yZWYgPjo6dmFsdWUsXAorICAgICAgICAgOjpuZG5ib29zdDo6dHlwZV90cmFpdHM6OmljZV9ub3Q8XAorICAgICAgICAgICAgOjpuZG5ib29zdDo6dHlwZV90cmFpdHM6OmljZV9vcjxcCisgICAgICAgICAgICAgICA6Om5kbmJvb3N0Ojppc19iYXNlX29mPCBMaHNfbm9wdHIsIFJoc19ub3B0ciA+Ojp2YWx1ZSxcCisgICAgICAgICAgICAgICA6Om5kbmJvb3N0Ojppc19iYXNlX29mPCBSaHNfbm9wdHIsIExoc19ub3B0ciA+Ojp2YWx1ZSxcCisgICAgICAgICAgICAgICA6Om5kbmJvb3N0Ojppc19zYW1lPCBMaHNfbm9wdHIsIFJoc19ub3B0ciA+Ojp2YWx1ZSxcCisgICAgICAgICAgICAgICA6Om5kbmJvb3N0Ojppc192b2lkPCBMaHNfbm9wdHIgPjo6dmFsdWUsXAorICAgICAgICAgICAgICAgOjpuZG5ib29zdDo6aXNfdm9pZDwgUmhzX25vcHRyID46OnZhbHVlXAorICAgICAgICAgICAgPjo6dmFsdWVcCisgICAgICAgICA+Ojp2YWx1ZVwKKyAgICAgID46OnZhbHVlXAorICAgPjo6dmFsdWUKKworCisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvZGV0YWlsL2hhc19iaW5hcnlfb3BlcmF0b3IuaHBwPgorCisjdW5kZWYgQk9PU1RfVFRfVFJBSVRfTkFNRQorI3VuZGVmIEJPT1NUX1RUX1RSQUlUX09QCisjdW5kZWYgQk9PU1RfVFRfRk9SQklEREVOX0lGCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvdHlwZV90cmFpdHMvaGFzX2dyZWF0ZXJfZXF1YWwuaHBwIGIvbmRuYm9vc3QvdHlwZV90cmFpdHMvaGFzX2dyZWF0ZXJfZXF1YWwuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYxZWMyNjIKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC90eXBlX3RyYWl0cy9oYXNfZ3JlYXRlcl9lcXVhbC5ocHAKQEAgLTAsMCArMSw0OSBAQAorLy8gIChDKSBDb3B5cmlnaHQgMjAwOS0yMDExIEZyZWRlcmljIEJyb24uCisvLworLy8gIFVzZSwgbW9kaWZpY2F0aW9uIGFuZCBkaXN0cmlidXRpb24gYXJlIHN1YmplY3QgdG8gdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsCisvLyAgVmVyc2lvbiAxLjAuIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQKKy8vICBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpLgorLy8KKy8vICBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvbGlicy90eXBlX3RyYWl0cyBmb3IgbW9zdCByZWNlbnQgdmVyc2lvbiBpbmNsdWRpbmcgZG9jdW1lbnRhdGlvbi4KKworI2lmbmRlZiBCT09TVF9UVF9IQVNfR1JFQVRFUl9FUVVBTF9IUFBfSU5DTFVERUQKKyNkZWZpbmUgQk9PU1RfVFRfSEFTX0dSRUFURVJfRVFVQUxfSFBQX0lOQ0xVREVECisKKyNkZWZpbmUgQk9PU1RfVFRfVFJBSVRfTkFNRSBoYXNfZ3JlYXRlcl9lcXVhbAorI2RlZmluZSBCT09TVF9UVF9UUkFJVF9PUCA+PQorI2RlZmluZSBCT09TVF9UVF9GT1JCSURERU5fSUZcCisgICA6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6aWNlX29yPFwKKyAgICAgIC8qIExocz09cG9pbnRlciBhbmQgUmhzPT1mdW5kYW1lbnRhbCAqL1wKKyAgICAgIDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2VfYW5kPFwKKyAgICAgICAgIDo6bmRuYm9vc3Q6OmlzX3BvaW50ZXI8IExoc19ub3JlZiA+Ojp2YWx1ZSxcCisgICAgICAgICA6Om5kbmJvb3N0Ojppc19mdW5kYW1lbnRhbDwgUmhzX25vY3YgPjo6dmFsdWVcCisgICAgICA+Ojp2YWx1ZSxcCisgICAgICAvKiBSaHM9PXBvaW50ZXIgYW5kIExocz09ZnVuZGFtZW50YWwgKi9cCisgICAgICA6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6aWNlX2FuZDxcCisgICAgICAgICA6Om5kbmJvb3N0Ojppc19wb2ludGVyPCBSaHNfbm9yZWYgPjo6dmFsdWUsXAorICAgICAgICAgOjpuZG5ib29zdDo6aXNfZnVuZGFtZW50YWw8IExoc19ub2N2ID46OnZhbHVlXAorICAgICAgPjo6dmFsdWUsXAorICAgICAgLyogTGhzPT1wb2ludGVyIGFuZCBSaHM9PXBvaW50ZXIgYW5kIExocyE9YmFzZShSaHMpIGFuZCBSaHMhPWJhc2UoTGhzKSBhbmQgTGhzIT12b2lkKiBhbmQgUmhzIT12b2lkKiAqL1wKKyAgICAgIDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2VfYW5kPFwKKyAgICAgICAgIDo6bmRuYm9vc3Q6OmlzX3BvaW50ZXI8IExoc19ub3JlZiA+Ojp2YWx1ZSxcCisgICAgICAgICA6Om5kbmJvb3N0Ojppc19wb2ludGVyPCBSaHNfbm9yZWYgPjo6dmFsdWUsXAorICAgICAgICAgOjpuZG5ib29zdDo6dHlwZV90cmFpdHM6OmljZV9ub3Q8XAorICAgICAgICAgICAgOjpuZG5ib29zdDo6dHlwZV90cmFpdHM6OmljZV9vcjxcCisgICAgICAgICAgICAgICA6Om5kbmJvb3N0Ojppc19iYXNlX29mPCBMaHNfbm9wdHIsIFJoc19ub3B0ciA+Ojp2YWx1ZSxcCisgICAgICAgICAgICAgICA6Om5kbmJvb3N0Ojppc19iYXNlX29mPCBSaHNfbm9wdHIsIExoc19ub3B0ciA+Ojp2YWx1ZSxcCisgICAgICAgICAgICAgICA6Om5kbmJvb3N0Ojppc19zYW1lPCBMaHNfbm9wdHIsIFJoc19ub3B0ciA+Ojp2YWx1ZSxcCisgICAgICAgICAgICAgICA6Om5kbmJvb3N0Ojppc192b2lkPCBMaHNfbm9wdHIgPjo6dmFsdWUsXAorICAgICAgICAgICAgICAgOjpuZG5ib29zdDo6aXNfdm9pZDwgUmhzX25vcHRyID46OnZhbHVlXAorICAgICAgICAgICAgPjo6dmFsdWVcCisgICAgICAgICA+Ojp2YWx1ZVwKKyAgICAgID46OnZhbHVlXAorICAgPjo6dmFsdWUKKworCisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvZGV0YWlsL2hhc19iaW5hcnlfb3BlcmF0b3IuaHBwPgorCisjdW5kZWYgQk9PU1RfVFRfVFJBSVRfTkFNRQorI3VuZGVmIEJPT1NUX1RUX1RSQUlUX09QCisjdW5kZWYgQk9PU1RfVFRfRk9SQklEREVOX0lGCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvdHlwZV90cmFpdHMvaGFzX2xlZnRfc2hpZnQuaHBwIGIvbmRuYm9vc3QvdHlwZV90cmFpdHMvaGFzX2xlZnRfc2hpZnQuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI3OTc4YWEKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC90eXBlX3RyYWl0cy9oYXNfbGVmdF9zaGlmdC5ocHAKQEAgLTAsMCArMSw0OSBAQAorLy8gIChDKSBDb3B5cmlnaHQgMjAwOS0yMDExIEZyZWRlcmljIEJyb24uCisvLworLy8gIFVzZSwgbW9kaWZpY2F0aW9uIGFuZCBkaXN0cmlidXRpb24gYXJlIHN1YmplY3QgdG8gdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsCisvLyAgVmVyc2lvbiAxLjAuIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQKKy8vICBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpLgorLy8KKy8vICBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvbGlicy90eXBlX3RyYWl0cyBmb3IgbW9zdCByZWNlbnQgdmVyc2lvbiBpbmNsdWRpbmcgZG9jdW1lbnRhdGlvbi4KKworI2lmbmRlZiBCT09TVF9UVF9IQVNfTEVGVF9TSElGVF9IUFBfSU5DTFVERUQKKyNkZWZpbmUgQk9PU1RfVFRfSEFTX0xFRlRfU0hJRlRfSFBQX0lOQ0xVREVECisKKyNkZWZpbmUgQk9PU1RfVFRfVFJBSVRfTkFNRSBoYXNfbGVmdF9zaGlmdAorI2RlZmluZSBCT09TVF9UVF9UUkFJVF9PUCA8PAorI2RlZmluZSBCT09TVF9UVF9GT1JCSURERU5fSUZcCisgICA6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6aWNlX29yPFwKKyAgICAgIC8qIExocz09ZnVuZGFtZW50YWwgYW5kIFJocz09ZnVuZGFtZW50YWwgYW5kIChMaHMhPWludGVncmFsIG9yIFJocyE9aW50ZWdyYWwpICovXAorICAgICAgOjpuZG5ib29zdDo6dHlwZV90cmFpdHM6OmljZV9hbmQ8XAorICAgICAgICAgOjpuZG5ib29zdDo6aXNfZnVuZGFtZW50YWw8IExoc19ub2N2ID46OnZhbHVlLFwKKyAgICAgICAgIDo6bmRuYm9vc3Q6OmlzX2Z1bmRhbWVudGFsPCBSaHNfbm9jdiA+Ojp2YWx1ZSxcCisgICAgICAgICA6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6aWNlX29yPFwKKyAgICAgICAgICAgIDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2Vfbm90PCA6Om5kbmJvb3N0Ojppc19pbnRlZ3JhbDwgTGhzX25vcmVmID46OnZhbHVlID46OnZhbHVlLFwKKyAgICAgICAgICAgIDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2Vfbm90PCA6Om5kbmJvb3N0Ojppc19pbnRlZ3JhbDwgUmhzX25vcmVmID46OnZhbHVlID46OnZhbHVlXAorICAgICAgICAgPjo6dmFsdWVcCisgICAgICA+Ojp2YWx1ZSxcCisgICAgICAvKiBMaHM9PWZ1bmRhbWVudGFsIGFuZCBSaHM9PXBvaW50ZXIgKi9cCisgICAgICA6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6aWNlX2FuZDxcCisgICAgICAgICA6Om5kbmJvb3N0Ojppc19mdW5kYW1lbnRhbDwgTGhzX25vY3YgPjo6dmFsdWUsXAorICAgICAgICAgOjpuZG5ib29zdDo6aXNfcG9pbnRlcjwgUmhzX25vcmVmID46OnZhbHVlXAorICAgICAgPjo6dmFsdWUsXAorICAgICAgLyogUmhzPT1mdW5kYW1lbnRhbCBhbmQgTGhzPT1wb2ludGVyICovXAorICAgICAgOjpuZG5ib29zdDo6dHlwZV90cmFpdHM6OmljZV9hbmQ8XAorICAgICAgICAgOjpuZG5ib29zdDo6aXNfZnVuZGFtZW50YWw8IFJoc19ub2N2ID46OnZhbHVlLFwKKyAgICAgICAgIDo6bmRuYm9vc3Q6OmlzX3BvaW50ZXI8IExoc19ub3JlZiA+Ojp2YWx1ZVwKKyAgICAgID46OnZhbHVlLFwKKyAgICAgIC8qIExocz09cG9pbnRlciBhbmQgUmhzPT1wb2ludGVyICovXAorICAgICAgOjpuZG5ib29zdDo6dHlwZV90cmFpdHM6OmljZV9hbmQ8XAorICAgICAgICAgOjpuZG5ib29zdDo6aXNfcG9pbnRlcjwgTGhzX25vcmVmID46OnZhbHVlLFwKKyAgICAgICAgIDo6bmRuYm9vc3Q6OmlzX3BvaW50ZXI8IFJoc19ub3JlZiA+Ojp2YWx1ZVwKKyAgICAgID46OnZhbHVlXAorICAgPjo6dmFsdWUKKworCisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvZGV0YWlsL2hhc19iaW5hcnlfb3BlcmF0b3IuaHBwPgorCisjdW5kZWYgQk9PU1RfVFRfVFJBSVRfTkFNRQorI3VuZGVmIEJPT1NUX1RUX1RSQUlUX09QCisjdW5kZWYgQk9PU1RfVFRfRk9SQklEREVOX0lGCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvdHlwZV90cmFpdHMvaGFzX2xlZnRfc2hpZnRfYXNzaWduLmhwcCBiL25kbmJvb3N0L3R5cGVfdHJhaXRzL2hhc19sZWZ0X3NoaWZ0X2Fzc2lnbi5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTlhZWM1MQotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L3R5cGVfdHJhaXRzL2hhc19sZWZ0X3NoaWZ0X2Fzc2lnbi5ocHAKQEAgLTAsMCArMSw1NSBAQAorLy8gIChDKSBDb3B5cmlnaHQgMjAwOS0yMDExIEZyZWRlcmljIEJyb24uCisvLworLy8gIFVzZSwgbW9kaWZpY2F0aW9uIGFuZCBkaXN0cmlidXRpb24gYXJlIHN1YmplY3QgdG8gdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsCisvLyAgVmVyc2lvbiAxLjAuIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQKKy8vICBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpLgorLy8KKy8vICBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvbGlicy90eXBlX3RyYWl0cyBmb3IgbW9zdCByZWNlbnQgdmVyc2lvbiBpbmNsdWRpbmcgZG9jdW1lbnRhdGlvbi4KKworI2lmbmRlZiBCT09TVF9UVF9IQVNfTEVGVF9TSElGVF9BU1NJR05fSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX1RUX0hBU19MRUZUX1NISUZUX0FTU0lHTl9IUFBfSU5DTFVERUQKKworI2RlZmluZSBCT09TVF9UVF9UUkFJVF9OQU1FIGhhc19sZWZ0X3NoaWZ0X2Fzc2lnbgorI2RlZmluZSBCT09TVF9UVF9UUkFJVF9PUCA8PD0KKyNkZWZpbmUgQk9PU1RfVFRfRk9SQklEREVOX0lGXAorICAgOjpuZG5ib29zdDo6dHlwZV90cmFpdHM6OmljZV9vcjxcCisgICAgICAvKiBMaHM9PWZ1bmRhbWVudGFsIGFuZCBSaHM9PWZ1bmRhbWVudGFsIGFuZCAoTGhzIT1pbnRlZ3JhbCBvciBSaHMhPWludGVncmFsKSAqL1wKKyAgICAgIDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2VfYW5kPFwKKyAgICAgICAgIDo6bmRuYm9vc3Q6OmlzX2Z1bmRhbWVudGFsPCBMaHNfbm9jdiA+Ojp2YWx1ZSxcCisgICAgICAgICA6Om5kbmJvb3N0Ojppc19mdW5kYW1lbnRhbDwgUmhzX25vY3YgPjo6dmFsdWUsXAorICAgICAgICAgOjpuZG5ib29zdDo6dHlwZV90cmFpdHM6OmljZV9vcjxcCisgICAgICAgICAgICA6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6aWNlX25vdDwgOjpuZG5ib29zdDo6aXNfaW50ZWdyYWw8IExoc19ub3JlZiA+Ojp2YWx1ZSA+Ojp2YWx1ZSxcCisgICAgICAgICAgICA6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6aWNlX25vdDwgOjpuZG5ib29zdDo6aXNfaW50ZWdyYWw8IFJoc19ub3JlZiA+Ojp2YWx1ZSA+Ojp2YWx1ZVwKKyAgICAgICAgID46OnZhbHVlXAorICAgICAgPjo6dmFsdWUsXAorICAgICAgLyogTGhzPT1mdW5kYW1lbnRhbCBhbmQgUmhzPT1wb2ludGVyICovXAorICAgICAgOjpuZG5ib29zdDo6dHlwZV90cmFpdHM6OmljZV9hbmQ8XAorICAgICAgICAgOjpuZG5ib29zdDo6aXNfZnVuZGFtZW50YWw8IExoc19ub2N2ID46OnZhbHVlLFwKKyAgICAgICAgIDo6bmRuYm9vc3Q6OmlzX3BvaW50ZXI8IFJoc19ub3JlZiA+Ojp2YWx1ZVwKKyAgICAgID46OnZhbHVlLFwKKyAgICAgIC8qIFJocz09ZnVuZGFtZW50YWwgYW5kIExocz09cG9pbnRlciAqL1wKKyAgICAgIDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2VfYW5kPFwKKyAgICAgICAgIDo6bmRuYm9vc3Q6OmlzX2Z1bmRhbWVudGFsPCBSaHNfbm9jdiA+Ojp2YWx1ZSxcCisgICAgICAgICA6Om5kbmJvb3N0Ojppc19wb2ludGVyPCBMaHNfbm9yZWYgPjo6dmFsdWVcCisgICAgICA+Ojp2YWx1ZSxcCisgICAgICAvKiBMaHM9PXBvaW50ZXIgYW5kIFJocz09cG9pbnRlciAqL1wKKyAgICAgIDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2VfYW5kPFwKKyAgICAgICAgIDo6bmRuYm9vc3Q6OmlzX3BvaW50ZXI8IExoc19ub3JlZiA+Ojp2YWx1ZSxcCisgICAgICAgICA6Om5kbmJvb3N0Ojppc19wb2ludGVyPCBSaHNfbm9yZWYgPjo6dmFsdWVcCisgICAgICA+Ojp2YWx1ZSxcCisgICAgICAvKiBMaHM9PWZ1bmRhbWVudGFsIGFuZCBSaHM9PWZ1bmRhbWVudGFsIGFuZCBMaHM9PWNvbnN0ICovXAorICAgICAgOjpuZG5ib29zdDo6dHlwZV90cmFpdHM6OmljZV9hbmQ8XAorICAgICAgICAgOjpuZG5ib29zdDo6aXNfZnVuZGFtZW50YWw8IExoc19ub2N2ID46OnZhbHVlLFwKKyAgICAgICAgIDo6bmRuYm9vc3Q6OmlzX2Z1bmRhbWVudGFsPCBSaHNfbm9jdiA+Ojp2YWx1ZSxcCisgICAgICAgICA6Om5kbmJvb3N0Ojppc19jb25zdDwgTGhzX25vcmVmID46OnZhbHVlXAorICAgICAgPjo6dmFsdWVcCisgICA+Ojp2YWx1ZQorCisKKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9kZXRhaWwvaGFzX2JpbmFyeV9vcGVyYXRvci5ocHA+CisKKyN1bmRlZiBCT09TVF9UVF9UUkFJVF9OQU1FCisjdW5kZWYgQk9PU1RfVFRfVFJBSVRfT1AKKyN1bmRlZiBCT09TVF9UVF9GT1JCSURERU5fSUYKKworI2VuZGlmCmRpZmYgLS1naXQgYS9uZG5ib29zdC90eXBlX3RyYWl0cy9oYXNfbGVzcy5ocHAgYi9uZG5ib29zdC90eXBlX3RyYWl0cy9oYXNfbGVzcy5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTY3OTQxZAotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L3R5cGVfdHJhaXRzL2hhc19sZXNzLmhwcApAQCAtMCwwICsxLDQ5IEBACisvLyAgKEMpIENvcHlyaWdodCAyMDA5LTIwMTEgRnJlZGVyaWMgQnJvbi4KKy8vCisvLyAgVXNlLCBtb2RpZmljYXRpb24gYW5kIGRpc3RyaWJ1dGlvbiBhcmUgc3ViamVjdCB0byB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwKKy8vICBWZXJzaW9uIDEuMC4gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdAorLy8gIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkuCisvLworLy8gIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL3R5cGVfdHJhaXRzIGZvciBtb3N0IHJlY2VudCB2ZXJzaW9uIGluY2x1ZGluZyBkb2N1bWVudGF0aW9uLgorCisjaWZuZGVmIEJPT1NUX1RUX0hBU19MRVNTX0hQUF9JTkNMVURFRAorI2RlZmluZSBCT09TVF9UVF9IQVNfTEVTU19IUFBfSU5DTFVERUQKKworI2RlZmluZSBCT09TVF9UVF9UUkFJVF9OQU1FIGhhc19sZXNzCisjZGVmaW5lIEJPT1NUX1RUX1RSQUlUX09QIDwKKyNkZWZpbmUgQk9PU1RfVFRfRk9SQklEREVOX0lGXAorICAgOjpuZG5ib29zdDo6dHlwZV90cmFpdHM6OmljZV9vcjxcCisgICAgICAvKiBMaHM9PXBvaW50ZXIgYW5kIFJocz09ZnVuZGFtZW50YWwgKi9cCisgICAgICA6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6aWNlX2FuZDxcCisgICAgICAgICA6Om5kbmJvb3N0Ojppc19wb2ludGVyPCBMaHNfbm9yZWYgPjo6dmFsdWUsXAorICAgICAgICAgOjpuZG5ib29zdDo6aXNfZnVuZGFtZW50YWw8IFJoc19ub2N2ID46OnZhbHVlXAorICAgICAgPjo6dmFsdWUsXAorICAgICAgLyogUmhzPT1wb2ludGVyIGFuZCBMaHM9PWZ1bmRhbWVudGFsICovXAorICAgICAgOjpuZG5ib29zdDo6dHlwZV90cmFpdHM6OmljZV9hbmQ8XAorICAgICAgICAgOjpuZG5ib29zdDo6aXNfcG9pbnRlcjwgUmhzX25vcmVmID46OnZhbHVlLFwKKyAgICAgICAgIDo6bmRuYm9vc3Q6OmlzX2Z1bmRhbWVudGFsPCBMaHNfbm9jdiA+Ojp2YWx1ZVwKKyAgICAgID46OnZhbHVlLFwKKyAgICAgIC8qIExocz09cG9pbnRlciBhbmQgUmhzPT1wb2ludGVyIGFuZCBMaHMhPWJhc2UoUmhzKSBhbmQgUmhzIT1iYXNlKExocykgYW5kIExocyE9dm9pZCogYW5kIFJocyE9dm9pZCogKi9cCisgICAgICA6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6aWNlX2FuZDxcCisgICAgICAgICA6Om5kbmJvb3N0Ojppc19wb2ludGVyPCBMaHNfbm9yZWYgPjo6dmFsdWUsXAorICAgICAgICAgOjpuZG5ib29zdDo6aXNfcG9pbnRlcjwgUmhzX25vcmVmID46OnZhbHVlLFwKKyAgICAgICAgIDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2Vfbm90PFwKKyAgICAgICAgICAgIDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2Vfb3I8XAorICAgICAgICAgICAgICAgOjpuZG5ib29zdDo6aXNfYmFzZV9vZjwgTGhzX25vcHRyLCBSaHNfbm9wdHIgPjo6dmFsdWUsXAorICAgICAgICAgICAgICAgOjpuZG5ib29zdDo6aXNfYmFzZV9vZjwgUmhzX25vcHRyLCBMaHNfbm9wdHIgPjo6dmFsdWUsXAorICAgICAgICAgICAgICAgOjpuZG5ib29zdDo6aXNfc2FtZTwgTGhzX25vcHRyLCBSaHNfbm9wdHIgPjo6dmFsdWUsXAorICAgICAgICAgICAgICAgOjpuZG5ib29zdDo6aXNfdm9pZDwgTGhzX25vcHRyID46OnZhbHVlLFwKKyAgICAgICAgICAgICAgIDo6bmRuYm9vc3Q6OmlzX3ZvaWQ8IFJoc19ub3B0ciA+Ojp2YWx1ZVwKKyAgICAgICAgICAgID46OnZhbHVlXAorICAgICAgICAgPjo6dmFsdWVcCisgICAgICA+Ojp2YWx1ZVwKKyAgID46OnZhbHVlCisKKworI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2RldGFpbC9oYXNfYmluYXJ5X29wZXJhdG9yLmhwcD4KKworI3VuZGVmIEJPT1NUX1RUX1RSQUlUX05BTUUKKyN1bmRlZiBCT09TVF9UVF9UUkFJVF9PUAorI3VuZGVmIEJPT1NUX1RUX0ZPUkJJRERFTl9JRgorCisjZW5kaWYKZGlmZiAtLWdpdCBhL25kbmJvb3N0L3R5cGVfdHJhaXRzL2hhc19sZXNzX2VxdWFsLmhwcCBiL25kbmJvb3N0L3R5cGVfdHJhaXRzL2hhc19sZXNzX2VxdWFsLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ZTE4MGM2Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvdHlwZV90cmFpdHMvaGFzX2xlc3NfZXF1YWwuaHBwCkBAIC0wLDAgKzEsNDkgQEAKKy8vICAoQykgQ29weXJpZ2h0IDIwMDktMjAxMSBGcmVkZXJpYyBCcm9uLgorLy8KKy8vICBVc2UsIG1vZGlmaWNhdGlvbiBhbmQgZGlzdHJpYnV0aW9uIGFyZSBzdWJqZWN0IHRvIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLAorLy8gIFZlcnNpb24gMS4wLiAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0CisvLyAgaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KS4KKy8vCisvLyAgU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL2xpYnMvdHlwZV90cmFpdHMgZm9yIG1vc3QgcmVjZW50IHZlcnNpb24gaW5jbHVkaW5nIGRvY3VtZW50YXRpb24uCisKKyNpZm5kZWYgQk9PU1RfVFRfSEFTX0xFU1NfRVFVQUxfSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX1RUX0hBU19MRVNTX0VRVUFMX0hQUF9JTkNMVURFRAorCisjZGVmaW5lIEJPT1NUX1RUX1RSQUlUX05BTUUgaGFzX2xlc3NfZXF1YWwKKyNkZWZpbmUgQk9PU1RfVFRfVFJBSVRfT1AgPD0KKyNkZWZpbmUgQk9PU1RfVFRfRk9SQklEREVOX0lGXAorICAgOjpuZG5ib29zdDo6dHlwZV90cmFpdHM6OmljZV9vcjxcCisgICAgICAvKiBMaHM9PXBvaW50ZXIgYW5kIFJocz09ZnVuZGFtZW50YWwgKi9cCisgICAgICA6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6aWNlX2FuZDxcCisgICAgICAgICA6Om5kbmJvb3N0Ojppc19wb2ludGVyPCBMaHNfbm9yZWYgPjo6dmFsdWUsXAorICAgICAgICAgOjpuZG5ib29zdDo6aXNfZnVuZGFtZW50YWw8IFJoc19ub2N2ID46OnZhbHVlXAorICAgICAgPjo6dmFsdWUsXAorICAgICAgLyogUmhzPT1wb2ludGVyIGFuZCBMaHM9PWZ1bmRhbWVudGFsICovXAorICAgICAgOjpuZG5ib29zdDo6dHlwZV90cmFpdHM6OmljZV9hbmQ8XAorICAgICAgICAgOjpuZG5ib29zdDo6aXNfcG9pbnRlcjwgUmhzX25vcmVmID46OnZhbHVlLFwKKyAgICAgICAgIDo6bmRuYm9vc3Q6OmlzX2Z1bmRhbWVudGFsPCBMaHNfbm9jdiA+Ojp2YWx1ZVwKKyAgICAgID46OnZhbHVlLFwKKyAgICAgIC8qIExocz09cG9pbnRlciBhbmQgUmhzPT1wb2ludGVyIGFuZCBMaHMhPWJhc2UoUmhzKSBhbmQgUmhzIT1iYXNlKExocykgYW5kIExocyE9dm9pZCogYW5kIFJocyE9dm9pZCogKi9cCisgICAgICA6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6aWNlX2FuZDxcCisgICAgICAgICA6Om5kbmJvb3N0Ojppc19wb2ludGVyPCBMaHNfbm9yZWYgPjo6dmFsdWUsXAorICAgICAgICAgOjpuZG5ib29zdDo6aXNfcG9pbnRlcjwgUmhzX25vcmVmID46OnZhbHVlLFwKKyAgICAgICAgIDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2Vfbm90PFwKKyAgICAgICAgICAgIDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2Vfb3I8XAorICAgICAgICAgICAgICAgOjpuZG5ib29zdDo6aXNfYmFzZV9vZjwgTGhzX25vcHRyLCBSaHNfbm9wdHIgPjo6dmFsdWUsXAorICAgICAgICAgICAgICAgOjpuZG5ib29zdDo6aXNfYmFzZV9vZjwgUmhzX25vcHRyLCBMaHNfbm9wdHIgPjo6dmFsdWUsXAorICAgICAgICAgICAgICAgOjpuZG5ib29zdDo6aXNfc2FtZTwgTGhzX25vcHRyLCBSaHNfbm9wdHIgPjo6dmFsdWUsXAorICAgICAgICAgICAgICAgOjpuZG5ib29zdDo6aXNfdm9pZDwgTGhzX25vcHRyID46OnZhbHVlLFwKKyAgICAgICAgICAgICAgIDo6bmRuYm9vc3Q6OmlzX3ZvaWQ8IFJoc19ub3B0ciA+Ojp2YWx1ZVwKKyAgICAgICAgICAgID46OnZhbHVlXAorICAgICAgICAgPjo6dmFsdWVcCisgICAgICA+Ojp2YWx1ZVwKKyAgID46OnZhbHVlCisKKworI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2RldGFpbC9oYXNfYmluYXJ5X29wZXJhdG9yLmhwcD4KKworI3VuZGVmIEJPT1NUX1RUX1RSQUlUX05BTUUKKyN1bmRlZiBCT09TVF9UVF9UUkFJVF9PUAorI3VuZGVmIEJPT1NUX1RUX0ZPUkJJRERFTl9JRgorCisjZW5kaWYKZGlmZiAtLWdpdCBhL25kbmJvb3N0L3R5cGVfdHJhaXRzL2hhc19sb2dpY2FsX2FuZC5ocHAgYi9uZG5ib29zdC90eXBlX3RyYWl0cy9oYXNfbG9naWNhbF9hbmQuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE1Yjc5NDQKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC90eXBlX3RyYWl0cy9oYXNfbG9naWNhbF9hbmQuaHBwCkBAIC0wLDAgKzEsNDAgQEAKKy8vICAoQykgQ29weXJpZ2h0IDIwMDktMjAxMSBGcmVkZXJpYyBCcm9uLgorLy8KKy8vICBVc2UsIG1vZGlmaWNhdGlvbiBhbmQgZGlzdHJpYnV0aW9uIGFyZSBzdWJqZWN0IHRvIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLAorLy8gIFZlcnNpb24gMS4wLiAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0CisvLyAgaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KS4KKy8vCisvLyAgU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL2xpYnMvdHlwZV90cmFpdHMgZm9yIG1vc3QgcmVjZW50IHZlcnNpb24gaW5jbHVkaW5nIGRvY3VtZW50YXRpb24uCisKKyNpZm5kZWYgQk9PU1RfVFRfSEFTX0xPR0lDQUxfQU5EX0hQUF9JTkNMVURFRAorI2RlZmluZSBCT09TVF9UVF9IQVNfTE9HSUNBTF9BTkRfSFBQX0lOQ0xVREVECisKKyNkZWZpbmUgQk9PU1RfVFRfVFJBSVRfTkFNRSBoYXNfbG9naWNhbF9hbmQKKyNkZWZpbmUgQk9PU1RfVFRfVFJBSVRfT1AgJiYKKyNkZWZpbmUgQk9PU1RfVFRfRk9SQklEREVOX0lGXAorICAgLyogcG9pbnRlciB3aXRoIGZ1bmRhbWVudGFsIG5vbiBjb252ZXJ0aWJsZSB0byBib29sICovXAorICAgOjpuZG5ib29zdDo6dHlwZV90cmFpdHM6OmljZV9vcjxcCisgICAgICA6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6aWNlX2FuZDxcCisgICAgICAgICA6Om5kbmJvb3N0Ojppc19wb2ludGVyPCBMaHNfbm9yZWYgPjo6dmFsdWUsXAorICAgICAgICAgOjpuZG5ib29zdDo6dHlwZV90cmFpdHM6OmljZV9hbmQ8XAorICAgICAgICAgICAgOjpuZG5ib29zdDo6aXNfZnVuZGFtZW50YWw8IFJoc19ub2N2ID46OnZhbHVlLFwKKyAgICAgICAgICAgIDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2Vfbm90PCA6Om5kbmJvb3N0Ojppc19jb252ZXJ0aWJsZTwgUmhzX25vY3YsIGJvb2wgPjo6dmFsdWUgPjo6dmFsdWVcCisgICAgICAgICA+Ojp2YWx1ZVwKKyAgICAgID46OnZhbHVlLFwKKyAgICAgIDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2VfYW5kPFwKKyAgICAgICAgIDo6bmRuYm9vc3Q6OmlzX3BvaW50ZXI8IFJoc19ub3JlZiA+Ojp2YWx1ZSxcCisgICAgICAgICA6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6aWNlX2FuZDxcCisgICAgICAgICAgICA6Om5kbmJvb3N0Ojppc19mdW5kYW1lbnRhbDwgTGhzX25vY3YgPjo6dmFsdWUsXAorICAgICAgICAgICAgOjpuZG5ib29zdDo6dHlwZV90cmFpdHM6OmljZV9ub3Q8IDo6bmRuYm9vc3Q6OmlzX2NvbnZlcnRpYmxlPCBMaHNfbm9jdiwgYm9vbCA+Ojp2YWx1ZSA+Ojp2YWx1ZVwKKyAgICAgICAgID46OnZhbHVlXAorICAgICAgPjo6dmFsdWVcCisgICA+Ojp2YWx1ZQorCisKKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9kZXRhaWwvaGFzX2JpbmFyeV9vcGVyYXRvci5ocHA+CisKKyN1bmRlZiBCT09TVF9UVF9UUkFJVF9OQU1FCisjdW5kZWYgQk9PU1RfVFRfVFJBSVRfT1AKKyN1bmRlZiBCT09TVF9UVF9GT1JCSURERU5fSUYKKworI2VuZGlmCmRpZmYgLS1naXQgYS9uZG5ib29zdC90eXBlX3RyYWl0cy9oYXNfbG9naWNhbF9ub3QuaHBwIGIvbmRuYm9vc3QvdHlwZV90cmFpdHMvaGFzX2xvZ2ljYWxfbm90LmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NDhmOTQ0Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvdHlwZV90cmFpdHMvaGFzX2xvZ2ljYWxfbm90LmhwcApAQCAtMCwwICsxLDIzIEBACisvLyAgKEMpIENvcHlyaWdodCAyMDA5LTIwMTEgRnJlZGVyaWMgQnJvbi4KKy8vCisvLyAgVXNlLCBtb2RpZmljYXRpb24gYW5kIGRpc3RyaWJ1dGlvbiBhcmUgc3ViamVjdCB0byB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwKKy8vICBWZXJzaW9uIDEuMC4gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdAorLy8gIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkuCisvLworLy8gIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL3R5cGVfdHJhaXRzIGZvciBtb3N0IHJlY2VudCB2ZXJzaW9uIGluY2x1ZGluZyBkb2N1bWVudGF0aW9uLgorCisjaWZuZGVmIEJPT1NUX1RUX0hBU19MT0dJQ0FMX05PVF9IUFBfSU5DTFVERUQKKyNkZWZpbmUgQk9PU1RfVFRfSEFTX0xPR0lDQUxfTk9UX0hQUF9JTkNMVURFRAorCisjZGVmaW5lIEJPT1NUX1RUX1RSQUlUX05BTUUgaGFzX2xvZ2ljYWxfbm90CisjZGVmaW5lIEJPT1NUX1RUX1RSQUlUX09QICEKKyNkZWZpbmUgQk9PU1RfVFRfRk9SQklEREVOX0lGXAorICAgZmFsc2UKKworI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2RldGFpbC9oYXNfcHJlZml4X29wZXJhdG9yLmhwcD4KKworI3VuZGVmIEJPT1NUX1RUX1RSQUlUX05BTUUKKyN1bmRlZiBCT09TVF9UVF9UUkFJVF9PUAorI3VuZGVmIEJPT1NUX1RUX0ZPUkJJRERFTl9JRgorCisjZW5kaWYKZGlmZiAtLWdpdCBhL25kbmJvb3N0L3R5cGVfdHJhaXRzL2hhc19sb2dpY2FsX29yLmhwcCBiL25kbmJvb3N0L3R5cGVfdHJhaXRzL2hhc19sb2dpY2FsX29yLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MzQ4YjMwCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvdHlwZV90cmFpdHMvaGFzX2xvZ2ljYWxfb3IuaHBwCkBAIC0wLDAgKzEsNDAgQEAKKy8vICAoQykgQ29weXJpZ2h0IDIwMDktMjAxMSBGcmVkZXJpYyBCcm9uLgorLy8KKy8vICBVc2UsIG1vZGlmaWNhdGlvbiBhbmQgZGlzdHJpYnV0aW9uIGFyZSBzdWJqZWN0IHRvIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLAorLy8gIFZlcnNpb24gMS4wLiAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0CisvLyAgaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KS4KKy8vCisvLyAgU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL2xpYnMvdHlwZV90cmFpdHMgZm9yIG1vc3QgcmVjZW50IHZlcnNpb24gaW5jbHVkaW5nIGRvY3VtZW50YXRpb24uCisKKyNpZm5kZWYgQk9PU1RfVFRfSEFTX0xPR0lDQUxfT1JfSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX1RUX0hBU19MT0dJQ0FMX09SX0hQUF9JTkNMVURFRAorCisjZGVmaW5lIEJPT1NUX1RUX1RSQUlUX05BTUUgaGFzX2xvZ2ljYWxfb3IKKyNkZWZpbmUgQk9PU1RfVFRfVFJBSVRfT1AgfHwKKyNkZWZpbmUgQk9PU1RfVFRfRk9SQklEREVOX0lGXAorICAgLyogcG9pbnRlciB3aXRoIGZ1bmRhbWVudGFsIG5vbiBjb252ZXJ0aWJsZSB0byBib29sICovXAorICAgOjpuZG5ib29zdDo6dHlwZV90cmFpdHM6OmljZV9vcjxcCisgICAgICA6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6aWNlX2FuZDxcCisgICAgICAgICA6Om5kbmJvb3N0Ojppc19wb2ludGVyPCBMaHNfbm9yZWYgPjo6dmFsdWUsXAorICAgICAgICAgOjpuZG5ib29zdDo6dHlwZV90cmFpdHM6OmljZV9hbmQ8XAorICAgICAgICAgICAgOjpuZG5ib29zdDo6aXNfZnVuZGFtZW50YWw8IFJoc19ub2N2ID46OnZhbHVlLFwKKyAgICAgICAgICAgIDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2Vfbm90PCA6Om5kbmJvb3N0Ojppc19jb252ZXJ0aWJsZTwgUmhzX25vY3YsIGJvb2wgPjo6dmFsdWUgPjo6dmFsdWVcCisgICAgICAgICA+Ojp2YWx1ZVwKKyAgICAgID46OnZhbHVlLFwKKyAgICAgIDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2VfYW5kPFwKKyAgICAgICAgIDo6bmRuYm9vc3Q6OmlzX3BvaW50ZXI8IFJoc19ub3JlZiA+Ojp2YWx1ZSxcCisgICAgICAgICA6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6aWNlX2FuZDxcCisgICAgICAgICAgICA6Om5kbmJvb3N0Ojppc19mdW5kYW1lbnRhbDwgTGhzX25vY3YgPjo6dmFsdWUsXAorICAgICAgICAgICAgOjpuZG5ib29zdDo6dHlwZV90cmFpdHM6OmljZV9ub3Q8IDo6bmRuYm9vc3Q6OmlzX2NvbnZlcnRpYmxlPCBMaHNfbm9jdiwgYm9vbCA+Ojp2YWx1ZSA+Ojp2YWx1ZVwKKyAgICAgICAgID46OnZhbHVlXAorICAgICAgPjo6dmFsdWVcCisgICA+Ojp2YWx1ZQorCisKKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9kZXRhaWwvaGFzX2JpbmFyeV9vcGVyYXRvci5ocHA+CisKKyN1bmRlZiBCT09TVF9UVF9UUkFJVF9OQU1FCisjdW5kZWYgQk9PU1RfVFRfVFJBSVRfT1AKKyN1bmRlZiBCT09TVF9UVF9GT1JCSURERU5fSUYKKworI2VuZGlmCmRpZmYgLS1naXQgYS9uZG5ib29zdC90eXBlX3RyYWl0cy9oYXNfbWludXMuaHBwIGIvbmRuYm9vc3QvdHlwZV90cmFpdHMvaGFzX21pbnVzLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hN2Q1Nzg5Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvdHlwZV90cmFpdHMvaGFzX21pbnVzLmhwcApAQCAtMCwwICsxLDYwIEBACisvLyAgKEMpIENvcHlyaWdodCAyMDA5LTIwMTEgRnJlZGVyaWMgQnJvbi4KKy8vCisvLyAgVXNlLCBtb2RpZmljYXRpb24gYW5kIGRpc3RyaWJ1dGlvbiBhcmUgc3ViamVjdCB0byB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwKKy8vICBWZXJzaW9uIDEuMC4gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdAorLy8gIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkuCisvLworLy8gIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL3R5cGVfdHJhaXRzIGZvciBtb3N0IHJlY2VudCB2ZXJzaW9uIGluY2x1ZGluZyBkb2N1bWVudGF0aW9uLgorCisjaWZuZGVmIEJPT1NUX1RUX0hBU19NSU5VU19IUFBfSU5DTFVERUQKKyNkZWZpbmUgQk9PU1RfVFRfSEFTX01JTlVTX0hQUF9JTkNMVURFRAorCisjZGVmaW5lIEJPT1NUX1RUX1RSQUlUX05BTUUgaGFzX21pbnVzCisjZGVmaW5lIEJPT1NUX1RUX1RSQUlUX09QIC0KKyNkZWZpbmUgQk9PU1RfVFRfRk9SQklEREVOX0lGXAorICAgOjpuZG5ib29zdDo6dHlwZV90cmFpdHM6OmljZV9vcjxcCisgICAgICAvKiBMaHM9PXBvaW50ZXIgYW5kIFJocz09ZnVuZGFtZW50YWwgYW5kIFJocyE9aW50ZWdyYWwgKi9cCisgICAgICA6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6aWNlX2FuZDxcCisgICAgICAgICA6Om5kbmJvb3N0Ojppc19wb2ludGVyPCBMaHNfbm9yZWYgPjo6dmFsdWUsXAorICAgICAgICAgOjpuZG5ib29zdDo6aXNfZnVuZGFtZW50YWw8IFJoc19ub2N2ID46OnZhbHVlLFwKKyAgICAgICAgIDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2Vfbm90PCA6Om5kbmJvb3N0Ojppc19pbnRlZ3JhbDwgUmhzX25vcmVmID46OnZhbHVlID46OnZhbHVlXAorICAgICAgPjo6dmFsdWUsXAorICAgICAgLyogTGhzPT12b2lkKiBhbmQgKFJocz09ZnVuZGFtZW50YWwgb3IgUmhzPT1wb2ludGVyKSAqL1wKKyAgICAgIDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2VfYW5kPFwKKyAgICAgICAgIDo6bmRuYm9vc3Q6OmlzX3BvaW50ZXI8IExoc19ub3JlZiA+Ojp2YWx1ZSxcCisgICAgICAgICA6Om5kbmJvb3N0Ojppc192b2lkPCBMaHNfbm9wdHIgPjo6dmFsdWUsXAorICAgICAgICAgOjpuZG5ib29zdDo6dHlwZV90cmFpdHM6OmljZV9vcjxcCisgICAgICAgICAgICA6Om5kbmJvb3N0Ojppc19mdW5kYW1lbnRhbDwgUmhzX25vY3YgPjo6dmFsdWUsXAorICAgICAgICAgICAgOjpuZG5ib29zdDo6aXNfcG9pbnRlcjwgUmhzX25vcmVmID46OnZhbHVlXAorICAgICAgICAgPjo6dmFsdWVcCisgICAgICA+Ojp2YWx1ZSxcCisgICAgICAvKiBSaHM9PXZvaWQqIGFuZCAoTGhzPT1mdW5kYW1lbnRhbCBvciBMaHM9PXBvaW50ZXIpICovXAorICAgICAgOjpuZG5ib29zdDo6dHlwZV90cmFpdHM6OmljZV9hbmQ8XAorICAgICAgICAgOjpuZG5ib29zdDo6aXNfcG9pbnRlcjwgUmhzX25vcmVmID46OnZhbHVlLFwKKyAgICAgICAgIDo6bmRuYm9vc3Q6OmlzX3ZvaWQ8IFJoc19ub3B0ciA+Ojp2YWx1ZSxcCisgICAgICAgICA6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6aWNlX29yPFwKKyAgICAgICAgICAgIDo6bmRuYm9vc3Q6OmlzX2Z1bmRhbWVudGFsPCBMaHNfbm9jdiA+Ojp2YWx1ZSxcCisgICAgICAgICAgICA6Om5kbmJvb3N0Ojppc19wb2ludGVyPCBMaHNfbm9yZWYgPjo6dmFsdWVcCisgICAgICAgICA+Ojp2YWx1ZVwKKyAgICAgID46OnZhbHVlLFwKKyAgICAgIC8qIExocz1mdW5kYW1lbnRhbCBhbmQgUmhzPXBvaW50ZXIgKi9cCisgICAgICA6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6aWNlX2FuZDxcCisgICAgICAgICA6Om5kbmJvb3N0Ojppc19mdW5kYW1lbnRhbDwgTGhzX25vY3YgPjo6dmFsdWUsXAorICAgICAgICAgOjpuZG5ib29zdDo6aXNfcG9pbnRlcjwgUmhzX25vcmVmID46OnZhbHVlXAorICAgICAgPjo6dmFsdWUsXAorICAgICAgLyogdHdvIGRpZmZlcmVudCBwb2ludGVycyAqL1wKKyAgICAgIDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2VfYW5kPFwKKyAgICAgICAgIDo6bmRuYm9vc3Q6OmlzX3BvaW50ZXI8IExoc19ub3JlZiA+Ojp2YWx1ZSxcCisgICAgICAgICA6Om5kbmJvb3N0Ojppc19wb2ludGVyPCBSaHNfbm9yZWYgPjo6dmFsdWUsXAorICAgICAgICAgOjpuZG5ib29zdDo6dHlwZV90cmFpdHM6OmljZV9ub3Q8IDo6bmRuYm9vc3Q6OmlzX3NhbWU8IExoc19ub2N2LCBSaHNfbm9jdiA+Ojp2YWx1ZSA+Ojp2YWx1ZVwKKyAgICAgID46OnZhbHVlXAorICAgPjo6dmFsdWUKKworCisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvZGV0YWlsL2hhc19iaW5hcnlfb3BlcmF0b3IuaHBwPgorCisjdW5kZWYgQk9PU1RfVFRfVFJBSVRfTkFNRQorI3VuZGVmIEJPT1NUX1RUX1RSQUlUX09QCisjdW5kZWYgQk9PU1RfVFRfRk9SQklEREVOX0lGCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvdHlwZV90cmFpdHMvaGFzX21pbnVzX2Fzc2lnbi5ocHAgYi9uZG5ib29zdC90eXBlX3RyYWl0cy9oYXNfbWludXNfYXNzaWduLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZTNmMzVhCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvdHlwZV90cmFpdHMvaGFzX21pbnVzX2Fzc2lnbi5ocHAKQEAgLTAsMCArMSw2NSBAQAorLy8gIChDKSBDb3B5cmlnaHQgMjAwOS0yMDExIEZyZWRlcmljIEJyb24uCisvLworLy8gIFVzZSwgbW9kaWZpY2F0aW9uIGFuZCBkaXN0cmlidXRpb24gYXJlIHN1YmplY3QgdG8gdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsCisvLyAgVmVyc2lvbiAxLjAuIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQKKy8vICBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpLgorLy8KKy8vICBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvbGlicy90eXBlX3RyYWl0cyBmb3IgbW9zdCByZWNlbnQgdmVyc2lvbiBpbmNsdWRpbmcgZG9jdW1lbnRhdGlvbi4KKworI2lmbmRlZiBCT09TVF9UVF9IQVNfTUlOVVNfQVNTSUdOX0hQUF9JTkNMVURFRAorI2RlZmluZSBCT09TVF9UVF9IQVNfTUlOVVNfQVNTSUdOX0hQUF9JTkNMVURFRAorCisjZGVmaW5lIEJPT1NUX1RUX1RSQUlUX05BTUUgaGFzX21pbnVzX2Fzc2lnbgorI2RlZmluZSBCT09TVF9UVF9UUkFJVF9PUCAtPQorI2RlZmluZSBCT09TVF9UVF9GT1JCSURERU5fSUZcCisgICA6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6aWNlX29yPFwKKyAgICAgIC8qIExocz09cG9pbnRlciBhbmQgUmhzPT1mdW5kYW1lbnRhbCBhbmQgUmhzIT1pbnRlZ3JhbCAqL1wKKyAgICAgIDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2VfYW5kPFwKKyAgICAgICAgIDo6bmRuYm9vc3Q6OmlzX3BvaW50ZXI8IExoc19ub3JlZiA+Ojp2YWx1ZSxcCisgICAgICAgICA6Om5kbmJvb3N0Ojppc19mdW5kYW1lbnRhbDwgUmhzX25vY3YgPjo6dmFsdWUsXAorICAgICAgICAgOjpuZG5ib29zdDo6dHlwZV90cmFpdHM6OmljZV9ub3Q8IDo6bmRuYm9vc3Q6OmlzX2ludGVncmFsPCBSaHNfbm9yZWYgPjo6dmFsdWUgPjo6dmFsdWVcCisgICAgICA+Ojp2YWx1ZSxcCisgICAgICAvKiBMaHM9PXZvaWQqIGFuZCBSaHM9PWZ1bmRhbWVudGFsICovXAorICAgICAgOjpuZG5ib29zdDo6dHlwZV90cmFpdHM6OmljZV9hbmQ8XAorICAgICAgICAgOjpuZG5ib29zdDo6aXNfcG9pbnRlcjwgTGhzX25vcmVmID46OnZhbHVlLFwKKyAgICAgICAgIDo6bmRuYm9vc3Q6OmlzX3ZvaWQ8IExoc19ub3B0ciA+Ojp2YWx1ZSxcCisgICAgICAgICA6Om5kbmJvb3N0Ojppc19mdW5kYW1lbnRhbDwgUmhzX25vY3YgPjo6dmFsdWVcCisgICAgICA+Ojp2YWx1ZSxcCisgICAgICAvKiBSaHM9PXZvaWQqIGFuZCBMaHM9PWZ1bmRhbWVudGFsICovXAorICAgICAgOjpuZG5ib29zdDo6dHlwZV90cmFpdHM6OmljZV9hbmQ8XAorICAgICAgICAgOjpuZG5ib29zdDo6aXNfcG9pbnRlcjwgUmhzX25vcmVmID46OnZhbHVlLFwKKyAgICAgICAgIDo6bmRuYm9vc3Q6OmlzX3ZvaWQ8IFJoc19ub3B0ciA+Ojp2YWx1ZSxcCisgICAgICAgICA6Om5kbmJvb3N0Ojppc19mdW5kYW1lbnRhbDwgTGhzX25vY3YgPjo6dmFsdWVcCisgICAgICA+Ojp2YWx1ZSxcCisgICAgICAvKiBMaHM9ZnVuZGFtZW50YWwgYW5kIFJocz1wb2ludGVyICovXAorICAgICAgOjpuZG5ib29zdDo6dHlwZV90cmFpdHM6OmljZV9hbmQ8XAorICAgICAgICAgOjpuZG5ib29zdDo6aXNfZnVuZGFtZW50YWw8IExoc19ub2N2ID46OnZhbHVlLFwKKyAgICAgICAgIDo6bmRuYm9vc3Q6OmlzX3BvaW50ZXI8IFJoc19ub3JlZiA+Ojp2YWx1ZVwKKyAgICAgID46OnZhbHVlLFwKKyAgICAgIC8qIExocz09cG9pbnRlciBhbmQgUmhzPT1wb2ludGVyICovXAorICAgICAgOjpuZG5ib29zdDo6dHlwZV90cmFpdHM6OmljZV9hbmQ8XAorICAgICAgICAgOjpuZG5ib29zdDo6aXNfcG9pbnRlcjwgTGhzX25vcmVmID46OnZhbHVlLFwKKyAgICAgICAgIDo6bmRuYm9vc3Q6OmlzX3BvaW50ZXI8IFJoc19ub3JlZiA+Ojp2YWx1ZVwKKyAgICAgID46OnZhbHVlLFwKKyAgICAgIC8qIChMaHM9PWZ1bmRhbWVudGFsIG9yIExocz09cG9pbnRlcikgYW5kIChSaHM9PWZ1bmRhbWVudGFsIG9yIFJocz09cG9pbnRlcikgYW5kIChMaHM9PWNvbnN0KSAqL1wKKyAgICAgIDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2VfYW5kPFwKKyAgICAgICAgIDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2Vfb3I8XAorICAgICAgICAgICAgOjpuZG5ib29zdDo6aXNfZnVuZGFtZW50YWw8IExoc19ub2N2ID46OnZhbHVlLFwKKyAgICAgICAgICAgIDo6bmRuYm9vc3Q6OmlzX3BvaW50ZXI8IExoc19ub3JlZiA+Ojp2YWx1ZVwKKyAgICAgICAgID46OnZhbHVlLFwKKyAgICAgICAgIDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2Vfb3I8XAorICAgICAgICAgICAgOjpuZG5ib29zdDo6aXNfZnVuZGFtZW50YWw8IFJoc19ub2N2ID46OnZhbHVlLFwKKyAgICAgICAgICAgIDo6bmRuYm9vc3Q6OmlzX3BvaW50ZXI8IFJoc19ub3JlZiA+Ojp2YWx1ZVwKKyAgICAgICAgID46OnZhbHVlLFwKKyAgICAgICAgIDo6bmRuYm9vc3Q6OmlzX2NvbnN0PCBMaHNfbm9yZWYgPjo6dmFsdWVcCisgICAgICA+Ojp2YWx1ZVwKKyAgID46OnZhbHVlCisKKworI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2RldGFpbC9oYXNfYmluYXJ5X29wZXJhdG9yLmhwcD4KKworI3VuZGVmIEJPT1NUX1RUX1RSQUlUX05BTUUKKyN1bmRlZiBCT09TVF9UVF9UUkFJVF9PUAorI3VuZGVmIEJPT1NUX1RUX0ZPUkJJRERFTl9JRgorCisjZW5kaWYKZGlmZiAtLWdpdCBhL25kbmJvb3N0L3R5cGVfdHJhaXRzL2hhc19tb2R1bHVzLmhwcCBiL25kbmJvb3N0L3R5cGVfdHJhaXRzL2hhc19tb2R1bHVzLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNDQ4OTNhCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvdHlwZV90cmFpdHMvaGFzX21vZHVsdXMuaHBwCkBAIC0wLDAgKzEsNDkgQEAKKy8vICAoQykgQ29weXJpZ2h0IDIwMDktMjAxMSBGcmVkZXJpYyBCcm9uLgorLy8KKy8vICBVc2UsIG1vZGlmaWNhdGlvbiBhbmQgZGlzdHJpYnV0aW9uIGFyZSBzdWJqZWN0IHRvIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLAorLy8gIFZlcnNpb24gMS4wLiAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0CisvLyAgaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KS4KKy8vCisvLyAgU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL2xpYnMvdHlwZV90cmFpdHMgZm9yIG1vc3QgcmVjZW50IHZlcnNpb24gaW5jbHVkaW5nIGRvY3VtZW50YXRpb24uCisKKyNpZm5kZWYgQk9PU1RfVFRfSEFTX01PRFVMVVNfSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX1RUX0hBU19NT0RVTFVTX0hQUF9JTkNMVURFRAorCisjZGVmaW5lIEJPT1NUX1RUX1RSQUlUX05BTUUgaGFzX21vZHVsdXMKKyNkZWZpbmUgQk9PU1RfVFRfVFJBSVRfT1AgJQorI2RlZmluZSBCT09TVF9UVF9GT1JCSURERU5fSUZcCisgICA6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6aWNlX29yPFwKKyAgICAgIC8qIExocz09ZnVuZGFtZW50YWwgYW5kIFJocz09ZnVuZGFtZW50YWwgYW5kIChMaHMhPWludGVncmFsIG9yIFJocyE9aW50ZWdyYWwpICovXAorICAgICAgOjpuZG5ib29zdDo6dHlwZV90cmFpdHM6OmljZV9hbmQ8XAorICAgICAgICAgOjpuZG5ib29zdDo6aXNfZnVuZGFtZW50YWw8IExoc19ub2N2ID46OnZhbHVlLFwKKyAgICAgICAgIDo6bmRuYm9vc3Q6OmlzX2Z1bmRhbWVudGFsPCBSaHNfbm9jdiA+Ojp2YWx1ZSxcCisgICAgICAgICA6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6aWNlX29yPFwKKyAgICAgICAgICAgIDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2Vfbm90PCA6Om5kbmJvb3N0Ojppc19pbnRlZ3JhbDwgTGhzX25vcmVmID46OnZhbHVlID46OnZhbHVlLFwKKyAgICAgICAgICAgIDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2Vfbm90PCA6Om5kbmJvb3N0Ojppc19pbnRlZ3JhbDwgUmhzX25vcmVmID46OnZhbHVlID46OnZhbHVlXAorICAgICAgICAgPjo6dmFsdWVcCisgICAgICA+Ojp2YWx1ZSxcCisgICAgICAvKiBMaHM9PWZ1bmRhbWVudGFsIGFuZCBSaHM9PXBvaW50ZXIgKi9cCisgICAgICA6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6aWNlX2FuZDxcCisgICAgICAgICA6Om5kbmJvb3N0Ojppc19mdW5kYW1lbnRhbDwgTGhzX25vY3YgPjo6dmFsdWUsXAorICAgICAgICAgOjpuZG5ib29zdDo6aXNfcG9pbnRlcjwgUmhzX25vcmVmID46OnZhbHVlXAorICAgICAgPjo6dmFsdWUsXAorICAgICAgLyogUmhzPT1mdW5kYW1lbnRhbCBhbmQgTGhzPT1wb2ludGVyICovXAorICAgICAgOjpuZG5ib29zdDo6dHlwZV90cmFpdHM6OmljZV9hbmQ8XAorICAgICAgICAgOjpuZG5ib29zdDo6aXNfZnVuZGFtZW50YWw8IFJoc19ub2N2ID46OnZhbHVlLFwKKyAgICAgICAgIDo6bmRuYm9vc3Q6OmlzX3BvaW50ZXI8IExoc19ub3JlZiA+Ojp2YWx1ZVwKKyAgICAgID46OnZhbHVlLFwKKyAgICAgIC8qIExocz09cG9pbnRlciBhbmQgUmhzPT1wb2ludGVyICovXAorICAgICAgOjpuZG5ib29zdDo6dHlwZV90cmFpdHM6OmljZV9hbmQ8XAorICAgICAgICAgOjpuZG5ib29zdDo6aXNfcG9pbnRlcjwgTGhzX25vcmVmID46OnZhbHVlLFwKKyAgICAgICAgIDo6bmRuYm9vc3Q6OmlzX3BvaW50ZXI8IFJoc19ub3JlZiA+Ojp2YWx1ZVwKKyAgICAgID46OnZhbHVlXAorICAgPjo6dmFsdWUKKworCisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvZGV0YWlsL2hhc19iaW5hcnlfb3BlcmF0b3IuaHBwPgorCisjdW5kZWYgQk9PU1RfVFRfVFJBSVRfTkFNRQorI3VuZGVmIEJPT1NUX1RUX1RSQUlUX09QCisjdW5kZWYgQk9PU1RfVFRfRk9SQklEREVOX0lGCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvdHlwZV90cmFpdHMvaGFzX21vZHVsdXNfYXNzaWduLmhwcCBiL25kbmJvb3N0L3R5cGVfdHJhaXRzL2hhc19tb2R1bHVzX2Fzc2lnbi5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTljMWViMgotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L3R5cGVfdHJhaXRzL2hhc19tb2R1bHVzX2Fzc2lnbi5ocHAKQEAgLTAsMCArMSw1NSBAQAorLy8gIChDKSBDb3B5cmlnaHQgMjAwOS0yMDExIEZyZWRlcmljIEJyb24uCisvLworLy8gIFVzZSwgbW9kaWZpY2F0aW9uIGFuZCBkaXN0cmlidXRpb24gYXJlIHN1YmplY3QgdG8gdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsCisvLyAgVmVyc2lvbiAxLjAuIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQKKy8vICBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpLgorLy8KKy8vICBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvbGlicy90eXBlX3RyYWl0cyBmb3IgbW9zdCByZWNlbnQgdmVyc2lvbiBpbmNsdWRpbmcgZG9jdW1lbnRhdGlvbi4KKworI2lmbmRlZiBCT09TVF9UVF9IQVNfTU9EVUxVU19BU1NJR05fSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX1RUX0hBU19NT0RVTFVTX0FTU0lHTl9IUFBfSU5DTFVERUQKKworI2RlZmluZSBCT09TVF9UVF9UUkFJVF9OQU1FIGhhc19tb2R1bHVzX2Fzc2lnbgorI2RlZmluZSBCT09TVF9UVF9UUkFJVF9PUCAlPQorI2RlZmluZSBCT09TVF9UVF9GT1JCSURERU5fSUZcCisgICA6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6aWNlX29yPFwKKyAgICAgIC8qIExocz09ZnVuZGFtZW50YWwgYW5kIFJocz09ZnVuZGFtZW50YWwgYW5kIChMaHMhPWludGVncmFsIG9yIFJocyE9aW50ZWdyYWwpICovXAorICAgICAgOjpuZG5ib29zdDo6dHlwZV90cmFpdHM6OmljZV9hbmQ8XAorICAgICAgICAgOjpuZG5ib29zdDo6aXNfZnVuZGFtZW50YWw8IExoc19ub2N2ID46OnZhbHVlLFwKKyAgICAgICAgIDo6bmRuYm9vc3Q6OmlzX2Z1bmRhbWVudGFsPCBSaHNfbm9jdiA+Ojp2YWx1ZSxcCisgICAgICAgICA6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6aWNlX29yPFwKKyAgICAgICAgICAgIDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2Vfbm90PCA6Om5kbmJvb3N0Ojppc19pbnRlZ3JhbDwgTGhzX25vcmVmID46OnZhbHVlID46OnZhbHVlLFwKKyAgICAgICAgICAgIDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2Vfbm90PCA6Om5kbmJvb3N0Ojppc19pbnRlZ3JhbDwgUmhzX25vcmVmID46OnZhbHVlID46OnZhbHVlXAorICAgICAgICAgPjo6dmFsdWVcCisgICAgICA+Ojp2YWx1ZSxcCisgICAgICAvKiBMaHM9PWZ1bmRhbWVudGFsIGFuZCBSaHM9PXBvaW50ZXIgKi9cCisgICAgICA6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6aWNlX2FuZDxcCisgICAgICAgICA6Om5kbmJvb3N0Ojppc19mdW5kYW1lbnRhbDwgTGhzX25vY3YgPjo6dmFsdWUsXAorICAgICAgICAgOjpuZG5ib29zdDo6aXNfcG9pbnRlcjwgUmhzX25vcmVmID46OnZhbHVlXAorICAgICAgPjo6dmFsdWUsXAorICAgICAgLyogUmhzPT1mdW5kYW1lbnRhbCBhbmQgTGhzPT1wb2ludGVyICovXAorICAgICAgOjpuZG5ib29zdDo6dHlwZV90cmFpdHM6OmljZV9hbmQ8XAorICAgICAgICAgOjpuZG5ib29zdDo6aXNfZnVuZGFtZW50YWw8IFJoc19ub2N2ID46OnZhbHVlLFwKKyAgICAgICAgIDo6bmRuYm9vc3Q6OmlzX3BvaW50ZXI8IExoc19ub3JlZiA+Ojp2YWx1ZVwKKyAgICAgID46OnZhbHVlLFwKKyAgICAgIC8qIExocz09cG9pbnRlciBhbmQgUmhzPT1wb2ludGVyICovXAorICAgICAgOjpuZG5ib29zdDo6dHlwZV90cmFpdHM6OmljZV9hbmQ8XAorICAgICAgICAgOjpuZG5ib29zdDo6aXNfcG9pbnRlcjwgTGhzX25vcmVmID46OnZhbHVlLFwKKyAgICAgICAgIDo6bmRuYm9vc3Q6OmlzX3BvaW50ZXI8IFJoc19ub3JlZiA+Ojp2YWx1ZVwKKyAgICAgID46OnZhbHVlLFwKKyAgICAgIC8qIExocz09ZnVuZGFtZW50YWwgYW5kIFJocz09ZnVuZGFtZW50YWwgYW5kIExocz09Y29uc3QgKi9cCisgICAgICA6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6aWNlX2FuZDxcCisgICAgICAgICA6Om5kbmJvb3N0Ojppc19mdW5kYW1lbnRhbDwgTGhzX25vY3YgPjo6dmFsdWUsXAorICAgICAgICAgOjpuZG5ib29zdDo6aXNfZnVuZGFtZW50YWw8IFJoc19ub2N2ID46OnZhbHVlLFwKKyAgICAgICAgIDo6bmRuYm9vc3Q6OmlzX2NvbnN0PCBMaHNfbm9yZWYgPjo6dmFsdWVcCisgICAgICA+Ojp2YWx1ZVwKKyAgID46OnZhbHVlCisKKworI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2RldGFpbC9oYXNfYmluYXJ5X29wZXJhdG9yLmhwcD4KKworI3VuZGVmIEJPT1NUX1RUX1RSQUlUX05BTUUKKyN1bmRlZiBCT09TVF9UVF9UUkFJVF9PUAorI3VuZGVmIEJPT1NUX1RUX0ZPUkJJRERFTl9JRgorCisjZW5kaWYKZGlmZiAtLWdpdCBhL25kbmJvb3N0L3R5cGVfdHJhaXRzL2hhc19tdWx0aXBsaWVzLmhwcCBiL25kbmJvb3N0L3R5cGVfdHJhaXRzL2hhc19tdWx0aXBsaWVzLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZmQ3NzM4Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvdHlwZV90cmFpdHMvaGFzX211bHRpcGxpZXMuaHBwCkBAIC0wLDAgKzEsNDAgQEAKKy8vICAoQykgQ29weXJpZ2h0IDIwMDktMjAxMSBGcmVkZXJpYyBCcm9uLgorLy8KKy8vICBVc2UsIG1vZGlmaWNhdGlvbiBhbmQgZGlzdHJpYnV0aW9uIGFyZSBzdWJqZWN0IHRvIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLAorLy8gIFZlcnNpb24gMS4wLiAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0CisvLyAgaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KS4KKy8vCisvLyAgU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL2xpYnMvdHlwZV90cmFpdHMgZm9yIG1vc3QgcmVjZW50IHZlcnNpb24gaW5jbHVkaW5nIGRvY3VtZW50YXRpb24uCisKKyNpZm5kZWYgQk9PU1RfVFRfSEFTX01VTFRJUExJRVNfSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX1RUX0hBU19NVUxUSVBMSUVTX0hQUF9JTkNMVURFRAorCisjZGVmaW5lIEJPT1NUX1RUX1RSQUlUX05BTUUgaGFzX211bHRpcGxpZXMKKyNkZWZpbmUgQk9PU1RfVFRfVFJBSVRfT1AgKgorI2RlZmluZSBCT09TVF9UVF9GT1JCSURERU5fSUZcCisgICAvKiBwb2ludGVyIHdpdGggcG9pbnRlciBvciBmdW5kYW1lbnRhbCAqL1wKKyAgIDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2Vfb3I8XAorICAgICAgOjpuZG5ib29zdDo6dHlwZV90cmFpdHM6OmljZV9hbmQ8XAorICAgICAgICAgOjpuZG5ib29zdDo6aXNfcG9pbnRlcjwgTGhzX25vcmVmID46OnZhbHVlLFwKKyAgICAgICAgIDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2Vfb3I8XAorICAgICAgICAgICAgOjpuZG5ib29zdDo6aXNfZnVuZGFtZW50YWw8IFJoc19ub2N2ID46OnZhbHVlLFwKKyAgICAgICAgICAgIDo6bmRuYm9vc3Q6OmlzX3BvaW50ZXI8IFJoc19ub3JlZiA+Ojp2YWx1ZVwKKyAgICAgICAgID46OnZhbHVlXAorICAgICAgPjo6dmFsdWUsXAorICAgICAgOjpuZG5ib29zdDo6dHlwZV90cmFpdHM6OmljZV9hbmQ8XAorICAgICAgICAgOjpuZG5ib29zdDo6aXNfcG9pbnRlcjwgUmhzX25vcmVmID46OnZhbHVlLFwKKyAgICAgICAgIDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2Vfb3I8XAorICAgICAgICAgICAgOjpuZG5ib29zdDo6aXNfZnVuZGFtZW50YWw8IExoc19ub2N2ID46OnZhbHVlLFwKKyAgICAgICAgICAgIDo6bmRuYm9vc3Q6OmlzX3BvaW50ZXI8IExoc19ub3JlZiA+Ojp2YWx1ZVwKKyAgICAgICAgID46OnZhbHVlXAorICAgICAgPjo6dmFsdWVcCisgICA+Ojp2YWx1ZQorCisKKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9kZXRhaWwvaGFzX2JpbmFyeV9vcGVyYXRvci5ocHA+CisKKyN1bmRlZiBCT09TVF9UVF9UUkFJVF9OQU1FCisjdW5kZWYgQk9PU1RfVFRfVFJBSVRfT1AKKyN1bmRlZiBCT09TVF9UVF9GT1JCSURERU5fSUYKKworI2VuZGlmCmRpZmYgLS1naXQgYS9uZG5ib29zdC90eXBlX3RyYWl0cy9oYXNfbXVsdGlwbGllc19hc3NpZ24uaHBwIGIvbmRuYm9vc3QvdHlwZV90cmFpdHMvaGFzX211bHRpcGxpZXNfYXNzaWduLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43M2U0OTdmCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvdHlwZV90cmFpdHMvaGFzX211bHRpcGxpZXNfYXNzaWduLmhwcApAQCAtMCwwICsxLDQ3IEBACisvLyAgKEMpIENvcHlyaWdodCAyMDA5LTIwMTEgRnJlZGVyaWMgQnJvbi4KKy8vCisvLyAgVXNlLCBtb2RpZmljYXRpb24gYW5kIGRpc3RyaWJ1dGlvbiBhcmUgc3ViamVjdCB0byB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwKKy8vICBWZXJzaW9uIDEuMC4gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdAorLy8gIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkuCisvLworLy8gIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL3R5cGVfdHJhaXRzIGZvciBtb3N0IHJlY2VudCB2ZXJzaW9uIGluY2x1ZGluZyBkb2N1bWVudGF0aW9uLgorCisjaWZuZGVmIEJPT1NUX1RUX0hBU19NVUxUSVBMSUVTX0FTU0lHTl9IUFBfSU5DTFVERUQKKyNkZWZpbmUgQk9PU1RfVFRfSEFTX01VTFRJUExJRVNfQVNTSUdOX0hQUF9JTkNMVURFRAorCisjZGVmaW5lIEJPT1NUX1RUX1RSQUlUX05BTUUgaGFzX211bHRpcGxpZXNfYXNzaWduCisjZGVmaW5lIEJPT1NUX1RUX1RSQUlUX09QICo9CisjZGVmaW5lIEJPT1NUX1RUX0ZPUkJJRERFTl9JRlwKKyAgIDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2Vfb3I8XAorICAgICAgLyogTGhzPT1mdW5kYW1lbnRhbCBhbmQgTGhzPT1jb25zdCBhbmQgUmhzPT1mdW5kYW1lbnRhbCAqL1wKKyAgICAgIDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2VfYW5kPFwKKyAgICAgICAgIDo6bmRuYm9vc3Q6OmlzX2Z1bmRhbWVudGFsPCBMaHNfbm9jdiA+Ojp2YWx1ZSxcCisgICAgICAgICA6Om5kbmJvb3N0Ojppc19jb25zdDwgTGhzX25vcmVmID46OnZhbHVlLFwKKyAgICAgICAgIDo6bmRuYm9vc3Q6OmlzX2Z1bmRhbWVudGFsPCBSaHNfbm9jdiA+Ojp2YWx1ZVwKKyAgICAgID46OnZhbHVlLFwKKyAgICAgIC8qIExocz09cG9pbnRlciBhbmQgKFJocz09ZnVuZGFtZW50YWwgb3IgUmhzPT1wb2ludGVyKSAqL1wKKyAgICAgIDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2VfYW5kPFwKKyAgICAgICAgIDo6bmRuYm9vc3Q6OmlzX3BvaW50ZXI8IExoc19ub3JlZiA+Ojp2YWx1ZSxcCisgICAgICAgICA6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6aWNlX29yPFwKKyAgICAgICAgICAgIDo6bmRuYm9vc3Q6OmlzX2Z1bmRhbWVudGFsPCBSaHNfbm9jdiA+Ojp2YWx1ZSxcCisgICAgICAgICAgICA6Om5kbmJvb3N0Ojppc19wb2ludGVyPCBSaHNfbm9yZWYgPjo6dmFsdWVcCisgICAgICAgICA+Ojp2YWx1ZVwKKyAgICAgID46OnZhbHVlLFwKKyAgICAgIC8qIFJocz09cG9pbnRlciBhbmQgKExocz09ZnVuZGFtZW50YWwgb3IgTGhzPT1wb2ludGVyKSAqL1wKKyAgICAgIDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2VfYW5kPFwKKyAgICAgICAgIDo6bmRuYm9vc3Q6OmlzX3BvaW50ZXI8IFJoc19ub3JlZiA+Ojp2YWx1ZSxcCisgICAgICAgICA6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6aWNlX29yPFwKKyAgICAgICAgICAgIDo6bmRuYm9vc3Q6OmlzX2Z1bmRhbWVudGFsPCBMaHNfbm9jdiA+Ojp2YWx1ZSxcCisgICAgICAgICAgICA6Om5kbmJvb3N0Ojppc19wb2ludGVyPCBMaHNfbm9yZWYgPjo6dmFsdWVcCisgICAgICAgICA+Ojp2YWx1ZVwKKyAgICAgID46OnZhbHVlXAorICAgPjo6dmFsdWUKKworCisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvZGV0YWlsL2hhc19iaW5hcnlfb3BlcmF0b3IuaHBwPgorCisjdW5kZWYgQk9PU1RfVFRfVFJBSVRfTkFNRQorI3VuZGVmIEJPT1NUX1RUX1RSQUlUX09QCisjdW5kZWYgQk9PU1RfVFRfRk9SQklEREVOX0lGCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvdHlwZV90cmFpdHMvaGFzX25lZ2F0ZS5ocHAgYi9uZG5ib29zdC90eXBlX3RyYWl0cy9oYXNfbmVnYXRlLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MjczMTUzCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvdHlwZV90cmFpdHMvaGFzX25lZ2F0ZS5ocHAKQEAgLTAsMCArMSwyNSBAQAorLy8gIChDKSBDb3B5cmlnaHQgMjAwOS0yMDExIEZyZWRlcmljIEJyb24uCisvLworLy8gIFVzZSwgbW9kaWZpY2F0aW9uIGFuZCBkaXN0cmlidXRpb24gYXJlIHN1YmplY3QgdG8gdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsCisvLyAgVmVyc2lvbiAxLjAuIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQKKy8vICBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpLgorLy8KKy8vICBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvbGlicy90eXBlX3RyYWl0cyBmb3IgbW9zdCByZWNlbnQgdmVyc2lvbiBpbmNsdWRpbmcgZG9jdW1lbnRhdGlvbi4KKworI2lmbmRlZiBCT09TVF9UVF9IQVNfTkVHQVRFX0hQUF9JTkNMVURFRAorI2RlZmluZSBCT09TVF9UVF9IQVNfTkVHQVRFX0hQUF9JTkNMVURFRAorCisjZGVmaW5lIEJPT1NUX1RUX1RSQUlUX05BTUUgaGFzX25lZ2F0ZQorI2RlZmluZSBCT09TVF9UVF9UUkFJVF9PUCAtCisjZGVmaW5lIEJPT1NUX1RUX0ZPUkJJRERFTl9JRlwKKyAgIC8qIHBvaW50ZXIgKi9cCisgICA6Om5kbmJvb3N0Ojppc19wb2ludGVyPCBSaHNfbm9yZWYgPjo6dmFsdWUKKworCisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvZGV0YWlsL2hhc19wcmVmaXhfb3BlcmF0b3IuaHBwPgorCisjdW5kZWYgQk9PU1RfVFRfVFJBSVRfTkFNRQorI3VuZGVmIEJPT1NUX1RUX1RSQUlUX09QCisjdW5kZWYgQk9PU1RfVFRfRk9SQklEREVOX0lGCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvdHlwZV90cmFpdHMvaGFzX25ld19vcGVyYXRvci5ocHAgYi9uZG5ib29zdC90eXBlX3RyYWl0cy9oYXNfbmV3X29wZXJhdG9yLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNDM3ZWU5Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvdHlwZV90cmFpdHMvaGFzX25ld19vcGVyYXRvci5ocHAKQEAgLTAsMCArMSwxNDAgQEAKKworLy8gIChDKSBDb3B5cmlnaHQgUnVuYXIgVW5kaGVpbSwgUm9iZXJ0IFJhbWV5ICYgSm9obiBNYWRkb2NrIDIwMDguCisvLyAgVXNlLCBtb2RpZmljYXRpb24gYW5kIGRpc3RyaWJ1dGlvbiBhcmUgc3ViamVjdCB0byB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwKKy8vICBWZXJzaW9uIDEuMC4gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdAorLy8gIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkuCisvLworLy8gIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL3R5cGVfdHJhaXRzIGZvciBtb3N0IHJlY2VudCB2ZXJzaW9uIGluY2x1ZGluZyBkb2N1bWVudGF0aW9uLgorCisjaWZuZGVmIEJPT1NUX1RUX0hBU19ORVdfT1BFUkFUT1JfSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX1RUX0hBU19ORVdfT1BFUkFUT1JfSFBQX0lOQ0xVREVECisKKyNpbmNsdWRlIDxuZXc+IC8vIHN0ZDo6bm90aHJvd190CisjaW5jbHVkZSA8Y3N0ZGRlZj4gLy8gc3RkOjpzaXplX3QKKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9jb25maWcuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2RldGFpbC95ZXNfbm9fdHlwZS5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvZGV0YWlsL2ljZV9vci5ocHA+CisKKy8vIHNob3VsZCBiZSB0aGUgbGFzdCAjaW5jbHVkZQorI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2RldGFpbC9ib29sX3RyYWl0X2RlZi5ocHA+CisKK25hbWVzcGFjZSBuZG5ib29zdCB7CituYW1lc3BhY2UgZGV0YWlsIHsKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVSwgVSB4PiAKKyAgICBzdHJ1Y3QgdGVzdDsKKworICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgorICAgIHN0cnVjdCBoYXNfbmV3X29wZXJhdG9yX2ltcGwgeworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBVPgorICAgICAgICBzdGF0aWMgdHlwZV90cmFpdHM6Onllc190eXBlIGNoZWNrX3NpZzEoCisgICAgICAgICAgICBVKiwgCisgICAgICAgICAgICB0ZXN0PAorICAgICAgICAgICAgdm9pZCAqKCopKHN0ZDo6c2l6ZV90KSwKKyAgICAgICAgICAgICAgICAmVTo6b3BlcmF0b3IgbmV3CisgICAgICAgICAgICA+KiA9IE5VTEwKKyAgICAgICAgKTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVT4KKyAgICAgICAgc3RhdGljIHR5cGVfdHJhaXRzOjpub190eXBlIGNoZWNrX3NpZzEoLi4uKTsKKworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBVPgorICAgICAgICBzdGF0aWMgdHlwZV90cmFpdHM6Onllc190eXBlIGNoZWNrX3NpZzIoCisgICAgICAgICAgICBVKiwgCisgICAgICAgICAgICB0ZXN0PAorICAgICAgICAgICAgdm9pZCAqKCopKHN0ZDo6c2l6ZV90LCBjb25zdCBzdGQ6Om5vdGhyb3dfdCYpLAorICAgICAgICAgICAgICAgICZVOjpvcGVyYXRvciBuZXcKKyAgICAgICAgICAgID4qID0gTlVMTAorICAgICAgICApOworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBVPgorICAgICAgICBzdGF0aWMgdHlwZV90cmFpdHM6Om5vX3R5cGUgY2hlY2tfc2lnMiguLi4pOworCisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFU+CisgICAgICAgIHN0YXRpYyB0eXBlX3RyYWl0czo6eWVzX3R5cGUgY2hlY2tfc2lnMygKKyAgICAgICAgICAgIFUqLCAKKyAgICAgICAgICAgIHRlc3Q8CisgICAgICAgICAgICB2b2lkICooKikoc3RkOjpzaXplX3QsIHZvaWQqKSwKKyAgICAgICAgICAgICAgICAmVTo6b3BlcmF0b3IgbmV3CisgICAgICAgICAgICA+KiA9IE5VTEwKKyAgICAgICAgKTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVT4KKyAgICAgICAgc3RhdGljIHR5cGVfdHJhaXRzOjpub190eXBlIGNoZWNrX3NpZzMoLi4uKTsKKworCisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFU+CisgICAgICAgIHN0YXRpYyB0eXBlX3RyYWl0czo6eWVzX3R5cGUgY2hlY2tfc2lnNCgKKyAgICAgICAgICAgIFUqLCAKKyAgICAgICAgICAgIHRlc3Q8CisgICAgICAgICAgICB2b2lkICooKikoc3RkOjpzaXplX3QpLAorICAgICAgICAgICAgICAgICZVOjpvcGVyYXRvciBuZXdbXQorICAgICAgICAgICAgPiogPSBOVUxMCisgICAgICAgICk7CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFU+CisgICAgICAgIHN0YXRpYyB0eXBlX3RyYWl0czo6bm9fdHlwZSBjaGVja19zaWc0KC4uLik7CisKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVT4KKyAgICAgICAgc3RhdGljIHR5cGVfdHJhaXRzOjp5ZXNfdHlwZSBjaGVja19zaWc1KAorICAgICAgICAgICAgVSosIAorICAgICAgICAgICAgdGVzdDwKKyAgICAgICAgICAgIHZvaWQgKigqKShzdGQ6OnNpemVfdCwgY29uc3Qgc3RkOjpub3Rocm93X3QmKSwKKyAgICAgICAgICAgICAgICAmVTo6b3BlcmF0b3IgbmV3W10KKyAgICAgICAgICAgID4qID0gTlVMTAorICAgICAgICApOworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBVPgorICAgICAgICBzdGF0aWMgdHlwZV90cmFpdHM6Om5vX3R5cGUgY2hlY2tfc2lnNSguLi4pOworCisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFU+CisgICAgICAgIHN0YXRpYyB0eXBlX3RyYWl0czo6eWVzX3R5cGUgY2hlY2tfc2lnNigKKyAgICAgICAgICAgIFUqLCAKKyAgICAgICAgICAgIHRlc3Q8CisgICAgICAgICAgICB2b2lkICooKikoc3RkOjpzaXplX3QsIHZvaWQqKSwKKyAgICAgICAgICAgICAgICAmVTo6b3BlcmF0b3IgbmV3W10KKyAgICAgICAgICAgID4qID0gTlVMTAorICAgICAgICApOworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBVPgorICAgICAgICBzdGF0aWMgdHlwZV90cmFpdHM6Om5vX3R5cGUgY2hlY2tfc2lnNiguLi4pOworCisgICAgICAgIC8vIEdDQzIgd29uJ3QgZXZlbiBwYXJzZSB0aGlzIHRlbXBsYXRlIGlmIHdlIGVtYmVkIHRoZSBjb21wdXRhdGlvbgorICAgICAgICAvLyBvZiBzMSBpbiB0aGUgY29tcHV0YXRpb24gb2YgdmFsdWUuCisgICAgICAgICNpZmRlZiBfX0dOVUNfXworICAgICAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKHVuc2lnbmVkLCBzMSA9IHNpemVvZihoYXNfbmV3X29wZXJhdG9yX2ltcGw8VD46OnRlbXBsYXRlIGNoZWNrX3NpZzE8VD4oMCkpKTsKKyAgICAgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVCh1bnNpZ25lZCwgczIgPSBzaXplb2YoaGFzX25ld19vcGVyYXRvcl9pbXBsPFQ+Ojp0ZW1wbGF0ZSBjaGVja19zaWcyPFQ+KDApKSk7CisgICAgICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQodW5zaWduZWQsIHMzID0gc2l6ZW9mKGhhc19uZXdfb3BlcmF0b3JfaW1wbDxUPjo6dGVtcGxhdGUgY2hlY2tfc2lnMzxUPigwKSkpOworICAgICAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKHVuc2lnbmVkLCBzNCA9IHNpemVvZihoYXNfbmV3X29wZXJhdG9yX2ltcGw8VD46OnRlbXBsYXRlIGNoZWNrX3NpZzQ8VD4oMCkpKTsKKyAgICAgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVCh1bnNpZ25lZCwgczUgPSBzaXplb2YoaGFzX25ld19vcGVyYXRvcl9pbXBsPFQ+Ojp0ZW1wbGF0ZSBjaGVja19zaWc1PFQ+KDApKSk7CisgICAgICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQodW5zaWduZWQsIHM2ID0gc2l6ZW9mKGhhc19uZXdfb3BlcmF0b3JfaW1wbDxUPjo6dGVtcGxhdGUgY2hlY2tfc2lnNjxUPigwKSkpOworICAgICAgICAjZWxzZQorICAgICAgICAgICAgI2lmIEJPT1NUX1dPUktBUk9VTkQoQk9PU1RfTVNWQ19GVUxMX1ZFUiwgPj0gMTQwMDUwMDAwKQorICAgICAgICAgICAgICAgICNwcmFnbWEgd2FybmluZyhwdXNoKQorICAgICAgICAgICAgICAgICNwcmFnbWEgd2FybmluZyhkaXNhYmxlOjYzMzQpCisgICAgICAgICAgICAjZW5kaWYKKworICAgICAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKHVuc2lnbmVkLCBzMSA9IHNpemVvZihjaGVja19zaWcxPFQ+KDApKSk7CisgICAgICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQodW5zaWduZWQsIHMyID0gc2l6ZW9mKGNoZWNrX3NpZzI8VD4oMCkpKTsKKyAgICAgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVCh1bnNpZ25lZCwgczMgPSBzaXplb2YoY2hlY2tfc2lnMzxUPigwKSkpOworICAgICAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKHVuc2lnbmVkLCBzNCA9IHNpemVvZihjaGVja19zaWc0PFQ+KDApKSk7CisgICAgICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQodW5zaWduZWQsIHM1ID0gc2l6ZW9mKGNoZWNrX3NpZzU8VD4oMCkpKTsKKyAgICAgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVCh1bnNpZ25lZCwgczYgPSBzaXplb2YoY2hlY2tfc2lnNjxUPigwKSkpOworCisgICAgICAgICAgICAjaWYgQk9PU1RfV09SS0FST1VORChCT09TVF9NU1ZDX0ZVTExfVkVSLCA+PSAxNDAwNTAwMDApCisgICAgICAgICAgICAgICAgI3ByYWdtYSB3YXJuaW5nKHBvcCkKKyAgICAgICAgICAgICNlbmRpZgorICAgICAgICAjZW5kaWYKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGJvb2wsIHZhbHVlID0gCisgICAgICAgICAgICg6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6aWNlX29yPAorICAgICAgICAgICAgKHMxID09IHNpemVvZih0eXBlX3RyYWl0czo6eWVzX3R5cGUpKSwKKyAgICAgICAgICAgIChzMiA9PSBzaXplb2YodHlwZV90cmFpdHM6Onllc190eXBlKSksCisgICAgICAgICAgICAoczMgPT0gc2l6ZW9mKHR5cGVfdHJhaXRzOjp5ZXNfdHlwZSkpLAorICAgICAgICAgICAgKHM0ID09IHNpemVvZih0eXBlX3RyYWl0czo6eWVzX3R5cGUpKSwKKyAgICAgICAgICAgIChzNSA9PSBzaXplb2YodHlwZV90cmFpdHM6Onllc190eXBlKSksCisgICAgICAgICAgICAoczYgPT0gc2l6ZW9mKHR5cGVfdHJhaXRzOjp5ZXNfdHlwZSkpCisgICAgICAgICAgID46OnZhbHVlKQorICAgICAgICApOworICAgIH07Cit9IC8vIG5hbWVzcGFjZSBkZXRhaWwKKworQk9PU1RfVFRfQVVYX0JPT0xfVFJBSVRfREVGMShoYXNfbmV3X29wZXJhdG9yLFQsOjpuZG5ib29zdDo6ZGV0YWlsOjpoYXNfbmV3X29wZXJhdG9yX2ltcGw8VD46OnZhbHVlKQorCit9IC8vIG5hbWVzcGFjZSBuZG5ib29zdAorCisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvZGV0YWlsL2Jvb2xfdHJhaXRfdW5kZWYuaHBwPgorCisjZW5kaWYgLy8gQk9PU1RfVFRfSEFTX05FV19PUEVSQVRPUl9IUFBfSU5DTFVERUQKZGlmZiAtLWdpdCBhL25kbmJvb3N0L3R5cGVfdHJhaXRzL2hhc19ub3RfZXF1YWxfdG8uaHBwIGIvbmRuYm9vc3QvdHlwZV90cmFpdHMvaGFzX25vdF9lcXVhbF90by5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjdhNzBjYQotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L3R5cGVfdHJhaXRzL2hhc19ub3RfZXF1YWxfdG8uaHBwCkBAIC0wLDAgKzEsNDkgQEAKKy8vICAoQykgQ29weXJpZ2h0IDIwMDktMjAxMSBGcmVkZXJpYyBCcm9uLgorLy8KKy8vICBVc2UsIG1vZGlmaWNhdGlvbiBhbmQgZGlzdHJpYnV0aW9uIGFyZSBzdWJqZWN0IHRvIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLAorLy8gIFZlcnNpb24gMS4wLiAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0CisvLyAgaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KS4KKy8vCisvLyAgU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL2xpYnMvdHlwZV90cmFpdHMgZm9yIG1vc3QgcmVjZW50IHZlcnNpb24gaW5jbHVkaW5nIGRvY3VtZW50YXRpb24uCisKKyNpZm5kZWYgQk9PU1RfVFRfSEFTX05PVF9FUVVBTF9UT19IUFBfSU5DTFVERUQKKyNkZWZpbmUgQk9PU1RfVFRfSEFTX05PVF9FUVVBTF9UT19IUFBfSU5DTFVERUQKKworI2RlZmluZSBCT09TVF9UVF9UUkFJVF9OQU1FIGhhc19ub3RfZXF1YWxfdG8KKyNkZWZpbmUgQk9PU1RfVFRfVFJBSVRfT1AgIT0KKyNkZWZpbmUgQk9PU1RfVFRfRk9SQklEREVOX0lGXAorICAgOjpuZG5ib29zdDo6dHlwZV90cmFpdHM6OmljZV9vcjxcCisgICAgICAvKiBMaHM9PXBvaW50ZXIgYW5kIFJocz09ZnVuZGFtZW50YWwgKi9cCisgICAgICA6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6aWNlX2FuZDxcCisgICAgICAgICA6Om5kbmJvb3N0Ojppc19wb2ludGVyPCBMaHNfbm9yZWYgPjo6dmFsdWUsXAorICAgICAgICAgOjpuZG5ib29zdDo6aXNfZnVuZGFtZW50YWw8IFJoc19ub2N2ID46OnZhbHVlXAorICAgICAgPjo6dmFsdWUsXAorICAgICAgLyogUmhzPT1wb2ludGVyIGFuZCBMaHM9PWZ1bmRhbWVudGFsICovXAorICAgICAgOjpuZG5ib29zdDo6dHlwZV90cmFpdHM6OmljZV9hbmQ8XAorICAgICAgICAgOjpuZG5ib29zdDo6aXNfcG9pbnRlcjwgUmhzX25vcmVmID46OnZhbHVlLFwKKyAgICAgICAgIDo6bmRuYm9vc3Q6OmlzX2Z1bmRhbWVudGFsPCBMaHNfbm9jdiA+Ojp2YWx1ZVwKKyAgICAgID46OnZhbHVlLFwKKyAgICAgIC8qIExocz09cG9pbnRlciBhbmQgUmhzPT1wb2ludGVyIGFuZCBMaHMhPWJhc2UoUmhzKSBhbmQgUmhzIT1iYXNlKExocykgYW5kIExocyE9dm9pZCogYW5kIFJocyE9dm9pZCogKi9cCisgICAgICA6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6aWNlX2FuZDxcCisgICAgICAgICA6Om5kbmJvb3N0Ojppc19wb2ludGVyPCBMaHNfbm9yZWYgPjo6dmFsdWUsXAorICAgICAgICAgOjpuZG5ib29zdDo6aXNfcG9pbnRlcjwgUmhzX25vcmVmID46OnZhbHVlLFwKKyAgICAgICAgIDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2Vfbm90PFwKKyAgICAgICAgICAgIDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2Vfb3I8XAorICAgICAgICAgICAgICAgOjpuZG5ib29zdDo6aXNfYmFzZV9vZjwgTGhzX25vcHRyLCBSaHNfbm9wdHIgPjo6dmFsdWUsXAorICAgICAgICAgICAgICAgOjpuZG5ib29zdDo6aXNfYmFzZV9vZjwgUmhzX25vcHRyLCBMaHNfbm9wdHIgPjo6dmFsdWUsXAorICAgICAgICAgICAgICAgOjpuZG5ib29zdDo6aXNfc2FtZTwgTGhzX25vcHRyLCBSaHNfbm9wdHIgPjo6dmFsdWUsXAorICAgICAgICAgICAgICAgOjpuZG5ib29zdDo6aXNfdm9pZDwgTGhzX25vcHRyID46OnZhbHVlLFwKKyAgICAgICAgICAgICAgIDo6bmRuYm9vc3Q6OmlzX3ZvaWQ8IFJoc19ub3B0ciA+Ojp2YWx1ZVwKKyAgICAgICAgICAgID46OnZhbHVlXAorICAgICAgICAgPjo6dmFsdWVcCisgICAgICA+Ojp2YWx1ZVwKKyAgID46OnZhbHVlCisKKworI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2RldGFpbC9oYXNfYmluYXJ5X29wZXJhdG9yLmhwcD4KKworI3VuZGVmIEJPT1NUX1RUX1RSQUlUX05BTUUKKyN1bmRlZiBCT09TVF9UVF9UUkFJVF9PUAorI3VuZGVmIEJPT1NUX1RUX0ZPUkJJRERFTl9JRgorCisjZW5kaWYKZGlmZiAtLWdpdCBhL25kbmJvb3N0L3R5cGVfdHJhaXRzL2hhc19ub3Rocm93X2Fzc2lnbi5ocHAgYi9uZG5ib29zdC90eXBlX3RyYWl0cy9oYXNfbm90aHJvd19hc3NpZ24uaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgzZmYwY2QKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC90eXBlX3RyYWl0cy9oYXNfbm90aHJvd19hc3NpZ24uaHBwCkBAIC0wLDAgKzEsNDQgQEAKKworLy8gIChDKSBDb3B5cmlnaHQgU3RldmUgQ2xlYXJ5LCBCZW1hbiBEYXdlcywgSG93YXJkIEhpbm5hbnQgJiBKb2huIE1hZGRvY2sgMjAwMC4KKy8vICBVc2UsIG1vZGlmaWNhdGlvbiBhbmQgZGlzdHJpYnV0aW9uIGFyZSBzdWJqZWN0IHRvIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLAorLy8gIFZlcnNpb24gMS4wLiAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0CisvLyAgaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KS4KKy8vCisvLyAgU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL2xpYnMvdHlwZV90cmFpdHMgZm9yIG1vc3QgcmVjZW50IHZlcnNpb24gaW5jbHVkaW5nIGRvY3VtZW50YXRpb24uCisKKyNpZm5kZWYgQk9PU1RfVFRfSEFTX05PVEhST1dfQVNTSUdOX0hQUF9JTkNMVURFRAorI2RlZmluZSBCT09TVF9UVF9IQVNfTk9USFJPV19BU1NJR05fSFBQX0lOQ0xVREVECisKKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9oYXNfdHJpdmlhbF9hc3NpZ24uaHBwPgorCisvLyBzaG91bGQgYmUgdGhlIGxhc3QgI2luY2x1ZGUKKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9kZXRhaWwvYm9vbF90cmFpdF9kZWYuaHBwPgorCituYW1lc3BhY2UgbmRuYm9vc3QgeworCituYW1lc3BhY2UgZGV0YWlseworCit0ZW1wbGF0ZSA8Y2xhc3MgVD4KK3N0cnVjdCBoYXNfbm90aHJvd19hc3NpZ25faW1weworI2lmbmRlZiBCT09TVF9IQVNfTk9USFJPV19BU1NJR04KKyAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChib29sLCB2YWx1ZSA9IDo6bmRuYm9vc3Q6Omhhc190cml2aWFsX2Fzc2lnbjxUPjo6dmFsdWUpOworI2Vsc2UKKyAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChib29sLCB2YWx1ZSA9IEJPT1NUX0hBU19OT1RIUk9XX0FTU0lHTihUKSk7CisjZW5kaWYKK307CisKK30KKworQk9PU1RfVFRfQVVYX0JPT0xfVFJBSVRfREVGMShoYXNfbm90aHJvd19hc3NpZ24sVCw6Om5kbmJvb3N0OjpkZXRhaWw6Omhhc19ub3Rocm93X2Fzc2lnbl9pbXA8VD46OnZhbHVlKQorQk9PU1RfVFRfQVVYX0JPT0xfVFJBSVRfU1BFQzEoaGFzX25vdGhyb3dfYXNzaWduLHZvaWQsZmFsc2UpCisjaWZuZGVmIEJPT1NUX05PX0NWX1ZPSURfU1BFQ0lBTElaQVRJT05TCitCT09TVF9UVF9BVVhfQk9PTF9UUkFJVF9TUEVDMShoYXNfbm90aHJvd19hc3NpZ24sdm9pZCBjb25zdCxmYWxzZSkKK0JPT1NUX1RUX0FVWF9CT09MX1RSQUlUX1NQRUMxKGhhc19ub3Rocm93X2Fzc2lnbix2b2lkIGNvbnN0IHZvbGF0aWxlLGZhbHNlKQorQk9PU1RfVFRfQVVYX0JPT0xfVFJBSVRfU1BFQzEoaGFzX25vdGhyb3dfYXNzaWduLHZvaWQgdm9sYXRpbGUsZmFsc2UpCisjZW5kaWYKKworfSAvLyBuYW1lc3BhY2UgbmRuYm9vc3QKKworI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2RldGFpbC9ib29sX3RyYWl0X3VuZGVmLmhwcD4KKworI2VuZGlmIC8vIEJPT1NUX1RUX0hBU19OT1RIUk9XX0FTU0lHTl9IUFBfSU5DTFVERUQKZGlmZiAtLWdpdCBhL25kbmJvb3N0L3R5cGVfdHJhaXRzL2hhc19ub3Rocm93X2NvbnN0cnVjdG9yLmhwcCBiL25kbmJvb3N0L3R5cGVfdHJhaXRzL2hhc19ub3Rocm93X2NvbnN0cnVjdG9yLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42ZjIzNTA2Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvdHlwZV90cmFpdHMvaGFzX25vdGhyb3dfY29uc3RydWN0b3IuaHBwCkBAIC0wLDAgKzEsNTMgQEAKKworLy8gIChDKSBDb3B5cmlnaHQgU3RldmUgQ2xlYXJ5LCBCZW1hbiBEYXdlcywgSG93YXJkIEhpbm5hbnQgJiBKb2huIE1hZGRvY2sgMjAwMC4KKy8vICBVc2UsIG1vZGlmaWNhdGlvbiBhbmQgZGlzdHJpYnV0aW9uIGFyZSBzdWJqZWN0IHRvIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLAorLy8gIFZlcnNpb24gMS4wLiAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0CisvLyAgaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KS4KKy8vCisvLyAgU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL2xpYnMvdHlwZV90cmFpdHMgZm9yIG1vc3QgcmVjZW50IHZlcnNpb24gaW5jbHVkaW5nIGRvY3VtZW50YXRpb24uCisKKyNpZm5kZWYgQk9PU1RfVFRfSEFTX05PVEhST1dfQ09OU1RSVUNUT1JfSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX1RUX0hBU19OT1RIUk9XX0NPTlNUUlVDVE9SX0hQUF9JTkNMVURFRAorCisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvaGFzX3RyaXZpYWxfY29uc3RydWN0b3IuaHBwPgorCisvLyBzaG91bGQgYmUgdGhlIGxhc3QgI2luY2x1ZGUKKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9kZXRhaWwvYm9vbF90cmFpdF9kZWYuaHBwPgorCituYW1lc3BhY2UgbmRuYm9vc3QgeworCituYW1lc3BhY2UgZGV0YWlseworCit0ZW1wbGF0ZSA8Y2xhc3MgVD4KK3N0cnVjdCBoYXNfbm90aHJvd19jb25zdHJ1Y3Rvcl9pbXB7CisjaWZkZWYgQk9PU1RfSEFTX05PVEhST1dfQ09OU1RSVUNUT1IKKyAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChib29sLCB2YWx1ZSA9IEJPT1NUX0hBU19OT1RIUk9XX0NPTlNUUlVDVE9SKFQpKTsKKyNlbHNlCisgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoYm9vbCwgdmFsdWUgPSA6Om5kbmJvb3N0OjpoYXNfdHJpdmlhbF9jb25zdHJ1Y3RvcjxUPjo6dmFsdWUpOworI2VuZGlmCit9OworCit9CisKK0JPT1NUX1RUX0FVWF9CT09MX1RSQUlUX0RFRjEoaGFzX25vdGhyb3dfY29uc3RydWN0b3IsVCw6Om5kbmJvb3N0OjpkZXRhaWw6Omhhc19ub3Rocm93X2NvbnN0cnVjdG9yX2ltcDxUPjo6dmFsdWUpCitCT09TVF9UVF9BVVhfQk9PTF9UUkFJVF9ERUYxKGhhc19ub3Rocm93X2RlZmF1bHRfY29uc3RydWN0b3IsVCw6Om5kbmJvb3N0OjpkZXRhaWw6Omhhc19ub3Rocm93X2NvbnN0cnVjdG9yX2ltcDxUPjo6dmFsdWUpCisKK0JPT1NUX1RUX0FVWF9CT09MX1RSQUlUX1NQRUMxKGhhc19ub3Rocm93X2NvbnN0cnVjdG9yLHZvaWQsZmFsc2UpCisjaWZuZGVmIEJPT1NUX05PX0NWX1ZPSURfU1BFQ0lBTElaQVRJT05TCitCT09TVF9UVF9BVVhfQk9PTF9UUkFJVF9TUEVDMShoYXNfbm90aHJvd19jb25zdHJ1Y3Rvcix2b2lkIGNvbnN0LGZhbHNlKQorQk9PU1RfVFRfQVVYX0JPT0xfVFJBSVRfU1BFQzEoaGFzX25vdGhyb3dfY29uc3RydWN0b3Isdm9pZCBjb25zdCB2b2xhdGlsZSxmYWxzZSkKK0JPT1NUX1RUX0FVWF9CT09MX1RSQUlUX1NQRUMxKGhhc19ub3Rocm93X2NvbnN0cnVjdG9yLHZvaWQgdm9sYXRpbGUsZmFsc2UpCisjZW5kaWYKKworQk9PU1RfVFRfQVVYX0JPT0xfVFJBSVRfU1BFQzEoaGFzX25vdGhyb3dfZGVmYXVsdF9jb25zdHJ1Y3Rvcix2b2lkLGZhbHNlKQorI2lmbmRlZiBCT09TVF9OT19DVl9WT0lEX1NQRUNJQUxJWkFUSU9OUworQk9PU1RfVFRfQVVYX0JPT0xfVFJBSVRfU1BFQzEoaGFzX25vdGhyb3dfZGVmYXVsdF9jb25zdHJ1Y3Rvcix2b2lkIGNvbnN0LGZhbHNlKQorQk9PU1RfVFRfQVVYX0JPT0xfVFJBSVRfU1BFQzEoaGFzX25vdGhyb3dfZGVmYXVsdF9jb25zdHJ1Y3Rvcix2b2lkIGNvbnN0IHZvbGF0aWxlLGZhbHNlKQorQk9PU1RfVFRfQVVYX0JPT0xfVFJBSVRfU1BFQzEoaGFzX25vdGhyb3dfZGVmYXVsdF9jb25zdHJ1Y3Rvcix2b2lkIHZvbGF0aWxlLGZhbHNlKQorI2VuZGlmCisKK30gLy8gbmFtZXNwYWNlIG5kbmJvb3N0CisKKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9kZXRhaWwvYm9vbF90cmFpdF91bmRlZi5ocHA+CisKKyNlbmRpZiAvLyBCT09TVF9UVF9IQVNfTk9USFJPV19DT05TVFJVQ1RPUl9IUFBfSU5DTFVERUQKZGlmZiAtLWdpdCBhL25kbmJvb3N0L3R5cGVfdHJhaXRzL2hhc19ub3Rocm93X2NvcHkuaHBwIGIvbmRuYm9vc3QvdHlwZV90cmFpdHMvaGFzX25vdGhyb3dfY29weS5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGJmM2UzMAotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L3R5cGVfdHJhaXRzL2hhc19ub3Rocm93X2NvcHkuaHBwCkBAIC0wLDAgKzEsNTMgQEAKKworLy8gIChDKSBDb3B5cmlnaHQgU3RldmUgQ2xlYXJ5LCBCZW1hbiBEYXdlcywgSG93YXJkIEhpbm5hbnQgJiBKb2huIE1hZGRvY2sgMjAwMC4KKy8vICBVc2UsIG1vZGlmaWNhdGlvbiBhbmQgZGlzdHJpYnV0aW9uIGFyZSBzdWJqZWN0IHRvIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLAorLy8gIFZlcnNpb24gMS4wLiAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0CisvLyAgaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KS4KKy8vCisvLyAgU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL2xpYnMvdHlwZV90cmFpdHMgZm9yIG1vc3QgcmVjZW50IHZlcnNpb24gaW5jbHVkaW5nIGRvY3VtZW50YXRpb24uCisKKyNpZm5kZWYgQk9PU1RfVFRfSEFTX05PVEhST1dfQ09QWV9IUFBfSU5DTFVERUQKKyNkZWZpbmUgQk9PU1RfVFRfSEFTX05PVEhST1dfQ09QWV9IUFBfSU5DTFVERUQKKworI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2hhc190cml2aWFsX2NvcHkuaHBwPgorCisvLyBzaG91bGQgYmUgdGhlIGxhc3QgI2luY2x1ZGUKKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9kZXRhaWwvYm9vbF90cmFpdF9kZWYuaHBwPgorCituYW1lc3BhY2UgbmRuYm9vc3QgeworCituYW1lc3BhY2UgZGV0YWlseworCit0ZW1wbGF0ZSA8Y2xhc3MgVD4KK3N0cnVjdCBoYXNfbm90aHJvd19jb3B5X2ltcHsKKyNpZmRlZiBCT09TVF9IQVNfTk9USFJPV19DT1BZCisgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoYm9vbCwgdmFsdWUgPSBCT09TVF9IQVNfTk9USFJPV19DT1BZKFQpKTsKKyNlbHNlCisgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoYm9vbCwgdmFsdWUgPSA6Om5kbmJvb3N0OjpoYXNfdHJpdmlhbF9jb3B5PFQ+Ojp2YWx1ZSk7CisjZW5kaWYKK307CisKK30KKworQk9PU1RfVFRfQVVYX0JPT0xfVFJBSVRfREVGMShoYXNfbm90aHJvd19jb3B5LFQsOjpuZG5ib29zdDo6ZGV0YWlsOjpoYXNfbm90aHJvd19jb3B5X2ltcDxUPjo6dmFsdWUpCitCT09TVF9UVF9BVVhfQk9PTF9UUkFJVF9ERUYxKGhhc19ub3Rocm93X2NvcHlfY29uc3RydWN0b3IsVCw6Om5kbmJvb3N0OjpkZXRhaWw6Omhhc19ub3Rocm93X2NvcHlfaW1wPFQ+Ojp2YWx1ZSkKKworQk9PU1RfVFRfQVVYX0JPT0xfVFJBSVRfU1BFQzEoaGFzX25vdGhyb3dfY29weSx2b2lkLGZhbHNlKQorI2lmbmRlZiBCT09TVF9OT19DVl9WT0lEX1NQRUNJQUxJWkFUSU9OUworQk9PU1RfVFRfQVVYX0JPT0xfVFJBSVRfU1BFQzEoaGFzX25vdGhyb3dfY29weSx2b2lkIGNvbnN0LGZhbHNlKQorQk9PU1RfVFRfQVVYX0JPT0xfVFJBSVRfU1BFQzEoaGFzX25vdGhyb3dfY29weSx2b2lkIGNvbnN0IHZvbGF0aWxlLGZhbHNlKQorQk9PU1RfVFRfQVVYX0JPT0xfVFJBSVRfU1BFQzEoaGFzX25vdGhyb3dfY29weSx2b2lkIHZvbGF0aWxlLGZhbHNlKQorI2VuZGlmCisKK0JPT1NUX1RUX0FVWF9CT09MX1RSQUlUX1NQRUMxKGhhc19ub3Rocm93X2NvcHlfY29uc3RydWN0b3Isdm9pZCxmYWxzZSkKKyNpZm5kZWYgQk9PU1RfTk9fQ1ZfVk9JRF9TUEVDSUFMSVpBVElPTlMKK0JPT1NUX1RUX0FVWF9CT09MX1RSQUlUX1NQRUMxKGhhc19ub3Rocm93X2NvcHlfY29uc3RydWN0b3Isdm9pZCBjb25zdCxmYWxzZSkKK0JPT1NUX1RUX0FVWF9CT09MX1RSQUlUX1NQRUMxKGhhc19ub3Rocm93X2NvcHlfY29uc3RydWN0b3Isdm9pZCBjb25zdCB2b2xhdGlsZSxmYWxzZSkKK0JPT1NUX1RUX0FVWF9CT09MX1RSQUlUX1NQRUMxKGhhc19ub3Rocm93X2NvcHlfY29uc3RydWN0b3Isdm9pZCB2b2xhdGlsZSxmYWxzZSkKKyNlbmRpZgorCit9IC8vIG5hbWVzcGFjZSBuZG5ib29zdAorCisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvZGV0YWlsL2Jvb2xfdHJhaXRfdW5kZWYuaHBwPgorCisjZW5kaWYgLy8gQk9PU1RfVFRfSEFTX05PVEhST1dfQ09QWV9IUFBfSU5DTFVERUQKZGlmZiAtLWdpdCBhL25kbmJvb3N0L3R5cGVfdHJhaXRzL2hhc19ub3Rocm93X2Rlc3RydWN0b3IuaHBwIGIvbmRuYm9vc3QvdHlwZV90cmFpdHMvaGFzX25vdGhyb3dfZGVzdHJ1Y3Rvci5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDQ5OWQ1NgotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L3R5cGVfdHJhaXRzL2hhc19ub3Rocm93X2Rlc3RydWN0b3IuaHBwCkBAIC0wLDAgKzEsMjUgQEAKKworLy8gIChDKSBDb3B5cmlnaHQgU3RldmUgQ2xlYXJ5LCBCZW1hbiBEYXdlcywgSG93YXJkIEhpbm5hbnQgJiBKb2huIE1hZGRvY2sgMjAwMC4KKy8vICBVc2UsIG1vZGlmaWNhdGlvbiBhbmQgZGlzdHJpYnV0aW9uIGFyZSBzdWJqZWN0IHRvIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLAorLy8gIFZlcnNpb24gMS4wLiAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0CisvLyAgaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KS4KKy8vCisvLyAgU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL2xpYnMvdHlwZV90cmFpdHMgZm9yIG1vc3QgcmVjZW50IHZlcnNpb24gaW5jbHVkaW5nIGRvY3VtZW50YXRpb24uCisKKyNpZm5kZWYgQk9PU1RfVFRfSEFTX05PVEhST1dfREVTVFJVQ1RPUl9IUFBfSU5DTFVERUQKKyNkZWZpbmUgQk9PU1RfVFRfSEFTX05PVEhST1dfREVTVFJVQ1RPUl9IUFBfSU5DTFVERUQKKworI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2hhc190cml2aWFsX2Rlc3RydWN0b3IuaHBwPgorCisvLyBzaG91bGQgYmUgdGhlIGxhc3QgI2luY2x1ZGUKKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9kZXRhaWwvYm9vbF90cmFpdF9kZWYuaHBwPgorCituYW1lc3BhY2UgbmRuYm9vc3QgeworCitCT09TVF9UVF9BVVhfQk9PTF9UUkFJVF9ERUYxKGhhc19ub3Rocm93X2Rlc3RydWN0b3IsVCw6Om5kbmJvb3N0OjpoYXNfdHJpdmlhbF9kZXN0cnVjdG9yPFQ+Ojp2YWx1ZSkKKworfSAvLyBuYW1lc3BhY2UgbmRuYm9vc3QKKworI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2RldGFpbC9ib29sX3RyYWl0X3VuZGVmLmhwcD4KKworI2VuZGlmIC8vIEJPT1NUX1RUX0hBU19OT1RIUk9XX0RFU1RSVUNUT1JfSFBQX0lOQ0xVREVECmRpZmYgLS1naXQgYS9uZG5ib29zdC90eXBlX3RyYWl0cy9oYXNfb3BlcmF0b3IuaHBwIGIvbmRuYm9vc3QvdHlwZV90cmFpdHMvaGFzX29wZXJhdG9yLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMDY2ZWQzCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvdHlwZV90cmFpdHMvaGFzX29wZXJhdG9yLmhwcApAQCAtMCwwICsxLDUxIEBACisvLyAgKEMpIENvcHlyaWdodCAyMDA5LTIwMTEgRnJlZGVyaWMgQnJvbi4KKy8vCisvLyAgVXNlLCBtb2RpZmljYXRpb24gYW5kIGRpc3RyaWJ1dGlvbiBhcmUgc3ViamVjdCB0byB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwKKy8vICBWZXJzaW9uIDEuMC4gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdAorLy8gIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkuCisvLworLy8gIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL3R5cGVfdHJhaXRzIGZvciBtb3N0IHJlY2VudCB2ZXJzaW9uIGluY2x1ZGluZyBkb2N1bWVudGF0aW9uLgorCisjaWZuZGVmIEJPT1NUX1RUX0hBU19PUEVSQVRPUl9IUFBfSU5DTFVERUQKKyNkZWZpbmUgQk9PU1RfVFRfSEFTX09QRVJBVE9SX0hQUF9JTkNMVURFRAorCisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvaGFzX2JpdF9hbmQuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2hhc19iaXRfYW5kX2Fzc2lnbi5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvaGFzX2JpdF9vci5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvaGFzX2JpdF9vcl9hc3NpZ24uaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2hhc19iaXRfeG9yLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9oYXNfYml0X3hvcl9hc3NpZ24uaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2hhc19jb21wbGVtZW50LmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9oYXNfZGVyZWZlcmVuY2UuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2hhc19kaXZpZGVzLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9oYXNfZGl2aWRlc19hc3NpZ24uaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2hhc19lcXVhbF90by5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvaGFzX2dyZWF0ZXIuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2hhc19ncmVhdGVyX2VxdWFsLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9oYXNfbGVmdF9zaGlmdC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvaGFzX2xlZnRfc2hpZnRfYXNzaWduLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9oYXNfbGVzcy5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvaGFzX2xlc3NfZXF1YWwuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2hhc19sb2dpY2FsX2FuZC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvaGFzX2xvZ2ljYWxfbm90LmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9oYXNfbG9naWNhbF9vci5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvaGFzX21pbnVzLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9oYXNfbWludXNfYXNzaWduLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9oYXNfbW9kdWx1cy5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvaGFzX21vZHVsdXNfYXNzaWduLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9oYXNfbXVsdGlwbGllcy5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvaGFzX211bHRpcGxpZXNfYXNzaWduLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9oYXNfbmVnYXRlLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9oYXNfbm90X2VxdWFsX3RvLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9oYXNfcGx1cy5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvaGFzX3BsdXNfYXNzaWduLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9oYXNfcG9zdF9kZWNyZW1lbnQuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2hhc19wb3N0X2luY3JlbWVudC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvaGFzX3ByZV9kZWNyZW1lbnQuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2hhc19wcmVfaW5jcmVtZW50LmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9oYXNfcmlnaHRfc2hpZnQuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2hhc19yaWdodF9zaGlmdF9hc3NpZ24uaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2hhc191bmFyeV9taW51cy5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvaGFzX3VuYXJ5X3BsdXMuaHBwPgorCisjZW5kaWYKZGlmZiAtLWdpdCBhL25kbmJvb3N0L3R5cGVfdHJhaXRzL2hhc19wbHVzLmhwcCBiL25kbmJvb3N0L3R5cGVfdHJhaXRzL2hhc19wbHVzLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lZGNhN2UwCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvdHlwZV90cmFpdHMvaGFzX3BsdXMuaHBwCkBAIC0wLDAgKzEsNTQgQEAKKy8vICAoQykgQ29weXJpZ2h0IDIwMDktMjAxMSBGcmVkZXJpYyBCcm9uLgorLy8KKy8vICBVc2UsIG1vZGlmaWNhdGlvbiBhbmQgZGlzdHJpYnV0aW9uIGFyZSBzdWJqZWN0IHRvIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLAorLy8gIFZlcnNpb24gMS4wLiAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0CisvLyAgaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KS4KKy8vCisvLyAgU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL2xpYnMvdHlwZV90cmFpdHMgZm9yIG1vc3QgcmVjZW50IHZlcnNpb24gaW5jbHVkaW5nIGRvY3VtZW50YXRpb24uCisKKyNpZm5kZWYgQk9PU1RfVFRfSEFTX1BMVVNfSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX1RUX0hBU19QTFVTX0hQUF9JTkNMVURFRAorCisjZGVmaW5lIEJPT1NUX1RUX1RSQUlUX05BTUUgaGFzX3BsdXMKKyNkZWZpbmUgQk9PU1RfVFRfVFJBSVRfT1AgKworI2RlZmluZSBCT09TVF9UVF9GT1JCSURERU5fSUZcCisgICA6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6aWNlX29yPFwKKyAgICAgIC8qIExocz09cG9pbnRlciBhbmQgUmhzPT1wb2ludGVyICovXAorICAgICAgOjpuZG5ib29zdDo6dHlwZV90cmFpdHM6OmljZV9hbmQ8XAorICAgICAgICAgOjpuZG5ib29zdDo6aXNfcG9pbnRlcjwgTGhzX25vcmVmID46OnZhbHVlLFwKKyAgICAgICAgIDo6bmRuYm9vc3Q6OmlzX3BvaW50ZXI8IFJoc19ub3JlZiA+Ojp2YWx1ZVwKKyAgICAgID46OnZhbHVlLFwKKyAgICAgIC8qIExocz09dm9pZCogYW5kIFJocz09ZnVuZGFtZW50YWwgKi9cCisgICAgICA6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6aWNlX2FuZDxcCisgICAgICAgICA6Om5kbmJvb3N0Ojppc19wb2ludGVyPCBMaHNfbm9yZWYgPjo6dmFsdWUsXAorICAgICAgICAgOjpuZG5ib29zdDo6aXNfdm9pZDwgTGhzX25vcHRyID46OnZhbHVlLFwKKyAgICAgICAgIDo6bmRuYm9vc3Q6OmlzX2Z1bmRhbWVudGFsPCBSaHNfbm9jdiA+Ojp2YWx1ZVwKKyAgICAgID46OnZhbHVlLFwKKyAgICAgIC8qIFJocz09dm9pZCogYW5kIExocz09ZnVuZGFtZW50YWwgKi9cCisgICAgICA6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6aWNlX2FuZDxcCisgICAgICAgICA6Om5kbmJvb3N0Ojppc19wb2ludGVyPCBSaHNfbm9yZWYgPjo6dmFsdWUsXAorICAgICAgICAgOjpuZG5ib29zdDo6aXNfdm9pZDwgUmhzX25vcHRyID46OnZhbHVlLFwKKyAgICAgICAgIDo6bmRuYm9vc3Q6OmlzX2Z1bmRhbWVudGFsPCBMaHNfbm9jdiA+Ojp2YWx1ZVwKKyAgICAgID46OnZhbHVlLFwKKyAgICAgIC8qIExocz09cG9pbnRlciBhbmQgUmhzPT1mdW5kYW1lbnRhbCBhbmQgUmhzIT1pbnRlZ3JhbCAqL1wKKyAgICAgIDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2VfYW5kPFwKKyAgICAgICAgIDo6bmRuYm9vc3Q6OmlzX3BvaW50ZXI8IExoc19ub3JlZiA+Ojp2YWx1ZSxcCisgICAgICAgICA6Om5kbmJvb3N0Ojppc19mdW5kYW1lbnRhbDwgUmhzX25vY3YgPjo6dmFsdWUsXAorICAgICAgICAgOjpuZG5ib29zdDo6dHlwZV90cmFpdHM6OmljZV9ub3Q8IDo6bmRuYm9vc3Q6OmlzX2ludGVncmFsPCBSaHNfbm9yZWYgPjo6dmFsdWUgPjo6dmFsdWVcCisgICAgICA+Ojp2YWx1ZSxcCisgICAgICAvKiBSaHM9PXBvaW50ZXIgYW5kIExocz09ZnVuZGFtZW50YWwgYW5kIExocyE9aW50ZWdyYWwgKi9cCisgICAgICA6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6aWNlX2FuZDxcCisgICAgICAgICA6Om5kbmJvb3N0Ojppc19wb2ludGVyPCBSaHNfbm9yZWYgPjo6dmFsdWUsXAorICAgICAgICAgOjpuZG5ib29zdDo6aXNfZnVuZGFtZW50YWw8IExoc19ub2N2ID46OnZhbHVlLFwKKyAgICAgICAgIDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2Vfbm90PCA6Om5kbmJvb3N0Ojppc19pbnRlZ3JhbDwgTGhzX25vcmVmID46OnZhbHVlID46OnZhbHVlXAorICAgICAgPjo6dmFsdWVcCisgICA+Ojp2YWx1ZQorCisKKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9kZXRhaWwvaGFzX2JpbmFyeV9vcGVyYXRvci5ocHA+CisKKyN1bmRlZiBCT09TVF9UVF9UUkFJVF9OQU1FCisjdW5kZWYgQk9PU1RfVFRfVFJBSVRfT1AKKyN1bmRlZiBCT09TVF9UVF9GT1JCSURERU5fSUYKKworI2VuZGlmCmRpZmYgLS1naXQgYS9uZG5ib29zdC90eXBlX3RyYWl0cy9oYXNfcGx1c19hc3NpZ24uaHBwIGIvbmRuYm9vc3QvdHlwZV90cmFpdHMvaGFzX3BsdXNfYXNzaWduLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kOTdkNDc3Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvdHlwZV90cmFpdHMvaGFzX3BsdXNfYXNzaWduLmhwcApAQCAtMCwwICsxLDY2IEBACisvLyAgKEMpIENvcHlyaWdodCAyMDA5LTIwMTEgRnJlZGVyaWMgQnJvbi4KKy8vCisvLyAgVXNlLCBtb2RpZmljYXRpb24gYW5kIGRpc3RyaWJ1dGlvbiBhcmUgc3ViamVjdCB0byB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwKKy8vICBWZXJzaW9uIDEuMC4gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdAorLy8gIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkuCisvLworLy8gIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL3R5cGVfdHJhaXRzIGZvciBtb3N0IHJlY2VudCB2ZXJzaW9uIGluY2x1ZGluZyBkb2N1bWVudGF0aW9uLgorCisjaWZuZGVmIEJPT1NUX1RUX0hBU19QTFVTX0FTU0lHTl9IUFBfSU5DTFVERUQKKyNkZWZpbmUgQk9PU1RfVFRfSEFTX1BMVVNfQVNTSUdOX0hQUF9JTkNMVURFRAorCisjZGVmaW5lIEJPT1NUX1RUX1RSQUlUX05BTUUgaGFzX3BsdXNfYXNzaWduCisjZGVmaW5lIEJPT1NUX1RUX1RSQUlUX09QICs9CisjZGVmaW5lIEJPT1NUX1RUX0ZPUkJJRERFTl9JRlwKKyAgIDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2Vfb3I8XAorICAgICAgLyogTGhzPT1wb2ludGVyIGFuZCBSaHM9PXBvaW50ZXIgKi9cCisgICAgICA6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6aWNlX2FuZDxcCisgICAgICAgICA6Om5kbmJvb3N0Ojppc19wb2ludGVyPCBMaHNfbm9yZWYgPjo6dmFsdWUsXAorICAgICAgICAgOjpuZG5ib29zdDo6aXNfcG9pbnRlcjwgUmhzX25vcmVmID46OnZhbHVlXAorICAgICAgPjo6dmFsdWUsXAorICAgICAgLyogTGhzPT12b2lkKiBhbmQgUmhzPT1mdW5kYW1lbnRhbCAqL1wKKyAgICAgIDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2VfYW5kPFwKKyAgICAgICAgIDo6bmRuYm9vc3Q6OmlzX3BvaW50ZXI8IExoc19ub3JlZiA+Ojp2YWx1ZSxcCisgICAgICAgICA6Om5kbmJvb3N0Ojppc192b2lkPCBMaHNfbm9wdHIgPjo6dmFsdWUsXAorICAgICAgICAgOjpuZG5ib29zdDo6aXNfZnVuZGFtZW50YWw8IFJoc19ub2N2ID46OnZhbHVlXAorICAgICAgPjo6dmFsdWUsXAorICAgICAgLyogUmhzPT12b2lkKiBhbmQgTGhzPT1mdW5kYW1lbnRhbCAqL1wKKyAgICAgIDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2VfYW5kPFwKKyAgICAgICAgIDo6bmRuYm9vc3Q6OmlzX3BvaW50ZXI8IFJoc19ub3JlZiA+Ojp2YWx1ZSxcCisgICAgICAgICA6Om5kbmJvb3N0Ojppc192b2lkPCBSaHNfbm9wdHIgPjo6dmFsdWUsXAorICAgICAgICAgOjpuZG5ib29zdDo6aXNfZnVuZGFtZW50YWw8IExoc19ub2N2ID46OnZhbHVlXAorICAgICAgPjo6dmFsdWUsXAorICAgICAgLyogTGhzPT1wb2ludGVyIGFuZCBSaHM9PWZ1bmRhbWVudGFsIGFuZCBSaHMhPWludGVncmFsICovXAorICAgICAgOjpuZG5ib29zdDo6dHlwZV90cmFpdHM6OmljZV9hbmQ8XAorICAgICAgICAgOjpuZG5ib29zdDo6aXNfcG9pbnRlcjwgTGhzX25vcmVmID46OnZhbHVlLFwKKyAgICAgICAgIDo6bmRuYm9vc3Q6OmlzX2Z1bmRhbWVudGFsPCBSaHNfbm9jdiA+Ojp2YWx1ZSxcCisgICAgICAgICA6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6aWNlX25vdDwgOjpuZG5ib29zdDo6aXNfaW50ZWdyYWw8IFJoc19ub3JlZiA+Ojp2YWx1ZSA+Ojp2YWx1ZVwKKyAgICAgID46OnZhbHVlLFwKKyAgICAgIC8qIFJocz09cG9pbnRlciBhbmQgTGhzPT1mdW5kYW1lbnRhbCBhbmQgTGhzIT1ib29sICovXAorICAgICAgOjpuZG5ib29zdDo6dHlwZV90cmFpdHM6OmljZV9hbmQ8XAorICAgICAgICAgOjpuZG5ib29zdDo6aXNfcG9pbnRlcjwgUmhzX25vcmVmID46OnZhbHVlLFwKKyAgICAgICAgIDo6bmRuYm9vc3Q6OmlzX2Z1bmRhbWVudGFsPCBMaHNfbm9jdiA+Ojp2YWx1ZSxcCisgICAgICAgICA6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6aWNlX25vdDwgOjpuZG5ib29zdDo6aXNfc2FtZTwgTGhzX25vY3YsIGJvb2wgPjo6dmFsdWUgPjo6dmFsdWVcCisgICAgICA+Ojp2YWx1ZSxcCisgICAgICAvKiAoTGhzPT1mdW5kYW1lbnRhbCBvciBMaHM9PXBvaW50ZXIpIGFuZCAoUmhzPT1mdW5kYW1lbnRhbCBvciBSaHM9PXBvaW50ZXIpIGFuZCAoTGhzPT1jb25zdCkgKi9cCisgICAgICA6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6aWNlX2FuZDxcCisgICAgICAgICA6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6aWNlX29yPFwKKyAgICAgICAgICAgIDo6bmRuYm9vc3Q6OmlzX2Z1bmRhbWVudGFsPCBMaHNfbm9jdiA+Ojp2YWx1ZSxcCisgICAgICAgICAgICA6Om5kbmJvb3N0Ojppc19wb2ludGVyPCBMaHNfbm9yZWYgPjo6dmFsdWVcCisgICAgICAgICA+Ojp2YWx1ZSxcCisgICAgICAgICA6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6aWNlX29yPFwKKyAgICAgICAgICAgIDo6bmRuYm9vc3Q6OmlzX2Z1bmRhbWVudGFsPCBSaHNfbm9jdiA+Ojp2YWx1ZSxcCisgICAgICAgICAgICA6Om5kbmJvb3N0Ojppc19wb2ludGVyPCBSaHNfbm9yZWYgPjo6dmFsdWVcCisgICAgICAgICA+Ojp2YWx1ZSxcCisgICAgICAgICA6Om5kbmJvb3N0Ojppc19jb25zdDwgTGhzX25vcmVmID46OnZhbHVlXAorICAgICAgPjo6dmFsdWVcCisgICA+Ojp2YWx1ZQorCisKKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9kZXRhaWwvaGFzX2JpbmFyeV9vcGVyYXRvci5ocHA+CisKKyN1bmRlZiBCT09TVF9UVF9UUkFJVF9OQU1FCisjdW5kZWYgQk9PU1RfVFRfVFJBSVRfT1AKKyN1bmRlZiBCT09TVF9UVF9GT1JCSURERU5fSUYKKworI2VuZGlmCmRpZmYgLS1naXQgYS9uZG5ib29zdC90eXBlX3RyYWl0cy9oYXNfcG9zdF9kZWNyZW1lbnQuaHBwIGIvbmRuYm9vc3QvdHlwZV90cmFpdHMvaGFzX3Bvc3RfZGVjcmVtZW50LmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZWNjZTZiCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvdHlwZV90cmFpdHMvaGFzX3Bvc3RfZGVjcmVtZW50LmhwcApAQCAtMCwwICsxLDQwIEBACisvLyAgKEMpIENvcHlyaWdodCAyMDA5LTIwMTEgRnJlZGVyaWMgQnJvbi4KKy8vCisvLyAgVXNlLCBtb2RpZmljYXRpb24gYW5kIGRpc3RyaWJ1dGlvbiBhcmUgc3ViamVjdCB0byB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwKKy8vICBWZXJzaW9uIDEuMC4gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdAorLy8gIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkuCisvLworLy8gIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL3R5cGVfdHJhaXRzIGZvciBtb3N0IHJlY2VudCB2ZXJzaW9uIGluY2x1ZGluZyBkb2N1bWVudGF0aW9uLgorCisjaWZuZGVmIEJPT1NUX1RUX0hBU19QT1NUX0RFQ1JFTUVOVF9IUFBfSU5DTFVERUQKKyNkZWZpbmUgQk9PU1RfVFRfSEFTX1BPU1RfREVDUkVNRU5UX0hQUF9JTkNMVURFRAorCisjZGVmaW5lIEJPT1NUX1RUX1RSQUlUX05BTUUgaGFzX3Bvc3RfZGVjcmVtZW50CisjZGVmaW5lIEJPT1NUX1RUX1RSQUlUX09QIC0tCisjZGVmaW5lIEJPT1NUX1RUX0ZPUkJJRERFTl9JRlwKKyAgIDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2Vfb3I8XAorICAgICAgLyogYm9vbCAqL1wKKyAgICAgIDo6bmRuYm9vc3Q6OmlzX3NhbWU8IGJvb2wsIExoc19ub2N2ID46OnZhbHVlLFwKKyAgICAgIC8qIHZvaWQqICovXAorICAgICAgOjpuZG5ib29zdDo6dHlwZV90cmFpdHM6OmljZV9hbmQ8XAorICAgICAgICAgOjpuZG5ib29zdDo6aXNfcG9pbnRlcjwgTGhzX25vcmVmID46OnZhbHVlLFwKKyAgICAgICAgIDo6bmRuYm9vc3Q6OmlzX3ZvaWQ8IExoc19ub3B0ciA+Ojp2YWx1ZVwKKyAgICAgID46OnZhbHVlLFwKKyAgICAgIC8qIChmdW5kYW1lbnRhbCBvciBwb2ludGVyKSBhbmQgY29uc3QgKi9cCisgICAgICA6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6aWNlX2FuZDxcCisgICAgICAgICA6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6aWNlX29yPFwKKyAgICAgICAgICAgIDo6bmRuYm9vc3Q6OmlzX2Z1bmRhbWVudGFsPCBMaHNfbm9jdiA+Ojp2YWx1ZSxcCisgICAgICAgICAgICA6Om5kbmJvb3N0Ojppc19wb2ludGVyPCBMaHNfbm9yZWYgPjo6dmFsdWVcCisgICAgICAgICA+Ojp2YWx1ZSxcCisgICAgICAgICA6Om5kbmJvb3N0Ojppc19jb25zdDwgTGhzX25vcmVmID46OnZhbHVlXAorICAgICAgPjo6dmFsdWVcCisgICA+Ojp2YWx1ZQorCisKKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9kZXRhaWwvaGFzX3Bvc3RmaXhfb3BlcmF0b3IuaHBwPgorCisjdW5kZWYgQk9PU1RfVFRfVFJBSVRfTkFNRQorI3VuZGVmIEJPT1NUX1RUX1RSQUlUX09QCisjdW5kZWYgQk9PU1RfVFRfRk9SQklEREVOX0lGCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvdHlwZV90cmFpdHMvaGFzX3Bvc3RfaW5jcmVtZW50LmhwcCBiL25kbmJvb3N0L3R5cGVfdHJhaXRzL2hhc19wb3N0X2luY3JlbWVudC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjliMmQ3MAotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L3R5cGVfdHJhaXRzL2hhc19wb3N0X2luY3JlbWVudC5ocHAKQEAgLTAsMCArMSw0MCBAQAorLy8gIChDKSBDb3B5cmlnaHQgMjAwOS0yMDExIEZyZWRlcmljIEJyb24uCisvLworLy8gIFVzZSwgbW9kaWZpY2F0aW9uIGFuZCBkaXN0cmlidXRpb24gYXJlIHN1YmplY3QgdG8gdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsCisvLyAgVmVyc2lvbiAxLjAuIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQKKy8vICBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpLgorLy8KKy8vICBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvbGlicy90eXBlX3RyYWl0cyBmb3IgbW9zdCByZWNlbnQgdmVyc2lvbiBpbmNsdWRpbmcgZG9jdW1lbnRhdGlvbi4KKworI2lmbmRlZiBCT09TVF9UVF9IQVNfUE9TVF9JTkNSRU1FTlRfSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX1RUX0hBU19QT1NUX0lOQ1JFTUVOVF9IUFBfSU5DTFVERUQKKworI2RlZmluZSBCT09TVF9UVF9UUkFJVF9OQU1FIGhhc19wb3N0X2luY3JlbWVudAorI2RlZmluZSBCT09TVF9UVF9UUkFJVF9PUCArKworI2RlZmluZSBCT09TVF9UVF9GT1JCSURERU5fSUZcCisgICA6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6aWNlX29yPFwKKyAgICAgIC8qIGJvb2wgKi9cCisgICAgICA6Om5kbmJvb3N0Ojppc19zYW1lPCBib29sLCBMaHNfbm9jdiA+Ojp2YWx1ZSxcCisgICAgICAvKiB2b2lkKiAqL1wKKyAgICAgIDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2VfYW5kPFwKKyAgICAgICAgIDo6bmRuYm9vc3Q6OmlzX3BvaW50ZXI8IExoc19ub3JlZiA+Ojp2YWx1ZSxcCisgICAgICAgICA6Om5kbmJvb3N0Ojppc192b2lkPCBMaHNfbm9wdHIgPjo6dmFsdWVcCisgICAgICA+Ojp2YWx1ZSxcCisgICAgICAvKiAoZnVuZGFtZW50YWwgb3IgcG9pbnRlcikgYW5kIGNvbnN0ICovXAorICAgICAgOjpuZG5ib29zdDo6dHlwZV90cmFpdHM6OmljZV9hbmQ8XAorICAgICAgICAgOjpuZG5ib29zdDo6dHlwZV90cmFpdHM6OmljZV9vcjxcCisgICAgICAgICAgICA6Om5kbmJvb3N0Ojppc19mdW5kYW1lbnRhbDwgTGhzX25vY3YgPjo6dmFsdWUsXAorICAgICAgICAgICAgOjpuZG5ib29zdDo6aXNfcG9pbnRlcjwgTGhzX25vcmVmID46OnZhbHVlXAorICAgICAgICAgPjo6dmFsdWUsXAorICAgICAgICAgOjpuZG5ib29zdDo6aXNfY29uc3Q8IExoc19ub3JlZiA+Ojp2YWx1ZVwKKyAgICAgID46OnZhbHVlXAorICAgPjo6dmFsdWUKKworCisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvZGV0YWlsL2hhc19wb3N0Zml4X29wZXJhdG9yLmhwcD4KKworI3VuZGVmIEJPT1NUX1RUX1RSQUlUX05BTUUKKyN1bmRlZiBCT09TVF9UVF9UUkFJVF9PUAorI3VuZGVmIEJPT1NUX1RUX0ZPUkJJRERFTl9JRgorCisjZW5kaWYKZGlmZiAtLWdpdCBhL25kbmJvb3N0L3R5cGVfdHJhaXRzL2hhc19wcmVfZGVjcmVtZW50LmhwcCBiL25kbmJvb3N0L3R5cGVfdHJhaXRzL2hhc19wcmVfZGVjcmVtZW50LmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zM2ViYjhjCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvdHlwZV90cmFpdHMvaGFzX3ByZV9kZWNyZW1lbnQuaHBwCkBAIC0wLDAgKzEsNDAgQEAKKy8vICAoQykgQ29weXJpZ2h0IDIwMDktMjAxMSBGcmVkZXJpYyBCcm9uLgorLy8KKy8vICBVc2UsIG1vZGlmaWNhdGlvbiBhbmQgZGlzdHJpYnV0aW9uIGFyZSBzdWJqZWN0IHRvIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLAorLy8gIFZlcnNpb24gMS4wLiAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0CisvLyAgaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KS4KKy8vCisvLyAgU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL2xpYnMvdHlwZV90cmFpdHMgZm9yIG1vc3QgcmVjZW50IHZlcnNpb24gaW5jbHVkaW5nIGRvY3VtZW50YXRpb24uCisKKyNpZm5kZWYgQk9PU1RfVFRfSEFTX1BSRV9ERUNSRU1FTlRfSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX1RUX0hBU19QUkVfREVDUkVNRU5UX0hQUF9JTkNMVURFRAorCisjZGVmaW5lIEJPT1NUX1RUX1RSQUlUX05BTUUgaGFzX3ByZV9kZWNyZW1lbnQKKyNkZWZpbmUgQk9PU1RfVFRfVFJBSVRfT1AgLS0KKyNkZWZpbmUgQk9PU1RfVFRfRk9SQklEREVOX0lGXAorICAgOjpuZG5ib29zdDo6dHlwZV90cmFpdHM6OmljZV9vcjxcCisgICAgICAvKiBib29sICovXAorICAgICAgOjpuZG5ib29zdDo6aXNfc2FtZTwgYm9vbCwgUmhzX25vY3YgPjo6dmFsdWUsXAorICAgICAgLyogdm9pZCogKi9cCisgICAgICA6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6aWNlX2FuZDxcCisgICAgICAgICA6Om5kbmJvb3N0Ojppc19wb2ludGVyPCBSaHNfbm9yZWYgPjo6dmFsdWUsXAorICAgICAgICAgOjpuZG5ib29zdDo6aXNfdm9pZDwgUmhzX25vcHRyID46OnZhbHVlXAorICAgICAgPjo6dmFsdWUsXAorICAgICAgLyogKGZ1bmRhbWVudGFsIG9yIHBvaW50ZXIpIGFuZCBjb25zdCAqL1wKKyAgICAgIDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2VfYW5kPFwKKyAgICAgICAgIDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2Vfb3I8XAorICAgICAgICAgICAgOjpuZG5ib29zdDo6aXNfZnVuZGFtZW50YWw8IFJoc19ub2N2ID46OnZhbHVlLFwKKyAgICAgICAgICAgIDo6bmRuYm9vc3Q6OmlzX3BvaW50ZXI8IFJoc19ub3JlZiA+Ojp2YWx1ZVwKKyAgICAgICAgID46OnZhbHVlLFwKKyAgICAgICAgIDo6bmRuYm9vc3Q6OmlzX2NvbnN0PCBSaHNfbm9yZWYgPjo6dmFsdWVcCisgICAgICA+Ojp2YWx1ZVwKKyAgID46OnZhbHVlCisKKworI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2RldGFpbC9oYXNfcHJlZml4X29wZXJhdG9yLmhwcD4KKworI3VuZGVmIEJPT1NUX1RUX1RSQUlUX05BTUUKKyN1bmRlZiBCT09TVF9UVF9UUkFJVF9PUAorI3VuZGVmIEJPT1NUX1RUX0ZPUkJJRERFTl9JRgorCisjZW5kaWYKZGlmZiAtLWdpdCBhL25kbmJvb3N0L3R5cGVfdHJhaXRzL2hhc19wcmVfaW5jcmVtZW50LmhwcCBiL25kbmJvb3N0L3R5cGVfdHJhaXRzL2hhc19wcmVfaW5jcmVtZW50LmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNmFlMmIxCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvdHlwZV90cmFpdHMvaGFzX3ByZV9pbmNyZW1lbnQuaHBwCkBAIC0wLDAgKzEsNDAgQEAKKy8vICAoQykgQ29weXJpZ2h0IDIwMDktMjAxMSBGcmVkZXJpYyBCcm9uLgorLy8KKy8vICBVc2UsIG1vZGlmaWNhdGlvbiBhbmQgZGlzdHJpYnV0aW9uIGFyZSBzdWJqZWN0IHRvIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLAorLy8gIFZlcnNpb24gMS4wLiAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0CisvLyAgaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KS4KKy8vCisvLyAgU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL2xpYnMvdHlwZV90cmFpdHMgZm9yIG1vc3QgcmVjZW50IHZlcnNpb24gaW5jbHVkaW5nIGRvY3VtZW50YXRpb24uCisKKyNpZm5kZWYgQk9PU1RfVFRfSEFTX1BSRV9JTkNSRU1FTlRfSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX1RUX0hBU19QUkVfSU5DUkVNRU5UX0hQUF9JTkNMVURFRAorCisjZGVmaW5lIEJPT1NUX1RUX1RSQUlUX05BTUUgaGFzX3ByZV9pbmNyZW1lbnQKKyNkZWZpbmUgQk9PU1RfVFRfVFJBSVRfT1AgKysKKyNkZWZpbmUgQk9PU1RfVFRfRk9SQklEREVOX0lGXAorICAgOjpuZG5ib29zdDo6dHlwZV90cmFpdHM6OmljZV9vcjxcCisgICAgICAvKiBib29sICovXAorICAgICAgOjpuZG5ib29zdDo6aXNfc2FtZTwgYm9vbCwgUmhzX25vY3YgPjo6dmFsdWUsXAorICAgICAgLyogdm9pZCogKi9cCisgICAgICA6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6aWNlX2FuZDxcCisgICAgICAgICA6Om5kbmJvb3N0Ojppc19wb2ludGVyPCBSaHNfbm9yZWYgPjo6dmFsdWUsXAorICAgICAgICAgOjpuZG5ib29zdDo6aXNfdm9pZDwgUmhzX25vcHRyID46OnZhbHVlXAorICAgICAgPjo6dmFsdWUsXAorICAgICAgLyogKGZ1bmRhbWVudGFsIG9yIHBvaW50ZXIpIGFuZCBjb25zdCAqL1wKKyAgICAgIDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2VfYW5kPFwKKyAgICAgICAgIDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2Vfb3I8XAorICAgICAgICAgICAgOjpuZG5ib29zdDo6aXNfZnVuZGFtZW50YWw8IFJoc19ub2N2ID46OnZhbHVlLFwKKyAgICAgICAgICAgIDo6bmRuYm9vc3Q6OmlzX3BvaW50ZXI8IFJoc19ub3JlZiA+Ojp2YWx1ZVwKKyAgICAgICAgID46OnZhbHVlLFwKKyAgICAgICAgIDo6bmRuYm9vc3Q6OmlzX2NvbnN0PCBSaHNfbm9yZWYgPjo6dmFsdWVcCisgICAgICA+Ojp2YWx1ZVwKKyAgID46OnZhbHVlCisKKworI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2RldGFpbC9oYXNfcHJlZml4X29wZXJhdG9yLmhwcD4KKworI3VuZGVmIEJPT1NUX1RUX1RSQUlUX05BTUUKKyN1bmRlZiBCT09TVF9UVF9UUkFJVF9PUAorI3VuZGVmIEJPT1NUX1RUX0ZPUkJJRERFTl9JRgorCisjZW5kaWYKZGlmZiAtLWdpdCBhL25kbmJvb3N0L3R5cGVfdHJhaXRzL2hhc19yaWdodF9zaGlmdC5ocHAgYi9uZG5ib29zdC90eXBlX3RyYWl0cy9oYXNfcmlnaHRfc2hpZnQuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEyOWM0N2EKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC90eXBlX3RyYWl0cy9oYXNfcmlnaHRfc2hpZnQuaHBwCkBAIC0wLDAgKzEsNDkgQEAKKy8vICAoQykgQ29weXJpZ2h0IDIwMDktMjAxMSBGcmVkZXJpYyBCcm9uLgorLy8KKy8vICBVc2UsIG1vZGlmaWNhdGlvbiBhbmQgZGlzdHJpYnV0aW9uIGFyZSBzdWJqZWN0IHRvIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLAorLy8gIFZlcnNpb24gMS4wLiAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0CisvLyAgaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KS4KKy8vCisvLyAgU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL2xpYnMvdHlwZV90cmFpdHMgZm9yIG1vc3QgcmVjZW50IHZlcnNpb24gaW5jbHVkaW5nIGRvY3VtZW50YXRpb24uCisKKyNpZm5kZWYgQk9PU1RfVFRfSEFTX1JJR0hUX1NISUZUX0hQUF9JTkNMVURFRAorI2RlZmluZSBCT09TVF9UVF9IQVNfUklHSFRfU0hJRlRfSFBQX0lOQ0xVREVECisKKyNkZWZpbmUgQk9PU1RfVFRfVFJBSVRfTkFNRSBoYXNfcmlnaHRfc2hpZnQKKyNkZWZpbmUgQk9PU1RfVFRfVFJBSVRfT1AgPj4KKyNkZWZpbmUgQk9PU1RfVFRfRk9SQklEREVOX0lGXAorICAgOjpuZG5ib29zdDo6dHlwZV90cmFpdHM6OmljZV9vcjxcCisgICAgICAvKiBMaHM9PWZ1bmRhbWVudGFsIGFuZCBSaHM9PWZ1bmRhbWVudGFsIGFuZCAoTGhzIT1pbnRlZ3JhbCBvciBSaHMhPWludGVncmFsKSAqL1wKKyAgICAgIDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2VfYW5kPFwKKyAgICAgICAgIDo6bmRuYm9vc3Q6OmlzX2Z1bmRhbWVudGFsPCBMaHNfbm9jdiA+Ojp2YWx1ZSxcCisgICAgICAgICA6Om5kbmJvb3N0Ojppc19mdW5kYW1lbnRhbDwgUmhzX25vY3YgPjo6dmFsdWUsXAorICAgICAgICAgOjpuZG5ib29zdDo6dHlwZV90cmFpdHM6OmljZV9vcjxcCisgICAgICAgICAgICA6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6aWNlX25vdDwgOjpuZG5ib29zdDo6aXNfaW50ZWdyYWw8IExoc19ub3JlZiA+Ojp2YWx1ZSA+Ojp2YWx1ZSxcCisgICAgICAgICAgICA6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6aWNlX25vdDwgOjpuZG5ib29zdDo6aXNfaW50ZWdyYWw8IFJoc19ub3JlZiA+Ojp2YWx1ZSA+Ojp2YWx1ZVwKKyAgICAgICAgID46OnZhbHVlXAorICAgICAgPjo6dmFsdWUsXAorICAgICAgLyogTGhzPT1mdW5kYW1lbnRhbCBhbmQgUmhzPT1wb2ludGVyICovXAorICAgICAgOjpuZG5ib29zdDo6dHlwZV90cmFpdHM6OmljZV9hbmQ8XAorICAgICAgICAgOjpuZG5ib29zdDo6aXNfZnVuZGFtZW50YWw8IExoc19ub2N2ID46OnZhbHVlLFwKKyAgICAgICAgIDo6bmRuYm9vc3Q6OmlzX3BvaW50ZXI8IFJoc19ub3JlZiA+Ojp2YWx1ZVwKKyAgICAgID46OnZhbHVlLFwKKyAgICAgIC8qIFJocz09ZnVuZGFtZW50YWwgYW5kIExocz09cG9pbnRlciAqL1wKKyAgICAgIDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2VfYW5kPFwKKyAgICAgICAgIDo6bmRuYm9vc3Q6OmlzX2Z1bmRhbWVudGFsPCBSaHNfbm9jdiA+Ojp2YWx1ZSxcCisgICAgICAgICA6Om5kbmJvb3N0Ojppc19wb2ludGVyPCBMaHNfbm9yZWYgPjo6dmFsdWVcCisgICAgICA+Ojp2YWx1ZSxcCisgICAgICAvKiBMaHM9PXBvaW50ZXIgYW5kIFJocz09cG9pbnRlciAqL1wKKyAgICAgIDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2VfYW5kPFwKKyAgICAgICAgIDo6bmRuYm9vc3Q6OmlzX3BvaW50ZXI8IExoc19ub3JlZiA+Ojp2YWx1ZSxcCisgICAgICAgICA6Om5kbmJvb3N0Ojppc19wb2ludGVyPCBSaHNfbm9yZWYgPjo6dmFsdWVcCisgICAgICA+Ojp2YWx1ZVwKKyAgID46OnZhbHVlCisKKworI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2RldGFpbC9oYXNfYmluYXJ5X29wZXJhdG9yLmhwcD4KKworI3VuZGVmIEJPT1NUX1RUX1RSQUlUX05BTUUKKyN1bmRlZiBCT09TVF9UVF9UUkFJVF9PUAorI3VuZGVmIEJPT1NUX1RUX0ZPUkJJRERFTl9JRgorCisjZW5kaWYKZGlmZiAtLWdpdCBhL25kbmJvb3N0L3R5cGVfdHJhaXRzL2hhc19yaWdodF9zaGlmdF9hc3NpZ24uaHBwIGIvbmRuYm9vc3QvdHlwZV90cmFpdHMvaGFzX3JpZ2h0X3NoaWZ0X2Fzc2lnbi5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGM2NTY1YwotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L3R5cGVfdHJhaXRzL2hhc19yaWdodF9zaGlmdF9hc3NpZ24uaHBwCkBAIC0wLDAgKzEsNTUgQEAKKy8vICAoQykgQ29weXJpZ2h0IDIwMDktMjAxMSBGcmVkZXJpYyBCcm9uLgorLy8KKy8vICBVc2UsIG1vZGlmaWNhdGlvbiBhbmQgZGlzdHJpYnV0aW9uIGFyZSBzdWJqZWN0IHRvIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLAorLy8gIFZlcnNpb24gMS4wLiAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0CisvLyAgaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KS4KKy8vCisvLyAgU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL2xpYnMvdHlwZV90cmFpdHMgZm9yIG1vc3QgcmVjZW50IHZlcnNpb24gaW5jbHVkaW5nIGRvY3VtZW50YXRpb24uCisKKyNpZm5kZWYgQk9PU1RfVFRfSEFTX1JJR0hUX1NISUZUX0FTU0lHTl9IUFBfSU5DTFVERUQKKyNkZWZpbmUgQk9PU1RfVFRfSEFTX1JJR0hUX1NISUZUX0FTU0lHTl9IUFBfSU5DTFVERUQKKworI2RlZmluZSBCT09TVF9UVF9UUkFJVF9OQU1FIGhhc19yaWdodF9zaGlmdF9hc3NpZ24KKyNkZWZpbmUgQk9PU1RfVFRfVFJBSVRfT1AgPj49CisjZGVmaW5lIEJPT1NUX1RUX0ZPUkJJRERFTl9JRlwKKyAgIDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2Vfb3I8XAorICAgICAgLyogTGhzPT1mdW5kYW1lbnRhbCBhbmQgUmhzPT1mdW5kYW1lbnRhbCBhbmQgKExocyE9aW50ZWdyYWwgb3IgUmhzIT1pbnRlZ3JhbCkgKi9cCisgICAgICA6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6aWNlX2FuZDxcCisgICAgICAgICA6Om5kbmJvb3N0Ojppc19mdW5kYW1lbnRhbDwgTGhzX25vY3YgPjo6dmFsdWUsXAorICAgICAgICAgOjpuZG5ib29zdDo6aXNfZnVuZGFtZW50YWw8IFJoc19ub2N2ID46OnZhbHVlLFwKKyAgICAgICAgIDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2Vfb3I8XAorICAgICAgICAgICAgOjpuZG5ib29zdDo6dHlwZV90cmFpdHM6OmljZV9ub3Q8IDo6bmRuYm9vc3Q6OmlzX2ludGVncmFsPCBMaHNfbm9yZWYgPjo6dmFsdWUgPjo6dmFsdWUsXAorICAgICAgICAgICAgOjpuZG5ib29zdDo6dHlwZV90cmFpdHM6OmljZV9ub3Q8IDo6bmRuYm9vc3Q6OmlzX2ludGVncmFsPCBSaHNfbm9yZWYgPjo6dmFsdWUgPjo6dmFsdWVcCisgICAgICAgICA+Ojp2YWx1ZVwKKyAgICAgID46OnZhbHVlLFwKKyAgICAgIC8qIExocz09ZnVuZGFtZW50YWwgYW5kIFJocz09cG9pbnRlciAqL1wKKyAgICAgIDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2VfYW5kPFwKKyAgICAgICAgIDo6bmRuYm9vc3Q6OmlzX2Z1bmRhbWVudGFsPCBMaHNfbm9jdiA+Ojp2YWx1ZSxcCisgICAgICAgICA6Om5kbmJvb3N0Ojppc19wb2ludGVyPCBSaHNfbm9yZWYgPjo6dmFsdWVcCisgICAgICA+Ojp2YWx1ZSxcCisgICAgICAvKiBSaHM9PWZ1bmRhbWVudGFsIGFuZCBMaHM9PXBvaW50ZXIgKi9cCisgICAgICA6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6aWNlX2FuZDxcCisgICAgICAgICA6Om5kbmJvb3N0Ojppc19mdW5kYW1lbnRhbDwgUmhzX25vY3YgPjo6dmFsdWUsXAorICAgICAgICAgOjpuZG5ib29zdDo6aXNfcG9pbnRlcjwgTGhzX25vcmVmID46OnZhbHVlXAorICAgICAgPjo6dmFsdWUsXAorICAgICAgLyogTGhzPT1wb2ludGVyIGFuZCBSaHM9PXBvaW50ZXIgKi9cCisgICAgICA6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6aWNlX2FuZDxcCisgICAgICAgICA6Om5kbmJvb3N0Ojppc19wb2ludGVyPCBMaHNfbm9yZWYgPjo6dmFsdWUsXAorICAgICAgICAgOjpuZG5ib29zdDo6aXNfcG9pbnRlcjwgUmhzX25vcmVmID46OnZhbHVlXAorICAgICAgPjo6dmFsdWUsXAorICAgICAgLyogTGhzPT1mdW5kYW1lbnRhbCBhbmQgUmhzPT1mdW5kYW1lbnRhbCBhbmQgTGhzPT1jb25zdCAqL1wKKyAgICAgIDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2VfYW5kPFwKKyAgICAgICAgIDo6bmRuYm9vc3Q6OmlzX2Z1bmRhbWVudGFsPCBMaHNfbm9jdiA+Ojp2YWx1ZSxcCisgICAgICAgICA6Om5kbmJvb3N0Ojppc19mdW5kYW1lbnRhbDwgUmhzX25vY3YgPjo6dmFsdWUsXAorICAgICAgICAgOjpuZG5ib29zdDo6aXNfY29uc3Q8IExoc19ub3JlZiA+Ojp2YWx1ZVwKKyAgICAgID46OnZhbHVlXAorICAgPjo6dmFsdWUKKworCisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvZGV0YWlsL2hhc19iaW5hcnlfb3BlcmF0b3IuaHBwPgorCisjdW5kZWYgQk9PU1RfVFRfVFJBSVRfTkFNRQorI3VuZGVmIEJPT1NUX1RUX1RSQUlUX09QCisjdW5kZWYgQk9PU1RfVFRfRk9SQklEREVOX0lGCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvdHlwZV90cmFpdHMvaGFzX3RyaXZpYWxfYXNzaWduLmhwcCBiL25kbmJvb3N0L3R5cGVfdHJhaXRzL2hhc190cml2aWFsX2Fzc2lnbi5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjIyZjc0NwotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L3R5cGVfdHJhaXRzL2hhc190cml2aWFsX2Fzc2lnbi5ocHAKQEAgLTAsMCArMSw1NyBAQAorCisvLyAgKEMpIENvcHlyaWdodCBTdGV2ZSBDbGVhcnksIEJlbWFuIERhd2VzLCBIb3dhcmQgSGlubmFudCAmIEpvaG4gTWFkZG9jayAyMDAwLgorLy8gIFVzZSwgbW9kaWZpY2F0aW9uIGFuZCBkaXN0cmlidXRpb24gYXJlIHN1YmplY3QgdG8gdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsCisvLyAgVmVyc2lvbiAxLjAuIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQKKy8vICBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpLgorLy8KKy8vICBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvbGlicy90eXBlX3RyYWl0cyBmb3IgbW9zdCByZWNlbnQgdmVyc2lvbiBpbmNsdWRpbmcgZG9jdW1lbnRhdGlvbi4KKworI2lmbmRlZiBCT09TVF9UVF9IQVNfVFJJVklBTF9BU1NJR05fSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX1RUX0hBU19UUklWSUFMX0FTU0lHTl9IUFBfSU5DTFVERUQKKworI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2NvbmZpZy5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvaW50cmluc2ljcy5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvaXNfcG9kLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9pc19jb25zdC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvaXNfdm9sYXRpbGUuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2RldGFpbC9pY2VfYW5kLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9kZXRhaWwvaWNlX29yLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9kZXRhaWwvaWNlX25vdC5ocHA+CisKKy8vIHNob3VsZCBiZSB0aGUgbGFzdCAjaW5jbHVkZQorI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2RldGFpbC9ib29sX3RyYWl0X2RlZi5ocHA+CisKK25hbWVzcGFjZSBuZG5ib29zdCB7CisKK25hbWVzcGFjZSBkZXRhaWwgeworCit0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KK3N0cnVjdCBoYXNfdHJpdmlhbF9hc3NpZ25faW1wbAoreworI2lmZGVmIEJPT1NUX0hBU19UUklWSUFMX0FTU0lHTgorICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGJvb2wsIHZhbHVlID0gQk9PU1RfSEFTX1RSSVZJQUxfQVNTSUdOKFQpKTsKKyNlbHNlCisgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoYm9vbCwgdmFsdWUgPQorICAgICAgKDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2VfYW5kPAorICAgICAgICA6Om5kbmJvb3N0Ojppc19wb2Q8VD46OnZhbHVlLAorICAgICAgICA6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6aWNlX25vdDwgOjpuZG5ib29zdDo6aXNfY29uc3Q8VD46OnZhbHVlID46OnZhbHVlLAorICAgICAgOjpuZG5ib29zdDo6dHlwZV90cmFpdHM6OmljZV9ub3Q8IDo6bmRuYm9vc3Q6OmlzX3ZvbGF0aWxlPFQ+Ojp2YWx1ZSA+Ojp2YWx1ZQorICAgICAgPjo6dmFsdWUpKTsKKyNlbmRpZgorfTsKKworfSAvLyBuYW1lc3BhY2UgZGV0YWlsCisKK0JPT1NUX1RUX0FVWF9CT09MX1RSQUlUX0RFRjEoaGFzX3RyaXZpYWxfYXNzaWduLFQsOjpuZG5ib29zdDo6ZGV0YWlsOjpoYXNfdHJpdmlhbF9hc3NpZ25faW1wbDxUPjo6dmFsdWUpCitCT09TVF9UVF9BVVhfQk9PTF9UUkFJVF9TUEVDMShoYXNfdHJpdmlhbF9hc3NpZ24sdm9pZCxmYWxzZSkKKyNpZm5kZWYgQk9PU1RfTk9fQ1ZfVk9JRF9TUEVDSUFMSVpBVElPTlMKK0JPT1NUX1RUX0FVWF9CT09MX1RSQUlUX1NQRUMxKGhhc190cml2aWFsX2Fzc2lnbix2b2lkIGNvbnN0LGZhbHNlKQorQk9PU1RfVFRfQVVYX0JPT0xfVFJBSVRfU1BFQzEoaGFzX3RyaXZpYWxfYXNzaWduLHZvaWQgY29uc3Qgdm9sYXRpbGUsZmFsc2UpCitCT09TVF9UVF9BVVhfQk9PTF9UUkFJVF9TUEVDMShoYXNfdHJpdmlhbF9hc3NpZ24sdm9pZCB2b2xhdGlsZSxmYWxzZSkKKyNlbmRpZgorCit9IC8vIG5hbWVzcGFjZSBuZG5ib29zdAorCisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvZGV0YWlsL2Jvb2xfdHJhaXRfdW5kZWYuaHBwPgorCisjZW5kaWYgLy8gQk9PU1RfVFRfSEFTX1RSSVZJQUxfQVNTSUdOX0hQUF9JTkNMVURFRApkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvdHlwZV90cmFpdHMvaGFzX3RyaXZpYWxfY29weS5ocHAgYi9uZG5ib29zdC90eXBlX3RyYWl0cy9oYXNfdHJpdmlhbF9jb3B5LmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hZmE2ZjE0Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvdHlwZV90cmFpdHMvaGFzX3RyaXZpYWxfY29weS5ocHAKQEAgLTAsMCArMSw2NCBAQAorCisvLyAgKEMpIENvcHlyaWdodCBTdGV2ZSBDbGVhcnksIEJlbWFuIERhd2VzLCBIb3dhcmQgSGlubmFudCAmIEpvaG4gTWFkZG9jayAyMDAwLgorLy8gIFVzZSwgbW9kaWZpY2F0aW9uIGFuZCBkaXN0cmlidXRpb24gYXJlIHN1YmplY3QgdG8gdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsCisvLyAgVmVyc2lvbiAxLjAuIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQKKy8vICBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpLgorLy8KKy8vICBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvbGlicy90eXBlX3RyYWl0cyBmb3IgbW9zdCByZWNlbnQgdmVyc2lvbiBpbmNsdWRpbmcgZG9jdW1lbnRhdGlvbi4KKworI2lmbmRlZiBCT09TVF9UVF9IQVNfVFJJVklBTF9DT1BZX0hQUF9JTkNMVURFRAorI2RlZmluZSBCT09TVF9UVF9IQVNfVFJJVklBTF9DT1BZX0hQUF9JTkNMVURFRAorCisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvY29uZmlnLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9pbnRyaW5zaWNzLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9pc192b2xhdGlsZS5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvaXNfcG9kLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9kZXRhaWwvaWNlX2FuZC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvZGV0YWlsL2ljZV9vci5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvZGV0YWlsL2ljZV9ub3QuaHBwPgorCisvLyBzaG91bGQgYmUgdGhlIGxhc3QgI2luY2x1ZGUKKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9kZXRhaWwvYm9vbF90cmFpdF9kZWYuaHBwPgorCituYW1lc3BhY2UgbmRuYm9vc3QgeworCituYW1lc3BhY2UgZGV0YWlsIHsKKwordGVtcGxhdGUgPHR5cGVuYW1lIFQ+CitzdHJ1Y3QgaGFzX3RyaXZpYWxfY29weV9pbXBsCit7CisjaWZkZWYgQk9PU1RfSEFTX1RSSVZJQUxfQ09QWQorICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGJvb2wsIHZhbHVlID0gQk9PU1RfSEFTX1RSSVZJQUxfQ09QWShUKSk7CisjZWxzZQorICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGJvb2wsIHZhbHVlID0KKyAgICAgICg6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6aWNlX2FuZDwKKyAgICAgICAgIDo6bmRuYm9vc3Q6OmlzX3BvZDxUPjo6dmFsdWUsCisgICAgICAgICA6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6aWNlX25vdDwgOjpuZG5ib29zdDo6aXNfdm9sYXRpbGU8VD46OnZhbHVlID46OnZhbHVlCisgICAgICA+Ojp2YWx1ZSkpOworI2VuZGlmCit9OworCit9IC8vIG5hbWVzcGFjZSBkZXRhaWwKKworQk9PU1RfVFRfQVVYX0JPT0xfVFJBSVRfREVGMShoYXNfdHJpdmlhbF9jb3B5LFQsOjpuZG5ib29zdDo6ZGV0YWlsOjpoYXNfdHJpdmlhbF9jb3B5X2ltcGw8VD46OnZhbHVlKQorQk9PU1RfVFRfQVVYX0JPT0xfVFJBSVRfREVGMShoYXNfdHJpdmlhbF9jb3B5X2NvbnN0cnVjdG9yLFQsOjpuZG5ib29zdDo6ZGV0YWlsOjpoYXNfdHJpdmlhbF9jb3B5X2ltcGw8VD46OnZhbHVlKQorCitCT09TVF9UVF9BVVhfQk9PTF9UUkFJVF9TUEVDMShoYXNfdHJpdmlhbF9jb3B5LHZvaWQsZmFsc2UpCisjaWZuZGVmIEJPT1NUX05PX0NWX1ZPSURfU1BFQ0lBTElaQVRJT05TCitCT09TVF9UVF9BVVhfQk9PTF9UUkFJVF9TUEVDMShoYXNfdHJpdmlhbF9jb3B5LHZvaWQgY29uc3QsZmFsc2UpCitCT09TVF9UVF9BVVhfQk9PTF9UUkFJVF9TUEVDMShoYXNfdHJpdmlhbF9jb3B5LHZvaWQgY29uc3Qgdm9sYXRpbGUsZmFsc2UpCitCT09TVF9UVF9BVVhfQk9PTF9UUkFJVF9TUEVDMShoYXNfdHJpdmlhbF9jb3B5LHZvaWQgdm9sYXRpbGUsZmFsc2UpCisjZW5kaWYKKworQk9PU1RfVFRfQVVYX0JPT0xfVFJBSVRfU1BFQzEoaGFzX3RyaXZpYWxfY29weV9jb25zdHJ1Y3Rvcix2b2lkLGZhbHNlKQorI2lmbmRlZiBCT09TVF9OT19DVl9WT0lEX1NQRUNJQUxJWkFUSU9OUworQk9PU1RfVFRfQVVYX0JPT0xfVFJBSVRfU1BFQzEoaGFzX3RyaXZpYWxfY29weV9jb25zdHJ1Y3Rvcix2b2lkIGNvbnN0LGZhbHNlKQorQk9PU1RfVFRfQVVYX0JPT0xfVFJBSVRfU1BFQzEoaGFzX3RyaXZpYWxfY29weV9jb25zdHJ1Y3Rvcix2b2lkIGNvbnN0IHZvbGF0aWxlLGZhbHNlKQorQk9PU1RfVFRfQVVYX0JPT0xfVFJBSVRfU1BFQzEoaGFzX3RyaXZpYWxfY29weV9jb25zdHJ1Y3Rvcix2b2lkIHZvbGF0aWxlLGZhbHNlKQorI2VuZGlmCisKK30gLy8gbmFtZXNwYWNlIG5kbmJvb3N0CisKKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9kZXRhaWwvYm9vbF90cmFpdF91bmRlZi5ocHA+CisKKyNlbmRpZiAvLyBCT09TVF9UVF9IQVNfVFJJVklBTF9DT1BZX0hQUF9JTkNMVURFRApkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvdHlwZV90cmFpdHMvaGFzX3RyaXZpYWxfbW92ZV9hc3NpZ24uaHBwIGIvbmRuYm9vc3QvdHlwZV90cmFpdHMvaGFzX3RyaXZpYWxfbW92ZV9hc3NpZ24uaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI3NTNkNzQKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC90eXBlX3RyYWl0cy9oYXNfdHJpdmlhbF9tb3ZlX2Fzc2lnbi5ocHAKQEAgLTAsMCArMSw1NyBAQAorCisvLyAgKEMpIENvcHlyaWdodCBTdGV2ZSBDbGVhcnksIEJlbWFuIERhd2VzLCBIb3dhcmQgSGlubmFudCAmIEpvaG4gTWFkZG9jayAyMDAwLgorLy8gIChDKSBDb3B5cmlnaHQgRXJpYyBGcmllZG1hbiAyMDAyLTIwMDMuCisvLyAgKEMpIENvcHlyaWdodCBBbnRvbnkgUG9sdWtoaW4gMjAxMy4KKy8vICBVc2UsIG1vZGlmaWNhdGlvbiBhbmQgZGlzdHJpYnV0aW9uIGFyZSBzdWJqZWN0IHRvIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLAorLy8gIFZlcnNpb24gMS4wLiAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0CisvLyAgaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KS4KKy8vCisvLyAgU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL2xpYnMvdHlwZV90cmFpdHMgZm9yIG1vc3QgcmVjZW50IHZlcnNpb24gaW5jbHVkaW5nIGRvY3VtZW50YXRpb24uCisKKyNpZm5kZWYgQk9PU1RfVFRfSEFTX1RSSVZJQUxfTU9WRV9BU1NJR05fSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX1RUX0hBU19UUklWSUFMX01PVkVfQVNTSUdOX0hQUF9JTkNMVURFRAorCisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvY29uZmlnLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9pc19wb2QuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2lzX2NvbnN0LmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9pc192b2xhdGlsZS5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvZGV0YWlsL2ljZV9hbmQuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2RldGFpbC9pY2Vfbm90LmhwcD4KKworLy8gc2hvdWxkIGJlIHRoZSBsYXN0ICNpbmNsdWRlCisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvZGV0YWlsL2Jvb2xfdHJhaXRfZGVmLmhwcD4KKworbmFtZXNwYWNlIG5kbmJvb3N0IHsKKworbmFtZXNwYWNlIGRldGFpbCB7CisKK3RlbXBsYXRlIDx0eXBlbmFtZSBUPgorc3RydWN0IGhhc190cml2aWFsX21vdmVfYXNzaWduX2ltcGwKK3sKKyNpZmRlZiBCT09TVF9IQVNfVFJJVklBTF9NT1ZFX0FTU0lHTgorICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGJvb2wsIHZhbHVlID0gKEJPT1NUX0hBU19UUklWSUFMX01PVkVfQVNTSUdOKFQpKSk7CisjZWxzZQorICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGJvb2wsIHZhbHVlID0KKyAgICAgICAgICAgKDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2VfYW5kPAorICAgICAgICAgICAgICA6Om5kbmJvb3N0Ojppc19wb2Q8VD46OnZhbHVlLAorICAgICAgICAgICAgICA6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6aWNlX25vdDwgOjpuZG5ib29zdDo6aXNfY29uc3Q8VD46OnZhbHVlID46OnZhbHVlLAorICAgICAgICAgICAgICA6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6aWNlX25vdDwgOjpuZG5ib29zdDo6aXNfdm9sYXRpbGU8VD46OnZhbHVlID46OnZhbHVlCisgICAgICAgICAgID46OnZhbHVlKSk7CisjZW5kaWYKK307CisKK30gLy8gbmFtZXNwYWNlIGRldGFpbAorCitCT09TVF9UVF9BVVhfQk9PTF9UUkFJVF9ERUYxKGhhc190cml2aWFsX21vdmVfYXNzaWduLFQsOjpuZG5ib29zdDo6ZGV0YWlsOjpoYXNfdHJpdmlhbF9tb3ZlX2Fzc2lnbl9pbXBsPFQ+Ojp2YWx1ZSkKK0JPT1NUX1RUX0FVWF9CT09MX1RSQUlUX1NQRUMxKGhhc190cml2aWFsX21vdmVfYXNzaWduLHZvaWQsZmFsc2UpCisjaWZuZGVmIEJPT1NUX05PX0NWX1ZPSURfU1BFQ0lBTElaQVRJT05TCitCT09TVF9UVF9BVVhfQk9PTF9UUkFJVF9TUEVDMShoYXNfdHJpdmlhbF9tb3ZlX2Fzc2lnbix2b2lkIGNvbnN0LGZhbHNlKQorQk9PU1RfVFRfQVVYX0JPT0xfVFJBSVRfU1BFQzEoaGFzX3RyaXZpYWxfbW92ZV9hc3NpZ24sdm9pZCBjb25zdCB2b2xhdGlsZSxmYWxzZSkKK0JPT1NUX1RUX0FVWF9CT09MX1RSQUlUX1NQRUMxKGhhc190cml2aWFsX21vdmVfYXNzaWduLHZvaWQgdm9sYXRpbGUsZmFsc2UpCisjZW5kaWYKKworfSAvLyBuYW1lc3BhY2UgbmRuYm9vc3QKKworI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2RldGFpbC9ib29sX3RyYWl0X3VuZGVmLmhwcD4KKworI2VuZGlmIC8vIEJPT1NUX1RUX0hBU19UUklWSUFMX01PVkVfQVNTSUdOX0hQUF9JTkNMVURFRApkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvdHlwZV90cmFpdHMvaGFzX3RyaXZpYWxfbW92ZV9jb25zdHJ1Y3Rvci5ocHAgYi9uZG5ib29zdC90eXBlX3RyYWl0cy9oYXNfdHJpdmlhbF9tb3ZlX2NvbnN0cnVjdG9yLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40YmY4MzZkCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvdHlwZV90cmFpdHMvaGFzX3RyaXZpYWxfbW92ZV9jb25zdHJ1Y3Rvci5ocHAKQEAgLTAsMCArMSw1NyBAQAorCisvLyAgKEMpIENvcHlyaWdodCBTdGV2ZSBDbGVhcnksIEJlbWFuIERhd2VzLCBIb3dhcmQgSGlubmFudCAmIEpvaG4gTWFkZG9jayAyMDAwLgorLy8gIChDKSBDb3B5cmlnaHQgRXJpYyBGcmllZG1hbiAyMDAyLTIwMDMuCisvLyAgKEMpIENvcHlyaWdodCBBbnRvbnkgUG9sdWtoaW4gMjAxMy4KKy8vICBVc2UsIG1vZGlmaWNhdGlvbiBhbmQgZGlzdHJpYnV0aW9uIGFyZSBzdWJqZWN0IHRvIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLAorLy8gIFZlcnNpb24gMS4wLiAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0CisvLyAgaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KS4KKy8vCisvLyAgU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL2xpYnMvdHlwZV90cmFpdHMgZm9yIG1vc3QgcmVjZW50IHZlcnNpb24gaW5jbHVkaW5nIGRvY3VtZW50YXRpb24uCisKKyNpZm5kZWYgQk9PU1RfVFRfSEFTX1RSSVZJQUxfTU9WRV9DT05TVFJVQ1RPUl9IUFBfSU5DTFVERUQKKyNkZWZpbmUgQk9PU1RfVFRfSEFTX1RSSVZJQUxfTU9WRV9DT05TVFJVQ1RPUl9IUFBfSU5DTFVERUQKKworI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2NvbmZpZy5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvaW50cmluc2ljcy5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvaXNfcG9kLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9pc192b2xhdGlsZS5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvZGV0YWlsL2ljZV9hbmQuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2RldGFpbC9pY2Vfbm90LmhwcD4KKworLy8gc2hvdWxkIGJlIHRoZSBsYXN0ICNpbmNsdWRlCisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvZGV0YWlsL2Jvb2xfdHJhaXRfZGVmLmhwcD4KKworbmFtZXNwYWNlIG5kbmJvb3N0IHsKKworbmFtZXNwYWNlIGRldGFpbCB7CisKK3RlbXBsYXRlIDx0eXBlbmFtZSBUPgorc3RydWN0IGhhc190cml2aWFsX21vdmVfY3Rvcl9pbXBsCit7CisjaWZkZWYgQk9PU1RfSEFTX1RSSVZJQUxfTU9WRV9DT05TVFJVQ1RPUgorICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGJvb2wsIHZhbHVlID0gKEJPT1NUX0hBU19UUklWSUFMX01PVkVfQ09OU1RSVUNUT1IoVCkpKTsKKyNlbHNlCisgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoYm9vbCwgdmFsdWUgPQorICAgICAgICAgICAoOjpuZG5ib29zdDo6dHlwZV90cmFpdHM6OmljZV9hbmQ8CisgICAgICAgICAgICAgIDo6bmRuYm9vc3Q6OmlzX3BvZDxUPjo6dmFsdWUsCisgICAgICAgICAgICAgIDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2Vfbm90PCA6Om5kbmJvb3N0Ojppc192b2xhdGlsZTxUPjo6dmFsdWUgPjo6dmFsdWUKKyAgICAgICAgICAgPjo6dmFsdWUpKTsKKyNlbmRpZgorfTsKKworfSAvLyBuYW1lc3BhY2UgZGV0YWlsCisKK0JPT1NUX1RUX0FVWF9CT09MX1RSQUlUX0RFRjEoaGFzX3RyaXZpYWxfbW92ZV9jb25zdHJ1Y3RvcixULDo6bmRuYm9vc3Q6OmRldGFpbDo6aGFzX3RyaXZpYWxfbW92ZV9jdG9yX2ltcGw8VD46OnZhbHVlKQorCitCT09TVF9UVF9BVVhfQk9PTF9UUkFJVF9TUEVDMShoYXNfdHJpdmlhbF9tb3ZlX2NvbnN0cnVjdG9yLHZvaWQsZmFsc2UpCisjaWZuZGVmIEJPT1NUX05PX0NWX1ZPSURfU1BFQ0lBTElaQVRJT05TCitCT09TVF9UVF9BVVhfQk9PTF9UUkFJVF9TUEVDMShoYXNfdHJpdmlhbF9tb3ZlX2NvbnN0cnVjdG9yLHZvaWQgY29uc3QsZmFsc2UpCitCT09TVF9UVF9BVVhfQk9PTF9UUkFJVF9TUEVDMShoYXNfdHJpdmlhbF9tb3ZlX2NvbnN0cnVjdG9yLHZvaWQgY29uc3Qgdm9sYXRpbGUsZmFsc2UpCitCT09TVF9UVF9BVVhfQk9PTF9UUkFJVF9TUEVDMShoYXNfdHJpdmlhbF9tb3ZlX2NvbnN0cnVjdG9yLHZvaWQgdm9sYXRpbGUsZmFsc2UpCisjZW5kaWYKKworfSAvLyBuYW1lc3BhY2UgbmRuYm9vc3QKKworI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2RldGFpbC9ib29sX3RyYWl0X3VuZGVmLmhwcD4KKworI2VuZGlmIC8vIEJPT1NUX1RUX0hBU19UUklWSUFMX01PVkVfQ09OU1RSVUNUT1JfSFBQX0lOQ0xVREVECmRpZmYgLS1naXQgYS9uZG5ib29zdC90eXBlX3RyYWl0cy9oYXNfdW5hcnlfbWludXMuaHBwIGIvbmRuYm9vc3QvdHlwZV90cmFpdHMvaGFzX3VuYXJ5X21pbnVzLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hYmE5YjAwCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvdHlwZV90cmFpdHMvaGFzX3VuYXJ5X21pbnVzLmhwcApAQCAtMCwwICsxLDI1IEBACisvLyAgKEMpIENvcHlyaWdodCAyMDA5LTIwMTEgRnJlZGVyaWMgQnJvbi4KKy8vCisvLyAgVXNlLCBtb2RpZmljYXRpb24gYW5kIGRpc3RyaWJ1dGlvbiBhcmUgc3ViamVjdCB0byB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwKKy8vICBWZXJzaW9uIDEuMC4gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdAorLy8gIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkuCisvLworLy8gIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL3R5cGVfdHJhaXRzIGZvciBtb3N0IHJlY2VudCB2ZXJzaW9uIGluY2x1ZGluZyBkb2N1bWVudGF0aW9uLgorCisjaWZuZGVmIEJPT1NUX1RUX0hBU19VTkFSWV9NSU5VU19IUFBfSU5DTFVERUQKKyNkZWZpbmUgQk9PU1RfVFRfSEFTX1VOQVJZX01JTlVTX0hQUF9JTkNMVURFRAorCisjZGVmaW5lIEJPT1NUX1RUX1RSQUlUX05BTUUgaGFzX3VuYXJ5X21pbnVzCisjZGVmaW5lIEJPT1NUX1RUX1RSQUlUX09QIC0KKyNkZWZpbmUgQk9PU1RfVFRfRk9SQklEREVOX0lGXAorICAgLyogcG9pbnRlciAqL1wKKyAgIDo6bmRuYm9vc3Q6OmlzX3BvaW50ZXI8IFJoc19ub3JlZiA+Ojp2YWx1ZQorCisKKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9kZXRhaWwvaGFzX3ByZWZpeF9vcGVyYXRvci5ocHA+CisKKyN1bmRlZiBCT09TVF9UVF9UUkFJVF9OQU1FCisjdW5kZWYgQk9PU1RfVFRfVFJBSVRfT1AKKyN1bmRlZiBCT09TVF9UVF9GT1JCSURERU5fSUYKKworI2VuZGlmCmRpZmYgLS1naXQgYS9uZG5ib29zdC90eXBlX3RyYWl0cy9oYXNfdW5hcnlfcGx1cy5ocHAgYi9uZG5ib29zdC90eXBlX3RyYWl0cy9oYXNfdW5hcnlfcGx1cy5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWQ4Y2E0ZAotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L3R5cGVfdHJhaXRzL2hhc191bmFyeV9wbHVzLmhwcApAQCAtMCwwICsxLDIzIEBACisvLyAgKEMpIENvcHlyaWdodCAyMDA5LTIwMTEgRnJlZGVyaWMgQnJvbi4KKy8vCisvLyAgVXNlLCBtb2RpZmljYXRpb24gYW5kIGRpc3RyaWJ1dGlvbiBhcmUgc3ViamVjdCB0byB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwKKy8vICBWZXJzaW9uIDEuMC4gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdAorLy8gIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkuCisvLworLy8gIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL3R5cGVfdHJhaXRzIGZvciBtb3N0IHJlY2VudCB2ZXJzaW9uIGluY2x1ZGluZyBkb2N1bWVudGF0aW9uLgorCisjaWZuZGVmIEJPT1NUX1RUX0hBU19VTkFSWV9QTFVTX0hQUF9JTkNMVURFRAorI2RlZmluZSBCT09TVF9UVF9IQVNfVU5BUllfUExVU19IUFBfSU5DTFVERUQKKworI2RlZmluZSBCT09TVF9UVF9UUkFJVF9OQU1FIGhhc191bmFyeV9wbHVzCisjZGVmaW5lIEJPT1NUX1RUX1RSQUlUX09QICsKKyNkZWZpbmUgQk9PU1RfVFRfRk9SQklEREVOX0lGXAorICAgZmFsc2UKKworI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2RldGFpbC9oYXNfcHJlZml4X29wZXJhdG9yLmhwcD4KKworI3VuZGVmIEJPT1NUX1RUX1RSQUlUX05BTUUKKyN1bmRlZiBCT09TVF9UVF9UUkFJVF9PUAorI3VuZGVmIEJPT1NUX1RUX0ZPUkJJRERFTl9JRgorCisjZW5kaWYKZGlmZiAtLWdpdCBhL25kbmJvb3N0L3R5cGVfdHJhaXRzL2hhc192aXJ0dWFsX2Rlc3RydWN0b3IuaHBwIGIvbmRuYm9vc3QvdHlwZV90cmFpdHMvaGFzX3ZpcnR1YWxfZGVzdHJ1Y3Rvci5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODk3NDYzZQotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L3R5cGVfdHJhaXRzL2hhc192aXJ0dWFsX2Rlc3RydWN0b3IuaHBwCkBAIC0wLDAgKzEsMjkgQEAKKworLy8gIChDKSBDb3B5cmlnaHQgSm9obiBNYWRkb2NrIDIwMDUuICAKKy8vICBVc2UsIG1vZGlmaWNhdGlvbiBhbmQgZGlzdHJpYnV0aW9uIGFyZSBzdWJqZWN0IHRvIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLAorLy8gIFZlcnNpb24gMS4wLiAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0CisvLyAgaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KS4KKy8vCisvLyAgU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL2xpYnMvdHlwZV90cmFpdHMgZm9yIG1vc3QgcmVjZW50IHZlcnNpb24gaW5jbHVkaW5nIGRvY3VtZW50YXRpb24uCisKKworI2lmbmRlZiBCT09TVF9UVF9IQVNfVklSVFVBTF9ERVNUUlVDVE9SX0hQUF9JTkNMVURFRAorI2RlZmluZSBCT09TVF9UVF9IQVNfVklSVFVBTF9ERVNUUlVDVE9SX0hQUF9JTkNMVURFRAorCisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvaW50cmluc2ljcy5ocHA+CisvLyBzaG91bGQgYmUgdGhlIGxhc3QgI2luY2x1ZGUKKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9kZXRhaWwvYm9vbF90cmFpdF9kZWYuaHBwPgorCituYW1lc3BhY2UgbmRuYm9vc3QgeworCisjaWZkZWYgQk9PU1RfSEFTX1ZJUlRVQUxfREVTVFJVQ1RPUgorQk9PU1RfVFRfQVVYX0JPT0xfVFJBSVRfREVGMShoYXNfdmlydHVhbF9kZXN0cnVjdG9yLFQsQk9PU1RfSEFTX1ZJUlRVQUxfREVTVFJVQ1RPUihUKSkKKyNlbHNlCitCT09TVF9UVF9BVVhfQk9PTF9UUkFJVF9ERUYxKGhhc192aXJ0dWFsX2Rlc3RydWN0b3IsVCxmYWxzZSkKKyNlbmRpZgorCit9IC8vIG5hbWVzcGFjZSBuZG5ib29zdAorCisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvZGV0YWlsL2Jvb2xfdHJhaXRfdW5kZWYuaHBwPgorCisjZW5kaWYgLy8gQk9PU1RfVFRfSVNfTUVNQkVSX0ZVTkNUSU9OX1BPSU5URVJfSFBQX0lOQ0xVREVECmRpZmYgLS1naXQgYS9uZG5ib29zdC90eXBlX3RyYWl0cy9pbnRlZ3JhbF9wcm9tb3Rpb24uaHBwIGIvbmRuYm9vc3QvdHlwZV90cmFpdHMvaW50ZWdyYWxfcHJvbW90aW9uLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NmNmMTE4Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvdHlwZV90cmFpdHMvaW50ZWdyYWxfcHJvbW90aW9uLmhwcApAQCAtMCwwICsxLDE5NSBAQAorLy8gQ29weXJpZ2h0IDIwMDUgQWxleGFuZGVyIE5hc29ub3YuCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIChTZWUKKy8vIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0CisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisKKyNpZm5kZWYgRklMRV9ib29zdF90eXBlX3RyYWl0c19pbnRlZ3JhbF9wcm9tb3Rpb25faHBwX0lOQ0xVREVECisjZGVmaW5lIEZJTEVfYm9vc3RfdHlwZV90cmFpdHNfaW50ZWdyYWxfcHJvbW90aW9uX2hwcF9JTkNMVURFRAorCisjaW5jbHVkZSA8bmRuYm9vc3QvY29uZmlnLmhwcD4KKworI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9ldmFsX2lmLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvaWRlbnRpdHkuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2ludGVncmFsX2NvbnN0YW50LmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9pc19jb25zdC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvaXNfZW51bS5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvaXNfdm9sYXRpbGUuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL3JlbW92ZV9jdi5ocHA+CisKKy8vIFNob3VsZCBiZSB0aGUgbGFzdCAjaW5jbHVkZQorI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2RldGFpbC90eXBlX3RyYWl0X2RlZi5ocHA+CisKK25hbWVzcGFjZSBuZG5ib29zdCB7CisKK25hbWVzcGFjZSB0eXBlX3RyYWl0cyB7IG5hbWVzcGFjZSBkZXRhaWwgeworCisvLyA0LjUvMgordGVtcGxhdGUgPGNsYXNzIFQ+IHN0cnVjdCBuZWVkX3Byb21vdGlvbiA6IHB1YmxpYyBuZG5ib29zdDo6aXNfZW51bTxUPiB7fTsKKworLy8gNC41LzEKK3RlbXBsYXRlPD4gc3RydWN0IG5lZWRfcHJvbW90aW9uPGNoYXIgICAgICAgICAgICAgID4gOiBwdWJsaWMgdHJ1ZV90eXBlIHt9OwordGVtcGxhdGU8PiBzdHJ1Y3QgbmVlZF9wcm9tb3Rpb248c2lnbmVkIGNoYXIgICAgICAgPiA6IHB1YmxpYyB0cnVlX3R5cGUge307Cit0ZW1wbGF0ZTw+IHN0cnVjdCBuZWVkX3Byb21vdGlvbjx1bnNpZ25lZCBjaGFyICAgICA+IDogcHVibGljIHRydWVfdHlwZSB7fTsKK3RlbXBsYXRlPD4gc3RydWN0IG5lZWRfcHJvbW90aW9uPHNpZ25lZCBzaG9ydCBpbnQgID4gOiBwdWJsaWMgdHJ1ZV90eXBlIHt9OwordGVtcGxhdGU8PiBzdHJ1Y3QgbmVlZF9wcm9tb3Rpb248dW5zaWduZWQgc2hvcnQgaW50PiA6IHB1YmxpYyB0cnVlX3R5cGUge307CisKKworLy8gU3BlY2lhbGl6YXRpb25zIGZvciBub24tc3RhbmRhcmQgdHlwZXMuCisvLyBUeXBlIGlzIHByb21vdGVkIGlmIGl0J3Mgc21hbGxlciB0aGVuIGludC4KKworI2RlZmluZSBCT09TVF9UVF9BVVhfUFJPTU9URV9OT05TVEFOREFSRF9UWVBFKFQpIFwKKyAgICB0ZW1wbGF0ZTw+IHN0cnVjdCBuZWVkX3Byb21vdGlvbjxUPiAgICAgICAgICBcCisgICAgICAgIDogcHVibGljIGludGVncmFsX2NvbnN0YW50PGJvb2wsIChzaXplb2YoVCkgPCBzaXplb2YoaW50KSk+IHt9OworCisvLyBTYW1lIHNldCBvZiBpbnRlZ3JhbCB0eXBlcyBhcyBpbiBib29zdC90eXBlX3RyYWl0cy9pc19pbnRlZ3JhbC5ocHAuCisvLyBQbGVhc2UsIGtlZXAgaW4gc3luYy4KKyNpZiAoZGVmaW5lZChCT09TVF9NU1ZDKSAmJiAoQk9PU1RfTVNWQyA8IDEzMDApKSBcCisgICAgfHwgKGRlZmluZWQoQk9PU1RfSU5URUxfQ1hYX1ZFUlNJT04pICYmIGRlZmluZWQoX01TQ19WRVIpICYmIChCT09TVF9JTlRFTF9DWFhfVkVSU0lPTiA8PSA2MDApKSBcCisgICAgfHwgKGRlZmluZWQoX19CT1JMQU5EQ19fKSAmJiAoX19CT1JMQU5EQ19fID09IDB4NjAwKSAmJiAoX01TQ19WRVIgPCAxMzAwKSkKKy8vIFRPRE86IGNvbW1vbiBtYWNybyBmb3IgdGhpcyAjaWYuIE9yIGJldHRlciB5ZXQsIFBQIFNFUSBvZiBub24tc3RhbmRhcmQgdHlwZXMuCitCT09TVF9UVF9BVVhfUFJPTU9URV9OT05TVEFOREFSRF9UWVBFKF9faW50OCAgICAgICAgICApCitCT09TVF9UVF9BVVhfUFJPTU9URV9OT05TVEFOREFSRF9UWVBFKHVuc2lnbmVkIF9faW50OCApCitCT09TVF9UVF9BVVhfUFJPTU9URV9OT05TVEFOREFSRF9UWVBFKF9faW50MTYgICAgICAgICApCitCT09TVF9UVF9BVVhfUFJPTU9URV9OT05TVEFOREFSRF9UWVBFKHVuc2lnbmVkIF9faW50MTYpCitCT09TVF9UVF9BVVhfUFJPTU9URV9OT05TVEFOREFSRF9UWVBFKF9faW50MzIgICAgICAgICApCitCT09TVF9UVF9BVVhfUFJPTU9URV9OT05TVEFOREFSRF9UWVBFKHVuc2lnbmVkIF9faW50MzIpCisjaWZkZWYgX19CT1JMQU5EQ19fCitCT09TVF9UVF9BVVhfUFJPTU9URV9OT05TVEFOREFSRF9UWVBFKHVuc2lnbmVkIF9faW50NjQpCitCT09TVF9UVF9BVVhfUFJPTU9URV9OT05TVEFOREFSRF9UWVBFKCAgICAgICAgIF9faW50NjQpCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChCT09TVF9IQVNfTE9OR19MT05HKQorQk9PU1RfVFRfQVVYX1BST01PVEVfTk9OU1RBTkRBUkRfVFlQRShuZG5ib29zdDo6dWxvbmdfbG9uZ190eXBlKQorQk9PU1RfVFRfQVVYX1BST01PVEVfTk9OU1RBTkRBUkRfVFlQRShuZG5ib29zdDo6bG9uZ19sb25nX3R5cGUgKQorI2VsaWYgZGVmaW5lZChCT09TVF9IQVNfTVNfSU5UNjQpCitCT09TVF9UVF9BVVhfUFJPTU9URV9OT05TVEFOREFSRF9UWVBFKHVuc2lnbmVkIF9faW50NjQpCitCT09TVF9UVF9BVVhfUFJPTU9URV9OT05TVEFOREFSRF9UWVBFKCAgICAgICAgIF9faW50NjQpCisjZW5kaWYKKworI3VuZGVmIEJPT1NUX1RUX0FVWF9QUk9NT1RFX05PTlNUQU5EQVJEX1RZUEUKKworCisjaWZuZGVmIEJPT1NUX05PX0lOVFJJTlNJQ19XQ0hBUl9UCisvLyA0LjUvMgordGVtcGxhdGU8PiBzdHJ1Y3QgbmVlZF9wcm9tb3Rpb248d2NoYXJfdD4gOiBwdWJsaWMgdHJ1ZV90eXBlIHt9OworI2VuZGlmCisKKy8vIDQuNS8zIChpbnRlZ3JhbCBiaXQtZmllbGQpIGlzIG5vdCBzdXBwb3J0ZWQuCisKKy8vIDQuNS80Cit0ZW1wbGF0ZTw+IHN0cnVjdCBuZWVkX3Byb21vdGlvbjxib29sPiA6IHB1YmxpYyB0cnVlX3R5cGUge307CisKKworLy8gR2V0IHByb21vdGVkIHR5cGUgYnkgaW5kZXggYW5kIGN2IHF1YWxpZmllcnMuCisKK3RlbXBsYXRlPGludCBJbmRleCwgaW50IElzQ29uc3QsIGludCBJc1ZvbGF0aWxlPiBzdHJ1Y3QgcHJvbW90ZV9mcm9tX2luZGV4OworCisjZGVmaW5lIEJPT1NUX1RUX0FVWF9QUk9NT1RFX0ZST01fSU5ERVgoTixUKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIHRlbXBsYXRlPD4gc3RydWN0IHByb21vdGVfZnJvbV9pbmRleDxOLDAsMD4geyB0eXBlZGVmIFQgdHlwZTsgfTsgICAgICAgICAgIFwKKyAgICB0ZW1wbGF0ZTw+IHN0cnVjdCBwcm9tb3RlX2Zyb21faW5kZXg8TiwwLDE+IHsgdHlwZWRlZiBUIHZvbGF0aWxlIHR5cGU7IH07ICBcCisgICAgdGVtcGxhdGU8PiBzdHJ1Y3QgcHJvbW90ZV9mcm9tX2luZGV4PE4sMSwwPiB7IHR5cGVkZWYgVCBjb25zdCB0eXBlOyB9OyAgICAgXAorICAgIHRlbXBsYXRlPD4gc3RydWN0IHByb21vdGVfZnJvbV9pbmRleDxOLDEsMT4geyB0eXBlZGVmIFQgY29uc3Qgdm9sYXRpbGUgdHlwZTsgfTsKKworCitCT09TVF9UVF9BVVhfUFJPTU9URV9GUk9NX0lOREVYKDEsIGludCAgICAgICAgICApCitCT09TVF9UVF9BVVhfUFJPTU9URV9GUk9NX0lOREVYKDIsIHVuc2lnbmVkIGludCApCitCT09TVF9UVF9BVVhfUFJPTU9URV9GUk9NX0lOREVYKDMsIGxvbmcgICAgICAgICApCitCT09TVF9UVF9BVVhfUFJPTU9URV9GUk9NX0lOREVYKDQsIHVuc2lnbmVkIGxvbmcpCisKKworLy8gV0FSTklORzogaW50ZWdyYWwgcHJvbW90aW9ucyB0byBub24tc3RhbmRhcmQgdHlwZXMKKy8vIGxvbmcgbG9uZyBhbmQgX19pbnQ2NCBhcmUgbm90IGRlZmluZWQgYnkgdGhlIHN0YW5kYXJkLgorLy8gQWRkaXRpb25hbCBzcGVjaWFsaXNhdGlvbnMgYW5kIG92ZXJsb2FkcyBzaG91bGRuJ3QKKy8vIGludHJvZHVjZSBhbWJpZ3VpdHksIHRob3VnaC4KKworI2lmIGRlZmluZWQoQk9PU1RfSEFTX0xPTkdfTE9ORykKK0JPT1NUX1RUX0FVWF9QUk9NT1RFX0ZST01fSU5ERVgoNSwgbmRuYm9vc3Q6OmxvbmdfbG9uZ190eXBlICkKK0JPT1NUX1RUX0FVWF9QUk9NT1RFX0ZST01fSU5ERVgoNiwgbmRuYm9vc3Q6OnVsb25nX2xvbmdfdHlwZSkKKyNlbGlmIGRlZmluZWQoQk9PU1RfSEFTX01TX0lOVDY0KQorQk9PU1RfVFRfQVVYX1BST01PVEVfRlJPTV9JTkRFWCg3LCBfX2ludDY0ICAgICAgICAgKQorQk9PU1RfVFRfQVVYX1BST01PVEVfRlJPTV9JTkRFWCg4LCB1bnNpZ25lZCBfX2ludDY0KQorI2VuZGlmCisKKyN1bmRlZiBCT09TVF9UVF9BVVhfUFJPTU9URV9GUk9NX0lOREVYCisKKworLy8gRGVmaW5lIEJPT1NUX1RUX0FVWF9QUk9NT1RFRF9JTkRFWF9URVNURVI6CisjaWYgIWRlZmluZWQoQk9PU1RfTVNWQykKKwordGVtcGxhdGU8aW50IE4+CitzdHJ1Y3Qgc2l6ZWRfdHlwZV9mb3JfcHJvbW90aW9uCit7CisgICAgdHlwZWRlZiBjaGFyICgmdHlwZSlbTl07Cit9OworCisjZGVmaW5lIEJPT1NUX1RUX0FVWF9QUk9NT1RFRF9JTkRFWF9URVNURVIoSSxUKSBcCisgICAgc2l6ZWRfdHlwZV9mb3JfcHJvbW90aW9uPEk+Ojp0eXBlIHByb21vdGVkX2luZGV4X3Rlc3RlcihUKTsKKworI2Vsc2UKKworI2RlZmluZSBCT09TVF9UVF9BVVhfUFJPTU9URURfSU5ERVhfVEVTVEVSKEksVCkgXAorICAgIGNoYXIgKCZwcm9tb3RlZF9pbmRleF90ZXN0ZXIoVCkpW0ldOworCisjZW5kaWYKKworQk9PU1RfVFRfQVVYX1BST01PVEVEX0lOREVYX1RFU1RFUigxLCBpbnQgICAgICAgICAgKQorQk9PU1RfVFRfQVVYX1BST01PVEVEX0lOREVYX1RFU1RFUigyLCB1bnNpZ25lZCBpbnQgKQorQk9PU1RfVFRfQVVYX1BST01PVEVEX0lOREVYX1RFU1RFUigzLCBsb25nICAgICAgICAgKQorQk9PU1RfVFRfQVVYX1BST01PVEVEX0lOREVYX1RFU1RFUig0LCB1bnNpZ25lZCBsb25nKQorCisjaWYgZGVmaW5lZChCT09TVF9IQVNfTE9OR19MT05HKQorQk9PU1RfVFRfQVVYX1BST01PVEVEX0lOREVYX1RFU1RFUig1LCBuZG5ib29zdDo6bG9uZ19sb25nX3R5cGUgKQorQk9PU1RfVFRfQVVYX1BST01PVEVEX0lOREVYX1RFU1RFUig2LCBuZG5ib29zdDo6dWxvbmdfbG9uZ190eXBlKQorI2VsaWYgZGVmaW5lZChCT09TVF9IQVNfTVNfSU5UNjQpCitCT09TVF9UVF9BVVhfUFJPTU9URURfSU5ERVhfVEVTVEVSKDcsIF9faW50NjQgICAgICAgICApCitCT09TVF9UVF9BVVhfUFJPTU9URURfSU5ERVhfVEVTVEVSKDgsIHVuc2lnbmVkIF9faW50NjQpCisjZW5kaWYKKworI3VuZGVmIEJPT1NUX1RUX0FVWF9QUk9NT1RFRF9JTkRFWF9URVNURVIKKworCisvLyBHZXQgYW4gaW5kZXggb2YgcHJvbW90ZWQgdHlwZSBmb3IgdHlwZSBULgorLy8gUHJlY29uZGl0aW9uOiBuZWVkX3Byb21vdGlvbjxUPgordGVtcGxhdGU8Y2xhc3MgVD4KK3N0cnVjdCBwcm9tb3RlZF9pbmRleAoreworICAgIHN0YXRpYyBUIHRlc3RlZTsgLy8gdW5kZWZpbmVkCisgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCwgdmFsdWUgPSBzaXplb2YocHJvbW90ZWRfaW5kZXhfdGVzdGVyKCt0ZXN0ZWUpKSApOworICAgIC8vIFVuYXJ5IHBsdXMgcHJvbW90ZXMgdGVzdGVlICAgICAgICAgICAgICAgICAgICBMT09LIEhFUkUgLS0tPiBeCit9OworCit0ZW1wbGF0ZTxjbGFzcyBUPgorc3RydWN0IGludGVncmFsX3Byb21vdGlvbl9pbXBsCit7CisgICAgdHlwZWRlZiBCT09TVF9ERURVQ0VEX1RZUEVOQU1FIHByb21vdGVfZnJvbV9pbmRleDwKKyAgICAgICAgKG5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6ZGV0YWlsOjpwcm9tb3RlZF9pbmRleDxUPjo6dmFsdWUpCisgICAgICAsIChuZG5ib29zdDo6aXNfY29uc3Q8VD46OnZhbHVlKQorICAgICAgLCAobmRuYm9vc3Q6OmlzX3ZvbGF0aWxlPFQ+Ojp2YWx1ZSkKKyAgICAgID46OnR5cGUgdHlwZTsKK307CisKK3RlbXBsYXRlPGNsYXNzIFQ+CitzdHJ1Y3QgaW50ZWdyYWxfcHJvbW90aW9uCisgIDogcHVibGljIG5kbmJvb3N0OjptcGw6OmV2YWxfaWY8CisgICAgICAgIG5lZWRfcHJvbW90aW9uPEJPT1NUX0RFRFVDRURfVFlQRU5BTUUgcmVtb3ZlX2N2PFQ+Ojp0eXBlPgorICAgICAgLCBpbnRlZ3JhbF9wcm9tb3Rpb25faW1wbDxUPgorICAgICAgLCBuZG5ib29zdDo6bXBsOjppZGVudGl0eTxUPgorICAgICAgPgoreworfTsKKworfSB9CisKK0JPT1NUX1RUX0FVWF9UWVBFX1RSQUlUX0RFRjEoCisgICAgICBpbnRlZ3JhbF9wcm9tb3Rpb24KKyAgICAsIFQKKyAgICAsIEJPT1NUX0RFRFVDRURfVFlQRU5BTUUKKyAgICAgICAgbmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjpkZXRhaWw6OmludGVncmFsX3Byb21vdGlvbjxUPjo6dHlwZQorICAgICkKK30KKworI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2RldGFpbC90eXBlX3RyYWl0X3VuZGVmLmhwcD4KKworI2VuZGlmIC8vICNpZm5kZWYgRklMRV9ib29zdF90eXBlX3RyYWl0c19pbnRlZ3JhbF9wcm9tb3Rpb25faHBwX0lOQ0xVREVECisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L3R5cGVfdHJhaXRzL2ludHJpbnNpY3MuaHBwIGIvbmRuYm9vc3QvdHlwZV90cmFpdHMvaW50cmluc2ljcy5ocHAKaW5kZXggNTNmODk0Yy4uMjVmMWEyOCAxMDA2NDQKLS0tIGEvbmRuYm9vc3QvdHlwZV90cmFpdHMvaW50cmluc2ljcy5ocHAKKysrIGIvbmRuYm9vc3QvdHlwZV90cmFpdHMvaW50cmluc2ljcy5ocHAKQEAgLTI0LDcgKzI0LDkgQEAKIC8vIEJPT1NUX0lTX0VNUFRZKFQpIHNob3VsZCBldmFsdWF0ZSB0byB0cnVlIGlmIFQgaXMgYW4gZW1wdHkgY2xhc3MgdHlwZSAoYW5kIG5vdCBhIHVuaW9uKQogLy8gQk9PU1RfSEFTX1RSSVZJQUxfQ09OU1RSVUNUT1IoVCkgc2hvdWxkIGV2YWx1YXRlIHRvIHRydWUgaWYgIlQgeDsiIGhhcyBubyBlZmZlY3QKIC8vIEJPT1NUX0hBU19UUklWSUFMX0NPUFkoVCkgc2hvdWxkIGV2YWx1YXRlIHRvIHRydWUgaWYgVCh0KSA8PT0+IG1lbWNweQorLy8gQk9PU1RfSEFTX1RSSVZJQUxfTU9WRV9DT05TVFJVQ1RPUihUKSBzaG91bGQgZXZhbHVhdGUgdG8gdHJ1ZSBpZiBUKG5kbmJvb3N0Ojptb3ZlKHQpKSA8PT0+IG1lbWNweQogLy8gQk9PU1RfSEFTX1RSSVZJQUxfQVNTSUdOKFQpIHNob3VsZCBldmFsdWF0ZSB0byB0cnVlIGlmIHQgPSB1IDw9PT4gbWVtY3B5CisvLyBCT09TVF9IQVNfVFJJVklBTF9NT1ZFX0FTU0lHTihUKSBzaG91bGQgZXZhbHVhdGUgdG8gdHJ1ZSBpZiB0ID0gbmRuYm9vc3Q6Om1vdmUodSkgPD09PiBtZW1jcHkKIC8vIEJPT1NUX0hBU19UUklWSUFMX0RFU1RSVUNUT1IoVCkgc2hvdWxkIGV2YWx1YXRlIHRvIHRydWUgaWYgflQoKSBoYXMgbm8gZWZmZWN0CiAvLyBCT09TVF9IQVNfTk9USFJPV19DT05TVFJVQ1RPUihUKSBzaG91bGQgZXZhbHVhdGUgdG8gdHJ1ZSBpZiAiVCB4OyIgY2FuIG5vdCB0aHJvdwogLy8gQk9PU1RfSEFTX05PVEhST1dfQ09QWShUKSBzaG91bGQgZXZhbHVhdGUgdG8gdHJ1ZSBpZiBUKHQpIGNhbiBub3QgdGhyb3cKQEAgLTEwNiw2ICsxMDgsMTEgQEAKIC8vICBUaGlzIG9uZSBmYWlscyBpZiB0aGUgZGVmYXVsdCBhbGlnbm1lbnQgaGFzIGJlZW4gY2hhbmdlZCB3aXRoIC9acDoKIC8vICAjICAgZGVmaW5lIEJPT1NUX0FMSUdOTUVOVF9PRihUKSBfX2FsaWdub2YoVCkKIAorIyAgIGlmIGRlZmluZWQoX01TQ19WRVIpICYmIChfTVNDX1ZFUiA+PSAxNzAwKQorIyAgICAgICBkZWZpbmUgQk9PU1RfSEFTX1RSSVZJQUxfTU9WRV9DT05TVFJVQ1RPUihUKSAoKF9faGFzX3RyaXZpYWxfbW92ZV9jb25zdHJ1Y3RvcihUKSB8fCA6Om5kbmJvb3N0Ojppc19wb2Q8VD46OnZhbHVlKSAmJiAhOjpuZG5ib29zdDo6aXNfdm9sYXRpbGU8VD46OnZhbHVlKQorIyAgICAgICBkZWZpbmUgQk9PU1RfSEFTX1RSSVZJQUxfTU9WRV9BU1NJR04oVCkgKChfX2hhc190cml2aWFsX21vdmVfYXNzaWduKFQpIHx8IDo6bmRuYm9vc3Q6OmlzX3BvZDxUPjo6dmFsdWUpICYmICEgOjpuZG5ib29zdDo6aXNfY29uc3Q8VD46OnZhbHVlICYmICE6Om5kbmJvb3N0Ojppc192b2xhdGlsZTxUPjo6dmFsdWUpCisjICAgZW5kaWYKKwogIyAgIGRlZmluZSBCT09TVF9IQVNfVFlQRV9UUkFJVFNfSU5UUklOU0lDUwogI2VuZGlmCiAKQEAgLTE4Myw2ICsxOTAsMTIgQEAKICMgICBpZiBfX2hhc19mZWF0dXJlKGlzX3BvbHltb3JwaGljKQogIyAgICAgZGVmaW5lIEJPT1NUX0lTX1BPTFlNT1JQSElDKFQpIF9faXNfcG9seW1vcnBoaWMoVCkKICMgICBlbmRpZgorIyAgIGlmIF9faGFzX2ZlYXR1cmUoaGFzX3RyaXZpYWxfbW92ZV9jb25zdHJ1Y3RvcikKKyMgICAgIGRlZmluZSBCT09TVF9IQVNfVFJJVklBTF9NT1ZFX0NPTlNUUlVDVE9SKFQpIF9faGFzX3RyaXZpYWxfbW92ZV9jb25zdHJ1Y3RvcihUKQorIyAgIGVuZGlmCisjICAgaWYgX19oYXNfZmVhdHVyZShoYXNfdHJpdmlhbF9tb3ZlX2Fzc2lnbikKKyMgICAgIGRlZmluZSBCT09TVF9IQVNfVFJJVklBTF9NT1ZFX0FTU0lHTihUKSBfX2hhc190cml2aWFsX21vdmVfYXNzaWduKFQpCisjICAgZW5kaWYKICMgICBkZWZpbmUgQk9PU1RfQUxJR05NRU5UX09GKFQpIF9fYWxpZ25vZihUKQogCiAjICAgZGVmaW5lIEJPT1NUX0hBU19UWVBFX1RSQUlUU19JTlRSSU5TSUNTCmRpZmYgLS1naXQgYS9uZG5ib29zdC90eXBlX3RyYWl0cy9pc19iYXNlX2FuZF9kZXJpdmVkLmhwcCBiL25kbmJvb3N0L3R5cGVfdHJhaXRzL2lzX2Jhc2VfYW5kX2Rlcml2ZWQuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU5OTU1ODgKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC90eXBlX3RyYWl0cy9pc19iYXNlX2FuZF9kZXJpdmVkLmhwcApAQCAtMCwwICsxLDI1NCBAQAorCisvLyAgKEMpIENvcHlyaWdodCBSYW5pIFNoYXJvbmkgMjAwMy4KKy8vICBVc2UsIG1vZGlmaWNhdGlvbiBhbmQgZGlzdHJpYnV0aW9uIGFyZSBzdWJqZWN0IHRvIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLAorLy8gIFZlcnNpb24gMS4wLiAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0CisvLyAgaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KS4KKy8vCisvLyAgU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL2xpYnMvdHlwZV90cmFpdHMgZm9yIG1vc3QgcmVjZW50IHZlcnNpb24gaW5jbHVkaW5nIGRvY3VtZW50YXRpb24uCisgCisjaWZuZGVmIEJPT1NUX1RUX0lTX0JBU0VfQU5EX0RFUklWRURfSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX1RUX0lTX0JBU0VfQU5EX0RFUklWRURfSFBQX0lOQ0xVREVECisKKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9pbnRyaW5zaWNzLmhwcD4KKyNpZm5kZWYgQk9PU1RfSVNfQkFTRV9PRgorI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2lzX2NsYXNzLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9pc19zYW1lLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9pc19jb252ZXJ0aWJsZS5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvZGV0YWlsL2ljZV9hbmQuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L2NvbmZpZy5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3Qvc3RhdGljX2Fzc2VydC5ocHA+CisjZW5kaWYKKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9yZW1vdmVfY3YuaHBwPgorCisvLyBzaG91bGQgYmUgdGhlIGxhc3QgI2luY2x1ZGUKKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9kZXRhaWwvYm9vbF90cmFpdF9kZWYuaHBwPgorCituYW1lc3BhY2UgbmRuYm9vc3QgeworCituYW1lc3BhY2UgZGV0YWlsIHsKKworI2lmbmRlZiBCT09TVF9JU19CQVNFX09GCisjaWYgIUJPT1NUX1dPUktBUk9VTkQoX19CT1JMQU5EQ19fLCBCT09TVF9URVNURURfQVQoMHg1ODEpKSBcCisgJiYgIUJPT1NUX1dPUktBUk9VTkQoX19TVU5QUk9fQ0MgLCA8PSAweDU0MCkgXAorICYmICFCT09TVF9XT1JLQVJPVU5EKF9fRURHX1ZFUlNJT05fXywgPD0gMjQzKSBcCisgJiYgIUJPT1NUX1dPUktBUk9VTkQoX19ETUNfXywgQk9PU1RfVEVTVEVEX0FUKDB4ODQwKSkKKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBUaGUgRURHIHZlcnNpb24gbnVtYmVyIGlzIGEgbG93ZXIgZXN0aW1hdGUuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEl0IGlzIG5vdCBjdXJyZW50bHkga25vd24gd2hpY2ggRURHIHZlcnNpb24KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gZXhhY3RseSBmaXhlcyB0aGUgcHJvYmxlbS4KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKworVGhpcyB2ZXJzaW9uIGRldGVjdHMgYW1iaWd1b3VzIGJhc2UgY2xhc3NlcyBhbmQgcHJpdmF0ZSBiYXNlIGNsYXNzZXMKK2NvcnJlY3RseSwgYW5kIHdhcyBkZXZpc2VkIGJ5IFJhbmkgU2hhcm9uaS4KKworRXhwbGFuYXRpb24gYnkgVGVyamUgU2xldHRlYm8gYW5kIFJhbmkgU2hhcm9uaS4KKworTGV0J3MgdGFrZSB0aGUgbXVsdGlwbGUgYmFzZSBjbGFzcyBiZWxvdyBhcyBhbiBleGFtcGxlLCBhbmQgdGhlIGZvbGxvd2luZword2lsbCBhbHNvIHNob3cgd2h5IHRoZXJlJ3Mgbm90IGEgcHJvYmxlbSB3aXRoIHByaXZhdGUgb3IgYW1iaWd1b3VzIGJhc2UKK2NsYXNzOgorCitzdHJ1Y3QgQiB7fTsKK3N0cnVjdCBCMSA6IEIge307CitzdHJ1Y3QgQjIgOiBCIHt9Oworc3RydWN0IEQgOiBwcml2YXRlIEIxLCBwcml2YXRlIEIyIHt9OworCitpc19iYXNlX2FuZF9kZXJpdmVkPEIsIEQ+Ojp2YWx1ZTsKKworRmlyc3QsIHNvbWUgdGVybWlub2xvZ3k6CisKK1NDICAtIFN0YW5kYXJkIGNvbnZlcnNpb24KK1VEQyAtIFVzZXItZGVmaW5lZCBjb252ZXJzaW9uCisKK0EgdXNlci1kZWZpbmVkIGNvbnZlcnNpb24gc2VxdWVuY2UgY29uc2lzdHMgb2YgYW4gU0MsIGZvbGxvd2VkIGJ5IGFuIFVEQywKK2ZvbGxvd2VkIGJ5IGFub3RoZXIgU0MuIEVpdGhlciBTQyBtYXkgYmUgdGhlIGlkZW50aXR5IGNvbnZlcnNpb24uCisKK1doZW4gcGFzc2luZyB0aGUgZGVmYXVsdC1jb25zdHJ1Y3RlZCBIb3N0IG9iamVjdCB0byB0aGUgb3ZlcmxvYWRlZCBjaGVja19zaWcoKQorZnVuY3Rpb25zIChpbml0aWFsaXphdGlvbiA4LjUvMTQvNC8zKSwgd2UgaGF2ZSBzZXZlcmFsIHZpYWJsZSBpbXBsaWNpdAorY29udmVyc2lvbiBzZXF1ZW5jZXM6CisKK0ZvciAic3RhdGljIG5vX3R5cGUgY2hlY2tfc2lnKEIgY29uc3Qgdm9sYXRpbGUgKiwgaW50KSIgd2UgaGF2ZSB0aGUgY29udmVyc2lvbgorc2VxdWVuY2VzOgorCitDIC0+IEMgY29uc3QgKFNDIC0gUXVhbGlmaWNhdGlvbiBBZGp1c3RtZW50KSAtPiBCIGNvbnN0IHZvbGF0aWxlKiAoVURDKQorQyAtPiBEIGNvbnN0IHZvbGF0aWxlKiAoVURDKSAtPiBCMSBjb25zdCB2b2xhdGlsZSogLyBCMiBjb25zdCB2b2xhdGlsZSogLT4KKyAgICAgQiBjb25zdCB2b2xhdGlsZSogKFNDIC0gQ29udmVyc2lvbikKKworRm9yICJzdGF0aWMgeWVzX3R5cGUgY2hlY2tfc2lnKEQgY29uc3Qgdm9sYXRpbGUgKiwgVCkiIHdlIGhhdmUgdGhlIGNvbnZlcnNpb24KK3NlcXVlbmNlOgorCitDIC0+IEQgY29uc3Qgdm9sYXRpbGUqIChVREMpCisKK0FjY29yZGluZyB0byAxMy4zLjMuMS80LCBpbiBjb250ZXh0IG9mIHVzZXItZGVmaW5lZCBjb252ZXJzaW9uIG9ubHkgdGhlCitzdGFuZGFyZCBjb252ZXJzaW9uIHNlcXVlbmNlIGlzIGNvbnNpZGVyZWQgd2hlbiBzZWxlY3RpbmcgdGhlIGJlc3QgdmlhYmxlCitmdW5jdGlvbiwgc28gaXQgb25seSBjb25zaWRlcnMgdXAgdG8gdGhlIHVzZXItZGVmaW5lZCBjb252ZXJzaW9uLiBGb3IgdGhlCitmaXJzdCBmdW5jdGlvbiB0aGlzIG1lYW5zIGNob29zaW5nIGJldHdlZW4gQyAtPiBDIGNvbnN0IGFuZCBDIC0+IEMsIGFuZCBpdAorY2hvb3NlcyB0aGUgbGF0dGVyLCBiZWNhdXNlIGl0J3MgYSBwcm9wZXIgc3Vic2V0ICgxMy4zLjMuMi8zLzIpIG9mIHRoZQorZm9ybWVyLiBUaGVyZWZvcmUsIHdlIGhhdmU6CisKK0MgLT4gRCBjb25zdCB2b2xhdGlsZSogKFVEQykgLT4gQjEgY29uc3Qgdm9sYXRpbGUqIC8gQjIgY29uc3Qgdm9sYXRpbGUqIC0+CisgICAgIEIgY29uc3Qgdm9sYXRpbGUqIChTQyAtIENvbnZlcnNpb24pCitDIC0+IEQgY29uc3Qgdm9sYXRpbGUqIChVREMpCisKK0hlcmUsIHRoZSBwcmluY2lwbGUgb2YgdGhlICJzaG9ydGVzdCBzdWJzZXF1ZW5jZSIgYXBwbGllcyBhZ2FpbiwgYW5kIGl0CitjaG9vc2VzIEMgLT4gRCBjb25zdCB2b2xhdGlsZSouIFRoaXMgc2hvd3MgdGhhdCBpdCBkb2Vzbid0IGV2ZW4gbmVlZCB0bworY29uc2lkZXIgdGhlIG11bHRpcGxlIHBhdGhzIHRvIEIsIG9yIGFjY2Vzc2liaWxpdHksIGFzIHRoYXQgcG9zc2liaWxpdHkgaXMKK2VsaW1pbmF0ZWQgYmVmb3JlIGl0IGNvdWxkIHBvc3NpYmx5IGNhdXNlIGFtYmlndWl0eSBvciBhY2Nlc3MgdmlvbGF0aW9uLgorCitJZiBEIGlzIG5vdCBkZXJpdmVkIGZyb20gQiwgaXQgaGFzIHRvIGNob29zZSBiZXR3ZWVuIEMgLT4gQyBjb25zdCAtPiBCIGNvbnN0Cit2b2xhdGlsZSogZm9yIHRoZSBmaXJzdCBmdW5jdGlvbiwgYW5kIEMgLT4gRCBjb25zdCB2b2xhdGlsZSogZm9yIHRoZSBzZWNvbmQKK2Z1bmN0aW9uLCB3aGljaCBhcmUganVzdCBhcyBnb29kIChib3RoIHJlcXVpcmVzIGEgVURDLCAxMy4zLjMuMiksIGhhZCBpdCBub3QKK2JlZW4gZm9yIHRoZSBmYWN0IHRoYXQgInN0YXRpYyBub190eXBlIGNoZWNrX3NpZyhCIGNvbnN0IHZvbGF0aWxlICosIGludCkiIGlzCitub3QgdGVtcGxhdGVkLCB3aGljaCBtYWtlcyBDIC0+IEMgY29uc3QgLT4gQiBjb25zdCB2b2xhdGlsZSogdGhlIGJlc3QgY2hvaWNlCisoMTMuMy4zLzEvNCksIHJlc3VsdGluZyBpbiAibm8iLgorCitBbHNvLCBpZiBIb3N0OjpvcGVyYXRvciBCIGNvbnN0IHZvbGF0aWxlKiBoYWRuJ3QgYmVlbiBjb25zdCwgdGhlIHR3bworY29udmVyc2lvbiBzZXF1ZW5jZXMgZm9yICJzdGF0aWMgbm9fdHlwZSBjaGVja19zaWcoQiBjb25zdCB2b2xhdGlsZSAqLCBpbnQpIiwgaW4KK3RoZSBjYXNlIHdoZXJlIEQgaXMgZGVyaXZlZCBmcm9tIEIsIHdvdWxkIGhhdmUgYmVlbiBhbWJpZ3VvdXMuCisKK1NlZSBhbHNvCitodHRwOi8vZ3JvdXBzLmdvb2dsZS5jb20vZ3JvdXBzP3NlbG09ZGY4OTNkYTYuMDMwMTI4MDg1OS41MjIwODFmNyU0MHBvc3RpbmcuCitnb29nbGUuY29tIGFuZCBsaW5rcyB0aGVyZWluLgorCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCit0ZW1wbGF0ZSA8dHlwZW5hbWUgQiwgdHlwZW5hbWUgRD4KK3N0cnVjdCBiZF9oZWxwZXIKK3sKKyAgIC8vCisgICAvLyBUaGlzIFZDNy4xIHNwZWNpZmljIHdvcmthcm91bmQgc3RvcHMgdGhlIGNvbXBpbGVyIGZyb20gZ2VuZXJhdGluZworICAgLy8gYW4gaW50ZXJuYWwgY29tcGlsZXIgZXJyb3Igd2hlbiBjb21waWxpbmcgd2l0aCAvdm1nICh0aGFua3MgdG8KKyAgIC8vIEFsZWtzZXkgR3VydG92b3kgZm9yIGZpZ3VyaW5nIG91dCB0aGUgd29ya2Fyb3VuZCkuCisgICAvLworI2lmICFCT09TVF9XT1JLQVJPVU5EKEJPT1NUX01TVkMsID09IDEzMTApCisgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFQ+CisgICAgc3RhdGljIHR5cGVfdHJhaXRzOjp5ZXNfdHlwZSBjaGVja19zaWcoRCBjb25zdCB2b2xhdGlsZSAqLCBUKTsKKyAgICBzdGF0aWMgdHlwZV90cmFpdHM6Om5vX3R5cGUgIGNoZWNrX3NpZyhCIGNvbnN0IHZvbGF0aWxlICosIGludCk7CisjZWxzZQorICAgIHN0YXRpYyB0eXBlX3RyYWl0czo6eWVzX3R5cGUgY2hlY2tfc2lnKEQgY29uc3Qgdm9sYXRpbGUgKiwgbG9uZyk7CisgICAgc3RhdGljIHR5cGVfdHJhaXRzOjpub190eXBlICBjaGVja19zaWcoQiBjb25zdCB2b2xhdGlsZSAqIGNvbnN0JiwgaW50KTsKKyNlbmRpZgorfTsKKwordGVtcGxhdGU8dHlwZW5hbWUgQiwgdHlwZW5hbWUgRD4KK3N0cnVjdCBpc19iYXNlX2FuZF9kZXJpdmVkX2ltcGwyCit7CisjaWYgQk9PU1RfV09SS0FST1VORChCT09TVF9NU1ZDX0ZVTExfVkVSLCA+PSAxNDAwNTAwMDApCisjcHJhZ21hIHdhcm5pbmcocHVzaCkKKyNwcmFnbWEgd2FybmluZyhkaXNhYmxlOjYzMzQpCisjZW5kaWYKKyAgICAvLworICAgIC8vIE1heSBzaWxlbnRseSBkbyB0aGUgd3JvbmcgdGhpbmcgd2l0aCBpbmNvbXBsZXRlIHR5cGVzCisgICAgLy8gdW5sZXNzIHdlIHRyYXAgdGhlbSBoZXJlOgorICAgIC8vCisgICAgQk9PU1RfU1RBVElDX0FTU0VSVChzaXplb2YoQikgIT0gMCk7CisgICAgQk9PU1RfU1RBVElDX0FTU0VSVChzaXplb2YoRCkgIT0gMCk7CisKKyAgICBzdHJ1Y3QgSG9zdAorICAgIHsKKyNpZiAhQk9PU1RfV09SS0FST1VORChCT09TVF9NU1ZDLCA9PSAxMzEwKQorICAgICAgICBvcGVyYXRvciBCIGNvbnN0IHZvbGF0aWxlICooKSBjb25zdDsKKyNlbHNlCisgICAgICAgIG9wZXJhdG9yIEIgY29uc3Qgdm9sYXRpbGUgKiBjb25zdCYoKSBjb25zdDsKKyNlbmRpZgorICAgICAgICBvcGVyYXRvciBEIGNvbnN0IHZvbGF0aWxlICooKTsKKyAgICB9OworCisgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGJvb2wsIHZhbHVlID0KKyAgICAgICAgc2l6ZW9mKGJkX2hlbHBlcjxCLEQ+OjpjaGVja19zaWcoSG9zdCgpLCAwKSkgPT0gc2l6ZW9mKHR5cGVfdHJhaXRzOjp5ZXNfdHlwZSkpOworI2lmIEJPT1NUX1dPUktBUk9VTkQoQk9PU1RfTVNWQ19GVUxMX1ZFUiwgPj0gMTQwMDUwMDAwKQorI3ByYWdtYSB3YXJuaW5nKHBvcCkKKyNlbmRpZgorfTsKKworI2Vsc2UKKworLy8KKy8vIGJyb2tlbiB2ZXJzaW9uOgorLy8KK3RlbXBsYXRlPHR5cGVuYW1lIEIsIHR5cGVuYW1lIEQ+CitzdHJ1Y3QgaXNfYmFzZV9hbmRfZGVyaXZlZF9pbXBsMgoreworICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChib29sLCB2YWx1ZSA9CisgICAgICAgICg6Om5kbmJvb3N0Ojppc19jb252ZXJ0aWJsZTxEKixCKj46OnZhbHVlKSk7Cit9OworCisjZGVmaW5lIEJPT1NUX0JST0tFTl9JU19CQVNFX0FORF9ERVJJVkVECisKKyNlbmRpZgorCit0ZW1wbGF0ZSA8dHlwZW5hbWUgQiwgdHlwZW5hbWUgRD4KK3N0cnVjdCBpc19iYXNlX2FuZF9kZXJpdmVkX2ltcGwzCit7CisgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGJvb2wsIHZhbHVlID0gZmFsc2UpOworfTsKKwordGVtcGxhdGUgPGJvb2wgaWMxLCBib29sIGljMiwgYm9vbCBpc3M+CitzdHJ1Y3QgaXNfYmFzZV9hbmRfZGVyaXZlZF9zZWxlY3QKK3sKKyAgIHRlbXBsYXRlIDxjbGFzcyBULCBjbGFzcyBVPgorICAgc3RydWN0IHJlYmluZAorICAgeworICAgICAgdHlwZWRlZiBpc19iYXNlX2FuZF9kZXJpdmVkX2ltcGwzPFQsVT4gdHlwZTsKKyAgIH07Cit9OworCit0ZW1wbGF0ZSA8Pgorc3RydWN0IGlzX2Jhc2VfYW5kX2Rlcml2ZWRfc2VsZWN0PHRydWUsdHJ1ZSxmYWxzZT4KK3sKKyAgIHRlbXBsYXRlIDxjbGFzcyBULCBjbGFzcyBVPgorICAgc3RydWN0IHJlYmluZAorICAgeworICAgICAgdHlwZWRlZiBpc19iYXNlX2FuZF9kZXJpdmVkX2ltcGwyPFQsVT4gdHlwZTsKKyAgIH07Cit9OworCit0ZW1wbGF0ZSA8dHlwZW5hbWUgQiwgdHlwZW5hbWUgRD4KK3N0cnVjdCBpc19iYXNlX2FuZF9kZXJpdmVkX2ltcGwKK3sKKyAgICB0eXBlZGVmIHR5cGVuYW1lIHJlbW92ZV9jdjxCPjo6dHlwZSBuY3ZCOworICAgIHR5cGVkZWYgdHlwZW5hbWUgcmVtb3ZlX2N2PEQ+Ojp0eXBlIG5jdkQ7CisKKyAgICB0eXBlZGVmIGlzX2Jhc2VfYW5kX2Rlcml2ZWRfc2VsZWN0PAorICAgICAgIDo6bmRuYm9vc3Q6OmlzX2NsYXNzPEI+Ojp2YWx1ZSwKKyAgICAgICA6Om5kbmJvb3N0Ojppc19jbGFzczxEPjo6dmFsdWUsCisgICAgICAgOjpuZG5ib29zdDo6aXNfc2FtZTxuY3ZCLG5jdkQ+Ojp2YWx1ZT4gc2VsZWN0b3I7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBzZWxlY3Rvcjo6dGVtcGxhdGUgcmViaW5kPG5jdkIsbmN2RD4gYmluZGVyOworICAgIHR5cGVkZWYgdHlwZW5hbWUgYmluZGVyOjp0eXBlIGJvdW5kX3R5cGU7CisKKyAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoYm9vbCwgdmFsdWUgPSBib3VuZF90eXBlOjp2YWx1ZSk7Cit9OworI2Vsc2UKK3RlbXBsYXRlIDx0eXBlbmFtZSBCLCB0eXBlbmFtZSBEPgorc3RydWN0IGlzX2Jhc2VfYW5kX2Rlcml2ZWRfaW1wbAoreworICAgIHR5cGVkZWYgdHlwZW5hbWUgcmVtb3ZlX2N2PEI+Ojp0eXBlIG5jdkI7CisgICAgdHlwZWRlZiB0eXBlbmFtZSByZW1vdmVfY3Y8RD46OnR5cGUgbmN2RDsKKworICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChib29sLCB2YWx1ZSA9IChCT09TVF9JU19CQVNFX09GKEIsRCkgJiYgISA6Om5kbmJvb3N0Ojppc19zYW1lPG5jdkIsbmN2RD46OnZhbHVlKSk7Cit9OworI2VuZGlmCit9IC8vIG5hbWVzcGFjZSBkZXRhaWwKKworQk9PU1RfVFRfQVVYX0JPT0xfVFJBSVRfREVGMigKKyAgICAgIGlzX2Jhc2VfYW5kX2Rlcml2ZWQKKyAgICAsIEJhc2UKKyAgICAsIERlcml2ZWQKKyAgICAsICg6Om5kbmJvb3N0OjpkZXRhaWw6OmlzX2Jhc2VfYW5kX2Rlcml2ZWRfaW1wbDxCYXNlLERlcml2ZWQ+Ojp2YWx1ZSkKKyAgICApCisKKyNpZm5kZWYgQk9PU1RfTk9fVEVNUExBVEVfUEFSVElBTF9TUEVDSUFMSVpBVElPTgorQk9PU1RfVFRfQVVYX0JPT0xfVFJBSVRfUEFSVElBTF9TUEVDMl8yKHR5cGVuYW1lIEJhc2UsdHlwZW5hbWUgRGVyaXZlZCxpc19iYXNlX2FuZF9kZXJpdmVkLEJhc2UmLERlcml2ZWQsZmFsc2UpCitCT09TVF9UVF9BVVhfQk9PTF9UUkFJVF9QQVJUSUFMX1NQRUMyXzIodHlwZW5hbWUgQmFzZSx0eXBlbmFtZSBEZXJpdmVkLGlzX2Jhc2VfYW5kX2Rlcml2ZWQsQmFzZSxEZXJpdmVkJixmYWxzZSkKK0JPT1NUX1RUX0FVWF9CT09MX1RSQUlUX1BBUlRJQUxfU1BFQzJfMih0eXBlbmFtZSBCYXNlLHR5cGVuYW1lIERlcml2ZWQsaXNfYmFzZV9hbmRfZGVyaXZlZCxCYXNlJixEZXJpdmVkJixmYWxzZSkKKyNlbmRpZgorCisjaWYgQk9PU1RfV09SS0FST1VORChfX0NPREVHRUFSQ19fLCBCT09TVF9URVNURURfQVQoMHg2MTApKQorQk9PU1RfVFRfQVVYX0JPT0xfVFJBSVRfUEFSVElBTF9TUEVDMl8xKHR5cGVuYW1lIEJhc2UsaXNfYmFzZV9hbmRfZGVyaXZlZCxCYXNlLEJhc2UsZmFsc2UpCisjZW5kaWYKKworfSAvLyBuYW1lc3BhY2UgbmRuYm9vc3QKKworI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2RldGFpbC9ib29sX3RyYWl0X3VuZGVmLmhwcD4KKworI2VuZGlmIC8vIEJPT1NUX1RUX0lTX0JBU0VfQU5EX0RFUklWRURfSFBQX0lOQ0xVREVECmRpZmYgLS1naXQgYS9uZG5ib29zdC90eXBlX3RyYWl0cy9pc19iYXNlX29mLmhwcCBiL25kbmJvb3N0L3R5cGVfdHJhaXRzL2lzX2Jhc2Vfb2YuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQzMjc2NmIKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC90eXBlX3RyYWl0cy9pc19iYXNlX29mLmhwcApAQCAtMCwwICsxLDUxIEBACisKKy8vICAoQykgQ29weXJpZ2h0IFJhbmkgU2hhcm9uaSAyMDAzLTIwMDUuCisvLyAgVXNlLCBtb2RpZmljYXRpb24gYW5kIGRpc3RyaWJ1dGlvbiBhcmUgc3ViamVjdCB0byB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwKKy8vICBWZXJzaW9uIDEuMC4gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdAorLy8gIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkuCisvLworLy8gIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL3R5cGVfdHJhaXRzIGZvciBtb3N0IHJlY2VudCB2ZXJzaW9uIGluY2x1ZGluZyBkb2N1bWVudGF0aW9uLgorIAorI2lmbmRlZiBCT09TVF9UVF9JU19CQVNFX09GX0hQUF9JTkNMVURFRAorI2RlZmluZSBCT09TVF9UVF9JU19CQVNFX09GX0hQUF9JTkNMVURFRAorCisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvaXNfYmFzZV9hbmRfZGVyaXZlZC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvaXNfc2FtZS5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvaXNfY2xhc3MuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2RldGFpbC9pY2Vfb3IuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2RldGFpbC9pY2VfYW5kLmhwcD4KKworLy8gc2hvdWxkIGJlIHRoZSBsYXN0ICNpbmNsdWRlCisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvZGV0YWlsL2Jvb2xfdHJhaXRfZGVmLmhwcD4KKworbmFtZXNwYWNlIG5kbmJvb3N0IHsKKworICAgbmFtZXNwYWNlIGRldGFpbHsKKyAgICAgIHRlbXBsYXRlIDxjbGFzcyBCLCBjbGFzcyBEPgorICAgICAgc3RydWN0IGlzX2Jhc2Vfb2ZfaW1wCisgICAgICB7CisgICAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSByZW1vdmVfY3Y8Qj46OnR5cGUgbmN2QjsKKyAgICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHJlbW92ZV9jdjxEPjo6dHlwZSBuY3ZEOworICAgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChib29sLCB2YWx1ZSA9ICg6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6aWNlX29yPCAgICAgIAorICAgICAgICAgICAgKDo6bmRuYm9vc3Q6OmRldGFpbDo6aXNfYmFzZV9hbmRfZGVyaXZlZF9pbXBsPG5jdkIsbmN2RD46OnZhbHVlKSwKKyAgICAgICAgICAgICg6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6aWNlX2FuZDwgOjpuZG5ib29zdDo6aXNfc2FtZTxuY3ZCLG5jdkQ+Ojp2YWx1ZSwgOjpuZG5ib29zdDo6aXNfY2xhc3M8bmN2Qj46OnZhbHVlPjo6dmFsdWUpPjo6dmFsdWUpKTsKKyAgICAgIH07CisgICB9CisKK0JPT1NUX1RUX0FVWF9CT09MX1RSQUlUX0RFRjIoCisgICAgICBpc19iYXNlX29mCisgICAgLCBCYXNlCisgICAgLCBEZXJpdmVkCisgICAgLCAoOjpuZG5ib29zdDo6ZGV0YWlsOjppc19iYXNlX29mX2ltcDxCYXNlLCBEZXJpdmVkPjo6dmFsdWUpKQorCisjaWZuZGVmIEJPT1NUX05PX1RFTVBMQVRFX1BBUlRJQUxfU1BFQ0lBTElaQVRJT04KK0JPT1NUX1RUX0FVWF9CT09MX1RSQUlUX1BBUlRJQUxfU1BFQzJfMih0eXBlbmFtZSBCYXNlLHR5cGVuYW1lIERlcml2ZWQsaXNfYmFzZV9vZixCYXNlJixEZXJpdmVkLGZhbHNlKQorQk9PU1RfVFRfQVVYX0JPT0xfVFJBSVRfUEFSVElBTF9TUEVDMl8yKHR5cGVuYW1lIEJhc2UsdHlwZW5hbWUgRGVyaXZlZCxpc19iYXNlX29mLEJhc2UsRGVyaXZlZCYsZmFsc2UpCitCT09TVF9UVF9BVVhfQk9PTF9UUkFJVF9QQVJUSUFMX1NQRUMyXzIodHlwZW5hbWUgQmFzZSx0eXBlbmFtZSBEZXJpdmVkLGlzX2Jhc2Vfb2YsQmFzZSYsRGVyaXZlZCYsZmFsc2UpCisjZW5kaWYKKworfSAvLyBuYW1lc3BhY2UgbmRuYm9vc3QKKworI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2RldGFpbC9ib29sX3RyYWl0X3VuZGVmLmhwcD4KKworI2VuZGlmIC8vIEJPT1NUX1RUX0lTX0JBU0VfQU5EX0RFUklWRURfSFBQX0lOQ0xVREVECmRpZmYgLS1naXQgYS9uZG5ib29zdC90eXBlX3RyYWl0cy9pc19jb21wbGV4LmhwcCBiL25kbmJvb3N0L3R5cGVfdHJhaXRzL2lzX2NvbXBsZXguaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNlZWFhZTUKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC90eXBlX3RyYWl0cy9pc19jb21wbGV4LmhwcApAQCAtMCwwICsxLDM0IEBACisvLyAgKEMpIENvcHlyaWdodCBKb2huIE1hZGRvY2sgMjAwNy4gCisvLyAgVXNlLCBtb2RpZmljYXRpb24gYW5kIGRpc3RyaWJ1dGlvbiBhcmUgc3ViamVjdCB0byB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwKKy8vICBWZXJzaW9uIDEuMC4gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdAorLy8gIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkuCisvLworLy8gIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL3R5cGVfdHJhaXRzIGZvciBtb3N0IHJlY2VudCB2ZXJzaW9uIGluY2x1ZGluZyBkb2N1bWVudGF0aW9uLgorCisjaWZuZGVmIEJPT1NUX1RUX0lTX0NPTVBMRVhfSFBQCisjZGVmaW5lIEJPT1NUX1RUX0lTX0NPTVBMRVhfSFBQCisKKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9pc19jb252ZXJ0aWJsZS5ocHA+CisjaW5jbHVkZSA8Y29tcGxleD4KKy8vIHNob3VsZCBiZSB0aGUgbGFzdCAjaW5jbHVkZQorI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2RldGFpbC9ib29sX3RyYWl0X2RlZi5ocHA+CisKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsKK25hbWVzcGFjZSBkZXRhaWx7CisKK3N0cnVjdCBpc19jb252ZXJ0aWJsZV9mcm9tX3Rlc3RlcgoreworICAgdGVtcGxhdGUgPGNsYXNzIFQ+CisgICBpc19jb252ZXJ0aWJsZV9mcm9tX3Rlc3Rlcihjb25zdCBzdGQ6OmNvbXBsZXg8VD4mKTsKK307CisKK30KKworQk9PU1RfVFRfQVVYX0JPT0xfVFJBSVRfREVGMShpc19jb21wbGV4LFQsKDo6bmRuYm9vc3Q6OmlzX2NvbnZlcnRpYmxlPFQsIG5kbmJvb3N0OjpkZXRhaWw6OmlzX2NvbnZlcnRpYmxlX2Zyb21fdGVzdGVyPjo6dmFsdWUpKQorCit9IC8vIG5hbWVzcGFjZSBuZG5ib29zdAorCisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvZGV0YWlsL2Jvb2xfdHJhaXRfdW5kZWYuaHBwPgorCisjZW5kaWYgLy9CT09TVF9UVF9JU19DT01QTEVYX0hQUApkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvdHlwZV90cmFpdHMvaXNfY29tcG91bmQuaHBwIGIvbmRuYm9vc3QvdHlwZV90cmFpdHMvaXNfY29tcG91bmQuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZmZDM0YzUKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC90eXBlX3RyYWl0cy9pc19jb21wb3VuZC5ocHAKQEAgLTAsMCArMSw0NiBAQAorCisvLyAgKEMpIENvcHlyaWdodCBTdGV2ZSBDbGVhcnksIEJlbWFuIERhd2VzLCBIb3dhcmQgSGlubmFudCAmIEpvaG4gTWFkZG9jayAyMDAwLgorLy8gIFVzZSwgbW9kaWZpY2F0aW9uIGFuZCBkaXN0cmlidXRpb24gYXJlIHN1YmplY3QgdG8gdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsCisvLyAgVmVyc2lvbiAxLjAuIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQKKy8vICBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpLgorLy8KKy8vICBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvbGlicy90eXBlX3RyYWl0cyBmb3IgbW9zdCByZWNlbnQgdmVyc2lvbiBpbmNsdWRpbmcgZG9jdW1lbnRhdGlvbi4KKworI2lmbmRlZiBCT09TVF9UVF9JU19DT01QT1VORF9IUFBfSU5DTFVERUQKKyNkZWZpbmUgQk9PU1RfVFRfSVNfQ09NUE9VTkRfSFBQX0lOQ0xVREVECisKKyNpbmNsdWRlIDxuZG5ib29zdC9jb25maWcuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2lzX2Z1bmRhbWVudGFsLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9kZXRhaWwvaWNlX25vdC5ocHA+CisKKy8vIHNob3VsZCBiZSB0aGUgbGFzdCAjaW5jbHVkZQorI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2RldGFpbC9ib29sX3RyYWl0X2RlZi5ocHA+CisKK25hbWVzcGFjZSBuZG5ib29zdCB7CisKKyNpZiAhZGVmaW5lZCggX19DT0RFR0VBUkNfXyApCituYW1lc3BhY2UgZGV0YWlsIHsKKwordGVtcGxhdGUgPHR5cGVuYW1lIFQ+CitzdHJ1Y3QgaXNfY29tcG91bmRfaW1wbAoreworICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGJvb2wsIHZhbHVlID0KKyAgICAgICg6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6aWNlX25vdDwKKyAgICAgICAgIDo6bmRuYm9vc3Q6OmlzX2Z1bmRhbWVudGFsPFQ+Ojp2YWx1ZQorICAgICAgID46OnZhbHVlKSk7Cit9OworCit9IC8vIG5hbWVzcGFjZSBkZXRhaWwKKyNlbmRpZiAvLyAhZGVmaW5lZCggX19DT0RFR0VBUkNfXyApCisKKyNpZiBkZWZpbmVkKCBfX0NPREVHRUFSQ19fICkKK0JPT1NUX1RUX0FVWF9CT09MX1RSQUlUX0RFRjEoaXNfY29tcG91bmQsVCxfX2lzX2NvbXBvdW5kKFQpKQorI2Vsc2UKK0JPT1NUX1RUX0FVWF9CT09MX1RSQUlUX0RFRjEoaXNfY29tcG91bmQsVCw6Om5kbmJvb3N0OjpkZXRhaWw6OmlzX2NvbXBvdW5kX2ltcGw8VD46OnZhbHVlKQorI2VuZGlmCisKK30gLy8gbmFtZXNwYWNlIG5kbmJvb3N0CisKKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9kZXRhaWwvYm9vbF90cmFpdF91bmRlZi5ocHA+CisKKyNlbmRpZiAvLyBCT09TVF9UVF9JU19DT01QT1VORF9IUFBfSU5DTFVERUQKZGlmZiAtLWdpdCBhL25kbmJvb3N0L3R5cGVfdHJhaXRzL2lzX2VtcHR5LmhwcCBiL25kbmJvb3N0L3R5cGVfdHJhaXRzL2lzX2VtcHR5LmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMzBlOTBkCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvdHlwZV90cmFpdHMvaXNfZW1wdHkuaHBwCkBAIC0wLDAgKzEsMjI5IEBACisKKy8vIChDKSBDb3B5cmlnaHQgU3RldmUgQ2xlYXJ5LCBCZW1hbiBEYXdlcywgSG93YXJkIEhpbm5hbnQgJiBKb2huIE1hZGRvY2sgMjAwMC4KKy8vICBVc2UsIG1vZGlmaWNhdGlvbiBhbmQgZGlzdHJpYnV0aW9uIGFyZSBzdWJqZWN0IHRvIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLAorLy8gIFZlcnNpb24gMS4wLiAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0CisvLyAgaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KS4KKy8vCisvLyAgU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL2xpYnMvdHlwZV90cmFpdHMgZm9yIG1vc3QgcmVjZW50IHZlcnNpb24gaW5jbHVkaW5nIGRvY3VtZW50YXRpb24uCisKKyNpZm5kZWYgQk9PU1RfVFRfSVNfRU1QVFlfSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX1RUX0lTX0VNUFRZX0hQUF9JTkNMVURFRAorCisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvaXNfY29udmVydGlibGUuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2RldGFpbC9pY2Vfb3IuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2NvbmZpZy5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvaW50cmluc2ljcy5ocHA+CisKKyNpZm5kZWYgQk9PU1RfTk9fVEVNUExBVEVfUEFSVElBTF9TUEVDSUFMSVpBVElPTgorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL3JlbW92ZV9jdi5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvaXNfY2xhc3MuaHBwPgorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2FkZF9yZWZlcmVuY2UuaHBwPgorI2Vsc2UKKyMgICBpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9pc19yZWZlcmVuY2UuaHBwPgorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2lzX3BvaW50ZXIuaHBwPgorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2lzX21lbWJlcl9wb2ludGVyLmhwcD4KKyMgICBpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9pc19hcnJheS5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvaXNfdm9pZC5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvZGV0YWlsL2ljZV9hbmQuaHBwPgorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2RldGFpbC9pY2Vfbm90LmhwcD4KKyNlbmRpZgorCisvLyBzaG91bGQgYmUgYWx3YXlzIHRoZSBsYXN0ICNpbmNsdWRlIGRpcmVjdGl2ZQorI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2RldGFpbC9ib29sX3RyYWl0X2RlZi5ocHA+CisKKyNpZm5kZWYgQk9PU1RfSU5URVJOQUxfSVNfRU1QVFkKKyNkZWZpbmUgQk9PU1RfSU5URVJOQUxfSVNfRU1QVFkoVCkgZmFsc2UKKyNlbHNlCisjZGVmaW5lIEJPT1NUX0lOVEVSTkFMX0lTX0VNUFRZKFQpIEJPT1NUX0lTX0VNUFRZKFQpCisjZW5kaWYKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsKKworbmFtZXNwYWNlIGRldGFpbCB7CisKKyNpZm5kZWYgQk9PU1RfTk9fVEVNUExBVEVfUEFSVElBTF9TUEVDSUFMSVpBVElPTgorCisjaWZkZWYgQk9PU1RfTVNWQworI3ByYWdtYSB3YXJuaW5nKHB1c2gpCisjcHJhZ21hIHdhcm5pbmcoZGlzYWJsZTo0NjI0KSAvLyBkZXN0cnVjdG9yIGNvdWxkIG5vdCBiZSBnZW5lcmF0ZWQKKyNlbmRpZgorCit0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KK3N0cnVjdCBlbXB0eV9oZWxwZXJfdDEgOiBwdWJsaWMgVAoreworICAgIGVtcHR5X2hlbHBlcl90MSgpOyAgLy8gaGggY29tcGlsZXIgYnVnIHdvcmthcm91bmQKKyAgICBpbnQgaVsyNTZdOworcHJpdmF0ZToKKyAgIC8vIHN1cHByZXNzIGNvbXBpbGVyIHdhcm5pbmdzOgorICAgZW1wdHlfaGVscGVyX3QxKGNvbnN0IGVtcHR5X2hlbHBlcl90MSYpOworICAgZW1wdHlfaGVscGVyX3QxJiBvcGVyYXRvcj0oY29uc3QgZW1wdHlfaGVscGVyX3QxJik7Cit9OworCisjaWZkZWYgQk9PU1RfTVNWQworI3ByYWdtYSB3YXJuaW5nKHBvcCkKKyNlbmRpZgorCitzdHJ1Y3QgZW1wdHlfaGVscGVyX3QyIHsgaW50IGlbMjU2XTsgfTsKKworI2lmICFCT09TVF9XT1JLQVJPVU5EKF9fQk9STEFORENfXywgPCAweDYwMCkKKwordGVtcGxhdGUgPHR5cGVuYW1lIFQsIGJvb2wgaXNfYV9jbGFzcyA9IGZhbHNlPgorc3RydWN0IGVtcHR5X2hlbHBlcgoreworICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChib29sLCB2YWx1ZSA9IGZhbHNlKTsKK307CisKK3RlbXBsYXRlIDx0eXBlbmFtZSBUPgorc3RydWN0IGVtcHR5X2hlbHBlcjxULCB0cnVlPgoreworICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVCgKKyAgICAgICAgYm9vbCwgdmFsdWUgPSAoc2l6ZW9mKGVtcHR5X2hlbHBlcl90MTxUPikgPT0gc2l6ZW9mKGVtcHR5X2hlbHBlcl90MikpCisgICAgICAgICk7Cit9OworCit0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KK3N0cnVjdCBpc19lbXB0eV9pbXBsCit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSByZW1vdmVfY3Y8VD46OnR5cGUgY3Z0OworICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVCgKKyAgICAgICAgYm9vbCwgdmFsdWUgPSAoCisgICAgICAgICAgICA6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6aWNlX29yPAorICAgICAgICAgICAgICA6Om5kbmJvb3N0OjpkZXRhaWw6OmVtcHR5X2hlbHBlcjxjdnQsOjpuZG5ib29zdDo6aXNfY2xhc3M8VD46OnZhbHVlPjo6dmFsdWUKKyAgICAgICAgICAgICAgLCBCT09TVF9JTlRFUk5BTF9JU19FTVBUWShjdnQpCisgICAgICAgICAgICA+Ojp2YWx1ZQorICAgICAgICAgICAgKSk7Cit9OworCisjZWxzZSAvLyBfX0JPUkxBTkRDX18KKwordGVtcGxhdGUgPHR5cGVuYW1lIFQsIGJvb2wgaXNfYV9jbGFzcywgYm9vbCBjb252ZXJ0aWJsZV90b19pbnQ+CitzdHJ1Y3QgZW1wdHlfaGVscGVyCit7CisgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGJvb2wsIHZhbHVlID0gZmFsc2UpOworfTsKKwordGVtcGxhdGUgPHR5cGVuYW1lIFQ+CitzdHJ1Y3QgZW1wdHlfaGVscGVyPFQsIHRydWUsIGZhbHNlPgoreworICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChib29sLCB2YWx1ZSA9ICgKKyAgICAgICAgc2l6ZW9mKGVtcHR5X2hlbHBlcl90MTxUPikgPT0gc2l6ZW9mKGVtcHR5X2hlbHBlcl90MikKKyAgICAgICAgKSk7Cit9OworCit0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KK3N0cnVjdCBpc19lbXB0eV9pbXBsCit7CisgICB0eXBlZGVmIHR5cGVuYW1lIHJlbW92ZV9jdjxUPjo6dHlwZSBjdnQ7CisgICB0eXBlZGVmIHR5cGVuYW1lIGFkZF9yZWZlcmVuY2U8VD46OnR5cGUgcl90eXBlOworCisgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoCisgICAgICAgYm9vbCwgdmFsdWUgPSAoCisgICAgICAgICAgIDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2Vfb3I8CisgICAgICAgICAgICAgIDo6bmRuYm9vc3Q6OmRldGFpbDo6ZW1wdHlfaGVscGVyPAorICAgICAgICAgICAgICAgICAgY3Z0CisgICAgICAgICAgICAgICAgLCA6Om5kbmJvb3N0Ojppc19jbGFzczxUPjo6dmFsdWUKKyAgICAgICAgICAgICAgICAsIDo6bmRuYm9vc3Q6OmlzX2NvbnZlcnRpYmxlPCByX3R5cGUsaW50Pjo6dmFsdWUKKyAgICAgICAgICAgICAgPjo6dmFsdWUKKyAgICAgICAgICAgICAgLCBCT09TVF9JTlRFUk5BTF9JU19FTVBUWShjdnQpCisgICAgICAgICAgID46OnZhbHVlKSk7Cit9OworCisjZW5kaWYgLy8gX19CT1JMQU5EQ19fCisKKyNlbHNlIC8vIEJPT1NUX05PX1RFTVBMQVRFX1BBUlRJQUxfU1BFQ0lBTElaQVRJT04KKworI2lmZGVmIEJPT1NUX01TVkM2X01FTUJFUl9URU1QTEFURVMKKwordGVtcGxhdGUgPHR5cGVuYW1lIFQ+CitzdHJ1Y3QgZW1wdHlfaGVscGVyX3QxIDogcHVibGljIFQKK3sKKyAgIGVtcHR5X2hlbHBlcl90MSgpOworICAgaW50IGlbMjU2XTsKK307CisKK3N0cnVjdCBlbXB0eV9oZWxwZXJfdDIgeyBpbnQgaVsyNTZdOyB9OworCit0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KK3N0cnVjdCBlbXB0eV9oZWxwZXJfYmFzZQoreworICAgZW51bSB7IHZhbHVlID0gKHNpemVvZihlbXB0eV9oZWxwZXJfdDE8VD4pID09IHNpemVvZihlbXB0eV9oZWxwZXJfdDIpKSB9OworfTsKKwordGVtcGxhdGUgPHR5cGVuYW1lIFQ+CitzdHJ1Y3QgZW1wdHlfaGVscGVyX25vbmJhc2UKK3sKKyAgIGVudW0geyB2YWx1ZSA9IGZhbHNlIH07Cit9OworCit0ZW1wbGF0ZSA8Ym9vbCBiYXNlPgorc3RydWN0IGVtcHR5X2hlbHBlcl9jaG9vc2VyCit7CisgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gc3RydWN0IHJlc3VsdF8KKyAgIHsKKyAgICAgIHR5cGVkZWYgZW1wdHlfaGVscGVyX25vbmJhc2U8VD4gdHlwZTsKKyAgIH07Cit9OworCit0ZW1wbGF0ZSA8Pgorc3RydWN0IGVtcHR5X2hlbHBlcl9jaG9vc2VyPHRydWU+Cit7CisgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gc3RydWN0IHJlc3VsdF8KKyAgIHsKKyAgICAgIHR5cGVkZWYgZW1wdHlfaGVscGVyX2Jhc2U8VD4gdHlwZTsKKyAgIH07Cit9OworCit0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KK3N0cnVjdCBpc19lbXB0eV9pbXBsCit7CisgICB0eXBlZGVmIDo6bmRuYm9vc3Q6OmRldGFpbDo6ZW1wdHlfaGVscGVyX2Nob29zZXI8CisgICAgICA6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6aWNlX2FuZDwKKyAgICAgICAgIDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2Vfbm90PCA6Om5kbmJvb3N0Ojppc19yZWZlcmVuY2U8VD46OnZhbHVlID46OnZhbHVlLAorICAgICAgICAgOjpuZG5ib29zdDo6dHlwZV90cmFpdHM6OmljZV9ub3Q8IDo6bmRuYm9vc3Q6OmlzX2NvbnZlcnRpYmxlPFQsZG91YmxlPjo6dmFsdWUgPjo6dmFsdWUsCisgICAgICAgICA6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6aWNlX25vdDwgOjpuZG5ib29zdDo6aXNfcG9pbnRlcjxUPjo6dmFsdWUgPjo6dmFsdWUsCisgICAgICAgICA6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6aWNlX25vdDwgOjpuZG5ib29zdDo6aXNfbWVtYmVyX3BvaW50ZXI8VD46OnZhbHVlID46OnZhbHVlLAorICAgICAgICAgOjpuZG5ib29zdDo6dHlwZV90cmFpdHM6OmljZV9ub3Q8IDo6bmRuYm9vc3Q6OmlzX2FycmF5PFQ+Ojp2YWx1ZSA+Ojp2YWx1ZSwKKyAgICAgICAgIDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2Vfbm90PCA6Om5kbmJvb3N0Ojppc192b2lkPFQ+Ojp2YWx1ZSA+Ojp2YWx1ZSwKKyAgICAgICAgIDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2Vfbm90PAorICAgICAgICAgICAgOjpuZG5ib29zdDo6aXNfY29udmVydGlibGU8VCx2b2lkIGNvbnN0IHZvbGF0aWxlKj46OnZhbHVlCisgICAgICAgICAgICA+Ojp2YWx1ZQorICAgICAgPjo6dmFsdWUgPiBjaG9vc2VyOworCisgICB0eXBlZGVmIHR5cGVuYW1lIGNob29zZXI6OnRlbXBsYXRlIHJlc3VsdF88VD4gcmVzdWx0OworICAgdHlwZWRlZiB0eXBlbmFtZSByZXN1bHQ6OnR5cGUgZWhfdHlwZTsKKworICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGJvb2wsIHZhbHVlID0KKyAgICAgICg6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6aWNlX29yPGVoX3R5cGU6OnZhbHVlLCBCT09TVF9JTlRFUk5BTF9JU19FTVBUWShUKT46OnZhbHVlKSk7Cit9OworCisjZWxzZQorCit0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gc3RydWN0IGlzX2VtcHR5X2ltcGwKK3sKKyAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoYm9vbCwgdmFsdWUgPSBCT09TVF9JTlRFUk5BTF9JU19FTVBUWShUKSk7Cit9OworCisjZW5kaWYgIC8vIEJPT1NUX01TVkM2X01FTUJFUl9URU1QTEFURVMKKworI2VuZGlmICAvLyBCT09TVF9OT19URU1QTEFURV9QQVJUSUFMX1NQRUNJQUxJWkFUSU9OCisKKy8vIHRoZXNlIGhlbHAgd2hlbiB0aGUgY29tcGlsZXIgaGFzIG5vIHBhcnRpYWwgc3BlY2lhbGl6YXRpb24gc3VwcG9ydDoKK0JPT1NUX1RUX0FVWF9CT09MX1RSQUlUX0lNUExfU1BFQzEoaXNfZW1wdHksdm9pZCxmYWxzZSkKKyNpZm5kZWYgQk9PU1RfTk9fQ1ZfVk9JRF9TUEVDSUFMSVpBVElPTlMKK0JPT1NUX1RUX0FVWF9CT09MX1RSQUlUX0lNUExfU1BFQzEoaXNfZW1wdHksdm9pZCBjb25zdCxmYWxzZSkKK0JPT1NUX1RUX0FVWF9CT09MX1RSQUlUX0lNUExfU1BFQzEoaXNfZW1wdHksdm9pZCB2b2xhdGlsZSxmYWxzZSkKK0JPT1NUX1RUX0FVWF9CT09MX1RSQUlUX0lNUExfU1BFQzEoaXNfZW1wdHksdm9pZCBjb25zdCB2b2xhdGlsZSxmYWxzZSkKKyNlbmRpZgorCit9IC8vIG5hbWVzcGFjZSBkZXRhaWwKKworQk9PU1RfVFRfQVVYX0JPT0xfVFJBSVRfREVGMShpc19lbXB0eSxULDo6bmRuYm9vc3Q6OmRldGFpbDo6aXNfZW1wdHlfaW1wbDxUPjo6dmFsdWUpCisKK30gLy8gbmFtZXNwYWNlIG5kbmJvb3N0CisKKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9kZXRhaWwvYm9vbF90cmFpdF91bmRlZi5ocHA+CisKKyN1bmRlZiBCT09TVF9JTlRFUk5BTF9JU19FTVBUWQorCisjZW5kaWYgLy8gQk9PU1RfVFRfSVNfRU1QVFlfSFBQX0lOQ0xVREVECisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L3R5cGVfdHJhaXRzL2lzX2Zsb2F0aW5nX3BvaW50LmhwcCBiL25kbmJvb3N0L3R5cGVfdHJhaXRzL2lzX2Zsb2F0aW5nX3BvaW50LmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YTNlODhkCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvdHlwZV90cmFpdHMvaXNfZmxvYXRpbmdfcG9pbnQuaHBwCkBAIC0wLDAgKzEsMjcgQEAKKworLy8gIChDKSBDb3B5cmlnaHQgU3RldmUgQ2xlYXJ5LCBCZW1hbiBEYXdlcywgSG93YXJkIEhpbm5hbnQgJiBKb2huIE1hZGRvY2sgMjAwMC0yMDA1LgorLy8gIFVzZSwgbW9kaWZpY2F0aW9uIGFuZCBkaXN0cmlidXRpb24gYXJlIHN1YmplY3QgdG8gdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsCisvLyAgVmVyc2lvbiAxLjAuIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQKKy8vICBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpLgorLy8KKy8vICBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvbGlicy90eXBlX3RyYWl0cyBmb3IgbW9zdCByZWNlbnQgdmVyc2lvbiBpbmNsdWRpbmcgZG9jdW1lbnRhdGlvbi4KKworI2lmbmRlZiBCT09TVF9UWVBFX1RSQUlUU19JU19GTE9BVElOR19IUFBfSU5DTFVERUQKKyNkZWZpbmUgQk9PU1RfVFlQRV9UUkFJVFNfSVNfRkxPQVRJTkdfSFBQX0lOQ0xVREVECisKKy8vIHNob3VsZCBiZSB0aGUgbGFzdCAjaW5jbHVkZQorI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2RldGFpbC9ib29sX3RyYWl0X2RlZi5ocHA+CisKK25hbWVzcGFjZSBuZG5ib29zdCB7CisKKy8vKiBpcyBhIHR5cGUgVCBhIGZsb2F0aW5nLXBvaW50IHR5cGUgZGVzY3JpYmVkIGluIHRoZSBzdGFuZGFyZCAoMy45LjFwOCkKK0JPT1NUX1RUX0FVWF9CT09MX1RSQUlUX0RFRjEoaXNfZmxvYXRpbmdfcG9pbnQsVCxmYWxzZSkKK0JPT1NUX1RUX0FVWF9CT09MX1RSQUlUX0NWX1NQRUMxKGlzX2Zsb2F0aW5nX3BvaW50LGZsb2F0LHRydWUpCitCT09TVF9UVF9BVVhfQk9PTF9UUkFJVF9DVl9TUEVDMShpc19mbG9hdGluZ19wb2ludCxkb3VibGUsdHJ1ZSkKK0JPT1NUX1RUX0FVWF9CT09MX1RSQUlUX0NWX1NQRUMxKGlzX2Zsb2F0aW5nX3BvaW50LGxvbmcgZG91YmxlLHRydWUpCisKK30gLy8gbmFtZXNwYWNlIG5kbmJvb3N0CisKKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9kZXRhaWwvYm9vbF90cmFpdF91bmRlZi5ocHA+CisKKyNlbmRpZiAvLyBCT09TVF9UWVBFX1RSQUlUU19JU19GTE9BVF9IUFBfSU5DTFVERUQKZGlmZiAtLWdpdCBhL25kbmJvb3N0L3R5cGVfdHJhaXRzL2lzX2Z1bmRhbWVudGFsLmhwcCBiL25kbmJvb3N0L3R5cGVfdHJhaXRzL2lzX2Z1bmRhbWVudGFsLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NDQ5N2M0Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvdHlwZV90cmFpdHMvaXNfZnVuZGFtZW50YWwuaHBwCkBAIC0wLDAgKzEsNDUgQEAKKworLy8gIChDKSBDb3B5cmlnaHQgU3RldmUgQ2xlYXJ5LCBCZW1hbiBEYXdlcywgSG93YXJkIEhpbm5hbnQgJiBKb2huIE1hZGRvY2sgMjAwMC4KKy8vICBVc2UsIG1vZGlmaWNhdGlvbiBhbmQgZGlzdHJpYnV0aW9uIGFyZSBzdWJqZWN0IHRvIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLAorLy8gIFZlcnNpb24gMS4wLiAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0CisvLyAgaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KS4KKy8vCisvLyAgU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL2xpYnMvdHlwZV90cmFpdHMgZm9yIG1vc3QgcmVjZW50IHZlcnNpb24gaW5jbHVkaW5nIGRvY3VtZW50YXRpb24uCisKKyNpZm5kZWYgQk9PU1RfVFRfSVNfRlVOREFNRU5UQUxfSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX1RUX0lTX0ZVTkRBTUVOVEFMX0hQUF9JTkNMVURFRAorCisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvaXNfYXJpdGhtZXRpYy5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvaXNfdm9pZC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvZGV0YWlsL2ljZV9vci5ocHA+CisKKy8vIHNob3VsZCBiZSB0aGUgbGFzdCAjaW5jbHVkZQorI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2RldGFpbC9ib29sX3RyYWl0X2RlZi5ocHA+CisKK25hbWVzcGFjZSBuZG5ib29zdCB7CisKK25hbWVzcGFjZSBkZXRhaWwgeworCit0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gCitzdHJ1Y3QgaXNfZnVuZGFtZW50YWxfaW1wbAorICAgIDogcHVibGljIDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2Vfb3I8IAorICAgICAgICAgIDo6bmRuYm9vc3Q6OmlzX2FyaXRobWV0aWM8VD46OnZhbHVlCisgICAgICAgICwgOjpuZG5ib29zdDo6aXNfdm9pZDxUPjo6dmFsdWUKKyAgICAgICAgPgoreyAKK307CisKK30gLy8gbmFtZXNwYWNlIGRldGFpbAorCisvLyogaXMgYSB0eXBlIFQgYSBmdW5kYW1lbnRhbCB0eXBlIGRlc2NyaWJlZCBpbiB0aGUgc3RhbmRhcmQgKDMuOS4xKQorI2lmIGRlZmluZWQoIF9fQ09ERUdFQVJDX18gKQorQk9PU1RfVFRfQVVYX0JPT0xfVFJBSVRfREVGMShpc19mdW5kYW1lbnRhbCxULF9faXNfZnVuZGFtZW50YWwoVCkpCisjZWxzZQorQk9PU1RfVFRfQVVYX0JPT0xfVFJBSVRfREVGMShpc19mdW5kYW1lbnRhbCxULDo6bmRuYm9vc3Q6OmRldGFpbDo6aXNfZnVuZGFtZW50YWxfaW1wbDxUPjo6dmFsdWUpCisjZW5kaWYKKworfSAvLyBuYW1lc3BhY2UgbmRuYm9vc3QKKworI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2RldGFpbC9ib29sX3RyYWl0X3VuZGVmLmhwcD4KKworI2VuZGlmIC8vIEJPT1NUX1RUX0lTX0ZVTkRBTUVOVEFMX0hQUF9JTkNMVURFRApkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvdHlwZV90cmFpdHMvaXNfbWVtYmVyX29iamVjdF9wb2ludGVyLmhwcCBiL25kbmJvb3N0L3R5cGVfdHJhaXRzL2lzX21lbWJlcl9vYmplY3RfcG9pbnRlci5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzIxMDkzZQotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L3R5cGVfdHJhaXRzL2lzX21lbWJlcl9vYmplY3RfcG9pbnRlci5ocHAKQEAgLTAsMCArMSw0NiBAQAorCisvLyAgKEMpIENvcHlyaWdodCBKb2huIE1hZGRvY2sgMjAwNS4gIAorLy8gIFVzZSwgbW9kaWZpY2F0aW9uIGFuZCBkaXN0cmlidXRpb24gYXJlIHN1YmplY3QgdG8gdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsCisvLyAgVmVyc2lvbiAxLjAuIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQKKy8vICBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpLgorLy8KKy8vICBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvbGlicy90eXBlX3RyYWl0cyBmb3IgbW9zdCByZWNlbnQgdmVyc2lvbiBpbmNsdWRpbmcgZG9jdW1lbnRhdGlvbi4KKworCisjaWZuZGVmIEJPT1NUX1RUX0lTX01FTUJFUl9PQkpFQ1RfUE9JTlRFUl9IUFBfSU5DTFVERUQKKyNkZWZpbmUgQk9PU1RfVFRfSVNfTUVNQkVSX09CSkVDVF9QT0lOVEVSX0hQUF9JTkNMVURFRAorCisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvY29uZmlnLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9pc19tZW1iZXJfcG9pbnRlci5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvaXNfbWVtYmVyX2Z1bmN0aW9uX3BvaW50ZXIuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2RldGFpbC9pY2VfYW5kLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9kZXRhaWwvaWNlX25vdC5ocHA+CisKKy8vIHNob3VsZCBiZSB0aGUgbGFzdCAjaW5jbHVkZQorI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2RldGFpbC9ib29sX3RyYWl0X2RlZi5ocHA+CisKK25hbWVzcGFjZSBuZG5ib29zdCB7CisKK25hbWVzcGFjZSBkZXRhaWx7CisKK3RlbXBsYXRlIDx0eXBlbmFtZSBUPgorc3RydWN0IGlzX21lbWJlcl9vYmplY3RfcG9pbnRlcl9pbXBsCit7CisgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoCisgICAgICBib29sLCB2YWx1ZSA9ICg6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6aWNlX2FuZDwKKyAgICAgICAgIDo6bmRuYm9vc3Q6OmlzX21lbWJlcl9wb2ludGVyPFQ+Ojp2YWx1ZSwKKyAgICAgICAgIDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2Vfbm90PAorICAgICAgICAgICAgOjpuZG5ib29zdDo6aXNfbWVtYmVyX2Z1bmN0aW9uX3BvaW50ZXI8VD46OnZhbHVlCisgICAgICAgICA+Ojp2YWx1ZQorICAgICAgPjo6dmFsdWUgKSk7Cit9OworCit9IC8vIG5hbWVzcGFjZSBkZXRhaWwKKworQk9PU1RfVFRfQVVYX0JPT0xfVFJBSVRfREVGMShpc19tZW1iZXJfb2JqZWN0X3BvaW50ZXIsVCw6Om5kbmJvb3N0OjpkZXRhaWw6OmlzX21lbWJlcl9vYmplY3RfcG9pbnRlcl9pbXBsPFQ+Ojp2YWx1ZSkKKworfSAvLyBuYW1lc3BhY2UgbmRuYm9vc3QKKworI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2RldGFpbC9ib29sX3RyYWl0X3VuZGVmLmhwcD4KKworI2VuZGlmIC8vIEJPT1NUX1RUX0lTX01FTUJFUl9GVU5DVElPTl9QT0lOVEVSX0hQUF9JTkNMVURFRApkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvdHlwZV90cmFpdHMvaXNfbm90aHJvd19tb3ZlX2Fzc2lnbmFibGUuaHBwIGIvbmRuYm9vc3QvdHlwZV90cmFpdHMvaXNfbm90aHJvd19tb3ZlX2Fzc2lnbmFibGUuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg4OTU5OGIKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC90eXBlX3RyYWl0cy9pc19ub3Rocm93X21vdmVfYXNzaWduYWJsZS5ocHAKQEAgLTAsMCArMSw4NCBAQAorCisvLyAgKEMpIENvcHlyaWdodCBTdGV2ZSBDbGVhcnksIEJlbWFuIERhd2VzLCBIb3dhcmQgSGlubmFudCAmIEpvaG4gTWFkZG9jayAyMDAwLgorLy8gIChDKSBDb3B5cmlnaHQgRXJpYyBGcmllZG1hbiAyMDAyLTIwMDMuCisvLyAgKEMpIENvcHlyaWdodCBBbnRvbnkgUG9sdWtoaW4gMjAxMy4KKy8vICBVc2UsIG1vZGlmaWNhdGlvbiBhbmQgZGlzdHJpYnV0aW9uIGFyZSBzdWJqZWN0IHRvIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLAorLy8gIFZlcnNpb24gMS4wLiAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0CisvLyAgaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KS4KKy8vCisvLyAgU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL2xpYnMvdHlwZV90cmFpdHMgZm9yIG1vc3QgcmVjZW50IHZlcnNpb24gaW5jbHVkaW5nIGRvY3VtZW50YXRpb24uCisKKyNpZm5kZWYgQk9PU1RfVFRfSVNfTk9USFJPV19NT1ZFX0FTU0lHTkFCTEVfSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX1RUX0lTX05PVEhST1dfTU9WRV9BU1NJR05BQkxFX0hQUF9JTkNMVURFRAorCisjaW5jbHVkZSA8bmRuYm9vc3QvY29uZmlnLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9oYXNfdHJpdmlhbF9tb3ZlX2Fzc2lnbi5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvaGFzX25vdGhyb3dfYXNzaWduLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9pc19hcnJheS5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvaXNfcmVmZXJlbmNlLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9kZXRhaWwvaWNlX2FuZC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvZGV0YWlsL2ljZV9vci5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvZGV0YWlsL2ljZV9ub3QuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3V0aWxpdHkvZW5hYmxlX2lmLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC91dGlsaXR5L2RlY2x2YWwuaHBwPgorCisvLyBzaG91bGQgYmUgdGhlIGxhc3QgI2luY2x1ZGUKKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9kZXRhaWwvYm9vbF90cmFpdF9kZWYuaHBwPgorCituYW1lc3BhY2UgbmRuYm9vc3QgeworCituYW1lc3BhY2UgZGV0YWlseworCisjaWZuZGVmIEJPT1NUX05PX0NYWDExX05PRVhDRVBUCisKK3RlbXBsYXRlIDxjbGFzcyBULCBjbGFzcyBFbmFibGUgPSB2b2lkPgorc3RydWN0IGZhbHNlX29yX2NwcDExX25vZXhjZXB0X21vdmVfYXNzaWduYWJsZTogcHVibGljIDo6bmRuYm9vc3Q6OmZhbHNlX3R5cGUge307CisKK3RlbXBsYXRlIDxjbGFzcyBUPgorc3RydWN0IGZhbHNlX29yX2NwcDExX25vZXhjZXB0X21vdmVfYXNzaWduYWJsZSA8CisgICAgICAgIFQsCisgICAgICAgIHR5cGVuYW1lIDo6bmRuYm9vc3Q6OmVuYWJsZV9pZl9jPHNpemVvZihUKSAmJiBCT09TVF9OT0VYQ0VQVF9FWFBSKDo6bmRuYm9vc3Q6OmRlY2x2YWw8VCY+KCkgPSA6Om5kbmJvb3N0OjpkZWNsdmFsPFQ+KCkpPjo6dHlwZQorICAgID4gOiBwdWJsaWMgOjpuZG5ib29zdDo6aW50ZWdyYWxfY29uc3RhbnQ8Ym9vbCwgQk9PU1RfTk9FWENFUFRfRVhQUig6Om5kbmJvb3N0OjpkZWNsdmFsPFQmPigpID0gOjpuZG5ib29zdDo6ZGVjbHZhbDxUPigpKT4KK3t9OworCit0ZW1wbGF0ZSA8Y2xhc3MgVD4KK3N0cnVjdCBpc19ub3Rocm93X21vdmVfYXNzaWduYWJsZV9pbXB7CisgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGJvb2wsIHZhbHVlID0gKAorICAgICAgICA6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6aWNlX2FuZDwKKyAgICAgICAgICAgIDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2Vfbm90PCA6Om5kbmJvb3N0Ojppc192b2xhdGlsZTxUPjo6dmFsdWUgPjo6dmFsdWUsCisgICAgICAgICAgICA6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6aWNlX25vdDwgOjpuZG5ib29zdDo6aXNfcmVmZXJlbmNlPFQ+Ojp2YWx1ZSA+Ojp2YWx1ZSwKKyAgICAgICAgICAgIDo6bmRuYm9vc3Q6OmRldGFpbDo6ZmFsc2Vfb3JfY3BwMTFfbm9leGNlcHRfbW92ZV9hc3NpZ25hYmxlPFQ+Ojp2YWx1ZQorICAgICAgICA+Ojp2YWx1ZSkpOworfTsKKworI2Vsc2UKKwordGVtcGxhdGUgPGNsYXNzIFQ+CitzdHJ1Y3QgaXNfbm90aHJvd19tb3ZlX2Fzc2lnbmFibGVfaW1weworICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChib29sLCB2YWx1ZSA9ICgKKyAgICAgICAgOjpuZG5ib29zdDo6dHlwZV90cmFpdHM6OmljZV9hbmQ8CisgICAgICAgICAgICA6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6aWNlX29yPAorICAgICAgICAgICAgICAgIDo6bmRuYm9vc3Q6Omhhc190cml2aWFsX21vdmVfYXNzaWduPFQ+Ojp2YWx1ZSwKKyAgICAgICAgICAgICAgICA6Om5kbmJvb3N0OjpoYXNfbm90aHJvd19hc3NpZ248VD46OnZhbHVlCisgICAgICAgICAgICA+Ojp2YWx1ZSwKKyAgICAgICAgICAgIDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2Vfbm90PCA6Om5kbmJvb3N0Ojppc19hcnJheTxUPjo6dmFsdWUgPjo6dmFsdWUKKyAgICAgICAgPjo6dmFsdWUpKTsKK307CisKKyNlbmRpZgorCit9CisKK0JPT1NUX1RUX0FVWF9CT09MX1RSQUlUX0RFRjEoaXNfbm90aHJvd19tb3ZlX2Fzc2lnbmFibGUsVCw6Om5kbmJvb3N0OjpkZXRhaWw6OmlzX25vdGhyb3dfbW92ZV9hc3NpZ25hYmxlX2ltcDxUPjo6dmFsdWUpCitCT09TVF9UVF9BVVhfQk9PTF9UUkFJVF9TUEVDMShpc19ub3Rocm93X21vdmVfYXNzaWduYWJsZSx2b2lkLGZhbHNlKQorI2lmbmRlZiBCT09TVF9OT19DVl9WT0lEX1NQRUNJQUxJWkFUSU9OUworQk9PU1RfVFRfQVVYX0JPT0xfVFJBSVRfU1BFQzEoaXNfbm90aHJvd19tb3ZlX2Fzc2lnbmFibGUsdm9pZCBjb25zdCxmYWxzZSkKK0JPT1NUX1RUX0FVWF9CT09MX1RSQUlUX1NQRUMxKGlzX25vdGhyb3dfbW92ZV9hc3NpZ25hYmxlLHZvaWQgY29uc3Qgdm9sYXRpbGUsZmFsc2UpCitCT09TVF9UVF9BVVhfQk9PTF9UUkFJVF9TUEVDMShpc19ub3Rocm93X21vdmVfYXNzaWduYWJsZSx2b2lkIHZvbGF0aWxlLGZhbHNlKQorI2VuZGlmCisKK30gLy8gbmFtZXNwYWNlIG5kbmJvb3N0CisKKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9kZXRhaWwvYm9vbF90cmFpdF91bmRlZi5ocHA+CisKKyNlbmRpZiAvLyBCT09TVF9UVF9JU19OT1RIUk9XX01PVkVfQVNTSUdOQUJMRV9IUFBfSU5DTFVERUQKZGlmZiAtLWdpdCBhL25kbmJvb3N0L3R5cGVfdHJhaXRzL2lzX25vdGhyb3dfbW92ZV9jb25zdHJ1Y3RpYmxlLmhwcCBiL25kbmJvb3N0L3R5cGVfdHJhaXRzL2lzX25vdGhyb3dfbW92ZV9jb25zdHJ1Y3RpYmxlLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYmJjODg5Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvdHlwZV90cmFpdHMvaXNfbm90aHJvd19tb3ZlX2NvbnN0cnVjdGlibGUuaHBwCkBAIC0wLDAgKzEsODQgQEAKKworLy8gIChDKSBDb3B5cmlnaHQgU3RldmUgQ2xlYXJ5LCBCZW1hbiBEYXdlcywgSG93YXJkIEhpbm5hbnQgJiBKb2huIE1hZGRvY2sgMjAwMC4KKy8vICAoQykgQ29weXJpZ2h0IEVyaWMgRnJpZWRtYW4gMjAwMi0yMDAzLgorLy8gIChDKSBDb3B5cmlnaHQgQW50b255IFBvbHVraGluIDIwMTMuCisvLyAgVXNlLCBtb2RpZmljYXRpb24gYW5kIGRpc3RyaWJ1dGlvbiBhcmUgc3ViamVjdCB0byB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwKKy8vICBWZXJzaW9uIDEuMC4gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdAorLy8gIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkuCisvLworLy8gIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL3R5cGVfdHJhaXRzIGZvciBtb3N0IHJlY2VudCB2ZXJzaW9uIGluY2x1ZGluZyBkb2N1bWVudGF0aW9uLgorCisjaWZuZGVmIEJPT1NUX1RUX0lTX05PVEhST1dfTU9WRV9DT05TVFJVQ1RJQkxFX0hQUF9JTkNMVURFRAorI2RlZmluZSBCT09TVF9UVF9JU19OT1RIUk9XX01PVkVfQ09OU1RSVUNUSUJMRV9IUFBfSU5DTFVERUQKKworI2luY2x1ZGUgPG5kbmJvb3N0L2NvbmZpZy5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvaGFzX3RyaXZpYWxfbW92ZV9jb25zdHJ1Y3Rvci5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvaGFzX25vdGhyb3dfY29weS5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvaXNfYXJyYXkuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2lzX3JlZmVyZW5jZS5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvZGV0YWlsL2ljZV9vci5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvZGV0YWlsL2ljZV9hbmQuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3V0aWxpdHkvZGVjbHZhbC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvdXRpbGl0eS9lbmFibGVfaWYuaHBwPgorCisvLyBzaG91bGQgYmUgdGhlIGxhc3QgI2luY2x1ZGUKKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9kZXRhaWwvYm9vbF90cmFpdF9kZWYuaHBwPgorCituYW1lc3BhY2UgbmRuYm9vc3QgeworCituYW1lc3BhY2UgZGV0YWlseworCisjaWZuZGVmIEJPT1NUX05PX0NYWDExX05PRVhDRVBUCisKK3RlbXBsYXRlIDxjbGFzcyBULCBjbGFzcyBFbmFibGUgPSB2b2lkPgorc3RydWN0IGZhbHNlX29yX2NwcDExX25vZXhjZXB0X21vdmVfY29uc3RydWN0aWJsZTogcHVibGljIDo6bmRuYm9vc3Q6OmZhbHNlX3R5cGUge307CisKK3RlbXBsYXRlIDxjbGFzcyBUPgorc3RydWN0IGZhbHNlX29yX2NwcDExX25vZXhjZXB0X21vdmVfY29uc3RydWN0aWJsZSA8CisgICAgICAgIFQsCisgICAgICAgIHR5cGVuYW1lIDo6bmRuYm9vc3Q6OmVuYWJsZV9pZl9jPHNpemVvZihUKSAmJiBCT09TVF9OT0VYQ0VQVF9FWFBSKFQoOjpuZG5ib29zdDo6ZGVjbHZhbDxUPigpKSk+Ojp0eXBlCisgICAgPiA6IHB1YmxpYyA6Om5kbmJvb3N0OjppbnRlZ3JhbF9jb25zdGFudDxib29sLCBCT09TVF9OT0VYQ0VQVF9FWFBSKFQoOjpuZG5ib29zdDo6ZGVjbHZhbDxUPigpKSk+Cit7fTsKKwordGVtcGxhdGUgPGNsYXNzIFQ+CitzdHJ1Y3QgaXNfbm90aHJvd19tb3ZlX2NvbnN0cnVjdGlibGVfaW1weworICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGJvb2wsIHZhbHVlID0gCisgICAgICAgICg6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6aWNlX2FuZDwKKyAgICAgICAgICAgIDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2Vfbm90PCA6Om5kbmJvb3N0Ojppc192b2xhdGlsZTxUPjo6dmFsdWUgPjo6dmFsdWUsCisgICAgICAgICAgICA6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6aWNlX25vdDwgOjpuZG5ib29zdDo6aXNfcmVmZXJlbmNlPFQ+Ojp2YWx1ZSA+Ojp2YWx1ZSwKKyAgICAgICAgICAgIDo6bmRuYm9vc3Q6OmRldGFpbDo6ZmFsc2Vfb3JfY3BwMTFfbm9leGNlcHRfbW92ZV9jb25zdHJ1Y3RpYmxlPFQ+Ojp2YWx1ZQorICAgICAgICA+Ojp2YWx1ZSkpOworfTsKKworI2Vsc2UKKwordGVtcGxhdGUgPGNsYXNzIFQ+CitzdHJ1Y3QgaXNfbm90aHJvd19tb3ZlX2NvbnN0cnVjdGlibGVfaW1weworICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChib29sLCB2YWx1ZSA9KAorICAgICAgICA6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6aWNlX2FuZDwKKyAgICAgICAgICAgIDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2Vfb3I8CisgICAgICAgICAgICAgICAgOjpuZG5ib29zdDo6aGFzX3RyaXZpYWxfbW92ZV9jb25zdHJ1Y3RvcjxUPjo6dmFsdWUsCisgICAgICAgICAgICAgICAgOjpuZG5ib29zdDo6aGFzX25vdGhyb3dfY29weTxUPjo6dmFsdWUKKyAgICAgICAgICAgID46OnZhbHVlLAorICAgICAgICAgICAgOjpuZG5ib29zdDo6dHlwZV90cmFpdHM6OmljZV9ub3Q8IDo6bmRuYm9vc3Q6OmlzX2FycmF5PFQ+Ojp2YWx1ZSA+Ojp2YWx1ZQorICAgICAgICA+Ojp2YWx1ZSkpOworfTsKKworI2VuZGlmCisKK30KKworQk9PU1RfVFRfQVVYX0JPT0xfVFJBSVRfREVGMShpc19ub3Rocm93X21vdmVfY29uc3RydWN0aWJsZSxULDo6bmRuYm9vc3Q6OmRldGFpbDo6aXNfbm90aHJvd19tb3ZlX2NvbnN0cnVjdGlibGVfaW1wPFQ+Ojp2YWx1ZSkKKworQk9PU1RfVFRfQVVYX0JPT0xfVFJBSVRfU1BFQzEoaXNfbm90aHJvd19tb3ZlX2NvbnN0cnVjdGlibGUsdm9pZCxmYWxzZSkKKyNpZm5kZWYgQk9PU1RfTk9fQ1ZfVk9JRF9TUEVDSUFMSVpBVElPTlMKK0JPT1NUX1RUX0FVWF9CT09MX1RSQUlUX1NQRUMxKGlzX25vdGhyb3dfbW92ZV9jb25zdHJ1Y3RpYmxlLHZvaWQgY29uc3QsZmFsc2UpCitCT09TVF9UVF9BVVhfQk9PTF9UUkFJVF9TUEVDMShpc19ub3Rocm93X21vdmVfY29uc3RydWN0aWJsZSx2b2lkIGNvbnN0IHZvbGF0aWxlLGZhbHNlKQorQk9PU1RfVFRfQVVYX0JPT0xfVFJBSVRfU1BFQzEoaXNfbm90aHJvd19tb3ZlX2NvbnN0cnVjdGlibGUsdm9pZCB2b2xhdGlsZSxmYWxzZSkKKyNlbmRpZgorCit9IC8vIG5hbWVzcGFjZSBuZG5ib29zdAorCisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvZGV0YWlsL2Jvb2xfdHJhaXRfdW5kZWYuaHBwPgorCisjZW5kaWYgLy8gQk9PU1RfVFRfSVNfTk9USFJPV19NT1ZFX0NPTlNUUlVDVElCTEVfSFBQX0lOQ0xVREVECmRpZmYgLS1naXQgYS9uZG5ib29zdC90eXBlX3RyYWl0cy9pc19vYmplY3QuaHBwIGIvbmRuYm9vc3QvdHlwZV90cmFpdHMvaXNfb2JqZWN0LmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lYTE4ZTMyCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvdHlwZV90cmFpdHMvaXNfb2JqZWN0LmhwcApAQCAtMCwwICsxLDUzIEBACisKKy8vICAoQykgQ29weXJpZ2h0IFN0ZXZlIENsZWFyeSwgQmVtYW4gRGF3ZXMsIEhvd2FyZCBIaW5uYW50ICYgSm9obiBNYWRkb2NrIDIwMDAuCisvLyAgVXNlLCBtb2RpZmljYXRpb24gYW5kIGRpc3RyaWJ1dGlvbiBhcmUgc3ViamVjdCB0byB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwKKy8vICBWZXJzaW9uIDEuMC4gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdAorLy8gIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkuCisvLworLy8gIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL3R5cGVfdHJhaXRzIGZvciBtb3N0IHJlY2VudCB2ZXJzaW9uIGluY2x1ZGluZyBkb2N1bWVudGF0aW9uLgorCisjaWZuZGVmIEJPT1NUX1RUX0lTX09CSkVDVF9IUFBfSU5DTFVERUQKKyNkZWZpbmUgQk9PU1RfVFRfSVNfT0JKRUNUX0hQUF9JTkNMVURFRAorCisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvaXNfcmVmZXJlbmNlLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9pc192b2lkLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9pc19mdW5jdGlvbi5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvZGV0YWlsL2ljZV9hbmQuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2RldGFpbC9pY2Vfbm90LmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9jb25maWcuaHBwPgorCisvLyBzaG91bGQgYmUgdGhlIGxhc3QgI2luY2x1ZGUKKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9kZXRhaWwvYm9vbF90cmFpdF9kZWYuaHBwPgorCituYW1lc3BhY2UgbmRuYm9vc3QgeworCituYW1lc3BhY2UgZGV0YWlsIHsKKwordGVtcGxhdGUgPHR5cGVuYW1lIFQ+CitzdHJ1Y3QgaXNfb2JqZWN0X2ltcGwKK3sKKyNpZm5kZWYgQk9PU1RfTk9fVEVNUExBVEVfUEFSVElBTF9TUEVDSUFMSVpBVElPTgorICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGJvb2wsIHZhbHVlID0KKyAgICAgICg6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6aWNlX2FuZDwKKyAgICAgICAgIDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2Vfbm90PCA6Om5kbmJvb3N0Ojppc19yZWZlcmVuY2U8VD46OnZhbHVlPjo6dmFsdWUsCisgICAgICAgICA6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6aWNlX25vdDwgOjpuZG5ib29zdDo6aXNfdm9pZDxUPjo6dmFsdWU+Ojp2YWx1ZSwKKyAgICAgICAgIDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2Vfbm90PCA6Om5kbmJvb3N0Ojppc19mdW5jdGlvbjxUPjo6dmFsdWU+Ojp2YWx1ZQorICAgICAgPjo6dmFsdWUpKTsKKyNlbHNlCisgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoYm9vbCwgdmFsdWUgPQorICAgICAgKDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2VfYW5kPAorICAgICAgICAgOjpuZG5ib29zdDo6dHlwZV90cmFpdHM6OmljZV9ub3Q8IDo6bmRuYm9vc3Q6OmlzX3JlZmVyZW5jZTxUPjo6dmFsdWU+Ojp2YWx1ZSwKKyAgICAgICAgIDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2Vfbm90PCA6Om5kbmJvb3N0Ojppc192b2lkPFQ+Ojp2YWx1ZT46OnZhbHVlCisgICAgICA+Ojp2YWx1ZSkpOworI2VuZGlmCit9OworCit9IC8vIG5hbWVzcGFjZSBkZXRhaWwKKworQk9PU1RfVFRfQVVYX0JPT0xfVFJBSVRfREVGMShpc19vYmplY3QsVCw6Om5kbmJvb3N0OjpkZXRhaWw6OmlzX29iamVjdF9pbXBsPFQ+Ojp2YWx1ZSkKKworfSAvLyBuYW1lc3BhY2UgbmRuYm9vc3QKKworI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2RldGFpbC9ib29sX3RyYWl0X3VuZGVmLmhwcD4KKworI2VuZGlmIC8vIEJPT1NUX1RUX0lTX09CSkVDVF9IUFBfSU5DTFVERUQKZGlmZiAtLWdpdCBhL25kbmJvb3N0L3R5cGVfdHJhaXRzL2lzX3BvZC5ocHAgYi9uZG5ib29zdC90eXBlX3RyYWl0cy9pc19wb2QuaHBwCmluZGV4IDI0NDBhMGUuLjJkNDYyY2QgMTAwNjQ0Ci0tLSBhL25kbmJvb3N0L3R5cGVfdHJhaXRzL2lzX3BvZC5ocHAKKysrIGIvbmRuYm9vc3QvdHlwZV90cmFpdHMvaXNfcG9kLmhwcApAQCAtMTMxLDggKzEzMSwxMCBAQAogCiB9IC8vIG5hbWVzcGFjZSBkZXRhaWwKIAotQk9PU1RfVFRfQVVYX0JPT0xfVFJBSVRfREVGMShpc19QT0QsVCw6Om5kbmJvb3N0OjpkZXRhaWw6OmlzX3BvZF9pbXBsPFQ+Ojp2YWx1ZSkKIEJPT1NUX1RUX0FVWF9CT09MX1RSQUlUX0RFRjEoaXNfcG9kLFQsOjpuZG5ib29zdDo6ZGV0YWlsOjppc19wb2RfaW1wbDxUPjo6dmFsdWUpCisvLyBpc19QT0QgaXMgdGhlIG9sZCBkZXByaWNhdGVkIG5hbWUgZm9yIHRoaXMgdHJhaXQsIGRvIG5vdCB1c2UgdGhpcyBhcyBpdCBtYXkKKy8vIGJlIHJlbW92ZWQgaW4gZnV0dXJlIHdpdGhvdXQgd2FybmluZyEhCitCT09TVF9UVF9BVVhfQk9PTF9UUkFJVF9ERUYxKGlzX1BPRCxULDo6bmRuYm9vc3Q6OmlzX3BvZDxUPjo6dmFsdWUpCiAKIH0gLy8gbmFtZXNwYWNlIG5kbmJvb3N0CiAKZGlmZiAtLWdpdCBhL25kbmJvb3N0L3R5cGVfdHJhaXRzL2lzX3NpZ25lZC5ocHAgYi9uZG5ib29zdC90eXBlX3RyYWl0cy9pc19zaWduZWQuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE2OTdkZWUKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC90eXBlX3RyYWl0cy9pc19zaWduZWQuaHBwCkBAIC0wLDAgKzEsMTQwIEBACisKKy8vICAoQykgQ29weXJpZ2h0IEpvaG4gTWFkZG9jayAyMDA1LiAgCisvLyAgVXNlLCBtb2RpZmljYXRpb24gYW5kIGRpc3RyaWJ1dGlvbiBhcmUgc3ViamVjdCB0byB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwKKy8vICBWZXJzaW9uIDEuMC4gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdAorLy8gIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkuCisvLworLy8gIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL3R5cGVfdHJhaXRzIGZvciBtb3N0IHJlY2VudCB2ZXJzaW9uIGluY2x1ZGluZyBkb2N1bWVudGF0aW9uLgorCisKKyNpZm5kZWYgQk9PU1RfVFRfSVNfU0lHTkVEX0hQUF9JTkNMVURFRAorI2RlZmluZSBCT09TVF9UVF9JU19TSUdORURfSFBQX0lOQ0xVREVECisKKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9pc19pbnRlZ3JhbC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvcmVtb3ZlX2N2LmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9pc19lbnVtLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9kZXRhaWwvaWNlX29yLmhwcD4KKworLy8gc2hvdWxkIGJlIHRoZSBsYXN0ICNpbmNsdWRlCisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvZGV0YWlsL2Jvb2xfdHJhaXRfZGVmLmhwcD4KKworbmFtZXNwYWNlIG5kbmJvb3N0IHsKKworI2lmICFkZWZpbmVkKCBfX0NPREVHRUFSQ19fICkKKworbmFtZXNwYWNlIGRldGFpbHsKKworI2lmICEoZGVmaW5lZChfX0VER19WRVJTSU9OX18pICYmIF9fRURHX1ZFUlNJT05fXyA8PSAyMzgpICYmICFkZWZpbmVkKEJPT1NUX05PX0lOQ0xBU1NfTUVNQkVSX0lOSVRJQUxJWkFUSU9OKQorCit0ZW1wbGF0ZSA8Y2xhc3MgVD4KK3N0cnVjdCBpc19zaWduZWRfdmFsdWVzCit7CisgICAvLworICAgLy8gTm90ZSB0aGF0IHdlIGNhbm5vdCB1c2UgQk9PU1RfU1RBVElDX0NPTlNUQU5UIGhlcmUsIHVzaW5nIGVudW0ncworICAgLy8gcmF0aGVyIHRoYW4gInJlYWwiIHN0YXRpYyBjb25zdGFudHMgc2ltcGx5IGRvZXNuJ3Qgd29yayBvciBnaXZlCisgICAvLyB0aGUgY29ycmVjdCBhbnN3ZXIuCisgICAvLworICAgdHlwZWRlZiB0eXBlbmFtZSByZW1vdmVfY3Y8VD46OnR5cGUgbm9fY3ZfdDsKKyAgIHN0YXRpYyBjb25zdCBub19jdl90IG1pbnVzX29uZSA9IChzdGF0aWNfY2FzdDxub19jdl90PigtMSkpOworICAgc3RhdGljIGNvbnN0IG5vX2N2X3QgemVybyA9IChzdGF0aWNfY2FzdDxub19jdl90PigwKSk7Cit9OworCit0ZW1wbGF0ZSA8Y2xhc3MgVD4KK3N0cnVjdCBpc19zaWduZWRfaGVscGVyCit7CisgICB0eXBlZGVmIHR5cGVuYW1lIHJlbW92ZV9jdjxUPjo6dHlwZSBub19jdl90OworICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGJvb2wsIHZhbHVlID0gKCEoOjpuZG5ib29zdDo6ZGV0YWlsOjppc19zaWduZWRfdmFsdWVzPFQ+OjptaW51c19vbmUgID4gbmRuYm9vc3Q6OmRldGFpbDo6aXNfc2lnbmVkX3ZhbHVlczxUPjo6emVybykpKTsKK307CisKK3RlbXBsYXRlIDxib29sIGludGVncmFsX3R5cGU+CitzdHJ1Y3QgaXNfc2lnbmVkX3NlbGVjdF9oZWxwZXIKK3sKKyAgIHRlbXBsYXRlIDxjbGFzcyBUPgorICAgc3RydWN0IHJlYmluZAorICAgeworICAgICAgdHlwZWRlZiBpc19zaWduZWRfaGVscGVyPFQ+IHR5cGU7CisgICB9OworfTsKKwordGVtcGxhdGUgPD4KK3N0cnVjdCBpc19zaWduZWRfc2VsZWN0X2hlbHBlcjxmYWxzZT4KK3sKKyAgIHRlbXBsYXRlIDxjbGFzcyBUPgorICAgc3RydWN0IHJlYmluZAorICAgeworICAgICAgdHlwZWRlZiBmYWxzZV90eXBlIHR5cGU7CisgICB9OworfTsKKwordGVtcGxhdGUgPGNsYXNzIFQ+CitzdHJ1Y3QgaXNfc2lnbmVkX2ltcAoreworICAgdHlwZWRlZiBpc19zaWduZWRfc2VsZWN0X2hlbHBlcjwgCisgICAgICA6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6aWNlX29yPAorICAgICAgICAgOjpuZG5ib29zdDo6aXNfaW50ZWdyYWw8VD46OnZhbHVlLAorICAgICAgICAgOjpuZG5ib29zdDo6aXNfZW51bTxUPjo6dmFsdWU+Ojp2YWx1ZSAKKyAgID4gc2VsZWN0b3I7CisgICB0eXBlZGVmIHR5cGVuYW1lIHNlbGVjdG9yOjp0ZW1wbGF0ZSByZWJpbmQ8VD4gYmluZGVyOworICAgdHlwZWRlZiB0eXBlbmFtZSBiaW5kZXI6OnR5cGUgdHlwZTsKKyNpZiBkZWZpbmVkKEJPT1NUX01TVkMpICYmIChCT09TVF9NU1ZDIDwgMTMwMCkKKyAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChib29sLCB2YWx1ZSA9IGlzX3NpZ25lZF9pbXA8VD46OnR5cGU6OnZhbHVlKTsKKyNlbHNlCisgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoYm9vbCwgdmFsdWUgPSB0eXBlOjp2YWx1ZSk7CisjZW5kaWYKK307CisKKyNlbHNlCisKK3RlbXBsYXRlIDxjbGFzcyBUPiBzdHJ1Y3QgaXNfc2lnbmVkX2ltcCA6IHB1YmxpYyBmYWxzZV90eXBle307Cit0ZW1wbGF0ZSA8PiBzdHJ1Y3QgaXNfc2lnbmVkX2ltcDxzaWduZWQgY2hhcj4gOiBwdWJsaWMgdHJ1ZV90eXBle307Cit0ZW1wbGF0ZSA8PiBzdHJ1Y3QgaXNfc2lnbmVkX2ltcDxjb25zdCBzaWduZWQgY2hhcj4gOiBwdWJsaWMgdHJ1ZV90eXBle307Cit0ZW1wbGF0ZSA8PiBzdHJ1Y3QgaXNfc2lnbmVkX2ltcDx2b2xhdGlsZSBzaWduZWQgY2hhcj4gOiBwdWJsaWMgdHJ1ZV90eXBle307Cit0ZW1wbGF0ZSA8PiBzdHJ1Y3QgaXNfc2lnbmVkX2ltcDxjb25zdCB2b2xhdGlsZSBzaWduZWQgY2hhcj4gOiBwdWJsaWMgdHJ1ZV90eXBle307Cit0ZW1wbGF0ZSA8PiBzdHJ1Y3QgaXNfc2lnbmVkX2ltcDxzaG9ydD4gOiBwdWJsaWMgdHJ1ZV90eXBle307Cit0ZW1wbGF0ZSA8PiBzdHJ1Y3QgaXNfc2lnbmVkX2ltcDxjb25zdCBzaG9ydD4gOiBwdWJsaWMgdHJ1ZV90eXBle307Cit0ZW1wbGF0ZSA8PiBzdHJ1Y3QgaXNfc2lnbmVkX2ltcDx2b2xhdGlsZSBzaG9ydD4gOiBwdWJsaWMgdHJ1ZV90eXBle307Cit0ZW1wbGF0ZSA8PiBzdHJ1Y3QgaXNfc2lnbmVkX2ltcDxjb25zdCB2b2xhdGlsZSBzaG9ydD4gOiBwdWJsaWMgdHJ1ZV90eXBle307Cit0ZW1wbGF0ZSA8PiBzdHJ1Y3QgaXNfc2lnbmVkX2ltcDxpbnQ+IDogcHVibGljIHRydWVfdHlwZXt9OwordGVtcGxhdGUgPD4gc3RydWN0IGlzX3NpZ25lZF9pbXA8Y29uc3QgaW50PiA6IHB1YmxpYyB0cnVlX3R5cGV7fTsKK3RlbXBsYXRlIDw+IHN0cnVjdCBpc19zaWduZWRfaW1wPHZvbGF0aWxlIGludD4gOiBwdWJsaWMgdHJ1ZV90eXBle307Cit0ZW1wbGF0ZSA8PiBzdHJ1Y3QgaXNfc2lnbmVkX2ltcDxjb25zdCB2b2xhdGlsZSBpbnQ+IDogcHVibGljIHRydWVfdHlwZXt9OwordGVtcGxhdGUgPD4gc3RydWN0IGlzX3NpZ25lZF9pbXA8bG9uZz4gOiBwdWJsaWMgdHJ1ZV90eXBle307Cit0ZW1wbGF0ZSA8PiBzdHJ1Y3QgaXNfc2lnbmVkX2ltcDxjb25zdCBsb25nPiA6IHB1YmxpYyB0cnVlX3R5cGV7fTsKK3RlbXBsYXRlIDw+IHN0cnVjdCBpc19zaWduZWRfaW1wPHZvbGF0aWxlIGxvbmc+IDogcHVibGljIHRydWVfdHlwZXt9OwordGVtcGxhdGUgPD4gc3RydWN0IGlzX3NpZ25lZF9pbXA8Y29uc3Qgdm9sYXRpbGUgbG9uZz4gOiBwdWJsaWMgdHJ1ZV90eXBle307CisjaWZkZWYgQk9PU1RfSEFTX0xPTkdfTE9ORwordGVtcGxhdGUgPD4gc3RydWN0IGlzX3NpZ25lZF9pbXA8bG9uZyBsb25nPiA6IHB1YmxpYyB0cnVlX3R5cGV7fTsKK3RlbXBsYXRlIDw+IHN0cnVjdCBpc19zaWduZWRfaW1wPGNvbnN0IGxvbmcgbG9uZz4gOiBwdWJsaWMgdHJ1ZV90eXBle307Cit0ZW1wbGF0ZSA8PiBzdHJ1Y3QgaXNfc2lnbmVkX2ltcDx2b2xhdGlsZSBsb25nIGxvbmc+IDogcHVibGljIHRydWVfdHlwZXt9OwordGVtcGxhdGUgPD4gc3RydWN0IGlzX3NpZ25lZF9pbXA8Y29uc3Qgdm9sYXRpbGUgbG9uZyBsb25nPiA6IHB1YmxpYyB0cnVlX3R5cGV7fTsKKyNlbmRpZgorI2lmIGRlZmluZWQoQ0hBUl9NSU4pICYmIChDSEFSX01JTiAhPSAwKQordGVtcGxhdGUgPD4gc3RydWN0IGlzX3NpZ25lZF9pbXA8Y2hhcj4gOiBwdWJsaWMgdHJ1ZV90eXBle307Cit0ZW1wbGF0ZSA8PiBzdHJ1Y3QgaXNfc2lnbmVkX2ltcDxjb25zdCBjaGFyPiA6IHB1YmxpYyB0cnVlX3R5cGV7fTsKK3RlbXBsYXRlIDw+IHN0cnVjdCBpc19zaWduZWRfaW1wPHZvbGF0aWxlIGNoYXI+IDogcHVibGljIHRydWVfdHlwZXt9OwordGVtcGxhdGUgPD4gc3RydWN0IGlzX3NpZ25lZF9pbXA8Y29uc3Qgdm9sYXRpbGUgY2hhcj4gOiBwdWJsaWMgdHJ1ZV90eXBle307CisjZW5kaWYKKyNpZiBkZWZpbmVkKFdDSEFSX01JTikgJiYgKFdDSEFSX01JTiAhPSAwKQordGVtcGxhdGUgPD4gc3RydWN0IGlzX3NpZ25lZF9pbXA8d2NoYXJfdD4gOiBwdWJsaWMgdHJ1ZV90eXBle307Cit0ZW1wbGF0ZSA8PiBzdHJ1Y3QgaXNfc2lnbmVkX2ltcDxjb25zdCB3Y2hhcl90PiA6IHB1YmxpYyB0cnVlX3R5cGV7fTsKK3RlbXBsYXRlIDw+IHN0cnVjdCBpc19zaWduZWRfaW1wPHZvbGF0aWxlIHdjaGFyX3Q+IDogcHVibGljIHRydWVfdHlwZXt9OwordGVtcGxhdGUgPD4gc3RydWN0IGlzX3NpZ25lZF9pbXA8Y29uc3Qgdm9sYXRpbGUgd2NoYXJfdD4gOiBwdWJsaWMgdHJ1ZV90eXBle307CisjZW5kaWYKKworI2VuZGlmCisKK30KKworI2VuZGlmIC8vICFkZWZpbmVkKCBfX0NPREVHRUFSQ19fICkKKworI2lmIGRlZmluZWQoIF9fQ09ERUdFQVJDX18gKQorQk9PU1RfVFRfQVVYX0JPT0xfVFJBSVRfREVGMShpc19zaWduZWQsVCxfX2lzX3NpZ25lZChUKSkKKyNlbHNlCitCT09TVF9UVF9BVVhfQk9PTF9UUkFJVF9ERUYxKGlzX3NpZ25lZCxULDo6bmRuYm9vc3Q6OmRldGFpbDo6aXNfc2lnbmVkX2ltcDxUPjo6dmFsdWUpCisjZW5kaWYKKworfSAvLyBuYW1lc3BhY2UgbmRuYm9vc3QKKworI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2RldGFpbC9ib29sX3RyYWl0X3VuZGVmLmhwcD4KKworI2VuZGlmIC8vIEJPT1NUX1RUX0lTX01FTUJFUl9GVU5DVElPTl9QT0lOVEVSX0hQUF9JTkNMVURFRApkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvdHlwZV90cmFpdHMvaXNfc3RhdGVsZXNzLmhwcCBiL25kbmJvb3N0L3R5cGVfdHJhaXRzL2lzX3N0YXRlbGVzcy5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTliMThkYwotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L3R5cGVfdHJhaXRzL2lzX3N0YXRlbGVzcy5ocHAKQEAgLTAsMCArMSw0OCBAQAorCisvLyAgKEMpIENvcHlyaWdodCBTdGV2ZSBDbGVhcnksIEJlbWFuIERhd2VzLCBIb3dhcmQgSGlubmFudCAmIEpvaG4gTWFkZG9jayAyMDAwLgorLy8gIFVzZSwgbW9kaWZpY2F0aW9uIGFuZCBkaXN0cmlidXRpb24gYXJlIHN1YmplY3QgdG8gdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsCisvLyAgVmVyc2lvbiAxLjAuIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQKKy8vICBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpLgorLy8KKy8vICBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvbGlicy90eXBlX3RyYWl0cyBmb3IgbW9zdCByZWNlbnQgdmVyc2lvbiBpbmNsdWRpbmcgZG9jdW1lbnRhdGlvbi4KKworI2lmbmRlZiBCT09TVF9UVF9JU19TVEFURUxFU1NfSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX1RUX0lTX1NUQVRFTEVTU19IUFBfSU5DTFVERUQKKworI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2hhc190cml2aWFsX2NvbnN0cnVjdG9yLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9oYXNfdHJpdmlhbF9jb3B5LmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9oYXNfdHJpdmlhbF9kZXN0cnVjdG9yLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9pc19jbGFzcy5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvaXNfZW1wdHkuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2RldGFpbC9pY2VfYW5kLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9jb25maWcuaHBwPgorCisvLyBzaG91bGQgYmUgdGhlIGxhc3QgI2luY2x1ZGUKKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9kZXRhaWwvYm9vbF90cmFpdF9kZWYuaHBwPgorCituYW1lc3BhY2UgbmRuYm9vc3QgeworCituYW1lc3BhY2UgZGV0YWlsIHsKKwordGVtcGxhdGUgPHR5cGVuYW1lIFQ+CitzdHJ1Y3QgaXNfc3RhdGVsZXNzX2ltcGwKK3sKKyAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGJvb2wsIHZhbHVlID0gCisgICAgKDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2VfYW5kPAorICAgICAgIDo6bmRuYm9vc3Q6Omhhc190cml2aWFsX2NvbnN0cnVjdG9yPFQ+Ojp2YWx1ZSwKKyAgICAgICA6Om5kbmJvb3N0OjpoYXNfdHJpdmlhbF9jb3B5PFQ+Ojp2YWx1ZSwKKyAgICAgICA6Om5kbmJvb3N0OjpoYXNfdHJpdmlhbF9kZXN0cnVjdG9yPFQ+Ojp2YWx1ZSwKKyAgICAgICA6Om5kbmJvb3N0Ojppc19jbGFzczxUPjo6dmFsdWUsCisgICAgICAgOjpuZG5ib29zdDo6aXNfZW1wdHk8VD46OnZhbHVlCisgICAgID46OnZhbHVlKSk7Cit9OworCit9IC8vIG5hbWVzcGFjZSBkZXRhaWwKKworQk9PU1RfVFRfQVVYX0JPT0xfVFJBSVRfREVGMShpc19zdGF0ZWxlc3MsVCw6Om5kbmJvb3N0OjpkZXRhaWw6OmlzX3N0YXRlbGVzc19pbXBsPFQ+Ojp2YWx1ZSkKKworfSAvLyBuYW1lc3BhY2UgbmRuYm9vc3QKKworI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2RldGFpbC9ib29sX3RyYWl0X3VuZGVmLmhwcD4KKworI2VuZGlmIC8vIEJPT1NUX1RUX0lTX1NUQVRFTEVTU19IUFBfSU5DTFVERUQKZGlmZiAtLWdpdCBhL25kbmJvb3N0L3R5cGVfdHJhaXRzL2lzX3Vuc2lnbmVkLmhwcCBiL25kbmJvb3N0L3R5cGVfdHJhaXRzL2lzX3Vuc2lnbmVkLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNDY5ODRlCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvdHlwZV90cmFpdHMvaXNfdW5zaWduZWQuaHBwCkBAIC0wLDAgKzEsMTM1IEBACisKKy8vICAoQykgQ29weXJpZ2h0IEpvaG4gTWFkZG9jayAyMDA1LiAgCisvLyAgVXNlLCBtb2RpZmljYXRpb24gYW5kIGRpc3RyaWJ1dGlvbiBhcmUgc3ViamVjdCB0byB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwKKy8vICBWZXJzaW9uIDEuMC4gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdAorLy8gIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkuCisvLworLy8gIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL3R5cGVfdHJhaXRzIGZvciBtb3N0IHJlY2VudCB2ZXJzaW9uIGluY2x1ZGluZyBkb2N1bWVudGF0aW9uLgorCisKKyNpZm5kZWYgQk9PU1RfVFRfSVNfVU5TSUdORURfSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX1RUX0lTX1VOU0lHTkVEX0hQUF9JTkNMVURFRAorCisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvaXNfaW50ZWdyYWwuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2lzX2VudW0uaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL3JlbW92ZV9jdi5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvZGV0YWlsL2ljZV9vci5ocHA+CisKKy8vIHNob3VsZCBiZSB0aGUgbGFzdCAjaW5jbHVkZQorI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2RldGFpbC9ib29sX3RyYWl0X2RlZi5ocHA+CisKK25hbWVzcGFjZSBuZG5ib29zdCB7CisKKyNpZiAhZGVmaW5lZCggX19DT0RFR0VBUkNfXyApCisKK25hbWVzcGFjZSBkZXRhaWx7CisKKyNpZiAhKGRlZmluZWQoX19FREdfVkVSU0lPTl9fKSAmJiBfX0VER19WRVJTSU9OX18gPD0gMjM4KSAmJiAhZGVmaW5lZChCT09TVF9OT19JTkNMQVNTX01FTUJFUl9JTklUSUFMSVpBVElPTikKKwordGVtcGxhdGUgPGNsYXNzIFQ+CitzdHJ1Y3QgaXNfdW5zaWduZWRfdmFsdWVzCit7CisgICAvLworICAgLy8gTm90ZSB0aGF0IHdlIGNhbm5vdCB1c2UgQk9PU1RfU1RBVElDX0NPTlNUQU5UIGhlcmUsIHVzaW5nIGVudW0ncworICAgLy8gcmF0aGVyIHRoYW4gInJlYWwiIHN0YXRpYyBjb25zdGFudHMgc2ltcGx5IGRvZXNuJ3Qgd29yayBvciBnaXZlCisgICAvLyB0aGUgY29ycmVjdCBhbnN3ZXIuCisgICAvLworICAgdHlwZWRlZiB0eXBlbmFtZSByZW1vdmVfY3Y8VD46OnR5cGUgbm9fY3ZfdDsKKyAgIHN0YXRpYyBjb25zdCBub19jdl90IG1pbnVzX29uZSA9IChzdGF0aWNfY2FzdDxub19jdl90PigtMSkpOworICAgc3RhdGljIGNvbnN0IG5vX2N2X3QgemVybyA9IChzdGF0aWNfY2FzdDxub19jdl90PigwKSk7Cit9OworCit0ZW1wbGF0ZSA8Y2xhc3MgVD4KK3N0cnVjdCBpc191bnVuc2lnbmVkX2hlbHBlcgoreworICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGJvb2wsIHZhbHVlID0gKDo6bmRuYm9vc3Q6OmRldGFpbDo6aXNfdW5zaWduZWRfdmFsdWVzPFQ+OjptaW51c19vbmUgPiA6Om5kbmJvb3N0OjpkZXRhaWw6OmlzX3Vuc2lnbmVkX3ZhbHVlczxUPjo6emVybykpOworfTsKKwordGVtcGxhdGUgPGJvb2wgaW50ZWdyYWxfdHlwZT4KK3N0cnVjdCBpc191bnVuc2lnbmVkX3NlbGVjdF9oZWxwZXIKK3sKKyAgIHRlbXBsYXRlIDxjbGFzcyBUPgorICAgc3RydWN0IHJlYmluZAorICAgeworICAgICAgdHlwZWRlZiBpc191bnVuc2lnbmVkX2hlbHBlcjxUPiB0eXBlOworICAgfTsKK307CisKK3RlbXBsYXRlIDw+CitzdHJ1Y3QgaXNfdW51bnNpZ25lZF9zZWxlY3RfaGVscGVyPGZhbHNlPgoreworICAgdGVtcGxhdGUgPGNsYXNzIFQ+CisgICBzdHJ1Y3QgcmViaW5kCisgICB7CisgICAgICB0eXBlZGVmIGZhbHNlX3R5cGUgdHlwZTsKKyAgIH07Cit9OworCit0ZW1wbGF0ZSA8Y2xhc3MgVD4KK3N0cnVjdCBpc191bnNpZ25lZF9pbXAKK3sKKyAgIHR5cGVkZWYgaXNfdW51bnNpZ25lZF9zZWxlY3RfaGVscGVyPCAKKyAgICAgIDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2Vfb3I8CisgICAgICAgICA6Om5kbmJvb3N0Ojppc19pbnRlZ3JhbDxUPjo6dmFsdWUsCisgICAgICAgICA6Om5kbmJvb3N0Ojppc19lbnVtPFQ+Ojp2YWx1ZT46OnZhbHVlIAorICAgPiBzZWxlY3RvcjsKKyAgIHR5cGVkZWYgdHlwZW5hbWUgc2VsZWN0b3I6OnRlbXBsYXRlIHJlYmluZDxUPiBiaW5kZXI7CisgICB0eXBlZGVmIHR5cGVuYW1lIGJpbmRlcjo6dHlwZSB0eXBlOworICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGJvb2wsIHZhbHVlID0gdHlwZTo6dmFsdWUpOworfTsKKworI2Vsc2UKKwordGVtcGxhdGUgPGNsYXNzIFQ+IHN0cnVjdCBpc191bnNpZ25lZF9pbXAgOiBwdWJsaWMgZmFsc2VfdHlwZXt9OwordGVtcGxhdGUgPD4gc3RydWN0IGlzX3Vuc2lnbmVkX2ltcDx1bnNpZ25lZCBjaGFyPiA6IHB1YmxpYyB0cnVlX3R5cGV7fTsKK3RlbXBsYXRlIDw+IHN0cnVjdCBpc191bnNpZ25lZF9pbXA8Y29uc3QgdW5zaWduZWQgY2hhcj4gOiBwdWJsaWMgdHJ1ZV90eXBle307Cit0ZW1wbGF0ZSA8PiBzdHJ1Y3QgaXNfdW5zaWduZWRfaW1wPHZvbGF0aWxlIHVuc2lnbmVkIGNoYXI+IDogcHVibGljIHRydWVfdHlwZXt9OwordGVtcGxhdGUgPD4gc3RydWN0IGlzX3Vuc2lnbmVkX2ltcDxjb25zdCB2b2xhdGlsZSB1bnNpZ25lZCBjaGFyPiA6IHB1YmxpYyB0cnVlX3R5cGV7fTsKK3RlbXBsYXRlIDw+IHN0cnVjdCBpc191bnNpZ25lZF9pbXA8dW5zaWduZWQgc2hvcnQ+IDogcHVibGljIHRydWVfdHlwZXt9OwordGVtcGxhdGUgPD4gc3RydWN0IGlzX3Vuc2lnbmVkX2ltcDxjb25zdCB1bnNpZ25lZCBzaG9ydD4gOiBwdWJsaWMgdHJ1ZV90eXBle307Cit0ZW1wbGF0ZSA8PiBzdHJ1Y3QgaXNfdW5zaWduZWRfaW1wPHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0PiA6IHB1YmxpYyB0cnVlX3R5cGV7fTsKK3RlbXBsYXRlIDw+IHN0cnVjdCBpc191bnNpZ25lZF9pbXA8Y29uc3Qgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQ+IDogcHVibGljIHRydWVfdHlwZXt9OwordGVtcGxhdGUgPD4gc3RydWN0IGlzX3Vuc2lnbmVkX2ltcDx1bnNpZ25lZCBpbnQ+IDogcHVibGljIHRydWVfdHlwZXt9OwordGVtcGxhdGUgPD4gc3RydWN0IGlzX3Vuc2lnbmVkX2ltcDxjb25zdCB1bnNpZ25lZCBpbnQ+IDogcHVibGljIHRydWVfdHlwZXt9OwordGVtcGxhdGUgPD4gc3RydWN0IGlzX3Vuc2lnbmVkX2ltcDx2b2xhdGlsZSB1bnNpZ25lZCBpbnQ+IDogcHVibGljIHRydWVfdHlwZXt9OwordGVtcGxhdGUgPD4gc3RydWN0IGlzX3Vuc2lnbmVkX2ltcDxjb25zdCB2b2xhdGlsZSB1bnNpZ25lZCBpbnQ+IDogcHVibGljIHRydWVfdHlwZXt9OwordGVtcGxhdGUgPD4gc3RydWN0IGlzX3Vuc2lnbmVkX2ltcDx1bnNpZ25lZCBsb25nPiA6IHB1YmxpYyB0cnVlX3R5cGV7fTsKK3RlbXBsYXRlIDw+IHN0cnVjdCBpc191bnNpZ25lZF9pbXA8Y29uc3QgdW5zaWduZWQgbG9uZz4gOiBwdWJsaWMgdHJ1ZV90eXBle307Cit0ZW1wbGF0ZSA8PiBzdHJ1Y3QgaXNfdW5zaWduZWRfaW1wPHZvbGF0aWxlIHVuc2lnbmVkIGxvbmc+IDogcHVibGljIHRydWVfdHlwZXt9OwordGVtcGxhdGUgPD4gc3RydWN0IGlzX3Vuc2lnbmVkX2ltcDxjb25zdCB2b2xhdGlsZSB1bnNpZ25lZCBsb25nPiA6IHB1YmxpYyB0cnVlX3R5cGV7fTsKKyNpZmRlZiBCT09TVF9IQVNfTE9OR19MT05HCit0ZW1wbGF0ZSA8PiBzdHJ1Y3QgaXNfdW5zaWduZWRfaW1wPHVuc2lnbmVkIGxvbmcgbG9uZz4gOiBwdWJsaWMgdHJ1ZV90eXBle307Cit0ZW1wbGF0ZSA8PiBzdHJ1Y3QgaXNfdW5zaWduZWRfaW1wPGNvbnN0IHVuc2lnbmVkIGxvbmcgbG9uZz4gOiBwdWJsaWMgdHJ1ZV90eXBle307Cit0ZW1wbGF0ZSA8PiBzdHJ1Y3QgaXNfdW5zaWduZWRfaW1wPHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcgbG9uZz4gOiBwdWJsaWMgdHJ1ZV90eXBle307Cit0ZW1wbGF0ZSA8PiBzdHJ1Y3QgaXNfdW5zaWduZWRfaW1wPGNvbnN0IHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcgbG9uZz4gOiBwdWJsaWMgdHJ1ZV90eXBle307CisjZW5kaWYKKyNpZiBkZWZpbmVkKENIQVJfTUlOKSAmJiAoQ0hBUl9NSU4gPT0gMCkKK3RlbXBsYXRlIDw+IHN0cnVjdCBpc191bnNpZ25lZF9pbXA8Y2hhcj4gOiBwdWJsaWMgdHJ1ZV90eXBle307Cit0ZW1wbGF0ZSA8PiBzdHJ1Y3QgaXNfdW5zaWduZWRfaW1wPGNvbnN0IGNoYXI+IDogcHVibGljIHRydWVfdHlwZXt9OwordGVtcGxhdGUgPD4gc3RydWN0IGlzX3Vuc2lnbmVkX2ltcDx2b2xhdGlsZSBjaGFyPiA6IHB1YmxpYyB0cnVlX3R5cGV7fTsKK3RlbXBsYXRlIDw+IHN0cnVjdCBpc191bnNpZ25lZF9pbXA8Y29uc3Qgdm9sYXRpbGUgY2hhcj4gOiBwdWJsaWMgdHJ1ZV90eXBle307CisjZW5kaWYKKyNpZiBkZWZpbmVkKFdDSEFSX01JTikgJiYgKFdDSEFSX01JTiA9PSAwKSAmJiAhZGVmaW5lZChCT09TVF9OT19JTlRSSU5TSUNfV0NIQVJfVCkKK3RlbXBsYXRlIDw+IHN0cnVjdCBpc191bnNpZ25lZF9pbXA8d2NoYXJfdD4gOiBwdWJsaWMgdHJ1ZV90eXBle307Cit0ZW1wbGF0ZSA8PiBzdHJ1Y3QgaXNfdW5zaWduZWRfaW1wPGNvbnN0IHdjaGFyX3Q+IDogcHVibGljIHRydWVfdHlwZXt9OwordGVtcGxhdGUgPD4gc3RydWN0IGlzX3Vuc2lnbmVkX2ltcDx2b2xhdGlsZSB3Y2hhcl90PiA6IHB1YmxpYyB0cnVlX3R5cGV7fTsKK3RlbXBsYXRlIDw+IHN0cnVjdCBpc191bnNpZ25lZF9pbXA8Y29uc3Qgdm9sYXRpbGUgd2NoYXJfdD4gOiBwdWJsaWMgdHJ1ZV90eXBle307CisjZW5kaWYKKworI2VuZGlmCisKK30KKworI2VuZGlmIC8vICFkZWZpbmVkKCBfX0NPREVHRUFSQ19fICkKKworI2lmIGRlZmluZWQoIF9fQ09ERUdFQVJDX18gKQorQk9PU1RfVFRfQVVYX0JPT0xfVFJBSVRfREVGMShpc191bnNpZ25lZCxULF9faXNfdW5zaWduZWQoVCkpCisjZWxzZQorQk9PU1RfVFRfQVVYX0JPT0xfVFJBSVRfREVGMShpc191bnNpZ25lZCxULDo6bmRuYm9vc3Q6OmRldGFpbDo6aXNfdW5zaWduZWRfaW1wPFQ+Ojp2YWx1ZSkKKyNlbmRpZgorCit9IC8vIG5hbWVzcGFjZSBuZG5ib29zdAorCisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvZGV0YWlsL2Jvb2xfdHJhaXRfdW5kZWYuaHBwPgorCisjZW5kaWYgLy8gQk9PU1RfVFRfSVNfTUVNQkVSX0ZVTkNUSU9OX1BPSU5URVJfSFBQX0lOQ0xVREVECmRpZmYgLS1naXQgYS9uZG5ib29zdC90eXBlX3RyYWl0cy9pc192aXJ0dWFsX2Jhc2Vfb2YuaHBwIGIvbmRuYm9vc3QvdHlwZV90cmFpdHMvaXNfdmlydHVhbF9iYXNlX29mLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MGU4YTViCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvdHlwZV90cmFpdHMvaXNfdmlydHVhbF9iYXNlX29mLmhwcApAQCAtMCwwICsxLDEwNCBAQAorLy8gIChDKSBDb3B5cmlnaHQgRGFuaWVsIEZyZXkgYW5kIFJvYmVydCBSYW1leSAyMDA5LgorLy8gIFVzZSwgbW9kaWZpY2F0aW9uIGFuZCBkaXN0cmlidXRpb24gYXJlIHN1YmplY3QgdG8gdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsCisvLyAgVmVyc2lvbiAxLjAuIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQKKy8vICBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpLgorLy8KKy8vICBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvbGlicy90eXBlX3RyYWl0cyBmb3IgbW9zdCByZWNlbnQgdmVyc2lvbiBpbmNsdWRpbmcgZG9jdW1lbnRhdGlvbi4KKyAKKyNpZm5kZWYgQk9PU1RfVFRfSVNfVklSVFVBTF9CQVNFX09GX0hQUF9JTkNMVURFRAorI2RlZmluZSBCT09TVF9UVF9JU19WSVJUVUFMX0JBU0VfT0ZfSFBQX0lOQ0xVREVECisKKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9pc19iYXNlX29mLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9pc19zYW1lLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYW5kLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvbm90LmhwcD4KKworLy8gc2hvdWxkIGJlIHRoZSBsYXN0ICNpbmNsdWRlCisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvZGV0YWlsL2Jvb2xfdHJhaXRfZGVmLmhwcD4KKworbmFtZXNwYWNlIG5kbmJvb3N0IHsKK25hbWVzcGFjZSBkZXRhaWwgeworCisKKyNpZmRlZiBCT09TVF9NU1ZDCisjcHJhZ21hIHdhcm5pbmcoIHB1c2ggKQorI3ByYWdtYSB3YXJuaW5nKCBkaXNhYmxlIDogNDU4NCA0MjUwKQorI2VsaWYgZGVmaW5lZChfX0dOVUNfXykgJiYgKF9fR05VQ19fID49IDQpCisjcHJhZ21hIEdDQyBzeXN0ZW1faGVhZGVyCisjZW5kaWYKKwordGVtcGxhdGU8dHlwZW5hbWUgQmFzZSwgdHlwZW5hbWUgRGVyaXZlZCwgdHlwZW5hbWUgdGFnPgorc3RydWN0IGlzX3ZpcnR1YWxfYmFzZV9vZl9pbXBsCit7CisgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGJvb2wsIHZhbHVlID0gZmFsc2UpOworfTsKKwordGVtcGxhdGU8dHlwZW5hbWUgQmFzZSwgdHlwZW5hbWUgRGVyaXZlZD4KK3N0cnVjdCBpc192aXJ0dWFsX2Jhc2Vfb2ZfaW1wbDxCYXNlLCBEZXJpdmVkLCBtcGw6OnRydWVfPgoreworI2lmZGVmIF9fQk9STEFORENfXworICAgIHN0cnVjdCBib29zdF90eXBlX3RyYWl0c19pbnRlcm5hbF9zdHJ1Y3RfWCA6IHB1YmxpYyB2aXJ0dWFsIERlcml2ZWQsIHB1YmxpYyB2aXJ0dWFsIEJhc2UgCisgICAgeworICAgICAgIGJvb3N0X3R5cGVfdHJhaXRzX2ludGVybmFsX3N0cnVjdF9YKCk7CisgICAgICAgYm9vc3RfdHlwZV90cmFpdHNfaW50ZXJuYWxfc3RydWN0X1goY29uc3QgYm9vc3RfdHlwZV90cmFpdHNfaW50ZXJuYWxfc3RydWN0X1gmKTsKKyAgICAgICBib29zdF90eXBlX3RyYWl0c19pbnRlcm5hbF9zdHJ1Y3RfWCYgb3BlcmF0b3I9KGNvbnN0IGJvb3N0X3R5cGVfdHJhaXRzX2ludGVybmFsX3N0cnVjdF9YJik7CisgICAgICAgfmJvb3N0X3R5cGVfdHJhaXRzX2ludGVybmFsX3N0cnVjdF9YKCl0aHJvdygpOworICAgIH07CisgICAgc3RydWN0IGJvb3N0X3R5cGVfdHJhaXRzX2ludGVybmFsX3N0cnVjdF9ZIDogcHVibGljIHZpcnR1YWwgRGVyaXZlZCAKKyAgICB7CisgICAgICAgYm9vc3RfdHlwZV90cmFpdHNfaW50ZXJuYWxfc3RydWN0X1koKTsKKyAgICAgICBib29zdF90eXBlX3RyYWl0c19pbnRlcm5hbF9zdHJ1Y3RfWShjb25zdCBib29zdF90eXBlX3RyYWl0c19pbnRlcm5hbF9zdHJ1Y3RfWSYpOworICAgICAgIGJvb3N0X3R5cGVfdHJhaXRzX2ludGVybmFsX3N0cnVjdF9ZJiBvcGVyYXRvcj0oY29uc3QgYm9vc3RfdHlwZV90cmFpdHNfaW50ZXJuYWxfc3RydWN0X1kmKTsKKyAgICAgICB+Ym9vc3RfdHlwZV90cmFpdHNfaW50ZXJuYWxfc3RydWN0X1koKXRocm93KCk7CisgICAgfTsKKyNlbHNlCisgICAgc3RydWN0IGJvb3N0X3R5cGVfdHJhaXRzX2ludGVybmFsX3N0cnVjdF9YIDogcHVibGljIERlcml2ZWQsIHZpcnR1YWwgQmFzZSAKKyAgICB7CisgICAgICAgYm9vc3RfdHlwZV90cmFpdHNfaW50ZXJuYWxfc3RydWN0X1goKTsKKyAgICAgICBib29zdF90eXBlX3RyYWl0c19pbnRlcm5hbF9zdHJ1Y3RfWChjb25zdCBib29zdF90eXBlX3RyYWl0c19pbnRlcm5hbF9zdHJ1Y3RfWCYpOworICAgICAgIGJvb3N0X3R5cGVfdHJhaXRzX2ludGVybmFsX3N0cnVjdF9YJiBvcGVyYXRvcj0oY29uc3QgYm9vc3RfdHlwZV90cmFpdHNfaW50ZXJuYWxfc3RydWN0X1gmKTsKKyAgICAgICB+Ym9vc3RfdHlwZV90cmFpdHNfaW50ZXJuYWxfc3RydWN0X1goKXRocm93KCk7CisgICAgfTsKKyAgICBzdHJ1Y3QgYm9vc3RfdHlwZV90cmFpdHNfaW50ZXJuYWxfc3RydWN0X1kgOiBwdWJsaWMgRGVyaXZlZCAKKyAgICB7CisgICAgICAgYm9vc3RfdHlwZV90cmFpdHNfaW50ZXJuYWxfc3RydWN0X1koKTsKKyAgICAgICBib29zdF90eXBlX3RyYWl0c19pbnRlcm5hbF9zdHJ1Y3RfWShjb25zdCBib29zdF90eXBlX3RyYWl0c19pbnRlcm5hbF9zdHJ1Y3RfWSYpOworICAgICAgIGJvb3N0X3R5cGVfdHJhaXRzX2ludGVybmFsX3N0cnVjdF9ZJiBvcGVyYXRvcj0oY29uc3QgYm9vc3RfdHlwZV90cmFpdHNfaW50ZXJuYWxfc3RydWN0X1kmKTsKKyAgICAgICB+Ym9vc3RfdHlwZV90cmFpdHNfaW50ZXJuYWxfc3RydWN0X1koKXRocm93KCk7CisgICAgfTsKKyNlbmRpZgorICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChib29sLCB2YWx1ZSA9IChzaXplb2YoYm9vc3RfdHlwZV90cmFpdHNfaW50ZXJuYWxfc3RydWN0X1gpPT1zaXplb2YoYm9vc3RfdHlwZV90cmFpdHNfaW50ZXJuYWxfc3RydWN0X1kpKSk7Cit9OworCit0ZW1wbGF0ZTx0eXBlbmFtZSBCYXNlLCB0eXBlbmFtZSBEZXJpdmVkPgorc3RydWN0IGlzX3ZpcnR1YWxfYmFzZV9vZl9pbXBsMgoreworICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6OmFuZF88aXNfYmFzZV9vZjxCYXNlLCBEZXJpdmVkPiwgbXBsOjpub3RfPGlzX3NhbWU8QmFzZSwgRGVyaXZlZD4gPiA+Ojp0eXBlIHRhZ190eXBlOworICAgdHlwZWRlZiBpc192aXJ0dWFsX2Jhc2Vfb2ZfaW1wbDxCYXNlLCBEZXJpdmVkLCB0YWdfdHlwZT4gaW1wOworICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGJvb2wsIHZhbHVlID0gaW1wOjp2YWx1ZSk7Cit9OworCisjaWZkZWYgQk9PU1RfTVNWQworI3ByYWdtYSB3YXJuaW5nKCBwb3AgKQorI2VuZGlmCisKK30gLy8gbmFtZXNwYWNlIGRldGFpbAorCitCT09TVF9UVF9BVVhfQk9PTF9UUkFJVF9ERUYyKAorICAgICAgaXNfdmlydHVhbF9iYXNlX29mCisgICAgICAgLCBCYXNlCisgICAgICAgLCBEZXJpdmVkCisgICAgICAgLCAoOjpuZG5ib29zdDo6ZGV0YWlsOjppc192aXJ0dWFsX2Jhc2Vfb2ZfaW1wbDI8QmFzZSxEZXJpdmVkPjo6dmFsdWUpIAorKQorCisjaWZuZGVmIEJPT1NUX05PX1RFTVBMQVRFX1BBUlRJQUxfU1BFQ0lBTElaQVRJT04KK0JPT1NUX1RUX0FVWF9CT09MX1RSQUlUX1BBUlRJQUxfU1BFQzJfMih0eXBlbmFtZSBCYXNlLHR5cGVuYW1lIERlcml2ZWQsaXNfdmlydHVhbF9iYXNlX29mLEJhc2UmLERlcml2ZWQsZmFsc2UpCitCT09TVF9UVF9BVVhfQk9PTF9UUkFJVF9QQVJUSUFMX1NQRUMyXzIodHlwZW5hbWUgQmFzZSx0eXBlbmFtZSBEZXJpdmVkLGlzX3ZpcnR1YWxfYmFzZV9vZixCYXNlLERlcml2ZWQmLGZhbHNlKQorQk9PU1RfVFRfQVVYX0JPT0xfVFJBSVRfUEFSVElBTF9TUEVDMl8yKHR5cGVuYW1lIEJhc2UsdHlwZW5hbWUgRGVyaXZlZCxpc192aXJ0dWFsX2Jhc2Vfb2YsQmFzZSYsRGVyaXZlZCYsZmFsc2UpCisjZW5kaWYKKworfSAvLyBuYW1lc3BhY2UgbmRuYm9vc3QKKworI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2RldGFpbC9ib29sX3RyYWl0X3VuZGVmLmhwcD4KKworI2VuZGlmCmRpZmYgLS1naXQgYS9uZG5ib29zdC90eXBlX3RyYWl0cy9tYWtlX3NpZ25lZC5ocHAgYi9uZG5ib29zdC90eXBlX3RyYWl0cy9tYWtlX3NpZ25lZC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjg1MmRjMwotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L3R5cGVfdHJhaXRzL21ha2Vfc2lnbmVkLmhwcApAQCAtMCwwICsxLDE1MyBAQAorCisvLyAgKEMpIENvcHlyaWdodCBKb2huIE1hZGRvY2sgMjAwNy4KKy8vICBVc2UsIG1vZGlmaWNhdGlvbiBhbmQgZGlzdHJpYnV0aW9uIGFyZSBzdWJqZWN0IHRvIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLAorLy8gIFZlcnNpb24gMS4wLiAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0CisvLyAgaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KS4KKy8vCisvLyAgU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL2xpYnMvdHlwZV90cmFpdHMgZm9yIG1vc3QgcmVjZW50IHZlcnNpb24gaW5jbHVkaW5nIGRvY3VtZW50YXRpb24uCisKKyNpZm5kZWYgQk9PU1RfVFRfTUFLRV9TSUdORURfSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX1RUX01BS0VfU0lHTkVEX0hQUF9JTkNMVURFRAorCisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2lmLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9pc19pbnRlZ3JhbC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvaXNfc2lnbmVkLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9pc191bnNpZ25lZC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvaXNfZW51bS5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvaXNfc2FtZS5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvcmVtb3ZlX2N2LmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9pc19jb25zdC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvaXNfdm9sYXRpbGUuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2FkZF9jb25zdC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvYWRkX3ZvbGF0aWxlLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9kZXRhaWwvaWNlX29yLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9kZXRhaWwvaWNlX2FuZC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvZGV0YWlsL2ljZV9ub3QuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3N0YXRpY19hc3NlcnQuaHBwPgorCisvLyBzaG91bGQgYmUgdGhlIGxhc3QgI2luY2x1ZGUKKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9kZXRhaWwvdHlwZV90cmFpdF9kZWYuaHBwPgorCituYW1lc3BhY2UgbmRuYm9vc3QgeworCituYW1lc3BhY2UgZGV0YWlsIHsKKwordGVtcGxhdGUgPGNsYXNzIFQ+CitzdHJ1Y3QgbWFrZV9zaWduZWRfaW1wCit7CisgICBCT09TVF9TVEFUSUNfQVNTRVJUKAorICAgICAgKDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2Vfb3I8IDo6bmRuYm9vc3Q6OmlzX2ludGVncmFsPFQ+Ojp2YWx1ZSwgOjpuZG5ib29zdDo6aXNfZW51bTxUPjo6dmFsdWU+Ojp2YWx1ZSkpOworI2lmICFCT09TVF9XT1JLQVJPVU5EKEJPT1NUX01TVkMsIDw9MTMwMCkKKyAgIEJPT1NUX1NUQVRJQ19BU1NFUlQoCisgICAgICAoOjpuZG5ib29zdDo6dHlwZV90cmFpdHM6OmljZV9ub3Q8IDo6bmRuYm9vc3Q6OmlzX3NhbWU8CisgICAgICAgICB0eXBlbmFtZSByZW1vdmVfY3Y8VD46OnR5cGUsIGJvb2w+Ojp2YWx1ZT46OnZhbHVlKSk7CisjZW5kaWYKKworICAgdHlwZWRlZiB0eXBlbmFtZSByZW1vdmVfY3Y8VD46OnR5cGUgdF9ub19jdjsKKyAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjppZl9jPAorICAgICAgKDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2VfYW5kPCAKKyAgICAgICAgIDo6bmRuYm9vc3Q6OmlzX3NpZ25lZDxUPjo6dmFsdWUsCisgICAgICAgICA6Om5kbmJvb3N0Ojppc19pbnRlZ3JhbDxUPjo6dmFsdWUsCisgICAgICAgICA6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6aWNlX25vdDwgOjpuZG5ib29zdDo6aXNfc2FtZTx0X25vX2N2LCBjaGFyPjo6dmFsdWU+Ojp2YWx1ZSwKKyAgICAgICAgIDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2Vfbm90PCA6Om5kbmJvb3N0Ojppc19zYW1lPHRfbm9fY3YsIHdjaGFyX3Q+Ojp2YWx1ZT46OnZhbHVlLAorICAgICAgICAgOjpuZG5ib29zdDo6dHlwZV90cmFpdHM6OmljZV9ub3Q8IDo6bmRuYm9vc3Q6OmlzX3NhbWU8dF9ub19jdiwgYm9vbD46OnZhbHVlPjo6dmFsdWUgPjo6dmFsdWUpLAorICAgICAgVCwKKyAgICAgIHR5cGVuYW1lIG1wbDo6aWZfYzwKKyAgICAgICAgICg6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6aWNlX2FuZDwgCisgICAgICAgICAgICA6Om5kbmJvb3N0Ojppc19pbnRlZ3JhbDxUPjo6dmFsdWUsCisgICAgICAgICAgICA6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6aWNlX25vdDwgOjpuZG5ib29zdDo6aXNfc2FtZTx0X25vX2N2LCBjaGFyPjo6dmFsdWU+Ojp2YWx1ZSwKKyAgICAgICAgICAgIDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2Vfbm90PCA6Om5kbmJvb3N0Ojppc19zYW1lPHRfbm9fY3YsIHdjaGFyX3Q+Ojp2YWx1ZT46OnZhbHVlLAorICAgICAgICAgICAgOjpuZG5ib29zdDo6dHlwZV90cmFpdHM6OmljZV9ub3Q8IDo6bmRuYm9vc3Q6OmlzX3NhbWU8dF9ub19jdiwgYm9vbD46OnZhbHVlPjo6dmFsdWU+CisgICAgICAgICA6OnZhbHVlKSwKKyAgICAgICAgIHR5cGVuYW1lIG1wbDo6aWZfPAorICAgICAgICAgICAgaXNfc2FtZTx0X25vX2N2LCB1bnNpZ25lZCBjaGFyPiwKKyAgICAgICAgICAgIHNpZ25lZCBjaGFyLAorICAgICAgICAgICAgdHlwZW5hbWUgbXBsOjppZl88CisgICAgICAgICAgICAgICBpc19zYW1lPHRfbm9fY3YsIHVuc2lnbmVkIHNob3J0PiwKKyAgICAgICAgICAgICAgIHNpZ25lZCBzaG9ydCwKKyAgICAgICAgICAgICAgIHR5cGVuYW1lIG1wbDo6aWZfPAorICAgICAgICAgICAgICAgICAgaXNfc2FtZTx0X25vX2N2LCB1bnNpZ25lZCBpbnQ+LAorICAgICAgICAgICAgICAgICAgaW50LAorICAgICAgICAgICAgICAgICAgdHlwZW5hbWUgbXBsOjppZl88CisgICAgICAgICAgICAgICAgICAgICBpc19zYW1lPHRfbm9fY3YsIHVuc2lnbmVkIGxvbmc+LAorICAgICAgICAgICAgICAgICAgICAgbG9uZywKKyNpZiBkZWZpbmVkKEJPT1NUX0hBU19MT05HX0xPTkcpCisjaWZkZWYgQk9PU1RfSEFTX0lOVDEyOAorICAgICAgICAgICAgICAgICAgICAgdHlwZW5hbWUgbXBsOjppZl9jPAorICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKHRfbm9fY3YpID09IHNpemVvZihuZG5ib29zdDo6bG9uZ19sb25nX3R5cGUpLCAKKyAgICAgICAgICAgICAgICAgICAgICAgIG5kbmJvb3N0Ojpsb25nX2xvbmdfdHlwZSwgCisgICAgICAgICAgICAgICAgICAgICAgICBuZG5ib29zdDo6aW50MTI4X3R5cGUKKyAgICAgICAgICAgICAgICAgICAgID46OnR5cGUKKyNlbHNlCisgICAgICAgICAgICAgICAgICAgICBuZG5ib29zdDo6bG9uZ19sb25nX3R5cGUKKyNlbmRpZgorI2VsaWYgZGVmaW5lZChCT09TVF9IQVNfTVNfSU5UNjQpCisgICAgICAgICAgICAgICAgICAgICBfX2ludDY0CisjZWxzZQorICAgICAgICAgICAgICAgICAgICAgbG9uZworI2VuZGlmCisgICAgICAgICAgICAgICAgICA+Ojp0eXBlCisgICAgICAgICAgICAgICA+Ojp0eXBlCisgICAgICAgICAgICA+Ojp0eXBlCisgICAgICAgICA+Ojp0eXBlLAorICAgICAgICAgLy8gTm90IGEgcmVndWxhciBpbnRlZ2VyIHR5cGU6CisgICAgICAgICB0eXBlbmFtZSBtcGw6OmlmX2M8CisgICAgICAgICAgICBzaXplb2YodF9ub19jdikgPT0gc2l6ZW9mKHVuc2lnbmVkIGNoYXIpLAorICAgICAgICAgICAgc2lnbmVkIGNoYXIsCisgICAgICAgICAgICB0eXBlbmFtZSBtcGw6OmlmX2M8CisgICAgICAgICAgICAgICBzaXplb2YodF9ub19jdikgPT0gc2l6ZW9mKHVuc2lnbmVkIHNob3J0KSwKKyAgICAgICAgICAgICAgIHNpZ25lZCBzaG9ydCwKKyAgICAgICAgICAgICAgIHR5cGVuYW1lIG1wbDo6aWZfYzwKKyAgICAgICAgICAgICAgICAgIHNpemVvZih0X25vX2N2KSA9PSBzaXplb2YodW5zaWduZWQgaW50KSwKKyAgICAgICAgICAgICAgICAgIGludCwKKyAgICAgICAgICAgICAgICAgIHR5cGVuYW1lIG1wbDo6aWZfYzwKKyAgICAgICAgICAgICAgICAgICAgIHNpemVvZih0X25vX2N2KSA9PSBzaXplb2YodW5zaWduZWQgbG9uZyksCisgICAgICAgICAgICAgICAgICAgICBsb25nLAorI2lmIGRlZmluZWQoQk9PU1RfSEFTX0xPTkdfTE9ORykKKyNpZmRlZiBCT09TVF9IQVNfSU5UMTI4CisgICAgICAgICAgICAgICAgICAgICB0eXBlbmFtZSBtcGw6OmlmX2M8CisgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2YodF9ub19jdikgPT0gc2l6ZW9mKG5kbmJvb3N0Ojpsb25nX2xvbmdfdHlwZSksIAorICAgICAgICAgICAgICAgICAgICAgICAgbmRuYm9vc3Q6OmxvbmdfbG9uZ190eXBlLCAKKyAgICAgICAgICAgICAgICAgICAgICAgIG5kbmJvb3N0OjppbnQxMjhfdHlwZQorICAgICAgICAgICAgICAgICAgICAgPjo6dHlwZQorI2Vsc2UKKyAgICAgICAgICAgICAgICAgICAgIG5kbmJvb3N0Ojpsb25nX2xvbmdfdHlwZQorI2VuZGlmCisjZWxpZiBkZWZpbmVkKEJPT1NUX0hBU19NU19JTlQ2NCkKKyAgICAgICAgICAgICAgICAgICAgIF9faW50NjQKKyNlbHNlCisgICAgICAgICAgICAgICAgICAgICBsb25nCisjZW5kaWYKKyAgICAgICAgICAgICAgICAgID46OnR5cGUKKyAgICAgICAgICAgICAgID46OnR5cGUKKyAgICAgICAgICAgID46OnR5cGUKKyAgICAgICAgID46OnR5cGUKKyAgICAgID46OnR5cGUKKyAgID46OnR5cGUgYmFzZV9pbnRlZ2VyX3R5cGU7CisgICAKKyAgIC8vIEFkZCBiYWNrIGFueSBjb25zdCBxdWFsaWZpZXI6CisgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6aWZfPAorICAgICAgaXNfY29uc3Q8VD4sCisgICAgICB0eXBlbmFtZSBhZGRfY29uc3Q8YmFzZV9pbnRlZ2VyX3R5cGU+Ojp0eXBlLAorICAgICAgYmFzZV9pbnRlZ2VyX3R5cGUKKyAgID46OnR5cGUgY29uc3RfYmFzZV9pbnRlZ2VyX3R5cGU7CisgICAKKyAgIC8vIEFkZCBiYWNrIGFueSB2b2xhdGlsZSBxdWFsaWZpZXI6CisgICB0eXBlZGVmIHR5cGVuYW1lIG1wbDo6aWZfPAorICAgICAgaXNfdm9sYXRpbGU8VD4sCisgICAgICB0eXBlbmFtZSBhZGRfdm9sYXRpbGU8Y29uc3RfYmFzZV9pbnRlZ2VyX3R5cGU+Ojp0eXBlLAorICAgICAgY29uc3RfYmFzZV9pbnRlZ2VyX3R5cGUKKyAgID46OnR5cGUgdHlwZTsKK307CisKKworfSAvLyBuYW1lc3BhY2UgZGV0YWlsCisKK0JPT1NUX1RUX0FVWF9UWVBFX1RSQUlUX0RFRjEobWFrZV9zaWduZWQsVCx0eXBlbmFtZSBuZG5ib29zdDo6ZGV0YWlsOjptYWtlX3NpZ25lZF9pbXA8VD46OnR5cGUpCisKK30gLy8gbmFtZXNwYWNlIG5kbmJvb3N0CisKKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9kZXRhaWwvdHlwZV90cmFpdF91bmRlZi5ocHA+CisKKyNlbmRpZiAvLyBCT09TVF9UVF9BRERfUkVGRVJFTkNFX0hQUF9JTkNMVURFRAorCmRpZmYgLS1naXQgYS9uZG5ib29zdC90eXBlX3RyYWl0cy9tYWtlX3Vuc2lnbmVkLmhwcCBiL25kbmJvb3N0L3R5cGVfdHJhaXRzL21ha2VfdW5zaWduZWQuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY3YmU1YTgKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC90eXBlX3RyYWl0cy9tYWtlX3Vuc2lnbmVkLmhwcApAQCAtMCwwICsxLDE1MyBAQAorCisvLyAgKEMpIENvcHlyaWdodCBKb2huIE1hZGRvY2sgMjAwNy4KKy8vICBVc2UsIG1vZGlmaWNhdGlvbiBhbmQgZGlzdHJpYnV0aW9uIGFyZSBzdWJqZWN0IHRvIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLAorLy8gIFZlcnNpb24gMS4wLiAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0CisvLyAgaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KS4KKy8vCisvLyAgU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL2xpYnMvdHlwZV90cmFpdHMgZm9yIG1vc3QgcmVjZW50IHZlcnNpb24gaW5jbHVkaW5nIGRvY3VtZW50YXRpb24uCisKKyNpZm5kZWYgQk9PU1RfVFRfTUFLRV9VTlNJR05FRF9IUFBfSU5DTFVERUQKKyNkZWZpbmUgQk9PU1RfVFRfTUFLRV9VTlNJR05FRF9IUFBfSU5DTFVERUQKKworI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9pZi5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvaXNfaW50ZWdyYWwuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2lzX3NpZ25lZC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvaXNfdW5zaWduZWQuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2lzX2VudW0uaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2lzX3NhbWUuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL3JlbW92ZV9jdi5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvaXNfY29uc3QuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2lzX3ZvbGF0aWxlLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9hZGRfY29uc3QuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2FkZF92b2xhdGlsZS5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvZGV0YWlsL2ljZV9vci5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvZGV0YWlsL2ljZV9hbmQuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2RldGFpbC9pY2Vfbm90LmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9zdGF0aWNfYXNzZXJ0LmhwcD4KKworLy8gc2hvdWxkIGJlIHRoZSBsYXN0ICNpbmNsdWRlCisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvZGV0YWlsL3R5cGVfdHJhaXRfZGVmLmhwcD4KKworbmFtZXNwYWNlIG5kbmJvb3N0IHsKKworbmFtZXNwYWNlIGRldGFpbCB7CisKK3RlbXBsYXRlIDxjbGFzcyBUPgorc3RydWN0IG1ha2VfdW5zaWduZWRfaW1wCit7CisgICBCT09TVF9TVEFUSUNfQVNTRVJUKAorICAgICAgKDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2Vfb3I8IDo6bmRuYm9vc3Q6OmlzX2ludGVncmFsPFQ+Ojp2YWx1ZSwgOjpuZG5ib29zdDo6aXNfZW51bTxUPjo6dmFsdWU+Ojp2YWx1ZSkpOworI2lmICFCT09TVF9XT1JLQVJPVU5EKEJPT1NUX01TVkMsIDw9MTMwMCkKKyAgIEJPT1NUX1NUQVRJQ19BU1NFUlQoCisgICAgICAoOjpuZG5ib29zdDo6dHlwZV90cmFpdHM6OmljZV9ub3Q8IDo6bmRuYm9vc3Q6OmlzX3NhbWU8CisgICAgICAgICB0eXBlbmFtZSByZW1vdmVfY3Y8VD46OnR5cGUsIGJvb2w+Ojp2YWx1ZT46OnZhbHVlKSk7CisjZW5kaWYKKworICAgdHlwZWRlZiB0eXBlbmFtZSByZW1vdmVfY3Y8VD46OnR5cGUgdF9ub19jdjsKKyAgIHR5cGVkZWYgdHlwZW5hbWUgbXBsOjppZl9jPAorICAgICAgKDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2VfYW5kPCAKKyAgICAgICAgIDo6bmRuYm9vc3Q6OmlzX3Vuc2lnbmVkPFQ+Ojp2YWx1ZSwKKyAgICAgICAgIDo6bmRuYm9vc3Q6OmlzX2ludGVncmFsPFQ+Ojp2YWx1ZSwKKyAgICAgICAgIDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2Vfbm90PCA6Om5kbmJvb3N0Ojppc19zYW1lPHRfbm9fY3YsIGNoYXI+Ojp2YWx1ZT46OnZhbHVlLAorICAgICAgICAgOjpuZG5ib29zdDo6dHlwZV90cmFpdHM6OmljZV9ub3Q8IDo6bmRuYm9vc3Q6OmlzX3NhbWU8dF9ub19jdiwgd2NoYXJfdD46OnZhbHVlPjo6dmFsdWUsCisgICAgICAgICA6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6aWNlX25vdDwgOjpuZG5ib29zdDo6aXNfc2FtZTx0X25vX2N2LCBib29sPjo6dmFsdWU+Ojp2YWx1ZSA+Ojp2YWx1ZSksCisgICAgICBULAorICAgICAgdHlwZW5hbWUgbXBsOjppZl9jPAorICAgICAgICAgKDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2VfYW5kPCAKKyAgICAgICAgICAgIDo6bmRuYm9vc3Q6OmlzX2ludGVncmFsPFQ+Ojp2YWx1ZSwKKyAgICAgICAgICAgIDo6bmRuYm9vc3Q6OnR5cGVfdHJhaXRzOjppY2Vfbm90PCA6Om5kbmJvb3N0Ojppc19zYW1lPHRfbm9fY3YsIGNoYXI+Ojp2YWx1ZT46OnZhbHVlLAorICAgICAgICAgICAgOjpuZG5ib29zdDo6dHlwZV90cmFpdHM6OmljZV9ub3Q8IDo6bmRuYm9vc3Q6OmlzX3NhbWU8dF9ub19jdiwgd2NoYXJfdD46OnZhbHVlPjo6dmFsdWUsCisgICAgICAgICAgICA6Om5kbmJvb3N0Ojp0eXBlX3RyYWl0czo6aWNlX25vdDwgOjpuZG5ib29zdDo6aXNfc2FtZTx0X25vX2N2LCBib29sPjo6dmFsdWU+Ojp2YWx1ZT4KKyAgICAgICAgIDo6dmFsdWUpLAorICAgICAgICAgdHlwZW5hbWUgbXBsOjppZl88CisgICAgICAgICAgICBpc19zYW1lPHRfbm9fY3YsIHNpZ25lZCBjaGFyPiwKKyAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIsCisgICAgICAgICAgICB0eXBlbmFtZSBtcGw6OmlmXzwKKyAgICAgICAgICAgICAgIGlzX3NhbWU8dF9ub19jdiwgc2hvcnQ+LAorICAgICAgICAgICAgICAgdW5zaWduZWQgc2hvcnQsCisgICAgICAgICAgICAgICB0eXBlbmFtZSBtcGw6OmlmXzwKKyAgICAgICAgICAgICAgICAgIGlzX3NhbWU8dF9ub19jdiwgaW50PiwKKyAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCwKKyAgICAgICAgICAgICAgICAgIHR5cGVuYW1lIG1wbDo6aWZfPAorICAgICAgICAgICAgICAgICAgICAgaXNfc2FtZTx0X25vX2N2LCBsb25nPiwKKyAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcsCisjaWYgZGVmaW5lZChCT09TVF9IQVNfTE9OR19MT05HKQorI2lmZGVmIEJPT1NUX0hBU19JTlQxMjgKKyAgICAgICAgICAgICAgICAgICAgIHR5cGVuYW1lIG1wbDo6aWZfYzwKKyAgICAgICAgICAgICAgICAgICAgICAgIHNpemVvZih0X25vX2N2KSA9PSBzaXplb2YobmRuYm9vc3Q6OnVsb25nX2xvbmdfdHlwZSksIAorICAgICAgICAgICAgICAgICAgICAgICAgbmRuYm9vc3Q6OnVsb25nX2xvbmdfdHlwZSwgCisgICAgICAgICAgICAgICAgICAgICAgICBuZG5ib29zdDo6dWludDEyOF90eXBlCisgICAgICAgICAgICAgICAgICAgICA+Ojp0eXBlCisjZWxzZQorICAgICAgICAgICAgICAgICAgICAgbmRuYm9vc3Q6OnVsb25nX2xvbmdfdHlwZQorI2VuZGlmCisjZWxpZiBkZWZpbmVkKEJPT1NUX0hBU19NU19JTlQ2NCkKKyAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIF9faW50NjQKKyNlbHNlCisgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nCisjZW5kaWYKKyAgICAgICAgICAgICAgICAgID46OnR5cGUKKyAgICAgICAgICAgICAgID46OnR5cGUKKyAgICAgICAgICAgID46OnR5cGUKKyAgICAgICAgID46OnR5cGUsCisgICAgICAgICAvLyBOb3QgYSByZWd1bGFyIGludGVnZXIgdHlwZToKKyAgICAgICAgIHR5cGVuYW1lIG1wbDo6aWZfYzwKKyAgICAgICAgICAgIHNpemVvZih0X25vX2N2KSA9PSBzaXplb2YodW5zaWduZWQgY2hhciksCisgICAgICAgICAgICB1bnNpZ25lZCBjaGFyLAorICAgICAgICAgICAgdHlwZW5hbWUgbXBsOjppZl9jPAorICAgICAgICAgICAgICAgc2l6ZW9mKHRfbm9fY3YpID09IHNpemVvZih1bnNpZ25lZCBzaG9ydCksCisgICAgICAgICAgICAgICB1bnNpZ25lZCBzaG9ydCwKKyAgICAgICAgICAgICAgIHR5cGVuYW1lIG1wbDo6aWZfYzwKKyAgICAgICAgICAgICAgICAgIHNpemVvZih0X25vX2N2KSA9PSBzaXplb2YodW5zaWduZWQgaW50KSwKKyAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCwKKyAgICAgICAgICAgICAgICAgIHR5cGVuYW1lIG1wbDo6aWZfYzwKKyAgICAgICAgICAgICAgICAgICAgIHNpemVvZih0X25vX2N2KSA9PSBzaXplb2YodW5zaWduZWQgbG9uZyksCisgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nLAorI2lmIGRlZmluZWQoQk9PU1RfSEFTX0xPTkdfTE9ORykKKyNpZmRlZiBCT09TVF9IQVNfSU5UMTI4CisgICAgICAgICAgICAgICAgICAgICB0eXBlbmFtZSBtcGw6OmlmX2M8CisgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2YodF9ub19jdikgPT0gc2l6ZW9mKG5kbmJvb3N0Ojp1bG9uZ19sb25nX3R5cGUpLCAKKyAgICAgICAgICAgICAgICAgICAgICAgIG5kbmJvb3N0Ojp1bG9uZ19sb25nX3R5cGUsIAorICAgICAgICAgICAgICAgICAgICAgICAgbmRuYm9vc3Q6OnVpbnQxMjhfdHlwZQorICAgICAgICAgICAgICAgICAgICAgPjo6dHlwZQorI2Vsc2UKKyAgICAgICAgICAgICAgICAgICAgIG5kbmJvb3N0Ojp1bG9uZ19sb25nX3R5cGUKKyNlbmRpZgorI2VsaWYgZGVmaW5lZChCT09TVF9IQVNfTVNfSU5UNjQpCisgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBfX2ludDY0CisjZWxzZQorICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZworI2VuZGlmCisgICAgICAgICAgICAgICAgICA+Ojp0eXBlCisgICAgICAgICAgICAgICA+Ojp0eXBlCisgICAgICAgICAgICA+Ojp0eXBlCisgICAgICAgICA+Ojp0eXBlCisgICAgICA+Ojp0eXBlCisgICA+Ojp0eXBlIGJhc2VfaW50ZWdlcl90eXBlOworICAgCisgICAvLyBBZGQgYmFjayBhbnkgY29uc3QgcXVhbGlmaWVyOgorICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6OmlmXzwKKyAgICAgIGlzX2NvbnN0PFQ+LAorICAgICAgdHlwZW5hbWUgYWRkX2NvbnN0PGJhc2VfaW50ZWdlcl90eXBlPjo6dHlwZSwKKyAgICAgIGJhc2VfaW50ZWdlcl90eXBlCisgICA+Ojp0eXBlIGNvbnN0X2Jhc2VfaW50ZWdlcl90eXBlOworICAgCisgICAvLyBBZGQgYmFjayBhbnkgdm9sYXRpbGUgcXVhbGlmaWVyOgorICAgdHlwZWRlZiB0eXBlbmFtZSBtcGw6OmlmXzwKKyAgICAgIGlzX3ZvbGF0aWxlPFQ+LAorICAgICAgdHlwZW5hbWUgYWRkX3ZvbGF0aWxlPGNvbnN0X2Jhc2VfaW50ZWdlcl90eXBlPjo6dHlwZSwKKyAgICAgIGNvbnN0X2Jhc2VfaW50ZWdlcl90eXBlCisgICA+Ojp0eXBlIHR5cGU7Cit9OworCisKK30gLy8gbmFtZXNwYWNlIGRldGFpbAorCitCT09TVF9UVF9BVVhfVFlQRV9UUkFJVF9ERUYxKG1ha2VfdW5zaWduZWQsVCx0eXBlbmFtZSBuZG5ib29zdDo6ZGV0YWlsOjptYWtlX3Vuc2lnbmVkX2ltcDxUPjo6dHlwZSkKKworfSAvLyBuYW1lc3BhY2UgbmRuYm9vc3QKKworI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2RldGFpbC90eXBlX3RyYWl0X3VuZGVmLmhwcD4KKworI2VuZGlmIC8vIEJPT1NUX1RUX0FERF9SRUZFUkVOQ0VfSFBQX0lOQ0xVREVECisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L3R5cGVfdHJhaXRzL21zdmMvcmVtb3ZlX2FsbF9leHRlbnRzLmhwcCBiL25kbmJvb3N0L3R5cGVfdHJhaXRzL21zdmMvcmVtb3ZlX2FsbF9leHRlbnRzLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jYzllOGI4Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvdHlwZV90cmFpdHMvbXN2Yy9yZW1vdmVfYWxsX2V4dGVudHMuaHBwCkBAIC0wLDAgKzEsNDcgQEAKKy8vIENvcHlyaWdodCAoQykgMjAwNCBQZWRlciBIb2x0CisvLyBVc2UsIG1vZGlmaWNhdGlvbiBhbmQgZGlzdHJpYnV0aW9uIGlzIHN1YmplY3QgdG8gdGhlIEJvb3N0IFNvZnR3YXJlCisvLyBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gKGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKworI2lmbmRlZiBCT09TVF9UWVBFX1RSQUlUU19NU1ZDX1JFTU9WRV9BTExfRVhURU5UX0hPTFRfMjAwNF8wODI3CisjZGVmaW5lIEJPT1NUX1RZUEVfVFJBSVRTX01TVkNfUkVNT1ZFX0FMTF9FWFRFTlRfSE9MVF8yMDA0XzA4MjcKKworI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL21zdmMvdHlwZW9mLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9pc19hcnJheS5ocHA+CisKK25hbWVzcGFjZSBuZG5ib29zdCB7CisgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4KKyAgICBzdHJ1Y3QgcmVtb3ZlX2FsbF9leHRlbnRzOworCisgICAgbmFtZXNwYWNlIGRldGFpbCB7CisgICAgICAgIHRlbXBsYXRlPGJvb2wgSXNBcnJheT4KKyAgICAgICAgc3RydWN0IHJlbW92ZV9hbGxfZXh0ZW50c19pbXBsX3R5cGVvZiB7CisgICAgICAgICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBULHR5cGVuYW1lIElEPgorICAgICAgICAgICAgc3RydWN0IGlubmVyIHsKKyAgICAgICAgICAgICAgICB0eXBlZGVmIFQgdHlwZTsKKyAgICAgICAgICAgIH07CisgICAgICAgIH07CisgICAgICAgIHRlbXBsYXRlPD4KKyAgICAgICAgc3RydWN0IHJlbW92ZV9hbGxfZXh0ZW50c19pbXBsX3R5cGVvZjx0cnVlPiB7CisgICAgICAgICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBULHR5cGVuYW1lIElEPgorICAgICAgICAgICAgc3RydWN0IGlubmVyIHsKKyAgICAgICAgICAgICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBVPgorICAgICAgICAgICAgICAgIHN0YXRpYyBtc3ZjX3JlZ2lzdGVyX3R5cGU8VSxJRD4gdGVzdChVW10pOworICAgICAgICAgICAgICAgIHN0YXRpYyBtc3ZjX3JlZ2lzdGVyX3R5cGU8VCxJRD4gdGVzdCguLi4pOworICAgICAgICAgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVCh1bnNpZ25lZCxyZWdpc3Rlcl90ZXN0PXNpemVvZih0ZXN0KCAqKChUKilOVUxMKSApICkpOworICAgICAgICAgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbXN2Y19leHRyYWN0X3R5cGU8SUQ+OjppZDJ0eXBlOjp0eXBlIHJlZHVjZWRfdHlwZTsKKyAgICAgICAgICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHJlbW92ZV9hbGxfZXh0ZW50czxyZWR1Y2VkX3R5cGU+Ojp0eXBlIHR5cGU7CisgICAgICAgICAgICB9OworICAgICAgICB9OworICAgIH0gLy9uYW1lc3BhY2UgZGV0YWlsCisKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgorICAgIHN0cnVjdCByZW1vdmVfYWxsX2V4dGVudHMgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG5kbmJvb3N0OjpkZXRhaWw6OnJlbW92ZV9hbGxfZXh0ZW50c19pbXBsX3R5cGVvZjwKKyAgICAgICAgICAgIG5kbmJvb3N0Ojppc19hcnJheTxUPjo6dmFsdWUgICAgICAgICAgICAgICAgCisgICAgICAgID46OnRlbXBsYXRlIGlubmVyPFQscmVtb3ZlX2FsbF9leHRlbnRzPFQ+ID46OnR5cGUgdHlwZTsKKyAgICAgICAgQk9PU1RfTVBMX0FVWF9MQU1CREFfU1VQUE9SVCgxLHJlbW92ZV9hbGxfZXh0ZW50cyxUKQorICAgIH07Cit9IC8vbmFtZXNwYWNlIG5kbmJvb3N0CisKKyNlbmRpZiAvL0JPT1NUX1RZUEVfVFJBSVRTX01TVkNfUkVNT1ZFX0JPVU5EU19IT0xUXzIwMDRfMDgyNworCmRpZmYgLS1naXQgYS9uZG5ib29zdC90eXBlX3RyYWl0cy9tc3ZjL3JlbW92ZV9jb25zdC5ocHAgYi9uZG5ib29zdC90eXBlX3RyYWl0cy9tc3ZjL3JlbW92ZV9jb25zdC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmUyMDA0MAotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L3R5cGVfdHJhaXRzL21zdmMvcmVtb3ZlX2NvbnN0LmhwcApAQCAtMCwwICsxLDE0MyBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDA0IFBlZGVyIEhvbHQKKy8vIFVzZSwgbW9kaWZpY2F0aW9uIGFuZCBkaXN0cmlidXRpb24gaXMgc3ViamVjdCB0byB0aGUgQm9vc3QgU29mdHdhcmUKKy8vIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAoaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorCisjaWZuZGVmIEJPT1NUX1RZUEVfVFJBSVRTX01TVkNfUkVNT1ZFX0NPTlNUX0hPTFRfMjAwNF8wODI4CisjZGVmaW5lIEJPT1NUX1RZUEVfVFJBSVRTX01TVkNfUkVNT1ZFX0NPTlNUX0hPTFRfMjAwNF8wODI4CisKKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9tc3ZjL3R5cGVvZi5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvaXNfdm9sYXRpbGUuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2lzX2NvbnN0LmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9pc19wb2ludGVyLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9pc19hcnJheS5ocHA+CisKK25hbWVzcGFjZSBuZG5ib29zdCB7CisgICAgbmFtZXNwYWNlIGRldGFpbCB7CisgICAgICAgIHRlbXBsYXRlPGJvb2wgSXNQb2ludGVyLGJvb2wgSXNBcnJheSxib29sIElzQ29uc3QsYm9vbCBJc1ZvbGF0aWxlPgorICAgICAgICBzdHJ1Y3QgcmVtb3ZlX2NvbnN0X2ltcGxfdHlwZW9mIHsKKyAgICAgICAgICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQsdHlwZW5hbWUgSUQ+CisgICAgICAgICAgICBzdHJ1Y3QgaW5uZXIgeworICAgICAgICAgICAgICAgIHR5cGVkZWYgVCB0eXBlOworICAgICAgICAgICAgfTsKKyAgICAgICAgICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+CisgICAgICAgICAgICBzdHJ1Y3QgdHJhbnNmb3JtX3R5cGUgeworICAgICAgICAgICAgICAgIHR5cGVkZWYgVCB0eXBlOworICAgICAgICAgICAgfTsKKyAgICAgICAgfTsKKyAgICAgICAgdGVtcGxhdGU8PiAvL0NvbnN0CisgICAgICAgIHN0cnVjdCByZW1vdmVfY29uc3RfaW1wbF90eXBlb2Y8ZmFsc2UsZmFsc2UsdHJ1ZSxmYWxzZT4geworICAgICAgICAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVCx0eXBlbmFtZSBJRD4KKyAgICAgICAgICAgIHN0cnVjdCBpbm5lciB7CisgICAgICAgICAgICAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVT4KKyAgICAgICAgICAgICAgICBzdGF0aWMgbXN2Y19yZWdpc3Rlcl90eXBlPFUsSUQ+IHRlc3QoVSBjb25zdCYoKikoKSk7CisgICAgICAgICAgICAgICAgc3RhdGljIG1zdmNfcmVnaXN0ZXJfdHlwZTxULElEPiB0ZXN0KC4uLik7CisgICAgICAgICAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKHVuc2lnbmVkLHJlZ2lzdGVyX3Rlc3Q9c2l6ZW9mKHRlc3QoIChUKCopKCkpKE5VTEwpICkgKSk7CisgICAgICAgICAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBtc3ZjX2V4dHJhY3RfdHlwZTxJRD46OmlkMnR5cGU6OnR5cGUgdHlwZTsKKyAgICAgICAgICAgIH07CisgICAgICAgICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgorICAgICAgICAgICAgc3RydWN0IHRyYW5zZm9ybV90eXBlIHsKKyAgICAgICAgICAgICAgICB0eXBlZGVmIFQmIHR5cGU7CisgICAgICAgICAgICB9OworICAgICAgICB9OworICAgICAgICB0ZW1wbGF0ZTw+IC8vQ1YKKyAgICAgICAgc3RydWN0IHJlbW92ZV9jb25zdF9pbXBsX3R5cGVvZjxmYWxzZSxmYWxzZSx0cnVlLHRydWU+IHsKKyAgICAgICAgICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQsdHlwZW5hbWUgSUQ+CisgICAgICAgICAgICBzdHJ1Y3QgaW5uZXIgeworICAgICAgICAgICAgICAgIHRlbXBsYXRlPHR5cGVuYW1lIFU+CisgICAgICAgICAgICAgICAgc3RhdGljIG1zdmNfcmVnaXN0ZXJfdHlwZTxVIHZvbGF0aWxlLElEPiB0ZXN0KFUgY29uc3Qgdm9sYXRpbGUmKCopKCkpOworICAgICAgICAgICAgICAgIHN0YXRpYyBtc3ZjX3JlZ2lzdGVyX3R5cGU8VCxJRD4gdGVzdCguLi4pOworICAgICAgICAgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVCh1bnNpZ25lZCxyZWdpc3Rlcl90ZXN0PXNpemVvZih0ZXN0KCAoVCgqKSgpKShOVUxMKSApICkpOworICAgICAgICAgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbXN2Y19leHRyYWN0X3R5cGU8SUQ+OjppZDJ0eXBlOjp0eXBlIHR5cGU7CisgICAgICAgICAgICB9OworICAgICAgICAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4KKyAgICAgICAgICAgIHN0cnVjdCB0cmFuc2Zvcm1fdHlwZSB7CisgICAgICAgICAgICAgICAgdHlwZWRlZiBUJiB0eXBlOworICAgICAgICAgICAgfTsKKyAgICAgICAgfTsKKyAgICAgICAgdGVtcGxhdGU8PiAvL0NvbnN0IFBvaW50ZXIKKyAgICAgICAgc3RydWN0IHJlbW92ZV9jb25zdF9pbXBsX3R5cGVvZjx0cnVlLGZhbHNlLHRydWUsZmFsc2U+IHsKKyAgICAgICAgICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQsdHlwZW5hbWUgSUQ+CisgICAgICAgICAgICBzdHJ1Y3QgaW5uZXIgeworICAgICAgICAgICAgICAgIHRlbXBsYXRlPHR5cGVuYW1lIFU+CisgICAgICAgICAgICAgICAgc3RhdGljIG1zdmNfcmVnaXN0ZXJfdHlwZTxVLElEPiB0ZXN0KHZvaWQoKikoVSBjb25zdFtdKSk7CisgICAgICAgICAgICAgICAgc3RhdGljIG1zdmNfcmVnaXN0ZXJfdHlwZTxULElEPiB0ZXN0KC4uLik7CisgICAgICAgICAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKHVuc2lnbmVkLHJlZ2lzdGVyX3Rlc3Q9c2l6ZW9mKHRlc3QoICh2b2lkKCopKFQpKShOVUxMKSApICkpOworICAgICAgICAgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbXN2Y19leHRyYWN0X3R5cGU8SUQ+OjppZDJ0eXBlOjp0eXBlIHR5cGU7CisgICAgICAgICAgICB9OworICAgICAgICAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4KKyAgICAgICAgICAgIHN0cnVjdCB0cmFuc2Zvcm1fdHlwZSB7CisgICAgICAgICAgICAgICAgdHlwZWRlZiBUIHR5cGVbXTsKKyAgICAgICAgICAgIH07CisgICAgICAgIH07CisgICAgICAgIHRlbXBsYXRlPD4gLy9DViBQb2ludGVyCisgICAgICAgIHN0cnVjdCByZW1vdmVfY29uc3RfaW1wbF90eXBlb2Y8dHJ1ZSxmYWxzZSx0cnVlLHRydWU+IHsKKyAgICAgICAgICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQsdHlwZW5hbWUgSUQ+CisgICAgICAgICAgICBzdHJ1Y3QgaW5uZXIgeworICAgICAgICAgICAgICAgIHRlbXBsYXRlPHR5cGVuYW1lIFU+CisgICAgICAgICAgICAgICAgc3RhdGljIG1zdmNfcmVnaXN0ZXJfdHlwZTxVIHZvbGF0aWxlLElEPiB0ZXN0KHZvaWQoKikoVSBjb25zdCB2b2xhdGlsZVtdKSk7CisgICAgICAgICAgICAgICAgc3RhdGljIG1zdmNfcmVnaXN0ZXJfdHlwZTxULElEPiB0ZXN0KC4uLik7CisgICAgICAgICAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKHVuc2lnbmVkLHJlZ2lzdGVyX3Rlc3Q9c2l6ZW9mKHRlc3QoICh2b2lkKCopKFQpKShOVUxMKSApICkpOworICAgICAgICAgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbXN2Y19leHRyYWN0X3R5cGU8SUQ+OjppZDJ0eXBlOjp0eXBlIHR5cGU7CisgICAgICAgICAgICB9OworICAgICAgICAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4KKyAgICAgICAgICAgIHN0cnVjdCB0cmFuc2Zvcm1fdHlwZSB7CisgICAgICAgICAgICAgICAgdHlwZWRlZiBUIHR5cGVbXTsKKyAgICAgICAgICAgIH07CisgICAgICAgIH07ICAgICAgICAKKyAgICAgICAgdGVtcGxhdGU8PiAvL0NvbnN0IEFycmF5CisgICAgICAgIHN0cnVjdCByZW1vdmVfY29uc3RfaW1wbF90eXBlb2Y8ZmFsc2UsdHJ1ZSx0cnVlLGZhbHNlPiB7CisgICAgICAgICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBULHR5cGVuYW1lIElEPgorICAgICAgICAgICAgc3RydWN0IGlubmVyIHsKKyAgICAgICAgICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQodW5zaWduZWQsdmFsdWU9KHNpemVvZihUKS9zaXplb2YoKCooKFQqKU5VTEwpKVswXSkpKTsKKworICAgICAgICAgICAgICAgIHRlbXBsYXRlPHR5cGVuYW1lIFU+CisgICAgICAgICAgICAgICAgc3RhdGljIG1zdmNfcmVnaXN0ZXJfdHlwZTxVW3ZhbHVlXSxJRD4gdGVzdCh2b2lkKCopKFUgY29uc3RbXSkpOworICAgICAgICAgICAgICAgIHN0YXRpYyBtc3ZjX3JlZ2lzdGVyX3R5cGU8VCxJRD4gdGVzdCguLi4pOworICAgICAgICAgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVCh1bnNpZ25lZCxyZWdpc3Rlcl90ZXN0PXNpemVvZih0ZXN0KCAodm9pZCgqKShUKSkoTlVMTCkgKSApKTsKKyAgICAgICAgICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG1zdmNfZXh0cmFjdF90eXBlPElEPjo6aWQydHlwZTo6dHlwZSB0eXBlOworICAgICAgICAgICAgfTsKKyAgICAgICAgICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+CisgICAgICAgICAgICBzdHJ1Y3QgdHJhbnNmb3JtX3R5cGUgeworICAgICAgICAgICAgICAgIHR5cGVkZWYgVCB0eXBlOworICAgICAgICAgICAgfTsKKyAgICAgICAgfTsKKworICAgICAgICB0ZW1wbGF0ZTw+IC8vQ1YgQXJyYXkKKyAgICAgICAgc3RydWN0IHJlbW92ZV9jb25zdF9pbXBsX3R5cGVvZjxmYWxzZSx0cnVlLHRydWUsdHJ1ZT4geworICAgICAgICAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVCx0eXBlbmFtZSBJRD4KKyAgICAgICAgICAgIHN0cnVjdCBpbm5lciB7CisgICAgICAgICAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKHVuc2lnbmVkLHZhbHVlPShzaXplb2YoVCkvc2l6ZW9mKCgqKChUKilOVUxMKSlbMF0pKSk7CisKKyAgICAgICAgICAgICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBVPgorICAgICAgICAgICAgICAgIHN0YXRpYyBtc3ZjX3JlZ2lzdGVyX3R5cGU8VSB2b2xhdGlsZVt2YWx1ZV0sSUQ+IHRlc3Qodm9pZCgqKShVIGNvbnN0IHZvbGF0aWxlW10pKTsKKyAgICAgICAgICAgICAgICBzdGF0aWMgbXN2Y19yZWdpc3Rlcl90eXBlPFQsSUQ+IHRlc3QoLi4uKTsKKyAgICAgICAgICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQodW5zaWduZWQscmVnaXN0ZXJfdGVzdD1zaXplb2YodGVzdCggKHZvaWQoKikoVCkpKE5VTEwpICkgKSk7CisgICAgICAgICAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBtc3ZjX2V4dHJhY3RfdHlwZTxJRD46OmlkMnR5cGU6OnR5cGUgdHlwZTsKKyAgICAgICAgICAgIH07CisgICAgICAgICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgorICAgICAgICAgICAgc3RydWN0IHRyYW5zZm9ybV90eXBlIHsKKyAgICAgICAgICAgICAgICB0eXBlZGVmIFQgdHlwZTsKKyAgICAgICAgICAgIH07CisgICAgICAgIH07CisKKyAgICB9IC8vbmFtZXNwYWNlIGRldGFpbAorCisgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4KKyAgICBzdHJ1Y3QgcmVtb3ZlX2NvbnN0IHsKKyAgICAgICAgdHlwZWRlZiBuZG5ib29zdDo6ZGV0YWlsOjpyZW1vdmVfY29uc3RfaW1wbF90eXBlb2Y8CisgICAgICAgICAgICBuZG5ib29zdDo6aXNfcG9pbnRlcjxUPjo6dmFsdWUsCisgICAgICAgICAgICBuZG5ib29zdDo6aXNfYXJyYXk8VD46OnZhbHVlLAorICAgICAgICAgICAgbmRuYm9vc3Q6OmlzX2NvbnN0PFQ+Ojp2YWx1ZSwKKyAgICAgICAgICAgIG5kbmJvb3N0Ojppc192b2xhdGlsZTxUPjo6dmFsdWUKKyAgICAgICAgPiByZW1vdmVfY29uc3RfdHlwZTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSAKKyAgICAgICAgICAgIHJlbW92ZV9jb25zdF90eXBlOjp0ZW1wbGF0ZSBpbm5lcjwKKyAgICAgICAgICAgICAgICB0eXBlbmFtZSByZW1vdmVfY29uc3RfdHlwZTo6dGVtcGxhdGUgdHJhbnNmb3JtX3R5cGU8VD46OnR5cGUsCisgICAgICAgICAgICAgICAgcmVtb3ZlX2NvbnN0PFQ+CisgICAgICAgICAgICA+Ojp0eXBlCisgICAgICAgIHR5cGU7CisgICAgICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoMSxyZW1vdmVfY29uc3QsVCkKKyAgICB9OworfS8vbmFtZXNwYWNlIG5kbmJvb3N0CisKKyNlbmRpZiAvL0JPT1NUX1RZUEVfVFJBSVRTX01TVkNfUkVNT1ZFX0NPTlNUX0hPTFRfMjAwNF8wODI4CmRpZmYgLS1naXQgYS9uZG5ib29zdC90eXBlX3RyYWl0cy9tc3ZjL3JlbW92ZV9leHRlbnQuaHBwIGIvbmRuYm9vc3QvdHlwZV90cmFpdHMvbXN2Yy9yZW1vdmVfZXh0ZW50LmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NGMzNmJjCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvdHlwZV90cmFpdHMvbXN2Yy9yZW1vdmVfZXh0ZW50LmhwcApAQCAtMCwwICsxLDQzIEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMDQgUGVkZXIgSG9sdAorLy8gVXNlLCBtb2RpZmljYXRpb24gYW5kIGRpc3RyaWJ1dGlvbiBpcyBzdWJqZWN0IHRvIHRoZSBCb29zdCBTb2Z0d2FyZQorLy8gTGljZW5zZSwgVmVyc2lvbiAxLjAuIChodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisKKyNpZm5kZWYgQk9PU1RfVFlQRV9UUkFJVFNfTVNWQ19SRU1PVkVfRVhURU5UX0hPTFRfMjAwNF8wODI3CisjZGVmaW5lIEJPT1NUX1RZUEVfVFJBSVRTX01TVkNfUkVNT1ZFX0VYVEVOVF9IT0xUXzIwMDRfMDgyNworCisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvbXN2Yy90eXBlb2YuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2lzX2FycmF5LmhwcD4KKworbmFtZXNwYWNlIG5kbmJvb3N0IHsKKyAgICBuYW1lc3BhY2UgZGV0YWlsIHsKKyAgICAgICAgdGVtcGxhdGU8Ym9vbCBJc0FycmF5PgorICAgICAgICBzdHJ1Y3QgcmVtb3ZlX2V4dGVudF9pbXBsX3R5cGVvZiB7CisgICAgICAgICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBULHR5cGVuYW1lIElEPgorICAgICAgICAgICAgc3RydWN0IGlubmVyIHsKKyAgICAgICAgICAgICAgICB0eXBlZGVmIFQgdHlwZTsKKyAgICAgICAgICAgIH07CisgICAgICAgIH07CisgICAgICAgIHRlbXBsYXRlPD4KKyAgICAgICAgc3RydWN0IHJlbW92ZV9leHRlbnRfaW1wbF90eXBlb2Y8dHJ1ZT4geworICAgICAgICAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVCx0eXBlbmFtZSBJRD4KKyAgICAgICAgICAgIHN0cnVjdCBpbm5lciB7CisgICAgICAgICAgICAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVT4KKyAgICAgICAgICAgICAgICBzdGF0aWMgbXN2Y19yZWdpc3Rlcl90eXBlPFUsSUQ+IHRlc3QoVVtdKTsKKyAgICAgICAgICAgICAgICBzdGF0aWMgbXN2Y19yZWdpc3Rlcl90eXBlPFQsSUQ+IHRlc3QoLi4uKTsKKyAgICAgICAgICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQodW5zaWduZWQscmVnaXN0ZXJfdGVzdD1zaXplb2YodGVzdCggKigoVCopTlVMTCkgKSApKTsKKyAgICAgICAgICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG1zdmNfZXh0cmFjdF90eXBlPElEPjo6aWQydHlwZTo6dHlwZSB0eXBlOworICAgICAgICAgICAgfTsKKyAgICAgICAgfTsKKyAgICB9IC8vbmFtZXNwYWNlIGRldGFpbAorCisgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4KKyAgICBzdHJ1Y3QgcmVtb3ZlX2V4dGVudCB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbmRuYm9vc3Q6OmRldGFpbDo6cmVtb3ZlX2V4dGVudF9pbXBsX3R5cGVvZjwKKyAgICAgICAgICAgIG5kbmJvb3N0Ojppc19hcnJheTxUPjo6dmFsdWUgICAgICAgICAgICAgICAgCisgICAgICAgID46OnRlbXBsYXRlIGlubmVyPFQscmVtb3ZlX2V4dGVudDxUPiA+Ojp0eXBlIHR5cGU7CisgICAgICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoMSxyZW1vdmVfZXh0ZW50LFQpCisgICAgfTsKK30gLy9uYW1lc3BhY2UgbmRuYm9vc3QKKworI2VuZGlmIC8vQk9PU1RfVFlQRV9UUkFJVFNfTVNWQ19SRU1PVkVfQk9VTkRTX0hPTFRfMjAwNF8wODI3CisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L3R5cGVfdHJhaXRzL21zdmMvcmVtb3ZlX3BvaW50ZXIuaHBwIGIvbmRuYm9vc3QvdHlwZV90cmFpdHMvbXN2Yy9yZW1vdmVfcG9pbnRlci5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjk0YmVmOAotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L3R5cGVfdHJhaXRzL21zdmMvcmVtb3ZlX3BvaW50ZXIuaHBwCkBAIC0wLDAgKzEsNDIgQEAKKy8vIENvcHlyaWdodCAoQykgMjAwNCBQZWRlciBIb2x0CisvLyBVc2UsIG1vZGlmaWNhdGlvbiBhbmQgZGlzdHJpYnV0aW9uIGlzIHN1YmplY3QgdG8gdGhlIEJvb3N0IFNvZnR3YXJlCisvLyBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gKGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKworI2lmbmRlZiBCT09TVF9UWVBFX1RSQUlUU19NU1ZDX1JFTU9WRV9QT0lOVEVSX0hPTFRfMjAwNF8wODI3CisjZGVmaW5lIEJPT1NUX1RZUEVfVFJBSVRTX01TVkNfUkVNT1ZFX1BPSU5URVJfSE9MVF8yMDA0XzA4MjcKKworI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL21zdmMvdHlwZW9mLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9pc19wb2ludGVyLmhwcD4KKworbmFtZXNwYWNlIG5kbmJvb3N0IHsKKyAgICBuYW1lc3BhY2UgZGV0YWlsIHsKKyAgICAgICAgdGVtcGxhdGU8aW50IElzUG9pbnRlcj4KKyAgICAgICAgc3RydWN0IHJlbW92ZV9wb2ludGVyX2ltcGxfdHlwZW9mIHsKKyAgICAgICAgICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQsdHlwZW5hbWUgSUQ+CisgICAgICAgICAgICBzdHJ1Y3QgaW5uZXIgeworICAgICAgICAgICAgICAgIHR5cGVkZWYgVCB0eXBlOworICAgICAgICAgICAgfTsKKyAgICAgICAgfTsKKyAgICAgICAgdGVtcGxhdGU8PgorICAgICAgICBzdHJ1Y3QgcmVtb3ZlX3BvaW50ZXJfaW1wbF90eXBlb2Y8dHJ1ZT4geworICAgICAgICAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVCx0eXBlbmFtZSBJRD4KKyAgICAgICAgICAgIHN0cnVjdCBpbm5lciB7CisgICAgICAgICAgICAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVT4KKyAgICAgICAgICAgICAgICBzdGF0aWMgbXN2Y19yZWdpc3Rlcl90eXBlPFUsSUQ+IHRlc3QoVSopOworICAgICAgICAgICAgICAgIHN0YXRpYyBtc3ZjX3JlZ2lzdGVyX3R5cGU8VCxJRD4gdGVzdCguLi4pOworICAgICAgICAgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVCh1bnNpZ25lZCxyZWdpc3Rlcl90ZXN0PXNpemVvZih0ZXN0KCAqKChUKilOVUxMKSApICkpOworICAgICAgICAgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbXN2Y19leHRyYWN0X3R5cGU8SUQ+OjppZDJ0eXBlOjp0eXBlIHR5cGU7CisgICAgICAgICAgICB9OworICAgICAgICB9OworICAgIH0gLy9uYW1lc3BhY2UgZGV0YWlsCisKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgorICAgIHN0cnVjdCByZW1vdmVfcG9pbnRlciB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbmRuYm9vc3Q6OmRldGFpbDo6cmVtb3ZlX3BvaW50ZXJfaW1wbF90eXBlb2Y8CisgICAgICAgICAgICBuZG5ib29zdDo6aXNfcG9pbnRlcjxUPjo6dmFsdWUKKyAgICAgICAgPjo6dGVtcGxhdGUgaW5uZXI8VCxyZW1vdmVfcG9pbnRlcjxUPiA+Ojp0eXBlIHR5cGU7CisgICAgICAgIEJPT1NUX01QTF9BVVhfTEFNQkRBX1NVUFBPUlQoMSxyZW1vdmVfcG9pbnRlcixUKQorICAgIH07Cit9IC8vbmFtZXNwYWNlIG5kbmJvb3N0CisKKyNlbmRpZiAvL0JPT1NUX1RZUEVfVFJBSVRTX1JFTU9WRV9QT0lOVEVSX0hPTFRfMjAwNF8wODI3CmRpZmYgLS1naXQgYS9uZG5ib29zdC90eXBlX3RyYWl0cy9tc3ZjL3JlbW92ZV92b2xhdGlsZS5ocHAgYi9uZG5ib29zdC90eXBlX3RyYWl0cy9tc3ZjL3JlbW92ZV92b2xhdGlsZS5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjc4N2JlYwotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L3R5cGVfdHJhaXRzL21zdmMvcmVtb3ZlX3ZvbGF0aWxlLmhwcApAQCAtMCwwICsxLDE0MyBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDA0IFBlZGVyIEhvbHQKKy8vIFVzZSwgbW9kaWZpY2F0aW9uIGFuZCBkaXN0cmlidXRpb24gaXMgc3ViamVjdCB0byB0aGUgQm9vc3QgU29mdHdhcmUKKy8vIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAoaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorCisjaWZuZGVmIEJPT1NUX1RZUEVfVFJBSVRTX01TVkNfUkVNT1ZFX1ZPTEFUSUxFX0hPTFRfMjAwNF8wODI4CisjZGVmaW5lIEJPT1NUX1RZUEVfVFJBSVRTX01TVkNfUkVNT1ZFX1ZPTEFUSUxFX0hPTFRfMjAwNF8wODI4CisKKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9tc3ZjL3R5cGVvZi5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvaXNfdm9sYXRpbGUuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2lzX2NvbnN0LmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9pc19wb2ludGVyLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9pc19hcnJheS5ocHA+CisKK25hbWVzcGFjZSBuZG5ib29zdCB7CisgICAgbmFtZXNwYWNlIGRldGFpbCB7CisgICAgICAgIHRlbXBsYXRlPGJvb2wgSXNQb2ludGVyLGJvb2wgSXNBcnJheSxib29sIElzQ29uc3QsYm9vbCBJc1ZvbGF0aWxlPgorICAgICAgICBzdHJ1Y3QgcmVtb3ZlX3ZvbGF0aWxlX2ltcGxfdHlwZW9mIHsKKyAgICAgICAgICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQsdHlwZW5hbWUgSUQ+CisgICAgICAgICAgICBzdHJ1Y3QgaW5uZXIgeworICAgICAgICAgICAgICAgIHR5cGVkZWYgVCB0eXBlOworICAgICAgICAgICAgfTsKKyAgICAgICAgICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+CisgICAgICAgICAgICBzdHJ1Y3QgdHJhbnNmb3JtX3R5cGUgeworICAgICAgICAgICAgICAgIHR5cGVkZWYgVCB0eXBlOworICAgICAgICAgICAgfTsKKyAgICAgICAgfTsKKyAgICAgICAgdGVtcGxhdGU8PiAvL1ZvbGF0aWxlCisgICAgICAgIHN0cnVjdCByZW1vdmVfdm9sYXRpbGVfaW1wbF90eXBlb2Y8ZmFsc2UsZmFsc2UsZmFsc2UsdHJ1ZT4geworICAgICAgICAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVCx0eXBlbmFtZSBJRD4KKyAgICAgICAgICAgIHN0cnVjdCBpbm5lciB7CisgICAgICAgICAgICAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVT4KKyAgICAgICAgICAgICAgICBzdGF0aWMgbXN2Y19yZWdpc3Rlcl90eXBlPFUsSUQ+IHRlc3QoVSB2b2xhdGlsZSYoKikoKSk7CisgICAgICAgICAgICAgICAgc3RhdGljIG1zdmNfcmVnaXN0ZXJfdHlwZTxULElEPiB0ZXN0KC4uLik7CisgICAgICAgICAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKHVuc2lnbmVkLHJlZ2lzdGVyX3Rlc3Q9c2l6ZW9mKHRlc3QoIChUKCopKCkpKE5VTEwpICkgKSk7CisgICAgICAgICAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBtc3ZjX2V4dHJhY3RfdHlwZTxJRD46OmlkMnR5cGU6OnR5cGUgdHlwZTsKKyAgICAgICAgICAgIH07ICAgICAgICAgICAgCisgICAgICAgICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgorICAgICAgICAgICAgc3RydWN0IHRyYW5zZm9ybV90eXBlIHsKKyAgICAgICAgICAgICAgICB0eXBlZGVmIFQmIHR5cGU7CisgICAgICAgICAgICB9OworICAgICAgICB9OworICAgICAgICB0ZW1wbGF0ZTw+IC8vQ1YKKyAgICAgICAgc3RydWN0IHJlbW92ZV92b2xhdGlsZV9pbXBsX3R5cGVvZjxmYWxzZSxmYWxzZSx0cnVlLHRydWU+IHsKKyAgICAgICAgICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQsdHlwZW5hbWUgSUQ+CisgICAgICAgICAgICBzdHJ1Y3QgaW5uZXIgeworICAgICAgICAgICAgICAgIHRlbXBsYXRlPHR5cGVuYW1lIFU+CisgICAgICAgICAgICAgICAgc3RhdGljIG1zdmNfcmVnaXN0ZXJfdHlwZTxVIGNvbnN0LElEPiB0ZXN0KFUgY29uc3Qgdm9sYXRpbGUmKCopKCkpOworICAgICAgICAgICAgICAgIHN0YXRpYyBtc3ZjX3JlZ2lzdGVyX3R5cGU8VCxJRD4gdGVzdCguLi4pOworICAgICAgICAgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVCh1bnNpZ25lZCxyZWdpc3Rlcl90ZXN0PXNpemVvZih0ZXN0KCAoVCgqKSgpKShOVUxMKSApICkpOworICAgICAgICAgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbXN2Y19leHRyYWN0X3R5cGU8SUQ+OjppZDJ0eXBlOjp0eXBlIHR5cGU7CisgICAgICAgICAgICB9OworICAgICAgICAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4KKyAgICAgICAgICAgIHN0cnVjdCB0cmFuc2Zvcm1fdHlwZSB7CisgICAgICAgICAgICAgICAgdHlwZWRlZiBUJiB0eXBlOworICAgICAgICAgICAgfTsKKyAgICAgICAgfTsKKyAgICAgICAgdGVtcGxhdGU8PiAvL1ZvbGF0aWxlIFBvaW50ZXIKKyAgICAgICAgc3RydWN0IHJlbW92ZV92b2xhdGlsZV9pbXBsX3R5cGVvZjx0cnVlLGZhbHNlLGZhbHNlLHRydWU+IHsKKyAgICAgICAgICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQsdHlwZW5hbWUgSUQ+CisgICAgICAgICAgICBzdHJ1Y3QgaW5uZXIgeworICAgICAgICAgICAgICAgIHRlbXBsYXRlPHR5cGVuYW1lIFU+CisgICAgICAgICAgICAgICAgc3RhdGljIG1zdmNfcmVnaXN0ZXJfdHlwZTxVLElEPiB0ZXN0KHZvaWQoKikoVSB2b2xhdGlsZVtdKSk7CisgICAgICAgICAgICAgICAgc3RhdGljIG1zdmNfcmVnaXN0ZXJfdHlwZTxULElEPiB0ZXN0KC4uLik7CisgICAgICAgICAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKHVuc2lnbmVkLHJlZ2lzdGVyX3Rlc3Q9c2l6ZW9mKHRlc3QoICh2b2lkKCopKFQpKShOVUxMKSApICkpOworICAgICAgICAgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbXN2Y19leHRyYWN0X3R5cGU8SUQ+OjppZDJ0eXBlOjp0eXBlIHR5cGU7CisgICAgICAgICAgICB9OworICAgICAgICAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4KKyAgICAgICAgICAgIHN0cnVjdCB0cmFuc2Zvcm1fdHlwZSB7CisgICAgICAgICAgICAgICAgdHlwZWRlZiBUIHR5cGVbXTsKKyAgICAgICAgICAgIH07CisgICAgICAgIH07CisgICAgICAgIHRlbXBsYXRlPD4gLy9DViBQb2ludGVyCisgICAgICAgIHN0cnVjdCByZW1vdmVfdm9sYXRpbGVfaW1wbF90eXBlb2Y8dHJ1ZSxmYWxzZSx0cnVlLHRydWU+IHsKKyAgICAgICAgICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQsdHlwZW5hbWUgSUQ+CisgICAgICAgICAgICBzdHJ1Y3QgaW5uZXIgeworICAgICAgICAgICAgICAgIHRlbXBsYXRlPHR5cGVuYW1lIFU+CisgICAgICAgICAgICAgICAgc3RhdGljIG1zdmNfcmVnaXN0ZXJfdHlwZTxVIGNvbnN0LElEPiB0ZXN0KHZvaWQoKikoVSBjb25zdCB2b2xhdGlsZVtdKSk7CisgICAgICAgICAgICAgICAgc3RhdGljIG1zdmNfcmVnaXN0ZXJfdHlwZTxULElEPiB0ZXN0KC4uLik7CisgICAgICAgICAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKHVuc2lnbmVkLHJlZ2lzdGVyX3Rlc3Q9c2l6ZW9mKHRlc3QoICh2b2lkKCopKFQpKShOVUxMKSApICkpOworICAgICAgICAgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbXN2Y19leHRyYWN0X3R5cGU8SUQ+OjppZDJ0eXBlOjp0eXBlIHR5cGU7CisgICAgICAgICAgICB9OworICAgICAgICAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4KKyAgICAgICAgICAgIHN0cnVjdCB0cmFuc2Zvcm1fdHlwZSB7CisgICAgICAgICAgICAgICAgdHlwZWRlZiBUIHR5cGVbXTsKKyAgICAgICAgICAgIH07CisgICAgICAgIH07ICAgICAgICAKKyAgICAgICAgdGVtcGxhdGU8PiAvL1ZvbGF0aWxlIEFycmF5CisgICAgICAgIHN0cnVjdCByZW1vdmVfdm9sYXRpbGVfaW1wbF90eXBlb2Y8ZmFsc2UsdHJ1ZSxmYWxzZSx0cnVlPiB7CisgICAgICAgICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBULHR5cGVuYW1lIElEPgorICAgICAgICAgICAgc3RydWN0IGlubmVyIHsKKyAgICAgICAgICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQodW5zaWduZWQsdmFsdWU9KHNpemVvZihUKS9zaXplb2YoKCooKFQqKU5VTEwpKVswXSkpKTsKKworICAgICAgICAgICAgICAgIHRlbXBsYXRlPHR5cGVuYW1lIFU+CisgICAgICAgICAgICAgICAgc3RhdGljIG1zdmNfcmVnaXN0ZXJfdHlwZTxVW3ZhbHVlXSxJRD4gdGVzdCh2b2lkKCopKFUgdm9sYXRpbGVbXSkpOworICAgICAgICAgICAgICAgIHN0YXRpYyBtc3ZjX3JlZ2lzdGVyX3R5cGU8VCxJRD4gdGVzdCguLi4pOworICAgICAgICAgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVCh1bnNpZ25lZCxyZWdpc3Rlcl90ZXN0PXNpemVvZih0ZXN0KCAodm9pZCgqKShUKSkoTlVMTCkgKSApKTsKKyAgICAgICAgICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG1zdmNfZXh0cmFjdF90eXBlPElEPjo6aWQydHlwZTo6dHlwZSB0eXBlOyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgIH07CisgICAgICAgICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgorICAgICAgICAgICAgc3RydWN0IHRyYW5zZm9ybV90eXBlIHsKKyAgICAgICAgICAgICAgICB0eXBlZGVmIFQgdHlwZTsKKyAgICAgICAgICAgIH07CisgICAgICAgIH07CisKKyAgICAgICAgdGVtcGxhdGU8PiAvL0NWIEFycmF5CisgICAgICAgIHN0cnVjdCByZW1vdmVfdm9sYXRpbGVfaW1wbF90eXBlb2Y8ZmFsc2UsdHJ1ZSx0cnVlLHRydWU+IHsKKyAgICAgICAgICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQsdHlwZW5hbWUgSUQ+CisgICAgICAgICAgICBzdHJ1Y3QgaW5uZXIgeworICAgICAgICAgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVCh1bnNpZ25lZCx2YWx1ZT0oc2l6ZW9mKFQpL3NpemVvZigoKigoVCopTlVMTCkpWzBdKSkpOworCisgICAgICAgICAgICAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVT4KKyAgICAgICAgICAgICAgICBzdGF0aWMgbXN2Y19yZWdpc3Rlcl90eXBlPFUgY29uc3RbdmFsdWVdLElEPiB0ZXN0KHZvaWQoKikoVSBjb25zdCB2b2xhdGlsZVtdKSk7CisgICAgICAgICAgICAgICAgc3RhdGljIG1zdmNfcmVnaXN0ZXJfdHlwZTxULElEPiB0ZXN0KC4uLik7CisgICAgICAgICAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKHVuc2lnbmVkLHJlZ2lzdGVyX3Rlc3Q9c2l6ZW9mKHRlc3QoICh2b2lkKCopKFQpKShOVUxMKSApICkpOworICAgICAgICAgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbXN2Y19leHRyYWN0X3R5cGU8SUQ+OjppZDJ0eXBlOjp0eXBlIHR5cGU7CisgICAgICAgICAgICB9OworICAgICAgICAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4KKyAgICAgICAgICAgIHN0cnVjdCB0cmFuc2Zvcm1fdHlwZSB7CisgICAgICAgICAgICAgICAgdHlwZWRlZiBUIHR5cGU7CisgICAgICAgICAgICB9OworICAgICAgICB9OworCisgICAgfSAvL25hbWVzcGFjZSBkZXRhaWwKKworICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+CisgICAgc3RydWN0IHJlbW92ZV92b2xhdGlsZSB7CisgICAgICAgIHR5cGVkZWYgbmRuYm9vc3Q6OmRldGFpbDo6cmVtb3ZlX3ZvbGF0aWxlX2ltcGxfdHlwZW9mPAorICAgICAgICAgICAgbmRuYm9vc3Q6OmlzX3BvaW50ZXI8VD46OnZhbHVlLAorICAgICAgICAgICAgbmRuYm9vc3Q6OmlzX2FycmF5PFQ+Ojp2YWx1ZSwKKyAgICAgICAgICAgIG5kbmJvb3N0Ojppc19jb25zdDxUPjo6dmFsdWUsCisgICAgICAgICAgICBuZG5ib29zdDo6aXNfdm9sYXRpbGU8VD46OnZhbHVlCisgICAgICAgID4gcmVtb3ZlX3ZvbGF0aWxlX3R5cGU7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgCisgICAgICAgICAgICByZW1vdmVfdm9sYXRpbGVfdHlwZTo6dGVtcGxhdGUgaW5uZXI8CisgICAgICAgICAgICAgICAgdHlwZW5hbWUgcmVtb3ZlX3ZvbGF0aWxlX3R5cGU6OnRlbXBsYXRlIHRyYW5zZm9ybV90eXBlPFQ+Ojp0eXBlLAorICAgICAgICAgICAgICAgIHJlbW92ZV92b2xhdGlsZTxUPgorICAgICAgICAgICAgPjo6dHlwZQorICAgICAgICB0eXBlOworICAgICAgICBCT09TVF9NUExfQVVYX0xBTUJEQV9TVVBQT1JUKDEscmVtb3ZlX3ZvbGF0aWxlLFQpCisgICAgfTsKK30vL25hbWVzcGFjZSBuZG5ib29zdAorCisjZW5kaWYgLy9CT09TVF9UWVBFX1RSQUlUU19NU1ZDX1JFTU9WRV9WT0xBVElMRV9IT0xUXzIwMDRfMDgyOApkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvdHlwZV90cmFpdHMvcHJvbW90ZS5ocHAgYi9uZG5ib29zdC90eXBlX3RyYWl0cy9wcm9tb3RlLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNjA2NWY2Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvdHlwZV90cmFpdHMvcHJvbW90ZS5ocHAKQEAgLTAsMCArMSw0MCBAQAorLy8gQ29weXJpZ2h0IDIwMDUgQWxleGFuZGVyIE5hc29ub3YuCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIChTZWUKKy8vIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0CisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisKKyNpZm5kZWYgRklMRV9ib29zdF90eXBlX3RyYWl0c19wcm9tb3RlX2hwcF9JTkNMVURFRAorI2RlZmluZSBGSUxFX2Jvb3N0X3R5cGVfdHJhaXRzX3Byb21vdGVfaHBwX0lOQ0xVREVECisKKyNpbmNsdWRlIDxuZG5ib29zdC9jb25maWcuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2ludGVncmFsX3Byb21vdGlvbi5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvZmxvYXRpbmdfcG9pbnRfcHJvbW90aW9uLmhwcD4KKworLy8gU2hvdWxkIGJlIHRoZSBsYXN0ICNpbmNsdWRlCisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvZGV0YWlsL3R5cGVfdHJhaXRfZGVmLmhwcD4KKworbmFtZXNwYWNlIG5kbmJvb3N0IHsKKworbmFtZXNwYWNlIGRldGFpbCB7CisKK3RlbXBsYXRlPGNsYXNzIFQ+CitzdHJ1Y3QgcHJvbW90ZV9pbXBsCisgIDogcHVibGljIGludGVncmFsX3Byb21vdGlvbjwKKyAgICAgICAgQk9PU1RfREVEVUNFRF9UWVBFTkFNRSBmbG9hdGluZ19wb2ludF9wcm9tb3Rpb248VD46OnR5cGUKKyAgICAgID4KK3sKK307CisKK30KKworQk9PU1RfVFRfQVVYX1RZUEVfVFJBSVRfREVGMSgKKyAgICAgIHByb21vdGUKKyAgICAsIFQKKyAgICAsIEJPT1NUX0RFRFVDRURfVFlQRU5BTUUgbmRuYm9vc3Q6OmRldGFpbDo6cHJvbW90ZV9pbXBsPFQ+Ojp0eXBlCisgICAgKQorfQorCisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvZGV0YWlsL3R5cGVfdHJhaXRfdW5kZWYuaHBwPgorCisjZW5kaWYgLy8gI2lmbmRlZiBGSUxFX2Jvb3N0X3R5cGVfdHJhaXRzX3Byb21vdGVfaHBwX0lOQ0xVREVECisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L3R5cGVfdHJhaXRzL3JhbmsuaHBwIGIvbmRuYm9vc3QvdHlwZV90cmFpdHMvcmFuay5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDk1YjkxYgotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L3R5cGVfdHJhaXRzL3JhbmsuaHBwCkBAIC0wLDAgKzEsODkgQEAKKworLy8gIChDKSBDb3B5cmlnaHQgSm9obiBNYWRkb2NrIDIwMDUuICAKKy8vICBVc2UsIG1vZGlmaWNhdGlvbiBhbmQgZGlzdHJpYnV0aW9uIGFyZSBzdWJqZWN0IHRvIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLAorLy8gIFZlcnNpb24gMS4wLiAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0CisvLyAgaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KS4KKy8vCisvLyAgU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL2xpYnMvdHlwZV90cmFpdHMgZm9yIG1vc3QgcmVjZW50IHZlcnNpb24gaW5jbHVkaW5nIGRvY3VtZW50YXRpb24uCisKKworI2lmbmRlZiBCT09TVF9UVF9SQU5LX0hQUF9JTkNMVURFRAorI2RlZmluZSBCT09TVF9UVF9SQU5LX0hQUF9JTkNMVURFRAorCisvLyBzaG91bGQgYmUgdGhlIGxhc3QgI2luY2x1ZGUKKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9kZXRhaWwvc2l6ZV90X3RyYWl0X2RlZi5ocHA+CisKK25hbWVzcGFjZSBuZG5ib29zdCB7CisKKyNpZiAhZGVmaW5lZCggX19DT0RFR0VBUkNfXyApCisKK25hbWVzcGFjZSBkZXRhaWx7CisKK3RlbXBsYXRlIDxjbGFzcyBULCBzdGQ6OnNpemVfdCBOPgorc3RydWN0IHJhbmtfaW1wCit7CisgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoc3RkOjpzaXplX3QsIHZhbHVlID0gTik7Cit9OworI2lmICFkZWZpbmVkKEJPT1NUX05PX1RFTVBMQVRFX1BBUlRJQUxfU1BFQ0lBTElaQVRJT04pICYmICFkZWZpbmVkKEJPT1NUX05PX0FSUkFZX1RZUEVfU1BFQ0lBTElaQVRJT05TKQordGVtcGxhdGUgPGNsYXNzIFQsIHN0ZDo6c2l6ZV90IFIsIHN0ZDo6c2l6ZV90IE4+CitzdHJ1Y3QgcmFua19pbXA8VFtSXSwgTj4KK3sKKyAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChzdGQ6OnNpemVfdCwgdmFsdWUgPSAoOjpuZG5ib29zdDo6ZGV0YWlsOjpyYW5rX2ltcDxULCBOKzE+Ojp2YWx1ZSkpOworfTsKKwordGVtcGxhdGUgPGNsYXNzIFQsIHN0ZDo6c2l6ZV90IFIsIHN0ZDo6c2l6ZV90IE4+CitzdHJ1Y3QgcmFua19pbXA8VCBjb25zdFtSXSwgTj4KK3sKKyAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChzdGQ6OnNpemVfdCwgdmFsdWUgPSAoOjpuZG5ib29zdDo6ZGV0YWlsOjpyYW5rX2ltcDxULCBOKzE+Ojp2YWx1ZSkpOworfTsKKwordGVtcGxhdGUgPGNsYXNzIFQsIHN0ZDo6c2l6ZV90IFIsIHN0ZDo6c2l6ZV90IE4+CitzdHJ1Y3QgcmFua19pbXA8VCB2b2xhdGlsZVtSXSwgTj4KK3sKKyAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChzdGQ6OnNpemVfdCwgdmFsdWUgPSAoOjpuZG5ib29zdDo6ZGV0YWlsOjpyYW5rX2ltcDxULCBOKzE+Ojp2YWx1ZSkpOworfTsKKwordGVtcGxhdGUgPGNsYXNzIFQsIHN0ZDo6c2l6ZV90IFIsIHN0ZDo6c2l6ZV90IE4+CitzdHJ1Y3QgcmFua19pbXA8VCBjb25zdCB2b2xhdGlsZVtSXSwgTj4KK3sKKyAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChzdGQ6OnNpemVfdCwgdmFsdWUgPSAoOjpuZG5ib29zdDo6ZGV0YWlsOjpyYW5rX2ltcDxULCBOKzE+Ojp2YWx1ZSkpOworfTsKKworI2lmICFCT09TVF9XT1JLQVJPVU5EKF9fQk9STEFORENfXywgPCAweDYwMCkgJiYgIWRlZmluZWQoX19JQk1DUFBfXykgJiYgICFCT09TVF9XT1JLQVJPVU5EKF9fRE1DX18sIEJPT1NUX1RFU1RFRF9BVCgweDg0MCkpCit0ZW1wbGF0ZSA8Y2xhc3MgVCwgc3RkOjpzaXplX3QgTj4KK3N0cnVjdCByYW5rX2ltcDxUW10sIE4+Cit7CisgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoc3RkOjpzaXplX3QsIHZhbHVlID0gKDo6bmRuYm9vc3Q6OmRldGFpbDo6cmFua19pbXA8VCwgTisxPjo6dmFsdWUpKTsKK307Cit0ZW1wbGF0ZSA8Y2xhc3MgVCwgc3RkOjpzaXplX3QgTj4KK3N0cnVjdCByYW5rX2ltcDxUIGNvbnN0W10sIE4+Cit7CisgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoc3RkOjpzaXplX3QsIHZhbHVlID0gKDo6bmRuYm9vc3Q6OmRldGFpbDo6cmFua19pbXA8VCwgTisxPjo6dmFsdWUpKTsKK307Cit0ZW1wbGF0ZSA8Y2xhc3MgVCwgc3RkOjpzaXplX3QgTj4KK3N0cnVjdCByYW5rX2ltcDxUIHZvbGF0aWxlW10sIE4+Cit7CisgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoc3RkOjpzaXplX3QsIHZhbHVlID0gKDo6bmRuYm9vc3Q6OmRldGFpbDo6cmFua19pbXA8VCwgTisxPjo6dmFsdWUpKTsKK307Cit0ZW1wbGF0ZSA8Y2xhc3MgVCwgc3RkOjpzaXplX3QgTj4KK3N0cnVjdCByYW5rX2ltcDxUIGNvbnN0IHZvbGF0aWxlW10sIE4+Cit7CisgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoc3RkOjpzaXplX3QsIHZhbHVlID0gKDo6bmRuYm9vc3Q6OmRldGFpbDo6cmFua19pbXA8VCwgTisxPjo6dmFsdWUpKTsKK307CisjZW5kaWYKKyNlbmRpZgorfQorCisjZW5kaWYgLy8gIWRlZmluZWQoIF9fQ09ERUdFQVJDX18gKQorCisjaWYgZGVmaW5lZCggX19DT0RFR0VBUkNfXyApCitCT09TVF9UVF9BVVhfU0laRV9UX1RSQUlUX0RFRjEocmFuayxULF9fYXJyYXlfcmFuayhUKSkKKyNlbHNlCitCT09TVF9UVF9BVVhfU0laRV9UX1RSQUlUX0RFRjEocmFuayxULCg6Om5kbmJvb3N0OjpkZXRhaWw6OnJhbmtfaW1wPFQsMD46OnZhbHVlKSkKKyNlbmRpZgorCit9IC8vIG5hbWVzcGFjZSBuZG5ib29zdAorCisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvZGV0YWlsL3NpemVfdF90cmFpdF91bmRlZi5ocHA+CisKKyNlbmRpZiAvLyBCT09TVF9UVF9JU19NRU1CRVJfRlVOQ1RJT05fUE9JTlRFUl9IUFBfSU5DTFVERUQKZGlmZiAtLWdpdCBhL25kbmJvb3N0L3R5cGVfdHJhaXRzL3JlbW92ZV9hbGxfZXh0ZW50cy5ocHAgYi9uZG5ib29zdC90eXBlX3RyYWl0cy9yZW1vdmVfYWxsX2V4dGVudHMuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc0MzY3NzQKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC90eXBlX3RyYWl0cy9yZW1vdmVfYWxsX2V4dGVudHMuaHBwCkBAIC0wLDAgKzEsNDggQEAKKworLy8gIChDKSBDb3B5cmlnaHQgSm9obiBNYWRkb2NrIDIwMDUuCisvLyAgVXNlLCBtb2RpZmljYXRpb24gYW5kIGRpc3RyaWJ1dGlvbiBhcmUgc3ViamVjdCB0byB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwKKy8vICBWZXJzaW9uIDEuMC4gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdAorLy8gIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkuCisvLworLy8gIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL3R5cGVfdHJhaXRzIGZvciBtb3N0IHJlY2VudCB2ZXJzaW9uIGluY2x1ZGluZyBkb2N1bWVudGF0aW9uLgorCisjaWZuZGVmIEJPT1NUX1RUX1JFTU9WRV9BTExfRVhURU5UU19IUFBfSU5DTFVERUQKKyNkZWZpbmUgQk9PU1RfVFRfUkVNT1ZFX0FMTF9FWFRFTlRTX0hQUF9JTkNMVURFRAorCisjaW5jbHVkZSA8bmRuYm9vc3QvY29uZmlnLmhwcD4KKyNpbmNsdWRlIDxjc3RkZGVmPgorI2luY2x1ZGUgPG5kbmJvb3N0L2RldGFpbC93b3JrYXJvdW5kLmhwcD4KKworI2lmIEJPT1NUX1dPUktBUk9VTkQoQk9PU1RfTVNWQyw8PTEzMDApCisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvbXN2Yy9yZW1vdmVfYWxsX2V4dGVudHMuaHBwPgorI2VuZGlmCisKKy8vIHNob3VsZCBiZSB0aGUgbGFzdCAjaW5jbHVkZQorI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2RldGFpbC90eXBlX3RyYWl0X2RlZi5ocHA+CisKKyNpZiAhQk9PU1RfV09SS0FST1VORChCT09TVF9NU1ZDLDw9MTMwMCkKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsKKworQk9PU1RfVFRfQVVYX1RZUEVfVFJBSVRfREVGMShyZW1vdmVfYWxsX2V4dGVudHMsVCxUKQorCisjaWYgIWRlZmluZWQoQk9PU1RfTk9fVEVNUExBVEVfUEFSVElBTF9TUEVDSUFMSVpBVElPTikgJiYgIWRlZmluZWQoQk9PU1RfTk9fQVJSQVlfVFlQRV9TUEVDSUFMSVpBVElPTlMpCitCT09TVF9UVF9BVVhfVFlQRV9UUkFJVF9QQVJUSUFMX1NQRUMxXzIodHlwZW5hbWUgVCxzdGQ6OnNpemVfdCBOLHJlbW92ZV9hbGxfZXh0ZW50cyxUW05dLHR5cGVuYW1lIG5kbmJvb3N0OjpyZW1vdmVfYWxsX2V4dGVudHM8VD46OnR5cGUgdHlwZSkKK0JPT1NUX1RUX0FVWF9UWVBFX1RSQUlUX1BBUlRJQUxfU1BFQzFfMih0eXBlbmFtZSBULHN0ZDo6c2l6ZV90IE4scmVtb3ZlX2FsbF9leHRlbnRzLFQgY29uc3RbTl0sdHlwZW5hbWUgbmRuYm9vc3Q6OnJlbW92ZV9hbGxfZXh0ZW50czxUIGNvbnN0Pjo6dHlwZSB0eXBlKQorQk9PU1RfVFRfQVVYX1RZUEVfVFJBSVRfUEFSVElBTF9TUEVDMV8yKHR5cGVuYW1lIFQsc3RkOjpzaXplX3QgTixyZW1vdmVfYWxsX2V4dGVudHMsVCB2b2xhdGlsZVtOXSx0eXBlbmFtZSBuZG5ib29zdDo6cmVtb3ZlX2FsbF9leHRlbnRzPFQgdm9sYXRpbGU+Ojp0eXBlIHR5cGUpCitCT09TVF9UVF9BVVhfVFlQRV9UUkFJVF9QQVJUSUFMX1NQRUMxXzIodHlwZW5hbWUgVCxzdGQ6OnNpemVfdCBOLHJlbW92ZV9hbGxfZXh0ZW50cyxUIGNvbnN0IHZvbGF0aWxlW05dLHR5cGVuYW1lIG5kbmJvb3N0OjpyZW1vdmVfYWxsX2V4dGVudHM8VCBjb25zdCB2b2xhdGlsZT46OnR5cGUgdHlwZSkKKyNpZiAhQk9PU1RfV09SS0FST1VORChfX0JPUkxBTkRDX18sIEJPT1NUX1RFU1RFRF9BVCgweDYxMCkpICYmICFkZWZpbmVkKF9fSUJNQ1BQX18pICYmICAhQk9PU1RfV09SS0FST1VORChfX0RNQ19fLCBCT09TVF9URVNURURfQVQoMHg4NDApKQorQk9PU1RfVFRfQVVYX1RZUEVfVFJBSVRfUEFSVElBTF9TUEVDMV8xKHR5cGVuYW1lIFQscmVtb3ZlX2FsbF9leHRlbnRzLFRbXSx0eXBlbmFtZSBuZG5ib29zdDo6cmVtb3ZlX2FsbF9leHRlbnRzPFQ+Ojp0eXBlKQorQk9PU1RfVFRfQVVYX1RZUEVfVFJBSVRfUEFSVElBTF9TUEVDMV8xKHR5cGVuYW1lIFQscmVtb3ZlX2FsbF9leHRlbnRzLFQgY29uc3RbXSx0eXBlbmFtZSBuZG5ib29zdDo6cmVtb3ZlX2FsbF9leHRlbnRzPFQgY29uc3Q+Ojp0eXBlKQorQk9PU1RfVFRfQVVYX1RZUEVfVFJBSVRfUEFSVElBTF9TUEVDMV8xKHR5cGVuYW1lIFQscmVtb3ZlX2FsbF9leHRlbnRzLFQgdm9sYXRpbGVbXSx0eXBlbmFtZSBuZG5ib29zdDo6cmVtb3ZlX2FsbF9leHRlbnRzPFQgdm9sYXRpbGU+Ojp0eXBlKQorQk9PU1RfVFRfQVVYX1RZUEVfVFJBSVRfUEFSVElBTF9TUEVDMV8xKHR5cGVuYW1lIFQscmVtb3ZlX2FsbF9leHRlbnRzLFQgY29uc3Qgdm9sYXRpbGVbXSx0eXBlbmFtZSBuZG5ib29zdDo6cmVtb3ZlX2FsbF9leHRlbnRzPFQgY29uc3Qgdm9sYXRpbGU+Ojp0eXBlKQorI2VuZGlmCisjZW5kaWYKKworfSAvLyBuYW1lc3BhY2UgbmRuYm9vc3QKKworI2VuZGlmCisKKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9kZXRhaWwvdHlwZV90cmFpdF91bmRlZi5ocHA+CisKKyNlbmRpZiAvLyBCT09TVF9UVF9SRU1PVkVfQk9VTkRTX0hQUF9JTkNMVURFRApkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvdHlwZV90cmFpdHMvcmVtb3ZlX2NvbnN0LmhwcCBiL25kbmJvb3N0L3R5cGVfdHJhaXRzL3JlbW92ZV9jb25zdC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjliMzFkZAotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L3R5cGVfdHJhaXRzL3JlbW92ZV9jb25zdC5ocHAKQEAgLTAsMCArMSw5MCBAQAorCisvLyAgKEMpIENvcHlyaWdodCBEYXZlIEFicmFoYW1zLCBTdGV2ZSBDbGVhcnksIEJlbWFuIERhd2VzLCBIb3dhcmQKKy8vICBIaW5uYW50ICYgSm9obiBNYWRkb2NrIDIwMDAuICAKKy8vICBVc2UsIG1vZGlmaWNhdGlvbiBhbmQgZGlzdHJpYnV0aW9uIGFyZSBzdWJqZWN0IHRvIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLAorLy8gIFZlcnNpb24gMS4wLiAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0CisvLyAgaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KS4KKy8vCisvLyAgU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL2xpYnMvdHlwZV90cmFpdHMgZm9yIG1vc3QgcmVjZW50IHZlcnNpb24gaW5jbHVkaW5nIGRvY3VtZW50YXRpb24uCisKKworI2lmbmRlZiBCT09TVF9UVF9SRU1PVkVfQ09OU1RfSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX1RUX1JFTU9WRV9DT05TVF9IUFBfSU5DTFVERUQKKworI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2lzX3ZvbGF0aWxlLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9icm9rZW5fY29tcGlsZXJfc3BlYy5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvZGV0YWlsL2N2X3RyYWl0c19pbXBsLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9jb25maWcuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L2RldGFpbC93b3JrYXJvdW5kLmhwcD4KKworI2luY2x1ZGUgPGNzdGRkZWY+CisKKyNpZiBCT09TVF9XT1JLQVJPVU5EKEJPT1NUX01TVkMsPD0xMzAwKQorI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL21zdmMvcmVtb3ZlX2NvbnN0LmhwcD4KKyNlbmRpZgorCisvLyBzaG91bGQgYmUgdGhlIGxhc3QgI2luY2x1ZGUKKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9kZXRhaWwvdHlwZV90cmFpdF9kZWYuaHBwPgorCituYW1lc3BhY2UgbmRuYm9vc3QgeworCisjaWZuZGVmIEJPT1NUX05PX1RFTVBMQVRFX1BBUlRJQUxfU1BFQ0lBTElaQVRJT04KKworbmFtZXNwYWNlIGRldGFpbCB7CisKK3RlbXBsYXRlIDx0eXBlbmFtZSBULCBib29sIGlzX3ZvbD4KK3N0cnVjdCByZW1vdmVfY29uc3RfaGVscGVyCit7CisgICAgdHlwZWRlZiBUIHR5cGU7Cit9OworCit0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KK3N0cnVjdCByZW1vdmVfY29uc3RfaGVscGVyPFQsIHRydWU+Cit7CisgICAgdHlwZWRlZiBUIHZvbGF0aWxlIHR5cGU7Cit9OworCisKK3RlbXBsYXRlIDx0eXBlbmFtZSBUPgorc3RydWN0IHJlbW92ZV9jb25zdF9pbXBsCit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSByZW1vdmVfY29uc3RfaGVscGVyPAorICAgICAgICAgIHR5cGVuYW1lIGN2X3RyYWl0c19pbXA8VCo+Ojp1bnF1YWxpZmllZF90eXBlCisgICAgICAgICwgOjpuZG5ib29zdDo6aXNfdm9sYXRpbGU8VD46OnZhbHVlCisgICAgICAgID46OnR5cGUgdHlwZTsKK307CisKKyNpZm5kZWYgQk9PU1RfTk9fQ1hYMTFfUlZBTFVFX1JFRkVSRU5DRVMKKy8vCisvLyBXZSBjYW4ndCBmaWx0ZXIgb3V0IHJ2YWx1ZV9yZWZlcmVuY2VzIGF0IHRoZSBzYW1lIGxldmVsIGFzCisvLyByZWZlcmVuY2VzIG9yIHdlIGdldCBhbWJpZ3VpdGllcyBmcm9tIG1zdmM6CisvLwordGVtcGxhdGUgPHR5cGVuYW1lIFQ+CitzdHJ1Y3QgcmVtb3ZlX2NvbnN0X2ltcGw8VCYmPgoreworICAgIHR5cGVkZWYgVCYmIHR5cGU7Cit9OworI2VuZGlmCisKK30gLy8gbmFtZXNwYWNlIGRldGFpbAorCisvLyAqIGNvbnZlcnQgYSB0eXBlIFQgdG8gbm9uLWNvbnN0IHR5cGUgLSByZW1vdmVfY29uc3Q8VD4KKworQk9PU1RfVFRfQVVYX1RZUEVfVFJBSVRfREVGMShyZW1vdmVfY29uc3QsVCx0eXBlbmFtZSBuZG5ib29zdDo6ZGV0YWlsOjpyZW1vdmVfY29uc3RfaW1wbDxUPjo6dHlwZSkKK0JPT1NUX1RUX0FVWF9UWVBFX1RSQUlUX1BBUlRJQUxfU1BFQzFfMSh0eXBlbmFtZSBULHJlbW92ZV9jb25zdCxUJixUJikKKyNpZiAhZGVmaW5lZChCT09TVF9OT19BUlJBWV9UWVBFX1NQRUNJQUxJWkFUSU9OUykKK0JPT1NUX1RUX0FVWF9UWVBFX1RSQUlUX1BBUlRJQUxfU1BFQzFfMih0eXBlbmFtZSBULHN0ZDo6c2l6ZV90IE4scmVtb3ZlX2NvbnN0LFQgY29uc3RbTl0sVCB0eXBlW05dKQorQk9PU1RfVFRfQVVYX1RZUEVfVFJBSVRfUEFSVElBTF9TUEVDMV8yKHR5cGVuYW1lIFQsc3RkOjpzaXplX3QgTixyZW1vdmVfY29uc3QsVCBjb25zdCB2b2xhdGlsZVtOXSxUIHZvbGF0aWxlIHR5cGVbTl0pCisjZW5kaWYKKworI2VsaWYgIUJPT1NUX1dPUktBUk9VTkQoQk9PU1RfTVNWQyw8PTEzMDApCisKK0JPT1NUX1RUX0FVWF9UWVBFX1RSQUlUX0RFRjEocmVtb3ZlX2NvbnN0LFQsdHlwZW5hbWUgbmRuYm9vc3Q6OmRldGFpbDo6cmVtb3ZlX2NvbnN0X2ltcGw8VD46OnR5cGUpCisKKyNlbmRpZiAvLyBCT09TVF9OT19URU1QTEFURV9QQVJUSUFMX1NQRUNJQUxJWkFUSU9OCisKK30gLy8gbmFtZXNwYWNlIG5kbmJvb3N0CisKKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9kZXRhaWwvdHlwZV90cmFpdF91bmRlZi5ocHA+CisKKyNlbmRpZiAvLyBCT09TVF9UVF9SRU1PVkVfQ09OU1RfSFBQX0lOQ0xVREVECmRpZmYgLS1naXQgYS9uZG5ib29zdC90eXBlX3RyYWl0cy9yZW1vdmVfZXh0ZW50LmhwcCBiL25kbmJvb3N0L3R5cGVfdHJhaXRzL3JlbW92ZV9leHRlbnQuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFjNGJjMGQKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC90eXBlX3RyYWl0cy9yZW1vdmVfZXh0ZW50LmhwcApAQCAtMCwwICsxLDQ4IEBACisKKy8vICAoQykgQ29weXJpZ2h0IFN0ZXZlIENsZWFyeSwgQmVtYW4gRGF3ZXMsIEhvd2FyZCBIaW5uYW50ICYgSm9obiBNYWRkb2NrIDIwMDAtMjAwNS4KKy8vICBVc2UsIG1vZGlmaWNhdGlvbiBhbmQgZGlzdHJpYnV0aW9uIGFyZSBzdWJqZWN0IHRvIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLAorLy8gIFZlcnNpb24gMS4wLiAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0CisvLyAgaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KS4KKy8vCisvLyAgU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL2xpYnMvdHlwZV90cmFpdHMgZm9yIG1vc3QgcmVjZW50IHZlcnNpb24gaW5jbHVkaW5nIGRvY3VtZW50YXRpb24uCisKKyNpZm5kZWYgQk9PU1RfVFRfUkVNT1ZFX0VYVEVOVF9IUFBfSU5DTFVERUQKKyNkZWZpbmUgQk9PU1RfVFRfUkVNT1ZFX0VYVEVOVF9IUFBfSU5DTFVERUQKKworI2luY2x1ZGUgPG5kbmJvb3N0L2NvbmZpZy5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvZGV0YWlsL3dvcmthcm91bmQuaHBwPgorI2luY2x1ZGUgPGNzdGRkZWY+CisKKyNpZiBCT09TVF9XT1JLQVJPVU5EKEJPT1NUX01TVkMsPD0xMzAwKQorI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL21zdmMvcmVtb3ZlX2V4dGVudC5ocHA+CisjZW5kaWYKKworLy8gc2hvdWxkIGJlIHRoZSBsYXN0ICNpbmNsdWRlCisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvZGV0YWlsL3R5cGVfdHJhaXRfZGVmLmhwcD4KKworI2lmICFCT09TVF9XT1JLQVJPVU5EKEJPT1NUX01TVkMsPD0xMzAwKQorCituYW1lc3BhY2UgbmRuYm9vc3QgeworCitCT09TVF9UVF9BVVhfVFlQRV9UUkFJVF9ERUYxKHJlbW92ZV9leHRlbnQsVCxUKQorCisjaWYgIWRlZmluZWQoQk9PU1RfTk9fVEVNUExBVEVfUEFSVElBTF9TUEVDSUFMSVpBVElPTikgJiYgIWRlZmluZWQoQk9PU1RfTk9fQVJSQVlfVFlQRV9TUEVDSUFMSVpBVElPTlMpCitCT09TVF9UVF9BVVhfVFlQRV9UUkFJVF9QQVJUSUFMX1NQRUMxXzIodHlwZW5hbWUgVCxzdGQ6OnNpemVfdCBOLHJlbW92ZV9leHRlbnQsVFtOXSxUIHR5cGUpCitCT09TVF9UVF9BVVhfVFlQRV9UUkFJVF9QQVJUSUFMX1NQRUMxXzIodHlwZW5hbWUgVCxzdGQ6OnNpemVfdCBOLHJlbW92ZV9leHRlbnQsVCBjb25zdFtOXSxUIGNvbnN0IHR5cGUpCitCT09TVF9UVF9BVVhfVFlQRV9UUkFJVF9QQVJUSUFMX1NQRUMxXzIodHlwZW5hbWUgVCxzdGQ6OnNpemVfdCBOLHJlbW92ZV9leHRlbnQsVCB2b2xhdGlsZVtOXSxUIHZvbGF0aWxlIHR5cGUpCitCT09TVF9UVF9BVVhfVFlQRV9UUkFJVF9QQVJUSUFMX1NQRUMxXzIodHlwZW5hbWUgVCxzdGQ6OnNpemVfdCBOLHJlbW92ZV9leHRlbnQsVCBjb25zdCB2b2xhdGlsZVtOXSxUIGNvbnN0IHZvbGF0aWxlIHR5cGUpCisjaWYgIUJPT1NUX1dPUktBUk9VTkQoX19CT1JMQU5EQ19fLCBCT09TVF9URVNURURfQVQoMHg2MTApKSAmJiAhZGVmaW5lZChfX0lCTUNQUF9fKSAmJiAgIUJPT1NUX1dPUktBUk9VTkQoX19ETUNfXywgQk9PU1RfVEVTVEVEX0FUKDB4ODQwKSkKK0JPT1NUX1RUX0FVWF9UWVBFX1RSQUlUX1BBUlRJQUxfU1BFQzFfMSh0eXBlbmFtZSBULHJlbW92ZV9leHRlbnQsVFtdLFQpCitCT09TVF9UVF9BVVhfVFlQRV9UUkFJVF9QQVJUSUFMX1NQRUMxXzEodHlwZW5hbWUgVCxyZW1vdmVfZXh0ZW50LFQgY29uc3RbXSxUIGNvbnN0KQorQk9PU1RfVFRfQVVYX1RZUEVfVFJBSVRfUEFSVElBTF9TUEVDMV8xKHR5cGVuYW1lIFQscmVtb3ZlX2V4dGVudCxUIHZvbGF0aWxlW10sVCB2b2xhdGlsZSkKK0JPT1NUX1RUX0FVWF9UWVBFX1RSQUlUX1BBUlRJQUxfU1BFQzFfMSh0eXBlbmFtZSBULHJlbW92ZV9leHRlbnQsVCBjb25zdCB2b2xhdGlsZVtdLFQgY29uc3Qgdm9sYXRpbGUpCisjZW5kaWYKKyNlbmRpZgorCit9IC8vIG5hbWVzcGFjZSBuZG5ib29zdAorCisjZW5kaWYKKworI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2RldGFpbC90eXBlX3RyYWl0X3VuZGVmLmhwcD4KKworI2VuZGlmIC8vIEJPT1NUX1RUX1JFTU9WRV9CT1VORFNfSFBQX0lOQ0xVREVECmRpZmYgLS1naXQgYS9uZG5ib29zdC90eXBlX3RyYWl0cy9yZW1vdmVfcG9pbnRlci5ocHAgYi9uZG5ib29zdC90eXBlX3RyYWl0cy9yZW1vdmVfcG9pbnRlci5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzNkMmJlZQotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L3R5cGVfdHJhaXRzL3JlbW92ZV9wb2ludGVyLmhwcApAQCAtMCwwICsxLDkyIEBACisKKy8vICAoQykgQ29weXJpZ2h0IFN0ZXZlIENsZWFyeSwgQmVtYW4gRGF3ZXMsIEhvd2FyZCBIaW5uYW50ICYgSm9obiBNYWRkb2NrIDIwMDAuCisvLyAgVXNlLCBtb2RpZmljYXRpb24gYW5kIGRpc3RyaWJ1dGlvbiBhcmUgc3ViamVjdCB0byB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwKKy8vICBWZXJzaW9uIDEuMC4gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdAorLy8gIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkuCisvLworLy8gIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL3R5cGVfdHJhaXRzIGZvciBtb3N0IHJlY2VudCB2ZXJzaW9uIGluY2x1ZGluZyBkb2N1bWVudGF0aW9uLgorCisjaWZuZGVmIEJPT1NUX1RUX1JFTU9WRV9QT0lOVEVSX0hQUF9JTkNMVURFRAorI2RlZmluZSBCT09TVF9UVF9SRU1PVkVfUE9JTlRFUl9IUFBfSU5DTFVERUQKKworI2luY2x1ZGUgPG5kbmJvb3N0L2NvbmZpZy5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvZGV0YWlsL3dvcmthcm91bmQuaHBwPgorI2lmZGVmIEJPT1NUX05PX1RFTVBMQVRFX1BBUlRJQUxfU1BFQ0lBTElaQVRJT04KKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9icm9rZW5fY29tcGlsZXJfc3BlYy5ocHA+CisjZW5kaWYKKworI2lmIEJPT1NUX1dPUktBUk9VTkQoQk9PU1RfTVNWQyw8PTEzMDApCisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvbXN2Yy9yZW1vdmVfcG9pbnRlci5ocHA+CisjZWxpZiBkZWZpbmVkKEJPT1NUX01TVkMpCisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvcmVtb3ZlX2N2LmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9pc19wb2ludGVyLmhwcD4KKyNlbmRpZgorCisvLyBzaG91bGQgYmUgdGhlIGxhc3QgI2luY2x1ZGUKKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9kZXRhaWwvdHlwZV90cmFpdF9kZWYuaHBwPgorCituYW1lc3BhY2UgbmRuYm9vc3QgeworCisjaWZkZWYgQk9PU1RfTVNWQworCituYW1lc3BhY2UgZGV0YWlseworCisgICAvLworICAgLy8gV2UgbmVlZCBhbGwgdGhpcyBjcmF6eSBpbmRpcmVjdGlvbiBiZWNhdXNlIGEgdHlwZSBzdWNoIGFzOgorICAgLy8KKyAgIC8vIFQgKCpjb25zdCkoVSkKKyAgIC8vCisgICAvLyBEb2VzIG5vdCBiaW5kIHRvIGEgPFQqPiBvciA8VCpjb25zdD4gcGFydGlhbCBzcGVjaWFsaXphdGlvbiB3aXRoIFZDMTAgYW5kIGVhcmxpZXIKKyAgIC8vCisgICB0ZW1wbGF0ZSA8Y2xhc3MgVD4gCisgICBzdHJ1Y3QgcmVtb3ZlX3BvaW50ZXJfaW1wCisgICB7CisgICAgICB0eXBlZGVmIFQgdHlwZTsKKyAgIH07CisKKyAgIHRlbXBsYXRlIDxjbGFzcyBUPiAKKyAgIHN0cnVjdCByZW1vdmVfcG9pbnRlcl9pbXA8VCo+CisgICB7CisgICAgICB0eXBlZGVmIFQgdHlwZTsKKyAgIH07CisKKyAgIHRlbXBsYXRlIDxjbGFzcyBULCBib29sIGI+IAorICAgc3RydWN0IHJlbW92ZV9wb2ludGVyX2ltcDMKKyAgIHsKKyAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcmVtb3ZlX3BvaW50ZXJfaW1wPHR5cGVuYW1lIG5kbmJvb3N0OjpyZW1vdmVfY3Y8VD46OnR5cGU+Ojp0eXBlIHR5cGU7CisgICB9OworCisgICB0ZW1wbGF0ZSA8Y2xhc3MgVD4gCisgICBzdHJ1Y3QgcmVtb3ZlX3BvaW50ZXJfaW1wMzxULCBmYWxzZT4KKyAgIHsKKyAgICAgIHR5cGVkZWYgVCB0eXBlOworICAgfTsKKworICAgdGVtcGxhdGUgPGNsYXNzIFQ+IAorICAgc3RydWN0IHJlbW92ZV9wb2ludGVyX2ltcDIKKyAgIHsKKyAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcmVtb3ZlX3BvaW50ZXJfaW1wMzxULCA6Om5kbmJvb3N0Ojppc19wb2ludGVyPFQ+Ojp2YWx1ZT46OnR5cGUgdHlwZTsKKyAgIH07Cit9CisKK0JPT1NUX1RUX0FVWF9UWVBFX1RSQUlUX0RFRjEocmVtb3ZlX3BvaW50ZXIsVCx0eXBlbmFtZSBuZG5ib29zdDo6ZGV0YWlsOjpyZW1vdmVfcG9pbnRlcl9pbXAyPFQ+Ojp0eXBlKQorCisjZWxpZiAhZGVmaW5lZChCT09TVF9OT19URU1QTEFURV9QQVJUSUFMX1NQRUNJQUxJWkFUSU9OKQorCitCT09TVF9UVF9BVVhfVFlQRV9UUkFJVF9ERUYxKHJlbW92ZV9wb2ludGVyLFQsVCkKK0JPT1NUX1RUX0FVWF9UWVBFX1RSQUlUX1BBUlRJQUxfU1BFQzFfMSh0eXBlbmFtZSBULHJlbW92ZV9wb2ludGVyLFQqLFQpCitCT09TVF9UVF9BVVhfVFlQRV9UUkFJVF9QQVJUSUFMX1NQRUMxXzEodHlwZW5hbWUgVCxyZW1vdmVfcG9pbnRlcixUKiBjb25zdCxUKQorQk9PU1RfVFRfQVVYX1RZUEVfVFJBSVRfUEFSVElBTF9TUEVDMV8xKHR5cGVuYW1lIFQscmVtb3ZlX3BvaW50ZXIsVCogdm9sYXRpbGUsVCkKK0JPT1NUX1RUX0FVWF9UWVBFX1RSQUlUX1BBUlRJQUxfU1BFQzFfMSh0eXBlbmFtZSBULHJlbW92ZV9wb2ludGVyLFQqIGNvbnN0IHZvbGF0aWxlLFQpCisKKyNlbGlmICFCT09TVF9XT1JLQVJPVU5EKEJPT1NUX01TVkMsPD0xMzAwKQorCitCT09TVF9UVF9BVVhfVFlQRV9UUkFJVF9ERUYxKHJlbW92ZV9wb2ludGVyLFQsdHlwZW5hbWUgbmRuYm9vc3Q6OmRldGFpbDo6cmVtb3ZlX3BvaW50ZXJfaW1wbDxUPjo6dHlwZSkKKworI2VuZGlmCisKK30gLy8gbmFtZXNwYWNlIG5kbmJvb3N0CisKKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9kZXRhaWwvdHlwZV90cmFpdF91bmRlZi5ocHA+CisKKyNlbmRpZiAvLyBCT09TVF9UVF9SRU1PVkVfUE9JTlRFUl9IUFBfSU5DTFVERUQKZGlmZiAtLWdpdCBhL25kbmJvb3N0L3R5cGVfdHJhaXRzL3JlbW92ZV92b2xhdGlsZS5ocHAgYi9uZG5ib29zdC90eXBlX3RyYWl0cy9yZW1vdmVfdm9sYXRpbGUuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc1NDlhMjgKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC90eXBlX3RyYWl0cy9yZW1vdmVfdm9sYXRpbGUuaHBwCkBAIC0wLDAgKzEsODggQEAKKworLy8gIChDKSBDb3B5cmlnaHQgRGF2ZSBBYnJhaGFtcywgU3RldmUgQ2xlYXJ5LCBCZW1hbiBEYXdlcywgSG93YXJkCisvLyAgSGlubmFudCAmIEpvaG4gTWFkZG9jayAyMDAwLiAgCisvLyAgVXNlLCBtb2RpZmljYXRpb24gYW5kIGRpc3RyaWJ1dGlvbiBhcmUgc3ViamVjdCB0byB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwKKy8vICBWZXJzaW9uIDEuMC4gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdAorLy8gIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkuCisvLworLy8gIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL3R5cGVfdHJhaXRzIGZvciBtb3N0IHJlY2VudCB2ZXJzaW9uIGluY2x1ZGluZyBkb2N1bWVudGF0aW9uLgorCisKKyNpZm5kZWYgQk9PU1RfVFRfUkVNT1ZFX1ZPTEFUSUxFX0hQUF9JTkNMVURFRAorI2RlZmluZSBCT09TVF9UVF9SRU1PVkVfVk9MQVRJTEVfSFBQX0lOQ0xVREVECisKKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9pc19jb25zdC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvYnJva2VuX2NvbXBpbGVyX3NwZWMuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2RldGFpbC9jdl90cmFpdHNfaW1wbC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvY29uZmlnLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9kZXRhaWwvd29ya2Fyb3VuZC5ocHA+CisKKyNpbmNsdWRlIDxjc3RkZGVmPgorCisjaWYgQk9PU1RfV09SS0FST1VORChCT09TVF9NU1ZDLDw9MTMwMCkKKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9tc3ZjL3JlbW92ZV92b2xhdGlsZS5ocHA+CisjZW5kaWYKKworLy8gc2hvdWxkIGJlIHRoZSBsYXN0ICNpbmNsdWRlCisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvZGV0YWlsL3R5cGVfdHJhaXRfZGVmLmhwcD4KKworbmFtZXNwYWNlIG5kbmJvb3N0IHsKKworI2lmbmRlZiBCT09TVF9OT19URU1QTEFURV9QQVJUSUFMX1NQRUNJQUxJWkFUSU9OCisKK25hbWVzcGFjZSBkZXRhaWwgeworCit0ZW1wbGF0ZSA8dHlwZW5hbWUgVCwgYm9vbCBpc19jb25zdD4KK3N0cnVjdCByZW1vdmVfdm9sYXRpbGVfaGVscGVyCit7CisgICAgdHlwZWRlZiBUIHR5cGU7Cit9OworCit0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KK3N0cnVjdCByZW1vdmVfdm9sYXRpbGVfaGVscGVyPFQsdHJ1ZT4KK3sKKyAgICB0eXBlZGVmIFQgY29uc3QgdHlwZTsKK307CisKK3RlbXBsYXRlIDx0eXBlbmFtZSBUPgorc3RydWN0IHJlbW92ZV92b2xhdGlsZV9pbXBsCit7CisgICAgdHlwZWRlZiB0eXBlbmFtZSByZW1vdmVfdm9sYXRpbGVfaGVscGVyPAorICAgICAgICAgIHR5cGVuYW1lIGN2X3RyYWl0c19pbXA8VCo+Ojp1bnF1YWxpZmllZF90eXBlCisgICAgICAgICwgOjpuZG5ib29zdDo6aXNfY29uc3Q8VD46OnZhbHVlCisgICAgICAgID46OnR5cGUgdHlwZTsKK307CisKKy8vCisvLyBXZSBjYW4ndCBmaWx0ZXIgb3V0IHJ2YWx1ZV9yZWZlcmVuY2VzIGF0IHRoZSBzYW1lIGxldmVsIGFzCisvLyByZWZlcmVuY2VzIG9yIHdlIGdldCBhbWJpZ3VpdGllcyBmcm9tIG1zdmM6CisvLworI2lmbmRlZiBCT09TVF9OT19DWFgxMV9SVkFMVUVfUkVGRVJFTkNFUwordGVtcGxhdGUgPHR5cGVuYW1lIFQ+CitzdHJ1Y3QgcmVtb3ZlX3ZvbGF0aWxlX2ltcGw8VCYmPgoreworICAgIHR5cGVkZWYgVCYmIHR5cGU7Cit9OworI2VuZGlmCit9IC8vIG5hbWVzcGFjZSBkZXRhaWwKKworLy8gKiBjb252ZXJ0IGEgdHlwZSBUIHRvIGEgbm9uLXZvbGF0aWxlIHR5cGUgLSByZW1vdmVfdm9sYXRpbGU8VD4KKworQk9PU1RfVFRfQVVYX1RZUEVfVFJBSVRfREVGMShyZW1vdmVfdm9sYXRpbGUsVCx0eXBlbmFtZSBuZG5ib29zdDo6ZGV0YWlsOjpyZW1vdmVfdm9sYXRpbGVfaW1wbDxUPjo6dHlwZSkKK0JPT1NUX1RUX0FVWF9UWVBFX1RSQUlUX1BBUlRJQUxfU1BFQzFfMSh0eXBlbmFtZSBULHJlbW92ZV92b2xhdGlsZSxUJixUJikKKyNpZiAhZGVmaW5lZChCT09TVF9OT19BUlJBWV9UWVBFX1NQRUNJQUxJWkFUSU9OUykKK0JPT1NUX1RUX0FVWF9UWVBFX1RSQUlUX1BBUlRJQUxfU1BFQzFfMih0eXBlbmFtZSBULHN0ZDo6c2l6ZV90IE4scmVtb3ZlX3ZvbGF0aWxlLFQgdm9sYXRpbGVbTl0sVCB0eXBlW05dKQorQk9PU1RfVFRfQVVYX1RZUEVfVFJBSVRfUEFSVElBTF9TUEVDMV8yKHR5cGVuYW1lIFQsc3RkOjpzaXplX3QgTixyZW1vdmVfdm9sYXRpbGUsVCBjb25zdCB2b2xhdGlsZVtOXSxUIGNvbnN0IHR5cGVbTl0pCisjZW5kaWYKKworI2VsaWYgIUJPT1NUX1dPUktBUk9VTkQoQk9PU1RfTVNWQyw8PTEzMDApCisKK0JPT1NUX1RUX0FVWF9UWVBFX1RSQUlUX0RFRjEocmVtb3ZlX3ZvbGF0aWxlLFQsdHlwZW5hbWUgbmRuYm9vc3Q6OmRldGFpbDo6cmVtb3ZlX3ZvbGF0aWxlX2ltcGw8VD46OnR5cGUpCisKKyNlbmRpZiAvLyBCT09TVF9OT19URU1QTEFURV9QQVJUSUFMX1NQRUNJQUxJWkFUSU9OCisKK30gLy8gbmFtZXNwYWNlIG5kbmJvb3N0CisKKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9kZXRhaWwvdHlwZV90cmFpdF91bmRlZi5ocHA+CisKKyNlbmRpZiAvLyBCT09TVF9UVF9SRU1PVkVfVk9MQVRJTEVfSFBQX0lOQ0xVREVECmRpZmYgLS1naXQgYS9uZG5ib29zdC90eXBlb2YvZG1jL3R5cGVvZl9pbXBsLmhwcCBiL25kbmJvb3N0L3R5cGVvZi9kbWMvdHlwZW9mX2ltcGwuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZmNzdhYjAKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC90eXBlb2YvZG1jL3R5cGVvZl9pbXBsLmhwcApAQCAtMCwwICsxLDEwMCBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDA3IFBlZGVyIEhvbHQKKworLy8gVXNlLCBtb2RpZmljYXRpb24gYW5kIGRpc3RyaWJ1dGlvbiBpcyBzdWJqZWN0IHRvIHRoZSBCb29zdCBTb2Z0d2FyZQorLy8gTGljZW5zZSwgVmVyc2lvbiAxLjAuIChodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisKKyNpZm5kZWYgQk9PU1RfVFlQRU9GX01TVkNfVFlQRU9GX0lNUExfSFBQX0lOQ0xVREVECisjIGRlZmluZSBCT09TVF9UWVBFT0ZfTVNWQ19UWVBFT0ZfSU1QTF9IUFBfSU5DTFVERUQKKworIyBpbmNsdWRlIDxuZG5ib29zdC9jb25maWcuaHBwPgorIyBpbmNsdWRlIDxuZG5ib29zdC9kZXRhaWwvd29ya2Fyb3VuZC5ocHA+CisjIGluY2x1ZGUgPG5kbmJvb3N0L21wbC9pbnQuaHBwPgorCituYW1lc3BhY2UgbmRuYm9vc3QKK3sKKyAgICBuYW1lc3BhY2UgdHlwZV9vZgorICAgIHsKKworICAgICAgICB0ZW1wbGF0ZTxpbnQgTj4gc3RydWN0IGVuY29kZV9jb3VudGVyIDogZW5jb2RlX2NvdW50ZXI8TiAtIDE+IHt9OworICAgICAgICB0ZW1wbGF0ZTw+IHN0cnVjdCBlbmNvZGVfY291bnRlcjwwPiB7fTsKKworICAgICAgICBjaGFyICgqZW5jb2RlX2luZGV4KC4uLikpWzFdOworCisjIGRlZmluZSBCT09TVF9UWVBFT0ZfSU5ERVgoVCkgKHNpemVvZigqbmRuYm9vc3Q6OnR5cGVfb2Y6OmVuY29kZV9pbmRleCgobmRuYm9vc3Q6OnR5cGVfb2Y6OmVuY29kZV9jb3VudGVyPDEwMDA+KikwKSkpCisjIGRlZmluZSBCT09TVF9UWVBFT0ZfTkVYVF9JTkRFWChuZXh0KSBmcmllbmQgY2hhciAoKmVuY29kZV9pbmRleChlbmNvZGVfY291bnRlcjxuZXh0PiopKVtuZXh0XTsKKworCisgICAgICAgIC8vVHlwZW9mIGNvZGUKKworICAgICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBJRD4KKyAgICAgICAgc3RydWN0IG1zdmNfZXh0cmFjdF90eXBlCisgICAgICAgIHsKKyAgICAgICAgICAgIHN0cnVjdCBpZDJ0eXBlOworICAgICAgICB9OworCisgICAgICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lIElEPgorICAgICAgICBzdHJ1Y3QgbXN2Y19yZWdpc3Rlcl90eXBlIDogbXN2Y19leHRyYWN0X3R5cGU8SUQ+CisgICAgICAgIHsKKyAgICAgICAgICAgIHR5cGVkZWYgbXN2Y19leHRyYWN0X3R5cGU8SUQ+IGJhc2VfdHlwZTsKKyAgICAgICAgICAgIHN0cnVjdCBiYXNlX3R5cGU6OmlkMnR5cGUgLy8gVGhpcyB1c2VzIG5pY2UgVkM2LjUgYW5kIFZDNy4xIGJ1Z2ZlYXR1cmUsIGFsc28gd29ya3MgZm9yIERpZ2l0YWwgTWFycworICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHR5cGVkZWYgVCB0eXBlOworICAgICAgICAgICAgfTsKKyAgICAgICAgfTsKKworCisgICAgICAgIHRlbXBsYXRlPGludCBJRD4KKyAgICAgICAgc3RydWN0IG1zdmNfdHlwZWlkX3dyYXBwZXIgeworICAgICAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBtc3ZjX2V4dHJhY3RfdHlwZTxtcGw6OmludF88SUQ+ID46OmlkMnR5cGUgaWQydHlwZTsKKyAgICAgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgaWQydHlwZTo6dHlwZSB0eXBlOworICAgICAgICB9OworCisgICAgICAgIC8vVGllIGl0IGFsbCB0b2dldGhlcgorICAgICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgorICAgICAgICBzdHJ1Y3QgZW5jb2RlX3R5cGUKKyAgICAgICAgeworICAgICAgICAgICAgLy9HZXQgdGhlIG5leHQgYXZhaWxhYmxlIGNvbXBpbGUgdGltZSBjb25zdGFudHMgaW5kZXgKKyAgICAgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVCh1bnNpZ25lZCx2YWx1ZT1CT09TVF9UWVBFT0ZfSU5ERVgoVCkpOworICAgICAgICAgICAgLy9JbnN0YW50aWF0ZSB0aGUgdGVtcGxhdGUKKyAgICAgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbXN2Y19yZWdpc3Rlcl90eXBlPFQsbXBsOjppbnRfPHZhbHVlPiA+OjppZDJ0eXBlIHR5cGU7CisgICAgICAgICAgICAvL1NldCB0aGUgbmV4dCBjb21waWxlIHRpbWUgY29uc3RhbnRzIGluZGV4CisgICAgICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQodW5zaWduZWQsbmV4dD12YWx1ZSsxKTsKKyAgICAgICAgICAgIC8vSW5jcmVtZW50IHRoZSBjb21waWxlIHRpbWUgY29uc3RhbnQgKG9ubHkgbmVlZGVkIHdoZW4gZXh0ZW5zaW9ucyBhcmUgbm90IGFjdGl2ZQorICAgICAgICAgICAgQk9PU1RfVFlQRU9GX05FWFRfSU5ERVgobmV4dCk7CisgICAgICAgIH07CisKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVD4KKyAgICAgICAgc3RydWN0IHNpemVyCisgICAgICAgIHsKKyAgICAgICAgICAgIHR5cGVkZWYgY2hhcigqdHlwZSlbZW5jb2RlX3R5cGU8VD46OnZhbHVlXTsKKyAgICAgICAgfTsKKworICAgICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgorICAgICAgICAgICAgdHlwZW5hbWUgc2l6ZXI8VD46OnR5cGUgZW5jb2RlX3N0YXJ0KFQgY29uc3QmKTsKKworICAgICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBPcmdhbml6ZXIsIHR5cGVuYW1lIFQ+CisgICAgICAgIG1zdmNfcmVnaXN0ZXJfdHlwZTxULE9yZ2FuaXplcj4gdHlwZW9mX3JlZ2lzdGVyX3R5cGUoY29uc3QgVCYsT3JnYW5pemVyKiA9MCk7CisKKyMgZGVmaW5lIEJPT1NUX1RZUEVPRihleHByKSBcCisgICAgbmRuYm9vc3Q6OnR5cGVfb2Y6Om1zdmNfdHlwZWlkX3dyYXBwZXI8c2l6ZW9mKCpuZG5ib29zdDo6dHlwZV9vZjo6ZW5jb2RlX3N0YXJ0KGV4cHIpKT46OnR5cGUKKworIyBkZWZpbmUgQk9PU1RfVFlQRU9GX1RQTChleHByKSB0eXBlbmFtZSBCT09TVF9UWVBFT0YoZXhwcikKKworIyBkZWZpbmUgQk9PU1RfVFlQRU9GX05FU1RFRF9UWVBFREVGX1RQTChuYW1lLGV4cHIpIFwKKyAgICBzdHJ1Y3QgbmFtZSB7XAorICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LF90eXBlb2ZfcmVnaXN0ZXJfdmFsdWU9c2l6ZW9mKG5kbmJvb3N0Ojp0eXBlX29mOjp0eXBlb2ZfcmVnaXN0ZXJfdHlwZTxuYW1lPihleHByKSkpO1wKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBuZG5ib29zdDo6dHlwZV9vZjo6bXN2Y19leHRyYWN0X3R5cGU8bmFtZT46OmlkMnR5cGUgaWQydHlwZTtcCisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgaWQydHlwZTo6dHlwZSB0eXBlO1wKKyAgICB9OworCisjIGRlZmluZSBCT09TVF9UWVBFT0ZfTkVTVEVEX1RZUEVERUYobmFtZSxleHByKSBcCisgICAgc3RydWN0IG5hbWUge1wKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCxfdHlwZW9mX3JlZ2lzdGVyX3ZhbHVlPXNpemVvZihuZG5ib29zdDo6dHlwZV9vZjo6dHlwZW9mX3JlZ2lzdGVyX3R5cGU8bmFtZT4oZXhwcikpKTtcCisgICAgICAgIHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6Om1zdmNfZXh0cmFjdF90eXBlPG5hbWU+OjppZDJ0eXBlIGlkMnR5cGU7XAorICAgICAgICB0eXBlZGVmIGlkMnR5cGU6OnR5cGUgdHlwZTtcCisgICAgfTsKKworICAgIH0KK30KKworI2VuZGlmLy9CT09TVF9UWVBFT0ZfTVNWQ19UWVBFT0ZfSU1QTF9IUFBfSU5DTFVERUQKZGlmZiAtLWdpdCBhL25kbmJvb3N0L3R5cGVvZi9lbmNvZGVfZGVjb2RlLmhwcCBiL25kbmJvb3N0L3R5cGVvZi9lbmNvZGVfZGVjb2RlLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41YTFkNjJhCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvdHlwZW9mL2VuY29kZV9kZWNvZGUuaHBwCkBAIC0wLDAgKzEsNjEgQEAKKy8vIENvcHlyaWdodCAoQykgMjAwNCBBcmthZGl5IFZlcnRsZXliCisKKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gKFNlZSBhY2NvbXBhbnlpbmcKKy8vIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorCisvLyBib29zdGluc3BlY3Q6bm91bm5hbWVkCisKKyNpZm5kZWYgQk9PU1RfVFlQRU9GX0VOQ09ERV9ERUNPREVfSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX1RZUEVPRl9FTkNPREVfREVDT0RFX0hQUF9JTkNMVURFRAorCisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2RlcmVmLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvbmV4dC5ocHA+CisKKyNpZm5kZWYgQk9PU1RfVFlQRU9GX1NVUFBSRVNTX1VOTkFNRURfTkFNRVNQQUNFCisKKyMgICBkZWZpbmUgQk9PU1RfVFlQRU9GX0JFR0lOX0VOQ09ERV9OUyBuYW1lc3BhY2UgeyBuYW1lc3BhY2UgbmRuYm9vc3RfdHlwZW9mIHsKKyMgICBkZWZpbmUgQk9PU1RfVFlQRU9GX0VORF9FTkNPREVfTlMgfX0KKyMgICBkZWZpbmUgQk9PU1RfVFlQRU9GX0VOQ09ERV9OU19RVUFMSUZJRVIgbmRuYm9vc3RfdHlwZW9mCisKKyNlbHNlCisKKyMgICBkZWZpbmUgQk9PU1RfVFlQRU9GX0JFR0lOX0VOQ09ERV9OUyBuYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgdHlwZV9vZiB7CisjICAgZGVmaW5lIEJPT1NUX1RZUEVPRl9FTkRfRU5DT0RFX05TIH19CisjICAgZGVmaW5lIEJPT1NUX1RZUEVPRl9FTkNPREVfTlNfUVVBTElGSUVSIG5kbmJvb3N0Ojp0eXBlX29mCisKKyMgICBkZWZpbmUgQk9PU1RfVFlQRU9GX1RFWFQgInVubmFtZWQgbmFtZXNwYWNlIGlzIG9mZiIKKyMgICBpbmNsdWRlIDxuZG5ib29zdC90eXBlb2YvbWVzc2FnZS5ocHA+CisKKyNlbmRpZgorCitCT09TVF9UWVBFT0ZfQkVHSU5fRU5DT0RFX05TCisKK3RlbXBsYXRlPGNsYXNzIFYsIGNsYXNzIFR5cGVfTm90X1JlZ2lzdGVyZWRfV2l0aF9UeXBlb2ZfU3lzdGVtPgorc3RydWN0IGVuY29kZV90eXBlX2ltcGw7CisKK3RlbXBsYXRlPGNsYXNzIFQsIGNsYXNzIEl0ZXI+CitzdHJ1Y3QgZGVjb2RlX3R5cGVfaW1wbAoreworICAgIHR5cGVkZWYgaW50IHR5cGU7ICAvLyBNU1ZDIEVUSSB3b3JrYXJvdW5kCit9OworCit0ZW1wbGF0ZTxjbGFzcyBUPgorc3RydWN0IGRlY29kZV9uZXN0ZWRfdGVtcGxhdGVfaGVscGVyX2ltcGw7CisKK0JPT1NUX1RZUEVPRl9FTkRfRU5DT0RFX05TCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSB0eXBlX29mIHsKKworICAgIHRlbXBsYXRlPGNsYXNzIFYsIGNsYXNzIFQ+CisgICAgc3RydWN0IGVuY29kZV90eXBlIDogQk9PU1RfVFlQRU9GX0VOQ09ERV9OU19RVUFMSUZJRVI6OmVuY29kZV90eXBlX2ltcGw8ViwgVD4KKyAgICB7fTsKKworICAgIHRlbXBsYXRlPGNsYXNzIEl0ZXI+CisgICAgc3RydWN0IGRlY29kZV90eXBlIDogQk9PU1RfVFlQRU9GX0VOQ09ERV9OU19RVUFMSUZJRVI6OmRlY29kZV90eXBlX2ltcGw8CisgICAgICAgIHR5cGVuYW1lIEl0ZXI6OnR5cGUsCisgICAgICAgIHR5cGVuYW1lIEl0ZXI6Om5leHQKKyAgICA+CisgICAge307Cit9fQorCisjZW5kaWYvL0JPT1NUX1RZUEVPRl9FTkNPREVfREVDT0RFX0hQUF9JTkNMVURFRApkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvdHlwZW9mL2VuY29kZV9kZWNvZGVfcGFyYW1zLmhwcCBiL25kbmJvb3N0L3R5cGVvZi9lbmNvZGVfZGVjb2RlX3BhcmFtcy5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmU1N2E4NAotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L3R5cGVvZi9lbmNvZGVfZGVjb2RlX3BhcmFtcy5ocHAKQEAgLTAsMCArMSwzNCBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDA1IEFya2FkaXkgVmVydGxleWIKKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gKFNlZSBhY2NvbXBhbnlpbmcKKy8vIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorCisjaWZuZGVmIEJPT1NUX1RZUEVPRl9FTkNPREVfREVDT0RFX1BBUkFNU19IUFBfSU5DTFVERUQKKyNkZWZpbmUgQk9PU1RfVFlQRU9GX0VOQ09ERV9ERUNPREVfUEFSQU1TX0hQUF9JTkNMVURFRAorCisjaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL2NhdC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL3JlcGV0aXRpb24vcmVwZWF0LmhwcD4KKworLy8gQXNzdW1lcyBpdGVyMCBjb250YWlucyBpbml0aWFsIGl0ZXJhdG9yCisKKyNkZWZpbmUgQk9PU1RfVFlQRU9GX0RFQ09ERV9QQVJBTSh6LCBuLCB0ZXh0KSAgIFwKKyAgICB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjpkZWNvZGVfdHlwZTxpdGVyIyNuPiBkZWNvZGUjI247ICAgICBcCisgICAgdHlwZWRlZiB0eXBlbmFtZSBkZWNvZGUjI246OnR5cGUgcCMjbjsgICAgICBcCisgICAgdHlwZWRlZiB0eXBlbmFtZSBkZWNvZGUjI246Oml0ZXIgQk9PU1RfUFBfQ0FUKGl0ZXIsIEJPT1NUX1BQX0lOQyhuKSk7CisKKyNkZWZpbmUgQk9PU1RfVFlQRU9GX0RFQ09ERV9QQVJBTVMobilcCisgICAgQk9PU1RfUFBfUkVQRUFUKG4sIEJPT1NUX1RZUEVPRl9ERUNPREVfUEFSQU0sIH4pCisKKy8vIFRoZSBQMCwgUDEsIC4uLiBQTiBhcmUgZW5jb2RlZCBhbmQgYWRkZWQgdG8gViAKKworI2RlZmluZSBCT09TVF9UWVBFT0ZfRU5DT0RFX1BBUkFNU19CRUdJTih6LCBuLCB0ZXh0KVwKKyAgICB0eXBlbmFtZSBuZG5ib29zdDo6dHlwZV9vZjo6ZW5jb2RlX3R5cGU8CisKKyNkZWZpbmUgQk9PU1RfVFlQRU9GX0VOQ09ERV9QQVJBTVNfRU5EKHosIG4sIHRleHQpXAorICAgICwgQk9PU1RfUFBfQ0FUKFAsIG4pPjo6dHlwZQorCisjZGVmaW5lIEJPT1NUX1RZUEVPRl9FTkNPREVfUEFSQU1TKG4sIElEKSAgICAgICAgICAgICAgICAgICBcCisgICAgQk9PU1RfUFBfUkVQRUFUKG4sIEJPT1NUX1RZUEVPRl9FTkNPREVfUEFSQU1TX0JFR0lOLCB+KSBcCisgICAgdHlwZW5hbWUgbmRuYm9vc3Q6OnR5cGVfb2Y6OnB1c2hfYmFjazxWLCBuZG5ib29zdDo6bXBsOjpzaXplX3Q8SUQ+ID46OnR5cGUgICAgICBcCisgICAgQk9PU1RfUFBfUkVQRUFUKG4sIEJPT1NUX1RZUEVPRl9FTkNPREVfUEFSQU1TX0VORCwgfikKKworI2VuZGlmLy9CT09TVF9UWVBFT0ZfRU5DT0RFX0RFQ09ERV9QQVJBTVNfSFBQX0lOQ0xVREVECmRpZmYgLS1naXQgYS9uZG5ib29zdC90eXBlb2YvaW50X2VuY29kaW5nLmhwcCBiL25kbmJvb3N0L3R5cGVvZi9pbnRfZW5jb2RpbmcuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZhY2NkZGEKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC90eXBlb2YvaW50X2VuY29kaW5nLmhwcApAQCAtMCwwICsxLDExOCBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDA0IEFya2FkaXkgVmVydGxleWIKKy8vIFVzZSwgbW9kaWZpY2F0aW9uIGFuZCBkaXN0cmlidXRpb24gaXMgc3ViamVjdCB0byB0aGUgQm9vc3QgU29mdHdhcmUKKy8vIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAoaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorCisjaWZuZGVmIEJPT1NUX1RZUEVPRl9JTlRfRU5DT0RJTkdfSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX1RZUEVPRl9JTlRfRU5DT0RJTkdfSFBQX0lOQ0xVREVECisKKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvaWYuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9zaXplX3QuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L2NvbmZpZy5ocHA+CisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSB0eXBlX29mIHsKKworICAgIHRlbXBsYXRlPGNsYXNzIFQ+IHN0cnVjdCBnZXRfdW5zaWduZWQKKyAgICB7CisgICAgICAgIHR5cGVkZWYgVCB0eXBlOworICAgIH07CisgICAgdGVtcGxhdGU8PiBzdHJ1Y3QgZ2V0X3Vuc2lnbmVkPHNpZ25lZCBjaGFyPgorICAgIHsKKyAgICAgICAgdHlwZWRlZiB1bnNpZ25lZCBjaGFyIHR5cGU7CisgICAgfTsKKyAgICB0ZW1wbGF0ZTw+IHN0cnVjdCBnZXRfdW5zaWduZWQ8Y2hhcj4KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdW5zaWduZWQgY2hhciB0eXBlOworICAgIH07CisgICAgdGVtcGxhdGU8PiBzdHJ1Y3QgZ2V0X3Vuc2lnbmVkPHNob3J0PgorICAgIHsKKyAgICAgICAgdHlwZWRlZiB1bnNpZ25lZCBzaG9ydCB0eXBlOworICAgIH07CisgICAgdGVtcGxhdGU8PiBzdHJ1Y3QgZ2V0X3Vuc2lnbmVkPGludD4KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdW5zaWduZWQgaW50IHR5cGU7CisgICAgfTsKKyAgICB0ZW1wbGF0ZTw+IHN0cnVjdCBnZXRfdW5zaWduZWQ8bG9uZz4KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdW5zaWduZWQgbG9uZyB0eXBlOworICAgIH07CisKKyAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworCisgICAgdGVtcGxhdGU8c3RkOjpzaXplX3QgbiwgYm9vbCBPdmVyZmxvdz4KKyAgICBzdHJ1Y3QgcGFjaworICAgIHsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKHN0ZDo6c2l6ZV90ICwgdmFsdWU9KChuICsgMSkgKiAyICsgKE92ZXJmbG93ID8gMSA6IDApKSk7CisgICAgfTsKKworICAgIHRlbXBsYXRlPHN0ZDo6c2l6ZV90IG0+CisgICAgc3RydWN0IHVucGFjaworICAgIHsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKHN0ZDo6c2l6ZV90LCB2YWx1ZSA9IChtIC8gMikgLSAxKTsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKHN0ZDo6c2l6ZV90LCBvdmVyZmxvdyA9IChtICUgMiA9PSAxKSk7CisgICAgfTsKKworICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCisKKyAgICB0ZW1wbGF0ZTxjbGFzcyBWLCBzdGQ6OnNpemVfdCBuLCBib29sIG92ZXJmbG93ID0gKG4gPj0gMHgzZmZmZmZmZik+CisgICAgc3RydWN0IGVuY29kZV9zaXplX3QgOiBwdXNoX2JhY2s8CisgICAgICAgIFYsCisgICAgICAgIG5kbmJvb3N0OjptcGw6OnNpemVfdDxwYWNrPG4sIGZhbHNlPjo6dmFsdWU+CisgICAgPgorICAgIHt9OworCisgICAgdGVtcGxhdGU8Y2xhc3MgViwgc3RkOjpzaXplX3Qgbj4KKyAgICBzdHJ1Y3QgZW5jb2RlX3NpemVfdDxWLCBuLCB0cnVlPiA6IHB1c2hfYmFjazx0eXBlbmFtZSBwdXNoX2JhY2s8CisgICAgICAgIFYsCisgICAgICAgIG5kbmJvb3N0OjptcGw6OnNpemVfdDxwYWNrPG4gJSAweDNmZmZmZmZlLCB0cnVlPjo6dmFsdWU+ID46OnR5cGUsCisgICAgICAgIG5kbmJvb3N0OjptcGw6OnNpemVfdDxuIC8gMHgzZmZmZmZmZT4KKyAgICA+CisgICAge307CisKKyAgICB0ZW1wbGF0ZTxjbGFzcyBWLCBjbGFzcyBULCBUIG4+CisgICAgc3RydWN0IGVuY29kZV9pbnRlZ3JhbCA6IGVuY29kZV9zaXplX3Q8IFYsICh0eXBlbmFtZSBnZXRfdW5zaWduZWQ8VD46OnR5cGUpbiwoKCh0eXBlbmFtZSBnZXRfdW5zaWduZWQ8VD46OnR5cGUpbik+PTB4M2ZmZmZmZmYpID4KKyAgICB7fTsKKworICAgIHRlbXBsYXRlPGNsYXNzIFYsIGJvb2wgYj4KKyAgICBzdHJ1Y3QgZW5jb2RlX2ludGVncmFsPFYsIGJvb2wsIGI+IDogZW5jb2RlX3NpemVfdDwgViwgYj8xOjAsIGZhbHNlPgorICAgIHt9OworICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworCisgICAgdGVtcGxhdGU8c3RkOjpzaXplX3QgbiwgY2xhc3MgSXRlciwgYm9vbCBvdmVyZmxvdz4KKyAgICBzdHJ1Y3QgZGVjb2RlX3NpemVfdDsKKworICAgIHRlbXBsYXRlPHN0ZDo6c2l6ZV90IG4sIGNsYXNzIEl0ZXI+CisgICAgc3RydWN0IGRlY29kZV9zaXplX3Q8biwgSXRlciwgZmFsc2U+CisgICAgeworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoc3RkOjpzaXplX3QsdmFsdWUgPSBuKTsKKyAgICAgICAgdHlwZWRlZiBJdGVyIGl0ZXI7CisgICAgfTsKKworICAgIHRlbXBsYXRlPHN0ZDo6c2l6ZV90IG4sIGNsYXNzIEl0ZXI+CisgICAgc3RydWN0IGRlY29kZV9zaXplX3Q8biwgSXRlciwgdHJ1ZT4KKyAgICB7CisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChzdGQ6OnNpemVfdCxtID0gSXRlcjo6dHlwZTo6dmFsdWUpOworCisgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChzdGQ6OnNpemVfdCx2YWx1ZSA9IChzdGQ6OnNpemVfdCltICogMHgzZmZmZmZmZSArIG4pOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIEl0ZXI6Om5leHQgaXRlcjsKKyAgICB9OworCisgICAgdGVtcGxhdGU8Y2xhc3MgVCwgY2xhc3MgSXRlcj4KKyAgICBzdHJ1Y3QgZGVjb2RlX2ludGVncmFsCisgICAgeworICAgICAgICB0eXBlZGVmIGRlY29kZV9pbnRlZ3JhbDxULEl0ZXI+IHNlbGZfdDsKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKHN0ZDo6c2l6ZV90LG0gPSBJdGVyOjp0eXBlOjp2YWx1ZSk7CisKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKHN0ZDo6c2l6ZV90LG4gPSB1bnBhY2s8bT46OnZhbHVlKTsKKworICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoc3RkOjpzaXplX3Qsb3ZlcmZsb3cgPSB1bnBhY2s8bT46Om92ZXJmbG93KTsKKworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIEl0ZXI6Om5leHQgbmV4dHBvczsKKworICAgICAgICBzdGF0aWMgY29uc3QgVCB2YWx1ZSA9IChUKShzdGQ6OnNpemVfdClkZWNvZGVfc2l6ZV90PG4sIG5leHRwb3MsIG92ZXJmbG93Pjo6dmFsdWU7CisKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBkZWNvZGVfc2l6ZV90PHNlbGZfdDo6biwgbmV4dHBvcywgc2VsZl90OjpvdmVyZmxvdz46Oml0ZXIgaXRlcjsKKyAgICB9OworCit9fS8vbmFtZXNwYWNlCisKKyNlbmRpZi8vQk9PU1RfVFlQRU9GX0lOVF9FTkNPRElOR19IUFBfSU5DTFVERUQKZGlmZiAtLWdpdCBhL25kbmJvb3N0L3R5cGVvZi9pbnRlZ3JhbF90ZW1wbGF0ZV9wYXJhbS5ocHAgYi9uZG5ib29zdC90eXBlb2YvaW50ZWdyYWxfdGVtcGxhdGVfcGFyYW0uaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ0NmEzZDEKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC90eXBlb2YvaW50ZWdyYWxfdGVtcGxhdGVfcGFyYW0uaHBwCkBAIC0wLDAgKzEsODAgQEAKKy8vIENvcHlyaWdodCAoQykgMjAwNSBBcmthZGl5IFZlcnRsZXliCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIChTZWUgYWNjb21wYW55aW5nCisvLyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKworI2lmbmRlZiBCT09TVF9UWVBFT0ZfSU5URUdSQUxfVEVNUExBVEVfUEFSQU1fSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX1RZUEVPRl9JTlRFR1JBTF9URU1QTEFURV9QQVJBTV9IUFBfSU5DTFVERUQKKworI2RlZmluZSBCT09TVF9UWVBFT0ZfdW5zaWduZWQgKHVuc2lnbmVkKQorI2RlZmluZSBCT09TVF9UWVBFT0Zfc2lnbmVkIChzaWduZWQpCisKKyNkZWZpbmUgY2hhcl9CT09TVF9UWVBFT0YgKGNoYXIpCisjZGVmaW5lIHNob3J0X0JPT1NUX1RZUEVPRiAoc2hvcnQpCisjZGVmaW5lIGludF9CT09TVF9UWVBFT0YgKGludCkKKyNkZWZpbmUgbG9uZ19CT09TVF9UWVBFT0YgKGxvbmcpCisKKyNkZWZpbmUgQk9PU1RfVFlQRU9GX2NoYXJfQk9PU1RfVFlQRU9GIChjaGFyKQorI2RlZmluZSBCT09TVF9UWVBFT0Zfc2hvcnRfQk9PU1RfVFlQRU9GIChzaG9ydCkKKyNkZWZpbmUgQk9PU1RfVFlQRU9GX2ludF9CT09TVF9UWVBFT0YgKGludCkKKyNkZWZpbmUgQk9PU1RfVFlQRU9GX2xvbmdfQk9PU1RfVFlQRU9GIChsb25nKQorI2RlZmluZSBCT09TVF9UWVBFT0ZfYm9vbF9CT09TVF9UWVBFT0YgKGJvb2wpCisjZGVmaW5lIEJPT1NUX1RZUEVPRl91bnNpZ25lZF9CT09TVF9UWVBFT0YgKHVuc2lnbmVkKQorI2RlZmluZSBCT09TVF9UWVBFT0Zfc2l6ZV90X0JPT1NUX1RZUEVPRiAoc2l6ZV90KQorCisjZGVmaW5lIEJPT1NUX1RZUEVPRl9NQUtFX09CSl9jaGFyICAgICAgICAgIEJPT1NUX1RZUEVPRl9JTlRFR1JBTF9QQVJBTShjaGFyKQorI2RlZmluZSBCT09TVF9UWVBFT0ZfTUFLRV9PQkpfc2hvcnQgICAgICAgICBCT09TVF9UWVBFT0ZfSU5URUdSQUxfUEFSQU0oc2hvcnQpCisjZGVmaW5lIEJPT1NUX1RZUEVPRl9NQUtFX09CSl9pbnQgICAgICAgICAgIEJPT1NUX1RZUEVPRl9JTlRFR1JBTF9QQVJBTShpbnQpCisjZGVmaW5lIEJPT1NUX1RZUEVPRl9NQUtFX09CSl9sb25nICAgICAgICAgIEJPT1NUX1RZUEVPRl9JTlRFR1JBTF9QQVJBTShsb25nKQorI2RlZmluZSBCT09TVF9UWVBFT0ZfTUFLRV9PQkpfYm9vbCAgICAgICAgICBCT09TVF9UWVBFT0ZfSU5URUdSQUxfUEFSQU0oYm9vbCkKKyNkZWZpbmUgQk9PU1RfVFlQRU9GX01BS0VfT0JKX3Vuc2lnbmVkICAgICAgQk9PU1RfVFlQRU9GX0lOVEVHUkFMX1BBUkFNKHVuc2lnbmVkKQorI2RlZmluZSBCT09TVF9UWVBFT0ZfTUFLRV9PQkpfc2l6ZV90ICAgICAgICBCT09TVF9UWVBFT0ZfSU5URUdSQUxfUEFSQU0oc2l6ZV90KQorI2RlZmluZSBCT09TVF9UWVBFT0ZfTUFLRV9PQkpfdW5zaWduZWRjaGFyICBCT09TVF9UWVBFT0ZfSU5URUdSQUxfUEFSQU0odW5zaWduZWQgY2hhcikKKyNkZWZpbmUgQk9PU1RfVFlQRU9GX01BS0VfT0JKX3Vuc2lnbmVkc2hvcnQgQk9PU1RfVFlQRU9GX0lOVEVHUkFMX1BBUkFNKHVuc2lnbmVkIHNob3J0KQorI2RlZmluZSBCT09TVF9UWVBFT0ZfTUFLRV9PQkpfdW5zaWduZWRpbnQgICBCT09TVF9UWVBFT0ZfSU5URUdSQUxfUEFSQU0odW5zaWduZWQgaW50KQorI2RlZmluZSBCT09TVF9UWVBFT0ZfTUFLRV9PQkpfdW5zaWduZWRsb25nICBCT09TVF9UWVBFT0ZfSU5URUdSQUxfUEFSQU0odW5zaWduZWQgbG9uZykKKyNkZWZpbmUgQk9PU1RfVFlQRU9GX01BS0VfT0JKX3NpZ25lZGNoYXIgICAgQk9PU1RfVFlQRU9GX0lOVEVHUkFMX1BBUkFNKHNpZ25lZCBjaGFyKQorI2RlZmluZSBCT09TVF9UWVBFT0ZfTUFLRV9PQkpfc2lnbmVkc2hvcnQgICBCT09TVF9UWVBFT0ZfSU5URUdSQUxfUEFSQU0oc2lnbmVkIHNob3J0KQorI2RlZmluZSBCT09TVF9UWVBFT0ZfTUFLRV9PQkpfc2lnbmVkaW50ICAgICBCT09TVF9UWVBFT0ZfSU5URUdSQUxfUEFSQU0oc2lnbmVkIGludCkKKyNkZWZpbmUgQk9PU1RfVFlQRU9GX01BS0VfT0JKX3NpZ25lZGxvbmcgICAgQk9PU1RfVFlQRU9GX0lOVEVHUkFMX1BBUkFNKHNpZ25lZCBsb25nKQorI2RlZmluZSBCT09TVF9UWVBFT0ZfTUFLRV9PQkpfaW50ZWdyYWwoeCkgICBCT09TVF9UWVBFT0ZfSU5URUdSQUxfUEFSQU0oeCkKKworI2RlZmluZSBCT09TVF9UWVBFT0ZfSU5URUdSQUwoWCkgaW50ZWdyYWwoWCkgQk9PU1RfVFlQRU9GX0VBVAorI2RlZmluZSBCT09TVF9UWVBFT0ZfRUFUX0JPT1NUX1RZUEVPRgorI2RlZmluZSBCT09TVF9UWVBFT0ZfaW50ZWdyYWwoWCkgKGludGVncmFsKFgpKQorCisjZGVmaW5lIEJPT1NUX1RZUEVPRl9JTlRFR1JBTF9QQVJBTShUeXBlKVwKKyAgICAoSU5URUdSQUxfUEFSQU0pXAorICAgIChUeXBlKQorCisjZGVmaW5lIEJPT1NUX1RZUEVPRl9JTlRFR1JBTF9QQVJBTV9HRVRUWVBFKFBhcmFtKVwKKyAgICBCT09TVF9QUF9TRVFfRUxFTSgxLCBQYXJhbSkKKworI2RlZmluZSBCT09TVF9UWVBFT0ZfSU5URUdSQUxfUEFSQU1fRVhQQU5EVFlQRShQYXJhbSlcCisgICAgQk9PU1RfVFlQRU9GX0lOVEVHUkFMX1BBUkFNX0dFVFRZUEUoUGFyYW0pCisKKy8vIElOVEVHUkFMX1BBUkFNICJ2aXJ0dWFsIGZ1bmN0aW9ucyIgaW1wbGVtZW50YXRpb24KKworI2RlZmluZSBCT09TVF9UWVBFT0ZfSU5URUdSQUxfUEFSQU1fRU5DT0RFKFRoaXMsIG4pXAorICAgIHR5cGVkZWYgdHlwZW5hbWUgbmRuYm9vc3Q6OnR5cGVfb2Y6OmVuY29kZV9pbnRlZ3JhbDxcCisgICAgICAgIEJPT1NUX1BQX0NBVChWLCBuKSxcCisgICAgICAgIEJPT1NUX1RZUEVPRl9JTlRFR1JBTF9QQVJBTV9HRVRUWVBFKFRoaXMpLFwKKyAgICAgICAgQk9PU1RfUFBfQ0FUKFAsIG4pXAorICAgID46OnR5cGUgQk9PU1RfUFBfQ0FUKFYsIEJPT1NUX1BQX0lOQyhuKSk7IAorCisjZGVmaW5lIEJPT1NUX1RZUEVPRl9JTlRFR1JBTF9QQVJBTV9ERUNPREUoVGhpcywgbilcCisgICAgdHlwZWRlZiBuZG5ib29zdDo6dHlwZV9vZjo6ZGVjb2RlX2ludGVncmFsPEJPT1NUX1RZUEVPRl9JTlRFR1JBTF9QQVJBTV9HRVRUWVBFKFRoaXMpLCBCT09TVF9QUF9DQVQoaXRlciwgbik+IEJPT1NUX1BQX0NBVChkLCBuKTtcCisgICAgc3RhdGljIGNvbnN0IEJPT1NUX1RZUEVPRl9JTlRFR1JBTF9QQVJBTV9HRVRUWVBFKFRoaXMpIEJPT1NUX1BQX0NBVChQLCBuKSA9IEJPT1NUX1BQX0NBVChkLCBuKTo6dmFsdWU7XAorICAgIHR5cGVkZWYgdHlwZW5hbWUgQk9PU1RfUFBfQ0FUKGQsIG4pOjppdGVyIEJPT1NUX1BQX0NBVChpdGVyLCBCT09TVF9QUF9JTkMobikpOworCisjZGVmaW5lIEJPT1NUX1RZUEVPRl9JTlRFR1JBTF9QQVJBTV9QTEFDRUhPTERFUihQYXJhbSlcCisgICAgKEJPT1NUX1RZUEVPRl9JTlRFR1JBTF9QQVJBTV9HRVRUWVBFKFBhcmFtKSkwCisKKyNkZWZpbmUgQk9PU1RfVFlQRU9GX0lOVEVHUkFMX1BBUkFNX0RFQ0xBUkFUSU9OX1RZUEUoUGFyYW0pXAorICAgIEJPT1NUX1RZUEVPRl9JTlRFR1JBTF9QQVJBTV9HRVRUWVBFKFBhcmFtKQorCisjZGVmaW5lIEJPT1NUX1RZUEVPRl9JTlRFR1JBTF9QQVJBTV9QTEFDRUhPTERFUl9UWVBFUyhQYXJhbSwgbilcCisgICAgQk9PU1RfUFBfQ0FUKFQsbikKKworI2RlZmluZSBCT09TVF9UWVBFT0ZfSU5URUdSQUxfUEFSQU1fSVNURU1QTEFURSAwCisKKyNlbmRpZi8vQk9PU1RfVFlQRU9GX0lOVEVHUkFMX1RFTVBMQVRFX1BBUkFNX0hQUF9JTkNMVURFRApkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvdHlwZW9mL21lc3NhZ2UuaHBwIGIvbmRuYm9vc3QvdHlwZW9mL21lc3NhZ2UuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNhYmJiODIKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC90eXBlb2YvbWVzc2FnZS5ocHAKQEAgLTAsMCArMSw4IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMDUgQXJrYWRpeSBWZXJ0bGV5YgorLy8gVXNlLCBtb2RpZmljYXRpb24gYW5kIGRpc3RyaWJ1dGlvbiBpcyBzdWJqZWN0IHRvIHRoZSBCb29zdCBTb2Z0d2FyZQorLy8gTGljZW5zZSwgVmVyc2lvbiAxLjAuIChodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisKKyNpZiBkZWZpbmVkKF9NU0NfVkVSKSAmJiBkZWZpbmVkIEJPT1NUX1RZUEVPRl9NRVNTQUdFUworIyAgICBwcmFnbWEgbWVzc2FnZShCT09TVF9UWVBFT0ZfVEVYVCkKKyNlbmRpZgorI3VuZGVmIEJPT1NUX1RZUEVPRl9URVhUCmRpZmYgLS1naXQgYS9uZG5ib29zdC90eXBlb2YvbW9kaWZpZXJzLmhwcCBiL25kbmJvb3N0L3R5cGVvZi9tb2RpZmllcnMuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFmZDY1ZGYKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC90eXBlb2YvbW9kaWZpZXJzLmhwcApAQCAtMCwwICsxLDEyMSBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDA0IEFya2FkaXkgVmVydGxleWIKKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gKFNlZSBhY2NvbXBhbnlpbmcKKy8vIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorCisjaWZuZGVmIEJPT1NUX1RZUEVPRl9NT0RJRklFUlNfSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX1RZUEVPRl9NT0RJRklFUlNfSFBQX0lOQ0xVREVECisKKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlb2YvZW5jb2RlX2RlY29kZS5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL2ZhY2lsaXRpZXMvaWRlbnRpdHkuaHBwPgorCisjaW5jbHVkZSBCT09TVF9UWVBFT0ZfSU5DUkVNRU5UX1JFR0lTVFJBVElPTl9HUk9VUCgpCisKKy8vIG1vZGlmaWVycworCisjZGVmaW5lIEJPT1NUX1RZUEVPRl9tb2RpZmllcl9zdXBwb3J0KElELCBGdW4pXAorICAgIHRlbXBsYXRlPGNsYXNzIFYsIGNsYXNzIFQ+IHN0cnVjdCBlbmNvZGVfdHlwZV9pbXBsPFYsIEZ1bihUKT5cCisgICAge1wKKyAgICAgICAgdHlwZWRlZlwKKyAgICAgICAgICAgIHR5cGVuYW1lIG5kbmJvb3N0Ojp0eXBlX29mOjplbmNvZGVfdHlwZTxcCisgICAgICAgICAgICB0eXBlbmFtZSBuZG5ib29zdDo6dHlwZV9vZjo6cHVzaF9iYWNrPFwKKyAgICAgICAgICAgIFZcCisgICAgICAgICAgICAsIG5kbmJvb3N0OjptcGw6OnNpemVfdDxJRD4gPjo6dHlwZVwKKyAgICAgICAgICAgICwgVD46OnR5cGVcCisgICAgICAgICAgICB0eXBlO1wKKyAgICB9O1wKKyAgICB0ZW1wbGF0ZTxjbGFzcyBJdGVyPiBzdHJ1Y3QgZGVjb2RlX3R5cGVfaW1wbDxuZG5ib29zdDo6bXBsOjpzaXplX3Q8SUQ+LCBJdGVyPlwKKyAgICB7XAorICAgICAgICB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjpkZWNvZGVfdHlwZTxJdGVyPiBkMTtcCisgICAgICAgIHR5cGVkZWYgRnVuKHR5cGVuYW1lIGQxOjp0eXBlKSB0eXBlO1wKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBkMTo6aXRlciBpdGVyO1wKKyAgICB9CisKKworI2RlZmluZSBCT09TVF9UWVBFT0ZfY29uc3RfZnVuKFQpIGNvbnN0IFQKKyNkZWZpbmUgQk9PU1RfVFlQRU9GX3ZvbGF0aWxlX2Z1bihUKSB2b2xhdGlsZSBUCisjZGVmaW5lIEJPT1NUX1RZUEVPRl92b2xhdGlsZV9jb25zdF9mdW4oVCkgdm9sYXRpbGUgY29uc3QgVAorI2RlZmluZSBCT09TVF9UWVBFT0ZfcG9pbnRlcl9mdW4oVCkgVCoKKyNkZWZpbmUgQk9PU1RfVFlQRU9GX3JlZmVyZW5jZV9mdW4oVCkgVCYKKworI2lmIGRlZmluZWQoX19CT1JMQU5EQ19fKSAmJiAoX19CT1JMQU5EQ19fIDwgMHg2MDApCisvL0JvcmxhbmQgaW5jb3JyZWN0bHkgaGFuZGxlcyBUIGNvbnN0LCBUIGNvbnN0IHZvbGF0aWxlIGFuZCBUIHZvbGF0aWxlLgorLy9JdCBkcm9wcyB0aGUgZGVjb3JhdGlvbiBubyBtYXR0ZXIgd2hhdCwgc28gd2UgbmVlZCB0byB0cnkgdG8gaGFuZGxlIFQqIGNvbnN0IGV0Yy4gd2l0aG91dCBsb29zaW5nIHRoZSB0b3AgbW9kaWZpZXIuCisjZGVmaW5lIEJPT1NUX1RZUEVPRl9jb25zdF9wb2ludGVyX2Z1bihUKSBUIGNvbnN0ICoKKyNkZWZpbmUgQk9PU1RfVFlQRU9GX2NvbnN0X3JlZmVyZW5jZV9mdW4oVCkgVCBjb25zdCAmCisjZGVmaW5lIEJPT1NUX1RZUEVPRl92b2xhdGlsZV9wb2ludGVyX2Z1bihUKSBUIHZvbGF0aWxlKgorI2RlZmluZSBCT09TVF9UWVBFT0Zfdm9sYXRpbGVfcmVmZXJlbmNlX2Z1bihUKSBUIHZvbGF0aWxlJgorI2RlZmluZSBCT09TVF9UWVBFT0Zfdm9sYXRpbGVfY29uc3RfcG9pbnRlcl9mdW4oVCkgVCB2b2xhdGlsZSBjb25zdCAqCisjZGVmaW5lIEJPT1NUX1RZUEVPRl92b2xhdGlsZV9jb25zdF9yZWZlcmVuY2VfZnVuKFQpIFQgdm9sYXRpbGUgY29uc3QgJgorI2VuZGlmCisKK0JPT1NUX1RZUEVPRl9CRUdJTl9FTkNPREVfTlMKKworQk9PU1RfVFlQRU9GX21vZGlmaWVyX3N1cHBvcnQoQk9PU1RfVFlQRU9GX1VOSVFVRV9JRCgpLCBCT09TVF9UWVBFT0ZfY29uc3RfZnVuKTsKK0JPT1NUX1RZUEVPRl9tb2RpZmllcl9zdXBwb3J0KEJPT1NUX1RZUEVPRl9VTklRVUVfSUQoKSwgQk9PU1RfVFlQRU9GX3ZvbGF0aWxlX2Z1bik7CitCT09TVF9UWVBFT0ZfbW9kaWZpZXJfc3VwcG9ydChCT09TVF9UWVBFT0ZfVU5JUVVFX0lEKCksIEJPT1NUX1RZUEVPRl92b2xhdGlsZV9jb25zdF9mdW4pOworQk9PU1RfVFlQRU9GX21vZGlmaWVyX3N1cHBvcnQoQk9PU1RfVFlQRU9GX1VOSVFVRV9JRCgpLCBCT09TVF9UWVBFT0ZfcG9pbnRlcl9mdW4pOworQk9PU1RfVFlQRU9GX21vZGlmaWVyX3N1cHBvcnQoQk9PU1RfVFlQRU9GX1VOSVFVRV9JRCgpLCBCT09TVF9UWVBFT0ZfcmVmZXJlbmNlX2Z1bik7CisKKyNpZiBkZWZpbmVkKF9fQk9STEFORENfXykgJiYgKF9fQk9STEFORENfXyA8IDB4NjAwKQorQk9PU1RfVFlQRU9GX21vZGlmaWVyX3N1cHBvcnQoQk9PU1RfVFlQRU9GX1VOSVFVRV9JRCgpLCBCT09TVF9UWVBFT0ZfY29uc3RfcG9pbnRlcl9mdW4pOworQk9PU1RfVFlQRU9GX21vZGlmaWVyX3N1cHBvcnQoQk9PU1RfVFlQRU9GX1VOSVFVRV9JRCgpLCBCT09TVF9UWVBFT0ZfY29uc3RfcmVmZXJlbmNlX2Z1bik7CitCT09TVF9UWVBFT0ZfbW9kaWZpZXJfc3VwcG9ydChCT09TVF9UWVBFT0ZfVU5JUVVFX0lEKCksIEJPT1NUX1RZUEVPRl92b2xhdGlsZV9wb2ludGVyX2Z1bik7CitCT09TVF9UWVBFT0ZfbW9kaWZpZXJfc3VwcG9ydChCT09TVF9UWVBFT0ZfVU5JUVVFX0lEKCksIEJPT1NUX1RZUEVPRl92b2xhdGlsZV9yZWZlcmVuY2VfZnVuKTsKK0JPT1NUX1RZUEVPRl9tb2RpZmllcl9zdXBwb3J0KEJPT1NUX1RZUEVPRl9VTklRVUVfSUQoKSwgQk9PU1RfVFlQRU9GX3ZvbGF0aWxlX2NvbnN0X3BvaW50ZXJfZnVuKTsKK0JPT1NUX1RZUEVPRl9tb2RpZmllcl9zdXBwb3J0KEJPT1NUX1RZUEVPRl9VTklRVUVfSUQoKSwgQk9PU1RfVFlQRU9GX3ZvbGF0aWxlX2NvbnN0X3JlZmVyZW5jZV9mdW4pOworI2VuZGlmCisKK0JPT1NUX1RZUEVPRl9FTkRfRU5DT0RFX05TCisKKyN1bmRlZiBCT09TVF9UWVBFT0ZfbW9kaWZpZXJfc3VwcG9ydAorI3VuZGVmIEJPT1NUX1RZUEVPRl9jb25zdF9mdW4KKyN1bmRlZiBCT09TVF9UWVBFT0Zfdm9sYXRpbGVfZnVuCisjdW5kZWYgQk9PU1RfVFlQRU9GX3ZvbGF0aWxlX2NvbnN0X2Z1bgorI3VuZGVmIEJPT1NUX1RZUEVPRl9wb2ludGVyX2Z1bgorI3VuZGVmIEJPT1NUX1RZUEVPRl9yZWZlcmVuY2VfZnVuCisKKyNpZiBkZWZpbmVkKF9fQk9STEFORENfXykgJiYgKF9fQk9STEFORENfXyA8IDB4NjAwKQorI3VuZGVmIEJPT1NUX1RZUEVPRl9jb25zdF9wb2ludGVyX2Z1bgorI3VuZGVmIEJPT1NUX1RZUEVPRl9jb25zdF9yZWZlcmVuY2VfZnVuCisjdW5kZWYgQk9PU1RfVFlQRU9GX3ZvbGF0aWxlX3BvaW50ZXJfZnVuCisjdW5kZWYgQk9PU1RfVFlQRU9GX3ZvbGF0aWxlX3JlZmVyZW5jZV9mdW4KKyN1bmRlZiBCT09TVF9UWVBFT0Zfdm9sYXRpbGVfY29uc3RfcG9pbnRlcl9mdW4KKyN1bmRlZiBCT09TVF9UWVBFT0Zfdm9sYXRpbGVfY29uc3RfcmVmZXJlbmNlX2Z1bgorI2VuZGlmCisKKy8vIGFycmF5cworCisjZGVmaW5lIEJPT1NUX1RZUEVPRl9hcnJheV9zdXBwb3J0KElELCBRdWFsaWZpZXIpXAorICAgIHRlbXBsYXRlPGNsYXNzIFYsIGNsYXNzIFQsIGludCBOPlwKKyAgICBzdHJ1Y3QgZW5jb2RlX3R5cGVfaW1wbDxWLCBRdWFsaWZpZXIoKSBUW05dPlwKKyAgICB7XAorICAgICAgICB0eXBlZGVmXAorICAgICAgICAgICAgdHlwZW5hbWUgbmRuYm9vc3Q6OnR5cGVfb2Y6OmVuY29kZV90eXBlPFwKKyAgICAgICAgICAgIHR5cGVuYW1lIG5kbmJvb3N0Ojp0eXBlX29mOjpwdXNoX2JhY2s8XAorICAgICAgICAgICAgdHlwZW5hbWUgbmRuYm9vc3Q6OnR5cGVfb2Y6OnB1c2hfYmFjazxcCisgICAgICAgICAgICBWXAorICAgICAgICAgICAgLCBuZG5ib29zdDo6bXBsOjpzaXplX3Q8SUQ+ID46OnR5cGVcCisgICAgICAgICAgICAsIG5kbmJvb3N0OjptcGw6OnNpemVfdDxOPiA+Ojp0eXBlXAorICAgICAgICAgICAgLCBUPjo6dHlwZVwKKyAgICAgICAgdHlwZTtcCisgICAgfTtcCisgICAgdGVtcGxhdGU8Y2xhc3MgSXRlcj5cCisgICAgc3RydWN0IGRlY29kZV90eXBlX2ltcGw8bmRuYm9vc3Q6Om1wbDo6c2l6ZV90PElEPiwgSXRlcj5cCisgICAge1wKKyAgICAgICAgZW51bXtuID0gSXRlcjo6dHlwZTo6dmFsdWV9O1wKKyAgICAgICAgdHlwZWRlZiBuZG5ib29zdDo6dHlwZV9vZjo6ZGVjb2RlX3R5cGU8dHlwZW5hbWUgSXRlcjo6bmV4dD4gZDtcCisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgZDo6dHlwZSBRdWFsaWZpZXIoKSB0eXBlW25dO1wKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBkOjppdGVyIGl0ZXI7XAorICAgIH0KKworQk9PU1RfVFlQRU9GX0JFR0lOX0VOQ09ERV9OUworCitCT09TVF9UWVBFT0ZfYXJyYXlfc3VwcG9ydChCT09TVF9UWVBFT0ZfVU5JUVVFX0lEKCksIEJPT1NUX1BQX0VNUFRZKTsKK0JPT1NUX1RZUEVPRl9hcnJheV9zdXBwb3J0KEJPT1NUX1RZUEVPRl9VTklRVUVfSUQoKSwgQk9PU1RfUFBfSURFTlRJVFkoY29uc3QpKTsKK0JPT1NUX1RZUEVPRl9hcnJheV9zdXBwb3J0KEJPT1NUX1RZUEVPRl9VTklRVUVfSUQoKSwgQk9PU1RfUFBfSURFTlRJVFkodm9sYXRpbGUpKTsKK0JPT1NUX1RZUEVPRl9hcnJheV9zdXBwb3J0KEJPT1NUX1RZUEVPRl9VTklRVUVfSUQoKSwgQk9PU1RfUFBfSURFTlRJVFkodm9sYXRpbGUgY29uc3QpKTsKK0JPT1NUX1RZUEVPRl9FTkRfRU5DT0RFX05TCisKKyN1bmRlZiBCT09TVF9UWVBFT0ZfYXJyYXlfc3VwcG9ydAorCisjZW5kaWYvL0JPT1NUX1RZUEVPRl9NT0RJRklFUlNfSFBQX0lOQ0xVREVECmRpZmYgLS1naXQgYS9uZG5ib29zdC90eXBlb2YvbXN2Yy90eXBlb2ZfaW1wbC5ocHAgYi9uZG5ib29zdC90eXBlb2YvbXN2Yy90eXBlb2ZfaW1wbC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmYyZGQ2MQotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L3R5cGVvZi9tc3ZjL3R5cGVvZl9pbXBsLmhwcApAQCAtMCwwICsxLDI4MyBAQAorCisvLyBDb3B5cmlnaHQgKEMpIDIwMDUgSWdvciBDaGVzbm9rb3YsIG1haWx0bzppY2hlc25va292QGdtYWlsLmNvbSAoVkMgNi41LFZDIDcuMSArIGNvdW50ZXIgY29kZSkKKy8vIENvcHlyaWdodCAoQykgMjAwNS0yMDA3IFBlZGVyIEhvbHQgKFZDIDcuMCArIGZyYW1ld29yaykKKy8vIENvcHlyaWdodCAoQykgMjAwNiBTdGV2ZW4gV2F0YW5hYmUgKFZDIDguMCkKKworLy8gVXNlLCBtb2RpZmljYXRpb24gYW5kIGRpc3RyaWJ1dGlvbiBpcyBzdWJqZWN0IHRvIHRoZSBCb29zdCBTb2Z0d2FyZQorLy8gTGljZW5zZSwgVmVyc2lvbiAxLjAuIChodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisKKyNpZm5kZWYgQk9PU1RfVFlQRU9GX01TVkNfVFlQRU9GX0lNUExfSFBQX0lOQ0xVREVECisjIGRlZmluZSBCT09TVF9UWVBFT0ZfTVNWQ19UWVBFT0ZfSU1QTF9IUFBfSU5DTFVERUQKKworIyBpbmNsdWRlIDxuZG5ib29zdC9jb25maWcuaHBwPgorIyBpbmNsdWRlIDxuZG5ib29zdC9kZXRhaWwvd29ya2Fyb3VuZC5ocHA+CisjIGluY2x1ZGUgPG5kbmJvb3N0L21wbC9pbnQuaHBwPgorIyBpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9pc19mdW5jdGlvbi5ocHA+CisjIGluY2x1ZGUgPG5kbmJvb3N0L3V0aWxpdHkvZW5hYmxlX2lmLmhwcD4KKworIyBpZiBCT09TVF9XT1JLQVJPVU5EKEJPT1NUX01TVkMsPj0xMzEwKQorIyAgaW5jbHVkZSA8dHlwZWluZm8+CisjIGVuZGlmCisKK25hbWVzcGFjZSBuZG5ib29zdAoreworICAgIG5hbWVzcGFjZSB0eXBlX29mCisgICAgeworCisgICAgICAgIC8vQ29tcGlsZSB0aW1lIGNvbnN0YW50IGNvZGUKKyMgaWYgQk9PU1RfV09SS0FST1VORChCT09TVF9NU1ZDLD49MTMwMCkgJiYgZGVmaW5lZChfTVNDX0VYVEVOU0lPTlMpCisgICAgICAgIHRlbXBsYXRlPGludCBOPiBzdHJ1Y3QgdGhlX2NvdW50ZXI7CisKKyAgICAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVCxpbnQgTiA9IDUvKmZvciBzaW1pbGFyaXR5Ki8+CisgICAgICAgIHN0cnVjdCBlbmNvZGVfY291bnRlcgorICAgICAgICB7CisgICAgICAgICAgICBfX2lmX2V4aXN0cyh0aGVfY291bnRlcjxOICsgMjU2PikKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQodW5zaWduZWQsY291bnQ9KGVuY29kZV9jb3VudGVyPFQsTiArIDI1Nz46OmNvdW50KSk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBfX2lmX25vdF9leGlzdHModGhlX2NvdW50ZXI8TiArIDI1Nj4pCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgX19pZl9leGlzdHModGhlX2NvdW50ZXI8TiArIDY0PikKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVCh1bnNpZ25lZCxjb3VudD0oZW5jb2RlX2NvdW50ZXI8VCxOICsgNjU+Ojpjb3VudCkpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBfX2lmX25vdF9leGlzdHModGhlX2NvdW50ZXI8TiArIDY0PikKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgIF9faWZfZXhpc3RzKHRoZV9jb3VudGVyPE4gKyAxNj4pCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVCh1bnNpZ25lZCxjb3VudD0oZW5jb2RlX2NvdW50ZXI8VCxOICsgMTc+Ojpjb3VudCkpOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIF9faWZfbm90X2V4aXN0cyh0aGVfY291bnRlcjxOICsgMTY+KQorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICBfX2lmX2V4aXN0cyh0aGVfY291bnRlcjxOICsgND4pCisgICAgICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKHVuc2lnbmVkLGNvdW50PShlbmNvZGVfY291bnRlcjxULE4gKyA1Pjo6Y291bnQpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgICAgIF9faWZfbm90X2V4aXN0cyh0aGVfY291bnRlcjxOICsgND4pCisgICAgICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19pZl9leGlzdHModGhlX2NvdW50ZXI8Tj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQodW5zaWduZWQsY291bnQ9KGVuY29kZV9jb3VudGVyPFQsTiArIDE+Ojpjb3VudCkpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX2lmX25vdF9leGlzdHModGhlX2NvdW50ZXI8Tj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQodW5zaWduZWQsY291bnQ9Tik7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGVkZWYgdGhlX2NvdW50ZXI8Tj4gdHlwZTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgIH07CisKKyMgZGVmaW5lIEJPT1NUX1RZUEVPRl9JTkRFWChUKSAoZW5jb2RlX2NvdW50ZXI8VD46OmNvdW50KQorIyBkZWZpbmUgQk9PU1RfVFlQRU9GX05FWFRfSU5ERVgobmV4dCkKKyMgZWxzZQorICAgICAgICB0ZW1wbGF0ZTxpbnQgTj4gc3RydWN0IGVuY29kZV9jb3VudGVyIDogZW5jb2RlX2NvdW50ZXI8TiAtIDE+IHt9OworICAgICAgICB0ZW1wbGF0ZTw+IHN0cnVjdCBlbmNvZGVfY291bnRlcjwwPiB7fTsKKworICAgICAgICAvL05lZWQgdG8gZGVmYXVsdCB0byBhIGxhcmdlciB2YWx1ZSB0aGFuIDQsIGFzIGR1ZSB0byBNU1ZDJ3MgRVRJIGVycm9ycy4gKHNpemVvZihpbnQpPT00KQorICAgICAgICBjaGFyICgqZW5jb2RlX2luZGV4KC4uLikpWzVdOworCisjIGRlZmluZSBCT09TVF9UWVBFT0ZfSU5ERVgoVCkgKHNpemVvZigqbmRuYm9vc3Q6OnR5cGVfb2Y6OmVuY29kZV9pbmRleCgobmRuYm9vc3Q6OnR5cGVfb2Y6OmVuY29kZV9jb3VudGVyPDEwMDU+KikwKSkpCisjIGRlZmluZSBCT09TVF9UWVBFT0ZfTkVYVF9JTkRFWChuZXh0KSBmcmllbmQgY2hhciAoKmVuY29kZV9pbmRleChlbmNvZGVfY291bnRlcjxuZXh0PiopKVtuZXh0XTsKKyMgZW5kaWYKKworICAgICAgICAvL1R5cGVvZiBjb2RlCisKKyMgaWYgQk9PU1RfV09SS0FST1VORChCT09TVF9NU1ZDLD09MTMwMCkKKyAgICAgICAgdGVtcGxhdGU8dHlwZW5hbWUgSUQ+CisgICAgICAgIHN0cnVjdCBtc3ZjX2V4dHJhY3RfdHlwZQorICAgICAgICB7CisgICAgICAgICAgICB0ZW1wbGF0ZTxib29sPgorICAgICAgICAgICAgc3RydWN0IGlkMnR5cGVfaW1wbDsKKworICAgICAgICAgICAgdHlwZWRlZiBpZDJ0eXBlX2ltcGw8dHJ1ZT4gaWQydHlwZTsKKyAgICAgICAgfTsKKworICAgICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFtZSBJRD4KKyAgICAgICAgc3RydWN0IG1zdmNfcmVnaXN0ZXJfdHlwZSA6IG1zdmNfZXh0cmFjdF90eXBlPElEPgorICAgICAgICB7CisgICAgICAgICAgICB0ZW1wbGF0ZTw+CisgICAgICAgICAgICBzdHJ1Y3QgaWQydHlwZV9pbXBsPHRydWU+ICAvL1ZDNy4wIHNwZWNpZmljIGJ1Z2ZlYXR1cmUKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICB0eXBlZGVmIFQgdHlwZTsKKyAgICAgICAgICAgIH07CisgICAgICAgIH07CisjZWxpZiBCT09TVF9XT1JLQVJPVU5EKEJPT1NUX01TVkMsPj0xNDAwKQorICAgICAgICBzdHJ1Y3QgbXN2Y19leHRyYWN0X3R5cGVfZGVmYXVsdF9wYXJhbSB7fTsKKworICAgICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBJRCwgdHlwZW5hbWUgVCA9IG1zdmNfZXh0cmFjdF90eXBlX2RlZmF1bHRfcGFyYW0+CisgICAgICAgIHN0cnVjdCBtc3ZjX2V4dHJhY3RfdHlwZTsKKworICAgICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBJRD4KKyAgICAgICAgc3RydWN0IG1zdmNfZXh0cmFjdF90eXBlPElELCBtc3ZjX2V4dHJhY3RfdHlwZV9kZWZhdWx0X3BhcmFtPiB7CisgICAgICAgICAgICB0ZW1wbGF0ZTxib29sPgorICAgICAgICAgICAgc3RydWN0IGlkMnR5cGVfaW1wbDsKKworICAgICAgICAgICAgdHlwZWRlZiBpZDJ0eXBlX2ltcGw8dHJ1ZT4gaWQydHlwZTsKKyAgICAgICAgfTsKKworICAgICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBJRCwgdHlwZW5hbWUgVD4KKyAgICAgICAgc3RydWN0IG1zdmNfZXh0cmFjdF90eXBlIDogbXN2Y19leHRyYWN0X3R5cGU8SUQsbXN2Y19leHRyYWN0X3R5cGVfZGVmYXVsdF9wYXJhbT4KKyAgICAgICAgeworICAgICAgICAgICAgdGVtcGxhdGU8PgorICAgICAgICAgICAgc3RydWN0IGlkMnR5cGVfaW1wbDx0cnVlPiAgLy9WQzguMCBzcGVjaWZpYyBidWdmZWF0dXJlCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgdHlwZWRlZiBUIHR5cGU7CisgICAgICAgICAgICB9OworICAgICAgICAgICAgdGVtcGxhdGU8Ym9vbD4KKyAgICAgICAgICAgIHN0cnVjdCBpZDJ0eXBlX2ltcGw7CisKKyAgICAgICAgICAgIHR5cGVkZWYgaWQydHlwZV9pbXBsPHRydWU+IGlkMnR5cGU7CisgICAgICAgIH07CisKKyAgICAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUgSUQ+CisgICAgICAgIHN0cnVjdCBtc3ZjX3JlZ2lzdGVyX3R5cGUgOiBtc3ZjX2V4dHJhY3RfdHlwZTxJRCwgVD4KKyAgICAgICAgeworICAgICAgICB9OworIyBlbHNlCisgICAgICAgIHRlbXBsYXRlPHR5cGVuYW1lIElEPgorICAgICAgICBzdHJ1Y3QgbXN2Y19leHRyYWN0X3R5cGUKKyAgICAgICAgeworICAgICAgICAgICAgc3RydWN0IGlkMnR5cGU7CisgICAgICAgIH07CisKKyAgICAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUgSUQ+CisgICAgICAgIHN0cnVjdCBtc3ZjX3JlZ2lzdGVyX3R5cGUgOiBtc3ZjX2V4dHJhY3RfdHlwZTxJRD4KKyAgICAgICAgeworICAgICAgICAgICAgdHlwZWRlZiBtc3ZjX2V4dHJhY3RfdHlwZTxJRD4gYmFzZV90eXBlOworICAgICAgICAgICAgc3RydWN0IGJhc2VfdHlwZTo6aWQydHlwZSAvLyBUaGlzIHVzZXMgbmljZSBWQzYuNSBhbmQgVkM3LjEgYnVnZmVhdHVyZQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHR5cGVkZWYgVCB0eXBlOworICAgICAgICAgICAgfTsKKyAgICAgICAgfTsKKyMgZW5kaWYKKy8vIEVBTjogcHJlcHJvY2VzcyB0aGlzIGJsb2NrIG91dCBvbiBhZHZpY2Ugb2YgUGVkZXIgSG9sdAorLy8gdG8gZWxpbWluYXRlIGVycm9ycyBpbiB0eXBlX3RyYWl0cy9jb21tb25fdHlwZS5ocHAKKyMgaWYgMCAvL0JPT1NUX1dPUktBUk9VTkQoQk9PU1RfTVNWQyw9PTEzMTApCisgICAgICAgIHRlbXBsYXRlPGNvbnN0IHN0ZDo6dHlwZV9pbmZvJiByZWZfdHlwZV9pbmZvPgorICAgICAgICBzdHJ1Y3QgbXN2Y190eXBlaWRfd3JhcHBlciB7CisgICAgICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG1zdmNfZXh0cmFjdF90eXBlPG1zdmNfdHlwZWlkX3dyYXBwZXI+OjppZDJ0eXBlIGlkMnR5cGU7CisgICAgICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGlkMnR5cGU6OnR5cGUgd3JhcHBlZF90eXBlOworICAgICAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSB3cmFwcGVkX3R5cGU6OnR5cGUgdHlwZTsKKyAgICAgICAgfTsKKyAgICAgICAgLy9UaGlzIGNsYXNzIGlzIHVzZWQgZm9yIHJlZ2lzdGVyaW5nIHRoZSB0eXBlIFQuIGVuY29kZV90eXBlPFQ+IGlzIG1hcHBlZCBhZ2FpbnN0IHR5cGVpZChlbmNvZGVfdHlwZTxUPikuCisgICAgICAgIC8vbXN2Y190eXBlaWRfd3JhcHBlcjx0eXBlaWQoZW5jb2RlX3R5cGU8VD4pPiB3aWxsIG5vdyBoYXZlIGEgdHlwZSB0eXBlZGVmIHRoYXQgZXF1YWxzIGVuY29kZV90eXBlPFQ+LgorICAgICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgorICAgICAgICBzdHJ1Y3QgZW5jb2RlX3R5cGUKKyAgICAgICAgeworICAgICAgICAgICAgdHlwZWRlZiBlbmNvZGVfdHlwZTxUPiBpbnB1dF90eXBlOworICAgICAgICAgICAgLy9JbnZva2UgcmVnaXN0cmF0aW9uIG9mIGVuY29kZV90eXBlPFQ+LiB0eXBlaWQoZW5jb2RlX3R5cGU8VD4pIGlzIG5vdyBtYXBwZWQgdG8gZW5jb2RlX3R5cGU8VD4uIERvIG5vdCB1c2UgcmVnaXN0ZXJlZF90eXBlIGZvciBhbnl0aGluZy4KKyAgICAgICAgICAgIC8vVGhlIHJlYXNvbiBmb3IgcmVnaXN0ZXJpbmcgZW5jb2RlX3R5cGU8VD4gcmF0aGVyIHRoYW4gVCwgaXMgdGhhdCBWQyBoYW5kbGVzIHR5cGVpZChmdW5jdGlvbiByZWZlcmVuY2UpIHBvb3JseS4gQnkgYWRkaW5nIGFub3RoZXIKKyAgICAgICAgICAgIC8vbGV2ZWwgb2YgaW5kaXJlY3Rpb24sIHdlIHNvbHZlIHRoaXMgcHJvYmxlbS4KKyAgICAgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbXN2Y19yZWdpc3Rlcl90eXBlPGlucHV0X3R5cGUsbXN2Y190eXBlaWRfd3JhcHBlcjx0eXBlaWQoaW5wdXRfdHlwZSk+ID46OmlkMnR5cGUgcmVnaXN0ZXJlZF90eXBlOworICAgICAgICAgICAgdHlwZWRlZiBUIHR5cGU7CisgICAgICAgIH07CisKKyAgICAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gdHlwZW5hbWUgZGlzYWJsZV9pZjwKKyAgICAgICAgICAgIHR5cGVuYW1lIGlzX2Z1bmN0aW9uPFQ+Ojp0eXBlLAorICAgICAgICAgICAgdHlwZW5hbWUgZW5jb2RlX3R5cGU8VD46OmlucHV0X3R5cGU+Ojp0eXBlIGVuY29kZV9zdGFydChUIGNvbnN0Jik7CisKKyAgICAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gdHlwZW5hbWUgZW5hYmxlX2lmPAorICAgICAgICAgICAgdHlwZW5hbWUgaXNfZnVuY3Rpb248VD46OnR5cGUsCisgICAgICAgICAgICB0eXBlbmFtZSBlbmNvZGVfdHlwZTxUPjo6aW5wdXRfdHlwZT46OnR5cGUgZW5jb2RlX3N0YXJ0KFQmKTsKKworICAgICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBPcmdhbml6ZXIsIHR5cGVuYW1lIFQ+CisgICAgICAgIG1zdmNfcmVnaXN0ZXJfdHlwZTxULE9yZ2FuaXplcj4gdHlwZW9mX3JlZ2lzdGVyX3R5cGUoY29uc3QgVCYpOworCisKKyMgZGVmaW5lIEJPT1NUX1RZUEVPRihleHByKSBcCisgICAgbmRuYm9vc3Q6OnR5cGVfb2Y6Om1zdmNfdHlwZWlkX3dyYXBwZXI8dHlwZWlkKG5kbmJvb3N0Ojp0eXBlX29mOjplbmNvZGVfc3RhcnQoZXhwcikpPjo6dHlwZQorCisjIGRlZmluZSBCT09TVF9UWVBFT0ZfVFBMKGV4cHIpIHR5cGVuYW1lIEJPT1NUX1RZUEVPRihleHByKQorCisjIGRlZmluZSBCT09TVF9UWVBFT0ZfTkVTVEVEX1RZUEVERUZfVFBMKG5hbWUsZXhwcikgXAorc3RydWN0IG5hbWUge1wKKyAgICBlbnVtIHtfdHlwZW9mX3JlZ2lzdGVyX3ZhbHVlPXNpemVvZih0eXBlaWQobmRuYm9vc3Q6OnR5cGVfb2Y6OnR5cGVvZl9yZWdpc3Rlcl90eXBlPG5hbWU+KGV4cHIpKSl9O1wKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG5kbmJvb3N0Ojp0eXBlX29mOjptc3ZjX2V4dHJhY3RfdHlwZTxuYW1lPjo6aWQydHlwZSBpZDJ0eXBlO1wKKyAgICB0eXBlZGVmIHR5cGVuYW1lIGlkMnR5cGU6OnR5cGUgdHlwZTtcCit9OworCisjIGRlZmluZSBCT09TVF9UWVBFT0ZfTkVTVEVEX1RZUEVERUYobmFtZSxleHByKSBcCitzdHJ1Y3QgbmFtZSB7XAorICAgIGVudW0ge190eXBlb2ZfcmVnaXN0ZXJfdmFsdWU9c2l6ZW9mKHR5cGVpZChuZG5ib29zdDo6dHlwZV9vZjo6dHlwZW9mX3JlZ2lzdGVyX3R5cGU8bmFtZT4oZXhwcikpKX07XAorICAgIHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6Om1zdmNfZXh0cmFjdF90eXBlPG5hbWU+OjppZDJ0eXBlIGlkMnR5cGU7XAorICAgIHR5cGVkZWYgaWQydHlwZTo6dHlwZSB0eXBlO1wKK307CisKKyMgZWxzZQorICAgICAgICB0ZW1wbGF0ZTxpbnQgSUQ+CisgICAgICAgIHN0cnVjdCBtc3ZjX3R5cGVpZF93cmFwcGVyIHsKKyAgICAgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbXN2Y19leHRyYWN0X3R5cGU8bXBsOjppbnRfPElEPiA+OjppZDJ0eXBlIGlkMnR5cGU7CisgICAgICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGlkMnR5cGU6OnR5cGUgdHlwZTsKKyAgICAgICAgfTsKKyAgICAgICAgLy9Xb3JrYXJvdW5kIGZvciBFVEktYnVnIGZvciBWQzYgYW5kIFZDNworICAgICAgICB0ZW1wbGF0ZTw+CisgICAgICAgIHN0cnVjdCBtc3ZjX3R5cGVpZF93cmFwcGVyPDE+IHsKKyAgICAgICAgICAgIHR5cGVkZWYgbXN2Y190eXBlaWRfd3JhcHBlcjwxPiB0eXBlOworICAgICAgICB9OworICAgICAgICAvL1dvcmthcm91bmQgZm9yIEVUSS1idWcgZm9yIFZDNy4xCisgICAgICAgIHRlbXBsYXRlPD4KKyAgICAgICAgc3RydWN0IG1zdmNfdHlwZWlkX3dyYXBwZXI8ND4geworICAgICAgICAgICAgdHlwZWRlZiBtc3ZjX3R5cGVpZF93cmFwcGVyPDQ+IHR5cGU7CisgICAgICAgIH07CisKKyAgICAgICAgLy9UaWUgaXQgYWxsIHRvZ2V0aGVyCisgICAgICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+CisgICAgICAgIHN0cnVjdCBlbmNvZGVfdHlwZQorICAgICAgICB7CisgICAgICAgICAgICAvL0dldCB0aGUgbmV4dCBhdmFpbGFibGUgY29tcGlsZSB0aW1lIGNvbnN0YW50cyBpbmRleAorICAgICAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKHVuc2lnbmVkLHZhbHVlPUJPT1NUX1RZUEVPRl9JTkRFWChUKSk7CisgICAgICAgICAgICAvL0luc3RhbnRpYXRlIHRoZSB0ZW1wbGF0ZQorICAgICAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBtc3ZjX3JlZ2lzdGVyX3R5cGU8VCxtcGw6OmludF88dmFsdWU+ID46OmlkMnR5cGUgdHlwZTsKKyAgICAgICAgICAgIC8vU2V0IHRoZSBuZXh0IGNvbXBpbGUgdGltZSBjb25zdGFudHMgaW5kZXgKKyAgICAgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVCh1bnNpZ25lZCxuZXh0PXZhbHVlKzEpOworICAgICAgICAgICAgLy9JbmNyZW1lbnQgdGhlIGNvbXBpbGUgdGltZSBjb25zdGFudCAob25seSBuZWVkZWQgd2hlbiBleHRlbnNpb25zIGFyZSBub3QgYWN0aXZlCisgICAgICAgICAgICBCT09TVF9UWVBFT0ZfTkVYVF9JTkRFWChuZXh0KTsKKyAgICAgICAgfTsKKworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBUPgorICAgICAgICBzdHJ1Y3Qgc2l6ZXIKKyAgICAgICAgeworICAgICAgICAgICAgdHlwZWRlZiBjaGFyKCp0eXBlKVtlbmNvZGVfdHlwZTxUPjo6dmFsdWVdOworICAgICAgICB9OworIyBpZiBCT09TVF9XT1JLQVJPVU5EKEJPT1NUX01TVkMsPj0xMzEwKQorICAgICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiB0eXBlbmFtZSBkaXNhYmxlX2lmPAorICAgICAgICAgICAgdHlwZW5hbWUgaXNfZnVuY3Rpb248VD46OnR5cGUsCisgICAgICAgICAgICB0eXBlbmFtZSBzaXplcjxUPjo6dHlwZT46OnR5cGUgZW5jb2RlX3N0YXJ0KFQgY29uc3QmKTsKKworICAgICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiB0eXBlbmFtZSBlbmFibGVfaWY8CisgICAgICAgICAgICB0eXBlbmFtZSBpc19mdW5jdGlvbjxUPjo6dHlwZSwKKyAgICAgICAgICAgIHR5cGVuYW1lIHNpemVyPFQ+Ojp0eXBlPjo6dHlwZSBlbmNvZGVfc3RhcnQoVCYpOworIyBlbHNlCisgICAgICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+CisgICAgICAgICAgICB0eXBlbmFtZSBzaXplcjxUPjo6dHlwZSBlbmNvZGVfc3RhcnQoVCBjb25zdCYpOworIyBlbmRpZgorICAgICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBPcmdhbml6ZXIsIHR5cGVuYW1lIFQ+CisgICAgICAgIG1zdmNfcmVnaXN0ZXJfdHlwZTxULE9yZ2FuaXplcj4gdHlwZW9mX3JlZ2lzdGVyX3R5cGUoY29uc3QgVCYsT3JnYW5pemVyKiA9MCk7CisKKyMgZGVmaW5lIEJPT1NUX1RZUEVPRihleHByKSBcCisgICAgbmRuYm9vc3Q6OnR5cGVfb2Y6Om1zdmNfdHlwZWlkX3dyYXBwZXI8c2l6ZW9mKCpuZG5ib29zdDo6dHlwZV9vZjo6ZW5jb2RlX3N0YXJ0KGV4cHIpKT46OnR5cGUKKworIyBkZWZpbmUgQk9PU1RfVFlQRU9GX1RQTChleHByKSB0eXBlbmFtZSBCT09TVF9UWVBFT0YoZXhwcikKKworIyBkZWZpbmUgQk9PU1RfVFlQRU9GX05FU1RFRF9UWVBFREVGX1RQTChuYW1lLGV4cHIpIFwKKyAgICBzdHJ1Y3QgbmFtZSB7XAorICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LF90eXBlb2ZfcmVnaXN0ZXJfdmFsdWU9c2l6ZW9mKG5kbmJvb3N0Ojp0eXBlX29mOjp0eXBlb2ZfcmVnaXN0ZXJfdHlwZTxuYW1lPihleHByKSkpO1wKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBuZG5ib29zdDo6dHlwZV9vZjo6bXN2Y19leHRyYWN0X3R5cGU8bmFtZT46OmlkMnR5cGUgaWQydHlwZTtcCisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgaWQydHlwZTo6dHlwZSB0eXBlO1wKKyAgICB9OworCisjIGRlZmluZSBCT09TVF9UWVBFT0ZfTkVTVEVEX1RZUEVERUYobmFtZSxleHByKSBcCisgICAgc3RydWN0IG5hbWUge1wKKyAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCxfdHlwZW9mX3JlZ2lzdGVyX3ZhbHVlPXNpemVvZihuZG5ib29zdDo6dHlwZV9vZjo6dHlwZW9mX3JlZ2lzdGVyX3R5cGU8bmFtZT4oZXhwcikpKTtcCisgICAgICAgIHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6Om1zdmNfZXh0cmFjdF90eXBlPG5hbWU+OjppZDJ0eXBlIGlkMnR5cGU7XAorICAgICAgICB0eXBlZGVmIGlkMnR5cGU6OnR5cGUgdHlwZTtcCisgICAgfTsKKworI2VuZGlmCisgICAgfQorfQorCisjZW5kaWYvL0JPT1NUX1RZUEVPRl9NU1ZDX1RZUEVPRl9JTVBMX0hQUF9JTkNMVURFRApkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvdHlwZW9mL25hdGl2ZS5ocHAgYi9uZG5ib29zdC90eXBlb2YvbmF0aXZlLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zY2FmN2JhCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvdHlwZW9mL25hdGl2ZS5ocHAKQEAgLTAsMCArMSw2MCBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDA2IEFya2FkaXkgVmVydGxleWIKKy8vIFVzZSwgbW9kaWZpY2F0aW9uIGFuZCBkaXN0cmlidXRpb24gaXMgc3ViamVjdCB0byB0aGUgQm9vc3QgU29mdHdhcmUKKy8vIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAoaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorCisjaWZuZGVmIEJPT1NUX1RZUEVPRl9OQVRJVkVfSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX1RZUEVPRl9OQVRJVkVfSFBQX0lOQ0xVREVECisKKyNpZm5kZWYgTVNWQ19UWVBFT0ZfSEFDSworCisjaWZkZWYgQk9PU1RfTk9fU0ZJTkFFCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSB0eXBlX29mIHsKKworICAgIHRlbXBsYXRlPGNsYXNzIFQ+IAorICAgICAgICBUJiBlbnN1cmVfb2JqKGNvbnN0IFQmKTsKKworfX0KKworI2Vsc2UKKworI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2lzX2Z1bmN0aW9uLmhwcD4gCisjaW5jbHVkZSA8bmRuYm9vc3QvdXRpbGl0eS9lbmFibGVfaWYuaHBwPgorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgdHlwZV9vZiB7CisjIGlmZGVmIEJPT1NUX05PX1NGSU5BRQorICAgIHRlbXBsYXRlPGNsYXNzIFQ+IAorICAgIFQmIGVuc3VyZV9vYmooY29uc3QgVCYpOworIyBlbHNlCisgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4KKyAgICAgICAgdHlwZW5hbWUgZW5hYmxlX2lmPGlzX2Z1bmN0aW9uPFQ+LCBUJj46OnR5cGUKKyAgICAgICAgZW5zdXJlX29iaihUJik7CisKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgorICAgICAgICB0eXBlbmFtZSBkaXNhYmxlX2lmPGlzX2Z1bmN0aW9uPFQ+LCBUJj46OnR5cGUKKyAgICAgICAgZW5zdXJlX29iaihjb25zdCBUJik7CisjIGVuZGlmCit9fQorCisjZW5kaWYvL0JPT1NUX05PX1NGSU5BRQorCisjZGVmaW5lIEJPT1NUX1RZUEVPRihleHByKSBCT09TVF9UWVBFT0ZfS0VZV09SRChuZG5ib29zdDo6dHlwZV9vZjo6ZW5zdXJlX29iaihleHByKSkKKyNkZWZpbmUgQk9PU1RfVFlQRU9GX1RQTCBCT09TVF9UWVBFT0YKKworI2RlZmluZSBCT09TVF9UWVBFT0ZfTkVTVEVEX1RZUEVERUZfVFBMKG5hbWUsZXhwcikgXAorICAgIHN0cnVjdCBuYW1lIHtcCisgICAgICAgIHR5cGVkZWYgQk9PU1RfVFlQRU9GX1RQTChleHByKSB0eXBlO1wKKyAgICB9OworCisjZGVmaW5lIEJPT1NUX1RZUEVPRl9ORVNURURfVFlQRURFRihuYW1lLGV4cHIpIFwKKyAgICBzdHJ1Y3QgbmFtZSB7XAorICAgICAgICB0eXBlZGVmIEJPT1NUX1RZUEVPRihleHByKSB0eXBlO1wKKyAgICB9OworCisjZW5kaWYvL01TVkNfVFlQRU9GX0hBQ0sKKworI2RlZmluZSBCT09TVF9UWVBFT0ZfUkVHSVNURVJfVFlQRSh4KQorI2RlZmluZSBCT09TVF9UWVBFT0ZfUkVHSVNURVJfVEVNUExBVEUoeCwgcGFyYW1zKQorCisjZW5kaWYvL0JPT1NUX1RZUEVPRl9OQVRJVkVfSFBQX0lOQ0xVREVECisKZGlmZiAtLWdpdCBhL25kbmJvb3N0L3R5cGVvZi9wb2ludGVyc19kYXRhX21lbWJlcnMuaHBwIGIvbmRuYm9vc3QvdHlwZW9mL3BvaW50ZXJzX2RhdGFfbWVtYmVycy5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTM3NmY4ZQotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L3R5cGVvZi9wb2ludGVyc19kYXRhX21lbWJlcnMuaHBwCkBAIC0wLDAgKzEsMzggQEAKKy8vIENvcHlyaWdodCAoQykgMjAwNCBBcmthZGl5IFZlcnRsZXliCisvLyBVc2UsIG1vZGlmaWNhdGlvbiBhbmQgZGlzdHJpYnV0aW9uIGlzIHN1YmplY3QgdG8gdGhlIEJvb3N0IFNvZnR3YXJlCisvLyBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gKGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKworI2lmbmRlZiBCT09TVF9UWVBFT0ZfUE9JTlRFUlNfREFUQV9NRU1CRVJTX0hQUF9JTkNMVURFRAorI2RlZmluZSBCT09TVF9UWVBFT0ZfUE9JTlRFUlNfREFUQV9NRU1CRVJTX0hQUF9JTkNMVURFRAorCisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZW9mL2VuY29kZV9kZWNvZGVfcGFyYW1zLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlb2YvZW5jb2RlX2RlY29kZS5ocHA+CisKKyNpbmNsdWRlIEJPT1NUX1RZUEVPRl9JTkNSRU1FTlRfUkVHSVNUUkFUSU9OX0dST1VQKCkKKworQk9PU1RfVFlQRU9GX0JFR0lOX0VOQ09ERV9OUworCitlbnVtIHtQVFJfREFUQV9NRU1fSUQgPSBCT09TVF9UWVBFT0ZfVU5JUVVFX0lEKCl9OworCit0ZW1wbGF0ZTxjbGFzcyBWLCBjbGFzcyBQMCwgY2xhc3MgUDE+CitzdHJ1Y3QgZW5jb2RlX3R5cGVfaW1wbDxWLCBQMCBQMTo6Kj4KK3sKKyAgICB0eXBlZGVmIEJPT1NUX1RZUEVPRl9FTkNPREVfUEFSQU1TKDIsIFBUUl9EQVRBX01FTV9JRCkgdHlwZTsKK307CisKK3RlbXBsYXRlPGNsYXNzIEl0ZXI+CitzdHJ1Y3QgZGVjb2RlX3R5cGVfaW1wbDxuZG5ib29zdDo6bXBsOjpzaXplX3Q8UFRSX0RBVEFfTUVNX0lEPiwgSXRlcj4KK3sKKyAgICB0eXBlZGVmIEl0ZXIgaXRlcjA7CisgICAgQk9PU1RfVFlQRU9GX0RFQ09ERV9QQVJBTVMoMikKKworICAgIHRlbXBsYXRlPGNsYXNzIFQ+IHN0cnVjdCB3b3JrYXJvdW5keworICAgICAgICB0eXBlZGVmIHAwIFQ6OiogdHlwZTsKKyAgICB9OworICAgIHR5cGVkZWYgdHlwZW5hbWUgZGVjb2RlX3R5cGVfaW1wbDxuZG5ib29zdDo6bXBsOjpzaXplX3Q8UFRSX0RBVEFfTUVNX0lEPiwgSXRlcj46OnRlbXBsYXRlIHdvcmthcm91bmQ8cDE+Ojp0eXBlIHR5cGU7CisgICAgdHlwZWRlZiBpdGVyMiBpdGVyOworfTsKKworQk9PU1RfVFlQRU9GX0VORF9FTkNPREVfTlMKKworI2VuZGlmLy9CT09TVF9UWVBFT0ZfUE9JTlRFUlNfREFUQV9NRU1CRVJTX0hQUF9JTkNMVURFRApkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvdHlwZW9mL3JlZ2lzdGVyX2Z1bmN0aW9ucy5ocHAgYi9uZG5ib29zdC90eXBlb2YvcmVnaXN0ZXJfZnVuY3Rpb25zLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42ZDBlMTA3Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvdHlwZW9mL3JlZ2lzdGVyX2Z1bmN0aW9ucy5ocHAKQEAgLTAsMCArMSw1MCBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDA0IEFya2FkaXkgVmVydGxleWIKKy8vIFVzZSwgbW9kaWZpY2F0aW9uIGFuZCBkaXN0cmlidXRpb24gaXMgc3ViamVjdCB0byB0aGUgQm9vc3QgU29mdHdhcmUKKy8vIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAoaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorCisjaWZuZGVmIEJPT1NUX1RZUEVPRl9SRUdJU1RFUl9GVU5DVElPTlNfSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX1RZUEVPRl9SRUdJU1RFUl9GVU5DVElPTlNfSFBQX0lOQ0xVREVECisKKyNpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3IvcmVwZXRpdGlvbi9lbnVtLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3IvcmVwZXRpdGlvbi9lbnVtX3BhcmFtcy5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL3JlcGV0aXRpb24vZW51bV90cmFpbGluZ19wYXJhbXMuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9jYXQuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9pbmMuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9kZWMuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9pZi5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL2FyaXRobWV0aWMvYWRkLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3IvaXRlcmF0aW9uL2l0ZXJhdGUuaHBwPgorCisjaW5jbHVkZSBCT09TVF9UWVBFT0ZfSU5DUkVNRU5UX1JFR0lTVFJBVElPTl9HUk9VUCgpCisKKyNpZm5kZWYgQk9PU1RfVFlQRU9GX0xJTUlUX0ZVTkNUSU9OX0FSSVRZCisjZGVmaW5lIEJPT1NUX1RZUEVPRl9MSU1JVF9GVU5DVElPTl9BUklUWSAxMAorI2VuZGlmCisKK2VudW0gCit7CisgICAgRlVOX0lEICAgICAgICAgICAgICAgICAgICAgICAgICA9IEJPT1NUX1RZUEVPRl9VTklRVUVfSUQoKSwKKyAgICBGVU5fUFRSX0lEICAgICAgICAgICAgICAgICAgICAgID0gRlVOX0lEICsgIDEgKiBCT09TVF9QUF9JTkMoQk9PU1RfVFlQRU9GX0xJTUlUX0ZVTkNUSU9OX0FSSVRZKSwKKyAgICBGVU5fUkVGX0lEICAgICAgICAgICAgICAgICAgICAgID0gRlVOX0lEICsgIDIgKiBCT09TVF9QUF9JTkMoQk9PU1RfVFlQRU9GX0xJTUlUX0ZVTkNUSU9OX0FSSVRZKSwKKyAgICBNRU1fRlVOX0lEICAgICAgICAgICAgICAgICAgICAgID0gRlVOX0lEICsgIDMgKiBCT09TVF9QUF9JTkMoQk9PU1RfVFlQRU9GX0xJTUlUX0ZVTkNUSU9OX0FSSVRZKSwKKyAgICBDT05TVF9NRU1fRlVOX0lEICAgICAgICAgICAgICAgID0gRlVOX0lEICsgIDQgKiBCT09TVF9QUF9JTkMoQk9PU1RfVFlQRU9GX0xJTUlUX0ZVTkNUSU9OX0FSSVRZKSwKKyAgICBWT0xBVElMRV9NRU1fRlVOX0lEICAgICAgICAgICAgID0gRlVOX0lEICsgIDUgKiBCT09TVF9QUF9JTkMoQk9PU1RfVFlQRU9GX0xJTUlUX0ZVTkNUSU9OX0FSSVRZKSwKKyAgICBWT0xBVElMRV9DT05TVF9NRU1fRlVOX0lEICAgICAgID0gRlVOX0lEICsgIDYgKiBCT09TVF9QUF9JTkMoQk9PU1RfVFlQRU9GX0xJTUlUX0ZVTkNUSU9OX0FSSVRZKSwKKyAgICBGVU5fVkFSX0lEICAgICAgICAgICAgICAgICAgICAgID0gRlVOX0lEICsgIDcgKiBCT09TVF9QUF9JTkMoQk9PU1RfVFlQRU9GX0xJTUlUX0ZVTkNUSU9OX0FSSVRZKSwKKyAgICBGVU5fVkFSX1BUUl9JRCAgICAgICAgICAgICAgICAgID0gRlVOX0lEICsgIDggKiBCT09TVF9QUF9JTkMoQk9PU1RfVFlQRU9GX0xJTUlUX0ZVTkNUSU9OX0FSSVRZKSwKKyAgICBGVU5fVkFSX1JFRl9JRCAgICAgICAgICAgICAgICAgID0gRlVOX0lEICsgIDkgKiBCT09TVF9QUF9JTkMoQk9PU1RfVFlQRU9GX0xJTUlUX0ZVTkNUSU9OX0FSSVRZKSwKKyAgICBNRU1fRlVOX1ZBUl9JRCAgICAgICAgICAgICAgICAgID0gRlVOX0lEICsgMTAgKiBCT09TVF9QUF9JTkMoQk9PU1RfVFlQRU9GX0xJTUlUX0ZVTkNUSU9OX0FSSVRZKSwKKyAgICBDT05TVF9NRU1fRlVOX1ZBUl9JRCAgICAgICAgICAgID0gRlVOX0lEICsgMTEgKiBCT09TVF9QUF9JTkMoQk9PU1RfVFlQRU9GX0xJTUlUX0ZVTkNUSU9OX0FSSVRZKSwKKyAgICBWT0xBVElMRV9NRU1fRlVOX1ZBUl9JRCAgICAgICAgID0gRlVOX0lEICsgMTIgKiBCT09TVF9QUF9JTkMoQk9PU1RfVFlQRU9GX0xJTUlUX0ZVTkNUSU9OX0FSSVRZKSwKKyAgICBWT0xBVElMRV9DT05TVF9NRU1fRlVOX1ZBUl9JRCAgID0gRlVOX0lEICsgMTMgKiBCT09TVF9QUF9JTkMoQk9PU1RfVFlQRU9GX0xJTUlUX0ZVTkNUSU9OX0FSSVRZKQorfTsKKworQk9PU1RfVFlQRU9GX0JFR0lOX0VOQ09ERV9OUworCisjIGRlZmluZSBCT09TVF9QUF9JVEVSQVRJT05fTElNSVRTICgwLCBCT09TVF9UWVBFT0ZfTElNSVRfRlVOQ1RJT05fQVJJVFkpCisjIGRlZmluZSBCT09TVF9QUF9GSUxFTkFNRV8xIDxuZG5ib29zdC90eXBlb2YvcmVnaXN0ZXJfZnVuY3Rpb25zX2l0ZXJhdGUuaHBwPgorIyBpbmNsdWRlIEJPT1NUX1BQX0lURVJBVEUoKQorCitCT09TVF9UWVBFT0ZfRU5EX0VOQ09ERV9OUworCisjZW5kaWYvL0JPT1NUX1RZUEVPRl9SRUdJU1RFUl9GVU5DVElPTlNfSFBQX0lOQ0xVREVECmRpZmYgLS1naXQgYS9uZG5ib29zdC90eXBlb2YvcmVnaXN0ZXJfZnVuY3Rpb25zX2l0ZXJhdGUuaHBwIGIvbmRuYm9vc3QvdHlwZW9mL3JlZ2lzdGVyX2Z1bmN0aW9uc19pdGVyYXRlLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZDNkOWRmCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvdHlwZW9mL3JlZ2lzdGVyX2Z1bmN0aW9uc19pdGVyYXRlLmhwcApAQCAtMCwwICsxLDEzNSBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDA0IEFya2FkaXkgVmVydGxleWIKKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gKFNlZSBhY2NvbXBhbnlpbmcKKy8vIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorCisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZW9mL2VuY29kZV9kZWNvZGVfcGFyYW1zLmhwcD4KKworI2RlZmluZSBuIEJPT1NUX1BQX0lURVJBVElPTigpCisKKy8vIGZ1bmN0aW9uIHBvaW50ZXJzCisKK3RlbXBsYXRlPGNsYXNzIFYsIGNsYXNzIFIgQk9PU1RfUFBfRU5VTV9UUkFJTElOR19QQVJBTVMobiwgY2xhc3MgUCk+CitzdHJ1Y3QgZW5jb2RlX3R5cGVfaW1wbDxWLCBSKCopKEJPT1NUX1BQX0VOVU1fUEFSQU1TKG4sIFApKT4KK3sKKyAgICB0eXBlZGVmIFIgQk9PU1RfUFBfQ0FUKFAsIG4pOworICAgIHR5cGVkZWYgQk9PU1RfVFlQRU9GX0VOQ09ERV9QQVJBTVMoQk9PU1RfUFBfSU5DKG4pLCBGVU5fUFRSX0lEICsgbikgdHlwZTsKK307CisKK3RlbXBsYXRlPGNsYXNzIFYsIGNsYXNzIFIgQk9PU1RfUFBfRU5VTV9UUkFJTElOR19QQVJBTVMobiwgY2xhc3MgUCk+CitzdHJ1Y3QgZW5jb2RlX3R5cGVfaW1wbDxWLCBSKCopKEJPT1NUX1BQX0VOVU1fUEFSQU1TKG4sIFApIC4uLik+Cit7CisgICAgdHlwZWRlZiBSIEJPT1NUX1BQX0NBVChQLCBuKTsKKyAgICB0eXBlZGVmIEJPT1NUX1RZUEVPRl9FTkNPREVfUEFSQU1TKEJPT1NUX1BQX0lOQyhuKSwgRlVOX1ZBUl9QVFJfSUQgKyBuKSB0eXBlOworfTsKKwordGVtcGxhdGU8Y2xhc3MgSXRlcj4KK3N0cnVjdCBkZWNvZGVfdHlwZV9pbXBsPG5kbmJvb3N0OjptcGw6OnNpemVfdDxGVU5fUFRSX0lEICsgbj4sIEl0ZXI+Cit7CisgICAgdHlwZWRlZiBJdGVyIGl0ZXIwOworICAgIEJPT1NUX1RZUEVPRl9ERUNPREVfUEFSQU1TKEJPT1NUX1BQX0lOQyhuKSkKKyAgICB0eXBlZGVmIEJPT1NUX1BQX0NBVChwLCBuKSgqdHlwZSkoQk9PU1RfUFBfRU5VTV9QQVJBTVMobiwgcCkpOworICAgIHR5cGVkZWYgQk9PU1RfUFBfQ0FUKGl0ZXIsIEJPT1NUX1BQX0lOQyhuKSkgaXRlcjsKK307CisKK3RlbXBsYXRlPGNsYXNzIEl0ZXI+CitzdHJ1Y3QgZGVjb2RlX3R5cGVfaW1wbDxuZG5ib29zdDo6bXBsOjpzaXplX3Q8RlVOX1ZBUl9QVFJfSUQgKyBuPiwgSXRlcj4KK3sKKyAgICB0eXBlZGVmIEl0ZXIgaXRlcjA7CisgICAgQk9PU1RfVFlQRU9GX0RFQ09ERV9QQVJBTVMoQk9PU1RfUFBfSU5DKG4pKQorICAgIHR5cGVkZWYgQk9PU1RfUFBfQ0FUKHAsIG4pKCp0eXBlKShCT09TVF9QUF9FTlVNX1BBUkFNUyhuLCBwKSAuLi4pOworICAgIHR5cGVkZWYgQk9PU1RfUFBfQ0FUKGl0ZXIsIEJPT1NUX1BQX0lOQyhuKSkgaXRlcjsKK307CisKKyNpZm5kZWYgQk9PU1RfVFlQRU9GX05PX0ZVTkNUSU9OX1RZUEVTCisKKyAgICAvLyBmdW5jdGlvbiByZWZlcmVuY2VzCisKKyAgICB0ZW1wbGF0ZTxjbGFzcyBWLCBjbGFzcyBSIEJPT1NUX1BQX0VOVU1fVFJBSUxJTkdfUEFSQU1TKG4sIGNsYXNzIFApPgorICAgIHN0cnVjdCBlbmNvZGVfdHlwZV9pbXBsPFYsIFIoJikoQk9PU1RfUFBfRU5VTV9QQVJBTVMobiwgUCkpPgorICAgIHsKKyAgICAgICAgdHlwZWRlZiBSIEJPT1NUX1BQX0NBVChQLCBuKTsKKyAgICAgICAgdHlwZWRlZiBCT09TVF9UWVBFT0ZfRU5DT0RFX1BBUkFNUyhCT09TVF9QUF9JTkMobiksIEZVTl9SRUZfSUQgKyBuKSB0eXBlOworICAgIH07CisKKyAgICB0ZW1wbGF0ZTxjbGFzcyBWLCBjbGFzcyBSIEJPT1NUX1BQX0VOVU1fVFJBSUxJTkdfUEFSQU1TKG4sIGNsYXNzIFApPgorICAgIHN0cnVjdCBlbmNvZGVfdHlwZV9pbXBsPFYsIFIoJikoQk9PU1RfUFBfRU5VTV9QQVJBTVMobiwgUCkgLi4uKT4KKyAgICB7CisgICAgICAgIHR5cGVkZWYgUiBCT09TVF9QUF9DQVQoUCwgbik7CisgICAgICAgIHR5cGVkZWYgQk9PU1RfVFlQRU9GX0VOQ09ERV9QQVJBTVMoQk9PU1RfUFBfSU5DKG4pLCBGVU5fVkFSX1JFRl9JRCArIG4pIHR5cGU7CisgICAgfTsKKworICAgIHRlbXBsYXRlPGNsYXNzIEl0ZXI+CisgICAgc3RydWN0IGRlY29kZV90eXBlX2ltcGw8bmRuYm9vc3Q6Om1wbDo6c2l6ZV90PEZVTl9SRUZfSUQgKyBuPiwgSXRlcj4KKyAgICB7CisgICAgICAgIHR5cGVkZWYgSXRlciBpdGVyMDsKKyAgICAgICAgQk9PU1RfVFlQRU9GX0RFQ09ERV9QQVJBTVMoQk9PU1RfUFBfSU5DKG4pKQorICAgICAgICB0eXBlZGVmIEJPT1NUX1BQX0NBVChwLCBuKSgmdHlwZSkoQk9PU1RfUFBfRU5VTV9QQVJBTVMobiwgcCkpOworICAgICAgICB0eXBlZGVmIEJPT1NUX1BQX0NBVChpdGVyLCBCT09TVF9QUF9JTkMobikpIGl0ZXI7CisgICAgfTsKKworICAgIHRlbXBsYXRlPGNsYXNzIEl0ZXI+CisgICAgc3RydWN0IGRlY29kZV90eXBlX2ltcGw8bmRuYm9vc3Q6Om1wbDo6c2l6ZV90PEZVTl9WQVJfUkVGX0lEICsgbj4sIEl0ZXI+CisgICAgeworICAgICAgICB0eXBlZGVmIEl0ZXIgaXRlcjA7CisgICAgICAgIEJPT1NUX1RZUEVPRl9ERUNPREVfUEFSQU1TKEJPT1NUX1BQX0lOQyhuKSkKKyAgICAgICAgdHlwZWRlZiBCT09TVF9QUF9DQVQocCwgbikoJnR5cGUpKEJPT1NUX1BQX0VOVU1fUEFSQU1TKG4sIHApIC4uLik7CisgICAgICAgIHR5cGVkZWYgQk9PU1RfUFBfQ0FUKGl0ZXIsIEJPT1NUX1BQX0lOQyhuKSkgaXRlcjsKKyAgICB9OworCisgICAgLy8gZnVuY3Rpb25zCisKKyAgICB0ZW1wbGF0ZTxjbGFzcyBWLCBjbGFzcyBSIEJPT1NUX1BQX0VOVU1fVFJBSUxJTkdfUEFSQU1TKG4sIGNsYXNzIFApPgorICAgIHN0cnVjdCBlbmNvZGVfdHlwZV9pbXBsPFYsIFIoQk9PU1RfUFBfRU5VTV9QQVJBTVMobiwgUCkpPgorICAgIHsKKyAgICAgICAgdHlwZWRlZiBSIEJPT1NUX1BQX0NBVChQLCBuKTsKKyAgICAgICAgdHlwZWRlZiBCT09TVF9UWVBFT0ZfRU5DT0RFX1BBUkFNUyhCT09TVF9QUF9JTkMobiksIEZVTl9JRCArIG4pIHR5cGU7CisgICAgfTsKKworICAgIHRlbXBsYXRlPGNsYXNzIFYsIGNsYXNzIFIgQk9PU1RfUFBfRU5VTV9UUkFJTElOR19QQVJBTVMobiwgY2xhc3MgUCk+CisgICAgc3RydWN0IGVuY29kZV90eXBlX2ltcGw8ViwgUihCT09TVF9QUF9FTlVNX1BBUkFNUyhuLCBQKSAuLi4pPgorICAgIHsKKyAgICAgICAgdHlwZWRlZiBSIEJPT1NUX1BQX0NBVChQLCBuKTsKKyAgICAgICAgdHlwZWRlZiBCT09TVF9UWVBFT0ZfRU5DT0RFX1BBUkFNUyhCT09TVF9QUF9JTkMobiksIEZVTl9WQVJfSUQgKyBuKSB0eXBlOworICAgIH07CisKKyAgICB0ZW1wbGF0ZTxjbGFzcyBJdGVyPgorICAgIHN0cnVjdCBkZWNvZGVfdHlwZV9pbXBsPG5kbmJvb3N0OjptcGw6OnNpemVfdDxGVU5fSUQgKyBuPiwgSXRlcj4KKyAgICB7CisgICAgICAgIHR5cGVkZWYgSXRlciBpdGVyMDsKKyAgICAgICAgQk9PU1RfVFlQRU9GX0RFQ09ERV9QQVJBTVMoQk9PU1RfUFBfSU5DKG4pKQorICAgICAgICB0eXBlZGVmIEJPT1NUX1BQX0NBVChwLCBuKSh0eXBlKShCT09TVF9QUF9FTlVNX1BBUkFNUyhuLCBwKSk7CisgICAgICAgIHR5cGVkZWYgQk9PU1RfUFBfQ0FUKGl0ZXIsIEJPT1NUX1BQX0lOQyhuKSkgaXRlcjsKKyAgICB9OworCisgICAgdGVtcGxhdGU8Y2xhc3MgSXRlcj4KKyAgICBzdHJ1Y3QgZGVjb2RlX3R5cGVfaW1wbDxuZG5ib29zdDo6bXBsOjpzaXplX3Q8RlVOX1ZBUl9JRCArIG4+LCBJdGVyPgorICAgIHsKKyAgICAgICAgdHlwZWRlZiBJdGVyIGl0ZXIwOworICAgICAgICBCT09TVF9UWVBFT0ZfREVDT0RFX1BBUkFNUyhCT09TVF9QUF9JTkMobikpCisgICAgICAgIHR5cGVkZWYgQk9PU1RfUFBfQ0FUKHAsIG4pKHR5cGUpKEJPT1NUX1BQX0VOVU1fUEFSQU1TKG4sIHApIC4uLik7CisgICAgICAgIHR5cGVkZWYgQk9PU1RfUFBfQ0FUKGl0ZXIsIEJPT1NUX1BQX0lOQyhuKSkgaXRlcjsKKyAgICB9OworCisjZW5kaWYvL0JPT1NUX1RZUEVPRl9OT19GVU5DVElPTl9UWVBFUworCisjaWZuZGVmIEJPT1NUX1RZUEVPRl9OT19NRU1CRVJfRlVOQ1RJT05fVFlQRVMKKy8vIG1lbWJlciBmdW5jdGlvbnMKKworI2RlZmluZSBCT09TVF9UWVBFT0ZfcXVhbGlmaWVyCisjZGVmaW5lIEJPT1NUX1RZUEVPRl9pZCBNRU1fRlVOX0lECisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZW9mL3JlZ2lzdGVyX21lbV9mdW5jdGlvbnMuaHBwPgorCisjZGVmaW5lIEJPT1NUX1RZUEVPRl9xdWFsaWZpZXIgY29uc3QKKyNkZWZpbmUgQk9PU1RfVFlQRU9GX2lkIENPTlNUX01FTV9GVU5fSUQKKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlb2YvcmVnaXN0ZXJfbWVtX2Z1bmN0aW9ucy5ocHA+CisKKyNkZWZpbmUgQk9PU1RfVFlQRU9GX3F1YWxpZmllciB2b2xhdGlsZQorI2RlZmluZSBCT09TVF9UWVBFT0ZfaWQgVk9MQVRJTEVfTUVNX0ZVTl9JRAorI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVvZi9yZWdpc3Rlcl9tZW1fZnVuY3Rpb25zLmhwcD4KKworI2RlZmluZSBCT09TVF9UWVBFT0ZfcXVhbGlmaWVyIHZvbGF0aWxlIGNvbnN0CisjZGVmaW5lIEJPT1NUX1RZUEVPRl9pZCBWT0xBVElMRV9DT05TVF9NRU1fRlVOX0lECisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZW9mL3JlZ2lzdGVyX21lbV9mdW5jdGlvbnMuaHBwPgorCisjdW5kZWYgbgorI2VuZGlmCmRpZmYgLS1naXQgYS9uZG5ib29zdC90eXBlb2YvcmVnaXN0ZXJfZnVuZGFtZW50YWwuaHBwIGIvbmRuYm9vc3QvdHlwZW9mL3JlZ2lzdGVyX2Z1bmRhbWVudGFsLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMWI5OWQ4Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvdHlwZW9mL3JlZ2lzdGVyX2Z1bmRhbWVudGFsLmhwcApAQCAtMCwwICsxLDYyIEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMDQgQXJrYWRpeSBWZXJ0bGV5YgorLy8gQ29weXJpZ2h0IChDKSAyMDA0IFBlZGVyIEhvbHQKKy8vIFVzZSwgbW9kaWZpY2F0aW9uIGFuZCBkaXN0cmlidXRpb24gaXMgc3ViamVjdCB0byB0aGUgQm9vc3QgU29mdHdhcmUKKy8vIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAoaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorCisjaWZuZGVmIEJPT1NUX1RZUEVPRl9SRUdJU1RFUl9GVU5EQU1FTlRBTF9IUFBfSU5DTFVERUQKKyNkZWZpbmUgQk9PU1RfVFlQRU9GX1JFR0lTVEVSX0ZVTkRBTUVOVEFMX0hQUF9JTkNMVURFRAorCisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZW9mL3R5cGVvZi5ocHA+CisKKyNpbmNsdWRlIEJPT1NUX1RZUEVPRl9JTkNSRU1FTlRfUkVHSVNUUkFUSU9OX0dST1VQKCkKKworQk9PU1RfVFlQRU9GX1JFR0lTVEVSX1RZUEUodW5zaWduZWQgY2hhcikKK0JPT1NUX1RZUEVPRl9SRUdJU1RFUl9UWVBFKHVuc2lnbmVkIHNob3J0KQorQk9PU1RfVFlQRU9GX1JFR0lTVEVSX1RZUEUodW5zaWduZWQgaW50KQorQk9PU1RfVFlQRU9GX1JFR0lTVEVSX1RZUEUodW5zaWduZWQgbG9uZykKKworQk9PU1RfVFlQRU9GX1JFR0lTVEVSX1RZUEUoc2lnbmVkIGNoYXIpCitCT09TVF9UWVBFT0ZfUkVHSVNURVJfVFlQRShzaWduZWQgc2hvcnQpCitCT09TVF9UWVBFT0ZfUkVHSVNURVJfVFlQRShzaWduZWQgaW50KQorQk9PU1RfVFlQRU9GX1JFR0lTVEVSX1RZUEUoc2lnbmVkIGxvbmcpCisKK0JPT1NUX1RZUEVPRl9SRUdJU1RFUl9UWVBFKGJvb2wpCitCT09TVF9UWVBFT0ZfUkVHSVNURVJfVFlQRShjaGFyKQorCitCT09TVF9UWVBFT0ZfUkVHSVNURVJfVFlQRShmbG9hdCkKK0JPT1NUX1RZUEVPRl9SRUdJU1RFUl9UWVBFKGRvdWJsZSkKK0JPT1NUX1RZUEVPRl9SRUdJU1RFUl9UWVBFKGxvbmcgZG91YmxlKQorCisjaWZuZGVmIEJPT1NUX05PX0lOVFJJTlNJQ19XQ0hBUl9UCisvLyBJZiB0aGUgZm9sbG93aW5nIGxpbmUgZmFpbHMgdG8gY29tcGlsZSBhbmQgeW91J3JlIHVzaW5nIHRoZSBJbnRlbAorLy8gY29tcGlsZXIsIHNlZSBodHRwOi8vbGlzdHMuYm9vc3Qub3JnL01haWxBcmNoaXZlcy9ib29zdC11c2Vycy9tc2cwNjU2Ny5waHAsCisvLyBhbmQgZGVmaW5lIEJPT1NUX05PX0lOVFJJTlNJQ19XQ0hBUl9UIG9uIHRoZSBjb21tYW5kIGxpbmUuCitCT09TVF9UWVBFT0ZfUkVHSVNURVJfVFlQRSh3Y2hhcl90KQorI2VuZGlmCisKKyNpZiAoZGVmaW5lZChCT09TVF9NU1ZDKSAmJiAoQk9PU1RfTVNWQyA9PSAxMjAwKSkgXAorICAgIHx8IChkZWZpbmVkKEJPT1NUX0lOVEVMX0NYWF9WRVJTSU9OKSAmJiBkZWZpbmVkKF9NU0NfVkVSKSAmJiAoQk9PU1RfSU5URUxfQ1hYX1ZFUlNJT04gPD0gNjAwKSkgXAorICAgIHx8IChkZWZpbmVkKF9fQk9STEFORENfXykgJiYgKF9fQk9STEFORENfXyA9PSAweDYwMCkgJiYgKF9NU0NfVkVSID09IDEyMDApKQorQk9PU1RfVFlQRU9GX1JFR0lTVEVSX1RZUEUodW5zaWduZWQgX19pbnQ4KQorQk9PU1RfVFlQRU9GX1JFR0lTVEVSX1RZUEUoX19pbnQ4KQorQk9PU1RfVFlQRU9GX1JFR0lTVEVSX1RZUEUodW5zaWduZWQgX19pbnQxNikKK0JPT1NUX1RZUEVPRl9SRUdJU1RFUl9UWVBFKF9faW50MTYpCitCT09TVF9UWVBFT0ZfUkVHSVNURVJfVFlQRSh1bnNpZ25lZCBfX2ludDMyKQorQk9PU1RfVFlQRU9GX1JFR0lTVEVSX1RZUEUoX19pbnQzMikKKyNpZmRlZiBfX0JPUkxBTkRDX18KK0JPT1NUX1RZUEVPRl9SRUdJU1RFUl9UWVBFKHVuc2lnbmVkIF9faW50NjQpCitCT09TVF9UWVBFT0ZfUkVHSVNURVJfVFlQRShfX2ludDY0KQorI2VuZGlmCisjZW5kaWYKKworIyBpZiBkZWZpbmVkKEJPT1NUX0hBU19MT05HX0xPTkcpCitCT09TVF9UWVBFT0ZfUkVHSVNURVJfVFlQRSg6Om5kbmJvb3N0Ojp1bG9uZ19sb25nX3R5cGUpCitCT09TVF9UWVBFT0ZfUkVHSVNURVJfVFlQRSg6Om5kbmJvb3N0Ojpsb25nX2xvbmdfdHlwZSkKKyNlbGlmIGRlZmluZWQoQk9PU1RfSEFTX01TX0lOVDY0KQorQk9PU1RfVFlQRU9GX1JFR0lTVEVSX1RZUEUodW5zaWduZWQgX19pbnQ2NCkKK0JPT1NUX1RZUEVPRl9SRUdJU1RFUl9UWVBFKF9faW50NjQpCisjZW5kaWYKKworQk9PU1RfVFlQRU9GX1JFR0lTVEVSX1RZUEUodm9pZCkKKworI2VuZGlmLy9CT09TVF9UWVBFT0ZfUkVHSVNURVJfRlVOREFNRU5UQUxfSFBQX0lOQ0xVREVECmRpZmYgLS1naXQgYS9uZG5ib29zdC90eXBlb2YvcmVnaXN0ZXJfbWVtX2Z1bmN0aW9ucy5ocHAgYi9uZG5ib29zdC90eXBlb2YvcmVnaXN0ZXJfbWVtX2Z1bmN0aW9ucy5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWZiNDBhOQotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L3R5cGVvZi9yZWdpc3Rlcl9tZW1fZnVuY3Rpb25zLmhwcApAQCAtMCwwICsxLDMyIEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMDQgQXJrYWRpeSBWZXJ0bGV5YgorLy8gVXNlLCBtb2RpZmljYXRpb24gYW5kIGRpc3RyaWJ1dGlvbiBpcyBzdWJqZWN0IHRvIHRoZSBCb29zdCBTb2Z0d2FyZQorLy8gTGljZW5zZSwgVmVyc2lvbiAxLjAuIChodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisKKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlb2YvZW5jb2RlX2RlY29kZV9wYXJhbXMuaHBwPgorCisvLyBtZW1iZXIgZnVuY3Rpb25zCisKK3RlbXBsYXRlPGNsYXNzIFYsIGNsYXNzIFQsIGNsYXNzIFIgQk9PU1RfUFBfRU5VTV9UUkFJTElOR19QQVJBTVMobiwgY2xhc3MgUCk+IAorc3RydWN0IGVuY29kZV90eXBlX2ltcGw8ViwgUihUOjoqKShCT09TVF9QUF9FTlVNX1BBUkFNUyhuLCBQKSkgQk9PU1RfVFlQRU9GX3F1YWxpZmllcj4KK3sKKyAgICB0eXBlZGVmIFIgQk9PU1RfUFBfQ0FUKFAsIG4pOworICAgIHR5cGVkZWYgVCBCT09TVF9QUF9DQVQoUCwgQk9PU1RfUFBfSU5DKG4pKTsKKyAgICB0eXBlZGVmIEJPT1NUX1RZUEVPRl9FTkNPREVfUEFSQU1TKEJPT1NUX1BQX0FERChuLCAyKSwgQk9PU1RfVFlQRU9GX2lkICsgbikgdHlwZTsKK307CisKK3RlbXBsYXRlPGNsYXNzIEl0ZXI+CitzdHJ1Y3QgZGVjb2RlX3R5cGVfaW1wbDxuZG5ib29zdDo6bXBsOjpzaXplX3Q8Qk9PU1RfVFlQRU9GX2lkICsgbj4sIEl0ZXI+Cit7CisgICAgdHlwZWRlZiBJdGVyIGl0ZXIwOworICAgIEJPT1NUX1RZUEVPRl9ERUNPREVfUEFSQU1TKEJPT1NUX1BQX0FERChuLCAyKSkKKyAgICB0ZW1wbGF0ZTxjbGFzcyBUPiBzdHJ1Y3Qgd29ya2Fyb3VuZHsKKyAgICAgICAgdHlwZWRlZiBCT09TVF9QUF9DQVQocCwgbikoVDo6KnR5cGUpKEJPT1NUX1BQX0VOVU1fUEFSQU1TKG4sIHApKSBCT09TVF9UWVBFT0ZfcXVhbGlmaWVyOworICAgIH07CisgICAgdHlwZWRlZiB0eXBlbmFtZSB3b3JrYXJvdW5kPEJPT1NUX1BQX0NBVChwLCBCT09TVF9QUF9JTkMobikpPjo6dHlwZSB0eXBlOworICAgIHR5cGVkZWYgQk9PU1RfUFBfQ0FUKGl0ZXIsIEJPT1NUX1BQX0FERChuLCAyKSkgaXRlcjsKK307CisKKy8vIHVuZGVmIHBhcmFtZXRlcnMKKworI3VuZGVmIEJPT1NUX1RZUEVPRl9pZAorI3VuZGVmIEJPT1NUX1RZUEVPRl9xdWFsaWZpZXIKZGlmZiAtLWdpdCBhL25kbmJvb3N0L3R5cGVvZi9zdGQvbWVtb3J5LmhwcCBiL25kbmJvb3N0L3R5cGVvZi9zdGQvbWVtb3J5LmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMDAyZGJhCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvdHlwZW9mL3N0ZC9tZW1vcnkuaHBwCkBAIC0wLDAgKzEsMTcgQEAKKy8vIENvcHlyaWdodCAoQykgMjAwNSBBcmthZGl5IFZlcnRsZXliLCBQZWRlciBIb2x0LgorLy8gVXNlLCBtb2RpZmljYXRpb24gYW5kIGRpc3RyaWJ1dGlvbiBpcyBzdWJqZWN0IHRvIHRoZSBCb29zdCBTb2Z0d2FyZQorLy8gTGljZW5zZSwgVmVyc2lvbiAxLjAuIChodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisKKyNpZm5kZWYgQk9PU1RfVFlQRU9GX1NURF9tZW1vcnlfaHBwX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX1RZUEVPRl9TVERfbWVtb3J5X2hwcF9JTkNMVURFRAorCisjaW5jbHVkZSA8bWVtb3J5PgorI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVvZi90eXBlb2YuaHBwPgorCisjaW5jbHVkZSBCT09TVF9UWVBFT0ZfSU5DUkVNRU5UX1JFR0lTVFJBVElPTl9HUk9VUCgpCisKK0JPT1NUX1RZUEVPRl9SRUdJU1RFUl9URU1QTEFURShzdGQ6OmFsbG9jYXRvciwgMSkKK0JPT1NUX1RZUEVPRl9SRUdJU1RFUl9URU1QTEFURShzdGQ6OnJhd19zdG9yYWdlX2l0ZXJhdG9yLCAyKQorQk9PU1RfVFlQRU9GX1JFR0lTVEVSX1RFTVBMQVRFKHN0ZDo6YXV0b19wdHIsIDEpCisKKyNlbmRpZi8vQk9PU1RfVFlQRU9GX1NURF9tZW1vcnlfaHBwX0lOQ0xVREVECmRpZmYgLS1naXQgYS9uZG5ib29zdC90eXBlb2Yvc3RkL3N0cmluZy5ocHAgYi9uZG5ib29zdC90eXBlb2Yvc3RkL3N0cmluZy5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjEwYzllNwotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L3R5cGVvZi9zdGQvc3RyaW5nLmhwcApAQCAtMCwwICsxLDI0IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMDUgQXJrYWRpeSBWZXJ0bGV5YiwgUGVkZXIgSG9sdC4KKy8vIFVzZSwgbW9kaWZpY2F0aW9uIGFuZCBkaXN0cmlidXRpb24gaXMgc3ViamVjdCB0byB0aGUgQm9vc3QgU29mdHdhcmUKKy8vIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAoaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorCisjaWZuZGVmIEJPT1NUX1RZUEVPRl9TVERfc3RyaW5nX2hwcF9JTkNMVURFRAorI2RlZmluZSBCT09TVF9UWVBFT0ZfU1REX3N0cmluZ19ocHBfSU5DTFVERUQKKworI2luY2x1ZGUgPHN0cmluZz4KKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlb2YvdHlwZW9mLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlb2Yvc3RkL21lbW9yeS5ocHA+CisKKyNpbmNsdWRlIEJPT1NUX1RZUEVPRl9JTkNSRU1FTlRfUkVHSVNUUkFUSU9OX0dST1VQKCkKKworQk9PU1RfVFlQRU9GX1JFR0lTVEVSX1RFTVBMQVRFKHN0ZDo6Y2hhcl90cmFpdHMsIDEpCitCT09TVF9UWVBFT0ZfUkVHSVNURVJfVEVNUExBVEUoc3RkOjpiYXNpY19zdHJpbmcsIDEpCitCT09TVF9UWVBFT0ZfUkVHSVNURVJfVEVNUExBVEUoc3RkOjpiYXNpY19zdHJpbmcsIDIpCitCT09TVF9UWVBFT0ZfUkVHSVNURVJfVEVNUExBVEUoc3RkOjpiYXNpY19zdHJpbmcsIDMpCisKKyNpZm5kZWYgX19CT1JMQU5EQ19fCisvL0JvcmxhbmQgY2hva2VzIG9uIHRoaXMgImRvdWJsZSBkZWZpbml0aW9uIiBvZiBzdHJpbmcKK0JPT1NUX1RZUEVPRl9SRUdJU1RFUl9UWVBFKHN0ZDo6c3RyaW5nKQorI2VuZGlmCisKKyNlbmRpZi8vQk9PU1RfVFlQRU9GX1NURF9zdHJpbmdfaHBwX0lOQ0xVREVECmRpZmYgLS1naXQgYS9uZG5ib29zdC90eXBlb2YvdGVtcGxhdGVfZW5jb2RpbmcuaHBwIGIvbmRuYm9vc3QvdHlwZW9mL3RlbXBsYXRlX2VuY29kaW5nLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YzU3ODFiCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvdHlwZW9mL3RlbXBsYXRlX2VuY29kaW5nLmhwcApAQCAtMCwwICsxLDE2MCBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDA0IEFya2FkaXkgVmVydGxleWIKKy8vIENvcHlyaWdodCAoQykgMjAwNSBQZWRlciBIb2x0CisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIChTZWUgYWNjb21wYW55aW5nCisvLyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKworI2lmbmRlZiBCT09TVF9UWVBFT0ZfVEVNUExBVEVfRU5DT0RJTkdfSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX1RZUEVPRl9URU1QTEFURV9FTkNPRElOR19IUFBfSU5DTFVERUQKKworI2luY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9jYXQuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9yZXBldGl0aW9uL2VudW1fdHJhaWxpbmcuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9jb250cm9sL2lpZi5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL2RldGFpbC9pc191bmFyeS5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL3JlcGV0aXRpb24vcmVwZWF0LmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3IvdHVwbGUvZWF0LmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3Ivc2VxL3RyYW5zZm9ybS5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL3NlcS9mb3JfZWFjaF9pLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3Ivc2VxL2NhdC5ocHA+CisKKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlb2YvZW5jb2RlX2RlY29kZS5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZW9mL2ludF9lbmNvZGluZy5ocHA+CisKKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlb2YvdHlwZV90ZW1wbGF0ZV9wYXJhbS5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZW9mL2ludGVncmFsX3RlbXBsYXRlX3BhcmFtLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlb2YvdGVtcGxhdGVfdGVtcGxhdGVfcGFyYW0uaHBwPgorCisjaWZkZWYgX19CT1JMQU5EQ19fCisjZGVmaW5lIEJPT1NUX1RZUEVPRl9RVUFMSUZZKFApIHNlbGZfdDo6UAorI2Vsc2UKKyNkZWZpbmUgQk9PU1RfVFlQRU9GX1FVQUxJRlkoUCkgUAorI2VuZGlmCisvLyBUaGUgdGVtcGxhdGUgcGFyYW1ldGVyIGRlc2NyaXB0aW9uLCBlbnRlcmVkIGJ5IHRoZSB1c2VyLAorLy8gaXMgY29udmVydGVkIGludG8gYSBwb2x5bW9ycGhpYyAib2JqZWN0IgorLy8gdGhhdCBpcyB1c2VkIHRvIGdlbmVyYXRlIHRoZSBjb2RlIHJlc3BvbnNpYmxlIGZvcgorLy8gZW5jb2RpbmcvZGVjb2RpbmcgdGhlIHBhcmFtZXRlciwgZXRjLgorCisvLyBtYWtlIHN1cmUgdG8gY2F0IHRoZSBzZXF1ZW5jZSBmaXJzdCwgYW5kIG9ubHkgdGhlbiBhZGQgdGhlIHByZWZpeC4KKyNkZWZpbmUgQk9PU1RfVFlQRU9GX01BS0VfT0JKKGVsZW0pIEJPT1NUX1BQX0NBVChcCisgICAgQk9PU1RfVFlQRU9GX01BS0VfT0JKLFwKKyAgICBCT09TVF9QUF9TRVFfQ0FUKChfKSBCT09TVF9UWVBFT0ZfVE9fU0VRKGVsZW0pKVwKKyAgICApCisKKyNkZWZpbmUgQk9PU1RfVFlQRU9GX1RPX1NFUSh0b2tlbnMpIEJPT1NUX1RZUEVPRl8gIyMgdG9rZW5zICMjIF9CT09TVF9UWVBFT0YKKworLy8gQk9PU1RfVFlQRU9GX1JFR0lTVEVSX1RFTVBMQVRFCisKKyNkZWZpbmUgQk9PU1RfVFlQRU9GX1JFR0lTVEVSX1RFTVBMQVRFX0VYUExJQ0lUX0lEKE5hbWUsIFBhcmFtcywgSWQpXAorICAgIEJPT1NUX1RZUEVPRl9SRUdJU1RFUl9URU1QTEFURV9JTVBMKFwKKyAgICAgICAgTmFtZSxcCisgICAgICAgIEJPT1NUX1RZUEVPRl9NQUtFX09CSlMoQk9PU1RfVFlQRU9GX1RPU0VRKFBhcmFtcykpLFwKKyAgICAgICAgQk9PU1RfUFBfU0VRX1NJWkUoQk9PU1RfVFlQRU9GX1RPU0VRKFBhcmFtcykpLFwKKyAgICAgICAgSWQpCisKKyNkZWZpbmUgQk9PU1RfVFlQRU9GX1JFR0lTVEVSX1RFTVBMQVRFKE5hbWUsIFBhcmFtcylcCisgICAgQk9PU1RfVFlQRU9GX1JFR0lTVEVSX1RFTVBMQVRFX0VYUExJQ0lUX0lEKE5hbWUsIFBhcmFtcywgQk9PU1RfVFlQRU9GX1VOSVFVRV9JRCgpKQorCisjZGVmaW5lIEJPT1NUX1RZUEVPRl9PQkpFQ1RfTUFLRVIocywgZGF0YSwgZWxlbSlcCisgICAgQk9PU1RfVFlQRU9GX01BS0VfT0JKKGVsZW0pCisKKyNkZWZpbmUgQk9PU1RfVFlQRU9GX01BS0VfT0JKUyhQYXJhbXMpXAorICAgIEJPT1NUX1BQX1NFUV9UUkFOU0ZPUk0oQk9PU1RfVFlQRU9GX09CSkVDVF9NQUtFUiwgfiwgUGFyYW1zKQorCisvLyBBcyBzdWdnZXN0ZWQgYnkgUGF1bCBNZW5zb25pZGVzOgorCisjZGVmaW5lIEJPT1NUX1RZUEVPRl9UT1NFUSh4KVwKKyAgICBCT09TVF9QUF9JSUYoXAorICAgICAgICBCT09TVF9QUF9JU19VTkFSWSh4KSxcCisgICAgICAgIHggQk9PU1RfUFBfVFVQTEVfRUFUKDMpLCBCT09TVF9QUF9SRVBFQVRcCisgICAgKSh4LCBCT09TVF9UWVBFT0ZfVE9TRVFfMiwgfikKKworI2RlZmluZSBCT09TVF9UWVBFT0ZfVE9TRVFfMih6LCBuLCBfKSAoY2xhc3MpCisKKy8vIEJPT1NUX1RZUEVPRl9WSVJUVUFMCisKKyNkZWZpbmUgQk9PU1RfVFlQRU9GX0NBVF80KGEsIGIsIGMsIGQpIEJPT1NUX1RZUEVPRl9DQVRfNF9JKGEsIGIsIGMsIGQpCisjZGVmaW5lIEJPT1NUX1RZUEVPRl9DQVRfNF9JKGEsIGIsIGMsIGQpIGEgIyMgYiAjIyBjICMjIGQKKworI2RlZmluZSBCT09TVF9UWVBFT0ZfVklSVFVBTChGdW4sIE9iailcCisgICAgQk9PU1RfVFlQRU9GX0NBVF80KEJPT1NUX1RZUEVPRl8sIEJPT1NUX1BQX1NFUV9IRUFEKE9iaiksIF8sIEZ1bikKKworLy8gQk9PU1RfVFlQRU9GX1NFUV9FTlVNW19UUkFJTElOR11bXzFdCisvLyBUd28gdmVyc2lvbnMgcHJvdmlkZWQgZHVlIHRvIHJlZW50cmFuY3kgaXNzdWUKKworI2RlZmluZSBCT09TVF9UWVBFT0ZfU0VRX0VYUEFORF9FTEVNRU5UKHosbixzZXEpXAorICAgQk9PU1RfUFBfU0VRX0VMRU0oMCxzZXEpICh6LG4sQk9PU1RfUFBfU0VRX0VMRU0obixCT09TVF9QUF9TRVFfRUxFTSgxLHNlcSkpKQorCisjZGVmaW5lIEJPT1NUX1RZUEVPRl9TRVFfRU5VTShzZXEsbWFjcm8pXAorICAgIEJPT1NUX1BQX0VOVU0oQk9PU1RfUFBfU0VRX1NJWkUoc2VxKSxCT09TVF9UWVBFT0ZfU0VRX0VYUEFORF9FTEVNRU5ULChtYWNybykoc2VxKSkKKworI2RlZmluZSBCT09TVF9UWVBFT0ZfU0VRX0VOVU1fVFJBSUxJTkcoc2VxLG1hY3JvKVwKKyAgICBCT09TVF9QUF9FTlVNX1RSQUlMSU5HKEJPT1NUX1BQX1NFUV9TSVpFKHNlcSksQk9PU1RfVFlQRU9GX1NFUV9FWFBBTkRfRUxFTUVOVCwobWFjcm8pKHNlcSkpCisKKyNkZWZpbmUgQk9PU1RfVFlQRU9GX1NFUV9FWFBBTkRfRUxFTUVOVF8xKHosbixzZXEpXAorICAgIEJPT1NUX1BQX1NFUV9FTEVNKDAsc2VxKSAoeixuLEJPT1NUX1BQX1NFUV9FTEVNKG4sQk9PU1RfUFBfU0VRX0VMRU0oMSxzZXEpKSkKKworI2RlZmluZSBCT09TVF9UWVBFT0ZfU0VRX0VOVU1fMShzZXEsbWFjcm8pXAorICAgIEJPT1NUX1BQX0VOVU0oQk9PU1RfUFBfU0VRX1NJWkUoc2VxKSxCT09TVF9UWVBFT0ZfU0VRX0VYUEFORF9FTEVNRU5UXzEsKG1hY3JvKShzZXEpKQorCisjZGVmaW5lIEJPT1NUX1RZUEVPRl9TRVFfRU5VTV9UUkFJTElOR18xKHNlcSxtYWNybylcCisgICAgQk9PU1RfUFBfRU5VTV9UUkFJTElORyhCT09TVF9QUF9TRVFfU0laRShzZXEpLEJPT1NUX1RZUEVPRl9TRVFfRVhQQU5EX0VMRU1FTlRfMSwobWFjcm8pKHNlcSkpCisKKy8vCisKKyNkZWZpbmUgQk9PU1RfVFlQRU9GX1BMQUNFSE9MREVSKHosIG4sIGVsZW0pXAorICAgIEJPT1NUX1RZUEVPRl9WSVJUVUFMKFBMQUNFSE9MREVSLCBlbGVtKShlbGVtKQorCisjZGVmaW5lIEJPT1NUX1RZUEVPRl9QTEFDRUhPTERFUl9UWVBFUyh6LCBuLCBlbGVtKVwKKyAgICBCT09TVF9UWVBFT0ZfVklSVFVBTChQTEFDRUhPTERFUl9UWVBFUywgZWxlbSkoZWxlbSwgbikKKworI2RlZmluZSBCT09TVF9UWVBFT0ZfUkVHSVNURVJfVEVNUExBVEVfRU5DT0RFX1BBUkFNKHIsIGRhdGEsIG4sIGVsZW0pXAorICAgIEJPT1NUX1RZUEVPRl9WSVJUVUFMKEVOQ09ERSwgZWxlbSkoZWxlbSwgbikKKworI2RlZmluZSBCT09TVF9UWVBFT0ZfUkVHSVNURVJfVEVNUExBVEVfREVDT0RFX1BBUkFNKHIsIGRhdGEsIG4sIGVsZW0pXAorICAgIEJPT1NUX1RZUEVPRl9WSVJUVUFMKERFQ09ERSwgZWxlbSkoZWxlbSwgbikKKworI2RlZmluZSBCT09TVF9UWVBFT0ZfUkVHSVNURVJfVEVNUExBVEVfUEFSQU1fUEFJUih6LCBuLCBlbGVtKSBcCisgICAgQk9PU1RfVFlQRU9GX1ZJUlRVQUwoRVhQQU5EVFlQRSwgZWxlbSkoZWxlbSkgQk9PU1RfUFBfQ0FUKFAsIG4pCisKKyNkZWZpbmUgQk9PU1RfVFlQRU9GX1JFR0lTVEVSX0RFRkFVTFRfVEVNUExBVEVfVFlQRShOYW1lLFBhcmFtcyxJRClcCisgICAgTmFtZTwgQk9PU1RfUFBfRU5VTV9QQVJBTVMoQk9PU1RfUFBfU0VRX1NJWkUoUGFyYW1zKSwgUCkgPgorCisvL1NpbmNlIHdlIGFyZSBjcmVhdGluZyBhbiBpbnRlcm5hbCBkZWNvZGUgc3RydWN0LCB3ZSBuZWVkIHRvIHVzZSBkaWZmZXJlbnQgdGVtcGxhdGUgbmFtZXMsIFQgaW5zdGVhZCBvZiBQLgorI2RlZmluZSBCT09TVF9UWVBFT0ZfUkVHSVNURVJfREVDT0RFUl9UWVBFX1BBUkFNX1BBSVIoeixuLGVsZW0pIFwKKyAgICBCT09TVF9UWVBFT0ZfVklSVFVBTChFWFBBTkRUWVBFLCBlbGVtKShlbGVtKSBCT09TVF9QUF9DQVQoVCwgbikKKworLy9EZWZhdWx0IHRlbXBsYXRlIHBhcmFtIGRlY29kaW5nCisKKyNkZWZpbmUgQk9PU1RfVFlQRU9GX1RZUEVERUZfREVDT0RFRF9URU1QTEFURV9UWVBFKE5hbWUsUGFyYW1zKVwKKyAgICB0eXBlZGVmIE5hbWU8Qk9PU1RfUFBfRU5VTV9QQVJBTVMoQk9PU1RfUFBfU0VRX1NJWkUoUGFyYW1zKSxCT09TVF9UWVBFT0ZfUVVBTElGWShQKSk+IHR5cGU7CisKKy8vQnJhbmNoIHRoZSBkZWNvZGluZworI2RlZmluZSBCT09TVF9UWVBFT0ZfVFlQRURFRl9ERUNPREVEX1RZUEUoTmFtZSxQYXJhbXMpXAorICAgIEJPT1NUX1BQX0lGKEJPT1NUX1RZUEVPRl9IQVNfVEVNUExBVEVTKFBhcmFtcyksXAorICAgICAgICBCT09TVF9UWVBFT0ZfVFlQRURFRl9ERUNPREVEX1RFTVBMQVRFX1RFTVBMQVRFX1RZUEUsXAorICAgICAgICBCT09TVF9UWVBFT0ZfVFlQRURFRl9ERUNPREVEX1RFTVBMQVRFX1RZUEUpKE5hbWUsUGFyYW1zKQorCisjZGVmaW5lIEJPT1NUX1RZUEVPRl9SRUdJU1RFUl9URU1QTEFURV9JTVBMKE5hbWUsIFBhcmFtcywgU2l6ZSwgSUQpXAorICAgIEJPT1NUX1RZUEVPRl9CRUdJTl9FTkNPREVfTlNcCisgICAgQk9PU1RfVFlQRU9GX1JFR0lTVEVSX1RFTVBMQVRFX1RFTVBMQVRFX0lNUEwoTmFtZSwgUGFyYW1zLCBJRClcCisgICAgdGVtcGxhdGU8Y2xhc3MgVlwKKyAgICAgICAgQk9PU1RfVFlQRU9GX1NFUV9FTlVNX1RSQUlMSU5HKFBhcmFtcywgQk9PU1RfVFlQRU9GX1JFR0lTVEVSX1RFTVBMQVRFX1BBUkFNX1BBSVIpXAorICAgID5cCisgICAgc3RydWN0IGVuY29kZV90eXBlX2ltcGw8ViwgTmFtZTxCT09TVF9QUF9FTlVNX1BBUkFNUyhTaXplLCBQKT4gPlwKKyAgICB7XAorICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG5kbmJvb3N0Ojp0eXBlX29mOjpwdXNoX2JhY2s8ViwgbmRuYm9vc3Q6Om1wbDo6c2l6ZV90PElEPiA+Ojp0eXBlIFYwO1wKKyAgICAgICAgQk9PU1RfUFBfU0VRX0ZPUl9FQUNIX0koQk9PU1RfVFlQRU9GX1JFR0lTVEVSX1RFTVBMQVRFX0VOQ09ERV9QQVJBTSwgfiwgUGFyYW1zKVwKKyAgICAgICAgdHlwZWRlZiBCT09TVF9QUF9DQVQoViwgU2l6ZSkgdHlwZTtcCisgICAgfTtcCisgICAgdGVtcGxhdGU8Y2xhc3MgSXRlcj5cCisgICAgc3RydWN0IGRlY29kZV90eXBlX2ltcGw8bmRuYm9vc3Q6Om1wbDo6c2l6ZV90PElEPiwgSXRlcj5cCisgICAge1wKKyAgICAgICAgdHlwZWRlZiBkZWNvZGVfdHlwZV9pbXBsPG5kbmJvb3N0OjptcGw6OnNpemVfdDxJRD4sIEl0ZXI+IHNlbGZfdDtcCisgICAgICAgIHR5cGVkZWYgbmRuYm9vc3Q6Om1wbDo6c2l6ZV90PElEPiBzZWxmX2lkO1wKKyAgICAgICAgdHlwZWRlZiBJdGVyIGl0ZXIwO1wKKyAgICAgICAgQk9PU1RfUFBfU0VRX0ZPUl9FQUNIX0koQk9PU1RfVFlQRU9GX1JFR0lTVEVSX1RFTVBMQVRFX0RFQ09ERV9QQVJBTSwgfiwgUGFyYW1zKVwKKyAgICAgICAgQk9PU1RfVFlQRU9GX1RZUEVERUZfREVDT0RFRF9UWVBFKE5hbWUsIFBhcmFtcylcCisgICAgICAgIHR5cGVkZWYgQk9PU1RfUFBfQ0FUKGl0ZXIsIFNpemUpIGl0ZXI7XAorICAgIH07XAorICAgIEJPT1NUX1RZUEVPRl9FTkRfRU5DT0RFX05TCisKKyNlbmRpZi8vQk9PU1RfVFlQRU9GX1RFTVBMQVRFX0VOQ09ESU5HX0hQUF9JTkNMVURFRApkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvdHlwZW9mL3RlbXBsYXRlX3RlbXBsYXRlX3BhcmFtLmhwcCBiL25kbmJvb3N0L3R5cGVvZi90ZW1wbGF0ZV90ZW1wbGF0ZV9wYXJhbS5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjcwNDYxNgotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L3R5cGVvZi90ZW1wbGF0ZV90ZW1wbGF0ZV9wYXJhbS5ocHAKQEAgLTAsMCArMSwxNDkgQEAKKy8vIENvcHlyaWdodCAoQykgMjAwNSBQZWRlciBIb2x0CisvLyBDb3B5cmlnaHQgKEMpIDIwMDUgQXJrYWRpeSBWZXJ0bGV5YgorLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAoU2VlIGFjY29tcGFueWluZworLy8gZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisKKyNpZm5kZWYgQk9PU1RfVFlQRU9GX1RFTVBMQVRFX1RFTVBMQVRFX1BBUkFNX0hQUF9JTkNMVURFRAorI2RlZmluZSBCT09TVF9UWVBFT0ZfVEVNUExBVEVfVEVNUExBVEVfUEFSQU1fSFBQX0lOQ0xVREVECisKKyNpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3IvbG9naWNhbC9vci5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL3NlcS9mb2xkX2xlZnQuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9zZXEvZW51bS5ocHA+CisKKyNkZWZpbmUgQk9PU1RfVFlQRU9GX01BS0VfT0JKX3RlbXBsYXRlKHgpICAgQk9PU1RfVFlQRU9GX1RFTVBMQVRFX1BBUkFNKHgpCisjZGVmaW5lIEJPT1NUX1RZUEVPRl9URU1QTEFURShYKSB0ZW1wbGF0ZShYKSBCT09TVF9UWVBFT0ZfRUFUCisjZGVmaW5lIEJPT1NUX1RZUEVPRl90ZW1wbGF0ZShYKSAodGVtcGxhdGUoWCkpCisKKyNkZWZpbmUgQk9PU1RfVFlQRU9GX1RFTVBMQVRFX1BBUkFNKFBhcmFtcylcCisgICAgKFRFTVBMQVRFX1BBUkFNKVwKKyAgICAoUGFyYW1zKQorCisjZGVmaW5lIEJPT1NUX1RZUEVPRl9URU1QTEFURV9QQVJBTV9HRVRQQVJBTVMoVGhpcylcCisgICAgQk9PU1RfVFlQRU9GX1RPU0VRKEJPT1NUX1BQX1NFUV9FTEVNKDEsIFRoaXMpKQorCisvL0VuY29kZSAvIGRlY29kZSB0aGlzCisjZGVmaW5lIEJPT1NUX1RZUEVPRl9URU1QTEFURV9QQVJBTV9FTkNPREUoVGhpcywgbilcCisgICB0eXBlZGVmIHR5cGVuYW1lIG5kbmJvb3N0Ojp0eXBlX29mOjplbmNvZGVfdGVtcGxhdGU8Qk9PU1RfUFBfQ0FUKFYsIG4pLFwKKyAgICAgICBCT09TVF9QUF9DQVQoUCwgbik8Qk9PU1RfVFlQRU9GX1NFUV9FTlVNKEJPT1NUX1RZUEVPRl9NQUtFX09CSlMoQk9PU1RfVFlQRU9GX1RFTVBMQVRFX1BBUkFNX0dFVFBBUkFNUyhUaGlzKSksQk9PU1RfVFlQRU9GX1BMQUNFSE9MREVSKSA+XAorICAgPjo6dHlwZSBCT09TVF9QUF9DQVQoViwgQk9PU1RfUFBfSU5DKG4pKTsKKworI2RlZmluZSBCT09TVF9UWVBFT0ZfVEVNUExBVEVfUEFSQU1fREVDT0RFKFRoaXMsIG4pXAorICAgdHlwZWRlZiBuZG5ib29zdDo6dHlwZV9vZjo6ZGVjb2RlX3RlbXBsYXRlPCBCT09TVF9QUF9DQVQoaXRlciwgbikgPiBCT09TVF9QUF9DQVQoZCwgbik7XAorICAgdHlwZWRlZiB0eXBlbmFtZSBCT09TVF9QUF9DQVQoZCwgbik6OnR5cGUgQk9PU1RfUFBfQ0FUKFAsIG4pO1wKKyAgIHR5cGVkZWYgdHlwZW5hbWUgQk9PU1RfUFBfQ0FUKGQsIG4pOjppdGVyIEJPT1NUX1BQX0NBVChpdGVyLEJPT1NUX1BQX0lOQyhuKSk7CisKKy8vIHRlbXBsYXRlPGNsYXNzLCB1bnNpZ25lZCBpbnQsIC4uLj4gY2xhc3MKKyNkZWZpbmUgQk9PU1RfVFlQRU9GX1RFTVBMQVRFX1BBUkFNX0VYUEFORFRZUEUoVGhpcykgXAorICAgIHRlbXBsYXRlIDxCT09TVF9QUF9TRVFfRU5VTShCT09TVF9UWVBFT0ZfVEVNUExBVEVfUEFSQU1fR0VUUEFSQU1TKFRoaXMpKSA+IGNsYXNzCisKKyNkZWZpbmUgQk9PU1RfVFlQRU9GX1RFTVBMQVRFX1BBUkFNX1BMQUNFSE9MREVSKFBhcmFtKVwKKyAgICBOZXN0ZWRfVGVtcGxhdGVfVGVtcGxhdGVfQXJndW1lbnRzX05vdF9TdXBwb3J0ZWQKKworLy8ndGVtcGxhdGU8Y2xhc3MsaW50PiBjbGFzcycgaXMgcmVkdWNlZCB0byAnY2xhc3MnCisjZGVmaW5lIEJPT1NUX1RZUEVPRl9URU1QTEFURV9QQVJBTV9ERUNMQVJBVElPTl9UWVBFKFBhcmFtKSBjbGFzcworCisvLyBUMzxpbnQsICh1bnNpZ25lZCBpbnQpMCwgLi4uPgorI2RlZmluZSBCT09TVF9UWVBFT0ZfVEVNUExBVEVfUEFSQU1fUExBQ0VIT0xERVJfVFlQRVMoUGFyYW0sIG4pXAorICAgIEJPT1NUX1BQX0NBVChULG4pPEJPT1NUX1RZUEVPRl9TRVFfRU5VTV8xKEJPT1NUX1RZUEVPRl9NQUtFX09CSlMoQk9PU1RfVFlQRU9GX1RFTVBMQVRFX1BBUkFNX0dFVFBBUkFNUyhQYXJhbSkpLEJPT1NUX1RZUEVPRl9QTEFDRUhPTERFUikgPgorCisjZGVmaW5lIEJPT1NUX1RZUEVPRl9URU1QTEFURV9QQVJBTV9JU1RFTVBMQVRFIDEKKworLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworLy8gbW92ZSB0byBlbmNvZGVfZGVjb2RlPworCitCT09TVF9UWVBFT0ZfQkVHSU5fRU5DT0RFX05TCisKK3RlbXBsYXRlPGNsYXNzIFYsIGNsYXNzIFR5cGVfTm90X1JlZ2lzdGVyZWRfV2l0aF9UeXBlb2ZfU3lzdGVtPiBzdHJ1Y3QgZW5jb2RlX3RlbXBsYXRlX2ltcGw7Cit0ZW1wbGF0ZTxjbGFzcyBULCBjbGFzcyBJdGVyPiBzdHJ1Y3QgZGVjb2RlX3RlbXBsYXRlX2ltcGw7CisKK0JPT1NUX1RZUEVPRl9FTkRfRU5DT0RFX05TCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSB0eXBlX29mIHsKKworICAgIHRlbXBsYXRlPGNsYXNzIFYsIGNsYXNzIFQ+IHN0cnVjdCBlbmNvZGVfdGVtcGxhdGUKKyAgICAgICAgOiBCT09TVF9UWVBFT0ZfRU5DT0RFX05TX1FVQUxJRklFUjo6ZW5jb2RlX3RlbXBsYXRlX2ltcGw8ViwgVD4KKyAgICB7fTsKKworICAgIHRlbXBsYXRlPGNsYXNzIEl0ZXI+IHN0cnVjdCBkZWNvZGVfdGVtcGxhdGUKKyAgICAgICAgOiBCT09TVF9UWVBFT0ZfRU5DT0RFX05TX1FVQUxJRklFUjo6ZGVjb2RlX3RlbXBsYXRlX2ltcGw8dHlwZW5hbWUgSXRlcjo6dHlwZSwgdHlwZW5hbWUgSXRlcjo6bmV4dD4KKyAgICB7fTsKK319CisKKy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKy8vIG1vdmUgdG8gdGVtcGxhdGVfZW5jb2RpbmcuaHBwPworCisvL1RlbXBsYXRlIHRlbXBsYXRlIHJlZ2lzdHJhdGlvbgorI2RlZmluZSBCT09TVF9UWVBFT0ZfUkVHSVNURVJfVFlQRV9GT1JfVEVNUExBVEVfVEVNUExBVEUoTmFtZSxQYXJhbXMsSUQpXAorICAgIHRlbXBsYXRlPGNsYXNzIFZcCisgICAgICAgIEJPT1NUX1RZUEVPRl9TRVFfRU5VTV9UUkFJTElORyhQYXJhbXMsQk9PU1RfVFlQRU9GX1JFR0lTVEVSX1RFTVBMQVRFX1BBUkFNX1BBSVIpXAorICAgID5cCisgICAgc3RydWN0IGVuY29kZV90ZW1wbGF0ZV9pbXBsPFYsTmFtZTxcCisgICAgICAgIEJPT1NUX1BQX0VOVU1fUEFSQU1TKFwKKyAgICAgICAgQk9PU1RfUFBfU0VRX1NJWkUoUGFyYW1zKSxcCisgICAgICAgIFApPiA+XAorICAgICAgICA6IG5kbmJvb3N0Ojp0eXBlX29mOjpwdXNoX2JhY2s8ViwgbmRuYm9vc3Q6Om1wbDo6c2l6ZV90PElEPiA+XAorICAgIHtcCisgICAgfTtcCisgICAgdGVtcGxhdGU8Y2xhc3MgSXRlcj4gc3RydWN0IGRlY29kZV90ZW1wbGF0ZV9pbXBsPG5kbmJvb3N0OjptcGw6OnNpemVfdDxJRD4sIEl0ZXI+XAorICAgIHtcCisgICAgICAgIEJPT1NUX1BQX1JFUEVBVChCT09TVF9QUF9TRVFfU0laRShQYXJhbXMpLEJPT1NUX1RZUEVPRl9UWVBFREVGX0lOVF9QTixfKVwKKyAgICAgICAgdHlwZWRlZiBOYW1lPEJPT1NUX1RZUEVPRl9TRVFfRU5VTShQYXJhbXMsQk9PU1RfVFlQRU9GX1BMQUNFSE9MREVSKSA+IHR5cGU7XAorICAgICAgICB0eXBlZGVmIEl0ZXIgaXRlcjtcCisgICAgfTsKKworI2RlZmluZSBCT09TVF9UWVBFT0ZfVFlQRURFRl9JTlRfUE4oeixuLFBhcmFtcykgdHlwZWRlZiBpbnQgQk9PU1RfUFBfQ0FUKFAsbik7CisKKyNpZmRlZiBfX0JPUkxBTkRDX18KKyNkZWZpbmUgQk9PU1RfVFlQRU9GX0RFQ09ERV9ORVNURURfVEVNUExBVEVfSEVMUEVSX05BTUUgQk9PU1RfUFBfQ0FUKFwKKyAgICAgICAgQk9PU1RfUFBfQ0FUKFwKKyAgICAgICAgICAgIEJPT1NUX1BQX0NBVChcCisgICAgICAgICAgICAgICAgZGVjb2RlX25lc3RlZF90ZW1wbGF0ZV9oZWxwZXIsXAorICAgICAgICAgICAgICAgIEJPT1NUX1RZUEVPRl9SRUdJU1RSQVRJT05fR1JPVVBcCisgICAgICAgICAgICApLDB4MTAwMDBcCisgICAgICAgICksX19MSU5FX19cCisgICAgKQorI2RlZmluZSBCT09TVF9UWVBFT0ZfUkVHSVNURVJfREVDT0RFX05FU1RFRF9URU1QTEFURV9IRUxQRVJfSU1QTChOYW1lLFBhcmFtcyxJRClcCisgICAgc3RydWN0IEJPT1NUX1RZUEVPRl9ERUNPREVfTkVTVEVEX1RFTVBMQVRFX0hFTFBFUl9OQU1FIHtcCisgICAgICAgIHRlbXBsYXRlPEJPT1NUX1RZUEVPRl9TRVFfRU5VTShQYXJhbXMsQk9PU1RfVFlQRU9GX1JFR0lTVEVSX0RFQ0xBUkVfREVDT0RFUl9UWVBFX1BBUkFNX1BBSVIpID5cCisgICAgICAgIHN0cnVjdCBkZWNvZGVfcGFyYW1zO1wKKyAgICAgICAgdGVtcGxhdGU8Qk9PU1RfVFlQRU9GX1NFUV9FTlVNKFBhcmFtcyxCT09TVF9UWVBFT0ZfUkVHSVNURVJfREVDT0RFUl9UWVBFX1BBUkFNX1BBSVIpID5cCisgICAgICAgIHN0cnVjdCBkZWNvZGVfcGFyYW1zPEJPT1NUX1RZUEVPRl9TRVFfRU5VTShQYXJhbXMsQk9PU1RfVFlQRU9GX1BMQUNFSE9MREVSX1RZUEVTKSA+XAorICAgICAgICB7XAorICAgICAgICAgICAgdHlwZWRlZiBOYW1lPEJPT1NUX1BQX0VOVU1fUEFSQU1TKEJPT1NUX1BQX1NFUV9TSVpFKFBhcmFtcyksVCk+IHR5cGU7XAorICAgICAgICB9O1wKKyAgICB9OworLy9UZW1wbGF0ZSB0ZW1wbGF0ZSBwYXJhbSBkZWNvZGluZworI2RlZmluZSBCT09TVF9UWVBFT0ZfVFlQRURFRl9ERUNPREVEX1RFTVBMQVRFX1RFTVBMQVRFX1RZUEUoTmFtZSxQYXJhbXMpXAorICAgIHR5cGVkZWYgdHlwZW5hbWUgQk9PU1RfVFlQRU9GX0RFQ09ERV9ORVNURURfVEVNUExBVEVfSEVMUEVSX05BTUU6OmRlY29kZV9wYXJhbXM8Qk9PU1RfUFBfRU5VTV9QQVJBTVMoQk9PU1RfUFBfU0VRX1NJWkUoUGFyYW1zKSxQKT46OnR5cGUgdHlwZTsKKworI2Vsc2UKKyNkZWZpbmUgQk9PU1RfVFlQRU9GX1JFR0lTVEVSX0RFQ09ERV9ORVNURURfVEVNUExBVEVfSEVMUEVSX0lNUEwoTmFtZSxQYXJhbXMsSUQpCisKKy8vVGVtcGxhdGUgdGVtcGxhdGUgcGFyYW0gZGVjb2RpbmcKKyNkZWZpbmUgQk9PU1RfVFlQRU9GX1RZUEVERUZfREVDT0RFRF9URU1QTEFURV9URU1QTEFURV9UWVBFKE5hbWUsUGFyYW1zKVwKKyAgICB0ZW1wbGF0ZTxCT09TVF9UWVBFT0ZfU0VRX0VOVU0oUGFyYW1zLEJPT1NUX1RZUEVPRl9SRUdJU1RFUl9ERUNMQVJFX0RFQ09ERVJfVFlQRV9QQVJBTV9QQUlSKSA+XAorICAgIHN0cnVjdCBkZWNvZGVfcGFyYW1zO1wKKyAgICB0ZW1wbGF0ZTxCT09TVF9UWVBFT0ZfU0VRX0VOVU0oUGFyYW1zLEJPT1NUX1RZUEVPRl9SRUdJU1RFUl9ERUNPREVSX1RZUEVfUEFSQU1fUEFJUikgPlwKKyAgICBzdHJ1Y3QgZGVjb2RlX3BhcmFtczxCT09TVF9UWVBFT0ZfU0VRX0VOVU0oUGFyYW1zLEJPT1NUX1RZUEVPRl9QTEFDRUhPTERFUl9UWVBFUykgPlwKKyAgICB7XAorICAgICAgICB0eXBlZGVmIE5hbWU8Qk9PU1RfUFBfRU5VTV9QQVJBTVMoQk9PU1RfUFBfU0VRX1NJWkUoUGFyYW1zKSxUKT4gdHlwZTtcCisgICAgfTtcCisgICAgdHlwZWRlZiB0eXBlbmFtZSBkZWNvZGVfcGFyYW1zPEJPT1NUX1BQX0VOVU1fUEFSQU1TKEJPT1NUX1BQX1NFUV9TSVpFKFBhcmFtcyksUCk+Ojp0eXBlIHR5cGU7CisjZW5kaWYKKyNkZWZpbmUgQk9PU1RfVFlQRU9GX1JFR0lTVEVSX0RFQ0xBUkVfREVDT0RFUl9UWVBFX1BBUkFNX1BBSVIoeixuLGVsZW0pIFwKKyAgICBCT09TVF9UWVBFT0ZfVklSVFVBTChERUNMQVJBVElPTl9UWVBFLCBlbGVtKShlbGVtKSBCT09TVF9QUF9DQVQoVCwgbikKKworLy8gQk9PU1RfVFlQRU9GX0hBU19URU1QTEFURVMKKyNkZWZpbmUgQk9PU1RfVFlQRU9GX0hBU19URU1QTEFURVMoUGFyYW1zKVwKKyAgICBCT09TVF9QUF9TRVFfRk9MRF9MRUZUKEJPT1NUX1RZUEVPRl9IQVNfVEVNUExBVEVTX09QLCAwLCBQYXJhbXMpCisKKyNkZWZpbmUgQk9PU1RfVFlQRU9GX0hBU19URU1QTEFURVNfT1Aocywgc3RhdGUsIGVsZW0pXAorICAgIEJPT1NUX1BQX09SKHN0YXRlLCBCT09TVF9UWVBFT0ZfVklSVFVBTChJU1RFTVBMQVRFLCBlbGVtKSkKKworLy9EZWZpbmUgdGVtcGxhdGUgdGVtcGxhdGUgYXJndW1lbnRzCisjZGVmaW5lIEJPT1NUX1RZUEVPRl9SRUdJU1RFUl9URU1QTEFURV9URU1QTEFURV9JTVBMKE5hbWUsUGFyYW1zLElEKVwKKyAgICBCT09TVF9QUF9JRihCT09TVF9UWVBFT0ZfSEFTX1RFTVBMQVRFUyhQYXJhbXMpLFwKKyAgICAgICAgQk9PU1RfVFlQRU9GX1JFR0lTVEVSX0RFQ09ERV9ORVNURURfVEVNUExBVEVfSEVMUEVSX0lNUEwsXAorICAgICAgICBCT09TVF9UWVBFT0ZfUkVHSVNURVJfVFlQRV9GT1JfVEVNUExBVEVfVEVNUExBVEUpKE5hbWUsUGFyYW1zLElEKQorCisjZW5kaWYgLy9CT09TVF9UWVBFT0ZfVEVNUExBVEVfVEVNUExBVEVfUEFSQU1fSFBQX0lOQ0xVREVECmRpZmYgLS1naXQgYS9uZG5ib29zdC90eXBlb2YvdHlwZV9lbmNvZGluZy5ocHAgYi9uZG5ib29zdC90eXBlb2YvdHlwZV9lbmNvZGluZy5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTNjNDUwOAotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L3R5cGVvZi90eXBlX2VuY29kaW5nLmhwcApAQCAtMCwwICsxLDI3IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMDQgQXJrYWRpeSBWZXJ0bGV5YgorLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAoU2VlIGFjY29tcGFueWluZworLy8gZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisKKyNpZm5kZWYgQk9PU1RfVFlQRU9GX1RZUEVfRU5DT0RJTkdfSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX1RZUEVPRl9UWVBFX0VOQ09ESU5HX0hQUF9JTkNMVURFRAorCisjZGVmaW5lIEJPT1NUX1RZUEVPRl9SRUdJU1RFUl9UWVBFX0lNUEwoVCwgSWQpICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IGVuY29kZV90eXBlX2ltcGw8ViwgVCA+ICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIDogbmRuYm9vc3Q6OnR5cGVfb2Y6OnB1c2hfYmFjazxWLCBuZG5ib29zdDo6bXBsOjpzaXplX3Q8SWQ+ID4gICAgICAgICBcCisgICAge307ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgdGVtcGxhdGU8Y2xhc3MgSXRlcj4gc3RydWN0IGRlY29kZV90eXBlX2ltcGw8bmRuYm9vc3Q6Om1wbDo6c2l6ZV90PElkPiwgSXRlcj4gXAorICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICB0eXBlZGVmIFQgdHlwZTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICB0eXBlZGVmIEl0ZXIgaXRlcjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIH07CisKKyNkZWZpbmUgQk9PU1RfVFlQRU9GX1JFR0lTVEVSX1RZUEVfRVhQTElDSVRfSUQoVHlwZSwgSWQpICAgICAgICAgICAgICAgIFwKKyAgICBCT09TVF9UWVBFT0ZfQkVHSU5fRU5DT0RFX05TICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBCT09TVF9UWVBFT0ZfUkVHSVNURVJfVFlQRV9JTVBMKFR5cGUsIElkKSAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBCT09TVF9UWVBFT0ZfRU5EX0VOQ09ERV9OUworCisjZGVmaW5lIEJPT1NUX1RZUEVPRl9SRUdJU1RFUl9UWVBFKFR5cGUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgQk9PU1RfVFlQRU9GX1JFR0lTVEVSX1RZUEVfRVhQTElDSVRfSUQoVHlwZSwgQk9PU1RfVFlQRU9GX1VOSVFVRV9JRCgpKQorCisjZW5kaWYvL0JPT1NUX1RZUEVPRl9UWVBFX0VOQ09ESU5HX0hQUF9JTkNMVURFRApkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvdHlwZW9mL3R5cGVfdGVtcGxhdGVfcGFyYW0uaHBwIGIvbmRuYm9vc3QvdHlwZW9mL3R5cGVfdGVtcGxhdGVfcGFyYW0uaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI4M2Y0ODAKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC90eXBlb2YvdHlwZV90ZW1wbGF0ZV9wYXJhbS5ocHAKQEAgLTAsMCArMSwzNyBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDA1IEFya2FkaXkgVmVydGxleWIKKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gKFNlZSBhY2NvbXBhbnlpbmcKKy8vIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorCisjaWZuZGVmIEJPT1NUX1RZUEVPRl9UWVBFX1RFTVBMQVRFX1BBUkFNX0hQUF9JTkNMVURFRAorI2RlZmluZSBCT09TVF9UWVBFT0ZfVFlQRV9URU1QTEFURV9QQVJBTV9IUFBfSU5DTFVERUQKKworI2RlZmluZSBCT09TVF9UWVBFT0ZfY2xhc3NfQk9PU1RfVFlQRU9GIChjbGFzcykKKyNkZWZpbmUgQk9PU1RfVFlQRU9GX3R5cGVuYW1lX0JPT1NUX1RZUEVPRiAodHlwZW5hbWUpCisKKyNkZWZpbmUgQk9PU1RfVFlQRU9GX01BS0VfT0JKX2NsYXNzIEJPT1NUX1RZUEVPRl9UWVBFX1BBUkFNCisjZGVmaW5lIEJPT1NUX1RZUEVPRl9NQUtFX09CSl90eXBlbmFtZSBCT09TVF9UWVBFT0ZfVFlQRV9QQVJBTQorCisjZGVmaW5lIEJPT1NUX1RZUEVPRl9UWVBFX1BBUkFNXAorICAgIChUWVBFX1BBUkFNKQorCisjZGVmaW5lIEJPT1NUX1RZUEVPRl9UWVBFX1BBUkFNX0VYUEFORFRZUEUoUGFyYW0pIGNsYXNzCisKKy8vIFRZUEVfUEFSQU0gInZpcnR1YWwgZnVuY3Rpb25zIiBpbXBsZW1lbnRhdGlvbgorCisjZGVmaW5lIEJPT1NUX1RZUEVPRl9UWVBFX1BBUkFNX0VOQ09ERShUaGlzLCBuKVwKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG5kbmJvb3N0Ojp0eXBlX29mOjplbmNvZGVfdHlwZTxcCisgICAgICAgIEJPT1NUX1BQX0NBVChWLCBuKSxcCisgICAgICAgIEJPT1NUX1BQX0NBVChQLCBuKVwKKyAgICA+Ojp0eXBlIEJPT1NUX1BQX0NBVChWLCBCT09TVF9QUF9JTkMobikpOyAKKworI2RlZmluZSBCT09TVF9UWVBFT0ZfVFlQRV9QQVJBTV9ERUNPREUoVGhpcywgbilcCisgICAgdHlwZWRlZiBuZG5ib29zdDo6dHlwZV9vZjo6ZGVjb2RlX3R5cGU8IEJPT1NUX1BQX0NBVChpdGVyLCBuKSA+IEJPT1NUX1BQX0NBVChkLCBuKTtcCisgICAgdHlwZWRlZiB0eXBlbmFtZSBCT09TVF9QUF9DQVQoZCwgbik6OnR5cGUgQk9PU1RfUFBfQ0FUKFAsIG4pO1wKKyAgICB0eXBlZGVmIHR5cGVuYW1lIEJPT1NUX1BQX0NBVChkLCBuKTo6aXRlciBCT09TVF9QUF9DQVQoaXRlciwgQk9PU1RfUFBfSU5DKG4pKTsKKworI2RlZmluZSBCT09TVF9UWVBFT0ZfVFlQRV9QQVJBTV9QTEFDRUhPTERFUihQYXJhbSkgaW50CisjZGVmaW5lIEJPT1NUX1RZUEVPRl9UWVBFX1BBUkFNX0RFQ0xBUkFUSU9OX1RZUEUoUGFyYW0pIGNsYXNzCisjZGVmaW5lIEJPT1NUX1RZUEVPRl9UWVBFX1BBUkFNX1BMQUNFSE9MREVSX1RZUEVTKFBhcmFtLCBuKSBCT09TVF9QUF9DQVQoVCxuKQorI2RlZmluZSBCT09TVF9UWVBFT0ZfVFlQRV9QQVJBTV9JU1RFTVBMQVRFIDAKKworI2VuZGlmLy9CT09TVF9UWVBFT0ZfVFlQRV9URU1QTEFURV9QQVJBTV9IUFBfSU5DTFVERUQKZGlmZiAtLWdpdCBhL25kbmJvb3N0L3R5cGVvZi90eXBlb2YuaHBwIGIvbmRuYm9vc3QvdHlwZW9mL3R5cGVvZi5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTg1MDVkOQotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L3R5cGVvZi90eXBlb2YuaHBwCkBAIC0wLDAgKzEsMjE4IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMDQgQXJrYWRpeSBWZXJ0bGV5YgorLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAoU2VlIGFjY29tcGFueWluZworLy8gZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisKKyNpZm5kZWYgQk9PU1RfVFlQRU9GX1RZUEVPRl9IUFBfSU5DTFVERUQKKyNkZWZpbmUgQk9PU1RfVFlQRU9GX1RZUEVPRl9IUFBfSU5DTFVERUQKKworI2lmIGRlZmluZWQoQk9PU1RfVFlQRU9GX0NPTVBMSUFOVCkKKyMgICBkZWZpbmUgQk9PU1RfVFlQRU9GX0VNVUxBVElPTgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKEJPT1NUX1RZUEVPRl9FTVVMQVRJT04pICYmIGRlZmluZWQoQk9PU1RfVFlQRU9GX05BVElWRSkKKyMgICBlcnJvciBib3RoIHR5cGVvZiBlbXVsYXRpb24gYW5kIG5hdGl2ZSBtb2RlIHJlcXVlc3RlZAorI2VuZGlmCisKKyNpZiBkZWZpbmVkKF9fQ09NT19fKQorIyAgIGlmZGVmIF9fR05VR19fCisjICAgICAgIGlmbmRlZiBCT09TVF9UWVBFT0ZfRU1VTEFUSU9OCisjICAgICAgICAgICBpZm5kZWYgQk9PU1RfVFlQRU9GX05BVElWRQorIyAgICAgICAgICAgICAgIGRlZmluZSBCT09TVF9UWVBFT0ZfTkFUSVZFCisjICAgICAgICAgICBlbmRpZgorIyAgICAgICAgICAgZGVmaW5lIEJPT1NUX1RZUEVPRl9LRVlXT1JEIHR5cGVvZgorIyAgICAgICBlbmRpZgorIyAgIGVsc2UKKyMgICAgICAgaWZuZGVmIEJPT1NUX1RZUEVPRl9OQVRJVkUKKyMgICAgICAgICAgIGlmbmRlZiBCT09TVF9UWVBFT0ZfRU1VTEFUSU9OCisjICAgICAgICAgICAgICAgZGVmaW5lIEJPT1NUX1RZUEVPRl9FTVVMQVRJT04KKyMgICAgICAgICAgIGVuZGlmCisjICAgICAgIGVsc2UKKyMgICAgICAgICAgIGVycm9yIG5hdGl2ZSB0eXBlb2YgaXMgbm90IHN1cHBvcnRlZAorIyAgICAgICBlbmRpZgorIyAgIGVuZGlmCisKKyNlbGlmIGRlZmluZWQoX19JTlRFTF9DT01QSUxFUikgfHwgZGVmaW5lZChfX0lDTCkgfHwgZGVmaW5lZChfX0lDQykgfHwgZGVmaW5lZChfX0VDQykKKyMgICBpZmRlZiBfX0dOVUNfXworIyAgICAgICBpZm5kZWYgQk9PU1RfVFlQRU9GX0VNVUxBVElPTgorIyAgICAgICAgICAgaWZuZGVmIEJPT1NUX1RZUEVPRl9OQVRJVkUKKyMgICAgICAgICAgICAgICBkZWZpbmUgQk9PU1RfVFlQRU9GX05BVElWRQorIyAgICAgICAgICAgZW5kaWYKKyMgICAgICAgICAgIGRlZmluZSBCT09TVF9UWVBFT0ZfS0VZV09SRCBfX3R5cGVvZl9fCisjICAgICAgIGVuZGlmCisjICAgZWxzZQorIyAgICAgICBpZm5kZWYgQk9PU1RfVFlQRU9GX05BVElWRQorIyAgICAgICAgICAgaWZuZGVmIEJPT1NUX1RZUEVPRl9FTVVMQVRJT04KKyMgICAgICAgICAgICAgICBkZWZpbmUgQk9PU1RfVFlQRU9GX0VNVUxBVElPTgorIyAgICAgICAgICAgZW5kaWYKKyMgICAgICAgZWxzZQorIyAgICAgICAgICAgZXJyb3IgbmF0aXZlIHR5cGVvZiBpcyBub3Qgc3VwcG9ydGVkCisjICAgICAgIGVuZGlmCisjICAgZW5kaWYKKworI2VsaWYgZGVmaW5lZChfX0dOVUNfXykKKyMgICBpZm5kZWYgQk9PU1RfVFlQRU9GX0VNVUxBVElPTgorIyAgICAgICBpZm5kZWYgQk9PU1RfVFlQRU9GX05BVElWRQorIyAgICAgICAgICAgZGVmaW5lIEJPT1NUX1RZUEVPRl9OQVRJVkUKKyMgICAgICAgZW5kaWYKKyMgICAgICAgZGVmaW5lIEJPT1NUX1RZUEVPRl9LRVlXT1JEIF9fdHlwZW9mX18KKyMgICBlbmRpZgorCisjZWxpZiBkZWZpbmVkKF9fTVdFUktTX18pCisjICAgaWYoX19NV0VSS1NfXyA8PSAweDMwMDMpICAvLyA4LngKKyMgICAgICAgaWZuZGVmIEJPT1NUX1RZUEVPRl9FTVVMQVRJT04KKyMgICAgICAgICAgIGlmbmRlZiBCT09TVF9UWVBFT0ZfTkFUSVZFCisjICAgICAgICAgICAgICAgZGVmaW5lIEJPT1NUX1RZUEVPRl9OQVRJVkUKKyMgICAgICAgICAgIGVuZGlmCisjICAgICAgICAgICBkZWZpbmUgQk9PU1RfVFlQRU9GX0tFWVdPUkQgX190eXBlb2ZfXworIyAgICAgICBlbHNlCisjICAgICAgICAgICBkZWZpbmUgQk9PU1RfVFlQRU9GX0VNVUxBVElPTl9VTlNVUFBPUlRFRAorIyAgICAgICBlbmRpZgorIyAgIGVsc2UgLy8gOS54CisjICAgICAgIGlmbmRlZiBCT09TVF9UWVBFT0ZfRU1VTEFUSU9OCisjICAgICAgICAgICBpZm5kZWYgQk9PU1RfVFlQRU9GX05BVElWRQorIyAgICAgICAgICAgICAgIGRlZmluZSBCT09TVF9UWVBFT0ZfTkFUSVZFCisjICAgICAgICAgICBlbmRpZgorIyAgICAgICAgICAgZGVmaW5lIEJPT1NUX1RZUEVPRl9LRVlXT1JEIF9fdHlwZW9mX18KKyMgICAgICAgZW5kaWYKKyMgICBlbmRpZgorI2VsaWYgZGVmaW5lZCBfX0NPREVHRUFSQ19fCisjICAgaWZuZGVmIEJPT1NUX1RZUEVPRl9FTVVMQVRJT04KKyMgICAgICAgaWZuZGVmIEJPT1NUX1RZUEVPRl9OQVRJVkUKKyMgICAgICAgICAgIGRlZmluZSBCT09TVF9UWVBFT0ZfRU1VTEFUSU9OX1VOU1VQUE9SVEVECisjICAgICAgIGVuZGlmCisjICAgZWxzZQorIyAgICAgICBkZWZpbmUgQk9PU1RfVFlQRU9GX0VNVUxBVElPTl9VTlNVUFBPUlRFRAorIyAgIGVuZGlmCisjZWxpZiBkZWZpbmVkIF9fQk9STEFORENfXworIyAgIGlmbmRlZiBCT09TVF9UWVBFT0ZfRU1VTEFUSU9OCisjICAgICAgIGlmbmRlZiBCT09TVF9UWVBFT0ZfTkFUSVZFCisjICAgICAgICAgICBkZWZpbmUgQk9PU1RfVFlQRU9GX0VNVUxBVElPTl9VTlNVUFBPUlRFRAorIyAgICAgICBlbmRpZgorIyAgIGVsc2UKKyMgICAgICAgZGVmaW5lIEJPT1NUX1RZUEVPRl9FTVVMQVRJT05fVU5TVVBQT1JURUQKKyMgICBlbmRpZgorI2VsaWYgZGVmaW5lZCBfX0RNQ19fCisjICAgaWZuZGVmIEJPT1NUX1RZUEVPRl9FTVVMQVRJT04KKyMgICAgICAgaWZuZGVmIEJPT1NUX1RZUEVPRl9OQVRJVkUKKyMgICAgICAgICAgIGRlZmluZSBCT09TVF9UWVBFT0ZfTkFUSVZFCisjICAgICAgIGVuZGlmCisjICAgICAgIGluY2x1ZGUgPG5kbmJvb3N0L3R5cGVvZi9kbWMvdHlwZW9mX2ltcGwuaHBwPgorIyAgICAgICBkZWZpbmUgTVNWQ19UWVBFT0ZfSEFDSworIyAgIGVuZGlmCisjZWxpZiBkZWZpbmVkKF9NU0NfVkVSKQorIyAgIGlmIChfTVNDX1ZFUiA8PSAxMzAwKSAgLy8gNi41LCA3LjAKKyMgICAgICAgaWZuZGVmIEJPT1NUX1RZUEVPRl9FTVVMQVRJT04KKyMgICAgICAgICAgIGlmbmRlZiBCT09TVF9UWVBFT0ZfTkFUSVZFCisjICAgICAgICAgICAgICAgZGVmaW5lIEJPT1NUX1RZUEVPRl9OQVRJVkUKKyMgICAgICAgICAgIGVuZGlmCisjICAgICAgICAgICBpbmNsdWRlIDxuZG5ib29zdC90eXBlb2YvbXN2Yy90eXBlb2ZfaW1wbC5ocHA+CisjICAgICAgICAgICBkZWZpbmUgTVNWQ19UWVBFT0ZfSEFDSworIyAgICAgICBlbHNlCisjICAgICAgICAgICBlcnJvciB0eXBlb2YgZW11bGF0aW9uIGlzIG5vdCBzdXBwb3J0ZWQKKyMgICAgICAgZW5kaWYKKyMgICBlbGlmIChfTVNDX1ZFUiA+PSAxMzEwKSAgLy8gNy4xIC0+CisjICAgICAgIGlmbmRlZiBCT09TVF9UWVBFT0ZfRU1VTEFUSU9OCisjICAgICAgICAgICBpZm5kZWYgQk9PU1RfVFlQRU9GX05BVElWRQorIyAgICAgICAgICAgICAgIGlmbmRlZiBfTVNDX0VYVEVOU0lPTlMKKyMgICAgICAgICAgICAgICAgICAgZGVmaW5lIEJPT1NUX1RZUEVPRl9FTVVMQVRJT04KKyMgICAgICAgICAgICAgICBlbHNlCisjICAgICAgICAgICAgICAgICAgIGRlZmluZSBCT09TVF9UWVBFT0ZfTkFUSVZFCisjICAgICAgICAgICAgICAgZW5kaWYKKyMgICAgICAgICAgIGVuZGlmCisjICAgICAgIGVuZGlmCisjICAgICAgIGlmZGVmIEJPT1NUX1RZUEVPRl9OQVRJVkUKKyMgICAgICAgICAgIGluY2x1ZGUgPG5kbmJvb3N0L3R5cGVvZi9tc3ZjL3R5cGVvZl9pbXBsLmhwcD4KKyMgICAgICAgICAgIGRlZmluZSBNU1ZDX1RZUEVPRl9IQUNLCisjICAgICAgIGVuZGlmCisjICAgZW5kaWYKKyNlbGlmIGRlZmluZWQoX19IUF9hQ0MpCisjICAgaWZuZGVmIEJPT1NUX1RZUEVPRl9OQVRJVkUKKyMgICAgICAgaWZuZGVmIEJPT1NUX1RZUEVPRl9FTVVMQVRJT04KKyMgICAgICAgICAgIGRlZmluZSBCT09TVF9UWVBFT0ZfRU1VTEFUSU9OCisjICAgICAgIGVuZGlmCisjICAgZWxzZQorIyAgICAgICBlcnJvciBuYXRpdmUgdHlwZW9mIGlzIG5vdCBzdXBwb3J0ZWQKKyMgICBlbmRpZgorCisjZWxpZiBkZWZpbmVkKF9fREVDQ1hYKQorIyAgIGlmbmRlZiBCT09TVF9UWVBFT0ZfTkFUSVZFCisjICAgICAgIGlmbmRlZiBCT09TVF9UWVBFT0ZfRU1VTEFUSU9OCisjICAgICAgICAgICBkZWZpbmUgQk9PU1RfVFlQRU9GX0VNVUxBVElPTgorIyAgICAgICBlbmRpZgorIyAgIGVsc2UKKyMgICAgICAgZXJyb3IgbmF0aXZlIHR5cGVvZiBpcyBub3Qgc3VwcG9ydGVkCisjICAgZW5kaWYKKworI2VsaWYgZGVmaW5lZChfX0JPUkxBTkRDX18pCisjICAgaWYgKF9fQk9STEFORENfXyA8IDB4NTkwKQorIyAgICAgICBkZWZpbmUgQk9PU1RfVFlQRU9GX05PX0ZVTkNUSU9OX1RZUEVTCisjICAgICAgIGRlZmluZSBCT09TVF9UWVBFT0ZfTk9fTUVNQkVSX0ZVTkNUSU9OX1RZUEVTCisjICAgZW5kaWYKKyMgICBpZm5kZWYgQk9PU1RfVFlQRU9GX05BVElWRQorIyAgICAgICBpZm5kZWYgQk9PU1RfVFlQRU9GX0VNVUxBVElPTgorIyAgICAgICAgICAgZGVmaW5lIEJPT1NUX1RZUEVPRl9FTVVMQVRJT04KKyMgICAgICAgZW5kaWYKKyMgICBlbHNlCisjICAgICAgIGVycm9yIG5hdGl2ZSB0eXBlb2YgaXMgbm90IHN1cHBvcnRlZAorIyAgIGVuZGlmCisjZWxpZiBkZWZpbmVkKF9fU1VOUFJPX0NDKQorIyAgIGlmIChfX1NVTlBST19DQyA8IDB4NTkwICkKKyMgICAgIGlmZGVmIEJPT1NUX1RZUEVPRl9OQVRJVkUKKyMgICAgICAgICBlcnJvciBuYXRpdmUgdHlwZW9mIGlzIG5vdCBzdXBwb3J0ZWQKKyMgICAgIGVuZGlmCisjICAgICBpZm5kZWYgQk9PU1RfVFlQRU9GX0VNVUxBVElPTgorIyAgICAgICAgIGRlZmluZSBCT09TVF9UWVBFT0ZfRU1VTEFUSU9OCisjICAgICBlbmRpZgorIyAgIGVsc2UKKyMgICAgIGlmbmRlZiBCT09TVF9UWVBFT0ZfRU1VTEFUSU9OCisjICAgICAgICAgaWZuZGVmIEJPT1NUX1RZUEVPRl9OQVRJVkUKKyMgICAgICAgICAgICAgZGVmaW5lIEJPT1NUX1RZUEVPRl9OQVRJVkUKKyMgICAgICAgICBlbmRpZgorIyAgICAgICAgIGRlZmluZSBCT09TVF9UWVBFT0ZfS0VZV09SRCBfX3R5cGVvZl9fCisjICAgICBlbmRpZgorIyAgIGVuZGlmCisjZWxzZSAvL3Vua25vd24gY29tcGlsZXIKKyMgICBpZm5kZWYgQk9PU1RfVFlQRU9GX05BVElWRQorIyAgICAgICBpZm5kZWYgQk9PU1RfVFlQRU9GX0VNVUxBVElPTgorIyAgICAgICAgICAgZGVmaW5lIEJPT1NUX1RZUEVPRl9FTVVMQVRJT04KKyMgICAgICAgZW5kaWYKKyMgICBlbHNlCisjICAgICAgIGlmbmRlZiBCT09TVF9UWVBFT0ZfS0VZV09SRAorIyAgICAgICAgICAgZGVmaW5lIEJPT1NUX1RZUEVPRl9LRVlXT1JEIHR5cGVvZgorIyAgICAgICBlbmRpZgorIyAgIGVuZGlmCisKKyNlbmRpZgorCisjZGVmaW5lIEJPT1NUX1RZUEVPRl9VTklRVUVfSUQoKVwKKyAgICAgQk9PU1RfVFlQRU9GX1JFR0lTVFJBVElPTl9HUk9VUCAqIDB4MTAwMDAgKyBfX0xJTkVfXworCisjZGVmaW5lIEJPT1NUX1RZUEVPRl9JTkNSRU1FTlRfUkVHSVNUUkFUSU9OX0dST1VQKClcCisgICAgIDxuZG5ib29zdC90eXBlb2YvaW5jcl9yZWdpc3RyYXRpb25fZ3JvdXAuaHBwPgorCisjaWZkZWYgQk9PU1RfVFlQRU9GX0VNVUxBVElPTl9VTlNVUFBPUlRFRAorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L3R5cGVvZi91bnN1cHBvcnRlZC5ocHA+CisjZWxpZiBkZWZpbmVkIEJPT1NUX1RZUEVPRl9FTVVMQVRJT04KKyMgICBkZWZpbmUgQk9PU1RfVFlQRU9GX1RFWFQgInVzaW5nIHR5cGVvZiBlbXVsYXRpb24iCisjICAgaW5jbHVkZSA8bmRuYm9vc3QvdHlwZW9mL21lc3NhZ2UuaHBwPgorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L3R5cGVvZi90eXBlb2ZfaW1wbC5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvdHlwZW9mL3R5cGVfZW5jb2RpbmcuaHBwPgorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L3R5cGVvZi90ZW1wbGF0ZV9lbmNvZGluZy5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvdHlwZW9mL21vZGlmaWVycy5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvdHlwZW9mL3BvaW50ZXJzX2RhdGFfbWVtYmVycy5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvdHlwZW9mL3JlZ2lzdGVyX2Z1bmN0aW9ucy5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvdHlwZW9mL3JlZ2lzdGVyX2Z1bmRhbWVudGFsLmhwcD4KKworI2VsaWYgZGVmaW5lZChCT09TVF9UWVBFT0ZfTkFUSVZFKQorIyAgIGRlZmluZSBCT09TVF9UWVBFT0ZfVEVYVCAidXNpbmcgbmF0aXZlIHR5cGVvZiIKKyMgICBpbmNsdWRlIDxuZG5ib29zdC90eXBlb2YvbWVzc2FnZS5ocHA+CisjICAgaW5jbHVkZSA8bmRuYm9vc3QvdHlwZW9mL25hdGl2ZS5ocHA+CisjZWxzZQorIyAgIGVycm9yIHR5cGVvZiBjb25maWd1cmF0aW9uIGVycm9yCisjZW5kaWYKKworLy8gYXV0bworI2RlZmluZSBCT09TVF9BVVRPKFZhciwgRXhwcikgQk9PU1RfVFlQRU9GKEV4cHIpIFZhciA9IEV4cHIKKyNkZWZpbmUgQk9PU1RfQVVUT19UUEwoVmFyLCBFeHByKSBCT09TVF9UWVBFT0ZfVFBMKEV4cHIpIFZhciA9IEV4cHIKKworI2VuZGlmLy9CT09TVF9UWVBFT0ZfVFlQRU9GX0hQUF9JTkNMVURFRApkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvdHlwZW9mL3R5cGVvZl9pbXBsLmhwcCBiL25kbmJvb3N0L3R5cGVvZi90eXBlb2ZfaW1wbC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODgwYWZlZAotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L3R5cGVvZi90eXBlb2ZfaW1wbC5ocHAKQEAgLTAsMCArMSwxODYgQEAKKy8vIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSBBcmthZGl5IFZlcnRsZXliCisvLyBDb3B5cmlnaHQgKEMpIDIwMDUgUGVkZXIgSG9sdAorLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAoU2VlIGFjY29tcGFueWluZworLy8gZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisKKyNpZm5kZWYgQk9PU1RfVFlQRU9GX1RZUEVPRl9JTVBMX0hQUF9JTkNMVURFRAorI2RlZmluZSBCT09TVF9UWVBFT0ZfVFlQRU9GX0lNUExfSFBQX0lOQ0xVREVECisKKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvc2l6ZV90LmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3IvcmVwZXRpdGlvbi9lbnVtLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlb2YvZW5jb2RlX2RlY29kZS5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZW9mL3ZlY3Rvci5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvaXNfZnVuY3Rpb24uaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3V0aWxpdHkvZW5hYmxlX2lmLmhwcD4KKworI2RlZmluZSBCT09TVF9UWVBFT0ZfVkVDVE9SKG4pIEJPT1NUX1BQX0NBVChuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yLCBuKQorCisjZGVmaW5lIEJPT1NUX1RZUEVPRl9zaXplcl9pdGVtKHosIG4sIF8pXAorICAgIGNoYXIgaXRlbSAjIyBuW1Y6Oml0ZW0gIyMgbiA6OnZhbHVlXTsKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIHR5cGVfb2YgeworICAgIHRlbXBsYXRlPGNsYXNzIFY+CisgICAgc3RydWN0IHNpemVyCisgICAgeworICAgICAgICAvLyBjaGFyIGl0ZW0wW1Y6Oml0ZW0wOjp2YWx1ZV07CisgICAgICAgIC8vIGNoYXIgaXRlbTFbVjo6aXRlbTE6OnZhbHVlXTsKKyAgICAgICAgLy8gLi4uCisKKyAgICAgICAgQk9PU1RfUFBfUkVQRUFUKEJPT1NUX1RZUEVPRl9MSU1JVF9TSVpFLCBCT09TVF9UWVBFT0Zfc2l6ZXJfaXRlbSwgfikKKyAgICB9OworfX0KKworI3VuZGVmIEJPT1NUX1RZUEVPRl9zaXplcl9pdGVtCisKKy8vCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgdHlwZV9vZiB7CisjIGlmZGVmIEJPT1NUX05PX1NGSU5BRQorICAgIHRlbXBsYXRlPGNsYXNzIFYsIGNsYXNzIFQ+CisgICAgc2l6ZXI8dHlwZW5hbWUgZW5jb2RlX3R5cGU8ViwgVD46OnR5cGU+IGVuY29kZShjb25zdCBUJik7CisjIGVsc2UKKyAgICB0ZW1wbGF0ZTxjbGFzcyBWLCBjbGFzcyBUPgorICAgIHR5cGVuYW1lIGVuYWJsZV9pZjwKKyAgICAgICAgdHlwZW5hbWUgaXNfZnVuY3Rpb248VD46OnR5cGUsCisgICAgICAgIHNpemVyPHR5cGVuYW1lIGVuY29kZV90eXBlPFYsIFQ+Ojp0eXBlPiA+Ojp0eXBlIGVuY29kZShUJik7CisKKyAgICB0ZW1wbGF0ZTxjbGFzcyBWLCBjbGFzcyBUPgorICAgIHR5cGVuYW1lIGRpc2FibGVfaWY8CisgICAgICAgIHR5cGVuYW1lIGlzX2Z1bmN0aW9uPFQ+Ojp0eXBlLAorICAgICAgICBzaXplcjx0eXBlbmFtZSBlbmNvZGVfdHlwZTxWLCBUPjo6dHlwZT4gPjo6dHlwZSBlbmNvZGUoY29uc3QgVCYpOworIyBlbmRpZgorfX0KKy8vCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgdHlwZV9vZiB7CisKKyAgICB0ZW1wbGF0ZTxjbGFzcyBWPgorICAgIHN0cnVjdCBkZWNvZGVfYmVnaW4KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgZGVjb2RlX3R5cGU8dHlwZW5hbWUgVjo6YmVnaW4+Ojp0eXBlIHR5cGU7CisgICAgfTsKK319CisKKyNkZWZpbmUgQk9PU1RfVFlQRU9GX1RZUEVJVEVNKHosIG4sIGV4cHIpXAorICAgIG5kbmJvb3N0OjptcGw6OnNpemVfdDxzaXplb2YobmRuYm9vc3Q6OnR5cGVfb2Y6OmVuY29kZTxCT09TVF9UWVBFT0ZfVkVDVE9SKDApPD4gPihleHByKS5pdGVtICMjIG4pPgorCisjZGVmaW5lIEJPT1NUX1RZUEVPRl9FTkNPREVEX1ZFQ1RPUihFeHByKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIEJPT1NUX1RZUEVPRl9WRUNUT1IoQk9PU1RfVFlQRU9GX0xJTUlUX1NJWkUpPCAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgQk9PU1RfUFBfRU5VTShCT09TVF9UWVBFT0ZfTElNSVRfU0laRSwgQk9PU1RfVFlQRU9GX1RZUEVJVEVNLCBFeHByKSBcCisgICAgPgorCisjZGVmaW5lIEJPT1NUX1RZUEVPRihFeHByKVwKKyAgICBuZG5ib29zdDo6dHlwZV9vZjo6ZGVjb2RlX2JlZ2luPEJPT1NUX1RZUEVPRl9FTkNPREVEX1ZFQ1RPUihFeHByKSA+Ojp0eXBlCisKKyNkZWZpbmUgQk9PU1RfVFlQRU9GX1RQTCB0eXBlbmFtZSBCT09TVF9UWVBFT0YKKworLy9vZmZzZXRfdmVjdG9yIGlzIHVzZWQgdG8gZGVsYXkgdGhlIGluc2VydGlvbiBvZiBkYXRhIGludG8gdGhlIHZlY3RvciBpbiBvcmRlciB0byBhbGxvdworLy9lbmNvZGluZyB0byBiZSBkb25lIGluIG1hbnkgc3RlcHMKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSB0eXBlX29mIHsKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBWLHR5cGVuYW1lIE9mZnNldD4KKyAgICBzdHJ1Y3Qgb2Zmc2V0X3ZlY3RvciB7CisgICAgfTsKKworICAgIHRlbXBsYXRlPGNsYXNzIFYsY2xhc3MgT2Zmc2V0LGNsYXNzIFQ+CisgICAgc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6b2Zmc2V0X3ZlY3RvcjxWLE9mZnNldD4sVD4geworICAgICAgICB0eXBlZGVmIG9mZnNldF92ZWN0b3I8Vix0eXBlbmFtZSBPZmZzZXQ6OnByaW9yPiB0eXBlOworICAgIH07CisKKyAgICB0ZW1wbGF0ZTxjbGFzcyBWLGNsYXNzIFQ+CisgICAgc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6b2Zmc2V0X3ZlY3RvcjxWLG1wbDo6c2l6ZV90PDA+ID4sVD4geworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHB1c2hfYmFjazxWLFQ+Ojp0eXBlIHR5cGU7CisgICAgfTsKK319CisKKyNkZWZpbmUgQk9PU1RfVFlQRU9GX05FU1RFRF9UWVBFSVRFTSh6LCBuLCBleHByKVwKKyAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LEJPT1NUX1BQX0NBVCh2YWx1ZSxuKSA9IHNpemVvZihuZG5ib29zdDo6dHlwZV9vZjo6ZW5jb2RlPF90eXBlb2Zfc3RhcnRfdmVjdG9yPihleHByKS5pdGVtICMjIG4pKTtcCisgICAgdHlwZWRlZiBuZG5ib29zdDo6bXBsOjpzaXplX3Q8Qk9PU1RfUFBfQ0FUKHNlbGZfdDo6dmFsdWUsbik+IEJPT1NUX1BQX0NBVChpdGVtLG4pOworCisjaWZkZWYgX19ETUNfXworI2RlZmluZSBCT09TVF9UWVBFT0ZfTkVTVEVEX1RZUEVJVEVNXzIoeixuLGV4cHIpXAorICAgIHR5cGVkZWYgdHlwZW5hbWUgX3R5cGVvZl9lbmNvZGVfZnJhY3Rpb248aXRlcmF0aW9uPjo6Qk9PU1RfUFBfQ0FUKGl0ZW0sbikgQk9PU1RfUFBfQ0FUKGl0ZW0sbik7CisKKyNkZWZpbmUgQk9PU1RfVFlQRU9GX0ZSQUNUSU9OVFlQRSgpXAorICAgIEJPT1NUX1BQX1JFUEVBVChCT09TVF9UWVBFT0ZfTElNSVRfU0laRSxCT09TVF9UWVBFT0ZfTkVTVEVEX1RZUEVJVEVNXzIsXylcCisgICAgdHlwZWRlZiBfdHlwZW9mX2ZyYWN0aW9uX2l0ZXI8UG9zPiBmcmFjdGlvbl90eXBlOworI2Vsc2UKKyNkZWZpbmUgQk9PU1RfVFlQRU9GX0ZSQUNUSU9OVFlQRSgpXAorICAgIHR5cGVkZWYgX3R5cGVvZl9lbmNvZGVfZnJhY3Rpb248c2VsZl90OjppdGVyYXRpb24+IGZyYWN0aW9uX3R5cGU7CisjZW5kaWYKKworI2lmZGVmIF9fQk9STEFORENfXworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIHR5cGVfb2YgeworICAgIHRlbXBsYXRlPHR5cGVuYW1lIFBvcyx0eXBlbmFtZSBJdGVyPgorICAgIHN0cnVjdCBnZW5lcmljX3R5cGVvZl9mcmFjdGlvbl9pdGVyIHsKKyAgICAgICAgdHlwZWRlZiBnZW5lcmljX3R5cGVvZl9mcmFjdGlvbl9pdGVyPFBvcyxJdGVyPiBzZWxmX3Q7CisgICAgICAgIHN0YXRpYyBjb25zdCBpbnQgcG9zPShQb3M6OnZhbHVlKTsKKyAgICAgICAgc3RhdGljIGNvbnN0IGludCBpdGVyYXRpb249KHBvcy81KTsKKyAgICAgICAgc3RhdGljIGNvbnN0IGludCB3aGVyZT1wb3MlNTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBJdGVyOjp0ZW1wbGF0ZSBfYXBwbHlfbmV4dDxzZWxmX3Q6Oml0ZXJhdGlvbj46OnR5cGUgZnJhY3Rpb25fdHlwZTsKKyAgICAgICAgdHlwZWRlZiBnZW5lcmljX3R5cGVvZl9mcmFjdGlvbl9pdGVyPHR5cGVuYW1lIFBvczo6bmV4dCxJdGVyPiBuZXh0OworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHZfaXRlcjxmcmFjdGlvbl90eXBlLG1wbDo6aW50XzxzZWxmX3Q6OndoZXJlPiA+Ojp0eXBlIHR5cGU7CisgICAgfTsKK319CisjZGVmaW5lIEJPT1NUX1RZUEVPRl9ORVNURURfVFlQRURFRl9JTVBMKGV4cHIpIFwKKyAgICAgICAgdGVtcGxhdGU8aW50IF9UeXBlb2ZfSXRlcmF0aW9uPlwKKyAgICAgICAgc3RydWN0IF90eXBlb2ZfZW5jb2RlX2ZyYWN0aW9uIHtcCisgICAgICAgICAgICB0eXBlZGVmIF90eXBlb2ZfZW5jb2RlX2ZyYWN0aW9uPF9UeXBlb2ZfSXRlcmF0aW9uPiBzZWxmX3Q7XAorICAgICAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCxfdHlwZW9mX2VuY29kZV9vZmZzZXQgPSAoX1R5cGVvZl9JdGVyYXRpb24qQk9PU1RfVFlQRU9GX0xJTUlUX1NJWkUpKTtcCisgICAgICAgICAgICB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjpvZmZzZXRfdmVjdG9yPEJPT1NUX1RZUEVPRl9WRUNUT1IoMCk8PixuZG5ib29zdDo6bXBsOjpzaXplX3Q8c2VsZl90OjpfdHlwZW9mX2VuY29kZV9vZmZzZXQ+ID4gX3R5cGVvZl9zdGFydF92ZWN0b3I7XAorICAgICAgICAgICAgQk9PU1RfUFBfUkVQRUFUKEJPT1NUX1RZUEVPRl9MSU1JVF9TSVpFLEJPT1NUX1RZUEVPRl9ORVNURURfVFlQRUlURU0sZXhwcilcCisgICAgICAgICAgICB0ZW1wbGF0ZTxpbnQgTmV4dD5cCisgICAgICAgICAgICBzdHJ1Y3QgX2FwcGx5X25leHQge1wKKyAgICAgICAgICAgICAgICB0eXBlZGVmIF90eXBlb2ZfZW5jb2RlX2ZyYWN0aW9uPE5leHQ+IHR5cGU7XAorICAgICAgICAgICAgfTtcCisgICAgICAgIH07XAorICAgICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBQb3M+XAorICAgICAgICBzdHJ1Y3QgX3R5cGVvZl9mcmFjdGlvbl9pdGVyIHtcCisgICAgICAgICAgICB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjpnZW5lcmljX3R5cGVvZl9mcmFjdGlvbl9pdGVyPFBvcyxfdHlwZW9mX2VuY29kZV9mcmFjdGlvbjwwPiA+IHNlbGZfdDtcCisgICAgICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHNlbGZfdDo6bmV4dCBuZXh0O1wKKyAgICAgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgc2VsZl90Ojp0eXBlIHR5cGU7XAorICAgICAgICB9OworI2Vsc2UKKyNkZWZpbmUgQk9PU1RfVFlQRU9GX05FU1RFRF9UWVBFREVGX0lNUEwoZXhwcikgXAorICAgICAgICB0ZW1wbGF0ZTxpbnQgX1R5cGVvZl9JdGVyYXRpb24+XAorICAgICAgICBzdHJ1Y3QgX3R5cGVvZl9lbmNvZGVfZnJhY3Rpb24ge1wKKyAgICAgICAgICAgIHR5cGVkZWYgX3R5cGVvZl9lbmNvZGVfZnJhY3Rpb248X1R5cGVvZl9JdGVyYXRpb24+IHNlbGZfdDtcCisgICAgICAgICAgICBCT09TVF9TVEFUSUNfQ09OU1RBTlQoaW50LF90eXBlb2ZfZW5jb2RlX29mZnNldCA9IChfVHlwZW9mX0l0ZXJhdGlvbipCT09TVF9UWVBFT0ZfTElNSVRfU0laRSkpO1wKKyAgICAgICAgICAgIHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6Om9mZnNldF92ZWN0b3I8Qk9PU1RfVFlQRU9GX1ZFQ1RPUigwKTw+LG5kbmJvb3N0OjptcGw6OnNpemVfdDxzZWxmX3Q6Ol90eXBlb2ZfZW5jb2RlX29mZnNldD4gPiBfdHlwZW9mX3N0YXJ0X3ZlY3RvcjtcCisgICAgICAgICAgICBCT09TVF9QUF9SRVBFQVQoQk9PU1RfVFlQRU9GX0xJTUlUX1NJWkUsQk9PU1RfVFlQRU9GX05FU1RFRF9UWVBFSVRFTSxleHByKVwKKyAgICAgICAgfTtcCisgICAgICAgIHRlbXBsYXRlPHR5cGVuYW1lIFBvcz5cCisgICAgICAgIHN0cnVjdCBfdHlwZW9mX2ZyYWN0aW9uX2l0ZXIge1wKKyAgICAgICAgICAgIHR5cGVkZWYgX3R5cGVvZl9mcmFjdGlvbl9pdGVyPFBvcz4gc2VsZl90O1wKKyAgICAgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQscG9zPShQb3M6OnZhbHVlKSk7XAorICAgICAgICAgICAgQk9PU1RfU1RBVElDX0NPTlNUQU5UKGludCxpdGVyYXRpb249KHBvcy9CT09TVF9UWVBFT0ZfTElNSVRfU0laRSkpO1wKKyAgICAgICAgICAgIEJPT1NUX1NUQVRJQ19DT05TVEFOVChpbnQsd2hlcmU9cG9zJUJPT1NUX1RZUEVPRl9MSU1JVF9TSVpFKTtcCisgICAgICAgICAgICBCT09TVF9UWVBFT0ZfRlJBQ1RJT05UWVBFKClcCisgICAgICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG5kbmJvb3N0Ojp0eXBlX29mOjp2X2l0ZXI8ZnJhY3Rpb25fdHlwZSxuZG5ib29zdDo6bXBsOjppbnRfPHNlbGZfdDo6d2hlcmU+ID46OnR5cGUgdHlwZTtcCisgICAgICAgICAgICB0eXBlZGVmIF90eXBlb2ZfZnJhY3Rpb25faXRlcjx0eXBlbmFtZSBQb3M6Om5leHQ+IG5leHQ7XAorICAgICAgICB9OworI2VuZGlmCisjaWZkZWYgX19NV0VSS1NfXworCisjIGRlZmluZSBCT09TVF9UWVBFT0ZfTkVTVEVEX1RZUEVERUYobmFtZSxleHByKSBcCit0ZW1wbGF0ZTx0eXBlbmFtZSBUPlwKK3N0cnVjdCBCT09TVF9QUF9DQVQoX3R5cGVvZl90ZW1wbGF0ZV8sbmFtZSkge1wKKyAgICBCT09TVF9UWVBFT0ZfTkVTVEVEX1RZUEVERUZfSU1QTChleHByKVwKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG5kbmJvb3N0Ojp0eXBlX29mOjpkZWNvZGVfdHlwZTxfdHlwZW9mX2ZyYWN0aW9uX2l0ZXI8bmRuYm9vc3Q6Om1wbDo6c2l6ZV90PDA+ID4gPjo6dHlwZSB0eXBlO1wKK307XAordHlwZWRlZiBCT09TVF9QUF9DQVQoX3R5cGVvZl90ZW1wbGF0ZV8sbmFtZSk8aW50PiBuYW1lOworCisjIGRlZmluZSBCT09TVF9UWVBFT0ZfTkVTVEVEX1RZUEVERUZfVFBMKG5hbWUsZXhwcikgQk9PU1RfVFlQRU9GX05FU1RFRF9UWVBFREVGKG5hbWUsZXhwcikKKworI2Vsc2UKKyMgZGVmaW5lIEJPT1NUX1RZUEVPRl9ORVNURURfVFlQRURFRl9UUEwobmFtZSxleHByKSBcCisgICAgc3RydWN0IG5hbWUge1wKKyAgICAgICAgQk9PU1RfVFlQRU9GX05FU1RFRF9UWVBFREVGX0lNUEwoZXhwcilcCisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbmRuYm9vc3Q6OnR5cGVfb2Y6OmRlY29kZV90eXBlPF90eXBlb2ZfZnJhY3Rpb25faXRlcjxuZG5ib29zdDo6bXBsOjpzaXplX3Q8MD4gPiA+Ojp0eXBlIHR5cGU7XAorICAgIH07CisKKyMgZGVmaW5lIEJPT1NUX1RZUEVPRl9ORVNURURfVFlQRURFRihuYW1lLGV4cHIpIFwKKyAgICBzdHJ1Y3QgbmFtZSB7XAorICAgICAgICBCT09TVF9UWVBFT0ZfTkVTVEVEX1RZUEVERUZfSU1QTChleHByKVwKKyAgICAgICAgdHlwZWRlZiBuZG5ib29zdDo6dHlwZV9vZjo6ZGVjb2RlX3R5cGU8X3R5cGVvZl9mcmFjdGlvbl9pdGVyPG5kbmJvb3N0OjptcGw6OnNpemVfdDwwPiA+ID46OnR5cGUgdHlwZTtcCisgICAgfTsKKyNlbmRpZgorCisjZW5kaWYvL0JPT1NUX1RZUEVPRl9DT01QTElBTlRfVFlQRU9GX0lNUExfSFBQX0lOQ0xVREVECmRpZmYgLS1naXQgYS9uZG5ib29zdC90eXBlb2YvdW5zdXBwb3J0ZWQuaHBwIGIvbmRuYm9vc3QvdHlwZW9mL3Vuc3VwcG9ydGVkLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kM2FhZTQ3Ci0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvdHlwZW9mL3Vuc3VwcG9ydGVkLmhwcApAQCAtMCwwICsxLDI5IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMTAgUGVkZXIgSG9sdAorLy8gVXNlLCBtb2RpZmljYXRpb24gYW5kIGRpc3RyaWJ1dGlvbiBpcyBzdWJqZWN0IHRvIHRoZSBCb29zdCBTb2Z0d2FyZQorLy8gTGljZW5zZSwgVmVyc2lvbiAxLjAuIChodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisKKyNpZm5kZWYgQk9PU1RfVFlQRU9GX1VOU1VQUE9SVEVEX0hQUF9JTkNMVURFRAorI2RlZmluZSBCT09TVF9UWVBFT0ZfVU5TVVBQT1JURURfSFBQX0lOQ0xVREVECisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSB0eXBlX29mIHsKKyAgICBzdHJ1Y3QgdHlwZW9mX2VtdWxhdGlvbl9pc191bnN1cHBvcnRlZF9vbl90aGlzX2NvbXBpbGVyIHt9OworfX0KKworI2RlZmluZSBCT09TVF9UWVBFT0YoZXhwcikgbmRuYm9vc3Q6OnR5cGVfb2Y6OnR5cGVvZl9lbXVsYXRpb25faXNfdW5zdXBwb3J0ZWRfb25fdGhpc19jb21waWxlcgorI2RlZmluZSBCT09TVF9UWVBFT0ZfVFBMIEJPT1NUX1RZUEVPRgorCisjZGVmaW5lIEJPT1NUX1RZUEVPRl9ORVNURURfVFlQRURFRl9UUEwobmFtZSxleHByKSBcCitzdHJ1Y3QgbmFtZSB7XAorICAgIHR5cGVkZWYgQk9PU1RfVFlQRU9GX1RQTChleHByKSB0eXBlO1wKK307CisKKyNkZWZpbmUgQk9PU1RfVFlQRU9GX05FU1RFRF9UWVBFREVGKG5hbWUsZXhwcikgXAorc3RydWN0IG5hbWUge1wKKyAgICB0eXBlZGVmIEJPT1NUX1RZUEVPRihleHByKSB0eXBlO1wKK307CisKKworI2RlZmluZSBCT09TVF9UWVBFT0ZfUkVHSVNURVJfVFlQRSh4KQorI2RlZmluZSBCT09TVF9UWVBFT0ZfUkVHSVNURVJfVEVNUExBVEUoeCwgcGFyYW1zKQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL25kbmJvb3N0L3R5cGVvZi92ZWN0b3IuaHBwIGIvbmRuYm9vc3QvdHlwZW9mL3ZlY3Rvci5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDY3M2QxYwotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L3R5cGVvZi92ZWN0b3IuaHBwCkBAIC0wLDAgKzEsMTY2IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMDUgQXJrYWRpeSBWZXJ0bGV5YgorLy8gQ29weXJpZ2h0IChDKSAyMDA1IFBlZGVyIEhvbHQKKy8vCisvLyBDb3B5cmlnaHQgKEMpIDIwMDYgVG9iaWFzIFNjaHdpbmdlcgorLy8KKy8vIFVzZSwgbW9kaWZpY2F0aW9uIGFuZCBkaXN0cmlidXRpb24gaXMgc3ViamVjdCB0byB0aGUgQm9vc3QgU29mdHdhcmUKKy8vIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAoaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorCisjaWZuZGVmIEJPT1NUX1RZUEVPRl9WRUNUT1JfSFBQX0lOQ0xVREVECisKKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvaW50LmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3IvaXRlcmF0aW9uL3NlbGYuaHBwPgorCisjaWZuZGVmIEJPT1NUX1RZUEVPRl9MSU1JVF9TSVpFCisjICAgZGVmaW5lIEJPT1NUX1RZUEVPRl9MSU1JVF9TSVpFIDUwCisjZW5kaWYKKworLy8KKy8vIFRvIHJlY3JlYXRlIHRoZSBwcmVwcm9jZXNzZWQgdmVyc2lvbnMgb2YgdGhpcyBmaWxlIHByZXByb2Nlc3MgYW5kIHJ1bgorLy8KKy8vICAgJChCT09TVF9ST09UKS9saWJzL3R5cGVvZi90b29scy9wcmVwcm9jZXNzLnBsCisvLworCisjaWYgZGVmaW5lZChCT09TVF9UWVBFT0ZfUFBfSU5DTFVERV9FWFRFUk5BTCkKKworIyAgIHVuZGVmIEJPT1NUX1RZUEVPRl9QUF9JTkNMVURFX0VYVEVSTkFMCisKKyNlbGlmICFkZWZpbmVkKEJPT1NUX1RZUEVPRl9QUkVQUk9DRVNTSU5HX01PREUpICYmICFCT09TVF9QUF9JU19TRUxGSVNICisKKyMgICBkZWZpbmUgQk9PU1RfUFBfSU5ESVJFQ1RfU0VMRiA8bmRuYm9vc3QvdHlwZW9mL3ZlY3Rvci5ocHA+CisjICAgaWYgICBCT09TVF9UWVBFT0ZfTElNSVRfU0laRSA8IDUwCisjICAgICBpbmNsdWRlIEJPT1NUX1BQX0lOQ0xVREVfU0VMRigpCisjICAgZWxpZiBCT09TVF9UWVBFT0ZfTElNSVRfU0laRSA8IDEwMAorIyAgICAgaW5jbHVkZSA8bmRuYm9vc3QvdHlwZW9mL3ZlY3RvcjUwLmhwcD4KKyMgICAgIGRlZmluZSAgQk9PU1RfVFlQRU9GX1BQX1NUQVJUX1NJWkUgNTEKKyMgICAgIGluY2x1ZGUgQk9PU1RfUFBfSU5DTFVERV9TRUxGKCkKKyMgICBlbGlmIEJPT1NUX1RZUEVPRl9MSU1JVF9TSVpFIDwgMTUwCisjICAgICBpbmNsdWRlIDxuZG5ib29zdC90eXBlb2YvdmVjdG9yMTAwLmhwcD4KKyMgICAgIGRlZmluZSAgQk9PU1RfVFlQRU9GX1BQX1NUQVJUX1NJWkUgMTAxCisjICAgICBpbmNsdWRlIEJPT1NUX1BQX0lOQ0xVREVfU0VMRigpCisjICAgZWxpZiBCT09TVF9UWVBFT0ZfTElNSVRfU0laRSA8IDIwMAorIyAgICAgaW5jbHVkZSA8bmRuYm9vc3QvdHlwZW9mL3ZlY3RvcjE1MC5ocHA+CisjICAgICBkZWZpbmUgIEJPT1NUX1RZUEVPRl9QUF9TVEFSVF9TSVpFIDE1MQorIyAgICAgaW5jbHVkZSBCT09TVF9QUF9JTkNMVURFX1NFTEYoKQorIyAgIGVsaWYgQk9PU1RfVFlQRU9GX0xJTUlUX1NJWkUgPD0gMjUwCisjICAgICBpbmNsdWRlIDxuZG5ib29zdC90eXBlb2YvdmVjdG9yMjAwLmhwcD4KKyMgICAgIGRlZmluZSAgQk9PU1RfVFlQRU9GX1BQX1NUQVJUX1NJWkUgMjAxCisjICAgICBpbmNsdWRlIEJPT1NUX1BQX0lOQ0xVREVfU0VMRigpCisjICAgZWxzZQorIyAgICAgZXJyb3IgIkJPT1NUX1RZUEVPRl9MSU1JVF9TSVpFIHRvbyBoaWdoIgorIyAgIGVuZGlmCisKKyNlbHNlLy8gZGVmaW5lZChCT09TVF9UWVBFT0ZfUFJFUFJPQ0VTU0lOR19NT0RFKSB8fCBCT09TVF9QUF9JU19TRUxGSVNICisKKyMgICBpZm5kZWYgQk9PU1RfVFlQRU9GX1BQX05FWFRfU0laRQorIyAgICAgZGVmaW5lIEJPT1NUX1RZUEVPRl9QUF9ORVhUX1NJWkUgQk9PU1RfVFlQRU9GX0xJTUlUX1NJWkUKKyMgICBlbmRpZgorIyAgIGlmbmRlZiBCT09TVF9UWVBFT0ZfUFBfU1RBUlRfU0laRQorIyAgICAgZGVmaW5lIEJPT1NUX1RZUEVPRl9QUF9TVEFSVF9TSVpFIDAKKyMgICBlbmRpZgorCisjICAgaWYgQk9PU1RfVFlQRU9GX1BQX1NUQVJUX1NJWkUgPD0gQk9PU1RfVFlQRU9GX0xJTUlUX1NJWkUKKworIyAgICAgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL2VudW1fcGFyYW1zLmhwcD4KKyMgICAgIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9yZXBlYXQuaHBwPgorIyAgICAgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL3JlcGVhdF9mcm9tX3RvLmhwcD4KKyMgICAgIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9jYXQuaHBwPgorIyAgICAgaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL2luYy5ocHA+CisjICAgICBpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3IvZGVjLmhwcD4KKyMgICAgIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9jb21tYV9pZi5ocHA+CisjICAgICBpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3IvaXRlcmF0aW9uL2xvY2FsLmhwcD4KKyMgICAgIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9jb250cm9sL2V4cHJfaWlmLmhwcD4KKyMgICAgIGluY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9sb2dpY2FsL25vdC5ocHA+CisKKy8vIGl0ZXJhdG9yCisKKyMgICAgIGRlZmluZSBCT09TVF9UWVBFT0Zfc3BlY19pdGVyKG4pXAorICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPlwKKyAgICAgICAgc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88bj4gPlwKKyAgICAgICAge1wKKyAgICAgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbSAjIyBuIHR5cGU7XAorICAgICAgICAgICAgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPG4gKyAxPiA+IG5leHQ7XAorICAgICAgICB9OworCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgdHlwZV9vZiB7CisKKyAgICB0ZW1wbGF0ZTxjbGFzcyBWLCBjbGFzcyBJbmNyZWFzZV9CT09TVF9UWVBFT0ZfTElNSVRfU0laRT4gc3RydWN0IHZfaXRlcjsgLy8gbm90IGRlZmluZWQKKyMgICAgIGRlZmluZSAgQk9PU1RfUFBfTE9DQUxfTUFDUk8gIEJPT1NUX1RZUEVPRl9zcGVjX2l0ZXIKKyMgICAgIGRlZmluZSAgQk9PU1RfUFBfTE9DQUxfTElNSVRTIFwKKyAgICAgICAgKEJPT1NUX1BQX0RFQyhCT09TVF9UWVBFT0ZfUFBfU1RBUlRfU0laRSksIFwKKyAgICAgICAgIEJPT1NUX1BQX0RFQyhCT09TVF9UWVBFT0ZfTElNSVRfU0laRSkpCisjICAgICBpbmNsdWRlIEJPT1NUX1BQX0xPQ0FMX0lURVJBVEUoKQorCit9fQorCisjICAgICB1bmRlZiBCT09TVF9UWVBFT0Zfc3BlY19pdGVyCisKKy8vIHZlY3RvcgorCisjICAgICBkZWZpbmUgQk9PU1RfVFlQRU9GX3R5cGVkZWZfaXRlbSh6LCBuLCBfKVwKKyAgICAgICAgdHlwZWRlZiBQICMjIG4gaXRlbSAjIyBuOworCisjICAgICBkZWZpbmUgQk9PU1RfVFlQRU9GX3R5cGVkZWZfZmFrZV9pdGVtKHosIG4sIF8pXAorICAgICAgICB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtICMjIG47CisKKyMgICAgIGRlZmluZSBCT09TVF9UWVBFT0ZfZGVmaW5lX3ZlY3RvcihuKVwKKyAgICAgICAgdGVtcGxhdGU8Qk9PU1RfUFBfRU5VTV9QQVJBTVMobiwgY2xhc3MgUCkgQk9PU1RfUFBfRVhQUl9JSUYoQk9PU1RfUFBfTk9UKG4pLCBjbGFzcyBUID0gdm9pZCk+XAorICAgICAgICBzdHJ1Y3QgdmVjdG9yICMjIG5cCisgICAgICAgIHtcCisgICAgICAgICAgICB0eXBlZGVmIHZfaXRlcjx2ZWN0b3IgIyMgbjxCT09TVF9QUF9FTlVNX1BBUkFNUyhuLFApPiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luO1wKKyAgICAgICAgICAgIEJPT1NUX1BQX1JFUEVBVChuLCBCT09TVF9UWVBFT0ZfdHlwZWRlZl9pdGVtLCB+KVwKKyAgICAgICAgICAgIEJPT1NUX1BQX1JFUEVBVF9GUk9NX1RPKG4sIEJPT1NUX1RZUEVPRl9QUF9ORVhUX1NJWkUsIEJPT1NUX1RZUEVPRl90eXBlZGVmX2Zha2VfaXRlbSwgfilcCisgICAgICAgIH07CisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSB0eXBlX29mIHsKKworIyAgICAgZGVmaW5lICBCT09TVF9QUF9MT0NBTF9NQUNSTyAgQk9PU1RfVFlQRU9GX2RlZmluZV92ZWN0b3IKKyMgICAgIGRlZmluZSAgQk9PU1RfUFBfTE9DQUxfTElNSVRTIFwKKyAgICAgICAgKEJPT1NUX1RZUEVPRl9QUF9TVEFSVF9TSVpFLEJPT1NUX1RZUEVPRl9MSU1JVF9TSVpFKQorIyAgICAgaW5jbHVkZSBCT09TVF9QUF9MT0NBTF9JVEVSQVRFKCkKKworfX0KKworIyAgICAgdW5kZWYgQk9PU1RfVFlQRU9GX3R5cGVkZWZfaXRlbQorIyAgICAgdW5kZWYgQk9PU1RfVFlQRU9GX3R5cGVkZWZfZmFrZV9pdGVtCisjICAgICB1bmRlZiBCT09TVF9UWVBFT0ZfZGVmaW5lX3ZlY3RvcgorCisvLyBwdXNoX2JhY2sKKworIyAgICAgZGVmaW5lIEJPT1NUX1RZUEVPRl9zcGVjX3B1c2hfYmFjayhuKVwKKyAgICAgICAgdGVtcGxhdGU8Qk9PU1RfUFBfRU5VTV9QQVJBTVMobiwgY2xhc3MgUCkgQk9PU1RfUFBfQ09NTUFfSUYobikgY2xhc3MgVD5cCisgICAgICAgIHN0cnVjdCBwdXNoX2JhY2s8Qk9PU1RfUFBfQ0FUKG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IsIG4pPEJPT1NUX1BQX0VOVU1fUEFSQU1TKG4sIFApPiwgVD5cCisgICAgICAgIHtcCisgICAgICAgICAgICB0eXBlZGVmIEJPT1NUX1BQX0NBVChuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yLCBCT09TVF9QUF9JTkMobikpPFwKKyAgICAgICAgICAgICAgICBCT09TVF9QUF9FTlVNX1BBUkFNUyhuLCBQKSBCT09TVF9QUF9DT01NQV9JRihuKSBUXAorICAgICAgICAgICAgPiB0eXBlO1wKKyAgICAgICAgfTsKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIHR5cGVfb2YgeworCisjICAgaWYgICBCT09TVF9UWVBFT0ZfTElNSVRfU0laRSA8IDUwCisgICAgdGVtcGxhdGU8Y2xhc3MgViwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjayB7CisgICAgICAgIHR5cGVkZWYgViB0eXBlOworICAgIH07CisjICAgZW5kaWYKKyAgICAvL2RlZmF1bHQgYmVoYXZpb3VyIGlzIHRvIGxldCBwdXNoX2JhY2sgaWdub3JlIFQsIGFuZCByZXR1cm4gdGhlIGlucHV0IHZlY3Rvci4KKyAgICAvL1RoaXMgaXMgdG8gbGV0IEJPT1NUX1RZUEVPRl9ORVNURURfVFlQRURFRiB3b3JrIHByb3Blcmx5IHdpdGggdGhlIGRlZmF1bHQgdmVjdG9yLgorIyAgICAgZGVmaW5lICBCT09TVF9QUF9MT0NBTF9NQUNSTyAgQk9PU1RfVFlQRU9GX3NwZWNfcHVzaF9iYWNrCisjICAgICBkZWZpbmUgIEJPT1NUX1BQX0xPQ0FMX0xJTUlUUyBcCisgICAgICAgIChCT09TVF9QUF9ERUMoQk9PU1RfVFlQRU9GX1BQX1NUQVJUX1NJWkUpLCBcCisgICAgICAgICBCT09TVF9QUF9ERUMoQk9PU1RfVFlQRU9GX0xJTUlUX1NJWkUpKQorIyAgICAgaW5jbHVkZSBCT09TVF9QUF9MT0NBTF9JVEVSQVRFKCkKKworfX0KKworIyAgICAgdW5kZWYgQk9PU1RfVFlQRU9GX3NwZWNfcHVzaF9iYWNrCisKKyMgICBlbmRpZi8vQk9PU1RfVFlQRU9GX1BQX1NUQVJUX1NJWkU8PUJPT1NUX1RZUEVPRl9MSU1JVF9TSVpFCisjICAgdW5kZWYgIEJPT1NUX1RZUEVPRl9QUF9TVEFSVF9TSVpFCisjICAgdW5kZWYgIEJPT1NUX1RZUEVPRl9QUF9ORVhUX1NJWkUKKworI2VuZGlmLy9CT09TVF9UWVBFT0ZfUFJFUFJPQ0VTU0lOR19NT0RFIHx8IEJPT1NUX1BQX0lTX1NFTEZJU0gKKworI2RlZmluZSBCT09TVF9UWVBFT0ZfVkVDVE9SX0hQUF9JTkNMVURFRAorI2VuZGlmLy9CT09TVF9UWVBFT0ZfVkVDVE9SX0hQUF9JTkNMVURFRAorCmRpZmYgLS1naXQgYS9uZG5ib29zdC90eXBlb2YvdmVjdG9yMTAwLmhwcCBiL25kbmJvb3N0L3R5cGVvZi92ZWN0b3IxMDAuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk4ODc3NDQKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC90eXBlb2YvdmVjdG9yMTAwLmhwcApAQCAtMCwwICsxLDMyMSBAQAorCisvLyBDb3B5cmlnaHQgKEMpIDIwMDUgQXJrYWRpeSBWZXJ0bGV5YgorLy8gQ29weXJpZ2h0IChDKSAyMDA1IFBlZGVyIEhvbHQKKy8vCisvLyBVc2UgbW9kaWZpY2F0aW9uIGFuZCBkaXN0cmlidXRpb24gYXJlIHN1YmplY3QgdG8gdGhlIGJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsCisvLyBWZXJzaW9uIDEuMC4gKFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpLgorCisvLyBQcmVwcm9jZXNzZWQgY29kZSwgZG8gbm90IGVkaXQgbWFudWFsbHkgIQorCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSB0eXBlX29mIHsKKyAgICB0ZW1wbGF0ZTxjbGFzcyBWLCBjbGFzcyBJbmNyZWFzZV9CT09TVF9UWVBFT0ZfTElNSVRfU0laRT4gc3RydWN0IHZfaXRlcjsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88MD4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTAgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDAgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDE+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW0xIHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50XzwxICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50XzwyPiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtMiB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88MiArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88Mz4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTMgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDMgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDQ+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW00IHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50Xzw0ICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50Xzw1PiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtNSB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88NSArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88Nj4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTYgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDYgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDc+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW03IHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50Xzw3ICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50Xzw4PiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtOCB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88OCArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88OT4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTkgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDkgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDEwPiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtMTAgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDEwICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50XzwxMT4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTExIHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50XzwxMSArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88MTI+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW0xMiB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88MTIgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDEzPiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtMTMgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDEzICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50XzwxND4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTE0IHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50XzwxNCArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88MTU+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW0xNSB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88MTUgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDE2PiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtMTYgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDE2ICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50XzwxNz4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTE3IHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50XzwxNyArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88MTg+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW0xOCB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88MTggKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDE5PiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtMTkgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDE5ICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50XzwyMD4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTIwIHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50XzwyMCArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88MjE+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW0yMSB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88MjEgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDIyPiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtMjIgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDIyICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50XzwyMz4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTIzIHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50XzwyMyArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88MjQ+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW0yNCB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88MjQgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDI1PiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtMjUgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDI1ICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50XzwyNj4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTI2IHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50XzwyNiArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88Mjc+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW0yNyB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88MjcgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDI4PiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtMjggdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDI4ICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50XzwyOT4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTI5IHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50XzwyOSArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88MzA+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW0zMCB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88MzAgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDMxPiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtMzEgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDMxICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50XzwzMj4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTMyIHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50XzwzMiArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88MzM+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW0zMyB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88MzMgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDM0PiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtMzQgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDM0ICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50XzwzNT4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTM1IHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50XzwzNSArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88MzY+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW0zNiB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88MzYgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDM3PiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtMzcgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDM3ICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50XzwzOD4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTM4IHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50XzwzOCArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88Mzk+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW0zOSB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88MzkgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDQwPiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtNDAgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDQwICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50Xzw0MT4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTQxIHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50Xzw0MSArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88NDI+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW00MiB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88NDIgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDQzPiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtNDMgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDQzICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50Xzw0ND4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTQ0IHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50Xzw0NCArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88NDU+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW00NSB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88NDUgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDQ2PiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtNDYgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDQ2ICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50Xzw0Nz4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTQ3IHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50Xzw0NyArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88NDg+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW00OCB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88NDggKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDQ5PiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtNDkgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDQ5ICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50Xzw1MD4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTUwIHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50Xzw1MCArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88NTE+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW01MSB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88NTEgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDUyPiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtNTIgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDUyICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50Xzw1Mz4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTUzIHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50Xzw1MyArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88NTQ+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW01NCB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88NTQgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDU1PiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtNTUgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDU1ICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50Xzw1Nj4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTU2IHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50Xzw1NiArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88NTc+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW01NyB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88NTcgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDU4PiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtNTggdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDU4ICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50Xzw1OT4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTU5IHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50Xzw1OSArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88NjA+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW02MCB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88NjAgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDYxPiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtNjEgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDYxICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50Xzw2Mj4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTYyIHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50Xzw2MiArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88NjM+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW02MyB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88NjMgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDY0PiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtNjQgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDY0ICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50Xzw2NT4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTY1IHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50Xzw2NSArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88NjY+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW02NiB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88NjYgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDY3PiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtNjcgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDY3ICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50Xzw2OD4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTY4IHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50Xzw2OCArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88Njk+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW02OSB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88NjkgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDcwPiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtNzAgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDcwICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50Xzw3MT4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTcxIHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50Xzw3MSArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88NzI+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW03MiB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88NzIgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDczPiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtNzMgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDczICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50Xzw3ND4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTc0IHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50Xzw3NCArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88NzU+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW03NSB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88NzUgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDc2PiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtNzYgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDc2ICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50Xzw3Nz4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTc3IHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50Xzw3NyArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88Nzg+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW03OCB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88NzggKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDc5PiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtNzkgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDc5ICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50Xzw4MD4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTgwIHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50Xzw4MCArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88ODE+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW04MSB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88ODEgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDgyPiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtODIgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDgyICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50Xzw4Mz4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTgzIHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50Xzw4MyArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88ODQ+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW04NCB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88ODQgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDg1PiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtODUgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDg1ICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50Xzw4Nj4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTg2IHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50Xzw4NiArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88ODc+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW04NyB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88ODcgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDg4PiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtODggdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDg4ICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50Xzw4OT4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTg5IHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50Xzw4OSArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88OTA+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW05MCB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88OTAgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDkxPiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtOTEgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDkxICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50Xzw5Mj4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTkyIHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50Xzw5MiArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88OTM+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW05MyB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88OTMgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDk0PiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtOTQgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDk0ICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50Xzw5NT4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTk1IHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50Xzw5NSArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88OTY+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW05NiB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88OTYgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDk3PiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtOTcgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDk3ICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50Xzw5OD4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTk4IHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50Xzw5OCArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88OTk+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW05OSB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88OTkgKyAxPiA+IG5leHQ7IH07Cit9fQorbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIHR5cGVfb2YgeworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgVCA9IHZvaWQ+IHN0cnVjdCB2ZWN0b3IwIHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yMDw+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0wOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgPiBzdHJ1Y3QgdmVjdG9yMSB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjE8IFAwPiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSA+IHN0cnVjdCB2ZWN0b3IyIHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yMjwgUDAgLCBQMT4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyID4gc3RydWN0IHZlY3RvcjMgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3IzPCBQMCAsIFAxICwgUDI+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgPiBzdHJ1Y3QgdmVjdG9yNCB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjQ8IFAwICwgUDEgLCBQMiAsIFAzPiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCA+IHN0cnVjdCB2ZWN0b3I1IHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yNTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQND4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ID4gc3RydWN0IHZlY3RvcjYgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3I2PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDU+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgUDMgaXRlbTM7IHR5cGVkZWYgUDQgaXRlbTQ7IHR5cGVkZWYgUDUgaXRlbTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgPiBzdHJ1Y3QgdmVjdG9yNyB7IHR5cGVkZWYgdl9pdGVyPHZlY3Rvcjc8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2PiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyA+IHN0cnVjdCB2ZWN0b3I4IHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yODwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNz4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ID4gc3RydWN0IHZlY3RvcjkgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3I5PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDg+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgUDMgaXRlbTM7IHR5cGVkZWYgUDQgaXRlbTQ7IHR5cGVkZWYgUDUgaXRlbTU7IHR5cGVkZWYgUDYgaXRlbTY7IHR5cGVkZWYgUDcgaXRlbTc7IHR5cGVkZWYgUDggaXRlbTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgPiBzdHJ1Y3QgdmVjdG9yMTAgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3IxMDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDk+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgUDMgaXRlbTM7IHR5cGVkZWYgUDQgaXRlbTQ7IHR5cGVkZWYgUDUgaXRlbTU7IHR5cGVkZWYgUDYgaXRlbTY7IHR5cGVkZWYgUDcgaXRlbTc7IHR5cGVkZWYgUDggaXRlbTg7IHR5cGVkZWYgUDkgaXRlbTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCA+IHN0cnVjdCB2ZWN0b3IxMSB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjExPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMD4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExID4gc3RydWN0IHZlY3RvcjEyIHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yMTI8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExPiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgPiBzdHJ1Y3QgdmVjdG9yMTMgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3IxMzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTI+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgUDMgaXRlbTM7IHR5cGVkZWYgUDQgaXRlbTQ7IHR5cGVkZWYgUDUgaXRlbTU7IHR5cGVkZWYgUDYgaXRlbTY7IHR5cGVkZWYgUDcgaXRlbTc7IHR5cGVkZWYgUDggaXRlbTg7IHR5cGVkZWYgUDkgaXRlbTk7IHR5cGVkZWYgUDEwIGl0ZW0xMDsgdHlwZWRlZiBQMTEgaXRlbTExOyB0eXBlZGVmIFAxMiBpdGVtMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyA+IHN0cnVjdCB2ZWN0b3IxNCB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjE0PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMz4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ID4gc3RydWN0IHZlY3RvcjE1IHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yMTU8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0PiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgPiBzdHJ1Y3QgdmVjdG9yMTYgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3IxNjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTU+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgUDMgaXRlbTM7IHR5cGVkZWYgUDQgaXRlbTQ7IHR5cGVkZWYgUDUgaXRlbTU7IHR5cGVkZWYgUDYgaXRlbTY7IHR5cGVkZWYgUDcgaXRlbTc7IHR5cGVkZWYgUDggaXRlbTg7IHR5cGVkZWYgUDkgaXRlbTk7IHR5cGVkZWYgUDEwIGl0ZW0xMDsgdHlwZWRlZiBQMTEgaXRlbTExOyB0eXBlZGVmIFAxMiBpdGVtMTI7IHR5cGVkZWYgUDEzIGl0ZW0xMzsgdHlwZWRlZiBQMTQgaXRlbTE0OyB0eXBlZGVmIFAxNSBpdGVtMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiA+IHN0cnVjdCB2ZWN0b3IxNyB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjE3PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNj4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ID4gc3RydWN0IHZlY3RvcjE4IHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yMTg8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3PiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggPiBzdHJ1Y3QgdmVjdG9yMTkgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3IxOTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTg+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgUDMgaXRlbTM7IHR5cGVkZWYgUDQgaXRlbTQ7IHR5cGVkZWYgUDUgaXRlbTU7IHR5cGVkZWYgUDYgaXRlbTY7IHR5cGVkZWYgUDcgaXRlbTc7IHR5cGVkZWYgUDggaXRlbTg7IHR5cGVkZWYgUDkgaXRlbTk7IHR5cGVkZWYgUDEwIGl0ZW0xMDsgdHlwZWRlZiBQMTEgaXRlbTExOyB0eXBlZGVmIFAxMiBpdGVtMTI7IHR5cGVkZWYgUDEzIGl0ZW0xMzsgdHlwZWRlZiBQMTQgaXRlbTE0OyB0eXBlZGVmIFAxNSBpdGVtMTU7IHR5cGVkZWYgUDE2IGl0ZW0xNjsgdHlwZWRlZiBQMTcgaXRlbTE3OyB0eXBlZGVmIFAxOCBpdGVtMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSA+IHN0cnVjdCB2ZWN0b3IyMCB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjIwPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOT4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwID4gc3RydWN0IHZlY3RvcjIxIHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yMjE8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwPiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgPiBzdHJ1Y3QgdmVjdG9yMjIgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3IyMjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjE+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgUDMgaXRlbTM7IHR5cGVkZWYgUDQgaXRlbTQ7IHR5cGVkZWYgUDUgaXRlbTU7IHR5cGVkZWYgUDYgaXRlbTY7IHR5cGVkZWYgUDcgaXRlbTc7IHR5cGVkZWYgUDggaXRlbTg7IHR5cGVkZWYgUDkgaXRlbTk7IHR5cGVkZWYgUDEwIGl0ZW0xMDsgdHlwZWRlZiBQMTEgaXRlbTExOyB0eXBlZGVmIFAxMiBpdGVtMTI7IHR5cGVkZWYgUDEzIGl0ZW0xMzsgdHlwZWRlZiBQMTQgaXRlbTE0OyB0eXBlZGVmIFAxNSBpdGVtMTU7IHR5cGVkZWYgUDE2IGl0ZW0xNjsgdHlwZWRlZiBQMTcgaXRlbTE3OyB0eXBlZGVmIFAxOCBpdGVtMTg7IHR5cGVkZWYgUDE5IGl0ZW0xOTsgdHlwZWRlZiBQMjAgaXRlbTIwOyB0eXBlZGVmIFAyMSBpdGVtMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiA+IHN0cnVjdCB2ZWN0b3IyMyB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjIzPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMj4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzID4gc3RydWN0IHZlY3RvcjI0IHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yMjQ8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzPiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgPiBzdHJ1Y3QgdmVjdG9yMjUgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3IyNTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQ+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgUDMgaXRlbTM7IHR5cGVkZWYgUDQgaXRlbTQ7IHR5cGVkZWYgUDUgaXRlbTU7IHR5cGVkZWYgUDYgaXRlbTY7IHR5cGVkZWYgUDcgaXRlbTc7IHR5cGVkZWYgUDggaXRlbTg7IHR5cGVkZWYgUDkgaXRlbTk7IHR5cGVkZWYgUDEwIGl0ZW0xMDsgdHlwZWRlZiBQMTEgaXRlbTExOyB0eXBlZGVmIFAxMiBpdGVtMTI7IHR5cGVkZWYgUDEzIGl0ZW0xMzsgdHlwZWRlZiBQMTQgaXRlbTE0OyB0eXBlZGVmIFAxNSBpdGVtMTU7IHR5cGVkZWYgUDE2IGl0ZW0xNjsgdHlwZWRlZiBQMTcgaXRlbTE3OyB0eXBlZGVmIFAxOCBpdGVtMTg7IHR5cGVkZWYgUDE5IGl0ZW0xOTsgdHlwZWRlZiBQMjAgaXRlbTIwOyB0eXBlZGVmIFAyMSBpdGVtMjE7IHR5cGVkZWYgUDIyIGl0ZW0yMjsgdHlwZWRlZiBQMjMgaXRlbTIzOyB0eXBlZGVmIFAyNCBpdGVtMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSA+IHN0cnVjdCB2ZWN0b3IyNiB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjI2PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNT4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ID4gc3RydWN0IHZlY3RvcjI3IHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yMjc8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2PiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgPiBzdHJ1Y3QgdmVjdG9yMjggeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3IyODwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjc+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgUDMgaXRlbTM7IHR5cGVkZWYgUDQgaXRlbTQ7IHR5cGVkZWYgUDUgaXRlbTU7IHR5cGVkZWYgUDYgaXRlbTY7IHR5cGVkZWYgUDcgaXRlbTc7IHR5cGVkZWYgUDggaXRlbTg7IHR5cGVkZWYgUDkgaXRlbTk7IHR5cGVkZWYgUDEwIGl0ZW0xMDsgdHlwZWRlZiBQMTEgaXRlbTExOyB0eXBlZGVmIFAxMiBpdGVtMTI7IHR5cGVkZWYgUDEzIGl0ZW0xMzsgdHlwZWRlZiBQMTQgaXRlbTE0OyB0eXBlZGVmIFAxNSBpdGVtMTU7IHR5cGVkZWYgUDE2IGl0ZW0xNjsgdHlwZWRlZiBQMTcgaXRlbTE3OyB0eXBlZGVmIFAxOCBpdGVtMTg7IHR5cGVkZWYgUDE5IGl0ZW0xOTsgdHlwZWRlZiBQMjAgaXRlbTIwOyB0eXBlZGVmIFAyMSBpdGVtMjE7IHR5cGVkZWYgUDIyIGl0ZW0yMjsgdHlwZWRlZiBQMjMgaXRlbTIzOyB0eXBlZGVmIFAyNCBpdGVtMjQ7IHR5cGVkZWYgUDI1IGl0ZW0yNTsgdHlwZWRlZiBQMjYgaXRlbTI2OyB0eXBlZGVmIFAyNyBpdGVtMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCA+IHN0cnVjdCB2ZWN0b3IyOSB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjI5PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOD4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ID4gc3RydWN0IHZlY3RvcjMwIHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yMzA8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5PiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgPiBzdHJ1Y3QgdmVjdG9yMzEgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3IzMTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzA+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgUDMgaXRlbTM7IHR5cGVkZWYgUDQgaXRlbTQ7IHR5cGVkZWYgUDUgaXRlbTU7IHR5cGVkZWYgUDYgaXRlbTY7IHR5cGVkZWYgUDcgaXRlbTc7IHR5cGVkZWYgUDggaXRlbTg7IHR5cGVkZWYgUDkgaXRlbTk7IHR5cGVkZWYgUDEwIGl0ZW0xMDsgdHlwZWRlZiBQMTEgaXRlbTExOyB0eXBlZGVmIFAxMiBpdGVtMTI7IHR5cGVkZWYgUDEzIGl0ZW0xMzsgdHlwZWRlZiBQMTQgaXRlbTE0OyB0eXBlZGVmIFAxNSBpdGVtMTU7IHR5cGVkZWYgUDE2IGl0ZW0xNjsgdHlwZWRlZiBQMTcgaXRlbTE3OyB0eXBlZGVmIFAxOCBpdGVtMTg7IHR5cGVkZWYgUDE5IGl0ZW0xOTsgdHlwZWRlZiBQMjAgaXRlbTIwOyB0eXBlZGVmIFAyMSBpdGVtMjE7IHR5cGVkZWYgUDIyIGl0ZW0yMjsgdHlwZWRlZiBQMjMgaXRlbTIzOyB0eXBlZGVmIFAyNCBpdGVtMjQ7IHR5cGVkZWYgUDI1IGl0ZW0yNTsgdHlwZWRlZiBQMjYgaXRlbTI2OyB0eXBlZGVmIFAyNyBpdGVtMjc7IHR5cGVkZWYgUDI4IGl0ZW0yODsgdHlwZWRlZiBQMjkgaXRlbTI5OyB0eXBlZGVmIFAzMCBpdGVtMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSA+IHN0cnVjdCB2ZWN0b3IzMiB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjMyPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMT4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyID4gc3RydWN0IHZlY3RvcjMzIHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yMzM8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyPiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgPiBzdHJ1Y3QgdmVjdG9yMzQgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3IzNDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzM+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgUDMgaXRlbTM7IHR5cGVkZWYgUDQgaXRlbTQ7IHR5cGVkZWYgUDUgaXRlbTU7IHR5cGVkZWYgUDYgaXRlbTY7IHR5cGVkZWYgUDcgaXRlbTc7IHR5cGVkZWYgUDggaXRlbTg7IHR5cGVkZWYgUDkgaXRlbTk7IHR5cGVkZWYgUDEwIGl0ZW0xMDsgdHlwZWRlZiBQMTEgaXRlbTExOyB0eXBlZGVmIFAxMiBpdGVtMTI7IHR5cGVkZWYgUDEzIGl0ZW0xMzsgdHlwZWRlZiBQMTQgaXRlbTE0OyB0eXBlZGVmIFAxNSBpdGVtMTU7IHR5cGVkZWYgUDE2IGl0ZW0xNjsgdHlwZWRlZiBQMTcgaXRlbTE3OyB0eXBlZGVmIFAxOCBpdGVtMTg7IHR5cGVkZWYgUDE5IGl0ZW0xOTsgdHlwZWRlZiBQMjAgaXRlbTIwOyB0eXBlZGVmIFAyMSBpdGVtMjE7IHR5cGVkZWYgUDIyIGl0ZW0yMjsgdHlwZWRlZiBQMjMgaXRlbTIzOyB0eXBlZGVmIFAyNCBpdGVtMjQ7IHR5cGVkZWYgUDI1IGl0ZW0yNTsgdHlwZWRlZiBQMjYgaXRlbTI2OyB0eXBlZGVmIFAyNyBpdGVtMjc7IHR5cGVkZWYgUDI4IGl0ZW0yODsgdHlwZWRlZiBQMjkgaXRlbTI5OyB0eXBlZGVmIFAzMCBpdGVtMzA7IHR5cGVkZWYgUDMxIGl0ZW0zMTsgdHlwZWRlZiBQMzIgaXRlbTMyOyB0eXBlZGVmIFAzMyBpdGVtMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCA+IHN0cnVjdCB2ZWN0b3IzNSB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjM1PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzND4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ID4gc3RydWN0IHZlY3RvcjM2IHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yMzY8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1PiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgPiBzdHJ1Y3QgdmVjdG9yMzcgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3IzNzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzY+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgUDMgaXRlbTM7IHR5cGVkZWYgUDQgaXRlbTQ7IHR5cGVkZWYgUDUgaXRlbTU7IHR5cGVkZWYgUDYgaXRlbTY7IHR5cGVkZWYgUDcgaXRlbTc7IHR5cGVkZWYgUDggaXRlbTg7IHR5cGVkZWYgUDkgaXRlbTk7IHR5cGVkZWYgUDEwIGl0ZW0xMDsgdHlwZWRlZiBQMTEgaXRlbTExOyB0eXBlZGVmIFAxMiBpdGVtMTI7IHR5cGVkZWYgUDEzIGl0ZW0xMzsgdHlwZWRlZiBQMTQgaXRlbTE0OyB0eXBlZGVmIFAxNSBpdGVtMTU7IHR5cGVkZWYgUDE2IGl0ZW0xNjsgdHlwZWRlZiBQMTcgaXRlbTE3OyB0eXBlZGVmIFAxOCBpdGVtMTg7IHR5cGVkZWYgUDE5IGl0ZW0xOTsgdHlwZWRlZiBQMjAgaXRlbTIwOyB0eXBlZGVmIFAyMSBpdGVtMjE7IHR5cGVkZWYgUDIyIGl0ZW0yMjsgdHlwZWRlZiBQMjMgaXRlbTIzOyB0eXBlZGVmIFAyNCBpdGVtMjQ7IHR5cGVkZWYgUDI1IGl0ZW0yNTsgdHlwZWRlZiBQMjYgaXRlbTI2OyB0eXBlZGVmIFAyNyBpdGVtMjc7IHR5cGVkZWYgUDI4IGl0ZW0yODsgdHlwZWRlZiBQMjkgaXRlbTI5OyB0eXBlZGVmIFAzMCBpdGVtMzA7IHR5cGVkZWYgUDMxIGl0ZW0zMTsgdHlwZWRlZiBQMzIgaXRlbTMyOyB0eXBlZGVmIFAzMyBpdGVtMzM7IHR5cGVkZWYgUDM0IGl0ZW0zNDsgdHlwZWRlZiBQMzUgaXRlbTM1OyB0eXBlZGVmIFAzNiBpdGVtMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyA+IHN0cnVjdCB2ZWN0b3IzOCB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjM4PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNz4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ID4gc3RydWN0IHZlY3RvcjM5IHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yMzk8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4PiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgPiBzdHJ1Y3QgdmVjdG9yNDAgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3I0MDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzk+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgUDMgaXRlbTM7IHR5cGVkZWYgUDQgaXRlbTQ7IHR5cGVkZWYgUDUgaXRlbTU7IHR5cGVkZWYgUDYgaXRlbTY7IHR5cGVkZWYgUDcgaXRlbTc7IHR5cGVkZWYgUDggaXRlbTg7IHR5cGVkZWYgUDkgaXRlbTk7IHR5cGVkZWYgUDEwIGl0ZW0xMDsgdHlwZWRlZiBQMTEgaXRlbTExOyB0eXBlZGVmIFAxMiBpdGVtMTI7IHR5cGVkZWYgUDEzIGl0ZW0xMzsgdHlwZWRlZiBQMTQgaXRlbTE0OyB0eXBlZGVmIFAxNSBpdGVtMTU7IHR5cGVkZWYgUDE2IGl0ZW0xNjsgdHlwZWRlZiBQMTcgaXRlbTE3OyB0eXBlZGVmIFAxOCBpdGVtMTg7IHR5cGVkZWYgUDE5IGl0ZW0xOTsgdHlwZWRlZiBQMjAgaXRlbTIwOyB0eXBlZGVmIFAyMSBpdGVtMjE7IHR5cGVkZWYgUDIyIGl0ZW0yMjsgdHlwZWRlZiBQMjMgaXRlbTIzOyB0eXBlZGVmIFAyNCBpdGVtMjQ7IHR5cGVkZWYgUDI1IGl0ZW0yNTsgdHlwZWRlZiBQMjYgaXRlbTI2OyB0eXBlZGVmIFAyNyBpdGVtMjc7IHR5cGVkZWYgUDI4IGl0ZW0yODsgdHlwZWRlZiBQMjkgaXRlbTI5OyB0eXBlZGVmIFAzMCBpdGVtMzA7IHR5cGVkZWYgUDMxIGl0ZW0zMTsgdHlwZWRlZiBQMzIgaXRlbTMyOyB0eXBlZGVmIFAzMyBpdGVtMzM7IHR5cGVkZWYgUDM0IGl0ZW0zNDsgdHlwZWRlZiBQMzUgaXRlbTM1OyB0eXBlZGVmIFAzNiBpdGVtMzY7IHR5cGVkZWYgUDM3IGl0ZW0zNzsgdHlwZWRlZiBQMzggaXRlbTM4OyB0eXBlZGVmIFAzOSBpdGVtMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCA+IHN0cnVjdCB2ZWN0b3I0MSB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjQxPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MD4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxID4gc3RydWN0IHZlY3RvcjQyIHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yNDI8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxPiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgUDQxIGl0ZW00MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgPiBzdHJ1Y3QgdmVjdG9yNDMgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3I0MzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDI+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgUDMgaXRlbTM7IHR5cGVkZWYgUDQgaXRlbTQ7IHR5cGVkZWYgUDUgaXRlbTU7IHR5cGVkZWYgUDYgaXRlbTY7IHR5cGVkZWYgUDcgaXRlbTc7IHR5cGVkZWYgUDggaXRlbTg7IHR5cGVkZWYgUDkgaXRlbTk7IHR5cGVkZWYgUDEwIGl0ZW0xMDsgdHlwZWRlZiBQMTEgaXRlbTExOyB0eXBlZGVmIFAxMiBpdGVtMTI7IHR5cGVkZWYgUDEzIGl0ZW0xMzsgdHlwZWRlZiBQMTQgaXRlbTE0OyB0eXBlZGVmIFAxNSBpdGVtMTU7IHR5cGVkZWYgUDE2IGl0ZW0xNjsgdHlwZWRlZiBQMTcgaXRlbTE3OyB0eXBlZGVmIFAxOCBpdGVtMTg7IHR5cGVkZWYgUDE5IGl0ZW0xOTsgdHlwZWRlZiBQMjAgaXRlbTIwOyB0eXBlZGVmIFAyMSBpdGVtMjE7IHR5cGVkZWYgUDIyIGl0ZW0yMjsgdHlwZWRlZiBQMjMgaXRlbTIzOyB0eXBlZGVmIFAyNCBpdGVtMjQ7IHR5cGVkZWYgUDI1IGl0ZW0yNTsgdHlwZWRlZiBQMjYgaXRlbTI2OyB0eXBlZGVmIFAyNyBpdGVtMjc7IHR5cGVkZWYgUDI4IGl0ZW0yODsgdHlwZWRlZiBQMjkgaXRlbTI5OyB0eXBlZGVmIFAzMCBpdGVtMzA7IHR5cGVkZWYgUDMxIGl0ZW0zMTsgdHlwZWRlZiBQMzIgaXRlbTMyOyB0eXBlZGVmIFAzMyBpdGVtMzM7IHR5cGVkZWYgUDM0IGl0ZW0zNDsgdHlwZWRlZiBQMzUgaXRlbTM1OyB0eXBlZGVmIFAzNiBpdGVtMzY7IHR5cGVkZWYgUDM3IGl0ZW0zNzsgdHlwZWRlZiBQMzggaXRlbTM4OyB0eXBlZGVmIFAzOSBpdGVtMzk7IHR5cGVkZWYgUDQwIGl0ZW00MDsgdHlwZWRlZiBQNDEgaXRlbTQxOyB0eXBlZGVmIFA0MiBpdGVtNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyA+IHN0cnVjdCB2ZWN0b3I0NCB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjQ0PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0Mz4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ID4gc3RydWN0IHZlY3RvcjQ1IHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yNDU8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0PiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgUDQxIGl0ZW00MTsgdHlwZWRlZiBQNDIgaXRlbTQyOyB0eXBlZGVmIFA0MyBpdGVtNDM7IHR5cGVkZWYgUDQ0IGl0ZW00NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgPiBzdHJ1Y3QgdmVjdG9yNDYgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3I0NjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDU+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgUDMgaXRlbTM7IHR5cGVkZWYgUDQgaXRlbTQ7IHR5cGVkZWYgUDUgaXRlbTU7IHR5cGVkZWYgUDYgaXRlbTY7IHR5cGVkZWYgUDcgaXRlbTc7IHR5cGVkZWYgUDggaXRlbTg7IHR5cGVkZWYgUDkgaXRlbTk7IHR5cGVkZWYgUDEwIGl0ZW0xMDsgdHlwZWRlZiBQMTEgaXRlbTExOyB0eXBlZGVmIFAxMiBpdGVtMTI7IHR5cGVkZWYgUDEzIGl0ZW0xMzsgdHlwZWRlZiBQMTQgaXRlbTE0OyB0eXBlZGVmIFAxNSBpdGVtMTU7IHR5cGVkZWYgUDE2IGl0ZW0xNjsgdHlwZWRlZiBQMTcgaXRlbTE3OyB0eXBlZGVmIFAxOCBpdGVtMTg7IHR5cGVkZWYgUDE5IGl0ZW0xOTsgdHlwZWRlZiBQMjAgaXRlbTIwOyB0eXBlZGVmIFAyMSBpdGVtMjE7IHR5cGVkZWYgUDIyIGl0ZW0yMjsgdHlwZWRlZiBQMjMgaXRlbTIzOyB0eXBlZGVmIFAyNCBpdGVtMjQ7IHR5cGVkZWYgUDI1IGl0ZW0yNTsgdHlwZWRlZiBQMjYgaXRlbTI2OyB0eXBlZGVmIFAyNyBpdGVtMjc7IHR5cGVkZWYgUDI4IGl0ZW0yODsgdHlwZWRlZiBQMjkgaXRlbTI5OyB0eXBlZGVmIFAzMCBpdGVtMzA7IHR5cGVkZWYgUDMxIGl0ZW0zMTsgdHlwZWRlZiBQMzIgaXRlbTMyOyB0eXBlZGVmIFAzMyBpdGVtMzM7IHR5cGVkZWYgUDM0IGl0ZW0zNDsgdHlwZWRlZiBQMzUgaXRlbTM1OyB0eXBlZGVmIFAzNiBpdGVtMzY7IHR5cGVkZWYgUDM3IGl0ZW0zNzsgdHlwZWRlZiBQMzggaXRlbTM4OyB0eXBlZGVmIFAzOSBpdGVtMzk7IHR5cGVkZWYgUDQwIGl0ZW00MDsgdHlwZWRlZiBQNDEgaXRlbTQxOyB0eXBlZGVmIFA0MiBpdGVtNDI7IHR5cGVkZWYgUDQzIGl0ZW00MzsgdHlwZWRlZiBQNDQgaXRlbTQ0OyB0eXBlZGVmIFA0NSBpdGVtNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiA+IHN0cnVjdCB2ZWN0b3I0NyB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjQ3PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0Nj4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ID4gc3RydWN0IHZlY3RvcjQ4IHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yNDg8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3PiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgUDQxIGl0ZW00MTsgdHlwZWRlZiBQNDIgaXRlbTQyOyB0eXBlZGVmIFA0MyBpdGVtNDM7IHR5cGVkZWYgUDQ0IGl0ZW00NDsgdHlwZWRlZiBQNDUgaXRlbTQ1OyB0eXBlZGVmIFA0NiBpdGVtNDY7IHR5cGVkZWYgUDQ3IGl0ZW00NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggPiBzdHJ1Y3QgdmVjdG9yNDkgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3I0OTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDg+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgUDMgaXRlbTM7IHR5cGVkZWYgUDQgaXRlbTQ7IHR5cGVkZWYgUDUgaXRlbTU7IHR5cGVkZWYgUDYgaXRlbTY7IHR5cGVkZWYgUDcgaXRlbTc7IHR5cGVkZWYgUDggaXRlbTg7IHR5cGVkZWYgUDkgaXRlbTk7IHR5cGVkZWYgUDEwIGl0ZW0xMDsgdHlwZWRlZiBQMTEgaXRlbTExOyB0eXBlZGVmIFAxMiBpdGVtMTI7IHR5cGVkZWYgUDEzIGl0ZW0xMzsgdHlwZWRlZiBQMTQgaXRlbTE0OyB0eXBlZGVmIFAxNSBpdGVtMTU7IHR5cGVkZWYgUDE2IGl0ZW0xNjsgdHlwZWRlZiBQMTcgaXRlbTE3OyB0eXBlZGVmIFAxOCBpdGVtMTg7IHR5cGVkZWYgUDE5IGl0ZW0xOTsgdHlwZWRlZiBQMjAgaXRlbTIwOyB0eXBlZGVmIFAyMSBpdGVtMjE7IHR5cGVkZWYgUDIyIGl0ZW0yMjsgdHlwZWRlZiBQMjMgaXRlbTIzOyB0eXBlZGVmIFAyNCBpdGVtMjQ7IHR5cGVkZWYgUDI1IGl0ZW0yNTsgdHlwZWRlZiBQMjYgaXRlbTI2OyB0eXBlZGVmIFAyNyBpdGVtMjc7IHR5cGVkZWYgUDI4IGl0ZW0yODsgdHlwZWRlZiBQMjkgaXRlbTI5OyB0eXBlZGVmIFAzMCBpdGVtMzA7IHR5cGVkZWYgUDMxIGl0ZW0zMTsgdHlwZWRlZiBQMzIgaXRlbTMyOyB0eXBlZGVmIFAzMyBpdGVtMzM7IHR5cGVkZWYgUDM0IGl0ZW0zNDsgdHlwZWRlZiBQMzUgaXRlbTM1OyB0eXBlZGVmIFAzNiBpdGVtMzY7IHR5cGVkZWYgUDM3IGl0ZW0zNzsgdHlwZWRlZiBQMzggaXRlbTM4OyB0eXBlZGVmIFAzOSBpdGVtMzk7IHR5cGVkZWYgUDQwIGl0ZW00MDsgdHlwZWRlZiBQNDEgaXRlbTQxOyB0eXBlZGVmIFA0MiBpdGVtNDI7IHR5cGVkZWYgUDQzIGl0ZW00MzsgdHlwZWRlZiBQNDQgaXRlbTQ0OyB0eXBlZGVmIFA0NSBpdGVtNDU7IHR5cGVkZWYgUDQ2IGl0ZW00NjsgdHlwZWRlZiBQNDcgaXRlbTQ3OyB0eXBlZGVmIFA0OCBpdGVtNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSA+IHN0cnVjdCB2ZWN0b3I1MCB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjUwPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OT4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwID4gc3RydWN0IHZlY3RvcjUxIHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yNTE8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwPiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgUDQxIGl0ZW00MTsgdHlwZWRlZiBQNDIgaXRlbTQyOyB0eXBlZGVmIFA0MyBpdGVtNDM7IHR5cGVkZWYgUDQ0IGl0ZW00NDsgdHlwZWRlZiBQNDUgaXRlbTQ1OyB0eXBlZGVmIFA0NiBpdGVtNDY7IHR5cGVkZWYgUDQ3IGl0ZW00NzsgdHlwZWRlZiBQNDggaXRlbTQ4OyB0eXBlZGVmIFA0OSBpdGVtNDk7IHR5cGVkZWYgUDUwIGl0ZW01MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgPiBzdHJ1Y3QgdmVjdG9yNTIgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3I1MjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTE+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgUDMgaXRlbTM7IHR5cGVkZWYgUDQgaXRlbTQ7IHR5cGVkZWYgUDUgaXRlbTU7IHR5cGVkZWYgUDYgaXRlbTY7IHR5cGVkZWYgUDcgaXRlbTc7IHR5cGVkZWYgUDggaXRlbTg7IHR5cGVkZWYgUDkgaXRlbTk7IHR5cGVkZWYgUDEwIGl0ZW0xMDsgdHlwZWRlZiBQMTEgaXRlbTExOyB0eXBlZGVmIFAxMiBpdGVtMTI7IHR5cGVkZWYgUDEzIGl0ZW0xMzsgdHlwZWRlZiBQMTQgaXRlbTE0OyB0eXBlZGVmIFAxNSBpdGVtMTU7IHR5cGVkZWYgUDE2IGl0ZW0xNjsgdHlwZWRlZiBQMTcgaXRlbTE3OyB0eXBlZGVmIFAxOCBpdGVtMTg7IHR5cGVkZWYgUDE5IGl0ZW0xOTsgdHlwZWRlZiBQMjAgaXRlbTIwOyB0eXBlZGVmIFAyMSBpdGVtMjE7IHR5cGVkZWYgUDIyIGl0ZW0yMjsgdHlwZWRlZiBQMjMgaXRlbTIzOyB0eXBlZGVmIFAyNCBpdGVtMjQ7IHR5cGVkZWYgUDI1IGl0ZW0yNTsgdHlwZWRlZiBQMjYgaXRlbTI2OyB0eXBlZGVmIFAyNyBpdGVtMjc7IHR5cGVkZWYgUDI4IGl0ZW0yODsgdHlwZWRlZiBQMjkgaXRlbTI5OyB0eXBlZGVmIFAzMCBpdGVtMzA7IHR5cGVkZWYgUDMxIGl0ZW0zMTsgdHlwZWRlZiBQMzIgaXRlbTMyOyB0eXBlZGVmIFAzMyBpdGVtMzM7IHR5cGVkZWYgUDM0IGl0ZW0zNDsgdHlwZWRlZiBQMzUgaXRlbTM1OyB0eXBlZGVmIFAzNiBpdGVtMzY7IHR5cGVkZWYgUDM3IGl0ZW0zNzsgdHlwZWRlZiBQMzggaXRlbTM4OyB0eXBlZGVmIFAzOSBpdGVtMzk7IHR5cGVkZWYgUDQwIGl0ZW00MDsgdHlwZWRlZiBQNDEgaXRlbTQxOyB0eXBlZGVmIFA0MiBpdGVtNDI7IHR5cGVkZWYgUDQzIGl0ZW00MzsgdHlwZWRlZiBQNDQgaXRlbTQ0OyB0eXBlZGVmIFA0NSBpdGVtNDU7IHR5cGVkZWYgUDQ2IGl0ZW00NjsgdHlwZWRlZiBQNDcgaXRlbTQ3OyB0eXBlZGVmIFA0OCBpdGVtNDg7IHR5cGVkZWYgUDQ5IGl0ZW00OTsgdHlwZWRlZiBQNTAgaXRlbTUwOyB0eXBlZGVmIFA1MSBpdGVtNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiA+IHN0cnVjdCB2ZWN0b3I1MyB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjUzPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1Mj4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzID4gc3RydWN0IHZlY3RvcjU0IHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yNTQ8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzPiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgUDQxIGl0ZW00MTsgdHlwZWRlZiBQNDIgaXRlbTQyOyB0eXBlZGVmIFA0MyBpdGVtNDM7IHR5cGVkZWYgUDQ0IGl0ZW00NDsgdHlwZWRlZiBQNDUgaXRlbTQ1OyB0eXBlZGVmIFA0NiBpdGVtNDY7IHR5cGVkZWYgUDQ3IGl0ZW00NzsgdHlwZWRlZiBQNDggaXRlbTQ4OyB0eXBlZGVmIFA0OSBpdGVtNDk7IHR5cGVkZWYgUDUwIGl0ZW01MDsgdHlwZWRlZiBQNTEgaXRlbTUxOyB0eXBlZGVmIFA1MiBpdGVtNTI7IHR5cGVkZWYgUDUzIGl0ZW01MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgPiBzdHJ1Y3QgdmVjdG9yNTUgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3I1NTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQ+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgUDMgaXRlbTM7IHR5cGVkZWYgUDQgaXRlbTQ7IHR5cGVkZWYgUDUgaXRlbTU7IHR5cGVkZWYgUDYgaXRlbTY7IHR5cGVkZWYgUDcgaXRlbTc7IHR5cGVkZWYgUDggaXRlbTg7IHR5cGVkZWYgUDkgaXRlbTk7IHR5cGVkZWYgUDEwIGl0ZW0xMDsgdHlwZWRlZiBQMTEgaXRlbTExOyB0eXBlZGVmIFAxMiBpdGVtMTI7IHR5cGVkZWYgUDEzIGl0ZW0xMzsgdHlwZWRlZiBQMTQgaXRlbTE0OyB0eXBlZGVmIFAxNSBpdGVtMTU7IHR5cGVkZWYgUDE2IGl0ZW0xNjsgdHlwZWRlZiBQMTcgaXRlbTE3OyB0eXBlZGVmIFAxOCBpdGVtMTg7IHR5cGVkZWYgUDE5IGl0ZW0xOTsgdHlwZWRlZiBQMjAgaXRlbTIwOyB0eXBlZGVmIFAyMSBpdGVtMjE7IHR5cGVkZWYgUDIyIGl0ZW0yMjsgdHlwZWRlZiBQMjMgaXRlbTIzOyB0eXBlZGVmIFAyNCBpdGVtMjQ7IHR5cGVkZWYgUDI1IGl0ZW0yNTsgdHlwZWRlZiBQMjYgaXRlbTI2OyB0eXBlZGVmIFAyNyBpdGVtMjc7IHR5cGVkZWYgUDI4IGl0ZW0yODsgdHlwZWRlZiBQMjkgaXRlbTI5OyB0eXBlZGVmIFAzMCBpdGVtMzA7IHR5cGVkZWYgUDMxIGl0ZW0zMTsgdHlwZWRlZiBQMzIgaXRlbTMyOyB0eXBlZGVmIFAzMyBpdGVtMzM7IHR5cGVkZWYgUDM0IGl0ZW0zNDsgdHlwZWRlZiBQMzUgaXRlbTM1OyB0eXBlZGVmIFAzNiBpdGVtMzY7IHR5cGVkZWYgUDM3IGl0ZW0zNzsgdHlwZWRlZiBQMzggaXRlbTM4OyB0eXBlZGVmIFAzOSBpdGVtMzk7IHR5cGVkZWYgUDQwIGl0ZW00MDsgdHlwZWRlZiBQNDEgaXRlbTQxOyB0eXBlZGVmIFA0MiBpdGVtNDI7IHR5cGVkZWYgUDQzIGl0ZW00MzsgdHlwZWRlZiBQNDQgaXRlbTQ0OyB0eXBlZGVmIFA0NSBpdGVtNDU7IHR5cGVkZWYgUDQ2IGl0ZW00NjsgdHlwZWRlZiBQNDcgaXRlbTQ3OyB0eXBlZGVmIFA0OCBpdGVtNDg7IHR5cGVkZWYgUDQ5IGl0ZW00OTsgdHlwZWRlZiBQNTAgaXRlbTUwOyB0eXBlZGVmIFA1MSBpdGVtNTE7IHR5cGVkZWYgUDUyIGl0ZW01MjsgdHlwZWRlZiBQNTMgaXRlbTUzOyB0eXBlZGVmIFA1NCBpdGVtNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSA+IHN0cnVjdCB2ZWN0b3I1NiB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjU2PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NT4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ID4gc3RydWN0IHZlY3RvcjU3IHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yNTc8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2PiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgUDQxIGl0ZW00MTsgdHlwZWRlZiBQNDIgaXRlbTQyOyB0eXBlZGVmIFA0MyBpdGVtNDM7IHR5cGVkZWYgUDQ0IGl0ZW00NDsgdHlwZWRlZiBQNDUgaXRlbTQ1OyB0eXBlZGVmIFA0NiBpdGVtNDY7IHR5cGVkZWYgUDQ3IGl0ZW00NzsgdHlwZWRlZiBQNDggaXRlbTQ4OyB0eXBlZGVmIFA0OSBpdGVtNDk7IHR5cGVkZWYgUDUwIGl0ZW01MDsgdHlwZWRlZiBQNTEgaXRlbTUxOyB0eXBlZGVmIFA1MiBpdGVtNTI7IHR5cGVkZWYgUDUzIGl0ZW01MzsgdHlwZWRlZiBQNTQgaXRlbTU0OyB0eXBlZGVmIFA1NSBpdGVtNTU7IHR5cGVkZWYgUDU2IGl0ZW01NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgPiBzdHJ1Y3QgdmVjdG9yNTggeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3I1ODwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTc+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgUDMgaXRlbTM7IHR5cGVkZWYgUDQgaXRlbTQ7IHR5cGVkZWYgUDUgaXRlbTU7IHR5cGVkZWYgUDYgaXRlbTY7IHR5cGVkZWYgUDcgaXRlbTc7IHR5cGVkZWYgUDggaXRlbTg7IHR5cGVkZWYgUDkgaXRlbTk7IHR5cGVkZWYgUDEwIGl0ZW0xMDsgdHlwZWRlZiBQMTEgaXRlbTExOyB0eXBlZGVmIFAxMiBpdGVtMTI7IHR5cGVkZWYgUDEzIGl0ZW0xMzsgdHlwZWRlZiBQMTQgaXRlbTE0OyB0eXBlZGVmIFAxNSBpdGVtMTU7IHR5cGVkZWYgUDE2IGl0ZW0xNjsgdHlwZWRlZiBQMTcgaXRlbTE3OyB0eXBlZGVmIFAxOCBpdGVtMTg7IHR5cGVkZWYgUDE5IGl0ZW0xOTsgdHlwZWRlZiBQMjAgaXRlbTIwOyB0eXBlZGVmIFAyMSBpdGVtMjE7IHR5cGVkZWYgUDIyIGl0ZW0yMjsgdHlwZWRlZiBQMjMgaXRlbTIzOyB0eXBlZGVmIFAyNCBpdGVtMjQ7IHR5cGVkZWYgUDI1IGl0ZW0yNTsgdHlwZWRlZiBQMjYgaXRlbTI2OyB0eXBlZGVmIFAyNyBpdGVtMjc7IHR5cGVkZWYgUDI4IGl0ZW0yODsgdHlwZWRlZiBQMjkgaXRlbTI5OyB0eXBlZGVmIFAzMCBpdGVtMzA7IHR5cGVkZWYgUDMxIGl0ZW0zMTsgdHlwZWRlZiBQMzIgaXRlbTMyOyB0eXBlZGVmIFAzMyBpdGVtMzM7IHR5cGVkZWYgUDM0IGl0ZW0zNDsgdHlwZWRlZiBQMzUgaXRlbTM1OyB0eXBlZGVmIFAzNiBpdGVtMzY7IHR5cGVkZWYgUDM3IGl0ZW0zNzsgdHlwZWRlZiBQMzggaXRlbTM4OyB0eXBlZGVmIFAzOSBpdGVtMzk7IHR5cGVkZWYgUDQwIGl0ZW00MDsgdHlwZWRlZiBQNDEgaXRlbTQxOyB0eXBlZGVmIFA0MiBpdGVtNDI7IHR5cGVkZWYgUDQzIGl0ZW00MzsgdHlwZWRlZiBQNDQgaXRlbTQ0OyB0eXBlZGVmIFA0NSBpdGVtNDU7IHR5cGVkZWYgUDQ2IGl0ZW00NjsgdHlwZWRlZiBQNDcgaXRlbTQ3OyB0eXBlZGVmIFA0OCBpdGVtNDg7IHR5cGVkZWYgUDQ5IGl0ZW00OTsgdHlwZWRlZiBQNTAgaXRlbTUwOyB0eXBlZGVmIFA1MSBpdGVtNTE7IHR5cGVkZWYgUDUyIGl0ZW01MjsgdHlwZWRlZiBQNTMgaXRlbTUzOyB0eXBlZGVmIFA1NCBpdGVtNTQ7IHR5cGVkZWYgUDU1IGl0ZW01NTsgdHlwZWRlZiBQNTYgaXRlbTU2OyB0eXBlZGVmIFA1NyBpdGVtNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCA+IHN0cnVjdCB2ZWN0b3I1OSB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjU5PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OD4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ID4gc3RydWN0IHZlY3RvcjYwIHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yNjA8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5PiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgUDQxIGl0ZW00MTsgdHlwZWRlZiBQNDIgaXRlbTQyOyB0eXBlZGVmIFA0MyBpdGVtNDM7IHR5cGVkZWYgUDQ0IGl0ZW00NDsgdHlwZWRlZiBQNDUgaXRlbTQ1OyB0eXBlZGVmIFA0NiBpdGVtNDY7IHR5cGVkZWYgUDQ3IGl0ZW00NzsgdHlwZWRlZiBQNDggaXRlbTQ4OyB0eXBlZGVmIFA0OSBpdGVtNDk7IHR5cGVkZWYgUDUwIGl0ZW01MDsgdHlwZWRlZiBQNTEgaXRlbTUxOyB0eXBlZGVmIFA1MiBpdGVtNTI7IHR5cGVkZWYgUDUzIGl0ZW01MzsgdHlwZWRlZiBQNTQgaXRlbTU0OyB0eXBlZGVmIFA1NSBpdGVtNTU7IHR5cGVkZWYgUDU2IGl0ZW01NjsgdHlwZWRlZiBQNTcgaXRlbTU3OyB0eXBlZGVmIFA1OCBpdGVtNTg7IHR5cGVkZWYgUDU5IGl0ZW01OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgPiBzdHJ1Y3QgdmVjdG9yNjEgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3I2MTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjA+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgUDMgaXRlbTM7IHR5cGVkZWYgUDQgaXRlbTQ7IHR5cGVkZWYgUDUgaXRlbTU7IHR5cGVkZWYgUDYgaXRlbTY7IHR5cGVkZWYgUDcgaXRlbTc7IHR5cGVkZWYgUDggaXRlbTg7IHR5cGVkZWYgUDkgaXRlbTk7IHR5cGVkZWYgUDEwIGl0ZW0xMDsgdHlwZWRlZiBQMTEgaXRlbTExOyB0eXBlZGVmIFAxMiBpdGVtMTI7IHR5cGVkZWYgUDEzIGl0ZW0xMzsgdHlwZWRlZiBQMTQgaXRlbTE0OyB0eXBlZGVmIFAxNSBpdGVtMTU7IHR5cGVkZWYgUDE2IGl0ZW0xNjsgdHlwZWRlZiBQMTcgaXRlbTE3OyB0eXBlZGVmIFAxOCBpdGVtMTg7IHR5cGVkZWYgUDE5IGl0ZW0xOTsgdHlwZWRlZiBQMjAgaXRlbTIwOyB0eXBlZGVmIFAyMSBpdGVtMjE7IHR5cGVkZWYgUDIyIGl0ZW0yMjsgdHlwZWRlZiBQMjMgaXRlbTIzOyB0eXBlZGVmIFAyNCBpdGVtMjQ7IHR5cGVkZWYgUDI1IGl0ZW0yNTsgdHlwZWRlZiBQMjYgaXRlbTI2OyB0eXBlZGVmIFAyNyBpdGVtMjc7IHR5cGVkZWYgUDI4IGl0ZW0yODsgdHlwZWRlZiBQMjkgaXRlbTI5OyB0eXBlZGVmIFAzMCBpdGVtMzA7IHR5cGVkZWYgUDMxIGl0ZW0zMTsgdHlwZWRlZiBQMzIgaXRlbTMyOyB0eXBlZGVmIFAzMyBpdGVtMzM7IHR5cGVkZWYgUDM0IGl0ZW0zNDsgdHlwZWRlZiBQMzUgaXRlbTM1OyB0eXBlZGVmIFAzNiBpdGVtMzY7IHR5cGVkZWYgUDM3IGl0ZW0zNzsgdHlwZWRlZiBQMzggaXRlbTM4OyB0eXBlZGVmIFAzOSBpdGVtMzk7IHR5cGVkZWYgUDQwIGl0ZW00MDsgdHlwZWRlZiBQNDEgaXRlbTQxOyB0eXBlZGVmIFA0MiBpdGVtNDI7IHR5cGVkZWYgUDQzIGl0ZW00MzsgdHlwZWRlZiBQNDQgaXRlbTQ0OyB0eXBlZGVmIFA0NSBpdGVtNDU7IHR5cGVkZWYgUDQ2IGl0ZW00NjsgdHlwZWRlZiBQNDcgaXRlbTQ3OyB0eXBlZGVmIFA0OCBpdGVtNDg7IHR5cGVkZWYgUDQ5IGl0ZW00OTsgdHlwZWRlZiBQNTAgaXRlbTUwOyB0eXBlZGVmIFA1MSBpdGVtNTE7IHR5cGVkZWYgUDUyIGl0ZW01MjsgdHlwZWRlZiBQNTMgaXRlbTUzOyB0eXBlZGVmIFA1NCBpdGVtNTQ7IHR5cGVkZWYgUDU1IGl0ZW01NTsgdHlwZWRlZiBQNTYgaXRlbTU2OyB0eXBlZGVmIFA1NyBpdGVtNTc7IHR5cGVkZWYgUDU4IGl0ZW01ODsgdHlwZWRlZiBQNTkgaXRlbTU5OyB0eXBlZGVmIFA2MCBpdGVtNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSA+IHN0cnVjdCB2ZWN0b3I2MiB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjYyPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MT4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyID4gc3RydWN0IHZlY3RvcjYzIHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yNjM8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyPiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgUDQxIGl0ZW00MTsgdHlwZWRlZiBQNDIgaXRlbTQyOyB0eXBlZGVmIFA0MyBpdGVtNDM7IHR5cGVkZWYgUDQ0IGl0ZW00NDsgdHlwZWRlZiBQNDUgaXRlbTQ1OyB0eXBlZGVmIFA0NiBpdGVtNDY7IHR5cGVkZWYgUDQ3IGl0ZW00NzsgdHlwZWRlZiBQNDggaXRlbTQ4OyB0eXBlZGVmIFA0OSBpdGVtNDk7IHR5cGVkZWYgUDUwIGl0ZW01MDsgdHlwZWRlZiBQNTEgaXRlbTUxOyB0eXBlZGVmIFA1MiBpdGVtNTI7IHR5cGVkZWYgUDUzIGl0ZW01MzsgdHlwZWRlZiBQNTQgaXRlbTU0OyB0eXBlZGVmIFA1NSBpdGVtNTU7IHR5cGVkZWYgUDU2IGl0ZW01NjsgdHlwZWRlZiBQNTcgaXRlbTU3OyB0eXBlZGVmIFA1OCBpdGVtNTg7IHR5cGVkZWYgUDU5IGl0ZW01OTsgdHlwZWRlZiBQNjAgaXRlbTYwOyB0eXBlZGVmIFA2MSBpdGVtNjE7IHR5cGVkZWYgUDYyIGl0ZW02MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgPiBzdHJ1Y3QgdmVjdG9yNjQgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3I2NDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjM+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgUDMgaXRlbTM7IHR5cGVkZWYgUDQgaXRlbTQ7IHR5cGVkZWYgUDUgaXRlbTU7IHR5cGVkZWYgUDYgaXRlbTY7IHR5cGVkZWYgUDcgaXRlbTc7IHR5cGVkZWYgUDggaXRlbTg7IHR5cGVkZWYgUDkgaXRlbTk7IHR5cGVkZWYgUDEwIGl0ZW0xMDsgdHlwZWRlZiBQMTEgaXRlbTExOyB0eXBlZGVmIFAxMiBpdGVtMTI7IHR5cGVkZWYgUDEzIGl0ZW0xMzsgdHlwZWRlZiBQMTQgaXRlbTE0OyB0eXBlZGVmIFAxNSBpdGVtMTU7IHR5cGVkZWYgUDE2IGl0ZW0xNjsgdHlwZWRlZiBQMTcgaXRlbTE3OyB0eXBlZGVmIFAxOCBpdGVtMTg7IHR5cGVkZWYgUDE5IGl0ZW0xOTsgdHlwZWRlZiBQMjAgaXRlbTIwOyB0eXBlZGVmIFAyMSBpdGVtMjE7IHR5cGVkZWYgUDIyIGl0ZW0yMjsgdHlwZWRlZiBQMjMgaXRlbTIzOyB0eXBlZGVmIFAyNCBpdGVtMjQ7IHR5cGVkZWYgUDI1IGl0ZW0yNTsgdHlwZWRlZiBQMjYgaXRlbTI2OyB0eXBlZGVmIFAyNyBpdGVtMjc7IHR5cGVkZWYgUDI4IGl0ZW0yODsgdHlwZWRlZiBQMjkgaXRlbTI5OyB0eXBlZGVmIFAzMCBpdGVtMzA7IHR5cGVkZWYgUDMxIGl0ZW0zMTsgdHlwZWRlZiBQMzIgaXRlbTMyOyB0eXBlZGVmIFAzMyBpdGVtMzM7IHR5cGVkZWYgUDM0IGl0ZW0zNDsgdHlwZWRlZiBQMzUgaXRlbTM1OyB0eXBlZGVmIFAzNiBpdGVtMzY7IHR5cGVkZWYgUDM3IGl0ZW0zNzsgdHlwZWRlZiBQMzggaXRlbTM4OyB0eXBlZGVmIFAzOSBpdGVtMzk7IHR5cGVkZWYgUDQwIGl0ZW00MDsgdHlwZWRlZiBQNDEgaXRlbTQxOyB0eXBlZGVmIFA0MiBpdGVtNDI7IHR5cGVkZWYgUDQzIGl0ZW00MzsgdHlwZWRlZiBQNDQgaXRlbTQ0OyB0eXBlZGVmIFA0NSBpdGVtNDU7IHR5cGVkZWYgUDQ2IGl0ZW00NjsgdHlwZWRlZiBQNDcgaXRlbTQ3OyB0eXBlZGVmIFA0OCBpdGVtNDg7IHR5cGVkZWYgUDQ5IGl0ZW00OTsgdHlwZWRlZiBQNTAgaXRlbTUwOyB0eXBlZGVmIFA1MSBpdGVtNTE7IHR5cGVkZWYgUDUyIGl0ZW01MjsgdHlwZWRlZiBQNTMgaXRlbTUzOyB0eXBlZGVmIFA1NCBpdGVtNTQ7IHR5cGVkZWYgUDU1IGl0ZW01NTsgdHlwZWRlZiBQNTYgaXRlbTU2OyB0eXBlZGVmIFA1NyBpdGVtNTc7IHR5cGVkZWYgUDU4IGl0ZW01ODsgdHlwZWRlZiBQNTkgaXRlbTU5OyB0eXBlZGVmIFA2MCBpdGVtNjA7IHR5cGVkZWYgUDYxIGl0ZW02MTsgdHlwZWRlZiBQNjIgaXRlbTYyOyB0eXBlZGVmIFA2MyBpdGVtNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCA+IHN0cnVjdCB2ZWN0b3I2NSB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjY1PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2ND4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ID4gc3RydWN0IHZlY3RvcjY2IHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yNjY8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1PiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgUDQxIGl0ZW00MTsgdHlwZWRlZiBQNDIgaXRlbTQyOyB0eXBlZGVmIFA0MyBpdGVtNDM7IHR5cGVkZWYgUDQ0IGl0ZW00NDsgdHlwZWRlZiBQNDUgaXRlbTQ1OyB0eXBlZGVmIFA0NiBpdGVtNDY7IHR5cGVkZWYgUDQ3IGl0ZW00NzsgdHlwZWRlZiBQNDggaXRlbTQ4OyB0eXBlZGVmIFA0OSBpdGVtNDk7IHR5cGVkZWYgUDUwIGl0ZW01MDsgdHlwZWRlZiBQNTEgaXRlbTUxOyB0eXBlZGVmIFA1MiBpdGVtNTI7IHR5cGVkZWYgUDUzIGl0ZW01MzsgdHlwZWRlZiBQNTQgaXRlbTU0OyB0eXBlZGVmIFA1NSBpdGVtNTU7IHR5cGVkZWYgUDU2IGl0ZW01NjsgdHlwZWRlZiBQNTcgaXRlbTU3OyB0eXBlZGVmIFA1OCBpdGVtNTg7IHR5cGVkZWYgUDU5IGl0ZW01OTsgdHlwZWRlZiBQNjAgaXRlbTYwOyB0eXBlZGVmIFA2MSBpdGVtNjE7IHR5cGVkZWYgUDYyIGl0ZW02MjsgdHlwZWRlZiBQNjMgaXRlbTYzOyB0eXBlZGVmIFA2NCBpdGVtNjQ7IHR5cGVkZWYgUDY1IGl0ZW02NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgPiBzdHJ1Y3QgdmVjdG9yNjcgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3I2NzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjY+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgUDMgaXRlbTM7IHR5cGVkZWYgUDQgaXRlbTQ7IHR5cGVkZWYgUDUgaXRlbTU7IHR5cGVkZWYgUDYgaXRlbTY7IHR5cGVkZWYgUDcgaXRlbTc7IHR5cGVkZWYgUDggaXRlbTg7IHR5cGVkZWYgUDkgaXRlbTk7IHR5cGVkZWYgUDEwIGl0ZW0xMDsgdHlwZWRlZiBQMTEgaXRlbTExOyB0eXBlZGVmIFAxMiBpdGVtMTI7IHR5cGVkZWYgUDEzIGl0ZW0xMzsgdHlwZWRlZiBQMTQgaXRlbTE0OyB0eXBlZGVmIFAxNSBpdGVtMTU7IHR5cGVkZWYgUDE2IGl0ZW0xNjsgdHlwZWRlZiBQMTcgaXRlbTE3OyB0eXBlZGVmIFAxOCBpdGVtMTg7IHR5cGVkZWYgUDE5IGl0ZW0xOTsgdHlwZWRlZiBQMjAgaXRlbTIwOyB0eXBlZGVmIFAyMSBpdGVtMjE7IHR5cGVkZWYgUDIyIGl0ZW0yMjsgdHlwZWRlZiBQMjMgaXRlbTIzOyB0eXBlZGVmIFAyNCBpdGVtMjQ7IHR5cGVkZWYgUDI1IGl0ZW0yNTsgdHlwZWRlZiBQMjYgaXRlbTI2OyB0eXBlZGVmIFAyNyBpdGVtMjc7IHR5cGVkZWYgUDI4IGl0ZW0yODsgdHlwZWRlZiBQMjkgaXRlbTI5OyB0eXBlZGVmIFAzMCBpdGVtMzA7IHR5cGVkZWYgUDMxIGl0ZW0zMTsgdHlwZWRlZiBQMzIgaXRlbTMyOyB0eXBlZGVmIFAzMyBpdGVtMzM7IHR5cGVkZWYgUDM0IGl0ZW0zNDsgdHlwZWRlZiBQMzUgaXRlbTM1OyB0eXBlZGVmIFAzNiBpdGVtMzY7IHR5cGVkZWYgUDM3IGl0ZW0zNzsgdHlwZWRlZiBQMzggaXRlbTM4OyB0eXBlZGVmIFAzOSBpdGVtMzk7IHR5cGVkZWYgUDQwIGl0ZW00MDsgdHlwZWRlZiBQNDEgaXRlbTQxOyB0eXBlZGVmIFA0MiBpdGVtNDI7IHR5cGVkZWYgUDQzIGl0ZW00MzsgdHlwZWRlZiBQNDQgaXRlbTQ0OyB0eXBlZGVmIFA0NSBpdGVtNDU7IHR5cGVkZWYgUDQ2IGl0ZW00NjsgdHlwZWRlZiBQNDcgaXRlbTQ3OyB0eXBlZGVmIFA0OCBpdGVtNDg7IHR5cGVkZWYgUDQ5IGl0ZW00OTsgdHlwZWRlZiBQNTAgaXRlbTUwOyB0eXBlZGVmIFA1MSBpdGVtNTE7IHR5cGVkZWYgUDUyIGl0ZW01MjsgdHlwZWRlZiBQNTMgaXRlbTUzOyB0eXBlZGVmIFA1NCBpdGVtNTQ7IHR5cGVkZWYgUDU1IGl0ZW01NTsgdHlwZWRlZiBQNTYgaXRlbTU2OyB0eXBlZGVmIFA1NyBpdGVtNTc7IHR5cGVkZWYgUDU4IGl0ZW01ODsgdHlwZWRlZiBQNTkgaXRlbTU5OyB0eXBlZGVmIFA2MCBpdGVtNjA7IHR5cGVkZWYgUDYxIGl0ZW02MTsgdHlwZWRlZiBQNjIgaXRlbTYyOyB0eXBlZGVmIFA2MyBpdGVtNjM7IHR5cGVkZWYgUDY0IGl0ZW02NDsgdHlwZWRlZiBQNjUgaXRlbTY1OyB0eXBlZGVmIFA2NiBpdGVtNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyA+IHN0cnVjdCB2ZWN0b3I2OCB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjY4PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2Nz4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ID4gc3RydWN0IHZlY3RvcjY5IHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yNjk8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4PiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgUDQxIGl0ZW00MTsgdHlwZWRlZiBQNDIgaXRlbTQyOyB0eXBlZGVmIFA0MyBpdGVtNDM7IHR5cGVkZWYgUDQ0IGl0ZW00NDsgdHlwZWRlZiBQNDUgaXRlbTQ1OyB0eXBlZGVmIFA0NiBpdGVtNDY7IHR5cGVkZWYgUDQ3IGl0ZW00NzsgdHlwZWRlZiBQNDggaXRlbTQ4OyB0eXBlZGVmIFA0OSBpdGVtNDk7IHR5cGVkZWYgUDUwIGl0ZW01MDsgdHlwZWRlZiBQNTEgaXRlbTUxOyB0eXBlZGVmIFA1MiBpdGVtNTI7IHR5cGVkZWYgUDUzIGl0ZW01MzsgdHlwZWRlZiBQNTQgaXRlbTU0OyB0eXBlZGVmIFA1NSBpdGVtNTU7IHR5cGVkZWYgUDU2IGl0ZW01NjsgdHlwZWRlZiBQNTcgaXRlbTU3OyB0eXBlZGVmIFA1OCBpdGVtNTg7IHR5cGVkZWYgUDU5IGl0ZW01OTsgdHlwZWRlZiBQNjAgaXRlbTYwOyB0eXBlZGVmIFA2MSBpdGVtNjE7IHR5cGVkZWYgUDYyIGl0ZW02MjsgdHlwZWRlZiBQNjMgaXRlbTYzOyB0eXBlZGVmIFA2NCBpdGVtNjQ7IHR5cGVkZWYgUDY1IGl0ZW02NTsgdHlwZWRlZiBQNjYgaXRlbTY2OyB0eXBlZGVmIFA2NyBpdGVtNjc7IHR5cGVkZWYgUDY4IGl0ZW02ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgPiBzdHJ1Y3QgdmVjdG9yNzAgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3I3MDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjk+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgUDMgaXRlbTM7IHR5cGVkZWYgUDQgaXRlbTQ7IHR5cGVkZWYgUDUgaXRlbTU7IHR5cGVkZWYgUDYgaXRlbTY7IHR5cGVkZWYgUDcgaXRlbTc7IHR5cGVkZWYgUDggaXRlbTg7IHR5cGVkZWYgUDkgaXRlbTk7IHR5cGVkZWYgUDEwIGl0ZW0xMDsgdHlwZWRlZiBQMTEgaXRlbTExOyB0eXBlZGVmIFAxMiBpdGVtMTI7IHR5cGVkZWYgUDEzIGl0ZW0xMzsgdHlwZWRlZiBQMTQgaXRlbTE0OyB0eXBlZGVmIFAxNSBpdGVtMTU7IHR5cGVkZWYgUDE2IGl0ZW0xNjsgdHlwZWRlZiBQMTcgaXRlbTE3OyB0eXBlZGVmIFAxOCBpdGVtMTg7IHR5cGVkZWYgUDE5IGl0ZW0xOTsgdHlwZWRlZiBQMjAgaXRlbTIwOyB0eXBlZGVmIFAyMSBpdGVtMjE7IHR5cGVkZWYgUDIyIGl0ZW0yMjsgdHlwZWRlZiBQMjMgaXRlbTIzOyB0eXBlZGVmIFAyNCBpdGVtMjQ7IHR5cGVkZWYgUDI1IGl0ZW0yNTsgdHlwZWRlZiBQMjYgaXRlbTI2OyB0eXBlZGVmIFAyNyBpdGVtMjc7IHR5cGVkZWYgUDI4IGl0ZW0yODsgdHlwZWRlZiBQMjkgaXRlbTI5OyB0eXBlZGVmIFAzMCBpdGVtMzA7IHR5cGVkZWYgUDMxIGl0ZW0zMTsgdHlwZWRlZiBQMzIgaXRlbTMyOyB0eXBlZGVmIFAzMyBpdGVtMzM7IHR5cGVkZWYgUDM0IGl0ZW0zNDsgdHlwZWRlZiBQMzUgaXRlbTM1OyB0eXBlZGVmIFAzNiBpdGVtMzY7IHR5cGVkZWYgUDM3IGl0ZW0zNzsgdHlwZWRlZiBQMzggaXRlbTM4OyB0eXBlZGVmIFAzOSBpdGVtMzk7IHR5cGVkZWYgUDQwIGl0ZW00MDsgdHlwZWRlZiBQNDEgaXRlbTQxOyB0eXBlZGVmIFA0MiBpdGVtNDI7IHR5cGVkZWYgUDQzIGl0ZW00MzsgdHlwZWRlZiBQNDQgaXRlbTQ0OyB0eXBlZGVmIFA0NSBpdGVtNDU7IHR5cGVkZWYgUDQ2IGl0ZW00NjsgdHlwZWRlZiBQNDcgaXRlbTQ3OyB0eXBlZGVmIFA0OCBpdGVtNDg7IHR5cGVkZWYgUDQ5IGl0ZW00OTsgdHlwZWRlZiBQNTAgaXRlbTUwOyB0eXBlZGVmIFA1MSBpdGVtNTE7IHR5cGVkZWYgUDUyIGl0ZW01MjsgdHlwZWRlZiBQNTMgaXRlbTUzOyB0eXBlZGVmIFA1NCBpdGVtNTQ7IHR5cGVkZWYgUDU1IGl0ZW01NTsgdHlwZWRlZiBQNTYgaXRlbTU2OyB0eXBlZGVmIFA1NyBpdGVtNTc7IHR5cGVkZWYgUDU4IGl0ZW01ODsgdHlwZWRlZiBQNTkgaXRlbTU5OyB0eXBlZGVmIFA2MCBpdGVtNjA7IHR5cGVkZWYgUDYxIGl0ZW02MTsgdHlwZWRlZiBQNjIgaXRlbTYyOyB0eXBlZGVmIFA2MyBpdGVtNjM7IHR5cGVkZWYgUDY0IGl0ZW02NDsgdHlwZWRlZiBQNjUgaXRlbTY1OyB0eXBlZGVmIFA2NiBpdGVtNjY7IHR5cGVkZWYgUDY3IGl0ZW02NzsgdHlwZWRlZiBQNjggaXRlbTY4OyB0eXBlZGVmIFA2OSBpdGVtNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCA+IHN0cnVjdCB2ZWN0b3I3MSB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjcxPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MD4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxID4gc3RydWN0IHZlY3RvcjcyIHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yNzI8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxPiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgUDQxIGl0ZW00MTsgdHlwZWRlZiBQNDIgaXRlbTQyOyB0eXBlZGVmIFA0MyBpdGVtNDM7IHR5cGVkZWYgUDQ0IGl0ZW00NDsgdHlwZWRlZiBQNDUgaXRlbTQ1OyB0eXBlZGVmIFA0NiBpdGVtNDY7IHR5cGVkZWYgUDQ3IGl0ZW00NzsgdHlwZWRlZiBQNDggaXRlbTQ4OyB0eXBlZGVmIFA0OSBpdGVtNDk7IHR5cGVkZWYgUDUwIGl0ZW01MDsgdHlwZWRlZiBQNTEgaXRlbTUxOyB0eXBlZGVmIFA1MiBpdGVtNTI7IHR5cGVkZWYgUDUzIGl0ZW01MzsgdHlwZWRlZiBQNTQgaXRlbTU0OyB0eXBlZGVmIFA1NSBpdGVtNTU7IHR5cGVkZWYgUDU2IGl0ZW01NjsgdHlwZWRlZiBQNTcgaXRlbTU3OyB0eXBlZGVmIFA1OCBpdGVtNTg7IHR5cGVkZWYgUDU5IGl0ZW01OTsgdHlwZWRlZiBQNjAgaXRlbTYwOyB0eXBlZGVmIFA2MSBpdGVtNjE7IHR5cGVkZWYgUDYyIGl0ZW02MjsgdHlwZWRlZiBQNjMgaXRlbTYzOyB0eXBlZGVmIFA2NCBpdGVtNjQ7IHR5cGVkZWYgUDY1IGl0ZW02NTsgdHlwZWRlZiBQNjYgaXRlbTY2OyB0eXBlZGVmIFA2NyBpdGVtNjc7IHR5cGVkZWYgUDY4IGl0ZW02ODsgdHlwZWRlZiBQNjkgaXRlbTY5OyB0eXBlZGVmIFA3MCBpdGVtNzA7IHR5cGVkZWYgUDcxIGl0ZW03MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgPiBzdHJ1Y3QgdmVjdG9yNzMgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3I3MzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzI+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgUDMgaXRlbTM7IHR5cGVkZWYgUDQgaXRlbTQ7IHR5cGVkZWYgUDUgaXRlbTU7IHR5cGVkZWYgUDYgaXRlbTY7IHR5cGVkZWYgUDcgaXRlbTc7IHR5cGVkZWYgUDggaXRlbTg7IHR5cGVkZWYgUDkgaXRlbTk7IHR5cGVkZWYgUDEwIGl0ZW0xMDsgdHlwZWRlZiBQMTEgaXRlbTExOyB0eXBlZGVmIFAxMiBpdGVtMTI7IHR5cGVkZWYgUDEzIGl0ZW0xMzsgdHlwZWRlZiBQMTQgaXRlbTE0OyB0eXBlZGVmIFAxNSBpdGVtMTU7IHR5cGVkZWYgUDE2IGl0ZW0xNjsgdHlwZWRlZiBQMTcgaXRlbTE3OyB0eXBlZGVmIFAxOCBpdGVtMTg7IHR5cGVkZWYgUDE5IGl0ZW0xOTsgdHlwZWRlZiBQMjAgaXRlbTIwOyB0eXBlZGVmIFAyMSBpdGVtMjE7IHR5cGVkZWYgUDIyIGl0ZW0yMjsgdHlwZWRlZiBQMjMgaXRlbTIzOyB0eXBlZGVmIFAyNCBpdGVtMjQ7IHR5cGVkZWYgUDI1IGl0ZW0yNTsgdHlwZWRlZiBQMjYgaXRlbTI2OyB0eXBlZGVmIFAyNyBpdGVtMjc7IHR5cGVkZWYgUDI4IGl0ZW0yODsgdHlwZWRlZiBQMjkgaXRlbTI5OyB0eXBlZGVmIFAzMCBpdGVtMzA7IHR5cGVkZWYgUDMxIGl0ZW0zMTsgdHlwZWRlZiBQMzIgaXRlbTMyOyB0eXBlZGVmIFAzMyBpdGVtMzM7IHR5cGVkZWYgUDM0IGl0ZW0zNDsgdHlwZWRlZiBQMzUgaXRlbTM1OyB0eXBlZGVmIFAzNiBpdGVtMzY7IHR5cGVkZWYgUDM3IGl0ZW0zNzsgdHlwZWRlZiBQMzggaXRlbTM4OyB0eXBlZGVmIFAzOSBpdGVtMzk7IHR5cGVkZWYgUDQwIGl0ZW00MDsgdHlwZWRlZiBQNDEgaXRlbTQxOyB0eXBlZGVmIFA0MiBpdGVtNDI7IHR5cGVkZWYgUDQzIGl0ZW00MzsgdHlwZWRlZiBQNDQgaXRlbTQ0OyB0eXBlZGVmIFA0NSBpdGVtNDU7IHR5cGVkZWYgUDQ2IGl0ZW00NjsgdHlwZWRlZiBQNDcgaXRlbTQ3OyB0eXBlZGVmIFA0OCBpdGVtNDg7IHR5cGVkZWYgUDQ5IGl0ZW00OTsgdHlwZWRlZiBQNTAgaXRlbTUwOyB0eXBlZGVmIFA1MSBpdGVtNTE7IHR5cGVkZWYgUDUyIGl0ZW01MjsgdHlwZWRlZiBQNTMgaXRlbTUzOyB0eXBlZGVmIFA1NCBpdGVtNTQ7IHR5cGVkZWYgUDU1IGl0ZW01NTsgdHlwZWRlZiBQNTYgaXRlbTU2OyB0eXBlZGVmIFA1NyBpdGVtNTc7IHR5cGVkZWYgUDU4IGl0ZW01ODsgdHlwZWRlZiBQNTkgaXRlbTU5OyB0eXBlZGVmIFA2MCBpdGVtNjA7IHR5cGVkZWYgUDYxIGl0ZW02MTsgdHlwZWRlZiBQNjIgaXRlbTYyOyB0eXBlZGVmIFA2MyBpdGVtNjM7IHR5cGVkZWYgUDY0IGl0ZW02NDsgdHlwZWRlZiBQNjUgaXRlbTY1OyB0eXBlZGVmIFA2NiBpdGVtNjY7IHR5cGVkZWYgUDY3IGl0ZW02NzsgdHlwZWRlZiBQNjggaXRlbTY4OyB0eXBlZGVmIFA2OSBpdGVtNjk7IHR5cGVkZWYgUDcwIGl0ZW03MDsgdHlwZWRlZiBQNzEgaXRlbTcxOyB0eXBlZGVmIFA3MiBpdGVtNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyA+IHN0cnVjdCB2ZWN0b3I3NCB7IHR5cGVkZWYgdl9pdGVyPHZlY3Rvcjc0PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3Mz4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ID4gc3RydWN0IHZlY3Rvcjc1IHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yNzU8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0PiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgUDQxIGl0ZW00MTsgdHlwZWRlZiBQNDIgaXRlbTQyOyB0eXBlZGVmIFA0MyBpdGVtNDM7IHR5cGVkZWYgUDQ0IGl0ZW00NDsgdHlwZWRlZiBQNDUgaXRlbTQ1OyB0eXBlZGVmIFA0NiBpdGVtNDY7IHR5cGVkZWYgUDQ3IGl0ZW00NzsgdHlwZWRlZiBQNDggaXRlbTQ4OyB0eXBlZGVmIFA0OSBpdGVtNDk7IHR5cGVkZWYgUDUwIGl0ZW01MDsgdHlwZWRlZiBQNTEgaXRlbTUxOyB0eXBlZGVmIFA1MiBpdGVtNTI7IHR5cGVkZWYgUDUzIGl0ZW01MzsgdHlwZWRlZiBQNTQgaXRlbTU0OyB0eXBlZGVmIFA1NSBpdGVtNTU7IHR5cGVkZWYgUDU2IGl0ZW01NjsgdHlwZWRlZiBQNTcgaXRlbTU3OyB0eXBlZGVmIFA1OCBpdGVtNTg7IHR5cGVkZWYgUDU5IGl0ZW01OTsgdHlwZWRlZiBQNjAgaXRlbTYwOyB0eXBlZGVmIFA2MSBpdGVtNjE7IHR5cGVkZWYgUDYyIGl0ZW02MjsgdHlwZWRlZiBQNjMgaXRlbTYzOyB0eXBlZGVmIFA2NCBpdGVtNjQ7IHR5cGVkZWYgUDY1IGl0ZW02NTsgdHlwZWRlZiBQNjYgaXRlbTY2OyB0eXBlZGVmIFA2NyBpdGVtNjc7IHR5cGVkZWYgUDY4IGl0ZW02ODsgdHlwZWRlZiBQNjkgaXRlbTY5OyB0eXBlZGVmIFA3MCBpdGVtNzA7IHR5cGVkZWYgUDcxIGl0ZW03MTsgdHlwZWRlZiBQNzIgaXRlbTcyOyB0eXBlZGVmIFA3MyBpdGVtNzM7IHR5cGVkZWYgUDc0IGl0ZW03NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgPiBzdHJ1Y3QgdmVjdG9yNzYgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3I3NjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzU+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgUDMgaXRlbTM7IHR5cGVkZWYgUDQgaXRlbTQ7IHR5cGVkZWYgUDUgaXRlbTU7IHR5cGVkZWYgUDYgaXRlbTY7IHR5cGVkZWYgUDcgaXRlbTc7IHR5cGVkZWYgUDggaXRlbTg7IHR5cGVkZWYgUDkgaXRlbTk7IHR5cGVkZWYgUDEwIGl0ZW0xMDsgdHlwZWRlZiBQMTEgaXRlbTExOyB0eXBlZGVmIFAxMiBpdGVtMTI7IHR5cGVkZWYgUDEzIGl0ZW0xMzsgdHlwZWRlZiBQMTQgaXRlbTE0OyB0eXBlZGVmIFAxNSBpdGVtMTU7IHR5cGVkZWYgUDE2IGl0ZW0xNjsgdHlwZWRlZiBQMTcgaXRlbTE3OyB0eXBlZGVmIFAxOCBpdGVtMTg7IHR5cGVkZWYgUDE5IGl0ZW0xOTsgdHlwZWRlZiBQMjAgaXRlbTIwOyB0eXBlZGVmIFAyMSBpdGVtMjE7IHR5cGVkZWYgUDIyIGl0ZW0yMjsgdHlwZWRlZiBQMjMgaXRlbTIzOyB0eXBlZGVmIFAyNCBpdGVtMjQ7IHR5cGVkZWYgUDI1IGl0ZW0yNTsgdHlwZWRlZiBQMjYgaXRlbTI2OyB0eXBlZGVmIFAyNyBpdGVtMjc7IHR5cGVkZWYgUDI4IGl0ZW0yODsgdHlwZWRlZiBQMjkgaXRlbTI5OyB0eXBlZGVmIFAzMCBpdGVtMzA7IHR5cGVkZWYgUDMxIGl0ZW0zMTsgdHlwZWRlZiBQMzIgaXRlbTMyOyB0eXBlZGVmIFAzMyBpdGVtMzM7IHR5cGVkZWYgUDM0IGl0ZW0zNDsgdHlwZWRlZiBQMzUgaXRlbTM1OyB0eXBlZGVmIFAzNiBpdGVtMzY7IHR5cGVkZWYgUDM3IGl0ZW0zNzsgdHlwZWRlZiBQMzggaXRlbTM4OyB0eXBlZGVmIFAzOSBpdGVtMzk7IHR5cGVkZWYgUDQwIGl0ZW00MDsgdHlwZWRlZiBQNDEgaXRlbTQxOyB0eXBlZGVmIFA0MiBpdGVtNDI7IHR5cGVkZWYgUDQzIGl0ZW00MzsgdHlwZWRlZiBQNDQgaXRlbTQ0OyB0eXBlZGVmIFA0NSBpdGVtNDU7IHR5cGVkZWYgUDQ2IGl0ZW00NjsgdHlwZWRlZiBQNDcgaXRlbTQ3OyB0eXBlZGVmIFA0OCBpdGVtNDg7IHR5cGVkZWYgUDQ5IGl0ZW00OTsgdHlwZWRlZiBQNTAgaXRlbTUwOyB0eXBlZGVmIFA1MSBpdGVtNTE7IHR5cGVkZWYgUDUyIGl0ZW01MjsgdHlwZWRlZiBQNTMgaXRlbTUzOyB0eXBlZGVmIFA1NCBpdGVtNTQ7IHR5cGVkZWYgUDU1IGl0ZW01NTsgdHlwZWRlZiBQNTYgaXRlbTU2OyB0eXBlZGVmIFA1NyBpdGVtNTc7IHR5cGVkZWYgUDU4IGl0ZW01ODsgdHlwZWRlZiBQNTkgaXRlbTU5OyB0eXBlZGVmIFA2MCBpdGVtNjA7IHR5cGVkZWYgUDYxIGl0ZW02MTsgdHlwZWRlZiBQNjIgaXRlbTYyOyB0eXBlZGVmIFA2MyBpdGVtNjM7IHR5cGVkZWYgUDY0IGl0ZW02NDsgdHlwZWRlZiBQNjUgaXRlbTY1OyB0eXBlZGVmIFA2NiBpdGVtNjY7IHR5cGVkZWYgUDY3IGl0ZW02NzsgdHlwZWRlZiBQNjggaXRlbTY4OyB0eXBlZGVmIFA2OSBpdGVtNjk7IHR5cGVkZWYgUDcwIGl0ZW03MDsgdHlwZWRlZiBQNzEgaXRlbTcxOyB0eXBlZGVmIFA3MiBpdGVtNzI7IHR5cGVkZWYgUDczIGl0ZW03MzsgdHlwZWRlZiBQNzQgaXRlbTc0OyB0eXBlZGVmIFA3NSBpdGVtNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiA+IHN0cnVjdCB2ZWN0b3I3NyB7IHR5cGVkZWYgdl9pdGVyPHZlY3Rvcjc3PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3Nj4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ID4gc3RydWN0IHZlY3Rvcjc4IHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yNzg8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3PiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgUDQxIGl0ZW00MTsgdHlwZWRlZiBQNDIgaXRlbTQyOyB0eXBlZGVmIFA0MyBpdGVtNDM7IHR5cGVkZWYgUDQ0IGl0ZW00NDsgdHlwZWRlZiBQNDUgaXRlbTQ1OyB0eXBlZGVmIFA0NiBpdGVtNDY7IHR5cGVkZWYgUDQ3IGl0ZW00NzsgdHlwZWRlZiBQNDggaXRlbTQ4OyB0eXBlZGVmIFA0OSBpdGVtNDk7IHR5cGVkZWYgUDUwIGl0ZW01MDsgdHlwZWRlZiBQNTEgaXRlbTUxOyB0eXBlZGVmIFA1MiBpdGVtNTI7IHR5cGVkZWYgUDUzIGl0ZW01MzsgdHlwZWRlZiBQNTQgaXRlbTU0OyB0eXBlZGVmIFA1NSBpdGVtNTU7IHR5cGVkZWYgUDU2IGl0ZW01NjsgdHlwZWRlZiBQNTcgaXRlbTU3OyB0eXBlZGVmIFA1OCBpdGVtNTg7IHR5cGVkZWYgUDU5IGl0ZW01OTsgdHlwZWRlZiBQNjAgaXRlbTYwOyB0eXBlZGVmIFA2MSBpdGVtNjE7IHR5cGVkZWYgUDYyIGl0ZW02MjsgdHlwZWRlZiBQNjMgaXRlbTYzOyB0eXBlZGVmIFA2NCBpdGVtNjQ7IHR5cGVkZWYgUDY1IGl0ZW02NTsgdHlwZWRlZiBQNjYgaXRlbTY2OyB0eXBlZGVmIFA2NyBpdGVtNjc7IHR5cGVkZWYgUDY4IGl0ZW02ODsgdHlwZWRlZiBQNjkgaXRlbTY5OyB0eXBlZGVmIFA3MCBpdGVtNzA7IHR5cGVkZWYgUDcxIGl0ZW03MTsgdHlwZWRlZiBQNzIgaXRlbTcyOyB0eXBlZGVmIFA3MyBpdGVtNzM7IHR5cGVkZWYgUDc0IGl0ZW03NDsgdHlwZWRlZiBQNzUgaXRlbTc1OyB0eXBlZGVmIFA3NiBpdGVtNzY7IHR5cGVkZWYgUDc3IGl0ZW03NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggPiBzdHJ1Y3QgdmVjdG9yNzkgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3I3OTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzg+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgUDMgaXRlbTM7IHR5cGVkZWYgUDQgaXRlbTQ7IHR5cGVkZWYgUDUgaXRlbTU7IHR5cGVkZWYgUDYgaXRlbTY7IHR5cGVkZWYgUDcgaXRlbTc7IHR5cGVkZWYgUDggaXRlbTg7IHR5cGVkZWYgUDkgaXRlbTk7IHR5cGVkZWYgUDEwIGl0ZW0xMDsgdHlwZWRlZiBQMTEgaXRlbTExOyB0eXBlZGVmIFAxMiBpdGVtMTI7IHR5cGVkZWYgUDEzIGl0ZW0xMzsgdHlwZWRlZiBQMTQgaXRlbTE0OyB0eXBlZGVmIFAxNSBpdGVtMTU7IHR5cGVkZWYgUDE2IGl0ZW0xNjsgdHlwZWRlZiBQMTcgaXRlbTE3OyB0eXBlZGVmIFAxOCBpdGVtMTg7IHR5cGVkZWYgUDE5IGl0ZW0xOTsgdHlwZWRlZiBQMjAgaXRlbTIwOyB0eXBlZGVmIFAyMSBpdGVtMjE7IHR5cGVkZWYgUDIyIGl0ZW0yMjsgdHlwZWRlZiBQMjMgaXRlbTIzOyB0eXBlZGVmIFAyNCBpdGVtMjQ7IHR5cGVkZWYgUDI1IGl0ZW0yNTsgdHlwZWRlZiBQMjYgaXRlbTI2OyB0eXBlZGVmIFAyNyBpdGVtMjc7IHR5cGVkZWYgUDI4IGl0ZW0yODsgdHlwZWRlZiBQMjkgaXRlbTI5OyB0eXBlZGVmIFAzMCBpdGVtMzA7IHR5cGVkZWYgUDMxIGl0ZW0zMTsgdHlwZWRlZiBQMzIgaXRlbTMyOyB0eXBlZGVmIFAzMyBpdGVtMzM7IHR5cGVkZWYgUDM0IGl0ZW0zNDsgdHlwZWRlZiBQMzUgaXRlbTM1OyB0eXBlZGVmIFAzNiBpdGVtMzY7IHR5cGVkZWYgUDM3IGl0ZW0zNzsgdHlwZWRlZiBQMzggaXRlbTM4OyB0eXBlZGVmIFAzOSBpdGVtMzk7IHR5cGVkZWYgUDQwIGl0ZW00MDsgdHlwZWRlZiBQNDEgaXRlbTQxOyB0eXBlZGVmIFA0MiBpdGVtNDI7IHR5cGVkZWYgUDQzIGl0ZW00MzsgdHlwZWRlZiBQNDQgaXRlbTQ0OyB0eXBlZGVmIFA0NSBpdGVtNDU7IHR5cGVkZWYgUDQ2IGl0ZW00NjsgdHlwZWRlZiBQNDcgaXRlbTQ3OyB0eXBlZGVmIFA0OCBpdGVtNDg7IHR5cGVkZWYgUDQ5IGl0ZW00OTsgdHlwZWRlZiBQNTAgaXRlbTUwOyB0eXBlZGVmIFA1MSBpdGVtNTE7IHR5cGVkZWYgUDUyIGl0ZW01MjsgdHlwZWRlZiBQNTMgaXRlbTUzOyB0eXBlZGVmIFA1NCBpdGVtNTQ7IHR5cGVkZWYgUDU1IGl0ZW01NTsgdHlwZWRlZiBQNTYgaXRlbTU2OyB0eXBlZGVmIFA1NyBpdGVtNTc7IHR5cGVkZWYgUDU4IGl0ZW01ODsgdHlwZWRlZiBQNTkgaXRlbTU5OyB0eXBlZGVmIFA2MCBpdGVtNjA7IHR5cGVkZWYgUDYxIGl0ZW02MTsgdHlwZWRlZiBQNjIgaXRlbTYyOyB0eXBlZGVmIFA2MyBpdGVtNjM7IHR5cGVkZWYgUDY0IGl0ZW02NDsgdHlwZWRlZiBQNjUgaXRlbTY1OyB0eXBlZGVmIFA2NiBpdGVtNjY7IHR5cGVkZWYgUDY3IGl0ZW02NzsgdHlwZWRlZiBQNjggaXRlbTY4OyB0eXBlZGVmIFA2OSBpdGVtNjk7IHR5cGVkZWYgUDcwIGl0ZW03MDsgdHlwZWRlZiBQNzEgaXRlbTcxOyB0eXBlZGVmIFA3MiBpdGVtNzI7IHR5cGVkZWYgUDczIGl0ZW03MzsgdHlwZWRlZiBQNzQgaXRlbTc0OyB0eXBlZGVmIFA3NSBpdGVtNzU7IHR5cGVkZWYgUDc2IGl0ZW03NjsgdHlwZWRlZiBQNzcgaXRlbTc3OyB0eXBlZGVmIFA3OCBpdGVtNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSA+IHN0cnVjdCB2ZWN0b3I4MCB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjgwPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OT4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwID4gc3RydWN0IHZlY3RvcjgxIHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yODE8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwPiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgUDQxIGl0ZW00MTsgdHlwZWRlZiBQNDIgaXRlbTQyOyB0eXBlZGVmIFA0MyBpdGVtNDM7IHR5cGVkZWYgUDQ0IGl0ZW00NDsgdHlwZWRlZiBQNDUgaXRlbTQ1OyB0eXBlZGVmIFA0NiBpdGVtNDY7IHR5cGVkZWYgUDQ3IGl0ZW00NzsgdHlwZWRlZiBQNDggaXRlbTQ4OyB0eXBlZGVmIFA0OSBpdGVtNDk7IHR5cGVkZWYgUDUwIGl0ZW01MDsgdHlwZWRlZiBQNTEgaXRlbTUxOyB0eXBlZGVmIFA1MiBpdGVtNTI7IHR5cGVkZWYgUDUzIGl0ZW01MzsgdHlwZWRlZiBQNTQgaXRlbTU0OyB0eXBlZGVmIFA1NSBpdGVtNTU7IHR5cGVkZWYgUDU2IGl0ZW01NjsgdHlwZWRlZiBQNTcgaXRlbTU3OyB0eXBlZGVmIFA1OCBpdGVtNTg7IHR5cGVkZWYgUDU5IGl0ZW01OTsgdHlwZWRlZiBQNjAgaXRlbTYwOyB0eXBlZGVmIFA2MSBpdGVtNjE7IHR5cGVkZWYgUDYyIGl0ZW02MjsgdHlwZWRlZiBQNjMgaXRlbTYzOyB0eXBlZGVmIFA2NCBpdGVtNjQ7IHR5cGVkZWYgUDY1IGl0ZW02NTsgdHlwZWRlZiBQNjYgaXRlbTY2OyB0eXBlZGVmIFA2NyBpdGVtNjc7IHR5cGVkZWYgUDY4IGl0ZW02ODsgdHlwZWRlZiBQNjkgaXRlbTY5OyB0eXBlZGVmIFA3MCBpdGVtNzA7IHR5cGVkZWYgUDcxIGl0ZW03MTsgdHlwZWRlZiBQNzIgaXRlbTcyOyB0eXBlZGVmIFA3MyBpdGVtNzM7IHR5cGVkZWYgUDc0IGl0ZW03NDsgdHlwZWRlZiBQNzUgaXRlbTc1OyB0eXBlZGVmIFA3NiBpdGVtNzY7IHR5cGVkZWYgUDc3IGl0ZW03NzsgdHlwZWRlZiBQNzggaXRlbTc4OyB0eXBlZGVmIFA3OSBpdGVtNzk7IHR5cGVkZWYgUDgwIGl0ZW04MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgPiBzdHJ1Y3QgdmVjdG9yODIgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3I4MjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODE+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgUDMgaXRlbTM7IHR5cGVkZWYgUDQgaXRlbTQ7IHR5cGVkZWYgUDUgaXRlbTU7IHR5cGVkZWYgUDYgaXRlbTY7IHR5cGVkZWYgUDcgaXRlbTc7IHR5cGVkZWYgUDggaXRlbTg7IHR5cGVkZWYgUDkgaXRlbTk7IHR5cGVkZWYgUDEwIGl0ZW0xMDsgdHlwZWRlZiBQMTEgaXRlbTExOyB0eXBlZGVmIFAxMiBpdGVtMTI7IHR5cGVkZWYgUDEzIGl0ZW0xMzsgdHlwZWRlZiBQMTQgaXRlbTE0OyB0eXBlZGVmIFAxNSBpdGVtMTU7IHR5cGVkZWYgUDE2IGl0ZW0xNjsgdHlwZWRlZiBQMTcgaXRlbTE3OyB0eXBlZGVmIFAxOCBpdGVtMTg7IHR5cGVkZWYgUDE5IGl0ZW0xOTsgdHlwZWRlZiBQMjAgaXRlbTIwOyB0eXBlZGVmIFAyMSBpdGVtMjE7IHR5cGVkZWYgUDIyIGl0ZW0yMjsgdHlwZWRlZiBQMjMgaXRlbTIzOyB0eXBlZGVmIFAyNCBpdGVtMjQ7IHR5cGVkZWYgUDI1IGl0ZW0yNTsgdHlwZWRlZiBQMjYgaXRlbTI2OyB0eXBlZGVmIFAyNyBpdGVtMjc7IHR5cGVkZWYgUDI4IGl0ZW0yODsgdHlwZWRlZiBQMjkgaXRlbTI5OyB0eXBlZGVmIFAzMCBpdGVtMzA7IHR5cGVkZWYgUDMxIGl0ZW0zMTsgdHlwZWRlZiBQMzIgaXRlbTMyOyB0eXBlZGVmIFAzMyBpdGVtMzM7IHR5cGVkZWYgUDM0IGl0ZW0zNDsgdHlwZWRlZiBQMzUgaXRlbTM1OyB0eXBlZGVmIFAzNiBpdGVtMzY7IHR5cGVkZWYgUDM3IGl0ZW0zNzsgdHlwZWRlZiBQMzggaXRlbTM4OyB0eXBlZGVmIFAzOSBpdGVtMzk7IHR5cGVkZWYgUDQwIGl0ZW00MDsgdHlwZWRlZiBQNDEgaXRlbTQxOyB0eXBlZGVmIFA0MiBpdGVtNDI7IHR5cGVkZWYgUDQzIGl0ZW00MzsgdHlwZWRlZiBQNDQgaXRlbTQ0OyB0eXBlZGVmIFA0NSBpdGVtNDU7IHR5cGVkZWYgUDQ2IGl0ZW00NjsgdHlwZWRlZiBQNDcgaXRlbTQ3OyB0eXBlZGVmIFA0OCBpdGVtNDg7IHR5cGVkZWYgUDQ5IGl0ZW00OTsgdHlwZWRlZiBQNTAgaXRlbTUwOyB0eXBlZGVmIFA1MSBpdGVtNTE7IHR5cGVkZWYgUDUyIGl0ZW01MjsgdHlwZWRlZiBQNTMgaXRlbTUzOyB0eXBlZGVmIFA1NCBpdGVtNTQ7IHR5cGVkZWYgUDU1IGl0ZW01NTsgdHlwZWRlZiBQNTYgaXRlbTU2OyB0eXBlZGVmIFA1NyBpdGVtNTc7IHR5cGVkZWYgUDU4IGl0ZW01ODsgdHlwZWRlZiBQNTkgaXRlbTU5OyB0eXBlZGVmIFA2MCBpdGVtNjA7IHR5cGVkZWYgUDYxIGl0ZW02MTsgdHlwZWRlZiBQNjIgaXRlbTYyOyB0eXBlZGVmIFA2MyBpdGVtNjM7IHR5cGVkZWYgUDY0IGl0ZW02NDsgdHlwZWRlZiBQNjUgaXRlbTY1OyB0eXBlZGVmIFA2NiBpdGVtNjY7IHR5cGVkZWYgUDY3IGl0ZW02NzsgdHlwZWRlZiBQNjggaXRlbTY4OyB0eXBlZGVmIFA2OSBpdGVtNjk7IHR5cGVkZWYgUDcwIGl0ZW03MDsgdHlwZWRlZiBQNzEgaXRlbTcxOyB0eXBlZGVmIFA3MiBpdGVtNzI7IHR5cGVkZWYgUDczIGl0ZW03MzsgdHlwZWRlZiBQNzQgaXRlbTc0OyB0eXBlZGVmIFA3NSBpdGVtNzU7IHR5cGVkZWYgUDc2IGl0ZW03NjsgdHlwZWRlZiBQNzcgaXRlbTc3OyB0eXBlZGVmIFA3OCBpdGVtNzg7IHR5cGVkZWYgUDc5IGl0ZW03OTsgdHlwZWRlZiBQODAgaXRlbTgwOyB0eXBlZGVmIFA4MSBpdGVtODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiA+IHN0cnVjdCB2ZWN0b3I4MyB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjgzPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4Mj4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzID4gc3RydWN0IHZlY3Rvcjg0IHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yODQ8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzPiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgUDQxIGl0ZW00MTsgdHlwZWRlZiBQNDIgaXRlbTQyOyB0eXBlZGVmIFA0MyBpdGVtNDM7IHR5cGVkZWYgUDQ0IGl0ZW00NDsgdHlwZWRlZiBQNDUgaXRlbTQ1OyB0eXBlZGVmIFA0NiBpdGVtNDY7IHR5cGVkZWYgUDQ3IGl0ZW00NzsgdHlwZWRlZiBQNDggaXRlbTQ4OyB0eXBlZGVmIFA0OSBpdGVtNDk7IHR5cGVkZWYgUDUwIGl0ZW01MDsgdHlwZWRlZiBQNTEgaXRlbTUxOyB0eXBlZGVmIFA1MiBpdGVtNTI7IHR5cGVkZWYgUDUzIGl0ZW01MzsgdHlwZWRlZiBQNTQgaXRlbTU0OyB0eXBlZGVmIFA1NSBpdGVtNTU7IHR5cGVkZWYgUDU2IGl0ZW01NjsgdHlwZWRlZiBQNTcgaXRlbTU3OyB0eXBlZGVmIFA1OCBpdGVtNTg7IHR5cGVkZWYgUDU5IGl0ZW01OTsgdHlwZWRlZiBQNjAgaXRlbTYwOyB0eXBlZGVmIFA2MSBpdGVtNjE7IHR5cGVkZWYgUDYyIGl0ZW02MjsgdHlwZWRlZiBQNjMgaXRlbTYzOyB0eXBlZGVmIFA2NCBpdGVtNjQ7IHR5cGVkZWYgUDY1IGl0ZW02NTsgdHlwZWRlZiBQNjYgaXRlbTY2OyB0eXBlZGVmIFA2NyBpdGVtNjc7IHR5cGVkZWYgUDY4IGl0ZW02ODsgdHlwZWRlZiBQNjkgaXRlbTY5OyB0eXBlZGVmIFA3MCBpdGVtNzA7IHR5cGVkZWYgUDcxIGl0ZW03MTsgdHlwZWRlZiBQNzIgaXRlbTcyOyB0eXBlZGVmIFA3MyBpdGVtNzM7IHR5cGVkZWYgUDc0IGl0ZW03NDsgdHlwZWRlZiBQNzUgaXRlbTc1OyB0eXBlZGVmIFA3NiBpdGVtNzY7IHR5cGVkZWYgUDc3IGl0ZW03NzsgdHlwZWRlZiBQNzggaXRlbTc4OyB0eXBlZGVmIFA3OSBpdGVtNzk7IHR5cGVkZWYgUDgwIGl0ZW04MDsgdHlwZWRlZiBQODEgaXRlbTgxOyB0eXBlZGVmIFA4MiBpdGVtODI7IHR5cGVkZWYgUDgzIGl0ZW04MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgPiBzdHJ1Y3QgdmVjdG9yODUgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3I4NTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQ+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgUDMgaXRlbTM7IHR5cGVkZWYgUDQgaXRlbTQ7IHR5cGVkZWYgUDUgaXRlbTU7IHR5cGVkZWYgUDYgaXRlbTY7IHR5cGVkZWYgUDcgaXRlbTc7IHR5cGVkZWYgUDggaXRlbTg7IHR5cGVkZWYgUDkgaXRlbTk7IHR5cGVkZWYgUDEwIGl0ZW0xMDsgdHlwZWRlZiBQMTEgaXRlbTExOyB0eXBlZGVmIFAxMiBpdGVtMTI7IHR5cGVkZWYgUDEzIGl0ZW0xMzsgdHlwZWRlZiBQMTQgaXRlbTE0OyB0eXBlZGVmIFAxNSBpdGVtMTU7IHR5cGVkZWYgUDE2IGl0ZW0xNjsgdHlwZWRlZiBQMTcgaXRlbTE3OyB0eXBlZGVmIFAxOCBpdGVtMTg7IHR5cGVkZWYgUDE5IGl0ZW0xOTsgdHlwZWRlZiBQMjAgaXRlbTIwOyB0eXBlZGVmIFAyMSBpdGVtMjE7IHR5cGVkZWYgUDIyIGl0ZW0yMjsgdHlwZWRlZiBQMjMgaXRlbTIzOyB0eXBlZGVmIFAyNCBpdGVtMjQ7IHR5cGVkZWYgUDI1IGl0ZW0yNTsgdHlwZWRlZiBQMjYgaXRlbTI2OyB0eXBlZGVmIFAyNyBpdGVtMjc7IHR5cGVkZWYgUDI4IGl0ZW0yODsgdHlwZWRlZiBQMjkgaXRlbTI5OyB0eXBlZGVmIFAzMCBpdGVtMzA7IHR5cGVkZWYgUDMxIGl0ZW0zMTsgdHlwZWRlZiBQMzIgaXRlbTMyOyB0eXBlZGVmIFAzMyBpdGVtMzM7IHR5cGVkZWYgUDM0IGl0ZW0zNDsgdHlwZWRlZiBQMzUgaXRlbTM1OyB0eXBlZGVmIFAzNiBpdGVtMzY7IHR5cGVkZWYgUDM3IGl0ZW0zNzsgdHlwZWRlZiBQMzggaXRlbTM4OyB0eXBlZGVmIFAzOSBpdGVtMzk7IHR5cGVkZWYgUDQwIGl0ZW00MDsgdHlwZWRlZiBQNDEgaXRlbTQxOyB0eXBlZGVmIFA0MiBpdGVtNDI7IHR5cGVkZWYgUDQzIGl0ZW00MzsgdHlwZWRlZiBQNDQgaXRlbTQ0OyB0eXBlZGVmIFA0NSBpdGVtNDU7IHR5cGVkZWYgUDQ2IGl0ZW00NjsgdHlwZWRlZiBQNDcgaXRlbTQ3OyB0eXBlZGVmIFA0OCBpdGVtNDg7IHR5cGVkZWYgUDQ5IGl0ZW00OTsgdHlwZWRlZiBQNTAgaXRlbTUwOyB0eXBlZGVmIFA1MSBpdGVtNTE7IHR5cGVkZWYgUDUyIGl0ZW01MjsgdHlwZWRlZiBQNTMgaXRlbTUzOyB0eXBlZGVmIFA1NCBpdGVtNTQ7IHR5cGVkZWYgUDU1IGl0ZW01NTsgdHlwZWRlZiBQNTYgaXRlbTU2OyB0eXBlZGVmIFA1NyBpdGVtNTc7IHR5cGVkZWYgUDU4IGl0ZW01ODsgdHlwZWRlZiBQNTkgaXRlbTU5OyB0eXBlZGVmIFA2MCBpdGVtNjA7IHR5cGVkZWYgUDYxIGl0ZW02MTsgdHlwZWRlZiBQNjIgaXRlbTYyOyB0eXBlZGVmIFA2MyBpdGVtNjM7IHR5cGVkZWYgUDY0IGl0ZW02NDsgdHlwZWRlZiBQNjUgaXRlbTY1OyB0eXBlZGVmIFA2NiBpdGVtNjY7IHR5cGVkZWYgUDY3IGl0ZW02NzsgdHlwZWRlZiBQNjggaXRlbTY4OyB0eXBlZGVmIFA2OSBpdGVtNjk7IHR5cGVkZWYgUDcwIGl0ZW03MDsgdHlwZWRlZiBQNzEgaXRlbTcxOyB0eXBlZGVmIFA3MiBpdGVtNzI7IHR5cGVkZWYgUDczIGl0ZW03MzsgdHlwZWRlZiBQNzQgaXRlbTc0OyB0eXBlZGVmIFA3NSBpdGVtNzU7IHR5cGVkZWYgUDc2IGl0ZW03NjsgdHlwZWRlZiBQNzcgaXRlbTc3OyB0eXBlZGVmIFA3OCBpdGVtNzg7IHR5cGVkZWYgUDc5IGl0ZW03OTsgdHlwZWRlZiBQODAgaXRlbTgwOyB0eXBlZGVmIFA4MSBpdGVtODE7IHR5cGVkZWYgUDgyIGl0ZW04MjsgdHlwZWRlZiBQODMgaXRlbTgzOyB0eXBlZGVmIFA4NCBpdGVtODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSA+IHN0cnVjdCB2ZWN0b3I4NiB7IHR5cGVkZWYgdl9pdGVyPHZlY3Rvcjg2PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NT4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ID4gc3RydWN0IHZlY3Rvcjg3IHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yODc8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2PiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgUDQxIGl0ZW00MTsgdHlwZWRlZiBQNDIgaXRlbTQyOyB0eXBlZGVmIFA0MyBpdGVtNDM7IHR5cGVkZWYgUDQ0IGl0ZW00NDsgdHlwZWRlZiBQNDUgaXRlbTQ1OyB0eXBlZGVmIFA0NiBpdGVtNDY7IHR5cGVkZWYgUDQ3IGl0ZW00NzsgdHlwZWRlZiBQNDggaXRlbTQ4OyB0eXBlZGVmIFA0OSBpdGVtNDk7IHR5cGVkZWYgUDUwIGl0ZW01MDsgdHlwZWRlZiBQNTEgaXRlbTUxOyB0eXBlZGVmIFA1MiBpdGVtNTI7IHR5cGVkZWYgUDUzIGl0ZW01MzsgdHlwZWRlZiBQNTQgaXRlbTU0OyB0eXBlZGVmIFA1NSBpdGVtNTU7IHR5cGVkZWYgUDU2IGl0ZW01NjsgdHlwZWRlZiBQNTcgaXRlbTU3OyB0eXBlZGVmIFA1OCBpdGVtNTg7IHR5cGVkZWYgUDU5IGl0ZW01OTsgdHlwZWRlZiBQNjAgaXRlbTYwOyB0eXBlZGVmIFA2MSBpdGVtNjE7IHR5cGVkZWYgUDYyIGl0ZW02MjsgdHlwZWRlZiBQNjMgaXRlbTYzOyB0eXBlZGVmIFA2NCBpdGVtNjQ7IHR5cGVkZWYgUDY1IGl0ZW02NTsgdHlwZWRlZiBQNjYgaXRlbTY2OyB0eXBlZGVmIFA2NyBpdGVtNjc7IHR5cGVkZWYgUDY4IGl0ZW02ODsgdHlwZWRlZiBQNjkgaXRlbTY5OyB0eXBlZGVmIFA3MCBpdGVtNzA7IHR5cGVkZWYgUDcxIGl0ZW03MTsgdHlwZWRlZiBQNzIgaXRlbTcyOyB0eXBlZGVmIFA3MyBpdGVtNzM7IHR5cGVkZWYgUDc0IGl0ZW03NDsgdHlwZWRlZiBQNzUgaXRlbTc1OyB0eXBlZGVmIFA3NiBpdGVtNzY7IHR5cGVkZWYgUDc3IGl0ZW03NzsgdHlwZWRlZiBQNzggaXRlbTc4OyB0eXBlZGVmIFA3OSBpdGVtNzk7IHR5cGVkZWYgUDgwIGl0ZW04MDsgdHlwZWRlZiBQODEgaXRlbTgxOyB0eXBlZGVmIFA4MiBpdGVtODI7IHR5cGVkZWYgUDgzIGl0ZW04MzsgdHlwZWRlZiBQODQgaXRlbTg0OyB0eXBlZGVmIFA4NSBpdGVtODU7IHR5cGVkZWYgUDg2IGl0ZW04NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgPiBzdHJ1Y3QgdmVjdG9yODggeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3I4ODwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODc+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgUDMgaXRlbTM7IHR5cGVkZWYgUDQgaXRlbTQ7IHR5cGVkZWYgUDUgaXRlbTU7IHR5cGVkZWYgUDYgaXRlbTY7IHR5cGVkZWYgUDcgaXRlbTc7IHR5cGVkZWYgUDggaXRlbTg7IHR5cGVkZWYgUDkgaXRlbTk7IHR5cGVkZWYgUDEwIGl0ZW0xMDsgdHlwZWRlZiBQMTEgaXRlbTExOyB0eXBlZGVmIFAxMiBpdGVtMTI7IHR5cGVkZWYgUDEzIGl0ZW0xMzsgdHlwZWRlZiBQMTQgaXRlbTE0OyB0eXBlZGVmIFAxNSBpdGVtMTU7IHR5cGVkZWYgUDE2IGl0ZW0xNjsgdHlwZWRlZiBQMTcgaXRlbTE3OyB0eXBlZGVmIFAxOCBpdGVtMTg7IHR5cGVkZWYgUDE5IGl0ZW0xOTsgdHlwZWRlZiBQMjAgaXRlbTIwOyB0eXBlZGVmIFAyMSBpdGVtMjE7IHR5cGVkZWYgUDIyIGl0ZW0yMjsgdHlwZWRlZiBQMjMgaXRlbTIzOyB0eXBlZGVmIFAyNCBpdGVtMjQ7IHR5cGVkZWYgUDI1IGl0ZW0yNTsgdHlwZWRlZiBQMjYgaXRlbTI2OyB0eXBlZGVmIFAyNyBpdGVtMjc7IHR5cGVkZWYgUDI4IGl0ZW0yODsgdHlwZWRlZiBQMjkgaXRlbTI5OyB0eXBlZGVmIFAzMCBpdGVtMzA7IHR5cGVkZWYgUDMxIGl0ZW0zMTsgdHlwZWRlZiBQMzIgaXRlbTMyOyB0eXBlZGVmIFAzMyBpdGVtMzM7IHR5cGVkZWYgUDM0IGl0ZW0zNDsgdHlwZWRlZiBQMzUgaXRlbTM1OyB0eXBlZGVmIFAzNiBpdGVtMzY7IHR5cGVkZWYgUDM3IGl0ZW0zNzsgdHlwZWRlZiBQMzggaXRlbTM4OyB0eXBlZGVmIFAzOSBpdGVtMzk7IHR5cGVkZWYgUDQwIGl0ZW00MDsgdHlwZWRlZiBQNDEgaXRlbTQxOyB0eXBlZGVmIFA0MiBpdGVtNDI7IHR5cGVkZWYgUDQzIGl0ZW00MzsgdHlwZWRlZiBQNDQgaXRlbTQ0OyB0eXBlZGVmIFA0NSBpdGVtNDU7IHR5cGVkZWYgUDQ2IGl0ZW00NjsgdHlwZWRlZiBQNDcgaXRlbTQ3OyB0eXBlZGVmIFA0OCBpdGVtNDg7IHR5cGVkZWYgUDQ5IGl0ZW00OTsgdHlwZWRlZiBQNTAgaXRlbTUwOyB0eXBlZGVmIFA1MSBpdGVtNTE7IHR5cGVkZWYgUDUyIGl0ZW01MjsgdHlwZWRlZiBQNTMgaXRlbTUzOyB0eXBlZGVmIFA1NCBpdGVtNTQ7IHR5cGVkZWYgUDU1IGl0ZW01NTsgdHlwZWRlZiBQNTYgaXRlbTU2OyB0eXBlZGVmIFA1NyBpdGVtNTc7IHR5cGVkZWYgUDU4IGl0ZW01ODsgdHlwZWRlZiBQNTkgaXRlbTU5OyB0eXBlZGVmIFA2MCBpdGVtNjA7IHR5cGVkZWYgUDYxIGl0ZW02MTsgdHlwZWRlZiBQNjIgaXRlbTYyOyB0eXBlZGVmIFA2MyBpdGVtNjM7IHR5cGVkZWYgUDY0IGl0ZW02NDsgdHlwZWRlZiBQNjUgaXRlbTY1OyB0eXBlZGVmIFA2NiBpdGVtNjY7IHR5cGVkZWYgUDY3IGl0ZW02NzsgdHlwZWRlZiBQNjggaXRlbTY4OyB0eXBlZGVmIFA2OSBpdGVtNjk7IHR5cGVkZWYgUDcwIGl0ZW03MDsgdHlwZWRlZiBQNzEgaXRlbTcxOyB0eXBlZGVmIFA3MiBpdGVtNzI7IHR5cGVkZWYgUDczIGl0ZW03MzsgdHlwZWRlZiBQNzQgaXRlbTc0OyB0eXBlZGVmIFA3NSBpdGVtNzU7IHR5cGVkZWYgUDc2IGl0ZW03NjsgdHlwZWRlZiBQNzcgaXRlbTc3OyB0eXBlZGVmIFA3OCBpdGVtNzg7IHR5cGVkZWYgUDc5IGl0ZW03OTsgdHlwZWRlZiBQODAgaXRlbTgwOyB0eXBlZGVmIFA4MSBpdGVtODE7IHR5cGVkZWYgUDgyIGl0ZW04MjsgdHlwZWRlZiBQODMgaXRlbTgzOyB0eXBlZGVmIFA4NCBpdGVtODQ7IHR5cGVkZWYgUDg1IGl0ZW04NTsgdHlwZWRlZiBQODYgaXRlbTg2OyB0eXBlZGVmIFA4NyBpdGVtODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSAsIGNsYXNzIFA4NiAsIGNsYXNzIFA4NyAsIGNsYXNzIFA4OCA+IHN0cnVjdCB2ZWN0b3I4OSB7IHR5cGVkZWYgdl9pdGVyPHZlY3Rvcjg5PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OD4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBQODggaXRlbTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ID4gc3RydWN0IHZlY3RvcjkwIHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yOTA8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5PiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgUDQxIGl0ZW00MTsgdHlwZWRlZiBQNDIgaXRlbTQyOyB0eXBlZGVmIFA0MyBpdGVtNDM7IHR5cGVkZWYgUDQ0IGl0ZW00NDsgdHlwZWRlZiBQNDUgaXRlbTQ1OyB0eXBlZGVmIFA0NiBpdGVtNDY7IHR5cGVkZWYgUDQ3IGl0ZW00NzsgdHlwZWRlZiBQNDggaXRlbTQ4OyB0eXBlZGVmIFA0OSBpdGVtNDk7IHR5cGVkZWYgUDUwIGl0ZW01MDsgdHlwZWRlZiBQNTEgaXRlbTUxOyB0eXBlZGVmIFA1MiBpdGVtNTI7IHR5cGVkZWYgUDUzIGl0ZW01MzsgdHlwZWRlZiBQNTQgaXRlbTU0OyB0eXBlZGVmIFA1NSBpdGVtNTU7IHR5cGVkZWYgUDU2IGl0ZW01NjsgdHlwZWRlZiBQNTcgaXRlbTU3OyB0eXBlZGVmIFA1OCBpdGVtNTg7IHR5cGVkZWYgUDU5IGl0ZW01OTsgdHlwZWRlZiBQNjAgaXRlbTYwOyB0eXBlZGVmIFA2MSBpdGVtNjE7IHR5cGVkZWYgUDYyIGl0ZW02MjsgdHlwZWRlZiBQNjMgaXRlbTYzOyB0eXBlZGVmIFA2NCBpdGVtNjQ7IHR5cGVkZWYgUDY1IGl0ZW02NTsgdHlwZWRlZiBQNjYgaXRlbTY2OyB0eXBlZGVmIFA2NyBpdGVtNjc7IHR5cGVkZWYgUDY4IGl0ZW02ODsgdHlwZWRlZiBQNjkgaXRlbTY5OyB0eXBlZGVmIFA3MCBpdGVtNzA7IHR5cGVkZWYgUDcxIGl0ZW03MTsgdHlwZWRlZiBQNzIgaXRlbTcyOyB0eXBlZGVmIFA3MyBpdGVtNzM7IHR5cGVkZWYgUDc0IGl0ZW03NDsgdHlwZWRlZiBQNzUgaXRlbTc1OyB0eXBlZGVmIFA3NiBpdGVtNzY7IHR5cGVkZWYgUDc3IGl0ZW03NzsgdHlwZWRlZiBQNzggaXRlbTc4OyB0eXBlZGVmIFA3OSBpdGVtNzk7IHR5cGVkZWYgUDgwIGl0ZW04MDsgdHlwZWRlZiBQODEgaXRlbTgxOyB0eXBlZGVmIFA4MiBpdGVtODI7IHR5cGVkZWYgUDgzIGl0ZW04MzsgdHlwZWRlZiBQODQgaXRlbTg0OyB0eXBlZGVmIFA4NSBpdGVtODU7IHR5cGVkZWYgUDg2IGl0ZW04NjsgdHlwZWRlZiBQODcgaXRlbTg3OyB0eXBlZGVmIFA4OCBpdGVtODg7IHR5cGVkZWYgUDg5IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgPiBzdHJ1Y3QgdmVjdG9yOTEgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3I5MTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTA+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgUDMgaXRlbTM7IHR5cGVkZWYgUDQgaXRlbTQ7IHR5cGVkZWYgUDUgaXRlbTU7IHR5cGVkZWYgUDYgaXRlbTY7IHR5cGVkZWYgUDcgaXRlbTc7IHR5cGVkZWYgUDggaXRlbTg7IHR5cGVkZWYgUDkgaXRlbTk7IHR5cGVkZWYgUDEwIGl0ZW0xMDsgdHlwZWRlZiBQMTEgaXRlbTExOyB0eXBlZGVmIFAxMiBpdGVtMTI7IHR5cGVkZWYgUDEzIGl0ZW0xMzsgdHlwZWRlZiBQMTQgaXRlbTE0OyB0eXBlZGVmIFAxNSBpdGVtMTU7IHR5cGVkZWYgUDE2IGl0ZW0xNjsgdHlwZWRlZiBQMTcgaXRlbTE3OyB0eXBlZGVmIFAxOCBpdGVtMTg7IHR5cGVkZWYgUDE5IGl0ZW0xOTsgdHlwZWRlZiBQMjAgaXRlbTIwOyB0eXBlZGVmIFAyMSBpdGVtMjE7IHR5cGVkZWYgUDIyIGl0ZW0yMjsgdHlwZWRlZiBQMjMgaXRlbTIzOyB0eXBlZGVmIFAyNCBpdGVtMjQ7IHR5cGVkZWYgUDI1IGl0ZW0yNTsgdHlwZWRlZiBQMjYgaXRlbTI2OyB0eXBlZGVmIFAyNyBpdGVtMjc7IHR5cGVkZWYgUDI4IGl0ZW0yODsgdHlwZWRlZiBQMjkgaXRlbTI5OyB0eXBlZGVmIFAzMCBpdGVtMzA7IHR5cGVkZWYgUDMxIGl0ZW0zMTsgdHlwZWRlZiBQMzIgaXRlbTMyOyB0eXBlZGVmIFAzMyBpdGVtMzM7IHR5cGVkZWYgUDM0IGl0ZW0zNDsgdHlwZWRlZiBQMzUgaXRlbTM1OyB0eXBlZGVmIFAzNiBpdGVtMzY7IHR5cGVkZWYgUDM3IGl0ZW0zNzsgdHlwZWRlZiBQMzggaXRlbTM4OyB0eXBlZGVmIFAzOSBpdGVtMzk7IHR5cGVkZWYgUDQwIGl0ZW00MDsgdHlwZWRlZiBQNDEgaXRlbTQxOyB0eXBlZGVmIFA0MiBpdGVtNDI7IHR5cGVkZWYgUDQzIGl0ZW00MzsgdHlwZWRlZiBQNDQgaXRlbTQ0OyB0eXBlZGVmIFA0NSBpdGVtNDU7IHR5cGVkZWYgUDQ2IGl0ZW00NjsgdHlwZWRlZiBQNDcgaXRlbTQ3OyB0eXBlZGVmIFA0OCBpdGVtNDg7IHR5cGVkZWYgUDQ5IGl0ZW00OTsgdHlwZWRlZiBQNTAgaXRlbTUwOyB0eXBlZGVmIFA1MSBpdGVtNTE7IHR5cGVkZWYgUDUyIGl0ZW01MjsgdHlwZWRlZiBQNTMgaXRlbTUzOyB0eXBlZGVmIFA1NCBpdGVtNTQ7IHR5cGVkZWYgUDU1IGl0ZW01NTsgdHlwZWRlZiBQNTYgaXRlbTU2OyB0eXBlZGVmIFA1NyBpdGVtNTc7IHR5cGVkZWYgUDU4IGl0ZW01ODsgdHlwZWRlZiBQNTkgaXRlbTU5OyB0eXBlZGVmIFA2MCBpdGVtNjA7IHR5cGVkZWYgUDYxIGl0ZW02MTsgdHlwZWRlZiBQNjIgaXRlbTYyOyB0eXBlZGVmIFA2MyBpdGVtNjM7IHR5cGVkZWYgUDY0IGl0ZW02NDsgdHlwZWRlZiBQNjUgaXRlbTY1OyB0eXBlZGVmIFA2NiBpdGVtNjY7IHR5cGVkZWYgUDY3IGl0ZW02NzsgdHlwZWRlZiBQNjggaXRlbTY4OyB0eXBlZGVmIFA2OSBpdGVtNjk7IHR5cGVkZWYgUDcwIGl0ZW03MDsgdHlwZWRlZiBQNzEgaXRlbTcxOyB0eXBlZGVmIFA3MiBpdGVtNzI7IHR5cGVkZWYgUDczIGl0ZW03MzsgdHlwZWRlZiBQNzQgaXRlbTc0OyB0eXBlZGVmIFA3NSBpdGVtNzU7IHR5cGVkZWYgUDc2IGl0ZW03NjsgdHlwZWRlZiBQNzcgaXRlbTc3OyB0eXBlZGVmIFA3OCBpdGVtNzg7IHR5cGVkZWYgUDc5IGl0ZW03OTsgdHlwZWRlZiBQODAgaXRlbTgwOyB0eXBlZGVmIFA4MSBpdGVtODE7IHR5cGVkZWYgUDgyIGl0ZW04MjsgdHlwZWRlZiBQODMgaXRlbTgzOyB0eXBlZGVmIFA4NCBpdGVtODQ7IHR5cGVkZWYgUDg1IGl0ZW04NTsgdHlwZWRlZiBQODYgaXRlbTg2OyB0eXBlZGVmIFA4NyBpdGVtODc7IHR5cGVkZWYgUDg4IGl0ZW04ODsgdHlwZWRlZiBQODkgaXRlbTg5OyB0eXBlZGVmIFA5MCBpdGVtOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSAsIGNsYXNzIFA4NiAsIGNsYXNzIFA4NyAsIGNsYXNzIFA4OCAsIGNsYXNzIFA4OSAsIGNsYXNzIFA5MCAsIGNsYXNzIFA5MSA+IHN0cnVjdCB2ZWN0b3I5MiB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjkyPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MT4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBQODggaXRlbTg4OyB0eXBlZGVmIFA4OSBpdGVtODk7IHR5cGVkZWYgUDkwIGl0ZW05MDsgdHlwZWRlZiBQOTEgaXRlbTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyID4gc3RydWN0IHZlY3RvcjkzIHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yOTM8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyPiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgUDQxIGl0ZW00MTsgdHlwZWRlZiBQNDIgaXRlbTQyOyB0eXBlZGVmIFA0MyBpdGVtNDM7IHR5cGVkZWYgUDQ0IGl0ZW00NDsgdHlwZWRlZiBQNDUgaXRlbTQ1OyB0eXBlZGVmIFA0NiBpdGVtNDY7IHR5cGVkZWYgUDQ3IGl0ZW00NzsgdHlwZWRlZiBQNDggaXRlbTQ4OyB0eXBlZGVmIFA0OSBpdGVtNDk7IHR5cGVkZWYgUDUwIGl0ZW01MDsgdHlwZWRlZiBQNTEgaXRlbTUxOyB0eXBlZGVmIFA1MiBpdGVtNTI7IHR5cGVkZWYgUDUzIGl0ZW01MzsgdHlwZWRlZiBQNTQgaXRlbTU0OyB0eXBlZGVmIFA1NSBpdGVtNTU7IHR5cGVkZWYgUDU2IGl0ZW01NjsgdHlwZWRlZiBQNTcgaXRlbTU3OyB0eXBlZGVmIFA1OCBpdGVtNTg7IHR5cGVkZWYgUDU5IGl0ZW01OTsgdHlwZWRlZiBQNjAgaXRlbTYwOyB0eXBlZGVmIFA2MSBpdGVtNjE7IHR5cGVkZWYgUDYyIGl0ZW02MjsgdHlwZWRlZiBQNjMgaXRlbTYzOyB0eXBlZGVmIFA2NCBpdGVtNjQ7IHR5cGVkZWYgUDY1IGl0ZW02NTsgdHlwZWRlZiBQNjYgaXRlbTY2OyB0eXBlZGVmIFA2NyBpdGVtNjc7IHR5cGVkZWYgUDY4IGl0ZW02ODsgdHlwZWRlZiBQNjkgaXRlbTY5OyB0eXBlZGVmIFA3MCBpdGVtNzA7IHR5cGVkZWYgUDcxIGl0ZW03MTsgdHlwZWRlZiBQNzIgaXRlbTcyOyB0eXBlZGVmIFA3MyBpdGVtNzM7IHR5cGVkZWYgUDc0IGl0ZW03NDsgdHlwZWRlZiBQNzUgaXRlbTc1OyB0eXBlZGVmIFA3NiBpdGVtNzY7IHR5cGVkZWYgUDc3IGl0ZW03NzsgdHlwZWRlZiBQNzggaXRlbTc4OyB0eXBlZGVmIFA3OSBpdGVtNzk7IHR5cGVkZWYgUDgwIGl0ZW04MDsgdHlwZWRlZiBQODEgaXRlbTgxOyB0eXBlZGVmIFA4MiBpdGVtODI7IHR5cGVkZWYgUDgzIGl0ZW04MzsgdHlwZWRlZiBQODQgaXRlbTg0OyB0eXBlZGVmIFA4NSBpdGVtODU7IHR5cGVkZWYgUDg2IGl0ZW04NjsgdHlwZWRlZiBQODcgaXRlbTg3OyB0eXBlZGVmIFA4OCBpdGVtODg7IHR5cGVkZWYgUDg5IGl0ZW04OTsgdHlwZWRlZiBQOTAgaXRlbTkwOyB0eXBlZGVmIFA5MSBpdGVtOTE7IHR5cGVkZWYgUDkyIGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBQOTMgPiBzdHJ1Y3QgdmVjdG9yOTQgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3I5NDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTM+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgUDMgaXRlbTM7IHR5cGVkZWYgUDQgaXRlbTQ7IHR5cGVkZWYgUDUgaXRlbTU7IHR5cGVkZWYgUDYgaXRlbTY7IHR5cGVkZWYgUDcgaXRlbTc7IHR5cGVkZWYgUDggaXRlbTg7IHR5cGVkZWYgUDkgaXRlbTk7IHR5cGVkZWYgUDEwIGl0ZW0xMDsgdHlwZWRlZiBQMTEgaXRlbTExOyB0eXBlZGVmIFAxMiBpdGVtMTI7IHR5cGVkZWYgUDEzIGl0ZW0xMzsgdHlwZWRlZiBQMTQgaXRlbTE0OyB0eXBlZGVmIFAxNSBpdGVtMTU7IHR5cGVkZWYgUDE2IGl0ZW0xNjsgdHlwZWRlZiBQMTcgaXRlbTE3OyB0eXBlZGVmIFAxOCBpdGVtMTg7IHR5cGVkZWYgUDE5IGl0ZW0xOTsgdHlwZWRlZiBQMjAgaXRlbTIwOyB0eXBlZGVmIFAyMSBpdGVtMjE7IHR5cGVkZWYgUDIyIGl0ZW0yMjsgdHlwZWRlZiBQMjMgaXRlbTIzOyB0eXBlZGVmIFAyNCBpdGVtMjQ7IHR5cGVkZWYgUDI1IGl0ZW0yNTsgdHlwZWRlZiBQMjYgaXRlbTI2OyB0eXBlZGVmIFAyNyBpdGVtMjc7IHR5cGVkZWYgUDI4IGl0ZW0yODsgdHlwZWRlZiBQMjkgaXRlbTI5OyB0eXBlZGVmIFAzMCBpdGVtMzA7IHR5cGVkZWYgUDMxIGl0ZW0zMTsgdHlwZWRlZiBQMzIgaXRlbTMyOyB0eXBlZGVmIFAzMyBpdGVtMzM7IHR5cGVkZWYgUDM0IGl0ZW0zNDsgdHlwZWRlZiBQMzUgaXRlbTM1OyB0eXBlZGVmIFAzNiBpdGVtMzY7IHR5cGVkZWYgUDM3IGl0ZW0zNzsgdHlwZWRlZiBQMzggaXRlbTM4OyB0eXBlZGVmIFAzOSBpdGVtMzk7IHR5cGVkZWYgUDQwIGl0ZW00MDsgdHlwZWRlZiBQNDEgaXRlbTQxOyB0eXBlZGVmIFA0MiBpdGVtNDI7IHR5cGVkZWYgUDQzIGl0ZW00MzsgdHlwZWRlZiBQNDQgaXRlbTQ0OyB0eXBlZGVmIFA0NSBpdGVtNDU7IHR5cGVkZWYgUDQ2IGl0ZW00NjsgdHlwZWRlZiBQNDcgaXRlbTQ3OyB0eXBlZGVmIFA0OCBpdGVtNDg7IHR5cGVkZWYgUDQ5IGl0ZW00OTsgdHlwZWRlZiBQNTAgaXRlbTUwOyB0eXBlZGVmIFA1MSBpdGVtNTE7IHR5cGVkZWYgUDUyIGl0ZW01MjsgdHlwZWRlZiBQNTMgaXRlbTUzOyB0eXBlZGVmIFA1NCBpdGVtNTQ7IHR5cGVkZWYgUDU1IGl0ZW01NTsgdHlwZWRlZiBQNTYgaXRlbTU2OyB0eXBlZGVmIFA1NyBpdGVtNTc7IHR5cGVkZWYgUDU4IGl0ZW01ODsgdHlwZWRlZiBQNTkgaXRlbTU5OyB0eXBlZGVmIFA2MCBpdGVtNjA7IHR5cGVkZWYgUDYxIGl0ZW02MTsgdHlwZWRlZiBQNjIgaXRlbTYyOyB0eXBlZGVmIFA2MyBpdGVtNjM7IHR5cGVkZWYgUDY0IGl0ZW02NDsgdHlwZWRlZiBQNjUgaXRlbTY1OyB0eXBlZGVmIFA2NiBpdGVtNjY7IHR5cGVkZWYgUDY3IGl0ZW02NzsgdHlwZWRlZiBQNjggaXRlbTY4OyB0eXBlZGVmIFA2OSBpdGVtNjk7IHR5cGVkZWYgUDcwIGl0ZW03MDsgdHlwZWRlZiBQNzEgaXRlbTcxOyB0eXBlZGVmIFA3MiBpdGVtNzI7IHR5cGVkZWYgUDczIGl0ZW03MzsgdHlwZWRlZiBQNzQgaXRlbTc0OyB0eXBlZGVmIFA3NSBpdGVtNzU7IHR5cGVkZWYgUDc2IGl0ZW03NjsgdHlwZWRlZiBQNzcgaXRlbTc3OyB0eXBlZGVmIFA3OCBpdGVtNzg7IHR5cGVkZWYgUDc5IGl0ZW03OTsgdHlwZWRlZiBQODAgaXRlbTgwOyB0eXBlZGVmIFA4MSBpdGVtODE7IHR5cGVkZWYgUDgyIGl0ZW04MjsgdHlwZWRlZiBQODMgaXRlbTgzOyB0eXBlZGVmIFA4NCBpdGVtODQ7IHR5cGVkZWYgUDg1IGl0ZW04NTsgdHlwZWRlZiBQODYgaXRlbTg2OyB0eXBlZGVmIFA4NyBpdGVtODc7IHR5cGVkZWYgUDg4IGl0ZW04ODsgdHlwZWRlZiBQODkgaXRlbTg5OyB0eXBlZGVmIFA5MCBpdGVtOTA7IHR5cGVkZWYgUDkxIGl0ZW05MTsgdHlwZWRlZiBQOTIgaXRlbTkyOyB0eXBlZGVmIFA5MyBpdGVtOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSAsIGNsYXNzIFA4NiAsIGNsYXNzIFA4NyAsIGNsYXNzIFA4OCAsIGNsYXNzIFA4OSAsIGNsYXNzIFA5MCAsIGNsYXNzIFA5MSAsIGNsYXNzIFA5MiAsIGNsYXNzIFA5MyAsIGNsYXNzIFA5NCA+IHN0cnVjdCB2ZWN0b3I5NSB7IHR5cGVkZWYgdl9pdGVyPHZlY3Rvcjk1PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFA5MiAsIFA5MyAsIFA5ND4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBQODggaXRlbTg4OyB0eXBlZGVmIFA4OSBpdGVtODk7IHR5cGVkZWYgUDkwIGl0ZW05MDsgdHlwZWRlZiBQOTEgaXRlbTkxOyB0eXBlZGVmIFA5MiBpdGVtOTI7IHR5cGVkZWYgUDkzIGl0ZW05MzsgdHlwZWRlZiBQOTQgaXRlbTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ID4gc3RydWN0IHZlY3Rvcjk2IHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yOTY8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1PiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgUDQxIGl0ZW00MTsgdHlwZWRlZiBQNDIgaXRlbTQyOyB0eXBlZGVmIFA0MyBpdGVtNDM7IHR5cGVkZWYgUDQ0IGl0ZW00NDsgdHlwZWRlZiBQNDUgaXRlbTQ1OyB0eXBlZGVmIFA0NiBpdGVtNDY7IHR5cGVkZWYgUDQ3IGl0ZW00NzsgdHlwZWRlZiBQNDggaXRlbTQ4OyB0eXBlZGVmIFA0OSBpdGVtNDk7IHR5cGVkZWYgUDUwIGl0ZW01MDsgdHlwZWRlZiBQNTEgaXRlbTUxOyB0eXBlZGVmIFA1MiBpdGVtNTI7IHR5cGVkZWYgUDUzIGl0ZW01MzsgdHlwZWRlZiBQNTQgaXRlbTU0OyB0eXBlZGVmIFA1NSBpdGVtNTU7IHR5cGVkZWYgUDU2IGl0ZW01NjsgdHlwZWRlZiBQNTcgaXRlbTU3OyB0eXBlZGVmIFA1OCBpdGVtNTg7IHR5cGVkZWYgUDU5IGl0ZW01OTsgdHlwZWRlZiBQNjAgaXRlbTYwOyB0eXBlZGVmIFA2MSBpdGVtNjE7IHR5cGVkZWYgUDYyIGl0ZW02MjsgdHlwZWRlZiBQNjMgaXRlbTYzOyB0eXBlZGVmIFA2NCBpdGVtNjQ7IHR5cGVkZWYgUDY1IGl0ZW02NTsgdHlwZWRlZiBQNjYgaXRlbTY2OyB0eXBlZGVmIFA2NyBpdGVtNjc7IHR5cGVkZWYgUDY4IGl0ZW02ODsgdHlwZWRlZiBQNjkgaXRlbTY5OyB0eXBlZGVmIFA3MCBpdGVtNzA7IHR5cGVkZWYgUDcxIGl0ZW03MTsgdHlwZWRlZiBQNzIgaXRlbTcyOyB0eXBlZGVmIFA3MyBpdGVtNzM7IHR5cGVkZWYgUDc0IGl0ZW03NDsgdHlwZWRlZiBQNzUgaXRlbTc1OyB0eXBlZGVmIFA3NiBpdGVtNzY7IHR5cGVkZWYgUDc3IGl0ZW03NzsgdHlwZWRlZiBQNzggaXRlbTc4OyB0eXBlZGVmIFA3OSBpdGVtNzk7IHR5cGVkZWYgUDgwIGl0ZW04MDsgdHlwZWRlZiBQODEgaXRlbTgxOyB0eXBlZGVmIFA4MiBpdGVtODI7IHR5cGVkZWYgUDgzIGl0ZW04MzsgdHlwZWRlZiBQODQgaXRlbTg0OyB0eXBlZGVmIFA4NSBpdGVtODU7IHR5cGVkZWYgUDg2IGl0ZW04NjsgdHlwZWRlZiBQODcgaXRlbTg3OyB0eXBlZGVmIFA4OCBpdGVtODg7IHR5cGVkZWYgUDg5IGl0ZW04OTsgdHlwZWRlZiBQOTAgaXRlbTkwOyB0eXBlZGVmIFA5MSBpdGVtOTE7IHR5cGVkZWYgUDkyIGl0ZW05MjsgdHlwZWRlZiBQOTMgaXRlbTkzOyB0eXBlZGVmIFA5NCBpdGVtOTQ7IHR5cGVkZWYgUDk1IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBQOTMgLCBjbGFzcyBQOTQgLCBjbGFzcyBQOTUgLCBjbGFzcyBQOTYgPiBzdHJ1Y3QgdmVjdG9yOTcgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3I5NzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTY+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgUDMgaXRlbTM7IHR5cGVkZWYgUDQgaXRlbTQ7IHR5cGVkZWYgUDUgaXRlbTU7IHR5cGVkZWYgUDYgaXRlbTY7IHR5cGVkZWYgUDcgaXRlbTc7IHR5cGVkZWYgUDggaXRlbTg7IHR5cGVkZWYgUDkgaXRlbTk7IHR5cGVkZWYgUDEwIGl0ZW0xMDsgdHlwZWRlZiBQMTEgaXRlbTExOyB0eXBlZGVmIFAxMiBpdGVtMTI7IHR5cGVkZWYgUDEzIGl0ZW0xMzsgdHlwZWRlZiBQMTQgaXRlbTE0OyB0eXBlZGVmIFAxNSBpdGVtMTU7IHR5cGVkZWYgUDE2IGl0ZW0xNjsgdHlwZWRlZiBQMTcgaXRlbTE3OyB0eXBlZGVmIFAxOCBpdGVtMTg7IHR5cGVkZWYgUDE5IGl0ZW0xOTsgdHlwZWRlZiBQMjAgaXRlbTIwOyB0eXBlZGVmIFAyMSBpdGVtMjE7IHR5cGVkZWYgUDIyIGl0ZW0yMjsgdHlwZWRlZiBQMjMgaXRlbTIzOyB0eXBlZGVmIFAyNCBpdGVtMjQ7IHR5cGVkZWYgUDI1IGl0ZW0yNTsgdHlwZWRlZiBQMjYgaXRlbTI2OyB0eXBlZGVmIFAyNyBpdGVtMjc7IHR5cGVkZWYgUDI4IGl0ZW0yODsgdHlwZWRlZiBQMjkgaXRlbTI5OyB0eXBlZGVmIFAzMCBpdGVtMzA7IHR5cGVkZWYgUDMxIGl0ZW0zMTsgdHlwZWRlZiBQMzIgaXRlbTMyOyB0eXBlZGVmIFAzMyBpdGVtMzM7IHR5cGVkZWYgUDM0IGl0ZW0zNDsgdHlwZWRlZiBQMzUgaXRlbTM1OyB0eXBlZGVmIFAzNiBpdGVtMzY7IHR5cGVkZWYgUDM3IGl0ZW0zNzsgdHlwZWRlZiBQMzggaXRlbTM4OyB0eXBlZGVmIFAzOSBpdGVtMzk7IHR5cGVkZWYgUDQwIGl0ZW00MDsgdHlwZWRlZiBQNDEgaXRlbTQxOyB0eXBlZGVmIFA0MiBpdGVtNDI7IHR5cGVkZWYgUDQzIGl0ZW00MzsgdHlwZWRlZiBQNDQgaXRlbTQ0OyB0eXBlZGVmIFA0NSBpdGVtNDU7IHR5cGVkZWYgUDQ2IGl0ZW00NjsgdHlwZWRlZiBQNDcgaXRlbTQ3OyB0eXBlZGVmIFA0OCBpdGVtNDg7IHR5cGVkZWYgUDQ5IGl0ZW00OTsgdHlwZWRlZiBQNTAgaXRlbTUwOyB0eXBlZGVmIFA1MSBpdGVtNTE7IHR5cGVkZWYgUDUyIGl0ZW01MjsgdHlwZWRlZiBQNTMgaXRlbTUzOyB0eXBlZGVmIFA1NCBpdGVtNTQ7IHR5cGVkZWYgUDU1IGl0ZW01NTsgdHlwZWRlZiBQNTYgaXRlbTU2OyB0eXBlZGVmIFA1NyBpdGVtNTc7IHR5cGVkZWYgUDU4IGl0ZW01ODsgdHlwZWRlZiBQNTkgaXRlbTU5OyB0eXBlZGVmIFA2MCBpdGVtNjA7IHR5cGVkZWYgUDYxIGl0ZW02MTsgdHlwZWRlZiBQNjIgaXRlbTYyOyB0eXBlZGVmIFA2MyBpdGVtNjM7IHR5cGVkZWYgUDY0IGl0ZW02NDsgdHlwZWRlZiBQNjUgaXRlbTY1OyB0eXBlZGVmIFA2NiBpdGVtNjY7IHR5cGVkZWYgUDY3IGl0ZW02NzsgdHlwZWRlZiBQNjggaXRlbTY4OyB0eXBlZGVmIFA2OSBpdGVtNjk7IHR5cGVkZWYgUDcwIGl0ZW03MDsgdHlwZWRlZiBQNzEgaXRlbTcxOyB0eXBlZGVmIFA3MiBpdGVtNzI7IHR5cGVkZWYgUDczIGl0ZW03MzsgdHlwZWRlZiBQNzQgaXRlbTc0OyB0eXBlZGVmIFA3NSBpdGVtNzU7IHR5cGVkZWYgUDc2IGl0ZW03NjsgdHlwZWRlZiBQNzcgaXRlbTc3OyB0eXBlZGVmIFA3OCBpdGVtNzg7IHR5cGVkZWYgUDc5IGl0ZW03OTsgdHlwZWRlZiBQODAgaXRlbTgwOyB0eXBlZGVmIFA4MSBpdGVtODE7IHR5cGVkZWYgUDgyIGl0ZW04MjsgdHlwZWRlZiBQODMgaXRlbTgzOyB0eXBlZGVmIFA4NCBpdGVtODQ7IHR5cGVkZWYgUDg1IGl0ZW04NTsgdHlwZWRlZiBQODYgaXRlbTg2OyB0eXBlZGVmIFA4NyBpdGVtODc7IHR5cGVkZWYgUDg4IGl0ZW04ODsgdHlwZWRlZiBQODkgaXRlbTg5OyB0eXBlZGVmIFA5MCBpdGVtOTA7IHR5cGVkZWYgUDkxIGl0ZW05MTsgdHlwZWRlZiBQOTIgaXRlbTkyOyB0eXBlZGVmIFA5MyBpdGVtOTM7IHR5cGVkZWYgUDk0IGl0ZW05NDsgdHlwZWRlZiBQOTUgaXRlbTk1OyB0eXBlZGVmIFA5NiBpdGVtOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSAsIGNsYXNzIFA4NiAsIGNsYXNzIFA4NyAsIGNsYXNzIFA4OCAsIGNsYXNzIFA4OSAsIGNsYXNzIFA5MCAsIGNsYXNzIFA5MSAsIGNsYXNzIFA5MiAsIGNsYXNzIFA5MyAsIGNsYXNzIFA5NCAsIGNsYXNzIFA5NSAsIGNsYXNzIFA5NiAsIGNsYXNzIFA5NyA+IHN0cnVjdCB2ZWN0b3I5OCB7IHR5cGVkZWYgdl9pdGVyPHZlY3Rvcjk4PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFA5MiAsIFA5MyAsIFA5NCAsIFA5NSAsIFA5NiAsIFA5Nz4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBQODggaXRlbTg4OyB0eXBlZGVmIFA4OSBpdGVtODk7IHR5cGVkZWYgUDkwIGl0ZW05MDsgdHlwZWRlZiBQOTEgaXRlbTkxOyB0eXBlZGVmIFA5MiBpdGVtOTI7IHR5cGVkZWYgUDkzIGl0ZW05MzsgdHlwZWRlZiBQOTQgaXRlbTk0OyB0eXBlZGVmIFA5NSBpdGVtOTU7IHR5cGVkZWYgUDk2IGl0ZW05NjsgdHlwZWRlZiBQOTcgaXRlbTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ICwgY2xhc3MgUDk2ICwgY2xhc3MgUDk3ICwgY2xhc3MgUDk4ID4gc3RydWN0IHZlY3Rvcjk5IHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yOTk8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1ICwgUDk2ICwgUDk3ICwgUDk4PiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgUDQxIGl0ZW00MTsgdHlwZWRlZiBQNDIgaXRlbTQyOyB0eXBlZGVmIFA0MyBpdGVtNDM7IHR5cGVkZWYgUDQ0IGl0ZW00NDsgdHlwZWRlZiBQNDUgaXRlbTQ1OyB0eXBlZGVmIFA0NiBpdGVtNDY7IHR5cGVkZWYgUDQ3IGl0ZW00NzsgdHlwZWRlZiBQNDggaXRlbTQ4OyB0eXBlZGVmIFA0OSBpdGVtNDk7IHR5cGVkZWYgUDUwIGl0ZW01MDsgdHlwZWRlZiBQNTEgaXRlbTUxOyB0eXBlZGVmIFA1MiBpdGVtNTI7IHR5cGVkZWYgUDUzIGl0ZW01MzsgdHlwZWRlZiBQNTQgaXRlbTU0OyB0eXBlZGVmIFA1NSBpdGVtNTU7IHR5cGVkZWYgUDU2IGl0ZW01NjsgdHlwZWRlZiBQNTcgaXRlbTU3OyB0eXBlZGVmIFA1OCBpdGVtNTg7IHR5cGVkZWYgUDU5IGl0ZW01OTsgdHlwZWRlZiBQNjAgaXRlbTYwOyB0eXBlZGVmIFA2MSBpdGVtNjE7IHR5cGVkZWYgUDYyIGl0ZW02MjsgdHlwZWRlZiBQNjMgaXRlbTYzOyB0eXBlZGVmIFA2NCBpdGVtNjQ7IHR5cGVkZWYgUDY1IGl0ZW02NTsgdHlwZWRlZiBQNjYgaXRlbTY2OyB0eXBlZGVmIFA2NyBpdGVtNjc7IHR5cGVkZWYgUDY4IGl0ZW02ODsgdHlwZWRlZiBQNjkgaXRlbTY5OyB0eXBlZGVmIFA3MCBpdGVtNzA7IHR5cGVkZWYgUDcxIGl0ZW03MTsgdHlwZWRlZiBQNzIgaXRlbTcyOyB0eXBlZGVmIFA3MyBpdGVtNzM7IHR5cGVkZWYgUDc0IGl0ZW03NDsgdHlwZWRlZiBQNzUgaXRlbTc1OyB0eXBlZGVmIFA3NiBpdGVtNzY7IHR5cGVkZWYgUDc3IGl0ZW03NzsgdHlwZWRlZiBQNzggaXRlbTc4OyB0eXBlZGVmIFA3OSBpdGVtNzk7IHR5cGVkZWYgUDgwIGl0ZW04MDsgdHlwZWRlZiBQODEgaXRlbTgxOyB0eXBlZGVmIFA4MiBpdGVtODI7IHR5cGVkZWYgUDgzIGl0ZW04MzsgdHlwZWRlZiBQODQgaXRlbTg0OyB0eXBlZGVmIFA4NSBpdGVtODU7IHR5cGVkZWYgUDg2IGl0ZW04NjsgdHlwZWRlZiBQODcgaXRlbTg3OyB0eXBlZGVmIFA4OCBpdGVtODg7IHR5cGVkZWYgUDg5IGl0ZW04OTsgdHlwZWRlZiBQOTAgaXRlbTkwOyB0eXBlZGVmIFA5MSBpdGVtOTE7IHR5cGVkZWYgUDkyIGl0ZW05MjsgdHlwZWRlZiBQOTMgaXRlbTkzOyB0eXBlZGVmIFA5NCBpdGVtOTQ7IHR5cGVkZWYgUDk1IGl0ZW05NTsgdHlwZWRlZiBQOTYgaXRlbTk2OyB0eXBlZGVmIFA5NyBpdGVtOTc7IHR5cGVkZWYgUDk4IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBQOTMgLCBjbGFzcyBQOTQgLCBjbGFzcyBQOTUgLCBjbGFzcyBQOTYgLCBjbGFzcyBQOTcgLCBjbGFzcyBQOTggLCBjbGFzcyBQOTkgPiBzdHJ1Y3QgdmVjdG9yMTAwIHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yMTAwPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFA5MiAsIFA5MyAsIFA5NCAsIFA5NSAsIFA5NiAsIFA5NyAsIFA5OCAsIFA5OT4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBQODggaXRlbTg4OyB0eXBlZGVmIFA4OSBpdGVtODk7IHR5cGVkZWYgUDkwIGl0ZW05MDsgdHlwZWRlZiBQOTEgaXRlbTkxOyB0eXBlZGVmIFA5MiBpdGVtOTI7IHR5cGVkZWYgUDkzIGl0ZW05MzsgdHlwZWRlZiBQOTQgaXRlbTk0OyB0eXBlZGVmIFA5NSBpdGVtOTU7IHR5cGVkZWYgUDk2IGl0ZW05NjsgdHlwZWRlZiBQOTcgaXRlbTk3OyB0eXBlZGVmIFA5OCBpdGVtOTg7IHR5cGVkZWYgUDk5IGl0ZW05OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgfTsKK319CituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgdHlwZV9vZiB7CisgICAgdGVtcGxhdGU8Y2xhc3MgViwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjayB7CisgICAgICAgIHR5cGVkZWYgViB0eXBlOworICAgIH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IwPD4sIFQ+IHsgdHlwZWRlZiBuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMTwgVCA+IHR5cGU7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjE8IFAwPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IyPCBQMCAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjI8IFAwICwgUDE+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjM8IFAwICwgUDEgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjM8IFAwICwgUDEgLCBQMj4sIFQ+IHsgdHlwZWRlZiBuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yNDwgUDAgLCBQMSAsIFAyICwgVCA+IHR5cGU7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjQ8IFAwICwgUDEgLCBQMiAsIFAzPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I1PCBQMCAsIFAxICwgUDIgLCBQMyAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjU8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQ+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjY8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjY8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNT4sIFQ+IHsgdHlwZWRlZiBuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yNzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgVCA+IHR5cGU7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3Rvcjc8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I4PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3Rvcjg8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDc+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3Rvcjk8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3Rvcjk8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOD4sIFQ+IHsgdHlwZWRlZiBuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMTA8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IxMDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDk+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjExPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IxMTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTA+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjEyPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IxMjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTE+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjEzPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IxMzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTI+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjE0PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IxNDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTM+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjE1PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IxNTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQ+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjE2PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IxNjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTU+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjE3PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IxNzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTY+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjE4PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IxODwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTc+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjE5PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IxOTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTg+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjIwPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IyMDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTk+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjIxPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IyMTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjA+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjIyPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IyMjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjE+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjIzPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IyMzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjI+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjI0PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IyNDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjM+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjI1PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IyNTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQ+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjI2PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IyNjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjU+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjI3PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IyNzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjY+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjI4PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IyODwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjc+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjI5PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IyOTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjg+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjMwPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IzMDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjk+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjMxPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IzMTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzA+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjMyPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IzMjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzE+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjMzPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IzMzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzI+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjM0PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IzNDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzM+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjM1PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IzNTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQ+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjM2PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IzNjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzU+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjM3PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IzNzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzY+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjM4PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IzODwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzc+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjM5PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IzOTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzg+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjQwPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I0MDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzk+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjQxPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I0MTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDA+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjQyPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I0MjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDE+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjQzPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I0MzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDI+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjQ0PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I0NDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDM+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjQ1PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I0NTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQ+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjQ2PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I0NjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDU+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjQ3PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I0NzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDY+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjQ4PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I0ODwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDc+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjQ5PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I0OTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDg+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjUwPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I1MDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDk+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjUxPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I1MTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTA+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjUyPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I1MjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTE+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjUzPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I1MzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTI+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjU0PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I1NDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTM+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjU1PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I1NTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQ+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjU2PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I1NjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTU+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjU3PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I1NzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTY+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjU4PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I1ODwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTc+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjU5PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I1OTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTg+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjYwPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I2MDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTk+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjYxPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I2MTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjA+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjYyPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I2MjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjE+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjYzPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I2MzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjI+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjY0PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I2NDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjM+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjY1PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I2NTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQ+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjY2PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I2NjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjU+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjY3PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I2NzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjY+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjY4PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I2ODwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjc+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjY5PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I2OTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjg+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjcwPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I3MDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjk+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjcxPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I3MTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzA+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjcyPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I3MjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzE+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjczPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I3MzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzI+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3Rvcjc0PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I3NDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzM+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3Rvcjc1PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I3NTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQ+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3Rvcjc2PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I3NjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzU+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3Rvcjc3PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I3NzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzY+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3Rvcjc4PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I3ODwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzc+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3Rvcjc5PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I3OTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzg+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjgwPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I4MDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzk+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjgxPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I4MTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODA+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjgyPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I4MjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODE+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjgzPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I4MzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODI+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3Rvcjg0PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I4NDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODM+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3Rvcjg1PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I4NTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQ+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3Rvcjg2PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I4NjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODU+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3Rvcjg3PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I4NzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODY+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3Rvcjg4PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I4ODwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODc+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3Rvcjg5PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I4OTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODg+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjkwPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I5MDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODk+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjkxPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I5MTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTA+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjkyPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I5MjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTE+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjkzPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I5MzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTI+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3Rvcjk0PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFA5MiAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBQOTMgLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I5NDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTM+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3Rvcjk1PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFA5MiAsIFA5MyAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBQOTMgLCBjbGFzcyBQOTQgLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I5NTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQ+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3Rvcjk2PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFA5MiAsIFA5MyAsIFA5NCAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBQOTMgLCBjbGFzcyBQOTQgLCBjbGFzcyBQOTUgLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I5NjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTU+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3Rvcjk3PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFA5MiAsIFA5MyAsIFA5NCAsIFA5NSAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBQOTMgLCBjbGFzcyBQOTQgLCBjbGFzcyBQOTUgLCBjbGFzcyBQOTYgLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I5NzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTY+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3Rvcjk4PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFA5MiAsIFA5MyAsIFA5NCAsIFA5NSAsIFA5NiAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBQOTMgLCBjbGFzcyBQOTQgLCBjbGFzcyBQOTUgLCBjbGFzcyBQOTYgLCBjbGFzcyBQOTcgLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I5ODwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTc+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3Rvcjk5PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFA5MiAsIFA5MyAsIFA5NCAsIFA5NSAsIFA5NiAsIFA5NyAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBQOTMgLCBjbGFzcyBQOTQgLCBjbGFzcyBQOTUgLCBjbGFzcyBQOTYgLCBjbGFzcyBQOTcgLCBjbGFzcyBQOTggLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I5OTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTg+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjEwMDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBUID4gdHlwZTsgfTsKK319CmRpZmYgLS1naXQgYS9uZG5ib29zdC90eXBlb2YvdmVjdG9yMTUwLmhwcCBiL25kbmJvb3N0L3R5cGVvZi92ZWN0b3IxNTAuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRjOWE3NTQKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC90eXBlb2YvdmVjdG9yMTUwLmhwcApAQCAtMCwwICsxLDQ3MSBAQAorCisvLyBDb3B5cmlnaHQgKEMpIDIwMDUgQXJrYWRpeSBWZXJ0bGV5YgorLy8gQ29weXJpZ2h0IChDKSAyMDA1IFBlZGVyIEhvbHQKKy8vCisvLyBVc2UgbW9kaWZpY2F0aW9uIGFuZCBkaXN0cmlidXRpb24gYXJlIHN1YmplY3QgdG8gdGhlIGJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsCisvLyBWZXJzaW9uIDEuMC4gKFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpLgorCisvLyBQcmVwcm9jZXNzZWQgY29kZSwgZG8gbm90IGVkaXQgbWFudWFsbHkgIQorCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSB0eXBlX29mIHsKKyAgICB0ZW1wbGF0ZTxjbGFzcyBWLCBjbGFzcyBJbmNyZWFzZV9CT09TVF9UWVBFT0ZfTElNSVRfU0laRT4gc3RydWN0IHZfaXRlcjsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88MD4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTAgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDAgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDE+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW0xIHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50XzwxICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50XzwyPiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtMiB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88MiArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88Mz4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTMgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDMgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDQ+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW00IHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50Xzw0ICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50Xzw1PiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtNSB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88NSArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88Nj4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTYgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDYgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDc+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW03IHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50Xzw3ICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50Xzw4PiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtOCB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88OCArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88OT4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTkgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDkgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDEwPiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtMTAgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDEwICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50XzwxMT4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTExIHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50XzwxMSArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88MTI+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW0xMiB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88MTIgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDEzPiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtMTMgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDEzICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50XzwxND4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTE0IHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50XzwxNCArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88MTU+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW0xNSB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88MTUgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDE2PiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtMTYgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDE2ICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50XzwxNz4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTE3IHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50XzwxNyArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88MTg+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW0xOCB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88MTggKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDE5PiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtMTkgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDE5ICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50XzwyMD4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTIwIHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50XzwyMCArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88MjE+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW0yMSB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88MjEgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDIyPiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtMjIgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDIyICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50XzwyMz4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTIzIHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50XzwyMyArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88MjQ+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW0yNCB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88MjQgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDI1PiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtMjUgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDI1ICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50XzwyNj4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTI2IHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50XzwyNiArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88Mjc+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW0yNyB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88MjcgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDI4PiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtMjggdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDI4ICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50XzwyOT4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTI5IHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50XzwyOSArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88MzA+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW0zMCB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88MzAgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDMxPiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtMzEgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDMxICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50XzwzMj4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTMyIHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50XzwzMiArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88MzM+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW0zMyB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88MzMgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDM0PiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtMzQgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDM0ICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50XzwzNT4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTM1IHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50XzwzNSArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88MzY+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW0zNiB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88MzYgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDM3PiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtMzcgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDM3ICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50XzwzOD4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTM4IHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50XzwzOCArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88Mzk+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW0zOSB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88MzkgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDQwPiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtNDAgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDQwICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50Xzw0MT4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTQxIHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50Xzw0MSArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88NDI+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW00MiB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88NDIgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDQzPiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtNDMgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDQzICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50Xzw0ND4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTQ0IHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50Xzw0NCArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88NDU+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW00NSB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88NDUgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDQ2PiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtNDYgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDQ2ICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50Xzw0Nz4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTQ3IHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50Xzw0NyArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88NDg+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW00OCB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88NDggKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDQ5PiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtNDkgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDQ5ICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50Xzw1MD4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTUwIHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50Xzw1MCArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88NTE+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW01MSB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88NTEgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDUyPiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtNTIgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDUyICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50Xzw1Mz4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTUzIHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50Xzw1MyArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88NTQ+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW01NCB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88NTQgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDU1PiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtNTUgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDU1ICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50Xzw1Nj4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTU2IHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50Xzw1NiArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88NTc+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW01NyB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88NTcgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDU4PiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtNTggdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDU4ICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50Xzw1OT4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTU5IHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50Xzw1OSArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88NjA+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW02MCB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88NjAgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDYxPiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtNjEgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDYxICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50Xzw2Mj4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTYyIHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50Xzw2MiArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88NjM+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW02MyB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88NjMgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDY0PiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtNjQgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDY0ICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50Xzw2NT4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTY1IHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50Xzw2NSArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88NjY+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW02NiB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88NjYgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDY3PiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtNjcgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDY3ICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50Xzw2OD4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTY4IHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50Xzw2OCArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88Njk+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW02OSB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88NjkgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDcwPiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtNzAgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDcwICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50Xzw3MT4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTcxIHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50Xzw3MSArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88NzI+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW03MiB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88NzIgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDczPiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtNzMgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDczICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50Xzw3ND4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTc0IHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50Xzw3NCArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88NzU+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW03NSB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88NzUgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDc2PiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtNzYgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDc2ICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50Xzw3Nz4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTc3IHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50Xzw3NyArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88Nzg+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW03OCB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88NzggKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDc5PiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtNzkgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDc5ICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50Xzw4MD4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTgwIHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50Xzw4MCArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88ODE+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW04MSB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88ODEgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDgyPiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtODIgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDgyICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50Xzw4Mz4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTgzIHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50Xzw4MyArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88ODQ+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW04NCB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88ODQgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDg1PiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtODUgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDg1ICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50Xzw4Nj4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTg2IHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50Xzw4NiArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88ODc+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW04NyB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88ODcgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDg4PiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtODggdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDg4ICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50Xzw4OT4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTg5IHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50Xzw4OSArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88OTA+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW05MCB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88OTAgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDkxPiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtOTEgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDkxICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50Xzw5Mj4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTkyIHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50Xzw5MiArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88OTM+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW05MyB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88OTMgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDk0PiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtOTQgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDk0ICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50Xzw5NT4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTk1IHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50Xzw5NSArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88OTY+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW05NiB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88OTYgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDk3PiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtOTcgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDk3ICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50Xzw5OD4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTk4IHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50Xzw5OCArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88OTk+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW05OSB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88OTkgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDEwMD4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTEwMCB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88MTAwICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50XzwxMDE+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW0xMDEgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDEwMSArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88MTAyPiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtMTAyIHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50XzwxMDIgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDEwMz4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTEwMyB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88MTAzICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50XzwxMDQ+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW0xMDQgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDEwNCArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88MTA1PiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtMTA1IHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50XzwxMDUgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDEwNj4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTEwNiB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88MTA2ICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50XzwxMDc+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW0xMDcgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDEwNyArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88MTA4PiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtMTA4IHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50XzwxMDggKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDEwOT4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTEwOSB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88MTA5ICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50XzwxMTA+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW0xMTAgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDExMCArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88MTExPiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtMTExIHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50XzwxMTEgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDExMj4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTExMiB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88MTEyICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50XzwxMTM+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW0xMTMgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDExMyArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88MTE0PiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtMTE0IHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50XzwxMTQgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDExNT4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTExNSB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88MTE1ICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50XzwxMTY+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW0xMTYgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDExNiArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88MTE3PiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtMTE3IHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50XzwxMTcgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDExOD4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTExOCB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88MTE4ICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50XzwxMTk+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW0xMTkgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDExOSArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88MTIwPiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtMTIwIHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50XzwxMjAgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDEyMT4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTEyMSB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88MTIxICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50XzwxMjI+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW0xMjIgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDEyMiArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88MTIzPiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtMTIzIHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50XzwxMjMgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDEyND4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTEyNCB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88MTI0ICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50XzwxMjU+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW0xMjUgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDEyNSArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88MTI2PiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtMTI2IHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50XzwxMjYgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDEyNz4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTEyNyB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88MTI3ICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50XzwxMjg+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW0xMjggdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDEyOCArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88MTI5PiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtMTI5IHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50XzwxMjkgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDEzMD4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTEzMCB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88MTMwICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50XzwxMzE+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW0xMzEgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDEzMSArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88MTMyPiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtMTMyIHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50XzwxMzIgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDEzMz4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTEzMyB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88MTMzICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50XzwxMzQ+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW0xMzQgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDEzNCArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88MTM1PiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtMTM1IHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50XzwxMzUgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDEzNj4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTEzNiB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88MTM2ICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50XzwxMzc+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW0xMzcgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDEzNyArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88MTM4PiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtMTM4IHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50XzwxMzggKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDEzOT4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTEzOSB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88MTM5ICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50XzwxNDA+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW0xNDAgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDE0MCArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88MTQxPiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtMTQxIHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50XzwxNDEgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDE0Mj4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTE0MiB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88MTQyICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50XzwxNDM+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW0xNDMgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDE0MyArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88MTQ0PiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtMTQ0IHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50XzwxNDQgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDE0NT4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTE0NSB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88MTQ1ICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50XzwxNDY+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW0xNDYgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDE0NiArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88MTQ3PiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtMTQ3IHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50XzwxNDcgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDE0OD4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTE0OCB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88MTQ4ICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50XzwxNDk+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW0xNDkgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDE0OSArIDE+ID4gbmV4dDsgfTsKK319CituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgdHlwZV9vZiB7CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBUID0gdm9pZD4gc3RydWN0IHZlY3RvcjAgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3IwPD4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCA+IHN0cnVjdCB2ZWN0b3IxIHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yMTwgUDA+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxID4gc3RydWN0IHZlY3RvcjIgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3IyPCBQMCAsIFAxPiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgPiBzdHJ1Y3QgdmVjdG9yMyB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjM8IFAwICwgUDEgLCBQMj4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyA+IHN0cnVjdCB2ZWN0b3I0IHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yNDwgUDAgLCBQMSAsIFAyICwgUDM+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgUDMgaXRlbTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ID4gc3RydWN0IHZlY3RvcjUgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3I1PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0PiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgPiBzdHJ1Y3QgdmVjdG9yNiB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjY8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNT4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiA+IHN0cnVjdCB2ZWN0b3I3IHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yNzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDY+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgUDMgaXRlbTM7IHR5cGVkZWYgUDQgaXRlbTQ7IHR5cGVkZWYgUDUgaXRlbTU7IHR5cGVkZWYgUDYgaXRlbTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ID4gc3RydWN0IHZlY3RvcjggeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3I4PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3PiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggPiBzdHJ1Y3QgdmVjdG9yOSB7IHR5cGVkZWYgdl9pdGVyPHZlY3Rvcjk8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOD4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSA+IHN0cnVjdCB2ZWN0b3IxMCB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjEwPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOT4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5ODsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwID4gc3RydWN0IHZlY3RvcjExIHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yMTE8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwPiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgPiBzdHJ1Y3QgdmVjdG9yMTIgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3IxMjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTE+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgUDMgaXRlbTM7IHR5cGVkZWYgUDQgaXRlbTQ7IHR5cGVkZWYgUDUgaXRlbTU7IHR5cGVkZWYgUDYgaXRlbTY7IHR5cGVkZWYgUDcgaXRlbTc7IHR5cGVkZWYgUDggaXRlbTg7IHR5cGVkZWYgUDkgaXRlbTk7IHR5cGVkZWYgUDEwIGl0ZW0xMDsgdHlwZWRlZiBQMTEgaXRlbTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiA+IHN0cnVjdCB2ZWN0b3IxMyB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjEzPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMj4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5ODsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzID4gc3RydWN0IHZlY3RvcjE0IHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yMTQ8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzPiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgPiBzdHJ1Y3QgdmVjdG9yMTUgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3IxNTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQ+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgUDMgaXRlbTM7IHR5cGVkZWYgUDQgaXRlbTQ7IHR5cGVkZWYgUDUgaXRlbTU7IHR5cGVkZWYgUDYgaXRlbTY7IHR5cGVkZWYgUDcgaXRlbTc7IHR5cGVkZWYgUDggaXRlbTg7IHR5cGVkZWYgUDkgaXRlbTk7IHR5cGVkZWYgUDEwIGl0ZW0xMDsgdHlwZWRlZiBQMTEgaXRlbTExOyB0eXBlZGVmIFAxMiBpdGVtMTI7IHR5cGVkZWYgUDEzIGl0ZW0xMzsgdHlwZWRlZiBQMTQgaXRlbTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSA+IHN0cnVjdCB2ZWN0b3IxNiB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjE2PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNT4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5ODsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ID4gc3RydWN0IHZlY3RvcjE3IHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yMTc8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2PiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgPiBzdHJ1Y3QgdmVjdG9yMTggeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3IxODwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTc+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgUDMgaXRlbTM7IHR5cGVkZWYgUDQgaXRlbTQ7IHR5cGVkZWYgUDUgaXRlbTU7IHR5cGVkZWYgUDYgaXRlbTY7IHR5cGVkZWYgUDcgaXRlbTc7IHR5cGVkZWYgUDggaXRlbTg7IHR5cGVkZWYgUDkgaXRlbTk7IHR5cGVkZWYgUDEwIGl0ZW0xMDsgdHlwZWRlZiBQMTEgaXRlbTExOyB0eXBlZGVmIFAxMiBpdGVtMTI7IHR5cGVkZWYgUDEzIGl0ZW0xMzsgdHlwZWRlZiBQMTQgaXRlbTE0OyB0eXBlZGVmIFAxNSBpdGVtMTU7IHR5cGVkZWYgUDE2IGl0ZW0xNjsgdHlwZWRlZiBQMTcgaXRlbTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCA+IHN0cnVjdCB2ZWN0b3IxOSB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjE5PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOD4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5ODsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ID4gc3RydWN0IHZlY3RvcjIwIHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yMjA8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5PiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgPiBzdHJ1Y3QgdmVjdG9yMjEgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3IyMTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjA+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgUDMgaXRlbTM7IHR5cGVkZWYgUDQgaXRlbTQ7IHR5cGVkZWYgUDUgaXRlbTU7IHR5cGVkZWYgUDYgaXRlbTY7IHR5cGVkZWYgUDcgaXRlbTc7IHR5cGVkZWYgUDggaXRlbTg7IHR5cGVkZWYgUDkgaXRlbTk7IHR5cGVkZWYgUDEwIGl0ZW0xMDsgdHlwZWRlZiBQMTEgaXRlbTExOyB0eXBlZGVmIFAxMiBpdGVtMTI7IHR5cGVkZWYgUDEzIGl0ZW0xMzsgdHlwZWRlZiBQMTQgaXRlbTE0OyB0eXBlZGVmIFAxNSBpdGVtMTU7IHR5cGVkZWYgUDE2IGl0ZW0xNjsgdHlwZWRlZiBQMTcgaXRlbTE3OyB0eXBlZGVmIFAxOCBpdGVtMTg7IHR5cGVkZWYgUDE5IGl0ZW0xOTsgdHlwZWRlZiBQMjAgaXRlbTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSA+IHN0cnVjdCB2ZWN0b3IyMiB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjIyPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMT4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5ODsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyID4gc3RydWN0IHZlY3RvcjIzIHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yMjM8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyPiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgPiBzdHJ1Y3QgdmVjdG9yMjQgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3IyNDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjM+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgUDMgaXRlbTM7IHR5cGVkZWYgUDQgaXRlbTQ7IHR5cGVkZWYgUDUgaXRlbTU7IHR5cGVkZWYgUDYgaXRlbTY7IHR5cGVkZWYgUDcgaXRlbTc7IHR5cGVkZWYgUDggaXRlbTg7IHR5cGVkZWYgUDkgaXRlbTk7IHR5cGVkZWYgUDEwIGl0ZW0xMDsgdHlwZWRlZiBQMTEgaXRlbTExOyB0eXBlZGVmIFAxMiBpdGVtMTI7IHR5cGVkZWYgUDEzIGl0ZW0xMzsgdHlwZWRlZiBQMTQgaXRlbTE0OyB0eXBlZGVmIFAxNSBpdGVtMTU7IHR5cGVkZWYgUDE2IGl0ZW0xNjsgdHlwZWRlZiBQMTcgaXRlbTE3OyB0eXBlZGVmIFAxOCBpdGVtMTg7IHR5cGVkZWYgUDE5IGl0ZW0xOTsgdHlwZWRlZiBQMjAgaXRlbTIwOyB0eXBlZGVmIFAyMSBpdGVtMjE7IHR5cGVkZWYgUDIyIGl0ZW0yMjsgdHlwZWRlZiBQMjMgaXRlbTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCA+IHN0cnVjdCB2ZWN0b3IyNSB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjI1PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyND4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5ODsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ID4gc3RydWN0IHZlY3RvcjI2IHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yMjY8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1PiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgPiBzdHJ1Y3QgdmVjdG9yMjcgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3IyNzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjY+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgUDMgaXRlbTM7IHR5cGVkZWYgUDQgaXRlbTQ7IHR5cGVkZWYgUDUgaXRlbTU7IHR5cGVkZWYgUDYgaXRlbTY7IHR5cGVkZWYgUDcgaXRlbTc7IHR5cGVkZWYgUDggaXRlbTg7IHR5cGVkZWYgUDkgaXRlbTk7IHR5cGVkZWYgUDEwIGl0ZW0xMDsgdHlwZWRlZiBQMTEgaXRlbTExOyB0eXBlZGVmIFAxMiBpdGVtMTI7IHR5cGVkZWYgUDEzIGl0ZW0xMzsgdHlwZWRlZiBQMTQgaXRlbTE0OyB0eXBlZGVmIFAxNSBpdGVtMTU7IHR5cGVkZWYgUDE2IGl0ZW0xNjsgdHlwZWRlZiBQMTcgaXRlbTE3OyB0eXBlZGVmIFAxOCBpdGVtMTg7IHR5cGVkZWYgUDE5IGl0ZW0xOTsgdHlwZWRlZiBQMjAgaXRlbTIwOyB0eXBlZGVmIFAyMSBpdGVtMjE7IHR5cGVkZWYgUDIyIGl0ZW0yMjsgdHlwZWRlZiBQMjMgaXRlbTIzOyB0eXBlZGVmIFAyNCBpdGVtMjQ7IHR5cGVkZWYgUDI1IGl0ZW0yNTsgdHlwZWRlZiBQMjYgaXRlbTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyA+IHN0cnVjdCB2ZWN0b3IyOCB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjI4PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNz4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5ODsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ID4gc3RydWN0IHZlY3RvcjI5IHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yMjk8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4PiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgPiBzdHJ1Y3QgdmVjdG9yMzAgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3IzMDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjk+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgUDMgaXRlbTM7IHR5cGVkZWYgUDQgaXRlbTQ7IHR5cGVkZWYgUDUgaXRlbTU7IHR5cGVkZWYgUDYgaXRlbTY7IHR5cGVkZWYgUDcgaXRlbTc7IHR5cGVkZWYgUDggaXRlbTg7IHR5cGVkZWYgUDkgaXRlbTk7IHR5cGVkZWYgUDEwIGl0ZW0xMDsgdHlwZWRlZiBQMTEgaXRlbTExOyB0eXBlZGVmIFAxMiBpdGVtMTI7IHR5cGVkZWYgUDEzIGl0ZW0xMzsgdHlwZWRlZiBQMTQgaXRlbTE0OyB0eXBlZGVmIFAxNSBpdGVtMTU7IHR5cGVkZWYgUDE2IGl0ZW0xNjsgdHlwZWRlZiBQMTcgaXRlbTE3OyB0eXBlZGVmIFAxOCBpdGVtMTg7IHR5cGVkZWYgUDE5IGl0ZW0xOTsgdHlwZWRlZiBQMjAgaXRlbTIwOyB0eXBlZGVmIFAyMSBpdGVtMjE7IHR5cGVkZWYgUDIyIGl0ZW0yMjsgdHlwZWRlZiBQMjMgaXRlbTIzOyB0eXBlZGVmIFAyNCBpdGVtMjQ7IHR5cGVkZWYgUDI1IGl0ZW0yNTsgdHlwZWRlZiBQMjYgaXRlbTI2OyB0eXBlZGVmIFAyNyBpdGVtMjc7IHR5cGVkZWYgUDI4IGl0ZW0yODsgdHlwZWRlZiBQMjkgaXRlbTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCA+IHN0cnVjdCB2ZWN0b3IzMSB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjMxPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMD4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5ODsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxID4gc3RydWN0IHZlY3RvcjMyIHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yMzI8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxPiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgPiBzdHJ1Y3QgdmVjdG9yMzMgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3IzMzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzI+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgUDMgaXRlbTM7IHR5cGVkZWYgUDQgaXRlbTQ7IHR5cGVkZWYgUDUgaXRlbTU7IHR5cGVkZWYgUDYgaXRlbTY7IHR5cGVkZWYgUDcgaXRlbTc7IHR5cGVkZWYgUDggaXRlbTg7IHR5cGVkZWYgUDkgaXRlbTk7IHR5cGVkZWYgUDEwIGl0ZW0xMDsgdHlwZWRlZiBQMTEgaXRlbTExOyB0eXBlZGVmIFAxMiBpdGVtMTI7IHR5cGVkZWYgUDEzIGl0ZW0xMzsgdHlwZWRlZiBQMTQgaXRlbTE0OyB0eXBlZGVmIFAxNSBpdGVtMTU7IHR5cGVkZWYgUDE2IGl0ZW0xNjsgdHlwZWRlZiBQMTcgaXRlbTE3OyB0eXBlZGVmIFAxOCBpdGVtMTg7IHR5cGVkZWYgUDE5IGl0ZW0xOTsgdHlwZWRlZiBQMjAgaXRlbTIwOyB0eXBlZGVmIFAyMSBpdGVtMjE7IHR5cGVkZWYgUDIyIGl0ZW0yMjsgdHlwZWRlZiBQMjMgaXRlbTIzOyB0eXBlZGVmIFAyNCBpdGVtMjQ7IHR5cGVkZWYgUDI1IGl0ZW0yNTsgdHlwZWRlZiBQMjYgaXRlbTI2OyB0eXBlZGVmIFAyNyBpdGVtMjc7IHR5cGVkZWYgUDI4IGl0ZW0yODsgdHlwZWRlZiBQMjkgaXRlbTI5OyB0eXBlZGVmIFAzMCBpdGVtMzA7IHR5cGVkZWYgUDMxIGl0ZW0zMTsgdHlwZWRlZiBQMzIgaXRlbTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyA+IHN0cnVjdCB2ZWN0b3IzNCB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjM0PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMz4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5ODsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ID4gc3RydWN0IHZlY3RvcjM1IHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yMzU8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0PiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgPiBzdHJ1Y3QgdmVjdG9yMzYgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3IzNjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzU+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgUDMgaXRlbTM7IHR5cGVkZWYgUDQgaXRlbTQ7IHR5cGVkZWYgUDUgaXRlbTU7IHR5cGVkZWYgUDYgaXRlbTY7IHR5cGVkZWYgUDcgaXRlbTc7IHR5cGVkZWYgUDggaXRlbTg7IHR5cGVkZWYgUDkgaXRlbTk7IHR5cGVkZWYgUDEwIGl0ZW0xMDsgdHlwZWRlZiBQMTEgaXRlbTExOyB0eXBlZGVmIFAxMiBpdGVtMTI7IHR5cGVkZWYgUDEzIGl0ZW0xMzsgdHlwZWRlZiBQMTQgaXRlbTE0OyB0eXBlZGVmIFAxNSBpdGVtMTU7IHR5cGVkZWYgUDE2IGl0ZW0xNjsgdHlwZWRlZiBQMTcgaXRlbTE3OyB0eXBlZGVmIFAxOCBpdGVtMTg7IHR5cGVkZWYgUDE5IGl0ZW0xOTsgdHlwZWRlZiBQMjAgaXRlbTIwOyB0eXBlZGVmIFAyMSBpdGVtMjE7IHR5cGVkZWYgUDIyIGl0ZW0yMjsgdHlwZWRlZiBQMjMgaXRlbTIzOyB0eXBlZGVmIFAyNCBpdGVtMjQ7IHR5cGVkZWYgUDI1IGl0ZW0yNTsgdHlwZWRlZiBQMjYgaXRlbTI2OyB0eXBlZGVmIFAyNyBpdGVtMjc7IHR5cGVkZWYgUDI4IGl0ZW0yODsgdHlwZWRlZiBQMjkgaXRlbTI5OyB0eXBlZGVmIFAzMCBpdGVtMzA7IHR5cGVkZWYgUDMxIGl0ZW0zMTsgdHlwZWRlZiBQMzIgaXRlbTMyOyB0eXBlZGVmIFAzMyBpdGVtMzM7IHR5cGVkZWYgUDM0IGl0ZW0zNDsgdHlwZWRlZiBQMzUgaXRlbTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiA+IHN0cnVjdCB2ZWN0b3IzNyB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjM3PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNj4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5ODsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ID4gc3RydWN0IHZlY3RvcjM4IHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yMzg8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3PiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggPiBzdHJ1Y3QgdmVjdG9yMzkgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3IzOTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzg+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgUDMgaXRlbTM7IHR5cGVkZWYgUDQgaXRlbTQ7IHR5cGVkZWYgUDUgaXRlbTU7IHR5cGVkZWYgUDYgaXRlbTY7IHR5cGVkZWYgUDcgaXRlbTc7IHR5cGVkZWYgUDggaXRlbTg7IHR5cGVkZWYgUDkgaXRlbTk7IHR5cGVkZWYgUDEwIGl0ZW0xMDsgdHlwZWRlZiBQMTEgaXRlbTExOyB0eXBlZGVmIFAxMiBpdGVtMTI7IHR5cGVkZWYgUDEzIGl0ZW0xMzsgdHlwZWRlZiBQMTQgaXRlbTE0OyB0eXBlZGVmIFAxNSBpdGVtMTU7IHR5cGVkZWYgUDE2IGl0ZW0xNjsgdHlwZWRlZiBQMTcgaXRlbTE3OyB0eXBlZGVmIFAxOCBpdGVtMTg7IHR5cGVkZWYgUDE5IGl0ZW0xOTsgdHlwZWRlZiBQMjAgaXRlbTIwOyB0eXBlZGVmIFAyMSBpdGVtMjE7IHR5cGVkZWYgUDIyIGl0ZW0yMjsgdHlwZWRlZiBQMjMgaXRlbTIzOyB0eXBlZGVmIFAyNCBpdGVtMjQ7IHR5cGVkZWYgUDI1IGl0ZW0yNTsgdHlwZWRlZiBQMjYgaXRlbTI2OyB0eXBlZGVmIFAyNyBpdGVtMjc7IHR5cGVkZWYgUDI4IGl0ZW0yODsgdHlwZWRlZiBQMjkgaXRlbTI5OyB0eXBlZGVmIFAzMCBpdGVtMzA7IHR5cGVkZWYgUDMxIGl0ZW0zMTsgdHlwZWRlZiBQMzIgaXRlbTMyOyB0eXBlZGVmIFAzMyBpdGVtMzM7IHR5cGVkZWYgUDM0IGl0ZW0zNDsgdHlwZWRlZiBQMzUgaXRlbTM1OyB0eXBlZGVmIFAzNiBpdGVtMzY7IHR5cGVkZWYgUDM3IGl0ZW0zNzsgdHlwZWRlZiBQMzggaXRlbTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSA+IHN0cnVjdCB2ZWN0b3I0MCB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjQwPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOT4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5ODsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwID4gc3RydWN0IHZlY3RvcjQxIHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yNDE8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwPiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgPiBzdHJ1Y3QgdmVjdG9yNDIgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3I0MjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDE+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgUDMgaXRlbTM7IHR5cGVkZWYgUDQgaXRlbTQ7IHR5cGVkZWYgUDUgaXRlbTU7IHR5cGVkZWYgUDYgaXRlbTY7IHR5cGVkZWYgUDcgaXRlbTc7IHR5cGVkZWYgUDggaXRlbTg7IHR5cGVkZWYgUDkgaXRlbTk7IHR5cGVkZWYgUDEwIGl0ZW0xMDsgdHlwZWRlZiBQMTEgaXRlbTExOyB0eXBlZGVmIFAxMiBpdGVtMTI7IHR5cGVkZWYgUDEzIGl0ZW0xMzsgdHlwZWRlZiBQMTQgaXRlbTE0OyB0eXBlZGVmIFAxNSBpdGVtMTU7IHR5cGVkZWYgUDE2IGl0ZW0xNjsgdHlwZWRlZiBQMTcgaXRlbTE3OyB0eXBlZGVmIFAxOCBpdGVtMTg7IHR5cGVkZWYgUDE5IGl0ZW0xOTsgdHlwZWRlZiBQMjAgaXRlbTIwOyB0eXBlZGVmIFAyMSBpdGVtMjE7IHR5cGVkZWYgUDIyIGl0ZW0yMjsgdHlwZWRlZiBQMjMgaXRlbTIzOyB0eXBlZGVmIFAyNCBpdGVtMjQ7IHR5cGVkZWYgUDI1IGl0ZW0yNTsgdHlwZWRlZiBQMjYgaXRlbTI2OyB0eXBlZGVmIFAyNyBpdGVtMjc7IHR5cGVkZWYgUDI4IGl0ZW0yODsgdHlwZWRlZiBQMjkgaXRlbTI5OyB0eXBlZGVmIFAzMCBpdGVtMzA7IHR5cGVkZWYgUDMxIGl0ZW0zMTsgdHlwZWRlZiBQMzIgaXRlbTMyOyB0eXBlZGVmIFAzMyBpdGVtMzM7IHR5cGVkZWYgUDM0IGl0ZW0zNDsgdHlwZWRlZiBQMzUgaXRlbTM1OyB0eXBlZGVmIFAzNiBpdGVtMzY7IHR5cGVkZWYgUDM3IGl0ZW0zNzsgdHlwZWRlZiBQMzggaXRlbTM4OyB0eXBlZGVmIFAzOSBpdGVtMzk7IHR5cGVkZWYgUDQwIGl0ZW00MDsgdHlwZWRlZiBQNDEgaXRlbTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiA+IHN0cnVjdCB2ZWN0b3I0MyB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjQzPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0Mj4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5ODsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzID4gc3RydWN0IHZlY3RvcjQ0IHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yNDQ8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzPiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgUDQxIGl0ZW00MTsgdHlwZWRlZiBQNDIgaXRlbTQyOyB0eXBlZGVmIFA0MyBpdGVtNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgPiBzdHJ1Y3QgdmVjdG9yNDUgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3I0NTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQ+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgUDMgaXRlbTM7IHR5cGVkZWYgUDQgaXRlbTQ7IHR5cGVkZWYgUDUgaXRlbTU7IHR5cGVkZWYgUDYgaXRlbTY7IHR5cGVkZWYgUDcgaXRlbTc7IHR5cGVkZWYgUDggaXRlbTg7IHR5cGVkZWYgUDkgaXRlbTk7IHR5cGVkZWYgUDEwIGl0ZW0xMDsgdHlwZWRlZiBQMTEgaXRlbTExOyB0eXBlZGVmIFAxMiBpdGVtMTI7IHR5cGVkZWYgUDEzIGl0ZW0xMzsgdHlwZWRlZiBQMTQgaXRlbTE0OyB0eXBlZGVmIFAxNSBpdGVtMTU7IHR5cGVkZWYgUDE2IGl0ZW0xNjsgdHlwZWRlZiBQMTcgaXRlbTE3OyB0eXBlZGVmIFAxOCBpdGVtMTg7IHR5cGVkZWYgUDE5IGl0ZW0xOTsgdHlwZWRlZiBQMjAgaXRlbTIwOyB0eXBlZGVmIFAyMSBpdGVtMjE7IHR5cGVkZWYgUDIyIGl0ZW0yMjsgdHlwZWRlZiBQMjMgaXRlbTIzOyB0eXBlZGVmIFAyNCBpdGVtMjQ7IHR5cGVkZWYgUDI1IGl0ZW0yNTsgdHlwZWRlZiBQMjYgaXRlbTI2OyB0eXBlZGVmIFAyNyBpdGVtMjc7IHR5cGVkZWYgUDI4IGl0ZW0yODsgdHlwZWRlZiBQMjkgaXRlbTI5OyB0eXBlZGVmIFAzMCBpdGVtMzA7IHR5cGVkZWYgUDMxIGl0ZW0zMTsgdHlwZWRlZiBQMzIgaXRlbTMyOyB0eXBlZGVmIFAzMyBpdGVtMzM7IHR5cGVkZWYgUDM0IGl0ZW0zNDsgdHlwZWRlZiBQMzUgaXRlbTM1OyB0eXBlZGVmIFAzNiBpdGVtMzY7IHR5cGVkZWYgUDM3IGl0ZW0zNzsgdHlwZWRlZiBQMzggaXRlbTM4OyB0eXBlZGVmIFAzOSBpdGVtMzk7IHR5cGVkZWYgUDQwIGl0ZW00MDsgdHlwZWRlZiBQNDEgaXRlbTQxOyB0eXBlZGVmIFA0MiBpdGVtNDI7IHR5cGVkZWYgUDQzIGl0ZW00MzsgdHlwZWRlZiBQNDQgaXRlbTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSA+IHN0cnVjdCB2ZWN0b3I0NiB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjQ2PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NT4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5ODsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ID4gc3RydWN0IHZlY3RvcjQ3IHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yNDc8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2PiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgUDQxIGl0ZW00MTsgdHlwZWRlZiBQNDIgaXRlbTQyOyB0eXBlZGVmIFA0MyBpdGVtNDM7IHR5cGVkZWYgUDQ0IGl0ZW00NDsgdHlwZWRlZiBQNDUgaXRlbTQ1OyB0eXBlZGVmIFA0NiBpdGVtNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgPiBzdHJ1Y3QgdmVjdG9yNDggeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3I0ODwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDc+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgUDMgaXRlbTM7IHR5cGVkZWYgUDQgaXRlbTQ7IHR5cGVkZWYgUDUgaXRlbTU7IHR5cGVkZWYgUDYgaXRlbTY7IHR5cGVkZWYgUDcgaXRlbTc7IHR5cGVkZWYgUDggaXRlbTg7IHR5cGVkZWYgUDkgaXRlbTk7IHR5cGVkZWYgUDEwIGl0ZW0xMDsgdHlwZWRlZiBQMTEgaXRlbTExOyB0eXBlZGVmIFAxMiBpdGVtMTI7IHR5cGVkZWYgUDEzIGl0ZW0xMzsgdHlwZWRlZiBQMTQgaXRlbTE0OyB0eXBlZGVmIFAxNSBpdGVtMTU7IHR5cGVkZWYgUDE2IGl0ZW0xNjsgdHlwZWRlZiBQMTcgaXRlbTE3OyB0eXBlZGVmIFAxOCBpdGVtMTg7IHR5cGVkZWYgUDE5IGl0ZW0xOTsgdHlwZWRlZiBQMjAgaXRlbTIwOyB0eXBlZGVmIFAyMSBpdGVtMjE7IHR5cGVkZWYgUDIyIGl0ZW0yMjsgdHlwZWRlZiBQMjMgaXRlbTIzOyB0eXBlZGVmIFAyNCBpdGVtMjQ7IHR5cGVkZWYgUDI1IGl0ZW0yNTsgdHlwZWRlZiBQMjYgaXRlbTI2OyB0eXBlZGVmIFAyNyBpdGVtMjc7IHR5cGVkZWYgUDI4IGl0ZW0yODsgdHlwZWRlZiBQMjkgaXRlbTI5OyB0eXBlZGVmIFAzMCBpdGVtMzA7IHR5cGVkZWYgUDMxIGl0ZW0zMTsgdHlwZWRlZiBQMzIgaXRlbTMyOyB0eXBlZGVmIFAzMyBpdGVtMzM7IHR5cGVkZWYgUDM0IGl0ZW0zNDsgdHlwZWRlZiBQMzUgaXRlbTM1OyB0eXBlZGVmIFAzNiBpdGVtMzY7IHR5cGVkZWYgUDM3IGl0ZW0zNzsgdHlwZWRlZiBQMzggaXRlbTM4OyB0eXBlZGVmIFAzOSBpdGVtMzk7IHR5cGVkZWYgUDQwIGl0ZW00MDsgdHlwZWRlZiBQNDEgaXRlbTQxOyB0eXBlZGVmIFA0MiBpdGVtNDI7IHR5cGVkZWYgUDQzIGl0ZW00MzsgdHlwZWRlZiBQNDQgaXRlbTQ0OyB0eXBlZGVmIFA0NSBpdGVtNDU7IHR5cGVkZWYgUDQ2IGl0ZW00NjsgdHlwZWRlZiBQNDcgaXRlbTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCA+IHN0cnVjdCB2ZWN0b3I0OSB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjQ5PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OD4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5ODsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ID4gc3RydWN0IHZlY3RvcjUwIHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yNTA8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5PiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgUDQxIGl0ZW00MTsgdHlwZWRlZiBQNDIgaXRlbTQyOyB0eXBlZGVmIFA0MyBpdGVtNDM7IHR5cGVkZWYgUDQ0IGl0ZW00NDsgdHlwZWRlZiBQNDUgaXRlbTQ1OyB0eXBlZGVmIFA0NiBpdGVtNDY7IHR5cGVkZWYgUDQ3IGl0ZW00NzsgdHlwZWRlZiBQNDggaXRlbTQ4OyB0eXBlZGVmIFA0OSBpdGVtNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgPiBzdHJ1Y3QgdmVjdG9yNTEgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3I1MTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTA+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgUDMgaXRlbTM7IHR5cGVkZWYgUDQgaXRlbTQ7IHR5cGVkZWYgUDUgaXRlbTU7IHR5cGVkZWYgUDYgaXRlbTY7IHR5cGVkZWYgUDcgaXRlbTc7IHR5cGVkZWYgUDggaXRlbTg7IHR5cGVkZWYgUDkgaXRlbTk7IHR5cGVkZWYgUDEwIGl0ZW0xMDsgdHlwZWRlZiBQMTEgaXRlbTExOyB0eXBlZGVmIFAxMiBpdGVtMTI7IHR5cGVkZWYgUDEzIGl0ZW0xMzsgdHlwZWRlZiBQMTQgaXRlbTE0OyB0eXBlZGVmIFAxNSBpdGVtMTU7IHR5cGVkZWYgUDE2IGl0ZW0xNjsgdHlwZWRlZiBQMTcgaXRlbTE3OyB0eXBlZGVmIFAxOCBpdGVtMTg7IHR5cGVkZWYgUDE5IGl0ZW0xOTsgdHlwZWRlZiBQMjAgaXRlbTIwOyB0eXBlZGVmIFAyMSBpdGVtMjE7IHR5cGVkZWYgUDIyIGl0ZW0yMjsgdHlwZWRlZiBQMjMgaXRlbTIzOyB0eXBlZGVmIFAyNCBpdGVtMjQ7IHR5cGVkZWYgUDI1IGl0ZW0yNTsgdHlwZWRlZiBQMjYgaXRlbTI2OyB0eXBlZGVmIFAyNyBpdGVtMjc7IHR5cGVkZWYgUDI4IGl0ZW0yODsgdHlwZWRlZiBQMjkgaXRlbTI5OyB0eXBlZGVmIFAzMCBpdGVtMzA7IHR5cGVkZWYgUDMxIGl0ZW0zMTsgdHlwZWRlZiBQMzIgaXRlbTMyOyB0eXBlZGVmIFAzMyBpdGVtMzM7IHR5cGVkZWYgUDM0IGl0ZW0zNDsgdHlwZWRlZiBQMzUgaXRlbTM1OyB0eXBlZGVmIFAzNiBpdGVtMzY7IHR5cGVkZWYgUDM3IGl0ZW0zNzsgdHlwZWRlZiBQMzggaXRlbTM4OyB0eXBlZGVmIFAzOSBpdGVtMzk7IHR5cGVkZWYgUDQwIGl0ZW00MDsgdHlwZWRlZiBQNDEgaXRlbTQxOyB0eXBlZGVmIFA0MiBpdGVtNDI7IHR5cGVkZWYgUDQzIGl0ZW00MzsgdHlwZWRlZiBQNDQgaXRlbTQ0OyB0eXBlZGVmIFA0NSBpdGVtNDU7IHR5cGVkZWYgUDQ2IGl0ZW00NjsgdHlwZWRlZiBQNDcgaXRlbTQ3OyB0eXBlZGVmIFA0OCBpdGVtNDg7IHR5cGVkZWYgUDQ5IGl0ZW00OTsgdHlwZWRlZiBQNTAgaXRlbTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSA+IHN0cnVjdCB2ZWN0b3I1MiB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjUyPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MT4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5ODsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyID4gc3RydWN0IHZlY3RvcjUzIHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yNTM8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyPiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgUDQxIGl0ZW00MTsgdHlwZWRlZiBQNDIgaXRlbTQyOyB0eXBlZGVmIFA0MyBpdGVtNDM7IHR5cGVkZWYgUDQ0IGl0ZW00NDsgdHlwZWRlZiBQNDUgaXRlbTQ1OyB0eXBlZGVmIFA0NiBpdGVtNDY7IHR5cGVkZWYgUDQ3IGl0ZW00NzsgdHlwZWRlZiBQNDggaXRlbTQ4OyB0eXBlZGVmIFA0OSBpdGVtNDk7IHR5cGVkZWYgUDUwIGl0ZW01MDsgdHlwZWRlZiBQNTEgaXRlbTUxOyB0eXBlZGVmIFA1MiBpdGVtNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgPiBzdHJ1Y3QgdmVjdG9yNTQgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3I1NDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTM+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgUDMgaXRlbTM7IHR5cGVkZWYgUDQgaXRlbTQ7IHR5cGVkZWYgUDUgaXRlbTU7IHR5cGVkZWYgUDYgaXRlbTY7IHR5cGVkZWYgUDcgaXRlbTc7IHR5cGVkZWYgUDggaXRlbTg7IHR5cGVkZWYgUDkgaXRlbTk7IHR5cGVkZWYgUDEwIGl0ZW0xMDsgdHlwZWRlZiBQMTEgaXRlbTExOyB0eXBlZGVmIFAxMiBpdGVtMTI7IHR5cGVkZWYgUDEzIGl0ZW0xMzsgdHlwZWRlZiBQMTQgaXRlbTE0OyB0eXBlZGVmIFAxNSBpdGVtMTU7IHR5cGVkZWYgUDE2IGl0ZW0xNjsgdHlwZWRlZiBQMTcgaXRlbTE3OyB0eXBlZGVmIFAxOCBpdGVtMTg7IHR5cGVkZWYgUDE5IGl0ZW0xOTsgdHlwZWRlZiBQMjAgaXRlbTIwOyB0eXBlZGVmIFAyMSBpdGVtMjE7IHR5cGVkZWYgUDIyIGl0ZW0yMjsgdHlwZWRlZiBQMjMgaXRlbTIzOyB0eXBlZGVmIFAyNCBpdGVtMjQ7IHR5cGVkZWYgUDI1IGl0ZW0yNTsgdHlwZWRlZiBQMjYgaXRlbTI2OyB0eXBlZGVmIFAyNyBpdGVtMjc7IHR5cGVkZWYgUDI4IGl0ZW0yODsgdHlwZWRlZiBQMjkgaXRlbTI5OyB0eXBlZGVmIFAzMCBpdGVtMzA7IHR5cGVkZWYgUDMxIGl0ZW0zMTsgdHlwZWRlZiBQMzIgaXRlbTMyOyB0eXBlZGVmIFAzMyBpdGVtMzM7IHR5cGVkZWYgUDM0IGl0ZW0zNDsgdHlwZWRlZiBQMzUgaXRlbTM1OyB0eXBlZGVmIFAzNiBpdGVtMzY7IHR5cGVkZWYgUDM3IGl0ZW0zNzsgdHlwZWRlZiBQMzggaXRlbTM4OyB0eXBlZGVmIFAzOSBpdGVtMzk7IHR5cGVkZWYgUDQwIGl0ZW00MDsgdHlwZWRlZiBQNDEgaXRlbTQxOyB0eXBlZGVmIFA0MiBpdGVtNDI7IHR5cGVkZWYgUDQzIGl0ZW00MzsgdHlwZWRlZiBQNDQgaXRlbTQ0OyB0eXBlZGVmIFA0NSBpdGVtNDU7IHR5cGVkZWYgUDQ2IGl0ZW00NjsgdHlwZWRlZiBQNDcgaXRlbTQ3OyB0eXBlZGVmIFA0OCBpdGVtNDg7IHR5cGVkZWYgUDQ5IGl0ZW00OTsgdHlwZWRlZiBQNTAgaXRlbTUwOyB0eXBlZGVmIFA1MSBpdGVtNTE7IHR5cGVkZWYgUDUyIGl0ZW01MjsgdHlwZWRlZiBQNTMgaXRlbTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCA+IHN0cnVjdCB2ZWN0b3I1NSB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjU1PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1ND4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5ODsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ID4gc3RydWN0IHZlY3RvcjU2IHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yNTY8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1PiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgUDQxIGl0ZW00MTsgdHlwZWRlZiBQNDIgaXRlbTQyOyB0eXBlZGVmIFA0MyBpdGVtNDM7IHR5cGVkZWYgUDQ0IGl0ZW00NDsgdHlwZWRlZiBQNDUgaXRlbTQ1OyB0eXBlZGVmIFA0NiBpdGVtNDY7IHR5cGVkZWYgUDQ3IGl0ZW00NzsgdHlwZWRlZiBQNDggaXRlbTQ4OyB0eXBlZGVmIFA0OSBpdGVtNDk7IHR5cGVkZWYgUDUwIGl0ZW01MDsgdHlwZWRlZiBQNTEgaXRlbTUxOyB0eXBlZGVmIFA1MiBpdGVtNTI7IHR5cGVkZWYgUDUzIGl0ZW01MzsgdHlwZWRlZiBQNTQgaXRlbTU0OyB0eXBlZGVmIFA1NSBpdGVtNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgPiBzdHJ1Y3QgdmVjdG9yNTcgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3I1NzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTY+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgUDMgaXRlbTM7IHR5cGVkZWYgUDQgaXRlbTQ7IHR5cGVkZWYgUDUgaXRlbTU7IHR5cGVkZWYgUDYgaXRlbTY7IHR5cGVkZWYgUDcgaXRlbTc7IHR5cGVkZWYgUDggaXRlbTg7IHR5cGVkZWYgUDkgaXRlbTk7IHR5cGVkZWYgUDEwIGl0ZW0xMDsgdHlwZWRlZiBQMTEgaXRlbTExOyB0eXBlZGVmIFAxMiBpdGVtMTI7IHR5cGVkZWYgUDEzIGl0ZW0xMzsgdHlwZWRlZiBQMTQgaXRlbTE0OyB0eXBlZGVmIFAxNSBpdGVtMTU7IHR5cGVkZWYgUDE2IGl0ZW0xNjsgdHlwZWRlZiBQMTcgaXRlbTE3OyB0eXBlZGVmIFAxOCBpdGVtMTg7IHR5cGVkZWYgUDE5IGl0ZW0xOTsgdHlwZWRlZiBQMjAgaXRlbTIwOyB0eXBlZGVmIFAyMSBpdGVtMjE7IHR5cGVkZWYgUDIyIGl0ZW0yMjsgdHlwZWRlZiBQMjMgaXRlbTIzOyB0eXBlZGVmIFAyNCBpdGVtMjQ7IHR5cGVkZWYgUDI1IGl0ZW0yNTsgdHlwZWRlZiBQMjYgaXRlbTI2OyB0eXBlZGVmIFAyNyBpdGVtMjc7IHR5cGVkZWYgUDI4IGl0ZW0yODsgdHlwZWRlZiBQMjkgaXRlbTI5OyB0eXBlZGVmIFAzMCBpdGVtMzA7IHR5cGVkZWYgUDMxIGl0ZW0zMTsgdHlwZWRlZiBQMzIgaXRlbTMyOyB0eXBlZGVmIFAzMyBpdGVtMzM7IHR5cGVkZWYgUDM0IGl0ZW0zNDsgdHlwZWRlZiBQMzUgaXRlbTM1OyB0eXBlZGVmIFAzNiBpdGVtMzY7IHR5cGVkZWYgUDM3IGl0ZW0zNzsgdHlwZWRlZiBQMzggaXRlbTM4OyB0eXBlZGVmIFAzOSBpdGVtMzk7IHR5cGVkZWYgUDQwIGl0ZW00MDsgdHlwZWRlZiBQNDEgaXRlbTQxOyB0eXBlZGVmIFA0MiBpdGVtNDI7IHR5cGVkZWYgUDQzIGl0ZW00MzsgdHlwZWRlZiBQNDQgaXRlbTQ0OyB0eXBlZGVmIFA0NSBpdGVtNDU7IHR5cGVkZWYgUDQ2IGl0ZW00NjsgdHlwZWRlZiBQNDcgaXRlbTQ3OyB0eXBlZGVmIFA0OCBpdGVtNDg7IHR5cGVkZWYgUDQ5IGl0ZW00OTsgdHlwZWRlZiBQNTAgaXRlbTUwOyB0eXBlZGVmIFA1MSBpdGVtNTE7IHR5cGVkZWYgUDUyIGl0ZW01MjsgdHlwZWRlZiBQNTMgaXRlbTUzOyB0eXBlZGVmIFA1NCBpdGVtNTQ7IHR5cGVkZWYgUDU1IGl0ZW01NTsgdHlwZWRlZiBQNTYgaXRlbTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyA+IHN0cnVjdCB2ZWN0b3I1OCB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjU4PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1Nz4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5ODsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ID4gc3RydWN0IHZlY3RvcjU5IHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yNTk8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4PiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgUDQxIGl0ZW00MTsgdHlwZWRlZiBQNDIgaXRlbTQyOyB0eXBlZGVmIFA0MyBpdGVtNDM7IHR5cGVkZWYgUDQ0IGl0ZW00NDsgdHlwZWRlZiBQNDUgaXRlbTQ1OyB0eXBlZGVmIFA0NiBpdGVtNDY7IHR5cGVkZWYgUDQ3IGl0ZW00NzsgdHlwZWRlZiBQNDggaXRlbTQ4OyB0eXBlZGVmIFA0OSBpdGVtNDk7IHR5cGVkZWYgUDUwIGl0ZW01MDsgdHlwZWRlZiBQNTEgaXRlbTUxOyB0eXBlZGVmIFA1MiBpdGVtNTI7IHR5cGVkZWYgUDUzIGl0ZW01MzsgdHlwZWRlZiBQNTQgaXRlbTU0OyB0eXBlZGVmIFA1NSBpdGVtNTU7IHR5cGVkZWYgUDU2IGl0ZW01NjsgdHlwZWRlZiBQNTcgaXRlbTU3OyB0eXBlZGVmIFA1OCBpdGVtNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgPiBzdHJ1Y3QgdmVjdG9yNjAgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3I2MDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTk+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgUDMgaXRlbTM7IHR5cGVkZWYgUDQgaXRlbTQ7IHR5cGVkZWYgUDUgaXRlbTU7IHR5cGVkZWYgUDYgaXRlbTY7IHR5cGVkZWYgUDcgaXRlbTc7IHR5cGVkZWYgUDggaXRlbTg7IHR5cGVkZWYgUDkgaXRlbTk7IHR5cGVkZWYgUDEwIGl0ZW0xMDsgdHlwZWRlZiBQMTEgaXRlbTExOyB0eXBlZGVmIFAxMiBpdGVtMTI7IHR5cGVkZWYgUDEzIGl0ZW0xMzsgdHlwZWRlZiBQMTQgaXRlbTE0OyB0eXBlZGVmIFAxNSBpdGVtMTU7IHR5cGVkZWYgUDE2IGl0ZW0xNjsgdHlwZWRlZiBQMTcgaXRlbTE3OyB0eXBlZGVmIFAxOCBpdGVtMTg7IHR5cGVkZWYgUDE5IGl0ZW0xOTsgdHlwZWRlZiBQMjAgaXRlbTIwOyB0eXBlZGVmIFAyMSBpdGVtMjE7IHR5cGVkZWYgUDIyIGl0ZW0yMjsgdHlwZWRlZiBQMjMgaXRlbTIzOyB0eXBlZGVmIFAyNCBpdGVtMjQ7IHR5cGVkZWYgUDI1IGl0ZW0yNTsgdHlwZWRlZiBQMjYgaXRlbTI2OyB0eXBlZGVmIFAyNyBpdGVtMjc7IHR5cGVkZWYgUDI4IGl0ZW0yODsgdHlwZWRlZiBQMjkgaXRlbTI5OyB0eXBlZGVmIFAzMCBpdGVtMzA7IHR5cGVkZWYgUDMxIGl0ZW0zMTsgdHlwZWRlZiBQMzIgaXRlbTMyOyB0eXBlZGVmIFAzMyBpdGVtMzM7IHR5cGVkZWYgUDM0IGl0ZW0zNDsgdHlwZWRlZiBQMzUgaXRlbTM1OyB0eXBlZGVmIFAzNiBpdGVtMzY7IHR5cGVkZWYgUDM3IGl0ZW0zNzsgdHlwZWRlZiBQMzggaXRlbTM4OyB0eXBlZGVmIFAzOSBpdGVtMzk7IHR5cGVkZWYgUDQwIGl0ZW00MDsgdHlwZWRlZiBQNDEgaXRlbTQxOyB0eXBlZGVmIFA0MiBpdGVtNDI7IHR5cGVkZWYgUDQzIGl0ZW00MzsgdHlwZWRlZiBQNDQgaXRlbTQ0OyB0eXBlZGVmIFA0NSBpdGVtNDU7IHR5cGVkZWYgUDQ2IGl0ZW00NjsgdHlwZWRlZiBQNDcgaXRlbTQ3OyB0eXBlZGVmIFA0OCBpdGVtNDg7IHR5cGVkZWYgUDQ5IGl0ZW00OTsgdHlwZWRlZiBQNTAgaXRlbTUwOyB0eXBlZGVmIFA1MSBpdGVtNTE7IHR5cGVkZWYgUDUyIGl0ZW01MjsgdHlwZWRlZiBQNTMgaXRlbTUzOyB0eXBlZGVmIFA1NCBpdGVtNTQ7IHR5cGVkZWYgUDU1IGl0ZW01NTsgdHlwZWRlZiBQNTYgaXRlbTU2OyB0eXBlZGVmIFA1NyBpdGVtNTc7IHR5cGVkZWYgUDU4IGl0ZW01ODsgdHlwZWRlZiBQNTkgaXRlbTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCA+IHN0cnVjdCB2ZWN0b3I2MSB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjYxPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MD4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5ODsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxID4gc3RydWN0IHZlY3RvcjYyIHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yNjI8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxPiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgUDQxIGl0ZW00MTsgdHlwZWRlZiBQNDIgaXRlbTQyOyB0eXBlZGVmIFA0MyBpdGVtNDM7IHR5cGVkZWYgUDQ0IGl0ZW00NDsgdHlwZWRlZiBQNDUgaXRlbTQ1OyB0eXBlZGVmIFA0NiBpdGVtNDY7IHR5cGVkZWYgUDQ3IGl0ZW00NzsgdHlwZWRlZiBQNDggaXRlbTQ4OyB0eXBlZGVmIFA0OSBpdGVtNDk7IHR5cGVkZWYgUDUwIGl0ZW01MDsgdHlwZWRlZiBQNTEgaXRlbTUxOyB0eXBlZGVmIFA1MiBpdGVtNTI7IHR5cGVkZWYgUDUzIGl0ZW01MzsgdHlwZWRlZiBQNTQgaXRlbTU0OyB0eXBlZGVmIFA1NSBpdGVtNTU7IHR5cGVkZWYgUDU2IGl0ZW01NjsgdHlwZWRlZiBQNTcgaXRlbTU3OyB0eXBlZGVmIFA1OCBpdGVtNTg7IHR5cGVkZWYgUDU5IGl0ZW01OTsgdHlwZWRlZiBQNjAgaXRlbTYwOyB0eXBlZGVmIFA2MSBpdGVtNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgPiBzdHJ1Y3QgdmVjdG9yNjMgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3I2MzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjI+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgUDMgaXRlbTM7IHR5cGVkZWYgUDQgaXRlbTQ7IHR5cGVkZWYgUDUgaXRlbTU7IHR5cGVkZWYgUDYgaXRlbTY7IHR5cGVkZWYgUDcgaXRlbTc7IHR5cGVkZWYgUDggaXRlbTg7IHR5cGVkZWYgUDkgaXRlbTk7IHR5cGVkZWYgUDEwIGl0ZW0xMDsgdHlwZWRlZiBQMTEgaXRlbTExOyB0eXBlZGVmIFAxMiBpdGVtMTI7IHR5cGVkZWYgUDEzIGl0ZW0xMzsgdHlwZWRlZiBQMTQgaXRlbTE0OyB0eXBlZGVmIFAxNSBpdGVtMTU7IHR5cGVkZWYgUDE2IGl0ZW0xNjsgdHlwZWRlZiBQMTcgaXRlbTE3OyB0eXBlZGVmIFAxOCBpdGVtMTg7IHR5cGVkZWYgUDE5IGl0ZW0xOTsgdHlwZWRlZiBQMjAgaXRlbTIwOyB0eXBlZGVmIFAyMSBpdGVtMjE7IHR5cGVkZWYgUDIyIGl0ZW0yMjsgdHlwZWRlZiBQMjMgaXRlbTIzOyB0eXBlZGVmIFAyNCBpdGVtMjQ7IHR5cGVkZWYgUDI1IGl0ZW0yNTsgdHlwZWRlZiBQMjYgaXRlbTI2OyB0eXBlZGVmIFAyNyBpdGVtMjc7IHR5cGVkZWYgUDI4IGl0ZW0yODsgdHlwZWRlZiBQMjkgaXRlbTI5OyB0eXBlZGVmIFAzMCBpdGVtMzA7IHR5cGVkZWYgUDMxIGl0ZW0zMTsgdHlwZWRlZiBQMzIgaXRlbTMyOyB0eXBlZGVmIFAzMyBpdGVtMzM7IHR5cGVkZWYgUDM0IGl0ZW0zNDsgdHlwZWRlZiBQMzUgaXRlbTM1OyB0eXBlZGVmIFAzNiBpdGVtMzY7IHR5cGVkZWYgUDM3IGl0ZW0zNzsgdHlwZWRlZiBQMzggaXRlbTM4OyB0eXBlZGVmIFAzOSBpdGVtMzk7IHR5cGVkZWYgUDQwIGl0ZW00MDsgdHlwZWRlZiBQNDEgaXRlbTQxOyB0eXBlZGVmIFA0MiBpdGVtNDI7IHR5cGVkZWYgUDQzIGl0ZW00MzsgdHlwZWRlZiBQNDQgaXRlbTQ0OyB0eXBlZGVmIFA0NSBpdGVtNDU7IHR5cGVkZWYgUDQ2IGl0ZW00NjsgdHlwZWRlZiBQNDcgaXRlbTQ3OyB0eXBlZGVmIFA0OCBpdGVtNDg7IHR5cGVkZWYgUDQ5IGl0ZW00OTsgdHlwZWRlZiBQNTAgaXRlbTUwOyB0eXBlZGVmIFA1MSBpdGVtNTE7IHR5cGVkZWYgUDUyIGl0ZW01MjsgdHlwZWRlZiBQNTMgaXRlbTUzOyB0eXBlZGVmIFA1NCBpdGVtNTQ7IHR5cGVkZWYgUDU1IGl0ZW01NTsgdHlwZWRlZiBQNTYgaXRlbTU2OyB0eXBlZGVmIFA1NyBpdGVtNTc7IHR5cGVkZWYgUDU4IGl0ZW01ODsgdHlwZWRlZiBQNTkgaXRlbTU5OyB0eXBlZGVmIFA2MCBpdGVtNjA7IHR5cGVkZWYgUDYxIGl0ZW02MTsgdHlwZWRlZiBQNjIgaXRlbTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyA+IHN0cnVjdCB2ZWN0b3I2NCB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjY0PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2Mz4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5ODsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ID4gc3RydWN0IHZlY3RvcjY1IHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yNjU8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0PiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgUDQxIGl0ZW00MTsgdHlwZWRlZiBQNDIgaXRlbTQyOyB0eXBlZGVmIFA0MyBpdGVtNDM7IHR5cGVkZWYgUDQ0IGl0ZW00NDsgdHlwZWRlZiBQNDUgaXRlbTQ1OyB0eXBlZGVmIFA0NiBpdGVtNDY7IHR5cGVkZWYgUDQ3IGl0ZW00NzsgdHlwZWRlZiBQNDggaXRlbTQ4OyB0eXBlZGVmIFA0OSBpdGVtNDk7IHR5cGVkZWYgUDUwIGl0ZW01MDsgdHlwZWRlZiBQNTEgaXRlbTUxOyB0eXBlZGVmIFA1MiBpdGVtNTI7IHR5cGVkZWYgUDUzIGl0ZW01MzsgdHlwZWRlZiBQNTQgaXRlbTU0OyB0eXBlZGVmIFA1NSBpdGVtNTU7IHR5cGVkZWYgUDU2IGl0ZW01NjsgdHlwZWRlZiBQNTcgaXRlbTU3OyB0eXBlZGVmIFA1OCBpdGVtNTg7IHR5cGVkZWYgUDU5IGl0ZW01OTsgdHlwZWRlZiBQNjAgaXRlbTYwOyB0eXBlZGVmIFA2MSBpdGVtNjE7IHR5cGVkZWYgUDYyIGl0ZW02MjsgdHlwZWRlZiBQNjMgaXRlbTYzOyB0eXBlZGVmIFA2NCBpdGVtNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgPiBzdHJ1Y3QgdmVjdG9yNjYgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3I2NjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjU+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgUDMgaXRlbTM7IHR5cGVkZWYgUDQgaXRlbTQ7IHR5cGVkZWYgUDUgaXRlbTU7IHR5cGVkZWYgUDYgaXRlbTY7IHR5cGVkZWYgUDcgaXRlbTc7IHR5cGVkZWYgUDggaXRlbTg7IHR5cGVkZWYgUDkgaXRlbTk7IHR5cGVkZWYgUDEwIGl0ZW0xMDsgdHlwZWRlZiBQMTEgaXRlbTExOyB0eXBlZGVmIFAxMiBpdGVtMTI7IHR5cGVkZWYgUDEzIGl0ZW0xMzsgdHlwZWRlZiBQMTQgaXRlbTE0OyB0eXBlZGVmIFAxNSBpdGVtMTU7IHR5cGVkZWYgUDE2IGl0ZW0xNjsgdHlwZWRlZiBQMTcgaXRlbTE3OyB0eXBlZGVmIFAxOCBpdGVtMTg7IHR5cGVkZWYgUDE5IGl0ZW0xOTsgdHlwZWRlZiBQMjAgaXRlbTIwOyB0eXBlZGVmIFAyMSBpdGVtMjE7IHR5cGVkZWYgUDIyIGl0ZW0yMjsgdHlwZWRlZiBQMjMgaXRlbTIzOyB0eXBlZGVmIFAyNCBpdGVtMjQ7IHR5cGVkZWYgUDI1IGl0ZW0yNTsgdHlwZWRlZiBQMjYgaXRlbTI2OyB0eXBlZGVmIFAyNyBpdGVtMjc7IHR5cGVkZWYgUDI4IGl0ZW0yODsgdHlwZWRlZiBQMjkgaXRlbTI5OyB0eXBlZGVmIFAzMCBpdGVtMzA7IHR5cGVkZWYgUDMxIGl0ZW0zMTsgdHlwZWRlZiBQMzIgaXRlbTMyOyB0eXBlZGVmIFAzMyBpdGVtMzM7IHR5cGVkZWYgUDM0IGl0ZW0zNDsgdHlwZWRlZiBQMzUgaXRlbTM1OyB0eXBlZGVmIFAzNiBpdGVtMzY7IHR5cGVkZWYgUDM3IGl0ZW0zNzsgdHlwZWRlZiBQMzggaXRlbTM4OyB0eXBlZGVmIFAzOSBpdGVtMzk7IHR5cGVkZWYgUDQwIGl0ZW00MDsgdHlwZWRlZiBQNDEgaXRlbTQxOyB0eXBlZGVmIFA0MiBpdGVtNDI7IHR5cGVkZWYgUDQzIGl0ZW00MzsgdHlwZWRlZiBQNDQgaXRlbTQ0OyB0eXBlZGVmIFA0NSBpdGVtNDU7IHR5cGVkZWYgUDQ2IGl0ZW00NjsgdHlwZWRlZiBQNDcgaXRlbTQ3OyB0eXBlZGVmIFA0OCBpdGVtNDg7IHR5cGVkZWYgUDQ5IGl0ZW00OTsgdHlwZWRlZiBQNTAgaXRlbTUwOyB0eXBlZGVmIFA1MSBpdGVtNTE7IHR5cGVkZWYgUDUyIGl0ZW01MjsgdHlwZWRlZiBQNTMgaXRlbTUzOyB0eXBlZGVmIFA1NCBpdGVtNTQ7IHR5cGVkZWYgUDU1IGl0ZW01NTsgdHlwZWRlZiBQNTYgaXRlbTU2OyB0eXBlZGVmIFA1NyBpdGVtNTc7IHR5cGVkZWYgUDU4IGl0ZW01ODsgdHlwZWRlZiBQNTkgaXRlbTU5OyB0eXBlZGVmIFA2MCBpdGVtNjA7IHR5cGVkZWYgUDYxIGl0ZW02MTsgdHlwZWRlZiBQNjIgaXRlbTYyOyB0eXBlZGVmIFA2MyBpdGVtNjM7IHR5cGVkZWYgUDY0IGl0ZW02NDsgdHlwZWRlZiBQNjUgaXRlbTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiA+IHN0cnVjdCB2ZWN0b3I2NyB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjY3PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2Nj4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5ODsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ID4gc3RydWN0IHZlY3RvcjY4IHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yNjg8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3PiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgUDQxIGl0ZW00MTsgdHlwZWRlZiBQNDIgaXRlbTQyOyB0eXBlZGVmIFA0MyBpdGVtNDM7IHR5cGVkZWYgUDQ0IGl0ZW00NDsgdHlwZWRlZiBQNDUgaXRlbTQ1OyB0eXBlZGVmIFA0NiBpdGVtNDY7IHR5cGVkZWYgUDQ3IGl0ZW00NzsgdHlwZWRlZiBQNDggaXRlbTQ4OyB0eXBlZGVmIFA0OSBpdGVtNDk7IHR5cGVkZWYgUDUwIGl0ZW01MDsgdHlwZWRlZiBQNTEgaXRlbTUxOyB0eXBlZGVmIFA1MiBpdGVtNTI7IHR5cGVkZWYgUDUzIGl0ZW01MzsgdHlwZWRlZiBQNTQgaXRlbTU0OyB0eXBlZGVmIFA1NSBpdGVtNTU7IHR5cGVkZWYgUDU2IGl0ZW01NjsgdHlwZWRlZiBQNTcgaXRlbTU3OyB0eXBlZGVmIFA1OCBpdGVtNTg7IHR5cGVkZWYgUDU5IGl0ZW01OTsgdHlwZWRlZiBQNjAgaXRlbTYwOyB0eXBlZGVmIFA2MSBpdGVtNjE7IHR5cGVkZWYgUDYyIGl0ZW02MjsgdHlwZWRlZiBQNjMgaXRlbTYzOyB0eXBlZGVmIFA2NCBpdGVtNjQ7IHR5cGVkZWYgUDY1IGl0ZW02NTsgdHlwZWRlZiBQNjYgaXRlbTY2OyB0eXBlZGVmIFA2NyBpdGVtNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggPiBzdHJ1Y3QgdmVjdG9yNjkgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3I2OTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjg+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgUDMgaXRlbTM7IHR5cGVkZWYgUDQgaXRlbTQ7IHR5cGVkZWYgUDUgaXRlbTU7IHR5cGVkZWYgUDYgaXRlbTY7IHR5cGVkZWYgUDcgaXRlbTc7IHR5cGVkZWYgUDggaXRlbTg7IHR5cGVkZWYgUDkgaXRlbTk7IHR5cGVkZWYgUDEwIGl0ZW0xMDsgdHlwZWRlZiBQMTEgaXRlbTExOyB0eXBlZGVmIFAxMiBpdGVtMTI7IHR5cGVkZWYgUDEzIGl0ZW0xMzsgdHlwZWRlZiBQMTQgaXRlbTE0OyB0eXBlZGVmIFAxNSBpdGVtMTU7IHR5cGVkZWYgUDE2IGl0ZW0xNjsgdHlwZWRlZiBQMTcgaXRlbTE3OyB0eXBlZGVmIFAxOCBpdGVtMTg7IHR5cGVkZWYgUDE5IGl0ZW0xOTsgdHlwZWRlZiBQMjAgaXRlbTIwOyB0eXBlZGVmIFAyMSBpdGVtMjE7IHR5cGVkZWYgUDIyIGl0ZW0yMjsgdHlwZWRlZiBQMjMgaXRlbTIzOyB0eXBlZGVmIFAyNCBpdGVtMjQ7IHR5cGVkZWYgUDI1IGl0ZW0yNTsgdHlwZWRlZiBQMjYgaXRlbTI2OyB0eXBlZGVmIFAyNyBpdGVtMjc7IHR5cGVkZWYgUDI4IGl0ZW0yODsgdHlwZWRlZiBQMjkgaXRlbTI5OyB0eXBlZGVmIFAzMCBpdGVtMzA7IHR5cGVkZWYgUDMxIGl0ZW0zMTsgdHlwZWRlZiBQMzIgaXRlbTMyOyB0eXBlZGVmIFAzMyBpdGVtMzM7IHR5cGVkZWYgUDM0IGl0ZW0zNDsgdHlwZWRlZiBQMzUgaXRlbTM1OyB0eXBlZGVmIFAzNiBpdGVtMzY7IHR5cGVkZWYgUDM3IGl0ZW0zNzsgdHlwZWRlZiBQMzggaXRlbTM4OyB0eXBlZGVmIFAzOSBpdGVtMzk7IHR5cGVkZWYgUDQwIGl0ZW00MDsgdHlwZWRlZiBQNDEgaXRlbTQxOyB0eXBlZGVmIFA0MiBpdGVtNDI7IHR5cGVkZWYgUDQzIGl0ZW00MzsgdHlwZWRlZiBQNDQgaXRlbTQ0OyB0eXBlZGVmIFA0NSBpdGVtNDU7IHR5cGVkZWYgUDQ2IGl0ZW00NjsgdHlwZWRlZiBQNDcgaXRlbTQ3OyB0eXBlZGVmIFA0OCBpdGVtNDg7IHR5cGVkZWYgUDQ5IGl0ZW00OTsgdHlwZWRlZiBQNTAgaXRlbTUwOyB0eXBlZGVmIFA1MSBpdGVtNTE7IHR5cGVkZWYgUDUyIGl0ZW01MjsgdHlwZWRlZiBQNTMgaXRlbTUzOyB0eXBlZGVmIFA1NCBpdGVtNTQ7IHR5cGVkZWYgUDU1IGl0ZW01NTsgdHlwZWRlZiBQNTYgaXRlbTU2OyB0eXBlZGVmIFA1NyBpdGVtNTc7IHR5cGVkZWYgUDU4IGl0ZW01ODsgdHlwZWRlZiBQNTkgaXRlbTU5OyB0eXBlZGVmIFA2MCBpdGVtNjA7IHR5cGVkZWYgUDYxIGl0ZW02MTsgdHlwZWRlZiBQNjIgaXRlbTYyOyB0eXBlZGVmIFA2MyBpdGVtNjM7IHR5cGVkZWYgUDY0IGl0ZW02NDsgdHlwZWRlZiBQNjUgaXRlbTY1OyB0eXBlZGVmIFA2NiBpdGVtNjY7IHR5cGVkZWYgUDY3IGl0ZW02NzsgdHlwZWRlZiBQNjggaXRlbTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSA+IHN0cnVjdCB2ZWN0b3I3MCB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjcwPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OT4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5ODsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwID4gc3RydWN0IHZlY3RvcjcxIHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yNzE8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwPiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgUDQxIGl0ZW00MTsgdHlwZWRlZiBQNDIgaXRlbTQyOyB0eXBlZGVmIFA0MyBpdGVtNDM7IHR5cGVkZWYgUDQ0IGl0ZW00NDsgdHlwZWRlZiBQNDUgaXRlbTQ1OyB0eXBlZGVmIFA0NiBpdGVtNDY7IHR5cGVkZWYgUDQ3IGl0ZW00NzsgdHlwZWRlZiBQNDggaXRlbTQ4OyB0eXBlZGVmIFA0OSBpdGVtNDk7IHR5cGVkZWYgUDUwIGl0ZW01MDsgdHlwZWRlZiBQNTEgaXRlbTUxOyB0eXBlZGVmIFA1MiBpdGVtNTI7IHR5cGVkZWYgUDUzIGl0ZW01MzsgdHlwZWRlZiBQNTQgaXRlbTU0OyB0eXBlZGVmIFA1NSBpdGVtNTU7IHR5cGVkZWYgUDU2IGl0ZW01NjsgdHlwZWRlZiBQNTcgaXRlbTU3OyB0eXBlZGVmIFA1OCBpdGVtNTg7IHR5cGVkZWYgUDU5IGl0ZW01OTsgdHlwZWRlZiBQNjAgaXRlbTYwOyB0eXBlZGVmIFA2MSBpdGVtNjE7IHR5cGVkZWYgUDYyIGl0ZW02MjsgdHlwZWRlZiBQNjMgaXRlbTYzOyB0eXBlZGVmIFA2NCBpdGVtNjQ7IHR5cGVkZWYgUDY1IGl0ZW02NTsgdHlwZWRlZiBQNjYgaXRlbTY2OyB0eXBlZGVmIFA2NyBpdGVtNjc7IHR5cGVkZWYgUDY4IGl0ZW02ODsgdHlwZWRlZiBQNjkgaXRlbTY5OyB0eXBlZGVmIFA3MCBpdGVtNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgPiBzdHJ1Y3QgdmVjdG9yNzIgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3I3MjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzE+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgUDMgaXRlbTM7IHR5cGVkZWYgUDQgaXRlbTQ7IHR5cGVkZWYgUDUgaXRlbTU7IHR5cGVkZWYgUDYgaXRlbTY7IHR5cGVkZWYgUDcgaXRlbTc7IHR5cGVkZWYgUDggaXRlbTg7IHR5cGVkZWYgUDkgaXRlbTk7IHR5cGVkZWYgUDEwIGl0ZW0xMDsgdHlwZWRlZiBQMTEgaXRlbTExOyB0eXBlZGVmIFAxMiBpdGVtMTI7IHR5cGVkZWYgUDEzIGl0ZW0xMzsgdHlwZWRlZiBQMTQgaXRlbTE0OyB0eXBlZGVmIFAxNSBpdGVtMTU7IHR5cGVkZWYgUDE2IGl0ZW0xNjsgdHlwZWRlZiBQMTcgaXRlbTE3OyB0eXBlZGVmIFAxOCBpdGVtMTg7IHR5cGVkZWYgUDE5IGl0ZW0xOTsgdHlwZWRlZiBQMjAgaXRlbTIwOyB0eXBlZGVmIFAyMSBpdGVtMjE7IHR5cGVkZWYgUDIyIGl0ZW0yMjsgdHlwZWRlZiBQMjMgaXRlbTIzOyB0eXBlZGVmIFAyNCBpdGVtMjQ7IHR5cGVkZWYgUDI1IGl0ZW0yNTsgdHlwZWRlZiBQMjYgaXRlbTI2OyB0eXBlZGVmIFAyNyBpdGVtMjc7IHR5cGVkZWYgUDI4IGl0ZW0yODsgdHlwZWRlZiBQMjkgaXRlbTI5OyB0eXBlZGVmIFAzMCBpdGVtMzA7IHR5cGVkZWYgUDMxIGl0ZW0zMTsgdHlwZWRlZiBQMzIgaXRlbTMyOyB0eXBlZGVmIFAzMyBpdGVtMzM7IHR5cGVkZWYgUDM0IGl0ZW0zNDsgdHlwZWRlZiBQMzUgaXRlbTM1OyB0eXBlZGVmIFAzNiBpdGVtMzY7IHR5cGVkZWYgUDM3IGl0ZW0zNzsgdHlwZWRlZiBQMzggaXRlbTM4OyB0eXBlZGVmIFAzOSBpdGVtMzk7IHR5cGVkZWYgUDQwIGl0ZW00MDsgdHlwZWRlZiBQNDEgaXRlbTQxOyB0eXBlZGVmIFA0MiBpdGVtNDI7IHR5cGVkZWYgUDQzIGl0ZW00MzsgdHlwZWRlZiBQNDQgaXRlbTQ0OyB0eXBlZGVmIFA0NSBpdGVtNDU7IHR5cGVkZWYgUDQ2IGl0ZW00NjsgdHlwZWRlZiBQNDcgaXRlbTQ3OyB0eXBlZGVmIFA0OCBpdGVtNDg7IHR5cGVkZWYgUDQ5IGl0ZW00OTsgdHlwZWRlZiBQNTAgaXRlbTUwOyB0eXBlZGVmIFA1MSBpdGVtNTE7IHR5cGVkZWYgUDUyIGl0ZW01MjsgdHlwZWRlZiBQNTMgaXRlbTUzOyB0eXBlZGVmIFA1NCBpdGVtNTQ7IHR5cGVkZWYgUDU1IGl0ZW01NTsgdHlwZWRlZiBQNTYgaXRlbTU2OyB0eXBlZGVmIFA1NyBpdGVtNTc7IHR5cGVkZWYgUDU4IGl0ZW01ODsgdHlwZWRlZiBQNTkgaXRlbTU5OyB0eXBlZGVmIFA2MCBpdGVtNjA7IHR5cGVkZWYgUDYxIGl0ZW02MTsgdHlwZWRlZiBQNjIgaXRlbTYyOyB0eXBlZGVmIFA2MyBpdGVtNjM7IHR5cGVkZWYgUDY0IGl0ZW02NDsgdHlwZWRlZiBQNjUgaXRlbTY1OyB0eXBlZGVmIFA2NiBpdGVtNjY7IHR5cGVkZWYgUDY3IGl0ZW02NzsgdHlwZWRlZiBQNjggaXRlbTY4OyB0eXBlZGVmIFA2OSBpdGVtNjk7IHR5cGVkZWYgUDcwIGl0ZW03MDsgdHlwZWRlZiBQNzEgaXRlbTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiA+IHN0cnVjdCB2ZWN0b3I3MyB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjczPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3Mj4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5ODsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczID4gc3RydWN0IHZlY3Rvcjc0IHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yNzQ8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczPiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgUDQxIGl0ZW00MTsgdHlwZWRlZiBQNDIgaXRlbTQyOyB0eXBlZGVmIFA0MyBpdGVtNDM7IHR5cGVkZWYgUDQ0IGl0ZW00NDsgdHlwZWRlZiBQNDUgaXRlbTQ1OyB0eXBlZGVmIFA0NiBpdGVtNDY7IHR5cGVkZWYgUDQ3IGl0ZW00NzsgdHlwZWRlZiBQNDggaXRlbTQ4OyB0eXBlZGVmIFA0OSBpdGVtNDk7IHR5cGVkZWYgUDUwIGl0ZW01MDsgdHlwZWRlZiBQNTEgaXRlbTUxOyB0eXBlZGVmIFA1MiBpdGVtNTI7IHR5cGVkZWYgUDUzIGl0ZW01MzsgdHlwZWRlZiBQNTQgaXRlbTU0OyB0eXBlZGVmIFA1NSBpdGVtNTU7IHR5cGVkZWYgUDU2IGl0ZW01NjsgdHlwZWRlZiBQNTcgaXRlbTU3OyB0eXBlZGVmIFA1OCBpdGVtNTg7IHR5cGVkZWYgUDU5IGl0ZW01OTsgdHlwZWRlZiBQNjAgaXRlbTYwOyB0eXBlZGVmIFA2MSBpdGVtNjE7IHR5cGVkZWYgUDYyIGl0ZW02MjsgdHlwZWRlZiBQNjMgaXRlbTYzOyB0eXBlZGVmIFA2NCBpdGVtNjQ7IHR5cGVkZWYgUDY1IGl0ZW02NTsgdHlwZWRlZiBQNjYgaXRlbTY2OyB0eXBlZGVmIFA2NyBpdGVtNjc7IHR5cGVkZWYgUDY4IGl0ZW02ODsgdHlwZWRlZiBQNjkgaXRlbTY5OyB0eXBlZGVmIFA3MCBpdGVtNzA7IHR5cGVkZWYgUDcxIGl0ZW03MTsgdHlwZWRlZiBQNzIgaXRlbTcyOyB0eXBlZGVmIFA3MyBpdGVtNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgPiBzdHJ1Y3QgdmVjdG9yNzUgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3I3NTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQ+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgUDMgaXRlbTM7IHR5cGVkZWYgUDQgaXRlbTQ7IHR5cGVkZWYgUDUgaXRlbTU7IHR5cGVkZWYgUDYgaXRlbTY7IHR5cGVkZWYgUDcgaXRlbTc7IHR5cGVkZWYgUDggaXRlbTg7IHR5cGVkZWYgUDkgaXRlbTk7IHR5cGVkZWYgUDEwIGl0ZW0xMDsgdHlwZWRlZiBQMTEgaXRlbTExOyB0eXBlZGVmIFAxMiBpdGVtMTI7IHR5cGVkZWYgUDEzIGl0ZW0xMzsgdHlwZWRlZiBQMTQgaXRlbTE0OyB0eXBlZGVmIFAxNSBpdGVtMTU7IHR5cGVkZWYgUDE2IGl0ZW0xNjsgdHlwZWRlZiBQMTcgaXRlbTE3OyB0eXBlZGVmIFAxOCBpdGVtMTg7IHR5cGVkZWYgUDE5IGl0ZW0xOTsgdHlwZWRlZiBQMjAgaXRlbTIwOyB0eXBlZGVmIFAyMSBpdGVtMjE7IHR5cGVkZWYgUDIyIGl0ZW0yMjsgdHlwZWRlZiBQMjMgaXRlbTIzOyB0eXBlZGVmIFAyNCBpdGVtMjQ7IHR5cGVkZWYgUDI1IGl0ZW0yNTsgdHlwZWRlZiBQMjYgaXRlbTI2OyB0eXBlZGVmIFAyNyBpdGVtMjc7IHR5cGVkZWYgUDI4IGl0ZW0yODsgdHlwZWRlZiBQMjkgaXRlbTI5OyB0eXBlZGVmIFAzMCBpdGVtMzA7IHR5cGVkZWYgUDMxIGl0ZW0zMTsgdHlwZWRlZiBQMzIgaXRlbTMyOyB0eXBlZGVmIFAzMyBpdGVtMzM7IHR5cGVkZWYgUDM0IGl0ZW0zNDsgdHlwZWRlZiBQMzUgaXRlbTM1OyB0eXBlZGVmIFAzNiBpdGVtMzY7IHR5cGVkZWYgUDM3IGl0ZW0zNzsgdHlwZWRlZiBQMzggaXRlbTM4OyB0eXBlZGVmIFAzOSBpdGVtMzk7IHR5cGVkZWYgUDQwIGl0ZW00MDsgdHlwZWRlZiBQNDEgaXRlbTQxOyB0eXBlZGVmIFA0MiBpdGVtNDI7IHR5cGVkZWYgUDQzIGl0ZW00MzsgdHlwZWRlZiBQNDQgaXRlbTQ0OyB0eXBlZGVmIFA0NSBpdGVtNDU7IHR5cGVkZWYgUDQ2IGl0ZW00NjsgdHlwZWRlZiBQNDcgaXRlbTQ3OyB0eXBlZGVmIFA0OCBpdGVtNDg7IHR5cGVkZWYgUDQ5IGl0ZW00OTsgdHlwZWRlZiBQNTAgaXRlbTUwOyB0eXBlZGVmIFA1MSBpdGVtNTE7IHR5cGVkZWYgUDUyIGl0ZW01MjsgdHlwZWRlZiBQNTMgaXRlbTUzOyB0eXBlZGVmIFA1NCBpdGVtNTQ7IHR5cGVkZWYgUDU1IGl0ZW01NTsgdHlwZWRlZiBQNTYgaXRlbTU2OyB0eXBlZGVmIFA1NyBpdGVtNTc7IHR5cGVkZWYgUDU4IGl0ZW01ODsgdHlwZWRlZiBQNTkgaXRlbTU5OyB0eXBlZGVmIFA2MCBpdGVtNjA7IHR5cGVkZWYgUDYxIGl0ZW02MTsgdHlwZWRlZiBQNjIgaXRlbTYyOyB0eXBlZGVmIFA2MyBpdGVtNjM7IHR5cGVkZWYgUDY0IGl0ZW02NDsgdHlwZWRlZiBQNjUgaXRlbTY1OyB0eXBlZGVmIFA2NiBpdGVtNjY7IHR5cGVkZWYgUDY3IGl0ZW02NzsgdHlwZWRlZiBQNjggaXRlbTY4OyB0eXBlZGVmIFA2OSBpdGVtNjk7IHR5cGVkZWYgUDcwIGl0ZW03MDsgdHlwZWRlZiBQNzEgaXRlbTcxOyB0eXBlZGVmIFA3MiBpdGVtNzI7IHR5cGVkZWYgUDczIGl0ZW03MzsgdHlwZWRlZiBQNzQgaXRlbTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSA+IHN0cnVjdCB2ZWN0b3I3NiB7IHR5cGVkZWYgdl9pdGVyPHZlY3Rvcjc2PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NT4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5ODsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ID4gc3RydWN0IHZlY3Rvcjc3IHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yNzc8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2PiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgUDQxIGl0ZW00MTsgdHlwZWRlZiBQNDIgaXRlbTQyOyB0eXBlZGVmIFA0MyBpdGVtNDM7IHR5cGVkZWYgUDQ0IGl0ZW00NDsgdHlwZWRlZiBQNDUgaXRlbTQ1OyB0eXBlZGVmIFA0NiBpdGVtNDY7IHR5cGVkZWYgUDQ3IGl0ZW00NzsgdHlwZWRlZiBQNDggaXRlbTQ4OyB0eXBlZGVmIFA0OSBpdGVtNDk7IHR5cGVkZWYgUDUwIGl0ZW01MDsgdHlwZWRlZiBQNTEgaXRlbTUxOyB0eXBlZGVmIFA1MiBpdGVtNTI7IHR5cGVkZWYgUDUzIGl0ZW01MzsgdHlwZWRlZiBQNTQgaXRlbTU0OyB0eXBlZGVmIFA1NSBpdGVtNTU7IHR5cGVkZWYgUDU2IGl0ZW01NjsgdHlwZWRlZiBQNTcgaXRlbTU3OyB0eXBlZGVmIFA1OCBpdGVtNTg7IHR5cGVkZWYgUDU5IGl0ZW01OTsgdHlwZWRlZiBQNjAgaXRlbTYwOyB0eXBlZGVmIFA2MSBpdGVtNjE7IHR5cGVkZWYgUDYyIGl0ZW02MjsgdHlwZWRlZiBQNjMgaXRlbTYzOyB0eXBlZGVmIFA2NCBpdGVtNjQ7IHR5cGVkZWYgUDY1IGl0ZW02NTsgdHlwZWRlZiBQNjYgaXRlbTY2OyB0eXBlZGVmIFA2NyBpdGVtNjc7IHR5cGVkZWYgUDY4IGl0ZW02ODsgdHlwZWRlZiBQNjkgaXRlbTY5OyB0eXBlZGVmIFA3MCBpdGVtNzA7IHR5cGVkZWYgUDcxIGl0ZW03MTsgdHlwZWRlZiBQNzIgaXRlbTcyOyB0eXBlZGVmIFA3MyBpdGVtNzM7IHR5cGVkZWYgUDc0IGl0ZW03NDsgdHlwZWRlZiBQNzUgaXRlbTc1OyB0eXBlZGVmIFA3NiBpdGVtNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgPiBzdHJ1Y3QgdmVjdG9yNzggeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3I3ODwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzc+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgUDMgaXRlbTM7IHR5cGVkZWYgUDQgaXRlbTQ7IHR5cGVkZWYgUDUgaXRlbTU7IHR5cGVkZWYgUDYgaXRlbTY7IHR5cGVkZWYgUDcgaXRlbTc7IHR5cGVkZWYgUDggaXRlbTg7IHR5cGVkZWYgUDkgaXRlbTk7IHR5cGVkZWYgUDEwIGl0ZW0xMDsgdHlwZWRlZiBQMTEgaXRlbTExOyB0eXBlZGVmIFAxMiBpdGVtMTI7IHR5cGVkZWYgUDEzIGl0ZW0xMzsgdHlwZWRlZiBQMTQgaXRlbTE0OyB0eXBlZGVmIFAxNSBpdGVtMTU7IHR5cGVkZWYgUDE2IGl0ZW0xNjsgdHlwZWRlZiBQMTcgaXRlbTE3OyB0eXBlZGVmIFAxOCBpdGVtMTg7IHR5cGVkZWYgUDE5IGl0ZW0xOTsgdHlwZWRlZiBQMjAgaXRlbTIwOyB0eXBlZGVmIFAyMSBpdGVtMjE7IHR5cGVkZWYgUDIyIGl0ZW0yMjsgdHlwZWRlZiBQMjMgaXRlbTIzOyB0eXBlZGVmIFAyNCBpdGVtMjQ7IHR5cGVkZWYgUDI1IGl0ZW0yNTsgdHlwZWRlZiBQMjYgaXRlbTI2OyB0eXBlZGVmIFAyNyBpdGVtMjc7IHR5cGVkZWYgUDI4IGl0ZW0yODsgdHlwZWRlZiBQMjkgaXRlbTI5OyB0eXBlZGVmIFAzMCBpdGVtMzA7IHR5cGVkZWYgUDMxIGl0ZW0zMTsgdHlwZWRlZiBQMzIgaXRlbTMyOyB0eXBlZGVmIFAzMyBpdGVtMzM7IHR5cGVkZWYgUDM0IGl0ZW0zNDsgdHlwZWRlZiBQMzUgaXRlbTM1OyB0eXBlZGVmIFAzNiBpdGVtMzY7IHR5cGVkZWYgUDM3IGl0ZW0zNzsgdHlwZWRlZiBQMzggaXRlbTM4OyB0eXBlZGVmIFAzOSBpdGVtMzk7IHR5cGVkZWYgUDQwIGl0ZW00MDsgdHlwZWRlZiBQNDEgaXRlbTQxOyB0eXBlZGVmIFA0MiBpdGVtNDI7IHR5cGVkZWYgUDQzIGl0ZW00MzsgdHlwZWRlZiBQNDQgaXRlbTQ0OyB0eXBlZGVmIFA0NSBpdGVtNDU7IHR5cGVkZWYgUDQ2IGl0ZW00NjsgdHlwZWRlZiBQNDcgaXRlbTQ3OyB0eXBlZGVmIFA0OCBpdGVtNDg7IHR5cGVkZWYgUDQ5IGl0ZW00OTsgdHlwZWRlZiBQNTAgaXRlbTUwOyB0eXBlZGVmIFA1MSBpdGVtNTE7IHR5cGVkZWYgUDUyIGl0ZW01MjsgdHlwZWRlZiBQNTMgaXRlbTUzOyB0eXBlZGVmIFA1NCBpdGVtNTQ7IHR5cGVkZWYgUDU1IGl0ZW01NTsgdHlwZWRlZiBQNTYgaXRlbTU2OyB0eXBlZGVmIFA1NyBpdGVtNTc7IHR5cGVkZWYgUDU4IGl0ZW01ODsgdHlwZWRlZiBQNTkgaXRlbTU5OyB0eXBlZGVmIFA2MCBpdGVtNjA7IHR5cGVkZWYgUDYxIGl0ZW02MTsgdHlwZWRlZiBQNjIgaXRlbTYyOyB0eXBlZGVmIFA2MyBpdGVtNjM7IHR5cGVkZWYgUDY0IGl0ZW02NDsgdHlwZWRlZiBQNjUgaXRlbTY1OyB0eXBlZGVmIFA2NiBpdGVtNjY7IHR5cGVkZWYgUDY3IGl0ZW02NzsgdHlwZWRlZiBQNjggaXRlbTY4OyB0eXBlZGVmIFA2OSBpdGVtNjk7IHR5cGVkZWYgUDcwIGl0ZW03MDsgdHlwZWRlZiBQNzEgaXRlbTcxOyB0eXBlZGVmIFA3MiBpdGVtNzI7IHR5cGVkZWYgUDczIGl0ZW03MzsgdHlwZWRlZiBQNzQgaXRlbTc0OyB0eXBlZGVmIFA3NSBpdGVtNzU7IHR5cGVkZWYgUDc2IGl0ZW03NjsgdHlwZWRlZiBQNzcgaXRlbTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCA+IHN0cnVjdCB2ZWN0b3I3OSB7IHR5cGVkZWYgdl9pdGVyPHZlY3Rvcjc5PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OD4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5ODsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ID4gc3RydWN0IHZlY3RvcjgwIHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yODA8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5PiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgUDQxIGl0ZW00MTsgdHlwZWRlZiBQNDIgaXRlbTQyOyB0eXBlZGVmIFA0MyBpdGVtNDM7IHR5cGVkZWYgUDQ0IGl0ZW00NDsgdHlwZWRlZiBQNDUgaXRlbTQ1OyB0eXBlZGVmIFA0NiBpdGVtNDY7IHR5cGVkZWYgUDQ3IGl0ZW00NzsgdHlwZWRlZiBQNDggaXRlbTQ4OyB0eXBlZGVmIFA0OSBpdGVtNDk7IHR5cGVkZWYgUDUwIGl0ZW01MDsgdHlwZWRlZiBQNTEgaXRlbTUxOyB0eXBlZGVmIFA1MiBpdGVtNTI7IHR5cGVkZWYgUDUzIGl0ZW01MzsgdHlwZWRlZiBQNTQgaXRlbTU0OyB0eXBlZGVmIFA1NSBpdGVtNTU7IHR5cGVkZWYgUDU2IGl0ZW01NjsgdHlwZWRlZiBQNTcgaXRlbTU3OyB0eXBlZGVmIFA1OCBpdGVtNTg7IHR5cGVkZWYgUDU5IGl0ZW01OTsgdHlwZWRlZiBQNjAgaXRlbTYwOyB0eXBlZGVmIFA2MSBpdGVtNjE7IHR5cGVkZWYgUDYyIGl0ZW02MjsgdHlwZWRlZiBQNjMgaXRlbTYzOyB0eXBlZGVmIFA2NCBpdGVtNjQ7IHR5cGVkZWYgUDY1IGl0ZW02NTsgdHlwZWRlZiBQNjYgaXRlbTY2OyB0eXBlZGVmIFA2NyBpdGVtNjc7IHR5cGVkZWYgUDY4IGl0ZW02ODsgdHlwZWRlZiBQNjkgaXRlbTY5OyB0eXBlZGVmIFA3MCBpdGVtNzA7IHR5cGVkZWYgUDcxIGl0ZW03MTsgdHlwZWRlZiBQNzIgaXRlbTcyOyB0eXBlZGVmIFA3MyBpdGVtNzM7IHR5cGVkZWYgUDc0IGl0ZW03NDsgdHlwZWRlZiBQNzUgaXRlbTc1OyB0eXBlZGVmIFA3NiBpdGVtNzY7IHR5cGVkZWYgUDc3IGl0ZW03NzsgdHlwZWRlZiBQNzggaXRlbTc4OyB0eXBlZGVmIFA3OSBpdGVtNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgPiBzdHJ1Y3QgdmVjdG9yODEgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3I4MTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODA+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgUDMgaXRlbTM7IHR5cGVkZWYgUDQgaXRlbTQ7IHR5cGVkZWYgUDUgaXRlbTU7IHR5cGVkZWYgUDYgaXRlbTY7IHR5cGVkZWYgUDcgaXRlbTc7IHR5cGVkZWYgUDggaXRlbTg7IHR5cGVkZWYgUDkgaXRlbTk7IHR5cGVkZWYgUDEwIGl0ZW0xMDsgdHlwZWRlZiBQMTEgaXRlbTExOyB0eXBlZGVmIFAxMiBpdGVtMTI7IHR5cGVkZWYgUDEzIGl0ZW0xMzsgdHlwZWRlZiBQMTQgaXRlbTE0OyB0eXBlZGVmIFAxNSBpdGVtMTU7IHR5cGVkZWYgUDE2IGl0ZW0xNjsgdHlwZWRlZiBQMTcgaXRlbTE3OyB0eXBlZGVmIFAxOCBpdGVtMTg7IHR5cGVkZWYgUDE5IGl0ZW0xOTsgdHlwZWRlZiBQMjAgaXRlbTIwOyB0eXBlZGVmIFAyMSBpdGVtMjE7IHR5cGVkZWYgUDIyIGl0ZW0yMjsgdHlwZWRlZiBQMjMgaXRlbTIzOyB0eXBlZGVmIFAyNCBpdGVtMjQ7IHR5cGVkZWYgUDI1IGl0ZW0yNTsgdHlwZWRlZiBQMjYgaXRlbTI2OyB0eXBlZGVmIFAyNyBpdGVtMjc7IHR5cGVkZWYgUDI4IGl0ZW0yODsgdHlwZWRlZiBQMjkgaXRlbTI5OyB0eXBlZGVmIFAzMCBpdGVtMzA7IHR5cGVkZWYgUDMxIGl0ZW0zMTsgdHlwZWRlZiBQMzIgaXRlbTMyOyB0eXBlZGVmIFAzMyBpdGVtMzM7IHR5cGVkZWYgUDM0IGl0ZW0zNDsgdHlwZWRlZiBQMzUgaXRlbTM1OyB0eXBlZGVmIFAzNiBpdGVtMzY7IHR5cGVkZWYgUDM3IGl0ZW0zNzsgdHlwZWRlZiBQMzggaXRlbTM4OyB0eXBlZGVmIFAzOSBpdGVtMzk7IHR5cGVkZWYgUDQwIGl0ZW00MDsgdHlwZWRlZiBQNDEgaXRlbTQxOyB0eXBlZGVmIFA0MiBpdGVtNDI7IHR5cGVkZWYgUDQzIGl0ZW00MzsgdHlwZWRlZiBQNDQgaXRlbTQ0OyB0eXBlZGVmIFA0NSBpdGVtNDU7IHR5cGVkZWYgUDQ2IGl0ZW00NjsgdHlwZWRlZiBQNDcgaXRlbTQ3OyB0eXBlZGVmIFA0OCBpdGVtNDg7IHR5cGVkZWYgUDQ5IGl0ZW00OTsgdHlwZWRlZiBQNTAgaXRlbTUwOyB0eXBlZGVmIFA1MSBpdGVtNTE7IHR5cGVkZWYgUDUyIGl0ZW01MjsgdHlwZWRlZiBQNTMgaXRlbTUzOyB0eXBlZGVmIFA1NCBpdGVtNTQ7IHR5cGVkZWYgUDU1IGl0ZW01NTsgdHlwZWRlZiBQNTYgaXRlbTU2OyB0eXBlZGVmIFA1NyBpdGVtNTc7IHR5cGVkZWYgUDU4IGl0ZW01ODsgdHlwZWRlZiBQNTkgaXRlbTU5OyB0eXBlZGVmIFA2MCBpdGVtNjA7IHR5cGVkZWYgUDYxIGl0ZW02MTsgdHlwZWRlZiBQNjIgaXRlbTYyOyB0eXBlZGVmIFA2MyBpdGVtNjM7IHR5cGVkZWYgUDY0IGl0ZW02NDsgdHlwZWRlZiBQNjUgaXRlbTY1OyB0eXBlZGVmIFA2NiBpdGVtNjY7IHR5cGVkZWYgUDY3IGl0ZW02NzsgdHlwZWRlZiBQNjggaXRlbTY4OyB0eXBlZGVmIFA2OSBpdGVtNjk7IHR5cGVkZWYgUDcwIGl0ZW03MDsgdHlwZWRlZiBQNzEgaXRlbTcxOyB0eXBlZGVmIFA3MiBpdGVtNzI7IHR5cGVkZWYgUDczIGl0ZW03MzsgdHlwZWRlZiBQNzQgaXRlbTc0OyB0eXBlZGVmIFA3NSBpdGVtNzU7IHR5cGVkZWYgUDc2IGl0ZW03NjsgdHlwZWRlZiBQNzcgaXRlbTc3OyB0eXBlZGVmIFA3OCBpdGVtNzg7IHR5cGVkZWYgUDc5IGl0ZW03OTsgdHlwZWRlZiBQODAgaXRlbTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSA+IHN0cnVjdCB2ZWN0b3I4MiB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjgyPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MT4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5ODsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyID4gc3RydWN0IHZlY3RvcjgzIHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yODM8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyPiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgUDQxIGl0ZW00MTsgdHlwZWRlZiBQNDIgaXRlbTQyOyB0eXBlZGVmIFA0MyBpdGVtNDM7IHR5cGVkZWYgUDQ0IGl0ZW00NDsgdHlwZWRlZiBQNDUgaXRlbTQ1OyB0eXBlZGVmIFA0NiBpdGVtNDY7IHR5cGVkZWYgUDQ3IGl0ZW00NzsgdHlwZWRlZiBQNDggaXRlbTQ4OyB0eXBlZGVmIFA0OSBpdGVtNDk7IHR5cGVkZWYgUDUwIGl0ZW01MDsgdHlwZWRlZiBQNTEgaXRlbTUxOyB0eXBlZGVmIFA1MiBpdGVtNTI7IHR5cGVkZWYgUDUzIGl0ZW01MzsgdHlwZWRlZiBQNTQgaXRlbTU0OyB0eXBlZGVmIFA1NSBpdGVtNTU7IHR5cGVkZWYgUDU2IGl0ZW01NjsgdHlwZWRlZiBQNTcgaXRlbTU3OyB0eXBlZGVmIFA1OCBpdGVtNTg7IHR5cGVkZWYgUDU5IGl0ZW01OTsgdHlwZWRlZiBQNjAgaXRlbTYwOyB0eXBlZGVmIFA2MSBpdGVtNjE7IHR5cGVkZWYgUDYyIGl0ZW02MjsgdHlwZWRlZiBQNjMgaXRlbTYzOyB0eXBlZGVmIFA2NCBpdGVtNjQ7IHR5cGVkZWYgUDY1IGl0ZW02NTsgdHlwZWRlZiBQNjYgaXRlbTY2OyB0eXBlZGVmIFA2NyBpdGVtNjc7IHR5cGVkZWYgUDY4IGl0ZW02ODsgdHlwZWRlZiBQNjkgaXRlbTY5OyB0eXBlZGVmIFA3MCBpdGVtNzA7IHR5cGVkZWYgUDcxIGl0ZW03MTsgdHlwZWRlZiBQNzIgaXRlbTcyOyB0eXBlZGVmIFA3MyBpdGVtNzM7IHR5cGVkZWYgUDc0IGl0ZW03NDsgdHlwZWRlZiBQNzUgaXRlbTc1OyB0eXBlZGVmIFA3NiBpdGVtNzY7IHR5cGVkZWYgUDc3IGl0ZW03NzsgdHlwZWRlZiBQNzggaXRlbTc4OyB0eXBlZGVmIFA3OSBpdGVtNzk7IHR5cGVkZWYgUDgwIGl0ZW04MDsgdHlwZWRlZiBQODEgaXRlbTgxOyB0eXBlZGVmIFA4MiBpdGVtODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgPiBzdHJ1Y3QgdmVjdG9yODQgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3I4NDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODM+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgUDMgaXRlbTM7IHR5cGVkZWYgUDQgaXRlbTQ7IHR5cGVkZWYgUDUgaXRlbTU7IHR5cGVkZWYgUDYgaXRlbTY7IHR5cGVkZWYgUDcgaXRlbTc7IHR5cGVkZWYgUDggaXRlbTg7IHR5cGVkZWYgUDkgaXRlbTk7IHR5cGVkZWYgUDEwIGl0ZW0xMDsgdHlwZWRlZiBQMTEgaXRlbTExOyB0eXBlZGVmIFAxMiBpdGVtMTI7IHR5cGVkZWYgUDEzIGl0ZW0xMzsgdHlwZWRlZiBQMTQgaXRlbTE0OyB0eXBlZGVmIFAxNSBpdGVtMTU7IHR5cGVkZWYgUDE2IGl0ZW0xNjsgdHlwZWRlZiBQMTcgaXRlbTE3OyB0eXBlZGVmIFAxOCBpdGVtMTg7IHR5cGVkZWYgUDE5IGl0ZW0xOTsgdHlwZWRlZiBQMjAgaXRlbTIwOyB0eXBlZGVmIFAyMSBpdGVtMjE7IHR5cGVkZWYgUDIyIGl0ZW0yMjsgdHlwZWRlZiBQMjMgaXRlbTIzOyB0eXBlZGVmIFAyNCBpdGVtMjQ7IHR5cGVkZWYgUDI1IGl0ZW0yNTsgdHlwZWRlZiBQMjYgaXRlbTI2OyB0eXBlZGVmIFAyNyBpdGVtMjc7IHR5cGVkZWYgUDI4IGl0ZW0yODsgdHlwZWRlZiBQMjkgaXRlbTI5OyB0eXBlZGVmIFAzMCBpdGVtMzA7IHR5cGVkZWYgUDMxIGl0ZW0zMTsgdHlwZWRlZiBQMzIgaXRlbTMyOyB0eXBlZGVmIFAzMyBpdGVtMzM7IHR5cGVkZWYgUDM0IGl0ZW0zNDsgdHlwZWRlZiBQMzUgaXRlbTM1OyB0eXBlZGVmIFAzNiBpdGVtMzY7IHR5cGVkZWYgUDM3IGl0ZW0zNzsgdHlwZWRlZiBQMzggaXRlbTM4OyB0eXBlZGVmIFAzOSBpdGVtMzk7IHR5cGVkZWYgUDQwIGl0ZW00MDsgdHlwZWRlZiBQNDEgaXRlbTQxOyB0eXBlZGVmIFA0MiBpdGVtNDI7IHR5cGVkZWYgUDQzIGl0ZW00MzsgdHlwZWRlZiBQNDQgaXRlbTQ0OyB0eXBlZGVmIFA0NSBpdGVtNDU7IHR5cGVkZWYgUDQ2IGl0ZW00NjsgdHlwZWRlZiBQNDcgaXRlbTQ3OyB0eXBlZGVmIFA0OCBpdGVtNDg7IHR5cGVkZWYgUDQ5IGl0ZW00OTsgdHlwZWRlZiBQNTAgaXRlbTUwOyB0eXBlZGVmIFA1MSBpdGVtNTE7IHR5cGVkZWYgUDUyIGl0ZW01MjsgdHlwZWRlZiBQNTMgaXRlbTUzOyB0eXBlZGVmIFA1NCBpdGVtNTQ7IHR5cGVkZWYgUDU1IGl0ZW01NTsgdHlwZWRlZiBQNTYgaXRlbTU2OyB0eXBlZGVmIFA1NyBpdGVtNTc7IHR5cGVkZWYgUDU4IGl0ZW01ODsgdHlwZWRlZiBQNTkgaXRlbTU5OyB0eXBlZGVmIFA2MCBpdGVtNjA7IHR5cGVkZWYgUDYxIGl0ZW02MTsgdHlwZWRlZiBQNjIgaXRlbTYyOyB0eXBlZGVmIFA2MyBpdGVtNjM7IHR5cGVkZWYgUDY0IGl0ZW02NDsgdHlwZWRlZiBQNjUgaXRlbTY1OyB0eXBlZGVmIFA2NiBpdGVtNjY7IHR5cGVkZWYgUDY3IGl0ZW02NzsgdHlwZWRlZiBQNjggaXRlbTY4OyB0eXBlZGVmIFA2OSBpdGVtNjk7IHR5cGVkZWYgUDcwIGl0ZW03MDsgdHlwZWRlZiBQNzEgaXRlbTcxOyB0eXBlZGVmIFA3MiBpdGVtNzI7IHR5cGVkZWYgUDczIGl0ZW03MzsgdHlwZWRlZiBQNzQgaXRlbTc0OyB0eXBlZGVmIFA3NSBpdGVtNzU7IHR5cGVkZWYgUDc2IGl0ZW03NjsgdHlwZWRlZiBQNzcgaXRlbTc3OyB0eXBlZGVmIFA3OCBpdGVtNzg7IHR5cGVkZWYgUDc5IGl0ZW03OTsgdHlwZWRlZiBQODAgaXRlbTgwOyB0eXBlZGVmIFA4MSBpdGVtODE7IHR5cGVkZWYgUDgyIGl0ZW04MjsgdHlwZWRlZiBQODMgaXRlbTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCA+IHN0cnVjdCB2ZWN0b3I4NSB7IHR5cGVkZWYgdl9pdGVyPHZlY3Rvcjg1PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4ND4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5ODsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ID4gc3RydWN0IHZlY3Rvcjg2IHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yODY8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1PiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgUDQxIGl0ZW00MTsgdHlwZWRlZiBQNDIgaXRlbTQyOyB0eXBlZGVmIFA0MyBpdGVtNDM7IHR5cGVkZWYgUDQ0IGl0ZW00NDsgdHlwZWRlZiBQNDUgaXRlbTQ1OyB0eXBlZGVmIFA0NiBpdGVtNDY7IHR5cGVkZWYgUDQ3IGl0ZW00NzsgdHlwZWRlZiBQNDggaXRlbTQ4OyB0eXBlZGVmIFA0OSBpdGVtNDk7IHR5cGVkZWYgUDUwIGl0ZW01MDsgdHlwZWRlZiBQNTEgaXRlbTUxOyB0eXBlZGVmIFA1MiBpdGVtNTI7IHR5cGVkZWYgUDUzIGl0ZW01MzsgdHlwZWRlZiBQNTQgaXRlbTU0OyB0eXBlZGVmIFA1NSBpdGVtNTU7IHR5cGVkZWYgUDU2IGl0ZW01NjsgdHlwZWRlZiBQNTcgaXRlbTU3OyB0eXBlZGVmIFA1OCBpdGVtNTg7IHR5cGVkZWYgUDU5IGl0ZW01OTsgdHlwZWRlZiBQNjAgaXRlbTYwOyB0eXBlZGVmIFA2MSBpdGVtNjE7IHR5cGVkZWYgUDYyIGl0ZW02MjsgdHlwZWRlZiBQNjMgaXRlbTYzOyB0eXBlZGVmIFA2NCBpdGVtNjQ7IHR5cGVkZWYgUDY1IGl0ZW02NTsgdHlwZWRlZiBQNjYgaXRlbTY2OyB0eXBlZGVmIFA2NyBpdGVtNjc7IHR5cGVkZWYgUDY4IGl0ZW02ODsgdHlwZWRlZiBQNjkgaXRlbTY5OyB0eXBlZGVmIFA3MCBpdGVtNzA7IHR5cGVkZWYgUDcxIGl0ZW03MTsgdHlwZWRlZiBQNzIgaXRlbTcyOyB0eXBlZGVmIFA3MyBpdGVtNzM7IHR5cGVkZWYgUDc0IGl0ZW03NDsgdHlwZWRlZiBQNzUgaXRlbTc1OyB0eXBlZGVmIFA3NiBpdGVtNzY7IHR5cGVkZWYgUDc3IGl0ZW03NzsgdHlwZWRlZiBQNzggaXRlbTc4OyB0eXBlZGVmIFA3OSBpdGVtNzk7IHR5cGVkZWYgUDgwIGl0ZW04MDsgdHlwZWRlZiBQODEgaXRlbTgxOyB0eXBlZGVmIFA4MiBpdGVtODI7IHR5cGVkZWYgUDgzIGl0ZW04MzsgdHlwZWRlZiBQODQgaXRlbTg0OyB0eXBlZGVmIFA4NSBpdGVtODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgPiBzdHJ1Y3QgdmVjdG9yODcgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3I4NzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODY+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgUDMgaXRlbTM7IHR5cGVkZWYgUDQgaXRlbTQ7IHR5cGVkZWYgUDUgaXRlbTU7IHR5cGVkZWYgUDYgaXRlbTY7IHR5cGVkZWYgUDcgaXRlbTc7IHR5cGVkZWYgUDggaXRlbTg7IHR5cGVkZWYgUDkgaXRlbTk7IHR5cGVkZWYgUDEwIGl0ZW0xMDsgdHlwZWRlZiBQMTEgaXRlbTExOyB0eXBlZGVmIFAxMiBpdGVtMTI7IHR5cGVkZWYgUDEzIGl0ZW0xMzsgdHlwZWRlZiBQMTQgaXRlbTE0OyB0eXBlZGVmIFAxNSBpdGVtMTU7IHR5cGVkZWYgUDE2IGl0ZW0xNjsgdHlwZWRlZiBQMTcgaXRlbTE3OyB0eXBlZGVmIFAxOCBpdGVtMTg7IHR5cGVkZWYgUDE5IGl0ZW0xOTsgdHlwZWRlZiBQMjAgaXRlbTIwOyB0eXBlZGVmIFAyMSBpdGVtMjE7IHR5cGVkZWYgUDIyIGl0ZW0yMjsgdHlwZWRlZiBQMjMgaXRlbTIzOyB0eXBlZGVmIFAyNCBpdGVtMjQ7IHR5cGVkZWYgUDI1IGl0ZW0yNTsgdHlwZWRlZiBQMjYgaXRlbTI2OyB0eXBlZGVmIFAyNyBpdGVtMjc7IHR5cGVkZWYgUDI4IGl0ZW0yODsgdHlwZWRlZiBQMjkgaXRlbTI5OyB0eXBlZGVmIFAzMCBpdGVtMzA7IHR5cGVkZWYgUDMxIGl0ZW0zMTsgdHlwZWRlZiBQMzIgaXRlbTMyOyB0eXBlZGVmIFAzMyBpdGVtMzM7IHR5cGVkZWYgUDM0IGl0ZW0zNDsgdHlwZWRlZiBQMzUgaXRlbTM1OyB0eXBlZGVmIFAzNiBpdGVtMzY7IHR5cGVkZWYgUDM3IGl0ZW0zNzsgdHlwZWRlZiBQMzggaXRlbTM4OyB0eXBlZGVmIFAzOSBpdGVtMzk7IHR5cGVkZWYgUDQwIGl0ZW00MDsgdHlwZWRlZiBQNDEgaXRlbTQxOyB0eXBlZGVmIFA0MiBpdGVtNDI7IHR5cGVkZWYgUDQzIGl0ZW00MzsgdHlwZWRlZiBQNDQgaXRlbTQ0OyB0eXBlZGVmIFA0NSBpdGVtNDU7IHR5cGVkZWYgUDQ2IGl0ZW00NjsgdHlwZWRlZiBQNDcgaXRlbTQ3OyB0eXBlZGVmIFA0OCBpdGVtNDg7IHR5cGVkZWYgUDQ5IGl0ZW00OTsgdHlwZWRlZiBQNTAgaXRlbTUwOyB0eXBlZGVmIFA1MSBpdGVtNTE7IHR5cGVkZWYgUDUyIGl0ZW01MjsgdHlwZWRlZiBQNTMgaXRlbTUzOyB0eXBlZGVmIFA1NCBpdGVtNTQ7IHR5cGVkZWYgUDU1IGl0ZW01NTsgdHlwZWRlZiBQNTYgaXRlbTU2OyB0eXBlZGVmIFA1NyBpdGVtNTc7IHR5cGVkZWYgUDU4IGl0ZW01ODsgdHlwZWRlZiBQNTkgaXRlbTU5OyB0eXBlZGVmIFA2MCBpdGVtNjA7IHR5cGVkZWYgUDYxIGl0ZW02MTsgdHlwZWRlZiBQNjIgaXRlbTYyOyB0eXBlZGVmIFA2MyBpdGVtNjM7IHR5cGVkZWYgUDY0IGl0ZW02NDsgdHlwZWRlZiBQNjUgaXRlbTY1OyB0eXBlZGVmIFA2NiBpdGVtNjY7IHR5cGVkZWYgUDY3IGl0ZW02NzsgdHlwZWRlZiBQNjggaXRlbTY4OyB0eXBlZGVmIFA2OSBpdGVtNjk7IHR5cGVkZWYgUDcwIGl0ZW03MDsgdHlwZWRlZiBQNzEgaXRlbTcxOyB0eXBlZGVmIFA3MiBpdGVtNzI7IHR5cGVkZWYgUDczIGl0ZW03MzsgdHlwZWRlZiBQNzQgaXRlbTc0OyB0eXBlZGVmIFA3NSBpdGVtNzU7IHR5cGVkZWYgUDc2IGl0ZW03NjsgdHlwZWRlZiBQNzcgaXRlbTc3OyB0eXBlZGVmIFA3OCBpdGVtNzg7IHR5cGVkZWYgUDc5IGl0ZW03OTsgdHlwZWRlZiBQODAgaXRlbTgwOyB0eXBlZGVmIFA4MSBpdGVtODE7IHR5cGVkZWYgUDgyIGl0ZW04MjsgdHlwZWRlZiBQODMgaXRlbTgzOyB0eXBlZGVmIFA4NCBpdGVtODQ7IHR5cGVkZWYgUDg1IGl0ZW04NTsgdHlwZWRlZiBQODYgaXRlbTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSAsIGNsYXNzIFA4NiAsIGNsYXNzIFA4NyA+IHN0cnVjdCB2ZWN0b3I4OCB7IHR5cGVkZWYgdl9pdGVyPHZlY3Rvcjg4PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4Nz4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5ODsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ID4gc3RydWN0IHZlY3Rvcjg5IHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yODk8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4PiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgUDQxIGl0ZW00MTsgdHlwZWRlZiBQNDIgaXRlbTQyOyB0eXBlZGVmIFA0MyBpdGVtNDM7IHR5cGVkZWYgUDQ0IGl0ZW00NDsgdHlwZWRlZiBQNDUgaXRlbTQ1OyB0eXBlZGVmIFA0NiBpdGVtNDY7IHR5cGVkZWYgUDQ3IGl0ZW00NzsgdHlwZWRlZiBQNDggaXRlbTQ4OyB0eXBlZGVmIFA0OSBpdGVtNDk7IHR5cGVkZWYgUDUwIGl0ZW01MDsgdHlwZWRlZiBQNTEgaXRlbTUxOyB0eXBlZGVmIFA1MiBpdGVtNTI7IHR5cGVkZWYgUDUzIGl0ZW01MzsgdHlwZWRlZiBQNTQgaXRlbTU0OyB0eXBlZGVmIFA1NSBpdGVtNTU7IHR5cGVkZWYgUDU2IGl0ZW01NjsgdHlwZWRlZiBQNTcgaXRlbTU3OyB0eXBlZGVmIFA1OCBpdGVtNTg7IHR5cGVkZWYgUDU5IGl0ZW01OTsgdHlwZWRlZiBQNjAgaXRlbTYwOyB0eXBlZGVmIFA2MSBpdGVtNjE7IHR5cGVkZWYgUDYyIGl0ZW02MjsgdHlwZWRlZiBQNjMgaXRlbTYzOyB0eXBlZGVmIFA2NCBpdGVtNjQ7IHR5cGVkZWYgUDY1IGl0ZW02NTsgdHlwZWRlZiBQNjYgaXRlbTY2OyB0eXBlZGVmIFA2NyBpdGVtNjc7IHR5cGVkZWYgUDY4IGl0ZW02ODsgdHlwZWRlZiBQNjkgaXRlbTY5OyB0eXBlZGVmIFA3MCBpdGVtNzA7IHR5cGVkZWYgUDcxIGl0ZW03MTsgdHlwZWRlZiBQNzIgaXRlbTcyOyB0eXBlZGVmIFA3MyBpdGVtNzM7IHR5cGVkZWYgUDc0IGl0ZW03NDsgdHlwZWRlZiBQNzUgaXRlbTc1OyB0eXBlZGVmIFA3NiBpdGVtNzY7IHR5cGVkZWYgUDc3IGl0ZW03NzsgdHlwZWRlZiBQNzggaXRlbTc4OyB0eXBlZGVmIFA3OSBpdGVtNzk7IHR5cGVkZWYgUDgwIGl0ZW04MDsgdHlwZWRlZiBQODEgaXRlbTgxOyB0eXBlZGVmIFA4MiBpdGVtODI7IHR5cGVkZWYgUDgzIGl0ZW04MzsgdHlwZWRlZiBQODQgaXRlbTg0OyB0eXBlZGVmIFA4NSBpdGVtODU7IHR5cGVkZWYgUDg2IGl0ZW04NjsgdHlwZWRlZiBQODcgaXRlbTg3OyB0eXBlZGVmIFA4OCBpdGVtODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgPiBzdHJ1Y3QgdmVjdG9yOTAgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3I5MDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODk+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgUDMgaXRlbTM7IHR5cGVkZWYgUDQgaXRlbTQ7IHR5cGVkZWYgUDUgaXRlbTU7IHR5cGVkZWYgUDYgaXRlbTY7IHR5cGVkZWYgUDcgaXRlbTc7IHR5cGVkZWYgUDggaXRlbTg7IHR5cGVkZWYgUDkgaXRlbTk7IHR5cGVkZWYgUDEwIGl0ZW0xMDsgdHlwZWRlZiBQMTEgaXRlbTExOyB0eXBlZGVmIFAxMiBpdGVtMTI7IHR5cGVkZWYgUDEzIGl0ZW0xMzsgdHlwZWRlZiBQMTQgaXRlbTE0OyB0eXBlZGVmIFAxNSBpdGVtMTU7IHR5cGVkZWYgUDE2IGl0ZW0xNjsgdHlwZWRlZiBQMTcgaXRlbTE3OyB0eXBlZGVmIFAxOCBpdGVtMTg7IHR5cGVkZWYgUDE5IGl0ZW0xOTsgdHlwZWRlZiBQMjAgaXRlbTIwOyB0eXBlZGVmIFAyMSBpdGVtMjE7IHR5cGVkZWYgUDIyIGl0ZW0yMjsgdHlwZWRlZiBQMjMgaXRlbTIzOyB0eXBlZGVmIFAyNCBpdGVtMjQ7IHR5cGVkZWYgUDI1IGl0ZW0yNTsgdHlwZWRlZiBQMjYgaXRlbTI2OyB0eXBlZGVmIFAyNyBpdGVtMjc7IHR5cGVkZWYgUDI4IGl0ZW0yODsgdHlwZWRlZiBQMjkgaXRlbTI5OyB0eXBlZGVmIFAzMCBpdGVtMzA7IHR5cGVkZWYgUDMxIGl0ZW0zMTsgdHlwZWRlZiBQMzIgaXRlbTMyOyB0eXBlZGVmIFAzMyBpdGVtMzM7IHR5cGVkZWYgUDM0IGl0ZW0zNDsgdHlwZWRlZiBQMzUgaXRlbTM1OyB0eXBlZGVmIFAzNiBpdGVtMzY7IHR5cGVkZWYgUDM3IGl0ZW0zNzsgdHlwZWRlZiBQMzggaXRlbTM4OyB0eXBlZGVmIFAzOSBpdGVtMzk7IHR5cGVkZWYgUDQwIGl0ZW00MDsgdHlwZWRlZiBQNDEgaXRlbTQxOyB0eXBlZGVmIFA0MiBpdGVtNDI7IHR5cGVkZWYgUDQzIGl0ZW00MzsgdHlwZWRlZiBQNDQgaXRlbTQ0OyB0eXBlZGVmIFA0NSBpdGVtNDU7IHR5cGVkZWYgUDQ2IGl0ZW00NjsgdHlwZWRlZiBQNDcgaXRlbTQ3OyB0eXBlZGVmIFA0OCBpdGVtNDg7IHR5cGVkZWYgUDQ5IGl0ZW00OTsgdHlwZWRlZiBQNTAgaXRlbTUwOyB0eXBlZGVmIFA1MSBpdGVtNTE7IHR5cGVkZWYgUDUyIGl0ZW01MjsgdHlwZWRlZiBQNTMgaXRlbTUzOyB0eXBlZGVmIFA1NCBpdGVtNTQ7IHR5cGVkZWYgUDU1IGl0ZW01NTsgdHlwZWRlZiBQNTYgaXRlbTU2OyB0eXBlZGVmIFA1NyBpdGVtNTc7IHR5cGVkZWYgUDU4IGl0ZW01ODsgdHlwZWRlZiBQNTkgaXRlbTU5OyB0eXBlZGVmIFA2MCBpdGVtNjA7IHR5cGVkZWYgUDYxIGl0ZW02MTsgdHlwZWRlZiBQNjIgaXRlbTYyOyB0eXBlZGVmIFA2MyBpdGVtNjM7IHR5cGVkZWYgUDY0IGl0ZW02NDsgdHlwZWRlZiBQNjUgaXRlbTY1OyB0eXBlZGVmIFA2NiBpdGVtNjY7IHR5cGVkZWYgUDY3IGl0ZW02NzsgdHlwZWRlZiBQNjggaXRlbTY4OyB0eXBlZGVmIFA2OSBpdGVtNjk7IHR5cGVkZWYgUDcwIGl0ZW03MDsgdHlwZWRlZiBQNzEgaXRlbTcxOyB0eXBlZGVmIFA3MiBpdGVtNzI7IHR5cGVkZWYgUDczIGl0ZW03MzsgdHlwZWRlZiBQNzQgaXRlbTc0OyB0eXBlZGVmIFA3NSBpdGVtNzU7IHR5cGVkZWYgUDc2IGl0ZW03NjsgdHlwZWRlZiBQNzcgaXRlbTc3OyB0eXBlZGVmIFA3OCBpdGVtNzg7IHR5cGVkZWYgUDc5IGl0ZW03OTsgdHlwZWRlZiBQODAgaXRlbTgwOyB0eXBlZGVmIFA4MSBpdGVtODE7IHR5cGVkZWYgUDgyIGl0ZW04MjsgdHlwZWRlZiBQODMgaXRlbTgzOyB0eXBlZGVmIFA4NCBpdGVtODQ7IHR5cGVkZWYgUDg1IGl0ZW04NTsgdHlwZWRlZiBQODYgaXRlbTg2OyB0eXBlZGVmIFA4NyBpdGVtODc7IHR5cGVkZWYgUDg4IGl0ZW04ODsgdHlwZWRlZiBQODkgaXRlbTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSAsIGNsYXNzIFA4NiAsIGNsYXNzIFA4NyAsIGNsYXNzIFA4OCAsIGNsYXNzIFA4OSAsIGNsYXNzIFA5MCA+IHN0cnVjdCB2ZWN0b3I5MSB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjkxPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MD4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBQODggaXRlbTg4OyB0eXBlZGVmIFA4OSBpdGVtODk7IHR5cGVkZWYgUDkwIGl0ZW05MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5ODsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxID4gc3RydWN0IHZlY3RvcjkyIHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yOTI8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxPiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgUDQxIGl0ZW00MTsgdHlwZWRlZiBQNDIgaXRlbTQyOyB0eXBlZGVmIFA0MyBpdGVtNDM7IHR5cGVkZWYgUDQ0IGl0ZW00NDsgdHlwZWRlZiBQNDUgaXRlbTQ1OyB0eXBlZGVmIFA0NiBpdGVtNDY7IHR5cGVkZWYgUDQ3IGl0ZW00NzsgdHlwZWRlZiBQNDggaXRlbTQ4OyB0eXBlZGVmIFA0OSBpdGVtNDk7IHR5cGVkZWYgUDUwIGl0ZW01MDsgdHlwZWRlZiBQNTEgaXRlbTUxOyB0eXBlZGVmIFA1MiBpdGVtNTI7IHR5cGVkZWYgUDUzIGl0ZW01MzsgdHlwZWRlZiBQNTQgaXRlbTU0OyB0eXBlZGVmIFA1NSBpdGVtNTU7IHR5cGVkZWYgUDU2IGl0ZW01NjsgdHlwZWRlZiBQNTcgaXRlbTU3OyB0eXBlZGVmIFA1OCBpdGVtNTg7IHR5cGVkZWYgUDU5IGl0ZW01OTsgdHlwZWRlZiBQNjAgaXRlbTYwOyB0eXBlZGVmIFA2MSBpdGVtNjE7IHR5cGVkZWYgUDYyIGl0ZW02MjsgdHlwZWRlZiBQNjMgaXRlbTYzOyB0eXBlZGVmIFA2NCBpdGVtNjQ7IHR5cGVkZWYgUDY1IGl0ZW02NTsgdHlwZWRlZiBQNjYgaXRlbTY2OyB0eXBlZGVmIFA2NyBpdGVtNjc7IHR5cGVkZWYgUDY4IGl0ZW02ODsgdHlwZWRlZiBQNjkgaXRlbTY5OyB0eXBlZGVmIFA3MCBpdGVtNzA7IHR5cGVkZWYgUDcxIGl0ZW03MTsgdHlwZWRlZiBQNzIgaXRlbTcyOyB0eXBlZGVmIFA3MyBpdGVtNzM7IHR5cGVkZWYgUDc0IGl0ZW03NDsgdHlwZWRlZiBQNzUgaXRlbTc1OyB0eXBlZGVmIFA3NiBpdGVtNzY7IHR5cGVkZWYgUDc3IGl0ZW03NzsgdHlwZWRlZiBQNzggaXRlbTc4OyB0eXBlZGVmIFA3OSBpdGVtNzk7IHR5cGVkZWYgUDgwIGl0ZW04MDsgdHlwZWRlZiBQODEgaXRlbTgxOyB0eXBlZGVmIFA4MiBpdGVtODI7IHR5cGVkZWYgUDgzIGl0ZW04MzsgdHlwZWRlZiBQODQgaXRlbTg0OyB0eXBlZGVmIFA4NSBpdGVtODU7IHR5cGVkZWYgUDg2IGl0ZW04NjsgdHlwZWRlZiBQODcgaXRlbTg3OyB0eXBlZGVmIFA4OCBpdGVtODg7IHR5cGVkZWYgUDg5IGl0ZW04OTsgdHlwZWRlZiBQOTAgaXRlbTkwOyB0eXBlZGVmIFA5MSBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgPiBzdHJ1Y3QgdmVjdG9yOTMgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3I5MzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTI+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgUDMgaXRlbTM7IHR5cGVkZWYgUDQgaXRlbTQ7IHR5cGVkZWYgUDUgaXRlbTU7IHR5cGVkZWYgUDYgaXRlbTY7IHR5cGVkZWYgUDcgaXRlbTc7IHR5cGVkZWYgUDggaXRlbTg7IHR5cGVkZWYgUDkgaXRlbTk7IHR5cGVkZWYgUDEwIGl0ZW0xMDsgdHlwZWRlZiBQMTEgaXRlbTExOyB0eXBlZGVmIFAxMiBpdGVtMTI7IHR5cGVkZWYgUDEzIGl0ZW0xMzsgdHlwZWRlZiBQMTQgaXRlbTE0OyB0eXBlZGVmIFAxNSBpdGVtMTU7IHR5cGVkZWYgUDE2IGl0ZW0xNjsgdHlwZWRlZiBQMTcgaXRlbTE3OyB0eXBlZGVmIFAxOCBpdGVtMTg7IHR5cGVkZWYgUDE5IGl0ZW0xOTsgdHlwZWRlZiBQMjAgaXRlbTIwOyB0eXBlZGVmIFAyMSBpdGVtMjE7IHR5cGVkZWYgUDIyIGl0ZW0yMjsgdHlwZWRlZiBQMjMgaXRlbTIzOyB0eXBlZGVmIFAyNCBpdGVtMjQ7IHR5cGVkZWYgUDI1IGl0ZW0yNTsgdHlwZWRlZiBQMjYgaXRlbTI2OyB0eXBlZGVmIFAyNyBpdGVtMjc7IHR5cGVkZWYgUDI4IGl0ZW0yODsgdHlwZWRlZiBQMjkgaXRlbTI5OyB0eXBlZGVmIFAzMCBpdGVtMzA7IHR5cGVkZWYgUDMxIGl0ZW0zMTsgdHlwZWRlZiBQMzIgaXRlbTMyOyB0eXBlZGVmIFAzMyBpdGVtMzM7IHR5cGVkZWYgUDM0IGl0ZW0zNDsgdHlwZWRlZiBQMzUgaXRlbTM1OyB0eXBlZGVmIFAzNiBpdGVtMzY7IHR5cGVkZWYgUDM3IGl0ZW0zNzsgdHlwZWRlZiBQMzggaXRlbTM4OyB0eXBlZGVmIFAzOSBpdGVtMzk7IHR5cGVkZWYgUDQwIGl0ZW00MDsgdHlwZWRlZiBQNDEgaXRlbTQxOyB0eXBlZGVmIFA0MiBpdGVtNDI7IHR5cGVkZWYgUDQzIGl0ZW00MzsgdHlwZWRlZiBQNDQgaXRlbTQ0OyB0eXBlZGVmIFA0NSBpdGVtNDU7IHR5cGVkZWYgUDQ2IGl0ZW00NjsgdHlwZWRlZiBQNDcgaXRlbTQ3OyB0eXBlZGVmIFA0OCBpdGVtNDg7IHR5cGVkZWYgUDQ5IGl0ZW00OTsgdHlwZWRlZiBQNTAgaXRlbTUwOyB0eXBlZGVmIFA1MSBpdGVtNTE7IHR5cGVkZWYgUDUyIGl0ZW01MjsgdHlwZWRlZiBQNTMgaXRlbTUzOyB0eXBlZGVmIFA1NCBpdGVtNTQ7IHR5cGVkZWYgUDU1IGl0ZW01NTsgdHlwZWRlZiBQNTYgaXRlbTU2OyB0eXBlZGVmIFA1NyBpdGVtNTc7IHR5cGVkZWYgUDU4IGl0ZW01ODsgdHlwZWRlZiBQNTkgaXRlbTU5OyB0eXBlZGVmIFA2MCBpdGVtNjA7IHR5cGVkZWYgUDYxIGl0ZW02MTsgdHlwZWRlZiBQNjIgaXRlbTYyOyB0eXBlZGVmIFA2MyBpdGVtNjM7IHR5cGVkZWYgUDY0IGl0ZW02NDsgdHlwZWRlZiBQNjUgaXRlbTY1OyB0eXBlZGVmIFA2NiBpdGVtNjY7IHR5cGVkZWYgUDY3IGl0ZW02NzsgdHlwZWRlZiBQNjggaXRlbTY4OyB0eXBlZGVmIFA2OSBpdGVtNjk7IHR5cGVkZWYgUDcwIGl0ZW03MDsgdHlwZWRlZiBQNzEgaXRlbTcxOyB0eXBlZGVmIFA3MiBpdGVtNzI7IHR5cGVkZWYgUDczIGl0ZW03MzsgdHlwZWRlZiBQNzQgaXRlbTc0OyB0eXBlZGVmIFA3NSBpdGVtNzU7IHR5cGVkZWYgUDc2IGl0ZW03NjsgdHlwZWRlZiBQNzcgaXRlbTc3OyB0eXBlZGVmIFA3OCBpdGVtNzg7IHR5cGVkZWYgUDc5IGl0ZW03OTsgdHlwZWRlZiBQODAgaXRlbTgwOyB0eXBlZGVmIFA4MSBpdGVtODE7IHR5cGVkZWYgUDgyIGl0ZW04MjsgdHlwZWRlZiBQODMgaXRlbTgzOyB0eXBlZGVmIFA4NCBpdGVtODQ7IHR5cGVkZWYgUDg1IGl0ZW04NTsgdHlwZWRlZiBQODYgaXRlbTg2OyB0eXBlZGVmIFA4NyBpdGVtODc7IHR5cGVkZWYgUDg4IGl0ZW04ODsgdHlwZWRlZiBQODkgaXRlbTg5OyB0eXBlZGVmIFA5MCBpdGVtOTA7IHR5cGVkZWYgUDkxIGl0ZW05MTsgdHlwZWRlZiBQOTIgaXRlbTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSAsIGNsYXNzIFA4NiAsIGNsYXNzIFA4NyAsIGNsYXNzIFA4OCAsIGNsYXNzIFA4OSAsIGNsYXNzIFA5MCAsIGNsYXNzIFA5MSAsIGNsYXNzIFA5MiAsIGNsYXNzIFA5MyA+IHN0cnVjdCB2ZWN0b3I5NCB7IHR5cGVkZWYgdl9pdGVyPHZlY3Rvcjk0PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFA5MiAsIFA5Mz4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBQODggaXRlbTg4OyB0eXBlZGVmIFA4OSBpdGVtODk7IHR5cGVkZWYgUDkwIGl0ZW05MDsgdHlwZWRlZiBQOTEgaXRlbTkxOyB0eXBlZGVmIFA5MiBpdGVtOTI7IHR5cGVkZWYgUDkzIGl0ZW05MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5ODsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ID4gc3RydWN0IHZlY3Rvcjk1IHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yOTU8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0PiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgUDQxIGl0ZW00MTsgdHlwZWRlZiBQNDIgaXRlbTQyOyB0eXBlZGVmIFA0MyBpdGVtNDM7IHR5cGVkZWYgUDQ0IGl0ZW00NDsgdHlwZWRlZiBQNDUgaXRlbTQ1OyB0eXBlZGVmIFA0NiBpdGVtNDY7IHR5cGVkZWYgUDQ3IGl0ZW00NzsgdHlwZWRlZiBQNDggaXRlbTQ4OyB0eXBlZGVmIFA0OSBpdGVtNDk7IHR5cGVkZWYgUDUwIGl0ZW01MDsgdHlwZWRlZiBQNTEgaXRlbTUxOyB0eXBlZGVmIFA1MiBpdGVtNTI7IHR5cGVkZWYgUDUzIGl0ZW01MzsgdHlwZWRlZiBQNTQgaXRlbTU0OyB0eXBlZGVmIFA1NSBpdGVtNTU7IHR5cGVkZWYgUDU2IGl0ZW01NjsgdHlwZWRlZiBQNTcgaXRlbTU3OyB0eXBlZGVmIFA1OCBpdGVtNTg7IHR5cGVkZWYgUDU5IGl0ZW01OTsgdHlwZWRlZiBQNjAgaXRlbTYwOyB0eXBlZGVmIFA2MSBpdGVtNjE7IHR5cGVkZWYgUDYyIGl0ZW02MjsgdHlwZWRlZiBQNjMgaXRlbTYzOyB0eXBlZGVmIFA2NCBpdGVtNjQ7IHR5cGVkZWYgUDY1IGl0ZW02NTsgdHlwZWRlZiBQNjYgaXRlbTY2OyB0eXBlZGVmIFA2NyBpdGVtNjc7IHR5cGVkZWYgUDY4IGl0ZW02ODsgdHlwZWRlZiBQNjkgaXRlbTY5OyB0eXBlZGVmIFA3MCBpdGVtNzA7IHR5cGVkZWYgUDcxIGl0ZW03MTsgdHlwZWRlZiBQNzIgaXRlbTcyOyB0eXBlZGVmIFA3MyBpdGVtNzM7IHR5cGVkZWYgUDc0IGl0ZW03NDsgdHlwZWRlZiBQNzUgaXRlbTc1OyB0eXBlZGVmIFA3NiBpdGVtNzY7IHR5cGVkZWYgUDc3IGl0ZW03NzsgdHlwZWRlZiBQNzggaXRlbTc4OyB0eXBlZGVmIFA3OSBpdGVtNzk7IHR5cGVkZWYgUDgwIGl0ZW04MDsgdHlwZWRlZiBQODEgaXRlbTgxOyB0eXBlZGVmIFA4MiBpdGVtODI7IHR5cGVkZWYgUDgzIGl0ZW04MzsgdHlwZWRlZiBQODQgaXRlbTg0OyB0eXBlZGVmIFA4NSBpdGVtODU7IHR5cGVkZWYgUDg2IGl0ZW04NjsgdHlwZWRlZiBQODcgaXRlbTg3OyB0eXBlZGVmIFA4OCBpdGVtODg7IHR5cGVkZWYgUDg5IGl0ZW04OTsgdHlwZWRlZiBQOTAgaXRlbTkwOyB0eXBlZGVmIFA5MSBpdGVtOTE7IHR5cGVkZWYgUDkyIGl0ZW05MjsgdHlwZWRlZiBQOTMgaXRlbTkzOyB0eXBlZGVmIFA5NCBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBQOTMgLCBjbGFzcyBQOTQgLCBjbGFzcyBQOTUgPiBzdHJ1Y3QgdmVjdG9yOTYgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3I5NjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTU+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgUDMgaXRlbTM7IHR5cGVkZWYgUDQgaXRlbTQ7IHR5cGVkZWYgUDUgaXRlbTU7IHR5cGVkZWYgUDYgaXRlbTY7IHR5cGVkZWYgUDcgaXRlbTc7IHR5cGVkZWYgUDggaXRlbTg7IHR5cGVkZWYgUDkgaXRlbTk7IHR5cGVkZWYgUDEwIGl0ZW0xMDsgdHlwZWRlZiBQMTEgaXRlbTExOyB0eXBlZGVmIFAxMiBpdGVtMTI7IHR5cGVkZWYgUDEzIGl0ZW0xMzsgdHlwZWRlZiBQMTQgaXRlbTE0OyB0eXBlZGVmIFAxNSBpdGVtMTU7IHR5cGVkZWYgUDE2IGl0ZW0xNjsgdHlwZWRlZiBQMTcgaXRlbTE3OyB0eXBlZGVmIFAxOCBpdGVtMTg7IHR5cGVkZWYgUDE5IGl0ZW0xOTsgdHlwZWRlZiBQMjAgaXRlbTIwOyB0eXBlZGVmIFAyMSBpdGVtMjE7IHR5cGVkZWYgUDIyIGl0ZW0yMjsgdHlwZWRlZiBQMjMgaXRlbTIzOyB0eXBlZGVmIFAyNCBpdGVtMjQ7IHR5cGVkZWYgUDI1IGl0ZW0yNTsgdHlwZWRlZiBQMjYgaXRlbTI2OyB0eXBlZGVmIFAyNyBpdGVtMjc7IHR5cGVkZWYgUDI4IGl0ZW0yODsgdHlwZWRlZiBQMjkgaXRlbTI5OyB0eXBlZGVmIFAzMCBpdGVtMzA7IHR5cGVkZWYgUDMxIGl0ZW0zMTsgdHlwZWRlZiBQMzIgaXRlbTMyOyB0eXBlZGVmIFAzMyBpdGVtMzM7IHR5cGVkZWYgUDM0IGl0ZW0zNDsgdHlwZWRlZiBQMzUgaXRlbTM1OyB0eXBlZGVmIFAzNiBpdGVtMzY7IHR5cGVkZWYgUDM3IGl0ZW0zNzsgdHlwZWRlZiBQMzggaXRlbTM4OyB0eXBlZGVmIFAzOSBpdGVtMzk7IHR5cGVkZWYgUDQwIGl0ZW00MDsgdHlwZWRlZiBQNDEgaXRlbTQxOyB0eXBlZGVmIFA0MiBpdGVtNDI7IHR5cGVkZWYgUDQzIGl0ZW00MzsgdHlwZWRlZiBQNDQgaXRlbTQ0OyB0eXBlZGVmIFA0NSBpdGVtNDU7IHR5cGVkZWYgUDQ2IGl0ZW00NjsgdHlwZWRlZiBQNDcgaXRlbTQ3OyB0eXBlZGVmIFA0OCBpdGVtNDg7IHR5cGVkZWYgUDQ5IGl0ZW00OTsgdHlwZWRlZiBQNTAgaXRlbTUwOyB0eXBlZGVmIFA1MSBpdGVtNTE7IHR5cGVkZWYgUDUyIGl0ZW01MjsgdHlwZWRlZiBQNTMgaXRlbTUzOyB0eXBlZGVmIFA1NCBpdGVtNTQ7IHR5cGVkZWYgUDU1IGl0ZW01NTsgdHlwZWRlZiBQNTYgaXRlbTU2OyB0eXBlZGVmIFA1NyBpdGVtNTc7IHR5cGVkZWYgUDU4IGl0ZW01ODsgdHlwZWRlZiBQNTkgaXRlbTU5OyB0eXBlZGVmIFA2MCBpdGVtNjA7IHR5cGVkZWYgUDYxIGl0ZW02MTsgdHlwZWRlZiBQNjIgaXRlbTYyOyB0eXBlZGVmIFA2MyBpdGVtNjM7IHR5cGVkZWYgUDY0IGl0ZW02NDsgdHlwZWRlZiBQNjUgaXRlbTY1OyB0eXBlZGVmIFA2NiBpdGVtNjY7IHR5cGVkZWYgUDY3IGl0ZW02NzsgdHlwZWRlZiBQNjggaXRlbTY4OyB0eXBlZGVmIFA2OSBpdGVtNjk7IHR5cGVkZWYgUDcwIGl0ZW03MDsgdHlwZWRlZiBQNzEgaXRlbTcxOyB0eXBlZGVmIFA3MiBpdGVtNzI7IHR5cGVkZWYgUDczIGl0ZW03MzsgdHlwZWRlZiBQNzQgaXRlbTc0OyB0eXBlZGVmIFA3NSBpdGVtNzU7IHR5cGVkZWYgUDc2IGl0ZW03NjsgdHlwZWRlZiBQNzcgaXRlbTc3OyB0eXBlZGVmIFA3OCBpdGVtNzg7IHR5cGVkZWYgUDc5IGl0ZW03OTsgdHlwZWRlZiBQODAgaXRlbTgwOyB0eXBlZGVmIFA4MSBpdGVtODE7IHR5cGVkZWYgUDgyIGl0ZW04MjsgdHlwZWRlZiBQODMgaXRlbTgzOyB0eXBlZGVmIFA4NCBpdGVtODQ7IHR5cGVkZWYgUDg1IGl0ZW04NTsgdHlwZWRlZiBQODYgaXRlbTg2OyB0eXBlZGVmIFA4NyBpdGVtODc7IHR5cGVkZWYgUDg4IGl0ZW04ODsgdHlwZWRlZiBQODkgaXRlbTg5OyB0eXBlZGVmIFA5MCBpdGVtOTA7IHR5cGVkZWYgUDkxIGl0ZW05MTsgdHlwZWRlZiBQOTIgaXRlbTkyOyB0eXBlZGVmIFA5MyBpdGVtOTM7IHR5cGVkZWYgUDk0IGl0ZW05NDsgdHlwZWRlZiBQOTUgaXRlbTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSAsIGNsYXNzIFA4NiAsIGNsYXNzIFA4NyAsIGNsYXNzIFA4OCAsIGNsYXNzIFA4OSAsIGNsYXNzIFA5MCAsIGNsYXNzIFA5MSAsIGNsYXNzIFA5MiAsIGNsYXNzIFA5MyAsIGNsYXNzIFA5NCAsIGNsYXNzIFA5NSAsIGNsYXNzIFA5NiA+IHN0cnVjdCB2ZWN0b3I5NyB7IHR5cGVkZWYgdl9pdGVyPHZlY3Rvcjk3PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFA5MiAsIFA5MyAsIFA5NCAsIFA5NSAsIFA5Nj4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBQODggaXRlbTg4OyB0eXBlZGVmIFA4OSBpdGVtODk7IHR5cGVkZWYgUDkwIGl0ZW05MDsgdHlwZWRlZiBQOTEgaXRlbTkxOyB0eXBlZGVmIFA5MiBpdGVtOTI7IHR5cGVkZWYgUDkzIGl0ZW05MzsgdHlwZWRlZiBQOTQgaXRlbTk0OyB0eXBlZGVmIFA5NSBpdGVtOTU7IHR5cGVkZWYgUDk2IGl0ZW05NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5ODsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ICwgY2xhc3MgUDk2ICwgY2xhc3MgUDk3ID4gc3RydWN0IHZlY3Rvcjk4IHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yOTg8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1ICwgUDk2ICwgUDk3PiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgUDQxIGl0ZW00MTsgdHlwZWRlZiBQNDIgaXRlbTQyOyB0eXBlZGVmIFA0MyBpdGVtNDM7IHR5cGVkZWYgUDQ0IGl0ZW00NDsgdHlwZWRlZiBQNDUgaXRlbTQ1OyB0eXBlZGVmIFA0NiBpdGVtNDY7IHR5cGVkZWYgUDQ3IGl0ZW00NzsgdHlwZWRlZiBQNDggaXRlbTQ4OyB0eXBlZGVmIFA0OSBpdGVtNDk7IHR5cGVkZWYgUDUwIGl0ZW01MDsgdHlwZWRlZiBQNTEgaXRlbTUxOyB0eXBlZGVmIFA1MiBpdGVtNTI7IHR5cGVkZWYgUDUzIGl0ZW01MzsgdHlwZWRlZiBQNTQgaXRlbTU0OyB0eXBlZGVmIFA1NSBpdGVtNTU7IHR5cGVkZWYgUDU2IGl0ZW01NjsgdHlwZWRlZiBQNTcgaXRlbTU3OyB0eXBlZGVmIFA1OCBpdGVtNTg7IHR5cGVkZWYgUDU5IGl0ZW01OTsgdHlwZWRlZiBQNjAgaXRlbTYwOyB0eXBlZGVmIFA2MSBpdGVtNjE7IHR5cGVkZWYgUDYyIGl0ZW02MjsgdHlwZWRlZiBQNjMgaXRlbTYzOyB0eXBlZGVmIFA2NCBpdGVtNjQ7IHR5cGVkZWYgUDY1IGl0ZW02NTsgdHlwZWRlZiBQNjYgaXRlbTY2OyB0eXBlZGVmIFA2NyBpdGVtNjc7IHR5cGVkZWYgUDY4IGl0ZW02ODsgdHlwZWRlZiBQNjkgaXRlbTY5OyB0eXBlZGVmIFA3MCBpdGVtNzA7IHR5cGVkZWYgUDcxIGl0ZW03MTsgdHlwZWRlZiBQNzIgaXRlbTcyOyB0eXBlZGVmIFA3MyBpdGVtNzM7IHR5cGVkZWYgUDc0IGl0ZW03NDsgdHlwZWRlZiBQNzUgaXRlbTc1OyB0eXBlZGVmIFA3NiBpdGVtNzY7IHR5cGVkZWYgUDc3IGl0ZW03NzsgdHlwZWRlZiBQNzggaXRlbTc4OyB0eXBlZGVmIFA3OSBpdGVtNzk7IHR5cGVkZWYgUDgwIGl0ZW04MDsgdHlwZWRlZiBQODEgaXRlbTgxOyB0eXBlZGVmIFA4MiBpdGVtODI7IHR5cGVkZWYgUDgzIGl0ZW04MzsgdHlwZWRlZiBQODQgaXRlbTg0OyB0eXBlZGVmIFA4NSBpdGVtODU7IHR5cGVkZWYgUDg2IGl0ZW04NjsgdHlwZWRlZiBQODcgaXRlbTg3OyB0eXBlZGVmIFA4OCBpdGVtODg7IHR5cGVkZWYgUDg5IGl0ZW04OTsgdHlwZWRlZiBQOTAgaXRlbTkwOyB0eXBlZGVmIFA5MSBpdGVtOTE7IHR5cGVkZWYgUDkyIGl0ZW05MjsgdHlwZWRlZiBQOTMgaXRlbTkzOyB0eXBlZGVmIFA5NCBpdGVtOTQ7IHR5cGVkZWYgUDk1IGl0ZW05NTsgdHlwZWRlZiBQOTYgaXRlbTk2OyB0eXBlZGVmIFA5NyBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBQOTMgLCBjbGFzcyBQOTQgLCBjbGFzcyBQOTUgLCBjbGFzcyBQOTYgLCBjbGFzcyBQOTcgLCBjbGFzcyBQOTggPiBzdHJ1Y3QgdmVjdG9yOTkgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3I5OTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTg+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgUDMgaXRlbTM7IHR5cGVkZWYgUDQgaXRlbTQ7IHR5cGVkZWYgUDUgaXRlbTU7IHR5cGVkZWYgUDYgaXRlbTY7IHR5cGVkZWYgUDcgaXRlbTc7IHR5cGVkZWYgUDggaXRlbTg7IHR5cGVkZWYgUDkgaXRlbTk7IHR5cGVkZWYgUDEwIGl0ZW0xMDsgdHlwZWRlZiBQMTEgaXRlbTExOyB0eXBlZGVmIFAxMiBpdGVtMTI7IHR5cGVkZWYgUDEzIGl0ZW0xMzsgdHlwZWRlZiBQMTQgaXRlbTE0OyB0eXBlZGVmIFAxNSBpdGVtMTU7IHR5cGVkZWYgUDE2IGl0ZW0xNjsgdHlwZWRlZiBQMTcgaXRlbTE3OyB0eXBlZGVmIFAxOCBpdGVtMTg7IHR5cGVkZWYgUDE5IGl0ZW0xOTsgdHlwZWRlZiBQMjAgaXRlbTIwOyB0eXBlZGVmIFAyMSBpdGVtMjE7IHR5cGVkZWYgUDIyIGl0ZW0yMjsgdHlwZWRlZiBQMjMgaXRlbTIzOyB0eXBlZGVmIFAyNCBpdGVtMjQ7IHR5cGVkZWYgUDI1IGl0ZW0yNTsgdHlwZWRlZiBQMjYgaXRlbTI2OyB0eXBlZGVmIFAyNyBpdGVtMjc7IHR5cGVkZWYgUDI4IGl0ZW0yODsgdHlwZWRlZiBQMjkgaXRlbTI5OyB0eXBlZGVmIFAzMCBpdGVtMzA7IHR5cGVkZWYgUDMxIGl0ZW0zMTsgdHlwZWRlZiBQMzIgaXRlbTMyOyB0eXBlZGVmIFAzMyBpdGVtMzM7IHR5cGVkZWYgUDM0IGl0ZW0zNDsgdHlwZWRlZiBQMzUgaXRlbTM1OyB0eXBlZGVmIFAzNiBpdGVtMzY7IHR5cGVkZWYgUDM3IGl0ZW0zNzsgdHlwZWRlZiBQMzggaXRlbTM4OyB0eXBlZGVmIFAzOSBpdGVtMzk7IHR5cGVkZWYgUDQwIGl0ZW00MDsgdHlwZWRlZiBQNDEgaXRlbTQxOyB0eXBlZGVmIFA0MiBpdGVtNDI7IHR5cGVkZWYgUDQzIGl0ZW00MzsgdHlwZWRlZiBQNDQgaXRlbTQ0OyB0eXBlZGVmIFA0NSBpdGVtNDU7IHR5cGVkZWYgUDQ2IGl0ZW00NjsgdHlwZWRlZiBQNDcgaXRlbTQ3OyB0eXBlZGVmIFA0OCBpdGVtNDg7IHR5cGVkZWYgUDQ5IGl0ZW00OTsgdHlwZWRlZiBQNTAgaXRlbTUwOyB0eXBlZGVmIFA1MSBpdGVtNTE7IHR5cGVkZWYgUDUyIGl0ZW01MjsgdHlwZWRlZiBQNTMgaXRlbTUzOyB0eXBlZGVmIFA1NCBpdGVtNTQ7IHR5cGVkZWYgUDU1IGl0ZW01NTsgdHlwZWRlZiBQNTYgaXRlbTU2OyB0eXBlZGVmIFA1NyBpdGVtNTc7IHR5cGVkZWYgUDU4IGl0ZW01ODsgdHlwZWRlZiBQNTkgaXRlbTU5OyB0eXBlZGVmIFA2MCBpdGVtNjA7IHR5cGVkZWYgUDYxIGl0ZW02MTsgdHlwZWRlZiBQNjIgaXRlbTYyOyB0eXBlZGVmIFA2MyBpdGVtNjM7IHR5cGVkZWYgUDY0IGl0ZW02NDsgdHlwZWRlZiBQNjUgaXRlbTY1OyB0eXBlZGVmIFA2NiBpdGVtNjY7IHR5cGVkZWYgUDY3IGl0ZW02NzsgdHlwZWRlZiBQNjggaXRlbTY4OyB0eXBlZGVmIFA2OSBpdGVtNjk7IHR5cGVkZWYgUDcwIGl0ZW03MDsgdHlwZWRlZiBQNzEgaXRlbTcxOyB0eXBlZGVmIFA3MiBpdGVtNzI7IHR5cGVkZWYgUDczIGl0ZW03MzsgdHlwZWRlZiBQNzQgaXRlbTc0OyB0eXBlZGVmIFA3NSBpdGVtNzU7IHR5cGVkZWYgUDc2IGl0ZW03NjsgdHlwZWRlZiBQNzcgaXRlbTc3OyB0eXBlZGVmIFA3OCBpdGVtNzg7IHR5cGVkZWYgUDc5IGl0ZW03OTsgdHlwZWRlZiBQODAgaXRlbTgwOyB0eXBlZGVmIFA4MSBpdGVtODE7IHR5cGVkZWYgUDgyIGl0ZW04MjsgdHlwZWRlZiBQODMgaXRlbTgzOyB0eXBlZGVmIFA4NCBpdGVtODQ7IHR5cGVkZWYgUDg1IGl0ZW04NTsgdHlwZWRlZiBQODYgaXRlbTg2OyB0eXBlZGVmIFA4NyBpdGVtODc7IHR5cGVkZWYgUDg4IGl0ZW04ODsgdHlwZWRlZiBQODkgaXRlbTg5OyB0eXBlZGVmIFA5MCBpdGVtOTA7IHR5cGVkZWYgUDkxIGl0ZW05MTsgdHlwZWRlZiBQOTIgaXRlbTkyOyB0eXBlZGVmIFA5MyBpdGVtOTM7IHR5cGVkZWYgUDk0IGl0ZW05NDsgdHlwZWRlZiBQOTUgaXRlbTk1OyB0eXBlZGVmIFA5NiBpdGVtOTY7IHR5cGVkZWYgUDk3IGl0ZW05NzsgdHlwZWRlZiBQOTggaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSAsIGNsYXNzIFA4NiAsIGNsYXNzIFA4NyAsIGNsYXNzIFA4OCAsIGNsYXNzIFA4OSAsIGNsYXNzIFA5MCAsIGNsYXNzIFA5MSAsIGNsYXNzIFA5MiAsIGNsYXNzIFA5MyAsIGNsYXNzIFA5NCAsIGNsYXNzIFA5NSAsIGNsYXNzIFA5NiAsIGNsYXNzIFA5NyAsIGNsYXNzIFA5OCAsIGNsYXNzIFA5OSA+IHN0cnVjdCB2ZWN0b3IxMDAgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3IxMDA8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1ICwgUDk2ICwgUDk3ICwgUDk4ICwgUDk5PiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgUDQxIGl0ZW00MTsgdHlwZWRlZiBQNDIgaXRlbTQyOyB0eXBlZGVmIFA0MyBpdGVtNDM7IHR5cGVkZWYgUDQ0IGl0ZW00NDsgdHlwZWRlZiBQNDUgaXRlbTQ1OyB0eXBlZGVmIFA0NiBpdGVtNDY7IHR5cGVkZWYgUDQ3IGl0ZW00NzsgdHlwZWRlZiBQNDggaXRlbTQ4OyB0eXBlZGVmIFA0OSBpdGVtNDk7IHR5cGVkZWYgUDUwIGl0ZW01MDsgdHlwZWRlZiBQNTEgaXRlbTUxOyB0eXBlZGVmIFA1MiBpdGVtNTI7IHR5cGVkZWYgUDUzIGl0ZW01MzsgdHlwZWRlZiBQNTQgaXRlbTU0OyB0eXBlZGVmIFA1NSBpdGVtNTU7IHR5cGVkZWYgUDU2IGl0ZW01NjsgdHlwZWRlZiBQNTcgaXRlbTU3OyB0eXBlZGVmIFA1OCBpdGVtNTg7IHR5cGVkZWYgUDU5IGl0ZW01OTsgdHlwZWRlZiBQNjAgaXRlbTYwOyB0eXBlZGVmIFA2MSBpdGVtNjE7IHR5cGVkZWYgUDYyIGl0ZW02MjsgdHlwZWRlZiBQNjMgaXRlbTYzOyB0eXBlZGVmIFA2NCBpdGVtNjQ7IHR5cGVkZWYgUDY1IGl0ZW02NTsgdHlwZWRlZiBQNjYgaXRlbTY2OyB0eXBlZGVmIFA2NyBpdGVtNjc7IHR5cGVkZWYgUDY4IGl0ZW02ODsgdHlwZWRlZiBQNjkgaXRlbTY5OyB0eXBlZGVmIFA3MCBpdGVtNzA7IHR5cGVkZWYgUDcxIGl0ZW03MTsgdHlwZWRlZiBQNzIgaXRlbTcyOyB0eXBlZGVmIFA3MyBpdGVtNzM7IHR5cGVkZWYgUDc0IGl0ZW03NDsgdHlwZWRlZiBQNzUgaXRlbTc1OyB0eXBlZGVmIFA3NiBpdGVtNzY7IHR5cGVkZWYgUDc3IGl0ZW03NzsgdHlwZWRlZiBQNzggaXRlbTc4OyB0eXBlZGVmIFA3OSBpdGVtNzk7IHR5cGVkZWYgUDgwIGl0ZW04MDsgdHlwZWRlZiBQODEgaXRlbTgxOyB0eXBlZGVmIFA4MiBpdGVtODI7IHR5cGVkZWYgUDgzIGl0ZW04MzsgdHlwZWRlZiBQODQgaXRlbTg0OyB0eXBlZGVmIFA4NSBpdGVtODU7IHR5cGVkZWYgUDg2IGl0ZW04NjsgdHlwZWRlZiBQODcgaXRlbTg3OyB0eXBlZGVmIFA4OCBpdGVtODg7IHR5cGVkZWYgUDg5IGl0ZW04OTsgdHlwZWRlZiBQOTAgaXRlbTkwOyB0eXBlZGVmIFA5MSBpdGVtOTE7IHR5cGVkZWYgUDkyIGl0ZW05MjsgdHlwZWRlZiBQOTMgaXRlbTkzOyB0eXBlZGVmIFA5NCBpdGVtOTQ7IHR5cGVkZWYgUDk1IGl0ZW05NTsgdHlwZWRlZiBQOTYgaXRlbTk2OyB0eXBlZGVmIFA5NyBpdGVtOTc7IHR5cGVkZWYgUDk4IGl0ZW05ODsgdHlwZWRlZiBQOTkgaXRlbTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBQOTMgLCBjbGFzcyBQOTQgLCBjbGFzcyBQOTUgLCBjbGFzcyBQOTYgLCBjbGFzcyBQOTcgLCBjbGFzcyBQOTggLCBjbGFzcyBQOTkgLCBjbGFzcyBQMTAwID4gc3RydWN0IHZlY3RvcjEwMSB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjEwMTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwPiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgUDQxIGl0ZW00MTsgdHlwZWRlZiBQNDIgaXRlbTQyOyB0eXBlZGVmIFA0MyBpdGVtNDM7IHR5cGVkZWYgUDQ0IGl0ZW00NDsgdHlwZWRlZiBQNDUgaXRlbTQ1OyB0eXBlZGVmIFA0NiBpdGVtNDY7IHR5cGVkZWYgUDQ3IGl0ZW00NzsgdHlwZWRlZiBQNDggaXRlbTQ4OyB0eXBlZGVmIFA0OSBpdGVtNDk7IHR5cGVkZWYgUDUwIGl0ZW01MDsgdHlwZWRlZiBQNTEgaXRlbTUxOyB0eXBlZGVmIFA1MiBpdGVtNTI7IHR5cGVkZWYgUDUzIGl0ZW01MzsgdHlwZWRlZiBQNTQgaXRlbTU0OyB0eXBlZGVmIFA1NSBpdGVtNTU7IHR5cGVkZWYgUDU2IGl0ZW01NjsgdHlwZWRlZiBQNTcgaXRlbTU3OyB0eXBlZGVmIFA1OCBpdGVtNTg7IHR5cGVkZWYgUDU5IGl0ZW01OTsgdHlwZWRlZiBQNjAgaXRlbTYwOyB0eXBlZGVmIFA2MSBpdGVtNjE7IHR5cGVkZWYgUDYyIGl0ZW02MjsgdHlwZWRlZiBQNjMgaXRlbTYzOyB0eXBlZGVmIFA2NCBpdGVtNjQ7IHR5cGVkZWYgUDY1IGl0ZW02NTsgdHlwZWRlZiBQNjYgaXRlbTY2OyB0eXBlZGVmIFA2NyBpdGVtNjc7IHR5cGVkZWYgUDY4IGl0ZW02ODsgdHlwZWRlZiBQNjkgaXRlbTY5OyB0eXBlZGVmIFA3MCBpdGVtNzA7IHR5cGVkZWYgUDcxIGl0ZW03MTsgdHlwZWRlZiBQNzIgaXRlbTcyOyB0eXBlZGVmIFA3MyBpdGVtNzM7IHR5cGVkZWYgUDc0IGl0ZW03NDsgdHlwZWRlZiBQNzUgaXRlbTc1OyB0eXBlZGVmIFA3NiBpdGVtNzY7IHR5cGVkZWYgUDc3IGl0ZW03NzsgdHlwZWRlZiBQNzggaXRlbTc4OyB0eXBlZGVmIFA3OSBpdGVtNzk7IHR5cGVkZWYgUDgwIGl0ZW04MDsgdHlwZWRlZiBQODEgaXRlbTgxOyB0eXBlZGVmIFA4MiBpdGVtODI7IHR5cGVkZWYgUDgzIGl0ZW04MzsgdHlwZWRlZiBQODQgaXRlbTg0OyB0eXBlZGVmIFA4NSBpdGVtODU7IHR5cGVkZWYgUDg2IGl0ZW04NjsgdHlwZWRlZiBQODcgaXRlbTg3OyB0eXBlZGVmIFA4OCBpdGVtODg7IHR5cGVkZWYgUDg5IGl0ZW04OTsgdHlwZWRlZiBQOTAgaXRlbTkwOyB0eXBlZGVmIFA5MSBpdGVtOTE7IHR5cGVkZWYgUDkyIGl0ZW05MjsgdHlwZWRlZiBQOTMgaXRlbTkzOyB0eXBlZGVmIFA5NCBpdGVtOTQ7IHR5cGVkZWYgUDk1IGl0ZW05NTsgdHlwZWRlZiBQOTYgaXRlbTk2OyB0eXBlZGVmIFA5NyBpdGVtOTc7IHR5cGVkZWYgUDk4IGl0ZW05ODsgdHlwZWRlZiBQOTkgaXRlbTk5OyB0eXBlZGVmIFAxMDAgaXRlbTEwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5ODsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ICwgY2xhc3MgUDk2ICwgY2xhc3MgUDk3ICwgY2xhc3MgUDk4ICwgY2xhc3MgUDk5ICwgY2xhc3MgUDEwMCAsIGNsYXNzIFAxMDEgPiBzdHJ1Y3QgdmVjdG9yMTAyIHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yMTAyPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFA5MiAsIFA5MyAsIFA5NCAsIFA5NSAsIFA5NiAsIFA5NyAsIFA5OCAsIFA5OSAsIFAxMDAgLCBQMTAxPiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgUDQxIGl0ZW00MTsgdHlwZWRlZiBQNDIgaXRlbTQyOyB0eXBlZGVmIFA0MyBpdGVtNDM7IHR5cGVkZWYgUDQ0IGl0ZW00NDsgdHlwZWRlZiBQNDUgaXRlbTQ1OyB0eXBlZGVmIFA0NiBpdGVtNDY7IHR5cGVkZWYgUDQ3IGl0ZW00NzsgdHlwZWRlZiBQNDggaXRlbTQ4OyB0eXBlZGVmIFA0OSBpdGVtNDk7IHR5cGVkZWYgUDUwIGl0ZW01MDsgdHlwZWRlZiBQNTEgaXRlbTUxOyB0eXBlZGVmIFA1MiBpdGVtNTI7IHR5cGVkZWYgUDUzIGl0ZW01MzsgdHlwZWRlZiBQNTQgaXRlbTU0OyB0eXBlZGVmIFA1NSBpdGVtNTU7IHR5cGVkZWYgUDU2IGl0ZW01NjsgdHlwZWRlZiBQNTcgaXRlbTU3OyB0eXBlZGVmIFA1OCBpdGVtNTg7IHR5cGVkZWYgUDU5IGl0ZW01OTsgdHlwZWRlZiBQNjAgaXRlbTYwOyB0eXBlZGVmIFA2MSBpdGVtNjE7IHR5cGVkZWYgUDYyIGl0ZW02MjsgdHlwZWRlZiBQNjMgaXRlbTYzOyB0eXBlZGVmIFA2NCBpdGVtNjQ7IHR5cGVkZWYgUDY1IGl0ZW02NTsgdHlwZWRlZiBQNjYgaXRlbTY2OyB0eXBlZGVmIFA2NyBpdGVtNjc7IHR5cGVkZWYgUDY4IGl0ZW02ODsgdHlwZWRlZiBQNjkgaXRlbTY5OyB0eXBlZGVmIFA3MCBpdGVtNzA7IHR5cGVkZWYgUDcxIGl0ZW03MTsgdHlwZWRlZiBQNzIgaXRlbTcyOyB0eXBlZGVmIFA3MyBpdGVtNzM7IHR5cGVkZWYgUDc0IGl0ZW03NDsgdHlwZWRlZiBQNzUgaXRlbTc1OyB0eXBlZGVmIFA3NiBpdGVtNzY7IHR5cGVkZWYgUDc3IGl0ZW03NzsgdHlwZWRlZiBQNzggaXRlbTc4OyB0eXBlZGVmIFA3OSBpdGVtNzk7IHR5cGVkZWYgUDgwIGl0ZW04MDsgdHlwZWRlZiBQODEgaXRlbTgxOyB0eXBlZGVmIFA4MiBpdGVtODI7IHR5cGVkZWYgUDgzIGl0ZW04MzsgdHlwZWRlZiBQODQgaXRlbTg0OyB0eXBlZGVmIFA4NSBpdGVtODU7IHR5cGVkZWYgUDg2IGl0ZW04NjsgdHlwZWRlZiBQODcgaXRlbTg3OyB0eXBlZGVmIFA4OCBpdGVtODg7IHR5cGVkZWYgUDg5IGl0ZW04OTsgdHlwZWRlZiBQOTAgaXRlbTkwOyB0eXBlZGVmIFA5MSBpdGVtOTE7IHR5cGVkZWYgUDkyIGl0ZW05MjsgdHlwZWRlZiBQOTMgaXRlbTkzOyB0eXBlZGVmIFA5NCBpdGVtOTQ7IHR5cGVkZWYgUDk1IGl0ZW05NTsgdHlwZWRlZiBQOTYgaXRlbTk2OyB0eXBlZGVmIFA5NyBpdGVtOTc7IHR5cGVkZWYgUDk4IGl0ZW05ODsgdHlwZWRlZiBQOTkgaXRlbTk5OyB0eXBlZGVmIFAxMDAgaXRlbTEwMDsgdHlwZWRlZiBQMTAxIGl0ZW0xMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSAsIGNsYXNzIFA4NiAsIGNsYXNzIFA4NyAsIGNsYXNzIFA4OCAsIGNsYXNzIFA4OSAsIGNsYXNzIFA5MCAsIGNsYXNzIFA5MSAsIGNsYXNzIFA5MiAsIGNsYXNzIFA5MyAsIGNsYXNzIFA5NCAsIGNsYXNzIFA5NSAsIGNsYXNzIFA5NiAsIGNsYXNzIFA5NyAsIGNsYXNzIFA5OCAsIGNsYXNzIFA5OSAsIGNsYXNzIFAxMDAgLCBjbGFzcyBQMTAxICwgY2xhc3MgUDEwMiA+IHN0cnVjdCB2ZWN0b3IxMDMgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3IxMDM8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1ICwgUDk2ICwgUDk3ICwgUDk4ICwgUDk5ICwgUDEwMCAsIFAxMDEgLCBQMTAyPiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgUDQxIGl0ZW00MTsgdHlwZWRlZiBQNDIgaXRlbTQyOyB0eXBlZGVmIFA0MyBpdGVtNDM7IHR5cGVkZWYgUDQ0IGl0ZW00NDsgdHlwZWRlZiBQNDUgaXRlbTQ1OyB0eXBlZGVmIFA0NiBpdGVtNDY7IHR5cGVkZWYgUDQ3IGl0ZW00NzsgdHlwZWRlZiBQNDggaXRlbTQ4OyB0eXBlZGVmIFA0OSBpdGVtNDk7IHR5cGVkZWYgUDUwIGl0ZW01MDsgdHlwZWRlZiBQNTEgaXRlbTUxOyB0eXBlZGVmIFA1MiBpdGVtNTI7IHR5cGVkZWYgUDUzIGl0ZW01MzsgdHlwZWRlZiBQNTQgaXRlbTU0OyB0eXBlZGVmIFA1NSBpdGVtNTU7IHR5cGVkZWYgUDU2IGl0ZW01NjsgdHlwZWRlZiBQNTcgaXRlbTU3OyB0eXBlZGVmIFA1OCBpdGVtNTg7IHR5cGVkZWYgUDU5IGl0ZW01OTsgdHlwZWRlZiBQNjAgaXRlbTYwOyB0eXBlZGVmIFA2MSBpdGVtNjE7IHR5cGVkZWYgUDYyIGl0ZW02MjsgdHlwZWRlZiBQNjMgaXRlbTYzOyB0eXBlZGVmIFA2NCBpdGVtNjQ7IHR5cGVkZWYgUDY1IGl0ZW02NTsgdHlwZWRlZiBQNjYgaXRlbTY2OyB0eXBlZGVmIFA2NyBpdGVtNjc7IHR5cGVkZWYgUDY4IGl0ZW02ODsgdHlwZWRlZiBQNjkgaXRlbTY5OyB0eXBlZGVmIFA3MCBpdGVtNzA7IHR5cGVkZWYgUDcxIGl0ZW03MTsgdHlwZWRlZiBQNzIgaXRlbTcyOyB0eXBlZGVmIFA3MyBpdGVtNzM7IHR5cGVkZWYgUDc0IGl0ZW03NDsgdHlwZWRlZiBQNzUgaXRlbTc1OyB0eXBlZGVmIFA3NiBpdGVtNzY7IHR5cGVkZWYgUDc3IGl0ZW03NzsgdHlwZWRlZiBQNzggaXRlbTc4OyB0eXBlZGVmIFA3OSBpdGVtNzk7IHR5cGVkZWYgUDgwIGl0ZW04MDsgdHlwZWRlZiBQODEgaXRlbTgxOyB0eXBlZGVmIFA4MiBpdGVtODI7IHR5cGVkZWYgUDgzIGl0ZW04MzsgdHlwZWRlZiBQODQgaXRlbTg0OyB0eXBlZGVmIFA4NSBpdGVtODU7IHR5cGVkZWYgUDg2IGl0ZW04NjsgdHlwZWRlZiBQODcgaXRlbTg3OyB0eXBlZGVmIFA4OCBpdGVtODg7IHR5cGVkZWYgUDg5IGl0ZW04OTsgdHlwZWRlZiBQOTAgaXRlbTkwOyB0eXBlZGVmIFA5MSBpdGVtOTE7IHR5cGVkZWYgUDkyIGl0ZW05MjsgdHlwZWRlZiBQOTMgaXRlbTkzOyB0eXBlZGVmIFA5NCBpdGVtOTQ7IHR5cGVkZWYgUDk1IGl0ZW05NTsgdHlwZWRlZiBQOTYgaXRlbTk2OyB0eXBlZGVmIFA5NyBpdGVtOTc7IHR5cGVkZWYgUDk4IGl0ZW05ODsgdHlwZWRlZiBQOTkgaXRlbTk5OyB0eXBlZGVmIFAxMDAgaXRlbTEwMDsgdHlwZWRlZiBQMTAxIGl0ZW0xMDE7IHR5cGVkZWYgUDEwMiBpdGVtMTAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBQOTMgLCBjbGFzcyBQOTQgLCBjbGFzcyBQOTUgLCBjbGFzcyBQOTYgLCBjbGFzcyBQOTcgLCBjbGFzcyBQOTggLCBjbGFzcyBQOTkgLCBjbGFzcyBQMTAwICwgY2xhc3MgUDEwMSAsIGNsYXNzIFAxMDIgLCBjbGFzcyBQMTAzID4gc3RydWN0IHZlY3RvcjEwNCB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjEwNDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzPiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgUDQxIGl0ZW00MTsgdHlwZWRlZiBQNDIgaXRlbTQyOyB0eXBlZGVmIFA0MyBpdGVtNDM7IHR5cGVkZWYgUDQ0IGl0ZW00NDsgdHlwZWRlZiBQNDUgaXRlbTQ1OyB0eXBlZGVmIFA0NiBpdGVtNDY7IHR5cGVkZWYgUDQ3IGl0ZW00NzsgdHlwZWRlZiBQNDggaXRlbTQ4OyB0eXBlZGVmIFA0OSBpdGVtNDk7IHR5cGVkZWYgUDUwIGl0ZW01MDsgdHlwZWRlZiBQNTEgaXRlbTUxOyB0eXBlZGVmIFA1MiBpdGVtNTI7IHR5cGVkZWYgUDUzIGl0ZW01MzsgdHlwZWRlZiBQNTQgaXRlbTU0OyB0eXBlZGVmIFA1NSBpdGVtNTU7IHR5cGVkZWYgUDU2IGl0ZW01NjsgdHlwZWRlZiBQNTcgaXRlbTU3OyB0eXBlZGVmIFA1OCBpdGVtNTg7IHR5cGVkZWYgUDU5IGl0ZW01OTsgdHlwZWRlZiBQNjAgaXRlbTYwOyB0eXBlZGVmIFA2MSBpdGVtNjE7IHR5cGVkZWYgUDYyIGl0ZW02MjsgdHlwZWRlZiBQNjMgaXRlbTYzOyB0eXBlZGVmIFA2NCBpdGVtNjQ7IHR5cGVkZWYgUDY1IGl0ZW02NTsgdHlwZWRlZiBQNjYgaXRlbTY2OyB0eXBlZGVmIFA2NyBpdGVtNjc7IHR5cGVkZWYgUDY4IGl0ZW02ODsgdHlwZWRlZiBQNjkgaXRlbTY5OyB0eXBlZGVmIFA3MCBpdGVtNzA7IHR5cGVkZWYgUDcxIGl0ZW03MTsgdHlwZWRlZiBQNzIgaXRlbTcyOyB0eXBlZGVmIFA3MyBpdGVtNzM7IHR5cGVkZWYgUDc0IGl0ZW03NDsgdHlwZWRlZiBQNzUgaXRlbTc1OyB0eXBlZGVmIFA3NiBpdGVtNzY7IHR5cGVkZWYgUDc3IGl0ZW03NzsgdHlwZWRlZiBQNzggaXRlbTc4OyB0eXBlZGVmIFA3OSBpdGVtNzk7IHR5cGVkZWYgUDgwIGl0ZW04MDsgdHlwZWRlZiBQODEgaXRlbTgxOyB0eXBlZGVmIFA4MiBpdGVtODI7IHR5cGVkZWYgUDgzIGl0ZW04MzsgdHlwZWRlZiBQODQgaXRlbTg0OyB0eXBlZGVmIFA4NSBpdGVtODU7IHR5cGVkZWYgUDg2IGl0ZW04NjsgdHlwZWRlZiBQODcgaXRlbTg3OyB0eXBlZGVmIFA4OCBpdGVtODg7IHR5cGVkZWYgUDg5IGl0ZW04OTsgdHlwZWRlZiBQOTAgaXRlbTkwOyB0eXBlZGVmIFA5MSBpdGVtOTE7IHR5cGVkZWYgUDkyIGl0ZW05MjsgdHlwZWRlZiBQOTMgaXRlbTkzOyB0eXBlZGVmIFA5NCBpdGVtOTQ7IHR5cGVkZWYgUDk1IGl0ZW05NTsgdHlwZWRlZiBQOTYgaXRlbTk2OyB0eXBlZGVmIFA5NyBpdGVtOTc7IHR5cGVkZWYgUDk4IGl0ZW05ODsgdHlwZWRlZiBQOTkgaXRlbTk5OyB0eXBlZGVmIFAxMDAgaXRlbTEwMDsgdHlwZWRlZiBQMTAxIGl0ZW0xMDE7IHR5cGVkZWYgUDEwMiBpdGVtMTAyOyB0eXBlZGVmIFAxMDMgaXRlbTEwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5ODsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ICwgY2xhc3MgUDk2ICwgY2xhc3MgUDk3ICwgY2xhc3MgUDk4ICwgY2xhc3MgUDk5ICwgY2xhc3MgUDEwMCAsIGNsYXNzIFAxMDEgLCBjbGFzcyBQMTAyICwgY2xhc3MgUDEwMyAsIGNsYXNzIFAxMDQgPiBzdHJ1Y3QgdmVjdG9yMTA1IHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yMTA1PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFA5MiAsIFA5MyAsIFA5NCAsIFA5NSAsIFA5NiAsIFA5NyAsIFA5OCAsIFA5OSAsIFAxMDAgLCBQMTAxICwgUDEwMiAsIFAxMDMgLCBQMTA0PiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgUDQxIGl0ZW00MTsgdHlwZWRlZiBQNDIgaXRlbTQyOyB0eXBlZGVmIFA0MyBpdGVtNDM7IHR5cGVkZWYgUDQ0IGl0ZW00NDsgdHlwZWRlZiBQNDUgaXRlbTQ1OyB0eXBlZGVmIFA0NiBpdGVtNDY7IHR5cGVkZWYgUDQ3IGl0ZW00NzsgdHlwZWRlZiBQNDggaXRlbTQ4OyB0eXBlZGVmIFA0OSBpdGVtNDk7IHR5cGVkZWYgUDUwIGl0ZW01MDsgdHlwZWRlZiBQNTEgaXRlbTUxOyB0eXBlZGVmIFA1MiBpdGVtNTI7IHR5cGVkZWYgUDUzIGl0ZW01MzsgdHlwZWRlZiBQNTQgaXRlbTU0OyB0eXBlZGVmIFA1NSBpdGVtNTU7IHR5cGVkZWYgUDU2IGl0ZW01NjsgdHlwZWRlZiBQNTcgaXRlbTU3OyB0eXBlZGVmIFA1OCBpdGVtNTg7IHR5cGVkZWYgUDU5IGl0ZW01OTsgdHlwZWRlZiBQNjAgaXRlbTYwOyB0eXBlZGVmIFA2MSBpdGVtNjE7IHR5cGVkZWYgUDYyIGl0ZW02MjsgdHlwZWRlZiBQNjMgaXRlbTYzOyB0eXBlZGVmIFA2NCBpdGVtNjQ7IHR5cGVkZWYgUDY1IGl0ZW02NTsgdHlwZWRlZiBQNjYgaXRlbTY2OyB0eXBlZGVmIFA2NyBpdGVtNjc7IHR5cGVkZWYgUDY4IGl0ZW02ODsgdHlwZWRlZiBQNjkgaXRlbTY5OyB0eXBlZGVmIFA3MCBpdGVtNzA7IHR5cGVkZWYgUDcxIGl0ZW03MTsgdHlwZWRlZiBQNzIgaXRlbTcyOyB0eXBlZGVmIFA3MyBpdGVtNzM7IHR5cGVkZWYgUDc0IGl0ZW03NDsgdHlwZWRlZiBQNzUgaXRlbTc1OyB0eXBlZGVmIFA3NiBpdGVtNzY7IHR5cGVkZWYgUDc3IGl0ZW03NzsgdHlwZWRlZiBQNzggaXRlbTc4OyB0eXBlZGVmIFA3OSBpdGVtNzk7IHR5cGVkZWYgUDgwIGl0ZW04MDsgdHlwZWRlZiBQODEgaXRlbTgxOyB0eXBlZGVmIFA4MiBpdGVtODI7IHR5cGVkZWYgUDgzIGl0ZW04MzsgdHlwZWRlZiBQODQgaXRlbTg0OyB0eXBlZGVmIFA4NSBpdGVtODU7IHR5cGVkZWYgUDg2IGl0ZW04NjsgdHlwZWRlZiBQODcgaXRlbTg3OyB0eXBlZGVmIFA4OCBpdGVtODg7IHR5cGVkZWYgUDg5IGl0ZW04OTsgdHlwZWRlZiBQOTAgaXRlbTkwOyB0eXBlZGVmIFA5MSBpdGVtOTE7IHR5cGVkZWYgUDkyIGl0ZW05MjsgdHlwZWRlZiBQOTMgaXRlbTkzOyB0eXBlZGVmIFA5NCBpdGVtOTQ7IHR5cGVkZWYgUDk1IGl0ZW05NTsgdHlwZWRlZiBQOTYgaXRlbTk2OyB0eXBlZGVmIFA5NyBpdGVtOTc7IHR5cGVkZWYgUDk4IGl0ZW05ODsgdHlwZWRlZiBQOTkgaXRlbTk5OyB0eXBlZGVmIFAxMDAgaXRlbTEwMDsgdHlwZWRlZiBQMTAxIGl0ZW0xMDE7IHR5cGVkZWYgUDEwMiBpdGVtMTAyOyB0eXBlZGVmIFAxMDMgaXRlbTEwMzsgdHlwZWRlZiBQMTA0IGl0ZW0xMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSAsIGNsYXNzIFA4NiAsIGNsYXNzIFA4NyAsIGNsYXNzIFA4OCAsIGNsYXNzIFA4OSAsIGNsYXNzIFA5MCAsIGNsYXNzIFA5MSAsIGNsYXNzIFA5MiAsIGNsYXNzIFA5MyAsIGNsYXNzIFA5NCAsIGNsYXNzIFA5NSAsIGNsYXNzIFA5NiAsIGNsYXNzIFA5NyAsIGNsYXNzIFA5OCAsIGNsYXNzIFA5OSAsIGNsYXNzIFAxMDAgLCBjbGFzcyBQMTAxICwgY2xhc3MgUDEwMiAsIGNsYXNzIFAxMDMgLCBjbGFzcyBQMTA0ICwgY2xhc3MgUDEwNSA+IHN0cnVjdCB2ZWN0b3IxMDYgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3IxMDY8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1ICwgUDk2ICwgUDk3ICwgUDk4ICwgUDk5ICwgUDEwMCAsIFAxMDEgLCBQMTAyICwgUDEwMyAsIFAxMDQgLCBQMTA1PiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgUDQxIGl0ZW00MTsgdHlwZWRlZiBQNDIgaXRlbTQyOyB0eXBlZGVmIFA0MyBpdGVtNDM7IHR5cGVkZWYgUDQ0IGl0ZW00NDsgdHlwZWRlZiBQNDUgaXRlbTQ1OyB0eXBlZGVmIFA0NiBpdGVtNDY7IHR5cGVkZWYgUDQ3IGl0ZW00NzsgdHlwZWRlZiBQNDggaXRlbTQ4OyB0eXBlZGVmIFA0OSBpdGVtNDk7IHR5cGVkZWYgUDUwIGl0ZW01MDsgdHlwZWRlZiBQNTEgaXRlbTUxOyB0eXBlZGVmIFA1MiBpdGVtNTI7IHR5cGVkZWYgUDUzIGl0ZW01MzsgdHlwZWRlZiBQNTQgaXRlbTU0OyB0eXBlZGVmIFA1NSBpdGVtNTU7IHR5cGVkZWYgUDU2IGl0ZW01NjsgdHlwZWRlZiBQNTcgaXRlbTU3OyB0eXBlZGVmIFA1OCBpdGVtNTg7IHR5cGVkZWYgUDU5IGl0ZW01OTsgdHlwZWRlZiBQNjAgaXRlbTYwOyB0eXBlZGVmIFA2MSBpdGVtNjE7IHR5cGVkZWYgUDYyIGl0ZW02MjsgdHlwZWRlZiBQNjMgaXRlbTYzOyB0eXBlZGVmIFA2NCBpdGVtNjQ7IHR5cGVkZWYgUDY1IGl0ZW02NTsgdHlwZWRlZiBQNjYgaXRlbTY2OyB0eXBlZGVmIFA2NyBpdGVtNjc7IHR5cGVkZWYgUDY4IGl0ZW02ODsgdHlwZWRlZiBQNjkgaXRlbTY5OyB0eXBlZGVmIFA3MCBpdGVtNzA7IHR5cGVkZWYgUDcxIGl0ZW03MTsgdHlwZWRlZiBQNzIgaXRlbTcyOyB0eXBlZGVmIFA3MyBpdGVtNzM7IHR5cGVkZWYgUDc0IGl0ZW03NDsgdHlwZWRlZiBQNzUgaXRlbTc1OyB0eXBlZGVmIFA3NiBpdGVtNzY7IHR5cGVkZWYgUDc3IGl0ZW03NzsgdHlwZWRlZiBQNzggaXRlbTc4OyB0eXBlZGVmIFA3OSBpdGVtNzk7IHR5cGVkZWYgUDgwIGl0ZW04MDsgdHlwZWRlZiBQODEgaXRlbTgxOyB0eXBlZGVmIFA4MiBpdGVtODI7IHR5cGVkZWYgUDgzIGl0ZW04MzsgdHlwZWRlZiBQODQgaXRlbTg0OyB0eXBlZGVmIFA4NSBpdGVtODU7IHR5cGVkZWYgUDg2IGl0ZW04NjsgdHlwZWRlZiBQODcgaXRlbTg3OyB0eXBlZGVmIFA4OCBpdGVtODg7IHR5cGVkZWYgUDg5IGl0ZW04OTsgdHlwZWRlZiBQOTAgaXRlbTkwOyB0eXBlZGVmIFA5MSBpdGVtOTE7IHR5cGVkZWYgUDkyIGl0ZW05MjsgdHlwZWRlZiBQOTMgaXRlbTkzOyB0eXBlZGVmIFA5NCBpdGVtOTQ7IHR5cGVkZWYgUDk1IGl0ZW05NTsgdHlwZWRlZiBQOTYgaXRlbTk2OyB0eXBlZGVmIFA5NyBpdGVtOTc7IHR5cGVkZWYgUDk4IGl0ZW05ODsgdHlwZWRlZiBQOTkgaXRlbTk5OyB0eXBlZGVmIFAxMDAgaXRlbTEwMDsgdHlwZWRlZiBQMTAxIGl0ZW0xMDE7IHR5cGVkZWYgUDEwMiBpdGVtMTAyOyB0eXBlZGVmIFAxMDMgaXRlbTEwMzsgdHlwZWRlZiBQMTA0IGl0ZW0xMDQ7IHR5cGVkZWYgUDEwNSBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBQOTMgLCBjbGFzcyBQOTQgLCBjbGFzcyBQOTUgLCBjbGFzcyBQOTYgLCBjbGFzcyBQOTcgLCBjbGFzcyBQOTggLCBjbGFzcyBQOTkgLCBjbGFzcyBQMTAwICwgY2xhc3MgUDEwMSAsIGNsYXNzIFAxMDIgLCBjbGFzcyBQMTAzICwgY2xhc3MgUDEwNCAsIGNsYXNzIFAxMDUgLCBjbGFzcyBQMTA2ID4gc3RydWN0IHZlY3RvcjEwNyB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjEwNzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2PiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgUDQxIGl0ZW00MTsgdHlwZWRlZiBQNDIgaXRlbTQyOyB0eXBlZGVmIFA0MyBpdGVtNDM7IHR5cGVkZWYgUDQ0IGl0ZW00NDsgdHlwZWRlZiBQNDUgaXRlbTQ1OyB0eXBlZGVmIFA0NiBpdGVtNDY7IHR5cGVkZWYgUDQ3IGl0ZW00NzsgdHlwZWRlZiBQNDggaXRlbTQ4OyB0eXBlZGVmIFA0OSBpdGVtNDk7IHR5cGVkZWYgUDUwIGl0ZW01MDsgdHlwZWRlZiBQNTEgaXRlbTUxOyB0eXBlZGVmIFA1MiBpdGVtNTI7IHR5cGVkZWYgUDUzIGl0ZW01MzsgdHlwZWRlZiBQNTQgaXRlbTU0OyB0eXBlZGVmIFA1NSBpdGVtNTU7IHR5cGVkZWYgUDU2IGl0ZW01NjsgdHlwZWRlZiBQNTcgaXRlbTU3OyB0eXBlZGVmIFA1OCBpdGVtNTg7IHR5cGVkZWYgUDU5IGl0ZW01OTsgdHlwZWRlZiBQNjAgaXRlbTYwOyB0eXBlZGVmIFA2MSBpdGVtNjE7IHR5cGVkZWYgUDYyIGl0ZW02MjsgdHlwZWRlZiBQNjMgaXRlbTYzOyB0eXBlZGVmIFA2NCBpdGVtNjQ7IHR5cGVkZWYgUDY1IGl0ZW02NTsgdHlwZWRlZiBQNjYgaXRlbTY2OyB0eXBlZGVmIFA2NyBpdGVtNjc7IHR5cGVkZWYgUDY4IGl0ZW02ODsgdHlwZWRlZiBQNjkgaXRlbTY5OyB0eXBlZGVmIFA3MCBpdGVtNzA7IHR5cGVkZWYgUDcxIGl0ZW03MTsgdHlwZWRlZiBQNzIgaXRlbTcyOyB0eXBlZGVmIFA3MyBpdGVtNzM7IHR5cGVkZWYgUDc0IGl0ZW03NDsgdHlwZWRlZiBQNzUgaXRlbTc1OyB0eXBlZGVmIFA3NiBpdGVtNzY7IHR5cGVkZWYgUDc3IGl0ZW03NzsgdHlwZWRlZiBQNzggaXRlbTc4OyB0eXBlZGVmIFA3OSBpdGVtNzk7IHR5cGVkZWYgUDgwIGl0ZW04MDsgdHlwZWRlZiBQODEgaXRlbTgxOyB0eXBlZGVmIFA4MiBpdGVtODI7IHR5cGVkZWYgUDgzIGl0ZW04MzsgdHlwZWRlZiBQODQgaXRlbTg0OyB0eXBlZGVmIFA4NSBpdGVtODU7IHR5cGVkZWYgUDg2IGl0ZW04NjsgdHlwZWRlZiBQODcgaXRlbTg3OyB0eXBlZGVmIFA4OCBpdGVtODg7IHR5cGVkZWYgUDg5IGl0ZW04OTsgdHlwZWRlZiBQOTAgaXRlbTkwOyB0eXBlZGVmIFA5MSBpdGVtOTE7IHR5cGVkZWYgUDkyIGl0ZW05MjsgdHlwZWRlZiBQOTMgaXRlbTkzOyB0eXBlZGVmIFA5NCBpdGVtOTQ7IHR5cGVkZWYgUDk1IGl0ZW05NTsgdHlwZWRlZiBQOTYgaXRlbTk2OyB0eXBlZGVmIFA5NyBpdGVtOTc7IHR5cGVkZWYgUDk4IGl0ZW05ODsgdHlwZWRlZiBQOTkgaXRlbTk5OyB0eXBlZGVmIFAxMDAgaXRlbTEwMDsgdHlwZWRlZiBQMTAxIGl0ZW0xMDE7IHR5cGVkZWYgUDEwMiBpdGVtMTAyOyB0eXBlZGVmIFAxMDMgaXRlbTEwMzsgdHlwZWRlZiBQMTA0IGl0ZW0xMDQ7IHR5cGVkZWYgUDEwNSBpdGVtMTA1OyB0eXBlZGVmIFAxMDYgaXRlbTEwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5ODsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ICwgY2xhc3MgUDk2ICwgY2xhc3MgUDk3ICwgY2xhc3MgUDk4ICwgY2xhc3MgUDk5ICwgY2xhc3MgUDEwMCAsIGNsYXNzIFAxMDEgLCBjbGFzcyBQMTAyICwgY2xhc3MgUDEwMyAsIGNsYXNzIFAxMDQgLCBjbGFzcyBQMTA1ICwgY2xhc3MgUDEwNiAsIGNsYXNzIFAxMDcgPiBzdHJ1Y3QgdmVjdG9yMTA4IHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yMTA4PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFA5MiAsIFA5MyAsIFA5NCAsIFA5NSAsIFA5NiAsIFA5NyAsIFA5OCAsIFA5OSAsIFAxMDAgLCBQMTAxICwgUDEwMiAsIFAxMDMgLCBQMTA0ICwgUDEwNSAsIFAxMDYgLCBQMTA3PiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgUDQxIGl0ZW00MTsgdHlwZWRlZiBQNDIgaXRlbTQyOyB0eXBlZGVmIFA0MyBpdGVtNDM7IHR5cGVkZWYgUDQ0IGl0ZW00NDsgdHlwZWRlZiBQNDUgaXRlbTQ1OyB0eXBlZGVmIFA0NiBpdGVtNDY7IHR5cGVkZWYgUDQ3IGl0ZW00NzsgdHlwZWRlZiBQNDggaXRlbTQ4OyB0eXBlZGVmIFA0OSBpdGVtNDk7IHR5cGVkZWYgUDUwIGl0ZW01MDsgdHlwZWRlZiBQNTEgaXRlbTUxOyB0eXBlZGVmIFA1MiBpdGVtNTI7IHR5cGVkZWYgUDUzIGl0ZW01MzsgdHlwZWRlZiBQNTQgaXRlbTU0OyB0eXBlZGVmIFA1NSBpdGVtNTU7IHR5cGVkZWYgUDU2IGl0ZW01NjsgdHlwZWRlZiBQNTcgaXRlbTU3OyB0eXBlZGVmIFA1OCBpdGVtNTg7IHR5cGVkZWYgUDU5IGl0ZW01OTsgdHlwZWRlZiBQNjAgaXRlbTYwOyB0eXBlZGVmIFA2MSBpdGVtNjE7IHR5cGVkZWYgUDYyIGl0ZW02MjsgdHlwZWRlZiBQNjMgaXRlbTYzOyB0eXBlZGVmIFA2NCBpdGVtNjQ7IHR5cGVkZWYgUDY1IGl0ZW02NTsgdHlwZWRlZiBQNjYgaXRlbTY2OyB0eXBlZGVmIFA2NyBpdGVtNjc7IHR5cGVkZWYgUDY4IGl0ZW02ODsgdHlwZWRlZiBQNjkgaXRlbTY5OyB0eXBlZGVmIFA3MCBpdGVtNzA7IHR5cGVkZWYgUDcxIGl0ZW03MTsgdHlwZWRlZiBQNzIgaXRlbTcyOyB0eXBlZGVmIFA3MyBpdGVtNzM7IHR5cGVkZWYgUDc0IGl0ZW03NDsgdHlwZWRlZiBQNzUgaXRlbTc1OyB0eXBlZGVmIFA3NiBpdGVtNzY7IHR5cGVkZWYgUDc3IGl0ZW03NzsgdHlwZWRlZiBQNzggaXRlbTc4OyB0eXBlZGVmIFA3OSBpdGVtNzk7IHR5cGVkZWYgUDgwIGl0ZW04MDsgdHlwZWRlZiBQODEgaXRlbTgxOyB0eXBlZGVmIFA4MiBpdGVtODI7IHR5cGVkZWYgUDgzIGl0ZW04MzsgdHlwZWRlZiBQODQgaXRlbTg0OyB0eXBlZGVmIFA4NSBpdGVtODU7IHR5cGVkZWYgUDg2IGl0ZW04NjsgdHlwZWRlZiBQODcgaXRlbTg3OyB0eXBlZGVmIFA4OCBpdGVtODg7IHR5cGVkZWYgUDg5IGl0ZW04OTsgdHlwZWRlZiBQOTAgaXRlbTkwOyB0eXBlZGVmIFA5MSBpdGVtOTE7IHR5cGVkZWYgUDkyIGl0ZW05MjsgdHlwZWRlZiBQOTMgaXRlbTkzOyB0eXBlZGVmIFA5NCBpdGVtOTQ7IHR5cGVkZWYgUDk1IGl0ZW05NTsgdHlwZWRlZiBQOTYgaXRlbTk2OyB0eXBlZGVmIFA5NyBpdGVtOTc7IHR5cGVkZWYgUDk4IGl0ZW05ODsgdHlwZWRlZiBQOTkgaXRlbTk5OyB0eXBlZGVmIFAxMDAgaXRlbTEwMDsgdHlwZWRlZiBQMTAxIGl0ZW0xMDE7IHR5cGVkZWYgUDEwMiBpdGVtMTAyOyB0eXBlZGVmIFAxMDMgaXRlbTEwMzsgdHlwZWRlZiBQMTA0IGl0ZW0xMDQ7IHR5cGVkZWYgUDEwNSBpdGVtMTA1OyB0eXBlZGVmIFAxMDYgaXRlbTEwNjsgdHlwZWRlZiBQMTA3IGl0ZW0xMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSAsIGNsYXNzIFA4NiAsIGNsYXNzIFA4NyAsIGNsYXNzIFA4OCAsIGNsYXNzIFA4OSAsIGNsYXNzIFA5MCAsIGNsYXNzIFA5MSAsIGNsYXNzIFA5MiAsIGNsYXNzIFA5MyAsIGNsYXNzIFA5NCAsIGNsYXNzIFA5NSAsIGNsYXNzIFA5NiAsIGNsYXNzIFA5NyAsIGNsYXNzIFA5OCAsIGNsYXNzIFA5OSAsIGNsYXNzIFAxMDAgLCBjbGFzcyBQMTAxICwgY2xhc3MgUDEwMiAsIGNsYXNzIFAxMDMgLCBjbGFzcyBQMTA0ICwgY2xhc3MgUDEwNSAsIGNsYXNzIFAxMDYgLCBjbGFzcyBQMTA3ICwgY2xhc3MgUDEwOCA+IHN0cnVjdCB2ZWN0b3IxMDkgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3IxMDk8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1ICwgUDk2ICwgUDk3ICwgUDk4ICwgUDk5ICwgUDEwMCAsIFAxMDEgLCBQMTAyICwgUDEwMyAsIFAxMDQgLCBQMTA1ICwgUDEwNiAsIFAxMDcgLCBQMTA4PiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgUDQxIGl0ZW00MTsgdHlwZWRlZiBQNDIgaXRlbTQyOyB0eXBlZGVmIFA0MyBpdGVtNDM7IHR5cGVkZWYgUDQ0IGl0ZW00NDsgdHlwZWRlZiBQNDUgaXRlbTQ1OyB0eXBlZGVmIFA0NiBpdGVtNDY7IHR5cGVkZWYgUDQ3IGl0ZW00NzsgdHlwZWRlZiBQNDggaXRlbTQ4OyB0eXBlZGVmIFA0OSBpdGVtNDk7IHR5cGVkZWYgUDUwIGl0ZW01MDsgdHlwZWRlZiBQNTEgaXRlbTUxOyB0eXBlZGVmIFA1MiBpdGVtNTI7IHR5cGVkZWYgUDUzIGl0ZW01MzsgdHlwZWRlZiBQNTQgaXRlbTU0OyB0eXBlZGVmIFA1NSBpdGVtNTU7IHR5cGVkZWYgUDU2IGl0ZW01NjsgdHlwZWRlZiBQNTcgaXRlbTU3OyB0eXBlZGVmIFA1OCBpdGVtNTg7IHR5cGVkZWYgUDU5IGl0ZW01OTsgdHlwZWRlZiBQNjAgaXRlbTYwOyB0eXBlZGVmIFA2MSBpdGVtNjE7IHR5cGVkZWYgUDYyIGl0ZW02MjsgdHlwZWRlZiBQNjMgaXRlbTYzOyB0eXBlZGVmIFA2NCBpdGVtNjQ7IHR5cGVkZWYgUDY1IGl0ZW02NTsgdHlwZWRlZiBQNjYgaXRlbTY2OyB0eXBlZGVmIFA2NyBpdGVtNjc7IHR5cGVkZWYgUDY4IGl0ZW02ODsgdHlwZWRlZiBQNjkgaXRlbTY5OyB0eXBlZGVmIFA3MCBpdGVtNzA7IHR5cGVkZWYgUDcxIGl0ZW03MTsgdHlwZWRlZiBQNzIgaXRlbTcyOyB0eXBlZGVmIFA3MyBpdGVtNzM7IHR5cGVkZWYgUDc0IGl0ZW03NDsgdHlwZWRlZiBQNzUgaXRlbTc1OyB0eXBlZGVmIFA3NiBpdGVtNzY7IHR5cGVkZWYgUDc3IGl0ZW03NzsgdHlwZWRlZiBQNzggaXRlbTc4OyB0eXBlZGVmIFA3OSBpdGVtNzk7IHR5cGVkZWYgUDgwIGl0ZW04MDsgdHlwZWRlZiBQODEgaXRlbTgxOyB0eXBlZGVmIFA4MiBpdGVtODI7IHR5cGVkZWYgUDgzIGl0ZW04MzsgdHlwZWRlZiBQODQgaXRlbTg0OyB0eXBlZGVmIFA4NSBpdGVtODU7IHR5cGVkZWYgUDg2IGl0ZW04NjsgdHlwZWRlZiBQODcgaXRlbTg3OyB0eXBlZGVmIFA4OCBpdGVtODg7IHR5cGVkZWYgUDg5IGl0ZW04OTsgdHlwZWRlZiBQOTAgaXRlbTkwOyB0eXBlZGVmIFA5MSBpdGVtOTE7IHR5cGVkZWYgUDkyIGl0ZW05MjsgdHlwZWRlZiBQOTMgaXRlbTkzOyB0eXBlZGVmIFA5NCBpdGVtOTQ7IHR5cGVkZWYgUDk1IGl0ZW05NTsgdHlwZWRlZiBQOTYgaXRlbTk2OyB0eXBlZGVmIFA5NyBpdGVtOTc7IHR5cGVkZWYgUDk4IGl0ZW05ODsgdHlwZWRlZiBQOTkgaXRlbTk5OyB0eXBlZGVmIFAxMDAgaXRlbTEwMDsgdHlwZWRlZiBQMTAxIGl0ZW0xMDE7IHR5cGVkZWYgUDEwMiBpdGVtMTAyOyB0eXBlZGVmIFAxMDMgaXRlbTEwMzsgdHlwZWRlZiBQMTA0IGl0ZW0xMDQ7IHR5cGVkZWYgUDEwNSBpdGVtMTA1OyB0eXBlZGVmIFAxMDYgaXRlbTEwNjsgdHlwZWRlZiBQMTA3IGl0ZW0xMDc7IHR5cGVkZWYgUDEwOCBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBQOTMgLCBjbGFzcyBQOTQgLCBjbGFzcyBQOTUgLCBjbGFzcyBQOTYgLCBjbGFzcyBQOTcgLCBjbGFzcyBQOTggLCBjbGFzcyBQOTkgLCBjbGFzcyBQMTAwICwgY2xhc3MgUDEwMSAsIGNsYXNzIFAxMDIgLCBjbGFzcyBQMTAzICwgY2xhc3MgUDEwNCAsIGNsYXNzIFAxMDUgLCBjbGFzcyBQMTA2ICwgY2xhc3MgUDEwNyAsIGNsYXNzIFAxMDggLCBjbGFzcyBQMTA5ID4gc3RydWN0IHZlY3RvcjExMCB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjExMDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5PiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgUDQxIGl0ZW00MTsgdHlwZWRlZiBQNDIgaXRlbTQyOyB0eXBlZGVmIFA0MyBpdGVtNDM7IHR5cGVkZWYgUDQ0IGl0ZW00NDsgdHlwZWRlZiBQNDUgaXRlbTQ1OyB0eXBlZGVmIFA0NiBpdGVtNDY7IHR5cGVkZWYgUDQ3IGl0ZW00NzsgdHlwZWRlZiBQNDggaXRlbTQ4OyB0eXBlZGVmIFA0OSBpdGVtNDk7IHR5cGVkZWYgUDUwIGl0ZW01MDsgdHlwZWRlZiBQNTEgaXRlbTUxOyB0eXBlZGVmIFA1MiBpdGVtNTI7IHR5cGVkZWYgUDUzIGl0ZW01MzsgdHlwZWRlZiBQNTQgaXRlbTU0OyB0eXBlZGVmIFA1NSBpdGVtNTU7IHR5cGVkZWYgUDU2IGl0ZW01NjsgdHlwZWRlZiBQNTcgaXRlbTU3OyB0eXBlZGVmIFA1OCBpdGVtNTg7IHR5cGVkZWYgUDU5IGl0ZW01OTsgdHlwZWRlZiBQNjAgaXRlbTYwOyB0eXBlZGVmIFA2MSBpdGVtNjE7IHR5cGVkZWYgUDYyIGl0ZW02MjsgdHlwZWRlZiBQNjMgaXRlbTYzOyB0eXBlZGVmIFA2NCBpdGVtNjQ7IHR5cGVkZWYgUDY1IGl0ZW02NTsgdHlwZWRlZiBQNjYgaXRlbTY2OyB0eXBlZGVmIFA2NyBpdGVtNjc7IHR5cGVkZWYgUDY4IGl0ZW02ODsgdHlwZWRlZiBQNjkgaXRlbTY5OyB0eXBlZGVmIFA3MCBpdGVtNzA7IHR5cGVkZWYgUDcxIGl0ZW03MTsgdHlwZWRlZiBQNzIgaXRlbTcyOyB0eXBlZGVmIFA3MyBpdGVtNzM7IHR5cGVkZWYgUDc0IGl0ZW03NDsgdHlwZWRlZiBQNzUgaXRlbTc1OyB0eXBlZGVmIFA3NiBpdGVtNzY7IHR5cGVkZWYgUDc3IGl0ZW03NzsgdHlwZWRlZiBQNzggaXRlbTc4OyB0eXBlZGVmIFA3OSBpdGVtNzk7IHR5cGVkZWYgUDgwIGl0ZW04MDsgdHlwZWRlZiBQODEgaXRlbTgxOyB0eXBlZGVmIFA4MiBpdGVtODI7IHR5cGVkZWYgUDgzIGl0ZW04MzsgdHlwZWRlZiBQODQgaXRlbTg0OyB0eXBlZGVmIFA4NSBpdGVtODU7IHR5cGVkZWYgUDg2IGl0ZW04NjsgdHlwZWRlZiBQODcgaXRlbTg3OyB0eXBlZGVmIFA4OCBpdGVtODg7IHR5cGVkZWYgUDg5IGl0ZW04OTsgdHlwZWRlZiBQOTAgaXRlbTkwOyB0eXBlZGVmIFA5MSBpdGVtOTE7IHR5cGVkZWYgUDkyIGl0ZW05MjsgdHlwZWRlZiBQOTMgaXRlbTkzOyB0eXBlZGVmIFA5NCBpdGVtOTQ7IHR5cGVkZWYgUDk1IGl0ZW05NTsgdHlwZWRlZiBQOTYgaXRlbTk2OyB0eXBlZGVmIFA5NyBpdGVtOTc7IHR5cGVkZWYgUDk4IGl0ZW05ODsgdHlwZWRlZiBQOTkgaXRlbTk5OyB0eXBlZGVmIFAxMDAgaXRlbTEwMDsgdHlwZWRlZiBQMTAxIGl0ZW0xMDE7IHR5cGVkZWYgUDEwMiBpdGVtMTAyOyB0eXBlZGVmIFAxMDMgaXRlbTEwMzsgdHlwZWRlZiBQMTA0IGl0ZW0xMDQ7IHR5cGVkZWYgUDEwNSBpdGVtMTA1OyB0eXBlZGVmIFAxMDYgaXRlbTEwNjsgdHlwZWRlZiBQMTA3IGl0ZW0xMDc7IHR5cGVkZWYgUDEwOCBpdGVtMTA4OyB0eXBlZGVmIFAxMDkgaXRlbTEwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5ODsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ICwgY2xhc3MgUDk2ICwgY2xhc3MgUDk3ICwgY2xhc3MgUDk4ICwgY2xhc3MgUDk5ICwgY2xhc3MgUDEwMCAsIGNsYXNzIFAxMDEgLCBjbGFzcyBQMTAyICwgY2xhc3MgUDEwMyAsIGNsYXNzIFAxMDQgLCBjbGFzcyBQMTA1ICwgY2xhc3MgUDEwNiAsIGNsYXNzIFAxMDcgLCBjbGFzcyBQMTA4ICwgY2xhc3MgUDEwOSAsIGNsYXNzIFAxMTAgPiBzdHJ1Y3QgdmVjdG9yMTExIHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yMTExPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFA5MiAsIFA5MyAsIFA5NCAsIFA5NSAsIFA5NiAsIFA5NyAsIFA5OCAsIFA5OSAsIFAxMDAgLCBQMTAxICwgUDEwMiAsIFAxMDMgLCBQMTA0ICwgUDEwNSAsIFAxMDYgLCBQMTA3ICwgUDEwOCAsIFAxMDkgLCBQMTEwPiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgUDQxIGl0ZW00MTsgdHlwZWRlZiBQNDIgaXRlbTQyOyB0eXBlZGVmIFA0MyBpdGVtNDM7IHR5cGVkZWYgUDQ0IGl0ZW00NDsgdHlwZWRlZiBQNDUgaXRlbTQ1OyB0eXBlZGVmIFA0NiBpdGVtNDY7IHR5cGVkZWYgUDQ3IGl0ZW00NzsgdHlwZWRlZiBQNDggaXRlbTQ4OyB0eXBlZGVmIFA0OSBpdGVtNDk7IHR5cGVkZWYgUDUwIGl0ZW01MDsgdHlwZWRlZiBQNTEgaXRlbTUxOyB0eXBlZGVmIFA1MiBpdGVtNTI7IHR5cGVkZWYgUDUzIGl0ZW01MzsgdHlwZWRlZiBQNTQgaXRlbTU0OyB0eXBlZGVmIFA1NSBpdGVtNTU7IHR5cGVkZWYgUDU2IGl0ZW01NjsgdHlwZWRlZiBQNTcgaXRlbTU3OyB0eXBlZGVmIFA1OCBpdGVtNTg7IHR5cGVkZWYgUDU5IGl0ZW01OTsgdHlwZWRlZiBQNjAgaXRlbTYwOyB0eXBlZGVmIFA2MSBpdGVtNjE7IHR5cGVkZWYgUDYyIGl0ZW02MjsgdHlwZWRlZiBQNjMgaXRlbTYzOyB0eXBlZGVmIFA2NCBpdGVtNjQ7IHR5cGVkZWYgUDY1IGl0ZW02NTsgdHlwZWRlZiBQNjYgaXRlbTY2OyB0eXBlZGVmIFA2NyBpdGVtNjc7IHR5cGVkZWYgUDY4IGl0ZW02ODsgdHlwZWRlZiBQNjkgaXRlbTY5OyB0eXBlZGVmIFA3MCBpdGVtNzA7IHR5cGVkZWYgUDcxIGl0ZW03MTsgdHlwZWRlZiBQNzIgaXRlbTcyOyB0eXBlZGVmIFA3MyBpdGVtNzM7IHR5cGVkZWYgUDc0IGl0ZW03NDsgdHlwZWRlZiBQNzUgaXRlbTc1OyB0eXBlZGVmIFA3NiBpdGVtNzY7IHR5cGVkZWYgUDc3IGl0ZW03NzsgdHlwZWRlZiBQNzggaXRlbTc4OyB0eXBlZGVmIFA3OSBpdGVtNzk7IHR5cGVkZWYgUDgwIGl0ZW04MDsgdHlwZWRlZiBQODEgaXRlbTgxOyB0eXBlZGVmIFA4MiBpdGVtODI7IHR5cGVkZWYgUDgzIGl0ZW04MzsgdHlwZWRlZiBQODQgaXRlbTg0OyB0eXBlZGVmIFA4NSBpdGVtODU7IHR5cGVkZWYgUDg2IGl0ZW04NjsgdHlwZWRlZiBQODcgaXRlbTg3OyB0eXBlZGVmIFA4OCBpdGVtODg7IHR5cGVkZWYgUDg5IGl0ZW04OTsgdHlwZWRlZiBQOTAgaXRlbTkwOyB0eXBlZGVmIFA5MSBpdGVtOTE7IHR5cGVkZWYgUDkyIGl0ZW05MjsgdHlwZWRlZiBQOTMgaXRlbTkzOyB0eXBlZGVmIFA5NCBpdGVtOTQ7IHR5cGVkZWYgUDk1IGl0ZW05NTsgdHlwZWRlZiBQOTYgaXRlbTk2OyB0eXBlZGVmIFA5NyBpdGVtOTc7IHR5cGVkZWYgUDk4IGl0ZW05ODsgdHlwZWRlZiBQOTkgaXRlbTk5OyB0eXBlZGVmIFAxMDAgaXRlbTEwMDsgdHlwZWRlZiBQMTAxIGl0ZW0xMDE7IHR5cGVkZWYgUDEwMiBpdGVtMTAyOyB0eXBlZGVmIFAxMDMgaXRlbTEwMzsgdHlwZWRlZiBQMTA0IGl0ZW0xMDQ7IHR5cGVkZWYgUDEwNSBpdGVtMTA1OyB0eXBlZGVmIFAxMDYgaXRlbTEwNjsgdHlwZWRlZiBQMTA3IGl0ZW0xMDc7IHR5cGVkZWYgUDEwOCBpdGVtMTA4OyB0eXBlZGVmIFAxMDkgaXRlbTEwOTsgdHlwZWRlZiBQMTEwIGl0ZW0xMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSAsIGNsYXNzIFA4NiAsIGNsYXNzIFA4NyAsIGNsYXNzIFA4OCAsIGNsYXNzIFA4OSAsIGNsYXNzIFA5MCAsIGNsYXNzIFA5MSAsIGNsYXNzIFA5MiAsIGNsYXNzIFA5MyAsIGNsYXNzIFA5NCAsIGNsYXNzIFA5NSAsIGNsYXNzIFA5NiAsIGNsYXNzIFA5NyAsIGNsYXNzIFA5OCAsIGNsYXNzIFA5OSAsIGNsYXNzIFAxMDAgLCBjbGFzcyBQMTAxICwgY2xhc3MgUDEwMiAsIGNsYXNzIFAxMDMgLCBjbGFzcyBQMTA0ICwgY2xhc3MgUDEwNSAsIGNsYXNzIFAxMDYgLCBjbGFzcyBQMTA3ICwgY2xhc3MgUDEwOCAsIGNsYXNzIFAxMDkgLCBjbGFzcyBQMTEwICwgY2xhc3MgUDExMSA+IHN0cnVjdCB2ZWN0b3IxMTIgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3IxMTI8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1ICwgUDk2ICwgUDk3ICwgUDk4ICwgUDk5ICwgUDEwMCAsIFAxMDEgLCBQMTAyICwgUDEwMyAsIFAxMDQgLCBQMTA1ICwgUDEwNiAsIFAxMDcgLCBQMTA4ICwgUDEwOSAsIFAxMTAgLCBQMTExPiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgUDQxIGl0ZW00MTsgdHlwZWRlZiBQNDIgaXRlbTQyOyB0eXBlZGVmIFA0MyBpdGVtNDM7IHR5cGVkZWYgUDQ0IGl0ZW00NDsgdHlwZWRlZiBQNDUgaXRlbTQ1OyB0eXBlZGVmIFA0NiBpdGVtNDY7IHR5cGVkZWYgUDQ3IGl0ZW00NzsgdHlwZWRlZiBQNDggaXRlbTQ4OyB0eXBlZGVmIFA0OSBpdGVtNDk7IHR5cGVkZWYgUDUwIGl0ZW01MDsgdHlwZWRlZiBQNTEgaXRlbTUxOyB0eXBlZGVmIFA1MiBpdGVtNTI7IHR5cGVkZWYgUDUzIGl0ZW01MzsgdHlwZWRlZiBQNTQgaXRlbTU0OyB0eXBlZGVmIFA1NSBpdGVtNTU7IHR5cGVkZWYgUDU2IGl0ZW01NjsgdHlwZWRlZiBQNTcgaXRlbTU3OyB0eXBlZGVmIFA1OCBpdGVtNTg7IHR5cGVkZWYgUDU5IGl0ZW01OTsgdHlwZWRlZiBQNjAgaXRlbTYwOyB0eXBlZGVmIFA2MSBpdGVtNjE7IHR5cGVkZWYgUDYyIGl0ZW02MjsgdHlwZWRlZiBQNjMgaXRlbTYzOyB0eXBlZGVmIFA2NCBpdGVtNjQ7IHR5cGVkZWYgUDY1IGl0ZW02NTsgdHlwZWRlZiBQNjYgaXRlbTY2OyB0eXBlZGVmIFA2NyBpdGVtNjc7IHR5cGVkZWYgUDY4IGl0ZW02ODsgdHlwZWRlZiBQNjkgaXRlbTY5OyB0eXBlZGVmIFA3MCBpdGVtNzA7IHR5cGVkZWYgUDcxIGl0ZW03MTsgdHlwZWRlZiBQNzIgaXRlbTcyOyB0eXBlZGVmIFA3MyBpdGVtNzM7IHR5cGVkZWYgUDc0IGl0ZW03NDsgdHlwZWRlZiBQNzUgaXRlbTc1OyB0eXBlZGVmIFA3NiBpdGVtNzY7IHR5cGVkZWYgUDc3IGl0ZW03NzsgdHlwZWRlZiBQNzggaXRlbTc4OyB0eXBlZGVmIFA3OSBpdGVtNzk7IHR5cGVkZWYgUDgwIGl0ZW04MDsgdHlwZWRlZiBQODEgaXRlbTgxOyB0eXBlZGVmIFA4MiBpdGVtODI7IHR5cGVkZWYgUDgzIGl0ZW04MzsgdHlwZWRlZiBQODQgaXRlbTg0OyB0eXBlZGVmIFA4NSBpdGVtODU7IHR5cGVkZWYgUDg2IGl0ZW04NjsgdHlwZWRlZiBQODcgaXRlbTg3OyB0eXBlZGVmIFA4OCBpdGVtODg7IHR5cGVkZWYgUDg5IGl0ZW04OTsgdHlwZWRlZiBQOTAgaXRlbTkwOyB0eXBlZGVmIFA5MSBpdGVtOTE7IHR5cGVkZWYgUDkyIGl0ZW05MjsgdHlwZWRlZiBQOTMgaXRlbTkzOyB0eXBlZGVmIFA5NCBpdGVtOTQ7IHR5cGVkZWYgUDk1IGl0ZW05NTsgdHlwZWRlZiBQOTYgaXRlbTk2OyB0eXBlZGVmIFA5NyBpdGVtOTc7IHR5cGVkZWYgUDk4IGl0ZW05ODsgdHlwZWRlZiBQOTkgaXRlbTk5OyB0eXBlZGVmIFAxMDAgaXRlbTEwMDsgdHlwZWRlZiBQMTAxIGl0ZW0xMDE7IHR5cGVkZWYgUDEwMiBpdGVtMTAyOyB0eXBlZGVmIFAxMDMgaXRlbTEwMzsgdHlwZWRlZiBQMTA0IGl0ZW0xMDQ7IHR5cGVkZWYgUDEwNSBpdGVtMTA1OyB0eXBlZGVmIFAxMDYgaXRlbTEwNjsgdHlwZWRlZiBQMTA3IGl0ZW0xMDc7IHR5cGVkZWYgUDEwOCBpdGVtMTA4OyB0eXBlZGVmIFAxMDkgaXRlbTEwOTsgdHlwZWRlZiBQMTEwIGl0ZW0xMTA7IHR5cGVkZWYgUDExMSBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBQOTMgLCBjbGFzcyBQOTQgLCBjbGFzcyBQOTUgLCBjbGFzcyBQOTYgLCBjbGFzcyBQOTcgLCBjbGFzcyBQOTggLCBjbGFzcyBQOTkgLCBjbGFzcyBQMTAwICwgY2xhc3MgUDEwMSAsIGNsYXNzIFAxMDIgLCBjbGFzcyBQMTAzICwgY2xhc3MgUDEwNCAsIGNsYXNzIFAxMDUgLCBjbGFzcyBQMTA2ICwgY2xhc3MgUDEwNyAsIGNsYXNzIFAxMDggLCBjbGFzcyBQMTA5ICwgY2xhc3MgUDExMCAsIGNsYXNzIFAxMTEgLCBjbGFzcyBQMTEyID4gc3RydWN0IHZlY3RvcjExMyB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjExMzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyPiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgUDQxIGl0ZW00MTsgdHlwZWRlZiBQNDIgaXRlbTQyOyB0eXBlZGVmIFA0MyBpdGVtNDM7IHR5cGVkZWYgUDQ0IGl0ZW00NDsgdHlwZWRlZiBQNDUgaXRlbTQ1OyB0eXBlZGVmIFA0NiBpdGVtNDY7IHR5cGVkZWYgUDQ3IGl0ZW00NzsgdHlwZWRlZiBQNDggaXRlbTQ4OyB0eXBlZGVmIFA0OSBpdGVtNDk7IHR5cGVkZWYgUDUwIGl0ZW01MDsgdHlwZWRlZiBQNTEgaXRlbTUxOyB0eXBlZGVmIFA1MiBpdGVtNTI7IHR5cGVkZWYgUDUzIGl0ZW01MzsgdHlwZWRlZiBQNTQgaXRlbTU0OyB0eXBlZGVmIFA1NSBpdGVtNTU7IHR5cGVkZWYgUDU2IGl0ZW01NjsgdHlwZWRlZiBQNTcgaXRlbTU3OyB0eXBlZGVmIFA1OCBpdGVtNTg7IHR5cGVkZWYgUDU5IGl0ZW01OTsgdHlwZWRlZiBQNjAgaXRlbTYwOyB0eXBlZGVmIFA2MSBpdGVtNjE7IHR5cGVkZWYgUDYyIGl0ZW02MjsgdHlwZWRlZiBQNjMgaXRlbTYzOyB0eXBlZGVmIFA2NCBpdGVtNjQ7IHR5cGVkZWYgUDY1IGl0ZW02NTsgdHlwZWRlZiBQNjYgaXRlbTY2OyB0eXBlZGVmIFA2NyBpdGVtNjc7IHR5cGVkZWYgUDY4IGl0ZW02ODsgdHlwZWRlZiBQNjkgaXRlbTY5OyB0eXBlZGVmIFA3MCBpdGVtNzA7IHR5cGVkZWYgUDcxIGl0ZW03MTsgdHlwZWRlZiBQNzIgaXRlbTcyOyB0eXBlZGVmIFA3MyBpdGVtNzM7IHR5cGVkZWYgUDc0IGl0ZW03NDsgdHlwZWRlZiBQNzUgaXRlbTc1OyB0eXBlZGVmIFA3NiBpdGVtNzY7IHR5cGVkZWYgUDc3IGl0ZW03NzsgdHlwZWRlZiBQNzggaXRlbTc4OyB0eXBlZGVmIFA3OSBpdGVtNzk7IHR5cGVkZWYgUDgwIGl0ZW04MDsgdHlwZWRlZiBQODEgaXRlbTgxOyB0eXBlZGVmIFA4MiBpdGVtODI7IHR5cGVkZWYgUDgzIGl0ZW04MzsgdHlwZWRlZiBQODQgaXRlbTg0OyB0eXBlZGVmIFA4NSBpdGVtODU7IHR5cGVkZWYgUDg2IGl0ZW04NjsgdHlwZWRlZiBQODcgaXRlbTg3OyB0eXBlZGVmIFA4OCBpdGVtODg7IHR5cGVkZWYgUDg5IGl0ZW04OTsgdHlwZWRlZiBQOTAgaXRlbTkwOyB0eXBlZGVmIFA5MSBpdGVtOTE7IHR5cGVkZWYgUDkyIGl0ZW05MjsgdHlwZWRlZiBQOTMgaXRlbTkzOyB0eXBlZGVmIFA5NCBpdGVtOTQ7IHR5cGVkZWYgUDk1IGl0ZW05NTsgdHlwZWRlZiBQOTYgaXRlbTk2OyB0eXBlZGVmIFA5NyBpdGVtOTc7IHR5cGVkZWYgUDk4IGl0ZW05ODsgdHlwZWRlZiBQOTkgaXRlbTk5OyB0eXBlZGVmIFAxMDAgaXRlbTEwMDsgdHlwZWRlZiBQMTAxIGl0ZW0xMDE7IHR5cGVkZWYgUDEwMiBpdGVtMTAyOyB0eXBlZGVmIFAxMDMgaXRlbTEwMzsgdHlwZWRlZiBQMTA0IGl0ZW0xMDQ7IHR5cGVkZWYgUDEwNSBpdGVtMTA1OyB0eXBlZGVmIFAxMDYgaXRlbTEwNjsgdHlwZWRlZiBQMTA3IGl0ZW0xMDc7IHR5cGVkZWYgUDEwOCBpdGVtMTA4OyB0eXBlZGVmIFAxMDkgaXRlbTEwOTsgdHlwZWRlZiBQMTEwIGl0ZW0xMTA7IHR5cGVkZWYgUDExMSBpdGVtMTExOyB0eXBlZGVmIFAxMTIgaXRlbTExMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5ODsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ICwgY2xhc3MgUDk2ICwgY2xhc3MgUDk3ICwgY2xhc3MgUDk4ICwgY2xhc3MgUDk5ICwgY2xhc3MgUDEwMCAsIGNsYXNzIFAxMDEgLCBjbGFzcyBQMTAyICwgY2xhc3MgUDEwMyAsIGNsYXNzIFAxMDQgLCBjbGFzcyBQMTA1ICwgY2xhc3MgUDEwNiAsIGNsYXNzIFAxMDcgLCBjbGFzcyBQMTA4ICwgY2xhc3MgUDEwOSAsIGNsYXNzIFAxMTAgLCBjbGFzcyBQMTExICwgY2xhc3MgUDExMiAsIGNsYXNzIFAxMTMgPiBzdHJ1Y3QgdmVjdG9yMTE0IHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yMTE0PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFA5MiAsIFA5MyAsIFA5NCAsIFA5NSAsIFA5NiAsIFA5NyAsIFA5OCAsIFA5OSAsIFAxMDAgLCBQMTAxICwgUDEwMiAsIFAxMDMgLCBQMTA0ICwgUDEwNSAsIFAxMDYgLCBQMTA3ICwgUDEwOCAsIFAxMDkgLCBQMTEwICwgUDExMSAsIFAxMTIgLCBQMTEzPiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgUDQxIGl0ZW00MTsgdHlwZWRlZiBQNDIgaXRlbTQyOyB0eXBlZGVmIFA0MyBpdGVtNDM7IHR5cGVkZWYgUDQ0IGl0ZW00NDsgdHlwZWRlZiBQNDUgaXRlbTQ1OyB0eXBlZGVmIFA0NiBpdGVtNDY7IHR5cGVkZWYgUDQ3IGl0ZW00NzsgdHlwZWRlZiBQNDggaXRlbTQ4OyB0eXBlZGVmIFA0OSBpdGVtNDk7IHR5cGVkZWYgUDUwIGl0ZW01MDsgdHlwZWRlZiBQNTEgaXRlbTUxOyB0eXBlZGVmIFA1MiBpdGVtNTI7IHR5cGVkZWYgUDUzIGl0ZW01MzsgdHlwZWRlZiBQNTQgaXRlbTU0OyB0eXBlZGVmIFA1NSBpdGVtNTU7IHR5cGVkZWYgUDU2IGl0ZW01NjsgdHlwZWRlZiBQNTcgaXRlbTU3OyB0eXBlZGVmIFA1OCBpdGVtNTg7IHR5cGVkZWYgUDU5IGl0ZW01OTsgdHlwZWRlZiBQNjAgaXRlbTYwOyB0eXBlZGVmIFA2MSBpdGVtNjE7IHR5cGVkZWYgUDYyIGl0ZW02MjsgdHlwZWRlZiBQNjMgaXRlbTYzOyB0eXBlZGVmIFA2NCBpdGVtNjQ7IHR5cGVkZWYgUDY1IGl0ZW02NTsgdHlwZWRlZiBQNjYgaXRlbTY2OyB0eXBlZGVmIFA2NyBpdGVtNjc7IHR5cGVkZWYgUDY4IGl0ZW02ODsgdHlwZWRlZiBQNjkgaXRlbTY5OyB0eXBlZGVmIFA3MCBpdGVtNzA7IHR5cGVkZWYgUDcxIGl0ZW03MTsgdHlwZWRlZiBQNzIgaXRlbTcyOyB0eXBlZGVmIFA3MyBpdGVtNzM7IHR5cGVkZWYgUDc0IGl0ZW03NDsgdHlwZWRlZiBQNzUgaXRlbTc1OyB0eXBlZGVmIFA3NiBpdGVtNzY7IHR5cGVkZWYgUDc3IGl0ZW03NzsgdHlwZWRlZiBQNzggaXRlbTc4OyB0eXBlZGVmIFA3OSBpdGVtNzk7IHR5cGVkZWYgUDgwIGl0ZW04MDsgdHlwZWRlZiBQODEgaXRlbTgxOyB0eXBlZGVmIFA4MiBpdGVtODI7IHR5cGVkZWYgUDgzIGl0ZW04MzsgdHlwZWRlZiBQODQgaXRlbTg0OyB0eXBlZGVmIFA4NSBpdGVtODU7IHR5cGVkZWYgUDg2IGl0ZW04NjsgdHlwZWRlZiBQODcgaXRlbTg3OyB0eXBlZGVmIFA4OCBpdGVtODg7IHR5cGVkZWYgUDg5IGl0ZW04OTsgdHlwZWRlZiBQOTAgaXRlbTkwOyB0eXBlZGVmIFA5MSBpdGVtOTE7IHR5cGVkZWYgUDkyIGl0ZW05MjsgdHlwZWRlZiBQOTMgaXRlbTkzOyB0eXBlZGVmIFA5NCBpdGVtOTQ7IHR5cGVkZWYgUDk1IGl0ZW05NTsgdHlwZWRlZiBQOTYgaXRlbTk2OyB0eXBlZGVmIFA5NyBpdGVtOTc7IHR5cGVkZWYgUDk4IGl0ZW05ODsgdHlwZWRlZiBQOTkgaXRlbTk5OyB0eXBlZGVmIFAxMDAgaXRlbTEwMDsgdHlwZWRlZiBQMTAxIGl0ZW0xMDE7IHR5cGVkZWYgUDEwMiBpdGVtMTAyOyB0eXBlZGVmIFAxMDMgaXRlbTEwMzsgdHlwZWRlZiBQMTA0IGl0ZW0xMDQ7IHR5cGVkZWYgUDEwNSBpdGVtMTA1OyB0eXBlZGVmIFAxMDYgaXRlbTEwNjsgdHlwZWRlZiBQMTA3IGl0ZW0xMDc7IHR5cGVkZWYgUDEwOCBpdGVtMTA4OyB0eXBlZGVmIFAxMDkgaXRlbTEwOTsgdHlwZWRlZiBQMTEwIGl0ZW0xMTA7IHR5cGVkZWYgUDExMSBpdGVtMTExOyB0eXBlZGVmIFAxMTIgaXRlbTExMjsgdHlwZWRlZiBQMTEzIGl0ZW0xMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSAsIGNsYXNzIFA4NiAsIGNsYXNzIFA4NyAsIGNsYXNzIFA4OCAsIGNsYXNzIFA4OSAsIGNsYXNzIFA5MCAsIGNsYXNzIFA5MSAsIGNsYXNzIFA5MiAsIGNsYXNzIFA5MyAsIGNsYXNzIFA5NCAsIGNsYXNzIFA5NSAsIGNsYXNzIFA5NiAsIGNsYXNzIFA5NyAsIGNsYXNzIFA5OCAsIGNsYXNzIFA5OSAsIGNsYXNzIFAxMDAgLCBjbGFzcyBQMTAxICwgY2xhc3MgUDEwMiAsIGNsYXNzIFAxMDMgLCBjbGFzcyBQMTA0ICwgY2xhc3MgUDEwNSAsIGNsYXNzIFAxMDYgLCBjbGFzcyBQMTA3ICwgY2xhc3MgUDEwOCAsIGNsYXNzIFAxMDkgLCBjbGFzcyBQMTEwICwgY2xhc3MgUDExMSAsIGNsYXNzIFAxMTIgLCBjbGFzcyBQMTEzICwgY2xhc3MgUDExNCA+IHN0cnVjdCB2ZWN0b3IxMTUgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3IxMTU8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1ICwgUDk2ICwgUDk3ICwgUDk4ICwgUDk5ICwgUDEwMCAsIFAxMDEgLCBQMTAyICwgUDEwMyAsIFAxMDQgLCBQMTA1ICwgUDEwNiAsIFAxMDcgLCBQMTA4ICwgUDEwOSAsIFAxMTAgLCBQMTExICwgUDExMiAsIFAxMTMgLCBQMTE0PiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgUDQxIGl0ZW00MTsgdHlwZWRlZiBQNDIgaXRlbTQyOyB0eXBlZGVmIFA0MyBpdGVtNDM7IHR5cGVkZWYgUDQ0IGl0ZW00NDsgdHlwZWRlZiBQNDUgaXRlbTQ1OyB0eXBlZGVmIFA0NiBpdGVtNDY7IHR5cGVkZWYgUDQ3IGl0ZW00NzsgdHlwZWRlZiBQNDggaXRlbTQ4OyB0eXBlZGVmIFA0OSBpdGVtNDk7IHR5cGVkZWYgUDUwIGl0ZW01MDsgdHlwZWRlZiBQNTEgaXRlbTUxOyB0eXBlZGVmIFA1MiBpdGVtNTI7IHR5cGVkZWYgUDUzIGl0ZW01MzsgdHlwZWRlZiBQNTQgaXRlbTU0OyB0eXBlZGVmIFA1NSBpdGVtNTU7IHR5cGVkZWYgUDU2IGl0ZW01NjsgdHlwZWRlZiBQNTcgaXRlbTU3OyB0eXBlZGVmIFA1OCBpdGVtNTg7IHR5cGVkZWYgUDU5IGl0ZW01OTsgdHlwZWRlZiBQNjAgaXRlbTYwOyB0eXBlZGVmIFA2MSBpdGVtNjE7IHR5cGVkZWYgUDYyIGl0ZW02MjsgdHlwZWRlZiBQNjMgaXRlbTYzOyB0eXBlZGVmIFA2NCBpdGVtNjQ7IHR5cGVkZWYgUDY1IGl0ZW02NTsgdHlwZWRlZiBQNjYgaXRlbTY2OyB0eXBlZGVmIFA2NyBpdGVtNjc7IHR5cGVkZWYgUDY4IGl0ZW02ODsgdHlwZWRlZiBQNjkgaXRlbTY5OyB0eXBlZGVmIFA3MCBpdGVtNzA7IHR5cGVkZWYgUDcxIGl0ZW03MTsgdHlwZWRlZiBQNzIgaXRlbTcyOyB0eXBlZGVmIFA3MyBpdGVtNzM7IHR5cGVkZWYgUDc0IGl0ZW03NDsgdHlwZWRlZiBQNzUgaXRlbTc1OyB0eXBlZGVmIFA3NiBpdGVtNzY7IHR5cGVkZWYgUDc3IGl0ZW03NzsgdHlwZWRlZiBQNzggaXRlbTc4OyB0eXBlZGVmIFA3OSBpdGVtNzk7IHR5cGVkZWYgUDgwIGl0ZW04MDsgdHlwZWRlZiBQODEgaXRlbTgxOyB0eXBlZGVmIFA4MiBpdGVtODI7IHR5cGVkZWYgUDgzIGl0ZW04MzsgdHlwZWRlZiBQODQgaXRlbTg0OyB0eXBlZGVmIFA4NSBpdGVtODU7IHR5cGVkZWYgUDg2IGl0ZW04NjsgdHlwZWRlZiBQODcgaXRlbTg3OyB0eXBlZGVmIFA4OCBpdGVtODg7IHR5cGVkZWYgUDg5IGl0ZW04OTsgdHlwZWRlZiBQOTAgaXRlbTkwOyB0eXBlZGVmIFA5MSBpdGVtOTE7IHR5cGVkZWYgUDkyIGl0ZW05MjsgdHlwZWRlZiBQOTMgaXRlbTkzOyB0eXBlZGVmIFA5NCBpdGVtOTQ7IHR5cGVkZWYgUDk1IGl0ZW05NTsgdHlwZWRlZiBQOTYgaXRlbTk2OyB0eXBlZGVmIFA5NyBpdGVtOTc7IHR5cGVkZWYgUDk4IGl0ZW05ODsgdHlwZWRlZiBQOTkgaXRlbTk5OyB0eXBlZGVmIFAxMDAgaXRlbTEwMDsgdHlwZWRlZiBQMTAxIGl0ZW0xMDE7IHR5cGVkZWYgUDEwMiBpdGVtMTAyOyB0eXBlZGVmIFAxMDMgaXRlbTEwMzsgdHlwZWRlZiBQMTA0IGl0ZW0xMDQ7IHR5cGVkZWYgUDEwNSBpdGVtMTA1OyB0eXBlZGVmIFAxMDYgaXRlbTEwNjsgdHlwZWRlZiBQMTA3IGl0ZW0xMDc7IHR5cGVkZWYgUDEwOCBpdGVtMTA4OyB0eXBlZGVmIFAxMDkgaXRlbTEwOTsgdHlwZWRlZiBQMTEwIGl0ZW0xMTA7IHR5cGVkZWYgUDExMSBpdGVtMTExOyB0eXBlZGVmIFAxMTIgaXRlbTExMjsgdHlwZWRlZiBQMTEzIGl0ZW0xMTM7IHR5cGVkZWYgUDExNCBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBQOTMgLCBjbGFzcyBQOTQgLCBjbGFzcyBQOTUgLCBjbGFzcyBQOTYgLCBjbGFzcyBQOTcgLCBjbGFzcyBQOTggLCBjbGFzcyBQOTkgLCBjbGFzcyBQMTAwICwgY2xhc3MgUDEwMSAsIGNsYXNzIFAxMDIgLCBjbGFzcyBQMTAzICwgY2xhc3MgUDEwNCAsIGNsYXNzIFAxMDUgLCBjbGFzcyBQMTA2ICwgY2xhc3MgUDEwNyAsIGNsYXNzIFAxMDggLCBjbGFzcyBQMTA5ICwgY2xhc3MgUDExMCAsIGNsYXNzIFAxMTEgLCBjbGFzcyBQMTEyICwgY2xhc3MgUDExMyAsIGNsYXNzIFAxMTQgLCBjbGFzcyBQMTE1ID4gc3RydWN0IHZlY3RvcjExNiB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjExNjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1PiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgUDQxIGl0ZW00MTsgdHlwZWRlZiBQNDIgaXRlbTQyOyB0eXBlZGVmIFA0MyBpdGVtNDM7IHR5cGVkZWYgUDQ0IGl0ZW00NDsgdHlwZWRlZiBQNDUgaXRlbTQ1OyB0eXBlZGVmIFA0NiBpdGVtNDY7IHR5cGVkZWYgUDQ3IGl0ZW00NzsgdHlwZWRlZiBQNDggaXRlbTQ4OyB0eXBlZGVmIFA0OSBpdGVtNDk7IHR5cGVkZWYgUDUwIGl0ZW01MDsgdHlwZWRlZiBQNTEgaXRlbTUxOyB0eXBlZGVmIFA1MiBpdGVtNTI7IHR5cGVkZWYgUDUzIGl0ZW01MzsgdHlwZWRlZiBQNTQgaXRlbTU0OyB0eXBlZGVmIFA1NSBpdGVtNTU7IHR5cGVkZWYgUDU2IGl0ZW01NjsgdHlwZWRlZiBQNTcgaXRlbTU3OyB0eXBlZGVmIFA1OCBpdGVtNTg7IHR5cGVkZWYgUDU5IGl0ZW01OTsgdHlwZWRlZiBQNjAgaXRlbTYwOyB0eXBlZGVmIFA2MSBpdGVtNjE7IHR5cGVkZWYgUDYyIGl0ZW02MjsgdHlwZWRlZiBQNjMgaXRlbTYzOyB0eXBlZGVmIFA2NCBpdGVtNjQ7IHR5cGVkZWYgUDY1IGl0ZW02NTsgdHlwZWRlZiBQNjYgaXRlbTY2OyB0eXBlZGVmIFA2NyBpdGVtNjc7IHR5cGVkZWYgUDY4IGl0ZW02ODsgdHlwZWRlZiBQNjkgaXRlbTY5OyB0eXBlZGVmIFA3MCBpdGVtNzA7IHR5cGVkZWYgUDcxIGl0ZW03MTsgdHlwZWRlZiBQNzIgaXRlbTcyOyB0eXBlZGVmIFA3MyBpdGVtNzM7IHR5cGVkZWYgUDc0IGl0ZW03NDsgdHlwZWRlZiBQNzUgaXRlbTc1OyB0eXBlZGVmIFA3NiBpdGVtNzY7IHR5cGVkZWYgUDc3IGl0ZW03NzsgdHlwZWRlZiBQNzggaXRlbTc4OyB0eXBlZGVmIFA3OSBpdGVtNzk7IHR5cGVkZWYgUDgwIGl0ZW04MDsgdHlwZWRlZiBQODEgaXRlbTgxOyB0eXBlZGVmIFA4MiBpdGVtODI7IHR5cGVkZWYgUDgzIGl0ZW04MzsgdHlwZWRlZiBQODQgaXRlbTg0OyB0eXBlZGVmIFA4NSBpdGVtODU7IHR5cGVkZWYgUDg2IGl0ZW04NjsgdHlwZWRlZiBQODcgaXRlbTg3OyB0eXBlZGVmIFA4OCBpdGVtODg7IHR5cGVkZWYgUDg5IGl0ZW04OTsgdHlwZWRlZiBQOTAgaXRlbTkwOyB0eXBlZGVmIFA5MSBpdGVtOTE7IHR5cGVkZWYgUDkyIGl0ZW05MjsgdHlwZWRlZiBQOTMgaXRlbTkzOyB0eXBlZGVmIFA5NCBpdGVtOTQ7IHR5cGVkZWYgUDk1IGl0ZW05NTsgdHlwZWRlZiBQOTYgaXRlbTk2OyB0eXBlZGVmIFA5NyBpdGVtOTc7IHR5cGVkZWYgUDk4IGl0ZW05ODsgdHlwZWRlZiBQOTkgaXRlbTk5OyB0eXBlZGVmIFAxMDAgaXRlbTEwMDsgdHlwZWRlZiBQMTAxIGl0ZW0xMDE7IHR5cGVkZWYgUDEwMiBpdGVtMTAyOyB0eXBlZGVmIFAxMDMgaXRlbTEwMzsgdHlwZWRlZiBQMTA0IGl0ZW0xMDQ7IHR5cGVkZWYgUDEwNSBpdGVtMTA1OyB0eXBlZGVmIFAxMDYgaXRlbTEwNjsgdHlwZWRlZiBQMTA3IGl0ZW0xMDc7IHR5cGVkZWYgUDEwOCBpdGVtMTA4OyB0eXBlZGVmIFAxMDkgaXRlbTEwOTsgdHlwZWRlZiBQMTEwIGl0ZW0xMTA7IHR5cGVkZWYgUDExMSBpdGVtMTExOyB0eXBlZGVmIFAxMTIgaXRlbTExMjsgdHlwZWRlZiBQMTEzIGl0ZW0xMTM7IHR5cGVkZWYgUDExNCBpdGVtMTE0OyB0eXBlZGVmIFAxMTUgaXRlbTExNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5ODsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ICwgY2xhc3MgUDk2ICwgY2xhc3MgUDk3ICwgY2xhc3MgUDk4ICwgY2xhc3MgUDk5ICwgY2xhc3MgUDEwMCAsIGNsYXNzIFAxMDEgLCBjbGFzcyBQMTAyICwgY2xhc3MgUDEwMyAsIGNsYXNzIFAxMDQgLCBjbGFzcyBQMTA1ICwgY2xhc3MgUDEwNiAsIGNsYXNzIFAxMDcgLCBjbGFzcyBQMTA4ICwgY2xhc3MgUDEwOSAsIGNsYXNzIFAxMTAgLCBjbGFzcyBQMTExICwgY2xhc3MgUDExMiAsIGNsYXNzIFAxMTMgLCBjbGFzcyBQMTE0ICwgY2xhc3MgUDExNSAsIGNsYXNzIFAxMTYgPiBzdHJ1Y3QgdmVjdG9yMTE3IHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yMTE3PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFA5MiAsIFA5MyAsIFA5NCAsIFA5NSAsIFA5NiAsIFA5NyAsIFA5OCAsIFA5OSAsIFAxMDAgLCBQMTAxICwgUDEwMiAsIFAxMDMgLCBQMTA0ICwgUDEwNSAsIFAxMDYgLCBQMTA3ICwgUDEwOCAsIFAxMDkgLCBQMTEwICwgUDExMSAsIFAxMTIgLCBQMTEzICwgUDExNCAsIFAxMTUgLCBQMTE2PiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgUDQxIGl0ZW00MTsgdHlwZWRlZiBQNDIgaXRlbTQyOyB0eXBlZGVmIFA0MyBpdGVtNDM7IHR5cGVkZWYgUDQ0IGl0ZW00NDsgdHlwZWRlZiBQNDUgaXRlbTQ1OyB0eXBlZGVmIFA0NiBpdGVtNDY7IHR5cGVkZWYgUDQ3IGl0ZW00NzsgdHlwZWRlZiBQNDggaXRlbTQ4OyB0eXBlZGVmIFA0OSBpdGVtNDk7IHR5cGVkZWYgUDUwIGl0ZW01MDsgdHlwZWRlZiBQNTEgaXRlbTUxOyB0eXBlZGVmIFA1MiBpdGVtNTI7IHR5cGVkZWYgUDUzIGl0ZW01MzsgdHlwZWRlZiBQNTQgaXRlbTU0OyB0eXBlZGVmIFA1NSBpdGVtNTU7IHR5cGVkZWYgUDU2IGl0ZW01NjsgdHlwZWRlZiBQNTcgaXRlbTU3OyB0eXBlZGVmIFA1OCBpdGVtNTg7IHR5cGVkZWYgUDU5IGl0ZW01OTsgdHlwZWRlZiBQNjAgaXRlbTYwOyB0eXBlZGVmIFA2MSBpdGVtNjE7IHR5cGVkZWYgUDYyIGl0ZW02MjsgdHlwZWRlZiBQNjMgaXRlbTYzOyB0eXBlZGVmIFA2NCBpdGVtNjQ7IHR5cGVkZWYgUDY1IGl0ZW02NTsgdHlwZWRlZiBQNjYgaXRlbTY2OyB0eXBlZGVmIFA2NyBpdGVtNjc7IHR5cGVkZWYgUDY4IGl0ZW02ODsgdHlwZWRlZiBQNjkgaXRlbTY5OyB0eXBlZGVmIFA3MCBpdGVtNzA7IHR5cGVkZWYgUDcxIGl0ZW03MTsgdHlwZWRlZiBQNzIgaXRlbTcyOyB0eXBlZGVmIFA3MyBpdGVtNzM7IHR5cGVkZWYgUDc0IGl0ZW03NDsgdHlwZWRlZiBQNzUgaXRlbTc1OyB0eXBlZGVmIFA3NiBpdGVtNzY7IHR5cGVkZWYgUDc3IGl0ZW03NzsgdHlwZWRlZiBQNzggaXRlbTc4OyB0eXBlZGVmIFA3OSBpdGVtNzk7IHR5cGVkZWYgUDgwIGl0ZW04MDsgdHlwZWRlZiBQODEgaXRlbTgxOyB0eXBlZGVmIFA4MiBpdGVtODI7IHR5cGVkZWYgUDgzIGl0ZW04MzsgdHlwZWRlZiBQODQgaXRlbTg0OyB0eXBlZGVmIFA4NSBpdGVtODU7IHR5cGVkZWYgUDg2IGl0ZW04NjsgdHlwZWRlZiBQODcgaXRlbTg3OyB0eXBlZGVmIFA4OCBpdGVtODg7IHR5cGVkZWYgUDg5IGl0ZW04OTsgdHlwZWRlZiBQOTAgaXRlbTkwOyB0eXBlZGVmIFA5MSBpdGVtOTE7IHR5cGVkZWYgUDkyIGl0ZW05MjsgdHlwZWRlZiBQOTMgaXRlbTkzOyB0eXBlZGVmIFA5NCBpdGVtOTQ7IHR5cGVkZWYgUDk1IGl0ZW05NTsgdHlwZWRlZiBQOTYgaXRlbTk2OyB0eXBlZGVmIFA5NyBpdGVtOTc7IHR5cGVkZWYgUDk4IGl0ZW05ODsgdHlwZWRlZiBQOTkgaXRlbTk5OyB0eXBlZGVmIFAxMDAgaXRlbTEwMDsgdHlwZWRlZiBQMTAxIGl0ZW0xMDE7IHR5cGVkZWYgUDEwMiBpdGVtMTAyOyB0eXBlZGVmIFAxMDMgaXRlbTEwMzsgdHlwZWRlZiBQMTA0IGl0ZW0xMDQ7IHR5cGVkZWYgUDEwNSBpdGVtMTA1OyB0eXBlZGVmIFAxMDYgaXRlbTEwNjsgdHlwZWRlZiBQMTA3IGl0ZW0xMDc7IHR5cGVkZWYgUDEwOCBpdGVtMTA4OyB0eXBlZGVmIFAxMDkgaXRlbTEwOTsgdHlwZWRlZiBQMTEwIGl0ZW0xMTA7IHR5cGVkZWYgUDExMSBpdGVtMTExOyB0eXBlZGVmIFAxMTIgaXRlbTExMjsgdHlwZWRlZiBQMTEzIGl0ZW0xMTM7IHR5cGVkZWYgUDExNCBpdGVtMTE0OyB0eXBlZGVmIFAxMTUgaXRlbTExNTsgdHlwZWRlZiBQMTE2IGl0ZW0xMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSAsIGNsYXNzIFA4NiAsIGNsYXNzIFA4NyAsIGNsYXNzIFA4OCAsIGNsYXNzIFA4OSAsIGNsYXNzIFA5MCAsIGNsYXNzIFA5MSAsIGNsYXNzIFA5MiAsIGNsYXNzIFA5MyAsIGNsYXNzIFA5NCAsIGNsYXNzIFA5NSAsIGNsYXNzIFA5NiAsIGNsYXNzIFA5NyAsIGNsYXNzIFA5OCAsIGNsYXNzIFA5OSAsIGNsYXNzIFAxMDAgLCBjbGFzcyBQMTAxICwgY2xhc3MgUDEwMiAsIGNsYXNzIFAxMDMgLCBjbGFzcyBQMTA0ICwgY2xhc3MgUDEwNSAsIGNsYXNzIFAxMDYgLCBjbGFzcyBQMTA3ICwgY2xhc3MgUDEwOCAsIGNsYXNzIFAxMDkgLCBjbGFzcyBQMTEwICwgY2xhc3MgUDExMSAsIGNsYXNzIFAxMTIgLCBjbGFzcyBQMTEzICwgY2xhc3MgUDExNCAsIGNsYXNzIFAxMTUgLCBjbGFzcyBQMTE2ICwgY2xhc3MgUDExNyA+IHN0cnVjdCB2ZWN0b3IxMTggeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3IxMTg8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1ICwgUDk2ICwgUDk3ICwgUDk4ICwgUDk5ICwgUDEwMCAsIFAxMDEgLCBQMTAyICwgUDEwMyAsIFAxMDQgLCBQMTA1ICwgUDEwNiAsIFAxMDcgLCBQMTA4ICwgUDEwOSAsIFAxMTAgLCBQMTExICwgUDExMiAsIFAxMTMgLCBQMTE0ICwgUDExNSAsIFAxMTYgLCBQMTE3PiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgUDQxIGl0ZW00MTsgdHlwZWRlZiBQNDIgaXRlbTQyOyB0eXBlZGVmIFA0MyBpdGVtNDM7IHR5cGVkZWYgUDQ0IGl0ZW00NDsgdHlwZWRlZiBQNDUgaXRlbTQ1OyB0eXBlZGVmIFA0NiBpdGVtNDY7IHR5cGVkZWYgUDQ3IGl0ZW00NzsgdHlwZWRlZiBQNDggaXRlbTQ4OyB0eXBlZGVmIFA0OSBpdGVtNDk7IHR5cGVkZWYgUDUwIGl0ZW01MDsgdHlwZWRlZiBQNTEgaXRlbTUxOyB0eXBlZGVmIFA1MiBpdGVtNTI7IHR5cGVkZWYgUDUzIGl0ZW01MzsgdHlwZWRlZiBQNTQgaXRlbTU0OyB0eXBlZGVmIFA1NSBpdGVtNTU7IHR5cGVkZWYgUDU2IGl0ZW01NjsgdHlwZWRlZiBQNTcgaXRlbTU3OyB0eXBlZGVmIFA1OCBpdGVtNTg7IHR5cGVkZWYgUDU5IGl0ZW01OTsgdHlwZWRlZiBQNjAgaXRlbTYwOyB0eXBlZGVmIFA2MSBpdGVtNjE7IHR5cGVkZWYgUDYyIGl0ZW02MjsgdHlwZWRlZiBQNjMgaXRlbTYzOyB0eXBlZGVmIFA2NCBpdGVtNjQ7IHR5cGVkZWYgUDY1IGl0ZW02NTsgdHlwZWRlZiBQNjYgaXRlbTY2OyB0eXBlZGVmIFA2NyBpdGVtNjc7IHR5cGVkZWYgUDY4IGl0ZW02ODsgdHlwZWRlZiBQNjkgaXRlbTY5OyB0eXBlZGVmIFA3MCBpdGVtNzA7IHR5cGVkZWYgUDcxIGl0ZW03MTsgdHlwZWRlZiBQNzIgaXRlbTcyOyB0eXBlZGVmIFA3MyBpdGVtNzM7IHR5cGVkZWYgUDc0IGl0ZW03NDsgdHlwZWRlZiBQNzUgaXRlbTc1OyB0eXBlZGVmIFA3NiBpdGVtNzY7IHR5cGVkZWYgUDc3IGl0ZW03NzsgdHlwZWRlZiBQNzggaXRlbTc4OyB0eXBlZGVmIFA3OSBpdGVtNzk7IHR5cGVkZWYgUDgwIGl0ZW04MDsgdHlwZWRlZiBQODEgaXRlbTgxOyB0eXBlZGVmIFA4MiBpdGVtODI7IHR5cGVkZWYgUDgzIGl0ZW04MzsgdHlwZWRlZiBQODQgaXRlbTg0OyB0eXBlZGVmIFA4NSBpdGVtODU7IHR5cGVkZWYgUDg2IGl0ZW04NjsgdHlwZWRlZiBQODcgaXRlbTg3OyB0eXBlZGVmIFA4OCBpdGVtODg7IHR5cGVkZWYgUDg5IGl0ZW04OTsgdHlwZWRlZiBQOTAgaXRlbTkwOyB0eXBlZGVmIFA5MSBpdGVtOTE7IHR5cGVkZWYgUDkyIGl0ZW05MjsgdHlwZWRlZiBQOTMgaXRlbTkzOyB0eXBlZGVmIFA5NCBpdGVtOTQ7IHR5cGVkZWYgUDk1IGl0ZW05NTsgdHlwZWRlZiBQOTYgaXRlbTk2OyB0eXBlZGVmIFA5NyBpdGVtOTc7IHR5cGVkZWYgUDk4IGl0ZW05ODsgdHlwZWRlZiBQOTkgaXRlbTk5OyB0eXBlZGVmIFAxMDAgaXRlbTEwMDsgdHlwZWRlZiBQMTAxIGl0ZW0xMDE7IHR5cGVkZWYgUDEwMiBpdGVtMTAyOyB0eXBlZGVmIFAxMDMgaXRlbTEwMzsgdHlwZWRlZiBQMTA0IGl0ZW0xMDQ7IHR5cGVkZWYgUDEwNSBpdGVtMTA1OyB0eXBlZGVmIFAxMDYgaXRlbTEwNjsgdHlwZWRlZiBQMTA3IGl0ZW0xMDc7IHR5cGVkZWYgUDEwOCBpdGVtMTA4OyB0eXBlZGVmIFAxMDkgaXRlbTEwOTsgdHlwZWRlZiBQMTEwIGl0ZW0xMTA7IHR5cGVkZWYgUDExMSBpdGVtMTExOyB0eXBlZGVmIFAxMTIgaXRlbTExMjsgdHlwZWRlZiBQMTEzIGl0ZW0xMTM7IHR5cGVkZWYgUDExNCBpdGVtMTE0OyB0eXBlZGVmIFAxMTUgaXRlbTExNTsgdHlwZWRlZiBQMTE2IGl0ZW0xMTY7IHR5cGVkZWYgUDExNyBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBQOTMgLCBjbGFzcyBQOTQgLCBjbGFzcyBQOTUgLCBjbGFzcyBQOTYgLCBjbGFzcyBQOTcgLCBjbGFzcyBQOTggLCBjbGFzcyBQOTkgLCBjbGFzcyBQMTAwICwgY2xhc3MgUDEwMSAsIGNsYXNzIFAxMDIgLCBjbGFzcyBQMTAzICwgY2xhc3MgUDEwNCAsIGNsYXNzIFAxMDUgLCBjbGFzcyBQMTA2ICwgY2xhc3MgUDEwNyAsIGNsYXNzIFAxMDggLCBjbGFzcyBQMTA5ICwgY2xhc3MgUDExMCAsIGNsYXNzIFAxMTEgLCBjbGFzcyBQMTEyICwgY2xhc3MgUDExMyAsIGNsYXNzIFAxMTQgLCBjbGFzcyBQMTE1ICwgY2xhc3MgUDExNiAsIGNsYXNzIFAxMTcgLCBjbGFzcyBQMTE4ID4gc3RydWN0IHZlY3RvcjExOSB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjExOTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4PiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgUDQxIGl0ZW00MTsgdHlwZWRlZiBQNDIgaXRlbTQyOyB0eXBlZGVmIFA0MyBpdGVtNDM7IHR5cGVkZWYgUDQ0IGl0ZW00NDsgdHlwZWRlZiBQNDUgaXRlbTQ1OyB0eXBlZGVmIFA0NiBpdGVtNDY7IHR5cGVkZWYgUDQ3IGl0ZW00NzsgdHlwZWRlZiBQNDggaXRlbTQ4OyB0eXBlZGVmIFA0OSBpdGVtNDk7IHR5cGVkZWYgUDUwIGl0ZW01MDsgdHlwZWRlZiBQNTEgaXRlbTUxOyB0eXBlZGVmIFA1MiBpdGVtNTI7IHR5cGVkZWYgUDUzIGl0ZW01MzsgdHlwZWRlZiBQNTQgaXRlbTU0OyB0eXBlZGVmIFA1NSBpdGVtNTU7IHR5cGVkZWYgUDU2IGl0ZW01NjsgdHlwZWRlZiBQNTcgaXRlbTU3OyB0eXBlZGVmIFA1OCBpdGVtNTg7IHR5cGVkZWYgUDU5IGl0ZW01OTsgdHlwZWRlZiBQNjAgaXRlbTYwOyB0eXBlZGVmIFA2MSBpdGVtNjE7IHR5cGVkZWYgUDYyIGl0ZW02MjsgdHlwZWRlZiBQNjMgaXRlbTYzOyB0eXBlZGVmIFA2NCBpdGVtNjQ7IHR5cGVkZWYgUDY1IGl0ZW02NTsgdHlwZWRlZiBQNjYgaXRlbTY2OyB0eXBlZGVmIFA2NyBpdGVtNjc7IHR5cGVkZWYgUDY4IGl0ZW02ODsgdHlwZWRlZiBQNjkgaXRlbTY5OyB0eXBlZGVmIFA3MCBpdGVtNzA7IHR5cGVkZWYgUDcxIGl0ZW03MTsgdHlwZWRlZiBQNzIgaXRlbTcyOyB0eXBlZGVmIFA3MyBpdGVtNzM7IHR5cGVkZWYgUDc0IGl0ZW03NDsgdHlwZWRlZiBQNzUgaXRlbTc1OyB0eXBlZGVmIFA3NiBpdGVtNzY7IHR5cGVkZWYgUDc3IGl0ZW03NzsgdHlwZWRlZiBQNzggaXRlbTc4OyB0eXBlZGVmIFA3OSBpdGVtNzk7IHR5cGVkZWYgUDgwIGl0ZW04MDsgdHlwZWRlZiBQODEgaXRlbTgxOyB0eXBlZGVmIFA4MiBpdGVtODI7IHR5cGVkZWYgUDgzIGl0ZW04MzsgdHlwZWRlZiBQODQgaXRlbTg0OyB0eXBlZGVmIFA4NSBpdGVtODU7IHR5cGVkZWYgUDg2IGl0ZW04NjsgdHlwZWRlZiBQODcgaXRlbTg3OyB0eXBlZGVmIFA4OCBpdGVtODg7IHR5cGVkZWYgUDg5IGl0ZW04OTsgdHlwZWRlZiBQOTAgaXRlbTkwOyB0eXBlZGVmIFA5MSBpdGVtOTE7IHR5cGVkZWYgUDkyIGl0ZW05MjsgdHlwZWRlZiBQOTMgaXRlbTkzOyB0eXBlZGVmIFA5NCBpdGVtOTQ7IHR5cGVkZWYgUDk1IGl0ZW05NTsgdHlwZWRlZiBQOTYgaXRlbTk2OyB0eXBlZGVmIFA5NyBpdGVtOTc7IHR5cGVkZWYgUDk4IGl0ZW05ODsgdHlwZWRlZiBQOTkgaXRlbTk5OyB0eXBlZGVmIFAxMDAgaXRlbTEwMDsgdHlwZWRlZiBQMTAxIGl0ZW0xMDE7IHR5cGVkZWYgUDEwMiBpdGVtMTAyOyB0eXBlZGVmIFAxMDMgaXRlbTEwMzsgdHlwZWRlZiBQMTA0IGl0ZW0xMDQ7IHR5cGVkZWYgUDEwNSBpdGVtMTA1OyB0eXBlZGVmIFAxMDYgaXRlbTEwNjsgdHlwZWRlZiBQMTA3IGl0ZW0xMDc7IHR5cGVkZWYgUDEwOCBpdGVtMTA4OyB0eXBlZGVmIFAxMDkgaXRlbTEwOTsgdHlwZWRlZiBQMTEwIGl0ZW0xMTA7IHR5cGVkZWYgUDExMSBpdGVtMTExOyB0eXBlZGVmIFAxMTIgaXRlbTExMjsgdHlwZWRlZiBQMTEzIGl0ZW0xMTM7IHR5cGVkZWYgUDExNCBpdGVtMTE0OyB0eXBlZGVmIFAxMTUgaXRlbTExNTsgdHlwZWRlZiBQMTE2IGl0ZW0xMTY7IHR5cGVkZWYgUDExNyBpdGVtMTE3OyB0eXBlZGVmIFAxMTggaXRlbTExODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5ODsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ICwgY2xhc3MgUDk2ICwgY2xhc3MgUDk3ICwgY2xhc3MgUDk4ICwgY2xhc3MgUDk5ICwgY2xhc3MgUDEwMCAsIGNsYXNzIFAxMDEgLCBjbGFzcyBQMTAyICwgY2xhc3MgUDEwMyAsIGNsYXNzIFAxMDQgLCBjbGFzcyBQMTA1ICwgY2xhc3MgUDEwNiAsIGNsYXNzIFAxMDcgLCBjbGFzcyBQMTA4ICwgY2xhc3MgUDEwOSAsIGNsYXNzIFAxMTAgLCBjbGFzcyBQMTExICwgY2xhc3MgUDExMiAsIGNsYXNzIFAxMTMgLCBjbGFzcyBQMTE0ICwgY2xhc3MgUDExNSAsIGNsYXNzIFAxMTYgLCBjbGFzcyBQMTE3ICwgY2xhc3MgUDExOCAsIGNsYXNzIFAxMTkgPiBzdHJ1Y3QgdmVjdG9yMTIwIHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yMTIwPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFA5MiAsIFA5MyAsIFA5NCAsIFA5NSAsIFA5NiAsIFA5NyAsIFA5OCAsIFA5OSAsIFAxMDAgLCBQMTAxICwgUDEwMiAsIFAxMDMgLCBQMTA0ICwgUDEwNSAsIFAxMDYgLCBQMTA3ICwgUDEwOCAsIFAxMDkgLCBQMTEwICwgUDExMSAsIFAxMTIgLCBQMTEzICwgUDExNCAsIFAxMTUgLCBQMTE2ICwgUDExNyAsIFAxMTggLCBQMTE5PiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgUDQxIGl0ZW00MTsgdHlwZWRlZiBQNDIgaXRlbTQyOyB0eXBlZGVmIFA0MyBpdGVtNDM7IHR5cGVkZWYgUDQ0IGl0ZW00NDsgdHlwZWRlZiBQNDUgaXRlbTQ1OyB0eXBlZGVmIFA0NiBpdGVtNDY7IHR5cGVkZWYgUDQ3IGl0ZW00NzsgdHlwZWRlZiBQNDggaXRlbTQ4OyB0eXBlZGVmIFA0OSBpdGVtNDk7IHR5cGVkZWYgUDUwIGl0ZW01MDsgdHlwZWRlZiBQNTEgaXRlbTUxOyB0eXBlZGVmIFA1MiBpdGVtNTI7IHR5cGVkZWYgUDUzIGl0ZW01MzsgdHlwZWRlZiBQNTQgaXRlbTU0OyB0eXBlZGVmIFA1NSBpdGVtNTU7IHR5cGVkZWYgUDU2IGl0ZW01NjsgdHlwZWRlZiBQNTcgaXRlbTU3OyB0eXBlZGVmIFA1OCBpdGVtNTg7IHR5cGVkZWYgUDU5IGl0ZW01OTsgdHlwZWRlZiBQNjAgaXRlbTYwOyB0eXBlZGVmIFA2MSBpdGVtNjE7IHR5cGVkZWYgUDYyIGl0ZW02MjsgdHlwZWRlZiBQNjMgaXRlbTYzOyB0eXBlZGVmIFA2NCBpdGVtNjQ7IHR5cGVkZWYgUDY1IGl0ZW02NTsgdHlwZWRlZiBQNjYgaXRlbTY2OyB0eXBlZGVmIFA2NyBpdGVtNjc7IHR5cGVkZWYgUDY4IGl0ZW02ODsgdHlwZWRlZiBQNjkgaXRlbTY5OyB0eXBlZGVmIFA3MCBpdGVtNzA7IHR5cGVkZWYgUDcxIGl0ZW03MTsgdHlwZWRlZiBQNzIgaXRlbTcyOyB0eXBlZGVmIFA3MyBpdGVtNzM7IHR5cGVkZWYgUDc0IGl0ZW03NDsgdHlwZWRlZiBQNzUgaXRlbTc1OyB0eXBlZGVmIFA3NiBpdGVtNzY7IHR5cGVkZWYgUDc3IGl0ZW03NzsgdHlwZWRlZiBQNzggaXRlbTc4OyB0eXBlZGVmIFA3OSBpdGVtNzk7IHR5cGVkZWYgUDgwIGl0ZW04MDsgdHlwZWRlZiBQODEgaXRlbTgxOyB0eXBlZGVmIFA4MiBpdGVtODI7IHR5cGVkZWYgUDgzIGl0ZW04MzsgdHlwZWRlZiBQODQgaXRlbTg0OyB0eXBlZGVmIFA4NSBpdGVtODU7IHR5cGVkZWYgUDg2IGl0ZW04NjsgdHlwZWRlZiBQODcgaXRlbTg3OyB0eXBlZGVmIFA4OCBpdGVtODg7IHR5cGVkZWYgUDg5IGl0ZW04OTsgdHlwZWRlZiBQOTAgaXRlbTkwOyB0eXBlZGVmIFA5MSBpdGVtOTE7IHR5cGVkZWYgUDkyIGl0ZW05MjsgdHlwZWRlZiBQOTMgaXRlbTkzOyB0eXBlZGVmIFA5NCBpdGVtOTQ7IHR5cGVkZWYgUDk1IGl0ZW05NTsgdHlwZWRlZiBQOTYgaXRlbTk2OyB0eXBlZGVmIFA5NyBpdGVtOTc7IHR5cGVkZWYgUDk4IGl0ZW05ODsgdHlwZWRlZiBQOTkgaXRlbTk5OyB0eXBlZGVmIFAxMDAgaXRlbTEwMDsgdHlwZWRlZiBQMTAxIGl0ZW0xMDE7IHR5cGVkZWYgUDEwMiBpdGVtMTAyOyB0eXBlZGVmIFAxMDMgaXRlbTEwMzsgdHlwZWRlZiBQMTA0IGl0ZW0xMDQ7IHR5cGVkZWYgUDEwNSBpdGVtMTA1OyB0eXBlZGVmIFAxMDYgaXRlbTEwNjsgdHlwZWRlZiBQMTA3IGl0ZW0xMDc7IHR5cGVkZWYgUDEwOCBpdGVtMTA4OyB0eXBlZGVmIFAxMDkgaXRlbTEwOTsgdHlwZWRlZiBQMTEwIGl0ZW0xMTA7IHR5cGVkZWYgUDExMSBpdGVtMTExOyB0eXBlZGVmIFAxMTIgaXRlbTExMjsgdHlwZWRlZiBQMTEzIGl0ZW0xMTM7IHR5cGVkZWYgUDExNCBpdGVtMTE0OyB0eXBlZGVmIFAxMTUgaXRlbTExNTsgdHlwZWRlZiBQMTE2IGl0ZW0xMTY7IHR5cGVkZWYgUDExNyBpdGVtMTE3OyB0eXBlZGVmIFAxMTggaXRlbTExODsgdHlwZWRlZiBQMTE5IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSAsIGNsYXNzIFA4NiAsIGNsYXNzIFA4NyAsIGNsYXNzIFA4OCAsIGNsYXNzIFA4OSAsIGNsYXNzIFA5MCAsIGNsYXNzIFA5MSAsIGNsYXNzIFA5MiAsIGNsYXNzIFA5MyAsIGNsYXNzIFA5NCAsIGNsYXNzIFA5NSAsIGNsYXNzIFA5NiAsIGNsYXNzIFA5NyAsIGNsYXNzIFA5OCAsIGNsYXNzIFA5OSAsIGNsYXNzIFAxMDAgLCBjbGFzcyBQMTAxICwgY2xhc3MgUDEwMiAsIGNsYXNzIFAxMDMgLCBjbGFzcyBQMTA0ICwgY2xhc3MgUDEwNSAsIGNsYXNzIFAxMDYgLCBjbGFzcyBQMTA3ICwgY2xhc3MgUDEwOCAsIGNsYXNzIFAxMDkgLCBjbGFzcyBQMTEwICwgY2xhc3MgUDExMSAsIGNsYXNzIFAxMTIgLCBjbGFzcyBQMTEzICwgY2xhc3MgUDExNCAsIGNsYXNzIFAxMTUgLCBjbGFzcyBQMTE2ICwgY2xhc3MgUDExNyAsIGNsYXNzIFAxMTggLCBjbGFzcyBQMTE5ICwgY2xhc3MgUDEyMCA+IHN0cnVjdCB2ZWN0b3IxMjEgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3IxMjE8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1ICwgUDk2ICwgUDk3ICwgUDk4ICwgUDk5ICwgUDEwMCAsIFAxMDEgLCBQMTAyICwgUDEwMyAsIFAxMDQgLCBQMTA1ICwgUDEwNiAsIFAxMDcgLCBQMTA4ICwgUDEwOSAsIFAxMTAgLCBQMTExICwgUDExMiAsIFAxMTMgLCBQMTE0ICwgUDExNSAsIFAxMTYgLCBQMTE3ICwgUDExOCAsIFAxMTkgLCBQMTIwPiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgUDQxIGl0ZW00MTsgdHlwZWRlZiBQNDIgaXRlbTQyOyB0eXBlZGVmIFA0MyBpdGVtNDM7IHR5cGVkZWYgUDQ0IGl0ZW00NDsgdHlwZWRlZiBQNDUgaXRlbTQ1OyB0eXBlZGVmIFA0NiBpdGVtNDY7IHR5cGVkZWYgUDQ3IGl0ZW00NzsgdHlwZWRlZiBQNDggaXRlbTQ4OyB0eXBlZGVmIFA0OSBpdGVtNDk7IHR5cGVkZWYgUDUwIGl0ZW01MDsgdHlwZWRlZiBQNTEgaXRlbTUxOyB0eXBlZGVmIFA1MiBpdGVtNTI7IHR5cGVkZWYgUDUzIGl0ZW01MzsgdHlwZWRlZiBQNTQgaXRlbTU0OyB0eXBlZGVmIFA1NSBpdGVtNTU7IHR5cGVkZWYgUDU2IGl0ZW01NjsgdHlwZWRlZiBQNTcgaXRlbTU3OyB0eXBlZGVmIFA1OCBpdGVtNTg7IHR5cGVkZWYgUDU5IGl0ZW01OTsgdHlwZWRlZiBQNjAgaXRlbTYwOyB0eXBlZGVmIFA2MSBpdGVtNjE7IHR5cGVkZWYgUDYyIGl0ZW02MjsgdHlwZWRlZiBQNjMgaXRlbTYzOyB0eXBlZGVmIFA2NCBpdGVtNjQ7IHR5cGVkZWYgUDY1IGl0ZW02NTsgdHlwZWRlZiBQNjYgaXRlbTY2OyB0eXBlZGVmIFA2NyBpdGVtNjc7IHR5cGVkZWYgUDY4IGl0ZW02ODsgdHlwZWRlZiBQNjkgaXRlbTY5OyB0eXBlZGVmIFA3MCBpdGVtNzA7IHR5cGVkZWYgUDcxIGl0ZW03MTsgdHlwZWRlZiBQNzIgaXRlbTcyOyB0eXBlZGVmIFA3MyBpdGVtNzM7IHR5cGVkZWYgUDc0IGl0ZW03NDsgdHlwZWRlZiBQNzUgaXRlbTc1OyB0eXBlZGVmIFA3NiBpdGVtNzY7IHR5cGVkZWYgUDc3IGl0ZW03NzsgdHlwZWRlZiBQNzggaXRlbTc4OyB0eXBlZGVmIFA3OSBpdGVtNzk7IHR5cGVkZWYgUDgwIGl0ZW04MDsgdHlwZWRlZiBQODEgaXRlbTgxOyB0eXBlZGVmIFA4MiBpdGVtODI7IHR5cGVkZWYgUDgzIGl0ZW04MzsgdHlwZWRlZiBQODQgaXRlbTg0OyB0eXBlZGVmIFA4NSBpdGVtODU7IHR5cGVkZWYgUDg2IGl0ZW04NjsgdHlwZWRlZiBQODcgaXRlbTg3OyB0eXBlZGVmIFA4OCBpdGVtODg7IHR5cGVkZWYgUDg5IGl0ZW04OTsgdHlwZWRlZiBQOTAgaXRlbTkwOyB0eXBlZGVmIFA5MSBpdGVtOTE7IHR5cGVkZWYgUDkyIGl0ZW05MjsgdHlwZWRlZiBQOTMgaXRlbTkzOyB0eXBlZGVmIFA5NCBpdGVtOTQ7IHR5cGVkZWYgUDk1IGl0ZW05NTsgdHlwZWRlZiBQOTYgaXRlbTk2OyB0eXBlZGVmIFA5NyBpdGVtOTc7IHR5cGVkZWYgUDk4IGl0ZW05ODsgdHlwZWRlZiBQOTkgaXRlbTk5OyB0eXBlZGVmIFAxMDAgaXRlbTEwMDsgdHlwZWRlZiBQMTAxIGl0ZW0xMDE7IHR5cGVkZWYgUDEwMiBpdGVtMTAyOyB0eXBlZGVmIFAxMDMgaXRlbTEwMzsgdHlwZWRlZiBQMTA0IGl0ZW0xMDQ7IHR5cGVkZWYgUDEwNSBpdGVtMTA1OyB0eXBlZGVmIFAxMDYgaXRlbTEwNjsgdHlwZWRlZiBQMTA3IGl0ZW0xMDc7IHR5cGVkZWYgUDEwOCBpdGVtMTA4OyB0eXBlZGVmIFAxMDkgaXRlbTEwOTsgdHlwZWRlZiBQMTEwIGl0ZW0xMTA7IHR5cGVkZWYgUDExMSBpdGVtMTExOyB0eXBlZGVmIFAxMTIgaXRlbTExMjsgdHlwZWRlZiBQMTEzIGl0ZW0xMTM7IHR5cGVkZWYgUDExNCBpdGVtMTE0OyB0eXBlZGVmIFAxMTUgaXRlbTExNTsgdHlwZWRlZiBQMTE2IGl0ZW0xMTY7IHR5cGVkZWYgUDExNyBpdGVtMTE3OyB0eXBlZGVmIFAxMTggaXRlbTExODsgdHlwZWRlZiBQMTE5IGl0ZW0xMTk7IHR5cGVkZWYgUDEyMCBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBQOTMgLCBjbGFzcyBQOTQgLCBjbGFzcyBQOTUgLCBjbGFzcyBQOTYgLCBjbGFzcyBQOTcgLCBjbGFzcyBQOTggLCBjbGFzcyBQOTkgLCBjbGFzcyBQMTAwICwgY2xhc3MgUDEwMSAsIGNsYXNzIFAxMDIgLCBjbGFzcyBQMTAzICwgY2xhc3MgUDEwNCAsIGNsYXNzIFAxMDUgLCBjbGFzcyBQMTA2ICwgY2xhc3MgUDEwNyAsIGNsYXNzIFAxMDggLCBjbGFzcyBQMTA5ICwgY2xhc3MgUDExMCAsIGNsYXNzIFAxMTEgLCBjbGFzcyBQMTEyICwgY2xhc3MgUDExMyAsIGNsYXNzIFAxMTQgLCBjbGFzcyBQMTE1ICwgY2xhc3MgUDExNiAsIGNsYXNzIFAxMTcgLCBjbGFzcyBQMTE4ICwgY2xhc3MgUDExOSAsIGNsYXNzIFAxMjAgLCBjbGFzcyBQMTIxID4gc3RydWN0IHZlY3RvcjEyMiB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjEyMjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxPiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgUDQxIGl0ZW00MTsgdHlwZWRlZiBQNDIgaXRlbTQyOyB0eXBlZGVmIFA0MyBpdGVtNDM7IHR5cGVkZWYgUDQ0IGl0ZW00NDsgdHlwZWRlZiBQNDUgaXRlbTQ1OyB0eXBlZGVmIFA0NiBpdGVtNDY7IHR5cGVkZWYgUDQ3IGl0ZW00NzsgdHlwZWRlZiBQNDggaXRlbTQ4OyB0eXBlZGVmIFA0OSBpdGVtNDk7IHR5cGVkZWYgUDUwIGl0ZW01MDsgdHlwZWRlZiBQNTEgaXRlbTUxOyB0eXBlZGVmIFA1MiBpdGVtNTI7IHR5cGVkZWYgUDUzIGl0ZW01MzsgdHlwZWRlZiBQNTQgaXRlbTU0OyB0eXBlZGVmIFA1NSBpdGVtNTU7IHR5cGVkZWYgUDU2IGl0ZW01NjsgdHlwZWRlZiBQNTcgaXRlbTU3OyB0eXBlZGVmIFA1OCBpdGVtNTg7IHR5cGVkZWYgUDU5IGl0ZW01OTsgdHlwZWRlZiBQNjAgaXRlbTYwOyB0eXBlZGVmIFA2MSBpdGVtNjE7IHR5cGVkZWYgUDYyIGl0ZW02MjsgdHlwZWRlZiBQNjMgaXRlbTYzOyB0eXBlZGVmIFA2NCBpdGVtNjQ7IHR5cGVkZWYgUDY1IGl0ZW02NTsgdHlwZWRlZiBQNjYgaXRlbTY2OyB0eXBlZGVmIFA2NyBpdGVtNjc7IHR5cGVkZWYgUDY4IGl0ZW02ODsgdHlwZWRlZiBQNjkgaXRlbTY5OyB0eXBlZGVmIFA3MCBpdGVtNzA7IHR5cGVkZWYgUDcxIGl0ZW03MTsgdHlwZWRlZiBQNzIgaXRlbTcyOyB0eXBlZGVmIFA3MyBpdGVtNzM7IHR5cGVkZWYgUDc0IGl0ZW03NDsgdHlwZWRlZiBQNzUgaXRlbTc1OyB0eXBlZGVmIFA3NiBpdGVtNzY7IHR5cGVkZWYgUDc3IGl0ZW03NzsgdHlwZWRlZiBQNzggaXRlbTc4OyB0eXBlZGVmIFA3OSBpdGVtNzk7IHR5cGVkZWYgUDgwIGl0ZW04MDsgdHlwZWRlZiBQODEgaXRlbTgxOyB0eXBlZGVmIFA4MiBpdGVtODI7IHR5cGVkZWYgUDgzIGl0ZW04MzsgdHlwZWRlZiBQODQgaXRlbTg0OyB0eXBlZGVmIFA4NSBpdGVtODU7IHR5cGVkZWYgUDg2IGl0ZW04NjsgdHlwZWRlZiBQODcgaXRlbTg3OyB0eXBlZGVmIFA4OCBpdGVtODg7IHR5cGVkZWYgUDg5IGl0ZW04OTsgdHlwZWRlZiBQOTAgaXRlbTkwOyB0eXBlZGVmIFA5MSBpdGVtOTE7IHR5cGVkZWYgUDkyIGl0ZW05MjsgdHlwZWRlZiBQOTMgaXRlbTkzOyB0eXBlZGVmIFA5NCBpdGVtOTQ7IHR5cGVkZWYgUDk1IGl0ZW05NTsgdHlwZWRlZiBQOTYgaXRlbTk2OyB0eXBlZGVmIFA5NyBpdGVtOTc7IHR5cGVkZWYgUDk4IGl0ZW05ODsgdHlwZWRlZiBQOTkgaXRlbTk5OyB0eXBlZGVmIFAxMDAgaXRlbTEwMDsgdHlwZWRlZiBQMTAxIGl0ZW0xMDE7IHR5cGVkZWYgUDEwMiBpdGVtMTAyOyB0eXBlZGVmIFAxMDMgaXRlbTEwMzsgdHlwZWRlZiBQMTA0IGl0ZW0xMDQ7IHR5cGVkZWYgUDEwNSBpdGVtMTA1OyB0eXBlZGVmIFAxMDYgaXRlbTEwNjsgdHlwZWRlZiBQMTA3IGl0ZW0xMDc7IHR5cGVkZWYgUDEwOCBpdGVtMTA4OyB0eXBlZGVmIFAxMDkgaXRlbTEwOTsgdHlwZWRlZiBQMTEwIGl0ZW0xMTA7IHR5cGVkZWYgUDExMSBpdGVtMTExOyB0eXBlZGVmIFAxMTIgaXRlbTExMjsgdHlwZWRlZiBQMTEzIGl0ZW0xMTM7IHR5cGVkZWYgUDExNCBpdGVtMTE0OyB0eXBlZGVmIFAxMTUgaXRlbTExNTsgdHlwZWRlZiBQMTE2IGl0ZW0xMTY7IHR5cGVkZWYgUDExNyBpdGVtMTE3OyB0eXBlZGVmIFAxMTggaXRlbTExODsgdHlwZWRlZiBQMTE5IGl0ZW0xMTk7IHR5cGVkZWYgUDEyMCBpdGVtMTIwOyB0eXBlZGVmIFAxMjEgaXRlbTEyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5ODsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ICwgY2xhc3MgUDk2ICwgY2xhc3MgUDk3ICwgY2xhc3MgUDk4ICwgY2xhc3MgUDk5ICwgY2xhc3MgUDEwMCAsIGNsYXNzIFAxMDEgLCBjbGFzcyBQMTAyICwgY2xhc3MgUDEwMyAsIGNsYXNzIFAxMDQgLCBjbGFzcyBQMTA1ICwgY2xhc3MgUDEwNiAsIGNsYXNzIFAxMDcgLCBjbGFzcyBQMTA4ICwgY2xhc3MgUDEwOSAsIGNsYXNzIFAxMTAgLCBjbGFzcyBQMTExICwgY2xhc3MgUDExMiAsIGNsYXNzIFAxMTMgLCBjbGFzcyBQMTE0ICwgY2xhc3MgUDExNSAsIGNsYXNzIFAxMTYgLCBjbGFzcyBQMTE3ICwgY2xhc3MgUDExOCAsIGNsYXNzIFAxMTkgLCBjbGFzcyBQMTIwICwgY2xhc3MgUDEyMSAsIGNsYXNzIFAxMjIgPiBzdHJ1Y3QgdmVjdG9yMTIzIHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yMTIzPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFA5MiAsIFA5MyAsIFA5NCAsIFA5NSAsIFA5NiAsIFA5NyAsIFA5OCAsIFA5OSAsIFAxMDAgLCBQMTAxICwgUDEwMiAsIFAxMDMgLCBQMTA0ICwgUDEwNSAsIFAxMDYgLCBQMTA3ICwgUDEwOCAsIFAxMDkgLCBQMTEwICwgUDExMSAsIFAxMTIgLCBQMTEzICwgUDExNCAsIFAxMTUgLCBQMTE2ICwgUDExNyAsIFAxMTggLCBQMTE5ICwgUDEyMCAsIFAxMjEgLCBQMTIyPiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgUDQxIGl0ZW00MTsgdHlwZWRlZiBQNDIgaXRlbTQyOyB0eXBlZGVmIFA0MyBpdGVtNDM7IHR5cGVkZWYgUDQ0IGl0ZW00NDsgdHlwZWRlZiBQNDUgaXRlbTQ1OyB0eXBlZGVmIFA0NiBpdGVtNDY7IHR5cGVkZWYgUDQ3IGl0ZW00NzsgdHlwZWRlZiBQNDggaXRlbTQ4OyB0eXBlZGVmIFA0OSBpdGVtNDk7IHR5cGVkZWYgUDUwIGl0ZW01MDsgdHlwZWRlZiBQNTEgaXRlbTUxOyB0eXBlZGVmIFA1MiBpdGVtNTI7IHR5cGVkZWYgUDUzIGl0ZW01MzsgdHlwZWRlZiBQNTQgaXRlbTU0OyB0eXBlZGVmIFA1NSBpdGVtNTU7IHR5cGVkZWYgUDU2IGl0ZW01NjsgdHlwZWRlZiBQNTcgaXRlbTU3OyB0eXBlZGVmIFA1OCBpdGVtNTg7IHR5cGVkZWYgUDU5IGl0ZW01OTsgdHlwZWRlZiBQNjAgaXRlbTYwOyB0eXBlZGVmIFA2MSBpdGVtNjE7IHR5cGVkZWYgUDYyIGl0ZW02MjsgdHlwZWRlZiBQNjMgaXRlbTYzOyB0eXBlZGVmIFA2NCBpdGVtNjQ7IHR5cGVkZWYgUDY1IGl0ZW02NTsgdHlwZWRlZiBQNjYgaXRlbTY2OyB0eXBlZGVmIFA2NyBpdGVtNjc7IHR5cGVkZWYgUDY4IGl0ZW02ODsgdHlwZWRlZiBQNjkgaXRlbTY5OyB0eXBlZGVmIFA3MCBpdGVtNzA7IHR5cGVkZWYgUDcxIGl0ZW03MTsgdHlwZWRlZiBQNzIgaXRlbTcyOyB0eXBlZGVmIFA3MyBpdGVtNzM7IHR5cGVkZWYgUDc0IGl0ZW03NDsgdHlwZWRlZiBQNzUgaXRlbTc1OyB0eXBlZGVmIFA3NiBpdGVtNzY7IHR5cGVkZWYgUDc3IGl0ZW03NzsgdHlwZWRlZiBQNzggaXRlbTc4OyB0eXBlZGVmIFA3OSBpdGVtNzk7IHR5cGVkZWYgUDgwIGl0ZW04MDsgdHlwZWRlZiBQODEgaXRlbTgxOyB0eXBlZGVmIFA4MiBpdGVtODI7IHR5cGVkZWYgUDgzIGl0ZW04MzsgdHlwZWRlZiBQODQgaXRlbTg0OyB0eXBlZGVmIFA4NSBpdGVtODU7IHR5cGVkZWYgUDg2IGl0ZW04NjsgdHlwZWRlZiBQODcgaXRlbTg3OyB0eXBlZGVmIFA4OCBpdGVtODg7IHR5cGVkZWYgUDg5IGl0ZW04OTsgdHlwZWRlZiBQOTAgaXRlbTkwOyB0eXBlZGVmIFA5MSBpdGVtOTE7IHR5cGVkZWYgUDkyIGl0ZW05MjsgdHlwZWRlZiBQOTMgaXRlbTkzOyB0eXBlZGVmIFA5NCBpdGVtOTQ7IHR5cGVkZWYgUDk1IGl0ZW05NTsgdHlwZWRlZiBQOTYgaXRlbTk2OyB0eXBlZGVmIFA5NyBpdGVtOTc7IHR5cGVkZWYgUDk4IGl0ZW05ODsgdHlwZWRlZiBQOTkgaXRlbTk5OyB0eXBlZGVmIFAxMDAgaXRlbTEwMDsgdHlwZWRlZiBQMTAxIGl0ZW0xMDE7IHR5cGVkZWYgUDEwMiBpdGVtMTAyOyB0eXBlZGVmIFAxMDMgaXRlbTEwMzsgdHlwZWRlZiBQMTA0IGl0ZW0xMDQ7IHR5cGVkZWYgUDEwNSBpdGVtMTA1OyB0eXBlZGVmIFAxMDYgaXRlbTEwNjsgdHlwZWRlZiBQMTA3IGl0ZW0xMDc7IHR5cGVkZWYgUDEwOCBpdGVtMTA4OyB0eXBlZGVmIFAxMDkgaXRlbTEwOTsgdHlwZWRlZiBQMTEwIGl0ZW0xMTA7IHR5cGVkZWYgUDExMSBpdGVtMTExOyB0eXBlZGVmIFAxMTIgaXRlbTExMjsgdHlwZWRlZiBQMTEzIGl0ZW0xMTM7IHR5cGVkZWYgUDExNCBpdGVtMTE0OyB0eXBlZGVmIFAxMTUgaXRlbTExNTsgdHlwZWRlZiBQMTE2IGl0ZW0xMTY7IHR5cGVkZWYgUDExNyBpdGVtMTE3OyB0eXBlZGVmIFAxMTggaXRlbTExODsgdHlwZWRlZiBQMTE5IGl0ZW0xMTk7IHR5cGVkZWYgUDEyMCBpdGVtMTIwOyB0eXBlZGVmIFAxMjEgaXRlbTEyMTsgdHlwZWRlZiBQMTIyIGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSAsIGNsYXNzIFA4NiAsIGNsYXNzIFA4NyAsIGNsYXNzIFA4OCAsIGNsYXNzIFA4OSAsIGNsYXNzIFA5MCAsIGNsYXNzIFA5MSAsIGNsYXNzIFA5MiAsIGNsYXNzIFA5MyAsIGNsYXNzIFA5NCAsIGNsYXNzIFA5NSAsIGNsYXNzIFA5NiAsIGNsYXNzIFA5NyAsIGNsYXNzIFA5OCAsIGNsYXNzIFA5OSAsIGNsYXNzIFAxMDAgLCBjbGFzcyBQMTAxICwgY2xhc3MgUDEwMiAsIGNsYXNzIFAxMDMgLCBjbGFzcyBQMTA0ICwgY2xhc3MgUDEwNSAsIGNsYXNzIFAxMDYgLCBjbGFzcyBQMTA3ICwgY2xhc3MgUDEwOCAsIGNsYXNzIFAxMDkgLCBjbGFzcyBQMTEwICwgY2xhc3MgUDExMSAsIGNsYXNzIFAxMTIgLCBjbGFzcyBQMTEzICwgY2xhc3MgUDExNCAsIGNsYXNzIFAxMTUgLCBjbGFzcyBQMTE2ICwgY2xhc3MgUDExNyAsIGNsYXNzIFAxMTggLCBjbGFzcyBQMTE5ICwgY2xhc3MgUDEyMCAsIGNsYXNzIFAxMjEgLCBjbGFzcyBQMTIyICwgY2xhc3MgUDEyMyA+IHN0cnVjdCB2ZWN0b3IxMjQgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3IxMjQ8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1ICwgUDk2ICwgUDk3ICwgUDk4ICwgUDk5ICwgUDEwMCAsIFAxMDEgLCBQMTAyICwgUDEwMyAsIFAxMDQgLCBQMTA1ICwgUDEwNiAsIFAxMDcgLCBQMTA4ICwgUDEwOSAsIFAxMTAgLCBQMTExICwgUDExMiAsIFAxMTMgLCBQMTE0ICwgUDExNSAsIFAxMTYgLCBQMTE3ICwgUDExOCAsIFAxMTkgLCBQMTIwICwgUDEyMSAsIFAxMjIgLCBQMTIzPiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgUDQxIGl0ZW00MTsgdHlwZWRlZiBQNDIgaXRlbTQyOyB0eXBlZGVmIFA0MyBpdGVtNDM7IHR5cGVkZWYgUDQ0IGl0ZW00NDsgdHlwZWRlZiBQNDUgaXRlbTQ1OyB0eXBlZGVmIFA0NiBpdGVtNDY7IHR5cGVkZWYgUDQ3IGl0ZW00NzsgdHlwZWRlZiBQNDggaXRlbTQ4OyB0eXBlZGVmIFA0OSBpdGVtNDk7IHR5cGVkZWYgUDUwIGl0ZW01MDsgdHlwZWRlZiBQNTEgaXRlbTUxOyB0eXBlZGVmIFA1MiBpdGVtNTI7IHR5cGVkZWYgUDUzIGl0ZW01MzsgdHlwZWRlZiBQNTQgaXRlbTU0OyB0eXBlZGVmIFA1NSBpdGVtNTU7IHR5cGVkZWYgUDU2IGl0ZW01NjsgdHlwZWRlZiBQNTcgaXRlbTU3OyB0eXBlZGVmIFA1OCBpdGVtNTg7IHR5cGVkZWYgUDU5IGl0ZW01OTsgdHlwZWRlZiBQNjAgaXRlbTYwOyB0eXBlZGVmIFA2MSBpdGVtNjE7IHR5cGVkZWYgUDYyIGl0ZW02MjsgdHlwZWRlZiBQNjMgaXRlbTYzOyB0eXBlZGVmIFA2NCBpdGVtNjQ7IHR5cGVkZWYgUDY1IGl0ZW02NTsgdHlwZWRlZiBQNjYgaXRlbTY2OyB0eXBlZGVmIFA2NyBpdGVtNjc7IHR5cGVkZWYgUDY4IGl0ZW02ODsgdHlwZWRlZiBQNjkgaXRlbTY5OyB0eXBlZGVmIFA3MCBpdGVtNzA7IHR5cGVkZWYgUDcxIGl0ZW03MTsgdHlwZWRlZiBQNzIgaXRlbTcyOyB0eXBlZGVmIFA3MyBpdGVtNzM7IHR5cGVkZWYgUDc0IGl0ZW03NDsgdHlwZWRlZiBQNzUgaXRlbTc1OyB0eXBlZGVmIFA3NiBpdGVtNzY7IHR5cGVkZWYgUDc3IGl0ZW03NzsgdHlwZWRlZiBQNzggaXRlbTc4OyB0eXBlZGVmIFA3OSBpdGVtNzk7IHR5cGVkZWYgUDgwIGl0ZW04MDsgdHlwZWRlZiBQODEgaXRlbTgxOyB0eXBlZGVmIFA4MiBpdGVtODI7IHR5cGVkZWYgUDgzIGl0ZW04MzsgdHlwZWRlZiBQODQgaXRlbTg0OyB0eXBlZGVmIFA4NSBpdGVtODU7IHR5cGVkZWYgUDg2IGl0ZW04NjsgdHlwZWRlZiBQODcgaXRlbTg3OyB0eXBlZGVmIFA4OCBpdGVtODg7IHR5cGVkZWYgUDg5IGl0ZW04OTsgdHlwZWRlZiBQOTAgaXRlbTkwOyB0eXBlZGVmIFA5MSBpdGVtOTE7IHR5cGVkZWYgUDkyIGl0ZW05MjsgdHlwZWRlZiBQOTMgaXRlbTkzOyB0eXBlZGVmIFA5NCBpdGVtOTQ7IHR5cGVkZWYgUDk1IGl0ZW05NTsgdHlwZWRlZiBQOTYgaXRlbTk2OyB0eXBlZGVmIFA5NyBpdGVtOTc7IHR5cGVkZWYgUDk4IGl0ZW05ODsgdHlwZWRlZiBQOTkgaXRlbTk5OyB0eXBlZGVmIFAxMDAgaXRlbTEwMDsgdHlwZWRlZiBQMTAxIGl0ZW0xMDE7IHR5cGVkZWYgUDEwMiBpdGVtMTAyOyB0eXBlZGVmIFAxMDMgaXRlbTEwMzsgdHlwZWRlZiBQMTA0IGl0ZW0xMDQ7IHR5cGVkZWYgUDEwNSBpdGVtMTA1OyB0eXBlZGVmIFAxMDYgaXRlbTEwNjsgdHlwZWRlZiBQMTA3IGl0ZW0xMDc7IHR5cGVkZWYgUDEwOCBpdGVtMTA4OyB0eXBlZGVmIFAxMDkgaXRlbTEwOTsgdHlwZWRlZiBQMTEwIGl0ZW0xMTA7IHR5cGVkZWYgUDExMSBpdGVtMTExOyB0eXBlZGVmIFAxMTIgaXRlbTExMjsgdHlwZWRlZiBQMTEzIGl0ZW0xMTM7IHR5cGVkZWYgUDExNCBpdGVtMTE0OyB0eXBlZGVmIFAxMTUgaXRlbTExNTsgdHlwZWRlZiBQMTE2IGl0ZW0xMTY7IHR5cGVkZWYgUDExNyBpdGVtMTE3OyB0eXBlZGVmIFAxMTggaXRlbTExODsgdHlwZWRlZiBQMTE5IGl0ZW0xMTk7IHR5cGVkZWYgUDEyMCBpdGVtMTIwOyB0eXBlZGVmIFAxMjEgaXRlbTEyMTsgdHlwZWRlZiBQMTIyIGl0ZW0xMjI7IHR5cGVkZWYgUDEyMyBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBQOTMgLCBjbGFzcyBQOTQgLCBjbGFzcyBQOTUgLCBjbGFzcyBQOTYgLCBjbGFzcyBQOTcgLCBjbGFzcyBQOTggLCBjbGFzcyBQOTkgLCBjbGFzcyBQMTAwICwgY2xhc3MgUDEwMSAsIGNsYXNzIFAxMDIgLCBjbGFzcyBQMTAzICwgY2xhc3MgUDEwNCAsIGNsYXNzIFAxMDUgLCBjbGFzcyBQMTA2ICwgY2xhc3MgUDEwNyAsIGNsYXNzIFAxMDggLCBjbGFzcyBQMTA5ICwgY2xhc3MgUDExMCAsIGNsYXNzIFAxMTEgLCBjbGFzcyBQMTEyICwgY2xhc3MgUDExMyAsIGNsYXNzIFAxMTQgLCBjbGFzcyBQMTE1ICwgY2xhc3MgUDExNiAsIGNsYXNzIFAxMTcgLCBjbGFzcyBQMTE4ICwgY2xhc3MgUDExOSAsIGNsYXNzIFAxMjAgLCBjbGFzcyBQMTIxICwgY2xhc3MgUDEyMiAsIGNsYXNzIFAxMjMgLCBjbGFzcyBQMTI0ID4gc3RydWN0IHZlY3RvcjEyNSB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjEyNTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0PiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgUDQxIGl0ZW00MTsgdHlwZWRlZiBQNDIgaXRlbTQyOyB0eXBlZGVmIFA0MyBpdGVtNDM7IHR5cGVkZWYgUDQ0IGl0ZW00NDsgdHlwZWRlZiBQNDUgaXRlbTQ1OyB0eXBlZGVmIFA0NiBpdGVtNDY7IHR5cGVkZWYgUDQ3IGl0ZW00NzsgdHlwZWRlZiBQNDggaXRlbTQ4OyB0eXBlZGVmIFA0OSBpdGVtNDk7IHR5cGVkZWYgUDUwIGl0ZW01MDsgdHlwZWRlZiBQNTEgaXRlbTUxOyB0eXBlZGVmIFA1MiBpdGVtNTI7IHR5cGVkZWYgUDUzIGl0ZW01MzsgdHlwZWRlZiBQNTQgaXRlbTU0OyB0eXBlZGVmIFA1NSBpdGVtNTU7IHR5cGVkZWYgUDU2IGl0ZW01NjsgdHlwZWRlZiBQNTcgaXRlbTU3OyB0eXBlZGVmIFA1OCBpdGVtNTg7IHR5cGVkZWYgUDU5IGl0ZW01OTsgdHlwZWRlZiBQNjAgaXRlbTYwOyB0eXBlZGVmIFA2MSBpdGVtNjE7IHR5cGVkZWYgUDYyIGl0ZW02MjsgdHlwZWRlZiBQNjMgaXRlbTYzOyB0eXBlZGVmIFA2NCBpdGVtNjQ7IHR5cGVkZWYgUDY1IGl0ZW02NTsgdHlwZWRlZiBQNjYgaXRlbTY2OyB0eXBlZGVmIFA2NyBpdGVtNjc7IHR5cGVkZWYgUDY4IGl0ZW02ODsgdHlwZWRlZiBQNjkgaXRlbTY5OyB0eXBlZGVmIFA3MCBpdGVtNzA7IHR5cGVkZWYgUDcxIGl0ZW03MTsgdHlwZWRlZiBQNzIgaXRlbTcyOyB0eXBlZGVmIFA3MyBpdGVtNzM7IHR5cGVkZWYgUDc0IGl0ZW03NDsgdHlwZWRlZiBQNzUgaXRlbTc1OyB0eXBlZGVmIFA3NiBpdGVtNzY7IHR5cGVkZWYgUDc3IGl0ZW03NzsgdHlwZWRlZiBQNzggaXRlbTc4OyB0eXBlZGVmIFA3OSBpdGVtNzk7IHR5cGVkZWYgUDgwIGl0ZW04MDsgdHlwZWRlZiBQODEgaXRlbTgxOyB0eXBlZGVmIFA4MiBpdGVtODI7IHR5cGVkZWYgUDgzIGl0ZW04MzsgdHlwZWRlZiBQODQgaXRlbTg0OyB0eXBlZGVmIFA4NSBpdGVtODU7IHR5cGVkZWYgUDg2IGl0ZW04NjsgdHlwZWRlZiBQODcgaXRlbTg3OyB0eXBlZGVmIFA4OCBpdGVtODg7IHR5cGVkZWYgUDg5IGl0ZW04OTsgdHlwZWRlZiBQOTAgaXRlbTkwOyB0eXBlZGVmIFA5MSBpdGVtOTE7IHR5cGVkZWYgUDkyIGl0ZW05MjsgdHlwZWRlZiBQOTMgaXRlbTkzOyB0eXBlZGVmIFA5NCBpdGVtOTQ7IHR5cGVkZWYgUDk1IGl0ZW05NTsgdHlwZWRlZiBQOTYgaXRlbTk2OyB0eXBlZGVmIFA5NyBpdGVtOTc7IHR5cGVkZWYgUDk4IGl0ZW05ODsgdHlwZWRlZiBQOTkgaXRlbTk5OyB0eXBlZGVmIFAxMDAgaXRlbTEwMDsgdHlwZWRlZiBQMTAxIGl0ZW0xMDE7IHR5cGVkZWYgUDEwMiBpdGVtMTAyOyB0eXBlZGVmIFAxMDMgaXRlbTEwMzsgdHlwZWRlZiBQMTA0IGl0ZW0xMDQ7IHR5cGVkZWYgUDEwNSBpdGVtMTA1OyB0eXBlZGVmIFAxMDYgaXRlbTEwNjsgdHlwZWRlZiBQMTA3IGl0ZW0xMDc7IHR5cGVkZWYgUDEwOCBpdGVtMTA4OyB0eXBlZGVmIFAxMDkgaXRlbTEwOTsgdHlwZWRlZiBQMTEwIGl0ZW0xMTA7IHR5cGVkZWYgUDExMSBpdGVtMTExOyB0eXBlZGVmIFAxMTIgaXRlbTExMjsgdHlwZWRlZiBQMTEzIGl0ZW0xMTM7IHR5cGVkZWYgUDExNCBpdGVtMTE0OyB0eXBlZGVmIFAxMTUgaXRlbTExNTsgdHlwZWRlZiBQMTE2IGl0ZW0xMTY7IHR5cGVkZWYgUDExNyBpdGVtMTE3OyB0eXBlZGVmIFAxMTggaXRlbTExODsgdHlwZWRlZiBQMTE5IGl0ZW0xMTk7IHR5cGVkZWYgUDEyMCBpdGVtMTIwOyB0eXBlZGVmIFAxMjEgaXRlbTEyMTsgdHlwZWRlZiBQMTIyIGl0ZW0xMjI7IHR5cGVkZWYgUDEyMyBpdGVtMTIzOyB0eXBlZGVmIFAxMjQgaXRlbTEyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5ODsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ICwgY2xhc3MgUDk2ICwgY2xhc3MgUDk3ICwgY2xhc3MgUDk4ICwgY2xhc3MgUDk5ICwgY2xhc3MgUDEwMCAsIGNsYXNzIFAxMDEgLCBjbGFzcyBQMTAyICwgY2xhc3MgUDEwMyAsIGNsYXNzIFAxMDQgLCBjbGFzcyBQMTA1ICwgY2xhc3MgUDEwNiAsIGNsYXNzIFAxMDcgLCBjbGFzcyBQMTA4ICwgY2xhc3MgUDEwOSAsIGNsYXNzIFAxMTAgLCBjbGFzcyBQMTExICwgY2xhc3MgUDExMiAsIGNsYXNzIFAxMTMgLCBjbGFzcyBQMTE0ICwgY2xhc3MgUDExNSAsIGNsYXNzIFAxMTYgLCBjbGFzcyBQMTE3ICwgY2xhc3MgUDExOCAsIGNsYXNzIFAxMTkgLCBjbGFzcyBQMTIwICwgY2xhc3MgUDEyMSAsIGNsYXNzIFAxMjIgLCBjbGFzcyBQMTIzICwgY2xhc3MgUDEyNCAsIGNsYXNzIFAxMjUgPiBzdHJ1Y3QgdmVjdG9yMTI2IHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yMTI2PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFA5MiAsIFA5MyAsIFA5NCAsIFA5NSAsIFA5NiAsIFA5NyAsIFA5OCAsIFA5OSAsIFAxMDAgLCBQMTAxICwgUDEwMiAsIFAxMDMgLCBQMTA0ICwgUDEwNSAsIFAxMDYgLCBQMTA3ICwgUDEwOCAsIFAxMDkgLCBQMTEwICwgUDExMSAsIFAxMTIgLCBQMTEzICwgUDExNCAsIFAxMTUgLCBQMTE2ICwgUDExNyAsIFAxMTggLCBQMTE5ICwgUDEyMCAsIFAxMjEgLCBQMTIyICwgUDEyMyAsIFAxMjQgLCBQMTI1PiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgUDQxIGl0ZW00MTsgdHlwZWRlZiBQNDIgaXRlbTQyOyB0eXBlZGVmIFA0MyBpdGVtNDM7IHR5cGVkZWYgUDQ0IGl0ZW00NDsgdHlwZWRlZiBQNDUgaXRlbTQ1OyB0eXBlZGVmIFA0NiBpdGVtNDY7IHR5cGVkZWYgUDQ3IGl0ZW00NzsgdHlwZWRlZiBQNDggaXRlbTQ4OyB0eXBlZGVmIFA0OSBpdGVtNDk7IHR5cGVkZWYgUDUwIGl0ZW01MDsgdHlwZWRlZiBQNTEgaXRlbTUxOyB0eXBlZGVmIFA1MiBpdGVtNTI7IHR5cGVkZWYgUDUzIGl0ZW01MzsgdHlwZWRlZiBQNTQgaXRlbTU0OyB0eXBlZGVmIFA1NSBpdGVtNTU7IHR5cGVkZWYgUDU2IGl0ZW01NjsgdHlwZWRlZiBQNTcgaXRlbTU3OyB0eXBlZGVmIFA1OCBpdGVtNTg7IHR5cGVkZWYgUDU5IGl0ZW01OTsgdHlwZWRlZiBQNjAgaXRlbTYwOyB0eXBlZGVmIFA2MSBpdGVtNjE7IHR5cGVkZWYgUDYyIGl0ZW02MjsgdHlwZWRlZiBQNjMgaXRlbTYzOyB0eXBlZGVmIFA2NCBpdGVtNjQ7IHR5cGVkZWYgUDY1IGl0ZW02NTsgdHlwZWRlZiBQNjYgaXRlbTY2OyB0eXBlZGVmIFA2NyBpdGVtNjc7IHR5cGVkZWYgUDY4IGl0ZW02ODsgdHlwZWRlZiBQNjkgaXRlbTY5OyB0eXBlZGVmIFA3MCBpdGVtNzA7IHR5cGVkZWYgUDcxIGl0ZW03MTsgdHlwZWRlZiBQNzIgaXRlbTcyOyB0eXBlZGVmIFA3MyBpdGVtNzM7IHR5cGVkZWYgUDc0IGl0ZW03NDsgdHlwZWRlZiBQNzUgaXRlbTc1OyB0eXBlZGVmIFA3NiBpdGVtNzY7IHR5cGVkZWYgUDc3IGl0ZW03NzsgdHlwZWRlZiBQNzggaXRlbTc4OyB0eXBlZGVmIFA3OSBpdGVtNzk7IHR5cGVkZWYgUDgwIGl0ZW04MDsgdHlwZWRlZiBQODEgaXRlbTgxOyB0eXBlZGVmIFA4MiBpdGVtODI7IHR5cGVkZWYgUDgzIGl0ZW04MzsgdHlwZWRlZiBQODQgaXRlbTg0OyB0eXBlZGVmIFA4NSBpdGVtODU7IHR5cGVkZWYgUDg2IGl0ZW04NjsgdHlwZWRlZiBQODcgaXRlbTg3OyB0eXBlZGVmIFA4OCBpdGVtODg7IHR5cGVkZWYgUDg5IGl0ZW04OTsgdHlwZWRlZiBQOTAgaXRlbTkwOyB0eXBlZGVmIFA5MSBpdGVtOTE7IHR5cGVkZWYgUDkyIGl0ZW05MjsgdHlwZWRlZiBQOTMgaXRlbTkzOyB0eXBlZGVmIFA5NCBpdGVtOTQ7IHR5cGVkZWYgUDk1IGl0ZW05NTsgdHlwZWRlZiBQOTYgaXRlbTk2OyB0eXBlZGVmIFA5NyBpdGVtOTc7IHR5cGVkZWYgUDk4IGl0ZW05ODsgdHlwZWRlZiBQOTkgaXRlbTk5OyB0eXBlZGVmIFAxMDAgaXRlbTEwMDsgdHlwZWRlZiBQMTAxIGl0ZW0xMDE7IHR5cGVkZWYgUDEwMiBpdGVtMTAyOyB0eXBlZGVmIFAxMDMgaXRlbTEwMzsgdHlwZWRlZiBQMTA0IGl0ZW0xMDQ7IHR5cGVkZWYgUDEwNSBpdGVtMTA1OyB0eXBlZGVmIFAxMDYgaXRlbTEwNjsgdHlwZWRlZiBQMTA3IGl0ZW0xMDc7IHR5cGVkZWYgUDEwOCBpdGVtMTA4OyB0eXBlZGVmIFAxMDkgaXRlbTEwOTsgdHlwZWRlZiBQMTEwIGl0ZW0xMTA7IHR5cGVkZWYgUDExMSBpdGVtMTExOyB0eXBlZGVmIFAxMTIgaXRlbTExMjsgdHlwZWRlZiBQMTEzIGl0ZW0xMTM7IHR5cGVkZWYgUDExNCBpdGVtMTE0OyB0eXBlZGVmIFAxMTUgaXRlbTExNTsgdHlwZWRlZiBQMTE2IGl0ZW0xMTY7IHR5cGVkZWYgUDExNyBpdGVtMTE3OyB0eXBlZGVmIFAxMTggaXRlbTExODsgdHlwZWRlZiBQMTE5IGl0ZW0xMTk7IHR5cGVkZWYgUDEyMCBpdGVtMTIwOyB0eXBlZGVmIFAxMjEgaXRlbTEyMTsgdHlwZWRlZiBQMTIyIGl0ZW0xMjI7IHR5cGVkZWYgUDEyMyBpdGVtMTIzOyB0eXBlZGVmIFAxMjQgaXRlbTEyNDsgdHlwZWRlZiBQMTI1IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSAsIGNsYXNzIFA4NiAsIGNsYXNzIFA4NyAsIGNsYXNzIFA4OCAsIGNsYXNzIFA4OSAsIGNsYXNzIFA5MCAsIGNsYXNzIFA5MSAsIGNsYXNzIFA5MiAsIGNsYXNzIFA5MyAsIGNsYXNzIFA5NCAsIGNsYXNzIFA5NSAsIGNsYXNzIFA5NiAsIGNsYXNzIFA5NyAsIGNsYXNzIFA5OCAsIGNsYXNzIFA5OSAsIGNsYXNzIFAxMDAgLCBjbGFzcyBQMTAxICwgY2xhc3MgUDEwMiAsIGNsYXNzIFAxMDMgLCBjbGFzcyBQMTA0ICwgY2xhc3MgUDEwNSAsIGNsYXNzIFAxMDYgLCBjbGFzcyBQMTA3ICwgY2xhc3MgUDEwOCAsIGNsYXNzIFAxMDkgLCBjbGFzcyBQMTEwICwgY2xhc3MgUDExMSAsIGNsYXNzIFAxMTIgLCBjbGFzcyBQMTEzICwgY2xhc3MgUDExNCAsIGNsYXNzIFAxMTUgLCBjbGFzcyBQMTE2ICwgY2xhc3MgUDExNyAsIGNsYXNzIFAxMTggLCBjbGFzcyBQMTE5ICwgY2xhc3MgUDEyMCAsIGNsYXNzIFAxMjEgLCBjbGFzcyBQMTIyICwgY2xhc3MgUDEyMyAsIGNsYXNzIFAxMjQgLCBjbGFzcyBQMTI1ICwgY2xhc3MgUDEyNiA+IHN0cnVjdCB2ZWN0b3IxMjcgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3IxMjc8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1ICwgUDk2ICwgUDk3ICwgUDk4ICwgUDk5ICwgUDEwMCAsIFAxMDEgLCBQMTAyICwgUDEwMyAsIFAxMDQgLCBQMTA1ICwgUDEwNiAsIFAxMDcgLCBQMTA4ICwgUDEwOSAsIFAxMTAgLCBQMTExICwgUDExMiAsIFAxMTMgLCBQMTE0ICwgUDExNSAsIFAxMTYgLCBQMTE3ICwgUDExOCAsIFAxMTkgLCBQMTIwICwgUDEyMSAsIFAxMjIgLCBQMTIzICwgUDEyNCAsIFAxMjUgLCBQMTI2PiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgUDQxIGl0ZW00MTsgdHlwZWRlZiBQNDIgaXRlbTQyOyB0eXBlZGVmIFA0MyBpdGVtNDM7IHR5cGVkZWYgUDQ0IGl0ZW00NDsgdHlwZWRlZiBQNDUgaXRlbTQ1OyB0eXBlZGVmIFA0NiBpdGVtNDY7IHR5cGVkZWYgUDQ3IGl0ZW00NzsgdHlwZWRlZiBQNDggaXRlbTQ4OyB0eXBlZGVmIFA0OSBpdGVtNDk7IHR5cGVkZWYgUDUwIGl0ZW01MDsgdHlwZWRlZiBQNTEgaXRlbTUxOyB0eXBlZGVmIFA1MiBpdGVtNTI7IHR5cGVkZWYgUDUzIGl0ZW01MzsgdHlwZWRlZiBQNTQgaXRlbTU0OyB0eXBlZGVmIFA1NSBpdGVtNTU7IHR5cGVkZWYgUDU2IGl0ZW01NjsgdHlwZWRlZiBQNTcgaXRlbTU3OyB0eXBlZGVmIFA1OCBpdGVtNTg7IHR5cGVkZWYgUDU5IGl0ZW01OTsgdHlwZWRlZiBQNjAgaXRlbTYwOyB0eXBlZGVmIFA2MSBpdGVtNjE7IHR5cGVkZWYgUDYyIGl0ZW02MjsgdHlwZWRlZiBQNjMgaXRlbTYzOyB0eXBlZGVmIFA2NCBpdGVtNjQ7IHR5cGVkZWYgUDY1IGl0ZW02NTsgdHlwZWRlZiBQNjYgaXRlbTY2OyB0eXBlZGVmIFA2NyBpdGVtNjc7IHR5cGVkZWYgUDY4IGl0ZW02ODsgdHlwZWRlZiBQNjkgaXRlbTY5OyB0eXBlZGVmIFA3MCBpdGVtNzA7IHR5cGVkZWYgUDcxIGl0ZW03MTsgdHlwZWRlZiBQNzIgaXRlbTcyOyB0eXBlZGVmIFA3MyBpdGVtNzM7IHR5cGVkZWYgUDc0IGl0ZW03NDsgdHlwZWRlZiBQNzUgaXRlbTc1OyB0eXBlZGVmIFA3NiBpdGVtNzY7IHR5cGVkZWYgUDc3IGl0ZW03NzsgdHlwZWRlZiBQNzggaXRlbTc4OyB0eXBlZGVmIFA3OSBpdGVtNzk7IHR5cGVkZWYgUDgwIGl0ZW04MDsgdHlwZWRlZiBQODEgaXRlbTgxOyB0eXBlZGVmIFA4MiBpdGVtODI7IHR5cGVkZWYgUDgzIGl0ZW04MzsgdHlwZWRlZiBQODQgaXRlbTg0OyB0eXBlZGVmIFA4NSBpdGVtODU7IHR5cGVkZWYgUDg2IGl0ZW04NjsgdHlwZWRlZiBQODcgaXRlbTg3OyB0eXBlZGVmIFA4OCBpdGVtODg7IHR5cGVkZWYgUDg5IGl0ZW04OTsgdHlwZWRlZiBQOTAgaXRlbTkwOyB0eXBlZGVmIFA5MSBpdGVtOTE7IHR5cGVkZWYgUDkyIGl0ZW05MjsgdHlwZWRlZiBQOTMgaXRlbTkzOyB0eXBlZGVmIFA5NCBpdGVtOTQ7IHR5cGVkZWYgUDk1IGl0ZW05NTsgdHlwZWRlZiBQOTYgaXRlbTk2OyB0eXBlZGVmIFA5NyBpdGVtOTc7IHR5cGVkZWYgUDk4IGl0ZW05ODsgdHlwZWRlZiBQOTkgaXRlbTk5OyB0eXBlZGVmIFAxMDAgaXRlbTEwMDsgdHlwZWRlZiBQMTAxIGl0ZW0xMDE7IHR5cGVkZWYgUDEwMiBpdGVtMTAyOyB0eXBlZGVmIFAxMDMgaXRlbTEwMzsgdHlwZWRlZiBQMTA0IGl0ZW0xMDQ7IHR5cGVkZWYgUDEwNSBpdGVtMTA1OyB0eXBlZGVmIFAxMDYgaXRlbTEwNjsgdHlwZWRlZiBQMTA3IGl0ZW0xMDc7IHR5cGVkZWYgUDEwOCBpdGVtMTA4OyB0eXBlZGVmIFAxMDkgaXRlbTEwOTsgdHlwZWRlZiBQMTEwIGl0ZW0xMTA7IHR5cGVkZWYgUDExMSBpdGVtMTExOyB0eXBlZGVmIFAxMTIgaXRlbTExMjsgdHlwZWRlZiBQMTEzIGl0ZW0xMTM7IHR5cGVkZWYgUDExNCBpdGVtMTE0OyB0eXBlZGVmIFAxMTUgaXRlbTExNTsgdHlwZWRlZiBQMTE2IGl0ZW0xMTY7IHR5cGVkZWYgUDExNyBpdGVtMTE3OyB0eXBlZGVmIFAxMTggaXRlbTExODsgdHlwZWRlZiBQMTE5IGl0ZW0xMTk7IHR5cGVkZWYgUDEyMCBpdGVtMTIwOyB0eXBlZGVmIFAxMjEgaXRlbTEyMTsgdHlwZWRlZiBQMTIyIGl0ZW0xMjI7IHR5cGVkZWYgUDEyMyBpdGVtMTIzOyB0eXBlZGVmIFAxMjQgaXRlbTEyNDsgdHlwZWRlZiBQMTI1IGl0ZW0xMjU7IHR5cGVkZWYgUDEyNiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBQOTMgLCBjbGFzcyBQOTQgLCBjbGFzcyBQOTUgLCBjbGFzcyBQOTYgLCBjbGFzcyBQOTcgLCBjbGFzcyBQOTggLCBjbGFzcyBQOTkgLCBjbGFzcyBQMTAwICwgY2xhc3MgUDEwMSAsIGNsYXNzIFAxMDIgLCBjbGFzcyBQMTAzICwgY2xhc3MgUDEwNCAsIGNsYXNzIFAxMDUgLCBjbGFzcyBQMTA2ICwgY2xhc3MgUDEwNyAsIGNsYXNzIFAxMDggLCBjbGFzcyBQMTA5ICwgY2xhc3MgUDExMCAsIGNsYXNzIFAxMTEgLCBjbGFzcyBQMTEyICwgY2xhc3MgUDExMyAsIGNsYXNzIFAxMTQgLCBjbGFzcyBQMTE1ICwgY2xhc3MgUDExNiAsIGNsYXNzIFAxMTcgLCBjbGFzcyBQMTE4ICwgY2xhc3MgUDExOSAsIGNsYXNzIFAxMjAgLCBjbGFzcyBQMTIxICwgY2xhc3MgUDEyMiAsIGNsYXNzIFAxMjMgLCBjbGFzcyBQMTI0ICwgY2xhc3MgUDEyNSAsIGNsYXNzIFAxMjYgLCBjbGFzcyBQMTI3ID4gc3RydWN0IHZlY3RvcjEyOCB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjEyODwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3PiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgUDQxIGl0ZW00MTsgdHlwZWRlZiBQNDIgaXRlbTQyOyB0eXBlZGVmIFA0MyBpdGVtNDM7IHR5cGVkZWYgUDQ0IGl0ZW00NDsgdHlwZWRlZiBQNDUgaXRlbTQ1OyB0eXBlZGVmIFA0NiBpdGVtNDY7IHR5cGVkZWYgUDQ3IGl0ZW00NzsgdHlwZWRlZiBQNDggaXRlbTQ4OyB0eXBlZGVmIFA0OSBpdGVtNDk7IHR5cGVkZWYgUDUwIGl0ZW01MDsgdHlwZWRlZiBQNTEgaXRlbTUxOyB0eXBlZGVmIFA1MiBpdGVtNTI7IHR5cGVkZWYgUDUzIGl0ZW01MzsgdHlwZWRlZiBQNTQgaXRlbTU0OyB0eXBlZGVmIFA1NSBpdGVtNTU7IHR5cGVkZWYgUDU2IGl0ZW01NjsgdHlwZWRlZiBQNTcgaXRlbTU3OyB0eXBlZGVmIFA1OCBpdGVtNTg7IHR5cGVkZWYgUDU5IGl0ZW01OTsgdHlwZWRlZiBQNjAgaXRlbTYwOyB0eXBlZGVmIFA2MSBpdGVtNjE7IHR5cGVkZWYgUDYyIGl0ZW02MjsgdHlwZWRlZiBQNjMgaXRlbTYzOyB0eXBlZGVmIFA2NCBpdGVtNjQ7IHR5cGVkZWYgUDY1IGl0ZW02NTsgdHlwZWRlZiBQNjYgaXRlbTY2OyB0eXBlZGVmIFA2NyBpdGVtNjc7IHR5cGVkZWYgUDY4IGl0ZW02ODsgdHlwZWRlZiBQNjkgaXRlbTY5OyB0eXBlZGVmIFA3MCBpdGVtNzA7IHR5cGVkZWYgUDcxIGl0ZW03MTsgdHlwZWRlZiBQNzIgaXRlbTcyOyB0eXBlZGVmIFA3MyBpdGVtNzM7IHR5cGVkZWYgUDc0IGl0ZW03NDsgdHlwZWRlZiBQNzUgaXRlbTc1OyB0eXBlZGVmIFA3NiBpdGVtNzY7IHR5cGVkZWYgUDc3IGl0ZW03NzsgdHlwZWRlZiBQNzggaXRlbTc4OyB0eXBlZGVmIFA3OSBpdGVtNzk7IHR5cGVkZWYgUDgwIGl0ZW04MDsgdHlwZWRlZiBQODEgaXRlbTgxOyB0eXBlZGVmIFA4MiBpdGVtODI7IHR5cGVkZWYgUDgzIGl0ZW04MzsgdHlwZWRlZiBQODQgaXRlbTg0OyB0eXBlZGVmIFA4NSBpdGVtODU7IHR5cGVkZWYgUDg2IGl0ZW04NjsgdHlwZWRlZiBQODcgaXRlbTg3OyB0eXBlZGVmIFA4OCBpdGVtODg7IHR5cGVkZWYgUDg5IGl0ZW04OTsgdHlwZWRlZiBQOTAgaXRlbTkwOyB0eXBlZGVmIFA5MSBpdGVtOTE7IHR5cGVkZWYgUDkyIGl0ZW05MjsgdHlwZWRlZiBQOTMgaXRlbTkzOyB0eXBlZGVmIFA5NCBpdGVtOTQ7IHR5cGVkZWYgUDk1IGl0ZW05NTsgdHlwZWRlZiBQOTYgaXRlbTk2OyB0eXBlZGVmIFA5NyBpdGVtOTc7IHR5cGVkZWYgUDk4IGl0ZW05ODsgdHlwZWRlZiBQOTkgaXRlbTk5OyB0eXBlZGVmIFAxMDAgaXRlbTEwMDsgdHlwZWRlZiBQMTAxIGl0ZW0xMDE7IHR5cGVkZWYgUDEwMiBpdGVtMTAyOyB0eXBlZGVmIFAxMDMgaXRlbTEwMzsgdHlwZWRlZiBQMTA0IGl0ZW0xMDQ7IHR5cGVkZWYgUDEwNSBpdGVtMTA1OyB0eXBlZGVmIFAxMDYgaXRlbTEwNjsgdHlwZWRlZiBQMTA3IGl0ZW0xMDc7IHR5cGVkZWYgUDEwOCBpdGVtMTA4OyB0eXBlZGVmIFAxMDkgaXRlbTEwOTsgdHlwZWRlZiBQMTEwIGl0ZW0xMTA7IHR5cGVkZWYgUDExMSBpdGVtMTExOyB0eXBlZGVmIFAxMTIgaXRlbTExMjsgdHlwZWRlZiBQMTEzIGl0ZW0xMTM7IHR5cGVkZWYgUDExNCBpdGVtMTE0OyB0eXBlZGVmIFAxMTUgaXRlbTExNTsgdHlwZWRlZiBQMTE2IGl0ZW0xMTY7IHR5cGVkZWYgUDExNyBpdGVtMTE3OyB0eXBlZGVmIFAxMTggaXRlbTExODsgdHlwZWRlZiBQMTE5IGl0ZW0xMTk7IHR5cGVkZWYgUDEyMCBpdGVtMTIwOyB0eXBlZGVmIFAxMjEgaXRlbTEyMTsgdHlwZWRlZiBQMTIyIGl0ZW0xMjI7IHR5cGVkZWYgUDEyMyBpdGVtMTIzOyB0eXBlZGVmIFAxMjQgaXRlbTEyNDsgdHlwZWRlZiBQMTI1IGl0ZW0xMjU7IHR5cGVkZWYgUDEyNiBpdGVtMTI2OyB0eXBlZGVmIFAxMjcgaXRlbTEyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5ODsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ICwgY2xhc3MgUDk2ICwgY2xhc3MgUDk3ICwgY2xhc3MgUDk4ICwgY2xhc3MgUDk5ICwgY2xhc3MgUDEwMCAsIGNsYXNzIFAxMDEgLCBjbGFzcyBQMTAyICwgY2xhc3MgUDEwMyAsIGNsYXNzIFAxMDQgLCBjbGFzcyBQMTA1ICwgY2xhc3MgUDEwNiAsIGNsYXNzIFAxMDcgLCBjbGFzcyBQMTA4ICwgY2xhc3MgUDEwOSAsIGNsYXNzIFAxMTAgLCBjbGFzcyBQMTExICwgY2xhc3MgUDExMiAsIGNsYXNzIFAxMTMgLCBjbGFzcyBQMTE0ICwgY2xhc3MgUDExNSAsIGNsYXNzIFAxMTYgLCBjbGFzcyBQMTE3ICwgY2xhc3MgUDExOCAsIGNsYXNzIFAxMTkgLCBjbGFzcyBQMTIwICwgY2xhc3MgUDEyMSAsIGNsYXNzIFAxMjIgLCBjbGFzcyBQMTIzICwgY2xhc3MgUDEyNCAsIGNsYXNzIFAxMjUgLCBjbGFzcyBQMTI2ICwgY2xhc3MgUDEyNyAsIGNsYXNzIFAxMjggPiBzdHJ1Y3QgdmVjdG9yMTI5IHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yMTI5PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFA5MiAsIFA5MyAsIFA5NCAsIFA5NSAsIFA5NiAsIFA5NyAsIFA5OCAsIFA5OSAsIFAxMDAgLCBQMTAxICwgUDEwMiAsIFAxMDMgLCBQMTA0ICwgUDEwNSAsIFAxMDYgLCBQMTA3ICwgUDEwOCAsIFAxMDkgLCBQMTEwICwgUDExMSAsIFAxMTIgLCBQMTEzICwgUDExNCAsIFAxMTUgLCBQMTE2ICwgUDExNyAsIFAxMTggLCBQMTE5ICwgUDEyMCAsIFAxMjEgLCBQMTIyICwgUDEyMyAsIFAxMjQgLCBQMTI1ICwgUDEyNiAsIFAxMjcgLCBQMTI4PiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgUDQxIGl0ZW00MTsgdHlwZWRlZiBQNDIgaXRlbTQyOyB0eXBlZGVmIFA0MyBpdGVtNDM7IHR5cGVkZWYgUDQ0IGl0ZW00NDsgdHlwZWRlZiBQNDUgaXRlbTQ1OyB0eXBlZGVmIFA0NiBpdGVtNDY7IHR5cGVkZWYgUDQ3IGl0ZW00NzsgdHlwZWRlZiBQNDggaXRlbTQ4OyB0eXBlZGVmIFA0OSBpdGVtNDk7IHR5cGVkZWYgUDUwIGl0ZW01MDsgdHlwZWRlZiBQNTEgaXRlbTUxOyB0eXBlZGVmIFA1MiBpdGVtNTI7IHR5cGVkZWYgUDUzIGl0ZW01MzsgdHlwZWRlZiBQNTQgaXRlbTU0OyB0eXBlZGVmIFA1NSBpdGVtNTU7IHR5cGVkZWYgUDU2IGl0ZW01NjsgdHlwZWRlZiBQNTcgaXRlbTU3OyB0eXBlZGVmIFA1OCBpdGVtNTg7IHR5cGVkZWYgUDU5IGl0ZW01OTsgdHlwZWRlZiBQNjAgaXRlbTYwOyB0eXBlZGVmIFA2MSBpdGVtNjE7IHR5cGVkZWYgUDYyIGl0ZW02MjsgdHlwZWRlZiBQNjMgaXRlbTYzOyB0eXBlZGVmIFA2NCBpdGVtNjQ7IHR5cGVkZWYgUDY1IGl0ZW02NTsgdHlwZWRlZiBQNjYgaXRlbTY2OyB0eXBlZGVmIFA2NyBpdGVtNjc7IHR5cGVkZWYgUDY4IGl0ZW02ODsgdHlwZWRlZiBQNjkgaXRlbTY5OyB0eXBlZGVmIFA3MCBpdGVtNzA7IHR5cGVkZWYgUDcxIGl0ZW03MTsgdHlwZWRlZiBQNzIgaXRlbTcyOyB0eXBlZGVmIFA3MyBpdGVtNzM7IHR5cGVkZWYgUDc0IGl0ZW03NDsgdHlwZWRlZiBQNzUgaXRlbTc1OyB0eXBlZGVmIFA3NiBpdGVtNzY7IHR5cGVkZWYgUDc3IGl0ZW03NzsgdHlwZWRlZiBQNzggaXRlbTc4OyB0eXBlZGVmIFA3OSBpdGVtNzk7IHR5cGVkZWYgUDgwIGl0ZW04MDsgdHlwZWRlZiBQODEgaXRlbTgxOyB0eXBlZGVmIFA4MiBpdGVtODI7IHR5cGVkZWYgUDgzIGl0ZW04MzsgdHlwZWRlZiBQODQgaXRlbTg0OyB0eXBlZGVmIFA4NSBpdGVtODU7IHR5cGVkZWYgUDg2IGl0ZW04NjsgdHlwZWRlZiBQODcgaXRlbTg3OyB0eXBlZGVmIFA4OCBpdGVtODg7IHR5cGVkZWYgUDg5IGl0ZW04OTsgdHlwZWRlZiBQOTAgaXRlbTkwOyB0eXBlZGVmIFA5MSBpdGVtOTE7IHR5cGVkZWYgUDkyIGl0ZW05MjsgdHlwZWRlZiBQOTMgaXRlbTkzOyB0eXBlZGVmIFA5NCBpdGVtOTQ7IHR5cGVkZWYgUDk1IGl0ZW05NTsgdHlwZWRlZiBQOTYgaXRlbTk2OyB0eXBlZGVmIFA5NyBpdGVtOTc7IHR5cGVkZWYgUDk4IGl0ZW05ODsgdHlwZWRlZiBQOTkgaXRlbTk5OyB0eXBlZGVmIFAxMDAgaXRlbTEwMDsgdHlwZWRlZiBQMTAxIGl0ZW0xMDE7IHR5cGVkZWYgUDEwMiBpdGVtMTAyOyB0eXBlZGVmIFAxMDMgaXRlbTEwMzsgdHlwZWRlZiBQMTA0IGl0ZW0xMDQ7IHR5cGVkZWYgUDEwNSBpdGVtMTA1OyB0eXBlZGVmIFAxMDYgaXRlbTEwNjsgdHlwZWRlZiBQMTA3IGl0ZW0xMDc7IHR5cGVkZWYgUDEwOCBpdGVtMTA4OyB0eXBlZGVmIFAxMDkgaXRlbTEwOTsgdHlwZWRlZiBQMTEwIGl0ZW0xMTA7IHR5cGVkZWYgUDExMSBpdGVtMTExOyB0eXBlZGVmIFAxMTIgaXRlbTExMjsgdHlwZWRlZiBQMTEzIGl0ZW0xMTM7IHR5cGVkZWYgUDExNCBpdGVtMTE0OyB0eXBlZGVmIFAxMTUgaXRlbTExNTsgdHlwZWRlZiBQMTE2IGl0ZW0xMTY7IHR5cGVkZWYgUDExNyBpdGVtMTE3OyB0eXBlZGVmIFAxMTggaXRlbTExODsgdHlwZWRlZiBQMTE5IGl0ZW0xMTk7IHR5cGVkZWYgUDEyMCBpdGVtMTIwOyB0eXBlZGVmIFAxMjEgaXRlbTEyMTsgdHlwZWRlZiBQMTIyIGl0ZW0xMjI7IHR5cGVkZWYgUDEyMyBpdGVtMTIzOyB0eXBlZGVmIFAxMjQgaXRlbTEyNDsgdHlwZWRlZiBQMTI1IGl0ZW0xMjU7IHR5cGVkZWYgUDEyNiBpdGVtMTI2OyB0eXBlZGVmIFAxMjcgaXRlbTEyNzsgdHlwZWRlZiBQMTI4IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSAsIGNsYXNzIFA4NiAsIGNsYXNzIFA4NyAsIGNsYXNzIFA4OCAsIGNsYXNzIFA4OSAsIGNsYXNzIFA5MCAsIGNsYXNzIFA5MSAsIGNsYXNzIFA5MiAsIGNsYXNzIFA5MyAsIGNsYXNzIFA5NCAsIGNsYXNzIFA5NSAsIGNsYXNzIFA5NiAsIGNsYXNzIFA5NyAsIGNsYXNzIFA5OCAsIGNsYXNzIFA5OSAsIGNsYXNzIFAxMDAgLCBjbGFzcyBQMTAxICwgY2xhc3MgUDEwMiAsIGNsYXNzIFAxMDMgLCBjbGFzcyBQMTA0ICwgY2xhc3MgUDEwNSAsIGNsYXNzIFAxMDYgLCBjbGFzcyBQMTA3ICwgY2xhc3MgUDEwOCAsIGNsYXNzIFAxMDkgLCBjbGFzcyBQMTEwICwgY2xhc3MgUDExMSAsIGNsYXNzIFAxMTIgLCBjbGFzcyBQMTEzICwgY2xhc3MgUDExNCAsIGNsYXNzIFAxMTUgLCBjbGFzcyBQMTE2ICwgY2xhc3MgUDExNyAsIGNsYXNzIFAxMTggLCBjbGFzcyBQMTE5ICwgY2xhc3MgUDEyMCAsIGNsYXNzIFAxMjEgLCBjbGFzcyBQMTIyICwgY2xhc3MgUDEyMyAsIGNsYXNzIFAxMjQgLCBjbGFzcyBQMTI1ICwgY2xhc3MgUDEyNiAsIGNsYXNzIFAxMjcgLCBjbGFzcyBQMTI4ICwgY2xhc3MgUDEyOSA+IHN0cnVjdCB2ZWN0b3IxMzAgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3IxMzA8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1ICwgUDk2ICwgUDk3ICwgUDk4ICwgUDk5ICwgUDEwMCAsIFAxMDEgLCBQMTAyICwgUDEwMyAsIFAxMDQgLCBQMTA1ICwgUDEwNiAsIFAxMDcgLCBQMTA4ICwgUDEwOSAsIFAxMTAgLCBQMTExICwgUDExMiAsIFAxMTMgLCBQMTE0ICwgUDExNSAsIFAxMTYgLCBQMTE3ICwgUDExOCAsIFAxMTkgLCBQMTIwICwgUDEyMSAsIFAxMjIgLCBQMTIzICwgUDEyNCAsIFAxMjUgLCBQMTI2ICwgUDEyNyAsIFAxMjggLCBQMTI5PiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgUDQxIGl0ZW00MTsgdHlwZWRlZiBQNDIgaXRlbTQyOyB0eXBlZGVmIFA0MyBpdGVtNDM7IHR5cGVkZWYgUDQ0IGl0ZW00NDsgdHlwZWRlZiBQNDUgaXRlbTQ1OyB0eXBlZGVmIFA0NiBpdGVtNDY7IHR5cGVkZWYgUDQ3IGl0ZW00NzsgdHlwZWRlZiBQNDggaXRlbTQ4OyB0eXBlZGVmIFA0OSBpdGVtNDk7IHR5cGVkZWYgUDUwIGl0ZW01MDsgdHlwZWRlZiBQNTEgaXRlbTUxOyB0eXBlZGVmIFA1MiBpdGVtNTI7IHR5cGVkZWYgUDUzIGl0ZW01MzsgdHlwZWRlZiBQNTQgaXRlbTU0OyB0eXBlZGVmIFA1NSBpdGVtNTU7IHR5cGVkZWYgUDU2IGl0ZW01NjsgdHlwZWRlZiBQNTcgaXRlbTU3OyB0eXBlZGVmIFA1OCBpdGVtNTg7IHR5cGVkZWYgUDU5IGl0ZW01OTsgdHlwZWRlZiBQNjAgaXRlbTYwOyB0eXBlZGVmIFA2MSBpdGVtNjE7IHR5cGVkZWYgUDYyIGl0ZW02MjsgdHlwZWRlZiBQNjMgaXRlbTYzOyB0eXBlZGVmIFA2NCBpdGVtNjQ7IHR5cGVkZWYgUDY1IGl0ZW02NTsgdHlwZWRlZiBQNjYgaXRlbTY2OyB0eXBlZGVmIFA2NyBpdGVtNjc7IHR5cGVkZWYgUDY4IGl0ZW02ODsgdHlwZWRlZiBQNjkgaXRlbTY5OyB0eXBlZGVmIFA3MCBpdGVtNzA7IHR5cGVkZWYgUDcxIGl0ZW03MTsgdHlwZWRlZiBQNzIgaXRlbTcyOyB0eXBlZGVmIFA3MyBpdGVtNzM7IHR5cGVkZWYgUDc0IGl0ZW03NDsgdHlwZWRlZiBQNzUgaXRlbTc1OyB0eXBlZGVmIFA3NiBpdGVtNzY7IHR5cGVkZWYgUDc3IGl0ZW03NzsgdHlwZWRlZiBQNzggaXRlbTc4OyB0eXBlZGVmIFA3OSBpdGVtNzk7IHR5cGVkZWYgUDgwIGl0ZW04MDsgdHlwZWRlZiBQODEgaXRlbTgxOyB0eXBlZGVmIFA4MiBpdGVtODI7IHR5cGVkZWYgUDgzIGl0ZW04MzsgdHlwZWRlZiBQODQgaXRlbTg0OyB0eXBlZGVmIFA4NSBpdGVtODU7IHR5cGVkZWYgUDg2IGl0ZW04NjsgdHlwZWRlZiBQODcgaXRlbTg3OyB0eXBlZGVmIFA4OCBpdGVtODg7IHR5cGVkZWYgUDg5IGl0ZW04OTsgdHlwZWRlZiBQOTAgaXRlbTkwOyB0eXBlZGVmIFA5MSBpdGVtOTE7IHR5cGVkZWYgUDkyIGl0ZW05MjsgdHlwZWRlZiBQOTMgaXRlbTkzOyB0eXBlZGVmIFA5NCBpdGVtOTQ7IHR5cGVkZWYgUDk1IGl0ZW05NTsgdHlwZWRlZiBQOTYgaXRlbTk2OyB0eXBlZGVmIFA5NyBpdGVtOTc7IHR5cGVkZWYgUDk4IGl0ZW05ODsgdHlwZWRlZiBQOTkgaXRlbTk5OyB0eXBlZGVmIFAxMDAgaXRlbTEwMDsgdHlwZWRlZiBQMTAxIGl0ZW0xMDE7IHR5cGVkZWYgUDEwMiBpdGVtMTAyOyB0eXBlZGVmIFAxMDMgaXRlbTEwMzsgdHlwZWRlZiBQMTA0IGl0ZW0xMDQ7IHR5cGVkZWYgUDEwNSBpdGVtMTA1OyB0eXBlZGVmIFAxMDYgaXRlbTEwNjsgdHlwZWRlZiBQMTA3IGl0ZW0xMDc7IHR5cGVkZWYgUDEwOCBpdGVtMTA4OyB0eXBlZGVmIFAxMDkgaXRlbTEwOTsgdHlwZWRlZiBQMTEwIGl0ZW0xMTA7IHR5cGVkZWYgUDExMSBpdGVtMTExOyB0eXBlZGVmIFAxMTIgaXRlbTExMjsgdHlwZWRlZiBQMTEzIGl0ZW0xMTM7IHR5cGVkZWYgUDExNCBpdGVtMTE0OyB0eXBlZGVmIFAxMTUgaXRlbTExNTsgdHlwZWRlZiBQMTE2IGl0ZW0xMTY7IHR5cGVkZWYgUDExNyBpdGVtMTE3OyB0eXBlZGVmIFAxMTggaXRlbTExODsgdHlwZWRlZiBQMTE5IGl0ZW0xMTk7IHR5cGVkZWYgUDEyMCBpdGVtMTIwOyB0eXBlZGVmIFAxMjEgaXRlbTEyMTsgdHlwZWRlZiBQMTIyIGl0ZW0xMjI7IHR5cGVkZWYgUDEyMyBpdGVtMTIzOyB0eXBlZGVmIFAxMjQgaXRlbTEyNDsgdHlwZWRlZiBQMTI1IGl0ZW0xMjU7IHR5cGVkZWYgUDEyNiBpdGVtMTI2OyB0eXBlZGVmIFAxMjcgaXRlbTEyNzsgdHlwZWRlZiBQMTI4IGl0ZW0xMjg7IHR5cGVkZWYgUDEyOSBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBQOTMgLCBjbGFzcyBQOTQgLCBjbGFzcyBQOTUgLCBjbGFzcyBQOTYgLCBjbGFzcyBQOTcgLCBjbGFzcyBQOTggLCBjbGFzcyBQOTkgLCBjbGFzcyBQMTAwICwgY2xhc3MgUDEwMSAsIGNsYXNzIFAxMDIgLCBjbGFzcyBQMTAzICwgY2xhc3MgUDEwNCAsIGNsYXNzIFAxMDUgLCBjbGFzcyBQMTA2ICwgY2xhc3MgUDEwNyAsIGNsYXNzIFAxMDggLCBjbGFzcyBQMTA5ICwgY2xhc3MgUDExMCAsIGNsYXNzIFAxMTEgLCBjbGFzcyBQMTEyICwgY2xhc3MgUDExMyAsIGNsYXNzIFAxMTQgLCBjbGFzcyBQMTE1ICwgY2xhc3MgUDExNiAsIGNsYXNzIFAxMTcgLCBjbGFzcyBQMTE4ICwgY2xhc3MgUDExOSAsIGNsYXNzIFAxMjAgLCBjbGFzcyBQMTIxICwgY2xhc3MgUDEyMiAsIGNsYXNzIFAxMjMgLCBjbGFzcyBQMTI0ICwgY2xhc3MgUDEyNSAsIGNsYXNzIFAxMjYgLCBjbGFzcyBQMTI3ICwgY2xhc3MgUDEyOCAsIGNsYXNzIFAxMjkgLCBjbGFzcyBQMTMwID4gc3RydWN0IHZlY3RvcjEzMSB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjEzMTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwPiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgUDQxIGl0ZW00MTsgdHlwZWRlZiBQNDIgaXRlbTQyOyB0eXBlZGVmIFA0MyBpdGVtNDM7IHR5cGVkZWYgUDQ0IGl0ZW00NDsgdHlwZWRlZiBQNDUgaXRlbTQ1OyB0eXBlZGVmIFA0NiBpdGVtNDY7IHR5cGVkZWYgUDQ3IGl0ZW00NzsgdHlwZWRlZiBQNDggaXRlbTQ4OyB0eXBlZGVmIFA0OSBpdGVtNDk7IHR5cGVkZWYgUDUwIGl0ZW01MDsgdHlwZWRlZiBQNTEgaXRlbTUxOyB0eXBlZGVmIFA1MiBpdGVtNTI7IHR5cGVkZWYgUDUzIGl0ZW01MzsgdHlwZWRlZiBQNTQgaXRlbTU0OyB0eXBlZGVmIFA1NSBpdGVtNTU7IHR5cGVkZWYgUDU2IGl0ZW01NjsgdHlwZWRlZiBQNTcgaXRlbTU3OyB0eXBlZGVmIFA1OCBpdGVtNTg7IHR5cGVkZWYgUDU5IGl0ZW01OTsgdHlwZWRlZiBQNjAgaXRlbTYwOyB0eXBlZGVmIFA2MSBpdGVtNjE7IHR5cGVkZWYgUDYyIGl0ZW02MjsgdHlwZWRlZiBQNjMgaXRlbTYzOyB0eXBlZGVmIFA2NCBpdGVtNjQ7IHR5cGVkZWYgUDY1IGl0ZW02NTsgdHlwZWRlZiBQNjYgaXRlbTY2OyB0eXBlZGVmIFA2NyBpdGVtNjc7IHR5cGVkZWYgUDY4IGl0ZW02ODsgdHlwZWRlZiBQNjkgaXRlbTY5OyB0eXBlZGVmIFA3MCBpdGVtNzA7IHR5cGVkZWYgUDcxIGl0ZW03MTsgdHlwZWRlZiBQNzIgaXRlbTcyOyB0eXBlZGVmIFA3MyBpdGVtNzM7IHR5cGVkZWYgUDc0IGl0ZW03NDsgdHlwZWRlZiBQNzUgaXRlbTc1OyB0eXBlZGVmIFA3NiBpdGVtNzY7IHR5cGVkZWYgUDc3IGl0ZW03NzsgdHlwZWRlZiBQNzggaXRlbTc4OyB0eXBlZGVmIFA3OSBpdGVtNzk7IHR5cGVkZWYgUDgwIGl0ZW04MDsgdHlwZWRlZiBQODEgaXRlbTgxOyB0eXBlZGVmIFA4MiBpdGVtODI7IHR5cGVkZWYgUDgzIGl0ZW04MzsgdHlwZWRlZiBQODQgaXRlbTg0OyB0eXBlZGVmIFA4NSBpdGVtODU7IHR5cGVkZWYgUDg2IGl0ZW04NjsgdHlwZWRlZiBQODcgaXRlbTg3OyB0eXBlZGVmIFA4OCBpdGVtODg7IHR5cGVkZWYgUDg5IGl0ZW04OTsgdHlwZWRlZiBQOTAgaXRlbTkwOyB0eXBlZGVmIFA5MSBpdGVtOTE7IHR5cGVkZWYgUDkyIGl0ZW05MjsgdHlwZWRlZiBQOTMgaXRlbTkzOyB0eXBlZGVmIFA5NCBpdGVtOTQ7IHR5cGVkZWYgUDk1IGl0ZW05NTsgdHlwZWRlZiBQOTYgaXRlbTk2OyB0eXBlZGVmIFA5NyBpdGVtOTc7IHR5cGVkZWYgUDk4IGl0ZW05ODsgdHlwZWRlZiBQOTkgaXRlbTk5OyB0eXBlZGVmIFAxMDAgaXRlbTEwMDsgdHlwZWRlZiBQMTAxIGl0ZW0xMDE7IHR5cGVkZWYgUDEwMiBpdGVtMTAyOyB0eXBlZGVmIFAxMDMgaXRlbTEwMzsgdHlwZWRlZiBQMTA0IGl0ZW0xMDQ7IHR5cGVkZWYgUDEwNSBpdGVtMTA1OyB0eXBlZGVmIFAxMDYgaXRlbTEwNjsgdHlwZWRlZiBQMTA3IGl0ZW0xMDc7IHR5cGVkZWYgUDEwOCBpdGVtMTA4OyB0eXBlZGVmIFAxMDkgaXRlbTEwOTsgdHlwZWRlZiBQMTEwIGl0ZW0xMTA7IHR5cGVkZWYgUDExMSBpdGVtMTExOyB0eXBlZGVmIFAxMTIgaXRlbTExMjsgdHlwZWRlZiBQMTEzIGl0ZW0xMTM7IHR5cGVkZWYgUDExNCBpdGVtMTE0OyB0eXBlZGVmIFAxMTUgaXRlbTExNTsgdHlwZWRlZiBQMTE2IGl0ZW0xMTY7IHR5cGVkZWYgUDExNyBpdGVtMTE3OyB0eXBlZGVmIFAxMTggaXRlbTExODsgdHlwZWRlZiBQMTE5IGl0ZW0xMTk7IHR5cGVkZWYgUDEyMCBpdGVtMTIwOyB0eXBlZGVmIFAxMjEgaXRlbTEyMTsgdHlwZWRlZiBQMTIyIGl0ZW0xMjI7IHR5cGVkZWYgUDEyMyBpdGVtMTIzOyB0eXBlZGVmIFAxMjQgaXRlbTEyNDsgdHlwZWRlZiBQMTI1IGl0ZW0xMjU7IHR5cGVkZWYgUDEyNiBpdGVtMTI2OyB0eXBlZGVmIFAxMjcgaXRlbTEyNzsgdHlwZWRlZiBQMTI4IGl0ZW0xMjg7IHR5cGVkZWYgUDEyOSBpdGVtMTI5OyB0eXBlZGVmIFAxMzAgaXRlbTEzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5ODsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ICwgY2xhc3MgUDk2ICwgY2xhc3MgUDk3ICwgY2xhc3MgUDk4ICwgY2xhc3MgUDk5ICwgY2xhc3MgUDEwMCAsIGNsYXNzIFAxMDEgLCBjbGFzcyBQMTAyICwgY2xhc3MgUDEwMyAsIGNsYXNzIFAxMDQgLCBjbGFzcyBQMTA1ICwgY2xhc3MgUDEwNiAsIGNsYXNzIFAxMDcgLCBjbGFzcyBQMTA4ICwgY2xhc3MgUDEwOSAsIGNsYXNzIFAxMTAgLCBjbGFzcyBQMTExICwgY2xhc3MgUDExMiAsIGNsYXNzIFAxMTMgLCBjbGFzcyBQMTE0ICwgY2xhc3MgUDExNSAsIGNsYXNzIFAxMTYgLCBjbGFzcyBQMTE3ICwgY2xhc3MgUDExOCAsIGNsYXNzIFAxMTkgLCBjbGFzcyBQMTIwICwgY2xhc3MgUDEyMSAsIGNsYXNzIFAxMjIgLCBjbGFzcyBQMTIzICwgY2xhc3MgUDEyNCAsIGNsYXNzIFAxMjUgLCBjbGFzcyBQMTI2ICwgY2xhc3MgUDEyNyAsIGNsYXNzIFAxMjggLCBjbGFzcyBQMTI5ICwgY2xhc3MgUDEzMCAsIGNsYXNzIFAxMzEgPiBzdHJ1Y3QgdmVjdG9yMTMyIHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yMTMyPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFA5MiAsIFA5MyAsIFA5NCAsIFA5NSAsIFA5NiAsIFA5NyAsIFA5OCAsIFA5OSAsIFAxMDAgLCBQMTAxICwgUDEwMiAsIFAxMDMgLCBQMTA0ICwgUDEwNSAsIFAxMDYgLCBQMTA3ICwgUDEwOCAsIFAxMDkgLCBQMTEwICwgUDExMSAsIFAxMTIgLCBQMTEzICwgUDExNCAsIFAxMTUgLCBQMTE2ICwgUDExNyAsIFAxMTggLCBQMTE5ICwgUDEyMCAsIFAxMjEgLCBQMTIyICwgUDEyMyAsIFAxMjQgLCBQMTI1ICwgUDEyNiAsIFAxMjcgLCBQMTI4ICwgUDEyOSAsIFAxMzAgLCBQMTMxPiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgUDQxIGl0ZW00MTsgdHlwZWRlZiBQNDIgaXRlbTQyOyB0eXBlZGVmIFA0MyBpdGVtNDM7IHR5cGVkZWYgUDQ0IGl0ZW00NDsgdHlwZWRlZiBQNDUgaXRlbTQ1OyB0eXBlZGVmIFA0NiBpdGVtNDY7IHR5cGVkZWYgUDQ3IGl0ZW00NzsgdHlwZWRlZiBQNDggaXRlbTQ4OyB0eXBlZGVmIFA0OSBpdGVtNDk7IHR5cGVkZWYgUDUwIGl0ZW01MDsgdHlwZWRlZiBQNTEgaXRlbTUxOyB0eXBlZGVmIFA1MiBpdGVtNTI7IHR5cGVkZWYgUDUzIGl0ZW01MzsgdHlwZWRlZiBQNTQgaXRlbTU0OyB0eXBlZGVmIFA1NSBpdGVtNTU7IHR5cGVkZWYgUDU2IGl0ZW01NjsgdHlwZWRlZiBQNTcgaXRlbTU3OyB0eXBlZGVmIFA1OCBpdGVtNTg7IHR5cGVkZWYgUDU5IGl0ZW01OTsgdHlwZWRlZiBQNjAgaXRlbTYwOyB0eXBlZGVmIFA2MSBpdGVtNjE7IHR5cGVkZWYgUDYyIGl0ZW02MjsgdHlwZWRlZiBQNjMgaXRlbTYzOyB0eXBlZGVmIFA2NCBpdGVtNjQ7IHR5cGVkZWYgUDY1IGl0ZW02NTsgdHlwZWRlZiBQNjYgaXRlbTY2OyB0eXBlZGVmIFA2NyBpdGVtNjc7IHR5cGVkZWYgUDY4IGl0ZW02ODsgdHlwZWRlZiBQNjkgaXRlbTY5OyB0eXBlZGVmIFA3MCBpdGVtNzA7IHR5cGVkZWYgUDcxIGl0ZW03MTsgdHlwZWRlZiBQNzIgaXRlbTcyOyB0eXBlZGVmIFA3MyBpdGVtNzM7IHR5cGVkZWYgUDc0IGl0ZW03NDsgdHlwZWRlZiBQNzUgaXRlbTc1OyB0eXBlZGVmIFA3NiBpdGVtNzY7IHR5cGVkZWYgUDc3IGl0ZW03NzsgdHlwZWRlZiBQNzggaXRlbTc4OyB0eXBlZGVmIFA3OSBpdGVtNzk7IHR5cGVkZWYgUDgwIGl0ZW04MDsgdHlwZWRlZiBQODEgaXRlbTgxOyB0eXBlZGVmIFA4MiBpdGVtODI7IHR5cGVkZWYgUDgzIGl0ZW04MzsgdHlwZWRlZiBQODQgaXRlbTg0OyB0eXBlZGVmIFA4NSBpdGVtODU7IHR5cGVkZWYgUDg2IGl0ZW04NjsgdHlwZWRlZiBQODcgaXRlbTg3OyB0eXBlZGVmIFA4OCBpdGVtODg7IHR5cGVkZWYgUDg5IGl0ZW04OTsgdHlwZWRlZiBQOTAgaXRlbTkwOyB0eXBlZGVmIFA5MSBpdGVtOTE7IHR5cGVkZWYgUDkyIGl0ZW05MjsgdHlwZWRlZiBQOTMgaXRlbTkzOyB0eXBlZGVmIFA5NCBpdGVtOTQ7IHR5cGVkZWYgUDk1IGl0ZW05NTsgdHlwZWRlZiBQOTYgaXRlbTk2OyB0eXBlZGVmIFA5NyBpdGVtOTc7IHR5cGVkZWYgUDk4IGl0ZW05ODsgdHlwZWRlZiBQOTkgaXRlbTk5OyB0eXBlZGVmIFAxMDAgaXRlbTEwMDsgdHlwZWRlZiBQMTAxIGl0ZW0xMDE7IHR5cGVkZWYgUDEwMiBpdGVtMTAyOyB0eXBlZGVmIFAxMDMgaXRlbTEwMzsgdHlwZWRlZiBQMTA0IGl0ZW0xMDQ7IHR5cGVkZWYgUDEwNSBpdGVtMTA1OyB0eXBlZGVmIFAxMDYgaXRlbTEwNjsgdHlwZWRlZiBQMTA3IGl0ZW0xMDc7IHR5cGVkZWYgUDEwOCBpdGVtMTA4OyB0eXBlZGVmIFAxMDkgaXRlbTEwOTsgdHlwZWRlZiBQMTEwIGl0ZW0xMTA7IHR5cGVkZWYgUDExMSBpdGVtMTExOyB0eXBlZGVmIFAxMTIgaXRlbTExMjsgdHlwZWRlZiBQMTEzIGl0ZW0xMTM7IHR5cGVkZWYgUDExNCBpdGVtMTE0OyB0eXBlZGVmIFAxMTUgaXRlbTExNTsgdHlwZWRlZiBQMTE2IGl0ZW0xMTY7IHR5cGVkZWYgUDExNyBpdGVtMTE3OyB0eXBlZGVmIFAxMTggaXRlbTExODsgdHlwZWRlZiBQMTE5IGl0ZW0xMTk7IHR5cGVkZWYgUDEyMCBpdGVtMTIwOyB0eXBlZGVmIFAxMjEgaXRlbTEyMTsgdHlwZWRlZiBQMTIyIGl0ZW0xMjI7IHR5cGVkZWYgUDEyMyBpdGVtMTIzOyB0eXBlZGVmIFAxMjQgaXRlbTEyNDsgdHlwZWRlZiBQMTI1IGl0ZW0xMjU7IHR5cGVkZWYgUDEyNiBpdGVtMTI2OyB0eXBlZGVmIFAxMjcgaXRlbTEyNzsgdHlwZWRlZiBQMTI4IGl0ZW0xMjg7IHR5cGVkZWYgUDEyOSBpdGVtMTI5OyB0eXBlZGVmIFAxMzAgaXRlbTEzMDsgdHlwZWRlZiBQMTMxIGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSAsIGNsYXNzIFA4NiAsIGNsYXNzIFA4NyAsIGNsYXNzIFA4OCAsIGNsYXNzIFA4OSAsIGNsYXNzIFA5MCAsIGNsYXNzIFA5MSAsIGNsYXNzIFA5MiAsIGNsYXNzIFA5MyAsIGNsYXNzIFA5NCAsIGNsYXNzIFA5NSAsIGNsYXNzIFA5NiAsIGNsYXNzIFA5NyAsIGNsYXNzIFA5OCAsIGNsYXNzIFA5OSAsIGNsYXNzIFAxMDAgLCBjbGFzcyBQMTAxICwgY2xhc3MgUDEwMiAsIGNsYXNzIFAxMDMgLCBjbGFzcyBQMTA0ICwgY2xhc3MgUDEwNSAsIGNsYXNzIFAxMDYgLCBjbGFzcyBQMTA3ICwgY2xhc3MgUDEwOCAsIGNsYXNzIFAxMDkgLCBjbGFzcyBQMTEwICwgY2xhc3MgUDExMSAsIGNsYXNzIFAxMTIgLCBjbGFzcyBQMTEzICwgY2xhc3MgUDExNCAsIGNsYXNzIFAxMTUgLCBjbGFzcyBQMTE2ICwgY2xhc3MgUDExNyAsIGNsYXNzIFAxMTggLCBjbGFzcyBQMTE5ICwgY2xhc3MgUDEyMCAsIGNsYXNzIFAxMjEgLCBjbGFzcyBQMTIyICwgY2xhc3MgUDEyMyAsIGNsYXNzIFAxMjQgLCBjbGFzcyBQMTI1ICwgY2xhc3MgUDEyNiAsIGNsYXNzIFAxMjcgLCBjbGFzcyBQMTI4ICwgY2xhc3MgUDEyOSAsIGNsYXNzIFAxMzAgLCBjbGFzcyBQMTMxICwgY2xhc3MgUDEzMiA+IHN0cnVjdCB2ZWN0b3IxMzMgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3IxMzM8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1ICwgUDk2ICwgUDk3ICwgUDk4ICwgUDk5ICwgUDEwMCAsIFAxMDEgLCBQMTAyICwgUDEwMyAsIFAxMDQgLCBQMTA1ICwgUDEwNiAsIFAxMDcgLCBQMTA4ICwgUDEwOSAsIFAxMTAgLCBQMTExICwgUDExMiAsIFAxMTMgLCBQMTE0ICwgUDExNSAsIFAxMTYgLCBQMTE3ICwgUDExOCAsIFAxMTkgLCBQMTIwICwgUDEyMSAsIFAxMjIgLCBQMTIzICwgUDEyNCAsIFAxMjUgLCBQMTI2ICwgUDEyNyAsIFAxMjggLCBQMTI5ICwgUDEzMCAsIFAxMzEgLCBQMTMyPiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgUDQxIGl0ZW00MTsgdHlwZWRlZiBQNDIgaXRlbTQyOyB0eXBlZGVmIFA0MyBpdGVtNDM7IHR5cGVkZWYgUDQ0IGl0ZW00NDsgdHlwZWRlZiBQNDUgaXRlbTQ1OyB0eXBlZGVmIFA0NiBpdGVtNDY7IHR5cGVkZWYgUDQ3IGl0ZW00NzsgdHlwZWRlZiBQNDggaXRlbTQ4OyB0eXBlZGVmIFA0OSBpdGVtNDk7IHR5cGVkZWYgUDUwIGl0ZW01MDsgdHlwZWRlZiBQNTEgaXRlbTUxOyB0eXBlZGVmIFA1MiBpdGVtNTI7IHR5cGVkZWYgUDUzIGl0ZW01MzsgdHlwZWRlZiBQNTQgaXRlbTU0OyB0eXBlZGVmIFA1NSBpdGVtNTU7IHR5cGVkZWYgUDU2IGl0ZW01NjsgdHlwZWRlZiBQNTcgaXRlbTU3OyB0eXBlZGVmIFA1OCBpdGVtNTg7IHR5cGVkZWYgUDU5IGl0ZW01OTsgdHlwZWRlZiBQNjAgaXRlbTYwOyB0eXBlZGVmIFA2MSBpdGVtNjE7IHR5cGVkZWYgUDYyIGl0ZW02MjsgdHlwZWRlZiBQNjMgaXRlbTYzOyB0eXBlZGVmIFA2NCBpdGVtNjQ7IHR5cGVkZWYgUDY1IGl0ZW02NTsgdHlwZWRlZiBQNjYgaXRlbTY2OyB0eXBlZGVmIFA2NyBpdGVtNjc7IHR5cGVkZWYgUDY4IGl0ZW02ODsgdHlwZWRlZiBQNjkgaXRlbTY5OyB0eXBlZGVmIFA3MCBpdGVtNzA7IHR5cGVkZWYgUDcxIGl0ZW03MTsgdHlwZWRlZiBQNzIgaXRlbTcyOyB0eXBlZGVmIFA3MyBpdGVtNzM7IHR5cGVkZWYgUDc0IGl0ZW03NDsgdHlwZWRlZiBQNzUgaXRlbTc1OyB0eXBlZGVmIFA3NiBpdGVtNzY7IHR5cGVkZWYgUDc3IGl0ZW03NzsgdHlwZWRlZiBQNzggaXRlbTc4OyB0eXBlZGVmIFA3OSBpdGVtNzk7IHR5cGVkZWYgUDgwIGl0ZW04MDsgdHlwZWRlZiBQODEgaXRlbTgxOyB0eXBlZGVmIFA4MiBpdGVtODI7IHR5cGVkZWYgUDgzIGl0ZW04MzsgdHlwZWRlZiBQODQgaXRlbTg0OyB0eXBlZGVmIFA4NSBpdGVtODU7IHR5cGVkZWYgUDg2IGl0ZW04NjsgdHlwZWRlZiBQODcgaXRlbTg3OyB0eXBlZGVmIFA4OCBpdGVtODg7IHR5cGVkZWYgUDg5IGl0ZW04OTsgdHlwZWRlZiBQOTAgaXRlbTkwOyB0eXBlZGVmIFA5MSBpdGVtOTE7IHR5cGVkZWYgUDkyIGl0ZW05MjsgdHlwZWRlZiBQOTMgaXRlbTkzOyB0eXBlZGVmIFA5NCBpdGVtOTQ7IHR5cGVkZWYgUDk1IGl0ZW05NTsgdHlwZWRlZiBQOTYgaXRlbTk2OyB0eXBlZGVmIFA5NyBpdGVtOTc7IHR5cGVkZWYgUDk4IGl0ZW05ODsgdHlwZWRlZiBQOTkgaXRlbTk5OyB0eXBlZGVmIFAxMDAgaXRlbTEwMDsgdHlwZWRlZiBQMTAxIGl0ZW0xMDE7IHR5cGVkZWYgUDEwMiBpdGVtMTAyOyB0eXBlZGVmIFAxMDMgaXRlbTEwMzsgdHlwZWRlZiBQMTA0IGl0ZW0xMDQ7IHR5cGVkZWYgUDEwNSBpdGVtMTA1OyB0eXBlZGVmIFAxMDYgaXRlbTEwNjsgdHlwZWRlZiBQMTA3IGl0ZW0xMDc7IHR5cGVkZWYgUDEwOCBpdGVtMTA4OyB0eXBlZGVmIFAxMDkgaXRlbTEwOTsgdHlwZWRlZiBQMTEwIGl0ZW0xMTA7IHR5cGVkZWYgUDExMSBpdGVtMTExOyB0eXBlZGVmIFAxMTIgaXRlbTExMjsgdHlwZWRlZiBQMTEzIGl0ZW0xMTM7IHR5cGVkZWYgUDExNCBpdGVtMTE0OyB0eXBlZGVmIFAxMTUgaXRlbTExNTsgdHlwZWRlZiBQMTE2IGl0ZW0xMTY7IHR5cGVkZWYgUDExNyBpdGVtMTE3OyB0eXBlZGVmIFAxMTggaXRlbTExODsgdHlwZWRlZiBQMTE5IGl0ZW0xMTk7IHR5cGVkZWYgUDEyMCBpdGVtMTIwOyB0eXBlZGVmIFAxMjEgaXRlbTEyMTsgdHlwZWRlZiBQMTIyIGl0ZW0xMjI7IHR5cGVkZWYgUDEyMyBpdGVtMTIzOyB0eXBlZGVmIFAxMjQgaXRlbTEyNDsgdHlwZWRlZiBQMTI1IGl0ZW0xMjU7IHR5cGVkZWYgUDEyNiBpdGVtMTI2OyB0eXBlZGVmIFAxMjcgaXRlbTEyNzsgdHlwZWRlZiBQMTI4IGl0ZW0xMjg7IHR5cGVkZWYgUDEyOSBpdGVtMTI5OyB0eXBlZGVmIFAxMzAgaXRlbTEzMDsgdHlwZWRlZiBQMTMxIGl0ZW0xMzE7IHR5cGVkZWYgUDEzMiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBQOTMgLCBjbGFzcyBQOTQgLCBjbGFzcyBQOTUgLCBjbGFzcyBQOTYgLCBjbGFzcyBQOTcgLCBjbGFzcyBQOTggLCBjbGFzcyBQOTkgLCBjbGFzcyBQMTAwICwgY2xhc3MgUDEwMSAsIGNsYXNzIFAxMDIgLCBjbGFzcyBQMTAzICwgY2xhc3MgUDEwNCAsIGNsYXNzIFAxMDUgLCBjbGFzcyBQMTA2ICwgY2xhc3MgUDEwNyAsIGNsYXNzIFAxMDggLCBjbGFzcyBQMTA5ICwgY2xhc3MgUDExMCAsIGNsYXNzIFAxMTEgLCBjbGFzcyBQMTEyICwgY2xhc3MgUDExMyAsIGNsYXNzIFAxMTQgLCBjbGFzcyBQMTE1ICwgY2xhc3MgUDExNiAsIGNsYXNzIFAxMTcgLCBjbGFzcyBQMTE4ICwgY2xhc3MgUDExOSAsIGNsYXNzIFAxMjAgLCBjbGFzcyBQMTIxICwgY2xhc3MgUDEyMiAsIGNsYXNzIFAxMjMgLCBjbGFzcyBQMTI0ICwgY2xhc3MgUDEyNSAsIGNsYXNzIFAxMjYgLCBjbGFzcyBQMTI3ICwgY2xhc3MgUDEyOCAsIGNsYXNzIFAxMjkgLCBjbGFzcyBQMTMwICwgY2xhc3MgUDEzMSAsIGNsYXNzIFAxMzIgLCBjbGFzcyBQMTMzID4gc3RydWN0IHZlY3RvcjEzNCB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjEzNDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzPiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgUDQxIGl0ZW00MTsgdHlwZWRlZiBQNDIgaXRlbTQyOyB0eXBlZGVmIFA0MyBpdGVtNDM7IHR5cGVkZWYgUDQ0IGl0ZW00NDsgdHlwZWRlZiBQNDUgaXRlbTQ1OyB0eXBlZGVmIFA0NiBpdGVtNDY7IHR5cGVkZWYgUDQ3IGl0ZW00NzsgdHlwZWRlZiBQNDggaXRlbTQ4OyB0eXBlZGVmIFA0OSBpdGVtNDk7IHR5cGVkZWYgUDUwIGl0ZW01MDsgdHlwZWRlZiBQNTEgaXRlbTUxOyB0eXBlZGVmIFA1MiBpdGVtNTI7IHR5cGVkZWYgUDUzIGl0ZW01MzsgdHlwZWRlZiBQNTQgaXRlbTU0OyB0eXBlZGVmIFA1NSBpdGVtNTU7IHR5cGVkZWYgUDU2IGl0ZW01NjsgdHlwZWRlZiBQNTcgaXRlbTU3OyB0eXBlZGVmIFA1OCBpdGVtNTg7IHR5cGVkZWYgUDU5IGl0ZW01OTsgdHlwZWRlZiBQNjAgaXRlbTYwOyB0eXBlZGVmIFA2MSBpdGVtNjE7IHR5cGVkZWYgUDYyIGl0ZW02MjsgdHlwZWRlZiBQNjMgaXRlbTYzOyB0eXBlZGVmIFA2NCBpdGVtNjQ7IHR5cGVkZWYgUDY1IGl0ZW02NTsgdHlwZWRlZiBQNjYgaXRlbTY2OyB0eXBlZGVmIFA2NyBpdGVtNjc7IHR5cGVkZWYgUDY4IGl0ZW02ODsgdHlwZWRlZiBQNjkgaXRlbTY5OyB0eXBlZGVmIFA3MCBpdGVtNzA7IHR5cGVkZWYgUDcxIGl0ZW03MTsgdHlwZWRlZiBQNzIgaXRlbTcyOyB0eXBlZGVmIFA3MyBpdGVtNzM7IHR5cGVkZWYgUDc0IGl0ZW03NDsgdHlwZWRlZiBQNzUgaXRlbTc1OyB0eXBlZGVmIFA3NiBpdGVtNzY7IHR5cGVkZWYgUDc3IGl0ZW03NzsgdHlwZWRlZiBQNzggaXRlbTc4OyB0eXBlZGVmIFA3OSBpdGVtNzk7IHR5cGVkZWYgUDgwIGl0ZW04MDsgdHlwZWRlZiBQODEgaXRlbTgxOyB0eXBlZGVmIFA4MiBpdGVtODI7IHR5cGVkZWYgUDgzIGl0ZW04MzsgdHlwZWRlZiBQODQgaXRlbTg0OyB0eXBlZGVmIFA4NSBpdGVtODU7IHR5cGVkZWYgUDg2IGl0ZW04NjsgdHlwZWRlZiBQODcgaXRlbTg3OyB0eXBlZGVmIFA4OCBpdGVtODg7IHR5cGVkZWYgUDg5IGl0ZW04OTsgdHlwZWRlZiBQOTAgaXRlbTkwOyB0eXBlZGVmIFA5MSBpdGVtOTE7IHR5cGVkZWYgUDkyIGl0ZW05MjsgdHlwZWRlZiBQOTMgaXRlbTkzOyB0eXBlZGVmIFA5NCBpdGVtOTQ7IHR5cGVkZWYgUDk1IGl0ZW05NTsgdHlwZWRlZiBQOTYgaXRlbTk2OyB0eXBlZGVmIFA5NyBpdGVtOTc7IHR5cGVkZWYgUDk4IGl0ZW05ODsgdHlwZWRlZiBQOTkgaXRlbTk5OyB0eXBlZGVmIFAxMDAgaXRlbTEwMDsgdHlwZWRlZiBQMTAxIGl0ZW0xMDE7IHR5cGVkZWYgUDEwMiBpdGVtMTAyOyB0eXBlZGVmIFAxMDMgaXRlbTEwMzsgdHlwZWRlZiBQMTA0IGl0ZW0xMDQ7IHR5cGVkZWYgUDEwNSBpdGVtMTA1OyB0eXBlZGVmIFAxMDYgaXRlbTEwNjsgdHlwZWRlZiBQMTA3IGl0ZW0xMDc7IHR5cGVkZWYgUDEwOCBpdGVtMTA4OyB0eXBlZGVmIFAxMDkgaXRlbTEwOTsgdHlwZWRlZiBQMTEwIGl0ZW0xMTA7IHR5cGVkZWYgUDExMSBpdGVtMTExOyB0eXBlZGVmIFAxMTIgaXRlbTExMjsgdHlwZWRlZiBQMTEzIGl0ZW0xMTM7IHR5cGVkZWYgUDExNCBpdGVtMTE0OyB0eXBlZGVmIFAxMTUgaXRlbTExNTsgdHlwZWRlZiBQMTE2IGl0ZW0xMTY7IHR5cGVkZWYgUDExNyBpdGVtMTE3OyB0eXBlZGVmIFAxMTggaXRlbTExODsgdHlwZWRlZiBQMTE5IGl0ZW0xMTk7IHR5cGVkZWYgUDEyMCBpdGVtMTIwOyB0eXBlZGVmIFAxMjEgaXRlbTEyMTsgdHlwZWRlZiBQMTIyIGl0ZW0xMjI7IHR5cGVkZWYgUDEyMyBpdGVtMTIzOyB0eXBlZGVmIFAxMjQgaXRlbTEyNDsgdHlwZWRlZiBQMTI1IGl0ZW0xMjU7IHR5cGVkZWYgUDEyNiBpdGVtMTI2OyB0eXBlZGVmIFAxMjcgaXRlbTEyNzsgdHlwZWRlZiBQMTI4IGl0ZW0xMjg7IHR5cGVkZWYgUDEyOSBpdGVtMTI5OyB0eXBlZGVmIFAxMzAgaXRlbTEzMDsgdHlwZWRlZiBQMTMxIGl0ZW0xMzE7IHR5cGVkZWYgUDEzMiBpdGVtMTMyOyB0eXBlZGVmIFAxMzMgaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5ODsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ICwgY2xhc3MgUDk2ICwgY2xhc3MgUDk3ICwgY2xhc3MgUDk4ICwgY2xhc3MgUDk5ICwgY2xhc3MgUDEwMCAsIGNsYXNzIFAxMDEgLCBjbGFzcyBQMTAyICwgY2xhc3MgUDEwMyAsIGNsYXNzIFAxMDQgLCBjbGFzcyBQMTA1ICwgY2xhc3MgUDEwNiAsIGNsYXNzIFAxMDcgLCBjbGFzcyBQMTA4ICwgY2xhc3MgUDEwOSAsIGNsYXNzIFAxMTAgLCBjbGFzcyBQMTExICwgY2xhc3MgUDExMiAsIGNsYXNzIFAxMTMgLCBjbGFzcyBQMTE0ICwgY2xhc3MgUDExNSAsIGNsYXNzIFAxMTYgLCBjbGFzcyBQMTE3ICwgY2xhc3MgUDExOCAsIGNsYXNzIFAxMTkgLCBjbGFzcyBQMTIwICwgY2xhc3MgUDEyMSAsIGNsYXNzIFAxMjIgLCBjbGFzcyBQMTIzICwgY2xhc3MgUDEyNCAsIGNsYXNzIFAxMjUgLCBjbGFzcyBQMTI2ICwgY2xhc3MgUDEyNyAsIGNsYXNzIFAxMjggLCBjbGFzcyBQMTI5ICwgY2xhc3MgUDEzMCAsIGNsYXNzIFAxMzEgLCBjbGFzcyBQMTMyICwgY2xhc3MgUDEzMyAsIGNsYXNzIFAxMzQgPiBzdHJ1Y3QgdmVjdG9yMTM1IHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yMTM1PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFA5MiAsIFA5MyAsIFA5NCAsIFA5NSAsIFA5NiAsIFA5NyAsIFA5OCAsIFA5OSAsIFAxMDAgLCBQMTAxICwgUDEwMiAsIFAxMDMgLCBQMTA0ICwgUDEwNSAsIFAxMDYgLCBQMTA3ICwgUDEwOCAsIFAxMDkgLCBQMTEwICwgUDExMSAsIFAxMTIgLCBQMTEzICwgUDExNCAsIFAxMTUgLCBQMTE2ICwgUDExNyAsIFAxMTggLCBQMTE5ICwgUDEyMCAsIFAxMjEgLCBQMTIyICwgUDEyMyAsIFAxMjQgLCBQMTI1ICwgUDEyNiAsIFAxMjcgLCBQMTI4ICwgUDEyOSAsIFAxMzAgLCBQMTMxICwgUDEzMiAsIFAxMzMgLCBQMTM0PiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgUDQxIGl0ZW00MTsgdHlwZWRlZiBQNDIgaXRlbTQyOyB0eXBlZGVmIFA0MyBpdGVtNDM7IHR5cGVkZWYgUDQ0IGl0ZW00NDsgdHlwZWRlZiBQNDUgaXRlbTQ1OyB0eXBlZGVmIFA0NiBpdGVtNDY7IHR5cGVkZWYgUDQ3IGl0ZW00NzsgdHlwZWRlZiBQNDggaXRlbTQ4OyB0eXBlZGVmIFA0OSBpdGVtNDk7IHR5cGVkZWYgUDUwIGl0ZW01MDsgdHlwZWRlZiBQNTEgaXRlbTUxOyB0eXBlZGVmIFA1MiBpdGVtNTI7IHR5cGVkZWYgUDUzIGl0ZW01MzsgdHlwZWRlZiBQNTQgaXRlbTU0OyB0eXBlZGVmIFA1NSBpdGVtNTU7IHR5cGVkZWYgUDU2IGl0ZW01NjsgdHlwZWRlZiBQNTcgaXRlbTU3OyB0eXBlZGVmIFA1OCBpdGVtNTg7IHR5cGVkZWYgUDU5IGl0ZW01OTsgdHlwZWRlZiBQNjAgaXRlbTYwOyB0eXBlZGVmIFA2MSBpdGVtNjE7IHR5cGVkZWYgUDYyIGl0ZW02MjsgdHlwZWRlZiBQNjMgaXRlbTYzOyB0eXBlZGVmIFA2NCBpdGVtNjQ7IHR5cGVkZWYgUDY1IGl0ZW02NTsgdHlwZWRlZiBQNjYgaXRlbTY2OyB0eXBlZGVmIFA2NyBpdGVtNjc7IHR5cGVkZWYgUDY4IGl0ZW02ODsgdHlwZWRlZiBQNjkgaXRlbTY5OyB0eXBlZGVmIFA3MCBpdGVtNzA7IHR5cGVkZWYgUDcxIGl0ZW03MTsgdHlwZWRlZiBQNzIgaXRlbTcyOyB0eXBlZGVmIFA3MyBpdGVtNzM7IHR5cGVkZWYgUDc0IGl0ZW03NDsgdHlwZWRlZiBQNzUgaXRlbTc1OyB0eXBlZGVmIFA3NiBpdGVtNzY7IHR5cGVkZWYgUDc3IGl0ZW03NzsgdHlwZWRlZiBQNzggaXRlbTc4OyB0eXBlZGVmIFA3OSBpdGVtNzk7IHR5cGVkZWYgUDgwIGl0ZW04MDsgdHlwZWRlZiBQODEgaXRlbTgxOyB0eXBlZGVmIFA4MiBpdGVtODI7IHR5cGVkZWYgUDgzIGl0ZW04MzsgdHlwZWRlZiBQODQgaXRlbTg0OyB0eXBlZGVmIFA4NSBpdGVtODU7IHR5cGVkZWYgUDg2IGl0ZW04NjsgdHlwZWRlZiBQODcgaXRlbTg3OyB0eXBlZGVmIFA4OCBpdGVtODg7IHR5cGVkZWYgUDg5IGl0ZW04OTsgdHlwZWRlZiBQOTAgaXRlbTkwOyB0eXBlZGVmIFA5MSBpdGVtOTE7IHR5cGVkZWYgUDkyIGl0ZW05MjsgdHlwZWRlZiBQOTMgaXRlbTkzOyB0eXBlZGVmIFA5NCBpdGVtOTQ7IHR5cGVkZWYgUDk1IGl0ZW05NTsgdHlwZWRlZiBQOTYgaXRlbTk2OyB0eXBlZGVmIFA5NyBpdGVtOTc7IHR5cGVkZWYgUDk4IGl0ZW05ODsgdHlwZWRlZiBQOTkgaXRlbTk5OyB0eXBlZGVmIFAxMDAgaXRlbTEwMDsgdHlwZWRlZiBQMTAxIGl0ZW0xMDE7IHR5cGVkZWYgUDEwMiBpdGVtMTAyOyB0eXBlZGVmIFAxMDMgaXRlbTEwMzsgdHlwZWRlZiBQMTA0IGl0ZW0xMDQ7IHR5cGVkZWYgUDEwNSBpdGVtMTA1OyB0eXBlZGVmIFAxMDYgaXRlbTEwNjsgdHlwZWRlZiBQMTA3IGl0ZW0xMDc7IHR5cGVkZWYgUDEwOCBpdGVtMTA4OyB0eXBlZGVmIFAxMDkgaXRlbTEwOTsgdHlwZWRlZiBQMTEwIGl0ZW0xMTA7IHR5cGVkZWYgUDExMSBpdGVtMTExOyB0eXBlZGVmIFAxMTIgaXRlbTExMjsgdHlwZWRlZiBQMTEzIGl0ZW0xMTM7IHR5cGVkZWYgUDExNCBpdGVtMTE0OyB0eXBlZGVmIFAxMTUgaXRlbTExNTsgdHlwZWRlZiBQMTE2IGl0ZW0xMTY7IHR5cGVkZWYgUDExNyBpdGVtMTE3OyB0eXBlZGVmIFAxMTggaXRlbTExODsgdHlwZWRlZiBQMTE5IGl0ZW0xMTk7IHR5cGVkZWYgUDEyMCBpdGVtMTIwOyB0eXBlZGVmIFAxMjEgaXRlbTEyMTsgdHlwZWRlZiBQMTIyIGl0ZW0xMjI7IHR5cGVkZWYgUDEyMyBpdGVtMTIzOyB0eXBlZGVmIFAxMjQgaXRlbTEyNDsgdHlwZWRlZiBQMTI1IGl0ZW0xMjU7IHR5cGVkZWYgUDEyNiBpdGVtMTI2OyB0eXBlZGVmIFAxMjcgaXRlbTEyNzsgdHlwZWRlZiBQMTI4IGl0ZW0xMjg7IHR5cGVkZWYgUDEyOSBpdGVtMTI5OyB0eXBlZGVmIFAxMzAgaXRlbTEzMDsgdHlwZWRlZiBQMTMxIGl0ZW0xMzE7IHR5cGVkZWYgUDEzMiBpdGVtMTMyOyB0eXBlZGVmIFAxMzMgaXRlbTEzMzsgdHlwZWRlZiBQMTM0IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSAsIGNsYXNzIFA4NiAsIGNsYXNzIFA4NyAsIGNsYXNzIFA4OCAsIGNsYXNzIFA4OSAsIGNsYXNzIFA5MCAsIGNsYXNzIFA5MSAsIGNsYXNzIFA5MiAsIGNsYXNzIFA5MyAsIGNsYXNzIFA5NCAsIGNsYXNzIFA5NSAsIGNsYXNzIFA5NiAsIGNsYXNzIFA5NyAsIGNsYXNzIFA5OCAsIGNsYXNzIFA5OSAsIGNsYXNzIFAxMDAgLCBjbGFzcyBQMTAxICwgY2xhc3MgUDEwMiAsIGNsYXNzIFAxMDMgLCBjbGFzcyBQMTA0ICwgY2xhc3MgUDEwNSAsIGNsYXNzIFAxMDYgLCBjbGFzcyBQMTA3ICwgY2xhc3MgUDEwOCAsIGNsYXNzIFAxMDkgLCBjbGFzcyBQMTEwICwgY2xhc3MgUDExMSAsIGNsYXNzIFAxMTIgLCBjbGFzcyBQMTEzICwgY2xhc3MgUDExNCAsIGNsYXNzIFAxMTUgLCBjbGFzcyBQMTE2ICwgY2xhc3MgUDExNyAsIGNsYXNzIFAxMTggLCBjbGFzcyBQMTE5ICwgY2xhc3MgUDEyMCAsIGNsYXNzIFAxMjEgLCBjbGFzcyBQMTIyICwgY2xhc3MgUDEyMyAsIGNsYXNzIFAxMjQgLCBjbGFzcyBQMTI1ICwgY2xhc3MgUDEyNiAsIGNsYXNzIFAxMjcgLCBjbGFzcyBQMTI4ICwgY2xhc3MgUDEyOSAsIGNsYXNzIFAxMzAgLCBjbGFzcyBQMTMxICwgY2xhc3MgUDEzMiAsIGNsYXNzIFAxMzMgLCBjbGFzcyBQMTM0ICwgY2xhc3MgUDEzNSA+IHN0cnVjdCB2ZWN0b3IxMzYgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3IxMzY8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1ICwgUDk2ICwgUDk3ICwgUDk4ICwgUDk5ICwgUDEwMCAsIFAxMDEgLCBQMTAyICwgUDEwMyAsIFAxMDQgLCBQMTA1ICwgUDEwNiAsIFAxMDcgLCBQMTA4ICwgUDEwOSAsIFAxMTAgLCBQMTExICwgUDExMiAsIFAxMTMgLCBQMTE0ICwgUDExNSAsIFAxMTYgLCBQMTE3ICwgUDExOCAsIFAxMTkgLCBQMTIwICwgUDEyMSAsIFAxMjIgLCBQMTIzICwgUDEyNCAsIFAxMjUgLCBQMTI2ICwgUDEyNyAsIFAxMjggLCBQMTI5ICwgUDEzMCAsIFAxMzEgLCBQMTMyICwgUDEzMyAsIFAxMzQgLCBQMTM1PiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgUDQxIGl0ZW00MTsgdHlwZWRlZiBQNDIgaXRlbTQyOyB0eXBlZGVmIFA0MyBpdGVtNDM7IHR5cGVkZWYgUDQ0IGl0ZW00NDsgdHlwZWRlZiBQNDUgaXRlbTQ1OyB0eXBlZGVmIFA0NiBpdGVtNDY7IHR5cGVkZWYgUDQ3IGl0ZW00NzsgdHlwZWRlZiBQNDggaXRlbTQ4OyB0eXBlZGVmIFA0OSBpdGVtNDk7IHR5cGVkZWYgUDUwIGl0ZW01MDsgdHlwZWRlZiBQNTEgaXRlbTUxOyB0eXBlZGVmIFA1MiBpdGVtNTI7IHR5cGVkZWYgUDUzIGl0ZW01MzsgdHlwZWRlZiBQNTQgaXRlbTU0OyB0eXBlZGVmIFA1NSBpdGVtNTU7IHR5cGVkZWYgUDU2IGl0ZW01NjsgdHlwZWRlZiBQNTcgaXRlbTU3OyB0eXBlZGVmIFA1OCBpdGVtNTg7IHR5cGVkZWYgUDU5IGl0ZW01OTsgdHlwZWRlZiBQNjAgaXRlbTYwOyB0eXBlZGVmIFA2MSBpdGVtNjE7IHR5cGVkZWYgUDYyIGl0ZW02MjsgdHlwZWRlZiBQNjMgaXRlbTYzOyB0eXBlZGVmIFA2NCBpdGVtNjQ7IHR5cGVkZWYgUDY1IGl0ZW02NTsgdHlwZWRlZiBQNjYgaXRlbTY2OyB0eXBlZGVmIFA2NyBpdGVtNjc7IHR5cGVkZWYgUDY4IGl0ZW02ODsgdHlwZWRlZiBQNjkgaXRlbTY5OyB0eXBlZGVmIFA3MCBpdGVtNzA7IHR5cGVkZWYgUDcxIGl0ZW03MTsgdHlwZWRlZiBQNzIgaXRlbTcyOyB0eXBlZGVmIFA3MyBpdGVtNzM7IHR5cGVkZWYgUDc0IGl0ZW03NDsgdHlwZWRlZiBQNzUgaXRlbTc1OyB0eXBlZGVmIFA3NiBpdGVtNzY7IHR5cGVkZWYgUDc3IGl0ZW03NzsgdHlwZWRlZiBQNzggaXRlbTc4OyB0eXBlZGVmIFA3OSBpdGVtNzk7IHR5cGVkZWYgUDgwIGl0ZW04MDsgdHlwZWRlZiBQODEgaXRlbTgxOyB0eXBlZGVmIFA4MiBpdGVtODI7IHR5cGVkZWYgUDgzIGl0ZW04MzsgdHlwZWRlZiBQODQgaXRlbTg0OyB0eXBlZGVmIFA4NSBpdGVtODU7IHR5cGVkZWYgUDg2IGl0ZW04NjsgdHlwZWRlZiBQODcgaXRlbTg3OyB0eXBlZGVmIFA4OCBpdGVtODg7IHR5cGVkZWYgUDg5IGl0ZW04OTsgdHlwZWRlZiBQOTAgaXRlbTkwOyB0eXBlZGVmIFA5MSBpdGVtOTE7IHR5cGVkZWYgUDkyIGl0ZW05MjsgdHlwZWRlZiBQOTMgaXRlbTkzOyB0eXBlZGVmIFA5NCBpdGVtOTQ7IHR5cGVkZWYgUDk1IGl0ZW05NTsgdHlwZWRlZiBQOTYgaXRlbTk2OyB0eXBlZGVmIFA5NyBpdGVtOTc7IHR5cGVkZWYgUDk4IGl0ZW05ODsgdHlwZWRlZiBQOTkgaXRlbTk5OyB0eXBlZGVmIFAxMDAgaXRlbTEwMDsgdHlwZWRlZiBQMTAxIGl0ZW0xMDE7IHR5cGVkZWYgUDEwMiBpdGVtMTAyOyB0eXBlZGVmIFAxMDMgaXRlbTEwMzsgdHlwZWRlZiBQMTA0IGl0ZW0xMDQ7IHR5cGVkZWYgUDEwNSBpdGVtMTA1OyB0eXBlZGVmIFAxMDYgaXRlbTEwNjsgdHlwZWRlZiBQMTA3IGl0ZW0xMDc7IHR5cGVkZWYgUDEwOCBpdGVtMTA4OyB0eXBlZGVmIFAxMDkgaXRlbTEwOTsgdHlwZWRlZiBQMTEwIGl0ZW0xMTA7IHR5cGVkZWYgUDExMSBpdGVtMTExOyB0eXBlZGVmIFAxMTIgaXRlbTExMjsgdHlwZWRlZiBQMTEzIGl0ZW0xMTM7IHR5cGVkZWYgUDExNCBpdGVtMTE0OyB0eXBlZGVmIFAxMTUgaXRlbTExNTsgdHlwZWRlZiBQMTE2IGl0ZW0xMTY7IHR5cGVkZWYgUDExNyBpdGVtMTE3OyB0eXBlZGVmIFAxMTggaXRlbTExODsgdHlwZWRlZiBQMTE5IGl0ZW0xMTk7IHR5cGVkZWYgUDEyMCBpdGVtMTIwOyB0eXBlZGVmIFAxMjEgaXRlbTEyMTsgdHlwZWRlZiBQMTIyIGl0ZW0xMjI7IHR5cGVkZWYgUDEyMyBpdGVtMTIzOyB0eXBlZGVmIFAxMjQgaXRlbTEyNDsgdHlwZWRlZiBQMTI1IGl0ZW0xMjU7IHR5cGVkZWYgUDEyNiBpdGVtMTI2OyB0eXBlZGVmIFAxMjcgaXRlbTEyNzsgdHlwZWRlZiBQMTI4IGl0ZW0xMjg7IHR5cGVkZWYgUDEyOSBpdGVtMTI5OyB0eXBlZGVmIFAxMzAgaXRlbTEzMDsgdHlwZWRlZiBQMTMxIGl0ZW0xMzE7IHR5cGVkZWYgUDEzMiBpdGVtMTMyOyB0eXBlZGVmIFAxMzMgaXRlbTEzMzsgdHlwZWRlZiBQMTM0IGl0ZW0xMzQ7IHR5cGVkZWYgUDEzNSBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBQOTMgLCBjbGFzcyBQOTQgLCBjbGFzcyBQOTUgLCBjbGFzcyBQOTYgLCBjbGFzcyBQOTcgLCBjbGFzcyBQOTggLCBjbGFzcyBQOTkgLCBjbGFzcyBQMTAwICwgY2xhc3MgUDEwMSAsIGNsYXNzIFAxMDIgLCBjbGFzcyBQMTAzICwgY2xhc3MgUDEwNCAsIGNsYXNzIFAxMDUgLCBjbGFzcyBQMTA2ICwgY2xhc3MgUDEwNyAsIGNsYXNzIFAxMDggLCBjbGFzcyBQMTA5ICwgY2xhc3MgUDExMCAsIGNsYXNzIFAxMTEgLCBjbGFzcyBQMTEyICwgY2xhc3MgUDExMyAsIGNsYXNzIFAxMTQgLCBjbGFzcyBQMTE1ICwgY2xhc3MgUDExNiAsIGNsYXNzIFAxMTcgLCBjbGFzcyBQMTE4ICwgY2xhc3MgUDExOSAsIGNsYXNzIFAxMjAgLCBjbGFzcyBQMTIxICwgY2xhc3MgUDEyMiAsIGNsYXNzIFAxMjMgLCBjbGFzcyBQMTI0ICwgY2xhc3MgUDEyNSAsIGNsYXNzIFAxMjYgLCBjbGFzcyBQMTI3ICwgY2xhc3MgUDEyOCAsIGNsYXNzIFAxMjkgLCBjbGFzcyBQMTMwICwgY2xhc3MgUDEzMSAsIGNsYXNzIFAxMzIgLCBjbGFzcyBQMTMzICwgY2xhc3MgUDEzNCAsIGNsYXNzIFAxMzUgLCBjbGFzcyBQMTM2ID4gc3RydWN0IHZlY3RvcjEzNyB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjEzNzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2PiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgUDQxIGl0ZW00MTsgdHlwZWRlZiBQNDIgaXRlbTQyOyB0eXBlZGVmIFA0MyBpdGVtNDM7IHR5cGVkZWYgUDQ0IGl0ZW00NDsgdHlwZWRlZiBQNDUgaXRlbTQ1OyB0eXBlZGVmIFA0NiBpdGVtNDY7IHR5cGVkZWYgUDQ3IGl0ZW00NzsgdHlwZWRlZiBQNDggaXRlbTQ4OyB0eXBlZGVmIFA0OSBpdGVtNDk7IHR5cGVkZWYgUDUwIGl0ZW01MDsgdHlwZWRlZiBQNTEgaXRlbTUxOyB0eXBlZGVmIFA1MiBpdGVtNTI7IHR5cGVkZWYgUDUzIGl0ZW01MzsgdHlwZWRlZiBQNTQgaXRlbTU0OyB0eXBlZGVmIFA1NSBpdGVtNTU7IHR5cGVkZWYgUDU2IGl0ZW01NjsgdHlwZWRlZiBQNTcgaXRlbTU3OyB0eXBlZGVmIFA1OCBpdGVtNTg7IHR5cGVkZWYgUDU5IGl0ZW01OTsgdHlwZWRlZiBQNjAgaXRlbTYwOyB0eXBlZGVmIFA2MSBpdGVtNjE7IHR5cGVkZWYgUDYyIGl0ZW02MjsgdHlwZWRlZiBQNjMgaXRlbTYzOyB0eXBlZGVmIFA2NCBpdGVtNjQ7IHR5cGVkZWYgUDY1IGl0ZW02NTsgdHlwZWRlZiBQNjYgaXRlbTY2OyB0eXBlZGVmIFA2NyBpdGVtNjc7IHR5cGVkZWYgUDY4IGl0ZW02ODsgdHlwZWRlZiBQNjkgaXRlbTY5OyB0eXBlZGVmIFA3MCBpdGVtNzA7IHR5cGVkZWYgUDcxIGl0ZW03MTsgdHlwZWRlZiBQNzIgaXRlbTcyOyB0eXBlZGVmIFA3MyBpdGVtNzM7IHR5cGVkZWYgUDc0IGl0ZW03NDsgdHlwZWRlZiBQNzUgaXRlbTc1OyB0eXBlZGVmIFA3NiBpdGVtNzY7IHR5cGVkZWYgUDc3IGl0ZW03NzsgdHlwZWRlZiBQNzggaXRlbTc4OyB0eXBlZGVmIFA3OSBpdGVtNzk7IHR5cGVkZWYgUDgwIGl0ZW04MDsgdHlwZWRlZiBQODEgaXRlbTgxOyB0eXBlZGVmIFA4MiBpdGVtODI7IHR5cGVkZWYgUDgzIGl0ZW04MzsgdHlwZWRlZiBQODQgaXRlbTg0OyB0eXBlZGVmIFA4NSBpdGVtODU7IHR5cGVkZWYgUDg2IGl0ZW04NjsgdHlwZWRlZiBQODcgaXRlbTg3OyB0eXBlZGVmIFA4OCBpdGVtODg7IHR5cGVkZWYgUDg5IGl0ZW04OTsgdHlwZWRlZiBQOTAgaXRlbTkwOyB0eXBlZGVmIFA5MSBpdGVtOTE7IHR5cGVkZWYgUDkyIGl0ZW05MjsgdHlwZWRlZiBQOTMgaXRlbTkzOyB0eXBlZGVmIFA5NCBpdGVtOTQ7IHR5cGVkZWYgUDk1IGl0ZW05NTsgdHlwZWRlZiBQOTYgaXRlbTk2OyB0eXBlZGVmIFA5NyBpdGVtOTc7IHR5cGVkZWYgUDk4IGl0ZW05ODsgdHlwZWRlZiBQOTkgaXRlbTk5OyB0eXBlZGVmIFAxMDAgaXRlbTEwMDsgdHlwZWRlZiBQMTAxIGl0ZW0xMDE7IHR5cGVkZWYgUDEwMiBpdGVtMTAyOyB0eXBlZGVmIFAxMDMgaXRlbTEwMzsgdHlwZWRlZiBQMTA0IGl0ZW0xMDQ7IHR5cGVkZWYgUDEwNSBpdGVtMTA1OyB0eXBlZGVmIFAxMDYgaXRlbTEwNjsgdHlwZWRlZiBQMTA3IGl0ZW0xMDc7IHR5cGVkZWYgUDEwOCBpdGVtMTA4OyB0eXBlZGVmIFAxMDkgaXRlbTEwOTsgdHlwZWRlZiBQMTEwIGl0ZW0xMTA7IHR5cGVkZWYgUDExMSBpdGVtMTExOyB0eXBlZGVmIFAxMTIgaXRlbTExMjsgdHlwZWRlZiBQMTEzIGl0ZW0xMTM7IHR5cGVkZWYgUDExNCBpdGVtMTE0OyB0eXBlZGVmIFAxMTUgaXRlbTExNTsgdHlwZWRlZiBQMTE2IGl0ZW0xMTY7IHR5cGVkZWYgUDExNyBpdGVtMTE3OyB0eXBlZGVmIFAxMTggaXRlbTExODsgdHlwZWRlZiBQMTE5IGl0ZW0xMTk7IHR5cGVkZWYgUDEyMCBpdGVtMTIwOyB0eXBlZGVmIFAxMjEgaXRlbTEyMTsgdHlwZWRlZiBQMTIyIGl0ZW0xMjI7IHR5cGVkZWYgUDEyMyBpdGVtMTIzOyB0eXBlZGVmIFAxMjQgaXRlbTEyNDsgdHlwZWRlZiBQMTI1IGl0ZW0xMjU7IHR5cGVkZWYgUDEyNiBpdGVtMTI2OyB0eXBlZGVmIFAxMjcgaXRlbTEyNzsgdHlwZWRlZiBQMTI4IGl0ZW0xMjg7IHR5cGVkZWYgUDEyOSBpdGVtMTI5OyB0eXBlZGVmIFAxMzAgaXRlbTEzMDsgdHlwZWRlZiBQMTMxIGl0ZW0xMzE7IHR5cGVkZWYgUDEzMiBpdGVtMTMyOyB0eXBlZGVmIFAxMzMgaXRlbTEzMzsgdHlwZWRlZiBQMTM0IGl0ZW0xMzQ7IHR5cGVkZWYgUDEzNSBpdGVtMTM1OyB0eXBlZGVmIFAxMzYgaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5ODsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ICwgY2xhc3MgUDk2ICwgY2xhc3MgUDk3ICwgY2xhc3MgUDk4ICwgY2xhc3MgUDk5ICwgY2xhc3MgUDEwMCAsIGNsYXNzIFAxMDEgLCBjbGFzcyBQMTAyICwgY2xhc3MgUDEwMyAsIGNsYXNzIFAxMDQgLCBjbGFzcyBQMTA1ICwgY2xhc3MgUDEwNiAsIGNsYXNzIFAxMDcgLCBjbGFzcyBQMTA4ICwgY2xhc3MgUDEwOSAsIGNsYXNzIFAxMTAgLCBjbGFzcyBQMTExICwgY2xhc3MgUDExMiAsIGNsYXNzIFAxMTMgLCBjbGFzcyBQMTE0ICwgY2xhc3MgUDExNSAsIGNsYXNzIFAxMTYgLCBjbGFzcyBQMTE3ICwgY2xhc3MgUDExOCAsIGNsYXNzIFAxMTkgLCBjbGFzcyBQMTIwICwgY2xhc3MgUDEyMSAsIGNsYXNzIFAxMjIgLCBjbGFzcyBQMTIzICwgY2xhc3MgUDEyNCAsIGNsYXNzIFAxMjUgLCBjbGFzcyBQMTI2ICwgY2xhc3MgUDEyNyAsIGNsYXNzIFAxMjggLCBjbGFzcyBQMTI5ICwgY2xhc3MgUDEzMCAsIGNsYXNzIFAxMzEgLCBjbGFzcyBQMTMyICwgY2xhc3MgUDEzMyAsIGNsYXNzIFAxMzQgLCBjbGFzcyBQMTM1ICwgY2xhc3MgUDEzNiAsIGNsYXNzIFAxMzcgPiBzdHJ1Y3QgdmVjdG9yMTM4IHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yMTM4PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFA5MiAsIFA5MyAsIFA5NCAsIFA5NSAsIFA5NiAsIFA5NyAsIFA5OCAsIFA5OSAsIFAxMDAgLCBQMTAxICwgUDEwMiAsIFAxMDMgLCBQMTA0ICwgUDEwNSAsIFAxMDYgLCBQMTA3ICwgUDEwOCAsIFAxMDkgLCBQMTEwICwgUDExMSAsIFAxMTIgLCBQMTEzICwgUDExNCAsIFAxMTUgLCBQMTE2ICwgUDExNyAsIFAxMTggLCBQMTE5ICwgUDEyMCAsIFAxMjEgLCBQMTIyICwgUDEyMyAsIFAxMjQgLCBQMTI1ICwgUDEyNiAsIFAxMjcgLCBQMTI4ICwgUDEyOSAsIFAxMzAgLCBQMTMxICwgUDEzMiAsIFAxMzMgLCBQMTM0ICwgUDEzNSAsIFAxMzYgLCBQMTM3PiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgUDQxIGl0ZW00MTsgdHlwZWRlZiBQNDIgaXRlbTQyOyB0eXBlZGVmIFA0MyBpdGVtNDM7IHR5cGVkZWYgUDQ0IGl0ZW00NDsgdHlwZWRlZiBQNDUgaXRlbTQ1OyB0eXBlZGVmIFA0NiBpdGVtNDY7IHR5cGVkZWYgUDQ3IGl0ZW00NzsgdHlwZWRlZiBQNDggaXRlbTQ4OyB0eXBlZGVmIFA0OSBpdGVtNDk7IHR5cGVkZWYgUDUwIGl0ZW01MDsgdHlwZWRlZiBQNTEgaXRlbTUxOyB0eXBlZGVmIFA1MiBpdGVtNTI7IHR5cGVkZWYgUDUzIGl0ZW01MzsgdHlwZWRlZiBQNTQgaXRlbTU0OyB0eXBlZGVmIFA1NSBpdGVtNTU7IHR5cGVkZWYgUDU2IGl0ZW01NjsgdHlwZWRlZiBQNTcgaXRlbTU3OyB0eXBlZGVmIFA1OCBpdGVtNTg7IHR5cGVkZWYgUDU5IGl0ZW01OTsgdHlwZWRlZiBQNjAgaXRlbTYwOyB0eXBlZGVmIFA2MSBpdGVtNjE7IHR5cGVkZWYgUDYyIGl0ZW02MjsgdHlwZWRlZiBQNjMgaXRlbTYzOyB0eXBlZGVmIFA2NCBpdGVtNjQ7IHR5cGVkZWYgUDY1IGl0ZW02NTsgdHlwZWRlZiBQNjYgaXRlbTY2OyB0eXBlZGVmIFA2NyBpdGVtNjc7IHR5cGVkZWYgUDY4IGl0ZW02ODsgdHlwZWRlZiBQNjkgaXRlbTY5OyB0eXBlZGVmIFA3MCBpdGVtNzA7IHR5cGVkZWYgUDcxIGl0ZW03MTsgdHlwZWRlZiBQNzIgaXRlbTcyOyB0eXBlZGVmIFA3MyBpdGVtNzM7IHR5cGVkZWYgUDc0IGl0ZW03NDsgdHlwZWRlZiBQNzUgaXRlbTc1OyB0eXBlZGVmIFA3NiBpdGVtNzY7IHR5cGVkZWYgUDc3IGl0ZW03NzsgdHlwZWRlZiBQNzggaXRlbTc4OyB0eXBlZGVmIFA3OSBpdGVtNzk7IHR5cGVkZWYgUDgwIGl0ZW04MDsgdHlwZWRlZiBQODEgaXRlbTgxOyB0eXBlZGVmIFA4MiBpdGVtODI7IHR5cGVkZWYgUDgzIGl0ZW04MzsgdHlwZWRlZiBQODQgaXRlbTg0OyB0eXBlZGVmIFA4NSBpdGVtODU7IHR5cGVkZWYgUDg2IGl0ZW04NjsgdHlwZWRlZiBQODcgaXRlbTg3OyB0eXBlZGVmIFA4OCBpdGVtODg7IHR5cGVkZWYgUDg5IGl0ZW04OTsgdHlwZWRlZiBQOTAgaXRlbTkwOyB0eXBlZGVmIFA5MSBpdGVtOTE7IHR5cGVkZWYgUDkyIGl0ZW05MjsgdHlwZWRlZiBQOTMgaXRlbTkzOyB0eXBlZGVmIFA5NCBpdGVtOTQ7IHR5cGVkZWYgUDk1IGl0ZW05NTsgdHlwZWRlZiBQOTYgaXRlbTk2OyB0eXBlZGVmIFA5NyBpdGVtOTc7IHR5cGVkZWYgUDk4IGl0ZW05ODsgdHlwZWRlZiBQOTkgaXRlbTk5OyB0eXBlZGVmIFAxMDAgaXRlbTEwMDsgdHlwZWRlZiBQMTAxIGl0ZW0xMDE7IHR5cGVkZWYgUDEwMiBpdGVtMTAyOyB0eXBlZGVmIFAxMDMgaXRlbTEwMzsgdHlwZWRlZiBQMTA0IGl0ZW0xMDQ7IHR5cGVkZWYgUDEwNSBpdGVtMTA1OyB0eXBlZGVmIFAxMDYgaXRlbTEwNjsgdHlwZWRlZiBQMTA3IGl0ZW0xMDc7IHR5cGVkZWYgUDEwOCBpdGVtMTA4OyB0eXBlZGVmIFAxMDkgaXRlbTEwOTsgdHlwZWRlZiBQMTEwIGl0ZW0xMTA7IHR5cGVkZWYgUDExMSBpdGVtMTExOyB0eXBlZGVmIFAxMTIgaXRlbTExMjsgdHlwZWRlZiBQMTEzIGl0ZW0xMTM7IHR5cGVkZWYgUDExNCBpdGVtMTE0OyB0eXBlZGVmIFAxMTUgaXRlbTExNTsgdHlwZWRlZiBQMTE2IGl0ZW0xMTY7IHR5cGVkZWYgUDExNyBpdGVtMTE3OyB0eXBlZGVmIFAxMTggaXRlbTExODsgdHlwZWRlZiBQMTE5IGl0ZW0xMTk7IHR5cGVkZWYgUDEyMCBpdGVtMTIwOyB0eXBlZGVmIFAxMjEgaXRlbTEyMTsgdHlwZWRlZiBQMTIyIGl0ZW0xMjI7IHR5cGVkZWYgUDEyMyBpdGVtMTIzOyB0eXBlZGVmIFAxMjQgaXRlbTEyNDsgdHlwZWRlZiBQMTI1IGl0ZW0xMjU7IHR5cGVkZWYgUDEyNiBpdGVtMTI2OyB0eXBlZGVmIFAxMjcgaXRlbTEyNzsgdHlwZWRlZiBQMTI4IGl0ZW0xMjg7IHR5cGVkZWYgUDEyOSBpdGVtMTI5OyB0eXBlZGVmIFAxMzAgaXRlbTEzMDsgdHlwZWRlZiBQMTMxIGl0ZW0xMzE7IHR5cGVkZWYgUDEzMiBpdGVtMTMyOyB0eXBlZGVmIFAxMzMgaXRlbTEzMzsgdHlwZWRlZiBQMTM0IGl0ZW0xMzQ7IHR5cGVkZWYgUDEzNSBpdGVtMTM1OyB0eXBlZGVmIFAxMzYgaXRlbTEzNjsgdHlwZWRlZiBQMTM3IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSAsIGNsYXNzIFA4NiAsIGNsYXNzIFA4NyAsIGNsYXNzIFA4OCAsIGNsYXNzIFA4OSAsIGNsYXNzIFA5MCAsIGNsYXNzIFA5MSAsIGNsYXNzIFA5MiAsIGNsYXNzIFA5MyAsIGNsYXNzIFA5NCAsIGNsYXNzIFA5NSAsIGNsYXNzIFA5NiAsIGNsYXNzIFA5NyAsIGNsYXNzIFA5OCAsIGNsYXNzIFA5OSAsIGNsYXNzIFAxMDAgLCBjbGFzcyBQMTAxICwgY2xhc3MgUDEwMiAsIGNsYXNzIFAxMDMgLCBjbGFzcyBQMTA0ICwgY2xhc3MgUDEwNSAsIGNsYXNzIFAxMDYgLCBjbGFzcyBQMTA3ICwgY2xhc3MgUDEwOCAsIGNsYXNzIFAxMDkgLCBjbGFzcyBQMTEwICwgY2xhc3MgUDExMSAsIGNsYXNzIFAxMTIgLCBjbGFzcyBQMTEzICwgY2xhc3MgUDExNCAsIGNsYXNzIFAxMTUgLCBjbGFzcyBQMTE2ICwgY2xhc3MgUDExNyAsIGNsYXNzIFAxMTggLCBjbGFzcyBQMTE5ICwgY2xhc3MgUDEyMCAsIGNsYXNzIFAxMjEgLCBjbGFzcyBQMTIyICwgY2xhc3MgUDEyMyAsIGNsYXNzIFAxMjQgLCBjbGFzcyBQMTI1ICwgY2xhc3MgUDEyNiAsIGNsYXNzIFAxMjcgLCBjbGFzcyBQMTI4ICwgY2xhc3MgUDEyOSAsIGNsYXNzIFAxMzAgLCBjbGFzcyBQMTMxICwgY2xhc3MgUDEzMiAsIGNsYXNzIFAxMzMgLCBjbGFzcyBQMTM0ICwgY2xhc3MgUDEzNSAsIGNsYXNzIFAxMzYgLCBjbGFzcyBQMTM3ICwgY2xhc3MgUDEzOCA+IHN0cnVjdCB2ZWN0b3IxMzkgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3IxMzk8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1ICwgUDk2ICwgUDk3ICwgUDk4ICwgUDk5ICwgUDEwMCAsIFAxMDEgLCBQMTAyICwgUDEwMyAsIFAxMDQgLCBQMTA1ICwgUDEwNiAsIFAxMDcgLCBQMTA4ICwgUDEwOSAsIFAxMTAgLCBQMTExICwgUDExMiAsIFAxMTMgLCBQMTE0ICwgUDExNSAsIFAxMTYgLCBQMTE3ICwgUDExOCAsIFAxMTkgLCBQMTIwICwgUDEyMSAsIFAxMjIgLCBQMTIzICwgUDEyNCAsIFAxMjUgLCBQMTI2ICwgUDEyNyAsIFAxMjggLCBQMTI5ICwgUDEzMCAsIFAxMzEgLCBQMTMyICwgUDEzMyAsIFAxMzQgLCBQMTM1ICwgUDEzNiAsIFAxMzcgLCBQMTM4PiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgUDQxIGl0ZW00MTsgdHlwZWRlZiBQNDIgaXRlbTQyOyB0eXBlZGVmIFA0MyBpdGVtNDM7IHR5cGVkZWYgUDQ0IGl0ZW00NDsgdHlwZWRlZiBQNDUgaXRlbTQ1OyB0eXBlZGVmIFA0NiBpdGVtNDY7IHR5cGVkZWYgUDQ3IGl0ZW00NzsgdHlwZWRlZiBQNDggaXRlbTQ4OyB0eXBlZGVmIFA0OSBpdGVtNDk7IHR5cGVkZWYgUDUwIGl0ZW01MDsgdHlwZWRlZiBQNTEgaXRlbTUxOyB0eXBlZGVmIFA1MiBpdGVtNTI7IHR5cGVkZWYgUDUzIGl0ZW01MzsgdHlwZWRlZiBQNTQgaXRlbTU0OyB0eXBlZGVmIFA1NSBpdGVtNTU7IHR5cGVkZWYgUDU2IGl0ZW01NjsgdHlwZWRlZiBQNTcgaXRlbTU3OyB0eXBlZGVmIFA1OCBpdGVtNTg7IHR5cGVkZWYgUDU5IGl0ZW01OTsgdHlwZWRlZiBQNjAgaXRlbTYwOyB0eXBlZGVmIFA2MSBpdGVtNjE7IHR5cGVkZWYgUDYyIGl0ZW02MjsgdHlwZWRlZiBQNjMgaXRlbTYzOyB0eXBlZGVmIFA2NCBpdGVtNjQ7IHR5cGVkZWYgUDY1IGl0ZW02NTsgdHlwZWRlZiBQNjYgaXRlbTY2OyB0eXBlZGVmIFA2NyBpdGVtNjc7IHR5cGVkZWYgUDY4IGl0ZW02ODsgdHlwZWRlZiBQNjkgaXRlbTY5OyB0eXBlZGVmIFA3MCBpdGVtNzA7IHR5cGVkZWYgUDcxIGl0ZW03MTsgdHlwZWRlZiBQNzIgaXRlbTcyOyB0eXBlZGVmIFA3MyBpdGVtNzM7IHR5cGVkZWYgUDc0IGl0ZW03NDsgdHlwZWRlZiBQNzUgaXRlbTc1OyB0eXBlZGVmIFA3NiBpdGVtNzY7IHR5cGVkZWYgUDc3IGl0ZW03NzsgdHlwZWRlZiBQNzggaXRlbTc4OyB0eXBlZGVmIFA3OSBpdGVtNzk7IHR5cGVkZWYgUDgwIGl0ZW04MDsgdHlwZWRlZiBQODEgaXRlbTgxOyB0eXBlZGVmIFA4MiBpdGVtODI7IHR5cGVkZWYgUDgzIGl0ZW04MzsgdHlwZWRlZiBQODQgaXRlbTg0OyB0eXBlZGVmIFA4NSBpdGVtODU7IHR5cGVkZWYgUDg2IGl0ZW04NjsgdHlwZWRlZiBQODcgaXRlbTg3OyB0eXBlZGVmIFA4OCBpdGVtODg7IHR5cGVkZWYgUDg5IGl0ZW04OTsgdHlwZWRlZiBQOTAgaXRlbTkwOyB0eXBlZGVmIFA5MSBpdGVtOTE7IHR5cGVkZWYgUDkyIGl0ZW05MjsgdHlwZWRlZiBQOTMgaXRlbTkzOyB0eXBlZGVmIFA5NCBpdGVtOTQ7IHR5cGVkZWYgUDk1IGl0ZW05NTsgdHlwZWRlZiBQOTYgaXRlbTk2OyB0eXBlZGVmIFA5NyBpdGVtOTc7IHR5cGVkZWYgUDk4IGl0ZW05ODsgdHlwZWRlZiBQOTkgaXRlbTk5OyB0eXBlZGVmIFAxMDAgaXRlbTEwMDsgdHlwZWRlZiBQMTAxIGl0ZW0xMDE7IHR5cGVkZWYgUDEwMiBpdGVtMTAyOyB0eXBlZGVmIFAxMDMgaXRlbTEwMzsgdHlwZWRlZiBQMTA0IGl0ZW0xMDQ7IHR5cGVkZWYgUDEwNSBpdGVtMTA1OyB0eXBlZGVmIFAxMDYgaXRlbTEwNjsgdHlwZWRlZiBQMTA3IGl0ZW0xMDc7IHR5cGVkZWYgUDEwOCBpdGVtMTA4OyB0eXBlZGVmIFAxMDkgaXRlbTEwOTsgdHlwZWRlZiBQMTEwIGl0ZW0xMTA7IHR5cGVkZWYgUDExMSBpdGVtMTExOyB0eXBlZGVmIFAxMTIgaXRlbTExMjsgdHlwZWRlZiBQMTEzIGl0ZW0xMTM7IHR5cGVkZWYgUDExNCBpdGVtMTE0OyB0eXBlZGVmIFAxMTUgaXRlbTExNTsgdHlwZWRlZiBQMTE2IGl0ZW0xMTY7IHR5cGVkZWYgUDExNyBpdGVtMTE3OyB0eXBlZGVmIFAxMTggaXRlbTExODsgdHlwZWRlZiBQMTE5IGl0ZW0xMTk7IHR5cGVkZWYgUDEyMCBpdGVtMTIwOyB0eXBlZGVmIFAxMjEgaXRlbTEyMTsgdHlwZWRlZiBQMTIyIGl0ZW0xMjI7IHR5cGVkZWYgUDEyMyBpdGVtMTIzOyB0eXBlZGVmIFAxMjQgaXRlbTEyNDsgdHlwZWRlZiBQMTI1IGl0ZW0xMjU7IHR5cGVkZWYgUDEyNiBpdGVtMTI2OyB0eXBlZGVmIFAxMjcgaXRlbTEyNzsgdHlwZWRlZiBQMTI4IGl0ZW0xMjg7IHR5cGVkZWYgUDEyOSBpdGVtMTI5OyB0eXBlZGVmIFAxMzAgaXRlbTEzMDsgdHlwZWRlZiBQMTMxIGl0ZW0xMzE7IHR5cGVkZWYgUDEzMiBpdGVtMTMyOyB0eXBlZGVmIFAxMzMgaXRlbTEzMzsgdHlwZWRlZiBQMTM0IGl0ZW0xMzQ7IHR5cGVkZWYgUDEzNSBpdGVtMTM1OyB0eXBlZGVmIFAxMzYgaXRlbTEzNjsgdHlwZWRlZiBQMTM3IGl0ZW0xMzc7IHR5cGVkZWYgUDEzOCBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBQOTMgLCBjbGFzcyBQOTQgLCBjbGFzcyBQOTUgLCBjbGFzcyBQOTYgLCBjbGFzcyBQOTcgLCBjbGFzcyBQOTggLCBjbGFzcyBQOTkgLCBjbGFzcyBQMTAwICwgY2xhc3MgUDEwMSAsIGNsYXNzIFAxMDIgLCBjbGFzcyBQMTAzICwgY2xhc3MgUDEwNCAsIGNsYXNzIFAxMDUgLCBjbGFzcyBQMTA2ICwgY2xhc3MgUDEwNyAsIGNsYXNzIFAxMDggLCBjbGFzcyBQMTA5ICwgY2xhc3MgUDExMCAsIGNsYXNzIFAxMTEgLCBjbGFzcyBQMTEyICwgY2xhc3MgUDExMyAsIGNsYXNzIFAxMTQgLCBjbGFzcyBQMTE1ICwgY2xhc3MgUDExNiAsIGNsYXNzIFAxMTcgLCBjbGFzcyBQMTE4ICwgY2xhc3MgUDExOSAsIGNsYXNzIFAxMjAgLCBjbGFzcyBQMTIxICwgY2xhc3MgUDEyMiAsIGNsYXNzIFAxMjMgLCBjbGFzcyBQMTI0ICwgY2xhc3MgUDEyNSAsIGNsYXNzIFAxMjYgLCBjbGFzcyBQMTI3ICwgY2xhc3MgUDEyOCAsIGNsYXNzIFAxMjkgLCBjbGFzcyBQMTMwICwgY2xhc3MgUDEzMSAsIGNsYXNzIFAxMzIgLCBjbGFzcyBQMTMzICwgY2xhc3MgUDEzNCAsIGNsYXNzIFAxMzUgLCBjbGFzcyBQMTM2ICwgY2xhc3MgUDEzNyAsIGNsYXNzIFAxMzggLCBjbGFzcyBQMTM5ID4gc3RydWN0IHZlY3RvcjE0MCB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjE0MDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5PiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgUDQxIGl0ZW00MTsgdHlwZWRlZiBQNDIgaXRlbTQyOyB0eXBlZGVmIFA0MyBpdGVtNDM7IHR5cGVkZWYgUDQ0IGl0ZW00NDsgdHlwZWRlZiBQNDUgaXRlbTQ1OyB0eXBlZGVmIFA0NiBpdGVtNDY7IHR5cGVkZWYgUDQ3IGl0ZW00NzsgdHlwZWRlZiBQNDggaXRlbTQ4OyB0eXBlZGVmIFA0OSBpdGVtNDk7IHR5cGVkZWYgUDUwIGl0ZW01MDsgdHlwZWRlZiBQNTEgaXRlbTUxOyB0eXBlZGVmIFA1MiBpdGVtNTI7IHR5cGVkZWYgUDUzIGl0ZW01MzsgdHlwZWRlZiBQNTQgaXRlbTU0OyB0eXBlZGVmIFA1NSBpdGVtNTU7IHR5cGVkZWYgUDU2IGl0ZW01NjsgdHlwZWRlZiBQNTcgaXRlbTU3OyB0eXBlZGVmIFA1OCBpdGVtNTg7IHR5cGVkZWYgUDU5IGl0ZW01OTsgdHlwZWRlZiBQNjAgaXRlbTYwOyB0eXBlZGVmIFA2MSBpdGVtNjE7IHR5cGVkZWYgUDYyIGl0ZW02MjsgdHlwZWRlZiBQNjMgaXRlbTYzOyB0eXBlZGVmIFA2NCBpdGVtNjQ7IHR5cGVkZWYgUDY1IGl0ZW02NTsgdHlwZWRlZiBQNjYgaXRlbTY2OyB0eXBlZGVmIFA2NyBpdGVtNjc7IHR5cGVkZWYgUDY4IGl0ZW02ODsgdHlwZWRlZiBQNjkgaXRlbTY5OyB0eXBlZGVmIFA3MCBpdGVtNzA7IHR5cGVkZWYgUDcxIGl0ZW03MTsgdHlwZWRlZiBQNzIgaXRlbTcyOyB0eXBlZGVmIFA3MyBpdGVtNzM7IHR5cGVkZWYgUDc0IGl0ZW03NDsgdHlwZWRlZiBQNzUgaXRlbTc1OyB0eXBlZGVmIFA3NiBpdGVtNzY7IHR5cGVkZWYgUDc3IGl0ZW03NzsgdHlwZWRlZiBQNzggaXRlbTc4OyB0eXBlZGVmIFA3OSBpdGVtNzk7IHR5cGVkZWYgUDgwIGl0ZW04MDsgdHlwZWRlZiBQODEgaXRlbTgxOyB0eXBlZGVmIFA4MiBpdGVtODI7IHR5cGVkZWYgUDgzIGl0ZW04MzsgdHlwZWRlZiBQODQgaXRlbTg0OyB0eXBlZGVmIFA4NSBpdGVtODU7IHR5cGVkZWYgUDg2IGl0ZW04NjsgdHlwZWRlZiBQODcgaXRlbTg3OyB0eXBlZGVmIFA4OCBpdGVtODg7IHR5cGVkZWYgUDg5IGl0ZW04OTsgdHlwZWRlZiBQOTAgaXRlbTkwOyB0eXBlZGVmIFA5MSBpdGVtOTE7IHR5cGVkZWYgUDkyIGl0ZW05MjsgdHlwZWRlZiBQOTMgaXRlbTkzOyB0eXBlZGVmIFA5NCBpdGVtOTQ7IHR5cGVkZWYgUDk1IGl0ZW05NTsgdHlwZWRlZiBQOTYgaXRlbTk2OyB0eXBlZGVmIFA5NyBpdGVtOTc7IHR5cGVkZWYgUDk4IGl0ZW05ODsgdHlwZWRlZiBQOTkgaXRlbTk5OyB0eXBlZGVmIFAxMDAgaXRlbTEwMDsgdHlwZWRlZiBQMTAxIGl0ZW0xMDE7IHR5cGVkZWYgUDEwMiBpdGVtMTAyOyB0eXBlZGVmIFAxMDMgaXRlbTEwMzsgdHlwZWRlZiBQMTA0IGl0ZW0xMDQ7IHR5cGVkZWYgUDEwNSBpdGVtMTA1OyB0eXBlZGVmIFAxMDYgaXRlbTEwNjsgdHlwZWRlZiBQMTA3IGl0ZW0xMDc7IHR5cGVkZWYgUDEwOCBpdGVtMTA4OyB0eXBlZGVmIFAxMDkgaXRlbTEwOTsgdHlwZWRlZiBQMTEwIGl0ZW0xMTA7IHR5cGVkZWYgUDExMSBpdGVtMTExOyB0eXBlZGVmIFAxMTIgaXRlbTExMjsgdHlwZWRlZiBQMTEzIGl0ZW0xMTM7IHR5cGVkZWYgUDExNCBpdGVtMTE0OyB0eXBlZGVmIFAxMTUgaXRlbTExNTsgdHlwZWRlZiBQMTE2IGl0ZW0xMTY7IHR5cGVkZWYgUDExNyBpdGVtMTE3OyB0eXBlZGVmIFAxMTggaXRlbTExODsgdHlwZWRlZiBQMTE5IGl0ZW0xMTk7IHR5cGVkZWYgUDEyMCBpdGVtMTIwOyB0eXBlZGVmIFAxMjEgaXRlbTEyMTsgdHlwZWRlZiBQMTIyIGl0ZW0xMjI7IHR5cGVkZWYgUDEyMyBpdGVtMTIzOyB0eXBlZGVmIFAxMjQgaXRlbTEyNDsgdHlwZWRlZiBQMTI1IGl0ZW0xMjU7IHR5cGVkZWYgUDEyNiBpdGVtMTI2OyB0eXBlZGVmIFAxMjcgaXRlbTEyNzsgdHlwZWRlZiBQMTI4IGl0ZW0xMjg7IHR5cGVkZWYgUDEyOSBpdGVtMTI5OyB0eXBlZGVmIFAxMzAgaXRlbTEzMDsgdHlwZWRlZiBQMTMxIGl0ZW0xMzE7IHR5cGVkZWYgUDEzMiBpdGVtMTMyOyB0eXBlZGVmIFAxMzMgaXRlbTEzMzsgdHlwZWRlZiBQMTM0IGl0ZW0xMzQ7IHR5cGVkZWYgUDEzNSBpdGVtMTM1OyB0eXBlZGVmIFAxMzYgaXRlbTEzNjsgdHlwZWRlZiBQMTM3IGl0ZW0xMzc7IHR5cGVkZWYgUDEzOCBpdGVtMTM4OyB0eXBlZGVmIFAxMzkgaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5ODsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ICwgY2xhc3MgUDk2ICwgY2xhc3MgUDk3ICwgY2xhc3MgUDk4ICwgY2xhc3MgUDk5ICwgY2xhc3MgUDEwMCAsIGNsYXNzIFAxMDEgLCBjbGFzcyBQMTAyICwgY2xhc3MgUDEwMyAsIGNsYXNzIFAxMDQgLCBjbGFzcyBQMTA1ICwgY2xhc3MgUDEwNiAsIGNsYXNzIFAxMDcgLCBjbGFzcyBQMTA4ICwgY2xhc3MgUDEwOSAsIGNsYXNzIFAxMTAgLCBjbGFzcyBQMTExICwgY2xhc3MgUDExMiAsIGNsYXNzIFAxMTMgLCBjbGFzcyBQMTE0ICwgY2xhc3MgUDExNSAsIGNsYXNzIFAxMTYgLCBjbGFzcyBQMTE3ICwgY2xhc3MgUDExOCAsIGNsYXNzIFAxMTkgLCBjbGFzcyBQMTIwICwgY2xhc3MgUDEyMSAsIGNsYXNzIFAxMjIgLCBjbGFzcyBQMTIzICwgY2xhc3MgUDEyNCAsIGNsYXNzIFAxMjUgLCBjbGFzcyBQMTI2ICwgY2xhc3MgUDEyNyAsIGNsYXNzIFAxMjggLCBjbGFzcyBQMTI5ICwgY2xhc3MgUDEzMCAsIGNsYXNzIFAxMzEgLCBjbGFzcyBQMTMyICwgY2xhc3MgUDEzMyAsIGNsYXNzIFAxMzQgLCBjbGFzcyBQMTM1ICwgY2xhc3MgUDEzNiAsIGNsYXNzIFAxMzcgLCBjbGFzcyBQMTM4ICwgY2xhc3MgUDEzOSAsIGNsYXNzIFAxNDAgPiBzdHJ1Y3QgdmVjdG9yMTQxIHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yMTQxPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFA5MiAsIFA5MyAsIFA5NCAsIFA5NSAsIFA5NiAsIFA5NyAsIFA5OCAsIFA5OSAsIFAxMDAgLCBQMTAxICwgUDEwMiAsIFAxMDMgLCBQMTA0ICwgUDEwNSAsIFAxMDYgLCBQMTA3ICwgUDEwOCAsIFAxMDkgLCBQMTEwICwgUDExMSAsIFAxMTIgLCBQMTEzICwgUDExNCAsIFAxMTUgLCBQMTE2ICwgUDExNyAsIFAxMTggLCBQMTE5ICwgUDEyMCAsIFAxMjEgLCBQMTIyICwgUDEyMyAsIFAxMjQgLCBQMTI1ICwgUDEyNiAsIFAxMjcgLCBQMTI4ICwgUDEyOSAsIFAxMzAgLCBQMTMxICwgUDEzMiAsIFAxMzMgLCBQMTM0ICwgUDEzNSAsIFAxMzYgLCBQMTM3ICwgUDEzOCAsIFAxMzkgLCBQMTQwPiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgUDQxIGl0ZW00MTsgdHlwZWRlZiBQNDIgaXRlbTQyOyB0eXBlZGVmIFA0MyBpdGVtNDM7IHR5cGVkZWYgUDQ0IGl0ZW00NDsgdHlwZWRlZiBQNDUgaXRlbTQ1OyB0eXBlZGVmIFA0NiBpdGVtNDY7IHR5cGVkZWYgUDQ3IGl0ZW00NzsgdHlwZWRlZiBQNDggaXRlbTQ4OyB0eXBlZGVmIFA0OSBpdGVtNDk7IHR5cGVkZWYgUDUwIGl0ZW01MDsgdHlwZWRlZiBQNTEgaXRlbTUxOyB0eXBlZGVmIFA1MiBpdGVtNTI7IHR5cGVkZWYgUDUzIGl0ZW01MzsgdHlwZWRlZiBQNTQgaXRlbTU0OyB0eXBlZGVmIFA1NSBpdGVtNTU7IHR5cGVkZWYgUDU2IGl0ZW01NjsgdHlwZWRlZiBQNTcgaXRlbTU3OyB0eXBlZGVmIFA1OCBpdGVtNTg7IHR5cGVkZWYgUDU5IGl0ZW01OTsgdHlwZWRlZiBQNjAgaXRlbTYwOyB0eXBlZGVmIFA2MSBpdGVtNjE7IHR5cGVkZWYgUDYyIGl0ZW02MjsgdHlwZWRlZiBQNjMgaXRlbTYzOyB0eXBlZGVmIFA2NCBpdGVtNjQ7IHR5cGVkZWYgUDY1IGl0ZW02NTsgdHlwZWRlZiBQNjYgaXRlbTY2OyB0eXBlZGVmIFA2NyBpdGVtNjc7IHR5cGVkZWYgUDY4IGl0ZW02ODsgdHlwZWRlZiBQNjkgaXRlbTY5OyB0eXBlZGVmIFA3MCBpdGVtNzA7IHR5cGVkZWYgUDcxIGl0ZW03MTsgdHlwZWRlZiBQNzIgaXRlbTcyOyB0eXBlZGVmIFA3MyBpdGVtNzM7IHR5cGVkZWYgUDc0IGl0ZW03NDsgdHlwZWRlZiBQNzUgaXRlbTc1OyB0eXBlZGVmIFA3NiBpdGVtNzY7IHR5cGVkZWYgUDc3IGl0ZW03NzsgdHlwZWRlZiBQNzggaXRlbTc4OyB0eXBlZGVmIFA3OSBpdGVtNzk7IHR5cGVkZWYgUDgwIGl0ZW04MDsgdHlwZWRlZiBQODEgaXRlbTgxOyB0eXBlZGVmIFA4MiBpdGVtODI7IHR5cGVkZWYgUDgzIGl0ZW04MzsgdHlwZWRlZiBQODQgaXRlbTg0OyB0eXBlZGVmIFA4NSBpdGVtODU7IHR5cGVkZWYgUDg2IGl0ZW04NjsgdHlwZWRlZiBQODcgaXRlbTg3OyB0eXBlZGVmIFA4OCBpdGVtODg7IHR5cGVkZWYgUDg5IGl0ZW04OTsgdHlwZWRlZiBQOTAgaXRlbTkwOyB0eXBlZGVmIFA5MSBpdGVtOTE7IHR5cGVkZWYgUDkyIGl0ZW05MjsgdHlwZWRlZiBQOTMgaXRlbTkzOyB0eXBlZGVmIFA5NCBpdGVtOTQ7IHR5cGVkZWYgUDk1IGl0ZW05NTsgdHlwZWRlZiBQOTYgaXRlbTk2OyB0eXBlZGVmIFA5NyBpdGVtOTc7IHR5cGVkZWYgUDk4IGl0ZW05ODsgdHlwZWRlZiBQOTkgaXRlbTk5OyB0eXBlZGVmIFAxMDAgaXRlbTEwMDsgdHlwZWRlZiBQMTAxIGl0ZW0xMDE7IHR5cGVkZWYgUDEwMiBpdGVtMTAyOyB0eXBlZGVmIFAxMDMgaXRlbTEwMzsgdHlwZWRlZiBQMTA0IGl0ZW0xMDQ7IHR5cGVkZWYgUDEwNSBpdGVtMTA1OyB0eXBlZGVmIFAxMDYgaXRlbTEwNjsgdHlwZWRlZiBQMTA3IGl0ZW0xMDc7IHR5cGVkZWYgUDEwOCBpdGVtMTA4OyB0eXBlZGVmIFAxMDkgaXRlbTEwOTsgdHlwZWRlZiBQMTEwIGl0ZW0xMTA7IHR5cGVkZWYgUDExMSBpdGVtMTExOyB0eXBlZGVmIFAxMTIgaXRlbTExMjsgdHlwZWRlZiBQMTEzIGl0ZW0xMTM7IHR5cGVkZWYgUDExNCBpdGVtMTE0OyB0eXBlZGVmIFAxMTUgaXRlbTExNTsgdHlwZWRlZiBQMTE2IGl0ZW0xMTY7IHR5cGVkZWYgUDExNyBpdGVtMTE3OyB0eXBlZGVmIFAxMTggaXRlbTExODsgdHlwZWRlZiBQMTE5IGl0ZW0xMTk7IHR5cGVkZWYgUDEyMCBpdGVtMTIwOyB0eXBlZGVmIFAxMjEgaXRlbTEyMTsgdHlwZWRlZiBQMTIyIGl0ZW0xMjI7IHR5cGVkZWYgUDEyMyBpdGVtMTIzOyB0eXBlZGVmIFAxMjQgaXRlbTEyNDsgdHlwZWRlZiBQMTI1IGl0ZW0xMjU7IHR5cGVkZWYgUDEyNiBpdGVtMTI2OyB0eXBlZGVmIFAxMjcgaXRlbTEyNzsgdHlwZWRlZiBQMTI4IGl0ZW0xMjg7IHR5cGVkZWYgUDEyOSBpdGVtMTI5OyB0eXBlZGVmIFAxMzAgaXRlbTEzMDsgdHlwZWRlZiBQMTMxIGl0ZW0xMzE7IHR5cGVkZWYgUDEzMiBpdGVtMTMyOyB0eXBlZGVmIFAxMzMgaXRlbTEzMzsgdHlwZWRlZiBQMTM0IGl0ZW0xMzQ7IHR5cGVkZWYgUDEzNSBpdGVtMTM1OyB0eXBlZGVmIFAxMzYgaXRlbTEzNjsgdHlwZWRlZiBQMTM3IGl0ZW0xMzc7IHR5cGVkZWYgUDEzOCBpdGVtMTM4OyB0eXBlZGVmIFAxMzkgaXRlbTEzOTsgdHlwZWRlZiBQMTQwIGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSAsIGNsYXNzIFA4NiAsIGNsYXNzIFA4NyAsIGNsYXNzIFA4OCAsIGNsYXNzIFA4OSAsIGNsYXNzIFA5MCAsIGNsYXNzIFA5MSAsIGNsYXNzIFA5MiAsIGNsYXNzIFA5MyAsIGNsYXNzIFA5NCAsIGNsYXNzIFA5NSAsIGNsYXNzIFA5NiAsIGNsYXNzIFA5NyAsIGNsYXNzIFA5OCAsIGNsYXNzIFA5OSAsIGNsYXNzIFAxMDAgLCBjbGFzcyBQMTAxICwgY2xhc3MgUDEwMiAsIGNsYXNzIFAxMDMgLCBjbGFzcyBQMTA0ICwgY2xhc3MgUDEwNSAsIGNsYXNzIFAxMDYgLCBjbGFzcyBQMTA3ICwgY2xhc3MgUDEwOCAsIGNsYXNzIFAxMDkgLCBjbGFzcyBQMTEwICwgY2xhc3MgUDExMSAsIGNsYXNzIFAxMTIgLCBjbGFzcyBQMTEzICwgY2xhc3MgUDExNCAsIGNsYXNzIFAxMTUgLCBjbGFzcyBQMTE2ICwgY2xhc3MgUDExNyAsIGNsYXNzIFAxMTggLCBjbGFzcyBQMTE5ICwgY2xhc3MgUDEyMCAsIGNsYXNzIFAxMjEgLCBjbGFzcyBQMTIyICwgY2xhc3MgUDEyMyAsIGNsYXNzIFAxMjQgLCBjbGFzcyBQMTI1ICwgY2xhc3MgUDEyNiAsIGNsYXNzIFAxMjcgLCBjbGFzcyBQMTI4ICwgY2xhc3MgUDEyOSAsIGNsYXNzIFAxMzAgLCBjbGFzcyBQMTMxICwgY2xhc3MgUDEzMiAsIGNsYXNzIFAxMzMgLCBjbGFzcyBQMTM0ICwgY2xhc3MgUDEzNSAsIGNsYXNzIFAxMzYgLCBjbGFzcyBQMTM3ICwgY2xhc3MgUDEzOCAsIGNsYXNzIFAxMzkgLCBjbGFzcyBQMTQwICwgY2xhc3MgUDE0MSA+IHN0cnVjdCB2ZWN0b3IxNDIgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3IxNDI8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1ICwgUDk2ICwgUDk3ICwgUDk4ICwgUDk5ICwgUDEwMCAsIFAxMDEgLCBQMTAyICwgUDEwMyAsIFAxMDQgLCBQMTA1ICwgUDEwNiAsIFAxMDcgLCBQMTA4ICwgUDEwOSAsIFAxMTAgLCBQMTExICwgUDExMiAsIFAxMTMgLCBQMTE0ICwgUDExNSAsIFAxMTYgLCBQMTE3ICwgUDExOCAsIFAxMTkgLCBQMTIwICwgUDEyMSAsIFAxMjIgLCBQMTIzICwgUDEyNCAsIFAxMjUgLCBQMTI2ICwgUDEyNyAsIFAxMjggLCBQMTI5ICwgUDEzMCAsIFAxMzEgLCBQMTMyICwgUDEzMyAsIFAxMzQgLCBQMTM1ICwgUDEzNiAsIFAxMzcgLCBQMTM4ICwgUDEzOSAsIFAxNDAgLCBQMTQxPiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgUDQxIGl0ZW00MTsgdHlwZWRlZiBQNDIgaXRlbTQyOyB0eXBlZGVmIFA0MyBpdGVtNDM7IHR5cGVkZWYgUDQ0IGl0ZW00NDsgdHlwZWRlZiBQNDUgaXRlbTQ1OyB0eXBlZGVmIFA0NiBpdGVtNDY7IHR5cGVkZWYgUDQ3IGl0ZW00NzsgdHlwZWRlZiBQNDggaXRlbTQ4OyB0eXBlZGVmIFA0OSBpdGVtNDk7IHR5cGVkZWYgUDUwIGl0ZW01MDsgdHlwZWRlZiBQNTEgaXRlbTUxOyB0eXBlZGVmIFA1MiBpdGVtNTI7IHR5cGVkZWYgUDUzIGl0ZW01MzsgdHlwZWRlZiBQNTQgaXRlbTU0OyB0eXBlZGVmIFA1NSBpdGVtNTU7IHR5cGVkZWYgUDU2IGl0ZW01NjsgdHlwZWRlZiBQNTcgaXRlbTU3OyB0eXBlZGVmIFA1OCBpdGVtNTg7IHR5cGVkZWYgUDU5IGl0ZW01OTsgdHlwZWRlZiBQNjAgaXRlbTYwOyB0eXBlZGVmIFA2MSBpdGVtNjE7IHR5cGVkZWYgUDYyIGl0ZW02MjsgdHlwZWRlZiBQNjMgaXRlbTYzOyB0eXBlZGVmIFA2NCBpdGVtNjQ7IHR5cGVkZWYgUDY1IGl0ZW02NTsgdHlwZWRlZiBQNjYgaXRlbTY2OyB0eXBlZGVmIFA2NyBpdGVtNjc7IHR5cGVkZWYgUDY4IGl0ZW02ODsgdHlwZWRlZiBQNjkgaXRlbTY5OyB0eXBlZGVmIFA3MCBpdGVtNzA7IHR5cGVkZWYgUDcxIGl0ZW03MTsgdHlwZWRlZiBQNzIgaXRlbTcyOyB0eXBlZGVmIFA3MyBpdGVtNzM7IHR5cGVkZWYgUDc0IGl0ZW03NDsgdHlwZWRlZiBQNzUgaXRlbTc1OyB0eXBlZGVmIFA3NiBpdGVtNzY7IHR5cGVkZWYgUDc3IGl0ZW03NzsgdHlwZWRlZiBQNzggaXRlbTc4OyB0eXBlZGVmIFA3OSBpdGVtNzk7IHR5cGVkZWYgUDgwIGl0ZW04MDsgdHlwZWRlZiBQODEgaXRlbTgxOyB0eXBlZGVmIFA4MiBpdGVtODI7IHR5cGVkZWYgUDgzIGl0ZW04MzsgdHlwZWRlZiBQODQgaXRlbTg0OyB0eXBlZGVmIFA4NSBpdGVtODU7IHR5cGVkZWYgUDg2IGl0ZW04NjsgdHlwZWRlZiBQODcgaXRlbTg3OyB0eXBlZGVmIFA4OCBpdGVtODg7IHR5cGVkZWYgUDg5IGl0ZW04OTsgdHlwZWRlZiBQOTAgaXRlbTkwOyB0eXBlZGVmIFA5MSBpdGVtOTE7IHR5cGVkZWYgUDkyIGl0ZW05MjsgdHlwZWRlZiBQOTMgaXRlbTkzOyB0eXBlZGVmIFA5NCBpdGVtOTQ7IHR5cGVkZWYgUDk1IGl0ZW05NTsgdHlwZWRlZiBQOTYgaXRlbTk2OyB0eXBlZGVmIFA5NyBpdGVtOTc7IHR5cGVkZWYgUDk4IGl0ZW05ODsgdHlwZWRlZiBQOTkgaXRlbTk5OyB0eXBlZGVmIFAxMDAgaXRlbTEwMDsgdHlwZWRlZiBQMTAxIGl0ZW0xMDE7IHR5cGVkZWYgUDEwMiBpdGVtMTAyOyB0eXBlZGVmIFAxMDMgaXRlbTEwMzsgdHlwZWRlZiBQMTA0IGl0ZW0xMDQ7IHR5cGVkZWYgUDEwNSBpdGVtMTA1OyB0eXBlZGVmIFAxMDYgaXRlbTEwNjsgdHlwZWRlZiBQMTA3IGl0ZW0xMDc7IHR5cGVkZWYgUDEwOCBpdGVtMTA4OyB0eXBlZGVmIFAxMDkgaXRlbTEwOTsgdHlwZWRlZiBQMTEwIGl0ZW0xMTA7IHR5cGVkZWYgUDExMSBpdGVtMTExOyB0eXBlZGVmIFAxMTIgaXRlbTExMjsgdHlwZWRlZiBQMTEzIGl0ZW0xMTM7IHR5cGVkZWYgUDExNCBpdGVtMTE0OyB0eXBlZGVmIFAxMTUgaXRlbTExNTsgdHlwZWRlZiBQMTE2IGl0ZW0xMTY7IHR5cGVkZWYgUDExNyBpdGVtMTE3OyB0eXBlZGVmIFAxMTggaXRlbTExODsgdHlwZWRlZiBQMTE5IGl0ZW0xMTk7IHR5cGVkZWYgUDEyMCBpdGVtMTIwOyB0eXBlZGVmIFAxMjEgaXRlbTEyMTsgdHlwZWRlZiBQMTIyIGl0ZW0xMjI7IHR5cGVkZWYgUDEyMyBpdGVtMTIzOyB0eXBlZGVmIFAxMjQgaXRlbTEyNDsgdHlwZWRlZiBQMTI1IGl0ZW0xMjU7IHR5cGVkZWYgUDEyNiBpdGVtMTI2OyB0eXBlZGVmIFAxMjcgaXRlbTEyNzsgdHlwZWRlZiBQMTI4IGl0ZW0xMjg7IHR5cGVkZWYgUDEyOSBpdGVtMTI5OyB0eXBlZGVmIFAxMzAgaXRlbTEzMDsgdHlwZWRlZiBQMTMxIGl0ZW0xMzE7IHR5cGVkZWYgUDEzMiBpdGVtMTMyOyB0eXBlZGVmIFAxMzMgaXRlbTEzMzsgdHlwZWRlZiBQMTM0IGl0ZW0xMzQ7IHR5cGVkZWYgUDEzNSBpdGVtMTM1OyB0eXBlZGVmIFAxMzYgaXRlbTEzNjsgdHlwZWRlZiBQMTM3IGl0ZW0xMzc7IHR5cGVkZWYgUDEzOCBpdGVtMTM4OyB0eXBlZGVmIFAxMzkgaXRlbTEzOTsgdHlwZWRlZiBQMTQwIGl0ZW0xNDA7IHR5cGVkZWYgUDE0MSBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBQOTMgLCBjbGFzcyBQOTQgLCBjbGFzcyBQOTUgLCBjbGFzcyBQOTYgLCBjbGFzcyBQOTcgLCBjbGFzcyBQOTggLCBjbGFzcyBQOTkgLCBjbGFzcyBQMTAwICwgY2xhc3MgUDEwMSAsIGNsYXNzIFAxMDIgLCBjbGFzcyBQMTAzICwgY2xhc3MgUDEwNCAsIGNsYXNzIFAxMDUgLCBjbGFzcyBQMTA2ICwgY2xhc3MgUDEwNyAsIGNsYXNzIFAxMDggLCBjbGFzcyBQMTA5ICwgY2xhc3MgUDExMCAsIGNsYXNzIFAxMTEgLCBjbGFzcyBQMTEyICwgY2xhc3MgUDExMyAsIGNsYXNzIFAxMTQgLCBjbGFzcyBQMTE1ICwgY2xhc3MgUDExNiAsIGNsYXNzIFAxMTcgLCBjbGFzcyBQMTE4ICwgY2xhc3MgUDExOSAsIGNsYXNzIFAxMjAgLCBjbGFzcyBQMTIxICwgY2xhc3MgUDEyMiAsIGNsYXNzIFAxMjMgLCBjbGFzcyBQMTI0ICwgY2xhc3MgUDEyNSAsIGNsYXNzIFAxMjYgLCBjbGFzcyBQMTI3ICwgY2xhc3MgUDEyOCAsIGNsYXNzIFAxMjkgLCBjbGFzcyBQMTMwICwgY2xhc3MgUDEzMSAsIGNsYXNzIFAxMzIgLCBjbGFzcyBQMTMzICwgY2xhc3MgUDEzNCAsIGNsYXNzIFAxMzUgLCBjbGFzcyBQMTM2ICwgY2xhc3MgUDEzNyAsIGNsYXNzIFAxMzggLCBjbGFzcyBQMTM5ICwgY2xhc3MgUDE0MCAsIGNsYXNzIFAxNDEgLCBjbGFzcyBQMTQyID4gc3RydWN0IHZlY3RvcjE0MyB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjE0MzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MCAsIFAxNDEgLCBQMTQyPiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgUDQxIGl0ZW00MTsgdHlwZWRlZiBQNDIgaXRlbTQyOyB0eXBlZGVmIFA0MyBpdGVtNDM7IHR5cGVkZWYgUDQ0IGl0ZW00NDsgdHlwZWRlZiBQNDUgaXRlbTQ1OyB0eXBlZGVmIFA0NiBpdGVtNDY7IHR5cGVkZWYgUDQ3IGl0ZW00NzsgdHlwZWRlZiBQNDggaXRlbTQ4OyB0eXBlZGVmIFA0OSBpdGVtNDk7IHR5cGVkZWYgUDUwIGl0ZW01MDsgdHlwZWRlZiBQNTEgaXRlbTUxOyB0eXBlZGVmIFA1MiBpdGVtNTI7IHR5cGVkZWYgUDUzIGl0ZW01MzsgdHlwZWRlZiBQNTQgaXRlbTU0OyB0eXBlZGVmIFA1NSBpdGVtNTU7IHR5cGVkZWYgUDU2IGl0ZW01NjsgdHlwZWRlZiBQNTcgaXRlbTU3OyB0eXBlZGVmIFA1OCBpdGVtNTg7IHR5cGVkZWYgUDU5IGl0ZW01OTsgdHlwZWRlZiBQNjAgaXRlbTYwOyB0eXBlZGVmIFA2MSBpdGVtNjE7IHR5cGVkZWYgUDYyIGl0ZW02MjsgdHlwZWRlZiBQNjMgaXRlbTYzOyB0eXBlZGVmIFA2NCBpdGVtNjQ7IHR5cGVkZWYgUDY1IGl0ZW02NTsgdHlwZWRlZiBQNjYgaXRlbTY2OyB0eXBlZGVmIFA2NyBpdGVtNjc7IHR5cGVkZWYgUDY4IGl0ZW02ODsgdHlwZWRlZiBQNjkgaXRlbTY5OyB0eXBlZGVmIFA3MCBpdGVtNzA7IHR5cGVkZWYgUDcxIGl0ZW03MTsgdHlwZWRlZiBQNzIgaXRlbTcyOyB0eXBlZGVmIFA3MyBpdGVtNzM7IHR5cGVkZWYgUDc0IGl0ZW03NDsgdHlwZWRlZiBQNzUgaXRlbTc1OyB0eXBlZGVmIFA3NiBpdGVtNzY7IHR5cGVkZWYgUDc3IGl0ZW03NzsgdHlwZWRlZiBQNzggaXRlbTc4OyB0eXBlZGVmIFA3OSBpdGVtNzk7IHR5cGVkZWYgUDgwIGl0ZW04MDsgdHlwZWRlZiBQODEgaXRlbTgxOyB0eXBlZGVmIFA4MiBpdGVtODI7IHR5cGVkZWYgUDgzIGl0ZW04MzsgdHlwZWRlZiBQODQgaXRlbTg0OyB0eXBlZGVmIFA4NSBpdGVtODU7IHR5cGVkZWYgUDg2IGl0ZW04NjsgdHlwZWRlZiBQODcgaXRlbTg3OyB0eXBlZGVmIFA4OCBpdGVtODg7IHR5cGVkZWYgUDg5IGl0ZW04OTsgdHlwZWRlZiBQOTAgaXRlbTkwOyB0eXBlZGVmIFA5MSBpdGVtOTE7IHR5cGVkZWYgUDkyIGl0ZW05MjsgdHlwZWRlZiBQOTMgaXRlbTkzOyB0eXBlZGVmIFA5NCBpdGVtOTQ7IHR5cGVkZWYgUDk1IGl0ZW05NTsgdHlwZWRlZiBQOTYgaXRlbTk2OyB0eXBlZGVmIFA5NyBpdGVtOTc7IHR5cGVkZWYgUDk4IGl0ZW05ODsgdHlwZWRlZiBQOTkgaXRlbTk5OyB0eXBlZGVmIFAxMDAgaXRlbTEwMDsgdHlwZWRlZiBQMTAxIGl0ZW0xMDE7IHR5cGVkZWYgUDEwMiBpdGVtMTAyOyB0eXBlZGVmIFAxMDMgaXRlbTEwMzsgdHlwZWRlZiBQMTA0IGl0ZW0xMDQ7IHR5cGVkZWYgUDEwNSBpdGVtMTA1OyB0eXBlZGVmIFAxMDYgaXRlbTEwNjsgdHlwZWRlZiBQMTA3IGl0ZW0xMDc7IHR5cGVkZWYgUDEwOCBpdGVtMTA4OyB0eXBlZGVmIFAxMDkgaXRlbTEwOTsgdHlwZWRlZiBQMTEwIGl0ZW0xMTA7IHR5cGVkZWYgUDExMSBpdGVtMTExOyB0eXBlZGVmIFAxMTIgaXRlbTExMjsgdHlwZWRlZiBQMTEzIGl0ZW0xMTM7IHR5cGVkZWYgUDExNCBpdGVtMTE0OyB0eXBlZGVmIFAxMTUgaXRlbTExNTsgdHlwZWRlZiBQMTE2IGl0ZW0xMTY7IHR5cGVkZWYgUDExNyBpdGVtMTE3OyB0eXBlZGVmIFAxMTggaXRlbTExODsgdHlwZWRlZiBQMTE5IGl0ZW0xMTk7IHR5cGVkZWYgUDEyMCBpdGVtMTIwOyB0eXBlZGVmIFAxMjEgaXRlbTEyMTsgdHlwZWRlZiBQMTIyIGl0ZW0xMjI7IHR5cGVkZWYgUDEyMyBpdGVtMTIzOyB0eXBlZGVmIFAxMjQgaXRlbTEyNDsgdHlwZWRlZiBQMTI1IGl0ZW0xMjU7IHR5cGVkZWYgUDEyNiBpdGVtMTI2OyB0eXBlZGVmIFAxMjcgaXRlbTEyNzsgdHlwZWRlZiBQMTI4IGl0ZW0xMjg7IHR5cGVkZWYgUDEyOSBpdGVtMTI5OyB0eXBlZGVmIFAxMzAgaXRlbTEzMDsgdHlwZWRlZiBQMTMxIGl0ZW0xMzE7IHR5cGVkZWYgUDEzMiBpdGVtMTMyOyB0eXBlZGVmIFAxMzMgaXRlbTEzMzsgdHlwZWRlZiBQMTM0IGl0ZW0xMzQ7IHR5cGVkZWYgUDEzNSBpdGVtMTM1OyB0eXBlZGVmIFAxMzYgaXRlbTEzNjsgdHlwZWRlZiBQMTM3IGl0ZW0xMzc7IHR5cGVkZWYgUDEzOCBpdGVtMTM4OyB0eXBlZGVmIFAxMzkgaXRlbTEzOTsgdHlwZWRlZiBQMTQwIGl0ZW0xNDA7IHR5cGVkZWYgUDE0MSBpdGVtMTQxOyB0eXBlZGVmIFAxNDIgaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5ODsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ICwgY2xhc3MgUDk2ICwgY2xhc3MgUDk3ICwgY2xhc3MgUDk4ICwgY2xhc3MgUDk5ICwgY2xhc3MgUDEwMCAsIGNsYXNzIFAxMDEgLCBjbGFzcyBQMTAyICwgY2xhc3MgUDEwMyAsIGNsYXNzIFAxMDQgLCBjbGFzcyBQMTA1ICwgY2xhc3MgUDEwNiAsIGNsYXNzIFAxMDcgLCBjbGFzcyBQMTA4ICwgY2xhc3MgUDEwOSAsIGNsYXNzIFAxMTAgLCBjbGFzcyBQMTExICwgY2xhc3MgUDExMiAsIGNsYXNzIFAxMTMgLCBjbGFzcyBQMTE0ICwgY2xhc3MgUDExNSAsIGNsYXNzIFAxMTYgLCBjbGFzcyBQMTE3ICwgY2xhc3MgUDExOCAsIGNsYXNzIFAxMTkgLCBjbGFzcyBQMTIwICwgY2xhc3MgUDEyMSAsIGNsYXNzIFAxMjIgLCBjbGFzcyBQMTIzICwgY2xhc3MgUDEyNCAsIGNsYXNzIFAxMjUgLCBjbGFzcyBQMTI2ICwgY2xhc3MgUDEyNyAsIGNsYXNzIFAxMjggLCBjbGFzcyBQMTI5ICwgY2xhc3MgUDEzMCAsIGNsYXNzIFAxMzEgLCBjbGFzcyBQMTMyICwgY2xhc3MgUDEzMyAsIGNsYXNzIFAxMzQgLCBjbGFzcyBQMTM1ICwgY2xhc3MgUDEzNiAsIGNsYXNzIFAxMzcgLCBjbGFzcyBQMTM4ICwgY2xhc3MgUDEzOSAsIGNsYXNzIFAxNDAgLCBjbGFzcyBQMTQxICwgY2xhc3MgUDE0MiAsIGNsYXNzIFAxNDMgPiBzdHJ1Y3QgdmVjdG9yMTQ0IHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yMTQ0PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFA5MiAsIFA5MyAsIFA5NCAsIFA5NSAsIFA5NiAsIFA5NyAsIFA5OCAsIFA5OSAsIFAxMDAgLCBQMTAxICwgUDEwMiAsIFAxMDMgLCBQMTA0ICwgUDEwNSAsIFAxMDYgLCBQMTA3ICwgUDEwOCAsIFAxMDkgLCBQMTEwICwgUDExMSAsIFAxMTIgLCBQMTEzICwgUDExNCAsIFAxMTUgLCBQMTE2ICwgUDExNyAsIFAxMTggLCBQMTE5ICwgUDEyMCAsIFAxMjEgLCBQMTIyICwgUDEyMyAsIFAxMjQgLCBQMTI1ICwgUDEyNiAsIFAxMjcgLCBQMTI4ICwgUDEyOSAsIFAxMzAgLCBQMTMxICwgUDEzMiAsIFAxMzMgLCBQMTM0ICwgUDEzNSAsIFAxMzYgLCBQMTM3ICwgUDEzOCAsIFAxMzkgLCBQMTQwICwgUDE0MSAsIFAxNDIgLCBQMTQzPiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgUDQxIGl0ZW00MTsgdHlwZWRlZiBQNDIgaXRlbTQyOyB0eXBlZGVmIFA0MyBpdGVtNDM7IHR5cGVkZWYgUDQ0IGl0ZW00NDsgdHlwZWRlZiBQNDUgaXRlbTQ1OyB0eXBlZGVmIFA0NiBpdGVtNDY7IHR5cGVkZWYgUDQ3IGl0ZW00NzsgdHlwZWRlZiBQNDggaXRlbTQ4OyB0eXBlZGVmIFA0OSBpdGVtNDk7IHR5cGVkZWYgUDUwIGl0ZW01MDsgdHlwZWRlZiBQNTEgaXRlbTUxOyB0eXBlZGVmIFA1MiBpdGVtNTI7IHR5cGVkZWYgUDUzIGl0ZW01MzsgdHlwZWRlZiBQNTQgaXRlbTU0OyB0eXBlZGVmIFA1NSBpdGVtNTU7IHR5cGVkZWYgUDU2IGl0ZW01NjsgdHlwZWRlZiBQNTcgaXRlbTU3OyB0eXBlZGVmIFA1OCBpdGVtNTg7IHR5cGVkZWYgUDU5IGl0ZW01OTsgdHlwZWRlZiBQNjAgaXRlbTYwOyB0eXBlZGVmIFA2MSBpdGVtNjE7IHR5cGVkZWYgUDYyIGl0ZW02MjsgdHlwZWRlZiBQNjMgaXRlbTYzOyB0eXBlZGVmIFA2NCBpdGVtNjQ7IHR5cGVkZWYgUDY1IGl0ZW02NTsgdHlwZWRlZiBQNjYgaXRlbTY2OyB0eXBlZGVmIFA2NyBpdGVtNjc7IHR5cGVkZWYgUDY4IGl0ZW02ODsgdHlwZWRlZiBQNjkgaXRlbTY5OyB0eXBlZGVmIFA3MCBpdGVtNzA7IHR5cGVkZWYgUDcxIGl0ZW03MTsgdHlwZWRlZiBQNzIgaXRlbTcyOyB0eXBlZGVmIFA3MyBpdGVtNzM7IHR5cGVkZWYgUDc0IGl0ZW03NDsgdHlwZWRlZiBQNzUgaXRlbTc1OyB0eXBlZGVmIFA3NiBpdGVtNzY7IHR5cGVkZWYgUDc3IGl0ZW03NzsgdHlwZWRlZiBQNzggaXRlbTc4OyB0eXBlZGVmIFA3OSBpdGVtNzk7IHR5cGVkZWYgUDgwIGl0ZW04MDsgdHlwZWRlZiBQODEgaXRlbTgxOyB0eXBlZGVmIFA4MiBpdGVtODI7IHR5cGVkZWYgUDgzIGl0ZW04MzsgdHlwZWRlZiBQODQgaXRlbTg0OyB0eXBlZGVmIFA4NSBpdGVtODU7IHR5cGVkZWYgUDg2IGl0ZW04NjsgdHlwZWRlZiBQODcgaXRlbTg3OyB0eXBlZGVmIFA4OCBpdGVtODg7IHR5cGVkZWYgUDg5IGl0ZW04OTsgdHlwZWRlZiBQOTAgaXRlbTkwOyB0eXBlZGVmIFA5MSBpdGVtOTE7IHR5cGVkZWYgUDkyIGl0ZW05MjsgdHlwZWRlZiBQOTMgaXRlbTkzOyB0eXBlZGVmIFA5NCBpdGVtOTQ7IHR5cGVkZWYgUDk1IGl0ZW05NTsgdHlwZWRlZiBQOTYgaXRlbTk2OyB0eXBlZGVmIFA5NyBpdGVtOTc7IHR5cGVkZWYgUDk4IGl0ZW05ODsgdHlwZWRlZiBQOTkgaXRlbTk5OyB0eXBlZGVmIFAxMDAgaXRlbTEwMDsgdHlwZWRlZiBQMTAxIGl0ZW0xMDE7IHR5cGVkZWYgUDEwMiBpdGVtMTAyOyB0eXBlZGVmIFAxMDMgaXRlbTEwMzsgdHlwZWRlZiBQMTA0IGl0ZW0xMDQ7IHR5cGVkZWYgUDEwNSBpdGVtMTA1OyB0eXBlZGVmIFAxMDYgaXRlbTEwNjsgdHlwZWRlZiBQMTA3IGl0ZW0xMDc7IHR5cGVkZWYgUDEwOCBpdGVtMTA4OyB0eXBlZGVmIFAxMDkgaXRlbTEwOTsgdHlwZWRlZiBQMTEwIGl0ZW0xMTA7IHR5cGVkZWYgUDExMSBpdGVtMTExOyB0eXBlZGVmIFAxMTIgaXRlbTExMjsgdHlwZWRlZiBQMTEzIGl0ZW0xMTM7IHR5cGVkZWYgUDExNCBpdGVtMTE0OyB0eXBlZGVmIFAxMTUgaXRlbTExNTsgdHlwZWRlZiBQMTE2IGl0ZW0xMTY7IHR5cGVkZWYgUDExNyBpdGVtMTE3OyB0eXBlZGVmIFAxMTggaXRlbTExODsgdHlwZWRlZiBQMTE5IGl0ZW0xMTk7IHR5cGVkZWYgUDEyMCBpdGVtMTIwOyB0eXBlZGVmIFAxMjEgaXRlbTEyMTsgdHlwZWRlZiBQMTIyIGl0ZW0xMjI7IHR5cGVkZWYgUDEyMyBpdGVtMTIzOyB0eXBlZGVmIFAxMjQgaXRlbTEyNDsgdHlwZWRlZiBQMTI1IGl0ZW0xMjU7IHR5cGVkZWYgUDEyNiBpdGVtMTI2OyB0eXBlZGVmIFAxMjcgaXRlbTEyNzsgdHlwZWRlZiBQMTI4IGl0ZW0xMjg7IHR5cGVkZWYgUDEyOSBpdGVtMTI5OyB0eXBlZGVmIFAxMzAgaXRlbTEzMDsgdHlwZWRlZiBQMTMxIGl0ZW0xMzE7IHR5cGVkZWYgUDEzMiBpdGVtMTMyOyB0eXBlZGVmIFAxMzMgaXRlbTEzMzsgdHlwZWRlZiBQMTM0IGl0ZW0xMzQ7IHR5cGVkZWYgUDEzNSBpdGVtMTM1OyB0eXBlZGVmIFAxMzYgaXRlbTEzNjsgdHlwZWRlZiBQMTM3IGl0ZW0xMzc7IHR5cGVkZWYgUDEzOCBpdGVtMTM4OyB0eXBlZGVmIFAxMzkgaXRlbTEzOTsgdHlwZWRlZiBQMTQwIGl0ZW0xNDA7IHR5cGVkZWYgUDE0MSBpdGVtMTQxOyB0eXBlZGVmIFAxNDIgaXRlbTE0MjsgdHlwZWRlZiBQMTQzIGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSAsIGNsYXNzIFA4NiAsIGNsYXNzIFA4NyAsIGNsYXNzIFA4OCAsIGNsYXNzIFA4OSAsIGNsYXNzIFA5MCAsIGNsYXNzIFA5MSAsIGNsYXNzIFA5MiAsIGNsYXNzIFA5MyAsIGNsYXNzIFA5NCAsIGNsYXNzIFA5NSAsIGNsYXNzIFA5NiAsIGNsYXNzIFA5NyAsIGNsYXNzIFA5OCAsIGNsYXNzIFA5OSAsIGNsYXNzIFAxMDAgLCBjbGFzcyBQMTAxICwgY2xhc3MgUDEwMiAsIGNsYXNzIFAxMDMgLCBjbGFzcyBQMTA0ICwgY2xhc3MgUDEwNSAsIGNsYXNzIFAxMDYgLCBjbGFzcyBQMTA3ICwgY2xhc3MgUDEwOCAsIGNsYXNzIFAxMDkgLCBjbGFzcyBQMTEwICwgY2xhc3MgUDExMSAsIGNsYXNzIFAxMTIgLCBjbGFzcyBQMTEzICwgY2xhc3MgUDExNCAsIGNsYXNzIFAxMTUgLCBjbGFzcyBQMTE2ICwgY2xhc3MgUDExNyAsIGNsYXNzIFAxMTggLCBjbGFzcyBQMTE5ICwgY2xhc3MgUDEyMCAsIGNsYXNzIFAxMjEgLCBjbGFzcyBQMTIyICwgY2xhc3MgUDEyMyAsIGNsYXNzIFAxMjQgLCBjbGFzcyBQMTI1ICwgY2xhc3MgUDEyNiAsIGNsYXNzIFAxMjcgLCBjbGFzcyBQMTI4ICwgY2xhc3MgUDEyOSAsIGNsYXNzIFAxMzAgLCBjbGFzcyBQMTMxICwgY2xhc3MgUDEzMiAsIGNsYXNzIFAxMzMgLCBjbGFzcyBQMTM0ICwgY2xhc3MgUDEzNSAsIGNsYXNzIFAxMzYgLCBjbGFzcyBQMTM3ICwgY2xhc3MgUDEzOCAsIGNsYXNzIFAxMzkgLCBjbGFzcyBQMTQwICwgY2xhc3MgUDE0MSAsIGNsYXNzIFAxNDIgLCBjbGFzcyBQMTQzICwgY2xhc3MgUDE0NCA+IHN0cnVjdCB2ZWN0b3IxNDUgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3IxNDU8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1ICwgUDk2ICwgUDk3ICwgUDk4ICwgUDk5ICwgUDEwMCAsIFAxMDEgLCBQMTAyICwgUDEwMyAsIFAxMDQgLCBQMTA1ICwgUDEwNiAsIFAxMDcgLCBQMTA4ICwgUDEwOSAsIFAxMTAgLCBQMTExICwgUDExMiAsIFAxMTMgLCBQMTE0ICwgUDExNSAsIFAxMTYgLCBQMTE3ICwgUDExOCAsIFAxMTkgLCBQMTIwICwgUDEyMSAsIFAxMjIgLCBQMTIzICwgUDEyNCAsIFAxMjUgLCBQMTI2ICwgUDEyNyAsIFAxMjggLCBQMTI5ICwgUDEzMCAsIFAxMzEgLCBQMTMyICwgUDEzMyAsIFAxMzQgLCBQMTM1ICwgUDEzNiAsIFAxMzcgLCBQMTM4ICwgUDEzOSAsIFAxNDAgLCBQMTQxICwgUDE0MiAsIFAxNDMgLCBQMTQ0PiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgUDQxIGl0ZW00MTsgdHlwZWRlZiBQNDIgaXRlbTQyOyB0eXBlZGVmIFA0MyBpdGVtNDM7IHR5cGVkZWYgUDQ0IGl0ZW00NDsgdHlwZWRlZiBQNDUgaXRlbTQ1OyB0eXBlZGVmIFA0NiBpdGVtNDY7IHR5cGVkZWYgUDQ3IGl0ZW00NzsgdHlwZWRlZiBQNDggaXRlbTQ4OyB0eXBlZGVmIFA0OSBpdGVtNDk7IHR5cGVkZWYgUDUwIGl0ZW01MDsgdHlwZWRlZiBQNTEgaXRlbTUxOyB0eXBlZGVmIFA1MiBpdGVtNTI7IHR5cGVkZWYgUDUzIGl0ZW01MzsgdHlwZWRlZiBQNTQgaXRlbTU0OyB0eXBlZGVmIFA1NSBpdGVtNTU7IHR5cGVkZWYgUDU2IGl0ZW01NjsgdHlwZWRlZiBQNTcgaXRlbTU3OyB0eXBlZGVmIFA1OCBpdGVtNTg7IHR5cGVkZWYgUDU5IGl0ZW01OTsgdHlwZWRlZiBQNjAgaXRlbTYwOyB0eXBlZGVmIFA2MSBpdGVtNjE7IHR5cGVkZWYgUDYyIGl0ZW02MjsgdHlwZWRlZiBQNjMgaXRlbTYzOyB0eXBlZGVmIFA2NCBpdGVtNjQ7IHR5cGVkZWYgUDY1IGl0ZW02NTsgdHlwZWRlZiBQNjYgaXRlbTY2OyB0eXBlZGVmIFA2NyBpdGVtNjc7IHR5cGVkZWYgUDY4IGl0ZW02ODsgdHlwZWRlZiBQNjkgaXRlbTY5OyB0eXBlZGVmIFA3MCBpdGVtNzA7IHR5cGVkZWYgUDcxIGl0ZW03MTsgdHlwZWRlZiBQNzIgaXRlbTcyOyB0eXBlZGVmIFA3MyBpdGVtNzM7IHR5cGVkZWYgUDc0IGl0ZW03NDsgdHlwZWRlZiBQNzUgaXRlbTc1OyB0eXBlZGVmIFA3NiBpdGVtNzY7IHR5cGVkZWYgUDc3IGl0ZW03NzsgdHlwZWRlZiBQNzggaXRlbTc4OyB0eXBlZGVmIFA3OSBpdGVtNzk7IHR5cGVkZWYgUDgwIGl0ZW04MDsgdHlwZWRlZiBQODEgaXRlbTgxOyB0eXBlZGVmIFA4MiBpdGVtODI7IHR5cGVkZWYgUDgzIGl0ZW04MzsgdHlwZWRlZiBQODQgaXRlbTg0OyB0eXBlZGVmIFA4NSBpdGVtODU7IHR5cGVkZWYgUDg2IGl0ZW04NjsgdHlwZWRlZiBQODcgaXRlbTg3OyB0eXBlZGVmIFA4OCBpdGVtODg7IHR5cGVkZWYgUDg5IGl0ZW04OTsgdHlwZWRlZiBQOTAgaXRlbTkwOyB0eXBlZGVmIFA5MSBpdGVtOTE7IHR5cGVkZWYgUDkyIGl0ZW05MjsgdHlwZWRlZiBQOTMgaXRlbTkzOyB0eXBlZGVmIFA5NCBpdGVtOTQ7IHR5cGVkZWYgUDk1IGl0ZW05NTsgdHlwZWRlZiBQOTYgaXRlbTk2OyB0eXBlZGVmIFA5NyBpdGVtOTc7IHR5cGVkZWYgUDk4IGl0ZW05ODsgdHlwZWRlZiBQOTkgaXRlbTk5OyB0eXBlZGVmIFAxMDAgaXRlbTEwMDsgdHlwZWRlZiBQMTAxIGl0ZW0xMDE7IHR5cGVkZWYgUDEwMiBpdGVtMTAyOyB0eXBlZGVmIFAxMDMgaXRlbTEwMzsgdHlwZWRlZiBQMTA0IGl0ZW0xMDQ7IHR5cGVkZWYgUDEwNSBpdGVtMTA1OyB0eXBlZGVmIFAxMDYgaXRlbTEwNjsgdHlwZWRlZiBQMTA3IGl0ZW0xMDc7IHR5cGVkZWYgUDEwOCBpdGVtMTA4OyB0eXBlZGVmIFAxMDkgaXRlbTEwOTsgdHlwZWRlZiBQMTEwIGl0ZW0xMTA7IHR5cGVkZWYgUDExMSBpdGVtMTExOyB0eXBlZGVmIFAxMTIgaXRlbTExMjsgdHlwZWRlZiBQMTEzIGl0ZW0xMTM7IHR5cGVkZWYgUDExNCBpdGVtMTE0OyB0eXBlZGVmIFAxMTUgaXRlbTExNTsgdHlwZWRlZiBQMTE2IGl0ZW0xMTY7IHR5cGVkZWYgUDExNyBpdGVtMTE3OyB0eXBlZGVmIFAxMTggaXRlbTExODsgdHlwZWRlZiBQMTE5IGl0ZW0xMTk7IHR5cGVkZWYgUDEyMCBpdGVtMTIwOyB0eXBlZGVmIFAxMjEgaXRlbTEyMTsgdHlwZWRlZiBQMTIyIGl0ZW0xMjI7IHR5cGVkZWYgUDEyMyBpdGVtMTIzOyB0eXBlZGVmIFAxMjQgaXRlbTEyNDsgdHlwZWRlZiBQMTI1IGl0ZW0xMjU7IHR5cGVkZWYgUDEyNiBpdGVtMTI2OyB0eXBlZGVmIFAxMjcgaXRlbTEyNzsgdHlwZWRlZiBQMTI4IGl0ZW0xMjg7IHR5cGVkZWYgUDEyOSBpdGVtMTI5OyB0eXBlZGVmIFAxMzAgaXRlbTEzMDsgdHlwZWRlZiBQMTMxIGl0ZW0xMzE7IHR5cGVkZWYgUDEzMiBpdGVtMTMyOyB0eXBlZGVmIFAxMzMgaXRlbTEzMzsgdHlwZWRlZiBQMTM0IGl0ZW0xMzQ7IHR5cGVkZWYgUDEzNSBpdGVtMTM1OyB0eXBlZGVmIFAxMzYgaXRlbTEzNjsgdHlwZWRlZiBQMTM3IGl0ZW0xMzc7IHR5cGVkZWYgUDEzOCBpdGVtMTM4OyB0eXBlZGVmIFAxMzkgaXRlbTEzOTsgdHlwZWRlZiBQMTQwIGl0ZW0xNDA7IHR5cGVkZWYgUDE0MSBpdGVtMTQxOyB0eXBlZGVmIFAxNDIgaXRlbTE0MjsgdHlwZWRlZiBQMTQzIGl0ZW0xNDM7IHR5cGVkZWYgUDE0NCBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBQOTMgLCBjbGFzcyBQOTQgLCBjbGFzcyBQOTUgLCBjbGFzcyBQOTYgLCBjbGFzcyBQOTcgLCBjbGFzcyBQOTggLCBjbGFzcyBQOTkgLCBjbGFzcyBQMTAwICwgY2xhc3MgUDEwMSAsIGNsYXNzIFAxMDIgLCBjbGFzcyBQMTAzICwgY2xhc3MgUDEwNCAsIGNsYXNzIFAxMDUgLCBjbGFzcyBQMTA2ICwgY2xhc3MgUDEwNyAsIGNsYXNzIFAxMDggLCBjbGFzcyBQMTA5ICwgY2xhc3MgUDExMCAsIGNsYXNzIFAxMTEgLCBjbGFzcyBQMTEyICwgY2xhc3MgUDExMyAsIGNsYXNzIFAxMTQgLCBjbGFzcyBQMTE1ICwgY2xhc3MgUDExNiAsIGNsYXNzIFAxMTcgLCBjbGFzcyBQMTE4ICwgY2xhc3MgUDExOSAsIGNsYXNzIFAxMjAgLCBjbGFzcyBQMTIxICwgY2xhc3MgUDEyMiAsIGNsYXNzIFAxMjMgLCBjbGFzcyBQMTI0ICwgY2xhc3MgUDEyNSAsIGNsYXNzIFAxMjYgLCBjbGFzcyBQMTI3ICwgY2xhc3MgUDEyOCAsIGNsYXNzIFAxMjkgLCBjbGFzcyBQMTMwICwgY2xhc3MgUDEzMSAsIGNsYXNzIFAxMzIgLCBjbGFzcyBQMTMzICwgY2xhc3MgUDEzNCAsIGNsYXNzIFAxMzUgLCBjbGFzcyBQMTM2ICwgY2xhc3MgUDEzNyAsIGNsYXNzIFAxMzggLCBjbGFzcyBQMTM5ICwgY2xhc3MgUDE0MCAsIGNsYXNzIFAxNDEgLCBjbGFzcyBQMTQyICwgY2xhc3MgUDE0MyAsIGNsYXNzIFAxNDQgLCBjbGFzcyBQMTQ1ID4gc3RydWN0IHZlY3RvcjE0NiB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjE0NjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MCAsIFAxNDEgLCBQMTQyICwgUDE0MyAsIFAxNDQgLCBQMTQ1PiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgUDQxIGl0ZW00MTsgdHlwZWRlZiBQNDIgaXRlbTQyOyB0eXBlZGVmIFA0MyBpdGVtNDM7IHR5cGVkZWYgUDQ0IGl0ZW00NDsgdHlwZWRlZiBQNDUgaXRlbTQ1OyB0eXBlZGVmIFA0NiBpdGVtNDY7IHR5cGVkZWYgUDQ3IGl0ZW00NzsgdHlwZWRlZiBQNDggaXRlbTQ4OyB0eXBlZGVmIFA0OSBpdGVtNDk7IHR5cGVkZWYgUDUwIGl0ZW01MDsgdHlwZWRlZiBQNTEgaXRlbTUxOyB0eXBlZGVmIFA1MiBpdGVtNTI7IHR5cGVkZWYgUDUzIGl0ZW01MzsgdHlwZWRlZiBQNTQgaXRlbTU0OyB0eXBlZGVmIFA1NSBpdGVtNTU7IHR5cGVkZWYgUDU2IGl0ZW01NjsgdHlwZWRlZiBQNTcgaXRlbTU3OyB0eXBlZGVmIFA1OCBpdGVtNTg7IHR5cGVkZWYgUDU5IGl0ZW01OTsgdHlwZWRlZiBQNjAgaXRlbTYwOyB0eXBlZGVmIFA2MSBpdGVtNjE7IHR5cGVkZWYgUDYyIGl0ZW02MjsgdHlwZWRlZiBQNjMgaXRlbTYzOyB0eXBlZGVmIFA2NCBpdGVtNjQ7IHR5cGVkZWYgUDY1IGl0ZW02NTsgdHlwZWRlZiBQNjYgaXRlbTY2OyB0eXBlZGVmIFA2NyBpdGVtNjc7IHR5cGVkZWYgUDY4IGl0ZW02ODsgdHlwZWRlZiBQNjkgaXRlbTY5OyB0eXBlZGVmIFA3MCBpdGVtNzA7IHR5cGVkZWYgUDcxIGl0ZW03MTsgdHlwZWRlZiBQNzIgaXRlbTcyOyB0eXBlZGVmIFA3MyBpdGVtNzM7IHR5cGVkZWYgUDc0IGl0ZW03NDsgdHlwZWRlZiBQNzUgaXRlbTc1OyB0eXBlZGVmIFA3NiBpdGVtNzY7IHR5cGVkZWYgUDc3IGl0ZW03NzsgdHlwZWRlZiBQNzggaXRlbTc4OyB0eXBlZGVmIFA3OSBpdGVtNzk7IHR5cGVkZWYgUDgwIGl0ZW04MDsgdHlwZWRlZiBQODEgaXRlbTgxOyB0eXBlZGVmIFA4MiBpdGVtODI7IHR5cGVkZWYgUDgzIGl0ZW04MzsgdHlwZWRlZiBQODQgaXRlbTg0OyB0eXBlZGVmIFA4NSBpdGVtODU7IHR5cGVkZWYgUDg2IGl0ZW04NjsgdHlwZWRlZiBQODcgaXRlbTg3OyB0eXBlZGVmIFA4OCBpdGVtODg7IHR5cGVkZWYgUDg5IGl0ZW04OTsgdHlwZWRlZiBQOTAgaXRlbTkwOyB0eXBlZGVmIFA5MSBpdGVtOTE7IHR5cGVkZWYgUDkyIGl0ZW05MjsgdHlwZWRlZiBQOTMgaXRlbTkzOyB0eXBlZGVmIFA5NCBpdGVtOTQ7IHR5cGVkZWYgUDk1IGl0ZW05NTsgdHlwZWRlZiBQOTYgaXRlbTk2OyB0eXBlZGVmIFA5NyBpdGVtOTc7IHR5cGVkZWYgUDk4IGl0ZW05ODsgdHlwZWRlZiBQOTkgaXRlbTk5OyB0eXBlZGVmIFAxMDAgaXRlbTEwMDsgdHlwZWRlZiBQMTAxIGl0ZW0xMDE7IHR5cGVkZWYgUDEwMiBpdGVtMTAyOyB0eXBlZGVmIFAxMDMgaXRlbTEwMzsgdHlwZWRlZiBQMTA0IGl0ZW0xMDQ7IHR5cGVkZWYgUDEwNSBpdGVtMTA1OyB0eXBlZGVmIFAxMDYgaXRlbTEwNjsgdHlwZWRlZiBQMTA3IGl0ZW0xMDc7IHR5cGVkZWYgUDEwOCBpdGVtMTA4OyB0eXBlZGVmIFAxMDkgaXRlbTEwOTsgdHlwZWRlZiBQMTEwIGl0ZW0xMTA7IHR5cGVkZWYgUDExMSBpdGVtMTExOyB0eXBlZGVmIFAxMTIgaXRlbTExMjsgdHlwZWRlZiBQMTEzIGl0ZW0xMTM7IHR5cGVkZWYgUDExNCBpdGVtMTE0OyB0eXBlZGVmIFAxMTUgaXRlbTExNTsgdHlwZWRlZiBQMTE2IGl0ZW0xMTY7IHR5cGVkZWYgUDExNyBpdGVtMTE3OyB0eXBlZGVmIFAxMTggaXRlbTExODsgdHlwZWRlZiBQMTE5IGl0ZW0xMTk7IHR5cGVkZWYgUDEyMCBpdGVtMTIwOyB0eXBlZGVmIFAxMjEgaXRlbTEyMTsgdHlwZWRlZiBQMTIyIGl0ZW0xMjI7IHR5cGVkZWYgUDEyMyBpdGVtMTIzOyB0eXBlZGVmIFAxMjQgaXRlbTEyNDsgdHlwZWRlZiBQMTI1IGl0ZW0xMjU7IHR5cGVkZWYgUDEyNiBpdGVtMTI2OyB0eXBlZGVmIFAxMjcgaXRlbTEyNzsgdHlwZWRlZiBQMTI4IGl0ZW0xMjg7IHR5cGVkZWYgUDEyOSBpdGVtMTI5OyB0eXBlZGVmIFAxMzAgaXRlbTEzMDsgdHlwZWRlZiBQMTMxIGl0ZW0xMzE7IHR5cGVkZWYgUDEzMiBpdGVtMTMyOyB0eXBlZGVmIFAxMzMgaXRlbTEzMzsgdHlwZWRlZiBQMTM0IGl0ZW0xMzQ7IHR5cGVkZWYgUDEzNSBpdGVtMTM1OyB0eXBlZGVmIFAxMzYgaXRlbTEzNjsgdHlwZWRlZiBQMTM3IGl0ZW0xMzc7IHR5cGVkZWYgUDEzOCBpdGVtMTM4OyB0eXBlZGVmIFAxMzkgaXRlbTEzOTsgdHlwZWRlZiBQMTQwIGl0ZW0xNDA7IHR5cGVkZWYgUDE0MSBpdGVtMTQxOyB0eXBlZGVmIFAxNDIgaXRlbTE0MjsgdHlwZWRlZiBQMTQzIGl0ZW0xNDM7IHR5cGVkZWYgUDE0NCBpdGVtMTQ0OyB0eXBlZGVmIFAxNDUgaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5ODsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ICwgY2xhc3MgUDk2ICwgY2xhc3MgUDk3ICwgY2xhc3MgUDk4ICwgY2xhc3MgUDk5ICwgY2xhc3MgUDEwMCAsIGNsYXNzIFAxMDEgLCBjbGFzcyBQMTAyICwgY2xhc3MgUDEwMyAsIGNsYXNzIFAxMDQgLCBjbGFzcyBQMTA1ICwgY2xhc3MgUDEwNiAsIGNsYXNzIFAxMDcgLCBjbGFzcyBQMTA4ICwgY2xhc3MgUDEwOSAsIGNsYXNzIFAxMTAgLCBjbGFzcyBQMTExICwgY2xhc3MgUDExMiAsIGNsYXNzIFAxMTMgLCBjbGFzcyBQMTE0ICwgY2xhc3MgUDExNSAsIGNsYXNzIFAxMTYgLCBjbGFzcyBQMTE3ICwgY2xhc3MgUDExOCAsIGNsYXNzIFAxMTkgLCBjbGFzcyBQMTIwICwgY2xhc3MgUDEyMSAsIGNsYXNzIFAxMjIgLCBjbGFzcyBQMTIzICwgY2xhc3MgUDEyNCAsIGNsYXNzIFAxMjUgLCBjbGFzcyBQMTI2ICwgY2xhc3MgUDEyNyAsIGNsYXNzIFAxMjggLCBjbGFzcyBQMTI5ICwgY2xhc3MgUDEzMCAsIGNsYXNzIFAxMzEgLCBjbGFzcyBQMTMyICwgY2xhc3MgUDEzMyAsIGNsYXNzIFAxMzQgLCBjbGFzcyBQMTM1ICwgY2xhc3MgUDEzNiAsIGNsYXNzIFAxMzcgLCBjbGFzcyBQMTM4ICwgY2xhc3MgUDEzOSAsIGNsYXNzIFAxNDAgLCBjbGFzcyBQMTQxICwgY2xhc3MgUDE0MiAsIGNsYXNzIFAxNDMgLCBjbGFzcyBQMTQ0ICwgY2xhc3MgUDE0NSAsIGNsYXNzIFAxNDYgPiBzdHJ1Y3QgdmVjdG9yMTQ3IHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yMTQ3PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFA5MiAsIFA5MyAsIFA5NCAsIFA5NSAsIFA5NiAsIFA5NyAsIFA5OCAsIFA5OSAsIFAxMDAgLCBQMTAxICwgUDEwMiAsIFAxMDMgLCBQMTA0ICwgUDEwNSAsIFAxMDYgLCBQMTA3ICwgUDEwOCAsIFAxMDkgLCBQMTEwICwgUDExMSAsIFAxMTIgLCBQMTEzICwgUDExNCAsIFAxMTUgLCBQMTE2ICwgUDExNyAsIFAxMTggLCBQMTE5ICwgUDEyMCAsIFAxMjEgLCBQMTIyICwgUDEyMyAsIFAxMjQgLCBQMTI1ICwgUDEyNiAsIFAxMjcgLCBQMTI4ICwgUDEyOSAsIFAxMzAgLCBQMTMxICwgUDEzMiAsIFAxMzMgLCBQMTM0ICwgUDEzNSAsIFAxMzYgLCBQMTM3ICwgUDEzOCAsIFAxMzkgLCBQMTQwICwgUDE0MSAsIFAxNDIgLCBQMTQzICwgUDE0NCAsIFAxNDUgLCBQMTQ2PiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgUDQxIGl0ZW00MTsgdHlwZWRlZiBQNDIgaXRlbTQyOyB0eXBlZGVmIFA0MyBpdGVtNDM7IHR5cGVkZWYgUDQ0IGl0ZW00NDsgdHlwZWRlZiBQNDUgaXRlbTQ1OyB0eXBlZGVmIFA0NiBpdGVtNDY7IHR5cGVkZWYgUDQ3IGl0ZW00NzsgdHlwZWRlZiBQNDggaXRlbTQ4OyB0eXBlZGVmIFA0OSBpdGVtNDk7IHR5cGVkZWYgUDUwIGl0ZW01MDsgdHlwZWRlZiBQNTEgaXRlbTUxOyB0eXBlZGVmIFA1MiBpdGVtNTI7IHR5cGVkZWYgUDUzIGl0ZW01MzsgdHlwZWRlZiBQNTQgaXRlbTU0OyB0eXBlZGVmIFA1NSBpdGVtNTU7IHR5cGVkZWYgUDU2IGl0ZW01NjsgdHlwZWRlZiBQNTcgaXRlbTU3OyB0eXBlZGVmIFA1OCBpdGVtNTg7IHR5cGVkZWYgUDU5IGl0ZW01OTsgdHlwZWRlZiBQNjAgaXRlbTYwOyB0eXBlZGVmIFA2MSBpdGVtNjE7IHR5cGVkZWYgUDYyIGl0ZW02MjsgdHlwZWRlZiBQNjMgaXRlbTYzOyB0eXBlZGVmIFA2NCBpdGVtNjQ7IHR5cGVkZWYgUDY1IGl0ZW02NTsgdHlwZWRlZiBQNjYgaXRlbTY2OyB0eXBlZGVmIFA2NyBpdGVtNjc7IHR5cGVkZWYgUDY4IGl0ZW02ODsgdHlwZWRlZiBQNjkgaXRlbTY5OyB0eXBlZGVmIFA3MCBpdGVtNzA7IHR5cGVkZWYgUDcxIGl0ZW03MTsgdHlwZWRlZiBQNzIgaXRlbTcyOyB0eXBlZGVmIFA3MyBpdGVtNzM7IHR5cGVkZWYgUDc0IGl0ZW03NDsgdHlwZWRlZiBQNzUgaXRlbTc1OyB0eXBlZGVmIFA3NiBpdGVtNzY7IHR5cGVkZWYgUDc3IGl0ZW03NzsgdHlwZWRlZiBQNzggaXRlbTc4OyB0eXBlZGVmIFA3OSBpdGVtNzk7IHR5cGVkZWYgUDgwIGl0ZW04MDsgdHlwZWRlZiBQODEgaXRlbTgxOyB0eXBlZGVmIFA4MiBpdGVtODI7IHR5cGVkZWYgUDgzIGl0ZW04MzsgdHlwZWRlZiBQODQgaXRlbTg0OyB0eXBlZGVmIFA4NSBpdGVtODU7IHR5cGVkZWYgUDg2IGl0ZW04NjsgdHlwZWRlZiBQODcgaXRlbTg3OyB0eXBlZGVmIFA4OCBpdGVtODg7IHR5cGVkZWYgUDg5IGl0ZW04OTsgdHlwZWRlZiBQOTAgaXRlbTkwOyB0eXBlZGVmIFA5MSBpdGVtOTE7IHR5cGVkZWYgUDkyIGl0ZW05MjsgdHlwZWRlZiBQOTMgaXRlbTkzOyB0eXBlZGVmIFA5NCBpdGVtOTQ7IHR5cGVkZWYgUDk1IGl0ZW05NTsgdHlwZWRlZiBQOTYgaXRlbTk2OyB0eXBlZGVmIFA5NyBpdGVtOTc7IHR5cGVkZWYgUDk4IGl0ZW05ODsgdHlwZWRlZiBQOTkgaXRlbTk5OyB0eXBlZGVmIFAxMDAgaXRlbTEwMDsgdHlwZWRlZiBQMTAxIGl0ZW0xMDE7IHR5cGVkZWYgUDEwMiBpdGVtMTAyOyB0eXBlZGVmIFAxMDMgaXRlbTEwMzsgdHlwZWRlZiBQMTA0IGl0ZW0xMDQ7IHR5cGVkZWYgUDEwNSBpdGVtMTA1OyB0eXBlZGVmIFAxMDYgaXRlbTEwNjsgdHlwZWRlZiBQMTA3IGl0ZW0xMDc7IHR5cGVkZWYgUDEwOCBpdGVtMTA4OyB0eXBlZGVmIFAxMDkgaXRlbTEwOTsgdHlwZWRlZiBQMTEwIGl0ZW0xMTA7IHR5cGVkZWYgUDExMSBpdGVtMTExOyB0eXBlZGVmIFAxMTIgaXRlbTExMjsgdHlwZWRlZiBQMTEzIGl0ZW0xMTM7IHR5cGVkZWYgUDExNCBpdGVtMTE0OyB0eXBlZGVmIFAxMTUgaXRlbTExNTsgdHlwZWRlZiBQMTE2IGl0ZW0xMTY7IHR5cGVkZWYgUDExNyBpdGVtMTE3OyB0eXBlZGVmIFAxMTggaXRlbTExODsgdHlwZWRlZiBQMTE5IGl0ZW0xMTk7IHR5cGVkZWYgUDEyMCBpdGVtMTIwOyB0eXBlZGVmIFAxMjEgaXRlbTEyMTsgdHlwZWRlZiBQMTIyIGl0ZW0xMjI7IHR5cGVkZWYgUDEyMyBpdGVtMTIzOyB0eXBlZGVmIFAxMjQgaXRlbTEyNDsgdHlwZWRlZiBQMTI1IGl0ZW0xMjU7IHR5cGVkZWYgUDEyNiBpdGVtMTI2OyB0eXBlZGVmIFAxMjcgaXRlbTEyNzsgdHlwZWRlZiBQMTI4IGl0ZW0xMjg7IHR5cGVkZWYgUDEyOSBpdGVtMTI5OyB0eXBlZGVmIFAxMzAgaXRlbTEzMDsgdHlwZWRlZiBQMTMxIGl0ZW0xMzE7IHR5cGVkZWYgUDEzMiBpdGVtMTMyOyB0eXBlZGVmIFAxMzMgaXRlbTEzMzsgdHlwZWRlZiBQMTM0IGl0ZW0xMzQ7IHR5cGVkZWYgUDEzNSBpdGVtMTM1OyB0eXBlZGVmIFAxMzYgaXRlbTEzNjsgdHlwZWRlZiBQMTM3IGl0ZW0xMzc7IHR5cGVkZWYgUDEzOCBpdGVtMTM4OyB0eXBlZGVmIFAxMzkgaXRlbTEzOTsgdHlwZWRlZiBQMTQwIGl0ZW0xNDA7IHR5cGVkZWYgUDE0MSBpdGVtMTQxOyB0eXBlZGVmIFAxNDIgaXRlbTE0MjsgdHlwZWRlZiBQMTQzIGl0ZW0xNDM7IHR5cGVkZWYgUDE0NCBpdGVtMTQ0OyB0eXBlZGVmIFAxNDUgaXRlbTE0NTsgdHlwZWRlZiBQMTQ2IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSAsIGNsYXNzIFA4NiAsIGNsYXNzIFA4NyAsIGNsYXNzIFA4OCAsIGNsYXNzIFA4OSAsIGNsYXNzIFA5MCAsIGNsYXNzIFA5MSAsIGNsYXNzIFA5MiAsIGNsYXNzIFA5MyAsIGNsYXNzIFA5NCAsIGNsYXNzIFA5NSAsIGNsYXNzIFA5NiAsIGNsYXNzIFA5NyAsIGNsYXNzIFA5OCAsIGNsYXNzIFA5OSAsIGNsYXNzIFAxMDAgLCBjbGFzcyBQMTAxICwgY2xhc3MgUDEwMiAsIGNsYXNzIFAxMDMgLCBjbGFzcyBQMTA0ICwgY2xhc3MgUDEwNSAsIGNsYXNzIFAxMDYgLCBjbGFzcyBQMTA3ICwgY2xhc3MgUDEwOCAsIGNsYXNzIFAxMDkgLCBjbGFzcyBQMTEwICwgY2xhc3MgUDExMSAsIGNsYXNzIFAxMTIgLCBjbGFzcyBQMTEzICwgY2xhc3MgUDExNCAsIGNsYXNzIFAxMTUgLCBjbGFzcyBQMTE2ICwgY2xhc3MgUDExNyAsIGNsYXNzIFAxMTggLCBjbGFzcyBQMTE5ICwgY2xhc3MgUDEyMCAsIGNsYXNzIFAxMjEgLCBjbGFzcyBQMTIyICwgY2xhc3MgUDEyMyAsIGNsYXNzIFAxMjQgLCBjbGFzcyBQMTI1ICwgY2xhc3MgUDEyNiAsIGNsYXNzIFAxMjcgLCBjbGFzcyBQMTI4ICwgY2xhc3MgUDEyOSAsIGNsYXNzIFAxMzAgLCBjbGFzcyBQMTMxICwgY2xhc3MgUDEzMiAsIGNsYXNzIFAxMzMgLCBjbGFzcyBQMTM0ICwgY2xhc3MgUDEzNSAsIGNsYXNzIFAxMzYgLCBjbGFzcyBQMTM3ICwgY2xhc3MgUDEzOCAsIGNsYXNzIFAxMzkgLCBjbGFzcyBQMTQwICwgY2xhc3MgUDE0MSAsIGNsYXNzIFAxNDIgLCBjbGFzcyBQMTQzICwgY2xhc3MgUDE0NCAsIGNsYXNzIFAxNDUgLCBjbGFzcyBQMTQ2ICwgY2xhc3MgUDE0NyA+IHN0cnVjdCB2ZWN0b3IxNDggeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3IxNDg8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1ICwgUDk2ICwgUDk3ICwgUDk4ICwgUDk5ICwgUDEwMCAsIFAxMDEgLCBQMTAyICwgUDEwMyAsIFAxMDQgLCBQMTA1ICwgUDEwNiAsIFAxMDcgLCBQMTA4ICwgUDEwOSAsIFAxMTAgLCBQMTExICwgUDExMiAsIFAxMTMgLCBQMTE0ICwgUDExNSAsIFAxMTYgLCBQMTE3ICwgUDExOCAsIFAxMTkgLCBQMTIwICwgUDEyMSAsIFAxMjIgLCBQMTIzICwgUDEyNCAsIFAxMjUgLCBQMTI2ICwgUDEyNyAsIFAxMjggLCBQMTI5ICwgUDEzMCAsIFAxMzEgLCBQMTMyICwgUDEzMyAsIFAxMzQgLCBQMTM1ICwgUDEzNiAsIFAxMzcgLCBQMTM4ICwgUDEzOSAsIFAxNDAgLCBQMTQxICwgUDE0MiAsIFAxNDMgLCBQMTQ0ICwgUDE0NSAsIFAxNDYgLCBQMTQ3PiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgUDQxIGl0ZW00MTsgdHlwZWRlZiBQNDIgaXRlbTQyOyB0eXBlZGVmIFA0MyBpdGVtNDM7IHR5cGVkZWYgUDQ0IGl0ZW00NDsgdHlwZWRlZiBQNDUgaXRlbTQ1OyB0eXBlZGVmIFA0NiBpdGVtNDY7IHR5cGVkZWYgUDQ3IGl0ZW00NzsgdHlwZWRlZiBQNDggaXRlbTQ4OyB0eXBlZGVmIFA0OSBpdGVtNDk7IHR5cGVkZWYgUDUwIGl0ZW01MDsgdHlwZWRlZiBQNTEgaXRlbTUxOyB0eXBlZGVmIFA1MiBpdGVtNTI7IHR5cGVkZWYgUDUzIGl0ZW01MzsgdHlwZWRlZiBQNTQgaXRlbTU0OyB0eXBlZGVmIFA1NSBpdGVtNTU7IHR5cGVkZWYgUDU2IGl0ZW01NjsgdHlwZWRlZiBQNTcgaXRlbTU3OyB0eXBlZGVmIFA1OCBpdGVtNTg7IHR5cGVkZWYgUDU5IGl0ZW01OTsgdHlwZWRlZiBQNjAgaXRlbTYwOyB0eXBlZGVmIFA2MSBpdGVtNjE7IHR5cGVkZWYgUDYyIGl0ZW02MjsgdHlwZWRlZiBQNjMgaXRlbTYzOyB0eXBlZGVmIFA2NCBpdGVtNjQ7IHR5cGVkZWYgUDY1IGl0ZW02NTsgdHlwZWRlZiBQNjYgaXRlbTY2OyB0eXBlZGVmIFA2NyBpdGVtNjc7IHR5cGVkZWYgUDY4IGl0ZW02ODsgdHlwZWRlZiBQNjkgaXRlbTY5OyB0eXBlZGVmIFA3MCBpdGVtNzA7IHR5cGVkZWYgUDcxIGl0ZW03MTsgdHlwZWRlZiBQNzIgaXRlbTcyOyB0eXBlZGVmIFA3MyBpdGVtNzM7IHR5cGVkZWYgUDc0IGl0ZW03NDsgdHlwZWRlZiBQNzUgaXRlbTc1OyB0eXBlZGVmIFA3NiBpdGVtNzY7IHR5cGVkZWYgUDc3IGl0ZW03NzsgdHlwZWRlZiBQNzggaXRlbTc4OyB0eXBlZGVmIFA3OSBpdGVtNzk7IHR5cGVkZWYgUDgwIGl0ZW04MDsgdHlwZWRlZiBQODEgaXRlbTgxOyB0eXBlZGVmIFA4MiBpdGVtODI7IHR5cGVkZWYgUDgzIGl0ZW04MzsgdHlwZWRlZiBQODQgaXRlbTg0OyB0eXBlZGVmIFA4NSBpdGVtODU7IHR5cGVkZWYgUDg2IGl0ZW04NjsgdHlwZWRlZiBQODcgaXRlbTg3OyB0eXBlZGVmIFA4OCBpdGVtODg7IHR5cGVkZWYgUDg5IGl0ZW04OTsgdHlwZWRlZiBQOTAgaXRlbTkwOyB0eXBlZGVmIFA5MSBpdGVtOTE7IHR5cGVkZWYgUDkyIGl0ZW05MjsgdHlwZWRlZiBQOTMgaXRlbTkzOyB0eXBlZGVmIFA5NCBpdGVtOTQ7IHR5cGVkZWYgUDk1IGl0ZW05NTsgdHlwZWRlZiBQOTYgaXRlbTk2OyB0eXBlZGVmIFA5NyBpdGVtOTc7IHR5cGVkZWYgUDk4IGl0ZW05ODsgdHlwZWRlZiBQOTkgaXRlbTk5OyB0eXBlZGVmIFAxMDAgaXRlbTEwMDsgdHlwZWRlZiBQMTAxIGl0ZW0xMDE7IHR5cGVkZWYgUDEwMiBpdGVtMTAyOyB0eXBlZGVmIFAxMDMgaXRlbTEwMzsgdHlwZWRlZiBQMTA0IGl0ZW0xMDQ7IHR5cGVkZWYgUDEwNSBpdGVtMTA1OyB0eXBlZGVmIFAxMDYgaXRlbTEwNjsgdHlwZWRlZiBQMTA3IGl0ZW0xMDc7IHR5cGVkZWYgUDEwOCBpdGVtMTA4OyB0eXBlZGVmIFAxMDkgaXRlbTEwOTsgdHlwZWRlZiBQMTEwIGl0ZW0xMTA7IHR5cGVkZWYgUDExMSBpdGVtMTExOyB0eXBlZGVmIFAxMTIgaXRlbTExMjsgdHlwZWRlZiBQMTEzIGl0ZW0xMTM7IHR5cGVkZWYgUDExNCBpdGVtMTE0OyB0eXBlZGVmIFAxMTUgaXRlbTExNTsgdHlwZWRlZiBQMTE2IGl0ZW0xMTY7IHR5cGVkZWYgUDExNyBpdGVtMTE3OyB0eXBlZGVmIFAxMTggaXRlbTExODsgdHlwZWRlZiBQMTE5IGl0ZW0xMTk7IHR5cGVkZWYgUDEyMCBpdGVtMTIwOyB0eXBlZGVmIFAxMjEgaXRlbTEyMTsgdHlwZWRlZiBQMTIyIGl0ZW0xMjI7IHR5cGVkZWYgUDEyMyBpdGVtMTIzOyB0eXBlZGVmIFAxMjQgaXRlbTEyNDsgdHlwZWRlZiBQMTI1IGl0ZW0xMjU7IHR5cGVkZWYgUDEyNiBpdGVtMTI2OyB0eXBlZGVmIFAxMjcgaXRlbTEyNzsgdHlwZWRlZiBQMTI4IGl0ZW0xMjg7IHR5cGVkZWYgUDEyOSBpdGVtMTI5OyB0eXBlZGVmIFAxMzAgaXRlbTEzMDsgdHlwZWRlZiBQMTMxIGl0ZW0xMzE7IHR5cGVkZWYgUDEzMiBpdGVtMTMyOyB0eXBlZGVmIFAxMzMgaXRlbTEzMzsgdHlwZWRlZiBQMTM0IGl0ZW0xMzQ7IHR5cGVkZWYgUDEzNSBpdGVtMTM1OyB0eXBlZGVmIFAxMzYgaXRlbTEzNjsgdHlwZWRlZiBQMTM3IGl0ZW0xMzc7IHR5cGVkZWYgUDEzOCBpdGVtMTM4OyB0eXBlZGVmIFAxMzkgaXRlbTEzOTsgdHlwZWRlZiBQMTQwIGl0ZW0xNDA7IHR5cGVkZWYgUDE0MSBpdGVtMTQxOyB0eXBlZGVmIFAxNDIgaXRlbTE0MjsgdHlwZWRlZiBQMTQzIGl0ZW0xNDM7IHR5cGVkZWYgUDE0NCBpdGVtMTQ0OyB0eXBlZGVmIFAxNDUgaXRlbTE0NTsgdHlwZWRlZiBQMTQ2IGl0ZW0xNDY7IHR5cGVkZWYgUDE0NyBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBQOTMgLCBjbGFzcyBQOTQgLCBjbGFzcyBQOTUgLCBjbGFzcyBQOTYgLCBjbGFzcyBQOTcgLCBjbGFzcyBQOTggLCBjbGFzcyBQOTkgLCBjbGFzcyBQMTAwICwgY2xhc3MgUDEwMSAsIGNsYXNzIFAxMDIgLCBjbGFzcyBQMTAzICwgY2xhc3MgUDEwNCAsIGNsYXNzIFAxMDUgLCBjbGFzcyBQMTA2ICwgY2xhc3MgUDEwNyAsIGNsYXNzIFAxMDggLCBjbGFzcyBQMTA5ICwgY2xhc3MgUDExMCAsIGNsYXNzIFAxMTEgLCBjbGFzcyBQMTEyICwgY2xhc3MgUDExMyAsIGNsYXNzIFAxMTQgLCBjbGFzcyBQMTE1ICwgY2xhc3MgUDExNiAsIGNsYXNzIFAxMTcgLCBjbGFzcyBQMTE4ICwgY2xhc3MgUDExOSAsIGNsYXNzIFAxMjAgLCBjbGFzcyBQMTIxICwgY2xhc3MgUDEyMiAsIGNsYXNzIFAxMjMgLCBjbGFzcyBQMTI0ICwgY2xhc3MgUDEyNSAsIGNsYXNzIFAxMjYgLCBjbGFzcyBQMTI3ICwgY2xhc3MgUDEyOCAsIGNsYXNzIFAxMjkgLCBjbGFzcyBQMTMwICwgY2xhc3MgUDEzMSAsIGNsYXNzIFAxMzIgLCBjbGFzcyBQMTMzICwgY2xhc3MgUDEzNCAsIGNsYXNzIFAxMzUgLCBjbGFzcyBQMTM2ICwgY2xhc3MgUDEzNyAsIGNsYXNzIFAxMzggLCBjbGFzcyBQMTM5ICwgY2xhc3MgUDE0MCAsIGNsYXNzIFAxNDEgLCBjbGFzcyBQMTQyICwgY2xhc3MgUDE0MyAsIGNsYXNzIFAxNDQgLCBjbGFzcyBQMTQ1ICwgY2xhc3MgUDE0NiAsIGNsYXNzIFAxNDcgLCBjbGFzcyBQMTQ4ID4gc3RydWN0IHZlY3RvcjE0OSB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjE0OTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MCAsIFAxNDEgLCBQMTQyICwgUDE0MyAsIFAxNDQgLCBQMTQ1ICwgUDE0NiAsIFAxNDcgLCBQMTQ4PiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgUDQxIGl0ZW00MTsgdHlwZWRlZiBQNDIgaXRlbTQyOyB0eXBlZGVmIFA0MyBpdGVtNDM7IHR5cGVkZWYgUDQ0IGl0ZW00NDsgdHlwZWRlZiBQNDUgaXRlbTQ1OyB0eXBlZGVmIFA0NiBpdGVtNDY7IHR5cGVkZWYgUDQ3IGl0ZW00NzsgdHlwZWRlZiBQNDggaXRlbTQ4OyB0eXBlZGVmIFA0OSBpdGVtNDk7IHR5cGVkZWYgUDUwIGl0ZW01MDsgdHlwZWRlZiBQNTEgaXRlbTUxOyB0eXBlZGVmIFA1MiBpdGVtNTI7IHR5cGVkZWYgUDUzIGl0ZW01MzsgdHlwZWRlZiBQNTQgaXRlbTU0OyB0eXBlZGVmIFA1NSBpdGVtNTU7IHR5cGVkZWYgUDU2IGl0ZW01NjsgdHlwZWRlZiBQNTcgaXRlbTU3OyB0eXBlZGVmIFA1OCBpdGVtNTg7IHR5cGVkZWYgUDU5IGl0ZW01OTsgdHlwZWRlZiBQNjAgaXRlbTYwOyB0eXBlZGVmIFA2MSBpdGVtNjE7IHR5cGVkZWYgUDYyIGl0ZW02MjsgdHlwZWRlZiBQNjMgaXRlbTYzOyB0eXBlZGVmIFA2NCBpdGVtNjQ7IHR5cGVkZWYgUDY1IGl0ZW02NTsgdHlwZWRlZiBQNjYgaXRlbTY2OyB0eXBlZGVmIFA2NyBpdGVtNjc7IHR5cGVkZWYgUDY4IGl0ZW02ODsgdHlwZWRlZiBQNjkgaXRlbTY5OyB0eXBlZGVmIFA3MCBpdGVtNzA7IHR5cGVkZWYgUDcxIGl0ZW03MTsgdHlwZWRlZiBQNzIgaXRlbTcyOyB0eXBlZGVmIFA3MyBpdGVtNzM7IHR5cGVkZWYgUDc0IGl0ZW03NDsgdHlwZWRlZiBQNzUgaXRlbTc1OyB0eXBlZGVmIFA3NiBpdGVtNzY7IHR5cGVkZWYgUDc3IGl0ZW03NzsgdHlwZWRlZiBQNzggaXRlbTc4OyB0eXBlZGVmIFA3OSBpdGVtNzk7IHR5cGVkZWYgUDgwIGl0ZW04MDsgdHlwZWRlZiBQODEgaXRlbTgxOyB0eXBlZGVmIFA4MiBpdGVtODI7IHR5cGVkZWYgUDgzIGl0ZW04MzsgdHlwZWRlZiBQODQgaXRlbTg0OyB0eXBlZGVmIFA4NSBpdGVtODU7IHR5cGVkZWYgUDg2IGl0ZW04NjsgdHlwZWRlZiBQODcgaXRlbTg3OyB0eXBlZGVmIFA4OCBpdGVtODg7IHR5cGVkZWYgUDg5IGl0ZW04OTsgdHlwZWRlZiBQOTAgaXRlbTkwOyB0eXBlZGVmIFA5MSBpdGVtOTE7IHR5cGVkZWYgUDkyIGl0ZW05MjsgdHlwZWRlZiBQOTMgaXRlbTkzOyB0eXBlZGVmIFA5NCBpdGVtOTQ7IHR5cGVkZWYgUDk1IGl0ZW05NTsgdHlwZWRlZiBQOTYgaXRlbTk2OyB0eXBlZGVmIFA5NyBpdGVtOTc7IHR5cGVkZWYgUDk4IGl0ZW05ODsgdHlwZWRlZiBQOTkgaXRlbTk5OyB0eXBlZGVmIFAxMDAgaXRlbTEwMDsgdHlwZWRlZiBQMTAxIGl0ZW0xMDE7IHR5cGVkZWYgUDEwMiBpdGVtMTAyOyB0eXBlZGVmIFAxMDMgaXRlbTEwMzsgdHlwZWRlZiBQMTA0IGl0ZW0xMDQ7IHR5cGVkZWYgUDEwNSBpdGVtMTA1OyB0eXBlZGVmIFAxMDYgaXRlbTEwNjsgdHlwZWRlZiBQMTA3IGl0ZW0xMDc7IHR5cGVkZWYgUDEwOCBpdGVtMTA4OyB0eXBlZGVmIFAxMDkgaXRlbTEwOTsgdHlwZWRlZiBQMTEwIGl0ZW0xMTA7IHR5cGVkZWYgUDExMSBpdGVtMTExOyB0eXBlZGVmIFAxMTIgaXRlbTExMjsgdHlwZWRlZiBQMTEzIGl0ZW0xMTM7IHR5cGVkZWYgUDExNCBpdGVtMTE0OyB0eXBlZGVmIFAxMTUgaXRlbTExNTsgdHlwZWRlZiBQMTE2IGl0ZW0xMTY7IHR5cGVkZWYgUDExNyBpdGVtMTE3OyB0eXBlZGVmIFAxMTggaXRlbTExODsgdHlwZWRlZiBQMTE5IGl0ZW0xMTk7IHR5cGVkZWYgUDEyMCBpdGVtMTIwOyB0eXBlZGVmIFAxMjEgaXRlbTEyMTsgdHlwZWRlZiBQMTIyIGl0ZW0xMjI7IHR5cGVkZWYgUDEyMyBpdGVtMTIzOyB0eXBlZGVmIFAxMjQgaXRlbTEyNDsgdHlwZWRlZiBQMTI1IGl0ZW0xMjU7IHR5cGVkZWYgUDEyNiBpdGVtMTI2OyB0eXBlZGVmIFAxMjcgaXRlbTEyNzsgdHlwZWRlZiBQMTI4IGl0ZW0xMjg7IHR5cGVkZWYgUDEyOSBpdGVtMTI5OyB0eXBlZGVmIFAxMzAgaXRlbTEzMDsgdHlwZWRlZiBQMTMxIGl0ZW0xMzE7IHR5cGVkZWYgUDEzMiBpdGVtMTMyOyB0eXBlZGVmIFAxMzMgaXRlbTEzMzsgdHlwZWRlZiBQMTM0IGl0ZW0xMzQ7IHR5cGVkZWYgUDEzNSBpdGVtMTM1OyB0eXBlZGVmIFAxMzYgaXRlbTEzNjsgdHlwZWRlZiBQMTM3IGl0ZW0xMzc7IHR5cGVkZWYgUDEzOCBpdGVtMTM4OyB0eXBlZGVmIFAxMzkgaXRlbTEzOTsgdHlwZWRlZiBQMTQwIGl0ZW0xNDA7IHR5cGVkZWYgUDE0MSBpdGVtMTQxOyB0eXBlZGVmIFAxNDIgaXRlbTE0MjsgdHlwZWRlZiBQMTQzIGl0ZW0xNDM7IHR5cGVkZWYgUDE0NCBpdGVtMTQ0OyB0eXBlZGVmIFAxNDUgaXRlbTE0NTsgdHlwZWRlZiBQMTQ2IGl0ZW0xNDY7IHR5cGVkZWYgUDE0NyBpdGVtMTQ3OyB0eXBlZGVmIFAxNDggaXRlbTE0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5ODsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ICwgY2xhc3MgUDk2ICwgY2xhc3MgUDk3ICwgY2xhc3MgUDk4ICwgY2xhc3MgUDk5ICwgY2xhc3MgUDEwMCAsIGNsYXNzIFAxMDEgLCBjbGFzcyBQMTAyICwgY2xhc3MgUDEwMyAsIGNsYXNzIFAxMDQgLCBjbGFzcyBQMTA1ICwgY2xhc3MgUDEwNiAsIGNsYXNzIFAxMDcgLCBjbGFzcyBQMTA4ICwgY2xhc3MgUDEwOSAsIGNsYXNzIFAxMTAgLCBjbGFzcyBQMTExICwgY2xhc3MgUDExMiAsIGNsYXNzIFAxMTMgLCBjbGFzcyBQMTE0ICwgY2xhc3MgUDExNSAsIGNsYXNzIFAxMTYgLCBjbGFzcyBQMTE3ICwgY2xhc3MgUDExOCAsIGNsYXNzIFAxMTkgLCBjbGFzcyBQMTIwICwgY2xhc3MgUDEyMSAsIGNsYXNzIFAxMjIgLCBjbGFzcyBQMTIzICwgY2xhc3MgUDEyNCAsIGNsYXNzIFAxMjUgLCBjbGFzcyBQMTI2ICwgY2xhc3MgUDEyNyAsIGNsYXNzIFAxMjggLCBjbGFzcyBQMTI5ICwgY2xhc3MgUDEzMCAsIGNsYXNzIFAxMzEgLCBjbGFzcyBQMTMyICwgY2xhc3MgUDEzMyAsIGNsYXNzIFAxMzQgLCBjbGFzcyBQMTM1ICwgY2xhc3MgUDEzNiAsIGNsYXNzIFAxMzcgLCBjbGFzcyBQMTM4ICwgY2xhc3MgUDEzOSAsIGNsYXNzIFAxNDAgLCBjbGFzcyBQMTQxICwgY2xhc3MgUDE0MiAsIGNsYXNzIFAxNDMgLCBjbGFzcyBQMTQ0ICwgY2xhc3MgUDE0NSAsIGNsYXNzIFAxNDYgLCBjbGFzcyBQMTQ3ICwgY2xhc3MgUDE0OCAsIGNsYXNzIFAxNDkgPiBzdHJ1Y3QgdmVjdG9yMTUwIHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yMTUwPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFA5MiAsIFA5MyAsIFA5NCAsIFA5NSAsIFA5NiAsIFA5NyAsIFA5OCAsIFA5OSAsIFAxMDAgLCBQMTAxICwgUDEwMiAsIFAxMDMgLCBQMTA0ICwgUDEwNSAsIFAxMDYgLCBQMTA3ICwgUDEwOCAsIFAxMDkgLCBQMTEwICwgUDExMSAsIFAxMTIgLCBQMTEzICwgUDExNCAsIFAxMTUgLCBQMTE2ICwgUDExNyAsIFAxMTggLCBQMTE5ICwgUDEyMCAsIFAxMjEgLCBQMTIyICwgUDEyMyAsIFAxMjQgLCBQMTI1ICwgUDEyNiAsIFAxMjcgLCBQMTI4ICwgUDEyOSAsIFAxMzAgLCBQMTMxICwgUDEzMiAsIFAxMzMgLCBQMTM0ICwgUDEzNSAsIFAxMzYgLCBQMTM3ICwgUDEzOCAsIFAxMzkgLCBQMTQwICwgUDE0MSAsIFAxNDIgLCBQMTQzICwgUDE0NCAsIFAxNDUgLCBQMTQ2ICwgUDE0NyAsIFAxNDggLCBQMTQ5PiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgUDQxIGl0ZW00MTsgdHlwZWRlZiBQNDIgaXRlbTQyOyB0eXBlZGVmIFA0MyBpdGVtNDM7IHR5cGVkZWYgUDQ0IGl0ZW00NDsgdHlwZWRlZiBQNDUgaXRlbTQ1OyB0eXBlZGVmIFA0NiBpdGVtNDY7IHR5cGVkZWYgUDQ3IGl0ZW00NzsgdHlwZWRlZiBQNDggaXRlbTQ4OyB0eXBlZGVmIFA0OSBpdGVtNDk7IHR5cGVkZWYgUDUwIGl0ZW01MDsgdHlwZWRlZiBQNTEgaXRlbTUxOyB0eXBlZGVmIFA1MiBpdGVtNTI7IHR5cGVkZWYgUDUzIGl0ZW01MzsgdHlwZWRlZiBQNTQgaXRlbTU0OyB0eXBlZGVmIFA1NSBpdGVtNTU7IHR5cGVkZWYgUDU2IGl0ZW01NjsgdHlwZWRlZiBQNTcgaXRlbTU3OyB0eXBlZGVmIFA1OCBpdGVtNTg7IHR5cGVkZWYgUDU5IGl0ZW01OTsgdHlwZWRlZiBQNjAgaXRlbTYwOyB0eXBlZGVmIFA2MSBpdGVtNjE7IHR5cGVkZWYgUDYyIGl0ZW02MjsgdHlwZWRlZiBQNjMgaXRlbTYzOyB0eXBlZGVmIFA2NCBpdGVtNjQ7IHR5cGVkZWYgUDY1IGl0ZW02NTsgdHlwZWRlZiBQNjYgaXRlbTY2OyB0eXBlZGVmIFA2NyBpdGVtNjc7IHR5cGVkZWYgUDY4IGl0ZW02ODsgdHlwZWRlZiBQNjkgaXRlbTY5OyB0eXBlZGVmIFA3MCBpdGVtNzA7IHR5cGVkZWYgUDcxIGl0ZW03MTsgdHlwZWRlZiBQNzIgaXRlbTcyOyB0eXBlZGVmIFA3MyBpdGVtNzM7IHR5cGVkZWYgUDc0IGl0ZW03NDsgdHlwZWRlZiBQNzUgaXRlbTc1OyB0eXBlZGVmIFA3NiBpdGVtNzY7IHR5cGVkZWYgUDc3IGl0ZW03NzsgdHlwZWRlZiBQNzggaXRlbTc4OyB0eXBlZGVmIFA3OSBpdGVtNzk7IHR5cGVkZWYgUDgwIGl0ZW04MDsgdHlwZWRlZiBQODEgaXRlbTgxOyB0eXBlZGVmIFA4MiBpdGVtODI7IHR5cGVkZWYgUDgzIGl0ZW04MzsgdHlwZWRlZiBQODQgaXRlbTg0OyB0eXBlZGVmIFA4NSBpdGVtODU7IHR5cGVkZWYgUDg2IGl0ZW04NjsgdHlwZWRlZiBQODcgaXRlbTg3OyB0eXBlZGVmIFA4OCBpdGVtODg7IHR5cGVkZWYgUDg5IGl0ZW04OTsgdHlwZWRlZiBQOTAgaXRlbTkwOyB0eXBlZGVmIFA5MSBpdGVtOTE7IHR5cGVkZWYgUDkyIGl0ZW05MjsgdHlwZWRlZiBQOTMgaXRlbTkzOyB0eXBlZGVmIFA5NCBpdGVtOTQ7IHR5cGVkZWYgUDk1IGl0ZW05NTsgdHlwZWRlZiBQOTYgaXRlbTk2OyB0eXBlZGVmIFA5NyBpdGVtOTc7IHR5cGVkZWYgUDk4IGl0ZW05ODsgdHlwZWRlZiBQOTkgaXRlbTk5OyB0eXBlZGVmIFAxMDAgaXRlbTEwMDsgdHlwZWRlZiBQMTAxIGl0ZW0xMDE7IHR5cGVkZWYgUDEwMiBpdGVtMTAyOyB0eXBlZGVmIFAxMDMgaXRlbTEwMzsgdHlwZWRlZiBQMTA0IGl0ZW0xMDQ7IHR5cGVkZWYgUDEwNSBpdGVtMTA1OyB0eXBlZGVmIFAxMDYgaXRlbTEwNjsgdHlwZWRlZiBQMTA3IGl0ZW0xMDc7IHR5cGVkZWYgUDEwOCBpdGVtMTA4OyB0eXBlZGVmIFAxMDkgaXRlbTEwOTsgdHlwZWRlZiBQMTEwIGl0ZW0xMTA7IHR5cGVkZWYgUDExMSBpdGVtMTExOyB0eXBlZGVmIFAxMTIgaXRlbTExMjsgdHlwZWRlZiBQMTEzIGl0ZW0xMTM7IHR5cGVkZWYgUDExNCBpdGVtMTE0OyB0eXBlZGVmIFAxMTUgaXRlbTExNTsgdHlwZWRlZiBQMTE2IGl0ZW0xMTY7IHR5cGVkZWYgUDExNyBpdGVtMTE3OyB0eXBlZGVmIFAxMTggaXRlbTExODsgdHlwZWRlZiBQMTE5IGl0ZW0xMTk7IHR5cGVkZWYgUDEyMCBpdGVtMTIwOyB0eXBlZGVmIFAxMjEgaXRlbTEyMTsgdHlwZWRlZiBQMTIyIGl0ZW0xMjI7IHR5cGVkZWYgUDEyMyBpdGVtMTIzOyB0eXBlZGVmIFAxMjQgaXRlbTEyNDsgdHlwZWRlZiBQMTI1IGl0ZW0xMjU7IHR5cGVkZWYgUDEyNiBpdGVtMTI2OyB0eXBlZGVmIFAxMjcgaXRlbTEyNzsgdHlwZWRlZiBQMTI4IGl0ZW0xMjg7IHR5cGVkZWYgUDEyOSBpdGVtMTI5OyB0eXBlZGVmIFAxMzAgaXRlbTEzMDsgdHlwZWRlZiBQMTMxIGl0ZW0xMzE7IHR5cGVkZWYgUDEzMiBpdGVtMTMyOyB0eXBlZGVmIFAxMzMgaXRlbTEzMzsgdHlwZWRlZiBQMTM0IGl0ZW0xMzQ7IHR5cGVkZWYgUDEzNSBpdGVtMTM1OyB0eXBlZGVmIFAxMzYgaXRlbTEzNjsgdHlwZWRlZiBQMTM3IGl0ZW0xMzc7IHR5cGVkZWYgUDEzOCBpdGVtMTM4OyB0eXBlZGVmIFAxMzkgaXRlbTEzOTsgdHlwZWRlZiBQMTQwIGl0ZW0xNDA7IHR5cGVkZWYgUDE0MSBpdGVtMTQxOyB0eXBlZGVmIFAxNDIgaXRlbTE0MjsgdHlwZWRlZiBQMTQzIGl0ZW0xNDM7IHR5cGVkZWYgUDE0NCBpdGVtMTQ0OyB0eXBlZGVmIFAxNDUgaXRlbTE0NTsgdHlwZWRlZiBQMTQ2IGl0ZW0xNDY7IHR5cGVkZWYgUDE0NyBpdGVtMTQ3OyB0eXBlZGVmIFAxNDggaXRlbTE0ODsgdHlwZWRlZiBQMTQ5IGl0ZW0xNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IH07Cit9fQorbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIHR5cGVfb2YgeworICAgIHRlbXBsYXRlPGNsYXNzIFYsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2sgeworICAgICAgICB0eXBlZGVmIFYgdHlwZTsKKyAgICB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMDw+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjE8IFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IxPCBQMD4sIFQ+IHsgdHlwZWRlZiBuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMjwgUDAgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IyPCBQMCAsIFAxPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IzPCBQMCAsIFAxICwgVCA+IHR5cGU7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IzPCBQMCAsIFAxICwgUDI+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjQ8IFAwICwgUDEgLCBQMiAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I0PCBQMCAsIFAxICwgUDIgLCBQMz4sIFQ+IHsgdHlwZWRlZiBuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yNTwgUDAgLCBQMSAsIFAyICwgUDMgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I1PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I2PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgVCA+IHR5cGU7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I2PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDU+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3Rvcjc8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I3PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNj4sIFQ+IHsgdHlwZWRlZiBuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yODwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I4PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I5PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgVCA+IHR5cGU7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I5PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDg+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjEwPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMTA8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IxMTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMTE8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IxMjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMTI8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IxMzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMTM8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IxNDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMTQ8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IxNTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMTU8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IxNjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMTY8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IxNzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMTc8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IxODwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMTg8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IxOTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMTk8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IyMDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMjA8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IyMTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMjE8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IyMjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMjI8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IyMzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMjM8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IyNDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMjQ8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IyNTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMjU8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IyNjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMjY8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IyNzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMjc8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IyODwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMjg8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IyOTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMjk8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IzMDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMzA8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IzMTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMzE8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IzMjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMzI8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IzMzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMzM8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IzNDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMzQ8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IzNTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMzU8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IzNjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMzY8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IzNzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMzc8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IzODwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMzg8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IzOTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMzk8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I0MDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yNDA8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I0MTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yNDE8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I0MjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yNDI8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I0MzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yNDM8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I0NDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yNDQ8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I0NTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yNDU8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I0NjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yNDY8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I0NzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yNDc8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I0ODwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yNDg8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I0OTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yNDk8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I1MDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yNTA8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I1MTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yNTE8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I1MjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yNTI8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I1MzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yNTM8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I1NDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yNTQ8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I1NTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yNTU8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I1NjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yNTY8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I1NzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yNTc8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I1ODwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yNTg8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I1OTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yNTk8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I2MDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yNjA8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I2MTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yNjE8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I2MjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yNjI8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I2MzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yNjM8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I2NDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yNjQ8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I2NTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yNjU8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I2NjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yNjY8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I2NzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yNjc8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I2ODwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yNjg8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I2OTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yNjk8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I3MDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yNzA8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I3MTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yNzE8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I3MjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yNzI8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I3MzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yNzM8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I3NDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yNzQ8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I3NTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yNzU8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I3NjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yNzY8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I3NzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yNzc8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I3ODwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yNzg8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I3OTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yNzk8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I4MDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yODA8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I4MTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yODE8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I4MjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yODI8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I4MzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yODM8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I4NDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yODQ8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I4NTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yODU8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I4NjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yODY8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I4NzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yODc8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I4ODwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yODg8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I4OTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yODk8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I5MDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yOTA8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I5MTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yOTE8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I5MjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yOTI8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I5MzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yOTM8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I5NDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yOTQ8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I5NTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yOTU8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I5NjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yOTY8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I5NzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ICwgY2xhc3MgUDk2ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yOTc8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1ICwgUDk2PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I5ODwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ICwgY2xhc3MgUDk2ICwgY2xhc3MgUDk3ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yOTg8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1ICwgUDk2ICwgUDk3PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I5OTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ICwgY2xhc3MgUDk2ICwgY2xhc3MgUDk3ICwgY2xhc3MgUDk4ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yOTk8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1ICwgUDk2ICwgUDk3ICwgUDk4PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IxMDA8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1ICwgUDk2ICwgUDk3ICwgUDk4ICwgVCA+IHR5cGU7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSAsIGNsYXNzIFA4NiAsIGNsYXNzIFA4NyAsIGNsYXNzIFA4OCAsIGNsYXNzIFA4OSAsIGNsYXNzIFA5MCAsIGNsYXNzIFA5MSAsIGNsYXNzIFA5MiAsIGNsYXNzIFA5MyAsIGNsYXNzIFA5NCAsIGNsYXNzIFA5NSAsIGNsYXNzIFA5NiAsIGNsYXNzIFA5NyAsIGNsYXNzIFA5OCAsIGNsYXNzIFA5OSAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjEwMDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTk+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjEwMTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ICwgY2xhc3MgUDk2ICwgY2xhc3MgUDk3ICwgY2xhc3MgUDk4ICwgY2xhc3MgUDk5ICwgY2xhc3MgUDEwMCAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjEwMTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IxMDI8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1ICwgUDk2ICwgUDk3ICwgUDk4ICwgUDk5ICwgUDEwMCAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBQOTMgLCBjbGFzcyBQOTQgLCBjbGFzcyBQOTUgLCBjbGFzcyBQOTYgLCBjbGFzcyBQOTcgLCBjbGFzcyBQOTggLCBjbGFzcyBQOTkgLCBjbGFzcyBQMTAwICwgY2xhc3MgUDEwMSAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjEwMjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMT4sIFQ+IHsgdHlwZWRlZiBuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMTAzPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFA5MiAsIFA5MyAsIFA5NCAsIFA5NSAsIFA5NiAsIFA5NyAsIFA5OCAsIFA5OSAsIFAxMDAgLCBQMTAxICwgVCA+IHR5cGU7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSAsIGNsYXNzIFA4NiAsIGNsYXNzIFA4NyAsIGNsYXNzIFA4OCAsIGNsYXNzIFA4OSAsIGNsYXNzIFA5MCAsIGNsYXNzIFA5MSAsIGNsYXNzIFA5MiAsIGNsYXNzIFA5MyAsIGNsYXNzIFA5NCAsIGNsYXNzIFA5NSAsIGNsYXNzIFA5NiAsIGNsYXNzIFA5NyAsIGNsYXNzIFA5OCAsIGNsYXNzIFA5OSAsIGNsYXNzIFAxMDAgLCBjbGFzcyBQMTAxICwgY2xhc3MgUDEwMiAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjEwMzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDI+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjEwNDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ICwgY2xhc3MgUDk2ICwgY2xhc3MgUDk3ICwgY2xhc3MgUDk4ICwgY2xhc3MgUDk5ICwgY2xhc3MgUDEwMCAsIGNsYXNzIFAxMDEgLCBjbGFzcyBQMTAyICwgY2xhc3MgUDEwMyAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjEwNDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IxMDU8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1ICwgUDk2ICwgUDk3ICwgUDk4ICwgUDk5ICwgUDEwMCAsIFAxMDEgLCBQMTAyICwgUDEwMyAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBQOTMgLCBjbGFzcyBQOTQgLCBjbGFzcyBQOTUgLCBjbGFzcyBQOTYgLCBjbGFzcyBQOTcgLCBjbGFzcyBQOTggLCBjbGFzcyBQOTkgLCBjbGFzcyBQMTAwICwgY2xhc3MgUDEwMSAsIGNsYXNzIFAxMDIgLCBjbGFzcyBQMTAzICwgY2xhc3MgUDEwNCAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjEwNTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwND4sIFQ+IHsgdHlwZWRlZiBuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMTA2PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFA5MiAsIFA5MyAsIFA5NCAsIFA5NSAsIFA5NiAsIFA5NyAsIFA5OCAsIFA5OSAsIFAxMDAgLCBQMTAxICwgUDEwMiAsIFAxMDMgLCBQMTA0ICwgVCA+IHR5cGU7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSAsIGNsYXNzIFA4NiAsIGNsYXNzIFA4NyAsIGNsYXNzIFA4OCAsIGNsYXNzIFA4OSAsIGNsYXNzIFA5MCAsIGNsYXNzIFA5MSAsIGNsYXNzIFA5MiAsIGNsYXNzIFA5MyAsIGNsYXNzIFA5NCAsIGNsYXNzIFA5NSAsIGNsYXNzIFA5NiAsIGNsYXNzIFA5NyAsIGNsYXNzIFA5OCAsIGNsYXNzIFA5OSAsIGNsYXNzIFAxMDAgLCBjbGFzcyBQMTAxICwgY2xhc3MgUDEwMiAsIGNsYXNzIFAxMDMgLCBjbGFzcyBQMTA0ICwgY2xhc3MgUDEwNSAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjEwNjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDU+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjEwNzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ICwgY2xhc3MgUDk2ICwgY2xhc3MgUDk3ICwgY2xhc3MgUDk4ICwgY2xhc3MgUDk5ICwgY2xhc3MgUDEwMCAsIGNsYXNzIFAxMDEgLCBjbGFzcyBQMTAyICwgY2xhc3MgUDEwMyAsIGNsYXNzIFAxMDQgLCBjbGFzcyBQMTA1ICwgY2xhc3MgUDEwNiAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjEwNzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IxMDg8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1ICwgUDk2ICwgUDk3ICwgUDk4ICwgUDk5ICwgUDEwMCAsIFAxMDEgLCBQMTAyICwgUDEwMyAsIFAxMDQgLCBQMTA1ICwgUDEwNiAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBQOTMgLCBjbGFzcyBQOTQgLCBjbGFzcyBQOTUgLCBjbGFzcyBQOTYgLCBjbGFzcyBQOTcgLCBjbGFzcyBQOTggLCBjbGFzcyBQOTkgLCBjbGFzcyBQMTAwICwgY2xhc3MgUDEwMSAsIGNsYXNzIFAxMDIgLCBjbGFzcyBQMTAzICwgY2xhc3MgUDEwNCAsIGNsYXNzIFAxMDUgLCBjbGFzcyBQMTA2ICwgY2xhc3MgUDEwNyAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjEwODwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNz4sIFQ+IHsgdHlwZWRlZiBuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMTA5PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFA5MiAsIFA5MyAsIFA5NCAsIFA5NSAsIFA5NiAsIFA5NyAsIFA5OCAsIFA5OSAsIFAxMDAgLCBQMTAxICwgUDEwMiAsIFAxMDMgLCBQMTA0ICwgUDEwNSAsIFAxMDYgLCBQMTA3ICwgVCA+IHR5cGU7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSAsIGNsYXNzIFA4NiAsIGNsYXNzIFA4NyAsIGNsYXNzIFA4OCAsIGNsYXNzIFA4OSAsIGNsYXNzIFA5MCAsIGNsYXNzIFA5MSAsIGNsYXNzIFA5MiAsIGNsYXNzIFA5MyAsIGNsYXNzIFA5NCAsIGNsYXNzIFA5NSAsIGNsYXNzIFA5NiAsIGNsYXNzIFA5NyAsIGNsYXNzIFA5OCAsIGNsYXNzIFA5OSAsIGNsYXNzIFAxMDAgLCBjbGFzcyBQMTAxICwgY2xhc3MgUDEwMiAsIGNsYXNzIFAxMDMgLCBjbGFzcyBQMTA0ICwgY2xhc3MgUDEwNSAsIGNsYXNzIFAxMDYgLCBjbGFzcyBQMTA3ICwgY2xhc3MgUDEwOCAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjEwOTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDg+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjExMDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ICwgY2xhc3MgUDk2ICwgY2xhc3MgUDk3ICwgY2xhc3MgUDk4ICwgY2xhc3MgUDk5ICwgY2xhc3MgUDEwMCAsIGNsYXNzIFAxMDEgLCBjbGFzcyBQMTAyICwgY2xhc3MgUDEwMyAsIGNsYXNzIFAxMDQgLCBjbGFzcyBQMTA1ICwgY2xhc3MgUDEwNiAsIGNsYXNzIFAxMDcgLCBjbGFzcyBQMTA4ICwgY2xhc3MgUDEwOSAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjExMDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IxMTE8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1ICwgUDk2ICwgUDk3ICwgUDk4ICwgUDk5ICwgUDEwMCAsIFAxMDEgLCBQMTAyICwgUDEwMyAsIFAxMDQgLCBQMTA1ICwgUDEwNiAsIFAxMDcgLCBQMTA4ICwgUDEwOSAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBQOTMgLCBjbGFzcyBQOTQgLCBjbGFzcyBQOTUgLCBjbGFzcyBQOTYgLCBjbGFzcyBQOTcgLCBjbGFzcyBQOTggLCBjbGFzcyBQOTkgLCBjbGFzcyBQMTAwICwgY2xhc3MgUDEwMSAsIGNsYXNzIFAxMDIgLCBjbGFzcyBQMTAzICwgY2xhc3MgUDEwNCAsIGNsYXNzIFAxMDUgLCBjbGFzcyBQMTA2ICwgY2xhc3MgUDEwNyAsIGNsYXNzIFAxMDggLCBjbGFzcyBQMTA5ICwgY2xhc3MgUDExMCAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjExMTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMD4sIFQ+IHsgdHlwZWRlZiBuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMTEyPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFA5MiAsIFA5MyAsIFA5NCAsIFA5NSAsIFA5NiAsIFA5NyAsIFA5OCAsIFA5OSAsIFAxMDAgLCBQMTAxICwgUDEwMiAsIFAxMDMgLCBQMTA0ICwgUDEwNSAsIFAxMDYgLCBQMTA3ICwgUDEwOCAsIFAxMDkgLCBQMTEwICwgVCA+IHR5cGU7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSAsIGNsYXNzIFA4NiAsIGNsYXNzIFA4NyAsIGNsYXNzIFA4OCAsIGNsYXNzIFA4OSAsIGNsYXNzIFA5MCAsIGNsYXNzIFA5MSAsIGNsYXNzIFA5MiAsIGNsYXNzIFA5MyAsIGNsYXNzIFA5NCAsIGNsYXNzIFA5NSAsIGNsYXNzIFA5NiAsIGNsYXNzIFA5NyAsIGNsYXNzIFA5OCAsIGNsYXNzIFA5OSAsIGNsYXNzIFAxMDAgLCBjbGFzcyBQMTAxICwgY2xhc3MgUDEwMiAsIGNsYXNzIFAxMDMgLCBjbGFzcyBQMTA0ICwgY2xhc3MgUDEwNSAsIGNsYXNzIFAxMDYgLCBjbGFzcyBQMTA3ICwgY2xhc3MgUDEwOCAsIGNsYXNzIFAxMDkgLCBjbGFzcyBQMTEwICwgY2xhc3MgUDExMSAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjExMjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTE+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjExMzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ICwgY2xhc3MgUDk2ICwgY2xhc3MgUDk3ICwgY2xhc3MgUDk4ICwgY2xhc3MgUDk5ICwgY2xhc3MgUDEwMCAsIGNsYXNzIFAxMDEgLCBjbGFzcyBQMTAyICwgY2xhc3MgUDEwMyAsIGNsYXNzIFAxMDQgLCBjbGFzcyBQMTA1ICwgY2xhc3MgUDEwNiAsIGNsYXNzIFAxMDcgLCBjbGFzcyBQMTA4ICwgY2xhc3MgUDEwOSAsIGNsYXNzIFAxMTAgLCBjbGFzcyBQMTExICwgY2xhc3MgUDExMiAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjExMzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IxMTQ8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1ICwgUDk2ICwgUDk3ICwgUDk4ICwgUDk5ICwgUDEwMCAsIFAxMDEgLCBQMTAyICwgUDEwMyAsIFAxMDQgLCBQMTA1ICwgUDEwNiAsIFAxMDcgLCBQMTA4ICwgUDEwOSAsIFAxMTAgLCBQMTExICwgUDExMiAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBQOTMgLCBjbGFzcyBQOTQgLCBjbGFzcyBQOTUgLCBjbGFzcyBQOTYgLCBjbGFzcyBQOTcgLCBjbGFzcyBQOTggLCBjbGFzcyBQOTkgLCBjbGFzcyBQMTAwICwgY2xhc3MgUDEwMSAsIGNsYXNzIFAxMDIgLCBjbGFzcyBQMTAzICwgY2xhc3MgUDEwNCAsIGNsYXNzIFAxMDUgLCBjbGFzcyBQMTA2ICwgY2xhc3MgUDEwNyAsIGNsYXNzIFAxMDggLCBjbGFzcyBQMTA5ICwgY2xhc3MgUDExMCAsIGNsYXNzIFAxMTEgLCBjbGFzcyBQMTEyICwgY2xhc3MgUDExMyAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjExNDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMz4sIFQ+IHsgdHlwZWRlZiBuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMTE1PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFA5MiAsIFA5MyAsIFA5NCAsIFA5NSAsIFA5NiAsIFA5NyAsIFA5OCAsIFA5OSAsIFAxMDAgLCBQMTAxICwgUDEwMiAsIFAxMDMgLCBQMTA0ICwgUDEwNSAsIFAxMDYgLCBQMTA3ICwgUDEwOCAsIFAxMDkgLCBQMTEwICwgUDExMSAsIFAxMTIgLCBQMTEzICwgVCA+IHR5cGU7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSAsIGNsYXNzIFA4NiAsIGNsYXNzIFA4NyAsIGNsYXNzIFA4OCAsIGNsYXNzIFA4OSAsIGNsYXNzIFA5MCAsIGNsYXNzIFA5MSAsIGNsYXNzIFA5MiAsIGNsYXNzIFA5MyAsIGNsYXNzIFA5NCAsIGNsYXNzIFA5NSAsIGNsYXNzIFA5NiAsIGNsYXNzIFA5NyAsIGNsYXNzIFA5OCAsIGNsYXNzIFA5OSAsIGNsYXNzIFAxMDAgLCBjbGFzcyBQMTAxICwgY2xhc3MgUDEwMiAsIGNsYXNzIFAxMDMgLCBjbGFzcyBQMTA0ICwgY2xhc3MgUDEwNSAsIGNsYXNzIFAxMDYgLCBjbGFzcyBQMTA3ICwgY2xhc3MgUDEwOCAsIGNsYXNzIFAxMDkgLCBjbGFzcyBQMTEwICwgY2xhc3MgUDExMSAsIGNsYXNzIFAxMTIgLCBjbGFzcyBQMTEzICwgY2xhc3MgUDExNCAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjExNTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQ+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjExNjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ICwgY2xhc3MgUDk2ICwgY2xhc3MgUDk3ICwgY2xhc3MgUDk4ICwgY2xhc3MgUDk5ICwgY2xhc3MgUDEwMCAsIGNsYXNzIFAxMDEgLCBjbGFzcyBQMTAyICwgY2xhc3MgUDEwMyAsIGNsYXNzIFAxMDQgLCBjbGFzcyBQMTA1ICwgY2xhc3MgUDEwNiAsIGNsYXNzIFAxMDcgLCBjbGFzcyBQMTA4ICwgY2xhc3MgUDEwOSAsIGNsYXNzIFAxMTAgLCBjbGFzcyBQMTExICwgY2xhc3MgUDExMiAsIGNsYXNzIFAxMTMgLCBjbGFzcyBQMTE0ICwgY2xhc3MgUDExNSAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjExNjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IxMTc8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1ICwgUDk2ICwgUDk3ICwgUDk4ICwgUDk5ICwgUDEwMCAsIFAxMDEgLCBQMTAyICwgUDEwMyAsIFAxMDQgLCBQMTA1ICwgUDEwNiAsIFAxMDcgLCBQMTA4ICwgUDEwOSAsIFAxMTAgLCBQMTExICwgUDExMiAsIFAxMTMgLCBQMTE0ICwgUDExNSAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBQOTMgLCBjbGFzcyBQOTQgLCBjbGFzcyBQOTUgLCBjbGFzcyBQOTYgLCBjbGFzcyBQOTcgLCBjbGFzcyBQOTggLCBjbGFzcyBQOTkgLCBjbGFzcyBQMTAwICwgY2xhc3MgUDEwMSAsIGNsYXNzIFAxMDIgLCBjbGFzcyBQMTAzICwgY2xhc3MgUDEwNCAsIGNsYXNzIFAxMDUgLCBjbGFzcyBQMTA2ICwgY2xhc3MgUDEwNyAsIGNsYXNzIFAxMDggLCBjbGFzcyBQMTA5ICwgY2xhc3MgUDExMCAsIGNsYXNzIFAxMTEgLCBjbGFzcyBQMTEyICwgY2xhc3MgUDExMyAsIGNsYXNzIFAxMTQgLCBjbGFzcyBQMTE1ICwgY2xhc3MgUDExNiAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjExNzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNj4sIFQ+IHsgdHlwZWRlZiBuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMTE4PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFA5MiAsIFA5MyAsIFA5NCAsIFA5NSAsIFA5NiAsIFA5NyAsIFA5OCAsIFA5OSAsIFAxMDAgLCBQMTAxICwgUDEwMiAsIFAxMDMgLCBQMTA0ICwgUDEwNSAsIFAxMDYgLCBQMTA3ICwgUDEwOCAsIFAxMDkgLCBQMTEwICwgUDExMSAsIFAxMTIgLCBQMTEzICwgUDExNCAsIFAxMTUgLCBQMTE2ICwgVCA+IHR5cGU7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSAsIGNsYXNzIFA4NiAsIGNsYXNzIFA4NyAsIGNsYXNzIFA4OCAsIGNsYXNzIFA4OSAsIGNsYXNzIFA5MCAsIGNsYXNzIFA5MSAsIGNsYXNzIFA5MiAsIGNsYXNzIFA5MyAsIGNsYXNzIFA5NCAsIGNsYXNzIFA5NSAsIGNsYXNzIFA5NiAsIGNsYXNzIFA5NyAsIGNsYXNzIFA5OCAsIGNsYXNzIFA5OSAsIGNsYXNzIFAxMDAgLCBjbGFzcyBQMTAxICwgY2xhc3MgUDEwMiAsIGNsYXNzIFAxMDMgLCBjbGFzcyBQMTA0ICwgY2xhc3MgUDEwNSAsIGNsYXNzIFAxMDYgLCBjbGFzcyBQMTA3ICwgY2xhc3MgUDEwOCAsIGNsYXNzIFAxMDkgLCBjbGFzcyBQMTEwICwgY2xhc3MgUDExMSAsIGNsYXNzIFAxMTIgLCBjbGFzcyBQMTEzICwgY2xhc3MgUDExNCAsIGNsYXNzIFAxMTUgLCBjbGFzcyBQMTE2ICwgY2xhc3MgUDExNyAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjExODwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTc+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjExOTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ICwgY2xhc3MgUDk2ICwgY2xhc3MgUDk3ICwgY2xhc3MgUDk4ICwgY2xhc3MgUDk5ICwgY2xhc3MgUDEwMCAsIGNsYXNzIFAxMDEgLCBjbGFzcyBQMTAyICwgY2xhc3MgUDEwMyAsIGNsYXNzIFAxMDQgLCBjbGFzcyBQMTA1ICwgY2xhc3MgUDEwNiAsIGNsYXNzIFAxMDcgLCBjbGFzcyBQMTA4ICwgY2xhc3MgUDEwOSAsIGNsYXNzIFAxMTAgLCBjbGFzcyBQMTExICwgY2xhc3MgUDExMiAsIGNsYXNzIFAxMTMgLCBjbGFzcyBQMTE0ICwgY2xhc3MgUDExNSAsIGNsYXNzIFAxMTYgLCBjbGFzcyBQMTE3ICwgY2xhc3MgUDExOCAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjExOTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IxMjA8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1ICwgUDk2ICwgUDk3ICwgUDk4ICwgUDk5ICwgUDEwMCAsIFAxMDEgLCBQMTAyICwgUDEwMyAsIFAxMDQgLCBQMTA1ICwgUDEwNiAsIFAxMDcgLCBQMTA4ICwgUDEwOSAsIFAxMTAgLCBQMTExICwgUDExMiAsIFAxMTMgLCBQMTE0ICwgUDExNSAsIFAxMTYgLCBQMTE3ICwgUDExOCAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBQOTMgLCBjbGFzcyBQOTQgLCBjbGFzcyBQOTUgLCBjbGFzcyBQOTYgLCBjbGFzcyBQOTcgLCBjbGFzcyBQOTggLCBjbGFzcyBQOTkgLCBjbGFzcyBQMTAwICwgY2xhc3MgUDEwMSAsIGNsYXNzIFAxMDIgLCBjbGFzcyBQMTAzICwgY2xhc3MgUDEwNCAsIGNsYXNzIFAxMDUgLCBjbGFzcyBQMTA2ICwgY2xhc3MgUDEwNyAsIGNsYXNzIFAxMDggLCBjbGFzcyBQMTA5ICwgY2xhc3MgUDExMCAsIGNsYXNzIFAxMTEgLCBjbGFzcyBQMTEyICwgY2xhc3MgUDExMyAsIGNsYXNzIFAxMTQgLCBjbGFzcyBQMTE1ICwgY2xhc3MgUDExNiAsIGNsYXNzIFAxMTcgLCBjbGFzcyBQMTE4ICwgY2xhc3MgUDExOSAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjEyMDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOT4sIFQ+IHsgdHlwZWRlZiBuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMTIxPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFA5MiAsIFA5MyAsIFA5NCAsIFA5NSAsIFA5NiAsIFA5NyAsIFA5OCAsIFA5OSAsIFAxMDAgLCBQMTAxICwgUDEwMiAsIFAxMDMgLCBQMTA0ICwgUDEwNSAsIFAxMDYgLCBQMTA3ICwgUDEwOCAsIFAxMDkgLCBQMTEwICwgUDExMSAsIFAxMTIgLCBQMTEzICwgUDExNCAsIFAxMTUgLCBQMTE2ICwgUDExNyAsIFAxMTggLCBQMTE5ICwgVCA+IHR5cGU7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSAsIGNsYXNzIFA4NiAsIGNsYXNzIFA4NyAsIGNsYXNzIFA4OCAsIGNsYXNzIFA4OSAsIGNsYXNzIFA5MCAsIGNsYXNzIFA5MSAsIGNsYXNzIFA5MiAsIGNsYXNzIFA5MyAsIGNsYXNzIFA5NCAsIGNsYXNzIFA5NSAsIGNsYXNzIFA5NiAsIGNsYXNzIFA5NyAsIGNsYXNzIFA5OCAsIGNsYXNzIFA5OSAsIGNsYXNzIFAxMDAgLCBjbGFzcyBQMTAxICwgY2xhc3MgUDEwMiAsIGNsYXNzIFAxMDMgLCBjbGFzcyBQMTA0ICwgY2xhc3MgUDEwNSAsIGNsYXNzIFAxMDYgLCBjbGFzcyBQMTA3ICwgY2xhc3MgUDEwOCAsIGNsYXNzIFAxMDkgLCBjbGFzcyBQMTEwICwgY2xhc3MgUDExMSAsIGNsYXNzIFAxMTIgLCBjbGFzcyBQMTEzICwgY2xhc3MgUDExNCAsIGNsYXNzIFAxMTUgLCBjbGFzcyBQMTE2ICwgY2xhc3MgUDExNyAsIGNsYXNzIFAxMTggLCBjbGFzcyBQMTE5ICwgY2xhc3MgUDEyMCAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjEyMTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjA+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjEyMjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ICwgY2xhc3MgUDk2ICwgY2xhc3MgUDk3ICwgY2xhc3MgUDk4ICwgY2xhc3MgUDk5ICwgY2xhc3MgUDEwMCAsIGNsYXNzIFAxMDEgLCBjbGFzcyBQMTAyICwgY2xhc3MgUDEwMyAsIGNsYXNzIFAxMDQgLCBjbGFzcyBQMTA1ICwgY2xhc3MgUDEwNiAsIGNsYXNzIFAxMDcgLCBjbGFzcyBQMTA4ICwgY2xhc3MgUDEwOSAsIGNsYXNzIFAxMTAgLCBjbGFzcyBQMTExICwgY2xhc3MgUDExMiAsIGNsYXNzIFAxMTMgLCBjbGFzcyBQMTE0ICwgY2xhc3MgUDExNSAsIGNsYXNzIFAxMTYgLCBjbGFzcyBQMTE3ICwgY2xhc3MgUDExOCAsIGNsYXNzIFAxMTkgLCBjbGFzcyBQMTIwICwgY2xhc3MgUDEyMSAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjEyMjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IxMjM8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1ICwgUDk2ICwgUDk3ICwgUDk4ICwgUDk5ICwgUDEwMCAsIFAxMDEgLCBQMTAyICwgUDEwMyAsIFAxMDQgLCBQMTA1ICwgUDEwNiAsIFAxMDcgLCBQMTA4ICwgUDEwOSAsIFAxMTAgLCBQMTExICwgUDExMiAsIFAxMTMgLCBQMTE0ICwgUDExNSAsIFAxMTYgLCBQMTE3ICwgUDExOCAsIFAxMTkgLCBQMTIwICwgUDEyMSAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBQOTMgLCBjbGFzcyBQOTQgLCBjbGFzcyBQOTUgLCBjbGFzcyBQOTYgLCBjbGFzcyBQOTcgLCBjbGFzcyBQOTggLCBjbGFzcyBQOTkgLCBjbGFzcyBQMTAwICwgY2xhc3MgUDEwMSAsIGNsYXNzIFAxMDIgLCBjbGFzcyBQMTAzICwgY2xhc3MgUDEwNCAsIGNsYXNzIFAxMDUgLCBjbGFzcyBQMTA2ICwgY2xhc3MgUDEwNyAsIGNsYXNzIFAxMDggLCBjbGFzcyBQMTA5ICwgY2xhc3MgUDExMCAsIGNsYXNzIFAxMTEgLCBjbGFzcyBQMTEyICwgY2xhc3MgUDExMyAsIGNsYXNzIFAxMTQgLCBjbGFzcyBQMTE1ICwgY2xhc3MgUDExNiAsIGNsYXNzIFAxMTcgLCBjbGFzcyBQMTE4ICwgY2xhc3MgUDExOSAsIGNsYXNzIFAxMjAgLCBjbGFzcyBQMTIxICwgY2xhc3MgUDEyMiAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjEyMzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMj4sIFQ+IHsgdHlwZWRlZiBuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMTI0PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFA5MiAsIFA5MyAsIFA5NCAsIFA5NSAsIFA5NiAsIFA5NyAsIFA5OCAsIFA5OSAsIFAxMDAgLCBQMTAxICwgUDEwMiAsIFAxMDMgLCBQMTA0ICwgUDEwNSAsIFAxMDYgLCBQMTA3ICwgUDEwOCAsIFAxMDkgLCBQMTEwICwgUDExMSAsIFAxMTIgLCBQMTEzICwgUDExNCAsIFAxMTUgLCBQMTE2ICwgUDExNyAsIFAxMTggLCBQMTE5ICwgUDEyMCAsIFAxMjEgLCBQMTIyICwgVCA+IHR5cGU7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSAsIGNsYXNzIFA4NiAsIGNsYXNzIFA4NyAsIGNsYXNzIFA4OCAsIGNsYXNzIFA4OSAsIGNsYXNzIFA5MCAsIGNsYXNzIFA5MSAsIGNsYXNzIFA5MiAsIGNsYXNzIFA5MyAsIGNsYXNzIFA5NCAsIGNsYXNzIFA5NSAsIGNsYXNzIFA5NiAsIGNsYXNzIFA5NyAsIGNsYXNzIFA5OCAsIGNsYXNzIFA5OSAsIGNsYXNzIFAxMDAgLCBjbGFzcyBQMTAxICwgY2xhc3MgUDEwMiAsIGNsYXNzIFAxMDMgLCBjbGFzcyBQMTA0ICwgY2xhc3MgUDEwNSAsIGNsYXNzIFAxMDYgLCBjbGFzcyBQMTA3ICwgY2xhc3MgUDEwOCAsIGNsYXNzIFAxMDkgLCBjbGFzcyBQMTEwICwgY2xhc3MgUDExMSAsIGNsYXNzIFAxMTIgLCBjbGFzcyBQMTEzICwgY2xhc3MgUDExNCAsIGNsYXNzIFAxMTUgLCBjbGFzcyBQMTE2ICwgY2xhc3MgUDExNyAsIGNsYXNzIFAxMTggLCBjbGFzcyBQMTE5ICwgY2xhc3MgUDEyMCAsIGNsYXNzIFAxMjEgLCBjbGFzcyBQMTIyICwgY2xhc3MgUDEyMyAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjEyNDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjM+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjEyNTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ICwgY2xhc3MgUDk2ICwgY2xhc3MgUDk3ICwgY2xhc3MgUDk4ICwgY2xhc3MgUDk5ICwgY2xhc3MgUDEwMCAsIGNsYXNzIFAxMDEgLCBjbGFzcyBQMTAyICwgY2xhc3MgUDEwMyAsIGNsYXNzIFAxMDQgLCBjbGFzcyBQMTA1ICwgY2xhc3MgUDEwNiAsIGNsYXNzIFAxMDcgLCBjbGFzcyBQMTA4ICwgY2xhc3MgUDEwOSAsIGNsYXNzIFAxMTAgLCBjbGFzcyBQMTExICwgY2xhc3MgUDExMiAsIGNsYXNzIFAxMTMgLCBjbGFzcyBQMTE0ICwgY2xhc3MgUDExNSAsIGNsYXNzIFAxMTYgLCBjbGFzcyBQMTE3ICwgY2xhc3MgUDExOCAsIGNsYXNzIFAxMTkgLCBjbGFzcyBQMTIwICwgY2xhc3MgUDEyMSAsIGNsYXNzIFAxMjIgLCBjbGFzcyBQMTIzICwgY2xhc3MgUDEyNCAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjEyNTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IxMjY8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1ICwgUDk2ICwgUDk3ICwgUDk4ICwgUDk5ICwgUDEwMCAsIFAxMDEgLCBQMTAyICwgUDEwMyAsIFAxMDQgLCBQMTA1ICwgUDEwNiAsIFAxMDcgLCBQMTA4ICwgUDEwOSAsIFAxMTAgLCBQMTExICwgUDExMiAsIFAxMTMgLCBQMTE0ICwgUDExNSAsIFAxMTYgLCBQMTE3ICwgUDExOCAsIFAxMTkgLCBQMTIwICwgUDEyMSAsIFAxMjIgLCBQMTIzICwgUDEyNCAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBQOTMgLCBjbGFzcyBQOTQgLCBjbGFzcyBQOTUgLCBjbGFzcyBQOTYgLCBjbGFzcyBQOTcgLCBjbGFzcyBQOTggLCBjbGFzcyBQOTkgLCBjbGFzcyBQMTAwICwgY2xhc3MgUDEwMSAsIGNsYXNzIFAxMDIgLCBjbGFzcyBQMTAzICwgY2xhc3MgUDEwNCAsIGNsYXNzIFAxMDUgLCBjbGFzcyBQMTA2ICwgY2xhc3MgUDEwNyAsIGNsYXNzIFAxMDggLCBjbGFzcyBQMTA5ICwgY2xhc3MgUDExMCAsIGNsYXNzIFAxMTEgLCBjbGFzcyBQMTEyICwgY2xhc3MgUDExMyAsIGNsYXNzIFAxMTQgLCBjbGFzcyBQMTE1ICwgY2xhc3MgUDExNiAsIGNsYXNzIFAxMTcgLCBjbGFzcyBQMTE4ICwgY2xhc3MgUDExOSAsIGNsYXNzIFAxMjAgLCBjbGFzcyBQMTIxICwgY2xhc3MgUDEyMiAsIGNsYXNzIFAxMjMgLCBjbGFzcyBQMTI0ICwgY2xhc3MgUDEyNSAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjEyNjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNT4sIFQ+IHsgdHlwZWRlZiBuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMTI3PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFA5MiAsIFA5MyAsIFA5NCAsIFA5NSAsIFA5NiAsIFA5NyAsIFA5OCAsIFA5OSAsIFAxMDAgLCBQMTAxICwgUDEwMiAsIFAxMDMgLCBQMTA0ICwgUDEwNSAsIFAxMDYgLCBQMTA3ICwgUDEwOCAsIFAxMDkgLCBQMTEwICwgUDExMSAsIFAxMTIgLCBQMTEzICwgUDExNCAsIFAxMTUgLCBQMTE2ICwgUDExNyAsIFAxMTggLCBQMTE5ICwgUDEyMCAsIFAxMjEgLCBQMTIyICwgUDEyMyAsIFAxMjQgLCBQMTI1ICwgVCA+IHR5cGU7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSAsIGNsYXNzIFA4NiAsIGNsYXNzIFA4NyAsIGNsYXNzIFA4OCAsIGNsYXNzIFA4OSAsIGNsYXNzIFA5MCAsIGNsYXNzIFA5MSAsIGNsYXNzIFA5MiAsIGNsYXNzIFA5MyAsIGNsYXNzIFA5NCAsIGNsYXNzIFA5NSAsIGNsYXNzIFA5NiAsIGNsYXNzIFA5NyAsIGNsYXNzIFA5OCAsIGNsYXNzIFA5OSAsIGNsYXNzIFAxMDAgLCBjbGFzcyBQMTAxICwgY2xhc3MgUDEwMiAsIGNsYXNzIFAxMDMgLCBjbGFzcyBQMTA0ICwgY2xhc3MgUDEwNSAsIGNsYXNzIFAxMDYgLCBjbGFzcyBQMTA3ICwgY2xhc3MgUDEwOCAsIGNsYXNzIFAxMDkgLCBjbGFzcyBQMTEwICwgY2xhc3MgUDExMSAsIGNsYXNzIFAxMTIgLCBjbGFzcyBQMTEzICwgY2xhc3MgUDExNCAsIGNsYXNzIFAxMTUgLCBjbGFzcyBQMTE2ICwgY2xhc3MgUDExNyAsIGNsYXNzIFAxMTggLCBjbGFzcyBQMTE5ICwgY2xhc3MgUDEyMCAsIGNsYXNzIFAxMjEgLCBjbGFzcyBQMTIyICwgY2xhc3MgUDEyMyAsIGNsYXNzIFAxMjQgLCBjbGFzcyBQMTI1ICwgY2xhc3MgUDEyNiAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjEyNzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjY+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjEyODwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ICwgY2xhc3MgUDk2ICwgY2xhc3MgUDk3ICwgY2xhc3MgUDk4ICwgY2xhc3MgUDk5ICwgY2xhc3MgUDEwMCAsIGNsYXNzIFAxMDEgLCBjbGFzcyBQMTAyICwgY2xhc3MgUDEwMyAsIGNsYXNzIFAxMDQgLCBjbGFzcyBQMTA1ICwgY2xhc3MgUDEwNiAsIGNsYXNzIFAxMDcgLCBjbGFzcyBQMTA4ICwgY2xhc3MgUDEwOSAsIGNsYXNzIFAxMTAgLCBjbGFzcyBQMTExICwgY2xhc3MgUDExMiAsIGNsYXNzIFAxMTMgLCBjbGFzcyBQMTE0ICwgY2xhc3MgUDExNSAsIGNsYXNzIFAxMTYgLCBjbGFzcyBQMTE3ICwgY2xhc3MgUDExOCAsIGNsYXNzIFAxMTkgLCBjbGFzcyBQMTIwICwgY2xhc3MgUDEyMSAsIGNsYXNzIFAxMjIgLCBjbGFzcyBQMTIzICwgY2xhc3MgUDEyNCAsIGNsYXNzIFAxMjUgLCBjbGFzcyBQMTI2ICwgY2xhc3MgUDEyNyAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjEyODwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IxMjk8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1ICwgUDk2ICwgUDk3ICwgUDk4ICwgUDk5ICwgUDEwMCAsIFAxMDEgLCBQMTAyICwgUDEwMyAsIFAxMDQgLCBQMTA1ICwgUDEwNiAsIFAxMDcgLCBQMTA4ICwgUDEwOSAsIFAxMTAgLCBQMTExICwgUDExMiAsIFAxMTMgLCBQMTE0ICwgUDExNSAsIFAxMTYgLCBQMTE3ICwgUDExOCAsIFAxMTkgLCBQMTIwICwgUDEyMSAsIFAxMjIgLCBQMTIzICwgUDEyNCAsIFAxMjUgLCBQMTI2ICwgUDEyNyAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBQOTMgLCBjbGFzcyBQOTQgLCBjbGFzcyBQOTUgLCBjbGFzcyBQOTYgLCBjbGFzcyBQOTcgLCBjbGFzcyBQOTggLCBjbGFzcyBQOTkgLCBjbGFzcyBQMTAwICwgY2xhc3MgUDEwMSAsIGNsYXNzIFAxMDIgLCBjbGFzcyBQMTAzICwgY2xhc3MgUDEwNCAsIGNsYXNzIFAxMDUgLCBjbGFzcyBQMTA2ICwgY2xhc3MgUDEwNyAsIGNsYXNzIFAxMDggLCBjbGFzcyBQMTA5ICwgY2xhc3MgUDExMCAsIGNsYXNzIFAxMTEgLCBjbGFzcyBQMTEyICwgY2xhc3MgUDExMyAsIGNsYXNzIFAxMTQgLCBjbGFzcyBQMTE1ICwgY2xhc3MgUDExNiAsIGNsYXNzIFAxMTcgLCBjbGFzcyBQMTE4ICwgY2xhc3MgUDExOSAsIGNsYXNzIFAxMjAgLCBjbGFzcyBQMTIxICwgY2xhc3MgUDEyMiAsIGNsYXNzIFAxMjMgLCBjbGFzcyBQMTI0ICwgY2xhc3MgUDEyNSAsIGNsYXNzIFAxMjYgLCBjbGFzcyBQMTI3ICwgY2xhc3MgUDEyOCAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjEyOTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOD4sIFQ+IHsgdHlwZWRlZiBuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMTMwPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFA5MiAsIFA5MyAsIFA5NCAsIFA5NSAsIFA5NiAsIFA5NyAsIFA5OCAsIFA5OSAsIFAxMDAgLCBQMTAxICwgUDEwMiAsIFAxMDMgLCBQMTA0ICwgUDEwNSAsIFAxMDYgLCBQMTA3ICwgUDEwOCAsIFAxMDkgLCBQMTEwICwgUDExMSAsIFAxMTIgLCBQMTEzICwgUDExNCAsIFAxMTUgLCBQMTE2ICwgUDExNyAsIFAxMTggLCBQMTE5ICwgUDEyMCAsIFAxMjEgLCBQMTIyICwgUDEyMyAsIFAxMjQgLCBQMTI1ICwgUDEyNiAsIFAxMjcgLCBQMTI4ICwgVCA+IHR5cGU7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSAsIGNsYXNzIFA4NiAsIGNsYXNzIFA4NyAsIGNsYXNzIFA4OCAsIGNsYXNzIFA4OSAsIGNsYXNzIFA5MCAsIGNsYXNzIFA5MSAsIGNsYXNzIFA5MiAsIGNsYXNzIFA5MyAsIGNsYXNzIFA5NCAsIGNsYXNzIFA5NSAsIGNsYXNzIFA5NiAsIGNsYXNzIFA5NyAsIGNsYXNzIFA5OCAsIGNsYXNzIFA5OSAsIGNsYXNzIFAxMDAgLCBjbGFzcyBQMTAxICwgY2xhc3MgUDEwMiAsIGNsYXNzIFAxMDMgLCBjbGFzcyBQMTA0ICwgY2xhc3MgUDEwNSAsIGNsYXNzIFAxMDYgLCBjbGFzcyBQMTA3ICwgY2xhc3MgUDEwOCAsIGNsYXNzIFAxMDkgLCBjbGFzcyBQMTEwICwgY2xhc3MgUDExMSAsIGNsYXNzIFAxMTIgLCBjbGFzcyBQMTEzICwgY2xhc3MgUDExNCAsIGNsYXNzIFAxMTUgLCBjbGFzcyBQMTE2ICwgY2xhc3MgUDExNyAsIGNsYXNzIFAxMTggLCBjbGFzcyBQMTE5ICwgY2xhc3MgUDEyMCAsIGNsYXNzIFAxMjEgLCBjbGFzcyBQMTIyICwgY2xhc3MgUDEyMyAsIGNsYXNzIFAxMjQgLCBjbGFzcyBQMTI1ICwgY2xhc3MgUDEyNiAsIGNsYXNzIFAxMjcgLCBjbGFzcyBQMTI4ICwgY2xhc3MgUDEyOSAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjEzMDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjk+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjEzMTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ICwgY2xhc3MgUDk2ICwgY2xhc3MgUDk3ICwgY2xhc3MgUDk4ICwgY2xhc3MgUDk5ICwgY2xhc3MgUDEwMCAsIGNsYXNzIFAxMDEgLCBjbGFzcyBQMTAyICwgY2xhc3MgUDEwMyAsIGNsYXNzIFAxMDQgLCBjbGFzcyBQMTA1ICwgY2xhc3MgUDEwNiAsIGNsYXNzIFAxMDcgLCBjbGFzcyBQMTA4ICwgY2xhc3MgUDEwOSAsIGNsYXNzIFAxMTAgLCBjbGFzcyBQMTExICwgY2xhc3MgUDExMiAsIGNsYXNzIFAxMTMgLCBjbGFzcyBQMTE0ICwgY2xhc3MgUDExNSAsIGNsYXNzIFAxMTYgLCBjbGFzcyBQMTE3ICwgY2xhc3MgUDExOCAsIGNsYXNzIFAxMTkgLCBjbGFzcyBQMTIwICwgY2xhc3MgUDEyMSAsIGNsYXNzIFAxMjIgLCBjbGFzcyBQMTIzICwgY2xhc3MgUDEyNCAsIGNsYXNzIFAxMjUgLCBjbGFzcyBQMTI2ICwgY2xhc3MgUDEyNyAsIGNsYXNzIFAxMjggLCBjbGFzcyBQMTI5ICwgY2xhc3MgUDEzMCAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjEzMTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IxMzI8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1ICwgUDk2ICwgUDk3ICwgUDk4ICwgUDk5ICwgUDEwMCAsIFAxMDEgLCBQMTAyICwgUDEwMyAsIFAxMDQgLCBQMTA1ICwgUDEwNiAsIFAxMDcgLCBQMTA4ICwgUDEwOSAsIFAxMTAgLCBQMTExICwgUDExMiAsIFAxMTMgLCBQMTE0ICwgUDExNSAsIFAxMTYgLCBQMTE3ICwgUDExOCAsIFAxMTkgLCBQMTIwICwgUDEyMSAsIFAxMjIgLCBQMTIzICwgUDEyNCAsIFAxMjUgLCBQMTI2ICwgUDEyNyAsIFAxMjggLCBQMTI5ICwgUDEzMCAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBQOTMgLCBjbGFzcyBQOTQgLCBjbGFzcyBQOTUgLCBjbGFzcyBQOTYgLCBjbGFzcyBQOTcgLCBjbGFzcyBQOTggLCBjbGFzcyBQOTkgLCBjbGFzcyBQMTAwICwgY2xhc3MgUDEwMSAsIGNsYXNzIFAxMDIgLCBjbGFzcyBQMTAzICwgY2xhc3MgUDEwNCAsIGNsYXNzIFAxMDUgLCBjbGFzcyBQMTA2ICwgY2xhc3MgUDEwNyAsIGNsYXNzIFAxMDggLCBjbGFzcyBQMTA5ICwgY2xhc3MgUDExMCAsIGNsYXNzIFAxMTEgLCBjbGFzcyBQMTEyICwgY2xhc3MgUDExMyAsIGNsYXNzIFAxMTQgLCBjbGFzcyBQMTE1ICwgY2xhc3MgUDExNiAsIGNsYXNzIFAxMTcgLCBjbGFzcyBQMTE4ICwgY2xhc3MgUDExOSAsIGNsYXNzIFAxMjAgLCBjbGFzcyBQMTIxICwgY2xhc3MgUDEyMiAsIGNsYXNzIFAxMjMgLCBjbGFzcyBQMTI0ICwgY2xhc3MgUDEyNSAsIGNsYXNzIFAxMjYgLCBjbGFzcyBQMTI3ICwgY2xhc3MgUDEyOCAsIGNsYXNzIFAxMjkgLCBjbGFzcyBQMTMwICwgY2xhc3MgUDEzMSAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjEzMjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMT4sIFQ+IHsgdHlwZWRlZiBuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMTMzPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFA5MiAsIFA5MyAsIFA5NCAsIFA5NSAsIFA5NiAsIFA5NyAsIFA5OCAsIFA5OSAsIFAxMDAgLCBQMTAxICwgUDEwMiAsIFAxMDMgLCBQMTA0ICwgUDEwNSAsIFAxMDYgLCBQMTA3ICwgUDEwOCAsIFAxMDkgLCBQMTEwICwgUDExMSAsIFAxMTIgLCBQMTEzICwgUDExNCAsIFAxMTUgLCBQMTE2ICwgUDExNyAsIFAxMTggLCBQMTE5ICwgUDEyMCAsIFAxMjEgLCBQMTIyICwgUDEyMyAsIFAxMjQgLCBQMTI1ICwgUDEyNiAsIFAxMjcgLCBQMTI4ICwgUDEyOSAsIFAxMzAgLCBQMTMxICwgVCA+IHR5cGU7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSAsIGNsYXNzIFA4NiAsIGNsYXNzIFA4NyAsIGNsYXNzIFA4OCAsIGNsYXNzIFA4OSAsIGNsYXNzIFA5MCAsIGNsYXNzIFA5MSAsIGNsYXNzIFA5MiAsIGNsYXNzIFA5MyAsIGNsYXNzIFA5NCAsIGNsYXNzIFA5NSAsIGNsYXNzIFA5NiAsIGNsYXNzIFA5NyAsIGNsYXNzIFA5OCAsIGNsYXNzIFA5OSAsIGNsYXNzIFAxMDAgLCBjbGFzcyBQMTAxICwgY2xhc3MgUDEwMiAsIGNsYXNzIFAxMDMgLCBjbGFzcyBQMTA0ICwgY2xhc3MgUDEwNSAsIGNsYXNzIFAxMDYgLCBjbGFzcyBQMTA3ICwgY2xhc3MgUDEwOCAsIGNsYXNzIFAxMDkgLCBjbGFzcyBQMTEwICwgY2xhc3MgUDExMSAsIGNsYXNzIFAxMTIgLCBjbGFzcyBQMTEzICwgY2xhc3MgUDExNCAsIGNsYXNzIFAxMTUgLCBjbGFzcyBQMTE2ICwgY2xhc3MgUDExNyAsIGNsYXNzIFAxMTggLCBjbGFzcyBQMTE5ICwgY2xhc3MgUDEyMCAsIGNsYXNzIFAxMjEgLCBjbGFzcyBQMTIyICwgY2xhc3MgUDEyMyAsIGNsYXNzIFAxMjQgLCBjbGFzcyBQMTI1ICwgY2xhc3MgUDEyNiAsIGNsYXNzIFAxMjcgLCBjbGFzcyBQMTI4ICwgY2xhc3MgUDEyOSAsIGNsYXNzIFAxMzAgLCBjbGFzcyBQMTMxICwgY2xhc3MgUDEzMiAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjEzMzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzI+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjEzNDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ICwgY2xhc3MgUDk2ICwgY2xhc3MgUDk3ICwgY2xhc3MgUDk4ICwgY2xhc3MgUDk5ICwgY2xhc3MgUDEwMCAsIGNsYXNzIFAxMDEgLCBjbGFzcyBQMTAyICwgY2xhc3MgUDEwMyAsIGNsYXNzIFAxMDQgLCBjbGFzcyBQMTA1ICwgY2xhc3MgUDEwNiAsIGNsYXNzIFAxMDcgLCBjbGFzcyBQMTA4ICwgY2xhc3MgUDEwOSAsIGNsYXNzIFAxMTAgLCBjbGFzcyBQMTExICwgY2xhc3MgUDExMiAsIGNsYXNzIFAxMTMgLCBjbGFzcyBQMTE0ICwgY2xhc3MgUDExNSAsIGNsYXNzIFAxMTYgLCBjbGFzcyBQMTE3ICwgY2xhc3MgUDExOCAsIGNsYXNzIFAxMTkgLCBjbGFzcyBQMTIwICwgY2xhc3MgUDEyMSAsIGNsYXNzIFAxMjIgLCBjbGFzcyBQMTIzICwgY2xhc3MgUDEyNCAsIGNsYXNzIFAxMjUgLCBjbGFzcyBQMTI2ICwgY2xhc3MgUDEyNyAsIGNsYXNzIFAxMjggLCBjbGFzcyBQMTI5ICwgY2xhc3MgUDEzMCAsIGNsYXNzIFAxMzEgLCBjbGFzcyBQMTMyICwgY2xhc3MgUDEzMyAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjEzNDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IxMzU8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1ICwgUDk2ICwgUDk3ICwgUDk4ICwgUDk5ICwgUDEwMCAsIFAxMDEgLCBQMTAyICwgUDEwMyAsIFAxMDQgLCBQMTA1ICwgUDEwNiAsIFAxMDcgLCBQMTA4ICwgUDEwOSAsIFAxMTAgLCBQMTExICwgUDExMiAsIFAxMTMgLCBQMTE0ICwgUDExNSAsIFAxMTYgLCBQMTE3ICwgUDExOCAsIFAxMTkgLCBQMTIwICwgUDEyMSAsIFAxMjIgLCBQMTIzICwgUDEyNCAsIFAxMjUgLCBQMTI2ICwgUDEyNyAsIFAxMjggLCBQMTI5ICwgUDEzMCAsIFAxMzEgLCBQMTMyICwgUDEzMyAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBQOTMgLCBjbGFzcyBQOTQgLCBjbGFzcyBQOTUgLCBjbGFzcyBQOTYgLCBjbGFzcyBQOTcgLCBjbGFzcyBQOTggLCBjbGFzcyBQOTkgLCBjbGFzcyBQMTAwICwgY2xhc3MgUDEwMSAsIGNsYXNzIFAxMDIgLCBjbGFzcyBQMTAzICwgY2xhc3MgUDEwNCAsIGNsYXNzIFAxMDUgLCBjbGFzcyBQMTA2ICwgY2xhc3MgUDEwNyAsIGNsYXNzIFAxMDggLCBjbGFzcyBQMTA5ICwgY2xhc3MgUDExMCAsIGNsYXNzIFAxMTEgLCBjbGFzcyBQMTEyICwgY2xhc3MgUDExMyAsIGNsYXNzIFAxMTQgLCBjbGFzcyBQMTE1ICwgY2xhc3MgUDExNiAsIGNsYXNzIFAxMTcgLCBjbGFzcyBQMTE4ICwgY2xhc3MgUDExOSAsIGNsYXNzIFAxMjAgLCBjbGFzcyBQMTIxICwgY2xhc3MgUDEyMiAsIGNsYXNzIFAxMjMgLCBjbGFzcyBQMTI0ICwgY2xhc3MgUDEyNSAsIGNsYXNzIFAxMjYgLCBjbGFzcyBQMTI3ICwgY2xhc3MgUDEyOCAsIGNsYXNzIFAxMjkgLCBjbGFzcyBQMTMwICwgY2xhc3MgUDEzMSAsIGNsYXNzIFAxMzIgLCBjbGFzcyBQMTMzICwgY2xhc3MgUDEzNCAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjEzNTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzND4sIFQ+IHsgdHlwZWRlZiBuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMTM2PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFA5MiAsIFA5MyAsIFA5NCAsIFA5NSAsIFA5NiAsIFA5NyAsIFA5OCAsIFA5OSAsIFAxMDAgLCBQMTAxICwgUDEwMiAsIFAxMDMgLCBQMTA0ICwgUDEwNSAsIFAxMDYgLCBQMTA3ICwgUDEwOCAsIFAxMDkgLCBQMTEwICwgUDExMSAsIFAxMTIgLCBQMTEzICwgUDExNCAsIFAxMTUgLCBQMTE2ICwgUDExNyAsIFAxMTggLCBQMTE5ICwgUDEyMCAsIFAxMjEgLCBQMTIyICwgUDEyMyAsIFAxMjQgLCBQMTI1ICwgUDEyNiAsIFAxMjcgLCBQMTI4ICwgUDEyOSAsIFAxMzAgLCBQMTMxICwgUDEzMiAsIFAxMzMgLCBQMTM0ICwgVCA+IHR5cGU7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSAsIGNsYXNzIFA4NiAsIGNsYXNzIFA4NyAsIGNsYXNzIFA4OCAsIGNsYXNzIFA4OSAsIGNsYXNzIFA5MCAsIGNsYXNzIFA5MSAsIGNsYXNzIFA5MiAsIGNsYXNzIFA5MyAsIGNsYXNzIFA5NCAsIGNsYXNzIFA5NSAsIGNsYXNzIFA5NiAsIGNsYXNzIFA5NyAsIGNsYXNzIFA5OCAsIGNsYXNzIFA5OSAsIGNsYXNzIFAxMDAgLCBjbGFzcyBQMTAxICwgY2xhc3MgUDEwMiAsIGNsYXNzIFAxMDMgLCBjbGFzcyBQMTA0ICwgY2xhc3MgUDEwNSAsIGNsYXNzIFAxMDYgLCBjbGFzcyBQMTA3ICwgY2xhc3MgUDEwOCAsIGNsYXNzIFAxMDkgLCBjbGFzcyBQMTEwICwgY2xhc3MgUDExMSAsIGNsYXNzIFAxMTIgLCBjbGFzcyBQMTEzICwgY2xhc3MgUDExNCAsIGNsYXNzIFAxMTUgLCBjbGFzcyBQMTE2ICwgY2xhc3MgUDExNyAsIGNsYXNzIFAxMTggLCBjbGFzcyBQMTE5ICwgY2xhc3MgUDEyMCAsIGNsYXNzIFAxMjEgLCBjbGFzcyBQMTIyICwgY2xhc3MgUDEyMyAsIGNsYXNzIFAxMjQgLCBjbGFzcyBQMTI1ICwgY2xhc3MgUDEyNiAsIGNsYXNzIFAxMjcgLCBjbGFzcyBQMTI4ICwgY2xhc3MgUDEyOSAsIGNsYXNzIFAxMzAgLCBjbGFzcyBQMTMxICwgY2xhc3MgUDEzMiAsIGNsYXNzIFAxMzMgLCBjbGFzcyBQMTM0ICwgY2xhc3MgUDEzNSAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjEzNjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzU+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjEzNzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ICwgY2xhc3MgUDk2ICwgY2xhc3MgUDk3ICwgY2xhc3MgUDk4ICwgY2xhc3MgUDk5ICwgY2xhc3MgUDEwMCAsIGNsYXNzIFAxMDEgLCBjbGFzcyBQMTAyICwgY2xhc3MgUDEwMyAsIGNsYXNzIFAxMDQgLCBjbGFzcyBQMTA1ICwgY2xhc3MgUDEwNiAsIGNsYXNzIFAxMDcgLCBjbGFzcyBQMTA4ICwgY2xhc3MgUDEwOSAsIGNsYXNzIFAxMTAgLCBjbGFzcyBQMTExICwgY2xhc3MgUDExMiAsIGNsYXNzIFAxMTMgLCBjbGFzcyBQMTE0ICwgY2xhc3MgUDExNSAsIGNsYXNzIFAxMTYgLCBjbGFzcyBQMTE3ICwgY2xhc3MgUDExOCAsIGNsYXNzIFAxMTkgLCBjbGFzcyBQMTIwICwgY2xhc3MgUDEyMSAsIGNsYXNzIFAxMjIgLCBjbGFzcyBQMTIzICwgY2xhc3MgUDEyNCAsIGNsYXNzIFAxMjUgLCBjbGFzcyBQMTI2ICwgY2xhc3MgUDEyNyAsIGNsYXNzIFAxMjggLCBjbGFzcyBQMTI5ICwgY2xhc3MgUDEzMCAsIGNsYXNzIFAxMzEgLCBjbGFzcyBQMTMyICwgY2xhc3MgUDEzMyAsIGNsYXNzIFAxMzQgLCBjbGFzcyBQMTM1ICwgY2xhc3MgUDEzNiAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjEzNzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IxMzg8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1ICwgUDk2ICwgUDk3ICwgUDk4ICwgUDk5ICwgUDEwMCAsIFAxMDEgLCBQMTAyICwgUDEwMyAsIFAxMDQgLCBQMTA1ICwgUDEwNiAsIFAxMDcgLCBQMTA4ICwgUDEwOSAsIFAxMTAgLCBQMTExICwgUDExMiAsIFAxMTMgLCBQMTE0ICwgUDExNSAsIFAxMTYgLCBQMTE3ICwgUDExOCAsIFAxMTkgLCBQMTIwICwgUDEyMSAsIFAxMjIgLCBQMTIzICwgUDEyNCAsIFAxMjUgLCBQMTI2ICwgUDEyNyAsIFAxMjggLCBQMTI5ICwgUDEzMCAsIFAxMzEgLCBQMTMyICwgUDEzMyAsIFAxMzQgLCBQMTM1ICwgUDEzNiAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBQOTMgLCBjbGFzcyBQOTQgLCBjbGFzcyBQOTUgLCBjbGFzcyBQOTYgLCBjbGFzcyBQOTcgLCBjbGFzcyBQOTggLCBjbGFzcyBQOTkgLCBjbGFzcyBQMTAwICwgY2xhc3MgUDEwMSAsIGNsYXNzIFAxMDIgLCBjbGFzcyBQMTAzICwgY2xhc3MgUDEwNCAsIGNsYXNzIFAxMDUgLCBjbGFzcyBQMTA2ICwgY2xhc3MgUDEwNyAsIGNsYXNzIFAxMDggLCBjbGFzcyBQMTA5ICwgY2xhc3MgUDExMCAsIGNsYXNzIFAxMTEgLCBjbGFzcyBQMTEyICwgY2xhc3MgUDExMyAsIGNsYXNzIFAxMTQgLCBjbGFzcyBQMTE1ICwgY2xhc3MgUDExNiAsIGNsYXNzIFAxMTcgLCBjbGFzcyBQMTE4ICwgY2xhc3MgUDExOSAsIGNsYXNzIFAxMjAgLCBjbGFzcyBQMTIxICwgY2xhc3MgUDEyMiAsIGNsYXNzIFAxMjMgLCBjbGFzcyBQMTI0ICwgY2xhc3MgUDEyNSAsIGNsYXNzIFAxMjYgLCBjbGFzcyBQMTI3ICwgY2xhc3MgUDEyOCAsIGNsYXNzIFAxMjkgLCBjbGFzcyBQMTMwICwgY2xhc3MgUDEzMSAsIGNsYXNzIFAxMzIgLCBjbGFzcyBQMTMzICwgY2xhc3MgUDEzNCAsIGNsYXNzIFAxMzUgLCBjbGFzcyBQMTM2ICwgY2xhc3MgUDEzNyAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjEzODwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNz4sIFQ+IHsgdHlwZWRlZiBuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMTM5PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFA5MiAsIFA5MyAsIFA5NCAsIFA5NSAsIFA5NiAsIFA5NyAsIFA5OCAsIFA5OSAsIFAxMDAgLCBQMTAxICwgUDEwMiAsIFAxMDMgLCBQMTA0ICwgUDEwNSAsIFAxMDYgLCBQMTA3ICwgUDEwOCAsIFAxMDkgLCBQMTEwICwgUDExMSAsIFAxMTIgLCBQMTEzICwgUDExNCAsIFAxMTUgLCBQMTE2ICwgUDExNyAsIFAxMTggLCBQMTE5ICwgUDEyMCAsIFAxMjEgLCBQMTIyICwgUDEyMyAsIFAxMjQgLCBQMTI1ICwgUDEyNiAsIFAxMjcgLCBQMTI4ICwgUDEyOSAsIFAxMzAgLCBQMTMxICwgUDEzMiAsIFAxMzMgLCBQMTM0ICwgUDEzNSAsIFAxMzYgLCBQMTM3ICwgVCA+IHR5cGU7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSAsIGNsYXNzIFA4NiAsIGNsYXNzIFA4NyAsIGNsYXNzIFA4OCAsIGNsYXNzIFA4OSAsIGNsYXNzIFA5MCAsIGNsYXNzIFA5MSAsIGNsYXNzIFA5MiAsIGNsYXNzIFA5MyAsIGNsYXNzIFA5NCAsIGNsYXNzIFA5NSAsIGNsYXNzIFA5NiAsIGNsYXNzIFA5NyAsIGNsYXNzIFA5OCAsIGNsYXNzIFA5OSAsIGNsYXNzIFAxMDAgLCBjbGFzcyBQMTAxICwgY2xhc3MgUDEwMiAsIGNsYXNzIFAxMDMgLCBjbGFzcyBQMTA0ICwgY2xhc3MgUDEwNSAsIGNsYXNzIFAxMDYgLCBjbGFzcyBQMTA3ICwgY2xhc3MgUDEwOCAsIGNsYXNzIFAxMDkgLCBjbGFzcyBQMTEwICwgY2xhc3MgUDExMSAsIGNsYXNzIFAxMTIgLCBjbGFzcyBQMTEzICwgY2xhc3MgUDExNCAsIGNsYXNzIFAxMTUgLCBjbGFzcyBQMTE2ICwgY2xhc3MgUDExNyAsIGNsYXNzIFAxMTggLCBjbGFzcyBQMTE5ICwgY2xhc3MgUDEyMCAsIGNsYXNzIFAxMjEgLCBjbGFzcyBQMTIyICwgY2xhc3MgUDEyMyAsIGNsYXNzIFAxMjQgLCBjbGFzcyBQMTI1ICwgY2xhc3MgUDEyNiAsIGNsYXNzIFAxMjcgLCBjbGFzcyBQMTI4ICwgY2xhc3MgUDEyOSAsIGNsYXNzIFAxMzAgLCBjbGFzcyBQMTMxICwgY2xhc3MgUDEzMiAsIGNsYXNzIFAxMzMgLCBjbGFzcyBQMTM0ICwgY2xhc3MgUDEzNSAsIGNsYXNzIFAxMzYgLCBjbGFzcyBQMTM3ICwgY2xhc3MgUDEzOCAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjEzOTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzg+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjE0MDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ICwgY2xhc3MgUDk2ICwgY2xhc3MgUDk3ICwgY2xhc3MgUDk4ICwgY2xhc3MgUDk5ICwgY2xhc3MgUDEwMCAsIGNsYXNzIFAxMDEgLCBjbGFzcyBQMTAyICwgY2xhc3MgUDEwMyAsIGNsYXNzIFAxMDQgLCBjbGFzcyBQMTA1ICwgY2xhc3MgUDEwNiAsIGNsYXNzIFAxMDcgLCBjbGFzcyBQMTA4ICwgY2xhc3MgUDEwOSAsIGNsYXNzIFAxMTAgLCBjbGFzcyBQMTExICwgY2xhc3MgUDExMiAsIGNsYXNzIFAxMTMgLCBjbGFzcyBQMTE0ICwgY2xhc3MgUDExNSAsIGNsYXNzIFAxMTYgLCBjbGFzcyBQMTE3ICwgY2xhc3MgUDExOCAsIGNsYXNzIFAxMTkgLCBjbGFzcyBQMTIwICwgY2xhc3MgUDEyMSAsIGNsYXNzIFAxMjIgLCBjbGFzcyBQMTIzICwgY2xhc3MgUDEyNCAsIGNsYXNzIFAxMjUgLCBjbGFzcyBQMTI2ICwgY2xhc3MgUDEyNyAsIGNsYXNzIFAxMjggLCBjbGFzcyBQMTI5ICwgY2xhc3MgUDEzMCAsIGNsYXNzIFAxMzEgLCBjbGFzcyBQMTMyICwgY2xhc3MgUDEzMyAsIGNsYXNzIFAxMzQgLCBjbGFzcyBQMTM1ICwgY2xhc3MgUDEzNiAsIGNsYXNzIFAxMzcgLCBjbGFzcyBQMTM4ICwgY2xhc3MgUDEzOSAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjE0MDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IxNDE8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1ICwgUDk2ICwgUDk3ICwgUDk4ICwgUDk5ICwgUDEwMCAsIFAxMDEgLCBQMTAyICwgUDEwMyAsIFAxMDQgLCBQMTA1ICwgUDEwNiAsIFAxMDcgLCBQMTA4ICwgUDEwOSAsIFAxMTAgLCBQMTExICwgUDExMiAsIFAxMTMgLCBQMTE0ICwgUDExNSAsIFAxMTYgLCBQMTE3ICwgUDExOCAsIFAxMTkgLCBQMTIwICwgUDEyMSAsIFAxMjIgLCBQMTIzICwgUDEyNCAsIFAxMjUgLCBQMTI2ICwgUDEyNyAsIFAxMjggLCBQMTI5ICwgUDEzMCAsIFAxMzEgLCBQMTMyICwgUDEzMyAsIFAxMzQgLCBQMTM1ICwgUDEzNiAsIFAxMzcgLCBQMTM4ICwgUDEzOSAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBQOTMgLCBjbGFzcyBQOTQgLCBjbGFzcyBQOTUgLCBjbGFzcyBQOTYgLCBjbGFzcyBQOTcgLCBjbGFzcyBQOTggLCBjbGFzcyBQOTkgLCBjbGFzcyBQMTAwICwgY2xhc3MgUDEwMSAsIGNsYXNzIFAxMDIgLCBjbGFzcyBQMTAzICwgY2xhc3MgUDEwNCAsIGNsYXNzIFAxMDUgLCBjbGFzcyBQMTA2ICwgY2xhc3MgUDEwNyAsIGNsYXNzIFAxMDggLCBjbGFzcyBQMTA5ICwgY2xhc3MgUDExMCAsIGNsYXNzIFAxMTEgLCBjbGFzcyBQMTEyICwgY2xhc3MgUDExMyAsIGNsYXNzIFAxMTQgLCBjbGFzcyBQMTE1ICwgY2xhc3MgUDExNiAsIGNsYXNzIFAxMTcgLCBjbGFzcyBQMTE4ICwgY2xhc3MgUDExOSAsIGNsYXNzIFAxMjAgLCBjbGFzcyBQMTIxICwgY2xhc3MgUDEyMiAsIGNsYXNzIFAxMjMgLCBjbGFzcyBQMTI0ICwgY2xhc3MgUDEyNSAsIGNsYXNzIFAxMjYgLCBjbGFzcyBQMTI3ICwgY2xhc3MgUDEyOCAsIGNsYXNzIFAxMjkgLCBjbGFzcyBQMTMwICwgY2xhc3MgUDEzMSAsIGNsYXNzIFAxMzIgLCBjbGFzcyBQMTMzICwgY2xhc3MgUDEzNCAsIGNsYXNzIFAxMzUgLCBjbGFzcyBQMTM2ICwgY2xhc3MgUDEzNyAsIGNsYXNzIFAxMzggLCBjbGFzcyBQMTM5ICwgY2xhc3MgUDE0MCAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjE0MTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MD4sIFQ+IHsgdHlwZWRlZiBuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMTQyPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFA5MiAsIFA5MyAsIFA5NCAsIFA5NSAsIFA5NiAsIFA5NyAsIFA5OCAsIFA5OSAsIFAxMDAgLCBQMTAxICwgUDEwMiAsIFAxMDMgLCBQMTA0ICwgUDEwNSAsIFAxMDYgLCBQMTA3ICwgUDEwOCAsIFAxMDkgLCBQMTEwICwgUDExMSAsIFAxMTIgLCBQMTEzICwgUDExNCAsIFAxMTUgLCBQMTE2ICwgUDExNyAsIFAxMTggLCBQMTE5ICwgUDEyMCAsIFAxMjEgLCBQMTIyICwgUDEyMyAsIFAxMjQgLCBQMTI1ICwgUDEyNiAsIFAxMjcgLCBQMTI4ICwgUDEyOSAsIFAxMzAgLCBQMTMxICwgUDEzMiAsIFAxMzMgLCBQMTM0ICwgUDEzNSAsIFAxMzYgLCBQMTM3ICwgUDEzOCAsIFAxMzkgLCBQMTQwICwgVCA+IHR5cGU7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSAsIGNsYXNzIFA4NiAsIGNsYXNzIFA4NyAsIGNsYXNzIFA4OCAsIGNsYXNzIFA4OSAsIGNsYXNzIFA5MCAsIGNsYXNzIFA5MSAsIGNsYXNzIFA5MiAsIGNsYXNzIFA5MyAsIGNsYXNzIFA5NCAsIGNsYXNzIFA5NSAsIGNsYXNzIFA5NiAsIGNsYXNzIFA5NyAsIGNsYXNzIFA5OCAsIGNsYXNzIFA5OSAsIGNsYXNzIFAxMDAgLCBjbGFzcyBQMTAxICwgY2xhc3MgUDEwMiAsIGNsYXNzIFAxMDMgLCBjbGFzcyBQMTA0ICwgY2xhc3MgUDEwNSAsIGNsYXNzIFAxMDYgLCBjbGFzcyBQMTA3ICwgY2xhc3MgUDEwOCAsIGNsYXNzIFAxMDkgLCBjbGFzcyBQMTEwICwgY2xhc3MgUDExMSAsIGNsYXNzIFAxMTIgLCBjbGFzcyBQMTEzICwgY2xhc3MgUDExNCAsIGNsYXNzIFAxMTUgLCBjbGFzcyBQMTE2ICwgY2xhc3MgUDExNyAsIGNsYXNzIFAxMTggLCBjbGFzcyBQMTE5ICwgY2xhc3MgUDEyMCAsIGNsYXNzIFAxMjEgLCBjbGFzcyBQMTIyICwgY2xhc3MgUDEyMyAsIGNsYXNzIFAxMjQgLCBjbGFzcyBQMTI1ICwgY2xhc3MgUDEyNiAsIGNsYXNzIFAxMjcgLCBjbGFzcyBQMTI4ICwgY2xhc3MgUDEyOSAsIGNsYXNzIFAxMzAgLCBjbGFzcyBQMTMxICwgY2xhc3MgUDEzMiAsIGNsYXNzIFAxMzMgLCBjbGFzcyBQMTM0ICwgY2xhc3MgUDEzNSAsIGNsYXNzIFAxMzYgLCBjbGFzcyBQMTM3ICwgY2xhc3MgUDEzOCAsIGNsYXNzIFAxMzkgLCBjbGFzcyBQMTQwICwgY2xhc3MgUDE0MSAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjE0MjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MCAsIFAxNDE+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjE0MzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MCAsIFAxNDEgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ICwgY2xhc3MgUDk2ICwgY2xhc3MgUDk3ICwgY2xhc3MgUDk4ICwgY2xhc3MgUDk5ICwgY2xhc3MgUDEwMCAsIGNsYXNzIFAxMDEgLCBjbGFzcyBQMTAyICwgY2xhc3MgUDEwMyAsIGNsYXNzIFAxMDQgLCBjbGFzcyBQMTA1ICwgY2xhc3MgUDEwNiAsIGNsYXNzIFAxMDcgLCBjbGFzcyBQMTA4ICwgY2xhc3MgUDEwOSAsIGNsYXNzIFAxMTAgLCBjbGFzcyBQMTExICwgY2xhc3MgUDExMiAsIGNsYXNzIFAxMTMgLCBjbGFzcyBQMTE0ICwgY2xhc3MgUDExNSAsIGNsYXNzIFAxMTYgLCBjbGFzcyBQMTE3ICwgY2xhc3MgUDExOCAsIGNsYXNzIFAxMTkgLCBjbGFzcyBQMTIwICwgY2xhc3MgUDEyMSAsIGNsYXNzIFAxMjIgLCBjbGFzcyBQMTIzICwgY2xhc3MgUDEyNCAsIGNsYXNzIFAxMjUgLCBjbGFzcyBQMTI2ICwgY2xhc3MgUDEyNyAsIGNsYXNzIFAxMjggLCBjbGFzcyBQMTI5ICwgY2xhc3MgUDEzMCAsIGNsYXNzIFAxMzEgLCBjbGFzcyBQMTMyICwgY2xhc3MgUDEzMyAsIGNsYXNzIFAxMzQgLCBjbGFzcyBQMTM1ICwgY2xhc3MgUDEzNiAsIGNsYXNzIFAxMzcgLCBjbGFzcyBQMTM4ICwgY2xhc3MgUDEzOSAsIGNsYXNzIFAxNDAgLCBjbGFzcyBQMTQxICwgY2xhc3MgUDE0MiAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjE0MzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MCAsIFAxNDEgLCBQMTQyPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IxNDQ8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1ICwgUDk2ICwgUDk3ICwgUDk4ICwgUDk5ICwgUDEwMCAsIFAxMDEgLCBQMTAyICwgUDEwMyAsIFAxMDQgLCBQMTA1ICwgUDEwNiAsIFAxMDcgLCBQMTA4ICwgUDEwOSAsIFAxMTAgLCBQMTExICwgUDExMiAsIFAxMTMgLCBQMTE0ICwgUDExNSAsIFAxMTYgLCBQMTE3ICwgUDExOCAsIFAxMTkgLCBQMTIwICwgUDEyMSAsIFAxMjIgLCBQMTIzICwgUDEyNCAsIFAxMjUgLCBQMTI2ICwgUDEyNyAsIFAxMjggLCBQMTI5ICwgUDEzMCAsIFAxMzEgLCBQMTMyICwgUDEzMyAsIFAxMzQgLCBQMTM1ICwgUDEzNiAsIFAxMzcgLCBQMTM4ICwgUDEzOSAsIFAxNDAgLCBQMTQxICwgUDE0MiAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBQOTMgLCBjbGFzcyBQOTQgLCBjbGFzcyBQOTUgLCBjbGFzcyBQOTYgLCBjbGFzcyBQOTcgLCBjbGFzcyBQOTggLCBjbGFzcyBQOTkgLCBjbGFzcyBQMTAwICwgY2xhc3MgUDEwMSAsIGNsYXNzIFAxMDIgLCBjbGFzcyBQMTAzICwgY2xhc3MgUDEwNCAsIGNsYXNzIFAxMDUgLCBjbGFzcyBQMTA2ICwgY2xhc3MgUDEwNyAsIGNsYXNzIFAxMDggLCBjbGFzcyBQMTA5ICwgY2xhc3MgUDExMCAsIGNsYXNzIFAxMTEgLCBjbGFzcyBQMTEyICwgY2xhc3MgUDExMyAsIGNsYXNzIFAxMTQgLCBjbGFzcyBQMTE1ICwgY2xhc3MgUDExNiAsIGNsYXNzIFAxMTcgLCBjbGFzcyBQMTE4ICwgY2xhc3MgUDExOSAsIGNsYXNzIFAxMjAgLCBjbGFzcyBQMTIxICwgY2xhc3MgUDEyMiAsIGNsYXNzIFAxMjMgLCBjbGFzcyBQMTI0ICwgY2xhc3MgUDEyNSAsIGNsYXNzIFAxMjYgLCBjbGFzcyBQMTI3ICwgY2xhc3MgUDEyOCAsIGNsYXNzIFAxMjkgLCBjbGFzcyBQMTMwICwgY2xhc3MgUDEzMSAsIGNsYXNzIFAxMzIgLCBjbGFzcyBQMTMzICwgY2xhc3MgUDEzNCAsIGNsYXNzIFAxMzUgLCBjbGFzcyBQMTM2ICwgY2xhc3MgUDEzNyAsIGNsYXNzIFAxMzggLCBjbGFzcyBQMTM5ICwgY2xhc3MgUDE0MCAsIGNsYXNzIFAxNDEgLCBjbGFzcyBQMTQyICwgY2xhc3MgUDE0MyAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjE0NDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MCAsIFAxNDEgLCBQMTQyICwgUDE0Mz4sIFQ+IHsgdHlwZWRlZiBuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMTQ1PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFA5MiAsIFA5MyAsIFA5NCAsIFA5NSAsIFA5NiAsIFA5NyAsIFA5OCAsIFA5OSAsIFAxMDAgLCBQMTAxICwgUDEwMiAsIFAxMDMgLCBQMTA0ICwgUDEwNSAsIFAxMDYgLCBQMTA3ICwgUDEwOCAsIFAxMDkgLCBQMTEwICwgUDExMSAsIFAxMTIgLCBQMTEzICwgUDExNCAsIFAxMTUgLCBQMTE2ICwgUDExNyAsIFAxMTggLCBQMTE5ICwgUDEyMCAsIFAxMjEgLCBQMTIyICwgUDEyMyAsIFAxMjQgLCBQMTI1ICwgUDEyNiAsIFAxMjcgLCBQMTI4ICwgUDEyOSAsIFAxMzAgLCBQMTMxICwgUDEzMiAsIFAxMzMgLCBQMTM0ICwgUDEzNSAsIFAxMzYgLCBQMTM3ICwgUDEzOCAsIFAxMzkgLCBQMTQwICwgUDE0MSAsIFAxNDIgLCBQMTQzICwgVCA+IHR5cGU7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSAsIGNsYXNzIFA4NiAsIGNsYXNzIFA4NyAsIGNsYXNzIFA4OCAsIGNsYXNzIFA4OSAsIGNsYXNzIFA5MCAsIGNsYXNzIFA5MSAsIGNsYXNzIFA5MiAsIGNsYXNzIFA5MyAsIGNsYXNzIFA5NCAsIGNsYXNzIFA5NSAsIGNsYXNzIFA5NiAsIGNsYXNzIFA5NyAsIGNsYXNzIFA5OCAsIGNsYXNzIFA5OSAsIGNsYXNzIFAxMDAgLCBjbGFzcyBQMTAxICwgY2xhc3MgUDEwMiAsIGNsYXNzIFAxMDMgLCBjbGFzcyBQMTA0ICwgY2xhc3MgUDEwNSAsIGNsYXNzIFAxMDYgLCBjbGFzcyBQMTA3ICwgY2xhc3MgUDEwOCAsIGNsYXNzIFAxMDkgLCBjbGFzcyBQMTEwICwgY2xhc3MgUDExMSAsIGNsYXNzIFAxMTIgLCBjbGFzcyBQMTEzICwgY2xhc3MgUDExNCAsIGNsYXNzIFAxMTUgLCBjbGFzcyBQMTE2ICwgY2xhc3MgUDExNyAsIGNsYXNzIFAxMTggLCBjbGFzcyBQMTE5ICwgY2xhc3MgUDEyMCAsIGNsYXNzIFAxMjEgLCBjbGFzcyBQMTIyICwgY2xhc3MgUDEyMyAsIGNsYXNzIFAxMjQgLCBjbGFzcyBQMTI1ICwgY2xhc3MgUDEyNiAsIGNsYXNzIFAxMjcgLCBjbGFzcyBQMTI4ICwgY2xhc3MgUDEyOSAsIGNsYXNzIFAxMzAgLCBjbGFzcyBQMTMxICwgY2xhc3MgUDEzMiAsIGNsYXNzIFAxMzMgLCBjbGFzcyBQMTM0ICwgY2xhc3MgUDEzNSAsIGNsYXNzIFAxMzYgLCBjbGFzcyBQMTM3ICwgY2xhc3MgUDEzOCAsIGNsYXNzIFAxMzkgLCBjbGFzcyBQMTQwICwgY2xhc3MgUDE0MSAsIGNsYXNzIFAxNDIgLCBjbGFzcyBQMTQzICwgY2xhc3MgUDE0NCAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjE0NTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MCAsIFAxNDEgLCBQMTQyICwgUDE0MyAsIFAxNDQ+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjE0NjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MCAsIFAxNDEgLCBQMTQyICwgUDE0MyAsIFAxNDQgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ICwgY2xhc3MgUDk2ICwgY2xhc3MgUDk3ICwgY2xhc3MgUDk4ICwgY2xhc3MgUDk5ICwgY2xhc3MgUDEwMCAsIGNsYXNzIFAxMDEgLCBjbGFzcyBQMTAyICwgY2xhc3MgUDEwMyAsIGNsYXNzIFAxMDQgLCBjbGFzcyBQMTA1ICwgY2xhc3MgUDEwNiAsIGNsYXNzIFAxMDcgLCBjbGFzcyBQMTA4ICwgY2xhc3MgUDEwOSAsIGNsYXNzIFAxMTAgLCBjbGFzcyBQMTExICwgY2xhc3MgUDExMiAsIGNsYXNzIFAxMTMgLCBjbGFzcyBQMTE0ICwgY2xhc3MgUDExNSAsIGNsYXNzIFAxMTYgLCBjbGFzcyBQMTE3ICwgY2xhc3MgUDExOCAsIGNsYXNzIFAxMTkgLCBjbGFzcyBQMTIwICwgY2xhc3MgUDEyMSAsIGNsYXNzIFAxMjIgLCBjbGFzcyBQMTIzICwgY2xhc3MgUDEyNCAsIGNsYXNzIFAxMjUgLCBjbGFzcyBQMTI2ICwgY2xhc3MgUDEyNyAsIGNsYXNzIFAxMjggLCBjbGFzcyBQMTI5ICwgY2xhc3MgUDEzMCAsIGNsYXNzIFAxMzEgLCBjbGFzcyBQMTMyICwgY2xhc3MgUDEzMyAsIGNsYXNzIFAxMzQgLCBjbGFzcyBQMTM1ICwgY2xhc3MgUDEzNiAsIGNsYXNzIFAxMzcgLCBjbGFzcyBQMTM4ICwgY2xhc3MgUDEzOSAsIGNsYXNzIFAxNDAgLCBjbGFzcyBQMTQxICwgY2xhc3MgUDE0MiAsIGNsYXNzIFAxNDMgLCBjbGFzcyBQMTQ0ICwgY2xhc3MgUDE0NSAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjE0NjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MCAsIFAxNDEgLCBQMTQyICwgUDE0MyAsIFAxNDQgLCBQMTQ1PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IxNDc8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1ICwgUDk2ICwgUDk3ICwgUDk4ICwgUDk5ICwgUDEwMCAsIFAxMDEgLCBQMTAyICwgUDEwMyAsIFAxMDQgLCBQMTA1ICwgUDEwNiAsIFAxMDcgLCBQMTA4ICwgUDEwOSAsIFAxMTAgLCBQMTExICwgUDExMiAsIFAxMTMgLCBQMTE0ICwgUDExNSAsIFAxMTYgLCBQMTE3ICwgUDExOCAsIFAxMTkgLCBQMTIwICwgUDEyMSAsIFAxMjIgLCBQMTIzICwgUDEyNCAsIFAxMjUgLCBQMTI2ICwgUDEyNyAsIFAxMjggLCBQMTI5ICwgUDEzMCAsIFAxMzEgLCBQMTMyICwgUDEzMyAsIFAxMzQgLCBQMTM1ICwgUDEzNiAsIFAxMzcgLCBQMTM4ICwgUDEzOSAsIFAxNDAgLCBQMTQxICwgUDE0MiAsIFAxNDMgLCBQMTQ0ICwgUDE0NSAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBQOTMgLCBjbGFzcyBQOTQgLCBjbGFzcyBQOTUgLCBjbGFzcyBQOTYgLCBjbGFzcyBQOTcgLCBjbGFzcyBQOTggLCBjbGFzcyBQOTkgLCBjbGFzcyBQMTAwICwgY2xhc3MgUDEwMSAsIGNsYXNzIFAxMDIgLCBjbGFzcyBQMTAzICwgY2xhc3MgUDEwNCAsIGNsYXNzIFAxMDUgLCBjbGFzcyBQMTA2ICwgY2xhc3MgUDEwNyAsIGNsYXNzIFAxMDggLCBjbGFzcyBQMTA5ICwgY2xhc3MgUDExMCAsIGNsYXNzIFAxMTEgLCBjbGFzcyBQMTEyICwgY2xhc3MgUDExMyAsIGNsYXNzIFAxMTQgLCBjbGFzcyBQMTE1ICwgY2xhc3MgUDExNiAsIGNsYXNzIFAxMTcgLCBjbGFzcyBQMTE4ICwgY2xhc3MgUDExOSAsIGNsYXNzIFAxMjAgLCBjbGFzcyBQMTIxICwgY2xhc3MgUDEyMiAsIGNsYXNzIFAxMjMgLCBjbGFzcyBQMTI0ICwgY2xhc3MgUDEyNSAsIGNsYXNzIFAxMjYgLCBjbGFzcyBQMTI3ICwgY2xhc3MgUDEyOCAsIGNsYXNzIFAxMjkgLCBjbGFzcyBQMTMwICwgY2xhc3MgUDEzMSAsIGNsYXNzIFAxMzIgLCBjbGFzcyBQMTMzICwgY2xhc3MgUDEzNCAsIGNsYXNzIFAxMzUgLCBjbGFzcyBQMTM2ICwgY2xhc3MgUDEzNyAsIGNsYXNzIFAxMzggLCBjbGFzcyBQMTM5ICwgY2xhc3MgUDE0MCAsIGNsYXNzIFAxNDEgLCBjbGFzcyBQMTQyICwgY2xhc3MgUDE0MyAsIGNsYXNzIFAxNDQgLCBjbGFzcyBQMTQ1ICwgY2xhc3MgUDE0NiAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjE0NzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MCAsIFAxNDEgLCBQMTQyICwgUDE0MyAsIFAxNDQgLCBQMTQ1ICwgUDE0Nj4sIFQ+IHsgdHlwZWRlZiBuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMTQ4PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFA5MiAsIFA5MyAsIFA5NCAsIFA5NSAsIFA5NiAsIFA5NyAsIFA5OCAsIFA5OSAsIFAxMDAgLCBQMTAxICwgUDEwMiAsIFAxMDMgLCBQMTA0ICwgUDEwNSAsIFAxMDYgLCBQMTA3ICwgUDEwOCAsIFAxMDkgLCBQMTEwICwgUDExMSAsIFAxMTIgLCBQMTEzICwgUDExNCAsIFAxMTUgLCBQMTE2ICwgUDExNyAsIFAxMTggLCBQMTE5ICwgUDEyMCAsIFAxMjEgLCBQMTIyICwgUDEyMyAsIFAxMjQgLCBQMTI1ICwgUDEyNiAsIFAxMjcgLCBQMTI4ICwgUDEyOSAsIFAxMzAgLCBQMTMxICwgUDEzMiAsIFAxMzMgLCBQMTM0ICwgUDEzNSAsIFAxMzYgLCBQMTM3ICwgUDEzOCAsIFAxMzkgLCBQMTQwICwgUDE0MSAsIFAxNDIgLCBQMTQzICwgUDE0NCAsIFAxNDUgLCBQMTQ2ICwgVCA+IHR5cGU7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSAsIGNsYXNzIFA4NiAsIGNsYXNzIFA4NyAsIGNsYXNzIFA4OCAsIGNsYXNzIFA4OSAsIGNsYXNzIFA5MCAsIGNsYXNzIFA5MSAsIGNsYXNzIFA5MiAsIGNsYXNzIFA5MyAsIGNsYXNzIFA5NCAsIGNsYXNzIFA5NSAsIGNsYXNzIFA5NiAsIGNsYXNzIFA5NyAsIGNsYXNzIFA5OCAsIGNsYXNzIFA5OSAsIGNsYXNzIFAxMDAgLCBjbGFzcyBQMTAxICwgY2xhc3MgUDEwMiAsIGNsYXNzIFAxMDMgLCBjbGFzcyBQMTA0ICwgY2xhc3MgUDEwNSAsIGNsYXNzIFAxMDYgLCBjbGFzcyBQMTA3ICwgY2xhc3MgUDEwOCAsIGNsYXNzIFAxMDkgLCBjbGFzcyBQMTEwICwgY2xhc3MgUDExMSAsIGNsYXNzIFAxMTIgLCBjbGFzcyBQMTEzICwgY2xhc3MgUDExNCAsIGNsYXNzIFAxMTUgLCBjbGFzcyBQMTE2ICwgY2xhc3MgUDExNyAsIGNsYXNzIFAxMTggLCBjbGFzcyBQMTE5ICwgY2xhc3MgUDEyMCAsIGNsYXNzIFAxMjEgLCBjbGFzcyBQMTIyICwgY2xhc3MgUDEyMyAsIGNsYXNzIFAxMjQgLCBjbGFzcyBQMTI1ICwgY2xhc3MgUDEyNiAsIGNsYXNzIFAxMjcgLCBjbGFzcyBQMTI4ICwgY2xhc3MgUDEyOSAsIGNsYXNzIFAxMzAgLCBjbGFzcyBQMTMxICwgY2xhc3MgUDEzMiAsIGNsYXNzIFAxMzMgLCBjbGFzcyBQMTM0ICwgY2xhc3MgUDEzNSAsIGNsYXNzIFAxMzYgLCBjbGFzcyBQMTM3ICwgY2xhc3MgUDEzOCAsIGNsYXNzIFAxMzkgLCBjbGFzcyBQMTQwICwgY2xhc3MgUDE0MSAsIGNsYXNzIFAxNDIgLCBjbGFzcyBQMTQzICwgY2xhc3MgUDE0NCAsIGNsYXNzIFAxNDUgLCBjbGFzcyBQMTQ2ICwgY2xhc3MgUDE0NyAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjE0ODwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MCAsIFAxNDEgLCBQMTQyICwgUDE0MyAsIFAxNDQgLCBQMTQ1ICwgUDE0NiAsIFAxNDc+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjE0OTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MCAsIFAxNDEgLCBQMTQyICwgUDE0MyAsIFAxNDQgLCBQMTQ1ICwgUDE0NiAsIFAxNDcgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ICwgY2xhc3MgUDk2ICwgY2xhc3MgUDk3ICwgY2xhc3MgUDk4ICwgY2xhc3MgUDk5ICwgY2xhc3MgUDEwMCAsIGNsYXNzIFAxMDEgLCBjbGFzcyBQMTAyICwgY2xhc3MgUDEwMyAsIGNsYXNzIFAxMDQgLCBjbGFzcyBQMTA1ICwgY2xhc3MgUDEwNiAsIGNsYXNzIFAxMDcgLCBjbGFzcyBQMTA4ICwgY2xhc3MgUDEwOSAsIGNsYXNzIFAxMTAgLCBjbGFzcyBQMTExICwgY2xhc3MgUDExMiAsIGNsYXNzIFAxMTMgLCBjbGFzcyBQMTE0ICwgY2xhc3MgUDExNSAsIGNsYXNzIFAxMTYgLCBjbGFzcyBQMTE3ICwgY2xhc3MgUDExOCAsIGNsYXNzIFAxMTkgLCBjbGFzcyBQMTIwICwgY2xhc3MgUDEyMSAsIGNsYXNzIFAxMjIgLCBjbGFzcyBQMTIzICwgY2xhc3MgUDEyNCAsIGNsYXNzIFAxMjUgLCBjbGFzcyBQMTI2ICwgY2xhc3MgUDEyNyAsIGNsYXNzIFAxMjggLCBjbGFzcyBQMTI5ICwgY2xhc3MgUDEzMCAsIGNsYXNzIFAxMzEgLCBjbGFzcyBQMTMyICwgY2xhc3MgUDEzMyAsIGNsYXNzIFAxMzQgLCBjbGFzcyBQMTM1ICwgY2xhc3MgUDEzNiAsIGNsYXNzIFAxMzcgLCBjbGFzcyBQMTM4ICwgY2xhc3MgUDEzOSAsIGNsYXNzIFAxNDAgLCBjbGFzcyBQMTQxICwgY2xhc3MgUDE0MiAsIGNsYXNzIFAxNDMgLCBjbGFzcyBQMTQ0ICwgY2xhc3MgUDE0NSAsIGNsYXNzIFAxNDYgLCBjbGFzcyBQMTQ3ICwgY2xhc3MgUDE0OCAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjE0OTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MCAsIFAxNDEgLCBQMTQyICwgUDE0MyAsIFAxNDQgLCBQMTQ1ICwgUDE0NiAsIFAxNDcgLCBQMTQ4PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IxNTA8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1ICwgUDk2ICwgUDk3ICwgUDk4ICwgUDk5ICwgUDEwMCAsIFAxMDEgLCBQMTAyICwgUDEwMyAsIFAxMDQgLCBQMTA1ICwgUDEwNiAsIFAxMDcgLCBQMTA4ICwgUDEwOSAsIFAxMTAgLCBQMTExICwgUDExMiAsIFAxMTMgLCBQMTE0ICwgUDExNSAsIFAxMTYgLCBQMTE3ICwgUDExOCAsIFAxMTkgLCBQMTIwICwgUDEyMSAsIFAxMjIgLCBQMTIzICwgUDEyNCAsIFAxMjUgLCBQMTI2ICwgUDEyNyAsIFAxMjggLCBQMTI5ICwgUDEzMCAsIFAxMzEgLCBQMTMyICwgUDEzMyAsIFAxMzQgLCBQMTM1ICwgUDEzNiAsIFAxMzcgLCBQMTM4ICwgUDEzOSAsIFAxNDAgLCBQMTQxICwgUDE0MiAsIFAxNDMgLCBQMTQ0ICwgUDE0NSAsIFAxNDYgLCBQMTQ3ICwgUDE0OCAsIFQgPiB0eXBlOyB9OworfX0KZGlmZiAtLWdpdCBhL25kbmJvb3N0L3R5cGVvZi92ZWN0b3IyMDAuaHBwIGIvbmRuYm9vc3QvdHlwZW9mL3ZlY3RvcjIwMC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODI4NTkwMgotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L3R5cGVvZi92ZWN0b3IyMDAuaHBwCkBAIC0wLDAgKzEsNjIxIEBACisKKy8vIENvcHlyaWdodCAoQykgMjAwNSBBcmthZGl5IFZlcnRsZXliCisvLyBDb3B5cmlnaHQgKEMpIDIwMDUgUGVkZXIgSG9sdAorLy8KKy8vIFVzZSBtb2RpZmljYXRpb24gYW5kIGRpc3RyaWJ1dGlvbiBhcmUgc3ViamVjdCB0byB0aGUgYm9vc3QgU29mdHdhcmUgTGljZW5zZSwKKy8vIFZlcnNpb24gMS4wLiAoU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkuCisKKy8vIFByZXByb2Nlc3NlZCBjb2RlLCBkbyBub3QgZWRpdCBtYW51YWxseSAhCisKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIHR5cGVfb2YgeworICAgIHRlbXBsYXRlPGNsYXNzIFYsIGNsYXNzIEluY3JlYXNlX0JPT1NUX1RZUEVPRl9MSU1JVF9TSVpFPiBzdHJ1Y3Qgdl9pdGVyOworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50XzwwPiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtMCB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88MCArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88MT4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTEgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDEgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDI+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW0yIHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50XzwyICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50XzwzPiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtMyB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88MyArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88ND4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTQgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDQgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDU+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW01IHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50Xzw1ICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50Xzw2PiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtNiB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88NiArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88Nz4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTcgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDcgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDg+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW04IHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50Xzw4ICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50Xzw5PiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtOSB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88OSArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88MTA+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW0xMCB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88MTAgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDExPiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtMTEgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDExICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50XzwxMj4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTEyIHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50XzwxMiArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88MTM+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW0xMyB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88MTMgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDE0PiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtMTQgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDE0ICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50XzwxNT4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTE1IHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50XzwxNSArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88MTY+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW0xNiB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88MTYgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDE3PiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtMTcgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDE3ICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50XzwxOD4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTE4IHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50XzwxOCArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88MTk+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW0xOSB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88MTkgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDIwPiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtMjAgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDIwICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50XzwyMT4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTIxIHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50XzwyMSArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88MjI+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW0yMiB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88MjIgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDIzPiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtMjMgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDIzICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50XzwyND4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTI0IHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50XzwyNCArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88MjU+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW0yNSB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88MjUgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDI2PiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtMjYgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDI2ICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50XzwyNz4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTI3IHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50XzwyNyArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88Mjg+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW0yOCB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88MjggKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDI5PiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtMjkgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDI5ICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50XzwzMD4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTMwIHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50XzwzMCArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88MzE+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW0zMSB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88MzEgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDMyPiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtMzIgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDMyICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50XzwzMz4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTMzIHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50XzwzMyArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88MzQ+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW0zNCB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88MzQgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDM1PiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtMzUgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDM1ICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50XzwzNj4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTM2IHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50XzwzNiArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88Mzc+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW0zNyB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88MzcgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDM4PiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtMzggdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDM4ICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50XzwzOT4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTM5IHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50XzwzOSArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88NDA+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW00MCB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88NDAgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDQxPiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtNDEgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDQxICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50Xzw0Mj4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTQyIHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50Xzw0MiArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88NDM+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW00MyB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88NDMgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDQ0PiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtNDQgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDQ0ICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50Xzw0NT4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTQ1IHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50Xzw0NSArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88NDY+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW00NiB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88NDYgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDQ3PiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtNDcgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDQ3ICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50Xzw0OD4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTQ4IHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50Xzw0OCArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88NDk+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW00OSB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88NDkgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDUwPiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtNTAgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDUwICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50Xzw1MT4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTUxIHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50Xzw1MSArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88NTI+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW01MiB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88NTIgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDUzPiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtNTMgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDUzICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50Xzw1ND4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTU0IHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50Xzw1NCArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88NTU+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW01NSB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88NTUgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDU2PiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtNTYgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDU2ICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50Xzw1Nz4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTU3IHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50Xzw1NyArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88NTg+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW01OCB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88NTggKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDU5PiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtNTkgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDU5ICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50Xzw2MD4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTYwIHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50Xzw2MCArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88NjE+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW02MSB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88NjEgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDYyPiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtNjIgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDYyICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50Xzw2Mz4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTYzIHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50Xzw2MyArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88NjQ+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW02NCB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88NjQgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDY1PiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtNjUgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDY1ICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50Xzw2Nj4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTY2IHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50Xzw2NiArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88Njc+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW02NyB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88NjcgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDY4PiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtNjggdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDY4ICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50Xzw2OT4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTY5IHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50Xzw2OSArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88NzA+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW03MCB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88NzAgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDcxPiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtNzEgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDcxICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50Xzw3Mj4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTcyIHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50Xzw3MiArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88NzM+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW03MyB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88NzMgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDc0PiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtNzQgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDc0ICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50Xzw3NT4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTc1IHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50Xzw3NSArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88NzY+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW03NiB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88NzYgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDc3PiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtNzcgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDc3ICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50Xzw3OD4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTc4IHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50Xzw3OCArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88Nzk+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW03OSB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88NzkgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDgwPiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtODAgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDgwICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50Xzw4MT4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTgxIHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50Xzw4MSArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88ODI+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW04MiB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88ODIgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDgzPiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtODMgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDgzICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50Xzw4ND4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTg0IHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50Xzw4NCArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88ODU+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW04NSB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88ODUgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDg2PiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtODYgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDg2ICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50Xzw4Nz4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTg3IHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50Xzw4NyArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88ODg+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW04OCB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88ODggKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDg5PiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtODkgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDg5ICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50Xzw5MD4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTkwIHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50Xzw5MCArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88OTE+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW05MSB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88OTEgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDkyPiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtOTIgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDkyICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50Xzw5Mz4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTkzIHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50Xzw5MyArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88OTQ+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW05NCB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88OTQgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDk1PiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtOTUgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDk1ICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50Xzw5Nj4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTk2IHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50Xzw5NiArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88OTc+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW05NyB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88OTcgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDk4PiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtOTggdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDk4ICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50Xzw5OT4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTk5IHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50Xzw5OSArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88MTAwPiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtMTAwIHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50XzwxMDAgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDEwMT4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTEwMSB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88MTAxICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50XzwxMDI+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW0xMDIgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDEwMiArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88MTAzPiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtMTAzIHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50XzwxMDMgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDEwND4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTEwNCB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88MTA0ICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50XzwxMDU+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW0xMDUgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDEwNSArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88MTA2PiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtMTA2IHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50XzwxMDYgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDEwNz4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTEwNyB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88MTA3ICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50XzwxMDg+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW0xMDggdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDEwOCArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88MTA5PiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtMTA5IHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50XzwxMDkgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDExMD4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTExMCB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88MTEwICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50XzwxMTE+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW0xMTEgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDExMSArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88MTEyPiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtMTEyIHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50XzwxMTIgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDExMz4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTExMyB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88MTEzICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50XzwxMTQ+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW0xMTQgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDExNCArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88MTE1PiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtMTE1IHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50XzwxMTUgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDExNj4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTExNiB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88MTE2ICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50XzwxMTc+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW0xMTcgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDExNyArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88MTE4PiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtMTE4IHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50XzwxMTggKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDExOT4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTExOSB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88MTE5ICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50XzwxMjA+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW0xMjAgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDEyMCArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88MTIxPiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtMTIxIHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50XzwxMjEgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDEyMj4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTEyMiB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88MTIyICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50XzwxMjM+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW0xMjMgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDEyMyArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88MTI0PiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtMTI0IHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50XzwxMjQgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDEyNT4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTEyNSB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88MTI1ICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50XzwxMjY+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW0xMjYgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDEyNiArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88MTI3PiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtMTI3IHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50XzwxMjcgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDEyOD4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTEyOCB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88MTI4ICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50XzwxMjk+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW0xMjkgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDEyOSArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88MTMwPiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtMTMwIHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50XzwxMzAgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDEzMT4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTEzMSB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88MTMxICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50XzwxMzI+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW0xMzIgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDEzMiArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88MTMzPiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtMTMzIHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50XzwxMzMgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDEzND4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTEzNCB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88MTM0ICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50XzwxMzU+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW0xMzUgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDEzNSArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88MTM2PiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtMTM2IHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50XzwxMzYgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDEzNz4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTEzNyB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88MTM3ICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50XzwxMzg+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW0xMzggdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDEzOCArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88MTM5PiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtMTM5IHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50XzwxMzkgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDE0MD4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTE0MCB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88MTQwICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50XzwxNDE+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW0xNDEgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDE0MSArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88MTQyPiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtMTQyIHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50XzwxNDIgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDE0Mz4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTE0MyB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88MTQzICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50XzwxNDQ+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW0xNDQgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDE0NCArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88MTQ1PiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtMTQ1IHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50XzwxNDUgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDE0Nj4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTE0NiB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88MTQ2ICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50XzwxNDc+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW0xNDcgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDE0NyArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88MTQ4PiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtMTQ4IHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50XzwxNDggKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDE0OT4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTE0OSB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88MTQ5ICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50XzwxNTA+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW0xNTAgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDE1MCArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88MTUxPiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtMTUxIHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50XzwxNTEgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDE1Mj4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTE1MiB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88MTUyICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50XzwxNTM+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW0xNTMgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDE1MyArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88MTU0PiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtMTU0IHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50XzwxNTQgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDE1NT4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTE1NSB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88MTU1ICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50XzwxNTY+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW0xNTYgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDE1NiArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88MTU3PiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtMTU3IHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50XzwxNTcgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDE1OD4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTE1OCB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88MTU4ICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50XzwxNTk+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW0xNTkgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDE1OSArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88MTYwPiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtMTYwIHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50XzwxNjAgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDE2MT4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTE2MSB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88MTYxICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50XzwxNjI+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW0xNjIgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDE2MiArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88MTYzPiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtMTYzIHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50XzwxNjMgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDE2ND4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTE2NCB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88MTY0ICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50XzwxNjU+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW0xNjUgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDE2NSArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88MTY2PiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtMTY2IHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50XzwxNjYgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDE2Nz4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTE2NyB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88MTY3ICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50XzwxNjg+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW0xNjggdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDE2OCArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88MTY5PiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtMTY5IHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50XzwxNjkgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDE3MD4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTE3MCB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88MTcwICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50XzwxNzE+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW0xNzEgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDE3MSArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88MTcyPiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtMTcyIHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50XzwxNzIgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDE3Mz4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTE3MyB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88MTczICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50XzwxNzQ+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW0xNzQgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDE3NCArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88MTc1PiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtMTc1IHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50XzwxNzUgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDE3Nj4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTE3NiB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88MTc2ICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50XzwxNzc+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW0xNzcgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDE3NyArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88MTc4PiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtMTc4IHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50XzwxNzggKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDE3OT4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTE3OSB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88MTc5ICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50XzwxODA+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW0xODAgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDE4MCArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88MTgxPiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtMTgxIHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50XzwxODEgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDE4Mj4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTE4MiB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88MTgyICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50XzwxODM+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW0xODMgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDE4MyArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88MTg0PiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtMTg0IHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50XzwxODQgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDE4NT4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTE4NSB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88MTg1ICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50XzwxODY+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW0xODYgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDE4NiArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88MTg3PiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtMTg3IHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50XzwxODcgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDE4OD4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTE4OCB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88MTg4ICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50XzwxODk+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW0xODkgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDE4OSArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88MTkwPiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtMTkwIHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50XzwxOTAgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDE5MT4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTE5MSB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88MTkxICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50XzwxOTI+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW0xOTIgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDE5MiArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88MTkzPiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtMTkzIHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50XzwxOTMgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDE5ND4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTE5NCB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88MTk0ICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50XzwxOTU+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW0xOTUgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDE5NSArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88MTk2PiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtMTk2IHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50XzwxOTYgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDE5Nz4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTE5NyB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88MTk3ICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50XzwxOTg+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW0xOTggdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDE5OCArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88MTk5PiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtMTk5IHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50XzwxOTkgKyAxPiA+IG5leHQ7IH07Cit9fQorbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIHR5cGVfb2YgeworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgVCA9IHZvaWQ+IHN0cnVjdCB2ZWN0b3IwIHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yMDw+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0wOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ5OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgPiBzdHJ1Y3QgdmVjdG9yMSB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjE8IFAwPiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ5OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSA+IHN0cnVjdCB2ZWN0b3IyIHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yMjwgUDAgLCBQMT4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ5OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyID4gc3RydWN0IHZlY3RvcjMgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3IzPCBQMCAsIFAxICwgUDI+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ5OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgPiBzdHJ1Y3QgdmVjdG9yNCB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjQ8IFAwICwgUDEgLCBQMiAsIFAzPiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ5OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCA+IHN0cnVjdCB2ZWN0b3I1IHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yNTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQND4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ5OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ID4gc3RydWN0IHZlY3RvcjYgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3I2PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDU+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgUDMgaXRlbTM7IHR5cGVkZWYgUDQgaXRlbTQ7IHR5cGVkZWYgUDUgaXRlbTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ5OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgPiBzdHJ1Y3QgdmVjdG9yNyB7IHR5cGVkZWYgdl9pdGVyPHZlY3Rvcjc8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2PiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ5OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyA+IHN0cnVjdCB2ZWN0b3I4IHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yODwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNz4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ5OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ID4gc3RydWN0IHZlY3RvcjkgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3I5PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDg+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgUDMgaXRlbTM7IHR5cGVkZWYgUDQgaXRlbTQ7IHR5cGVkZWYgUDUgaXRlbTU7IHR5cGVkZWYgUDYgaXRlbTY7IHR5cGVkZWYgUDcgaXRlbTc7IHR5cGVkZWYgUDggaXRlbTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ5OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgPiBzdHJ1Y3QgdmVjdG9yMTAgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3IxMDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDk+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgUDMgaXRlbTM7IHR5cGVkZWYgUDQgaXRlbTQ7IHR5cGVkZWYgUDUgaXRlbTU7IHR5cGVkZWYgUDYgaXRlbTY7IHR5cGVkZWYgUDcgaXRlbTc7IHR5cGVkZWYgUDggaXRlbTg7IHR5cGVkZWYgUDkgaXRlbTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDk7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCA+IHN0cnVjdCB2ZWN0b3IxMSB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjExPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMD4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0OTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExID4gc3RydWN0IHZlY3RvcjEyIHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yMTI8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExPiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ5OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgPiBzdHJ1Y3QgdmVjdG9yMTMgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3IxMzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTI+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgUDMgaXRlbTM7IHR5cGVkZWYgUDQgaXRlbTQ7IHR5cGVkZWYgUDUgaXRlbTU7IHR5cGVkZWYgUDYgaXRlbTY7IHR5cGVkZWYgUDcgaXRlbTc7IHR5cGVkZWYgUDggaXRlbTg7IHR5cGVkZWYgUDkgaXRlbTk7IHR5cGVkZWYgUDEwIGl0ZW0xMDsgdHlwZWRlZiBQMTEgaXRlbTExOyB0eXBlZGVmIFAxMiBpdGVtMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDk7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyA+IHN0cnVjdCB2ZWN0b3IxNCB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjE0PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMz4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0OTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ID4gc3RydWN0IHZlY3RvcjE1IHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yMTU8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0PiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ5OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgPiBzdHJ1Y3QgdmVjdG9yMTYgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3IxNjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTU+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgUDMgaXRlbTM7IHR5cGVkZWYgUDQgaXRlbTQ7IHR5cGVkZWYgUDUgaXRlbTU7IHR5cGVkZWYgUDYgaXRlbTY7IHR5cGVkZWYgUDcgaXRlbTc7IHR5cGVkZWYgUDggaXRlbTg7IHR5cGVkZWYgUDkgaXRlbTk7IHR5cGVkZWYgUDEwIGl0ZW0xMDsgdHlwZWRlZiBQMTEgaXRlbTExOyB0eXBlZGVmIFAxMiBpdGVtMTI7IHR5cGVkZWYgUDEzIGl0ZW0xMzsgdHlwZWRlZiBQMTQgaXRlbTE0OyB0eXBlZGVmIFAxNSBpdGVtMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDk7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiA+IHN0cnVjdCB2ZWN0b3IxNyB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjE3PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNj4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0OTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ID4gc3RydWN0IHZlY3RvcjE4IHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yMTg8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3PiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ5OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggPiBzdHJ1Y3QgdmVjdG9yMTkgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3IxOTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTg+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgUDMgaXRlbTM7IHR5cGVkZWYgUDQgaXRlbTQ7IHR5cGVkZWYgUDUgaXRlbTU7IHR5cGVkZWYgUDYgaXRlbTY7IHR5cGVkZWYgUDcgaXRlbTc7IHR5cGVkZWYgUDggaXRlbTg7IHR5cGVkZWYgUDkgaXRlbTk7IHR5cGVkZWYgUDEwIGl0ZW0xMDsgdHlwZWRlZiBQMTEgaXRlbTExOyB0eXBlZGVmIFAxMiBpdGVtMTI7IHR5cGVkZWYgUDEzIGl0ZW0xMzsgdHlwZWRlZiBQMTQgaXRlbTE0OyB0eXBlZGVmIFAxNSBpdGVtMTU7IHR5cGVkZWYgUDE2IGl0ZW0xNjsgdHlwZWRlZiBQMTcgaXRlbTE3OyB0eXBlZGVmIFAxOCBpdGVtMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDk7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSA+IHN0cnVjdCB2ZWN0b3IyMCB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjIwPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOT4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0OTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwID4gc3RydWN0IHZlY3RvcjIxIHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yMjE8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwPiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ5OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgPiBzdHJ1Y3QgdmVjdG9yMjIgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3IyMjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjE+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgUDMgaXRlbTM7IHR5cGVkZWYgUDQgaXRlbTQ7IHR5cGVkZWYgUDUgaXRlbTU7IHR5cGVkZWYgUDYgaXRlbTY7IHR5cGVkZWYgUDcgaXRlbTc7IHR5cGVkZWYgUDggaXRlbTg7IHR5cGVkZWYgUDkgaXRlbTk7IHR5cGVkZWYgUDEwIGl0ZW0xMDsgdHlwZWRlZiBQMTEgaXRlbTExOyB0eXBlZGVmIFAxMiBpdGVtMTI7IHR5cGVkZWYgUDEzIGl0ZW0xMzsgdHlwZWRlZiBQMTQgaXRlbTE0OyB0eXBlZGVmIFAxNSBpdGVtMTU7IHR5cGVkZWYgUDE2IGl0ZW0xNjsgdHlwZWRlZiBQMTcgaXRlbTE3OyB0eXBlZGVmIFAxOCBpdGVtMTg7IHR5cGVkZWYgUDE5IGl0ZW0xOTsgdHlwZWRlZiBQMjAgaXRlbTIwOyB0eXBlZGVmIFAyMSBpdGVtMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDk7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiA+IHN0cnVjdCB2ZWN0b3IyMyB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjIzPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMj4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0OTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzID4gc3RydWN0IHZlY3RvcjI0IHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yMjQ8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzPiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ5OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgPiBzdHJ1Y3QgdmVjdG9yMjUgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3IyNTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQ+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgUDMgaXRlbTM7IHR5cGVkZWYgUDQgaXRlbTQ7IHR5cGVkZWYgUDUgaXRlbTU7IHR5cGVkZWYgUDYgaXRlbTY7IHR5cGVkZWYgUDcgaXRlbTc7IHR5cGVkZWYgUDggaXRlbTg7IHR5cGVkZWYgUDkgaXRlbTk7IHR5cGVkZWYgUDEwIGl0ZW0xMDsgdHlwZWRlZiBQMTEgaXRlbTExOyB0eXBlZGVmIFAxMiBpdGVtMTI7IHR5cGVkZWYgUDEzIGl0ZW0xMzsgdHlwZWRlZiBQMTQgaXRlbTE0OyB0eXBlZGVmIFAxNSBpdGVtMTU7IHR5cGVkZWYgUDE2IGl0ZW0xNjsgdHlwZWRlZiBQMTcgaXRlbTE3OyB0eXBlZGVmIFAxOCBpdGVtMTg7IHR5cGVkZWYgUDE5IGl0ZW0xOTsgdHlwZWRlZiBQMjAgaXRlbTIwOyB0eXBlZGVmIFAyMSBpdGVtMjE7IHR5cGVkZWYgUDIyIGl0ZW0yMjsgdHlwZWRlZiBQMjMgaXRlbTIzOyB0eXBlZGVmIFAyNCBpdGVtMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDk7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSA+IHN0cnVjdCB2ZWN0b3IyNiB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjI2PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNT4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0OTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ID4gc3RydWN0IHZlY3RvcjI3IHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yMjc8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2PiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ5OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgPiBzdHJ1Y3QgdmVjdG9yMjggeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3IyODwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjc+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgUDMgaXRlbTM7IHR5cGVkZWYgUDQgaXRlbTQ7IHR5cGVkZWYgUDUgaXRlbTU7IHR5cGVkZWYgUDYgaXRlbTY7IHR5cGVkZWYgUDcgaXRlbTc7IHR5cGVkZWYgUDggaXRlbTg7IHR5cGVkZWYgUDkgaXRlbTk7IHR5cGVkZWYgUDEwIGl0ZW0xMDsgdHlwZWRlZiBQMTEgaXRlbTExOyB0eXBlZGVmIFAxMiBpdGVtMTI7IHR5cGVkZWYgUDEzIGl0ZW0xMzsgdHlwZWRlZiBQMTQgaXRlbTE0OyB0eXBlZGVmIFAxNSBpdGVtMTU7IHR5cGVkZWYgUDE2IGl0ZW0xNjsgdHlwZWRlZiBQMTcgaXRlbTE3OyB0eXBlZGVmIFAxOCBpdGVtMTg7IHR5cGVkZWYgUDE5IGl0ZW0xOTsgdHlwZWRlZiBQMjAgaXRlbTIwOyB0eXBlZGVmIFAyMSBpdGVtMjE7IHR5cGVkZWYgUDIyIGl0ZW0yMjsgdHlwZWRlZiBQMjMgaXRlbTIzOyB0eXBlZGVmIFAyNCBpdGVtMjQ7IHR5cGVkZWYgUDI1IGl0ZW0yNTsgdHlwZWRlZiBQMjYgaXRlbTI2OyB0eXBlZGVmIFAyNyBpdGVtMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDk7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCA+IHN0cnVjdCB2ZWN0b3IyOSB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjI5PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOD4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0OTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ID4gc3RydWN0IHZlY3RvcjMwIHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yMzA8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5PiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ5OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgPiBzdHJ1Y3QgdmVjdG9yMzEgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3IzMTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzA+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgUDMgaXRlbTM7IHR5cGVkZWYgUDQgaXRlbTQ7IHR5cGVkZWYgUDUgaXRlbTU7IHR5cGVkZWYgUDYgaXRlbTY7IHR5cGVkZWYgUDcgaXRlbTc7IHR5cGVkZWYgUDggaXRlbTg7IHR5cGVkZWYgUDkgaXRlbTk7IHR5cGVkZWYgUDEwIGl0ZW0xMDsgdHlwZWRlZiBQMTEgaXRlbTExOyB0eXBlZGVmIFAxMiBpdGVtMTI7IHR5cGVkZWYgUDEzIGl0ZW0xMzsgdHlwZWRlZiBQMTQgaXRlbTE0OyB0eXBlZGVmIFAxNSBpdGVtMTU7IHR5cGVkZWYgUDE2IGl0ZW0xNjsgdHlwZWRlZiBQMTcgaXRlbTE3OyB0eXBlZGVmIFAxOCBpdGVtMTg7IHR5cGVkZWYgUDE5IGl0ZW0xOTsgdHlwZWRlZiBQMjAgaXRlbTIwOyB0eXBlZGVmIFAyMSBpdGVtMjE7IHR5cGVkZWYgUDIyIGl0ZW0yMjsgdHlwZWRlZiBQMjMgaXRlbTIzOyB0eXBlZGVmIFAyNCBpdGVtMjQ7IHR5cGVkZWYgUDI1IGl0ZW0yNTsgdHlwZWRlZiBQMjYgaXRlbTI2OyB0eXBlZGVmIFAyNyBpdGVtMjc7IHR5cGVkZWYgUDI4IGl0ZW0yODsgdHlwZWRlZiBQMjkgaXRlbTI5OyB0eXBlZGVmIFAzMCBpdGVtMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDk7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSA+IHN0cnVjdCB2ZWN0b3IzMiB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjMyPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMT4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0OTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyID4gc3RydWN0IHZlY3RvcjMzIHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yMzM8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyPiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ5OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgPiBzdHJ1Y3QgdmVjdG9yMzQgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3IzNDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzM+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgUDMgaXRlbTM7IHR5cGVkZWYgUDQgaXRlbTQ7IHR5cGVkZWYgUDUgaXRlbTU7IHR5cGVkZWYgUDYgaXRlbTY7IHR5cGVkZWYgUDcgaXRlbTc7IHR5cGVkZWYgUDggaXRlbTg7IHR5cGVkZWYgUDkgaXRlbTk7IHR5cGVkZWYgUDEwIGl0ZW0xMDsgdHlwZWRlZiBQMTEgaXRlbTExOyB0eXBlZGVmIFAxMiBpdGVtMTI7IHR5cGVkZWYgUDEzIGl0ZW0xMzsgdHlwZWRlZiBQMTQgaXRlbTE0OyB0eXBlZGVmIFAxNSBpdGVtMTU7IHR5cGVkZWYgUDE2IGl0ZW0xNjsgdHlwZWRlZiBQMTcgaXRlbTE3OyB0eXBlZGVmIFAxOCBpdGVtMTg7IHR5cGVkZWYgUDE5IGl0ZW0xOTsgdHlwZWRlZiBQMjAgaXRlbTIwOyB0eXBlZGVmIFAyMSBpdGVtMjE7IHR5cGVkZWYgUDIyIGl0ZW0yMjsgdHlwZWRlZiBQMjMgaXRlbTIzOyB0eXBlZGVmIFAyNCBpdGVtMjQ7IHR5cGVkZWYgUDI1IGl0ZW0yNTsgdHlwZWRlZiBQMjYgaXRlbTI2OyB0eXBlZGVmIFAyNyBpdGVtMjc7IHR5cGVkZWYgUDI4IGl0ZW0yODsgdHlwZWRlZiBQMjkgaXRlbTI5OyB0eXBlZGVmIFAzMCBpdGVtMzA7IHR5cGVkZWYgUDMxIGl0ZW0zMTsgdHlwZWRlZiBQMzIgaXRlbTMyOyB0eXBlZGVmIFAzMyBpdGVtMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDk7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCA+IHN0cnVjdCB2ZWN0b3IzNSB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjM1PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzND4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0OTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ID4gc3RydWN0IHZlY3RvcjM2IHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yMzY8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1PiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ5OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgPiBzdHJ1Y3QgdmVjdG9yMzcgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3IzNzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzY+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgUDMgaXRlbTM7IHR5cGVkZWYgUDQgaXRlbTQ7IHR5cGVkZWYgUDUgaXRlbTU7IHR5cGVkZWYgUDYgaXRlbTY7IHR5cGVkZWYgUDcgaXRlbTc7IHR5cGVkZWYgUDggaXRlbTg7IHR5cGVkZWYgUDkgaXRlbTk7IHR5cGVkZWYgUDEwIGl0ZW0xMDsgdHlwZWRlZiBQMTEgaXRlbTExOyB0eXBlZGVmIFAxMiBpdGVtMTI7IHR5cGVkZWYgUDEzIGl0ZW0xMzsgdHlwZWRlZiBQMTQgaXRlbTE0OyB0eXBlZGVmIFAxNSBpdGVtMTU7IHR5cGVkZWYgUDE2IGl0ZW0xNjsgdHlwZWRlZiBQMTcgaXRlbTE3OyB0eXBlZGVmIFAxOCBpdGVtMTg7IHR5cGVkZWYgUDE5IGl0ZW0xOTsgdHlwZWRlZiBQMjAgaXRlbTIwOyB0eXBlZGVmIFAyMSBpdGVtMjE7IHR5cGVkZWYgUDIyIGl0ZW0yMjsgdHlwZWRlZiBQMjMgaXRlbTIzOyB0eXBlZGVmIFAyNCBpdGVtMjQ7IHR5cGVkZWYgUDI1IGl0ZW0yNTsgdHlwZWRlZiBQMjYgaXRlbTI2OyB0eXBlZGVmIFAyNyBpdGVtMjc7IHR5cGVkZWYgUDI4IGl0ZW0yODsgdHlwZWRlZiBQMjkgaXRlbTI5OyB0eXBlZGVmIFAzMCBpdGVtMzA7IHR5cGVkZWYgUDMxIGl0ZW0zMTsgdHlwZWRlZiBQMzIgaXRlbTMyOyB0eXBlZGVmIFAzMyBpdGVtMzM7IHR5cGVkZWYgUDM0IGl0ZW0zNDsgdHlwZWRlZiBQMzUgaXRlbTM1OyB0eXBlZGVmIFAzNiBpdGVtMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDk7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyA+IHN0cnVjdCB2ZWN0b3IzOCB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjM4PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNz4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0OTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ID4gc3RydWN0IHZlY3RvcjM5IHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yMzk8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4PiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ5OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgPiBzdHJ1Y3QgdmVjdG9yNDAgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3I0MDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzk+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgUDMgaXRlbTM7IHR5cGVkZWYgUDQgaXRlbTQ7IHR5cGVkZWYgUDUgaXRlbTU7IHR5cGVkZWYgUDYgaXRlbTY7IHR5cGVkZWYgUDcgaXRlbTc7IHR5cGVkZWYgUDggaXRlbTg7IHR5cGVkZWYgUDkgaXRlbTk7IHR5cGVkZWYgUDEwIGl0ZW0xMDsgdHlwZWRlZiBQMTEgaXRlbTExOyB0eXBlZGVmIFAxMiBpdGVtMTI7IHR5cGVkZWYgUDEzIGl0ZW0xMzsgdHlwZWRlZiBQMTQgaXRlbTE0OyB0eXBlZGVmIFAxNSBpdGVtMTU7IHR5cGVkZWYgUDE2IGl0ZW0xNjsgdHlwZWRlZiBQMTcgaXRlbTE3OyB0eXBlZGVmIFAxOCBpdGVtMTg7IHR5cGVkZWYgUDE5IGl0ZW0xOTsgdHlwZWRlZiBQMjAgaXRlbTIwOyB0eXBlZGVmIFAyMSBpdGVtMjE7IHR5cGVkZWYgUDIyIGl0ZW0yMjsgdHlwZWRlZiBQMjMgaXRlbTIzOyB0eXBlZGVmIFAyNCBpdGVtMjQ7IHR5cGVkZWYgUDI1IGl0ZW0yNTsgdHlwZWRlZiBQMjYgaXRlbTI2OyB0eXBlZGVmIFAyNyBpdGVtMjc7IHR5cGVkZWYgUDI4IGl0ZW0yODsgdHlwZWRlZiBQMjkgaXRlbTI5OyB0eXBlZGVmIFAzMCBpdGVtMzA7IHR5cGVkZWYgUDMxIGl0ZW0zMTsgdHlwZWRlZiBQMzIgaXRlbTMyOyB0eXBlZGVmIFAzMyBpdGVtMzM7IHR5cGVkZWYgUDM0IGl0ZW0zNDsgdHlwZWRlZiBQMzUgaXRlbTM1OyB0eXBlZGVmIFAzNiBpdGVtMzY7IHR5cGVkZWYgUDM3IGl0ZW0zNzsgdHlwZWRlZiBQMzggaXRlbTM4OyB0eXBlZGVmIFAzOSBpdGVtMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDk7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCA+IHN0cnVjdCB2ZWN0b3I0MSB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjQxPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MD4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0OTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxID4gc3RydWN0IHZlY3RvcjQyIHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yNDI8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxPiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgUDQxIGl0ZW00MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ5OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgPiBzdHJ1Y3QgdmVjdG9yNDMgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3I0MzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDI+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgUDMgaXRlbTM7IHR5cGVkZWYgUDQgaXRlbTQ7IHR5cGVkZWYgUDUgaXRlbTU7IHR5cGVkZWYgUDYgaXRlbTY7IHR5cGVkZWYgUDcgaXRlbTc7IHR5cGVkZWYgUDggaXRlbTg7IHR5cGVkZWYgUDkgaXRlbTk7IHR5cGVkZWYgUDEwIGl0ZW0xMDsgdHlwZWRlZiBQMTEgaXRlbTExOyB0eXBlZGVmIFAxMiBpdGVtMTI7IHR5cGVkZWYgUDEzIGl0ZW0xMzsgdHlwZWRlZiBQMTQgaXRlbTE0OyB0eXBlZGVmIFAxNSBpdGVtMTU7IHR5cGVkZWYgUDE2IGl0ZW0xNjsgdHlwZWRlZiBQMTcgaXRlbTE3OyB0eXBlZGVmIFAxOCBpdGVtMTg7IHR5cGVkZWYgUDE5IGl0ZW0xOTsgdHlwZWRlZiBQMjAgaXRlbTIwOyB0eXBlZGVmIFAyMSBpdGVtMjE7IHR5cGVkZWYgUDIyIGl0ZW0yMjsgdHlwZWRlZiBQMjMgaXRlbTIzOyB0eXBlZGVmIFAyNCBpdGVtMjQ7IHR5cGVkZWYgUDI1IGl0ZW0yNTsgdHlwZWRlZiBQMjYgaXRlbTI2OyB0eXBlZGVmIFAyNyBpdGVtMjc7IHR5cGVkZWYgUDI4IGl0ZW0yODsgdHlwZWRlZiBQMjkgaXRlbTI5OyB0eXBlZGVmIFAzMCBpdGVtMzA7IHR5cGVkZWYgUDMxIGl0ZW0zMTsgdHlwZWRlZiBQMzIgaXRlbTMyOyB0eXBlZGVmIFAzMyBpdGVtMzM7IHR5cGVkZWYgUDM0IGl0ZW0zNDsgdHlwZWRlZiBQMzUgaXRlbTM1OyB0eXBlZGVmIFAzNiBpdGVtMzY7IHR5cGVkZWYgUDM3IGl0ZW0zNzsgdHlwZWRlZiBQMzggaXRlbTM4OyB0eXBlZGVmIFAzOSBpdGVtMzk7IHR5cGVkZWYgUDQwIGl0ZW00MDsgdHlwZWRlZiBQNDEgaXRlbTQxOyB0eXBlZGVmIFA0MiBpdGVtNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDk7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyA+IHN0cnVjdCB2ZWN0b3I0NCB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjQ0PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0Mz4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0OTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ID4gc3RydWN0IHZlY3RvcjQ1IHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yNDU8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0PiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgUDQxIGl0ZW00MTsgdHlwZWRlZiBQNDIgaXRlbTQyOyB0eXBlZGVmIFA0MyBpdGVtNDM7IHR5cGVkZWYgUDQ0IGl0ZW00NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ5OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgPiBzdHJ1Y3QgdmVjdG9yNDYgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3I0NjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDU+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgUDMgaXRlbTM7IHR5cGVkZWYgUDQgaXRlbTQ7IHR5cGVkZWYgUDUgaXRlbTU7IHR5cGVkZWYgUDYgaXRlbTY7IHR5cGVkZWYgUDcgaXRlbTc7IHR5cGVkZWYgUDggaXRlbTg7IHR5cGVkZWYgUDkgaXRlbTk7IHR5cGVkZWYgUDEwIGl0ZW0xMDsgdHlwZWRlZiBQMTEgaXRlbTExOyB0eXBlZGVmIFAxMiBpdGVtMTI7IHR5cGVkZWYgUDEzIGl0ZW0xMzsgdHlwZWRlZiBQMTQgaXRlbTE0OyB0eXBlZGVmIFAxNSBpdGVtMTU7IHR5cGVkZWYgUDE2IGl0ZW0xNjsgdHlwZWRlZiBQMTcgaXRlbTE3OyB0eXBlZGVmIFAxOCBpdGVtMTg7IHR5cGVkZWYgUDE5IGl0ZW0xOTsgdHlwZWRlZiBQMjAgaXRlbTIwOyB0eXBlZGVmIFAyMSBpdGVtMjE7IHR5cGVkZWYgUDIyIGl0ZW0yMjsgdHlwZWRlZiBQMjMgaXRlbTIzOyB0eXBlZGVmIFAyNCBpdGVtMjQ7IHR5cGVkZWYgUDI1IGl0ZW0yNTsgdHlwZWRlZiBQMjYgaXRlbTI2OyB0eXBlZGVmIFAyNyBpdGVtMjc7IHR5cGVkZWYgUDI4IGl0ZW0yODsgdHlwZWRlZiBQMjkgaXRlbTI5OyB0eXBlZGVmIFAzMCBpdGVtMzA7IHR5cGVkZWYgUDMxIGl0ZW0zMTsgdHlwZWRlZiBQMzIgaXRlbTMyOyB0eXBlZGVmIFAzMyBpdGVtMzM7IHR5cGVkZWYgUDM0IGl0ZW0zNDsgdHlwZWRlZiBQMzUgaXRlbTM1OyB0eXBlZGVmIFAzNiBpdGVtMzY7IHR5cGVkZWYgUDM3IGl0ZW0zNzsgdHlwZWRlZiBQMzggaXRlbTM4OyB0eXBlZGVmIFAzOSBpdGVtMzk7IHR5cGVkZWYgUDQwIGl0ZW00MDsgdHlwZWRlZiBQNDEgaXRlbTQxOyB0eXBlZGVmIFA0MiBpdGVtNDI7IHR5cGVkZWYgUDQzIGl0ZW00MzsgdHlwZWRlZiBQNDQgaXRlbTQ0OyB0eXBlZGVmIFA0NSBpdGVtNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDk7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiA+IHN0cnVjdCB2ZWN0b3I0NyB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjQ3PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0Nj4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0OTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ID4gc3RydWN0IHZlY3RvcjQ4IHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yNDg8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3PiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgUDQxIGl0ZW00MTsgdHlwZWRlZiBQNDIgaXRlbTQyOyB0eXBlZGVmIFA0MyBpdGVtNDM7IHR5cGVkZWYgUDQ0IGl0ZW00NDsgdHlwZWRlZiBQNDUgaXRlbTQ1OyB0eXBlZGVmIFA0NiBpdGVtNDY7IHR5cGVkZWYgUDQ3IGl0ZW00NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ5OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggPiBzdHJ1Y3QgdmVjdG9yNDkgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3I0OTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDg+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgUDMgaXRlbTM7IHR5cGVkZWYgUDQgaXRlbTQ7IHR5cGVkZWYgUDUgaXRlbTU7IHR5cGVkZWYgUDYgaXRlbTY7IHR5cGVkZWYgUDcgaXRlbTc7IHR5cGVkZWYgUDggaXRlbTg7IHR5cGVkZWYgUDkgaXRlbTk7IHR5cGVkZWYgUDEwIGl0ZW0xMDsgdHlwZWRlZiBQMTEgaXRlbTExOyB0eXBlZGVmIFAxMiBpdGVtMTI7IHR5cGVkZWYgUDEzIGl0ZW0xMzsgdHlwZWRlZiBQMTQgaXRlbTE0OyB0eXBlZGVmIFAxNSBpdGVtMTU7IHR5cGVkZWYgUDE2IGl0ZW0xNjsgdHlwZWRlZiBQMTcgaXRlbTE3OyB0eXBlZGVmIFAxOCBpdGVtMTg7IHR5cGVkZWYgUDE5IGl0ZW0xOTsgdHlwZWRlZiBQMjAgaXRlbTIwOyB0eXBlZGVmIFAyMSBpdGVtMjE7IHR5cGVkZWYgUDIyIGl0ZW0yMjsgdHlwZWRlZiBQMjMgaXRlbTIzOyB0eXBlZGVmIFAyNCBpdGVtMjQ7IHR5cGVkZWYgUDI1IGl0ZW0yNTsgdHlwZWRlZiBQMjYgaXRlbTI2OyB0eXBlZGVmIFAyNyBpdGVtMjc7IHR5cGVkZWYgUDI4IGl0ZW0yODsgdHlwZWRlZiBQMjkgaXRlbTI5OyB0eXBlZGVmIFAzMCBpdGVtMzA7IHR5cGVkZWYgUDMxIGl0ZW0zMTsgdHlwZWRlZiBQMzIgaXRlbTMyOyB0eXBlZGVmIFAzMyBpdGVtMzM7IHR5cGVkZWYgUDM0IGl0ZW0zNDsgdHlwZWRlZiBQMzUgaXRlbTM1OyB0eXBlZGVmIFAzNiBpdGVtMzY7IHR5cGVkZWYgUDM3IGl0ZW0zNzsgdHlwZWRlZiBQMzggaXRlbTM4OyB0eXBlZGVmIFAzOSBpdGVtMzk7IHR5cGVkZWYgUDQwIGl0ZW00MDsgdHlwZWRlZiBQNDEgaXRlbTQxOyB0eXBlZGVmIFA0MiBpdGVtNDI7IHR5cGVkZWYgUDQzIGl0ZW00MzsgdHlwZWRlZiBQNDQgaXRlbTQ0OyB0eXBlZGVmIFA0NSBpdGVtNDU7IHR5cGVkZWYgUDQ2IGl0ZW00NjsgdHlwZWRlZiBQNDcgaXRlbTQ3OyB0eXBlZGVmIFA0OCBpdGVtNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDk7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSA+IHN0cnVjdCB2ZWN0b3I1MCB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjUwPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OT4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0OTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwID4gc3RydWN0IHZlY3RvcjUxIHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yNTE8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwPiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgUDQxIGl0ZW00MTsgdHlwZWRlZiBQNDIgaXRlbTQyOyB0eXBlZGVmIFA0MyBpdGVtNDM7IHR5cGVkZWYgUDQ0IGl0ZW00NDsgdHlwZWRlZiBQNDUgaXRlbTQ1OyB0eXBlZGVmIFA0NiBpdGVtNDY7IHR5cGVkZWYgUDQ3IGl0ZW00NzsgdHlwZWRlZiBQNDggaXRlbTQ4OyB0eXBlZGVmIFA0OSBpdGVtNDk7IHR5cGVkZWYgUDUwIGl0ZW01MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ5OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgPiBzdHJ1Y3QgdmVjdG9yNTIgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3I1MjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTE+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgUDMgaXRlbTM7IHR5cGVkZWYgUDQgaXRlbTQ7IHR5cGVkZWYgUDUgaXRlbTU7IHR5cGVkZWYgUDYgaXRlbTY7IHR5cGVkZWYgUDcgaXRlbTc7IHR5cGVkZWYgUDggaXRlbTg7IHR5cGVkZWYgUDkgaXRlbTk7IHR5cGVkZWYgUDEwIGl0ZW0xMDsgdHlwZWRlZiBQMTEgaXRlbTExOyB0eXBlZGVmIFAxMiBpdGVtMTI7IHR5cGVkZWYgUDEzIGl0ZW0xMzsgdHlwZWRlZiBQMTQgaXRlbTE0OyB0eXBlZGVmIFAxNSBpdGVtMTU7IHR5cGVkZWYgUDE2IGl0ZW0xNjsgdHlwZWRlZiBQMTcgaXRlbTE3OyB0eXBlZGVmIFAxOCBpdGVtMTg7IHR5cGVkZWYgUDE5IGl0ZW0xOTsgdHlwZWRlZiBQMjAgaXRlbTIwOyB0eXBlZGVmIFAyMSBpdGVtMjE7IHR5cGVkZWYgUDIyIGl0ZW0yMjsgdHlwZWRlZiBQMjMgaXRlbTIzOyB0eXBlZGVmIFAyNCBpdGVtMjQ7IHR5cGVkZWYgUDI1IGl0ZW0yNTsgdHlwZWRlZiBQMjYgaXRlbTI2OyB0eXBlZGVmIFAyNyBpdGVtMjc7IHR5cGVkZWYgUDI4IGl0ZW0yODsgdHlwZWRlZiBQMjkgaXRlbTI5OyB0eXBlZGVmIFAzMCBpdGVtMzA7IHR5cGVkZWYgUDMxIGl0ZW0zMTsgdHlwZWRlZiBQMzIgaXRlbTMyOyB0eXBlZGVmIFAzMyBpdGVtMzM7IHR5cGVkZWYgUDM0IGl0ZW0zNDsgdHlwZWRlZiBQMzUgaXRlbTM1OyB0eXBlZGVmIFAzNiBpdGVtMzY7IHR5cGVkZWYgUDM3IGl0ZW0zNzsgdHlwZWRlZiBQMzggaXRlbTM4OyB0eXBlZGVmIFAzOSBpdGVtMzk7IHR5cGVkZWYgUDQwIGl0ZW00MDsgdHlwZWRlZiBQNDEgaXRlbTQxOyB0eXBlZGVmIFA0MiBpdGVtNDI7IHR5cGVkZWYgUDQzIGl0ZW00MzsgdHlwZWRlZiBQNDQgaXRlbTQ0OyB0eXBlZGVmIFA0NSBpdGVtNDU7IHR5cGVkZWYgUDQ2IGl0ZW00NjsgdHlwZWRlZiBQNDcgaXRlbTQ3OyB0eXBlZGVmIFA0OCBpdGVtNDg7IHR5cGVkZWYgUDQ5IGl0ZW00OTsgdHlwZWRlZiBQNTAgaXRlbTUwOyB0eXBlZGVmIFA1MSBpdGVtNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDk7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiA+IHN0cnVjdCB2ZWN0b3I1MyB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjUzPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1Mj4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0OTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzID4gc3RydWN0IHZlY3RvcjU0IHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yNTQ8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzPiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgUDQxIGl0ZW00MTsgdHlwZWRlZiBQNDIgaXRlbTQyOyB0eXBlZGVmIFA0MyBpdGVtNDM7IHR5cGVkZWYgUDQ0IGl0ZW00NDsgdHlwZWRlZiBQNDUgaXRlbTQ1OyB0eXBlZGVmIFA0NiBpdGVtNDY7IHR5cGVkZWYgUDQ3IGl0ZW00NzsgdHlwZWRlZiBQNDggaXRlbTQ4OyB0eXBlZGVmIFA0OSBpdGVtNDk7IHR5cGVkZWYgUDUwIGl0ZW01MDsgdHlwZWRlZiBQNTEgaXRlbTUxOyB0eXBlZGVmIFA1MiBpdGVtNTI7IHR5cGVkZWYgUDUzIGl0ZW01MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ5OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgPiBzdHJ1Y3QgdmVjdG9yNTUgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3I1NTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQ+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgUDMgaXRlbTM7IHR5cGVkZWYgUDQgaXRlbTQ7IHR5cGVkZWYgUDUgaXRlbTU7IHR5cGVkZWYgUDYgaXRlbTY7IHR5cGVkZWYgUDcgaXRlbTc7IHR5cGVkZWYgUDggaXRlbTg7IHR5cGVkZWYgUDkgaXRlbTk7IHR5cGVkZWYgUDEwIGl0ZW0xMDsgdHlwZWRlZiBQMTEgaXRlbTExOyB0eXBlZGVmIFAxMiBpdGVtMTI7IHR5cGVkZWYgUDEzIGl0ZW0xMzsgdHlwZWRlZiBQMTQgaXRlbTE0OyB0eXBlZGVmIFAxNSBpdGVtMTU7IHR5cGVkZWYgUDE2IGl0ZW0xNjsgdHlwZWRlZiBQMTcgaXRlbTE3OyB0eXBlZGVmIFAxOCBpdGVtMTg7IHR5cGVkZWYgUDE5IGl0ZW0xOTsgdHlwZWRlZiBQMjAgaXRlbTIwOyB0eXBlZGVmIFAyMSBpdGVtMjE7IHR5cGVkZWYgUDIyIGl0ZW0yMjsgdHlwZWRlZiBQMjMgaXRlbTIzOyB0eXBlZGVmIFAyNCBpdGVtMjQ7IHR5cGVkZWYgUDI1IGl0ZW0yNTsgdHlwZWRlZiBQMjYgaXRlbTI2OyB0eXBlZGVmIFAyNyBpdGVtMjc7IHR5cGVkZWYgUDI4IGl0ZW0yODsgdHlwZWRlZiBQMjkgaXRlbTI5OyB0eXBlZGVmIFAzMCBpdGVtMzA7IHR5cGVkZWYgUDMxIGl0ZW0zMTsgdHlwZWRlZiBQMzIgaXRlbTMyOyB0eXBlZGVmIFAzMyBpdGVtMzM7IHR5cGVkZWYgUDM0IGl0ZW0zNDsgdHlwZWRlZiBQMzUgaXRlbTM1OyB0eXBlZGVmIFAzNiBpdGVtMzY7IHR5cGVkZWYgUDM3IGl0ZW0zNzsgdHlwZWRlZiBQMzggaXRlbTM4OyB0eXBlZGVmIFAzOSBpdGVtMzk7IHR5cGVkZWYgUDQwIGl0ZW00MDsgdHlwZWRlZiBQNDEgaXRlbTQxOyB0eXBlZGVmIFA0MiBpdGVtNDI7IHR5cGVkZWYgUDQzIGl0ZW00MzsgdHlwZWRlZiBQNDQgaXRlbTQ0OyB0eXBlZGVmIFA0NSBpdGVtNDU7IHR5cGVkZWYgUDQ2IGl0ZW00NjsgdHlwZWRlZiBQNDcgaXRlbTQ3OyB0eXBlZGVmIFA0OCBpdGVtNDg7IHR5cGVkZWYgUDQ5IGl0ZW00OTsgdHlwZWRlZiBQNTAgaXRlbTUwOyB0eXBlZGVmIFA1MSBpdGVtNTE7IHR5cGVkZWYgUDUyIGl0ZW01MjsgdHlwZWRlZiBQNTMgaXRlbTUzOyB0eXBlZGVmIFA1NCBpdGVtNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDk7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSA+IHN0cnVjdCB2ZWN0b3I1NiB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjU2PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NT4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0OTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ID4gc3RydWN0IHZlY3RvcjU3IHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yNTc8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2PiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgUDQxIGl0ZW00MTsgdHlwZWRlZiBQNDIgaXRlbTQyOyB0eXBlZGVmIFA0MyBpdGVtNDM7IHR5cGVkZWYgUDQ0IGl0ZW00NDsgdHlwZWRlZiBQNDUgaXRlbTQ1OyB0eXBlZGVmIFA0NiBpdGVtNDY7IHR5cGVkZWYgUDQ3IGl0ZW00NzsgdHlwZWRlZiBQNDggaXRlbTQ4OyB0eXBlZGVmIFA0OSBpdGVtNDk7IHR5cGVkZWYgUDUwIGl0ZW01MDsgdHlwZWRlZiBQNTEgaXRlbTUxOyB0eXBlZGVmIFA1MiBpdGVtNTI7IHR5cGVkZWYgUDUzIGl0ZW01MzsgdHlwZWRlZiBQNTQgaXRlbTU0OyB0eXBlZGVmIFA1NSBpdGVtNTU7IHR5cGVkZWYgUDU2IGl0ZW01NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ5OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgPiBzdHJ1Y3QgdmVjdG9yNTggeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3I1ODwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTc+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgUDMgaXRlbTM7IHR5cGVkZWYgUDQgaXRlbTQ7IHR5cGVkZWYgUDUgaXRlbTU7IHR5cGVkZWYgUDYgaXRlbTY7IHR5cGVkZWYgUDcgaXRlbTc7IHR5cGVkZWYgUDggaXRlbTg7IHR5cGVkZWYgUDkgaXRlbTk7IHR5cGVkZWYgUDEwIGl0ZW0xMDsgdHlwZWRlZiBQMTEgaXRlbTExOyB0eXBlZGVmIFAxMiBpdGVtMTI7IHR5cGVkZWYgUDEzIGl0ZW0xMzsgdHlwZWRlZiBQMTQgaXRlbTE0OyB0eXBlZGVmIFAxNSBpdGVtMTU7IHR5cGVkZWYgUDE2IGl0ZW0xNjsgdHlwZWRlZiBQMTcgaXRlbTE3OyB0eXBlZGVmIFAxOCBpdGVtMTg7IHR5cGVkZWYgUDE5IGl0ZW0xOTsgdHlwZWRlZiBQMjAgaXRlbTIwOyB0eXBlZGVmIFAyMSBpdGVtMjE7IHR5cGVkZWYgUDIyIGl0ZW0yMjsgdHlwZWRlZiBQMjMgaXRlbTIzOyB0eXBlZGVmIFAyNCBpdGVtMjQ7IHR5cGVkZWYgUDI1IGl0ZW0yNTsgdHlwZWRlZiBQMjYgaXRlbTI2OyB0eXBlZGVmIFAyNyBpdGVtMjc7IHR5cGVkZWYgUDI4IGl0ZW0yODsgdHlwZWRlZiBQMjkgaXRlbTI5OyB0eXBlZGVmIFAzMCBpdGVtMzA7IHR5cGVkZWYgUDMxIGl0ZW0zMTsgdHlwZWRlZiBQMzIgaXRlbTMyOyB0eXBlZGVmIFAzMyBpdGVtMzM7IHR5cGVkZWYgUDM0IGl0ZW0zNDsgdHlwZWRlZiBQMzUgaXRlbTM1OyB0eXBlZGVmIFAzNiBpdGVtMzY7IHR5cGVkZWYgUDM3IGl0ZW0zNzsgdHlwZWRlZiBQMzggaXRlbTM4OyB0eXBlZGVmIFAzOSBpdGVtMzk7IHR5cGVkZWYgUDQwIGl0ZW00MDsgdHlwZWRlZiBQNDEgaXRlbTQxOyB0eXBlZGVmIFA0MiBpdGVtNDI7IHR5cGVkZWYgUDQzIGl0ZW00MzsgdHlwZWRlZiBQNDQgaXRlbTQ0OyB0eXBlZGVmIFA0NSBpdGVtNDU7IHR5cGVkZWYgUDQ2IGl0ZW00NjsgdHlwZWRlZiBQNDcgaXRlbTQ3OyB0eXBlZGVmIFA0OCBpdGVtNDg7IHR5cGVkZWYgUDQ5IGl0ZW00OTsgdHlwZWRlZiBQNTAgaXRlbTUwOyB0eXBlZGVmIFA1MSBpdGVtNTE7IHR5cGVkZWYgUDUyIGl0ZW01MjsgdHlwZWRlZiBQNTMgaXRlbTUzOyB0eXBlZGVmIFA1NCBpdGVtNTQ7IHR5cGVkZWYgUDU1IGl0ZW01NTsgdHlwZWRlZiBQNTYgaXRlbTU2OyB0eXBlZGVmIFA1NyBpdGVtNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDk7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCA+IHN0cnVjdCB2ZWN0b3I1OSB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjU5PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OD4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0OTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ID4gc3RydWN0IHZlY3RvcjYwIHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yNjA8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5PiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgUDQxIGl0ZW00MTsgdHlwZWRlZiBQNDIgaXRlbTQyOyB0eXBlZGVmIFA0MyBpdGVtNDM7IHR5cGVkZWYgUDQ0IGl0ZW00NDsgdHlwZWRlZiBQNDUgaXRlbTQ1OyB0eXBlZGVmIFA0NiBpdGVtNDY7IHR5cGVkZWYgUDQ3IGl0ZW00NzsgdHlwZWRlZiBQNDggaXRlbTQ4OyB0eXBlZGVmIFA0OSBpdGVtNDk7IHR5cGVkZWYgUDUwIGl0ZW01MDsgdHlwZWRlZiBQNTEgaXRlbTUxOyB0eXBlZGVmIFA1MiBpdGVtNTI7IHR5cGVkZWYgUDUzIGl0ZW01MzsgdHlwZWRlZiBQNTQgaXRlbTU0OyB0eXBlZGVmIFA1NSBpdGVtNTU7IHR5cGVkZWYgUDU2IGl0ZW01NjsgdHlwZWRlZiBQNTcgaXRlbTU3OyB0eXBlZGVmIFA1OCBpdGVtNTg7IHR5cGVkZWYgUDU5IGl0ZW01OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ5OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgPiBzdHJ1Y3QgdmVjdG9yNjEgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3I2MTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjA+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgUDMgaXRlbTM7IHR5cGVkZWYgUDQgaXRlbTQ7IHR5cGVkZWYgUDUgaXRlbTU7IHR5cGVkZWYgUDYgaXRlbTY7IHR5cGVkZWYgUDcgaXRlbTc7IHR5cGVkZWYgUDggaXRlbTg7IHR5cGVkZWYgUDkgaXRlbTk7IHR5cGVkZWYgUDEwIGl0ZW0xMDsgdHlwZWRlZiBQMTEgaXRlbTExOyB0eXBlZGVmIFAxMiBpdGVtMTI7IHR5cGVkZWYgUDEzIGl0ZW0xMzsgdHlwZWRlZiBQMTQgaXRlbTE0OyB0eXBlZGVmIFAxNSBpdGVtMTU7IHR5cGVkZWYgUDE2IGl0ZW0xNjsgdHlwZWRlZiBQMTcgaXRlbTE3OyB0eXBlZGVmIFAxOCBpdGVtMTg7IHR5cGVkZWYgUDE5IGl0ZW0xOTsgdHlwZWRlZiBQMjAgaXRlbTIwOyB0eXBlZGVmIFAyMSBpdGVtMjE7IHR5cGVkZWYgUDIyIGl0ZW0yMjsgdHlwZWRlZiBQMjMgaXRlbTIzOyB0eXBlZGVmIFAyNCBpdGVtMjQ7IHR5cGVkZWYgUDI1IGl0ZW0yNTsgdHlwZWRlZiBQMjYgaXRlbTI2OyB0eXBlZGVmIFAyNyBpdGVtMjc7IHR5cGVkZWYgUDI4IGl0ZW0yODsgdHlwZWRlZiBQMjkgaXRlbTI5OyB0eXBlZGVmIFAzMCBpdGVtMzA7IHR5cGVkZWYgUDMxIGl0ZW0zMTsgdHlwZWRlZiBQMzIgaXRlbTMyOyB0eXBlZGVmIFAzMyBpdGVtMzM7IHR5cGVkZWYgUDM0IGl0ZW0zNDsgdHlwZWRlZiBQMzUgaXRlbTM1OyB0eXBlZGVmIFAzNiBpdGVtMzY7IHR5cGVkZWYgUDM3IGl0ZW0zNzsgdHlwZWRlZiBQMzggaXRlbTM4OyB0eXBlZGVmIFAzOSBpdGVtMzk7IHR5cGVkZWYgUDQwIGl0ZW00MDsgdHlwZWRlZiBQNDEgaXRlbTQxOyB0eXBlZGVmIFA0MiBpdGVtNDI7IHR5cGVkZWYgUDQzIGl0ZW00MzsgdHlwZWRlZiBQNDQgaXRlbTQ0OyB0eXBlZGVmIFA0NSBpdGVtNDU7IHR5cGVkZWYgUDQ2IGl0ZW00NjsgdHlwZWRlZiBQNDcgaXRlbTQ3OyB0eXBlZGVmIFA0OCBpdGVtNDg7IHR5cGVkZWYgUDQ5IGl0ZW00OTsgdHlwZWRlZiBQNTAgaXRlbTUwOyB0eXBlZGVmIFA1MSBpdGVtNTE7IHR5cGVkZWYgUDUyIGl0ZW01MjsgdHlwZWRlZiBQNTMgaXRlbTUzOyB0eXBlZGVmIFA1NCBpdGVtNTQ7IHR5cGVkZWYgUDU1IGl0ZW01NTsgdHlwZWRlZiBQNTYgaXRlbTU2OyB0eXBlZGVmIFA1NyBpdGVtNTc7IHR5cGVkZWYgUDU4IGl0ZW01ODsgdHlwZWRlZiBQNTkgaXRlbTU5OyB0eXBlZGVmIFA2MCBpdGVtNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDk7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSA+IHN0cnVjdCB2ZWN0b3I2MiB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjYyPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MT4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0OTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyID4gc3RydWN0IHZlY3RvcjYzIHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yNjM8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyPiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgUDQxIGl0ZW00MTsgdHlwZWRlZiBQNDIgaXRlbTQyOyB0eXBlZGVmIFA0MyBpdGVtNDM7IHR5cGVkZWYgUDQ0IGl0ZW00NDsgdHlwZWRlZiBQNDUgaXRlbTQ1OyB0eXBlZGVmIFA0NiBpdGVtNDY7IHR5cGVkZWYgUDQ3IGl0ZW00NzsgdHlwZWRlZiBQNDggaXRlbTQ4OyB0eXBlZGVmIFA0OSBpdGVtNDk7IHR5cGVkZWYgUDUwIGl0ZW01MDsgdHlwZWRlZiBQNTEgaXRlbTUxOyB0eXBlZGVmIFA1MiBpdGVtNTI7IHR5cGVkZWYgUDUzIGl0ZW01MzsgdHlwZWRlZiBQNTQgaXRlbTU0OyB0eXBlZGVmIFA1NSBpdGVtNTU7IHR5cGVkZWYgUDU2IGl0ZW01NjsgdHlwZWRlZiBQNTcgaXRlbTU3OyB0eXBlZGVmIFA1OCBpdGVtNTg7IHR5cGVkZWYgUDU5IGl0ZW01OTsgdHlwZWRlZiBQNjAgaXRlbTYwOyB0eXBlZGVmIFA2MSBpdGVtNjE7IHR5cGVkZWYgUDYyIGl0ZW02MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ5OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgPiBzdHJ1Y3QgdmVjdG9yNjQgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3I2NDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjM+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgUDMgaXRlbTM7IHR5cGVkZWYgUDQgaXRlbTQ7IHR5cGVkZWYgUDUgaXRlbTU7IHR5cGVkZWYgUDYgaXRlbTY7IHR5cGVkZWYgUDcgaXRlbTc7IHR5cGVkZWYgUDggaXRlbTg7IHR5cGVkZWYgUDkgaXRlbTk7IHR5cGVkZWYgUDEwIGl0ZW0xMDsgdHlwZWRlZiBQMTEgaXRlbTExOyB0eXBlZGVmIFAxMiBpdGVtMTI7IHR5cGVkZWYgUDEzIGl0ZW0xMzsgdHlwZWRlZiBQMTQgaXRlbTE0OyB0eXBlZGVmIFAxNSBpdGVtMTU7IHR5cGVkZWYgUDE2IGl0ZW0xNjsgdHlwZWRlZiBQMTcgaXRlbTE3OyB0eXBlZGVmIFAxOCBpdGVtMTg7IHR5cGVkZWYgUDE5IGl0ZW0xOTsgdHlwZWRlZiBQMjAgaXRlbTIwOyB0eXBlZGVmIFAyMSBpdGVtMjE7IHR5cGVkZWYgUDIyIGl0ZW0yMjsgdHlwZWRlZiBQMjMgaXRlbTIzOyB0eXBlZGVmIFAyNCBpdGVtMjQ7IHR5cGVkZWYgUDI1IGl0ZW0yNTsgdHlwZWRlZiBQMjYgaXRlbTI2OyB0eXBlZGVmIFAyNyBpdGVtMjc7IHR5cGVkZWYgUDI4IGl0ZW0yODsgdHlwZWRlZiBQMjkgaXRlbTI5OyB0eXBlZGVmIFAzMCBpdGVtMzA7IHR5cGVkZWYgUDMxIGl0ZW0zMTsgdHlwZWRlZiBQMzIgaXRlbTMyOyB0eXBlZGVmIFAzMyBpdGVtMzM7IHR5cGVkZWYgUDM0IGl0ZW0zNDsgdHlwZWRlZiBQMzUgaXRlbTM1OyB0eXBlZGVmIFAzNiBpdGVtMzY7IHR5cGVkZWYgUDM3IGl0ZW0zNzsgdHlwZWRlZiBQMzggaXRlbTM4OyB0eXBlZGVmIFAzOSBpdGVtMzk7IHR5cGVkZWYgUDQwIGl0ZW00MDsgdHlwZWRlZiBQNDEgaXRlbTQxOyB0eXBlZGVmIFA0MiBpdGVtNDI7IHR5cGVkZWYgUDQzIGl0ZW00MzsgdHlwZWRlZiBQNDQgaXRlbTQ0OyB0eXBlZGVmIFA0NSBpdGVtNDU7IHR5cGVkZWYgUDQ2IGl0ZW00NjsgdHlwZWRlZiBQNDcgaXRlbTQ3OyB0eXBlZGVmIFA0OCBpdGVtNDg7IHR5cGVkZWYgUDQ5IGl0ZW00OTsgdHlwZWRlZiBQNTAgaXRlbTUwOyB0eXBlZGVmIFA1MSBpdGVtNTE7IHR5cGVkZWYgUDUyIGl0ZW01MjsgdHlwZWRlZiBQNTMgaXRlbTUzOyB0eXBlZGVmIFA1NCBpdGVtNTQ7IHR5cGVkZWYgUDU1IGl0ZW01NTsgdHlwZWRlZiBQNTYgaXRlbTU2OyB0eXBlZGVmIFA1NyBpdGVtNTc7IHR5cGVkZWYgUDU4IGl0ZW01ODsgdHlwZWRlZiBQNTkgaXRlbTU5OyB0eXBlZGVmIFA2MCBpdGVtNjA7IHR5cGVkZWYgUDYxIGl0ZW02MTsgdHlwZWRlZiBQNjIgaXRlbTYyOyB0eXBlZGVmIFA2MyBpdGVtNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDk7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCA+IHN0cnVjdCB2ZWN0b3I2NSB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjY1PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2ND4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0OTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ID4gc3RydWN0IHZlY3RvcjY2IHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yNjY8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1PiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgUDQxIGl0ZW00MTsgdHlwZWRlZiBQNDIgaXRlbTQyOyB0eXBlZGVmIFA0MyBpdGVtNDM7IHR5cGVkZWYgUDQ0IGl0ZW00NDsgdHlwZWRlZiBQNDUgaXRlbTQ1OyB0eXBlZGVmIFA0NiBpdGVtNDY7IHR5cGVkZWYgUDQ3IGl0ZW00NzsgdHlwZWRlZiBQNDggaXRlbTQ4OyB0eXBlZGVmIFA0OSBpdGVtNDk7IHR5cGVkZWYgUDUwIGl0ZW01MDsgdHlwZWRlZiBQNTEgaXRlbTUxOyB0eXBlZGVmIFA1MiBpdGVtNTI7IHR5cGVkZWYgUDUzIGl0ZW01MzsgdHlwZWRlZiBQNTQgaXRlbTU0OyB0eXBlZGVmIFA1NSBpdGVtNTU7IHR5cGVkZWYgUDU2IGl0ZW01NjsgdHlwZWRlZiBQNTcgaXRlbTU3OyB0eXBlZGVmIFA1OCBpdGVtNTg7IHR5cGVkZWYgUDU5IGl0ZW01OTsgdHlwZWRlZiBQNjAgaXRlbTYwOyB0eXBlZGVmIFA2MSBpdGVtNjE7IHR5cGVkZWYgUDYyIGl0ZW02MjsgdHlwZWRlZiBQNjMgaXRlbTYzOyB0eXBlZGVmIFA2NCBpdGVtNjQ7IHR5cGVkZWYgUDY1IGl0ZW02NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ5OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgPiBzdHJ1Y3QgdmVjdG9yNjcgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3I2NzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjY+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgUDMgaXRlbTM7IHR5cGVkZWYgUDQgaXRlbTQ7IHR5cGVkZWYgUDUgaXRlbTU7IHR5cGVkZWYgUDYgaXRlbTY7IHR5cGVkZWYgUDcgaXRlbTc7IHR5cGVkZWYgUDggaXRlbTg7IHR5cGVkZWYgUDkgaXRlbTk7IHR5cGVkZWYgUDEwIGl0ZW0xMDsgdHlwZWRlZiBQMTEgaXRlbTExOyB0eXBlZGVmIFAxMiBpdGVtMTI7IHR5cGVkZWYgUDEzIGl0ZW0xMzsgdHlwZWRlZiBQMTQgaXRlbTE0OyB0eXBlZGVmIFAxNSBpdGVtMTU7IHR5cGVkZWYgUDE2IGl0ZW0xNjsgdHlwZWRlZiBQMTcgaXRlbTE3OyB0eXBlZGVmIFAxOCBpdGVtMTg7IHR5cGVkZWYgUDE5IGl0ZW0xOTsgdHlwZWRlZiBQMjAgaXRlbTIwOyB0eXBlZGVmIFAyMSBpdGVtMjE7IHR5cGVkZWYgUDIyIGl0ZW0yMjsgdHlwZWRlZiBQMjMgaXRlbTIzOyB0eXBlZGVmIFAyNCBpdGVtMjQ7IHR5cGVkZWYgUDI1IGl0ZW0yNTsgdHlwZWRlZiBQMjYgaXRlbTI2OyB0eXBlZGVmIFAyNyBpdGVtMjc7IHR5cGVkZWYgUDI4IGl0ZW0yODsgdHlwZWRlZiBQMjkgaXRlbTI5OyB0eXBlZGVmIFAzMCBpdGVtMzA7IHR5cGVkZWYgUDMxIGl0ZW0zMTsgdHlwZWRlZiBQMzIgaXRlbTMyOyB0eXBlZGVmIFAzMyBpdGVtMzM7IHR5cGVkZWYgUDM0IGl0ZW0zNDsgdHlwZWRlZiBQMzUgaXRlbTM1OyB0eXBlZGVmIFAzNiBpdGVtMzY7IHR5cGVkZWYgUDM3IGl0ZW0zNzsgdHlwZWRlZiBQMzggaXRlbTM4OyB0eXBlZGVmIFAzOSBpdGVtMzk7IHR5cGVkZWYgUDQwIGl0ZW00MDsgdHlwZWRlZiBQNDEgaXRlbTQxOyB0eXBlZGVmIFA0MiBpdGVtNDI7IHR5cGVkZWYgUDQzIGl0ZW00MzsgdHlwZWRlZiBQNDQgaXRlbTQ0OyB0eXBlZGVmIFA0NSBpdGVtNDU7IHR5cGVkZWYgUDQ2IGl0ZW00NjsgdHlwZWRlZiBQNDcgaXRlbTQ3OyB0eXBlZGVmIFA0OCBpdGVtNDg7IHR5cGVkZWYgUDQ5IGl0ZW00OTsgdHlwZWRlZiBQNTAgaXRlbTUwOyB0eXBlZGVmIFA1MSBpdGVtNTE7IHR5cGVkZWYgUDUyIGl0ZW01MjsgdHlwZWRlZiBQNTMgaXRlbTUzOyB0eXBlZGVmIFA1NCBpdGVtNTQ7IHR5cGVkZWYgUDU1IGl0ZW01NTsgdHlwZWRlZiBQNTYgaXRlbTU2OyB0eXBlZGVmIFA1NyBpdGVtNTc7IHR5cGVkZWYgUDU4IGl0ZW01ODsgdHlwZWRlZiBQNTkgaXRlbTU5OyB0eXBlZGVmIFA2MCBpdGVtNjA7IHR5cGVkZWYgUDYxIGl0ZW02MTsgdHlwZWRlZiBQNjIgaXRlbTYyOyB0eXBlZGVmIFA2MyBpdGVtNjM7IHR5cGVkZWYgUDY0IGl0ZW02NDsgdHlwZWRlZiBQNjUgaXRlbTY1OyB0eXBlZGVmIFA2NiBpdGVtNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDk7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyA+IHN0cnVjdCB2ZWN0b3I2OCB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjY4PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2Nz4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0OTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ID4gc3RydWN0IHZlY3RvcjY5IHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yNjk8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4PiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgUDQxIGl0ZW00MTsgdHlwZWRlZiBQNDIgaXRlbTQyOyB0eXBlZGVmIFA0MyBpdGVtNDM7IHR5cGVkZWYgUDQ0IGl0ZW00NDsgdHlwZWRlZiBQNDUgaXRlbTQ1OyB0eXBlZGVmIFA0NiBpdGVtNDY7IHR5cGVkZWYgUDQ3IGl0ZW00NzsgdHlwZWRlZiBQNDggaXRlbTQ4OyB0eXBlZGVmIFA0OSBpdGVtNDk7IHR5cGVkZWYgUDUwIGl0ZW01MDsgdHlwZWRlZiBQNTEgaXRlbTUxOyB0eXBlZGVmIFA1MiBpdGVtNTI7IHR5cGVkZWYgUDUzIGl0ZW01MzsgdHlwZWRlZiBQNTQgaXRlbTU0OyB0eXBlZGVmIFA1NSBpdGVtNTU7IHR5cGVkZWYgUDU2IGl0ZW01NjsgdHlwZWRlZiBQNTcgaXRlbTU3OyB0eXBlZGVmIFA1OCBpdGVtNTg7IHR5cGVkZWYgUDU5IGl0ZW01OTsgdHlwZWRlZiBQNjAgaXRlbTYwOyB0eXBlZGVmIFA2MSBpdGVtNjE7IHR5cGVkZWYgUDYyIGl0ZW02MjsgdHlwZWRlZiBQNjMgaXRlbTYzOyB0eXBlZGVmIFA2NCBpdGVtNjQ7IHR5cGVkZWYgUDY1IGl0ZW02NTsgdHlwZWRlZiBQNjYgaXRlbTY2OyB0eXBlZGVmIFA2NyBpdGVtNjc7IHR5cGVkZWYgUDY4IGl0ZW02ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ5OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgPiBzdHJ1Y3QgdmVjdG9yNzAgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3I3MDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjk+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgUDMgaXRlbTM7IHR5cGVkZWYgUDQgaXRlbTQ7IHR5cGVkZWYgUDUgaXRlbTU7IHR5cGVkZWYgUDYgaXRlbTY7IHR5cGVkZWYgUDcgaXRlbTc7IHR5cGVkZWYgUDggaXRlbTg7IHR5cGVkZWYgUDkgaXRlbTk7IHR5cGVkZWYgUDEwIGl0ZW0xMDsgdHlwZWRlZiBQMTEgaXRlbTExOyB0eXBlZGVmIFAxMiBpdGVtMTI7IHR5cGVkZWYgUDEzIGl0ZW0xMzsgdHlwZWRlZiBQMTQgaXRlbTE0OyB0eXBlZGVmIFAxNSBpdGVtMTU7IHR5cGVkZWYgUDE2IGl0ZW0xNjsgdHlwZWRlZiBQMTcgaXRlbTE3OyB0eXBlZGVmIFAxOCBpdGVtMTg7IHR5cGVkZWYgUDE5IGl0ZW0xOTsgdHlwZWRlZiBQMjAgaXRlbTIwOyB0eXBlZGVmIFAyMSBpdGVtMjE7IHR5cGVkZWYgUDIyIGl0ZW0yMjsgdHlwZWRlZiBQMjMgaXRlbTIzOyB0eXBlZGVmIFAyNCBpdGVtMjQ7IHR5cGVkZWYgUDI1IGl0ZW0yNTsgdHlwZWRlZiBQMjYgaXRlbTI2OyB0eXBlZGVmIFAyNyBpdGVtMjc7IHR5cGVkZWYgUDI4IGl0ZW0yODsgdHlwZWRlZiBQMjkgaXRlbTI5OyB0eXBlZGVmIFAzMCBpdGVtMzA7IHR5cGVkZWYgUDMxIGl0ZW0zMTsgdHlwZWRlZiBQMzIgaXRlbTMyOyB0eXBlZGVmIFAzMyBpdGVtMzM7IHR5cGVkZWYgUDM0IGl0ZW0zNDsgdHlwZWRlZiBQMzUgaXRlbTM1OyB0eXBlZGVmIFAzNiBpdGVtMzY7IHR5cGVkZWYgUDM3IGl0ZW0zNzsgdHlwZWRlZiBQMzggaXRlbTM4OyB0eXBlZGVmIFAzOSBpdGVtMzk7IHR5cGVkZWYgUDQwIGl0ZW00MDsgdHlwZWRlZiBQNDEgaXRlbTQxOyB0eXBlZGVmIFA0MiBpdGVtNDI7IHR5cGVkZWYgUDQzIGl0ZW00MzsgdHlwZWRlZiBQNDQgaXRlbTQ0OyB0eXBlZGVmIFA0NSBpdGVtNDU7IHR5cGVkZWYgUDQ2IGl0ZW00NjsgdHlwZWRlZiBQNDcgaXRlbTQ3OyB0eXBlZGVmIFA0OCBpdGVtNDg7IHR5cGVkZWYgUDQ5IGl0ZW00OTsgdHlwZWRlZiBQNTAgaXRlbTUwOyB0eXBlZGVmIFA1MSBpdGVtNTE7IHR5cGVkZWYgUDUyIGl0ZW01MjsgdHlwZWRlZiBQNTMgaXRlbTUzOyB0eXBlZGVmIFA1NCBpdGVtNTQ7IHR5cGVkZWYgUDU1IGl0ZW01NTsgdHlwZWRlZiBQNTYgaXRlbTU2OyB0eXBlZGVmIFA1NyBpdGVtNTc7IHR5cGVkZWYgUDU4IGl0ZW01ODsgdHlwZWRlZiBQNTkgaXRlbTU5OyB0eXBlZGVmIFA2MCBpdGVtNjA7IHR5cGVkZWYgUDYxIGl0ZW02MTsgdHlwZWRlZiBQNjIgaXRlbTYyOyB0eXBlZGVmIFA2MyBpdGVtNjM7IHR5cGVkZWYgUDY0IGl0ZW02NDsgdHlwZWRlZiBQNjUgaXRlbTY1OyB0eXBlZGVmIFA2NiBpdGVtNjY7IHR5cGVkZWYgUDY3IGl0ZW02NzsgdHlwZWRlZiBQNjggaXRlbTY4OyB0eXBlZGVmIFA2OSBpdGVtNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDk7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCA+IHN0cnVjdCB2ZWN0b3I3MSB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjcxPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MD4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0OTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxID4gc3RydWN0IHZlY3RvcjcyIHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yNzI8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxPiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgUDQxIGl0ZW00MTsgdHlwZWRlZiBQNDIgaXRlbTQyOyB0eXBlZGVmIFA0MyBpdGVtNDM7IHR5cGVkZWYgUDQ0IGl0ZW00NDsgdHlwZWRlZiBQNDUgaXRlbTQ1OyB0eXBlZGVmIFA0NiBpdGVtNDY7IHR5cGVkZWYgUDQ3IGl0ZW00NzsgdHlwZWRlZiBQNDggaXRlbTQ4OyB0eXBlZGVmIFA0OSBpdGVtNDk7IHR5cGVkZWYgUDUwIGl0ZW01MDsgdHlwZWRlZiBQNTEgaXRlbTUxOyB0eXBlZGVmIFA1MiBpdGVtNTI7IHR5cGVkZWYgUDUzIGl0ZW01MzsgdHlwZWRlZiBQNTQgaXRlbTU0OyB0eXBlZGVmIFA1NSBpdGVtNTU7IHR5cGVkZWYgUDU2IGl0ZW01NjsgdHlwZWRlZiBQNTcgaXRlbTU3OyB0eXBlZGVmIFA1OCBpdGVtNTg7IHR5cGVkZWYgUDU5IGl0ZW01OTsgdHlwZWRlZiBQNjAgaXRlbTYwOyB0eXBlZGVmIFA2MSBpdGVtNjE7IHR5cGVkZWYgUDYyIGl0ZW02MjsgdHlwZWRlZiBQNjMgaXRlbTYzOyB0eXBlZGVmIFA2NCBpdGVtNjQ7IHR5cGVkZWYgUDY1IGl0ZW02NTsgdHlwZWRlZiBQNjYgaXRlbTY2OyB0eXBlZGVmIFA2NyBpdGVtNjc7IHR5cGVkZWYgUDY4IGl0ZW02ODsgdHlwZWRlZiBQNjkgaXRlbTY5OyB0eXBlZGVmIFA3MCBpdGVtNzA7IHR5cGVkZWYgUDcxIGl0ZW03MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ5OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgPiBzdHJ1Y3QgdmVjdG9yNzMgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3I3MzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzI+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgUDMgaXRlbTM7IHR5cGVkZWYgUDQgaXRlbTQ7IHR5cGVkZWYgUDUgaXRlbTU7IHR5cGVkZWYgUDYgaXRlbTY7IHR5cGVkZWYgUDcgaXRlbTc7IHR5cGVkZWYgUDggaXRlbTg7IHR5cGVkZWYgUDkgaXRlbTk7IHR5cGVkZWYgUDEwIGl0ZW0xMDsgdHlwZWRlZiBQMTEgaXRlbTExOyB0eXBlZGVmIFAxMiBpdGVtMTI7IHR5cGVkZWYgUDEzIGl0ZW0xMzsgdHlwZWRlZiBQMTQgaXRlbTE0OyB0eXBlZGVmIFAxNSBpdGVtMTU7IHR5cGVkZWYgUDE2IGl0ZW0xNjsgdHlwZWRlZiBQMTcgaXRlbTE3OyB0eXBlZGVmIFAxOCBpdGVtMTg7IHR5cGVkZWYgUDE5IGl0ZW0xOTsgdHlwZWRlZiBQMjAgaXRlbTIwOyB0eXBlZGVmIFAyMSBpdGVtMjE7IHR5cGVkZWYgUDIyIGl0ZW0yMjsgdHlwZWRlZiBQMjMgaXRlbTIzOyB0eXBlZGVmIFAyNCBpdGVtMjQ7IHR5cGVkZWYgUDI1IGl0ZW0yNTsgdHlwZWRlZiBQMjYgaXRlbTI2OyB0eXBlZGVmIFAyNyBpdGVtMjc7IHR5cGVkZWYgUDI4IGl0ZW0yODsgdHlwZWRlZiBQMjkgaXRlbTI5OyB0eXBlZGVmIFAzMCBpdGVtMzA7IHR5cGVkZWYgUDMxIGl0ZW0zMTsgdHlwZWRlZiBQMzIgaXRlbTMyOyB0eXBlZGVmIFAzMyBpdGVtMzM7IHR5cGVkZWYgUDM0IGl0ZW0zNDsgdHlwZWRlZiBQMzUgaXRlbTM1OyB0eXBlZGVmIFAzNiBpdGVtMzY7IHR5cGVkZWYgUDM3IGl0ZW0zNzsgdHlwZWRlZiBQMzggaXRlbTM4OyB0eXBlZGVmIFAzOSBpdGVtMzk7IHR5cGVkZWYgUDQwIGl0ZW00MDsgdHlwZWRlZiBQNDEgaXRlbTQxOyB0eXBlZGVmIFA0MiBpdGVtNDI7IHR5cGVkZWYgUDQzIGl0ZW00MzsgdHlwZWRlZiBQNDQgaXRlbTQ0OyB0eXBlZGVmIFA0NSBpdGVtNDU7IHR5cGVkZWYgUDQ2IGl0ZW00NjsgdHlwZWRlZiBQNDcgaXRlbTQ3OyB0eXBlZGVmIFA0OCBpdGVtNDg7IHR5cGVkZWYgUDQ5IGl0ZW00OTsgdHlwZWRlZiBQNTAgaXRlbTUwOyB0eXBlZGVmIFA1MSBpdGVtNTE7IHR5cGVkZWYgUDUyIGl0ZW01MjsgdHlwZWRlZiBQNTMgaXRlbTUzOyB0eXBlZGVmIFA1NCBpdGVtNTQ7IHR5cGVkZWYgUDU1IGl0ZW01NTsgdHlwZWRlZiBQNTYgaXRlbTU2OyB0eXBlZGVmIFA1NyBpdGVtNTc7IHR5cGVkZWYgUDU4IGl0ZW01ODsgdHlwZWRlZiBQNTkgaXRlbTU5OyB0eXBlZGVmIFA2MCBpdGVtNjA7IHR5cGVkZWYgUDYxIGl0ZW02MTsgdHlwZWRlZiBQNjIgaXRlbTYyOyB0eXBlZGVmIFA2MyBpdGVtNjM7IHR5cGVkZWYgUDY0IGl0ZW02NDsgdHlwZWRlZiBQNjUgaXRlbTY1OyB0eXBlZGVmIFA2NiBpdGVtNjY7IHR5cGVkZWYgUDY3IGl0ZW02NzsgdHlwZWRlZiBQNjggaXRlbTY4OyB0eXBlZGVmIFA2OSBpdGVtNjk7IHR5cGVkZWYgUDcwIGl0ZW03MDsgdHlwZWRlZiBQNzEgaXRlbTcxOyB0eXBlZGVmIFA3MiBpdGVtNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDk7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyA+IHN0cnVjdCB2ZWN0b3I3NCB7IHR5cGVkZWYgdl9pdGVyPHZlY3Rvcjc0PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3Mz4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0OTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ID4gc3RydWN0IHZlY3Rvcjc1IHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yNzU8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0PiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgUDQxIGl0ZW00MTsgdHlwZWRlZiBQNDIgaXRlbTQyOyB0eXBlZGVmIFA0MyBpdGVtNDM7IHR5cGVkZWYgUDQ0IGl0ZW00NDsgdHlwZWRlZiBQNDUgaXRlbTQ1OyB0eXBlZGVmIFA0NiBpdGVtNDY7IHR5cGVkZWYgUDQ3IGl0ZW00NzsgdHlwZWRlZiBQNDggaXRlbTQ4OyB0eXBlZGVmIFA0OSBpdGVtNDk7IHR5cGVkZWYgUDUwIGl0ZW01MDsgdHlwZWRlZiBQNTEgaXRlbTUxOyB0eXBlZGVmIFA1MiBpdGVtNTI7IHR5cGVkZWYgUDUzIGl0ZW01MzsgdHlwZWRlZiBQNTQgaXRlbTU0OyB0eXBlZGVmIFA1NSBpdGVtNTU7IHR5cGVkZWYgUDU2IGl0ZW01NjsgdHlwZWRlZiBQNTcgaXRlbTU3OyB0eXBlZGVmIFA1OCBpdGVtNTg7IHR5cGVkZWYgUDU5IGl0ZW01OTsgdHlwZWRlZiBQNjAgaXRlbTYwOyB0eXBlZGVmIFA2MSBpdGVtNjE7IHR5cGVkZWYgUDYyIGl0ZW02MjsgdHlwZWRlZiBQNjMgaXRlbTYzOyB0eXBlZGVmIFA2NCBpdGVtNjQ7IHR5cGVkZWYgUDY1IGl0ZW02NTsgdHlwZWRlZiBQNjYgaXRlbTY2OyB0eXBlZGVmIFA2NyBpdGVtNjc7IHR5cGVkZWYgUDY4IGl0ZW02ODsgdHlwZWRlZiBQNjkgaXRlbTY5OyB0eXBlZGVmIFA3MCBpdGVtNzA7IHR5cGVkZWYgUDcxIGl0ZW03MTsgdHlwZWRlZiBQNzIgaXRlbTcyOyB0eXBlZGVmIFA3MyBpdGVtNzM7IHR5cGVkZWYgUDc0IGl0ZW03NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ5OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgPiBzdHJ1Y3QgdmVjdG9yNzYgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3I3NjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzU+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgUDMgaXRlbTM7IHR5cGVkZWYgUDQgaXRlbTQ7IHR5cGVkZWYgUDUgaXRlbTU7IHR5cGVkZWYgUDYgaXRlbTY7IHR5cGVkZWYgUDcgaXRlbTc7IHR5cGVkZWYgUDggaXRlbTg7IHR5cGVkZWYgUDkgaXRlbTk7IHR5cGVkZWYgUDEwIGl0ZW0xMDsgdHlwZWRlZiBQMTEgaXRlbTExOyB0eXBlZGVmIFAxMiBpdGVtMTI7IHR5cGVkZWYgUDEzIGl0ZW0xMzsgdHlwZWRlZiBQMTQgaXRlbTE0OyB0eXBlZGVmIFAxNSBpdGVtMTU7IHR5cGVkZWYgUDE2IGl0ZW0xNjsgdHlwZWRlZiBQMTcgaXRlbTE3OyB0eXBlZGVmIFAxOCBpdGVtMTg7IHR5cGVkZWYgUDE5IGl0ZW0xOTsgdHlwZWRlZiBQMjAgaXRlbTIwOyB0eXBlZGVmIFAyMSBpdGVtMjE7IHR5cGVkZWYgUDIyIGl0ZW0yMjsgdHlwZWRlZiBQMjMgaXRlbTIzOyB0eXBlZGVmIFAyNCBpdGVtMjQ7IHR5cGVkZWYgUDI1IGl0ZW0yNTsgdHlwZWRlZiBQMjYgaXRlbTI2OyB0eXBlZGVmIFAyNyBpdGVtMjc7IHR5cGVkZWYgUDI4IGl0ZW0yODsgdHlwZWRlZiBQMjkgaXRlbTI5OyB0eXBlZGVmIFAzMCBpdGVtMzA7IHR5cGVkZWYgUDMxIGl0ZW0zMTsgdHlwZWRlZiBQMzIgaXRlbTMyOyB0eXBlZGVmIFAzMyBpdGVtMzM7IHR5cGVkZWYgUDM0IGl0ZW0zNDsgdHlwZWRlZiBQMzUgaXRlbTM1OyB0eXBlZGVmIFAzNiBpdGVtMzY7IHR5cGVkZWYgUDM3IGl0ZW0zNzsgdHlwZWRlZiBQMzggaXRlbTM4OyB0eXBlZGVmIFAzOSBpdGVtMzk7IHR5cGVkZWYgUDQwIGl0ZW00MDsgdHlwZWRlZiBQNDEgaXRlbTQxOyB0eXBlZGVmIFA0MiBpdGVtNDI7IHR5cGVkZWYgUDQzIGl0ZW00MzsgdHlwZWRlZiBQNDQgaXRlbTQ0OyB0eXBlZGVmIFA0NSBpdGVtNDU7IHR5cGVkZWYgUDQ2IGl0ZW00NjsgdHlwZWRlZiBQNDcgaXRlbTQ3OyB0eXBlZGVmIFA0OCBpdGVtNDg7IHR5cGVkZWYgUDQ5IGl0ZW00OTsgdHlwZWRlZiBQNTAgaXRlbTUwOyB0eXBlZGVmIFA1MSBpdGVtNTE7IHR5cGVkZWYgUDUyIGl0ZW01MjsgdHlwZWRlZiBQNTMgaXRlbTUzOyB0eXBlZGVmIFA1NCBpdGVtNTQ7IHR5cGVkZWYgUDU1IGl0ZW01NTsgdHlwZWRlZiBQNTYgaXRlbTU2OyB0eXBlZGVmIFA1NyBpdGVtNTc7IHR5cGVkZWYgUDU4IGl0ZW01ODsgdHlwZWRlZiBQNTkgaXRlbTU5OyB0eXBlZGVmIFA2MCBpdGVtNjA7IHR5cGVkZWYgUDYxIGl0ZW02MTsgdHlwZWRlZiBQNjIgaXRlbTYyOyB0eXBlZGVmIFA2MyBpdGVtNjM7IHR5cGVkZWYgUDY0IGl0ZW02NDsgdHlwZWRlZiBQNjUgaXRlbTY1OyB0eXBlZGVmIFA2NiBpdGVtNjY7IHR5cGVkZWYgUDY3IGl0ZW02NzsgdHlwZWRlZiBQNjggaXRlbTY4OyB0eXBlZGVmIFA2OSBpdGVtNjk7IHR5cGVkZWYgUDcwIGl0ZW03MDsgdHlwZWRlZiBQNzEgaXRlbTcxOyB0eXBlZGVmIFA3MiBpdGVtNzI7IHR5cGVkZWYgUDczIGl0ZW03MzsgdHlwZWRlZiBQNzQgaXRlbTc0OyB0eXBlZGVmIFA3NSBpdGVtNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDk7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiA+IHN0cnVjdCB2ZWN0b3I3NyB7IHR5cGVkZWYgdl9pdGVyPHZlY3Rvcjc3PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3Nj4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0OTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ID4gc3RydWN0IHZlY3Rvcjc4IHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yNzg8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3PiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgUDQxIGl0ZW00MTsgdHlwZWRlZiBQNDIgaXRlbTQyOyB0eXBlZGVmIFA0MyBpdGVtNDM7IHR5cGVkZWYgUDQ0IGl0ZW00NDsgdHlwZWRlZiBQNDUgaXRlbTQ1OyB0eXBlZGVmIFA0NiBpdGVtNDY7IHR5cGVkZWYgUDQ3IGl0ZW00NzsgdHlwZWRlZiBQNDggaXRlbTQ4OyB0eXBlZGVmIFA0OSBpdGVtNDk7IHR5cGVkZWYgUDUwIGl0ZW01MDsgdHlwZWRlZiBQNTEgaXRlbTUxOyB0eXBlZGVmIFA1MiBpdGVtNTI7IHR5cGVkZWYgUDUzIGl0ZW01MzsgdHlwZWRlZiBQNTQgaXRlbTU0OyB0eXBlZGVmIFA1NSBpdGVtNTU7IHR5cGVkZWYgUDU2IGl0ZW01NjsgdHlwZWRlZiBQNTcgaXRlbTU3OyB0eXBlZGVmIFA1OCBpdGVtNTg7IHR5cGVkZWYgUDU5IGl0ZW01OTsgdHlwZWRlZiBQNjAgaXRlbTYwOyB0eXBlZGVmIFA2MSBpdGVtNjE7IHR5cGVkZWYgUDYyIGl0ZW02MjsgdHlwZWRlZiBQNjMgaXRlbTYzOyB0eXBlZGVmIFA2NCBpdGVtNjQ7IHR5cGVkZWYgUDY1IGl0ZW02NTsgdHlwZWRlZiBQNjYgaXRlbTY2OyB0eXBlZGVmIFA2NyBpdGVtNjc7IHR5cGVkZWYgUDY4IGl0ZW02ODsgdHlwZWRlZiBQNjkgaXRlbTY5OyB0eXBlZGVmIFA3MCBpdGVtNzA7IHR5cGVkZWYgUDcxIGl0ZW03MTsgdHlwZWRlZiBQNzIgaXRlbTcyOyB0eXBlZGVmIFA3MyBpdGVtNzM7IHR5cGVkZWYgUDc0IGl0ZW03NDsgdHlwZWRlZiBQNzUgaXRlbTc1OyB0eXBlZGVmIFA3NiBpdGVtNzY7IHR5cGVkZWYgUDc3IGl0ZW03NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ5OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggPiBzdHJ1Y3QgdmVjdG9yNzkgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3I3OTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzg+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgUDMgaXRlbTM7IHR5cGVkZWYgUDQgaXRlbTQ7IHR5cGVkZWYgUDUgaXRlbTU7IHR5cGVkZWYgUDYgaXRlbTY7IHR5cGVkZWYgUDcgaXRlbTc7IHR5cGVkZWYgUDggaXRlbTg7IHR5cGVkZWYgUDkgaXRlbTk7IHR5cGVkZWYgUDEwIGl0ZW0xMDsgdHlwZWRlZiBQMTEgaXRlbTExOyB0eXBlZGVmIFAxMiBpdGVtMTI7IHR5cGVkZWYgUDEzIGl0ZW0xMzsgdHlwZWRlZiBQMTQgaXRlbTE0OyB0eXBlZGVmIFAxNSBpdGVtMTU7IHR5cGVkZWYgUDE2IGl0ZW0xNjsgdHlwZWRlZiBQMTcgaXRlbTE3OyB0eXBlZGVmIFAxOCBpdGVtMTg7IHR5cGVkZWYgUDE5IGl0ZW0xOTsgdHlwZWRlZiBQMjAgaXRlbTIwOyB0eXBlZGVmIFAyMSBpdGVtMjE7IHR5cGVkZWYgUDIyIGl0ZW0yMjsgdHlwZWRlZiBQMjMgaXRlbTIzOyB0eXBlZGVmIFAyNCBpdGVtMjQ7IHR5cGVkZWYgUDI1IGl0ZW0yNTsgdHlwZWRlZiBQMjYgaXRlbTI2OyB0eXBlZGVmIFAyNyBpdGVtMjc7IHR5cGVkZWYgUDI4IGl0ZW0yODsgdHlwZWRlZiBQMjkgaXRlbTI5OyB0eXBlZGVmIFAzMCBpdGVtMzA7IHR5cGVkZWYgUDMxIGl0ZW0zMTsgdHlwZWRlZiBQMzIgaXRlbTMyOyB0eXBlZGVmIFAzMyBpdGVtMzM7IHR5cGVkZWYgUDM0IGl0ZW0zNDsgdHlwZWRlZiBQMzUgaXRlbTM1OyB0eXBlZGVmIFAzNiBpdGVtMzY7IHR5cGVkZWYgUDM3IGl0ZW0zNzsgdHlwZWRlZiBQMzggaXRlbTM4OyB0eXBlZGVmIFAzOSBpdGVtMzk7IHR5cGVkZWYgUDQwIGl0ZW00MDsgdHlwZWRlZiBQNDEgaXRlbTQxOyB0eXBlZGVmIFA0MiBpdGVtNDI7IHR5cGVkZWYgUDQzIGl0ZW00MzsgdHlwZWRlZiBQNDQgaXRlbTQ0OyB0eXBlZGVmIFA0NSBpdGVtNDU7IHR5cGVkZWYgUDQ2IGl0ZW00NjsgdHlwZWRlZiBQNDcgaXRlbTQ3OyB0eXBlZGVmIFA0OCBpdGVtNDg7IHR5cGVkZWYgUDQ5IGl0ZW00OTsgdHlwZWRlZiBQNTAgaXRlbTUwOyB0eXBlZGVmIFA1MSBpdGVtNTE7IHR5cGVkZWYgUDUyIGl0ZW01MjsgdHlwZWRlZiBQNTMgaXRlbTUzOyB0eXBlZGVmIFA1NCBpdGVtNTQ7IHR5cGVkZWYgUDU1IGl0ZW01NTsgdHlwZWRlZiBQNTYgaXRlbTU2OyB0eXBlZGVmIFA1NyBpdGVtNTc7IHR5cGVkZWYgUDU4IGl0ZW01ODsgdHlwZWRlZiBQNTkgaXRlbTU5OyB0eXBlZGVmIFA2MCBpdGVtNjA7IHR5cGVkZWYgUDYxIGl0ZW02MTsgdHlwZWRlZiBQNjIgaXRlbTYyOyB0eXBlZGVmIFA2MyBpdGVtNjM7IHR5cGVkZWYgUDY0IGl0ZW02NDsgdHlwZWRlZiBQNjUgaXRlbTY1OyB0eXBlZGVmIFA2NiBpdGVtNjY7IHR5cGVkZWYgUDY3IGl0ZW02NzsgdHlwZWRlZiBQNjggaXRlbTY4OyB0eXBlZGVmIFA2OSBpdGVtNjk7IHR5cGVkZWYgUDcwIGl0ZW03MDsgdHlwZWRlZiBQNzEgaXRlbTcxOyB0eXBlZGVmIFA3MiBpdGVtNzI7IHR5cGVkZWYgUDczIGl0ZW03MzsgdHlwZWRlZiBQNzQgaXRlbTc0OyB0eXBlZGVmIFA3NSBpdGVtNzU7IHR5cGVkZWYgUDc2IGl0ZW03NjsgdHlwZWRlZiBQNzcgaXRlbTc3OyB0eXBlZGVmIFA3OCBpdGVtNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDk7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSA+IHN0cnVjdCB2ZWN0b3I4MCB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjgwPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OT4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0OTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwID4gc3RydWN0IHZlY3RvcjgxIHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yODE8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwPiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgUDQxIGl0ZW00MTsgdHlwZWRlZiBQNDIgaXRlbTQyOyB0eXBlZGVmIFA0MyBpdGVtNDM7IHR5cGVkZWYgUDQ0IGl0ZW00NDsgdHlwZWRlZiBQNDUgaXRlbTQ1OyB0eXBlZGVmIFA0NiBpdGVtNDY7IHR5cGVkZWYgUDQ3IGl0ZW00NzsgdHlwZWRlZiBQNDggaXRlbTQ4OyB0eXBlZGVmIFA0OSBpdGVtNDk7IHR5cGVkZWYgUDUwIGl0ZW01MDsgdHlwZWRlZiBQNTEgaXRlbTUxOyB0eXBlZGVmIFA1MiBpdGVtNTI7IHR5cGVkZWYgUDUzIGl0ZW01MzsgdHlwZWRlZiBQNTQgaXRlbTU0OyB0eXBlZGVmIFA1NSBpdGVtNTU7IHR5cGVkZWYgUDU2IGl0ZW01NjsgdHlwZWRlZiBQNTcgaXRlbTU3OyB0eXBlZGVmIFA1OCBpdGVtNTg7IHR5cGVkZWYgUDU5IGl0ZW01OTsgdHlwZWRlZiBQNjAgaXRlbTYwOyB0eXBlZGVmIFA2MSBpdGVtNjE7IHR5cGVkZWYgUDYyIGl0ZW02MjsgdHlwZWRlZiBQNjMgaXRlbTYzOyB0eXBlZGVmIFA2NCBpdGVtNjQ7IHR5cGVkZWYgUDY1IGl0ZW02NTsgdHlwZWRlZiBQNjYgaXRlbTY2OyB0eXBlZGVmIFA2NyBpdGVtNjc7IHR5cGVkZWYgUDY4IGl0ZW02ODsgdHlwZWRlZiBQNjkgaXRlbTY5OyB0eXBlZGVmIFA3MCBpdGVtNzA7IHR5cGVkZWYgUDcxIGl0ZW03MTsgdHlwZWRlZiBQNzIgaXRlbTcyOyB0eXBlZGVmIFA3MyBpdGVtNzM7IHR5cGVkZWYgUDc0IGl0ZW03NDsgdHlwZWRlZiBQNzUgaXRlbTc1OyB0eXBlZGVmIFA3NiBpdGVtNzY7IHR5cGVkZWYgUDc3IGl0ZW03NzsgdHlwZWRlZiBQNzggaXRlbTc4OyB0eXBlZGVmIFA3OSBpdGVtNzk7IHR5cGVkZWYgUDgwIGl0ZW04MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ5OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgPiBzdHJ1Y3QgdmVjdG9yODIgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3I4MjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODE+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgUDMgaXRlbTM7IHR5cGVkZWYgUDQgaXRlbTQ7IHR5cGVkZWYgUDUgaXRlbTU7IHR5cGVkZWYgUDYgaXRlbTY7IHR5cGVkZWYgUDcgaXRlbTc7IHR5cGVkZWYgUDggaXRlbTg7IHR5cGVkZWYgUDkgaXRlbTk7IHR5cGVkZWYgUDEwIGl0ZW0xMDsgdHlwZWRlZiBQMTEgaXRlbTExOyB0eXBlZGVmIFAxMiBpdGVtMTI7IHR5cGVkZWYgUDEzIGl0ZW0xMzsgdHlwZWRlZiBQMTQgaXRlbTE0OyB0eXBlZGVmIFAxNSBpdGVtMTU7IHR5cGVkZWYgUDE2IGl0ZW0xNjsgdHlwZWRlZiBQMTcgaXRlbTE3OyB0eXBlZGVmIFAxOCBpdGVtMTg7IHR5cGVkZWYgUDE5IGl0ZW0xOTsgdHlwZWRlZiBQMjAgaXRlbTIwOyB0eXBlZGVmIFAyMSBpdGVtMjE7IHR5cGVkZWYgUDIyIGl0ZW0yMjsgdHlwZWRlZiBQMjMgaXRlbTIzOyB0eXBlZGVmIFAyNCBpdGVtMjQ7IHR5cGVkZWYgUDI1IGl0ZW0yNTsgdHlwZWRlZiBQMjYgaXRlbTI2OyB0eXBlZGVmIFAyNyBpdGVtMjc7IHR5cGVkZWYgUDI4IGl0ZW0yODsgdHlwZWRlZiBQMjkgaXRlbTI5OyB0eXBlZGVmIFAzMCBpdGVtMzA7IHR5cGVkZWYgUDMxIGl0ZW0zMTsgdHlwZWRlZiBQMzIgaXRlbTMyOyB0eXBlZGVmIFAzMyBpdGVtMzM7IHR5cGVkZWYgUDM0IGl0ZW0zNDsgdHlwZWRlZiBQMzUgaXRlbTM1OyB0eXBlZGVmIFAzNiBpdGVtMzY7IHR5cGVkZWYgUDM3IGl0ZW0zNzsgdHlwZWRlZiBQMzggaXRlbTM4OyB0eXBlZGVmIFAzOSBpdGVtMzk7IHR5cGVkZWYgUDQwIGl0ZW00MDsgdHlwZWRlZiBQNDEgaXRlbTQxOyB0eXBlZGVmIFA0MiBpdGVtNDI7IHR5cGVkZWYgUDQzIGl0ZW00MzsgdHlwZWRlZiBQNDQgaXRlbTQ0OyB0eXBlZGVmIFA0NSBpdGVtNDU7IHR5cGVkZWYgUDQ2IGl0ZW00NjsgdHlwZWRlZiBQNDcgaXRlbTQ3OyB0eXBlZGVmIFA0OCBpdGVtNDg7IHR5cGVkZWYgUDQ5IGl0ZW00OTsgdHlwZWRlZiBQNTAgaXRlbTUwOyB0eXBlZGVmIFA1MSBpdGVtNTE7IHR5cGVkZWYgUDUyIGl0ZW01MjsgdHlwZWRlZiBQNTMgaXRlbTUzOyB0eXBlZGVmIFA1NCBpdGVtNTQ7IHR5cGVkZWYgUDU1IGl0ZW01NTsgdHlwZWRlZiBQNTYgaXRlbTU2OyB0eXBlZGVmIFA1NyBpdGVtNTc7IHR5cGVkZWYgUDU4IGl0ZW01ODsgdHlwZWRlZiBQNTkgaXRlbTU5OyB0eXBlZGVmIFA2MCBpdGVtNjA7IHR5cGVkZWYgUDYxIGl0ZW02MTsgdHlwZWRlZiBQNjIgaXRlbTYyOyB0eXBlZGVmIFA2MyBpdGVtNjM7IHR5cGVkZWYgUDY0IGl0ZW02NDsgdHlwZWRlZiBQNjUgaXRlbTY1OyB0eXBlZGVmIFA2NiBpdGVtNjY7IHR5cGVkZWYgUDY3IGl0ZW02NzsgdHlwZWRlZiBQNjggaXRlbTY4OyB0eXBlZGVmIFA2OSBpdGVtNjk7IHR5cGVkZWYgUDcwIGl0ZW03MDsgdHlwZWRlZiBQNzEgaXRlbTcxOyB0eXBlZGVmIFA3MiBpdGVtNzI7IHR5cGVkZWYgUDczIGl0ZW03MzsgdHlwZWRlZiBQNzQgaXRlbTc0OyB0eXBlZGVmIFA3NSBpdGVtNzU7IHR5cGVkZWYgUDc2IGl0ZW03NjsgdHlwZWRlZiBQNzcgaXRlbTc3OyB0eXBlZGVmIFA3OCBpdGVtNzg7IHR5cGVkZWYgUDc5IGl0ZW03OTsgdHlwZWRlZiBQODAgaXRlbTgwOyB0eXBlZGVmIFA4MSBpdGVtODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDk7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiA+IHN0cnVjdCB2ZWN0b3I4MyB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjgzPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4Mj4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0OTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzID4gc3RydWN0IHZlY3Rvcjg0IHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yODQ8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzPiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgUDQxIGl0ZW00MTsgdHlwZWRlZiBQNDIgaXRlbTQyOyB0eXBlZGVmIFA0MyBpdGVtNDM7IHR5cGVkZWYgUDQ0IGl0ZW00NDsgdHlwZWRlZiBQNDUgaXRlbTQ1OyB0eXBlZGVmIFA0NiBpdGVtNDY7IHR5cGVkZWYgUDQ3IGl0ZW00NzsgdHlwZWRlZiBQNDggaXRlbTQ4OyB0eXBlZGVmIFA0OSBpdGVtNDk7IHR5cGVkZWYgUDUwIGl0ZW01MDsgdHlwZWRlZiBQNTEgaXRlbTUxOyB0eXBlZGVmIFA1MiBpdGVtNTI7IHR5cGVkZWYgUDUzIGl0ZW01MzsgdHlwZWRlZiBQNTQgaXRlbTU0OyB0eXBlZGVmIFA1NSBpdGVtNTU7IHR5cGVkZWYgUDU2IGl0ZW01NjsgdHlwZWRlZiBQNTcgaXRlbTU3OyB0eXBlZGVmIFA1OCBpdGVtNTg7IHR5cGVkZWYgUDU5IGl0ZW01OTsgdHlwZWRlZiBQNjAgaXRlbTYwOyB0eXBlZGVmIFA2MSBpdGVtNjE7IHR5cGVkZWYgUDYyIGl0ZW02MjsgdHlwZWRlZiBQNjMgaXRlbTYzOyB0eXBlZGVmIFA2NCBpdGVtNjQ7IHR5cGVkZWYgUDY1IGl0ZW02NTsgdHlwZWRlZiBQNjYgaXRlbTY2OyB0eXBlZGVmIFA2NyBpdGVtNjc7IHR5cGVkZWYgUDY4IGl0ZW02ODsgdHlwZWRlZiBQNjkgaXRlbTY5OyB0eXBlZGVmIFA3MCBpdGVtNzA7IHR5cGVkZWYgUDcxIGl0ZW03MTsgdHlwZWRlZiBQNzIgaXRlbTcyOyB0eXBlZGVmIFA3MyBpdGVtNzM7IHR5cGVkZWYgUDc0IGl0ZW03NDsgdHlwZWRlZiBQNzUgaXRlbTc1OyB0eXBlZGVmIFA3NiBpdGVtNzY7IHR5cGVkZWYgUDc3IGl0ZW03NzsgdHlwZWRlZiBQNzggaXRlbTc4OyB0eXBlZGVmIFA3OSBpdGVtNzk7IHR5cGVkZWYgUDgwIGl0ZW04MDsgdHlwZWRlZiBQODEgaXRlbTgxOyB0eXBlZGVmIFA4MiBpdGVtODI7IHR5cGVkZWYgUDgzIGl0ZW04MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ5OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgPiBzdHJ1Y3QgdmVjdG9yODUgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3I4NTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQ+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgUDMgaXRlbTM7IHR5cGVkZWYgUDQgaXRlbTQ7IHR5cGVkZWYgUDUgaXRlbTU7IHR5cGVkZWYgUDYgaXRlbTY7IHR5cGVkZWYgUDcgaXRlbTc7IHR5cGVkZWYgUDggaXRlbTg7IHR5cGVkZWYgUDkgaXRlbTk7IHR5cGVkZWYgUDEwIGl0ZW0xMDsgdHlwZWRlZiBQMTEgaXRlbTExOyB0eXBlZGVmIFAxMiBpdGVtMTI7IHR5cGVkZWYgUDEzIGl0ZW0xMzsgdHlwZWRlZiBQMTQgaXRlbTE0OyB0eXBlZGVmIFAxNSBpdGVtMTU7IHR5cGVkZWYgUDE2IGl0ZW0xNjsgdHlwZWRlZiBQMTcgaXRlbTE3OyB0eXBlZGVmIFAxOCBpdGVtMTg7IHR5cGVkZWYgUDE5IGl0ZW0xOTsgdHlwZWRlZiBQMjAgaXRlbTIwOyB0eXBlZGVmIFAyMSBpdGVtMjE7IHR5cGVkZWYgUDIyIGl0ZW0yMjsgdHlwZWRlZiBQMjMgaXRlbTIzOyB0eXBlZGVmIFAyNCBpdGVtMjQ7IHR5cGVkZWYgUDI1IGl0ZW0yNTsgdHlwZWRlZiBQMjYgaXRlbTI2OyB0eXBlZGVmIFAyNyBpdGVtMjc7IHR5cGVkZWYgUDI4IGl0ZW0yODsgdHlwZWRlZiBQMjkgaXRlbTI5OyB0eXBlZGVmIFAzMCBpdGVtMzA7IHR5cGVkZWYgUDMxIGl0ZW0zMTsgdHlwZWRlZiBQMzIgaXRlbTMyOyB0eXBlZGVmIFAzMyBpdGVtMzM7IHR5cGVkZWYgUDM0IGl0ZW0zNDsgdHlwZWRlZiBQMzUgaXRlbTM1OyB0eXBlZGVmIFAzNiBpdGVtMzY7IHR5cGVkZWYgUDM3IGl0ZW0zNzsgdHlwZWRlZiBQMzggaXRlbTM4OyB0eXBlZGVmIFAzOSBpdGVtMzk7IHR5cGVkZWYgUDQwIGl0ZW00MDsgdHlwZWRlZiBQNDEgaXRlbTQxOyB0eXBlZGVmIFA0MiBpdGVtNDI7IHR5cGVkZWYgUDQzIGl0ZW00MzsgdHlwZWRlZiBQNDQgaXRlbTQ0OyB0eXBlZGVmIFA0NSBpdGVtNDU7IHR5cGVkZWYgUDQ2IGl0ZW00NjsgdHlwZWRlZiBQNDcgaXRlbTQ3OyB0eXBlZGVmIFA0OCBpdGVtNDg7IHR5cGVkZWYgUDQ5IGl0ZW00OTsgdHlwZWRlZiBQNTAgaXRlbTUwOyB0eXBlZGVmIFA1MSBpdGVtNTE7IHR5cGVkZWYgUDUyIGl0ZW01MjsgdHlwZWRlZiBQNTMgaXRlbTUzOyB0eXBlZGVmIFA1NCBpdGVtNTQ7IHR5cGVkZWYgUDU1IGl0ZW01NTsgdHlwZWRlZiBQNTYgaXRlbTU2OyB0eXBlZGVmIFA1NyBpdGVtNTc7IHR5cGVkZWYgUDU4IGl0ZW01ODsgdHlwZWRlZiBQNTkgaXRlbTU5OyB0eXBlZGVmIFA2MCBpdGVtNjA7IHR5cGVkZWYgUDYxIGl0ZW02MTsgdHlwZWRlZiBQNjIgaXRlbTYyOyB0eXBlZGVmIFA2MyBpdGVtNjM7IHR5cGVkZWYgUDY0IGl0ZW02NDsgdHlwZWRlZiBQNjUgaXRlbTY1OyB0eXBlZGVmIFA2NiBpdGVtNjY7IHR5cGVkZWYgUDY3IGl0ZW02NzsgdHlwZWRlZiBQNjggaXRlbTY4OyB0eXBlZGVmIFA2OSBpdGVtNjk7IHR5cGVkZWYgUDcwIGl0ZW03MDsgdHlwZWRlZiBQNzEgaXRlbTcxOyB0eXBlZGVmIFA3MiBpdGVtNzI7IHR5cGVkZWYgUDczIGl0ZW03MzsgdHlwZWRlZiBQNzQgaXRlbTc0OyB0eXBlZGVmIFA3NSBpdGVtNzU7IHR5cGVkZWYgUDc2IGl0ZW03NjsgdHlwZWRlZiBQNzcgaXRlbTc3OyB0eXBlZGVmIFA3OCBpdGVtNzg7IHR5cGVkZWYgUDc5IGl0ZW03OTsgdHlwZWRlZiBQODAgaXRlbTgwOyB0eXBlZGVmIFA4MSBpdGVtODE7IHR5cGVkZWYgUDgyIGl0ZW04MjsgdHlwZWRlZiBQODMgaXRlbTgzOyB0eXBlZGVmIFA4NCBpdGVtODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDk7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSA+IHN0cnVjdCB2ZWN0b3I4NiB7IHR5cGVkZWYgdl9pdGVyPHZlY3Rvcjg2PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NT4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0OTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ID4gc3RydWN0IHZlY3Rvcjg3IHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yODc8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2PiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgUDQxIGl0ZW00MTsgdHlwZWRlZiBQNDIgaXRlbTQyOyB0eXBlZGVmIFA0MyBpdGVtNDM7IHR5cGVkZWYgUDQ0IGl0ZW00NDsgdHlwZWRlZiBQNDUgaXRlbTQ1OyB0eXBlZGVmIFA0NiBpdGVtNDY7IHR5cGVkZWYgUDQ3IGl0ZW00NzsgdHlwZWRlZiBQNDggaXRlbTQ4OyB0eXBlZGVmIFA0OSBpdGVtNDk7IHR5cGVkZWYgUDUwIGl0ZW01MDsgdHlwZWRlZiBQNTEgaXRlbTUxOyB0eXBlZGVmIFA1MiBpdGVtNTI7IHR5cGVkZWYgUDUzIGl0ZW01MzsgdHlwZWRlZiBQNTQgaXRlbTU0OyB0eXBlZGVmIFA1NSBpdGVtNTU7IHR5cGVkZWYgUDU2IGl0ZW01NjsgdHlwZWRlZiBQNTcgaXRlbTU3OyB0eXBlZGVmIFA1OCBpdGVtNTg7IHR5cGVkZWYgUDU5IGl0ZW01OTsgdHlwZWRlZiBQNjAgaXRlbTYwOyB0eXBlZGVmIFA2MSBpdGVtNjE7IHR5cGVkZWYgUDYyIGl0ZW02MjsgdHlwZWRlZiBQNjMgaXRlbTYzOyB0eXBlZGVmIFA2NCBpdGVtNjQ7IHR5cGVkZWYgUDY1IGl0ZW02NTsgdHlwZWRlZiBQNjYgaXRlbTY2OyB0eXBlZGVmIFA2NyBpdGVtNjc7IHR5cGVkZWYgUDY4IGl0ZW02ODsgdHlwZWRlZiBQNjkgaXRlbTY5OyB0eXBlZGVmIFA3MCBpdGVtNzA7IHR5cGVkZWYgUDcxIGl0ZW03MTsgdHlwZWRlZiBQNzIgaXRlbTcyOyB0eXBlZGVmIFA3MyBpdGVtNzM7IHR5cGVkZWYgUDc0IGl0ZW03NDsgdHlwZWRlZiBQNzUgaXRlbTc1OyB0eXBlZGVmIFA3NiBpdGVtNzY7IHR5cGVkZWYgUDc3IGl0ZW03NzsgdHlwZWRlZiBQNzggaXRlbTc4OyB0eXBlZGVmIFA3OSBpdGVtNzk7IHR5cGVkZWYgUDgwIGl0ZW04MDsgdHlwZWRlZiBQODEgaXRlbTgxOyB0eXBlZGVmIFA4MiBpdGVtODI7IHR5cGVkZWYgUDgzIGl0ZW04MzsgdHlwZWRlZiBQODQgaXRlbTg0OyB0eXBlZGVmIFA4NSBpdGVtODU7IHR5cGVkZWYgUDg2IGl0ZW04NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ5OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgPiBzdHJ1Y3QgdmVjdG9yODggeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3I4ODwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODc+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgUDMgaXRlbTM7IHR5cGVkZWYgUDQgaXRlbTQ7IHR5cGVkZWYgUDUgaXRlbTU7IHR5cGVkZWYgUDYgaXRlbTY7IHR5cGVkZWYgUDcgaXRlbTc7IHR5cGVkZWYgUDggaXRlbTg7IHR5cGVkZWYgUDkgaXRlbTk7IHR5cGVkZWYgUDEwIGl0ZW0xMDsgdHlwZWRlZiBQMTEgaXRlbTExOyB0eXBlZGVmIFAxMiBpdGVtMTI7IHR5cGVkZWYgUDEzIGl0ZW0xMzsgdHlwZWRlZiBQMTQgaXRlbTE0OyB0eXBlZGVmIFAxNSBpdGVtMTU7IHR5cGVkZWYgUDE2IGl0ZW0xNjsgdHlwZWRlZiBQMTcgaXRlbTE3OyB0eXBlZGVmIFAxOCBpdGVtMTg7IHR5cGVkZWYgUDE5IGl0ZW0xOTsgdHlwZWRlZiBQMjAgaXRlbTIwOyB0eXBlZGVmIFAyMSBpdGVtMjE7IHR5cGVkZWYgUDIyIGl0ZW0yMjsgdHlwZWRlZiBQMjMgaXRlbTIzOyB0eXBlZGVmIFAyNCBpdGVtMjQ7IHR5cGVkZWYgUDI1IGl0ZW0yNTsgdHlwZWRlZiBQMjYgaXRlbTI2OyB0eXBlZGVmIFAyNyBpdGVtMjc7IHR5cGVkZWYgUDI4IGl0ZW0yODsgdHlwZWRlZiBQMjkgaXRlbTI5OyB0eXBlZGVmIFAzMCBpdGVtMzA7IHR5cGVkZWYgUDMxIGl0ZW0zMTsgdHlwZWRlZiBQMzIgaXRlbTMyOyB0eXBlZGVmIFAzMyBpdGVtMzM7IHR5cGVkZWYgUDM0IGl0ZW0zNDsgdHlwZWRlZiBQMzUgaXRlbTM1OyB0eXBlZGVmIFAzNiBpdGVtMzY7IHR5cGVkZWYgUDM3IGl0ZW0zNzsgdHlwZWRlZiBQMzggaXRlbTM4OyB0eXBlZGVmIFAzOSBpdGVtMzk7IHR5cGVkZWYgUDQwIGl0ZW00MDsgdHlwZWRlZiBQNDEgaXRlbTQxOyB0eXBlZGVmIFA0MiBpdGVtNDI7IHR5cGVkZWYgUDQzIGl0ZW00MzsgdHlwZWRlZiBQNDQgaXRlbTQ0OyB0eXBlZGVmIFA0NSBpdGVtNDU7IHR5cGVkZWYgUDQ2IGl0ZW00NjsgdHlwZWRlZiBQNDcgaXRlbTQ3OyB0eXBlZGVmIFA0OCBpdGVtNDg7IHR5cGVkZWYgUDQ5IGl0ZW00OTsgdHlwZWRlZiBQNTAgaXRlbTUwOyB0eXBlZGVmIFA1MSBpdGVtNTE7IHR5cGVkZWYgUDUyIGl0ZW01MjsgdHlwZWRlZiBQNTMgaXRlbTUzOyB0eXBlZGVmIFA1NCBpdGVtNTQ7IHR5cGVkZWYgUDU1IGl0ZW01NTsgdHlwZWRlZiBQNTYgaXRlbTU2OyB0eXBlZGVmIFA1NyBpdGVtNTc7IHR5cGVkZWYgUDU4IGl0ZW01ODsgdHlwZWRlZiBQNTkgaXRlbTU5OyB0eXBlZGVmIFA2MCBpdGVtNjA7IHR5cGVkZWYgUDYxIGl0ZW02MTsgdHlwZWRlZiBQNjIgaXRlbTYyOyB0eXBlZGVmIFA2MyBpdGVtNjM7IHR5cGVkZWYgUDY0IGl0ZW02NDsgdHlwZWRlZiBQNjUgaXRlbTY1OyB0eXBlZGVmIFA2NiBpdGVtNjY7IHR5cGVkZWYgUDY3IGl0ZW02NzsgdHlwZWRlZiBQNjggaXRlbTY4OyB0eXBlZGVmIFA2OSBpdGVtNjk7IHR5cGVkZWYgUDcwIGl0ZW03MDsgdHlwZWRlZiBQNzEgaXRlbTcxOyB0eXBlZGVmIFA3MiBpdGVtNzI7IHR5cGVkZWYgUDczIGl0ZW03MzsgdHlwZWRlZiBQNzQgaXRlbTc0OyB0eXBlZGVmIFA3NSBpdGVtNzU7IHR5cGVkZWYgUDc2IGl0ZW03NjsgdHlwZWRlZiBQNzcgaXRlbTc3OyB0eXBlZGVmIFA3OCBpdGVtNzg7IHR5cGVkZWYgUDc5IGl0ZW03OTsgdHlwZWRlZiBQODAgaXRlbTgwOyB0eXBlZGVmIFA4MSBpdGVtODE7IHR5cGVkZWYgUDgyIGl0ZW04MjsgdHlwZWRlZiBQODMgaXRlbTgzOyB0eXBlZGVmIFA4NCBpdGVtODQ7IHR5cGVkZWYgUDg1IGl0ZW04NTsgdHlwZWRlZiBQODYgaXRlbTg2OyB0eXBlZGVmIFA4NyBpdGVtODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDk7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSAsIGNsYXNzIFA4NiAsIGNsYXNzIFA4NyAsIGNsYXNzIFA4OCA+IHN0cnVjdCB2ZWN0b3I4OSB7IHR5cGVkZWYgdl9pdGVyPHZlY3Rvcjg5PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OD4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBQODggaXRlbTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0OTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ID4gc3RydWN0IHZlY3RvcjkwIHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yOTA8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5PiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgUDQxIGl0ZW00MTsgdHlwZWRlZiBQNDIgaXRlbTQyOyB0eXBlZGVmIFA0MyBpdGVtNDM7IHR5cGVkZWYgUDQ0IGl0ZW00NDsgdHlwZWRlZiBQNDUgaXRlbTQ1OyB0eXBlZGVmIFA0NiBpdGVtNDY7IHR5cGVkZWYgUDQ3IGl0ZW00NzsgdHlwZWRlZiBQNDggaXRlbTQ4OyB0eXBlZGVmIFA0OSBpdGVtNDk7IHR5cGVkZWYgUDUwIGl0ZW01MDsgdHlwZWRlZiBQNTEgaXRlbTUxOyB0eXBlZGVmIFA1MiBpdGVtNTI7IHR5cGVkZWYgUDUzIGl0ZW01MzsgdHlwZWRlZiBQNTQgaXRlbTU0OyB0eXBlZGVmIFA1NSBpdGVtNTU7IHR5cGVkZWYgUDU2IGl0ZW01NjsgdHlwZWRlZiBQNTcgaXRlbTU3OyB0eXBlZGVmIFA1OCBpdGVtNTg7IHR5cGVkZWYgUDU5IGl0ZW01OTsgdHlwZWRlZiBQNjAgaXRlbTYwOyB0eXBlZGVmIFA2MSBpdGVtNjE7IHR5cGVkZWYgUDYyIGl0ZW02MjsgdHlwZWRlZiBQNjMgaXRlbTYzOyB0eXBlZGVmIFA2NCBpdGVtNjQ7IHR5cGVkZWYgUDY1IGl0ZW02NTsgdHlwZWRlZiBQNjYgaXRlbTY2OyB0eXBlZGVmIFA2NyBpdGVtNjc7IHR5cGVkZWYgUDY4IGl0ZW02ODsgdHlwZWRlZiBQNjkgaXRlbTY5OyB0eXBlZGVmIFA3MCBpdGVtNzA7IHR5cGVkZWYgUDcxIGl0ZW03MTsgdHlwZWRlZiBQNzIgaXRlbTcyOyB0eXBlZGVmIFA3MyBpdGVtNzM7IHR5cGVkZWYgUDc0IGl0ZW03NDsgdHlwZWRlZiBQNzUgaXRlbTc1OyB0eXBlZGVmIFA3NiBpdGVtNzY7IHR5cGVkZWYgUDc3IGl0ZW03NzsgdHlwZWRlZiBQNzggaXRlbTc4OyB0eXBlZGVmIFA3OSBpdGVtNzk7IHR5cGVkZWYgUDgwIGl0ZW04MDsgdHlwZWRlZiBQODEgaXRlbTgxOyB0eXBlZGVmIFA4MiBpdGVtODI7IHR5cGVkZWYgUDgzIGl0ZW04MzsgdHlwZWRlZiBQODQgaXRlbTg0OyB0eXBlZGVmIFA4NSBpdGVtODU7IHR5cGVkZWYgUDg2IGl0ZW04NjsgdHlwZWRlZiBQODcgaXRlbTg3OyB0eXBlZGVmIFA4OCBpdGVtODg7IHR5cGVkZWYgUDg5IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ5OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgPiBzdHJ1Y3QgdmVjdG9yOTEgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3I5MTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTA+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgUDMgaXRlbTM7IHR5cGVkZWYgUDQgaXRlbTQ7IHR5cGVkZWYgUDUgaXRlbTU7IHR5cGVkZWYgUDYgaXRlbTY7IHR5cGVkZWYgUDcgaXRlbTc7IHR5cGVkZWYgUDggaXRlbTg7IHR5cGVkZWYgUDkgaXRlbTk7IHR5cGVkZWYgUDEwIGl0ZW0xMDsgdHlwZWRlZiBQMTEgaXRlbTExOyB0eXBlZGVmIFAxMiBpdGVtMTI7IHR5cGVkZWYgUDEzIGl0ZW0xMzsgdHlwZWRlZiBQMTQgaXRlbTE0OyB0eXBlZGVmIFAxNSBpdGVtMTU7IHR5cGVkZWYgUDE2IGl0ZW0xNjsgdHlwZWRlZiBQMTcgaXRlbTE3OyB0eXBlZGVmIFAxOCBpdGVtMTg7IHR5cGVkZWYgUDE5IGl0ZW0xOTsgdHlwZWRlZiBQMjAgaXRlbTIwOyB0eXBlZGVmIFAyMSBpdGVtMjE7IHR5cGVkZWYgUDIyIGl0ZW0yMjsgdHlwZWRlZiBQMjMgaXRlbTIzOyB0eXBlZGVmIFAyNCBpdGVtMjQ7IHR5cGVkZWYgUDI1IGl0ZW0yNTsgdHlwZWRlZiBQMjYgaXRlbTI2OyB0eXBlZGVmIFAyNyBpdGVtMjc7IHR5cGVkZWYgUDI4IGl0ZW0yODsgdHlwZWRlZiBQMjkgaXRlbTI5OyB0eXBlZGVmIFAzMCBpdGVtMzA7IHR5cGVkZWYgUDMxIGl0ZW0zMTsgdHlwZWRlZiBQMzIgaXRlbTMyOyB0eXBlZGVmIFAzMyBpdGVtMzM7IHR5cGVkZWYgUDM0IGl0ZW0zNDsgdHlwZWRlZiBQMzUgaXRlbTM1OyB0eXBlZGVmIFAzNiBpdGVtMzY7IHR5cGVkZWYgUDM3IGl0ZW0zNzsgdHlwZWRlZiBQMzggaXRlbTM4OyB0eXBlZGVmIFAzOSBpdGVtMzk7IHR5cGVkZWYgUDQwIGl0ZW00MDsgdHlwZWRlZiBQNDEgaXRlbTQxOyB0eXBlZGVmIFA0MiBpdGVtNDI7IHR5cGVkZWYgUDQzIGl0ZW00MzsgdHlwZWRlZiBQNDQgaXRlbTQ0OyB0eXBlZGVmIFA0NSBpdGVtNDU7IHR5cGVkZWYgUDQ2IGl0ZW00NjsgdHlwZWRlZiBQNDcgaXRlbTQ3OyB0eXBlZGVmIFA0OCBpdGVtNDg7IHR5cGVkZWYgUDQ5IGl0ZW00OTsgdHlwZWRlZiBQNTAgaXRlbTUwOyB0eXBlZGVmIFA1MSBpdGVtNTE7IHR5cGVkZWYgUDUyIGl0ZW01MjsgdHlwZWRlZiBQNTMgaXRlbTUzOyB0eXBlZGVmIFA1NCBpdGVtNTQ7IHR5cGVkZWYgUDU1IGl0ZW01NTsgdHlwZWRlZiBQNTYgaXRlbTU2OyB0eXBlZGVmIFA1NyBpdGVtNTc7IHR5cGVkZWYgUDU4IGl0ZW01ODsgdHlwZWRlZiBQNTkgaXRlbTU5OyB0eXBlZGVmIFA2MCBpdGVtNjA7IHR5cGVkZWYgUDYxIGl0ZW02MTsgdHlwZWRlZiBQNjIgaXRlbTYyOyB0eXBlZGVmIFA2MyBpdGVtNjM7IHR5cGVkZWYgUDY0IGl0ZW02NDsgdHlwZWRlZiBQNjUgaXRlbTY1OyB0eXBlZGVmIFA2NiBpdGVtNjY7IHR5cGVkZWYgUDY3IGl0ZW02NzsgdHlwZWRlZiBQNjggaXRlbTY4OyB0eXBlZGVmIFA2OSBpdGVtNjk7IHR5cGVkZWYgUDcwIGl0ZW03MDsgdHlwZWRlZiBQNzEgaXRlbTcxOyB0eXBlZGVmIFA3MiBpdGVtNzI7IHR5cGVkZWYgUDczIGl0ZW03MzsgdHlwZWRlZiBQNzQgaXRlbTc0OyB0eXBlZGVmIFA3NSBpdGVtNzU7IHR5cGVkZWYgUDc2IGl0ZW03NjsgdHlwZWRlZiBQNzcgaXRlbTc3OyB0eXBlZGVmIFA3OCBpdGVtNzg7IHR5cGVkZWYgUDc5IGl0ZW03OTsgdHlwZWRlZiBQODAgaXRlbTgwOyB0eXBlZGVmIFA4MSBpdGVtODE7IHR5cGVkZWYgUDgyIGl0ZW04MjsgdHlwZWRlZiBQODMgaXRlbTgzOyB0eXBlZGVmIFA4NCBpdGVtODQ7IHR5cGVkZWYgUDg1IGl0ZW04NTsgdHlwZWRlZiBQODYgaXRlbTg2OyB0eXBlZGVmIFA4NyBpdGVtODc7IHR5cGVkZWYgUDg4IGl0ZW04ODsgdHlwZWRlZiBQODkgaXRlbTg5OyB0eXBlZGVmIFA5MCBpdGVtOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDk7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSAsIGNsYXNzIFA4NiAsIGNsYXNzIFA4NyAsIGNsYXNzIFA4OCAsIGNsYXNzIFA4OSAsIGNsYXNzIFA5MCAsIGNsYXNzIFA5MSA+IHN0cnVjdCB2ZWN0b3I5MiB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjkyPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MT4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBQODggaXRlbTg4OyB0eXBlZGVmIFA4OSBpdGVtODk7IHR5cGVkZWYgUDkwIGl0ZW05MDsgdHlwZWRlZiBQOTEgaXRlbTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0OTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyID4gc3RydWN0IHZlY3RvcjkzIHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yOTM8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyPiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgUDQxIGl0ZW00MTsgdHlwZWRlZiBQNDIgaXRlbTQyOyB0eXBlZGVmIFA0MyBpdGVtNDM7IHR5cGVkZWYgUDQ0IGl0ZW00NDsgdHlwZWRlZiBQNDUgaXRlbTQ1OyB0eXBlZGVmIFA0NiBpdGVtNDY7IHR5cGVkZWYgUDQ3IGl0ZW00NzsgdHlwZWRlZiBQNDggaXRlbTQ4OyB0eXBlZGVmIFA0OSBpdGVtNDk7IHR5cGVkZWYgUDUwIGl0ZW01MDsgdHlwZWRlZiBQNTEgaXRlbTUxOyB0eXBlZGVmIFA1MiBpdGVtNTI7IHR5cGVkZWYgUDUzIGl0ZW01MzsgdHlwZWRlZiBQNTQgaXRlbTU0OyB0eXBlZGVmIFA1NSBpdGVtNTU7IHR5cGVkZWYgUDU2IGl0ZW01NjsgdHlwZWRlZiBQNTcgaXRlbTU3OyB0eXBlZGVmIFA1OCBpdGVtNTg7IHR5cGVkZWYgUDU5IGl0ZW01OTsgdHlwZWRlZiBQNjAgaXRlbTYwOyB0eXBlZGVmIFA2MSBpdGVtNjE7IHR5cGVkZWYgUDYyIGl0ZW02MjsgdHlwZWRlZiBQNjMgaXRlbTYzOyB0eXBlZGVmIFA2NCBpdGVtNjQ7IHR5cGVkZWYgUDY1IGl0ZW02NTsgdHlwZWRlZiBQNjYgaXRlbTY2OyB0eXBlZGVmIFA2NyBpdGVtNjc7IHR5cGVkZWYgUDY4IGl0ZW02ODsgdHlwZWRlZiBQNjkgaXRlbTY5OyB0eXBlZGVmIFA3MCBpdGVtNzA7IHR5cGVkZWYgUDcxIGl0ZW03MTsgdHlwZWRlZiBQNzIgaXRlbTcyOyB0eXBlZGVmIFA3MyBpdGVtNzM7IHR5cGVkZWYgUDc0IGl0ZW03NDsgdHlwZWRlZiBQNzUgaXRlbTc1OyB0eXBlZGVmIFA3NiBpdGVtNzY7IHR5cGVkZWYgUDc3IGl0ZW03NzsgdHlwZWRlZiBQNzggaXRlbTc4OyB0eXBlZGVmIFA3OSBpdGVtNzk7IHR5cGVkZWYgUDgwIGl0ZW04MDsgdHlwZWRlZiBQODEgaXRlbTgxOyB0eXBlZGVmIFA4MiBpdGVtODI7IHR5cGVkZWYgUDgzIGl0ZW04MzsgdHlwZWRlZiBQODQgaXRlbTg0OyB0eXBlZGVmIFA4NSBpdGVtODU7IHR5cGVkZWYgUDg2IGl0ZW04NjsgdHlwZWRlZiBQODcgaXRlbTg3OyB0eXBlZGVmIFA4OCBpdGVtODg7IHR5cGVkZWYgUDg5IGl0ZW04OTsgdHlwZWRlZiBQOTAgaXRlbTkwOyB0eXBlZGVmIFA5MSBpdGVtOTE7IHR5cGVkZWYgUDkyIGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ5OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBQOTMgPiBzdHJ1Y3QgdmVjdG9yOTQgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3I5NDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTM+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgUDMgaXRlbTM7IHR5cGVkZWYgUDQgaXRlbTQ7IHR5cGVkZWYgUDUgaXRlbTU7IHR5cGVkZWYgUDYgaXRlbTY7IHR5cGVkZWYgUDcgaXRlbTc7IHR5cGVkZWYgUDggaXRlbTg7IHR5cGVkZWYgUDkgaXRlbTk7IHR5cGVkZWYgUDEwIGl0ZW0xMDsgdHlwZWRlZiBQMTEgaXRlbTExOyB0eXBlZGVmIFAxMiBpdGVtMTI7IHR5cGVkZWYgUDEzIGl0ZW0xMzsgdHlwZWRlZiBQMTQgaXRlbTE0OyB0eXBlZGVmIFAxNSBpdGVtMTU7IHR5cGVkZWYgUDE2IGl0ZW0xNjsgdHlwZWRlZiBQMTcgaXRlbTE3OyB0eXBlZGVmIFAxOCBpdGVtMTg7IHR5cGVkZWYgUDE5IGl0ZW0xOTsgdHlwZWRlZiBQMjAgaXRlbTIwOyB0eXBlZGVmIFAyMSBpdGVtMjE7IHR5cGVkZWYgUDIyIGl0ZW0yMjsgdHlwZWRlZiBQMjMgaXRlbTIzOyB0eXBlZGVmIFAyNCBpdGVtMjQ7IHR5cGVkZWYgUDI1IGl0ZW0yNTsgdHlwZWRlZiBQMjYgaXRlbTI2OyB0eXBlZGVmIFAyNyBpdGVtMjc7IHR5cGVkZWYgUDI4IGl0ZW0yODsgdHlwZWRlZiBQMjkgaXRlbTI5OyB0eXBlZGVmIFAzMCBpdGVtMzA7IHR5cGVkZWYgUDMxIGl0ZW0zMTsgdHlwZWRlZiBQMzIgaXRlbTMyOyB0eXBlZGVmIFAzMyBpdGVtMzM7IHR5cGVkZWYgUDM0IGl0ZW0zNDsgdHlwZWRlZiBQMzUgaXRlbTM1OyB0eXBlZGVmIFAzNiBpdGVtMzY7IHR5cGVkZWYgUDM3IGl0ZW0zNzsgdHlwZWRlZiBQMzggaXRlbTM4OyB0eXBlZGVmIFAzOSBpdGVtMzk7IHR5cGVkZWYgUDQwIGl0ZW00MDsgdHlwZWRlZiBQNDEgaXRlbTQxOyB0eXBlZGVmIFA0MiBpdGVtNDI7IHR5cGVkZWYgUDQzIGl0ZW00MzsgdHlwZWRlZiBQNDQgaXRlbTQ0OyB0eXBlZGVmIFA0NSBpdGVtNDU7IHR5cGVkZWYgUDQ2IGl0ZW00NjsgdHlwZWRlZiBQNDcgaXRlbTQ3OyB0eXBlZGVmIFA0OCBpdGVtNDg7IHR5cGVkZWYgUDQ5IGl0ZW00OTsgdHlwZWRlZiBQNTAgaXRlbTUwOyB0eXBlZGVmIFA1MSBpdGVtNTE7IHR5cGVkZWYgUDUyIGl0ZW01MjsgdHlwZWRlZiBQNTMgaXRlbTUzOyB0eXBlZGVmIFA1NCBpdGVtNTQ7IHR5cGVkZWYgUDU1IGl0ZW01NTsgdHlwZWRlZiBQNTYgaXRlbTU2OyB0eXBlZGVmIFA1NyBpdGVtNTc7IHR5cGVkZWYgUDU4IGl0ZW01ODsgdHlwZWRlZiBQNTkgaXRlbTU5OyB0eXBlZGVmIFA2MCBpdGVtNjA7IHR5cGVkZWYgUDYxIGl0ZW02MTsgdHlwZWRlZiBQNjIgaXRlbTYyOyB0eXBlZGVmIFA2MyBpdGVtNjM7IHR5cGVkZWYgUDY0IGl0ZW02NDsgdHlwZWRlZiBQNjUgaXRlbTY1OyB0eXBlZGVmIFA2NiBpdGVtNjY7IHR5cGVkZWYgUDY3IGl0ZW02NzsgdHlwZWRlZiBQNjggaXRlbTY4OyB0eXBlZGVmIFA2OSBpdGVtNjk7IHR5cGVkZWYgUDcwIGl0ZW03MDsgdHlwZWRlZiBQNzEgaXRlbTcxOyB0eXBlZGVmIFA3MiBpdGVtNzI7IHR5cGVkZWYgUDczIGl0ZW03MzsgdHlwZWRlZiBQNzQgaXRlbTc0OyB0eXBlZGVmIFA3NSBpdGVtNzU7IHR5cGVkZWYgUDc2IGl0ZW03NjsgdHlwZWRlZiBQNzcgaXRlbTc3OyB0eXBlZGVmIFA3OCBpdGVtNzg7IHR5cGVkZWYgUDc5IGl0ZW03OTsgdHlwZWRlZiBQODAgaXRlbTgwOyB0eXBlZGVmIFA4MSBpdGVtODE7IHR5cGVkZWYgUDgyIGl0ZW04MjsgdHlwZWRlZiBQODMgaXRlbTgzOyB0eXBlZGVmIFA4NCBpdGVtODQ7IHR5cGVkZWYgUDg1IGl0ZW04NTsgdHlwZWRlZiBQODYgaXRlbTg2OyB0eXBlZGVmIFA4NyBpdGVtODc7IHR5cGVkZWYgUDg4IGl0ZW04ODsgdHlwZWRlZiBQODkgaXRlbTg5OyB0eXBlZGVmIFA5MCBpdGVtOTA7IHR5cGVkZWYgUDkxIGl0ZW05MTsgdHlwZWRlZiBQOTIgaXRlbTkyOyB0eXBlZGVmIFA5MyBpdGVtOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDk7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSAsIGNsYXNzIFA4NiAsIGNsYXNzIFA4NyAsIGNsYXNzIFA4OCAsIGNsYXNzIFA4OSAsIGNsYXNzIFA5MCAsIGNsYXNzIFA5MSAsIGNsYXNzIFA5MiAsIGNsYXNzIFA5MyAsIGNsYXNzIFA5NCA+IHN0cnVjdCB2ZWN0b3I5NSB7IHR5cGVkZWYgdl9pdGVyPHZlY3Rvcjk1PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFA5MiAsIFA5MyAsIFA5ND4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBQODggaXRlbTg4OyB0eXBlZGVmIFA4OSBpdGVtODk7IHR5cGVkZWYgUDkwIGl0ZW05MDsgdHlwZWRlZiBQOTEgaXRlbTkxOyB0eXBlZGVmIFA5MiBpdGVtOTI7IHR5cGVkZWYgUDkzIGl0ZW05MzsgdHlwZWRlZiBQOTQgaXRlbTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0OTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ID4gc3RydWN0IHZlY3Rvcjk2IHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yOTY8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1PiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgUDQxIGl0ZW00MTsgdHlwZWRlZiBQNDIgaXRlbTQyOyB0eXBlZGVmIFA0MyBpdGVtNDM7IHR5cGVkZWYgUDQ0IGl0ZW00NDsgdHlwZWRlZiBQNDUgaXRlbTQ1OyB0eXBlZGVmIFA0NiBpdGVtNDY7IHR5cGVkZWYgUDQ3IGl0ZW00NzsgdHlwZWRlZiBQNDggaXRlbTQ4OyB0eXBlZGVmIFA0OSBpdGVtNDk7IHR5cGVkZWYgUDUwIGl0ZW01MDsgdHlwZWRlZiBQNTEgaXRlbTUxOyB0eXBlZGVmIFA1MiBpdGVtNTI7IHR5cGVkZWYgUDUzIGl0ZW01MzsgdHlwZWRlZiBQNTQgaXRlbTU0OyB0eXBlZGVmIFA1NSBpdGVtNTU7IHR5cGVkZWYgUDU2IGl0ZW01NjsgdHlwZWRlZiBQNTcgaXRlbTU3OyB0eXBlZGVmIFA1OCBpdGVtNTg7IHR5cGVkZWYgUDU5IGl0ZW01OTsgdHlwZWRlZiBQNjAgaXRlbTYwOyB0eXBlZGVmIFA2MSBpdGVtNjE7IHR5cGVkZWYgUDYyIGl0ZW02MjsgdHlwZWRlZiBQNjMgaXRlbTYzOyB0eXBlZGVmIFA2NCBpdGVtNjQ7IHR5cGVkZWYgUDY1IGl0ZW02NTsgdHlwZWRlZiBQNjYgaXRlbTY2OyB0eXBlZGVmIFA2NyBpdGVtNjc7IHR5cGVkZWYgUDY4IGl0ZW02ODsgdHlwZWRlZiBQNjkgaXRlbTY5OyB0eXBlZGVmIFA3MCBpdGVtNzA7IHR5cGVkZWYgUDcxIGl0ZW03MTsgdHlwZWRlZiBQNzIgaXRlbTcyOyB0eXBlZGVmIFA3MyBpdGVtNzM7IHR5cGVkZWYgUDc0IGl0ZW03NDsgdHlwZWRlZiBQNzUgaXRlbTc1OyB0eXBlZGVmIFA3NiBpdGVtNzY7IHR5cGVkZWYgUDc3IGl0ZW03NzsgdHlwZWRlZiBQNzggaXRlbTc4OyB0eXBlZGVmIFA3OSBpdGVtNzk7IHR5cGVkZWYgUDgwIGl0ZW04MDsgdHlwZWRlZiBQODEgaXRlbTgxOyB0eXBlZGVmIFA4MiBpdGVtODI7IHR5cGVkZWYgUDgzIGl0ZW04MzsgdHlwZWRlZiBQODQgaXRlbTg0OyB0eXBlZGVmIFA4NSBpdGVtODU7IHR5cGVkZWYgUDg2IGl0ZW04NjsgdHlwZWRlZiBQODcgaXRlbTg3OyB0eXBlZGVmIFA4OCBpdGVtODg7IHR5cGVkZWYgUDg5IGl0ZW04OTsgdHlwZWRlZiBQOTAgaXRlbTkwOyB0eXBlZGVmIFA5MSBpdGVtOTE7IHR5cGVkZWYgUDkyIGl0ZW05MjsgdHlwZWRlZiBQOTMgaXRlbTkzOyB0eXBlZGVmIFA5NCBpdGVtOTQ7IHR5cGVkZWYgUDk1IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ5OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBQOTMgLCBjbGFzcyBQOTQgLCBjbGFzcyBQOTUgLCBjbGFzcyBQOTYgPiBzdHJ1Y3QgdmVjdG9yOTcgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3I5NzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTY+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgUDMgaXRlbTM7IHR5cGVkZWYgUDQgaXRlbTQ7IHR5cGVkZWYgUDUgaXRlbTU7IHR5cGVkZWYgUDYgaXRlbTY7IHR5cGVkZWYgUDcgaXRlbTc7IHR5cGVkZWYgUDggaXRlbTg7IHR5cGVkZWYgUDkgaXRlbTk7IHR5cGVkZWYgUDEwIGl0ZW0xMDsgdHlwZWRlZiBQMTEgaXRlbTExOyB0eXBlZGVmIFAxMiBpdGVtMTI7IHR5cGVkZWYgUDEzIGl0ZW0xMzsgdHlwZWRlZiBQMTQgaXRlbTE0OyB0eXBlZGVmIFAxNSBpdGVtMTU7IHR5cGVkZWYgUDE2IGl0ZW0xNjsgdHlwZWRlZiBQMTcgaXRlbTE3OyB0eXBlZGVmIFAxOCBpdGVtMTg7IHR5cGVkZWYgUDE5IGl0ZW0xOTsgdHlwZWRlZiBQMjAgaXRlbTIwOyB0eXBlZGVmIFAyMSBpdGVtMjE7IHR5cGVkZWYgUDIyIGl0ZW0yMjsgdHlwZWRlZiBQMjMgaXRlbTIzOyB0eXBlZGVmIFAyNCBpdGVtMjQ7IHR5cGVkZWYgUDI1IGl0ZW0yNTsgdHlwZWRlZiBQMjYgaXRlbTI2OyB0eXBlZGVmIFAyNyBpdGVtMjc7IHR5cGVkZWYgUDI4IGl0ZW0yODsgdHlwZWRlZiBQMjkgaXRlbTI5OyB0eXBlZGVmIFAzMCBpdGVtMzA7IHR5cGVkZWYgUDMxIGl0ZW0zMTsgdHlwZWRlZiBQMzIgaXRlbTMyOyB0eXBlZGVmIFAzMyBpdGVtMzM7IHR5cGVkZWYgUDM0IGl0ZW0zNDsgdHlwZWRlZiBQMzUgaXRlbTM1OyB0eXBlZGVmIFAzNiBpdGVtMzY7IHR5cGVkZWYgUDM3IGl0ZW0zNzsgdHlwZWRlZiBQMzggaXRlbTM4OyB0eXBlZGVmIFAzOSBpdGVtMzk7IHR5cGVkZWYgUDQwIGl0ZW00MDsgdHlwZWRlZiBQNDEgaXRlbTQxOyB0eXBlZGVmIFA0MiBpdGVtNDI7IHR5cGVkZWYgUDQzIGl0ZW00MzsgdHlwZWRlZiBQNDQgaXRlbTQ0OyB0eXBlZGVmIFA0NSBpdGVtNDU7IHR5cGVkZWYgUDQ2IGl0ZW00NjsgdHlwZWRlZiBQNDcgaXRlbTQ3OyB0eXBlZGVmIFA0OCBpdGVtNDg7IHR5cGVkZWYgUDQ5IGl0ZW00OTsgdHlwZWRlZiBQNTAgaXRlbTUwOyB0eXBlZGVmIFA1MSBpdGVtNTE7IHR5cGVkZWYgUDUyIGl0ZW01MjsgdHlwZWRlZiBQNTMgaXRlbTUzOyB0eXBlZGVmIFA1NCBpdGVtNTQ7IHR5cGVkZWYgUDU1IGl0ZW01NTsgdHlwZWRlZiBQNTYgaXRlbTU2OyB0eXBlZGVmIFA1NyBpdGVtNTc7IHR5cGVkZWYgUDU4IGl0ZW01ODsgdHlwZWRlZiBQNTkgaXRlbTU5OyB0eXBlZGVmIFA2MCBpdGVtNjA7IHR5cGVkZWYgUDYxIGl0ZW02MTsgdHlwZWRlZiBQNjIgaXRlbTYyOyB0eXBlZGVmIFA2MyBpdGVtNjM7IHR5cGVkZWYgUDY0IGl0ZW02NDsgdHlwZWRlZiBQNjUgaXRlbTY1OyB0eXBlZGVmIFA2NiBpdGVtNjY7IHR5cGVkZWYgUDY3IGl0ZW02NzsgdHlwZWRlZiBQNjggaXRlbTY4OyB0eXBlZGVmIFA2OSBpdGVtNjk7IHR5cGVkZWYgUDcwIGl0ZW03MDsgdHlwZWRlZiBQNzEgaXRlbTcxOyB0eXBlZGVmIFA3MiBpdGVtNzI7IHR5cGVkZWYgUDczIGl0ZW03MzsgdHlwZWRlZiBQNzQgaXRlbTc0OyB0eXBlZGVmIFA3NSBpdGVtNzU7IHR5cGVkZWYgUDc2IGl0ZW03NjsgdHlwZWRlZiBQNzcgaXRlbTc3OyB0eXBlZGVmIFA3OCBpdGVtNzg7IHR5cGVkZWYgUDc5IGl0ZW03OTsgdHlwZWRlZiBQODAgaXRlbTgwOyB0eXBlZGVmIFA4MSBpdGVtODE7IHR5cGVkZWYgUDgyIGl0ZW04MjsgdHlwZWRlZiBQODMgaXRlbTgzOyB0eXBlZGVmIFA4NCBpdGVtODQ7IHR5cGVkZWYgUDg1IGl0ZW04NTsgdHlwZWRlZiBQODYgaXRlbTg2OyB0eXBlZGVmIFA4NyBpdGVtODc7IHR5cGVkZWYgUDg4IGl0ZW04ODsgdHlwZWRlZiBQODkgaXRlbTg5OyB0eXBlZGVmIFA5MCBpdGVtOTA7IHR5cGVkZWYgUDkxIGl0ZW05MTsgdHlwZWRlZiBQOTIgaXRlbTkyOyB0eXBlZGVmIFA5MyBpdGVtOTM7IHR5cGVkZWYgUDk0IGl0ZW05NDsgdHlwZWRlZiBQOTUgaXRlbTk1OyB0eXBlZGVmIFA5NiBpdGVtOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDk7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSAsIGNsYXNzIFA4NiAsIGNsYXNzIFA4NyAsIGNsYXNzIFA4OCAsIGNsYXNzIFA4OSAsIGNsYXNzIFA5MCAsIGNsYXNzIFA5MSAsIGNsYXNzIFA5MiAsIGNsYXNzIFA5MyAsIGNsYXNzIFA5NCAsIGNsYXNzIFA5NSAsIGNsYXNzIFA5NiAsIGNsYXNzIFA5NyA+IHN0cnVjdCB2ZWN0b3I5OCB7IHR5cGVkZWYgdl9pdGVyPHZlY3Rvcjk4PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFA5MiAsIFA5MyAsIFA5NCAsIFA5NSAsIFA5NiAsIFA5Nz4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBQODggaXRlbTg4OyB0eXBlZGVmIFA4OSBpdGVtODk7IHR5cGVkZWYgUDkwIGl0ZW05MDsgdHlwZWRlZiBQOTEgaXRlbTkxOyB0eXBlZGVmIFA5MiBpdGVtOTI7IHR5cGVkZWYgUDkzIGl0ZW05MzsgdHlwZWRlZiBQOTQgaXRlbTk0OyB0eXBlZGVmIFA5NSBpdGVtOTU7IHR5cGVkZWYgUDk2IGl0ZW05NjsgdHlwZWRlZiBQOTcgaXRlbTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0OTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ICwgY2xhc3MgUDk2ICwgY2xhc3MgUDk3ICwgY2xhc3MgUDk4ID4gc3RydWN0IHZlY3Rvcjk5IHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yOTk8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1ICwgUDk2ICwgUDk3ICwgUDk4PiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgUDQxIGl0ZW00MTsgdHlwZWRlZiBQNDIgaXRlbTQyOyB0eXBlZGVmIFA0MyBpdGVtNDM7IHR5cGVkZWYgUDQ0IGl0ZW00NDsgdHlwZWRlZiBQNDUgaXRlbTQ1OyB0eXBlZGVmIFA0NiBpdGVtNDY7IHR5cGVkZWYgUDQ3IGl0ZW00NzsgdHlwZWRlZiBQNDggaXRlbTQ4OyB0eXBlZGVmIFA0OSBpdGVtNDk7IHR5cGVkZWYgUDUwIGl0ZW01MDsgdHlwZWRlZiBQNTEgaXRlbTUxOyB0eXBlZGVmIFA1MiBpdGVtNTI7IHR5cGVkZWYgUDUzIGl0ZW01MzsgdHlwZWRlZiBQNTQgaXRlbTU0OyB0eXBlZGVmIFA1NSBpdGVtNTU7IHR5cGVkZWYgUDU2IGl0ZW01NjsgdHlwZWRlZiBQNTcgaXRlbTU3OyB0eXBlZGVmIFA1OCBpdGVtNTg7IHR5cGVkZWYgUDU5IGl0ZW01OTsgdHlwZWRlZiBQNjAgaXRlbTYwOyB0eXBlZGVmIFA2MSBpdGVtNjE7IHR5cGVkZWYgUDYyIGl0ZW02MjsgdHlwZWRlZiBQNjMgaXRlbTYzOyB0eXBlZGVmIFA2NCBpdGVtNjQ7IHR5cGVkZWYgUDY1IGl0ZW02NTsgdHlwZWRlZiBQNjYgaXRlbTY2OyB0eXBlZGVmIFA2NyBpdGVtNjc7IHR5cGVkZWYgUDY4IGl0ZW02ODsgdHlwZWRlZiBQNjkgaXRlbTY5OyB0eXBlZGVmIFA3MCBpdGVtNzA7IHR5cGVkZWYgUDcxIGl0ZW03MTsgdHlwZWRlZiBQNzIgaXRlbTcyOyB0eXBlZGVmIFA3MyBpdGVtNzM7IHR5cGVkZWYgUDc0IGl0ZW03NDsgdHlwZWRlZiBQNzUgaXRlbTc1OyB0eXBlZGVmIFA3NiBpdGVtNzY7IHR5cGVkZWYgUDc3IGl0ZW03NzsgdHlwZWRlZiBQNzggaXRlbTc4OyB0eXBlZGVmIFA3OSBpdGVtNzk7IHR5cGVkZWYgUDgwIGl0ZW04MDsgdHlwZWRlZiBQODEgaXRlbTgxOyB0eXBlZGVmIFA4MiBpdGVtODI7IHR5cGVkZWYgUDgzIGl0ZW04MzsgdHlwZWRlZiBQODQgaXRlbTg0OyB0eXBlZGVmIFA4NSBpdGVtODU7IHR5cGVkZWYgUDg2IGl0ZW04NjsgdHlwZWRlZiBQODcgaXRlbTg3OyB0eXBlZGVmIFA4OCBpdGVtODg7IHR5cGVkZWYgUDg5IGl0ZW04OTsgdHlwZWRlZiBQOTAgaXRlbTkwOyB0eXBlZGVmIFA5MSBpdGVtOTE7IHR5cGVkZWYgUDkyIGl0ZW05MjsgdHlwZWRlZiBQOTMgaXRlbTkzOyB0eXBlZGVmIFA5NCBpdGVtOTQ7IHR5cGVkZWYgUDk1IGl0ZW05NTsgdHlwZWRlZiBQOTYgaXRlbTk2OyB0eXBlZGVmIFA5NyBpdGVtOTc7IHR5cGVkZWYgUDk4IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ5OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBQOTMgLCBjbGFzcyBQOTQgLCBjbGFzcyBQOTUgLCBjbGFzcyBQOTYgLCBjbGFzcyBQOTcgLCBjbGFzcyBQOTggLCBjbGFzcyBQOTkgPiBzdHJ1Y3QgdmVjdG9yMTAwIHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yMTAwPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFA5MiAsIFA5MyAsIFA5NCAsIFA5NSAsIFA5NiAsIFA5NyAsIFA5OCAsIFA5OT4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBQODggaXRlbTg4OyB0eXBlZGVmIFA4OSBpdGVtODk7IHR5cGVkZWYgUDkwIGl0ZW05MDsgdHlwZWRlZiBQOTEgaXRlbTkxOyB0eXBlZGVmIFA5MiBpdGVtOTI7IHR5cGVkZWYgUDkzIGl0ZW05MzsgdHlwZWRlZiBQOTQgaXRlbTk0OyB0eXBlZGVmIFA5NSBpdGVtOTU7IHR5cGVkZWYgUDk2IGl0ZW05NjsgdHlwZWRlZiBQOTcgaXRlbTk3OyB0eXBlZGVmIFA5OCBpdGVtOTg7IHR5cGVkZWYgUDk5IGl0ZW05OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0OTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ICwgY2xhc3MgUDk2ICwgY2xhc3MgUDk3ICwgY2xhc3MgUDk4ICwgY2xhc3MgUDk5ICwgY2xhc3MgUDEwMCA+IHN0cnVjdCB2ZWN0b3IxMDEgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3IxMDE8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1ICwgUDk2ICwgUDk3ICwgUDk4ICwgUDk5ICwgUDEwMD4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBQODggaXRlbTg4OyB0eXBlZGVmIFA4OSBpdGVtODk7IHR5cGVkZWYgUDkwIGl0ZW05MDsgdHlwZWRlZiBQOTEgaXRlbTkxOyB0eXBlZGVmIFA5MiBpdGVtOTI7IHR5cGVkZWYgUDkzIGl0ZW05MzsgdHlwZWRlZiBQOTQgaXRlbTk0OyB0eXBlZGVmIFA5NSBpdGVtOTU7IHR5cGVkZWYgUDk2IGl0ZW05NjsgdHlwZWRlZiBQOTcgaXRlbTk3OyB0eXBlZGVmIFA5OCBpdGVtOTg7IHR5cGVkZWYgUDk5IGl0ZW05OTsgdHlwZWRlZiBQMTAwIGl0ZW0xMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDk7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSAsIGNsYXNzIFA4NiAsIGNsYXNzIFA4NyAsIGNsYXNzIFA4OCAsIGNsYXNzIFA4OSAsIGNsYXNzIFA5MCAsIGNsYXNzIFA5MSAsIGNsYXNzIFA5MiAsIGNsYXNzIFA5MyAsIGNsYXNzIFA5NCAsIGNsYXNzIFA5NSAsIGNsYXNzIFA5NiAsIGNsYXNzIFA5NyAsIGNsYXNzIFA5OCAsIGNsYXNzIFA5OSAsIGNsYXNzIFAxMDAgLCBjbGFzcyBQMTAxID4gc3RydWN0IHZlY3RvcjEwMiB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjEwMjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMT4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBQODggaXRlbTg4OyB0eXBlZGVmIFA4OSBpdGVtODk7IHR5cGVkZWYgUDkwIGl0ZW05MDsgdHlwZWRlZiBQOTEgaXRlbTkxOyB0eXBlZGVmIFA5MiBpdGVtOTI7IHR5cGVkZWYgUDkzIGl0ZW05MzsgdHlwZWRlZiBQOTQgaXRlbTk0OyB0eXBlZGVmIFA5NSBpdGVtOTU7IHR5cGVkZWYgUDk2IGl0ZW05NjsgdHlwZWRlZiBQOTcgaXRlbTk3OyB0eXBlZGVmIFA5OCBpdGVtOTg7IHR5cGVkZWYgUDk5IGl0ZW05OTsgdHlwZWRlZiBQMTAwIGl0ZW0xMDA7IHR5cGVkZWYgUDEwMSBpdGVtMTAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ5OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBQOTMgLCBjbGFzcyBQOTQgLCBjbGFzcyBQOTUgLCBjbGFzcyBQOTYgLCBjbGFzcyBQOTcgLCBjbGFzcyBQOTggLCBjbGFzcyBQOTkgLCBjbGFzcyBQMTAwICwgY2xhc3MgUDEwMSAsIGNsYXNzIFAxMDIgPiBzdHJ1Y3QgdmVjdG9yMTAzIHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yMTAzPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFA5MiAsIFA5MyAsIFA5NCAsIFA5NSAsIFA5NiAsIFA5NyAsIFA5OCAsIFA5OSAsIFAxMDAgLCBQMTAxICwgUDEwMj4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBQODggaXRlbTg4OyB0eXBlZGVmIFA4OSBpdGVtODk7IHR5cGVkZWYgUDkwIGl0ZW05MDsgdHlwZWRlZiBQOTEgaXRlbTkxOyB0eXBlZGVmIFA5MiBpdGVtOTI7IHR5cGVkZWYgUDkzIGl0ZW05MzsgdHlwZWRlZiBQOTQgaXRlbTk0OyB0eXBlZGVmIFA5NSBpdGVtOTU7IHR5cGVkZWYgUDk2IGl0ZW05NjsgdHlwZWRlZiBQOTcgaXRlbTk3OyB0eXBlZGVmIFA5OCBpdGVtOTg7IHR5cGVkZWYgUDk5IGl0ZW05OTsgdHlwZWRlZiBQMTAwIGl0ZW0xMDA7IHR5cGVkZWYgUDEwMSBpdGVtMTAxOyB0eXBlZGVmIFAxMDIgaXRlbTEwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0OTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ICwgY2xhc3MgUDk2ICwgY2xhc3MgUDk3ICwgY2xhc3MgUDk4ICwgY2xhc3MgUDk5ICwgY2xhc3MgUDEwMCAsIGNsYXNzIFAxMDEgLCBjbGFzcyBQMTAyICwgY2xhc3MgUDEwMyA+IHN0cnVjdCB2ZWN0b3IxMDQgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3IxMDQ8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1ICwgUDk2ICwgUDk3ICwgUDk4ICwgUDk5ICwgUDEwMCAsIFAxMDEgLCBQMTAyICwgUDEwMz4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBQODggaXRlbTg4OyB0eXBlZGVmIFA4OSBpdGVtODk7IHR5cGVkZWYgUDkwIGl0ZW05MDsgdHlwZWRlZiBQOTEgaXRlbTkxOyB0eXBlZGVmIFA5MiBpdGVtOTI7IHR5cGVkZWYgUDkzIGl0ZW05MzsgdHlwZWRlZiBQOTQgaXRlbTk0OyB0eXBlZGVmIFA5NSBpdGVtOTU7IHR5cGVkZWYgUDk2IGl0ZW05NjsgdHlwZWRlZiBQOTcgaXRlbTk3OyB0eXBlZGVmIFA5OCBpdGVtOTg7IHR5cGVkZWYgUDk5IGl0ZW05OTsgdHlwZWRlZiBQMTAwIGl0ZW0xMDA7IHR5cGVkZWYgUDEwMSBpdGVtMTAxOyB0eXBlZGVmIFAxMDIgaXRlbTEwMjsgdHlwZWRlZiBQMTAzIGl0ZW0xMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDk7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSAsIGNsYXNzIFA4NiAsIGNsYXNzIFA4NyAsIGNsYXNzIFA4OCAsIGNsYXNzIFA4OSAsIGNsYXNzIFA5MCAsIGNsYXNzIFA5MSAsIGNsYXNzIFA5MiAsIGNsYXNzIFA5MyAsIGNsYXNzIFA5NCAsIGNsYXNzIFA5NSAsIGNsYXNzIFA5NiAsIGNsYXNzIFA5NyAsIGNsYXNzIFA5OCAsIGNsYXNzIFA5OSAsIGNsYXNzIFAxMDAgLCBjbGFzcyBQMTAxICwgY2xhc3MgUDEwMiAsIGNsYXNzIFAxMDMgLCBjbGFzcyBQMTA0ID4gc3RydWN0IHZlY3RvcjEwNSB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjEwNTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwND4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBQODggaXRlbTg4OyB0eXBlZGVmIFA4OSBpdGVtODk7IHR5cGVkZWYgUDkwIGl0ZW05MDsgdHlwZWRlZiBQOTEgaXRlbTkxOyB0eXBlZGVmIFA5MiBpdGVtOTI7IHR5cGVkZWYgUDkzIGl0ZW05MzsgdHlwZWRlZiBQOTQgaXRlbTk0OyB0eXBlZGVmIFA5NSBpdGVtOTU7IHR5cGVkZWYgUDk2IGl0ZW05NjsgdHlwZWRlZiBQOTcgaXRlbTk3OyB0eXBlZGVmIFA5OCBpdGVtOTg7IHR5cGVkZWYgUDk5IGl0ZW05OTsgdHlwZWRlZiBQMTAwIGl0ZW0xMDA7IHR5cGVkZWYgUDEwMSBpdGVtMTAxOyB0eXBlZGVmIFAxMDIgaXRlbTEwMjsgdHlwZWRlZiBQMTAzIGl0ZW0xMDM7IHR5cGVkZWYgUDEwNCBpdGVtMTA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ5OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBQOTMgLCBjbGFzcyBQOTQgLCBjbGFzcyBQOTUgLCBjbGFzcyBQOTYgLCBjbGFzcyBQOTcgLCBjbGFzcyBQOTggLCBjbGFzcyBQOTkgLCBjbGFzcyBQMTAwICwgY2xhc3MgUDEwMSAsIGNsYXNzIFAxMDIgLCBjbGFzcyBQMTAzICwgY2xhc3MgUDEwNCAsIGNsYXNzIFAxMDUgPiBzdHJ1Y3QgdmVjdG9yMTA2IHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yMTA2PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFA5MiAsIFA5MyAsIFA5NCAsIFA5NSAsIFA5NiAsIFA5NyAsIFA5OCAsIFA5OSAsIFAxMDAgLCBQMTAxICwgUDEwMiAsIFAxMDMgLCBQMTA0ICwgUDEwNT4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBQODggaXRlbTg4OyB0eXBlZGVmIFA4OSBpdGVtODk7IHR5cGVkZWYgUDkwIGl0ZW05MDsgdHlwZWRlZiBQOTEgaXRlbTkxOyB0eXBlZGVmIFA5MiBpdGVtOTI7IHR5cGVkZWYgUDkzIGl0ZW05MzsgdHlwZWRlZiBQOTQgaXRlbTk0OyB0eXBlZGVmIFA5NSBpdGVtOTU7IHR5cGVkZWYgUDk2IGl0ZW05NjsgdHlwZWRlZiBQOTcgaXRlbTk3OyB0eXBlZGVmIFA5OCBpdGVtOTg7IHR5cGVkZWYgUDk5IGl0ZW05OTsgdHlwZWRlZiBQMTAwIGl0ZW0xMDA7IHR5cGVkZWYgUDEwMSBpdGVtMTAxOyB0eXBlZGVmIFAxMDIgaXRlbTEwMjsgdHlwZWRlZiBQMTAzIGl0ZW0xMDM7IHR5cGVkZWYgUDEwNCBpdGVtMTA0OyB0eXBlZGVmIFAxMDUgaXRlbTEwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0OTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ICwgY2xhc3MgUDk2ICwgY2xhc3MgUDk3ICwgY2xhc3MgUDk4ICwgY2xhc3MgUDk5ICwgY2xhc3MgUDEwMCAsIGNsYXNzIFAxMDEgLCBjbGFzcyBQMTAyICwgY2xhc3MgUDEwMyAsIGNsYXNzIFAxMDQgLCBjbGFzcyBQMTA1ICwgY2xhc3MgUDEwNiA+IHN0cnVjdCB2ZWN0b3IxMDcgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3IxMDc8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1ICwgUDk2ICwgUDk3ICwgUDk4ICwgUDk5ICwgUDEwMCAsIFAxMDEgLCBQMTAyICwgUDEwMyAsIFAxMDQgLCBQMTA1ICwgUDEwNj4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBQODggaXRlbTg4OyB0eXBlZGVmIFA4OSBpdGVtODk7IHR5cGVkZWYgUDkwIGl0ZW05MDsgdHlwZWRlZiBQOTEgaXRlbTkxOyB0eXBlZGVmIFA5MiBpdGVtOTI7IHR5cGVkZWYgUDkzIGl0ZW05MzsgdHlwZWRlZiBQOTQgaXRlbTk0OyB0eXBlZGVmIFA5NSBpdGVtOTU7IHR5cGVkZWYgUDk2IGl0ZW05NjsgdHlwZWRlZiBQOTcgaXRlbTk3OyB0eXBlZGVmIFA5OCBpdGVtOTg7IHR5cGVkZWYgUDk5IGl0ZW05OTsgdHlwZWRlZiBQMTAwIGl0ZW0xMDA7IHR5cGVkZWYgUDEwMSBpdGVtMTAxOyB0eXBlZGVmIFAxMDIgaXRlbTEwMjsgdHlwZWRlZiBQMTAzIGl0ZW0xMDM7IHR5cGVkZWYgUDEwNCBpdGVtMTA0OyB0eXBlZGVmIFAxMDUgaXRlbTEwNTsgdHlwZWRlZiBQMTA2IGl0ZW0xMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDk7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSAsIGNsYXNzIFA4NiAsIGNsYXNzIFA4NyAsIGNsYXNzIFA4OCAsIGNsYXNzIFA4OSAsIGNsYXNzIFA5MCAsIGNsYXNzIFA5MSAsIGNsYXNzIFA5MiAsIGNsYXNzIFA5MyAsIGNsYXNzIFA5NCAsIGNsYXNzIFA5NSAsIGNsYXNzIFA5NiAsIGNsYXNzIFA5NyAsIGNsYXNzIFA5OCAsIGNsYXNzIFA5OSAsIGNsYXNzIFAxMDAgLCBjbGFzcyBQMTAxICwgY2xhc3MgUDEwMiAsIGNsYXNzIFAxMDMgLCBjbGFzcyBQMTA0ICwgY2xhc3MgUDEwNSAsIGNsYXNzIFAxMDYgLCBjbGFzcyBQMTA3ID4gc3RydWN0IHZlY3RvcjEwOCB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjEwODwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNz4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBQODggaXRlbTg4OyB0eXBlZGVmIFA4OSBpdGVtODk7IHR5cGVkZWYgUDkwIGl0ZW05MDsgdHlwZWRlZiBQOTEgaXRlbTkxOyB0eXBlZGVmIFA5MiBpdGVtOTI7IHR5cGVkZWYgUDkzIGl0ZW05MzsgdHlwZWRlZiBQOTQgaXRlbTk0OyB0eXBlZGVmIFA5NSBpdGVtOTU7IHR5cGVkZWYgUDk2IGl0ZW05NjsgdHlwZWRlZiBQOTcgaXRlbTk3OyB0eXBlZGVmIFA5OCBpdGVtOTg7IHR5cGVkZWYgUDk5IGl0ZW05OTsgdHlwZWRlZiBQMTAwIGl0ZW0xMDA7IHR5cGVkZWYgUDEwMSBpdGVtMTAxOyB0eXBlZGVmIFAxMDIgaXRlbTEwMjsgdHlwZWRlZiBQMTAzIGl0ZW0xMDM7IHR5cGVkZWYgUDEwNCBpdGVtMTA0OyB0eXBlZGVmIFAxMDUgaXRlbTEwNTsgdHlwZWRlZiBQMTA2IGl0ZW0xMDY7IHR5cGVkZWYgUDEwNyBpdGVtMTA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ5OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBQOTMgLCBjbGFzcyBQOTQgLCBjbGFzcyBQOTUgLCBjbGFzcyBQOTYgLCBjbGFzcyBQOTcgLCBjbGFzcyBQOTggLCBjbGFzcyBQOTkgLCBjbGFzcyBQMTAwICwgY2xhc3MgUDEwMSAsIGNsYXNzIFAxMDIgLCBjbGFzcyBQMTAzICwgY2xhc3MgUDEwNCAsIGNsYXNzIFAxMDUgLCBjbGFzcyBQMTA2ICwgY2xhc3MgUDEwNyAsIGNsYXNzIFAxMDggPiBzdHJ1Y3QgdmVjdG9yMTA5IHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yMTA5PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFA5MiAsIFA5MyAsIFA5NCAsIFA5NSAsIFA5NiAsIFA5NyAsIFA5OCAsIFA5OSAsIFAxMDAgLCBQMTAxICwgUDEwMiAsIFAxMDMgLCBQMTA0ICwgUDEwNSAsIFAxMDYgLCBQMTA3ICwgUDEwOD4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBQODggaXRlbTg4OyB0eXBlZGVmIFA4OSBpdGVtODk7IHR5cGVkZWYgUDkwIGl0ZW05MDsgdHlwZWRlZiBQOTEgaXRlbTkxOyB0eXBlZGVmIFA5MiBpdGVtOTI7IHR5cGVkZWYgUDkzIGl0ZW05MzsgdHlwZWRlZiBQOTQgaXRlbTk0OyB0eXBlZGVmIFA5NSBpdGVtOTU7IHR5cGVkZWYgUDk2IGl0ZW05NjsgdHlwZWRlZiBQOTcgaXRlbTk3OyB0eXBlZGVmIFA5OCBpdGVtOTg7IHR5cGVkZWYgUDk5IGl0ZW05OTsgdHlwZWRlZiBQMTAwIGl0ZW0xMDA7IHR5cGVkZWYgUDEwMSBpdGVtMTAxOyB0eXBlZGVmIFAxMDIgaXRlbTEwMjsgdHlwZWRlZiBQMTAzIGl0ZW0xMDM7IHR5cGVkZWYgUDEwNCBpdGVtMTA0OyB0eXBlZGVmIFAxMDUgaXRlbTEwNTsgdHlwZWRlZiBQMTA2IGl0ZW0xMDY7IHR5cGVkZWYgUDEwNyBpdGVtMTA3OyB0eXBlZGVmIFAxMDggaXRlbTEwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0OTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ICwgY2xhc3MgUDk2ICwgY2xhc3MgUDk3ICwgY2xhc3MgUDk4ICwgY2xhc3MgUDk5ICwgY2xhc3MgUDEwMCAsIGNsYXNzIFAxMDEgLCBjbGFzcyBQMTAyICwgY2xhc3MgUDEwMyAsIGNsYXNzIFAxMDQgLCBjbGFzcyBQMTA1ICwgY2xhc3MgUDEwNiAsIGNsYXNzIFAxMDcgLCBjbGFzcyBQMTA4ICwgY2xhc3MgUDEwOSA+IHN0cnVjdCB2ZWN0b3IxMTAgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3IxMTA8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1ICwgUDk2ICwgUDk3ICwgUDk4ICwgUDk5ICwgUDEwMCAsIFAxMDEgLCBQMTAyICwgUDEwMyAsIFAxMDQgLCBQMTA1ICwgUDEwNiAsIFAxMDcgLCBQMTA4ICwgUDEwOT4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBQODggaXRlbTg4OyB0eXBlZGVmIFA4OSBpdGVtODk7IHR5cGVkZWYgUDkwIGl0ZW05MDsgdHlwZWRlZiBQOTEgaXRlbTkxOyB0eXBlZGVmIFA5MiBpdGVtOTI7IHR5cGVkZWYgUDkzIGl0ZW05MzsgdHlwZWRlZiBQOTQgaXRlbTk0OyB0eXBlZGVmIFA5NSBpdGVtOTU7IHR5cGVkZWYgUDk2IGl0ZW05NjsgdHlwZWRlZiBQOTcgaXRlbTk3OyB0eXBlZGVmIFA5OCBpdGVtOTg7IHR5cGVkZWYgUDk5IGl0ZW05OTsgdHlwZWRlZiBQMTAwIGl0ZW0xMDA7IHR5cGVkZWYgUDEwMSBpdGVtMTAxOyB0eXBlZGVmIFAxMDIgaXRlbTEwMjsgdHlwZWRlZiBQMTAzIGl0ZW0xMDM7IHR5cGVkZWYgUDEwNCBpdGVtMTA0OyB0eXBlZGVmIFAxMDUgaXRlbTEwNTsgdHlwZWRlZiBQMTA2IGl0ZW0xMDY7IHR5cGVkZWYgUDEwNyBpdGVtMTA3OyB0eXBlZGVmIFAxMDggaXRlbTEwODsgdHlwZWRlZiBQMTA5IGl0ZW0xMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDk7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSAsIGNsYXNzIFA4NiAsIGNsYXNzIFA4NyAsIGNsYXNzIFA4OCAsIGNsYXNzIFA4OSAsIGNsYXNzIFA5MCAsIGNsYXNzIFA5MSAsIGNsYXNzIFA5MiAsIGNsYXNzIFA5MyAsIGNsYXNzIFA5NCAsIGNsYXNzIFA5NSAsIGNsYXNzIFA5NiAsIGNsYXNzIFA5NyAsIGNsYXNzIFA5OCAsIGNsYXNzIFA5OSAsIGNsYXNzIFAxMDAgLCBjbGFzcyBQMTAxICwgY2xhc3MgUDEwMiAsIGNsYXNzIFAxMDMgLCBjbGFzcyBQMTA0ICwgY2xhc3MgUDEwNSAsIGNsYXNzIFAxMDYgLCBjbGFzcyBQMTA3ICwgY2xhc3MgUDEwOCAsIGNsYXNzIFAxMDkgLCBjbGFzcyBQMTEwID4gc3RydWN0IHZlY3RvcjExMSB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjExMTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMD4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBQODggaXRlbTg4OyB0eXBlZGVmIFA4OSBpdGVtODk7IHR5cGVkZWYgUDkwIGl0ZW05MDsgdHlwZWRlZiBQOTEgaXRlbTkxOyB0eXBlZGVmIFA5MiBpdGVtOTI7IHR5cGVkZWYgUDkzIGl0ZW05MzsgdHlwZWRlZiBQOTQgaXRlbTk0OyB0eXBlZGVmIFA5NSBpdGVtOTU7IHR5cGVkZWYgUDk2IGl0ZW05NjsgdHlwZWRlZiBQOTcgaXRlbTk3OyB0eXBlZGVmIFA5OCBpdGVtOTg7IHR5cGVkZWYgUDk5IGl0ZW05OTsgdHlwZWRlZiBQMTAwIGl0ZW0xMDA7IHR5cGVkZWYgUDEwMSBpdGVtMTAxOyB0eXBlZGVmIFAxMDIgaXRlbTEwMjsgdHlwZWRlZiBQMTAzIGl0ZW0xMDM7IHR5cGVkZWYgUDEwNCBpdGVtMTA0OyB0eXBlZGVmIFAxMDUgaXRlbTEwNTsgdHlwZWRlZiBQMTA2IGl0ZW0xMDY7IHR5cGVkZWYgUDEwNyBpdGVtMTA3OyB0eXBlZGVmIFAxMDggaXRlbTEwODsgdHlwZWRlZiBQMTA5IGl0ZW0xMDk7IHR5cGVkZWYgUDExMCBpdGVtMTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ5OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBQOTMgLCBjbGFzcyBQOTQgLCBjbGFzcyBQOTUgLCBjbGFzcyBQOTYgLCBjbGFzcyBQOTcgLCBjbGFzcyBQOTggLCBjbGFzcyBQOTkgLCBjbGFzcyBQMTAwICwgY2xhc3MgUDEwMSAsIGNsYXNzIFAxMDIgLCBjbGFzcyBQMTAzICwgY2xhc3MgUDEwNCAsIGNsYXNzIFAxMDUgLCBjbGFzcyBQMTA2ICwgY2xhc3MgUDEwNyAsIGNsYXNzIFAxMDggLCBjbGFzcyBQMTA5ICwgY2xhc3MgUDExMCAsIGNsYXNzIFAxMTEgPiBzdHJ1Y3QgdmVjdG9yMTEyIHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yMTEyPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFA5MiAsIFA5MyAsIFA5NCAsIFA5NSAsIFA5NiAsIFA5NyAsIFA5OCAsIFA5OSAsIFAxMDAgLCBQMTAxICwgUDEwMiAsIFAxMDMgLCBQMTA0ICwgUDEwNSAsIFAxMDYgLCBQMTA3ICwgUDEwOCAsIFAxMDkgLCBQMTEwICwgUDExMT4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBQODggaXRlbTg4OyB0eXBlZGVmIFA4OSBpdGVtODk7IHR5cGVkZWYgUDkwIGl0ZW05MDsgdHlwZWRlZiBQOTEgaXRlbTkxOyB0eXBlZGVmIFA5MiBpdGVtOTI7IHR5cGVkZWYgUDkzIGl0ZW05MzsgdHlwZWRlZiBQOTQgaXRlbTk0OyB0eXBlZGVmIFA5NSBpdGVtOTU7IHR5cGVkZWYgUDk2IGl0ZW05NjsgdHlwZWRlZiBQOTcgaXRlbTk3OyB0eXBlZGVmIFA5OCBpdGVtOTg7IHR5cGVkZWYgUDk5IGl0ZW05OTsgdHlwZWRlZiBQMTAwIGl0ZW0xMDA7IHR5cGVkZWYgUDEwMSBpdGVtMTAxOyB0eXBlZGVmIFAxMDIgaXRlbTEwMjsgdHlwZWRlZiBQMTAzIGl0ZW0xMDM7IHR5cGVkZWYgUDEwNCBpdGVtMTA0OyB0eXBlZGVmIFAxMDUgaXRlbTEwNTsgdHlwZWRlZiBQMTA2IGl0ZW0xMDY7IHR5cGVkZWYgUDEwNyBpdGVtMTA3OyB0eXBlZGVmIFAxMDggaXRlbTEwODsgdHlwZWRlZiBQMTA5IGl0ZW0xMDk7IHR5cGVkZWYgUDExMCBpdGVtMTEwOyB0eXBlZGVmIFAxMTEgaXRlbTExMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0OTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ICwgY2xhc3MgUDk2ICwgY2xhc3MgUDk3ICwgY2xhc3MgUDk4ICwgY2xhc3MgUDk5ICwgY2xhc3MgUDEwMCAsIGNsYXNzIFAxMDEgLCBjbGFzcyBQMTAyICwgY2xhc3MgUDEwMyAsIGNsYXNzIFAxMDQgLCBjbGFzcyBQMTA1ICwgY2xhc3MgUDEwNiAsIGNsYXNzIFAxMDcgLCBjbGFzcyBQMTA4ICwgY2xhc3MgUDEwOSAsIGNsYXNzIFAxMTAgLCBjbGFzcyBQMTExICwgY2xhc3MgUDExMiA+IHN0cnVjdCB2ZWN0b3IxMTMgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3IxMTM8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1ICwgUDk2ICwgUDk3ICwgUDk4ICwgUDk5ICwgUDEwMCAsIFAxMDEgLCBQMTAyICwgUDEwMyAsIFAxMDQgLCBQMTA1ICwgUDEwNiAsIFAxMDcgLCBQMTA4ICwgUDEwOSAsIFAxMTAgLCBQMTExICwgUDExMj4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBQODggaXRlbTg4OyB0eXBlZGVmIFA4OSBpdGVtODk7IHR5cGVkZWYgUDkwIGl0ZW05MDsgdHlwZWRlZiBQOTEgaXRlbTkxOyB0eXBlZGVmIFA5MiBpdGVtOTI7IHR5cGVkZWYgUDkzIGl0ZW05MzsgdHlwZWRlZiBQOTQgaXRlbTk0OyB0eXBlZGVmIFA5NSBpdGVtOTU7IHR5cGVkZWYgUDk2IGl0ZW05NjsgdHlwZWRlZiBQOTcgaXRlbTk3OyB0eXBlZGVmIFA5OCBpdGVtOTg7IHR5cGVkZWYgUDk5IGl0ZW05OTsgdHlwZWRlZiBQMTAwIGl0ZW0xMDA7IHR5cGVkZWYgUDEwMSBpdGVtMTAxOyB0eXBlZGVmIFAxMDIgaXRlbTEwMjsgdHlwZWRlZiBQMTAzIGl0ZW0xMDM7IHR5cGVkZWYgUDEwNCBpdGVtMTA0OyB0eXBlZGVmIFAxMDUgaXRlbTEwNTsgdHlwZWRlZiBQMTA2IGl0ZW0xMDY7IHR5cGVkZWYgUDEwNyBpdGVtMTA3OyB0eXBlZGVmIFAxMDggaXRlbTEwODsgdHlwZWRlZiBQMTA5IGl0ZW0xMDk7IHR5cGVkZWYgUDExMCBpdGVtMTEwOyB0eXBlZGVmIFAxMTEgaXRlbTExMTsgdHlwZWRlZiBQMTEyIGl0ZW0xMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDk7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSAsIGNsYXNzIFA4NiAsIGNsYXNzIFA4NyAsIGNsYXNzIFA4OCAsIGNsYXNzIFA4OSAsIGNsYXNzIFA5MCAsIGNsYXNzIFA5MSAsIGNsYXNzIFA5MiAsIGNsYXNzIFA5MyAsIGNsYXNzIFA5NCAsIGNsYXNzIFA5NSAsIGNsYXNzIFA5NiAsIGNsYXNzIFA5NyAsIGNsYXNzIFA5OCAsIGNsYXNzIFA5OSAsIGNsYXNzIFAxMDAgLCBjbGFzcyBQMTAxICwgY2xhc3MgUDEwMiAsIGNsYXNzIFAxMDMgLCBjbGFzcyBQMTA0ICwgY2xhc3MgUDEwNSAsIGNsYXNzIFAxMDYgLCBjbGFzcyBQMTA3ICwgY2xhc3MgUDEwOCAsIGNsYXNzIFAxMDkgLCBjbGFzcyBQMTEwICwgY2xhc3MgUDExMSAsIGNsYXNzIFAxMTIgLCBjbGFzcyBQMTEzID4gc3RydWN0IHZlY3RvcjExNCB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjExNDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMz4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBQODggaXRlbTg4OyB0eXBlZGVmIFA4OSBpdGVtODk7IHR5cGVkZWYgUDkwIGl0ZW05MDsgdHlwZWRlZiBQOTEgaXRlbTkxOyB0eXBlZGVmIFA5MiBpdGVtOTI7IHR5cGVkZWYgUDkzIGl0ZW05MzsgdHlwZWRlZiBQOTQgaXRlbTk0OyB0eXBlZGVmIFA5NSBpdGVtOTU7IHR5cGVkZWYgUDk2IGl0ZW05NjsgdHlwZWRlZiBQOTcgaXRlbTk3OyB0eXBlZGVmIFA5OCBpdGVtOTg7IHR5cGVkZWYgUDk5IGl0ZW05OTsgdHlwZWRlZiBQMTAwIGl0ZW0xMDA7IHR5cGVkZWYgUDEwMSBpdGVtMTAxOyB0eXBlZGVmIFAxMDIgaXRlbTEwMjsgdHlwZWRlZiBQMTAzIGl0ZW0xMDM7IHR5cGVkZWYgUDEwNCBpdGVtMTA0OyB0eXBlZGVmIFAxMDUgaXRlbTEwNTsgdHlwZWRlZiBQMTA2IGl0ZW0xMDY7IHR5cGVkZWYgUDEwNyBpdGVtMTA3OyB0eXBlZGVmIFAxMDggaXRlbTEwODsgdHlwZWRlZiBQMTA5IGl0ZW0xMDk7IHR5cGVkZWYgUDExMCBpdGVtMTEwOyB0eXBlZGVmIFAxMTEgaXRlbTExMTsgdHlwZWRlZiBQMTEyIGl0ZW0xMTI7IHR5cGVkZWYgUDExMyBpdGVtMTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ5OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBQOTMgLCBjbGFzcyBQOTQgLCBjbGFzcyBQOTUgLCBjbGFzcyBQOTYgLCBjbGFzcyBQOTcgLCBjbGFzcyBQOTggLCBjbGFzcyBQOTkgLCBjbGFzcyBQMTAwICwgY2xhc3MgUDEwMSAsIGNsYXNzIFAxMDIgLCBjbGFzcyBQMTAzICwgY2xhc3MgUDEwNCAsIGNsYXNzIFAxMDUgLCBjbGFzcyBQMTA2ICwgY2xhc3MgUDEwNyAsIGNsYXNzIFAxMDggLCBjbGFzcyBQMTA5ICwgY2xhc3MgUDExMCAsIGNsYXNzIFAxMTEgLCBjbGFzcyBQMTEyICwgY2xhc3MgUDExMyAsIGNsYXNzIFAxMTQgPiBzdHJ1Y3QgdmVjdG9yMTE1IHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yMTE1PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFA5MiAsIFA5MyAsIFA5NCAsIFA5NSAsIFA5NiAsIFA5NyAsIFA5OCAsIFA5OSAsIFAxMDAgLCBQMTAxICwgUDEwMiAsIFAxMDMgLCBQMTA0ICwgUDEwNSAsIFAxMDYgLCBQMTA3ICwgUDEwOCAsIFAxMDkgLCBQMTEwICwgUDExMSAsIFAxMTIgLCBQMTEzICwgUDExND4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBQODggaXRlbTg4OyB0eXBlZGVmIFA4OSBpdGVtODk7IHR5cGVkZWYgUDkwIGl0ZW05MDsgdHlwZWRlZiBQOTEgaXRlbTkxOyB0eXBlZGVmIFA5MiBpdGVtOTI7IHR5cGVkZWYgUDkzIGl0ZW05MzsgdHlwZWRlZiBQOTQgaXRlbTk0OyB0eXBlZGVmIFA5NSBpdGVtOTU7IHR5cGVkZWYgUDk2IGl0ZW05NjsgdHlwZWRlZiBQOTcgaXRlbTk3OyB0eXBlZGVmIFA5OCBpdGVtOTg7IHR5cGVkZWYgUDk5IGl0ZW05OTsgdHlwZWRlZiBQMTAwIGl0ZW0xMDA7IHR5cGVkZWYgUDEwMSBpdGVtMTAxOyB0eXBlZGVmIFAxMDIgaXRlbTEwMjsgdHlwZWRlZiBQMTAzIGl0ZW0xMDM7IHR5cGVkZWYgUDEwNCBpdGVtMTA0OyB0eXBlZGVmIFAxMDUgaXRlbTEwNTsgdHlwZWRlZiBQMTA2IGl0ZW0xMDY7IHR5cGVkZWYgUDEwNyBpdGVtMTA3OyB0eXBlZGVmIFAxMDggaXRlbTEwODsgdHlwZWRlZiBQMTA5IGl0ZW0xMDk7IHR5cGVkZWYgUDExMCBpdGVtMTEwOyB0eXBlZGVmIFAxMTEgaXRlbTExMTsgdHlwZWRlZiBQMTEyIGl0ZW0xMTI7IHR5cGVkZWYgUDExMyBpdGVtMTEzOyB0eXBlZGVmIFAxMTQgaXRlbTExNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0OTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ICwgY2xhc3MgUDk2ICwgY2xhc3MgUDk3ICwgY2xhc3MgUDk4ICwgY2xhc3MgUDk5ICwgY2xhc3MgUDEwMCAsIGNsYXNzIFAxMDEgLCBjbGFzcyBQMTAyICwgY2xhc3MgUDEwMyAsIGNsYXNzIFAxMDQgLCBjbGFzcyBQMTA1ICwgY2xhc3MgUDEwNiAsIGNsYXNzIFAxMDcgLCBjbGFzcyBQMTA4ICwgY2xhc3MgUDEwOSAsIGNsYXNzIFAxMTAgLCBjbGFzcyBQMTExICwgY2xhc3MgUDExMiAsIGNsYXNzIFAxMTMgLCBjbGFzcyBQMTE0ICwgY2xhc3MgUDExNSA+IHN0cnVjdCB2ZWN0b3IxMTYgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3IxMTY8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1ICwgUDk2ICwgUDk3ICwgUDk4ICwgUDk5ICwgUDEwMCAsIFAxMDEgLCBQMTAyICwgUDEwMyAsIFAxMDQgLCBQMTA1ICwgUDEwNiAsIFAxMDcgLCBQMTA4ICwgUDEwOSAsIFAxMTAgLCBQMTExICwgUDExMiAsIFAxMTMgLCBQMTE0ICwgUDExNT4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBQODggaXRlbTg4OyB0eXBlZGVmIFA4OSBpdGVtODk7IHR5cGVkZWYgUDkwIGl0ZW05MDsgdHlwZWRlZiBQOTEgaXRlbTkxOyB0eXBlZGVmIFA5MiBpdGVtOTI7IHR5cGVkZWYgUDkzIGl0ZW05MzsgdHlwZWRlZiBQOTQgaXRlbTk0OyB0eXBlZGVmIFA5NSBpdGVtOTU7IHR5cGVkZWYgUDk2IGl0ZW05NjsgdHlwZWRlZiBQOTcgaXRlbTk3OyB0eXBlZGVmIFA5OCBpdGVtOTg7IHR5cGVkZWYgUDk5IGl0ZW05OTsgdHlwZWRlZiBQMTAwIGl0ZW0xMDA7IHR5cGVkZWYgUDEwMSBpdGVtMTAxOyB0eXBlZGVmIFAxMDIgaXRlbTEwMjsgdHlwZWRlZiBQMTAzIGl0ZW0xMDM7IHR5cGVkZWYgUDEwNCBpdGVtMTA0OyB0eXBlZGVmIFAxMDUgaXRlbTEwNTsgdHlwZWRlZiBQMTA2IGl0ZW0xMDY7IHR5cGVkZWYgUDEwNyBpdGVtMTA3OyB0eXBlZGVmIFAxMDggaXRlbTEwODsgdHlwZWRlZiBQMTA5IGl0ZW0xMDk7IHR5cGVkZWYgUDExMCBpdGVtMTEwOyB0eXBlZGVmIFAxMTEgaXRlbTExMTsgdHlwZWRlZiBQMTEyIGl0ZW0xMTI7IHR5cGVkZWYgUDExMyBpdGVtMTEzOyB0eXBlZGVmIFAxMTQgaXRlbTExNDsgdHlwZWRlZiBQMTE1IGl0ZW0xMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDk7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSAsIGNsYXNzIFA4NiAsIGNsYXNzIFA4NyAsIGNsYXNzIFA4OCAsIGNsYXNzIFA4OSAsIGNsYXNzIFA5MCAsIGNsYXNzIFA5MSAsIGNsYXNzIFA5MiAsIGNsYXNzIFA5MyAsIGNsYXNzIFA5NCAsIGNsYXNzIFA5NSAsIGNsYXNzIFA5NiAsIGNsYXNzIFA5NyAsIGNsYXNzIFA5OCAsIGNsYXNzIFA5OSAsIGNsYXNzIFAxMDAgLCBjbGFzcyBQMTAxICwgY2xhc3MgUDEwMiAsIGNsYXNzIFAxMDMgLCBjbGFzcyBQMTA0ICwgY2xhc3MgUDEwNSAsIGNsYXNzIFAxMDYgLCBjbGFzcyBQMTA3ICwgY2xhc3MgUDEwOCAsIGNsYXNzIFAxMDkgLCBjbGFzcyBQMTEwICwgY2xhc3MgUDExMSAsIGNsYXNzIFAxMTIgLCBjbGFzcyBQMTEzICwgY2xhc3MgUDExNCAsIGNsYXNzIFAxMTUgLCBjbGFzcyBQMTE2ID4gc3RydWN0IHZlY3RvcjExNyB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjExNzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNj4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBQODggaXRlbTg4OyB0eXBlZGVmIFA4OSBpdGVtODk7IHR5cGVkZWYgUDkwIGl0ZW05MDsgdHlwZWRlZiBQOTEgaXRlbTkxOyB0eXBlZGVmIFA5MiBpdGVtOTI7IHR5cGVkZWYgUDkzIGl0ZW05MzsgdHlwZWRlZiBQOTQgaXRlbTk0OyB0eXBlZGVmIFA5NSBpdGVtOTU7IHR5cGVkZWYgUDk2IGl0ZW05NjsgdHlwZWRlZiBQOTcgaXRlbTk3OyB0eXBlZGVmIFA5OCBpdGVtOTg7IHR5cGVkZWYgUDk5IGl0ZW05OTsgdHlwZWRlZiBQMTAwIGl0ZW0xMDA7IHR5cGVkZWYgUDEwMSBpdGVtMTAxOyB0eXBlZGVmIFAxMDIgaXRlbTEwMjsgdHlwZWRlZiBQMTAzIGl0ZW0xMDM7IHR5cGVkZWYgUDEwNCBpdGVtMTA0OyB0eXBlZGVmIFAxMDUgaXRlbTEwNTsgdHlwZWRlZiBQMTA2IGl0ZW0xMDY7IHR5cGVkZWYgUDEwNyBpdGVtMTA3OyB0eXBlZGVmIFAxMDggaXRlbTEwODsgdHlwZWRlZiBQMTA5IGl0ZW0xMDk7IHR5cGVkZWYgUDExMCBpdGVtMTEwOyB0eXBlZGVmIFAxMTEgaXRlbTExMTsgdHlwZWRlZiBQMTEyIGl0ZW0xMTI7IHR5cGVkZWYgUDExMyBpdGVtMTEzOyB0eXBlZGVmIFAxMTQgaXRlbTExNDsgdHlwZWRlZiBQMTE1IGl0ZW0xMTU7IHR5cGVkZWYgUDExNiBpdGVtMTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ5OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBQOTMgLCBjbGFzcyBQOTQgLCBjbGFzcyBQOTUgLCBjbGFzcyBQOTYgLCBjbGFzcyBQOTcgLCBjbGFzcyBQOTggLCBjbGFzcyBQOTkgLCBjbGFzcyBQMTAwICwgY2xhc3MgUDEwMSAsIGNsYXNzIFAxMDIgLCBjbGFzcyBQMTAzICwgY2xhc3MgUDEwNCAsIGNsYXNzIFAxMDUgLCBjbGFzcyBQMTA2ICwgY2xhc3MgUDEwNyAsIGNsYXNzIFAxMDggLCBjbGFzcyBQMTA5ICwgY2xhc3MgUDExMCAsIGNsYXNzIFAxMTEgLCBjbGFzcyBQMTEyICwgY2xhc3MgUDExMyAsIGNsYXNzIFAxMTQgLCBjbGFzcyBQMTE1ICwgY2xhc3MgUDExNiAsIGNsYXNzIFAxMTcgPiBzdHJ1Y3QgdmVjdG9yMTE4IHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yMTE4PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFA5MiAsIFA5MyAsIFA5NCAsIFA5NSAsIFA5NiAsIFA5NyAsIFA5OCAsIFA5OSAsIFAxMDAgLCBQMTAxICwgUDEwMiAsIFAxMDMgLCBQMTA0ICwgUDEwNSAsIFAxMDYgLCBQMTA3ICwgUDEwOCAsIFAxMDkgLCBQMTEwICwgUDExMSAsIFAxMTIgLCBQMTEzICwgUDExNCAsIFAxMTUgLCBQMTE2ICwgUDExNz4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBQODggaXRlbTg4OyB0eXBlZGVmIFA4OSBpdGVtODk7IHR5cGVkZWYgUDkwIGl0ZW05MDsgdHlwZWRlZiBQOTEgaXRlbTkxOyB0eXBlZGVmIFA5MiBpdGVtOTI7IHR5cGVkZWYgUDkzIGl0ZW05MzsgdHlwZWRlZiBQOTQgaXRlbTk0OyB0eXBlZGVmIFA5NSBpdGVtOTU7IHR5cGVkZWYgUDk2IGl0ZW05NjsgdHlwZWRlZiBQOTcgaXRlbTk3OyB0eXBlZGVmIFA5OCBpdGVtOTg7IHR5cGVkZWYgUDk5IGl0ZW05OTsgdHlwZWRlZiBQMTAwIGl0ZW0xMDA7IHR5cGVkZWYgUDEwMSBpdGVtMTAxOyB0eXBlZGVmIFAxMDIgaXRlbTEwMjsgdHlwZWRlZiBQMTAzIGl0ZW0xMDM7IHR5cGVkZWYgUDEwNCBpdGVtMTA0OyB0eXBlZGVmIFAxMDUgaXRlbTEwNTsgdHlwZWRlZiBQMTA2IGl0ZW0xMDY7IHR5cGVkZWYgUDEwNyBpdGVtMTA3OyB0eXBlZGVmIFAxMDggaXRlbTEwODsgdHlwZWRlZiBQMTA5IGl0ZW0xMDk7IHR5cGVkZWYgUDExMCBpdGVtMTEwOyB0eXBlZGVmIFAxMTEgaXRlbTExMTsgdHlwZWRlZiBQMTEyIGl0ZW0xMTI7IHR5cGVkZWYgUDExMyBpdGVtMTEzOyB0eXBlZGVmIFAxMTQgaXRlbTExNDsgdHlwZWRlZiBQMTE1IGl0ZW0xMTU7IHR5cGVkZWYgUDExNiBpdGVtMTE2OyB0eXBlZGVmIFAxMTcgaXRlbTExNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0OTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ICwgY2xhc3MgUDk2ICwgY2xhc3MgUDk3ICwgY2xhc3MgUDk4ICwgY2xhc3MgUDk5ICwgY2xhc3MgUDEwMCAsIGNsYXNzIFAxMDEgLCBjbGFzcyBQMTAyICwgY2xhc3MgUDEwMyAsIGNsYXNzIFAxMDQgLCBjbGFzcyBQMTA1ICwgY2xhc3MgUDEwNiAsIGNsYXNzIFAxMDcgLCBjbGFzcyBQMTA4ICwgY2xhc3MgUDEwOSAsIGNsYXNzIFAxMTAgLCBjbGFzcyBQMTExICwgY2xhc3MgUDExMiAsIGNsYXNzIFAxMTMgLCBjbGFzcyBQMTE0ICwgY2xhc3MgUDExNSAsIGNsYXNzIFAxMTYgLCBjbGFzcyBQMTE3ICwgY2xhc3MgUDExOCA+IHN0cnVjdCB2ZWN0b3IxMTkgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3IxMTk8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1ICwgUDk2ICwgUDk3ICwgUDk4ICwgUDk5ICwgUDEwMCAsIFAxMDEgLCBQMTAyICwgUDEwMyAsIFAxMDQgLCBQMTA1ICwgUDEwNiAsIFAxMDcgLCBQMTA4ICwgUDEwOSAsIFAxMTAgLCBQMTExICwgUDExMiAsIFAxMTMgLCBQMTE0ICwgUDExNSAsIFAxMTYgLCBQMTE3ICwgUDExOD4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBQODggaXRlbTg4OyB0eXBlZGVmIFA4OSBpdGVtODk7IHR5cGVkZWYgUDkwIGl0ZW05MDsgdHlwZWRlZiBQOTEgaXRlbTkxOyB0eXBlZGVmIFA5MiBpdGVtOTI7IHR5cGVkZWYgUDkzIGl0ZW05MzsgdHlwZWRlZiBQOTQgaXRlbTk0OyB0eXBlZGVmIFA5NSBpdGVtOTU7IHR5cGVkZWYgUDk2IGl0ZW05NjsgdHlwZWRlZiBQOTcgaXRlbTk3OyB0eXBlZGVmIFA5OCBpdGVtOTg7IHR5cGVkZWYgUDk5IGl0ZW05OTsgdHlwZWRlZiBQMTAwIGl0ZW0xMDA7IHR5cGVkZWYgUDEwMSBpdGVtMTAxOyB0eXBlZGVmIFAxMDIgaXRlbTEwMjsgdHlwZWRlZiBQMTAzIGl0ZW0xMDM7IHR5cGVkZWYgUDEwNCBpdGVtMTA0OyB0eXBlZGVmIFAxMDUgaXRlbTEwNTsgdHlwZWRlZiBQMTA2IGl0ZW0xMDY7IHR5cGVkZWYgUDEwNyBpdGVtMTA3OyB0eXBlZGVmIFAxMDggaXRlbTEwODsgdHlwZWRlZiBQMTA5IGl0ZW0xMDk7IHR5cGVkZWYgUDExMCBpdGVtMTEwOyB0eXBlZGVmIFAxMTEgaXRlbTExMTsgdHlwZWRlZiBQMTEyIGl0ZW0xMTI7IHR5cGVkZWYgUDExMyBpdGVtMTEzOyB0eXBlZGVmIFAxMTQgaXRlbTExNDsgdHlwZWRlZiBQMTE1IGl0ZW0xMTU7IHR5cGVkZWYgUDExNiBpdGVtMTE2OyB0eXBlZGVmIFAxMTcgaXRlbTExNzsgdHlwZWRlZiBQMTE4IGl0ZW0xMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDk7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSAsIGNsYXNzIFA4NiAsIGNsYXNzIFA4NyAsIGNsYXNzIFA4OCAsIGNsYXNzIFA4OSAsIGNsYXNzIFA5MCAsIGNsYXNzIFA5MSAsIGNsYXNzIFA5MiAsIGNsYXNzIFA5MyAsIGNsYXNzIFA5NCAsIGNsYXNzIFA5NSAsIGNsYXNzIFA5NiAsIGNsYXNzIFA5NyAsIGNsYXNzIFA5OCAsIGNsYXNzIFA5OSAsIGNsYXNzIFAxMDAgLCBjbGFzcyBQMTAxICwgY2xhc3MgUDEwMiAsIGNsYXNzIFAxMDMgLCBjbGFzcyBQMTA0ICwgY2xhc3MgUDEwNSAsIGNsYXNzIFAxMDYgLCBjbGFzcyBQMTA3ICwgY2xhc3MgUDEwOCAsIGNsYXNzIFAxMDkgLCBjbGFzcyBQMTEwICwgY2xhc3MgUDExMSAsIGNsYXNzIFAxMTIgLCBjbGFzcyBQMTEzICwgY2xhc3MgUDExNCAsIGNsYXNzIFAxMTUgLCBjbGFzcyBQMTE2ICwgY2xhc3MgUDExNyAsIGNsYXNzIFAxMTggLCBjbGFzcyBQMTE5ID4gc3RydWN0IHZlY3RvcjEyMCB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjEyMDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOT4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBQODggaXRlbTg4OyB0eXBlZGVmIFA4OSBpdGVtODk7IHR5cGVkZWYgUDkwIGl0ZW05MDsgdHlwZWRlZiBQOTEgaXRlbTkxOyB0eXBlZGVmIFA5MiBpdGVtOTI7IHR5cGVkZWYgUDkzIGl0ZW05MzsgdHlwZWRlZiBQOTQgaXRlbTk0OyB0eXBlZGVmIFA5NSBpdGVtOTU7IHR5cGVkZWYgUDk2IGl0ZW05NjsgdHlwZWRlZiBQOTcgaXRlbTk3OyB0eXBlZGVmIFA5OCBpdGVtOTg7IHR5cGVkZWYgUDk5IGl0ZW05OTsgdHlwZWRlZiBQMTAwIGl0ZW0xMDA7IHR5cGVkZWYgUDEwMSBpdGVtMTAxOyB0eXBlZGVmIFAxMDIgaXRlbTEwMjsgdHlwZWRlZiBQMTAzIGl0ZW0xMDM7IHR5cGVkZWYgUDEwNCBpdGVtMTA0OyB0eXBlZGVmIFAxMDUgaXRlbTEwNTsgdHlwZWRlZiBQMTA2IGl0ZW0xMDY7IHR5cGVkZWYgUDEwNyBpdGVtMTA3OyB0eXBlZGVmIFAxMDggaXRlbTEwODsgdHlwZWRlZiBQMTA5IGl0ZW0xMDk7IHR5cGVkZWYgUDExMCBpdGVtMTEwOyB0eXBlZGVmIFAxMTEgaXRlbTExMTsgdHlwZWRlZiBQMTEyIGl0ZW0xMTI7IHR5cGVkZWYgUDExMyBpdGVtMTEzOyB0eXBlZGVmIFAxMTQgaXRlbTExNDsgdHlwZWRlZiBQMTE1IGl0ZW0xMTU7IHR5cGVkZWYgUDExNiBpdGVtMTE2OyB0eXBlZGVmIFAxMTcgaXRlbTExNzsgdHlwZWRlZiBQMTE4IGl0ZW0xMTg7IHR5cGVkZWYgUDExOSBpdGVtMTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ5OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBQOTMgLCBjbGFzcyBQOTQgLCBjbGFzcyBQOTUgLCBjbGFzcyBQOTYgLCBjbGFzcyBQOTcgLCBjbGFzcyBQOTggLCBjbGFzcyBQOTkgLCBjbGFzcyBQMTAwICwgY2xhc3MgUDEwMSAsIGNsYXNzIFAxMDIgLCBjbGFzcyBQMTAzICwgY2xhc3MgUDEwNCAsIGNsYXNzIFAxMDUgLCBjbGFzcyBQMTA2ICwgY2xhc3MgUDEwNyAsIGNsYXNzIFAxMDggLCBjbGFzcyBQMTA5ICwgY2xhc3MgUDExMCAsIGNsYXNzIFAxMTEgLCBjbGFzcyBQMTEyICwgY2xhc3MgUDExMyAsIGNsYXNzIFAxMTQgLCBjbGFzcyBQMTE1ICwgY2xhc3MgUDExNiAsIGNsYXNzIFAxMTcgLCBjbGFzcyBQMTE4ICwgY2xhc3MgUDExOSAsIGNsYXNzIFAxMjAgPiBzdHJ1Y3QgdmVjdG9yMTIxIHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yMTIxPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFA5MiAsIFA5MyAsIFA5NCAsIFA5NSAsIFA5NiAsIFA5NyAsIFA5OCAsIFA5OSAsIFAxMDAgLCBQMTAxICwgUDEwMiAsIFAxMDMgLCBQMTA0ICwgUDEwNSAsIFAxMDYgLCBQMTA3ICwgUDEwOCAsIFAxMDkgLCBQMTEwICwgUDExMSAsIFAxMTIgLCBQMTEzICwgUDExNCAsIFAxMTUgLCBQMTE2ICwgUDExNyAsIFAxMTggLCBQMTE5ICwgUDEyMD4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBQODggaXRlbTg4OyB0eXBlZGVmIFA4OSBpdGVtODk7IHR5cGVkZWYgUDkwIGl0ZW05MDsgdHlwZWRlZiBQOTEgaXRlbTkxOyB0eXBlZGVmIFA5MiBpdGVtOTI7IHR5cGVkZWYgUDkzIGl0ZW05MzsgdHlwZWRlZiBQOTQgaXRlbTk0OyB0eXBlZGVmIFA5NSBpdGVtOTU7IHR5cGVkZWYgUDk2IGl0ZW05NjsgdHlwZWRlZiBQOTcgaXRlbTk3OyB0eXBlZGVmIFA5OCBpdGVtOTg7IHR5cGVkZWYgUDk5IGl0ZW05OTsgdHlwZWRlZiBQMTAwIGl0ZW0xMDA7IHR5cGVkZWYgUDEwMSBpdGVtMTAxOyB0eXBlZGVmIFAxMDIgaXRlbTEwMjsgdHlwZWRlZiBQMTAzIGl0ZW0xMDM7IHR5cGVkZWYgUDEwNCBpdGVtMTA0OyB0eXBlZGVmIFAxMDUgaXRlbTEwNTsgdHlwZWRlZiBQMTA2IGl0ZW0xMDY7IHR5cGVkZWYgUDEwNyBpdGVtMTA3OyB0eXBlZGVmIFAxMDggaXRlbTEwODsgdHlwZWRlZiBQMTA5IGl0ZW0xMDk7IHR5cGVkZWYgUDExMCBpdGVtMTEwOyB0eXBlZGVmIFAxMTEgaXRlbTExMTsgdHlwZWRlZiBQMTEyIGl0ZW0xMTI7IHR5cGVkZWYgUDExMyBpdGVtMTEzOyB0eXBlZGVmIFAxMTQgaXRlbTExNDsgdHlwZWRlZiBQMTE1IGl0ZW0xMTU7IHR5cGVkZWYgUDExNiBpdGVtMTE2OyB0eXBlZGVmIFAxMTcgaXRlbTExNzsgdHlwZWRlZiBQMTE4IGl0ZW0xMTg7IHR5cGVkZWYgUDExOSBpdGVtMTE5OyB0eXBlZGVmIFAxMjAgaXRlbTEyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0OTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ICwgY2xhc3MgUDk2ICwgY2xhc3MgUDk3ICwgY2xhc3MgUDk4ICwgY2xhc3MgUDk5ICwgY2xhc3MgUDEwMCAsIGNsYXNzIFAxMDEgLCBjbGFzcyBQMTAyICwgY2xhc3MgUDEwMyAsIGNsYXNzIFAxMDQgLCBjbGFzcyBQMTA1ICwgY2xhc3MgUDEwNiAsIGNsYXNzIFAxMDcgLCBjbGFzcyBQMTA4ICwgY2xhc3MgUDEwOSAsIGNsYXNzIFAxMTAgLCBjbGFzcyBQMTExICwgY2xhc3MgUDExMiAsIGNsYXNzIFAxMTMgLCBjbGFzcyBQMTE0ICwgY2xhc3MgUDExNSAsIGNsYXNzIFAxMTYgLCBjbGFzcyBQMTE3ICwgY2xhc3MgUDExOCAsIGNsYXNzIFAxMTkgLCBjbGFzcyBQMTIwICwgY2xhc3MgUDEyMSA+IHN0cnVjdCB2ZWN0b3IxMjIgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3IxMjI8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1ICwgUDk2ICwgUDk3ICwgUDk4ICwgUDk5ICwgUDEwMCAsIFAxMDEgLCBQMTAyICwgUDEwMyAsIFAxMDQgLCBQMTA1ICwgUDEwNiAsIFAxMDcgLCBQMTA4ICwgUDEwOSAsIFAxMTAgLCBQMTExICwgUDExMiAsIFAxMTMgLCBQMTE0ICwgUDExNSAsIFAxMTYgLCBQMTE3ICwgUDExOCAsIFAxMTkgLCBQMTIwICwgUDEyMT4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBQODggaXRlbTg4OyB0eXBlZGVmIFA4OSBpdGVtODk7IHR5cGVkZWYgUDkwIGl0ZW05MDsgdHlwZWRlZiBQOTEgaXRlbTkxOyB0eXBlZGVmIFA5MiBpdGVtOTI7IHR5cGVkZWYgUDkzIGl0ZW05MzsgdHlwZWRlZiBQOTQgaXRlbTk0OyB0eXBlZGVmIFA5NSBpdGVtOTU7IHR5cGVkZWYgUDk2IGl0ZW05NjsgdHlwZWRlZiBQOTcgaXRlbTk3OyB0eXBlZGVmIFA5OCBpdGVtOTg7IHR5cGVkZWYgUDk5IGl0ZW05OTsgdHlwZWRlZiBQMTAwIGl0ZW0xMDA7IHR5cGVkZWYgUDEwMSBpdGVtMTAxOyB0eXBlZGVmIFAxMDIgaXRlbTEwMjsgdHlwZWRlZiBQMTAzIGl0ZW0xMDM7IHR5cGVkZWYgUDEwNCBpdGVtMTA0OyB0eXBlZGVmIFAxMDUgaXRlbTEwNTsgdHlwZWRlZiBQMTA2IGl0ZW0xMDY7IHR5cGVkZWYgUDEwNyBpdGVtMTA3OyB0eXBlZGVmIFAxMDggaXRlbTEwODsgdHlwZWRlZiBQMTA5IGl0ZW0xMDk7IHR5cGVkZWYgUDExMCBpdGVtMTEwOyB0eXBlZGVmIFAxMTEgaXRlbTExMTsgdHlwZWRlZiBQMTEyIGl0ZW0xMTI7IHR5cGVkZWYgUDExMyBpdGVtMTEzOyB0eXBlZGVmIFAxMTQgaXRlbTExNDsgdHlwZWRlZiBQMTE1IGl0ZW0xMTU7IHR5cGVkZWYgUDExNiBpdGVtMTE2OyB0eXBlZGVmIFAxMTcgaXRlbTExNzsgdHlwZWRlZiBQMTE4IGl0ZW0xMTg7IHR5cGVkZWYgUDExOSBpdGVtMTE5OyB0eXBlZGVmIFAxMjAgaXRlbTEyMDsgdHlwZWRlZiBQMTIxIGl0ZW0xMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDk7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSAsIGNsYXNzIFA4NiAsIGNsYXNzIFA4NyAsIGNsYXNzIFA4OCAsIGNsYXNzIFA4OSAsIGNsYXNzIFA5MCAsIGNsYXNzIFA5MSAsIGNsYXNzIFA5MiAsIGNsYXNzIFA5MyAsIGNsYXNzIFA5NCAsIGNsYXNzIFA5NSAsIGNsYXNzIFA5NiAsIGNsYXNzIFA5NyAsIGNsYXNzIFA5OCAsIGNsYXNzIFA5OSAsIGNsYXNzIFAxMDAgLCBjbGFzcyBQMTAxICwgY2xhc3MgUDEwMiAsIGNsYXNzIFAxMDMgLCBjbGFzcyBQMTA0ICwgY2xhc3MgUDEwNSAsIGNsYXNzIFAxMDYgLCBjbGFzcyBQMTA3ICwgY2xhc3MgUDEwOCAsIGNsYXNzIFAxMDkgLCBjbGFzcyBQMTEwICwgY2xhc3MgUDExMSAsIGNsYXNzIFAxMTIgLCBjbGFzcyBQMTEzICwgY2xhc3MgUDExNCAsIGNsYXNzIFAxMTUgLCBjbGFzcyBQMTE2ICwgY2xhc3MgUDExNyAsIGNsYXNzIFAxMTggLCBjbGFzcyBQMTE5ICwgY2xhc3MgUDEyMCAsIGNsYXNzIFAxMjEgLCBjbGFzcyBQMTIyID4gc3RydWN0IHZlY3RvcjEyMyB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjEyMzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMj4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBQODggaXRlbTg4OyB0eXBlZGVmIFA4OSBpdGVtODk7IHR5cGVkZWYgUDkwIGl0ZW05MDsgdHlwZWRlZiBQOTEgaXRlbTkxOyB0eXBlZGVmIFA5MiBpdGVtOTI7IHR5cGVkZWYgUDkzIGl0ZW05MzsgdHlwZWRlZiBQOTQgaXRlbTk0OyB0eXBlZGVmIFA5NSBpdGVtOTU7IHR5cGVkZWYgUDk2IGl0ZW05NjsgdHlwZWRlZiBQOTcgaXRlbTk3OyB0eXBlZGVmIFA5OCBpdGVtOTg7IHR5cGVkZWYgUDk5IGl0ZW05OTsgdHlwZWRlZiBQMTAwIGl0ZW0xMDA7IHR5cGVkZWYgUDEwMSBpdGVtMTAxOyB0eXBlZGVmIFAxMDIgaXRlbTEwMjsgdHlwZWRlZiBQMTAzIGl0ZW0xMDM7IHR5cGVkZWYgUDEwNCBpdGVtMTA0OyB0eXBlZGVmIFAxMDUgaXRlbTEwNTsgdHlwZWRlZiBQMTA2IGl0ZW0xMDY7IHR5cGVkZWYgUDEwNyBpdGVtMTA3OyB0eXBlZGVmIFAxMDggaXRlbTEwODsgdHlwZWRlZiBQMTA5IGl0ZW0xMDk7IHR5cGVkZWYgUDExMCBpdGVtMTEwOyB0eXBlZGVmIFAxMTEgaXRlbTExMTsgdHlwZWRlZiBQMTEyIGl0ZW0xMTI7IHR5cGVkZWYgUDExMyBpdGVtMTEzOyB0eXBlZGVmIFAxMTQgaXRlbTExNDsgdHlwZWRlZiBQMTE1IGl0ZW0xMTU7IHR5cGVkZWYgUDExNiBpdGVtMTE2OyB0eXBlZGVmIFAxMTcgaXRlbTExNzsgdHlwZWRlZiBQMTE4IGl0ZW0xMTg7IHR5cGVkZWYgUDExOSBpdGVtMTE5OyB0eXBlZGVmIFAxMjAgaXRlbTEyMDsgdHlwZWRlZiBQMTIxIGl0ZW0xMjE7IHR5cGVkZWYgUDEyMiBpdGVtMTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ5OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBQOTMgLCBjbGFzcyBQOTQgLCBjbGFzcyBQOTUgLCBjbGFzcyBQOTYgLCBjbGFzcyBQOTcgLCBjbGFzcyBQOTggLCBjbGFzcyBQOTkgLCBjbGFzcyBQMTAwICwgY2xhc3MgUDEwMSAsIGNsYXNzIFAxMDIgLCBjbGFzcyBQMTAzICwgY2xhc3MgUDEwNCAsIGNsYXNzIFAxMDUgLCBjbGFzcyBQMTA2ICwgY2xhc3MgUDEwNyAsIGNsYXNzIFAxMDggLCBjbGFzcyBQMTA5ICwgY2xhc3MgUDExMCAsIGNsYXNzIFAxMTEgLCBjbGFzcyBQMTEyICwgY2xhc3MgUDExMyAsIGNsYXNzIFAxMTQgLCBjbGFzcyBQMTE1ICwgY2xhc3MgUDExNiAsIGNsYXNzIFAxMTcgLCBjbGFzcyBQMTE4ICwgY2xhc3MgUDExOSAsIGNsYXNzIFAxMjAgLCBjbGFzcyBQMTIxICwgY2xhc3MgUDEyMiAsIGNsYXNzIFAxMjMgPiBzdHJ1Y3QgdmVjdG9yMTI0IHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yMTI0PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFA5MiAsIFA5MyAsIFA5NCAsIFA5NSAsIFA5NiAsIFA5NyAsIFA5OCAsIFA5OSAsIFAxMDAgLCBQMTAxICwgUDEwMiAsIFAxMDMgLCBQMTA0ICwgUDEwNSAsIFAxMDYgLCBQMTA3ICwgUDEwOCAsIFAxMDkgLCBQMTEwICwgUDExMSAsIFAxMTIgLCBQMTEzICwgUDExNCAsIFAxMTUgLCBQMTE2ICwgUDExNyAsIFAxMTggLCBQMTE5ICwgUDEyMCAsIFAxMjEgLCBQMTIyICwgUDEyMz4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBQODggaXRlbTg4OyB0eXBlZGVmIFA4OSBpdGVtODk7IHR5cGVkZWYgUDkwIGl0ZW05MDsgdHlwZWRlZiBQOTEgaXRlbTkxOyB0eXBlZGVmIFA5MiBpdGVtOTI7IHR5cGVkZWYgUDkzIGl0ZW05MzsgdHlwZWRlZiBQOTQgaXRlbTk0OyB0eXBlZGVmIFA5NSBpdGVtOTU7IHR5cGVkZWYgUDk2IGl0ZW05NjsgdHlwZWRlZiBQOTcgaXRlbTk3OyB0eXBlZGVmIFA5OCBpdGVtOTg7IHR5cGVkZWYgUDk5IGl0ZW05OTsgdHlwZWRlZiBQMTAwIGl0ZW0xMDA7IHR5cGVkZWYgUDEwMSBpdGVtMTAxOyB0eXBlZGVmIFAxMDIgaXRlbTEwMjsgdHlwZWRlZiBQMTAzIGl0ZW0xMDM7IHR5cGVkZWYgUDEwNCBpdGVtMTA0OyB0eXBlZGVmIFAxMDUgaXRlbTEwNTsgdHlwZWRlZiBQMTA2IGl0ZW0xMDY7IHR5cGVkZWYgUDEwNyBpdGVtMTA3OyB0eXBlZGVmIFAxMDggaXRlbTEwODsgdHlwZWRlZiBQMTA5IGl0ZW0xMDk7IHR5cGVkZWYgUDExMCBpdGVtMTEwOyB0eXBlZGVmIFAxMTEgaXRlbTExMTsgdHlwZWRlZiBQMTEyIGl0ZW0xMTI7IHR5cGVkZWYgUDExMyBpdGVtMTEzOyB0eXBlZGVmIFAxMTQgaXRlbTExNDsgdHlwZWRlZiBQMTE1IGl0ZW0xMTU7IHR5cGVkZWYgUDExNiBpdGVtMTE2OyB0eXBlZGVmIFAxMTcgaXRlbTExNzsgdHlwZWRlZiBQMTE4IGl0ZW0xMTg7IHR5cGVkZWYgUDExOSBpdGVtMTE5OyB0eXBlZGVmIFAxMjAgaXRlbTEyMDsgdHlwZWRlZiBQMTIxIGl0ZW0xMjE7IHR5cGVkZWYgUDEyMiBpdGVtMTIyOyB0eXBlZGVmIFAxMjMgaXRlbTEyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0OTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ICwgY2xhc3MgUDk2ICwgY2xhc3MgUDk3ICwgY2xhc3MgUDk4ICwgY2xhc3MgUDk5ICwgY2xhc3MgUDEwMCAsIGNsYXNzIFAxMDEgLCBjbGFzcyBQMTAyICwgY2xhc3MgUDEwMyAsIGNsYXNzIFAxMDQgLCBjbGFzcyBQMTA1ICwgY2xhc3MgUDEwNiAsIGNsYXNzIFAxMDcgLCBjbGFzcyBQMTA4ICwgY2xhc3MgUDEwOSAsIGNsYXNzIFAxMTAgLCBjbGFzcyBQMTExICwgY2xhc3MgUDExMiAsIGNsYXNzIFAxMTMgLCBjbGFzcyBQMTE0ICwgY2xhc3MgUDExNSAsIGNsYXNzIFAxMTYgLCBjbGFzcyBQMTE3ICwgY2xhc3MgUDExOCAsIGNsYXNzIFAxMTkgLCBjbGFzcyBQMTIwICwgY2xhc3MgUDEyMSAsIGNsYXNzIFAxMjIgLCBjbGFzcyBQMTIzICwgY2xhc3MgUDEyNCA+IHN0cnVjdCB2ZWN0b3IxMjUgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3IxMjU8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1ICwgUDk2ICwgUDk3ICwgUDk4ICwgUDk5ICwgUDEwMCAsIFAxMDEgLCBQMTAyICwgUDEwMyAsIFAxMDQgLCBQMTA1ICwgUDEwNiAsIFAxMDcgLCBQMTA4ICwgUDEwOSAsIFAxMTAgLCBQMTExICwgUDExMiAsIFAxMTMgLCBQMTE0ICwgUDExNSAsIFAxMTYgLCBQMTE3ICwgUDExOCAsIFAxMTkgLCBQMTIwICwgUDEyMSAsIFAxMjIgLCBQMTIzICwgUDEyND4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBQODggaXRlbTg4OyB0eXBlZGVmIFA4OSBpdGVtODk7IHR5cGVkZWYgUDkwIGl0ZW05MDsgdHlwZWRlZiBQOTEgaXRlbTkxOyB0eXBlZGVmIFA5MiBpdGVtOTI7IHR5cGVkZWYgUDkzIGl0ZW05MzsgdHlwZWRlZiBQOTQgaXRlbTk0OyB0eXBlZGVmIFA5NSBpdGVtOTU7IHR5cGVkZWYgUDk2IGl0ZW05NjsgdHlwZWRlZiBQOTcgaXRlbTk3OyB0eXBlZGVmIFA5OCBpdGVtOTg7IHR5cGVkZWYgUDk5IGl0ZW05OTsgdHlwZWRlZiBQMTAwIGl0ZW0xMDA7IHR5cGVkZWYgUDEwMSBpdGVtMTAxOyB0eXBlZGVmIFAxMDIgaXRlbTEwMjsgdHlwZWRlZiBQMTAzIGl0ZW0xMDM7IHR5cGVkZWYgUDEwNCBpdGVtMTA0OyB0eXBlZGVmIFAxMDUgaXRlbTEwNTsgdHlwZWRlZiBQMTA2IGl0ZW0xMDY7IHR5cGVkZWYgUDEwNyBpdGVtMTA3OyB0eXBlZGVmIFAxMDggaXRlbTEwODsgdHlwZWRlZiBQMTA5IGl0ZW0xMDk7IHR5cGVkZWYgUDExMCBpdGVtMTEwOyB0eXBlZGVmIFAxMTEgaXRlbTExMTsgdHlwZWRlZiBQMTEyIGl0ZW0xMTI7IHR5cGVkZWYgUDExMyBpdGVtMTEzOyB0eXBlZGVmIFAxMTQgaXRlbTExNDsgdHlwZWRlZiBQMTE1IGl0ZW0xMTU7IHR5cGVkZWYgUDExNiBpdGVtMTE2OyB0eXBlZGVmIFAxMTcgaXRlbTExNzsgdHlwZWRlZiBQMTE4IGl0ZW0xMTg7IHR5cGVkZWYgUDExOSBpdGVtMTE5OyB0eXBlZGVmIFAxMjAgaXRlbTEyMDsgdHlwZWRlZiBQMTIxIGl0ZW0xMjE7IHR5cGVkZWYgUDEyMiBpdGVtMTIyOyB0eXBlZGVmIFAxMjMgaXRlbTEyMzsgdHlwZWRlZiBQMTI0IGl0ZW0xMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDk7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSAsIGNsYXNzIFA4NiAsIGNsYXNzIFA4NyAsIGNsYXNzIFA4OCAsIGNsYXNzIFA4OSAsIGNsYXNzIFA5MCAsIGNsYXNzIFA5MSAsIGNsYXNzIFA5MiAsIGNsYXNzIFA5MyAsIGNsYXNzIFA5NCAsIGNsYXNzIFA5NSAsIGNsYXNzIFA5NiAsIGNsYXNzIFA5NyAsIGNsYXNzIFA5OCAsIGNsYXNzIFA5OSAsIGNsYXNzIFAxMDAgLCBjbGFzcyBQMTAxICwgY2xhc3MgUDEwMiAsIGNsYXNzIFAxMDMgLCBjbGFzcyBQMTA0ICwgY2xhc3MgUDEwNSAsIGNsYXNzIFAxMDYgLCBjbGFzcyBQMTA3ICwgY2xhc3MgUDEwOCAsIGNsYXNzIFAxMDkgLCBjbGFzcyBQMTEwICwgY2xhc3MgUDExMSAsIGNsYXNzIFAxMTIgLCBjbGFzcyBQMTEzICwgY2xhc3MgUDExNCAsIGNsYXNzIFAxMTUgLCBjbGFzcyBQMTE2ICwgY2xhc3MgUDExNyAsIGNsYXNzIFAxMTggLCBjbGFzcyBQMTE5ICwgY2xhc3MgUDEyMCAsIGNsYXNzIFAxMjEgLCBjbGFzcyBQMTIyICwgY2xhc3MgUDEyMyAsIGNsYXNzIFAxMjQgLCBjbGFzcyBQMTI1ID4gc3RydWN0IHZlY3RvcjEyNiB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjEyNjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNT4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBQODggaXRlbTg4OyB0eXBlZGVmIFA4OSBpdGVtODk7IHR5cGVkZWYgUDkwIGl0ZW05MDsgdHlwZWRlZiBQOTEgaXRlbTkxOyB0eXBlZGVmIFA5MiBpdGVtOTI7IHR5cGVkZWYgUDkzIGl0ZW05MzsgdHlwZWRlZiBQOTQgaXRlbTk0OyB0eXBlZGVmIFA5NSBpdGVtOTU7IHR5cGVkZWYgUDk2IGl0ZW05NjsgdHlwZWRlZiBQOTcgaXRlbTk3OyB0eXBlZGVmIFA5OCBpdGVtOTg7IHR5cGVkZWYgUDk5IGl0ZW05OTsgdHlwZWRlZiBQMTAwIGl0ZW0xMDA7IHR5cGVkZWYgUDEwMSBpdGVtMTAxOyB0eXBlZGVmIFAxMDIgaXRlbTEwMjsgdHlwZWRlZiBQMTAzIGl0ZW0xMDM7IHR5cGVkZWYgUDEwNCBpdGVtMTA0OyB0eXBlZGVmIFAxMDUgaXRlbTEwNTsgdHlwZWRlZiBQMTA2IGl0ZW0xMDY7IHR5cGVkZWYgUDEwNyBpdGVtMTA3OyB0eXBlZGVmIFAxMDggaXRlbTEwODsgdHlwZWRlZiBQMTA5IGl0ZW0xMDk7IHR5cGVkZWYgUDExMCBpdGVtMTEwOyB0eXBlZGVmIFAxMTEgaXRlbTExMTsgdHlwZWRlZiBQMTEyIGl0ZW0xMTI7IHR5cGVkZWYgUDExMyBpdGVtMTEzOyB0eXBlZGVmIFAxMTQgaXRlbTExNDsgdHlwZWRlZiBQMTE1IGl0ZW0xMTU7IHR5cGVkZWYgUDExNiBpdGVtMTE2OyB0eXBlZGVmIFAxMTcgaXRlbTExNzsgdHlwZWRlZiBQMTE4IGl0ZW0xMTg7IHR5cGVkZWYgUDExOSBpdGVtMTE5OyB0eXBlZGVmIFAxMjAgaXRlbTEyMDsgdHlwZWRlZiBQMTIxIGl0ZW0xMjE7IHR5cGVkZWYgUDEyMiBpdGVtMTIyOyB0eXBlZGVmIFAxMjMgaXRlbTEyMzsgdHlwZWRlZiBQMTI0IGl0ZW0xMjQ7IHR5cGVkZWYgUDEyNSBpdGVtMTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ5OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBQOTMgLCBjbGFzcyBQOTQgLCBjbGFzcyBQOTUgLCBjbGFzcyBQOTYgLCBjbGFzcyBQOTcgLCBjbGFzcyBQOTggLCBjbGFzcyBQOTkgLCBjbGFzcyBQMTAwICwgY2xhc3MgUDEwMSAsIGNsYXNzIFAxMDIgLCBjbGFzcyBQMTAzICwgY2xhc3MgUDEwNCAsIGNsYXNzIFAxMDUgLCBjbGFzcyBQMTA2ICwgY2xhc3MgUDEwNyAsIGNsYXNzIFAxMDggLCBjbGFzcyBQMTA5ICwgY2xhc3MgUDExMCAsIGNsYXNzIFAxMTEgLCBjbGFzcyBQMTEyICwgY2xhc3MgUDExMyAsIGNsYXNzIFAxMTQgLCBjbGFzcyBQMTE1ICwgY2xhc3MgUDExNiAsIGNsYXNzIFAxMTcgLCBjbGFzcyBQMTE4ICwgY2xhc3MgUDExOSAsIGNsYXNzIFAxMjAgLCBjbGFzcyBQMTIxICwgY2xhc3MgUDEyMiAsIGNsYXNzIFAxMjMgLCBjbGFzcyBQMTI0ICwgY2xhc3MgUDEyNSAsIGNsYXNzIFAxMjYgPiBzdHJ1Y3QgdmVjdG9yMTI3IHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yMTI3PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFA5MiAsIFA5MyAsIFA5NCAsIFA5NSAsIFA5NiAsIFA5NyAsIFA5OCAsIFA5OSAsIFAxMDAgLCBQMTAxICwgUDEwMiAsIFAxMDMgLCBQMTA0ICwgUDEwNSAsIFAxMDYgLCBQMTA3ICwgUDEwOCAsIFAxMDkgLCBQMTEwICwgUDExMSAsIFAxMTIgLCBQMTEzICwgUDExNCAsIFAxMTUgLCBQMTE2ICwgUDExNyAsIFAxMTggLCBQMTE5ICwgUDEyMCAsIFAxMjEgLCBQMTIyICwgUDEyMyAsIFAxMjQgLCBQMTI1ICwgUDEyNj4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBQODggaXRlbTg4OyB0eXBlZGVmIFA4OSBpdGVtODk7IHR5cGVkZWYgUDkwIGl0ZW05MDsgdHlwZWRlZiBQOTEgaXRlbTkxOyB0eXBlZGVmIFA5MiBpdGVtOTI7IHR5cGVkZWYgUDkzIGl0ZW05MzsgdHlwZWRlZiBQOTQgaXRlbTk0OyB0eXBlZGVmIFA5NSBpdGVtOTU7IHR5cGVkZWYgUDk2IGl0ZW05NjsgdHlwZWRlZiBQOTcgaXRlbTk3OyB0eXBlZGVmIFA5OCBpdGVtOTg7IHR5cGVkZWYgUDk5IGl0ZW05OTsgdHlwZWRlZiBQMTAwIGl0ZW0xMDA7IHR5cGVkZWYgUDEwMSBpdGVtMTAxOyB0eXBlZGVmIFAxMDIgaXRlbTEwMjsgdHlwZWRlZiBQMTAzIGl0ZW0xMDM7IHR5cGVkZWYgUDEwNCBpdGVtMTA0OyB0eXBlZGVmIFAxMDUgaXRlbTEwNTsgdHlwZWRlZiBQMTA2IGl0ZW0xMDY7IHR5cGVkZWYgUDEwNyBpdGVtMTA3OyB0eXBlZGVmIFAxMDggaXRlbTEwODsgdHlwZWRlZiBQMTA5IGl0ZW0xMDk7IHR5cGVkZWYgUDExMCBpdGVtMTEwOyB0eXBlZGVmIFAxMTEgaXRlbTExMTsgdHlwZWRlZiBQMTEyIGl0ZW0xMTI7IHR5cGVkZWYgUDExMyBpdGVtMTEzOyB0eXBlZGVmIFAxMTQgaXRlbTExNDsgdHlwZWRlZiBQMTE1IGl0ZW0xMTU7IHR5cGVkZWYgUDExNiBpdGVtMTE2OyB0eXBlZGVmIFAxMTcgaXRlbTExNzsgdHlwZWRlZiBQMTE4IGl0ZW0xMTg7IHR5cGVkZWYgUDExOSBpdGVtMTE5OyB0eXBlZGVmIFAxMjAgaXRlbTEyMDsgdHlwZWRlZiBQMTIxIGl0ZW0xMjE7IHR5cGVkZWYgUDEyMiBpdGVtMTIyOyB0eXBlZGVmIFAxMjMgaXRlbTEyMzsgdHlwZWRlZiBQMTI0IGl0ZW0xMjQ7IHR5cGVkZWYgUDEyNSBpdGVtMTI1OyB0eXBlZGVmIFAxMjYgaXRlbTEyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0OTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ICwgY2xhc3MgUDk2ICwgY2xhc3MgUDk3ICwgY2xhc3MgUDk4ICwgY2xhc3MgUDk5ICwgY2xhc3MgUDEwMCAsIGNsYXNzIFAxMDEgLCBjbGFzcyBQMTAyICwgY2xhc3MgUDEwMyAsIGNsYXNzIFAxMDQgLCBjbGFzcyBQMTA1ICwgY2xhc3MgUDEwNiAsIGNsYXNzIFAxMDcgLCBjbGFzcyBQMTA4ICwgY2xhc3MgUDEwOSAsIGNsYXNzIFAxMTAgLCBjbGFzcyBQMTExICwgY2xhc3MgUDExMiAsIGNsYXNzIFAxMTMgLCBjbGFzcyBQMTE0ICwgY2xhc3MgUDExNSAsIGNsYXNzIFAxMTYgLCBjbGFzcyBQMTE3ICwgY2xhc3MgUDExOCAsIGNsYXNzIFAxMTkgLCBjbGFzcyBQMTIwICwgY2xhc3MgUDEyMSAsIGNsYXNzIFAxMjIgLCBjbGFzcyBQMTIzICwgY2xhc3MgUDEyNCAsIGNsYXNzIFAxMjUgLCBjbGFzcyBQMTI2ICwgY2xhc3MgUDEyNyA+IHN0cnVjdCB2ZWN0b3IxMjggeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3IxMjg8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1ICwgUDk2ICwgUDk3ICwgUDk4ICwgUDk5ICwgUDEwMCAsIFAxMDEgLCBQMTAyICwgUDEwMyAsIFAxMDQgLCBQMTA1ICwgUDEwNiAsIFAxMDcgLCBQMTA4ICwgUDEwOSAsIFAxMTAgLCBQMTExICwgUDExMiAsIFAxMTMgLCBQMTE0ICwgUDExNSAsIFAxMTYgLCBQMTE3ICwgUDExOCAsIFAxMTkgLCBQMTIwICwgUDEyMSAsIFAxMjIgLCBQMTIzICwgUDEyNCAsIFAxMjUgLCBQMTI2ICwgUDEyNz4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBQODggaXRlbTg4OyB0eXBlZGVmIFA4OSBpdGVtODk7IHR5cGVkZWYgUDkwIGl0ZW05MDsgdHlwZWRlZiBQOTEgaXRlbTkxOyB0eXBlZGVmIFA5MiBpdGVtOTI7IHR5cGVkZWYgUDkzIGl0ZW05MzsgdHlwZWRlZiBQOTQgaXRlbTk0OyB0eXBlZGVmIFA5NSBpdGVtOTU7IHR5cGVkZWYgUDk2IGl0ZW05NjsgdHlwZWRlZiBQOTcgaXRlbTk3OyB0eXBlZGVmIFA5OCBpdGVtOTg7IHR5cGVkZWYgUDk5IGl0ZW05OTsgdHlwZWRlZiBQMTAwIGl0ZW0xMDA7IHR5cGVkZWYgUDEwMSBpdGVtMTAxOyB0eXBlZGVmIFAxMDIgaXRlbTEwMjsgdHlwZWRlZiBQMTAzIGl0ZW0xMDM7IHR5cGVkZWYgUDEwNCBpdGVtMTA0OyB0eXBlZGVmIFAxMDUgaXRlbTEwNTsgdHlwZWRlZiBQMTA2IGl0ZW0xMDY7IHR5cGVkZWYgUDEwNyBpdGVtMTA3OyB0eXBlZGVmIFAxMDggaXRlbTEwODsgdHlwZWRlZiBQMTA5IGl0ZW0xMDk7IHR5cGVkZWYgUDExMCBpdGVtMTEwOyB0eXBlZGVmIFAxMTEgaXRlbTExMTsgdHlwZWRlZiBQMTEyIGl0ZW0xMTI7IHR5cGVkZWYgUDExMyBpdGVtMTEzOyB0eXBlZGVmIFAxMTQgaXRlbTExNDsgdHlwZWRlZiBQMTE1IGl0ZW0xMTU7IHR5cGVkZWYgUDExNiBpdGVtMTE2OyB0eXBlZGVmIFAxMTcgaXRlbTExNzsgdHlwZWRlZiBQMTE4IGl0ZW0xMTg7IHR5cGVkZWYgUDExOSBpdGVtMTE5OyB0eXBlZGVmIFAxMjAgaXRlbTEyMDsgdHlwZWRlZiBQMTIxIGl0ZW0xMjE7IHR5cGVkZWYgUDEyMiBpdGVtMTIyOyB0eXBlZGVmIFAxMjMgaXRlbTEyMzsgdHlwZWRlZiBQMTI0IGl0ZW0xMjQ7IHR5cGVkZWYgUDEyNSBpdGVtMTI1OyB0eXBlZGVmIFAxMjYgaXRlbTEyNjsgdHlwZWRlZiBQMTI3IGl0ZW0xMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDk7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSAsIGNsYXNzIFA4NiAsIGNsYXNzIFA4NyAsIGNsYXNzIFA4OCAsIGNsYXNzIFA4OSAsIGNsYXNzIFA5MCAsIGNsYXNzIFA5MSAsIGNsYXNzIFA5MiAsIGNsYXNzIFA5MyAsIGNsYXNzIFA5NCAsIGNsYXNzIFA5NSAsIGNsYXNzIFA5NiAsIGNsYXNzIFA5NyAsIGNsYXNzIFA5OCAsIGNsYXNzIFA5OSAsIGNsYXNzIFAxMDAgLCBjbGFzcyBQMTAxICwgY2xhc3MgUDEwMiAsIGNsYXNzIFAxMDMgLCBjbGFzcyBQMTA0ICwgY2xhc3MgUDEwNSAsIGNsYXNzIFAxMDYgLCBjbGFzcyBQMTA3ICwgY2xhc3MgUDEwOCAsIGNsYXNzIFAxMDkgLCBjbGFzcyBQMTEwICwgY2xhc3MgUDExMSAsIGNsYXNzIFAxMTIgLCBjbGFzcyBQMTEzICwgY2xhc3MgUDExNCAsIGNsYXNzIFAxMTUgLCBjbGFzcyBQMTE2ICwgY2xhc3MgUDExNyAsIGNsYXNzIFAxMTggLCBjbGFzcyBQMTE5ICwgY2xhc3MgUDEyMCAsIGNsYXNzIFAxMjEgLCBjbGFzcyBQMTIyICwgY2xhc3MgUDEyMyAsIGNsYXNzIFAxMjQgLCBjbGFzcyBQMTI1ICwgY2xhc3MgUDEyNiAsIGNsYXNzIFAxMjcgLCBjbGFzcyBQMTI4ID4gc3RydWN0IHZlY3RvcjEyOSB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjEyOTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOD4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBQODggaXRlbTg4OyB0eXBlZGVmIFA4OSBpdGVtODk7IHR5cGVkZWYgUDkwIGl0ZW05MDsgdHlwZWRlZiBQOTEgaXRlbTkxOyB0eXBlZGVmIFA5MiBpdGVtOTI7IHR5cGVkZWYgUDkzIGl0ZW05MzsgdHlwZWRlZiBQOTQgaXRlbTk0OyB0eXBlZGVmIFA5NSBpdGVtOTU7IHR5cGVkZWYgUDk2IGl0ZW05NjsgdHlwZWRlZiBQOTcgaXRlbTk3OyB0eXBlZGVmIFA5OCBpdGVtOTg7IHR5cGVkZWYgUDk5IGl0ZW05OTsgdHlwZWRlZiBQMTAwIGl0ZW0xMDA7IHR5cGVkZWYgUDEwMSBpdGVtMTAxOyB0eXBlZGVmIFAxMDIgaXRlbTEwMjsgdHlwZWRlZiBQMTAzIGl0ZW0xMDM7IHR5cGVkZWYgUDEwNCBpdGVtMTA0OyB0eXBlZGVmIFAxMDUgaXRlbTEwNTsgdHlwZWRlZiBQMTA2IGl0ZW0xMDY7IHR5cGVkZWYgUDEwNyBpdGVtMTA3OyB0eXBlZGVmIFAxMDggaXRlbTEwODsgdHlwZWRlZiBQMTA5IGl0ZW0xMDk7IHR5cGVkZWYgUDExMCBpdGVtMTEwOyB0eXBlZGVmIFAxMTEgaXRlbTExMTsgdHlwZWRlZiBQMTEyIGl0ZW0xMTI7IHR5cGVkZWYgUDExMyBpdGVtMTEzOyB0eXBlZGVmIFAxMTQgaXRlbTExNDsgdHlwZWRlZiBQMTE1IGl0ZW0xMTU7IHR5cGVkZWYgUDExNiBpdGVtMTE2OyB0eXBlZGVmIFAxMTcgaXRlbTExNzsgdHlwZWRlZiBQMTE4IGl0ZW0xMTg7IHR5cGVkZWYgUDExOSBpdGVtMTE5OyB0eXBlZGVmIFAxMjAgaXRlbTEyMDsgdHlwZWRlZiBQMTIxIGl0ZW0xMjE7IHR5cGVkZWYgUDEyMiBpdGVtMTIyOyB0eXBlZGVmIFAxMjMgaXRlbTEyMzsgdHlwZWRlZiBQMTI0IGl0ZW0xMjQ7IHR5cGVkZWYgUDEyNSBpdGVtMTI1OyB0eXBlZGVmIFAxMjYgaXRlbTEyNjsgdHlwZWRlZiBQMTI3IGl0ZW0xMjc7IHR5cGVkZWYgUDEyOCBpdGVtMTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ5OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBQOTMgLCBjbGFzcyBQOTQgLCBjbGFzcyBQOTUgLCBjbGFzcyBQOTYgLCBjbGFzcyBQOTcgLCBjbGFzcyBQOTggLCBjbGFzcyBQOTkgLCBjbGFzcyBQMTAwICwgY2xhc3MgUDEwMSAsIGNsYXNzIFAxMDIgLCBjbGFzcyBQMTAzICwgY2xhc3MgUDEwNCAsIGNsYXNzIFAxMDUgLCBjbGFzcyBQMTA2ICwgY2xhc3MgUDEwNyAsIGNsYXNzIFAxMDggLCBjbGFzcyBQMTA5ICwgY2xhc3MgUDExMCAsIGNsYXNzIFAxMTEgLCBjbGFzcyBQMTEyICwgY2xhc3MgUDExMyAsIGNsYXNzIFAxMTQgLCBjbGFzcyBQMTE1ICwgY2xhc3MgUDExNiAsIGNsYXNzIFAxMTcgLCBjbGFzcyBQMTE4ICwgY2xhc3MgUDExOSAsIGNsYXNzIFAxMjAgLCBjbGFzcyBQMTIxICwgY2xhc3MgUDEyMiAsIGNsYXNzIFAxMjMgLCBjbGFzcyBQMTI0ICwgY2xhc3MgUDEyNSAsIGNsYXNzIFAxMjYgLCBjbGFzcyBQMTI3ICwgY2xhc3MgUDEyOCAsIGNsYXNzIFAxMjkgPiBzdHJ1Y3QgdmVjdG9yMTMwIHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yMTMwPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFA5MiAsIFA5MyAsIFA5NCAsIFA5NSAsIFA5NiAsIFA5NyAsIFA5OCAsIFA5OSAsIFAxMDAgLCBQMTAxICwgUDEwMiAsIFAxMDMgLCBQMTA0ICwgUDEwNSAsIFAxMDYgLCBQMTA3ICwgUDEwOCAsIFAxMDkgLCBQMTEwICwgUDExMSAsIFAxMTIgLCBQMTEzICwgUDExNCAsIFAxMTUgLCBQMTE2ICwgUDExNyAsIFAxMTggLCBQMTE5ICwgUDEyMCAsIFAxMjEgLCBQMTIyICwgUDEyMyAsIFAxMjQgLCBQMTI1ICwgUDEyNiAsIFAxMjcgLCBQMTI4ICwgUDEyOT4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBQODggaXRlbTg4OyB0eXBlZGVmIFA4OSBpdGVtODk7IHR5cGVkZWYgUDkwIGl0ZW05MDsgdHlwZWRlZiBQOTEgaXRlbTkxOyB0eXBlZGVmIFA5MiBpdGVtOTI7IHR5cGVkZWYgUDkzIGl0ZW05MzsgdHlwZWRlZiBQOTQgaXRlbTk0OyB0eXBlZGVmIFA5NSBpdGVtOTU7IHR5cGVkZWYgUDk2IGl0ZW05NjsgdHlwZWRlZiBQOTcgaXRlbTk3OyB0eXBlZGVmIFA5OCBpdGVtOTg7IHR5cGVkZWYgUDk5IGl0ZW05OTsgdHlwZWRlZiBQMTAwIGl0ZW0xMDA7IHR5cGVkZWYgUDEwMSBpdGVtMTAxOyB0eXBlZGVmIFAxMDIgaXRlbTEwMjsgdHlwZWRlZiBQMTAzIGl0ZW0xMDM7IHR5cGVkZWYgUDEwNCBpdGVtMTA0OyB0eXBlZGVmIFAxMDUgaXRlbTEwNTsgdHlwZWRlZiBQMTA2IGl0ZW0xMDY7IHR5cGVkZWYgUDEwNyBpdGVtMTA3OyB0eXBlZGVmIFAxMDggaXRlbTEwODsgdHlwZWRlZiBQMTA5IGl0ZW0xMDk7IHR5cGVkZWYgUDExMCBpdGVtMTEwOyB0eXBlZGVmIFAxMTEgaXRlbTExMTsgdHlwZWRlZiBQMTEyIGl0ZW0xMTI7IHR5cGVkZWYgUDExMyBpdGVtMTEzOyB0eXBlZGVmIFAxMTQgaXRlbTExNDsgdHlwZWRlZiBQMTE1IGl0ZW0xMTU7IHR5cGVkZWYgUDExNiBpdGVtMTE2OyB0eXBlZGVmIFAxMTcgaXRlbTExNzsgdHlwZWRlZiBQMTE4IGl0ZW0xMTg7IHR5cGVkZWYgUDExOSBpdGVtMTE5OyB0eXBlZGVmIFAxMjAgaXRlbTEyMDsgdHlwZWRlZiBQMTIxIGl0ZW0xMjE7IHR5cGVkZWYgUDEyMiBpdGVtMTIyOyB0eXBlZGVmIFAxMjMgaXRlbTEyMzsgdHlwZWRlZiBQMTI0IGl0ZW0xMjQ7IHR5cGVkZWYgUDEyNSBpdGVtMTI1OyB0eXBlZGVmIFAxMjYgaXRlbTEyNjsgdHlwZWRlZiBQMTI3IGl0ZW0xMjc7IHR5cGVkZWYgUDEyOCBpdGVtMTI4OyB0eXBlZGVmIFAxMjkgaXRlbTEyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0OTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ICwgY2xhc3MgUDk2ICwgY2xhc3MgUDk3ICwgY2xhc3MgUDk4ICwgY2xhc3MgUDk5ICwgY2xhc3MgUDEwMCAsIGNsYXNzIFAxMDEgLCBjbGFzcyBQMTAyICwgY2xhc3MgUDEwMyAsIGNsYXNzIFAxMDQgLCBjbGFzcyBQMTA1ICwgY2xhc3MgUDEwNiAsIGNsYXNzIFAxMDcgLCBjbGFzcyBQMTA4ICwgY2xhc3MgUDEwOSAsIGNsYXNzIFAxMTAgLCBjbGFzcyBQMTExICwgY2xhc3MgUDExMiAsIGNsYXNzIFAxMTMgLCBjbGFzcyBQMTE0ICwgY2xhc3MgUDExNSAsIGNsYXNzIFAxMTYgLCBjbGFzcyBQMTE3ICwgY2xhc3MgUDExOCAsIGNsYXNzIFAxMTkgLCBjbGFzcyBQMTIwICwgY2xhc3MgUDEyMSAsIGNsYXNzIFAxMjIgLCBjbGFzcyBQMTIzICwgY2xhc3MgUDEyNCAsIGNsYXNzIFAxMjUgLCBjbGFzcyBQMTI2ICwgY2xhc3MgUDEyNyAsIGNsYXNzIFAxMjggLCBjbGFzcyBQMTI5ICwgY2xhc3MgUDEzMCA+IHN0cnVjdCB2ZWN0b3IxMzEgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3IxMzE8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1ICwgUDk2ICwgUDk3ICwgUDk4ICwgUDk5ICwgUDEwMCAsIFAxMDEgLCBQMTAyICwgUDEwMyAsIFAxMDQgLCBQMTA1ICwgUDEwNiAsIFAxMDcgLCBQMTA4ICwgUDEwOSAsIFAxMTAgLCBQMTExICwgUDExMiAsIFAxMTMgLCBQMTE0ICwgUDExNSAsIFAxMTYgLCBQMTE3ICwgUDExOCAsIFAxMTkgLCBQMTIwICwgUDEyMSAsIFAxMjIgLCBQMTIzICwgUDEyNCAsIFAxMjUgLCBQMTI2ICwgUDEyNyAsIFAxMjggLCBQMTI5ICwgUDEzMD4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBQODggaXRlbTg4OyB0eXBlZGVmIFA4OSBpdGVtODk7IHR5cGVkZWYgUDkwIGl0ZW05MDsgdHlwZWRlZiBQOTEgaXRlbTkxOyB0eXBlZGVmIFA5MiBpdGVtOTI7IHR5cGVkZWYgUDkzIGl0ZW05MzsgdHlwZWRlZiBQOTQgaXRlbTk0OyB0eXBlZGVmIFA5NSBpdGVtOTU7IHR5cGVkZWYgUDk2IGl0ZW05NjsgdHlwZWRlZiBQOTcgaXRlbTk3OyB0eXBlZGVmIFA5OCBpdGVtOTg7IHR5cGVkZWYgUDk5IGl0ZW05OTsgdHlwZWRlZiBQMTAwIGl0ZW0xMDA7IHR5cGVkZWYgUDEwMSBpdGVtMTAxOyB0eXBlZGVmIFAxMDIgaXRlbTEwMjsgdHlwZWRlZiBQMTAzIGl0ZW0xMDM7IHR5cGVkZWYgUDEwNCBpdGVtMTA0OyB0eXBlZGVmIFAxMDUgaXRlbTEwNTsgdHlwZWRlZiBQMTA2IGl0ZW0xMDY7IHR5cGVkZWYgUDEwNyBpdGVtMTA3OyB0eXBlZGVmIFAxMDggaXRlbTEwODsgdHlwZWRlZiBQMTA5IGl0ZW0xMDk7IHR5cGVkZWYgUDExMCBpdGVtMTEwOyB0eXBlZGVmIFAxMTEgaXRlbTExMTsgdHlwZWRlZiBQMTEyIGl0ZW0xMTI7IHR5cGVkZWYgUDExMyBpdGVtMTEzOyB0eXBlZGVmIFAxMTQgaXRlbTExNDsgdHlwZWRlZiBQMTE1IGl0ZW0xMTU7IHR5cGVkZWYgUDExNiBpdGVtMTE2OyB0eXBlZGVmIFAxMTcgaXRlbTExNzsgdHlwZWRlZiBQMTE4IGl0ZW0xMTg7IHR5cGVkZWYgUDExOSBpdGVtMTE5OyB0eXBlZGVmIFAxMjAgaXRlbTEyMDsgdHlwZWRlZiBQMTIxIGl0ZW0xMjE7IHR5cGVkZWYgUDEyMiBpdGVtMTIyOyB0eXBlZGVmIFAxMjMgaXRlbTEyMzsgdHlwZWRlZiBQMTI0IGl0ZW0xMjQ7IHR5cGVkZWYgUDEyNSBpdGVtMTI1OyB0eXBlZGVmIFAxMjYgaXRlbTEyNjsgdHlwZWRlZiBQMTI3IGl0ZW0xMjc7IHR5cGVkZWYgUDEyOCBpdGVtMTI4OyB0eXBlZGVmIFAxMjkgaXRlbTEyOTsgdHlwZWRlZiBQMTMwIGl0ZW0xMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDk7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSAsIGNsYXNzIFA4NiAsIGNsYXNzIFA4NyAsIGNsYXNzIFA4OCAsIGNsYXNzIFA4OSAsIGNsYXNzIFA5MCAsIGNsYXNzIFA5MSAsIGNsYXNzIFA5MiAsIGNsYXNzIFA5MyAsIGNsYXNzIFA5NCAsIGNsYXNzIFA5NSAsIGNsYXNzIFA5NiAsIGNsYXNzIFA5NyAsIGNsYXNzIFA5OCAsIGNsYXNzIFA5OSAsIGNsYXNzIFAxMDAgLCBjbGFzcyBQMTAxICwgY2xhc3MgUDEwMiAsIGNsYXNzIFAxMDMgLCBjbGFzcyBQMTA0ICwgY2xhc3MgUDEwNSAsIGNsYXNzIFAxMDYgLCBjbGFzcyBQMTA3ICwgY2xhc3MgUDEwOCAsIGNsYXNzIFAxMDkgLCBjbGFzcyBQMTEwICwgY2xhc3MgUDExMSAsIGNsYXNzIFAxMTIgLCBjbGFzcyBQMTEzICwgY2xhc3MgUDExNCAsIGNsYXNzIFAxMTUgLCBjbGFzcyBQMTE2ICwgY2xhc3MgUDExNyAsIGNsYXNzIFAxMTggLCBjbGFzcyBQMTE5ICwgY2xhc3MgUDEyMCAsIGNsYXNzIFAxMjEgLCBjbGFzcyBQMTIyICwgY2xhc3MgUDEyMyAsIGNsYXNzIFAxMjQgLCBjbGFzcyBQMTI1ICwgY2xhc3MgUDEyNiAsIGNsYXNzIFAxMjcgLCBjbGFzcyBQMTI4ICwgY2xhc3MgUDEyOSAsIGNsYXNzIFAxMzAgLCBjbGFzcyBQMTMxID4gc3RydWN0IHZlY3RvcjEzMiB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjEzMjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMT4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBQODggaXRlbTg4OyB0eXBlZGVmIFA4OSBpdGVtODk7IHR5cGVkZWYgUDkwIGl0ZW05MDsgdHlwZWRlZiBQOTEgaXRlbTkxOyB0eXBlZGVmIFA5MiBpdGVtOTI7IHR5cGVkZWYgUDkzIGl0ZW05MzsgdHlwZWRlZiBQOTQgaXRlbTk0OyB0eXBlZGVmIFA5NSBpdGVtOTU7IHR5cGVkZWYgUDk2IGl0ZW05NjsgdHlwZWRlZiBQOTcgaXRlbTk3OyB0eXBlZGVmIFA5OCBpdGVtOTg7IHR5cGVkZWYgUDk5IGl0ZW05OTsgdHlwZWRlZiBQMTAwIGl0ZW0xMDA7IHR5cGVkZWYgUDEwMSBpdGVtMTAxOyB0eXBlZGVmIFAxMDIgaXRlbTEwMjsgdHlwZWRlZiBQMTAzIGl0ZW0xMDM7IHR5cGVkZWYgUDEwNCBpdGVtMTA0OyB0eXBlZGVmIFAxMDUgaXRlbTEwNTsgdHlwZWRlZiBQMTA2IGl0ZW0xMDY7IHR5cGVkZWYgUDEwNyBpdGVtMTA3OyB0eXBlZGVmIFAxMDggaXRlbTEwODsgdHlwZWRlZiBQMTA5IGl0ZW0xMDk7IHR5cGVkZWYgUDExMCBpdGVtMTEwOyB0eXBlZGVmIFAxMTEgaXRlbTExMTsgdHlwZWRlZiBQMTEyIGl0ZW0xMTI7IHR5cGVkZWYgUDExMyBpdGVtMTEzOyB0eXBlZGVmIFAxMTQgaXRlbTExNDsgdHlwZWRlZiBQMTE1IGl0ZW0xMTU7IHR5cGVkZWYgUDExNiBpdGVtMTE2OyB0eXBlZGVmIFAxMTcgaXRlbTExNzsgdHlwZWRlZiBQMTE4IGl0ZW0xMTg7IHR5cGVkZWYgUDExOSBpdGVtMTE5OyB0eXBlZGVmIFAxMjAgaXRlbTEyMDsgdHlwZWRlZiBQMTIxIGl0ZW0xMjE7IHR5cGVkZWYgUDEyMiBpdGVtMTIyOyB0eXBlZGVmIFAxMjMgaXRlbTEyMzsgdHlwZWRlZiBQMTI0IGl0ZW0xMjQ7IHR5cGVkZWYgUDEyNSBpdGVtMTI1OyB0eXBlZGVmIFAxMjYgaXRlbTEyNjsgdHlwZWRlZiBQMTI3IGl0ZW0xMjc7IHR5cGVkZWYgUDEyOCBpdGVtMTI4OyB0eXBlZGVmIFAxMjkgaXRlbTEyOTsgdHlwZWRlZiBQMTMwIGl0ZW0xMzA7IHR5cGVkZWYgUDEzMSBpdGVtMTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ5OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBQOTMgLCBjbGFzcyBQOTQgLCBjbGFzcyBQOTUgLCBjbGFzcyBQOTYgLCBjbGFzcyBQOTcgLCBjbGFzcyBQOTggLCBjbGFzcyBQOTkgLCBjbGFzcyBQMTAwICwgY2xhc3MgUDEwMSAsIGNsYXNzIFAxMDIgLCBjbGFzcyBQMTAzICwgY2xhc3MgUDEwNCAsIGNsYXNzIFAxMDUgLCBjbGFzcyBQMTA2ICwgY2xhc3MgUDEwNyAsIGNsYXNzIFAxMDggLCBjbGFzcyBQMTA5ICwgY2xhc3MgUDExMCAsIGNsYXNzIFAxMTEgLCBjbGFzcyBQMTEyICwgY2xhc3MgUDExMyAsIGNsYXNzIFAxMTQgLCBjbGFzcyBQMTE1ICwgY2xhc3MgUDExNiAsIGNsYXNzIFAxMTcgLCBjbGFzcyBQMTE4ICwgY2xhc3MgUDExOSAsIGNsYXNzIFAxMjAgLCBjbGFzcyBQMTIxICwgY2xhc3MgUDEyMiAsIGNsYXNzIFAxMjMgLCBjbGFzcyBQMTI0ICwgY2xhc3MgUDEyNSAsIGNsYXNzIFAxMjYgLCBjbGFzcyBQMTI3ICwgY2xhc3MgUDEyOCAsIGNsYXNzIFAxMjkgLCBjbGFzcyBQMTMwICwgY2xhc3MgUDEzMSAsIGNsYXNzIFAxMzIgPiBzdHJ1Y3QgdmVjdG9yMTMzIHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yMTMzPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFA5MiAsIFA5MyAsIFA5NCAsIFA5NSAsIFA5NiAsIFA5NyAsIFA5OCAsIFA5OSAsIFAxMDAgLCBQMTAxICwgUDEwMiAsIFAxMDMgLCBQMTA0ICwgUDEwNSAsIFAxMDYgLCBQMTA3ICwgUDEwOCAsIFAxMDkgLCBQMTEwICwgUDExMSAsIFAxMTIgLCBQMTEzICwgUDExNCAsIFAxMTUgLCBQMTE2ICwgUDExNyAsIFAxMTggLCBQMTE5ICwgUDEyMCAsIFAxMjEgLCBQMTIyICwgUDEyMyAsIFAxMjQgLCBQMTI1ICwgUDEyNiAsIFAxMjcgLCBQMTI4ICwgUDEyOSAsIFAxMzAgLCBQMTMxICwgUDEzMj4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBQODggaXRlbTg4OyB0eXBlZGVmIFA4OSBpdGVtODk7IHR5cGVkZWYgUDkwIGl0ZW05MDsgdHlwZWRlZiBQOTEgaXRlbTkxOyB0eXBlZGVmIFA5MiBpdGVtOTI7IHR5cGVkZWYgUDkzIGl0ZW05MzsgdHlwZWRlZiBQOTQgaXRlbTk0OyB0eXBlZGVmIFA5NSBpdGVtOTU7IHR5cGVkZWYgUDk2IGl0ZW05NjsgdHlwZWRlZiBQOTcgaXRlbTk3OyB0eXBlZGVmIFA5OCBpdGVtOTg7IHR5cGVkZWYgUDk5IGl0ZW05OTsgdHlwZWRlZiBQMTAwIGl0ZW0xMDA7IHR5cGVkZWYgUDEwMSBpdGVtMTAxOyB0eXBlZGVmIFAxMDIgaXRlbTEwMjsgdHlwZWRlZiBQMTAzIGl0ZW0xMDM7IHR5cGVkZWYgUDEwNCBpdGVtMTA0OyB0eXBlZGVmIFAxMDUgaXRlbTEwNTsgdHlwZWRlZiBQMTA2IGl0ZW0xMDY7IHR5cGVkZWYgUDEwNyBpdGVtMTA3OyB0eXBlZGVmIFAxMDggaXRlbTEwODsgdHlwZWRlZiBQMTA5IGl0ZW0xMDk7IHR5cGVkZWYgUDExMCBpdGVtMTEwOyB0eXBlZGVmIFAxMTEgaXRlbTExMTsgdHlwZWRlZiBQMTEyIGl0ZW0xMTI7IHR5cGVkZWYgUDExMyBpdGVtMTEzOyB0eXBlZGVmIFAxMTQgaXRlbTExNDsgdHlwZWRlZiBQMTE1IGl0ZW0xMTU7IHR5cGVkZWYgUDExNiBpdGVtMTE2OyB0eXBlZGVmIFAxMTcgaXRlbTExNzsgdHlwZWRlZiBQMTE4IGl0ZW0xMTg7IHR5cGVkZWYgUDExOSBpdGVtMTE5OyB0eXBlZGVmIFAxMjAgaXRlbTEyMDsgdHlwZWRlZiBQMTIxIGl0ZW0xMjE7IHR5cGVkZWYgUDEyMiBpdGVtMTIyOyB0eXBlZGVmIFAxMjMgaXRlbTEyMzsgdHlwZWRlZiBQMTI0IGl0ZW0xMjQ7IHR5cGVkZWYgUDEyNSBpdGVtMTI1OyB0eXBlZGVmIFAxMjYgaXRlbTEyNjsgdHlwZWRlZiBQMTI3IGl0ZW0xMjc7IHR5cGVkZWYgUDEyOCBpdGVtMTI4OyB0eXBlZGVmIFAxMjkgaXRlbTEyOTsgdHlwZWRlZiBQMTMwIGl0ZW0xMzA7IHR5cGVkZWYgUDEzMSBpdGVtMTMxOyB0eXBlZGVmIFAxMzIgaXRlbTEzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0OTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ICwgY2xhc3MgUDk2ICwgY2xhc3MgUDk3ICwgY2xhc3MgUDk4ICwgY2xhc3MgUDk5ICwgY2xhc3MgUDEwMCAsIGNsYXNzIFAxMDEgLCBjbGFzcyBQMTAyICwgY2xhc3MgUDEwMyAsIGNsYXNzIFAxMDQgLCBjbGFzcyBQMTA1ICwgY2xhc3MgUDEwNiAsIGNsYXNzIFAxMDcgLCBjbGFzcyBQMTA4ICwgY2xhc3MgUDEwOSAsIGNsYXNzIFAxMTAgLCBjbGFzcyBQMTExICwgY2xhc3MgUDExMiAsIGNsYXNzIFAxMTMgLCBjbGFzcyBQMTE0ICwgY2xhc3MgUDExNSAsIGNsYXNzIFAxMTYgLCBjbGFzcyBQMTE3ICwgY2xhc3MgUDExOCAsIGNsYXNzIFAxMTkgLCBjbGFzcyBQMTIwICwgY2xhc3MgUDEyMSAsIGNsYXNzIFAxMjIgLCBjbGFzcyBQMTIzICwgY2xhc3MgUDEyNCAsIGNsYXNzIFAxMjUgLCBjbGFzcyBQMTI2ICwgY2xhc3MgUDEyNyAsIGNsYXNzIFAxMjggLCBjbGFzcyBQMTI5ICwgY2xhc3MgUDEzMCAsIGNsYXNzIFAxMzEgLCBjbGFzcyBQMTMyICwgY2xhc3MgUDEzMyA+IHN0cnVjdCB2ZWN0b3IxMzQgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3IxMzQ8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1ICwgUDk2ICwgUDk3ICwgUDk4ICwgUDk5ICwgUDEwMCAsIFAxMDEgLCBQMTAyICwgUDEwMyAsIFAxMDQgLCBQMTA1ICwgUDEwNiAsIFAxMDcgLCBQMTA4ICwgUDEwOSAsIFAxMTAgLCBQMTExICwgUDExMiAsIFAxMTMgLCBQMTE0ICwgUDExNSAsIFAxMTYgLCBQMTE3ICwgUDExOCAsIFAxMTkgLCBQMTIwICwgUDEyMSAsIFAxMjIgLCBQMTIzICwgUDEyNCAsIFAxMjUgLCBQMTI2ICwgUDEyNyAsIFAxMjggLCBQMTI5ICwgUDEzMCAsIFAxMzEgLCBQMTMyICwgUDEzMz4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBQODggaXRlbTg4OyB0eXBlZGVmIFA4OSBpdGVtODk7IHR5cGVkZWYgUDkwIGl0ZW05MDsgdHlwZWRlZiBQOTEgaXRlbTkxOyB0eXBlZGVmIFA5MiBpdGVtOTI7IHR5cGVkZWYgUDkzIGl0ZW05MzsgdHlwZWRlZiBQOTQgaXRlbTk0OyB0eXBlZGVmIFA5NSBpdGVtOTU7IHR5cGVkZWYgUDk2IGl0ZW05NjsgdHlwZWRlZiBQOTcgaXRlbTk3OyB0eXBlZGVmIFA5OCBpdGVtOTg7IHR5cGVkZWYgUDk5IGl0ZW05OTsgdHlwZWRlZiBQMTAwIGl0ZW0xMDA7IHR5cGVkZWYgUDEwMSBpdGVtMTAxOyB0eXBlZGVmIFAxMDIgaXRlbTEwMjsgdHlwZWRlZiBQMTAzIGl0ZW0xMDM7IHR5cGVkZWYgUDEwNCBpdGVtMTA0OyB0eXBlZGVmIFAxMDUgaXRlbTEwNTsgdHlwZWRlZiBQMTA2IGl0ZW0xMDY7IHR5cGVkZWYgUDEwNyBpdGVtMTA3OyB0eXBlZGVmIFAxMDggaXRlbTEwODsgdHlwZWRlZiBQMTA5IGl0ZW0xMDk7IHR5cGVkZWYgUDExMCBpdGVtMTEwOyB0eXBlZGVmIFAxMTEgaXRlbTExMTsgdHlwZWRlZiBQMTEyIGl0ZW0xMTI7IHR5cGVkZWYgUDExMyBpdGVtMTEzOyB0eXBlZGVmIFAxMTQgaXRlbTExNDsgdHlwZWRlZiBQMTE1IGl0ZW0xMTU7IHR5cGVkZWYgUDExNiBpdGVtMTE2OyB0eXBlZGVmIFAxMTcgaXRlbTExNzsgdHlwZWRlZiBQMTE4IGl0ZW0xMTg7IHR5cGVkZWYgUDExOSBpdGVtMTE5OyB0eXBlZGVmIFAxMjAgaXRlbTEyMDsgdHlwZWRlZiBQMTIxIGl0ZW0xMjE7IHR5cGVkZWYgUDEyMiBpdGVtMTIyOyB0eXBlZGVmIFAxMjMgaXRlbTEyMzsgdHlwZWRlZiBQMTI0IGl0ZW0xMjQ7IHR5cGVkZWYgUDEyNSBpdGVtMTI1OyB0eXBlZGVmIFAxMjYgaXRlbTEyNjsgdHlwZWRlZiBQMTI3IGl0ZW0xMjc7IHR5cGVkZWYgUDEyOCBpdGVtMTI4OyB0eXBlZGVmIFAxMjkgaXRlbTEyOTsgdHlwZWRlZiBQMTMwIGl0ZW0xMzA7IHR5cGVkZWYgUDEzMSBpdGVtMTMxOyB0eXBlZGVmIFAxMzIgaXRlbTEzMjsgdHlwZWRlZiBQMTMzIGl0ZW0xMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDk7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSAsIGNsYXNzIFA4NiAsIGNsYXNzIFA4NyAsIGNsYXNzIFA4OCAsIGNsYXNzIFA4OSAsIGNsYXNzIFA5MCAsIGNsYXNzIFA5MSAsIGNsYXNzIFA5MiAsIGNsYXNzIFA5MyAsIGNsYXNzIFA5NCAsIGNsYXNzIFA5NSAsIGNsYXNzIFA5NiAsIGNsYXNzIFA5NyAsIGNsYXNzIFA5OCAsIGNsYXNzIFA5OSAsIGNsYXNzIFAxMDAgLCBjbGFzcyBQMTAxICwgY2xhc3MgUDEwMiAsIGNsYXNzIFAxMDMgLCBjbGFzcyBQMTA0ICwgY2xhc3MgUDEwNSAsIGNsYXNzIFAxMDYgLCBjbGFzcyBQMTA3ICwgY2xhc3MgUDEwOCAsIGNsYXNzIFAxMDkgLCBjbGFzcyBQMTEwICwgY2xhc3MgUDExMSAsIGNsYXNzIFAxMTIgLCBjbGFzcyBQMTEzICwgY2xhc3MgUDExNCAsIGNsYXNzIFAxMTUgLCBjbGFzcyBQMTE2ICwgY2xhc3MgUDExNyAsIGNsYXNzIFAxMTggLCBjbGFzcyBQMTE5ICwgY2xhc3MgUDEyMCAsIGNsYXNzIFAxMjEgLCBjbGFzcyBQMTIyICwgY2xhc3MgUDEyMyAsIGNsYXNzIFAxMjQgLCBjbGFzcyBQMTI1ICwgY2xhc3MgUDEyNiAsIGNsYXNzIFAxMjcgLCBjbGFzcyBQMTI4ICwgY2xhc3MgUDEyOSAsIGNsYXNzIFAxMzAgLCBjbGFzcyBQMTMxICwgY2xhc3MgUDEzMiAsIGNsYXNzIFAxMzMgLCBjbGFzcyBQMTM0ID4gc3RydWN0IHZlY3RvcjEzNSB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjEzNTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzND4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBQODggaXRlbTg4OyB0eXBlZGVmIFA4OSBpdGVtODk7IHR5cGVkZWYgUDkwIGl0ZW05MDsgdHlwZWRlZiBQOTEgaXRlbTkxOyB0eXBlZGVmIFA5MiBpdGVtOTI7IHR5cGVkZWYgUDkzIGl0ZW05MzsgdHlwZWRlZiBQOTQgaXRlbTk0OyB0eXBlZGVmIFA5NSBpdGVtOTU7IHR5cGVkZWYgUDk2IGl0ZW05NjsgdHlwZWRlZiBQOTcgaXRlbTk3OyB0eXBlZGVmIFA5OCBpdGVtOTg7IHR5cGVkZWYgUDk5IGl0ZW05OTsgdHlwZWRlZiBQMTAwIGl0ZW0xMDA7IHR5cGVkZWYgUDEwMSBpdGVtMTAxOyB0eXBlZGVmIFAxMDIgaXRlbTEwMjsgdHlwZWRlZiBQMTAzIGl0ZW0xMDM7IHR5cGVkZWYgUDEwNCBpdGVtMTA0OyB0eXBlZGVmIFAxMDUgaXRlbTEwNTsgdHlwZWRlZiBQMTA2IGl0ZW0xMDY7IHR5cGVkZWYgUDEwNyBpdGVtMTA3OyB0eXBlZGVmIFAxMDggaXRlbTEwODsgdHlwZWRlZiBQMTA5IGl0ZW0xMDk7IHR5cGVkZWYgUDExMCBpdGVtMTEwOyB0eXBlZGVmIFAxMTEgaXRlbTExMTsgdHlwZWRlZiBQMTEyIGl0ZW0xMTI7IHR5cGVkZWYgUDExMyBpdGVtMTEzOyB0eXBlZGVmIFAxMTQgaXRlbTExNDsgdHlwZWRlZiBQMTE1IGl0ZW0xMTU7IHR5cGVkZWYgUDExNiBpdGVtMTE2OyB0eXBlZGVmIFAxMTcgaXRlbTExNzsgdHlwZWRlZiBQMTE4IGl0ZW0xMTg7IHR5cGVkZWYgUDExOSBpdGVtMTE5OyB0eXBlZGVmIFAxMjAgaXRlbTEyMDsgdHlwZWRlZiBQMTIxIGl0ZW0xMjE7IHR5cGVkZWYgUDEyMiBpdGVtMTIyOyB0eXBlZGVmIFAxMjMgaXRlbTEyMzsgdHlwZWRlZiBQMTI0IGl0ZW0xMjQ7IHR5cGVkZWYgUDEyNSBpdGVtMTI1OyB0eXBlZGVmIFAxMjYgaXRlbTEyNjsgdHlwZWRlZiBQMTI3IGl0ZW0xMjc7IHR5cGVkZWYgUDEyOCBpdGVtMTI4OyB0eXBlZGVmIFAxMjkgaXRlbTEyOTsgdHlwZWRlZiBQMTMwIGl0ZW0xMzA7IHR5cGVkZWYgUDEzMSBpdGVtMTMxOyB0eXBlZGVmIFAxMzIgaXRlbTEzMjsgdHlwZWRlZiBQMTMzIGl0ZW0xMzM7IHR5cGVkZWYgUDEzNCBpdGVtMTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ5OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBQOTMgLCBjbGFzcyBQOTQgLCBjbGFzcyBQOTUgLCBjbGFzcyBQOTYgLCBjbGFzcyBQOTcgLCBjbGFzcyBQOTggLCBjbGFzcyBQOTkgLCBjbGFzcyBQMTAwICwgY2xhc3MgUDEwMSAsIGNsYXNzIFAxMDIgLCBjbGFzcyBQMTAzICwgY2xhc3MgUDEwNCAsIGNsYXNzIFAxMDUgLCBjbGFzcyBQMTA2ICwgY2xhc3MgUDEwNyAsIGNsYXNzIFAxMDggLCBjbGFzcyBQMTA5ICwgY2xhc3MgUDExMCAsIGNsYXNzIFAxMTEgLCBjbGFzcyBQMTEyICwgY2xhc3MgUDExMyAsIGNsYXNzIFAxMTQgLCBjbGFzcyBQMTE1ICwgY2xhc3MgUDExNiAsIGNsYXNzIFAxMTcgLCBjbGFzcyBQMTE4ICwgY2xhc3MgUDExOSAsIGNsYXNzIFAxMjAgLCBjbGFzcyBQMTIxICwgY2xhc3MgUDEyMiAsIGNsYXNzIFAxMjMgLCBjbGFzcyBQMTI0ICwgY2xhc3MgUDEyNSAsIGNsYXNzIFAxMjYgLCBjbGFzcyBQMTI3ICwgY2xhc3MgUDEyOCAsIGNsYXNzIFAxMjkgLCBjbGFzcyBQMTMwICwgY2xhc3MgUDEzMSAsIGNsYXNzIFAxMzIgLCBjbGFzcyBQMTMzICwgY2xhc3MgUDEzNCAsIGNsYXNzIFAxMzUgPiBzdHJ1Y3QgdmVjdG9yMTM2IHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yMTM2PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFA5MiAsIFA5MyAsIFA5NCAsIFA5NSAsIFA5NiAsIFA5NyAsIFA5OCAsIFA5OSAsIFAxMDAgLCBQMTAxICwgUDEwMiAsIFAxMDMgLCBQMTA0ICwgUDEwNSAsIFAxMDYgLCBQMTA3ICwgUDEwOCAsIFAxMDkgLCBQMTEwICwgUDExMSAsIFAxMTIgLCBQMTEzICwgUDExNCAsIFAxMTUgLCBQMTE2ICwgUDExNyAsIFAxMTggLCBQMTE5ICwgUDEyMCAsIFAxMjEgLCBQMTIyICwgUDEyMyAsIFAxMjQgLCBQMTI1ICwgUDEyNiAsIFAxMjcgLCBQMTI4ICwgUDEyOSAsIFAxMzAgLCBQMTMxICwgUDEzMiAsIFAxMzMgLCBQMTM0ICwgUDEzNT4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBQODggaXRlbTg4OyB0eXBlZGVmIFA4OSBpdGVtODk7IHR5cGVkZWYgUDkwIGl0ZW05MDsgdHlwZWRlZiBQOTEgaXRlbTkxOyB0eXBlZGVmIFA5MiBpdGVtOTI7IHR5cGVkZWYgUDkzIGl0ZW05MzsgdHlwZWRlZiBQOTQgaXRlbTk0OyB0eXBlZGVmIFA5NSBpdGVtOTU7IHR5cGVkZWYgUDk2IGl0ZW05NjsgdHlwZWRlZiBQOTcgaXRlbTk3OyB0eXBlZGVmIFA5OCBpdGVtOTg7IHR5cGVkZWYgUDk5IGl0ZW05OTsgdHlwZWRlZiBQMTAwIGl0ZW0xMDA7IHR5cGVkZWYgUDEwMSBpdGVtMTAxOyB0eXBlZGVmIFAxMDIgaXRlbTEwMjsgdHlwZWRlZiBQMTAzIGl0ZW0xMDM7IHR5cGVkZWYgUDEwNCBpdGVtMTA0OyB0eXBlZGVmIFAxMDUgaXRlbTEwNTsgdHlwZWRlZiBQMTA2IGl0ZW0xMDY7IHR5cGVkZWYgUDEwNyBpdGVtMTA3OyB0eXBlZGVmIFAxMDggaXRlbTEwODsgdHlwZWRlZiBQMTA5IGl0ZW0xMDk7IHR5cGVkZWYgUDExMCBpdGVtMTEwOyB0eXBlZGVmIFAxMTEgaXRlbTExMTsgdHlwZWRlZiBQMTEyIGl0ZW0xMTI7IHR5cGVkZWYgUDExMyBpdGVtMTEzOyB0eXBlZGVmIFAxMTQgaXRlbTExNDsgdHlwZWRlZiBQMTE1IGl0ZW0xMTU7IHR5cGVkZWYgUDExNiBpdGVtMTE2OyB0eXBlZGVmIFAxMTcgaXRlbTExNzsgdHlwZWRlZiBQMTE4IGl0ZW0xMTg7IHR5cGVkZWYgUDExOSBpdGVtMTE5OyB0eXBlZGVmIFAxMjAgaXRlbTEyMDsgdHlwZWRlZiBQMTIxIGl0ZW0xMjE7IHR5cGVkZWYgUDEyMiBpdGVtMTIyOyB0eXBlZGVmIFAxMjMgaXRlbTEyMzsgdHlwZWRlZiBQMTI0IGl0ZW0xMjQ7IHR5cGVkZWYgUDEyNSBpdGVtMTI1OyB0eXBlZGVmIFAxMjYgaXRlbTEyNjsgdHlwZWRlZiBQMTI3IGl0ZW0xMjc7IHR5cGVkZWYgUDEyOCBpdGVtMTI4OyB0eXBlZGVmIFAxMjkgaXRlbTEyOTsgdHlwZWRlZiBQMTMwIGl0ZW0xMzA7IHR5cGVkZWYgUDEzMSBpdGVtMTMxOyB0eXBlZGVmIFAxMzIgaXRlbTEzMjsgdHlwZWRlZiBQMTMzIGl0ZW0xMzM7IHR5cGVkZWYgUDEzNCBpdGVtMTM0OyB0eXBlZGVmIFAxMzUgaXRlbTEzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0OTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ICwgY2xhc3MgUDk2ICwgY2xhc3MgUDk3ICwgY2xhc3MgUDk4ICwgY2xhc3MgUDk5ICwgY2xhc3MgUDEwMCAsIGNsYXNzIFAxMDEgLCBjbGFzcyBQMTAyICwgY2xhc3MgUDEwMyAsIGNsYXNzIFAxMDQgLCBjbGFzcyBQMTA1ICwgY2xhc3MgUDEwNiAsIGNsYXNzIFAxMDcgLCBjbGFzcyBQMTA4ICwgY2xhc3MgUDEwOSAsIGNsYXNzIFAxMTAgLCBjbGFzcyBQMTExICwgY2xhc3MgUDExMiAsIGNsYXNzIFAxMTMgLCBjbGFzcyBQMTE0ICwgY2xhc3MgUDExNSAsIGNsYXNzIFAxMTYgLCBjbGFzcyBQMTE3ICwgY2xhc3MgUDExOCAsIGNsYXNzIFAxMTkgLCBjbGFzcyBQMTIwICwgY2xhc3MgUDEyMSAsIGNsYXNzIFAxMjIgLCBjbGFzcyBQMTIzICwgY2xhc3MgUDEyNCAsIGNsYXNzIFAxMjUgLCBjbGFzcyBQMTI2ICwgY2xhc3MgUDEyNyAsIGNsYXNzIFAxMjggLCBjbGFzcyBQMTI5ICwgY2xhc3MgUDEzMCAsIGNsYXNzIFAxMzEgLCBjbGFzcyBQMTMyICwgY2xhc3MgUDEzMyAsIGNsYXNzIFAxMzQgLCBjbGFzcyBQMTM1ICwgY2xhc3MgUDEzNiA+IHN0cnVjdCB2ZWN0b3IxMzcgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3IxMzc8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1ICwgUDk2ICwgUDk3ICwgUDk4ICwgUDk5ICwgUDEwMCAsIFAxMDEgLCBQMTAyICwgUDEwMyAsIFAxMDQgLCBQMTA1ICwgUDEwNiAsIFAxMDcgLCBQMTA4ICwgUDEwOSAsIFAxMTAgLCBQMTExICwgUDExMiAsIFAxMTMgLCBQMTE0ICwgUDExNSAsIFAxMTYgLCBQMTE3ICwgUDExOCAsIFAxMTkgLCBQMTIwICwgUDEyMSAsIFAxMjIgLCBQMTIzICwgUDEyNCAsIFAxMjUgLCBQMTI2ICwgUDEyNyAsIFAxMjggLCBQMTI5ICwgUDEzMCAsIFAxMzEgLCBQMTMyICwgUDEzMyAsIFAxMzQgLCBQMTM1ICwgUDEzNj4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBQODggaXRlbTg4OyB0eXBlZGVmIFA4OSBpdGVtODk7IHR5cGVkZWYgUDkwIGl0ZW05MDsgdHlwZWRlZiBQOTEgaXRlbTkxOyB0eXBlZGVmIFA5MiBpdGVtOTI7IHR5cGVkZWYgUDkzIGl0ZW05MzsgdHlwZWRlZiBQOTQgaXRlbTk0OyB0eXBlZGVmIFA5NSBpdGVtOTU7IHR5cGVkZWYgUDk2IGl0ZW05NjsgdHlwZWRlZiBQOTcgaXRlbTk3OyB0eXBlZGVmIFA5OCBpdGVtOTg7IHR5cGVkZWYgUDk5IGl0ZW05OTsgdHlwZWRlZiBQMTAwIGl0ZW0xMDA7IHR5cGVkZWYgUDEwMSBpdGVtMTAxOyB0eXBlZGVmIFAxMDIgaXRlbTEwMjsgdHlwZWRlZiBQMTAzIGl0ZW0xMDM7IHR5cGVkZWYgUDEwNCBpdGVtMTA0OyB0eXBlZGVmIFAxMDUgaXRlbTEwNTsgdHlwZWRlZiBQMTA2IGl0ZW0xMDY7IHR5cGVkZWYgUDEwNyBpdGVtMTA3OyB0eXBlZGVmIFAxMDggaXRlbTEwODsgdHlwZWRlZiBQMTA5IGl0ZW0xMDk7IHR5cGVkZWYgUDExMCBpdGVtMTEwOyB0eXBlZGVmIFAxMTEgaXRlbTExMTsgdHlwZWRlZiBQMTEyIGl0ZW0xMTI7IHR5cGVkZWYgUDExMyBpdGVtMTEzOyB0eXBlZGVmIFAxMTQgaXRlbTExNDsgdHlwZWRlZiBQMTE1IGl0ZW0xMTU7IHR5cGVkZWYgUDExNiBpdGVtMTE2OyB0eXBlZGVmIFAxMTcgaXRlbTExNzsgdHlwZWRlZiBQMTE4IGl0ZW0xMTg7IHR5cGVkZWYgUDExOSBpdGVtMTE5OyB0eXBlZGVmIFAxMjAgaXRlbTEyMDsgdHlwZWRlZiBQMTIxIGl0ZW0xMjE7IHR5cGVkZWYgUDEyMiBpdGVtMTIyOyB0eXBlZGVmIFAxMjMgaXRlbTEyMzsgdHlwZWRlZiBQMTI0IGl0ZW0xMjQ7IHR5cGVkZWYgUDEyNSBpdGVtMTI1OyB0eXBlZGVmIFAxMjYgaXRlbTEyNjsgdHlwZWRlZiBQMTI3IGl0ZW0xMjc7IHR5cGVkZWYgUDEyOCBpdGVtMTI4OyB0eXBlZGVmIFAxMjkgaXRlbTEyOTsgdHlwZWRlZiBQMTMwIGl0ZW0xMzA7IHR5cGVkZWYgUDEzMSBpdGVtMTMxOyB0eXBlZGVmIFAxMzIgaXRlbTEzMjsgdHlwZWRlZiBQMTMzIGl0ZW0xMzM7IHR5cGVkZWYgUDEzNCBpdGVtMTM0OyB0eXBlZGVmIFAxMzUgaXRlbTEzNTsgdHlwZWRlZiBQMTM2IGl0ZW0xMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDk7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSAsIGNsYXNzIFA4NiAsIGNsYXNzIFA4NyAsIGNsYXNzIFA4OCAsIGNsYXNzIFA4OSAsIGNsYXNzIFA5MCAsIGNsYXNzIFA5MSAsIGNsYXNzIFA5MiAsIGNsYXNzIFA5MyAsIGNsYXNzIFA5NCAsIGNsYXNzIFA5NSAsIGNsYXNzIFA5NiAsIGNsYXNzIFA5NyAsIGNsYXNzIFA5OCAsIGNsYXNzIFA5OSAsIGNsYXNzIFAxMDAgLCBjbGFzcyBQMTAxICwgY2xhc3MgUDEwMiAsIGNsYXNzIFAxMDMgLCBjbGFzcyBQMTA0ICwgY2xhc3MgUDEwNSAsIGNsYXNzIFAxMDYgLCBjbGFzcyBQMTA3ICwgY2xhc3MgUDEwOCAsIGNsYXNzIFAxMDkgLCBjbGFzcyBQMTEwICwgY2xhc3MgUDExMSAsIGNsYXNzIFAxMTIgLCBjbGFzcyBQMTEzICwgY2xhc3MgUDExNCAsIGNsYXNzIFAxMTUgLCBjbGFzcyBQMTE2ICwgY2xhc3MgUDExNyAsIGNsYXNzIFAxMTggLCBjbGFzcyBQMTE5ICwgY2xhc3MgUDEyMCAsIGNsYXNzIFAxMjEgLCBjbGFzcyBQMTIyICwgY2xhc3MgUDEyMyAsIGNsYXNzIFAxMjQgLCBjbGFzcyBQMTI1ICwgY2xhc3MgUDEyNiAsIGNsYXNzIFAxMjcgLCBjbGFzcyBQMTI4ICwgY2xhc3MgUDEyOSAsIGNsYXNzIFAxMzAgLCBjbGFzcyBQMTMxICwgY2xhc3MgUDEzMiAsIGNsYXNzIFAxMzMgLCBjbGFzcyBQMTM0ICwgY2xhc3MgUDEzNSAsIGNsYXNzIFAxMzYgLCBjbGFzcyBQMTM3ID4gc3RydWN0IHZlY3RvcjEzOCB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjEzODwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNz4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBQODggaXRlbTg4OyB0eXBlZGVmIFA4OSBpdGVtODk7IHR5cGVkZWYgUDkwIGl0ZW05MDsgdHlwZWRlZiBQOTEgaXRlbTkxOyB0eXBlZGVmIFA5MiBpdGVtOTI7IHR5cGVkZWYgUDkzIGl0ZW05MzsgdHlwZWRlZiBQOTQgaXRlbTk0OyB0eXBlZGVmIFA5NSBpdGVtOTU7IHR5cGVkZWYgUDk2IGl0ZW05NjsgdHlwZWRlZiBQOTcgaXRlbTk3OyB0eXBlZGVmIFA5OCBpdGVtOTg7IHR5cGVkZWYgUDk5IGl0ZW05OTsgdHlwZWRlZiBQMTAwIGl0ZW0xMDA7IHR5cGVkZWYgUDEwMSBpdGVtMTAxOyB0eXBlZGVmIFAxMDIgaXRlbTEwMjsgdHlwZWRlZiBQMTAzIGl0ZW0xMDM7IHR5cGVkZWYgUDEwNCBpdGVtMTA0OyB0eXBlZGVmIFAxMDUgaXRlbTEwNTsgdHlwZWRlZiBQMTA2IGl0ZW0xMDY7IHR5cGVkZWYgUDEwNyBpdGVtMTA3OyB0eXBlZGVmIFAxMDggaXRlbTEwODsgdHlwZWRlZiBQMTA5IGl0ZW0xMDk7IHR5cGVkZWYgUDExMCBpdGVtMTEwOyB0eXBlZGVmIFAxMTEgaXRlbTExMTsgdHlwZWRlZiBQMTEyIGl0ZW0xMTI7IHR5cGVkZWYgUDExMyBpdGVtMTEzOyB0eXBlZGVmIFAxMTQgaXRlbTExNDsgdHlwZWRlZiBQMTE1IGl0ZW0xMTU7IHR5cGVkZWYgUDExNiBpdGVtMTE2OyB0eXBlZGVmIFAxMTcgaXRlbTExNzsgdHlwZWRlZiBQMTE4IGl0ZW0xMTg7IHR5cGVkZWYgUDExOSBpdGVtMTE5OyB0eXBlZGVmIFAxMjAgaXRlbTEyMDsgdHlwZWRlZiBQMTIxIGl0ZW0xMjE7IHR5cGVkZWYgUDEyMiBpdGVtMTIyOyB0eXBlZGVmIFAxMjMgaXRlbTEyMzsgdHlwZWRlZiBQMTI0IGl0ZW0xMjQ7IHR5cGVkZWYgUDEyNSBpdGVtMTI1OyB0eXBlZGVmIFAxMjYgaXRlbTEyNjsgdHlwZWRlZiBQMTI3IGl0ZW0xMjc7IHR5cGVkZWYgUDEyOCBpdGVtMTI4OyB0eXBlZGVmIFAxMjkgaXRlbTEyOTsgdHlwZWRlZiBQMTMwIGl0ZW0xMzA7IHR5cGVkZWYgUDEzMSBpdGVtMTMxOyB0eXBlZGVmIFAxMzIgaXRlbTEzMjsgdHlwZWRlZiBQMTMzIGl0ZW0xMzM7IHR5cGVkZWYgUDEzNCBpdGVtMTM0OyB0eXBlZGVmIFAxMzUgaXRlbTEzNTsgdHlwZWRlZiBQMTM2IGl0ZW0xMzY7IHR5cGVkZWYgUDEzNyBpdGVtMTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ5OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBQOTMgLCBjbGFzcyBQOTQgLCBjbGFzcyBQOTUgLCBjbGFzcyBQOTYgLCBjbGFzcyBQOTcgLCBjbGFzcyBQOTggLCBjbGFzcyBQOTkgLCBjbGFzcyBQMTAwICwgY2xhc3MgUDEwMSAsIGNsYXNzIFAxMDIgLCBjbGFzcyBQMTAzICwgY2xhc3MgUDEwNCAsIGNsYXNzIFAxMDUgLCBjbGFzcyBQMTA2ICwgY2xhc3MgUDEwNyAsIGNsYXNzIFAxMDggLCBjbGFzcyBQMTA5ICwgY2xhc3MgUDExMCAsIGNsYXNzIFAxMTEgLCBjbGFzcyBQMTEyICwgY2xhc3MgUDExMyAsIGNsYXNzIFAxMTQgLCBjbGFzcyBQMTE1ICwgY2xhc3MgUDExNiAsIGNsYXNzIFAxMTcgLCBjbGFzcyBQMTE4ICwgY2xhc3MgUDExOSAsIGNsYXNzIFAxMjAgLCBjbGFzcyBQMTIxICwgY2xhc3MgUDEyMiAsIGNsYXNzIFAxMjMgLCBjbGFzcyBQMTI0ICwgY2xhc3MgUDEyNSAsIGNsYXNzIFAxMjYgLCBjbGFzcyBQMTI3ICwgY2xhc3MgUDEyOCAsIGNsYXNzIFAxMjkgLCBjbGFzcyBQMTMwICwgY2xhc3MgUDEzMSAsIGNsYXNzIFAxMzIgLCBjbGFzcyBQMTMzICwgY2xhc3MgUDEzNCAsIGNsYXNzIFAxMzUgLCBjbGFzcyBQMTM2ICwgY2xhc3MgUDEzNyAsIGNsYXNzIFAxMzggPiBzdHJ1Y3QgdmVjdG9yMTM5IHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yMTM5PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFA5MiAsIFA5MyAsIFA5NCAsIFA5NSAsIFA5NiAsIFA5NyAsIFA5OCAsIFA5OSAsIFAxMDAgLCBQMTAxICwgUDEwMiAsIFAxMDMgLCBQMTA0ICwgUDEwNSAsIFAxMDYgLCBQMTA3ICwgUDEwOCAsIFAxMDkgLCBQMTEwICwgUDExMSAsIFAxMTIgLCBQMTEzICwgUDExNCAsIFAxMTUgLCBQMTE2ICwgUDExNyAsIFAxMTggLCBQMTE5ICwgUDEyMCAsIFAxMjEgLCBQMTIyICwgUDEyMyAsIFAxMjQgLCBQMTI1ICwgUDEyNiAsIFAxMjcgLCBQMTI4ICwgUDEyOSAsIFAxMzAgLCBQMTMxICwgUDEzMiAsIFAxMzMgLCBQMTM0ICwgUDEzNSAsIFAxMzYgLCBQMTM3ICwgUDEzOD4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBQODggaXRlbTg4OyB0eXBlZGVmIFA4OSBpdGVtODk7IHR5cGVkZWYgUDkwIGl0ZW05MDsgdHlwZWRlZiBQOTEgaXRlbTkxOyB0eXBlZGVmIFA5MiBpdGVtOTI7IHR5cGVkZWYgUDkzIGl0ZW05MzsgdHlwZWRlZiBQOTQgaXRlbTk0OyB0eXBlZGVmIFA5NSBpdGVtOTU7IHR5cGVkZWYgUDk2IGl0ZW05NjsgdHlwZWRlZiBQOTcgaXRlbTk3OyB0eXBlZGVmIFA5OCBpdGVtOTg7IHR5cGVkZWYgUDk5IGl0ZW05OTsgdHlwZWRlZiBQMTAwIGl0ZW0xMDA7IHR5cGVkZWYgUDEwMSBpdGVtMTAxOyB0eXBlZGVmIFAxMDIgaXRlbTEwMjsgdHlwZWRlZiBQMTAzIGl0ZW0xMDM7IHR5cGVkZWYgUDEwNCBpdGVtMTA0OyB0eXBlZGVmIFAxMDUgaXRlbTEwNTsgdHlwZWRlZiBQMTA2IGl0ZW0xMDY7IHR5cGVkZWYgUDEwNyBpdGVtMTA3OyB0eXBlZGVmIFAxMDggaXRlbTEwODsgdHlwZWRlZiBQMTA5IGl0ZW0xMDk7IHR5cGVkZWYgUDExMCBpdGVtMTEwOyB0eXBlZGVmIFAxMTEgaXRlbTExMTsgdHlwZWRlZiBQMTEyIGl0ZW0xMTI7IHR5cGVkZWYgUDExMyBpdGVtMTEzOyB0eXBlZGVmIFAxMTQgaXRlbTExNDsgdHlwZWRlZiBQMTE1IGl0ZW0xMTU7IHR5cGVkZWYgUDExNiBpdGVtMTE2OyB0eXBlZGVmIFAxMTcgaXRlbTExNzsgdHlwZWRlZiBQMTE4IGl0ZW0xMTg7IHR5cGVkZWYgUDExOSBpdGVtMTE5OyB0eXBlZGVmIFAxMjAgaXRlbTEyMDsgdHlwZWRlZiBQMTIxIGl0ZW0xMjE7IHR5cGVkZWYgUDEyMiBpdGVtMTIyOyB0eXBlZGVmIFAxMjMgaXRlbTEyMzsgdHlwZWRlZiBQMTI0IGl0ZW0xMjQ7IHR5cGVkZWYgUDEyNSBpdGVtMTI1OyB0eXBlZGVmIFAxMjYgaXRlbTEyNjsgdHlwZWRlZiBQMTI3IGl0ZW0xMjc7IHR5cGVkZWYgUDEyOCBpdGVtMTI4OyB0eXBlZGVmIFAxMjkgaXRlbTEyOTsgdHlwZWRlZiBQMTMwIGl0ZW0xMzA7IHR5cGVkZWYgUDEzMSBpdGVtMTMxOyB0eXBlZGVmIFAxMzIgaXRlbTEzMjsgdHlwZWRlZiBQMTMzIGl0ZW0xMzM7IHR5cGVkZWYgUDEzNCBpdGVtMTM0OyB0eXBlZGVmIFAxMzUgaXRlbTEzNTsgdHlwZWRlZiBQMTM2IGl0ZW0xMzY7IHR5cGVkZWYgUDEzNyBpdGVtMTM3OyB0eXBlZGVmIFAxMzggaXRlbTEzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0OTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ICwgY2xhc3MgUDk2ICwgY2xhc3MgUDk3ICwgY2xhc3MgUDk4ICwgY2xhc3MgUDk5ICwgY2xhc3MgUDEwMCAsIGNsYXNzIFAxMDEgLCBjbGFzcyBQMTAyICwgY2xhc3MgUDEwMyAsIGNsYXNzIFAxMDQgLCBjbGFzcyBQMTA1ICwgY2xhc3MgUDEwNiAsIGNsYXNzIFAxMDcgLCBjbGFzcyBQMTA4ICwgY2xhc3MgUDEwOSAsIGNsYXNzIFAxMTAgLCBjbGFzcyBQMTExICwgY2xhc3MgUDExMiAsIGNsYXNzIFAxMTMgLCBjbGFzcyBQMTE0ICwgY2xhc3MgUDExNSAsIGNsYXNzIFAxMTYgLCBjbGFzcyBQMTE3ICwgY2xhc3MgUDExOCAsIGNsYXNzIFAxMTkgLCBjbGFzcyBQMTIwICwgY2xhc3MgUDEyMSAsIGNsYXNzIFAxMjIgLCBjbGFzcyBQMTIzICwgY2xhc3MgUDEyNCAsIGNsYXNzIFAxMjUgLCBjbGFzcyBQMTI2ICwgY2xhc3MgUDEyNyAsIGNsYXNzIFAxMjggLCBjbGFzcyBQMTI5ICwgY2xhc3MgUDEzMCAsIGNsYXNzIFAxMzEgLCBjbGFzcyBQMTMyICwgY2xhc3MgUDEzMyAsIGNsYXNzIFAxMzQgLCBjbGFzcyBQMTM1ICwgY2xhc3MgUDEzNiAsIGNsYXNzIFAxMzcgLCBjbGFzcyBQMTM4ICwgY2xhc3MgUDEzOSA+IHN0cnVjdCB2ZWN0b3IxNDAgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3IxNDA8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1ICwgUDk2ICwgUDk3ICwgUDk4ICwgUDk5ICwgUDEwMCAsIFAxMDEgLCBQMTAyICwgUDEwMyAsIFAxMDQgLCBQMTA1ICwgUDEwNiAsIFAxMDcgLCBQMTA4ICwgUDEwOSAsIFAxMTAgLCBQMTExICwgUDExMiAsIFAxMTMgLCBQMTE0ICwgUDExNSAsIFAxMTYgLCBQMTE3ICwgUDExOCAsIFAxMTkgLCBQMTIwICwgUDEyMSAsIFAxMjIgLCBQMTIzICwgUDEyNCAsIFAxMjUgLCBQMTI2ICwgUDEyNyAsIFAxMjggLCBQMTI5ICwgUDEzMCAsIFAxMzEgLCBQMTMyICwgUDEzMyAsIFAxMzQgLCBQMTM1ICwgUDEzNiAsIFAxMzcgLCBQMTM4ICwgUDEzOT4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBQODggaXRlbTg4OyB0eXBlZGVmIFA4OSBpdGVtODk7IHR5cGVkZWYgUDkwIGl0ZW05MDsgdHlwZWRlZiBQOTEgaXRlbTkxOyB0eXBlZGVmIFA5MiBpdGVtOTI7IHR5cGVkZWYgUDkzIGl0ZW05MzsgdHlwZWRlZiBQOTQgaXRlbTk0OyB0eXBlZGVmIFA5NSBpdGVtOTU7IHR5cGVkZWYgUDk2IGl0ZW05NjsgdHlwZWRlZiBQOTcgaXRlbTk3OyB0eXBlZGVmIFA5OCBpdGVtOTg7IHR5cGVkZWYgUDk5IGl0ZW05OTsgdHlwZWRlZiBQMTAwIGl0ZW0xMDA7IHR5cGVkZWYgUDEwMSBpdGVtMTAxOyB0eXBlZGVmIFAxMDIgaXRlbTEwMjsgdHlwZWRlZiBQMTAzIGl0ZW0xMDM7IHR5cGVkZWYgUDEwNCBpdGVtMTA0OyB0eXBlZGVmIFAxMDUgaXRlbTEwNTsgdHlwZWRlZiBQMTA2IGl0ZW0xMDY7IHR5cGVkZWYgUDEwNyBpdGVtMTA3OyB0eXBlZGVmIFAxMDggaXRlbTEwODsgdHlwZWRlZiBQMTA5IGl0ZW0xMDk7IHR5cGVkZWYgUDExMCBpdGVtMTEwOyB0eXBlZGVmIFAxMTEgaXRlbTExMTsgdHlwZWRlZiBQMTEyIGl0ZW0xMTI7IHR5cGVkZWYgUDExMyBpdGVtMTEzOyB0eXBlZGVmIFAxMTQgaXRlbTExNDsgdHlwZWRlZiBQMTE1IGl0ZW0xMTU7IHR5cGVkZWYgUDExNiBpdGVtMTE2OyB0eXBlZGVmIFAxMTcgaXRlbTExNzsgdHlwZWRlZiBQMTE4IGl0ZW0xMTg7IHR5cGVkZWYgUDExOSBpdGVtMTE5OyB0eXBlZGVmIFAxMjAgaXRlbTEyMDsgdHlwZWRlZiBQMTIxIGl0ZW0xMjE7IHR5cGVkZWYgUDEyMiBpdGVtMTIyOyB0eXBlZGVmIFAxMjMgaXRlbTEyMzsgdHlwZWRlZiBQMTI0IGl0ZW0xMjQ7IHR5cGVkZWYgUDEyNSBpdGVtMTI1OyB0eXBlZGVmIFAxMjYgaXRlbTEyNjsgdHlwZWRlZiBQMTI3IGl0ZW0xMjc7IHR5cGVkZWYgUDEyOCBpdGVtMTI4OyB0eXBlZGVmIFAxMjkgaXRlbTEyOTsgdHlwZWRlZiBQMTMwIGl0ZW0xMzA7IHR5cGVkZWYgUDEzMSBpdGVtMTMxOyB0eXBlZGVmIFAxMzIgaXRlbTEzMjsgdHlwZWRlZiBQMTMzIGl0ZW0xMzM7IHR5cGVkZWYgUDEzNCBpdGVtMTM0OyB0eXBlZGVmIFAxMzUgaXRlbTEzNTsgdHlwZWRlZiBQMTM2IGl0ZW0xMzY7IHR5cGVkZWYgUDEzNyBpdGVtMTM3OyB0eXBlZGVmIFAxMzggaXRlbTEzODsgdHlwZWRlZiBQMTM5IGl0ZW0xMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDk7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSAsIGNsYXNzIFA4NiAsIGNsYXNzIFA4NyAsIGNsYXNzIFA4OCAsIGNsYXNzIFA4OSAsIGNsYXNzIFA5MCAsIGNsYXNzIFA5MSAsIGNsYXNzIFA5MiAsIGNsYXNzIFA5MyAsIGNsYXNzIFA5NCAsIGNsYXNzIFA5NSAsIGNsYXNzIFA5NiAsIGNsYXNzIFA5NyAsIGNsYXNzIFA5OCAsIGNsYXNzIFA5OSAsIGNsYXNzIFAxMDAgLCBjbGFzcyBQMTAxICwgY2xhc3MgUDEwMiAsIGNsYXNzIFAxMDMgLCBjbGFzcyBQMTA0ICwgY2xhc3MgUDEwNSAsIGNsYXNzIFAxMDYgLCBjbGFzcyBQMTA3ICwgY2xhc3MgUDEwOCAsIGNsYXNzIFAxMDkgLCBjbGFzcyBQMTEwICwgY2xhc3MgUDExMSAsIGNsYXNzIFAxMTIgLCBjbGFzcyBQMTEzICwgY2xhc3MgUDExNCAsIGNsYXNzIFAxMTUgLCBjbGFzcyBQMTE2ICwgY2xhc3MgUDExNyAsIGNsYXNzIFAxMTggLCBjbGFzcyBQMTE5ICwgY2xhc3MgUDEyMCAsIGNsYXNzIFAxMjEgLCBjbGFzcyBQMTIyICwgY2xhc3MgUDEyMyAsIGNsYXNzIFAxMjQgLCBjbGFzcyBQMTI1ICwgY2xhc3MgUDEyNiAsIGNsYXNzIFAxMjcgLCBjbGFzcyBQMTI4ICwgY2xhc3MgUDEyOSAsIGNsYXNzIFAxMzAgLCBjbGFzcyBQMTMxICwgY2xhc3MgUDEzMiAsIGNsYXNzIFAxMzMgLCBjbGFzcyBQMTM0ICwgY2xhc3MgUDEzNSAsIGNsYXNzIFAxMzYgLCBjbGFzcyBQMTM3ICwgY2xhc3MgUDEzOCAsIGNsYXNzIFAxMzkgLCBjbGFzcyBQMTQwID4gc3RydWN0IHZlY3RvcjE0MSB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjE0MTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MD4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBQODggaXRlbTg4OyB0eXBlZGVmIFA4OSBpdGVtODk7IHR5cGVkZWYgUDkwIGl0ZW05MDsgdHlwZWRlZiBQOTEgaXRlbTkxOyB0eXBlZGVmIFA5MiBpdGVtOTI7IHR5cGVkZWYgUDkzIGl0ZW05MzsgdHlwZWRlZiBQOTQgaXRlbTk0OyB0eXBlZGVmIFA5NSBpdGVtOTU7IHR5cGVkZWYgUDk2IGl0ZW05NjsgdHlwZWRlZiBQOTcgaXRlbTk3OyB0eXBlZGVmIFA5OCBpdGVtOTg7IHR5cGVkZWYgUDk5IGl0ZW05OTsgdHlwZWRlZiBQMTAwIGl0ZW0xMDA7IHR5cGVkZWYgUDEwMSBpdGVtMTAxOyB0eXBlZGVmIFAxMDIgaXRlbTEwMjsgdHlwZWRlZiBQMTAzIGl0ZW0xMDM7IHR5cGVkZWYgUDEwNCBpdGVtMTA0OyB0eXBlZGVmIFAxMDUgaXRlbTEwNTsgdHlwZWRlZiBQMTA2IGl0ZW0xMDY7IHR5cGVkZWYgUDEwNyBpdGVtMTA3OyB0eXBlZGVmIFAxMDggaXRlbTEwODsgdHlwZWRlZiBQMTA5IGl0ZW0xMDk7IHR5cGVkZWYgUDExMCBpdGVtMTEwOyB0eXBlZGVmIFAxMTEgaXRlbTExMTsgdHlwZWRlZiBQMTEyIGl0ZW0xMTI7IHR5cGVkZWYgUDExMyBpdGVtMTEzOyB0eXBlZGVmIFAxMTQgaXRlbTExNDsgdHlwZWRlZiBQMTE1IGl0ZW0xMTU7IHR5cGVkZWYgUDExNiBpdGVtMTE2OyB0eXBlZGVmIFAxMTcgaXRlbTExNzsgdHlwZWRlZiBQMTE4IGl0ZW0xMTg7IHR5cGVkZWYgUDExOSBpdGVtMTE5OyB0eXBlZGVmIFAxMjAgaXRlbTEyMDsgdHlwZWRlZiBQMTIxIGl0ZW0xMjE7IHR5cGVkZWYgUDEyMiBpdGVtMTIyOyB0eXBlZGVmIFAxMjMgaXRlbTEyMzsgdHlwZWRlZiBQMTI0IGl0ZW0xMjQ7IHR5cGVkZWYgUDEyNSBpdGVtMTI1OyB0eXBlZGVmIFAxMjYgaXRlbTEyNjsgdHlwZWRlZiBQMTI3IGl0ZW0xMjc7IHR5cGVkZWYgUDEyOCBpdGVtMTI4OyB0eXBlZGVmIFAxMjkgaXRlbTEyOTsgdHlwZWRlZiBQMTMwIGl0ZW0xMzA7IHR5cGVkZWYgUDEzMSBpdGVtMTMxOyB0eXBlZGVmIFAxMzIgaXRlbTEzMjsgdHlwZWRlZiBQMTMzIGl0ZW0xMzM7IHR5cGVkZWYgUDEzNCBpdGVtMTM0OyB0eXBlZGVmIFAxMzUgaXRlbTEzNTsgdHlwZWRlZiBQMTM2IGl0ZW0xMzY7IHR5cGVkZWYgUDEzNyBpdGVtMTM3OyB0eXBlZGVmIFAxMzggaXRlbTEzODsgdHlwZWRlZiBQMTM5IGl0ZW0xMzk7IHR5cGVkZWYgUDE0MCBpdGVtMTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ5OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBQOTMgLCBjbGFzcyBQOTQgLCBjbGFzcyBQOTUgLCBjbGFzcyBQOTYgLCBjbGFzcyBQOTcgLCBjbGFzcyBQOTggLCBjbGFzcyBQOTkgLCBjbGFzcyBQMTAwICwgY2xhc3MgUDEwMSAsIGNsYXNzIFAxMDIgLCBjbGFzcyBQMTAzICwgY2xhc3MgUDEwNCAsIGNsYXNzIFAxMDUgLCBjbGFzcyBQMTA2ICwgY2xhc3MgUDEwNyAsIGNsYXNzIFAxMDggLCBjbGFzcyBQMTA5ICwgY2xhc3MgUDExMCAsIGNsYXNzIFAxMTEgLCBjbGFzcyBQMTEyICwgY2xhc3MgUDExMyAsIGNsYXNzIFAxMTQgLCBjbGFzcyBQMTE1ICwgY2xhc3MgUDExNiAsIGNsYXNzIFAxMTcgLCBjbGFzcyBQMTE4ICwgY2xhc3MgUDExOSAsIGNsYXNzIFAxMjAgLCBjbGFzcyBQMTIxICwgY2xhc3MgUDEyMiAsIGNsYXNzIFAxMjMgLCBjbGFzcyBQMTI0ICwgY2xhc3MgUDEyNSAsIGNsYXNzIFAxMjYgLCBjbGFzcyBQMTI3ICwgY2xhc3MgUDEyOCAsIGNsYXNzIFAxMjkgLCBjbGFzcyBQMTMwICwgY2xhc3MgUDEzMSAsIGNsYXNzIFAxMzIgLCBjbGFzcyBQMTMzICwgY2xhc3MgUDEzNCAsIGNsYXNzIFAxMzUgLCBjbGFzcyBQMTM2ICwgY2xhc3MgUDEzNyAsIGNsYXNzIFAxMzggLCBjbGFzcyBQMTM5ICwgY2xhc3MgUDE0MCAsIGNsYXNzIFAxNDEgPiBzdHJ1Y3QgdmVjdG9yMTQyIHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yMTQyPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFA5MiAsIFA5MyAsIFA5NCAsIFA5NSAsIFA5NiAsIFA5NyAsIFA5OCAsIFA5OSAsIFAxMDAgLCBQMTAxICwgUDEwMiAsIFAxMDMgLCBQMTA0ICwgUDEwNSAsIFAxMDYgLCBQMTA3ICwgUDEwOCAsIFAxMDkgLCBQMTEwICwgUDExMSAsIFAxMTIgLCBQMTEzICwgUDExNCAsIFAxMTUgLCBQMTE2ICwgUDExNyAsIFAxMTggLCBQMTE5ICwgUDEyMCAsIFAxMjEgLCBQMTIyICwgUDEyMyAsIFAxMjQgLCBQMTI1ICwgUDEyNiAsIFAxMjcgLCBQMTI4ICwgUDEyOSAsIFAxMzAgLCBQMTMxICwgUDEzMiAsIFAxMzMgLCBQMTM0ICwgUDEzNSAsIFAxMzYgLCBQMTM3ICwgUDEzOCAsIFAxMzkgLCBQMTQwICwgUDE0MT4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBQODggaXRlbTg4OyB0eXBlZGVmIFA4OSBpdGVtODk7IHR5cGVkZWYgUDkwIGl0ZW05MDsgdHlwZWRlZiBQOTEgaXRlbTkxOyB0eXBlZGVmIFA5MiBpdGVtOTI7IHR5cGVkZWYgUDkzIGl0ZW05MzsgdHlwZWRlZiBQOTQgaXRlbTk0OyB0eXBlZGVmIFA5NSBpdGVtOTU7IHR5cGVkZWYgUDk2IGl0ZW05NjsgdHlwZWRlZiBQOTcgaXRlbTk3OyB0eXBlZGVmIFA5OCBpdGVtOTg7IHR5cGVkZWYgUDk5IGl0ZW05OTsgdHlwZWRlZiBQMTAwIGl0ZW0xMDA7IHR5cGVkZWYgUDEwMSBpdGVtMTAxOyB0eXBlZGVmIFAxMDIgaXRlbTEwMjsgdHlwZWRlZiBQMTAzIGl0ZW0xMDM7IHR5cGVkZWYgUDEwNCBpdGVtMTA0OyB0eXBlZGVmIFAxMDUgaXRlbTEwNTsgdHlwZWRlZiBQMTA2IGl0ZW0xMDY7IHR5cGVkZWYgUDEwNyBpdGVtMTA3OyB0eXBlZGVmIFAxMDggaXRlbTEwODsgdHlwZWRlZiBQMTA5IGl0ZW0xMDk7IHR5cGVkZWYgUDExMCBpdGVtMTEwOyB0eXBlZGVmIFAxMTEgaXRlbTExMTsgdHlwZWRlZiBQMTEyIGl0ZW0xMTI7IHR5cGVkZWYgUDExMyBpdGVtMTEzOyB0eXBlZGVmIFAxMTQgaXRlbTExNDsgdHlwZWRlZiBQMTE1IGl0ZW0xMTU7IHR5cGVkZWYgUDExNiBpdGVtMTE2OyB0eXBlZGVmIFAxMTcgaXRlbTExNzsgdHlwZWRlZiBQMTE4IGl0ZW0xMTg7IHR5cGVkZWYgUDExOSBpdGVtMTE5OyB0eXBlZGVmIFAxMjAgaXRlbTEyMDsgdHlwZWRlZiBQMTIxIGl0ZW0xMjE7IHR5cGVkZWYgUDEyMiBpdGVtMTIyOyB0eXBlZGVmIFAxMjMgaXRlbTEyMzsgdHlwZWRlZiBQMTI0IGl0ZW0xMjQ7IHR5cGVkZWYgUDEyNSBpdGVtMTI1OyB0eXBlZGVmIFAxMjYgaXRlbTEyNjsgdHlwZWRlZiBQMTI3IGl0ZW0xMjc7IHR5cGVkZWYgUDEyOCBpdGVtMTI4OyB0eXBlZGVmIFAxMjkgaXRlbTEyOTsgdHlwZWRlZiBQMTMwIGl0ZW0xMzA7IHR5cGVkZWYgUDEzMSBpdGVtMTMxOyB0eXBlZGVmIFAxMzIgaXRlbTEzMjsgdHlwZWRlZiBQMTMzIGl0ZW0xMzM7IHR5cGVkZWYgUDEzNCBpdGVtMTM0OyB0eXBlZGVmIFAxMzUgaXRlbTEzNTsgdHlwZWRlZiBQMTM2IGl0ZW0xMzY7IHR5cGVkZWYgUDEzNyBpdGVtMTM3OyB0eXBlZGVmIFAxMzggaXRlbTEzODsgdHlwZWRlZiBQMTM5IGl0ZW0xMzk7IHR5cGVkZWYgUDE0MCBpdGVtMTQwOyB0eXBlZGVmIFAxNDEgaXRlbTE0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0OTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ICwgY2xhc3MgUDk2ICwgY2xhc3MgUDk3ICwgY2xhc3MgUDk4ICwgY2xhc3MgUDk5ICwgY2xhc3MgUDEwMCAsIGNsYXNzIFAxMDEgLCBjbGFzcyBQMTAyICwgY2xhc3MgUDEwMyAsIGNsYXNzIFAxMDQgLCBjbGFzcyBQMTA1ICwgY2xhc3MgUDEwNiAsIGNsYXNzIFAxMDcgLCBjbGFzcyBQMTA4ICwgY2xhc3MgUDEwOSAsIGNsYXNzIFAxMTAgLCBjbGFzcyBQMTExICwgY2xhc3MgUDExMiAsIGNsYXNzIFAxMTMgLCBjbGFzcyBQMTE0ICwgY2xhc3MgUDExNSAsIGNsYXNzIFAxMTYgLCBjbGFzcyBQMTE3ICwgY2xhc3MgUDExOCAsIGNsYXNzIFAxMTkgLCBjbGFzcyBQMTIwICwgY2xhc3MgUDEyMSAsIGNsYXNzIFAxMjIgLCBjbGFzcyBQMTIzICwgY2xhc3MgUDEyNCAsIGNsYXNzIFAxMjUgLCBjbGFzcyBQMTI2ICwgY2xhc3MgUDEyNyAsIGNsYXNzIFAxMjggLCBjbGFzcyBQMTI5ICwgY2xhc3MgUDEzMCAsIGNsYXNzIFAxMzEgLCBjbGFzcyBQMTMyICwgY2xhc3MgUDEzMyAsIGNsYXNzIFAxMzQgLCBjbGFzcyBQMTM1ICwgY2xhc3MgUDEzNiAsIGNsYXNzIFAxMzcgLCBjbGFzcyBQMTM4ICwgY2xhc3MgUDEzOSAsIGNsYXNzIFAxNDAgLCBjbGFzcyBQMTQxICwgY2xhc3MgUDE0MiA+IHN0cnVjdCB2ZWN0b3IxNDMgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3IxNDM8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1ICwgUDk2ICwgUDk3ICwgUDk4ICwgUDk5ICwgUDEwMCAsIFAxMDEgLCBQMTAyICwgUDEwMyAsIFAxMDQgLCBQMTA1ICwgUDEwNiAsIFAxMDcgLCBQMTA4ICwgUDEwOSAsIFAxMTAgLCBQMTExICwgUDExMiAsIFAxMTMgLCBQMTE0ICwgUDExNSAsIFAxMTYgLCBQMTE3ICwgUDExOCAsIFAxMTkgLCBQMTIwICwgUDEyMSAsIFAxMjIgLCBQMTIzICwgUDEyNCAsIFAxMjUgLCBQMTI2ICwgUDEyNyAsIFAxMjggLCBQMTI5ICwgUDEzMCAsIFAxMzEgLCBQMTMyICwgUDEzMyAsIFAxMzQgLCBQMTM1ICwgUDEzNiAsIFAxMzcgLCBQMTM4ICwgUDEzOSAsIFAxNDAgLCBQMTQxICwgUDE0Mj4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBQODggaXRlbTg4OyB0eXBlZGVmIFA4OSBpdGVtODk7IHR5cGVkZWYgUDkwIGl0ZW05MDsgdHlwZWRlZiBQOTEgaXRlbTkxOyB0eXBlZGVmIFA5MiBpdGVtOTI7IHR5cGVkZWYgUDkzIGl0ZW05MzsgdHlwZWRlZiBQOTQgaXRlbTk0OyB0eXBlZGVmIFA5NSBpdGVtOTU7IHR5cGVkZWYgUDk2IGl0ZW05NjsgdHlwZWRlZiBQOTcgaXRlbTk3OyB0eXBlZGVmIFA5OCBpdGVtOTg7IHR5cGVkZWYgUDk5IGl0ZW05OTsgdHlwZWRlZiBQMTAwIGl0ZW0xMDA7IHR5cGVkZWYgUDEwMSBpdGVtMTAxOyB0eXBlZGVmIFAxMDIgaXRlbTEwMjsgdHlwZWRlZiBQMTAzIGl0ZW0xMDM7IHR5cGVkZWYgUDEwNCBpdGVtMTA0OyB0eXBlZGVmIFAxMDUgaXRlbTEwNTsgdHlwZWRlZiBQMTA2IGl0ZW0xMDY7IHR5cGVkZWYgUDEwNyBpdGVtMTA3OyB0eXBlZGVmIFAxMDggaXRlbTEwODsgdHlwZWRlZiBQMTA5IGl0ZW0xMDk7IHR5cGVkZWYgUDExMCBpdGVtMTEwOyB0eXBlZGVmIFAxMTEgaXRlbTExMTsgdHlwZWRlZiBQMTEyIGl0ZW0xMTI7IHR5cGVkZWYgUDExMyBpdGVtMTEzOyB0eXBlZGVmIFAxMTQgaXRlbTExNDsgdHlwZWRlZiBQMTE1IGl0ZW0xMTU7IHR5cGVkZWYgUDExNiBpdGVtMTE2OyB0eXBlZGVmIFAxMTcgaXRlbTExNzsgdHlwZWRlZiBQMTE4IGl0ZW0xMTg7IHR5cGVkZWYgUDExOSBpdGVtMTE5OyB0eXBlZGVmIFAxMjAgaXRlbTEyMDsgdHlwZWRlZiBQMTIxIGl0ZW0xMjE7IHR5cGVkZWYgUDEyMiBpdGVtMTIyOyB0eXBlZGVmIFAxMjMgaXRlbTEyMzsgdHlwZWRlZiBQMTI0IGl0ZW0xMjQ7IHR5cGVkZWYgUDEyNSBpdGVtMTI1OyB0eXBlZGVmIFAxMjYgaXRlbTEyNjsgdHlwZWRlZiBQMTI3IGl0ZW0xMjc7IHR5cGVkZWYgUDEyOCBpdGVtMTI4OyB0eXBlZGVmIFAxMjkgaXRlbTEyOTsgdHlwZWRlZiBQMTMwIGl0ZW0xMzA7IHR5cGVkZWYgUDEzMSBpdGVtMTMxOyB0eXBlZGVmIFAxMzIgaXRlbTEzMjsgdHlwZWRlZiBQMTMzIGl0ZW0xMzM7IHR5cGVkZWYgUDEzNCBpdGVtMTM0OyB0eXBlZGVmIFAxMzUgaXRlbTEzNTsgdHlwZWRlZiBQMTM2IGl0ZW0xMzY7IHR5cGVkZWYgUDEzNyBpdGVtMTM3OyB0eXBlZGVmIFAxMzggaXRlbTEzODsgdHlwZWRlZiBQMTM5IGl0ZW0xMzk7IHR5cGVkZWYgUDE0MCBpdGVtMTQwOyB0eXBlZGVmIFAxNDEgaXRlbTE0MTsgdHlwZWRlZiBQMTQyIGl0ZW0xNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDk7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSAsIGNsYXNzIFA4NiAsIGNsYXNzIFA4NyAsIGNsYXNzIFA4OCAsIGNsYXNzIFA4OSAsIGNsYXNzIFA5MCAsIGNsYXNzIFA5MSAsIGNsYXNzIFA5MiAsIGNsYXNzIFA5MyAsIGNsYXNzIFA5NCAsIGNsYXNzIFA5NSAsIGNsYXNzIFA5NiAsIGNsYXNzIFA5NyAsIGNsYXNzIFA5OCAsIGNsYXNzIFA5OSAsIGNsYXNzIFAxMDAgLCBjbGFzcyBQMTAxICwgY2xhc3MgUDEwMiAsIGNsYXNzIFAxMDMgLCBjbGFzcyBQMTA0ICwgY2xhc3MgUDEwNSAsIGNsYXNzIFAxMDYgLCBjbGFzcyBQMTA3ICwgY2xhc3MgUDEwOCAsIGNsYXNzIFAxMDkgLCBjbGFzcyBQMTEwICwgY2xhc3MgUDExMSAsIGNsYXNzIFAxMTIgLCBjbGFzcyBQMTEzICwgY2xhc3MgUDExNCAsIGNsYXNzIFAxMTUgLCBjbGFzcyBQMTE2ICwgY2xhc3MgUDExNyAsIGNsYXNzIFAxMTggLCBjbGFzcyBQMTE5ICwgY2xhc3MgUDEyMCAsIGNsYXNzIFAxMjEgLCBjbGFzcyBQMTIyICwgY2xhc3MgUDEyMyAsIGNsYXNzIFAxMjQgLCBjbGFzcyBQMTI1ICwgY2xhc3MgUDEyNiAsIGNsYXNzIFAxMjcgLCBjbGFzcyBQMTI4ICwgY2xhc3MgUDEyOSAsIGNsYXNzIFAxMzAgLCBjbGFzcyBQMTMxICwgY2xhc3MgUDEzMiAsIGNsYXNzIFAxMzMgLCBjbGFzcyBQMTM0ICwgY2xhc3MgUDEzNSAsIGNsYXNzIFAxMzYgLCBjbGFzcyBQMTM3ICwgY2xhc3MgUDEzOCAsIGNsYXNzIFAxMzkgLCBjbGFzcyBQMTQwICwgY2xhc3MgUDE0MSAsIGNsYXNzIFAxNDIgLCBjbGFzcyBQMTQzID4gc3RydWN0IHZlY3RvcjE0NCB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjE0NDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MCAsIFAxNDEgLCBQMTQyICwgUDE0Mz4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBQODggaXRlbTg4OyB0eXBlZGVmIFA4OSBpdGVtODk7IHR5cGVkZWYgUDkwIGl0ZW05MDsgdHlwZWRlZiBQOTEgaXRlbTkxOyB0eXBlZGVmIFA5MiBpdGVtOTI7IHR5cGVkZWYgUDkzIGl0ZW05MzsgdHlwZWRlZiBQOTQgaXRlbTk0OyB0eXBlZGVmIFA5NSBpdGVtOTU7IHR5cGVkZWYgUDk2IGl0ZW05NjsgdHlwZWRlZiBQOTcgaXRlbTk3OyB0eXBlZGVmIFA5OCBpdGVtOTg7IHR5cGVkZWYgUDk5IGl0ZW05OTsgdHlwZWRlZiBQMTAwIGl0ZW0xMDA7IHR5cGVkZWYgUDEwMSBpdGVtMTAxOyB0eXBlZGVmIFAxMDIgaXRlbTEwMjsgdHlwZWRlZiBQMTAzIGl0ZW0xMDM7IHR5cGVkZWYgUDEwNCBpdGVtMTA0OyB0eXBlZGVmIFAxMDUgaXRlbTEwNTsgdHlwZWRlZiBQMTA2IGl0ZW0xMDY7IHR5cGVkZWYgUDEwNyBpdGVtMTA3OyB0eXBlZGVmIFAxMDggaXRlbTEwODsgdHlwZWRlZiBQMTA5IGl0ZW0xMDk7IHR5cGVkZWYgUDExMCBpdGVtMTEwOyB0eXBlZGVmIFAxMTEgaXRlbTExMTsgdHlwZWRlZiBQMTEyIGl0ZW0xMTI7IHR5cGVkZWYgUDExMyBpdGVtMTEzOyB0eXBlZGVmIFAxMTQgaXRlbTExNDsgdHlwZWRlZiBQMTE1IGl0ZW0xMTU7IHR5cGVkZWYgUDExNiBpdGVtMTE2OyB0eXBlZGVmIFAxMTcgaXRlbTExNzsgdHlwZWRlZiBQMTE4IGl0ZW0xMTg7IHR5cGVkZWYgUDExOSBpdGVtMTE5OyB0eXBlZGVmIFAxMjAgaXRlbTEyMDsgdHlwZWRlZiBQMTIxIGl0ZW0xMjE7IHR5cGVkZWYgUDEyMiBpdGVtMTIyOyB0eXBlZGVmIFAxMjMgaXRlbTEyMzsgdHlwZWRlZiBQMTI0IGl0ZW0xMjQ7IHR5cGVkZWYgUDEyNSBpdGVtMTI1OyB0eXBlZGVmIFAxMjYgaXRlbTEyNjsgdHlwZWRlZiBQMTI3IGl0ZW0xMjc7IHR5cGVkZWYgUDEyOCBpdGVtMTI4OyB0eXBlZGVmIFAxMjkgaXRlbTEyOTsgdHlwZWRlZiBQMTMwIGl0ZW0xMzA7IHR5cGVkZWYgUDEzMSBpdGVtMTMxOyB0eXBlZGVmIFAxMzIgaXRlbTEzMjsgdHlwZWRlZiBQMTMzIGl0ZW0xMzM7IHR5cGVkZWYgUDEzNCBpdGVtMTM0OyB0eXBlZGVmIFAxMzUgaXRlbTEzNTsgdHlwZWRlZiBQMTM2IGl0ZW0xMzY7IHR5cGVkZWYgUDEzNyBpdGVtMTM3OyB0eXBlZGVmIFAxMzggaXRlbTEzODsgdHlwZWRlZiBQMTM5IGl0ZW0xMzk7IHR5cGVkZWYgUDE0MCBpdGVtMTQwOyB0eXBlZGVmIFAxNDEgaXRlbTE0MTsgdHlwZWRlZiBQMTQyIGl0ZW0xNDI7IHR5cGVkZWYgUDE0MyBpdGVtMTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ5OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBQOTMgLCBjbGFzcyBQOTQgLCBjbGFzcyBQOTUgLCBjbGFzcyBQOTYgLCBjbGFzcyBQOTcgLCBjbGFzcyBQOTggLCBjbGFzcyBQOTkgLCBjbGFzcyBQMTAwICwgY2xhc3MgUDEwMSAsIGNsYXNzIFAxMDIgLCBjbGFzcyBQMTAzICwgY2xhc3MgUDEwNCAsIGNsYXNzIFAxMDUgLCBjbGFzcyBQMTA2ICwgY2xhc3MgUDEwNyAsIGNsYXNzIFAxMDggLCBjbGFzcyBQMTA5ICwgY2xhc3MgUDExMCAsIGNsYXNzIFAxMTEgLCBjbGFzcyBQMTEyICwgY2xhc3MgUDExMyAsIGNsYXNzIFAxMTQgLCBjbGFzcyBQMTE1ICwgY2xhc3MgUDExNiAsIGNsYXNzIFAxMTcgLCBjbGFzcyBQMTE4ICwgY2xhc3MgUDExOSAsIGNsYXNzIFAxMjAgLCBjbGFzcyBQMTIxICwgY2xhc3MgUDEyMiAsIGNsYXNzIFAxMjMgLCBjbGFzcyBQMTI0ICwgY2xhc3MgUDEyNSAsIGNsYXNzIFAxMjYgLCBjbGFzcyBQMTI3ICwgY2xhc3MgUDEyOCAsIGNsYXNzIFAxMjkgLCBjbGFzcyBQMTMwICwgY2xhc3MgUDEzMSAsIGNsYXNzIFAxMzIgLCBjbGFzcyBQMTMzICwgY2xhc3MgUDEzNCAsIGNsYXNzIFAxMzUgLCBjbGFzcyBQMTM2ICwgY2xhc3MgUDEzNyAsIGNsYXNzIFAxMzggLCBjbGFzcyBQMTM5ICwgY2xhc3MgUDE0MCAsIGNsYXNzIFAxNDEgLCBjbGFzcyBQMTQyICwgY2xhc3MgUDE0MyAsIGNsYXNzIFAxNDQgPiBzdHJ1Y3QgdmVjdG9yMTQ1IHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yMTQ1PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFA5MiAsIFA5MyAsIFA5NCAsIFA5NSAsIFA5NiAsIFA5NyAsIFA5OCAsIFA5OSAsIFAxMDAgLCBQMTAxICwgUDEwMiAsIFAxMDMgLCBQMTA0ICwgUDEwNSAsIFAxMDYgLCBQMTA3ICwgUDEwOCAsIFAxMDkgLCBQMTEwICwgUDExMSAsIFAxMTIgLCBQMTEzICwgUDExNCAsIFAxMTUgLCBQMTE2ICwgUDExNyAsIFAxMTggLCBQMTE5ICwgUDEyMCAsIFAxMjEgLCBQMTIyICwgUDEyMyAsIFAxMjQgLCBQMTI1ICwgUDEyNiAsIFAxMjcgLCBQMTI4ICwgUDEyOSAsIFAxMzAgLCBQMTMxICwgUDEzMiAsIFAxMzMgLCBQMTM0ICwgUDEzNSAsIFAxMzYgLCBQMTM3ICwgUDEzOCAsIFAxMzkgLCBQMTQwICwgUDE0MSAsIFAxNDIgLCBQMTQzICwgUDE0ND4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBQODggaXRlbTg4OyB0eXBlZGVmIFA4OSBpdGVtODk7IHR5cGVkZWYgUDkwIGl0ZW05MDsgdHlwZWRlZiBQOTEgaXRlbTkxOyB0eXBlZGVmIFA5MiBpdGVtOTI7IHR5cGVkZWYgUDkzIGl0ZW05MzsgdHlwZWRlZiBQOTQgaXRlbTk0OyB0eXBlZGVmIFA5NSBpdGVtOTU7IHR5cGVkZWYgUDk2IGl0ZW05NjsgdHlwZWRlZiBQOTcgaXRlbTk3OyB0eXBlZGVmIFA5OCBpdGVtOTg7IHR5cGVkZWYgUDk5IGl0ZW05OTsgdHlwZWRlZiBQMTAwIGl0ZW0xMDA7IHR5cGVkZWYgUDEwMSBpdGVtMTAxOyB0eXBlZGVmIFAxMDIgaXRlbTEwMjsgdHlwZWRlZiBQMTAzIGl0ZW0xMDM7IHR5cGVkZWYgUDEwNCBpdGVtMTA0OyB0eXBlZGVmIFAxMDUgaXRlbTEwNTsgdHlwZWRlZiBQMTA2IGl0ZW0xMDY7IHR5cGVkZWYgUDEwNyBpdGVtMTA3OyB0eXBlZGVmIFAxMDggaXRlbTEwODsgdHlwZWRlZiBQMTA5IGl0ZW0xMDk7IHR5cGVkZWYgUDExMCBpdGVtMTEwOyB0eXBlZGVmIFAxMTEgaXRlbTExMTsgdHlwZWRlZiBQMTEyIGl0ZW0xMTI7IHR5cGVkZWYgUDExMyBpdGVtMTEzOyB0eXBlZGVmIFAxMTQgaXRlbTExNDsgdHlwZWRlZiBQMTE1IGl0ZW0xMTU7IHR5cGVkZWYgUDExNiBpdGVtMTE2OyB0eXBlZGVmIFAxMTcgaXRlbTExNzsgdHlwZWRlZiBQMTE4IGl0ZW0xMTg7IHR5cGVkZWYgUDExOSBpdGVtMTE5OyB0eXBlZGVmIFAxMjAgaXRlbTEyMDsgdHlwZWRlZiBQMTIxIGl0ZW0xMjE7IHR5cGVkZWYgUDEyMiBpdGVtMTIyOyB0eXBlZGVmIFAxMjMgaXRlbTEyMzsgdHlwZWRlZiBQMTI0IGl0ZW0xMjQ7IHR5cGVkZWYgUDEyNSBpdGVtMTI1OyB0eXBlZGVmIFAxMjYgaXRlbTEyNjsgdHlwZWRlZiBQMTI3IGl0ZW0xMjc7IHR5cGVkZWYgUDEyOCBpdGVtMTI4OyB0eXBlZGVmIFAxMjkgaXRlbTEyOTsgdHlwZWRlZiBQMTMwIGl0ZW0xMzA7IHR5cGVkZWYgUDEzMSBpdGVtMTMxOyB0eXBlZGVmIFAxMzIgaXRlbTEzMjsgdHlwZWRlZiBQMTMzIGl0ZW0xMzM7IHR5cGVkZWYgUDEzNCBpdGVtMTM0OyB0eXBlZGVmIFAxMzUgaXRlbTEzNTsgdHlwZWRlZiBQMTM2IGl0ZW0xMzY7IHR5cGVkZWYgUDEzNyBpdGVtMTM3OyB0eXBlZGVmIFAxMzggaXRlbTEzODsgdHlwZWRlZiBQMTM5IGl0ZW0xMzk7IHR5cGVkZWYgUDE0MCBpdGVtMTQwOyB0eXBlZGVmIFAxNDEgaXRlbTE0MTsgdHlwZWRlZiBQMTQyIGl0ZW0xNDI7IHR5cGVkZWYgUDE0MyBpdGVtMTQzOyB0eXBlZGVmIFAxNDQgaXRlbTE0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0OTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ICwgY2xhc3MgUDk2ICwgY2xhc3MgUDk3ICwgY2xhc3MgUDk4ICwgY2xhc3MgUDk5ICwgY2xhc3MgUDEwMCAsIGNsYXNzIFAxMDEgLCBjbGFzcyBQMTAyICwgY2xhc3MgUDEwMyAsIGNsYXNzIFAxMDQgLCBjbGFzcyBQMTA1ICwgY2xhc3MgUDEwNiAsIGNsYXNzIFAxMDcgLCBjbGFzcyBQMTA4ICwgY2xhc3MgUDEwOSAsIGNsYXNzIFAxMTAgLCBjbGFzcyBQMTExICwgY2xhc3MgUDExMiAsIGNsYXNzIFAxMTMgLCBjbGFzcyBQMTE0ICwgY2xhc3MgUDExNSAsIGNsYXNzIFAxMTYgLCBjbGFzcyBQMTE3ICwgY2xhc3MgUDExOCAsIGNsYXNzIFAxMTkgLCBjbGFzcyBQMTIwICwgY2xhc3MgUDEyMSAsIGNsYXNzIFAxMjIgLCBjbGFzcyBQMTIzICwgY2xhc3MgUDEyNCAsIGNsYXNzIFAxMjUgLCBjbGFzcyBQMTI2ICwgY2xhc3MgUDEyNyAsIGNsYXNzIFAxMjggLCBjbGFzcyBQMTI5ICwgY2xhc3MgUDEzMCAsIGNsYXNzIFAxMzEgLCBjbGFzcyBQMTMyICwgY2xhc3MgUDEzMyAsIGNsYXNzIFAxMzQgLCBjbGFzcyBQMTM1ICwgY2xhc3MgUDEzNiAsIGNsYXNzIFAxMzcgLCBjbGFzcyBQMTM4ICwgY2xhc3MgUDEzOSAsIGNsYXNzIFAxNDAgLCBjbGFzcyBQMTQxICwgY2xhc3MgUDE0MiAsIGNsYXNzIFAxNDMgLCBjbGFzcyBQMTQ0ICwgY2xhc3MgUDE0NSA+IHN0cnVjdCB2ZWN0b3IxNDYgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3IxNDY8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1ICwgUDk2ICwgUDk3ICwgUDk4ICwgUDk5ICwgUDEwMCAsIFAxMDEgLCBQMTAyICwgUDEwMyAsIFAxMDQgLCBQMTA1ICwgUDEwNiAsIFAxMDcgLCBQMTA4ICwgUDEwOSAsIFAxMTAgLCBQMTExICwgUDExMiAsIFAxMTMgLCBQMTE0ICwgUDExNSAsIFAxMTYgLCBQMTE3ICwgUDExOCAsIFAxMTkgLCBQMTIwICwgUDEyMSAsIFAxMjIgLCBQMTIzICwgUDEyNCAsIFAxMjUgLCBQMTI2ICwgUDEyNyAsIFAxMjggLCBQMTI5ICwgUDEzMCAsIFAxMzEgLCBQMTMyICwgUDEzMyAsIFAxMzQgLCBQMTM1ICwgUDEzNiAsIFAxMzcgLCBQMTM4ICwgUDEzOSAsIFAxNDAgLCBQMTQxICwgUDE0MiAsIFAxNDMgLCBQMTQ0ICwgUDE0NT4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBQODggaXRlbTg4OyB0eXBlZGVmIFA4OSBpdGVtODk7IHR5cGVkZWYgUDkwIGl0ZW05MDsgdHlwZWRlZiBQOTEgaXRlbTkxOyB0eXBlZGVmIFA5MiBpdGVtOTI7IHR5cGVkZWYgUDkzIGl0ZW05MzsgdHlwZWRlZiBQOTQgaXRlbTk0OyB0eXBlZGVmIFA5NSBpdGVtOTU7IHR5cGVkZWYgUDk2IGl0ZW05NjsgdHlwZWRlZiBQOTcgaXRlbTk3OyB0eXBlZGVmIFA5OCBpdGVtOTg7IHR5cGVkZWYgUDk5IGl0ZW05OTsgdHlwZWRlZiBQMTAwIGl0ZW0xMDA7IHR5cGVkZWYgUDEwMSBpdGVtMTAxOyB0eXBlZGVmIFAxMDIgaXRlbTEwMjsgdHlwZWRlZiBQMTAzIGl0ZW0xMDM7IHR5cGVkZWYgUDEwNCBpdGVtMTA0OyB0eXBlZGVmIFAxMDUgaXRlbTEwNTsgdHlwZWRlZiBQMTA2IGl0ZW0xMDY7IHR5cGVkZWYgUDEwNyBpdGVtMTA3OyB0eXBlZGVmIFAxMDggaXRlbTEwODsgdHlwZWRlZiBQMTA5IGl0ZW0xMDk7IHR5cGVkZWYgUDExMCBpdGVtMTEwOyB0eXBlZGVmIFAxMTEgaXRlbTExMTsgdHlwZWRlZiBQMTEyIGl0ZW0xMTI7IHR5cGVkZWYgUDExMyBpdGVtMTEzOyB0eXBlZGVmIFAxMTQgaXRlbTExNDsgdHlwZWRlZiBQMTE1IGl0ZW0xMTU7IHR5cGVkZWYgUDExNiBpdGVtMTE2OyB0eXBlZGVmIFAxMTcgaXRlbTExNzsgdHlwZWRlZiBQMTE4IGl0ZW0xMTg7IHR5cGVkZWYgUDExOSBpdGVtMTE5OyB0eXBlZGVmIFAxMjAgaXRlbTEyMDsgdHlwZWRlZiBQMTIxIGl0ZW0xMjE7IHR5cGVkZWYgUDEyMiBpdGVtMTIyOyB0eXBlZGVmIFAxMjMgaXRlbTEyMzsgdHlwZWRlZiBQMTI0IGl0ZW0xMjQ7IHR5cGVkZWYgUDEyNSBpdGVtMTI1OyB0eXBlZGVmIFAxMjYgaXRlbTEyNjsgdHlwZWRlZiBQMTI3IGl0ZW0xMjc7IHR5cGVkZWYgUDEyOCBpdGVtMTI4OyB0eXBlZGVmIFAxMjkgaXRlbTEyOTsgdHlwZWRlZiBQMTMwIGl0ZW0xMzA7IHR5cGVkZWYgUDEzMSBpdGVtMTMxOyB0eXBlZGVmIFAxMzIgaXRlbTEzMjsgdHlwZWRlZiBQMTMzIGl0ZW0xMzM7IHR5cGVkZWYgUDEzNCBpdGVtMTM0OyB0eXBlZGVmIFAxMzUgaXRlbTEzNTsgdHlwZWRlZiBQMTM2IGl0ZW0xMzY7IHR5cGVkZWYgUDEzNyBpdGVtMTM3OyB0eXBlZGVmIFAxMzggaXRlbTEzODsgdHlwZWRlZiBQMTM5IGl0ZW0xMzk7IHR5cGVkZWYgUDE0MCBpdGVtMTQwOyB0eXBlZGVmIFAxNDEgaXRlbTE0MTsgdHlwZWRlZiBQMTQyIGl0ZW0xNDI7IHR5cGVkZWYgUDE0MyBpdGVtMTQzOyB0eXBlZGVmIFAxNDQgaXRlbTE0NDsgdHlwZWRlZiBQMTQ1IGl0ZW0xNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDk7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSAsIGNsYXNzIFA4NiAsIGNsYXNzIFA4NyAsIGNsYXNzIFA4OCAsIGNsYXNzIFA4OSAsIGNsYXNzIFA5MCAsIGNsYXNzIFA5MSAsIGNsYXNzIFA5MiAsIGNsYXNzIFA5MyAsIGNsYXNzIFA5NCAsIGNsYXNzIFA5NSAsIGNsYXNzIFA5NiAsIGNsYXNzIFA5NyAsIGNsYXNzIFA5OCAsIGNsYXNzIFA5OSAsIGNsYXNzIFAxMDAgLCBjbGFzcyBQMTAxICwgY2xhc3MgUDEwMiAsIGNsYXNzIFAxMDMgLCBjbGFzcyBQMTA0ICwgY2xhc3MgUDEwNSAsIGNsYXNzIFAxMDYgLCBjbGFzcyBQMTA3ICwgY2xhc3MgUDEwOCAsIGNsYXNzIFAxMDkgLCBjbGFzcyBQMTEwICwgY2xhc3MgUDExMSAsIGNsYXNzIFAxMTIgLCBjbGFzcyBQMTEzICwgY2xhc3MgUDExNCAsIGNsYXNzIFAxMTUgLCBjbGFzcyBQMTE2ICwgY2xhc3MgUDExNyAsIGNsYXNzIFAxMTggLCBjbGFzcyBQMTE5ICwgY2xhc3MgUDEyMCAsIGNsYXNzIFAxMjEgLCBjbGFzcyBQMTIyICwgY2xhc3MgUDEyMyAsIGNsYXNzIFAxMjQgLCBjbGFzcyBQMTI1ICwgY2xhc3MgUDEyNiAsIGNsYXNzIFAxMjcgLCBjbGFzcyBQMTI4ICwgY2xhc3MgUDEyOSAsIGNsYXNzIFAxMzAgLCBjbGFzcyBQMTMxICwgY2xhc3MgUDEzMiAsIGNsYXNzIFAxMzMgLCBjbGFzcyBQMTM0ICwgY2xhc3MgUDEzNSAsIGNsYXNzIFAxMzYgLCBjbGFzcyBQMTM3ICwgY2xhc3MgUDEzOCAsIGNsYXNzIFAxMzkgLCBjbGFzcyBQMTQwICwgY2xhc3MgUDE0MSAsIGNsYXNzIFAxNDIgLCBjbGFzcyBQMTQzICwgY2xhc3MgUDE0NCAsIGNsYXNzIFAxNDUgLCBjbGFzcyBQMTQ2ID4gc3RydWN0IHZlY3RvcjE0NyB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjE0NzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MCAsIFAxNDEgLCBQMTQyICwgUDE0MyAsIFAxNDQgLCBQMTQ1ICwgUDE0Nj4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBQODggaXRlbTg4OyB0eXBlZGVmIFA4OSBpdGVtODk7IHR5cGVkZWYgUDkwIGl0ZW05MDsgdHlwZWRlZiBQOTEgaXRlbTkxOyB0eXBlZGVmIFA5MiBpdGVtOTI7IHR5cGVkZWYgUDkzIGl0ZW05MzsgdHlwZWRlZiBQOTQgaXRlbTk0OyB0eXBlZGVmIFA5NSBpdGVtOTU7IHR5cGVkZWYgUDk2IGl0ZW05NjsgdHlwZWRlZiBQOTcgaXRlbTk3OyB0eXBlZGVmIFA5OCBpdGVtOTg7IHR5cGVkZWYgUDk5IGl0ZW05OTsgdHlwZWRlZiBQMTAwIGl0ZW0xMDA7IHR5cGVkZWYgUDEwMSBpdGVtMTAxOyB0eXBlZGVmIFAxMDIgaXRlbTEwMjsgdHlwZWRlZiBQMTAzIGl0ZW0xMDM7IHR5cGVkZWYgUDEwNCBpdGVtMTA0OyB0eXBlZGVmIFAxMDUgaXRlbTEwNTsgdHlwZWRlZiBQMTA2IGl0ZW0xMDY7IHR5cGVkZWYgUDEwNyBpdGVtMTA3OyB0eXBlZGVmIFAxMDggaXRlbTEwODsgdHlwZWRlZiBQMTA5IGl0ZW0xMDk7IHR5cGVkZWYgUDExMCBpdGVtMTEwOyB0eXBlZGVmIFAxMTEgaXRlbTExMTsgdHlwZWRlZiBQMTEyIGl0ZW0xMTI7IHR5cGVkZWYgUDExMyBpdGVtMTEzOyB0eXBlZGVmIFAxMTQgaXRlbTExNDsgdHlwZWRlZiBQMTE1IGl0ZW0xMTU7IHR5cGVkZWYgUDExNiBpdGVtMTE2OyB0eXBlZGVmIFAxMTcgaXRlbTExNzsgdHlwZWRlZiBQMTE4IGl0ZW0xMTg7IHR5cGVkZWYgUDExOSBpdGVtMTE5OyB0eXBlZGVmIFAxMjAgaXRlbTEyMDsgdHlwZWRlZiBQMTIxIGl0ZW0xMjE7IHR5cGVkZWYgUDEyMiBpdGVtMTIyOyB0eXBlZGVmIFAxMjMgaXRlbTEyMzsgdHlwZWRlZiBQMTI0IGl0ZW0xMjQ7IHR5cGVkZWYgUDEyNSBpdGVtMTI1OyB0eXBlZGVmIFAxMjYgaXRlbTEyNjsgdHlwZWRlZiBQMTI3IGl0ZW0xMjc7IHR5cGVkZWYgUDEyOCBpdGVtMTI4OyB0eXBlZGVmIFAxMjkgaXRlbTEyOTsgdHlwZWRlZiBQMTMwIGl0ZW0xMzA7IHR5cGVkZWYgUDEzMSBpdGVtMTMxOyB0eXBlZGVmIFAxMzIgaXRlbTEzMjsgdHlwZWRlZiBQMTMzIGl0ZW0xMzM7IHR5cGVkZWYgUDEzNCBpdGVtMTM0OyB0eXBlZGVmIFAxMzUgaXRlbTEzNTsgdHlwZWRlZiBQMTM2IGl0ZW0xMzY7IHR5cGVkZWYgUDEzNyBpdGVtMTM3OyB0eXBlZGVmIFAxMzggaXRlbTEzODsgdHlwZWRlZiBQMTM5IGl0ZW0xMzk7IHR5cGVkZWYgUDE0MCBpdGVtMTQwOyB0eXBlZGVmIFAxNDEgaXRlbTE0MTsgdHlwZWRlZiBQMTQyIGl0ZW0xNDI7IHR5cGVkZWYgUDE0MyBpdGVtMTQzOyB0eXBlZGVmIFAxNDQgaXRlbTE0NDsgdHlwZWRlZiBQMTQ1IGl0ZW0xNDU7IHR5cGVkZWYgUDE0NiBpdGVtMTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ5OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBQOTMgLCBjbGFzcyBQOTQgLCBjbGFzcyBQOTUgLCBjbGFzcyBQOTYgLCBjbGFzcyBQOTcgLCBjbGFzcyBQOTggLCBjbGFzcyBQOTkgLCBjbGFzcyBQMTAwICwgY2xhc3MgUDEwMSAsIGNsYXNzIFAxMDIgLCBjbGFzcyBQMTAzICwgY2xhc3MgUDEwNCAsIGNsYXNzIFAxMDUgLCBjbGFzcyBQMTA2ICwgY2xhc3MgUDEwNyAsIGNsYXNzIFAxMDggLCBjbGFzcyBQMTA5ICwgY2xhc3MgUDExMCAsIGNsYXNzIFAxMTEgLCBjbGFzcyBQMTEyICwgY2xhc3MgUDExMyAsIGNsYXNzIFAxMTQgLCBjbGFzcyBQMTE1ICwgY2xhc3MgUDExNiAsIGNsYXNzIFAxMTcgLCBjbGFzcyBQMTE4ICwgY2xhc3MgUDExOSAsIGNsYXNzIFAxMjAgLCBjbGFzcyBQMTIxICwgY2xhc3MgUDEyMiAsIGNsYXNzIFAxMjMgLCBjbGFzcyBQMTI0ICwgY2xhc3MgUDEyNSAsIGNsYXNzIFAxMjYgLCBjbGFzcyBQMTI3ICwgY2xhc3MgUDEyOCAsIGNsYXNzIFAxMjkgLCBjbGFzcyBQMTMwICwgY2xhc3MgUDEzMSAsIGNsYXNzIFAxMzIgLCBjbGFzcyBQMTMzICwgY2xhc3MgUDEzNCAsIGNsYXNzIFAxMzUgLCBjbGFzcyBQMTM2ICwgY2xhc3MgUDEzNyAsIGNsYXNzIFAxMzggLCBjbGFzcyBQMTM5ICwgY2xhc3MgUDE0MCAsIGNsYXNzIFAxNDEgLCBjbGFzcyBQMTQyICwgY2xhc3MgUDE0MyAsIGNsYXNzIFAxNDQgLCBjbGFzcyBQMTQ1ICwgY2xhc3MgUDE0NiAsIGNsYXNzIFAxNDcgPiBzdHJ1Y3QgdmVjdG9yMTQ4IHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yMTQ4PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFA5MiAsIFA5MyAsIFA5NCAsIFA5NSAsIFA5NiAsIFA5NyAsIFA5OCAsIFA5OSAsIFAxMDAgLCBQMTAxICwgUDEwMiAsIFAxMDMgLCBQMTA0ICwgUDEwNSAsIFAxMDYgLCBQMTA3ICwgUDEwOCAsIFAxMDkgLCBQMTEwICwgUDExMSAsIFAxMTIgLCBQMTEzICwgUDExNCAsIFAxMTUgLCBQMTE2ICwgUDExNyAsIFAxMTggLCBQMTE5ICwgUDEyMCAsIFAxMjEgLCBQMTIyICwgUDEyMyAsIFAxMjQgLCBQMTI1ICwgUDEyNiAsIFAxMjcgLCBQMTI4ICwgUDEyOSAsIFAxMzAgLCBQMTMxICwgUDEzMiAsIFAxMzMgLCBQMTM0ICwgUDEzNSAsIFAxMzYgLCBQMTM3ICwgUDEzOCAsIFAxMzkgLCBQMTQwICwgUDE0MSAsIFAxNDIgLCBQMTQzICwgUDE0NCAsIFAxNDUgLCBQMTQ2ICwgUDE0Nz4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBQODggaXRlbTg4OyB0eXBlZGVmIFA4OSBpdGVtODk7IHR5cGVkZWYgUDkwIGl0ZW05MDsgdHlwZWRlZiBQOTEgaXRlbTkxOyB0eXBlZGVmIFA5MiBpdGVtOTI7IHR5cGVkZWYgUDkzIGl0ZW05MzsgdHlwZWRlZiBQOTQgaXRlbTk0OyB0eXBlZGVmIFA5NSBpdGVtOTU7IHR5cGVkZWYgUDk2IGl0ZW05NjsgdHlwZWRlZiBQOTcgaXRlbTk3OyB0eXBlZGVmIFA5OCBpdGVtOTg7IHR5cGVkZWYgUDk5IGl0ZW05OTsgdHlwZWRlZiBQMTAwIGl0ZW0xMDA7IHR5cGVkZWYgUDEwMSBpdGVtMTAxOyB0eXBlZGVmIFAxMDIgaXRlbTEwMjsgdHlwZWRlZiBQMTAzIGl0ZW0xMDM7IHR5cGVkZWYgUDEwNCBpdGVtMTA0OyB0eXBlZGVmIFAxMDUgaXRlbTEwNTsgdHlwZWRlZiBQMTA2IGl0ZW0xMDY7IHR5cGVkZWYgUDEwNyBpdGVtMTA3OyB0eXBlZGVmIFAxMDggaXRlbTEwODsgdHlwZWRlZiBQMTA5IGl0ZW0xMDk7IHR5cGVkZWYgUDExMCBpdGVtMTEwOyB0eXBlZGVmIFAxMTEgaXRlbTExMTsgdHlwZWRlZiBQMTEyIGl0ZW0xMTI7IHR5cGVkZWYgUDExMyBpdGVtMTEzOyB0eXBlZGVmIFAxMTQgaXRlbTExNDsgdHlwZWRlZiBQMTE1IGl0ZW0xMTU7IHR5cGVkZWYgUDExNiBpdGVtMTE2OyB0eXBlZGVmIFAxMTcgaXRlbTExNzsgdHlwZWRlZiBQMTE4IGl0ZW0xMTg7IHR5cGVkZWYgUDExOSBpdGVtMTE5OyB0eXBlZGVmIFAxMjAgaXRlbTEyMDsgdHlwZWRlZiBQMTIxIGl0ZW0xMjE7IHR5cGVkZWYgUDEyMiBpdGVtMTIyOyB0eXBlZGVmIFAxMjMgaXRlbTEyMzsgdHlwZWRlZiBQMTI0IGl0ZW0xMjQ7IHR5cGVkZWYgUDEyNSBpdGVtMTI1OyB0eXBlZGVmIFAxMjYgaXRlbTEyNjsgdHlwZWRlZiBQMTI3IGl0ZW0xMjc7IHR5cGVkZWYgUDEyOCBpdGVtMTI4OyB0eXBlZGVmIFAxMjkgaXRlbTEyOTsgdHlwZWRlZiBQMTMwIGl0ZW0xMzA7IHR5cGVkZWYgUDEzMSBpdGVtMTMxOyB0eXBlZGVmIFAxMzIgaXRlbTEzMjsgdHlwZWRlZiBQMTMzIGl0ZW0xMzM7IHR5cGVkZWYgUDEzNCBpdGVtMTM0OyB0eXBlZGVmIFAxMzUgaXRlbTEzNTsgdHlwZWRlZiBQMTM2IGl0ZW0xMzY7IHR5cGVkZWYgUDEzNyBpdGVtMTM3OyB0eXBlZGVmIFAxMzggaXRlbTEzODsgdHlwZWRlZiBQMTM5IGl0ZW0xMzk7IHR5cGVkZWYgUDE0MCBpdGVtMTQwOyB0eXBlZGVmIFAxNDEgaXRlbTE0MTsgdHlwZWRlZiBQMTQyIGl0ZW0xNDI7IHR5cGVkZWYgUDE0MyBpdGVtMTQzOyB0eXBlZGVmIFAxNDQgaXRlbTE0NDsgdHlwZWRlZiBQMTQ1IGl0ZW0xNDU7IHR5cGVkZWYgUDE0NiBpdGVtMTQ2OyB0eXBlZGVmIFAxNDcgaXRlbTE0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0OTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ICwgY2xhc3MgUDk2ICwgY2xhc3MgUDk3ICwgY2xhc3MgUDk4ICwgY2xhc3MgUDk5ICwgY2xhc3MgUDEwMCAsIGNsYXNzIFAxMDEgLCBjbGFzcyBQMTAyICwgY2xhc3MgUDEwMyAsIGNsYXNzIFAxMDQgLCBjbGFzcyBQMTA1ICwgY2xhc3MgUDEwNiAsIGNsYXNzIFAxMDcgLCBjbGFzcyBQMTA4ICwgY2xhc3MgUDEwOSAsIGNsYXNzIFAxMTAgLCBjbGFzcyBQMTExICwgY2xhc3MgUDExMiAsIGNsYXNzIFAxMTMgLCBjbGFzcyBQMTE0ICwgY2xhc3MgUDExNSAsIGNsYXNzIFAxMTYgLCBjbGFzcyBQMTE3ICwgY2xhc3MgUDExOCAsIGNsYXNzIFAxMTkgLCBjbGFzcyBQMTIwICwgY2xhc3MgUDEyMSAsIGNsYXNzIFAxMjIgLCBjbGFzcyBQMTIzICwgY2xhc3MgUDEyNCAsIGNsYXNzIFAxMjUgLCBjbGFzcyBQMTI2ICwgY2xhc3MgUDEyNyAsIGNsYXNzIFAxMjggLCBjbGFzcyBQMTI5ICwgY2xhc3MgUDEzMCAsIGNsYXNzIFAxMzEgLCBjbGFzcyBQMTMyICwgY2xhc3MgUDEzMyAsIGNsYXNzIFAxMzQgLCBjbGFzcyBQMTM1ICwgY2xhc3MgUDEzNiAsIGNsYXNzIFAxMzcgLCBjbGFzcyBQMTM4ICwgY2xhc3MgUDEzOSAsIGNsYXNzIFAxNDAgLCBjbGFzcyBQMTQxICwgY2xhc3MgUDE0MiAsIGNsYXNzIFAxNDMgLCBjbGFzcyBQMTQ0ICwgY2xhc3MgUDE0NSAsIGNsYXNzIFAxNDYgLCBjbGFzcyBQMTQ3ICwgY2xhc3MgUDE0OCA+IHN0cnVjdCB2ZWN0b3IxNDkgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3IxNDk8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1ICwgUDk2ICwgUDk3ICwgUDk4ICwgUDk5ICwgUDEwMCAsIFAxMDEgLCBQMTAyICwgUDEwMyAsIFAxMDQgLCBQMTA1ICwgUDEwNiAsIFAxMDcgLCBQMTA4ICwgUDEwOSAsIFAxMTAgLCBQMTExICwgUDExMiAsIFAxMTMgLCBQMTE0ICwgUDExNSAsIFAxMTYgLCBQMTE3ICwgUDExOCAsIFAxMTkgLCBQMTIwICwgUDEyMSAsIFAxMjIgLCBQMTIzICwgUDEyNCAsIFAxMjUgLCBQMTI2ICwgUDEyNyAsIFAxMjggLCBQMTI5ICwgUDEzMCAsIFAxMzEgLCBQMTMyICwgUDEzMyAsIFAxMzQgLCBQMTM1ICwgUDEzNiAsIFAxMzcgLCBQMTM4ICwgUDEzOSAsIFAxNDAgLCBQMTQxICwgUDE0MiAsIFAxNDMgLCBQMTQ0ICwgUDE0NSAsIFAxNDYgLCBQMTQ3ICwgUDE0OD4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBQODggaXRlbTg4OyB0eXBlZGVmIFA4OSBpdGVtODk7IHR5cGVkZWYgUDkwIGl0ZW05MDsgdHlwZWRlZiBQOTEgaXRlbTkxOyB0eXBlZGVmIFA5MiBpdGVtOTI7IHR5cGVkZWYgUDkzIGl0ZW05MzsgdHlwZWRlZiBQOTQgaXRlbTk0OyB0eXBlZGVmIFA5NSBpdGVtOTU7IHR5cGVkZWYgUDk2IGl0ZW05NjsgdHlwZWRlZiBQOTcgaXRlbTk3OyB0eXBlZGVmIFA5OCBpdGVtOTg7IHR5cGVkZWYgUDk5IGl0ZW05OTsgdHlwZWRlZiBQMTAwIGl0ZW0xMDA7IHR5cGVkZWYgUDEwMSBpdGVtMTAxOyB0eXBlZGVmIFAxMDIgaXRlbTEwMjsgdHlwZWRlZiBQMTAzIGl0ZW0xMDM7IHR5cGVkZWYgUDEwNCBpdGVtMTA0OyB0eXBlZGVmIFAxMDUgaXRlbTEwNTsgdHlwZWRlZiBQMTA2IGl0ZW0xMDY7IHR5cGVkZWYgUDEwNyBpdGVtMTA3OyB0eXBlZGVmIFAxMDggaXRlbTEwODsgdHlwZWRlZiBQMTA5IGl0ZW0xMDk7IHR5cGVkZWYgUDExMCBpdGVtMTEwOyB0eXBlZGVmIFAxMTEgaXRlbTExMTsgdHlwZWRlZiBQMTEyIGl0ZW0xMTI7IHR5cGVkZWYgUDExMyBpdGVtMTEzOyB0eXBlZGVmIFAxMTQgaXRlbTExNDsgdHlwZWRlZiBQMTE1IGl0ZW0xMTU7IHR5cGVkZWYgUDExNiBpdGVtMTE2OyB0eXBlZGVmIFAxMTcgaXRlbTExNzsgdHlwZWRlZiBQMTE4IGl0ZW0xMTg7IHR5cGVkZWYgUDExOSBpdGVtMTE5OyB0eXBlZGVmIFAxMjAgaXRlbTEyMDsgdHlwZWRlZiBQMTIxIGl0ZW0xMjE7IHR5cGVkZWYgUDEyMiBpdGVtMTIyOyB0eXBlZGVmIFAxMjMgaXRlbTEyMzsgdHlwZWRlZiBQMTI0IGl0ZW0xMjQ7IHR5cGVkZWYgUDEyNSBpdGVtMTI1OyB0eXBlZGVmIFAxMjYgaXRlbTEyNjsgdHlwZWRlZiBQMTI3IGl0ZW0xMjc7IHR5cGVkZWYgUDEyOCBpdGVtMTI4OyB0eXBlZGVmIFAxMjkgaXRlbTEyOTsgdHlwZWRlZiBQMTMwIGl0ZW0xMzA7IHR5cGVkZWYgUDEzMSBpdGVtMTMxOyB0eXBlZGVmIFAxMzIgaXRlbTEzMjsgdHlwZWRlZiBQMTMzIGl0ZW0xMzM7IHR5cGVkZWYgUDEzNCBpdGVtMTM0OyB0eXBlZGVmIFAxMzUgaXRlbTEzNTsgdHlwZWRlZiBQMTM2IGl0ZW0xMzY7IHR5cGVkZWYgUDEzNyBpdGVtMTM3OyB0eXBlZGVmIFAxMzggaXRlbTEzODsgdHlwZWRlZiBQMTM5IGl0ZW0xMzk7IHR5cGVkZWYgUDE0MCBpdGVtMTQwOyB0eXBlZGVmIFAxNDEgaXRlbTE0MTsgdHlwZWRlZiBQMTQyIGl0ZW0xNDI7IHR5cGVkZWYgUDE0MyBpdGVtMTQzOyB0eXBlZGVmIFAxNDQgaXRlbTE0NDsgdHlwZWRlZiBQMTQ1IGl0ZW0xNDU7IHR5cGVkZWYgUDE0NiBpdGVtMTQ2OyB0eXBlZGVmIFAxNDcgaXRlbTE0NzsgdHlwZWRlZiBQMTQ4IGl0ZW0xNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDk7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSAsIGNsYXNzIFA4NiAsIGNsYXNzIFA4NyAsIGNsYXNzIFA4OCAsIGNsYXNzIFA4OSAsIGNsYXNzIFA5MCAsIGNsYXNzIFA5MSAsIGNsYXNzIFA5MiAsIGNsYXNzIFA5MyAsIGNsYXNzIFA5NCAsIGNsYXNzIFA5NSAsIGNsYXNzIFA5NiAsIGNsYXNzIFA5NyAsIGNsYXNzIFA5OCAsIGNsYXNzIFA5OSAsIGNsYXNzIFAxMDAgLCBjbGFzcyBQMTAxICwgY2xhc3MgUDEwMiAsIGNsYXNzIFAxMDMgLCBjbGFzcyBQMTA0ICwgY2xhc3MgUDEwNSAsIGNsYXNzIFAxMDYgLCBjbGFzcyBQMTA3ICwgY2xhc3MgUDEwOCAsIGNsYXNzIFAxMDkgLCBjbGFzcyBQMTEwICwgY2xhc3MgUDExMSAsIGNsYXNzIFAxMTIgLCBjbGFzcyBQMTEzICwgY2xhc3MgUDExNCAsIGNsYXNzIFAxMTUgLCBjbGFzcyBQMTE2ICwgY2xhc3MgUDExNyAsIGNsYXNzIFAxMTggLCBjbGFzcyBQMTE5ICwgY2xhc3MgUDEyMCAsIGNsYXNzIFAxMjEgLCBjbGFzcyBQMTIyICwgY2xhc3MgUDEyMyAsIGNsYXNzIFAxMjQgLCBjbGFzcyBQMTI1ICwgY2xhc3MgUDEyNiAsIGNsYXNzIFAxMjcgLCBjbGFzcyBQMTI4ICwgY2xhc3MgUDEyOSAsIGNsYXNzIFAxMzAgLCBjbGFzcyBQMTMxICwgY2xhc3MgUDEzMiAsIGNsYXNzIFAxMzMgLCBjbGFzcyBQMTM0ICwgY2xhc3MgUDEzNSAsIGNsYXNzIFAxMzYgLCBjbGFzcyBQMTM3ICwgY2xhc3MgUDEzOCAsIGNsYXNzIFAxMzkgLCBjbGFzcyBQMTQwICwgY2xhc3MgUDE0MSAsIGNsYXNzIFAxNDIgLCBjbGFzcyBQMTQzICwgY2xhc3MgUDE0NCAsIGNsYXNzIFAxNDUgLCBjbGFzcyBQMTQ2ICwgY2xhc3MgUDE0NyAsIGNsYXNzIFAxNDggLCBjbGFzcyBQMTQ5ID4gc3RydWN0IHZlY3RvcjE1MCB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjE1MDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MCAsIFAxNDEgLCBQMTQyICwgUDE0MyAsIFAxNDQgLCBQMTQ1ICwgUDE0NiAsIFAxNDcgLCBQMTQ4ICwgUDE0OT4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBQODggaXRlbTg4OyB0eXBlZGVmIFA4OSBpdGVtODk7IHR5cGVkZWYgUDkwIGl0ZW05MDsgdHlwZWRlZiBQOTEgaXRlbTkxOyB0eXBlZGVmIFA5MiBpdGVtOTI7IHR5cGVkZWYgUDkzIGl0ZW05MzsgdHlwZWRlZiBQOTQgaXRlbTk0OyB0eXBlZGVmIFA5NSBpdGVtOTU7IHR5cGVkZWYgUDk2IGl0ZW05NjsgdHlwZWRlZiBQOTcgaXRlbTk3OyB0eXBlZGVmIFA5OCBpdGVtOTg7IHR5cGVkZWYgUDk5IGl0ZW05OTsgdHlwZWRlZiBQMTAwIGl0ZW0xMDA7IHR5cGVkZWYgUDEwMSBpdGVtMTAxOyB0eXBlZGVmIFAxMDIgaXRlbTEwMjsgdHlwZWRlZiBQMTAzIGl0ZW0xMDM7IHR5cGVkZWYgUDEwNCBpdGVtMTA0OyB0eXBlZGVmIFAxMDUgaXRlbTEwNTsgdHlwZWRlZiBQMTA2IGl0ZW0xMDY7IHR5cGVkZWYgUDEwNyBpdGVtMTA3OyB0eXBlZGVmIFAxMDggaXRlbTEwODsgdHlwZWRlZiBQMTA5IGl0ZW0xMDk7IHR5cGVkZWYgUDExMCBpdGVtMTEwOyB0eXBlZGVmIFAxMTEgaXRlbTExMTsgdHlwZWRlZiBQMTEyIGl0ZW0xMTI7IHR5cGVkZWYgUDExMyBpdGVtMTEzOyB0eXBlZGVmIFAxMTQgaXRlbTExNDsgdHlwZWRlZiBQMTE1IGl0ZW0xMTU7IHR5cGVkZWYgUDExNiBpdGVtMTE2OyB0eXBlZGVmIFAxMTcgaXRlbTExNzsgdHlwZWRlZiBQMTE4IGl0ZW0xMTg7IHR5cGVkZWYgUDExOSBpdGVtMTE5OyB0eXBlZGVmIFAxMjAgaXRlbTEyMDsgdHlwZWRlZiBQMTIxIGl0ZW0xMjE7IHR5cGVkZWYgUDEyMiBpdGVtMTIyOyB0eXBlZGVmIFAxMjMgaXRlbTEyMzsgdHlwZWRlZiBQMTI0IGl0ZW0xMjQ7IHR5cGVkZWYgUDEyNSBpdGVtMTI1OyB0eXBlZGVmIFAxMjYgaXRlbTEyNjsgdHlwZWRlZiBQMTI3IGl0ZW0xMjc7IHR5cGVkZWYgUDEyOCBpdGVtMTI4OyB0eXBlZGVmIFAxMjkgaXRlbTEyOTsgdHlwZWRlZiBQMTMwIGl0ZW0xMzA7IHR5cGVkZWYgUDEzMSBpdGVtMTMxOyB0eXBlZGVmIFAxMzIgaXRlbTEzMjsgdHlwZWRlZiBQMTMzIGl0ZW0xMzM7IHR5cGVkZWYgUDEzNCBpdGVtMTM0OyB0eXBlZGVmIFAxMzUgaXRlbTEzNTsgdHlwZWRlZiBQMTM2IGl0ZW0xMzY7IHR5cGVkZWYgUDEzNyBpdGVtMTM3OyB0eXBlZGVmIFAxMzggaXRlbTEzODsgdHlwZWRlZiBQMTM5IGl0ZW0xMzk7IHR5cGVkZWYgUDE0MCBpdGVtMTQwOyB0eXBlZGVmIFAxNDEgaXRlbTE0MTsgdHlwZWRlZiBQMTQyIGl0ZW0xNDI7IHR5cGVkZWYgUDE0MyBpdGVtMTQzOyB0eXBlZGVmIFAxNDQgaXRlbTE0NDsgdHlwZWRlZiBQMTQ1IGl0ZW0xNDU7IHR5cGVkZWYgUDE0NiBpdGVtMTQ2OyB0eXBlZGVmIFAxNDcgaXRlbTE0NzsgdHlwZWRlZiBQMTQ4IGl0ZW0xNDg7IHR5cGVkZWYgUDE0OSBpdGVtMTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ5OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBQOTMgLCBjbGFzcyBQOTQgLCBjbGFzcyBQOTUgLCBjbGFzcyBQOTYgLCBjbGFzcyBQOTcgLCBjbGFzcyBQOTggLCBjbGFzcyBQOTkgLCBjbGFzcyBQMTAwICwgY2xhc3MgUDEwMSAsIGNsYXNzIFAxMDIgLCBjbGFzcyBQMTAzICwgY2xhc3MgUDEwNCAsIGNsYXNzIFAxMDUgLCBjbGFzcyBQMTA2ICwgY2xhc3MgUDEwNyAsIGNsYXNzIFAxMDggLCBjbGFzcyBQMTA5ICwgY2xhc3MgUDExMCAsIGNsYXNzIFAxMTEgLCBjbGFzcyBQMTEyICwgY2xhc3MgUDExMyAsIGNsYXNzIFAxMTQgLCBjbGFzcyBQMTE1ICwgY2xhc3MgUDExNiAsIGNsYXNzIFAxMTcgLCBjbGFzcyBQMTE4ICwgY2xhc3MgUDExOSAsIGNsYXNzIFAxMjAgLCBjbGFzcyBQMTIxICwgY2xhc3MgUDEyMiAsIGNsYXNzIFAxMjMgLCBjbGFzcyBQMTI0ICwgY2xhc3MgUDEyNSAsIGNsYXNzIFAxMjYgLCBjbGFzcyBQMTI3ICwgY2xhc3MgUDEyOCAsIGNsYXNzIFAxMjkgLCBjbGFzcyBQMTMwICwgY2xhc3MgUDEzMSAsIGNsYXNzIFAxMzIgLCBjbGFzcyBQMTMzICwgY2xhc3MgUDEzNCAsIGNsYXNzIFAxMzUgLCBjbGFzcyBQMTM2ICwgY2xhc3MgUDEzNyAsIGNsYXNzIFAxMzggLCBjbGFzcyBQMTM5ICwgY2xhc3MgUDE0MCAsIGNsYXNzIFAxNDEgLCBjbGFzcyBQMTQyICwgY2xhc3MgUDE0MyAsIGNsYXNzIFAxNDQgLCBjbGFzcyBQMTQ1ICwgY2xhc3MgUDE0NiAsIGNsYXNzIFAxNDcgLCBjbGFzcyBQMTQ4ICwgY2xhc3MgUDE0OSAsIGNsYXNzIFAxNTAgPiBzdHJ1Y3QgdmVjdG9yMTUxIHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yMTUxPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFA5MiAsIFA5MyAsIFA5NCAsIFA5NSAsIFA5NiAsIFA5NyAsIFA5OCAsIFA5OSAsIFAxMDAgLCBQMTAxICwgUDEwMiAsIFAxMDMgLCBQMTA0ICwgUDEwNSAsIFAxMDYgLCBQMTA3ICwgUDEwOCAsIFAxMDkgLCBQMTEwICwgUDExMSAsIFAxMTIgLCBQMTEzICwgUDExNCAsIFAxMTUgLCBQMTE2ICwgUDExNyAsIFAxMTggLCBQMTE5ICwgUDEyMCAsIFAxMjEgLCBQMTIyICwgUDEyMyAsIFAxMjQgLCBQMTI1ICwgUDEyNiAsIFAxMjcgLCBQMTI4ICwgUDEyOSAsIFAxMzAgLCBQMTMxICwgUDEzMiAsIFAxMzMgLCBQMTM0ICwgUDEzNSAsIFAxMzYgLCBQMTM3ICwgUDEzOCAsIFAxMzkgLCBQMTQwICwgUDE0MSAsIFAxNDIgLCBQMTQzICwgUDE0NCAsIFAxNDUgLCBQMTQ2ICwgUDE0NyAsIFAxNDggLCBQMTQ5ICwgUDE1MD4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBQODggaXRlbTg4OyB0eXBlZGVmIFA4OSBpdGVtODk7IHR5cGVkZWYgUDkwIGl0ZW05MDsgdHlwZWRlZiBQOTEgaXRlbTkxOyB0eXBlZGVmIFA5MiBpdGVtOTI7IHR5cGVkZWYgUDkzIGl0ZW05MzsgdHlwZWRlZiBQOTQgaXRlbTk0OyB0eXBlZGVmIFA5NSBpdGVtOTU7IHR5cGVkZWYgUDk2IGl0ZW05NjsgdHlwZWRlZiBQOTcgaXRlbTk3OyB0eXBlZGVmIFA5OCBpdGVtOTg7IHR5cGVkZWYgUDk5IGl0ZW05OTsgdHlwZWRlZiBQMTAwIGl0ZW0xMDA7IHR5cGVkZWYgUDEwMSBpdGVtMTAxOyB0eXBlZGVmIFAxMDIgaXRlbTEwMjsgdHlwZWRlZiBQMTAzIGl0ZW0xMDM7IHR5cGVkZWYgUDEwNCBpdGVtMTA0OyB0eXBlZGVmIFAxMDUgaXRlbTEwNTsgdHlwZWRlZiBQMTA2IGl0ZW0xMDY7IHR5cGVkZWYgUDEwNyBpdGVtMTA3OyB0eXBlZGVmIFAxMDggaXRlbTEwODsgdHlwZWRlZiBQMTA5IGl0ZW0xMDk7IHR5cGVkZWYgUDExMCBpdGVtMTEwOyB0eXBlZGVmIFAxMTEgaXRlbTExMTsgdHlwZWRlZiBQMTEyIGl0ZW0xMTI7IHR5cGVkZWYgUDExMyBpdGVtMTEzOyB0eXBlZGVmIFAxMTQgaXRlbTExNDsgdHlwZWRlZiBQMTE1IGl0ZW0xMTU7IHR5cGVkZWYgUDExNiBpdGVtMTE2OyB0eXBlZGVmIFAxMTcgaXRlbTExNzsgdHlwZWRlZiBQMTE4IGl0ZW0xMTg7IHR5cGVkZWYgUDExOSBpdGVtMTE5OyB0eXBlZGVmIFAxMjAgaXRlbTEyMDsgdHlwZWRlZiBQMTIxIGl0ZW0xMjE7IHR5cGVkZWYgUDEyMiBpdGVtMTIyOyB0eXBlZGVmIFAxMjMgaXRlbTEyMzsgdHlwZWRlZiBQMTI0IGl0ZW0xMjQ7IHR5cGVkZWYgUDEyNSBpdGVtMTI1OyB0eXBlZGVmIFAxMjYgaXRlbTEyNjsgdHlwZWRlZiBQMTI3IGl0ZW0xMjc7IHR5cGVkZWYgUDEyOCBpdGVtMTI4OyB0eXBlZGVmIFAxMjkgaXRlbTEyOTsgdHlwZWRlZiBQMTMwIGl0ZW0xMzA7IHR5cGVkZWYgUDEzMSBpdGVtMTMxOyB0eXBlZGVmIFAxMzIgaXRlbTEzMjsgdHlwZWRlZiBQMTMzIGl0ZW0xMzM7IHR5cGVkZWYgUDEzNCBpdGVtMTM0OyB0eXBlZGVmIFAxMzUgaXRlbTEzNTsgdHlwZWRlZiBQMTM2IGl0ZW0xMzY7IHR5cGVkZWYgUDEzNyBpdGVtMTM3OyB0eXBlZGVmIFAxMzggaXRlbTEzODsgdHlwZWRlZiBQMTM5IGl0ZW0xMzk7IHR5cGVkZWYgUDE0MCBpdGVtMTQwOyB0eXBlZGVmIFAxNDEgaXRlbTE0MTsgdHlwZWRlZiBQMTQyIGl0ZW0xNDI7IHR5cGVkZWYgUDE0MyBpdGVtMTQzOyB0eXBlZGVmIFAxNDQgaXRlbTE0NDsgdHlwZWRlZiBQMTQ1IGl0ZW0xNDU7IHR5cGVkZWYgUDE0NiBpdGVtMTQ2OyB0eXBlZGVmIFAxNDcgaXRlbTE0NzsgdHlwZWRlZiBQMTQ4IGl0ZW0xNDg7IHR5cGVkZWYgUDE0OSBpdGVtMTQ5OyB0eXBlZGVmIFAxNTAgaXRlbTE1MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0OTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ICwgY2xhc3MgUDk2ICwgY2xhc3MgUDk3ICwgY2xhc3MgUDk4ICwgY2xhc3MgUDk5ICwgY2xhc3MgUDEwMCAsIGNsYXNzIFAxMDEgLCBjbGFzcyBQMTAyICwgY2xhc3MgUDEwMyAsIGNsYXNzIFAxMDQgLCBjbGFzcyBQMTA1ICwgY2xhc3MgUDEwNiAsIGNsYXNzIFAxMDcgLCBjbGFzcyBQMTA4ICwgY2xhc3MgUDEwOSAsIGNsYXNzIFAxMTAgLCBjbGFzcyBQMTExICwgY2xhc3MgUDExMiAsIGNsYXNzIFAxMTMgLCBjbGFzcyBQMTE0ICwgY2xhc3MgUDExNSAsIGNsYXNzIFAxMTYgLCBjbGFzcyBQMTE3ICwgY2xhc3MgUDExOCAsIGNsYXNzIFAxMTkgLCBjbGFzcyBQMTIwICwgY2xhc3MgUDEyMSAsIGNsYXNzIFAxMjIgLCBjbGFzcyBQMTIzICwgY2xhc3MgUDEyNCAsIGNsYXNzIFAxMjUgLCBjbGFzcyBQMTI2ICwgY2xhc3MgUDEyNyAsIGNsYXNzIFAxMjggLCBjbGFzcyBQMTI5ICwgY2xhc3MgUDEzMCAsIGNsYXNzIFAxMzEgLCBjbGFzcyBQMTMyICwgY2xhc3MgUDEzMyAsIGNsYXNzIFAxMzQgLCBjbGFzcyBQMTM1ICwgY2xhc3MgUDEzNiAsIGNsYXNzIFAxMzcgLCBjbGFzcyBQMTM4ICwgY2xhc3MgUDEzOSAsIGNsYXNzIFAxNDAgLCBjbGFzcyBQMTQxICwgY2xhc3MgUDE0MiAsIGNsYXNzIFAxNDMgLCBjbGFzcyBQMTQ0ICwgY2xhc3MgUDE0NSAsIGNsYXNzIFAxNDYgLCBjbGFzcyBQMTQ3ICwgY2xhc3MgUDE0OCAsIGNsYXNzIFAxNDkgLCBjbGFzcyBQMTUwICwgY2xhc3MgUDE1MSA+IHN0cnVjdCB2ZWN0b3IxNTIgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3IxNTI8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1ICwgUDk2ICwgUDk3ICwgUDk4ICwgUDk5ICwgUDEwMCAsIFAxMDEgLCBQMTAyICwgUDEwMyAsIFAxMDQgLCBQMTA1ICwgUDEwNiAsIFAxMDcgLCBQMTA4ICwgUDEwOSAsIFAxMTAgLCBQMTExICwgUDExMiAsIFAxMTMgLCBQMTE0ICwgUDExNSAsIFAxMTYgLCBQMTE3ICwgUDExOCAsIFAxMTkgLCBQMTIwICwgUDEyMSAsIFAxMjIgLCBQMTIzICwgUDEyNCAsIFAxMjUgLCBQMTI2ICwgUDEyNyAsIFAxMjggLCBQMTI5ICwgUDEzMCAsIFAxMzEgLCBQMTMyICwgUDEzMyAsIFAxMzQgLCBQMTM1ICwgUDEzNiAsIFAxMzcgLCBQMTM4ICwgUDEzOSAsIFAxNDAgLCBQMTQxICwgUDE0MiAsIFAxNDMgLCBQMTQ0ICwgUDE0NSAsIFAxNDYgLCBQMTQ3ICwgUDE0OCAsIFAxNDkgLCBQMTUwICwgUDE1MT4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBQODggaXRlbTg4OyB0eXBlZGVmIFA4OSBpdGVtODk7IHR5cGVkZWYgUDkwIGl0ZW05MDsgdHlwZWRlZiBQOTEgaXRlbTkxOyB0eXBlZGVmIFA5MiBpdGVtOTI7IHR5cGVkZWYgUDkzIGl0ZW05MzsgdHlwZWRlZiBQOTQgaXRlbTk0OyB0eXBlZGVmIFA5NSBpdGVtOTU7IHR5cGVkZWYgUDk2IGl0ZW05NjsgdHlwZWRlZiBQOTcgaXRlbTk3OyB0eXBlZGVmIFA5OCBpdGVtOTg7IHR5cGVkZWYgUDk5IGl0ZW05OTsgdHlwZWRlZiBQMTAwIGl0ZW0xMDA7IHR5cGVkZWYgUDEwMSBpdGVtMTAxOyB0eXBlZGVmIFAxMDIgaXRlbTEwMjsgdHlwZWRlZiBQMTAzIGl0ZW0xMDM7IHR5cGVkZWYgUDEwNCBpdGVtMTA0OyB0eXBlZGVmIFAxMDUgaXRlbTEwNTsgdHlwZWRlZiBQMTA2IGl0ZW0xMDY7IHR5cGVkZWYgUDEwNyBpdGVtMTA3OyB0eXBlZGVmIFAxMDggaXRlbTEwODsgdHlwZWRlZiBQMTA5IGl0ZW0xMDk7IHR5cGVkZWYgUDExMCBpdGVtMTEwOyB0eXBlZGVmIFAxMTEgaXRlbTExMTsgdHlwZWRlZiBQMTEyIGl0ZW0xMTI7IHR5cGVkZWYgUDExMyBpdGVtMTEzOyB0eXBlZGVmIFAxMTQgaXRlbTExNDsgdHlwZWRlZiBQMTE1IGl0ZW0xMTU7IHR5cGVkZWYgUDExNiBpdGVtMTE2OyB0eXBlZGVmIFAxMTcgaXRlbTExNzsgdHlwZWRlZiBQMTE4IGl0ZW0xMTg7IHR5cGVkZWYgUDExOSBpdGVtMTE5OyB0eXBlZGVmIFAxMjAgaXRlbTEyMDsgdHlwZWRlZiBQMTIxIGl0ZW0xMjE7IHR5cGVkZWYgUDEyMiBpdGVtMTIyOyB0eXBlZGVmIFAxMjMgaXRlbTEyMzsgdHlwZWRlZiBQMTI0IGl0ZW0xMjQ7IHR5cGVkZWYgUDEyNSBpdGVtMTI1OyB0eXBlZGVmIFAxMjYgaXRlbTEyNjsgdHlwZWRlZiBQMTI3IGl0ZW0xMjc7IHR5cGVkZWYgUDEyOCBpdGVtMTI4OyB0eXBlZGVmIFAxMjkgaXRlbTEyOTsgdHlwZWRlZiBQMTMwIGl0ZW0xMzA7IHR5cGVkZWYgUDEzMSBpdGVtMTMxOyB0eXBlZGVmIFAxMzIgaXRlbTEzMjsgdHlwZWRlZiBQMTMzIGl0ZW0xMzM7IHR5cGVkZWYgUDEzNCBpdGVtMTM0OyB0eXBlZGVmIFAxMzUgaXRlbTEzNTsgdHlwZWRlZiBQMTM2IGl0ZW0xMzY7IHR5cGVkZWYgUDEzNyBpdGVtMTM3OyB0eXBlZGVmIFAxMzggaXRlbTEzODsgdHlwZWRlZiBQMTM5IGl0ZW0xMzk7IHR5cGVkZWYgUDE0MCBpdGVtMTQwOyB0eXBlZGVmIFAxNDEgaXRlbTE0MTsgdHlwZWRlZiBQMTQyIGl0ZW0xNDI7IHR5cGVkZWYgUDE0MyBpdGVtMTQzOyB0eXBlZGVmIFAxNDQgaXRlbTE0NDsgdHlwZWRlZiBQMTQ1IGl0ZW0xNDU7IHR5cGVkZWYgUDE0NiBpdGVtMTQ2OyB0eXBlZGVmIFAxNDcgaXRlbTE0NzsgdHlwZWRlZiBQMTQ4IGl0ZW0xNDg7IHR5cGVkZWYgUDE0OSBpdGVtMTQ5OyB0eXBlZGVmIFAxNTAgaXRlbTE1MDsgdHlwZWRlZiBQMTUxIGl0ZW0xNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDk7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSAsIGNsYXNzIFA4NiAsIGNsYXNzIFA4NyAsIGNsYXNzIFA4OCAsIGNsYXNzIFA4OSAsIGNsYXNzIFA5MCAsIGNsYXNzIFA5MSAsIGNsYXNzIFA5MiAsIGNsYXNzIFA5MyAsIGNsYXNzIFA5NCAsIGNsYXNzIFA5NSAsIGNsYXNzIFA5NiAsIGNsYXNzIFA5NyAsIGNsYXNzIFA5OCAsIGNsYXNzIFA5OSAsIGNsYXNzIFAxMDAgLCBjbGFzcyBQMTAxICwgY2xhc3MgUDEwMiAsIGNsYXNzIFAxMDMgLCBjbGFzcyBQMTA0ICwgY2xhc3MgUDEwNSAsIGNsYXNzIFAxMDYgLCBjbGFzcyBQMTA3ICwgY2xhc3MgUDEwOCAsIGNsYXNzIFAxMDkgLCBjbGFzcyBQMTEwICwgY2xhc3MgUDExMSAsIGNsYXNzIFAxMTIgLCBjbGFzcyBQMTEzICwgY2xhc3MgUDExNCAsIGNsYXNzIFAxMTUgLCBjbGFzcyBQMTE2ICwgY2xhc3MgUDExNyAsIGNsYXNzIFAxMTggLCBjbGFzcyBQMTE5ICwgY2xhc3MgUDEyMCAsIGNsYXNzIFAxMjEgLCBjbGFzcyBQMTIyICwgY2xhc3MgUDEyMyAsIGNsYXNzIFAxMjQgLCBjbGFzcyBQMTI1ICwgY2xhc3MgUDEyNiAsIGNsYXNzIFAxMjcgLCBjbGFzcyBQMTI4ICwgY2xhc3MgUDEyOSAsIGNsYXNzIFAxMzAgLCBjbGFzcyBQMTMxICwgY2xhc3MgUDEzMiAsIGNsYXNzIFAxMzMgLCBjbGFzcyBQMTM0ICwgY2xhc3MgUDEzNSAsIGNsYXNzIFAxMzYgLCBjbGFzcyBQMTM3ICwgY2xhc3MgUDEzOCAsIGNsYXNzIFAxMzkgLCBjbGFzcyBQMTQwICwgY2xhc3MgUDE0MSAsIGNsYXNzIFAxNDIgLCBjbGFzcyBQMTQzICwgY2xhc3MgUDE0NCAsIGNsYXNzIFAxNDUgLCBjbGFzcyBQMTQ2ICwgY2xhc3MgUDE0NyAsIGNsYXNzIFAxNDggLCBjbGFzcyBQMTQ5ICwgY2xhc3MgUDE1MCAsIGNsYXNzIFAxNTEgLCBjbGFzcyBQMTUyID4gc3RydWN0IHZlY3RvcjE1MyB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjE1MzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MCAsIFAxNDEgLCBQMTQyICwgUDE0MyAsIFAxNDQgLCBQMTQ1ICwgUDE0NiAsIFAxNDcgLCBQMTQ4ICwgUDE0OSAsIFAxNTAgLCBQMTUxICwgUDE1Mj4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBQODggaXRlbTg4OyB0eXBlZGVmIFA4OSBpdGVtODk7IHR5cGVkZWYgUDkwIGl0ZW05MDsgdHlwZWRlZiBQOTEgaXRlbTkxOyB0eXBlZGVmIFA5MiBpdGVtOTI7IHR5cGVkZWYgUDkzIGl0ZW05MzsgdHlwZWRlZiBQOTQgaXRlbTk0OyB0eXBlZGVmIFA5NSBpdGVtOTU7IHR5cGVkZWYgUDk2IGl0ZW05NjsgdHlwZWRlZiBQOTcgaXRlbTk3OyB0eXBlZGVmIFA5OCBpdGVtOTg7IHR5cGVkZWYgUDk5IGl0ZW05OTsgdHlwZWRlZiBQMTAwIGl0ZW0xMDA7IHR5cGVkZWYgUDEwMSBpdGVtMTAxOyB0eXBlZGVmIFAxMDIgaXRlbTEwMjsgdHlwZWRlZiBQMTAzIGl0ZW0xMDM7IHR5cGVkZWYgUDEwNCBpdGVtMTA0OyB0eXBlZGVmIFAxMDUgaXRlbTEwNTsgdHlwZWRlZiBQMTA2IGl0ZW0xMDY7IHR5cGVkZWYgUDEwNyBpdGVtMTA3OyB0eXBlZGVmIFAxMDggaXRlbTEwODsgdHlwZWRlZiBQMTA5IGl0ZW0xMDk7IHR5cGVkZWYgUDExMCBpdGVtMTEwOyB0eXBlZGVmIFAxMTEgaXRlbTExMTsgdHlwZWRlZiBQMTEyIGl0ZW0xMTI7IHR5cGVkZWYgUDExMyBpdGVtMTEzOyB0eXBlZGVmIFAxMTQgaXRlbTExNDsgdHlwZWRlZiBQMTE1IGl0ZW0xMTU7IHR5cGVkZWYgUDExNiBpdGVtMTE2OyB0eXBlZGVmIFAxMTcgaXRlbTExNzsgdHlwZWRlZiBQMTE4IGl0ZW0xMTg7IHR5cGVkZWYgUDExOSBpdGVtMTE5OyB0eXBlZGVmIFAxMjAgaXRlbTEyMDsgdHlwZWRlZiBQMTIxIGl0ZW0xMjE7IHR5cGVkZWYgUDEyMiBpdGVtMTIyOyB0eXBlZGVmIFAxMjMgaXRlbTEyMzsgdHlwZWRlZiBQMTI0IGl0ZW0xMjQ7IHR5cGVkZWYgUDEyNSBpdGVtMTI1OyB0eXBlZGVmIFAxMjYgaXRlbTEyNjsgdHlwZWRlZiBQMTI3IGl0ZW0xMjc7IHR5cGVkZWYgUDEyOCBpdGVtMTI4OyB0eXBlZGVmIFAxMjkgaXRlbTEyOTsgdHlwZWRlZiBQMTMwIGl0ZW0xMzA7IHR5cGVkZWYgUDEzMSBpdGVtMTMxOyB0eXBlZGVmIFAxMzIgaXRlbTEzMjsgdHlwZWRlZiBQMTMzIGl0ZW0xMzM7IHR5cGVkZWYgUDEzNCBpdGVtMTM0OyB0eXBlZGVmIFAxMzUgaXRlbTEzNTsgdHlwZWRlZiBQMTM2IGl0ZW0xMzY7IHR5cGVkZWYgUDEzNyBpdGVtMTM3OyB0eXBlZGVmIFAxMzggaXRlbTEzODsgdHlwZWRlZiBQMTM5IGl0ZW0xMzk7IHR5cGVkZWYgUDE0MCBpdGVtMTQwOyB0eXBlZGVmIFAxNDEgaXRlbTE0MTsgdHlwZWRlZiBQMTQyIGl0ZW0xNDI7IHR5cGVkZWYgUDE0MyBpdGVtMTQzOyB0eXBlZGVmIFAxNDQgaXRlbTE0NDsgdHlwZWRlZiBQMTQ1IGl0ZW0xNDU7IHR5cGVkZWYgUDE0NiBpdGVtMTQ2OyB0eXBlZGVmIFAxNDcgaXRlbTE0NzsgdHlwZWRlZiBQMTQ4IGl0ZW0xNDg7IHR5cGVkZWYgUDE0OSBpdGVtMTQ5OyB0eXBlZGVmIFAxNTAgaXRlbTE1MDsgdHlwZWRlZiBQMTUxIGl0ZW0xNTE7IHR5cGVkZWYgUDE1MiBpdGVtMTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ5OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBQOTMgLCBjbGFzcyBQOTQgLCBjbGFzcyBQOTUgLCBjbGFzcyBQOTYgLCBjbGFzcyBQOTcgLCBjbGFzcyBQOTggLCBjbGFzcyBQOTkgLCBjbGFzcyBQMTAwICwgY2xhc3MgUDEwMSAsIGNsYXNzIFAxMDIgLCBjbGFzcyBQMTAzICwgY2xhc3MgUDEwNCAsIGNsYXNzIFAxMDUgLCBjbGFzcyBQMTA2ICwgY2xhc3MgUDEwNyAsIGNsYXNzIFAxMDggLCBjbGFzcyBQMTA5ICwgY2xhc3MgUDExMCAsIGNsYXNzIFAxMTEgLCBjbGFzcyBQMTEyICwgY2xhc3MgUDExMyAsIGNsYXNzIFAxMTQgLCBjbGFzcyBQMTE1ICwgY2xhc3MgUDExNiAsIGNsYXNzIFAxMTcgLCBjbGFzcyBQMTE4ICwgY2xhc3MgUDExOSAsIGNsYXNzIFAxMjAgLCBjbGFzcyBQMTIxICwgY2xhc3MgUDEyMiAsIGNsYXNzIFAxMjMgLCBjbGFzcyBQMTI0ICwgY2xhc3MgUDEyNSAsIGNsYXNzIFAxMjYgLCBjbGFzcyBQMTI3ICwgY2xhc3MgUDEyOCAsIGNsYXNzIFAxMjkgLCBjbGFzcyBQMTMwICwgY2xhc3MgUDEzMSAsIGNsYXNzIFAxMzIgLCBjbGFzcyBQMTMzICwgY2xhc3MgUDEzNCAsIGNsYXNzIFAxMzUgLCBjbGFzcyBQMTM2ICwgY2xhc3MgUDEzNyAsIGNsYXNzIFAxMzggLCBjbGFzcyBQMTM5ICwgY2xhc3MgUDE0MCAsIGNsYXNzIFAxNDEgLCBjbGFzcyBQMTQyICwgY2xhc3MgUDE0MyAsIGNsYXNzIFAxNDQgLCBjbGFzcyBQMTQ1ICwgY2xhc3MgUDE0NiAsIGNsYXNzIFAxNDcgLCBjbGFzcyBQMTQ4ICwgY2xhc3MgUDE0OSAsIGNsYXNzIFAxNTAgLCBjbGFzcyBQMTUxICwgY2xhc3MgUDE1MiAsIGNsYXNzIFAxNTMgPiBzdHJ1Y3QgdmVjdG9yMTU0IHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yMTU0PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFA5MiAsIFA5MyAsIFA5NCAsIFA5NSAsIFA5NiAsIFA5NyAsIFA5OCAsIFA5OSAsIFAxMDAgLCBQMTAxICwgUDEwMiAsIFAxMDMgLCBQMTA0ICwgUDEwNSAsIFAxMDYgLCBQMTA3ICwgUDEwOCAsIFAxMDkgLCBQMTEwICwgUDExMSAsIFAxMTIgLCBQMTEzICwgUDExNCAsIFAxMTUgLCBQMTE2ICwgUDExNyAsIFAxMTggLCBQMTE5ICwgUDEyMCAsIFAxMjEgLCBQMTIyICwgUDEyMyAsIFAxMjQgLCBQMTI1ICwgUDEyNiAsIFAxMjcgLCBQMTI4ICwgUDEyOSAsIFAxMzAgLCBQMTMxICwgUDEzMiAsIFAxMzMgLCBQMTM0ICwgUDEzNSAsIFAxMzYgLCBQMTM3ICwgUDEzOCAsIFAxMzkgLCBQMTQwICwgUDE0MSAsIFAxNDIgLCBQMTQzICwgUDE0NCAsIFAxNDUgLCBQMTQ2ICwgUDE0NyAsIFAxNDggLCBQMTQ5ICwgUDE1MCAsIFAxNTEgLCBQMTUyICwgUDE1Mz4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBQODggaXRlbTg4OyB0eXBlZGVmIFA4OSBpdGVtODk7IHR5cGVkZWYgUDkwIGl0ZW05MDsgdHlwZWRlZiBQOTEgaXRlbTkxOyB0eXBlZGVmIFA5MiBpdGVtOTI7IHR5cGVkZWYgUDkzIGl0ZW05MzsgdHlwZWRlZiBQOTQgaXRlbTk0OyB0eXBlZGVmIFA5NSBpdGVtOTU7IHR5cGVkZWYgUDk2IGl0ZW05NjsgdHlwZWRlZiBQOTcgaXRlbTk3OyB0eXBlZGVmIFA5OCBpdGVtOTg7IHR5cGVkZWYgUDk5IGl0ZW05OTsgdHlwZWRlZiBQMTAwIGl0ZW0xMDA7IHR5cGVkZWYgUDEwMSBpdGVtMTAxOyB0eXBlZGVmIFAxMDIgaXRlbTEwMjsgdHlwZWRlZiBQMTAzIGl0ZW0xMDM7IHR5cGVkZWYgUDEwNCBpdGVtMTA0OyB0eXBlZGVmIFAxMDUgaXRlbTEwNTsgdHlwZWRlZiBQMTA2IGl0ZW0xMDY7IHR5cGVkZWYgUDEwNyBpdGVtMTA3OyB0eXBlZGVmIFAxMDggaXRlbTEwODsgdHlwZWRlZiBQMTA5IGl0ZW0xMDk7IHR5cGVkZWYgUDExMCBpdGVtMTEwOyB0eXBlZGVmIFAxMTEgaXRlbTExMTsgdHlwZWRlZiBQMTEyIGl0ZW0xMTI7IHR5cGVkZWYgUDExMyBpdGVtMTEzOyB0eXBlZGVmIFAxMTQgaXRlbTExNDsgdHlwZWRlZiBQMTE1IGl0ZW0xMTU7IHR5cGVkZWYgUDExNiBpdGVtMTE2OyB0eXBlZGVmIFAxMTcgaXRlbTExNzsgdHlwZWRlZiBQMTE4IGl0ZW0xMTg7IHR5cGVkZWYgUDExOSBpdGVtMTE5OyB0eXBlZGVmIFAxMjAgaXRlbTEyMDsgdHlwZWRlZiBQMTIxIGl0ZW0xMjE7IHR5cGVkZWYgUDEyMiBpdGVtMTIyOyB0eXBlZGVmIFAxMjMgaXRlbTEyMzsgdHlwZWRlZiBQMTI0IGl0ZW0xMjQ7IHR5cGVkZWYgUDEyNSBpdGVtMTI1OyB0eXBlZGVmIFAxMjYgaXRlbTEyNjsgdHlwZWRlZiBQMTI3IGl0ZW0xMjc7IHR5cGVkZWYgUDEyOCBpdGVtMTI4OyB0eXBlZGVmIFAxMjkgaXRlbTEyOTsgdHlwZWRlZiBQMTMwIGl0ZW0xMzA7IHR5cGVkZWYgUDEzMSBpdGVtMTMxOyB0eXBlZGVmIFAxMzIgaXRlbTEzMjsgdHlwZWRlZiBQMTMzIGl0ZW0xMzM7IHR5cGVkZWYgUDEzNCBpdGVtMTM0OyB0eXBlZGVmIFAxMzUgaXRlbTEzNTsgdHlwZWRlZiBQMTM2IGl0ZW0xMzY7IHR5cGVkZWYgUDEzNyBpdGVtMTM3OyB0eXBlZGVmIFAxMzggaXRlbTEzODsgdHlwZWRlZiBQMTM5IGl0ZW0xMzk7IHR5cGVkZWYgUDE0MCBpdGVtMTQwOyB0eXBlZGVmIFAxNDEgaXRlbTE0MTsgdHlwZWRlZiBQMTQyIGl0ZW0xNDI7IHR5cGVkZWYgUDE0MyBpdGVtMTQzOyB0eXBlZGVmIFAxNDQgaXRlbTE0NDsgdHlwZWRlZiBQMTQ1IGl0ZW0xNDU7IHR5cGVkZWYgUDE0NiBpdGVtMTQ2OyB0eXBlZGVmIFAxNDcgaXRlbTE0NzsgdHlwZWRlZiBQMTQ4IGl0ZW0xNDg7IHR5cGVkZWYgUDE0OSBpdGVtMTQ5OyB0eXBlZGVmIFAxNTAgaXRlbTE1MDsgdHlwZWRlZiBQMTUxIGl0ZW0xNTE7IHR5cGVkZWYgUDE1MiBpdGVtMTUyOyB0eXBlZGVmIFAxNTMgaXRlbTE1MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0OTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ICwgY2xhc3MgUDk2ICwgY2xhc3MgUDk3ICwgY2xhc3MgUDk4ICwgY2xhc3MgUDk5ICwgY2xhc3MgUDEwMCAsIGNsYXNzIFAxMDEgLCBjbGFzcyBQMTAyICwgY2xhc3MgUDEwMyAsIGNsYXNzIFAxMDQgLCBjbGFzcyBQMTA1ICwgY2xhc3MgUDEwNiAsIGNsYXNzIFAxMDcgLCBjbGFzcyBQMTA4ICwgY2xhc3MgUDEwOSAsIGNsYXNzIFAxMTAgLCBjbGFzcyBQMTExICwgY2xhc3MgUDExMiAsIGNsYXNzIFAxMTMgLCBjbGFzcyBQMTE0ICwgY2xhc3MgUDExNSAsIGNsYXNzIFAxMTYgLCBjbGFzcyBQMTE3ICwgY2xhc3MgUDExOCAsIGNsYXNzIFAxMTkgLCBjbGFzcyBQMTIwICwgY2xhc3MgUDEyMSAsIGNsYXNzIFAxMjIgLCBjbGFzcyBQMTIzICwgY2xhc3MgUDEyNCAsIGNsYXNzIFAxMjUgLCBjbGFzcyBQMTI2ICwgY2xhc3MgUDEyNyAsIGNsYXNzIFAxMjggLCBjbGFzcyBQMTI5ICwgY2xhc3MgUDEzMCAsIGNsYXNzIFAxMzEgLCBjbGFzcyBQMTMyICwgY2xhc3MgUDEzMyAsIGNsYXNzIFAxMzQgLCBjbGFzcyBQMTM1ICwgY2xhc3MgUDEzNiAsIGNsYXNzIFAxMzcgLCBjbGFzcyBQMTM4ICwgY2xhc3MgUDEzOSAsIGNsYXNzIFAxNDAgLCBjbGFzcyBQMTQxICwgY2xhc3MgUDE0MiAsIGNsYXNzIFAxNDMgLCBjbGFzcyBQMTQ0ICwgY2xhc3MgUDE0NSAsIGNsYXNzIFAxNDYgLCBjbGFzcyBQMTQ3ICwgY2xhc3MgUDE0OCAsIGNsYXNzIFAxNDkgLCBjbGFzcyBQMTUwICwgY2xhc3MgUDE1MSAsIGNsYXNzIFAxNTIgLCBjbGFzcyBQMTUzICwgY2xhc3MgUDE1NCA+IHN0cnVjdCB2ZWN0b3IxNTUgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3IxNTU8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1ICwgUDk2ICwgUDk3ICwgUDk4ICwgUDk5ICwgUDEwMCAsIFAxMDEgLCBQMTAyICwgUDEwMyAsIFAxMDQgLCBQMTA1ICwgUDEwNiAsIFAxMDcgLCBQMTA4ICwgUDEwOSAsIFAxMTAgLCBQMTExICwgUDExMiAsIFAxMTMgLCBQMTE0ICwgUDExNSAsIFAxMTYgLCBQMTE3ICwgUDExOCAsIFAxMTkgLCBQMTIwICwgUDEyMSAsIFAxMjIgLCBQMTIzICwgUDEyNCAsIFAxMjUgLCBQMTI2ICwgUDEyNyAsIFAxMjggLCBQMTI5ICwgUDEzMCAsIFAxMzEgLCBQMTMyICwgUDEzMyAsIFAxMzQgLCBQMTM1ICwgUDEzNiAsIFAxMzcgLCBQMTM4ICwgUDEzOSAsIFAxNDAgLCBQMTQxICwgUDE0MiAsIFAxNDMgLCBQMTQ0ICwgUDE0NSAsIFAxNDYgLCBQMTQ3ICwgUDE0OCAsIFAxNDkgLCBQMTUwICwgUDE1MSAsIFAxNTIgLCBQMTUzICwgUDE1ND4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBQODggaXRlbTg4OyB0eXBlZGVmIFA4OSBpdGVtODk7IHR5cGVkZWYgUDkwIGl0ZW05MDsgdHlwZWRlZiBQOTEgaXRlbTkxOyB0eXBlZGVmIFA5MiBpdGVtOTI7IHR5cGVkZWYgUDkzIGl0ZW05MzsgdHlwZWRlZiBQOTQgaXRlbTk0OyB0eXBlZGVmIFA5NSBpdGVtOTU7IHR5cGVkZWYgUDk2IGl0ZW05NjsgdHlwZWRlZiBQOTcgaXRlbTk3OyB0eXBlZGVmIFA5OCBpdGVtOTg7IHR5cGVkZWYgUDk5IGl0ZW05OTsgdHlwZWRlZiBQMTAwIGl0ZW0xMDA7IHR5cGVkZWYgUDEwMSBpdGVtMTAxOyB0eXBlZGVmIFAxMDIgaXRlbTEwMjsgdHlwZWRlZiBQMTAzIGl0ZW0xMDM7IHR5cGVkZWYgUDEwNCBpdGVtMTA0OyB0eXBlZGVmIFAxMDUgaXRlbTEwNTsgdHlwZWRlZiBQMTA2IGl0ZW0xMDY7IHR5cGVkZWYgUDEwNyBpdGVtMTA3OyB0eXBlZGVmIFAxMDggaXRlbTEwODsgdHlwZWRlZiBQMTA5IGl0ZW0xMDk7IHR5cGVkZWYgUDExMCBpdGVtMTEwOyB0eXBlZGVmIFAxMTEgaXRlbTExMTsgdHlwZWRlZiBQMTEyIGl0ZW0xMTI7IHR5cGVkZWYgUDExMyBpdGVtMTEzOyB0eXBlZGVmIFAxMTQgaXRlbTExNDsgdHlwZWRlZiBQMTE1IGl0ZW0xMTU7IHR5cGVkZWYgUDExNiBpdGVtMTE2OyB0eXBlZGVmIFAxMTcgaXRlbTExNzsgdHlwZWRlZiBQMTE4IGl0ZW0xMTg7IHR5cGVkZWYgUDExOSBpdGVtMTE5OyB0eXBlZGVmIFAxMjAgaXRlbTEyMDsgdHlwZWRlZiBQMTIxIGl0ZW0xMjE7IHR5cGVkZWYgUDEyMiBpdGVtMTIyOyB0eXBlZGVmIFAxMjMgaXRlbTEyMzsgdHlwZWRlZiBQMTI0IGl0ZW0xMjQ7IHR5cGVkZWYgUDEyNSBpdGVtMTI1OyB0eXBlZGVmIFAxMjYgaXRlbTEyNjsgdHlwZWRlZiBQMTI3IGl0ZW0xMjc7IHR5cGVkZWYgUDEyOCBpdGVtMTI4OyB0eXBlZGVmIFAxMjkgaXRlbTEyOTsgdHlwZWRlZiBQMTMwIGl0ZW0xMzA7IHR5cGVkZWYgUDEzMSBpdGVtMTMxOyB0eXBlZGVmIFAxMzIgaXRlbTEzMjsgdHlwZWRlZiBQMTMzIGl0ZW0xMzM7IHR5cGVkZWYgUDEzNCBpdGVtMTM0OyB0eXBlZGVmIFAxMzUgaXRlbTEzNTsgdHlwZWRlZiBQMTM2IGl0ZW0xMzY7IHR5cGVkZWYgUDEzNyBpdGVtMTM3OyB0eXBlZGVmIFAxMzggaXRlbTEzODsgdHlwZWRlZiBQMTM5IGl0ZW0xMzk7IHR5cGVkZWYgUDE0MCBpdGVtMTQwOyB0eXBlZGVmIFAxNDEgaXRlbTE0MTsgdHlwZWRlZiBQMTQyIGl0ZW0xNDI7IHR5cGVkZWYgUDE0MyBpdGVtMTQzOyB0eXBlZGVmIFAxNDQgaXRlbTE0NDsgdHlwZWRlZiBQMTQ1IGl0ZW0xNDU7IHR5cGVkZWYgUDE0NiBpdGVtMTQ2OyB0eXBlZGVmIFAxNDcgaXRlbTE0NzsgdHlwZWRlZiBQMTQ4IGl0ZW0xNDg7IHR5cGVkZWYgUDE0OSBpdGVtMTQ5OyB0eXBlZGVmIFAxNTAgaXRlbTE1MDsgdHlwZWRlZiBQMTUxIGl0ZW0xNTE7IHR5cGVkZWYgUDE1MiBpdGVtMTUyOyB0eXBlZGVmIFAxNTMgaXRlbTE1MzsgdHlwZWRlZiBQMTU0IGl0ZW0xNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDk7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSAsIGNsYXNzIFA4NiAsIGNsYXNzIFA4NyAsIGNsYXNzIFA4OCAsIGNsYXNzIFA4OSAsIGNsYXNzIFA5MCAsIGNsYXNzIFA5MSAsIGNsYXNzIFA5MiAsIGNsYXNzIFA5MyAsIGNsYXNzIFA5NCAsIGNsYXNzIFA5NSAsIGNsYXNzIFA5NiAsIGNsYXNzIFA5NyAsIGNsYXNzIFA5OCAsIGNsYXNzIFA5OSAsIGNsYXNzIFAxMDAgLCBjbGFzcyBQMTAxICwgY2xhc3MgUDEwMiAsIGNsYXNzIFAxMDMgLCBjbGFzcyBQMTA0ICwgY2xhc3MgUDEwNSAsIGNsYXNzIFAxMDYgLCBjbGFzcyBQMTA3ICwgY2xhc3MgUDEwOCAsIGNsYXNzIFAxMDkgLCBjbGFzcyBQMTEwICwgY2xhc3MgUDExMSAsIGNsYXNzIFAxMTIgLCBjbGFzcyBQMTEzICwgY2xhc3MgUDExNCAsIGNsYXNzIFAxMTUgLCBjbGFzcyBQMTE2ICwgY2xhc3MgUDExNyAsIGNsYXNzIFAxMTggLCBjbGFzcyBQMTE5ICwgY2xhc3MgUDEyMCAsIGNsYXNzIFAxMjEgLCBjbGFzcyBQMTIyICwgY2xhc3MgUDEyMyAsIGNsYXNzIFAxMjQgLCBjbGFzcyBQMTI1ICwgY2xhc3MgUDEyNiAsIGNsYXNzIFAxMjcgLCBjbGFzcyBQMTI4ICwgY2xhc3MgUDEyOSAsIGNsYXNzIFAxMzAgLCBjbGFzcyBQMTMxICwgY2xhc3MgUDEzMiAsIGNsYXNzIFAxMzMgLCBjbGFzcyBQMTM0ICwgY2xhc3MgUDEzNSAsIGNsYXNzIFAxMzYgLCBjbGFzcyBQMTM3ICwgY2xhc3MgUDEzOCAsIGNsYXNzIFAxMzkgLCBjbGFzcyBQMTQwICwgY2xhc3MgUDE0MSAsIGNsYXNzIFAxNDIgLCBjbGFzcyBQMTQzICwgY2xhc3MgUDE0NCAsIGNsYXNzIFAxNDUgLCBjbGFzcyBQMTQ2ICwgY2xhc3MgUDE0NyAsIGNsYXNzIFAxNDggLCBjbGFzcyBQMTQ5ICwgY2xhc3MgUDE1MCAsIGNsYXNzIFAxNTEgLCBjbGFzcyBQMTUyICwgY2xhc3MgUDE1MyAsIGNsYXNzIFAxNTQgLCBjbGFzcyBQMTU1ID4gc3RydWN0IHZlY3RvcjE1NiB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjE1NjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MCAsIFAxNDEgLCBQMTQyICwgUDE0MyAsIFAxNDQgLCBQMTQ1ICwgUDE0NiAsIFAxNDcgLCBQMTQ4ICwgUDE0OSAsIFAxNTAgLCBQMTUxICwgUDE1MiAsIFAxNTMgLCBQMTU0ICwgUDE1NT4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBQODggaXRlbTg4OyB0eXBlZGVmIFA4OSBpdGVtODk7IHR5cGVkZWYgUDkwIGl0ZW05MDsgdHlwZWRlZiBQOTEgaXRlbTkxOyB0eXBlZGVmIFA5MiBpdGVtOTI7IHR5cGVkZWYgUDkzIGl0ZW05MzsgdHlwZWRlZiBQOTQgaXRlbTk0OyB0eXBlZGVmIFA5NSBpdGVtOTU7IHR5cGVkZWYgUDk2IGl0ZW05NjsgdHlwZWRlZiBQOTcgaXRlbTk3OyB0eXBlZGVmIFA5OCBpdGVtOTg7IHR5cGVkZWYgUDk5IGl0ZW05OTsgdHlwZWRlZiBQMTAwIGl0ZW0xMDA7IHR5cGVkZWYgUDEwMSBpdGVtMTAxOyB0eXBlZGVmIFAxMDIgaXRlbTEwMjsgdHlwZWRlZiBQMTAzIGl0ZW0xMDM7IHR5cGVkZWYgUDEwNCBpdGVtMTA0OyB0eXBlZGVmIFAxMDUgaXRlbTEwNTsgdHlwZWRlZiBQMTA2IGl0ZW0xMDY7IHR5cGVkZWYgUDEwNyBpdGVtMTA3OyB0eXBlZGVmIFAxMDggaXRlbTEwODsgdHlwZWRlZiBQMTA5IGl0ZW0xMDk7IHR5cGVkZWYgUDExMCBpdGVtMTEwOyB0eXBlZGVmIFAxMTEgaXRlbTExMTsgdHlwZWRlZiBQMTEyIGl0ZW0xMTI7IHR5cGVkZWYgUDExMyBpdGVtMTEzOyB0eXBlZGVmIFAxMTQgaXRlbTExNDsgdHlwZWRlZiBQMTE1IGl0ZW0xMTU7IHR5cGVkZWYgUDExNiBpdGVtMTE2OyB0eXBlZGVmIFAxMTcgaXRlbTExNzsgdHlwZWRlZiBQMTE4IGl0ZW0xMTg7IHR5cGVkZWYgUDExOSBpdGVtMTE5OyB0eXBlZGVmIFAxMjAgaXRlbTEyMDsgdHlwZWRlZiBQMTIxIGl0ZW0xMjE7IHR5cGVkZWYgUDEyMiBpdGVtMTIyOyB0eXBlZGVmIFAxMjMgaXRlbTEyMzsgdHlwZWRlZiBQMTI0IGl0ZW0xMjQ7IHR5cGVkZWYgUDEyNSBpdGVtMTI1OyB0eXBlZGVmIFAxMjYgaXRlbTEyNjsgdHlwZWRlZiBQMTI3IGl0ZW0xMjc7IHR5cGVkZWYgUDEyOCBpdGVtMTI4OyB0eXBlZGVmIFAxMjkgaXRlbTEyOTsgdHlwZWRlZiBQMTMwIGl0ZW0xMzA7IHR5cGVkZWYgUDEzMSBpdGVtMTMxOyB0eXBlZGVmIFAxMzIgaXRlbTEzMjsgdHlwZWRlZiBQMTMzIGl0ZW0xMzM7IHR5cGVkZWYgUDEzNCBpdGVtMTM0OyB0eXBlZGVmIFAxMzUgaXRlbTEzNTsgdHlwZWRlZiBQMTM2IGl0ZW0xMzY7IHR5cGVkZWYgUDEzNyBpdGVtMTM3OyB0eXBlZGVmIFAxMzggaXRlbTEzODsgdHlwZWRlZiBQMTM5IGl0ZW0xMzk7IHR5cGVkZWYgUDE0MCBpdGVtMTQwOyB0eXBlZGVmIFAxNDEgaXRlbTE0MTsgdHlwZWRlZiBQMTQyIGl0ZW0xNDI7IHR5cGVkZWYgUDE0MyBpdGVtMTQzOyB0eXBlZGVmIFAxNDQgaXRlbTE0NDsgdHlwZWRlZiBQMTQ1IGl0ZW0xNDU7IHR5cGVkZWYgUDE0NiBpdGVtMTQ2OyB0eXBlZGVmIFAxNDcgaXRlbTE0NzsgdHlwZWRlZiBQMTQ4IGl0ZW0xNDg7IHR5cGVkZWYgUDE0OSBpdGVtMTQ5OyB0eXBlZGVmIFAxNTAgaXRlbTE1MDsgdHlwZWRlZiBQMTUxIGl0ZW0xNTE7IHR5cGVkZWYgUDE1MiBpdGVtMTUyOyB0eXBlZGVmIFAxNTMgaXRlbTE1MzsgdHlwZWRlZiBQMTU0IGl0ZW0xNTQ7IHR5cGVkZWYgUDE1NSBpdGVtMTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ5OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBQOTMgLCBjbGFzcyBQOTQgLCBjbGFzcyBQOTUgLCBjbGFzcyBQOTYgLCBjbGFzcyBQOTcgLCBjbGFzcyBQOTggLCBjbGFzcyBQOTkgLCBjbGFzcyBQMTAwICwgY2xhc3MgUDEwMSAsIGNsYXNzIFAxMDIgLCBjbGFzcyBQMTAzICwgY2xhc3MgUDEwNCAsIGNsYXNzIFAxMDUgLCBjbGFzcyBQMTA2ICwgY2xhc3MgUDEwNyAsIGNsYXNzIFAxMDggLCBjbGFzcyBQMTA5ICwgY2xhc3MgUDExMCAsIGNsYXNzIFAxMTEgLCBjbGFzcyBQMTEyICwgY2xhc3MgUDExMyAsIGNsYXNzIFAxMTQgLCBjbGFzcyBQMTE1ICwgY2xhc3MgUDExNiAsIGNsYXNzIFAxMTcgLCBjbGFzcyBQMTE4ICwgY2xhc3MgUDExOSAsIGNsYXNzIFAxMjAgLCBjbGFzcyBQMTIxICwgY2xhc3MgUDEyMiAsIGNsYXNzIFAxMjMgLCBjbGFzcyBQMTI0ICwgY2xhc3MgUDEyNSAsIGNsYXNzIFAxMjYgLCBjbGFzcyBQMTI3ICwgY2xhc3MgUDEyOCAsIGNsYXNzIFAxMjkgLCBjbGFzcyBQMTMwICwgY2xhc3MgUDEzMSAsIGNsYXNzIFAxMzIgLCBjbGFzcyBQMTMzICwgY2xhc3MgUDEzNCAsIGNsYXNzIFAxMzUgLCBjbGFzcyBQMTM2ICwgY2xhc3MgUDEzNyAsIGNsYXNzIFAxMzggLCBjbGFzcyBQMTM5ICwgY2xhc3MgUDE0MCAsIGNsYXNzIFAxNDEgLCBjbGFzcyBQMTQyICwgY2xhc3MgUDE0MyAsIGNsYXNzIFAxNDQgLCBjbGFzcyBQMTQ1ICwgY2xhc3MgUDE0NiAsIGNsYXNzIFAxNDcgLCBjbGFzcyBQMTQ4ICwgY2xhc3MgUDE0OSAsIGNsYXNzIFAxNTAgLCBjbGFzcyBQMTUxICwgY2xhc3MgUDE1MiAsIGNsYXNzIFAxNTMgLCBjbGFzcyBQMTU0ICwgY2xhc3MgUDE1NSAsIGNsYXNzIFAxNTYgPiBzdHJ1Y3QgdmVjdG9yMTU3IHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yMTU3PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFA5MiAsIFA5MyAsIFA5NCAsIFA5NSAsIFA5NiAsIFA5NyAsIFA5OCAsIFA5OSAsIFAxMDAgLCBQMTAxICwgUDEwMiAsIFAxMDMgLCBQMTA0ICwgUDEwNSAsIFAxMDYgLCBQMTA3ICwgUDEwOCAsIFAxMDkgLCBQMTEwICwgUDExMSAsIFAxMTIgLCBQMTEzICwgUDExNCAsIFAxMTUgLCBQMTE2ICwgUDExNyAsIFAxMTggLCBQMTE5ICwgUDEyMCAsIFAxMjEgLCBQMTIyICwgUDEyMyAsIFAxMjQgLCBQMTI1ICwgUDEyNiAsIFAxMjcgLCBQMTI4ICwgUDEyOSAsIFAxMzAgLCBQMTMxICwgUDEzMiAsIFAxMzMgLCBQMTM0ICwgUDEzNSAsIFAxMzYgLCBQMTM3ICwgUDEzOCAsIFAxMzkgLCBQMTQwICwgUDE0MSAsIFAxNDIgLCBQMTQzICwgUDE0NCAsIFAxNDUgLCBQMTQ2ICwgUDE0NyAsIFAxNDggLCBQMTQ5ICwgUDE1MCAsIFAxNTEgLCBQMTUyICwgUDE1MyAsIFAxNTQgLCBQMTU1ICwgUDE1Nj4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBQODggaXRlbTg4OyB0eXBlZGVmIFA4OSBpdGVtODk7IHR5cGVkZWYgUDkwIGl0ZW05MDsgdHlwZWRlZiBQOTEgaXRlbTkxOyB0eXBlZGVmIFA5MiBpdGVtOTI7IHR5cGVkZWYgUDkzIGl0ZW05MzsgdHlwZWRlZiBQOTQgaXRlbTk0OyB0eXBlZGVmIFA5NSBpdGVtOTU7IHR5cGVkZWYgUDk2IGl0ZW05NjsgdHlwZWRlZiBQOTcgaXRlbTk3OyB0eXBlZGVmIFA5OCBpdGVtOTg7IHR5cGVkZWYgUDk5IGl0ZW05OTsgdHlwZWRlZiBQMTAwIGl0ZW0xMDA7IHR5cGVkZWYgUDEwMSBpdGVtMTAxOyB0eXBlZGVmIFAxMDIgaXRlbTEwMjsgdHlwZWRlZiBQMTAzIGl0ZW0xMDM7IHR5cGVkZWYgUDEwNCBpdGVtMTA0OyB0eXBlZGVmIFAxMDUgaXRlbTEwNTsgdHlwZWRlZiBQMTA2IGl0ZW0xMDY7IHR5cGVkZWYgUDEwNyBpdGVtMTA3OyB0eXBlZGVmIFAxMDggaXRlbTEwODsgdHlwZWRlZiBQMTA5IGl0ZW0xMDk7IHR5cGVkZWYgUDExMCBpdGVtMTEwOyB0eXBlZGVmIFAxMTEgaXRlbTExMTsgdHlwZWRlZiBQMTEyIGl0ZW0xMTI7IHR5cGVkZWYgUDExMyBpdGVtMTEzOyB0eXBlZGVmIFAxMTQgaXRlbTExNDsgdHlwZWRlZiBQMTE1IGl0ZW0xMTU7IHR5cGVkZWYgUDExNiBpdGVtMTE2OyB0eXBlZGVmIFAxMTcgaXRlbTExNzsgdHlwZWRlZiBQMTE4IGl0ZW0xMTg7IHR5cGVkZWYgUDExOSBpdGVtMTE5OyB0eXBlZGVmIFAxMjAgaXRlbTEyMDsgdHlwZWRlZiBQMTIxIGl0ZW0xMjE7IHR5cGVkZWYgUDEyMiBpdGVtMTIyOyB0eXBlZGVmIFAxMjMgaXRlbTEyMzsgdHlwZWRlZiBQMTI0IGl0ZW0xMjQ7IHR5cGVkZWYgUDEyNSBpdGVtMTI1OyB0eXBlZGVmIFAxMjYgaXRlbTEyNjsgdHlwZWRlZiBQMTI3IGl0ZW0xMjc7IHR5cGVkZWYgUDEyOCBpdGVtMTI4OyB0eXBlZGVmIFAxMjkgaXRlbTEyOTsgdHlwZWRlZiBQMTMwIGl0ZW0xMzA7IHR5cGVkZWYgUDEzMSBpdGVtMTMxOyB0eXBlZGVmIFAxMzIgaXRlbTEzMjsgdHlwZWRlZiBQMTMzIGl0ZW0xMzM7IHR5cGVkZWYgUDEzNCBpdGVtMTM0OyB0eXBlZGVmIFAxMzUgaXRlbTEzNTsgdHlwZWRlZiBQMTM2IGl0ZW0xMzY7IHR5cGVkZWYgUDEzNyBpdGVtMTM3OyB0eXBlZGVmIFAxMzggaXRlbTEzODsgdHlwZWRlZiBQMTM5IGl0ZW0xMzk7IHR5cGVkZWYgUDE0MCBpdGVtMTQwOyB0eXBlZGVmIFAxNDEgaXRlbTE0MTsgdHlwZWRlZiBQMTQyIGl0ZW0xNDI7IHR5cGVkZWYgUDE0MyBpdGVtMTQzOyB0eXBlZGVmIFAxNDQgaXRlbTE0NDsgdHlwZWRlZiBQMTQ1IGl0ZW0xNDU7IHR5cGVkZWYgUDE0NiBpdGVtMTQ2OyB0eXBlZGVmIFAxNDcgaXRlbTE0NzsgdHlwZWRlZiBQMTQ4IGl0ZW0xNDg7IHR5cGVkZWYgUDE0OSBpdGVtMTQ5OyB0eXBlZGVmIFAxNTAgaXRlbTE1MDsgdHlwZWRlZiBQMTUxIGl0ZW0xNTE7IHR5cGVkZWYgUDE1MiBpdGVtMTUyOyB0eXBlZGVmIFAxNTMgaXRlbTE1MzsgdHlwZWRlZiBQMTU0IGl0ZW0xNTQ7IHR5cGVkZWYgUDE1NSBpdGVtMTU1OyB0eXBlZGVmIFAxNTYgaXRlbTE1NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0OTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ICwgY2xhc3MgUDk2ICwgY2xhc3MgUDk3ICwgY2xhc3MgUDk4ICwgY2xhc3MgUDk5ICwgY2xhc3MgUDEwMCAsIGNsYXNzIFAxMDEgLCBjbGFzcyBQMTAyICwgY2xhc3MgUDEwMyAsIGNsYXNzIFAxMDQgLCBjbGFzcyBQMTA1ICwgY2xhc3MgUDEwNiAsIGNsYXNzIFAxMDcgLCBjbGFzcyBQMTA4ICwgY2xhc3MgUDEwOSAsIGNsYXNzIFAxMTAgLCBjbGFzcyBQMTExICwgY2xhc3MgUDExMiAsIGNsYXNzIFAxMTMgLCBjbGFzcyBQMTE0ICwgY2xhc3MgUDExNSAsIGNsYXNzIFAxMTYgLCBjbGFzcyBQMTE3ICwgY2xhc3MgUDExOCAsIGNsYXNzIFAxMTkgLCBjbGFzcyBQMTIwICwgY2xhc3MgUDEyMSAsIGNsYXNzIFAxMjIgLCBjbGFzcyBQMTIzICwgY2xhc3MgUDEyNCAsIGNsYXNzIFAxMjUgLCBjbGFzcyBQMTI2ICwgY2xhc3MgUDEyNyAsIGNsYXNzIFAxMjggLCBjbGFzcyBQMTI5ICwgY2xhc3MgUDEzMCAsIGNsYXNzIFAxMzEgLCBjbGFzcyBQMTMyICwgY2xhc3MgUDEzMyAsIGNsYXNzIFAxMzQgLCBjbGFzcyBQMTM1ICwgY2xhc3MgUDEzNiAsIGNsYXNzIFAxMzcgLCBjbGFzcyBQMTM4ICwgY2xhc3MgUDEzOSAsIGNsYXNzIFAxNDAgLCBjbGFzcyBQMTQxICwgY2xhc3MgUDE0MiAsIGNsYXNzIFAxNDMgLCBjbGFzcyBQMTQ0ICwgY2xhc3MgUDE0NSAsIGNsYXNzIFAxNDYgLCBjbGFzcyBQMTQ3ICwgY2xhc3MgUDE0OCAsIGNsYXNzIFAxNDkgLCBjbGFzcyBQMTUwICwgY2xhc3MgUDE1MSAsIGNsYXNzIFAxNTIgLCBjbGFzcyBQMTUzICwgY2xhc3MgUDE1NCAsIGNsYXNzIFAxNTUgLCBjbGFzcyBQMTU2ICwgY2xhc3MgUDE1NyA+IHN0cnVjdCB2ZWN0b3IxNTggeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3IxNTg8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1ICwgUDk2ICwgUDk3ICwgUDk4ICwgUDk5ICwgUDEwMCAsIFAxMDEgLCBQMTAyICwgUDEwMyAsIFAxMDQgLCBQMTA1ICwgUDEwNiAsIFAxMDcgLCBQMTA4ICwgUDEwOSAsIFAxMTAgLCBQMTExICwgUDExMiAsIFAxMTMgLCBQMTE0ICwgUDExNSAsIFAxMTYgLCBQMTE3ICwgUDExOCAsIFAxMTkgLCBQMTIwICwgUDEyMSAsIFAxMjIgLCBQMTIzICwgUDEyNCAsIFAxMjUgLCBQMTI2ICwgUDEyNyAsIFAxMjggLCBQMTI5ICwgUDEzMCAsIFAxMzEgLCBQMTMyICwgUDEzMyAsIFAxMzQgLCBQMTM1ICwgUDEzNiAsIFAxMzcgLCBQMTM4ICwgUDEzOSAsIFAxNDAgLCBQMTQxICwgUDE0MiAsIFAxNDMgLCBQMTQ0ICwgUDE0NSAsIFAxNDYgLCBQMTQ3ICwgUDE0OCAsIFAxNDkgLCBQMTUwICwgUDE1MSAsIFAxNTIgLCBQMTUzICwgUDE1NCAsIFAxNTUgLCBQMTU2ICwgUDE1Nz4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBQODggaXRlbTg4OyB0eXBlZGVmIFA4OSBpdGVtODk7IHR5cGVkZWYgUDkwIGl0ZW05MDsgdHlwZWRlZiBQOTEgaXRlbTkxOyB0eXBlZGVmIFA5MiBpdGVtOTI7IHR5cGVkZWYgUDkzIGl0ZW05MzsgdHlwZWRlZiBQOTQgaXRlbTk0OyB0eXBlZGVmIFA5NSBpdGVtOTU7IHR5cGVkZWYgUDk2IGl0ZW05NjsgdHlwZWRlZiBQOTcgaXRlbTk3OyB0eXBlZGVmIFA5OCBpdGVtOTg7IHR5cGVkZWYgUDk5IGl0ZW05OTsgdHlwZWRlZiBQMTAwIGl0ZW0xMDA7IHR5cGVkZWYgUDEwMSBpdGVtMTAxOyB0eXBlZGVmIFAxMDIgaXRlbTEwMjsgdHlwZWRlZiBQMTAzIGl0ZW0xMDM7IHR5cGVkZWYgUDEwNCBpdGVtMTA0OyB0eXBlZGVmIFAxMDUgaXRlbTEwNTsgdHlwZWRlZiBQMTA2IGl0ZW0xMDY7IHR5cGVkZWYgUDEwNyBpdGVtMTA3OyB0eXBlZGVmIFAxMDggaXRlbTEwODsgdHlwZWRlZiBQMTA5IGl0ZW0xMDk7IHR5cGVkZWYgUDExMCBpdGVtMTEwOyB0eXBlZGVmIFAxMTEgaXRlbTExMTsgdHlwZWRlZiBQMTEyIGl0ZW0xMTI7IHR5cGVkZWYgUDExMyBpdGVtMTEzOyB0eXBlZGVmIFAxMTQgaXRlbTExNDsgdHlwZWRlZiBQMTE1IGl0ZW0xMTU7IHR5cGVkZWYgUDExNiBpdGVtMTE2OyB0eXBlZGVmIFAxMTcgaXRlbTExNzsgdHlwZWRlZiBQMTE4IGl0ZW0xMTg7IHR5cGVkZWYgUDExOSBpdGVtMTE5OyB0eXBlZGVmIFAxMjAgaXRlbTEyMDsgdHlwZWRlZiBQMTIxIGl0ZW0xMjE7IHR5cGVkZWYgUDEyMiBpdGVtMTIyOyB0eXBlZGVmIFAxMjMgaXRlbTEyMzsgdHlwZWRlZiBQMTI0IGl0ZW0xMjQ7IHR5cGVkZWYgUDEyNSBpdGVtMTI1OyB0eXBlZGVmIFAxMjYgaXRlbTEyNjsgdHlwZWRlZiBQMTI3IGl0ZW0xMjc7IHR5cGVkZWYgUDEyOCBpdGVtMTI4OyB0eXBlZGVmIFAxMjkgaXRlbTEyOTsgdHlwZWRlZiBQMTMwIGl0ZW0xMzA7IHR5cGVkZWYgUDEzMSBpdGVtMTMxOyB0eXBlZGVmIFAxMzIgaXRlbTEzMjsgdHlwZWRlZiBQMTMzIGl0ZW0xMzM7IHR5cGVkZWYgUDEzNCBpdGVtMTM0OyB0eXBlZGVmIFAxMzUgaXRlbTEzNTsgdHlwZWRlZiBQMTM2IGl0ZW0xMzY7IHR5cGVkZWYgUDEzNyBpdGVtMTM3OyB0eXBlZGVmIFAxMzggaXRlbTEzODsgdHlwZWRlZiBQMTM5IGl0ZW0xMzk7IHR5cGVkZWYgUDE0MCBpdGVtMTQwOyB0eXBlZGVmIFAxNDEgaXRlbTE0MTsgdHlwZWRlZiBQMTQyIGl0ZW0xNDI7IHR5cGVkZWYgUDE0MyBpdGVtMTQzOyB0eXBlZGVmIFAxNDQgaXRlbTE0NDsgdHlwZWRlZiBQMTQ1IGl0ZW0xNDU7IHR5cGVkZWYgUDE0NiBpdGVtMTQ2OyB0eXBlZGVmIFAxNDcgaXRlbTE0NzsgdHlwZWRlZiBQMTQ4IGl0ZW0xNDg7IHR5cGVkZWYgUDE0OSBpdGVtMTQ5OyB0eXBlZGVmIFAxNTAgaXRlbTE1MDsgdHlwZWRlZiBQMTUxIGl0ZW0xNTE7IHR5cGVkZWYgUDE1MiBpdGVtMTUyOyB0eXBlZGVmIFAxNTMgaXRlbTE1MzsgdHlwZWRlZiBQMTU0IGl0ZW0xNTQ7IHR5cGVkZWYgUDE1NSBpdGVtMTU1OyB0eXBlZGVmIFAxNTYgaXRlbTE1NjsgdHlwZWRlZiBQMTU3IGl0ZW0xNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDk7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSAsIGNsYXNzIFA4NiAsIGNsYXNzIFA4NyAsIGNsYXNzIFA4OCAsIGNsYXNzIFA4OSAsIGNsYXNzIFA5MCAsIGNsYXNzIFA5MSAsIGNsYXNzIFA5MiAsIGNsYXNzIFA5MyAsIGNsYXNzIFA5NCAsIGNsYXNzIFA5NSAsIGNsYXNzIFA5NiAsIGNsYXNzIFA5NyAsIGNsYXNzIFA5OCAsIGNsYXNzIFA5OSAsIGNsYXNzIFAxMDAgLCBjbGFzcyBQMTAxICwgY2xhc3MgUDEwMiAsIGNsYXNzIFAxMDMgLCBjbGFzcyBQMTA0ICwgY2xhc3MgUDEwNSAsIGNsYXNzIFAxMDYgLCBjbGFzcyBQMTA3ICwgY2xhc3MgUDEwOCAsIGNsYXNzIFAxMDkgLCBjbGFzcyBQMTEwICwgY2xhc3MgUDExMSAsIGNsYXNzIFAxMTIgLCBjbGFzcyBQMTEzICwgY2xhc3MgUDExNCAsIGNsYXNzIFAxMTUgLCBjbGFzcyBQMTE2ICwgY2xhc3MgUDExNyAsIGNsYXNzIFAxMTggLCBjbGFzcyBQMTE5ICwgY2xhc3MgUDEyMCAsIGNsYXNzIFAxMjEgLCBjbGFzcyBQMTIyICwgY2xhc3MgUDEyMyAsIGNsYXNzIFAxMjQgLCBjbGFzcyBQMTI1ICwgY2xhc3MgUDEyNiAsIGNsYXNzIFAxMjcgLCBjbGFzcyBQMTI4ICwgY2xhc3MgUDEyOSAsIGNsYXNzIFAxMzAgLCBjbGFzcyBQMTMxICwgY2xhc3MgUDEzMiAsIGNsYXNzIFAxMzMgLCBjbGFzcyBQMTM0ICwgY2xhc3MgUDEzNSAsIGNsYXNzIFAxMzYgLCBjbGFzcyBQMTM3ICwgY2xhc3MgUDEzOCAsIGNsYXNzIFAxMzkgLCBjbGFzcyBQMTQwICwgY2xhc3MgUDE0MSAsIGNsYXNzIFAxNDIgLCBjbGFzcyBQMTQzICwgY2xhc3MgUDE0NCAsIGNsYXNzIFAxNDUgLCBjbGFzcyBQMTQ2ICwgY2xhc3MgUDE0NyAsIGNsYXNzIFAxNDggLCBjbGFzcyBQMTQ5ICwgY2xhc3MgUDE1MCAsIGNsYXNzIFAxNTEgLCBjbGFzcyBQMTUyICwgY2xhc3MgUDE1MyAsIGNsYXNzIFAxNTQgLCBjbGFzcyBQMTU1ICwgY2xhc3MgUDE1NiAsIGNsYXNzIFAxNTcgLCBjbGFzcyBQMTU4ID4gc3RydWN0IHZlY3RvcjE1OSB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjE1OTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MCAsIFAxNDEgLCBQMTQyICwgUDE0MyAsIFAxNDQgLCBQMTQ1ICwgUDE0NiAsIFAxNDcgLCBQMTQ4ICwgUDE0OSAsIFAxNTAgLCBQMTUxICwgUDE1MiAsIFAxNTMgLCBQMTU0ICwgUDE1NSAsIFAxNTYgLCBQMTU3ICwgUDE1OD4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBQODggaXRlbTg4OyB0eXBlZGVmIFA4OSBpdGVtODk7IHR5cGVkZWYgUDkwIGl0ZW05MDsgdHlwZWRlZiBQOTEgaXRlbTkxOyB0eXBlZGVmIFA5MiBpdGVtOTI7IHR5cGVkZWYgUDkzIGl0ZW05MzsgdHlwZWRlZiBQOTQgaXRlbTk0OyB0eXBlZGVmIFA5NSBpdGVtOTU7IHR5cGVkZWYgUDk2IGl0ZW05NjsgdHlwZWRlZiBQOTcgaXRlbTk3OyB0eXBlZGVmIFA5OCBpdGVtOTg7IHR5cGVkZWYgUDk5IGl0ZW05OTsgdHlwZWRlZiBQMTAwIGl0ZW0xMDA7IHR5cGVkZWYgUDEwMSBpdGVtMTAxOyB0eXBlZGVmIFAxMDIgaXRlbTEwMjsgdHlwZWRlZiBQMTAzIGl0ZW0xMDM7IHR5cGVkZWYgUDEwNCBpdGVtMTA0OyB0eXBlZGVmIFAxMDUgaXRlbTEwNTsgdHlwZWRlZiBQMTA2IGl0ZW0xMDY7IHR5cGVkZWYgUDEwNyBpdGVtMTA3OyB0eXBlZGVmIFAxMDggaXRlbTEwODsgdHlwZWRlZiBQMTA5IGl0ZW0xMDk7IHR5cGVkZWYgUDExMCBpdGVtMTEwOyB0eXBlZGVmIFAxMTEgaXRlbTExMTsgdHlwZWRlZiBQMTEyIGl0ZW0xMTI7IHR5cGVkZWYgUDExMyBpdGVtMTEzOyB0eXBlZGVmIFAxMTQgaXRlbTExNDsgdHlwZWRlZiBQMTE1IGl0ZW0xMTU7IHR5cGVkZWYgUDExNiBpdGVtMTE2OyB0eXBlZGVmIFAxMTcgaXRlbTExNzsgdHlwZWRlZiBQMTE4IGl0ZW0xMTg7IHR5cGVkZWYgUDExOSBpdGVtMTE5OyB0eXBlZGVmIFAxMjAgaXRlbTEyMDsgdHlwZWRlZiBQMTIxIGl0ZW0xMjE7IHR5cGVkZWYgUDEyMiBpdGVtMTIyOyB0eXBlZGVmIFAxMjMgaXRlbTEyMzsgdHlwZWRlZiBQMTI0IGl0ZW0xMjQ7IHR5cGVkZWYgUDEyNSBpdGVtMTI1OyB0eXBlZGVmIFAxMjYgaXRlbTEyNjsgdHlwZWRlZiBQMTI3IGl0ZW0xMjc7IHR5cGVkZWYgUDEyOCBpdGVtMTI4OyB0eXBlZGVmIFAxMjkgaXRlbTEyOTsgdHlwZWRlZiBQMTMwIGl0ZW0xMzA7IHR5cGVkZWYgUDEzMSBpdGVtMTMxOyB0eXBlZGVmIFAxMzIgaXRlbTEzMjsgdHlwZWRlZiBQMTMzIGl0ZW0xMzM7IHR5cGVkZWYgUDEzNCBpdGVtMTM0OyB0eXBlZGVmIFAxMzUgaXRlbTEzNTsgdHlwZWRlZiBQMTM2IGl0ZW0xMzY7IHR5cGVkZWYgUDEzNyBpdGVtMTM3OyB0eXBlZGVmIFAxMzggaXRlbTEzODsgdHlwZWRlZiBQMTM5IGl0ZW0xMzk7IHR5cGVkZWYgUDE0MCBpdGVtMTQwOyB0eXBlZGVmIFAxNDEgaXRlbTE0MTsgdHlwZWRlZiBQMTQyIGl0ZW0xNDI7IHR5cGVkZWYgUDE0MyBpdGVtMTQzOyB0eXBlZGVmIFAxNDQgaXRlbTE0NDsgdHlwZWRlZiBQMTQ1IGl0ZW0xNDU7IHR5cGVkZWYgUDE0NiBpdGVtMTQ2OyB0eXBlZGVmIFAxNDcgaXRlbTE0NzsgdHlwZWRlZiBQMTQ4IGl0ZW0xNDg7IHR5cGVkZWYgUDE0OSBpdGVtMTQ5OyB0eXBlZGVmIFAxNTAgaXRlbTE1MDsgdHlwZWRlZiBQMTUxIGl0ZW0xNTE7IHR5cGVkZWYgUDE1MiBpdGVtMTUyOyB0eXBlZGVmIFAxNTMgaXRlbTE1MzsgdHlwZWRlZiBQMTU0IGl0ZW0xNTQ7IHR5cGVkZWYgUDE1NSBpdGVtMTU1OyB0eXBlZGVmIFAxNTYgaXRlbTE1NjsgdHlwZWRlZiBQMTU3IGl0ZW0xNTc7IHR5cGVkZWYgUDE1OCBpdGVtMTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ5OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBQOTMgLCBjbGFzcyBQOTQgLCBjbGFzcyBQOTUgLCBjbGFzcyBQOTYgLCBjbGFzcyBQOTcgLCBjbGFzcyBQOTggLCBjbGFzcyBQOTkgLCBjbGFzcyBQMTAwICwgY2xhc3MgUDEwMSAsIGNsYXNzIFAxMDIgLCBjbGFzcyBQMTAzICwgY2xhc3MgUDEwNCAsIGNsYXNzIFAxMDUgLCBjbGFzcyBQMTA2ICwgY2xhc3MgUDEwNyAsIGNsYXNzIFAxMDggLCBjbGFzcyBQMTA5ICwgY2xhc3MgUDExMCAsIGNsYXNzIFAxMTEgLCBjbGFzcyBQMTEyICwgY2xhc3MgUDExMyAsIGNsYXNzIFAxMTQgLCBjbGFzcyBQMTE1ICwgY2xhc3MgUDExNiAsIGNsYXNzIFAxMTcgLCBjbGFzcyBQMTE4ICwgY2xhc3MgUDExOSAsIGNsYXNzIFAxMjAgLCBjbGFzcyBQMTIxICwgY2xhc3MgUDEyMiAsIGNsYXNzIFAxMjMgLCBjbGFzcyBQMTI0ICwgY2xhc3MgUDEyNSAsIGNsYXNzIFAxMjYgLCBjbGFzcyBQMTI3ICwgY2xhc3MgUDEyOCAsIGNsYXNzIFAxMjkgLCBjbGFzcyBQMTMwICwgY2xhc3MgUDEzMSAsIGNsYXNzIFAxMzIgLCBjbGFzcyBQMTMzICwgY2xhc3MgUDEzNCAsIGNsYXNzIFAxMzUgLCBjbGFzcyBQMTM2ICwgY2xhc3MgUDEzNyAsIGNsYXNzIFAxMzggLCBjbGFzcyBQMTM5ICwgY2xhc3MgUDE0MCAsIGNsYXNzIFAxNDEgLCBjbGFzcyBQMTQyICwgY2xhc3MgUDE0MyAsIGNsYXNzIFAxNDQgLCBjbGFzcyBQMTQ1ICwgY2xhc3MgUDE0NiAsIGNsYXNzIFAxNDcgLCBjbGFzcyBQMTQ4ICwgY2xhc3MgUDE0OSAsIGNsYXNzIFAxNTAgLCBjbGFzcyBQMTUxICwgY2xhc3MgUDE1MiAsIGNsYXNzIFAxNTMgLCBjbGFzcyBQMTU0ICwgY2xhc3MgUDE1NSAsIGNsYXNzIFAxNTYgLCBjbGFzcyBQMTU3ICwgY2xhc3MgUDE1OCAsIGNsYXNzIFAxNTkgPiBzdHJ1Y3QgdmVjdG9yMTYwIHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yMTYwPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFA5MiAsIFA5MyAsIFA5NCAsIFA5NSAsIFA5NiAsIFA5NyAsIFA5OCAsIFA5OSAsIFAxMDAgLCBQMTAxICwgUDEwMiAsIFAxMDMgLCBQMTA0ICwgUDEwNSAsIFAxMDYgLCBQMTA3ICwgUDEwOCAsIFAxMDkgLCBQMTEwICwgUDExMSAsIFAxMTIgLCBQMTEzICwgUDExNCAsIFAxMTUgLCBQMTE2ICwgUDExNyAsIFAxMTggLCBQMTE5ICwgUDEyMCAsIFAxMjEgLCBQMTIyICwgUDEyMyAsIFAxMjQgLCBQMTI1ICwgUDEyNiAsIFAxMjcgLCBQMTI4ICwgUDEyOSAsIFAxMzAgLCBQMTMxICwgUDEzMiAsIFAxMzMgLCBQMTM0ICwgUDEzNSAsIFAxMzYgLCBQMTM3ICwgUDEzOCAsIFAxMzkgLCBQMTQwICwgUDE0MSAsIFAxNDIgLCBQMTQzICwgUDE0NCAsIFAxNDUgLCBQMTQ2ICwgUDE0NyAsIFAxNDggLCBQMTQ5ICwgUDE1MCAsIFAxNTEgLCBQMTUyICwgUDE1MyAsIFAxNTQgLCBQMTU1ICwgUDE1NiAsIFAxNTcgLCBQMTU4ICwgUDE1OT4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBQODggaXRlbTg4OyB0eXBlZGVmIFA4OSBpdGVtODk7IHR5cGVkZWYgUDkwIGl0ZW05MDsgdHlwZWRlZiBQOTEgaXRlbTkxOyB0eXBlZGVmIFA5MiBpdGVtOTI7IHR5cGVkZWYgUDkzIGl0ZW05MzsgdHlwZWRlZiBQOTQgaXRlbTk0OyB0eXBlZGVmIFA5NSBpdGVtOTU7IHR5cGVkZWYgUDk2IGl0ZW05NjsgdHlwZWRlZiBQOTcgaXRlbTk3OyB0eXBlZGVmIFA5OCBpdGVtOTg7IHR5cGVkZWYgUDk5IGl0ZW05OTsgdHlwZWRlZiBQMTAwIGl0ZW0xMDA7IHR5cGVkZWYgUDEwMSBpdGVtMTAxOyB0eXBlZGVmIFAxMDIgaXRlbTEwMjsgdHlwZWRlZiBQMTAzIGl0ZW0xMDM7IHR5cGVkZWYgUDEwNCBpdGVtMTA0OyB0eXBlZGVmIFAxMDUgaXRlbTEwNTsgdHlwZWRlZiBQMTA2IGl0ZW0xMDY7IHR5cGVkZWYgUDEwNyBpdGVtMTA3OyB0eXBlZGVmIFAxMDggaXRlbTEwODsgdHlwZWRlZiBQMTA5IGl0ZW0xMDk7IHR5cGVkZWYgUDExMCBpdGVtMTEwOyB0eXBlZGVmIFAxMTEgaXRlbTExMTsgdHlwZWRlZiBQMTEyIGl0ZW0xMTI7IHR5cGVkZWYgUDExMyBpdGVtMTEzOyB0eXBlZGVmIFAxMTQgaXRlbTExNDsgdHlwZWRlZiBQMTE1IGl0ZW0xMTU7IHR5cGVkZWYgUDExNiBpdGVtMTE2OyB0eXBlZGVmIFAxMTcgaXRlbTExNzsgdHlwZWRlZiBQMTE4IGl0ZW0xMTg7IHR5cGVkZWYgUDExOSBpdGVtMTE5OyB0eXBlZGVmIFAxMjAgaXRlbTEyMDsgdHlwZWRlZiBQMTIxIGl0ZW0xMjE7IHR5cGVkZWYgUDEyMiBpdGVtMTIyOyB0eXBlZGVmIFAxMjMgaXRlbTEyMzsgdHlwZWRlZiBQMTI0IGl0ZW0xMjQ7IHR5cGVkZWYgUDEyNSBpdGVtMTI1OyB0eXBlZGVmIFAxMjYgaXRlbTEyNjsgdHlwZWRlZiBQMTI3IGl0ZW0xMjc7IHR5cGVkZWYgUDEyOCBpdGVtMTI4OyB0eXBlZGVmIFAxMjkgaXRlbTEyOTsgdHlwZWRlZiBQMTMwIGl0ZW0xMzA7IHR5cGVkZWYgUDEzMSBpdGVtMTMxOyB0eXBlZGVmIFAxMzIgaXRlbTEzMjsgdHlwZWRlZiBQMTMzIGl0ZW0xMzM7IHR5cGVkZWYgUDEzNCBpdGVtMTM0OyB0eXBlZGVmIFAxMzUgaXRlbTEzNTsgdHlwZWRlZiBQMTM2IGl0ZW0xMzY7IHR5cGVkZWYgUDEzNyBpdGVtMTM3OyB0eXBlZGVmIFAxMzggaXRlbTEzODsgdHlwZWRlZiBQMTM5IGl0ZW0xMzk7IHR5cGVkZWYgUDE0MCBpdGVtMTQwOyB0eXBlZGVmIFAxNDEgaXRlbTE0MTsgdHlwZWRlZiBQMTQyIGl0ZW0xNDI7IHR5cGVkZWYgUDE0MyBpdGVtMTQzOyB0eXBlZGVmIFAxNDQgaXRlbTE0NDsgdHlwZWRlZiBQMTQ1IGl0ZW0xNDU7IHR5cGVkZWYgUDE0NiBpdGVtMTQ2OyB0eXBlZGVmIFAxNDcgaXRlbTE0NzsgdHlwZWRlZiBQMTQ4IGl0ZW0xNDg7IHR5cGVkZWYgUDE0OSBpdGVtMTQ5OyB0eXBlZGVmIFAxNTAgaXRlbTE1MDsgdHlwZWRlZiBQMTUxIGl0ZW0xNTE7IHR5cGVkZWYgUDE1MiBpdGVtMTUyOyB0eXBlZGVmIFAxNTMgaXRlbTE1MzsgdHlwZWRlZiBQMTU0IGl0ZW0xNTQ7IHR5cGVkZWYgUDE1NSBpdGVtMTU1OyB0eXBlZGVmIFAxNTYgaXRlbTE1NjsgdHlwZWRlZiBQMTU3IGl0ZW0xNTc7IHR5cGVkZWYgUDE1OCBpdGVtMTU4OyB0eXBlZGVmIFAxNTkgaXRlbTE1OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0OTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ICwgY2xhc3MgUDk2ICwgY2xhc3MgUDk3ICwgY2xhc3MgUDk4ICwgY2xhc3MgUDk5ICwgY2xhc3MgUDEwMCAsIGNsYXNzIFAxMDEgLCBjbGFzcyBQMTAyICwgY2xhc3MgUDEwMyAsIGNsYXNzIFAxMDQgLCBjbGFzcyBQMTA1ICwgY2xhc3MgUDEwNiAsIGNsYXNzIFAxMDcgLCBjbGFzcyBQMTA4ICwgY2xhc3MgUDEwOSAsIGNsYXNzIFAxMTAgLCBjbGFzcyBQMTExICwgY2xhc3MgUDExMiAsIGNsYXNzIFAxMTMgLCBjbGFzcyBQMTE0ICwgY2xhc3MgUDExNSAsIGNsYXNzIFAxMTYgLCBjbGFzcyBQMTE3ICwgY2xhc3MgUDExOCAsIGNsYXNzIFAxMTkgLCBjbGFzcyBQMTIwICwgY2xhc3MgUDEyMSAsIGNsYXNzIFAxMjIgLCBjbGFzcyBQMTIzICwgY2xhc3MgUDEyNCAsIGNsYXNzIFAxMjUgLCBjbGFzcyBQMTI2ICwgY2xhc3MgUDEyNyAsIGNsYXNzIFAxMjggLCBjbGFzcyBQMTI5ICwgY2xhc3MgUDEzMCAsIGNsYXNzIFAxMzEgLCBjbGFzcyBQMTMyICwgY2xhc3MgUDEzMyAsIGNsYXNzIFAxMzQgLCBjbGFzcyBQMTM1ICwgY2xhc3MgUDEzNiAsIGNsYXNzIFAxMzcgLCBjbGFzcyBQMTM4ICwgY2xhc3MgUDEzOSAsIGNsYXNzIFAxNDAgLCBjbGFzcyBQMTQxICwgY2xhc3MgUDE0MiAsIGNsYXNzIFAxNDMgLCBjbGFzcyBQMTQ0ICwgY2xhc3MgUDE0NSAsIGNsYXNzIFAxNDYgLCBjbGFzcyBQMTQ3ICwgY2xhc3MgUDE0OCAsIGNsYXNzIFAxNDkgLCBjbGFzcyBQMTUwICwgY2xhc3MgUDE1MSAsIGNsYXNzIFAxNTIgLCBjbGFzcyBQMTUzICwgY2xhc3MgUDE1NCAsIGNsYXNzIFAxNTUgLCBjbGFzcyBQMTU2ICwgY2xhc3MgUDE1NyAsIGNsYXNzIFAxNTggLCBjbGFzcyBQMTU5ICwgY2xhc3MgUDE2MCA+IHN0cnVjdCB2ZWN0b3IxNjEgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3IxNjE8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1ICwgUDk2ICwgUDk3ICwgUDk4ICwgUDk5ICwgUDEwMCAsIFAxMDEgLCBQMTAyICwgUDEwMyAsIFAxMDQgLCBQMTA1ICwgUDEwNiAsIFAxMDcgLCBQMTA4ICwgUDEwOSAsIFAxMTAgLCBQMTExICwgUDExMiAsIFAxMTMgLCBQMTE0ICwgUDExNSAsIFAxMTYgLCBQMTE3ICwgUDExOCAsIFAxMTkgLCBQMTIwICwgUDEyMSAsIFAxMjIgLCBQMTIzICwgUDEyNCAsIFAxMjUgLCBQMTI2ICwgUDEyNyAsIFAxMjggLCBQMTI5ICwgUDEzMCAsIFAxMzEgLCBQMTMyICwgUDEzMyAsIFAxMzQgLCBQMTM1ICwgUDEzNiAsIFAxMzcgLCBQMTM4ICwgUDEzOSAsIFAxNDAgLCBQMTQxICwgUDE0MiAsIFAxNDMgLCBQMTQ0ICwgUDE0NSAsIFAxNDYgLCBQMTQ3ICwgUDE0OCAsIFAxNDkgLCBQMTUwICwgUDE1MSAsIFAxNTIgLCBQMTUzICwgUDE1NCAsIFAxNTUgLCBQMTU2ICwgUDE1NyAsIFAxNTggLCBQMTU5ICwgUDE2MD4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBQODggaXRlbTg4OyB0eXBlZGVmIFA4OSBpdGVtODk7IHR5cGVkZWYgUDkwIGl0ZW05MDsgdHlwZWRlZiBQOTEgaXRlbTkxOyB0eXBlZGVmIFA5MiBpdGVtOTI7IHR5cGVkZWYgUDkzIGl0ZW05MzsgdHlwZWRlZiBQOTQgaXRlbTk0OyB0eXBlZGVmIFA5NSBpdGVtOTU7IHR5cGVkZWYgUDk2IGl0ZW05NjsgdHlwZWRlZiBQOTcgaXRlbTk3OyB0eXBlZGVmIFA5OCBpdGVtOTg7IHR5cGVkZWYgUDk5IGl0ZW05OTsgdHlwZWRlZiBQMTAwIGl0ZW0xMDA7IHR5cGVkZWYgUDEwMSBpdGVtMTAxOyB0eXBlZGVmIFAxMDIgaXRlbTEwMjsgdHlwZWRlZiBQMTAzIGl0ZW0xMDM7IHR5cGVkZWYgUDEwNCBpdGVtMTA0OyB0eXBlZGVmIFAxMDUgaXRlbTEwNTsgdHlwZWRlZiBQMTA2IGl0ZW0xMDY7IHR5cGVkZWYgUDEwNyBpdGVtMTA3OyB0eXBlZGVmIFAxMDggaXRlbTEwODsgdHlwZWRlZiBQMTA5IGl0ZW0xMDk7IHR5cGVkZWYgUDExMCBpdGVtMTEwOyB0eXBlZGVmIFAxMTEgaXRlbTExMTsgdHlwZWRlZiBQMTEyIGl0ZW0xMTI7IHR5cGVkZWYgUDExMyBpdGVtMTEzOyB0eXBlZGVmIFAxMTQgaXRlbTExNDsgdHlwZWRlZiBQMTE1IGl0ZW0xMTU7IHR5cGVkZWYgUDExNiBpdGVtMTE2OyB0eXBlZGVmIFAxMTcgaXRlbTExNzsgdHlwZWRlZiBQMTE4IGl0ZW0xMTg7IHR5cGVkZWYgUDExOSBpdGVtMTE5OyB0eXBlZGVmIFAxMjAgaXRlbTEyMDsgdHlwZWRlZiBQMTIxIGl0ZW0xMjE7IHR5cGVkZWYgUDEyMiBpdGVtMTIyOyB0eXBlZGVmIFAxMjMgaXRlbTEyMzsgdHlwZWRlZiBQMTI0IGl0ZW0xMjQ7IHR5cGVkZWYgUDEyNSBpdGVtMTI1OyB0eXBlZGVmIFAxMjYgaXRlbTEyNjsgdHlwZWRlZiBQMTI3IGl0ZW0xMjc7IHR5cGVkZWYgUDEyOCBpdGVtMTI4OyB0eXBlZGVmIFAxMjkgaXRlbTEyOTsgdHlwZWRlZiBQMTMwIGl0ZW0xMzA7IHR5cGVkZWYgUDEzMSBpdGVtMTMxOyB0eXBlZGVmIFAxMzIgaXRlbTEzMjsgdHlwZWRlZiBQMTMzIGl0ZW0xMzM7IHR5cGVkZWYgUDEzNCBpdGVtMTM0OyB0eXBlZGVmIFAxMzUgaXRlbTEzNTsgdHlwZWRlZiBQMTM2IGl0ZW0xMzY7IHR5cGVkZWYgUDEzNyBpdGVtMTM3OyB0eXBlZGVmIFAxMzggaXRlbTEzODsgdHlwZWRlZiBQMTM5IGl0ZW0xMzk7IHR5cGVkZWYgUDE0MCBpdGVtMTQwOyB0eXBlZGVmIFAxNDEgaXRlbTE0MTsgdHlwZWRlZiBQMTQyIGl0ZW0xNDI7IHR5cGVkZWYgUDE0MyBpdGVtMTQzOyB0eXBlZGVmIFAxNDQgaXRlbTE0NDsgdHlwZWRlZiBQMTQ1IGl0ZW0xNDU7IHR5cGVkZWYgUDE0NiBpdGVtMTQ2OyB0eXBlZGVmIFAxNDcgaXRlbTE0NzsgdHlwZWRlZiBQMTQ4IGl0ZW0xNDg7IHR5cGVkZWYgUDE0OSBpdGVtMTQ5OyB0eXBlZGVmIFAxNTAgaXRlbTE1MDsgdHlwZWRlZiBQMTUxIGl0ZW0xNTE7IHR5cGVkZWYgUDE1MiBpdGVtMTUyOyB0eXBlZGVmIFAxNTMgaXRlbTE1MzsgdHlwZWRlZiBQMTU0IGl0ZW0xNTQ7IHR5cGVkZWYgUDE1NSBpdGVtMTU1OyB0eXBlZGVmIFAxNTYgaXRlbTE1NjsgdHlwZWRlZiBQMTU3IGl0ZW0xNTc7IHR5cGVkZWYgUDE1OCBpdGVtMTU4OyB0eXBlZGVmIFAxNTkgaXRlbTE1OTsgdHlwZWRlZiBQMTYwIGl0ZW0xNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDk7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSAsIGNsYXNzIFA4NiAsIGNsYXNzIFA4NyAsIGNsYXNzIFA4OCAsIGNsYXNzIFA4OSAsIGNsYXNzIFA5MCAsIGNsYXNzIFA5MSAsIGNsYXNzIFA5MiAsIGNsYXNzIFA5MyAsIGNsYXNzIFA5NCAsIGNsYXNzIFA5NSAsIGNsYXNzIFA5NiAsIGNsYXNzIFA5NyAsIGNsYXNzIFA5OCAsIGNsYXNzIFA5OSAsIGNsYXNzIFAxMDAgLCBjbGFzcyBQMTAxICwgY2xhc3MgUDEwMiAsIGNsYXNzIFAxMDMgLCBjbGFzcyBQMTA0ICwgY2xhc3MgUDEwNSAsIGNsYXNzIFAxMDYgLCBjbGFzcyBQMTA3ICwgY2xhc3MgUDEwOCAsIGNsYXNzIFAxMDkgLCBjbGFzcyBQMTEwICwgY2xhc3MgUDExMSAsIGNsYXNzIFAxMTIgLCBjbGFzcyBQMTEzICwgY2xhc3MgUDExNCAsIGNsYXNzIFAxMTUgLCBjbGFzcyBQMTE2ICwgY2xhc3MgUDExNyAsIGNsYXNzIFAxMTggLCBjbGFzcyBQMTE5ICwgY2xhc3MgUDEyMCAsIGNsYXNzIFAxMjEgLCBjbGFzcyBQMTIyICwgY2xhc3MgUDEyMyAsIGNsYXNzIFAxMjQgLCBjbGFzcyBQMTI1ICwgY2xhc3MgUDEyNiAsIGNsYXNzIFAxMjcgLCBjbGFzcyBQMTI4ICwgY2xhc3MgUDEyOSAsIGNsYXNzIFAxMzAgLCBjbGFzcyBQMTMxICwgY2xhc3MgUDEzMiAsIGNsYXNzIFAxMzMgLCBjbGFzcyBQMTM0ICwgY2xhc3MgUDEzNSAsIGNsYXNzIFAxMzYgLCBjbGFzcyBQMTM3ICwgY2xhc3MgUDEzOCAsIGNsYXNzIFAxMzkgLCBjbGFzcyBQMTQwICwgY2xhc3MgUDE0MSAsIGNsYXNzIFAxNDIgLCBjbGFzcyBQMTQzICwgY2xhc3MgUDE0NCAsIGNsYXNzIFAxNDUgLCBjbGFzcyBQMTQ2ICwgY2xhc3MgUDE0NyAsIGNsYXNzIFAxNDggLCBjbGFzcyBQMTQ5ICwgY2xhc3MgUDE1MCAsIGNsYXNzIFAxNTEgLCBjbGFzcyBQMTUyICwgY2xhc3MgUDE1MyAsIGNsYXNzIFAxNTQgLCBjbGFzcyBQMTU1ICwgY2xhc3MgUDE1NiAsIGNsYXNzIFAxNTcgLCBjbGFzcyBQMTU4ICwgY2xhc3MgUDE1OSAsIGNsYXNzIFAxNjAgLCBjbGFzcyBQMTYxID4gc3RydWN0IHZlY3RvcjE2MiB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjE2MjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MCAsIFAxNDEgLCBQMTQyICwgUDE0MyAsIFAxNDQgLCBQMTQ1ICwgUDE0NiAsIFAxNDcgLCBQMTQ4ICwgUDE0OSAsIFAxNTAgLCBQMTUxICwgUDE1MiAsIFAxNTMgLCBQMTU0ICwgUDE1NSAsIFAxNTYgLCBQMTU3ICwgUDE1OCAsIFAxNTkgLCBQMTYwICwgUDE2MT4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBQODggaXRlbTg4OyB0eXBlZGVmIFA4OSBpdGVtODk7IHR5cGVkZWYgUDkwIGl0ZW05MDsgdHlwZWRlZiBQOTEgaXRlbTkxOyB0eXBlZGVmIFA5MiBpdGVtOTI7IHR5cGVkZWYgUDkzIGl0ZW05MzsgdHlwZWRlZiBQOTQgaXRlbTk0OyB0eXBlZGVmIFA5NSBpdGVtOTU7IHR5cGVkZWYgUDk2IGl0ZW05NjsgdHlwZWRlZiBQOTcgaXRlbTk3OyB0eXBlZGVmIFA5OCBpdGVtOTg7IHR5cGVkZWYgUDk5IGl0ZW05OTsgdHlwZWRlZiBQMTAwIGl0ZW0xMDA7IHR5cGVkZWYgUDEwMSBpdGVtMTAxOyB0eXBlZGVmIFAxMDIgaXRlbTEwMjsgdHlwZWRlZiBQMTAzIGl0ZW0xMDM7IHR5cGVkZWYgUDEwNCBpdGVtMTA0OyB0eXBlZGVmIFAxMDUgaXRlbTEwNTsgdHlwZWRlZiBQMTA2IGl0ZW0xMDY7IHR5cGVkZWYgUDEwNyBpdGVtMTA3OyB0eXBlZGVmIFAxMDggaXRlbTEwODsgdHlwZWRlZiBQMTA5IGl0ZW0xMDk7IHR5cGVkZWYgUDExMCBpdGVtMTEwOyB0eXBlZGVmIFAxMTEgaXRlbTExMTsgdHlwZWRlZiBQMTEyIGl0ZW0xMTI7IHR5cGVkZWYgUDExMyBpdGVtMTEzOyB0eXBlZGVmIFAxMTQgaXRlbTExNDsgdHlwZWRlZiBQMTE1IGl0ZW0xMTU7IHR5cGVkZWYgUDExNiBpdGVtMTE2OyB0eXBlZGVmIFAxMTcgaXRlbTExNzsgdHlwZWRlZiBQMTE4IGl0ZW0xMTg7IHR5cGVkZWYgUDExOSBpdGVtMTE5OyB0eXBlZGVmIFAxMjAgaXRlbTEyMDsgdHlwZWRlZiBQMTIxIGl0ZW0xMjE7IHR5cGVkZWYgUDEyMiBpdGVtMTIyOyB0eXBlZGVmIFAxMjMgaXRlbTEyMzsgdHlwZWRlZiBQMTI0IGl0ZW0xMjQ7IHR5cGVkZWYgUDEyNSBpdGVtMTI1OyB0eXBlZGVmIFAxMjYgaXRlbTEyNjsgdHlwZWRlZiBQMTI3IGl0ZW0xMjc7IHR5cGVkZWYgUDEyOCBpdGVtMTI4OyB0eXBlZGVmIFAxMjkgaXRlbTEyOTsgdHlwZWRlZiBQMTMwIGl0ZW0xMzA7IHR5cGVkZWYgUDEzMSBpdGVtMTMxOyB0eXBlZGVmIFAxMzIgaXRlbTEzMjsgdHlwZWRlZiBQMTMzIGl0ZW0xMzM7IHR5cGVkZWYgUDEzNCBpdGVtMTM0OyB0eXBlZGVmIFAxMzUgaXRlbTEzNTsgdHlwZWRlZiBQMTM2IGl0ZW0xMzY7IHR5cGVkZWYgUDEzNyBpdGVtMTM3OyB0eXBlZGVmIFAxMzggaXRlbTEzODsgdHlwZWRlZiBQMTM5IGl0ZW0xMzk7IHR5cGVkZWYgUDE0MCBpdGVtMTQwOyB0eXBlZGVmIFAxNDEgaXRlbTE0MTsgdHlwZWRlZiBQMTQyIGl0ZW0xNDI7IHR5cGVkZWYgUDE0MyBpdGVtMTQzOyB0eXBlZGVmIFAxNDQgaXRlbTE0NDsgdHlwZWRlZiBQMTQ1IGl0ZW0xNDU7IHR5cGVkZWYgUDE0NiBpdGVtMTQ2OyB0eXBlZGVmIFAxNDcgaXRlbTE0NzsgdHlwZWRlZiBQMTQ4IGl0ZW0xNDg7IHR5cGVkZWYgUDE0OSBpdGVtMTQ5OyB0eXBlZGVmIFAxNTAgaXRlbTE1MDsgdHlwZWRlZiBQMTUxIGl0ZW0xNTE7IHR5cGVkZWYgUDE1MiBpdGVtMTUyOyB0eXBlZGVmIFAxNTMgaXRlbTE1MzsgdHlwZWRlZiBQMTU0IGl0ZW0xNTQ7IHR5cGVkZWYgUDE1NSBpdGVtMTU1OyB0eXBlZGVmIFAxNTYgaXRlbTE1NjsgdHlwZWRlZiBQMTU3IGl0ZW0xNTc7IHR5cGVkZWYgUDE1OCBpdGVtMTU4OyB0eXBlZGVmIFAxNTkgaXRlbTE1OTsgdHlwZWRlZiBQMTYwIGl0ZW0xNjA7IHR5cGVkZWYgUDE2MSBpdGVtMTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ5OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBQOTMgLCBjbGFzcyBQOTQgLCBjbGFzcyBQOTUgLCBjbGFzcyBQOTYgLCBjbGFzcyBQOTcgLCBjbGFzcyBQOTggLCBjbGFzcyBQOTkgLCBjbGFzcyBQMTAwICwgY2xhc3MgUDEwMSAsIGNsYXNzIFAxMDIgLCBjbGFzcyBQMTAzICwgY2xhc3MgUDEwNCAsIGNsYXNzIFAxMDUgLCBjbGFzcyBQMTA2ICwgY2xhc3MgUDEwNyAsIGNsYXNzIFAxMDggLCBjbGFzcyBQMTA5ICwgY2xhc3MgUDExMCAsIGNsYXNzIFAxMTEgLCBjbGFzcyBQMTEyICwgY2xhc3MgUDExMyAsIGNsYXNzIFAxMTQgLCBjbGFzcyBQMTE1ICwgY2xhc3MgUDExNiAsIGNsYXNzIFAxMTcgLCBjbGFzcyBQMTE4ICwgY2xhc3MgUDExOSAsIGNsYXNzIFAxMjAgLCBjbGFzcyBQMTIxICwgY2xhc3MgUDEyMiAsIGNsYXNzIFAxMjMgLCBjbGFzcyBQMTI0ICwgY2xhc3MgUDEyNSAsIGNsYXNzIFAxMjYgLCBjbGFzcyBQMTI3ICwgY2xhc3MgUDEyOCAsIGNsYXNzIFAxMjkgLCBjbGFzcyBQMTMwICwgY2xhc3MgUDEzMSAsIGNsYXNzIFAxMzIgLCBjbGFzcyBQMTMzICwgY2xhc3MgUDEzNCAsIGNsYXNzIFAxMzUgLCBjbGFzcyBQMTM2ICwgY2xhc3MgUDEzNyAsIGNsYXNzIFAxMzggLCBjbGFzcyBQMTM5ICwgY2xhc3MgUDE0MCAsIGNsYXNzIFAxNDEgLCBjbGFzcyBQMTQyICwgY2xhc3MgUDE0MyAsIGNsYXNzIFAxNDQgLCBjbGFzcyBQMTQ1ICwgY2xhc3MgUDE0NiAsIGNsYXNzIFAxNDcgLCBjbGFzcyBQMTQ4ICwgY2xhc3MgUDE0OSAsIGNsYXNzIFAxNTAgLCBjbGFzcyBQMTUxICwgY2xhc3MgUDE1MiAsIGNsYXNzIFAxNTMgLCBjbGFzcyBQMTU0ICwgY2xhc3MgUDE1NSAsIGNsYXNzIFAxNTYgLCBjbGFzcyBQMTU3ICwgY2xhc3MgUDE1OCAsIGNsYXNzIFAxNTkgLCBjbGFzcyBQMTYwICwgY2xhc3MgUDE2MSAsIGNsYXNzIFAxNjIgPiBzdHJ1Y3QgdmVjdG9yMTYzIHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yMTYzPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFA5MiAsIFA5MyAsIFA5NCAsIFA5NSAsIFA5NiAsIFA5NyAsIFA5OCAsIFA5OSAsIFAxMDAgLCBQMTAxICwgUDEwMiAsIFAxMDMgLCBQMTA0ICwgUDEwNSAsIFAxMDYgLCBQMTA3ICwgUDEwOCAsIFAxMDkgLCBQMTEwICwgUDExMSAsIFAxMTIgLCBQMTEzICwgUDExNCAsIFAxMTUgLCBQMTE2ICwgUDExNyAsIFAxMTggLCBQMTE5ICwgUDEyMCAsIFAxMjEgLCBQMTIyICwgUDEyMyAsIFAxMjQgLCBQMTI1ICwgUDEyNiAsIFAxMjcgLCBQMTI4ICwgUDEyOSAsIFAxMzAgLCBQMTMxICwgUDEzMiAsIFAxMzMgLCBQMTM0ICwgUDEzNSAsIFAxMzYgLCBQMTM3ICwgUDEzOCAsIFAxMzkgLCBQMTQwICwgUDE0MSAsIFAxNDIgLCBQMTQzICwgUDE0NCAsIFAxNDUgLCBQMTQ2ICwgUDE0NyAsIFAxNDggLCBQMTQ5ICwgUDE1MCAsIFAxNTEgLCBQMTUyICwgUDE1MyAsIFAxNTQgLCBQMTU1ICwgUDE1NiAsIFAxNTcgLCBQMTU4ICwgUDE1OSAsIFAxNjAgLCBQMTYxICwgUDE2Mj4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBQODggaXRlbTg4OyB0eXBlZGVmIFA4OSBpdGVtODk7IHR5cGVkZWYgUDkwIGl0ZW05MDsgdHlwZWRlZiBQOTEgaXRlbTkxOyB0eXBlZGVmIFA5MiBpdGVtOTI7IHR5cGVkZWYgUDkzIGl0ZW05MzsgdHlwZWRlZiBQOTQgaXRlbTk0OyB0eXBlZGVmIFA5NSBpdGVtOTU7IHR5cGVkZWYgUDk2IGl0ZW05NjsgdHlwZWRlZiBQOTcgaXRlbTk3OyB0eXBlZGVmIFA5OCBpdGVtOTg7IHR5cGVkZWYgUDk5IGl0ZW05OTsgdHlwZWRlZiBQMTAwIGl0ZW0xMDA7IHR5cGVkZWYgUDEwMSBpdGVtMTAxOyB0eXBlZGVmIFAxMDIgaXRlbTEwMjsgdHlwZWRlZiBQMTAzIGl0ZW0xMDM7IHR5cGVkZWYgUDEwNCBpdGVtMTA0OyB0eXBlZGVmIFAxMDUgaXRlbTEwNTsgdHlwZWRlZiBQMTA2IGl0ZW0xMDY7IHR5cGVkZWYgUDEwNyBpdGVtMTA3OyB0eXBlZGVmIFAxMDggaXRlbTEwODsgdHlwZWRlZiBQMTA5IGl0ZW0xMDk7IHR5cGVkZWYgUDExMCBpdGVtMTEwOyB0eXBlZGVmIFAxMTEgaXRlbTExMTsgdHlwZWRlZiBQMTEyIGl0ZW0xMTI7IHR5cGVkZWYgUDExMyBpdGVtMTEzOyB0eXBlZGVmIFAxMTQgaXRlbTExNDsgdHlwZWRlZiBQMTE1IGl0ZW0xMTU7IHR5cGVkZWYgUDExNiBpdGVtMTE2OyB0eXBlZGVmIFAxMTcgaXRlbTExNzsgdHlwZWRlZiBQMTE4IGl0ZW0xMTg7IHR5cGVkZWYgUDExOSBpdGVtMTE5OyB0eXBlZGVmIFAxMjAgaXRlbTEyMDsgdHlwZWRlZiBQMTIxIGl0ZW0xMjE7IHR5cGVkZWYgUDEyMiBpdGVtMTIyOyB0eXBlZGVmIFAxMjMgaXRlbTEyMzsgdHlwZWRlZiBQMTI0IGl0ZW0xMjQ7IHR5cGVkZWYgUDEyNSBpdGVtMTI1OyB0eXBlZGVmIFAxMjYgaXRlbTEyNjsgdHlwZWRlZiBQMTI3IGl0ZW0xMjc7IHR5cGVkZWYgUDEyOCBpdGVtMTI4OyB0eXBlZGVmIFAxMjkgaXRlbTEyOTsgdHlwZWRlZiBQMTMwIGl0ZW0xMzA7IHR5cGVkZWYgUDEzMSBpdGVtMTMxOyB0eXBlZGVmIFAxMzIgaXRlbTEzMjsgdHlwZWRlZiBQMTMzIGl0ZW0xMzM7IHR5cGVkZWYgUDEzNCBpdGVtMTM0OyB0eXBlZGVmIFAxMzUgaXRlbTEzNTsgdHlwZWRlZiBQMTM2IGl0ZW0xMzY7IHR5cGVkZWYgUDEzNyBpdGVtMTM3OyB0eXBlZGVmIFAxMzggaXRlbTEzODsgdHlwZWRlZiBQMTM5IGl0ZW0xMzk7IHR5cGVkZWYgUDE0MCBpdGVtMTQwOyB0eXBlZGVmIFAxNDEgaXRlbTE0MTsgdHlwZWRlZiBQMTQyIGl0ZW0xNDI7IHR5cGVkZWYgUDE0MyBpdGVtMTQzOyB0eXBlZGVmIFAxNDQgaXRlbTE0NDsgdHlwZWRlZiBQMTQ1IGl0ZW0xNDU7IHR5cGVkZWYgUDE0NiBpdGVtMTQ2OyB0eXBlZGVmIFAxNDcgaXRlbTE0NzsgdHlwZWRlZiBQMTQ4IGl0ZW0xNDg7IHR5cGVkZWYgUDE0OSBpdGVtMTQ5OyB0eXBlZGVmIFAxNTAgaXRlbTE1MDsgdHlwZWRlZiBQMTUxIGl0ZW0xNTE7IHR5cGVkZWYgUDE1MiBpdGVtMTUyOyB0eXBlZGVmIFAxNTMgaXRlbTE1MzsgdHlwZWRlZiBQMTU0IGl0ZW0xNTQ7IHR5cGVkZWYgUDE1NSBpdGVtMTU1OyB0eXBlZGVmIFAxNTYgaXRlbTE1NjsgdHlwZWRlZiBQMTU3IGl0ZW0xNTc7IHR5cGVkZWYgUDE1OCBpdGVtMTU4OyB0eXBlZGVmIFAxNTkgaXRlbTE1OTsgdHlwZWRlZiBQMTYwIGl0ZW0xNjA7IHR5cGVkZWYgUDE2MSBpdGVtMTYxOyB0eXBlZGVmIFAxNjIgaXRlbTE2MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0OTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ICwgY2xhc3MgUDk2ICwgY2xhc3MgUDk3ICwgY2xhc3MgUDk4ICwgY2xhc3MgUDk5ICwgY2xhc3MgUDEwMCAsIGNsYXNzIFAxMDEgLCBjbGFzcyBQMTAyICwgY2xhc3MgUDEwMyAsIGNsYXNzIFAxMDQgLCBjbGFzcyBQMTA1ICwgY2xhc3MgUDEwNiAsIGNsYXNzIFAxMDcgLCBjbGFzcyBQMTA4ICwgY2xhc3MgUDEwOSAsIGNsYXNzIFAxMTAgLCBjbGFzcyBQMTExICwgY2xhc3MgUDExMiAsIGNsYXNzIFAxMTMgLCBjbGFzcyBQMTE0ICwgY2xhc3MgUDExNSAsIGNsYXNzIFAxMTYgLCBjbGFzcyBQMTE3ICwgY2xhc3MgUDExOCAsIGNsYXNzIFAxMTkgLCBjbGFzcyBQMTIwICwgY2xhc3MgUDEyMSAsIGNsYXNzIFAxMjIgLCBjbGFzcyBQMTIzICwgY2xhc3MgUDEyNCAsIGNsYXNzIFAxMjUgLCBjbGFzcyBQMTI2ICwgY2xhc3MgUDEyNyAsIGNsYXNzIFAxMjggLCBjbGFzcyBQMTI5ICwgY2xhc3MgUDEzMCAsIGNsYXNzIFAxMzEgLCBjbGFzcyBQMTMyICwgY2xhc3MgUDEzMyAsIGNsYXNzIFAxMzQgLCBjbGFzcyBQMTM1ICwgY2xhc3MgUDEzNiAsIGNsYXNzIFAxMzcgLCBjbGFzcyBQMTM4ICwgY2xhc3MgUDEzOSAsIGNsYXNzIFAxNDAgLCBjbGFzcyBQMTQxICwgY2xhc3MgUDE0MiAsIGNsYXNzIFAxNDMgLCBjbGFzcyBQMTQ0ICwgY2xhc3MgUDE0NSAsIGNsYXNzIFAxNDYgLCBjbGFzcyBQMTQ3ICwgY2xhc3MgUDE0OCAsIGNsYXNzIFAxNDkgLCBjbGFzcyBQMTUwICwgY2xhc3MgUDE1MSAsIGNsYXNzIFAxNTIgLCBjbGFzcyBQMTUzICwgY2xhc3MgUDE1NCAsIGNsYXNzIFAxNTUgLCBjbGFzcyBQMTU2ICwgY2xhc3MgUDE1NyAsIGNsYXNzIFAxNTggLCBjbGFzcyBQMTU5ICwgY2xhc3MgUDE2MCAsIGNsYXNzIFAxNjEgLCBjbGFzcyBQMTYyICwgY2xhc3MgUDE2MyA+IHN0cnVjdCB2ZWN0b3IxNjQgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3IxNjQ8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1ICwgUDk2ICwgUDk3ICwgUDk4ICwgUDk5ICwgUDEwMCAsIFAxMDEgLCBQMTAyICwgUDEwMyAsIFAxMDQgLCBQMTA1ICwgUDEwNiAsIFAxMDcgLCBQMTA4ICwgUDEwOSAsIFAxMTAgLCBQMTExICwgUDExMiAsIFAxMTMgLCBQMTE0ICwgUDExNSAsIFAxMTYgLCBQMTE3ICwgUDExOCAsIFAxMTkgLCBQMTIwICwgUDEyMSAsIFAxMjIgLCBQMTIzICwgUDEyNCAsIFAxMjUgLCBQMTI2ICwgUDEyNyAsIFAxMjggLCBQMTI5ICwgUDEzMCAsIFAxMzEgLCBQMTMyICwgUDEzMyAsIFAxMzQgLCBQMTM1ICwgUDEzNiAsIFAxMzcgLCBQMTM4ICwgUDEzOSAsIFAxNDAgLCBQMTQxICwgUDE0MiAsIFAxNDMgLCBQMTQ0ICwgUDE0NSAsIFAxNDYgLCBQMTQ3ICwgUDE0OCAsIFAxNDkgLCBQMTUwICwgUDE1MSAsIFAxNTIgLCBQMTUzICwgUDE1NCAsIFAxNTUgLCBQMTU2ICwgUDE1NyAsIFAxNTggLCBQMTU5ICwgUDE2MCAsIFAxNjEgLCBQMTYyICwgUDE2Mz4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBQODggaXRlbTg4OyB0eXBlZGVmIFA4OSBpdGVtODk7IHR5cGVkZWYgUDkwIGl0ZW05MDsgdHlwZWRlZiBQOTEgaXRlbTkxOyB0eXBlZGVmIFA5MiBpdGVtOTI7IHR5cGVkZWYgUDkzIGl0ZW05MzsgdHlwZWRlZiBQOTQgaXRlbTk0OyB0eXBlZGVmIFA5NSBpdGVtOTU7IHR5cGVkZWYgUDk2IGl0ZW05NjsgdHlwZWRlZiBQOTcgaXRlbTk3OyB0eXBlZGVmIFA5OCBpdGVtOTg7IHR5cGVkZWYgUDk5IGl0ZW05OTsgdHlwZWRlZiBQMTAwIGl0ZW0xMDA7IHR5cGVkZWYgUDEwMSBpdGVtMTAxOyB0eXBlZGVmIFAxMDIgaXRlbTEwMjsgdHlwZWRlZiBQMTAzIGl0ZW0xMDM7IHR5cGVkZWYgUDEwNCBpdGVtMTA0OyB0eXBlZGVmIFAxMDUgaXRlbTEwNTsgdHlwZWRlZiBQMTA2IGl0ZW0xMDY7IHR5cGVkZWYgUDEwNyBpdGVtMTA3OyB0eXBlZGVmIFAxMDggaXRlbTEwODsgdHlwZWRlZiBQMTA5IGl0ZW0xMDk7IHR5cGVkZWYgUDExMCBpdGVtMTEwOyB0eXBlZGVmIFAxMTEgaXRlbTExMTsgdHlwZWRlZiBQMTEyIGl0ZW0xMTI7IHR5cGVkZWYgUDExMyBpdGVtMTEzOyB0eXBlZGVmIFAxMTQgaXRlbTExNDsgdHlwZWRlZiBQMTE1IGl0ZW0xMTU7IHR5cGVkZWYgUDExNiBpdGVtMTE2OyB0eXBlZGVmIFAxMTcgaXRlbTExNzsgdHlwZWRlZiBQMTE4IGl0ZW0xMTg7IHR5cGVkZWYgUDExOSBpdGVtMTE5OyB0eXBlZGVmIFAxMjAgaXRlbTEyMDsgdHlwZWRlZiBQMTIxIGl0ZW0xMjE7IHR5cGVkZWYgUDEyMiBpdGVtMTIyOyB0eXBlZGVmIFAxMjMgaXRlbTEyMzsgdHlwZWRlZiBQMTI0IGl0ZW0xMjQ7IHR5cGVkZWYgUDEyNSBpdGVtMTI1OyB0eXBlZGVmIFAxMjYgaXRlbTEyNjsgdHlwZWRlZiBQMTI3IGl0ZW0xMjc7IHR5cGVkZWYgUDEyOCBpdGVtMTI4OyB0eXBlZGVmIFAxMjkgaXRlbTEyOTsgdHlwZWRlZiBQMTMwIGl0ZW0xMzA7IHR5cGVkZWYgUDEzMSBpdGVtMTMxOyB0eXBlZGVmIFAxMzIgaXRlbTEzMjsgdHlwZWRlZiBQMTMzIGl0ZW0xMzM7IHR5cGVkZWYgUDEzNCBpdGVtMTM0OyB0eXBlZGVmIFAxMzUgaXRlbTEzNTsgdHlwZWRlZiBQMTM2IGl0ZW0xMzY7IHR5cGVkZWYgUDEzNyBpdGVtMTM3OyB0eXBlZGVmIFAxMzggaXRlbTEzODsgdHlwZWRlZiBQMTM5IGl0ZW0xMzk7IHR5cGVkZWYgUDE0MCBpdGVtMTQwOyB0eXBlZGVmIFAxNDEgaXRlbTE0MTsgdHlwZWRlZiBQMTQyIGl0ZW0xNDI7IHR5cGVkZWYgUDE0MyBpdGVtMTQzOyB0eXBlZGVmIFAxNDQgaXRlbTE0NDsgdHlwZWRlZiBQMTQ1IGl0ZW0xNDU7IHR5cGVkZWYgUDE0NiBpdGVtMTQ2OyB0eXBlZGVmIFAxNDcgaXRlbTE0NzsgdHlwZWRlZiBQMTQ4IGl0ZW0xNDg7IHR5cGVkZWYgUDE0OSBpdGVtMTQ5OyB0eXBlZGVmIFAxNTAgaXRlbTE1MDsgdHlwZWRlZiBQMTUxIGl0ZW0xNTE7IHR5cGVkZWYgUDE1MiBpdGVtMTUyOyB0eXBlZGVmIFAxNTMgaXRlbTE1MzsgdHlwZWRlZiBQMTU0IGl0ZW0xNTQ7IHR5cGVkZWYgUDE1NSBpdGVtMTU1OyB0eXBlZGVmIFAxNTYgaXRlbTE1NjsgdHlwZWRlZiBQMTU3IGl0ZW0xNTc7IHR5cGVkZWYgUDE1OCBpdGVtMTU4OyB0eXBlZGVmIFAxNTkgaXRlbTE1OTsgdHlwZWRlZiBQMTYwIGl0ZW0xNjA7IHR5cGVkZWYgUDE2MSBpdGVtMTYxOyB0eXBlZGVmIFAxNjIgaXRlbTE2MjsgdHlwZWRlZiBQMTYzIGl0ZW0xNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDk7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSAsIGNsYXNzIFA4NiAsIGNsYXNzIFA4NyAsIGNsYXNzIFA4OCAsIGNsYXNzIFA4OSAsIGNsYXNzIFA5MCAsIGNsYXNzIFA5MSAsIGNsYXNzIFA5MiAsIGNsYXNzIFA5MyAsIGNsYXNzIFA5NCAsIGNsYXNzIFA5NSAsIGNsYXNzIFA5NiAsIGNsYXNzIFA5NyAsIGNsYXNzIFA5OCAsIGNsYXNzIFA5OSAsIGNsYXNzIFAxMDAgLCBjbGFzcyBQMTAxICwgY2xhc3MgUDEwMiAsIGNsYXNzIFAxMDMgLCBjbGFzcyBQMTA0ICwgY2xhc3MgUDEwNSAsIGNsYXNzIFAxMDYgLCBjbGFzcyBQMTA3ICwgY2xhc3MgUDEwOCAsIGNsYXNzIFAxMDkgLCBjbGFzcyBQMTEwICwgY2xhc3MgUDExMSAsIGNsYXNzIFAxMTIgLCBjbGFzcyBQMTEzICwgY2xhc3MgUDExNCAsIGNsYXNzIFAxMTUgLCBjbGFzcyBQMTE2ICwgY2xhc3MgUDExNyAsIGNsYXNzIFAxMTggLCBjbGFzcyBQMTE5ICwgY2xhc3MgUDEyMCAsIGNsYXNzIFAxMjEgLCBjbGFzcyBQMTIyICwgY2xhc3MgUDEyMyAsIGNsYXNzIFAxMjQgLCBjbGFzcyBQMTI1ICwgY2xhc3MgUDEyNiAsIGNsYXNzIFAxMjcgLCBjbGFzcyBQMTI4ICwgY2xhc3MgUDEyOSAsIGNsYXNzIFAxMzAgLCBjbGFzcyBQMTMxICwgY2xhc3MgUDEzMiAsIGNsYXNzIFAxMzMgLCBjbGFzcyBQMTM0ICwgY2xhc3MgUDEzNSAsIGNsYXNzIFAxMzYgLCBjbGFzcyBQMTM3ICwgY2xhc3MgUDEzOCAsIGNsYXNzIFAxMzkgLCBjbGFzcyBQMTQwICwgY2xhc3MgUDE0MSAsIGNsYXNzIFAxNDIgLCBjbGFzcyBQMTQzICwgY2xhc3MgUDE0NCAsIGNsYXNzIFAxNDUgLCBjbGFzcyBQMTQ2ICwgY2xhc3MgUDE0NyAsIGNsYXNzIFAxNDggLCBjbGFzcyBQMTQ5ICwgY2xhc3MgUDE1MCAsIGNsYXNzIFAxNTEgLCBjbGFzcyBQMTUyICwgY2xhc3MgUDE1MyAsIGNsYXNzIFAxNTQgLCBjbGFzcyBQMTU1ICwgY2xhc3MgUDE1NiAsIGNsYXNzIFAxNTcgLCBjbGFzcyBQMTU4ICwgY2xhc3MgUDE1OSAsIGNsYXNzIFAxNjAgLCBjbGFzcyBQMTYxICwgY2xhc3MgUDE2MiAsIGNsYXNzIFAxNjMgLCBjbGFzcyBQMTY0ID4gc3RydWN0IHZlY3RvcjE2NSB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjE2NTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MCAsIFAxNDEgLCBQMTQyICwgUDE0MyAsIFAxNDQgLCBQMTQ1ICwgUDE0NiAsIFAxNDcgLCBQMTQ4ICwgUDE0OSAsIFAxNTAgLCBQMTUxICwgUDE1MiAsIFAxNTMgLCBQMTU0ICwgUDE1NSAsIFAxNTYgLCBQMTU3ICwgUDE1OCAsIFAxNTkgLCBQMTYwICwgUDE2MSAsIFAxNjIgLCBQMTYzICwgUDE2ND4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBQODggaXRlbTg4OyB0eXBlZGVmIFA4OSBpdGVtODk7IHR5cGVkZWYgUDkwIGl0ZW05MDsgdHlwZWRlZiBQOTEgaXRlbTkxOyB0eXBlZGVmIFA5MiBpdGVtOTI7IHR5cGVkZWYgUDkzIGl0ZW05MzsgdHlwZWRlZiBQOTQgaXRlbTk0OyB0eXBlZGVmIFA5NSBpdGVtOTU7IHR5cGVkZWYgUDk2IGl0ZW05NjsgdHlwZWRlZiBQOTcgaXRlbTk3OyB0eXBlZGVmIFA5OCBpdGVtOTg7IHR5cGVkZWYgUDk5IGl0ZW05OTsgdHlwZWRlZiBQMTAwIGl0ZW0xMDA7IHR5cGVkZWYgUDEwMSBpdGVtMTAxOyB0eXBlZGVmIFAxMDIgaXRlbTEwMjsgdHlwZWRlZiBQMTAzIGl0ZW0xMDM7IHR5cGVkZWYgUDEwNCBpdGVtMTA0OyB0eXBlZGVmIFAxMDUgaXRlbTEwNTsgdHlwZWRlZiBQMTA2IGl0ZW0xMDY7IHR5cGVkZWYgUDEwNyBpdGVtMTA3OyB0eXBlZGVmIFAxMDggaXRlbTEwODsgdHlwZWRlZiBQMTA5IGl0ZW0xMDk7IHR5cGVkZWYgUDExMCBpdGVtMTEwOyB0eXBlZGVmIFAxMTEgaXRlbTExMTsgdHlwZWRlZiBQMTEyIGl0ZW0xMTI7IHR5cGVkZWYgUDExMyBpdGVtMTEzOyB0eXBlZGVmIFAxMTQgaXRlbTExNDsgdHlwZWRlZiBQMTE1IGl0ZW0xMTU7IHR5cGVkZWYgUDExNiBpdGVtMTE2OyB0eXBlZGVmIFAxMTcgaXRlbTExNzsgdHlwZWRlZiBQMTE4IGl0ZW0xMTg7IHR5cGVkZWYgUDExOSBpdGVtMTE5OyB0eXBlZGVmIFAxMjAgaXRlbTEyMDsgdHlwZWRlZiBQMTIxIGl0ZW0xMjE7IHR5cGVkZWYgUDEyMiBpdGVtMTIyOyB0eXBlZGVmIFAxMjMgaXRlbTEyMzsgdHlwZWRlZiBQMTI0IGl0ZW0xMjQ7IHR5cGVkZWYgUDEyNSBpdGVtMTI1OyB0eXBlZGVmIFAxMjYgaXRlbTEyNjsgdHlwZWRlZiBQMTI3IGl0ZW0xMjc7IHR5cGVkZWYgUDEyOCBpdGVtMTI4OyB0eXBlZGVmIFAxMjkgaXRlbTEyOTsgdHlwZWRlZiBQMTMwIGl0ZW0xMzA7IHR5cGVkZWYgUDEzMSBpdGVtMTMxOyB0eXBlZGVmIFAxMzIgaXRlbTEzMjsgdHlwZWRlZiBQMTMzIGl0ZW0xMzM7IHR5cGVkZWYgUDEzNCBpdGVtMTM0OyB0eXBlZGVmIFAxMzUgaXRlbTEzNTsgdHlwZWRlZiBQMTM2IGl0ZW0xMzY7IHR5cGVkZWYgUDEzNyBpdGVtMTM3OyB0eXBlZGVmIFAxMzggaXRlbTEzODsgdHlwZWRlZiBQMTM5IGl0ZW0xMzk7IHR5cGVkZWYgUDE0MCBpdGVtMTQwOyB0eXBlZGVmIFAxNDEgaXRlbTE0MTsgdHlwZWRlZiBQMTQyIGl0ZW0xNDI7IHR5cGVkZWYgUDE0MyBpdGVtMTQzOyB0eXBlZGVmIFAxNDQgaXRlbTE0NDsgdHlwZWRlZiBQMTQ1IGl0ZW0xNDU7IHR5cGVkZWYgUDE0NiBpdGVtMTQ2OyB0eXBlZGVmIFAxNDcgaXRlbTE0NzsgdHlwZWRlZiBQMTQ4IGl0ZW0xNDg7IHR5cGVkZWYgUDE0OSBpdGVtMTQ5OyB0eXBlZGVmIFAxNTAgaXRlbTE1MDsgdHlwZWRlZiBQMTUxIGl0ZW0xNTE7IHR5cGVkZWYgUDE1MiBpdGVtMTUyOyB0eXBlZGVmIFAxNTMgaXRlbTE1MzsgdHlwZWRlZiBQMTU0IGl0ZW0xNTQ7IHR5cGVkZWYgUDE1NSBpdGVtMTU1OyB0eXBlZGVmIFAxNTYgaXRlbTE1NjsgdHlwZWRlZiBQMTU3IGl0ZW0xNTc7IHR5cGVkZWYgUDE1OCBpdGVtMTU4OyB0eXBlZGVmIFAxNTkgaXRlbTE1OTsgdHlwZWRlZiBQMTYwIGl0ZW0xNjA7IHR5cGVkZWYgUDE2MSBpdGVtMTYxOyB0eXBlZGVmIFAxNjIgaXRlbTE2MjsgdHlwZWRlZiBQMTYzIGl0ZW0xNjM7IHR5cGVkZWYgUDE2NCBpdGVtMTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ5OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBQOTMgLCBjbGFzcyBQOTQgLCBjbGFzcyBQOTUgLCBjbGFzcyBQOTYgLCBjbGFzcyBQOTcgLCBjbGFzcyBQOTggLCBjbGFzcyBQOTkgLCBjbGFzcyBQMTAwICwgY2xhc3MgUDEwMSAsIGNsYXNzIFAxMDIgLCBjbGFzcyBQMTAzICwgY2xhc3MgUDEwNCAsIGNsYXNzIFAxMDUgLCBjbGFzcyBQMTA2ICwgY2xhc3MgUDEwNyAsIGNsYXNzIFAxMDggLCBjbGFzcyBQMTA5ICwgY2xhc3MgUDExMCAsIGNsYXNzIFAxMTEgLCBjbGFzcyBQMTEyICwgY2xhc3MgUDExMyAsIGNsYXNzIFAxMTQgLCBjbGFzcyBQMTE1ICwgY2xhc3MgUDExNiAsIGNsYXNzIFAxMTcgLCBjbGFzcyBQMTE4ICwgY2xhc3MgUDExOSAsIGNsYXNzIFAxMjAgLCBjbGFzcyBQMTIxICwgY2xhc3MgUDEyMiAsIGNsYXNzIFAxMjMgLCBjbGFzcyBQMTI0ICwgY2xhc3MgUDEyNSAsIGNsYXNzIFAxMjYgLCBjbGFzcyBQMTI3ICwgY2xhc3MgUDEyOCAsIGNsYXNzIFAxMjkgLCBjbGFzcyBQMTMwICwgY2xhc3MgUDEzMSAsIGNsYXNzIFAxMzIgLCBjbGFzcyBQMTMzICwgY2xhc3MgUDEzNCAsIGNsYXNzIFAxMzUgLCBjbGFzcyBQMTM2ICwgY2xhc3MgUDEzNyAsIGNsYXNzIFAxMzggLCBjbGFzcyBQMTM5ICwgY2xhc3MgUDE0MCAsIGNsYXNzIFAxNDEgLCBjbGFzcyBQMTQyICwgY2xhc3MgUDE0MyAsIGNsYXNzIFAxNDQgLCBjbGFzcyBQMTQ1ICwgY2xhc3MgUDE0NiAsIGNsYXNzIFAxNDcgLCBjbGFzcyBQMTQ4ICwgY2xhc3MgUDE0OSAsIGNsYXNzIFAxNTAgLCBjbGFzcyBQMTUxICwgY2xhc3MgUDE1MiAsIGNsYXNzIFAxNTMgLCBjbGFzcyBQMTU0ICwgY2xhc3MgUDE1NSAsIGNsYXNzIFAxNTYgLCBjbGFzcyBQMTU3ICwgY2xhc3MgUDE1OCAsIGNsYXNzIFAxNTkgLCBjbGFzcyBQMTYwICwgY2xhc3MgUDE2MSAsIGNsYXNzIFAxNjIgLCBjbGFzcyBQMTYzICwgY2xhc3MgUDE2NCAsIGNsYXNzIFAxNjUgPiBzdHJ1Y3QgdmVjdG9yMTY2IHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yMTY2PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFA5MiAsIFA5MyAsIFA5NCAsIFA5NSAsIFA5NiAsIFA5NyAsIFA5OCAsIFA5OSAsIFAxMDAgLCBQMTAxICwgUDEwMiAsIFAxMDMgLCBQMTA0ICwgUDEwNSAsIFAxMDYgLCBQMTA3ICwgUDEwOCAsIFAxMDkgLCBQMTEwICwgUDExMSAsIFAxMTIgLCBQMTEzICwgUDExNCAsIFAxMTUgLCBQMTE2ICwgUDExNyAsIFAxMTggLCBQMTE5ICwgUDEyMCAsIFAxMjEgLCBQMTIyICwgUDEyMyAsIFAxMjQgLCBQMTI1ICwgUDEyNiAsIFAxMjcgLCBQMTI4ICwgUDEyOSAsIFAxMzAgLCBQMTMxICwgUDEzMiAsIFAxMzMgLCBQMTM0ICwgUDEzNSAsIFAxMzYgLCBQMTM3ICwgUDEzOCAsIFAxMzkgLCBQMTQwICwgUDE0MSAsIFAxNDIgLCBQMTQzICwgUDE0NCAsIFAxNDUgLCBQMTQ2ICwgUDE0NyAsIFAxNDggLCBQMTQ5ICwgUDE1MCAsIFAxNTEgLCBQMTUyICwgUDE1MyAsIFAxNTQgLCBQMTU1ICwgUDE1NiAsIFAxNTcgLCBQMTU4ICwgUDE1OSAsIFAxNjAgLCBQMTYxICwgUDE2MiAsIFAxNjMgLCBQMTY0ICwgUDE2NT4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBQODggaXRlbTg4OyB0eXBlZGVmIFA4OSBpdGVtODk7IHR5cGVkZWYgUDkwIGl0ZW05MDsgdHlwZWRlZiBQOTEgaXRlbTkxOyB0eXBlZGVmIFA5MiBpdGVtOTI7IHR5cGVkZWYgUDkzIGl0ZW05MzsgdHlwZWRlZiBQOTQgaXRlbTk0OyB0eXBlZGVmIFA5NSBpdGVtOTU7IHR5cGVkZWYgUDk2IGl0ZW05NjsgdHlwZWRlZiBQOTcgaXRlbTk3OyB0eXBlZGVmIFA5OCBpdGVtOTg7IHR5cGVkZWYgUDk5IGl0ZW05OTsgdHlwZWRlZiBQMTAwIGl0ZW0xMDA7IHR5cGVkZWYgUDEwMSBpdGVtMTAxOyB0eXBlZGVmIFAxMDIgaXRlbTEwMjsgdHlwZWRlZiBQMTAzIGl0ZW0xMDM7IHR5cGVkZWYgUDEwNCBpdGVtMTA0OyB0eXBlZGVmIFAxMDUgaXRlbTEwNTsgdHlwZWRlZiBQMTA2IGl0ZW0xMDY7IHR5cGVkZWYgUDEwNyBpdGVtMTA3OyB0eXBlZGVmIFAxMDggaXRlbTEwODsgdHlwZWRlZiBQMTA5IGl0ZW0xMDk7IHR5cGVkZWYgUDExMCBpdGVtMTEwOyB0eXBlZGVmIFAxMTEgaXRlbTExMTsgdHlwZWRlZiBQMTEyIGl0ZW0xMTI7IHR5cGVkZWYgUDExMyBpdGVtMTEzOyB0eXBlZGVmIFAxMTQgaXRlbTExNDsgdHlwZWRlZiBQMTE1IGl0ZW0xMTU7IHR5cGVkZWYgUDExNiBpdGVtMTE2OyB0eXBlZGVmIFAxMTcgaXRlbTExNzsgdHlwZWRlZiBQMTE4IGl0ZW0xMTg7IHR5cGVkZWYgUDExOSBpdGVtMTE5OyB0eXBlZGVmIFAxMjAgaXRlbTEyMDsgdHlwZWRlZiBQMTIxIGl0ZW0xMjE7IHR5cGVkZWYgUDEyMiBpdGVtMTIyOyB0eXBlZGVmIFAxMjMgaXRlbTEyMzsgdHlwZWRlZiBQMTI0IGl0ZW0xMjQ7IHR5cGVkZWYgUDEyNSBpdGVtMTI1OyB0eXBlZGVmIFAxMjYgaXRlbTEyNjsgdHlwZWRlZiBQMTI3IGl0ZW0xMjc7IHR5cGVkZWYgUDEyOCBpdGVtMTI4OyB0eXBlZGVmIFAxMjkgaXRlbTEyOTsgdHlwZWRlZiBQMTMwIGl0ZW0xMzA7IHR5cGVkZWYgUDEzMSBpdGVtMTMxOyB0eXBlZGVmIFAxMzIgaXRlbTEzMjsgdHlwZWRlZiBQMTMzIGl0ZW0xMzM7IHR5cGVkZWYgUDEzNCBpdGVtMTM0OyB0eXBlZGVmIFAxMzUgaXRlbTEzNTsgdHlwZWRlZiBQMTM2IGl0ZW0xMzY7IHR5cGVkZWYgUDEzNyBpdGVtMTM3OyB0eXBlZGVmIFAxMzggaXRlbTEzODsgdHlwZWRlZiBQMTM5IGl0ZW0xMzk7IHR5cGVkZWYgUDE0MCBpdGVtMTQwOyB0eXBlZGVmIFAxNDEgaXRlbTE0MTsgdHlwZWRlZiBQMTQyIGl0ZW0xNDI7IHR5cGVkZWYgUDE0MyBpdGVtMTQzOyB0eXBlZGVmIFAxNDQgaXRlbTE0NDsgdHlwZWRlZiBQMTQ1IGl0ZW0xNDU7IHR5cGVkZWYgUDE0NiBpdGVtMTQ2OyB0eXBlZGVmIFAxNDcgaXRlbTE0NzsgdHlwZWRlZiBQMTQ4IGl0ZW0xNDg7IHR5cGVkZWYgUDE0OSBpdGVtMTQ5OyB0eXBlZGVmIFAxNTAgaXRlbTE1MDsgdHlwZWRlZiBQMTUxIGl0ZW0xNTE7IHR5cGVkZWYgUDE1MiBpdGVtMTUyOyB0eXBlZGVmIFAxNTMgaXRlbTE1MzsgdHlwZWRlZiBQMTU0IGl0ZW0xNTQ7IHR5cGVkZWYgUDE1NSBpdGVtMTU1OyB0eXBlZGVmIFAxNTYgaXRlbTE1NjsgdHlwZWRlZiBQMTU3IGl0ZW0xNTc7IHR5cGVkZWYgUDE1OCBpdGVtMTU4OyB0eXBlZGVmIFAxNTkgaXRlbTE1OTsgdHlwZWRlZiBQMTYwIGl0ZW0xNjA7IHR5cGVkZWYgUDE2MSBpdGVtMTYxOyB0eXBlZGVmIFAxNjIgaXRlbTE2MjsgdHlwZWRlZiBQMTYzIGl0ZW0xNjM7IHR5cGVkZWYgUDE2NCBpdGVtMTY0OyB0eXBlZGVmIFAxNjUgaXRlbTE2NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0OTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ICwgY2xhc3MgUDk2ICwgY2xhc3MgUDk3ICwgY2xhc3MgUDk4ICwgY2xhc3MgUDk5ICwgY2xhc3MgUDEwMCAsIGNsYXNzIFAxMDEgLCBjbGFzcyBQMTAyICwgY2xhc3MgUDEwMyAsIGNsYXNzIFAxMDQgLCBjbGFzcyBQMTA1ICwgY2xhc3MgUDEwNiAsIGNsYXNzIFAxMDcgLCBjbGFzcyBQMTA4ICwgY2xhc3MgUDEwOSAsIGNsYXNzIFAxMTAgLCBjbGFzcyBQMTExICwgY2xhc3MgUDExMiAsIGNsYXNzIFAxMTMgLCBjbGFzcyBQMTE0ICwgY2xhc3MgUDExNSAsIGNsYXNzIFAxMTYgLCBjbGFzcyBQMTE3ICwgY2xhc3MgUDExOCAsIGNsYXNzIFAxMTkgLCBjbGFzcyBQMTIwICwgY2xhc3MgUDEyMSAsIGNsYXNzIFAxMjIgLCBjbGFzcyBQMTIzICwgY2xhc3MgUDEyNCAsIGNsYXNzIFAxMjUgLCBjbGFzcyBQMTI2ICwgY2xhc3MgUDEyNyAsIGNsYXNzIFAxMjggLCBjbGFzcyBQMTI5ICwgY2xhc3MgUDEzMCAsIGNsYXNzIFAxMzEgLCBjbGFzcyBQMTMyICwgY2xhc3MgUDEzMyAsIGNsYXNzIFAxMzQgLCBjbGFzcyBQMTM1ICwgY2xhc3MgUDEzNiAsIGNsYXNzIFAxMzcgLCBjbGFzcyBQMTM4ICwgY2xhc3MgUDEzOSAsIGNsYXNzIFAxNDAgLCBjbGFzcyBQMTQxICwgY2xhc3MgUDE0MiAsIGNsYXNzIFAxNDMgLCBjbGFzcyBQMTQ0ICwgY2xhc3MgUDE0NSAsIGNsYXNzIFAxNDYgLCBjbGFzcyBQMTQ3ICwgY2xhc3MgUDE0OCAsIGNsYXNzIFAxNDkgLCBjbGFzcyBQMTUwICwgY2xhc3MgUDE1MSAsIGNsYXNzIFAxNTIgLCBjbGFzcyBQMTUzICwgY2xhc3MgUDE1NCAsIGNsYXNzIFAxNTUgLCBjbGFzcyBQMTU2ICwgY2xhc3MgUDE1NyAsIGNsYXNzIFAxNTggLCBjbGFzcyBQMTU5ICwgY2xhc3MgUDE2MCAsIGNsYXNzIFAxNjEgLCBjbGFzcyBQMTYyICwgY2xhc3MgUDE2MyAsIGNsYXNzIFAxNjQgLCBjbGFzcyBQMTY1ICwgY2xhc3MgUDE2NiA+IHN0cnVjdCB2ZWN0b3IxNjcgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3IxNjc8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1ICwgUDk2ICwgUDk3ICwgUDk4ICwgUDk5ICwgUDEwMCAsIFAxMDEgLCBQMTAyICwgUDEwMyAsIFAxMDQgLCBQMTA1ICwgUDEwNiAsIFAxMDcgLCBQMTA4ICwgUDEwOSAsIFAxMTAgLCBQMTExICwgUDExMiAsIFAxMTMgLCBQMTE0ICwgUDExNSAsIFAxMTYgLCBQMTE3ICwgUDExOCAsIFAxMTkgLCBQMTIwICwgUDEyMSAsIFAxMjIgLCBQMTIzICwgUDEyNCAsIFAxMjUgLCBQMTI2ICwgUDEyNyAsIFAxMjggLCBQMTI5ICwgUDEzMCAsIFAxMzEgLCBQMTMyICwgUDEzMyAsIFAxMzQgLCBQMTM1ICwgUDEzNiAsIFAxMzcgLCBQMTM4ICwgUDEzOSAsIFAxNDAgLCBQMTQxICwgUDE0MiAsIFAxNDMgLCBQMTQ0ICwgUDE0NSAsIFAxNDYgLCBQMTQ3ICwgUDE0OCAsIFAxNDkgLCBQMTUwICwgUDE1MSAsIFAxNTIgLCBQMTUzICwgUDE1NCAsIFAxNTUgLCBQMTU2ICwgUDE1NyAsIFAxNTggLCBQMTU5ICwgUDE2MCAsIFAxNjEgLCBQMTYyICwgUDE2MyAsIFAxNjQgLCBQMTY1ICwgUDE2Nj4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBQODggaXRlbTg4OyB0eXBlZGVmIFA4OSBpdGVtODk7IHR5cGVkZWYgUDkwIGl0ZW05MDsgdHlwZWRlZiBQOTEgaXRlbTkxOyB0eXBlZGVmIFA5MiBpdGVtOTI7IHR5cGVkZWYgUDkzIGl0ZW05MzsgdHlwZWRlZiBQOTQgaXRlbTk0OyB0eXBlZGVmIFA5NSBpdGVtOTU7IHR5cGVkZWYgUDk2IGl0ZW05NjsgdHlwZWRlZiBQOTcgaXRlbTk3OyB0eXBlZGVmIFA5OCBpdGVtOTg7IHR5cGVkZWYgUDk5IGl0ZW05OTsgdHlwZWRlZiBQMTAwIGl0ZW0xMDA7IHR5cGVkZWYgUDEwMSBpdGVtMTAxOyB0eXBlZGVmIFAxMDIgaXRlbTEwMjsgdHlwZWRlZiBQMTAzIGl0ZW0xMDM7IHR5cGVkZWYgUDEwNCBpdGVtMTA0OyB0eXBlZGVmIFAxMDUgaXRlbTEwNTsgdHlwZWRlZiBQMTA2IGl0ZW0xMDY7IHR5cGVkZWYgUDEwNyBpdGVtMTA3OyB0eXBlZGVmIFAxMDggaXRlbTEwODsgdHlwZWRlZiBQMTA5IGl0ZW0xMDk7IHR5cGVkZWYgUDExMCBpdGVtMTEwOyB0eXBlZGVmIFAxMTEgaXRlbTExMTsgdHlwZWRlZiBQMTEyIGl0ZW0xMTI7IHR5cGVkZWYgUDExMyBpdGVtMTEzOyB0eXBlZGVmIFAxMTQgaXRlbTExNDsgdHlwZWRlZiBQMTE1IGl0ZW0xMTU7IHR5cGVkZWYgUDExNiBpdGVtMTE2OyB0eXBlZGVmIFAxMTcgaXRlbTExNzsgdHlwZWRlZiBQMTE4IGl0ZW0xMTg7IHR5cGVkZWYgUDExOSBpdGVtMTE5OyB0eXBlZGVmIFAxMjAgaXRlbTEyMDsgdHlwZWRlZiBQMTIxIGl0ZW0xMjE7IHR5cGVkZWYgUDEyMiBpdGVtMTIyOyB0eXBlZGVmIFAxMjMgaXRlbTEyMzsgdHlwZWRlZiBQMTI0IGl0ZW0xMjQ7IHR5cGVkZWYgUDEyNSBpdGVtMTI1OyB0eXBlZGVmIFAxMjYgaXRlbTEyNjsgdHlwZWRlZiBQMTI3IGl0ZW0xMjc7IHR5cGVkZWYgUDEyOCBpdGVtMTI4OyB0eXBlZGVmIFAxMjkgaXRlbTEyOTsgdHlwZWRlZiBQMTMwIGl0ZW0xMzA7IHR5cGVkZWYgUDEzMSBpdGVtMTMxOyB0eXBlZGVmIFAxMzIgaXRlbTEzMjsgdHlwZWRlZiBQMTMzIGl0ZW0xMzM7IHR5cGVkZWYgUDEzNCBpdGVtMTM0OyB0eXBlZGVmIFAxMzUgaXRlbTEzNTsgdHlwZWRlZiBQMTM2IGl0ZW0xMzY7IHR5cGVkZWYgUDEzNyBpdGVtMTM3OyB0eXBlZGVmIFAxMzggaXRlbTEzODsgdHlwZWRlZiBQMTM5IGl0ZW0xMzk7IHR5cGVkZWYgUDE0MCBpdGVtMTQwOyB0eXBlZGVmIFAxNDEgaXRlbTE0MTsgdHlwZWRlZiBQMTQyIGl0ZW0xNDI7IHR5cGVkZWYgUDE0MyBpdGVtMTQzOyB0eXBlZGVmIFAxNDQgaXRlbTE0NDsgdHlwZWRlZiBQMTQ1IGl0ZW0xNDU7IHR5cGVkZWYgUDE0NiBpdGVtMTQ2OyB0eXBlZGVmIFAxNDcgaXRlbTE0NzsgdHlwZWRlZiBQMTQ4IGl0ZW0xNDg7IHR5cGVkZWYgUDE0OSBpdGVtMTQ5OyB0eXBlZGVmIFAxNTAgaXRlbTE1MDsgdHlwZWRlZiBQMTUxIGl0ZW0xNTE7IHR5cGVkZWYgUDE1MiBpdGVtMTUyOyB0eXBlZGVmIFAxNTMgaXRlbTE1MzsgdHlwZWRlZiBQMTU0IGl0ZW0xNTQ7IHR5cGVkZWYgUDE1NSBpdGVtMTU1OyB0eXBlZGVmIFAxNTYgaXRlbTE1NjsgdHlwZWRlZiBQMTU3IGl0ZW0xNTc7IHR5cGVkZWYgUDE1OCBpdGVtMTU4OyB0eXBlZGVmIFAxNTkgaXRlbTE1OTsgdHlwZWRlZiBQMTYwIGl0ZW0xNjA7IHR5cGVkZWYgUDE2MSBpdGVtMTYxOyB0eXBlZGVmIFAxNjIgaXRlbTE2MjsgdHlwZWRlZiBQMTYzIGl0ZW0xNjM7IHR5cGVkZWYgUDE2NCBpdGVtMTY0OyB0eXBlZGVmIFAxNjUgaXRlbTE2NTsgdHlwZWRlZiBQMTY2IGl0ZW0xNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDk7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSAsIGNsYXNzIFA4NiAsIGNsYXNzIFA4NyAsIGNsYXNzIFA4OCAsIGNsYXNzIFA4OSAsIGNsYXNzIFA5MCAsIGNsYXNzIFA5MSAsIGNsYXNzIFA5MiAsIGNsYXNzIFA5MyAsIGNsYXNzIFA5NCAsIGNsYXNzIFA5NSAsIGNsYXNzIFA5NiAsIGNsYXNzIFA5NyAsIGNsYXNzIFA5OCAsIGNsYXNzIFA5OSAsIGNsYXNzIFAxMDAgLCBjbGFzcyBQMTAxICwgY2xhc3MgUDEwMiAsIGNsYXNzIFAxMDMgLCBjbGFzcyBQMTA0ICwgY2xhc3MgUDEwNSAsIGNsYXNzIFAxMDYgLCBjbGFzcyBQMTA3ICwgY2xhc3MgUDEwOCAsIGNsYXNzIFAxMDkgLCBjbGFzcyBQMTEwICwgY2xhc3MgUDExMSAsIGNsYXNzIFAxMTIgLCBjbGFzcyBQMTEzICwgY2xhc3MgUDExNCAsIGNsYXNzIFAxMTUgLCBjbGFzcyBQMTE2ICwgY2xhc3MgUDExNyAsIGNsYXNzIFAxMTggLCBjbGFzcyBQMTE5ICwgY2xhc3MgUDEyMCAsIGNsYXNzIFAxMjEgLCBjbGFzcyBQMTIyICwgY2xhc3MgUDEyMyAsIGNsYXNzIFAxMjQgLCBjbGFzcyBQMTI1ICwgY2xhc3MgUDEyNiAsIGNsYXNzIFAxMjcgLCBjbGFzcyBQMTI4ICwgY2xhc3MgUDEyOSAsIGNsYXNzIFAxMzAgLCBjbGFzcyBQMTMxICwgY2xhc3MgUDEzMiAsIGNsYXNzIFAxMzMgLCBjbGFzcyBQMTM0ICwgY2xhc3MgUDEzNSAsIGNsYXNzIFAxMzYgLCBjbGFzcyBQMTM3ICwgY2xhc3MgUDEzOCAsIGNsYXNzIFAxMzkgLCBjbGFzcyBQMTQwICwgY2xhc3MgUDE0MSAsIGNsYXNzIFAxNDIgLCBjbGFzcyBQMTQzICwgY2xhc3MgUDE0NCAsIGNsYXNzIFAxNDUgLCBjbGFzcyBQMTQ2ICwgY2xhc3MgUDE0NyAsIGNsYXNzIFAxNDggLCBjbGFzcyBQMTQ5ICwgY2xhc3MgUDE1MCAsIGNsYXNzIFAxNTEgLCBjbGFzcyBQMTUyICwgY2xhc3MgUDE1MyAsIGNsYXNzIFAxNTQgLCBjbGFzcyBQMTU1ICwgY2xhc3MgUDE1NiAsIGNsYXNzIFAxNTcgLCBjbGFzcyBQMTU4ICwgY2xhc3MgUDE1OSAsIGNsYXNzIFAxNjAgLCBjbGFzcyBQMTYxICwgY2xhc3MgUDE2MiAsIGNsYXNzIFAxNjMgLCBjbGFzcyBQMTY0ICwgY2xhc3MgUDE2NSAsIGNsYXNzIFAxNjYgLCBjbGFzcyBQMTY3ID4gc3RydWN0IHZlY3RvcjE2OCB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjE2ODwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MCAsIFAxNDEgLCBQMTQyICwgUDE0MyAsIFAxNDQgLCBQMTQ1ICwgUDE0NiAsIFAxNDcgLCBQMTQ4ICwgUDE0OSAsIFAxNTAgLCBQMTUxICwgUDE1MiAsIFAxNTMgLCBQMTU0ICwgUDE1NSAsIFAxNTYgLCBQMTU3ICwgUDE1OCAsIFAxNTkgLCBQMTYwICwgUDE2MSAsIFAxNjIgLCBQMTYzICwgUDE2NCAsIFAxNjUgLCBQMTY2ICwgUDE2Nz4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBQODggaXRlbTg4OyB0eXBlZGVmIFA4OSBpdGVtODk7IHR5cGVkZWYgUDkwIGl0ZW05MDsgdHlwZWRlZiBQOTEgaXRlbTkxOyB0eXBlZGVmIFA5MiBpdGVtOTI7IHR5cGVkZWYgUDkzIGl0ZW05MzsgdHlwZWRlZiBQOTQgaXRlbTk0OyB0eXBlZGVmIFA5NSBpdGVtOTU7IHR5cGVkZWYgUDk2IGl0ZW05NjsgdHlwZWRlZiBQOTcgaXRlbTk3OyB0eXBlZGVmIFA5OCBpdGVtOTg7IHR5cGVkZWYgUDk5IGl0ZW05OTsgdHlwZWRlZiBQMTAwIGl0ZW0xMDA7IHR5cGVkZWYgUDEwMSBpdGVtMTAxOyB0eXBlZGVmIFAxMDIgaXRlbTEwMjsgdHlwZWRlZiBQMTAzIGl0ZW0xMDM7IHR5cGVkZWYgUDEwNCBpdGVtMTA0OyB0eXBlZGVmIFAxMDUgaXRlbTEwNTsgdHlwZWRlZiBQMTA2IGl0ZW0xMDY7IHR5cGVkZWYgUDEwNyBpdGVtMTA3OyB0eXBlZGVmIFAxMDggaXRlbTEwODsgdHlwZWRlZiBQMTA5IGl0ZW0xMDk7IHR5cGVkZWYgUDExMCBpdGVtMTEwOyB0eXBlZGVmIFAxMTEgaXRlbTExMTsgdHlwZWRlZiBQMTEyIGl0ZW0xMTI7IHR5cGVkZWYgUDExMyBpdGVtMTEzOyB0eXBlZGVmIFAxMTQgaXRlbTExNDsgdHlwZWRlZiBQMTE1IGl0ZW0xMTU7IHR5cGVkZWYgUDExNiBpdGVtMTE2OyB0eXBlZGVmIFAxMTcgaXRlbTExNzsgdHlwZWRlZiBQMTE4IGl0ZW0xMTg7IHR5cGVkZWYgUDExOSBpdGVtMTE5OyB0eXBlZGVmIFAxMjAgaXRlbTEyMDsgdHlwZWRlZiBQMTIxIGl0ZW0xMjE7IHR5cGVkZWYgUDEyMiBpdGVtMTIyOyB0eXBlZGVmIFAxMjMgaXRlbTEyMzsgdHlwZWRlZiBQMTI0IGl0ZW0xMjQ7IHR5cGVkZWYgUDEyNSBpdGVtMTI1OyB0eXBlZGVmIFAxMjYgaXRlbTEyNjsgdHlwZWRlZiBQMTI3IGl0ZW0xMjc7IHR5cGVkZWYgUDEyOCBpdGVtMTI4OyB0eXBlZGVmIFAxMjkgaXRlbTEyOTsgdHlwZWRlZiBQMTMwIGl0ZW0xMzA7IHR5cGVkZWYgUDEzMSBpdGVtMTMxOyB0eXBlZGVmIFAxMzIgaXRlbTEzMjsgdHlwZWRlZiBQMTMzIGl0ZW0xMzM7IHR5cGVkZWYgUDEzNCBpdGVtMTM0OyB0eXBlZGVmIFAxMzUgaXRlbTEzNTsgdHlwZWRlZiBQMTM2IGl0ZW0xMzY7IHR5cGVkZWYgUDEzNyBpdGVtMTM3OyB0eXBlZGVmIFAxMzggaXRlbTEzODsgdHlwZWRlZiBQMTM5IGl0ZW0xMzk7IHR5cGVkZWYgUDE0MCBpdGVtMTQwOyB0eXBlZGVmIFAxNDEgaXRlbTE0MTsgdHlwZWRlZiBQMTQyIGl0ZW0xNDI7IHR5cGVkZWYgUDE0MyBpdGVtMTQzOyB0eXBlZGVmIFAxNDQgaXRlbTE0NDsgdHlwZWRlZiBQMTQ1IGl0ZW0xNDU7IHR5cGVkZWYgUDE0NiBpdGVtMTQ2OyB0eXBlZGVmIFAxNDcgaXRlbTE0NzsgdHlwZWRlZiBQMTQ4IGl0ZW0xNDg7IHR5cGVkZWYgUDE0OSBpdGVtMTQ5OyB0eXBlZGVmIFAxNTAgaXRlbTE1MDsgdHlwZWRlZiBQMTUxIGl0ZW0xNTE7IHR5cGVkZWYgUDE1MiBpdGVtMTUyOyB0eXBlZGVmIFAxNTMgaXRlbTE1MzsgdHlwZWRlZiBQMTU0IGl0ZW0xNTQ7IHR5cGVkZWYgUDE1NSBpdGVtMTU1OyB0eXBlZGVmIFAxNTYgaXRlbTE1NjsgdHlwZWRlZiBQMTU3IGl0ZW0xNTc7IHR5cGVkZWYgUDE1OCBpdGVtMTU4OyB0eXBlZGVmIFAxNTkgaXRlbTE1OTsgdHlwZWRlZiBQMTYwIGl0ZW0xNjA7IHR5cGVkZWYgUDE2MSBpdGVtMTYxOyB0eXBlZGVmIFAxNjIgaXRlbTE2MjsgdHlwZWRlZiBQMTYzIGl0ZW0xNjM7IHR5cGVkZWYgUDE2NCBpdGVtMTY0OyB0eXBlZGVmIFAxNjUgaXRlbTE2NTsgdHlwZWRlZiBQMTY2IGl0ZW0xNjY7IHR5cGVkZWYgUDE2NyBpdGVtMTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ5OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBQOTMgLCBjbGFzcyBQOTQgLCBjbGFzcyBQOTUgLCBjbGFzcyBQOTYgLCBjbGFzcyBQOTcgLCBjbGFzcyBQOTggLCBjbGFzcyBQOTkgLCBjbGFzcyBQMTAwICwgY2xhc3MgUDEwMSAsIGNsYXNzIFAxMDIgLCBjbGFzcyBQMTAzICwgY2xhc3MgUDEwNCAsIGNsYXNzIFAxMDUgLCBjbGFzcyBQMTA2ICwgY2xhc3MgUDEwNyAsIGNsYXNzIFAxMDggLCBjbGFzcyBQMTA5ICwgY2xhc3MgUDExMCAsIGNsYXNzIFAxMTEgLCBjbGFzcyBQMTEyICwgY2xhc3MgUDExMyAsIGNsYXNzIFAxMTQgLCBjbGFzcyBQMTE1ICwgY2xhc3MgUDExNiAsIGNsYXNzIFAxMTcgLCBjbGFzcyBQMTE4ICwgY2xhc3MgUDExOSAsIGNsYXNzIFAxMjAgLCBjbGFzcyBQMTIxICwgY2xhc3MgUDEyMiAsIGNsYXNzIFAxMjMgLCBjbGFzcyBQMTI0ICwgY2xhc3MgUDEyNSAsIGNsYXNzIFAxMjYgLCBjbGFzcyBQMTI3ICwgY2xhc3MgUDEyOCAsIGNsYXNzIFAxMjkgLCBjbGFzcyBQMTMwICwgY2xhc3MgUDEzMSAsIGNsYXNzIFAxMzIgLCBjbGFzcyBQMTMzICwgY2xhc3MgUDEzNCAsIGNsYXNzIFAxMzUgLCBjbGFzcyBQMTM2ICwgY2xhc3MgUDEzNyAsIGNsYXNzIFAxMzggLCBjbGFzcyBQMTM5ICwgY2xhc3MgUDE0MCAsIGNsYXNzIFAxNDEgLCBjbGFzcyBQMTQyICwgY2xhc3MgUDE0MyAsIGNsYXNzIFAxNDQgLCBjbGFzcyBQMTQ1ICwgY2xhc3MgUDE0NiAsIGNsYXNzIFAxNDcgLCBjbGFzcyBQMTQ4ICwgY2xhc3MgUDE0OSAsIGNsYXNzIFAxNTAgLCBjbGFzcyBQMTUxICwgY2xhc3MgUDE1MiAsIGNsYXNzIFAxNTMgLCBjbGFzcyBQMTU0ICwgY2xhc3MgUDE1NSAsIGNsYXNzIFAxNTYgLCBjbGFzcyBQMTU3ICwgY2xhc3MgUDE1OCAsIGNsYXNzIFAxNTkgLCBjbGFzcyBQMTYwICwgY2xhc3MgUDE2MSAsIGNsYXNzIFAxNjIgLCBjbGFzcyBQMTYzICwgY2xhc3MgUDE2NCAsIGNsYXNzIFAxNjUgLCBjbGFzcyBQMTY2ICwgY2xhc3MgUDE2NyAsIGNsYXNzIFAxNjggPiBzdHJ1Y3QgdmVjdG9yMTY5IHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yMTY5PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFA5MiAsIFA5MyAsIFA5NCAsIFA5NSAsIFA5NiAsIFA5NyAsIFA5OCAsIFA5OSAsIFAxMDAgLCBQMTAxICwgUDEwMiAsIFAxMDMgLCBQMTA0ICwgUDEwNSAsIFAxMDYgLCBQMTA3ICwgUDEwOCAsIFAxMDkgLCBQMTEwICwgUDExMSAsIFAxMTIgLCBQMTEzICwgUDExNCAsIFAxMTUgLCBQMTE2ICwgUDExNyAsIFAxMTggLCBQMTE5ICwgUDEyMCAsIFAxMjEgLCBQMTIyICwgUDEyMyAsIFAxMjQgLCBQMTI1ICwgUDEyNiAsIFAxMjcgLCBQMTI4ICwgUDEyOSAsIFAxMzAgLCBQMTMxICwgUDEzMiAsIFAxMzMgLCBQMTM0ICwgUDEzNSAsIFAxMzYgLCBQMTM3ICwgUDEzOCAsIFAxMzkgLCBQMTQwICwgUDE0MSAsIFAxNDIgLCBQMTQzICwgUDE0NCAsIFAxNDUgLCBQMTQ2ICwgUDE0NyAsIFAxNDggLCBQMTQ5ICwgUDE1MCAsIFAxNTEgLCBQMTUyICwgUDE1MyAsIFAxNTQgLCBQMTU1ICwgUDE1NiAsIFAxNTcgLCBQMTU4ICwgUDE1OSAsIFAxNjAgLCBQMTYxICwgUDE2MiAsIFAxNjMgLCBQMTY0ICwgUDE2NSAsIFAxNjYgLCBQMTY3ICwgUDE2OD4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBQODggaXRlbTg4OyB0eXBlZGVmIFA4OSBpdGVtODk7IHR5cGVkZWYgUDkwIGl0ZW05MDsgdHlwZWRlZiBQOTEgaXRlbTkxOyB0eXBlZGVmIFA5MiBpdGVtOTI7IHR5cGVkZWYgUDkzIGl0ZW05MzsgdHlwZWRlZiBQOTQgaXRlbTk0OyB0eXBlZGVmIFA5NSBpdGVtOTU7IHR5cGVkZWYgUDk2IGl0ZW05NjsgdHlwZWRlZiBQOTcgaXRlbTk3OyB0eXBlZGVmIFA5OCBpdGVtOTg7IHR5cGVkZWYgUDk5IGl0ZW05OTsgdHlwZWRlZiBQMTAwIGl0ZW0xMDA7IHR5cGVkZWYgUDEwMSBpdGVtMTAxOyB0eXBlZGVmIFAxMDIgaXRlbTEwMjsgdHlwZWRlZiBQMTAzIGl0ZW0xMDM7IHR5cGVkZWYgUDEwNCBpdGVtMTA0OyB0eXBlZGVmIFAxMDUgaXRlbTEwNTsgdHlwZWRlZiBQMTA2IGl0ZW0xMDY7IHR5cGVkZWYgUDEwNyBpdGVtMTA3OyB0eXBlZGVmIFAxMDggaXRlbTEwODsgdHlwZWRlZiBQMTA5IGl0ZW0xMDk7IHR5cGVkZWYgUDExMCBpdGVtMTEwOyB0eXBlZGVmIFAxMTEgaXRlbTExMTsgdHlwZWRlZiBQMTEyIGl0ZW0xMTI7IHR5cGVkZWYgUDExMyBpdGVtMTEzOyB0eXBlZGVmIFAxMTQgaXRlbTExNDsgdHlwZWRlZiBQMTE1IGl0ZW0xMTU7IHR5cGVkZWYgUDExNiBpdGVtMTE2OyB0eXBlZGVmIFAxMTcgaXRlbTExNzsgdHlwZWRlZiBQMTE4IGl0ZW0xMTg7IHR5cGVkZWYgUDExOSBpdGVtMTE5OyB0eXBlZGVmIFAxMjAgaXRlbTEyMDsgdHlwZWRlZiBQMTIxIGl0ZW0xMjE7IHR5cGVkZWYgUDEyMiBpdGVtMTIyOyB0eXBlZGVmIFAxMjMgaXRlbTEyMzsgdHlwZWRlZiBQMTI0IGl0ZW0xMjQ7IHR5cGVkZWYgUDEyNSBpdGVtMTI1OyB0eXBlZGVmIFAxMjYgaXRlbTEyNjsgdHlwZWRlZiBQMTI3IGl0ZW0xMjc7IHR5cGVkZWYgUDEyOCBpdGVtMTI4OyB0eXBlZGVmIFAxMjkgaXRlbTEyOTsgdHlwZWRlZiBQMTMwIGl0ZW0xMzA7IHR5cGVkZWYgUDEzMSBpdGVtMTMxOyB0eXBlZGVmIFAxMzIgaXRlbTEzMjsgdHlwZWRlZiBQMTMzIGl0ZW0xMzM7IHR5cGVkZWYgUDEzNCBpdGVtMTM0OyB0eXBlZGVmIFAxMzUgaXRlbTEzNTsgdHlwZWRlZiBQMTM2IGl0ZW0xMzY7IHR5cGVkZWYgUDEzNyBpdGVtMTM3OyB0eXBlZGVmIFAxMzggaXRlbTEzODsgdHlwZWRlZiBQMTM5IGl0ZW0xMzk7IHR5cGVkZWYgUDE0MCBpdGVtMTQwOyB0eXBlZGVmIFAxNDEgaXRlbTE0MTsgdHlwZWRlZiBQMTQyIGl0ZW0xNDI7IHR5cGVkZWYgUDE0MyBpdGVtMTQzOyB0eXBlZGVmIFAxNDQgaXRlbTE0NDsgdHlwZWRlZiBQMTQ1IGl0ZW0xNDU7IHR5cGVkZWYgUDE0NiBpdGVtMTQ2OyB0eXBlZGVmIFAxNDcgaXRlbTE0NzsgdHlwZWRlZiBQMTQ4IGl0ZW0xNDg7IHR5cGVkZWYgUDE0OSBpdGVtMTQ5OyB0eXBlZGVmIFAxNTAgaXRlbTE1MDsgdHlwZWRlZiBQMTUxIGl0ZW0xNTE7IHR5cGVkZWYgUDE1MiBpdGVtMTUyOyB0eXBlZGVmIFAxNTMgaXRlbTE1MzsgdHlwZWRlZiBQMTU0IGl0ZW0xNTQ7IHR5cGVkZWYgUDE1NSBpdGVtMTU1OyB0eXBlZGVmIFAxNTYgaXRlbTE1NjsgdHlwZWRlZiBQMTU3IGl0ZW0xNTc7IHR5cGVkZWYgUDE1OCBpdGVtMTU4OyB0eXBlZGVmIFAxNTkgaXRlbTE1OTsgdHlwZWRlZiBQMTYwIGl0ZW0xNjA7IHR5cGVkZWYgUDE2MSBpdGVtMTYxOyB0eXBlZGVmIFAxNjIgaXRlbTE2MjsgdHlwZWRlZiBQMTYzIGl0ZW0xNjM7IHR5cGVkZWYgUDE2NCBpdGVtMTY0OyB0eXBlZGVmIFAxNjUgaXRlbTE2NTsgdHlwZWRlZiBQMTY2IGl0ZW0xNjY7IHR5cGVkZWYgUDE2NyBpdGVtMTY3OyB0eXBlZGVmIFAxNjggaXRlbTE2ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0OTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ICwgY2xhc3MgUDk2ICwgY2xhc3MgUDk3ICwgY2xhc3MgUDk4ICwgY2xhc3MgUDk5ICwgY2xhc3MgUDEwMCAsIGNsYXNzIFAxMDEgLCBjbGFzcyBQMTAyICwgY2xhc3MgUDEwMyAsIGNsYXNzIFAxMDQgLCBjbGFzcyBQMTA1ICwgY2xhc3MgUDEwNiAsIGNsYXNzIFAxMDcgLCBjbGFzcyBQMTA4ICwgY2xhc3MgUDEwOSAsIGNsYXNzIFAxMTAgLCBjbGFzcyBQMTExICwgY2xhc3MgUDExMiAsIGNsYXNzIFAxMTMgLCBjbGFzcyBQMTE0ICwgY2xhc3MgUDExNSAsIGNsYXNzIFAxMTYgLCBjbGFzcyBQMTE3ICwgY2xhc3MgUDExOCAsIGNsYXNzIFAxMTkgLCBjbGFzcyBQMTIwICwgY2xhc3MgUDEyMSAsIGNsYXNzIFAxMjIgLCBjbGFzcyBQMTIzICwgY2xhc3MgUDEyNCAsIGNsYXNzIFAxMjUgLCBjbGFzcyBQMTI2ICwgY2xhc3MgUDEyNyAsIGNsYXNzIFAxMjggLCBjbGFzcyBQMTI5ICwgY2xhc3MgUDEzMCAsIGNsYXNzIFAxMzEgLCBjbGFzcyBQMTMyICwgY2xhc3MgUDEzMyAsIGNsYXNzIFAxMzQgLCBjbGFzcyBQMTM1ICwgY2xhc3MgUDEzNiAsIGNsYXNzIFAxMzcgLCBjbGFzcyBQMTM4ICwgY2xhc3MgUDEzOSAsIGNsYXNzIFAxNDAgLCBjbGFzcyBQMTQxICwgY2xhc3MgUDE0MiAsIGNsYXNzIFAxNDMgLCBjbGFzcyBQMTQ0ICwgY2xhc3MgUDE0NSAsIGNsYXNzIFAxNDYgLCBjbGFzcyBQMTQ3ICwgY2xhc3MgUDE0OCAsIGNsYXNzIFAxNDkgLCBjbGFzcyBQMTUwICwgY2xhc3MgUDE1MSAsIGNsYXNzIFAxNTIgLCBjbGFzcyBQMTUzICwgY2xhc3MgUDE1NCAsIGNsYXNzIFAxNTUgLCBjbGFzcyBQMTU2ICwgY2xhc3MgUDE1NyAsIGNsYXNzIFAxNTggLCBjbGFzcyBQMTU5ICwgY2xhc3MgUDE2MCAsIGNsYXNzIFAxNjEgLCBjbGFzcyBQMTYyICwgY2xhc3MgUDE2MyAsIGNsYXNzIFAxNjQgLCBjbGFzcyBQMTY1ICwgY2xhc3MgUDE2NiAsIGNsYXNzIFAxNjcgLCBjbGFzcyBQMTY4ICwgY2xhc3MgUDE2OSA+IHN0cnVjdCB2ZWN0b3IxNzAgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3IxNzA8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1ICwgUDk2ICwgUDk3ICwgUDk4ICwgUDk5ICwgUDEwMCAsIFAxMDEgLCBQMTAyICwgUDEwMyAsIFAxMDQgLCBQMTA1ICwgUDEwNiAsIFAxMDcgLCBQMTA4ICwgUDEwOSAsIFAxMTAgLCBQMTExICwgUDExMiAsIFAxMTMgLCBQMTE0ICwgUDExNSAsIFAxMTYgLCBQMTE3ICwgUDExOCAsIFAxMTkgLCBQMTIwICwgUDEyMSAsIFAxMjIgLCBQMTIzICwgUDEyNCAsIFAxMjUgLCBQMTI2ICwgUDEyNyAsIFAxMjggLCBQMTI5ICwgUDEzMCAsIFAxMzEgLCBQMTMyICwgUDEzMyAsIFAxMzQgLCBQMTM1ICwgUDEzNiAsIFAxMzcgLCBQMTM4ICwgUDEzOSAsIFAxNDAgLCBQMTQxICwgUDE0MiAsIFAxNDMgLCBQMTQ0ICwgUDE0NSAsIFAxNDYgLCBQMTQ3ICwgUDE0OCAsIFAxNDkgLCBQMTUwICwgUDE1MSAsIFAxNTIgLCBQMTUzICwgUDE1NCAsIFAxNTUgLCBQMTU2ICwgUDE1NyAsIFAxNTggLCBQMTU5ICwgUDE2MCAsIFAxNjEgLCBQMTYyICwgUDE2MyAsIFAxNjQgLCBQMTY1ICwgUDE2NiAsIFAxNjcgLCBQMTY4ICwgUDE2OT4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBQODggaXRlbTg4OyB0eXBlZGVmIFA4OSBpdGVtODk7IHR5cGVkZWYgUDkwIGl0ZW05MDsgdHlwZWRlZiBQOTEgaXRlbTkxOyB0eXBlZGVmIFA5MiBpdGVtOTI7IHR5cGVkZWYgUDkzIGl0ZW05MzsgdHlwZWRlZiBQOTQgaXRlbTk0OyB0eXBlZGVmIFA5NSBpdGVtOTU7IHR5cGVkZWYgUDk2IGl0ZW05NjsgdHlwZWRlZiBQOTcgaXRlbTk3OyB0eXBlZGVmIFA5OCBpdGVtOTg7IHR5cGVkZWYgUDk5IGl0ZW05OTsgdHlwZWRlZiBQMTAwIGl0ZW0xMDA7IHR5cGVkZWYgUDEwMSBpdGVtMTAxOyB0eXBlZGVmIFAxMDIgaXRlbTEwMjsgdHlwZWRlZiBQMTAzIGl0ZW0xMDM7IHR5cGVkZWYgUDEwNCBpdGVtMTA0OyB0eXBlZGVmIFAxMDUgaXRlbTEwNTsgdHlwZWRlZiBQMTA2IGl0ZW0xMDY7IHR5cGVkZWYgUDEwNyBpdGVtMTA3OyB0eXBlZGVmIFAxMDggaXRlbTEwODsgdHlwZWRlZiBQMTA5IGl0ZW0xMDk7IHR5cGVkZWYgUDExMCBpdGVtMTEwOyB0eXBlZGVmIFAxMTEgaXRlbTExMTsgdHlwZWRlZiBQMTEyIGl0ZW0xMTI7IHR5cGVkZWYgUDExMyBpdGVtMTEzOyB0eXBlZGVmIFAxMTQgaXRlbTExNDsgdHlwZWRlZiBQMTE1IGl0ZW0xMTU7IHR5cGVkZWYgUDExNiBpdGVtMTE2OyB0eXBlZGVmIFAxMTcgaXRlbTExNzsgdHlwZWRlZiBQMTE4IGl0ZW0xMTg7IHR5cGVkZWYgUDExOSBpdGVtMTE5OyB0eXBlZGVmIFAxMjAgaXRlbTEyMDsgdHlwZWRlZiBQMTIxIGl0ZW0xMjE7IHR5cGVkZWYgUDEyMiBpdGVtMTIyOyB0eXBlZGVmIFAxMjMgaXRlbTEyMzsgdHlwZWRlZiBQMTI0IGl0ZW0xMjQ7IHR5cGVkZWYgUDEyNSBpdGVtMTI1OyB0eXBlZGVmIFAxMjYgaXRlbTEyNjsgdHlwZWRlZiBQMTI3IGl0ZW0xMjc7IHR5cGVkZWYgUDEyOCBpdGVtMTI4OyB0eXBlZGVmIFAxMjkgaXRlbTEyOTsgdHlwZWRlZiBQMTMwIGl0ZW0xMzA7IHR5cGVkZWYgUDEzMSBpdGVtMTMxOyB0eXBlZGVmIFAxMzIgaXRlbTEzMjsgdHlwZWRlZiBQMTMzIGl0ZW0xMzM7IHR5cGVkZWYgUDEzNCBpdGVtMTM0OyB0eXBlZGVmIFAxMzUgaXRlbTEzNTsgdHlwZWRlZiBQMTM2IGl0ZW0xMzY7IHR5cGVkZWYgUDEzNyBpdGVtMTM3OyB0eXBlZGVmIFAxMzggaXRlbTEzODsgdHlwZWRlZiBQMTM5IGl0ZW0xMzk7IHR5cGVkZWYgUDE0MCBpdGVtMTQwOyB0eXBlZGVmIFAxNDEgaXRlbTE0MTsgdHlwZWRlZiBQMTQyIGl0ZW0xNDI7IHR5cGVkZWYgUDE0MyBpdGVtMTQzOyB0eXBlZGVmIFAxNDQgaXRlbTE0NDsgdHlwZWRlZiBQMTQ1IGl0ZW0xNDU7IHR5cGVkZWYgUDE0NiBpdGVtMTQ2OyB0eXBlZGVmIFAxNDcgaXRlbTE0NzsgdHlwZWRlZiBQMTQ4IGl0ZW0xNDg7IHR5cGVkZWYgUDE0OSBpdGVtMTQ5OyB0eXBlZGVmIFAxNTAgaXRlbTE1MDsgdHlwZWRlZiBQMTUxIGl0ZW0xNTE7IHR5cGVkZWYgUDE1MiBpdGVtMTUyOyB0eXBlZGVmIFAxNTMgaXRlbTE1MzsgdHlwZWRlZiBQMTU0IGl0ZW0xNTQ7IHR5cGVkZWYgUDE1NSBpdGVtMTU1OyB0eXBlZGVmIFAxNTYgaXRlbTE1NjsgdHlwZWRlZiBQMTU3IGl0ZW0xNTc7IHR5cGVkZWYgUDE1OCBpdGVtMTU4OyB0eXBlZGVmIFAxNTkgaXRlbTE1OTsgdHlwZWRlZiBQMTYwIGl0ZW0xNjA7IHR5cGVkZWYgUDE2MSBpdGVtMTYxOyB0eXBlZGVmIFAxNjIgaXRlbTE2MjsgdHlwZWRlZiBQMTYzIGl0ZW0xNjM7IHR5cGVkZWYgUDE2NCBpdGVtMTY0OyB0eXBlZGVmIFAxNjUgaXRlbTE2NTsgdHlwZWRlZiBQMTY2IGl0ZW0xNjY7IHR5cGVkZWYgUDE2NyBpdGVtMTY3OyB0eXBlZGVmIFAxNjggaXRlbTE2ODsgdHlwZWRlZiBQMTY5IGl0ZW0xNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDk7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSAsIGNsYXNzIFA4NiAsIGNsYXNzIFA4NyAsIGNsYXNzIFA4OCAsIGNsYXNzIFA4OSAsIGNsYXNzIFA5MCAsIGNsYXNzIFA5MSAsIGNsYXNzIFA5MiAsIGNsYXNzIFA5MyAsIGNsYXNzIFA5NCAsIGNsYXNzIFA5NSAsIGNsYXNzIFA5NiAsIGNsYXNzIFA5NyAsIGNsYXNzIFA5OCAsIGNsYXNzIFA5OSAsIGNsYXNzIFAxMDAgLCBjbGFzcyBQMTAxICwgY2xhc3MgUDEwMiAsIGNsYXNzIFAxMDMgLCBjbGFzcyBQMTA0ICwgY2xhc3MgUDEwNSAsIGNsYXNzIFAxMDYgLCBjbGFzcyBQMTA3ICwgY2xhc3MgUDEwOCAsIGNsYXNzIFAxMDkgLCBjbGFzcyBQMTEwICwgY2xhc3MgUDExMSAsIGNsYXNzIFAxMTIgLCBjbGFzcyBQMTEzICwgY2xhc3MgUDExNCAsIGNsYXNzIFAxMTUgLCBjbGFzcyBQMTE2ICwgY2xhc3MgUDExNyAsIGNsYXNzIFAxMTggLCBjbGFzcyBQMTE5ICwgY2xhc3MgUDEyMCAsIGNsYXNzIFAxMjEgLCBjbGFzcyBQMTIyICwgY2xhc3MgUDEyMyAsIGNsYXNzIFAxMjQgLCBjbGFzcyBQMTI1ICwgY2xhc3MgUDEyNiAsIGNsYXNzIFAxMjcgLCBjbGFzcyBQMTI4ICwgY2xhc3MgUDEyOSAsIGNsYXNzIFAxMzAgLCBjbGFzcyBQMTMxICwgY2xhc3MgUDEzMiAsIGNsYXNzIFAxMzMgLCBjbGFzcyBQMTM0ICwgY2xhc3MgUDEzNSAsIGNsYXNzIFAxMzYgLCBjbGFzcyBQMTM3ICwgY2xhc3MgUDEzOCAsIGNsYXNzIFAxMzkgLCBjbGFzcyBQMTQwICwgY2xhc3MgUDE0MSAsIGNsYXNzIFAxNDIgLCBjbGFzcyBQMTQzICwgY2xhc3MgUDE0NCAsIGNsYXNzIFAxNDUgLCBjbGFzcyBQMTQ2ICwgY2xhc3MgUDE0NyAsIGNsYXNzIFAxNDggLCBjbGFzcyBQMTQ5ICwgY2xhc3MgUDE1MCAsIGNsYXNzIFAxNTEgLCBjbGFzcyBQMTUyICwgY2xhc3MgUDE1MyAsIGNsYXNzIFAxNTQgLCBjbGFzcyBQMTU1ICwgY2xhc3MgUDE1NiAsIGNsYXNzIFAxNTcgLCBjbGFzcyBQMTU4ICwgY2xhc3MgUDE1OSAsIGNsYXNzIFAxNjAgLCBjbGFzcyBQMTYxICwgY2xhc3MgUDE2MiAsIGNsYXNzIFAxNjMgLCBjbGFzcyBQMTY0ICwgY2xhc3MgUDE2NSAsIGNsYXNzIFAxNjYgLCBjbGFzcyBQMTY3ICwgY2xhc3MgUDE2OCAsIGNsYXNzIFAxNjkgLCBjbGFzcyBQMTcwID4gc3RydWN0IHZlY3RvcjE3MSB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjE3MTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MCAsIFAxNDEgLCBQMTQyICwgUDE0MyAsIFAxNDQgLCBQMTQ1ICwgUDE0NiAsIFAxNDcgLCBQMTQ4ICwgUDE0OSAsIFAxNTAgLCBQMTUxICwgUDE1MiAsIFAxNTMgLCBQMTU0ICwgUDE1NSAsIFAxNTYgLCBQMTU3ICwgUDE1OCAsIFAxNTkgLCBQMTYwICwgUDE2MSAsIFAxNjIgLCBQMTYzICwgUDE2NCAsIFAxNjUgLCBQMTY2ICwgUDE2NyAsIFAxNjggLCBQMTY5ICwgUDE3MD4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBQODggaXRlbTg4OyB0eXBlZGVmIFA4OSBpdGVtODk7IHR5cGVkZWYgUDkwIGl0ZW05MDsgdHlwZWRlZiBQOTEgaXRlbTkxOyB0eXBlZGVmIFA5MiBpdGVtOTI7IHR5cGVkZWYgUDkzIGl0ZW05MzsgdHlwZWRlZiBQOTQgaXRlbTk0OyB0eXBlZGVmIFA5NSBpdGVtOTU7IHR5cGVkZWYgUDk2IGl0ZW05NjsgdHlwZWRlZiBQOTcgaXRlbTk3OyB0eXBlZGVmIFA5OCBpdGVtOTg7IHR5cGVkZWYgUDk5IGl0ZW05OTsgdHlwZWRlZiBQMTAwIGl0ZW0xMDA7IHR5cGVkZWYgUDEwMSBpdGVtMTAxOyB0eXBlZGVmIFAxMDIgaXRlbTEwMjsgdHlwZWRlZiBQMTAzIGl0ZW0xMDM7IHR5cGVkZWYgUDEwNCBpdGVtMTA0OyB0eXBlZGVmIFAxMDUgaXRlbTEwNTsgdHlwZWRlZiBQMTA2IGl0ZW0xMDY7IHR5cGVkZWYgUDEwNyBpdGVtMTA3OyB0eXBlZGVmIFAxMDggaXRlbTEwODsgdHlwZWRlZiBQMTA5IGl0ZW0xMDk7IHR5cGVkZWYgUDExMCBpdGVtMTEwOyB0eXBlZGVmIFAxMTEgaXRlbTExMTsgdHlwZWRlZiBQMTEyIGl0ZW0xMTI7IHR5cGVkZWYgUDExMyBpdGVtMTEzOyB0eXBlZGVmIFAxMTQgaXRlbTExNDsgdHlwZWRlZiBQMTE1IGl0ZW0xMTU7IHR5cGVkZWYgUDExNiBpdGVtMTE2OyB0eXBlZGVmIFAxMTcgaXRlbTExNzsgdHlwZWRlZiBQMTE4IGl0ZW0xMTg7IHR5cGVkZWYgUDExOSBpdGVtMTE5OyB0eXBlZGVmIFAxMjAgaXRlbTEyMDsgdHlwZWRlZiBQMTIxIGl0ZW0xMjE7IHR5cGVkZWYgUDEyMiBpdGVtMTIyOyB0eXBlZGVmIFAxMjMgaXRlbTEyMzsgdHlwZWRlZiBQMTI0IGl0ZW0xMjQ7IHR5cGVkZWYgUDEyNSBpdGVtMTI1OyB0eXBlZGVmIFAxMjYgaXRlbTEyNjsgdHlwZWRlZiBQMTI3IGl0ZW0xMjc7IHR5cGVkZWYgUDEyOCBpdGVtMTI4OyB0eXBlZGVmIFAxMjkgaXRlbTEyOTsgdHlwZWRlZiBQMTMwIGl0ZW0xMzA7IHR5cGVkZWYgUDEzMSBpdGVtMTMxOyB0eXBlZGVmIFAxMzIgaXRlbTEzMjsgdHlwZWRlZiBQMTMzIGl0ZW0xMzM7IHR5cGVkZWYgUDEzNCBpdGVtMTM0OyB0eXBlZGVmIFAxMzUgaXRlbTEzNTsgdHlwZWRlZiBQMTM2IGl0ZW0xMzY7IHR5cGVkZWYgUDEzNyBpdGVtMTM3OyB0eXBlZGVmIFAxMzggaXRlbTEzODsgdHlwZWRlZiBQMTM5IGl0ZW0xMzk7IHR5cGVkZWYgUDE0MCBpdGVtMTQwOyB0eXBlZGVmIFAxNDEgaXRlbTE0MTsgdHlwZWRlZiBQMTQyIGl0ZW0xNDI7IHR5cGVkZWYgUDE0MyBpdGVtMTQzOyB0eXBlZGVmIFAxNDQgaXRlbTE0NDsgdHlwZWRlZiBQMTQ1IGl0ZW0xNDU7IHR5cGVkZWYgUDE0NiBpdGVtMTQ2OyB0eXBlZGVmIFAxNDcgaXRlbTE0NzsgdHlwZWRlZiBQMTQ4IGl0ZW0xNDg7IHR5cGVkZWYgUDE0OSBpdGVtMTQ5OyB0eXBlZGVmIFAxNTAgaXRlbTE1MDsgdHlwZWRlZiBQMTUxIGl0ZW0xNTE7IHR5cGVkZWYgUDE1MiBpdGVtMTUyOyB0eXBlZGVmIFAxNTMgaXRlbTE1MzsgdHlwZWRlZiBQMTU0IGl0ZW0xNTQ7IHR5cGVkZWYgUDE1NSBpdGVtMTU1OyB0eXBlZGVmIFAxNTYgaXRlbTE1NjsgdHlwZWRlZiBQMTU3IGl0ZW0xNTc7IHR5cGVkZWYgUDE1OCBpdGVtMTU4OyB0eXBlZGVmIFAxNTkgaXRlbTE1OTsgdHlwZWRlZiBQMTYwIGl0ZW0xNjA7IHR5cGVkZWYgUDE2MSBpdGVtMTYxOyB0eXBlZGVmIFAxNjIgaXRlbTE2MjsgdHlwZWRlZiBQMTYzIGl0ZW0xNjM7IHR5cGVkZWYgUDE2NCBpdGVtMTY0OyB0eXBlZGVmIFAxNjUgaXRlbTE2NTsgdHlwZWRlZiBQMTY2IGl0ZW0xNjY7IHR5cGVkZWYgUDE2NyBpdGVtMTY3OyB0eXBlZGVmIFAxNjggaXRlbTE2ODsgdHlwZWRlZiBQMTY5IGl0ZW0xNjk7IHR5cGVkZWYgUDE3MCBpdGVtMTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ5OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBQOTMgLCBjbGFzcyBQOTQgLCBjbGFzcyBQOTUgLCBjbGFzcyBQOTYgLCBjbGFzcyBQOTcgLCBjbGFzcyBQOTggLCBjbGFzcyBQOTkgLCBjbGFzcyBQMTAwICwgY2xhc3MgUDEwMSAsIGNsYXNzIFAxMDIgLCBjbGFzcyBQMTAzICwgY2xhc3MgUDEwNCAsIGNsYXNzIFAxMDUgLCBjbGFzcyBQMTA2ICwgY2xhc3MgUDEwNyAsIGNsYXNzIFAxMDggLCBjbGFzcyBQMTA5ICwgY2xhc3MgUDExMCAsIGNsYXNzIFAxMTEgLCBjbGFzcyBQMTEyICwgY2xhc3MgUDExMyAsIGNsYXNzIFAxMTQgLCBjbGFzcyBQMTE1ICwgY2xhc3MgUDExNiAsIGNsYXNzIFAxMTcgLCBjbGFzcyBQMTE4ICwgY2xhc3MgUDExOSAsIGNsYXNzIFAxMjAgLCBjbGFzcyBQMTIxICwgY2xhc3MgUDEyMiAsIGNsYXNzIFAxMjMgLCBjbGFzcyBQMTI0ICwgY2xhc3MgUDEyNSAsIGNsYXNzIFAxMjYgLCBjbGFzcyBQMTI3ICwgY2xhc3MgUDEyOCAsIGNsYXNzIFAxMjkgLCBjbGFzcyBQMTMwICwgY2xhc3MgUDEzMSAsIGNsYXNzIFAxMzIgLCBjbGFzcyBQMTMzICwgY2xhc3MgUDEzNCAsIGNsYXNzIFAxMzUgLCBjbGFzcyBQMTM2ICwgY2xhc3MgUDEzNyAsIGNsYXNzIFAxMzggLCBjbGFzcyBQMTM5ICwgY2xhc3MgUDE0MCAsIGNsYXNzIFAxNDEgLCBjbGFzcyBQMTQyICwgY2xhc3MgUDE0MyAsIGNsYXNzIFAxNDQgLCBjbGFzcyBQMTQ1ICwgY2xhc3MgUDE0NiAsIGNsYXNzIFAxNDcgLCBjbGFzcyBQMTQ4ICwgY2xhc3MgUDE0OSAsIGNsYXNzIFAxNTAgLCBjbGFzcyBQMTUxICwgY2xhc3MgUDE1MiAsIGNsYXNzIFAxNTMgLCBjbGFzcyBQMTU0ICwgY2xhc3MgUDE1NSAsIGNsYXNzIFAxNTYgLCBjbGFzcyBQMTU3ICwgY2xhc3MgUDE1OCAsIGNsYXNzIFAxNTkgLCBjbGFzcyBQMTYwICwgY2xhc3MgUDE2MSAsIGNsYXNzIFAxNjIgLCBjbGFzcyBQMTYzICwgY2xhc3MgUDE2NCAsIGNsYXNzIFAxNjUgLCBjbGFzcyBQMTY2ICwgY2xhc3MgUDE2NyAsIGNsYXNzIFAxNjggLCBjbGFzcyBQMTY5ICwgY2xhc3MgUDE3MCAsIGNsYXNzIFAxNzEgPiBzdHJ1Y3QgdmVjdG9yMTcyIHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yMTcyPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFA5MiAsIFA5MyAsIFA5NCAsIFA5NSAsIFA5NiAsIFA5NyAsIFA5OCAsIFA5OSAsIFAxMDAgLCBQMTAxICwgUDEwMiAsIFAxMDMgLCBQMTA0ICwgUDEwNSAsIFAxMDYgLCBQMTA3ICwgUDEwOCAsIFAxMDkgLCBQMTEwICwgUDExMSAsIFAxMTIgLCBQMTEzICwgUDExNCAsIFAxMTUgLCBQMTE2ICwgUDExNyAsIFAxMTggLCBQMTE5ICwgUDEyMCAsIFAxMjEgLCBQMTIyICwgUDEyMyAsIFAxMjQgLCBQMTI1ICwgUDEyNiAsIFAxMjcgLCBQMTI4ICwgUDEyOSAsIFAxMzAgLCBQMTMxICwgUDEzMiAsIFAxMzMgLCBQMTM0ICwgUDEzNSAsIFAxMzYgLCBQMTM3ICwgUDEzOCAsIFAxMzkgLCBQMTQwICwgUDE0MSAsIFAxNDIgLCBQMTQzICwgUDE0NCAsIFAxNDUgLCBQMTQ2ICwgUDE0NyAsIFAxNDggLCBQMTQ5ICwgUDE1MCAsIFAxNTEgLCBQMTUyICwgUDE1MyAsIFAxNTQgLCBQMTU1ICwgUDE1NiAsIFAxNTcgLCBQMTU4ICwgUDE1OSAsIFAxNjAgLCBQMTYxICwgUDE2MiAsIFAxNjMgLCBQMTY0ICwgUDE2NSAsIFAxNjYgLCBQMTY3ICwgUDE2OCAsIFAxNjkgLCBQMTcwICwgUDE3MT4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBQODggaXRlbTg4OyB0eXBlZGVmIFA4OSBpdGVtODk7IHR5cGVkZWYgUDkwIGl0ZW05MDsgdHlwZWRlZiBQOTEgaXRlbTkxOyB0eXBlZGVmIFA5MiBpdGVtOTI7IHR5cGVkZWYgUDkzIGl0ZW05MzsgdHlwZWRlZiBQOTQgaXRlbTk0OyB0eXBlZGVmIFA5NSBpdGVtOTU7IHR5cGVkZWYgUDk2IGl0ZW05NjsgdHlwZWRlZiBQOTcgaXRlbTk3OyB0eXBlZGVmIFA5OCBpdGVtOTg7IHR5cGVkZWYgUDk5IGl0ZW05OTsgdHlwZWRlZiBQMTAwIGl0ZW0xMDA7IHR5cGVkZWYgUDEwMSBpdGVtMTAxOyB0eXBlZGVmIFAxMDIgaXRlbTEwMjsgdHlwZWRlZiBQMTAzIGl0ZW0xMDM7IHR5cGVkZWYgUDEwNCBpdGVtMTA0OyB0eXBlZGVmIFAxMDUgaXRlbTEwNTsgdHlwZWRlZiBQMTA2IGl0ZW0xMDY7IHR5cGVkZWYgUDEwNyBpdGVtMTA3OyB0eXBlZGVmIFAxMDggaXRlbTEwODsgdHlwZWRlZiBQMTA5IGl0ZW0xMDk7IHR5cGVkZWYgUDExMCBpdGVtMTEwOyB0eXBlZGVmIFAxMTEgaXRlbTExMTsgdHlwZWRlZiBQMTEyIGl0ZW0xMTI7IHR5cGVkZWYgUDExMyBpdGVtMTEzOyB0eXBlZGVmIFAxMTQgaXRlbTExNDsgdHlwZWRlZiBQMTE1IGl0ZW0xMTU7IHR5cGVkZWYgUDExNiBpdGVtMTE2OyB0eXBlZGVmIFAxMTcgaXRlbTExNzsgdHlwZWRlZiBQMTE4IGl0ZW0xMTg7IHR5cGVkZWYgUDExOSBpdGVtMTE5OyB0eXBlZGVmIFAxMjAgaXRlbTEyMDsgdHlwZWRlZiBQMTIxIGl0ZW0xMjE7IHR5cGVkZWYgUDEyMiBpdGVtMTIyOyB0eXBlZGVmIFAxMjMgaXRlbTEyMzsgdHlwZWRlZiBQMTI0IGl0ZW0xMjQ7IHR5cGVkZWYgUDEyNSBpdGVtMTI1OyB0eXBlZGVmIFAxMjYgaXRlbTEyNjsgdHlwZWRlZiBQMTI3IGl0ZW0xMjc7IHR5cGVkZWYgUDEyOCBpdGVtMTI4OyB0eXBlZGVmIFAxMjkgaXRlbTEyOTsgdHlwZWRlZiBQMTMwIGl0ZW0xMzA7IHR5cGVkZWYgUDEzMSBpdGVtMTMxOyB0eXBlZGVmIFAxMzIgaXRlbTEzMjsgdHlwZWRlZiBQMTMzIGl0ZW0xMzM7IHR5cGVkZWYgUDEzNCBpdGVtMTM0OyB0eXBlZGVmIFAxMzUgaXRlbTEzNTsgdHlwZWRlZiBQMTM2IGl0ZW0xMzY7IHR5cGVkZWYgUDEzNyBpdGVtMTM3OyB0eXBlZGVmIFAxMzggaXRlbTEzODsgdHlwZWRlZiBQMTM5IGl0ZW0xMzk7IHR5cGVkZWYgUDE0MCBpdGVtMTQwOyB0eXBlZGVmIFAxNDEgaXRlbTE0MTsgdHlwZWRlZiBQMTQyIGl0ZW0xNDI7IHR5cGVkZWYgUDE0MyBpdGVtMTQzOyB0eXBlZGVmIFAxNDQgaXRlbTE0NDsgdHlwZWRlZiBQMTQ1IGl0ZW0xNDU7IHR5cGVkZWYgUDE0NiBpdGVtMTQ2OyB0eXBlZGVmIFAxNDcgaXRlbTE0NzsgdHlwZWRlZiBQMTQ4IGl0ZW0xNDg7IHR5cGVkZWYgUDE0OSBpdGVtMTQ5OyB0eXBlZGVmIFAxNTAgaXRlbTE1MDsgdHlwZWRlZiBQMTUxIGl0ZW0xNTE7IHR5cGVkZWYgUDE1MiBpdGVtMTUyOyB0eXBlZGVmIFAxNTMgaXRlbTE1MzsgdHlwZWRlZiBQMTU0IGl0ZW0xNTQ7IHR5cGVkZWYgUDE1NSBpdGVtMTU1OyB0eXBlZGVmIFAxNTYgaXRlbTE1NjsgdHlwZWRlZiBQMTU3IGl0ZW0xNTc7IHR5cGVkZWYgUDE1OCBpdGVtMTU4OyB0eXBlZGVmIFAxNTkgaXRlbTE1OTsgdHlwZWRlZiBQMTYwIGl0ZW0xNjA7IHR5cGVkZWYgUDE2MSBpdGVtMTYxOyB0eXBlZGVmIFAxNjIgaXRlbTE2MjsgdHlwZWRlZiBQMTYzIGl0ZW0xNjM7IHR5cGVkZWYgUDE2NCBpdGVtMTY0OyB0eXBlZGVmIFAxNjUgaXRlbTE2NTsgdHlwZWRlZiBQMTY2IGl0ZW0xNjY7IHR5cGVkZWYgUDE2NyBpdGVtMTY3OyB0eXBlZGVmIFAxNjggaXRlbTE2ODsgdHlwZWRlZiBQMTY5IGl0ZW0xNjk7IHR5cGVkZWYgUDE3MCBpdGVtMTcwOyB0eXBlZGVmIFAxNzEgaXRlbTE3MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0OTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ICwgY2xhc3MgUDk2ICwgY2xhc3MgUDk3ICwgY2xhc3MgUDk4ICwgY2xhc3MgUDk5ICwgY2xhc3MgUDEwMCAsIGNsYXNzIFAxMDEgLCBjbGFzcyBQMTAyICwgY2xhc3MgUDEwMyAsIGNsYXNzIFAxMDQgLCBjbGFzcyBQMTA1ICwgY2xhc3MgUDEwNiAsIGNsYXNzIFAxMDcgLCBjbGFzcyBQMTA4ICwgY2xhc3MgUDEwOSAsIGNsYXNzIFAxMTAgLCBjbGFzcyBQMTExICwgY2xhc3MgUDExMiAsIGNsYXNzIFAxMTMgLCBjbGFzcyBQMTE0ICwgY2xhc3MgUDExNSAsIGNsYXNzIFAxMTYgLCBjbGFzcyBQMTE3ICwgY2xhc3MgUDExOCAsIGNsYXNzIFAxMTkgLCBjbGFzcyBQMTIwICwgY2xhc3MgUDEyMSAsIGNsYXNzIFAxMjIgLCBjbGFzcyBQMTIzICwgY2xhc3MgUDEyNCAsIGNsYXNzIFAxMjUgLCBjbGFzcyBQMTI2ICwgY2xhc3MgUDEyNyAsIGNsYXNzIFAxMjggLCBjbGFzcyBQMTI5ICwgY2xhc3MgUDEzMCAsIGNsYXNzIFAxMzEgLCBjbGFzcyBQMTMyICwgY2xhc3MgUDEzMyAsIGNsYXNzIFAxMzQgLCBjbGFzcyBQMTM1ICwgY2xhc3MgUDEzNiAsIGNsYXNzIFAxMzcgLCBjbGFzcyBQMTM4ICwgY2xhc3MgUDEzOSAsIGNsYXNzIFAxNDAgLCBjbGFzcyBQMTQxICwgY2xhc3MgUDE0MiAsIGNsYXNzIFAxNDMgLCBjbGFzcyBQMTQ0ICwgY2xhc3MgUDE0NSAsIGNsYXNzIFAxNDYgLCBjbGFzcyBQMTQ3ICwgY2xhc3MgUDE0OCAsIGNsYXNzIFAxNDkgLCBjbGFzcyBQMTUwICwgY2xhc3MgUDE1MSAsIGNsYXNzIFAxNTIgLCBjbGFzcyBQMTUzICwgY2xhc3MgUDE1NCAsIGNsYXNzIFAxNTUgLCBjbGFzcyBQMTU2ICwgY2xhc3MgUDE1NyAsIGNsYXNzIFAxNTggLCBjbGFzcyBQMTU5ICwgY2xhc3MgUDE2MCAsIGNsYXNzIFAxNjEgLCBjbGFzcyBQMTYyICwgY2xhc3MgUDE2MyAsIGNsYXNzIFAxNjQgLCBjbGFzcyBQMTY1ICwgY2xhc3MgUDE2NiAsIGNsYXNzIFAxNjcgLCBjbGFzcyBQMTY4ICwgY2xhc3MgUDE2OSAsIGNsYXNzIFAxNzAgLCBjbGFzcyBQMTcxICwgY2xhc3MgUDE3MiA+IHN0cnVjdCB2ZWN0b3IxNzMgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3IxNzM8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1ICwgUDk2ICwgUDk3ICwgUDk4ICwgUDk5ICwgUDEwMCAsIFAxMDEgLCBQMTAyICwgUDEwMyAsIFAxMDQgLCBQMTA1ICwgUDEwNiAsIFAxMDcgLCBQMTA4ICwgUDEwOSAsIFAxMTAgLCBQMTExICwgUDExMiAsIFAxMTMgLCBQMTE0ICwgUDExNSAsIFAxMTYgLCBQMTE3ICwgUDExOCAsIFAxMTkgLCBQMTIwICwgUDEyMSAsIFAxMjIgLCBQMTIzICwgUDEyNCAsIFAxMjUgLCBQMTI2ICwgUDEyNyAsIFAxMjggLCBQMTI5ICwgUDEzMCAsIFAxMzEgLCBQMTMyICwgUDEzMyAsIFAxMzQgLCBQMTM1ICwgUDEzNiAsIFAxMzcgLCBQMTM4ICwgUDEzOSAsIFAxNDAgLCBQMTQxICwgUDE0MiAsIFAxNDMgLCBQMTQ0ICwgUDE0NSAsIFAxNDYgLCBQMTQ3ICwgUDE0OCAsIFAxNDkgLCBQMTUwICwgUDE1MSAsIFAxNTIgLCBQMTUzICwgUDE1NCAsIFAxNTUgLCBQMTU2ICwgUDE1NyAsIFAxNTggLCBQMTU5ICwgUDE2MCAsIFAxNjEgLCBQMTYyICwgUDE2MyAsIFAxNjQgLCBQMTY1ICwgUDE2NiAsIFAxNjcgLCBQMTY4ICwgUDE2OSAsIFAxNzAgLCBQMTcxICwgUDE3Mj4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBQODggaXRlbTg4OyB0eXBlZGVmIFA4OSBpdGVtODk7IHR5cGVkZWYgUDkwIGl0ZW05MDsgdHlwZWRlZiBQOTEgaXRlbTkxOyB0eXBlZGVmIFA5MiBpdGVtOTI7IHR5cGVkZWYgUDkzIGl0ZW05MzsgdHlwZWRlZiBQOTQgaXRlbTk0OyB0eXBlZGVmIFA5NSBpdGVtOTU7IHR5cGVkZWYgUDk2IGl0ZW05NjsgdHlwZWRlZiBQOTcgaXRlbTk3OyB0eXBlZGVmIFA5OCBpdGVtOTg7IHR5cGVkZWYgUDk5IGl0ZW05OTsgdHlwZWRlZiBQMTAwIGl0ZW0xMDA7IHR5cGVkZWYgUDEwMSBpdGVtMTAxOyB0eXBlZGVmIFAxMDIgaXRlbTEwMjsgdHlwZWRlZiBQMTAzIGl0ZW0xMDM7IHR5cGVkZWYgUDEwNCBpdGVtMTA0OyB0eXBlZGVmIFAxMDUgaXRlbTEwNTsgdHlwZWRlZiBQMTA2IGl0ZW0xMDY7IHR5cGVkZWYgUDEwNyBpdGVtMTA3OyB0eXBlZGVmIFAxMDggaXRlbTEwODsgdHlwZWRlZiBQMTA5IGl0ZW0xMDk7IHR5cGVkZWYgUDExMCBpdGVtMTEwOyB0eXBlZGVmIFAxMTEgaXRlbTExMTsgdHlwZWRlZiBQMTEyIGl0ZW0xMTI7IHR5cGVkZWYgUDExMyBpdGVtMTEzOyB0eXBlZGVmIFAxMTQgaXRlbTExNDsgdHlwZWRlZiBQMTE1IGl0ZW0xMTU7IHR5cGVkZWYgUDExNiBpdGVtMTE2OyB0eXBlZGVmIFAxMTcgaXRlbTExNzsgdHlwZWRlZiBQMTE4IGl0ZW0xMTg7IHR5cGVkZWYgUDExOSBpdGVtMTE5OyB0eXBlZGVmIFAxMjAgaXRlbTEyMDsgdHlwZWRlZiBQMTIxIGl0ZW0xMjE7IHR5cGVkZWYgUDEyMiBpdGVtMTIyOyB0eXBlZGVmIFAxMjMgaXRlbTEyMzsgdHlwZWRlZiBQMTI0IGl0ZW0xMjQ7IHR5cGVkZWYgUDEyNSBpdGVtMTI1OyB0eXBlZGVmIFAxMjYgaXRlbTEyNjsgdHlwZWRlZiBQMTI3IGl0ZW0xMjc7IHR5cGVkZWYgUDEyOCBpdGVtMTI4OyB0eXBlZGVmIFAxMjkgaXRlbTEyOTsgdHlwZWRlZiBQMTMwIGl0ZW0xMzA7IHR5cGVkZWYgUDEzMSBpdGVtMTMxOyB0eXBlZGVmIFAxMzIgaXRlbTEzMjsgdHlwZWRlZiBQMTMzIGl0ZW0xMzM7IHR5cGVkZWYgUDEzNCBpdGVtMTM0OyB0eXBlZGVmIFAxMzUgaXRlbTEzNTsgdHlwZWRlZiBQMTM2IGl0ZW0xMzY7IHR5cGVkZWYgUDEzNyBpdGVtMTM3OyB0eXBlZGVmIFAxMzggaXRlbTEzODsgdHlwZWRlZiBQMTM5IGl0ZW0xMzk7IHR5cGVkZWYgUDE0MCBpdGVtMTQwOyB0eXBlZGVmIFAxNDEgaXRlbTE0MTsgdHlwZWRlZiBQMTQyIGl0ZW0xNDI7IHR5cGVkZWYgUDE0MyBpdGVtMTQzOyB0eXBlZGVmIFAxNDQgaXRlbTE0NDsgdHlwZWRlZiBQMTQ1IGl0ZW0xNDU7IHR5cGVkZWYgUDE0NiBpdGVtMTQ2OyB0eXBlZGVmIFAxNDcgaXRlbTE0NzsgdHlwZWRlZiBQMTQ4IGl0ZW0xNDg7IHR5cGVkZWYgUDE0OSBpdGVtMTQ5OyB0eXBlZGVmIFAxNTAgaXRlbTE1MDsgdHlwZWRlZiBQMTUxIGl0ZW0xNTE7IHR5cGVkZWYgUDE1MiBpdGVtMTUyOyB0eXBlZGVmIFAxNTMgaXRlbTE1MzsgdHlwZWRlZiBQMTU0IGl0ZW0xNTQ7IHR5cGVkZWYgUDE1NSBpdGVtMTU1OyB0eXBlZGVmIFAxNTYgaXRlbTE1NjsgdHlwZWRlZiBQMTU3IGl0ZW0xNTc7IHR5cGVkZWYgUDE1OCBpdGVtMTU4OyB0eXBlZGVmIFAxNTkgaXRlbTE1OTsgdHlwZWRlZiBQMTYwIGl0ZW0xNjA7IHR5cGVkZWYgUDE2MSBpdGVtMTYxOyB0eXBlZGVmIFAxNjIgaXRlbTE2MjsgdHlwZWRlZiBQMTYzIGl0ZW0xNjM7IHR5cGVkZWYgUDE2NCBpdGVtMTY0OyB0eXBlZGVmIFAxNjUgaXRlbTE2NTsgdHlwZWRlZiBQMTY2IGl0ZW0xNjY7IHR5cGVkZWYgUDE2NyBpdGVtMTY3OyB0eXBlZGVmIFAxNjggaXRlbTE2ODsgdHlwZWRlZiBQMTY5IGl0ZW0xNjk7IHR5cGVkZWYgUDE3MCBpdGVtMTcwOyB0eXBlZGVmIFAxNzEgaXRlbTE3MTsgdHlwZWRlZiBQMTcyIGl0ZW0xNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDk7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSAsIGNsYXNzIFA4NiAsIGNsYXNzIFA4NyAsIGNsYXNzIFA4OCAsIGNsYXNzIFA4OSAsIGNsYXNzIFA5MCAsIGNsYXNzIFA5MSAsIGNsYXNzIFA5MiAsIGNsYXNzIFA5MyAsIGNsYXNzIFA5NCAsIGNsYXNzIFA5NSAsIGNsYXNzIFA5NiAsIGNsYXNzIFA5NyAsIGNsYXNzIFA5OCAsIGNsYXNzIFA5OSAsIGNsYXNzIFAxMDAgLCBjbGFzcyBQMTAxICwgY2xhc3MgUDEwMiAsIGNsYXNzIFAxMDMgLCBjbGFzcyBQMTA0ICwgY2xhc3MgUDEwNSAsIGNsYXNzIFAxMDYgLCBjbGFzcyBQMTA3ICwgY2xhc3MgUDEwOCAsIGNsYXNzIFAxMDkgLCBjbGFzcyBQMTEwICwgY2xhc3MgUDExMSAsIGNsYXNzIFAxMTIgLCBjbGFzcyBQMTEzICwgY2xhc3MgUDExNCAsIGNsYXNzIFAxMTUgLCBjbGFzcyBQMTE2ICwgY2xhc3MgUDExNyAsIGNsYXNzIFAxMTggLCBjbGFzcyBQMTE5ICwgY2xhc3MgUDEyMCAsIGNsYXNzIFAxMjEgLCBjbGFzcyBQMTIyICwgY2xhc3MgUDEyMyAsIGNsYXNzIFAxMjQgLCBjbGFzcyBQMTI1ICwgY2xhc3MgUDEyNiAsIGNsYXNzIFAxMjcgLCBjbGFzcyBQMTI4ICwgY2xhc3MgUDEyOSAsIGNsYXNzIFAxMzAgLCBjbGFzcyBQMTMxICwgY2xhc3MgUDEzMiAsIGNsYXNzIFAxMzMgLCBjbGFzcyBQMTM0ICwgY2xhc3MgUDEzNSAsIGNsYXNzIFAxMzYgLCBjbGFzcyBQMTM3ICwgY2xhc3MgUDEzOCAsIGNsYXNzIFAxMzkgLCBjbGFzcyBQMTQwICwgY2xhc3MgUDE0MSAsIGNsYXNzIFAxNDIgLCBjbGFzcyBQMTQzICwgY2xhc3MgUDE0NCAsIGNsYXNzIFAxNDUgLCBjbGFzcyBQMTQ2ICwgY2xhc3MgUDE0NyAsIGNsYXNzIFAxNDggLCBjbGFzcyBQMTQ5ICwgY2xhc3MgUDE1MCAsIGNsYXNzIFAxNTEgLCBjbGFzcyBQMTUyICwgY2xhc3MgUDE1MyAsIGNsYXNzIFAxNTQgLCBjbGFzcyBQMTU1ICwgY2xhc3MgUDE1NiAsIGNsYXNzIFAxNTcgLCBjbGFzcyBQMTU4ICwgY2xhc3MgUDE1OSAsIGNsYXNzIFAxNjAgLCBjbGFzcyBQMTYxICwgY2xhc3MgUDE2MiAsIGNsYXNzIFAxNjMgLCBjbGFzcyBQMTY0ICwgY2xhc3MgUDE2NSAsIGNsYXNzIFAxNjYgLCBjbGFzcyBQMTY3ICwgY2xhc3MgUDE2OCAsIGNsYXNzIFAxNjkgLCBjbGFzcyBQMTcwICwgY2xhc3MgUDE3MSAsIGNsYXNzIFAxNzIgLCBjbGFzcyBQMTczID4gc3RydWN0IHZlY3RvcjE3NCB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjE3NDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MCAsIFAxNDEgLCBQMTQyICwgUDE0MyAsIFAxNDQgLCBQMTQ1ICwgUDE0NiAsIFAxNDcgLCBQMTQ4ICwgUDE0OSAsIFAxNTAgLCBQMTUxICwgUDE1MiAsIFAxNTMgLCBQMTU0ICwgUDE1NSAsIFAxNTYgLCBQMTU3ICwgUDE1OCAsIFAxNTkgLCBQMTYwICwgUDE2MSAsIFAxNjIgLCBQMTYzICwgUDE2NCAsIFAxNjUgLCBQMTY2ICwgUDE2NyAsIFAxNjggLCBQMTY5ICwgUDE3MCAsIFAxNzEgLCBQMTcyICwgUDE3Mz4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBQODggaXRlbTg4OyB0eXBlZGVmIFA4OSBpdGVtODk7IHR5cGVkZWYgUDkwIGl0ZW05MDsgdHlwZWRlZiBQOTEgaXRlbTkxOyB0eXBlZGVmIFA5MiBpdGVtOTI7IHR5cGVkZWYgUDkzIGl0ZW05MzsgdHlwZWRlZiBQOTQgaXRlbTk0OyB0eXBlZGVmIFA5NSBpdGVtOTU7IHR5cGVkZWYgUDk2IGl0ZW05NjsgdHlwZWRlZiBQOTcgaXRlbTk3OyB0eXBlZGVmIFA5OCBpdGVtOTg7IHR5cGVkZWYgUDk5IGl0ZW05OTsgdHlwZWRlZiBQMTAwIGl0ZW0xMDA7IHR5cGVkZWYgUDEwMSBpdGVtMTAxOyB0eXBlZGVmIFAxMDIgaXRlbTEwMjsgdHlwZWRlZiBQMTAzIGl0ZW0xMDM7IHR5cGVkZWYgUDEwNCBpdGVtMTA0OyB0eXBlZGVmIFAxMDUgaXRlbTEwNTsgdHlwZWRlZiBQMTA2IGl0ZW0xMDY7IHR5cGVkZWYgUDEwNyBpdGVtMTA3OyB0eXBlZGVmIFAxMDggaXRlbTEwODsgdHlwZWRlZiBQMTA5IGl0ZW0xMDk7IHR5cGVkZWYgUDExMCBpdGVtMTEwOyB0eXBlZGVmIFAxMTEgaXRlbTExMTsgdHlwZWRlZiBQMTEyIGl0ZW0xMTI7IHR5cGVkZWYgUDExMyBpdGVtMTEzOyB0eXBlZGVmIFAxMTQgaXRlbTExNDsgdHlwZWRlZiBQMTE1IGl0ZW0xMTU7IHR5cGVkZWYgUDExNiBpdGVtMTE2OyB0eXBlZGVmIFAxMTcgaXRlbTExNzsgdHlwZWRlZiBQMTE4IGl0ZW0xMTg7IHR5cGVkZWYgUDExOSBpdGVtMTE5OyB0eXBlZGVmIFAxMjAgaXRlbTEyMDsgdHlwZWRlZiBQMTIxIGl0ZW0xMjE7IHR5cGVkZWYgUDEyMiBpdGVtMTIyOyB0eXBlZGVmIFAxMjMgaXRlbTEyMzsgdHlwZWRlZiBQMTI0IGl0ZW0xMjQ7IHR5cGVkZWYgUDEyNSBpdGVtMTI1OyB0eXBlZGVmIFAxMjYgaXRlbTEyNjsgdHlwZWRlZiBQMTI3IGl0ZW0xMjc7IHR5cGVkZWYgUDEyOCBpdGVtMTI4OyB0eXBlZGVmIFAxMjkgaXRlbTEyOTsgdHlwZWRlZiBQMTMwIGl0ZW0xMzA7IHR5cGVkZWYgUDEzMSBpdGVtMTMxOyB0eXBlZGVmIFAxMzIgaXRlbTEzMjsgdHlwZWRlZiBQMTMzIGl0ZW0xMzM7IHR5cGVkZWYgUDEzNCBpdGVtMTM0OyB0eXBlZGVmIFAxMzUgaXRlbTEzNTsgdHlwZWRlZiBQMTM2IGl0ZW0xMzY7IHR5cGVkZWYgUDEzNyBpdGVtMTM3OyB0eXBlZGVmIFAxMzggaXRlbTEzODsgdHlwZWRlZiBQMTM5IGl0ZW0xMzk7IHR5cGVkZWYgUDE0MCBpdGVtMTQwOyB0eXBlZGVmIFAxNDEgaXRlbTE0MTsgdHlwZWRlZiBQMTQyIGl0ZW0xNDI7IHR5cGVkZWYgUDE0MyBpdGVtMTQzOyB0eXBlZGVmIFAxNDQgaXRlbTE0NDsgdHlwZWRlZiBQMTQ1IGl0ZW0xNDU7IHR5cGVkZWYgUDE0NiBpdGVtMTQ2OyB0eXBlZGVmIFAxNDcgaXRlbTE0NzsgdHlwZWRlZiBQMTQ4IGl0ZW0xNDg7IHR5cGVkZWYgUDE0OSBpdGVtMTQ5OyB0eXBlZGVmIFAxNTAgaXRlbTE1MDsgdHlwZWRlZiBQMTUxIGl0ZW0xNTE7IHR5cGVkZWYgUDE1MiBpdGVtMTUyOyB0eXBlZGVmIFAxNTMgaXRlbTE1MzsgdHlwZWRlZiBQMTU0IGl0ZW0xNTQ7IHR5cGVkZWYgUDE1NSBpdGVtMTU1OyB0eXBlZGVmIFAxNTYgaXRlbTE1NjsgdHlwZWRlZiBQMTU3IGl0ZW0xNTc7IHR5cGVkZWYgUDE1OCBpdGVtMTU4OyB0eXBlZGVmIFAxNTkgaXRlbTE1OTsgdHlwZWRlZiBQMTYwIGl0ZW0xNjA7IHR5cGVkZWYgUDE2MSBpdGVtMTYxOyB0eXBlZGVmIFAxNjIgaXRlbTE2MjsgdHlwZWRlZiBQMTYzIGl0ZW0xNjM7IHR5cGVkZWYgUDE2NCBpdGVtMTY0OyB0eXBlZGVmIFAxNjUgaXRlbTE2NTsgdHlwZWRlZiBQMTY2IGl0ZW0xNjY7IHR5cGVkZWYgUDE2NyBpdGVtMTY3OyB0eXBlZGVmIFAxNjggaXRlbTE2ODsgdHlwZWRlZiBQMTY5IGl0ZW0xNjk7IHR5cGVkZWYgUDE3MCBpdGVtMTcwOyB0eXBlZGVmIFAxNzEgaXRlbTE3MTsgdHlwZWRlZiBQMTcyIGl0ZW0xNzI7IHR5cGVkZWYgUDE3MyBpdGVtMTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ5OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBQOTMgLCBjbGFzcyBQOTQgLCBjbGFzcyBQOTUgLCBjbGFzcyBQOTYgLCBjbGFzcyBQOTcgLCBjbGFzcyBQOTggLCBjbGFzcyBQOTkgLCBjbGFzcyBQMTAwICwgY2xhc3MgUDEwMSAsIGNsYXNzIFAxMDIgLCBjbGFzcyBQMTAzICwgY2xhc3MgUDEwNCAsIGNsYXNzIFAxMDUgLCBjbGFzcyBQMTA2ICwgY2xhc3MgUDEwNyAsIGNsYXNzIFAxMDggLCBjbGFzcyBQMTA5ICwgY2xhc3MgUDExMCAsIGNsYXNzIFAxMTEgLCBjbGFzcyBQMTEyICwgY2xhc3MgUDExMyAsIGNsYXNzIFAxMTQgLCBjbGFzcyBQMTE1ICwgY2xhc3MgUDExNiAsIGNsYXNzIFAxMTcgLCBjbGFzcyBQMTE4ICwgY2xhc3MgUDExOSAsIGNsYXNzIFAxMjAgLCBjbGFzcyBQMTIxICwgY2xhc3MgUDEyMiAsIGNsYXNzIFAxMjMgLCBjbGFzcyBQMTI0ICwgY2xhc3MgUDEyNSAsIGNsYXNzIFAxMjYgLCBjbGFzcyBQMTI3ICwgY2xhc3MgUDEyOCAsIGNsYXNzIFAxMjkgLCBjbGFzcyBQMTMwICwgY2xhc3MgUDEzMSAsIGNsYXNzIFAxMzIgLCBjbGFzcyBQMTMzICwgY2xhc3MgUDEzNCAsIGNsYXNzIFAxMzUgLCBjbGFzcyBQMTM2ICwgY2xhc3MgUDEzNyAsIGNsYXNzIFAxMzggLCBjbGFzcyBQMTM5ICwgY2xhc3MgUDE0MCAsIGNsYXNzIFAxNDEgLCBjbGFzcyBQMTQyICwgY2xhc3MgUDE0MyAsIGNsYXNzIFAxNDQgLCBjbGFzcyBQMTQ1ICwgY2xhc3MgUDE0NiAsIGNsYXNzIFAxNDcgLCBjbGFzcyBQMTQ4ICwgY2xhc3MgUDE0OSAsIGNsYXNzIFAxNTAgLCBjbGFzcyBQMTUxICwgY2xhc3MgUDE1MiAsIGNsYXNzIFAxNTMgLCBjbGFzcyBQMTU0ICwgY2xhc3MgUDE1NSAsIGNsYXNzIFAxNTYgLCBjbGFzcyBQMTU3ICwgY2xhc3MgUDE1OCAsIGNsYXNzIFAxNTkgLCBjbGFzcyBQMTYwICwgY2xhc3MgUDE2MSAsIGNsYXNzIFAxNjIgLCBjbGFzcyBQMTYzICwgY2xhc3MgUDE2NCAsIGNsYXNzIFAxNjUgLCBjbGFzcyBQMTY2ICwgY2xhc3MgUDE2NyAsIGNsYXNzIFAxNjggLCBjbGFzcyBQMTY5ICwgY2xhc3MgUDE3MCAsIGNsYXNzIFAxNzEgLCBjbGFzcyBQMTcyICwgY2xhc3MgUDE3MyAsIGNsYXNzIFAxNzQgPiBzdHJ1Y3QgdmVjdG9yMTc1IHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yMTc1PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFA5MiAsIFA5MyAsIFA5NCAsIFA5NSAsIFA5NiAsIFA5NyAsIFA5OCAsIFA5OSAsIFAxMDAgLCBQMTAxICwgUDEwMiAsIFAxMDMgLCBQMTA0ICwgUDEwNSAsIFAxMDYgLCBQMTA3ICwgUDEwOCAsIFAxMDkgLCBQMTEwICwgUDExMSAsIFAxMTIgLCBQMTEzICwgUDExNCAsIFAxMTUgLCBQMTE2ICwgUDExNyAsIFAxMTggLCBQMTE5ICwgUDEyMCAsIFAxMjEgLCBQMTIyICwgUDEyMyAsIFAxMjQgLCBQMTI1ICwgUDEyNiAsIFAxMjcgLCBQMTI4ICwgUDEyOSAsIFAxMzAgLCBQMTMxICwgUDEzMiAsIFAxMzMgLCBQMTM0ICwgUDEzNSAsIFAxMzYgLCBQMTM3ICwgUDEzOCAsIFAxMzkgLCBQMTQwICwgUDE0MSAsIFAxNDIgLCBQMTQzICwgUDE0NCAsIFAxNDUgLCBQMTQ2ICwgUDE0NyAsIFAxNDggLCBQMTQ5ICwgUDE1MCAsIFAxNTEgLCBQMTUyICwgUDE1MyAsIFAxNTQgLCBQMTU1ICwgUDE1NiAsIFAxNTcgLCBQMTU4ICwgUDE1OSAsIFAxNjAgLCBQMTYxICwgUDE2MiAsIFAxNjMgLCBQMTY0ICwgUDE2NSAsIFAxNjYgLCBQMTY3ICwgUDE2OCAsIFAxNjkgLCBQMTcwICwgUDE3MSAsIFAxNzIgLCBQMTczICwgUDE3ND4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBQODggaXRlbTg4OyB0eXBlZGVmIFA4OSBpdGVtODk7IHR5cGVkZWYgUDkwIGl0ZW05MDsgdHlwZWRlZiBQOTEgaXRlbTkxOyB0eXBlZGVmIFA5MiBpdGVtOTI7IHR5cGVkZWYgUDkzIGl0ZW05MzsgdHlwZWRlZiBQOTQgaXRlbTk0OyB0eXBlZGVmIFA5NSBpdGVtOTU7IHR5cGVkZWYgUDk2IGl0ZW05NjsgdHlwZWRlZiBQOTcgaXRlbTk3OyB0eXBlZGVmIFA5OCBpdGVtOTg7IHR5cGVkZWYgUDk5IGl0ZW05OTsgdHlwZWRlZiBQMTAwIGl0ZW0xMDA7IHR5cGVkZWYgUDEwMSBpdGVtMTAxOyB0eXBlZGVmIFAxMDIgaXRlbTEwMjsgdHlwZWRlZiBQMTAzIGl0ZW0xMDM7IHR5cGVkZWYgUDEwNCBpdGVtMTA0OyB0eXBlZGVmIFAxMDUgaXRlbTEwNTsgdHlwZWRlZiBQMTA2IGl0ZW0xMDY7IHR5cGVkZWYgUDEwNyBpdGVtMTA3OyB0eXBlZGVmIFAxMDggaXRlbTEwODsgdHlwZWRlZiBQMTA5IGl0ZW0xMDk7IHR5cGVkZWYgUDExMCBpdGVtMTEwOyB0eXBlZGVmIFAxMTEgaXRlbTExMTsgdHlwZWRlZiBQMTEyIGl0ZW0xMTI7IHR5cGVkZWYgUDExMyBpdGVtMTEzOyB0eXBlZGVmIFAxMTQgaXRlbTExNDsgdHlwZWRlZiBQMTE1IGl0ZW0xMTU7IHR5cGVkZWYgUDExNiBpdGVtMTE2OyB0eXBlZGVmIFAxMTcgaXRlbTExNzsgdHlwZWRlZiBQMTE4IGl0ZW0xMTg7IHR5cGVkZWYgUDExOSBpdGVtMTE5OyB0eXBlZGVmIFAxMjAgaXRlbTEyMDsgdHlwZWRlZiBQMTIxIGl0ZW0xMjE7IHR5cGVkZWYgUDEyMiBpdGVtMTIyOyB0eXBlZGVmIFAxMjMgaXRlbTEyMzsgdHlwZWRlZiBQMTI0IGl0ZW0xMjQ7IHR5cGVkZWYgUDEyNSBpdGVtMTI1OyB0eXBlZGVmIFAxMjYgaXRlbTEyNjsgdHlwZWRlZiBQMTI3IGl0ZW0xMjc7IHR5cGVkZWYgUDEyOCBpdGVtMTI4OyB0eXBlZGVmIFAxMjkgaXRlbTEyOTsgdHlwZWRlZiBQMTMwIGl0ZW0xMzA7IHR5cGVkZWYgUDEzMSBpdGVtMTMxOyB0eXBlZGVmIFAxMzIgaXRlbTEzMjsgdHlwZWRlZiBQMTMzIGl0ZW0xMzM7IHR5cGVkZWYgUDEzNCBpdGVtMTM0OyB0eXBlZGVmIFAxMzUgaXRlbTEzNTsgdHlwZWRlZiBQMTM2IGl0ZW0xMzY7IHR5cGVkZWYgUDEzNyBpdGVtMTM3OyB0eXBlZGVmIFAxMzggaXRlbTEzODsgdHlwZWRlZiBQMTM5IGl0ZW0xMzk7IHR5cGVkZWYgUDE0MCBpdGVtMTQwOyB0eXBlZGVmIFAxNDEgaXRlbTE0MTsgdHlwZWRlZiBQMTQyIGl0ZW0xNDI7IHR5cGVkZWYgUDE0MyBpdGVtMTQzOyB0eXBlZGVmIFAxNDQgaXRlbTE0NDsgdHlwZWRlZiBQMTQ1IGl0ZW0xNDU7IHR5cGVkZWYgUDE0NiBpdGVtMTQ2OyB0eXBlZGVmIFAxNDcgaXRlbTE0NzsgdHlwZWRlZiBQMTQ4IGl0ZW0xNDg7IHR5cGVkZWYgUDE0OSBpdGVtMTQ5OyB0eXBlZGVmIFAxNTAgaXRlbTE1MDsgdHlwZWRlZiBQMTUxIGl0ZW0xNTE7IHR5cGVkZWYgUDE1MiBpdGVtMTUyOyB0eXBlZGVmIFAxNTMgaXRlbTE1MzsgdHlwZWRlZiBQMTU0IGl0ZW0xNTQ7IHR5cGVkZWYgUDE1NSBpdGVtMTU1OyB0eXBlZGVmIFAxNTYgaXRlbTE1NjsgdHlwZWRlZiBQMTU3IGl0ZW0xNTc7IHR5cGVkZWYgUDE1OCBpdGVtMTU4OyB0eXBlZGVmIFAxNTkgaXRlbTE1OTsgdHlwZWRlZiBQMTYwIGl0ZW0xNjA7IHR5cGVkZWYgUDE2MSBpdGVtMTYxOyB0eXBlZGVmIFAxNjIgaXRlbTE2MjsgdHlwZWRlZiBQMTYzIGl0ZW0xNjM7IHR5cGVkZWYgUDE2NCBpdGVtMTY0OyB0eXBlZGVmIFAxNjUgaXRlbTE2NTsgdHlwZWRlZiBQMTY2IGl0ZW0xNjY7IHR5cGVkZWYgUDE2NyBpdGVtMTY3OyB0eXBlZGVmIFAxNjggaXRlbTE2ODsgdHlwZWRlZiBQMTY5IGl0ZW0xNjk7IHR5cGVkZWYgUDE3MCBpdGVtMTcwOyB0eXBlZGVmIFAxNzEgaXRlbTE3MTsgdHlwZWRlZiBQMTcyIGl0ZW0xNzI7IHR5cGVkZWYgUDE3MyBpdGVtMTczOyB0eXBlZGVmIFAxNzQgaXRlbTE3NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0OTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ICwgY2xhc3MgUDk2ICwgY2xhc3MgUDk3ICwgY2xhc3MgUDk4ICwgY2xhc3MgUDk5ICwgY2xhc3MgUDEwMCAsIGNsYXNzIFAxMDEgLCBjbGFzcyBQMTAyICwgY2xhc3MgUDEwMyAsIGNsYXNzIFAxMDQgLCBjbGFzcyBQMTA1ICwgY2xhc3MgUDEwNiAsIGNsYXNzIFAxMDcgLCBjbGFzcyBQMTA4ICwgY2xhc3MgUDEwOSAsIGNsYXNzIFAxMTAgLCBjbGFzcyBQMTExICwgY2xhc3MgUDExMiAsIGNsYXNzIFAxMTMgLCBjbGFzcyBQMTE0ICwgY2xhc3MgUDExNSAsIGNsYXNzIFAxMTYgLCBjbGFzcyBQMTE3ICwgY2xhc3MgUDExOCAsIGNsYXNzIFAxMTkgLCBjbGFzcyBQMTIwICwgY2xhc3MgUDEyMSAsIGNsYXNzIFAxMjIgLCBjbGFzcyBQMTIzICwgY2xhc3MgUDEyNCAsIGNsYXNzIFAxMjUgLCBjbGFzcyBQMTI2ICwgY2xhc3MgUDEyNyAsIGNsYXNzIFAxMjggLCBjbGFzcyBQMTI5ICwgY2xhc3MgUDEzMCAsIGNsYXNzIFAxMzEgLCBjbGFzcyBQMTMyICwgY2xhc3MgUDEzMyAsIGNsYXNzIFAxMzQgLCBjbGFzcyBQMTM1ICwgY2xhc3MgUDEzNiAsIGNsYXNzIFAxMzcgLCBjbGFzcyBQMTM4ICwgY2xhc3MgUDEzOSAsIGNsYXNzIFAxNDAgLCBjbGFzcyBQMTQxICwgY2xhc3MgUDE0MiAsIGNsYXNzIFAxNDMgLCBjbGFzcyBQMTQ0ICwgY2xhc3MgUDE0NSAsIGNsYXNzIFAxNDYgLCBjbGFzcyBQMTQ3ICwgY2xhc3MgUDE0OCAsIGNsYXNzIFAxNDkgLCBjbGFzcyBQMTUwICwgY2xhc3MgUDE1MSAsIGNsYXNzIFAxNTIgLCBjbGFzcyBQMTUzICwgY2xhc3MgUDE1NCAsIGNsYXNzIFAxNTUgLCBjbGFzcyBQMTU2ICwgY2xhc3MgUDE1NyAsIGNsYXNzIFAxNTggLCBjbGFzcyBQMTU5ICwgY2xhc3MgUDE2MCAsIGNsYXNzIFAxNjEgLCBjbGFzcyBQMTYyICwgY2xhc3MgUDE2MyAsIGNsYXNzIFAxNjQgLCBjbGFzcyBQMTY1ICwgY2xhc3MgUDE2NiAsIGNsYXNzIFAxNjcgLCBjbGFzcyBQMTY4ICwgY2xhc3MgUDE2OSAsIGNsYXNzIFAxNzAgLCBjbGFzcyBQMTcxICwgY2xhc3MgUDE3MiAsIGNsYXNzIFAxNzMgLCBjbGFzcyBQMTc0ICwgY2xhc3MgUDE3NSA+IHN0cnVjdCB2ZWN0b3IxNzYgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3IxNzY8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1ICwgUDk2ICwgUDk3ICwgUDk4ICwgUDk5ICwgUDEwMCAsIFAxMDEgLCBQMTAyICwgUDEwMyAsIFAxMDQgLCBQMTA1ICwgUDEwNiAsIFAxMDcgLCBQMTA4ICwgUDEwOSAsIFAxMTAgLCBQMTExICwgUDExMiAsIFAxMTMgLCBQMTE0ICwgUDExNSAsIFAxMTYgLCBQMTE3ICwgUDExOCAsIFAxMTkgLCBQMTIwICwgUDEyMSAsIFAxMjIgLCBQMTIzICwgUDEyNCAsIFAxMjUgLCBQMTI2ICwgUDEyNyAsIFAxMjggLCBQMTI5ICwgUDEzMCAsIFAxMzEgLCBQMTMyICwgUDEzMyAsIFAxMzQgLCBQMTM1ICwgUDEzNiAsIFAxMzcgLCBQMTM4ICwgUDEzOSAsIFAxNDAgLCBQMTQxICwgUDE0MiAsIFAxNDMgLCBQMTQ0ICwgUDE0NSAsIFAxNDYgLCBQMTQ3ICwgUDE0OCAsIFAxNDkgLCBQMTUwICwgUDE1MSAsIFAxNTIgLCBQMTUzICwgUDE1NCAsIFAxNTUgLCBQMTU2ICwgUDE1NyAsIFAxNTggLCBQMTU5ICwgUDE2MCAsIFAxNjEgLCBQMTYyICwgUDE2MyAsIFAxNjQgLCBQMTY1ICwgUDE2NiAsIFAxNjcgLCBQMTY4ICwgUDE2OSAsIFAxNzAgLCBQMTcxICwgUDE3MiAsIFAxNzMgLCBQMTc0ICwgUDE3NT4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBQODggaXRlbTg4OyB0eXBlZGVmIFA4OSBpdGVtODk7IHR5cGVkZWYgUDkwIGl0ZW05MDsgdHlwZWRlZiBQOTEgaXRlbTkxOyB0eXBlZGVmIFA5MiBpdGVtOTI7IHR5cGVkZWYgUDkzIGl0ZW05MzsgdHlwZWRlZiBQOTQgaXRlbTk0OyB0eXBlZGVmIFA5NSBpdGVtOTU7IHR5cGVkZWYgUDk2IGl0ZW05NjsgdHlwZWRlZiBQOTcgaXRlbTk3OyB0eXBlZGVmIFA5OCBpdGVtOTg7IHR5cGVkZWYgUDk5IGl0ZW05OTsgdHlwZWRlZiBQMTAwIGl0ZW0xMDA7IHR5cGVkZWYgUDEwMSBpdGVtMTAxOyB0eXBlZGVmIFAxMDIgaXRlbTEwMjsgdHlwZWRlZiBQMTAzIGl0ZW0xMDM7IHR5cGVkZWYgUDEwNCBpdGVtMTA0OyB0eXBlZGVmIFAxMDUgaXRlbTEwNTsgdHlwZWRlZiBQMTA2IGl0ZW0xMDY7IHR5cGVkZWYgUDEwNyBpdGVtMTA3OyB0eXBlZGVmIFAxMDggaXRlbTEwODsgdHlwZWRlZiBQMTA5IGl0ZW0xMDk7IHR5cGVkZWYgUDExMCBpdGVtMTEwOyB0eXBlZGVmIFAxMTEgaXRlbTExMTsgdHlwZWRlZiBQMTEyIGl0ZW0xMTI7IHR5cGVkZWYgUDExMyBpdGVtMTEzOyB0eXBlZGVmIFAxMTQgaXRlbTExNDsgdHlwZWRlZiBQMTE1IGl0ZW0xMTU7IHR5cGVkZWYgUDExNiBpdGVtMTE2OyB0eXBlZGVmIFAxMTcgaXRlbTExNzsgdHlwZWRlZiBQMTE4IGl0ZW0xMTg7IHR5cGVkZWYgUDExOSBpdGVtMTE5OyB0eXBlZGVmIFAxMjAgaXRlbTEyMDsgdHlwZWRlZiBQMTIxIGl0ZW0xMjE7IHR5cGVkZWYgUDEyMiBpdGVtMTIyOyB0eXBlZGVmIFAxMjMgaXRlbTEyMzsgdHlwZWRlZiBQMTI0IGl0ZW0xMjQ7IHR5cGVkZWYgUDEyNSBpdGVtMTI1OyB0eXBlZGVmIFAxMjYgaXRlbTEyNjsgdHlwZWRlZiBQMTI3IGl0ZW0xMjc7IHR5cGVkZWYgUDEyOCBpdGVtMTI4OyB0eXBlZGVmIFAxMjkgaXRlbTEyOTsgdHlwZWRlZiBQMTMwIGl0ZW0xMzA7IHR5cGVkZWYgUDEzMSBpdGVtMTMxOyB0eXBlZGVmIFAxMzIgaXRlbTEzMjsgdHlwZWRlZiBQMTMzIGl0ZW0xMzM7IHR5cGVkZWYgUDEzNCBpdGVtMTM0OyB0eXBlZGVmIFAxMzUgaXRlbTEzNTsgdHlwZWRlZiBQMTM2IGl0ZW0xMzY7IHR5cGVkZWYgUDEzNyBpdGVtMTM3OyB0eXBlZGVmIFAxMzggaXRlbTEzODsgdHlwZWRlZiBQMTM5IGl0ZW0xMzk7IHR5cGVkZWYgUDE0MCBpdGVtMTQwOyB0eXBlZGVmIFAxNDEgaXRlbTE0MTsgdHlwZWRlZiBQMTQyIGl0ZW0xNDI7IHR5cGVkZWYgUDE0MyBpdGVtMTQzOyB0eXBlZGVmIFAxNDQgaXRlbTE0NDsgdHlwZWRlZiBQMTQ1IGl0ZW0xNDU7IHR5cGVkZWYgUDE0NiBpdGVtMTQ2OyB0eXBlZGVmIFAxNDcgaXRlbTE0NzsgdHlwZWRlZiBQMTQ4IGl0ZW0xNDg7IHR5cGVkZWYgUDE0OSBpdGVtMTQ5OyB0eXBlZGVmIFAxNTAgaXRlbTE1MDsgdHlwZWRlZiBQMTUxIGl0ZW0xNTE7IHR5cGVkZWYgUDE1MiBpdGVtMTUyOyB0eXBlZGVmIFAxNTMgaXRlbTE1MzsgdHlwZWRlZiBQMTU0IGl0ZW0xNTQ7IHR5cGVkZWYgUDE1NSBpdGVtMTU1OyB0eXBlZGVmIFAxNTYgaXRlbTE1NjsgdHlwZWRlZiBQMTU3IGl0ZW0xNTc7IHR5cGVkZWYgUDE1OCBpdGVtMTU4OyB0eXBlZGVmIFAxNTkgaXRlbTE1OTsgdHlwZWRlZiBQMTYwIGl0ZW0xNjA7IHR5cGVkZWYgUDE2MSBpdGVtMTYxOyB0eXBlZGVmIFAxNjIgaXRlbTE2MjsgdHlwZWRlZiBQMTYzIGl0ZW0xNjM7IHR5cGVkZWYgUDE2NCBpdGVtMTY0OyB0eXBlZGVmIFAxNjUgaXRlbTE2NTsgdHlwZWRlZiBQMTY2IGl0ZW0xNjY7IHR5cGVkZWYgUDE2NyBpdGVtMTY3OyB0eXBlZGVmIFAxNjggaXRlbTE2ODsgdHlwZWRlZiBQMTY5IGl0ZW0xNjk7IHR5cGVkZWYgUDE3MCBpdGVtMTcwOyB0eXBlZGVmIFAxNzEgaXRlbTE3MTsgdHlwZWRlZiBQMTcyIGl0ZW0xNzI7IHR5cGVkZWYgUDE3MyBpdGVtMTczOyB0eXBlZGVmIFAxNzQgaXRlbTE3NDsgdHlwZWRlZiBQMTc1IGl0ZW0xNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDk7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSAsIGNsYXNzIFA4NiAsIGNsYXNzIFA4NyAsIGNsYXNzIFA4OCAsIGNsYXNzIFA4OSAsIGNsYXNzIFA5MCAsIGNsYXNzIFA5MSAsIGNsYXNzIFA5MiAsIGNsYXNzIFA5MyAsIGNsYXNzIFA5NCAsIGNsYXNzIFA5NSAsIGNsYXNzIFA5NiAsIGNsYXNzIFA5NyAsIGNsYXNzIFA5OCAsIGNsYXNzIFA5OSAsIGNsYXNzIFAxMDAgLCBjbGFzcyBQMTAxICwgY2xhc3MgUDEwMiAsIGNsYXNzIFAxMDMgLCBjbGFzcyBQMTA0ICwgY2xhc3MgUDEwNSAsIGNsYXNzIFAxMDYgLCBjbGFzcyBQMTA3ICwgY2xhc3MgUDEwOCAsIGNsYXNzIFAxMDkgLCBjbGFzcyBQMTEwICwgY2xhc3MgUDExMSAsIGNsYXNzIFAxMTIgLCBjbGFzcyBQMTEzICwgY2xhc3MgUDExNCAsIGNsYXNzIFAxMTUgLCBjbGFzcyBQMTE2ICwgY2xhc3MgUDExNyAsIGNsYXNzIFAxMTggLCBjbGFzcyBQMTE5ICwgY2xhc3MgUDEyMCAsIGNsYXNzIFAxMjEgLCBjbGFzcyBQMTIyICwgY2xhc3MgUDEyMyAsIGNsYXNzIFAxMjQgLCBjbGFzcyBQMTI1ICwgY2xhc3MgUDEyNiAsIGNsYXNzIFAxMjcgLCBjbGFzcyBQMTI4ICwgY2xhc3MgUDEyOSAsIGNsYXNzIFAxMzAgLCBjbGFzcyBQMTMxICwgY2xhc3MgUDEzMiAsIGNsYXNzIFAxMzMgLCBjbGFzcyBQMTM0ICwgY2xhc3MgUDEzNSAsIGNsYXNzIFAxMzYgLCBjbGFzcyBQMTM3ICwgY2xhc3MgUDEzOCAsIGNsYXNzIFAxMzkgLCBjbGFzcyBQMTQwICwgY2xhc3MgUDE0MSAsIGNsYXNzIFAxNDIgLCBjbGFzcyBQMTQzICwgY2xhc3MgUDE0NCAsIGNsYXNzIFAxNDUgLCBjbGFzcyBQMTQ2ICwgY2xhc3MgUDE0NyAsIGNsYXNzIFAxNDggLCBjbGFzcyBQMTQ5ICwgY2xhc3MgUDE1MCAsIGNsYXNzIFAxNTEgLCBjbGFzcyBQMTUyICwgY2xhc3MgUDE1MyAsIGNsYXNzIFAxNTQgLCBjbGFzcyBQMTU1ICwgY2xhc3MgUDE1NiAsIGNsYXNzIFAxNTcgLCBjbGFzcyBQMTU4ICwgY2xhc3MgUDE1OSAsIGNsYXNzIFAxNjAgLCBjbGFzcyBQMTYxICwgY2xhc3MgUDE2MiAsIGNsYXNzIFAxNjMgLCBjbGFzcyBQMTY0ICwgY2xhc3MgUDE2NSAsIGNsYXNzIFAxNjYgLCBjbGFzcyBQMTY3ICwgY2xhc3MgUDE2OCAsIGNsYXNzIFAxNjkgLCBjbGFzcyBQMTcwICwgY2xhc3MgUDE3MSAsIGNsYXNzIFAxNzIgLCBjbGFzcyBQMTczICwgY2xhc3MgUDE3NCAsIGNsYXNzIFAxNzUgLCBjbGFzcyBQMTc2ID4gc3RydWN0IHZlY3RvcjE3NyB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjE3NzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MCAsIFAxNDEgLCBQMTQyICwgUDE0MyAsIFAxNDQgLCBQMTQ1ICwgUDE0NiAsIFAxNDcgLCBQMTQ4ICwgUDE0OSAsIFAxNTAgLCBQMTUxICwgUDE1MiAsIFAxNTMgLCBQMTU0ICwgUDE1NSAsIFAxNTYgLCBQMTU3ICwgUDE1OCAsIFAxNTkgLCBQMTYwICwgUDE2MSAsIFAxNjIgLCBQMTYzICwgUDE2NCAsIFAxNjUgLCBQMTY2ICwgUDE2NyAsIFAxNjggLCBQMTY5ICwgUDE3MCAsIFAxNzEgLCBQMTcyICwgUDE3MyAsIFAxNzQgLCBQMTc1ICwgUDE3Nj4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBQODggaXRlbTg4OyB0eXBlZGVmIFA4OSBpdGVtODk7IHR5cGVkZWYgUDkwIGl0ZW05MDsgdHlwZWRlZiBQOTEgaXRlbTkxOyB0eXBlZGVmIFA5MiBpdGVtOTI7IHR5cGVkZWYgUDkzIGl0ZW05MzsgdHlwZWRlZiBQOTQgaXRlbTk0OyB0eXBlZGVmIFA5NSBpdGVtOTU7IHR5cGVkZWYgUDk2IGl0ZW05NjsgdHlwZWRlZiBQOTcgaXRlbTk3OyB0eXBlZGVmIFA5OCBpdGVtOTg7IHR5cGVkZWYgUDk5IGl0ZW05OTsgdHlwZWRlZiBQMTAwIGl0ZW0xMDA7IHR5cGVkZWYgUDEwMSBpdGVtMTAxOyB0eXBlZGVmIFAxMDIgaXRlbTEwMjsgdHlwZWRlZiBQMTAzIGl0ZW0xMDM7IHR5cGVkZWYgUDEwNCBpdGVtMTA0OyB0eXBlZGVmIFAxMDUgaXRlbTEwNTsgdHlwZWRlZiBQMTA2IGl0ZW0xMDY7IHR5cGVkZWYgUDEwNyBpdGVtMTA3OyB0eXBlZGVmIFAxMDggaXRlbTEwODsgdHlwZWRlZiBQMTA5IGl0ZW0xMDk7IHR5cGVkZWYgUDExMCBpdGVtMTEwOyB0eXBlZGVmIFAxMTEgaXRlbTExMTsgdHlwZWRlZiBQMTEyIGl0ZW0xMTI7IHR5cGVkZWYgUDExMyBpdGVtMTEzOyB0eXBlZGVmIFAxMTQgaXRlbTExNDsgdHlwZWRlZiBQMTE1IGl0ZW0xMTU7IHR5cGVkZWYgUDExNiBpdGVtMTE2OyB0eXBlZGVmIFAxMTcgaXRlbTExNzsgdHlwZWRlZiBQMTE4IGl0ZW0xMTg7IHR5cGVkZWYgUDExOSBpdGVtMTE5OyB0eXBlZGVmIFAxMjAgaXRlbTEyMDsgdHlwZWRlZiBQMTIxIGl0ZW0xMjE7IHR5cGVkZWYgUDEyMiBpdGVtMTIyOyB0eXBlZGVmIFAxMjMgaXRlbTEyMzsgdHlwZWRlZiBQMTI0IGl0ZW0xMjQ7IHR5cGVkZWYgUDEyNSBpdGVtMTI1OyB0eXBlZGVmIFAxMjYgaXRlbTEyNjsgdHlwZWRlZiBQMTI3IGl0ZW0xMjc7IHR5cGVkZWYgUDEyOCBpdGVtMTI4OyB0eXBlZGVmIFAxMjkgaXRlbTEyOTsgdHlwZWRlZiBQMTMwIGl0ZW0xMzA7IHR5cGVkZWYgUDEzMSBpdGVtMTMxOyB0eXBlZGVmIFAxMzIgaXRlbTEzMjsgdHlwZWRlZiBQMTMzIGl0ZW0xMzM7IHR5cGVkZWYgUDEzNCBpdGVtMTM0OyB0eXBlZGVmIFAxMzUgaXRlbTEzNTsgdHlwZWRlZiBQMTM2IGl0ZW0xMzY7IHR5cGVkZWYgUDEzNyBpdGVtMTM3OyB0eXBlZGVmIFAxMzggaXRlbTEzODsgdHlwZWRlZiBQMTM5IGl0ZW0xMzk7IHR5cGVkZWYgUDE0MCBpdGVtMTQwOyB0eXBlZGVmIFAxNDEgaXRlbTE0MTsgdHlwZWRlZiBQMTQyIGl0ZW0xNDI7IHR5cGVkZWYgUDE0MyBpdGVtMTQzOyB0eXBlZGVmIFAxNDQgaXRlbTE0NDsgdHlwZWRlZiBQMTQ1IGl0ZW0xNDU7IHR5cGVkZWYgUDE0NiBpdGVtMTQ2OyB0eXBlZGVmIFAxNDcgaXRlbTE0NzsgdHlwZWRlZiBQMTQ4IGl0ZW0xNDg7IHR5cGVkZWYgUDE0OSBpdGVtMTQ5OyB0eXBlZGVmIFAxNTAgaXRlbTE1MDsgdHlwZWRlZiBQMTUxIGl0ZW0xNTE7IHR5cGVkZWYgUDE1MiBpdGVtMTUyOyB0eXBlZGVmIFAxNTMgaXRlbTE1MzsgdHlwZWRlZiBQMTU0IGl0ZW0xNTQ7IHR5cGVkZWYgUDE1NSBpdGVtMTU1OyB0eXBlZGVmIFAxNTYgaXRlbTE1NjsgdHlwZWRlZiBQMTU3IGl0ZW0xNTc7IHR5cGVkZWYgUDE1OCBpdGVtMTU4OyB0eXBlZGVmIFAxNTkgaXRlbTE1OTsgdHlwZWRlZiBQMTYwIGl0ZW0xNjA7IHR5cGVkZWYgUDE2MSBpdGVtMTYxOyB0eXBlZGVmIFAxNjIgaXRlbTE2MjsgdHlwZWRlZiBQMTYzIGl0ZW0xNjM7IHR5cGVkZWYgUDE2NCBpdGVtMTY0OyB0eXBlZGVmIFAxNjUgaXRlbTE2NTsgdHlwZWRlZiBQMTY2IGl0ZW0xNjY7IHR5cGVkZWYgUDE2NyBpdGVtMTY3OyB0eXBlZGVmIFAxNjggaXRlbTE2ODsgdHlwZWRlZiBQMTY5IGl0ZW0xNjk7IHR5cGVkZWYgUDE3MCBpdGVtMTcwOyB0eXBlZGVmIFAxNzEgaXRlbTE3MTsgdHlwZWRlZiBQMTcyIGl0ZW0xNzI7IHR5cGVkZWYgUDE3MyBpdGVtMTczOyB0eXBlZGVmIFAxNzQgaXRlbTE3NDsgdHlwZWRlZiBQMTc1IGl0ZW0xNzU7IHR5cGVkZWYgUDE3NiBpdGVtMTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ5OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBQOTMgLCBjbGFzcyBQOTQgLCBjbGFzcyBQOTUgLCBjbGFzcyBQOTYgLCBjbGFzcyBQOTcgLCBjbGFzcyBQOTggLCBjbGFzcyBQOTkgLCBjbGFzcyBQMTAwICwgY2xhc3MgUDEwMSAsIGNsYXNzIFAxMDIgLCBjbGFzcyBQMTAzICwgY2xhc3MgUDEwNCAsIGNsYXNzIFAxMDUgLCBjbGFzcyBQMTA2ICwgY2xhc3MgUDEwNyAsIGNsYXNzIFAxMDggLCBjbGFzcyBQMTA5ICwgY2xhc3MgUDExMCAsIGNsYXNzIFAxMTEgLCBjbGFzcyBQMTEyICwgY2xhc3MgUDExMyAsIGNsYXNzIFAxMTQgLCBjbGFzcyBQMTE1ICwgY2xhc3MgUDExNiAsIGNsYXNzIFAxMTcgLCBjbGFzcyBQMTE4ICwgY2xhc3MgUDExOSAsIGNsYXNzIFAxMjAgLCBjbGFzcyBQMTIxICwgY2xhc3MgUDEyMiAsIGNsYXNzIFAxMjMgLCBjbGFzcyBQMTI0ICwgY2xhc3MgUDEyNSAsIGNsYXNzIFAxMjYgLCBjbGFzcyBQMTI3ICwgY2xhc3MgUDEyOCAsIGNsYXNzIFAxMjkgLCBjbGFzcyBQMTMwICwgY2xhc3MgUDEzMSAsIGNsYXNzIFAxMzIgLCBjbGFzcyBQMTMzICwgY2xhc3MgUDEzNCAsIGNsYXNzIFAxMzUgLCBjbGFzcyBQMTM2ICwgY2xhc3MgUDEzNyAsIGNsYXNzIFAxMzggLCBjbGFzcyBQMTM5ICwgY2xhc3MgUDE0MCAsIGNsYXNzIFAxNDEgLCBjbGFzcyBQMTQyICwgY2xhc3MgUDE0MyAsIGNsYXNzIFAxNDQgLCBjbGFzcyBQMTQ1ICwgY2xhc3MgUDE0NiAsIGNsYXNzIFAxNDcgLCBjbGFzcyBQMTQ4ICwgY2xhc3MgUDE0OSAsIGNsYXNzIFAxNTAgLCBjbGFzcyBQMTUxICwgY2xhc3MgUDE1MiAsIGNsYXNzIFAxNTMgLCBjbGFzcyBQMTU0ICwgY2xhc3MgUDE1NSAsIGNsYXNzIFAxNTYgLCBjbGFzcyBQMTU3ICwgY2xhc3MgUDE1OCAsIGNsYXNzIFAxNTkgLCBjbGFzcyBQMTYwICwgY2xhc3MgUDE2MSAsIGNsYXNzIFAxNjIgLCBjbGFzcyBQMTYzICwgY2xhc3MgUDE2NCAsIGNsYXNzIFAxNjUgLCBjbGFzcyBQMTY2ICwgY2xhc3MgUDE2NyAsIGNsYXNzIFAxNjggLCBjbGFzcyBQMTY5ICwgY2xhc3MgUDE3MCAsIGNsYXNzIFAxNzEgLCBjbGFzcyBQMTcyICwgY2xhc3MgUDE3MyAsIGNsYXNzIFAxNzQgLCBjbGFzcyBQMTc1ICwgY2xhc3MgUDE3NiAsIGNsYXNzIFAxNzcgPiBzdHJ1Y3QgdmVjdG9yMTc4IHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yMTc4PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFA5MiAsIFA5MyAsIFA5NCAsIFA5NSAsIFA5NiAsIFA5NyAsIFA5OCAsIFA5OSAsIFAxMDAgLCBQMTAxICwgUDEwMiAsIFAxMDMgLCBQMTA0ICwgUDEwNSAsIFAxMDYgLCBQMTA3ICwgUDEwOCAsIFAxMDkgLCBQMTEwICwgUDExMSAsIFAxMTIgLCBQMTEzICwgUDExNCAsIFAxMTUgLCBQMTE2ICwgUDExNyAsIFAxMTggLCBQMTE5ICwgUDEyMCAsIFAxMjEgLCBQMTIyICwgUDEyMyAsIFAxMjQgLCBQMTI1ICwgUDEyNiAsIFAxMjcgLCBQMTI4ICwgUDEyOSAsIFAxMzAgLCBQMTMxICwgUDEzMiAsIFAxMzMgLCBQMTM0ICwgUDEzNSAsIFAxMzYgLCBQMTM3ICwgUDEzOCAsIFAxMzkgLCBQMTQwICwgUDE0MSAsIFAxNDIgLCBQMTQzICwgUDE0NCAsIFAxNDUgLCBQMTQ2ICwgUDE0NyAsIFAxNDggLCBQMTQ5ICwgUDE1MCAsIFAxNTEgLCBQMTUyICwgUDE1MyAsIFAxNTQgLCBQMTU1ICwgUDE1NiAsIFAxNTcgLCBQMTU4ICwgUDE1OSAsIFAxNjAgLCBQMTYxICwgUDE2MiAsIFAxNjMgLCBQMTY0ICwgUDE2NSAsIFAxNjYgLCBQMTY3ICwgUDE2OCAsIFAxNjkgLCBQMTcwICwgUDE3MSAsIFAxNzIgLCBQMTczICwgUDE3NCAsIFAxNzUgLCBQMTc2ICwgUDE3Nz4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBQODggaXRlbTg4OyB0eXBlZGVmIFA4OSBpdGVtODk7IHR5cGVkZWYgUDkwIGl0ZW05MDsgdHlwZWRlZiBQOTEgaXRlbTkxOyB0eXBlZGVmIFA5MiBpdGVtOTI7IHR5cGVkZWYgUDkzIGl0ZW05MzsgdHlwZWRlZiBQOTQgaXRlbTk0OyB0eXBlZGVmIFA5NSBpdGVtOTU7IHR5cGVkZWYgUDk2IGl0ZW05NjsgdHlwZWRlZiBQOTcgaXRlbTk3OyB0eXBlZGVmIFA5OCBpdGVtOTg7IHR5cGVkZWYgUDk5IGl0ZW05OTsgdHlwZWRlZiBQMTAwIGl0ZW0xMDA7IHR5cGVkZWYgUDEwMSBpdGVtMTAxOyB0eXBlZGVmIFAxMDIgaXRlbTEwMjsgdHlwZWRlZiBQMTAzIGl0ZW0xMDM7IHR5cGVkZWYgUDEwNCBpdGVtMTA0OyB0eXBlZGVmIFAxMDUgaXRlbTEwNTsgdHlwZWRlZiBQMTA2IGl0ZW0xMDY7IHR5cGVkZWYgUDEwNyBpdGVtMTA3OyB0eXBlZGVmIFAxMDggaXRlbTEwODsgdHlwZWRlZiBQMTA5IGl0ZW0xMDk7IHR5cGVkZWYgUDExMCBpdGVtMTEwOyB0eXBlZGVmIFAxMTEgaXRlbTExMTsgdHlwZWRlZiBQMTEyIGl0ZW0xMTI7IHR5cGVkZWYgUDExMyBpdGVtMTEzOyB0eXBlZGVmIFAxMTQgaXRlbTExNDsgdHlwZWRlZiBQMTE1IGl0ZW0xMTU7IHR5cGVkZWYgUDExNiBpdGVtMTE2OyB0eXBlZGVmIFAxMTcgaXRlbTExNzsgdHlwZWRlZiBQMTE4IGl0ZW0xMTg7IHR5cGVkZWYgUDExOSBpdGVtMTE5OyB0eXBlZGVmIFAxMjAgaXRlbTEyMDsgdHlwZWRlZiBQMTIxIGl0ZW0xMjE7IHR5cGVkZWYgUDEyMiBpdGVtMTIyOyB0eXBlZGVmIFAxMjMgaXRlbTEyMzsgdHlwZWRlZiBQMTI0IGl0ZW0xMjQ7IHR5cGVkZWYgUDEyNSBpdGVtMTI1OyB0eXBlZGVmIFAxMjYgaXRlbTEyNjsgdHlwZWRlZiBQMTI3IGl0ZW0xMjc7IHR5cGVkZWYgUDEyOCBpdGVtMTI4OyB0eXBlZGVmIFAxMjkgaXRlbTEyOTsgdHlwZWRlZiBQMTMwIGl0ZW0xMzA7IHR5cGVkZWYgUDEzMSBpdGVtMTMxOyB0eXBlZGVmIFAxMzIgaXRlbTEzMjsgdHlwZWRlZiBQMTMzIGl0ZW0xMzM7IHR5cGVkZWYgUDEzNCBpdGVtMTM0OyB0eXBlZGVmIFAxMzUgaXRlbTEzNTsgdHlwZWRlZiBQMTM2IGl0ZW0xMzY7IHR5cGVkZWYgUDEzNyBpdGVtMTM3OyB0eXBlZGVmIFAxMzggaXRlbTEzODsgdHlwZWRlZiBQMTM5IGl0ZW0xMzk7IHR5cGVkZWYgUDE0MCBpdGVtMTQwOyB0eXBlZGVmIFAxNDEgaXRlbTE0MTsgdHlwZWRlZiBQMTQyIGl0ZW0xNDI7IHR5cGVkZWYgUDE0MyBpdGVtMTQzOyB0eXBlZGVmIFAxNDQgaXRlbTE0NDsgdHlwZWRlZiBQMTQ1IGl0ZW0xNDU7IHR5cGVkZWYgUDE0NiBpdGVtMTQ2OyB0eXBlZGVmIFAxNDcgaXRlbTE0NzsgdHlwZWRlZiBQMTQ4IGl0ZW0xNDg7IHR5cGVkZWYgUDE0OSBpdGVtMTQ5OyB0eXBlZGVmIFAxNTAgaXRlbTE1MDsgdHlwZWRlZiBQMTUxIGl0ZW0xNTE7IHR5cGVkZWYgUDE1MiBpdGVtMTUyOyB0eXBlZGVmIFAxNTMgaXRlbTE1MzsgdHlwZWRlZiBQMTU0IGl0ZW0xNTQ7IHR5cGVkZWYgUDE1NSBpdGVtMTU1OyB0eXBlZGVmIFAxNTYgaXRlbTE1NjsgdHlwZWRlZiBQMTU3IGl0ZW0xNTc7IHR5cGVkZWYgUDE1OCBpdGVtMTU4OyB0eXBlZGVmIFAxNTkgaXRlbTE1OTsgdHlwZWRlZiBQMTYwIGl0ZW0xNjA7IHR5cGVkZWYgUDE2MSBpdGVtMTYxOyB0eXBlZGVmIFAxNjIgaXRlbTE2MjsgdHlwZWRlZiBQMTYzIGl0ZW0xNjM7IHR5cGVkZWYgUDE2NCBpdGVtMTY0OyB0eXBlZGVmIFAxNjUgaXRlbTE2NTsgdHlwZWRlZiBQMTY2IGl0ZW0xNjY7IHR5cGVkZWYgUDE2NyBpdGVtMTY3OyB0eXBlZGVmIFAxNjggaXRlbTE2ODsgdHlwZWRlZiBQMTY5IGl0ZW0xNjk7IHR5cGVkZWYgUDE3MCBpdGVtMTcwOyB0eXBlZGVmIFAxNzEgaXRlbTE3MTsgdHlwZWRlZiBQMTcyIGl0ZW0xNzI7IHR5cGVkZWYgUDE3MyBpdGVtMTczOyB0eXBlZGVmIFAxNzQgaXRlbTE3NDsgdHlwZWRlZiBQMTc1IGl0ZW0xNzU7IHR5cGVkZWYgUDE3NiBpdGVtMTc2OyB0eXBlZGVmIFAxNzcgaXRlbTE3NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0OTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ICwgY2xhc3MgUDk2ICwgY2xhc3MgUDk3ICwgY2xhc3MgUDk4ICwgY2xhc3MgUDk5ICwgY2xhc3MgUDEwMCAsIGNsYXNzIFAxMDEgLCBjbGFzcyBQMTAyICwgY2xhc3MgUDEwMyAsIGNsYXNzIFAxMDQgLCBjbGFzcyBQMTA1ICwgY2xhc3MgUDEwNiAsIGNsYXNzIFAxMDcgLCBjbGFzcyBQMTA4ICwgY2xhc3MgUDEwOSAsIGNsYXNzIFAxMTAgLCBjbGFzcyBQMTExICwgY2xhc3MgUDExMiAsIGNsYXNzIFAxMTMgLCBjbGFzcyBQMTE0ICwgY2xhc3MgUDExNSAsIGNsYXNzIFAxMTYgLCBjbGFzcyBQMTE3ICwgY2xhc3MgUDExOCAsIGNsYXNzIFAxMTkgLCBjbGFzcyBQMTIwICwgY2xhc3MgUDEyMSAsIGNsYXNzIFAxMjIgLCBjbGFzcyBQMTIzICwgY2xhc3MgUDEyNCAsIGNsYXNzIFAxMjUgLCBjbGFzcyBQMTI2ICwgY2xhc3MgUDEyNyAsIGNsYXNzIFAxMjggLCBjbGFzcyBQMTI5ICwgY2xhc3MgUDEzMCAsIGNsYXNzIFAxMzEgLCBjbGFzcyBQMTMyICwgY2xhc3MgUDEzMyAsIGNsYXNzIFAxMzQgLCBjbGFzcyBQMTM1ICwgY2xhc3MgUDEzNiAsIGNsYXNzIFAxMzcgLCBjbGFzcyBQMTM4ICwgY2xhc3MgUDEzOSAsIGNsYXNzIFAxNDAgLCBjbGFzcyBQMTQxICwgY2xhc3MgUDE0MiAsIGNsYXNzIFAxNDMgLCBjbGFzcyBQMTQ0ICwgY2xhc3MgUDE0NSAsIGNsYXNzIFAxNDYgLCBjbGFzcyBQMTQ3ICwgY2xhc3MgUDE0OCAsIGNsYXNzIFAxNDkgLCBjbGFzcyBQMTUwICwgY2xhc3MgUDE1MSAsIGNsYXNzIFAxNTIgLCBjbGFzcyBQMTUzICwgY2xhc3MgUDE1NCAsIGNsYXNzIFAxNTUgLCBjbGFzcyBQMTU2ICwgY2xhc3MgUDE1NyAsIGNsYXNzIFAxNTggLCBjbGFzcyBQMTU5ICwgY2xhc3MgUDE2MCAsIGNsYXNzIFAxNjEgLCBjbGFzcyBQMTYyICwgY2xhc3MgUDE2MyAsIGNsYXNzIFAxNjQgLCBjbGFzcyBQMTY1ICwgY2xhc3MgUDE2NiAsIGNsYXNzIFAxNjcgLCBjbGFzcyBQMTY4ICwgY2xhc3MgUDE2OSAsIGNsYXNzIFAxNzAgLCBjbGFzcyBQMTcxICwgY2xhc3MgUDE3MiAsIGNsYXNzIFAxNzMgLCBjbGFzcyBQMTc0ICwgY2xhc3MgUDE3NSAsIGNsYXNzIFAxNzYgLCBjbGFzcyBQMTc3ICwgY2xhc3MgUDE3OCA+IHN0cnVjdCB2ZWN0b3IxNzkgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3IxNzk8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1ICwgUDk2ICwgUDk3ICwgUDk4ICwgUDk5ICwgUDEwMCAsIFAxMDEgLCBQMTAyICwgUDEwMyAsIFAxMDQgLCBQMTA1ICwgUDEwNiAsIFAxMDcgLCBQMTA4ICwgUDEwOSAsIFAxMTAgLCBQMTExICwgUDExMiAsIFAxMTMgLCBQMTE0ICwgUDExNSAsIFAxMTYgLCBQMTE3ICwgUDExOCAsIFAxMTkgLCBQMTIwICwgUDEyMSAsIFAxMjIgLCBQMTIzICwgUDEyNCAsIFAxMjUgLCBQMTI2ICwgUDEyNyAsIFAxMjggLCBQMTI5ICwgUDEzMCAsIFAxMzEgLCBQMTMyICwgUDEzMyAsIFAxMzQgLCBQMTM1ICwgUDEzNiAsIFAxMzcgLCBQMTM4ICwgUDEzOSAsIFAxNDAgLCBQMTQxICwgUDE0MiAsIFAxNDMgLCBQMTQ0ICwgUDE0NSAsIFAxNDYgLCBQMTQ3ICwgUDE0OCAsIFAxNDkgLCBQMTUwICwgUDE1MSAsIFAxNTIgLCBQMTUzICwgUDE1NCAsIFAxNTUgLCBQMTU2ICwgUDE1NyAsIFAxNTggLCBQMTU5ICwgUDE2MCAsIFAxNjEgLCBQMTYyICwgUDE2MyAsIFAxNjQgLCBQMTY1ICwgUDE2NiAsIFAxNjcgLCBQMTY4ICwgUDE2OSAsIFAxNzAgLCBQMTcxICwgUDE3MiAsIFAxNzMgLCBQMTc0ICwgUDE3NSAsIFAxNzYgLCBQMTc3ICwgUDE3OD4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBQODggaXRlbTg4OyB0eXBlZGVmIFA4OSBpdGVtODk7IHR5cGVkZWYgUDkwIGl0ZW05MDsgdHlwZWRlZiBQOTEgaXRlbTkxOyB0eXBlZGVmIFA5MiBpdGVtOTI7IHR5cGVkZWYgUDkzIGl0ZW05MzsgdHlwZWRlZiBQOTQgaXRlbTk0OyB0eXBlZGVmIFA5NSBpdGVtOTU7IHR5cGVkZWYgUDk2IGl0ZW05NjsgdHlwZWRlZiBQOTcgaXRlbTk3OyB0eXBlZGVmIFA5OCBpdGVtOTg7IHR5cGVkZWYgUDk5IGl0ZW05OTsgdHlwZWRlZiBQMTAwIGl0ZW0xMDA7IHR5cGVkZWYgUDEwMSBpdGVtMTAxOyB0eXBlZGVmIFAxMDIgaXRlbTEwMjsgdHlwZWRlZiBQMTAzIGl0ZW0xMDM7IHR5cGVkZWYgUDEwNCBpdGVtMTA0OyB0eXBlZGVmIFAxMDUgaXRlbTEwNTsgdHlwZWRlZiBQMTA2IGl0ZW0xMDY7IHR5cGVkZWYgUDEwNyBpdGVtMTA3OyB0eXBlZGVmIFAxMDggaXRlbTEwODsgdHlwZWRlZiBQMTA5IGl0ZW0xMDk7IHR5cGVkZWYgUDExMCBpdGVtMTEwOyB0eXBlZGVmIFAxMTEgaXRlbTExMTsgdHlwZWRlZiBQMTEyIGl0ZW0xMTI7IHR5cGVkZWYgUDExMyBpdGVtMTEzOyB0eXBlZGVmIFAxMTQgaXRlbTExNDsgdHlwZWRlZiBQMTE1IGl0ZW0xMTU7IHR5cGVkZWYgUDExNiBpdGVtMTE2OyB0eXBlZGVmIFAxMTcgaXRlbTExNzsgdHlwZWRlZiBQMTE4IGl0ZW0xMTg7IHR5cGVkZWYgUDExOSBpdGVtMTE5OyB0eXBlZGVmIFAxMjAgaXRlbTEyMDsgdHlwZWRlZiBQMTIxIGl0ZW0xMjE7IHR5cGVkZWYgUDEyMiBpdGVtMTIyOyB0eXBlZGVmIFAxMjMgaXRlbTEyMzsgdHlwZWRlZiBQMTI0IGl0ZW0xMjQ7IHR5cGVkZWYgUDEyNSBpdGVtMTI1OyB0eXBlZGVmIFAxMjYgaXRlbTEyNjsgdHlwZWRlZiBQMTI3IGl0ZW0xMjc7IHR5cGVkZWYgUDEyOCBpdGVtMTI4OyB0eXBlZGVmIFAxMjkgaXRlbTEyOTsgdHlwZWRlZiBQMTMwIGl0ZW0xMzA7IHR5cGVkZWYgUDEzMSBpdGVtMTMxOyB0eXBlZGVmIFAxMzIgaXRlbTEzMjsgdHlwZWRlZiBQMTMzIGl0ZW0xMzM7IHR5cGVkZWYgUDEzNCBpdGVtMTM0OyB0eXBlZGVmIFAxMzUgaXRlbTEzNTsgdHlwZWRlZiBQMTM2IGl0ZW0xMzY7IHR5cGVkZWYgUDEzNyBpdGVtMTM3OyB0eXBlZGVmIFAxMzggaXRlbTEzODsgdHlwZWRlZiBQMTM5IGl0ZW0xMzk7IHR5cGVkZWYgUDE0MCBpdGVtMTQwOyB0eXBlZGVmIFAxNDEgaXRlbTE0MTsgdHlwZWRlZiBQMTQyIGl0ZW0xNDI7IHR5cGVkZWYgUDE0MyBpdGVtMTQzOyB0eXBlZGVmIFAxNDQgaXRlbTE0NDsgdHlwZWRlZiBQMTQ1IGl0ZW0xNDU7IHR5cGVkZWYgUDE0NiBpdGVtMTQ2OyB0eXBlZGVmIFAxNDcgaXRlbTE0NzsgdHlwZWRlZiBQMTQ4IGl0ZW0xNDg7IHR5cGVkZWYgUDE0OSBpdGVtMTQ5OyB0eXBlZGVmIFAxNTAgaXRlbTE1MDsgdHlwZWRlZiBQMTUxIGl0ZW0xNTE7IHR5cGVkZWYgUDE1MiBpdGVtMTUyOyB0eXBlZGVmIFAxNTMgaXRlbTE1MzsgdHlwZWRlZiBQMTU0IGl0ZW0xNTQ7IHR5cGVkZWYgUDE1NSBpdGVtMTU1OyB0eXBlZGVmIFAxNTYgaXRlbTE1NjsgdHlwZWRlZiBQMTU3IGl0ZW0xNTc7IHR5cGVkZWYgUDE1OCBpdGVtMTU4OyB0eXBlZGVmIFAxNTkgaXRlbTE1OTsgdHlwZWRlZiBQMTYwIGl0ZW0xNjA7IHR5cGVkZWYgUDE2MSBpdGVtMTYxOyB0eXBlZGVmIFAxNjIgaXRlbTE2MjsgdHlwZWRlZiBQMTYzIGl0ZW0xNjM7IHR5cGVkZWYgUDE2NCBpdGVtMTY0OyB0eXBlZGVmIFAxNjUgaXRlbTE2NTsgdHlwZWRlZiBQMTY2IGl0ZW0xNjY7IHR5cGVkZWYgUDE2NyBpdGVtMTY3OyB0eXBlZGVmIFAxNjggaXRlbTE2ODsgdHlwZWRlZiBQMTY5IGl0ZW0xNjk7IHR5cGVkZWYgUDE3MCBpdGVtMTcwOyB0eXBlZGVmIFAxNzEgaXRlbTE3MTsgdHlwZWRlZiBQMTcyIGl0ZW0xNzI7IHR5cGVkZWYgUDE3MyBpdGVtMTczOyB0eXBlZGVmIFAxNzQgaXRlbTE3NDsgdHlwZWRlZiBQMTc1IGl0ZW0xNzU7IHR5cGVkZWYgUDE3NiBpdGVtMTc2OyB0eXBlZGVmIFAxNzcgaXRlbTE3NzsgdHlwZWRlZiBQMTc4IGl0ZW0xNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDk7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSAsIGNsYXNzIFA4NiAsIGNsYXNzIFA4NyAsIGNsYXNzIFA4OCAsIGNsYXNzIFA4OSAsIGNsYXNzIFA5MCAsIGNsYXNzIFA5MSAsIGNsYXNzIFA5MiAsIGNsYXNzIFA5MyAsIGNsYXNzIFA5NCAsIGNsYXNzIFA5NSAsIGNsYXNzIFA5NiAsIGNsYXNzIFA5NyAsIGNsYXNzIFA5OCAsIGNsYXNzIFA5OSAsIGNsYXNzIFAxMDAgLCBjbGFzcyBQMTAxICwgY2xhc3MgUDEwMiAsIGNsYXNzIFAxMDMgLCBjbGFzcyBQMTA0ICwgY2xhc3MgUDEwNSAsIGNsYXNzIFAxMDYgLCBjbGFzcyBQMTA3ICwgY2xhc3MgUDEwOCAsIGNsYXNzIFAxMDkgLCBjbGFzcyBQMTEwICwgY2xhc3MgUDExMSAsIGNsYXNzIFAxMTIgLCBjbGFzcyBQMTEzICwgY2xhc3MgUDExNCAsIGNsYXNzIFAxMTUgLCBjbGFzcyBQMTE2ICwgY2xhc3MgUDExNyAsIGNsYXNzIFAxMTggLCBjbGFzcyBQMTE5ICwgY2xhc3MgUDEyMCAsIGNsYXNzIFAxMjEgLCBjbGFzcyBQMTIyICwgY2xhc3MgUDEyMyAsIGNsYXNzIFAxMjQgLCBjbGFzcyBQMTI1ICwgY2xhc3MgUDEyNiAsIGNsYXNzIFAxMjcgLCBjbGFzcyBQMTI4ICwgY2xhc3MgUDEyOSAsIGNsYXNzIFAxMzAgLCBjbGFzcyBQMTMxICwgY2xhc3MgUDEzMiAsIGNsYXNzIFAxMzMgLCBjbGFzcyBQMTM0ICwgY2xhc3MgUDEzNSAsIGNsYXNzIFAxMzYgLCBjbGFzcyBQMTM3ICwgY2xhc3MgUDEzOCAsIGNsYXNzIFAxMzkgLCBjbGFzcyBQMTQwICwgY2xhc3MgUDE0MSAsIGNsYXNzIFAxNDIgLCBjbGFzcyBQMTQzICwgY2xhc3MgUDE0NCAsIGNsYXNzIFAxNDUgLCBjbGFzcyBQMTQ2ICwgY2xhc3MgUDE0NyAsIGNsYXNzIFAxNDggLCBjbGFzcyBQMTQ5ICwgY2xhc3MgUDE1MCAsIGNsYXNzIFAxNTEgLCBjbGFzcyBQMTUyICwgY2xhc3MgUDE1MyAsIGNsYXNzIFAxNTQgLCBjbGFzcyBQMTU1ICwgY2xhc3MgUDE1NiAsIGNsYXNzIFAxNTcgLCBjbGFzcyBQMTU4ICwgY2xhc3MgUDE1OSAsIGNsYXNzIFAxNjAgLCBjbGFzcyBQMTYxICwgY2xhc3MgUDE2MiAsIGNsYXNzIFAxNjMgLCBjbGFzcyBQMTY0ICwgY2xhc3MgUDE2NSAsIGNsYXNzIFAxNjYgLCBjbGFzcyBQMTY3ICwgY2xhc3MgUDE2OCAsIGNsYXNzIFAxNjkgLCBjbGFzcyBQMTcwICwgY2xhc3MgUDE3MSAsIGNsYXNzIFAxNzIgLCBjbGFzcyBQMTczICwgY2xhc3MgUDE3NCAsIGNsYXNzIFAxNzUgLCBjbGFzcyBQMTc2ICwgY2xhc3MgUDE3NyAsIGNsYXNzIFAxNzggLCBjbGFzcyBQMTc5ID4gc3RydWN0IHZlY3RvcjE4MCB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjE4MDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MCAsIFAxNDEgLCBQMTQyICwgUDE0MyAsIFAxNDQgLCBQMTQ1ICwgUDE0NiAsIFAxNDcgLCBQMTQ4ICwgUDE0OSAsIFAxNTAgLCBQMTUxICwgUDE1MiAsIFAxNTMgLCBQMTU0ICwgUDE1NSAsIFAxNTYgLCBQMTU3ICwgUDE1OCAsIFAxNTkgLCBQMTYwICwgUDE2MSAsIFAxNjIgLCBQMTYzICwgUDE2NCAsIFAxNjUgLCBQMTY2ICwgUDE2NyAsIFAxNjggLCBQMTY5ICwgUDE3MCAsIFAxNzEgLCBQMTcyICwgUDE3MyAsIFAxNzQgLCBQMTc1ICwgUDE3NiAsIFAxNzcgLCBQMTc4ICwgUDE3OT4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBQODggaXRlbTg4OyB0eXBlZGVmIFA4OSBpdGVtODk7IHR5cGVkZWYgUDkwIGl0ZW05MDsgdHlwZWRlZiBQOTEgaXRlbTkxOyB0eXBlZGVmIFA5MiBpdGVtOTI7IHR5cGVkZWYgUDkzIGl0ZW05MzsgdHlwZWRlZiBQOTQgaXRlbTk0OyB0eXBlZGVmIFA5NSBpdGVtOTU7IHR5cGVkZWYgUDk2IGl0ZW05NjsgdHlwZWRlZiBQOTcgaXRlbTk3OyB0eXBlZGVmIFA5OCBpdGVtOTg7IHR5cGVkZWYgUDk5IGl0ZW05OTsgdHlwZWRlZiBQMTAwIGl0ZW0xMDA7IHR5cGVkZWYgUDEwMSBpdGVtMTAxOyB0eXBlZGVmIFAxMDIgaXRlbTEwMjsgdHlwZWRlZiBQMTAzIGl0ZW0xMDM7IHR5cGVkZWYgUDEwNCBpdGVtMTA0OyB0eXBlZGVmIFAxMDUgaXRlbTEwNTsgdHlwZWRlZiBQMTA2IGl0ZW0xMDY7IHR5cGVkZWYgUDEwNyBpdGVtMTA3OyB0eXBlZGVmIFAxMDggaXRlbTEwODsgdHlwZWRlZiBQMTA5IGl0ZW0xMDk7IHR5cGVkZWYgUDExMCBpdGVtMTEwOyB0eXBlZGVmIFAxMTEgaXRlbTExMTsgdHlwZWRlZiBQMTEyIGl0ZW0xMTI7IHR5cGVkZWYgUDExMyBpdGVtMTEzOyB0eXBlZGVmIFAxMTQgaXRlbTExNDsgdHlwZWRlZiBQMTE1IGl0ZW0xMTU7IHR5cGVkZWYgUDExNiBpdGVtMTE2OyB0eXBlZGVmIFAxMTcgaXRlbTExNzsgdHlwZWRlZiBQMTE4IGl0ZW0xMTg7IHR5cGVkZWYgUDExOSBpdGVtMTE5OyB0eXBlZGVmIFAxMjAgaXRlbTEyMDsgdHlwZWRlZiBQMTIxIGl0ZW0xMjE7IHR5cGVkZWYgUDEyMiBpdGVtMTIyOyB0eXBlZGVmIFAxMjMgaXRlbTEyMzsgdHlwZWRlZiBQMTI0IGl0ZW0xMjQ7IHR5cGVkZWYgUDEyNSBpdGVtMTI1OyB0eXBlZGVmIFAxMjYgaXRlbTEyNjsgdHlwZWRlZiBQMTI3IGl0ZW0xMjc7IHR5cGVkZWYgUDEyOCBpdGVtMTI4OyB0eXBlZGVmIFAxMjkgaXRlbTEyOTsgdHlwZWRlZiBQMTMwIGl0ZW0xMzA7IHR5cGVkZWYgUDEzMSBpdGVtMTMxOyB0eXBlZGVmIFAxMzIgaXRlbTEzMjsgdHlwZWRlZiBQMTMzIGl0ZW0xMzM7IHR5cGVkZWYgUDEzNCBpdGVtMTM0OyB0eXBlZGVmIFAxMzUgaXRlbTEzNTsgdHlwZWRlZiBQMTM2IGl0ZW0xMzY7IHR5cGVkZWYgUDEzNyBpdGVtMTM3OyB0eXBlZGVmIFAxMzggaXRlbTEzODsgdHlwZWRlZiBQMTM5IGl0ZW0xMzk7IHR5cGVkZWYgUDE0MCBpdGVtMTQwOyB0eXBlZGVmIFAxNDEgaXRlbTE0MTsgdHlwZWRlZiBQMTQyIGl0ZW0xNDI7IHR5cGVkZWYgUDE0MyBpdGVtMTQzOyB0eXBlZGVmIFAxNDQgaXRlbTE0NDsgdHlwZWRlZiBQMTQ1IGl0ZW0xNDU7IHR5cGVkZWYgUDE0NiBpdGVtMTQ2OyB0eXBlZGVmIFAxNDcgaXRlbTE0NzsgdHlwZWRlZiBQMTQ4IGl0ZW0xNDg7IHR5cGVkZWYgUDE0OSBpdGVtMTQ5OyB0eXBlZGVmIFAxNTAgaXRlbTE1MDsgdHlwZWRlZiBQMTUxIGl0ZW0xNTE7IHR5cGVkZWYgUDE1MiBpdGVtMTUyOyB0eXBlZGVmIFAxNTMgaXRlbTE1MzsgdHlwZWRlZiBQMTU0IGl0ZW0xNTQ7IHR5cGVkZWYgUDE1NSBpdGVtMTU1OyB0eXBlZGVmIFAxNTYgaXRlbTE1NjsgdHlwZWRlZiBQMTU3IGl0ZW0xNTc7IHR5cGVkZWYgUDE1OCBpdGVtMTU4OyB0eXBlZGVmIFAxNTkgaXRlbTE1OTsgdHlwZWRlZiBQMTYwIGl0ZW0xNjA7IHR5cGVkZWYgUDE2MSBpdGVtMTYxOyB0eXBlZGVmIFAxNjIgaXRlbTE2MjsgdHlwZWRlZiBQMTYzIGl0ZW0xNjM7IHR5cGVkZWYgUDE2NCBpdGVtMTY0OyB0eXBlZGVmIFAxNjUgaXRlbTE2NTsgdHlwZWRlZiBQMTY2IGl0ZW0xNjY7IHR5cGVkZWYgUDE2NyBpdGVtMTY3OyB0eXBlZGVmIFAxNjggaXRlbTE2ODsgdHlwZWRlZiBQMTY5IGl0ZW0xNjk7IHR5cGVkZWYgUDE3MCBpdGVtMTcwOyB0eXBlZGVmIFAxNzEgaXRlbTE3MTsgdHlwZWRlZiBQMTcyIGl0ZW0xNzI7IHR5cGVkZWYgUDE3MyBpdGVtMTczOyB0eXBlZGVmIFAxNzQgaXRlbTE3NDsgdHlwZWRlZiBQMTc1IGl0ZW0xNzU7IHR5cGVkZWYgUDE3NiBpdGVtMTc2OyB0eXBlZGVmIFAxNzcgaXRlbTE3NzsgdHlwZWRlZiBQMTc4IGl0ZW0xNzg7IHR5cGVkZWYgUDE3OSBpdGVtMTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ5OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBQOTMgLCBjbGFzcyBQOTQgLCBjbGFzcyBQOTUgLCBjbGFzcyBQOTYgLCBjbGFzcyBQOTcgLCBjbGFzcyBQOTggLCBjbGFzcyBQOTkgLCBjbGFzcyBQMTAwICwgY2xhc3MgUDEwMSAsIGNsYXNzIFAxMDIgLCBjbGFzcyBQMTAzICwgY2xhc3MgUDEwNCAsIGNsYXNzIFAxMDUgLCBjbGFzcyBQMTA2ICwgY2xhc3MgUDEwNyAsIGNsYXNzIFAxMDggLCBjbGFzcyBQMTA5ICwgY2xhc3MgUDExMCAsIGNsYXNzIFAxMTEgLCBjbGFzcyBQMTEyICwgY2xhc3MgUDExMyAsIGNsYXNzIFAxMTQgLCBjbGFzcyBQMTE1ICwgY2xhc3MgUDExNiAsIGNsYXNzIFAxMTcgLCBjbGFzcyBQMTE4ICwgY2xhc3MgUDExOSAsIGNsYXNzIFAxMjAgLCBjbGFzcyBQMTIxICwgY2xhc3MgUDEyMiAsIGNsYXNzIFAxMjMgLCBjbGFzcyBQMTI0ICwgY2xhc3MgUDEyNSAsIGNsYXNzIFAxMjYgLCBjbGFzcyBQMTI3ICwgY2xhc3MgUDEyOCAsIGNsYXNzIFAxMjkgLCBjbGFzcyBQMTMwICwgY2xhc3MgUDEzMSAsIGNsYXNzIFAxMzIgLCBjbGFzcyBQMTMzICwgY2xhc3MgUDEzNCAsIGNsYXNzIFAxMzUgLCBjbGFzcyBQMTM2ICwgY2xhc3MgUDEzNyAsIGNsYXNzIFAxMzggLCBjbGFzcyBQMTM5ICwgY2xhc3MgUDE0MCAsIGNsYXNzIFAxNDEgLCBjbGFzcyBQMTQyICwgY2xhc3MgUDE0MyAsIGNsYXNzIFAxNDQgLCBjbGFzcyBQMTQ1ICwgY2xhc3MgUDE0NiAsIGNsYXNzIFAxNDcgLCBjbGFzcyBQMTQ4ICwgY2xhc3MgUDE0OSAsIGNsYXNzIFAxNTAgLCBjbGFzcyBQMTUxICwgY2xhc3MgUDE1MiAsIGNsYXNzIFAxNTMgLCBjbGFzcyBQMTU0ICwgY2xhc3MgUDE1NSAsIGNsYXNzIFAxNTYgLCBjbGFzcyBQMTU3ICwgY2xhc3MgUDE1OCAsIGNsYXNzIFAxNTkgLCBjbGFzcyBQMTYwICwgY2xhc3MgUDE2MSAsIGNsYXNzIFAxNjIgLCBjbGFzcyBQMTYzICwgY2xhc3MgUDE2NCAsIGNsYXNzIFAxNjUgLCBjbGFzcyBQMTY2ICwgY2xhc3MgUDE2NyAsIGNsYXNzIFAxNjggLCBjbGFzcyBQMTY5ICwgY2xhc3MgUDE3MCAsIGNsYXNzIFAxNzEgLCBjbGFzcyBQMTcyICwgY2xhc3MgUDE3MyAsIGNsYXNzIFAxNzQgLCBjbGFzcyBQMTc1ICwgY2xhc3MgUDE3NiAsIGNsYXNzIFAxNzcgLCBjbGFzcyBQMTc4ICwgY2xhc3MgUDE3OSAsIGNsYXNzIFAxODAgPiBzdHJ1Y3QgdmVjdG9yMTgxIHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yMTgxPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFA5MiAsIFA5MyAsIFA5NCAsIFA5NSAsIFA5NiAsIFA5NyAsIFA5OCAsIFA5OSAsIFAxMDAgLCBQMTAxICwgUDEwMiAsIFAxMDMgLCBQMTA0ICwgUDEwNSAsIFAxMDYgLCBQMTA3ICwgUDEwOCAsIFAxMDkgLCBQMTEwICwgUDExMSAsIFAxMTIgLCBQMTEzICwgUDExNCAsIFAxMTUgLCBQMTE2ICwgUDExNyAsIFAxMTggLCBQMTE5ICwgUDEyMCAsIFAxMjEgLCBQMTIyICwgUDEyMyAsIFAxMjQgLCBQMTI1ICwgUDEyNiAsIFAxMjcgLCBQMTI4ICwgUDEyOSAsIFAxMzAgLCBQMTMxICwgUDEzMiAsIFAxMzMgLCBQMTM0ICwgUDEzNSAsIFAxMzYgLCBQMTM3ICwgUDEzOCAsIFAxMzkgLCBQMTQwICwgUDE0MSAsIFAxNDIgLCBQMTQzICwgUDE0NCAsIFAxNDUgLCBQMTQ2ICwgUDE0NyAsIFAxNDggLCBQMTQ5ICwgUDE1MCAsIFAxNTEgLCBQMTUyICwgUDE1MyAsIFAxNTQgLCBQMTU1ICwgUDE1NiAsIFAxNTcgLCBQMTU4ICwgUDE1OSAsIFAxNjAgLCBQMTYxICwgUDE2MiAsIFAxNjMgLCBQMTY0ICwgUDE2NSAsIFAxNjYgLCBQMTY3ICwgUDE2OCAsIFAxNjkgLCBQMTcwICwgUDE3MSAsIFAxNzIgLCBQMTczICwgUDE3NCAsIFAxNzUgLCBQMTc2ICwgUDE3NyAsIFAxNzggLCBQMTc5ICwgUDE4MD4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBQODggaXRlbTg4OyB0eXBlZGVmIFA4OSBpdGVtODk7IHR5cGVkZWYgUDkwIGl0ZW05MDsgdHlwZWRlZiBQOTEgaXRlbTkxOyB0eXBlZGVmIFA5MiBpdGVtOTI7IHR5cGVkZWYgUDkzIGl0ZW05MzsgdHlwZWRlZiBQOTQgaXRlbTk0OyB0eXBlZGVmIFA5NSBpdGVtOTU7IHR5cGVkZWYgUDk2IGl0ZW05NjsgdHlwZWRlZiBQOTcgaXRlbTk3OyB0eXBlZGVmIFA5OCBpdGVtOTg7IHR5cGVkZWYgUDk5IGl0ZW05OTsgdHlwZWRlZiBQMTAwIGl0ZW0xMDA7IHR5cGVkZWYgUDEwMSBpdGVtMTAxOyB0eXBlZGVmIFAxMDIgaXRlbTEwMjsgdHlwZWRlZiBQMTAzIGl0ZW0xMDM7IHR5cGVkZWYgUDEwNCBpdGVtMTA0OyB0eXBlZGVmIFAxMDUgaXRlbTEwNTsgdHlwZWRlZiBQMTA2IGl0ZW0xMDY7IHR5cGVkZWYgUDEwNyBpdGVtMTA3OyB0eXBlZGVmIFAxMDggaXRlbTEwODsgdHlwZWRlZiBQMTA5IGl0ZW0xMDk7IHR5cGVkZWYgUDExMCBpdGVtMTEwOyB0eXBlZGVmIFAxMTEgaXRlbTExMTsgdHlwZWRlZiBQMTEyIGl0ZW0xMTI7IHR5cGVkZWYgUDExMyBpdGVtMTEzOyB0eXBlZGVmIFAxMTQgaXRlbTExNDsgdHlwZWRlZiBQMTE1IGl0ZW0xMTU7IHR5cGVkZWYgUDExNiBpdGVtMTE2OyB0eXBlZGVmIFAxMTcgaXRlbTExNzsgdHlwZWRlZiBQMTE4IGl0ZW0xMTg7IHR5cGVkZWYgUDExOSBpdGVtMTE5OyB0eXBlZGVmIFAxMjAgaXRlbTEyMDsgdHlwZWRlZiBQMTIxIGl0ZW0xMjE7IHR5cGVkZWYgUDEyMiBpdGVtMTIyOyB0eXBlZGVmIFAxMjMgaXRlbTEyMzsgdHlwZWRlZiBQMTI0IGl0ZW0xMjQ7IHR5cGVkZWYgUDEyNSBpdGVtMTI1OyB0eXBlZGVmIFAxMjYgaXRlbTEyNjsgdHlwZWRlZiBQMTI3IGl0ZW0xMjc7IHR5cGVkZWYgUDEyOCBpdGVtMTI4OyB0eXBlZGVmIFAxMjkgaXRlbTEyOTsgdHlwZWRlZiBQMTMwIGl0ZW0xMzA7IHR5cGVkZWYgUDEzMSBpdGVtMTMxOyB0eXBlZGVmIFAxMzIgaXRlbTEzMjsgdHlwZWRlZiBQMTMzIGl0ZW0xMzM7IHR5cGVkZWYgUDEzNCBpdGVtMTM0OyB0eXBlZGVmIFAxMzUgaXRlbTEzNTsgdHlwZWRlZiBQMTM2IGl0ZW0xMzY7IHR5cGVkZWYgUDEzNyBpdGVtMTM3OyB0eXBlZGVmIFAxMzggaXRlbTEzODsgdHlwZWRlZiBQMTM5IGl0ZW0xMzk7IHR5cGVkZWYgUDE0MCBpdGVtMTQwOyB0eXBlZGVmIFAxNDEgaXRlbTE0MTsgdHlwZWRlZiBQMTQyIGl0ZW0xNDI7IHR5cGVkZWYgUDE0MyBpdGVtMTQzOyB0eXBlZGVmIFAxNDQgaXRlbTE0NDsgdHlwZWRlZiBQMTQ1IGl0ZW0xNDU7IHR5cGVkZWYgUDE0NiBpdGVtMTQ2OyB0eXBlZGVmIFAxNDcgaXRlbTE0NzsgdHlwZWRlZiBQMTQ4IGl0ZW0xNDg7IHR5cGVkZWYgUDE0OSBpdGVtMTQ5OyB0eXBlZGVmIFAxNTAgaXRlbTE1MDsgdHlwZWRlZiBQMTUxIGl0ZW0xNTE7IHR5cGVkZWYgUDE1MiBpdGVtMTUyOyB0eXBlZGVmIFAxNTMgaXRlbTE1MzsgdHlwZWRlZiBQMTU0IGl0ZW0xNTQ7IHR5cGVkZWYgUDE1NSBpdGVtMTU1OyB0eXBlZGVmIFAxNTYgaXRlbTE1NjsgdHlwZWRlZiBQMTU3IGl0ZW0xNTc7IHR5cGVkZWYgUDE1OCBpdGVtMTU4OyB0eXBlZGVmIFAxNTkgaXRlbTE1OTsgdHlwZWRlZiBQMTYwIGl0ZW0xNjA7IHR5cGVkZWYgUDE2MSBpdGVtMTYxOyB0eXBlZGVmIFAxNjIgaXRlbTE2MjsgdHlwZWRlZiBQMTYzIGl0ZW0xNjM7IHR5cGVkZWYgUDE2NCBpdGVtMTY0OyB0eXBlZGVmIFAxNjUgaXRlbTE2NTsgdHlwZWRlZiBQMTY2IGl0ZW0xNjY7IHR5cGVkZWYgUDE2NyBpdGVtMTY3OyB0eXBlZGVmIFAxNjggaXRlbTE2ODsgdHlwZWRlZiBQMTY5IGl0ZW0xNjk7IHR5cGVkZWYgUDE3MCBpdGVtMTcwOyB0eXBlZGVmIFAxNzEgaXRlbTE3MTsgdHlwZWRlZiBQMTcyIGl0ZW0xNzI7IHR5cGVkZWYgUDE3MyBpdGVtMTczOyB0eXBlZGVmIFAxNzQgaXRlbTE3NDsgdHlwZWRlZiBQMTc1IGl0ZW0xNzU7IHR5cGVkZWYgUDE3NiBpdGVtMTc2OyB0eXBlZGVmIFAxNzcgaXRlbTE3NzsgdHlwZWRlZiBQMTc4IGl0ZW0xNzg7IHR5cGVkZWYgUDE3OSBpdGVtMTc5OyB0eXBlZGVmIFAxODAgaXRlbTE4MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0OTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ICwgY2xhc3MgUDk2ICwgY2xhc3MgUDk3ICwgY2xhc3MgUDk4ICwgY2xhc3MgUDk5ICwgY2xhc3MgUDEwMCAsIGNsYXNzIFAxMDEgLCBjbGFzcyBQMTAyICwgY2xhc3MgUDEwMyAsIGNsYXNzIFAxMDQgLCBjbGFzcyBQMTA1ICwgY2xhc3MgUDEwNiAsIGNsYXNzIFAxMDcgLCBjbGFzcyBQMTA4ICwgY2xhc3MgUDEwOSAsIGNsYXNzIFAxMTAgLCBjbGFzcyBQMTExICwgY2xhc3MgUDExMiAsIGNsYXNzIFAxMTMgLCBjbGFzcyBQMTE0ICwgY2xhc3MgUDExNSAsIGNsYXNzIFAxMTYgLCBjbGFzcyBQMTE3ICwgY2xhc3MgUDExOCAsIGNsYXNzIFAxMTkgLCBjbGFzcyBQMTIwICwgY2xhc3MgUDEyMSAsIGNsYXNzIFAxMjIgLCBjbGFzcyBQMTIzICwgY2xhc3MgUDEyNCAsIGNsYXNzIFAxMjUgLCBjbGFzcyBQMTI2ICwgY2xhc3MgUDEyNyAsIGNsYXNzIFAxMjggLCBjbGFzcyBQMTI5ICwgY2xhc3MgUDEzMCAsIGNsYXNzIFAxMzEgLCBjbGFzcyBQMTMyICwgY2xhc3MgUDEzMyAsIGNsYXNzIFAxMzQgLCBjbGFzcyBQMTM1ICwgY2xhc3MgUDEzNiAsIGNsYXNzIFAxMzcgLCBjbGFzcyBQMTM4ICwgY2xhc3MgUDEzOSAsIGNsYXNzIFAxNDAgLCBjbGFzcyBQMTQxICwgY2xhc3MgUDE0MiAsIGNsYXNzIFAxNDMgLCBjbGFzcyBQMTQ0ICwgY2xhc3MgUDE0NSAsIGNsYXNzIFAxNDYgLCBjbGFzcyBQMTQ3ICwgY2xhc3MgUDE0OCAsIGNsYXNzIFAxNDkgLCBjbGFzcyBQMTUwICwgY2xhc3MgUDE1MSAsIGNsYXNzIFAxNTIgLCBjbGFzcyBQMTUzICwgY2xhc3MgUDE1NCAsIGNsYXNzIFAxNTUgLCBjbGFzcyBQMTU2ICwgY2xhc3MgUDE1NyAsIGNsYXNzIFAxNTggLCBjbGFzcyBQMTU5ICwgY2xhc3MgUDE2MCAsIGNsYXNzIFAxNjEgLCBjbGFzcyBQMTYyICwgY2xhc3MgUDE2MyAsIGNsYXNzIFAxNjQgLCBjbGFzcyBQMTY1ICwgY2xhc3MgUDE2NiAsIGNsYXNzIFAxNjcgLCBjbGFzcyBQMTY4ICwgY2xhc3MgUDE2OSAsIGNsYXNzIFAxNzAgLCBjbGFzcyBQMTcxICwgY2xhc3MgUDE3MiAsIGNsYXNzIFAxNzMgLCBjbGFzcyBQMTc0ICwgY2xhc3MgUDE3NSAsIGNsYXNzIFAxNzYgLCBjbGFzcyBQMTc3ICwgY2xhc3MgUDE3OCAsIGNsYXNzIFAxNzkgLCBjbGFzcyBQMTgwICwgY2xhc3MgUDE4MSA+IHN0cnVjdCB2ZWN0b3IxODIgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3IxODI8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1ICwgUDk2ICwgUDk3ICwgUDk4ICwgUDk5ICwgUDEwMCAsIFAxMDEgLCBQMTAyICwgUDEwMyAsIFAxMDQgLCBQMTA1ICwgUDEwNiAsIFAxMDcgLCBQMTA4ICwgUDEwOSAsIFAxMTAgLCBQMTExICwgUDExMiAsIFAxMTMgLCBQMTE0ICwgUDExNSAsIFAxMTYgLCBQMTE3ICwgUDExOCAsIFAxMTkgLCBQMTIwICwgUDEyMSAsIFAxMjIgLCBQMTIzICwgUDEyNCAsIFAxMjUgLCBQMTI2ICwgUDEyNyAsIFAxMjggLCBQMTI5ICwgUDEzMCAsIFAxMzEgLCBQMTMyICwgUDEzMyAsIFAxMzQgLCBQMTM1ICwgUDEzNiAsIFAxMzcgLCBQMTM4ICwgUDEzOSAsIFAxNDAgLCBQMTQxICwgUDE0MiAsIFAxNDMgLCBQMTQ0ICwgUDE0NSAsIFAxNDYgLCBQMTQ3ICwgUDE0OCAsIFAxNDkgLCBQMTUwICwgUDE1MSAsIFAxNTIgLCBQMTUzICwgUDE1NCAsIFAxNTUgLCBQMTU2ICwgUDE1NyAsIFAxNTggLCBQMTU5ICwgUDE2MCAsIFAxNjEgLCBQMTYyICwgUDE2MyAsIFAxNjQgLCBQMTY1ICwgUDE2NiAsIFAxNjcgLCBQMTY4ICwgUDE2OSAsIFAxNzAgLCBQMTcxICwgUDE3MiAsIFAxNzMgLCBQMTc0ICwgUDE3NSAsIFAxNzYgLCBQMTc3ICwgUDE3OCAsIFAxNzkgLCBQMTgwICwgUDE4MT4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBQODggaXRlbTg4OyB0eXBlZGVmIFA4OSBpdGVtODk7IHR5cGVkZWYgUDkwIGl0ZW05MDsgdHlwZWRlZiBQOTEgaXRlbTkxOyB0eXBlZGVmIFA5MiBpdGVtOTI7IHR5cGVkZWYgUDkzIGl0ZW05MzsgdHlwZWRlZiBQOTQgaXRlbTk0OyB0eXBlZGVmIFA5NSBpdGVtOTU7IHR5cGVkZWYgUDk2IGl0ZW05NjsgdHlwZWRlZiBQOTcgaXRlbTk3OyB0eXBlZGVmIFA5OCBpdGVtOTg7IHR5cGVkZWYgUDk5IGl0ZW05OTsgdHlwZWRlZiBQMTAwIGl0ZW0xMDA7IHR5cGVkZWYgUDEwMSBpdGVtMTAxOyB0eXBlZGVmIFAxMDIgaXRlbTEwMjsgdHlwZWRlZiBQMTAzIGl0ZW0xMDM7IHR5cGVkZWYgUDEwNCBpdGVtMTA0OyB0eXBlZGVmIFAxMDUgaXRlbTEwNTsgdHlwZWRlZiBQMTA2IGl0ZW0xMDY7IHR5cGVkZWYgUDEwNyBpdGVtMTA3OyB0eXBlZGVmIFAxMDggaXRlbTEwODsgdHlwZWRlZiBQMTA5IGl0ZW0xMDk7IHR5cGVkZWYgUDExMCBpdGVtMTEwOyB0eXBlZGVmIFAxMTEgaXRlbTExMTsgdHlwZWRlZiBQMTEyIGl0ZW0xMTI7IHR5cGVkZWYgUDExMyBpdGVtMTEzOyB0eXBlZGVmIFAxMTQgaXRlbTExNDsgdHlwZWRlZiBQMTE1IGl0ZW0xMTU7IHR5cGVkZWYgUDExNiBpdGVtMTE2OyB0eXBlZGVmIFAxMTcgaXRlbTExNzsgdHlwZWRlZiBQMTE4IGl0ZW0xMTg7IHR5cGVkZWYgUDExOSBpdGVtMTE5OyB0eXBlZGVmIFAxMjAgaXRlbTEyMDsgdHlwZWRlZiBQMTIxIGl0ZW0xMjE7IHR5cGVkZWYgUDEyMiBpdGVtMTIyOyB0eXBlZGVmIFAxMjMgaXRlbTEyMzsgdHlwZWRlZiBQMTI0IGl0ZW0xMjQ7IHR5cGVkZWYgUDEyNSBpdGVtMTI1OyB0eXBlZGVmIFAxMjYgaXRlbTEyNjsgdHlwZWRlZiBQMTI3IGl0ZW0xMjc7IHR5cGVkZWYgUDEyOCBpdGVtMTI4OyB0eXBlZGVmIFAxMjkgaXRlbTEyOTsgdHlwZWRlZiBQMTMwIGl0ZW0xMzA7IHR5cGVkZWYgUDEzMSBpdGVtMTMxOyB0eXBlZGVmIFAxMzIgaXRlbTEzMjsgdHlwZWRlZiBQMTMzIGl0ZW0xMzM7IHR5cGVkZWYgUDEzNCBpdGVtMTM0OyB0eXBlZGVmIFAxMzUgaXRlbTEzNTsgdHlwZWRlZiBQMTM2IGl0ZW0xMzY7IHR5cGVkZWYgUDEzNyBpdGVtMTM3OyB0eXBlZGVmIFAxMzggaXRlbTEzODsgdHlwZWRlZiBQMTM5IGl0ZW0xMzk7IHR5cGVkZWYgUDE0MCBpdGVtMTQwOyB0eXBlZGVmIFAxNDEgaXRlbTE0MTsgdHlwZWRlZiBQMTQyIGl0ZW0xNDI7IHR5cGVkZWYgUDE0MyBpdGVtMTQzOyB0eXBlZGVmIFAxNDQgaXRlbTE0NDsgdHlwZWRlZiBQMTQ1IGl0ZW0xNDU7IHR5cGVkZWYgUDE0NiBpdGVtMTQ2OyB0eXBlZGVmIFAxNDcgaXRlbTE0NzsgdHlwZWRlZiBQMTQ4IGl0ZW0xNDg7IHR5cGVkZWYgUDE0OSBpdGVtMTQ5OyB0eXBlZGVmIFAxNTAgaXRlbTE1MDsgdHlwZWRlZiBQMTUxIGl0ZW0xNTE7IHR5cGVkZWYgUDE1MiBpdGVtMTUyOyB0eXBlZGVmIFAxNTMgaXRlbTE1MzsgdHlwZWRlZiBQMTU0IGl0ZW0xNTQ7IHR5cGVkZWYgUDE1NSBpdGVtMTU1OyB0eXBlZGVmIFAxNTYgaXRlbTE1NjsgdHlwZWRlZiBQMTU3IGl0ZW0xNTc7IHR5cGVkZWYgUDE1OCBpdGVtMTU4OyB0eXBlZGVmIFAxNTkgaXRlbTE1OTsgdHlwZWRlZiBQMTYwIGl0ZW0xNjA7IHR5cGVkZWYgUDE2MSBpdGVtMTYxOyB0eXBlZGVmIFAxNjIgaXRlbTE2MjsgdHlwZWRlZiBQMTYzIGl0ZW0xNjM7IHR5cGVkZWYgUDE2NCBpdGVtMTY0OyB0eXBlZGVmIFAxNjUgaXRlbTE2NTsgdHlwZWRlZiBQMTY2IGl0ZW0xNjY7IHR5cGVkZWYgUDE2NyBpdGVtMTY3OyB0eXBlZGVmIFAxNjggaXRlbTE2ODsgdHlwZWRlZiBQMTY5IGl0ZW0xNjk7IHR5cGVkZWYgUDE3MCBpdGVtMTcwOyB0eXBlZGVmIFAxNzEgaXRlbTE3MTsgdHlwZWRlZiBQMTcyIGl0ZW0xNzI7IHR5cGVkZWYgUDE3MyBpdGVtMTczOyB0eXBlZGVmIFAxNzQgaXRlbTE3NDsgdHlwZWRlZiBQMTc1IGl0ZW0xNzU7IHR5cGVkZWYgUDE3NiBpdGVtMTc2OyB0eXBlZGVmIFAxNzcgaXRlbTE3NzsgdHlwZWRlZiBQMTc4IGl0ZW0xNzg7IHR5cGVkZWYgUDE3OSBpdGVtMTc5OyB0eXBlZGVmIFAxODAgaXRlbTE4MDsgdHlwZWRlZiBQMTgxIGl0ZW0xODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDk7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSAsIGNsYXNzIFA4NiAsIGNsYXNzIFA4NyAsIGNsYXNzIFA4OCAsIGNsYXNzIFA4OSAsIGNsYXNzIFA5MCAsIGNsYXNzIFA5MSAsIGNsYXNzIFA5MiAsIGNsYXNzIFA5MyAsIGNsYXNzIFA5NCAsIGNsYXNzIFA5NSAsIGNsYXNzIFA5NiAsIGNsYXNzIFA5NyAsIGNsYXNzIFA5OCAsIGNsYXNzIFA5OSAsIGNsYXNzIFAxMDAgLCBjbGFzcyBQMTAxICwgY2xhc3MgUDEwMiAsIGNsYXNzIFAxMDMgLCBjbGFzcyBQMTA0ICwgY2xhc3MgUDEwNSAsIGNsYXNzIFAxMDYgLCBjbGFzcyBQMTA3ICwgY2xhc3MgUDEwOCAsIGNsYXNzIFAxMDkgLCBjbGFzcyBQMTEwICwgY2xhc3MgUDExMSAsIGNsYXNzIFAxMTIgLCBjbGFzcyBQMTEzICwgY2xhc3MgUDExNCAsIGNsYXNzIFAxMTUgLCBjbGFzcyBQMTE2ICwgY2xhc3MgUDExNyAsIGNsYXNzIFAxMTggLCBjbGFzcyBQMTE5ICwgY2xhc3MgUDEyMCAsIGNsYXNzIFAxMjEgLCBjbGFzcyBQMTIyICwgY2xhc3MgUDEyMyAsIGNsYXNzIFAxMjQgLCBjbGFzcyBQMTI1ICwgY2xhc3MgUDEyNiAsIGNsYXNzIFAxMjcgLCBjbGFzcyBQMTI4ICwgY2xhc3MgUDEyOSAsIGNsYXNzIFAxMzAgLCBjbGFzcyBQMTMxICwgY2xhc3MgUDEzMiAsIGNsYXNzIFAxMzMgLCBjbGFzcyBQMTM0ICwgY2xhc3MgUDEzNSAsIGNsYXNzIFAxMzYgLCBjbGFzcyBQMTM3ICwgY2xhc3MgUDEzOCAsIGNsYXNzIFAxMzkgLCBjbGFzcyBQMTQwICwgY2xhc3MgUDE0MSAsIGNsYXNzIFAxNDIgLCBjbGFzcyBQMTQzICwgY2xhc3MgUDE0NCAsIGNsYXNzIFAxNDUgLCBjbGFzcyBQMTQ2ICwgY2xhc3MgUDE0NyAsIGNsYXNzIFAxNDggLCBjbGFzcyBQMTQ5ICwgY2xhc3MgUDE1MCAsIGNsYXNzIFAxNTEgLCBjbGFzcyBQMTUyICwgY2xhc3MgUDE1MyAsIGNsYXNzIFAxNTQgLCBjbGFzcyBQMTU1ICwgY2xhc3MgUDE1NiAsIGNsYXNzIFAxNTcgLCBjbGFzcyBQMTU4ICwgY2xhc3MgUDE1OSAsIGNsYXNzIFAxNjAgLCBjbGFzcyBQMTYxICwgY2xhc3MgUDE2MiAsIGNsYXNzIFAxNjMgLCBjbGFzcyBQMTY0ICwgY2xhc3MgUDE2NSAsIGNsYXNzIFAxNjYgLCBjbGFzcyBQMTY3ICwgY2xhc3MgUDE2OCAsIGNsYXNzIFAxNjkgLCBjbGFzcyBQMTcwICwgY2xhc3MgUDE3MSAsIGNsYXNzIFAxNzIgLCBjbGFzcyBQMTczICwgY2xhc3MgUDE3NCAsIGNsYXNzIFAxNzUgLCBjbGFzcyBQMTc2ICwgY2xhc3MgUDE3NyAsIGNsYXNzIFAxNzggLCBjbGFzcyBQMTc5ICwgY2xhc3MgUDE4MCAsIGNsYXNzIFAxODEgLCBjbGFzcyBQMTgyID4gc3RydWN0IHZlY3RvcjE4MyB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjE4MzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MCAsIFAxNDEgLCBQMTQyICwgUDE0MyAsIFAxNDQgLCBQMTQ1ICwgUDE0NiAsIFAxNDcgLCBQMTQ4ICwgUDE0OSAsIFAxNTAgLCBQMTUxICwgUDE1MiAsIFAxNTMgLCBQMTU0ICwgUDE1NSAsIFAxNTYgLCBQMTU3ICwgUDE1OCAsIFAxNTkgLCBQMTYwICwgUDE2MSAsIFAxNjIgLCBQMTYzICwgUDE2NCAsIFAxNjUgLCBQMTY2ICwgUDE2NyAsIFAxNjggLCBQMTY5ICwgUDE3MCAsIFAxNzEgLCBQMTcyICwgUDE3MyAsIFAxNzQgLCBQMTc1ICwgUDE3NiAsIFAxNzcgLCBQMTc4ICwgUDE3OSAsIFAxODAgLCBQMTgxICwgUDE4Mj4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBQODggaXRlbTg4OyB0eXBlZGVmIFA4OSBpdGVtODk7IHR5cGVkZWYgUDkwIGl0ZW05MDsgdHlwZWRlZiBQOTEgaXRlbTkxOyB0eXBlZGVmIFA5MiBpdGVtOTI7IHR5cGVkZWYgUDkzIGl0ZW05MzsgdHlwZWRlZiBQOTQgaXRlbTk0OyB0eXBlZGVmIFA5NSBpdGVtOTU7IHR5cGVkZWYgUDk2IGl0ZW05NjsgdHlwZWRlZiBQOTcgaXRlbTk3OyB0eXBlZGVmIFA5OCBpdGVtOTg7IHR5cGVkZWYgUDk5IGl0ZW05OTsgdHlwZWRlZiBQMTAwIGl0ZW0xMDA7IHR5cGVkZWYgUDEwMSBpdGVtMTAxOyB0eXBlZGVmIFAxMDIgaXRlbTEwMjsgdHlwZWRlZiBQMTAzIGl0ZW0xMDM7IHR5cGVkZWYgUDEwNCBpdGVtMTA0OyB0eXBlZGVmIFAxMDUgaXRlbTEwNTsgdHlwZWRlZiBQMTA2IGl0ZW0xMDY7IHR5cGVkZWYgUDEwNyBpdGVtMTA3OyB0eXBlZGVmIFAxMDggaXRlbTEwODsgdHlwZWRlZiBQMTA5IGl0ZW0xMDk7IHR5cGVkZWYgUDExMCBpdGVtMTEwOyB0eXBlZGVmIFAxMTEgaXRlbTExMTsgdHlwZWRlZiBQMTEyIGl0ZW0xMTI7IHR5cGVkZWYgUDExMyBpdGVtMTEzOyB0eXBlZGVmIFAxMTQgaXRlbTExNDsgdHlwZWRlZiBQMTE1IGl0ZW0xMTU7IHR5cGVkZWYgUDExNiBpdGVtMTE2OyB0eXBlZGVmIFAxMTcgaXRlbTExNzsgdHlwZWRlZiBQMTE4IGl0ZW0xMTg7IHR5cGVkZWYgUDExOSBpdGVtMTE5OyB0eXBlZGVmIFAxMjAgaXRlbTEyMDsgdHlwZWRlZiBQMTIxIGl0ZW0xMjE7IHR5cGVkZWYgUDEyMiBpdGVtMTIyOyB0eXBlZGVmIFAxMjMgaXRlbTEyMzsgdHlwZWRlZiBQMTI0IGl0ZW0xMjQ7IHR5cGVkZWYgUDEyNSBpdGVtMTI1OyB0eXBlZGVmIFAxMjYgaXRlbTEyNjsgdHlwZWRlZiBQMTI3IGl0ZW0xMjc7IHR5cGVkZWYgUDEyOCBpdGVtMTI4OyB0eXBlZGVmIFAxMjkgaXRlbTEyOTsgdHlwZWRlZiBQMTMwIGl0ZW0xMzA7IHR5cGVkZWYgUDEzMSBpdGVtMTMxOyB0eXBlZGVmIFAxMzIgaXRlbTEzMjsgdHlwZWRlZiBQMTMzIGl0ZW0xMzM7IHR5cGVkZWYgUDEzNCBpdGVtMTM0OyB0eXBlZGVmIFAxMzUgaXRlbTEzNTsgdHlwZWRlZiBQMTM2IGl0ZW0xMzY7IHR5cGVkZWYgUDEzNyBpdGVtMTM3OyB0eXBlZGVmIFAxMzggaXRlbTEzODsgdHlwZWRlZiBQMTM5IGl0ZW0xMzk7IHR5cGVkZWYgUDE0MCBpdGVtMTQwOyB0eXBlZGVmIFAxNDEgaXRlbTE0MTsgdHlwZWRlZiBQMTQyIGl0ZW0xNDI7IHR5cGVkZWYgUDE0MyBpdGVtMTQzOyB0eXBlZGVmIFAxNDQgaXRlbTE0NDsgdHlwZWRlZiBQMTQ1IGl0ZW0xNDU7IHR5cGVkZWYgUDE0NiBpdGVtMTQ2OyB0eXBlZGVmIFAxNDcgaXRlbTE0NzsgdHlwZWRlZiBQMTQ4IGl0ZW0xNDg7IHR5cGVkZWYgUDE0OSBpdGVtMTQ5OyB0eXBlZGVmIFAxNTAgaXRlbTE1MDsgdHlwZWRlZiBQMTUxIGl0ZW0xNTE7IHR5cGVkZWYgUDE1MiBpdGVtMTUyOyB0eXBlZGVmIFAxNTMgaXRlbTE1MzsgdHlwZWRlZiBQMTU0IGl0ZW0xNTQ7IHR5cGVkZWYgUDE1NSBpdGVtMTU1OyB0eXBlZGVmIFAxNTYgaXRlbTE1NjsgdHlwZWRlZiBQMTU3IGl0ZW0xNTc7IHR5cGVkZWYgUDE1OCBpdGVtMTU4OyB0eXBlZGVmIFAxNTkgaXRlbTE1OTsgdHlwZWRlZiBQMTYwIGl0ZW0xNjA7IHR5cGVkZWYgUDE2MSBpdGVtMTYxOyB0eXBlZGVmIFAxNjIgaXRlbTE2MjsgdHlwZWRlZiBQMTYzIGl0ZW0xNjM7IHR5cGVkZWYgUDE2NCBpdGVtMTY0OyB0eXBlZGVmIFAxNjUgaXRlbTE2NTsgdHlwZWRlZiBQMTY2IGl0ZW0xNjY7IHR5cGVkZWYgUDE2NyBpdGVtMTY3OyB0eXBlZGVmIFAxNjggaXRlbTE2ODsgdHlwZWRlZiBQMTY5IGl0ZW0xNjk7IHR5cGVkZWYgUDE3MCBpdGVtMTcwOyB0eXBlZGVmIFAxNzEgaXRlbTE3MTsgdHlwZWRlZiBQMTcyIGl0ZW0xNzI7IHR5cGVkZWYgUDE3MyBpdGVtMTczOyB0eXBlZGVmIFAxNzQgaXRlbTE3NDsgdHlwZWRlZiBQMTc1IGl0ZW0xNzU7IHR5cGVkZWYgUDE3NiBpdGVtMTc2OyB0eXBlZGVmIFAxNzcgaXRlbTE3NzsgdHlwZWRlZiBQMTc4IGl0ZW0xNzg7IHR5cGVkZWYgUDE3OSBpdGVtMTc5OyB0eXBlZGVmIFAxODAgaXRlbTE4MDsgdHlwZWRlZiBQMTgxIGl0ZW0xODE7IHR5cGVkZWYgUDE4MiBpdGVtMTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ5OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBQOTMgLCBjbGFzcyBQOTQgLCBjbGFzcyBQOTUgLCBjbGFzcyBQOTYgLCBjbGFzcyBQOTcgLCBjbGFzcyBQOTggLCBjbGFzcyBQOTkgLCBjbGFzcyBQMTAwICwgY2xhc3MgUDEwMSAsIGNsYXNzIFAxMDIgLCBjbGFzcyBQMTAzICwgY2xhc3MgUDEwNCAsIGNsYXNzIFAxMDUgLCBjbGFzcyBQMTA2ICwgY2xhc3MgUDEwNyAsIGNsYXNzIFAxMDggLCBjbGFzcyBQMTA5ICwgY2xhc3MgUDExMCAsIGNsYXNzIFAxMTEgLCBjbGFzcyBQMTEyICwgY2xhc3MgUDExMyAsIGNsYXNzIFAxMTQgLCBjbGFzcyBQMTE1ICwgY2xhc3MgUDExNiAsIGNsYXNzIFAxMTcgLCBjbGFzcyBQMTE4ICwgY2xhc3MgUDExOSAsIGNsYXNzIFAxMjAgLCBjbGFzcyBQMTIxICwgY2xhc3MgUDEyMiAsIGNsYXNzIFAxMjMgLCBjbGFzcyBQMTI0ICwgY2xhc3MgUDEyNSAsIGNsYXNzIFAxMjYgLCBjbGFzcyBQMTI3ICwgY2xhc3MgUDEyOCAsIGNsYXNzIFAxMjkgLCBjbGFzcyBQMTMwICwgY2xhc3MgUDEzMSAsIGNsYXNzIFAxMzIgLCBjbGFzcyBQMTMzICwgY2xhc3MgUDEzNCAsIGNsYXNzIFAxMzUgLCBjbGFzcyBQMTM2ICwgY2xhc3MgUDEzNyAsIGNsYXNzIFAxMzggLCBjbGFzcyBQMTM5ICwgY2xhc3MgUDE0MCAsIGNsYXNzIFAxNDEgLCBjbGFzcyBQMTQyICwgY2xhc3MgUDE0MyAsIGNsYXNzIFAxNDQgLCBjbGFzcyBQMTQ1ICwgY2xhc3MgUDE0NiAsIGNsYXNzIFAxNDcgLCBjbGFzcyBQMTQ4ICwgY2xhc3MgUDE0OSAsIGNsYXNzIFAxNTAgLCBjbGFzcyBQMTUxICwgY2xhc3MgUDE1MiAsIGNsYXNzIFAxNTMgLCBjbGFzcyBQMTU0ICwgY2xhc3MgUDE1NSAsIGNsYXNzIFAxNTYgLCBjbGFzcyBQMTU3ICwgY2xhc3MgUDE1OCAsIGNsYXNzIFAxNTkgLCBjbGFzcyBQMTYwICwgY2xhc3MgUDE2MSAsIGNsYXNzIFAxNjIgLCBjbGFzcyBQMTYzICwgY2xhc3MgUDE2NCAsIGNsYXNzIFAxNjUgLCBjbGFzcyBQMTY2ICwgY2xhc3MgUDE2NyAsIGNsYXNzIFAxNjggLCBjbGFzcyBQMTY5ICwgY2xhc3MgUDE3MCAsIGNsYXNzIFAxNzEgLCBjbGFzcyBQMTcyICwgY2xhc3MgUDE3MyAsIGNsYXNzIFAxNzQgLCBjbGFzcyBQMTc1ICwgY2xhc3MgUDE3NiAsIGNsYXNzIFAxNzcgLCBjbGFzcyBQMTc4ICwgY2xhc3MgUDE3OSAsIGNsYXNzIFAxODAgLCBjbGFzcyBQMTgxICwgY2xhc3MgUDE4MiAsIGNsYXNzIFAxODMgPiBzdHJ1Y3QgdmVjdG9yMTg0IHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yMTg0PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFA5MiAsIFA5MyAsIFA5NCAsIFA5NSAsIFA5NiAsIFA5NyAsIFA5OCAsIFA5OSAsIFAxMDAgLCBQMTAxICwgUDEwMiAsIFAxMDMgLCBQMTA0ICwgUDEwNSAsIFAxMDYgLCBQMTA3ICwgUDEwOCAsIFAxMDkgLCBQMTEwICwgUDExMSAsIFAxMTIgLCBQMTEzICwgUDExNCAsIFAxMTUgLCBQMTE2ICwgUDExNyAsIFAxMTggLCBQMTE5ICwgUDEyMCAsIFAxMjEgLCBQMTIyICwgUDEyMyAsIFAxMjQgLCBQMTI1ICwgUDEyNiAsIFAxMjcgLCBQMTI4ICwgUDEyOSAsIFAxMzAgLCBQMTMxICwgUDEzMiAsIFAxMzMgLCBQMTM0ICwgUDEzNSAsIFAxMzYgLCBQMTM3ICwgUDEzOCAsIFAxMzkgLCBQMTQwICwgUDE0MSAsIFAxNDIgLCBQMTQzICwgUDE0NCAsIFAxNDUgLCBQMTQ2ICwgUDE0NyAsIFAxNDggLCBQMTQ5ICwgUDE1MCAsIFAxNTEgLCBQMTUyICwgUDE1MyAsIFAxNTQgLCBQMTU1ICwgUDE1NiAsIFAxNTcgLCBQMTU4ICwgUDE1OSAsIFAxNjAgLCBQMTYxICwgUDE2MiAsIFAxNjMgLCBQMTY0ICwgUDE2NSAsIFAxNjYgLCBQMTY3ICwgUDE2OCAsIFAxNjkgLCBQMTcwICwgUDE3MSAsIFAxNzIgLCBQMTczICwgUDE3NCAsIFAxNzUgLCBQMTc2ICwgUDE3NyAsIFAxNzggLCBQMTc5ICwgUDE4MCAsIFAxODEgLCBQMTgyICwgUDE4Mz4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBQODggaXRlbTg4OyB0eXBlZGVmIFA4OSBpdGVtODk7IHR5cGVkZWYgUDkwIGl0ZW05MDsgdHlwZWRlZiBQOTEgaXRlbTkxOyB0eXBlZGVmIFA5MiBpdGVtOTI7IHR5cGVkZWYgUDkzIGl0ZW05MzsgdHlwZWRlZiBQOTQgaXRlbTk0OyB0eXBlZGVmIFA5NSBpdGVtOTU7IHR5cGVkZWYgUDk2IGl0ZW05NjsgdHlwZWRlZiBQOTcgaXRlbTk3OyB0eXBlZGVmIFA5OCBpdGVtOTg7IHR5cGVkZWYgUDk5IGl0ZW05OTsgdHlwZWRlZiBQMTAwIGl0ZW0xMDA7IHR5cGVkZWYgUDEwMSBpdGVtMTAxOyB0eXBlZGVmIFAxMDIgaXRlbTEwMjsgdHlwZWRlZiBQMTAzIGl0ZW0xMDM7IHR5cGVkZWYgUDEwNCBpdGVtMTA0OyB0eXBlZGVmIFAxMDUgaXRlbTEwNTsgdHlwZWRlZiBQMTA2IGl0ZW0xMDY7IHR5cGVkZWYgUDEwNyBpdGVtMTA3OyB0eXBlZGVmIFAxMDggaXRlbTEwODsgdHlwZWRlZiBQMTA5IGl0ZW0xMDk7IHR5cGVkZWYgUDExMCBpdGVtMTEwOyB0eXBlZGVmIFAxMTEgaXRlbTExMTsgdHlwZWRlZiBQMTEyIGl0ZW0xMTI7IHR5cGVkZWYgUDExMyBpdGVtMTEzOyB0eXBlZGVmIFAxMTQgaXRlbTExNDsgdHlwZWRlZiBQMTE1IGl0ZW0xMTU7IHR5cGVkZWYgUDExNiBpdGVtMTE2OyB0eXBlZGVmIFAxMTcgaXRlbTExNzsgdHlwZWRlZiBQMTE4IGl0ZW0xMTg7IHR5cGVkZWYgUDExOSBpdGVtMTE5OyB0eXBlZGVmIFAxMjAgaXRlbTEyMDsgdHlwZWRlZiBQMTIxIGl0ZW0xMjE7IHR5cGVkZWYgUDEyMiBpdGVtMTIyOyB0eXBlZGVmIFAxMjMgaXRlbTEyMzsgdHlwZWRlZiBQMTI0IGl0ZW0xMjQ7IHR5cGVkZWYgUDEyNSBpdGVtMTI1OyB0eXBlZGVmIFAxMjYgaXRlbTEyNjsgdHlwZWRlZiBQMTI3IGl0ZW0xMjc7IHR5cGVkZWYgUDEyOCBpdGVtMTI4OyB0eXBlZGVmIFAxMjkgaXRlbTEyOTsgdHlwZWRlZiBQMTMwIGl0ZW0xMzA7IHR5cGVkZWYgUDEzMSBpdGVtMTMxOyB0eXBlZGVmIFAxMzIgaXRlbTEzMjsgdHlwZWRlZiBQMTMzIGl0ZW0xMzM7IHR5cGVkZWYgUDEzNCBpdGVtMTM0OyB0eXBlZGVmIFAxMzUgaXRlbTEzNTsgdHlwZWRlZiBQMTM2IGl0ZW0xMzY7IHR5cGVkZWYgUDEzNyBpdGVtMTM3OyB0eXBlZGVmIFAxMzggaXRlbTEzODsgdHlwZWRlZiBQMTM5IGl0ZW0xMzk7IHR5cGVkZWYgUDE0MCBpdGVtMTQwOyB0eXBlZGVmIFAxNDEgaXRlbTE0MTsgdHlwZWRlZiBQMTQyIGl0ZW0xNDI7IHR5cGVkZWYgUDE0MyBpdGVtMTQzOyB0eXBlZGVmIFAxNDQgaXRlbTE0NDsgdHlwZWRlZiBQMTQ1IGl0ZW0xNDU7IHR5cGVkZWYgUDE0NiBpdGVtMTQ2OyB0eXBlZGVmIFAxNDcgaXRlbTE0NzsgdHlwZWRlZiBQMTQ4IGl0ZW0xNDg7IHR5cGVkZWYgUDE0OSBpdGVtMTQ5OyB0eXBlZGVmIFAxNTAgaXRlbTE1MDsgdHlwZWRlZiBQMTUxIGl0ZW0xNTE7IHR5cGVkZWYgUDE1MiBpdGVtMTUyOyB0eXBlZGVmIFAxNTMgaXRlbTE1MzsgdHlwZWRlZiBQMTU0IGl0ZW0xNTQ7IHR5cGVkZWYgUDE1NSBpdGVtMTU1OyB0eXBlZGVmIFAxNTYgaXRlbTE1NjsgdHlwZWRlZiBQMTU3IGl0ZW0xNTc7IHR5cGVkZWYgUDE1OCBpdGVtMTU4OyB0eXBlZGVmIFAxNTkgaXRlbTE1OTsgdHlwZWRlZiBQMTYwIGl0ZW0xNjA7IHR5cGVkZWYgUDE2MSBpdGVtMTYxOyB0eXBlZGVmIFAxNjIgaXRlbTE2MjsgdHlwZWRlZiBQMTYzIGl0ZW0xNjM7IHR5cGVkZWYgUDE2NCBpdGVtMTY0OyB0eXBlZGVmIFAxNjUgaXRlbTE2NTsgdHlwZWRlZiBQMTY2IGl0ZW0xNjY7IHR5cGVkZWYgUDE2NyBpdGVtMTY3OyB0eXBlZGVmIFAxNjggaXRlbTE2ODsgdHlwZWRlZiBQMTY5IGl0ZW0xNjk7IHR5cGVkZWYgUDE3MCBpdGVtMTcwOyB0eXBlZGVmIFAxNzEgaXRlbTE3MTsgdHlwZWRlZiBQMTcyIGl0ZW0xNzI7IHR5cGVkZWYgUDE3MyBpdGVtMTczOyB0eXBlZGVmIFAxNzQgaXRlbTE3NDsgdHlwZWRlZiBQMTc1IGl0ZW0xNzU7IHR5cGVkZWYgUDE3NiBpdGVtMTc2OyB0eXBlZGVmIFAxNzcgaXRlbTE3NzsgdHlwZWRlZiBQMTc4IGl0ZW0xNzg7IHR5cGVkZWYgUDE3OSBpdGVtMTc5OyB0eXBlZGVmIFAxODAgaXRlbTE4MDsgdHlwZWRlZiBQMTgxIGl0ZW0xODE7IHR5cGVkZWYgUDE4MiBpdGVtMTgyOyB0eXBlZGVmIFAxODMgaXRlbTE4MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0OTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ICwgY2xhc3MgUDk2ICwgY2xhc3MgUDk3ICwgY2xhc3MgUDk4ICwgY2xhc3MgUDk5ICwgY2xhc3MgUDEwMCAsIGNsYXNzIFAxMDEgLCBjbGFzcyBQMTAyICwgY2xhc3MgUDEwMyAsIGNsYXNzIFAxMDQgLCBjbGFzcyBQMTA1ICwgY2xhc3MgUDEwNiAsIGNsYXNzIFAxMDcgLCBjbGFzcyBQMTA4ICwgY2xhc3MgUDEwOSAsIGNsYXNzIFAxMTAgLCBjbGFzcyBQMTExICwgY2xhc3MgUDExMiAsIGNsYXNzIFAxMTMgLCBjbGFzcyBQMTE0ICwgY2xhc3MgUDExNSAsIGNsYXNzIFAxMTYgLCBjbGFzcyBQMTE3ICwgY2xhc3MgUDExOCAsIGNsYXNzIFAxMTkgLCBjbGFzcyBQMTIwICwgY2xhc3MgUDEyMSAsIGNsYXNzIFAxMjIgLCBjbGFzcyBQMTIzICwgY2xhc3MgUDEyNCAsIGNsYXNzIFAxMjUgLCBjbGFzcyBQMTI2ICwgY2xhc3MgUDEyNyAsIGNsYXNzIFAxMjggLCBjbGFzcyBQMTI5ICwgY2xhc3MgUDEzMCAsIGNsYXNzIFAxMzEgLCBjbGFzcyBQMTMyICwgY2xhc3MgUDEzMyAsIGNsYXNzIFAxMzQgLCBjbGFzcyBQMTM1ICwgY2xhc3MgUDEzNiAsIGNsYXNzIFAxMzcgLCBjbGFzcyBQMTM4ICwgY2xhc3MgUDEzOSAsIGNsYXNzIFAxNDAgLCBjbGFzcyBQMTQxICwgY2xhc3MgUDE0MiAsIGNsYXNzIFAxNDMgLCBjbGFzcyBQMTQ0ICwgY2xhc3MgUDE0NSAsIGNsYXNzIFAxNDYgLCBjbGFzcyBQMTQ3ICwgY2xhc3MgUDE0OCAsIGNsYXNzIFAxNDkgLCBjbGFzcyBQMTUwICwgY2xhc3MgUDE1MSAsIGNsYXNzIFAxNTIgLCBjbGFzcyBQMTUzICwgY2xhc3MgUDE1NCAsIGNsYXNzIFAxNTUgLCBjbGFzcyBQMTU2ICwgY2xhc3MgUDE1NyAsIGNsYXNzIFAxNTggLCBjbGFzcyBQMTU5ICwgY2xhc3MgUDE2MCAsIGNsYXNzIFAxNjEgLCBjbGFzcyBQMTYyICwgY2xhc3MgUDE2MyAsIGNsYXNzIFAxNjQgLCBjbGFzcyBQMTY1ICwgY2xhc3MgUDE2NiAsIGNsYXNzIFAxNjcgLCBjbGFzcyBQMTY4ICwgY2xhc3MgUDE2OSAsIGNsYXNzIFAxNzAgLCBjbGFzcyBQMTcxICwgY2xhc3MgUDE3MiAsIGNsYXNzIFAxNzMgLCBjbGFzcyBQMTc0ICwgY2xhc3MgUDE3NSAsIGNsYXNzIFAxNzYgLCBjbGFzcyBQMTc3ICwgY2xhc3MgUDE3OCAsIGNsYXNzIFAxNzkgLCBjbGFzcyBQMTgwICwgY2xhc3MgUDE4MSAsIGNsYXNzIFAxODIgLCBjbGFzcyBQMTgzICwgY2xhc3MgUDE4NCA+IHN0cnVjdCB2ZWN0b3IxODUgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3IxODU8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1ICwgUDk2ICwgUDk3ICwgUDk4ICwgUDk5ICwgUDEwMCAsIFAxMDEgLCBQMTAyICwgUDEwMyAsIFAxMDQgLCBQMTA1ICwgUDEwNiAsIFAxMDcgLCBQMTA4ICwgUDEwOSAsIFAxMTAgLCBQMTExICwgUDExMiAsIFAxMTMgLCBQMTE0ICwgUDExNSAsIFAxMTYgLCBQMTE3ICwgUDExOCAsIFAxMTkgLCBQMTIwICwgUDEyMSAsIFAxMjIgLCBQMTIzICwgUDEyNCAsIFAxMjUgLCBQMTI2ICwgUDEyNyAsIFAxMjggLCBQMTI5ICwgUDEzMCAsIFAxMzEgLCBQMTMyICwgUDEzMyAsIFAxMzQgLCBQMTM1ICwgUDEzNiAsIFAxMzcgLCBQMTM4ICwgUDEzOSAsIFAxNDAgLCBQMTQxICwgUDE0MiAsIFAxNDMgLCBQMTQ0ICwgUDE0NSAsIFAxNDYgLCBQMTQ3ICwgUDE0OCAsIFAxNDkgLCBQMTUwICwgUDE1MSAsIFAxNTIgLCBQMTUzICwgUDE1NCAsIFAxNTUgLCBQMTU2ICwgUDE1NyAsIFAxNTggLCBQMTU5ICwgUDE2MCAsIFAxNjEgLCBQMTYyICwgUDE2MyAsIFAxNjQgLCBQMTY1ICwgUDE2NiAsIFAxNjcgLCBQMTY4ICwgUDE2OSAsIFAxNzAgLCBQMTcxICwgUDE3MiAsIFAxNzMgLCBQMTc0ICwgUDE3NSAsIFAxNzYgLCBQMTc3ICwgUDE3OCAsIFAxNzkgLCBQMTgwICwgUDE4MSAsIFAxODIgLCBQMTgzICwgUDE4ND4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBQODggaXRlbTg4OyB0eXBlZGVmIFA4OSBpdGVtODk7IHR5cGVkZWYgUDkwIGl0ZW05MDsgdHlwZWRlZiBQOTEgaXRlbTkxOyB0eXBlZGVmIFA5MiBpdGVtOTI7IHR5cGVkZWYgUDkzIGl0ZW05MzsgdHlwZWRlZiBQOTQgaXRlbTk0OyB0eXBlZGVmIFA5NSBpdGVtOTU7IHR5cGVkZWYgUDk2IGl0ZW05NjsgdHlwZWRlZiBQOTcgaXRlbTk3OyB0eXBlZGVmIFA5OCBpdGVtOTg7IHR5cGVkZWYgUDk5IGl0ZW05OTsgdHlwZWRlZiBQMTAwIGl0ZW0xMDA7IHR5cGVkZWYgUDEwMSBpdGVtMTAxOyB0eXBlZGVmIFAxMDIgaXRlbTEwMjsgdHlwZWRlZiBQMTAzIGl0ZW0xMDM7IHR5cGVkZWYgUDEwNCBpdGVtMTA0OyB0eXBlZGVmIFAxMDUgaXRlbTEwNTsgdHlwZWRlZiBQMTA2IGl0ZW0xMDY7IHR5cGVkZWYgUDEwNyBpdGVtMTA3OyB0eXBlZGVmIFAxMDggaXRlbTEwODsgdHlwZWRlZiBQMTA5IGl0ZW0xMDk7IHR5cGVkZWYgUDExMCBpdGVtMTEwOyB0eXBlZGVmIFAxMTEgaXRlbTExMTsgdHlwZWRlZiBQMTEyIGl0ZW0xMTI7IHR5cGVkZWYgUDExMyBpdGVtMTEzOyB0eXBlZGVmIFAxMTQgaXRlbTExNDsgdHlwZWRlZiBQMTE1IGl0ZW0xMTU7IHR5cGVkZWYgUDExNiBpdGVtMTE2OyB0eXBlZGVmIFAxMTcgaXRlbTExNzsgdHlwZWRlZiBQMTE4IGl0ZW0xMTg7IHR5cGVkZWYgUDExOSBpdGVtMTE5OyB0eXBlZGVmIFAxMjAgaXRlbTEyMDsgdHlwZWRlZiBQMTIxIGl0ZW0xMjE7IHR5cGVkZWYgUDEyMiBpdGVtMTIyOyB0eXBlZGVmIFAxMjMgaXRlbTEyMzsgdHlwZWRlZiBQMTI0IGl0ZW0xMjQ7IHR5cGVkZWYgUDEyNSBpdGVtMTI1OyB0eXBlZGVmIFAxMjYgaXRlbTEyNjsgdHlwZWRlZiBQMTI3IGl0ZW0xMjc7IHR5cGVkZWYgUDEyOCBpdGVtMTI4OyB0eXBlZGVmIFAxMjkgaXRlbTEyOTsgdHlwZWRlZiBQMTMwIGl0ZW0xMzA7IHR5cGVkZWYgUDEzMSBpdGVtMTMxOyB0eXBlZGVmIFAxMzIgaXRlbTEzMjsgdHlwZWRlZiBQMTMzIGl0ZW0xMzM7IHR5cGVkZWYgUDEzNCBpdGVtMTM0OyB0eXBlZGVmIFAxMzUgaXRlbTEzNTsgdHlwZWRlZiBQMTM2IGl0ZW0xMzY7IHR5cGVkZWYgUDEzNyBpdGVtMTM3OyB0eXBlZGVmIFAxMzggaXRlbTEzODsgdHlwZWRlZiBQMTM5IGl0ZW0xMzk7IHR5cGVkZWYgUDE0MCBpdGVtMTQwOyB0eXBlZGVmIFAxNDEgaXRlbTE0MTsgdHlwZWRlZiBQMTQyIGl0ZW0xNDI7IHR5cGVkZWYgUDE0MyBpdGVtMTQzOyB0eXBlZGVmIFAxNDQgaXRlbTE0NDsgdHlwZWRlZiBQMTQ1IGl0ZW0xNDU7IHR5cGVkZWYgUDE0NiBpdGVtMTQ2OyB0eXBlZGVmIFAxNDcgaXRlbTE0NzsgdHlwZWRlZiBQMTQ4IGl0ZW0xNDg7IHR5cGVkZWYgUDE0OSBpdGVtMTQ5OyB0eXBlZGVmIFAxNTAgaXRlbTE1MDsgdHlwZWRlZiBQMTUxIGl0ZW0xNTE7IHR5cGVkZWYgUDE1MiBpdGVtMTUyOyB0eXBlZGVmIFAxNTMgaXRlbTE1MzsgdHlwZWRlZiBQMTU0IGl0ZW0xNTQ7IHR5cGVkZWYgUDE1NSBpdGVtMTU1OyB0eXBlZGVmIFAxNTYgaXRlbTE1NjsgdHlwZWRlZiBQMTU3IGl0ZW0xNTc7IHR5cGVkZWYgUDE1OCBpdGVtMTU4OyB0eXBlZGVmIFAxNTkgaXRlbTE1OTsgdHlwZWRlZiBQMTYwIGl0ZW0xNjA7IHR5cGVkZWYgUDE2MSBpdGVtMTYxOyB0eXBlZGVmIFAxNjIgaXRlbTE2MjsgdHlwZWRlZiBQMTYzIGl0ZW0xNjM7IHR5cGVkZWYgUDE2NCBpdGVtMTY0OyB0eXBlZGVmIFAxNjUgaXRlbTE2NTsgdHlwZWRlZiBQMTY2IGl0ZW0xNjY7IHR5cGVkZWYgUDE2NyBpdGVtMTY3OyB0eXBlZGVmIFAxNjggaXRlbTE2ODsgdHlwZWRlZiBQMTY5IGl0ZW0xNjk7IHR5cGVkZWYgUDE3MCBpdGVtMTcwOyB0eXBlZGVmIFAxNzEgaXRlbTE3MTsgdHlwZWRlZiBQMTcyIGl0ZW0xNzI7IHR5cGVkZWYgUDE3MyBpdGVtMTczOyB0eXBlZGVmIFAxNzQgaXRlbTE3NDsgdHlwZWRlZiBQMTc1IGl0ZW0xNzU7IHR5cGVkZWYgUDE3NiBpdGVtMTc2OyB0eXBlZGVmIFAxNzcgaXRlbTE3NzsgdHlwZWRlZiBQMTc4IGl0ZW0xNzg7IHR5cGVkZWYgUDE3OSBpdGVtMTc5OyB0eXBlZGVmIFAxODAgaXRlbTE4MDsgdHlwZWRlZiBQMTgxIGl0ZW0xODE7IHR5cGVkZWYgUDE4MiBpdGVtMTgyOyB0eXBlZGVmIFAxODMgaXRlbTE4MzsgdHlwZWRlZiBQMTg0IGl0ZW0xODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDk7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSAsIGNsYXNzIFA4NiAsIGNsYXNzIFA4NyAsIGNsYXNzIFA4OCAsIGNsYXNzIFA4OSAsIGNsYXNzIFA5MCAsIGNsYXNzIFA5MSAsIGNsYXNzIFA5MiAsIGNsYXNzIFA5MyAsIGNsYXNzIFA5NCAsIGNsYXNzIFA5NSAsIGNsYXNzIFA5NiAsIGNsYXNzIFA5NyAsIGNsYXNzIFA5OCAsIGNsYXNzIFA5OSAsIGNsYXNzIFAxMDAgLCBjbGFzcyBQMTAxICwgY2xhc3MgUDEwMiAsIGNsYXNzIFAxMDMgLCBjbGFzcyBQMTA0ICwgY2xhc3MgUDEwNSAsIGNsYXNzIFAxMDYgLCBjbGFzcyBQMTA3ICwgY2xhc3MgUDEwOCAsIGNsYXNzIFAxMDkgLCBjbGFzcyBQMTEwICwgY2xhc3MgUDExMSAsIGNsYXNzIFAxMTIgLCBjbGFzcyBQMTEzICwgY2xhc3MgUDExNCAsIGNsYXNzIFAxMTUgLCBjbGFzcyBQMTE2ICwgY2xhc3MgUDExNyAsIGNsYXNzIFAxMTggLCBjbGFzcyBQMTE5ICwgY2xhc3MgUDEyMCAsIGNsYXNzIFAxMjEgLCBjbGFzcyBQMTIyICwgY2xhc3MgUDEyMyAsIGNsYXNzIFAxMjQgLCBjbGFzcyBQMTI1ICwgY2xhc3MgUDEyNiAsIGNsYXNzIFAxMjcgLCBjbGFzcyBQMTI4ICwgY2xhc3MgUDEyOSAsIGNsYXNzIFAxMzAgLCBjbGFzcyBQMTMxICwgY2xhc3MgUDEzMiAsIGNsYXNzIFAxMzMgLCBjbGFzcyBQMTM0ICwgY2xhc3MgUDEzNSAsIGNsYXNzIFAxMzYgLCBjbGFzcyBQMTM3ICwgY2xhc3MgUDEzOCAsIGNsYXNzIFAxMzkgLCBjbGFzcyBQMTQwICwgY2xhc3MgUDE0MSAsIGNsYXNzIFAxNDIgLCBjbGFzcyBQMTQzICwgY2xhc3MgUDE0NCAsIGNsYXNzIFAxNDUgLCBjbGFzcyBQMTQ2ICwgY2xhc3MgUDE0NyAsIGNsYXNzIFAxNDggLCBjbGFzcyBQMTQ5ICwgY2xhc3MgUDE1MCAsIGNsYXNzIFAxNTEgLCBjbGFzcyBQMTUyICwgY2xhc3MgUDE1MyAsIGNsYXNzIFAxNTQgLCBjbGFzcyBQMTU1ICwgY2xhc3MgUDE1NiAsIGNsYXNzIFAxNTcgLCBjbGFzcyBQMTU4ICwgY2xhc3MgUDE1OSAsIGNsYXNzIFAxNjAgLCBjbGFzcyBQMTYxICwgY2xhc3MgUDE2MiAsIGNsYXNzIFAxNjMgLCBjbGFzcyBQMTY0ICwgY2xhc3MgUDE2NSAsIGNsYXNzIFAxNjYgLCBjbGFzcyBQMTY3ICwgY2xhc3MgUDE2OCAsIGNsYXNzIFAxNjkgLCBjbGFzcyBQMTcwICwgY2xhc3MgUDE3MSAsIGNsYXNzIFAxNzIgLCBjbGFzcyBQMTczICwgY2xhc3MgUDE3NCAsIGNsYXNzIFAxNzUgLCBjbGFzcyBQMTc2ICwgY2xhc3MgUDE3NyAsIGNsYXNzIFAxNzggLCBjbGFzcyBQMTc5ICwgY2xhc3MgUDE4MCAsIGNsYXNzIFAxODEgLCBjbGFzcyBQMTgyICwgY2xhc3MgUDE4MyAsIGNsYXNzIFAxODQgLCBjbGFzcyBQMTg1ID4gc3RydWN0IHZlY3RvcjE4NiB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjE4NjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MCAsIFAxNDEgLCBQMTQyICwgUDE0MyAsIFAxNDQgLCBQMTQ1ICwgUDE0NiAsIFAxNDcgLCBQMTQ4ICwgUDE0OSAsIFAxNTAgLCBQMTUxICwgUDE1MiAsIFAxNTMgLCBQMTU0ICwgUDE1NSAsIFAxNTYgLCBQMTU3ICwgUDE1OCAsIFAxNTkgLCBQMTYwICwgUDE2MSAsIFAxNjIgLCBQMTYzICwgUDE2NCAsIFAxNjUgLCBQMTY2ICwgUDE2NyAsIFAxNjggLCBQMTY5ICwgUDE3MCAsIFAxNzEgLCBQMTcyICwgUDE3MyAsIFAxNzQgLCBQMTc1ICwgUDE3NiAsIFAxNzcgLCBQMTc4ICwgUDE3OSAsIFAxODAgLCBQMTgxICwgUDE4MiAsIFAxODMgLCBQMTg0ICwgUDE4NT4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBQODggaXRlbTg4OyB0eXBlZGVmIFA4OSBpdGVtODk7IHR5cGVkZWYgUDkwIGl0ZW05MDsgdHlwZWRlZiBQOTEgaXRlbTkxOyB0eXBlZGVmIFA5MiBpdGVtOTI7IHR5cGVkZWYgUDkzIGl0ZW05MzsgdHlwZWRlZiBQOTQgaXRlbTk0OyB0eXBlZGVmIFA5NSBpdGVtOTU7IHR5cGVkZWYgUDk2IGl0ZW05NjsgdHlwZWRlZiBQOTcgaXRlbTk3OyB0eXBlZGVmIFA5OCBpdGVtOTg7IHR5cGVkZWYgUDk5IGl0ZW05OTsgdHlwZWRlZiBQMTAwIGl0ZW0xMDA7IHR5cGVkZWYgUDEwMSBpdGVtMTAxOyB0eXBlZGVmIFAxMDIgaXRlbTEwMjsgdHlwZWRlZiBQMTAzIGl0ZW0xMDM7IHR5cGVkZWYgUDEwNCBpdGVtMTA0OyB0eXBlZGVmIFAxMDUgaXRlbTEwNTsgdHlwZWRlZiBQMTA2IGl0ZW0xMDY7IHR5cGVkZWYgUDEwNyBpdGVtMTA3OyB0eXBlZGVmIFAxMDggaXRlbTEwODsgdHlwZWRlZiBQMTA5IGl0ZW0xMDk7IHR5cGVkZWYgUDExMCBpdGVtMTEwOyB0eXBlZGVmIFAxMTEgaXRlbTExMTsgdHlwZWRlZiBQMTEyIGl0ZW0xMTI7IHR5cGVkZWYgUDExMyBpdGVtMTEzOyB0eXBlZGVmIFAxMTQgaXRlbTExNDsgdHlwZWRlZiBQMTE1IGl0ZW0xMTU7IHR5cGVkZWYgUDExNiBpdGVtMTE2OyB0eXBlZGVmIFAxMTcgaXRlbTExNzsgdHlwZWRlZiBQMTE4IGl0ZW0xMTg7IHR5cGVkZWYgUDExOSBpdGVtMTE5OyB0eXBlZGVmIFAxMjAgaXRlbTEyMDsgdHlwZWRlZiBQMTIxIGl0ZW0xMjE7IHR5cGVkZWYgUDEyMiBpdGVtMTIyOyB0eXBlZGVmIFAxMjMgaXRlbTEyMzsgdHlwZWRlZiBQMTI0IGl0ZW0xMjQ7IHR5cGVkZWYgUDEyNSBpdGVtMTI1OyB0eXBlZGVmIFAxMjYgaXRlbTEyNjsgdHlwZWRlZiBQMTI3IGl0ZW0xMjc7IHR5cGVkZWYgUDEyOCBpdGVtMTI4OyB0eXBlZGVmIFAxMjkgaXRlbTEyOTsgdHlwZWRlZiBQMTMwIGl0ZW0xMzA7IHR5cGVkZWYgUDEzMSBpdGVtMTMxOyB0eXBlZGVmIFAxMzIgaXRlbTEzMjsgdHlwZWRlZiBQMTMzIGl0ZW0xMzM7IHR5cGVkZWYgUDEzNCBpdGVtMTM0OyB0eXBlZGVmIFAxMzUgaXRlbTEzNTsgdHlwZWRlZiBQMTM2IGl0ZW0xMzY7IHR5cGVkZWYgUDEzNyBpdGVtMTM3OyB0eXBlZGVmIFAxMzggaXRlbTEzODsgdHlwZWRlZiBQMTM5IGl0ZW0xMzk7IHR5cGVkZWYgUDE0MCBpdGVtMTQwOyB0eXBlZGVmIFAxNDEgaXRlbTE0MTsgdHlwZWRlZiBQMTQyIGl0ZW0xNDI7IHR5cGVkZWYgUDE0MyBpdGVtMTQzOyB0eXBlZGVmIFAxNDQgaXRlbTE0NDsgdHlwZWRlZiBQMTQ1IGl0ZW0xNDU7IHR5cGVkZWYgUDE0NiBpdGVtMTQ2OyB0eXBlZGVmIFAxNDcgaXRlbTE0NzsgdHlwZWRlZiBQMTQ4IGl0ZW0xNDg7IHR5cGVkZWYgUDE0OSBpdGVtMTQ5OyB0eXBlZGVmIFAxNTAgaXRlbTE1MDsgdHlwZWRlZiBQMTUxIGl0ZW0xNTE7IHR5cGVkZWYgUDE1MiBpdGVtMTUyOyB0eXBlZGVmIFAxNTMgaXRlbTE1MzsgdHlwZWRlZiBQMTU0IGl0ZW0xNTQ7IHR5cGVkZWYgUDE1NSBpdGVtMTU1OyB0eXBlZGVmIFAxNTYgaXRlbTE1NjsgdHlwZWRlZiBQMTU3IGl0ZW0xNTc7IHR5cGVkZWYgUDE1OCBpdGVtMTU4OyB0eXBlZGVmIFAxNTkgaXRlbTE1OTsgdHlwZWRlZiBQMTYwIGl0ZW0xNjA7IHR5cGVkZWYgUDE2MSBpdGVtMTYxOyB0eXBlZGVmIFAxNjIgaXRlbTE2MjsgdHlwZWRlZiBQMTYzIGl0ZW0xNjM7IHR5cGVkZWYgUDE2NCBpdGVtMTY0OyB0eXBlZGVmIFAxNjUgaXRlbTE2NTsgdHlwZWRlZiBQMTY2IGl0ZW0xNjY7IHR5cGVkZWYgUDE2NyBpdGVtMTY3OyB0eXBlZGVmIFAxNjggaXRlbTE2ODsgdHlwZWRlZiBQMTY5IGl0ZW0xNjk7IHR5cGVkZWYgUDE3MCBpdGVtMTcwOyB0eXBlZGVmIFAxNzEgaXRlbTE3MTsgdHlwZWRlZiBQMTcyIGl0ZW0xNzI7IHR5cGVkZWYgUDE3MyBpdGVtMTczOyB0eXBlZGVmIFAxNzQgaXRlbTE3NDsgdHlwZWRlZiBQMTc1IGl0ZW0xNzU7IHR5cGVkZWYgUDE3NiBpdGVtMTc2OyB0eXBlZGVmIFAxNzcgaXRlbTE3NzsgdHlwZWRlZiBQMTc4IGl0ZW0xNzg7IHR5cGVkZWYgUDE3OSBpdGVtMTc5OyB0eXBlZGVmIFAxODAgaXRlbTE4MDsgdHlwZWRlZiBQMTgxIGl0ZW0xODE7IHR5cGVkZWYgUDE4MiBpdGVtMTgyOyB0eXBlZGVmIFAxODMgaXRlbTE4MzsgdHlwZWRlZiBQMTg0IGl0ZW0xODQ7IHR5cGVkZWYgUDE4NSBpdGVtMTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ5OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBQOTMgLCBjbGFzcyBQOTQgLCBjbGFzcyBQOTUgLCBjbGFzcyBQOTYgLCBjbGFzcyBQOTcgLCBjbGFzcyBQOTggLCBjbGFzcyBQOTkgLCBjbGFzcyBQMTAwICwgY2xhc3MgUDEwMSAsIGNsYXNzIFAxMDIgLCBjbGFzcyBQMTAzICwgY2xhc3MgUDEwNCAsIGNsYXNzIFAxMDUgLCBjbGFzcyBQMTA2ICwgY2xhc3MgUDEwNyAsIGNsYXNzIFAxMDggLCBjbGFzcyBQMTA5ICwgY2xhc3MgUDExMCAsIGNsYXNzIFAxMTEgLCBjbGFzcyBQMTEyICwgY2xhc3MgUDExMyAsIGNsYXNzIFAxMTQgLCBjbGFzcyBQMTE1ICwgY2xhc3MgUDExNiAsIGNsYXNzIFAxMTcgLCBjbGFzcyBQMTE4ICwgY2xhc3MgUDExOSAsIGNsYXNzIFAxMjAgLCBjbGFzcyBQMTIxICwgY2xhc3MgUDEyMiAsIGNsYXNzIFAxMjMgLCBjbGFzcyBQMTI0ICwgY2xhc3MgUDEyNSAsIGNsYXNzIFAxMjYgLCBjbGFzcyBQMTI3ICwgY2xhc3MgUDEyOCAsIGNsYXNzIFAxMjkgLCBjbGFzcyBQMTMwICwgY2xhc3MgUDEzMSAsIGNsYXNzIFAxMzIgLCBjbGFzcyBQMTMzICwgY2xhc3MgUDEzNCAsIGNsYXNzIFAxMzUgLCBjbGFzcyBQMTM2ICwgY2xhc3MgUDEzNyAsIGNsYXNzIFAxMzggLCBjbGFzcyBQMTM5ICwgY2xhc3MgUDE0MCAsIGNsYXNzIFAxNDEgLCBjbGFzcyBQMTQyICwgY2xhc3MgUDE0MyAsIGNsYXNzIFAxNDQgLCBjbGFzcyBQMTQ1ICwgY2xhc3MgUDE0NiAsIGNsYXNzIFAxNDcgLCBjbGFzcyBQMTQ4ICwgY2xhc3MgUDE0OSAsIGNsYXNzIFAxNTAgLCBjbGFzcyBQMTUxICwgY2xhc3MgUDE1MiAsIGNsYXNzIFAxNTMgLCBjbGFzcyBQMTU0ICwgY2xhc3MgUDE1NSAsIGNsYXNzIFAxNTYgLCBjbGFzcyBQMTU3ICwgY2xhc3MgUDE1OCAsIGNsYXNzIFAxNTkgLCBjbGFzcyBQMTYwICwgY2xhc3MgUDE2MSAsIGNsYXNzIFAxNjIgLCBjbGFzcyBQMTYzICwgY2xhc3MgUDE2NCAsIGNsYXNzIFAxNjUgLCBjbGFzcyBQMTY2ICwgY2xhc3MgUDE2NyAsIGNsYXNzIFAxNjggLCBjbGFzcyBQMTY5ICwgY2xhc3MgUDE3MCAsIGNsYXNzIFAxNzEgLCBjbGFzcyBQMTcyICwgY2xhc3MgUDE3MyAsIGNsYXNzIFAxNzQgLCBjbGFzcyBQMTc1ICwgY2xhc3MgUDE3NiAsIGNsYXNzIFAxNzcgLCBjbGFzcyBQMTc4ICwgY2xhc3MgUDE3OSAsIGNsYXNzIFAxODAgLCBjbGFzcyBQMTgxICwgY2xhc3MgUDE4MiAsIGNsYXNzIFAxODMgLCBjbGFzcyBQMTg0ICwgY2xhc3MgUDE4NSAsIGNsYXNzIFAxODYgPiBzdHJ1Y3QgdmVjdG9yMTg3IHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yMTg3PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFA5MiAsIFA5MyAsIFA5NCAsIFA5NSAsIFA5NiAsIFA5NyAsIFA5OCAsIFA5OSAsIFAxMDAgLCBQMTAxICwgUDEwMiAsIFAxMDMgLCBQMTA0ICwgUDEwNSAsIFAxMDYgLCBQMTA3ICwgUDEwOCAsIFAxMDkgLCBQMTEwICwgUDExMSAsIFAxMTIgLCBQMTEzICwgUDExNCAsIFAxMTUgLCBQMTE2ICwgUDExNyAsIFAxMTggLCBQMTE5ICwgUDEyMCAsIFAxMjEgLCBQMTIyICwgUDEyMyAsIFAxMjQgLCBQMTI1ICwgUDEyNiAsIFAxMjcgLCBQMTI4ICwgUDEyOSAsIFAxMzAgLCBQMTMxICwgUDEzMiAsIFAxMzMgLCBQMTM0ICwgUDEzNSAsIFAxMzYgLCBQMTM3ICwgUDEzOCAsIFAxMzkgLCBQMTQwICwgUDE0MSAsIFAxNDIgLCBQMTQzICwgUDE0NCAsIFAxNDUgLCBQMTQ2ICwgUDE0NyAsIFAxNDggLCBQMTQ5ICwgUDE1MCAsIFAxNTEgLCBQMTUyICwgUDE1MyAsIFAxNTQgLCBQMTU1ICwgUDE1NiAsIFAxNTcgLCBQMTU4ICwgUDE1OSAsIFAxNjAgLCBQMTYxICwgUDE2MiAsIFAxNjMgLCBQMTY0ICwgUDE2NSAsIFAxNjYgLCBQMTY3ICwgUDE2OCAsIFAxNjkgLCBQMTcwICwgUDE3MSAsIFAxNzIgLCBQMTczICwgUDE3NCAsIFAxNzUgLCBQMTc2ICwgUDE3NyAsIFAxNzggLCBQMTc5ICwgUDE4MCAsIFAxODEgLCBQMTgyICwgUDE4MyAsIFAxODQgLCBQMTg1ICwgUDE4Nj4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBQODggaXRlbTg4OyB0eXBlZGVmIFA4OSBpdGVtODk7IHR5cGVkZWYgUDkwIGl0ZW05MDsgdHlwZWRlZiBQOTEgaXRlbTkxOyB0eXBlZGVmIFA5MiBpdGVtOTI7IHR5cGVkZWYgUDkzIGl0ZW05MzsgdHlwZWRlZiBQOTQgaXRlbTk0OyB0eXBlZGVmIFA5NSBpdGVtOTU7IHR5cGVkZWYgUDk2IGl0ZW05NjsgdHlwZWRlZiBQOTcgaXRlbTk3OyB0eXBlZGVmIFA5OCBpdGVtOTg7IHR5cGVkZWYgUDk5IGl0ZW05OTsgdHlwZWRlZiBQMTAwIGl0ZW0xMDA7IHR5cGVkZWYgUDEwMSBpdGVtMTAxOyB0eXBlZGVmIFAxMDIgaXRlbTEwMjsgdHlwZWRlZiBQMTAzIGl0ZW0xMDM7IHR5cGVkZWYgUDEwNCBpdGVtMTA0OyB0eXBlZGVmIFAxMDUgaXRlbTEwNTsgdHlwZWRlZiBQMTA2IGl0ZW0xMDY7IHR5cGVkZWYgUDEwNyBpdGVtMTA3OyB0eXBlZGVmIFAxMDggaXRlbTEwODsgdHlwZWRlZiBQMTA5IGl0ZW0xMDk7IHR5cGVkZWYgUDExMCBpdGVtMTEwOyB0eXBlZGVmIFAxMTEgaXRlbTExMTsgdHlwZWRlZiBQMTEyIGl0ZW0xMTI7IHR5cGVkZWYgUDExMyBpdGVtMTEzOyB0eXBlZGVmIFAxMTQgaXRlbTExNDsgdHlwZWRlZiBQMTE1IGl0ZW0xMTU7IHR5cGVkZWYgUDExNiBpdGVtMTE2OyB0eXBlZGVmIFAxMTcgaXRlbTExNzsgdHlwZWRlZiBQMTE4IGl0ZW0xMTg7IHR5cGVkZWYgUDExOSBpdGVtMTE5OyB0eXBlZGVmIFAxMjAgaXRlbTEyMDsgdHlwZWRlZiBQMTIxIGl0ZW0xMjE7IHR5cGVkZWYgUDEyMiBpdGVtMTIyOyB0eXBlZGVmIFAxMjMgaXRlbTEyMzsgdHlwZWRlZiBQMTI0IGl0ZW0xMjQ7IHR5cGVkZWYgUDEyNSBpdGVtMTI1OyB0eXBlZGVmIFAxMjYgaXRlbTEyNjsgdHlwZWRlZiBQMTI3IGl0ZW0xMjc7IHR5cGVkZWYgUDEyOCBpdGVtMTI4OyB0eXBlZGVmIFAxMjkgaXRlbTEyOTsgdHlwZWRlZiBQMTMwIGl0ZW0xMzA7IHR5cGVkZWYgUDEzMSBpdGVtMTMxOyB0eXBlZGVmIFAxMzIgaXRlbTEzMjsgdHlwZWRlZiBQMTMzIGl0ZW0xMzM7IHR5cGVkZWYgUDEzNCBpdGVtMTM0OyB0eXBlZGVmIFAxMzUgaXRlbTEzNTsgdHlwZWRlZiBQMTM2IGl0ZW0xMzY7IHR5cGVkZWYgUDEzNyBpdGVtMTM3OyB0eXBlZGVmIFAxMzggaXRlbTEzODsgdHlwZWRlZiBQMTM5IGl0ZW0xMzk7IHR5cGVkZWYgUDE0MCBpdGVtMTQwOyB0eXBlZGVmIFAxNDEgaXRlbTE0MTsgdHlwZWRlZiBQMTQyIGl0ZW0xNDI7IHR5cGVkZWYgUDE0MyBpdGVtMTQzOyB0eXBlZGVmIFAxNDQgaXRlbTE0NDsgdHlwZWRlZiBQMTQ1IGl0ZW0xNDU7IHR5cGVkZWYgUDE0NiBpdGVtMTQ2OyB0eXBlZGVmIFAxNDcgaXRlbTE0NzsgdHlwZWRlZiBQMTQ4IGl0ZW0xNDg7IHR5cGVkZWYgUDE0OSBpdGVtMTQ5OyB0eXBlZGVmIFAxNTAgaXRlbTE1MDsgdHlwZWRlZiBQMTUxIGl0ZW0xNTE7IHR5cGVkZWYgUDE1MiBpdGVtMTUyOyB0eXBlZGVmIFAxNTMgaXRlbTE1MzsgdHlwZWRlZiBQMTU0IGl0ZW0xNTQ7IHR5cGVkZWYgUDE1NSBpdGVtMTU1OyB0eXBlZGVmIFAxNTYgaXRlbTE1NjsgdHlwZWRlZiBQMTU3IGl0ZW0xNTc7IHR5cGVkZWYgUDE1OCBpdGVtMTU4OyB0eXBlZGVmIFAxNTkgaXRlbTE1OTsgdHlwZWRlZiBQMTYwIGl0ZW0xNjA7IHR5cGVkZWYgUDE2MSBpdGVtMTYxOyB0eXBlZGVmIFAxNjIgaXRlbTE2MjsgdHlwZWRlZiBQMTYzIGl0ZW0xNjM7IHR5cGVkZWYgUDE2NCBpdGVtMTY0OyB0eXBlZGVmIFAxNjUgaXRlbTE2NTsgdHlwZWRlZiBQMTY2IGl0ZW0xNjY7IHR5cGVkZWYgUDE2NyBpdGVtMTY3OyB0eXBlZGVmIFAxNjggaXRlbTE2ODsgdHlwZWRlZiBQMTY5IGl0ZW0xNjk7IHR5cGVkZWYgUDE3MCBpdGVtMTcwOyB0eXBlZGVmIFAxNzEgaXRlbTE3MTsgdHlwZWRlZiBQMTcyIGl0ZW0xNzI7IHR5cGVkZWYgUDE3MyBpdGVtMTczOyB0eXBlZGVmIFAxNzQgaXRlbTE3NDsgdHlwZWRlZiBQMTc1IGl0ZW0xNzU7IHR5cGVkZWYgUDE3NiBpdGVtMTc2OyB0eXBlZGVmIFAxNzcgaXRlbTE3NzsgdHlwZWRlZiBQMTc4IGl0ZW0xNzg7IHR5cGVkZWYgUDE3OSBpdGVtMTc5OyB0eXBlZGVmIFAxODAgaXRlbTE4MDsgdHlwZWRlZiBQMTgxIGl0ZW0xODE7IHR5cGVkZWYgUDE4MiBpdGVtMTgyOyB0eXBlZGVmIFAxODMgaXRlbTE4MzsgdHlwZWRlZiBQMTg0IGl0ZW0xODQ7IHR5cGVkZWYgUDE4NSBpdGVtMTg1OyB0eXBlZGVmIFAxODYgaXRlbTE4NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0OTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ICwgY2xhc3MgUDk2ICwgY2xhc3MgUDk3ICwgY2xhc3MgUDk4ICwgY2xhc3MgUDk5ICwgY2xhc3MgUDEwMCAsIGNsYXNzIFAxMDEgLCBjbGFzcyBQMTAyICwgY2xhc3MgUDEwMyAsIGNsYXNzIFAxMDQgLCBjbGFzcyBQMTA1ICwgY2xhc3MgUDEwNiAsIGNsYXNzIFAxMDcgLCBjbGFzcyBQMTA4ICwgY2xhc3MgUDEwOSAsIGNsYXNzIFAxMTAgLCBjbGFzcyBQMTExICwgY2xhc3MgUDExMiAsIGNsYXNzIFAxMTMgLCBjbGFzcyBQMTE0ICwgY2xhc3MgUDExNSAsIGNsYXNzIFAxMTYgLCBjbGFzcyBQMTE3ICwgY2xhc3MgUDExOCAsIGNsYXNzIFAxMTkgLCBjbGFzcyBQMTIwICwgY2xhc3MgUDEyMSAsIGNsYXNzIFAxMjIgLCBjbGFzcyBQMTIzICwgY2xhc3MgUDEyNCAsIGNsYXNzIFAxMjUgLCBjbGFzcyBQMTI2ICwgY2xhc3MgUDEyNyAsIGNsYXNzIFAxMjggLCBjbGFzcyBQMTI5ICwgY2xhc3MgUDEzMCAsIGNsYXNzIFAxMzEgLCBjbGFzcyBQMTMyICwgY2xhc3MgUDEzMyAsIGNsYXNzIFAxMzQgLCBjbGFzcyBQMTM1ICwgY2xhc3MgUDEzNiAsIGNsYXNzIFAxMzcgLCBjbGFzcyBQMTM4ICwgY2xhc3MgUDEzOSAsIGNsYXNzIFAxNDAgLCBjbGFzcyBQMTQxICwgY2xhc3MgUDE0MiAsIGNsYXNzIFAxNDMgLCBjbGFzcyBQMTQ0ICwgY2xhc3MgUDE0NSAsIGNsYXNzIFAxNDYgLCBjbGFzcyBQMTQ3ICwgY2xhc3MgUDE0OCAsIGNsYXNzIFAxNDkgLCBjbGFzcyBQMTUwICwgY2xhc3MgUDE1MSAsIGNsYXNzIFAxNTIgLCBjbGFzcyBQMTUzICwgY2xhc3MgUDE1NCAsIGNsYXNzIFAxNTUgLCBjbGFzcyBQMTU2ICwgY2xhc3MgUDE1NyAsIGNsYXNzIFAxNTggLCBjbGFzcyBQMTU5ICwgY2xhc3MgUDE2MCAsIGNsYXNzIFAxNjEgLCBjbGFzcyBQMTYyICwgY2xhc3MgUDE2MyAsIGNsYXNzIFAxNjQgLCBjbGFzcyBQMTY1ICwgY2xhc3MgUDE2NiAsIGNsYXNzIFAxNjcgLCBjbGFzcyBQMTY4ICwgY2xhc3MgUDE2OSAsIGNsYXNzIFAxNzAgLCBjbGFzcyBQMTcxICwgY2xhc3MgUDE3MiAsIGNsYXNzIFAxNzMgLCBjbGFzcyBQMTc0ICwgY2xhc3MgUDE3NSAsIGNsYXNzIFAxNzYgLCBjbGFzcyBQMTc3ICwgY2xhc3MgUDE3OCAsIGNsYXNzIFAxNzkgLCBjbGFzcyBQMTgwICwgY2xhc3MgUDE4MSAsIGNsYXNzIFAxODIgLCBjbGFzcyBQMTgzICwgY2xhc3MgUDE4NCAsIGNsYXNzIFAxODUgLCBjbGFzcyBQMTg2ICwgY2xhc3MgUDE4NyA+IHN0cnVjdCB2ZWN0b3IxODggeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3IxODg8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1ICwgUDk2ICwgUDk3ICwgUDk4ICwgUDk5ICwgUDEwMCAsIFAxMDEgLCBQMTAyICwgUDEwMyAsIFAxMDQgLCBQMTA1ICwgUDEwNiAsIFAxMDcgLCBQMTA4ICwgUDEwOSAsIFAxMTAgLCBQMTExICwgUDExMiAsIFAxMTMgLCBQMTE0ICwgUDExNSAsIFAxMTYgLCBQMTE3ICwgUDExOCAsIFAxMTkgLCBQMTIwICwgUDEyMSAsIFAxMjIgLCBQMTIzICwgUDEyNCAsIFAxMjUgLCBQMTI2ICwgUDEyNyAsIFAxMjggLCBQMTI5ICwgUDEzMCAsIFAxMzEgLCBQMTMyICwgUDEzMyAsIFAxMzQgLCBQMTM1ICwgUDEzNiAsIFAxMzcgLCBQMTM4ICwgUDEzOSAsIFAxNDAgLCBQMTQxICwgUDE0MiAsIFAxNDMgLCBQMTQ0ICwgUDE0NSAsIFAxNDYgLCBQMTQ3ICwgUDE0OCAsIFAxNDkgLCBQMTUwICwgUDE1MSAsIFAxNTIgLCBQMTUzICwgUDE1NCAsIFAxNTUgLCBQMTU2ICwgUDE1NyAsIFAxNTggLCBQMTU5ICwgUDE2MCAsIFAxNjEgLCBQMTYyICwgUDE2MyAsIFAxNjQgLCBQMTY1ICwgUDE2NiAsIFAxNjcgLCBQMTY4ICwgUDE2OSAsIFAxNzAgLCBQMTcxICwgUDE3MiAsIFAxNzMgLCBQMTc0ICwgUDE3NSAsIFAxNzYgLCBQMTc3ICwgUDE3OCAsIFAxNzkgLCBQMTgwICwgUDE4MSAsIFAxODIgLCBQMTgzICwgUDE4NCAsIFAxODUgLCBQMTg2ICwgUDE4Nz4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBQODggaXRlbTg4OyB0eXBlZGVmIFA4OSBpdGVtODk7IHR5cGVkZWYgUDkwIGl0ZW05MDsgdHlwZWRlZiBQOTEgaXRlbTkxOyB0eXBlZGVmIFA5MiBpdGVtOTI7IHR5cGVkZWYgUDkzIGl0ZW05MzsgdHlwZWRlZiBQOTQgaXRlbTk0OyB0eXBlZGVmIFA5NSBpdGVtOTU7IHR5cGVkZWYgUDk2IGl0ZW05NjsgdHlwZWRlZiBQOTcgaXRlbTk3OyB0eXBlZGVmIFA5OCBpdGVtOTg7IHR5cGVkZWYgUDk5IGl0ZW05OTsgdHlwZWRlZiBQMTAwIGl0ZW0xMDA7IHR5cGVkZWYgUDEwMSBpdGVtMTAxOyB0eXBlZGVmIFAxMDIgaXRlbTEwMjsgdHlwZWRlZiBQMTAzIGl0ZW0xMDM7IHR5cGVkZWYgUDEwNCBpdGVtMTA0OyB0eXBlZGVmIFAxMDUgaXRlbTEwNTsgdHlwZWRlZiBQMTA2IGl0ZW0xMDY7IHR5cGVkZWYgUDEwNyBpdGVtMTA3OyB0eXBlZGVmIFAxMDggaXRlbTEwODsgdHlwZWRlZiBQMTA5IGl0ZW0xMDk7IHR5cGVkZWYgUDExMCBpdGVtMTEwOyB0eXBlZGVmIFAxMTEgaXRlbTExMTsgdHlwZWRlZiBQMTEyIGl0ZW0xMTI7IHR5cGVkZWYgUDExMyBpdGVtMTEzOyB0eXBlZGVmIFAxMTQgaXRlbTExNDsgdHlwZWRlZiBQMTE1IGl0ZW0xMTU7IHR5cGVkZWYgUDExNiBpdGVtMTE2OyB0eXBlZGVmIFAxMTcgaXRlbTExNzsgdHlwZWRlZiBQMTE4IGl0ZW0xMTg7IHR5cGVkZWYgUDExOSBpdGVtMTE5OyB0eXBlZGVmIFAxMjAgaXRlbTEyMDsgdHlwZWRlZiBQMTIxIGl0ZW0xMjE7IHR5cGVkZWYgUDEyMiBpdGVtMTIyOyB0eXBlZGVmIFAxMjMgaXRlbTEyMzsgdHlwZWRlZiBQMTI0IGl0ZW0xMjQ7IHR5cGVkZWYgUDEyNSBpdGVtMTI1OyB0eXBlZGVmIFAxMjYgaXRlbTEyNjsgdHlwZWRlZiBQMTI3IGl0ZW0xMjc7IHR5cGVkZWYgUDEyOCBpdGVtMTI4OyB0eXBlZGVmIFAxMjkgaXRlbTEyOTsgdHlwZWRlZiBQMTMwIGl0ZW0xMzA7IHR5cGVkZWYgUDEzMSBpdGVtMTMxOyB0eXBlZGVmIFAxMzIgaXRlbTEzMjsgdHlwZWRlZiBQMTMzIGl0ZW0xMzM7IHR5cGVkZWYgUDEzNCBpdGVtMTM0OyB0eXBlZGVmIFAxMzUgaXRlbTEzNTsgdHlwZWRlZiBQMTM2IGl0ZW0xMzY7IHR5cGVkZWYgUDEzNyBpdGVtMTM3OyB0eXBlZGVmIFAxMzggaXRlbTEzODsgdHlwZWRlZiBQMTM5IGl0ZW0xMzk7IHR5cGVkZWYgUDE0MCBpdGVtMTQwOyB0eXBlZGVmIFAxNDEgaXRlbTE0MTsgdHlwZWRlZiBQMTQyIGl0ZW0xNDI7IHR5cGVkZWYgUDE0MyBpdGVtMTQzOyB0eXBlZGVmIFAxNDQgaXRlbTE0NDsgdHlwZWRlZiBQMTQ1IGl0ZW0xNDU7IHR5cGVkZWYgUDE0NiBpdGVtMTQ2OyB0eXBlZGVmIFAxNDcgaXRlbTE0NzsgdHlwZWRlZiBQMTQ4IGl0ZW0xNDg7IHR5cGVkZWYgUDE0OSBpdGVtMTQ5OyB0eXBlZGVmIFAxNTAgaXRlbTE1MDsgdHlwZWRlZiBQMTUxIGl0ZW0xNTE7IHR5cGVkZWYgUDE1MiBpdGVtMTUyOyB0eXBlZGVmIFAxNTMgaXRlbTE1MzsgdHlwZWRlZiBQMTU0IGl0ZW0xNTQ7IHR5cGVkZWYgUDE1NSBpdGVtMTU1OyB0eXBlZGVmIFAxNTYgaXRlbTE1NjsgdHlwZWRlZiBQMTU3IGl0ZW0xNTc7IHR5cGVkZWYgUDE1OCBpdGVtMTU4OyB0eXBlZGVmIFAxNTkgaXRlbTE1OTsgdHlwZWRlZiBQMTYwIGl0ZW0xNjA7IHR5cGVkZWYgUDE2MSBpdGVtMTYxOyB0eXBlZGVmIFAxNjIgaXRlbTE2MjsgdHlwZWRlZiBQMTYzIGl0ZW0xNjM7IHR5cGVkZWYgUDE2NCBpdGVtMTY0OyB0eXBlZGVmIFAxNjUgaXRlbTE2NTsgdHlwZWRlZiBQMTY2IGl0ZW0xNjY7IHR5cGVkZWYgUDE2NyBpdGVtMTY3OyB0eXBlZGVmIFAxNjggaXRlbTE2ODsgdHlwZWRlZiBQMTY5IGl0ZW0xNjk7IHR5cGVkZWYgUDE3MCBpdGVtMTcwOyB0eXBlZGVmIFAxNzEgaXRlbTE3MTsgdHlwZWRlZiBQMTcyIGl0ZW0xNzI7IHR5cGVkZWYgUDE3MyBpdGVtMTczOyB0eXBlZGVmIFAxNzQgaXRlbTE3NDsgdHlwZWRlZiBQMTc1IGl0ZW0xNzU7IHR5cGVkZWYgUDE3NiBpdGVtMTc2OyB0eXBlZGVmIFAxNzcgaXRlbTE3NzsgdHlwZWRlZiBQMTc4IGl0ZW0xNzg7IHR5cGVkZWYgUDE3OSBpdGVtMTc5OyB0eXBlZGVmIFAxODAgaXRlbTE4MDsgdHlwZWRlZiBQMTgxIGl0ZW0xODE7IHR5cGVkZWYgUDE4MiBpdGVtMTgyOyB0eXBlZGVmIFAxODMgaXRlbTE4MzsgdHlwZWRlZiBQMTg0IGl0ZW0xODQ7IHR5cGVkZWYgUDE4NSBpdGVtMTg1OyB0eXBlZGVmIFAxODYgaXRlbTE4NjsgdHlwZWRlZiBQMTg3IGl0ZW0xODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDk7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSAsIGNsYXNzIFA4NiAsIGNsYXNzIFA4NyAsIGNsYXNzIFA4OCAsIGNsYXNzIFA4OSAsIGNsYXNzIFA5MCAsIGNsYXNzIFA5MSAsIGNsYXNzIFA5MiAsIGNsYXNzIFA5MyAsIGNsYXNzIFA5NCAsIGNsYXNzIFA5NSAsIGNsYXNzIFA5NiAsIGNsYXNzIFA5NyAsIGNsYXNzIFA5OCAsIGNsYXNzIFA5OSAsIGNsYXNzIFAxMDAgLCBjbGFzcyBQMTAxICwgY2xhc3MgUDEwMiAsIGNsYXNzIFAxMDMgLCBjbGFzcyBQMTA0ICwgY2xhc3MgUDEwNSAsIGNsYXNzIFAxMDYgLCBjbGFzcyBQMTA3ICwgY2xhc3MgUDEwOCAsIGNsYXNzIFAxMDkgLCBjbGFzcyBQMTEwICwgY2xhc3MgUDExMSAsIGNsYXNzIFAxMTIgLCBjbGFzcyBQMTEzICwgY2xhc3MgUDExNCAsIGNsYXNzIFAxMTUgLCBjbGFzcyBQMTE2ICwgY2xhc3MgUDExNyAsIGNsYXNzIFAxMTggLCBjbGFzcyBQMTE5ICwgY2xhc3MgUDEyMCAsIGNsYXNzIFAxMjEgLCBjbGFzcyBQMTIyICwgY2xhc3MgUDEyMyAsIGNsYXNzIFAxMjQgLCBjbGFzcyBQMTI1ICwgY2xhc3MgUDEyNiAsIGNsYXNzIFAxMjcgLCBjbGFzcyBQMTI4ICwgY2xhc3MgUDEyOSAsIGNsYXNzIFAxMzAgLCBjbGFzcyBQMTMxICwgY2xhc3MgUDEzMiAsIGNsYXNzIFAxMzMgLCBjbGFzcyBQMTM0ICwgY2xhc3MgUDEzNSAsIGNsYXNzIFAxMzYgLCBjbGFzcyBQMTM3ICwgY2xhc3MgUDEzOCAsIGNsYXNzIFAxMzkgLCBjbGFzcyBQMTQwICwgY2xhc3MgUDE0MSAsIGNsYXNzIFAxNDIgLCBjbGFzcyBQMTQzICwgY2xhc3MgUDE0NCAsIGNsYXNzIFAxNDUgLCBjbGFzcyBQMTQ2ICwgY2xhc3MgUDE0NyAsIGNsYXNzIFAxNDggLCBjbGFzcyBQMTQ5ICwgY2xhc3MgUDE1MCAsIGNsYXNzIFAxNTEgLCBjbGFzcyBQMTUyICwgY2xhc3MgUDE1MyAsIGNsYXNzIFAxNTQgLCBjbGFzcyBQMTU1ICwgY2xhc3MgUDE1NiAsIGNsYXNzIFAxNTcgLCBjbGFzcyBQMTU4ICwgY2xhc3MgUDE1OSAsIGNsYXNzIFAxNjAgLCBjbGFzcyBQMTYxICwgY2xhc3MgUDE2MiAsIGNsYXNzIFAxNjMgLCBjbGFzcyBQMTY0ICwgY2xhc3MgUDE2NSAsIGNsYXNzIFAxNjYgLCBjbGFzcyBQMTY3ICwgY2xhc3MgUDE2OCAsIGNsYXNzIFAxNjkgLCBjbGFzcyBQMTcwICwgY2xhc3MgUDE3MSAsIGNsYXNzIFAxNzIgLCBjbGFzcyBQMTczICwgY2xhc3MgUDE3NCAsIGNsYXNzIFAxNzUgLCBjbGFzcyBQMTc2ICwgY2xhc3MgUDE3NyAsIGNsYXNzIFAxNzggLCBjbGFzcyBQMTc5ICwgY2xhc3MgUDE4MCAsIGNsYXNzIFAxODEgLCBjbGFzcyBQMTgyICwgY2xhc3MgUDE4MyAsIGNsYXNzIFAxODQgLCBjbGFzcyBQMTg1ICwgY2xhc3MgUDE4NiAsIGNsYXNzIFAxODcgLCBjbGFzcyBQMTg4ID4gc3RydWN0IHZlY3RvcjE4OSB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjE4OTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MCAsIFAxNDEgLCBQMTQyICwgUDE0MyAsIFAxNDQgLCBQMTQ1ICwgUDE0NiAsIFAxNDcgLCBQMTQ4ICwgUDE0OSAsIFAxNTAgLCBQMTUxICwgUDE1MiAsIFAxNTMgLCBQMTU0ICwgUDE1NSAsIFAxNTYgLCBQMTU3ICwgUDE1OCAsIFAxNTkgLCBQMTYwICwgUDE2MSAsIFAxNjIgLCBQMTYzICwgUDE2NCAsIFAxNjUgLCBQMTY2ICwgUDE2NyAsIFAxNjggLCBQMTY5ICwgUDE3MCAsIFAxNzEgLCBQMTcyICwgUDE3MyAsIFAxNzQgLCBQMTc1ICwgUDE3NiAsIFAxNzcgLCBQMTc4ICwgUDE3OSAsIFAxODAgLCBQMTgxICwgUDE4MiAsIFAxODMgLCBQMTg0ICwgUDE4NSAsIFAxODYgLCBQMTg3ICwgUDE4OD4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBQODggaXRlbTg4OyB0eXBlZGVmIFA4OSBpdGVtODk7IHR5cGVkZWYgUDkwIGl0ZW05MDsgdHlwZWRlZiBQOTEgaXRlbTkxOyB0eXBlZGVmIFA5MiBpdGVtOTI7IHR5cGVkZWYgUDkzIGl0ZW05MzsgdHlwZWRlZiBQOTQgaXRlbTk0OyB0eXBlZGVmIFA5NSBpdGVtOTU7IHR5cGVkZWYgUDk2IGl0ZW05NjsgdHlwZWRlZiBQOTcgaXRlbTk3OyB0eXBlZGVmIFA5OCBpdGVtOTg7IHR5cGVkZWYgUDk5IGl0ZW05OTsgdHlwZWRlZiBQMTAwIGl0ZW0xMDA7IHR5cGVkZWYgUDEwMSBpdGVtMTAxOyB0eXBlZGVmIFAxMDIgaXRlbTEwMjsgdHlwZWRlZiBQMTAzIGl0ZW0xMDM7IHR5cGVkZWYgUDEwNCBpdGVtMTA0OyB0eXBlZGVmIFAxMDUgaXRlbTEwNTsgdHlwZWRlZiBQMTA2IGl0ZW0xMDY7IHR5cGVkZWYgUDEwNyBpdGVtMTA3OyB0eXBlZGVmIFAxMDggaXRlbTEwODsgdHlwZWRlZiBQMTA5IGl0ZW0xMDk7IHR5cGVkZWYgUDExMCBpdGVtMTEwOyB0eXBlZGVmIFAxMTEgaXRlbTExMTsgdHlwZWRlZiBQMTEyIGl0ZW0xMTI7IHR5cGVkZWYgUDExMyBpdGVtMTEzOyB0eXBlZGVmIFAxMTQgaXRlbTExNDsgdHlwZWRlZiBQMTE1IGl0ZW0xMTU7IHR5cGVkZWYgUDExNiBpdGVtMTE2OyB0eXBlZGVmIFAxMTcgaXRlbTExNzsgdHlwZWRlZiBQMTE4IGl0ZW0xMTg7IHR5cGVkZWYgUDExOSBpdGVtMTE5OyB0eXBlZGVmIFAxMjAgaXRlbTEyMDsgdHlwZWRlZiBQMTIxIGl0ZW0xMjE7IHR5cGVkZWYgUDEyMiBpdGVtMTIyOyB0eXBlZGVmIFAxMjMgaXRlbTEyMzsgdHlwZWRlZiBQMTI0IGl0ZW0xMjQ7IHR5cGVkZWYgUDEyNSBpdGVtMTI1OyB0eXBlZGVmIFAxMjYgaXRlbTEyNjsgdHlwZWRlZiBQMTI3IGl0ZW0xMjc7IHR5cGVkZWYgUDEyOCBpdGVtMTI4OyB0eXBlZGVmIFAxMjkgaXRlbTEyOTsgdHlwZWRlZiBQMTMwIGl0ZW0xMzA7IHR5cGVkZWYgUDEzMSBpdGVtMTMxOyB0eXBlZGVmIFAxMzIgaXRlbTEzMjsgdHlwZWRlZiBQMTMzIGl0ZW0xMzM7IHR5cGVkZWYgUDEzNCBpdGVtMTM0OyB0eXBlZGVmIFAxMzUgaXRlbTEzNTsgdHlwZWRlZiBQMTM2IGl0ZW0xMzY7IHR5cGVkZWYgUDEzNyBpdGVtMTM3OyB0eXBlZGVmIFAxMzggaXRlbTEzODsgdHlwZWRlZiBQMTM5IGl0ZW0xMzk7IHR5cGVkZWYgUDE0MCBpdGVtMTQwOyB0eXBlZGVmIFAxNDEgaXRlbTE0MTsgdHlwZWRlZiBQMTQyIGl0ZW0xNDI7IHR5cGVkZWYgUDE0MyBpdGVtMTQzOyB0eXBlZGVmIFAxNDQgaXRlbTE0NDsgdHlwZWRlZiBQMTQ1IGl0ZW0xNDU7IHR5cGVkZWYgUDE0NiBpdGVtMTQ2OyB0eXBlZGVmIFAxNDcgaXRlbTE0NzsgdHlwZWRlZiBQMTQ4IGl0ZW0xNDg7IHR5cGVkZWYgUDE0OSBpdGVtMTQ5OyB0eXBlZGVmIFAxNTAgaXRlbTE1MDsgdHlwZWRlZiBQMTUxIGl0ZW0xNTE7IHR5cGVkZWYgUDE1MiBpdGVtMTUyOyB0eXBlZGVmIFAxNTMgaXRlbTE1MzsgdHlwZWRlZiBQMTU0IGl0ZW0xNTQ7IHR5cGVkZWYgUDE1NSBpdGVtMTU1OyB0eXBlZGVmIFAxNTYgaXRlbTE1NjsgdHlwZWRlZiBQMTU3IGl0ZW0xNTc7IHR5cGVkZWYgUDE1OCBpdGVtMTU4OyB0eXBlZGVmIFAxNTkgaXRlbTE1OTsgdHlwZWRlZiBQMTYwIGl0ZW0xNjA7IHR5cGVkZWYgUDE2MSBpdGVtMTYxOyB0eXBlZGVmIFAxNjIgaXRlbTE2MjsgdHlwZWRlZiBQMTYzIGl0ZW0xNjM7IHR5cGVkZWYgUDE2NCBpdGVtMTY0OyB0eXBlZGVmIFAxNjUgaXRlbTE2NTsgdHlwZWRlZiBQMTY2IGl0ZW0xNjY7IHR5cGVkZWYgUDE2NyBpdGVtMTY3OyB0eXBlZGVmIFAxNjggaXRlbTE2ODsgdHlwZWRlZiBQMTY5IGl0ZW0xNjk7IHR5cGVkZWYgUDE3MCBpdGVtMTcwOyB0eXBlZGVmIFAxNzEgaXRlbTE3MTsgdHlwZWRlZiBQMTcyIGl0ZW0xNzI7IHR5cGVkZWYgUDE3MyBpdGVtMTczOyB0eXBlZGVmIFAxNzQgaXRlbTE3NDsgdHlwZWRlZiBQMTc1IGl0ZW0xNzU7IHR5cGVkZWYgUDE3NiBpdGVtMTc2OyB0eXBlZGVmIFAxNzcgaXRlbTE3NzsgdHlwZWRlZiBQMTc4IGl0ZW0xNzg7IHR5cGVkZWYgUDE3OSBpdGVtMTc5OyB0eXBlZGVmIFAxODAgaXRlbTE4MDsgdHlwZWRlZiBQMTgxIGl0ZW0xODE7IHR5cGVkZWYgUDE4MiBpdGVtMTgyOyB0eXBlZGVmIFAxODMgaXRlbTE4MzsgdHlwZWRlZiBQMTg0IGl0ZW0xODQ7IHR5cGVkZWYgUDE4NSBpdGVtMTg1OyB0eXBlZGVmIFAxODYgaXRlbTE4NjsgdHlwZWRlZiBQMTg3IGl0ZW0xODc7IHR5cGVkZWYgUDE4OCBpdGVtMTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ5OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBQOTMgLCBjbGFzcyBQOTQgLCBjbGFzcyBQOTUgLCBjbGFzcyBQOTYgLCBjbGFzcyBQOTcgLCBjbGFzcyBQOTggLCBjbGFzcyBQOTkgLCBjbGFzcyBQMTAwICwgY2xhc3MgUDEwMSAsIGNsYXNzIFAxMDIgLCBjbGFzcyBQMTAzICwgY2xhc3MgUDEwNCAsIGNsYXNzIFAxMDUgLCBjbGFzcyBQMTA2ICwgY2xhc3MgUDEwNyAsIGNsYXNzIFAxMDggLCBjbGFzcyBQMTA5ICwgY2xhc3MgUDExMCAsIGNsYXNzIFAxMTEgLCBjbGFzcyBQMTEyICwgY2xhc3MgUDExMyAsIGNsYXNzIFAxMTQgLCBjbGFzcyBQMTE1ICwgY2xhc3MgUDExNiAsIGNsYXNzIFAxMTcgLCBjbGFzcyBQMTE4ICwgY2xhc3MgUDExOSAsIGNsYXNzIFAxMjAgLCBjbGFzcyBQMTIxICwgY2xhc3MgUDEyMiAsIGNsYXNzIFAxMjMgLCBjbGFzcyBQMTI0ICwgY2xhc3MgUDEyNSAsIGNsYXNzIFAxMjYgLCBjbGFzcyBQMTI3ICwgY2xhc3MgUDEyOCAsIGNsYXNzIFAxMjkgLCBjbGFzcyBQMTMwICwgY2xhc3MgUDEzMSAsIGNsYXNzIFAxMzIgLCBjbGFzcyBQMTMzICwgY2xhc3MgUDEzNCAsIGNsYXNzIFAxMzUgLCBjbGFzcyBQMTM2ICwgY2xhc3MgUDEzNyAsIGNsYXNzIFAxMzggLCBjbGFzcyBQMTM5ICwgY2xhc3MgUDE0MCAsIGNsYXNzIFAxNDEgLCBjbGFzcyBQMTQyICwgY2xhc3MgUDE0MyAsIGNsYXNzIFAxNDQgLCBjbGFzcyBQMTQ1ICwgY2xhc3MgUDE0NiAsIGNsYXNzIFAxNDcgLCBjbGFzcyBQMTQ4ICwgY2xhc3MgUDE0OSAsIGNsYXNzIFAxNTAgLCBjbGFzcyBQMTUxICwgY2xhc3MgUDE1MiAsIGNsYXNzIFAxNTMgLCBjbGFzcyBQMTU0ICwgY2xhc3MgUDE1NSAsIGNsYXNzIFAxNTYgLCBjbGFzcyBQMTU3ICwgY2xhc3MgUDE1OCAsIGNsYXNzIFAxNTkgLCBjbGFzcyBQMTYwICwgY2xhc3MgUDE2MSAsIGNsYXNzIFAxNjIgLCBjbGFzcyBQMTYzICwgY2xhc3MgUDE2NCAsIGNsYXNzIFAxNjUgLCBjbGFzcyBQMTY2ICwgY2xhc3MgUDE2NyAsIGNsYXNzIFAxNjggLCBjbGFzcyBQMTY5ICwgY2xhc3MgUDE3MCAsIGNsYXNzIFAxNzEgLCBjbGFzcyBQMTcyICwgY2xhc3MgUDE3MyAsIGNsYXNzIFAxNzQgLCBjbGFzcyBQMTc1ICwgY2xhc3MgUDE3NiAsIGNsYXNzIFAxNzcgLCBjbGFzcyBQMTc4ICwgY2xhc3MgUDE3OSAsIGNsYXNzIFAxODAgLCBjbGFzcyBQMTgxICwgY2xhc3MgUDE4MiAsIGNsYXNzIFAxODMgLCBjbGFzcyBQMTg0ICwgY2xhc3MgUDE4NSAsIGNsYXNzIFAxODYgLCBjbGFzcyBQMTg3ICwgY2xhc3MgUDE4OCAsIGNsYXNzIFAxODkgPiBzdHJ1Y3QgdmVjdG9yMTkwIHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yMTkwPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFA5MiAsIFA5MyAsIFA5NCAsIFA5NSAsIFA5NiAsIFA5NyAsIFA5OCAsIFA5OSAsIFAxMDAgLCBQMTAxICwgUDEwMiAsIFAxMDMgLCBQMTA0ICwgUDEwNSAsIFAxMDYgLCBQMTA3ICwgUDEwOCAsIFAxMDkgLCBQMTEwICwgUDExMSAsIFAxMTIgLCBQMTEzICwgUDExNCAsIFAxMTUgLCBQMTE2ICwgUDExNyAsIFAxMTggLCBQMTE5ICwgUDEyMCAsIFAxMjEgLCBQMTIyICwgUDEyMyAsIFAxMjQgLCBQMTI1ICwgUDEyNiAsIFAxMjcgLCBQMTI4ICwgUDEyOSAsIFAxMzAgLCBQMTMxICwgUDEzMiAsIFAxMzMgLCBQMTM0ICwgUDEzNSAsIFAxMzYgLCBQMTM3ICwgUDEzOCAsIFAxMzkgLCBQMTQwICwgUDE0MSAsIFAxNDIgLCBQMTQzICwgUDE0NCAsIFAxNDUgLCBQMTQ2ICwgUDE0NyAsIFAxNDggLCBQMTQ5ICwgUDE1MCAsIFAxNTEgLCBQMTUyICwgUDE1MyAsIFAxNTQgLCBQMTU1ICwgUDE1NiAsIFAxNTcgLCBQMTU4ICwgUDE1OSAsIFAxNjAgLCBQMTYxICwgUDE2MiAsIFAxNjMgLCBQMTY0ICwgUDE2NSAsIFAxNjYgLCBQMTY3ICwgUDE2OCAsIFAxNjkgLCBQMTcwICwgUDE3MSAsIFAxNzIgLCBQMTczICwgUDE3NCAsIFAxNzUgLCBQMTc2ICwgUDE3NyAsIFAxNzggLCBQMTc5ICwgUDE4MCAsIFAxODEgLCBQMTgyICwgUDE4MyAsIFAxODQgLCBQMTg1ICwgUDE4NiAsIFAxODcgLCBQMTg4ICwgUDE4OT4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBQODggaXRlbTg4OyB0eXBlZGVmIFA4OSBpdGVtODk7IHR5cGVkZWYgUDkwIGl0ZW05MDsgdHlwZWRlZiBQOTEgaXRlbTkxOyB0eXBlZGVmIFA5MiBpdGVtOTI7IHR5cGVkZWYgUDkzIGl0ZW05MzsgdHlwZWRlZiBQOTQgaXRlbTk0OyB0eXBlZGVmIFA5NSBpdGVtOTU7IHR5cGVkZWYgUDk2IGl0ZW05NjsgdHlwZWRlZiBQOTcgaXRlbTk3OyB0eXBlZGVmIFA5OCBpdGVtOTg7IHR5cGVkZWYgUDk5IGl0ZW05OTsgdHlwZWRlZiBQMTAwIGl0ZW0xMDA7IHR5cGVkZWYgUDEwMSBpdGVtMTAxOyB0eXBlZGVmIFAxMDIgaXRlbTEwMjsgdHlwZWRlZiBQMTAzIGl0ZW0xMDM7IHR5cGVkZWYgUDEwNCBpdGVtMTA0OyB0eXBlZGVmIFAxMDUgaXRlbTEwNTsgdHlwZWRlZiBQMTA2IGl0ZW0xMDY7IHR5cGVkZWYgUDEwNyBpdGVtMTA3OyB0eXBlZGVmIFAxMDggaXRlbTEwODsgdHlwZWRlZiBQMTA5IGl0ZW0xMDk7IHR5cGVkZWYgUDExMCBpdGVtMTEwOyB0eXBlZGVmIFAxMTEgaXRlbTExMTsgdHlwZWRlZiBQMTEyIGl0ZW0xMTI7IHR5cGVkZWYgUDExMyBpdGVtMTEzOyB0eXBlZGVmIFAxMTQgaXRlbTExNDsgdHlwZWRlZiBQMTE1IGl0ZW0xMTU7IHR5cGVkZWYgUDExNiBpdGVtMTE2OyB0eXBlZGVmIFAxMTcgaXRlbTExNzsgdHlwZWRlZiBQMTE4IGl0ZW0xMTg7IHR5cGVkZWYgUDExOSBpdGVtMTE5OyB0eXBlZGVmIFAxMjAgaXRlbTEyMDsgdHlwZWRlZiBQMTIxIGl0ZW0xMjE7IHR5cGVkZWYgUDEyMiBpdGVtMTIyOyB0eXBlZGVmIFAxMjMgaXRlbTEyMzsgdHlwZWRlZiBQMTI0IGl0ZW0xMjQ7IHR5cGVkZWYgUDEyNSBpdGVtMTI1OyB0eXBlZGVmIFAxMjYgaXRlbTEyNjsgdHlwZWRlZiBQMTI3IGl0ZW0xMjc7IHR5cGVkZWYgUDEyOCBpdGVtMTI4OyB0eXBlZGVmIFAxMjkgaXRlbTEyOTsgdHlwZWRlZiBQMTMwIGl0ZW0xMzA7IHR5cGVkZWYgUDEzMSBpdGVtMTMxOyB0eXBlZGVmIFAxMzIgaXRlbTEzMjsgdHlwZWRlZiBQMTMzIGl0ZW0xMzM7IHR5cGVkZWYgUDEzNCBpdGVtMTM0OyB0eXBlZGVmIFAxMzUgaXRlbTEzNTsgdHlwZWRlZiBQMTM2IGl0ZW0xMzY7IHR5cGVkZWYgUDEzNyBpdGVtMTM3OyB0eXBlZGVmIFAxMzggaXRlbTEzODsgdHlwZWRlZiBQMTM5IGl0ZW0xMzk7IHR5cGVkZWYgUDE0MCBpdGVtMTQwOyB0eXBlZGVmIFAxNDEgaXRlbTE0MTsgdHlwZWRlZiBQMTQyIGl0ZW0xNDI7IHR5cGVkZWYgUDE0MyBpdGVtMTQzOyB0eXBlZGVmIFAxNDQgaXRlbTE0NDsgdHlwZWRlZiBQMTQ1IGl0ZW0xNDU7IHR5cGVkZWYgUDE0NiBpdGVtMTQ2OyB0eXBlZGVmIFAxNDcgaXRlbTE0NzsgdHlwZWRlZiBQMTQ4IGl0ZW0xNDg7IHR5cGVkZWYgUDE0OSBpdGVtMTQ5OyB0eXBlZGVmIFAxNTAgaXRlbTE1MDsgdHlwZWRlZiBQMTUxIGl0ZW0xNTE7IHR5cGVkZWYgUDE1MiBpdGVtMTUyOyB0eXBlZGVmIFAxNTMgaXRlbTE1MzsgdHlwZWRlZiBQMTU0IGl0ZW0xNTQ7IHR5cGVkZWYgUDE1NSBpdGVtMTU1OyB0eXBlZGVmIFAxNTYgaXRlbTE1NjsgdHlwZWRlZiBQMTU3IGl0ZW0xNTc7IHR5cGVkZWYgUDE1OCBpdGVtMTU4OyB0eXBlZGVmIFAxNTkgaXRlbTE1OTsgdHlwZWRlZiBQMTYwIGl0ZW0xNjA7IHR5cGVkZWYgUDE2MSBpdGVtMTYxOyB0eXBlZGVmIFAxNjIgaXRlbTE2MjsgdHlwZWRlZiBQMTYzIGl0ZW0xNjM7IHR5cGVkZWYgUDE2NCBpdGVtMTY0OyB0eXBlZGVmIFAxNjUgaXRlbTE2NTsgdHlwZWRlZiBQMTY2IGl0ZW0xNjY7IHR5cGVkZWYgUDE2NyBpdGVtMTY3OyB0eXBlZGVmIFAxNjggaXRlbTE2ODsgdHlwZWRlZiBQMTY5IGl0ZW0xNjk7IHR5cGVkZWYgUDE3MCBpdGVtMTcwOyB0eXBlZGVmIFAxNzEgaXRlbTE3MTsgdHlwZWRlZiBQMTcyIGl0ZW0xNzI7IHR5cGVkZWYgUDE3MyBpdGVtMTczOyB0eXBlZGVmIFAxNzQgaXRlbTE3NDsgdHlwZWRlZiBQMTc1IGl0ZW0xNzU7IHR5cGVkZWYgUDE3NiBpdGVtMTc2OyB0eXBlZGVmIFAxNzcgaXRlbTE3NzsgdHlwZWRlZiBQMTc4IGl0ZW0xNzg7IHR5cGVkZWYgUDE3OSBpdGVtMTc5OyB0eXBlZGVmIFAxODAgaXRlbTE4MDsgdHlwZWRlZiBQMTgxIGl0ZW0xODE7IHR5cGVkZWYgUDE4MiBpdGVtMTgyOyB0eXBlZGVmIFAxODMgaXRlbTE4MzsgdHlwZWRlZiBQMTg0IGl0ZW0xODQ7IHR5cGVkZWYgUDE4NSBpdGVtMTg1OyB0eXBlZGVmIFAxODYgaXRlbTE4NjsgdHlwZWRlZiBQMTg3IGl0ZW0xODc7IHR5cGVkZWYgUDE4OCBpdGVtMTg4OyB0eXBlZGVmIFAxODkgaXRlbTE4OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0OTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ICwgY2xhc3MgUDk2ICwgY2xhc3MgUDk3ICwgY2xhc3MgUDk4ICwgY2xhc3MgUDk5ICwgY2xhc3MgUDEwMCAsIGNsYXNzIFAxMDEgLCBjbGFzcyBQMTAyICwgY2xhc3MgUDEwMyAsIGNsYXNzIFAxMDQgLCBjbGFzcyBQMTA1ICwgY2xhc3MgUDEwNiAsIGNsYXNzIFAxMDcgLCBjbGFzcyBQMTA4ICwgY2xhc3MgUDEwOSAsIGNsYXNzIFAxMTAgLCBjbGFzcyBQMTExICwgY2xhc3MgUDExMiAsIGNsYXNzIFAxMTMgLCBjbGFzcyBQMTE0ICwgY2xhc3MgUDExNSAsIGNsYXNzIFAxMTYgLCBjbGFzcyBQMTE3ICwgY2xhc3MgUDExOCAsIGNsYXNzIFAxMTkgLCBjbGFzcyBQMTIwICwgY2xhc3MgUDEyMSAsIGNsYXNzIFAxMjIgLCBjbGFzcyBQMTIzICwgY2xhc3MgUDEyNCAsIGNsYXNzIFAxMjUgLCBjbGFzcyBQMTI2ICwgY2xhc3MgUDEyNyAsIGNsYXNzIFAxMjggLCBjbGFzcyBQMTI5ICwgY2xhc3MgUDEzMCAsIGNsYXNzIFAxMzEgLCBjbGFzcyBQMTMyICwgY2xhc3MgUDEzMyAsIGNsYXNzIFAxMzQgLCBjbGFzcyBQMTM1ICwgY2xhc3MgUDEzNiAsIGNsYXNzIFAxMzcgLCBjbGFzcyBQMTM4ICwgY2xhc3MgUDEzOSAsIGNsYXNzIFAxNDAgLCBjbGFzcyBQMTQxICwgY2xhc3MgUDE0MiAsIGNsYXNzIFAxNDMgLCBjbGFzcyBQMTQ0ICwgY2xhc3MgUDE0NSAsIGNsYXNzIFAxNDYgLCBjbGFzcyBQMTQ3ICwgY2xhc3MgUDE0OCAsIGNsYXNzIFAxNDkgLCBjbGFzcyBQMTUwICwgY2xhc3MgUDE1MSAsIGNsYXNzIFAxNTIgLCBjbGFzcyBQMTUzICwgY2xhc3MgUDE1NCAsIGNsYXNzIFAxNTUgLCBjbGFzcyBQMTU2ICwgY2xhc3MgUDE1NyAsIGNsYXNzIFAxNTggLCBjbGFzcyBQMTU5ICwgY2xhc3MgUDE2MCAsIGNsYXNzIFAxNjEgLCBjbGFzcyBQMTYyICwgY2xhc3MgUDE2MyAsIGNsYXNzIFAxNjQgLCBjbGFzcyBQMTY1ICwgY2xhc3MgUDE2NiAsIGNsYXNzIFAxNjcgLCBjbGFzcyBQMTY4ICwgY2xhc3MgUDE2OSAsIGNsYXNzIFAxNzAgLCBjbGFzcyBQMTcxICwgY2xhc3MgUDE3MiAsIGNsYXNzIFAxNzMgLCBjbGFzcyBQMTc0ICwgY2xhc3MgUDE3NSAsIGNsYXNzIFAxNzYgLCBjbGFzcyBQMTc3ICwgY2xhc3MgUDE3OCAsIGNsYXNzIFAxNzkgLCBjbGFzcyBQMTgwICwgY2xhc3MgUDE4MSAsIGNsYXNzIFAxODIgLCBjbGFzcyBQMTgzICwgY2xhc3MgUDE4NCAsIGNsYXNzIFAxODUgLCBjbGFzcyBQMTg2ICwgY2xhc3MgUDE4NyAsIGNsYXNzIFAxODggLCBjbGFzcyBQMTg5ICwgY2xhc3MgUDE5MCA+IHN0cnVjdCB2ZWN0b3IxOTEgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3IxOTE8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1ICwgUDk2ICwgUDk3ICwgUDk4ICwgUDk5ICwgUDEwMCAsIFAxMDEgLCBQMTAyICwgUDEwMyAsIFAxMDQgLCBQMTA1ICwgUDEwNiAsIFAxMDcgLCBQMTA4ICwgUDEwOSAsIFAxMTAgLCBQMTExICwgUDExMiAsIFAxMTMgLCBQMTE0ICwgUDExNSAsIFAxMTYgLCBQMTE3ICwgUDExOCAsIFAxMTkgLCBQMTIwICwgUDEyMSAsIFAxMjIgLCBQMTIzICwgUDEyNCAsIFAxMjUgLCBQMTI2ICwgUDEyNyAsIFAxMjggLCBQMTI5ICwgUDEzMCAsIFAxMzEgLCBQMTMyICwgUDEzMyAsIFAxMzQgLCBQMTM1ICwgUDEzNiAsIFAxMzcgLCBQMTM4ICwgUDEzOSAsIFAxNDAgLCBQMTQxICwgUDE0MiAsIFAxNDMgLCBQMTQ0ICwgUDE0NSAsIFAxNDYgLCBQMTQ3ICwgUDE0OCAsIFAxNDkgLCBQMTUwICwgUDE1MSAsIFAxNTIgLCBQMTUzICwgUDE1NCAsIFAxNTUgLCBQMTU2ICwgUDE1NyAsIFAxNTggLCBQMTU5ICwgUDE2MCAsIFAxNjEgLCBQMTYyICwgUDE2MyAsIFAxNjQgLCBQMTY1ICwgUDE2NiAsIFAxNjcgLCBQMTY4ICwgUDE2OSAsIFAxNzAgLCBQMTcxICwgUDE3MiAsIFAxNzMgLCBQMTc0ICwgUDE3NSAsIFAxNzYgLCBQMTc3ICwgUDE3OCAsIFAxNzkgLCBQMTgwICwgUDE4MSAsIFAxODIgLCBQMTgzICwgUDE4NCAsIFAxODUgLCBQMTg2ICwgUDE4NyAsIFAxODggLCBQMTg5ICwgUDE5MD4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBQODggaXRlbTg4OyB0eXBlZGVmIFA4OSBpdGVtODk7IHR5cGVkZWYgUDkwIGl0ZW05MDsgdHlwZWRlZiBQOTEgaXRlbTkxOyB0eXBlZGVmIFA5MiBpdGVtOTI7IHR5cGVkZWYgUDkzIGl0ZW05MzsgdHlwZWRlZiBQOTQgaXRlbTk0OyB0eXBlZGVmIFA5NSBpdGVtOTU7IHR5cGVkZWYgUDk2IGl0ZW05NjsgdHlwZWRlZiBQOTcgaXRlbTk3OyB0eXBlZGVmIFA5OCBpdGVtOTg7IHR5cGVkZWYgUDk5IGl0ZW05OTsgdHlwZWRlZiBQMTAwIGl0ZW0xMDA7IHR5cGVkZWYgUDEwMSBpdGVtMTAxOyB0eXBlZGVmIFAxMDIgaXRlbTEwMjsgdHlwZWRlZiBQMTAzIGl0ZW0xMDM7IHR5cGVkZWYgUDEwNCBpdGVtMTA0OyB0eXBlZGVmIFAxMDUgaXRlbTEwNTsgdHlwZWRlZiBQMTA2IGl0ZW0xMDY7IHR5cGVkZWYgUDEwNyBpdGVtMTA3OyB0eXBlZGVmIFAxMDggaXRlbTEwODsgdHlwZWRlZiBQMTA5IGl0ZW0xMDk7IHR5cGVkZWYgUDExMCBpdGVtMTEwOyB0eXBlZGVmIFAxMTEgaXRlbTExMTsgdHlwZWRlZiBQMTEyIGl0ZW0xMTI7IHR5cGVkZWYgUDExMyBpdGVtMTEzOyB0eXBlZGVmIFAxMTQgaXRlbTExNDsgdHlwZWRlZiBQMTE1IGl0ZW0xMTU7IHR5cGVkZWYgUDExNiBpdGVtMTE2OyB0eXBlZGVmIFAxMTcgaXRlbTExNzsgdHlwZWRlZiBQMTE4IGl0ZW0xMTg7IHR5cGVkZWYgUDExOSBpdGVtMTE5OyB0eXBlZGVmIFAxMjAgaXRlbTEyMDsgdHlwZWRlZiBQMTIxIGl0ZW0xMjE7IHR5cGVkZWYgUDEyMiBpdGVtMTIyOyB0eXBlZGVmIFAxMjMgaXRlbTEyMzsgdHlwZWRlZiBQMTI0IGl0ZW0xMjQ7IHR5cGVkZWYgUDEyNSBpdGVtMTI1OyB0eXBlZGVmIFAxMjYgaXRlbTEyNjsgdHlwZWRlZiBQMTI3IGl0ZW0xMjc7IHR5cGVkZWYgUDEyOCBpdGVtMTI4OyB0eXBlZGVmIFAxMjkgaXRlbTEyOTsgdHlwZWRlZiBQMTMwIGl0ZW0xMzA7IHR5cGVkZWYgUDEzMSBpdGVtMTMxOyB0eXBlZGVmIFAxMzIgaXRlbTEzMjsgdHlwZWRlZiBQMTMzIGl0ZW0xMzM7IHR5cGVkZWYgUDEzNCBpdGVtMTM0OyB0eXBlZGVmIFAxMzUgaXRlbTEzNTsgdHlwZWRlZiBQMTM2IGl0ZW0xMzY7IHR5cGVkZWYgUDEzNyBpdGVtMTM3OyB0eXBlZGVmIFAxMzggaXRlbTEzODsgdHlwZWRlZiBQMTM5IGl0ZW0xMzk7IHR5cGVkZWYgUDE0MCBpdGVtMTQwOyB0eXBlZGVmIFAxNDEgaXRlbTE0MTsgdHlwZWRlZiBQMTQyIGl0ZW0xNDI7IHR5cGVkZWYgUDE0MyBpdGVtMTQzOyB0eXBlZGVmIFAxNDQgaXRlbTE0NDsgdHlwZWRlZiBQMTQ1IGl0ZW0xNDU7IHR5cGVkZWYgUDE0NiBpdGVtMTQ2OyB0eXBlZGVmIFAxNDcgaXRlbTE0NzsgdHlwZWRlZiBQMTQ4IGl0ZW0xNDg7IHR5cGVkZWYgUDE0OSBpdGVtMTQ5OyB0eXBlZGVmIFAxNTAgaXRlbTE1MDsgdHlwZWRlZiBQMTUxIGl0ZW0xNTE7IHR5cGVkZWYgUDE1MiBpdGVtMTUyOyB0eXBlZGVmIFAxNTMgaXRlbTE1MzsgdHlwZWRlZiBQMTU0IGl0ZW0xNTQ7IHR5cGVkZWYgUDE1NSBpdGVtMTU1OyB0eXBlZGVmIFAxNTYgaXRlbTE1NjsgdHlwZWRlZiBQMTU3IGl0ZW0xNTc7IHR5cGVkZWYgUDE1OCBpdGVtMTU4OyB0eXBlZGVmIFAxNTkgaXRlbTE1OTsgdHlwZWRlZiBQMTYwIGl0ZW0xNjA7IHR5cGVkZWYgUDE2MSBpdGVtMTYxOyB0eXBlZGVmIFAxNjIgaXRlbTE2MjsgdHlwZWRlZiBQMTYzIGl0ZW0xNjM7IHR5cGVkZWYgUDE2NCBpdGVtMTY0OyB0eXBlZGVmIFAxNjUgaXRlbTE2NTsgdHlwZWRlZiBQMTY2IGl0ZW0xNjY7IHR5cGVkZWYgUDE2NyBpdGVtMTY3OyB0eXBlZGVmIFAxNjggaXRlbTE2ODsgdHlwZWRlZiBQMTY5IGl0ZW0xNjk7IHR5cGVkZWYgUDE3MCBpdGVtMTcwOyB0eXBlZGVmIFAxNzEgaXRlbTE3MTsgdHlwZWRlZiBQMTcyIGl0ZW0xNzI7IHR5cGVkZWYgUDE3MyBpdGVtMTczOyB0eXBlZGVmIFAxNzQgaXRlbTE3NDsgdHlwZWRlZiBQMTc1IGl0ZW0xNzU7IHR5cGVkZWYgUDE3NiBpdGVtMTc2OyB0eXBlZGVmIFAxNzcgaXRlbTE3NzsgdHlwZWRlZiBQMTc4IGl0ZW0xNzg7IHR5cGVkZWYgUDE3OSBpdGVtMTc5OyB0eXBlZGVmIFAxODAgaXRlbTE4MDsgdHlwZWRlZiBQMTgxIGl0ZW0xODE7IHR5cGVkZWYgUDE4MiBpdGVtMTgyOyB0eXBlZGVmIFAxODMgaXRlbTE4MzsgdHlwZWRlZiBQMTg0IGl0ZW0xODQ7IHR5cGVkZWYgUDE4NSBpdGVtMTg1OyB0eXBlZGVmIFAxODYgaXRlbTE4NjsgdHlwZWRlZiBQMTg3IGl0ZW0xODc7IHR5cGVkZWYgUDE4OCBpdGVtMTg4OyB0eXBlZGVmIFAxODkgaXRlbTE4OTsgdHlwZWRlZiBQMTkwIGl0ZW0xOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDk7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSAsIGNsYXNzIFA4NiAsIGNsYXNzIFA4NyAsIGNsYXNzIFA4OCAsIGNsYXNzIFA4OSAsIGNsYXNzIFA5MCAsIGNsYXNzIFA5MSAsIGNsYXNzIFA5MiAsIGNsYXNzIFA5MyAsIGNsYXNzIFA5NCAsIGNsYXNzIFA5NSAsIGNsYXNzIFA5NiAsIGNsYXNzIFA5NyAsIGNsYXNzIFA5OCAsIGNsYXNzIFA5OSAsIGNsYXNzIFAxMDAgLCBjbGFzcyBQMTAxICwgY2xhc3MgUDEwMiAsIGNsYXNzIFAxMDMgLCBjbGFzcyBQMTA0ICwgY2xhc3MgUDEwNSAsIGNsYXNzIFAxMDYgLCBjbGFzcyBQMTA3ICwgY2xhc3MgUDEwOCAsIGNsYXNzIFAxMDkgLCBjbGFzcyBQMTEwICwgY2xhc3MgUDExMSAsIGNsYXNzIFAxMTIgLCBjbGFzcyBQMTEzICwgY2xhc3MgUDExNCAsIGNsYXNzIFAxMTUgLCBjbGFzcyBQMTE2ICwgY2xhc3MgUDExNyAsIGNsYXNzIFAxMTggLCBjbGFzcyBQMTE5ICwgY2xhc3MgUDEyMCAsIGNsYXNzIFAxMjEgLCBjbGFzcyBQMTIyICwgY2xhc3MgUDEyMyAsIGNsYXNzIFAxMjQgLCBjbGFzcyBQMTI1ICwgY2xhc3MgUDEyNiAsIGNsYXNzIFAxMjcgLCBjbGFzcyBQMTI4ICwgY2xhc3MgUDEyOSAsIGNsYXNzIFAxMzAgLCBjbGFzcyBQMTMxICwgY2xhc3MgUDEzMiAsIGNsYXNzIFAxMzMgLCBjbGFzcyBQMTM0ICwgY2xhc3MgUDEzNSAsIGNsYXNzIFAxMzYgLCBjbGFzcyBQMTM3ICwgY2xhc3MgUDEzOCAsIGNsYXNzIFAxMzkgLCBjbGFzcyBQMTQwICwgY2xhc3MgUDE0MSAsIGNsYXNzIFAxNDIgLCBjbGFzcyBQMTQzICwgY2xhc3MgUDE0NCAsIGNsYXNzIFAxNDUgLCBjbGFzcyBQMTQ2ICwgY2xhc3MgUDE0NyAsIGNsYXNzIFAxNDggLCBjbGFzcyBQMTQ5ICwgY2xhc3MgUDE1MCAsIGNsYXNzIFAxNTEgLCBjbGFzcyBQMTUyICwgY2xhc3MgUDE1MyAsIGNsYXNzIFAxNTQgLCBjbGFzcyBQMTU1ICwgY2xhc3MgUDE1NiAsIGNsYXNzIFAxNTcgLCBjbGFzcyBQMTU4ICwgY2xhc3MgUDE1OSAsIGNsYXNzIFAxNjAgLCBjbGFzcyBQMTYxICwgY2xhc3MgUDE2MiAsIGNsYXNzIFAxNjMgLCBjbGFzcyBQMTY0ICwgY2xhc3MgUDE2NSAsIGNsYXNzIFAxNjYgLCBjbGFzcyBQMTY3ICwgY2xhc3MgUDE2OCAsIGNsYXNzIFAxNjkgLCBjbGFzcyBQMTcwICwgY2xhc3MgUDE3MSAsIGNsYXNzIFAxNzIgLCBjbGFzcyBQMTczICwgY2xhc3MgUDE3NCAsIGNsYXNzIFAxNzUgLCBjbGFzcyBQMTc2ICwgY2xhc3MgUDE3NyAsIGNsYXNzIFAxNzggLCBjbGFzcyBQMTc5ICwgY2xhc3MgUDE4MCAsIGNsYXNzIFAxODEgLCBjbGFzcyBQMTgyICwgY2xhc3MgUDE4MyAsIGNsYXNzIFAxODQgLCBjbGFzcyBQMTg1ICwgY2xhc3MgUDE4NiAsIGNsYXNzIFAxODcgLCBjbGFzcyBQMTg4ICwgY2xhc3MgUDE4OSAsIGNsYXNzIFAxOTAgLCBjbGFzcyBQMTkxID4gc3RydWN0IHZlY3RvcjE5MiB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjE5MjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MCAsIFAxNDEgLCBQMTQyICwgUDE0MyAsIFAxNDQgLCBQMTQ1ICwgUDE0NiAsIFAxNDcgLCBQMTQ4ICwgUDE0OSAsIFAxNTAgLCBQMTUxICwgUDE1MiAsIFAxNTMgLCBQMTU0ICwgUDE1NSAsIFAxNTYgLCBQMTU3ICwgUDE1OCAsIFAxNTkgLCBQMTYwICwgUDE2MSAsIFAxNjIgLCBQMTYzICwgUDE2NCAsIFAxNjUgLCBQMTY2ICwgUDE2NyAsIFAxNjggLCBQMTY5ICwgUDE3MCAsIFAxNzEgLCBQMTcyICwgUDE3MyAsIFAxNzQgLCBQMTc1ICwgUDE3NiAsIFAxNzcgLCBQMTc4ICwgUDE3OSAsIFAxODAgLCBQMTgxICwgUDE4MiAsIFAxODMgLCBQMTg0ICwgUDE4NSAsIFAxODYgLCBQMTg3ICwgUDE4OCAsIFAxODkgLCBQMTkwICwgUDE5MT4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBQODggaXRlbTg4OyB0eXBlZGVmIFA4OSBpdGVtODk7IHR5cGVkZWYgUDkwIGl0ZW05MDsgdHlwZWRlZiBQOTEgaXRlbTkxOyB0eXBlZGVmIFA5MiBpdGVtOTI7IHR5cGVkZWYgUDkzIGl0ZW05MzsgdHlwZWRlZiBQOTQgaXRlbTk0OyB0eXBlZGVmIFA5NSBpdGVtOTU7IHR5cGVkZWYgUDk2IGl0ZW05NjsgdHlwZWRlZiBQOTcgaXRlbTk3OyB0eXBlZGVmIFA5OCBpdGVtOTg7IHR5cGVkZWYgUDk5IGl0ZW05OTsgdHlwZWRlZiBQMTAwIGl0ZW0xMDA7IHR5cGVkZWYgUDEwMSBpdGVtMTAxOyB0eXBlZGVmIFAxMDIgaXRlbTEwMjsgdHlwZWRlZiBQMTAzIGl0ZW0xMDM7IHR5cGVkZWYgUDEwNCBpdGVtMTA0OyB0eXBlZGVmIFAxMDUgaXRlbTEwNTsgdHlwZWRlZiBQMTA2IGl0ZW0xMDY7IHR5cGVkZWYgUDEwNyBpdGVtMTA3OyB0eXBlZGVmIFAxMDggaXRlbTEwODsgdHlwZWRlZiBQMTA5IGl0ZW0xMDk7IHR5cGVkZWYgUDExMCBpdGVtMTEwOyB0eXBlZGVmIFAxMTEgaXRlbTExMTsgdHlwZWRlZiBQMTEyIGl0ZW0xMTI7IHR5cGVkZWYgUDExMyBpdGVtMTEzOyB0eXBlZGVmIFAxMTQgaXRlbTExNDsgdHlwZWRlZiBQMTE1IGl0ZW0xMTU7IHR5cGVkZWYgUDExNiBpdGVtMTE2OyB0eXBlZGVmIFAxMTcgaXRlbTExNzsgdHlwZWRlZiBQMTE4IGl0ZW0xMTg7IHR5cGVkZWYgUDExOSBpdGVtMTE5OyB0eXBlZGVmIFAxMjAgaXRlbTEyMDsgdHlwZWRlZiBQMTIxIGl0ZW0xMjE7IHR5cGVkZWYgUDEyMiBpdGVtMTIyOyB0eXBlZGVmIFAxMjMgaXRlbTEyMzsgdHlwZWRlZiBQMTI0IGl0ZW0xMjQ7IHR5cGVkZWYgUDEyNSBpdGVtMTI1OyB0eXBlZGVmIFAxMjYgaXRlbTEyNjsgdHlwZWRlZiBQMTI3IGl0ZW0xMjc7IHR5cGVkZWYgUDEyOCBpdGVtMTI4OyB0eXBlZGVmIFAxMjkgaXRlbTEyOTsgdHlwZWRlZiBQMTMwIGl0ZW0xMzA7IHR5cGVkZWYgUDEzMSBpdGVtMTMxOyB0eXBlZGVmIFAxMzIgaXRlbTEzMjsgdHlwZWRlZiBQMTMzIGl0ZW0xMzM7IHR5cGVkZWYgUDEzNCBpdGVtMTM0OyB0eXBlZGVmIFAxMzUgaXRlbTEzNTsgdHlwZWRlZiBQMTM2IGl0ZW0xMzY7IHR5cGVkZWYgUDEzNyBpdGVtMTM3OyB0eXBlZGVmIFAxMzggaXRlbTEzODsgdHlwZWRlZiBQMTM5IGl0ZW0xMzk7IHR5cGVkZWYgUDE0MCBpdGVtMTQwOyB0eXBlZGVmIFAxNDEgaXRlbTE0MTsgdHlwZWRlZiBQMTQyIGl0ZW0xNDI7IHR5cGVkZWYgUDE0MyBpdGVtMTQzOyB0eXBlZGVmIFAxNDQgaXRlbTE0NDsgdHlwZWRlZiBQMTQ1IGl0ZW0xNDU7IHR5cGVkZWYgUDE0NiBpdGVtMTQ2OyB0eXBlZGVmIFAxNDcgaXRlbTE0NzsgdHlwZWRlZiBQMTQ4IGl0ZW0xNDg7IHR5cGVkZWYgUDE0OSBpdGVtMTQ5OyB0eXBlZGVmIFAxNTAgaXRlbTE1MDsgdHlwZWRlZiBQMTUxIGl0ZW0xNTE7IHR5cGVkZWYgUDE1MiBpdGVtMTUyOyB0eXBlZGVmIFAxNTMgaXRlbTE1MzsgdHlwZWRlZiBQMTU0IGl0ZW0xNTQ7IHR5cGVkZWYgUDE1NSBpdGVtMTU1OyB0eXBlZGVmIFAxNTYgaXRlbTE1NjsgdHlwZWRlZiBQMTU3IGl0ZW0xNTc7IHR5cGVkZWYgUDE1OCBpdGVtMTU4OyB0eXBlZGVmIFAxNTkgaXRlbTE1OTsgdHlwZWRlZiBQMTYwIGl0ZW0xNjA7IHR5cGVkZWYgUDE2MSBpdGVtMTYxOyB0eXBlZGVmIFAxNjIgaXRlbTE2MjsgdHlwZWRlZiBQMTYzIGl0ZW0xNjM7IHR5cGVkZWYgUDE2NCBpdGVtMTY0OyB0eXBlZGVmIFAxNjUgaXRlbTE2NTsgdHlwZWRlZiBQMTY2IGl0ZW0xNjY7IHR5cGVkZWYgUDE2NyBpdGVtMTY3OyB0eXBlZGVmIFAxNjggaXRlbTE2ODsgdHlwZWRlZiBQMTY5IGl0ZW0xNjk7IHR5cGVkZWYgUDE3MCBpdGVtMTcwOyB0eXBlZGVmIFAxNzEgaXRlbTE3MTsgdHlwZWRlZiBQMTcyIGl0ZW0xNzI7IHR5cGVkZWYgUDE3MyBpdGVtMTczOyB0eXBlZGVmIFAxNzQgaXRlbTE3NDsgdHlwZWRlZiBQMTc1IGl0ZW0xNzU7IHR5cGVkZWYgUDE3NiBpdGVtMTc2OyB0eXBlZGVmIFAxNzcgaXRlbTE3NzsgdHlwZWRlZiBQMTc4IGl0ZW0xNzg7IHR5cGVkZWYgUDE3OSBpdGVtMTc5OyB0eXBlZGVmIFAxODAgaXRlbTE4MDsgdHlwZWRlZiBQMTgxIGl0ZW0xODE7IHR5cGVkZWYgUDE4MiBpdGVtMTgyOyB0eXBlZGVmIFAxODMgaXRlbTE4MzsgdHlwZWRlZiBQMTg0IGl0ZW0xODQ7IHR5cGVkZWYgUDE4NSBpdGVtMTg1OyB0eXBlZGVmIFAxODYgaXRlbTE4NjsgdHlwZWRlZiBQMTg3IGl0ZW0xODc7IHR5cGVkZWYgUDE4OCBpdGVtMTg4OyB0eXBlZGVmIFAxODkgaXRlbTE4OTsgdHlwZWRlZiBQMTkwIGl0ZW0xOTA7IHR5cGVkZWYgUDE5MSBpdGVtMTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ5OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBQOTMgLCBjbGFzcyBQOTQgLCBjbGFzcyBQOTUgLCBjbGFzcyBQOTYgLCBjbGFzcyBQOTcgLCBjbGFzcyBQOTggLCBjbGFzcyBQOTkgLCBjbGFzcyBQMTAwICwgY2xhc3MgUDEwMSAsIGNsYXNzIFAxMDIgLCBjbGFzcyBQMTAzICwgY2xhc3MgUDEwNCAsIGNsYXNzIFAxMDUgLCBjbGFzcyBQMTA2ICwgY2xhc3MgUDEwNyAsIGNsYXNzIFAxMDggLCBjbGFzcyBQMTA5ICwgY2xhc3MgUDExMCAsIGNsYXNzIFAxMTEgLCBjbGFzcyBQMTEyICwgY2xhc3MgUDExMyAsIGNsYXNzIFAxMTQgLCBjbGFzcyBQMTE1ICwgY2xhc3MgUDExNiAsIGNsYXNzIFAxMTcgLCBjbGFzcyBQMTE4ICwgY2xhc3MgUDExOSAsIGNsYXNzIFAxMjAgLCBjbGFzcyBQMTIxICwgY2xhc3MgUDEyMiAsIGNsYXNzIFAxMjMgLCBjbGFzcyBQMTI0ICwgY2xhc3MgUDEyNSAsIGNsYXNzIFAxMjYgLCBjbGFzcyBQMTI3ICwgY2xhc3MgUDEyOCAsIGNsYXNzIFAxMjkgLCBjbGFzcyBQMTMwICwgY2xhc3MgUDEzMSAsIGNsYXNzIFAxMzIgLCBjbGFzcyBQMTMzICwgY2xhc3MgUDEzNCAsIGNsYXNzIFAxMzUgLCBjbGFzcyBQMTM2ICwgY2xhc3MgUDEzNyAsIGNsYXNzIFAxMzggLCBjbGFzcyBQMTM5ICwgY2xhc3MgUDE0MCAsIGNsYXNzIFAxNDEgLCBjbGFzcyBQMTQyICwgY2xhc3MgUDE0MyAsIGNsYXNzIFAxNDQgLCBjbGFzcyBQMTQ1ICwgY2xhc3MgUDE0NiAsIGNsYXNzIFAxNDcgLCBjbGFzcyBQMTQ4ICwgY2xhc3MgUDE0OSAsIGNsYXNzIFAxNTAgLCBjbGFzcyBQMTUxICwgY2xhc3MgUDE1MiAsIGNsYXNzIFAxNTMgLCBjbGFzcyBQMTU0ICwgY2xhc3MgUDE1NSAsIGNsYXNzIFAxNTYgLCBjbGFzcyBQMTU3ICwgY2xhc3MgUDE1OCAsIGNsYXNzIFAxNTkgLCBjbGFzcyBQMTYwICwgY2xhc3MgUDE2MSAsIGNsYXNzIFAxNjIgLCBjbGFzcyBQMTYzICwgY2xhc3MgUDE2NCAsIGNsYXNzIFAxNjUgLCBjbGFzcyBQMTY2ICwgY2xhc3MgUDE2NyAsIGNsYXNzIFAxNjggLCBjbGFzcyBQMTY5ICwgY2xhc3MgUDE3MCAsIGNsYXNzIFAxNzEgLCBjbGFzcyBQMTcyICwgY2xhc3MgUDE3MyAsIGNsYXNzIFAxNzQgLCBjbGFzcyBQMTc1ICwgY2xhc3MgUDE3NiAsIGNsYXNzIFAxNzcgLCBjbGFzcyBQMTc4ICwgY2xhc3MgUDE3OSAsIGNsYXNzIFAxODAgLCBjbGFzcyBQMTgxICwgY2xhc3MgUDE4MiAsIGNsYXNzIFAxODMgLCBjbGFzcyBQMTg0ICwgY2xhc3MgUDE4NSAsIGNsYXNzIFAxODYgLCBjbGFzcyBQMTg3ICwgY2xhc3MgUDE4OCAsIGNsYXNzIFAxODkgLCBjbGFzcyBQMTkwICwgY2xhc3MgUDE5MSAsIGNsYXNzIFAxOTIgPiBzdHJ1Y3QgdmVjdG9yMTkzIHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yMTkzPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFA5MiAsIFA5MyAsIFA5NCAsIFA5NSAsIFA5NiAsIFA5NyAsIFA5OCAsIFA5OSAsIFAxMDAgLCBQMTAxICwgUDEwMiAsIFAxMDMgLCBQMTA0ICwgUDEwNSAsIFAxMDYgLCBQMTA3ICwgUDEwOCAsIFAxMDkgLCBQMTEwICwgUDExMSAsIFAxMTIgLCBQMTEzICwgUDExNCAsIFAxMTUgLCBQMTE2ICwgUDExNyAsIFAxMTggLCBQMTE5ICwgUDEyMCAsIFAxMjEgLCBQMTIyICwgUDEyMyAsIFAxMjQgLCBQMTI1ICwgUDEyNiAsIFAxMjcgLCBQMTI4ICwgUDEyOSAsIFAxMzAgLCBQMTMxICwgUDEzMiAsIFAxMzMgLCBQMTM0ICwgUDEzNSAsIFAxMzYgLCBQMTM3ICwgUDEzOCAsIFAxMzkgLCBQMTQwICwgUDE0MSAsIFAxNDIgLCBQMTQzICwgUDE0NCAsIFAxNDUgLCBQMTQ2ICwgUDE0NyAsIFAxNDggLCBQMTQ5ICwgUDE1MCAsIFAxNTEgLCBQMTUyICwgUDE1MyAsIFAxNTQgLCBQMTU1ICwgUDE1NiAsIFAxNTcgLCBQMTU4ICwgUDE1OSAsIFAxNjAgLCBQMTYxICwgUDE2MiAsIFAxNjMgLCBQMTY0ICwgUDE2NSAsIFAxNjYgLCBQMTY3ICwgUDE2OCAsIFAxNjkgLCBQMTcwICwgUDE3MSAsIFAxNzIgLCBQMTczICwgUDE3NCAsIFAxNzUgLCBQMTc2ICwgUDE3NyAsIFAxNzggLCBQMTc5ICwgUDE4MCAsIFAxODEgLCBQMTgyICwgUDE4MyAsIFAxODQgLCBQMTg1ICwgUDE4NiAsIFAxODcgLCBQMTg4ICwgUDE4OSAsIFAxOTAgLCBQMTkxICwgUDE5Mj4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBQODggaXRlbTg4OyB0eXBlZGVmIFA4OSBpdGVtODk7IHR5cGVkZWYgUDkwIGl0ZW05MDsgdHlwZWRlZiBQOTEgaXRlbTkxOyB0eXBlZGVmIFA5MiBpdGVtOTI7IHR5cGVkZWYgUDkzIGl0ZW05MzsgdHlwZWRlZiBQOTQgaXRlbTk0OyB0eXBlZGVmIFA5NSBpdGVtOTU7IHR5cGVkZWYgUDk2IGl0ZW05NjsgdHlwZWRlZiBQOTcgaXRlbTk3OyB0eXBlZGVmIFA5OCBpdGVtOTg7IHR5cGVkZWYgUDk5IGl0ZW05OTsgdHlwZWRlZiBQMTAwIGl0ZW0xMDA7IHR5cGVkZWYgUDEwMSBpdGVtMTAxOyB0eXBlZGVmIFAxMDIgaXRlbTEwMjsgdHlwZWRlZiBQMTAzIGl0ZW0xMDM7IHR5cGVkZWYgUDEwNCBpdGVtMTA0OyB0eXBlZGVmIFAxMDUgaXRlbTEwNTsgdHlwZWRlZiBQMTA2IGl0ZW0xMDY7IHR5cGVkZWYgUDEwNyBpdGVtMTA3OyB0eXBlZGVmIFAxMDggaXRlbTEwODsgdHlwZWRlZiBQMTA5IGl0ZW0xMDk7IHR5cGVkZWYgUDExMCBpdGVtMTEwOyB0eXBlZGVmIFAxMTEgaXRlbTExMTsgdHlwZWRlZiBQMTEyIGl0ZW0xMTI7IHR5cGVkZWYgUDExMyBpdGVtMTEzOyB0eXBlZGVmIFAxMTQgaXRlbTExNDsgdHlwZWRlZiBQMTE1IGl0ZW0xMTU7IHR5cGVkZWYgUDExNiBpdGVtMTE2OyB0eXBlZGVmIFAxMTcgaXRlbTExNzsgdHlwZWRlZiBQMTE4IGl0ZW0xMTg7IHR5cGVkZWYgUDExOSBpdGVtMTE5OyB0eXBlZGVmIFAxMjAgaXRlbTEyMDsgdHlwZWRlZiBQMTIxIGl0ZW0xMjE7IHR5cGVkZWYgUDEyMiBpdGVtMTIyOyB0eXBlZGVmIFAxMjMgaXRlbTEyMzsgdHlwZWRlZiBQMTI0IGl0ZW0xMjQ7IHR5cGVkZWYgUDEyNSBpdGVtMTI1OyB0eXBlZGVmIFAxMjYgaXRlbTEyNjsgdHlwZWRlZiBQMTI3IGl0ZW0xMjc7IHR5cGVkZWYgUDEyOCBpdGVtMTI4OyB0eXBlZGVmIFAxMjkgaXRlbTEyOTsgdHlwZWRlZiBQMTMwIGl0ZW0xMzA7IHR5cGVkZWYgUDEzMSBpdGVtMTMxOyB0eXBlZGVmIFAxMzIgaXRlbTEzMjsgdHlwZWRlZiBQMTMzIGl0ZW0xMzM7IHR5cGVkZWYgUDEzNCBpdGVtMTM0OyB0eXBlZGVmIFAxMzUgaXRlbTEzNTsgdHlwZWRlZiBQMTM2IGl0ZW0xMzY7IHR5cGVkZWYgUDEzNyBpdGVtMTM3OyB0eXBlZGVmIFAxMzggaXRlbTEzODsgdHlwZWRlZiBQMTM5IGl0ZW0xMzk7IHR5cGVkZWYgUDE0MCBpdGVtMTQwOyB0eXBlZGVmIFAxNDEgaXRlbTE0MTsgdHlwZWRlZiBQMTQyIGl0ZW0xNDI7IHR5cGVkZWYgUDE0MyBpdGVtMTQzOyB0eXBlZGVmIFAxNDQgaXRlbTE0NDsgdHlwZWRlZiBQMTQ1IGl0ZW0xNDU7IHR5cGVkZWYgUDE0NiBpdGVtMTQ2OyB0eXBlZGVmIFAxNDcgaXRlbTE0NzsgdHlwZWRlZiBQMTQ4IGl0ZW0xNDg7IHR5cGVkZWYgUDE0OSBpdGVtMTQ5OyB0eXBlZGVmIFAxNTAgaXRlbTE1MDsgdHlwZWRlZiBQMTUxIGl0ZW0xNTE7IHR5cGVkZWYgUDE1MiBpdGVtMTUyOyB0eXBlZGVmIFAxNTMgaXRlbTE1MzsgdHlwZWRlZiBQMTU0IGl0ZW0xNTQ7IHR5cGVkZWYgUDE1NSBpdGVtMTU1OyB0eXBlZGVmIFAxNTYgaXRlbTE1NjsgdHlwZWRlZiBQMTU3IGl0ZW0xNTc7IHR5cGVkZWYgUDE1OCBpdGVtMTU4OyB0eXBlZGVmIFAxNTkgaXRlbTE1OTsgdHlwZWRlZiBQMTYwIGl0ZW0xNjA7IHR5cGVkZWYgUDE2MSBpdGVtMTYxOyB0eXBlZGVmIFAxNjIgaXRlbTE2MjsgdHlwZWRlZiBQMTYzIGl0ZW0xNjM7IHR5cGVkZWYgUDE2NCBpdGVtMTY0OyB0eXBlZGVmIFAxNjUgaXRlbTE2NTsgdHlwZWRlZiBQMTY2IGl0ZW0xNjY7IHR5cGVkZWYgUDE2NyBpdGVtMTY3OyB0eXBlZGVmIFAxNjggaXRlbTE2ODsgdHlwZWRlZiBQMTY5IGl0ZW0xNjk7IHR5cGVkZWYgUDE3MCBpdGVtMTcwOyB0eXBlZGVmIFAxNzEgaXRlbTE3MTsgdHlwZWRlZiBQMTcyIGl0ZW0xNzI7IHR5cGVkZWYgUDE3MyBpdGVtMTczOyB0eXBlZGVmIFAxNzQgaXRlbTE3NDsgdHlwZWRlZiBQMTc1IGl0ZW0xNzU7IHR5cGVkZWYgUDE3NiBpdGVtMTc2OyB0eXBlZGVmIFAxNzcgaXRlbTE3NzsgdHlwZWRlZiBQMTc4IGl0ZW0xNzg7IHR5cGVkZWYgUDE3OSBpdGVtMTc5OyB0eXBlZGVmIFAxODAgaXRlbTE4MDsgdHlwZWRlZiBQMTgxIGl0ZW0xODE7IHR5cGVkZWYgUDE4MiBpdGVtMTgyOyB0eXBlZGVmIFAxODMgaXRlbTE4MzsgdHlwZWRlZiBQMTg0IGl0ZW0xODQ7IHR5cGVkZWYgUDE4NSBpdGVtMTg1OyB0eXBlZGVmIFAxODYgaXRlbTE4NjsgdHlwZWRlZiBQMTg3IGl0ZW0xODc7IHR5cGVkZWYgUDE4OCBpdGVtMTg4OyB0eXBlZGVmIFAxODkgaXRlbTE4OTsgdHlwZWRlZiBQMTkwIGl0ZW0xOTA7IHR5cGVkZWYgUDE5MSBpdGVtMTkxOyB0eXBlZGVmIFAxOTIgaXRlbTE5MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0OTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ICwgY2xhc3MgUDk2ICwgY2xhc3MgUDk3ICwgY2xhc3MgUDk4ICwgY2xhc3MgUDk5ICwgY2xhc3MgUDEwMCAsIGNsYXNzIFAxMDEgLCBjbGFzcyBQMTAyICwgY2xhc3MgUDEwMyAsIGNsYXNzIFAxMDQgLCBjbGFzcyBQMTA1ICwgY2xhc3MgUDEwNiAsIGNsYXNzIFAxMDcgLCBjbGFzcyBQMTA4ICwgY2xhc3MgUDEwOSAsIGNsYXNzIFAxMTAgLCBjbGFzcyBQMTExICwgY2xhc3MgUDExMiAsIGNsYXNzIFAxMTMgLCBjbGFzcyBQMTE0ICwgY2xhc3MgUDExNSAsIGNsYXNzIFAxMTYgLCBjbGFzcyBQMTE3ICwgY2xhc3MgUDExOCAsIGNsYXNzIFAxMTkgLCBjbGFzcyBQMTIwICwgY2xhc3MgUDEyMSAsIGNsYXNzIFAxMjIgLCBjbGFzcyBQMTIzICwgY2xhc3MgUDEyNCAsIGNsYXNzIFAxMjUgLCBjbGFzcyBQMTI2ICwgY2xhc3MgUDEyNyAsIGNsYXNzIFAxMjggLCBjbGFzcyBQMTI5ICwgY2xhc3MgUDEzMCAsIGNsYXNzIFAxMzEgLCBjbGFzcyBQMTMyICwgY2xhc3MgUDEzMyAsIGNsYXNzIFAxMzQgLCBjbGFzcyBQMTM1ICwgY2xhc3MgUDEzNiAsIGNsYXNzIFAxMzcgLCBjbGFzcyBQMTM4ICwgY2xhc3MgUDEzOSAsIGNsYXNzIFAxNDAgLCBjbGFzcyBQMTQxICwgY2xhc3MgUDE0MiAsIGNsYXNzIFAxNDMgLCBjbGFzcyBQMTQ0ICwgY2xhc3MgUDE0NSAsIGNsYXNzIFAxNDYgLCBjbGFzcyBQMTQ3ICwgY2xhc3MgUDE0OCAsIGNsYXNzIFAxNDkgLCBjbGFzcyBQMTUwICwgY2xhc3MgUDE1MSAsIGNsYXNzIFAxNTIgLCBjbGFzcyBQMTUzICwgY2xhc3MgUDE1NCAsIGNsYXNzIFAxNTUgLCBjbGFzcyBQMTU2ICwgY2xhc3MgUDE1NyAsIGNsYXNzIFAxNTggLCBjbGFzcyBQMTU5ICwgY2xhc3MgUDE2MCAsIGNsYXNzIFAxNjEgLCBjbGFzcyBQMTYyICwgY2xhc3MgUDE2MyAsIGNsYXNzIFAxNjQgLCBjbGFzcyBQMTY1ICwgY2xhc3MgUDE2NiAsIGNsYXNzIFAxNjcgLCBjbGFzcyBQMTY4ICwgY2xhc3MgUDE2OSAsIGNsYXNzIFAxNzAgLCBjbGFzcyBQMTcxICwgY2xhc3MgUDE3MiAsIGNsYXNzIFAxNzMgLCBjbGFzcyBQMTc0ICwgY2xhc3MgUDE3NSAsIGNsYXNzIFAxNzYgLCBjbGFzcyBQMTc3ICwgY2xhc3MgUDE3OCAsIGNsYXNzIFAxNzkgLCBjbGFzcyBQMTgwICwgY2xhc3MgUDE4MSAsIGNsYXNzIFAxODIgLCBjbGFzcyBQMTgzICwgY2xhc3MgUDE4NCAsIGNsYXNzIFAxODUgLCBjbGFzcyBQMTg2ICwgY2xhc3MgUDE4NyAsIGNsYXNzIFAxODggLCBjbGFzcyBQMTg5ICwgY2xhc3MgUDE5MCAsIGNsYXNzIFAxOTEgLCBjbGFzcyBQMTkyICwgY2xhc3MgUDE5MyA+IHN0cnVjdCB2ZWN0b3IxOTQgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3IxOTQ8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1ICwgUDk2ICwgUDk3ICwgUDk4ICwgUDk5ICwgUDEwMCAsIFAxMDEgLCBQMTAyICwgUDEwMyAsIFAxMDQgLCBQMTA1ICwgUDEwNiAsIFAxMDcgLCBQMTA4ICwgUDEwOSAsIFAxMTAgLCBQMTExICwgUDExMiAsIFAxMTMgLCBQMTE0ICwgUDExNSAsIFAxMTYgLCBQMTE3ICwgUDExOCAsIFAxMTkgLCBQMTIwICwgUDEyMSAsIFAxMjIgLCBQMTIzICwgUDEyNCAsIFAxMjUgLCBQMTI2ICwgUDEyNyAsIFAxMjggLCBQMTI5ICwgUDEzMCAsIFAxMzEgLCBQMTMyICwgUDEzMyAsIFAxMzQgLCBQMTM1ICwgUDEzNiAsIFAxMzcgLCBQMTM4ICwgUDEzOSAsIFAxNDAgLCBQMTQxICwgUDE0MiAsIFAxNDMgLCBQMTQ0ICwgUDE0NSAsIFAxNDYgLCBQMTQ3ICwgUDE0OCAsIFAxNDkgLCBQMTUwICwgUDE1MSAsIFAxNTIgLCBQMTUzICwgUDE1NCAsIFAxNTUgLCBQMTU2ICwgUDE1NyAsIFAxNTggLCBQMTU5ICwgUDE2MCAsIFAxNjEgLCBQMTYyICwgUDE2MyAsIFAxNjQgLCBQMTY1ICwgUDE2NiAsIFAxNjcgLCBQMTY4ICwgUDE2OSAsIFAxNzAgLCBQMTcxICwgUDE3MiAsIFAxNzMgLCBQMTc0ICwgUDE3NSAsIFAxNzYgLCBQMTc3ICwgUDE3OCAsIFAxNzkgLCBQMTgwICwgUDE4MSAsIFAxODIgLCBQMTgzICwgUDE4NCAsIFAxODUgLCBQMTg2ICwgUDE4NyAsIFAxODggLCBQMTg5ICwgUDE5MCAsIFAxOTEgLCBQMTkyICwgUDE5Mz4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBQODggaXRlbTg4OyB0eXBlZGVmIFA4OSBpdGVtODk7IHR5cGVkZWYgUDkwIGl0ZW05MDsgdHlwZWRlZiBQOTEgaXRlbTkxOyB0eXBlZGVmIFA5MiBpdGVtOTI7IHR5cGVkZWYgUDkzIGl0ZW05MzsgdHlwZWRlZiBQOTQgaXRlbTk0OyB0eXBlZGVmIFA5NSBpdGVtOTU7IHR5cGVkZWYgUDk2IGl0ZW05NjsgdHlwZWRlZiBQOTcgaXRlbTk3OyB0eXBlZGVmIFA5OCBpdGVtOTg7IHR5cGVkZWYgUDk5IGl0ZW05OTsgdHlwZWRlZiBQMTAwIGl0ZW0xMDA7IHR5cGVkZWYgUDEwMSBpdGVtMTAxOyB0eXBlZGVmIFAxMDIgaXRlbTEwMjsgdHlwZWRlZiBQMTAzIGl0ZW0xMDM7IHR5cGVkZWYgUDEwNCBpdGVtMTA0OyB0eXBlZGVmIFAxMDUgaXRlbTEwNTsgdHlwZWRlZiBQMTA2IGl0ZW0xMDY7IHR5cGVkZWYgUDEwNyBpdGVtMTA3OyB0eXBlZGVmIFAxMDggaXRlbTEwODsgdHlwZWRlZiBQMTA5IGl0ZW0xMDk7IHR5cGVkZWYgUDExMCBpdGVtMTEwOyB0eXBlZGVmIFAxMTEgaXRlbTExMTsgdHlwZWRlZiBQMTEyIGl0ZW0xMTI7IHR5cGVkZWYgUDExMyBpdGVtMTEzOyB0eXBlZGVmIFAxMTQgaXRlbTExNDsgdHlwZWRlZiBQMTE1IGl0ZW0xMTU7IHR5cGVkZWYgUDExNiBpdGVtMTE2OyB0eXBlZGVmIFAxMTcgaXRlbTExNzsgdHlwZWRlZiBQMTE4IGl0ZW0xMTg7IHR5cGVkZWYgUDExOSBpdGVtMTE5OyB0eXBlZGVmIFAxMjAgaXRlbTEyMDsgdHlwZWRlZiBQMTIxIGl0ZW0xMjE7IHR5cGVkZWYgUDEyMiBpdGVtMTIyOyB0eXBlZGVmIFAxMjMgaXRlbTEyMzsgdHlwZWRlZiBQMTI0IGl0ZW0xMjQ7IHR5cGVkZWYgUDEyNSBpdGVtMTI1OyB0eXBlZGVmIFAxMjYgaXRlbTEyNjsgdHlwZWRlZiBQMTI3IGl0ZW0xMjc7IHR5cGVkZWYgUDEyOCBpdGVtMTI4OyB0eXBlZGVmIFAxMjkgaXRlbTEyOTsgdHlwZWRlZiBQMTMwIGl0ZW0xMzA7IHR5cGVkZWYgUDEzMSBpdGVtMTMxOyB0eXBlZGVmIFAxMzIgaXRlbTEzMjsgdHlwZWRlZiBQMTMzIGl0ZW0xMzM7IHR5cGVkZWYgUDEzNCBpdGVtMTM0OyB0eXBlZGVmIFAxMzUgaXRlbTEzNTsgdHlwZWRlZiBQMTM2IGl0ZW0xMzY7IHR5cGVkZWYgUDEzNyBpdGVtMTM3OyB0eXBlZGVmIFAxMzggaXRlbTEzODsgdHlwZWRlZiBQMTM5IGl0ZW0xMzk7IHR5cGVkZWYgUDE0MCBpdGVtMTQwOyB0eXBlZGVmIFAxNDEgaXRlbTE0MTsgdHlwZWRlZiBQMTQyIGl0ZW0xNDI7IHR5cGVkZWYgUDE0MyBpdGVtMTQzOyB0eXBlZGVmIFAxNDQgaXRlbTE0NDsgdHlwZWRlZiBQMTQ1IGl0ZW0xNDU7IHR5cGVkZWYgUDE0NiBpdGVtMTQ2OyB0eXBlZGVmIFAxNDcgaXRlbTE0NzsgdHlwZWRlZiBQMTQ4IGl0ZW0xNDg7IHR5cGVkZWYgUDE0OSBpdGVtMTQ5OyB0eXBlZGVmIFAxNTAgaXRlbTE1MDsgdHlwZWRlZiBQMTUxIGl0ZW0xNTE7IHR5cGVkZWYgUDE1MiBpdGVtMTUyOyB0eXBlZGVmIFAxNTMgaXRlbTE1MzsgdHlwZWRlZiBQMTU0IGl0ZW0xNTQ7IHR5cGVkZWYgUDE1NSBpdGVtMTU1OyB0eXBlZGVmIFAxNTYgaXRlbTE1NjsgdHlwZWRlZiBQMTU3IGl0ZW0xNTc7IHR5cGVkZWYgUDE1OCBpdGVtMTU4OyB0eXBlZGVmIFAxNTkgaXRlbTE1OTsgdHlwZWRlZiBQMTYwIGl0ZW0xNjA7IHR5cGVkZWYgUDE2MSBpdGVtMTYxOyB0eXBlZGVmIFAxNjIgaXRlbTE2MjsgdHlwZWRlZiBQMTYzIGl0ZW0xNjM7IHR5cGVkZWYgUDE2NCBpdGVtMTY0OyB0eXBlZGVmIFAxNjUgaXRlbTE2NTsgdHlwZWRlZiBQMTY2IGl0ZW0xNjY7IHR5cGVkZWYgUDE2NyBpdGVtMTY3OyB0eXBlZGVmIFAxNjggaXRlbTE2ODsgdHlwZWRlZiBQMTY5IGl0ZW0xNjk7IHR5cGVkZWYgUDE3MCBpdGVtMTcwOyB0eXBlZGVmIFAxNzEgaXRlbTE3MTsgdHlwZWRlZiBQMTcyIGl0ZW0xNzI7IHR5cGVkZWYgUDE3MyBpdGVtMTczOyB0eXBlZGVmIFAxNzQgaXRlbTE3NDsgdHlwZWRlZiBQMTc1IGl0ZW0xNzU7IHR5cGVkZWYgUDE3NiBpdGVtMTc2OyB0eXBlZGVmIFAxNzcgaXRlbTE3NzsgdHlwZWRlZiBQMTc4IGl0ZW0xNzg7IHR5cGVkZWYgUDE3OSBpdGVtMTc5OyB0eXBlZGVmIFAxODAgaXRlbTE4MDsgdHlwZWRlZiBQMTgxIGl0ZW0xODE7IHR5cGVkZWYgUDE4MiBpdGVtMTgyOyB0eXBlZGVmIFAxODMgaXRlbTE4MzsgdHlwZWRlZiBQMTg0IGl0ZW0xODQ7IHR5cGVkZWYgUDE4NSBpdGVtMTg1OyB0eXBlZGVmIFAxODYgaXRlbTE4NjsgdHlwZWRlZiBQMTg3IGl0ZW0xODc7IHR5cGVkZWYgUDE4OCBpdGVtMTg4OyB0eXBlZGVmIFAxODkgaXRlbTE4OTsgdHlwZWRlZiBQMTkwIGl0ZW0xOTA7IHR5cGVkZWYgUDE5MSBpdGVtMTkxOyB0eXBlZGVmIFAxOTIgaXRlbTE5MjsgdHlwZWRlZiBQMTkzIGl0ZW0xOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDk7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSAsIGNsYXNzIFA4NiAsIGNsYXNzIFA4NyAsIGNsYXNzIFA4OCAsIGNsYXNzIFA4OSAsIGNsYXNzIFA5MCAsIGNsYXNzIFA5MSAsIGNsYXNzIFA5MiAsIGNsYXNzIFA5MyAsIGNsYXNzIFA5NCAsIGNsYXNzIFA5NSAsIGNsYXNzIFA5NiAsIGNsYXNzIFA5NyAsIGNsYXNzIFA5OCAsIGNsYXNzIFA5OSAsIGNsYXNzIFAxMDAgLCBjbGFzcyBQMTAxICwgY2xhc3MgUDEwMiAsIGNsYXNzIFAxMDMgLCBjbGFzcyBQMTA0ICwgY2xhc3MgUDEwNSAsIGNsYXNzIFAxMDYgLCBjbGFzcyBQMTA3ICwgY2xhc3MgUDEwOCAsIGNsYXNzIFAxMDkgLCBjbGFzcyBQMTEwICwgY2xhc3MgUDExMSAsIGNsYXNzIFAxMTIgLCBjbGFzcyBQMTEzICwgY2xhc3MgUDExNCAsIGNsYXNzIFAxMTUgLCBjbGFzcyBQMTE2ICwgY2xhc3MgUDExNyAsIGNsYXNzIFAxMTggLCBjbGFzcyBQMTE5ICwgY2xhc3MgUDEyMCAsIGNsYXNzIFAxMjEgLCBjbGFzcyBQMTIyICwgY2xhc3MgUDEyMyAsIGNsYXNzIFAxMjQgLCBjbGFzcyBQMTI1ICwgY2xhc3MgUDEyNiAsIGNsYXNzIFAxMjcgLCBjbGFzcyBQMTI4ICwgY2xhc3MgUDEyOSAsIGNsYXNzIFAxMzAgLCBjbGFzcyBQMTMxICwgY2xhc3MgUDEzMiAsIGNsYXNzIFAxMzMgLCBjbGFzcyBQMTM0ICwgY2xhc3MgUDEzNSAsIGNsYXNzIFAxMzYgLCBjbGFzcyBQMTM3ICwgY2xhc3MgUDEzOCAsIGNsYXNzIFAxMzkgLCBjbGFzcyBQMTQwICwgY2xhc3MgUDE0MSAsIGNsYXNzIFAxNDIgLCBjbGFzcyBQMTQzICwgY2xhc3MgUDE0NCAsIGNsYXNzIFAxNDUgLCBjbGFzcyBQMTQ2ICwgY2xhc3MgUDE0NyAsIGNsYXNzIFAxNDggLCBjbGFzcyBQMTQ5ICwgY2xhc3MgUDE1MCAsIGNsYXNzIFAxNTEgLCBjbGFzcyBQMTUyICwgY2xhc3MgUDE1MyAsIGNsYXNzIFAxNTQgLCBjbGFzcyBQMTU1ICwgY2xhc3MgUDE1NiAsIGNsYXNzIFAxNTcgLCBjbGFzcyBQMTU4ICwgY2xhc3MgUDE1OSAsIGNsYXNzIFAxNjAgLCBjbGFzcyBQMTYxICwgY2xhc3MgUDE2MiAsIGNsYXNzIFAxNjMgLCBjbGFzcyBQMTY0ICwgY2xhc3MgUDE2NSAsIGNsYXNzIFAxNjYgLCBjbGFzcyBQMTY3ICwgY2xhc3MgUDE2OCAsIGNsYXNzIFAxNjkgLCBjbGFzcyBQMTcwICwgY2xhc3MgUDE3MSAsIGNsYXNzIFAxNzIgLCBjbGFzcyBQMTczICwgY2xhc3MgUDE3NCAsIGNsYXNzIFAxNzUgLCBjbGFzcyBQMTc2ICwgY2xhc3MgUDE3NyAsIGNsYXNzIFAxNzggLCBjbGFzcyBQMTc5ICwgY2xhc3MgUDE4MCAsIGNsYXNzIFAxODEgLCBjbGFzcyBQMTgyICwgY2xhc3MgUDE4MyAsIGNsYXNzIFAxODQgLCBjbGFzcyBQMTg1ICwgY2xhc3MgUDE4NiAsIGNsYXNzIFAxODcgLCBjbGFzcyBQMTg4ICwgY2xhc3MgUDE4OSAsIGNsYXNzIFAxOTAgLCBjbGFzcyBQMTkxICwgY2xhc3MgUDE5MiAsIGNsYXNzIFAxOTMgLCBjbGFzcyBQMTk0ID4gc3RydWN0IHZlY3RvcjE5NSB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjE5NTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MCAsIFAxNDEgLCBQMTQyICwgUDE0MyAsIFAxNDQgLCBQMTQ1ICwgUDE0NiAsIFAxNDcgLCBQMTQ4ICwgUDE0OSAsIFAxNTAgLCBQMTUxICwgUDE1MiAsIFAxNTMgLCBQMTU0ICwgUDE1NSAsIFAxNTYgLCBQMTU3ICwgUDE1OCAsIFAxNTkgLCBQMTYwICwgUDE2MSAsIFAxNjIgLCBQMTYzICwgUDE2NCAsIFAxNjUgLCBQMTY2ICwgUDE2NyAsIFAxNjggLCBQMTY5ICwgUDE3MCAsIFAxNzEgLCBQMTcyICwgUDE3MyAsIFAxNzQgLCBQMTc1ICwgUDE3NiAsIFAxNzcgLCBQMTc4ICwgUDE3OSAsIFAxODAgLCBQMTgxICwgUDE4MiAsIFAxODMgLCBQMTg0ICwgUDE4NSAsIFAxODYgLCBQMTg3ICwgUDE4OCAsIFAxODkgLCBQMTkwICwgUDE5MSAsIFAxOTIgLCBQMTkzICwgUDE5ND4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBQODggaXRlbTg4OyB0eXBlZGVmIFA4OSBpdGVtODk7IHR5cGVkZWYgUDkwIGl0ZW05MDsgdHlwZWRlZiBQOTEgaXRlbTkxOyB0eXBlZGVmIFA5MiBpdGVtOTI7IHR5cGVkZWYgUDkzIGl0ZW05MzsgdHlwZWRlZiBQOTQgaXRlbTk0OyB0eXBlZGVmIFA5NSBpdGVtOTU7IHR5cGVkZWYgUDk2IGl0ZW05NjsgdHlwZWRlZiBQOTcgaXRlbTk3OyB0eXBlZGVmIFA5OCBpdGVtOTg7IHR5cGVkZWYgUDk5IGl0ZW05OTsgdHlwZWRlZiBQMTAwIGl0ZW0xMDA7IHR5cGVkZWYgUDEwMSBpdGVtMTAxOyB0eXBlZGVmIFAxMDIgaXRlbTEwMjsgdHlwZWRlZiBQMTAzIGl0ZW0xMDM7IHR5cGVkZWYgUDEwNCBpdGVtMTA0OyB0eXBlZGVmIFAxMDUgaXRlbTEwNTsgdHlwZWRlZiBQMTA2IGl0ZW0xMDY7IHR5cGVkZWYgUDEwNyBpdGVtMTA3OyB0eXBlZGVmIFAxMDggaXRlbTEwODsgdHlwZWRlZiBQMTA5IGl0ZW0xMDk7IHR5cGVkZWYgUDExMCBpdGVtMTEwOyB0eXBlZGVmIFAxMTEgaXRlbTExMTsgdHlwZWRlZiBQMTEyIGl0ZW0xMTI7IHR5cGVkZWYgUDExMyBpdGVtMTEzOyB0eXBlZGVmIFAxMTQgaXRlbTExNDsgdHlwZWRlZiBQMTE1IGl0ZW0xMTU7IHR5cGVkZWYgUDExNiBpdGVtMTE2OyB0eXBlZGVmIFAxMTcgaXRlbTExNzsgdHlwZWRlZiBQMTE4IGl0ZW0xMTg7IHR5cGVkZWYgUDExOSBpdGVtMTE5OyB0eXBlZGVmIFAxMjAgaXRlbTEyMDsgdHlwZWRlZiBQMTIxIGl0ZW0xMjE7IHR5cGVkZWYgUDEyMiBpdGVtMTIyOyB0eXBlZGVmIFAxMjMgaXRlbTEyMzsgdHlwZWRlZiBQMTI0IGl0ZW0xMjQ7IHR5cGVkZWYgUDEyNSBpdGVtMTI1OyB0eXBlZGVmIFAxMjYgaXRlbTEyNjsgdHlwZWRlZiBQMTI3IGl0ZW0xMjc7IHR5cGVkZWYgUDEyOCBpdGVtMTI4OyB0eXBlZGVmIFAxMjkgaXRlbTEyOTsgdHlwZWRlZiBQMTMwIGl0ZW0xMzA7IHR5cGVkZWYgUDEzMSBpdGVtMTMxOyB0eXBlZGVmIFAxMzIgaXRlbTEzMjsgdHlwZWRlZiBQMTMzIGl0ZW0xMzM7IHR5cGVkZWYgUDEzNCBpdGVtMTM0OyB0eXBlZGVmIFAxMzUgaXRlbTEzNTsgdHlwZWRlZiBQMTM2IGl0ZW0xMzY7IHR5cGVkZWYgUDEzNyBpdGVtMTM3OyB0eXBlZGVmIFAxMzggaXRlbTEzODsgdHlwZWRlZiBQMTM5IGl0ZW0xMzk7IHR5cGVkZWYgUDE0MCBpdGVtMTQwOyB0eXBlZGVmIFAxNDEgaXRlbTE0MTsgdHlwZWRlZiBQMTQyIGl0ZW0xNDI7IHR5cGVkZWYgUDE0MyBpdGVtMTQzOyB0eXBlZGVmIFAxNDQgaXRlbTE0NDsgdHlwZWRlZiBQMTQ1IGl0ZW0xNDU7IHR5cGVkZWYgUDE0NiBpdGVtMTQ2OyB0eXBlZGVmIFAxNDcgaXRlbTE0NzsgdHlwZWRlZiBQMTQ4IGl0ZW0xNDg7IHR5cGVkZWYgUDE0OSBpdGVtMTQ5OyB0eXBlZGVmIFAxNTAgaXRlbTE1MDsgdHlwZWRlZiBQMTUxIGl0ZW0xNTE7IHR5cGVkZWYgUDE1MiBpdGVtMTUyOyB0eXBlZGVmIFAxNTMgaXRlbTE1MzsgdHlwZWRlZiBQMTU0IGl0ZW0xNTQ7IHR5cGVkZWYgUDE1NSBpdGVtMTU1OyB0eXBlZGVmIFAxNTYgaXRlbTE1NjsgdHlwZWRlZiBQMTU3IGl0ZW0xNTc7IHR5cGVkZWYgUDE1OCBpdGVtMTU4OyB0eXBlZGVmIFAxNTkgaXRlbTE1OTsgdHlwZWRlZiBQMTYwIGl0ZW0xNjA7IHR5cGVkZWYgUDE2MSBpdGVtMTYxOyB0eXBlZGVmIFAxNjIgaXRlbTE2MjsgdHlwZWRlZiBQMTYzIGl0ZW0xNjM7IHR5cGVkZWYgUDE2NCBpdGVtMTY0OyB0eXBlZGVmIFAxNjUgaXRlbTE2NTsgdHlwZWRlZiBQMTY2IGl0ZW0xNjY7IHR5cGVkZWYgUDE2NyBpdGVtMTY3OyB0eXBlZGVmIFAxNjggaXRlbTE2ODsgdHlwZWRlZiBQMTY5IGl0ZW0xNjk7IHR5cGVkZWYgUDE3MCBpdGVtMTcwOyB0eXBlZGVmIFAxNzEgaXRlbTE3MTsgdHlwZWRlZiBQMTcyIGl0ZW0xNzI7IHR5cGVkZWYgUDE3MyBpdGVtMTczOyB0eXBlZGVmIFAxNzQgaXRlbTE3NDsgdHlwZWRlZiBQMTc1IGl0ZW0xNzU7IHR5cGVkZWYgUDE3NiBpdGVtMTc2OyB0eXBlZGVmIFAxNzcgaXRlbTE3NzsgdHlwZWRlZiBQMTc4IGl0ZW0xNzg7IHR5cGVkZWYgUDE3OSBpdGVtMTc5OyB0eXBlZGVmIFAxODAgaXRlbTE4MDsgdHlwZWRlZiBQMTgxIGl0ZW0xODE7IHR5cGVkZWYgUDE4MiBpdGVtMTgyOyB0eXBlZGVmIFAxODMgaXRlbTE4MzsgdHlwZWRlZiBQMTg0IGl0ZW0xODQ7IHR5cGVkZWYgUDE4NSBpdGVtMTg1OyB0eXBlZGVmIFAxODYgaXRlbTE4NjsgdHlwZWRlZiBQMTg3IGl0ZW0xODc7IHR5cGVkZWYgUDE4OCBpdGVtMTg4OyB0eXBlZGVmIFAxODkgaXRlbTE4OTsgdHlwZWRlZiBQMTkwIGl0ZW0xOTA7IHR5cGVkZWYgUDE5MSBpdGVtMTkxOyB0eXBlZGVmIFAxOTIgaXRlbTE5MjsgdHlwZWRlZiBQMTkzIGl0ZW0xOTM7IHR5cGVkZWYgUDE5NCBpdGVtMTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ5OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBQOTMgLCBjbGFzcyBQOTQgLCBjbGFzcyBQOTUgLCBjbGFzcyBQOTYgLCBjbGFzcyBQOTcgLCBjbGFzcyBQOTggLCBjbGFzcyBQOTkgLCBjbGFzcyBQMTAwICwgY2xhc3MgUDEwMSAsIGNsYXNzIFAxMDIgLCBjbGFzcyBQMTAzICwgY2xhc3MgUDEwNCAsIGNsYXNzIFAxMDUgLCBjbGFzcyBQMTA2ICwgY2xhc3MgUDEwNyAsIGNsYXNzIFAxMDggLCBjbGFzcyBQMTA5ICwgY2xhc3MgUDExMCAsIGNsYXNzIFAxMTEgLCBjbGFzcyBQMTEyICwgY2xhc3MgUDExMyAsIGNsYXNzIFAxMTQgLCBjbGFzcyBQMTE1ICwgY2xhc3MgUDExNiAsIGNsYXNzIFAxMTcgLCBjbGFzcyBQMTE4ICwgY2xhc3MgUDExOSAsIGNsYXNzIFAxMjAgLCBjbGFzcyBQMTIxICwgY2xhc3MgUDEyMiAsIGNsYXNzIFAxMjMgLCBjbGFzcyBQMTI0ICwgY2xhc3MgUDEyNSAsIGNsYXNzIFAxMjYgLCBjbGFzcyBQMTI3ICwgY2xhc3MgUDEyOCAsIGNsYXNzIFAxMjkgLCBjbGFzcyBQMTMwICwgY2xhc3MgUDEzMSAsIGNsYXNzIFAxMzIgLCBjbGFzcyBQMTMzICwgY2xhc3MgUDEzNCAsIGNsYXNzIFAxMzUgLCBjbGFzcyBQMTM2ICwgY2xhc3MgUDEzNyAsIGNsYXNzIFAxMzggLCBjbGFzcyBQMTM5ICwgY2xhc3MgUDE0MCAsIGNsYXNzIFAxNDEgLCBjbGFzcyBQMTQyICwgY2xhc3MgUDE0MyAsIGNsYXNzIFAxNDQgLCBjbGFzcyBQMTQ1ICwgY2xhc3MgUDE0NiAsIGNsYXNzIFAxNDcgLCBjbGFzcyBQMTQ4ICwgY2xhc3MgUDE0OSAsIGNsYXNzIFAxNTAgLCBjbGFzcyBQMTUxICwgY2xhc3MgUDE1MiAsIGNsYXNzIFAxNTMgLCBjbGFzcyBQMTU0ICwgY2xhc3MgUDE1NSAsIGNsYXNzIFAxNTYgLCBjbGFzcyBQMTU3ICwgY2xhc3MgUDE1OCAsIGNsYXNzIFAxNTkgLCBjbGFzcyBQMTYwICwgY2xhc3MgUDE2MSAsIGNsYXNzIFAxNjIgLCBjbGFzcyBQMTYzICwgY2xhc3MgUDE2NCAsIGNsYXNzIFAxNjUgLCBjbGFzcyBQMTY2ICwgY2xhc3MgUDE2NyAsIGNsYXNzIFAxNjggLCBjbGFzcyBQMTY5ICwgY2xhc3MgUDE3MCAsIGNsYXNzIFAxNzEgLCBjbGFzcyBQMTcyICwgY2xhc3MgUDE3MyAsIGNsYXNzIFAxNzQgLCBjbGFzcyBQMTc1ICwgY2xhc3MgUDE3NiAsIGNsYXNzIFAxNzcgLCBjbGFzcyBQMTc4ICwgY2xhc3MgUDE3OSAsIGNsYXNzIFAxODAgLCBjbGFzcyBQMTgxICwgY2xhc3MgUDE4MiAsIGNsYXNzIFAxODMgLCBjbGFzcyBQMTg0ICwgY2xhc3MgUDE4NSAsIGNsYXNzIFAxODYgLCBjbGFzcyBQMTg3ICwgY2xhc3MgUDE4OCAsIGNsYXNzIFAxODkgLCBjbGFzcyBQMTkwICwgY2xhc3MgUDE5MSAsIGNsYXNzIFAxOTIgLCBjbGFzcyBQMTkzICwgY2xhc3MgUDE5NCAsIGNsYXNzIFAxOTUgPiBzdHJ1Y3QgdmVjdG9yMTk2IHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yMTk2PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFA5MiAsIFA5MyAsIFA5NCAsIFA5NSAsIFA5NiAsIFA5NyAsIFA5OCAsIFA5OSAsIFAxMDAgLCBQMTAxICwgUDEwMiAsIFAxMDMgLCBQMTA0ICwgUDEwNSAsIFAxMDYgLCBQMTA3ICwgUDEwOCAsIFAxMDkgLCBQMTEwICwgUDExMSAsIFAxMTIgLCBQMTEzICwgUDExNCAsIFAxMTUgLCBQMTE2ICwgUDExNyAsIFAxMTggLCBQMTE5ICwgUDEyMCAsIFAxMjEgLCBQMTIyICwgUDEyMyAsIFAxMjQgLCBQMTI1ICwgUDEyNiAsIFAxMjcgLCBQMTI4ICwgUDEyOSAsIFAxMzAgLCBQMTMxICwgUDEzMiAsIFAxMzMgLCBQMTM0ICwgUDEzNSAsIFAxMzYgLCBQMTM3ICwgUDEzOCAsIFAxMzkgLCBQMTQwICwgUDE0MSAsIFAxNDIgLCBQMTQzICwgUDE0NCAsIFAxNDUgLCBQMTQ2ICwgUDE0NyAsIFAxNDggLCBQMTQ5ICwgUDE1MCAsIFAxNTEgLCBQMTUyICwgUDE1MyAsIFAxNTQgLCBQMTU1ICwgUDE1NiAsIFAxNTcgLCBQMTU4ICwgUDE1OSAsIFAxNjAgLCBQMTYxICwgUDE2MiAsIFAxNjMgLCBQMTY0ICwgUDE2NSAsIFAxNjYgLCBQMTY3ICwgUDE2OCAsIFAxNjkgLCBQMTcwICwgUDE3MSAsIFAxNzIgLCBQMTczICwgUDE3NCAsIFAxNzUgLCBQMTc2ICwgUDE3NyAsIFAxNzggLCBQMTc5ICwgUDE4MCAsIFAxODEgLCBQMTgyICwgUDE4MyAsIFAxODQgLCBQMTg1ICwgUDE4NiAsIFAxODcgLCBQMTg4ICwgUDE4OSAsIFAxOTAgLCBQMTkxICwgUDE5MiAsIFAxOTMgLCBQMTk0ICwgUDE5NT4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBQODggaXRlbTg4OyB0eXBlZGVmIFA4OSBpdGVtODk7IHR5cGVkZWYgUDkwIGl0ZW05MDsgdHlwZWRlZiBQOTEgaXRlbTkxOyB0eXBlZGVmIFA5MiBpdGVtOTI7IHR5cGVkZWYgUDkzIGl0ZW05MzsgdHlwZWRlZiBQOTQgaXRlbTk0OyB0eXBlZGVmIFA5NSBpdGVtOTU7IHR5cGVkZWYgUDk2IGl0ZW05NjsgdHlwZWRlZiBQOTcgaXRlbTk3OyB0eXBlZGVmIFA5OCBpdGVtOTg7IHR5cGVkZWYgUDk5IGl0ZW05OTsgdHlwZWRlZiBQMTAwIGl0ZW0xMDA7IHR5cGVkZWYgUDEwMSBpdGVtMTAxOyB0eXBlZGVmIFAxMDIgaXRlbTEwMjsgdHlwZWRlZiBQMTAzIGl0ZW0xMDM7IHR5cGVkZWYgUDEwNCBpdGVtMTA0OyB0eXBlZGVmIFAxMDUgaXRlbTEwNTsgdHlwZWRlZiBQMTA2IGl0ZW0xMDY7IHR5cGVkZWYgUDEwNyBpdGVtMTA3OyB0eXBlZGVmIFAxMDggaXRlbTEwODsgdHlwZWRlZiBQMTA5IGl0ZW0xMDk7IHR5cGVkZWYgUDExMCBpdGVtMTEwOyB0eXBlZGVmIFAxMTEgaXRlbTExMTsgdHlwZWRlZiBQMTEyIGl0ZW0xMTI7IHR5cGVkZWYgUDExMyBpdGVtMTEzOyB0eXBlZGVmIFAxMTQgaXRlbTExNDsgdHlwZWRlZiBQMTE1IGl0ZW0xMTU7IHR5cGVkZWYgUDExNiBpdGVtMTE2OyB0eXBlZGVmIFAxMTcgaXRlbTExNzsgdHlwZWRlZiBQMTE4IGl0ZW0xMTg7IHR5cGVkZWYgUDExOSBpdGVtMTE5OyB0eXBlZGVmIFAxMjAgaXRlbTEyMDsgdHlwZWRlZiBQMTIxIGl0ZW0xMjE7IHR5cGVkZWYgUDEyMiBpdGVtMTIyOyB0eXBlZGVmIFAxMjMgaXRlbTEyMzsgdHlwZWRlZiBQMTI0IGl0ZW0xMjQ7IHR5cGVkZWYgUDEyNSBpdGVtMTI1OyB0eXBlZGVmIFAxMjYgaXRlbTEyNjsgdHlwZWRlZiBQMTI3IGl0ZW0xMjc7IHR5cGVkZWYgUDEyOCBpdGVtMTI4OyB0eXBlZGVmIFAxMjkgaXRlbTEyOTsgdHlwZWRlZiBQMTMwIGl0ZW0xMzA7IHR5cGVkZWYgUDEzMSBpdGVtMTMxOyB0eXBlZGVmIFAxMzIgaXRlbTEzMjsgdHlwZWRlZiBQMTMzIGl0ZW0xMzM7IHR5cGVkZWYgUDEzNCBpdGVtMTM0OyB0eXBlZGVmIFAxMzUgaXRlbTEzNTsgdHlwZWRlZiBQMTM2IGl0ZW0xMzY7IHR5cGVkZWYgUDEzNyBpdGVtMTM3OyB0eXBlZGVmIFAxMzggaXRlbTEzODsgdHlwZWRlZiBQMTM5IGl0ZW0xMzk7IHR5cGVkZWYgUDE0MCBpdGVtMTQwOyB0eXBlZGVmIFAxNDEgaXRlbTE0MTsgdHlwZWRlZiBQMTQyIGl0ZW0xNDI7IHR5cGVkZWYgUDE0MyBpdGVtMTQzOyB0eXBlZGVmIFAxNDQgaXRlbTE0NDsgdHlwZWRlZiBQMTQ1IGl0ZW0xNDU7IHR5cGVkZWYgUDE0NiBpdGVtMTQ2OyB0eXBlZGVmIFAxNDcgaXRlbTE0NzsgdHlwZWRlZiBQMTQ4IGl0ZW0xNDg7IHR5cGVkZWYgUDE0OSBpdGVtMTQ5OyB0eXBlZGVmIFAxNTAgaXRlbTE1MDsgdHlwZWRlZiBQMTUxIGl0ZW0xNTE7IHR5cGVkZWYgUDE1MiBpdGVtMTUyOyB0eXBlZGVmIFAxNTMgaXRlbTE1MzsgdHlwZWRlZiBQMTU0IGl0ZW0xNTQ7IHR5cGVkZWYgUDE1NSBpdGVtMTU1OyB0eXBlZGVmIFAxNTYgaXRlbTE1NjsgdHlwZWRlZiBQMTU3IGl0ZW0xNTc7IHR5cGVkZWYgUDE1OCBpdGVtMTU4OyB0eXBlZGVmIFAxNTkgaXRlbTE1OTsgdHlwZWRlZiBQMTYwIGl0ZW0xNjA7IHR5cGVkZWYgUDE2MSBpdGVtMTYxOyB0eXBlZGVmIFAxNjIgaXRlbTE2MjsgdHlwZWRlZiBQMTYzIGl0ZW0xNjM7IHR5cGVkZWYgUDE2NCBpdGVtMTY0OyB0eXBlZGVmIFAxNjUgaXRlbTE2NTsgdHlwZWRlZiBQMTY2IGl0ZW0xNjY7IHR5cGVkZWYgUDE2NyBpdGVtMTY3OyB0eXBlZGVmIFAxNjggaXRlbTE2ODsgdHlwZWRlZiBQMTY5IGl0ZW0xNjk7IHR5cGVkZWYgUDE3MCBpdGVtMTcwOyB0eXBlZGVmIFAxNzEgaXRlbTE3MTsgdHlwZWRlZiBQMTcyIGl0ZW0xNzI7IHR5cGVkZWYgUDE3MyBpdGVtMTczOyB0eXBlZGVmIFAxNzQgaXRlbTE3NDsgdHlwZWRlZiBQMTc1IGl0ZW0xNzU7IHR5cGVkZWYgUDE3NiBpdGVtMTc2OyB0eXBlZGVmIFAxNzcgaXRlbTE3NzsgdHlwZWRlZiBQMTc4IGl0ZW0xNzg7IHR5cGVkZWYgUDE3OSBpdGVtMTc5OyB0eXBlZGVmIFAxODAgaXRlbTE4MDsgdHlwZWRlZiBQMTgxIGl0ZW0xODE7IHR5cGVkZWYgUDE4MiBpdGVtMTgyOyB0eXBlZGVmIFAxODMgaXRlbTE4MzsgdHlwZWRlZiBQMTg0IGl0ZW0xODQ7IHR5cGVkZWYgUDE4NSBpdGVtMTg1OyB0eXBlZGVmIFAxODYgaXRlbTE4NjsgdHlwZWRlZiBQMTg3IGl0ZW0xODc7IHR5cGVkZWYgUDE4OCBpdGVtMTg4OyB0eXBlZGVmIFAxODkgaXRlbTE4OTsgdHlwZWRlZiBQMTkwIGl0ZW0xOTA7IHR5cGVkZWYgUDE5MSBpdGVtMTkxOyB0eXBlZGVmIFAxOTIgaXRlbTE5MjsgdHlwZWRlZiBQMTkzIGl0ZW0xOTM7IHR5cGVkZWYgUDE5NCBpdGVtMTk0OyB0eXBlZGVmIFAxOTUgaXRlbTE5NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0OTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ICwgY2xhc3MgUDk2ICwgY2xhc3MgUDk3ICwgY2xhc3MgUDk4ICwgY2xhc3MgUDk5ICwgY2xhc3MgUDEwMCAsIGNsYXNzIFAxMDEgLCBjbGFzcyBQMTAyICwgY2xhc3MgUDEwMyAsIGNsYXNzIFAxMDQgLCBjbGFzcyBQMTA1ICwgY2xhc3MgUDEwNiAsIGNsYXNzIFAxMDcgLCBjbGFzcyBQMTA4ICwgY2xhc3MgUDEwOSAsIGNsYXNzIFAxMTAgLCBjbGFzcyBQMTExICwgY2xhc3MgUDExMiAsIGNsYXNzIFAxMTMgLCBjbGFzcyBQMTE0ICwgY2xhc3MgUDExNSAsIGNsYXNzIFAxMTYgLCBjbGFzcyBQMTE3ICwgY2xhc3MgUDExOCAsIGNsYXNzIFAxMTkgLCBjbGFzcyBQMTIwICwgY2xhc3MgUDEyMSAsIGNsYXNzIFAxMjIgLCBjbGFzcyBQMTIzICwgY2xhc3MgUDEyNCAsIGNsYXNzIFAxMjUgLCBjbGFzcyBQMTI2ICwgY2xhc3MgUDEyNyAsIGNsYXNzIFAxMjggLCBjbGFzcyBQMTI5ICwgY2xhc3MgUDEzMCAsIGNsYXNzIFAxMzEgLCBjbGFzcyBQMTMyICwgY2xhc3MgUDEzMyAsIGNsYXNzIFAxMzQgLCBjbGFzcyBQMTM1ICwgY2xhc3MgUDEzNiAsIGNsYXNzIFAxMzcgLCBjbGFzcyBQMTM4ICwgY2xhc3MgUDEzOSAsIGNsYXNzIFAxNDAgLCBjbGFzcyBQMTQxICwgY2xhc3MgUDE0MiAsIGNsYXNzIFAxNDMgLCBjbGFzcyBQMTQ0ICwgY2xhc3MgUDE0NSAsIGNsYXNzIFAxNDYgLCBjbGFzcyBQMTQ3ICwgY2xhc3MgUDE0OCAsIGNsYXNzIFAxNDkgLCBjbGFzcyBQMTUwICwgY2xhc3MgUDE1MSAsIGNsYXNzIFAxNTIgLCBjbGFzcyBQMTUzICwgY2xhc3MgUDE1NCAsIGNsYXNzIFAxNTUgLCBjbGFzcyBQMTU2ICwgY2xhc3MgUDE1NyAsIGNsYXNzIFAxNTggLCBjbGFzcyBQMTU5ICwgY2xhc3MgUDE2MCAsIGNsYXNzIFAxNjEgLCBjbGFzcyBQMTYyICwgY2xhc3MgUDE2MyAsIGNsYXNzIFAxNjQgLCBjbGFzcyBQMTY1ICwgY2xhc3MgUDE2NiAsIGNsYXNzIFAxNjcgLCBjbGFzcyBQMTY4ICwgY2xhc3MgUDE2OSAsIGNsYXNzIFAxNzAgLCBjbGFzcyBQMTcxICwgY2xhc3MgUDE3MiAsIGNsYXNzIFAxNzMgLCBjbGFzcyBQMTc0ICwgY2xhc3MgUDE3NSAsIGNsYXNzIFAxNzYgLCBjbGFzcyBQMTc3ICwgY2xhc3MgUDE3OCAsIGNsYXNzIFAxNzkgLCBjbGFzcyBQMTgwICwgY2xhc3MgUDE4MSAsIGNsYXNzIFAxODIgLCBjbGFzcyBQMTgzICwgY2xhc3MgUDE4NCAsIGNsYXNzIFAxODUgLCBjbGFzcyBQMTg2ICwgY2xhc3MgUDE4NyAsIGNsYXNzIFAxODggLCBjbGFzcyBQMTg5ICwgY2xhc3MgUDE5MCAsIGNsYXNzIFAxOTEgLCBjbGFzcyBQMTkyICwgY2xhc3MgUDE5MyAsIGNsYXNzIFAxOTQgLCBjbGFzcyBQMTk1ICwgY2xhc3MgUDE5NiA+IHN0cnVjdCB2ZWN0b3IxOTcgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3IxOTc8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1ICwgUDk2ICwgUDk3ICwgUDk4ICwgUDk5ICwgUDEwMCAsIFAxMDEgLCBQMTAyICwgUDEwMyAsIFAxMDQgLCBQMTA1ICwgUDEwNiAsIFAxMDcgLCBQMTA4ICwgUDEwOSAsIFAxMTAgLCBQMTExICwgUDExMiAsIFAxMTMgLCBQMTE0ICwgUDExNSAsIFAxMTYgLCBQMTE3ICwgUDExOCAsIFAxMTkgLCBQMTIwICwgUDEyMSAsIFAxMjIgLCBQMTIzICwgUDEyNCAsIFAxMjUgLCBQMTI2ICwgUDEyNyAsIFAxMjggLCBQMTI5ICwgUDEzMCAsIFAxMzEgLCBQMTMyICwgUDEzMyAsIFAxMzQgLCBQMTM1ICwgUDEzNiAsIFAxMzcgLCBQMTM4ICwgUDEzOSAsIFAxNDAgLCBQMTQxICwgUDE0MiAsIFAxNDMgLCBQMTQ0ICwgUDE0NSAsIFAxNDYgLCBQMTQ3ICwgUDE0OCAsIFAxNDkgLCBQMTUwICwgUDE1MSAsIFAxNTIgLCBQMTUzICwgUDE1NCAsIFAxNTUgLCBQMTU2ICwgUDE1NyAsIFAxNTggLCBQMTU5ICwgUDE2MCAsIFAxNjEgLCBQMTYyICwgUDE2MyAsIFAxNjQgLCBQMTY1ICwgUDE2NiAsIFAxNjcgLCBQMTY4ICwgUDE2OSAsIFAxNzAgLCBQMTcxICwgUDE3MiAsIFAxNzMgLCBQMTc0ICwgUDE3NSAsIFAxNzYgLCBQMTc3ICwgUDE3OCAsIFAxNzkgLCBQMTgwICwgUDE4MSAsIFAxODIgLCBQMTgzICwgUDE4NCAsIFAxODUgLCBQMTg2ICwgUDE4NyAsIFAxODggLCBQMTg5ICwgUDE5MCAsIFAxOTEgLCBQMTkyICwgUDE5MyAsIFAxOTQgLCBQMTk1ICwgUDE5Nj4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBQODggaXRlbTg4OyB0eXBlZGVmIFA4OSBpdGVtODk7IHR5cGVkZWYgUDkwIGl0ZW05MDsgdHlwZWRlZiBQOTEgaXRlbTkxOyB0eXBlZGVmIFA5MiBpdGVtOTI7IHR5cGVkZWYgUDkzIGl0ZW05MzsgdHlwZWRlZiBQOTQgaXRlbTk0OyB0eXBlZGVmIFA5NSBpdGVtOTU7IHR5cGVkZWYgUDk2IGl0ZW05NjsgdHlwZWRlZiBQOTcgaXRlbTk3OyB0eXBlZGVmIFA5OCBpdGVtOTg7IHR5cGVkZWYgUDk5IGl0ZW05OTsgdHlwZWRlZiBQMTAwIGl0ZW0xMDA7IHR5cGVkZWYgUDEwMSBpdGVtMTAxOyB0eXBlZGVmIFAxMDIgaXRlbTEwMjsgdHlwZWRlZiBQMTAzIGl0ZW0xMDM7IHR5cGVkZWYgUDEwNCBpdGVtMTA0OyB0eXBlZGVmIFAxMDUgaXRlbTEwNTsgdHlwZWRlZiBQMTA2IGl0ZW0xMDY7IHR5cGVkZWYgUDEwNyBpdGVtMTA3OyB0eXBlZGVmIFAxMDggaXRlbTEwODsgdHlwZWRlZiBQMTA5IGl0ZW0xMDk7IHR5cGVkZWYgUDExMCBpdGVtMTEwOyB0eXBlZGVmIFAxMTEgaXRlbTExMTsgdHlwZWRlZiBQMTEyIGl0ZW0xMTI7IHR5cGVkZWYgUDExMyBpdGVtMTEzOyB0eXBlZGVmIFAxMTQgaXRlbTExNDsgdHlwZWRlZiBQMTE1IGl0ZW0xMTU7IHR5cGVkZWYgUDExNiBpdGVtMTE2OyB0eXBlZGVmIFAxMTcgaXRlbTExNzsgdHlwZWRlZiBQMTE4IGl0ZW0xMTg7IHR5cGVkZWYgUDExOSBpdGVtMTE5OyB0eXBlZGVmIFAxMjAgaXRlbTEyMDsgdHlwZWRlZiBQMTIxIGl0ZW0xMjE7IHR5cGVkZWYgUDEyMiBpdGVtMTIyOyB0eXBlZGVmIFAxMjMgaXRlbTEyMzsgdHlwZWRlZiBQMTI0IGl0ZW0xMjQ7IHR5cGVkZWYgUDEyNSBpdGVtMTI1OyB0eXBlZGVmIFAxMjYgaXRlbTEyNjsgdHlwZWRlZiBQMTI3IGl0ZW0xMjc7IHR5cGVkZWYgUDEyOCBpdGVtMTI4OyB0eXBlZGVmIFAxMjkgaXRlbTEyOTsgdHlwZWRlZiBQMTMwIGl0ZW0xMzA7IHR5cGVkZWYgUDEzMSBpdGVtMTMxOyB0eXBlZGVmIFAxMzIgaXRlbTEzMjsgdHlwZWRlZiBQMTMzIGl0ZW0xMzM7IHR5cGVkZWYgUDEzNCBpdGVtMTM0OyB0eXBlZGVmIFAxMzUgaXRlbTEzNTsgdHlwZWRlZiBQMTM2IGl0ZW0xMzY7IHR5cGVkZWYgUDEzNyBpdGVtMTM3OyB0eXBlZGVmIFAxMzggaXRlbTEzODsgdHlwZWRlZiBQMTM5IGl0ZW0xMzk7IHR5cGVkZWYgUDE0MCBpdGVtMTQwOyB0eXBlZGVmIFAxNDEgaXRlbTE0MTsgdHlwZWRlZiBQMTQyIGl0ZW0xNDI7IHR5cGVkZWYgUDE0MyBpdGVtMTQzOyB0eXBlZGVmIFAxNDQgaXRlbTE0NDsgdHlwZWRlZiBQMTQ1IGl0ZW0xNDU7IHR5cGVkZWYgUDE0NiBpdGVtMTQ2OyB0eXBlZGVmIFAxNDcgaXRlbTE0NzsgdHlwZWRlZiBQMTQ4IGl0ZW0xNDg7IHR5cGVkZWYgUDE0OSBpdGVtMTQ5OyB0eXBlZGVmIFAxNTAgaXRlbTE1MDsgdHlwZWRlZiBQMTUxIGl0ZW0xNTE7IHR5cGVkZWYgUDE1MiBpdGVtMTUyOyB0eXBlZGVmIFAxNTMgaXRlbTE1MzsgdHlwZWRlZiBQMTU0IGl0ZW0xNTQ7IHR5cGVkZWYgUDE1NSBpdGVtMTU1OyB0eXBlZGVmIFAxNTYgaXRlbTE1NjsgdHlwZWRlZiBQMTU3IGl0ZW0xNTc7IHR5cGVkZWYgUDE1OCBpdGVtMTU4OyB0eXBlZGVmIFAxNTkgaXRlbTE1OTsgdHlwZWRlZiBQMTYwIGl0ZW0xNjA7IHR5cGVkZWYgUDE2MSBpdGVtMTYxOyB0eXBlZGVmIFAxNjIgaXRlbTE2MjsgdHlwZWRlZiBQMTYzIGl0ZW0xNjM7IHR5cGVkZWYgUDE2NCBpdGVtMTY0OyB0eXBlZGVmIFAxNjUgaXRlbTE2NTsgdHlwZWRlZiBQMTY2IGl0ZW0xNjY7IHR5cGVkZWYgUDE2NyBpdGVtMTY3OyB0eXBlZGVmIFAxNjggaXRlbTE2ODsgdHlwZWRlZiBQMTY5IGl0ZW0xNjk7IHR5cGVkZWYgUDE3MCBpdGVtMTcwOyB0eXBlZGVmIFAxNzEgaXRlbTE3MTsgdHlwZWRlZiBQMTcyIGl0ZW0xNzI7IHR5cGVkZWYgUDE3MyBpdGVtMTczOyB0eXBlZGVmIFAxNzQgaXRlbTE3NDsgdHlwZWRlZiBQMTc1IGl0ZW0xNzU7IHR5cGVkZWYgUDE3NiBpdGVtMTc2OyB0eXBlZGVmIFAxNzcgaXRlbTE3NzsgdHlwZWRlZiBQMTc4IGl0ZW0xNzg7IHR5cGVkZWYgUDE3OSBpdGVtMTc5OyB0eXBlZGVmIFAxODAgaXRlbTE4MDsgdHlwZWRlZiBQMTgxIGl0ZW0xODE7IHR5cGVkZWYgUDE4MiBpdGVtMTgyOyB0eXBlZGVmIFAxODMgaXRlbTE4MzsgdHlwZWRlZiBQMTg0IGl0ZW0xODQ7IHR5cGVkZWYgUDE4NSBpdGVtMTg1OyB0eXBlZGVmIFAxODYgaXRlbTE4NjsgdHlwZWRlZiBQMTg3IGl0ZW0xODc7IHR5cGVkZWYgUDE4OCBpdGVtMTg4OyB0eXBlZGVmIFAxODkgaXRlbTE4OTsgdHlwZWRlZiBQMTkwIGl0ZW0xOTA7IHR5cGVkZWYgUDE5MSBpdGVtMTkxOyB0eXBlZGVmIFAxOTIgaXRlbTE5MjsgdHlwZWRlZiBQMTkzIGl0ZW0xOTM7IHR5cGVkZWYgUDE5NCBpdGVtMTk0OyB0eXBlZGVmIFAxOTUgaXRlbTE5NTsgdHlwZWRlZiBQMTk2IGl0ZW0xOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDk7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSAsIGNsYXNzIFA4NiAsIGNsYXNzIFA4NyAsIGNsYXNzIFA4OCAsIGNsYXNzIFA4OSAsIGNsYXNzIFA5MCAsIGNsYXNzIFA5MSAsIGNsYXNzIFA5MiAsIGNsYXNzIFA5MyAsIGNsYXNzIFA5NCAsIGNsYXNzIFA5NSAsIGNsYXNzIFA5NiAsIGNsYXNzIFA5NyAsIGNsYXNzIFA5OCAsIGNsYXNzIFA5OSAsIGNsYXNzIFAxMDAgLCBjbGFzcyBQMTAxICwgY2xhc3MgUDEwMiAsIGNsYXNzIFAxMDMgLCBjbGFzcyBQMTA0ICwgY2xhc3MgUDEwNSAsIGNsYXNzIFAxMDYgLCBjbGFzcyBQMTA3ICwgY2xhc3MgUDEwOCAsIGNsYXNzIFAxMDkgLCBjbGFzcyBQMTEwICwgY2xhc3MgUDExMSAsIGNsYXNzIFAxMTIgLCBjbGFzcyBQMTEzICwgY2xhc3MgUDExNCAsIGNsYXNzIFAxMTUgLCBjbGFzcyBQMTE2ICwgY2xhc3MgUDExNyAsIGNsYXNzIFAxMTggLCBjbGFzcyBQMTE5ICwgY2xhc3MgUDEyMCAsIGNsYXNzIFAxMjEgLCBjbGFzcyBQMTIyICwgY2xhc3MgUDEyMyAsIGNsYXNzIFAxMjQgLCBjbGFzcyBQMTI1ICwgY2xhc3MgUDEyNiAsIGNsYXNzIFAxMjcgLCBjbGFzcyBQMTI4ICwgY2xhc3MgUDEyOSAsIGNsYXNzIFAxMzAgLCBjbGFzcyBQMTMxICwgY2xhc3MgUDEzMiAsIGNsYXNzIFAxMzMgLCBjbGFzcyBQMTM0ICwgY2xhc3MgUDEzNSAsIGNsYXNzIFAxMzYgLCBjbGFzcyBQMTM3ICwgY2xhc3MgUDEzOCAsIGNsYXNzIFAxMzkgLCBjbGFzcyBQMTQwICwgY2xhc3MgUDE0MSAsIGNsYXNzIFAxNDIgLCBjbGFzcyBQMTQzICwgY2xhc3MgUDE0NCAsIGNsYXNzIFAxNDUgLCBjbGFzcyBQMTQ2ICwgY2xhc3MgUDE0NyAsIGNsYXNzIFAxNDggLCBjbGFzcyBQMTQ5ICwgY2xhc3MgUDE1MCAsIGNsYXNzIFAxNTEgLCBjbGFzcyBQMTUyICwgY2xhc3MgUDE1MyAsIGNsYXNzIFAxNTQgLCBjbGFzcyBQMTU1ICwgY2xhc3MgUDE1NiAsIGNsYXNzIFAxNTcgLCBjbGFzcyBQMTU4ICwgY2xhc3MgUDE1OSAsIGNsYXNzIFAxNjAgLCBjbGFzcyBQMTYxICwgY2xhc3MgUDE2MiAsIGNsYXNzIFAxNjMgLCBjbGFzcyBQMTY0ICwgY2xhc3MgUDE2NSAsIGNsYXNzIFAxNjYgLCBjbGFzcyBQMTY3ICwgY2xhc3MgUDE2OCAsIGNsYXNzIFAxNjkgLCBjbGFzcyBQMTcwICwgY2xhc3MgUDE3MSAsIGNsYXNzIFAxNzIgLCBjbGFzcyBQMTczICwgY2xhc3MgUDE3NCAsIGNsYXNzIFAxNzUgLCBjbGFzcyBQMTc2ICwgY2xhc3MgUDE3NyAsIGNsYXNzIFAxNzggLCBjbGFzcyBQMTc5ICwgY2xhc3MgUDE4MCAsIGNsYXNzIFAxODEgLCBjbGFzcyBQMTgyICwgY2xhc3MgUDE4MyAsIGNsYXNzIFAxODQgLCBjbGFzcyBQMTg1ICwgY2xhc3MgUDE4NiAsIGNsYXNzIFAxODcgLCBjbGFzcyBQMTg4ICwgY2xhc3MgUDE4OSAsIGNsYXNzIFAxOTAgLCBjbGFzcyBQMTkxICwgY2xhc3MgUDE5MiAsIGNsYXNzIFAxOTMgLCBjbGFzcyBQMTk0ICwgY2xhc3MgUDE5NSAsIGNsYXNzIFAxOTYgLCBjbGFzcyBQMTk3ID4gc3RydWN0IHZlY3RvcjE5OCB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjE5ODwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MCAsIFAxNDEgLCBQMTQyICwgUDE0MyAsIFAxNDQgLCBQMTQ1ICwgUDE0NiAsIFAxNDcgLCBQMTQ4ICwgUDE0OSAsIFAxNTAgLCBQMTUxICwgUDE1MiAsIFAxNTMgLCBQMTU0ICwgUDE1NSAsIFAxNTYgLCBQMTU3ICwgUDE1OCAsIFAxNTkgLCBQMTYwICwgUDE2MSAsIFAxNjIgLCBQMTYzICwgUDE2NCAsIFAxNjUgLCBQMTY2ICwgUDE2NyAsIFAxNjggLCBQMTY5ICwgUDE3MCAsIFAxNzEgLCBQMTcyICwgUDE3MyAsIFAxNzQgLCBQMTc1ICwgUDE3NiAsIFAxNzcgLCBQMTc4ICwgUDE3OSAsIFAxODAgLCBQMTgxICwgUDE4MiAsIFAxODMgLCBQMTg0ICwgUDE4NSAsIFAxODYgLCBQMTg3ICwgUDE4OCAsIFAxODkgLCBQMTkwICwgUDE5MSAsIFAxOTIgLCBQMTkzICwgUDE5NCAsIFAxOTUgLCBQMTk2ICwgUDE5Nz4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBQODggaXRlbTg4OyB0eXBlZGVmIFA4OSBpdGVtODk7IHR5cGVkZWYgUDkwIGl0ZW05MDsgdHlwZWRlZiBQOTEgaXRlbTkxOyB0eXBlZGVmIFA5MiBpdGVtOTI7IHR5cGVkZWYgUDkzIGl0ZW05MzsgdHlwZWRlZiBQOTQgaXRlbTk0OyB0eXBlZGVmIFA5NSBpdGVtOTU7IHR5cGVkZWYgUDk2IGl0ZW05NjsgdHlwZWRlZiBQOTcgaXRlbTk3OyB0eXBlZGVmIFA5OCBpdGVtOTg7IHR5cGVkZWYgUDk5IGl0ZW05OTsgdHlwZWRlZiBQMTAwIGl0ZW0xMDA7IHR5cGVkZWYgUDEwMSBpdGVtMTAxOyB0eXBlZGVmIFAxMDIgaXRlbTEwMjsgdHlwZWRlZiBQMTAzIGl0ZW0xMDM7IHR5cGVkZWYgUDEwNCBpdGVtMTA0OyB0eXBlZGVmIFAxMDUgaXRlbTEwNTsgdHlwZWRlZiBQMTA2IGl0ZW0xMDY7IHR5cGVkZWYgUDEwNyBpdGVtMTA3OyB0eXBlZGVmIFAxMDggaXRlbTEwODsgdHlwZWRlZiBQMTA5IGl0ZW0xMDk7IHR5cGVkZWYgUDExMCBpdGVtMTEwOyB0eXBlZGVmIFAxMTEgaXRlbTExMTsgdHlwZWRlZiBQMTEyIGl0ZW0xMTI7IHR5cGVkZWYgUDExMyBpdGVtMTEzOyB0eXBlZGVmIFAxMTQgaXRlbTExNDsgdHlwZWRlZiBQMTE1IGl0ZW0xMTU7IHR5cGVkZWYgUDExNiBpdGVtMTE2OyB0eXBlZGVmIFAxMTcgaXRlbTExNzsgdHlwZWRlZiBQMTE4IGl0ZW0xMTg7IHR5cGVkZWYgUDExOSBpdGVtMTE5OyB0eXBlZGVmIFAxMjAgaXRlbTEyMDsgdHlwZWRlZiBQMTIxIGl0ZW0xMjE7IHR5cGVkZWYgUDEyMiBpdGVtMTIyOyB0eXBlZGVmIFAxMjMgaXRlbTEyMzsgdHlwZWRlZiBQMTI0IGl0ZW0xMjQ7IHR5cGVkZWYgUDEyNSBpdGVtMTI1OyB0eXBlZGVmIFAxMjYgaXRlbTEyNjsgdHlwZWRlZiBQMTI3IGl0ZW0xMjc7IHR5cGVkZWYgUDEyOCBpdGVtMTI4OyB0eXBlZGVmIFAxMjkgaXRlbTEyOTsgdHlwZWRlZiBQMTMwIGl0ZW0xMzA7IHR5cGVkZWYgUDEzMSBpdGVtMTMxOyB0eXBlZGVmIFAxMzIgaXRlbTEzMjsgdHlwZWRlZiBQMTMzIGl0ZW0xMzM7IHR5cGVkZWYgUDEzNCBpdGVtMTM0OyB0eXBlZGVmIFAxMzUgaXRlbTEzNTsgdHlwZWRlZiBQMTM2IGl0ZW0xMzY7IHR5cGVkZWYgUDEzNyBpdGVtMTM3OyB0eXBlZGVmIFAxMzggaXRlbTEzODsgdHlwZWRlZiBQMTM5IGl0ZW0xMzk7IHR5cGVkZWYgUDE0MCBpdGVtMTQwOyB0eXBlZGVmIFAxNDEgaXRlbTE0MTsgdHlwZWRlZiBQMTQyIGl0ZW0xNDI7IHR5cGVkZWYgUDE0MyBpdGVtMTQzOyB0eXBlZGVmIFAxNDQgaXRlbTE0NDsgdHlwZWRlZiBQMTQ1IGl0ZW0xNDU7IHR5cGVkZWYgUDE0NiBpdGVtMTQ2OyB0eXBlZGVmIFAxNDcgaXRlbTE0NzsgdHlwZWRlZiBQMTQ4IGl0ZW0xNDg7IHR5cGVkZWYgUDE0OSBpdGVtMTQ5OyB0eXBlZGVmIFAxNTAgaXRlbTE1MDsgdHlwZWRlZiBQMTUxIGl0ZW0xNTE7IHR5cGVkZWYgUDE1MiBpdGVtMTUyOyB0eXBlZGVmIFAxNTMgaXRlbTE1MzsgdHlwZWRlZiBQMTU0IGl0ZW0xNTQ7IHR5cGVkZWYgUDE1NSBpdGVtMTU1OyB0eXBlZGVmIFAxNTYgaXRlbTE1NjsgdHlwZWRlZiBQMTU3IGl0ZW0xNTc7IHR5cGVkZWYgUDE1OCBpdGVtMTU4OyB0eXBlZGVmIFAxNTkgaXRlbTE1OTsgdHlwZWRlZiBQMTYwIGl0ZW0xNjA7IHR5cGVkZWYgUDE2MSBpdGVtMTYxOyB0eXBlZGVmIFAxNjIgaXRlbTE2MjsgdHlwZWRlZiBQMTYzIGl0ZW0xNjM7IHR5cGVkZWYgUDE2NCBpdGVtMTY0OyB0eXBlZGVmIFAxNjUgaXRlbTE2NTsgdHlwZWRlZiBQMTY2IGl0ZW0xNjY7IHR5cGVkZWYgUDE2NyBpdGVtMTY3OyB0eXBlZGVmIFAxNjggaXRlbTE2ODsgdHlwZWRlZiBQMTY5IGl0ZW0xNjk7IHR5cGVkZWYgUDE3MCBpdGVtMTcwOyB0eXBlZGVmIFAxNzEgaXRlbTE3MTsgdHlwZWRlZiBQMTcyIGl0ZW0xNzI7IHR5cGVkZWYgUDE3MyBpdGVtMTczOyB0eXBlZGVmIFAxNzQgaXRlbTE3NDsgdHlwZWRlZiBQMTc1IGl0ZW0xNzU7IHR5cGVkZWYgUDE3NiBpdGVtMTc2OyB0eXBlZGVmIFAxNzcgaXRlbTE3NzsgdHlwZWRlZiBQMTc4IGl0ZW0xNzg7IHR5cGVkZWYgUDE3OSBpdGVtMTc5OyB0eXBlZGVmIFAxODAgaXRlbTE4MDsgdHlwZWRlZiBQMTgxIGl0ZW0xODE7IHR5cGVkZWYgUDE4MiBpdGVtMTgyOyB0eXBlZGVmIFAxODMgaXRlbTE4MzsgdHlwZWRlZiBQMTg0IGl0ZW0xODQ7IHR5cGVkZWYgUDE4NSBpdGVtMTg1OyB0eXBlZGVmIFAxODYgaXRlbTE4NjsgdHlwZWRlZiBQMTg3IGl0ZW0xODc7IHR5cGVkZWYgUDE4OCBpdGVtMTg4OyB0eXBlZGVmIFAxODkgaXRlbTE4OTsgdHlwZWRlZiBQMTkwIGl0ZW0xOTA7IHR5cGVkZWYgUDE5MSBpdGVtMTkxOyB0eXBlZGVmIFAxOTIgaXRlbTE5MjsgdHlwZWRlZiBQMTkzIGl0ZW0xOTM7IHR5cGVkZWYgUDE5NCBpdGVtMTk0OyB0eXBlZGVmIFAxOTUgaXRlbTE5NTsgdHlwZWRlZiBQMTk2IGl0ZW0xOTY7IHR5cGVkZWYgUDE5NyBpdGVtMTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjAzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ5OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBQOTMgLCBjbGFzcyBQOTQgLCBjbGFzcyBQOTUgLCBjbGFzcyBQOTYgLCBjbGFzcyBQOTcgLCBjbGFzcyBQOTggLCBjbGFzcyBQOTkgLCBjbGFzcyBQMTAwICwgY2xhc3MgUDEwMSAsIGNsYXNzIFAxMDIgLCBjbGFzcyBQMTAzICwgY2xhc3MgUDEwNCAsIGNsYXNzIFAxMDUgLCBjbGFzcyBQMTA2ICwgY2xhc3MgUDEwNyAsIGNsYXNzIFAxMDggLCBjbGFzcyBQMTA5ICwgY2xhc3MgUDExMCAsIGNsYXNzIFAxMTEgLCBjbGFzcyBQMTEyICwgY2xhc3MgUDExMyAsIGNsYXNzIFAxMTQgLCBjbGFzcyBQMTE1ICwgY2xhc3MgUDExNiAsIGNsYXNzIFAxMTcgLCBjbGFzcyBQMTE4ICwgY2xhc3MgUDExOSAsIGNsYXNzIFAxMjAgLCBjbGFzcyBQMTIxICwgY2xhc3MgUDEyMiAsIGNsYXNzIFAxMjMgLCBjbGFzcyBQMTI0ICwgY2xhc3MgUDEyNSAsIGNsYXNzIFAxMjYgLCBjbGFzcyBQMTI3ICwgY2xhc3MgUDEyOCAsIGNsYXNzIFAxMjkgLCBjbGFzcyBQMTMwICwgY2xhc3MgUDEzMSAsIGNsYXNzIFAxMzIgLCBjbGFzcyBQMTMzICwgY2xhc3MgUDEzNCAsIGNsYXNzIFAxMzUgLCBjbGFzcyBQMTM2ICwgY2xhc3MgUDEzNyAsIGNsYXNzIFAxMzggLCBjbGFzcyBQMTM5ICwgY2xhc3MgUDE0MCAsIGNsYXNzIFAxNDEgLCBjbGFzcyBQMTQyICwgY2xhc3MgUDE0MyAsIGNsYXNzIFAxNDQgLCBjbGFzcyBQMTQ1ICwgY2xhc3MgUDE0NiAsIGNsYXNzIFAxNDcgLCBjbGFzcyBQMTQ4ICwgY2xhc3MgUDE0OSAsIGNsYXNzIFAxNTAgLCBjbGFzcyBQMTUxICwgY2xhc3MgUDE1MiAsIGNsYXNzIFAxNTMgLCBjbGFzcyBQMTU0ICwgY2xhc3MgUDE1NSAsIGNsYXNzIFAxNTYgLCBjbGFzcyBQMTU3ICwgY2xhc3MgUDE1OCAsIGNsYXNzIFAxNTkgLCBjbGFzcyBQMTYwICwgY2xhc3MgUDE2MSAsIGNsYXNzIFAxNjIgLCBjbGFzcyBQMTYzICwgY2xhc3MgUDE2NCAsIGNsYXNzIFAxNjUgLCBjbGFzcyBQMTY2ICwgY2xhc3MgUDE2NyAsIGNsYXNzIFAxNjggLCBjbGFzcyBQMTY5ICwgY2xhc3MgUDE3MCAsIGNsYXNzIFAxNzEgLCBjbGFzcyBQMTcyICwgY2xhc3MgUDE3MyAsIGNsYXNzIFAxNzQgLCBjbGFzcyBQMTc1ICwgY2xhc3MgUDE3NiAsIGNsYXNzIFAxNzcgLCBjbGFzcyBQMTc4ICwgY2xhc3MgUDE3OSAsIGNsYXNzIFAxODAgLCBjbGFzcyBQMTgxICwgY2xhc3MgUDE4MiAsIGNsYXNzIFAxODMgLCBjbGFzcyBQMTg0ICwgY2xhc3MgUDE4NSAsIGNsYXNzIFAxODYgLCBjbGFzcyBQMTg3ICwgY2xhc3MgUDE4OCAsIGNsYXNzIFAxODkgLCBjbGFzcyBQMTkwICwgY2xhc3MgUDE5MSAsIGNsYXNzIFAxOTIgLCBjbGFzcyBQMTkzICwgY2xhc3MgUDE5NCAsIGNsYXNzIFAxOTUgLCBjbGFzcyBQMTk2ICwgY2xhc3MgUDE5NyAsIGNsYXNzIFAxOTggPiBzdHJ1Y3QgdmVjdG9yMTk5IHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yMTk5PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFA5MiAsIFA5MyAsIFA5NCAsIFA5NSAsIFA5NiAsIFA5NyAsIFA5OCAsIFA5OSAsIFAxMDAgLCBQMTAxICwgUDEwMiAsIFAxMDMgLCBQMTA0ICwgUDEwNSAsIFAxMDYgLCBQMTA3ICwgUDEwOCAsIFAxMDkgLCBQMTEwICwgUDExMSAsIFAxMTIgLCBQMTEzICwgUDExNCAsIFAxMTUgLCBQMTE2ICwgUDExNyAsIFAxMTggLCBQMTE5ICwgUDEyMCAsIFAxMjEgLCBQMTIyICwgUDEyMyAsIFAxMjQgLCBQMTI1ICwgUDEyNiAsIFAxMjcgLCBQMTI4ICwgUDEyOSAsIFAxMzAgLCBQMTMxICwgUDEzMiAsIFAxMzMgLCBQMTM0ICwgUDEzNSAsIFAxMzYgLCBQMTM3ICwgUDEzOCAsIFAxMzkgLCBQMTQwICwgUDE0MSAsIFAxNDIgLCBQMTQzICwgUDE0NCAsIFAxNDUgLCBQMTQ2ICwgUDE0NyAsIFAxNDggLCBQMTQ5ICwgUDE1MCAsIFAxNTEgLCBQMTUyICwgUDE1MyAsIFAxNTQgLCBQMTU1ICwgUDE1NiAsIFAxNTcgLCBQMTU4ICwgUDE1OSAsIFAxNjAgLCBQMTYxICwgUDE2MiAsIFAxNjMgLCBQMTY0ICwgUDE2NSAsIFAxNjYgLCBQMTY3ICwgUDE2OCAsIFAxNjkgLCBQMTcwICwgUDE3MSAsIFAxNzIgLCBQMTczICwgUDE3NCAsIFAxNzUgLCBQMTc2ICwgUDE3NyAsIFAxNzggLCBQMTc5ICwgUDE4MCAsIFAxODEgLCBQMTgyICwgUDE4MyAsIFAxODQgLCBQMTg1ICwgUDE4NiAsIFAxODcgLCBQMTg4ICwgUDE4OSAsIFAxOTAgLCBQMTkxICwgUDE5MiAsIFAxOTMgLCBQMTk0ICwgUDE5NSAsIFAxOTYgLCBQMTk3ICwgUDE5OD4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBQODggaXRlbTg4OyB0eXBlZGVmIFA4OSBpdGVtODk7IHR5cGVkZWYgUDkwIGl0ZW05MDsgdHlwZWRlZiBQOTEgaXRlbTkxOyB0eXBlZGVmIFA5MiBpdGVtOTI7IHR5cGVkZWYgUDkzIGl0ZW05MzsgdHlwZWRlZiBQOTQgaXRlbTk0OyB0eXBlZGVmIFA5NSBpdGVtOTU7IHR5cGVkZWYgUDk2IGl0ZW05NjsgdHlwZWRlZiBQOTcgaXRlbTk3OyB0eXBlZGVmIFA5OCBpdGVtOTg7IHR5cGVkZWYgUDk5IGl0ZW05OTsgdHlwZWRlZiBQMTAwIGl0ZW0xMDA7IHR5cGVkZWYgUDEwMSBpdGVtMTAxOyB0eXBlZGVmIFAxMDIgaXRlbTEwMjsgdHlwZWRlZiBQMTAzIGl0ZW0xMDM7IHR5cGVkZWYgUDEwNCBpdGVtMTA0OyB0eXBlZGVmIFAxMDUgaXRlbTEwNTsgdHlwZWRlZiBQMTA2IGl0ZW0xMDY7IHR5cGVkZWYgUDEwNyBpdGVtMTA3OyB0eXBlZGVmIFAxMDggaXRlbTEwODsgdHlwZWRlZiBQMTA5IGl0ZW0xMDk7IHR5cGVkZWYgUDExMCBpdGVtMTEwOyB0eXBlZGVmIFAxMTEgaXRlbTExMTsgdHlwZWRlZiBQMTEyIGl0ZW0xMTI7IHR5cGVkZWYgUDExMyBpdGVtMTEzOyB0eXBlZGVmIFAxMTQgaXRlbTExNDsgdHlwZWRlZiBQMTE1IGl0ZW0xMTU7IHR5cGVkZWYgUDExNiBpdGVtMTE2OyB0eXBlZGVmIFAxMTcgaXRlbTExNzsgdHlwZWRlZiBQMTE4IGl0ZW0xMTg7IHR5cGVkZWYgUDExOSBpdGVtMTE5OyB0eXBlZGVmIFAxMjAgaXRlbTEyMDsgdHlwZWRlZiBQMTIxIGl0ZW0xMjE7IHR5cGVkZWYgUDEyMiBpdGVtMTIyOyB0eXBlZGVmIFAxMjMgaXRlbTEyMzsgdHlwZWRlZiBQMTI0IGl0ZW0xMjQ7IHR5cGVkZWYgUDEyNSBpdGVtMTI1OyB0eXBlZGVmIFAxMjYgaXRlbTEyNjsgdHlwZWRlZiBQMTI3IGl0ZW0xMjc7IHR5cGVkZWYgUDEyOCBpdGVtMTI4OyB0eXBlZGVmIFAxMjkgaXRlbTEyOTsgdHlwZWRlZiBQMTMwIGl0ZW0xMzA7IHR5cGVkZWYgUDEzMSBpdGVtMTMxOyB0eXBlZGVmIFAxMzIgaXRlbTEzMjsgdHlwZWRlZiBQMTMzIGl0ZW0xMzM7IHR5cGVkZWYgUDEzNCBpdGVtMTM0OyB0eXBlZGVmIFAxMzUgaXRlbTEzNTsgdHlwZWRlZiBQMTM2IGl0ZW0xMzY7IHR5cGVkZWYgUDEzNyBpdGVtMTM3OyB0eXBlZGVmIFAxMzggaXRlbTEzODsgdHlwZWRlZiBQMTM5IGl0ZW0xMzk7IHR5cGVkZWYgUDE0MCBpdGVtMTQwOyB0eXBlZGVmIFAxNDEgaXRlbTE0MTsgdHlwZWRlZiBQMTQyIGl0ZW0xNDI7IHR5cGVkZWYgUDE0MyBpdGVtMTQzOyB0eXBlZGVmIFAxNDQgaXRlbTE0NDsgdHlwZWRlZiBQMTQ1IGl0ZW0xNDU7IHR5cGVkZWYgUDE0NiBpdGVtMTQ2OyB0eXBlZGVmIFAxNDcgaXRlbTE0NzsgdHlwZWRlZiBQMTQ4IGl0ZW0xNDg7IHR5cGVkZWYgUDE0OSBpdGVtMTQ5OyB0eXBlZGVmIFAxNTAgaXRlbTE1MDsgdHlwZWRlZiBQMTUxIGl0ZW0xNTE7IHR5cGVkZWYgUDE1MiBpdGVtMTUyOyB0eXBlZGVmIFAxNTMgaXRlbTE1MzsgdHlwZWRlZiBQMTU0IGl0ZW0xNTQ7IHR5cGVkZWYgUDE1NSBpdGVtMTU1OyB0eXBlZGVmIFAxNTYgaXRlbTE1NjsgdHlwZWRlZiBQMTU3IGl0ZW0xNTc7IHR5cGVkZWYgUDE1OCBpdGVtMTU4OyB0eXBlZGVmIFAxNTkgaXRlbTE1OTsgdHlwZWRlZiBQMTYwIGl0ZW0xNjA7IHR5cGVkZWYgUDE2MSBpdGVtMTYxOyB0eXBlZGVmIFAxNjIgaXRlbTE2MjsgdHlwZWRlZiBQMTYzIGl0ZW0xNjM7IHR5cGVkZWYgUDE2NCBpdGVtMTY0OyB0eXBlZGVmIFAxNjUgaXRlbTE2NTsgdHlwZWRlZiBQMTY2IGl0ZW0xNjY7IHR5cGVkZWYgUDE2NyBpdGVtMTY3OyB0eXBlZGVmIFAxNjggaXRlbTE2ODsgdHlwZWRlZiBQMTY5IGl0ZW0xNjk7IHR5cGVkZWYgUDE3MCBpdGVtMTcwOyB0eXBlZGVmIFAxNzEgaXRlbTE3MTsgdHlwZWRlZiBQMTcyIGl0ZW0xNzI7IHR5cGVkZWYgUDE3MyBpdGVtMTczOyB0eXBlZGVmIFAxNzQgaXRlbTE3NDsgdHlwZWRlZiBQMTc1IGl0ZW0xNzU7IHR5cGVkZWYgUDE3NiBpdGVtMTc2OyB0eXBlZGVmIFAxNzcgaXRlbTE3NzsgdHlwZWRlZiBQMTc4IGl0ZW0xNzg7IHR5cGVkZWYgUDE3OSBpdGVtMTc5OyB0eXBlZGVmIFAxODAgaXRlbTE4MDsgdHlwZWRlZiBQMTgxIGl0ZW0xODE7IHR5cGVkZWYgUDE4MiBpdGVtMTgyOyB0eXBlZGVmIFAxODMgaXRlbTE4MzsgdHlwZWRlZiBQMTg0IGl0ZW0xODQ7IHR5cGVkZWYgUDE4NSBpdGVtMTg1OyB0eXBlZGVmIFAxODYgaXRlbTE4NjsgdHlwZWRlZiBQMTg3IGl0ZW0xODc7IHR5cGVkZWYgUDE4OCBpdGVtMTg4OyB0eXBlZGVmIFAxODkgaXRlbTE4OTsgdHlwZWRlZiBQMTkwIGl0ZW0xOTA7IHR5cGVkZWYgUDE5MSBpdGVtMTkxOyB0eXBlZGVmIFAxOTIgaXRlbTE5MjsgdHlwZWRlZiBQMTkzIGl0ZW0xOTM7IHR5cGVkZWYgUDE5NCBpdGVtMTk0OyB0eXBlZGVmIFAxOTUgaXRlbTE5NTsgdHlwZWRlZiBQMTk2IGl0ZW0xOTY7IHR5cGVkZWYgUDE5NyBpdGVtMTk3OyB0eXBlZGVmIFAxOTggaXRlbTE5ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0OTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ICwgY2xhc3MgUDk2ICwgY2xhc3MgUDk3ICwgY2xhc3MgUDk4ICwgY2xhc3MgUDk5ICwgY2xhc3MgUDEwMCAsIGNsYXNzIFAxMDEgLCBjbGFzcyBQMTAyICwgY2xhc3MgUDEwMyAsIGNsYXNzIFAxMDQgLCBjbGFzcyBQMTA1ICwgY2xhc3MgUDEwNiAsIGNsYXNzIFAxMDcgLCBjbGFzcyBQMTA4ICwgY2xhc3MgUDEwOSAsIGNsYXNzIFAxMTAgLCBjbGFzcyBQMTExICwgY2xhc3MgUDExMiAsIGNsYXNzIFAxMTMgLCBjbGFzcyBQMTE0ICwgY2xhc3MgUDExNSAsIGNsYXNzIFAxMTYgLCBjbGFzcyBQMTE3ICwgY2xhc3MgUDExOCAsIGNsYXNzIFAxMTkgLCBjbGFzcyBQMTIwICwgY2xhc3MgUDEyMSAsIGNsYXNzIFAxMjIgLCBjbGFzcyBQMTIzICwgY2xhc3MgUDEyNCAsIGNsYXNzIFAxMjUgLCBjbGFzcyBQMTI2ICwgY2xhc3MgUDEyNyAsIGNsYXNzIFAxMjggLCBjbGFzcyBQMTI5ICwgY2xhc3MgUDEzMCAsIGNsYXNzIFAxMzEgLCBjbGFzcyBQMTMyICwgY2xhc3MgUDEzMyAsIGNsYXNzIFAxMzQgLCBjbGFzcyBQMTM1ICwgY2xhc3MgUDEzNiAsIGNsYXNzIFAxMzcgLCBjbGFzcyBQMTM4ICwgY2xhc3MgUDEzOSAsIGNsYXNzIFAxNDAgLCBjbGFzcyBQMTQxICwgY2xhc3MgUDE0MiAsIGNsYXNzIFAxNDMgLCBjbGFzcyBQMTQ0ICwgY2xhc3MgUDE0NSAsIGNsYXNzIFAxNDYgLCBjbGFzcyBQMTQ3ICwgY2xhc3MgUDE0OCAsIGNsYXNzIFAxNDkgLCBjbGFzcyBQMTUwICwgY2xhc3MgUDE1MSAsIGNsYXNzIFAxNTIgLCBjbGFzcyBQMTUzICwgY2xhc3MgUDE1NCAsIGNsYXNzIFAxNTUgLCBjbGFzcyBQMTU2ICwgY2xhc3MgUDE1NyAsIGNsYXNzIFAxNTggLCBjbGFzcyBQMTU5ICwgY2xhc3MgUDE2MCAsIGNsYXNzIFAxNjEgLCBjbGFzcyBQMTYyICwgY2xhc3MgUDE2MyAsIGNsYXNzIFAxNjQgLCBjbGFzcyBQMTY1ICwgY2xhc3MgUDE2NiAsIGNsYXNzIFAxNjcgLCBjbGFzcyBQMTY4ICwgY2xhc3MgUDE2OSAsIGNsYXNzIFAxNzAgLCBjbGFzcyBQMTcxICwgY2xhc3MgUDE3MiAsIGNsYXNzIFAxNzMgLCBjbGFzcyBQMTc0ICwgY2xhc3MgUDE3NSAsIGNsYXNzIFAxNzYgLCBjbGFzcyBQMTc3ICwgY2xhc3MgUDE3OCAsIGNsYXNzIFAxNzkgLCBjbGFzcyBQMTgwICwgY2xhc3MgUDE4MSAsIGNsYXNzIFAxODIgLCBjbGFzcyBQMTgzICwgY2xhc3MgUDE4NCAsIGNsYXNzIFAxODUgLCBjbGFzcyBQMTg2ICwgY2xhc3MgUDE4NyAsIGNsYXNzIFAxODggLCBjbGFzcyBQMTg5ICwgY2xhc3MgUDE5MCAsIGNsYXNzIFAxOTEgLCBjbGFzcyBQMTkyICwgY2xhc3MgUDE5MyAsIGNsYXNzIFAxOTQgLCBjbGFzcyBQMTk1ICwgY2xhc3MgUDE5NiAsIGNsYXNzIFAxOTcgLCBjbGFzcyBQMTk4ICwgY2xhc3MgUDE5OSA+IHN0cnVjdCB2ZWN0b3IyMDAgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3IyMDA8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1ICwgUDk2ICwgUDk3ICwgUDk4ICwgUDk5ICwgUDEwMCAsIFAxMDEgLCBQMTAyICwgUDEwMyAsIFAxMDQgLCBQMTA1ICwgUDEwNiAsIFAxMDcgLCBQMTA4ICwgUDEwOSAsIFAxMTAgLCBQMTExICwgUDExMiAsIFAxMTMgLCBQMTE0ICwgUDExNSAsIFAxMTYgLCBQMTE3ICwgUDExOCAsIFAxMTkgLCBQMTIwICwgUDEyMSAsIFAxMjIgLCBQMTIzICwgUDEyNCAsIFAxMjUgLCBQMTI2ICwgUDEyNyAsIFAxMjggLCBQMTI5ICwgUDEzMCAsIFAxMzEgLCBQMTMyICwgUDEzMyAsIFAxMzQgLCBQMTM1ICwgUDEzNiAsIFAxMzcgLCBQMTM4ICwgUDEzOSAsIFAxNDAgLCBQMTQxICwgUDE0MiAsIFAxNDMgLCBQMTQ0ICwgUDE0NSAsIFAxNDYgLCBQMTQ3ICwgUDE0OCAsIFAxNDkgLCBQMTUwICwgUDE1MSAsIFAxNTIgLCBQMTUzICwgUDE1NCAsIFAxNTUgLCBQMTU2ICwgUDE1NyAsIFAxNTggLCBQMTU5ICwgUDE2MCAsIFAxNjEgLCBQMTYyICwgUDE2MyAsIFAxNjQgLCBQMTY1ICwgUDE2NiAsIFAxNjcgLCBQMTY4ICwgUDE2OSAsIFAxNzAgLCBQMTcxICwgUDE3MiAsIFAxNzMgLCBQMTc0ICwgUDE3NSAsIFAxNzYgLCBQMTc3ICwgUDE3OCAsIFAxNzkgLCBQMTgwICwgUDE4MSAsIFAxODIgLCBQMTgzICwgUDE4NCAsIFAxODUgLCBQMTg2ICwgUDE4NyAsIFAxODggLCBQMTg5ICwgUDE5MCAsIFAxOTEgLCBQMTkyICwgUDE5MyAsIFAxOTQgLCBQMTk1ICwgUDE5NiAsIFAxOTcgLCBQMTk4ICwgUDE5OT4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgUDQ4IGl0ZW00ODsgdHlwZWRlZiBQNDkgaXRlbTQ5OyB0eXBlZGVmIFA1MCBpdGVtNTA7IHR5cGVkZWYgUDUxIGl0ZW01MTsgdHlwZWRlZiBQNTIgaXRlbTUyOyB0eXBlZGVmIFA1MyBpdGVtNTM7IHR5cGVkZWYgUDU0IGl0ZW01NDsgdHlwZWRlZiBQNTUgaXRlbTU1OyB0eXBlZGVmIFA1NiBpdGVtNTY7IHR5cGVkZWYgUDU3IGl0ZW01NzsgdHlwZWRlZiBQNTggaXRlbTU4OyB0eXBlZGVmIFA1OSBpdGVtNTk7IHR5cGVkZWYgUDYwIGl0ZW02MDsgdHlwZWRlZiBQNjEgaXRlbTYxOyB0eXBlZGVmIFA2MiBpdGVtNjI7IHR5cGVkZWYgUDYzIGl0ZW02MzsgdHlwZWRlZiBQNjQgaXRlbTY0OyB0eXBlZGVmIFA2NSBpdGVtNjU7IHR5cGVkZWYgUDY2IGl0ZW02NjsgdHlwZWRlZiBQNjcgaXRlbTY3OyB0eXBlZGVmIFA2OCBpdGVtNjg7IHR5cGVkZWYgUDY5IGl0ZW02OTsgdHlwZWRlZiBQNzAgaXRlbTcwOyB0eXBlZGVmIFA3MSBpdGVtNzE7IHR5cGVkZWYgUDcyIGl0ZW03MjsgdHlwZWRlZiBQNzMgaXRlbTczOyB0eXBlZGVmIFA3NCBpdGVtNzQ7IHR5cGVkZWYgUDc1IGl0ZW03NTsgdHlwZWRlZiBQNzYgaXRlbTc2OyB0eXBlZGVmIFA3NyBpdGVtNzc7IHR5cGVkZWYgUDc4IGl0ZW03ODsgdHlwZWRlZiBQNzkgaXRlbTc5OyB0eXBlZGVmIFA4MCBpdGVtODA7IHR5cGVkZWYgUDgxIGl0ZW04MTsgdHlwZWRlZiBQODIgaXRlbTgyOyB0eXBlZGVmIFA4MyBpdGVtODM7IHR5cGVkZWYgUDg0IGl0ZW04NDsgdHlwZWRlZiBQODUgaXRlbTg1OyB0eXBlZGVmIFA4NiBpdGVtODY7IHR5cGVkZWYgUDg3IGl0ZW04NzsgdHlwZWRlZiBQODggaXRlbTg4OyB0eXBlZGVmIFA4OSBpdGVtODk7IHR5cGVkZWYgUDkwIGl0ZW05MDsgdHlwZWRlZiBQOTEgaXRlbTkxOyB0eXBlZGVmIFA5MiBpdGVtOTI7IHR5cGVkZWYgUDkzIGl0ZW05MzsgdHlwZWRlZiBQOTQgaXRlbTk0OyB0eXBlZGVmIFA5NSBpdGVtOTU7IHR5cGVkZWYgUDk2IGl0ZW05NjsgdHlwZWRlZiBQOTcgaXRlbTk3OyB0eXBlZGVmIFA5OCBpdGVtOTg7IHR5cGVkZWYgUDk5IGl0ZW05OTsgdHlwZWRlZiBQMTAwIGl0ZW0xMDA7IHR5cGVkZWYgUDEwMSBpdGVtMTAxOyB0eXBlZGVmIFAxMDIgaXRlbTEwMjsgdHlwZWRlZiBQMTAzIGl0ZW0xMDM7IHR5cGVkZWYgUDEwNCBpdGVtMTA0OyB0eXBlZGVmIFAxMDUgaXRlbTEwNTsgdHlwZWRlZiBQMTA2IGl0ZW0xMDY7IHR5cGVkZWYgUDEwNyBpdGVtMTA3OyB0eXBlZGVmIFAxMDggaXRlbTEwODsgdHlwZWRlZiBQMTA5IGl0ZW0xMDk7IHR5cGVkZWYgUDExMCBpdGVtMTEwOyB0eXBlZGVmIFAxMTEgaXRlbTExMTsgdHlwZWRlZiBQMTEyIGl0ZW0xMTI7IHR5cGVkZWYgUDExMyBpdGVtMTEzOyB0eXBlZGVmIFAxMTQgaXRlbTExNDsgdHlwZWRlZiBQMTE1IGl0ZW0xMTU7IHR5cGVkZWYgUDExNiBpdGVtMTE2OyB0eXBlZGVmIFAxMTcgaXRlbTExNzsgdHlwZWRlZiBQMTE4IGl0ZW0xMTg7IHR5cGVkZWYgUDExOSBpdGVtMTE5OyB0eXBlZGVmIFAxMjAgaXRlbTEyMDsgdHlwZWRlZiBQMTIxIGl0ZW0xMjE7IHR5cGVkZWYgUDEyMiBpdGVtMTIyOyB0eXBlZGVmIFAxMjMgaXRlbTEyMzsgdHlwZWRlZiBQMTI0IGl0ZW0xMjQ7IHR5cGVkZWYgUDEyNSBpdGVtMTI1OyB0eXBlZGVmIFAxMjYgaXRlbTEyNjsgdHlwZWRlZiBQMTI3IGl0ZW0xMjc7IHR5cGVkZWYgUDEyOCBpdGVtMTI4OyB0eXBlZGVmIFAxMjkgaXRlbTEyOTsgdHlwZWRlZiBQMTMwIGl0ZW0xMzA7IHR5cGVkZWYgUDEzMSBpdGVtMTMxOyB0eXBlZGVmIFAxMzIgaXRlbTEzMjsgdHlwZWRlZiBQMTMzIGl0ZW0xMzM7IHR5cGVkZWYgUDEzNCBpdGVtMTM0OyB0eXBlZGVmIFAxMzUgaXRlbTEzNTsgdHlwZWRlZiBQMTM2IGl0ZW0xMzY7IHR5cGVkZWYgUDEzNyBpdGVtMTM3OyB0eXBlZGVmIFAxMzggaXRlbTEzODsgdHlwZWRlZiBQMTM5IGl0ZW0xMzk7IHR5cGVkZWYgUDE0MCBpdGVtMTQwOyB0eXBlZGVmIFAxNDEgaXRlbTE0MTsgdHlwZWRlZiBQMTQyIGl0ZW0xNDI7IHR5cGVkZWYgUDE0MyBpdGVtMTQzOyB0eXBlZGVmIFAxNDQgaXRlbTE0NDsgdHlwZWRlZiBQMTQ1IGl0ZW0xNDU7IHR5cGVkZWYgUDE0NiBpdGVtMTQ2OyB0eXBlZGVmIFAxNDcgaXRlbTE0NzsgdHlwZWRlZiBQMTQ4IGl0ZW0xNDg7IHR5cGVkZWYgUDE0OSBpdGVtMTQ5OyB0eXBlZGVmIFAxNTAgaXRlbTE1MDsgdHlwZWRlZiBQMTUxIGl0ZW0xNTE7IHR5cGVkZWYgUDE1MiBpdGVtMTUyOyB0eXBlZGVmIFAxNTMgaXRlbTE1MzsgdHlwZWRlZiBQMTU0IGl0ZW0xNTQ7IHR5cGVkZWYgUDE1NSBpdGVtMTU1OyB0eXBlZGVmIFAxNTYgaXRlbTE1NjsgdHlwZWRlZiBQMTU3IGl0ZW0xNTc7IHR5cGVkZWYgUDE1OCBpdGVtMTU4OyB0eXBlZGVmIFAxNTkgaXRlbTE1OTsgdHlwZWRlZiBQMTYwIGl0ZW0xNjA7IHR5cGVkZWYgUDE2MSBpdGVtMTYxOyB0eXBlZGVmIFAxNjIgaXRlbTE2MjsgdHlwZWRlZiBQMTYzIGl0ZW0xNjM7IHR5cGVkZWYgUDE2NCBpdGVtMTY0OyB0eXBlZGVmIFAxNjUgaXRlbTE2NTsgdHlwZWRlZiBQMTY2IGl0ZW0xNjY7IHR5cGVkZWYgUDE2NyBpdGVtMTY3OyB0eXBlZGVmIFAxNjggaXRlbTE2ODsgdHlwZWRlZiBQMTY5IGl0ZW0xNjk7IHR5cGVkZWYgUDE3MCBpdGVtMTcwOyB0eXBlZGVmIFAxNzEgaXRlbTE3MTsgdHlwZWRlZiBQMTcyIGl0ZW0xNzI7IHR5cGVkZWYgUDE3MyBpdGVtMTczOyB0eXBlZGVmIFAxNzQgaXRlbTE3NDsgdHlwZWRlZiBQMTc1IGl0ZW0xNzU7IHR5cGVkZWYgUDE3NiBpdGVtMTc2OyB0eXBlZGVmIFAxNzcgaXRlbTE3NzsgdHlwZWRlZiBQMTc4IGl0ZW0xNzg7IHR5cGVkZWYgUDE3OSBpdGVtMTc5OyB0eXBlZGVmIFAxODAgaXRlbTE4MDsgdHlwZWRlZiBQMTgxIGl0ZW0xODE7IHR5cGVkZWYgUDE4MiBpdGVtMTgyOyB0eXBlZGVmIFAxODMgaXRlbTE4MzsgdHlwZWRlZiBQMTg0IGl0ZW0xODQ7IHR5cGVkZWYgUDE4NSBpdGVtMTg1OyB0eXBlZGVmIFAxODYgaXRlbTE4NjsgdHlwZWRlZiBQMTg3IGl0ZW0xODc7IHR5cGVkZWYgUDE4OCBpdGVtMTg4OyB0eXBlZGVmIFAxODkgaXRlbTE4OTsgdHlwZWRlZiBQMTkwIGl0ZW0xOTA7IHR5cGVkZWYgUDE5MSBpdGVtMTkxOyB0eXBlZGVmIFAxOTIgaXRlbTE5MjsgdHlwZWRlZiBQMTkzIGl0ZW0xOTM7IHR5cGVkZWYgUDE5NCBpdGVtMTk0OyB0eXBlZGVmIFAxOTUgaXRlbTE5NTsgdHlwZWRlZiBQMTk2IGl0ZW0xOTY7IHR5cGVkZWYgUDE5NyBpdGVtMTk3OyB0eXBlZGVmIFAxOTggaXRlbTE5ODsgdHlwZWRlZiBQMTk5IGl0ZW0xOTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDk7IH07Cit9fQorbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIHR5cGVfb2YgeworICAgIHRlbXBsYXRlPGNsYXNzIFYsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2sgeworICAgICAgICB0eXBlZGVmIFYgdHlwZTsKKyAgICB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMDw+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjE8IFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IxPCBQMD4sIFQ+IHsgdHlwZWRlZiBuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMjwgUDAgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IyPCBQMCAsIFAxPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IzPCBQMCAsIFAxICwgVCA+IHR5cGU7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IzPCBQMCAsIFAxICwgUDI+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjQ8IFAwICwgUDEgLCBQMiAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I0PCBQMCAsIFAxICwgUDIgLCBQMz4sIFQ+IHsgdHlwZWRlZiBuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yNTwgUDAgLCBQMSAsIFAyICwgUDMgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I1PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I2PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgVCA+IHR5cGU7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I2PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDU+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3Rvcjc8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I3PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNj4sIFQ+IHsgdHlwZWRlZiBuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yODwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I4PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I5PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgVCA+IHR5cGU7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I5PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDg+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjEwPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMTA8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IxMTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMTE8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IxMjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMTI8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IxMzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMTM8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IxNDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMTQ8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IxNTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMTU8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IxNjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMTY8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IxNzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMTc8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IxODwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMTg8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IxOTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMTk8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IyMDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMjA8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IyMTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMjE8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IyMjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMjI8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IyMzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMjM8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IyNDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMjQ8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IyNTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMjU8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IyNjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMjY8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IyNzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMjc8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IyODwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMjg8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IyOTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMjk8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IzMDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMzA8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IzMTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMzE8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IzMjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMzI8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IzMzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMzM8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IzNDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMzQ8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IzNTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMzU8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IzNjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMzY8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IzNzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMzc8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IzODwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMzg8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IzOTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMzk8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I0MDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yNDA8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I0MTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yNDE8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I0MjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yNDI8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I0MzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yNDM8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I0NDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yNDQ8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I0NTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yNDU8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I0NjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yNDY8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I0NzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yNDc8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I0ODwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yNDg8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I0OTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yNDk8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I1MDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yNTA8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I1MTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yNTE8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I1MjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yNTI8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I1MzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yNTM8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I1NDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yNTQ8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I1NTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yNTU8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I1NjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yNTY8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I1NzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yNTc8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I1ODwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yNTg8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I1OTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yNTk8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I2MDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yNjA8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I2MTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yNjE8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I2MjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yNjI8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I2MzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yNjM8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I2NDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yNjQ8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I2NTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yNjU8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I2NjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yNjY8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I2NzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yNjc8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I2ODwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yNjg8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I2OTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yNjk8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I3MDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yNzA8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I3MTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yNzE8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I3MjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yNzI8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I3MzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yNzM8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I3NDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yNzQ8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I3NTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yNzU8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I3NjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yNzY8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I3NzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yNzc8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I3ODwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yNzg8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I3OTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yNzk8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I4MDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yODA8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I4MTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yODE8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I4MjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yODI8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I4MzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yODM8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I4NDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yODQ8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I4NTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yODU8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I4NjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yODY8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I4NzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yODc8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I4ODwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yODg8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I4OTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yODk8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I5MDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yOTA8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I5MTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yOTE8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I5MjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yOTI8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I5MzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yOTM8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I5NDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yOTQ8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I5NTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yOTU8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I5NjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yOTY8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I5NzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ICwgY2xhc3MgUDk2ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yOTc8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1ICwgUDk2PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I5ODwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ICwgY2xhc3MgUDk2ICwgY2xhc3MgUDk3ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yOTg8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1ICwgUDk2ICwgUDk3PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I5OTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ICwgY2xhc3MgUDk2ICwgY2xhc3MgUDk3ICwgY2xhc3MgUDk4ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yOTk8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1ICwgUDk2ICwgUDk3ICwgUDk4PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IxMDA8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1ICwgUDk2ICwgUDk3ICwgUDk4ICwgVCA+IHR5cGU7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSAsIGNsYXNzIFA4NiAsIGNsYXNzIFA4NyAsIGNsYXNzIFA4OCAsIGNsYXNzIFA4OSAsIGNsYXNzIFA5MCAsIGNsYXNzIFA5MSAsIGNsYXNzIFA5MiAsIGNsYXNzIFA5MyAsIGNsYXNzIFA5NCAsIGNsYXNzIFA5NSAsIGNsYXNzIFA5NiAsIGNsYXNzIFA5NyAsIGNsYXNzIFA5OCAsIGNsYXNzIFA5OSAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjEwMDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTk+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjEwMTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ICwgY2xhc3MgUDk2ICwgY2xhc3MgUDk3ICwgY2xhc3MgUDk4ICwgY2xhc3MgUDk5ICwgY2xhc3MgUDEwMCAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjEwMTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IxMDI8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1ICwgUDk2ICwgUDk3ICwgUDk4ICwgUDk5ICwgUDEwMCAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBQOTMgLCBjbGFzcyBQOTQgLCBjbGFzcyBQOTUgLCBjbGFzcyBQOTYgLCBjbGFzcyBQOTcgLCBjbGFzcyBQOTggLCBjbGFzcyBQOTkgLCBjbGFzcyBQMTAwICwgY2xhc3MgUDEwMSAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjEwMjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMT4sIFQ+IHsgdHlwZWRlZiBuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMTAzPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFA5MiAsIFA5MyAsIFA5NCAsIFA5NSAsIFA5NiAsIFA5NyAsIFA5OCAsIFA5OSAsIFAxMDAgLCBQMTAxICwgVCA+IHR5cGU7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSAsIGNsYXNzIFA4NiAsIGNsYXNzIFA4NyAsIGNsYXNzIFA4OCAsIGNsYXNzIFA4OSAsIGNsYXNzIFA5MCAsIGNsYXNzIFA5MSAsIGNsYXNzIFA5MiAsIGNsYXNzIFA5MyAsIGNsYXNzIFA5NCAsIGNsYXNzIFA5NSAsIGNsYXNzIFA5NiAsIGNsYXNzIFA5NyAsIGNsYXNzIFA5OCAsIGNsYXNzIFA5OSAsIGNsYXNzIFAxMDAgLCBjbGFzcyBQMTAxICwgY2xhc3MgUDEwMiAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjEwMzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDI+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjEwNDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ICwgY2xhc3MgUDk2ICwgY2xhc3MgUDk3ICwgY2xhc3MgUDk4ICwgY2xhc3MgUDk5ICwgY2xhc3MgUDEwMCAsIGNsYXNzIFAxMDEgLCBjbGFzcyBQMTAyICwgY2xhc3MgUDEwMyAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjEwNDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IxMDU8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1ICwgUDk2ICwgUDk3ICwgUDk4ICwgUDk5ICwgUDEwMCAsIFAxMDEgLCBQMTAyICwgUDEwMyAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBQOTMgLCBjbGFzcyBQOTQgLCBjbGFzcyBQOTUgLCBjbGFzcyBQOTYgLCBjbGFzcyBQOTcgLCBjbGFzcyBQOTggLCBjbGFzcyBQOTkgLCBjbGFzcyBQMTAwICwgY2xhc3MgUDEwMSAsIGNsYXNzIFAxMDIgLCBjbGFzcyBQMTAzICwgY2xhc3MgUDEwNCAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjEwNTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwND4sIFQ+IHsgdHlwZWRlZiBuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMTA2PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFA5MiAsIFA5MyAsIFA5NCAsIFA5NSAsIFA5NiAsIFA5NyAsIFA5OCAsIFA5OSAsIFAxMDAgLCBQMTAxICwgUDEwMiAsIFAxMDMgLCBQMTA0ICwgVCA+IHR5cGU7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSAsIGNsYXNzIFA4NiAsIGNsYXNzIFA4NyAsIGNsYXNzIFA4OCAsIGNsYXNzIFA4OSAsIGNsYXNzIFA5MCAsIGNsYXNzIFA5MSAsIGNsYXNzIFA5MiAsIGNsYXNzIFA5MyAsIGNsYXNzIFA5NCAsIGNsYXNzIFA5NSAsIGNsYXNzIFA5NiAsIGNsYXNzIFA5NyAsIGNsYXNzIFA5OCAsIGNsYXNzIFA5OSAsIGNsYXNzIFAxMDAgLCBjbGFzcyBQMTAxICwgY2xhc3MgUDEwMiAsIGNsYXNzIFAxMDMgLCBjbGFzcyBQMTA0ICwgY2xhc3MgUDEwNSAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjEwNjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDU+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjEwNzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ICwgY2xhc3MgUDk2ICwgY2xhc3MgUDk3ICwgY2xhc3MgUDk4ICwgY2xhc3MgUDk5ICwgY2xhc3MgUDEwMCAsIGNsYXNzIFAxMDEgLCBjbGFzcyBQMTAyICwgY2xhc3MgUDEwMyAsIGNsYXNzIFAxMDQgLCBjbGFzcyBQMTA1ICwgY2xhc3MgUDEwNiAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjEwNzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IxMDg8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1ICwgUDk2ICwgUDk3ICwgUDk4ICwgUDk5ICwgUDEwMCAsIFAxMDEgLCBQMTAyICwgUDEwMyAsIFAxMDQgLCBQMTA1ICwgUDEwNiAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBQOTMgLCBjbGFzcyBQOTQgLCBjbGFzcyBQOTUgLCBjbGFzcyBQOTYgLCBjbGFzcyBQOTcgLCBjbGFzcyBQOTggLCBjbGFzcyBQOTkgLCBjbGFzcyBQMTAwICwgY2xhc3MgUDEwMSAsIGNsYXNzIFAxMDIgLCBjbGFzcyBQMTAzICwgY2xhc3MgUDEwNCAsIGNsYXNzIFAxMDUgLCBjbGFzcyBQMTA2ICwgY2xhc3MgUDEwNyAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjEwODwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNz4sIFQ+IHsgdHlwZWRlZiBuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMTA5PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFA5MiAsIFA5MyAsIFA5NCAsIFA5NSAsIFA5NiAsIFA5NyAsIFA5OCAsIFA5OSAsIFAxMDAgLCBQMTAxICwgUDEwMiAsIFAxMDMgLCBQMTA0ICwgUDEwNSAsIFAxMDYgLCBQMTA3ICwgVCA+IHR5cGU7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSAsIGNsYXNzIFA4NiAsIGNsYXNzIFA4NyAsIGNsYXNzIFA4OCAsIGNsYXNzIFA4OSAsIGNsYXNzIFA5MCAsIGNsYXNzIFA5MSAsIGNsYXNzIFA5MiAsIGNsYXNzIFA5MyAsIGNsYXNzIFA5NCAsIGNsYXNzIFA5NSAsIGNsYXNzIFA5NiAsIGNsYXNzIFA5NyAsIGNsYXNzIFA5OCAsIGNsYXNzIFA5OSAsIGNsYXNzIFAxMDAgLCBjbGFzcyBQMTAxICwgY2xhc3MgUDEwMiAsIGNsYXNzIFAxMDMgLCBjbGFzcyBQMTA0ICwgY2xhc3MgUDEwNSAsIGNsYXNzIFAxMDYgLCBjbGFzcyBQMTA3ICwgY2xhc3MgUDEwOCAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjEwOTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDg+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjExMDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ICwgY2xhc3MgUDk2ICwgY2xhc3MgUDk3ICwgY2xhc3MgUDk4ICwgY2xhc3MgUDk5ICwgY2xhc3MgUDEwMCAsIGNsYXNzIFAxMDEgLCBjbGFzcyBQMTAyICwgY2xhc3MgUDEwMyAsIGNsYXNzIFAxMDQgLCBjbGFzcyBQMTA1ICwgY2xhc3MgUDEwNiAsIGNsYXNzIFAxMDcgLCBjbGFzcyBQMTA4ICwgY2xhc3MgUDEwOSAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjExMDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IxMTE8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1ICwgUDk2ICwgUDk3ICwgUDk4ICwgUDk5ICwgUDEwMCAsIFAxMDEgLCBQMTAyICwgUDEwMyAsIFAxMDQgLCBQMTA1ICwgUDEwNiAsIFAxMDcgLCBQMTA4ICwgUDEwOSAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBQOTMgLCBjbGFzcyBQOTQgLCBjbGFzcyBQOTUgLCBjbGFzcyBQOTYgLCBjbGFzcyBQOTcgLCBjbGFzcyBQOTggLCBjbGFzcyBQOTkgLCBjbGFzcyBQMTAwICwgY2xhc3MgUDEwMSAsIGNsYXNzIFAxMDIgLCBjbGFzcyBQMTAzICwgY2xhc3MgUDEwNCAsIGNsYXNzIFAxMDUgLCBjbGFzcyBQMTA2ICwgY2xhc3MgUDEwNyAsIGNsYXNzIFAxMDggLCBjbGFzcyBQMTA5ICwgY2xhc3MgUDExMCAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjExMTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMD4sIFQ+IHsgdHlwZWRlZiBuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMTEyPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFA5MiAsIFA5MyAsIFA5NCAsIFA5NSAsIFA5NiAsIFA5NyAsIFA5OCAsIFA5OSAsIFAxMDAgLCBQMTAxICwgUDEwMiAsIFAxMDMgLCBQMTA0ICwgUDEwNSAsIFAxMDYgLCBQMTA3ICwgUDEwOCAsIFAxMDkgLCBQMTEwICwgVCA+IHR5cGU7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSAsIGNsYXNzIFA4NiAsIGNsYXNzIFA4NyAsIGNsYXNzIFA4OCAsIGNsYXNzIFA4OSAsIGNsYXNzIFA5MCAsIGNsYXNzIFA5MSAsIGNsYXNzIFA5MiAsIGNsYXNzIFA5MyAsIGNsYXNzIFA5NCAsIGNsYXNzIFA5NSAsIGNsYXNzIFA5NiAsIGNsYXNzIFA5NyAsIGNsYXNzIFA5OCAsIGNsYXNzIFA5OSAsIGNsYXNzIFAxMDAgLCBjbGFzcyBQMTAxICwgY2xhc3MgUDEwMiAsIGNsYXNzIFAxMDMgLCBjbGFzcyBQMTA0ICwgY2xhc3MgUDEwNSAsIGNsYXNzIFAxMDYgLCBjbGFzcyBQMTA3ICwgY2xhc3MgUDEwOCAsIGNsYXNzIFAxMDkgLCBjbGFzcyBQMTEwICwgY2xhc3MgUDExMSAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjExMjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTE+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjExMzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ICwgY2xhc3MgUDk2ICwgY2xhc3MgUDk3ICwgY2xhc3MgUDk4ICwgY2xhc3MgUDk5ICwgY2xhc3MgUDEwMCAsIGNsYXNzIFAxMDEgLCBjbGFzcyBQMTAyICwgY2xhc3MgUDEwMyAsIGNsYXNzIFAxMDQgLCBjbGFzcyBQMTA1ICwgY2xhc3MgUDEwNiAsIGNsYXNzIFAxMDcgLCBjbGFzcyBQMTA4ICwgY2xhc3MgUDEwOSAsIGNsYXNzIFAxMTAgLCBjbGFzcyBQMTExICwgY2xhc3MgUDExMiAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjExMzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IxMTQ8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1ICwgUDk2ICwgUDk3ICwgUDk4ICwgUDk5ICwgUDEwMCAsIFAxMDEgLCBQMTAyICwgUDEwMyAsIFAxMDQgLCBQMTA1ICwgUDEwNiAsIFAxMDcgLCBQMTA4ICwgUDEwOSAsIFAxMTAgLCBQMTExICwgUDExMiAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBQOTMgLCBjbGFzcyBQOTQgLCBjbGFzcyBQOTUgLCBjbGFzcyBQOTYgLCBjbGFzcyBQOTcgLCBjbGFzcyBQOTggLCBjbGFzcyBQOTkgLCBjbGFzcyBQMTAwICwgY2xhc3MgUDEwMSAsIGNsYXNzIFAxMDIgLCBjbGFzcyBQMTAzICwgY2xhc3MgUDEwNCAsIGNsYXNzIFAxMDUgLCBjbGFzcyBQMTA2ICwgY2xhc3MgUDEwNyAsIGNsYXNzIFAxMDggLCBjbGFzcyBQMTA5ICwgY2xhc3MgUDExMCAsIGNsYXNzIFAxMTEgLCBjbGFzcyBQMTEyICwgY2xhc3MgUDExMyAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjExNDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMz4sIFQ+IHsgdHlwZWRlZiBuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMTE1PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFA5MiAsIFA5MyAsIFA5NCAsIFA5NSAsIFA5NiAsIFA5NyAsIFA5OCAsIFA5OSAsIFAxMDAgLCBQMTAxICwgUDEwMiAsIFAxMDMgLCBQMTA0ICwgUDEwNSAsIFAxMDYgLCBQMTA3ICwgUDEwOCAsIFAxMDkgLCBQMTEwICwgUDExMSAsIFAxMTIgLCBQMTEzICwgVCA+IHR5cGU7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSAsIGNsYXNzIFA4NiAsIGNsYXNzIFA4NyAsIGNsYXNzIFA4OCAsIGNsYXNzIFA4OSAsIGNsYXNzIFA5MCAsIGNsYXNzIFA5MSAsIGNsYXNzIFA5MiAsIGNsYXNzIFA5MyAsIGNsYXNzIFA5NCAsIGNsYXNzIFA5NSAsIGNsYXNzIFA5NiAsIGNsYXNzIFA5NyAsIGNsYXNzIFA5OCAsIGNsYXNzIFA5OSAsIGNsYXNzIFAxMDAgLCBjbGFzcyBQMTAxICwgY2xhc3MgUDEwMiAsIGNsYXNzIFAxMDMgLCBjbGFzcyBQMTA0ICwgY2xhc3MgUDEwNSAsIGNsYXNzIFAxMDYgLCBjbGFzcyBQMTA3ICwgY2xhc3MgUDEwOCAsIGNsYXNzIFAxMDkgLCBjbGFzcyBQMTEwICwgY2xhc3MgUDExMSAsIGNsYXNzIFAxMTIgLCBjbGFzcyBQMTEzICwgY2xhc3MgUDExNCAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjExNTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQ+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjExNjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ICwgY2xhc3MgUDk2ICwgY2xhc3MgUDk3ICwgY2xhc3MgUDk4ICwgY2xhc3MgUDk5ICwgY2xhc3MgUDEwMCAsIGNsYXNzIFAxMDEgLCBjbGFzcyBQMTAyICwgY2xhc3MgUDEwMyAsIGNsYXNzIFAxMDQgLCBjbGFzcyBQMTA1ICwgY2xhc3MgUDEwNiAsIGNsYXNzIFAxMDcgLCBjbGFzcyBQMTA4ICwgY2xhc3MgUDEwOSAsIGNsYXNzIFAxMTAgLCBjbGFzcyBQMTExICwgY2xhc3MgUDExMiAsIGNsYXNzIFAxMTMgLCBjbGFzcyBQMTE0ICwgY2xhc3MgUDExNSAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjExNjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IxMTc8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1ICwgUDk2ICwgUDk3ICwgUDk4ICwgUDk5ICwgUDEwMCAsIFAxMDEgLCBQMTAyICwgUDEwMyAsIFAxMDQgLCBQMTA1ICwgUDEwNiAsIFAxMDcgLCBQMTA4ICwgUDEwOSAsIFAxMTAgLCBQMTExICwgUDExMiAsIFAxMTMgLCBQMTE0ICwgUDExNSAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBQOTMgLCBjbGFzcyBQOTQgLCBjbGFzcyBQOTUgLCBjbGFzcyBQOTYgLCBjbGFzcyBQOTcgLCBjbGFzcyBQOTggLCBjbGFzcyBQOTkgLCBjbGFzcyBQMTAwICwgY2xhc3MgUDEwMSAsIGNsYXNzIFAxMDIgLCBjbGFzcyBQMTAzICwgY2xhc3MgUDEwNCAsIGNsYXNzIFAxMDUgLCBjbGFzcyBQMTA2ICwgY2xhc3MgUDEwNyAsIGNsYXNzIFAxMDggLCBjbGFzcyBQMTA5ICwgY2xhc3MgUDExMCAsIGNsYXNzIFAxMTEgLCBjbGFzcyBQMTEyICwgY2xhc3MgUDExMyAsIGNsYXNzIFAxMTQgLCBjbGFzcyBQMTE1ICwgY2xhc3MgUDExNiAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjExNzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNj4sIFQ+IHsgdHlwZWRlZiBuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMTE4PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFA5MiAsIFA5MyAsIFA5NCAsIFA5NSAsIFA5NiAsIFA5NyAsIFA5OCAsIFA5OSAsIFAxMDAgLCBQMTAxICwgUDEwMiAsIFAxMDMgLCBQMTA0ICwgUDEwNSAsIFAxMDYgLCBQMTA3ICwgUDEwOCAsIFAxMDkgLCBQMTEwICwgUDExMSAsIFAxMTIgLCBQMTEzICwgUDExNCAsIFAxMTUgLCBQMTE2ICwgVCA+IHR5cGU7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSAsIGNsYXNzIFA4NiAsIGNsYXNzIFA4NyAsIGNsYXNzIFA4OCAsIGNsYXNzIFA4OSAsIGNsYXNzIFA5MCAsIGNsYXNzIFA5MSAsIGNsYXNzIFA5MiAsIGNsYXNzIFA5MyAsIGNsYXNzIFA5NCAsIGNsYXNzIFA5NSAsIGNsYXNzIFA5NiAsIGNsYXNzIFA5NyAsIGNsYXNzIFA5OCAsIGNsYXNzIFA5OSAsIGNsYXNzIFAxMDAgLCBjbGFzcyBQMTAxICwgY2xhc3MgUDEwMiAsIGNsYXNzIFAxMDMgLCBjbGFzcyBQMTA0ICwgY2xhc3MgUDEwNSAsIGNsYXNzIFAxMDYgLCBjbGFzcyBQMTA3ICwgY2xhc3MgUDEwOCAsIGNsYXNzIFAxMDkgLCBjbGFzcyBQMTEwICwgY2xhc3MgUDExMSAsIGNsYXNzIFAxMTIgLCBjbGFzcyBQMTEzICwgY2xhc3MgUDExNCAsIGNsYXNzIFAxMTUgLCBjbGFzcyBQMTE2ICwgY2xhc3MgUDExNyAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjExODwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTc+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjExOTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ICwgY2xhc3MgUDk2ICwgY2xhc3MgUDk3ICwgY2xhc3MgUDk4ICwgY2xhc3MgUDk5ICwgY2xhc3MgUDEwMCAsIGNsYXNzIFAxMDEgLCBjbGFzcyBQMTAyICwgY2xhc3MgUDEwMyAsIGNsYXNzIFAxMDQgLCBjbGFzcyBQMTA1ICwgY2xhc3MgUDEwNiAsIGNsYXNzIFAxMDcgLCBjbGFzcyBQMTA4ICwgY2xhc3MgUDEwOSAsIGNsYXNzIFAxMTAgLCBjbGFzcyBQMTExICwgY2xhc3MgUDExMiAsIGNsYXNzIFAxMTMgLCBjbGFzcyBQMTE0ICwgY2xhc3MgUDExNSAsIGNsYXNzIFAxMTYgLCBjbGFzcyBQMTE3ICwgY2xhc3MgUDExOCAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjExOTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IxMjA8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1ICwgUDk2ICwgUDk3ICwgUDk4ICwgUDk5ICwgUDEwMCAsIFAxMDEgLCBQMTAyICwgUDEwMyAsIFAxMDQgLCBQMTA1ICwgUDEwNiAsIFAxMDcgLCBQMTA4ICwgUDEwOSAsIFAxMTAgLCBQMTExICwgUDExMiAsIFAxMTMgLCBQMTE0ICwgUDExNSAsIFAxMTYgLCBQMTE3ICwgUDExOCAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBQOTMgLCBjbGFzcyBQOTQgLCBjbGFzcyBQOTUgLCBjbGFzcyBQOTYgLCBjbGFzcyBQOTcgLCBjbGFzcyBQOTggLCBjbGFzcyBQOTkgLCBjbGFzcyBQMTAwICwgY2xhc3MgUDEwMSAsIGNsYXNzIFAxMDIgLCBjbGFzcyBQMTAzICwgY2xhc3MgUDEwNCAsIGNsYXNzIFAxMDUgLCBjbGFzcyBQMTA2ICwgY2xhc3MgUDEwNyAsIGNsYXNzIFAxMDggLCBjbGFzcyBQMTA5ICwgY2xhc3MgUDExMCAsIGNsYXNzIFAxMTEgLCBjbGFzcyBQMTEyICwgY2xhc3MgUDExMyAsIGNsYXNzIFAxMTQgLCBjbGFzcyBQMTE1ICwgY2xhc3MgUDExNiAsIGNsYXNzIFAxMTcgLCBjbGFzcyBQMTE4ICwgY2xhc3MgUDExOSAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjEyMDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOT4sIFQ+IHsgdHlwZWRlZiBuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMTIxPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFA5MiAsIFA5MyAsIFA5NCAsIFA5NSAsIFA5NiAsIFA5NyAsIFA5OCAsIFA5OSAsIFAxMDAgLCBQMTAxICwgUDEwMiAsIFAxMDMgLCBQMTA0ICwgUDEwNSAsIFAxMDYgLCBQMTA3ICwgUDEwOCAsIFAxMDkgLCBQMTEwICwgUDExMSAsIFAxMTIgLCBQMTEzICwgUDExNCAsIFAxMTUgLCBQMTE2ICwgUDExNyAsIFAxMTggLCBQMTE5ICwgVCA+IHR5cGU7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSAsIGNsYXNzIFA4NiAsIGNsYXNzIFA4NyAsIGNsYXNzIFA4OCAsIGNsYXNzIFA4OSAsIGNsYXNzIFA5MCAsIGNsYXNzIFA5MSAsIGNsYXNzIFA5MiAsIGNsYXNzIFA5MyAsIGNsYXNzIFA5NCAsIGNsYXNzIFA5NSAsIGNsYXNzIFA5NiAsIGNsYXNzIFA5NyAsIGNsYXNzIFA5OCAsIGNsYXNzIFA5OSAsIGNsYXNzIFAxMDAgLCBjbGFzcyBQMTAxICwgY2xhc3MgUDEwMiAsIGNsYXNzIFAxMDMgLCBjbGFzcyBQMTA0ICwgY2xhc3MgUDEwNSAsIGNsYXNzIFAxMDYgLCBjbGFzcyBQMTA3ICwgY2xhc3MgUDEwOCAsIGNsYXNzIFAxMDkgLCBjbGFzcyBQMTEwICwgY2xhc3MgUDExMSAsIGNsYXNzIFAxMTIgLCBjbGFzcyBQMTEzICwgY2xhc3MgUDExNCAsIGNsYXNzIFAxMTUgLCBjbGFzcyBQMTE2ICwgY2xhc3MgUDExNyAsIGNsYXNzIFAxMTggLCBjbGFzcyBQMTE5ICwgY2xhc3MgUDEyMCAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjEyMTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjA+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjEyMjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ICwgY2xhc3MgUDk2ICwgY2xhc3MgUDk3ICwgY2xhc3MgUDk4ICwgY2xhc3MgUDk5ICwgY2xhc3MgUDEwMCAsIGNsYXNzIFAxMDEgLCBjbGFzcyBQMTAyICwgY2xhc3MgUDEwMyAsIGNsYXNzIFAxMDQgLCBjbGFzcyBQMTA1ICwgY2xhc3MgUDEwNiAsIGNsYXNzIFAxMDcgLCBjbGFzcyBQMTA4ICwgY2xhc3MgUDEwOSAsIGNsYXNzIFAxMTAgLCBjbGFzcyBQMTExICwgY2xhc3MgUDExMiAsIGNsYXNzIFAxMTMgLCBjbGFzcyBQMTE0ICwgY2xhc3MgUDExNSAsIGNsYXNzIFAxMTYgLCBjbGFzcyBQMTE3ICwgY2xhc3MgUDExOCAsIGNsYXNzIFAxMTkgLCBjbGFzcyBQMTIwICwgY2xhc3MgUDEyMSAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjEyMjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IxMjM8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1ICwgUDk2ICwgUDk3ICwgUDk4ICwgUDk5ICwgUDEwMCAsIFAxMDEgLCBQMTAyICwgUDEwMyAsIFAxMDQgLCBQMTA1ICwgUDEwNiAsIFAxMDcgLCBQMTA4ICwgUDEwOSAsIFAxMTAgLCBQMTExICwgUDExMiAsIFAxMTMgLCBQMTE0ICwgUDExNSAsIFAxMTYgLCBQMTE3ICwgUDExOCAsIFAxMTkgLCBQMTIwICwgUDEyMSAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBQOTMgLCBjbGFzcyBQOTQgLCBjbGFzcyBQOTUgLCBjbGFzcyBQOTYgLCBjbGFzcyBQOTcgLCBjbGFzcyBQOTggLCBjbGFzcyBQOTkgLCBjbGFzcyBQMTAwICwgY2xhc3MgUDEwMSAsIGNsYXNzIFAxMDIgLCBjbGFzcyBQMTAzICwgY2xhc3MgUDEwNCAsIGNsYXNzIFAxMDUgLCBjbGFzcyBQMTA2ICwgY2xhc3MgUDEwNyAsIGNsYXNzIFAxMDggLCBjbGFzcyBQMTA5ICwgY2xhc3MgUDExMCAsIGNsYXNzIFAxMTEgLCBjbGFzcyBQMTEyICwgY2xhc3MgUDExMyAsIGNsYXNzIFAxMTQgLCBjbGFzcyBQMTE1ICwgY2xhc3MgUDExNiAsIGNsYXNzIFAxMTcgLCBjbGFzcyBQMTE4ICwgY2xhc3MgUDExOSAsIGNsYXNzIFAxMjAgLCBjbGFzcyBQMTIxICwgY2xhc3MgUDEyMiAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjEyMzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMj4sIFQ+IHsgdHlwZWRlZiBuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMTI0PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFA5MiAsIFA5MyAsIFA5NCAsIFA5NSAsIFA5NiAsIFA5NyAsIFA5OCAsIFA5OSAsIFAxMDAgLCBQMTAxICwgUDEwMiAsIFAxMDMgLCBQMTA0ICwgUDEwNSAsIFAxMDYgLCBQMTA3ICwgUDEwOCAsIFAxMDkgLCBQMTEwICwgUDExMSAsIFAxMTIgLCBQMTEzICwgUDExNCAsIFAxMTUgLCBQMTE2ICwgUDExNyAsIFAxMTggLCBQMTE5ICwgUDEyMCAsIFAxMjEgLCBQMTIyICwgVCA+IHR5cGU7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSAsIGNsYXNzIFA4NiAsIGNsYXNzIFA4NyAsIGNsYXNzIFA4OCAsIGNsYXNzIFA4OSAsIGNsYXNzIFA5MCAsIGNsYXNzIFA5MSAsIGNsYXNzIFA5MiAsIGNsYXNzIFA5MyAsIGNsYXNzIFA5NCAsIGNsYXNzIFA5NSAsIGNsYXNzIFA5NiAsIGNsYXNzIFA5NyAsIGNsYXNzIFA5OCAsIGNsYXNzIFA5OSAsIGNsYXNzIFAxMDAgLCBjbGFzcyBQMTAxICwgY2xhc3MgUDEwMiAsIGNsYXNzIFAxMDMgLCBjbGFzcyBQMTA0ICwgY2xhc3MgUDEwNSAsIGNsYXNzIFAxMDYgLCBjbGFzcyBQMTA3ICwgY2xhc3MgUDEwOCAsIGNsYXNzIFAxMDkgLCBjbGFzcyBQMTEwICwgY2xhc3MgUDExMSAsIGNsYXNzIFAxMTIgLCBjbGFzcyBQMTEzICwgY2xhc3MgUDExNCAsIGNsYXNzIFAxMTUgLCBjbGFzcyBQMTE2ICwgY2xhc3MgUDExNyAsIGNsYXNzIFAxMTggLCBjbGFzcyBQMTE5ICwgY2xhc3MgUDEyMCAsIGNsYXNzIFAxMjEgLCBjbGFzcyBQMTIyICwgY2xhc3MgUDEyMyAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjEyNDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjM+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjEyNTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ICwgY2xhc3MgUDk2ICwgY2xhc3MgUDk3ICwgY2xhc3MgUDk4ICwgY2xhc3MgUDk5ICwgY2xhc3MgUDEwMCAsIGNsYXNzIFAxMDEgLCBjbGFzcyBQMTAyICwgY2xhc3MgUDEwMyAsIGNsYXNzIFAxMDQgLCBjbGFzcyBQMTA1ICwgY2xhc3MgUDEwNiAsIGNsYXNzIFAxMDcgLCBjbGFzcyBQMTA4ICwgY2xhc3MgUDEwOSAsIGNsYXNzIFAxMTAgLCBjbGFzcyBQMTExICwgY2xhc3MgUDExMiAsIGNsYXNzIFAxMTMgLCBjbGFzcyBQMTE0ICwgY2xhc3MgUDExNSAsIGNsYXNzIFAxMTYgLCBjbGFzcyBQMTE3ICwgY2xhc3MgUDExOCAsIGNsYXNzIFAxMTkgLCBjbGFzcyBQMTIwICwgY2xhc3MgUDEyMSAsIGNsYXNzIFAxMjIgLCBjbGFzcyBQMTIzICwgY2xhc3MgUDEyNCAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjEyNTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IxMjY8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1ICwgUDk2ICwgUDk3ICwgUDk4ICwgUDk5ICwgUDEwMCAsIFAxMDEgLCBQMTAyICwgUDEwMyAsIFAxMDQgLCBQMTA1ICwgUDEwNiAsIFAxMDcgLCBQMTA4ICwgUDEwOSAsIFAxMTAgLCBQMTExICwgUDExMiAsIFAxMTMgLCBQMTE0ICwgUDExNSAsIFAxMTYgLCBQMTE3ICwgUDExOCAsIFAxMTkgLCBQMTIwICwgUDEyMSAsIFAxMjIgLCBQMTIzICwgUDEyNCAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBQOTMgLCBjbGFzcyBQOTQgLCBjbGFzcyBQOTUgLCBjbGFzcyBQOTYgLCBjbGFzcyBQOTcgLCBjbGFzcyBQOTggLCBjbGFzcyBQOTkgLCBjbGFzcyBQMTAwICwgY2xhc3MgUDEwMSAsIGNsYXNzIFAxMDIgLCBjbGFzcyBQMTAzICwgY2xhc3MgUDEwNCAsIGNsYXNzIFAxMDUgLCBjbGFzcyBQMTA2ICwgY2xhc3MgUDEwNyAsIGNsYXNzIFAxMDggLCBjbGFzcyBQMTA5ICwgY2xhc3MgUDExMCAsIGNsYXNzIFAxMTEgLCBjbGFzcyBQMTEyICwgY2xhc3MgUDExMyAsIGNsYXNzIFAxMTQgLCBjbGFzcyBQMTE1ICwgY2xhc3MgUDExNiAsIGNsYXNzIFAxMTcgLCBjbGFzcyBQMTE4ICwgY2xhc3MgUDExOSAsIGNsYXNzIFAxMjAgLCBjbGFzcyBQMTIxICwgY2xhc3MgUDEyMiAsIGNsYXNzIFAxMjMgLCBjbGFzcyBQMTI0ICwgY2xhc3MgUDEyNSAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjEyNjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNT4sIFQ+IHsgdHlwZWRlZiBuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMTI3PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFA5MiAsIFA5MyAsIFA5NCAsIFA5NSAsIFA5NiAsIFA5NyAsIFA5OCAsIFA5OSAsIFAxMDAgLCBQMTAxICwgUDEwMiAsIFAxMDMgLCBQMTA0ICwgUDEwNSAsIFAxMDYgLCBQMTA3ICwgUDEwOCAsIFAxMDkgLCBQMTEwICwgUDExMSAsIFAxMTIgLCBQMTEzICwgUDExNCAsIFAxMTUgLCBQMTE2ICwgUDExNyAsIFAxMTggLCBQMTE5ICwgUDEyMCAsIFAxMjEgLCBQMTIyICwgUDEyMyAsIFAxMjQgLCBQMTI1ICwgVCA+IHR5cGU7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSAsIGNsYXNzIFA4NiAsIGNsYXNzIFA4NyAsIGNsYXNzIFA4OCAsIGNsYXNzIFA4OSAsIGNsYXNzIFA5MCAsIGNsYXNzIFA5MSAsIGNsYXNzIFA5MiAsIGNsYXNzIFA5MyAsIGNsYXNzIFA5NCAsIGNsYXNzIFA5NSAsIGNsYXNzIFA5NiAsIGNsYXNzIFA5NyAsIGNsYXNzIFA5OCAsIGNsYXNzIFA5OSAsIGNsYXNzIFAxMDAgLCBjbGFzcyBQMTAxICwgY2xhc3MgUDEwMiAsIGNsYXNzIFAxMDMgLCBjbGFzcyBQMTA0ICwgY2xhc3MgUDEwNSAsIGNsYXNzIFAxMDYgLCBjbGFzcyBQMTA3ICwgY2xhc3MgUDEwOCAsIGNsYXNzIFAxMDkgLCBjbGFzcyBQMTEwICwgY2xhc3MgUDExMSAsIGNsYXNzIFAxMTIgLCBjbGFzcyBQMTEzICwgY2xhc3MgUDExNCAsIGNsYXNzIFAxMTUgLCBjbGFzcyBQMTE2ICwgY2xhc3MgUDExNyAsIGNsYXNzIFAxMTggLCBjbGFzcyBQMTE5ICwgY2xhc3MgUDEyMCAsIGNsYXNzIFAxMjEgLCBjbGFzcyBQMTIyICwgY2xhc3MgUDEyMyAsIGNsYXNzIFAxMjQgLCBjbGFzcyBQMTI1ICwgY2xhc3MgUDEyNiAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjEyNzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjY+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjEyODwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ICwgY2xhc3MgUDk2ICwgY2xhc3MgUDk3ICwgY2xhc3MgUDk4ICwgY2xhc3MgUDk5ICwgY2xhc3MgUDEwMCAsIGNsYXNzIFAxMDEgLCBjbGFzcyBQMTAyICwgY2xhc3MgUDEwMyAsIGNsYXNzIFAxMDQgLCBjbGFzcyBQMTA1ICwgY2xhc3MgUDEwNiAsIGNsYXNzIFAxMDcgLCBjbGFzcyBQMTA4ICwgY2xhc3MgUDEwOSAsIGNsYXNzIFAxMTAgLCBjbGFzcyBQMTExICwgY2xhc3MgUDExMiAsIGNsYXNzIFAxMTMgLCBjbGFzcyBQMTE0ICwgY2xhc3MgUDExNSAsIGNsYXNzIFAxMTYgLCBjbGFzcyBQMTE3ICwgY2xhc3MgUDExOCAsIGNsYXNzIFAxMTkgLCBjbGFzcyBQMTIwICwgY2xhc3MgUDEyMSAsIGNsYXNzIFAxMjIgLCBjbGFzcyBQMTIzICwgY2xhc3MgUDEyNCAsIGNsYXNzIFAxMjUgLCBjbGFzcyBQMTI2ICwgY2xhc3MgUDEyNyAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjEyODwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IxMjk8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1ICwgUDk2ICwgUDk3ICwgUDk4ICwgUDk5ICwgUDEwMCAsIFAxMDEgLCBQMTAyICwgUDEwMyAsIFAxMDQgLCBQMTA1ICwgUDEwNiAsIFAxMDcgLCBQMTA4ICwgUDEwOSAsIFAxMTAgLCBQMTExICwgUDExMiAsIFAxMTMgLCBQMTE0ICwgUDExNSAsIFAxMTYgLCBQMTE3ICwgUDExOCAsIFAxMTkgLCBQMTIwICwgUDEyMSAsIFAxMjIgLCBQMTIzICwgUDEyNCAsIFAxMjUgLCBQMTI2ICwgUDEyNyAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBQOTMgLCBjbGFzcyBQOTQgLCBjbGFzcyBQOTUgLCBjbGFzcyBQOTYgLCBjbGFzcyBQOTcgLCBjbGFzcyBQOTggLCBjbGFzcyBQOTkgLCBjbGFzcyBQMTAwICwgY2xhc3MgUDEwMSAsIGNsYXNzIFAxMDIgLCBjbGFzcyBQMTAzICwgY2xhc3MgUDEwNCAsIGNsYXNzIFAxMDUgLCBjbGFzcyBQMTA2ICwgY2xhc3MgUDEwNyAsIGNsYXNzIFAxMDggLCBjbGFzcyBQMTA5ICwgY2xhc3MgUDExMCAsIGNsYXNzIFAxMTEgLCBjbGFzcyBQMTEyICwgY2xhc3MgUDExMyAsIGNsYXNzIFAxMTQgLCBjbGFzcyBQMTE1ICwgY2xhc3MgUDExNiAsIGNsYXNzIFAxMTcgLCBjbGFzcyBQMTE4ICwgY2xhc3MgUDExOSAsIGNsYXNzIFAxMjAgLCBjbGFzcyBQMTIxICwgY2xhc3MgUDEyMiAsIGNsYXNzIFAxMjMgLCBjbGFzcyBQMTI0ICwgY2xhc3MgUDEyNSAsIGNsYXNzIFAxMjYgLCBjbGFzcyBQMTI3ICwgY2xhc3MgUDEyOCAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjEyOTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOD4sIFQ+IHsgdHlwZWRlZiBuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMTMwPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFA5MiAsIFA5MyAsIFA5NCAsIFA5NSAsIFA5NiAsIFA5NyAsIFA5OCAsIFA5OSAsIFAxMDAgLCBQMTAxICwgUDEwMiAsIFAxMDMgLCBQMTA0ICwgUDEwNSAsIFAxMDYgLCBQMTA3ICwgUDEwOCAsIFAxMDkgLCBQMTEwICwgUDExMSAsIFAxMTIgLCBQMTEzICwgUDExNCAsIFAxMTUgLCBQMTE2ICwgUDExNyAsIFAxMTggLCBQMTE5ICwgUDEyMCAsIFAxMjEgLCBQMTIyICwgUDEyMyAsIFAxMjQgLCBQMTI1ICwgUDEyNiAsIFAxMjcgLCBQMTI4ICwgVCA+IHR5cGU7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSAsIGNsYXNzIFA4NiAsIGNsYXNzIFA4NyAsIGNsYXNzIFA4OCAsIGNsYXNzIFA4OSAsIGNsYXNzIFA5MCAsIGNsYXNzIFA5MSAsIGNsYXNzIFA5MiAsIGNsYXNzIFA5MyAsIGNsYXNzIFA5NCAsIGNsYXNzIFA5NSAsIGNsYXNzIFA5NiAsIGNsYXNzIFA5NyAsIGNsYXNzIFA5OCAsIGNsYXNzIFA5OSAsIGNsYXNzIFAxMDAgLCBjbGFzcyBQMTAxICwgY2xhc3MgUDEwMiAsIGNsYXNzIFAxMDMgLCBjbGFzcyBQMTA0ICwgY2xhc3MgUDEwNSAsIGNsYXNzIFAxMDYgLCBjbGFzcyBQMTA3ICwgY2xhc3MgUDEwOCAsIGNsYXNzIFAxMDkgLCBjbGFzcyBQMTEwICwgY2xhc3MgUDExMSAsIGNsYXNzIFAxMTIgLCBjbGFzcyBQMTEzICwgY2xhc3MgUDExNCAsIGNsYXNzIFAxMTUgLCBjbGFzcyBQMTE2ICwgY2xhc3MgUDExNyAsIGNsYXNzIFAxMTggLCBjbGFzcyBQMTE5ICwgY2xhc3MgUDEyMCAsIGNsYXNzIFAxMjEgLCBjbGFzcyBQMTIyICwgY2xhc3MgUDEyMyAsIGNsYXNzIFAxMjQgLCBjbGFzcyBQMTI1ICwgY2xhc3MgUDEyNiAsIGNsYXNzIFAxMjcgLCBjbGFzcyBQMTI4ICwgY2xhc3MgUDEyOSAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjEzMDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjk+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjEzMTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ICwgY2xhc3MgUDk2ICwgY2xhc3MgUDk3ICwgY2xhc3MgUDk4ICwgY2xhc3MgUDk5ICwgY2xhc3MgUDEwMCAsIGNsYXNzIFAxMDEgLCBjbGFzcyBQMTAyICwgY2xhc3MgUDEwMyAsIGNsYXNzIFAxMDQgLCBjbGFzcyBQMTA1ICwgY2xhc3MgUDEwNiAsIGNsYXNzIFAxMDcgLCBjbGFzcyBQMTA4ICwgY2xhc3MgUDEwOSAsIGNsYXNzIFAxMTAgLCBjbGFzcyBQMTExICwgY2xhc3MgUDExMiAsIGNsYXNzIFAxMTMgLCBjbGFzcyBQMTE0ICwgY2xhc3MgUDExNSAsIGNsYXNzIFAxMTYgLCBjbGFzcyBQMTE3ICwgY2xhc3MgUDExOCAsIGNsYXNzIFAxMTkgLCBjbGFzcyBQMTIwICwgY2xhc3MgUDEyMSAsIGNsYXNzIFAxMjIgLCBjbGFzcyBQMTIzICwgY2xhc3MgUDEyNCAsIGNsYXNzIFAxMjUgLCBjbGFzcyBQMTI2ICwgY2xhc3MgUDEyNyAsIGNsYXNzIFAxMjggLCBjbGFzcyBQMTI5ICwgY2xhc3MgUDEzMCAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjEzMTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IxMzI8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1ICwgUDk2ICwgUDk3ICwgUDk4ICwgUDk5ICwgUDEwMCAsIFAxMDEgLCBQMTAyICwgUDEwMyAsIFAxMDQgLCBQMTA1ICwgUDEwNiAsIFAxMDcgLCBQMTA4ICwgUDEwOSAsIFAxMTAgLCBQMTExICwgUDExMiAsIFAxMTMgLCBQMTE0ICwgUDExNSAsIFAxMTYgLCBQMTE3ICwgUDExOCAsIFAxMTkgLCBQMTIwICwgUDEyMSAsIFAxMjIgLCBQMTIzICwgUDEyNCAsIFAxMjUgLCBQMTI2ICwgUDEyNyAsIFAxMjggLCBQMTI5ICwgUDEzMCAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBQOTMgLCBjbGFzcyBQOTQgLCBjbGFzcyBQOTUgLCBjbGFzcyBQOTYgLCBjbGFzcyBQOTcgLCBjbGFzcyBQOTggLCBjbGFzcyBQOTkgLCBjbGFzcyBQMTAwICwgY2xhc3MgUDEwMSAsIGNsYXNzIFAxMDIgLCBjbGFzcyBQMTAzICwgY2xhc3MgUDEwNCAsIGNsYXNzIFAxMDUgLCBjbGFzcyBQMTA2ICwgY2xhc3MgUDEwNyAsIGNsYXNzIFAxMDggLCBjbGFzcyBQMTA5ICwgY2xhc3MgUDExMCAsIGNsYXNzIFAxMTEgLCBjbGFzcyBQMTEyICwgY2xhc3MgUDExMyAsIGNsYXNzIFAxMTQgLCBjbGFzcyBQMTE1ICwgY2xhc3MgUDExNiAsIGNsYXNzIFAxMTcgLCBjbGFzcyBQMTE4ICwgY2xhc3MgUDExOSAsIGNsYXNzIFAxMjAgLCBjbGFzcyBQMTIxICwgY2xhc3MgUDEyMiAsIGNsYXNzIFAxMjMgLCBjbGFzcyBQMTI0ICwgY2xhc3MgUDEyNSAsIGNsYXNzIFAxMjYgLCBjbGFzcyBQMTI3ICwgY2xhc3MgUDEyOCAsIGNsYXNzIFAxMjkgLCBjbGFzcyBQMTMwICwgY2xhc3MgUDEzMSAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjEzMjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMT4sIFQ+IHsgdHlwZWRlZiBuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMTMzPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFA5MiAsIFA5MyAsIFA5NCAsIFA5NSAsIFA5NiAsIFA5NyAsIFA5OCAsIFA5OSAsIFAxMDAgLCBQMTAxICwgUDEwMiAsIFAxMDMgLCBQMTA0ICwgUDEwNSAsIFAxMDYgLCBQMTA3ICwgUDEwOCAsIFAxMDkgLCBQMTEwICwgUDExMSAsIFAxMTIgLCBQMTEzICwgUDExNCAsIFAxMTUgLCBQMTE2ICwgUDExNyAsIFAxMTggLCBQMTE5ICwgUDEyMCAsIFAxMjEgLCBQMTIyICwgUDEyMyAsIFAxMjQgLCBQMTI1ICwgUDEyNiAsIFAxMjcgLCBQMTI4ICwgUDEyOSAsIFAxMzAgLCBQMTMxICwgVCA+IHR5cGU7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSAsIGNsYXNzIFA4NiAsIGNsYXNzIFA4NyAsIGNsYXNzIFA4OCAsIGNsYXNzIFA4OSAsIGNsYXNzIFA5MCAsIGNsYXNzIFA5MSAsIGNsYXNzIFA5MiAsIGNsYXNzIFA5MyAsIGNsYXNzIFA5NCAsIGNsYXNzIFA5NSAsIGNsYXNzIFA5NiAsIGNsYXNzIFA5NyAsIGNsYXNzIFA5OCAsIGNsYXNzIFA5OSAsIGNsYXNzIFAxMDAgLCBjbGFzcyBQMTAxICwgY2xhc3MgUDEwMiAsIGNsYXNzIFAxMDMgLCBjbGFzcyBQMTA0ICwgY2xhc3MgUDEwNSAsIGNsYXNzIFAxMDYgLCBjbGFzcyBQMTA3ICwgY2xhc3MgUDEwOCAsIGNsYXNzIFAxMDkgLCBjbGFzcyBQMTEwICwgY2xhc3MgUDExMSAsIGNsYXNzIFAxMTIgLCBjbGFzcyBQMTEzICwgY2xhc3MgUDExNCAsIGNsYXNzIFAxMTUgLCBjbGFzcyBQMTE2ICwgY2xhc3MgUDExNyAsIGNsYXNzIFAxMTggLCBjbGFzcyBQMTE5ICwgY2xhc3MgUDEyMCAsIGNsYXNzIFAxMjEgLCBjbGFzcyBQMTIyICwgY2xhc3MgUDEyMyAsIGNsYXNzIFAxMjQgLCBjbGFzcyBQMTI1ICwgY2xhc3MgUDEyNiAsIGNsYXNzIFAxMjcgLCBjbGFzcyBQMTI4ICwgY2xhc3MgUDEyOSAsIGNsYXNzIFAxMzAgLCBjbGFzcyBQMTMxICwgY2xhc3MgUDEzMiAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjEzMzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzI+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjEzNDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ICwgY2xhc3MgUDk2ICwgY2xhc3MgUDk3ICwgY2xhc3MgUDk4ICwgY2xhc3MgUDk5ICwgY2xhc3MgUDEwMCAsIGNsYXNzIFAxMDEgLCBjbGFzcyBQMTAyICwgY2xhc3MgUDEwMyAsIGNsYXNzIFAxMDQgLCBjbGFzcyBQMTA1ICwgY2xhc3MgUDEwNiAsIGNsYXNzIFAxMDcgLCBjbGFzcyBQMTA4ICwgY2xhc3MgUDEwOSAsIGNsYXNzIFAxMTAgLCBjbGFzcyBQMTExICwgY2xhc3MgUDExMiAsIGNsYXNzIFAxMTMgLCBjbGFzcyBQMTE0ICwgY2xhc3MgUDExNSAsIGNsYXNzIFAxMTYgLCBjbGFzcyBQMTE3ICwgY2xhc3MgUDExOCAsIGNsYXNzIFAxMTkgLCBjbGFzcyBQMTIwICwgY2xhc3MgUDEyMSAsIGNsYXNzIFAxMjIgLCBjbGFzcyBQMTIzICwgY2xhc3MgUDEyNCAsIGNsYXNzIFAxMjUgLCBjbGFzcyBQMTI2ICwgY2xhc3MgUDEyNyAsIGNsYXNzIFAxMjggLCBjbGFzcyBQMTI5ICwgY2xhc3MgUDEzMCAsIGNsYXNzIFAxMzEgLCBjbGFzcyBQMTMyICwgY2xhc3MgUDEzMyAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjEzNDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IxMzU8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1ICwgUDk2ICwgUDk3ICwgUDk4ICwgUDk5ICwgUDEwMCAsIFAxMDEgLCBQMTAyICwgUDEwMyAsIFAxMDQgLCBQMTA1ICwgUDEwNiAsIFAxMDcgLCBQMTA4ICwgUDEwOSAsIFAxMTAgLCBQMTExICwgUDExMiAsIFAxMTMgLCBQMTE0ICwgUDExNSAsIFAxMTYgLCBQMTE3ICwgUDExOCAsIFAxMTkgLCBQMTIwICwgUDEyMSAsIFAxMjIgLCBQMTIzICwgUDEyNCAsIFAxMjUgLCBQMTI2ICwgUDEyNyAsIFAxMjggLCBQMTI5ICwgUDEzMCAsIFAxMzEgLCBQMTMyICwgUDEzMyAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBQOTMgLCBjbGFzcyBQOTQgLCBjbGFzcyBQOTUgLCBjbGFzcyBQOTYgLCBjbGFzcyBQOTcgLCBjbGFzcyBQOTggLCBjbGFzcyBQOTkgLCBjbGFzcyBQMTAwICwgY2xhc3MgUDEwMSAsIGNsYXNzIFAxMDIgLCBjbGFzcyBQMTAzICwgY2xhc3MgUDEwNCAsIGNsYXNzIFAxMDUgLCBjbGFzcyBQMTA2ICwgY2xhc3MgUDEwNyAsIGNsYXNzIFAxMDggLCBjbGFzcyBQMTA5ICwgY2xhc3MgUDExMCAsIGNsYXNzIFAxMTEgLCBjbGFzcyBQMTEyICwgY2xhc3MgUDExMyAsIGNsYXNzIFAxMTQgLCBjbGFzcyBQMTE1ICwgY2xhc3MgUDExNiAsIGNsYXNzIFAxMTcgLCBjbGFzcyBQMTE4ICwgY2xhc3MgUDExOSAsIGNsYXNzIFAxMjAgLCBjbGFzcyBQMTIxICwgY2xhc3MgUDEyMiAsIGNsYXNzIFAxMjMgLCBjbGFzcyBQMTI0ICwgY2xhc3MgUDEyNSAsIGNsYXNzIFAxMjYgLCBjbGFzcyBQMTI3ICwgY2xhc3MgUDEyOCAsIGNsYXNzIFAxMjkgLCBjbGFzcyBQMTMwICwgY2xhc3MgUDEzMSAsIGNsYXNzIFAxMzIgLCBjbGFzcyBQMTMzICwgY2xhc3MgUDEzNCAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjEzNTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzND4sIFQ+IHsgdHlwZWRlZiBuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMTM2PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFA5MiAsIFA5MyAsIFA5NCAsIFA5NSAsIFA5NiAsIFA5NyAsIFA5OCAsIFA5OSAsIFAxMDAgLCBQMTAxICwgUDEwMiAsIFAxMDMgLCBQMTA0ICwgUDEwNSAsIFAxMDYgLCBQMTA3ICwgUDEwOCAsIFAxMDkgLCBQMTEwICwgUDExMSAsIFAxMTIgLCBQMTEzICwgUDExNCAsIFAxMTUgLCBQMTE2ICwgUDExNyAsIFAxMTggLCBQMTE5ICwgUDEyMCAsIFAxMjEgLCBQMTIyICwgUDEyMyAsIFAxMjQgLCBQMTI1ICwgUDEyNiAsIFAxMjcgLCBQMTI4ICwgUDEyOSAsIFAxMzAgLCBQMTMxICwgUDEzMiAsIFAxMzMgLCBQMTM0ICwgVCA+IHR5cGU7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSAsIGNsYXNzIFA4NiAsIGNsYXNzIFA4NyAsIGNsYXNzIFA4OCAsIGNsYXNzIFA4OSAsIGNsYXNzIFA5MCAsIGNsYXNzIFA5MSAsIGNsYXNzIFA5MiAsIGNsYXNzIFA5MyAsIGNsYXNzIFA5NCAsIGNsYXNzIFA5NSAsIGNsYXNzIFA5NiAsIGNsYXNzIFA5NyAsIGNsYXNzIFA5OCAsIGNsYXNzIFA5OSAsIGNsYXNzIFAxMDAgLCBjbGFzcyBQMTAxICwgY2xhc3MgUDEwMiAsIGNsYXNzIFAxMDMgLCBjbGFzcyBQMTA0ICwgY2xhc3MgUDEwNSAsIGNsYXNzIFAxMDYgLCBjbGFzcyBQMTA3ICwgY2xhc3MgUDEwOCAsIGNsYXNzIFAxMDkgLCBjbGFzcyBQMTEwICwgY2xhc3MgUDExMSAsIGNsYXNzIFAxMTIgLCBjbGFzcyBQMTEzICwgY2xhc3MgUDExNCAsIGNsYXNzIFAxMTUgLCBjbGFzcyBQMTE2ICwgY2xhc3MgUDExNyAsIGNsYXNzIFAxMTggLCBjbGFzcyBQMTE5ICwgY2xhc3MgUDEyMCAsIGNsYXNzIFAxMjEgLCBjbGFzcyBQMTIyICwgY2xhc3MgUDEyMyAsIGNsYXNzIFAxMjQgLCBjbGFzcyBQMTI1ICwgY2xhc3MgUDEyNiAsIGNsYXNzIFAxMjcgLCBjbGFzcyBQMTI4ICwgY2xhc3MgUDEyOSAsIGNsYXNzIFAxMzAgLCBjbGFzcyBQMTMxICwgY2xhc3MgUDEzMiAsIGNsYXNzIFAxMzMgLCBjbGFzcyBQMTM0ICwgY2xhc3MgUDEzNSAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjEzNjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzU+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjEzNzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ICwgY2xhc3MgUDk2ICwgY2xhc3MgUDk3ICwgY2xhc3MgUDk4ICwgY2xhc3MgUDk5ICwgY2xhc3MgUDEwMCAsIGNsYXNzIFAxMDEgLCBjbGFzcyBQMTAyICwgY2xhc3MgUDEwMyAsIGNsYXNzIFAxMDQgLCBjbGFzcyBQMTA1ICwgY2xhc3MgUDEwNiAsIGNsYXNzIFAxMDcgLCBjbGFzcyBQMTA4ICwgY2xhc3MgUDEwOSAsIGNsYXNzIFAxMTAgLCBjbGFzcyBQMTExICwgY2xhc3MgUDExMiAsIGNsYXNzIFAxMTMgLCBjbGFzcyBQMTE0ICwgY2xhc3MgUDExNSAsIGNsYXNzIFAxMTYgLCBjbGFzcyBQMTE3ICwgY2xhc3MgUDExOCAsIGNsYXNzIFAxMTkgLCBjbGFzcyBQMTIwICwgY2xhc3MgUDEyMSAsIGNsYXNzIFAxMjIgLCBjbGFzcyBQMTIzICwgY2xhc3MgUDEyNCAsIGNsYXNzIFAxMjUgLCBjbGFzcyBQMTI2ICwgY2xhc3MgUDEyNyAsIGNsYXNzIFAxMjggLCBjbGFzcyBQMTI5ICwgY2xhc3MgUDEzMCAsIGNsYXNzIFAxMzEgLCBjbGFzcyBQMTMyICwgY2xhc3MgUDEzMyAsIGNsYXNzIFAxMzQgLCBjbGFzcyBQMTM1ICwgY2xhc3MgUDEzNiAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjEzNzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IxMzg8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1ICwgUDk2ICwgUDk3ICwgUDk4ICwgUDk5ICwgUDEwMCAsIFAxMDEgLCBQMTAyICwgUDEwMyAsIFAxMDQgLCBQMTA1ICwgUDEwNiAsIFAxMDcgLCBQMTA4ICwgUDEwOSAsIFAxMTAgLCBQMTExICwgUDExMiAsIFAxMTMgLCBQMTE0ICwgUDExNSAsIFAxMTYgLCBQMTE3ICwgUDExOCAsIFAxMTkgLCBQMTIwICwgUDEyMSAsIFAxMjIgLCBQMTIzICwgUDEyNCAsIFAxMjUgLCBQMTI2ICwgUDEyNyAsIFAxMjggLCBQMTI5ICwgUDEzMCAsIFAxMzEgLCBQMTMyICwgUDEzMyAsIFAxMzQgLCBQMTM1ICwgUDEzNiAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBQOTMgLCBjbGFzcyBQOTQgLCBjbGFzcyBQOTUgLCBjbGFzcyBQOTYgLCBjbGFzcyBQOTcgLCBjbGFzcyBQOTggLCBjbGFzcyBQOTkgLCBjbGFzcyBQMTAwICwgY2xhc3MgUDEwMSAsIGNsYXNzIFAxMDIgLCBjbGFzcyBQMTAzICwgY2xhc3MgUDEwNCAsIGNsYXNzIFAxMDUgLCBjbGFzcyBQMTA2ICwgY2xhc3MgUDEwNyAsIGNsYXNzIFAxMDggLCBjbGFzcyBQMTA5ICwgY2xhc3MgUDExMCAsIGNsYXNzIFAxMTEgLCBjbGFzcyBQMTEyICwgY2xhc3MgUDExMyAsIGNsYXNzIFAxMTQgLCBjbGFzcyBQMTE1ICwgY2xhc3MgUDExNiAsIGNsYXNzIFAxMTcgLCBjbGFzcyBQMTE4ICwgY2xhc3MgUDExOSAsIGNsYXNzIFAxMjAgLCBjbGFzcyBQMTIxICwgY2xhc3MgUDEyMiAsIGNsYXNzIFAxMjMgLCBjbGFzcyBQMTI0ICwgY2xhc3MgUDEyNSAsIGNsYXNzIFAxMjYgLCBjbGFzcyBQMTI3ICwgY2xhc3MgUDEyOCAsIGNsYXNzIFAxMjkgLCBjbGFzcyBQMTMwICwgY2xhc3MgUDEzMSAsIGNsYXNzIFAxMzIgLCBjbGFzcyBQMTMzICwgY2xhc3MgUDEzNCAsIGNsYXNzIFAxMzUgLCBjbGFzcyBQMTM2ICwgY2xhc3MgUDEzNyAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjEzODwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNz4sIFQ+IHsgdHlwZWRlZiBuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMTM5PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFA5MiAsIFA5MyAsIFA5NCAsIFA5NSAsIFA5NiAsIFA5NyAsIFA5OCAsIFA5OSAsIFAxMDAgLCBQMTAxICwgUDEwMiAsIFAxMDMgLCBQMTA0ICwgUDEwNSAsIFAxMDYgLCBQMTA3ICwgUDEwOCAsIFAxMDkgLCBQMTEwICwgUDExMSAsIFAxMTIgLCBQMTEzICwgUDExNCAsIFAxMTUgLCBQMTE2ICwgUDExNyAsIFAxMTggLCBQMTE5ICwgUDEyMCAsIFAxMjEgLCBQMTIyICwgUDEyMyAsIFAxMjQgLCBQMTI1ICwgUDEyNiAsIFAxMjcgLCBQMTI4ICwgUDEyOSAsIFAxMzAgLCBQMTMxICwgUDEzMiAsIFAxMzMgLCBQMTM0ICwgUDEzNSAsIFAxMzYgLCBQMTM3ICwgVCA+IHR5cGU7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSAsIGNsYXNzIFA4NiAsIGNsYXNzIFA4NyAsIGNsYXNzIFA4OCAsIGNsYXNzIFA4OSAsIGNsYXNzIFA5MCAsIGNsYXNzIFA5MSAsIGNsYXNzIFA5MiAsIGNsYXNzIFA5MyAsIGNsYXNzIFA5NCAsIGNsYXNzIFA5NSAsIGNsYXNzIFA5NiAsIGNsYXNzIFA5NyAsIGNsYXNzIFA5OCAsIGNsYXNzIFA5OSAsIGNsYXNzIFAxMDAgLCBjbGFzcyBQMTAxICwgY2xhc3MgUDEwMiAsIGNsYXNzIFAxMDMgLCBjbGFzcyBQMTA0ICwgY2xhc3MgUDEwNSAsIGNsYXNzIFAxMDYgLCBjbGFzcyBQMTA3ICwgY2xhc3MgUDEwOCAsIGNsYXNzIFAxMDkgLCBjbGFzcyBQMTEwICwgY2xhc3MgUDExMSAsIGNsYXNzIFAxMTIgLCBjbGFzcyBQMTEzICwgY2xhc3MgUDExNCAsIGNsYXNzIFAxMTUgLCBjbGFzcyBQMTE2ICwgY2xhc3MgUDExNyAsIGNsYXNzIFAxMTggLCBjbGFzcyBQMTE5ICwgY2xhc3MgUDEyMCAsIGNsYXNzIFAxMjEgLCBjbGFzcyBQMTIyICwgY2xhc3MgUDEyMyAsIGNsYXNzIFAxMjQgLCBjbGFzcyBQMTI1ICwgY2xhc3MgUDEyNiAsIGNsYXNzIFAxMjcgLCBjbGFzcyBQMTI4ICwgY2xhc3MgUDEyOSAsIGNsYXNzIFAxMzAgLCBjbGFzcyBQMTMxICwgY2xhc3MgUDEzMiAsIGNsYXNzIFAxMzMgLCBjbGFzcyBQMTM0ICwgY2xhc3MgUDEzNSAsIGNsYXNzIFAxMzYgLCBjbGFzcyBQMTM3ICwgY2xhc3MgUDEzOCAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjEzOTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzg+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjE0MDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ICwgY2xhc3MgUDk2ICwgY2xhc3MgUDk3ICwgY2xhc3MgUDk4ICwgY2xhc3MgUDk5ICwgY2xhc3MgUDEwMCAsIGNsYXNzIFAxMDEgLCBjbGFzcyBQMTAyICwgY2xhc3MgUDEwMyAsIGNsYXNzIFAxMDQgLCBjbGFzcyBQMTA1ICwgY2xhc3MgUDEwNiAsIGNsYXNzIFAxMDcgLCBjbGFzcyBQMTA4ICwgY2xhc3MgUDEwOSAsIGNsYXNzIFAxMTAgLCBjbGFzcyBQMTExICwgY2xhc3MgUDExMiAsIGNsYXNzIFAxMTMgLCBjbGFzcyBQMTE0ICwgY2xhc3MgUDExNSAsIGNsYXNzIFAxMTYgLCBjbGFzcyBQMTE3ICwgY2xhc3MgUDExOCAsIGNsYXNzIFAxMTkgLCBjbGFzcyBQMTIwICwgY2xhc3MgUDEyMSAsIGNsYXNzIFAxMjIgLCBjbGFzcyBQMTIzICwgY2xhc3MgUDEyNCAsIGNsYXNzIFAxMjUgLCBjbGFzcyBQMTI2ICwgY2xhc3MgUDEyNyAsIGNsYXNzIFAxMjggLCBjbGFzcyBQMTI5ICwgY2xhc3MgUDEzMCAsIGNsYXNzIFAxMzEgLCBjbGFzcyBQMTMyICwgY2xhc3MgUDEzMyAsIGNsYXNzIFAxMzQgLCBjbGFzcyBQMTM1ICwgY2xhc3MgUDEzNiAsIGNsYXNzIFAxMzcgLCBjbGFzcyBQMTM4ICwgY2xhc3MgUDEzOSAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjE0MDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IxNDE8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1ICwgUDk2ICwgUDk3ICwgUDk4ICwgUDk5ICwgUDEwMCAsIFAxMDEgLCBQMTAyICwgUDEwMyAsIFAxMDQgLCBQMTA1ICwgUDEwNiAsIFAxMDcgLCBQMTA4ICwgUDEwOSAsIFAxMTAgLCBQMTExICwgUDExMiAsIFAxMTMgLCBQMTE0ICwgUDExNSAsIFAxMTYgLCBQMTE3ICwgUDExOCAsIFAxMTkgLCBQMTIwICwgUDEyMSAsIFAxMjIgLCBQMTIzICwgUDEyNCAsIFAxMjUgLCBQMTI2ICwgUDEyNyAsIFAxMjggLCBQMTI5ICwgUDEzMCAsIFAxMzEgLCBQMTMyICwgUDEzMyAsIFAxMzQgLCBQMTM1ICwgUDEzNiAsIFAxMzcgLCBQMTM4ICwgUDEzOSAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBQOTMgLCBjbGFzcyBQOTQgLCBjbGFzcyBQOTUgLCBjbGFzcyBQOTYgLCBjbGFzcyBQOTcgLCBjbGFzcyBQOTggLCBjbGFzcyBQOTkgLCBjbGFzcyBQMTAwICwgY2xhc3MgUDEwMSAsIGNsYXNzIFAxMDIgLCBjbGFzcyBQMTAzICwgY2xhc3MgUDEwNCAsIGNsYXNzIFAxMDUgLCBjbGFzcyBQMTA2ICwgY2xhc3MgUDEwNyAsIGNsYXNzIFAxMDggLCBjbGFzcyBQMTA5ICwgY2xhc3MgUDExMCAsIGNsYXNzIFAxMTEgLCBjbGFzcyBQMTEyICwgY2xhc3MgUDExMyAsIGNsYXNzIFAxMTQgLCBjbGFzcyBQMTE1ICwgY2xhc3MgUDExNiAsIGNsYXNzIFAxMTcgLCBjbGFzcyBQMTE4ICwgY2xhc3MgUDExOSAsIGNsYXNzIFAxMjAgLCBjbGFzcyBQMTIxICwgY2xhc3MgUDEyMiAsIGNsYXNzIFAxMjMgLCBjbGFzcyBQMTI0ICwgY2xhc3MgUDEyNSAsIGNsYXNzIFAxMjYgLCBjbGFzcyBQMTI3ICwgY2xhc3MgUDEyOCAsIGNsYXNzIFAxMjkgLCBjbGFzcyBQMTMwICwgY2xhc3MgUDEzMSAsIGNsYXNzIFAxMzIgLCBjbGFzcyBQMTMzICwgY2xhc3MgUDEzNCAsIGNsYXNzIFAxMzUgLCBjbGFzcyBQMTM2ICwgY2xhc3MgUDEzNyAsIGNsYXNzIFAxMzggLCBjbGFzcyBQMTM5ICwgY2xhc3MgUDE0MCAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjE0MTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MD4sIFQ+IHsgdHlwZWRlZiBuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMTQyPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFA5MiAsIFA5MyAsIFA5NCAsIFA5NSAsIFA5NiAsIFA5NyAsIFA5OCAsIFA5OSAsIFAxMDAgLCBQMTAxICwgUDEwMiAsIFAxMDMgLCBQMTA0ICwgUDEwNSAsIFAxMDYgLCBQMTA3ICwgUDEwOCAsIFAxMDkgLCBQMTEwICwgUDExMSAsIFAxMTIgLCBQMTEzICwgUDExNCAsIFAxMTUgLCBQMTE2ICwgUDExNyAsIFAxMTggLCBQMTE5ICwgUDEyMCAsIFAxMjEgLCBQMTIyICwgUDEyMyAsIFAxMjQgLCBQMTI1ICwgUDEyNiAsIFAxMjcgLCBQMTI4ICwgUDEyOSAsIFAxMzAgLCBQMTMxICwgUDEzMiAsIFAxMzMgLCBQMTM0ICwgUDEzNSAsIFAxMzYgLCBQMTM3ICwgUDEzOCAsIFAxMzkgLCBQMTQwICwgVCA+IHR5cGU7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSAsIGNsYXNzIFA4NiAsIGNsYXNzIFA4NyAsIGNsYXNzIFA4OCAsIGNsYXNzIFA4OSAsIGNsYXNzIFA5MCAsIGNsYXNzIFA5MSAsIGNsYXNzIFA5MiAsIGNsYXNzIFA5MyAsIGNsYXNzIFA5NCAsIGNsYXNzIFA5NSAsIGNsYXNzIFA5NiAsIGNsYXNzIFA5NyAsIGNsYXNzIFA5OCAsIGNsYXNzIFA5OSAsIGNsYXNzIFAxMDAgLCBjbGFzcyBQMTAxICwgY2xhc3MgUDEwMiAsIGNsYXNzIFAxMDMgLCBjbGFzcyBQMTA0ICwgY2xhc3MgUDEwNSAsIGNsYXNzIFAxMDYgLCBjbGFzcyBQMTA3ICwgY2xhc3MgUDEwOCAsIGNsYXNzIFAxMDkgLCBjbGFzcyBQMTEwICwgY2xhc3MgUDExMSAsIGNsYXNzIFAxMTIgLCBjbGFzcyBQMTEzICwgY2xhc3MgUDExNCAsIGNsYXNzIFAxMTUgLCBjbGFzcyBQMTE2ICwgY2xhc3MgUDExNyAsIGNsYXNzIFAxMTggLCBjbGFzcyBQMTE5ICwgY2xhc3MgUDEyMCAsIGNsYXNzIFAxMjEgLCBjbGFzcyBQMTIyICwgY2xhc3MgUDEyMyAsIGNsYXNzIFAxMjQgLCBjbGFzcyBQMTI1ICwgY2xhc3MgUDEyNiAsIGNsYXNzIFAxMjcgLCBjbGFzcyBQMTI4ICwgY2xhc3MgUDEyOSAsIGNsYXNzIFAxMzAgLCBjbGFzcyBQMTMxICwgY2xhc3MgUDEzMiAsIGNsYXNzIFAxMzMgLCBjbGFzcyBQMTM0ICwgY2xhc3MgUDEzNSAsIGNsYXNzIFAxMzYgLCBjbGFzcyBQMTM3ICwgY2xhc3MgUDEzOCAsIGNsYXNzIFAxMzkgLCBjbGFzcyBQMTQwICwgY2xhc3MgUDE0MSAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjE0MjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MCAsIFAxNDE+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjE0MzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MCAsIFAxNDEgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ICwgY2xhc3MgUDk2ICwgY2xhc3MgUDk3ICwgY2xhc3MgUDk4ICwgY2xhc3MgUDk5ICwgY2xhc3MgUDEwMCAsIGNsYXNzIFAxMDEgLCBjbGFzcyBQMTAyICwgY2xhc3MgUDEwMyAsIGNsYXNzIFAxMDQgLCBjbGFzcyBQMTA1ICwgY2xhc3MgUDEwNiAsIGNsYXNzIFAxMDcgLCBjbGFzcyBQMTA4ICwgY2xhc3MgUDEwOSAsIGNsYXNzIFAxMTAgLCBjbGFzcyBQMTExICwgY2xhc3MgUDExMiAsIGNsYXNzIFAxMTMgLCBjbGFzcyBQMTE0ICwgY2xhc3MgUDExNSAsIGNsYXNzIFAxMTYgLCBjbGFzcyBQMTE3ICwgY2xhc3MgUDExOCAsIGNsYXNzIFAxMTkgLCBjbGFzcyBQMTIwICwgY2xhc3MgUDEyMSAsIGNsYXNzIFAxMjIgLCBjbGFzcyBQMTIzICwgY2xhc3MgUDEyNCAsIGNsYXNzIFAxMjUgLCBjbGFzcyBQMTI2ICwgY2xhc3MgUDEyNyAsIGNsYXNzIFAxMjggLCBjbGFzcyBQMTI5ICwgY2xhc3MgUDEzMCAsIGNsYXNzIFAxMzEgLCBjbGFzcyBQMTMyICwgY2xhc3MgUDEzMyAsIGNsYXNzIFAxMzQgLCBjbGFzcyBQMTM1ICwgY2xhc3MgUDEzNiAsIGNsYXNzIFAxMzcgLCBjbGFzcyBQMTM4ICwgY2xhc3MgUDEzOSAsIGNsYXNzIFAxNDAgLCBjbGFzcyBQMTQxICwgY2xhc3MgUDE0MiAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjE0MzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MCAsIFAxNDEgLCBQMTQyPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IxNDQ8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1ICwgUDk2ICwgUDk3ICwgUDk4ICwgUDk5ICwgUDEwMCAsIFAxMDEgLCBQMTAyICwgUDEwMyAsIFAxMDQgLCBQMTA1ICwgUDEwNiAsIFAxMDcgLCBQMTA4ICwgUDEwOSAsIFAxMTAgLCBQMTExICwgUDExMiAsIFAxMTMgLCBQMTE0ICwgUDExNSAsIFAxMTYgLCBQMTE3ICwgUDExOCAsIFAxMTkgLCBQMTIwICwgUDEyMSAsIFAxMjIgLCBQMTIzICwgUDEyNCAsIFAxMjUgLCBQMTI2ICwgUDEyNyAsIFAxMjggLCBQMTI5ICwgUDEzMCAsIFAxMzEgLCBQMTMyICwgUDEzMyAsIFAxMzQgLCBQMTM1ICwgUDEzNiAsIFAxMzcgLCBQMTM4ICwgUDEzOSAsIFAxNDAgLCBQMTQxICwgUDE0MiAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBQOTMgLCBjbGFzcyBQOTQgLCBjbGFzcyBQOTUgLCBjbGFzcyBQOTYgLCBjbGFzcyBQOTcgLCBjbGFzcyBQOTggLCBjbGFzcyBQOTkgLCBjbGFzcyBQMTAwICwgY2xhc3MgUDEwMSAsIGNsYXNzIFAxMDIgLCBjbGFzcyBQMTAzICwgY2xhc3MgUDEwNCAsIGNsYXNzIFAxMDUgLCBjbGFzcyBQMTA2ICwgY2xhc3MgUDEwNyAsIGNsYXNzIFAxMDggLCBjbGFzcyBQMTA5ICwgY2xhc3MgUDExMCAsIGNsYXNzIFAxMTEgLCBjbGFzcyBQMTEyICwgY2xhc3MgUDExMyAsIGNsYXNzIFAxMTQgLCBjbGFzcyBQMTE1ICwgY2xhc3MgUDExNiAsIGNsYXNzIFAxMTcgLCBjbGFzcyBQMTE4ICwgY2xhc3MgUDExOSAsIGNsYXNzIFAxMjAgLCBjbGFzcyBQMTIxICwgY2xhc3MgUDEyMiAsIGNsYXNzIFAxMjMgLCBjbGFzcyBQMTI0ICwgY2xhc3MgUDEyNSAsIGNsYXNzIFAxMjYgLCBjbGFzcyBQMTI3ICwgY2xhc3MgUDEyOCAsIGNsYXNzIFAxMjkgLCBjbGFzcyBQMTMwICwgY2xhc3MgUDEzMSAsIGNsYXNzIFAxMzIgLCBjbGFzcyBQMTMzICwgY2xhc3MgUDEzNCAsIGNsYXNzIFAxMzUgLCBjbGFzcyBQMTM2ICwgY2xhc3MgUDEzNyAsIGNsYXNzIFAxMzggLCBjbGFzcyBQMTM5ICwgY2xhc3MgUDE0MCAsIGNsYXNzIFAxNDEgLCBjbGFzcyBQMTQyICwgY2xhc3MgUDE0MyAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjE0NDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MCAsIFAxNDEgLCBQMTQyICwgUDE0Mz4sIFQ+IHsgdHlwZWRlZiBuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMTQ1PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFA5MiAsIFA5MyAsIFA5NCAsIFA5NSAsIFA5NiAsIFA5NyAsIFA5OCAsIFA5OSAsIFAxMDAgLCBQMTAxICwgUDEwMiAsIFAxMDMgLCBQMTA0ICwgUDEwNSAsIFAxMDYgLCBQMTA3ICwgUDEwOCAsIFAxMDkgLCBQMTEwICwgUDExMSAsIFAxMTIgLCBQMTEzICwgUDExNCAsIFAxMTUgLCBQMTE2ICwgUDExNyAsIFAxMTggLCBQMTE5ICwgUDEyMCAsIFAxMjEgLCBQMTIyICwgUDEyMyAsIFAxMjQgLCBQMTI1ICwgUDEyNiAsIFAxMjcgLCBQMTI4ICwgUDEyOSAsIFAxMzAgLCBQMTMxICwgUDEzMiAsIFAxMzMgLCBQMTM0ICwgUDEzNSAsIFAxMzYgLCBQMTM3ICwgUDEzOCAsIFAxMzkgLCBQMTQwICwgUDE0MSAsIFAxNDIgLCBQMTQzICwgVCA+IHR5cGU7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSAsIGNsYXNzIFA4NiAsIGNsYXNzIFA4NyAsIGNsYXNzIFA4OCAsIGNsYXNzIFA4OSAsIGNsYXNzIFA5MCAsIGNsYXNzIFA5MSAsIGNsYXNzIFA5MiAsIGNsYXNzIFA5MyAsIGNsYXNzIFA5NCAsIGNsYXNzIFA5NSAsIGNsYXNzIFA5NiAsIGNsYXNzIFA5NyAsIGNsYXNzIFA5OCAsIGNsYXNzIFA5OSAsIGNsYXNzIFAxMDAgLCBjbGFzcyBQMTAxICwgY2xhc3MgUDEwMiAsIGNsYXNzIFAxMDMgLCBjbGFzcyBQMTA0ICwgY2xhc3MgUDEwNSAsIGNsYXNzIFAxMDYgLCBjbGFzcyBQMTA3ICwgY2xhc3MgUDEwOCAsIGNsYXNzIFAxMDkgLCBjbGFzcyBQMTEwICwgY2xhc3MgUDExMSAsIGNsYXNzIFAxMTIgLCBjbGFzcyBQMTEzICwgY2xhc3MgUDExNCAsIGNsYXNzIFAxMTUgLCBjbGFzcyBQMTE2ICwgY2xhc3MgUDExNyAsIGNsYXNzIFAxMTggLCBjbGFzcyBQMTE5ICwgY2xhc3MgUDEyMCAsIGNsYXNzIFAxMjEgLCBjbGFzcyBQMTIyICwgY2xhc3MgUDEyMyAsIGNsYXNzIFAxMjQgLCBjbGFzcyBQMTI1ICwgY2xhc3MgUDEyNiAsIGNsYXNzIFAxMjcgLCBjbGFzcyBQMTI4ICwgY2xhc3MgUDEyOSAsIGNsYXNzIFAxMzAgLCBjbGFzcyBQMTMxICwgY2xhc3MgUDEzMiAsIGNsYXNzIFAxMzMgLCBjbGFzcyBQMTM0ICwgY2xhc3MgUDEzNSAsIGNsYXNzIFAxMzYgLCBjbGFzcyBQMTM3ICwgY2xhc3MgUDEzOCAsIGNsYXNzIFAxMzkgLCBjbGFzcyBQMTQwICwgY2xhc3MgUDE0MSAsIGNsYXNzIFAxNDIgLCBjbGFzcyBQMTQzICwgY2xhc3MgUDE0NCAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjE0NTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MCAsIFAxNDEgLCBQMTQyICwgUDE0MyAsIFAxNDQ+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjE0NjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MCAsIFAxNDEgLCBQMTQyICwgUDE0MyAsIFAxNDQgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ICwgY2xhc3MgUDk2ICwgY2xhc3MgUDk3ICwgY2xhc3MgUDk4ICwgY2xhc3MgUDk5ICwgY2xhc3MgUDEwMCAsIGNsYXNzIFAxMDEgLCBjbGFzcyBQMTAyICwgY2xhc3MgUDEwMyAsIGNsYXNzIFAxMDQgLCBjbGFzcyBQMTA1ICwgY2xhc3MgUDEwNiAsIGNsYXNzIFAxMDcgLCBjbGFzcyBQMTA4ICwgY2xhc3MgUDEwOSAsIGNsYXNzIFAxMTAgLCBjbGFzcyBQMTExICwgY2xhc3MgUDExMiAsIGNsYXNzIFAxMTMgLCBjbGFzcyBQMTE0ICwgY2xhc3MgUDExNSAsIGNsYXNzIFAxMTYgLCBjbGFzcyBQMTE3ICwgY2xhc3MgUDExOCAsIGNsYXNzIFAxMTkgLCBjbGFzcyBQMTIwICwgY2xhc3MgUDEyMSAsIGNsYXNzIFAxMjIgLCBjbGFzcyBQMTIzICwgY2xhc3MgUDEyNCAsIGNsYXNzIFAxMjUgLCBjbGFzcyBQMTI2ICwgY2xhc3MgUDEyNyAsIGNsYXNzIFAxMjggLCBjbGFzcyBQMTI5ICwgY2xhc3MgUDEzMCAsIGNsYXNzIFAxMzEgLCBjbGFzcyBQMTMyICwgY2xhc3MgUDEzMyAsIGNsYXNzIFAxMzQgLCBjbGFzcyBQMTM1ICwgY2xhc3MgUDEzNiAsIGNsYXNzIFAxMzcgLCBjbGFzcyBQMTM4ICwgY2xhc3MgUDEzOSAsIGNsYXNzIFAxNDAgLCBjbGFzcyBQMTQxICwgY2xhc3MgUDE0MiAsIGNsYXNzIFAxNDMgLCBjbGFzcyBQMTQ0ICwgY2xhc3MgUDE0NSAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjE0NjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MCAsIFAxNDEgLCBQMTQyICwgUDE0MyAsIFAxNDQgLCBQMTQ1PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IxNDc8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1ICwgUDk2ICwgUDk3ICwgUDk4ICwgUDk5ICwgUDEwMCAsIFAxMDEgLCBQMTAyICwgUDEwMyAsIFAxMDQgLCBQMTA1ICwgUDEwNiAsIFAxMDcgLCBQMTA4ICwgUDEwOSAsIFAxMTAgLCBQMTExICwgUDExMiAsIFAxMTMgLCBQMTE0ICwgUDExNSAsIFAxMTYgLCBQMTE3ICwgUDExOCAsIFAxMTkgLCBQMTIwICwgUDEyMSAsIFAxMjIgLCBQMTIzICwgUDEyNCAsIFAxMjUgLCBQMTI2ICwgUDEyNyAsIFAxMjggLCBQMTI5ICwgUDEzMCAsIFAxMzEgLCBQMTMyICwgUDEzMyAsIFAxMzQgLCBQMTM1ICwgUDEzNiAsIFAxMzcgLCBQMTM4ICwgUDEzOSAsIFAxNDAgLCBQMTQxICwgUDE0MiAsIFAxNDMgLCBQMTQ0ICwgUDE0NSAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBQOTMgLCBjbGFzcyBQOTQgLCBjbGFzcyBQOTUgLCBjbGFzcyBQOTYgLCBjbGFzcyBQOTcgLCBjbGFzcyBQOTggLCBjbGFzcyBQOTkgLCBjbGFzcyBQMTAwICwgY2xhc3MgUDEwMSAsIGNsYXNzIFAxMDIgLCBjbGFzcyBQMTAzICwgY2xhc3MgUDEwNCAsIGNsYXNzIFAxMDUgLCBjbGFzcyBQMTA2ICwgY2xhc3MgUDEwNyAsIGNsYXNzIFAxMDggLCBjbGFzcyBQMTA5ICwgY2xhc3MgUDExMCAsIGNsYXNzIFAxMTEgLCBjbGFzcyBQMTEyICwgY2xhc3MgUDExMyAsIGNsYXNzIFAxMTQgLCBjbGFzcyBQMTE1ICwgY2xhc3MgUDExNiAsIGNsYXNzIFAxMTcgLCBjbGFzcyBQMTE4ICwgY2xhc3MgUDExOSAsIGNsYXNzIFAxMjAgLCBjbGFzcyBQMTIxICwgY2xhc3MgUDEyMiAsIGNsYXNzIFAxMjMgLCBjbGFzcyBQMTI0ICwgY2xhc3MgUDEyNSAsIGNsYXNzIFAxMjYgLCBjbGFzcyBQMTI3ICwgY2xhc3MgUDEyOCAsIGNsYXNzIFAxMjkgLCBjbGFzcyBQMTMwICwgY2xhc3MgUDEzMSAsIGNsYXNzIFAxMzIgLCBjbGFzcyBQMTMzICwgY2xhc3MgUDEzNCAsIGNsYXNzIFAxMzUgLCBjbGFzcyBQMTM2ICwgY2xhc3MgUDEzNyAsIGNsYXNzIFAxMzggLCBjbGFzcyBQMTM5ICwgY2xhc3MgUDE0MCAsIGNsYXNzIFAxNDEgLCBjbGFzcyBQMTQyICwgY2xhc3MgUDE0MyAsIGNsYXNzIFAxNDQgLCBjbGFzcyBQMTQ1ICwgY2xhc3MgUDE0NiAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjE0NzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MCAsIFAxNDEgLCBQMTQyICwgUDE0MyAsIFAxNDQgLCBQMTQ1ICwgUDE0Nj4sIFQ+IHsgdHlwZWRlZiBuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMTQ4PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFA5MiAsIFA5MyAsIFA5NCAsIFA5NSAsIFA5NiAsIFA5NyAsIFA5OCAsIFA5OSAsIFAxMDAgLCBQMTAxICwgUDEwMiAsIFAxMDMgLCBQMTA0ICwgUDEwNSAsIFAxMDYgLCBQMTA3ICwgUDEwOCAsIFAxMDkgLCBQMTEwICwgUDExMSAsIFAxMTIgLCBQMTEzICwgUDExNCAsIFAxMTUgLCBQMTE2ICwgUDExNyAsIFAxMTggLCBQMTE5ICwgUDEyMCAsIFAxMjEgLCBQMTIyICwgUDEyMyAsIFAxMjQgLCBQMTI1ICwgUDEyNiAsIFAxMjcgLCBQMTI4ICwgUDEyOSAsIFAxMzAgLCBQMTMxICwgUDEzMiAsIFAxMzMgLCBQMTM0ICwgUDEzNSAsIFAxMzYgLCBQMTM3ICwgUDEzOCAsIFAxMzkgLCBQMTQwICwgUDE0MSAsIFAxNDIgLCBQMTQzICwgUDE0NCAsIFAxNDUgLCBQMTQ2ICwgVCA+IHR5cGU7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSAsIGNsYXNzIFA4NiAsIGNsYXNzIFA4NyAsIGNsYXNzIFA4OCAsIGNsYXNzIFA4OSAsIGNsYXNzIFA5MCAsIGNsYXNzIFA5MSAsIGNsYXNzIFA5MiAsIGNsYXNzIFA5MyAsIGNsYXNzIFA5NCAsIGNsYXNzIFA5NSAsIGNsYXNzIFA5NiAsIGNsYXNzIFA5NyAsIGNsYXNzIFA5OCAsIGNsYXNzIFA5OSAsIGNsYXNzIFAxMDAgLCBjbGFzcyBQMTAxICwgY2xhc3MgUDEwMiAsIGNsYXNzIFAxMDMgLCBjbGFzcyBQMTA0ICwgY2xhc3MgUDEwNSAsIGNsYXNzIFAxMDYgLCBjbGFzcyBQMTA3ICwgY2xhc3MgUDEwOCAsIGNsYXNzIFAxMDkgLCBjbGFzcyBQMTEwICwgY2xhc3MgUDExMSAsIGNsYXNzIFAxMTIgLCBjbGFzcyBQMTEzICwgY2xhc3MgUDExNCAsIGNsYXNzIFAxMTUgLCBjbGFzcyBQMTE2ICwgY2xhc3MgUDExNyAsIGNsYXNzIFAxMTggLCBjbGFzcyBQMTE5ICwgY2xhc3MgUDEyMCAsIGNsYXNzIFAxMjEgLCBjbGFzcyBQMTIyICwgY2xhc3MgUDEyMyAsIGNsYXNzIFAxMjQgLCBjbGFzcyBQMTI1ICwgY2xhc3MgUDEyNiAsIGNsYXNzIFAxMjcgLCBjbGFzcyBQMTI4ICwgY2xhc3MgUDEyOSAsIGNsYXNzIFAxMzAgLCBjbGFzcyBQMTMxICwgY2xhc3MgUDEzMiAsIGNsYXNzIFAxMzMgLCBjbGFzcyBQMTM0ICwgY2xhc3MgUDEzNSAsIGNsYXNzIFAxMzYgLCBjbGFzcyBQMTM3ICwgY2xhc3MgUDEzOCAsIGNsYXNzIFAxMzkgLCBjbGFzcyBQMTQwICwgY2xhc3MgUDE0MSAsIGNsYXNzIFAxNDIgLCBjbGFzcyBQMTQzICwgY2xhc3MgUDE0NCAsIGNsYXNzIFAxNDUgLCBjbGFzcyBQMTQ2ICwgY2xhc3MgUDE0NyAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjE0ODwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MCAsIFAxNDEgLCBQMTQyICwgUDE0MyAsIFAxNDQgLCBQMTQ1ICwgUDE0NiAsIFAxNDc+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjE0OTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MCAsIFAxNDEgLCBQMTQyICwgUDE0MyAsIFAxNDQgLCBQMTQ1ICwgUDE0NiAsIFAxNDcgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ICwgY2xhc3MgUDk2ICwgY2xhc3MgUDk3ICwgY2xhc3MgUDk4ICwgY2xhc3MgUDk5ICwgY2xhc3MgUDEwMCAsIGNsYXNzIFAxMDEgLCBjbGFzcyBQMTAyICwgY2xhc3MgUDEwMyAsIGNsYXNzIFAxMDQgLCBjbGFzcyBQMTA1ICwgY2xhc3MgUDEwNiAsIGNsYXNzIFAxMDcgLCBjbGFzcyBQMTA4ICwgY2xhc3MgUDEwOSAsIGNsYXNzIFAxMTAgLCBjbGFzcyBQMTExICwgY2xhc3MgUDExMiAsIGNsYXNzIFAxMTMgLCBjbGFzcyBQMTE0ICwgY2xhc3MgUDExNSAsIGNsYXNzIFAxMTYgLCBjbGFzcyBQMTE3ICwgY2xhc3MgUDExOCAsIGNsYXNzIFAxMTkgLCBjbGFzcyBQMTIwICwgY2xhc3MgUDEyMSAsIGNsYXNzIFAxMjIgLCBjbGFzcyBQMTIzICwgY2xhc3MgUDEyNCAsIGNsYXNzIFAxMjUgLCBjbGFzcyBQMTI2ICwgY2xhc3MgUDEyNyAsIGNsYXNzIFAxMjggLCBjbGFzcyBQMTI5ICwgY2xhc3MgUDEzMCAsIGNsYXNzIFAxMzEgLCBjbGFzcyBQMTMyICwgY2xhc3MgUDEzMyAsIGNsYXNzIFAxMzQgLCBjbGFzcyBQMTM1ICwgY2xhc3MgUDEzNiAsIGNsYXNzIFAxMzcgLCBjbGFzcyBQMTM4ICwgY2xhc3MgUDEzOSAsIGNsYXNzIFAxNDAgLCBjbGFzcyBQMTQxICwgY2xhc3MgUDE0MiAsIGNsYXNzIFAxNDMgLCBjbGFzcyBQMTQ0ICwgY2xhc3MgUDE0NSAsIGNsYXNzIFAxNDYgLCBjbGFzcyBQMTQ3ICwgY2xhc3MgUDE0OCAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjE0OTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MCAsIFAxNDEgLCBQMTQyICwgUDE0MyAsIFAxNDQgLCBQMTQ1ICwgUDE0NiAsIFAxNDcgLCBQMTQ4PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IxNTA8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1ICwgUDk2ICwgUDk3ICwgUDk4ICwgUDk5ICwgUDEwMCAsIFAxMDEgLCBQMTAyICwgUDEwMyAsIFAxMDQgLCBQMTA1ICwgUDEwNiAsIFAxMDcgLCBQMTA4ICwgUDEwOSAsIFAxMTAgLCBQMTExICwgUDExMiAsIFAxMTMgLCBQMTE0ICwgUDExNSAsIFAxMTYgLCBQMTE3ICwgUDExOCAsIFAxMTkgLCBQMTIwICwgUDEyMSAsIFAxMjIgLCBQMTIzICwgUDEyNCAsIFAxMjUgLCBQMTI2ICwgUDEyNyAsIFAxMjggLCBQMTI5ICwgUDEzMCAsIFAxMzEgLCBQMTMyICwgUDEzMyAsIFAxMzQgLCBQMTM1ICwgUDEzNiAsIFAxMzcgLCBQMTM4ICwgUDEzOSAsIFAxNDAgLCBQMTQxICwgUDE0MiAsIFAxNDMgLCBQMTQ0ICwgUDE0NSAsIFAxNDYgLCBQMTQ3ICwgUDE0OCAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBQOTMgLCBjbGFzcyBQOTQgLCBjbGFzcyBQOTUgLCBjbGFzcyBQOTYgLCBjbGFzcyBQOTcgLCBjbGFzcyBQOTggLCBjbGFzcyBQOTkgLCBjbGFzcyBQMTAwICwgY2xhc3MgUDEwMSAsIGNsYXNzIFAxMDIgLCBjbGFzcyBQMTAzICwgY2xhc3MgUDEwNCAsIGNsYXNzIFAxMDUgLCBjbGFzcyBQMTA2ICwgY2xhc3MgUDEwNyAsIGNsYXNzIFAxMDggLCBjbGFzcyBQMTA5ICwgY2xhc3MgUDExMCAsIGNsYXNzIFAxMTEgLCBjbGFzcyBQMTEyICwgY2xhc3MgUDExMyAsIGNsYXNzIFAxMTQgLCBjbGFzcyBQMTE1ICwgY2xhc3MgUDExNiAsIGNsYXNzIFAxMTcgLCBjbGFzcyBQMTE4ICwgY2xhc3MgUDExOSAsIGNsYXNzIFAxMjAgLCBjbGFzcyBQMTIxICwgY2xhc3MgUDEyMiAsIGNsYXNzIFAxMjMgLCBjbGFzcyBQMTI0ICwgY2xhc3MgUDEyNSAsIGNsYXNzIFAxMjYgLCBjbGFzcyBQMTI3ICwgY2xhc3MgUDEyOCAsIGNsYXNzIFAxMjkgLCBjbGFzcyBQMTMwICwgY2xhc3MgUDEzMSAsIGNsYXNzIFAxMzIgLCBjbGFzcyBQMTMzICwgY2xhc3MgUDEzNCAsIGNsYXNzIFAxMzUgLCBjbGFzcyBQMTM2ICwgY2xhc3MgUDEzNyAsIGNsYXNzIFAxMzggLCBjbGFzcyBQMTM5ICwgY2xhc3MgUDE0MCAsIGNsYXNzIFAxNDEgLCBjbGFzcyBQMTQyICwgY2xhc3MgUDE0MyAsIGNsYXNzIFAxNDQgLCBjbGFzcyBQMTQ1ICwgY2xhc3MgUDE0NiAsIGNsYXNzIFAxNDcgLCBjbGFzcyBQMTQ4ICwgY2xhc3MgUDE0OSAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjE1MDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MCAsIFAxNDEgLCBQMTQyICwgUDE0MyAsIFAxNDQgLCBQMTQ1ICwgUDE0NiAsIFAxNDcgLCBQMTQ4ICwgUDE0OT4sIFQ+IHsgdHlwZWRlZiBuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMTUxPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFA5MiAsIFA5MyAsIFA5NCAsIFA5NSAsIFA5NiAsIFA5NyAsIFA5OCAsIFA5OSAsIFAxMDAgLCBQMTAxICwgUDEwMiAsIFAxMDMgLCBQMTA0ICwgUDEwNSAsIFAxMDYgLCBQMTA3ICwgUDEwOCAsIFAxMDkgLCBQMTEwICwgUDExMSAsIFAxMTIgLCBQMTEzICwgUDExNCAsIFAxMTUgLCBQMTE2ICwgUDExNyAsIFAxMTggLCBQMTE5ICwgUDEyMCAsIFAxMjEgLCBQMTIyICwgUDEyMyAsIFAxMjQgLCBQMTI1ICwgUDEyNiAsIFAxMjcgLCBQMTI4ICwgUDEyOSAsIFAxMzAgLCBQMTMxICwgUDEzMiAsIFAxMzMgLCBQMTM0ICwgUDEzNSAsIFAxMzYgLCBQMTM3ICwgUDEzOCAsIFAxMzkgLCBQMTQwICwgUDE0MSAsIFAxNDIgLCBQMTQzICwgUDE0NCAsIFAxNDUgLCBQMTQ2ICwgUDE0NyAsIFAxNDggLCBQMTQ5ICwgVCA+IHR5cGU7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSAsIGNsYXNzIFA4NiAsIGNsYXNzIFA4NyAsIGNsYXNzIFA4OCAsIGNsYXNzIFA4OSAsIGNsYXNzIFA5MCAsIGNsYXNzIFA5MSAsIGNsYXNzIFA5MiAsIGNsYXNzIFA5MyAsIGNsYXNzIFA5NCAsIGNsYXNzIFA5NSAsIGNsYXNzIFA5NiAsIGNsYXNzIFA5NyAsIGNsYXNzIFA5OCAsIGNsYXNzIFA5OSAsIGNsYXNzIFAxMDAgLCBjbGFzcyBQMTAxICwgY2xhc3MgUDEwMiAsIGNsYXNzIFAxMDMgLCBjbGFzcyBQMTA0ICwgY2xhc3MgUDEwNSAsIGNsYXNzIFAxMDYgLCBjbGFzcyBQMTA3ICwgY2xhc3MgUDEwOCAsIGNsYXNzIFAxMDkgLCBjbGFzcyBQMTEwICwgY2xhc3MgUDExMSAsIGNsYXNzIFAxMTIgLCBjbGFzcyBQMTEzICwgY2xhc3MgUDExNCAsIGNsYXNzIFAxMTUgLCBjbGFzcyBQMTE2ICwgY2xhc3MgUDExNyAsIGNsYXNzIFAxMTggLCBjbGFzcyBQMTE5ICwgY2xhc3MgUDEyMCAsIGNsYXNzIFAxMjEgLCBjbGFzcyBQMTIyICwgY2xhc3MgUDEyMyAsIGNsYXNzIFAxMjQgLCBjbGFzcyBQMTI1ICwgY2xhc3MgUDEyNiAsIGNsYXNzIFAxMjcgLCBjbGFzcyBQMTI4ICwgY2xhc3MgUDEyOSAsIGNsYXNzIFAxMzAgLCBjbGFzcyBQMTMxICwgY2xhc3MgUDEzMiAsIGNsYXNzIFAxMzMgLCBjbGFzcyBQMTM0ICwgY2xhc3MgUDEzNSAsIGNsYXNzIFAxMzYgLCBjbGFzcyBQMTM3ICwgY2xhc3MgUDEzOCAsIGNsYXNzIFAxMzkgLCBjbGFzcyBQMTQwICwgY2xhc3MgUDE0MSAsIGNsYXNzIFAxNDIgLCBjbGFzcyBQMTQzICwgY2xhc3MgUDE0NCAsIGNsYXNzIFAxNDUgLCBjbGFzcyBQMTQ2ICwgY2xhc3MgUDE0NyAsIGNsYXNzIFAxNDggLCBjbGFzcyBQMTQ5ICwgY2xhc3MgUDE1MCAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjE1MTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MCAsIFAxNDEgLCBQMTQyICwgUDE0MyAsIFAxNDQgLCBQMTQ1ICwgUDE0NiAsIFAxNDcgLCBQMTQ4ICwgUDE0OSAsIFAxNTA+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjE1MjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MCAsIFAxNDEgLCBQMTQyICwgUDE0MyAsIFAxNDQgLCBQMTQ1ICwgUDE0NiAsIFAxNDcgLCBQMTQ4ICwgUDE0OSAsIFAxNTAgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ICwgY2xhc3MgUDk2ICwgY2xhc3MgUDk3ICwgY2xhc3MgUDk4ICwgY2xhc3MgUDk5ICwgY2xhc3MgUDEwMCAsIGNsYXNzIFAxMDEgLCBjbGFzcyBQMTAyICwgY2xhc3MgUDEwMyAsIGNsYXNzIFAxMDQgLCBjbGFzcyBQMTA1ICwgY2xhc3MgUDEwNiAsIGNsYXNzIFAxMDcgLCBjbGFzcyBQMTA4ICwgY2xhc3MgUDEwOSAsIGNsYXNzIFAxMTAgLCBjbGFzcyBQMTExICwgY2xhc3MgUDExMiAsIGNsYXNzIFAxMTMgLCBjbGFzcyBQMTE0ICwgY2xhc3MgUDExNSAsIGNsYXNzIFAxMTYgLCBjbGFzcyBQMTE3ICwgY2xhc3MgUDExOCAsIGNsYXNzIFAxMTkgLCBjbGFzcyBQMTIwICwgY2xhc3MgUDEyMSAsIGNsYXNzIFAxMjIgLCBjbGFzcyBQMTIzICwgY2xhc3MgUDEyNCAsIGNsYXNzIFAxMjUgLCBjbGFzcyBQMTI2ICwgY2xhc3MgUDEyNyAsIGNsYXNzIFAxMjggLCBjbGFzcyBQMTI5ICwgY2xhc3MgUDEzMCAsIGNsYXNzIFAxMzEgLCBjbGFzcyBQMTMyICwgY2xhc3MgUDEzMyAsIGNsYXNzIFAxMzQgLCBjbGFzcyBQMTM1ICwgY2xhc3MgUDEzNiAsIGNsYXNzIFAxMzcgLCBjbGFzcyBQMTM4ICwgY2xhc3MgUDEzOSAsIGNsYXNzIFAxNDAgLCBjbGFzcyBQMTQxICwgY2xhc3MgUDE0MiAsIGNsYXNzIFAxNDMgLCBjbGFzcyBQMTQ0ICwgY2xhc3MgUDE0NSAsIGNsYXNzIFAxNDYgLCBjbGFzcyBQMTQ3ICwgY2xhc3MgUDE0OCAsIGNsYXNzIFAxNDkgLCBjbGFzcyBQMTUwICwgY2xhc3MgUDE1MSAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjE1MjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MCAsIFAxNDEgLCBQMTQyICwgUDE0MyAsIFAxNDQgLCBQMTQ1ICwgUDE0NiAsIFAxNDcgLCBQMTQ4ICwgUDE0OSAsIFAxNTAgLCBQMTUxPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IxNTM8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1ICwgUDk2ICwgUDk3ICwgUDk4ICwgUDk5ICwgUDEwMCAsIFAxMDEgLCBQMTAyICwgUDEwMyAsIFAxMDQgLCBQMTA1ICwgUDEwNiAsIFAxMDcgLCBQMTA4ICwgUDEwOSAsIFAxMTAgLCBQMTExICwgUDExMiAsIFAxMTMgLCBQMTE0ICwgUDExNSAsIFAxMTYgLCBQMTE3ICwgUDExOCAsIFAxMTkgLCBQMTIwICwgUDEyMSAsIFAxMjIgLCBQMTIzICwgUDEyNCAsIFAxMjUgLCBQMTI2ICwgUDEyNyAsIFAxMjggLCBQMTI5ICwgUDEzMCAsIFAxMzEgLCBQMTMyICwgUDEzMyAsIFAxMzQgLCBQMTM1ICwgUDEzNiAsIFAxMzcgLCBQMTM4ICwgUDEzOSAsIFAxNDAgLCBQMTQxICwgUDE0MiAsIFAxNDMgLCBQMTQ0ICwgUDE0NSAsIFAxNDYgLCBQMTQ3ICwgUDE0OCAsIFAxNDkgLCBQMTUwICwgUDE1MSAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBQOTMgLCBjbGFzcyBQOTQgLCBjbGFzcyBQOTUgLCBjbGFzcyBQOTYgLCBjbGFzcyBQOTcgLCBjbGFzcyBQOTggLCBjbGFzcyBQOTkgLCBjbGFzcyBQMTAwICwgY2xhc3MgUDEwMSAsIGNsYXNzIFAxMDIgLCBjbGFzcyBQMTAzICwgY2xhc3MgUDEwNCAsIGNsYXNzIFAxMDUgLCBjbGFzcyBQMTA2ICwgY2xhc3MgUDEwNyAsIGNsYXNzIFAxMDggLCBjbGFzcyBQMTA5ICwgY2xhc3MgUDExMCAsIGNsYXNzIFAxMTEgLCBjbGFzcyBQMTEyICwgY2xhc3MgUDExMyAsIGNsYXNzIFAxMTQgLCBjbGFzcyBQMTE1ICwgY2xhc3MgUDExNiAsIGNsYXNzIFAxMTcgLCBjbGFzcyBQMTE4ICwgY2xhc3MgUDExOSAsIGNsYXNzIFAxMjAgLCBjbGFzcyBQMTIxICwgY2xhc3MgUDEyMiAsIGNsYXNzIFAxMjMgLCBjbGFzcyBQMTI0ICwgY2xhc3MgUDEyNSAsIGNsYXNzIFAxMjYgLCBjbGFzcyBQMTI3ICwgY2xhc3MgUDEyOCAsIGNsYXNzIFAxMjkgLCBjbGFzcyBQMTMwICwgY2xhc3MgUDEzMSAsIGNsYXNzIFAxMzIgLCBjbGFzcyBQMTMzICwgY2xhc3MgUDEzNCAsIGNsYXNzIFAxMzUgLCBjbGFzcyBQMTM2ICwgY2xhc3MgUDEzNyAsIGNsYXNzIFAxMzggLCBjbGFzcyBQMTM5ICwgY2xhc3MgUDE0MCAsIGNsYXNzIFAxNDEgLCBjbGFzcyBQMTQyICwgY2xhc3MgUDE0MyAsIGNsYXNzIFAxNDQgLCBjbGFzcyBQMTQ1ICwgY2xhc3MgUDE0NiAsIGNsYXNzIFAxNDcgLCBjbGFzcyBQMTQ4ICwgY2xhc3MgUDE0OSAsIGNsYXNzIFAxNTAgLCBjbGFzcyBQMTUxICwgY2xhc3MgUDE1MiAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjE1MzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MCAsIFAxNDEgLCBQMTQyICwgUDE0MyAsIFAxNDQgLCBQMTQ1ICwgUDE0NiAsIFAxNDcgLCBQMTQ4ICwgUDE0OSAsIFAxNTAgLCBQMTUxICwgUDE1Mj4sIFQ+IHsgdHlwZWRlZiBuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMTU0PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFA5MiAsIFA5MyAsIFA5NCAsIFA5NSAsIFA5NiAsIFA5NyAsIFA5OCAsIFA5OSAsIFAxMDAgLCBQMTAxICwgUDEwMiAsIFAxMDMgLCBQMTA0ICwgUDEwNSAsIFAxMDYgLCBQMTA3ICwgUDEwOCAsIFAxMDkgLCBQMTEwICwgUDExMSAsIFAxMTIgLCBQMTEzICwgUDExNCAsIFAxMTUgLCBQMTE2ICwgUDExNyAsIFAxMTggLCBQMTE5ICwgUDEyMCAsIFAxMjEgLCBQMTIyICwgUDEyMyAsIFAxMjQgLCBQMTI1ICwgUDEyNiAsIFAxMjcgLCBQMTI4ICwgUDEyOSAsIFAxMzAgLCBQMTMxICwgUDEzMiAsIFAxMzMgLCBQMTM0ICwgUDEzNSAsIFAxMzYgLCBQMTM3ICwgUDEzOCAsIFAxMzkgLCBQMTQwICwgUDE0MSAsIFAxNDIgLCBQMTQzICwgUDE0NCAsIFAxNDUgLCBQMTQ2ICwgUDE0NyAsIFAxNDggLCBQMTQ5ICwgUDE1MCAsIFAxNTEgLCBQMTUyICwgVCA+IHR5cGU7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSAsIGNsYXNzIFA4NiAsIGNsYXNzIFA4NyAsIGNsYXNzIFA4OCAsIGNsYXNzIFA4OSAsIGNsYXNzIFA5MCAsIGNsYXNzIFA5MSAsIGNsYXNzIFA5MiAsIGNsYXNzIFA5MyAsIGNsYXNzIFA5NCAsIGNsYXNzIFA5NSAsIGNsYXNzIFA5NiAsIGNsYXNzIFA5NyAsIGNsYXNzIFA5OCAsIGNsYXNzIFA5OSAsIGNsYXNzIFAxMDAgLCBjbGFzcyBQMTAxICwgY2xhc3MgUDEwMiAsIGNsYXNzIFAxMDMgLCBjbGFzcyBQMTA0ICwgY2xhc3MgUDEwNSAsIGNsYXNzIFAxMDYgLCBjbGFzcyBQMTA3ICwgY2xhc3MgUDEwOCAsIGNsYXNzIFAxMDkgLCBjbGFzcyBQMTEwICwgY2xhc3MgUDExMSAsIGNsYXNzIFAxMTIgLCBjbGFzcyBQMTEzICwgY2xhc3MgUDExNCAsIGNsYXNzIFAxMTUgLCBjbGFzcyBQMTE2ICwgY2xhc3MgUDExNyAsIGNsYXNzIFAxMTggLCBjbGFzcyBQMTE5ICwgY2xhc3MgUDEyMCAsIGNsYXNzIFAxMjEgLCBjbGFzcyBQMTIyICwgY2xhc3MgUDEyMyAsIGNsYXNzIFAxMjQgLCBjbGFzcyBQMTI1ICwgY2xhc3MgUDEyNiAsIGNsYXNzIFAxMjcgLCBjbGFzcyBQMTI4ICwgY2xhc3MgUDEyOSAsIGNsYXNzIFAxMzAgLCBjbGFzcyBQMTMxICwgY2xhc3MgUDEzMiAsIGNsYXNzIFAxMzMgLCBjbGFzcyBQMTM0ICwgY2xhc3MgUDEzNSAsIGNsYXNzIFAxMzYgLCBjbGFzcyBQMTM3ICwgY2xhc3MgUDEzOCAsIGNsYXNzIFAxMzkgLCBjbGFzcyBQMTQwICwgY2xhc3MgUDE0MSAsIGNsYXNzIFAxNDIgLCBjbGFzcyBQMTQzICwgY2xhc3MgUDE0NCAsIGNsYXNzIFAxNDUgLCBjbGFzcyBQMTQ2ICwgY2xhc3MgUDE0NyAsIGNsYXNzIFAxNDggLCBjbGFzcyBQMTQ5ICwgY2xhc3MgUDE1MCAsIGNsYXNzIFAxNTEgLCBjbGFzcyBQMTUyICwgY2xhc3MgUDE1MyAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjE1NDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MCAsIFAxNDEgLCBQMTQyICwgUDE0MyAsIFAxNDQgLCBQMTQ1ICwgUDE0NiAsIFAxNDcgLCBQMTQ4ICwgUDE0OSAsIFAxNTAgLCBQMTUxICwgUDE1MiAsIFAxNTM+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjE1NTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MCAsIFAxNDEgLCBQMTQyICwgUDE0MyAsIFAxNDQgLCBQMTQ1ICwgUDE0NiAsIFAxNDcgLCBQMTQ4ICwgUDE0OSAsIFAxNTAgLCBQMTUxICwgUDE1MiAsIFAxNTMgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ICwgY2xhc3MgUDk2ICwgY2xhc3MgUDk3ICwgY2xhc3MgUDk4ICwgY2xhc3MgUDk5ICwgY2xhc3MgUDEwMCAsIGNsYXNzIFAxMDEgLCBjbGFzcyBQMTAyICwgY2xhc3MgUDEwMyAsIGNsYXNzIFAxMDQgLCBjbGFzcyBQMTA1ICwgY2xhc3MgUDEwNiAsIGNsYXNzIFAxMDcgLCBjbGFzcyBQMTA4ICwgY2xhc3MgUDEwOSAsIGNsYXNzIFAxMTAgLCBjbGFzcyBQMTExICwgY2xhc3MgUDExMiAsIGNsYXNzIFAxMTMgLCBjbGFzcyBQMTE0ICwgY2xhc3MgUDExNSAsIGNsYXNzIFAxMTYgLCBjbGFzcyBQMTE3ICwgY2xhc3MgUDExOCAsIGNsYXNzIFAxMTkgLCBjbGFzcyBQMTIwICwgY2xhc3MgUDEyMSAsIGNsYXNzIFAxMjIgLCBjbGFzcyBQMTIzICwgY2xhc3MgUDEyNCAsIGNsYXNzIFAxMjUgLCBjbGFzcyBQMTI2ICwgY2xhc3MgUDEyNyAsIGNsYXNzIFAxMjggLCBjbGFzcyBQMTI5ICwgY2xhc3MgUDEzMCAsIGNsYXNzIFAxMzEgLCBjbGFzcyBQMTMyICwgY2xhc3MgUDEzMyAsIGNsYXNzIFAxMzQgLCBjbGFzcyBQMTM1ICwgY2xhc3MgUDEzNiAsIGNsYXNzIFAxMzcgLCBjbGFzcyBQMTM4ICwgY2xhc3MgUDEzOSAsIGNsYXNzIFAxNDAgLCBjbGFzcyBQMTQxICwgY2xhc3MgUDE0MiAsIGNsYXNzIFAxNDMgLCBjbGFzcyBQMTQ0ICwgY2xhc3MgUDE0NSAsIGNsYXNzIFAxNDYgLCBjbGFzcyBQMTQ3ICwgY2xhc3MgUDE0OCAsIGNsYXNzIFAxNDkgLCBjbGFzcyBQMTUwICwgY2xhc3MgUDE1MSAsIGNsYXNzIFAxNTIgLCBjbGFzcyBQMTUzICwgY2xhc3MgUDE1NCAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjE1NTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MCAsIFAxNDEgLCBQMTQyICwgUDE0MyAsIFAxNDQgLCBQMTQ1ICwgUDE0NiAsIFAxNDcgLCBQMTQ4ICwgUDE0OSAsIFAxNTAgLCBQMTUxICwgUDE1MiAsIFAxNTMgLCBQMTU0PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IxNTY8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1ICwgUDk2ICwgUDk3ICwgUDk4ICwgUDk5ICwgUDEwMCAsIFAxMDEgLCBQMTAyICwgUDEwMyAsIFAxMDQgLCBQMTA1ICwgUDEwNiAsIFAxMDcgLCBQMTA4ICwgUDEwOSAsIFAxMTAgLCBQMTExICwgUDExMiAsIFAxMTMgLCBQMTE0ICwgUDExNSAsIFAxMTYgLCBQMTE3ICwgUDExOCAsIFAxMTkgLCBQMTIwICwgUDEyMSAsIFAxMjIgLCBQMTIzICwgUDEyNCAsIFAxMjUgLCBQMTI2ICwgUDEyNyAsIFAxMjggLCBQMTI5ICwgUDEzMCAsIFAxMzEgLCBQMTMyICwgUDEzMyAsIFAxMzQgLCBQMTM1ICwgUDEzNiAsIFAxMzcgLCBQMTM4ICwgUDEzOSAsIFAxNDAgLCBQMTQxICwgUDE0MiAsIFAxNDMgLCBQMTQ0ICwgUDE0NSAsIFAxNDYgLCBQMTQ3ICwgUDE0OCAsIFAxNDkgLCBQMTUwICwgUDE1MSAsIFAxNTIgLCBQMTUzICwgUDE1NCAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBQOTMgLCBjbGFzcyBQOTQgLCBjbGFzcyBQOTUgLCBjbGFzcyBQOTYgLCBjbGFzcyBQOTcgLCBjbGFzcyBQOTggLCBjbGFzcyBQOTkgLCBjbGFzcyBQMTAwICwgY2xhc3MgUDEwMSAsIGNsYXNzIFAxMDIgLCBjbGFzcyBQMTAzICwgY2xhc3MgUDEwNCAsIGNsYXNzIFAxMDUgLCBjbGFzcyBQMTA2ICwgY2xhc3MgUDEwNyAsIGNsYXNzIFAxMDggLCBjbGFzcyBQMTA5ICwgY2xhc3MgUDExMCAsIGNsYXNzIFAxMTEgLCBjbGFzcyBQMTEyICwgY2xhc3MgUDExMyAsIGNsYXNzIFAxMTQgLCBjbGFzcyBQMTE1ICwgY2xhc3MgUDExNiAsIGNsYXNzIFAxMTcgLCBjbGFzcyBQMTE4ICwgY2xhc3MgUDExOSAsIGNsYXNzIFAxMjAgLCBjbGFzcyBQMTIxICwgY2xhc3MgUDEyMiAsIGNsYXNzIFAxMjMgLCBjbGFzcyBQMTI0ICwgY2xhc3MgUDEyNSAsIGNsYXNzIFAxMjYgLCBjbGFzcyBQMTI3ICwgY2xhc3MgUDEyOCAsIGNsYXNzIFAxMjkgLCBjbGFzcyBQMTMwICwgY2xhc3MgUDEzMSAsIGNsYXNzIFAxMzIgLCBjbGFzcyBQMTMzICwgY2xhc3MgUDEzNCAsIGNsYXNzIFAxMzUgLCBjbGFzcyBQMTM2ICwgY2xhc3MgUDEzNyAsIGNsYXNzIFAxMzggLCBjbGFzcyBQMTM5ICwgY2xhc3MgUDE0MCAsIGNsYXNzIFAxNDEgLCBjbGFzcyBQMTQyICwgY2xhc3MgUDE0MyAsIGNsYXNzIFAxNDQgLCBjbGFzcyBQMTQ1ICwgY2xhc3MgUDE0NiAsIGNsYXNzIFAxNDcgLCBjbGFzcyBQMTQ4ICwgY2xhc3MgUDE0OSAsIGNsYXNzIFAxNTAgLCBjbGFzcyBQMTUxICwgY2xhc3MgUDE1MiAsIGNsYXNzIFAxNTMgLCBjbGFzcyBQMTU0ICwgY2xhc3MgUDE1NSAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjE1NjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MCAsIFAxNDEgLCBQMTQyICwgUDE0MyAsIFAxNDQgLCBQMTQ1ICwgUDE0NiAsIFAxNDcgLCBQMTQ4ICwgUDE0OSAsIFAxNTAgLCBQMTUxICwgUDE1MiAsIFAxNTMgLCBQMTU0ICwgUDE1NT4sIFQ+IHsgdHlwZWRlZiBuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMTU3PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFA5MiAsIFA5MyAsIFA5NCAsIFA5NSAsIFA5NiAsIFA5NyAsIFA5OCAsIFA5OSAsIFAxMDAgLCBQMTAxICwgUDEwMiAsIFAxMDMgLCBQMTA0ICwgUDEwNSAsIFAxMDYgLCBQMTA3ICwgUDEwOCAsIFAxMDkgLCBQMTEwICwgUDExMSAsIFAxMTIgLCBQMTEzICwgUDExNCAsIFAxMTUgLCBQMTE2ICwgUDExNyAsIFAxMTggLCBQMTE5ICwgUDEyMCAsIFAxMjEgLCBQMTIyICwgUDEyMyAsIFAxMjQgLCBQMTI1ICwgUDEyNiAsIFAxMjcgLCBQMTI4ICwgUDEyOSAsIFAxMzAgLCBQMTMxICwgUDEzMiAsIFAxMzMgLCBQMTM0ICwgUDEzNSAsIFAxMzYgLCBQMTM3ICwgUDEzOCAsIFAxMzkgLCBQMTQwICwgUDE0MSAsIFAxNDIgLCBQMTQzICwgUDE0NCAsIFAxNDUgLCBQMTQ2ICwgUDE0NyAsIFAxNDggLCBQMTQ5ICwgUDE1MCAsIFAxNTEgLCBQMTUyICwgUDE1MyAsIFAxNTQgLCBQMTU1ICwgVCA+IHR5cGU7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSAsIGNsYXNzIFA4NiAsIGNsYXNzIFA4NyAsIGNsYXNzIFA4OCAsIGNsYXNzIFA4OSAsIGNsYXNzIFA5MCAsIGNsYXNzIFA5MSAsIGNsYXNzIFA5MiAsIGNsYXNzIFA5MyAsIGNsYXNzIFA5NCAsIGNsYXNzIFA5NSAsIGNsYXNzIFA5NiAsIGNsYXNzIFA5NyAsIGNsYXNzIFA5OCAsIGNsYXNzIFA5OSAsIGNsYXNzIFAxMDAgLCBjbGFzcyBQMTAxICwgY2xhc3MgUDEwMiAsIGNsYXNzIFAxMDMgLCBjbGFzcyBQMTA0ICwgY2xhc3MgUDEwNSAsIGNsYXNzIFAxMDYgLCBjbGFzcyBQMTA3ICwgY2xhc3MgUDEwOCAsIGNsYXNzIFAxMDkgLCBjbGFzcyBQMTEwICwgY2xhc3MgUDExMSAsIGNsYXNzIFAxMTIgLCBjbGFzcyBQMTEzICwgY2xhc3MgUDExNCAsIGNsYXNzIFAxMTUgLCBjbGFzcyBQMTE2ICwgY2xhc3MgUDExNyAsIGNsYXNzIFAxMTggLCBjbGFzcyBQMTE5ICwgY2xhc3MgUDEyMCAsIGNsYXNzIFAxMjEgLCBjbGFzcyBQMTIyICwgY2xhc3MgUDEyMyAsIGNsYXNzIFAxMjQgLCBjbGFzcyBQMTI1ICwgY2xhc3MgUDEyNiAsIGNsYXNzIFAxMjcgLCBjbGFzcyBQMTI4ICwgY2xhc3MgUDEyOSAsIGNsYXNzIFAxMzAgLCBjbGFzcyBQMTMxICwgY2xhc3MgUDEzMiAsIGNsYXNzIFAxMzMgLCBjbGFzcyBQMTM0ICwgY2xhc3MgUDEzNSAsIGNsYXNzIFAxMzYgLCBjbGFzcyBQMTM3ICwgY2xhc3MgUDEzOCAsIGNsYXNzIFAxMzkgLCBjbGFzcyBQMTQwICwgY2xhc3MgUDE0MSAsIGNsYXNzIFAxNDIgLCBjbGFzcyBQMTQzICwgY2xhc3MgUDE0NCAsIGNsYXNzIFAxNDUgLCBjbGFzcyBQMTQ2ICwgY2xhc3MgUDE0NyAsIGNsYXNzIFAxNDggLCBjbGFzcyBQMTQ5ICwgY2xhc3MgUDE1MCAsIGNsYXNzIFAxNTEgLCBjbGFzcyBQMTUyICwgY2xhc3MgUDE1MyAsIGNsYXNzIFAxNTQgLCBjbGFzcyBQMTU1ICwgY2xhc3MgUDE1NiAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjE1NzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MCAsIFAxNDEgLCBQMTQyICwgUDE0MyAsIFAxNDQgLCBQMTQ1ICwgUDE0NiAsIFAxNDcgLCBQMTQ4ICwgUDE0OSAsIFAxNTAgLCBQMTUxICwgUDE1MiAsIFAxNTMgLCBQMTU0ICwgUDE1NSAsIFAxNTY+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjE1ODwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MCAsIFAxNDEgLCBQMTQyICwgUDE0MyAsIFAxNDQgLCBQMTQ1ICwgUDE0NiAsIFAxNDcgLCBQMTQ4ICwgUDE0OSAsIFAxNTAgLCBQMTUxICwgUDE1MiAsIFAxNTMgLCBQMTU0ICwgUDE1NSAsIFAxNTYgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ICwgY2xhc3MgUDk2ICwgY2xhc3MgUDk3ICwgY2xhc3MgUDk4ICwgY2xhc3MgUDk5ICwgY2xhc3MgUDEwMCAsIGNsYXNzIFAxMDEgLCBjbGFzcyBQMTAyICwgY2xhc3MgUDEwMyAsIGNsYXNzIFAxMDQgLCBjbGFzcyBQMTA1ICwgY2xhc3MgUDEwNiAsIGNsYXNzIFAxMDcgLCBjbGFzcyBQMTA4ICwgY2xhc3MgUDEwOSAsIGNsYXNzIFAxMTAgLCBjbGFzcyBQMTExICwgY2xhc3MgUDExMiAsIGNsYXNzIFAxMTMgLCBjbGFzcyBQMTE0ICwgY2xhc3MgUDExNSAsIGNsYXNzIFAxMTYgLCBjbGFzcyBQMTE3ICwgY2xhc3MgUDExOCAsIGNsYXNzIFAxMTkgLCBjbGFzcyBQMTIwICwgY2xhc3MgUDEyMSAsIGNsYXNzIFAxMjIgLCBjbGFzcyBQMTIzICwgY2xhc3MgUDEyNCAsIGNsYXNzIFAxMjUgLCBjbGFzcyBQMTI2ICwgY2xhc3MgUDEyNyAsIGNsYXNzIFAxMjggLCBjbGFzcyBQMTI5ICwgY2xhc3MgUDEzMCAsIGNsYXNzIFAxMzEgLCBjbGFzcyBQMTMyICwgY2xhc3MgUDEzMyAsIGNsYXNzIFAxMzQgLCBjbGFzcyBQMTM1ICwgY2xhc3MgUDEzNiAsIGNsYXNzIFAxMzcgLCBjbGFzcyBQMTM4ICwgY2xhc3MgUDEzOSAsIGNsYXNzIFAxNDAgLCBjbGFzcyBQMTQxICwgY2xhc3MgUDE0MiAsIGNsYXNzIFAxNDMgLCBjbGFzcyBQMTQ0ICwgY2xhc3MgUDE0NSAsIGNsYXNzIFAxNDYgLCBjbGFzcyBQMTQ3ICwgY2xhc3MgUDE0OCAsIGNsYXNzIFAxNDkgLCBjbGFzcyBQMTUwICwgY2xhc3MgUDE1MSAsIGNsYXNzIFAxNTIgLCBjbGFzcyBQMTUzICwgY2xhc3MgUDE1NCAsIGNsYXNzIFAxNTUgLCBjbGFzcyBQMTU2ICwgY2xhc3MgUDE1NyAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjE1ODwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MCAsIFAxNDEgLCBQMTQyICwgUDE0MyAsIFAxNDQgLCBQMTQ1ICwgUDE0NiAsIFAxNDcgLCBQMTQ4ICwgUDE0OSAsIFAxNTAgLCBQMTUxICwgUDE1MiAsIFAxNTMgLCBQMTU0ICwgUDE1NSAsIFAxNTYgLCBQMTU3PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IxNTk8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1ICwgUDk2ICwgUDk3ICwgUDk4ICwgUDk5ICwgUDEwMCAsIFAxMDEgLCBQMTAyICwgUDEwMyAsIFAxMDQgLCBQMTA1ICwgUDEwNiAsIFAxMDcgLCBQMTA4ICwgUDEwOSAsIFAxMTAgLCBQMTExICwgUDExMiAsIFAxMTMgLCBQMTE0ICwgUDExNSAsIFAxMTYgLCBQMTE3ICwgUDExOCAsIFAxMTkgLCBQMTIwICwgUDEyMSAsIFAxMjIgLCBQMTIzICwgUDEyNCAsIFAxMjUgLCBQMTI2ICwgUDEyNyAsIFAxMjggLCBQMTI5ICwgUDEzMCAsIFAxMzEgLCBQMTMyICwgUDEzMyAsIFAxMzQgLCBQMTM1ICwgUDEzNiAsIFAxMzcgLCBQMTM4ICwgUDEzOSAsIFAxNDAgLCBQMTQxICwgUDE0MiAsIFAxNDMgLCBQMTQ0ICwgUDE0NSAsIFAxNDYgLCBQMTQ3ICwgUDE0OCAsIFAxNDkgLCBQMTUwICwgUDE1MSAsIFAxNTIgLCBQMTUzICwgUDE1NCAsIFAxNTUgLCBQMTU2ICwgUDE1NyAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBQOTMgLCBjbGFzcyBQOTQgLCBjbGFzcyBQOTUgLCBjbGFzcyBQOTYgLCBjbGFzcyBQOTcgLCBjbGFzcyBQOTggLCBjbGFzcyBQOTkgLCBjbGFzcyBQMTAwICwgY2xhc3MgUDEwMSAsIGNsYXNzIFAxMDIgLCBjbGFzcyBQMTAzICwgY2xhc3MgUDEwNCAsIGNsYXNzIFAxMDUgLCBjbGFzcyBQMTA2ICwgY2xhc3MgUDEwNyAsIGNsYXNzIFAxMDggLCBjbGFzcyBQMTA5ICwgY2xhc3MgUDExMCAsIGNsYXNzIFAxMTEgLCBjbGFzcyBQMTEyICwgY2xhc3MgUDExMyAsIGNsYXNzIFAxMTQgLCBjbGFzcyBQMTE1ICwgY2xhc3MgUDExNiAsIGNsYXNzIFAxMTcgLCBjbGFzcyBQMTE4ICwgY2xhc3MgUDExOSAsIGNsYXNzIFAxMjAgLCBjbGFzcyBQMTIxICwgY2xhc3MgUDEyMiAsIGNsYXNzIFAxMjMgLCBjbGFzcyBQMTI0ICwgY2xhc3MgUDEyNSAsIGNsYXNzIFAxMjYgLCBjbGFzcyBQMTI3ICwgY2xhc3MgUDEyOCAsIGNsYXNzIFAxMjkgLCBjbGFzcyBQMTMwICwgY2xhc3MgUDEzMSAsIGNsYXNzIFAxMzIgLCBjbGFzcyBQMTMzICwgY2xhc3MgUDEzNCAsIGNsYXNzIFAxMzUgLCBjbGFzcyBQMTM2ICwgY2xhc3MgUDEzNyAsIGNsYXNzIFAxMzggLCBjbGFzcyBQMTM5ICwgY2xhc3MgUDE0MCAsIGNsYXNzIFAxNDEgLCBjbGFzcyBQMTQyICwgY2xhc3MgUDE0MyAsIGNsYXNzIFAxNDQgLCBjbGFzcyBQMTQ1ICwgY2xhc3MgUDE0NiAsIGNsYXNzIFAxNDcgLCBjbGFzcyBQMTQ4ICwgY2xhc3MgUDE0OSAsIGNsYXNzIFAxNTAgLCBjbGFzcyBQMTUxICwgY2xhc3MgUDE1MiAsIGNsYXNzIFAxNTMgLCBjbGFzcyBQMTU0ICwgY2xhc3MgUDE1NSAsIGNsYXNzIFAxNTYgLCBjbGFzcyBQMTU3ICwgY2xhc3MgUDE1OCAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjE1OTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MCAsIFAxNDEgLCBQMTQyICwgUDE0MyAsIFAxNDQgLCBQMTQ1ICwgUDE0NiAsIFAxNDcgLCBQMTQ4ICwgUDE0OSAsIFAxNTAgLCBQMTUxICwgUDE1MiAsIFAxNTMgLCBQMTU0ICwgUDE1NSAsIFAxNTYgLCBQMTU3ICwgUDE1OD4sIFQ+IHsgdHlwZWRlZiBuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMTYwPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFA5MiAsIFA5MyAsIFA5NCAsIFA5NSAsIFA5NiAsIFA5NyAsIFA5OCAsIFA5OSAsIFAxMDAgLCBQMTAxICwgUDEwMiAsIFAxMDMgLCBQMTA0ICwgUDEwNSAsIFAxMDYgLCBQMTA3ICwgUDEwOCAsIFAxMDkgLCBQMTEwICwgUDExMSAsIFAxMTIgLCBQMTEzICwgUDExNCAsIFAxMTUgLCBQMTE2ICwgUDExNyAsIFAxMTggLCBQMTE5ICwgUDEyMCAsIFAxMjEgLCBQMTIyICwgUDEyMyAsIFAxMjQgLCBQMTI1ICwgUDEyNiAsIFAxMjcgLCBQMTI4ICwgUDEyOSAsIFAxMzAgLCBQMTMxICwgUDEzMiAsIFAxMzMgLCBQMTM0ICwgUDEzNSAsIFAxMzYgLCBQMTM3ICwgUDEzOCAsIFAxMzkgLCBQMTQwICwgUDE0MSAsIFAxNDIgLCBQMTQzICwgUDE0NCAsIFAxNDUgLCBQMTQ2ICwgUDE0NyAsIFAxNDggLCBQMTQ5ICwgUDE1MCAsIFAxNTEgLCBQMTUyICwgUDE1MyAsIFAxNTQgLCBQMTU1ICwgUDE1NiAsIFAxNTcgLCBQMTU4ICwgVCA+IHR5cGU7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSAsIGNsYXNzIFA4NiAsIGNsYXNzIFA4NyAsIGNsYXNzIFA4OCAsIGNsYXNzIFA4OSAsIGNsYXNzIFA5MCAsIGNsYXNzIFA5MSAsIGNsYXNzIFA5MiAsIGNsYXNzIFA5MyAsIGNsYXNzIFA5NCAsIGNsYXNzIFA5NSAsIGNsYXNzIFA5NiAsIGNsYXNzIFA5NyAsIGNsYXNzIFA5OCAsIGNsYXNzIFA5OSAsIGNsYXNzIFAxMDAgLCBjbGFzcyBQMTAxICwgY2xhc3MgUDEwMiAsIGNsYXNzIFAxMDMgLCBjbGFzcyBQMTA0ICwgY2xhc3MgUDEwNSAsIGNsYXNzIFAxMDYgLCBjbGFzcyBQMTA3ICwgY2xhc3MgUDEwOCAsIGNsYXNzIFAxMDkgLCBjbGFzcyBQMTEwICwgY2xhc3MgUDExMSAsIGNsYXNzIFAxMTIgLCBjbGFzcyBQMTEzICwgY2xhc3MgUDExNCAsIGNsYXNzIFAxMTUgLCBjbGFzcyBQMTE2ICwgY2xhc3MgUDExNyAsIGNsYXNzIFAxMTggLCBjbGFzcyBQMTE5ICwgY2xhc3MgUDEyMCAsIGNsYXNzIFAxMjEgLCBjbGFzcyBQMTIyICwgY2xhc3MgUDEyMyAsIGNsYXNzIFAxMjQgLCBjbGFzcyBQMTI1ICwgY2xhc3MgUDEyNiAsIGNsYXNzIFAxMjcgLCBjbGFzcyBQMTI4ICwgY2xhc3MgUDEyOSAsIGNsYXNzIFAxMzAgLCBjbGFzcyBQMTMxICwgY2xhc3MgUDEzMiAsIGNsYXNzIFAxMzMgLCBjbGFzcyBQMTM0ICwgY2xhc3MgUDEzNSAsIGNsYXNzIFAxMzYgLCBjbGFzcyBQMTM3ICwgY2xhc3MgUDEzOCAsIGNsYXNzIFAxMzkgLCBjbGFzcyBQMTQwICwgY2xhc3MgUDE0MSAsIGNsYXNzIFAxNDIgLCBjbGFzcyBQMTQzICwgY2xhc3MgUDE0NCAsIGNsYXNzIFAxNDUgLCBjbGFzcyBQMTQ2ICwgY2xhc3MgUDE0NyAsIGNsYXNzIFAxNDggLCBjbGFzcyBQMTQ5ICwgY2xhc3MgUDE1MCAsIGNsYXNzIFAxNTEgLCBjbGFzcyBQMTUyICwgY2xhc3MgUDE1MyAsIGNsYXNzIFAxNTQgLCBjbGFzcyBQMTU1ICwgY2xhc3MgUDE1NiAsIGNsYXNzIFAxNTcgLCBjbGFzcyBQMTU4ICwgY2xhc3MgUDE1OSAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjE2MDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MCAsIFAxNDEgLCBQMTQyICwgUDE0MyAsIFAxNDQgLCBQMTQ1ICwgUDE0NiAsIFAxNDcgLCBQMTQ4ICwgUDE0OSAsIFAxNTAgLCBQMTUxICwgUDE1MiAsIFAxNTMgLCBQMTU0ICwgUDE1NSAsIFAxNTYgLCBQMTU3ICwgUDE1OCAsIFAxNTk+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjE2MTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MCAsIFAxNDEgLCBQMTQyICwgUDE0MyAsIFAxNDQgLCBQMTQ1ICwgUDE0NiAsIFAxNDcgLCBQMTQ4ICwgUDE0OSAsIFAxNTAgLCBQMTUxICwgUDE1MiAsIFAxNTMgLCBQMTU0ICwgUDE1NSAsIFAxNTYgLCBQMTU3ICwgUDE1OCAsIFAxNTkgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ICwgY2xhc3MgUDk2ICwgY2xhc3MgUDk3ICwgY2xhc3MgUDk4ICwgY2xhc3MgUDk5ICwgY2xhc3MgUDEwMCAsIGNsYXNzIFAxMDEgLCBjbGFzcyBQMTAyICwgY2xhc3MgUDEwMyAsIGNsYXNzIFAxMDQgLCBjbGFzcyBQMTA1ICwgY2xhc3MgUDEwNiAsIGNsYXNzIFAxMDcgLCBjbGFzcyBQMTA4ICwgY2xhc3MgUDEwOSAsIGNsYXNzIFAxMTAgLCBjbGFzcyBQMTExICwgY2xhc3MgUDExMiAsIGNsYXNzIFAxMTMgLCBjbGFzcyBQMTE0ICwgY2xhc3MgUDExNSAsIGNsYXNzIFAxMTYgLCBjbGFzcyBQMTE3ICwgY2xhc3MgUDExOCAsIGNsYXNzIFAxMTkgLCBjbGFzcyBQMTIwICwgY2xhc3MgUDEyMSAsIGNsYXNzIFAxMjIgLCBjbGFzcyBQMTIzICwgY2xhc3MgUDEyNCAsIGNsYXNzIFAxMjUgLCBjbGFzcyBQMTI2ICwgY2xhc3MgUDEyNyAsIGNsYXNzIFAxMjggLCBjbGFzcyBQMTI5ICwgY2xhc3MgUDEzMCAsIGNsYXNzIFAxMzEgLCBjbGFzcyBQMTMyICwgY2xhc3MgUDEzMyAsIGNsYXNzIFAxMzQgLCBjbGFzcyBQMTM1ICwgY2xhc3MgUDEzNiAsIGNsYXNzIFAxMzcgLCBjbGFzcyBQMTM4ICwgY2xhc3MgUDEzOSAsIGNsYXNzIFAxNDAgLCBjbGFzcyBQMTQxICwgY2xhc3MgUDE0MiAsIGNsYXNzIFAxNDMgLCBjbGFzcyBQMTQ0ICwgY2xhc3MgUDE0NSAsIGNsYXNzIFAxNDYgLCBjbGFzcyBQMTQ3ICwgY2xhc3MgUDE0OCAsIGNsYXNzIFAxNDkgLCBjbGFzcyBQMTUwICwgY2xhc3MgUDE1MSAsIGNsYXNzIFAxNTIgLCBjbGFzcyBQMTUzICwgY2xhc3MgUDE1NCAsIGNsYXNzIFAxNTUgLCBjbGFzcyBQMTU2ICwgY2xhc3MgUDE1NyAsIGNsYXNzIFAxNTggLCBjbGFzcyBQMTU5ICwgY2xhc3MgUDE2MCAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjE2MTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MCAsIFAxNDEgLCBQMTQyICwgUDE0MyAsIFAxNDQgLCBQMTQ1ICwgUDE0NiAsIFAxNDcgLCBQMTQ4ICwgUDE0OSAsIFAxNTAgLCBQMTUxICwgUDE1MiAsIFAxNTMgLCBQMTU0ICwgUDE1NSAsIFAxNTYgLCBQMTU3ICwgUDE1OCAsIFAxNTkgLCBQMTYwPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IxNjI8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1ICwgUDk2ICwgUDk3ICwgUDk4ICwgUDk5ICwgUDEwMCAsIFAxMDEgLCBQMTAyICwgUDEwMyAsIFAxMDQgLCBQMTA1ICwgUDEwNiAsIFAxMDcgLCBQMTA4ICwgUDEwOSAsIFAxMTAgLCBQMTExICwgUDExMiAsIFAxMTMgLCBQMTE0ICwgUDExNSAsIFAxMTYgLCBQMTE3ICwgUDExOCAsIFAxMTkgLCBQMTIwICwgUDEyMSAsIFAxMjIgLCBQMTIzICwgUDEyNCAsIFAxMjUgLCBQMTI2ICwgUDEyNyAsIFAxMjggLCBQMTI5ICwgUDEzMCAsIFAxMzEgLCBQMTMyICwgUDEzMyAsIFAxMzQgLCBQMTM1ICwgUDEzNiAsIFAxMzcgLCBQMTM4ICwgUDEzOSAsIFAxNDAgLCBQMTQxICwgUDE0MiAsIFAxNDMgLCBQMTQ0ICwgUDE0NSAsIFAxNDYgLCBQMTQ3ICwgUDE0OCAsIFAxNDkgLCBQMTUwICwgUDE1MSAsIFAxNTIgLCBQMTUzICwgUDE1NCAsIFAxNTUgLCBQMTU2ICwgUDE1NyAsIFAxNTggLCBQMTU5ICwgUDE2MCAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBQOTMgLCBjbGFzcyBQOTQgLCBjbGFzcyBQOTUgLCBjbGFzcyBQOTYgLCBjbGFzcyBQOTcgLCBjbGFzcyBQOTggLCBjbGFzcyBQOTkgLCBjbGFzcyBQMTAwICwgY2xhc3MgUDEwMSAsIGNsYXNzIFAxMDIgLCBjbGFzcyBQMTAzICwgY2xhc3MgUDEwNCAsIGNsYXNzIFAxMDUgLCBjbGFzcyBQMTA2ICwgY2xhc3MgUDEwNyAsIGNsYXNzIFAxMDggLCBjbGFzcyBQMTA5ICwgY2xhc3MgUDExMCAsIGNsYXNzIFAxMTEgLCBjbGFzcyBQMTEyICwgY2xhc3MgUDExMyAsIGNsYXNzIFAxMTQgLCBjbGFzcyBQMTE1ICwgY2xhc3MgUDExNiAsIGNsYXNzIFAxMTcgLCBjbGFzcyBQMTE4ICwgY2xhc3MgUDExOSAsIGNsYXNzIFAxMjAgLCBjbGFzcyBQMTIxICwgY2xhc3MgUDEyMiAsIGNsYXNzIFAxMjMgLCBjbGFzcyBQMTI0ICwgY2xhc3MgUDEyNSAsIGNsYXNzIFAxMjYgLCBjbGFzcyBQMTI3ICwgY2xhc3MgUDEyOCAsIGNsYXNzIFAxMjkgLCBjbGFzcyBQMTMwICwgY2xhc3MgUDEzMSAsIGNsYXNzIFAxMzIgLCBjbGFzcyBQMTMzICwgY2xhc3MgUDEzNCAsIGNsYXNzIFAxMzUgLCBjbGFzcyBQMTM2ICwgY2xhc3MgUDEzNyAsIGNsYXNzIFAxMzggLCBjbGFzcyBQMTM5ICwgY2xhc3MgUDE0MCAsIGNsYXNzIFAxNDEgLCBjbGFzcyBQMTQyICwgY2xhc3MgUDE0MyAsIGNsYXNzIFAxNDQgLCBjbGFzcyBQMTQ1ICwgY2xhc3MgUDE0NiAsIGNsYXNzIFAxNDcgLCBjbGFzcyBQMTQ4ICwgY2xhc3MgUDE0OSAsIGNsYXNzIFAxNTAgLCBjbGFzcyBQMTUxICwgY2xhc3MgUDE1MiAsIGNsYXNzIFAxNTMgLCBjbGFzcyBQMTU0ICwgY2xhc3MgUDE1NSAsIGNsYXNzIFAxNTYgLCBjbGFzcyBQMTU3ICwgY2xhc3MgUDE1OCAsIGNsYXNzIFAxNTkgLCBjbGFzcyBQMTYwICwgY2xhc3MgUDE2MSAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjE2MjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MCAsIFAxNDEgLCBQMTQyICwgUDE0MyAsIFAxNDQgLCBQMTQ1ICwgUDE0NiAsIFAxNDcgLCBQMTQ4ICwgUDE0OSAsIFAxNTAgLCBQMTUxICwgUDE1MiAsIFAxNTMgLCBQMTU0ICwgUDE1NSAsIFAxNTYgLCBQMTU3ICwgUDE1OCAsIFAxNTkgLCBQMTYwICwgUDE2MT4sIFQ+IHsgdHlwZWRlZiBuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMTYzPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFA5MiAsIFA5MyAsIFA5NCAsIFA5NSAsIFA5NiAsIFA5NyAsIFA5OCAsIFA5OSAsIFAxMDAgLCBQMTAxICwgUDEwMiAsIFAxMDMgLCBQMTA0ICwgUDEwNSAsIFAxMDYgLCBQMTA3ICwgUDEwOCAsIFAxMDkgLCBQMTEwICwgUDExMSAsIFAxMTIgLCBQMTEzICwgUDExNCAsIFAxMTUgLCBQMTE2ICwgUDExNyAsIFAxMTggLCBQMTE5ICwgUDEyMCAsIFAxMjEgLCBQMTIyICwgUDEyMyAsIFAxMjQgLCBQMTI1ICwgUDEyNiAsIFAxMjcgLCBQMTI4ICwgUDEyOSAsIFAxMzAgLCBQMTMxICwgUDEzMiAsIFAxMzMgLCBQMTM0ICwgUDEzNSAsIFAxMzYgLCBQMTM3ICwgUDEzOCAsIFAxMzkgLCBQMTQwICwgUDE0MSAsIFAxNDIgLCBQMTQzICwgUDE0NCAsIFAxNDUgLCBQMTQ2ICwgUDE0NyAsIFAxNDggLCBQMTQ5ICwgUDE1MCAsIFAxNTEgLCBQMTUyICwgUDE1MyAsIFAxNTQgLCBQMTU1ICwgUDE1NiAsIFAxNTcgLCBQMTU4ICwgUDE1OSAsIFAxNjAgLCBQMTYxICwgVCA+IHR5cGU7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSAsIGNsYXNzIFA4NiAsIGNsYXNzIFA4NyAsIGNsYXNzIFA4OCAsIGNsYXNzIFA4OSAsIGNsYXNzIFA5MCAsIGNsYXNzIFA5MSAsIGNsYXNzIFA5MiAsIGNsYXNzIFA5MyAsIGNsYXNzIFA5NCAsIGNsYXNzIFA5NSAsIGNsYXNzIFA5NiAsIGNsYXNzIFA5NyAsIGNsYXNzIFA5OCAsIGNsYXNzIFA5OSAsIGNsYXNzIFAxMDAgLCBjbGFzcyBQMTAxICwgY2xhc3MgUDEwMiAsIGNsYXNzIFAxMDMgLCBjbGFzcyBQMTA0ICwgY2xhc3MgUDEwNSAsIGNsYXNzIFAxMDYgLCBjbGFzcyBQMTA3ICwgY2xhc3MgUDEwOCAsIGNsYXNzIFAxMDkgLCBjbGFzcyBQMTEwICwgY2xhc3MgUDExMSAsIGNsYXNzIFAxMTIgLCBjbGFzcyBQMTEzICwgY2xhc3MgUDExNCAsIGNsYXNzIFAxMTUgLCBjbGFzcyBQMTE2ICwgY2xhc3MgUDExNyAsIGNsYXNzIFAxMTggLCBjbGFzcyBQMTE5ICwgY2xhc3MgUDEyMCAsIGNsYXNzIFAxMjEgLCBjbGFzcyBQMTIyICwgY2xhc3MgUDEyMyAsIGNsYXNzIFAxMjQgLCBjbGFzcyBQMTI1ICwgY2xhc3MgUDEyNiAsIGNsYXNzIFAxMjcgLCBjbGFzcyBQMTI4ICwgY2xhc3MgUDEyOSAsIGNsYXNzIFAxMzAgLCBjbGFzcyBQMTMxICwgY2xhc3MgUDEzMiAsIGNsYXNzIFAxMzMgLCBjbGFzcyBQMTM0ICwgY2xhc3MgUDEzNSAsIGNsYXNzIFAxMzYgLCBjbGFzcyBQMTM3ICwgY2xhc3MgUDEzOCAsIGNsYXNzIFAxMzkgLCBjbGFzcyBQMTQwICwgY2xhc3MgUDE0MSAsIGNsYXNzIFAxNDIgLCBjbGFzcyBQMTQzICwgY2xhc3MgUDE0NCAsIGNsYXNzIFAxNDUgLCBjbGFzcyBQMTQ2ICwgY2xhc3MgUDE0NyAsIGNsYXNzIFAxNDggLCBjbGFzcyBQMTQ5ICwgY2xhc3MgUDE1MCAsIGNsYXNzIFAxNTEgLCBjbGFzcyBQMTUyICwgY2xhc3MgUDE1MyAsIGNsYXNzIFAxNTQgLCBjbGFzcyBQMTU1ICwgY2xhc3MgUDE1NiAsIGNsYXNzIFAxNTcgLCBjbGFzcyBQMTU4ICwgY2xhc3MgUDE1OSAsIGNsYXNzIFAxNjAgLCBjbGFzcyBQMTYxICwgY2xhc3MgUDE2MiAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjE2MzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MCAsIFAxNDEgLCBQMTQyICwgUDE0MyAsIFAxNDQgLCBQMTQ1ICwgUDE0NiAsIFAxNDcgLCBQMTQ4ICwgUDE0OSAsIFAxNTAgLCBQMTUxICwgUDE1MiAsIFAxNTMgLCBQMTU0ICwgUDE1NSAsIFAxNTYgLCBQMTU3ICwgUDE1OCAsIFAxNTkgLCBQMTYwICwgUDE2MSAsIFAxNjI+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjE2NDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MCAsIFAxNDEgLCBQMTQyICwgUDE0MyAsIFAxNDQgLCBQMTQ1ICwgUDE0NiAsIFAxNDcgLCBQMTQ4ICwgUDE0OSAsIFAxNTAgLCBQMTUxICwgUDE1MiAsIFAxNTMgLCBQMTU0ICwgUDE1NSAsIFAxNTYgLCBQMTU3ICwgUDE1OCAsIFAxNTkgLCBQMTYwICwgUDE2MSAsIFAxNjIgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ICwgY2xhc3MgUDk2ICwgY2xhc3MgUDk3ICwgY2xhc3MgUDk4ICwgY2xhc3MgUDk5ICwgY2xhc3MgUDEwMCAsIGNsYXNzIFAxMDEgLCBjbGFzcyBQMTAyICwgY2xhc3MgUDEwMyAsIGNsYXNzIFAxMDQgLCBjbGFzcyBQMTA1ICwgY2xhc3MgUDEwNiAsIGNsYXNzIFAxMDcgLCBjbGFzcyBQMTA4ICwgY2xhc3MgUDEwOSAsIGNsYXNzIFAxMTAgLCBjbGFzcyBQMTExICwgY2xhc3MgUDExMiAsIGNsYXNzIFAxMTMgLCBjbGFzcyBQMTE0ICwgY2xhc3MgUDExNSAsIGNsYXNzIFAxMTYgLCBjbGFzcyBQMTE3ICwgY2xhc3MgUDExOCAsIGNsYXNzIFAxMTkgLCBjbGFzcyBQMTIwICwgY2xhc3MgUDEyMSAsIGNsYXNzIFAxMjIgLCBjbGFzcyBQMTIzICwgY2xhc3MgUDEyNCAsIGNsYXNzIFAxMjUgLCBjbGFzcyBQMTI2ICwgY2xhc3MgUDEyNyAsIGNsYXNzIFAxMjggLCBjbGFzcyBQMTI5ICwgY2xhc3MgUDEzMCAsIGNsYXNzIFAxMzEgLCBjbGFzcyBQMTMyICwgY2xhc3MgUDEzMyAsIGNsYXNzIFAxMzQgLCBjbGFzcyBQMTM1ICwgY2xhc3MgUDEzNiAsIGNsYXNzIFAxMzcgLCBjbGFzcyBQMTM4ICwgY2xhc3MgUDEzOSAsIGNsYXNzIFAxNDAgLCBjbGFzcyBQMTQxICwgY2xhc3MgUDE0MiAsIGNsYXNzIFAxNDMgLCBjbGFzcyBQMTQ0ICwgY2xhc3MgUDE0NSAsIGNsYXNzIFAxNDYgLCBjbGFzcyBQMTQ3ICwgY2xhc3MgUDE0OCAsIGNsYXNzIFAxNDkgLCBjbGFzcyBQMTUwICwgY2xhc3MgUDE1MSAsIGNsYXNzIFAxNTIgLCBjbGFzcyBQMTUzICwgY2xhc3MgUDE1NCAsIGNsYXNzIFAxNTUgLCBjbGFzcyBQMTU2ICwgY2xhc3MgUDE1NyAsIGNsYXNzIFAxNTggLCBjbGFzcyBQMTU5ICwgY2xhc3MgUDE2MCAsIGNsYXNzIFAxNjEgLCBjbGFzcyBQMTYyICwgY2xhc3MgUDE2MyAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjE2NDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MCAsIFAxNDEgLCBQMTQyICwgUDE0MyAsIFAxNDQgLCBQMTQ1ICwgUDE0NiAsIFAxNDcgLCBQMTQ4ICwgUDE0OSAsIFAxNTAgLCBQMTUxICwgUDE1MiAsIFAxNTMgLCBQMTU0ICwgUDE1NSAsIFAxNTYgLCBQMTU3ICwgUDE1OCAsIFAxNTkgLCBQMTYwICwgUDE2MSAsIFAxNjIgLCBQMTYzPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IxNjU8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1ICwgUDk2ICwgUDk3ICwgUDk4ICwgUDk5ICwgUDEwMCAsIFAxMDEgLCBQMTAyICwgUDEwMyAsIFAxMDQgLCBQMTA1ICwgUDEwNiAsIFAxMDcgLCBQMTA4ICwgUDEwOSAsIFAxMTAgLCBQMTExICwgUDExMiAsIFAxMTMgLCBQMTE0ICwgUDExNSAsIFAxMTYgLCBQMTE3ICwgUDExOCAsIFAxMTkgLCBQMTIwICwgUDEyMSAsIFAxMjIgLCBQMTIzICwgUDEyNCAsIFAxMjUgLCBQMTI2ICwgUDEyNyAsIFAxMjggLCBQMTI5ICwgUDEzMCAsIFAxMzEgLCBQMTMyICwgUDEzMyAsIFAxMzQgLCBQMTM1ICwgUDEzNiAsIFAxMzcgLCBQMTM4ICwgUDEzOSAsIFAxNDAgLCBQMTQxICwgUDE0MiAsIFAxNDMgLCBQMTQ0ICwgUDE0NSAsIFAxNDYgLCBQMTQ3ICwgUDE0OCAsIFAxNDkgLCBQMTUwICwgUDE1MSAsIFAxNTIgLCBQMTUzICwgUDE1NCAsIFAxNTUgLCBQMTU2ICwgUDE1NyAsIFAxNTggLCBQMTU5ICwgUDE2MCAsIFAxNjEgLCBQMTYyICwgUDE2MyAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBQOTMgLCBjbGFzcyBQOTQgLCBjbGFzcyBQOTUgLCBjbGFzcyBQOTYgLCBjbGFzcyBQOTcgLCBjbGFzcyBQOTggLCBjbGFzcyBQOTkgLCBjbGFzcyBQMTAwICwgY2xhc3MgUDEwMSAsIGNsYXNzIFAxMDIgLCBjbGFzcyBQMTAzICwgY2xhc3MgUDEwNCAsIGNsYXNzIFAxMDUgLCBjbGFzcyBQMTA2ICwgY2xhc3MgUDEwNyAsIGNsYXNzIFAxMDggLCBjbGFzcyBQMTA5ICwgY2xhc3MgUDExMCAsIGNsYXNzIFAxMTEgLCBjbGFzcyBQMTEyICwgY2xhc3MgUDExMyAsIGNsYXNzIFAxMTQgLCBjbGFzcyBQMTE1ICwgY2xhc3MgUDExNiAsIGNsYXNzIFAxMTcgLCBjbGFzcyBQMTE4ICwgY2xhc3MgUDExOSAsIGNsYXNzIFAxMjAgLCBjbGFzcyBQMTIxICwgY2xhc3MgUDEyMiAsIGNsYXNzIFAxMjMgLCBjbGFzcyBQMTI0ICwgY2xhc3MgUDEyNSAsIGNsYXNzIFAxMjYgLCBjbGFzcyBQMTI3ICwgY2xhc3MgUDEyOCAsIGNsYXNzIFAxMjkgLCBjbGFzcyBQMTMwICwgY2xhc3MgUDEzMSAsIGNsYXNzIFAxMzIgLCBjbGFzcyBQMTMzICwgY2xhc3MgUDEzNCAsIGNsYXNzIFAxMzUgLCBjbGFzcyBQMTM2ICwgY2xhc3MgUDEzNyAsIGNsYXNzIFAxMzggLCBjbGFzcyBQMTM5ICwgY2xhc3MgUDE0MCAsIGNsYXNzIFAxNDEgLCBjbGFzcyBQMTQyICwgY2xhc3MgUDE0MyAsIGNsYXNzIFAxNDQgLCBjbGFzcyBQMTQ1ICwgY2xhc3MgUDE0NiAsIGNsYXNzIFAxNDcgLCBjbGFzcyBQMTQ4ICwgY2xhc3MgUDE0OSAsIGNsYXNzIFAxNTAgLCBjbGFzcyBQMTUxICwgY2xhc3MgUDE1MiAsIGNsYXNzIFAxNTMgLCBjbGFzcyBQMTU0ICwgY2xhc3MgUDE1NSAsIGNsYXNzIFAxNTYgLCBjbGFzcyBQMTU3ICwgY2xhc3MgUDE1OCAsIGNsYXNzIFAxNTkgLCBjbGFzcyBQMTYwICwgY2xhc3MgUDE2MSAsIGNsYXNzIFAxNjIgLCBjbGFzcyBQMTYzICwgY2xhc3MgUDE2NCAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjE2NTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MCAsIFAxNDEgLCBQMTQyICwgUDE0MyAsIFAxNDQgLCBQMTQ1ICwgUDE0NiAsIFAxNDcgLCBQMTQ4ICwgUDE0OSAsIFAxNTAgLCBQMTUxICwgUDE1MiAsIFAxNTMgLCBQMTU0ICwgUDE1NSAsIFAxNTYgLCBQMTU3ICwgUDE1OCAsIFAxNTkgLCBQMTYwICwgUDE2MSAsIFAxNjIgLCBQMTYzICwgUDE2ND4sIFQ+IHsgdHlwZWRlZiBuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMTY2PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFA5MiAsIFA5MyAsIFA5NCAsIFA5NSAsIFA5NiAsIFA5NyAsIFA5OCAsIFA5OSAsIFAxMDAgLCBQMTAxICwgUDEwMiAsIFAxMDMgLCBQMTA0ICwgUDEwNSAsIFAxMDYgLCBQMTA3ICwgUDEwOCAsIFAxMDkgLCBQMTEwICwgUDExMSAsIFAxMTIgLCBQMTEzICwgUDExNCAsIFAxMTUgLCBQMTE2ICwgUDExNyAsIFAxMTggLCBQMTE5ICwgUDEyMCAsIFAxMjEgLCBQMTIyICwgUDEyMyAsIFAxMjQgLCBQMTI1ICwgUDEyNiAsIFAxMjcgLCBQMTI4ICwgUDEyOSAsIFAxMzAgLCBQMTMxICwgUDEzMiAsIFAxMzMgLCBQMTM0ICwgUDEzNSAsIFAxMzYgLCBQMTM3ICwgUDEzOCAsIFAxMzkgLCBQMTQwICwgUDE0MSAsIFAxNDIgLCBQMTQzICwgUDE0NCAsIFAxNDUgLCBQMTQ2ICwgUDE0NyAsIFAxNDggLCBQMTQ5ICwgUDE1MCAsIFAxNTEgLCBQMTUyICwgUDE1MyAsIFAxNTQgLCBQMTU1ICwgUDE1NiAsIFAxNTcgLCBQMTU4ICwgUDE1OSAsIFAxNjAgLCBQMTYxICwgUDE2MiAsIFAxNjMgLCBQMTY0ICwgVCA+IHR5cGU7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSAsIGNsYXNzIFA4NiAsIGNsYXNzIFA4NyAsIGNsYXNzIFA4OCAsIGNsYXNzIFA4OSAsIGNsYXNzIFA5MCAsIGNsYXNzIFA5MSAsIGNsYXNzIFA5MiAsIGNsYXNzIFA5MyAsIGNsYXNzIFA5NCAsIGNsYXNzIFA5NSAsIGNsYXNzIFA5NiAsIGNsYXNzIFA5NyAsIGNsYXNzIFA5OCAsIGNsYXNzIFA5OSAsIGNsYXNzIFAxMDAgLCBjbGFzcyBQMTAxICwgY2xhc3MgUDEwMiAsIGNsYXNzIFAxMDMgLCBjbGFzcyBQMTA0ICwgY2xhc3MgUDEwNSAsIGNsYXNzIFAxMDYgLCBjbGFzcyBQMTA3ICwgY2xhc3MgUDEwOCAsIGNsYXNzIFAxMDkgLCBjbGFzcyBQMTEwICwgY2xhc3MgUDExMSAsIGNsYXNzIFAxMTIgLCBjbGFzcyBQMTEzICwgY2xhc3MgUDExNCAsIGNsYXNzIFAxMTUgLCBjbGFzcyBQMTE2ICwgY2xhc3MgUDExNyAsIGNsYXNzIFAxMTggLCBjbGFzcyBQMTE5ICwgY2xhc3MgUDEyMCAsIGNsYXNzIFAxMjEgLCBjbGFzcyBQMTIyICwgY2xhc3MgUDEyMyAsIGNsYXNzIFAxMjQgLCBjbGFzcyBQMTI1ICwgY2xhc3MgUDEyNiAsIGNsYXNzIFAxMjcgLCBjbGFzcyBQMTI4ICwgY2xhc3MgUDEyOSAsIGNsYXNzIFAxMzAgLCBjbGFzcyBQMTMxICwgY2xhc3MgUDEzMiAsIGNsYXNzIFAxMzMgLCBjbGFzcyBQMTM0ICwgY2xhc3MgUDEzNSAsIGNsYXNzIFAxMzYgLCBjbGFzcyBQMTM3ICwgY2xhc3MgUDEzOCAsIGNsYXNzIFAxMzkgLCBjbGFzcyBQMTQwICwgY2xhc3MgUDE0MSAsIGNsYXNzIFAxNDIgLCBjbGFzcyBQMTQzICwgY2xhc3MgUDE0NCAsIGNsYXNzIFAxNDUgLCBjbGFzcyBQMTQ2ICwgY2xhc3MgUDE0NyAsIGNsYXNzIFAxNDggLCBjbGFzcyBQMTQ5ICwgY2xhc3MgUDE1MCAsIGNsYXNzIFAxNTEgLCBjbGFzcyBQMTUyICwgY2xhc3MgUDE1MyAsIGNsYXNzIFAxNTQgLCBjbGFzcyBQMTU1ICwgY2xhc3MgUDE1NiAsIGNsYXNzIFAxNTcgLCBjbGFzcyBQMTU4ICwgY2xhc3MgUDE1OSAsIGNsYXNzIFAxNjAgLCBjbGFzcyBQMTYxICwgY2xhc3MgUDE2MiAsIGNsYXNzIFAxNjMgLCBjbGFzcyBQMTY0ICwgY2xhc3MgUDE2NSAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjE2NjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MCAsIFAxNDEgLCBQMTQyICwgUDE0MyAsIFAxNDQgLCBQMTQ1ICwgUDE0NiAsIFAxNDcgLCBQMTQ4ICwgUDE0OSAsIFAxNTAgLCBQMTUxICwgUDE1MiAsIFAxNTMgLCBQMTU0ICwgUDE1NSAsIFAxNTYgLCBQMTU3ICwgUDE1OCAsIFAxNTkgLCBQMTYwICwgUDE2MSAsIFAxNjIgLCBQMTYzICwgUDE2NCAsIFAxNjU+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjE2NzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MCAsIFAxNDEgLCBQMTQyICwgUDE0MyAsIFAxNDQgLCBQMTQ1ICwgUDE0NiAsIFAxNDcgLCBQMTQ4ICwgUDE0OSAsIFAxNTAgLCBQMTUxICwgUDE1MiAsIFAxNTMgLCBQMTU0ICwgUDE1NSAsIFAxNTYgLCBQMTU3ICwgUDE1OCAsIFAxNTkgLCBQMTYwICwgUDE2MSAsIFAxNjIgLCBQMTYzICwgUDE2NCAsIFAxNjUgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ICwgY2xhc3MgUDk2ICwgY2xhc3MgUDk3ICwgY2xhc3MgUDk4ICwgY2xhc3MgUDk5ICwgY2xhc3MgUDEwMCAsIGNsYXNzIFAxMDEgLCBjbGFzcyBQMTAyICwgY2xhc3MgUDEwMyAsIGNsYXNzIFAxMDQgLCBjbGFzcyBQMTA1ICwgY2xhc3MgUDEwNiAsIGNsYXNzIFAxMDcgLCBjbGFzcyBQMTA4ICwgY2xhc3MgUDEwOSAsIGNsYXNzIFAxMTAgLCBjbGFzcyBQMTExICwgY2xhc3MgUDExMiAsIGNsYXNzIFAxMTMgLCBjbGFzcyBQMTE0ICwgY2xhc3MgUDExNSAsIGNsYXNzIFAxMTYgLCBjbGFzcyBQMTE3ICwgY2xhc3MgUDExOCAsIGNsYXNzIFAxMTkgLCBjbGFzcyBQMTIwICwgY2xhc3MgUDEyMSAsIGNsYXNzIFAxMjIgLCBjbGFzcyBQMTIzICwgY2xhc3MgUDEyNCAsIGNsYXNzIFAxMjUgLCBjbGFzcyBQMTI2ICwgY2xhc3MgUDEyNyAsIGNsYXNzIFAxMjggLCBjbGFzcyBQMTI5ICwgY2xhc3MgUDEzMCAsIGNsYXNzIFAxMzEgLCBjbGFzcyBQMTMyICwgY2xhc3MgUDEzMyAsIGNsYXNzIFAxMzQgLCBjbGFzcyBQMTM1ICwgY2xhc3MgUDEzNiAsIGNsYXNzIFAxMzcgLCBjbGFzcyBQMTM4ICwgY2xhc3MgUDEzOSAsIGNsYXNzIFAxNDAgLCBjbGFzcyBQMTQxICwgY2xhc3MgUDE0MiAsIGNsYXNzIFAxNDMgLCBjbGFzcyBQMTQ0ICwgY2xhc3MgUDE0NSAsIGNsYXNzIFAxNDYgLCBjbGFzcyBQMTQ3ICwgY2xhc3MgUDE0OCAsIGNsYXNzIFAxNDkgLCBjbGFzcyBQMTUwICwgY2xhc3MgUDE1MSAsIGNsYXNzIFAxNTIgLCBjbGFzcyBQMTUzICwgY2xhc3MgUDE1NCAsIGNsYXNzIFAxNTUgLCBjbGFzcyBQMTU2ICwgY2xhc3MgUDE1NyAsIGNsYXNzIFAxNTggLCBjbGFzcyBQMTU5ICwgY2xhc3MgUDE2MCAsIGNsYXNzIFAxNjEgLCBjbGFzcyBQMTYyICwgY2xhc3MgUDE2MyAsIGNsYXNzIFAxNjQgLCBjbGFzcyBQMTY1ICwgY2xhc3MgUDE2NiAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjE2NzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MCAsIFAxNDEgLCBQMTQyICwgUDE0MyAsIFAxNDQgLCBQMTQ1ICwgUDE0NiAsIFAxNDcgLCBQMTQ4ICwgUDE0OSAsIFAxNTAgLCBQMTUxICwgUDE1MiAsIFAxNTMgLCBQMTU0ICwgUDE1NSAsIFAxNTYgLCBQMTU3ICwgUDE1OCAsIFAxNTkgLCBQMTYwICwgUDE2MSAsIFAxNjIgLCBQMTYzICwgUDE2NCAsIFAxNjUgLCBQMTY2PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IxNjg8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1ICwgUDk2ICwgUDk3ICwgUDk4ICwgUDk5ICwgUDEwMCAsIFAxMDEgLCBQMTAyICwgUDEwMyAsIFAxMDQgLCBQMTA1ICwgUDEwNiAsIFAxMDcgLCBQMTA4ICwgUDEwOSAsIFAxMTAgLCBQMTExICwgUDExMiAsIFAxMTMgLCBQMTE0ICwgUDExNSAsIFAxMTYgLCBQMTE3ICwgUDExOCAsIFAxMTkgLCBQMTIwICwgUDEyMSAsIFAxMjIgLCBQMTIzICwgUDEyNCAsIFAxMjUgLCBQMTI2ICwgUDEyNyAsIFAxMjggLCBQMTI5ICwgUDEzMCAsIFAxMzEgLCBQMTMyICwgUDEzMyAsIFAxMzQgLCBQMTM1ICwgUDEzNiAsIFAxMzcgLCBQMTM4ICwgUDEzOSAsIFAxNDAgLCBQMTQxICwgUDE0MiAsIFAxNDMgLCBQMTQ0ICwgUDE0NSAsIFAxNDYgLCBQMTQ3ICwgUDE0OCAsIFAxNDkgLCBQMTUwICwgUDE1MSAsIFAxNTIgLCBQMTUzICwgUDE1NCAsIFAxNTUgLCBQMTU2ICwgUDE1NyAsIFAxNTggLCBQMTU5ICwgUDE2MCAsIFAxNjEgLCBQMTYyICwgUDE2MyAsIFAxNjQgLCBQMTY1ICwgUDE2NiAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBQOTMgLCBjbGFzcyBQOTQgLCBjbGFzcyBQOTUgLCBjbGFzcyBQOTYgLCBjbGFzcyBQOTcgLCBjbGFzcyBQOTggLCBjbGFzcyBQOTkgLCBjbGFzcyBQMTAwICwgY2xhc3MgUDEwMSAsIGNsYXNzIFAxMDIgLCBjbGFzcyBQMTAzICwgY2xhc3MgUDEwNCAsIGNsYXNzIFAxMDUgLCBjbGFzcyBQMTA2ICwgY2xhc3MgUDEwNyAsIGNsYXNzIFAxMDggLCBjbGFzcyBQMTA5ICwgY2xhc3MgUDExMCAsIGNsYXNzIFAxMTEgLCBjbGFzcyBQMTEyICwgY2xhc3MgUDExMyAsIGNsYXNzIFAxMTQgLCBjbGFzcyBQMTE1ICwgY2xhc3MgUDExNiAsIGNsYXNzIFAxMTcgLCBjbGFzcyBQMTE4ICwgY2xhc3MgUDExOSAsIGNsYXNzIFAxMjAgLCBjbGFzcyBQMTIxICwgY2xhc3MgUDEyMiAsIGNsYXNzIFAxMjMgLCBjbGFzcyBQMTI0ICwgY2xhc3MgUDEyNSAsIGNsYXNzIFAxMjYgLCBjbGFzcyBQMTI3ICwgY2xhc3MgUDEyOCAsIGNsYXNzIFAxMjkgLCBjbGFzcyBQMTMwICwgY2xhc3MgUDEzMSAsIGNsYXNzIFAxMzIgLCBjbGFzcyBQMTMzICwgY2xhc3MgUDEzNCAsIGNsYXNzIFAxMzUgLCBjbGFzcyBQMTM2ICwgY2xhc3MgUDEzNyAsIGNsYXNzIFAxMzggLCBjbGFzcyBQMTM5ICwgY2xhc3MgUDE0MCAsIGNsYXNzIFAxNDEgLCBjbGFzcyBQMTQyICwgY2xhc3MgUDE0MyAsIGNsYXNzIFAxNDQgLCBjbGFzcyBQMTQ1ICwgY2xhc3MgUDE0NiAsIGNsYXNzIFAxNDcgLCBjbGFzcyBQMTQ4ICwgY2xhc3MgUDE0OSAsIGNsYXNzIFAxNTAgLCBjbGFzcyBQMTUxICwgY2xhc3MgUDE1MiAsIGNsYXNzIFAxNTMgLCBjbGFzcyBQMTU0ICwgY2xhc3MgUDE1NSAsIGNsYXNzIFAxNTYgLCBjbGFzcyBQMTU3ICwgY2xhc3MgUDE1OCAsIGNsYXNzIFAxNTkgLCBjbGFzcyBQMTYwICwgY2xhc3MgUDE2MSAsIGNsYXNzIFAxNjIgLCBjbGFzcyBQMTYzICwgY2xhc3MgUDE2NCAsIGNsYXNzIFAxNjUgLCBjbGFzcyBQMTY2ICwgY2xhc3MgUDE2NyAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjE2ODwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MCAsIFAxNDEgLCBQMTQyICwgUDE0MyAsIFAxNDQgLCBQMTQ1ICwgUDE0NiAsIFAxNDcgLCBQMTQ4ICwgUDE0OSAsIFAxNTAgLCBQMTUxICwgUDE1MiAsIFAxNTMgLCBQMTU0ICwgUDE1NSAsIFAxNTYgLCBQMTU3ICwgUDE1OCAsIFAxNTkgLCBQMTYwICwgUDE2MSAsIFAxNjIgLCBQMTYzICwgUDE2NCAsIFAxNjUgLCBQMTY2ICwgUDE2Nz4sIFQ+IHsgdHlwZWRlZiBuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMTY5PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFA5MiAsIFA5MyAsIFA5NCAsIFA5NSAsIFA5NiAsIFA5NyAsIFA5OCAsIFA5OSAsIFAxMDAgLCBQMTAxICwgUDEwMiAsIFAxMDMgLCBQMTA0ICwgUDEwNSAsIFAxMDYgLCBQMTA3ICwgUDEwOCAsIFAxMDkgLCBQMTEwICwgUDExMSAsIFAxMTIgLCBQMTEzICwgUDExNCAsIFAxMTUgLCBQMTE2ICwgUDExNyAsIFAxMTggLCBQMTE5ICwgUDEyMCAsIFAxMjEgLCBQMTIyICwgUDEyMyAsIFAxMjQgLCBQMTI1ICwgUDEyNiAsIFAxMjcgLCBQMTI4ICwgUDEyOSAsIFAxMzAgLCBQMTMxICwgUDEzMiAsIFAxMzMgLCBQMTM0ICwgUDEzNSAsIFAxMzYgLCBQMTM3ICwgUDEzOCAsIFAxMzkgLCBQMTQwICwgUDE0MSAsIFAxNDIgLCBQMTQzICwgUDE0NCAsIFAxNDUgLCBQMTQ2ICwgUDE0NyAsIFAxNDggLCBQMTQ5ICwgUDE1MCAsIFAxNTEgLCBQMTUyICwgUDE1MyAsIFAxNTQgLCBQMTU1ICwgUDE1NiAsIFAxNTcgLCBQMTU4ICwgUDE1OSAsIFAxNjAgLCBQMTYxICwgUDE2MiAsIFAxNjMgLCBQMTY0ICwgUDE2NSAsIFAxNjYgLCBQMTY3ICwgVCA+IHR5cGU7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSAsIGNsYXNzIFA4NiAsIGNsYXNzIFA4NyAsIGNsYXNzIFA4OCAsIGNsYXNzIFA4OSAsIGNsYXNzIFA5MCAsIGNsYXNzIFA5MSAsIGNsYXNzIFA5MiAsIGNsYXNzIFA5MyAsIGNsYXNzIFA5NCAsIGNsYXNzIFA5NSAsIGNsYXNzIFA5NiAsIGNsYXNzIFA5NyAsIGNsYXNzIFA5OCAsIGNsYXNzIFA5OSAsIGNsYXNzIFAxMDAgLCBjbGFzcyBQMTAxICwgY2xhc3MgUDEwMiAsIGNsYXNzIFAxMDMgLCBjbGFzcyBQMTA0ICwgY2xhc3MgUDEwNSAsIGNsYXNzIFAxMDYgLCBjbGFzcyBQMTA3ICwgY2xhc3MgUDEwOCAsIGNsYXNzIFAxMDkgLCBjbGFzcyBQMTEwICwgY2xhc3MgUDExMSAsIGNsYXNzIFAxMTIgLCBjbGFzcyBQMTEzICwgY2xhc3MgUDExNCAsIGNsYXNzIFAxMTUgLCBjbGFzcyBQMTE2ICwgY2xhc3MgUDExNyAsIGNsYXNzIFAxMTggLCBjbGFzcyBQMTE5ICwgY2xhc3MgUDEyMCAsIGNsYXNzIFAxMjEgLCBjbGFzcyBQMTIyICwgY2xhc3MgUDEyMyAsIGNsYXNzIFAxMjQgLCBjbGFzcyBQMTI1ICwgY2xhc3MgUDEyNiAsIGNsYXNzIFAxMjcgLCBjbGFzcyBQMTI4ICwgY2xhc3MgUDEyOSAsIGNsYXNzIFAxMzAgLCBjbGFzcyBQMTMxICwgY2xhc3MgUDEzMiAsIGNsYXNzIFAxMzMgLCBjbGFzcyBQMTM0ICwgY2xhc3MgUDEzNSAsIGNsYXNzIFAxMzYgLCBjbGFzcyBQMTM3ICwgY2xhc3MgUDEzOCAsIGNsYXNzIFAxMzkgLCBjbGFzcyBQMTQwICwgY2xhc3MgUDE0MSAsIGNsYXNzIFAxNDIgLCBjbGFzcyBQMTQzICwgY2xhc3MgUDE0NCAsIGNsYXNzIFAxNDUgLCBjbGFzcyBQMTQ2ICwgY2xhc3MgUDE0NyAsIGNsYXNzIFAxNDggLCBjbGFzcyBQMTQ5ICwgY2xhc3MgUDE1MCAsIGNsYXNzIFAxNTEgLCBjbGFzcyBQMTUyICwgY2xhc3MgUDE1MyAsIGNsYXNzIFAxNTQgLCBjbGFzcyBQMTU1ICwgY2xhc3MgUDE1NiAsIGNsYXNzIFAxNTcgLCBjbGFzcyBQMTU4ICwgY2xhc3MgUDE1OSAsIGNsYXNzIFAxNjAgLCBjbGFzcyBQMTYxICwgY2xhc3MgUDE2MiAsIGNsYXNzIFAxNjMgLCBjbGFzcyBQMTY0ICwgY2xhc3MgUDE2NSAsIGNsYXNzIFAxNjYgLCBjbGFzcyBQMTY3ICwgY2xhc3MgUDE2OCAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjE2OTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MCAsIFAxNDEgLCBQMTQyICwgUDE0MyAsIFAxNDQgLCBQMTQ1ICwgUDE0NiAsIFAxNDcgLCBQMTQ4ICwgUDE0OSAsIFAxNTAgLCBQMTUxICwgUDE1MiAsIFAxNTMgLCBQMTU0ICwgUDE1NSAsIFAxNTYgLCBQMTU3ICwgUDE1OCAsIFAxNTkgLCBQMTYwICwgUDE2MSAsIFAxNjIgLCBQMTYzICwgUDE2NCAsIFAxNjUgLCBQMTY2ICwgUDE2NyAsIFAxNjg+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjE3MDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MCAsIFAxNDEgLCBQMTQyICwgUDE0MyAsIFAxNDQgLCBQMTQ1ICwgUDE0NiAsIFAxNDcgLCBQMTQ4ICwgUDE0OSAsIFAxNTAgLCBQMTUxICwgUDE1MiAsIFAxNTMgLCBQMTU0ICwgUDE1NSAsIFAxNTYgLCBQMTU3ICwgUDE1OCAsIFAxNTkgLCBQMTYwICwgUDE2MSAsIFAxNjIgLCBQMTYzICwgUDE2NCAsIFAxNjUgLCBQMTY2ICwgUDE2NyAsIFAxNjggLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ICwgY2xhc3MgUDk2ICwgY2xhc3MgUDk3ICwgY2xhc3MgUDk4ICwgY2xhc3MgUDk5ICwgY2xhc3MgUDEwMCAsIGNsYXNzIFAxMDEgLCBjbGFzcyBQMTAyICwgY2xhc3MgUDEwMyAsIGNsYXNzIFAxMDQgLCBjbGFzcyBQMTA1ICwgY2xhc3MgUDEwNiAsIGNsYXNzIFAxMDcgLCBjbGFzcyBQMTA4ICwgY2xhc3MgUDEwOSAsIGNsYXNzIFAxMTAgLCBjbGFzcyBQMTExICwgY2xhc3MgUDExMiAsIGNsYXNzIFAxMTMgLCBjbGFzcyBQMTE0ICwgY2xhc3MgUDExNSAsIGNsYXNzIFAxMTYgLCBjbGFzcyBQMTE3ICwgY2xhc3MgUDExOCAsIGNsYXNzIFAxMTkgLCBjbGFzcyBQMTIwICwgY2xhc3MgUDEyMSAsIGNsYXNzIFAxMjIgLCBjbGFzcyBQMTIzICwgY2xhc3MgUDEyNCAsIGNsYXNzIFAxMjUgLCBjbGFzcyBQMTI2ICwgY2xhc3MgUDEyNyAsIGNsYXNzIFAxMjggLCBjbGFzcyBQMTI5ICwgY2xhc3MgUDEzMCAsIGNsYXNzIFAxMzEgLCBjbGFzcyBQMTMyICwgY2xhc3MgUDEzMyAsIGNsYXNzIFAxMzQgLCBjbGFzcyBQMTM1ICwgY2xhc3MgUDEzNiAsIGNsYXNzIFAxMzcgLCBjbGFzcyBQMTM4ICwgY2xhc3MgUDEzOSAsIGNsYXNzIFAxNDAgLCBjbGFzcyBQMTQxICwgY2xhc3MgUDE0MiAsIGNsYXNzIFAxNDMgLCBjbGFzcyBQMTQ0ICwgY2xhc3MgUDE0NSAsIGNsYXNzIFAxNDYgLCBjbGFzcyBQMTQ3ICwgY2xhc3MgUDE0OCAsIGNsYXNzIFAxNDkgLCBjbGFzcyBQMTUwICwgY2xhc3MgUDE1MSAsIGNsYXNzIFAxNTIgLCBjbGFzcyBQMTUzICwgY2xhc3MgUDE1NCAsIGNsYXNzIFAxNTUgLCBjbGFzcyBQMTU2ICwgY2xhc3MgUDE1NyAsIGNsYXNzIFAxNTggLCBjbGFzcyBQMTU5ICwgY2xhc3MgUDE2MCAsIGNsYXNzIFAxNjEgLCBjbGFzcyBQMTYyICwgY2xhc3MgUDE2MyAsIGNsYXNzIFAxNjQgLCBjbGFzcyBQMTY1ICwgY2xhc3MgUDE2NiAsIGNsYXNzIFAxNjcgLCBjbGFzcyBQMTY4ICwgY2xhc3MgUDE2OSAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjE3MDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MCAsIFAxNDEgLCBQMTQyICwgUDE0MyAsIFAxNDQgLCBQMTQ1ICwgUDE0NiAsIFAxNDcgLCBQMTQ4ICwgUDE0OSAsIFAxNTAgLCBQMTUxICwgUDE1MiAsIFAxNTMgLCBQMTU0ICwgUDE1NSAsIFAxNTYgLCBQMTU3ICwgUDE1OCAsIFAxNTkgLCBQMTYwICwgUDE2MSAsIFAxNjIgLCBQMTYzICwgUDE2NCAsIFAxNjUgLCBQMTY2ICwgUDE2NyAsIFAxNjggLCBQMTY5PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IxNzE8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1ICwgUDk2ICwgUDk3ICwgUDk4ICwgUDk5ICwgUDEwMCAsIFAxMDEgLCBQMTAyICwgUDEwMyAsIFAxMDQgLCBQMTA1ICwgUDEwNiAsIFAxMDcgLCBQMTA4ICwgUDEwOSAsIFAxMTAgLCBQMTExICwgUDExMiAsIFAxMTMgLCBQMTE0ICwgUDExNSAsIFAxMTYgLCBQMTE3ICwgUDExOCAsIFAxMTkgLCBQMTIwICwgUDEyMSAsIFAxMjIgLCBQMTIzICwgUDEyNCAsIFAxMjUgLCBQMTI2ICwgUDEyNyAsIFAxMjggLCBQMTI5ICwgUDEzMCAsIFAxMzEgLCBQMTMyICwgUDEzMyAsIFAxMzQgLCBQMTM1ICwgUDEzNiAsIFAxMzcgLCBQMTM4ICwgUDEzOSAsIFAxNDAgLCBQMTQxICwgUDE0MiAsIFAxNDMgLCBQMTQ0ICwgUDE0NSAsIFAxNDYgLCBQMTQ3ICwgUDE0OCAsIFAxNDkgLCBQMTUwICwgUDE1MSAsIFAxNTIgLCBQMTUzICwgUDE1NCAsIFAxNTUgLCBQMTU2ICwgUDE1NyAsIFAxNTggLCBQMTU5ICwgUDE2MCAsIFAxNjEgLCBQMTYyICwgUDE2MyAsIFAxNjQgLCBQMTY1ICwgUDE2NiAsIFAxNjcgLCBQMTY4ICwgUDE2OSAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBQOTMgLCBjbGFzcyBQOTQgLCBjbGFzcyBQOTUgLCBjbGFzcyBQOTYgLCBjbGFzcyBQOTcgLCBjbGFzcyBQOTggLCBjbGFzcyBQOTkgLCBjbGFzcyBQMTAwICwgY2xhc3MgUDEwMSAsIGNsYXNzIFAxMDIgLCBjbGFzcyBQMTAzICwgY2xhc3MgUDEwNCAsIGNsYXNzIFAxMDUgLCBjbGFzcyBQMTA2ICwgY2xhc3MgUDEwNyAsIGNsYXNzIFAxMDggLCBjbGFzcyBQMTA5ICwgY2xhc3MgUDExMCAsIGNsYXNzIFAxMTEgLCBjbGFzcyBQMTEyICwgY2xhc3MgUDExMyAsIGNsYXNzIFAxMTQgLCBjbGFzcyBQMTE1ICwgY2xhc3MgUDExNiAsIGNsYXNzIFAxMTcgLCBjbGFzcyBQMTE4ICwgY2xhc3MgUDExOSAsIGNsYXNzIFAxMjAgLCBjbGFzcyBQMTIxICwgY2xhc3MgUDEyMiAsIGNsYXNzIFAxMjMgLCBjbGFzcyBQMTI0ICwgY2xhc3MgUDEyNSAsIGNsYXNzIFAxMjYgLCBjbGFzcyBQMTI3ICwgY2xhc3MgUDEyOCAsIGNsYXNzIFAxMjkgLCBjbGFzcyBQMTMwICwgY2xhc3MgUDEzMSAsIGNsYXNzIFAxMzIgLCBjbGFzcyBQMTMzICwgY2xhc3MgUDEzNCAsIGNsYXNzIFAxMzUgLCBjbGFzcyBQMTM2ICwgY2xhc3MgUDEzNyAsIGNsYXNzIFAxMzggLCBjbGFzcyBQMTM5ICwgY2xhc3MgUDE0MCAsIGNsYXNzIFAxNDEgLCBjbGFzcyBQMTQyICwgY2xhc3MgUDE0MyAsIGNsYXNzIFAxNDQgLCBjbGFzcyBQMTQ1ICwgY2xhc3MgUDE0NiAsIGNsYXNzIFAxNDcgLCBjbGFzcyBQMTQ4ICwgY2xhc3MgUDE0OSAsIGNsYXNzIFAxNTAgLCBjbGFzcyBQMTUxICwgY2xhc3MgUDE1MiAsIGNsYXNzIFAxNTMgLCBjbGFzcyBQMTU0ICwgY2xhc3MgUDE1NSAsIGNsYXNzIFAxNTYgLCBjbGFzcyBQMTU3ICwgY2xhc3MgUDE1OCAsIGNsYXNzIFAxNTkgLCBjbGFzcyBQMTYwICwgY2xhc3MgUDE2MSAsIGNsYXNzIFAxNjIgLCBjbGFzcyBQMTYzICwgY2xhc3MgUDE2NCAsIGNsYXNzIFAxNjUgLCBjbGFzcyBQMTY2ICwgY2xhc3MgUDE2NyAsIGNsYXNzIFAxNjggLCBjbGFzcyBQMTY5ICwgY2xhc3MgUDE3MCAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjE3MTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MCAsIFAxNDEgLCBQMTQyICwgUDE0MyAsIFAxNDQgLCBQMTQ1ICwgUDE0NiAsIFAxNDcgLCBQMTQ4ICwgUDE0OSAsIFAxNTAgLCBQMTUxICwgUDE1MiAsIFAxNTMgLCBQMTU0ICwgUDE1NSAsIFAxNTYgLCBQMTU3ICwgUDE1OCAsIFAxNTkgLCBQMTYwICwgUDE2MSAsIFAxNjIgLCBQMTYzICwgUDE2NCAsIFAxNjUgLCBQMTY2ICwgUDE2NyAsIFAxNjggLCBQMTY5ICwgUDE3MD4sIFQ+IHsgdHlwZWRlZiBuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMTcyPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFA5MiAsIFA5MyAsIFA5NCAsIFA5NSAsIFA5NiAsIFA5NyAsIFA5OCAsIFA5OSAsIFAxMDAgLCBQMTAxICwgUDEwMiAsIFAxMDMgLCBQMTA0ICwgUDEwNSAsIFAxMDYgLCBQMTA3ICwgUDEwOCAsIFAxMDkgLCBQMTEwICwgUDExMSAsIFAxMTIgLCBQMTEzICwgUDExNCAsIFAxMTUgLCBQMTE2ICwgUDExNyAsIFAxMTggLCBQMTE5ICwgUDEyMCAsIFAxMjEgLCBQMTIyICwgUDEyMyAsIFAxMjQgLCBQMTI1ICwgUDEyNiAsIFAxMjcgLCBQMTI4ICwgUDEyOSAsIFAxMzAgLCBQMTMxICwgUDEzMiAsIFAxMzMgLCBQMTM0ICwgUDEzNSAsIFAxMzYgLCBQMTM3ICwgUDEzOCAsIFAxMzkgLCBQMTQwICwgUDE0MSAsIFAxNDIgLCBQMTQzICwgUDE0NCAsIFAxNDUgLCBQMTQ2ICwgUDE0NyAsIFAxNDggLCBQMTQ5ICwgUDE1MCAsIFAxNTEgLCBQMTUyICwgUDE1MyAsIFAxNTQgLCBQMTU1ICwgUDE1NiAsIFAxNTcgLCBQMTU4ICwgUDE1OSAsIFAxNjAgLCBQMTYxICwgUDE2MiAsIFAxNjMgLCBQMTY0ICwgUDE2NSAsIFAxNjYgLCBQMTY3ICwgUDE2OCAsIFAxNjkgLCBQMTcwICwgVCA+IHR5cGU7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSAsIGNsYXNzIFA4NiAsIGNsYXNzIFA4NyAsIGNsYXNzIFA4OCAsIGNsYXNzIFA4OSAsIGNsYXNzIFA5MCAsIGNsYXNzIFA5MSAsIGNsYXNzIFA5MiAsIGNsYXNzIFA5MyAsIGNsYXNzIFA5NCAsIGNsYXNzIFA5NSAsIGNsYXNzIFA5NiAsIGNsYXNzIFA5NyAsIGNsYXNzIFA5OCAsIGNsYXNzIFA5OSAsIGNsYXNzIFAxMDAgLCBjbGFzcyBQMTAxICwgY2xhc3MgUDEwMiAsIGNsYXNzIFAxMDMgLCBjbGFzcyBQMTA0ICwgY2xhc3MgUDEwNSAsIGNsYXNzIFAxMDYgLCBjbGFzcyBQMTA3ICwgY2xhc3MgUDEwOCAsIGNsYXNzIFAxMDkgLCBjbGFzcyBQMTEwICwgY2xhc3MgUDExMSAsIGNsYXNzIFAxMTIgLCBjbGFzcyBQMTEzICwgY2xhc3MgUDExNCAsIGNsYXNzIFAxMTUgLCBjbGFzcyBQMTE2ICwgY2xhc3MgUDExNyAsIGNsYXNzIFAxMTggLCBjbGFzcyBQMTE5ICwgY2xhc3MgUDEyMCAsIGNsYXNzIFAxMjEgLCBjbGFzcyBQMTIyICwgY2xhc3MgUDEyMyAsIGNsYXNzIFAxMjQgLCBjbGFzcyBQMTI1ICwgY2xhc3MgUDEyNiAsIGNsYXNzIFAxMjcgLCBjbGFzcyBQMTI4ICwgY2xhc3MgUDEyOSAsIGNsYXNzIFAxMzAgLCBjbGFzcyBQMTMxICwgY2xhc3MgUDEzMiAsIGNsYXNzIFAxMzMgLCBjbGFzcyBQMTM0ICwgY2xhc3MgUDEzNSAsIGNsYXNzIFAxMzYgLCBjbGFzcyBQMTM3ICwgY2xhc3MgUDEzOCAsIGNsYXNzIFAxMzkgLCBjbGFzcyBQMTQwICwgY2xhc3MgUDE0MSAsIGNsYXNzIFAxNDIgLCBjbGFzcyBQMTQzICwgY2xhc3MgUDE0NCAsIGNsYXNzIFAxNDUgLCBjbGFzcyBQMTQ2ICwgY2xhc3MgUDE0NyAsIGNsYXNzIFAxNDggLCBjbGFzcyBQMTQ5ICwgY2xhc3MgUDE1MCAsIGNsYXNzIFAxNTEgLCBjbGFzcyBQMTUyICwgY2xhc3MgUDE1MyAsIGNsYXNzIFAxNTQgLCBjbGFzcyBQMTU1ICwgY2xhc3MgUDE1NiAsIGNsYXNzIFAxNTcgLCBjbGFzcyBQMTU4ICwgY2xhc3MgUDE1OSAsIGNsYXNzIFAxNjAgLCBjbGFzcyBQMTYxICwgY2xhc3MgUDE2MiAsIGNsYXNzIFAxNjMgLCBjbGFzcyBQMTY0ICwgY2xhc3MgUDE2NSAsIGNsYXNzIFAxNjYgLCBjbGFzcyBQMTY3ICwgY2xhc3MgUDE2OCAsIGNsYXNzIFAxNjkgLCBjbGFzcyBQMTcwICwgY2xhc3MgUDE3MSAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjE3MjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MCAsIFAxNDEgLCBQMTQyICwgUDE0MyAsIFAxNDQgLCBQMTQ1ICwgUDE0NiAsIFAxNDcgLCBQMTQ4ICwgUDE0OSAsIFAxNTAgLCBQMTUxICwgUDE1MiAsIFAxNTMgLCBQMTU0ICwgUDE1NSAsIFAxNTYgLCBQMTU3ICwgUDE1OCAsIFAxNTkgLCBQMTYwICwgUDE2MSAsIFAxNjIgLCBQMTYzICwgUDE2NCAsIFAxNjUgLCBQMTY2ICwgUDE2NyAsIFAxNjggLCBQMTY5ICwgUDE3MCAsIFAxNzE+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjE3MzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MCAsIFAxNDEgLCBQMTQyICwgUDE0MyAsIFAxNDQgLCBQMTQ1ICwgUDE0NiAsIFAxNDcgLCBQMTQ4ICwgUDE0OSAsIFAxNTAgLCBQMTUxICwgUDE1MiAsIFAxNTMgLCBQMTU0ICwgUDE1NSAsIFAxNTYgLCBQMTU3ICwgUDE1OCAsIFAxNTkgLCBQMTYwICwgUDE2MSAsIFAxNjIgLCBQMTYzICwgUDE2NCAsIFAxNjUgLCBQMTY2ICwgUDE2NyAsIFAxNjggLCBQMTY5ICwgUDE3MCAsIFAxNzEgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ICwgY2xhc3MgUDk2ICwgY2xhc3MgUDk3ICwgY2xhc3MgUDk4ICwgY2xhc3MgUDk5ICwgY2xhc3MgUDEwMCAsIGNsYXNzIFAxMDEgLCBjbGFzcyBQMTAyICwgY2xhc3MgUDEwMyAsIGNsYXNzIFAxMDQgLCBjbGFzcyBQMTA1ICwgY2xhc3MgUDEwNiAsIGNsYXNzIFAxMDcgLCBjbGFzcyBQMTA4ICwgY2xhc3MgUDEwOSAsIGNsYXNzIFAxMTAgLCBjbGFzcyBQMTExICwgY2xhc3MgUDExMiAsIGNsYXNzIFAxMTMgLCBjbGFzcyBQMTE0ICwgY2xhc3MgUDExNSAsIGNsYXNzIFAxMTYgLCBjbGFzcyBQMTE3ICwgY2xhc3MgUDExOCAsIGNsYXNzIFAxMTkgLCBjbGFzcyBQMTIwICwgY2xhc3MgUDEyMSAsIGNsYXNzIFAxMjIgLCBjbGFzcyBQMTIzICwgY2xhc3MgUDEyNCAsIGNsYXNzIFAxMjUgLCBjbGFzcyBQMTI2ICwgY2xhc3MgUDEyNyAsIGNsYXNzIFAxMjggLCBjbGFzcyBQMTI5ICwgY2xhc3MgUDEzMCAsIGNsYXNzIFAxMzEgLCBjbGFzcyBQMTMyICwgY2xhc3MgUDEzMyAsIGNsYXNzIFAxMzQgLCBjbGFzcyBQMTM1ICwgY2xhc3MgUDEzNiAsIGNsYXNzIFAxMzcgLCBjbGFzcyBQMTM4ICwgY2xhc3MgUDEzOSAsIGNsYXNzIFAxNDAgLCBjbGFzcyBQMTQxICwgY2xhc3MgUDE0MiAsIGNsYXNzIFAxNDMgLCBjbGFzcyBQMTQ0ICwgY2xhc3MgUDE0NSAsIGNsYXNzIFAxNDYgLCBjbGFzcyBQMTQ3ICwgY2xhc3MgUDE0OCAsIGNsYXNzIFAxNDkgLCBjbGFzcyBQMTUwICwgY2xhc3MgUDE1MSAsIGNsYXNzIFAxNTIgLCBjbGFzcyBQMTUzICwgY2xhc3MgUDE1NCAsIGNsYXNzIFAxNTUgLCBjbGFzcyBQMTU2ICwgY2xhc3MgUDE1NyAsIGNsYXNzIFAxNTggLCBjbGFzcyBQMTU5ICwgY2xhc3MgUDE2MCAsIGNsYXNzIFAxNjEgLCBjbGFzcyBQMTYyICwgY2xhc3MgUDE2MyAsIGNsYXNzIFAxNjQgLCBjbGFzcyBQMTY1ICwgY2xhc3MgUDE2NiAsIGNsYXNzIFAxNjcgLCBjbGFzcyBQMTY4ICwgY2xhc3MgUDE2OSAsIGNsYXNzIFAxNzAgLCBjbGFzcyBQMTcxICwgY2xhc3MgUDE3MiAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjE3MzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MCAsIFAxNDEgLCBQMTQyICwgUDE0MyAsIFAxNDQgLCBQMTQ1ICwgUDE0NiAsIFAxNDcgLCBQMTQ4ICwgUDE0OSAsIFAxNTAgLCBQMTUxICwgUDE1MiAsIFAxNTMgLCBQMTU0ICwgUDE1NSAsIFAxNTYgLCBQMTU3ICwgUDE1OCAsIFAxNTkgLCBQMTYwICwgUDE2MSAsIFAxNjIgLCBQMTYzICwgUDE2NCAsIFAxNjUgLCBQMTY2ICwgUDE2NyAsIFAxNjggLCBQMTY5ICwgUDE3MCAsIFAxNzEgLCBQMTcyPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IxNzQ8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1ICwgUDk2ICwgUDk3ICwgUDk4ICwgUDk5ICwgUDEwMCAsIFAxMDEgLCBQMTAyICwgUDEwMyAsIFAxMDQgLCBQMTA1ICwgUDEwNiAsIFAxMDcgLCBQMTA4ICwgUDEwOSAsIFAxMTAgLCBQMTExICwgUDExMiAsIFAxMTMgLCBQMTE0ICwgUDExNSAsIFAxMTYgLCBQMTE3ICwgUDExOCAsIFAxMTkgLCBQMTIwICwgUDEyMSAsIFAxMjIgLCBQMTIzICwgUDEyNCAsIFAxMjUgLCBQMTI2ICwgUDEyNyAsIFAxMjggLCBQMTI5ICwgUDEzMCAsIFAxMzEgLCBQMTMyICwgUDEzMyAsIFAxMzQgLCBQMTM1ICwgUDEzNiAsIFAxMzcgLCBQMTM4ICwgUDEzOSAsIFAxNDAgLCBQMTQxICwgUDE0MiAsIFAxNDMgLCBQMTQ0ICwgUDE0NSAsIFAxNDYgLCBQMTQ3ICwgUDE0OCAsIFAxNDkgLCBQMTUwICwgUDE1MSAsIFAxNTIgLCBQMTUzICwgUDE1NCAsIFAxNTUgLCBQMTU2ICwgUDE1NyAsIFAxNTggLCBQMTU5ICwgUDE2MCAsIFAxNjEgLCBQMTYyICwgUDE2MyAsIFAxNjQgLCBQMTY1ICwgUDE2NiAsIFAxNjcgLCBQMTY4ICwgUDE2OSAsIFAxNzAgLCBQMTcxICwgUDE3MiAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBQOTMgLCBjbGFzcyBQOTQgLCBjbGFzcyBQOTUgLCBjbGFzcyBQOTYgLCBjbGFzcyBQOTcgLCBjbGFzcyBQOTggLCBjbGFzcyBQOTkgLCBjbGFzcyBQMTAwICwgY2xhc3MgUDEwMSAsIGNsYXNzIFAxMDIgLCBjbGFzcyBQMTAzICwgY2xhc3MgUDEwNCAsIGNsYXNzIFAxMDUgLCBjbGFzcyBQMTA2ICwgY2xhc3MgUDEwNyAsIGNsYXNzIFAxMDggLCBjbGFzcyBQMTA5ICwgY2xhc3MgUDExMCAsIGNsYXNzIFAxMTEgLCBjbGFzcyBQMTEyICwgY2xhc3MgUDExMyAsIGNsYXNzIFAxMTQgLCBjbGFzcyBQMTE1ICwgY2xhc3MgUDExNiAsIGNsYXNzIFAxMTcgLCBjbGFzcyBQMTE4ICwgY2xhc3MgUDExOSAsIGNsYXNzIFAxMjAgLCBjbGFzcyBQMTIxICwgY2xhc3MgUDEyMiAsIGNsYXNzIFAxMjMgLCBjbGFzcyBQMTI0ICwgY2xhc3MgUDEyNSAsIGNsYXNzIFAxMjYgLCBjbGFzcyBQMTI3ICwgY2xhc3MgUDEyOCAsIGNsYXNzIFAxMjkgLCBjbGFzcyBQMTMwICwgY2xhc3MgUDEzMSAsIGNsYXNzIFAxMzIgLCBjbGFzcyBQMTMzICwgY2xhc3MgUDEzNCAsIGNsYXNzIFAxMzUgLCBjbGFzcyBQMTM2ICwgY2xhc3MgUDEzNyAsIGNsYXNzIFAxMzggLCBjbGFzcyBQMTM5ICwgY2xhc3MgUDE0MCAsIGNsYXNzIFAxNDEgLCBjbGFzcyBQMTQyICwgY2xhc3MgUDE0MyAsIGNsYXNzIFAxNDQgLCBjbGFzcyBQMTQ1ICwgY2xhc3MgUDE0NiAsIGNsYXNzIFAxNDcgLCBjbGFzcyBQMTQ4ICwgY2xhc3MgUDE0OSAsIGNsYXNzIFAxNTAgLCBjbGFzcyBQMTUxICwgY2xhc3MgUDE1MiAsIGNsYXNzIFAxNTMgLCBjbGFzcyBQMTU0ICwgY2xhc3MgUDE1NSAsIGNsYXNzIFAxNTYgLCBjbGFzcyBQMTU3ICwgY2xhc3MgUDE1OCAsIGNsYXNzIFAxNTkgLCBjbGFzcyBQMTYwICwgY2xhc3MgUDE2MSAsIGNsYXNzIFAxNjIgLCBjbGFzcyBQMTYzICwgY2xhc3MgUDE2NCAsIGNsYXNzIFAxNjUgLCBjbGFzcyBQMTY2ICwgY2xhc3MgUDE2NyAsIGNsYXNzIFAxNjggLCBjbGFzcyBQMTY5ICwgY2xhc3MgUDE3MCAsIGNsYXNzIFAxNzEgLCBjbGFzcyBQMTcyICwgY2xhc3MgUDE3MyAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjE3NDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MCAsIFAxNDEgLCBQMTQyICwgUDE0MyAsIFAxNDQgLCBQMTQ1ICwgUDE0NiAsIFAxNDcgLCBQMTQ4ICwgUDE0OSAsIFAxNTAgLCBQMTUxICwgUDE1MiAsIFAxNTMgLCBQMTU0ICwgUDE1NSAsIFAxNTYgLCBQMTU3ICwgUDE1OCAsIFAxNTkgLCBQMTYwICwgUDE2MSAsIFAxNjIgLCBQMTYzICwgUDE2NCAsIFAxNjUgLCBQMTY2ICwgUDE2NyAsIFAxNjggLCBQMTY5ICwgUDE3MCAsIFAxNzEgLCBQMTcyICwgUDE3Mz4sIFQ+IHsgdHlwZWRlZiBuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMTc1PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFA5MiAsIFA5MyAsIFA5NCAsIFA5NSAsIFA5NiAsIFA5NyAsIFA5OCAsIFA5OSAsIFAxMDAgLCBQMTAxICwgUDEwMiAsIFAxMDMgLCBQMTA0ICwgUDEwNSAsIFAxMDYgLCBQMTA3ICwgUDEwOCAsIFAxMDkgLCBQMTEwICwgUDExMSAsIFAxMTIgLCBQMTEzICwgUDExNCAsIFAxMTUgLCBQMTE2ICwgUDExNyAsIFAxMTggLCBQMTE5ICwgUDEyMCAsIFAxMjEgLCBQMTIyICwgUDEyMyAsIFAxMjQgLCBQMTI1ICwgUDEyNiAsIFAxMjcgLCBQMTI4ICwgUDEyOSAsIFAxMzAgLCBQMTMxICwgUDEzMiAsIFAxMzMgLCBQMTM0ICwgUDEzNSAsIFAxMzYgLCBQMTM3ICwgUDEzOCAsIFAxMzkgLCBQMTQwICwgUDE0MSAsIFAxNDIgLCBQMTQzICwgUDE0NCAsIFAxNDUgLCBQMTQ2ICwgUDE0NyAsIFAxNDggLCBQMTQ5ICwgUDE1MCAsIFAxNTEgLCBQMTUyICwgUDE1MyAsIFAxNTQgLCBQMTU1ICwgUDE1NiAsIFAxNTcgLCBQMTU4ICwgUDE1OSAsIFAxNjAgLCBQMTYxICwgUDE2MiAsIFAxNjMgLCBQMTY0ICwgUDE2NSAsIFAxNjYgLCBQMTY3ICwgUDE2OCAsIFAxNjkgLCBQMTcwICwgUDE3MSAsIFAxNzIgLCBQMTczICwgVCA+IHR5cGU7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSAsIGNsYXNzIFA4NiAsIGNsYXNzIFA4NyAsIGNsYXNzIFA4OCAsIGNsYXNzIFA4OSAsIGNsYXNzIFA5MCAsIGNsYXNzIFA5MSAsIGNsYXNzIFA5MiAsIGNsYXNzIFA5MyAsIGNsYXNzIFA5NCAsIGNsYXNzIFA5NSAsIGNsYXNzIFA5NiAsIGNsYXNzIFA5NyAsIGNsYXNzIFA5OCAsIGNsYXNzIFA5OSAsIGNsYXNzIFAxMDAgLCBjbGFzcyBQMTAxICwgY2xhc3MgUDEwMiAsIGNsYXNzIFAxMDMgLCBjbGFzcyBQMTA0ICwgY2xhc3MgUDEwNSAsIGNsYXNzIFAxMDYgLCBjbGFzcyBQMTA3ICwgY2xhc3MgUDEwOCAsIGNsYXNzIFAxMDkgLCBjbGFzcyBQMTEwICwgY2xhc3MgUDExMSAsIGNsYXNzIFAxMTIgLCBjbGFzcyBQMTEzICwgY2xhc3MgUDExNCAsIGNsYXNzIFAxMTUgLCBjbGFzcyBQMTE2ICwgY2xhc3MgUDExNyAsIGNsYXNzIFAxMTggLCBjbGFzcyBQMTE5ICwgY2xhc3MgUDEyMCAsIGNsYXNzIFAxMjEgLCBjbGFzcyBQMTIyICwgY2xhc3MgUDEyMyAsIGNsYXNzIFAxMjQgLCBjbGFzcyBQMTI1ICwgY2xhc3MgUDEyNiAsIGNsYXNzIFAxMjcgLCBjbGFzcyBQMTI4ICwgY2xhc3MgUDEyOSAsIGNsYXNzIFAxMzAgLCBjbGFzcyBQMTMxICwgY2xhc3MgUDEzMiAsIGNsYXNzIFAxMzMgLCBjbGFzcyBQMTM0ICwgY2xhc3MgUDEzNSAsIGNsYXNzIFAxMzYgLCBjbGFzcyBQMTM3ICwgY2xhc3MgUDEzOCAsIGNsYXNzIFAxMzkgLCBjbGFzcyBQMTQwICwgY2xhc3MgUDE0MSAsIGNsYXNzIFAxNDIgLCBjbGFzcyBQMTQzICwgY2xhc3MgUDE0NCAsIGNsYXNzIFAxNDUgLCBjbGFzcyBQMTQ2ICwgY2xhc3MgUDE0NyAsIGNsYXNzIFAxNDggLCBjbGFzcyBQMTQ5ICwgY2xhc3MgUDE1MCAsIGNsYXNzIFAxNTEgLCBjbGFzcyBQMTUyICwgY2xhc3MgUDE1MyAsIGNsYXNzIFAxNTQgLCBjbGFzcyBQMTU1ICwgY2xhc3MgUDE1NiAsIGNsYXNzIFAxNTcgLCBjbGFzcyBQMTU4ICwgY2xhc3MgUDE1OSAsIGNsYXNzIFAxNjAgLCBjbGFzcyBQMTYxICwgY2xhc3MgUDE2MiAsIGNsYXNzIFAxNjMgLCBjbGFzcyBQMTY0ICwgY2xhc3MgUDE2NSAsIGNsYXNzIFAxNjYgLCBjbGFzcyBQMTY3ICwgY2xhc3MgUDE2OCAsIGNsYXNzIFAxNjkgLCBjbGFzcyBQMTcwICwgY2xhc3MgUDE3MSAsIGNsYXNzIFAxNzIgLCBjbGFzcyBQMTczICwgY2xhc3MgUDE3NCAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjE3NTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MCAsIFAxNDEgLCBQMTQyICwgUDE0MyAsIFAxNDQgLCBQMTQ1ICwgUDE0NiAsIFAxNDcgLCBQMTQ4ICwgUDE0OSAsIFAxNTAgLCBQMTUxICwgUDE1MiAsIFAxNTMgLCBQMTU0ICwgUDE1NSAsIFAxNTYgLCBQMTU3ICwgUDE1OCAsIFAxNTkgLCBQMTYwICwgUDE2MSAsIFAxNjIgLCBQMTYzICwgUDE2NCAsIFAxNjUgLCBQMTY2ICwgUDE2NyAsIFAxNjggLCBQMTY5ICwgUDE3MCAsIFAxNzEgLCBQMTcyICwgUDE3MyAsIFAxNzQ+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjE3NjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MCAsIFAxNDEgLCBQMTQyICwgUDE0MyAsIFAxNDQgLCBQMTQ1ICwgUDE0NiAsIFAxNDcgLCBQMTQ4ICwgUDE0OSAsIFAxNTAgLCBQMTUxICwgUDE1MiAsIFAxNTMgLCBQMTU0ICwgUDE1NSAsIFAxNTYgLCBQMTU3ICwgUDE1OCAsIFAxNTkgLCBQMTYwICwgUDE2MSAsIFAxNjIgLCBQMTYzICwgUDE2NCAsIFAxNjUgLCBQMTY2ICwgUDE2NyAsIFAxNjggLCBQMTY5ICwgUDE3MCAsIFAxNzEgLCBQMTcyICwgUDE3MyAsIFAxNzQgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ICwgY2xhc3MgUDk2ICwgY2xhc3MgUDk3ICwgY2xhc3MgUDk4ICwgY2xhc3MgUDk5ICwgY2xhc3MgUDEwMCAsIGNsYXNzIFAxMDEgLCBjbGFzcyBQMTAyICwgY2xhc3MgUDEwMyAsIGNsYXNzIFAxMDQgLCBjbGFzcyBQMTA1ICwgY2xhc3MgUDEwNiAsIGNsYXNzIFAxMDcgLCBjbGFzcyBQMTA4ICwgY2xhc3MgUDEwOSAsIGNsYXNzIFAxMTAgLCBjbGFzcyBQMTExICwgY2xhc3MgUDExMiAsIGNsYXNzIFAxMTMgLCBjbGFzcyBQMTE0ICwgY2xhc3MgUDExNSAsIGNsYXNzIFAxMTYgLCBjbGFzcyBQMTE3ICwgY2xhc3MgUDExOCAsIGNsYXNzIFAxMTkgLCBjbGFzcyBQMTIwICwgY2xhc3MgUDEyMSAsIGNsYXNzIFAxMjIgLCBjbGFzcyBQMTIzICwgY2xhc3MgUDEyNCAsIGNsYXNzIFAxMjUgLCBjbGFzcyBQMTI2ICwgY2xhc3MgUDEyNyAsIGNsYXNzIFAxMjggLCBjbGFzcyBQMTI5ICwgY2xhc3MgUDEzMCAsIGNsYXNzIFAxMzEgLCBjbGFzcyBQMTMyICwgY2xhc3MgUDEzMyAsIGNsYXNzIFAxMzQgLCBjbGFzcyBQMTM1ICwgY2xhc3MgUDEzNiAsIGNsYXNzIFAxMzcgLCBjbGFzcyBQMTM4ICwgY2xhc3MgUDEzOSAsIGNsYXNzIFAxNDAgLCBjbGFzcyBQMTQxICwgY2xhc3MgUDE0MiAsIGNsYXNzIFAxNDMgLCBjbGFzcyBQMTQ0ICwgY2xhc3MgUDE0NSAsIGNsYXNzIFAxNDYgLCBjbGFzcyBQMTQ3ICwgY2xhc3MgUDE0OCAsIGNsYXNzIFAxNDkgLCBjbGFzcyBQMTUwICwgY2xhc3MgUDE1MSAsIGNsYXNzIFAxNTIgLCBjbGFzcyBQMTUzICwgY2xhc3MgUDE1NCAsIGNsYXNzIFAxNTUgLCBjbGFzcyBQMTU2ICwgY2xhc3MgUDE1NyAsIGNsYXNzIFAxNTggLCBjbGFzcyBQMTU5ICwgY2xhc3MgUDE2MCAsIGNsYXNzIFAxNjEgLCBjbGFzcyBQMTYyICwgY2xhc3MgUDE2MyAsIGNsYXNzIFAxNjQgLCBjbGFzcyBQMTY1ICwgY2xhc3MgUDE2NiAsIGNsYXNzIFAxNjcgLCBjbGFzcyBQMTY4ICwgY2xhc3MgUDE2OSAsIGNsYXNzIFAxNzAgLCBjbGFzcyBQMTcxICwgY2xhc3MgUDE3MiAsIGNsYXNzIFAxNzMgLCBjbGFzcyBQMTc0ICwgY2xhc3MgUDE3NSAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjE3NjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MCAsIFAxNDEgLCBQMTQyICwgUDE0MyAsIFAxNDQgLCBQMTQ1ICwgUDE0NiAsIFAxNDcgLCBQMTQ4ICwgUDE0OSAsIFAxNTAgLCBQMTUxICwgUDE1MiAsIFAxNTMgLCBQMTU0ICwgUDE1NSAsIFAxNTYgLCBQMTU3ICwgUDE1OCAsIFAxNTkgLCBQMTYwICwgUDE2MSAsIFAxNjIgLCBQMTYzICwgUDE2NCAsIFAxNjUgLCBQMTY2ICwgUDE2NyAsIFAxNjggLCBQMTY5ICwgUDE3MCAsIFAxNzEgLCBQMTcyICwgUDE3MyAsIFAxNzQgLCBQMTc1PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IxNzc8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1ICwgUDk2ICwgUDk3ICwgUDk4ICwgUDk5ICwgUDEwMCAsIFAxMDEgLCBQMTAyICwgUDEwMyAsIFAxMDQgLCBQMTA1ICwgUDEwNiAsIFAxMDcgLCBQMTA4ICwgUDEwOSAsIFAxMTAgLCBQMTExICwgUDExMiAsIFAxMTMgLCBQMTE0ICwgUDExNSAsIFAxMTYgLCBQMTE3ICwgUDExOCAsIFAxMTkgLCBQMTIwICwgUDEyMSAsIFAxMjIgLCBQMTIzICwgUDEyNCAsIFAxMjUgLCBQMTI2ICwgUDEyNyAsIFAxMjggLCBQMTI5ICwgUDEzMCAsIFAxMzEgLCBQMTMyICwgUDEzMyAsIFAxMzQgLCBQMTM1ICwgUDEzNiAsIFAxMzcgLCBQMTM4ICwgUDEzOSAsIFAxNDAgLCBQMTQxICwgUDE0MiAsIFAxNDMgLCBQMTQ0ICwgUDE0NSAsIFAxNDYgLCBQMTQ3ICwgUDE0OCAsIFAxNDkgLCBQMTUwICwgUDE1MSAsIFAxNTIgLCBQMTUzICwgUDE1NCAsIFAxNTUgLCBQMTU2ICwgUDE1NyAsIFAxNTggLCBQMTU5ICwgUDE2MCAsIFAxNjEgLCBQMTYyICwgUDE2MyAsIFAxNjQgLCBQMTY1ICwgUDE2NiAsIFAxNjcgLCBQMTY4ICwgUDE2OSAsIFAxNzAgLCBQMTcxICwgUDE3MiAsIFAxNzMgLCBQMTc0ICwgUDE3NSAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBQOTMgLCBjbGFzcyBQOTQgLCBjbGFzcyBQOTUgLCBjbGFzcyBQOTYgLCBjbGFzcyBQOTcgLCBjbGFzcyBQOTggLCBjbGFzcyBQOTkgLCBjbGFzcyBQMTAwICwgY2xhc3MgUDEwMSAsIGNsYXNzIFAxMDIgLCBjbGFzcyBQMTAzICwgY2xhc3MgUDEwNCAsIGNsYXNzIFAxMDUgLCBjbGFzcyBQMTA2ICwgY2xhc3MgUDEwNyAsIGNsYXNzIFAxMDggLCBjbGFzcyBQMTA5ICwgY2xhc3MgUDExMCAsIGNsYXNzIFAxMTEgLCBjbGFzcyBQMTEyICwgY2xhc3MgUDExMyAsIGNsYXNzIFAxMTQgLCBjbGFzcyBQMTE1ICwgY2xhc3MgUDExNiAsIGNsYXNzIFAxMTcgLCBjbGFzcyBQMTE4ICwgY2xhc3MgUDExOSAsIGNsYXNzIFAxMjAgLCBjbGFzcyBQMTIxICwgY2xhc3MgUDEyMiAsIGNsYXNzIFAxMjMgLCBjbGFzcyBQMTI0ICwgY2xhc3MgUDEyNSAsIGNsYXNzIFAxMjYgLCBjbGFzcyBQMTI3ICwgY2xhc3MgUDEyOCAsIGNsYXNzIFAxMjkgLCBjbGFzcyBQMTMwICwgY2xhc3MgUDEzMSAsIGNsYXNzIFAxMzIgLCBjbGFzcyBQMTMzICwgY2xhc3MgUDEzNCAsIGNsYXNzIFAxMzUgLCBjbGFzcyBQMTM2ICwgY2xhc3MgUDEzNyAsIGNsYXNzIFAxMzggLCBjbGFzcyBQMTM5ICwgY2xhc3MgUDE0MCAsIGNsYXNzIFAxNDEgLCBjbGFzcyBQMTQyICwgY2xhc3MgUDE0MyAsIGNsYXNzIFAxNDQgLCBjbGFzcyBQMTQ1ICwgY2xhc3MgUDE0NiAsIGNsYXNzIFAxNDcgLCBjbGFzcyBQMTQ4ICwgY2xhc3MgUDE0OSAsIGNsYXNzIFAxNTAgLCBjbGFzcyBQMTUxICwgY2xhc3MgUDE1MiAsIGNsYXNzIFAxNTMgLCBjbGFzcyBQMTU0ICwgY2xhc3MgUDE1NSAsIGNsYXNzIFAxNTYgLCBjbGFzcyBQMTU3ICwgY2xhc3MgUDE1OCAsIGNsYXNzIFAxNTkgLCBjbGFzcyBQMTYwICwgY2xhc3MgUDE2MSAsIGNsYXNzIFAxNjIgLCBjbGFzcyBQMTYzICwgY2xhc3MgUDE2NCAsIGNsYXNzIFAxNjUgLCBjbGFzcyBQMTY2ICwgY2xhc3MgUDE2NyAsIGNsYXNzIFAxNjggLCBjbGFzcyBQMTY5ICwgY2xhc3MgUDE3MCAsIGNsYXNzIFAxNzEgLCBjbGFzcyBQMTcyICwgY2xhc3MgUDE3MyAsIGNsYXNzIFAxNzQgLCBjbGFzcyBQMTc1ICwgY2xhc3MgUDE3NiAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjE3NzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MCAsIFAxNDEgLCBQMTQyICwgUDE0MyAsIFAxNDQgLCBQMTQ1ICwgUDE0NiAsIFAxNDcgLCBQMTQ4ICwgUDE0OSAsIFAxNTAgLCBQMTUxICwgUDE1MiAsIFAxNTMgLCBQMTU0ICwgUDE1NSAsIFAxNTYgLCBQMTU3ICwgUDE1OCAsIFAxNTkgLCBQMTYwICwgUDE2MSAsIFAxNjIgLCBQMTYzICwgUDE2NCAsIFAxNjUgLCBQMTY2ICwgUDE2NyAsIFAxNjggLCBQMTY5ICwgUDE3MCAsIFAxNzEgLCBQMTcyICwgUDE3MyAsIFAxNzQgLCBQMTc1ICwgUDE3Nj4sIFQ+IHsgdHlwZWRlZiBuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMTc4PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFA5MiAsIFA5MyAsIFA5NCAsIFA5NSAsIFA5NiAsIFA5NyAsIFA5OCAsIFA5OSAsIFAxMDAgLCBQMTAxICwgUDEwMiAsIFAxMDMgLCBQMTA0ICwgUDEwNSAsIFAxMDYgLCBQMTA3ICwgUDEwOCAsIFAxMDkgLCBQMTEwICwgUDExMSAsIFAxMTIgLCBQMTEzICwgUDExNCAsIFAxMTUgLCBQMTE2ICwgUDExNyAsIFAxMTggLCBQMTE5ICwgUDEyMCAsIFAxMjEgLCBQMTIyICwgUDEyMyAsIFAxMjQgLCBQMTI1ICwgUDEyNiAsIFAxMjcgLCBQMTI4ICwgUDEyOSAsIFAxMzAgLCBQMTMxICwgUDEzMiAsIFAxMzMgLCBQMTM0ICwgUDEzNSAsIFAxMzYgLCBQMTM3ICwgUDEzOCAsIFAxMzkgLCBQMTQwICwgUDE0MSAsIFAxNDIgLCBQMTQzICwgUDE0NCAsIFAxNDUgLCBQMTQ2ICwgUDE0NyAsIFAxNDggLCBQMTQ5ICwgUDE1MCAsIFAxNTEgLCBQMTUyICwgUDE1MyAsIFAxNTQgLCBQMTU1ICwgUDE1NiAsIFAxNTcgLCBQMTU4ICwgUDE1OSAsIFAxNjAgLCBQMTYxICwgUDE2MiAsIFAxNjMgLCBQMTY0ICwgUDE2NSAsIFAxNjYgLCBQMTY3ICwgUDE2OCAsIFAxNjkgLCBQMTcwICwgUDE3MSAsIFAxNzIgLCBQMTczICwgUDE3NCAsIFAxNzUgLCBQMTc2ICwgVCA+IHR5cGU7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSAsIGNsYXNzIFA4NiAsIGNsYXNzIFA4NyAsIGNsYXNzIFA4OCAsIGNsYXNzIFA4OSAsIGNsYXNzIFA5MCAsIGNsYXNzIFA5MSAsIGNsYXNzIFA5MiAsIGNsYXNzIFA5MyAsIGNsYXNzIFA5NCAsIGNsYXNzIFA5NSAsIGNsYXNzIFA5NiAsIGNsYXNzIFA5NyAsIGNsYXNzIFA5OCAsIGNsYXNzIFA5OSAsIGNsYXNzIFAxMDAgLCBjbGFzcyBQMTAxICwgY2xhc3MgUDEwMiAsIGNsYXNzIFAxMDMgLCBjbGFzcyBQMTA0ICwgY2xhc3MgUDEwNSAsIGNsYXNzIFAxMDYgLCBjbGFzcyBQMTA3ICwgY2xhc3MgUDEwOCAsIGNsYXNzIFAxMDkgLCBjbGFzcyBQMTEwICwgY2xhc3MgUDExMSAsIGNsYXNzIFAxMTIgLCBjbGFzcyBQMTEzICwgY2xhc3MgUDExNCAsIGNsYXNzIFAxMTUgLCBjbGFzcyBQMTE2ICwgY2xhc3MgUDExNyAsIGNsYXNzIFAxMTggLCBjbGFzcyBQMTE5ICwgY2xhc3MgUDEyMCAsIGNsYXNzIFAxMjEgLCBjbGFzcyBQMTIyICwgY2xhc3MgUDEyMyAsIGNsYXNzIFAxMjQgLCBjbGFzcyBQMTI1ICwgY2xhc3MgUDEyNiAsIGNsYXNzIFAxMjcgLCBjbGFzcyBQMTI4ICwgY2xhc3MgUDEyOSAsIGNsYXNzIFAxMzAgLCBjbGFzcyBQMTMxICwgY2xhc3MgUDEzMiAsIGNsYXNzIFAxMzMgLCBjbGFzcyBQMTM0ICwgY2xhc3MgUDEzNSAsIGNsYXNzIFAxMzYgLCBjbGFzcyBQMTM3ICwgY2xhc3MgUDEzOCAsIGNsYXNzIFAxMzkgLCBjbGFzcyBQMTQwICwgY2xhc3MgUDE0MSAsIGNsYXNzIFAxNDIgLCBjbGFzcyBQMTQzICwgY2xhc3MgUDE0NCAsIGNsYXNzIFAxNDUgLCBjbGFzcyBQMTQ2ICwgY2xhc3MgUDE0NyAsIGNsYXNzIFAxNDggLCBjbGFzcyBQMTQ5ICwgY2xhc3MgUDE1MCAsIGNsYXNzIFAxNTEgLCBjbGFzcyBQMTUyICwgY2xhc3MgUDE1MyAsIGNsYXNzIFAxNTQgLCBjbGFzcyBQMTU1ICwgY2xhc3MgUDE1NiAsIGNsYXNzIFAxNTcgLCBjbGFzcyBQMTU4ICwgY2xhc3MgUDE1OSAsIGNsYXNzIFAxNjAgLCBjbGFzcyBQMTYxICwgY2xhc3MgUDE2MiAsIGNsYXNzIFAxNjMgLCBjbGFzcyBQMTY0ICwgY2xhc3MgUDE2NSAsIGNsYXNzIFAxNjYgLCBjbGFzcyBQMTY3ICwgY2xhc3MgUDE2OCAsIGNsYXNzIFAxNjkgLCBjbGFzcyBQMTcwICwgY2xhc3MgUDE3MSAsIGNsYXNzIFAxNzIgLCBjbGFzcyBQMTczICwgY2xhc3MgUDE3NCAsIGNsYXNzIFAxNzUgLCBjbGFzcyBQMTc2ICwgY2xhc3MgUDE3NyAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjE3ODwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MCAsIFAxNDEgLCBQMTQyICwgUDE0MyAsIFAxNDQgLCBQMTQ1ICwgUDE0NiAsIFAxNDcgLCBQMTQ4ICwgUDE0OSAsIFAxNTAgLCBQMTUxICwgUDE1MiAsIFAxNTMgLCBQMTU0ICwgUDE1NSAsIFAxNTYgLCBQMTU3ICwgUDE1OCAsIFAxNTkgLCBQMTYwICwgUDE2MSAsIFAxNjIgLCBQMTYzICwgUDE2NCAsIFAxNjUgLCBQMTY2ICwgUDE2NyAsIFAxNjggLCBQMTY5ICwgUDE3MCAsIFAxNzEgLCBQMTcyICwgUDE3MyAsIFAxNzQgLCBQMTc1ICwgUDE3NiAsIFAxNzc+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjE3OTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MCAsIFAxNDEgLCBQMTQyICwgUDE0MyAsIFAxNDQgLCBQMTQ1ICwgUDE0NiAsIFAxNDcgLCBQMTQ4ICwgUDE0OSAsIFAxNTAgLCBQMTUxICwgUDE1MiAsIFAxNTMgLCBQMTU0ICwgUDE1NSAsIFAxNTYgLCBQMTU3ICwgUDE1OCAsIFAxNTkgLCBQMTYwICwgUDE2MSAsIFAxNjIgLCBQMTYzICwgUDE2NCAsIFAxNjUgLCBQMTY2ICwgUDE2NyAsIFAxNjggLCBQMTY5ICwgUDE3MCAsIFAxNzEgLCBQMTcyICwgUDE3MyAsIFAxNzQgLCBQMTc1ICwgUDE3NiAsIFAxNzcgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ICwgY2xhc3MgUDk2ICwgY2xhc3MgUDk3ICwgY2xhc3MgUDk4ICwgY2xhc3MgUDk5ICwgY2xhc3MgUDEwMCAsIGNsYXNzIFAxMDEgLCBjbGFzcyBQMTAyICwgY2xhc3MgUDEwMyAsIGNsYXNzIFAxMDQgLCBjbGFzcyBQMTA1ICwgY2xhc3MgUDEwNiAsIGNsYXNzIFAxMDcgLCBjbGFzcyBQMTA4ICwgY2xhc3MgUDEwOSAsIGNsYXNzIFAxMTAgLCBjbGFzcyBQMTExICwgY2xhc3MgUDExMiAsIGNsYXNzIFAxMTMgLCBjbGFzcyBQMTE0ICwgY2xhc3MgUDExNSAsIGNsYXNzIFAxMTYgLCBjbGFzcyBQMTE3ICwgY2xhc3MgUDExOCAsIGNsYXNzIFAxMTkgLCBjbGFzcyBQMTIwICwgY2xhc3MgUDEyMSAsIGNsYXNzIFAxMjIgLCBjbGFzcyBQMTIzICwgY2xhc3MgUDEyNCAsIGNsYXNzIFAxMjUgLCBjbGFzcyBQMTI2ICwgY2xhc3MgUDEyNyAsIGNsYXNzIFAxMjggLCBjbGFzcyBQMTI5ICwgY2xhc3MgUDEzMCAsIGNsYXNzIFAxMzEgLCBjbGFzcyBQMTMyICwgY2xhc3MgUDEzMyAsIGNsYXNzIFAxMzQgLCBjbGFzcyBQMTM1ICwgY2xhc3MgUDEzNiAsIGNsYXNzIFAxMzcgLCBjbGFzcyBQMTM4ICwgY2xhc3MgUDEzOSAsIGNsYXNzIFAxNDAgLCBjbGFzcyBQMTQxICwgY2xhc3MgUDE0MiAsIGNsYXNzIFAxNDMgLCBjbGFzcyBQMTQ0ICwgY2xhc3MgUDE0NSAsIGNsYXNzIFAxNDYgLCBjbGFzcyBQMTQ3ICwgY2xhc3MgUDE0OCAsIGNsYXNzIFAxNDkgLCBjbGFzcyBQMTUwICwgY2xhc3MgUDE1MSAsIGNsYXNzIFAxNTIgLCBjbGFzcyBQMTUzICwgY2xhc3MgUDE1NCAsIGNsYXNzIFAxNTUgLCBjbGFzcyBQMTU2ICwgY2xhc3MgUDE1NyAsIGNsYXNzIFAxNTggLCBjbGFzcyBQMTU5ICwgY2xhc3MgUDE2MCAsIGNsYXNzIFAxNjEgLCBjbGFzcyBQMTYyICwgY2xhc3MgUDE2MyAsIGNsYXNzIFAxNjQgLCBjbGFzcyBQMTY1ICwgY2xhc3MgUDE2NiAsIGNsYXNzIFAxNjcgLCBjbGFzcyBQMTY4ICwgY2xhc3MgUDE2OSAsIGNsYXNzIFAxNzAgLCBjbGFzcyBQMTcxICwgY2xhc3MgUDE3MiAsIGNsYXNzIFAxNzMgLCBjbGFzcyBQMTc0ICwgY2xhc3MgUDE3NSAsIGNsYXNzIFAxNzYgLCBjbGFzcyBQMTc3ICwgY2xhc3MgUDE3OCAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjE3OTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MCAsIFAxNDEgLCBQMTQyICwgUDE0MyAsIFAxNDQgLCBQMTQ1ICwgUDE0NiAsIFAxNDcgLCBQMTQ4ICwgUDE0OSAsIFAxNTAgLCBQMTUxICwgUDE1MiAsIFAxNTMgLCBQMTU0ICwgUDE1NSAsIFAxNTYgLCBQMTU3ICwgUDE1OCAsIFAxNTkgLCBQMTYwICwgUDE2MSAsIFAxNjIgLCBQMTYzICwgUDE2NCAsIFAxNjUgLCBQMTY2ICwgUDE2NyAsIFAxNjggLCBQMTY5ICwgUDE3MCAsIFAxNzEgLCBQMTcyICwgUDE3MyAsIFAxNzQgLCBQMTc1ICwgUDE3NiAsIFAxNzcgLCBQMTc4PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IxODA8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1ICwgUDk2ICwgUDk3ICwgUDk4ICwgUDk5ICwgUDEwMCAsIFAxMDEgLCBQMTAyICwgUDEwMyAsIFAxMDQgLCBQMTA1ICwgUDEwNiAsIFAxMDcgLCBQMTA4ICwgUDEwOSAsIFAxMTAgLCBQMTExICwgUDExMiAsIFAxMTMgLCBQMTE0ICwgUDExNSAsIFAxMTYgLCBQMTE3ICwgUDExOCAsIFAxMTkgLCBQMTIwICwgUDEyMSAsIFAxMjIgLCBQMTIzICwgUDEyNCAsIFAxMjUgLCBQMTI2ICwgUDEyNyAsIFAxMjggLCBQMTI5ICwgUDEzMCAsIFAxMzEgLCBQMTMyICwgUDEzMyAsIFAxMzQgLCBQMTM1ICwgUDEzNiAsIFAxMzcgLCBQMTM4ICwgUDEzOSAsIFAxNDAgLCBQMTQxICwgUDE0MiAsIFAxNDMgLCBQMTQ0ICwgUDE0NSAsIFAxNDYgLCBQMTQ3ICwgUDE0OCAsIFAxNDkgLCBQMTUwICwgUDE1MSAsIFAxNTIgLCBQMTUzICwgUDE1NCAsIFAxNTUgLCBQMTU2ICwgUDE1NyAsIFAxNTggLCBQMTU5ICwgUDE2MCAsIFAxNjEgLCBQMTYyICwgUDE2MyAsIFAxNjQgLCBQMTY1ICwgUDE2NiAsIFAxNjcgLCBQMTY4ICwgUDE2OSAsIFAxNzAgLCBQMTcxICwgUDE3MiAsIFAxNzMgLCBQMTc0ICwgUDE3NSAsIFAxNzYgLCBQMTc3ICwgUDE3OCAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBQOTMgLCBjbGFzcyBQOTQgLCBjbGFzcyBQOTUgLCBjbGFzcyBQOTYgLCBjbGFzcyBQOTcgLCBjbGFzcyBQOTggLCBjbGFzcyBQOTkgLCBjbGFzcyBQMTAwICwgY2xhc3MgUDEwMSAsIGNsYXNzIFAxMDIgLCBjbGFzcyBQMTAzICwgY2xhc3MgUDEwNCAsIGNsYXNzIFAxMDUgLCBjbGFzcyBQMTA2ICwgY2xhc3MgUDEwNyAsIGNsYXNzIFAxMDggLCBjbGFzcyBQMTA5ICwgY2xhc3MgUDExMCAsIGNsYXNzIFAxMTEgLCBjbGFzcyBQMTEyICwgY2xhc3MgUDExMyAsIGNsYXNzIFAxMTQgLCBjbGFzcyBQMTE1ICwgY2xhc3MgUDExNiAsIGNsYXNzIFAxMTcgLCBjbGFzcyBQMTE4ICwgY2xhc3MgUDExOSAsIGNsYXNzIFAxMjAgLCBjbGFzcyBQMTIxICwgY2xhc3MgUDEyMiAsIGNsYXNzIFAxMjMgLCBjbGFzcyBQMTI0ICwgY2xhc3MgUDEyNSAsIGNsYXNzIFAxMjYgLCBjbGFzcyBQMTI3ICwgY2xhc3MgUDEyOCAsIGNsYXNzIFAxMjkgLCBjbGFzcyBQMTMwICwgY2xhc3MgUDEzMSAsIGNsYXNzIFAxMzIgLCBjbGFzcyBQMTMzICwgY2xhc3MgUDEzNCAsIGNsYXNzIFAxMzUgLCBjbGFzcyBQMTM2ICwgY2xhc3MgUDEzNyAsIGNsYXNzIFAxMzggLCBjbGFzcyBQMTM5ICwgY2xhc3MgUDE0MCAsIGNsYXNzIFAxNDEgLCBjbGFzcyBQMTQyICwgY2xhc3MgUDE0MyAsIGNsYXNzIFAxNDQgLCBjbGFzcyBQMTQ1ICwgY2xhc3MgUDE0NiAsIGNsYXNzIFAxNDcgLCBjbGFzcyBQMTQ4ICwgY2xhc3MgUDE0OSAsIGNsYXNzIFAxNTAgLCBjbGFzcyBQMTUxICwgY2xhc3MgUDE1MiAsIGNsYXNzIFAxNTMgLCBjbGFzcyBQMTU0ICwgY2xhc3MgUDE1NSAsIGNsYXNzIFAxNTYgLCBjbGFzcyBQMTU3ICwgY2xhc3MgUDE1OCAsIGNsYXNzIFAxNTkgLCBjbGFzcyBQMTYwICwgY2xhc3MgUDE2MSAsIGNsYXNzIFAxNjIgLCBjbGFzcyBQMTYzICwgY2xhc3MgUDE2NCAsIGNsYXNzIFAxNjUgLCBjbGFzcyBQMTY2ICwgY2xhc3MgUDE2NyAsIGNsYXNzIFAxNjggLCBjbGFzcyBQMTY5ICwgY2xhc3MgUDE3MCAsIGNsYXNzIFAxNzEgLCBjbGFzcyBQMTcyICwgY2xhc3MgUDE3MyAsIGNsYXNzIFAxNzQgLCBjbGFzcyBQMTc1ICwgY2xhc3MgUDE3NiAsIGNsYXNzIFAxNzcgLCBjbGFzcyBQMTc4ICwgY2xhc3MgUDE3OSAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjE4MDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MCAsIFAxNDEgLCBQMTQyICwgUDE0MyAsIFAxNDQgLCBQMTQ1ICwgUDE0NiAsIFAxNDcgLCBQMTQ4ICwgUDE0OSAsIFAxNTAgLCBQMTUxICwgUDE1MiAsIFAxNTMgLCBQMTU0ICwgUDE1NSAsIFAxNTYgLCBQMTU3ICwgUDE1OCAsIFAxNTkgLCBQMTYwICwgUDE2MSAsIFAxNjIgLCBQMTYzICwgUDE2NCAsIFAxNjUgLCBQMTY2ICwgUDE2NyAsIFAxNjggLCBQMTY5ICwgUDE3MCAsIFAxNzEgLCBQMTcyICwgUDE3MyAsIFAxNzQgLCBQMTc1ICwgUDE3NiAsIFAxNzcgLCBQMTc4ICwgUDE3OT4sIFQ+IHsgdHlwZWRlZiBuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMTgxPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFA5MiAsIFA5MyAsIFA5NCAsIFA5NSAsIFA5NiAsIFA5NyAsIFA5OCAsIFA5OSAsIFAxMDAgLCBQMTAxICwgUDEwMiAsIFAxMDMgLCBQMTA0ICwgUDEwNSAsIFAxMDYgLCBQMTA3ICwgUDEwOCAsIFAxMDkgLCBQMTEwICwgUDExMSAsIFAxMTIgLCBQMTEzICwgUDExNCAsIFAxMTUgLCBQMTE2ICwgUDExNyAsIFAxMTggLCBQMTE5ICwgUDEyMCAsIFAxMjEgLCBQMTIyICwgUDEyMyAsIFAxMjQgLCBQMTI1ICwgUDEyNiAsIFAxMjcgLCBQMTI4ICwgUDEyOSAsIFAxMzAgLCBQMTMxICwgUDEzMiAsIFAxMzMgLCBQMTM0ICwgUDEzNSAsIFAxMzYgLCBQMTM3ICwgUDEzOCAsIFAxMzkgLCBQMTQwICwgUDE0MSAsIFAxNDIgLCBQMTQzICwgUDE0NCAsIFAxNDUgLCBQMTQ2ICwgUDE0NyAsIFAxNDggLCBQMTQ5ICwgUDE1MCAsIFAxNTEgLCBQMTUyICwgUDE1MyAsIFAxNTQgLCBQMTU1ICwgUDE1NiAsIFAxNTcgLCBQMTU4ICwgUDE1OSAsIFAxNjAgLCBQMTYxICwgUDE2MiAsIFAxNjMgLCBQMTY0ICwgUDE2NSAsIFAxNjYgLCBQMTY3ICwgUDE2OCAsIFAxNjkgLCBQMTcwICwgUDE3MSAsIFAxNzIgLCBQMTczICwgUDE3NCAsIFAxNzUgLCBQMTc2ICwgUDE3NyAsIFAxNzggLCBQMTc5ICwgVCA+IHR5cGU7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSAsIGNsYXNzIFA4NiAsIGNsYXNzIFA4NyAsIGNsYXNzIFA4OCAsIGNsYXNzIFA4OSAsIGNsYXNzIFA5MCAsIGNsYXNzIFA5MSAsIGNsYXNzIFA5MiAsIGNsYXNzIFA5MyAsIGNsYXNzIFA5NCAsIGNsYXNzIFA5NSAsIGNsYXNzIFA5NiAsIGNsYXNzIFA5NyAsIGNsYXNzIFA5OCAsIGNsYXNzIFA5OSAsIGNsYXNzIFAxMDAgLCBjbGFzcyBQMTAxICwgY2xhc3MgUDEwMiAsIGNsYXNzIFAxMDMgLCBjbGFzcyBQMTA0ICwgY2xhc3MgUDEwNSAsIGNsYXNzIFAxMDYgLCBjbGFzcyBQMTA3ICwgY2xhc3MgUDEwOCAsIGNsYXNzIFAxMDkgLCBjbGFzcyBQMTEwICwgY2xhc3MgUDExMSAsIGNsYXNzIFAxMTIgLCBjbGFzcyBQMTEzICwgY2xhc3MgUDExNCAsIGNsYXNzIFAxMTUgLCBjbGFzcyBQMTE2ICwgY2xhc3MgUDExNyAsIGNsYXNzIFAxMTggLCBjbGFzcyBQMTE5ICwgY2xhc3MgUDEyMCAsIGNsYXNzIFAxMjEgLCBjbGFzcyBQMTIyICwgY2xhc3MgUDEyMyAsIGNsYXNzIFAxMjQgLCBjbGFzcyBQMTI1ICwgY2xhc3MgUDEyNiAsIGNsYXNzIFAxMjcgLCBjbGFzcyBQMTI4ICwgY2xhc3MgUDEyOSAsIGNsYXNzIFAxMzAgLCBjbGFzcyBQMTMxICwgY2xhc3MgUDEzMiAsIGNsYXNzIFAxMzMgLCBjbGFzcyBQMTM0ICwgY2xhc3MgUDEzNSAsIGNsYXNzIFAxMzYgLCBjbGFzcyBQMTM3ICwgY2xhc3MgUDEzOCAsIGNsYXNzIFAxMzkgLCBjbGFzcyBQMTQwICwgY2xhc3MgUDE0MSAsIGNsYXNzIFAxNDIgLCBjbGFzcyBQMTQzICwgY2xhc3MgUDE0NCAsIGNsYXNzIFAxNDUgLCBjbGFzcyBQMTQ2ICwgY2xhc3MgUDE0NyAsIGNsYXNzIFAxNDggLCBjbGFzcyBQMTQ5ICwgY2xhc3MgUDE1MCAsIGNsYXNzIFAxNTEgLCBjbGFzcyBQMTUyICwgY2xhc3MgUDE1MyAsIGNsYXNzIFAxNTQgLCBjbGFzcyBQMTU1ICwgY2xhc3MgUDE1NiAsIGNsYXNzIFAxNTcgLCBjbGFzcyBQMTU4ICwgY2xhc3MgUDE1OSAsIGNsYXNzIFAxNjAgLCBjbGFzcyBQMTYxICwgY2xhc3MgUDE2MiAsIGNsYXNzIFAxNjMgLCBjbGFzcyBQMTY0ICwgY2xhc3MgUDE2NSAsIGNsYXNzIFAxNjYgLCBjbGFzcyBQMTY3ICwgY2xhc3MgUDE2OCAsIGNsYXNzIFAxNjkgLCBjbGFzcyBQMTcwICwgY2xhc3MgUDE3MSAsIGNsYXNzIFAxNzIgLCBjbGFzcyBQMTczICwgY2xhc3MgUDE3NCAsIGNsYXNzIFAxNzUgLCBjbGFzcyBQMTc2ICwgY2xhc3MgUDE3NyAsIGNsYXNzIFAxNzggLCBjbGFzcyBQMTc5ICwgY2xhc3MgUDE4MCAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjE4MTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MCAsIFAxNDEgLCBQMTQyICwgUDE0MyAsIFAxNDQgLCBQMTQ1ICwgUDE0NiAsIFAxNDcgLCBQMTQ4ICwgUDE0OSAsIFAxNTAgLCBQMTUxICwgUDE1MiAsIFAxNTMgLCBQMTU0ICwgUDE1NSAsIFAxNTYgLCBQMTU3ICwgUDE1OCAsIFAxNTkgLCBQMTYwICwgUDE2MSAsIFAxNjIgLCBQMTYzICwgUDE2NCAsIFAxNjUgLCBQMTY2ICwgUDE2NyAsIFAxNjggLCBQMTY5ICwgUDE3MCAsIFAxNzEgLCBQMTcyICwgUDE3MyAsIFAxNzQgLCBQMTc1ICwgUDE3NiAsIFAxNzcgLCBQMTc4ICwgUDE3OSAsIFAxODA+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjE4MjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MCAsIFAxNDEgLCBQMTQyICwgUDE0MyAsIFAxNDQgLCBQMTQ1ICwgUDE0NiAsIFAxNDcgLCBQMTQ4ICwgUDE0OSAsIFAxNTAgLCBQMTUxICwgUDE1MiAsIFAxNTMgLCBQMTU0ICwgUDE1NSAsIFAxNTYgLCBQMTU3ICwgUDE1OCAsIFAxNTkgLCBQMTYwICwgUDE2MSAsIFAxNjIgLCBQMTYzICwgUDE2NCAsIFAxNjUgLCBQMTY2ICwgUDE2NyAsIFAxNjggLCBQMTY5ICwgUDE3MCAsIFAxNzEgLCBQMTcyICwgUDE3MyAsIFAxNzQgLCBQMTc1ICwgUDE3NiAsIFAxNzcgLCBQMTc4ICwgUDE3OSAsIFAxODAgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ICwgY2xhc3MgUDk2ICwgY2xhc3MgUDk3ICwgY2xhc3MgUDk4ICwgY2xhc3MgUDk5ICwgY2xhc3MgUDEwMCAsIGNsYXNzIFAxMDEgLCBjbGFzcyBQMTAyICwgY2xhc3MgUDEwMyAsIGNsYXNzIFAxMDQgLCBjbGFzcyBQMTA1ICwgY2xhc3MgUDEwNiAsIGNsYXNzIFAxMDcgLCBjbGFzcyBQMTA4ICwgY2xhc3MgUDEwOSAsIGNsYXNzIFAxMTAgLCBjbGFzcyBQMTExICwgY2xhc3MgUDExMiAsIGNsYXNzIFAxMTMgLCBjbGFzcyBQMTE0ICwgY2xhc3MgUDExNSAsIGNsYXNzIFAxMTYgLCBjbGFzcyBQMTE3ICwgY2xhc3MgUDExOCAsIGNsYXNzIFAxMTkgLCBjbGFzcyBQMTIwICwgY2xhc3MgUDEyMSAsIGNsYXNzIFAxMjIgLCBjbGFzcyBQMTIzICwgY2xhc3MgUDEyNCAsIGNsYXNzIFAxMjUgLCBjbGFzcyBQMTI2ICwgY2xhc3MgUDEyNyAsIGNsYXNzIFAxMjggLCBjbGFzcyBQMTI5ICwgY2xhc3MgUDEzMCAsIGNsYXNzIFAxMzEgLCBjbGFzcyBQMTMyICwgY2xhc3MgUDEzMyAsIGNsYXNzIFAxMzQgLCBjbGFzcyBQMTM1ICwgY2xhc3MgUDEzNiAsIGNsYXNzIFAxMzcgLCBjbGFzcyBQMTM4ICwgY2xhc3MgUDEzOSAsIGNsYXNzIFAxNDAgLCBjbGFzcyBQMTQxICwgY2xhc3MgUDE0MiAsIGNsYXNzIFAxNDMgLCBjbGFzcyBQMTQ0ICwgY2xhc3MgUDE0NSAsIGNsYXNzIFAxNDYgLCBjbGFzcyBQMTQ3ICwgY2xhc3MgUDE0OCAsIGNsYXNzIFAxNDkgLCBjbGFzcyBQMTUwICwgY2xhc3MgUDE1MSAsIGNsYXNzIFAxNTIgLCBjbGFzcyBQMTUzICwgY2xhc3MgUDE1NCAsIGNsYXNzIFAxNTUgLCBjbGFzcyBQMTU2ICwgY2xhc3MgUDE1NyAsIGNsYXNzIFAxNTggLCBjbGFzcyBQMTU5ICwgY2xhc3MgUDE2MCAsIGNsYXNzIFAxNjEgLCBjbGFzcyBQMTYyICwgY2xhc3MgUDE2MyAsIGNsYXNzIFAxNjQgLCBjbGFzcyBQMTY1ICwgY2xhc3MgUDE2NiAsIGNsYXNzIFAxNjcgLCBjbGFzcyBQMTY4ICwgY2xhc3MgUDE2OSAsIGNsYXNzIFAxNzAgLCBjbGFzcyBQMTcxICwgY2xhc3MgUDE3MiAsIGNsYXNzIFAxNzMgLCBjbGFzcyBQMTc0ICwgY2xhc3MgUDE3NSAsIGNsYXNzIFAxNzYgLCBjbGFzcyBQMTc3ICwgY2xhc3MgUDE3OCAsIGNsYXNzIFAxNzkgLCBjbGFzcyBQMTgwICwgY2xhc3MgUDE4MSAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjE4MjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MCAsIFAxNDEgLCBQMTQyICwgUDE0MyAsIFAxNDQgLCBQMTQ1ICwgUDE0NiAsIFAxNDcgLCBQMTQ4ICwgUDE0OSAsIFAxNTAgLCBQMTUxICwgUDE1MiAsIFAxNTMgLCBQMTU0ICwgUDE1NSAsIFAxNTYgLCBQMTU3ICwgUDE1OCAsIFAxNTkgLCBQMTYwICwgUDE2MSAsIFAxNjIgLCBQMTYzICwgUDE2NCAsIFAxNjUgLCBQMTY2ICwgUDE2NyAsIFAxNjggLCBQMTY5ICwgUDE3MCAsIFAxNzEgLCBQMTcyICwgUDE3MyAsIFAxNzQgLCBQMTc1ICwgUDE3NiAsIFAxNzcgLCBQMTc4ICwgUDE3OSAsIFAxODAgLCBQMTgxPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IxODM8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1ICwgUDk2ICwgUDk3ICwgUDk4ICwgUDk5ICwgUDEwMCAsIFAxMDEgLCBQMTAyICwgUDEwMyAsIFAxMDQgLCBQMTA1ICwgUDEwNiAsIFAxMDcgLCBQMTA4ICwgUDEwOSAsIFAxMTAgLCBQMTExICwgUDExMiAsIFAxMTMgLCBQMTE0ICwgUDExNSAsIFAxMTYgLCBQMTE3ICwgUDExOCAsIFAxMTkgLCBQMTIwICwgUDEyMSAsIFAxMjIgLCBQMTIzICwgUDEyNCAsIFAxMjUgLCBQMTI2ICwgUDEyNyAsIFAxMjggLCBQMTI5ICwgUDEzMCAsIFAxMzEgLCBQMTMyICwgUDEzMyAsIFAxMzQgLCBQMTM1ICwgUDEzNiAsIFAxMzcgLCBQMTM4ICwgUDEzOSAsIFAxNDAgLCBQMTQxICwgUDE0MiAsIFAxNDMgLCBQMTQ0ICwgUDE0NSAsIFAxNDYgLCBQMTQ3ICwgUDE0OCAsIFAxNDkgLCBQMTUwICwgUDE1MSAsIFAxNTIgLCBQMTUzICwgUDE1NCAsIFAxNTUgLCBQMTU2ICwgUDE1NyAsIFAxNTggLCBQMTU5ICwgUDE2MCAsIFAxNjEgLCBQMTYyICwgUDE2MyAsIFAxNjQgLCBQMTY1ICwgUDE2NiAsIFAxNjcgLCBQMTY4ICwgUDE2OSAsIFAxNzAgLCBQMTcxICwgUDE3MiAsIFAxNzMgLCBQMTc0ICwgUDE3NSAsIFAxNzYgLCBQMTc3ICwgUDE3OCAsIFAxNzkgLCBQMTgwICwgUDE4MSAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBQOTMgLCBjbGFzcyBQOTQgLCBjbGFzcyBQOTUgLCBjbGFzcyBQOTYgLCBjbGFzcyBQOTcgLCBjbGFzcyBQOTggLCBjbGFzcyBQOTkgLCBjbGFzcyBQMTAwICwgY2xhc3MgUDEwMSAsIGNsYXNzIFAxMDIgLCBjbGFzcyBQMTAzICwgY2xhc3MgUDEwNCAsIGNsYXNzIFAxMDUgLCBjbGFzcyBQMTA2ICwgY2xhc3MgUDEwNyAsIGNsYXNzIFAxMDggLCBjbGFzcyBQMTA5ICwgY2xhc3MgUDExMCAsIGNsYXNzIFAxMTEgLCBjbGFzcyBQMTEyICwgY2xhc3MgUDExMyAsIGNsYXNzIFAxMTQgLCBjbGFzcyBQMTE1ICwgY2xhc3MgUDExNiAsIGNsYXNzIFAxMTcgLCBjbGFzcyBQMTE4ICwgY2xhc3MgUDExOSAsIGNsYXNzIFAxMjAgLCBjbGFzcyBQMTIxICwgY2xhc3MgUDEyMiAsIGNsYXNzIFAxMjMgLCBjbGFzcyBQMTI0ICwgY2xhc3MgUDEyNSAsIGNsYXNzIFAxMjYgLCBjbGFzcyBQMTI3ICwgY2xhc3MgUDEyOCAsIGNsYXNzIFAxMjkgLCBjbGFzcyBQMTMwICwgY2xhc3MgUDEzMSAsIGNsYXNzIFAxMzIgLCBjbGFzcyBQMTMzICwgY2xhc3MgUDEzNCAsIGNsYXNzIFAxMzUgLCBjbGFzcyBQMTM2ICwgY2xhc3MgUDEzNyAsIGNsYXNzIFAxMzggLCBjbGFzcyBQMTM5ICwgY2xhc3MgUDE0MCAsIGNsYXNzIFAxNDEgLCBjbGFzcyBQMTQyICwgY2xhc3MgUDE0MyAsIGNsYXNzIFAxNDQgLCBjbGFzcyBQMTQ1ICwgY2xhc3MgUDE0NiAsIGNsYXNzIFAxNDcgLCBjbGFzcyBQMTQ4ICwgY2xhc3MgUDE0OSAsIGNsYXNzIFAxNTAgLCBjbGFzcyBQMTUxICwgY2xhc3MgUDE1MiAsIGNsYXNzIFAxNTMgLCBjbGFzcyBQMTU0ICwgY2xhc3MgUDE1NSAsIGNsYXNzIFAxNTYgLCBjbGFzcyBQMTU3ICwgY2xhc3MgUDE1OCAsIGNsYXNzIFAxNTkgLCBjbGFzcyBQMTYwICwgY2xhc3MgUDE2MSAsIGNsYXNzIFAxNjIgLCBjbGFzcyBQMTYzICwgY2xhc3MgUDE2NCAsIGNsYXNzIFAxNjUgLCBjbGFzcyBQMTY2ICwgY2xhc3MgUDE2NyAsIGNsYXNzIFAxNjggLCBjbGFzcyBQMTY5ICwgY2xhc3MgUDE3MCAsIGNsYXNzIFAxNzEgLCBjbGFzcyBQMTcyICwgY2xhc3MgUDE3MyAsIGNsYXNzIFAxNzQgLCBjbGFzcyBQMTc1ICwgY2xhc3MgUDE3NiAsIGNsYXNzIFAxNzcgLCBjbGFzcyBQMTc4ICwgY2xhc3MgUDE3OSAsIGNsYXNzIFAxODAgLCBjbGFzcyBQMTgxICwgY2xhc3MgUDE4MiAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjE4MzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MCAsIFAxNDEgLCBQMTQyICwgUDE0MyAsIFAxNDQgLCBQMTQ1ICwgUDE0NiAsIFAxNDcgLCBQMTQ4ICwgUDE0OSAsIFAxNTAgLCBQMTUxICwgUDE1MiAsIFAxNTMgLCBQMTU0ICwgUDE1NSAsIFAxNTYgLCBQMTU3ICwgUDE1OCAsIFAxNTkgLCBQMTYwICwgUDE2MSAsIFAxNjIgLCBQMTYzICwgUDE2NCAsIFAxNjUgLCBQMTY2ICwgUDE2NyAsIFAxNjggLCBQMTY5ICwgUDE3MCAsIFAxNzEgLCBQMTcyICwgUDE3MyAsIFAxNzQgLCBQMTc1ICwgUDE3NiAsIFAxNzcgLCBQMTc4ICwgUDE3OSAsIFAxODAgLCBQMTgxICwgUDE4Mj4sIFQ+IHsgdHlwZWRlZiBuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMTg0PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFA5MiAsIFA5MyAsIFA5NCAsIFA5NSAsIFA5NiAsIFA5NyAsIFA5OCAsIFA5OSAsIFAxMDAgLCBQMTAxICwgUDEwMiAsIFAxMDMgLCBQMTA0ICwgUDEwNSAsIFAxMDYgLCBQMTA3ICwgUDEwOCAsIFAxMDkgLCBQMTEwICwgUDExMSAsIFAxMTIgLCBQMTEzICwgUDExNCAsIFAxMTUgLCBQMTE2ICwgUDExNyAsIFAxMTggLCBQMTE5ICwgUDEyMCAsIFAxMjEgLCBQMTIyICwgUDEyMyAsIFAxMjQgLCBQMTI1ICwgUDEyNiAsIFAxMjcgLCBQMTI4ICwgUDEyOSAsIFAxMzAgLCBQMTMxICwgUDEzMiAsIFAxMzMgLCBQMTM0ICwgUDEzNSAsIFAxMzYgLCBQMTM3ICwgUDEzOCAsIFAxMzkgLCBQMTQwICwgUDE0MSAsIFAxNDIgLCBQMTQzICwgUDE0NCAsIFAxNDUgLCBQMTQ2ICwgUDE0NyAsIFAxNDggLCBQMTQ5ICwgUDE1MCAsIFAxNTEgLCBQMTUyICwgUDE1MyAsIFAxNTQgLCBQMTU1ICwgUDE1NiAsIFAxNTcgLCBQMTU4ICwgUDE1OSAsIFAxNjAgLCBQMTYxICwgUDE2MiAsIFAxNjMgLCBQMTY0ICwgUDE2NSAsIFAxNjYgLCBQMTY3ICwgUDE2OCAsIFAxNjkgLCBQMTcwICwgUDE3MSAsIFAxNzIgLCBQMTczICwgUDE3NCAsIFAxNzUgLCBQMTc2ICwgUDE3NyAsIFAxNzggLCBQMTc5ICwgUDE4MCAsIFAxODEgLCBQMTgyICwgVCA+IHR5cGU7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSAsIGNsYXNzIFA4NiAsIGNsYXNzIFA4NyAsIGNsYXNzIFA4OCAsIGNsYXNzIFA4OSAsIGNsYXNzIFA5MCAsIGNsYXNzIFA5MSAsIGNsYXNzIFA5MiAsIGNsYXNzIFA5MyAsIGNsYXNzIFA5NCAsIGNsYXNzIFA5NSAsIGNsYXNzIFA5NiAsIGNsYXNzIFA5NyAsIGNsYXNzIFA5OCAsIGNsYXNzIFA5OSAsIGNsYXNzIFAxMDAgLCBjbGFzcyBQMTAxICwgY2xhc3MgUDEwMiAsIGNsYXNzIFAxMDMgLCBjbGFzcyBQMTA0ICwgY2xhc3MgUDEwNSAsIGNsYXNzIFAxMDYgLCBjbGFzcyBQMTA3ICwgY2xhc3MgUDEwOCAsIGNsYXNzIFAxMDkgLCBjbGFzcyBQMTEwICwgY2xhc3MgUDExMSAsIGNsYXNzIFAxMTIgLCBjbGFzcyBQMTEzICwgY2xhc3MgUDExNCAsIGNsYXNzIFAxMTUgLCBjbGFzcyBQMTE2ICwgY2xhc3MgUDExNyAsIGNsYXNzIFAxMTggLCBjbGFzcyBQMTE5ICwgY2xhc3MgUDEyMCAsIGNsYXNzIFAxMjEgLCBjbGFzcyBQMTIyICwgY2xhc3MgUDEyMyAsIGNsYXNzIFAxMjQgLCBjbGFzcyBQMTI1ICwgY2xhc3MgUDEyNiAsIGNsYXNzIFAxMjcgLCBjbGFzcyBQMTI4ICwgY2xhc3MgUDEyOSAsIGNsYXNzIFAxMzAgLCBjbGFzcyBQMTMxICwgY2xhc3MgUDEzMiAsIGNsYXNzIFAxMzMgLCBjbGFzcyBQMTM0ICwgY2xhc3MgUDEzNSAsIGNsYXNzIFAxMzYgLCBjbGFzcyBQMTM3ICwgY2xhc3MgUDEzOCAsIGNsYXNzIFAxMzkgLCBjbGFzcyBQMTQwICwgY2xhc3MgUDE0MSAsIGNsYXNzIFAxNDIgLCBjbGFzcyBQMTQzICwgY2xhc3MgUDE0NCAsIGNsYXNzIFAxNDUgLCBjbGFzcyBQMTQ2ICwgY2xhc3MgUDE0NyAsIGNsYXNzIFAxNDggLCBjbGFzcyBQMTQ5ICwgY2xhc3MgUDE1MCAsIGNsYXNzIFAxNTEgLCBjbGFzcyBQMTUyICwgY2xhc3MgUDE1MyAsIGNsYXNzIFAxNTQgLCBjbGFzcyBQMTU1ICwgY2xhc3MgUDE1NiAsIGNsYXNzIFAxNTcgLCBjbGFzcyBQMTU4ICwgY2xhc3MgUDE1OSAsIGNsYXNzIFAxNjAgLCBjbGFzcyBQMTYxICwgY2xhc3MgUDE2MiAsIGNsYXNzIFAxNjMgLCBjbGFzcyBQMTY0ICwgY2xhc3MgUDE2NSAsIGNsYXNzIFAxNjYgLCBjbGFzcyBQMTY3ICwgY2xhc3MgUDE2OCAsIGNsYXNzIFAxNjkgLCBjbGFzcyBQMTcwICwgY2xhc3MgUDE3MSAsIGNsYXNzIFAxNzIgLCBjbGFzcyBQMTczICwgY2xhc3MgUDE3NCAsIGNsYXNzIFAxNzUgLCBjbGFzcyBQMTc2ICwgY2xhc3MgUDE3NyAsIGNsYXNzIFAxNzggLCBjbGFzcyBQMTc5ICwgY2xhc3MgUDE4MCAsIGNsYXNzIFAxODEgLCBjbGFzcyBQMTgyICwgY2xhc3MgUDE4MyAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjE4NDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MCAsIFAxNDEgLCBQMTQyICwgUDE0MyAsIFAxNDQgLCBQMTQ1ICwgUDE0NiAsIFAxNDcgLCBQMTQ4ICwgUDE0OSAsIFAxNTAgLCBQMTUxICwgUDE1MiAsIFAxNTMgLCBQMTU0ICwgUDE1NSAsIFAxNTYgLCBQMTU3ICwgUDE1OCAsIFAxNTkgLCBQMTYwICwgUDE2MSAsIFAxNjIgLCBQMTYzICwgUDE2NCAsIFAxNjUgLCBQMTY2ICwgUDE2NyAsIFAxNjggLCBQMTY5ICwgUDE3MCAsIFAxNzEgLCBQMTcyICwgUDE3MyAsIFAxNzQgLCBQMTc1ICwgUDE3NiAsIFAxNzcgLCBQMTc4ICwgUDE3OSAsIFAxODAgLCBQMTgxICwgUDE4MiAsIFAxODM+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjE4NTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MCAsIFAxNDEgLCBQMTQyICwgUDE0MyAsIFAxNDQgLCBQMTQ1ICwgUDE0NiAsIFAxNDcgLCBQMTQ4ICwgUDE0OSAsIFAxNTAgLCBQMTUxICwgUDE1MiAsIFAxNTMgLCBQMTU0ICwgUDE1NSAsIFAxNTYgLCBQMTU3ICwgUDE1OCAsIFAxNTkgLCBQMTYwICwgUDE2MSAsIFAxNjIgLCBQMTYzICwgUDE2NCAsIFAxNjUgLCBQMTY2ICwgUDE2NyAsIFAxNjggLCBQMTY5ICwgUDE3MCAsIFAxNzEgLCBQMTcyICwgUDE3MyAsIFAxNzQgLCBQMTc1ICwgUDE3NiAsIFAxNzcgLCBQMTc4ICwgUDE3OSAsIFAxODAgLCBQMTgxICwgUDE4MiAsIFAxODMgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ICwgY2xhc3MgUDk2ICwgY2xhc3MgUDk3ICwgY2xhc3MgUDk4ICwgY2xhc3MgUDk5ICwgY2xhc3MgUDEwMCAsIGNsYXNzIFAxMDEgLCBjbGFzcyBQMTAyICwgY2xhc3MgUDEwMyAsIGNsYXNzIFAxMDQgLCBjbGFzcyBQMTA1ICwgY2xhc3MgUDEwNiAsIGNsYXNzIFAxMDcgLCBjbGFzcyBQMTA4ICwgY2xhc3MgUDEwOSAsIGNsYXNzIFAxMTAgLCBjbGFzcyBQMTExICwgY2xhc3MgUDExMiAsIGNsYXNzIFAxMTMgLCBjbGFzcyBQMTE0ICwgY2xhc3MgUDExNSAsIGNsYXNzIFAxMTYgLCBjbGFzcyBQMTE3ICwgY2xhc3MgUDExOCAsIGNsYXNzIFAxMTkgLCBjbGFzcyBQMTIwICwgY2xhc3MgUDEyMSAsIGNsYXNzIFAxMjIgLCBjbGFzcyBQMTIzICwgY2xhc3MgUDEyNCAsIGNsYXNzIFAxMjUgLCBjbGFzcyBQMTI2ICwgY2xhc3MgUDEyNyAsIGNsYXNzIFAxMjggLCBjbGFzcyBQMTI5ICwgY2xhc3MgUDEzMCAsIGNsYXNzIFAxMzEgLCBjbGFzcyBQMTMyICwgY2xhc3MgUDEzMyAsIGNsYXNzIFAxMzQgLCBjbGFzcyBQMTM1ICwgY2xhc3MgUDEzNiAsIGNsYXNzIFAxMzcgLCBjbGFzcyBQMTM4ICwgY2xhc3MgUDEzOSAsIGNsYXNzIFAxNDAgLCBjbGFzcyBQMTQxICwgY2xhc3MgUDE0MiAsIGNsYXNzIFAxNDMgLCBjbGFzcyBQMTQ0ICwgY2xhc3MgUDE0NSAsIGNsYXNzIFAxNDYgLCBjbGFzcyBQMTQ3ICwgY2xhc3MgUDE0OCAsIGNsYXNzIFAxNDkgLCBjbGFzcyBQMTUwICwgY2xhc3MgUDE1MSAsIGNsYXNzIFAxNTIgLCBjbGFzcyBQMTUzICwgY2xhc3MgUDE1NCAsIGNsYXNzIFAxNTUgLCBjbGFzcyBQMTU2ICwgY2xhc3MgUDE1NyAsIGNsYXNzIFAxNTggLCBjbGFzcyBQMTU5ICwgY2xhc3MgUDE2MCAsIGNsYXNzIFAxNjEgLCBjbGFzcyBQMTYyICwgY2xhc3MgUDE2MyAsIGNsYXNzIFAxNjQgLCBjbGFzcyBQMTY1ICwgY2xhc3MgUDE2NiAsIGNsYXNzIFAxNjcgLCBjbGFzcyBQMTY4ICwgY2xhc3MgUDE2OSAsIGNsYXNzIFAxNzAgLCBjbGFzcyBQMTcxICwgY2xhc3MgUDE3MiAsIGNsYXNzIFAxNzMgLCBjbGFzcyBQMTc0ICwgY2xhc3MgUDE3NSAsIGNsYXNzIFAxNzYgLCBjbGFzcyBQMTc3ICwgY2xhc3MgUDE3OCAsIGNsYXNzIFAxNzkgLCBjbGFzcyBQMTgwICwgY2xhc3MgUDE4MSAsIGNsYXNzIFAxODIgLCBjbGFzcyBQMTgzICwgY2xhc3MgUDE4NCAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjE4NTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MCAsIFAxNDEgLCBQMTQyICwgUDE0MyAsIFAxNDQgLCBQMTQ1ICwgUDE0NiAsIFAxNDcgLCBQMTQ4ICwgUDE0OSAsIFAxNTAgLCBQMTUxICwgUDE1MiAsIFAxNTMgLCBQMTU0ICwgUDE1NSAsIFAxNTYgLCBQMTU3ICwgUDE1OCAsIFAxNTkgLCBQMTYwICwgUDE2MSAsIFAxNjIgLCBQMTYzICwgUDE2NCAsIFAxNjUgLCBQMTY2ICwgUDE2NyAsIFAxNjggLCBQMTY5ICwgUDE3MCAsIFAxNzEgLCBQMTcyICwgUDE3MyAsIFAxNzQgLCBQMTc1ICwgUDE3NiAsIFAxNzcgLCBQMTc4ICwgUDE3OSAsIFAxODAgLCBQMTgxICwgUDE4MiAsIFAxODMgLCBQMTg0PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IxODY8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1ICwgUDk2ICwgUDk3ICwgUDk4ICwgUDk5ICwgUDEwMCAsIFAxMDEgLCBQMTAyICwgUDEwMyAsIFAxMDQgLCBQMTA1ICwgUDEwNiAsIFAxMDcgLCBQMTA4ICwgUDEwOSAsIFAxMTAgLCBQMTExICwgUDExMiAsIFAxMTMgLCBQMTE0ICwgUDExNSAsIFAxMTYgLCBQMTE3ICwgUDExOCAsIFAxMTkgLCBQMTIwICwgUDEyMSAsIFAxMjIgLCBQMTIzICwgUDEyNCAsIFAxMjUgLCBQMTI2ICwgUDEyNyAsIFAxMjggLCBQMTI5ICwgUDEzMCAsIFAxMzEgLCBQMTMyICwgUDEzMyAsIFAxMzQgLCBQMTM1ICwgUDEzNiAsIFAxMzcgLCBQMTM4ICwgUDEzOSAsIFAxNDAgLCBQMTQxICwgUDE0MiAsIFAxNDMgLCBQMTQ0ICwgUDE0NSAsIFAxNDYgLCBQMTQ3ICwgUDE0OCAsIFAxNDkgLCBQMTUwICwgUDE1MSAsIFAxNTIgLCBQMTUzICwgUDE1NCAsIFAxNTUgLCBQMTU2ICwgUDE1NyAsIFAxNTggLCBQMTU5ICwgUDE2MCAsIFAxNjEgLCBQMTYyICwgUDE2MyAsIFAxNjQgLCBQMTY1ICwgUDE2NiAsIFAxNjcgLCBQMTY4ICwgUDE2OSAsIFAxNzAgLCBQMTcxICwgUDE3MiAsIFAxNzMgLCBQMTc0ICwgUDE3NSAsIFAxNzYgLCBQMTc3ICwgUDE3OCAsIFAxNzkgLCBQMTgwICwgUDE4MSAsIFAxODIgLCBQMTgzICwgUDE4NCAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBQOTMgLCBjbGFzcyBQOTQgLCBjbGFzcyBQOTUgLCBjbGFzcyBQOTYgLCBjbGFzcyBQOTcgLCBjbGFzcyBQOTggLCBjbGFzcyBQOTkgLCBjbGFzcyBQMTAwICwgY2xhc3MgUDEwMSAsIGNsYXNzIFAxMDIgLCBjbGFzcyBQMTAzICwgY2xhc3MgUDEwNCAsIGNsYXNzIFAxMDUgLCBjbGFzcyBQMTA2ICwgY2xhc3MgUDEwNyAsIGNsYXNzIFAxMDggLCBjbGFzcyBQMTA5ICwgY2xhc3MgUDExMCAsIGNsYXNzIFAxMTEgLCBjbGFzcyBQMTEyICwgY2xhc3MgUDExMyAsIGNsYXNzIFAxMTQgLCBjbGFzcyBQMTE1ICwgY2xhc3MgUDExNiAsIGNsYXNzIFAxMTcgLCBjbGFzcyBQMTE4ICwgY2xhc3MgUDExOSAsIGNsYXNzIFAxMjAgLCBjbGFzcyBQMTIxICwgY2xhc3MgUDEyMiAsIGNsYXNzIFAxMjMgLCBjbGFzcyBQMTI0ICwgY2xhc3MgUDEyNSAsIGNsYXNzIFAxMjYgLCBjbGFzcyBQMTI3ICwgY2xhc3MgUDEyOCAsIGNsYXNzIFAxMjkgLCBjbGFzcyBQMTMwICwgY2xhc3MgUDEzMSAsIGNsYXNzIFAxMzIgLCBjbGFzcyBQMTMzICwgY2xhc3MgUDEzNCAsIGNsYXNzIFAxMzUgLCBjbGFzcyBQMTM2ICwgY2xhc3MgUDEzNyAsIGNsYXNzIFAxMzggLCBjbGFzcyBQMTM5ICwgY2xhc3MgUDE0MCAsIGNsYXNzIFAxNDEgLCBjbGFzcyBQMTQyICwgY2xhc3MgUDE0MyAsIGNsYXNzIFAxNDQgLCBjbGFzcyBQMTQ1ICwgY2xhc3MgUDE0NiAsIGNsYXNzIFAxNDcgLCBjbGFzcyBQMTQ4ICwgY2xhc3MgUDE0OSAsIGNsYXNzIFAxNTAgLCBjbGFzcyBQMTUxICwgY2xhc3MgUDE1MiAsIGNsYXNzIFAxNTMgLCBjbGFzcyBQMTU0ICwgY2xhc3MgUDE1NSAsIGNsYXNzIFAxNTYgLCBjbGFzcyBQMTU3ICwgY2xhc3MgUDE1OCAsIGNsYXNzIFAxNTkgLCBjbGFzcyBQMTYwICwgY2xhc3MgUDE2MSAsIGNsYXNzIFAxNjIgLCBjbGFzcyBQMTYzICwgY2xhc3MgUDE2NCAsIGNsYXNzIFAxNjUgLCBjbGFzcyBQMTY2ICwgY2xhc3MgUDE2NyAsIGNsYXNzIFAxNjggLCBjbGFzcyBQMTY5ICwgY2xhc3MgUDE3MCAsIGNsYXNzIFAxNzEgLCBjbGFzcyBQMTcyICwgY2xhc3MgUDE3MyAsIGNsYXNzIFAxNzQgLCBjbGFzcyBQMTc1ICwgY2xhc3MgUDE3NiAsIGNsYXNzIFAxNzcgLCBjbGFzcyBQMTc4ICwgY2xhc3MgUDE3OSAsIGNsYXNzIFAxODAgLCBjbGFzcyBQMTgxICwgY2xhc3MgUDE4MiAsIGNsYXNzIFAxODMgLCBjbGFzcyBQMTg0ICwgY2xhc3MgUDE4NSAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjE4NjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MCAsIFAxNDEgLCBQMTQyICwgUDE0MyAsIFAxNDQgLCBQMTQ1ICwgUDE0NiAsIFAxNDcgLCBQMTQ4ICwgUDE0OSAsIFAxNTAgLCBQMTUxICwgUDE1MiAsIFAxNTMgLCBQMTU0ICwgUDE1NSAsIFAxNTYgLCBQMTU3ICwgUDE1OCAsIFAxNTkgLCBQMTYwICwgUDE2MSAsIFAxNjIgLCBQMTYzICwgUDE2NCAsIFAxNjUgLCBQMTY2ICwgUDE2NyAsIFAxNjggLCBQMTY5ICwgUDE3MCAsIFAxNzEgLCBQMTcyICwgUDE3MyAsIFAxNzQgLCBQMTc1ICwgUDE3NiAsIFAxNzcgLCBQMTc4ICwgUDE3OSAsIFAxODAgLCBQMTgxICwgUDE4MiAsIFAxODMgLCBQMTg0ICwgUDE4NT4sIFQ+IHsgdHlwZWRlZiBuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMTg3PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFA5MiAsIFA5MyAsIFA5NCAsIFA5NSAsIFA5NiAsIFA5NyAsIFA5OCAsIFA5OSAsIFAxMDAgLCBQMTAxICwgUDEwMiAsIFAxMDMgLCBQMTA0ICwgUDEwNSAsIFAxMDYgLCBQMTA3ICwgUDEwOCAsIFAxMDkgLCBQMTEwICwgUDExMSAsIFAxMTIgLCBQMTEzICwgUDExNCAsIFAxMTUgLCBQMTE2ICwgUDExNyAsIFAxMTggLCBQMTE5ICwgUDEyMCAsIFAxMjEgLCBQMTIyICwgUDEyMyAsIFAxMjQgLCBQMTI1ICwgUDEyNiAsIFAxMjcgLCBQMTI4ICwgUDEyOSAsIFAxMzAgLCBQMTMxICwgUDEzMiAsIFAxMzMgLCBQMTM0ICwgUDEzNSAsIFAxMzYgLCBQMTM3ICwgUDEzOCAsIFAxMzkgLCBQMTQwICwgUDE0MSAsIFAxNDIgLCBQMTQzICwgUDE0NCAsIFAxNDUgLCBQMTQ2ICwgUDE0NyAsIFAxNDggLCBQMTQ5ICwgUDE1MCAsIFAxNTEgLCBQMTUyICwgUDE1MyAsIFAxNTQgLCBQMTU1ICwgUDE1NiAsIFAxNTcgLCBQMTU4ICwgUDE1OSAsIFAxNjAgLCBQMTYxICwgUDE2MiAsIFAxNjMgLCBQMTY0ICwgUDE2NSAsIFAxNjYgLCBQMTY3ICwgUDE2OCAsIFAxNjkgLCBQMTcwICwgUDE3MSAsIFAxNzIgLCBQMTczICwgUDE3NCAsIFAxNzUgLCBQMTc2ICwgUDE3NyAsIFAxNzggLCBQMTc5ICwgUDE4MCAsIFAxODEgLCBQMTgyICwgUDE4MyAsIFAxODQgLCBQMTg1ICwgVCA+IHR5cGU7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSAsIGNsYXNzIFA4NiAsIGNsYXNzIFA4NyAsIGNsYXNzIFA4OCAsIGNsYXNzIFA4OSAsIGNsYXNzIFA5MCAsIGNsYXNzIFA5MSAsIGNsYXNzIFA5MiAsIGNsYXNzIFA5MyAsIGNsYXNzIFA5NCAsIGNsYXNzIFA5NSAsIGNsYXNzIFA5NiAsIGNsYXNzIFA5NyAsIGNsYXNzIFA5OCAsIGNsYXNzIFA5OSAsIGNsYXNzIFAxMDAgLCBjbGFzcyBQMTAxICwgY2xhc3MgUDEwMiAsIGNsYXNzIFAxMDMgLCBjbGFzcyBQMTA0ICwgY2xhc3MgUDEwNSAsIGNsYXNzIFAxMDYgLCBjbGFzcyBQMTA3ICwgY2xhc3MgUDEwOCAsIGNsYXNzIFAxMDkgLCBjbGFzcyBQMTEwICwgY2xhc3MgUDExMSAsIGNsYXNzIFAxMTIgLCBjbGFzcyBQMTEzICwgY2xhc3MgUDExNCAsIGNsYXNzIFAxMTUgLCBjbGFzcyBQMTE2ICwgY2xhc3MgUDExNyAsIGNsYXNzIFAxMTggLCBjbGFzcyBQMTE5ICwgY2xhc3MgUDEyMCAsIGNsYXNzIFAxMjEgLCBjbGFzcyBQMTIyICwgY2xhc3MgUDEyMyAsIGNsYXNzIFAxMjQgLCBjbGFzcyBQMTI1ICwgY2xhc3MgUDEyNiAsIGNsYXNzIFAxMjcgLCBjbGFzcyBQMTI4ICwgY2xhc3MgUDEyOSAsIGNsYXNzIFAxMzAgLCBjbGFzcyBQMTMxICwgY2xhc3MgUDEzMiAsIGNsYXNzIFAxMzMgLCBjbGFzcyBQMTM0ICwgY2xhc3MgUDEzNSAsIGNsYXNzIFAxMzYgLCBjbGFzcyBQMTM3ICwgY2xhc3MgUDEzOCAsIGNsYXNzIFAxMzkgLCBjbGFzcyBQMTQwICwgY2xhc3MgUDE0MSAsIGNsYXNzIFAxNDIgLCBjbGFzcyBQMTQzICwgY2xhc3MgUDE0NCAsIGNsYXNzIFAxNDUgLCBjbGFzcyBQMTQ2ICwgY2xhc3MgUDE0NyAsIGNsYXNzIFAxNDggLCBjbGFzcyBQMTQ5ICwgY2xhc3MgUDE1MCAsIGNsYXNzIFAxNTEgLCBjbGFzcyBQMTUyICwgY2xhc3MgUDE1MyAsIGNsYXNzIFAxNTQgLCBjbGFzcyBQMTU1ICwgY2xhc3MgUDE1NiAsIGNsYXNzIFAxNTcgLCBjbGFzcyBQMTU4ICwgY2xhc3MgUDE1OSAsIGNsYXNzIFAxNjAgLCBjbGFzcyBQMTYxICwgY2xhc3MgUDE2MiAsIGNsYXNzIFAxNjMgLCBjbGFzcyBQMTY0ICwgY2xhc3MgUDE2NSAsIGNsYXNzIFAxNjYgLCBjbGFzcyBQMTY3ICwgY2xhc3MgUDE2OCAsIGNsYXNzIFAxNjkgLCBjbGFzcyBQMTcwICwgY2xhc3MgUDE3MSAsIGNsYXNzIFAxNzIgLCBjbGFzcyBQMTczICwgY2xhc3MgUDE3NCAsIGNsYXNzIFAxNzUgLCBjbGFzcyBQMTc2ICwgY2xhc3MgUDE3NyAsIGNsYXNzIFAxNzggLCBjbGFzcyBQMTc5ICwgY2xhc3MgUDE4MCAsIGNsYXNzIFAxODEgLCBjbGFzcyBQMTgyICwgY2xhc3MgUDE4MyAsIGNsYXNzIFAxODQgLCBjbGFzcyBQMTg1ICwgY2xhc3MgUDE4NiAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjE4NzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MCAsIFAxNDEgLCBQMTQyICwgUDE0MyAsIFAxNDQgLCBQMTQ1ICwgUDE0NiAsIFAxNDcgLCBQMTQ4ICwgUDE0OSAsIFAxNTAgLCBQMTUxICwgUDE1MiAsIFAxNTMgLCBQMTU0ICwgUDE1NSAsIFAxNTYgLCBQMTU3ICwgUDE1OCAsIFAxNTkgLCBQMTYwICwgUDE2MSAsIFAxNjIgLCBQMTYzICwgUDE2NCAsIFAxNjUgLCBQMTY2ICwgUDE2NyAsIFAxNjggLCBQMTY5ICwgUDE3MCAsIFAxNzEgLCBQMTcyICwgUDE3MyAsIFAxNzQgLCBQMTc1ICwgUDE3NiAsIFAxNzcgLCBQMTc4ICwgUDE3OSAsIFAxODAgLCBQMTgxICwgUDE4MiAsIFAxODMgLCBQMTg0ICwgUDE4NSAsIFAxODY+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjE4ODwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MCAsIFAxNDEgLCBQMTQyICwgUDE0MyAsIFAxNDQgLCBQMTQ1ICwgUDE0NiAsIFAxNDcgLCBQMTQ4ICwgUDE0OSAsIFAxNTAgLCBQMTUxICwgUDE1MiAsIFAxNTMgLCBQMTU0ICwgUDE1NSAsIFAxNTYgLCBQMTU3ICwgUDE1OCAsIFAxNTkgLCBQMTYwICwgUDE2MSAsIFAxNjIgLCBQMTYzICwgUDE2NCAsIFAxNjUgLCBQMTY2ICwgUDE2NyAsIFAxNjggLCBQMTY5ICwgUDE3MCAsIFAxNzEgLCBQMTcyICwgUDE3MyAsIFAxNzQgLCBQMTc1ICwgUDE3NiAsIFAxNzcgLCBQMTc4ICwgUDE3OSAsIFAxODAgLCBQMTgxICwgUDE4MiAsIFAxODMgLCBQMTg0ICwgUDE4NSAsIFAxODYgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ICwgY2xhc3MgUDk2ICwgY2xhc3MgUDk3ICwgY2xhc3MgUDk4ICwgY2xhc3MgUDk5ICwgY2xhc3MgUDEwMCAsIGNsYXNzIFAxMDEgLCBjbGFzcyBQMTAyICwgY2xhc3MgUDEwMyAsIGNsYXNzIFAxMDQgLCBjbGFzcyBQMTA1ICwgY2xhc3MgUDEwNiAsIGNsYXNzIFAxMDcgLCBjbGFzcyBQMTA4ICwgY2xhc3MgUDEwOSAsIGNsYXNzIFAxMTAgLCBjbGFzcyBQMTExICwgY2xhc3MgUDExMiAsIGNsYXNzIFAxMTMgLCBjbGFzcyBQMTE0ICwgY2xhc3MgUDExNSAsIGNsYXNzIFAxMTYgLCBjbGFzcyBQMTE3ICwgY2xhc3MgUDExOCAsIGNsYXNzIFAxMTkgLCBjbGFzcyBQMTIwICwgY2xhc3MgUDEyMSAsIGNsYXNzIFAxMjIgLCBjbGFzcyBQMTIzICwgY2xhc3MgUDEyNCAsIGNsYXNzIFAxMjUgLCBjbGFzcyBQMTI2ICwgY2xhc3MgUDEyNyAsIGNsYXNzIFAxMjggLCBjbGFzcyBQMTI5ICwgY2xhc3MgUDEzMCAsIGNsYXNzIFAxMzEgLCBjbGFzcyBQMTMyICwgY2xhc3MgUDEzMyAsIGNsYXNzIFAxMzQgLCBjbGFzcyBQMTM1ICwgY2xhc3MgUDEzNiAsIGNsYXNzIFAxMzcgLCBjbGFzcyBQMTM4ICwgY2xhc3MgUDEzOSAsIGNsYXNzIFAxNDAgLCBjbGFzcyBQMTQxICwgY2xhc3MgUDE0MiAsIGNsYXNzIFAxNDMgLCBjbGFzcyBQMTQ0ICwgY2xhc3MgUDE0NSAsIGNsYXNzIFAxNDYgLCBjbGFzcyBQMTQ3ICwgY2xhc3MgUDE0OCAsIGNsYXNzIFAxNDkgLCBjbGFzcyBQMTUwICwgY2xhc3MgUDE1MSAsIGNsYXNzIFAxNTIgLCBjbGFzcyBQMTUzICwgY2xhc3MgUDE1NCAsIGNsYXNzIFAxNTUgLCBjbGFzcyBQMTU2ICwgY2xhc3MgUDE1NyAsIGNsYXNzIFAxNTggLCBjbGFzcyBQMTU5ICwgY2xhc3MgUDE2MCAsIGNsYXNzIFAxNjEgLCBjbGFzcyBQMTYyICwgY2xhc3MgUDE2MyAsIGNsYXNzIFAxNjQgLCBjbGFzcyBQMTY1ICwgY2xhc3MgUDE2NiAsIGNsYXNzIFAxNjcgLCBjbGFzcyBQMTY4ICwgY2xhc3MgUDE2OSAsIGNsYXNzIFAxNzAgLCBjbGFzcyBQMTcxICwgY2xhc3MgUDE3MiAsIGNsYXNzIFAxNzMgLCBjbGFzcyBQMTc0ICwgY2xhc3MgUDE3NSAsIGNsYXNzIFAxNzYgLCBjbGFzcyBQMTc3ICwgY2xhc3MgUDE3OCAsIGNsYXNzIFAxNzkgLCBjbGFzcyBQMTgwICwgY2xhc3MgUDE4MSAsIGNsYXNzIFAxODIgLCBjbGFzcyBQMTgzICwgY2xhc3MgUDE4NCAsIGNsYXNzIFAxODUgLCBjbGFzcyBQMTg2ICwgY2xhc3MgUDE4NyAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjE4ODwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MCAsIFAxNDEgLCBQMTQyICwgUDE0MyAsIFAxNDQgLCBQMTQ1ICwgUDE0NiAsIFAxNDcgLCBQMTQ4ICwgUDE0OSAsIFAxNTAgLCBQMTUxICwgUDE1MiAsIFAxNTMgLCBQMTU0ICwgUDE1NSAsIFAxNTYgLCBQMTU3ICwgUDE1OCAsIFAxNTkgLCBQMTYwICwgUDE2MSAsIFAxNjIgLCBQMTYzICwgUDE2NCAsIFAxNjUgLCBQMTY2ICwgUDE2NyAsIFAxNjggLCBQMTY5ICwgUDE3MCAsIFAxNzEgLCBQMTcyICwgUDE3MyAsIFAxNzQgLCBQMTc1ICwgUDE3NiAsIFAxNzcgLCBQMTc4ICwgUDE3OSAsIFAxODAgLCBQMTgxICwgUDE4MiAsIFAxODMgLCBQMTg0ICwgUDE4NSAsIFAxODYgLCBQMTg3PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IxODk8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1ICwgUDk2ICwgUDk3ICwgUDk4ICwgUDk5ICwgUDEwMCAsIFAxMDEgLCBQMTAyICwgUDEwMyAsIFAxMDQgLCBQMTA1ICwgUDEwNiAsIFAxMDcgLCBQMTA4ICwgUDEwOSAsIFAxMTAgLCBQMTExICwgUDExMiAsIFAxMTMgLCBQMTE0ICwgUDExNSAsIFAxMTYgLCBQMTE3ICwgUDExOCAsIFAxMTkgLCBQMTIwICwgUDEyMSAsIFAxMjIgLCBQMTIzICwgUDEyNCAsIFAxMjUgLCBQMTI2ICwgUDEyNyAsIFAxMjggLCBQMTI5ICwgUDEzMCAsIFAxMzEgLCBQMTMyICwgUDEzMyAsIFAxMzQgLCBQMTM1ICwgUDEzNiAsIFAxMzcgLCBQMTM4ICwgUDEzOSAsIFAxNDAgLCBQMTQxICwgUDE0MiAsIFAxNDMgLCBQMTQ0ICwgUDE0NSAsIFAxNDYgLCBQMTQ3ICwgUDE0OCAsIFAxNDkgLCBQMTUwICwgUDE1MSAsIFAxNTIgLCBQMTUzICwgUDE1NCAsIFAxNTUgLCBQMTU2ICwgUDE1NyAsIFAxNTggLCBQMTU5ICwgUDE2MCAsIFAxNjEgLCBQMTYyICwgUDE2MyAsIFAxNjQgLCBQMTY1ICwgUDE2NiAsIFAxNjcgLCBQMTY4ICwgUDE2OSAsIFAxNzAgLCBQMTcxICwgUDE3MiAsIFAxNzMgLCBQMTc0ICwgUDE3NSAsIFAxNzYgLCBQMTc3ICwgUDE3OCAsIFAxNzkgLCBQMTgwICwgUDE4MSAsIFAxODIgLCBQMTgzICwgUDE4NCAsIFAxODUgLCBQMTg2ICwgUDE4NyAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBQOTMgLCBjbGFzcyBQOTQgLCBjbGFzcyBQOTUgLCBjbGFzcyBQOTYgLCBjbGFzcyBQOTcgLCBjbGFzcyBQOTggLCBjbGFzcyBQOTkgLCBjbGFzcyBQMTAwICwgY2xhc3MgUDEwMSAsIGNsYXNzIFAxMDIgLCBjbGFzcyBQMTAzICwgY2xhc3MgUDEwNCAsIGNsYXNzIFAxMDUgLCBjbGFzcyBQMTA2ICwgY2xhc3MgUDEwNyAsIGNsYXNzIFAxMDggLCBjbGFzcyBQMTA5ICwgY2xhc3MgUDExMCAsIGNsYXNzIFAxMTEgLCBjbGFzcyBQMTEyICwgY2xhc3MgUDExMyAsIGNsYXNzIFAxMTQgLCBjbGFzcyBQMTE1ICwgY2xhc3MgUDExNiAsIGNsYXNzIFAxMTcgLCBjbGFzcyBQMTE4ICwgY2xhc3MgUDExOSAsIGNsYXNzIFAxMjAgLCBjbGFzcyBQMTIxICwgY2xhc3MgUDEyMiAsIGNsYXNzIFAxMjMgLCBjbGFzcyBQMTI0ICwgY2xhc3MgUDEyNSAsIGNsYXNzIFAxMjYgLCBjbGFzcyBQMTI3ICwgY2xhc3MgUDEyOCAsIGNsYXNzIFAxMjkgLCBjbGFzcyBQMTMwICwgY2xhc3MgUDEzMSAsIGNsYXNzIFAxMzIgLCBjbGFzcyBQMTMzICwgY2xhc3MgUDEzNCAsIGNsYXNzIFAxMzUgLCBjbGFzcyBQMTM2ICwgY2xhc3MgUDEzNyAsIGNsYXNzIFAxMzggLCBjbGFzcyBQMTM5ICwgY2xhc3MgUDE0MCAsIGNsYXNzIFAxNDEgLCBjbGFzcyBQMTQyICwgY2xhc3MgUDE0MyAsIGNsYXNzIFAxNDQgLCBjbGFzcyBQMTQ1ICwgY2xhc3MgUDE0NiAsIGNsYXNzIFAxNDcgLCBjbGFzcyBQMTQ4ICwgY2xhc3MgUDE0OSAsIGNsYXNzIFAxNTAgLCBjbGFzcyBQMTUxICwgY2xhc3MgUDE1MiAsIGNsYXNzIFAxNTMgLCBjbGFzcyBQMTU0ICwgY2xhc3MgUDE1NSAsIGNsYXNzIFAxNTYgLCBjbGFzcyBQMTU3ICwgY2xhc3MgUDE1OCAsIGNsYXNzIFAxNTkgLCBjbGFzcyBQMTYwICwgY2xhc3MgUDE2MSAsIGNsYXNzIFAxNjIgLCBjbGFzcyBQMTYzICwgY2xhc3MgUDE2NCAsIGNsYXNzIFAxNjUgLCBjbGFzcyBQMTY2ICwgY2xhc3MgUDE2NyAsIGNsYXNzIFAxNjggLCBjbGFzcyBQMTY5ICwgY2xhc3MgUDE3MCAsIGNsYXNzIFAxNzEgLCBjbGFzcyBQMTcyICwgY2xhc3MgUDE3MyAsIGNsYXNzIFAxNzQgLCBjbGFzcyBQMTc1ICwgY2xhc3MgUDE3NiAsIGNsYXNzIFAxNzcgLCBjbGFzcyBQMTc4ICwgY2xhc3MgUDE3OSAsIGNsYXNzIFAxODAgLCBjbGFzcyBQMTgxICwgY2xhc3MgUDE4MiAsIGNsYXNzIFAxODMgLCBjbGFzcyBQMTg0ICwgY2xhc3MgUDE4NSAsIGNsYXNzIFAxODYgLCBjbGFzcyBQMTg3ICwgY2xhc3MgUDE4OCAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjE4OTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MCAsIFAxNDEgLCBQMTQyICwgUDE0MyAsIFAxNDQgLCBQMTQ1ICwgUDE0NiAsIFAxNDcgLCBQMTQ4ICwgUDE0OSAsIFAxNTAgLCBQMTUxICwgUDE1MiAsIFAxNTMgLCBQMTU0ICwgUDE1NSAsIFAxNTYgLCBQMTU3ICwgUDE1OCAsIFAxNTkgLCBQMTYwICwgUDE2MSAsIFAxNjIgLCBQMTYzICwgUDE2NCAsIFAxNjUgLCBQMTY2ICwgUDE2NyAsIFAxNjggLCBQMTY5ICwgUDE3MCAsIFAxNzEgLCBQMTcyICwgUDE3MyAsIFAxNzQgLCBQMTc1ICwgUDE3NiAsIFAxNzcgLCBQMTc4ICwgUDE3OSAsIFAxODAgLCBQMTgxICwgUDE4MiAsIFAxODMgLCBQMTg0ICwgUDE4NSAsIFAxODYgLCBQMTg3ICwgUDE4OD4sIFQ+IHsgdHlwZWRlZiBuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMTkwPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFA5MiAsIFA5MyAsIFA5NCAsIFA5NSAsIFA5NiAsIFA5NyAsIFA5OCAsIFA5OSAsIFAxMDAgLCBQMTAxICwgUDEwMiAsIFAxMDMgLCBQMTA0ICwgUDEwNSAsIFAxMDYgLCBQMTA3ICwgUDEwOCAsIFAxMDkgLCBQMTEwICwgUDExMSAsIFAxMTIgLCBQMTEzICwgUDExNCAsIFAxMTUgLCBQMTE2ICwgUDExNyAsIFAxMTggLCBQMTE5ICwgUDEyMCAsIFAxMjEgLCBQMTIyICwgUDEyMyAsIFAxMjQgLCBQMTI1ICwgUDEyNiAsIFAxMjcgLCBQMTI4ICwgUDEyOSAsIFAxMzAgLCBQMTMxICwgUDEzMiAsIFAxMzMgLCBQMTM0ICwgUDEzNSAsIFAxMzYgLCBQMTM3ICwgUDEzOCAsIFAxMzkgLCBQMTQwICwgUDE0MSAsIFAxNDIgLCBQMTQzICwgUDE0NCAsIFAxNDUgLCBQMTQ2ICwgUDE0NyAsIFAxNDggLCBQMTQ5ICwgUDE1MCAsIFAxNTEgLCBQMTUyICwgUDE1MyAsIFAxNTQgLCBQMTU1ICwgUDE1NiAsIFAxNTcgLCBQMTU4ICwgUDE1OSAsIFAxNjAgLCBQMTYxICwgUDE2MiAsIFAxNjMgLCBQMTY0ICwgUDE2NSAsIFAxNjYgLCBQMTY3ICwgUDE2OCAsIFAxNjkgLCBQMTcwICwgUDE3MSAsIFAxNzIgLCBQMTczICwgUDE3NCAsIFAxNzUgLCBQMTc2ICwgUDE3NyAsIFAxNzggLCBQMTc5ICwgUDE4MCAsIFAxODEgLCBQMTgyICwgUDE4MyAsIFAxODQgLCBQMTg1ICwgUDE4NiAsIFAxODcgLCBQMTg4ICwgVCA+IHR5cGU7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSAsIGNsYXNzIFA4NiAsIGNsYXNzIFA4NyAsIGNsYXNzIFA4OCAsIGNsYXNzIFA4OSAsIGNsYXNzIFA5MCAsIGNsYXNzIFA5MSAsIGNsYXNzIFA5MiAsIGNsYXNzIFA5MyAsIGNsYXNzIFA5NCAsIGNsYXNzIFA5NSAsIGNsYXNzIFA5NiAsIGNsYXNzIFA5NyAsIGNsYXNzIFA5OCAsIGNsYXNzIFA5OSAsIGNsYXNzIFAxMDAgLCBjbGFzcyBQMTAxICwgY2xhc3MgUDEwMiAsIGNsYXNzIFAxMDMgLCBjbGFzcyBQMTA0ICwgY2xhc3MgUDEwNSAsIGNsYXNzIFAxMDYgLCBjbGFzcyBQMTA3ICwgY2xhc3MgUDEwOCAsIGNsYXNzIFAxMDkgLCBjbGFzcyBQMTEwICwgY2xhc3MgUDExMSAsIGNsYXNzIFAxMTIgLCBjbGFzcyBQMTEzICwgY2xhc3MgUDExNCAsIGNsYXNzIFAxMTUgLCBjbGFzcyBQMTE2ICwgY2xhc3MgUDExNyAsIGNsYXNzIFAxMTggLCBjbGFzcyBQMTE5ICwgY2xhc3MgUDEyMCAsIGNsYXNzIFAxMjEgLCBjbGFzcyBQMTIyICwgY2xhc3MgUDEyMyAsIGNsYXNzIFAxMjQgLCBjbGFzcyBQMTI1ICwgY2xhc3MgUDEyNiAsIGNsYXNzIFAxMjcgLCBjbGFzcyBQMTI4ICwgY2xhc3MgUDEyOSAsIGNsYXNzIFAxMzAgLCBjbGFzcyBQMTMxICwgY2xhc3MgUDEzMiAsIGNsYXNzIFAxMzMgLCBjbGFzcyBQMTM0ICwgY2xhc3MgUDEzNSAsIGNsYXNzIFAxMzYgLCBjbGFzcyBQMTM3ICwgY2xhc3MgUDEzOCAsIGNsYXNzIFAxMzkgLCBjbGFzcyBQMTQwICwgY2xhc3MgUDE0MSAsIGNsYXNzIFAxNDIgLCBjbGFzcyBQMTQzICwgY2xhc3MgUDE0NCAsIGNsYXNzIFAxNDUgLCBjbGFzcyBQMTQ2ICwgY2xhc3MgUDE0NyAsIGNsYXNzIFAxNDggLCBjbGFzcyBQMTQ5ICwgY2xhc3MgUDE1MCAsIGNsYXNzIFAxNTEgLCBjbGFzcyBQMTUyICwgY2xhc3MgUDE1MyAsIGNsYXNzIFAxNTQgLCBjbGFzcyBQMTU1ICwgY2xhc3MgUDE1NiAsIGNsYXNzIFAxNTcgLCBjbGFzcyBQMTU4ICwgY2xhc3MgUDE1OSAsIGNsYXNzIFAxNjAgLCBjbGFzcyBQMTYxICwgY2xhc3MgUDE2MiAsIGNsYXNzIFAxNjMgLCBjbGFzcyBQMTY0ICwgY2xhc3MgUDE2NSAsIGNsYXNzIFAxNjYgLCBjbGFzcyBQMTY3ICwgY2xhc3MgUDE2OCAsIGNsYXNzIFAxNjkgLCBjbGFzcyBQMTcwICwgY2xhc3MgUDE3MSAsIGNsYXNzIFAxNzIgLCBjbGFzcyBQMTczICwgY2xhc3MgUDE3NCAsIGNsYXNzIFAxNzUgLCBjbGFzcyBQMTc2ICwgY2xhc3MgUDE3NyAsIGNsYXNzIFAxNzggLCBjbGFzcyBQMTc5ICwgY2xhc3MgUDE4MCAsIGNsYXNzIFAxODEgLCBjbGFzcyBQMTgyICwgY2xhc3MgUDE4MyAsIGNsYXNzIFAxODQgLCBjbGFzcyBQMTg1ICwgY2xhc3MgUDE4NiAsIGNsYXNzIFAxODcgLCBjbGFzcyBQMTg4ICwgY2xhc3MgUDE4OSAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjE5MDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MCAsIFAxNDEgLCBQMTQyICwgUDE0MyAsIFAxNDQgLCBQMTQ1ICwgUDE0NiAsIFAxNDcgLCBQMTQ4ICwgUDE0OSAsIFAxNTAgLCBQMTUxICwgUDE1MiAsIFAxNTMgLCBQMTU0ICwgUDE1NSAsIFAxNTYgLCBQMTU3ICwgUDE1OCAsIFAxNTkgLCBQMTYwICwgUDE2MSAsIFAxNjIgLCBQMTYzICwgUDE2NCAsIFAxNjUgLCBQMTY2ICwgUDE2NyAsIFAxNjggLCBQMTY5ICwgUDE3MCAsIFAxNzEgLCBQMTcyICwgUDE3MyAsIFAxNzQgLCBQMTc1ICwgUDE3NiAsIFAxNzcgLCBQMTc4ICwgUDE3OSAsIFAxODAgLCBQMTgxICwgUDE4MiAsIFAxODMgLCBQMTg0ICwgUDE4NSAsIFAxODYgLCBQMTg3ICwgUDE4OCAsIFAxODk+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjE5MTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MCAsIFAxNDEgLCBQMTQyICwgUDE0MyAsIFAxNDQgLCBQMTQ1ICwgUDE0NiAsIFAxNDcgLCBQMTQ4ICwgUDE0OSAsIFAxNTAgLCBQMTUxICwgUDE1MiAsIFAxNTMgLCBQMTU0ICwgUDE1NSAsIFAxNTYgLCBQMTU3ICwgUDE1OCAsIFAxNTkgLCBQMTYwICwgUDE2MSAsIFAxNjIgLCBQMTYzICwgUDE2NCAsIFAxNjUgLCBQMTY2ICwgUDE2NyAsIFAxNjggLCBQMTY5ICwgUDE3MCAsIFAxNzEgLCBQMTcyICwgUDE3MyAsIFAxNzQgLCBQMTc1ICwgUDE3NiAsIFAxNzcgLCBQMTc4ICwgUDE3OSAsIFAxODAgLCBQMTgxICwgUDE4MiAsIFAxODMgLCBQMTg0ICwgUDE4NSAsIFAxODYgLCBQMTg3ICwgUDE4OCAsIFAxODkgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ICwgY2xhc3MgUDk2ICwgY2xhc3MgUDk3ICwgY2xhc3MgUDk4ICwgY2xhc3MgUDk5ICwgY2xhc3MgUDEwMCAsIGNsYXNzIFAxMDEgLCBjbGFzcyBQMTAyICwgY2xhc3MgUDEwMyAsIGNsYXNzIFAxMDQgLCBjbGFzcyBQMTA1ICwgY2xhc3MgUDEwNiAsIGNsYXNzIFAxMDcgLCBjbGFzcyBQMTA4ICwgY2xhc3MgUDEwOSAsIGNsYXNzIFAxMTAgLCBjbGFzcyBQMTExICwgY2xhc3MgUDExMiAsIGNsYXNzIFAxMTMgLCBjbGFzcyBQMTE0ICwgY2xhc3MgUDExNSAsIGNsYXNzIFAxMTYgLCBjbGFzcyBQMTE3ICwgY2xhc3MgUDExOCAsIGNsYXNzIFAxMTkgLCBjbGFzcyBQMTIwICwgY2xhc3MgUDEyMSAsIGNsYXNzIFAxMjIgLCBjbGFzcyBQMTIzICwgY2xhc3MgUDEyNCAsIGNsYXNzIFAxMjUgLCBjbGFzcyBQMTI2ICwgY2xhc3MgUDEyNyAsIGNsYXNzIFAxMjggLCBjbGFzcyBQMTI5ICwgY2xhc3MgUDEzMCAsIGNsYXNzIFAxMzEgLCBjbGFzcyBQMTMyICwgY2xhc3MgUDEzMyAsIGNsYXNzIFAxMzQgLCBjbGFzcyBQMTM1ICwgY2xhc3MgUDEzNiAsIGNsYXNzIFAxMzcgLCBjbGFzcyBQMTM4ICwgY2xhc3MgUDEzOSAsIGNsYXNzIFAxNDAgLCBjbGFzcyBQMTQxICwgY2xhc3MgUDE0MiAsIGNsYXNzIFAxNDMgLCBjbGFzcyBQMTQ0ICwgY2xhc3MgUDE0NSAsIGNsYXNzIFAxNDYgLCBjbGFzcyBQMTQ3ICwgY2xhc3MgUDE0OCAsIGNsYXNzIFAxNDkgLCBjbGFzcyBQMTUwICwgY2xhc3MgUDE1MSAsIGNsYXNzIFAxNTIgLCBjbGFzcyBQMTUzICwgY2xhc3MgUDE1NCAsIGNsYXNzIFAxNTUgLCBjbGFzcyBQMTU2ICwgY2xhc3MgUDE1NyAsIGNsYXNzIFAxNTggLCBjbGFzcyBQMTU5ICwgY2xhc3MgUDE2MCAsIGNsYXNzIFAxNjEgLCBjbGFzcyBQMTYyICwgY2xhc3MgUDE2MyAsIGNsYXNzIFAxNjQgLCBjbGFzcyBQMTY1ICwgY2xhc3MgUDE2NiAsIGNsYXNzIFAxNjcgLCBjbGFzcyBQMTY4ICwgY2xhc3MgUDE2OSAsIGNsYXNzIFAxNzAgLCBjbGFzcyBQMTcxICwgY2xhc3MgUDE3MiAsIGNsYXNzIFAxNzMgLCBjbGFzcyBQMTc0ICwgY2xhc3MgUDE3NSAsIGNsYXNzIFAxNzYgLCBjbGFzcyBQMTc3ICwgY2xhc3MgUDE3OCAsIGNsYXNzIFAxNzkgLCBjbGFzcyBQMTgwICwgY2xhc3MgUDE4MSAsIGNsYXNzIFAxODIgLCBjbGFzcyBQMTgzICwgY2xhc3MgUDE4NCAsIGNsYXNzIFAxODUgLCBjbGFzcyBQMTg2ICwgY2xhc3MgUDE4NyAsIGNsYXNzIFAxODggLCBjbGFzcyBQMTg5ICwgY2xhc3MgUDE5MCAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjE5MTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MCAsIFAxNDEgLCBQMTQyICwgUDE0MyAsIFAxNDQgLCBQMTQ1ICwgUDE0NiAsIFAxNDcgLCBQMTQ4ICwgUDE0OSAsIFAxNTAgLCBQMTUxICwgUDE1MiAsIFAxNTMgLCBQMTU0ICwgUDE1NSAsIFAxNTYgLCBQMTU3ICwgUDE1OCAsIFAxNTkgLCBQMTYwICwgUDE2MSAsIFAxNjIgLCBQMTYzICwgUDE2NCAsIFAxNjUgLCBQMTY2ICwgUDE2NyAsIFAxNjggLCBQMTY5ICwgUDE3MCAsIFAxNzEgLCBQMTcyICwgUDE3MyAsIFAxNzQgLCBQMTc1ICwgUDE3NiAsIFAxNzcgLCBQMTc4ICwgUDE3OSAsIFAxODAgLCBQMTgxICwgUDE4MiAsIFAxODMgLCBQMTg0ICwgUDE4NSAsIFAxODYgLCBQMTg3ICwgUDE4OCAsIFAxODkgLCBQMTkwPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IxOTI8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1ICwgUDk2ICwgUDk3ICwgUDk4ICwgUDk5ICwgUDEwMCAsIFAxMDEgLCBQMTAyICwgUDEwMyAsIFAxMDQgLCBQMTA1ICwgUDEwNiAsIFAxMDcgLCBQMTA4ICwgUDEwOSAsIFAxMTAgLCBQMTExICwgUDExMiAsIFAxMTMgLCBQMTE0ICwgUDExNSAsIFAxMTYgLCBQMTE3ICwgUDExOCAsIFAxMTkgLCBQMTIwICwgUDEyMSAsIFAxMjIgLCBQMTIzICwgUDEyNCAsIFAxMjUgLCBQMTI2ICwgUDEyNyAsIFAxMjggLCBQMTI5ICwgUDEzMCAsIFAxMzEgLCBQMTMyICwgUDEzMyAsIFAxMzQgLCBQMTM1ICwgUDEzNiAsIFAxMzcgLCBQMTM4ICwgUDEzOSAsIFAxNDAgLCBQMTQxICwgUDE0MiAsIFAxNDMgLCBQMTQ0ICwgUDE0NSAsIFAxNDYgLCBQMTQ3ICwgUDE0OCAsIFAxNDkgLCBQMTUwICwgUDE1MSAsIFAxNTIgLCBQMTUzICwgUDE1NCAsIFAxNTUgLCBQMTU2ICwgUDE1NyAsIFAxNTggLCBQMTU5ICwgUDE2MCAsIFAxNjEgLCBQMTYyICwgUDE2MyAsIFAxNjQgLCBQMTY1ICwgUDE2NiAsIFAxNjcgLCBQMTY4ICwgUDE2OSAsIFAxNzAgLCBQMTcxICwgUDE3MiAsIFAxNzMgLCBQMTc0ICwgUDE3NSAsIFAxNzYgLCBQMTc3ICwgUDE3OCAsIFAxNzkgLCBQMTgwICwgUDE4MSAsIFAxODIgLCBQMTgzICwgUDE4NCAsIFAxODUgLCBQMTg2ICwgUDE4NyAsIFAxODggLCBQMTg5ICwgUDE5MCAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBQOTMgLCBjbGFzcyBQOTQgLCBjbGFzcyBQOTUgLCBjbGFzcyBQOTYgLCBjbGFzcyBQOTcgLCBjbGFzcyBQOTggLCBjbGFzcyBQOTkgLCBjbGFzcyBQMTAwICwgY2xhc3MgUDEwMSAsIGNsYXNzIFAxMDIgLCBjbGFzcyBQMTAzICwgY2xhc3MgUDEwNCAsIGNsYXNzIFAxMDUgLCBjbGFzcyBQMTA2ICwgY2xhc3MgUDEwNyAsIGNsYXNzIFAxMDggLCBjbGFzcyBQMTA5ICwgY2xhc3MgUDExMCAsIGNsYXNzIFAxMTEgLCBjbGFzcyBQMTEyICwgY2xhc3MgUDExMyAsIGNsYXNzIFAxMTQgLCBjbGFzcyBQMTE1ICwgY2xhc3MgUDExNiAsIGNsYXNzIFAxMTcgLCBjbGFzcyBQMTE4ICwgY2xhc3MgUDExOSAsIGNsYXNzIFAxMjAgLCBjbGFzcyBQMTIxICwgY2xhc3MgUDEyMiAsIGNsYXNzIFAxMjMgLCBjbGFzcyBQMTI0ICwgY2xhc3MgUDEyNSAsIGNsYXNzIFAxMjYgLCBjbGFzcyBQMTI3ICwgY2xhc3MgUDEyOCAsIGNsYXNzIFAxMjkgLCBjbGFzcyBQMTMwICwgY2xhc3MgUDEzMSAsIGNsYXNzIFAxMzIgLCBjbGFzcyBQMTMzICwgY2xhc3MgUDEzNCAsIGNsYXNzIFAxMzUgLCBjbGFzcyBQMTM2ICwgY2xhc3MgUDEzNyAsIGNsYXNzIFAxMzggLCBjbGFzcyBQMTM5ICwgY2xhc3MgUDE0MCAsIGNsYXNzIFAxNDEgLCBjbGFzcyBQMTQyICwgY2xhc3MgUDE0MyAsIGNsYXNzIFAxNDQgLCBjbGFzcyBQMTQ1ICwgY2xhc3MgUDE0NiAsIGNsYXNzIFAxNDcgLCBjbGFzcyBQMTQ4ICwgY2xhc3MgUDE0OSAsIGNsYXNzIFAxNTAgLCBjbGFzcyBQMTUxICwgY2xhc3MgUDE1MiAsIGNsYXNzIFAxNTMgLCBjbGFzcyBQMTU0ICwgY2xhc3MgUDE1NSAsIGNsYXNzIFAxNTYgLCBjbGFzcyBQMTU3ICwgY2xhc3MgUDE1OCAsIGNsYXNzIFAxNTkgLCBjbGFzcyBQMTYwICwgY2xhc3MgUDE2MSAsIGNsYXNzIFAxNjIgLCBjbGFzcyBQMTYzICwgY2xhc3MgUDE2NCAsIGNsYXNzIFAxNjUgLCBjbGFzcyBQMTY2ICwgY2xhc3MgUDE2NyAsIGNsYXNzIFAxNjggLCBjbGFzcyBQMTY5ICwgY2xhc3MgUDE3MCAsIGNsYXNzIFAxNzEgLCBjbGFzcyBQMTcyICwgY2xhc3MgUDE3MyAsIGNsYXNzIFAxNzQgLCBjbGFzcyBQMTc1ICwgY2xhc3MgUDE3NiAsIGNsYXNzIFAxNzcgLCBjbGFzcyBQMTc4ICwgY2xhc3MgUDE3OSAsIGNsYXNzIFAxODAgLCBjbGFzcyBQMTgxICwgY2xhc3MgUDE4MiAsIGNsYXNzIFAxODMgLCBjbGFzcyBQMTg0ICwgY2xhc3MgUDE4NSAsIGNsYXNzIFAxODYgLCBjbGFzcyBQMTg3ICwgY2xhc3MgUDE4OCAsIGNsYXNzIFAxODkgLCBjbGFzcyBQMTkwICwgY2xhc3MgUDE5MSAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjE5MjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MCAsIFAxNDEgLCBQMTQyICwgUDE0MyAsIFAxNDQgLCBQMTQ1ICwgUDE0NiAsIFAxNDcgLCBQMTQ4ICwgUDE0OSAsIFAxNTAgLCBQMTUxICwgUDE1MiAsIFAxNTMgLCBQMTU0ICwgUDE1NSAsIFAxNTYgLCBQMTU3ICwgUDE1OCAsIFAxNTkgLCBQMTYwICwgUDE2MSAsIFAxNjIgLCBQMTYzICwgUDE2NCAsIFAxNjUgLCBQMTY2ICwgUDE2NyAsIFAxNjggLCBQMTY5ICwgUDE3MCAsIFAxNzEgLCBQMTcyICwgUDE3MyAsIFAxNzQgLCBQMTc1ICwgUDE3NiAsIFAxNzcgLCBQMTc4ICwgUDE3OSAsIFAxODAgLCBQMTgxICwgUDE4MiAsIFAxODMgLCBQMTg0ICwgUDE4NSAsIFAxODYgLCBQMTg3ICwgUDE4OCAsIFAxODkgLCBQMTkwICwgUDE5MT4sIFQ+IHsgdHlwZWRlZiBuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMTkzPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFA5MiAsIFA5MyAsIFA5NCAsIFA5NSAsIFA5NiAsIFA5NyAsIFA5OCAsIFA5OSAsIFAxMDAgLCBQMTAxICwgUDEwMiAsIFAxMDMgLCBQMTA0ICwgUDEwNSAsIFAxMDYgLCBQMTA3ICwgUDEwOCAsIFAxMDkgLCBQMTEwICwgUDExMSAsIFAxMTIgLCBQMTEzICwgUDExNCAsIFAxMTUgLCBQMTE2ICwgUDExNyAsIFAxMTggLCBQMTE5ICwgUDEyMCAsIFAxMjEgLCBQMTIyICwgUDEyMyAsIFAxMjQgLCBQMTI1ICwgUDEyNiAsIFAxMjcgLCBQMTI4ICwgUDEyOSAsIFAxMzAgLCBQMTMxICwgUDEzMiAsIFAxMzMgLCBQMTM0ICwgUDEzNSAsIFAxMzYgLCBQMTM3ICwgUDEzOCAsIFAxMzkgLCBQMTQwICwgUDE0MSAsIFAxNDIgLCBQMTQzICwgUDE0NCAsIFAxNDUgLCBQMTQ2ICwgUDE0NyAsIFAxNDggLCBQMTQ5ICwgUDE1MCAsIFAxNTEgLCBQMTUyICwgUDE1MyAsIFAxNTQgLCBQMTU1ICwgUDE1NiAsIFAxNTcgLCBQMTU4ICwgUDE1OSAsIFAxNjAgLCBQMTYxICwgUDE2MiAsIFAxNjMgLCBQMTY0ICwgUDE2NSAsIFAxNjYgLCBQMTY3ICwgUDE2OCAsIFAxNjkgLCBQMTcwICwgUDE3MSAsIFAxNzIgLCBQMTczICwgUDE3NCAsIFAxNzUgLCBQMTc2ICwgUDE3NyAsIFAxNzggLCBQMTc5ICwgUDE4MCAsIFAxODEgLCBQMTgyICwgUDE4MyAsIFAxODQgLCBQMTg1ICwgUDE4NiAsIFAxODcgLCBQMTg4ICwgUDE4OSAsIFAxOTAgLCBQMTkxICwgVCA+IHR5cGU7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSAsIGNsYXNzIFA4NiAsIGNsYXNzIFA4NyAsIGNsYXNzIFA4OCAsIGNsYXNzIFA4OSAsIGNsYXNzIFA5MCAsIGNsYXNzIFA5MSAsIGNsYXNzIFA5MiAsIGNsYXNzIFA5MyAsIGNsYXNzIFA5NCAsIGNsYXNzIFA5NSAsIGNsYXNzIFA5NiAsIGNsYXNzIFA5NyAsIGNsYXNzIFA5OCAsIGNsYXNzIFA5OSAsIGNsYXNzIFAxMDAgLCBjbGFzcyBQMTAxICwgY2xhc3MgUDEwMiAsIGNsYXNzIFAxMDMgLCBjbGFzcyBQMTA0ICwgY2xhc3MgUDEwNSAsIGNsYXNzIFAxMDYgLCBjbGFzcyBQMTA3ICwgY2xhc3MgUDEwOCAsIGNsYXNzIFAxMDkgLCBjbGFzcyBQMTEwICwgY2xhc3MgUDExMSAsIGNsYXNzIFAxMTIgLCBjbGFzcyBQMTEzICwgY2xhc3MgUDExNCAsIGNsYXNzIFAxMTUgLCBjbGFzcyBQMTE2ICwgY2xhc3MgUDExNyAsIGNsYXNzIFAxMTggLCBjbGFzcyBQMTE5ICwgY2xhc3MgUDEyMCAsIGNsYXNzIFAxMjEgLCBjbGFzcyBQMTIyICwgY2xhc3MgUDEyMyAsIGNsYXNzIFAxMjQgLCBjbGFzcyBQMTI1ICwgY2xhc3MgUDEyNiAsIGNsYXNzIFAxMjcgLCBjbGFzcyBQMTI4ICwgY2xhc3MgUDEyOSAsIGNsYXNzIFAxMzAgLCBjbGFzcyBQMTMxICwgY2xhc3MgUDEzMiAsIGNsYXNzIFAxMzMgLCBjbGFzcyBQMTM0ICwgY2xhc3MgUDEzNSAsIGNsYXNzIFAxMzYgLCBjbGFzcyBQMTM3ICwgY2xhc3MgUDEzOCAsIGNsYXNzIFAxMzkgLCBjbGFzcyBQMTQwICwgY2xhc3MgUDE0MSAsIGNsYXNzIFAxNDIgLCBjbGFzcyBQMTQzICwgY2xhc3MgUDE0NCAsIGNsYXNzIFAxNDUgLCBjbGFzcyBQMTQ2ICwgY2xhc3MgUDE0NyAsIGNsYXNzIFAxNDggLCBjbGFzcyBQMTQ5ICwgY2xhc3MgUDE1MCAsIGNsYXNzIFAxNTEgLCBjbGFzcyBQMTUyICwgY2xhc3MgUDE1MyAsIGNsYXNzIFAxNTQgLCBjbGFzcyBQMTU1ICwgY2xhc3MgUDE1NiAsIGNsYXNzIFAxNTcgLCBjbGFzcyBQMTU4ICwgY2xhc3MgUDE1OSAsIGNsYXNzIFAxNjAgLCBjbGFzcyBQMTYxICwgY2xhc3MgUDE2MiAsIGNsYXNzIFAxNjMgLCBjbGFzcyBQMTY0ICwgY2xhc3MgUDE2NSAsIGNsYXNzIFAxNjYgLCBjbGFzcyBQMTY3ICwgY2xhc3MgUDE2OCAsIGNsYXNzIFAxNjkgLCBjbGFzcyBQMTcwICwgY2xhc3MgUDE3MSAsIGNsYXNzIFAxNzIgLCBjbGFzcyBQMTczICwgY2xhc3MgUDE3NCAsIGNsYXNzIFAxNzUgLCBjbGFzcyBQMTc2ICwgY2xhc3MgUDE3NyAsIGNsYXNzIFAxNzggLCBjbGFzcyBQMTc5ICwgY2xhc3MgUDE4MCAsIGNsYXNzIFAxODEgLCBjbGFzcyBQMTgyICwgY2xhc3MgUDE4MyAsIGNsYXNzIFAxODQgLCBjbGFzcyBQMTg1ICwgY2xhc3MgUDE4NiAsIGNsYXNzIFAxODcgLCBjbGFzcyBQMTg4ICwgY2xhc3MgUDE4OSAsIGNsYXNzIFAxOTAgLCBjbGFzcyBQMTkxICwgY2xhc3MgUDE5MiAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjE5MzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MCAsIFAxNDEgLCBQMTQyICwgUDE0MyAsIFAxNDQgLCBQMTQ1ICwgUDE0NiAsIFAxNDcgLCBQMTQ4ICwgUDE0OSAsIFAxNTAgLCBQMTUxICwgUDE1MiAsIFAxNTMgLCBQMTU0ICwgUDE1NSAsIFAxNTYgLCBQMTU3ICwgUDE1OCAsIFAxNTkgLCBQMTYwICwgUDE2MSAsIFAxNjIgLCBQMTYzICwgUDE2NCAsIFAxNjUgLCBQMTY2ICwgUDE2NyAsIFAxNjggLCBQMTY5ICwgUDE3MCAsIFAxNzEgLCBQMTcyICwgUDE3MyAsIFAxNzQgLCBQMTc1ICwgUDE3NiAsIFAxNzcgLCBQMTc4ICwgUDE3OSAsIFAxODAgLCBQMTgxICwgUDE4MiAsIFAxODMgLCBQMTg0ICwgUDE4NSAsIFAxODYgLCBQMTg3ICwgUDE4OCAsIFAxODkgLCBQMTkwICwgUDE5MSAsIFAxOTI+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjE5NDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MCAsIFAxNDEgLCBQMTQyICwgUDE0MyAsIFAxNDQgLCBQMTQ1ICwgUDE0NiAsIFAxNDcgLCBQMTQ4ICwgUDE0OSAsIFAxNTAgLCBQMTUxICwgUDE1MiAsIFAxNTMgLCBQMTU0ICwgUDE1NSAsIFAxNTYgLCBQMTU3ICwgUDE1OCAsIFAxNTkgLCBQMTYwICwgUDE2MSAsIFAxNjIgLCBQMTYzICwgUDE2NCAsIFAxNjUgLCBQMTY2ICwgUDE2NyAsIFAxNjggLCBQMTY5ICwgUDE3MCAsIFAxNzEgLCBQMTcyICwgUDE3MyAsIFAxNzQgLCBQMTc1ICwgUDE3NiAsIFAxNzcgLCBQMTc4ICwgUDE3OSAsIFAxODAgLCBQMTgxICwgUDE4MiAsIFAxODMgLCBQMTg0ICwgUDE4NSAsIFAxODYgLCBQMTg3ICwgUDE4OCAsIFAxODkgLCBQMTkwICwgUDE5MSAsIFAxOTIgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ICwgY2xhc3MgUDk2ICwgY2xhc3MgUDk3ICwgY2xhc3MgUDk4ICwgY2xhc3MgUDk5ICwgY2xhc3MgUDEwMCAsIGNsYXNzIFAxMDEgLCBjbGFzcyBQMTAyICwgY2xhc3MgUDEwMyAsIGNsYXNzIFAxMDQgLCBjbGFzcyBQMTA1ICwgY2xhc3MgUDEwNiAsIGNsYXNzIFAxMDcgLCBjbGFzcyBQMTA4ICwgY2xhc3MgUDEwOSAsIGNsYXNzIFAxMTAgLCBjbGFzcyBQMTExICwgY2xhc3MgUDExMiAsIGNsYXNzIFAxMTMgLCBjbGFzcyBQMTE0ICwgY2xhc3MgUDExNSAsIGNsYXNzIFAxMTYgLCBjbGFzcyBQMTE3ICwgY2xhc3MgUDExOCAsIGNsYXNzIFAxMTkgLCBjbGFzcyBQMTIwICwgY2xhc3MgUDEyMSAsIGNsYXNzIFAxMjIgLCBjbGFzcyBQMTIzICwgY2xhc3MgUDEyNCAsIGNsYXNzIFAxMjUgLCBjbGFzcyBQMTI2ICwgY2xhc3MgUDEyNyAsIGNsYXNzIFAxMjggLCBjbGFzcyBQMTI5ICwgY2xhc3MgUDEzMCAsIGNsYXNzIFAxMzEgLCBjbGFzcyBQMTMyICwgY2xhc3MgUDEzMyAsIGNsYXNzIFAxMzQgLCBjbGFzcyBQMTM1ICwgY2xhc3MgUDEzNiAsIGNsYXNzIFAxMzcgLCBjbGFzcyBQMTM4ICwgY2xhc3MgUDEzOSAsIGNsYXNzIFAxNDAgLCBjbGFzcyBQMTQxICwgY2xhc3MgUDE0MiAsIGNsYXNzIFAxNDMgLCBjbGFzcyBQMTQ0ICwgY2xhc3MgUDE0NSAsIGNsYXNzIFAxNDYgLCBjbGFzcyBQMTQ3ICwgY2xhc3MgUDE0OCAsIGNsYXNzIFAxNDkgLCBjbGFzcyBQMTUwICwgY2xhc3MgUDE1MSAsIGNsYXNzIFAxNTIgLCBjbGFzcyBQMTUzICwgY2xhc3MgUDE1NCAsIGNsYXNzIFAxNTUgLCBjbGFzcyBQMTU2ICwgY2xhc3MgUDE1NyAsIGNsYXNzIFAxNTggLCBjbGFzcyBQMTU5ICwgY2xhc3MgUDE2MCAsIGNsYXNzIFAxNjEgLCBjbGFzcyBQMTYyICwgY2xhc3MgUDE2MyAsIGNsYXNzIFAxNjQgLCBjbGFzcyBQMTY1ICwgY2xhc3MgUDE2NiAsIGNsYXNzIFAxNjcgLCBjbGFzcyBQMTY4ICwgY2xhc3MgUDE2OSAsIGNsYXNzIFAxNzAgLCBjbGFzcyBQMTcxICwgY2xhc3MgUDE3MiAsIGNsYXNzIFAxNzMgLCBjbGFzcyBQMTc0ICwgY2xhc3MgUDE3NSAsIGNsYXNzIFAxNzYgLCBjbGFzcyBQMTc3ICwgY2xhc3MgUDE3OCAsIGNsYXNzIFAxNzkgLCBjbGFzcyBQMTgwICwgY2xhc3MgUDE4MSAsIGNsYXNzIFAxODIgLCBjbGFzcyBQMTgzICwgY2xhc3MgUDE4NCAsIGNsYXNzIFAxODUgLCBjbGFzcyBQMTg2ICwgY2xhc3MgUDE4NyAsIGNsYXNzIFAxODggLCBjbGFzcyBQMTg5ICwgY2xhc3MgUDE5MCAsIGNsYXNzIFAxOTEgLCBjbGFzcyBQMTkyICwgY2xhc3MgUDE5MyAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjE5NDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MCAsIFAxNDEgLCBQMTQyICwgUDE0MyAsIFAxNDQgLCBQMTQ1ICwgUDE0NiAsIFAxNDcgLCBQMTQ4ICwgUDE0OSAsIFAxNTAgLCBQMTUxICwgUDE1MiAsIFAxNTMgLCBQMTU0ICwgUDE1NSAsIFAxNTYgLCBQMTU3ICwgUDE1OCAsIFAxNTkgLCBQMTYwICwgUDE2MSAsIFAxNjIgLCBQMTYzICwgUDE2NCAsIFAxNjUgLCBQMTY2ICwgUDE2NyAsIFAxNjggLCBQMTY5ICwgUDE3MCAsIFAxNzEgLCBQMTcyICwgUDE3MyAsIFAxNzQgLCBQMTc1ICwgUDE3NiAsIFAxNzcgLCBQMTc4ICwgUDE3OSAsIFAxODAgLCBQMTgxICwgUDE4MiAsIFAxODMgLCBQMTg0ICwgUDE4NSAsIFAxODYgLCBQMTg3ICwgUDE4OCAsIFAxODkgLCBQMTkwICwgUDE5MSAsIFAxOTIgLCBQMTkzPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IxOTU8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1ICwgUDk2ICwgUDk3ICwgUDk4ICwgUDk5ICwgUDEwMCAsIFAxMDEgLCBQMTAyICwgUDEwMyAsIFAxMDQgLCBQMTA1ICwgUDEwNiAsIFAxMDcgLCBQMTA4ICwgUDEwOSAsIFAxMTAgLCBQMTExICwgUDExMiAsIFAxMTMgLCBQMTE0ICwgUDExNSAsIFAxMTYgLCBQMTE3ICwgUDExOCAsIFAxMTkgLCBQMTIwICwgUDEyMSAsIFAxMjIgLCBQMTIzICwgUDEyNCAsIFAxMjUgLCBQMTI2ICwgUDEyNyAsIFAxMjggLCBQMTI5ICwgUDEzMCAsIFAxMzEgLCBQMTMyICwgUDEzMyAsIFAxMzQgLCBQMTM1ICwgUDEzNiAsIFAxMzcgLCBQMTM4ICwgUDEzOSAsIFAxNDAgLCBQMTQxICwgUDE0MiAsIFAxNDMgLCBQMTQ0ICwgUDE0NSAsIFAxNDYgLCBQMTQ3ICwgUDE0OCAsIFAxNDkgLCBQMTUwICwgUDE1MSAsIFAxNTIgLCBQMTUzICwgUDE1NCAsIFAxNTUgLCBQMTU2ICwgUDE1NyAsIFAxNTggLCBQMTU5ICwgUDE2MCAsIFAxNjEgLCBQMTYyICwgUDE2MyAsIFAxNjQgLCBQMTY1ICwgUDE2NiAsIFAxNjcgLCBQMTY4ICwgUDE2OSAsIFAxNzAgLCBQMTcxICwgUDE3MiAsIFAxNzMgLCBQMTc0ICwgUDE3NSAsIFAxNzYgLCBQMTc3ICwgUDE3OCAsIFAxNzkgLCBQMTgwICwgUDE4MSAsIFAxODIgLCBQMTgzICwgUDE4NCAsIFAxODUgLCBQMTg2ICwgUDE4NyAsIFAxODggLCBQMTg5ICwgUDE5MCAsIFAxOTEgLCBQMTkyICwgUDE5MyAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBQOTMgLCBjbGFzcyBQOTQgLCBjbGFzcyBQOTUgLCBjbGFzcyBQOTYgLCBjbGFzcyBQOTcgLCBjbGFzcyBQOTggLCBjbGFzcyBQOTkgLCBjbGFzcyBQMTAwICwgY2xhc3MgUDEwMSAsIGNsYXNzIFAxMDIgLCBjbGFzcyBQMTAzICwgY2xhc3MgUDEwNCAsIGNsYXNzIFAxMDUgLCBjbGFzcyBQMTA2ICwgY2xhc3MgUDEwNyAsIGNsYXNzIFAxMDggLCBjbGFzcyBQMTA5ICwgY2xhc3MgUDExMCAsIGNsYXNzIFAxMTEgLCBjbGFzcyBQMTEyICwgY2xhc3MgUDExMyAsIGNsYXNzIFAxMTQgLCBjbGFzcyBQMTE1ICwgY2xhc3MgUDExNiAsIGNsYXNzIFAxMTcgLCBjbGFzcyBQMTE4ICwgY2xhc3MgUDExOSAsIGNsYXNzIFAxMjAgLCBjbGFzcyBQMTIxICwgY2xhc3MgUDEyMiAsIGNsYXNzIFAxMjMgLCBjbGFzcyBQMTI0ICwgY2xhc3MgUDEyNSAsIGNsYXNzIFAxMjYgLCBjbGFzcyBQMTI3ICwgY2xhc3MgUDEyOCAsIGNsYXNzIFAxMjkgLCBjbGFzcyBQMTMwICwgY2xhc3MgUDEzMSAsIGNsYXNzIFAxMzIgLCBjbGFzcyBQMTMzICwgY2xhc3MgUDEzNCAsIGNsYXNzIFAxMzUgLCBjbGFzcyBQMTM2ICwgY2xhc3MgUDEzNyAsIGNsYXNzIFAxMzggLCBjbGFzcyBQMTM5ICwgY2xhc3MgUDE0MCAsIGNsYXNzIFAxNDEgLCBjbGFzcyBQMTQyICwgY2xhc3MgUDE0MyAsIGNsYXNzIFAxNDQgLCBjbGFzcyBQMTQ1ICwgY2xhc3MgUDE0NiAsIGNsYXNzIFAxNDcgLCBjbGFzcyBQMTQ4ICwgY2xhc3MgUDE0OSAsIGNsYXNzIFAxNTAgLCBjbGFzcyBQMTUxICwgY2xhc3MgUDE1MiAsIGNsYXNzIFAxNTMgLCBjbGFzcyBQMTU0ICwgY2xhc3MgUDE1NSAsIGNsYXNzIFAxNTYgLCBjbGFzcyBQMTU3ICwgY2xhc3MgUDE1OCAsIGNsYXNzIFAxNTkgLCBjbGFzcyBQMTYwICwgY2xhc3MgUDE2MSAsIGNsYXNzIFAxNjIgLCBjbGFzcyBQMTYzICwgY2xhc3MgUDE2NCAsIGNsYXNzIFAxNjUgLCBjbGFzcyBQMTY2ICwgY2xhc3MgUDE2NyAsIGNsYXNzIFAxNjggLCBjbGFzcyBQMTY5ICwgY2xhc3MgUDE3MCAsIGNsYXNzIFAxNzEgLCBjbGFzcyBQMTcyICwgY2xhc3MgUDE3MyAsIGNsYXNzIFAxNzQgLCBjbGFzcyBQMTc1ICwgY2xhc3MgUDE3NiAsIGNsYXNzIFAxNzcgLCBjbGFzcyBQMTc4ICwgY2xhc3MgUDE3OSAsIGNsYXNzIFAxODAgLCBjbGFzcyBQMTgxICwgY2xhc3MgUDE4MiAsIGNsYXNzIFAxODMgLCBjbGFzcyBQMTg0ICwgY2xhc3MgUDE4NSAsIGNsYXNzIFAxODYgLCBjbGFzcyBQMTg3ICwgY2xhc3MgUDE4OCAsIGNsYXNzIFAxODkgLCBjbGFzcyBQMTkwICwgY2xhc3MgUDE5MSAsIGNsYXNzIFAxOTIgLCBjbGFzcyBQMTkzICwgY2xhc3MgUDE5NCAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjE5NTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MCAsIFAxNDEgLCBQMTQyICwgUDE0MyAsIFAxNDQgLCBQMTQ1ICwgUDE0NiAsIFAxNDcgLCBQMTQ4ICwgUDE0OSAsIFAxNTAgLCBQMTUxICwgUDE1MiAsIFAxNTMgLCBQMTU0ICwgUDE1NSAsIFAxNTYgLCBQMTU3ICwgUDE1OCAsIFAxNTkgLCBQMTYwICwgUDE2MSAsIFAxNjIgLCBQMTYzICwgUDE2NCAsIFAxNjUgLCBQMTY2ICwgUDE2NyAsIFAxNjggLCBQMTY5ICwgUDE3MCAsIFAxNzEgLCBQMTcyICwgUDE3MyAsIFAxNzQgLCBQMTc1ICwgUDE3NiAsIFAxNzcgLCBQMTc4ICwgUDE3OSAsIFAxODAgLCBQMTgxICwgUDE4MiAsIFAxODMgLCBQMTg0ICwgUDE4NSAsIFAxODYgLCBQMTg3ICwgUDE4OCAsIFAxODkgLCBQMTkwICwgUDE5MSAsIFAxOTIgLCBQMTkzICwgUDE5ND4sIFQ+IHsgdHlwZWRlZiBuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMTk2PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFA5MiAsIFA5MyAsIFA5NCAsIFA5NSAsIFA5NiAsIFA5NyAsIFA5OCAsIFA5OSAsIFAxMDAgLCBQMTAxICwgUDEwMiAsIFAxMDMgLCBQMTA0ICwgUDEwNSAsIFAxMDYgLCBQMTA3ICwgUDEwOCAsIFAxMDkgLCBQMTEwICwgUDExMSAsIFAxMTIgLCBQMTEzICwgUDExNCAsIFAxMTUgLCBQMTE2ICwgUDExNyAsIFAxMTggLCBQMTE5ICwgUDEyMCAsIFAxMjEgLCBQMTIyICwgUDEyMyAsIFAxMjQgLCBQMTI1ICwgUDEyNiAsIFAxMjcgLCBQMTI4ICwgUDEyOSAsIFAxMzAgLCBQMTMxICwgUDEzMiAsIFAxMzMgLCBQMTM0ICwgUDEzNSAsIFAxMzYgLCBQMTM3ICwgUDEzOCAsIFAxMzkgLCBQMTQwICwgUDE0MSAsIFAxNDIgLCBQMTQzICwgUDE0NCAsIFAxNDUgLCBQMTQ2ICwgUDE0NyAsIFAxNDggLCBQMTQ5ICwgUDE1MCAsIFAxNTEgLCBQMTUyICwgUDE1MyAsIFAxNTQgLCBQMTU1ICwgUDE1NiAsIFAxNTcgLCBQMTU4ICwgUDE1OSAsIFAxNjAgLCBQMTYxICwgUDE2MiAsIFAxNjMgLCBQMTY0ICwgUDE2NSAsIFAxNjYgLCBQMTY3ICwgUDE2OCAsIFAxNjkgLCBQMTcwICwgUDE3MSAsIFAxNzIgLCBQMTczICwgUDE3NCAsIFAxNzUgLCBQMTc2ICwgUDE3NyAsIFAxNzggLCBQMTc5ICwgUDE4MCAsIFAxODEgLCBQMTgyICwgUDE4MyAsIFAxODQgLCBQMTg1ICwgUDE4NiAsIFAxODcgLCBQMTg4ICwgUDE4OSAsIFAxOTAgLCBQMTkxICwgUDE5MiAsIFAxOTMgLCBQMTk0ICwgVCA+IHR5cGU7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSAsIGNsYXNzIFA4NiAsIGNsYXNzIFA4NyAsIGNsYXNzIFA4OCAsIGNsYXNzIFA4OSAsIGNsYXNzIFA5MCAsIGNsYXNzIFA5MSAsIGNsYXNzIFA5MiAsIGNsYXNzIFA5MyAsIGNsYXNzIFA5NCAsIGNsYXNzIFA5NSAsIGNsYXNzIFA5NiAsIGNsYXNzIFA5NyAsIGNsYXNzIFA5OCAsIGNsYXNzIFA5OSAsIGNsYXNzIFAxMDAgLCBjbGFzcyBQMTAxICwgY2xhc3MgUDEwMiAsIGNsYXNzIFAxMDMgLCBjbGFzcyBQMTA0ICwgY2xhc3MgUDEwNSAsIGNsYXNzIFAxMDYgLCBjbGFzcyBQMTA3ICwgY2xhc3MgUDEwOCAsIGNsYXNzIFAxMDkgLCBjbGFzcyBQMTEwICwgY2xhc3MgUDExMSAsIGNsYXNzIFAxMTIgLCBjbGFzcyBQMTEzICwgY2xhc3MgUDExNCAsIGNsYXNzIFAxMTUgLCBjbGFzcyBQMTE2ICwgY2xhc3MgUDExNyAsIGNsYXNzIFAxMTggLCBjbGFzcyBQMTE5ICwgY2xhc3MgUDEyMCAsIGNsYXNzIFAxMjEgLCBjbGFzcyBQMTIyICwgY2xhc3MgUDEyMyAsIGNsYXNzIFAxMjQgLCBjbGFzcyBQMTI1ICwgY2xhc3MgUDEyNiAsIGNsYXNzIFAxMjcgLCBjbGFzcyBQMTI4ICwgY2xhc3MgUDEyOSAsIGNsYXNzIFAxMzAgLCBjbGFzcyBQMTMxICwgY2xhc3MgUDEzMiAsIGNsYXNzIFAxMzMgLCBjbGFzcyBQMTM0ICwgY2xhc3MgUDEzNSAsIGNsYXNzIFAxMzYgLCBjbGFzcyBQMTM3ICwgY2xhc3MgUDEzOCAsIGNsYXNzIFAxMzkgLCBjbGFzcyBQMTQwICwgY2xhc3MgUDE0MSAsIGNsYXNzIFAxNDIgLCBjbGFzcyBQMTQzICwgY2xhc3MgUDE0NCAsIGNsYXNzIFAxNDUgLCBjbGFzcyBQMTQ2ICwgY2xhc3MgUDE0NyAsIGNsYXNzIFAxNDggLCBjbGFzcyBQMTQ5ICwgY2xhc3MgUDE1MCAsIGNsYXNzIFAxNTEgLCBjbGFzcyBQMTUyICwgY2xhc3MgUDE1MyAsIGNsYXNzIFAxNTQgLCBjbGFzcyBQMTU1ICwgY2xhc3MgUDE1NiAsIGNsYXNzIFAxNTcgLCBjbGFzcyBQMTU4ICwgY2xhc3MgUDE1OSAsIGNsYXNzIFAxNjAgLCBjbGFzcyBQMTYxICwgY2xhc3MgUDE2MiAsIGNsYXNzIFAxNjMgLCBjbGFzcyBQMTY0ICwgY2xhc3MgUDE2NSAsIGNsYXNzIFAxNjYgLCBjbGFzcyBQMTY3ICwgY2xhc3MgUDE2OCAsIGNsYXNzIFAxNjkgLCBjbGFzcyBQMTcwICwgY2xhc3MgUDE3MSAsIGNsYXNzIFAxNzIgLCBjbGFzcyBQMTczICwgY2xhc3MgUDE3NCAsIGNsYXNzIFAxNzUgLCBjbGFzcyBQMTc2ICwgY2xhc3MgUDE3NyAsIGNsYXNzIFAxNzggLCBjbGFzcyBQMTc5ICwgY2xhc3MgUDE4MCAsIGNsYXNzIFAxODEgLCBjbGFzcyBQMTgyICwgY2xhc3MgUDE4MyAsIGNsYXNzIFAxODQgLCBjbGFzcyBQMTg1ICwgY2xhc3MgUDE4NiAsIGNsYXNzIFAxODcgLCBjbGFzcyBQMTg4ICwgY2xhc3MgUDE4OSAsIGNsYXNzIFAxOTAgLCBjbGFzcyBQMTkxICwgY2xhc3MgUDE5MiAsIGNsYXNzIFAxOTMgLCBjbGFzcyBQMTk0ICwgY2xhc3MgUDE5NSAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjE5NjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MCAsIFAxNDEgLCBQMTQyICwgUDE0MyAsIFAxNDQgLCBQMTQ1ICwgUDE0NiAsIFAxNDcgLCBQMTQ4ICwgUDE0OSAsIFAxNTAgLCBQMTUxICwgUDE1MiAsIFAxNTMgLCBQMTU0ICwgUDE1NSAsIFAxNTYgLCBQMTU3ICwgUDE1OCAsIFAxNTkgLCBQMTYwICwgUDE2MSAsIFAxNjIgLCBQMTYzICwgUDE2NCAsIFAxNjUgLCBQMTY2ICwgUDE2NyAsIFAxNjggLCBQMTY5ICwgUDE3MCAsIFAxNzEgLCBQMTcyICwgUDE3MyAsIFAxNzQgLCBQMTc1ICwgUDE3NiAsIFAxNzcgLCBQMTc4ICwgUDE3OSAsIFAxODAgLCBQMTgxICwgUDE4MiAsIFAxODMgLCBQMTg0ICwgUDE4NSAsIFAxODYgLCBQMTg3ICwgUDE4OCAsIFAxODkgLCBQMTkwICwgUDE5MSAsIFAxOTIgLCBQMTkzICwgUDE5NCAsIFAxOTU+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjE5NzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MCAsIFAxNDEgLCBQMTQyICwgUDE0MyAsIFAxNDQgLCBQMTQ1ICwgUDE0NiAsIFAxNDcgLCBQMTQ4ICwgUDE0OSAsIFAxNTAgLCBQMTUxICwgUDE1MiAsIFAxNTMgLCBQMTU0ICwgUDE1NSAsIFAxNTYgLCBQMTU3ICwgUDE1OCAsIFAxNTkgLCBQMTYwICwgUDE2MSAsIFAxNjIgLCBQMTYzICwgUDE2NCAsIFAxNjUgLCBQMTY2ICwgUDE2NyAsIFAxNjggLCBQMTY5ICwgUDE3MCAsIFAxNzEgLCBQMTcyICwgUDE3MyAsIFAxNzQgLCBQMTc1ICwgUDE3NiAsIFAxNzcgLCBQMTc4ICwgUDE3OSAsIFAxODAgLCBQMTgxICwgUDE4MiAsIFAxODMgLCBQMTg0ICwgUDE4NSAsIFAxODYgLCBQMTg3ICwgUDE4OCAsIFAxODkgLCBQMTkwICwgUDE5MSAsIFAxOTIgLCBQMTkzICwgUDE5NCAsIFAxOTUgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgUDQ5ICwgY2xhc3MgUDUwICwgY2xhc3MgUDUxICwgY2xhc3MgUDUyICwgY2xhc3MgUDUzICwgY2xhc3MgUDU0ICwgY2xhc3MgUDU1ICwgY2xhc3MgUDU2ICwgY2xhc3MgUDU3ICwgY2xhc3MgUDU4ICwgY2xhc3MgUDU5ICwgY2xhc3MgUDYwICwgY2xhc3MgUDYxICwgY2xhc3MgUDYyICwgY2xhc3MgUDYzICwgY2xhc3MgUDY0ICwgY2xhc3MgUDY1ICwgY2xhc3MgUDY2ICwgY2xhc3MgUDY3ICwgY2xhc3MgUDY4ICwgY2xhc3MgUDY5ICwgY2xhc3MgUDcwICwgY2xhc3MgUDcxICwgY2xhc3MgUDcyICwgY2xhc3MgUDczICwgY2xhc3MgUDc0ICwgY2xhc3MgUDc1ICwgY2xhc3MgUDc2ICwgY2xhc3MgUDc3ICwgY2xhc3MgUDc4ICwgY2xhc3MgUDc5ICwgY2xhc3MgUDgwICwgY2xhc3MgUDgxICwgY2xhc3MgUDgyICwgY2xhc3MgUDgzICwgY2xhc3MgUDg0ICwgY2xhc3MgUDg1ICwgY2xhc3MgUDg2ICwgY2xhc3MgUDg3ICwgY2xhc3MgUDg4ICwgY2xhc3MgUDg5ICwgY2xhc3MgUDkwICwgY2xhc3MgUDkxICwgY2xhc3MgUDkyICwgY2xhc3MgUDkzICwgY2xhc3MgUDk0ICwgY2xhc3MgUDk1ICwgY2xhc3MgUDk2ICwgY2xhc3MgUDk3ICwgY2xhc3MgUDk4ICwgY2xhc3MgUDk5ICwgY2xhc3MgUDEwMCAsIGNsYXNzIFAxMDEgLCBjbGFzcyBQMTAyICwgY2xhc3MgUDEwMyAsIGNsYXNzIFAxMDQgLCBjbGFzcyBQMTA1ICwgY2xhc3MgUDEwNiAsIGNsYXNzIFAxMDcgLCBjbGFzcyBQMTA4ICwgY2xhc3MgUDEwOSAsIGNsYXNzIFAxMTAgLCBjbGFzcyBQMTExICwgY2xhc3MgUDExMiAsIGNsYXNzIFAxMTMgLCBjbGFzcyBQMTE0ICwgY2xhc3MgUDExNSAsIGNsYXNzIFAxMTYgLCBjbGFzcyBQMTE3ICwgY2xhc3MgUDExOCAsIGNsYXNzIFAxMTkgLCBjbGFzcyBQMTIwICwgY2xhc3MgUDEyMSAsIGNsYXNzIFAxMjIgLCBjbGFzcyBQMTIzICwgY2xhc3MgUDEyNCAsIGNsYXNzIFAxMjUgLCBjbGFzcyBQMTI2ICwgY2xhc3MgUDEyNyAsIGNsYXNzIFAxMjggLCBjbGFzcyBQMTI5ICwgY2xhc3MgUDEzMCAsIGNsYXNzIFAxMzEgLCBjbGFzcyBQMTMyICwgY2xhc3MgUDEzMyAsIGNsYXNzIFAxMzQgLCBjbGFzcyBQMTM1ICwgY2xhc3MgUDEzNiAsIGNsYXNzIFAxMzcgLCBjbGFzcyBQMTM4ICwgY2xhc3MgUDEzOSAsIGNsYXNzIFAxNDAgLCBjbGFzcyBQMTQxICwgY2xhc3MgUDE0MiAsIGNsYXNzIFAxNDMgLCBjbGFzcyBQMTQ0ICwgY2xhc3MgUDE0NSAsIGNsYXNzIFAxNDYgLCBjbGFzcyBQMTQ3ICwgY2xhc3MgUDE0OCAsIGNsYXNzIFAxNDkgLCBjbGFzcyBQMTUwICwgY2xhc3MgUDE1MSAsIGNsYXNzIFAxNTIgLCBjbGFzcyBQMTUzICwgY2xhc3MgUDE1NCAsIGNsYXNzIFAxNTUgLCBjbGFzcyBQMTU2ICwgY2xhc3MgUDE1NyAsIGNsYXNzIFAxNTggLCBjbGFzcyBQMTU5ICwgY2xhc3MgUDE2MCAsIGNsYXNzIFAxNjEgLCBjbGFzcyBQMTYyICwgY2xhc3MgUDE2MyAsIGNsYXNzIFAxNjQgLCBjbGFzcyBQMTY1ICwgY2xhc3MgUDE2NiAsIGNsYXNzIFAxNjcgLCBjbGFzcyBQMTY4ICwgY2xhc3MgUDE2OSAsIGNsYXNzIFAxNzAgLCBjbGFzcyBQMTcxICwgY2xhc3MgUDE3MiAsIGNsYXNzIFAxNzMgLCBjbGFzcyBQMTc0ICwgY2xhc3MgUDE3NSAsIGNsYXNzIFAxNzYgLCBjbGFzcyBQMTc3ICwgY2xhc3MgUDE3OCAsIGNsYXNzIFAxNzkgLCBjbGFzcyBQMTgwICwgY2xhc3MgUDE4MSAsIGNsYXNzIFAxODIgLCBjbGFzcyBQMTgzICwgY2xhc3MgUDE4NCAsIGNsYXNzIFAxODUgLCBjbGFzcyBQMTg2ICwgY2xhc3MgUDE4NyAsIGNsYXNzIFAxODggLCBjbGFzcyBQMTg5ICwgY2xhc3MgUDE5MCAsIGNsYXNzIFAxOTEgLCBjbGFzcyBQMTkyICwgY2xhc3MgUDE5MyAsIGNsYXNzIFAxOTQgLCBjbGFzcyBQMTk1ICwgY2xhc3MgUDE5NiAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjE5NzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MCAsIFAxNDEgLCBQMTQyICwgUDE0MyAsIFAxNDQgLCBQMTQ1ICwgUDE0NiAsIFAxNDcgLCBQMTQ4ICwgUDE0OSAsIFAxNTAgLCBQMTUxICwgUDE1MiAsIFAxNTMgLCBQMTU0ICwgUDE1NSAsIFAxNTYgLCBQMTU3ICwgUDE1OCAsIFAxNTkgLCBQMTYwICwgUDE2MSAsIFAxNjIgLCBQMTYzICwgUDE2NCAsIFAxNjUgLCBQMTY2ICwgUDE2NyAsIFAxNjggLCBQMTY5ICwgUDE3MCAsIFAxNzEgLCBQMTcyICwgUDE3MyAsIFAxNzQgLCBQMTc1ICwgUDE3NiAsIFAxNzcgLCBQMTc4ICwgUDE3OSAsIFAxODAgLCBQMTgxICwgUDE4MiAsIFAxODMgLCBQMTg0ICwgUDE4NSAsIFAxODYgLCBQMTg3ICwgUDE4OCAsIFAxODkgLCBQMTkwICwgUDE5MSAsIFAxOTIgLCBQMTkzICwgUDE5NCAsIFAxOTUgLCBQMTk2PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IxOTg8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4ICwgUDQ5ICwgUDUwICwgUDUxICwgUDUyICwgUDUzICwgUDU0ICwgUDU1ICwgUDU2ICwgUDU3ICwgUDU4ICwgUDU5ICwgUDYwICwgUDYxICwgUDYyICwgUDYzICwgUDY0ICwgUDY1ICwgUDY2ICwgUDY3ICwgUDY4ICwgUDY5ICwgUDcwICwgUDcxICwgUDcyICwgUDczICwgUDc0ICwgUDc1ICwgUDc2ICwgUDc3ICwgUDc4ICwgUDc5ICwgUDgwICwgUDgxICwgUDgyICwgUDgzICwgUDg0ICwgUDg1ICwgUDg2ICwgUDg3ICwgUDg4ICwgUDg5ICwgUDkwICwgUDkxICwgUDkyICwgUDkzICwgUDk0ICwgUDk1ICwgUDk2ICwgUDk3ICwgUDk4ICwgUDk5ICwgUDEwMCAsIFAxMDEgLCBQMTAyICwgUDEwMyAsIFAxMDQgLCBQMTA1ICwgUDEwNiAsIFAxMDcgLCBQMTA4ICwgUDEwOSAsIFAxMTAgLCBQMTExICwgUDExMiAsIFAxMTMgLCBQMTE0ICwgUDExNSAsIFAxMTYgLCBQMTE3ICwgUDExOCAsIFAxMTkgLCBQMTIwICwgUDEyMSAsIFAxMjIgLCBQMTIzICwgUDEyNCAsIFAxMjUgLCBQMTI2ICwgUDEyNyAsIFAxMjggLCBQMTI5ICwgUDEzMCAsIFAxMzEgLCBQMTMyICwgUDEzMyAsIFAxMzQgLCBQMTM1ICwgUDEzNiAsIFAxMzcgLCBQMTM4ICwgUDEzOSAsIFAxNDAgLCBQMTQxICwgUDE0MiAsIFAxNDMgLCBQMTQ0ICwgUDE0NSAsIFAxNDYgLCBQMTQ3ICwgUDE0OCAsIFAxNDkgLCBQMTUwICwgUDE1MSAsIFAxNTIgLCBQMTUzICwgUDE1NCAsIFAxNTUgLCBQMTU2ICwgUDE1NyAsIFAxNTggLCBQMTU5ICwgUDE2MCAsIFAxNjEgLCBQMTYyICwgUDE2MyAsIFAxNjQgLCBQMTY1ICwgUDE2NiAsIFAxNjcgLCBQMTY4ICwgUDE2OSAsIFAxNzAgLCBQMTcxICwgUDE3MiAsIFAxNzMgLCBQMTc0ICwgUDE3NSAsIFAxNzYgLCBQMTc3ICwgUDE3OCAsIFAxNzkgLCBQMTgwICwgUDE4MSAsIFAxODIgLCBQMTgzICwgUDE4NCAsIFAxODUgLCBQMTg2ICwgUDE4NyAsIFAxODggLCBQMTg5ICwgUDE5MCAsIFAxOTEgLCBQMTkyICwgUDE5MyAsIFAxOTQgLCBQMTk1ICwgUDE5NiAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgLCBjbGFzcyBQNTAgLCBjbGFzcyBQNTEgLCBjbGFzcyBQNTIgLCBjbGFzcyBQNTMgLCBjbGFzcyBQNTQgLCBjbGFzcyBQNTUgLCBjbGFzcyBQNTYgLCBjbGFzcyBQNTcgLCBjbGFzcyBQNTggLCBjbGFzcyBQNTkgLCBjbGFzcyBQNjAgLCBjbGFzcyBQNjEgLCBjbGFzcyBQNjIgLCBjbGFzcyBQNjMgLCBjbGFzcyBQNjQgLCBjbGFzcyBQNjUgLCBjbGFzcyBQNjYgLCBjbGFzcyBQNjcgLCBjbGFzcyBQNjggLCBjbGFzcyBQNjkgLCBjbGFzcyBQNzAgLCBjbGFzcyBQNzEgLCBjbGFzcyBQNzIgLCBjbGFzcyBQNzMgLCBjbGFzcyBQNzQgLCBjbGFzcyBQNzUgLCBjbGFzcyBQNzYgLCBjbGFzcyBQNzcgLCBjbGFzcyBQNzggLCBjbGFzcyBQNzkgLCBjbGFzcyBQODAgLCBjbGFzcyBQODEgLCBjbGFzcyBQODIgLCBjbGFzcyBQODMgLCBjbGFzcyBQODQgLCBjbGFzcyBQODUgLCBjbGFzcyBQODYgLCBjbGFzcyBQODcgLCBjbGFzcyBQODggLCBjbGFzcyBQODkgLCBjbGFzcyBQOTAgLCBjbGFzcyBQOTEgLCBjbGFzcyBQOTIgLCBjbGFzcyBQOTMgLCBjbGFzcyBQOTQgLCBjbGFzcyBQOTUgLCBjbGFzcyBQOTYgLCBjbGFzcyBQOTcgLCBjbGFzcyBQOTggLCBjbGFzcyBQOTkgLCBjbGFzcyBQMTAwICwgY2xhc3MgUDEwMSAsIGNsYXNzIFAxMDIgLCBjbGFzcyBQMTAzICwgY2xhc3MgUDEwNCAsIGNsYXNzIFAxMDUgLCBjbGFzcyBQMTA2ICwgY2xhc3MgUDEwNyAsIGNsYXNzIFAxMDggLCBjbGFzcyBQMTA5ICwgY2xhc3MgUDExMCAsIGNsYXNzIFAxMTEgLCBjbGFzcyBQMTEyICwgY2xhc3MgUDExMyAsIGNsYXNzIFAxMTQgLCBjbGFzcyBQMTE1ICwgY2xhc3MgUDExNiAsIGNsYXNzIFAxMTcgLCBjbGFzcyBQMTE4ICwgY2xhc3MgUDExOSAsIGNsYXNzIFAxMjAgLCBjbGFzcyBQMTIxICwgY2xhc3MgUDEyMiAsIGNsYXNzIFAxMjMgLCBjbGFzcyBQMTI0ICwgY2xhc3MgUDEyNSAsIGNsYXNzIFAxMjYgLCBjbGFzcyBQMTI3ICwgY2xhc3MgUDEyOCAsIGNsYXNzIFAxMjkgLCBjbGFzcyBQMTMwICwgY2xhc3MgUDEzMSAsIGNsYXNzIFAxMzIgLCBjbGFzcyBQMTMzICwgY2xhc3MgUDEzNCAsIGNsYXNzIFAxMzUgLCBjbGFzcyBQMTM2ICwgY2xhc3MgUDEzNyAsIGNsYXNzIFAxMzggLCBjbGFzcyBQMTM5ICwgY2xhc3MgUDE0MCAsIGNsYXNzIFAxNDEgLCBjbGFzcyBQMTQyICwgY2xhc3MgUDE0MyAsIGNsYXNzIFAxNDQgLCBjbGFzcyBQMTQ1ICwgY2xhc3MgUDE0NiAsIGNsYXNzIFAxNDcgLCBjbGFzcyBQMTQ4ICwgY2xhc3MgUDE0OSAsIGNsYXNzIFAxNTAgLCBjbGFzcyBQMTUxICwgY2xhc3MgUDE1MiAsIGNsYXNzIFAxNTMgLCBjbGFzcyBQMTU0ICwgY2xhc3MgUDE1NSAsIGNsYXNzIFAxNTYgLCBjbGFzcyBQMTU3ICwgY2xhc3MgUDE1OCAsIGNsYXNzIFAxNTkgLCBjbGFzcyBQMTYwICwgY2xhc3MgUDE2MSAsIGNsYXNzIFAxNjIgLCBjbGFzcyBQMTYzICwgY2xhc3MgUDE2NCAsIGNsYXNzIFAxNjUgLCBjbGFzcyBQMTY2ICwgY2xhc3MgUDE2NyAsIGNsYXNzIFAxNjggLCBjbGFzcyBQMTY5ICwgY2xhc3MgUDE3MCAsIGNsYXNzIFAxNzEgLCBjbGFzcyBQMTcyICwgY2xhc3MgUDE3MyAsIGNsYXNzIFAxNzQgLCBjbGFzcyBQMTc1ICwgY2xhc3MgUDE3NiAsIGNsYXNzIFAxNzcgLCBjbGFzcyBQMTc4ICwgY2xhc3MgUDE3OSAsIGNsYXNzIFAxODAgLCBjbGFzcyBQMTgxICwgY2xhc3MgUDE4MiAsIGNsYXNzIFAxODMgLCBjbGFzcyBQMTg0ICwgY2xhc3MgUDE4NSAsIGNsYXNzIFAxODYgLCBjbGFzcyBQMTg3ICwgY2xhc3MgUDE4OCAsIGNsYXNzIFAxODkgLCBjbGFzcyBQMTkwICwgY2xhc3MgUDE5MSAsIGNsYXNzIFAxOTIgLCBjbGFzcyBQMTkzICwgY2xhc3MgUDE5NCAsIGNsYXNzIFAxOTUgLCBjbGFzcyBQMTk2ICwgY2xhc3MgUDE5NyAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjE5ODwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MCAsIFAxNDEgLCBQMTQyICwgUDE0MyAsIFAxNDQgLCBQMTQ1ICwgUDE0NiAsIFAxNDcgLCBQMTQ4ICwgUDE0OSAsIFAxNTAgLCBQMTUxICwgUDE1MiAsIFAxNTMgLCBQMTU0ICwgUDE1NSAsIFAxNTYgLCBQMTU3ICwgUDE1OCAsIFAxNTkgLCBQMTYwICwgUDE2MSAsIFAxNjIgLCBQMTYzICwgUDE2NCAsIFAxNjUgLCBQMTY2ICwgUDE2NyAsIFAxNjggLCBQMTY5ICwgUDE3MCAsIFAxNzEgLCBQMTcyICwgUDE3MyAsIFAxNzQgLCBQMTc1ICwgUDE3NiAsIFAxNzcgLCBQMTc4ICwgUDE3OSAsIFAxODAgLCBQMTgxICwgUDE4MiAsIFAxODMgLCBQMTg0ICwgUDE4NSAsIFAxODYgLCBQMTg3ICwgUDE4OCAsIFAxODkgLCBQMTkwICwgUDE5MSAsIFAxOTIgLCBQMTkzICwgUDE5NCAsIFAxOTUgLCBQMTk2ICwgUDE5Nz4sIFQ+IHsgdHlwZWRlZiBuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMTk5PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0NyAsIFA0OCAsIFA0OSAsIFA1MCAsIFA1MSAsIFA1MiAsIFA1MyAsIFA1NCAsIFA1NSAsIFA1NiAsIFA1NyAsIFA1OCAsIFA1OSAsIFA2MCAsIFA2MSAsIFA2MiAsIFA2MyAsIFA2NCAsIFA2NSAsIFA2NiAsIFA2NyAsIFA2OCAsIFA2OSAsIFA3MCAsIFA3MSAsIFA3MiAsIFA3MyAsIFA3NCAsIFA3NSAsIFA3NiAsIFA3NyAsIFA3OCAsIFA3OSAsIFA4MCAsIFA4MSAsIFA4MiAsIFA4MyAsIFA4NCAsIFA4NSAsIFA4NiAsIFA4NyAsIFA4OCAsIFA4OSAsIFA5MCAsIFA5MSAsIFA5MiAsIFA5MyAsIFA5NCAsIFA5NSAsIFA5NiAsIFA5NyAsIFA5OCAsIFA5OSAsIFAxMDAgLCBQMTAxICwgUDEwMiAsIFAxMDMgLCBQMTA0ICwgUDEwNSAsIFAxMDYgLCBQMTA3ICwgUDEwOCAsIFAxMDkgLCBQMTEwICwgUDExMSAsIFAxMTIgLCBQMTEzICwgUDExNCAsIFAxMTUgLCBQMTE2ICwgUDExNyAsIFAxMTggLCBQMTE5ICwgUDEyMCAsIFAxMjEgLCBQMTIyICwgUDEyMyAsIFAxMjQgLCBQMTI1ICwgUDEyNiAsIFAxMjcgLCBQMTI4ICwgUDEyOSAsIFAxMzAgLCBQMTMxICwgUDEzMiAsIFAxMzMgLCBQMTM0ICwgUDEzNSAsIFAxMzYgLCBQMTM3ICwgUDEzOCAsIFAxMzkgLCBQMTQwICwgUDE0MSAsIFAxNDIgLCBQMTQzICwgUDE0NCAsIFAxNDUgLCBQMTQ2ICwgUDE0NyAsIFAxNDggLCBQMTQ5ICwgUDE1MCAsIFAxNTEgLCBQMTUyICwgUDE1MyAsIFAxNTQgLCBQMTU1ICwgUDE1NiAsIFAxNTcgLCBQMTU4ICwgUDE1OSAsIFAxNjAgLCBQMTYxICwgUDE2MiAsIFAxNjMgLCBQMTY0ICwgUDE2NSAsIFAxNjYgLCBQMTY3ICwgUDE2OCAsIFAxNjkgLCBQMTcwICwgUDE3MSAsIFAxNzIgLCBQMTczICwgUDE3NCAsIFAxNzUgLCBQMTc2ICwgUDE3NyAsIFAxNzggLCBQMTc5ICwgUDE4MCAsIFAxODEgLCBQMTgyICwgUDE4MyAsIFAxODQgLCBQMTg1ICwgUDE4NiAsIFAxODcgLCBQMTg4ICwgUDE4OSAsIFAxOTAgLCBQMTkxICwgUDE5MiAsIFAxOTMgLCBQMTk0ICwgUDE5NSAsIFAxOTYgLCBQMTk3ICwgVCA+IHR5cGU7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyAsIGNsYXNzIFA0OCAsIGNsYXNzIFA0OSAsIGNsYXNzIFA1MCAsIGNsYXNzIFA1MSAsIGNsYXNzIFA1MiAsIGNsYXNzIFA1MyAsIGNsYXNzIFA1NCAsIGNsYXNzIFA1NSAsIGNsYXNzIFA1NiAsIGNsYXNzIFA1NyAsIGNsYXNzIFA1OCAsIGNsYXNzIFA1OSAsIGNsYXNzIFA2MCAsIGNsYXNzIFA2MSAsIGNsYXNzIFA2MiAsIGNsYXNzIFA2MyAsIGNsYXNzIFA2NCAsIGNsYXNzIFA2NSAsIGNsYXNzIFA2NiAsIGNsYXNzIFA2NyAsIGNsYXNzIFA2OCAsIGNsYXNzIFA2OSAsIGNsYXNzIFA3MCAsIGNsYXNzIFA3MSAsIGNsYXNzIFA3MiAsIGNsYXNzIFA3MyAsIGNsYXNzIFA3NCAsIGNsYXNzIFA3NSAsIGNsYXNzIFA3NiAsIGNsYXNzIFA3NyAsIGNsYXNzIFA3OCAsIGNsYXNzIFA3OSAsIGNsYXNzIFA4MCAsIGNsYXNzIFA4MSAsIGNsYXNzIFA4MiAsIGNsYXNzIFA4MyAsIGNsYXNzIFA4NCAsIGNsYXNzIFA4NSAsIGNsYXNzIFA4NiAsIGNsYXNzIFA4NyAsIGNsYXNzIFA4OCAsIGNsYXNzIFA4OSAsIGNsYXNzIFA5MCAsIGNsYXNzIFA5MSAsIGNsYXNzIFA5MiAsIGNsYXNzIFA5MyAsIGNsYXNzIFA5NCAsIGNsYXNzIFA5NSAsIGNsYXNzIFA5NiAsIGNsYXNzIFA5NyAsIGNsYXNzIFA5OCAsIGNsYXNzIFA5OSAsIGNsYXNzIFAxMDAgLCBjbGFzcyBQMTAxICwgY2xhc3MgUDEwMiAsIGNsYXNzIFAxMDMgLCBjbGFzcyBQMTA0ICwgY2xhc3MgUDEwNSAsIGNsYXNzIFAxMDYgLCBjbGFzcyBQMTA3ICwgY2xhc3MgUDEwOCAsIGNsYXNzIFAxMDkgLCBjbGFzcyBQMTEwICwgY2xhc3MgUDExMSAsIGNsYXNzIFAxMTIgLCBjbGFzcyBQMTEzICwgY2xhc3MgUDExNCAsIGNsYXNzIFAxMTUgLCBjbGFzcyBQMTE2ICwgY2xhc3MgUDExNyAsIGNsYXNzIFAxMTggLCBjbGFzcyBQMTE5ICwgY2xhc3MgUDEyMCAsIGNsYXNzIFAxMjEgLCBjbGFzcyBQMTIyICwgY2xhc3MgUDEyMyAsIGNsYXNzIFAxMjQgLCBjbGFzcyBQMTI1ICwgY2xhc3MgUDEyNiAsIGNsYXNzIFAxMjcgLCBjbGFzcyBQMTI4ICwgY2xhc3MgUDEyOSAsIGNsYXNzIFAxMzAgLCBjbGFzcyBQMTMxICwgY2xhc3MgUDEzMiAsIGNsYXNzIFAxMzMgLCBjbGFzcyBQMTM0ICwgY2xhc3MgUDEzNSAsIGNsYXNzIFAxMzYgLCBjbGFzcyBQMTM3ICwgY2xhc3MgUDEzOCAsIGNsYXNzIFAxMzkgLCBjbGFzcyBQMTQwICwgY2xhc3MgUDE0MSAsIGNsYXNzIFAxNDIgLCBjbGFzcyBQMTQzICwgY2xhc3MgUDE0NCAsIGNsYXNzIFAxNDUgLCBjbGFzcyBQMTQ2ICwgY2xhc3MgUDE0NyAsIGNsYXNzIFAxNDggLCBjbGFzcyBQMTQ5ICwgY2xhc3MgUDE1MCAsIGNsYXNzIFAxNTEgLCBjbGFzcyBQMTUyICwgY2xhc3MgUDE1MyAsIGNsYXNzIFAxNTQgLCBjbGFzcyBQMTU1ICwgY2xhc3MgUDE1NiAsIGNsYXNzIFAxNTcgLCBjbGFzcyBQMTU4ICwgY2xhc3MgUDE1OSAsIGNsYXNzIFAxNjAgLCBjbGFzcyBQMTYxICwgY2xhc3MgUDE2MiAsIGNsYXNzIFAxNjMgLCBjbGFzcyBQMTY0ICwgY2xhc3MgUDE2NSAsIGNsYXNzIFAxNjYgLCBjbGFzcyBQMTY3ICwgY2xhc3MgUDE2OCAsIGNsYXNzIFAxNjkgLCBjbGFzcyBQMTcwICwgY2xhc3MgUDE3MSAsIGNsYXNzIFAxNzIgLCBjbGFzcyBQMTczICwgY2xhc3MgUDE3NCAsIGNsYXNzIFAxNzUgLCBjbGFzcyBQMTc2ICwgY2xhc3MgUDE3NyAsIGNsYXNzIFAxNzggLCBjbGFzcyBQMTc5ICwgY2xhc3MgUDE4MCAsIGNsYXNzIFAxODEgLCBjbGFzcyBQMTgyICwgY2xhc3MgUDE4MyAsIGNsYXNzIFAxODQgLCBjbGFzcyBQMTg1ICwgY2xhc3MgUDE4NiAsIGNsYXNzIFAxODcgLCBjbGFzcyBQMTg4ICwgY2xhc3MgUDE4OSAsIGNsYXNzIFAxOTAgLCBjbGFzcyBQMTkxICwgY2xhc3MgUDE5MiAsIGNsYXNzIFAxOTMgLCBjbGFzcyBQMTk0ICwgY2xhc3MgUDE5NSAsIGNsYXNzIFAxOTYgLCBjbGFzcyBQMTk3ICwgY2xhc3MgUDE5OCAsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2s8bmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjE5OTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MCAsIFAxNDEgLCBQMTQyICwgUDE0MyAsIFAxNDQgLCBQMTQ1ICwgUDE0NiAsIFAxNDcgLCBQMTQ4ICwgUDE0OSAsIFAxNTAgLCBQMTUxICwgUDE1MiAsIFAxNTMgLCBQMTU0ICwgUDE1NSAsIFAxNTYgLCBQMTU3ICwgUDE1OCAsIFAxNTkgLCBQMTYwICwgUDE2MSAsIFAxNjIgLCBQMTYzICwgUDE2NCAsIFAxNjUgLCBQMTY2ICwgUDE2NyAsIFAxNjggLCBQMTY5ICwgUDE3MCAsIFAxNzEgLCBQMTcyICwgUDE3MyAsIFAxNzQgLCBQMTc1ICwgUDE3NiAsIFAxNzcgLCBQMTc4ICwgUDE3OSAsIFAxODAgLCBQMTgxICwgUDE4MiAsIFAxODMgLCBQMTg0ICwgUDE4NSAsIFAxODYgLCBQMTg3ICwgUDE4OCAsIFAxODkgLCBQMTkwICwgUDE5MSAsIFAxOTIgLCBQMTkzICwgUDE5NCAsIFAxOTUgLCBQMTk2ICwgUDE5NyAsIFAxOTg+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjIwMDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDkgLCBQNTAgLCBQNTEgLCBQNTIgLCBQNTMgLCBQNTQgLCBQNTUgLCBQNTYgLCBQNTcgLCBQNTggLCBQNTkgLCBQNjAgLCBQNjEgLCBQNjIgLCBQNjMgLCBQNjQgLCBQNjUgLCBQNjYgLCBQNjcgLCBQNjggLCBQNjkgLCBQNzAgLCBQNzEgLCBQNzIgLCBQNzMgLCBQNzQgLCBQNzUgLCBQNzYgLCBQNzcgLCBQNzggLCBQNzkgLCBQODAgLCBQODEgLCBQODIgLCBQODMgLCBQODQgLCBQODUgLCBQODYgLCBQODcgLCBQODggLCBQODkgLCBQOTAgLCBQOTEgLCBQOTIgLCBQOTMgLCBQOTQgLCBQOTUgLCBQOTYgLCBQOTcgLCBQOTggLCBQOTkgLCBQMTAwICwgUDEwMSAsIFAxMDIgLCBQMTAzICwgUDEwNCAsIFAxMDUgLCBQMTA2ICwgUDEwNyAsIFAxMDggLCBQMTA5ICwgUDExMCAsIFAxMTEgLCBQMTEyICwgUDExMyAsIFAxMTQgLCBQMTE1ICwgUDExNiAsIFAxMTcgLCBQMTE4ICwgUDExOSAsIFAxMjAgLCBQMTIxICwgUDEyMiAsIFAxMjMgLCBQMTI0ICwgUDEyNSAsIFAxMjYgLCBQMTI3ICwgUDEyOCAsIFAxMjkgLCBQMTMwICwgUDEzMSAsIFAxMzIgLCBQMTMzICwgUDEzNCAsIFAxMzUgLCBQMTM2ICwgUDEzNyAsIFAxMzggLCBQMTM5ICwgUDE0MCAsIFAxNDEgLCBQMTQyICwgUDE0MyAsIFAxNDQgLCBQMTQ1ICwgUDE0NiAsIFAxNDcgLCBQMTQ4ICwgUDE0OSAsIFAxNTAgLCBQMTUxICwgUDE1MiAsIFAxNTMgLCBQMTU0ICwgUDE1NSAsIFAxNTYgLCBQMTU3ICwgUDE1OCAsIFAxNTkgLCBQMTYwICwgUDE2MSAsIFAxNjIgLCBQMTYzICwgUDE2NCAsIFAxNjUgLCBQMTY2ICwgUDE2NyAsIFAxNjggLCBQMTY5ICwgUDE3MCAsIFAxNzEgLCBQMTcyICwgUDE3MyAsIFAxNzQgLCBQMTc1ICwgUDE3NiAsIFAxNzcgLCBQMTc4ICwgUDE3OSAsIFAxODAgLCBQMTgxICwgUDE4MiAsIFAxODMgLCBQMTg0ICwgUDE4NSAsIFAxODYgLCBQMTg3ICwgUDE4OCAsIFAxODkgLCBQMTkwICwgUDE5MSAsIFAxOTIgLCBQMTkzICwgUDE5NCAsIFAxOTUgLCBQMTk2ICwgUDE5NyAsIFAxOTggLCBUID4gdHlwZTsgfTsKK319CmRpZmYgLS1naXQgYS9uZG5ib29zdC90eXBlb2YvdmVjdG9yNTAuaHBwIGIvbmRuYm9vc3QvdHlwZW9mL3ZlY3RvcjUwLmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44YzM2OGUyCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvdHlwZW9mL3ZlY3RvcjUwLmhwcApAQCAtMCwwICsxLDE3MSBAQAorCisvLyBDb3B5cmlnaHQgKEMpIDIwMDUgQXJrYWRpeSBWZXJ0bGV5YgorLy8gQ29weXJpZ2h0IChDKSAyMDA1IFBlZGVyIEhvbHQKKy8vCisvLyBVc2UgbW9kaWZpY2F0aW9uIGFuZCBkaXN0cmlidXRpb24gYXJlIHN1YmplY3QgdG8gdGhlIGJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsCisvLyBWZXJzaW9uIDEuMC4gKFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpLgorCisvLyBQcmVwcm9jZXNzZWQgY29kZSwgZG8gbm90IGVkaXQgbWFudWFsbHkgIQorCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSB0eXBlX29mIHsKKyAgICB0ZW1wbGF0ZTxjbGFzcyBWLCBjbGFzcyBJbmNyZWFzZV9CT09TVF9UWVBFT0ZfTElNSVRfU0laRT4gc3RydWN0IHZfaXRlcjsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88MD4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTAgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDAgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDE+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW0xIHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50XzwxICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50XzwyPiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtMiB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88MiArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88Mz4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTMgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDMgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDQ+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW00IHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50Xzw0ICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50Xzw1PiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtNSB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88NSArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88Nj4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTYgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDYgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDc+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW03IHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50Xzw3ICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50Xzw4PiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtOCB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88OCArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88OT4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTkgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDkgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDEwPiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtMTAgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDEwICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50XzwxMT4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTExIHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50XzwxMSArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88MTI+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW0xMiB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88MTIgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDEzPiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtMTMgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDEzICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50XzwxND4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTE0IHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50XzwxNCArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88MTU+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW0xNSB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88MTUgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDE2PiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtMTYgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDE2ICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50XzwxNz4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTE3IHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50XzwxNyArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88MTg+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW0xOCB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88MTggKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDE5PiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtMTkgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDE5ICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50XzwyMD4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTIwIHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50XzwyMCArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88MjE+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW0yMSB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88MjEgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDIyPiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtMjIgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDIyICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50XzwyMz4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTIzIHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50XzwyMyArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88MjQ+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW0yNCB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88MjQgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDI1PiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtMjUgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDI1ICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50XzwyNj4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTI2IHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50XzwyNiArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88Mjc+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW0yNyB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88MjcgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDI4PiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtMjggdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDI4ICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50XzwyOT4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTI5IHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50XzwyOSArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88MzA+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW0zMCB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88MzAgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDMxPiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtMzEgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDMxICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50XzwzMj4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTMyIHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50XzwzMiArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88MzM+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW0zMyB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88MzMgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDM0PiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtMzQgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDM0ICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50XzwzNT4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTM1IHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50XzwzNSArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88MzY+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW0zNiB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88MzYgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDM3PiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtMzcgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDM3ICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50XzwzOD4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTM4IHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50XzwzOCArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88Mzk+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW0zOSB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88MzkgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDQwPiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtNDAgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDQwICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50Xzw0MT4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTQxIHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50Xzw0MSArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88NDI+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW00MiB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88NDIgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDQzPiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtNDMgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDQzICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50Xzw0ND4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTQ0IHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50Xzw0NCArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88NDU+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW00NSB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88NDUgKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDQ2PiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtNDYgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDQ2ICsgMT4gPiBuZXh0OyB9OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBWPiBzdHJ1Y3Qgdl9pdGVyPFYsIG1wbDo6aW50Xzw0Nz4gPiB7IHR5cGVkZWYgdHlwZW5hbWUgVjo6aXRlbTQ3IHR5cGU7IHR5cGVkZWYgdl9pdGVyPFYsIG1wbDo6aW50Xzw0NyArIDE+ID4gbmV4dDsgfTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVj4gc3RydWN0IHZfaXRlcjxWLCBtcGw6OmludF88NDg+ID4geyB0eXBlZGVmIHR5cGVuYW1lIFY6Oml0ZW00OCB0eXBlOyB0eXBlZGVmIHZfaXRlcjxWLCBtcGw6OmludF88NDggKyAxPiA+IG5leHQ7IH07CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIFY+IHN0cnVjdCB2X2l0ZXI8ViwgbXBsOjppbnRfPDQ5PiA+IHsgdHlwZWRlZiB0eXBlbmFtZSBWOjppdGVtNDkgdHlwZTsgdHlwZWRlZiB2X2l0ZXI8ViwgbXBsOjppbnRfPDQ5ICsgMT4gPiBuZXh0OyB9OworfX0KK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSB0eXBlX29mIHsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFQgPSB2b2lkPiBzdHJ1Y3QgdmVjdG9yMCB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjA8PiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwID4gc3RydWN0IHZlY3RvcjEgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3IxPCBQMD4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgPiBzdHJ1Y3QgdmVjdG9yMiB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjI8IFAwICwgUDE+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiA+IHN0cnVjdCB2ZWN0b3IzIHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yMzwgUDAgLCBQMSAsIFAyPiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzID4gc3RydWN0IHZlY3RvcjQgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3I0PCBQMCAsIFAxICwgUDIgLCBQMz4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgPiBzdHJ1Y3QgdmVjdG9yNSB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjU8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQ+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgUDMgaXRlbTM7IHR5cGVkZWYgUDQgaXRlbTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSA+IHN0cnVjdCB2ZWN0b3I2IHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yNjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1PiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ID4gc3RydWN0IHZlY3RvcjcgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3I3PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNj4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgPiBzdHJ1Y3QgdmVjdG9yOCB7IHR5cGVkZWYgdl9pdGVyPHZlY3Rvcjg8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDc+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgUDMgaXRlbTM7IHR5cGVkZWYgUDQgaXRlbTQ7IHR5cGVkZWYgUDUgaXRlbTU7IHR5cGVkZWYgUDYgaXRlbTY7IHR5cGVkZWYgUDcgaXRlbTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCA+IHN0cnVjdCB2ZWN0b3I5IHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yOTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4PiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ID4gc3RydWN0IHZlY3RvcjEwIHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yMTA8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5PiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgPiBzdHJ1Y3QgdmVjdG9yMTEgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3IxMTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTA+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgUDMgaXRlbTM7IHR5cGVkZWYgUDQgaXRlbTQ7IHR5cGVkZWYgUDUgaXRlbTU7IHR5cGVkZWYgUDYgaXRlbTY7IHR5cGVkZWYgUDcgaXRlbTc7IHR5cGVkZWYgUDggaXRlbTg7IHR5cGVkZWYgUDkgaXRlbTk7IHR5cGVkZWYgUDEwIGl0ZW0xMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTExOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSA+IHN0cnVjdCB2ZWN0b3IxMiB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjEyPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMT4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTEzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyID4gc3RydWN0IHZlY3RvcjEzIHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yMTM8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyPiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgPiBzdHJ1Y3QgdmVjdG9yMTQgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3IxNDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTM+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgUDMgaXRlbTM7IHR5cGVkZWYgUDQgaXRlbTQ7IHR5cGVkZWYgUDUgaXRlbTU7IHR5cGVkZWYgUDYgaXRlbTY7IHR5cGVkZWYgUDcgaXRlbTc7IHR5cGVkZWYgUDggaXRlbTg7IHR5cGVkZWYgUDkgaXRlbTk7IHR5cGVkZWYgUDEwIGl0ZW0xMDsgdHlwZWRlZiBQMTEgaXRlbTExOyB0eXBlZGVmIFAxMiBpdGVtMTI7IHR5cGVkZWYgUDEzIGl0ZW0xMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCA+IHN0cnVjdCB2ZWN0b3IxNSB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjE1PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxND4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ID4gc3RydWN0IHZlY3RvcjE2IHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yMTY8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1PiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgPiBzdHJ1Y3QgdmVjdG9yMTcgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3IxNzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTY+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgUDMgaXRlbTM7IHR5cGVkZWYgUDQgaXRlbTQ7IHR5cGVkZWYgUDUgaXRlbTU7IHR5cGVkZWYgUDYgaXRlbTY7IHR5cGVkZWYgUDcgaXRlbTc7IHR5cGVkZWYgUDggaXRlbTg7IHR5cGVkZWYgUDkgaXRlbTk7IHR5cGVkZWYgUDEwIGl0ZW0xMDsgdHlwZWRlZiBQMTEgaXRlbTExOyB0eXBlZGVmIFAxMiBpdGVtMTI7IHR5cGVkZWYgUDEzIGl0ZW0xMzsgdHlwZWRlZiBQMTQgaXRlbTE0OyB0eXBlZGVmIFAxNSBpdGVtMTU7IHR5cGVkZWYgUDE2IGl0ZW0xNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyA+IHN0cnVjdCB2ZWN0b3IxOCB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjE4PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNz4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0xODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTE5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ID4gc3RydWN0IHZlY3RvcjE5IHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yMTk8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4PiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgPiBzdHJ1Y3QgdmVjdG9yMjAgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3IyMDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTk+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgUDMgaXRlbTM7IHR5cGVkZWYgUDQgaXRlbTQ7IHR5cGVkZWYgUDUgaXRlbTU7IHR5cGVkZWYgUDYgaXRlbTY7IHR5cGVkZWYgUDcgaXRlbTc7IHR5cGVkZWYgUDggaXRlbTg7IHR5cGVkZWYgUDkgaXRlbTk7IHR5cGVkZWYgUDEwIGl0ZW0xMDsgdHlwZWRlZiBQMTEgaXRlbTExOyB0eXBlZGVmIFAxMiBpdGVtMTI7IHR5cGVkZWYgUDEzIGl0ZW0xMzsgdHlwZWRlZiBQMTQgaXRlbTE0OyB0eXBlZGVmIFAxNSBpdGVtMTU7IHR5cGVkZWYgUDE2IGl0ZW0xNjsgdHlwZWRlZiBQMTcgaXRlbTE3OyB0eXBlZGVmIFAxOCBpdGVtMTg7IHR5cGVkZWYgUDE5IGl0ZW0xOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCA+IHN0cnVjdCB2ZWN0b3IyMSB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjIxPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMD4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxID4gc3RydWN0IHZlY3RvcjIyIHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yMjI8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxPiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgPiBzdHJ1Y3QgdmVjdG9yMjMgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3IyMzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjI+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgUDMgaXRlbTM7IHR5cGVkZWYgUDQgaXRlbTQ7IHR5cGVkZWYgUDUgaXRlbTU7IHR5cGVkZWYgUDYgaXRlbTY7IHR5cGVkZWYgUDcgaXRlbTc7IHR5cGVkZWYgUDggaXRlbTg7IHR5cGVkZWYgUDkgaXRlbTk7IHR5cGVkZWYgUDEwIGl0ZW0xMDsgdHlwZWRlZiBQMTEgaXRlbTExOyB0eXBlZGVmIFAxMiBpdGVtMTI7IHR5cGVkZWYgUDEzIGl0ZW0xMzsgdHlwZWRlZiBQMTQgaXRlbTE0OyB0eXBlZGVmIFAxNSBpdGVtMTU7IHR5cGVkZWYgUDE2IGl0ZW0xNjsgdHlwZWRlZiBQMTcgaXRlbTE3OyB0eXBlZGVmIFAxOCBpdGVtMTg7IHR5cGVkZWYgUDE5IGl0ZW0xOTsgdHlwZWRlZiBQMjAgaXRlbTIwOyB0eXBlZGVmIFAyMSBpdGVtMjE7IHR5cGVkZWYgUDIyIGl0ZW0yMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTIzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyA+IHN0cnVjdCB2ZWN0b3IyNCB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjI0PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMz4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ID4gc3RydWN0IHZlY3RvcjI1IHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yMjU8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0PiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgPiBzdHJ1Y3QgdmVjdG9yMjYgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3IyNjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjU+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgUDMgaXRlbTM7IHR5cGVkZWYgUDQgaXRlbTQ7IHR5cGVkZWYgUDUgaXRlbTU7IHR5cGVkZWYgUDYgaXRlbTY7IHR5cGVkZWYgUDcgaXRlbTc7IHR5cGVkZWYgUDggaXRlbTg7IHR5cGVkZWYgUDkgaXRlbTk7IHR5cGVkZWYgUDEwIGl0ZW0xMDsgdHlwZWRlZiBQMTEgaXRlbTExOyB0eXBlZGVmIFAxMiBpdGVtMTI7IHR5cGVkZWYgUDEzIGl0ZW0xMzsgdHlwZWRlZiBQMTQgaXRlbTE0OyB0eXBlZGVmIFAxNSBpdGVtMTU7IHR5cGVkZWYgUDE2IGl0ZW0xNjsgdHlwZWRlZiBQMTcgaXRlbTE3OyB0eXBlZGVmIFAxOCBpdGVtMTg7IHR5cGVkZWYgUDE5IGl0ZW0xOTsgdHlwZWRlZiBQMjAgaXRlbTIwOyB0eXBlZGVmIFAyMSBpdGVtMjE7IHR5cGVkZWYgUDIyIGl0ZW0yMjsgdHlwZWRlZiBQMjMgaXRlbTIzOyB0eXBlZGVmIFAyNCBpdGVtMjQ7IHR5cGVkZWYgUDI1IGl0ZW0yNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiA+IHN0cnVjdCB2ZWN0b3IyNyB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjI3PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNj4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ID4gc3RydWN0IHZlY3RvcjI4IHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yMjg8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3PiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0yOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggPiBzdHJ1Y3QgdmVjdG9yMjkgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3IyOTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjg+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgUDMgaXRlbTM7IHR5cGVkZWYgUDQgaXRlbTQ7IHR5cGVkZWYgUDUgaXRlbTU7IHR5cGVkZWYgUDYgaXRlbTY7IHR5cGVkZWYgUDcgaXRlbTc7IHR5cGVkZWYgUDggaXRlbTg7IHR5cGVkZWYgUDkgaXRlbTk7IHR5cGVkZWYgUDEwIGl0ZW0xMDsgdHlwZWRlZiBQMTEgaXRlbTExOyB0eXBlZGVmIFAxMiBpdGVtMTI7IHR5cGVkZWYgUDEzIGl0ZW0xMzsgdHlwZWRlZiBQMTQgaXRlbTE0OyB0eXBlZGVmIFAxNSBpdGVtMTU7IHR5cGVkZWYgUDE2IGl0ZW0xNjsgdHlwZWRlZiBQMTcgaXRlbTE3OyB0eXBlZGVmIFAxOCBpdGVtMTg7IHR5cGVkZWYgUDE5IGl0ZW0xOTsgdHlwZWRlZiBQMjAgaXRlbTIwOyB0eXBlZGVmIFAyMSBpdGVtMjE7IHR5cGVkZWYgUDIyIGl0ZW0yMjsgdHlwZWRlZiBQMjMgaXRlbTIzOyB0eXBlZGVmIFAyNCBpdGVtMjQ7IHR5cGVkZWYgUDI1IGl0ZW0yNTsgdHlwZWRlZiBQMjYgaXRlbTI2OyB0eXBlZGVmIFAyNyBpdGVtMjc7IHR5cGVkZWYgUDI4IGl0ZW0yODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTI5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSA+IHN0cnVjdCB2ZWN0b3IzMCB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjMwPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOT4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwID4gc3RydWN0IHZlY3RvcjMxIHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yMzE8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwPiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgPiBzdHJ1Y3QgdmVjdG9yMzIgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3IzMjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzE+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgUDMgaXRlbTM7IHR5cGVkZWYgUDQgaXRlbTQ7IHR5cGVkZWYgUDUgaXRlbTU7IHR5cGVkZWYgUDYgaXRlbTY7IHR5cGVkZWYgUDcgaXRlbTc7IHR5cGVkZWYgUDggaXRlbTg7IHR5cGVkZWYgUDkgaXRlbTk7IHR5cGVkZWYgUDEwIGl0ZW0xMDsgdHlwZWRlZiBQMTEgaXRlbTExOyB0eXBlZGVmIFAxMiBpdGVtMTI7IHR5cGVkZWYgUDEzIGl0ZW0xMzsgdHlwZWRlZiBQMTQgaXRlbTE0OyB0eXBlZGVmIFAxNSBpdGVtMTU7IHR5cGVkZWYgUDE2IGl0ZW0xNjsgdHlwZWRlZiBQMTcgaXRlbTE3OyB0eXBlZGVmIFAxOCBpdGVtMTg7IHR5cGVkZWYgUDE5IGl0ZW0xOTsgdHlwZWRlZiBQMjAgaXRlbTIwOyB0eXBlZGVmIFAyMSBpdGVtMjE7IHR5cGVkZWYgUDIyIGl0ZW0yMjsgdHlwZWRlZiBQMjMgaXRlbTIzOyB0eXBlZGVmIFAyNCBpdGVtMjQ7IHR5cGVkZWYgUDI1IGl0ZW0yNTsgdHlwZWRlZiBQMjYgaXRlbTI2OyB0eXBlZGVmIFAyNyBpdGVtMjc7IHR5cGVkZWYgUDI4IGl0ZW0yODsgdHlwZWRlZiBQMjkgaXRlbTI5OyB0eXBlZGVmIFAzMCBpdGVtMzA7IHR5cGVkZWYgUDMxIGl0ZW0zMTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTMyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiA+IHN0cnVjdCB2ZWN0b3IzMyB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjMzPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMj4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zMzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzID4gc3RydWN0IHZlY3RvcjM0IHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yMzQ8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzPiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgPiBzdHJ1Y3QgdmVjdG9yMzUgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3IzNTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQ+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgUDMgaXRlbTM7IHR5cGVkZWYgUDQgaXRlbTQ7IHR5cGVkZWYgUDUgaXRlbTU7IHR5cGVkZWYgUDYgaXRlbTY7IHR5cGVkZWYgUDcgaXRlbTc7IHR5cGVkZWYgUDggaXRlbTg7IHR5cGVkZWYgUDkgaXRlbTk7IHR5cGVkZWYgUDEwIGl0ZW0xMDsgdHlwZWRlZiBQMTEgaXRlbTExOyB0eXBlZGVmIFAxMiBpdGVtMTI7IHR5cGVkZWYgUDEzIGl0ZW0xMzsgdHlwZWRlZiBQMTQgaXRlbTE0OyB0eXBlZGVmIFAxNSBpdGVtMTU7IHR5cGVkZWYgUDE2IGl0ZW0xNjsgdHlwZWRlZiBQMTcgaXRlbTE3OyB0eXBlZGVmIFAxOCBpdGVtMTg7IHR5cGVkZWYgUDE5IGl0ZW0xOTsgdHlwZWRlZiBQMjAgaXRlbTIwOyB0eXBlZGVmIFAyMSBpdGVtMjE7IHR5cGVkZWYgUDIyIGl0ZW0yMjsgdHlwZWRlZiBQMjMgaXRlbTIzOyB0eXBlZGVmIFAyNCBpdGVtMjQ7IHR5cGVkZWYgUDI1IGl0ZW0yNTsgdHlwZWRlZiBQMjYgaXRlbTI2OyB0eXBlZGVmIFAyNyBpdGVtMjc7IHR5cGVkZWYgUDI4IGl0ZW0yODsgdHlwZWRlZiBQMjkgaXRlbTI5OyB0eXBlZGVmIFAzMCBpdGVtMzA7IHR5cGVkZWYgUDMxIGl0ZW0zMTsgdHlwZWRlZiBQMzIgaXRlbTMyOyB0eXBlZGVmIFAzMyBpdGVtMzM7IHR5cGVkZWYgUDM0IGl0ZW0zNDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSA+IHN0cnVjdCB2ZWN0b3IzNiB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjM2PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNT4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zNjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ID4gc3RydWN0IHZlY3RvcjM3IHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yMzc8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2PiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgPiBzdHJ1Y3QgdmVjdG9yMzggeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3IzODwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzc+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgUDMgaXRlbTM7IHR5cGVkZWYgUDQgaXRlbTQ7IHR5cGVkZWYgUDUgaXRlbTU7IHR5cGVkZWYgUDYgaXRlbTY7IHR5cGVkZWYgUDcgaXRlbTc7IHR5cGVkZWYgUDggaXRlbTg7IHR5cGVkZWYgUDkgaXRlbTk7IHR5cGVkZWYgUDEwIGl0ZW0xMDsgdHlwZWRlZiBQMTEgaXRlbTExOyB0eXBlZGVmIFAxMiBpdGVtMTI7IHR5cGVkZWYgUDEzIGl0ZW0xMzsgdHlwZWRlZiBQMTQgaXRlbTE0OyB0eXBlZGVmIFAxNSBpdGVtMTU7IHR5cGVkZWYgUDE2IGl0ZW0xNjsgdHlwZWRlZiBQMTcgaXRlbTE3OyB0eXBlZGVmIFAxOCBpdGVtMTg7IHR5cGVkZWYgUDE5IGl0ZW0xOTsgdHlwZWRlZiBQMjAgaXRlbTIwOyB0eXBlZGVmIFAyMSBpdGVtMjE7IHR5cGVkZWYgUDIyIGl0ZW0yMjsgdHlwZWRlZiBQMjMgaXRlbTIzOyB0eXBlZGVmIFAyNCBpdGVtMjQ7IHR5cGVkZWYgUDI1IGl0ZW0yNTsgdHlwZWRlZiBQMjYgaXRlbTI2OyB0eXBlZGVmIFAyNyBpdGVtMjc7IHR5cGVkZWYgUDI4IGl0ZW0yODsgdHlwZWRlZiBQMjkgaXRlbTI5OyB0eXBlZGVmIFAzMCBpdGVtMzA7IHR5cGVkZWYgUDMxIGl0ZW0zMTsgdHlwZWRlZiBQMzIgaXRlbTMyOyB0eXBlZGVmIFAzMyBpdGVtMzM7IHR5cGVkZWYgUDM0IGl0ZW0zNDsgdHlwZWRlZiBQMzUgaXRlbTM1OyB0eXBlZGVmIFAzNiBpdGVtMzY7IHR5cGVkZWYgUDM3IGl0ZW0zNzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTM4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtMzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCA+IHN0cnVjdCB2ZWN0b3IzOSB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjM5PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOD4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW0zOTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ID4gc3RydWN0IHZlY3RvcjQwIHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yNDA8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5PiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgPiBzdHJ1Y3QgdmVjdG9yNDEgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3I0MTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDA+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgUDMgaXRlbTM7IHR5cGVkZWYgUDQgaXRlbTQ7IHR5cGVkZWYgUDUgaXRlbTU7IHR5cGVkZWYgUDYgaXRlbTY7IHR5cGVkZWYgUDcgaXRlbTc7IHR5cGVkZWYgUDggaXRlbTg7IHR5cGVkZWYgUDkgaXRlbTk7IHR5cGVkZWYgUDEwIGl0ZW0xMDsgdHlwZWRlZiBQMTEgaXRlbTExOyB0eXBlZGVmIFAxMiBpdGVtMTI7IHR5cGVkZWYgUDEzIGl0ZW0xMzsgdHlwZWRlZiBQMTQgaXRlbTE0OyB0eXBlZGVmIFAxNSBpdGVtMTU7IHR5cGVkZWYgUDE2IGl0ZW0xNjsgdHlwZWRlZiBQMTcgaXRlbTE3OyB0eXBlZGVmIFAxOCBpdGVtMTg7IHR5cGVkZWYgUDE5IGl0ZW0xOTsgdHlwZWRlZiBQMjAgaXRlbTIwOyB0eXBlZGVmIFAyMSBpdGVtMjE7IHR5cGVkZWYgUDIyIGl0ZW0yMjsgdHlwZWRlZiBQMjMgaXRlbTIzOyB0eXBlZGVmIFAyNCBpdGVtMjQ7IHR5cGVkZWYgUDI1IGl0ZW0yNTsgdHlwZWRlZiBQMjYgaXRlbTI2OyB0eXBlZGVmIFAyNyBpdGVtMjc7IHR5cGVkZWYgUDI4IGl0ZW0yODsgdHlwZWRlZiBQMjkgaXRlbTI5OyB0eXBlZGVmIFAzMCBpdGVtMzA7IHR5cGVkZWYgUDMxIGl0ZW0zMTsgdHlwZWRlZiBQMzIgaXRlbTMyOyB0eXBlZGVmIFAzMyBpdGVtMzM7IHR5cGVkZWYgUDM0IGl0ZW0zNDsgdHlwZWRlZiBQMzUgaXRlbTM1OyB0eXBlZGVmIFAzNiBpdGVtMzY7IHR5cGVkZWYgUDM3IGl0ZW0zNzsgdHlwZWRlZiBQMzggaXRlbTM4OyB0eXBlZGVmIFAzOSBpdGVtMzk7IHR5cGVkZWYgUDQwIGl0ZW00MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSA+IHN0cnVjdCB2ZWN0b3I0MiB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjQyPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MT4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyID4gc3RydWN0IHZlY3RvcjQzIHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yNDM8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyPiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgUDQxIGl0ZW00MTsgdHlwZWRlZiBQNDIgaXRlbTQyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgPiBzdHJ1Y3QgdmVjdG9yNDQgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3I0NDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDM+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgUDMgaXRlbTM7IHR5cGVkZWYgUDQgaXRlbTQ7IHR5cGVkZWYgUDUgaXRlbTU7IHR5cGVkZWYgUDYgaXRlbTY7IHR5cGVkZWYgUDcgaXRlbTc7IHR5cGVkZWYgUDggaXRlbTg7IHR5cGVkZWYgUDkgaXRlbTk7IHR5cGVkZWYgUDEwIGl0ZW0xMDsgdHlwZWRlZiBQMTEgaXRlbTExOyB0eXBlZGVmIFAxMiBpdGVtMTI7IHR5cGVkZWYgUDEzIGl0ZW0xMzsgdHlwZWRlZiBQMTQgaXRlbTE0OyB0eXBlZGVmIFAxNSBpdGVtMTU7IHR5cGVkZWYgUDE2IGl0ZW0xNjsgdHlwZWRlZiBQMTcgaXRlbTE3OyB0eXBlZGVmIFAxOCBpdGVtMTg7IHR5cGVkZWYgUDE5IGl0ZW0xOTsgdHlwZWRlZiBQMjAgaXRlbTIwOyB0eXBlZGVmIFAyMSBpdGVtMjE7IHR5cGVkZWYgUDIyIGl0ZW0yMjsgdHlwZWRlZiBQMjMgaXRlbTIzOyB0eXBlZGVmIFAyNCBpdGVtMjQ7IHR5cGVkZWYgUDI1IGl0ZW0yNTsgdHlwZWRlZiBQMjYgaXRlbTI2OyB0eXBlZGVmIFAyNyBpdGVtMjc7IHR5cGVkZWYgUDI4IGl0ZW0yODsgdHlwZWRlZiBQMjkgaXRlbTI5OyB0eXBlZGVmIFAzMCBpdGVtMzA7IHR5cGVkZWYgUDMxIGl0ZW0zMTsgdHlwZWRlZiBQMzIgaXRlbTMyOyB0eXBlZGVmIFAzMyBpdGVtMzM7IHR5cGVkZWYgUDM0IGl0ZW0zNDsgdHlwZWRlZiBQMzUgaXRlbTM1OyB0eXBlZGVmIFAzNiBpdGVtMzY7IHR5cGVkZWYgUDM3IGl0ZW0zNzsgdHlwZWRlZiBQMzggaXRlbTM4OyB0eXBlZGVmIFAzOSBpdGVtMzk7IHR5cGVkZWYgUDQwIGl0ZW00MDsgdHlwZWRlZiBQNDEgaXRlbTQxOyB0eXBlZGVmIFA0MiBpdGVtNDI7IHR5cGVkZWYgUDQzIGl0ZW00MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCA+IHN0cnVjdCB2ZWN0b3I0NSB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjQ1PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0ND4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ID4gc3RydWN0IHZlY3RvcjQ2IHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yNDY8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1PiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgUDQxIGl0ZW00MTsgdHlwZWRlZiBQNDIgaXRlbTQyOyB0eXBlZGVmIFA0MyBpdGVtNDM7IHR5cGVkZWYgUDQ0IGl0ZW00NDsgdHlwZWRlZiBQNDUgaXRlbTQ1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgPiBzdHJ1Y3QgdmVjdG9yNDcgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3I0NzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDY+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgUDMgaXRlbTM7IHR5cGVkZWYgUDQgaXRlbTQ7IHR5cGVkZWYgUDUgaXRlbTU7IHR5cGVkZWYgUDYgaXRlbTY7IHR5cGVkZWYgUDcgaXRlbTc7IHR5cGVkZWYgUDggaXRlbTg7IHR5cGVkZWYgUDkgaXRlbTk7IHR5cGVkZWYgUDEwIGl0ZW0xMDsgdHlwZWRlZiBQMTEgaXRlbTExOyB0eXBlZGVmIFAxMiBpdGVtMTI7IHR5cGVkZWYgUDEzIGl0ZW0xMzsgdHlwZWRlZiBQMTQgaXRlbTE0OyB0eXBlZGVmIFAxNSBpdGVtMTU7IHR5cGVkZWYgUDE2IGl0ZW0xNjsgdHlwZWRlZiBQMTcgaXRlbTE3OyB0eXBlZGVmIFAxOCBpdGVtMTg7IHR5cGVkZWYgUDE5IGl0ZW0xOTsgdHlwZWRlZiBQMjAgaXRlbTIwOyB0eXBlZGVmIFAyMSBpdGVtMjE7IHR5cGVkZWYgUDIyIGl0ZW0yMjsgdHlwZWRlZiBQMjMgaXRlbTIzOyB0eXBlZGVmIFAyNCBpdGVtMjQ7IHR5cGVkZWYgUDI1IGl0ZW0yNTsgdHlwZWRlZiBQMjYgaXRlbTI2OyB0eXBlZGVmIFAyNyBpdGVtMjc7IHR5cGVkZWYgUDI4IGl0ZW0yODsgdHlwZWRlZiBQMjkgaXRlbTI5OyB0eXBlZGVmIFAzMCBpdGVtMzA7IHR5cGVkZWYgUDMxIGl0ZW0zMTsgdHlwZWRlZiBQMzIgaXRlbTMyOyB0eXBlZGVmIFAzMyBpdGVtMzM7IHR5cGVkZWYgUDM0IGl0ZW0zNDsgdHlwZWRlZiBQMzUgaXRlbTM1OyB0eXBlZGVmIFAzNiBpdGVtMzY7IHR5cGVkZWYgUDM3IGl0ZW0zNzsgdHlwZWRlZiBQMzggaXRlbTM4OyB0eXBlZGVmIFAzOSBpdGVtMzk7IHR5cGVkZWYgUDQwIGl0ZW00MDsgdHlwZWRlZiBQNDEgaXRlbTQxOyB0eXBlZGVmIFA0MiBpdGVtNDI7IHR5cGVkZWYgUDQzIGl0ZW00MzsgdHlwZWRlZiBQNDQgaXRlbTQ0OyB0eXBlZGVmIFA0NSBpdGVtNDU7IHR5cGVkZWYgUDQ2IGl0ZW00NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBQOSAsIGNsYXNzIFAxMCAsIGNsYXNzIFAxMSAsIGNsYXNzIFAxMiAsIGNsYXNzIFAxMyAsIGNsYXNzIFAxNCAsIGNsYXNzIFAxNSAsIGNsYXNzIFAxNiAsIGNsYXNzIFAxNyAsIGNsYXNzIFAxOCAsIGNsYXNzIFAxOSAsIGNsYXNzIFAyMCAsIGNsYXNzIFAyMSAsIGNsYXNzIFAyMiAsIGNsYXNzIFAyMyAsIGNsYXNzIFAyNCAsIGNsYXNzIFAyNSAsIGNsYXNzIFAyNiAsIGNsYXNzIFAyNyAsIGNsYXNzIFAyOCAsIGNsYXNzIFAyOSAsIGNsYXNzIFAzMCAsIGNsYXNzIFAzMSAsIGNsYXNzIFAzMiAsIGNsYXNzIFAzMyAsIGNsYXNzIFAzNCAsIGNsYXNzIFAzNSAsIGNsYXNzIFAzNiAsIGNsYXNzIFAzNyAsIGNsYXNzIFAzOCAsIGNsYXNzIFAzOSAsIGNsYXNzIFA0MCAsIGNsYXNzIFA0MSAsIGNsYXNzIFA0MiAsIGNsYXNzIFA0MyAsIGNsYXNzIFA0NCAsIGNsYXNzIFA0NSAsIGNsYXNzIFA0NiAsIGNsYXNzIFA0NyA+IHN0cnVjdCB2ZWN0b3I0OCB7IHR5cGVkZWYgdl9pdGVyPHZlY3RvcjQ4PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBQOSAsIFAxMCAsIFAxMSAsIFAxMiAsIFAxMyAsIFAxNCAsIFAxNSAsIFAxNiAsIFAxNyAsIFAxOCAsIFAxOSAsIFAyMCAsIFAyMSAsIFAyMiAsIFAyMyAsIFAyNCAsIFAyNSAsIFAyNiAsIFAyNyAsIFAyOCAsIFAyOSAsIFAzMCAsIFAzMSAsIFAzMiAsIFAzMyAsIFAzNCAsIFAzNSAsIFAzNiAsIFAzNyAsIFAzOCAsIFAzOSAsIFA0MCAsIFA0MSAsIFA0MiAsIFA0MyAsIFA0NCAsIFA0NSAsIFA0NiAsIFA0Nz4sIG5kbmJvb3N0OjptcGw6OmludF88MD4gPiBiZWdpbjsgdHlwZWRlZiBQMCBpdGVtMDsgdHlwZWRlZiBQMSBpdGVtMTsgdHlwZWRlZiBQMiBpdGVtMjsgdHlwZWRlZiBQMyBpdGVtMzsgdHlwZWRlZiBQNCBpdGVtNDsgdHlwZWRlZiBQNSBpdGVtNTsgdHlwZWRlZiBQNiBpdGVtNjsgdHlwZWRlZiBQNyBpdGVtNzsgdHlwZWRlZiBQOCBpdGVtODsgdHlwZWRlZiBQOSBpdGVtOTsgdHlwZWRlZiBQMTAgaXRlbTEwOyB0eXBlZGVmIFAxMSBpdGVtMTE7IHR5cGVkZWYgUDEyIGl0ZW0xMjsgdHlwZWRlZiBQMTMgaXRlbTEzOyB0eXBlZGVmIFAxNCBpdGVtMTQ7IHR5cGVkZWYgUDE1IGl0ZW0xNTsgdHlwZWRlZiBQMTYgaXRlbTE2OyB0eXBlZGVmIFAxNyBpdGVtMTc7IHR5cGVkZWYgUDE4IGl0ZW0xODsgdHlwZWRlZiBQMTkgaXRlbTE5OyB0eXBlZGVmIFAyMCBpdGVtMjA7IHR5cGVkZWYgUDIxIGl0ZW0yMTsgdHlwZWRlZiBQMjIgaXRlbTIyOyB0eXBlZGVmIFAyMyBpdGVtMjM7IHR5cGVkZWYgUDI0IGl0ZW0yNDsgdHlwZWRlZiBQMjUgaXRlbTI1OyB0eXBlZGVmIFAyNiBpdGVtMjY7IHR5cGVkZWYgUDI3IGl0ZW0yNzsgdHlwZWRlZiBQMjggaXRlbTI4OyB0eXBlZGVmIFAyOSBpdGVtMjk7IHR5cGVkZWYgUDMwIGl0ZW0zMDsgdHlwZWRlZiBQMzEgaXRlbTMxOyB0eXBlZGVmIFAzMiBpdGVtMzI7IHR5cGVkZWYgUDMzIGl0ZW0zMzsgdHlwZWRlZiBQMzQgaXRlbTM0OyB0eXBlZGVmIFAzNSBpdGVtMzU7IHR5cGVkZWYgUDM2IGl0ZW0zNjsgdHlwZWRlZiBQMzcgaXRlbTM3OyB0eXBlZGVmIFAzOCBpdGVtMzg7IHR5cGVkZWYgUDM5IGl0ZW0zOTsgdHlwZWRlZiBQNDAgaXRlbTQwOyB0eXBlZGVmIFA0MSBpdGVtNDE7IHR5cGVkZWYgUDQyIGl0ZW00MjsgdHlwZWRlZiBQNDMgaXRlbTQzOyB0eXBlZGVmIFA0NCBpdGVtNDQ7IHR5cGVkZWYgUDQ1IGl0ZW00NTsgdHlwZWRlZiBQNDYgaXRlbTQ2OyB0eXBlZGVmIFA0NyBpdGVtNDc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW00ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTQ5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTczOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05OTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ID4gc3RydWN0IHZlY3RvcjQ5IHsgdHlwZWRlZiB2X2l0ZXI8dmVjdG9yNDk8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4PiwgbmRuYm9vc3Q6Om1wbDo6aW50XzwwPiA+IGJlZ2luOyB0eXBlZGVmIFAwIGl0ZW0wOyB0eXBlZGVmIFAxIGl0ZW0xOyB0eXBlZGVmIFAyIGl0ZW0yOyB0eXBlZGVmIFAzIGl0ZW0zOyB0eXBlZGVmIFA0IGl0ZW00OyB0eXBlZGVmIFA1IGl0ZW01OyB0eXBlZGVmIFA2IGl0ZW02OyB0eXBlZGVmIFA3IGl0ZW03OyB0eXBlZGVmIFA4IGl0ZW04OyB0eXBlZGVmIFA5IGl0ZW05OyB0eXBlZGVmIFAxMCBpdGVtMTA7IHR5cGVkZWYgUDExIGl0ZW0xMTsgdHlwZWRlZiBQMTIgaXRlbTEyOyB0eXBlZGVmIFAxMyBpdGVtMTM7IHR5cGVkZWYgUDE0IGl0ZW0xNDsgdHlwZWRlZiBQMTUgaXRlbTE1OyB0eXBlZGVmIFAxNiBpdGVtMTY7IHR5cGVkZWYgUDE3IGl0ZW0xNzsgdHlwZWRlZiBQMTggaXRlbTE4OyB0eXBlZGVmIFAxOSBpdGVtMTk7IHR5cGVkZWYgUDIwIGl0ZW0yMDsgdHlwZWRlZiBQMjEgaXRlbTIxOyB0eXBlZGVmIFAyMiBpdGVtMjI7IHR5cGVkZWYgUDIzIGl0ZW0yMzsgdHlwZWRlZiBQMjQgaXRlbTI0OyB0eXBlZGVmIFAyNSBpdGVtMjU7IHR5cGVkZWYgUDI2IGl0ZW0yNjsgdHlwZWRlZiBQMjcgaXRlbTI3OyB0eXBlZGVmIFAyOCBpdGVtMjg7IHR5cGVkZWYgUDI5IGl0ZW0yOTsgdHlwZWRlZiBQMzAgaXRlbTMwOyB0eXBlZGVmIFAzMSBpdGVtMzE7IHR5cGVkZWYgUDMyIGl0ZW0zMjsgdHlwZWRlZiBQMzMgaXRlbTMzOyB0eXBlZGVmIFAzNCBpdGVtMzQ7IHR5cGVkZWYgUDM1IGl0ZW0zNTsgdHlwZWRlZiBQMzYgaXRlbTM2OyB0eXBlZGVmIFAzNyBpdGVtMzc7IHR5cGVkZWYgUDM4IGl0ZW0zODsgdHlwZWRlZiBQMzkgaXRlbTM5OyB0eXBlZGVmIFA0MCBpdGVtNDA7IHR5cGVkZWYgUDQxIGl0ZW00MTsgdHlwZWRlZiBQNDIgaXRlbTQyOyB0eXBlZGVmIFA0MyBpdGVtNDM7IHR5cGVkZWYgUDQ0IGl0ZW00NDsgdHlwZWRlZiBQNDUgaXRlbTQ1OyB0eXBlZGVmIFA0NiBpdGVtNDY7IHR5cGVkZWYgUDQ3IGl0ZW00NzsgdHlwZWRlZiBQNDggaXRlbTQ4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNDk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk5OyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBQNyAsIGNsYXNzIFA4ICwgY2xhc3MgUDkgLCBjbGFzcyBQMTAgLCBjbGFzcyBQMTEgLCBjbGFzcyBQMTIgLCBjbGFzcyBQMTMgLCBjbGFzcyBQMTQgLCBjbGFzcyBQMTUgLCBjbGFzcyBQMTYgLCBjbGFzcyBQMTcgLCBjbGFzcyBQMTggLCBjbGFzcyBQMTkgLCBjbGFzcyBQMjAgLCBjbGFzcyBQMjEgLCBjbGFzcyBQMjIgLCBjbGFzcyBQMjMgLCBjbGFzcyBQMjQgLCBjbGFzcyBQMjUgLCBjbGFzcyBQMjYgLCBjbGFzcyBQMjcgLCBjbGFzcyBQMjggLCBjbGFzcyBQMjkgLCBjbGFzcyBQMzAgLCBjbGFzcyBQMzEgLCBjbGFzcyBQMzIgLCBjbGFzcyBQMzMgLCBjbGFzcyBQMzQgLCBjbGFzcyBQMzUgLCBjbGFzcyBQMzYgLCBjbGFzcyBQMzcgLCBjbGFzcyBQMzggLCBjbGFzcyBQMzkgLCBjbGFzcyBQNDAgLCBjbGFzcyBQNDEgLCBjbGFzcyBQNDIgLCBjbGFzcyBQNDMgLCBjbGFzcyBQNDQgLCBjbGFzcyBQNDUgLCBjbGFzcyBQNDYgLCBjbGFzcyBQNDcgLCBjbGFzcyBQNDggLCBjbGFzcyBQNDkgPiBzdHJ1Y3QgdmVjdG9yNTAgeyB0eXBlZGVmIHZfaXRlcjx2ZWN0b3I1MDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBQNDk+LCBuZG5ib29zdDo6bXBsOjppbnRfPDA+ID4gYmVnaW47IHR5cGVkZWYgUDAgaXRlbTA7IHR5cGVkZWYgUDEgaXRlbTE7IHR5cGVkZWYgUDIgaXRlbTI7IHR5cGVkZWYgUDMgaXRlbTM7IHR5cGVkZWYgUDQgaXRlbTQ7IHR5cGVkZWYgUDUgaXRlbTU7IHR5cGVkZWYgUDYgaXRlbTY7IHR5cGVkZWYgUDcgaXRlbTc7IHR5cGVkZWYgUDggaXRlbTg7IHR5cGVkZWYgUDkgaXRlbTk7IHR5cGVkZWYgUDEwIGl0ZW0xMDsgdHlwZWRlZiBQMTEgaXRlbTExOyB0eXBlZGVmIFAxMiBpdGVtMTI7IHR5cGVkZWYgUDEzIGl0ZW0xMzsgdHlwZWRlZiBQMTQgaXRlbTE0OyB0eXBlZGVmIFAxNSBpdGVtMTU7IHR5cGVkZWYgUDE2IGl0ZW0xNjsgdHlwZWRlZiBQMTcgaXRlbTE3OyB0eXBlZGVmIFAxOCBpdGVtMTg7IHR5cGVkZWYgUDE5IGl0ZW0xOTsgdHlwZWRlZiBQMjAgaXRlbTIwOyB0eXBlZGVmIFAyMSBpdGVtMjE7IHR5cGVkZWYgUDIyIGl0ZW0yMjsgdHlwZWRlZiBQMjMgaXRlbTIzOyB0eXBlZGVmIFAyNCBpdGVtMjQ7IHR5cGVkZWYgUDI1IGl0ZW0yNTsgdHlwZWRlZiBQMjYgaXRlbTI2OyB0eXBlZGVmIFAyNyBpdGVtMjc7IHR5cGVkZWYgUDI4IGl0ZW0yODsgdHlwZWRlZiBQMjkgaXRlbTI5OyB0eXBlZGVmIFAzMCBpdGVtMzA7IHR5cGVkZWYgUDMxIGl0ZW0zMTsgdHlwZWRlZiBQMzIgaXRlbTMyOyB0eXBlZGVmIFAzMyBpdGVtMzM7IHR5cGVkZWYgUDM0IGl0ZW0zNDsgdHlwZWRlZiBQMzUgaXRlbTM1OyB0eXBlZGVmIFAzNiBpdGVtMzY7IHR5cGVkZWYgUDM3IGl0ZW0zNzsgdHlwZWRlZiBQMzggaXRlbTM4OyB0eXBlZGVmIFAzOSBpdGVtMzk7IHR5cGVkZWYgUDQwIGl0ZW00MDsgdHlwZWRlZiBQNDEgaXRlbTQxOyB0eXBlZGVmIFA0MiBpdGVtNDI7IHR5cGVkZWYgUDQzIGl0ZW00MzsgdHlwZWRlZiBQNDQgaXRlbTQ0OyB0eXBlZGVmIFA0NSBpdGVtNDU7IHR5cGVkZWYgUDQ2IGl0ZW00NjsgdHlwZWRlZiBQNDcgaXRlbTQ3OyB0eXBlZGVmIFA0OCBpdGVtNDg7IHR5cGVkZWYgUDQ5IGl0ZW00OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTUzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNTc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW01ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTU5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTYyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW02NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTY4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNjk7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTcxOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzI7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03MzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc0OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzU7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03NjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTc3OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtNzg7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW03OTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgwOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODE7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04MjsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTgzOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODQ7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04NTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg2OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtODc7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW04ODsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTg5OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTA7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05MTsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTkyOyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTM7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NDsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk1OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTY7IHR5cGVkZWYgbXBsOjppbnRfPDE+IGl0ZW05NzsgdHlwZWRlZiBtcGw6OmludF88MT4gaXRlbTk4OyB0eXBlZGVmIG1wbDo6aW50XzwxPiBpdGVtOTk7IH07Cit9fQorbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIHR5cGVfb2YgeworICAgIHRlbXBsYXRlPGNsYXNzIFYsIGNsYXNzIFQ+IHN0cnVjdCBwdXNoX2JhY2sgeworICAgICAgICB0eXBlZGVmIFYgdHlwZTsKKyAgICB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMDw+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjE8IFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IxPCBQMD4sIFQ+IHsgdHlwZWRlZiBuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMjwgUDAgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IyPCBQMCAsIFAxPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IzPCBQMCAsIFAxICwgVCA+IHR5cGU7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IzPCBQMCAsIFAxICwgUDI+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjQ8IFAwICwgUDEgLCBQMiAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I0PCBQMCAsIFAxICwgUDIgLCBQMz4sIFQ+IHsgdHlwZWRlZiBuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yNTwgUDAgLCBQMSAsIFAyICwgUDMgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I1PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I2PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgVCA+IHR5cGU7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I2PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDU+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3Rvcjc8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFQgPiB0eXBlOyB9OworICAgICAgICB0ZW1wbGF0ZTwgY2xhc3MgUDAgLCBjbGFzcyBQMSAsIGNsYXNzIFAyICwgY2xhc3MgUDMgLCBjbGFzcyBQNCAsIGNsYXNzIFA1ICwgY2xhc3MgUDYgLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I3PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNj4sIFQ+IHsgdHlwZWRlZiBuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yODwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I4PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I5PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgVCA+IHR5cGU7IH07CisgICAgICAgIHRlbXBsYXRlPCBjbGFzcyBQMCAsIGNsYXNzIFAxICwgY2xhc3MgUDIgLCBjbGFzcyBQMyAsIGNsYXNzIFA0ICwgY2xhc3MgUDUgLCBjbGFzcyBQNiAsIGNsYXNzIFA3ICwgY2xhc3MgUDggLCBjbGFzcyBUPiBzdHJ1Y3QgcHVzaF9iYWNrPG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I5PCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDg+LCBUPiB7IHR5cGVkZWYgbmRuYm9vc3Q6OnR5cGVfb2Y6OnZlY3RvcjEwPCBQMCAsIFAxICwgUDIgLCBQMyAsIFA0ICwgUDUgLCBQNiAsIFA3ICwgUDggLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMTA8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IxMTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMTE8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IxMjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMTI8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IxMzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMTM8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IxNDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMTQ8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IxNTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMTU8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IxNjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMTY8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IxNzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMTc8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IxODwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMTg8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IxOTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMTk8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IyMDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMjA8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IyMTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMjE8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IyMjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMjI8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IyMzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMjM8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IyNDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMjQ8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IyNTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMjU8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IyNjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMjY8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IyNzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMjc8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IyODwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMjg8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IyOTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMjk8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IzMDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMzA8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IzMTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMzE8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IzMjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMzI8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IzMzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMzM8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IzNDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMzQ8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IzNTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMzU8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IzNjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMzY8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IzNzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMzc8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IzODwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMzg8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3IzOTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yMzk8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I0MDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yNDA8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I0MTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yNDE8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I0MjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yNDI8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I0MzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yNDM8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I0NDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yNDQ8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzPiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I0NTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yNDU8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I0NjwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yNDY8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I0NzwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yNDc8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I0ODwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yNDg8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I0OTwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBUID4gdHlwZTsgfTsKKyAgICAgICAgdGVtcGxhdGU8IGNsYXNzIFAwICwgY2xhc3MgUDEgLCBjbGFzcyBQMiAsIGNsYXNzIFAzICwgY2xhc3MgUDQgLCBjbGFzcyBQNSAsIGNsYXNzIFA2ICwgY2xhc3MgUDcgLCBjbGFzcyBQOCAsIGNsYXNzIFA5ICwgY2xhc3MgUDEwICwgY2xhc3MgUDExICwgY2xhc3MgUDEyICwgY2xhc3MgUDEzICwgY2xhc3MgUDE0ICwgY2xhc3MgUDE1ICwgY2xhc3MgUDE2ICwgY2xhc3MgUDE3ICwgY2xhc3MgUDE4ICwgY2xhc3MgUDE5ICwgY2xhc3MgUDIwICwgY2xhc3MgUDIxICwgY2xhc3MgUDIyICwgY2xhc3MgUDIzICwgY2xhc3MgUDI0ICwgY2xhc3MgUDI1ICwgY2xhc3MgUDI2ICwgY2xhc3MgUDI3ICwgY2xhc3MgUDI4ICwgY2xhc3MgUDI5ICwgY2xhc3MgUDMwICwgY2xhc3MgUDMxICwgY2xhc3MgUDMyICwgY2xhc3MgUDMzICwgY2xhc3MgUDM0ICwgY2xhc3MgUDM1ICwgY2xhc3MgUDM2ICwgY2xhc3MgUDM3ICwgY2xhc3MgUDM4ICwgY2xhc3MgUDM5ICwgY2xhc3MgUDQwICwgY2xhc3MgUDQxICwgY2xhc3MgUDQyICwgY2xhc3MgUDQzICwgY2xhc3MgUDQ0ICwgY2xhc3MgUDQ1ICwgY2xhc3MgUDQ2ICwgY2xhc3MgUDQ3ICwgY2xhc3MgUDQ4ICwgY2xhc3MgVD4gc3RydWN0IHB1c2hfYmFjazxuZG5ib29zdDo6dHlwZV9vZjo6dmVjdG9yNDk8IFAwICwgUDEgLCBQMiAsIFAzICwgUDQgLCBQNSAsIFA2ICwgUDcgLCBQOCAsIFA5ICwgUDEwICwgUDExICwgUDEyICwgUDEzICwgUDE0ICwgUDE1ICwgUDE2ICwgUDE3ICwgUDE4ICwgUDE5ICwgUDIwICwgUDIxICwgUDIyICwgUDIzICwgUDI0ICwgUDI1ICwgUDI2ICwgUDI3ICwgUDI4ICwgUDI5ICwgUDMwICwgUDMxICwgUDMyICwgUDMzICwgUDM0ICwgUDM1ICwgUDM2ICwgUDM3ICwgUDM4ICwgUDM5ICwgUDQwICwgUDQxICwgUDQyICwgUDQzICwgUDQ0ICwgUDQ1ICwgUDQ2ICwgUDQ3ICwgUDQ4PiwgVD4geyB0eXBlZGVmIG5kbmJvb3N0Ojp0eXBlX29mOjp2ZWN0b3I1MDwgUDAgLCBQMSAsIFAyICwgUDMgLCBQNCAsIFA1ICwgUDYgLCBQNyAsIFA4ICwgUDkgLCBQMTAgLCBQMTEgLCBQMTIgLCBQMTMgLCBQMTQgLCBQMTUgLCBQMTYgLCBQMTcgLCBQMTggLCBQMTkgLCBQMjAgLCBQMjEgLCBQMjIgLCBQMjMgLCBQMjQgLCBQMjUgLCBQMjYgLCBQMjcgLCBQMjggLCBQMjkgLCBQMzAgLCBQMzEgLCBQMzIgLCBQMzMgLCBQMzQgLCBQMzUgLCBQMzYgLCBQMzcgLCBQMzggLCBQMzkgLCBQNDAgLCBQNDEgLCBQNDIgLCBQNDMgLCBQNDQgLCBQNDUgLCBQNDYgLCBQNDcgLCBQNDggLCBUID4gdHlwZTsgfTsKK319CmRpZmYgLS1naXQgYS9uZG5ib29zdC91bm9yZGVyZWQvZGV0YWlsL2FsbG9jYXRlLmhwcCBiL25kbmJvb3N0L3Vub3JkZXJlZC9kZXRhaWwvYWxsb2NhdGUuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRhZDY3MjQKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC91bm9yZGVyZWQvZGV0YWlsL2FsbG9jYXRlLmhwcApAQCAtMCwwICsxLDExMjAgQEAKKworLy8gQ29weXJpZ2h0IDIwMDUtMjAxMSBEYW5pZWwgSmFtZXMuCisvLyBDb3B5cmlnaHQgMjAwOSBQYWJsbyBIYWxwZXJuLgorLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAoU2VlIGFjY29tcGFueWluZworLy8gZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisKKy8vICBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvbGlicy91bm9yZGVyZWQgZm9yIGRvY3VtZW50YXRpb24KKworI2lmbmRlZiBCT09TVF9VTk9SREVSRURfQUxMT0NBVEVfSFBQCisjZGVmaW5lIEJPT1NUX1VOT1JERVJFRF9BTExPQ0FURV9IUFAKKworI2lmIGRlZmluZWQoX01TQ19WRVIpICYmIChfTVNDX1ZFUiA+PSAxMDIwKQorIyBwcmFnbWEgb25jZQorI2VuZGlmCisKKyNpbmNsdWRlIDxuZG5ib29zdC91bm9yZGVyZWQvZGV0YWlsL2Z3ZC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbW92ZS9tb3ZlLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3IvY2F0LmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3IvaW5jLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3IvZGVjLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3IvcmVwZXRpdGlvbi9lbnVtLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3IvcmVwZXRpdGlvbi9lbnVtX3BhcmFtcy5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL3JlcGV0aXRpb24vZW51bV9iaW5hcnlfcGFyYW1zLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3IvcmVwZXRpdGlvbi9yZXBlYXRfZnJvbV90by5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvaXNfY2xhc3MuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2FkZF9sdmFsdWVfcmVmZXJlbmNlLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC90dXBsZS90dXBsZS5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvdXRpbGl0eS9lbmFibGVfaWYuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3V0aWxpdHkvYWRkcmVzc29mLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9kZXRhaWwvc2VsZWN0X3R5cGUuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L2Fzc2VydC5ocHA+CisjaW5jbHVkZSA8dXRpbGl0eT4KKworI2lmICFkZWZpbmVkKEJPT1NUX05PX0NYWDExX0hEUl9UVVBMRSkKKyNpbmNsdWRlIDx0dXBsZT4KKyNlbmRpZgorCisjaWYgZGVmaW5lZChCT09TVF9NU1ZDKQorI3ByYWdtYSB3YXJuaW5nKHB1c2gpCisjcHJhZ21hIHdhcm5pbmcoZGlzYWJsZTo0NTEyKSAvLyBhc3NpZ25tZW50IG9wZXJhdG9yIGNvdWxkIG5vdCBiZSBnZW5lcmF0ZWQuCisjcHJhZ21hIHdhcm5pbmcoZGlzYWJsZTo0MzQ1KSAvLyBiZWhhdmlvciBjaGFuZ2U6IGFuIG9iamVjdCBvZiBQT0QgdHlwZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gY29uc3RydWN0ZWQgd2l0aCBhbiBpbml0aWFsaXplciBvZiB0aGUgZm9ybSAoKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gd2lsbCBiZSBkZWZhdWx0LWluaXRpYWxpemVkLgorI2VuZGlmCisKKyNkZWZpbmUgQk9PU1RfVU5PUkRFUkVEX0VNUExBQ0VfTElNSVQgMTAKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIHVub3JkZXJlZCB7IG5hbWVzcGFjZSBkZXRhaWwgeworCisgICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworICAgIC8vIEJpdHMgYW5kIHBpZWNlcyBmb3IgaW1wbGVtZW50aW5nIHRyYWl0cworCisgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFQ+IHR5cGVuYW1lIG5kbmJvb3N0OjphZGRfbHZhbHVlX3JlZmVyZW5jZTxUPjo6dHlwZSBtYWtlKCk7CisgICAgc3RydWN0IGNob2ljZTkgeyB0eXBlZGVmIGNoYXIgKCZ0eXBlKVs5XTsgfTsKKyAgICBzdHJ1Y3QgY2hvaWNlOCA6IGNob2ljZTkgeyB0eXBlZGVmIGNoYXIgKCZ0eXBlKVs4XTsgfTsKKyAgICBzdHJ1Y3QgY2hvaWNlNyA6IGNob2ljZTggeyB0eXBlZGVmIGNoYXIgKCZ0eXBlKVs3XTsgfTsKKyAgICBzdHJ1Y3QgY2hvaWNlNiA6IGNob2ljZTcgeyB0eXBlZGVmIGNoYXIgKCZ0eXBlKVs2XTsgfTsKKyAgICBzdHJ1Y3QgY2hvaWNlNSA6IGNob2ljZTYgeyB0eXBlZGVmIGNoYXIgKCZ0eXBlKVs1XTsgfTsKKyAgICBzdHJ1Y3QgY2hvaWNlNCA6IGNob2ljZTUgeyB0eXBlZGVmIGNoYXIgKCZ0eXBlKVs0XTsgfTsKKyAgICBzdHJ1Y3QgY2hvaWNlMyA6IGNob2ljZTQgeyB0eXBlZGVmIGNoYXIgKCZ0eXBlKVszXTsgfTsKKyAgICBzdHJ1Y3QgY2hvaWNlMiA6IGNob2ljZTMgeyB0eXBlZGVmIGNoYXIgKCZ0eXBlKVsyXTsgfTsKKyAgICBzdHJ1Y3QgY2hvaWNlMSA6IGNob2ljZTIgeyB0eXBlZGVmIGNoYXIgKCZ0eXBlKVsxXTsgfTsKKyAgICBjaG9pY2UxIGNob29zZSgpOworCisgICAgdHlwZWRlZiBjaG9pY2UxOjp0eXBlIHllc190eXBlOworICAgIHR5cGVkZWYgY2hvaWNlMjo6dHlwZSBub190eXBlOworCisgICAgc3RydWN0IHByaXZhdGVfdHlwZQorICAgIHsKKyAgICAgICBwcml2YXRlX3R5cGUgY29uc3QgJm9wZXJhdG9yLChpbnQpIGNvbnN0OworICAgIH07CisKKyAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KKyAgICBub190eXBlIGlzX3ByaXZhdGVfdHlwZShUIGNvbnN0Jik7CisgICAgeWVzX3R5cGUgaXNfcHJpdmF0ZV90eXBlKHByaXZhdGVfdHlwZSBjb25zdCYpOworCisgICAgc3RydWN0IGNvbnZlcnRfZnJvbV9hbnl0aGluZyB7CisgICAgICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgorICAgICAgICBjb252ZXJ0X2Zyb21fYW55dGhpbmcoVCBjb25zdCYpOworICAgIH07CisKKyAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCisgICAgLy8gZW1wbGFjZV9hcmdzCisgICAgLy8KKyAgICAvLyBFaXRoZXIgZm9yd2FyZGluZyB2YXJpYWRpYyBhcmd1bWVudHMsIG9yIHN0b3JpbmcgdGhlIGFyZ3VtZW50cyBpbgorICAgIC8vIGVtcGxhY2VfYXJncyMjbgorCisjaWYgIWRlZmluZWQoQk9PU1RfTk9fQ1hYMTFfVkFSSUFESUNfVEVNUExBVEVTKQorCisjZGVmaW5lIEJPT1NUX1VOT1JERVJFRF9FTVBMQUNFX1RFTVBMQVRFIHR5cGVuYW1lLi4uIEFyZ3MKKyNkZWZpbmUgQk9PU1RfVU5PUkRFUkVEX0VNUExBQ0VfQVJHUyBCT09TVF9GV0RfUkVGKEFyZ3MpLi4uIGFyZ3MKKyNkZWZpbmUgQk9PU1RfVU5PUkRFUkVEX0VNUExBQ0VfRk9SV0FSRCBuZG5ib29zdDo6Zm9yd2FyZDxBcmdzPihhcmdzKS4uLgorCisjZGVmaW5lIEJPT1NUX1VOT1JERVJFRF9FTVBMQUNFX0FSR1MxKGEwKSBhMAorI2RlZmluZSBCT09TVF9VTk9SREVSRURfRU1QTEFDRV9BUkdTMihhMCwgYTEpIGEwLCBhMQorI2RlZmluZSBCT09TVF9VTk9SREVSRURfRU1QTEFDRV9BUkdTMyhhMCwgYTEsIGEyKSBhMCwgYTEsIGEyCisKKyNlbHNlCisKKyNkZWZpbmUgQk9PU1RfVU5PUkRFUkVEX0VNUExBQ0VfVEVNUExBVEUgdHlwZW5hbWUgQXJncworI2RlZmluZSBCT09TVF9VTk9SREVSRURfRU1QTEFDRV9BUkdTIEFyZ3MgY29uc3QmIGFyZ3MKKyNkZWZpbmUgQk9PU1RfVU5PUkRFUkVEX0VNUExBQ0VfRk9SV0FSRCBhcmdzCisKKyNkZWZpbmUgQk9PU1RfVU5PUkRFUkVEX0ZXRF9QQVJBTSh6LCBuLCBhKSBcCisgICAgQk9PU1RfRldEX1JFRihCT09TVF9QUF9DQVQoQSwgbikpIEJPT1NUX1BQX0NBVChhLCBuKQorCisjZGVmaW5lIEJPT1NUX1VOT1JERVJFRF9DQUxMX0ZPUldBUkQoeiwgaSwgYSkgXAorICAgIG5kbmJvb3N0Ojpmb3J3YXJkPEJPT1NUX1BQX0NBVChBLGkpPihCT09TVF9QUF9DQVQoYSxpKSkKKworI2RlZmluZSBCT09TVF9VTk9SREVSRURfRUFSR1MoeiwgbiwgXykgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICB0ZW1wbGF0ZSA8Qk9PU1RfUFBfRU5VTV9QQVJBTVNfWih6LCBuLCB0eXBlbmFtZSBBKT4gICAgICAgICAgICAgICAgICAgICBcCisgICAgc3RydWN0IEJPT1NUX1BQX0NBVChlbXBsYWNlX2FyZ3MsIG4pICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgQk9PU1RfUFBfUkVQRUFUXyMjeihuLCBCT09TVF9VTk9SREVSRURfRUFSR1NfTUVNQkVSLCBfKSAgICAgICAgICAgICBcCisgICAgICAgIEJPT1NUX1BQX0NBVChlbXBsYWNlX2FyZ3MsIG4pICggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgQk9PU1RfUFBfRU5VTV9CSU5BUllfUEFSQU1TX1ooeiwgbiwgQXJnLCBiKSAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgKSA6IEJPT1NUX1BQX0VOVU1fIyN6KG4sIEJPT1NUX1VOT1JERVJFRF9FQVJHU19JTklULCBfKSAgICAgICAgICAgICBcCisgICAgICAgIHt9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICB9OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIHRlbXBsYXRlIDxCT09TVF9QUF9FTlVNX1BBUkFNU19aKHosIG4sIHR5cGVuYW1lIEEpPiAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBpbmxpbmUgQk9PU1RfUFBfQ0FUKGVtcGxhY2VfYXJncywgbikgPCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIEJPT1NUX1BQX0VOVU1fUEFSQU1TX1ooeiwgbiwgQSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgID4gY3JlYXRlX2VtcGxhY2VfYXJncyggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgQk9PU1RfUFBfRU5VTV8jI3oobiwgQk9PU1RfVU5PUkRFUkVEX0ZXRF9QQVJBTSwgYikgICAgICAgICAgICAgICAgICBcCisgICAgKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgQk9PU1RfUFBfQ0FUKGVtcGxhY2VfYXJncywgbikgPCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICBCT09TVF9QUF9FTlVNX1BBUkFNU19aKHosIG4sIEEpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICA+IGUoQk9PU1RfUFBfRU5VTV9QQVJBTVNfWih6LCBuLCBiKSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgcmV0dXJuIGU7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgfQorCisjZGVmaW5lIEJPT1NUX1VOT1JERVJFRF9FTVBMQUNFX0FSR1MxIGNyZWF0ZV9lbXBsYWNlX2FyZ3MKKyNkZWZpbmUgQk9PU1RfVU5PUkRFUkVEX0VNUExBQ0VfQVJHUzIgY3JlYXRlX2VtcGxhY2VfYXJncworI2RlZmluZSBCT09TVF9VTk9SREVSRURfRU1QTEFDRV9BUkdTMyBjcmVhdGVfZW1wbGFjZV9hcmdzCisKKyNpZiBkZWZpbmVkKEJPT1NUX05PX0NYWDExX1JWQUxVRV9SRUZFUkVOQ0VTKQorCisjZGVmaW5lIEJPT1NUX1VOT1JERVJFRF9FQVJHU19NRU1CRVIoeiwgbiwgXykgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIHR5cGVkZWYgQk9PU1RfRldEX1JFRihCT09TVF9QUF9DQVQoQSwgbikpIEJPT1NUX1BQX0NBVChBcmcsIG4pOyAgICAgICAgIFwKKyAgICBCT09TVF9QUF9DQVQoQXJnLCBuKSBCT09TVF9QUF9DQVQoYSwgbik7CisKKyNkZWZpbmUgQk9PU1RfVU5PUkRFUkVEX0VBUkdTX0lOSVQoeiwgbiwgXykgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgQk9PU1RfUFBfQ0FUKGEsIG4pKCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICBuZG5ib29zdDo6Zm9yd2FyZDxCT09TVF9QUF9DQVQoQSxuKT4oQk9PU1RfUFBfQ0FUKGIsIG4pKSkKKworI2Vsc2UKKworI2RlZmluZSBCT09TVF9VTk9SREVSRURfRUFSR1NfTUVNQkVSKHosIG4sIF8pICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICB0eXBlZGVmIHR5cGVuYW1lIG5kbmJvb3N0OjphZGRfbHZhbHVlX3JlZmVyZW5jZTxCT09TVF9QUF9DQVQoQSwgbik+Ojp0eXBlICBcCisgICAgICAgIEJPT1NUX1BQX0NBVChBcmcsIG4pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIEJPT1NUX1BQX0NBVChBcmcsIG4pIEJPT1NUX1BQX0NBVChhLCBuKTsKKworI2RlZmluZSBCT09TVF9VTk9SREVSRURfRUFSR1NfSU5JVCh6LCBuLCBfKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBCT09TVF9QUF9DQVQoYSwgbikoQk9PU1RfUFBfQ0FUKGIsIG4pKQorCisjZW5kaWYKKworQk9PU1RfUFBfUkVQRUFUX0ZST01fVE8oMSwgQk9PU1RfVU5PUkRFUkVEX0VNUExBQ0VfTElNSVQsIEJPT1NUX1VOT1JERVJFRF9FQVJHUywKKyAgICBfKQorCisjdW5kZWYgQk9PU1RfVU5PUkRFUkVEX0RFRklORV9FTVBMQUNFX0FSR1MKKyN1bmRlZiBCT09TVF9VTk9SREVSRURfRUFSR1NfTUVNQkVSCisjdW5kZWYgQk9PU1RfVU5PUkRFUkVEX0VBUkdTX0lOSVQKKworI2VuZGlmCisKK319fQorCisvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworLy8KKy8vIFBpY2sgd2hpY2ggdmVyc2lvbiBvZiBhbGxvY2F0b3JfdHJhaXRzIHRvIHVzZQorLy8KKy8vIDAgPSBPd24gcGFydGlhbCBpbXBsZW1lbnRhdGlvbgorLy8gMSA9IHN0ZDo6YWxsb2NhdG9yX3RyYWl0cworLy8gMiA9IG5kbmJvb3N0Ojpjb250YWluZXI6OmFsbG9jYXRvcl90cmFpdHMKKworI2lmICFkZWZpbmVkKEJPT1NUX1VOT1JERVJFRF9VU0VfQUxMT0NBVE9SX1RSQUlUUykKKyMgICBpZiBkZWZpbmVkKF9fR1hYX0VYUEVSSU1FTlRBTF9DWFgwWF9fKSAmJiBcCisgICAgICAgICAgICAoX19HTlVDX18gPiA0IHx8IChfX0dOVUNfXyA9PSA0ICYmIF9fR05VQ19NSU5PUl9fID49IDcpKQorIyAgICAgICBkZWZpbmUgQk9PU1RfVU5PUkRFUkVEX1VTRV9BTExPQ0FUT1JfVFJBSVRTIDAKKyMgICBlbGlmIGRlZmluZWQoQk9PU1RfTVNWQykKKyMgICAgICAgaWYgQk9PU1RfTVNWQyA8IDE0MDAKKyAgICAgICAgICAgIC8vIFVzZSBjb250YWluZXIncyBhbGxvY2F0b3JfdHJhaXRzIGZvciBvbGRlciB2ZXJzaW9ucyBvZiBWaXN1YWwKKyAgICAgICAgICAgIC8vIEMrKyBhcyBJIGRvbid0IHRlc3Qgd2l0aCB0aGVtLgorIyAgICAgICAgICAgZGVmaW5lIEJPT1NUX1VOT1JERVJFRF9VU0VfQUxMT0NBVE9SX1RSQUlUUyAyCisjICAgICAgIGVuZGlmCisjICAgZW5kaWYKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoQk9PU1RfVU5PUkRFUkVEX1VTRV9BTExPQ0FUT1JfVFJBSVRTKQorIyAgIGRlZmluZSBCT09TVF9VTk9SREVSRURfVVNFX0FMTE9DQVRPUl9UUkFJVFMgMAorI2VuZGlmCisKKy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCisvLworLy8gU29tZSB1dGlsaXRpZXMgZm9yIGltcGxlbWVudGluZyBhbGxvY2F0b3JfdHJhaXRzLCBidXQgdXNlZnVsIGVsc2V3aGVyZSBzbworLy8gdGhleSdyZSBhbHdheXMgZGVmaW5lZC4KKworI2lmICFkZWZpbmVkKEJPT1NUX05PX0NYWDExX0hEUl9UWVBFX1RSQUlUUykKKyMgIGluY2x1ZGUgPHR5cGVfdHJhaXRzPgorI2VuZGlmCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSB1bm9yZGVyZWQgeyBuYW1lc3BhY2UgZGV0YWlsIHsKKworICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKyAgICAvLyBJbnRlZ3JhbF9jb25zdHJhbnQsIHRydWVfdHlwZSwgZmFsc2VfdHlwZQorICAgIC8vCisgICAgLy8gVXNlcyB0aGUgc3RhbmRhcmQgdmVyc2lvbnMgaWYgYXZhaWxhYmxlLgorCisjaWYgIWRlZmluZWQoQk9PU1RfTk9fQ1hYMTFfSERSX1RZUEVfVFJBSVRTKQorCisgICAgdXNpbmcgc3RkOjppbnRlZ3JhbF9jb25zdGFudDsKKyAgICB1c2luZyBzdGQ6OnRydWVfdHlwZTsKKyAgICB1c2luZyBzdGQ6OmZhbHNlX3R5cGU7CisKKyNlbHNlCisKKyAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVCwgVCBWYWx1ZT4KKyAgICBzdHJ1Y3QgaW50ZWdyYWxfY29uc3RhbnQgeyBlbnVtIHsgdmFsdWUgPSBWYWx1ZSB9OyB9OworCisgICAgdHlwZWRlZiBuZG5ib29zdDo6dW5vcmRlcmVkOjpkZXRhaWw6OmludGVncmFsX2NvbnN0YW50PGJvb2wsIHRydWU+IHRydWVfdHlwZTsKKyAgICB0eXBlZGVmIG5kbmJvb3N0Ojp1bm9yZGVyZWQ6OmRldGFpbDo6aW50ZWdyYWxfY29uc3RhbnQ8Ym9vbCwgZmFsc2U+IGZhbHNlX3R5cGU7CisKKyNlbmRpZgorCisgICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworICAgIC8vIEV4cGxpY2l0bHkgY2FsbCBhIGRlc3RydWN0b3IKKworI2lmIGRlZmluZWQoQk9PU1RfTVNWQykKKyNwcmFnbWEgd2FybmluZyhwdXNoKQorI3ByYWdtYSB3YXJuaW5nKGRpc2FibGU6NDEwMCkgLy8gdW5yZWZlcmVuY2VkIGZvcm1hbCBwYXJhbWV0ZXIKKyNlbmRpZgorCisgICAgdGVtcGxhdGUgPGNsYXNzIFQ+CisgICAgaW5saW5lIHZvaWQgZGVzdHJveShUKiB4KSB7CisgICAgICAgIHgtPn5UKCk7CisgICAgfQorCisjaWYgZGVmaW5lZChCT09TVF9NU1ZDKQorI3ByYWdtYSB3YXJuaW5nKHBvcCkKKyNlbmRpZgorCisgICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworICAgIC8vIEV4cHJlc3Npb24gdGVzdCBtZWNoYW5pc20KKyAgICAvLworICAgIC8vIFdoZW4gU0ZJTkFFIGV4cHJlc3Npb25zIGFyZSBhdmFpbGFibGUsIGRlZmluZQorICAgIC8vIEJPT1NUX1VOT1JERVJFRF9IQVNfRlVOQ1RJT04gd2hpY2ggY2FuIGNoZWNrIGlmIGEgZnVuY3Rpb24gY2FsbCBpcworICAgIC8vIHN1cHBvcnRlZCBieSBhIGNsYXNzLCBvdGhlcndpc2UgZGVmaW5lIEJPT1NUX1VOT1JERVJFRF9IQVNfTUVNQkVSIHdoaWNoCisgICAgLy8gY2FuIGRldGVjdCBpZiBhIGNsYXNzIGhhcyB0aGUgc3BlY2lmaWVkIG1lbWJlciwgYnV0IG5vdCB0aGF0IGl0IGhhcyB0aGUKKyAgICAvLyBjb3JyZWN0IHR5cGUsIHRoaXMgaXMgZ29vZCBlbm91Z2ggZm9yIGEgcGFzc2FibGUgaW1wcmVzc2lvbiBvZgorICAgIC8vIGFsbG9jYXRvcl90cmFpdHMuCisKKyNpZiAhZGVmaW5lZChCT09TVF9OT19TRklOQUVfRVhQUikKKworICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBULCB1bnNpZ25lZCBpbnQ+IHN0cnVjdCBleHByX3Rlc3Q7CisgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFQ+IHN0cnVjdCBleHByX3Rlc3Q8VCwgc2l6ZW9mKGNoYXIpPiA6IFQge307CisgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFU+IHN0YXRpYyBjaGFyIGZvcl9leHByX3Rlc3QoVSBjb25zdCYpOworCisjICAgZGVmaW5lIEJPT1NUX1VOT1JERVJFRF9DSEVDS19FWFBSRVNTSU9OKGNvdW50LCByZXN1bHQsIGV4cHJlc3Npb24pICAgICAgXAorICAgICAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVT4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgc3RhdGljIHR5cGVuYW1lIG5kbmJvb3N0Ojp1bm9yZGVyZWQ6OmRldGFpbDo6ZXhwcl90ZXN0PCAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICBCT09TVF9QUF9DQVQoY2hvaWNlLCByZXN1bHQpLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgc2l6ZW9mKG5kbmJvb3N0Ojp1bm9yZGVyZWQ6OmRldGFpbDo6Zm9yX2V4cHJfdGVzdCgoICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAoZXhwcmVzc2lvbiksICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAwKSkpPjo6dHlwZSB0ZXN0KCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgQk9PU1RfUFBfQ0FUKGNob2ljZSwgY291bnQpKQorCisjICAgZGVmaW5lIEJPT1NUX1VOT1JERVJFRF9ERUZBVUxUX0VYUFJFU1NJT04oY291bnQsIHJlc3VsdCkgICAgICAgICAgICAgICAgXAorICAgICAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVT4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgc3RhdGljIEJPT1NUX1BQX0NBVChjaG9pY2UsIHJlc3VsdCk6OnR5cGUgdGVzdCggICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICBCT09TVF9QUF9DQVQoY2hvaWNlLCBjb3VudCkpCisKKyMgICBkZWZpbmUgQk9PU1RfVU5PUkRFUkVEX0hBU19GVU5DVElPTihuYW1lLCB0aGluZywgYXJncywgXykgICAgICAgICAgICAgICBcCisgICAgc3RydWN0IEJPT1NUX1BQX0NBVChoYXNfLCBuYW1lKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgQk9PU1RfVU5PUkRFUkVEX0NIRUNLX0VYUFJFU1NJT04oMSwgMSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICBuZG5ib29zdDo6dW5vcmRlcmVkOjpkZXRhaWw6Om1ha2U8IHRoaW5nID4oKS5uYW1lIGFyZ3MpOyAgICAgICAgICAgXAorICAgICAgICBCT09TVF9VTk9SREVSRURfREVGQVVMVF9FWFBSRVNTSU9OKDIsIDIpOyAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIGVudW0geyB2YWx1ZSA9IHNpemVvZih0ZXN0PFQ+KGNob29zZSgpKSkgPT0gc2l6ZW9mKGNob2ljZTE6OnR5cGUpIH07XAorICAgIH0KKworI2Vsc2UKKworICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBUPiBzdHJ1Y3QgaWRlbnRpdHkgeyB0eXBlZGVmIFQgdHlwZTsgfTsKKworIyAgIGRlZmluZSBCT09TVF9VTk9SREVSRURfQ0hFQ0tfTUVNQkVSKGNvdW50LCByZXN1bHQsIG5hbWUsIG1lbWJlcikgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgdHlwZWRlZiB0eXBlbmFtZSBuZG5ib29zdDo6dW5vcmRlcmVkOjpkZXRhaWw6OmlkZW50aXR5PG1lbWJlcj46OnR5cGUgICAgICAgXAorICAgICAgICBCT09TVF9QUF9DQVQoY2hlY2ssIGNvdW50KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgdGVtcGxhdGUgPEJPT1NUX1BQX0NBVChjaGVjaywgY291bnQpIGU+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIHN0cnVjdCBCT09TVF9QUF9DQVQodGVzdCwgY291bnQpIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgdHlwZWRlZiBCT09TVF9QUF9DQVQoY2hvaWNlLCByZXN1bHQpIHR5cGU7ICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgfTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVT4gc3RhdGljIHR5cGVuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIEJPT1NUX1BQX0NBVCh0ZXN0LCBjb3VudCk8JlU6Om5hbWU+Ojp0eXBlICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICB0ZXN0KEJPT1NUX1BQX0NBVChjaG9pY2UsIGNvdW50KSkKKworIyAgIGRlZmluZSBCT09TVF9VTk9SREVSRURfREVGQVVMVF9NRU1CRVIoY291bnQsIHJlc3VsdCkgICAgICAgICAgICAgICAgICAgIFwKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVT4gc3RhdGljIEJPT1NUX1BQX0NBVChjaG9pY2UsIHJlc3VsdCk6OnR5cGUgICAgICAgICAgICBcCisgICAgICAgIHRlc3QoQk9PU1RfUFBfQ0FUKGNob2ljZSwgY291bnQpKQorCisjICAgZGVmaW5lIEJPT1NUX1VOT1JERVJFRF9IQVNfTUVNQkVSKG5hbWUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIHN0cnVjdCBCT09TVF9QUF9DQVQoaGFzXywgbmFtZSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIHN0cnVjdCBpbXBsIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgc3RydWN0IGJhc2VfbWl4aW4geyBpbnQgbmFtZTsgfTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgIHN0cnVjdCBiYXNlIDogcHVibGljIFQsIHB1YmxpYyBiYXNlX21peGluIHt9OyAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgQk9PU1RfVU5PUkRFUkVEX0NIRUNLX01FTUJFUigxLCAxLCBuYW1lLCBpbnQgYmFzZV9taXhpbjo6Kik7ICAgIFwKKyAgICAgICAgICAgIEJPT1NUX1VOT1JERVJFRF9ERUZBVUxUX01FTUJFUigyLCAyKTsgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgZW51bSB7IHZhbHVlID0gc2l6ZW9mKGNob2ljZTI6OnR5cGUpID09ICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICBzaXplb2YodGVzdDxiYXNlPihjaG9vc2UoKSkpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICB9OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICB9OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIGVudW0geyB2YWx1ZSA9IGltcGw6OnZhbHVlIH07ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIH0KKworI2VuZGlmCisKK319fQorCisvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworLy8KKy8vIEFsbG9jYXRvciB0cmFpdHMKKy8vCisvLyBGaXJzdCBvdXIgaW1wbGVtZW50YXRpb24sIHRoZW4gbGF0ZXIgbGlnaHQgd3JhcHBlcnMgYXJvdW5kIHRoZSBhbHRlcm5hdGl2ZXMKKworI2lmIEJPT1NUX1VOT1JERVJFRF9VU0VfQUxMT0NBVE9SX1RSQUlUUyA9PSAwCisKKyMgICBpbmNsdWRlIDxuZG5ib29zdC9saW1pdHMuaHBwPgorIyAgIGluY2x1ZGUgPG5kbmJvb3N0L3V0aWxpdHkvZW5hYmxlX2lmLmhwcD4KKyMgICBpbmNsdWRlIDxuZG5ib29zdC9wb2ludGVyX3RvX290aGVyLmhwcD4KKyMgICBpZiBkZWZpbmVkKEJPT1NUX05PX1NGSU5BRV9FWFBSKQorIyAgICAgICBpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9pc19zYW1lLmhwcD4KKyMgICBlbmRpZgorCisjICAgaWYgIWRlZmluZWQoQk9PU1RfTk9fQ1hYMTFfVkFSSUFESUNfVEVNUExBVEVTKSAmJiBcCisgICAgICAgICFkZWZpbmVkKEJPT1NUX05PX1NGSU5BRV9FWFBSKQorIyAgICAgICBkZWZpbmUgQk9PU1RfVU5PUkRFUkVEX0RFVEFJTF9GVUxMX0NPTlNUUlVDVCAxCisjICAgZWxzZQorIyAgICAgICBkZWZpbmUgQk9PU1RfVU5PUkRFUkVEX0RFVEFJTF9GVUxMX0NPTlNUUlVDVCAwCisjICAgZW5kaWYKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIHVub3JkZXJlZCB7IG5hbWVzcGFjZSBkZXRhaWwgeworCisgICAgLy8gVE9ETzogRG9lcyB0aGlzIG1hdGNoIHN0ZDo6YWxsb2NhdG9yX3RyYWl0czxBbGxvYz46OnJlYmluZF9hbGxvYzxUPj8KKyAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgQWxsb2MsIHR5cGVuYW1lIFQ+CisgICAgc3RydWN0IHJlYmluZF93cmFwCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIEFsbG9jOjpCT09TVF9ORVNURURfVEVNUExBVEUgcmViaW5kPFQ+OjpvdGhlciB0eXBlOworICAgIH07CisKKyMgICBpZiBkZWZpbmVkKEJPT1NUX01TVkMpICYmIEJPT1NUX01TVkMgPD0gMTQwMAorCisjICAgICAgIGRlZmluZSBCT09TVF9VTk9SREVSRURfREVGQVVMVF9UWVBFX1RNUExUKHRuYW1lKSAgICAgICAgICAgICAgICAgICAgXAorICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBUcCwgdHlwZW5hbWUgRGVmYXVsdD4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBzdHJ1Y3QgZGVmYXVsdF90eXBlXyAjIyB0bmFtZSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgWD4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgc3RhdGljIGNob2ljZTE6OnR5cGUgdGVzdChjaG9pY2UxLCB0eXBlbmFtZSBYOjp0bmFtZSogPSAwKTsgICAgICAgICBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgWD4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgc3RhdGljIGNob2ljZTI6OnR5cGUgdGVzdChjaG9pY2UyLCB2b2lkKiA9IDApOyAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICBzdHJ1Y3QgRGVmYXVsdFdyYXAgeyB0eXBlZGVmIERlZmF1bHQgdG5hbWU7IH07ICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIGVudW0geyB2YWx1ZSA9ICgxID09IHNpemVvZih0ZXN0PFRwPihjaG9vc2UoKSkpKSB9OyAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBuZG5ib29zdDo6ZGV0YWlsOjppZl90cnVlPHZhbHVlPjo6ICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICBCT09TVF9ORVNURURfVEVNUExBVEUgdGhlbjxUcCwgRGVmYXVsdFdyYXA+ICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgOjp0eXBlOjp0bmFtZSB0eXBlOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICB9CisKKyMgICBlbHNlCisKKyAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVCwgdHlwZW5hbWUgVDI+CisgICAgc3RydWN0IHNmaW5hZSA6IFQyIHt9OworCisjICAgICAgIGRlZmluZSBCT09TVF9VTk9SREVSRURfREVGQVVMVF9UWVBFX1RNUExUKHRuYW1lKSAgICAgICAgICAgICAgICAgICAgXAorICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBUcCwgdHlwZW5hbWUgRGVmYXVsdD4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBzdHJ1Y3QgZGVmYXVsdF90eXBlXyAjIyB0bmFtZSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgWD4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgc3RhdGljIHR5cGVuYW1lIG5kbmJvb3N0Ojp1bm9yZGVyZWQ6OmRldGFpbDo6c2ZpbmFlPCAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgdHlwZW5hbWUgWDo6dG5hbWUsIGNob2ljZTE+Ojp0eXBlICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgdGVzdChjaG9pY2UxKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBYPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICBzdGF0aWMgY2hvaWNlMjo6dHlwZSB0ZXN0KGNob2ljZTIpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIHN0cnVjdCBEZWZhdWx0V3JhcCB7IHR5cGVkZWYgRGVmYXVsdCB0bmFtZTsgfTsgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgZW51bSB7IHZhbHVlID0gKDEgPT0gc2l6ZW9mKHRlc3Q8VHA+KGNob29zZSgpKSkpIH07ICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG5kbmJvb3N0OjpkZXRhaWw6OmlmX3RydWU8dmFsdWU+OjogICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgIEJPT1NUX05FU1RFRF9URU1QTEFURSB0aGVuPFRwLCBEZWZhdWx0V3JhcD4gICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICA6OnR5cGU6OnRuYW1lIHR5cGU7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIH0KKworIyAgIGVuZGlmCisKKyMgICBkZWZpbmUgQk9PU1RfVU5PUkRFUkVEX0RFRkFVTFRfVFlQRShULHRuYW1lLCBhcmcpICAgICAgICAgICAgICAgICAgIFwKKyAgICB0eXBlbmFtZSBkZWZhdWx0X3R5cGVfICMjIHRuYW1lPFQsIGFyZz46OnR5cGUKKworICAgIEJPT1NUX1VOT1JERVJFRF9ERUZBVUxUX1RZUEVfVE1QTFQocG9pbnRlcik7CisgICAgQk9PU1RfVU5PUkRFUkVEX0RFRkFVTFRfVFlQRV9UTVBMVChjb25zdF9wb2ludGVyKTsKKyAgICBCT09TVF9VTk9SREVSRURfREVGQVVMVF9UWVBFX1RNUExUKHZvaWRfcG9pbnRlcik7CisgICAgQk9PU1RfVU5PUkRFUkVEX0RFRkFVTFRfVFlQRV9UTVBMVChjb25zdF92b2lkX3BvaW50ZXIpOworICAgIEJPT1NUX1VOT1JERVJFRF9ERUZBVUxUX1RZUEVfVE1QTFQoZGlmZmVyZW5jZV90eXBlKTsKKyAgICBCT09TVF9VTk9SREVSRURfREVGQVVMVF9UWVBFX1RNUExUKHNpemVfdHlwZSk7CisgICAgQk9PU1RfVU5PUkRFUkVEX0RFRkFVTFRfVFlQRV9UTVBMVChwcm9wYWdhdGVfb25fY29udGFpbmVyX2NvcHlfYXNzaWdubWVudCk7CisgICAgQk9PU1RfVU5PUkRFUkVEX0RFRkFVTFRfVFlQRV9UTVBMVChwcm9wYWdhdGVfb25fY29udGFpbmVyX21vdmVfYXNzaWdubWVudCk7CisgICAgQk9PU1RfVU5PUkRFUkVEX0RFRkFVTFRfVFlQRV9UTVBMVChwcm9wYWdhdGVfb25fY29udGFpbmVyX3N3YXApOworCisjICAgaWYgIWRlZmluZWQoQk9PU1RfTk9fU0ZJTkFFX0VYUFIpCisKKyAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KKyAgICBCT09TVF9VTk9SREVSRURfSEFTX0ZVTkNUSU9OKAorICAgICAgICBzZWxlY3Rfb25fY29udGFpbmVyX2NvcHlfY29uc3RydWN0aW9uLCBVIGNvbnN0LCAoKSwgMAorICAgICk7CisKKyAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KKyAgICBCT09TVF9VTk9SREVSRURfSEFTX0ZVTkNUSU9OKAorICAgICAgICBtYXhfc2l6ZSwgVSBjb25zdCwgKCksIDAKKyAgICApOworCisjICAgICAgIGlmICFkZWZpbmVkKEJPT1NUX05PX0NYWDExX1ZBUklBRElDX1RFTVBMQVRFUykKKworICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBULCB0eXBlbmFtZSBWYWx1ZVR5cGUsIHR5cGVuYW1lLi4uIEFyZ3M+CisgICAgQk9PU1RfVU5PUkRFUkVEX0hBU19GVU5DVElPTigKKyAgICBjb25zdHJ1Y3QsIFUsICgKKyAgICAgICAgbmRuYm9vc3Q6OnVub3JkZXJlZDo6ZGV0YWlsOjptYWtlPFZhbHVlVHlwZSo+KCksCisgICAgICAgIG5kbmJvb3N0Ojp1bm9yZGVyZWQ6OmRldGFpbDo6bWFrZTxBcmdzIGNvbnN0PigpLi4uKSwgMgorICAgICk7CisKKyMgICAgICAgZWxzZQorCisgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFQsIHR5cGVuYW1lIFZhbHVlVHlwZT4KKyAgICBCT09TVF9VTk9SREVSRURfSEFTX0ZVTkNUSU9OKAorICAgIGNvbnN0cnVjdCwgVSwgKAorICAgICAgICBuZG5ib29zdDo6dW5vcmRlcmVkOjpkZXRhaWw6Om1ha2U8VmFsdWVUeXBlKj4oKSwKKyAgICAgICAgbmRuYm9vc3Q6OnVub3JkZXJlZDo6ZGV0YWlsOjptYWtlPFZhbHVlVHlwZSBjb25zdD4oKSksIDIKKyAgICApOworCisjICAgICAgIGVuZGlmCisKKyAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVCwgdHlwZW5hbWUgVmFsdWVUeXBlPgorICAgIEJPT1NUX1VOT1JERVJFRF9IQVNfRlVOQ1RJT04oCisgICAgICAgIGRlc3Ryb3ksIFUsIChuZG5ib29zdDo6dW5vcmRlcmVkOjpkZXRhaWw6Om1ha2U8VmFsdWVUeXBlKj4oKSksIDEKKyAgICApOworCisjICAgZWxzZQorCisgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFQ+CisgICAgQk9PU1RfVU5PUkRFUkVEX0hBU19NRU1CRVIoc2VsZWN0X29uX2NvbnRhaW5lcl9jb3B5X2NvbnN0cnVjdGlvbik7CisKKyAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KKyAgICBCT09TVF9VTk9SREVSRURfSEFTX01FTUJFUihtYXhfc2l6ZSk7CisKKyAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVCwgdHlwZW5hbWUgVmFsdWVUeXBlPgorICAgIEJPT1NUX1VOT1JERVJFRF9IQVNfTUVNQkVSKGNvbnN0cnVjdCk7CisKKyAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVCwgdHlwZW5hbWUgVmFsdWVUeXBlPgorICAgIEJPT1NUX1VOT1JERVJFRF9IQVNfTUVNQkVSKGRlc3Ryb3kpOworCisjICAgZW5kaWYKKworICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBBbGxvYz4KKyAgICBpbmxpbmUgQWxsb2MgY2FsbF9zZWxlY3Rfb25fY29udGFpbmVyX2NvcHlfY29uc3RydWN0aW9uKGNvbnN0IEFsbG9jJiByaHMsCisgICAgICAgIHR5cGVuYW1lIG5kbmJvb3N0OjplbmFibGVfaWZfYzwKKyAgICAgICAgICAgIG5kbmJvb3N0Ojp1bm9yZGVyZWQ6OmRldGFpbDo6CisgICAgICAgICAgICBoYXNfc2VsZWN0X29uX2NvbnRhaW5lcl9jb3B5X2NvbnN0cnVjdGlvbjxBbGxvYz46OnZhbHVlLCB2b2lkKgorICAgICAgICA+Ojp0eXBlID0gMCkKKyAgICB7CisgICAgICAgIHJldHVybiByaHMuc2VsZWN0X29uX2NvbnRhaW5lcl9jb3B5X2NvbnN0cnVjdGlvbigpOworICAgIH0KKworICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBBbGxvYz4KKyAgICBpbmxpbmUgQWxsb2MgY2FsbF9zZWxlY3Rfb25fY29udGFpbmVyX2NvcHlfY29uc3RydWN0aW9uKGNvbnN0IEFsbG9jJiByaHMsCisgICAgICAgIHR5cGVuYW1lIG5kbmJvb3N0OjpkaXNhYmxlX2lmX2M8CisgICAgICAgICAgICBuZG5ib29zdDo6dW5vcmRlcmVkOjpkZXRhaWw6OgorICAgICAgICAgICAgaGFzX3NlbGVjdF9vbl9jb250YWluZXJfY29weV9jb25zdHJ1Y3Rpb248QWxsb2M+Ojp2YWx1ZSwgdm9pZCoKKyAgICAgICAgPjo6dHlwZSA9IDApCisgICAgeworICAgICAgICByZXR1cm4gcmhzOworICAgIH0KKworICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBTaXplVHlwZSwgdHlwZW5hbWUgQWxsb2M+CisgICAgaW5saW5lIFNpemVUeXBlIGNhbGxfbWF4X3NpemUoY29uc3QgQWxsb2MmIGEsCisgICAgICAgIHR5cGVuYW1lIG5kbmJvb3N0OjplbmFibGVfaWZfYzwKKyAgICAgICAgICAgIG5kbmJvb3N0Ojp1bm9yZGVyZWQ6OmRldGFpbDo6aGFzX21heF9zaXplPEFsbG9jPjo6dmFsdWUsIHZvaWQqCisgICAgICAgID46OnR5cGUgPSAwKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGEubWF4X3NpemUoKTsKKyAgICB9CisKKyAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgU2l6ZVR5cGUsIHR5cGVuYW1lIEFsbG9jPgorICAgIGlubGluZSBTaXplVHlwZSBjYWxsX21heF9zaXplKGNvbnN0IEFsbG9jJiwgdHlwZW5hbWUgbmRuYm9vc3Q6OmRpc2FibGVfaWZfYzwKKyAgICAgICAgICAgIG5kbmJvb3N0Ojp1bm9yZGVyZWQ6OmRldGFpbDo6aGFzX21heF9zaXplPEFsbG9jPjo6dmFsdWUsIHZvaWQqCisgICAgICAgID46OnR5cGUgPSAwKQorICAgIHsKKyAgICAgICAgcmV0dXJuIChzdGQ6Om51bWVyaWNfbGltaXRzPFNpemVUeXBlPjo6bWF4KSgpOworICAgIH0KKworICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBBbGxvYz4KKyAgICBzdHJ1Y3QgYWxsb2NhdG9yX3RyYWl0cworICAgIHsKKyAgICAgICAgdHlwZWRlZiBBbGxvYyBhbGxvY2F0b3JfdHlwZTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBBbGxvYzo6dmFsdWVfdHlwZSB2YWx1ZV90eXBlOworCisgICAgICAgIHR5cGVkZWYgQk9PU1RfVU5PUkRFUkVEX0RFRkFVTFRfVFlQRShBbGxvYywgcG9pbnRlciwgdmFsdWVfdHlwZSopCisgICAgICAgICAgICBwb2ludGVyOworCisgICAgICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgorICAgICAgICBzdHJ1Y3QgcG9pbnRlcl90b19vdGhlciA6IG5kbmJvb3N0Ojpwb2ludGVyX3RvX290aGVyPHBvaW50ZXIsIFQ+IHt9OworCisgICAgICAgIHR5cGVkZWYgQk9PU1RfVU5PUkRFUkVEX0RFRkFVTFRfVFlQRShBbGxvYywgY29uc3RfcG9pbnRlciwKKyAgICAgICAgICAgIHR5cGVuYW1lIHBvaW50ZXJfdG9fb3RoZXI8Y29uc3QgdmFsdWVfdHlwZT46OnR5cGUpCisgICAgICAgICAgICBjb25zdF9wb2ludGVyOworCisgICAgICAgIC8vdHlwZWRlZiBCT09TVF9VTk9SREVSRURfREVGQVVMVF9UWVBFKEFsbG9jLCB2b2lkX3BvaW50ZXIsCisgICAgICAgIC8vICAgIHR5cGVuYW1lIHBvaW50ZXJfdG9fb3RoZXI8dm9pZD46OnR5cGUpCisgICAgICAgIC8vICAgIHZvaWRfcG9pbnRlcjsKKyAgICAgICAgLy8KKyAgICAgICAgLy90eXBlZGVmIEJPT1NUX1VOT1JERVJFRF9ERUZBVUxUX1RZUEUoQWxsb2MsIGNvbnN0X3ZvaWRfcG9pbnRlciwKKyAgICAgICAgLy8gICAgdHlwZW5hbWUgcG9pbnRlcl90b19vdGhlcjxjb25zdCB2b2lkPjo6dHlwZSkKKyAgICAgICAgLy8gICAgY29uc3Rfdm9pZF9wb2ludGVyOworCisgICAgICAgIHR5cGVkZWYgQk9PU1RfVU5PUkRFUkVEX0RFRkFVTFRfVFlQRShBbGxvYywgZGlmZmVyZW5jZV90eXBlLAorICAgICAgICAgICAgc3RkOjpwdHJkaWZmX3QpIGRpZmZlcmVuY2VfdHlwZTsKKworICAgICAgICB0eXBlZGVmIEJPT1NUX1VOT1JERVJFRF9ERUZBVUxUX1RZUEUoQWxsb2MsIHNpemVfdHlwZSwgc3RkOjpzaXplX3QpCisgICAgICAgICAgICBzaXplX3R5cGU7CisKKyAgICAgICAgLy8gVE9ETzogcmViaW5kX2FsbG9jIGFuZCByZWJpbmRfdHJhaXRzCisKKyAgICAgICAgc3RhdGljIHBvaW50ZXIgYWxsb2NhdGUoQWxsb2MmIGEsIHNpemVfdHlwZSBuKQorICAgICAgICAgICAgeyByZXR1cm4gYS5hbGxvY2F0ZShuKTsgfQorCisgICAgICAgIC8vIEkgbmV2ZXIgdXNlIHRoaXMsIHNvIEknbGwganVzdCBjb21tZW50IGl0IG91dCBmb3Igbm93LgorICAgICAgICAvLworICAgICAgICAvL3N0YXRpYyBwb2ludGVyIGFsbG9jYXRlKEFsbG9jJiBhLCBzaXplX3R5cGUgbiwKKyAgICAgICAgLy8gICAgICAgIGNvbnN0X3ZvaWRfcG9pbnRlciBoaW50KQorICAgICAgICAvLyAgICB7IHJldHVybiBERUZBVUxUX0ZVTkMoYWxsb2NhdGUsIHBvaW50ZXIpKGEsIG4sIGhpbnQpOyB9CisKKyAgICAgICAgc3RhdGljIHZvaWQgZGVhbGxvY2F0ZShBbGxvYyYgYSwgcG9pbnRlciBwLCBzaXplX3R5cGUgbikKKyAgICAgICAgICAgIHsgYS5kZWFsbG9jYXRlKHAsIG4pOyB9CisKKyAgICBwdWJsaWM6CisKKyMgICBpZiBCT09TVF9VTk9SREVSRURfREVUQUlMX0ZVTExfQ09OU1RSVUNUCisKKyAgICAgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFQsIHR5cGVuYW1lLi4uIEFyZ3M+CisgICAgICAgIHN0YXRpYyB0eXBlbmFtZSBuZG5ib29zdDo6ZW5hYmxlX2lmX2M8CisgICAgICAgICAgICAgICAgbmRuYm9vc3Q6OnVub3JkZXJlZDo6ZGV0YWlsOjpoYXNfY29uc3RydWN0PEFsbG9jLCBULCBBcmdzLi4uPgorICAgICAgICAgICAgICAgIDo6dmFsdWU+Ojp0eXBlCisgICAgICAgICAgICBjb25zdHJ1Y3QoQWxsb2MmIGEsIFQqIHAsIEJPT1NUX0ZXRF9SRUYoQXJncykuLi4geCkKKyAgICAgICAgeworICAgICAgICAgICAgYS5jb25zdHJ1Y3QocCwgbmRuYm9vc3Q6OmZvcndhcmQ8QXJncz4oeCkuLi4pOworICAgICAgICB9CisKKyAgICAgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFQsIHR5cGVuYW1lLi4uIEFyZ3M+CisgICAgICAgIHN0YXRpYyB0eXBlbmFtZSBuZG5ib29zdDo6ZGlzYWJsZV9pZl9jPAorICAgICAgICAgICAgICAgIG5kbmJvb3N0Ojp1bm9yZGVyZWQ6OmRldGFpbDo6aGFzX2NvbnN0cnVjdDxBbGxvYywgVCwgQXJncy4uLj4KKyAgICAgICAgICAgICAgICA6OnZhbHVlPjo6dHlwZQorICAgICAgICAgICAgY29uc3RydWN0KEFsbG9jJiwgVCogcCwgQk9PU1RfRldEX1JFRihBcmdzKS4uLiB4KQorICAgICAgICB7CisgICAgICAgICAgICBuZXcgKCh2b2lkKikgcCkgVChuZG5ib29zdDo6Zm9yd2FyZDxBcmdzPih4KS4uLik7CisgICAgICAgIH0KKworICAgICAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KKyAgICAgICAgc3RhdGljIHR5cGVuYW1lIG5kbmJvb3N0OjplbmFibGVfaWZfYzwKKyAgICAgICAgICAgICAgICBuZG5ib29zdDo6dW5vcmRlcmVkOjpkZXRhaWw6Omhhc19kZXN0cm95PEFsbG9jLCBUPjo6dmFsdWU+Ojp0eXBlCisgICAgICAgICAgICBkZXN0cm95KEFsbG9jJiBhLCBUKiBwKQorICAgICAgICB7CisgICAgICAgICAgICBhLmRlc3Ryb3kocCk7CisgICAgICAgIH0KKworICAgICAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KKyAgICAgICAgc3RhdGljIHR5cGVuYW1lIG5kbmJvb3N0OjpkaXNhYmxlX2lmX2M8CisgICAgICAgICAgICAgICAgbmRuYm9vc3Q6OnVub3JkZXJlZDo6ZGV0YWlsOjpoYXNfZGVzdHJveTxBbGxvYywgVD46OnZhbHVlPjo6dHlwZQorICAgICAgICAgICAgZGVzdHJveShBbGxvYyYsIFQqIHApCisgICAgICAgIHsKKyAgICAgICAgICAgIG5kbmJvb3N0Ojp1bm9yZGVyZWQ6OmRldGFpbDo6ZGVzdHJveShwKTsKKyAgICAgICAgfQorCisjICAgZWxpZiAhZGVmaW5lZChCT09TVF9OT19TRklOQUVfRVhQUikKKworICAgICAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KKyAgICAgICAgc3RhdGljIHR5cGVuYW1lIG5kbmJvb3N0OjplbmFibGVfaWZfYzwKKyAgICAgICAgICAgICAgICBuZG5ib29zdDo6dW5vcmRlcmVkOjpkZXRhaWw6Omhhc19jb25zdHJ1Y3Q8QWxsb2MsIFQ+Ojp2YWx1ZT46OnR5cGUKKyAgICAgICAgICAgIGNvbnN0cnVjdChBbGxvYyYgYSwgVCogcCwgVCBjb25zdCYgeCkKKyAgICAgICAgeworICAgICAgICAgICAgYS5jb25zdHJ1Y3QocCwgeCk7CisgICAgICAgIH0KKworICAgICAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KKyAgICAgICAgc3RhdGljIHR5cGVuYW1lIG5kbmJvb3N0OjpkaXNhYmxlX2lmX2M8CisgICAgICAgICAgICAgICAgbmRuYm9vc3Q6OnVub3JkZXJlZDo6ZGV0YWlsOjpoYXNfY29uc3RydWN0PEFsbG9jLCBUPjo6dmFsdWU+Ojp0eXBlCisgICAgICAgICAgICBjb25zdHJ1Y3QoQWxsb2MmLCBUKiBwLCBUIGNvbnN0JiB4KQorICAgICAgICB7CisgICAgICAgICAgICBuZXcgKCh2b2lkKikgcCkgVCh4KTsKKyAgICAgICAgfQorCisgICAgICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgorICAgICAgICBzdGF0aWMgdHlwZW5hbWUgbmRuYm9vc3Q6OmVuYWJsZV9pZl9jPAorICAgICAgICAgICAgICAgIG5kbmJvb3N0Ojp1bm9yZGVyZWQ6OmRldGFpbDo6aGFzX2Rlc3Ryb3k8QWxsb2MsIFQ+Ojp2YWx1ZT46OnR5cGUKKyAgICAgICAgICAgIGRlc3Ryb3koQWxsb2MmIGEsIFQqIHApCisgICAgICAgIHsKKyAgICAgICAgICAgIGEuZGVzdHJveShwKTsKKyAgICAgICAgfQorCisgICAgICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgorICAgICAgICBzdGF0aWMgdHlwZW5hbWUgbmRuYm9vc3Q6OmRpc2FibGVfaWZfYzwKKyAgICAgICAgICAgICAgICBuZG5ib29zdDo6dW5vcmRlcmVkOjpkZXRhaWw6Omhhc19kZXN0cm95PEFsbG9jLCBUPjo6dmFsdWU+Ojp0eXBlCisgICAgICAgICAgICBkZXN0cm95KEFsbG9jJiwgVCogcCkKKyAgICAgICAgeworICAgICAgICAgICAgbmRuYm9vc3Q6OnVub3JkZXJlZDo6ZGV0YWlsOjpkZXN0cm95KHApOworICAgICAgICB9CisKKyMgICBlbHNlCisKKyAgICAgICAgLy8gSWYgd2UgZG9uJ3QgaGF2ZSBTRklOQUUgZXhwcmVzc2lvbnMsIG9ubHkgY2FsbCBjb25zdHJ1Y3QgZm9yIHRoZQorICAgICAgICAvLyBjb3B5IGNvbnN0cnVjdG9yIGZvciB0aGUgYWxsb2NhdG9yJ3MgdmFsdWVfdHlwZSAtIGFzIHRoYXQncworICAgICAgICAvLyB0aGUgb25seSBjb25zdHJ1Y3QgbWV0aG9kIHRoYXQgb2xkIGZhc2hpb25lZCBhbGxvY2F0b3JzIHN1cHBvcnQuCisKKyAgICAgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFQ+CisgICAgICAgIHN0YXRpYyB2b2lkIGNvbnN0cnVjdChBbGxvYyYgYSwgVCogcCwgVCBjb25zdCYgeCwKKyAgICAgICAgICAgIHR5cGVuYW1lIG5kbmJvb3N0OjplbmFibGVfaWZfYzwKKyAgICAgICAgICAgICAgICAgICAgbmRuYm9vc3Q6OnVub3JkZXJlZDo6ZGV0YWlsOjpoYXNfY29uc3RydWN0PEFsbG9jLCBUPjo6dmFsdWUgJiYKKyAgICAgICAgICAgICAgICAgICAgbmRuYm9vc3Q6OmlzX3NhbWU8VCwgdmFsdWVfdHlwZT46OnZhbHVlLAorICAgICAgICAgICAgICAgICAgICB2b2lkKj46OnR5cGUgPSAwKQorICAgICAgICB7CisgICAgICAgICAgICBhLmNvbnN0cnVjdChwLCB4KTsKKyAgICAgICAgfQorCisgICAgICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgorICAgICAgICBzdGF0aWMgdm9pZCBjb25zdHJ1Y3QoQWxsb2MmLCBUKiBwLCBUIGNvbnN0JiB4LAorICAgICAgICAgICAgdHlwZW5hbWUgbmRuYm9vc3Q6OmRpc2FibGVfaWZfYzwKKyAgICAgICAgICAgICAgICBuZG5ib29zdDo6dW5vcmRlcmVkOjpkZXRhaWw6Omhhc19jb25zdHJ1Y3Q8QWxsb2MsIFQ+Ojp2YWx1ZSAmJgorICAgICAgICAgICAgICAgIG5kbmJvb3N0Ojppc19zYW1lPFQsIHZhbHVlX3R5cGU+Ojp2YWx1ZSwKKyAgICAgICAgICAgICAgICB2b2lkKj46OnR5cGUgPSAwKQorICAgICAgICB7CisgICAgICAgICAgICBuZXcgKCh2b2lkKikgcCkgVCh4KTsKKyAgICAgICAgfQorCisgICAgICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgorICAgICAgICBzdGF0aWMgdm9pZCBkZXN0cm95KEFsbG9jJiBhLCBUKiBwLAorICAgICAgICAgICAgdHlwZW5hbWUgbmRuYm9vc3Q6OmVuYWJsZV9pZl9jPAorICAgICAgICAgICAgICAgIG5kbmJvb3N0Ojp1bm9yZGVyZWQ6OmRldGFpbDo6aGFzX2Rlc3Ryb3k8QWxsb2MsIFQ+Ojp2YWx1ZSAmJgorICAgICAgICAgICAgICAgIG5kbmJvb3N0Ojppc19zYW1lPFQsIHZhbHVlX3R5cGU+Ojp2YWx1ZSwKKyAgICAgICAgICAgICAgICB2b2lkKj46OnR5cGUgPSAwKQorICAgICAgICB7CisgICAgICAgICAgICBhLmRlc3Ryb3kocCk7CisgICAgICAgIH0KKworICAgICAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KKyAgICAgICAgc3RhdGljIHZvaWQgZGVzdHJveShBbGxvYyYsIFQqIHAsCisgICAgICAgICAgICB0eXBlbmFtZSBuZG5ib29zdDo6ZGlzYWJsZV9pZl9jPAorICAgICAgICAgICAgICAgIG5kbmJvb3N0Ojp1bm9yZGVyZWQ6OmRldGFpbDo6aGFzX2Rlc3Ryb3k8QWxsb2MsIFQ+Ojp2YWx1ZSAmJgorICAgICAgICAgICAgICAgIG5kbmJvb3N0Ojppc19zYW1lPFQsIHZhbHVlX3R5cGU+Ojp2YWx1ZSwKKyAgICAgICAgICAgICAgICB2b2lkKj46OnR5cGUgPSAwKQorICAgICAgICB7CisgICAgICAgICAgICBuZG5ib29zdDo6dW5vcmRlcmVkOjpkZXRhaWw6OmRlc3Ryb3kocCk7CisgICAgICAgIH0KKworIyAgIGVuZGlmCisKKyAgICAgICAgc3RhdGljIHNpemVfdHlwZSBtYXhfc2l6ZShjb25zdCBBbGxvYyYgYSkKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJuIG5kbmJvb3N0Ojp1bm9yZGVyZWQ6OmRldGFpbDo6Y2FsbF9tYXhfc2l6ZTxzaXplX3R5cGU+KGEpOworICAgICAgICB9CisKKyAgICAgICAgLy8gQWxsb2NhdG9yIHByb3BhZ2F0aW9uIG9uIGNvbnN0cnVjdGlvbgorCisgICAgICAgIHN0YXRpYyBBbGxvYyBzZWxlY3Rfb25fY29udGFpbmVyX2NvcHlfY29uc3RydWN0aW9uKEFsbG9jIGNvbnN0JiByaHMpCisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiBuZG5ib29zdDo6dW5vcmRlcmVkOjpkZXRhaWw6OgorICAgICAgICAgICAgICAgIGNhbGxfc2VsZWN0X29uX2NvbnRhaW5lcl9jb3B5X2NvbnN0cnVjdGlvbihyaHMpOworICAgICAgICB9CisKKyAgICAgICAgLy8gQWxsb2NhdG9yIHByb3BhZ2F0aW9uIG9uIGFzc2lnbm1lbnQgYW5kIHN3YXAuCisgICAgICAgIC8vIFJldHVybiB0cnVlIGlmIGxocyBpcyBtb2RpZmllZC4KKyAgICAgICAgdHlwZWRlZiBCT09TVF9VTk9SREVSRURfREVGQVVMVF9UWVBFKAorICAgICAgICAgICAgQWxsb2MsIHByb3BhZ2F0ZV9vbl9jb250YWluZXJfY29weV9hc3NpZ25tZW50LCBmYWxzZV90eXBlKQorICAgICAgICAgICAgcHJvcGFnYXRlX29uX2NvbnRhaW5lcl9jb3B5X2Fzc2lnbm1lbnQ7CisgICAgICAgIHR5cGVkZWYgQk9PU1RfVU5PUkRFUkVEX0RFRkFVTFRfVFlQRSgKKyAgICAgICAgICAgIEFsbG9jLHByb3BhZ2F0ZV9vbl9jb250YWluZXJfbW92ZV9hc3NpZ25tZW50LCBmYWxzZV90eXBlKQorICAgICAgICAgICAgcHJvcGFnYXRlX29uX2NvbnRhaW5lcl9tb3ZlX2Fzc2lnbm1lbnQ7CisgICAgICAgIHR5cGVkZWYgQk9PU1RfVU5PUkRFUkVEX0RFRkFVTFRfVFlQRSgKKyAgICAgICAgICAgIEFsbG9jLHByb3BhZ2F0ZV9vbl9jb250YWluZXJfc3dhcCxmYWxzZV90eXBlKQorICAgICAgICAgICAgcHJvcGFnYXRlX29uX2NvbnRhaW5lcl9zd2FwOworICAgIH07Cit9fX0KKworIyAgIHVuZGVmIEJPT1NUX1VOT1JERVJFRF9ERUZBVUxUX1RZUEVfVE1QTFQKKyMgICB1bmRlZiBCT09TVF9VTk9SREVSRURfREVGQVVMVF9UWVBFCisKKy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCisvLworLy8gc3RkOjphbGxvY2F0b3JfdHJhaXRzCisKKyNlbGlmIEJPT1NUX1VOT1JERVJFRF9VU0VfQUxMT0NBVE9SX1RSQUlUUyA9PSAxCisKKyMgICBpbmNsdWRlIDxtZW1vcnk+CisKKyMgICBkZWZpbmUgQk9PU1RfVU5PUkRFUkVEX0RFVEFJTF9GVUxMX0NPTlNUUlVDVCAxCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSB1bm9yZGVyZWQgeyBuYW1lc3BhY2UgZGV0YWlsIHsKKworICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBBbGxvYz4KKyAgICBzdHJ1Y3QgYWxsb2NhdG9yX3RyYWl0cyA6IHN0ZDo6YWxsb2NhdG9yX3RyYWl0czxBbGxvYz4ge307CisKKyAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgQWxsb2MsIHR5cGVuYW1lIFQ+CisgICAgc3RydWN0IHJlYmluZF93cmFwCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHN0ZDo6YWxsb2NhdG9yX3RyYWl0czxBbGxvYz46OgorICAgICAgICAgICAgdGVtcGxhdGUgcmViaW5kX2FsbG9jPFQ+IHR5cGU7CisgICAgfTsKK319fQorCisvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworLy8KKy8vIG5kbmJvb3N0Ojpjb250YWluZXI6OmFsbG9jYXRvcl90cmFpdHMKKworI2VsaWYgQk9PU1RfVU5PUkRFUkVEX1VTRV9BTExPQ0FUT1JfVFJBSVRTID09IDIKKworIyAgIGluY2x1ZGUgPG5kbmJvb3N0L2NvbnRhaW5lci9hbGxvY2F0b3JfdHJhaXRzLmhwcD4KKworIyAgIGRlZmluZSBCT09TVF9VTk9SREVSRURfREVUQUlMX0ZVTExfQ09OU1RSVUNUIDAKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIHVub3JkZXJlZCB7IG5hbWVzcGFjZSBkZXRhaWwgeworCisgICAgdGVtcGxhdGUgPHR5cGVuYW1lIEFsbG9jPgorICAgIHN0cnVjdCBhbGxvY2F0b3JfdHJhaXRzIDoKKyAgICAgICAgbmRuYm9vc3Q6OmNvbnRhaW5lcjo6YWxsb2NhdG9yX3RyYWl0czxBbGxvYz4ge307CisKKyAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgQWxsb2MsIHR5cGVuYW1lIFQ+CisgICAgc3RydWN0IHJlYmluZF93cmFwIDoKKyAgICAgICAgbmRuYm9vc3Q6OmNvbnRhaW5lcjo6YWxsb2NhdG9yX3RyYWl0czxBbGxvYz46OgorICAgICAgICAgICAgdGVtcGxhdGUgcG9ydGFibGVfcmViaW5kX2FsbG9jPFQ+CisgICAge307CisKK319fQorCisjZWxzZQorCisjZXJyb3IgIkludmFsaWQgQk9PU1RfVU5PUkRFUkVEX1VTRV9BTExPQ0FUT1JfVFJBSVRTIHZhbHVlLiIKKworI2VuZGlmCisKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIHVub3JkZXJlZCB7IG5hbWVzcGFjZSBkZXRhaWwgeworCisgICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworICAgIC8vIGNhbGxfY29uc3RydWN0CisKKyNpZiAhZGVmaW5lZChCT09TVF9OT19DWFgxMV9WQVJJQURJQ19URU1QTEFURVMpCisKKyMgICBpZiBCT09TVF9VTk9SREVSRURfREVUQUlMX0ZVTExfQ09OU1RSVUNUCisKKyAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgQWxsb2MsIHR5cGVuYW1lIFQsIHR5cGVuYW1lLi4uIEFyZ3M+CisgICAgaW5saW5lIHZvaWQgY2FsbF9jb25zdHJ1Y3QoQWxsb2MmIGFsbG9jLCBUKiBhZGRyZXNzLAorICAgICAgICBCT09TVF9GV0RfUkVGKEFyZ3MpLi4uIGFyZ3MpCisgICAgeworICAgICAgICBuZG5ib29zdDo6dW5vcmRlcmVkOjpkZXRhaWw6OmFsbG9jYXRvcl90cmFpdHM8QWxsb2M+Ojpjb25zdHJ1Y3QoYWxsb2MsCisgICAgICAgICAgICBhZGRyZXNzLCBuZG5ib29zdDo6Zm9yd2FyZDxBcmdzPihhcmdzKS4uLik7CisgICAgfQorCisgICAgdGVtcGxhdGUgPHR5cGVuYW1lIEFsbG9jLCB0eXBlbmFtZSBUPgorICAgIGlubGluZSB2b2lkIGRlc3Ryb3lfdmFsdWVfaW1wbChBbGxvYyYgYWxsb2MsIFQqIHgpIHsKKyAgICAgICAgbmRuYm9vc3Q6OnVub3JkZXJlZDo6ZGV0YWlsOjphbGxvY2F0b3JfdHJhaXRzPEFsbG9jPjo6ZGVzdHJveShhbGxvYywgeCk7CisgICAgfQorCisKKyMgICBlbHNlCisKKyAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgQWxsb2MsIHR5cGVuYW1lIFQsIHR5cGVuYW1lLi4uIEFyZ3M+CisgICAgaW5saW5lIHZvaWQgY2FsbF9jb25zdHJ1Y3QoQWxsb2MmLCBUKiBhZGRyZXNzLAorICAgICAgICBCT09TVF9GV0RfUkVGKEFyZ3MpLi4uIGFyZ3MpCisgICAgeworICAgICAgICBuZXcoKHZvaWQqKSBhZGRyZXNzKSBUKG5kbmJvb3N0Ojpmb3J3YXJkPEFyZ3M+KGFyZ3MpLi4uKTsKKyAgICB9CisKKyAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgQWxsb2MsIHR5cGVuYW1lIFQ+CisgICAgaW5saW5lIHZvaWQgZGVzdHJveV92YWx1ZV9pbXBsKEFsbG9jJiwgVCogeCkgeworICAgICAgICBuZG5ib29zdDo6dW5vcmRlcmVkOjpkZXRhaWw6OmRlc3Ryb3koeCk7CisgICAgfQorCisKKyMgICBlbmRpZgorCisjZWxzZQorCisgICAgdGVtcGxhdGUgPHR5cGVuYW1lIEFsbG9jLCB0eXBlbmFtZSBUPgorICAgIGlubGluZSB2b2lkIGRlc3Ryb3lfdmFsdWVfaW1wbChBbGxvYyYsIFQqIHgpIHsKKyAgICAgICAgbmRuYm9vc3Q6OnVub3JkZXJlZDo6ZGV0YWlsOjpkZXN0cm95KHgpOworICAgIH0KKworI2VuZGlmCisKKyAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCisgICAgLy8gQ29uc3RydWN0IGZyb20gdHVwbGUKKyAgICAvLworICAgIC8vIFVzZWQgZm9yIHBpZWNld2lzZSBjb25zdHJ1Y3Rpb24uCisKKyNpZiAhZGVmaW5lZChCT09TVF9OT19DWFgxMV9WQVJJQURJQ19URU1QTEFURVMpCisKKyMgICBkZWZpbmUgQk9PU1RfVU5PUkRFUkVEX0NPTlNUUlVDVF9GUk9NX1RVUExFKG4sIG5hbWVzcGFjZV8pICAgICAgICAgICAgICBcCisgICAgdGVtcGxhdGU8dHlwZW5hbWUgQWxsb2MsIHR5cGVuYW1lIFQ+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIHZvaWQgY29uc3RydWN0X2Zyb21fdHVwbGUoQWxsb2MmIGFsbG9jLCBUKiBwdHIsIG5hbWVzcGFjZV8gdHVwbGU8PikgICAgIFwKKyAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIG5kbmJvb3N0Ojp1bm9yZGVyZWQ6OmRldGFpbDo6Y2FsbF9jb25zdHJ1Y3QoYWxsb2MsIHB0cik7ICAgICAgICAgICAgICAgXAorICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgQk9PU1RfUFBfUkVQRUFUX0ZST01fVE8oMSwgbiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICBCT09TVF9VTk9SREVSRURfQ09OU1RSVUNUX0ZST01fVFVQTEVfSU1QTCwgbmFtZXNwYWNlXykKKworIyAgIGRlZmluZSBCT09TVF9VTk9SREVSRURfQ09OU1RSVUNUX0ZST01fVFVQTEVfSU1QTCh6LCBuLCBuYW1lc3BhY2VfKSAgICAgIFwKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBBbGxvYywgdHlwZW5hbWUgVCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIEJPT1NUX1BQX0VOVU1fUEFSQU1TX1ooeiwgbiwgdHlwZW5hbWUgQSk+ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIHZvaWQgY29uc3RydWN0X2Zyb21fdHVwbGUoQWxsb2MmIGFsbG9jLCBUKiBwdHIsICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgIG5hbWVzcGFjZV8gdHVwbGU8Qk9PU1RfUFBfRU5VTV9QQVJBTVNfWih6LCBuLCBBKT4gY29uc3QmIHgpICAgICBcCisgICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICBuZG5ib29zdDo6dW5vcmRlcmVkOjpkZXRhaWw6OmNhbGxfY29uc3RydWN0KGFsbG9jLCBwdHIsICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgIEJPT1NUX1BQX0VOVU1fIyN6KG4sIEJPT1NUX1VOT1JERVJFRF9HRVRfVFVQTEVfQVJHLCBuYW1lc3BhY2VfKSBcCisgICAgICAgICk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIH0KKworIyAgIGRlZmluZSBCT09TVF9VTk9SREVSRURfR0VUX1RVUExFX0FSRyh6LCBuLCBuYW1lc3BhY2VfKSAgICAgICAgICAgICAgICAgIFwKKyAgICBuYW1lc3BhY2VfIGdldDxuPih4KQorCisjZWxpZiAhZGVmaW5lZChfX1NVTlBST19DQykKKworIyAgIGRlZmluZSBCT09TVF9VTk9SREVSRURfQ09OU1RSVUNUX0ZST01fVFVQTEUobiwgbmFtZXNwYWNlXykgICAgICAgICAgICAgIFwKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBBbGxvYywgdHlwZW5hbWUgVD4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgdm9pZCBjb25zdHJ1Y3RfZnJvbV90dXBsZShBbGxvYyYsIFQqIHB0ciwgbmFtZXNwYWNlXyB0dXBsZTw+KSAgICAgICAgICAgXAorICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgbmV3ICgodm9pZCopIHB0cikgVCgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBCT09TVF9QUF9SRVBFQVRfRlJPTV9UTygxLCBuLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIEJPT1NUX1VOT1JERVJFRF9DT05TVFJVQ1RfRlJPTV9UVVBMRV9JTVBMLCBuYW1lc3BhY2VfKQorCisjICAgZGVmaW5lIEJPT1NUX1VOT1JERVJFRF9DT05TVFJVQ1RfRlJPTV9UVVBMRV9JTVBMKHosIG4sIG5hbWVzcGFjZV8pICAgICAgXAorICAgIHRlbXBsYXRlPHR5cGVuYW1lIEFsbG9jLCB0eXBlbmFtZSBULCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgQk9PU1RfUFBfRU5VTV9QQVJBTVNfWih6LCBuLCB0eXBlbmFtZSBBKT4gICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgdm9pZCBjb25zdHJ1Y3RfZnJvbV90dXBsZShBbGxvYyYsIFQqIHB0ciwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgbmFtZXNwYWNlXyB0dXBsZTxCT09TVF9QUF9FTlVNX1BBUkFNU19aKHosIG4sIEEpPiBjb25zdCYgeCkgICAgIFwKKyAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIG5ldyAoKHZvaWQqKSBwdHIpIFQoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgQk9PU1RfUFBfRU5VTV8jI3oobiwgQk9PU1RfVU5PUkRFUkVEX0dFVF9UVVBMRV9BUkcsIG5hbWVzcGFjZV8pIFwKKyAgICAgICAgKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgfQorCisjICAgZGVmaW5lIEJPT1NUX1VOT1JERVJFRF9HRVRfVFVQTEVfQVJHKHosIG4sIG5hbWVzcGFjZV8pICAgICAgICAgICAgICAgICAgXAorICAgIG5hbWVzcGFjZV8gZ2V0PG4+KHgpCisKKyNlbHNlCisKKyAgICB0ZW1wbGF0ZSA8aW50IE4+IHN0cnVjdCBsZW5ndGgge307CisKKyMgICBkZWZpbmUgQk9PU1RfVU5PUkRFUkVEX0NPTlNUUlVDVF9GUk9NX1RVUExFKG4sIG5hbWVzcGFjZV8pICAgICAgICAgICAgICBcCisgICAgdGVtcGxhdGU8dHlwZW5hbWUgQWxsb2MsIHR5cGVuYW1lIFQ+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIHZvaWQgY29uc3RydWN0X2Zyb21fdHVwbGVfaW1wbCggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgIG5kbmJvb3N0Ojp1bm9yZGVyZWQ6OmRldGFpbDo6bGVuZ3RoPDA+LCBBbGxvYyYsIFQqIHB0ciwgICAgICAgICAgICBcCisgICAgICAgICAgICBuYW1lc3BhY2VfIHR1cGxlPD4pICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgbmV3ICgodm9pZCopIHB0cikgVCgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBCT09TVF9QUF9SRVBFQVRfRlJPTV9UTygxLCBuLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIEJPT1NUX1VOT1JERVJFRF9DT05TVFJVQ1RfRlJPTV9UVVBMRV9JTVBMLCBuYW1lc3BhY2VfKQorCisjICAgZGVmaW5lIEJPT1NUX1VOT1JERVJFRF9DT05TVFJVQ1RfRlJPTV9UVVBMRV9JTVBMKHosIG4sIG5hbWVzcGFjZV8pICAgICAgXAorICAgIHRlbXBsYXRlPHR5cGVuYW1lIEFsbG9jLCB0eXBlbmFtZSBULCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgQk9PU1RfUFBfRU5VTV9QQVJBTVNfWih6LCBuLCB0eXBlbmFtZSBBKT4gICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgdm9pZCBjb25zdHJ1Y3RfZnJvbV90dXBsZV9pbXBsKCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgbmRuYm9vc3Q6OnVub3JkZXJlZDo6ZGV0YWlsOjpsZW5ndGg8bj4sIEFsbG9jJiwgVCogcHRyLCAgICAgICAgICAgIFwKKyAgICAgICAgICAgIG5hbWVzcGFjZV8gdHVwbGU8Qk9PU1RfUFBfRU5VTV9QQVJBTVNfWih6LCBuLCBBKT4gY29uc3QmIHgpICAgICBcCisgICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICBuZXcgKCh2b2lkKikgcHRyKSBUKCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgIEJPT1NUX1BQX0VOVU1fIyN6KG4sIEJPT1NUX1VOT1JERVJFRF9HRVRfVFVQTEVfQVJHLCBuYW1lc3BhY2VfKSBcCisgICAgICAgICk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIH0KKworIyAgIGRlZmluZSBCT09TVF9VTk9SREVSRURfR0VUX1RVUExFX0FSRyh6LCBuLCBuYW1lc3BhY2VfKSAgICAgICAgICAgICAgICAgIFwKKyAgICBuYW1lc3BhY2VfIGdldDxuPih4KQorCisjZW5kaWYKKworQk9PU1RfVU5PUkRFUkVEX0NPTlNUUlVDVF9GUk9NX1RVUExFKDEwLCBuZG5ib29zdDo6KQorCisjaWYgIWRlZmluZWQoX19TVU5QUk9fQ0MpICYmICFkZWZpbmVkKEJPT1NUX05PX0NYWDExX0hEUl9UVVBMRSkKKyAgIEJPT1NUX1VOT1JERVJFRF9DT05TVFJVQ1RfRlJPTV9UVVBMRSgxMCwgc3RkOjopCisjZW5kaWYKKworI3VuZGVmIEJPT1NUX1VOT1JERVJFRF9DT05TVFJVQ1RfRlJPTV9UVVBMRQorI3VuZGVmIEJPT1NUX1VOT1JERVJFRF9DT05TVFJVQ1RfRlJPTV9UVVBMRV9JTVBMCisjdW5kZWYgQk9PU1RfVU5PUkRFUkVEX0dFVF9UVVBMRV9BUkcKKworI2lmIGRlZmluZWQoX19TVU5QUk9fQ0MpCisKKyAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgQWxsb2MsIHR5cGVuYW1lIFQsIHR5cGVuYW1lIFR1cGxlPgorICAgIHZvaWQgY29uc3RydWN0X2Zyb21fdHVwbGUoQWxsb2MmIGFsbG9jLCBUKiBwdHIsIFR1cGxlIGNvbnN0JiB4KQorICAgIHsKKyAgICAgICAgY29uc3RydWN0X2Zyb21fdHVwbGVfaW1wbCgKKyAgICAgICAgICAgIG5kbmJvb3N0Ojp1bm9yZGVyZWQ6OmRldGFpbDo6bGVuZ3RoPAorICAgICAgICAgICAgICAgIG5kbmJvb3N0Ojp0dXBsZXM6Omxlbmd0aDxUdXBsZT46OnZhbHVlPigpLAorICAgICAgICAgICAgYWxsb2MsIHB0ciwgeCk7CisgICAgfQorCisjZW5kaWYKKworICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKyAgICAvLyBUcmFpdCB0byBjaGVjayBmb3IgcGllY2V3aXNlIGNvbnN0cnVjdGlvbi4KKworICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBBMD4KKyAgICBzdHJ1Y3QgdXNlX3BpZWNld2lzZSB7CisgICAgICAgIHN0YXRpYyBjaG9pY2UxOjp0eXBlIHRlc3QoY2hvaWNlMSwKKyAgICAgICAgICAgIG5kbmJvb3N0Ojp1bm9yZGVyZWQ6OnBpZWNld2lzZV9jb25zdHJ1Y3RfdCk7CisKKyAgICAgICAgc3RhdGljIGNob2ljZTI6OnR5cGUgdGVzdChjaG9pY2UyLCAuLi4pOworCisgICAgICAgIGVudW0geyB2YWx1ZSA9IHNpemVvZihjaG9pY2UxOjp0eXBlKSA9PQorICAgICAgICAgICAgc2l6ZW9mKHRlc3QoY2hvb3NlKCksIG5kbmJvb3N0Ojp1bm9yZGVyZWQ6OmRldGFpbDo6bWFrZTxBMD4oKSkpIH07CisgICAgfTsKKworI2lmICFkZWZpbmVkKEJPT1NUX05PX0NYWDExX1ZBUklBRElDX1RFTVBMQVRFUykKKworICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKyAgICAvLyBDb25zdHJ1Y3QgZnJvbSB2YXJpYWRpYyBwYXJhbWV0ZXJzCisKKyAgICAvLyBGb3IgdGhlIHN0YW5kYXJkIHBhaXIgY29uc3RydWN0b3IuCisKKyAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgQWxsb2MsIHR5cGVuYW1lIFQsIHR5cGVuYW1lLi4uIEFyZ3M+CisgICAgaW5saW5lIHZvaWQgY29uc3RydWN0X3ZhbHVlX2ltcGwoQWxsb2MmIGFsbG9jLCBUKiBhZGRyZXNzLAorICAgICAgICBCT09TVF9GV0RfUkVGKEFyZ3MpLi4uIGFyZ3MpCisgICAgeworICAgICAgICBuZG5ib29zdDo6dW5vcmRlcmVkOjpkZXRhaWw6OmNhbGxfY29uc3RydWN0KGFsbG9jLAorICAgICAgICAgICAgYWRkcmVzcywgbmRuYm9vc3Q6OmZvcndhcmQ8QXJncz4oYXJncykuLi4pOworICAgIH0KKworICAgIC8vIFNwZWNpYWwgY2FzZSBmb3IgcGllY2VfY29uc3RydWN0CisgICAgLy8KKyAgICAvLyBUT0RPOiBXaGVuIHBvc3NpYmxlLCBpdCBtaWdodCBiZSBiZXR0ZXIgdG8gdXNlIHN0ZDo6cGFpcidzCisgICAgLy8gY29uc3RydWN0b3IgZm9yIHN0ZDo6cGllY2VfY29uc3RydWN0IHdpdGggc3RkOjp0dXBsZS4KKworICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBBbGxvYywgdHlwZW5hbWUgQSwgdHlwZW5hbWUgQiwKKyAgICAgICAgdHlwZW5hbWUgQTAsIHR5cGVuYW1lIEExLCB0eXBlbmFtZSBBMj4KKyAgICBpbmxpbmUgdHlwZW5hbWUgZW5hYmxlX2lmPHVzZV9waWVjZXdpc2U8QTA+LCB2b2lkPjo6dHlwZQorICAgICAgICBjb25zdHJ1Y3RfdmFsdWVfaW1wbChBbGxvYyYgYWxsb2MsIHN0ZDo6cGFpcjxBLCBCPiogYWRkcmVzcywKKyAgICAgICAgICAgIEJPT1NUX0ZXRF9SRUYoQTApLCBCT09TVF9GV0RfUkVGKEExKSBhMSwgQk9PU1RfRldEX1JFRihBMikgYTIpCisgICAgeworICAgICAgICBuZG5ib29zdDo6dW5vcmRlcmVkOjpkZXRhaWw6OmNvbnN0cnVjdF9mcm9tX3R1cGxlKGFsbG9jLAorICAgICAgICAgICAgbmRuYm9vc3Q6OmFkZHJlc3NvZihhZGRyZXNzLT5maXJzdCksIG5kbmJvb3N0Ojpmb3J3YXJkPEExPihhMSkpOworICAgICAgICBuZG5ib29zdDo6dW5vcmRlcmVkOjpkZXRhaWw6OmNvbnN0cnVjdF9mcm9tX3R1cGxlKGFsbG9jLAorICAgICAgICAgICAgbmRuYm9vc3Q6OmFkZHJlc3NvZihhZGRyZXNzLT5zZWNvbmQpLCBuZG5ib29zdDo6Zm9yd2FyZDxBMj4oYTIpKTsKKyAgICB9CisKKyNlbHNlIC8vIEJPT1NUX05PX0NYWDExX1ZBUklBRElDX1RFTVBMQVRFUworCisvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworLy8gQ29uc3RydWN0IGZyb20gZW1wbGFjZV9hcmdzCisKKyAgICAvLyBFeHBsaWNpdGx5IHdyaXRlIG91dCBmaXJzdCB0aHJlZSBvdmVybG9hZHMgZm9yIHRoZSBzYWtlIG9mIHNhbmUKKyAgICAvLyBlcnJvciBtZXNzYWdlcy4KKworICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBBbGxvYywgdHlwZW5hbWUgVCwgdHlwZW5hbWUgQTA+CisgICAgaW5saW5lIHZvaWQgY29uc3RydWN0X3ZhbHVlX2ltcGwoQWxsb2MmLCBUKiBhZGRyZXNzLAorICAgICAgICAgICAgZW1wbGFjZV9hcmdzMTxBMD4gY29uc3QmIGFyZ3MpCisgICAgeworICAgICAgICBuZXcoKHZvaWQqKSBhZGRyZXNzKSBUKG5kbmJvb3N0Ojpmb3J3YXJkPEEwPihhcmdzLmEwKSk7CisgICAgfQorCisgICAgdGVtcGxhdGUgPHR5cGVuYW1lIEFsbG9jLCB0eXBlbmFtZSBULCB0eXBlbmFtZSBBMCwgdHlwZW5hbWUgQTE+CisgICAgaW5saW5lIHZvaWQgY29uc3RydWN0X3ZhbHVlX2ltcGwoQWxsb2MmLCBUKiBhZGRyZXNzLAorICAgICAgICAgICAgZW1wbGFjZV9hcmdzMjxBMCwgQTE+IGNvbnN0JiBhcmdzKQorICAgIHsKKyAgICAgICAgbmV3KCh2b2lkKikgYWRkcmVzcykgVCgKKyAgICAgICAgICAgIG5kbmJvb3N0Ojpmb3J3YXJkPEEwPihhcmdzLmEwKSwKKyAgICAgICAgICAgIG5kbmJvb3N0Ojpmb3J3YXJkPEExPihhcmdzLmExKQorICAgICAgICApOworICAgIH0KKworICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBBbGxvYywgdHlwZW5hbWUgVCwgdHlwZW5hbWUgQTAsIHR5cGVuYW1lIEExLCB0eXBlbmFtZSBBMj4KKyAgICBpbmxpbmUgdm9pZCBjb25zdHJ1Y3RfdmFsdWVfaW1wbChBbGxvYyYsIFQqIGFkZHJlc3MsCisgICAgICAgICAgICBlbXBsYWNlX2FyZ3MzPEEwLCBBMSwgQTI+IGNvbnN0JiBhcmdzKQorICAgIHsKKyAgICAgICAgbmV3KCh2b2lkKikgYWRkcmVzcykgVCgKKyAgICAgICAgICAgIG5kbmJvb3N0Ojpmb3J3YXJkPEEwPihhcmdzLmEwKSwKKyAgICAgICAgICAgIG5kbmJvb3N0Ojpmb3J3YXJkPEExPihhcmdzLmExKSwKKyAgICAgICAgICAgIG5kbmJvb3N0Ojpmb3J3YXJkPEEyPihhcmdzLmEyKQorICAgICAgICApOworICAgIH0KKworICAgIC8vIFVzZSBhIG1hY3JvIGZvciB0aGUgcmVzdC4KKworI2RlZmluZSBCT09TVF9VTk9SREVSRURfQ09OU1RSVUNUX0lNUEwoeiwgbnVtX3BhcmFtcywgXykgICAgICAgICAgICAgICAgICAgIFwKKyAgICB0ZW1wbGF0ZSA8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIHR5cGVuYW1lIEFsbG9jLCB0eXBlbmFtZSBULCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICBCT09TVF9QUF9FTlVNX1BBUkFNU19aKHosIG51bV9wYXJhbXMsIHR5cGVuYW1lIEEpICAgICAgICAgICAgICAgICAgIFwKKyAgICA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgaW5saW5lIHZvaWQgY29uc3RydWN0X3ZhbHVlX2ltcGwoQWxsb2MmLCBUKiBhZGRyZXNzLCAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICBuZG5ib29zdDo6dW5vcmRlcmVkOjpkZXRhaWw6OkJPT1NUX1BQX0NBVChlbXBsYWNlX2FyZ3MsbnVtX3BhcmFtcykgPCAgIFwKKyAgICAgICAgICAgIEJPT1NUX1BQX0VOVU1fUEFSQU1TX1ooeiwgbnVtX3BhcmFtcywgQSkgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgID4gY29uc3QmIGFyZ3MpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgbmV3KCh2b2lkKikgYWRkcmVzcykgVCggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICBCT09TVF9QUF9FTlVNXyMjeihudW1fcGFyYW1zLCBCT09TVF9VTk9SREVSRURfQ0FMTF9GT1JXQVJELCAgICAgXAorICAgICAgICAgICAgICAgIGFyZ3MuYSkpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICB9CisKKyAgICBCT09TVF9QUF9SRVBFQVRfRlJPTV9UTyg0LCBCT09TVF9VTk9SREVSRURfRU1QTEFDRV9MSU1JVCwKKyAgICAgICAgQk9PU1RfVU5PUkRFUkVEX0NPTlNUUlVDVF9JTVBMLCBfKQorCisjdW5kZWYgQk9PU1RfVU5PUkRFUkVEX0NPTlNUUlVDVF9JTVBMCisKKyAgICAvLyBDb25zdHJ1Y3Qgd2l0aCBwaWVjZV9jb25zdHJ1Y3QKKworICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBBbGxvYywgdHlwZW5hbWUgQSwgdHlwZW5hbWUgQiwKKyAgICAgICAgdHlwZW5hbWUgQTAsIHR5cGVuYW1lIEExLCB0eXBlbmFtZSBBMj4KKyAgICBpbmxpbmUgdm9pZCBjb25zdHJ1Y3RfdmFsdWVfaW1wbChBbGxvYyYgYWxsb2MsIHN0ZDo6cGFpcjxBLCBCPiogYWRkcmVzcywKKyAgICAgICAgICAgIG5kbmJvb3N0Ojp1bm9yZGVyZWQ6OmRldGFpbDo6ZW1wbGFjZV9hcmdzMzxBMCwgQTEsIEEyPiBjb25zdCYgYXJncywKKyAgICAgICAgICAgIHR5cGVuYW1lIGVuYWJsZV9pZjx1c2VfcGllY2V3aXNlPEEwPiwgdm9pZCo+Ojp0eXBlID0gMCkKKyAgICB7CisgICAgICAgIG5kbmJvb3N0Ojp1bm9yZGVyZWQ6OmRldGFpbDo6Y29uc3RydWN0X2Zyb21fdHVwbGUoYWxsb2MsCisgICAgICAgICAgICBuZG5ib29zdDo6YWRkcmVzc29mKGFkZHJlc3MtPmZpcnN0KSwgYXJncy5hMSk7CisgICAgICAgIG5kbmJvb3N0Ojp1bm9yZGVyZWQ6OmRldGFpbDo6Y29uc3RydWN0X2Zyb21fdHVwbGUoYWxsb2MsCisgICAgICAgICAgICBuZG5ib29zdDo6YWRkcmVzc29mKGFkZHJlc3MtPnNlY29uZCksIGFyZ3MuYTIpOworICAgIH0KKworI2VuZGlmIC8vIEJPT1NUX05PX0NYWDExX1ZBUklBRElDX1RFTVBMQVRFUworCit9fX0KKworLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKy8vCisvLyBTb21lIGhlbHBlciBmdW5jdGlvbnMgZm9yIGFsbG9jYXRpbmcgJiBjb25zdHJ1Y3RpbmcKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIHVub3JkZXJlZCB7IG5hbWVzcGFjZSBkZXRhaWwgeworCisgICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworICAgIC8vCisgICAgLy8gYXJyYXlfY29uc3RydWN0b3IKKyAgICAvLworICAgIC8vIEFsbG9jYXRlIGFuZCBjb25zdHJ1Y3QgYW4gYXJyYXkgaW4gYW4gZXhjZXB0aW9uIHNhZmUgbWFubmVyLCBhbmQKKyAgICAvLyBjbGVhbiB1cCBpZiBhbiBleGNlcHRpb24gaXMgdGhyb3duIGJlZm9yZSB0aGUgY29udGFpbmVyIHRha2VzIGNoYXJnZQorICAgIC8vIG9mIGl0LgorCisgICAgdGVtcGxhdGUgPHR5cGVuYW1lIEFsbG9jYXRvcj4KKyAgICBzdHJ1Y3QgYXJyYXlfY29uc3RydWN0b3IKKyAgICB7CisgICAgICAgIHR5cGVkZWYgbmRuYm9vc3Q6OnVub3JkZXJlZDo6ZGV0YWlsOjphbGxvY2F0b3JfdHJhaXRzPEFsbG9jYXRvcj4gdHJhaXRzOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHRyYWl0czo6cG9pbnRlciBwb2ludGVyOworCisgICAgICAgIEFsbG9jYXRvciYgYWxsb2NfOworICAgICAgICBwb2ludGVyIHB0cl87CisgICAgICAgIHBvaW50ZXIgY29uc3RydWN0ZWRfOworICAgICAgICBzdGQ6OnNpemVfdCBsZW5ndGhfOworCisgICAgICAgIGFycmF5X2NvbnN0cnVjdG9yKEFsbG9jYXRvciYgYSkKKyAgICAgICAgICAgIDogYWxsb2NfKGEpLCBwdHJfKCksIGNvbnN0cnVjdGVkXygpLCBsZW5ndGhfKDApCisgICAgICAgIHsKKyAgICAgICAgICAgIGNvbnN0cnVjdGVkXyA9IHBvaW50ZXIoKTsKKyAgICAgICAgICAgIHB0cl8gPSBwb2ludGVyKCk7CisgICAgICAgIH0KKworICAgICAgICB+YXJyYXlfY29uc3RydWN0b3IoKSB7CisgICAgICAgICAgICBpZiAocHRyXykgeworICAgICAgICAgICAgICAgIGZvcihwb2ludGVyIHAgPSBwdHJfOyBwICE9IGNvbnN0cnVjdGVkXzsgKytwKQorICAgICAgICAgICAgICAgICAgICB0cmFpdHM6OmRlc3Ryb3koYWxsb2NfLCBuZG5ib29zdDo6YWRkcmVzc29mKCpwKSk7CisKKyAgICAgICAgICAgICAgICB0cmFpdHM6OmRlYWxsb2NhdGUoYWxsb2NfLCBwdHJfLCBsZW5ndGhfKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorCisgICAgICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBWPgorICAgICAgICB2b2lkIGNvbnN0cnVjdChWIGNvbnN0JiB2LCBzdGQ6OnNpemVfdCBsKQorICAgICAgICB7CisgICAgICAgICAgICBCT09TVF9BU1NFUlQoIXB0cl8pOworICAgICAgICAgICAgbGVuZ3RoXyA9IGw7CisgICAgICAgICAgICBwdHJfID0gdHJhaXRzOjphbGxvY2F0ZShhbGxvY18sIGxlbmd0aF8pOworICAgICAgICAgICAgcG9pbnRlciBlbmQgPSBwdHJfICsgc3RhdGljX2Nhc3Q8c3RkOjpwdHJkaWZmX3Q+KGxlbmd0aF8pOworICAgICAgICAgICAgZm9yKGNvbnN0cnVjdGVkXyA9IHB0cl87IGNvbnN0cnVjdGVkXyAhPSBlbmQ7ICsrY29uc3RydWN0ZWRfKQorICAgICAgICAgICAgICAgIHRyYWl0czo6Y29uc3RydWN0KGFsbG9jXywgbmRuYm9vc3Q6OmFkZHJlc3NvZigqY29uc3RydWN0ZWRfKSwgdik7CisgICAgICAgIH0KKworICAgICAgICBwb2ludGVyIGdldCgpIGNvbnN0CisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiBwdHJfOworICAgICAgICB9CisKKyAgICAgICAgcG9pbnRlciByZWxlYXNlKCkKKyAgICAgICAgeworICAgICAgICAgICAgcG9pbnRlciBwKHB0cl8pOworICAgICAgICAgICAgcHRyXyA9IHBvaW50ZXIoKTsKKyAgICAgICAgICAgIHJldHVybiBwOworICAgICAgICB9CisKKyAgICBwcml2YXRlOgorCisgICAgICAgIGFycmF5X2NvbnN0cnVjdG9yKGFycmF5X2NvbnN0cnVjdG9yIGNvbnN0Jik7CisgICAgICAgIGFycmF5X2NvbnN0cnVjdG9yJiBvcGVyYXRvcj0oYXJyYXlfY29uc3RydWN0b3IgY29uc3QmKTsKKyAgICB9OworfX19CisKKyNpZiBkZWZpbmVkKEJPT1NUX01TVkMpCisjcHJhZ21hIHdhcm5pbmcocG9wKQorI2VuZGlmCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvdW5vcmRlcmVkL2RldGFpbC9idWNrZXRzLmhwcCBiL25kbmJvb3N0L3Vub3JkZXJlZC9kZXRhaWwvYnVja2V0cy5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGY0NGU3MAotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L3Vub3JkZXJlZC9kZXRhaWwvYnVja2V0cy5ocHAKQEAgLTAsMCArMSw4NzYgQEAKKworLy8gQ29weXJpZ2h0IChDKSAyMDAzLTIwMDQgSmVyZW15IEIuIE1haXRpbi1TaGVwYXJkLgorLy8gQ29weXJpZ2h0IChDKSAyMDA1LTIwMTEgRGFuaWVsIEphbWVzCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIChTZWUgYWNjb21wYW55aW5nCisvLyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKworI2lmbmRlZiBCT09TVF9VTk9SREVSRURfREVUQUlMX01BTkFHRVJfSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX1VOT1JERVJFRF9ERVRBSUxfTUFOQUdFUl9IUFBfSU5DTFVERUQKKworI2lmIGRlZmluZWQoX01TQ19WRVIpICYmIChfTVNDX1ZFUiA+PSAxMDIwKQorIyBwcmFnbWEgb25jZQorI2VuZGlmCisKKyNpbmNsdWRlIDxuZG5ib29zdC91bm9yZGVyZWQvZGV0YWlsL3V0aWwuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3Vub3JkZXJlZC9kZXRhaWwvYWxsb2NhdGUuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2FsaWduZWRfc3RvcmFnZS5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvYWxpZ25tZW50X29mLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9pc19ub3Rocm93X21vdmVfY29uc3RydWN0aWJsZS5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvaXNfbm90aHJvd19tb3ZlX2Fzc2lnbmFibGUuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3N3YXAuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L2Fzc2VydC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbGltaXRzLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9pdGVyYXRvci5ocHA+CisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSB1bm9yZGVyZWQgeyBuYW1lc3BhY2UgZGV0YWlsIHsKKworICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBUeXBlcz4gc3RydWN0IHRhYmxlOworICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBOb2RlUG9pbnRlcj4gc3RydWN0IGJ1Y2tldDsKKyAgICBzdHJ1Y3QgcHRyX2J1Y2tldDsKKyAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVHlwZXM+IHN0cnVjdCB0YWJsZV9pbXBsOworICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBUeXBlcz4gc3RydWN0IGdyb3VwZWRfdGFibGVfaW1wbDsKKworfX19CisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSB1bm9yZGVyZWQgeyBuYW1lc3BhY2UgaXRlcmF0b3JfZGV0YWlsIHsKKworICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKyAgICAvLyBJdGVyYXRvcnMKKyAgICAvLworICAgIC8vIGFsbCBubyB0aHJvdworCisgICAgdGVtcGxhdGUgPHR5cGVuYW1lIE5vZGU+IHN0cnVjdCBpdGVyYXRvcjsKKyAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgTm9kZSwgdHlwZW5hbWUgQ29uc3ROb2RlUG9pbnRlcj4gc3RydWN0IGNfaXRlcmF0b3I7CisgICAgdGVtcGxhdGUgPHR5cGVuYW1lIE5vZGUsIHR5cGVuYW1lIFBvbGljeT4gc3RydWN0IGxfaXRlcmF0b3I7CisgICAgdGVtcGxhdGUgPHR5cGVuYW1lIE5vZGUsIHR5cGVuYW1lIENvbnN0Tm9kZVBvaW50ZXIsIHR5cGVuYW1lIFBvbGljeT4KKyAgICAgICAgc3RydWN0IGNsX2l0ZXJhdG9yOworCisgICAgLy8gTG9jYWwgSXRlcmF0b3JzCisgICAgLy8KKyAgICAvLyBhbGwgbm8gdGhyb3cKKworICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBOb2RlLCB0eXBlbmFtZSBQb2xpY3k+CisgICAgc3RydWN0IGxfaXRlcmF0b3IKKyAgICAgICAgOiBwdWJsaWMgbmRuYm9vc3Q6Oml0ZXJhdG9yPAorICAgICAgICAgICAgc3RkOjpmb3J3YXJkX2l0ZXJhdG9yX3RhZywKKyAgICAgICAgICAgIHR5cGVuYW1lIE5vZGU6OnZhbHVlX3R5cGUsCisgICAgICAgICAgICBzdGQ6OnB0cmRpZmZfdCwKKyAgICAgICAgICAgIHR5cGVuYW1lIE5vZGU6Om5vZGVfcG9pbnRlciwKKyAgICAgICAgICAgIHR5cGVuYW1lIE5vZGU6OnZhbHVlX3R5cGUmPgorICAgIHsKKyNpZiAhZGVmaW5lZChCT09TVF9OT19NRU1CRVJfVEVNUExBVEVfRlJJRU5EUykKKyAgICAgICAgdGVtcGxhdGUgPHR5cGVuYW1lIE5vZGUyLCB0eXBlbmFtZSBDb25zdE5vZGVQb2ludGVyLCB0eXBlbmFtZSBQb2xpY3kyPgorICAgICAgICBmcmllbmQgc3RydWN0IG5kbmJvb3N0Ojp1bm9yZGVyZWQ6Oml0ZXJhdG9yX2RldGFpbDo6Y2xfaXRlcmF0b3I7CisgICAgcHJpdmF0ZToKKyNlbmRpZgorICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIE5vZGU6Om5vZGVfcG9pbnRlciBub2RlX3BvaW50ZXI7CisgICAgICAgIHR5cGVkZWYgbmRuYm9vc3Q6OnVub3JkZXJlZDo6aXRlcmF0b3JfZGV0YWlsOjppdGVyYXRvcjxOb2RlPiBpdGVyYXRvcjsKKyAgICAgICAgbm9kZV9wb2ludGVyIHB0cl87CisgICAgICAgIHN0ZDo6c2l6ZV90IGJ1Y2tldF87CisgICAgICAgIHN0ZDo6c2l6ZV90IGJ1Y2tldF9jb3VudF87CisKKyAgICBwdWJsaWM6CisKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBOb2RlOjp2YWx1ZV90eXBlIHZhbHVlX3R5cGU7CisKKyAgICAgICAgbF9pdGVyYXRvcigpIDogcHRyXygpIHt9CisKKyAgICAgICAgbF9pdGVyYXRvcihpdGVyYXRvciB4LCBzdGQ6OnNpemVfdCBiLCBzdGQ6OnNpemVfdCBjKQorICAgICAgICAgICAgOiBwdHJfKHgubm9kZV8pLCBidWNrZXRfKGIpLCBidWNrZXRfY291bnRfKGMpIHt9CisKKyAgICAgICAgdmFsdWVfdHlwZSYgb3BlcmF0b3IqKCkgY29uc3QgeworICAgICAgICAgICAgcmV0dXJuIHB0cl8tPnZhbHVlKCk7CisgICAgICAgIH0KKworICAgICAgICB2YWx1ZV90eXBlKiBvcGVyYXRvci0+KCkgY29uc3QgeworICAgICAgICAgICAgcmV0dXJuIHB0cl8tPnZhbHVlX3B0cigpOworICAgICAgICB9CisKKyAgICAgICAgbF9pdGVyYXRvciYgb3BlcmF0b3IrKygpIHsKKyAgICAgICAgICAgIHB0cl8gPSBzdGF0aWNfY2FzdDxub2RlX3BvaW50ZXI+KHB0cl8tPm5leHRfKTsKKyAgICAgICAgICAgIGlmIChwdHJfICYmIFBvbGljeTo6dG9fYnVja2V0KGJ1Y2tldF9jb3VudF8sIHB0cl8tPmhhc2hfKQorICAgICAgICAgICAgICAgICAgICAhPSBidWNrZXRfKQorICAgICAgICAgICAgICAgIHB0cl8gPSBub2RlX3BvaW50ZXIoKTsKKyAgICAgICAgICAgIHJldHVybiAqdGhpczsKKyAgICAgICAgfQorCisgICAgICAgIGxfaXRlcmF0b3Igb3BlcmF0b3IrKyhpbnQpIHsKKyAgICAgICAgICAgIGxfaXRlcmF0b3IgdG1wKCp0aGlzKTsKKyAgICAgICAgICAgICsrKCp0aGlzKTsKKyAgICAgICAgICAgIHJldHVybiB0bXA7CisgICAgICAgIH0KKworICAgICAgICBib29sIG9wZXJhdG9yPT0obF9pdGVyYXRvciB4KSBjb25zdCB7CisgICAgICAgICAgICByZXR1cm4gcHRyXyA9PSB4LnB0cl87CisgICAgICAgIH0KKworICAgICAgICBib29sIG9wZXJhdG9yIT0obF9pdGVyYXRvciB4KSBjb25zdCB7CisgICAgICAgICAgICByZXR1cm4gcHRyXyAhPSB4LnB0cl87CisgICAgICAgIH0KKyAgICB9OworCisgICAgdGVtcGxhdGUgPHR5cGVuYW1lIE5vZGUsIHR5cGVuYW1lIENvbnN0Tm9kZVBvaW50ZXIsIHR5cGVuYW1lIFBvbGljeT4KKyAgICBzdHJ1Y3QgY2xfaXRlcmF0b3IKKyAgICAgICAgOiBwdWJsaWMgbmRuYm9vc3Q6Oml0ZXJhdG9yPAorICAgICAgICAgICAgc3RkOjpmb3J3YXJkX2l0ZXJhdG9yX3RhZywKKyAgICAgICAgICAgIHR5cGVuYW1lIE5vZGU6OnZhbHVlX3R5cGUsCisgICAgICAgICAgICBzdGQ6OnB0cmRpZmZfdCwKKyAgICAgICAgICAgIENvbnN0Tm9kZVBvaW50ZXIsCisgICAgICAgICAgICB0eXBlbmFtZSBOb2RlOjp2YWx1ZV90eXBlIGNvbnN0Jj4KKyAgICB7CisgICAgICAgIGZyaWVuZCBzdHJ1Y3QgbmRuYm9vc3Q6OnVub3JkZXJlZDo6aXRlcmF0b3JfZGV0YWlsOjpsX2l0ZXJhdG9yCisgICAgICAgICAgICA8Tm9kZSwgUG9saWN5PjsKKyAgICBwcml2YXRlOgorCisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgTm9kZTo6bm9kZV9wb2ludGVyIG5vZGVfcG9pbnRlcjsKKyAgICAgICAgdHlwZWRlZiBuZG5ib29zdDo6dW5vcmRlcmVkOjppdGVyYXRvcl9kZXRhaWw6Oml0ZXJhdG9yPE5vZGU+IGl0ZXJhdG9yOworICAgICAgICBub2RlX3BvaW50ZXIgcHRyXzsKKyAgICAgICAgc3RkOjpzaXplX3QgYnVja2V0XzsKKyAgICAgICAgc3RkOjpzaXplX3QgYnVja2V0X2NvdW50XzsKKworICAgIHB1YmxpYzoKKworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIE5vZGU6OnZhbHVlX3R5cGUgdmFsdWVfdHlwZTsKKworICAgICAgICBjbF9pdGVyYXRvcigpIDogcHRyXygpIHt9CisKKyAgICAgICAgY2xfaXRlcmF0b3IoaXRlcmF0b3IgeCwgc3RkOjpzaXplX3QgYiwgc3RkOjpzaXplX3QgYykgOgorICAgICAgICAgICAgcHRyXyh4Lm5vZGVfKSwgYnVja2V0XyhiKSwgYnVja2V0X2NvdW50XyhjKSB7fQorCisgICAgICAgIGNsX2l0ZXJhdG9yKG5kbmJvb3N0Ojp1bm9yZGVyZWQ6Oml0ZXJhdG9yX2RldGFpbDo6bF9pdGVyYXRvcjwKKyAgICAgICAgICAgICAgICBOb2RlLCBQb2xpY3k+IGNvbnN0JiB4KSA6CisgICAgICAgICAgICBwdHJfKHgucHRyXyksIGJ1Y2tldF8oeC5idWNrZXRfKSwgYnVja2V0X2NvdW50Xyh4LmJ1Y2tldF9jb3VudF8pCisgICAgICAgIHt9CisKKyAgICAgICAgdmFsdWVfdHlwZSBjb25zdCYgb3BlcmF0b3IqKCkgY29uc3QgeworICAgICAgICAgICAgcmV0dXJuIHB0cl8tPnZhbHVlKCk7CisgICAgICAgIH0KKworICAgICAgICB2YWx1ZV90eXBlIGNvbnN0KiBvcGVyYXRvci0+KCkgY29uc3QgeworICAgICAgICAgICAgcmV0dXJuIHB0cl8tPnZhbHVlX3B0cigpOworICAgICAgICB9CisKKyAgICAgICAgY2xfaXRlcmF0b3ImIG9wZXJhdG9yKysoKSB7CisgICAgICAgICAgICBwdHJfID0gc3RhdGljX2Nhc3Q8bm9kZV9wb2ludGVyPihwdHJfLT5uZXh0Xyk7CisgICAgICAgICAgICBpZiAocHRyXyAmJiBQb2xpY3k6OnRvX2J1Y2tldChidWNrZXRfY291bnRfLCBwdHJfLT5oYXNoXykKKyAgICAgICAgICAgICAgICAgICAgIT0gYnVja2V0XykKKyAgICAgICAgICAgICAgICBwdHJfID0gbm9kZV9wb2ludGVyKCk7CisgICAgICAgICAgICByZXR1cm4gKnRoaXM7CisgICAgICAgIH0KKworICAgICAgICBjbF9pdGVyYXRvciBvcGVyYXRvcisrKGludCkgeworICAgICAgICAgICAgY2xfaXRlcmF0b3IgdG1wKCp0aGlzKTsKKyAgICAgICAgICAgICsrKCp0aGlzKTsKKyAgICAgICAgICAgIHJldHVybiB0bXA7CisgICAgICAgIH0KKworICAgICAgICBmcmllbmQgYm9vbCBvcGVyYXRvcj09KGNsX2l0ZXJhdG9yIGNvbnN0JiB4LCBjbF9pdGVyYXRvciBjb25zdCYgeSkgeworICAgICAgICAgICAgcmV0dXJuIHgucHRyXyA9PSB5LnB0cl87CisgICAgICAgIH0KKworICAgICAgICBmcmllbmQgYm9vbCBvcGVyYXRvciE9KGNsX2l0ZXJhdG9yIGNvbnN0JiB4LCBjbF9pdGVyYXRvciBjb25zdCYgeSkgeworICAgICAgICAgICAgcmV0dXJuIHgucHRyXyAhPSB5LnB0cl87CisgICAgICAgIH0KKyAgICB9OworCisgICAgdGVtcGxhdGUgPHR5cGVuYW1lIE5vZGU+CisgICAgc3RydWN0IGl0ZXJhdG9yCisgICAgICAgIDogcHVibGljIG5kbmJvb3N0OjppdGVyYXRvcjwKKyAgICAgICAgICAgIHN0ZDo6Zm9yd2FyZF9pdGVyYXRvcl90YWcsCisgICAgICAgICAgICB0eXBlbmFtZSBOb2RlOjp2YWx1ZV90eXBlLAorICAgICAgICAgICAgc3RkOjpwdHJkaWZmX3QsCisgICAgICAgICAgICB0eXBlbmFtZSBOb2RlOjpub2RlX3BvaW50ZXIsCisgICAgICAgICAgICB0eXBlbmFtZSBOb2RlOjp2YWx1ZV90eXBlJj4KKyAgICB7CisjaWYgIWRlZmluZWQoQk9PU1RfTk9fTUVNQkVSX1RFTVBMQVRFX0ZSSUVORFMpCisgICAgICAgIHRlbXBsYXRlIDx0eXBlbmFtZSwgdHlwZW5hbWU+CisgICAgICAgIGZyaWVuZCBzdHJ1Y3QgbmRuYm9vc3Q6OnVub3JkZXJlZDo6aXRlcmF0b3JfZGV0YWlsOjpjX2l0ZXJhdG9yOworICAgICAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUsIHR5cGVuYW1lPgorICAgICAgICBmcmllbmQgc3RydWN0IG5kbmJvb3N0Ojp1bm9yZGVyZWQ6Oml0ZXJhdG9yX2RldGFpbDo6bF9pdGVyYXRvcjsKKyAgICAgICAgdGVtcGxhdGUgPHR5cGVuYW1lLCB0eXBlbmFtZSwgdHlwZW5hbWU+CisgICAgICAgIGZyaWVuZCBzdHJ1Y3QgbmRuYm9vc3Q6OnVub3JkZXJlZDo6aXRlcmF0b3JfZGV0YWlsOjpjbF9pdGVyYXRvcjsKKyAgICAgICAgdGVtcGxhdGUgPHR5cGVuYW1lPgorICAgICAgICBmcmllbmQgc3RydWN0IG5kbmJvb3N0Ojp1bm9yZGVyZWQ6OmRldGFpbDo6dGFibGU7CisgICAgICAgIHRlbXBsYXRlIDx0eXBlbmFtZT4KKyAgICAgICAgZnJpZW5kIHN0cnVjdCBuZG5ib29zdDo6dW5vcmRlcmVkOjpkZXRhaWw6OnRhYmxlX2ltcGw7CisgICAgICAgIHRlbXBsYXRlIDx0eXBlbmFtZT4KKyAgICAgICAgZnJpZW5kIHN0cnVjdCBuZG5ib29zdDo6dW5vcmRlcmVkOjpkZXRhaWw6Omdyb3VwZWRfdGFibGVfaW1wbDsKKyAgICBwcml2YXRlOgorI2VuZGlmCisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgTm9kZTo6bm9kZV9wb2ludGVyIG5vZGVfcG9pbnRlcjsKKyAgICAgICAgbm9kZV9wb2ludGVyIG5vZGVfOworCisgICAgcHVibGljOgorCisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgTm9kZTo6dmFsdWVfdHlwZSB2YWx1ZV90eXBlOworCisgICAgICAgIGl0ZXJhdG9yKCkgOiBub2RlXygpIHt9CisKKyAgICAgICAgZXhwbGljaXQgaXRlcmF0b3IodHlwZW5hbWUgTm9kZTo6bGlua19wb2ludGVyIHgpIDoKKyAgICAgICAgICAgIG5vZGVfKHN0YXRpY19jYXN0PG5vZGVfcG9pbnRlcj4oeCkpIHt9CisKKyAgICAgICAgdmFsdWVfdHlwZSYgb3BlcmF0b3IqKCkgY29uc3QgeworICAgICAgICAgICAgcmV0dXJuIG5vZGVfLT52YWx1ZSgpOworICAgICAgICB9CisKKyAgICAgICAgdmFsdWVfdHlwZSogb3BlcmF0b3ItPigpIGNvbnN0IHsKKyAgICAgICAgICAgIHJldHVybiAmbm9kZV8tPnZhbHVlKCk7CisgICAgICAgIH0KKworICAgICAgICBpdGVyYXRvciYgb3BlcmF0b3IrKygpIHsKKyAgICAgICAgICAgIG5vZGVfID0gc3RhdGljX2Nhc3Q8bm9kZV9wb2ludGVyPihub2RlXy0+bmV4dF8pOworICAgICAgICAgICAgcmV0dXJuICp0aGlzOworICAgICAgICB9CisKKyAgICAgICAgaXRlcmF0b3Igb3BlcmF0b3IrKyhpbnQpIHsKKyAgICAgICAgICAgIGl0ZXJhdG9yIHRtcChub2RlXyk7CisgICAgICAgICAgICBub2RlXyA9IHN0YXRpY19jYXN0PG5vZGVfcG9pbnRlcj4obm9kZV8tPm5leHRfKTsKKyAgICAgICAgICAgIHJldHVybiB0bXA7CisgICAgICAgIH0KKworICAgICAgICBib29sIG9wZXJhdG9yPT0oaXRlcmF0b3IgY29uc3QmIHgpIGNvbnN0IHsKKyAgICAgICAgICAgIHJldHVybiBub2RlXyA9PSB4Lm5vZGVfOworICAgICAgICB9CisKKyAgICAgICAgYm9vbCBvcGVyYXRvciE9KGl0ZXJhdG9yIGNvbnN0JiB4KSBjb25zdCB7CisgICAgICAgICAgICByZXR1cm4gbm9kZV8gIT0geC5ub2RlXzsKKyAgICAgICAgfQorICAgIH07CisKKyAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgTm9kZSwgdHlwZW5hbWUgQ29uc3ROb2RlUG9pbnRlcj4KKyAgICBzdHJ1Y3QgY19pdGVyYXRvcgorICAgICAgICA6IHB1YmxpYyBuZG5ib29zdDo6aXRlcmF0b3I8CisgICAgICAgICAgICBzdGQ6OmZvcndhcmRfaXRlcmF0b3JfdGFnLAorICAgICAgICAgICAgdHlwZW5hbWUgTm9kZTo6dmFsdWVfdHlwZSwKKyAgICAgICAgICAgIHN0ZDo6cHRyZGlmZl90LAorICAgICAgICAgICAgQ29uc3ROb2RlUG9pbnRlciwKKyAgICAgICAgICAgIHR5cGVuYW1lIE5vZGU6OnZhbHVlX3R5cGUgY29uc3QmPgorICAgIHsKKyAgICAgICAgZnJpZW5kIHN0cnVjdCBuZG5ib29zdDo6dW5vcmRlcmVkOjppdGVyYXRvcl9kZXRhaWw6Oml0ZXJhdG9yPE5vZGU+OworCisjaWYgIWRlZmluZWQoQk9PU1RfTk9fTUVNQkVSX1RFTVBMQVRFX0ZSSUVORFMpCisgICAgICAgIHRlbXBsYXRlIDx0eXBlbmFtZT4KKyAgICAgICAgZnJpZW5kIHN0cnVjdCBuZG5ib29zdDo6dW5vcmRlcmVkOjpkZXRhaWw6OnRhYmxlOworICAgICAgICB0ZW1wbGF0ZSA8dHlwZW5hbWU+CisgICAgICAgIGZyaWVuZCBzdHJ1Y3QgbmRuYm9vc3Q6OnVub3JkZXJlZDo6ZGV0YWlsOjp0YWJsZV9pbXBsOworICAgICAgICB0ZW1wbGF0ZSA8dHlwZW5hbWU+CisgICAgICAgIGZyaWVuZCBzdHJ1Y3QgbmRuYm9vc3Q6OnVub3JkZXJlZDo6ZGV0YWlsOjpncm91cGVkX3RhYmxlX2ltcGw7CisKKyAgICBwcml2YXRlOgorI2VuZGlmCisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgTm9kZTo6bm9kZV9wb2ludGVyIG5vZGVfcG9pbnRlcjsKKyAgICAgICAgdHlwZWRlZiBuZG5ib29zdDo6dW5vcmRlcmVkOjppdGVyYXRvcl9kZXRhaWw6Oml0ZXJhdG9yPE5vZGU+IGl0ZXJhdG9yOworICAgICAgICBub2RlX3BvaW50ZXIgbm9kZV87CisKKyAgICBwdWJsaWM6CisKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBOb2RlOjp2YWx1ZV90eXBlIHZhbHVlX3R5cGU7CisKKyAgICAgICAgY19pdGVyYXRvcigpIDogbm9kZV8oKSB7fQorCisgICAgICAgIGV4cGxpY2l0IGNfaXRlcmF0b3IodHlwZW5hbWUgTm9kZTo6bGlua19wb2ludGVyIHgpIDoKKyAgICAgICAgICAgIG5vZGVfKHN0YXRpY19jYXN0PG5vZGVfcG9pbnRlcj4oeCkpIHt9CisKKyAgICAgICAgY19pdGVyYXRvcihpdGVyYXRvciBjb25zdCYgeCkgOiBub2RlXyh4Lm5vZGVfKSB7fQorCisgICAgICAgIHZhbHVlX3R5cGUgY29uc3QmIG9wZXJhdG9yKigpIGNvbnN0IHsKKyAgICAgICAgICAgIHJldHVybiBub2RlXy0+dmFsdWUoKTsKKyAgICAgICAgfQorCisgICAgICAgIHZhbHVlX3R5cGUgY29uc3QqIG9wZXJhdG9yLT4oKSBjb25zdCB7CisgICAgICAgICAgICByZXR1cm4gJm5vZGVfLT52YWx1ZSgpOworICAgICAgICB9CisKKyAgICAgICAgY19pdGVyYXRvciYgb3BlcmF0b3IrKygpIHsKKyAgICAgICAgICAgIG5vZGVfID0gc3RhdGljX2Nhc3Q8bm9kZV9wb2ludGVyPihub2RlXy0+bmV4dF8pOworICAgICAgICAgICAgcmV0dXJuICp0aGlzOworICAgICAgICB9CisKKyAgICAgICAgY19pdGVyYXRvciBvcGVyYXRvcisrKGludCkgeworICAgICAgICAgICAgY19pdGVyYXRvciB0bXAobm9kZV8pOworICAgICAgICAgICAgbm9kZV8gPSBzdGF0aWNfY2FzdDxub2RlX3BvaW50ZXI+KG5vZGVfLT5uZXh0Xyk7CisgICAgICAgICAgICByZXR1cm4gdG1wOworICAgICAgICB9CisKKyAgICAgICAgZnJpZW5kIGJvb2wgb3BlcmF0b3I9PShjX2l0ZXJhdG9yIGNvbnN0JiB4LCBjX2l0ZXJhdG9yIGNvbnN0JiB5KSB7CisgICAgICAgICAgICByZXR1cm4geC5ub2RlXyA9PSB5Lm5vZGVfOworICAgICAgICB9CisKKyAgICAgICAgZnJpZW5kIGJvb2wgb3BlcmF0b3IhPShjX2l0ZXJhdG9yIGNvbnN0JiB4LCBjX2l0ZXJhdG9yIGNvbnN0JiB5KSB7CisgICAgICAgICAgICByZXR1cm4geC5ub2RlXyAhPSB5Lm5vZGVfOworICAgICAgICB9CisgICAgfTsKK319fQorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgdW5vcmRlcmVkIHsgbmFtZXNwYWNlIGRldGFpbCB7CisKKyAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCisgICAgLy8KKyAgICAvLyBOb2RlIGNvbnN0cnVjdGlvbgorCisgICAgdGVtcGxhdGUgPHR5cGVuYW1lIE5vZGVBbGxvYz4KKyAgICBzdHJ1Y3Qgbm9kZV9jb25zdHJ1Y3RvcgorICAgIHsKKyAgICBwcml2YXRlOgorCisgICAgICAgIHR5cGVkZWYgTm9kZUFsbG9jIG5vZGVfYWxsb2NhdG9yOworICAgICAgICB0eXBlZGVmIG5kbmJvb3N0Ojp1bm9yZGVyZWQ6OmRldGFpbDo6YWxsb2NhdG9yX3RyYWl0czxOb2RlQWxsb2M+CisgICAgICAgICAgICBub2RlX2FsbG9jYXRvcl90cmFpdHM7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbm9kZV9hbGxvY2F0b3JfdHJhaXRzOjp2YWx1ZV90eXBlIG5vZGU7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbm9kZV9hbGxvY2F0b3JfdHJhaXRzOjpwb2ludGVyIG5vZGVfcG9pbnRlcjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBub2RlOjp2YWx1ZV90eXBlIHZhbHVlX3R5cGU7CisKKyAgICBwcm90ZWN0ZWQ6CisKKyAgICAgICAgbm9kZV9hbGxvY2F0b3ImIGFsbG9jXzsKKyAgICAgICAgbm9kZV9wb2ludGVyIG5vZGVfOworICAgICAgICBib29sIG5vZGVfY29uc3RydWN0ZWRfOworICAgICAgICBib29sIHZhbHVlX2NvbnN0cnVjdGVkXzsKKworICAgIHB1YmxpYzoKKworICAgICAgICBub2RlX2NvbnN0cnVjdG9yKG5vZGVfYWxsb2NhdG9yJiBuKSA6CisgICAgICAgICAgICBhbGxvY18obiksCisgICAgICAgICAgICBub2RlXygpLAorICAgICAgICAgICAgbm9kZV9jb25zdHJ1Y3RlZF8oZmFsc2UpLAorICAgICAgICAgICAgdmFsdWVfY29uc3RydWN0ZWRfKGZhbHNlKQorICAgICAgICB7CisgICAgICAgIH0KKworICAgICAgICB+bm9kZV9jb25zdHJ1Y3RvcigpOworCisgICAgICAgIHZvaWQgY29uc3RydWN0KCk7CisKKyAgICAgICAgdGVtcGxhdGUgPEJPT1NUX1VOT1JERVJFRF9FTVBMQUNFX1RFTVBMQVRFPgorICAgICAgICB2b2lkIGNvbnN0cnVjdF93aXRoX3ZhbHVlKEJPT1NUX1VOT1JERVJFRF9FTVBMQUNFX0FSR1MpCisgICAgICAgIHsKKyAgICAgICAgICAgIGNvbnN0cnVjdCgpOworICAgICAgICAgICAgbmRuYm9vc3Q6OnVub3JkZXJlZDo6ZGV0YWlsOjpjb25zdHJ1Y3RfdmFsdWVfaW1wbCgKKyAgICAgICAgICAgICAgICBhbGxvY18sIG5vZGVfLT52YWx1ZV9wdHIoKSwgQk9PU1RfVU5PUkRFUkVEX0VNUExBQ0VfRk9SV0FSRCk7CisgICAgICAgICAgICB2YWx1ZV9jb25zdHJ1Y3RlZF8gPSB0cnVlOworICAgICAgICB9CisKKyAgICAgICAgdGVtcGxhdGUgPHR5cGVuYW1lIEEwPgorICAgICAgICB2b2lkIGNvbnN0cnVjdF93aXRoX3ZhbHVlMihCT09TVF9GV0RfUkVGKEEwKSBhMCkKKyAgICAgICAgeworICAgICAgICAgICAgY29uc3RydWN0KCk7CisgICAgICAgICAgICBuZG5ib29zdDo6dW5vcmRlcmVkOjpkZXRhaWw6OmNvbnN0cnVjdF92YWx1ZV9pbXBsKAorICAgICAgICAgICAgICAgIGFsbG9jXywgbm9kZV8tPnZhbHVlX3B0cigpLAorICAgICAgICAgICAgICAgIEJPT1NUX1VOT1JERVJFRF9FTVBMQUNFX0FSR1MxKG5kbmJvb3N0Ojpmb3J3YXJkPEEwPihhMCkpKTsKKyAgICAgICAgICAgIHZhbHVlX2NvbnN0cnVjdGVkXyA9IHRydWU7CisgICAgICAgIH0KKworICAgICAgICB2YWx1ZV90eXBlIGNvbnN0JiB2YWx1ZSgpIGNvbnN0IHsKKyAgICAgICAgICAgIEJPT1NUX0FTU0VSVChub2RlXyAmJiBub2RlX2NvbnN0cnVjdGVkXyAmJiB2YWx1ZV9jb25zdHJ1Y3RlZF8pOworICAgICAgICAgICAgcmV0dXJuIG5vZGVfLT52YWx1ZSgpOworICAgICAgICB9CisKKyAgICAgICAgLy8gbm8gdGhyb3cKKyAgICAgICAgbm9kZV9wb2ludGVyIHJlbGVhc2UoKQorICAgICAgICB7CisgICAgICAgICAgICBCT09TVF9BU1NFUlQobm9kZV8gJiYgbm9kZV9jb25zdHJ1Y3RlZF8pOworICAgICAgICAgICAgbm9kZV9wb2ludGVyIHAgPSBub2RlXzsKKyAgICAgICAgICAgIG5vZGVfID0gbm9kZV9wb2ludGVyKCk7CisgICAgICAgICAgICByZXR1cm4gcDsKKyAgICAgICAgfQorCisgICAgcHJpdmF0ZToKKyAgICAgICAgbm9kZV9jb25zdHJ1Y3Rvcihub2RlX2NvbnN0cnVjdG9yIGNvbnN0Jik7CisgICAgICAgIG5vZGVfY29uc3RydWN0b3ImIG9wZXJhdG9yPShub2RlX2NvbnN0cnVjdG9yIGNvbnN0Jik7CisgICAgfTsKKworICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBBbGxvYz4KKyAgICBub2RlX2NvbnN0cnVjdG9yPEFsbG9jPjo6fm5vZGVfY29uc3RydWN0b3IoKQorICAgIHsKKyAgICAgICAgaWYgKG5vZGVfKSB7CisgICAgICAgICAgICBpZiAodmFsdWVfY29uc3RydWN0ZWRfKSB7CisgICAgICAgICAgICAgICAgbmRuYm9vc3Q6OnVub3JkZXJlZDo6ZGV0YWlsOjpkZXN0cm95X3ZhbHVlX2ltcGwoYWxsb2NfLAorICAgICAgICAgICAgICAgICAgICBub2RlXy0+dmFsdWVfcHRyKCkpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBpZiAobm9kZV9jb25zdHJ1Y3RlZF8pIHsKKyAgICAgICAgICAgICAgICBub2RlX2FsbG9jYXRvcl90cmFpdHM6OmRlc3Ryb3koYWxsb2NfLAorICAgICAgICAgICAgICAgICAgICBuZG5ib29zdDo6YWRkcmVzc29mKCpub2RlXykpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBub2RlX2FsbG9jYXRvcl90cmFpdHM6OmRlYWxsb2NhdGUoYWxsb2NfLCBub2RlXywgMSk7CisgICAgICAgIH0KKyAgICB9CisKKyAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgQWxsb2M+CisgICAgdm9pZCBub2RlX2NvbnN0cnVjdG9yPEFsbG9jPjo6Y29uc3RydWN0KCkKKyAgICB7CisgICAgICAgIGlmKCFub2RlXykgeworICAgICAgICAgICAgbm9kZV9jb25zdHJ1Y3RlZF8gPSBmYWxzZTsKKyAgICAgICAgICAgIHZhbHVlX2NvbnN0cnVjdGVkXyA9IGZhbHNlOworCisgICAgICAgICAgICBub2RlXyA9IG5vZGVfYWxsb2NhdG9yX3RyYWl0czo6YWxsb2NhdGUoYWxsb2NfLCAxKTsKKworICAgICAgICAgICAgbm9kZV9hbGxvY2F0b3JfdHJhaXRzOjpjb25zdHJ1Y3QoYWxsb2NfLAorICAgICAgICAgICAgICAgIG5kbmJvb3N0OjphZGRyZXNzb2YoKm5vZGVfKSwgbm9kZSgpKTsKKyAgICAgICAgICAgIG5vZGVfLT5pbml0KG5vZGVfKTsKKyAgICAgICAgICAgIG5vZGVfY29uc3RydWN0ZWRfID0gdHJ1ZTsKKyAgICAgICAgfQorICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgIEJPT1NUX0FTU0VSVChub2RlX2NvbnN0cnVjdGVkXyk7CisKKyAgICAgICAgICAgIGlmICh2YWx1ZV9jb25zdHJ1Y3RlZF8pCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgbmRuYm9vc3Q6OnVub3JkZXJlZDo6ZGV0YWlsOjpkZXN0cm95X3ZhbHVlX2ltcGwoYWxsb2NfLAorICAgICAgICAgICAgICAgICAgICBub2RlXy0+dmFsdWVfcHRyKCkpOworICAgICAgICAgICAgICAgIHZhbHVlX2NvbnN0cnVjdGVkXyA9IGZhbHNlOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQorCisgICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworICAgIC8vCisgICAgLy8gTm9kZSBIb2xkZXIKKyAgICAvLworICAgIC8vIFRlbXBvcmFyeSBzdG9yZSBmb3Igbm9kZXMuIERlbGV0ZXMgYW55IHRoYXQgYXJlbid0IHVzZWQuCisKKyAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgTm9kZUFsbG9jPgorICAgIHN0cnVjdCBub2RlX2hvbGRlciA6IHByaXZhdGUgbm9kZV9jb25zdHJ1Y3RvcjxOb2RlQWxsb2M+CisgICAgeworICAgIHByaXZhdGU6CisgICAgICAgIHR5cGVkZWYgbm9kZV9jb25zdHJ1Y3RvcjxOb2RlQWxsb2M+IGJhc2U7CisKKyAgICAgICAgdHlwZWRlZiBOb2RlQWxsb2Mgbm9kZV9hbGxvY2F0b3I7CisgICAgICAgIHR5cGVkZWYgbmRuYm9vc3Q6OnVub3JkZXJlZDo6ZGV0YWlsOjphbGxvY2F0b3JfdHJhaXRzPE5vZGVBbGxvYz4KKyAgICAgICAgICAgIG5vZGVfYWxsb2NhdG9yX3RyYWl0czsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBub2RlX2FsbG9jYXRvcl90cmFpdHM6OnZhbHVlX3R5cGUgbm9kZTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBub2RlX2FsbG9jYXRvcl90cmFpdHM6OnBvaW50ZXIgbm9kZV9wb2ludGVyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG5vZGU6OnZhbHVlX3R5cGUgdmFsdWVfdHlwZTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBub2RlOjpsaW5rX3BvaW50ZXIgbGlua19wb2ludGVyOworICAgICAgICB0eXBlZGVmIG5kbmJvb3N0Ojp1bm9yZGVyZWQ6Oml0ZXJhdG9yX2RldGFpbDo6aXRlcmF0b3I8bm9kZT4gaXRlcmF0b3I7CisKKyAgICAgICAgbm9kZV9wb2ludGVyIG5vZGVzXzsKKworICAgIHB1YmxpYzoKKworICAgICAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVGFibGU+CisgICAgICAgIGV4cGxpY2l0IG5vZGVfaG9sZGVyKFRhYmxlJiBiKSA6CisgICAgICAgICAgICBiYXNlKGIubm9kZV9hbGxvYygpKSwKKyAgICAgICAgICAgIG5vZGVzXygpCisgICAgICAgIHsKKyAgICAgICAgICAgIGlmIChiLnNpemVfKSB7CisgICAgICAgICAgICAgICAgdHlwZW5hbWUgVGFibGU6OmxpbmtfcG9pbnRlciBwcmV2ID0gYi5nZXRfcHJldmlvdXNfc3RhcnQoKTsKKyAgICAgICAgICAgICAgICBub2Rlc18gPSBzdGF0aWNfY2FzdDxub2RlX3BvaW50ZXI+KHByZXYtPm5leHRfKTsKKyAgICAgICAgICAgICAgICBwcmV2LT5uZXh0XyA9IGxpbmtfcG9pbnRlcigpOworICAgICAgICAgICAgICAgIGIuc2l6ZV8gPSAwOworICAgICAgICAgICAgfQorICAgICAgICB9CisKKyAgICAgICAgfm5vZGVfaG9sZGVyKCk7CisKKyAgICAgICAgdm9pZCBub2RlX2Zvcl9hc3NpZ25tZW50KCkKKyAgICAgICAgeworICAgICAgICAgICAgaWYgKCF0aGlzLT5ub2RlXyAmJiBub2Rlc18pIHsKKyAgICAgICAgICAgICAgICB0aGlzLT5ub2RlXyA9IG5vZGVzXzsKKyAgICAgICAgICAgICAgICBub2Rlc18gPSBzdGF0aWNfY2FzdDxub2RlX3BvaW50ZXI+KG5vZGVzXy0+bmV4dF8pOworICAgICAgICAgICAgICAgIHRoaXMtPm5vZGVfLT5pbml0KHRoaXMtPm5vZGVfKTsKKyAgICAgICAgICAgICAgICB0aGlzLT5ub2RlXy0+bmV4dF8gPSBsaW5rX3BvaW50ZXIoKTsKKworICAgICAgICAgICAgICAgIHRoaXMtPm5vZGVfY29uc3RydWN0ZWRfID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICB0aGlzLT52YWx1ZV9jb25zdHJ1Y3RlZF8gPSB0cnVlOworICAgICAgICAgICAgfQorICAgICAgICB9CisKKyAgICAgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFQ+CisgICAgICAgIGlubGluZSB2b2lkIGFzc2lnbl9pbXBsKFQgY29uc3QmIHYpIHsKKyAgICAgICAgICAgIGlmICh0aGlzLT5ub2RlXyAmJiB0aGlzLT52YWx1ZV9jb25zdHJ1Y3RlZF8pIHsKKyAgICAgICAgICAgICAgICB0aGlzLT5ub2RlXy0+dmFsdWUoKSA9IHY7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgICAgICB0aGlzLT5jb25zdHJ1Y3Rfd2l0aF92YWx1ZTIodik7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKworICAgICAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyPgorICAgICAgICBpbmxpbmUgdm9pZCBhc3NpZ25faW1wbChzdGQ6OnBhaXI8VDEgY29uc3QsIFQyPiBjb25zdCYgdikgeworICAgICAgICAgICAgdGhpcy0+Y29uc3RydWN0X3dpdGhfdmFsdWUyKHYpOworICAgICAgICB9CisKKyAgICAgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFQ+CisgICAgICAgIGlubGluZSB2b2lkIG1vdmVfYXNzaWduX2ltcGwoVCYgdikgeworICAgICAgICAgICAgaWYgKHRoaXMtPm5vZGVfICYmIHRoaXMtPnZhbHVlX2NvbnN0cnVjdGVkXykgeworICAgICAgICAgICAgICAgIHRoaXMtPm5vZGVfLT52YWx1ZSgpID0gbmRuYm9vc3Q6Om1vdmUodik7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgICAgICB0aGlzLT5jb25zdHJ1Y3Rfd2l0aF92YWx1ZTIobmRuYm9vc3Q6Om1vdmUodikpOworICAgICAgICAgICAgfQorICAgICAgICB9CisKKyAgICAgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMj4KKyAgICAgICAgaW5saW5lIHZvaWQgbW92ZV9hc3NpZ25faW1wbChzdGQ6OnBhaXI8VDEgY29uc3QsIFQyPiYgdikgeworICAgICAgICAgICAgdGhpcy0+Y29uc3RydWN0X3dpdGhfdmFsdWUyKG5kbmJvb3N0Ojptb3ZlKHYpKTsKKyAgICAgICAgfQorCisgICAgICAgIG5vZGVfcG9pbnRlciBjb3B5X29mKHZhbHVlX3R5cGUgY29uc3QmIHYpCisgICAgICAgIHsKKyAgICAgICAgICAgIG5vZGVfZm9yX2Fzc2lnbm1lbnQoKTsKKyAgICAgICAgICAgIGFzc2lnbl9pbXBsKHYpOworICAgICAgICAgICAgcmV0dXJuIGJhc2U6OnJlbGVhc2UoKTsKKyAgICAgICAgfQorCisgICAgICAgIG5vZGVfcG9pbnRlciBtb3ZlX2NvcHlfb2YodmFsdWVfdHlwZSYgdikKKyAgICAgICAgeworICAgICAgICAgICAgbm9kZV9mb3JfYXNzaWdubWVudCgpOworICAgICAgICAgICAgbW92ZV9hc3NpZ25faW1wbCh2KTsKKyAgICAgICAgICAgIHJldHVybiBiYXNlOjpyZWxlYXNlKCk7CisgICAgICAgIH0KKworICAgICAgICBpdGVyYXRvciBiZWdpbigpIGNvbnN0CisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiBpdGVyYXRvcihub2Rlc18pOworICAgICAgICB9CisgICAgfTsKKworICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBBbGxvYz4KKyAgICBub2RlX2hvbGRlcjxBbGxvYz46On5ub2RlX2hvbGRlcigpCisgICAgeworICAgICAgICB3aGlsZSAobm9kZXNfKSB7CisgICAgICAgICAgICBub2RlX3BvaW50ZXIgcCA9IG5vZGVzXzsKKyAgICAgICAgICAgIG5vZGVzXyA9IHN0YXRpY19jYXN0PG5vZGVfcG9pbnRlcj4ocC0+bmV4dF8pOworCisgICAgICAgICAgICBuZG5ib29zdDo6dW5vcmRlcmVkOjpkZXRhaWw6OmRlc3Ryb3lfdmFsdWVfaW1wbCh0aGlzLT5hbGxvY18sCisgICAgICAgICAgICAgICAgcC0+dmFsdWVfcHRyKCkpOworICAgICAgICAgICAgbm9kZV9hbGxvY2F0b3JfdHJhaXRzOjpkZXN0cm95KHRoaXMtPmFsbG9jXywgbmRuYm9vc3Q6OmFkZHJlc3NvZigqcCkpOworICAgICAgICAgICAgbm9kZV9hbGxvY2F0b3JfdHJhaXRzOjpkZWFsbG9jYXRlKHRoaXMtPmFsbG9jXywgcCwgMSk7CisgICAgICAgIH0KKyAgICB9CisKKyAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCisgICAgLy8KKyAgICAvLyBCdWNrZXQKKworICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBOb2RlUG9pbnRlcj4KKyAgICBzdHJ1Y3QgYnVja2V0CisgICAgeworICAgICAgICB0eXBlZGVmIE5vZGVQb2ludGVyIGxpbmtfcG9pbnRlcjsKKyAgICAgICAgbGlua19wb2ludGVyIG5leHRfOworCisgICAgICAgIGJ1Y2tldCgpIDogbmV4dF8oKSB7fQorCisgICAgICAgIGxpbmtfcG9pbnRlciBmaXJzdF9mcm9tX3N0YXJ0KCkKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJuIG5leHRfOworICAgICAgICB9CisKKyAgICAgICAgZW51bSB7IGV4dHJhX25vZGUgPSB0cnVlIH07CisgICAgfTsKKworICAgIHN0cnVjdCBwdHJfYnVja2V0CisgICAgeworICAgICAgICB0eXBlZGVmIHB0cl9idWNrZXQqIGxpbmtfcG9pbnRlcjsKKyAgICAgICAgbGlua19wb2ludGVyIG5leHRfOworCisgICAgICAgIHB0cl9idWNrZXQoKSA6IG5leHRfKDApIHt9CisKKyAgICAgICAgbGlua19wb2ludGVyIGZpcnN0X2Zyb21fc3RhcnQoKQorICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4gdGhpczsKKyAgICAgICAgfQorCisgICAgICAgIGVudW0geyBleHRyYV9ub2RlID0gZmFsc2UgfTsKKyAgICB9OworCisgICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworICAgIC8vCisgICAgLy8gSGFzaCBQb2xpY3kKKworICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBTaXplVD4KKyAgICBzdHJ1Y3QgcHJpbWVfcG9saWN5CisgICAgeworICAgICAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgSGFzaCwgdHlwZW5hbWUgVD4KKyAgICAgICAgc3RhdGljIGlubGluZSBTaXplVCBhcHBseV9oYXNoKEhhc2ggY29uc3QmIGhmLCBUIGNvbnN0JiB4KSB7CisgICAgICAgICAgICByZXR1cm4gaGYoeCk7CisgICAgICAgIH0KKworICAgICAgICBzdGF0aWMgaW5saW5lIFNpemVUIHRvX2J1Y2tldChTaXplVCBidWNrZXRfY291bnQsIFNpemVUIGhhc2gpIHsKKyAgICAgICAgICAgIHJldHVybiBoYXNoICUgYnVja2V0X2NvdW50OworICAgICAgICB9CisKKyAgICAgICAgc3RhdGljIGlubGluZSBTaXplVCBuZXdfYnVja2V0X2NvdW50KFNpemVUIG1pbikgeworICAgICAgICAgICAgcmV0dXJuIG5kbmJvb3N0Ojp1bm9yZGVyZWQ6OmRldGFpbDo6bmV4dF9wcmltZShtaW4pOworICAgICAgICB9CisKKyAgICAgICAgc3RhdGljIGlubGluZSBTaXplVCBwcmV2X2J1Y2tldF9jb3VudChTaXplVCBtYXgpIHsKKyAgICAgICAgICAgIHJldHVybiBuZG5ib29zdDo6dW5vcmRlcmVkOjpkZXRhaWw6OnByZXZfcHJpbWUobWF4KTsKKyAgICAgICAgfQorICAgIH07CisKKyAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgU2l6ZVQ+CisgICAgc3RydWN0IG1peDY0X3BvbGljeQorICAgIHsKKyAgICAgICAgdGVtcGxhdGUgPHR5cGVuYW1lIEhhc2gsIHR5cGVuYW1lIFQ+CisgICAgICAgIHN0YXRpYyBpbmxpbmUgU2l6ZVQgYXBwbHlfaGFzaChIYXNoIGNvbnN0JiBoZiwgVCBjb25zdCYgeCkgeworICAgICAgICAgICAgU2l6ZVQga2V5ID0gaGYoeCk7CisgICAgICAgICAgICBrZXkgPSAofmtleSkgKyAoa2V5IDw8IDIxKTsgLy8ga2V5ID0gKGtleSA8PCAyMSkgLSBrZXkgLSAxOworICAgICAgICAgICAga2V5ID0ga2V5IF4gKGtleSA+PiAyNCk7CisgICAgICAgICAgICBrZXkgPSAoa2V5ICsgKGtleSA8PCAzKSkgKyAoa2V5IDw8IDgpOyAvLyBrZXkgKiAyNjUKKyAgICAgICAgICAgIGtleSA9IGtleSBeIChrZXkgPj4gMTQpOworICAgICAgICAgICAga2V5ID0gKGtleSArIChrZXkgPDwgMikpICsgKGtleSA8PCA0KTsgLy8ga2V5ICogMjEKKyAgICAgICAgICAgIGtleSA9IGtleSBeIChrZXkgPj4gMjgpOworICAgICAgICAgICAga2V5ID0ga2V5ICsgKGtleSA8PCAzMSk7CisgICAgICAgICAgICByZXR1cm4ga2V5OworICAgICAgICB9CisKKyAgICAgICAgc3RhdGljIGlubGluZSBTaXplVCB0b19idWNrZXQoU2l6ZVQgYnVja2V0X2NvdW50LCBTaXplVCBoYXNoKSB7CisgICAgICAgICAgICByZXR1cm4gaGFzaCAmIChidWNrZXRfY291bnQgLSAxKTsKKyAgICAgICAgfQorCisgICAgICAgIHN0YXRpYyBpbmxpbmUgU2l6ZVQgbmV3X2J1Y2tldF9jb3VudChTaXplVCBtaW4pIHsKKyAgICAgICAgICAgIGlmIChtaW4gPD0gNCkgcmV0dXJuIDQ7CisgICAgICAgICAgICAtLW1pbjsKKyAgICAgICAgICAgIG1pbiB8PSBtaW4gPj4gMTsKKyAgICAgICAgICAgIG1pbiB8PSBtaW4gPj4gMjsKKyAgICAgICAgICAgIG1pbiB8PSBtaW4gPj4gNDsKKyAgICAgICAgICAgIG1pbiB8PSBtaW4gPj4gODsKKyAgICAgICAgICAgIG1pbiB8PSBtaW4gPj4gMTY7CisgICAgICAgICAgICBtaW4gfD0gbWluID4+IDMyOworICAgICAgICAgICAgcmV0dXJuIG1pbiArIDE7CisgICAgICAgIH0KKworICAgICAgICBzdGF0aWMgaW5saW5lIFNpemVUIHByZXZfYnVja2V0X2NvdW50KFNpemVUIG1heCkgeworICAgICAgICAgICAgbWF4IHw9IG1heCA+PiAxOworICAgICAgICAgICAgbWF4IHw9IG1heCA+PiAyOworICAgICAgICAgICAgbWF4IHw9IG1heCA+PiA0OworICAgICAgICAgICAgbWF4IHw9IG1heCA+PiA4OworICAgICAgICAgICAgbWF4IHw9IG1heCA+PiAxNjsKKyAgICAgICAgICAgIG1heCB8PSBtYXggPj4gMzI7CisgICAgICAgICAgICByZXR1cm4gKG1heCA+PiAxKSArIDE7CisgICAgICAgIH0KKyAgICB9OworCisgICAgdGVtcGxhdGUgPGludCBkaWdpdHMsIGludCByYWRpeD4KKyAgICBzdHJ1Y3QgcGlja19wb2xpY3lfaW1wbCB7CisgICAgICAgIHR5cGVkZWYgcHJpbWVfcG9saWN5PHN0ZDo6c2l6ZV90PiB0eXBlOworICAgIH07CisKKyAgICB0ZW1wbGF0ZSA8PgorICAgIHN0cnVjdCBwaWNrX3BvbGljeV9pbXBsPDY0LCAyPiB7CisgICAgICAgIHR5cGVkZWYgbWl4NjRfcG9saWN5PHN0ZDo6c2l6ZV90PiB0eXBlOworICAgIH07CisKKyAgICBzdHJ1Y3QgcGlja19wb2xpY3kgOgorICAgICAgICBwaWNrX3BvbGljeV9pbXBsPAorICAgICAgICAgICAgc3RkOjpudW1lcmljX2xpbWl0czxzdGQ6OnNpemVfdD46OmRpZ2l0cywKKyAgICAgICAgICAgIHN0ZDo6bnVtZXJpY19saW1pdHM8c3RkOjpzaXplX3Q+OjpyYWRpeD4ge307CisKKyAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCisgICAgLy8gRnVuY3Rpb25zCisKKyAgICAvLyBBc3NpZ25pbmcgYW5kIHN3YXBwaW5nIHRoZSBlcXVhbGl0eSBhbmQgaGFzaCBmdW5jdGlvbiBvYmplY3RzCisgICAgLy8gbmVlZHMgc3Ryb25nIGV4Y2VwdGlvbiBzYWZldHkuIFRvIGltcGxlbWVudCB0aGF0IG5vcm1hbGx5IHdlJ2QKKyAgICAvLyByZXF1aXJlIG9uZSBvZiB0aGVtIHRvIGJlIGtub3duIHRvIG5vdCB0aHJvdyBhbmQgdGhlIG90aGVyIHRvCisgICAgLy8gZ3VhcmFudGVlIHN0cm9uZyBleGNlcHRpb24gc2FmZXR5LiBVbmZvcnR1bmF0ZWx5IHRoZXkgYm90aCBvbmx5CisgICAgLy8gaGF2ZSBiYXNpYyBleGNlcHRpb24gc2FmZXR5LiBTbyB0byBhY2hlaXZlIHN0cm9uZyBleGNlcHRpb24KKyAgICAvLyBzYWZldHkgd2UgaGF2ZSBzdG9yYWdlIHNwYWNlIGZvciB0d28gY29waWVzLCBhbmQgYXNzaWduIHRoZSBuZXcKKyAgICAvLyBjb3BpZXMgdG8gdGhlIHVudXNlZCBzcGFjZS4gVGhlbiBzd2l0Y2ggdG8gdXNpbmcgdGhhdCB0byB1c2UKKyAgICAvLyB0aGVtLiBUaGlzIGlzIGltcGxlbWVudGVkIGluICdzZXRfaGFzaF9mdW5jdGlvbnMnIHdoaWNoCisgICAgLy8gYXRvbWljYWxseSBhc3NpZ25zIHRoZSBuZXcgZnVuY3Rpb24gb2JqZWN0cyBpbiBhIHN0cm9uZ2x5CisgICAgLy8gZXhjZXB0aW9uIHNhZmUgbWFubmVyLgorCisgICAgdGVtcGxhdGUgPGNsYXNzIEgsIGNsYXNzIFAsIGJvb2wgTm9UaHJvd01vdmVBc3NpZ24+CisgICAgY2xhc3Mgc2V0X2hhc2hfZnVuY3Rpb25zOworCisgICAgdGVtcGxhdGUgPGNsYXNzIEgsIGNsYXNzIFA+CisgICAgY2xhc3MgZnVuY3Rpb25zCisgICAgeworICAgIHB1YmxpYzoKKyAgICAgICAgc3RhdGljIGNvbnN0IGJvb2wgbm90aHJvd19tb3ZlX2Fzc2lnbmFibGUgPQorICAgICAgICAgICAgICAgIG5kbmJvb3N0Ojppc19ub3Rocm93X21vdmVfYXNzaWduYWJsZTxIPjo6dmFsdWUgJiYKKyAgICAgICAgICAgICAgICBuZG5ib29zdDo6aXNfbm90aHJvd19tb3ZlX2Fzc2lnbmFibGU8UD46OnZhbHVlOworICAgICAgICBzdGF0aWMgY29uc3QgYm9vbCBub3Rocm93X21vdmVfY29uc3RydWN0aWJsZSA9CisgICAgICAgICAgICAgICAgbmRuYm9vc3Q6OmlzX25vdGhyb3dfbW92ZV9jb25zdHJ1Y3RpYmxlPEg+Ojp2YWx1ZSAmJgorICAgICAgICAgICAgICAgIG5kbmJvb3N0Ojppc19ub3Rocm93X21vdmVfY29uc3RydWN0aWJsZTxQPjo6dmFsdWU7CisKKyAgICBwcml2YXRlOgorICAgICAgICBmcmllbmQgY2xhc3MgbmRuYm9vc3Q6OnVub3JkZXJlZDo6ZGV0YWlsOjpzZXRfaGFzaF9mdW5jdGlvbnM8SCwgUCwKKyAgICAgICAgICAgICAgIG5vdGhyb3dfbW92ZV9hc3NpZ25hYmxlPjsKKyAgICAgICAgZnVuY3Rpb25zJiBvcGVyYXRvcj0oZnVuY3Rpb25zIGNvbnN0Jik7CisKKyAgICAgICAgdHlwZWRlZiBjb21wcmVzc2VkPEgsIFA+IGZ1bmN0aW9uX3BhaXI7CisKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBuZG5ib29zdDo6YWxpZ25lZF9zdG9yYWdlPAorICAgICAgICAgICAgc2l6ZW9mKGZ1bmN0aW9uX3BhaXIpLAorICAgICAgICAgICAgbmRuYm9vc3Q6OmFsaWdubWVudF9vZjxmdW5jdGlvbl9wYWlyPjo6dmFsdWU+Ojp0eXBlIGFsaWduZWRfZnVuY3Rpb247CisKKyAgICAgICAgYm9vbCBjdXJyZW50XzsgLy8gVGhlIGN1cnJlbnRseSBhY3RpdmUgZnVuY3Rpb25zLgorICAgICAgICBhbGlnbmVkX2Z1bmN0aW9uIGZ1bmNzX1syXTsKKworICAgICAgICBmdW5jdGlvbl9wYWlyIGNvbnN0JiBjdXJyZW50KCkgY29uc3QgeworICAgICAgICAgICAgcmV0dXJuICpzdGF0aWNfY2FzdDxmdW5jdGlvbl9wYWlyIGNvbnN0Kj4oCisgICAgICAgICAgICAgICAgc3RhdGljX2Nhc3Q8dm9pZCBjb25zdCo+KCZmdW5jc19bY3VycmVudF9dKSk7CisgICAgICAgIH0KKworICAgICAgICBmdW5jdGlvbl9wYWlyJiBjdXJyZW50KCkgeworICAgICAgICAgICAgcmV0dXJuICpzdGF0aWNfY2FzdDxmdW5jdGlvbl9wYWlyKj4oCisgICAgICAgICAgICAgICAgc3RhdGljX2Nhc3Q8dm9pZCo+KCZmdW5jc19bY3VycmVudF9dKSk7CisgICAgICAgIH0KKworICAgICAgICB2b2lkIGNvbnN0cnVjdChib29sIHdoaWNoLCBIIGNvbnN0JiBoZiwgUCBjb25zdCYgZXEpCisgICAgICAgIHsKKyAgICAgICAgICAgIG5ldygodm9pZCopICZmdW5jc19bd2hpY2hdKSBmdW5jdGlvbl9wYWlyKGhmLCBlcSk7CisgICAgICAgIH0KKworICAgICAgICB2b2lkIGNvbnN0cnVjdChib29sIHdoaWNoLCBmdW5jdGlvbl9wYWlyIGNvbnN0JiBmKQorICAgICAgICB7CisgICAgICAgICAgICBuZXcoKHZvaWQqKSAmZnVuY3NfW3doaWNoXSkgZnVuY3Rpb25fcGFpcihmKTsKKyAgICAgICAgfQorICAgICAgICAKKyAgICAgICAgdm9pZCBjb25zdHJ1Y3QoYm9vbCB3aGljaCwgZnVuY3Rpb25fcGFpciYgZiwKKyAgICAgICAgICAgICAgICBuZG5ib29zdDo6dW5vcmRlcmVkOjpkZXRhaWw6Om1vdmVfdGFnIG0pCisgICAgICAgIHsKKyAgICAgICAgICAgIG5ldygodm9pZCopICZmdW5jc19bd2hpY2hdKSBmdW5jdGlvbl9wYWlyKGYsIG0pOworICAgICAgICB9CisKKyAgICAgICAgdm9pZCBkZXN0cm95KGJvb2wgd2hpY2gpCisgICAgICAgIHsKKyAgICAgICAgICAgIG5kbmJvb3N0Ojp1bm9yZGVyZWQ6OmRldGFpbDo6ZGVzdHJveSgoZnVuY3Rpb25fcGFpciopKCZmdW5jc19bd2hpY2hdKSk7CisgICAgICAgIH0KKyAgICAgICAgCisgICAgcHVibGljOgorCisgICAgICAgIHR5cGVkZWYgbmRuYm9vc3Q6OnVub3JkZXJlZDo6ZGV0YWlsOjpzZXRfaGFzaF9mdW5jdGlvbnM8SCwgUCwKKyAgICAgICAgICAgICAgICBub3Rocm93X21vdmVfYXNzaWduYWJsZT4gc2V0X2hhc2hfZnVuY3Rpb25zOworCisgICAgICAgIGZ1bmN0aW9ucyhIIGNvbnN0JiBoZiwgUCBjb25zdCYgZXEpCisgICAgICAgICAgICA6IGN1cnJlbnRfKGZhbHNlKQorICAgICAgICB7CisgICAgICAgICAgICBjb25zdHJ1Y3QoY3VycmVudF8sIGhmLCBlcSk7CisgICAgICAgIH0KKworICAgICAgICBmdW5jdGlvbnMoZnVuY3Rpb25zIGNvbnN0JiBiZikKKyAgICAgICAgICAgIDogY3VycmVudF8oZmFsc2UpCisgICAgICAgIHsKKyAgICAgICAgICAgIGNvbnN0cnVjdChjdXJyZW50XywgYmYuY3VycmVudCgpKTsKKyAgICAgICAgfQorCisgICAgICAgIGZ1bmN0aW9ucyhmdW5jdGlvbnMmIGJmLCBuZG5ib29zdDo6dW5vcmRlcmVkOjpkZXRhaWw6Om1vdmVfdGFnIG0pCisgICAgICAgICAgICA6IGN1cnJlbnRfKGZhbHNlKQorICAgICAgICB7CisgICAgICAgICAgICBpZiAobm90aHJvd19tb3ZlX2NvbnN0cnVjdGlibGUpIHsKKyAgICAgICAgICAgICAgICBjb25zdHJ1Y3QoY3VycmVudF8sIGJmLmN1cnJlbnQoKSwgbSk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgICAgICBjb25zdHJ1Y3QoY3VycmVudF8sIGJmLmN1cnJlbnQoKSk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKworICAgICAgICB+ZnVuY3Rpb25zKCkgeworICAgICAgICAgICAgdGhpcy0+ZGVzdHJveShjdXJyZW50Xyk7CisgICAgICAgIH0KKworICAgICAgICBIIGNvbnN0JiBoYXNoX2Z1bmN0aW9uKCkgY29uc3QgeworICAgICAgICAgICAgcmV0dXJuIGN1cnJlbnQoKS5maXJzdCgpOworICAgICAgICB9CisKKyAgICAgICAgUCBjb25zdCYga2V5X2VxKCkgY29uc3QgeworICAgICAgICAgICAgcmV0dXJuIGN1cnJlbnQoKS5zZWNvbmQoKTsKKyAgICAgICAgfQorICAgIH07CisKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgSCwgY2xhc3MgUD4KKyAgICBjbGFzcyBzZXRfaGFzaF9mdW5jdGlvbnM8SCwgUCwgZmFsc2U+CisgICAgeworICAgICAgICBzZXRfaGFzaF9mdW5jdGlvbnMoc2V0X2hhc2hfZnVuY3Rpb25zIGNvbnN0Jik7CisgICAgICAgIHNldF9oYXNoX2Z1bmN0aW9ucyYgb3BlcmF0b3I9KHNldF9oYXNoX2Z1bmN0aW9ucyBjb25zdCYpOworCisgICAgICAgIHR5cGVkZWYgZnVuY3Rpb25zPEgsIFA+IGZ1bmN0aW9uc190eXBlOworICAgIAorICAgICAgICBmdW5jdGlvbnNfdHlwZSYgZnVuY3Rpb25zXzsKKyAgICAgICAgYm9vbCB0bXBfZnVuY3Rpb25zXzsKKworICAgIHB1YmxpYzoKKworICAgICAgICBzZXRfaGFzaF9mdW5jdGlvbnMoZnVuY3Rpb25zX3R5cGUmIGYsIEggY29uc3QmIGgsIFAgY29uc3QmIHApCisgICAgICAgICAgOiBmdW5jdGlvbnNfKGYpLAorICAgICAgICAgICAgdG1wX2Z1bmN0aW9uc18oIWYuY3VycmVudF8pCisgICAgICAgIHsKKyAgICAgICAgICAgIGYuY29uc3RydWN0KHRtcF9mdW5jdGlvbnNfLCBoLCBwKTsKKyAgICAgICAgfQorCisgICAgICAgIHNldF9oYXNoX2Z1bmN0aW9ucyhmdW5jdGlvbnNfdHlwZSYgZiwgZnVuY3Rpb25zX3R5cGUgY29uc3QmIG90aGVyKQorICAgICAgICAgIDogZnVuY3Rpb25zXyhmKSwKKyAgICAgICAgICAgIHRtcF9mdW5jdGlvbnNfKCFmLmN1cnJlbnRfKQorICAgICAgICB7CisgICAgICAgICAgICBmLmNvbnN0cnVjdCh0bXBfZnVuY3Rpb25zXywgb3RoZXIuY3VycmVudCgpKTsKKyAgICAgICAgfQorCisgICAgICAgIH5zZXRfaGFzaF9mdW5jdGlvbnMoKQorICAgICAgICB7CisgICAgICAgICAgICBmdW5jdGlvbnNfLmRlc3Ryb3kodG1wX2Z1bmN0aW9uc18pOworICAgICAgICB9CisKKyAgICAgICAgdm9pZCBjb21taXQoKQorICAgICAgICB7CisgICAgICAgICAgICBmdW5jdGlvbnNfLmN1cnJlbnRfID0gdG1wX2Z1bmN0aW9uc187CisgICAgICAgICAgICB0bXBfZnVuY3Rpb25zXyA9ICF0bXBfZnVuY3Rpb25zXzsKKyAgICAgICAgfQorICAgIH07CisKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgSCwgY2xhc3MgUD4KKyAgICBjbGFzcyBzZXRfaGFzaF9mdW5jdGlvbnM8SCwgUCwgdHJ1ZT4KKyAgICB7CisgICAgICAgIHNldF9oYXNoX2Z1bmN0aW9ucyhzZXRfaGFzaF9mdW5jdGlvbnMgY29uc3QmKTsKKyAgICAgICAgc2V0X2hhc2hfZnVuY3Rpb25zJiBvcGVyYXRvcj0oc2V0X2hhc2hfZnVuY3Rpb25zIGNvbnN0Jik7CisKKyAgICAgICAgdHlwZWRlZiBmdW5jdGlvbnM8SCwgUD4gZnVuY3Rpb25zX3R5cGU7CisKKyAgICAgICAgZnVuY3Rpb25zX3R5cGUmIGZ1bmN0aW9uc187CisgICAgICAgIEggaGFzaF87CisgICAgICAgIFAgcHJlZF87CisgICAgCisgICAgcHVibGljOgorCisgICAgICAgIHNldF9oYXNoX2Z1bmN0aW9ucyhmdW5jdGlvbnNfdHlwZSYgZiwgSCBjb25zdCYgaCwgUCBjb25zdCYgcCkgOgorICAgICAgICAgICAgZnVuY3Rpb25zXyhmKSwKKyAgICAgICAgICAgIGhhc2hfKGgpLAorICAgICAgICAgICAgcHJlZF8ocCkge30KKworICAgICAgICBzZXRfaGFzaF9mdW5jdGlvbnMoZnVuY3Rpb25zX3R5cGUmIGYsIGZ1bmN0aW9uc190eXBlIGNvbnN0JiBvdGhlcikgOgorICAgICAgICAgICAgZnVuY3Rpb25zXyhmKSwKKyAgICAgICAgICAgIGhhc2hfKG90aGVyLmhhc2hfZnVuY3Rpb24oKSksCisgICAgICAgICAgICBwcmVkXyhvdGhlci5rZXlfZXEoKSkge30KKworICAgICAgICB2b2lkIGNvbW1pdCgpCisgICAgICAgIHsKKyAgICAgICAgICAgIGZ1bmN0aW9uc18uY3VycmVudCgpLmZpcnN0KCkgPSBuZG5ib29zdDo6bW92ZShoYXNoXyk7CisgICAgICAgICAgICBmdW5jdGlvbnNfLmN1cnJlbnQoKS5zZWNvbmQoKSA9IG5kbmJvb3N0Ojptb3ZlKHByZWRfKTsKKyAgICAgICAgfQorICAgIH07CisgICAgCisgICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworICAgIC8vIHJ2YWx1ZSBwYXJhbWV0ZXJzIHdoZW4gdHlwZSBjYW4ndCBiZSBhIEJPT1NUX1JWX1JFRihUKSBwYXJhbWV0ZXIKKyAgICAvLyBlLmcuIGZvciBpbnQKKworI2lmICFkZWZpbmVkKEJPT1NUX05PX0NYWDExX1JWQUxVRV9SRUZFUkVOQ0VTKQorIyAgIGRlZmluZSBCT09TVF9VTk9SREVSRURfUlZfUkVGKFQpIEJPT1NUX1JWX1JFRihUKQorI2Vsc2UKKyAgICBzdHJ1Y3QgcGxlYXNlX2lnbm9yZV90aGlzX292ZXJsb2FkIHsKKyAgICAgICAgdHlwZWRlZiBwbGVhc2VfaWdub3JlX3RoaXNfb3ZlcmxvYWQgdHlwZTsKKyAgICB9OworCisgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFQ+CisgICAgc3RydWN0IHJ2X3JlZl9pbXBsIHsKKyAgICAgICAgdHlwZWRlZiBCT09TVF9SVl9SRUYoVCkgdHlwZTsKKyAgICB9OworCisgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFQ+CisgICAgc3RydWN0IHJ2X3JlZiA6CisgICAgICAgIG5kbmJvb3N0OjpkZXRhaWw6OmlmX3RydWU8CisgICAgICAgICAgICBuZG5ib29zdDo6aXNfY2xhc3M8VD46OnZhbHVlCisgICAgICAgID46OkJPT1NUX05FU1RFRF9URU1QTEFURSB0aGVuIDwKKyAgICAgICAgICAgIG5kbmJvb3N0Ojp1bm9yZGVyZWQ6OmRldGFpbDo6cnZfcmVmX2ltcGw8VD4sCisgICAgICAgICAgICBwbGVhc2VfaWdub3JlX3RoaXNfb3ZlcmxvYWQKKyAgICAgICAgPjo6dHlwZQorICAgIHt9OworCisjICAgZGVmaW5lIEJPT1NUX1VOT1JERVJFRF9SVl9SRUYoVCkgXAorICAgICAgICB0eXBlbmFtZSBuZG5ib29zdDo6dW5vcmRlcmVkOjpkZXRhaWw6OnJ2X3JlZjxUPjo6dHlwZQorI2VuZGlmCit9fX0KKworI2VuZGlmCmRpZmYgLS1naXQgYS9uZG5ib29zdC91bm9yZGVyZWQvZGV0YWlsL2VxdWl2YWxlbnQuaHBwIGIvbmRuYm9vc3QvdW5vcmRlcmVkL2RldGFpbC9lcXVpdmFsZW50LmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MTFmYTBjCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvdW5vcmRlcmVkL2RldGFpbC9lcXVpdmFsZW50LmhwcApAQCAtMCwwICsxLDY4MCBAQAorCisvLyBDb3B5cmlnaHQgKEMpIDIwMDMtMjAwNCBKZXJlbXkgQi4gTWFpdGluLVNoZXBhcmQuCisvLyBDb3B5cmlnaHQgKEMpIDIwMDUtMjAxMSBEYW5pZWwgSmFtZXMKKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gKFNlZSBhY2NvbXBhbnlpbmcKKy8vIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorCisjaWZuZGVmIEJPT1NUX1VOT1JERVJFRF9ERVRBSUxfRVFVSVZBTEVOVF9IUFBfSU5DTFVERUQKKyNkZWZpbmUgQk9PU1RfVU5PUkRFUkVEX0RFVEFJTF9FUVVJVkFMRU5UX0hQUF9JTkNMVURFRAorCisjaWYgZGVmaW5lZChfTVNDX1ZFUikgJiYgKF9NU0NfVkVSID49IDEwMjApCisjIHByYWdtYSBvbmNlCisjZW5kaWYKKworI2luY2x1ZGUgPG5kbmJvb3N0L3Vub3JkZXJlZC9kZXRhaWwvdGFibGUuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3Vub3JkZXJlZC9kZXRhaWwvZXh0cmFjdF9rZXkuaHBwPgorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgdW5vcmRlcmVkIHsgbmFtZXNwYWNlIGRldGFpbCB7CisKKyAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgQSwgdHlwZW5hbWUgVD4gc3RydWN0IGdyb3VwZWRfbm9kZTsKKyAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gc3RydWN0IGdyb3VwZWRfcHRyX25vZGU7CisgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFR5cGVzPiBzdHJ1Y3QgZ3JvdXBlZF90YWJsZV9pbXBsOworCisgICAgdGVtcGxhdGUgPHR5cGVuYW1lIEEsIHR5cGVuYW1lIFQ+CisgICAgc3RydWN0IGdyb3VwZWRfbm9kZSA6CisgICAgICAgIG5kbmJvb3N0Ojp1bm9yZGVyZWQ6OmRldGFpbDo6dmFsdWVfYmFzZTxUPgorICAgIHsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSA6Om5kbmJvb3N0Ojp1bm9yZGVyZWQ6OmRldGFpbDo6cmViaW5kX3dyYXA8CisgICAgICAgICAgICBBLCBncm91cGVkX25vZGU8QSwgVD4gPjo6dHlwZSBhbGxvY2F0b3I7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgOjpuZG5ib29zdDo6dW5vcmRlcmVkOjpkZXRhaWw6OgorICAgICAgICAgICAgYWxsb2NhdG9yX3RyYWl0czxhbGxvY2F0b3I+Ojpwb2ludGVyIG5vZGVfcG9pbnRlcjsKKyAgICAgICAgdHlwZWRlZiBub2RlX3BvaW50ZXIgbGlua19wb2ludGVyOworCisgICAgICAgIGxpbmtfcG9pbnRlciBuZXh0XzsKKyAgICAgICAgbm9kZV9wb2ludGVyIGdyb3VwX3ByZXZfOworICAgICAgICBzdGQ6OnNpemVfdCBoYXNoXzsKKworICAgICAgICBncm91cGVkX25vZGUoKSA6CisgICAgICAgICAgICBuZXh0XygpLAorICAgICAgICAgICAgZ3JvdXBfcHJldl8oKSwKKyAgICAgICAgICAgIGhhc2hfKDApCisgICAgICAgIHt9CisKKyAgICAgICAgdm9pZCBpbml0KG5vZGVfcG9pbnRlciBzZWxmKQorICAgICAgICB7CisgICAgICAgICAgICBncm91cF9wcmV2XyA9IHNlbGY7CisgICAgICAgIH0KKworICAgIHByaXZhdGU6CisgICAgICAgIGdyb3VwZWRfbm9kZSYgb3BlcmF0b3I9KGdyb3VwZWRfbm9kZSBjb25zdCYpOworICAgIH07CisKKyAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KKyAgICBzdHJ1Y3QgZ3JvdXBlZF9wdHJfbm9kZSA6CisgICAgICAgIG5kbmJvb3N0Ojp1bm9yZGVyZWQ6OmRldGFpbDo6dmFsdWVfYmFzZTxUPiwKKyAgICAgICAgbmRuYm9vc3Q6OnVub3JkZXJlZDo6ZGV0YWlsOjpwdHJfYnVja2V0CisgICAgeworICAgICAgICB0eXBlZGVmIG5kbmJvb3N0Ojp1bm9yZGVyZWQ6OmRldGFpbDo6cHRyX2J1Y2tldCBidWNrZXRfYmFzZTsKKyAgICAgICAgdHlwZWRlZiBncm91cGVkX3B0cl9ub2RlPFQ+KiBub2RlX3BvaW50ZXI7CisgICAgICAgIHR5cGVkZWYgcHRyX2J1Y2tldCogbGlua19wb2ludGVyOworCisgICAgICAgIG5vZGVfcG9pbnRlciBncm91cF9wcmV2XzsKKyAgICAgICAgc3RkOjpzaXplX3QgaGFzaF87CisKKyAgICAgICAgZ3JvdXBlZF9wdHJfbm9kZSgpIDoKKyAgICAgICAgICAgIGJ1Y2tldF9iYXNlKCksCisgICAgICAgICAgICBncm91cF9wcmV2XygwKSwKKyAgICAgICAgICAgIGhhc2hfKDApCisgICAgICAgIHt9CisKKyAgICAgICAgdm9pZCBpbml0KG5vZGVfcG9pbnRlciBzZWxmKQorICAgICAgICB7CisgICAgICAgICAgICBncm91cF9wcmV2XyA9IHNlbGY7CisgICAgICAgIH0KKworICAgIHByaXZhdGU6CisgICAgICAgIGdyb3VwZWRfcHRyX25vZGUmIG9wZXJhdG9yPShncm91cGVkX3B0cl9ub2RlIGNvbnN0Jik7CisgICAgfTsKKworICAgIC8vIElmIHRoZSBhbGxvY2F0b3IgdXNlcyByYXcgcG9pbnRlcnMgdXNlIGdyb3VwZWRfcHRyX25vZGUKKyAgICAvLyBPdGhlcndpc2UgdXNlIGdyb3VwZWRfbm9kZS4KKworICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBBLCB0eXBlbmFtZSBULCB0eXBlbmFtZSBOb2RlUHRyLCB0eXBlbmFtZSBCdWNrZXRQdHI+CisgICAgc3RydWN0IHBpY2tfZ3JvdXBlZF9ub2RlMgorICAgIHsKKyAgICAgICAgdHlwZWRlZiBuZG5ib29zdDo6dW5vcmRlcmVkOjpkZXRhaWw6Omdyb3VwZWRfbm9kZTxBLCBUPiBub2RlOworCisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbmRuYm9vc3Q6OnVub3JkZXJlZDo6ZGV0YWlsOjphbGxvY2F0b3JfdHJhaXRzPAorICAgICAgICAgICAgdHlwZW5hbWUgbmRuYm9vc3Q6OnVub3JkZXJlZDo6ZGV0YWlsOjpyZWJpbmRfd3JhcDxBLCBub2RlPjo6dHlwZQorICAgICAgICA+Ojpwb2ludGVyIG5vZGVfcG9pbnRlcjsKKworICAgICAgICB0eXBlZGVmIG5kbmJvb3N0Ojp1bm9yZGVyZWQ6OmRldGFpbDo6YnVja2V0PG5vZGVfcG9pbnRlcj4gYnVja2V0OworICAgICAgICB0eXBlZGVmIG5vZGVfcG9pbnRlciBsaW5rX3BvaW50ZXI7CisgICAgfTsKKworICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBBLCB0eXBlbmFtZSBUPgorICAgIHN0cnVjdCBwaWNrX2dyb3VwZWRfbm9kZTI8QSwgVCwKKyAgICAgICAgbmRuYm9vc3Q6OnVub3JkZXJlZDo6ZGV0YWlsOjpncm91cGVkX3B0cl9ub2RlPFQ+KiwKKyAgICAgICAgbmRuYm9vc3Q6OnVub3JkZXJlZDo6ZGV0YWlsOjpwdHJfYnVja2V0Kj4KKyAgICB7CisgICAgICAgIHR5cGVkZWYgbmRuYm9vc3Q6OnVub3JkZXJlZDo6ZGV0YWlsOjpncm91cGVkX3B0cl9ub2RlPFQ+IG5vZGU7CisgICAgICAgIHR5cGVkZWYgbmRuYm9vc3Q6OnVub3JkZXJlZDo6ZGV0YWlsOjpwdHJfYnVja2V0IGJ1Y2tldDsKKyAgICAgICAgdHlwZWRlZiBidWNrZXQqIGxpbmtfcG9pbnRlcjsKKyAgICB9OworCisgICAgdGVtcGxhdGUgPHR5cGVuYW1lIEEsIHR5cGVuYW1lIFQ+CisgICAgc3RydWN0IHBpY2tfZ3JvdXBlZF9ub2RlCisgICAgeworICAgICAgICB0eXBlZGVmIG5kbmJvb3N0Ojp1bm9yZGVyZWQ6OmRldGFpbDo6YWxsb2NhdG9yX3RyYWl0czwKKyAgICAgICAgICAgIHR5cGVuYW1lIG5kbmJvb3N0Ojp1bm9yZGVyZWQ6OmRldGFpbDo6cmViaW5kX3dyYXA8QSwKKyAgICAgICAgICAgICAgICBuZG5ib29zdDo6dW5vcmRlcmVkOjpkZXRhaWw6Omdyb3VwZWRfcHRyX25vZGU8VD4gPjo6dHlwZQorICAgICAgICA+IHRlbnRhdGl2ZV9ub2RlX3RyYWl0czsKKworICAgICAgICB0eXBlZGVmIG5kbmJvb3N0Ojp1bm9yZGVyZWQ6OmRldGFpbDo6YWxsb2NhdG9yX3RyYWl0czwKKyAgICAgICAgICAgIHR5cGVuYW1lIG5kbmJvb3N0Ojp1bm9yZGVyZWQ6OmRldGFpbDo6cmViaW5kX3dyYXA8QSwKKyAgICAgICAgICAgICAgICBuZG5ib29zdDo6dW5vcmRlcmVkOjpkZXRhaWw6OnB0cl9idWNrZXQgPjo6dHlwZQorICAgICAgICA+IHRlbnRhdGl2ZV9idWNrZXRfdHJhaXRzOworCisgICAgICAgIHR5cGVkZWYgcGlja19ncm91cGVkX25vZGUyPEEsIFQsCisgICAgICAgICAgICB0eXBlbmFtZSB0ZW50YXRpdmVfbm9kZV90cmFpdHM6OnBvaW50ZXIsCisgICAgICAgICAgICB0eXBlbmFtZSB0ZW50YXRpdmVfYnVja2V0X3RyYWl0czo6cG9pbnRlcj4gcGljazsKKworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHBpY2s6Om5vZGUgbm9kZTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBwaWNrOjpidWNrZXQgYnVja2V0OworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHBpY2s6OmxpbmtfcG9pbnRlciBsaW5rX3BvaW50ZXI7CisgICAgfTsKKworICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBBLCB0eXBlbmFtZSBULCB0eXBlbmFtZSBILCB0eXBlbmFtZSBQPgorICAgIHN0cnVjdCBtdWx0aXNldAorICAgIHsKKyAgICAgICAgdHlwZWRlZiBuZG5ib29zdDo6dW5vcmRlcmVkOjpkZXRhaWw6Om11bHRpc2V0PEEsIFQsIEgsIFA+IHR5cGVzOworCisgICAgICAgIHR5cGVkZWYgQSBhbGxvY2F0b3I7CisgICAgICAgIHR5cGVkZWYgVCB2YWx1ZV90eXBlOworICAgICAgICB0eXBlZGVmIEggaGFzaGVyOworICAgICAgICB0eXBlZGVmIFAga2V5X2VxdWFsOworICAgICAgICB0eXBlZGVmIFQga2V5X3R5cGU7CisKKyAgICAgICAgdHlwZWRlZiBuZG5ib29zdDo6dW5vcmRlcmVkOjpkZXRhaWw6OmFsbG9jYXRvcl90cmFpdHM8YWxsb2NhdG9yPiB0cmFpdHM7CisgICAgICAgIHR5cGVkZWYgbmRuYm9vc3Q6OnVub3JkZXJlZDo6ZGV0YWlsOjpwaWNrX2dyb3VwZWRfbm9kZTxhbGxvY2F0b3IsCisgICAgICAgICAgICB2YWx1ZV90eXBlPiBwaWNrOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHBpY2s6Om5vZGUgbm9kZTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBwaWNrOjpidWNrZXQgYnVja2V0OworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHBpY2s6OmxpbmtfcG9pbnRlciBsaW5rX3BvaW50ZXI7CisKKyAgICAgICAgdHlwZWRlZiBuZG5ib29zdDo6dW5vcmRlcmVkOjpkZXRhaWw6Omdyb3VwZWRfdGFibGVfaW1wbDx0eXBlcz4gdGFibGU7CisgICAgICAgIHR5cGVkZWYgbmRuYm9vc3Q6OnVub3JkZXJlZDo6ZGV0YWlsOjpzZXRfZXh0cmFjdG9yPHZhbHVlX3R5cGU+IGV4dHJhY3RvcjsKKworICAgICAgICB0eXBlZGVmIG5kbmJvb3N0Ojp1bm9yZGVyZWQ6OmRldGFpbDo6cGlja19wb2xpY3k6OnR5cGUgcG9saWN5OworICAgIH07CisKKyAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgQSwgdHlwZW5hbWUgSywgdHlwZW5hbWUgTSwgdHlwZW5hbWUgSCwgdHlwZW5hbWUgUD4KKyAgICBzdHJ1Y3QgbXVsdGltYXAKKyAgICB7CisgICAgICAgIHR5cGVkZWYgbmRuYm9vc3Q6OnVub3JkZXJlZDo6ZGV0YWlsOjptdWx0aW1hcDxBLCBLLCBNLCBILCBQPiB0eXBlczsKKworICAgICAgICB0eXBlZGVmIEEgYWxsb2NhdG9yOworICAgICAgICB0eXBlZGVmIHN0ZDo6cGFpcjxLIGNvbnN0LCBNPiB2YWx1ZV90eXBlOworICAgICAgICB0eXBlZGVmIEggaGFzaGVyOworICAgICAgICB0eXBlZGVmIFAga2V5X2VxdWFsOworICAgICAgICB0eXBlZGVmIEsga2V5X3R5cGU7CisKKyAgICAgICAgdHlwZWRlZiBuZG5ib29zdDo6dW5vcmRlcmVkOjpkZXRhaWw6OmFsbG9jYXRvcl90cmFpdHM8YWxsb2NhdG9yPiB0cmFpdHM7CisgICAgICAgIHR5cGVkZWYgbmRuYm9vc3Q6OnVub3JkZXJlZDo6ZGV0YWlsOjpwaWNrX2dyb3VwZWRfbm9kZTxhbGxvY2F0b3IsCisgICAgICAgICAgICAgICAgdmFsdWVfdHlwZT4gcGljazsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBwaWNrOjpub2RlIG5vZGU7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcGljazo6YnVja2V0IGJ1Y2tldDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBwaWNrOjpsaW5rX3BvaW50ZXIgbGlua19wb2ludGVyOworCisgICAgICAgIHR5cGVkZWYgbmRuYm9vc3Q6OnVub3JkZXJlZDo6ZGV0YWlsOjpncm91cGVkX3RhYmxlX2ltcGw8dHlwZXM+IHRhYmxlOworICAgICAgICB0eXBlZGVmIG5kbmJvb3N0Ojp1bm9yZGVyZWQ6OmRldGFpbDo6bWFwX2V4dHJhY3RvcjxrZXlfdHlwZSwgdmFsdWVfdHlwZT4KKyAgICAgICAgICAgIGV4dHJhY3RvcjsKKworICAgICAgICB0eXBlZGVmIG5kbmJvb3N0Ojp1bm9yZGVyZWQ6OmRldGFpbDo6cGlja19wb2xpY3k6OnR5cGUgcG9saWN5OworICAgIH07CisKKyAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVHlwZXM+CisgICAgc3RydWN0IGdyb3VwZWRfdGFibGVfaW1wbCA6IG5kbmJvb3N0Ojp1bm9yZGVyZWQ6OmRldGFpbDo6dGFibGU8VHlwZXM+CisgICAgeworICAgICAgICB0eXBlZGVmIG5kbmJvb3N0Ojp1bm9yZGVyZWQ6OmRldGFpbDo6dGFibGU8VHlwZXM+IHRhYmxlOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHRhYmxlOjp2YWx1ZV90eXBlIHZhbHVlX3R5cGU7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgdGFibGU6OmJ1Y2tldCBidWNrZXQ7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgdGFibGU6OnBvbGljeSBwb2xpY3k7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgdGFibGU6Om5vZGVfcG9pbnRlciBub2RlX3BvaW50ZXI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgdGFibGU6Om5vZGVfYWxsb2NhdG9yIG5vZGVfYWxsb2NhdG9yOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHRhYmxlOjpub2RlX2FsbG9jYXRvcl90cmFpdHMgbm9kZV9hbGxvY2F0b3JfdHJhaXRzOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHRhYmxlOjpidWNrZXRfcG9pbnRlciBidWNrZXRfcG9pbnRlcjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSB0YWJsZTo6bGlua19wb2ludGVyIGxpbmtfcG9pbnRlcjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSB0YWJsZTo6aGFzaGVyIGhhc2hlcjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSB0YWJsZTo6a2V5X2VxdWFsIGtleV9lcXVhbDsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSB0YWJsZTo6a2V5X3R5cGUga2V5X3R5cGU7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgdGFibGU6Om5vZGVfY29uc3RydWN0b3Igbm9kZV9jb25zdHJ1Y3RvcjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSB0YWJsZTo6ZXh0cmFjdG9yIGV4dHJhY3RvcjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSB0YWJsZTo6aXRlcmF0b3IgaXRlcmF0b3I7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgdGFibGU6OmNfaXRlcmF0b3IgY19pdGVyYXRvcjsKKworICAgICAgICAvLyBDb25zdHJ1Y3RvcnMKKworICAgICAgICBncm91cGVkX3RhYmxlX2ltcGwoc3RkOjpzaXplX3QgbiwKKyAgICAgICAgICAgICAgICBoYXNoZXIgY29uc3QmIGhmLAorICAgICAgICAgICAgICAgIGtleV9lcXVhbCBjb25zdCYgZXEsCisgICAgICAgICAgICAgICAgbm9kZV9hbGxvY2F0b3IgY29uc3QmIGEpCisgICAgICAgICAgOiB0YWJsZShuLCBoZiwgZXEsIGEpCisgICAgICAgIHt9CisKKyAgICAgICAgZ3JvdXBlZF90YWJsZV9pbXBsKGdyb3VwZWRfdGFibGVfaW1wbCBjb25zdCYgeCkKKyAgICAgICAgICA6IHRhYmxlKHgsIG5vZGVfYWxsb2NhdG9yX3RyYWl0czo6CisgICAgICAgICAgICAgICAgc2VsZWN0X29uX2NvbnRhaW5lcl9jb3B5X2NvbnN0cnVjdGlvbih4Lm5vZGVfYWxsb2MoKSkpCisgICAgICAgIHsKKyAgICAgICAgICAgIHRoaXMtPmluaXQoeCk7CisgICAgICAgIH0KKworICAgICAgICBncm91cGVkX3RhYmxlX2ltcGwoZ3JvdXBlZF90YWJsZV9pbXBsIGNvbnN0JiB4LAorICAgICAgICAgICAgICAgIG5vZGVfYWxsb2NhdG9yIGNvbnN0JiBhKQorICAgICAgICAgIDogdGFibGUoeCwgYSkKKyAgICAgICAgeworICAgICAgICAgICAgdGhpcy0+aW5pdCh4KTsKKyAgICAgICAgfQorCisgICAgICAgIGdyb3VwZWRfdGFibGVfaW1wbChncm91cGVkX3RhYmxlX2ltcGwmIHgsCisgICAgICAgICAgICAgICAgbmRuYm9vc3Q6OnVub3JkZXJlZDo6ZGV0YWlsOjptb3ZlX3RhZyBtKQorICAgICAgICAgIDogdGFibGUoeCwgbSkKKyAgICAgICAge30KKworICAgICAgICBncm91cGVkX3RhYmxlX2ltcGwoZ3JvdXBlZF90YWJsZV9pbXBsJiB4LAorICAgICAgICAgICAgICAgIG5vZGVfYWxsb2NhdG9yIGNvbnN0JiBhLAorICAgICAgICAgICAgICAgIG5kbmJvb3N0Ojp1bm9yZGVyZWQ6OmRldGFpbDo6bW92ZV90YWcgbSkKKyAgICAgICAgICA6IHRhYmxlKHgsIGEsIG0pCisgICAgICAgIHsKKyAgICAgICAgICAgIHRoaXMtPm1vdmVfaW5pdCh4KTsKKyAgICAgICAgfQorCisgICAgICAgIC8vIEFjY2Vzc29ycworCisgICAgICAgIHRlbXBsYXRlIDxjbGFzcyBLZXksIGNsYXNzIFByZWQ+CisgICAgICAgIGl0ZXJhdG9yIGZpbmRfbm9kZV9pbXBsKAorICAgICAgICAgICAgICAgIHN0ZDo6c2l6ZV90IGtleV9oYXNoLAorICAgICAgICAgICAgICAgIEtleSBjb25zdCYgaywKKyAgICAgICAgICAgICAgICBQcmVkIGNvbnN0JiBlcSkgY29uc3QKKyAgICAgICAgeworICAgICAgICAgICAgc3RkOjpzaXplX3QgYnVja2V0X2luZGV4ID0gdGhpcy0+aGFzaF90b19idWNrZXQoa2V5X2hhc2gpOworICAgICAgICAgICAgaXRlcmF0b3IgbiA9IHRoaXMtPmJlZ2luKGJ1Y2tldF9pbmRleCk7CisKKyAgICAgICAgICAgIGZvciAoOzspCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgaWYgKCFuLm5vZGVfKSByZXR1cm4gbjsKKworICAgICAgICAgICAgICAgIHN0ZDo6c2l6ZV90IG5vZGVfaGFzaCA9IG4ubm9kZV8tPmhhc2hfOworICAgICAgICAgICAgICAgIGlmIChrZXlfaGFzaCA9PSBub2RlX2hhc2gpCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICBpZiAoZXEoaywgdGhpcy0+Z2V0X2tleSgqbikpKQorICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG47CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLT5oYXNoX3RvX2J1Y2tldChub2RlX2hhc2gpICE9IGJ1Y2tldF9pbmRleCkKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBpdGVyYXRvcigpOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIG4gPSBpdGVyYXRvcihuLm5vZGVfLT5ncm91cF9wcmV2Xy0+bmV4dF8pOworICAgICAgICAgICAgfQorICAgICAgICB9CisKKyAgICAgICAgc3RkOjpzaXplX3QgY291bnQoa2V5X3R5cGUgY29uc3QmIGspIGNvbnN0CisgICAgICAgIHsKKyAgICAgICAgICAgIGl0ZXJhdG9yIG4gPSB0aGlzLT5maW5kX25vZGUoayk7CisgICAgICAgICAgICBpZiAoIW4ubm9kZV8pIHJldHVybiAwOworCisgICAgICAgICAgICBzdGQ6OnNpemVfdCB4ID0gMDsKKyAgICAgICAgICAgIG5vZGVfcG9pbnRlciBpdCA9IG4ubm9kZV87CisgICAgICAgICAgICBkbyB7CisgICAgICAgICAgICAgICAgaXQgPSBpdC0+Z3JvdXBfcHJldl87CisgICAgICAgICAgICAgICAgKyt4OworICAgICAgICAgICAgfSB3aGlsZShpdCAhPSBuLm5vZGVfKTsKKworICAgICAgICAgICAgcmV0dXJuIHg7CisgICAgICAgIH0KKworICAgICAgICBzdGQ6OnBhaXI8aXRlcmF0b3IsIGl0ZXJhdG9yPgorICAgICAgICAgICAgZXF1YWxfcmFuZ2Uoa2V5X3R5cGUgY29uc3QmIGspIGNvbnN0CisgICAgICAgIHsKKyAgICAgICAgICAgIGl0ZXJhdG9yIG4gPSB0aGlzLT5maW5kX25vZGUoayk7CisgICAgICAgICAgICByZXR1cm4gc3RkOjptYWtlX3BhaXIoCisgICAgICAgICAgICAgICAgbiwgbi5ub2RlXyA/IGl0ZXJhdG9yKG4ubm9kZV8tPmdyb3VwX3ByZXZfLT5uZXh0XykgOiBuKTsKKyAgICAgICAgfQorCisgICAgICAgIC8vIEVxdWFsaXR5CisKKyAgICAgICAgYm9vbCBlcXVhbHMoZ3JvdXBlZF90YWJsZV9pbXBsIGNvbnN0JiBvdGhlcikgY29uc3QKKyAgICAgICAgeworICAgICAgICAgICAgaWYodGhpcy0+c2l6ZV8gIT0gb3RoZXIuc2l6ZV8pIHJldHVybiBmYWxzZTsKKyAgICAKKyAgICAgICAgICAgIGZvcihpdGVyYXRvciBuMSA9IHRoaXMtPmJlZ2luKCk7IG4xLm5vZGVfOykKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBpdGVyYXRvciBuMiA9IG90aGVyLmZpbmRfbWF0Y2hpbmdfbm9kZShuMSk7CisgICAgICAgICAgICAgICAgaWYgKCFuMi5ub2RlXykgcmV0dXJuIGZhbHNlOworICAgICAgICAgICAgICAgIGl0ZXJhdG9yIGVuZDEobjEubm9kZV8tPmdyb3VwX3ByZXZfLT5uZXh0Xyk7CisgICAgICAgICAgICAgICAgaXRlcmF0b3IgZW5kMihuMi5ub2RlXy0+Z3JvdXBfcHJldl8tPm5leHRfKTsKKyAgICAgICAgICAgICAgICBpZiAoIWdyb3VwX2VxdWFscyhuMSwgZW5kMSwgbjIsIGVuZDIpKSByZXR1cm4gZmFsc2U7CisgICAgICAgICAgICAgICAgbjEgPSBlbmQxOyAgICAKKyAgICAgICAgICAgIH0KKyAgICAKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICB9CisKKyAgICAgICAgc3RhdGljIGJvb2wgZ3JvdXBfZXF1YWxzKGl0ZXJhdG9yIG4xLCBpdGVyYXRvciBlbmQxLAorICAgICAgICAgICAgICAgIGl0ZXJhdG9yIG4yLCBpdGVyYXRvciBlbmQyKQorICAgICAgICB7CisgICAgICAgICAgICBmb3IoOzspCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgaWYgKCpuMSAhPSAqbjIpIGJyZWFrOworCisgICAgICAgICAgICAgICAgKytuMTsKKyAgICAgICAgICAgICAgICArK24yOworICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgaWYgKG4xID09IGVuZDEpIHJldHVybiBuMiA9PSBlbmQyOworICAgICAgICAgICAgICAgIGlmIChuMiA9PSBlbmQyKSByZXR1cm4gZmFsc2U7CisgICAgICAgICAgICB9CisgICAgICAgICAgICAKKyAgICAgICAgICAgIGZvcihpdGVyYXRvciBuMWEgPSBuMSwgbjJhID0gbjI7OykKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICArK24xYTsKKyAgICAgICAgICAgICAgICArK24yYTsKKworICAgICAgICAgICAgICAgIGlmIChuMWEgPT0gZW5kMSkKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgIGlmIChuMmEgPT0gZW5kMikgYnJlYWs7CisgICAgICAgICAgICAgICAgICAgIGVsc2UgcmV0dXJuIGZhbHNlOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIGlmIChuMmEgPT0gZW5kMikgcmV0dXJuIGZhbHNlOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBpdGVyYXRvciBzdGFydCA9IG4xOworICAgICAgICAgICAgZm9yKDtuMSAhPSBlbmQxOyArK24xKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHZhbHVlX3R5cGUgY29uc3QmIHYgPSAqbjE7CisgICAgICAgICAgICAgICAgaWYgKGZpbmQoc3RhcnQsIG4xLCB2KSkgY29udGludWU7CisgICAgICAgICAgICAgICAgc3RkOjpzaXplX3QgbWF0Y2hlcyA9IGNvdW50X2VxdWFsKG4yLCBlbmQyLCB2KTsKKyAgICAgICAgICAgICAgICBpZiAoIW1hdGNoZXMpIHJldHVybiBmYWxzZTsKKyAgICAgICAgICAgICAgICBpdGVyYXRvciBuZXh0ID0gbjE7CisgICAgICAgICAgICAgICAgKytuZXh0OworICAgICAgICAgICAgICAgIGlmIChtYXRjaGVzICE9IDEgKyBjb3VudF9lcXVhbChuZXh0LCBlbmQxLCB2KSkgcmV0dXJuIGZhbHNlOworICAgICAgICAgICAgfQorICAgICAgICAgICAgCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgfQorCisgICAgICAgIHN0YXRpYyBib29sIGZpbmQoaXRlcmF0b3IgbiwgaXRlcmF0b3IgZW5kLCB2YWx1ZV90eXBlIGNvbnN0JiB2KQorICAgICAgICB7CisgICAgICAgICAgICBmb3IoO24gIT0gZW5kOyArK24pCisgICAgICAgICAgICAgICAgaWYgKCpuID09IHYpCisgICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9CisKKyAgICAgICAgc3RhdGljIHN0ZDo6c2l6ZV90IGNvdW50X2VxdWFsKGl0ZXJhdG9yIG4sIGl0ZXJhdG9yIGVuZCwKKyAgICAgICAgICAgIHZhbHVlX3R5cGUgY29uc3QmIHYpCisgICAgICAgIHsKKyAgICAgICAgICAgIHN0ZDo6c2l6ZV90IGNvdW50ID0gMDsKKyAgICAgICAgICAgIGZvcig7biAhPSBlbmQ7ICsrbikKKyAgICAgICAgICAgICAgICBpZiAoKm4gPT0gdikgKytjb3VudDsKKyAgICAgICAgICAgIHJldHVybiBjb3VudDsKKyAgICAgICAgfQorCisgICAgICAgIC8vIEVtcGxhY2UvSW5zZXJ0CisKKyAgICAgICAgc3RhdGljIGlubGluZSB2b2lkIGFkZF9hZnRlcl9ub2RlKAorICAgICAgICAgICAgICAgIG5vZGVfcG9pbnRlciBuLAorICAgICAgICAgICAgICAgIG5vZGVfcG9pbnRlciBwb3MpCisgICAgICAgIHsKKyAgICAgICAgICAgIG4tPm5leHRfID0gcG9zLT5ncm91cF9wcmV2Xy0+bmV4dF87CisgICAgICAgICAgICBuLT5ncm91cF9wcmV2XyA9IHBvcy0+Z3JvdXBfcHJldl87CisgICAgICAgICAgICBwb3MtPmdyb3VwX3ByZXZfLT5uZXh0XyA9IG47CisgICAgICAgICAgICBwb3MtPmdyb3VwX3ByZXZfID0gbjsKKyAgICAgICAgfQorCisgICAgICAgIGlubGluZSBpdGVyYXRvciBhZGRfbm9kZSgKKyAgICAgICAgICAgICAgICBub2RlX2NvbnN0cnVjdG9yJiBhLAorICAgICAgICAgICAgICAgIHN0ZDo6c2l6ZV90IGtleV9oYXNoLAorICAgICAgICAgICAgICAgIGl0ZXJhdG9yIHBvcykKKyAgICAgICAgeworICAgICAgICAgICAgbm9kZV9wb2ludGVyIG4gPSBhLnJlbGVhc2UoKTsKKyAgICAgICAgICAgIG4tPmhhc2hfID0ga2V5X2hhc2g7CisgICAgICAgICAgICBpZiAocG9zLm5vZGVfKSB7CisgICAgICAgICAgICAgICAgdGhpcy0+YWRkX2FmdGVyX25vZGUobiwgcG9zLm5vZGVfKTsKKyAgICAgICAgICAgICAgICBpZiAobi0+bmV4dF8pIHsKKyAgICAgICAgICAgICAgICAgICAgc3RkOjpzaXplX3QgbmV4dF9idWNrZXQgPSB0aGlzLT5oYXNoX3RvX2J1Y2tldCgKKyAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRpY19jYXN0PG5vZGVfcG9pbnRlcj4obi0+bmV4dF8pLT5oYXNoXyk7CisgICAgICAgICAgICAgICAgICAgIGlmIChuZXh0X2J1Y2tldCAhPSB0aGlzLT5oYXNoX3RvX2J1Y2tldChrZXlfaGFzaCkpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMtPmdldF9idWNrZXQobmV4dF9idWNrZXQpLT5uZXh0XyA9IG47CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgICAgICBidWNrZXRfcG9pbnRlciBiID0gdGhpcy0+Z2V0X2J1Y2tldCgKKyAgICAgICAgICAgICAgICAgICAgdGhpcy0+aGFzaF90b19idWNrZXQoa2V5X2hhc2gpKTsKKworICAgICAgICAgICAgICAgIGlmICghYi0+bmV4dF8pCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICBsaW5rX3BvaW50ZXIgc3RhcnRfbm9kZSA9IHRoaXMtPmdldF9wcmV2aW91c19zdGFydCgpOworICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgaWYgKHN0YXJ0X25vZGUtPm5leHRfKSB7CisgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLT5nZXRfYnVja2V0KHRoaXMtPmhhc2hfdG9fYnVja2V0KAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRpY19jYXN0PG5vZGVfcG9pbnRlcj4oc3RhcnRfbm9kZS0+bmV4dF8pLT5oYXNoXworICAgICAgICAgICAgICAgICAgICAgICAgKSktPm5leHRfID0gbjsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgIAorICAgICAgICAgICAgICAgICAgICBiLT5uZXh0XyA9IHN0YXJ0X25vZGU7CisgICAgICAgICAgICAgICAgICAgIG4tPm5leHRfID0gc3RhcnRfbm9kZS0+bmV4dF87CisgICAgICAgICAgICAgICAgICAgIHN0YXJ0X25vZGUtPm5leHRfID0gbjsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgbi0+bmV4dF8gPSBiLT5uZXh0Xy0+bmV4dF87CisgICAgICAgICAgICAgICAgICAgIGItPm5leHRfLT5uZXh0XyA9IG47CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICAgICAgKyt0aGlzLT5zaXplXzsKKyAgICAgICAgICAgIHJldHVybiBpdGVyYXRvcihuKTsKKyAgICAgICAgfQorCisgICAgICAgIGl0ZXJhdG9yIGVtcGxhY2VfaW1wbChub2RlX2NvbnN0cnVjdG9yJiBhKQorICAgICAgICB7CisgICAgICAgICAgICBrZXlfdHlwZSBjb25zdCYgayA9IHRoaXMtPmdldF9rZXkoYS52YWx1ZSgpKTsKKyAgICAgICAgICAgIHN0ZDo6c2l6ZV90IGtleV9oYXNoID0gdGhpcy0+aGFzaChrKTsKKyAgICAgICAgICAgIGl0ZXJhdG9yIHBvc2l0aW9uID0gdGhpcy0+ZmluZF9ub2RlKGtleV9oYXNoLCBrKTsKKworICAgICAgICAgICAgLy8gcmVzZXJ2ZSBoYXMgYmFzaWMgZXhjZXB0aW9uIHNhZmV0eSBpZiB0aGUgaGFzaCBmdW5jdGlvbgorICAgICAgICAgICAgLy8gdGhyb3dzLCBzdHJvbmcgb3RoZXJ3aXNlLgorICAgICAgICAgICAgdGhpcy0+cmVzZXJ2ZV9mb3JfaW5zZXJ0KHRoaXMtPnNpemVfICsgMSk7CisgICAgICAgICAgICByZXR1cm4gdGhpcy0+YWRkX25vZGUoYSwga2V5X2hhc2gsIHBvc2l0aW9uKTsKKyAgICAgICAgfQorCisgICAgICAgIHZvaWQgZW1wbGFjZV9pbXBsX25vX3JlaGFzaChub2RlX2NvbnN0cnVjdG9yJiBhKQorICAgICAgICB7CisgICAgICAgICAgICBrZXlfdHlwZSBjb25zdCYgayA9IHRoaXMtPmdldF9rZXkoYS52YWx1ZSgpKTsKKyAgICAgICAgICAgIHN0ZDo6c2l6ZV90IGtleV9oYXNoID0gdGhpcy0+aGFzaChrKTsKKyAgICAgICAgICAgIHRoaXMtPmFkZF9ub2RlKGEsIGtleV9oYXNoLCB0aGlzLT5maW5kX25vZGUoa2V5X2hhc2gsIGspKTsKKyAgICAgICAgfQorCisjaWYgZGVmaW5lZChCT09TVF9OT19DWFgxMV9SVkFMVUVfUkVGRVJFTkNFUykKKyMgICBpZiBkZWZpbmVkKEJPT1NUX05PX0NYWDExX1ZBUklBRElDX1RFTVBMQVRFUykKKyAgICAgICAgaXRlcmF0b3IgZW1wbGFjZShuZG5ib29zdDo6dW5vcmRlcmVkOjpkZXRhaWw6OmVtcGxhY2VfYXJnczE8CisgICAgICAgICAgICAgICAgbmRuYm9vc3Q6OnVub3JkZXJlZDo6ZGV0YWlsOjpwbGVhc2VfaWdub3JlX3RoaXNfb3ZlcmxvYWQ+IGNvbnN0JikKKyAgICAgICAgeworICAgICAgICAgICAgQk9PU1RfQVNTRVJUKGZhbHNlKTsKKyAgICAgICAgICAgIHJldHVybiBpdGVyYXRvcigpOworICAgICAgICB9CisjICAgZWxzZQorICAgICAgICBpdGVyYXRvciBlbXBsYWNlKAorICAgICAgICAgICAgICAgIG5kbmJvb3N0Ojp1bm9yZGVyZWQ6OmRldGFpbDo6cGxlYXNlX2lnbm9yZV90aGlzX292ZXJsb2FkIGNvbnN0JikKKyAgICAgICAgeworICAgICAgICAgICAgQk9PU1RfQVNTRVJUKGZhbHNlKTsKKyAgICAgICAgICAgIHJldHVybiBpdGVyYXRvcigpOworICAgICAgICB9CisjICAgZW5kaWYKKyNlbmRpZgorCisgICAgICAgIHRlbXBsYXRlIDxCT09TVF9VTk9SREVSRURfRU1QTEFDRV9URU1QTEFURT4KKyAgICAgICAgaXRlcmF0b3IgZW1wbGFjZShCT09TVF9VTk9SREVSRURfRU1QTEFDRV9BUkdTKQorICAgICAgICB7CisgICAgICAgICAgICBub2RlX2NvbnN0cnVjdG9yIGEodGhpcy0+bm9kZV9hbGxvYygpKTsKKyAgICAgICAgICAgIGEuY29uc3RydWN0X3dpdGhfdmFsdWUoQk9PU1RfVU5PUkRFUkVEX0VNUExBQ0VfRk9SV0FSRCk7CisKKyAgICAgICAgICAgIHJldHVybiBpdGVyYXRvcihlbXBsYWNlX2ltcGwoYSkpOworICAgICAgICB9CisKKyAgICAgICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCisgICAgICAgIC8vIEluc2VydCByYW5nZSBtZXRob2RzCisKKyAgICAgICAgLy8gaWYgaGFzaCBmdW5jdGlvbiB0aHJvd3MsIG9yIGluc2VydGluZyA+IDEgZWxlbWVudCwgYmFzaWMgZXhjZXB0aW9uCisgICAgICAgIC8vIHNhZmV0eS4gU3Ryb25nIG90aGVyd2lzZQorICAgICAgICB0ZW1wbGF0ZSA8Y2xhc3MgST4KKyAgICAgICAgdHlwZW5hbWUgbmRuYm9vc3Q6OnVub3JkZXJlZDo6ZGV0YWlsOjplbmFibGVfaWZfZm9yd2FyZDxJLCB2b2lkPjo6dHlwZQorICAgICAgICAgICAgaW5zZXJ0X3JhbmdlKEkgaSwgSSBqKQorICAgICAgICB7CisgICAgICAgICAgICBpZihpID09IGopIHJldHVybjsKKworICAgICAgICAgICAgc3RkOjpzaXplX3QgZGlzdGFuY2UgPSBuZG5ib29zdDo6dW5vcmRlcmVkOjpkZXRhaWw6OmRpc3RhbmNlKGksIGopOworICAgICAgICAgICAgaWYoZGlzdGFuY2UgPT0gMSkgeworICAgICAgICAgICAgICAgIG5vZGVfY29uc3RydWN0b3IgYSh0aGlzLT5ub2RlX2FsbG9jKCkpOworICAgICAgICAgICAgICAgIGEuY29uc3RydWN0X3dpdGhfdmFsdWUyKCppKTsKKyAgICAgICAgICAgICAgICBlbXBsYWNlX2ltcGwoYSk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgICAgICAvLyBPbmx5IHJlcXVpcmUgYmFzaWMgZXhjZXB0aW9uIHNhZmV0eSBoZXJlCisgICAgICAgICAgICAgICAgdGhpcy0+cmVzZXJ2ZV9mb3JfaW5zZXJ0KHRoaXMtPnNpemVfICsgZGlzdGFuY2UpOworCisgICAgICAgICAgICAgICAgbm9kZV9jb25zdHJ1Y3RvciBhKHRoaXMtPm5vZGVfYWxsb2MoKSk7CisgICAgICAgICAgICAgICAgZm9yICg7IGkgIT0gajsgKytpKSB7CisgICAgICAgICAgICAgICAgICAgIGEuY29uc3RydWN0X3dpdGhfdmFsdWUyKCppKTsKKyAgICAgICAgICAgICAgICAgICAgZW1wbGFjZV9pbXBsX25vX3JlaGFzaChhKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgIH0KKworICAgICAgICB0ZW1wbGF0ZSA8Y2xhc3MgST4KKyAgICAgICAgdHlwZW5hbWUgbmRuYm9vc3Q6OnVub3JkZXJlZDo6ZGV0YWlsOjpkaXNhYmxlX2lmX2ZvcndhcmQ8SSwgdm9pZD46OnR5cGUKKyAgICAgICAgICAgIGluc2VydF9yYW5nZShJIGksIEkgaikKKyAgICAgICAgeworICAgICAgICAgICAgbm9kZV9jb25zdHJ1Y3RvciBhKHRoaXMtPm5vZGVfYWxsb2MoKSk7CisgICAgICAgICAgICBmb3IgKDsgaSAhPSBqOyArK2kpIHsKKyAgICAgICAgICAgICAgICBhLmNvbnN0cnVjdF93aXRoX3ZhbHVlMigqaSk7CisgICAgICAgICAgICAgICAgZW1wbGFjZV9pbXBsKGEpOworICAgICAgICAgICAgfQorICAgICAgICB9CisKKyAgICAgICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCisgICAgICAgIC8vIEVyYXNlCisgICAgICAgIC8vCisgICAgICAgIC8vIG5vIHRocm93CisKKyAgICAgICAgc3RkOjpzaXplX3QgZXJhc2Vfa2V5KGtleV90eXBlIGNvbnN0JiBrKQorICAgICAgICB7CisgICAgICAgICAgICBpZighdGhpcy0+c2l6ZV8pIHJldHVybiAwOworCisgICAgICAgICAgICBzdGQ6OnNpemVfdCBrZXlfaGFzaCA9IHRoaXMtPmhhc2goayk7CisgICAgICAgICAgICBzdGQ6OnNpemVfdCBidWNrZXRfaW5kZXggPSB0aGlzLT5oYXNoX3RvX2J1Y2tldChrZXlfaGFzaCk7CisgICAgICAgICAgICBsaW5rX3BvaW50ZXIgcHJldiA9IHRoaXMtPmdldF9wcmV2aW91c19zdGFydChidWNrZXRfaW5kZXgpOworICAgICAgICAgICAgaWYgKCFwcmV2KSByZXR1cm4gMDsKKworICAgICAgICAgICAgZm9yICg7OykKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBpZiAoIXByZXYtPm5leHRfKSByZXR1cm4gMDsKKyAgICAgICAgICAgICAgICBzdGQ6OnNpemVfdCBub2RlX2hhc2ggPQorICAgICAgICAgICAgICAgICAgICBzdGF0aWNfY2FzdDxub2RlX3BvaW50ZXI+KHByZXYtPm5leHRfKS0+aGFzaF87CisgICAgICAgICAgICAgICAgaWYgKHRoaXMtPmhhc2hfdG9fYnVja2V0KG5vZGVfaGFzaCkgIT0gYnVja2V0X2luZGV4KQorICAgICAgICAgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgICAgICAgICBpZiAobm9kZV9oYXNoID09IGtleV9oYXNoICYmCisgICAgICAgICAgICAgICAgICAgIHRoaXMtPmtleV9lcSgpKGssIHRoaXMtPmdldF9rZXkoCisgICAgICAgICAgICAgICAgICAgICAgICBzdGF0aWNfY2FzdDxub2RlX3BvaW50ZXI+KHByZXYtPm5leHRfKS0+dmFsdWUoKSkpKQorICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICBwcmV2ID0gc3RhdGljX2Nhc3Q8bm9kZV9wb2ludGVyPihwcmV2LT5uZXh0XyktPmdyb3VwX3ByZXZfOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBub2RlX3BvaW50ZXIgZmlyc3Rfbm9kZSA9IHN0YXRpY19jYXN0PG5vZGVfcG9pbnRlcj4ocHJldi0+bmV4dF8pOworICAgICAgICAgICAgbGlua19wb2ludGVyIGVuZCA9IGZpcnN0X25vZGUtPmdyb3VwX3ByZXZfLT5uZXh0XzsKKworICAgICAgICAgICAgc3RkOjpzaXplX3QgY291bnQgPSB0aGlzLT5kZWxldGVfbm9kZXMocHJldiwgZW5kKTsKKyAgICAgICAgICAgIHRoaXMtPmZpeF9idWNrZXQoYnVja2V0X2luZGV4LCBwcmV2KTsKKyAgICAgICAgICAgIHJldHVybiBjb3VudDsKKyAgICAgICAgfQorCisgICAgICAgIGl0ZXJhdG9yIGVyYXNlKGNfaXRlcmF0b3IgcikKKyAgICAgICAgeworICAgICAgICAgICAgQk9PU1RfQVNTRVJUKHIubm9kZV8pOworICAgICAgICAgICAgaXRlcmF0b3IgbmV4dChyLm5vZGVfKTsKKyAgICAgICAgICAgICsrbmV4dDsKKyAgICAgICAgICAgIGVyYXNlX25vZGVzKHIubm9kZV8sIG5leHQubm9kZV8pOworICAgICAgICAgICAgcmV0dXJuIG5leHQ7CisgICAgICAgIH0KKworICAgICAgICBpdGVyYXRvciBlcmFzZV9yYW5nZShjX2l0ZXJhdG9yIHIxLCBjX2l0ZXJhdG9yIHIyKQorICAgICAgICB7CisgICAgICAgICAgICBpZiAocjEgPT0gcjIpIHJldHVybiBpdGVyYXRvcihyMi5ub2RlXyk7CisgICAgICAgICAgICBlcmFzZV9ub2RlcyhyMS5ub2RlXywgcjIubm9kZV8pOworICAgICAgICAgICAgcmV0dXJuIGl0ZXJhdG9yKHIyLm5vZGVfKTsKKyAgICAgICAgfQorCisgICAgICAgIGxpbmtfcG9pbnRlciBlcmFzZV9ub2Rlcyhub2RlX3BvaW50ZXIgYmVnaW4sIG5vZGVfcG9pbnRlciBlbmQpCisgICAgICAgIHsKKyAgICAgICAgICAgIHN0ZDo6c2l6ZV90IGJ1Y2tldF9pbmRleCA9IHRoaXMtPmhhc2hfdG9fYnVja2V0KGJlZ2luLT5oYXNoXyk7CisKKyAgICAgICAgICAgIC8vIFNwbGl0IHRoZSBncm91cHMgY29udGFpbmluZyAnYmVnaW4nIGFuZCAnZW5kJy4KKyAgICAgICAgICAgIC8vIEFuZCBnZXQgdGhlIHBvaW50ZXIgdG8gdGhlIG5vZGUgYmVmb3JlIGJlZ2luIHdoaWxlCisgICAgICAgICAgICAvLyB3ZSdyZSBhdCBpdC4KKyAgICAgICAgICAgIGxpbmtfcG9pbnRlciBwcmV2ID0gc3BsaXRfZ3JvdXBzKGJlZ2luLCBlbmQpOworCisgICAgICAgICAgICAvLyBJZiB3ZSBkb24ndCBoYXZlIGEgJ3ByZXYnIGl0IG1lYW5zIHRoYXQgYmVnaW4gaXMgYXQgdGhlCisgICAgICAgICAgICAvLyBiZWdpbm5pbmcgb2YgYSBibG9jaywgc28gc2VhcmNoIHRocm91Z2ggdGhlIGJsb2NrcyBpbiB0aGUKKyAgICAgICAgICAgIC8vIHNhbWUgYnVja2V0LgorICAgICAgICAgICAgaWYgKCFwcmV2KSB7CisgICAgICAgICAgICAgICAgcHJldiA9IHRoaXMtPmdldF9wcmV2aW91c19zdGFydChidWNrZXRfaW5kZXgpOworICAgICAgICAgICAgICAgIHdoaWxlIChwcmV2LT5uZXh0XyAhPSBiZWdpbikKKyAgICAgICAgICAgICAgICAgICAgcHJldiA9IHN0YXRpY19jYXN0PG5vZGVfcG9pbnRlcj4ocHJldi0+bmV4dF8pLT5ncm91cF9wcmV2XzsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgLy8gRGVsZXRlIHRoZSBub2Rlcy4KKyAgICAgICAgICAgIGRvIHsKKyAgICAgICAgICAgICAgICBsaW5rX3BvaW50ZXIgZ3JvdXBfZW5kID0KKyAgICAgICAgICAgICAgICAgICAgc3RhdGljX2Nhc3Q8bm9kZV9wb2ludGVyPihwcmV2LT5uZXh0XyktPmdyb3VwX3ByZXZfLT5uZXh0XzsKKyAgICAgICAgICAgICAgICB0aGlzLT5kZWxldGVfbm9kZXMocHJldiwgZ3JvdXBfZW5kKTsKKyAgICAgICAgICAgICAgICBidWNrZXRfaW5kZXggPSB0aGlzLT5maXhfYnVja2V0KGJ1Y2tldF9pbmRleCwgcHJldik7CisgICAgICAgICAgICB9IHdoaWxlKHByZXYtPm5leHRfICE9IGVuZCk7CisKKyAgICAgICAgICAgIHJldHVybiBwcmV2OworICAgICAgICB9CisKKyAgICAgICAgc3RhdGljIGxpbmtfcG9pbnRlciBzcGxpdF9ncm91cHMobm9kZV9wb2ludGVyIGJlZ2luLCBub2RlX3BvaW50ZXIgZW5kKQorICAgICAgICB7CisgICAgICAgICAgICBub2RlX3BvaW50ZXIgcHJldiA9IGJlZ2luLT5ncm91cF9wcmV2XzsKKyAgICAgICAgICAgIGlmIChwcmV2LT5uZXh0XyAhPSBiZWdpbikgcHJldiA9IG5vZGVfcG9pbnRlcigpOworCisgICAgICAgICAgICBpZiAoZW5kKSB7CisgICAgICAgICAgICAgICAgbm9kZV9wb2ludGVyIGZpcnN0ID0gZW5kOworICAgICAgICAgICAgICAgIHdoaWxlIChmaXJzdCAhPSBiZWdpbiAmJiBmaXJzdC0+Z3JvdXBfcHJldl8tPm5leHRfID09IGZpcnN0KSB7CisgICAgICAgICAgICAgICAgICAgIGZpcnN0ID0gZmlyc3QtPmdyb3VwX3ByZXZfOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIG5kbmJvb3N0Ojpzd2FwKGZpcnN0LT5ncm91cF9wcmV2XywgZW5kLT5ncm91cF9wcmV2Xyk7CisgICAgICAgICAgICAgICAgaWYgKGZpcnN0ID09IGJlZ2luKSByZXR1cm4gcHJldjsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgaWYgKHByZXYpIHsKKyAgICAgICAgICAgICAgICBub2RlX3BvaW50ZXIgZmlyc3QgPSBwcmV2OworICAgICAgICAgICAgICAgIHdoaWxlIChmaXJzdC0+Z3JvdXBfcHJldl8tPm5leHRfID09IGZpcnN0KSB7CisgICAgICAgICAgICAgICAgICAgIGZpcnN0ID0gZmlyc3QtPmdyb3VwX3ByZXZfOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBuZG5ib29zdDo6c3dhcChmaXJzdC0+Z3JvdXBfcHJldl8sIGJlZ2luLT5ncm91cF9wcmV2Xyk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIHJldHVybiBwcmV2OworICAgICAgICB9CisKKyAgICAgICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCisgICAgICAgIC8vIGZpbGxfYnVja2V0cworCisgICAgICAgIHRlbXBsYXRlIDxjbGFzcyBOb2RlQ3JlYXRvcj4KKyAgICAgICAgc3RhdGljIHZvaWQgZmlsbF9idWNrZXRzKGl0ZXJhdG9yIG4sIHRhYmxlJiBkc3QsCisgICAgICAgICAgICBOb2RlQ3JlYXRvciYgY3JlYXRvcikKKyAgICAgICAgeworICAgICAgICAgICAgbGlua19wb2ludGVyIHByZXYgPSBkc3QuZ2V0X3ByZXZpb3VzX3N0YXJ0KCk7CisKKyAgICAgICAgICAgIHdoaWxlIChuLm5vZGVfKSB7CisgICAgICAgICAgICAgICAgc3RkOjpzaXplX3Qga2V5X2hhc2ggPSBuLm5vZGVfLT5oYXNoXzsKKyAgICAgICAgICAgICAgICBpdGVyYXRvciBncm91cF9lbmQobi5ub2RlXy0+Z3JvdXBfcHJldl8tPm5leHRfKTsKKworICAgICAgICAgICAgICAgIG5vZGVfcG9pbnRlciBmaXJzdF9ub2RlID0gY3JlYXRvci5jcmVhdGUoKm4pOworICAgICAgICAgICAgICAgIG5vZGVfcG9pbnRlciBlbmQgPSBmaXJzdF9ub2RlOworICAgICAgICAgICAgICAgIGZpcnN0X25vZGUtPmhhc2hfID0ga2V5X2hhc2g7CisgICAgICAgICAgICAgICAgcHJldi0+bmV4dF8gPSBmaXJzdF9ub2RlOworICAgICAgICAgICAgICAgICsrZHN0LnNpemVfOworCisgICAgICAgICAgICAgICAgZm9yICgrK247IG4gIT0gZ3JvdXBfZW5kOyArK24pCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICBlbmQgPSBjcmVhdG9yLmNyZWF0ZSgqbik7CisgICAgICAgICAgICAgICAgICAgIGVuZC0+aGFzaF8gPSBrZXlfaGFzaDsKKyAgICAgICAgICAgICAgICAgICAgYWRkX2FmdGVyX25vZGUoZW5kLCBmaXJzdF9ub2RlKTsKKyAgICAgICAgICAgICAgICAgICAgKytkc3Quc2l6ZV87CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgcHJldiA9IHBsYWNlX2luX2J1Y2tldChkc3QsIHByZXYsIGVuZCk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKworICAgICAgICAvLyBzdHJvbmcgb3RoZXJ3aXNlIGV4Y2VwdGlvbiBzYWZldHkKKyAgICAgICAgdm9pZCByZWhhc2hfaW1wbChzdGQ6OnNpemVfdCBudW1fYnVja2V0cykKKyAgICAgICAgeworICAgICAgICAgICAgQk9PU1RfQVNTRVJUKHRoaXMtPmJ1Y2tldHNfKTsKKworICAgICAgICAgICAgdGhpcy0+Y3JlYXRlX2J1Y2tldHMobnVtX2J1Y2tldHMpOworICAgICAgICAgICAgbGlua19wb2ludGVyIHByZXYgPSB0aGlzLT5nZXRfcHJldmlvdXNfc3RhcnQoKTsKKyAgICAgICAgICAgIHdoaWxlIChwcmV2LT5uZXh0XykKKyAgICAgICAgICAgICAgICBwcmV2ID0gcGxhY2VfaW5fYnVja2V0KCp0aGlzLCBwcmV2LAorICAgICAgICAgICAgICAgICAgICBzdGF0aWNfY2FzdDxub2RlX3BvaW50ZXI+KHByZXYtPm5leHRfKS0+Z3JvdXBfcHJldl8pOworICAgICAgICB9CisKKyAgICAgICAgLy8gSXRlcmF0ZSB0aHJvdWdoIHRoZSBub2RlcyBwbGFjaW5nIHRoZW0gaW4gdGhlIGNvcnJlY3QgYnVja2V0cy4KKyAgICAgICAgLy8gcHJlOiBwcmV2LT5uZXh0XyBpcyBub3QgbnVsbC4KKyAgICAgICAgc3RhdGljIGxpbmtfcG9pbnRlciBwbGFjZV9pbl9idWNrZXQodGFibGUmIGRzdCwKKyAgICAgICAgICAgICAgICBsaW5rX3BvaW50ZXIgcHJldiwgbm9kZV9wb2ludGVyIGVuZCkKKyAgICAgICAgeworICAgICAgICAgICAgYnVja2V0X3BvaW50ZXIgYiA9IGRzdC5nZXRfYnVja2V0KGRzdC5oYXNoX3RvX2J1Y2tldChlbmQtPmhhc2hfKSk7CisKKyAgICAgICAgICAgIGlmICghYi0+bmV4dF8pIHsKKyAgICAgICAgICAgICAgICBiLT5uZXh0XyA9IHByZXY7CisgICAgICAgICAgICAgICAgcmV0dXJuIGVuZDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGVsc2UgeworICAgICAgICAgICAgICAgIGxpbmtfcG9pbnRlciBuZXh0ID0gZW5kLT5uZXh0XzsKKyAgICAgICAgICAgICAgICBlbmQtPm5leHRfID0gYi0+bmV4dF8tPm5leHRfOworICAgICAgICAgICAgICAgIGItPm5leHRfLT5uZXh0XyA9IHByZXYtPm5leHRfOworICAgICAgICAgICAgICAgIHByZXYtPm5leHRfID0gbmV4dDsKKyAgICAgICAgICAgICAgICByZXR1cm4gcHJldjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH07Cit9fX0KKworI2VuZGlmCmRpZmYgLS1naXQgYS9uZG5ib29zdC91bm9yZGVyZWQvZGV0YWlsL2V4dHJhY3Rfa2V5LmhwcCBiL25kbmJvb3N0L3Vub3JkZXJlZC9kZXRhaWwvZXh0cmFjdF9rZXkuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc0ZGZkYWIKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC91bm9yZGVyZWQvZGV0YWlsL2V4dHJhY3Rfa2V5LmhwcApAQCAtMCwwICsxLDE4MyBAQAorCisvLyBDb3B5cmlnaHQgKEMpIDIwMDUtMjAxMSBEYW5pZWwgSmFtZXMKKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gKFNlZSBhY2NvbXBhbnlpbmcKKy8vIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorCisjaWZuZGVmIEJPT1NUX1VOT1JERVJFRF9ERVRBSUxfRVhUUkFDVF9LRVlfSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX1VOT1JERVJFRF9ERVRBSUxfRVhUUkFDVF9LRVlfSFBQX0lOQ0xVREVECisKKyNpbmNsdWRlIDxuZG5ib29zdC91bm9yZGVyZWQvZGV0YWlsL3RhYmxlLmhwcD4KKworbmFtZXNwYWNlIG5kbmJvb3N0IHsKK25hbWVzcGFjZSB1bm9yZGVyZWQgeworbmFtZXNwYWNlIGRldGFpbCB7CisKKyAgICAvLyBrZXkgZXh0cmFjdG9ycworICAgIC8vCisgICAgLy8gbm8gdGhyb3cKKyAgICAvLworICAgIC8vICdleHRyYWN0X2tleScgaXMgY2FsbGVkIHdpdGggdGhlIGVtcGxhY2UgcGFyYW1ldGVycyB0byByZXR1cm4gYQorICAgIC8vIGtleSBpZiBhdmFpbGFibGUgb3IgJ25vX2tleScgaXMgb25lIGlzbid0IGFuZCB3aWxsIG5lZWQgdG8gYmUKKyAgICAvLyBjb25zdHJ1Y3RlZC4gVGhpcyBjb3VsZCBiZSBkb25lIGJ5IG92ZXJsb2FkaW5nIHRoZSBlbXBsYWNlIGltcGxlbWVudGF0aW9uCisgICAgLy8gZm9yIHRoZSBkaWZmZXJlbnQgY2FzZXMsIGJ1dCB0aGF0J3MgYSBiaXQgdHJpY2t5IG9uIGNvbXBpbGVycyB3aXRob3V0CisgICAgLy8gdmFyaWFkaWMgdGVtcGxhdGVzLgorCisgICAgc3RydWN0IG5vX2tleSB7CisgICAgICAgIG5vX2tleSgpIHt9CisgICAgICAgIHRlbXBsYXRlIDxjbGFzcyBUPiBub19rZXkoVCBjb25zdCYpIHt9CisgICAgfTsKKworICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBLZXksIHR5cGVuYW1lIFQ+CisgICAgc3RydWN0IGlzX2tleSB7CisgICAgICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBUMj4KKyAgICAgICAgc3RhdGljIGNob2ljZTE6OnR5cGUgdGVzdChUMiBjb25zdCYpOworICAgICAgICBzdGF0aWMgY2hvaWNlMjo6dHlwZSB0ZXN0KEtleSBjb25zdCYpOworICAgICAgICAKKyAgICAgICAgZW51bSB7IHZhbHVlID0gc2l6ZW9mKHRlc3QobmRuYm9vc3Q6OnVub3JkZXJlZDo6ZGV0YWlsOjptYWtlPFQ+KCkpKSA9PQorICAgICAgICAgICAgc2l6ZW9mKGNob2ljZTI6OnR5cGUpIH07CisgICAgICAgIAorICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG5kbmJvb3N0OjpkZXRhaWw6OmlmX3RydWU8dmFsdWU+OjoKKyAgICAgICAgICAgIEJPT1NUX05FU1RFRF9URU1QTEFURSB0aGVuPEtleSBjb25zdCYsIG5vX2tleT46OnR5cGUgdHlwZTsKKyAgICB9OworCisgICAgdGVtcGxhdGUgPGNsYXNzIFZhbHVlVHlwZT4KKyAgICBzdHJ1Y3Qgc2V0X2V4dHJhY3RvcgorICAgIHsKKyAgICAgICAgdHlwZWRlZiBWYWx1ZVR5cGUgdmFsdWVfdHlwZTsKKyAgICAgICAgdHlwZWRlZiBWYWx1ZVR5cGUga2V5X3R5cGU7CisKKyAgICAgICAgc3RhdGljIGtleV90eXBlIGNvbnN0JiBleHRyYWN0KGtleV90eXBlIGNvbnN0JiB2KQorICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4gdjsKKyAgICAgICAgfQorCisgICAgICAgIHN0YXRpYyBub19rZXkgZXh0cmFjdCgpCisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiBub19rZXkoKTsKKyAgICAgICAgfQorICAgICAgICAKKyNpZiAhZGVmaW5lZChCT09TVF9OT19DWFgxMV9WQVJJQURJQ19URU1QTEFURVMpCisgICAgICAgIHRlbXBsYXRlIDxjbGFzcy4uLiBBcmdzPgorICAgICAgICBzdGF0aWMgbm9fa2V5IGV4dHJhY3QoQXJncyBjb25zdCYuLi4pCisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiBub19rZXkoKTsKKyAgICAgICAgfQorI2Vsc2UKKyAgICAgICAgdGVtcGxhdGUgPGNsYXNzIEFyZz4KKyAgICAgICAgc3RhdGljIG5vX2tleSBleHRyYWN0KEFyZyBjb25zdCYpCisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiBub19rZXkoKTsKKyAgICAgICAgfQorCisgICAgICAgIHRlbXBsYXRlIDxjbGFzcyBBcmcxLCBjbGFzcyBBcmcyPgorICAgICAgICBzdGF0aWMgbm9fa2V5IGV4dHJhY3QoQXJnMSBjb25zdCYsIEFyZzIgY29uc3QmKQorICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4gbm9fa2V5KCk7CisgICAgICAgIH0KKyNlbmRpZgorICAgIH07CisKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgS2V5LCBjbGFzcyBWYWx1ZVR5cGU+CisgICAgc3RydWN0IG1hcF9leHRyYWN0b3IKKyAgICB7CisgICAgICAgIHR5cGVkZWYgVmFsdWVUeXBlIHZhbHVlX3R5cGU7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbmRuYm9vc3Q6OnJlbW92ZV9jb25zdDxLZXk+Ojp0eXBlIGtleV90eXBlOworCisgICAgICAgIHN0YXRpYyBrZXlfdHlwZSBjb25zdCYgZXh0cmFjdCh2YWx1ZV90eXBlIGNvbnN0JiB2KQorICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4gdi5maXJzdDsKKyAgICAgICAgfQorICAgICAgICAgICAgCisgICAgICAgIHRlbXBsYXRlIDxjbGFzcyBTZWNvbmQ+CisgICAgICAgIHN0YXRpYyBrZXlfdHlwZSBjb25zdCYgZXh0cmFjdChzdGQ6OnBhaXI8a2V5X3R5cGUsIFNlY29uZD4gY29uc3QmIHYpCisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiB2LmZpcnN0OworICAgICAgICB9CisKKyAgICAgICAgdGVtcGxhdGUgPGNsYXNzIFNlY29uZD4KKyAgICAgICAgc3RhdGljIGtleV90eXBlIGNvbnN0JiBleHRyYWN0KAorICAgICAgICAgICAgc3RkOjpwYWlyPGtleV90eXBlIGNvbnN0LCBTZWNvbmQ+IGNvbnN0JiB2KQorICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4gdi5maXJzdDsKKyAgICAgICAgfQorCisgICAgICAgIHRlbXBsYXRlIDxjbGFzcyBBcmcxPgorICAgICAgICBzdGF0aWMga2V5X3R5cGUgY29uc3QmIGV4dHJhY3Qoa2V5X3R5cGUgY29uc3QmIGssIEFyZzEgY29uc3QmKQorICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4gazsKKyAgICAgICAgfQorCisjaWYgIWRlZmluZWQoQk9PU1RfTk9fQ1hYMTFfVkFSSUFESUNfVEVNUExBVEVTKQorICAgICAgICB0ZW1wbGF0ZSA8Y2xhc3MuLi4gQXJncz4KKyAgICAgICAgc3RhdGljIG5vX2tleSBleHRyYWN0KEFyZ3MgY29uc3QmLi4uKQorICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4gbm9fa2V5KCk7CisgICAgICAgIH0KKyNlbHNlCisKKyAgICAgICAgc3RhdGljIG5vX2tleSBleHRyYWN0KCkKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJuIG5vX2tleSgpOworICAgICAgICB9CisKKyAgICAgICAgdGVtcGxhdGUgPGNsYXNzIEFyZz4KKyAgICAgICAgc3RhdGljIG5vX2tleSBleHRyYWN0KEFyZyBjb25zdCYpCisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiBub19rZXkoKTsKKyAgICAgICAgfQorCisgICAgICAgIHRlbXBsYXRlIDxjbGFzcyBBcmcsIGNsYXNzIEFyZzE+CisgICAgICAgIHN0YXRpYyBub19rZXkgZXh0cmFjdChBcmcgY29uc3QmLCBBcmcxIGNvbnN0JikKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJuIG5vX2tleSgpOworICAgICAgICB9CisjZW5kaWYKKworI2lmICFkZWZpbmVkKEJPT1NUX05PX0NYWDExX1ZBUklBRElDX1RFTVBMQVRFUykKKworI2RlZmluZSBCT09TVF9VTk9SREVSRURfS0VZX0ZST01fVFVQTEUobmFtZXNwYWNlXykgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFQyPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIHN0YXRpYyBub19rZXkgZXh0cmFjdChuZG5ib29zdDo6dW5vcmRlcmVkOjpwaWVjZXdpc2VfY29uc3RydWN0X3QsICAgICAgXAorICAgICAgICAgICAgICAgIG5hbWVzcGFjZV8gdHVwbGU8PiBjb25zdCYsIFQyIGNvbnN0JikgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICByZXR1cm4gbm9fa2V5KCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBULCB0eXBlbmFtZSBUMj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICBzdGF0aWMgdHlwZW5hbWUgaXNfa2V5PGtleV90eXBlLCBUPjo6dHlwZSAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgIGV4dHJhY3QobmRuYm9vc3Q6OnVub3JkZXJlZDo6cGllY2V3aXNlX2NvbnN0cnVjdF90LCAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgbmFtZXNwYWNlXyB0dXBsZTxUPiBjb25zdCYgaywgVDIgY29uc3QmKSAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgIHJldHVybiB0eXBlbmFtZSBpc19rZXk8a2V5X3R5cGUsIFQ+Ojp0eXBlKCAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgbmFtZXNwYWNlXyBnZXQ8MD4oaykpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICB9CisKKyNlbHNlCisKKyNkZWZpbmUgQk9PU1RfVU5PUkRFUkVEX0tFWV9GUk9NX1RVUExFKG5hbWVzcGFjZV8pICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIHN0YXRpYyBub19rZXkgZXh0cmFjdChuZG5ib29zdDo6dW5vcmRlcmVkOjpwaWVjZXdpc2VfY29uc3RydWN0X3QsICAgICAgXAorICAgICAgICAgICAgICAgIG5hbWVzcGFjZV8gdHVwbGU8PiBjb25zdCYpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICByZXR1cm4gbm9fa2V5KCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBUPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICBzdGF0aWMgdHlwZW5hbWUgaXNfa2V5PGtleV90eXBlLCBUPjo6dHlwZSAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgIGV4dHJhY3QobmRuYm9vc3Q6OnVub3JkZXJlZDo6cGllY2V3aXNlX2NvbnN0cnVjdF90LCAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgbmFtZXNwYWNlXyB0dXBsZTxUPiBjb25zdCYgaykgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgIHJldHVybiB0eXBlbmFtZSBpc19rZXk8a2V5X3R5cGUsIFQ+Ojp0eXBlKCAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgbmFtZXNwYWNlXyBnZXQ8MD4oaykpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICB9CisKKyNlbmRpZgorCitCT09TVF9VTk9SREVSRURfS0VZX0ZST01fVFVQTEUobmRuYm9vc3Q6OikKKworI2lmICFkZWZpbmVkKEJPT1NUX05PX0NYWDExX0hEUl9UVVBMRSkKK0JPT1NUX1VOT1JERVJFRF9LRVlfRlJPTV9UVVBMRShzdGQ6OikKKyNlbmRpZgorICAgIH07Cit9fX0KKworI2VuZGlmCmRpZmYgLS1naXQgYS9uZG5ib29zdC91bm9yZGVyZWQvZGV0YWlsL2Z3ZC5ocHAgYi9uZG5ib29zdC91bm9yZGVyZWQvZGV0YWlsL2Z3ZC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTI5NDY2ZgotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L3Vub3JkZXJlZC9kZXRhaWwvZndkLmhwcApAQCAtMCwwICsxLDIzIEBACisKKy8vIENvcHlyaWdodCAoQykgMjAwOC0yMDExIERhbmllbCBKYW1lcy4KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gKFNlZSBhY2NvbXBhbnlpbmcKKy8vIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorCisjaWZuZGVmIEJPT1NUX1VOT1JERVJFRF9GV0RfSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX1VOT1JERVJFRF9GV0RfSFBQX0lOQ0xVREVECisKKyNpZiBkZWZpbmVkKF9NU0NfVkVSKSAmJiAoX01TQ19WRVIgPj0gMTAyMCkKKyMgcHJhZ21hIG9uY2UKKyNlbmRpZgorCisKK25hbWVzcGFjZSBuZG5ib29zdAoreworbmFtZXNwYWNlIHVub3JkZXJlZAoreworICAgIHN0cnVjdCBwaWVjZXdpc2VfY29uc3RydWN0X3Qge307CisgICAgY29uc3QgcGllY2V3aXNlX2NvbnN0cnVjdF90IHBpZWNld2lzZV9jb25zdHJ1Y3QgPSBwaWVjZXdpc2VfY29uc3RydWN0X3QoKTsKK30KK30KKworI2VuZGlmCmRpZmYgLS1naXQgYS9uZG5ib29zdC91bm9yZGVyZWQvZGV0YWlsL3RhYmxlLmhwcCBiL25kbmJvb3N0L3Vub3JkZXJlZC9kZXRhaWwvdGFibGUuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNkMmNmODYKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC91bm9yZGVyZWQvZGV0YWlsL3RhYmxlLmhwcApAQCAtMCwwICsxLDg2MSBAQAorCisvLyBDb3B5cmlnaHQgKEMpIDIwMDMtMjAwNCBKZXJlbXkgQi4gTWFpdGluLVNoZXBhcmQuCisvLyBDb3B5cmlnaHQgKEMpIDIwMDUtMjAxMSBEYW5pZWwgSmFtZXMKKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gKFNlZSBhY2NvbXBhbnlpbmcKKy8vIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorCisjaWZuZGVmIEJPT1NUX1VOT1JERVJFRF9ERVRBSUxfQUxMX0hQUF9JTkNMVURFRAorI2RlZmluZSBCT09TVF9VTk9SREVSRURfREVUQUlMX0FMTF9IUFBfSU5DTFVERUQKKworI2luY2x1ZGUgPG5kbmJvb3N0L3Vub3JkZXJlZC9kZXRhaWwvYnVja2V0cy5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvdW5vcmRlcmVkL2RldGFpbC91dGlsLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9hbGlnbmVkX3N0b3JhZ2UuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2FsaWdubWVudF9vZi5ocHA+CisjaW5jbHVkZSA8Y21hdGg+CisKKyNpZiBkZWZpbmVkKEJPT1NUX01TVkMpCisjcHJhZ21hIHdhcm5pbmcocHVzaCkKKyNwcmFnbWEgd2FybmluZyhkaXNhYmxlOjQxMjcpIC8vIGNvbmRpdGlvbmFsIGV4cHJlc3Npb24gaXMgY29uc3RhbnQKKyNlbmRpZgorCisjaWYgZGVmaW5lZChCT09TVF9VTk9SREVSRURfREVQUkVDQVRFRF9FUVVBTElUWSkKKworI2lmIGRlZmluZWQoX19FREdfXykKKyNlbGlmIGRlZmluZWQoX01TQ19WRVIpIHx8IGRlZmluZWQoX19CT1JMQU5EQ19fKSB8fCBkZWZpbmVkKF9fRE1DX18pCisjcHJhZ21hIG1lc3NhZ2UoIldhcm5pbmc6IEJPT1NUX1VOT1JERVJFRF9ERVBSRUNBVEVEX0VRVUFMSVRZIGlzIG5vIGxvbmdlciBzdXBwb3J0ZWQuIikKKyNlbGlmIGRlZmluZWQoX19HTlVDX18pIHx8IGRlZmluZWQoX19IUF9hQ0MpIHx8IFwKKyAgICBkZWZpbmVkKF9fU1VOUFJPX0NDKSB8fCBkZWZpbmVkKF9fSUJNQ1BQX18pCisjd2FybmluZyAiQk9PU1RfVU5PUkRFUkVEX0RFUFJFQ0FURURfRVFVQUxJVFkgaXMgbm8gbG9uZ2VyIHN1cHBvcnRlZC4iCisjZW5kaWYKKworI2VuZGlmCisKK25hbWVzcGFjZSBuZG5ib29zdCB7IG5hbWVzcGFjZSB1bm9yZGVyZWQgeyBuYW1lc3BhY2UgZGV0YWlsIHsKKworICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKyAgICAvLyBjb252ZXJ0IGRvdWJsZSB0byBzdGQ6OnNpemVfdAorCisgICAgaW5saW5lIHN0ZDo6c2l6ZV90IGRvdWJsZV90b19zaXplKGRvdWJsZSBmKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGYgPj0gc3RhdGljX2Nhc3Q8ZG91YmxlPigKKyAgICAgICAgICAgIChzdGQ6Om51bWVyaWNfbGltaXRzPHN0ZDo6c2l6ZV90Pjo6bWF4KSgpKSA/CisgICAgICAgICAgICAoc3RkOjpudW1lcmljX2xpbWl0czxzdGQ6OnNpemVfdD46Om1heCkoKSA6CisgICAgICAgICAgICBzdGF0aWNfY2FzdDxzdGQ6OnNpemVfdD4oZik7CisgICAgfQorCisgICAgLy8gVGhlIHNwYWNlIHVzZWQgdG8gc3RvcmUgdmFsdWVzIGluIGEgbm9kZS4KKworICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBWYWx1ZVR5cGU+CisgICAgc3RydWN0IHZhbHVlX2Jhc2UKKyAgICB7CisgICAgICAgIHR5cGVkZWYgVmFsdWVUeXBlIHZhbHVlX3R5cGU7CisKKyAgICAgICAgdHlwZW5hbWUgbmRuYm9vc3Q6OmFsaWduZWRfc3RvcmFnZTwKKyAgICAgICAgICAgIHNpemVvZih2YWx1ZV90eXBlKSwKKyAgICAgICAgICAgIG5kbmJvb3N0OjphbGlnbm1lbnRfb2Y8dmFsdWVfdHlwZT46OnZhbHVlPjo6dHlwZSBkYXRhXzsKKworICAgICAgICB2b2lkKiBhZGRyZXNzKCkgeworICAgICAgICAgICAgcmV0dXJuIHRoaXM7CisgICAgICAgIH0KKworICAgICAgICB2YWx1ZV90eXBlJiB2YWx1ZSgpIHsKKyAgICAgICAgICAgIHJldHVybiAqKFZhbHVlVHlwZSopIHRoaXM7CisgICAgICAgIH0KKworICAgICAgICB2YWx1ZV90eXBlKiB2YWx1ZV9wdHIoKSB7CisgICAgICAgICAgICByZXR1cm4gKFZhbHVlVHlwZSopIHRoaXM7CisgICAgICAgIH0KKworICAgIHByaXZhdGU6CisKKyAgICAgICAgdmFsdWVfYmFzZSYgb3BlcmF0b3I9KHZhbHVlX2Jhc2UgY29uc3QmKTsKKyAgICB9OworCisgICAgdGVtcGxhdGUgPHR5cGVuYW1lIE5vZGVBbGxvYz4KKyAgICBzdHJ1Y3QgY29weV9ub2RlcworICAgIHsKKyAgICAgICAgdHlwZWRlZiBuZG5ib29zdDo6dW5vcmRlcmVkOjpkZXRhaWw6OmFsbG9jYXRvcl90cmFpdHM8Tm9kZUFsbG9jPgorICAgICAgICAgICAgbm9kZV9hbGxvY2F0b3JfdHJhaXRzOworCisgICAgICAgIG5vZGVfY29uc3RydWN0b3I8Tm9kZUFsbG9jPiBjb25zdHJ1Y3RvcjsKKworICAgICAgICBleHBsaWNpdCBjb3B5X25vZGVzKE5vZGVBbGxvYyYgYSkgOiBjb25zdHJ1Y3RvcihhKSB7fQorCisgICAgICAgIHR5cGVuYW1lIG5vZGVfYWxsb2NhdG9yX3RyYWl0czo6cG9pbnRlciBjcmVhdGUoCisgICAgICAgICAgICAgICAgdHlwZW5hbWUgbm9kZV9hbGxvY2F0b3JfdHJhaXRzOjp2YWx1ZV90eXBlOjp2YWx1ZV90eXBlIGNvbnN0JiB2KQorICAgICAgICB7CisgICAgICAgICAgICBjb25zdHJ1Y3Rvci5jb25zdHJ1Y3Rfd2l0aF92YWx1ZTIodik7CisgICAgICAgICAgICByZXR1cm4gY29uc3RydWN0b3IucmVsZWFzZSgpOworICAgICAgICB9CisgICAgfTsKKworICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBOb2RlQWxsb2M+CisgICAgc3RydWN0IG1vdmVfbm9kZXMKKyAgICB7CisgICAgICAgIHR5cGVkZWYgbmRuYm9vc3Q6OnVub3JkZXJlZDo6ZGV0YWlsOjphbGxvY2F0b3JfdHJhaXRzPE5vZGVBbGxvYz4KKyAgICAgICAgICAgIG5vZGVfYWxsb2NhdG9yX3RyYWl0czsKKworICAgICAgICBub2RlX2NvbnN0cnVjdG9yPE5vZGVBbGxvYz4gY29uc3RydWN0b3I7CisKKyAgICAgICAgZXhwbGljaXQgbW92ZV9ub2RlcyhOb2RlQWxsb2MmIGEpIDogY29uc3RydWN0b3IoYSkge30KKworICAgICAgICB0eXBlbmFtZSBub2RlX2FsbG9jYXRvcl90cmFpdHM6OnBvaW50ZXIgY3JlYXRlKAorICAgICAgICAgICAgICAgIHR5cGVuYW1lIG5vZGVfYWxsb2NhdG9yX3RyYWl0czo6dmFsdWVfdHlwZTo6dmFsdWVfdHlwZSYgdikKKyAgICAgICAgeworICAgICAgICAgICAgY29uc3RydWN0b3IuY29uc3RydWN0X3dpdGhfdmFsdWUyKG5kbmJvb3N0Ojptb3ZlKHYpKTsKKyAgICAgICAgICAgIHJldHVybiBjb25zdHJ1Y3Rvci5yZWxlYXNlKCk7CisgICAgICAgIH0KKyAgICB9OworCisgICAgdGVtcGxhdGUgPHR5cGVuYW1lIEJ1Y2tldHM+CisgICAgc3RydWN0IGFzc2lnbl9ub2RlcworICAgIHsKKyAgICAgICAgbm9kZV9ob2xkZXI8dHlwZW5hbWUgQnVja2V0czo6bm9kZV9hbGxvY2F0b3I+IGhvbGRlcjsKKworICAgICAgICBleHBsaWNpdCBhc3NpZ25fbm9kZXMoQnVja2V0cyYgYikgOiBob2xkZXIoYikge30KKworICAgICAgICB0eXBlbmFtZSBCdWNrZXRzOjpub2RlX3BvaW50ZXIgY3JlYXRlKAorICAgICAgICAgICAgICAgIHR5cGVuYW1lIEJ1Y2tldHM6OnZhbHVlX3R5cGUgY29uc3QmIHYpCisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiBob2xkZXIuY29weV9vZih2KTsKKyAgICAgICAgfQorICAgIH07CisKKyAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgQnVja2V0cz4KKyAgICBzdHJ1Y3QgbW92ZV9hc3NpZ25fbm9kZXMKKyAgICB7CisgICAgICAgIG5vZGVfaG9sZGVyPHR5cGVuYW1lIEJ1Y2tldHM6Om5vZGVfYWxsb2NhdG9yPiBob2xkZXI7CisKKyAgICAgICAgZXhwbGljaXQgbW92ZV9hc3NpZ25fbm9kZXMoQnVja2V0cyYgYikgOiBob2xkZXIoYikge30KKworICAgICAgICB0eXBlbmFtZSBCdWNrZXRzOjpub2RlX3BvaW50ZXIgY3JlYXRlKAorICAgICAgICAgICAgICAgIHR5cGVuYW1lIEJ1Y2tldHM6OnZhbHVlX3R5cGUmIHYpCisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiBob2xkZXIubW92ZV9jb3B5X29mKHYpOworICAgICAgICB9CisgICAgfTsKKworICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBUeXBlcz4KKyAgICBzdHJ1Y3QgdGFibGUgOgorICAgICAgICBuZG5ib29zdDo6dW5vcmRlcmVkOjpkZXRhaWw6OmZ1bmN0aW9uczwKKyAgICAgICAgICAgIHR5cGVuYW1lIFR5cGVzOjpoYXNoZXIsCisgICAgICAgICAgICB0eXBlbmFtZSBUeXBlczo6a2V5X2VxdWFsPgorICAgIHsKKyAgICBwcml2YXRlOgorICAgICAgICB0YWJsZSh0YWJsZSBjb25zdCYpOworICAgICAgICB0YWJsZSYgb3BlcmF0b3I9KHRhYmxlIGNvbnN0Jik7CisgICAgcHVibGljOgorICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIFR5cGVzOjpub2RlIG5vZGU7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgVHlwZXM6OmJ1Y2tldCBidWNrZXQ7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgVHlwZXM6Omhhc2hlciBoYXNoZXI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgVHlwZXM6OmtleV9lcXVhbCBrZXlfZXF1YWw7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgVHlwZXM6OmtleV90eXBlIGtleV90eXBlOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIFR5cGVzOjpleHRyYWN0b3IgZXh0cmFjdG9yOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIFR5cGVzOjp2YWx1ZV90eXBlIHZhbHVlX3R5cGU7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgVHlwZXM6OnRhYmxlIHRhYmxlX2ltcGw7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgVHlwZXM6OmxpbmtfcG9pbnRlciBsaW5rX3BvaW50ZXI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgVHlwZXM6OnBvbGljeSBwb2xpY3k7CisKKyAgICAgICAgdHlwZWRlZiBuZG5ib29zdDo6dW5vcmRlcmVkOjpkZXRhaWw6OmZ1bmN0aW9uczwKKyAgICAgICAgICAgIHR5cGVuYW1lIFR5cGVzOjpoYXNoZXIsCisgICAgICAgICAgICB0eXBlbmFtZSBUeXBlczo6a2V5X2VxdWFsPiBmdW5jdGlvbnM7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgZnVuY3Rpb25zOjpzZXRfaGFzaF9mdW5jdGlvbnMgc2V0X2hhc2hfZnVuY3Rpb25zOworCisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgVHlwZXM6OmFsbG9jYXRvciBhbGxvY2F0b3I7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbmRuYm9vc3Q6OnVub3JkZXJlZDo6ZGV0YWlsOjoKKyAgICAgICAgICAgIHJlYmluZF93cmFwPGFsbG9jYXRvciwgbm9kZT46OnR5cGUgbm9kZV9hbGxvY2F0b3I7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbmRuYm9vc3Q6OnVub3JkZXJlZDo6ZGV0YWlsOjoKKyAgICAgICAgICAgIHJlYmluZF93cmFwPGFsbG9jYXRvciwgYnVja2V0Pjo6dHlwZSBidWNrZXRfYWxsb2NhdG9yOworICAgICAgICB0eXBlZGVmIG5kbmJvb3N0Ojp1bm9yZGVyZWQ6OmRldGFpbDo6YWxsb2NhdG9yX3RyYWl0czxub2RlX2FsbG9jYXRvcj4KKyAgICAgICAgICAgIG5vZGVfYWxsb2NhdG9yX3RyYWl0czsKKyAgICAgICAgdHlwZWRlZiBuZG5ib29zdDo6dW5vcmRlcmVkOjpkZXRhaWw6OmFsbG9jYXRvcl90cmFpdHM8YnVja2V0X2FsbG9jYXRvcj4KKyAgICAgICAgICAgIGJ1Y2tldF9hbGxvY2F0b3JfdHJhaXRzOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG5vZGVfYWxsb2NhdG9yX3RyYWl0czo6cG9pbnRlcgorICAgICAgICAgICAgbm9kZV9wb2ludGVyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIG5vZGVfYWxsb2NhdG9yX3RyYWl0czo6Y29uc3RfcG9pbnRlcgorICAgICAgICAgICAgY29uc3Rfbm9kZV9wb2ludGVyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGJ1Y2tldF9hbGxvY2F0b3JfdHJhaXRzOjpwb2ludGVyCisgICAgICAgICAgICBidWNrZXRfcG9pbnRlcjsKKyAgICAgICAgdHlwZWRlZiBuZG5ib29zdDo6dW5vcmRlcmVkOjpkZXRhaWw6Om5vZGVfY29uc3RydWN0b3I8bm9kZV9hbGxvY2F0b3I+CisgICAgICAgICAgICBub2RlX2NvbnN0cnVjdG9yOworCisgICAgICAgIHR5cGVkZWYgbmRuYm9vc3Q6OnVub3JkZXJlZDo6aXRlcmF0b3JfZGV0YWlsOjoKKyAgICAgICAgICAgIGl0ZXJhdG9yPG5vZGU+IGl0ZXJhdG9yOworICAgICAgICB0eXBlZGVmIG5kbmJvb3N0Ojp1bm9yZGVyZWQ6Oml0ZXJhdG9yX2RldGFpbDo6CisgICAgICAgICAgICBjX2l0ZXJhdG9yPG5vZGUsIGNvbnN0X25vZGVfcG9pbnRlcj4gY19pdGVyYXRvcjsKKyAgICAgICAgdHlwZWRlZiBuZG5ib29zdDo6dW5vcmRlcmVkOjppdGVyYXRvcl9kZXRhaWw6OgorICAgICAgICAgICAgbF9pdGVyYXRvcjxub2RlLCBwb2xpY3k+IGxfaXRlcmF0b3I7CisgICAgICAgIHR5cGVkZWYgbmRuYm9vc3Q6OnVub3JkZXJlZDo6aXRlcmF0b3JfZGV0YWlsOjoKKyAgICAgICAgICAgIGNsX2l0ZXJhdG9yPG5vZGUsIGNvbnN0X25vZGVfcG9pbnRlciwgcG9saWN5PiBjbF9pdGVyYXRvcjsKKworICAgICAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKyAgICAgICAgLy8gTWVtYmVycworCisgICAgICAgIG5kbmJvb3N0Ojp1bm9yZGVyZWQ6OmRldGFpbDo6Y29tcHJlc3NlZDxidWNrZXRfYWxsb2NhdG9yLCBub2RlX2FsbG9jYXRvcj4KKyAgICAgICAgICAgIGFsbG9jYXRvcnNfOworICAgICAgICBzdGQ6OnNpemVfdCBidWNrZXRfY291bnRfOworICAgICAgICBzdGQ6OnNpemVfdCBzaXplXzsKKyAgICAgICAgZmxvYXQgbWxmXzsKKyAgICAgICAgc3RkOjpzaXplX3QgbWF4X2xvYWRfOworICAgICAgICBidWNrZXRfcG9pbnRlciBidWNrZXRzXzsKKworICAgICAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKyAgICAgICAgLy8gRGF0YSBhY2Nlc3MKKworICAgICAgICBidWNrZXRfYWxsb2NhdG9yIGNvbnN0JiBidWNrZXRfYWxsb2MoKSBjb25zdAorICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4gYWxsb2NhdG9yc18uZmlyc3QoKTsKKyAgICAgICAgfQorCisgICAgICAgIG5vZGVfYWxsb2NhdG9yIGNvbnN0JiBub2RlX2FsbG9jKCkgY29uc3QKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJuIGFsbG9jYXRvcnNfLnNlY29uZCgpOworICAgICAgICB9CisKKyAgICAgICAgYnVja2V0X2FsbG9jYXRvciYgYnVja2V0X2FsbG9jKCkKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJuIGFsbG9jYXRvcnNfLmZpcnN0KCk7CisgICAgICAgIH0KKworICAgICAgICBub2RlX2FsbG9jYXRvciYgbm9kZV9hbGxvYygpCisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiBhbGxvY2F0b3JzXy5zZWNvbmQoKTsKKyAgICAgICAgfQorCisgICAgICAgIHN0ZDo6c2l6ZV90IG1heF9idWNrZXRfY291bnQoKSBjb25zdAorICAgICAgICB7CisgICAgICAgICAgICAvLyAtMSB0byBhY2NvdW50IGZvciB0aGUgc3RhcnQgYnVja2V0LgorICAgICAgICAgICAgcmV0dXJuIHBvbGljeTo6cHJldl9idWNrZXRfY291bnQoCisgICAgICAgICAgICAgICAgYnVja2V0X2FsbG9jYXRvcl90cmFpdHM6Om1heF9zaXplKGJ1Y2tldF9hbGxvYygpKSAtIDEpOworICAgICAgICB9CisKKyAgICAgICAgYnVja2V0X3BvaW50ZXIgZ2V0X2J1Y2tldChzdGQ6OnNpemVfdCBidWNrZXRfaW5kZXgpIGNvbnN0CisgICAgICAgIHsKKyAgICAgICAgICAgIEJPT1NUX0FTU0VSVChidWNrZXRzXyk7CisgICAgICAgICAgICByZXR1cm4gYnVja2V0c18gKyBzdGF0aWNfY2FzdDxzdGQ6OnB0cmRpZmZfdD4oYnVja2V0X2luZGV4KTsKKyAgICAgICAgfQorCisgICAgICAgIGxpbmtfcG9pbnRlciBnZXRfcHJldmlvdXNfc3RhcnQoKSBjb25zdAorICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4gZ2V0X2J1Y2tldChidWNrZXRfY291bnRfKS0+Zmlyc3RfZnJvbV9zdGFydCgpOworICAgICAgICB9CisKKyAgICAgICAgbGlua19wb2ludGVyIGdldF9wcmV2aW91c19zdGFydChzdGQ6OnNpemVfdCBidWNrZXRfaW5kZXgpIGNvbnN0CisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiBnZXRfYnVja2V0KGJ1Y2tldF9pbmRleCktPm5leHRfOworICAgICAgICB9CisKKyAgICAgICAgaXRlcmF0b3IgYmVnaW4oKSBjb25zdAorICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4gc2l6ZV8gPyBpdGVyYXRvcihnZXRfcHJldmlvdXNfc3RhcnQoKS0+bmV4dF8pIDogaXRlcmF0b3IoKTsKKyAgICAgICAgfQorCisgICAgICAgIGl0ZXJhdG9yIGJlZ2luKHN0ZDo6c2l6ZV90IGJ1Y2tldF9pbmRleCkgY29uc3QKKyAgICAgICAgeworICAgICAgICAgICAgaWYgKCFzaXplXykgcmV0dXJuIGl0ZXJhdG9yKCk7CisgICAgICAgICAgICBsaW5rX3BvaW50ZXIgcHJldiA9IGdldF9wcmV2aW91c19zdGFydChidWNrZXRfaW5kZXgpOworICAgICAgICAgICAgcmV0dXJuIHByZXYgPyBpdGVyYXRvcihwcmV2LT5uZXh0XykgOiBpdGVyYXRvcigpOworICAgICAgICB9CisgICAgICAgIAorICAgICAgICBzdGQ6OnNpemVfdCBoYXNoX3RvX2J1Y2tldChzdGQ6OnNpemVfdCBoYXNoKSBjb25zdAorICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4gcG9saWN5Ojp0b19idWNrZXQoYnVja2V0X2NvdW50XywgaGFzaCk7CisgICAgICAgIH0KKworICAgICAgICBmbG9hdCBsb2FkX2ZhY3RvcigpIGNvbnN0CisgICAgICAgIHsKKyAgICAgICAgICAgIEJPT1NUX0FTU0VSVChidWNrZXRfY291bnRfICE9IDApOworICAgICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGZsb2F0PihzaXplXykKKyAgICAgICAgICAgICAgICAvIHN0YXRpY19jYXN0PGZsb2F0PihidWNrZXRfY291bnRfKTsKKyAgICAgICAgfQorCisgICAgICAgIHN0ZDo6c2l6ZV90IGJ1Y2tldF9zaXplKHN0ZDo6c2l6ZV90IGluZGV4KSBjb25zdAorICAgICAgICB7CisgICAgICAgICAgICBpdGVyYXRvciBpdCA9IGJlZ2luKGluZGV4KTsKKyAgICAgICAgICAgIGlmICghaXQubm9kZV8pIHJldHVybiAwOworCisgICAgICAgICAgICBzdGQ6OnNpemVfdCBjb3VudCA9IDA7CisgICAgICAgICAgICB3aGlsZShpdC5ub2RlXyAmJiBoYXNoX3RvX2J1Y2tldChpdC5ub2RlXy0+aGFzaF8pID09IGluZGV4KQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICsrY291bnQ7CisgICAgICAgICAgICAgICAgKytpdDsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgcmV0dXJuIGNvdW50OworICAgICAgICB9CisKKyAgICAgICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCisgICAgICAgIC8vIExvYWQgbWV0aG9kcworCisgICAgICAgIHN0ZDo6c2l6ZV90IG1heF9zaXplKCkgY29uc3QKKyAgICAgICAgeworICAgICAgICAgICAgdXNpbmcgbmFtZXNwYWNlIHN0ZDsKKyAgICAKKyAgICAgICAgICAgIC8vIHNpemUgPCBtbGZfICogY291bnQKKyAgICAgICAgICAgIHJldHVybiBuZG5ib29zdDo6dW5vcmRlcmVkOjpkZXRhaWw6OmRvdWJsZV90b19zaXplKGNlaWwoCisgICAgICAgICAgICAgICAgICAgIHN0YXRpY19jYXN0PGRvdWJsZT4obWxmXykgKgorICAgICAgICAgICAgICAgICAgICBzdGF0aWNfY2FzdDxkb3VibGU+KG1heF9idWNrZXRfY291bnQoKSkKKyAgICAgICAgICAgICAgICApKSAtIDE7CisgICAgICAgIH0KKworICAgICAgICB2b2lkIHJlY2FsY3VsYXRlX21heF9sb2FkKCkKKyAgICAgICAgeworICAgICAgICAgICAgdXNpbmcgbmFtZXNwYWNlIHN0ZDsKKyAgICAKKyAgICAgICAgICAgIC8vIEZyb20gNi4zLjEvMTM6CisgICAgICAgICAgICAvLyBPbmx5IHJlc2l6ZSB3aGVuIHNpemUgPj0gbWxmXyAqIGNvdW50CisgICAgICAgICAgICBtYXhfbG9hZF8gPSBidWNrZXRzXyA/IG5kbmJvb3N0Ojp1bm9yZGVyZWQ6OmRldGFpbDo6ZG91YmxlX3RvX3NpemUoY2VpbCgKKyAgICAgICAgICAgICAgICAgICAgc3RhdGljX2Nhc3Q8ZG91YmxlPihtbGZfKSAqCisgICAgICAgICAgICAgICAgICAgIHN0YXRpY19jYXN0PGRvdWJsZT4oYnVja2V0X2NvdW50XykKKyAgICAgICAgICAgICAgICApKSA6IDA7CisKKyAgICAgICAgfQorCisgICAgICAgIHZvaWQgbWF4X2xvYWRfZmFjdG9yKGZsb2F0IHopCisgICAgICAgIHsKKyAgICAgICAgICAgIEJPT1NUX0FTU0VSVCh6ID4gMCk7CisgICAgICAgICAgICBtbGZfID0gKHN0ZDo6bWF4KSh6LCBtaW5pbXVtX21heF9sb2FkX2ZhY3Rvcik7CisgICAgICAgICAgICByZWNhbGN1bGF0ZV9tYXhfbG9hZCgpOworICAgICAgICB9CisKKyAgICAgICAgc3RkOjpzaXplX3QgbWluX2J1Y2tldHNfZm9yX3NpemUoc3RkOjpzaXplX3Qgc2l6ZSkgY29uc3QKKyAgICAgICAgeworICAgICAgICAgICAgQk9PU1RfQVNTRVJUKG1sZl8gPj0gbWluaW11bV9tYXhfbG9hZF9mYWN0b3IpOworICAgIAorICAgICAgICAgICAgdXNpbmcgbmFtZXNwYWNlIHN0ZDsKKyAgICAKKyAgICAgICAgICAgIC8vIEZyb20gNi4zLjEvMTM6CisgICAgICAgICAgICAvLyBzaXplIDwgbWxmXyAqIGNvdW50CisgICAgICAgICAgICAvLyA9PiBjb3VudCA+IHNpemUgLyBtbGZfCisgICAgICAgICAgICAvLworICAgICAgICAgICAgLy8gT3IgZnJvbSByZWhhc2ggcG9zdC1jb25kaXRpb246CisgICAgICAgICAgICAvLyBjb3VudCA+IHNpemUgLyBtbGZfCisKKyAgICAgICAgICAgIHJldHVybiBwb2xpY3k6Om5ld19idWNrZXRfY291bnQoCisgICAgICAgICAgICAgICAgbmRuYm9vc3Q6OnVub3JkZXJlZDo6ZGV0YWlsOjpkb3VibGVfdG9fc2l6ZShmbG9vcigKKyAgICAgICAgICAgICAgICAgICAgc3RhdGljX2Nhc3Q8ZG91YmxlPihzaXplKSAvCisgICAgICAgICAgICAgICAgICAgIHN0YXRpY19jYXN0PGRvdWJsZT4obWxmXykpKSArIDEpOworICAgICAgICB9CisKKyAgICAgICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCisgICAgICAgIC8vIENvbnN0cnVjdG9ycworCisgICAgICAgIHRhYmxlKHN0ZDo6c2l6ZV90IG51bV9idWNrZXRzLAorICAgICAgICAgICAgICAgIGhhc2hlciBjb25zdCYgaGYsCisgICAgICAgICAgICAgICAga2V5X2VxdWFsIGNvbnN0JiBlcSwKKyAgICAgICAgICAgICAgICBub2RlX2FsbG9jYXRvciBjb25zdCYgYSkgOgorICAgICAgICAgICAgZnVuY3Rpb25zKGhmLCBlcSksCisgICAgICAgICAgICBhbGxvY2F0b3JzXyhhLGEpLAorICAgICAgICAgICAgYnVja2V0X2NvdW50Xyhwb2xpY3k6Om5ld19idWNrZXRfY291bnQobnVtX2J1Y2tldHMpKSwKKyAgICAgICAgICAgIHNpemVfKDApLAorICAgICAgICAgICAgbWxmXygxLjBmKSwKKyAgICAgICAgICAgIG1heF9sb2FkXygwKSwKKyAgICAgICAgICAgIGJ1Y2tldHNfKCkKKyAgICAgICAge30KKworICAgICAgICB0YWJsZSh0YWJsZSBjb25zdCYgeCwgbm9kZV9hbGxvY2F0b3IgY29uc3QmIGEpIDoKKyAgICAgICAgICAgIGZ1bmN0aW9ucyh4KSwKKyAgICAgICAgICAgIGFsbG9jYXRvcnNfKGEsYSksCisgICAgICAgICAgICBidWNrZXRfY291bnRfKHgubWluX2J1Y2tldHNfZm9yX3NpemUoeC5zaXplXykpLAorICAgICAgICAgICAgc2l6ZV8oMCksCisgICAgICAgICAgICBtbGZfKHgubWxmXyksCisgICAgICAgICAgICBtYXhfbG9hZF8oMCksCisgICAgICAgICAgICBidWNrZXRzXygpCisgICAgICAgIHt9CisKKyAgICAgICAgdGFibGUodGFibGUmIHgsIG5kbmJvb3N0Ojp1bm9yZGVyZWQ6OmRldGFpbDo6bW92ZV90YWcgbSkgOgorICAgICAgICAgICAgZnVuY3Rpb25zKHgsIG0pLAorICAgICAgICAgICAgYWxsb2NhdG9yc18oeC5hbGxvY2F0b3JzXywgbSksCisgICAgICAgICAgICBidWNrZXRfY291bnRfKHguYnVja2V0X2NvdW50XyksCisgICAgICAgICAgICBzaXplXyh4LnNpemVfKSwKKyAgICAgICAgICAgIG1sZl8oeC5tbGZfKSwKKyAgICAgICAgICAgIG1heF9sb2FkXyh4Lm1heF9sb2FkXyksCisgICAgICAgICAgICBidWNrZXRzXyh4LmJ1Y2tldHNfKQorICAgICAgICB7CisgICAgICAgICAgICB4LmJ1Y2tldHNfID0gYnVja2V0X3BvaW50ZXIoKTsKKyAgICAgICAgICAgIHguc2l6ZV8gPSAwOworICAgICAgICAgICAgeC5tYXhfbG9hZF8gPSAwOworICAgICAgICB9CisKKyAgICAgICAgdGFibGUodGFibGUmIHgsIG5vZGVfYWxsb2NhdG9yIGNvbnN0JiBhLAorICAgICAgICAgICAgICAgIG5kbmJvb3N0Ojp1bm9yZGVyZWQ6OmRldGFpbDo6bW92ZV90YWcgbSkgOgorICAgICAgICAgICAgZnVuY3Rpb25zKHgsIG0pLAorICAgICAgICAgICAgYWxsb2NhdG9yc18oYSwgYSksCisgICAgICAgICAgICBidWNrZXRfY291bnRfKHguYnVja2V0X2NvdW50XyksCisgICAgICAgICAgICBzaXplXygwKSwKKyAgICAgICAgICAgIG1sZl8oeC5tbGZfKSwKKyAgICAgICAgICAgIG1heF9sb2FkXyh4Lm1heF9sb2FkXyksCisgICAgICAgICAgICBidWNrZXRzXygpCisgICAgICAgIHt9CisKKyAgICAgICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCisgICAgICAgIC8vIEluaXRpYWxpc2F0aW9uLgorCisgICAgICAgIHZvaWQgaW5pdCh0YWJsZSBjb25zdCYgeCkKKyAgICAgICAgeworICAgICAgICAgICAgaWYgKHguc2l6ZV8pIHsKKyAgICAgICAgICAgICAgICBjcmVhdGVfYnVja2V0cyhidWNrZXRfY291bnRfKTsKKyAgICAgICAgICAgICAgICBjb3B5X25vZGVzPG5vZGVfYWxsb2NhdG9yPiBjb3B5KG5vZGVfYWxsb2MoKSk7CisgICAgICAgICAgICAgICAgdGFibGVfaW1wbDo6ZmlsbF9idWNrZXRzKHguYmVnaW4oKSwgKnRoaXMsIGNvcHkpOworICAgICAgICAgICAgfQorICAgICAgICB9CisKKyAgICAgICAgdm9pZCBtb3ZlX2luaXQodGFibGUmIHgpCisgICAgICAgIHsKKyAgICAgICAgICAgIGlmKG5vZGVfYWxsb2MoKSA9PSB4Lm5vZGVfYWxsb2MoKSkgeworICAgICAgICAgICAgICAgIG1vdmVfYnVja2V0c19mcm9tKHgpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgZWxzZSBpZih4LnNpemVfKSB7CisgICAgICAgICAgICAgICAgLy8gVE9ETzogQ291bGQgcGljayBuZXcgYnVja2V0IHNpemU/CisgICAgICAgICAgICAgICAgY3JlYXRlX2J1Y2tldHMoYnVja2V0X2NvdW50Xyk7CisKKyAgICAgICAgICAgICAgICBtb3ZlX25vZGVzPG5vZGVfYWxsb2NhdG9yPiBtb3ZlKG5vZGVfYWxsb2MoKSk7CisgICAgICAgICAgICAgICAgbm9kZV9ob2xkZXI8bm9kZV9hbGxvY2F0b3I+IG5vZGVzKHgpOworICAgICAgICAgICAgICAgIHRhYmxlX2ltcGw6OmZpbGxfYnVja2V0cyhub2Rlcy5iZWdpbigpLCAqdGhpcywgbW92ZSk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKworICAgICAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKyAgICAgICAgLy8gQ3JlYXRlIGJ1Y2tldHMKKworICAgICAgICB2b2lkIGNyZWF0ZV9idWNrZXRzKHN0ZDo6c2l6ZV90IG5ld19jb3VudCkKKyAgICAgICAgeworICAgICAgICAgICAgbmRuYm9vc3Q6OnVub3JkZXJlZDo6ZGV0YWlsOjphcnJheV9jb25zdHJ1Y3RvcjxidWNrZXRfYWxsb2NhdG9yPgorICAgICAgICAgICAgICAgIGNvbnN0cnVjdG9yKGJ1Y2tldF9hbGxvYygpKTsKKyAgICAKKyAgICAgICAgICAgIC8vIENyZWF0ZXMgYW4gZXh0cmEgYnVja2V0IHRvIGFjdCBhcyB0aGUgc3RhcnQgbm9kZS4KKyAgICAgICAgICAgIGNvbnN0cnVjdG9yLmNvbnN0cnVjdChidWNrZXQoKSwgbmV3X2NvdW50ICsgMSk7CisKKyAgICAgICAgICAgIGlmIChidWNrZXRzXykKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAvLyBDb3B5IHRoZSBub2RlcyB0byB0aGUgbmV3IGJ1Y2tldHMsIGluY2x1ZGluZyB0aGUgZHVtbXkKKyAgICAgICAgICAgICAgICAvLyBub2RlIGlmIHRoZXJlIGlzIG9uZS4KKyAgICAgICAgICAgICAgICAoY29uc3RydWN0b3IuZ2V0KCkgKworICAgICAgICAgICAgICAgICAgICBzdGF0aWNfY2FzdDxzdGQ6OnB0cmRpZmZfdD4obmV3X2NvdW50KSktPm5leHRfID0KKyAgICAgICAgICAgICAgICAgICAgICAgIChidWNrZXRzXyArIHN0YXRpY19jYXN0PHN0ZDo6cHRyZGlmZl90PigKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBidWNrZXRfY291bnRfKSktPm5leHRfOworICAgICAgICAgICAgICAgIGRlc3Ryb3lfYnVja2V0cygpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgZWxzZSBpZiAoYnVja2V0OjpleHRyYV9ub2RlKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIG5vZGVfY29uc3RydWN0b3IgYShub2RlX2FsbG9jKCkpOworICAgICAgICAgICAgICAgIGEuY29uc3RydWN0KCk7CisKKyAgICAgICAgICAgICAgICAoY29uc3RydWN0b3IuZ2V0KCkgKworICAgICAgICAgICAgICAgICAgICBzdGF0aWNfY2FzdDxzdGQ6OnB0cmRpZmZfdD4obmV3X2NvdW50KSktPm5leHRfID0KKyAgICAgICAgICAgICAgICAgICAgICAgIGEucmVsZWFzZSgpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBidWNrZXRfY291bnRfID0gbmV3X2NvdW50OworICAgICAgICAgICAgYnVja2V0c18gPSBjb25zdHJ1Y3Rvci5yZWxlYXNlKCk7CisgICAgICAgICAgICByZWNhbGN1bGF0ZV9tYXhfbG9hZCgpOworICAgICAgICB9CisKKyAgICAgICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCisgICAgICAgIC8vIFN3YXAgYW5kIE1vdmUKKworICAgICAgICB2b2lkIHN3YXBfYWxsb2NhdG9ycyh0YWJsZSYgb3RoZXIsIGZhbHNlX3R5cGUpCisgICAgICAgIHsKKyAgICAgICAgICAgIC8vIEFjY29yZGluZyB0byAyMy4yLjEuOCwgaWYgcHJvcGFnYXRlX29uX2NvbnRhaW5lcl9zd2FwIGlzCisgICAgICAgICAgICAvLyBmYWxzZSB0aGUgYmVoYXZpb3VyIGlzIHVuZGVmaW5lZCB1bmxlc3MgdGhlIGFsbG9jYXRvcnMKKyAgICAgICAgICAgIC8vIGFyZSBlcXVhbC4KKyAgICAgICAgICAgIEJPT1NUX0FTU0VSVChub2RlX2FsbG9jKCkgPT0gb3RoZXIubm9kZV9hbGxvYygpKTsKKyAgICAgICAgfQorCisgICAgICAgIHZvaWQgc3dhcF9hbGxvY2F0b3JzKHRhYmxlJiBvdGhlciwgdHJ1ZV90eXBlKQorICAgICAgICB7CisgICAgICAgICAgICBhbGxvY2F0b3JzXy5zd2FwKG90aGVyLmFsbG9jYXRvcnNfKTsKKyAgICAgICAgfQorCisgICAgICAgIC8vIE9ubHkgc3dhcHMgdGhlIGFsbG9jYXRvcnMgaWYgcHJvcGFnYXRlX29uX2NvbnRhaW5lcl9zd2FwCisgICAgICAgIHZvaWQgc3dhcCh0YWJsZSYgeCkKKyAgICAgICAgeworICAgICAgICAgICAgc2V0X2hhc2hfZnVuY3Rpb25zIG9wMSgqdGhpcywgeCk7CisgICAgICAgICAgICBzZXRfaGFzaF9mdW5jdGlvbnMgb3AyKHgsICp0aGlzKTsKKworICAgICAgICAgICAgLy8gSSB0aGluayBzd2FwIGNhbiB0aHJvdyBpZiBQcm9wYWdhdGU6OnZhbHVlLAorICAgICAgICAgICAgLy8gc2luY2UgdGhlIGFsbG9jYXRvcnMnIHN3YXAgY2FuIHRocm93LiBOb3Qgc3VyZSB0aG91Z2guCisgICAgICAgICAgICBzd2FwX2FsbG9jYXRvcnMoeCwKKyAgICAgICAgICAgICAgICBuZG5ib29zdDo6dW5vcmRlcmVkOjpkZXRhaWw6OmludGVncmFsX2NvbnN0YW50PGJvb2wsCisgICAgICAgICAgICAgICAgICAgIGFsbG9jYXRvcl90cmFpdHM8bm9kZV9hbGxvY2F0b3I+OjoKKyAgICAgICAgICAgICAgICAgICAgcHJvcGFnYXRlX29uX2NvbnRhaW5lcl9zd2FwOjp2YWx1ZT4oKSk7CisKKyAgICAgICAgICAgIG5kbmJvb3N0Ojpzd2FwKGJ1Y2tldHNfLCB4LmJ1Y2tldHNfKTsKKyAgICAgICAgICAgIG5kbmJvb3N0Ojpzd2FwKGJ1Y2tldF9jb3VudF8sIHguYnVja2V0X2NvdW50Xyk7CisgICAgICAgICAgICBuZG5ib29zdDo6c3dhcChzaXplXywgeC5zaXplXyk7CisgICAgICAgICAgICBzdGQ6OnN3YXAobWxmXywgeC5tbGZfKTsKKyAgICAgICAgICAgIHN0ZDo6c3dhcChtYXhfbG9hZF8sIHgubWF4X2xvYWRfKTsKKyAgICAgICAgICAgIG9wMS5jb21taXQoKTsKKyAgICAgICAgICAgIG9wMi5jb21taXQoKTsKKyAgICAgICAgfQorCisgICAgICAgIHZvaWQgbW92ZV9idWNrZXRzX2Zyb20odGFibGUmIG90aGVyKQorICAgICAgICB7CisgICAgICAgICAgICBCT09TVF9BU1NFUlQobm9kZV9hbGxvYygpID09IG90aGVyLm5vZGVfYWxsb2MoKSk7CisgICAgICAgICAgICBCT09TVF9BU1NFUlQoIWJ1Y2tldHNfKTsKKyAgICAgICAgICAgIGJ1Y2tldHNfID0gb3RoZXIuYnVja2V0c187CisgICAgICAgICAgICBidWNrZXRfY291bnRfID0gb3RoZXIuYnVja2V0X2NvdW50XzsKKyAgICAgICAgICAgIHNpemVfID0gb3RoZXIuc2l6ZV87CisgICAgICAgICAgICBvdGhlci5idWNrZXRzXyA9IGJ1Y2tldF9wb2ludGVyKCk7CisgICAgICAgICAgICBvdGhlci5zaXplXyA9IDA7CisgICAgICAgICAgICBvdGhlci5tYXhfbG9hZF8gPSAwOworICAgICAgICB9CisKKyAgICAgICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCisgICAgICAgIC8vIERlbGV0ZS9kZXN0cnVjdAorCisgICAgICAgIH50YWJsZSgpCisgICAgICAgIHsKKyAgICAgICAgICAgIGRlbGV0ZV9idWNrZXRzKCk7CisgICAgICAgIH0KKworICAgICAgICB2b2lkIGRlbGV0ZV9ub2RlKGxpbmtfcG9pbnRlciBwcmV2KQorICAgICAgICB7CisgICAgICAgICAgICBub2RlX3BvaW50ZXIgbiA9IHN0YXRpY19jYXN0PG5vZGVfcG9pbnRlcj4ocHJldi0+bmV4dF8pOworICAgICAgICAgICAgcHJldi0+bmV4dF8gPSBuLT5uZXh0XzsKKworICAgICAgICAgICAgbmRuYm9vc3Q6OnVub3JkZXJlZDo6ZGV0YWlsOjpkZXN0cm95X3ZhbHVlX2ltcGwobm9kZV9hbGxvYygpLAorICAgICAgICAgICAgICAgIG4tPnZhbHVlX3B0cigpKTsKKyAgICAgICAgICAgIG5vZGVfYWxsb2NhdG9yX3RyYWl0czo6ZGVzdHJveShub2RlX2FsbG9jKCksCisgICAgICAgICAgICAgICAgICAgIG5kbmJvb3N0OjphZGRyZXNzb2YoKm4pKTsKKyAgICAgICAgICAgIG5vZGVfYWxsb2NhdG9yX3RyYWl0czo6ZGVhbGxvY2F0ZShub2RlX2FsbG9jKCksIG4sIDEpOworICAgICAgICAgICAgLS1zaXplXzsKKyAgICAgICAgfQorCisgICAgICAgIHN0ZDo6c2l6ZV90IGRlbGV0ZV9ub2RlcyhsaW5rX3BvaW50ZXIgcHJldiwgbGlua19wb2ludGVyIGVuZCkKKyAgICAgICAgeworICAgICAgICAgICAgQk9PU1RfQVNTRVJUKHByZXYtPm5leHRfICE9IGVuZCk7CisKKyAgICAgICAgICAgIHN0ZDo6c2l6ZV90IGNvdW50ID0gMDsKKworICAgICAgICAgICAgZG8geworICAgICAgICAgICAgICAgIGRlbGV0ZV9ub2RlKHByZXYpOworICAgICAgICAgICAgICAgICsrY291bnQ7CisgICAgICAgICAgICB9IHdoaWxlIChwcmV2LT5uZXh0XyAhPSBlbmQpOworCisgICAgICAgICAgICByZXR1cm4gY291bnQ7CisgICAgICAgIH0KKworICAgICAgICB2b2lkIGRlbGV0ZV9idWNrZXRzKCkKKyAgICAgICAgeworICAgICAgICAgICAgaWYoYnVja2V0c18pIHsKKyAgICAgICAgICAgICAgICBpZiAoc2l6ZV8pIGRlbGV0ZV9ub2RlcyhnZXRfcHJldmlvdXNfc3RhcnQoKSwgbGlua19wb2ludGVyKCkpOworCisgICAgICAgICAgICAgICAgaWYgKGJ1Y2tldDo6ZXh0cmFfbm9kZSkgeworICAgICAgICAgICAgICAgICAgICBub2RlX3BvaW50ZXIgbiA9IHN0YXRpY19jYXN0PG5vZGVfcG9pbnRlcj4oCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0X2J1Y2tldChidWNrZXRfY291bnRfKS0+bmV4dF8pOworICAgICAgICAgICAgICAgICAgICBub2RlX2FsbG9jYXRvcl90cmFpdHM6OmRlc3Ryb3kobm9kZV9hbGxvYygpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5kbmJvb3N0OjphZGRyZXNzb2YoKm4pKTsKKyAgICAgICAgICAgICAgICAgICAgbm9kZV9hbGxvY2F0b3JfdHJhaXRzOjpkZWFsbG9jYXRlKG5vZGVfYWxsb2MoKSwgbiwgMSk7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgZGVzdHJveV9idWNrZXRzKCk7CisgICAgICAgICAgICAgICAgYnVja2V0c18gPSBidWNrZXRfcG9pbnRlcigpOworICAgICAgICAgICAgICAgIG1heF9sb2FkXyA9IDA7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIEJPT1NUX0FTU0VSVCghc2l6ZV8pOworICAgICAgICB9CisKKyAgICAgICAgdm9pZCBjbGVhcigpCisgICAgICAgIHsKKyAgICAgICAgICAgIGlmICghc2l6ZV8pIHJldHVybjsKKworICAgICAgICAgICAgZGVsZXRlX25vZGVzKGdldF9wcmV2aW91c19zdGFydCgpLCBsaW5rX3BvaW50ZXIoKSk7CisgICAgICAgICAgICBjbGVhcl9idWNrZXRzKCk7CisKKyAgICAgICAgICAgIEJPT1NUX0FTU0VSVCghc2l6ZV8pOworICAgICAgICB9CisKKyAgICAgICAgdm9pZCBjbGVhcl9idWNrZXRzKCkKKyAgICAgICAgeworICAgICAgICAgICAgYnVja2V0X3BvaW50ZXIgZW5kID0gZ2V0X2J1Y2tldChidWNrZXRfY291bnRfKTsKKyAgICAgICAgICAgIGZvcihidWNrZXRfcG9pbnRlciBpdCA9IGJ1Y2tldHNfOyBpdCAhPSBlbmQ7ICsraXQpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgaXQtPm5leHRfID0gbm9kZV9wb2ludGVyKCk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKworICAgICAgICB2b2lkIGRlc3Ryb3lfYnVja2V0cygpCisgICAgICAgIHsKKyAgICAgICAgICAgIGJ1Y2tldF9wb2ludGVyIGVuZCA9IGdldF9idWNrZXQoYnVja2V0X2NvdW50XyArIDEpOworICAgICAgICAgICAgZm9yKGJ1Y2tldF9wb2ludGVyIGl0ID0gYnVja2V0c187IGl0ICE9IGVuZDsgKytpdCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBidWNrZXRfYWxsb2NhdG9yX3RyYWl0czo6ZGVzdHJveShidWNrZXRfYWxsb2MoKSwKKyAgICAgICAgICAgICAgICAgICAgbmRuYm9vc3Q6OmFkZHJlc3NvZigqaXQpKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgYnVja2V0X2FsbG9jYXRvcl90cmFpdHM6OmRlYWxsb2NhdGUoYnVja2V0X2FsbG9jKCksCisgICAgICAgICAgICAgICAgYnVja2V0c18sIGJ1Y2tldF9jb3VudF8gKyAxKTsKKyAgICAgICAgfQorCisgICAgICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworICAgICAgICAvLyBGaXggYnVja2V0cyBhZnRlciBkZWxldGUKKyAgICAgICAgLy8KKworICAgICAgICBzdGQ6OnNpemVfdCBmaXhfYnVja2V0KHN0ZDo6c2l6ZV90IGJ1Y2tldF9pbmRleCwgbGlua19wb2ludGVyIHByZXYpCisgICAgICAgIHsKKyAgICAgICAgICAgIGxpbmtfcG9pbnRlciBlbmQgPSBwcmV2LT5uZXh0XzsKKyAgICAgICAgICAgIHN0ZDo6c2l6ZV90IGJ1Y2tldF9pbmRleDIgPSBidWNrZXRfaW5kZXg7CisKKyAgICAgICAgICAgIGlmIChlbmQpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgYnVja2V0X2luZGV4MiA9IGhhc2hfdG9fYnVja2V0KAorICAgICAgICAgICAgICAgICAgICBzdGF0aWNfY2FzdDxub2RlX3BvaW50ZXI+KGVuZCktPmhhc2hfKTsKKworICAgICAgICAgICAgICAgIC8vIElmIGJlZ2luIGFuZCBlbmQgYXJlIGluIHRoZSBzYW1lIGJ1Y2tldCwgdGhlbgorICAgICAgICAgICAgICAgIC8vIHRoZXJlJ3Mgbm90aGluZyB0byBkby4KKyAgICAgICAgICAgICAgICBpZiAoYnVja2V0X2luZGV4ID09IGJ1Y2tldF9pbmRleDIpIHJldHVybiBidWNrZXRfaW5kZXgyOworCisgICAgICAgICAgICAgICAgLy8gVXBkYXRlIHRoZSBidWNrZXQgY29udGFpbmluZyBlbmQuCisgICAgICAgICAgICAgICAgZ2V0X2J1Y2tldChidWNrZXRfaW5kZXgyKS0+bmV4dF8gPSBwcmV2OworICAgICAgICAgICAgfQorCisgICAgICAgICAgICAvLyBDaGVjayBpZiB0aGlzIGJ1Y2tldCBpcyBub3cgZW1wdHkuCisgICAgICAgICAgICBidWNrZXRfcG9pbnRlciB0aGlzX2J1Y2tldCA9IGdldF9idWNrZXQoYnVja2V0X2luZGV4KTsKKyAgICAgICAgICAgIGlmICh0aGlzX2J1Y2tldC0+bmV4dF8gPT0gcHJldikKKyAgICAgICAgICAgICAgICB0aGlzX2J1Y2tldC0+bmV4dF8gPSBsaW5rX3BvaW50ZXIoKTsKKworICAgICAgICAgICAgcmV0dXJuIGJ1Y2tldF9pbmRleDI7CisgICAgICAgIH0KKworICAgICAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKyAgICAgICAgLy8gQXNzaWdubWVudAorCisgICAgICAgIHZvaWQgYXNzaWduKHRhYmxlIGNvbnN0JiB4KQorICAgICAgICB7CisgICAgICAgICAgICBpZiAodGhpcyAhPSBuZG5ib29zdDo6YWRkcmVzc29mKHgpKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGFzc2lnbih4LAorICAgICAgICAgICAgICAgICAgICBuZG5ib29zdDo6dW5vcmRlcmVkOjpkZXRhaWw6OmludGVncmFsX2NvbnN0YW50PGJvb2wsCisgICAgICAgICAgICAgICAgICAgICAgICBhbGxvY2F0b3JfdHJhaXRzPG5vZGVfYWxsb2NhdG9yPjo6CisgICAgICAgICAgICAgICAgICAgICAgICBwcm9wYWdhdGVfb25fY29udGFpbmVyX2NvcHlfYXNzaWdubWVudDo6dmFsdWU+KCkpOworICAgICAgICAgICAgfQorICAgICAgICB9CisKKyAgICAgICAgdm9pZCBhc3NpZ24odGFibGUgY29uc3QmIHgsIGZhbHNlX3R5cGUpCisgICAgICAgIHsKKyAgICAgICAgICAgIC8vIFN0cm9uZyBleGNlcHRpb24gc2FmZXR5LgorICAgICAgICAgICAgc2V0X2hhc2hfZnVuY3Rpb25zIG5ld19mdW5jX3RoaXMoKnRoaXMsIHgpOworICAgICAgICAgICAgbmV3X2Z1bmNfdGhpcy5jb21taXQoKTsKKyAgICAgICAgICAgIG1sZl8gPSB4Lm1sZl87CisgICAgICAgICAgICByZWNhbGN1bGF0ZV9tYXhfbG9hZCgpOworCisgICAgICAgICAgICBpZiAoIXNpemVfICYmICF4LnNpemVfKSByZXR1cm47CisKKyAgICAgICAgICAgIGlmICh4LnNpemVfID49IG1heF9sb2FkXykgeworICAgICAgICAgICAgICAgIGNyZWF0ZV9idWNrZXRzKG1pbl9idWNrZXRzX2Zvcl9zaXplKHguc2l6ZV8pKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGVsc2UgeworICAgICAgICAgICAgICAgIGNsZWFyX2J1Y2tldHMoKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgLy8gYXNzaWduX25vZGVzIHRha2VzIG93bmVyc2hpcCBvZiB0aGUgY29udGFpbmVyJ3MgZWxlbWVudHMsCisgICAgICAgICAgICAvLyBhc3NpZ25pbmcgdG8gdGhlbSBpZiBwb3NzaWJsZSwgYW5kIGRlbGV0aW5nIGFueSB0aGF0IGFyZQorICAgICAgICAgICAgLy8gbGVmdCBvdmVyLgorICAgICAgICAgICAgYXNzaWduX25vZGVzPHRhYmxlPiBhc3NpZ24oKnRoaXMpOworICAgICAgICAgICAgdGFibGVfaW1wbDo6ZmlsbF9idWNrZXRzKHguYmVnaW4oKSwgKnRoaXMsIGFzc2lnbik7CisgICAgICAgIH0KKworICAgICAgICB2b2lkIGFzc2lnbih0YWJsZSBjb25zdCYgeCwgdHJ1ZV90eXBlKQorICAgICAgICB7CisgICAgICAgICAgICBpZiAobm9kZV9hbGxvYygpID09IHgubm9kZV9hbGxvYygpKSB7CisgICAgICAgICAgICAgICAgYWxsb2NhdG9yc18uYXNzaWduKHguYWxsb2NhdG9yc18pOworICAgICAgICAgICAgICAgIGFzc2lnbih4LCBmYWxzZV90eXBlKCkpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgZWxzZSB7CisgICAgICAgICAgICAgICAgc2V0X2hhc2hfZnVuY3Rpb25zIG5ld19mdW5jX3RoaXMoKnRoaXMsIHgpOworCisgICAgICAgICAgICAgICAgLy8gRGVsZXRlIGV2ZXJ5dGhpbmcgd2l0aCBjdXJyZW50IGFsbG9jYXRvcnMgYmVmb3JlIGFzc2lnbmluZworICAgICAgICAgICAgICAgIC8vIHRoZSBuZXcgb25lcy4KKyAgICAgICAgICAgICAgICBkZWxldGVfYnVja2V0cygpOworICAgICAgICAgICAgICAgIGFsbG9jYXRvcnNfLmFzc2lnbih4LmFsbG9jYXRvcnNfKTsKKworICAgICAgICAgICAgICAgIC8vIENvcHkgb3ZlciBvdGhlciBkYXRhLCBhbGwgbm8gdGhyb3cuCisgICAgICAgICAgICAgICAgbmV3X2Z1bmNfdGhpcy5jb21taXQoKTsKKyAgICAgICAgICAgICAgICBtbGZfID0geC5tbGZfOworICAgICAgICAgICAgICAgIGJ1Y2tldF9jb3VudF8gPSBtaW5fYnVja2V0c19mb3Jfc2l6ZSh4LnNpemVfKTsKKyAgICAgICAgICAgICAgICBtYXhfbG9hZF8gPSAwOworCisgICAgICAgICAgICAgICAgLy8gRmluYWxseSBjb3B5IHRoZSBlbGVtZW50cy4KKyAgICAgICAgICAgICAgICBpZiAoeC5zaXplXykgeworICAgICAgICAgICAgICAgICAgICBjcmVhdGVfYnVja2V0cyhidWNrZXRfY291bnRfKTsKKyAgICAgICAgICAgICAgICAgICAgY29weV9ub2Rlczxub2RlX2FsbG9jYXRvcj4gY29weShub2RlX2FsbG9jKCkpOworICAgICAgICAgICAgICAgICAgICB0YWJsZV9pbXBsOjpmaWxsX2J1Y2tldHMoeC5iZWdpbigpLCAqdGhpcywgY29weSk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICB9CisKKyAgICAgICAgdm9pZCBtb3ZlX2Fzc2lnbih0YWJsZSYgeCkKKyAgICAgICAgeworICAgICAgICAgICAgaWYgKHRoaXMgIT0gbmRuYm9vc3Q6OmFkZHJlc3NvZih4KSkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBtb3ZlX2Fzc2lnbih4LAorICAgICAgICAgICAgICAgICAgICBuZG5ib29zdDo6dW5vcmRlcmVkOjpkZXRhaWw6OmludGVncmFsX2NvbnN0YW50PGJvb2wsCisgICAgICAgICAgICAgICAgICAgICAgICBhbGxvY2F0b3JfdHJhaXRzPG5vZGVfYWxsb2NhdG9yPjo6CisgICAgICAgICAgICAgICAgICAgICAgICBwcm9wYWdhdGVfb25fY29udGFpbmVyX21vdmVfYXNzaWdubWVudDo6dmFsdWU+KCkpOworICAgICAgICAgICAgfQorICAgICAgICB9CisKKyAgICAgICAgdm9pZCBtb3ZlX2Fzc2lnbih0YWJsZSYgeCwgdHJ1ZV90eXBlKQorICAgICAgICB7CisgICAgICAgICAgICBkZWxldGVfYnVja2V0cygpOworICAgICAgICAgICAgYWxsb2NhdG9yc18ubW92ZV9hc3NpZ24oeC5hbGxvY2F0b3JzXyk7CisgICAgICAgICAgICBtb3ZlX2Fzc2lnbl9ub19hbGxvYyh4KTsKKyAgICAgICAgfQorCisgICAgICAgIHZvaWQgbW92ZV9hc3NpZ24odGFibGUmIHgsIGZhbHNlX3R5cGUpCisgICAgICAgIHsKKyAgICAgICAgICAgIGlmIChub2RlX2FsbG9jKCkgPT0geC5ub2RlX2FsbG9jKCkpIHsKKyAgICAgICAgICAgICAgICBkZWxldGVfYnVja2V0cygpOworICAgICAgICAgICAgICAgIG1vdmVfYXNzaWduX25vX2FsbG9jKHgpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgZWxzZSB7CisgICAgICAgICAgICAgICAgc2V0X2hhc2hfZnVuY3Rpb25zIG5ld19mdW5jX3RoaXMoKnRoaXMsIHgpOworICAgICAgICAgICAgICAgIG5ld19mdW5jX3RoaXMuY29tbWl0KCk7CisgICAgICAgICAgICAgICAgbWxmXyA9IHgubWxmXzsKKyAgICAgICAgICAgICAgICByZWNhbGN1bGF0ZV9tYXhfbG9hZCgpOworCisgICAgICAgICAgICAgICAgaWYgKCFzaXplXyAmJiAheC5zaXplXykgcmV0dXJuOworCisgICAgICAgICAgICAgICAgaWYgKHguc2l6ZV8gPj0gbWF4X2xvYWRfKSB7CisgICAgICAgICAgICAgICAgICAgIGNyZWF0ZV9idWNrZXRzKG1pbl9idWNrZXRzX2Zvcl9zaXplKHguc2l6ZV8pKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgZWxzZSB7CisgICAgICAgICAgICAgICAgICAgIGNsZWFyX2J1Y2tldHMoKTsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICAvLyBtb3ZlX2Fzc2lnbl9ub2RlcyB0YWtlcyBvd25lcnNoaXAgb2YgdGhlIGNvbnRhaW5lcidzCisgICAgICAgICAgICAgICAgLy8gZWxlbWVudHMsIGFzc2lnbmluZyB0byB0aGVtIGlmIHBvc3NpYmxlLCBhbmQgZGVsZXRpbmcKKyAgICAgICAgICAgICAgICAvLyBhbnkgdGhhdCBhcmUgbGVmdCBvdmVyLgorICAgICAgICAgICAgICAgIG1vdmVfYXNzaWduX25vZGVzPHRhYmxlPiBhc3NpZ24oKnRoaXMpOworICAgICAgICAgICAgICAgIG5vZGVfaG9sZGVyPG5vZGVfYWxsb2NhdG9yPiBub2Rlcyh4KTsKKyAgICAgICAgICAgICAgICB0YWJsZV9pbXBsOjpmaWxsX2J1Y2tldHMobm9kZXMuYmVnaW4oKSwgKnRoaXMsIGFzc2lnbik7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIHZvaWQgbW92ZV9hc3NpZ25fbm9fYWxsb2ModGFibGUmIHgpCisgICAgICAgIHsKKyAgICAgICAgICAgIHNldF9oYXNoX2Z1bmN0aW9ucyBuZXdfZnVuY190aGlzKCp0aGlzLCB4KTsKKyAgICAgICAgICAgIC8vIE5vIHRocm93IGZyb20gaGVyZS4KKyAgICAgICAgICAgIG1sZl8gPSB4Lm1sZl87CisgICAgICAgICAgICBtYXhfbG9hZF8gPSB4Lm1heF9sb2FkXzsKKyAgICAgICAgICAgIG1vdmVfYnVja2V0c19mcm9tKHgpOworICAgICAgICAgICAgbmV3X2Z1bmNfdGhpcy5jb21taXQoKTsKKyAgICAgICAgfQorCisgICAgICAgIC8vIEFjY2Vzc29ycworCisgICAgICAgIGtleV90eXBlIGNvbnN0JiBnZXRfa2V5KHZhbHVlX3R5cGUgY29uc3QmIHgpIGNvbnN0CisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiBleHRyYWN0b3I6OmV4dHJhY3QoeCk7CisgICAgICAgIH0KKworICAgICAgICBzdGQ6OnNpemVfdCBoYXNoKGtleV90eXBlIGNvbnN0JiBrKSBjb25zdAorICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4gcG9saWN5OjphcHBseV9oYXNoKHRoaXMtPmhhc2hfZnVuY3Rpb24oKSwgayk7CisgICAgICAgIH0KKworICAgICAgICAvLyBGaW5kIE5vZGUKKworICAgICAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgS2V5LCB0eXBlbmFtZSBIYXNoLCB0eXBlbmFtZSBQcmVkPgorICAgICAgICBpdGVyYXRvciBnZW5lcmljX2ZpbmRfbm9kZSgKKyAgICAgICAgICAgICAgICBLZXkgY29uc3QmIGssCisgICAgICAgICAgICAgICAgSGFzaCBjb25zdCYgaGYsCisgICAgICAgICAgICAgICAgUHJlZCBjb25zdCYgZXEpIGNvbnN0CisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDx0YWJsZV9pbXBsIGNvbnN0Kj4odGhpcyktPgorICAgICAgICAgICAgICAgIGZpbmRfbm9kZV9pbXBsKHBvbGljeTo6YXBwbHlfaGFzaChoZiwgayksIGssIGVxKTsKKyAgICAgICAgfQorCisgICAgICAgIGl0ZXJhdG9yIGZpbmRfbm9kZSgKKyAgICAgICAgICAgICAgICBzdGQ6OnNpemVfdCBrZXlfaGFzaCwKKyAgICAgICAgICAgICAgICBrZXlfdHlwZSBjb25zdCYgaykgY29uc3QKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PHRhYmxlX2ltcGwgY29uc3QqPih0aGlzKS0+CisgICAgICAgICAgICAgICAgZmluZF9ub2RlX2ltcGwoa2V5X2hhc2gsIGssIHRoaXMtPmtleV9lcSgpKTsKKyAgICAgICAgfQorCisgICAgICAgIGl0ZXJhdG9yIGZpbmRfbm9kZShrZXlfdHlwZSBjb25zdCYgaykgY29uc3QKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PHRhYmxlX2ltcGwgY29uc3QqPih0aGlzKS0+CisgICAgICAgICAgICAgICAgZmluZF9ub2RlX2ltcGwoaGFzaChrKSwgaywgdGhpcy0+a2V5X2VxKCkpOworICAgICAgICB9CisKKyAgICAgICAgaXRlcmF0b3IgZmluZF9tYXRjaGluZ19ub2RlKGl0ZXJhdG9yIG4pIGNvbnN0CisgICAgICAgIHsKKyAgICAgICAgICAgIC8vIFRPRE86IERvZXMgdGhpcyBhcHBseSB0byBDKysxMT8KKyAgICAgICAgICAgIC8vCisgICAgICAgICAgICAvLyBGb3Igc29tZSBzdHVwaWQgcmVhc29uLCBJIGRlY2lkZWQgdG8gc3VwcG9ydCBlcXVhbGl0eSBjb21wYXJpc29uCisgICAgICAgICAgICAvLyB3aGVuIGRpZmZlcmVudCBoYXNoIGZ1bmN0aW9ucyBhcmUgdXNlZC4gU28gSSBjYW4ndCB1c2UgdGhlIGhhc2gKKyAgICAgICAgICAgIC8vIHZhbHVlIGZyb20gdGhlIG5vZGUgaGVyZS4KKyAgICAKKyAgICAgICAgICAgIHJldHVybiBmaW5kX25vZGUoZ2V0X2tleSgqbikpOworICAgICAgICB9CisKKyAgICAgICAgLy8gUmVzZXJ2ZSBhbmQgcmVoYXNoCisKKyAgICAgICAgdm9pZCByZXNlcnZlX2Zvcl9pbnNlcnQoc3RkOjpzaXplX3QpOworICAgICAgICB2b2lkIHJlaGFzaChzdGQ6OnNpemVfdCk7CisgICAgICAgIHZvaWQgcmVzZXJ2ZShzdGQ6OnNpemVfdCk7CisgICAgfTsKKworICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKyAgICAvLyBSZXNlcnZlICYgUmVoYXNoCisKKyAgICAvLyBiYXNpYyBleGNlcHRpb24gc2FmZXR5CisgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFR5cGVzPgorICAgIGlubGluZSB2b2lkIHRhYmxlPFR5cGVzPjo6cmVzZXJ2ZV9mb3JfaW5zZXJ0KHN0ZDo6c2l6ZV90IHNpemUpCisgICAgeworICAgICAgICBpZiAoIWJ1Y2tldHNfKSB7CisgICAgICAgICAgICBjcmVhdGVfYnVja2V0cygoc3RkOjptYXgpKGJ1Y2tldF9jb3VudF8sCisgICAgICAgICAgICAgICAgbWluX2J1Y2tldHNfZm9yX3NpemUoc2l6ZSkpKTsKKyAgICAgICAgfQorICAgICAgICAvLyBBY2NvcmRpbmcgdG8gdGhlIHN0YW5kYXJkIHRoaXMgc2hvdWxkIGJlICdzaXplID49IG1heF9sb2FkXycsCisgICAgICAgIC8vIGJ1dCBJIHRoaW5rIHRoaXMgaXMgYmV0dGVyLCBkZWZlY3QgcmVwb3J0IGZpbGVkLgorICAgICAgICBlbHNlIGlmKHNpemUgPiBtYXhfbG9hZF8pIHsKKyAgICAgICAgICAgIHN0ZDo6c2l6ZV90IG51bV9idWNrZXRzCisgICAgICAgICAgICAgICAgPSBtaW5fYnVja2V0c19mb3Jfc2l6ZSgoc3RkOjptYXgpKHNpemUsCisgICAgICAgICAgICAgICAgICAgIHNpemVfICsgKHNpemVfID4+IDEpKSk7CisKKyAgICAgICAgICAgIGlmIChudW1fYnVja2V0cyAhPSBidWNrZXRfY291bnRfKQorICAgICAgICAgICAgICAgIHN0YXRpY19jYXN0PHRhYmxlX2ltcGwqPih0aGlzKS0+cmVoYXNoX2ltcGwobnVtX2J1Y2tldHMpOworICAgICAgICB9CisgICAgfQorCisgICAgLy8gaWYgaGFzaCBmdW5jdGlvbiB0aHJvd3MsIGJhc2ljIGV4Y2VwdGlvbiBzYWZldHkKKyAgICAvLyBzdHJvbmcgb3RoZXJ3aXNlLgorCisgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFR5cGVzPgorICAgIGlubGluZSB2b2lkIHRhYmxlPFR5cGVzPjo6cmVoYXNoKHN0ZDo6c2l6ZV90IG1pbl9idWNrZXRzKQorICAgIHsKKyAgICAgICAgdXNpbmcgbmFtZXNwYWNlIHN0ZDsKKworICAgICAgICBpZighc2l6ZV8pIHsKKyAgICAgICAgICAgIGRlbGV0ZV9idWNrZXRzKCk7CisgICAgICAgICAgICBidWNrZXRfY291bnRfID0gcG9saWN5OjpuZXdfYnVja2V0X2NvdW50KG1pbl9idWNrZXRzKTsKKyAgICAgICAgfQorICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgIG1pbl9idWNrZXRzID0gcG9saWN5OjpuZXdfYnVja2V0X2NvdW50KChzdGQ6Om1heCkobWluX2J1Y2tldHMsCisgICAgICAgICAgICAgICAgbmRuYm9vc3Q6OnVub3JkZXJlZDo6ZGV0YWlsOjpkb3VibGVfdG9fc2l6ZShmbG9vcigKKyAgICAgICAgICAgICAgICAgICAgc3RhdGljX2Nhc3Q8ZG91YmxlPihzaXplXykgLworICAgICAgICAgICAgICAgICAgICBzdGF0aWNfY2FzdDxkb3VibGU+KG1sZl8pKSkgKyAxKSk7CisKKyAgICAgICAgICAgIGlmKG1pbl9idWNrZXRzICE9IGJ1Y2tldF9jb3VudF8pCisgICAgICAgICAgICAgICAgc3RhdGljX2Nhc3Q8dGFibGVfaW1wbCo+KHRoaXMpLT5yZWhhc2hfaW1wbChtaW5fYnVja2V0cyk7CisgICAgICAgIH0KKyAgICB9CisKKyAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVHlwZXM+CisgICAgaW5saW5lIHZvaWQgdGFibGU8VHlwZXM+OjpyZXNlcnZlKHN0ZDo6c2l6ZV90IG51bV9lbGVtZW50cykKKyAgICB7CisgICAgICAgIHJlaGFzaChzdGF0aWNfY2FzdDxzdGQ6OnNpemVfdD4oCisgICAgICAgICAgICBzdGQ6OmNlaWwoc3RhdGljX2Nhc3Q8ZG91YmxlPihudW1fZWxlbWVudHMpIC8gbWxmXykpKTsKKyAgICB9Cit9fX0KKworI2lmIGRlZmluZWQoQk9PU1RfTVNWQykKKyNwcmFnbWEgd2FybmluZyhwb3ApCisjZW5kaWYKKworI2VuZGlmCmRpZmYgLS1naXQgYS9uZG5ib29zdC91bm9yZGVyZWQvZGV0YWlsL3VuaXF1ZS5ocHAgYi9uZG5ib29zdC91bm9yZGVyZWQvZGV0YWlsL3VuaXF1ZS5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDRmYzA0ZAotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L3Vub3JkZXJlZC9kZXRhaWwvdW5pcXVlLmhwcApAQCAtMCwwICsxLDYyMiBAQAorCisvLyBDb3B5cmlnaHQgKEMpIDIwMDMtMjAwNCBKZXJlbXkgQi4gTWFpdGluLVNoZXBhcmQuCisvLyBDb3B5cmlnaHQgKEMpIDIwMDUtMjAxMSBEYW5pZWwgSmFtZXMKKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gKFNlZSBhY2NvbXBhbnlpbmcKKy8vIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorCisjaWZuZGVmIEJPT1NUX1VOT1JERVJFRF9ERVRBSUxfVU5JUVVFX0hQUF9JTkNMVURFRAorI2RlZmluZSBCT09TVF9VTk9SREVSRURfREVUQUlMX1VOSVFVRV9IUFBfSU5DTFVERUQKKworI2lmIGRlZmluZWQoX01TQ19WRVIpICYmIChfTVNDX1ZFUiA+PSAxMDIwKQorIyBwcmFnbWEgb25jZQorI2VuZGlmCisKKyNpbmNsdWRlIDxuZG5ib29zdC91bm9yZGVyZWQvZGV0YWlsL3RhYmxlLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC91bm9yZGVyZWQvZGV0YWlsL2V4dHJhY3Rfa2V5LmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC90aHJvd19leGNlcHRpb24uaHBwPgorI2luY2x1ZGUgPHN0ZGV4Y2VwdD4KKworbmFtZXNwYWNlIG5kbmJvb3N0IHsgbmFtZXNwYWNlIHVub3JkZXJlZCB7IG5hbWVzcGFjZSBkZXRhaWwgeworCisgICAgdGVtcGxhdGUgPHR5cGVuYW1lIEEsIHR5cGVuYW1lIFQ+IHN0cnVjdCB1bmlxdWVfbm9kZTsKKyAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gc3RydWN0IHB0cl9ub2RlOworICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBUeXBlcz4gc3RydWN0IHRhYmxlX2ltcGw7CisKKyAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgQSwgdHlwZW5hbWUgVD4KKyAgICBzdHJ1Y3QgdW5pcXVlX25vZGUgOgorICAgICAgICBuZG5ib29zdDo6dW5vcmRlcmVkOjpkZXRhaWw6OnZhbHVlX2Jhc2U8VD4KKyAgICB7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgOjpuZG5ib29zdDo6dW5vcmRlcmVkOjpkZXRhaWw6OnJlYmluZF93cmFwPAorICAgICAgICAgICAgQSwgdW5pcXVlX25vZGU8QSwgVD4gPjo6dHlwZTo6cG9pbnRlciBub2RlX3BvaW50ZXI7CisgICAgICAgIHR5cGVkZWYgbm9kZV9wb2ludGVyIGxpbmtfcG9pbnRlcjsKKworICAgICAgICBsaW5rX3BvaW50ZXIgbmV4dF87CisgICAgICAgIHN0ZDo6c2l6ZV90IGhhc2hfOworCisgICAgICAgIHVuaXF1ZV9ub2RlKCkgOgorICAgICAgICAgICAgbmV4dF8oKSwKKyAgICAgICAgICAgIGhhc2hfKDApCisgICAgICAgIHt9CisKKyAgICAgICAgdm9pZCBpbml0KG5vZGVfcG9pbnRlcikKKyAgICAgICAgeworICAgICAgICB9CisKKyAgICBwcml2YXRlOgorICAgICAgICB1bmlxdWVfbm9kZSYgb3BlcmF0b3I9KHVuaXF1ZV9ub2RlIGNvbnN0Jik7CisgICAgfTsKKworICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgorICAgIHN0cnVjdCBwdHJfbm9kZSA6CisgICAgICAgIG5kbmJvb3N0Ojp1bm9yZGVyZWQ6OmRldGFpbDo6dmFsdWVfYmFzZTxUPiwKKyAgICAgICAgbmRuYm9vc3Q6OnVub3JkZXJlZDo6ZGV0YWlsOjpwdHJfYnVja2V0CisgICAgeworICAgICAgICB0eXBlZGVmIG5kbmJvb3N0Ojp1bm9yZGVyZWQ6OmRldGFpbDo6cHRyX2J1Y2tldCBidWNrZXRfYmFzZTsKKyAgICAgICAgdHlwZWRlZiBwdHJfbm9kZTxUPiogbm9kZV9wb2ludGVyOworICAgICAgICB0eXBlZGVmIHB0cl9idWNrZXQqIGxpbmtfcG9pbnRlcjsKKworICAgICAgICBzdGQ6OnNpemVfdCBoYXNoXzsKKworICAgICAgICBwdHJfbm9kZSgpIDoKKyAgICAgICAgICAgIGJ1Y2tldF9iYXNlKCksCisgICAgICAgICAgICBoYXNoXygwKQorICAgICAgICB7fQorCisgICAgICAgIHZvaWQgaW5pdChub2RlX3BvaW50ZXIpCisgICAgICAgIHsKKyAgICAgICAgfQorCisgICAgcHJpdmF0ZToKKyAgICAgICAgcHRyX25vZGUmIG9wZXJhdG9yPShwdHJfbm9kZSBjb25zdCYpOworICAgIH07CisKKyAgICAvLyBJZiB0aGUgYWxsb2NhdG9yIHVzZXMgcmF3IHBvaW50ZXJzIHVzZSBwdHJfbm9kZQorICAgIC8vIE90aGVyd2lzZSB1c2Ugbm9kZS4KKworICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBBLCB0eXBlbmFtZSBULCB0eXBlbmFtZSBOb2RlUHRyLCB0eXBlbmFtZSBCdWNrZXRQdHI+CisgICAgc3RydWN0IHBpY2tfbm9kZTIKKyAgICB7CisgICAgICAgIHR5cGVkZWYgbmRuYm9vc3Q6OnVub3JkZXJlZDo6ZGV0YWlsOjp1bmlxdWVfbm9kZTxBLCBUPiBub2RlOworCisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgbmRuYm9vc3Q6OnVub3JkZXJlZDo6ZGV0YWlsOjphbGxvY2F0b3JfdHJhaXRzPAorICAgICAgICAgICAgdHlwZW5hbWUgbmRuYm9vc3Q6OnVub3JkZXJlZDo6ZGV0YWlsOjpyZWJpbmRfd3JhcDxBLCBub2RlPjo6dHlwZQorICAgICAgICA+Ojpwb2ludGVyIG5vZGVfcG9pbnRlcjsKKworICAgICAgICB0eXBlZGVmIG5kbmJvb3N0Ojp1bm9yZGVyZWQ6OmRldGFpbDo6YnVja2V0PG5vZGVfcG9pbnRlcj4gYnVja2V0OworICAgICAgICB0eXBlZGVmIG5vZGVfcG9pbnRlciBsaW5rX3BvaW50ZXI7CisgICAgfTsKKworICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBBLCB0eXBlbmFtZSBUPgorICAgIHN0cnVjdCBwaWNrX25vZGUyPEEsIFQsCisgICAgICAgIG5kbmJvb3N0Ojp1bm9yZGVyZWQ6OmRldGFpbDo6cHRyX25vZGU8VD4qLAorICAgICAgICBuZG5ib29zdDo6dW5vcmRlcmVkOjpkZXRhaWw6OnB0cl9idWNrZXQqPgorICAgIHsKKyAgICAgICAgdHlwZWRlZiBuZG5ib29zdDo6dW5vcmRlcmVkOjpkZXRhaWw6OnB0cl9ub2RlPFQ+IG5vZGU7CisgICAgICAgIHR5cGVkZWYgbmRuYm9vc3Q6OnVub3JkZXJlZDo6ZGV0YWlsOjpwdHJfYnVja2V0IGJ1Y2tldDsKKyAgICAgICAgdHlwZWRlZiBidWNrZXQqIGxpbmtfcG9pbnRlcjsKKyAgICB9OworCisgICAgdGVtcGxhdGUgPHR5cGVuYW1lIEEsIHR5cGVuYW1lIFQ+CisgICAgc3RydWN0IHBpY2tfbm9kZQorICAgIHsKKyAgICAgICAgdHlwZWRlZiBuZG5ib29zdDo6dW5vcmRlcmVkOjpkZXRhaWw6OmFsbG9jYXRvcl90cmFpdHM8CisgICAgICAgICAgICB0eXBlbmFtZSBuZG5ib29zdDo6dW5vcmRlcmVkOjpkZXRhaWw6OnJlYmluZF93cmFwPEEsCisgICAgICAgICAgICAgICAgbmRuYm9vc3Q6OnVub3JkZXJlZDo6ZGV0YWlsOjpwdHJfbm9kZTxUPiA+Ojp0eXBlCisgICAgICAgID4gdGVudGF0aXZlX25vZGVfdHJhaXRzOworCisgICAgICAgIHR5cGVkZWYgbmRuYm9vc3Q6OnVub3JkZXJlZDo6ZGV0YWlsOjphbGxvY2F0b3JfdHJhaXRzPAorICAgICAgICAgICAgdHlwZW5hbWUgbmRuYm9vc3Q6OnVub3JkZXJlZDo6ZGV0YWlsOjpyZWJpbmRfd3JhcDxBLAorICAgICAgICAgICAgICAgIG5kbmJvb3N0Ojp1bm9yZGVyZWQ6OmRldGFpbDo6cHRyX2J1Y2tldCA+Ojp0eXBlCisgICAgICAgID4gdGVudGF0aXZlX2J1Y2tldF90cmFpdHM7CisKKyAgICAgICAgdHlwZWRlZiBwaWNrX25vZGUyPEEsIFQsCisgICAgICAgICAgICB0eXBlbmFtZSB0ZW50YXRpdmVfbm9kZV90cmFpdHM6OnBvaW50ZXIsCisgICAgICAgICAgICB0eXBlbmFtZSB0ZW50YXRpdmVfYnVja2V0X3RyYWl0czo6cG9pbnRlcj4gcGljazsKKworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHBpY2s6Om5vZGUgbm9kZTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBwaWNrOjpidWNrZXQgYnVja2V0OworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHBpY2s6OmxpbmtfcG9pbnRlciBsaW5rX3BvaW50ZXI7CisgICAgfTsKKworICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBBLCB0eXBlbmFtZSBULCB0eXBlbmFtZSBILCB0eXBlbmFtZSBQPgorICAgIHN0cnVjdCBzZXQKKyAgICB7CisgICAgICAgIHR5cGVkZWYgbmRuYm9vc3Q6OnVub3JkZXJlZDo6ZGV0YWlsOjpzZXQ8QSwgVCwgSCwgUD4gdHlwZXM7CisKKyAgICAgICAgdHlwZWRlZiBBIGFsbG9jYXRvcjsKKyAgICAgICAgdHlwZWRlZiBUIHZhbHVlX3R5cGU7CisgICAgICAgIHR5cGVkZWYgSCBoYXNoZXI7CisgICAgICAgIHR5cGVkZWYgUCBrZXlfZXF1YWw7CisgICAgICAgIHR5cGVkZWYgVCBrZXlfdHlwZTsKKworICAgICAgICB0eXBlZGVmIG5kbmJvb3N0Ojp1bm9yZGVyZWQ6OmRldGFpbDo6YWxsb2NhdG9yX3RyYWl0czxhbGxvY2F0b3I+IHRyYWl0czsKKyAgICAgICAgdHlwZWRlZiBuZG5ib29zdDo6dW5vcmRlcmVkOjpkZXRhaWw6OnBpY2tfbm9kZTxhbGxvY2F0b3IsIHZhbHVlX3R5cGU+IHBpY2s7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcGljazo6bm9kZSBub2RlOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHBpY2s6OmJ1Y2tldCBidWNrZXQ7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgcGljazo6bGlua19wb2ludGVyIGxpbmtfcG9pbnRlcjsKKworICAgICAgICB0eXBlZGVmIG5kbmJvb3N0Ojp1bm9yZGVyZWQ6OmRldGFpbDo6dGFibGVfaW1wbDx0eXBlcz4gdGFibGU7CisgICAgICAgIHR5cGVkZWYgbmRuYm9vc3Q6OnVub3JkZXJlZDo6ZGV0YWlsOjpzZXRfZXh0cmFjdG9yPHZhbHVlX3R5cGU+IGV4dHJhY3RvcjsKKworICAgICAgICB0eXBlZGVmIG5kbmJvb3N0Ojp1bm9yZGVyZWQ6OmRldGFpbDo6cGlja19wb2xpY3k6OnR5cGUgcG9saWN5OworICAgIH07CisKKyAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgQSwgdHlwZW5hbWUgSywgdHlwZW5hbWUgTSwgdHlwZW5hbWUgSCwgdHlwZW5hbWUgUD4KKyAgICBzdHJ1Y3QgbWFwCisgICAgeworICAgICAgICB0eXBlZGVmIG5kbmJvb3N0Ojp1bm9yZGVyZWQ6OmRldGFpbDo6bWFwPEEsIEssIE0sIEgsIFA+IHR5cGVzOworCisgICAgICAgIHR5cGVkZWYgQSBhbGxvY2F0b3I7CisgICAgICAgIHR5cGVkZWYgc3RkOjpwYWlyPEsgY29uc3QsIE0+IHZhbHVlX3R5cGU7CisgICAgICAgIHR5cGVkZWYgSCBoYXNoZXI7CisgICAgICAgIHR5cGVkZWYgUCBrZXlfZXF1YWw7CisgICAgICAgIHR5cGVkZWYgSyBrZXlfdHlwZTsKKworICAgICAgICB0eXBlZGVmIG5kbmJvb3N0Ojp1bm9yZGVyZWQ6OmRldGFpbDo6YWxsb2NhdG9yX3RyYWl0czxhbGxvY2F0b3I+CisgICAgICAgICAgICB0cmFpdHM7CisgICAgICAgIHR5cGVkZWYgbmRuYm9vc3Q6OnVub3JkZXJlZDo6ZGV0YWlsOjpwaWNrX25vZGU8YWxsb2NhdG9yLCB2YWx1ZV90eXBlPiBwaWNrOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHBpY2s6Om5vZGUgbm9kZTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBwaWNrOjpidWNrZXQgYnVja2V0OworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHBpY2s6OmxpbmtfcG9pbnRlciBsaW5rX3BvaW50ZXI7CisKKyAgICAgICAgdHlwZWRlZiBuZG5ib29zdDo6dW5vcmRlcmVkOjpkZXRhaWw6OnRhYmxlX2ltcGw8dHlwZXM+IHRhYmxlOworICAgICAgICB0eXBlZGVmIG5kbmJvb3N0Ojp1bm9yZGVyZWQ6OmRldGFpbDo6bWFwX2V4dHJhY3RvcjxrZXlfdHlwZSwgdmFsdWVfdHlwZT4KKyAgICAgICAgICAgIGV4dHJhY3RvcjsKKworICAgICAgICB0eXBlZGVmIG5kbmJvb3N0Ojp1bm9yZGVyZWQ6OmRldGFpbDo6cGlja19wb2xpY3k6OnR5cGUgcG9saWN5OworICAgIH07CisKKyAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVHlwZXM+CisgICAgc3RydWN0IHRhYmxlX2ltcGwgOiBuZG5ib29zdDo6dW5vcmRlcmVkOjpkZXRhaWw6OnRhYmxlPFR5cGVzPgorICAgIHsKKyAgICAgICAgdHlwZWRlZiBuZG5ib29zdDo6dW5vcmRlcmVkOjpkZXRhaWw6OnRhYmxlPFR5cGVzPiB0YWJsZTsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSB0YWJsZTo6dmFsdWVfdHlwZSB2YWx1ZV90eXBlOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHRhYmxlOjpidWNrZXQgYnVja2V0OworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHRhYmxlOjpwb2xpY3kgcG9saWN5OworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHRhYmxlOjpub2RlX3BvaW50ZXIgbm9kZV9wb2ludGVyOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHRhYmxlOjpub2RlX2FsbG9jYXRvciBub2RlX2FsbG9jYXRvcjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSB0YWJsZTo6bm9kZV9hbGxvY2F0b3JfdHJhaXRzIG5vZGVfYWxsb2NhdG9yX3RyYWl0czsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSB0YWJsZTo6YnVja2V0X3BvaW50ZXIgYnVja2V0X3BvaW50ZXI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgdGFibGU6OmxpbmtfcG9pbnRlciBsaW5rX3BvaW50ZXI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgdGFibGU6Omhhc2hlciBoYXNoZXI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgdGFibGU6OmtleV9lcXVhbCBrZXlfZXF1YWw7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgdGFibGU6OmtleV90eXBlIGtleV90eXBlOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHRhYmxlOjpub2RlX2NvbnN0cnVjdG9yIG5vZGVfY29uc3RydWN0b3I7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgdGFibGU6OmV4dHJhY3RvciBleHRyYWN0b3I7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgdGFibGU6Oml0ZXJhdG9yIGl0ZXJhdG9yOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHRhYmxlOjpjX2l0ZXJhdG9yIGNfaXRlcmF0b3I7CisKKyAgICAgICAgdHlwZWRlZiBzdGQ6OnBhaXI8aXRlcmF0b3IsIGJvb2w+IGVtcGxhY2VfcmV0dXJuOworCisgICAgICAgIC8vIENvbnN0cnVjdG9ycworCisgICAgICAgIHRhYmxlX2ltcGwoc3RkOjpzaXplX3QgbiwKKyAgICAgICAgICAgICAgICBoYXNoZXIgY29uc3QmIGhmLAorICAgICAgICAgICAgICAgIGtleV9lcXVhbCBjb25zdCYgZXEsCisgICAgICAgICAgICAgICAgbm9kZV9hbGxvY2F0b3IgY29uc3QmIGEpCisgICAgICAgICAgOiB0YWJsZShuLCBoZiwgZXEsIGEpCisgICAgICAgIHt9CisKKyAgICAgICAgdGFibGVfaW1wbCh0YWJsZV9pbXBsIGNvbnN0JiB4KQorICAgICAgICAgIDogdGFibGUoeCwgbm9kZV9hbGxvY2F0b3JfdHJhaXRzOjoKKyAgICAgICAgICAgICAgICBzZWxlY3Rfb25fY29udGFpbmVyX2NvcHlfY29uc3RydWN0aW9uKHgubm9kZV9hbGxvYygpKSkKKyAgICAgICAgeworICAgICAgICAgICAgdGhpcy0+aW5pdCh4KTsKKyAgICAgICAgfQorCisgICAgICAgIHRhYmxlX2ltcGwodGFibGVfaW1wbCBjb25zdCYgeCwKKyAgICAgICAgICAgICAgICBub2RlX2FsbG9jYXRvciBjb25zdCYgYSkKKyAgICAgICAgICA6IHRhYmxlKHgsIGEpCisgICAgICAgIHsKKyAgICAgICAgICAgIHRoaXMtPmluaXQoeCk7CisgICAgICAgIH0KKworICAgICAgICB0YWJsZV9pbXBsKHRhYmxlX2ltcGwmIHgsCisgICAgICAgICAgICAgICAgbmRuYm9vc3Q6OnVub3JkZXJlZDo6ZGV0YWlsOjptb3ZlX3RhZyBtKQorICAgICAgICAgIDogdGFibGUoeCwgbSkKKyAgICAgICAge30KKworICAgICAgICB0YWJsZV9pbXBsKHRhYmxlX2ltcGwmIHgsCisgICAgICAgICAgICAgICAgbm9kZV9hbGxvY2F0b3IgY29uc3QmIGEsCisgICAgICAgICAgICAgICAgbmRuYm9vc3Q6OnVub3JkZXJlZDo6ZGV0YWlsOjptb3ZlX3RhZyBtKQorICAgICAgICAgIDogdGFibGUoeCwgYSwgbSkKKyAgICAgICAgeworICAgICAgICAgICAgdGhpcy0+bW92ZV9pbml0KHgpOworICAgICAgICB9CisKKyAgICAgICAgLy8gQWNjZXNzb3JzCisKKyAgICAgICAgdGVtcGxhdGUgPGNsYXNzIEtleSwgY2xhc3MgUHJlZD4KKyAgICAgICAgaXRlcmF0b3IgZmluZF9ub2RlX2ltcGwoCisgICAgICAgICAgICAgICAgc3RkOjpzaXplX3Qga2V5X2hhc2gsCisgICAgICAgICAgICAgICAgS2V5IGNvbnN0JiBrLAorICAgICAgICAgICAgICAgIFByZWQgY29uc3QmIGVxKSBjb25zdAorICAgICAgICB7CisgICAgICAgICAgICBzdGQ6OnNpemVfdCBidWNrZXRfaW5kZXggPSB0aGlzLT5oYXNoX3RvX2J1Y2tldChrZXlfaGFzaCk7CisgICAgICAgICAgICBpdGVyYXRvciBuID0gdGhpcy0+YmVnaW4oYnVja2V0X2luZGV4KTsKKworICAgICAgICAgICAgZm9yICg7OykKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBpZiAoIW4ubm9kZV8pIHJldHVybiBuOworCisgICAgICAgICAgICAgICAgc3RkOjpzaXplX3Qgbm9kZV9oYXNoID0gbi5ub2RlXy0+aGFzaF87CisgICAgICAgICAgICAgICAgaWYgKGtleV9oYXNoID09IG5vZGVfaGFzaCkKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgIGlmIChlcShrLCB0aGlzLT5nZXRfa2V5KCpuKSkpCisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbjsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMtPmhhc2hfdG9fYnVja2V0KG5vZGVfaGFzaCkgIT0gYnVja2V0X2luZGV4KQorICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGl0ZXJhdG9yKCk7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgKytuOworICAgICAgICAgICAgfQorICAgICAgICB9CisKKyAgICAgICAgc3RkOjpzaXplX3QgY291bnQoa2V5X3R5cGUgY29uc3QmIGspIGNvbnN0CisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiB0aGlzLT5maW5kX25vZGUoaykubm9kZV8gPyAxIDogMDsKKyAgICAgICAgfQorCisgICAgICAgIHZhbHVlX3R5cGUmIGF0KGtleV90eXBlIGNvbnN0JiBrKSBjb25zdAorICAgICAgICB7CisgICAgICAgICAgICBpZiAodGhpcy0+c2l6ZV8pIHsKKyAgICAgICAgICAgICAgICBpdGVyYXRvciBpdCA9IHRoaXMtPmZpbmRfbm9kZShrKTsKKyAgICAgICAgICAgICAgICBpZiAoaXQubm9kZV8pIHJldHVybiAqaXQ7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIG5kbmJvb3N0Ojp0aHJvd19leGNlcHRpb24oCisgICAgICAgICAgICAgICAgc3RkOjpvdXRfb2ZfcmFuZ2UoIlVuYWJsZSB0byBmaW5kIGtleSBpbiB1bm9yZGVyZWRfbWFwLiIpKTsKKyAgICAgICAgfQorCisgICAgICAgIHN0ZDo6cGFpcjxpdGVyYXRvciwgaXRlcmF0b3I+CisgICAgICAgICAgICBlcXVhbF9yYW5nZShrZXlfdHlwZSBjb25zdCYgaykgY29uc3QKKyAgICAgICAgeworICAgICAgICAgICAgaXRlcmF0b3IgbiA9IHRoaXMtPmZpbmRfbm9kZShrKTsKKyAgICAgICAgICAgIGl0ZXJhdG9yIG4yID0gbjsKKyAgICAgICAgICAgIGlmIChuMi5ub2RlXykgKytuMjsKKyAgICAgICAgICAgIHJldHVybiBzdGQ6Om1ha2VfcGFpcihuLCBuMik7CisgICAgICAgIH0KKworICAgICAgICAvLyBlcXVhbHMKKworICAgICAgICBib29sIGVxdWFscyh0YWJsZV9pbXBsIGNvbnN0JiBvdGhlcikgY29uc3QKKyAgICAgICAgeworICAgICAgICAgICAgaWYodGhpcy0+c2l6ZV8gIT0gb3RoZXIuc2l6ZV8pIHJldHVybiBmYWxzZTsKKyAgICAKKyAgICAgICAgICAgIGZvcihpdGVyYXRvciBuMSA9IHRoaXMtPmJlZ2luKCk7IG4xLm5vZGVfOyArK24xKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGl0ZXJhdG9yIG4yID0gb3RoZXIuZmluZF9tYXRjaGluZ19ub2RlKG4xKTsKKworICAgICAgICAgICAgICAgIGlmICghbjIubm9kZV8gfHwgKm4xICE9ICpuMikKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAgICAgfQorICAgIAorICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgIH0KKworICAgICAgICAvLyBFbXBsYWNlL0luc2VydAorCisgICAgICAgIGlubGluZSBpdGVyYXRvciBhZGRfbm9kZSgKKyAgICAgICAgICAgICAgICBub2RlX2NvbnN0cnVjdG9yJiBhLAorICAgICAgICAgICAgICAgIHN0ZDo6c2l6ZV90IGtleV9oYXNoKQorICAgICAgICB7CisgICAgICAgICAgICBub2RlX3BvaW50ZXIgbiA9IGEucmVsZWFzZSgpOworICAgICAgICAgICAgbi0+aGFzaF8gPSBrZXlfaGFzaDsKKyAgICAKKyAgICAgICAgICAgIGJ1Y2tldF9wb2ludGVyIGIgPSB0aGlzLT5nZXRfYnVja2V0KHRoaXMtPmhhc2hfdG9fYnVja2V0KGtleV9oYXNoKSk7CisKKyAgICAgICAgICAgIGlmICghYi0+bmV4dF8pCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgbGlua19wb2ludGVyIHN0YXJ0X25vZGUgPSB0aGlzLT5nZXRfcHJldmlvdXNfc3RhcnQoKTsKKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICBpZiAoc3RhcnRfbm9kZS0+bmV4dF8pIHsKKyAgICAgICAgICAgICAgICAgICAgdGhpcy0+Z2V0X2J1Y2tldCh0aGlzLT5oYXNoX3RvX2J1Y2tldCgKKyAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRpY19jYXN0PG5vZGVfcG9pbnRlcj4oc3RhcnRfbm9kZS0+bmV4dF8pLT5oYXNoXykKKyAgICAgICAgICAgICAgICAgICAgKS0+bmV4dF8gPSBuOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIGItPm5leHRfID0gc3RhcnRfbm9kZTsKKyAgICAgICAgICAgICAgICBuLT5uZXh0XyA9IHN0YXJ0X25vZGUtPm5leHRfOworICAgICAgICAgICAgICAgIHN0YXJ0X25vZGUtPm5leHRfID0gbjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBuLT5uZXh0XyA9IGItPm5leHRfLT5uZXh0XzsKKyAgICAgICAgICAgICAgICBiLT5uZXh0Xy0+bmV4dF8gPSBuOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICArK3RoaXMtPnNpemVfOworICAgICAgICAgICAgcmV0dXJuIGl0ZXJhdG9yKG4pOworICAgICAgICB9CisKKyAgICAgICAgdmFsdWVfdHlwZSYgb3BlcmF0b3JbXShrZXlfdHlwZSBjb25zdCYgaykKKyAgICAgICAgeworICAgICAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSB2YWx1ZV90eXBlOjpzZWNvbmRfdHlwZSBtYXBwZWRfdHlwZTsKKyAgICAKKyAgICAgICAgICAgIHN0ZDo6c2l6ZV90IGtleV9oYXNoID0gdGhpcy0+aGFzaChrKTsKKyAgICAgICAgICAgIGl0ZXJhdG9yIHBvcyA9IHRoaXMtPmZpbmRfbm9kZShrZXlfaGFzaCwgayk7CisgICAgCisgICAgICAgICAgICBpZiAocG9zLm5vZGVfKSByZXR1cm4gKnBvczsKKyAgICAKKyAgICAgICAgICAgIC8vIENyZWF0ZSB0aGUgbm9kZSBiZWZvcmUgcmVoYXNoaW5nIGluIGNhc2UgaXQgdGhyb3dzIGFuCisgICAgICAgICAgICAvLyBleGNlcHRpb24gKG5lZWQgc3Ryb25nIHNhZmV0eSBpbiBzdWNoIGEgY2FzZSkuCisgICAgICAgICAgICBub2RlX2NvbnN0cnVjdG9yIGEodGhpcy0+bm9kZV9hbGxvYygpKTsKKyAgICAgICAgICAgIGEuY29uc3RydWN0X3dpdGhfdmFsdWUoQk9PU1RfVU5PUkRFUkVEX0VNUExBQ0VfQVJHUzMoCisgICAgICAgICAgICAgICAgbmRuYm9vc3Q6OnVub3JkZXJlZDo6cGllY2V3aXNlX2NvbnN0cnVjdCwKKyAgICAgICAgICAgICAgICBuZG5ib29zdDo6bWFrZV90dXBsZShrKSwKKyAgICAgICAgICAgICAgICBuZG5ib29zdDo6bWFrZV90dXBsZSgpKSk7CisgICAgCisgICAgICAgICAgICB0aGlzLT5yZXNlcnZlX2Zvcl9pbnNlcnQodGhpcy0+c2l6ZV8gKyAxKTsKKyAgICAgICAgICAgIHJldHVybiAqYWRkX25vZGUoYSwga2V5X2hhc2gpOworICAgICAgICB9CisKKyNpZiBkZWZpbmVkKEJPT1NUX05PX0NYWDExX1JWQUxVRV9SRUZFUkVOQ0VTKQorIyAgIGlmIGRlZmluZWQoQk9PU1RfTk9fQ1hYMTFfVkFSSUFESUNfVEVNUExBVEVTKQorICAgICAgICBlbXBsYWNlX3JldHVybiBlbXBsYWNlKG5kbmJvb3N0Ojp1bm9yZGVyZWQ6OmRldGFpbDo6ZW1wbGFjZV9hcmdzMTwKKyAgICAgICAgICAgICAgICBuZG5ib29zdDo6dW5vcmRlcmVkOjpkZXRhaWw6OnBsZWFzZV9pZ25vcmVfdGhpc19vdmVybG9hZD4gY29uc3QmKQorICAgICAgICB7CisgICAgICAgICAgICBCT09TVF9BU1NFUlQoZmFsc2UpOworICAgICAgICAgICAgcmV0dXJuIGVtcGxhY2VfcmV0dXJuKHRoaXMtPmJlZ2luKCksIGZhbHNlKTsKKyAgICAgICAgfQorIyAgIGVsc2UKKyAgICAgICAgZW1wbGFjZV9yZXR1cm4gZW1wbGFjZSgKKyAgICAgICAgICAgICAgICBuZG5ib29zdDo6dW5vcmRlcmVkOjpkZXRhaWw6OnBsZWFzZV9pZ25vcmVfdGhpc19vdmVybG9hZCBjb25zdCYpCisgICAgICAgIHsKKyAgICAgICAgICAgIEJPT1NUX0FTU0VSVChmYWxzZSk7CisgICAgICAgICAgICByZXR1cm4gZW1wbGFjZV9yZXR1cm4odGhpcy0+YmVnaW4oKSwgZmFsc2UpOworICAgICAgICB9CisjICAgZW5kaWYKKyNlbmRpZgorCisgICAgICAgIHRlbXBsYXRlIDxCT09TVF9VTk9SREVSRURfRU1QTEFDRV9URU1QTEFURT4KKyAgICAgICAgZW1wbGFjZV9yZXR1cm4gZW1wbGFjZShCT09TVF9VTk9SREVSRURfRU1QTEFDRV9BUkdTKQorICAgICAgICB7CisjaWYgIWRlZmluZWQoQk9PU1RfTk9fQ1hYMTFfVkFSSUFESUNfVEVNUExBVEVTKQorICAgICAgICAgICAgcmV0dXJuIGVtcGxhY2VfaW1wbCgKKyAgICAgICAgICAgICAgICBleHRyYWN0b3I6OmV4dHJhY3QoQk9PU1RfVU5PUkRFUkVEX0VNUExBQ0VfRk9SV0FSRCksCisgICAgICAgICAgICAgICAgQk9PU1RfVU5PUkRFUkVEX0VNUExBQ0VfRk9SV0FSRCk7CisjZWxzZQorICAgICAgICAgICAgcmV0dXJuIGVtcGxhY2VfaW1wbCgKKyAgICAgICAgICAgICAgICBleHRyYWN0b3I6OmV4dHJhY3QoYXJncy5hMCwgYXJncy5hMSksCisgICAgICAgICAgICAgICAgQk9PU1RfVU5PUkRFUkVEX0VNUExBQ0VfRk9SV0FSRCk7CisjZW5kaWYKKyAgICAgICAgfQorCisjaWYgZGVmaW5lZChCT09TVF9OT19DWFgxMV9WQVJJQURJQ19URU1QTEFURVMpCisgICAgICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBBMD4KKyAgICAgICAgZW1wbGFjZV9yZXR1cm4gZW1wbGFjZSgKKyAgICAgICAgICAgICAgICBuZG5ib29zdDo6dW5vcmRlcmVkOjpkZXRhaWw6OmVtcGxhY2VfYXJnczE8QTA+IGNvbnN0JiBhcmdzKQorICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4gZW1wbGFjZV9pbXBsKGV4dHJhY3Rvcjo6ZXh0cmFjdChhcmdzLmEwKSwgYXJncyk7CisgICAgICAgIH0KKyNlbmRpZgorCisgICAgICAgIHRlbXBsYXRlIDxCT09TVF9VTk9SREVSRURfRU1QTEFDRV9URU1QTEFURT4KKyAgICAgICAgZW1wbGFjZV9yZXR1cm4gZW1wbGFjZV9pbXBsKGtleV90eXBlIGNvbnN0JiBrLAorICAgICAgICAgICAgQk9PU1RfVU5PUkRFUkVEX0VNUExBQ0VfQVJHUykKKyAgICAgICAgeworICAgICAgICAgICAgc3RkOjpzaXplX3Qga2V5X2hhc2ggPSB0aGlzLT5oYXNoKGspOworICAgICAgICAgICAgaXRlcmF0b3IgcG9zID0gdGhpcy0+ZmluZF9ub2RlKGtleV9oYXNoLCBrKTsKKyAgICAKKyAgICAgICAgICAgIGlmIChwb3Mubm9kZV8pIHJldHVybiBlbXBsYWNlX3JldHVybihwb3MsIGZhbHNlKTsKKyAgICAKKyAgICAgICAgICAgIC8vIENyZWF0ZSB0aGUgbm9kZSBiZWZvcmUgcmVoYXNoaW5nIGluIGNhc2UgaXQgdGhyb3dzIGFuCisgICAgICAgICAgICAvLyBleGNlcHRpb24gKG5lZWQgc3Ryb25nIHNhZmV0eSBpbiBzdWNoIGEgY2FzZSkuCisgICAgICAgICAgICBub2RlX2NvbnN0cnVjdG9yIGEodGhpcy0+bm9kZV9hbGxvYygpKTsKKyAgICAgICAgICAgIGEuY29uc3RydWN0X3dpdGhfdmFsdWUoQk9PU1RfVU5PUkRFUkVEX0VNUExBQ0VfRk9SV0FSRCk7CisgICAgCisgICAgICAgICAgICAvLyByZXNlcnZlIGhhcyBiYXNpYyBleGNlcHRpb24gc2FmZXR5IGlmIHRoZSBoYXNoIGZ1bmN0aW9uCisgICAgICAgICAgICAvLyB0aHJvd3MsIHN0cm9uZyBvdGhlcndpc2UuCisgICAgICAgICAgICB0aGlzLT5yZXNlcnZlX2Zvcl9pbnNlcnQodGhpcy0+c2l6ZV8gKyAxKTsKKyAgICAgICAgICAgIHJldHVybiBlbXBsYWNlX3JldHVybih0aGlzLT5hZGRfbm9kZShhLCBrZXlfaGFzaCksIHRydWUpOworICAgICAgICB9CisKKyAgICAgICAgZW1wbGFjZV9yZXR1cm4gZW1wbGFjZV9pbXBsX3dpdGhfbm9kZShub2RlX2NvbnN0cnVjdG9yJiBhKQorICAgICAgICB7CisgICAgICAgICAgICBrZXlfdHlwZSBjb25zdCYgayA9IHRoaXMtPmdldF9rZXkoYS52YWx1ZSgpKTsKKyAgICAgICAgICAgIHN0ZDo6c2l6ZV90IGtleV9oYXNoID0gdGhpcy0+aGFzaChrKTsKKyAgICAgICAgICAgIGl0ZXJhdG9yIHBvcyA9IHRoaXMtPmZpbmRfbm9kZShrZXlfaGFzaCwgayk7CisKKyAgICAgICAgICAgIGlmIChwb3Mubm9kZV8pIHJldHVybiBlbXBsYWNlX3JldHVybihwb3MsIGZhbHNlKTsKKworICAgICAgICAgICAgLy8gcmVzZXJ2ZSBoYXMgYmFzaWMgZXhjZXB0aW9uIHNhZmV0eSBpZiB0aGUgaGFzaCBmdW5jdGlvbgorICAgICAgICAgICAgLy8gdGhyb3dzLCBzdHJvbmcgb3RoZXJ3aXNlLgorICAgICAgICAgICAgdGhpcy0+cmVzZXJ2ZV9mb3JfaW5zZXJ0KHRoaXMtPnNpemVfICsgMSk7CisgICAgICAgICAgICByZXR1cm4gZW1wbGFjZV9yZXR1cm4odGhpcy0+YWRkX25vZGUoYSwga2V5X2hhc2gpLCB0cnVlKTsKKyAgICAgICAgfQorCisgICAgICAgIHRlbXBsYXRlIDxCT09TVF9VTk9SREVSRURfRU1QTEFDRV9URU1QTEFURT4KKyAgICAgICAgZW1wbGFjZV9yZXR1cm4gZW1wbGFjZV9pbXBsKG5vX2tleSwgQk9PU1RfVU5PUkRFUkVEX0VNUExBQ0VfQVJHUykKKyAgICAgICAgeworICAgICAgICAgICAgLy8gRG9uJ3QgaGF2ZSBhIGtleSwgc28gY29uc3RydWN0IHRoZSBub2RlIGZpcnN0IGluIG9yZGVyCisgICAgICAgICAgICAvLyB0byBiZSBhYmxlIHRvIGxvb2t1cCB0aGUgcG9zaXRpb24uCisgICAgICAgICAgICBub2RlX2NvbnN0cnVjdG9yIGEodGhpcy0+bm9kZV9hbGxvYygpKTsKKyAgICAgICAgICAgIGEuY29uc3RydWN0X3dpdGhfdmFsdWUoQk9PU1RfVU5PUkRFUkVEX0VNUExBQ0VfRk9SV0FSRCk7CisgICAgICAgICAgICByZXR1cm4gZW1wbGFjZV9pbXBsX3dpdGhfbm9kZShhKTsKKyAgICAgICAgfQorCisgICAgICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworICAgICAgICAvLyBJbnNlcnQgcmFuZ2UgbWV0aG9kcworICAgICAgICAvLworICAgICAgICAvLyBpZiBoYXNoIGZ1bmN0aW9uIHRocm93cywgb3IgaW5zZXJ0aW5nID4gMSBlbGVtZW50LCBiYXNpYyBleGNlcHRpb24KKyAgICAgICAgLy8gc2FmZXR5IHN0cm9uZyBvdGhlcndpc2UKKworICAgICAgICB0ZW1wbGF0ZSA8Y2xhc3MgSW5wdXRJdD4KKyAgICAgICAgdm9pZCBpbnNlcnRfcmFuZ2UoSW5wdXRJdCBpLCBJbnB1dEl0IGopCisgICAgICAgIHsKKyAgICAgICAgICAgIGlmKGkgIT0gaikKKyAgICAgICAgICAgICAgICByZXR1cm4gaW5zZXJ0X3JhbmdlX2ltcGwoZXh0cmFjdG9yOjpleHRyYWN0KCppKSwgaSwgaik7CisgICAgICAgIH0KKworICAgICAgICB0ZW1wbGF0ZSA8Y2xhc3MgSW5wdXRJdD4KKyAgICAgICAgdm9pZCBpbnNlcnRfcmFuZ2VfaW1wbChrZXlfdHlwZSBjb25zdCYgaywgSW5wdXRJdCBpLCBJbnB1dEl0IGopCisgICAgICAgIHsKKyAgICAgICAgICAgIG5vZGVfY29uc3RydWN0b3IgYSh0aGlzLT5ub2RlX2FsbG9jKCkpOworCisgICAgICAgICAgICBpbnNlcnRfcmFuZ2VfaW1wbDIoYSwgaywgaSwgaik7CisKKyAgICAgICAgICAgIHdoaWxlKCsraSAhPSBqKSB7CisgICAgICAgICAgICAgICAgLy8gTm90ZTogY2FuJ3QgdXNlIGdldF9rZXkgYXMgJyppJyBtaWdodCBub3QgYmUgdmFsdWVfdHlwZSAtIGl0CisgICAgICAgICAgICAgICAgLy8gY291bGQgYmUgYSBwYWlyIHdpdGggZmlyc3RfdHlwZXMgYXMga2V5X3R5cGUgd2l0aG91dCBjb25zdCBvcgorICAgICAgICAgICAgICAgIC8vIGEgZGlmZmVyZW50IHNlY29uZF90eXBlLgorICAgICAgICAgICAgICAgIC8vCisgICAgICAgICAgICAgICAgLy8gVE9ETzogTWlnaHQgYmUgd29ydGggc3RvcmluZyB0aGUgdmFsdWVfdHlwZSBpbnN0ZWFkIG9mIHRoZQorICAgICAgICAgICAgICAgIC8vIGtleSBoZXJlLiBDb3VsZCBiZSBtb3JlIGVmZmljaWVudCBpZiAnKmknIGlzIGV4cGVuc2l2ZS4gQ291bGQKKyAgICAgICAgICAgICAgICAvLyBiZSBsZXNzIGVmZmljaWVudCBpZiBjb3B5aW5nIHRoZSBmdWxsIHZhbHVlX3R5cGUgaXMKKyAgICAgICAgICAgICAgICAvLyBleHBlbnNpdmUuCisgICAgICAgICAgICAgICAgaW5zZXJ0X3JhbmdlX2ltcGwyKGEsIGV4dHJhY3Rvcjo6ZXh0cmFjdCgqaSksIGksIGopOworICAgICAgICAgICAgfQorICAgICAgICB9CisKKyAgICAgICAgdGVtcGxhdGUgPGNsYXNzIElucHV0SXQ+CisgICAgICAgIHZvaWQgaW5zZXJ0X3JhbmdlX2ltcGwyKG5vZGVfY29uc3RydWN0b3ImIGEsIGtleV90eXBlIGNvbnN0JiBrLAorICAgICAgICAgICAgSW5wdXRJdCBpLCBJbnB1dEl0IGopCisgICAgICAgIHsKKyAgICAgICAgICAgIC8vIE5vIHNpZGUgZWZmZWN0cyBpbiB0aGlzIGluaXRpYWwgY29kZQorICAgICAgICAgICAgc3RkOjpzaXplX3Qga2V5X2hhc2ggPSB0aGlzLT5oYXNoKGspOworICAgICAgICAgICAgaXRlcmF0b3IgcG9zID0gdGhpcy0+ZmluZF9ub2RlKGtleV9oYXNoLCBrKTsKKyAgICAKKyAgICAgICAgICAgIGlmICghcG9zLm5vZGVfKSB7CisgICAgICAgICAgICAgICAgYS5jb25zdHJ1Y3Rfd2l0aF92YWx1ZTIoKmkpOworICAgICAgICAgICAgICAgIGlmKHRoaXMtPnNpemVfICsgMSA+IHRoaXMtPm1heF9sb2FkXykKKyAgICAgICAgICAgICAgICAgICAgdGhpcy0+cmVzZXJ2ZV9mb3JfaW5zZXJ0KHRoaXMtPnNpemVfICsKKyAgICAgICAgICAgICAgICAgICAgICAgIG5kbmJvb3N0Ojp1bm9yZGVyZWQ6OmRldGFpbDo6aW5zZXJ0X3NpemUoaSwgaikpOworICAgIAorICAgICAgICAgICAgICAgIC8vIE5vdGhpbmcgYWZ0ZXIgdGhpcyBwb2ludCBjYW4gdGhyb3cuCisgICAgICAgICAgICAgICAgdGhpcy0+YWRkX25vZGUoYSwga2V5X2hhc2gpOworICAgICAgICAgICAgfQorICAgICAgICB9CisKKyAgICAgICAgdGVtcGxhdGUgPGNsYXNzIElucHV0SXQ+CisgICAgICAgIHZvaWQgaW5zZXJ0X3JhbmdlX2ltcGwobm9fa2V5LCBJbnB1dEl0IGksIElucHV0SXQgaikKKyAgICAgICAgeworICAgICAgICAgICAgbm9kZV9jb25zdHJ1Y3RvciBhKHRoaXMtPm5vZGVfYWxsb2MoKSk7CisKKyAgICAgICAgICAgIGRvIHsKKyAgICAgICAgICAgICAgICBhLmNvbnN0cnVjdF93aXRoX3ZhbHVlMigqaSk7CisgICAgICAgICAgICAgICAgZW1wbGFjZV9pbXBsX3dpdGhfbm9kZShhKTsKKyAgICAgICAgICAgIH0gd2hpbGUoKytpICE9IGopOworICAgICAgICB9CisKKyAgICAgICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCisgICAgICAgIC8vIEVyYXNlCisgICAgICAgIC8vCisgICAgICAgIC8vIG5vIHRocm93CisKKyAgICAgICAgc3RkOjpzaXplX3QgZXJhc2Vfa2V5KGtleV90eXBlIGNvbnN0JiBrKQorICAgICAgICB7CisgICAgICAgICAgICBpZighdGhpcy0+c2l6ZV8pIHJldHVybiAwOworCisgICAgICAgICAgICBzdGQ6OnNpemVfdCBrZXlfaGFzaCA9IHRoaXMtPmhhc2goayk7CisgICAgICAgICAgICBzdGQ6OnNpemVfdCBidWNrZXRfaW5kZXggPSB0aGlzLT5oYXNoX3RvX2J1Y2tldChrZXlfaGFzaCk7CisgICAgICAgICAgICBsaW5rX3BvaW50ZXIgcHJldiA9IHRoaXMtPmdldF9wcmV2aW91c19zdGFydChidWNrZXRfaW5kZXgpOworICAgICAgICAgICAgaWYgKCFwcmV2KSByZXR1cm4gMDsKKworICAgICAgICAgICAgZm9yICg7OykKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBpZiAoIXByZXYtPm5leHRfKSByZXR1cm4gMDsKKyAgICAgICAgICAgICAgICBzdGQ6OnNpemVfdCBub2RlX2hhc2ggPQorICAgICAgICAgICAgICAgICAgICBzdGF0aWNfY2FzdDxub2RlX3BvaW50ZXI+KHByZXYtPm5leHRfKS0+aGFzaF87CisgICAgICAgICAgICAgICAgaWYgKHRoaXMtPmhhc2hfdG9fYnVja2V0KG5vZGVfaGFzaCkgIT0gYnVja2V0X2luZGV4KQorICAgICAgICAgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgICAgICAgICBpZiAobm9kZV9oYXNoID09IGtleV9oYXNoICYmCisgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLT5rZXlfZXEoKShrLCB0aGlzLT5nZXRfa2V5KAorICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGljX2Nhc3Q8bm9kZV9wb2ludGVyPihwcmV2LT5uZXh0XyktPnZhbHVlKCkpKSkKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgcHJldiA9IHByZXYtPm5leHRfOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBsaW5rX3BvaW50ZXIgZW5kID0gc3RhdGljX2Nhc3Q8bm9kZV9wb2ludGVyPihwcmV2LT5uZXh0XyktPm5leHRfOworCisgICAgICAgICAgICBzdGQ6OnNpemVfdCBjb3VudCA9IHRoaXMtPmRlbGV0ZV9ub2RlcyhwcmV2LCBlbmQpOworICAgICAgICAgICAgdGhpcy0+Zml4X2J1Y2tldChidWNrZXRfaW5kZXgsIHByZXYpOworICAgICAgICAgICAgcmV0dXJuIGNvdW50OworICAgICAgICB9CisKKyAgICAgICAgaXRlcmF0b3IgZXJhc2UoY19pdGVyYXRvciByKQorICAgICAgICB7CisgICAgICAgICAgICBCT09TVF9BU1NFUlQoci5ub2RlXyk7CisgICAgICAgICAgICBpdGVyYXRvciBuZXh0KHIubm9kZV8pOworICAgICAgICAgICAgKytuZXh0OworICAgICAgICAgICAgZXJhc2Vfbm9kZXMoci5ub2RlXywgbmV4dC5ub2RlXyk7CisgICAgICAgICAgICByZXR1cm4gbmV4dDsKKyAgICAgICAgfQorCisgICAgICAgIGl0ZXJhdG9yIGVyYXNlX3JhbmdlKGNfaXRlcmF0b3IgcjEsIGNfaXRlcmF0b3IgcjIpCisgICAgICAgIHsKKyAgICAgICAgICAgIGlmIChyMSA9PSByMikgcmV0dXJuIGl0ZXJhdG9yKHIyLm5vZGVfKTsKKyAgICAgICAgICAgIGVyYXNlX25vZGVzKHIxLm5vZGVfLCByMi5ub2RlXyk7CisgICAgICAgICAgICByZXR1cm4gaXRlcmF0b3IocjIubm9kZV8pOworICAgICAgICB9CisKKyAgICAgICAgdm9pZCBlcmFzZV9ub2Rlcyhub2RlX3BvaW50ZXIgYmVnaW4sIG5vZGVfcG9pbnRlciBlbmQpCisgICAgICAgIHsKKyAgICAgICAgICAgIHN0ZDo6c2l6ZV90IGJ1Y2tldF9pbmRleCA9IHRoaXMtPmhhc2hfdG9fYnVja2V0KGJlZ2luLT5oYXNoXyk7CisKKyAgICAgICAgICAgIC8vIEZpbmQgdGhlIG5vZGUgYmVmb3JlIGJlZ2luLgorICAgICAgICAgICAgbGlua19wb2ludGVyIHByZXYgPSB0aGlzLT5nZXRfcHJldmlvdXNfc3RhcnQoYnVja2V0X2luZGV4KTsKKyAgICAgICAgICAgIHdoaWxlKHByZXYtPm5leHRfICE9IGJlZ2luKSBwcmV2ID0gcHJldi0+bmV4dF87CisKKyAgICAgICAgICAgIC8vIERlbGV0ZSB0aGUgbm9kZXMuCisgICAgICAgICAgICBkbyB7CisgICAgICAgICAgICAgICAgdGhpcy0+ZGVsZXRlX25vZGUocHJldik7CisgICAgICAgICAgICAgICAgYnVja2V0X2luZGV4ID0gdGhpcy0+Zml4X2J1Y2tldChidWNrZXRfaW5kZXgsIHByZXYpOworICAgICAgICAgICAgfSB3aGlsZSAocHJldi0+bmV4dF8gIT0gZW5kKTsKKyAgICAgICAgfQorCisgICAgICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworICAgICAgICAvLyBmaWxsX2J1Y2tldHMKKworICAgICAgICB0ZW1wbGF0ZSA8Y2xhc3MgTm9kZUNyZWF0b3I+CisgICAgICAgIHN0YXRpYyB2b2lkIGZpbGxfYnVja2V0cyhpdGVyYXRvciBuLCB0YWJsZSYgZHN0LAorICAgICAgICAgICAgTm9kZUNyZWF0b3ImIGNyZWF0b3IpCisgICAgICAgIHsKKyAgICAgICAgICAgIGxpbmtfcG9pbnRlciBwcmV2ID0gZHN0LmdldF9wcmV2aW91c19zdGFydCgpOworCisgICAgICAgICAgICB3aGlsZSAobi5ub2RlXykgeworICAgICAgICAgICAgICAgIG5vZGVfcG9pbnRlciBub2RlID0gY3JlYXRvci5jcmVhdGUoKm4pOworICAgICAgICAgICAgICAgIG5vZGUtPmhhc2hfID0gbi5ub2RlXy0+aGFzaF87CisgICAgICAgICAgICAgICAgcHJldi0+bmV4dF8gPSBub2RlOworICAgICAgICAgICAgICAgICsrZHN0LnNpemVfOworICAgICAgICAgICAgICAgICsrbjsKKworICAgICAgICAgICAgICAgIHByZXYgPSBwbGFjZV9pbl9idWNrZXQoZHN0LCBwcmV2KTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorCisgICAgICAgIC8vIHN0cm9uZyBvdGhlcndpc2UgZXhjZXB0aW9uIHNhZmV0eQorICAgICAgICB2b2lkIHJlaGFzaF9pbXBsKHN0ZDo6c2l6ZV90IG51bV9idWNrZXRzKQorICAgICAgICB7CisgICAgICAgICAgICBCT09TVF9BU1NFUlQodGhpcy0+YnVja2V0c18pOworCisgICAgICAgICAgICB0aGlzLT5jcmVhdGVfYnVja2V0cyhudW1fYnVja2V0cyk7CisgICAgICAgICAgICBsaW5rX3BvaW50ZXIgcHJldiA9IHRoaXMtPmdldF9wcmV2aW91c19zdGFydCgpOworICAgICAgICAgICAgd2hpbGUgKHByZXYtPm5leHRfKQorICAgICAgICAgICAgICAgIHByZXYgPSBwbGFjZV9pbl9idWNrZXQoKnRoaXMsIHByZXYpOworICAgICAgICB9CisKKyAgICAgICAgLy8gSXRlcmF0ZSB0aHJvdWdoIHRoZSBub2RlcyBwbGFjaW5nIHRoZW0gaW4gdGhlIGNvcnJlY3QgYnVja2V0cy4KKyAgICAgICAgLy8gcHJlOiBwcmV2LT5uZXh0XyBpcyBub3QgbnVsbC4KKyAgICAgICAgc3RhdGljIGxpbmtfcG9pbnRlciBwbGFjZV9pbl9idWNrZXQodGFibGUmIGRzdCwgbGlua19wb2ludGVyIHByZXYpCisgICAgICAgIHsKKyAgICAgICAgICAgIG5vZGVfcG9pbnRlciBuID0gc3RhdGljX2Nhc3Q8bm9kZV9wb2ludGVyPihwcmV2LT5uZXh0Xyk7CisgICAgICAgICAgICBidWNrZXRfcG9pbnRlciBiID0gZHN0LmdldF9idWNrZXQoZHN0Lmhhc2hfdG9fYnVja2V0KG4tPmhhc2hfKSk7CisKKyAgICAgICAgICAgIGlmICghYi0+bmV4dF8pIHsKKyAgICAgICAgICAgICAgICBiLT5uZXh0XyA9IHByZXY7CisgICAgICAgICAgICAgICAgcmV0dXJuIG47CisgICAgICAgICAgICB9CisgICAgICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgICAgICBwcmV2LT5uZXh0XyA9IG4tPm5leHRfOworICAgICAgICAgICAgICAgIG4tPm5leHRfID0gYi0+bmV4dF8tPm5leHRfOworICAgICAgICAgICAgICAgIGItPm5leHRfLT5uZXh0XyA9IG47CisgICAgICAgICAgICAgICAgcmV0dXJuIHByZXY7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9OworfX19CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvdW5vcmRlcmVkL2RldGFpbC91dGlsLmhwcCBiL25kbmJvb3N0L3Vub3JkZXJlZC9kZXRhaWwvdXRpbC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDFmOGU0MgotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L3Vub3JkZXJlZC9kZXRhaWwvdXRpbC5ocHAKQEAgLTAsMCArMSwyNjAgQEAKKworLy8gQ29weXJpZ2h0IChDKSAyMDAzLTIwMDQgSmVyZW15IEIuIE1haXRpbi1TaGVwYXJkLgorLy8gQ29weXJpZ2h0IChDKSAyMDA1LTIwMTEgRGFuaWVsIEphbWVzCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIChTZWUgYWNjb21wYW55aW5nCisvLyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKworI2lmbmRlZiBCT09TVF9VTk9SREVSRURfREVUQUlMX1VUSUxfSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX1VOT1JERVJFRF9ERVRBSUxfVVRJTF9IUFBfSU5DTFVERUQKKworI2lmIGRlZmluZWQoX01TQ19WRVIpICYmIChfTVNDX1ZFUiA+PSAxMDIwKQorIyBwcmFnbWEgb25jZQorI2VuZGlmCisKKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9pc19jb252ZXJ0aWJsZS5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvaXNfZW1wdHkuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L2l0ZXJhdG9yL2l0ZXJhdG9yX2NhdGVnb3JpZXMuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3V0aWxpdHkvZW5hYmxlX2lmLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9kZXRhaWwvc2VsZWN0X3R5cGUuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21vdmUvbW92ZS5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL3NlcS9zaXplLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3Ivc2VxL2VudW0uaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3N3YXAuaHBwPgorCituYW1lc3BhY2UgbmRuYm9vc3QgeyBuYW1lc3BhY2UgdW5vcmRlcmVkIHsgbmFtZXNwYWNlIGRldGFpbCB7CisKKyAgICBzdGF0aWMgY29uc3QgZmxvYXQgbWluaW11bV9tYXhfbG9hZF9mYWN0b3IgPSAxZS0zZjsKKyAgICBzdGF0aWMgY29uc3Qgc3RkOjpzaXplX3QgZGVmYXVsdF9idWNrZXRfY291bnQgPSAxMTsKKyAgICBzdHJ1Y3QgbW92ZV90YWcge307CisgICAgc3RydWN0IGVtcHR5X2VtcGxhY2Uge307CisKKyAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCisgICAgLy8gaXRlcmF0b3IgU0ZJTkFFCisKKyAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgST4KKyAgICBzdHJ1Y3QgaXNfZm9yd2FyZCA6CisgICAgICAgIG5kbmJvb3N0Ojppc19jb252ZXJ0aWJsZTwKKyAgICAgICAgICAgIHR5cGVuYW1lIG5kbmJvb3N0OjppdGVyYXRvcl90cmF2ZXJzYWw8ST46OnR5cGUsCisgICAgICAgICAgICBuZG5ib29zdDo6Zm9yd2FyZF90cmF2ZXJzYWxfdGFnPgorICAgIHt9OworCisgICAgdGVtcGxhdGUgPHR5cGVuYW1lIEksIHR5cGVuYW1lIFJldHVyblR5cGU+CisgICAgc3RydWN0IGVuYWJsZV9pZl9mb3J3YXJkIDoKKyAgICAgICAgbmRuYm9vc3Q6OmVuYWJsZV9pZl9jPAorICAgICAgICAgICAgbmRuYm9vc3Q6OnVub3JkZXJlZDo6ZGV0YWlsOjppc19mb3J3YXJkPEk+Ojp2YWx1ZSwKKyAgICAgICAgICAgIFJldHVyblR5cGU+CisgICAge307CisKKyAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgSSwgdHlwZW5hbWUgUmV0dXJuVHlwZT4KKyAgICBzdHJ1Y3QgZGlzYWJsZV9pZl9mb3J3YXJkIDoKKyAgICAgICAgbmRuYm9vc3Q6OmRpc2FibGVfaWZfYzwKKyAgICAgICAgICAgIG5kbmJvb3N0Ojp1bm9yZGVyZWQ6OmRldGFpbDo6aXNfZm9yd2FyZDxJPjo6dmFsdWUsCisgICAgICAgICAgICBSZXR1cm5UeXBlPgorICAgIHt9OworCisgICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworICAgIC8vIHByaW1lcworCisjZGVmaW5lIEJPT1NUX1VOT1JERVJFRF9QUklNRVMgXAorICAgICgxN3VsKSgyOXVsKSgzN3VsKSg1M3VsKSg2N3VsKSg3OXVsKSBcCisgICAgKDk3dWwpKDEzMXVsKSgxOTN1bCkoMjU3dWwpKDM4OXVsKSg1MjF1bCkoNzY5dWwpIFwKKyAgICAoMTAzMXVsKSgxNTQzdWwpKDIwNTN1bCkoMzA3OXVsKSg2MTUxdWwpKDEyMjg5dWwpKDI0NTkzdWwpIFwKKyAgICAoNDkxNTd1bCkoOTgzMTd1bCkoMTk2NjEzdWwpKDM5MzI0MXVsKSg3ODY0MzN1bCkgXAorICAgICgxNTcyODY5dWwpKDMxNDU3Mzl1bCkoNjI5MTQ2OXVsKSgxMjU4MjkxN3VsKSgyNTE2NTg0M3VsKSBcCisgICAgKDUwMzMxNjUzdWwpKDEwMDY2MzMxOXVsKSgyMDEzMjY2MTF1bCkoNDAyNjUzMTg5dWwpKDgwNTMwNjQ1N3VsKSBcCisgICAgKDE2MTA2MTI3NDF1bCkoMzIyMTIyNTQ3M3VsKSg0Mjk0OTY3MjkxdWwpCisKKyAgICB0ZW1wbGF0ZTxjbGFzcyBUPiBzdHJ1Y3QgcHJpbWVfbGlzdF90ZW1wbGF0ZQorICAgIHsKKyAgICAgICAgc3RhdGljIHN0ZDo6c2l6ZV90IGNvbnN0IHZhbHVlW107CisKKyNpZiAhZGVmaW5lZChTVU5QUk9fQ0MpCisgICAgICAgIHN0YXRpYyBzdGQ6OnB0cmRpZmZfdCBjb25zdCBsZW5ndGg7CisjZWxzZQorICAgICAgICBzdGF0aWMgc3RkOjpwdHJkaWZmX3QgY29uc3QgbGVuZ3RoCisgICAgICAgICAgICA9IEJPT1NUX1BQX1NFUV9TSVpFKEJPT1NUX1VOT1JERVJFRF9QUklNRVMpOworI2VuZGlmCisgICAgfTsKKworICAgIHRlbXBsYXRlPGNsYXNzIFQ+CisgICAgc3RkOjpzaXplX3QgY29uc3QgcHJpbWVfbGlzdF90ZW1wbGF0ZTxUPjo6dmFsdWVbXSA9IHsKKyAgICAgICAgQk9PU1RfUFBfU0VRX0VOVU0oQk9PU1RfVU5PUkRFUkVEX1BSSU1FUykKKyAgICB9OworCisjaWYgIWRlZmluZWQoU1VOUFJPX0NDKQorICAgIHRlbXBsYXRlPGNsYXNzIFQ+CisgICAgc3RkOjpwdHJkaWZmX3QgY29uc3QgcHJpbWVfbGlzdF90ZW1wbGF0ZTxUPjo6bGVuZ3RoCisgICAgICAgID0gQk9PU1RfUFBfU0VRX1NJWkUoQk9PU1RfVU5PUkRFUkVEX1BSSU1FUyk7CisjZW5kaWYKKworI3VuZGVmIEJPT1NUX1VOT1JERVJFRF9QUklNRVMKKworICAgIHR5cGVkZWYgcHJpbWVfbGlzdF90ZW1wbGF0ZTxzdGQ6OnNpemVfdD4gcHJpbWVfbGlzdDsKKworICAgIC8vIG5vIHRocm93CisgICAgaW5saW5lIHN0ZDo6c2l6ZV90IG5leHRfcHJpbWUoc3RkOjpzaXplX3QgbnVtKSB7CisgICAgICAgIHN0ZDo6c2l6ZV90IGNvbnN0KiBjb25zdCBwcmltZV9saXN0X2JlZ2luID0gcHJpbWVfbGlzdDo6dmFsdWU7CisgICAgICAgIHN0ZDo6c2l6ZV90IGNvbnN0KiBjb25zdCBwcmltZV9saXN0X2VuZCA9IHByaW1lX2xpc3RfYmVnaW4gKworICAgICAgICAgICAgcHJpbWVfbGlzdDo6bGVuZ3RoOworICAgICAgICBzdGQ6OnNpemVfdCBjb25zdCogYm91bmQgPQorICAgICAgICAgICAgc3RkOjpsb3dlcl9ib3VuZChwcmltZV9saXN0X2JlZ2luLCBwcmltZV9saXN0X2VuZCwgbnVtKTsKKyAgICAgICAgaWYoYm91bmQgPT0gcHJpbWVfbGlzdF9lbmQpCisgICAgICAgICAgICBib3VuZC0tOworICAgICAgICByZXR1cm4gKmJvdW5kOworICAgIH0KKworICAgIC8vIG5vIHRocm93CisgICAgaW5saW5lIHN0ZDo6c2l6ZV90IHByZXZfcHJpbWUoc3RkOjpzaXplX3QgbnVtKSB7CisgICAgICAgIHN0ZDo6c2l6ZV90IGNvbnN0KiBjb25zdCBwcmltZV9saXN0X2JlZ2luID0gcHJpbWVfbGlzdDo6dmFsdWU7CisgICAgICAgIHN0ZDo6c2l6ZV90IGNvbnN0KiBjb25zdCBwcmltZV9saXN0X2VuZCA9IHByaW1lX2xpc3RfYmVnaW4gKworICAgICAgICAgICAgcHJpbWVfbGlzdDo6bGVuZ3RoOworICAgICAgICBzdGQ6OnNpemVfdCBjb25zdCogYm91bmQgPQorICAgICAgICAgICAgc3RkOjp1cHBlcl9ib3VuZChwcmltZV9saXN0X2JlZ2luLHByaW1lX2xpc3RfZW5kLCBudW0pOworICAgICAgICBpZihib3VuZCAhPSBwcmltZV9saXN0X2JlZ2luKQorICAgICAgICAgICAgYm91bmQtLTsKKyAgICAgICAgcmV0dXJuICpib3VuZDsKKyAgICB9CisKKyAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCisgICAgLy8gaW5zZXJ0X3NpemUvaW5pdGlhbF9zaXplCisKKyNpZiAhZGVmaW5lZChCT09TVF9OT19TVERfRElTVEFOQ0UpCisKKyAgICB1c2luZyA6OnN0ZDo6ZGlzdGFuY2U7CisKKyNlbHNlCisKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgRm9yd2FyZEl0ZXJhdG9yPgorICAgIGlubGluZSBzdGQ6OnNpemVfdCBkaXN0YW5jZShGb3J3YXJkSXRlcmF0b3IgaSwgRm9yd2FyZEl0ZXJhdG9yIGopIHsKKyAgICAgICAgc3RkOjpzaXplX3QgeDsKKyAgICAgICAgc3RkOjpkaXN0YW5jZShpLCBqLCB4KTsKKyAgICAgICAgcmV0dXJuIHg7CisgICAgfQorCisjZW5kaWYKKworICAgIHRlbXBsYXRlIDxjbGFzcyBJPgorICAgIGlubGluZSB0eXBlbmFtZQorICAgICAgICBuZG5ib29zdDo6dW5vcmRlcmVkOjpkZXRhaWw6OmVuYWJsZV9pZl9mb3J3YXJkPEksIHN0ZDo6c2l6ZV90Pjo6dHlwZQorICAgICAgICBpbnNlcnRfc2l6ZShJIGksIEkgaikKKyAgICB7CisgICAgICAgIHJldHVybiBzdGQ6OmRpc3RhbmNlKGksIGopOworICAgIH0KKworICAgIHRlbXBsYXRlIDxjbGFzcyBJPgorICAgIGlubGluZSB0eXBlbmFtZQorICAgICAgICBuZG5ib29zdDo6dW5vcmRlcmVkOjpkZXRhaWw6OmRpc2FibGVfaWZfZm9yd2FyZDxJLCBzdGQ6OnNpemVfdD46OnR5cGUKKyAgICAgICAgaW5zZXJ0X3NpemUoSSwgSSkKKyAgICB7CisgICAgICAgIHJldHVybiAxOworICAgIH0KKworICAgIHRlbXBsYXRlIDxjbGFzcyBJPgorICAgIGlubGluZSBzdGQ6OnNpemVfdCBpbml0aWFsX3NpemUoSSBpLCBJIGosCisgICAgICAgIHN0ZDo6c2l6ZV90IG51bV9idWNrZXRzID0KKyAgICAgICAgICAgIG5kbmJvb3N0Ojp1bm9yZGVyZWQ6OmRldGFpbDo6ZGVmYXVsdF9idWNrZXRfY291bnQpCisgICAgeworICAgICAgICAvLyBUT0RPOiBXaHkgKzE/CisgICAgICAgIHJldHVybiAoc3RkOjptYXgpKAorICAgICAgICAgICAgbmRuYm9vc3Q6OnVub3JkZXJlZDo6ZGV0YWlsOjppbnNlcnRfc2l6ZShpLCBqKSArIDEsCisgICAgICAgICAgICBudW1fYnVja2V0cyk7CisgICAgfQorCisgICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworICAgIC8vIGNvbXByZXNzZWQKKworICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBULCBpbnQgSW5kZXg+CisgICAgc3RydWN0IGNvbXByZXNzZWRfYmFzZSA6IHByaXZhdGUgVAorICAgIHsKKyAgICAgICAgY29tcHJlc3NlZF9iYXNlKFQgY29uc3QmIHgpIDogVCh4KSB7fQorICAgICAgICBjb21wcmVzc2VkX2Jhc2UoVCYgeCwgbW92ZV90YWcpIDogVChuZG5ib29zdDo6bW92ZSh4KSkge30KKworICAgICAgICBUJiBnZXQoKSB7IHJldHVybiAqdGhpczsgfQorICAgICAgICBUIGNvbnN0JiBnZXQoKSBjb25zdCB7IHJldHVybiAqdGhpczsgfQorICAgIH07CisgICAgCisgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFQsIGludCBJbmRleD4KKyAgICBzdHJ1Y3QgdW5jb21wcmVzc2VkX2Jhc2UKKyAgICB7CisgICAgICAgIHVuY29tcHJlc3NlZF9iYXNlKFQgY29uc3QmIHgpIDogdmFsdWVfKHgpIHt9CisgICAgICAgIHVuY29tcHJlc3NlZF9iYXNlKFQmIHgsIG1vdmVfdGFnKSA6IHZhbHVlXyhuZG5ib29zdDo6bW92ZSh4KSkge30KKworICAgICAgICBUJiBnZXQoKSB7IHJldHVybiB2YWx1ZV87IH0KKyAgICAgICAgVCBjb25zdCYgZ2V0KCkgY29uc3QgeyByZXR1cm4gdmFsdWVfOyB9CisgICAgcHJpdmF0ZToKKyAgICAgICAgVCB2YWx1ZV87CisgICAgfTsKKyAgICAKKyAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVCwgaW50IEluZGV4PgorICAgIHN0cnVjdCBnZW5lcmF0ZV9iYXNlCisgICAgICA6IG5kbmJvb3N0OjpkZXRhaWw6OmlmX3RydWU8CisgICAgICAgICAgICBuZG5ib29zdDo6aXNfZW1wdHk8VD46OnZhbHVlCisgICAgICAgID46OiBCT09TVF9ORVNURURfVEVNUExBVEUgdGhlbjwKKyAgICAgICAgICAgIG5kbmJvb3N0Ojp1bm9yZGVyZWQ6OmRldGFpbDo6Y29tcHJlc3NlZF9iYXNlPFQsIEluZGV4PiwKKyAgICAgICAgICAgIG5kbmJvb3N0Ojp1bm9yZGVyZWQ6OmRldGFpbDo6dW5jb21wcmVzc2VkX2Jhc2U8VCwgSW5kZXg+CisgICAgICAgID4KKyAgICB7fTsKKyAgICAKKyAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyPgorICAgIHN0cnVjdCBjb21wcmVzc2VkCisgICAgICA6IHByaXZhdGUgbmRuYm9vc3Q6OnVub3JkZXJlZDo6ZGV0YWlsOjpnZW5lcmF0ZV9iYXNlPFQxLCAxPjo6dHlwZSwKKyAgICAgICAgcHJpdmF0ZSBuZG5ib29zdDo6dW5vcmRlcmVkOjpkZXRhaWw6OmdlbmVyYXRlX2Jhc2U8VDIsIDI+Ojp0eXBlCisgICAgeworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGdlbmVyYXRlX2Jhc2U8VDEsIDE+Ojp0eXBlIGJhc2UxOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGdlbmVyYXRlX2Jhc2U8VDIsIDI+Ojp0eXBlIGJhc2UyOworCisgICAgICAgIHR5cGVkZWYgVDEgZmlyc3RfdHlwZTsKKyAgICAgICAgdHlwZWRlZiBUMiBzZWNvbmRfdHlwZTsKKyAgICAgICAgCisgICAgICAgIGZpcnN0X3R5cGUmIGZpcnN0KCkgeworICAgICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGJhc2UxKj4odGhpcyktPmdldCgpOworICAgICAgICB9CisKKyAgICAgICAgZmlyc3RfdHlwZSBjb25zdCYgZmlyc3QoKSBjb25zdCB7CisgICAgICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8YmFzZTEgY29uc3QqPih0aGlzKS0+Z2V0KCk7CisgICAgICAgIH0KKworICAgICAgICBzZWNvbmRfdHlwZSYgc2Vjb25kKCkgeworICAgICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGJhc2UyKj4odGhpcyktPmdldCgpOworICAgICAgICB9CisKKyAgICAgICAgc2Vjb25kX3R5cGUgY29uc3QmIHNlY29uZCgpIGNvbnN0IHsKKyAgICAgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxiYXNlMiBjb25zdCo+KHRoaXMpLT5nZXQoKTsKKyAgICAgICAgfQorCisgICAgICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBGaXJzdCwgdHlwZW5hbWUgU2Vjb25kPgorICAgICAgICBjb21wcmVzc2VkKEZpcnN0IGNvbnN0JiB4MSwgU2Vjb25kIGNvbnN0JiB4MikKKyAgICAgICAgICAgIDogYmFzZTEoeDEpLCBiYXNlMih4Mikge30KKworICAgICAgICBjb21wcmVzc2VkKGNvbXByZXNzZWQgY29uc3QmIHgpCisgICAgICAgICAgICA6IGJhc2UxKHguZmlyc3QoKSksIGJhc2UyKHguc2Vjb25kKCkpIHt9CisKKyAgICAgICAgY29tcHJlc3NlZChjb21wcmVzc2VkJiB4LCBtb3ZlX3RhZyBtKQorICAgICAgICAgICAgOiBiYXNlMSh4LmZpcnN0KCksIG0pLCBiYXNlMih4LnNlY29uZCgpLCBtKSB7fQorCisgICAgICAgIHZvaWQgYXNzaWduKGNvbXByZXNzZWQgY29uc3QmIHgpCisgICAgICAgIHsKKyAgICAgICAgICAgIGZpcnN0KCkgPSB4LmZpcnN0KCk7CisgICAgICAgICAgICBzZWNvbmQoKSA9IHguc2Vjb25kKCk7CisgICAgICAgIH0KKworICAgICAgICB2b2lkIG1vdmVfYXNzaWduKGNvbXByZXNzZWQmIHgpCisgICAgICAgIHsKKyAgICAgICAgICAgIGZpcnN0KCkgPSBuZG5ib29zdDo6bW92ZSh4LmZpcnN0KCkpOworICAgICAgICAgICAgc2Vjb25kKCkgPSBuZG5ib29zdDo6bW92ZSh4LnNlY29uZCgpKTsKKyAgICAgICAgfQorICAgICAgICAKKyAgICAgICAgdm9pZCBzd2FwKGNvbXByZXNzZWQmIHgpCisgICAgICAgIHsKKyAgICAgICAgICAgIG5kbmJvb3N0Ojpzd2FwKGZpcnN0KCksIHguZmlyc3QoKSk7CisgICAgICAgICAgICBuZG5ib29zdDo6c3dhcChzZWNvbmQoKSwgeC5zZWNvbmQoKSk7CisgICAgICAgIH0KKworICAgIHByaXZhdGU6CisgICAgICAgIC8vIFByZXZlbnQgYXNzaWdubWVudCBqdXN0IHRvIG1ha2UgdXNlIG9mIGFzc2lnbiBvcgorICAgICAgICAvLyBtb3ZlX2Fzc2lnbiBleHBsaWNpdC4KKyAgICAgICAgY29tcHJlc3NlZCYgb3BlcmF0b3I9KGNvbXByZXNzZWQgY29uc3QmKTsKKyAgICB9OworfX19CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvdW5vcmRlcmVkL3Vub3JkZXJlZF9zZXQuaHBwIGIvbmRuYm9vc3QvdW5vcmRlcmVkL3Vub3JkZXJlZF9zZXQuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVhNjhiZTYKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC91bm9yZGVyZWQvdW5vcmRlcmVkX3NldC5ocHAKQEAgLTAsMCArMSwxNTQ5IEBACisKKy8vIENvcHlyaWdodCAoQykgMjAwMy0yMDA0IEplcmVteSBCLiBNYWl0aW4tU2hlcGFyZC4KKy8vIENvcHlyaWdodCAoQykgMjAwNS0yMDExIERhbmllbCBKYW1lcy4KKy8vIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gKFNlZSBhY2NvbXBhbnlpbmcKKy8vIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorCisvLyAgU2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL2xpYnMvdW5vcmRlcmVkIGZvciBkb2N1bWVudGF0aW9uCisKKyNpZm5kZWYgQk9PU1RfVU5PUkRFUkVEX1VOT1JERVJFRF9TRVRfSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX1VOT1JERVJFRF9VTk9SREVSRURfU0VUX0hQUF9JTkNMVURFRAorCisjaWYgZGVmaW5lZChfTVNDX1ZFUikgJiYgKF9NU0NfVkVSID49IDEwMjApCisjIHByYWdtYSBvbmNlCisjZW5kaWYKKworI2luY2x1ZGUgPG5kbmJvb3N0L3Vub3JkZXJlZC91bm9yZGVyZWRfc2V0X2Z3ZC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvdW5vcmRlcmVkL2RldGFpbC9lcXVpdmFsZW50LmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC91bm9yZGVyZWQvZGV0YWlsL3VuaXF1ZS5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvdW5vcmRlcmVkL2RldGFpbC91dGlsLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9mdW5jdGlvbmFsL2hhc2guaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21vdmUvbW92ZS5ocHA+CisKKyNpZiAhZGVmaW5lZChCT09TVF9OT19DWFgxMV9IRFJfSU5JVElBTElaRVJfTElTVCkKKyNpbmNsdWRlIDxpbml0aWFsaXplcl9saXN0PgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKEJPT1NUX01TVkMpCisjcHJhZ21hIHdhcm5pbmcocHVzaCkKKyNpZiBCT09TVF9NU1ZDID49IDE0MDAKKyNwcmFnbWEgd2FybmluZyhkaXNhYmxlOjQzOTYpIC8vdGhlIGlubGluZSBzcGVjaWZpZXIgY2Fubm90IGJlIHVzZWQgd2hlbiBhCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBmcmllbmQgZGVjbGFyYXRpb24gcmVmZXJzIHRvIGEgc3BlY2lhbGl6YXRpb24KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIG9mIGEgZnVuY3Rpb24gdGVtcGxhdGUKKyNlbmRpZgorI2VuZGlmCisKK25hbWVzcGFjZSBuZG5ib29zdAoreworbmFtZXNwYWNlIHVub3JkZXJlZAoreworICAgIHRlbXBsYXRlIDxjbGFzcyBULCBjbGFzcyBILCBjbGFzcyBQLCBjbGFzcyBBPgorICAgIGNsYXNzIHVub3JkZXJlZF9zZXQKKyAgICB7CisjaWYgZGVmaW5lZChCT09TVF9VTk9SREVSRURfVVNFX01PVkUpCisgICAgICAgIEJPT1NUX0NPUFlBQkxFX0FORF9NT1ZBQkxFKHVub3JkZXJlZF9zZXQpCisjZW5kaWYKKyAgICBwdWJsaWM6CisKKyAgICAgICAgdHlwZWRlZiBUIGtleV90eXBlOworICAgICAgICB0eXBlZGVmIFQgdmFsdWVfdHlwZTsKKyAgICAgICAgdHlwZWRlZiBIIGhhc2hlcjsKKyAgICAgICAgdHlwZWRlZiBQIGtleV9lcXVhbDsKKyAgICAgICAgdHlwZWRlZiBBIGFsbG9jYXRvcl90eXBlOworCisgICAgcHJpdmF0ZToKKworICAgICAgICB0eXBlZGVmIG5kbmJvb3N0Ojp1bm9yZGVyZWQ6OmRldGFpbDo6c2V0PEEsIFQsIEgsIFA+IHR5cGVzOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHR5cGVzOjp0cmFpdHMgYWxsb2NhdG9yX3RyYWl0czsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSB0eXBlczo6dGFibGUgdGFibGU7CisKKyAgICBwdWJsaWM6CisKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhbGxvY2F0b3JfdHJhaXRzOjpwb2ludGVyIHBvaW50ZXI7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgYWxsb2NhdG9yX3RyYWl0czo6Y29uc3RfcG9pbnRlciBjb25zdF9wb2ludGVyOworCisgICAgICAgIHR5cGVkZWYgdmFsdWVfdHlwZSYgcmVmZXJlbmNlOworICAgICAgICB0eXBlZGVmIHZhbHVlX3R5cGUgY29uc3QmIGNvbnN0X3JlZmVyZW5jZTsKKworICAgICAgICB0eXBlZGVmIHN0ZDo6c2l6ZV90IHNpemVfdHlwZTsKKyAgICAgICAgdHlwZWRlZiBzdGQ6OnB0cmRpZmZfdCBkaWZmZXJlbmNlX3R5cGU7CisKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSB0YWJsZTo6Y2xfaXRlcmF0b3IgY29uc3RfbG9jYWxfaXRlcmF0b3I7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgdGFibGU6OmNsX2l0ZXJhdG9yIGxvY2FsX2l0ZXJhdG9yOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHRhYmxlOjpjX2l0ZXJhdG9yIGNvbnN0X2l0ZXJhdG9yOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHRhYmxlOjpjX2l0ZXJhdG9yIGl0ZXJhdG9yOworCisgICAgcHJpdmF0ZToKKworICAgICAgICB0YWJsZSB0YWJsZV87CisKKyAgICBwdWJsaWM6CisKKyAgICAgICAgLy8gY29uc3RydWN0b3JzCisKKyAgICAgICAgZXhwbGljaXQgdW5vcmRlcmVkX3NldCgKKyAgICAgICAgICAgICAgICBzaXplX3R5cGUgPSBuZG5ib29zdDo6dW5vcmRlcmVkOjpkZXRhaWw6OmRlZmF1bHRfYnVja2V0X2NvdW50LAorICAgICAgICAgICAgICAgIGNvbnN0IGhhc2hlciYgPSBoYXNoZXIoKSwKKyAgICAgICAgICAgICAgICBjb25zdCBrZXlfZXF1YWwmID0ga2V5X2VxdWFsKCksCisgICAgICAgICAgICAgICAgY29uc3QgYWxsb2NhdG9yX3R5cGUmID0gYWxsb2NhdG9yX3R5cGUoKSk7CisKKyAgICAgICAgZXhwbGljaXQgdW5vcmRlcmVkX3NldChhbGxvY2F0b3JfdHlwZSBjb25zdCYpOworCisgICAgICAgIHRlbXBsYXRlIDxjbGFzcyBJbnB1dEl0PgorICAgICAgICB1bm9yZGVyZWRfc2V0KElucHV0SXQsIElucHV0SXQpOworCisgICAgICAgIHRlbXBsYXRlIDxjbGFzcyBJbnB1dEl0PgorICAgICAgICB1bm9yZGVyZWRfc2V0KAorICAgICAgICAgICAgICAgIElucHV0SXQsIElucHV0SXQsCisgICAgICAgICAgICAgICAgc2l6ZV90eXBlLAorICAgICAgICAgICAgICAgIGNvbnN0IGhhc2hlciYgPSBoYXNoZXIoKSwKKyAgICAgICAgICAgICAgICBjb25zdCBrZXlfZXF1YWwmID0ga2V5X2VxdWFsKCkpOworCisgICAgICAgIHRlbXBsYXRlIDxjbGFzcyBJbnB1dEl0PgorICAgICAgICB1bm9yZGVyZWRfc2V0KAorICAgICAgICAgICAgICAgIElucHV0SXQsIElucHV0SXQsCisgICAgICAgICAgICAgICAgc2l6ZV90eXBlLAorICAgICAgICAgICAgICAgIGNvbnN0IGhhc2hlciYsCisgICAgICAgICAgICAgICAgY29uc3Qga2V5X2VxdWFsJiwKKyAgICAgICAgICAgICAgICBjb25zdCBhbGxvY2F0b3JfdHlwZSYpOworCisgICAgICAgIC8vIGNvcHkvbW92ZSBjb25zdHJ1Y3RvcnMKKworICAgICAgICB1bm9yZGVyZWRfc2V0KHVub3JkZXJlZF9zZXQgY29uc3QmKTsKKworICAgICAgICB1bm9yZGVyZWRfc2V0KHVub3JkZXJlZF9zZXQgY29uc3QmLCBhbGxvY2F0b3JfdHlwZSBjb25zdCYpOworCisjaWYgZGVmaW5lZChCT09TVF9VTk9SREVSRURfVVNFX01PVkUpCisgICAgICAgIHVub3JkZXJlZF9zZXQoQk9PU1RfUlZfUkVGKHVub3JkZXJlZF9zZXQpIG90aGVyKQorICAgICAgICAgICAgOiB0YWJsZV8ob3RoZXIudGFibGVfLCBuZG5ib29zdDo6dW5vcmRlcmVkOjpkZXRhaWw6Om1vdmVfdGFnKCkpCisgICAgICAgIHsKKyAgICAgICAgfQorI2VsaWYgIWRlZmluZWQoQk9PU1RfTk9fQ1hYMTFfUlZBTFVFX1JFRkVSRU5DRVMpCisgICAgICAgIHVub3JkZXJlZF9zZXQodW5vcmRlcmVkX3NldCYmIG90aGVyKQorICAgICAgICAgICAgOiB0YWJsZV8ob3RoZXIudGFibGVfLCBuZG5ib29zdDo6dW5vcmRlcmVkOjpkZXRhaWw6Om1vdmVfdGFnKCkpCisgICAgICAgIHsKKyAgICAgICAgfQorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChCT09TVF9OT19DWFgxMV9SVkFMVUVfUkVGRVJFTkNFUykKKyAgICAgICAgdW5vcmRlcmVkX3NldCh1bm9yZGVyZWRfc2V0JiYsIGFsbG9jYXRvcl90eXBlIGNvbnN0Jik7CisjZW5kaWYKKworI2lmICFkZWZpbmVkKEJPT1NUX05PX0NYWDExX0hEUl9JTklUSUFMSVpFUl9MSVNUKQorICAgICAgICB1bm9yZGVyZWRfc2V0KAorICAgICAgICAgICAgICAgIHN0ZDo6aW5pdGlhbGl6ZXJfbGlzdDx2YWx1ZV90eXBlPiwKKyAgICAgICAgICAgICAgICBzaXplX3R5cGUgPSBuZG5ib29zdDo6dW5vcmRlcmVkOjpkZXRhaWw6OmRlZmF1bHRfYnVja2V0X2NvdW50LAorICAgICAgICAgICAgICAgIGNvbnN0IGhhc2hlciYgPSBoYXNoZXIoKSwKKyAgICAgICAgICAgICAgICBjb25zdCBrZXlfZXF1YWwmbCA9IGtleV9lcXVhbCgpLAorICAgICAgICAgICAgICAgIGNvbnN0IGFsbG9jYXRvcl90eXBlJiA9IGFsbG9jYXRvcl90eXBlKCkpOworI2VuZGlmCisKKyAgICAgICAgLy8gRGVzdHJ1Y3RvcgorCisgICAgICAgIH51bm9yZGVyZWRfc2V0KCk7CisKKyAgICAgICAgLy8gQXNzaWduCisKKyNpZiBkZWZpbmVkKEJPT1NUX1VOT1JERVJFRF9VU0VfTU9WRSkKKyAgICAgICAgdW5vcmRlcmVkX3NldCYgb3BlcmF0b3I9KEJPT1NUX0NPUFlfQVNTSUdOX1JFRih1bm9yZGVyZWRfc2V0KSB4KQorICAgICAgICB7CisgICAgICAgICAgICB0YWJsZV8uYXNzaWduKHgudGFibGVfKTsKKyAgICAgICAgICAgIHJldHVybiAqdGhpczsKKyAgICAgICAgfQorCisgICAgICAgIHVub3JkZXJlZF9zZXQmIG9wZXJhdG9yPShCT09TVF9SVl9SRUYodW5vcmRlcmVkX3NldCkgeCkKKyAgICAgICAgeworICAgICAgICAgICAgdGFibGVfLm1vdmVfYXNzaWduKHgudGFibGVfKTsKKyAgICAgICAgICAgIHJldHVybiAqdGhpczsKKyAgICAgICAgfQorI2Vsc2UKKyAgICAgICAgdW5vcmRlcmVkX3NldCYgb3BlcmF0b3I9KHVub3JkZXJlZF9zZXQgY29uc3QmIHgpCisgICAgICAgIHsKKyAgICAgICAgICAgIHRhYmxlXy5hc3NpZ24oeC50YWJsZV8pOworICAgICAgICAgICAgcmV0dXJuICp0aGlzOworICAgICAgICB9CisKKyNpZiAhZGVmaW5lZChCT09TVF9OT19DWFgxMV9SVkFMVUVfUkVGRVJFTkNFUykKKyAgICAgICAgdW5vcmRlcmVkX3NldCYgb3BlcmF0b3I9KHVub3JkZXJlZF9zZXQmJiB4KQorICAgICAgICB7CisgICAgICAgICAgICB0YWJsZV8ubW92ZV9hc3NpZ24oeC50YWJsZV8pOworICAgICAgICAgICAgcmV0dXJuICp0aGlzOworICAgICAgICB9CisjZW5kaWYKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoQk9PU1RfTk9fQ1hYMTFfSERSX0lOSVRJQUxJWkVSX0xJU1QpCisgICAgICAgIHVub3JkZXJlZF9zZXQmIG9wZXJhdG9yPShzdGQ6OmluaXRpYWxpemVyX2xpc3Q8dmFsdWVfdHlwZT4pOworI2VuZGlmCisKKyAgICAgICAgYWxsb2NhdG9yX3R5cGUgZ2V0X2FsbG9jYXRvcigpIGNvbnN0IEJPT1NUX05PRVhDRVBUCisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiB0YWJsZV8ubm9kZV9hbGxvYygpOworICAgICAgICB9CisKKyAgICAgICAgLy8gc2l6ZSBhbmQgY2FwYWNpdHkKKworICAgICAgICBib29sIGVtcHR5KCkgY29uc3QgQk9PU1RfTk9FWENFUFQKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJuIHRhYmxlXy5zaXplXyA9PSAwOworICAgICAgICB9CisKKyAgICAgICAgc2l6ZV90eXBlIHNpemUoKSBjb25zdCBCT09TVF9OT0VYQ0VQVAorICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4gdGFibGVfLnNpemVfOworICAgICAgICB9CisKKyAgICAgICAgc2l6ZV90eXBlIG1heF9zaXplKCkgY29uc3QgQk9PU1RfTk9FWENFUFQ7CisKKyAgICAgICAgLy8gaXRlcmF0b3JzCisKKyAgICAgICAgaXRlcmF0b3IgYmVnaW4oKSBCT09TVF9OT0VYQ0VQVAorICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4gdGFibGVfLmJlZ2luKCk7CisgICAgICAgIH0KKworICAgICAgICBjb25zdF9pdGVyYXRvciBiZWdpbigpIGNvbnN0IEJPT1NUX05PRVhDRVBUCisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiB0YWJsZV8uYmVnaW4oKTsKKyAgICAgICAgfQorCisgICAgICAgIGl0ZXJhdG9yIGVuZCgpIEJPT1NUX05PRVhDRVBUCisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiBpdGVyYXRvcigpOworICAgICAgICB9CisKKyAgICAgICAgY29uc3RfaXRlcmF0b3IgZW5kKCkgY29uc3QgQk9PU1RfTk9FWENFUFQKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJuIGNvbnN0X2l0ZXJhdG9yKCk7CisgICAgICAgIH0KKworICAgICAgICBjb25zdF9pdGVyYXRvciBjYmVnaW4oKSBjb25zdCBCT09TVF9OT0VYQ0VQVAorICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4gdGFibGVfLmJlZ2luKCk7CisgICAgICAgIH0KKworICAgICAgICBjb25zdF9pdGVyYXRvciBjZW5kKCkgY29uc3QgQk9PU1RfTk9FWENFUFQKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJuIGNvbnN0X2l0ZXJhdG9yKCk7CisgICAgICAgIH0KKworICAgICAgICAvLyBlbXBsYWNlCisKKyNpZiAhZGVmaW5lZChCT09TVF9OT19DWFgxMV9WQVJJQURJQ19URU1QTEFURVMpCisgICAgICAgIHRlbXBsYXRlIDxjbGFzcy4uLiBBcmdzPgorICAgICAgICBzdGQ6OnBhaXI8aXRlcmF0b3IsIGJvb2w+IGVtcGxhY2UoQk9PU1RfRldEX1JFRihBcmdzKS4uLiBhcmdzKQorICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4gdGFibGVfLmVtcGxhY2UobmRuYm9vc3Q6OmZvcndhcmQ8QXJncz4oYXJncykuLi4pOworICAgICAgICB9CisKKyAgICAgICAgdGVtcGxhdGUgPGNsYXNzLi4uIEFyZ3M+CisgICAgICAgIGl0ZXJhdG9yIGVtcGxhY2VfaGludChjb25zdF9pdGVyYXRvciwgQk9PU1RfRldEX1JFRihBcmdzKS4uLiBhcmdzKQorICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4gdGFibGVfLmVtcGxhY2UobmRuYm9vc3Q6OmZvcndhcmQ8QXJncz4oYXJncykuLi4pLmZpcnN0OworICAgICAgICB9CisjZWxzZQorCisjaWYgIUJPT1NUX1dPUktBUk9VTkQoX19TVU5QUk9fQ0MsIEJPT1NUX1RFU1RFRF9BVCgweDUxMDApKQorCisgICAgICAgIC8vIDAgYXJndW1lbnQgZW1wbGFjZSByZXF1aXJlcyBzcGVjaWFsIHRyZWF0bWVudCBpbiBjYXNlCisgICAgICAgIC8vIHRoZSBjb250YWluZXIgaXMgaW5zdGFudGlhdGVkIHdpdGggYSB2YWx1ZSB0eXBlIHRoYXQKKyAgICAgICAgLy8gZG9lc24ndCBoYXZlIGEgZGVmYXVsdCBjb25zdHJ1Y3Rvci4KKworICAgICAgICBzdGQ6OnBhaXI8aXRlcmF0b3IsIGJvb2w+IGVtcGxhY2UoCisgICAgICAgICAgICAgICAgbmRuYm9vc3Q6OnVub3JkZXJlZDo6ZGV0YWlsOjplbXB0eV9lbXBsYWNlCisgICAgICAgICAgICAgICAgICAgID0gbmRuYm9vc3Q6OnVub3JkZXJlZDo6ZGV0YWlsOjplbXB0eV9lbXBsYWNlKCksCisgICAgICAgICAgICAgICAgdmFsdWVfdHlwZSB2ID0gdmFsdWVfdHlwZSgpKQorICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4gdGhpcy0+ZW1wbGFjZShuZG5ib29zdDo6bW92ZSh2KSk7CisgICAgICAgIH0KKworICAgICAgICBpdGVyYXRvciBlbXBsYWNlX2hpbnQoY29uc3RfaXRlcmF0b3IgaGludCwKKyAgICAgICAgICAgICAgICBuZG5ib29zdDo6dW5vcmRlcmVkOjpkZXRhaWw6OmVtcHR5X2VtcGxhY2UKKyAgICAgICAgICAgICAgICAgICAgPSBuZG5ib29zdDo6dW5vcmRlcmVkOjpkZXRhaWw6OmVtcHR5X2VtcGxhY2UoKSwKKyAgICAgICAgICAgICAgICB2YWx1ZV90eXBlIHYgPSB2YWx1ZV90eXBlKCkKKyAgICAgICAgICAgICkKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJuIHRoaXMtPmVtcGxhY2VfaGludChoaW50LCBuZG5ib29zdDo6bW92ZSh2KSk7CisgICAgICAgIH0KKworI2VuZGlmCisKKyAgICAgICAgdGVtcGxhdGUgPHR5cGVuYW1lIEEwPgorICAgICAgICBzdGQ6OnBhaXI8aXRlcmF0b3IsIGJvb2w+IGVtcGxhY2UoQk9PU1RfRldEX1JFRihBMCkgYTApCisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiB0YWJsZV8uZW1wbGFjZSgKKyAgICAgICAgICAgICAgICBuZG5ib29zdDo6dW5vcmRlcmVkOjpkZXRhaWw6OmNyZWF0ZV9lbXBsYWNlX2FyZ3MoCisgICAgICAgICAgICAgICAgICAgIG5kbmJvb3N0Ojpmb3J3YXJkPEEwPihhMCkpCisgICAgICAgICAgICApOworICAgICAgICB9CisKKyAgICAgICAgdGVtcGxhdGUgPHR5cGVuYW1lIEEwPgorICAgICAgICBpdGVyYXRvciBlbXBsYWNlX2hpbnQoY29uc3RfaXRlcmF0b3IsIEJPT1NUX0ZXRF9SRUYoQTApIGEwKQorICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4gdGFibGVfLmVtcGxhY2UoCisgICAgICAgICAgICAgICAgbmRuYm9vc3Q6OnVub3JkZXJlZDo6ZGV0YWlsOjpjcmVhdGVfZW1wbGFjZV9hcmdzKAorICAgICAgICAgICAgICAgICAgICBuZG5ib29zdDo6Zm9yd2FyZDxBMD4oYTApKQorICAgICAgICAgICAgKS5maXJzdDsKKyAgICAgICAgfQorCisgICAgICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBBMCwgdHlwZW5hbWUgQTE+CisgICAgICAgIHN0ZDo6cGFpcjxpdGVyYXRvciwgYm9vbD4gZW1wbGFjZSgKKyAgICAgICAgICAgIEJPT1NUX0ZXRF9SRUYoQTApIGEwLAorICAgICAgICAgICAgQk9PU1RfRldEX1JFRihBMSkgYTEpCisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiB0YWJsZV8uZW1wbGFjZSgKKyAgICAgICAgICAgICAgICBuZG5ib29zdDo6dW5vcmRlcmVkOjpkZXRhaWw6OmNyZWF0ZV9lbXBsYWNlX2FyZ3MoCisgICAgICAgICAgICAgICAgICAgIG5kbmJvb3N0Ojpmb3J3YXJkPEEwPihhMCksCisgICAgICAgICAgICAgICAgICAgIG5kbmJvb3N0Ojpmb3J3YXJkPEExPihhMSkpCisgICAgICAgICAgICApOworICAgICAgICB9CisKKyAgICAgICAgdGVtcGxhdGUgPHR5cGVuYW1lIEEwLCB0eXBlbmFtZSBBMT4KKyAgICAgICAgaXRlcmF0b3IgZW1wbGFjZV9oaW50KGNvbnN0X2l0ZXJhdG9yLAorICAgICAgICAgICAgQk9PU1RfRldEX1JFRihBMCkgYTAsCisgICAgICAgICAgICBCT09TVF9GV0RfUkVGKEExKSBhMSkKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJuIHRhYmxlXy5lbXBsYWNlKAorICAgICAgICAgICAgICAgIG5kbmJvb3N0Ojp1bm9yZGVyZWQ6OmRldGFpbDo6Y3JlYXRlX2VtcGxhY2VfYXJncygKKyAgICAgICAgICAgICAgICAgICAgbmRuYm9vc3Q6OmZvcndhcmQ8QTA+KGEwKSwKKyAgICAgICAgICAgICAgICAgICAgbmRuYm9vc3Q6OmZvcndhcmQ8QTE+KGExKSkKKyAgICAgICAgICAgICkuZmlyc3Q7CisgICAgICAgIH0KKworICAgICAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgQTAsIHR5cGVuYW1lIEExLCB0eXBlbmFtZSBBMj4KKyAgICAgICAgc3RkOjpwYWlyPGl0ZXJhdG9yLCBib29sPiBlbXBsYWNlKAorICAgICAgICAgICAgQk9PU1RfRldEX1JFRihBMCkgYTAsCisgICAgICAgICAgICBCT09TVF9GV0RfUkVGKEExKSBhMSwKKyAgICAgICAgICAgIEJPT1NUX0ZXRF9SRUYoQTIpIGEyKQorICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4gdGFibGVfLmVtcGxhY2UoCisgICAgICAgICAgICAgICAgbmRuYm9vc3Q6OnVub3JkZXJlZDo6ZGV0YWlsOjpjcmVhdGVfZW1wbGFjZV9hcmdzKAorICAgICAgICAgICAgICAgICAgICBuZG5ib29zdDo6Zm9yd2FyZDxBMD4oYTApLAorICAgICAgICAgICAgICAgICAgICBuZG5ib29zdDo6Zm9yd2FyZDxBMT4oYTEpLAorICAgICAgICAgICAgICAgICAgICBuZG5ib29zdDo6Zm9yd2FyZDxBMj4oYTIpKQorICAgICAgICAgICAgKTsKKyAgICAgICAgfQorCisgICAgICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBBMCwgdHlwZW5hbWUgQTEsIHR5cGVuYW1lIEEyPgorICAgICAgICBpdGVyYXRvciBlbXBsYWNlX2hpbnQoY29uc3RfaXRlcmF0b3IsCisgICAgICAgICAgICBCT09TVF9GV0RfUkVGKEEwKSBhMCwKKyAgICAgICAgICAgIEJPT1NUX0ZXRF9SRUYoQTEpIGExLAorICAgICAgICAgICAgQk9PU1RfRldEX1JFRihBMikgYTIpCisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiB0YWJsZV8uZW1wbGFjZSgKKyAgICAgICAgICAgICAgICBuZG5ib29zdDo6dW5vcmRlcmVkOjpkZXRhaWw6OmNyZWF0ZV9lbXBsYWNlX2FyZ3MoCisgICAgICAgICAgICAgICAgICAgIG5kbmJvb3N0Ojpmb3J3YXJkPEEwPihhMCksCisgICAgICAgICAgICAgICAgICAgIG5kbmJvb3N0Ojpmb3J3YXJkPEExPihhMSksCisgICAgICAgICAgICAgICAgICAgIG5kbmJvb3N0Ojpmb3J3YXJkPEEyPihhMikpCisgICAgICAgICAgICApLmZpcnN0OworICAgICAgICB9CisKKyNkZWZpbmUgQk9PU1RfVU5PUkRFUkVEX0VNUExBQ0UoeiwgbiwgXykgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICB0ZW1wbGF0ZSA8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgIEJPT1NUX1BQX0VOVU1fUEFSQU1TX1ooeiwgbiwgdHlwZW5hbWUgQSkgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICBzdGQ6OnBhaXI8aXRlcmF0b3IsIGJvb2w+IGVtcGxhY2UoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICAgICBCT09TVF9QUF9FTlVNXyMjeihuLCBCT09TVF9VTk9SREVSRURfRldEX1BBUkFNLCBhKSAgICAgIFwKKyAgICAgICAgICAgICkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgIHJldHVybiB0YWJsZV8uZW1wbGFjZSggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgbmRuYm9vc3Q6OnVub3JkZXJlZDo6ZGV0YWlsOjpjcmVhdGVfZW1wbGFjZV9hcmdzKCAgICAgICAgICBcCisgICAgICAgICAgICAgICAgICAgICAgICBCT09TVF9QUF9FTlVNXyMjeihuLCBCT09TVF9VTk9SREVSRURfQ0FMTF9GT1JXQVJELCAgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGEpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICApKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgIHRlbXBsYXRlIDwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgQk9PU1RfUFBfRU5VTV9QQVJBTVNfWih6LCBuLCB0eXBlbmFtZSBBKSAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgIGl0ZXJhdG9yIGVtcGxhY2VfaGludCggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgICAgIGNvbnN0X2l0ZXJhdG9yLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICAgICBCT09TVF9QUF9FTlVNXyMjeihuLCBCT09TVF9VTk9SREVSRURfRldEX1BBUkFNLCBhKSAgICAgIFwKKyAgICAgICAgICAgICkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgIHJldHVybiB0YWJsZV8uZW1wbGFjZSggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgbmRuYm9vc3Q6OnVub3JkZXJlZDo6ZGV0YWlsOjpjcmVhdGVfZW1wbGFjZV9hcmdzKCAgICAgICAgICBcCisgICAgICAgICAgICAgICAgICAgICAgICBCT09TVF9QUF9FTlVNXyMjeihuLCBCT09TVF9VTk9SREVSRURfQ0FMTF9GT1JXQVJELCAgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGEpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICApKS5maXJzdDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICB9CisKKyAgICAgICAgQk9PU1RfUFBfUkVQRUFUX0ZST01fVE8oNCwgQk9PU1RfVU5PUkRFUkVEX0VNUExBQ0VfTElNSVQsCisgICAgICAgICAgICBCT09TVF9VTk9SREVSRURfRU1QTEFDRSwgXykKKworI3VuZGVmIEJPT1NUX1VOT1JERVJFRF9FTVBMQUNFCisKKyNlbmRpZgorCisgICAgICAgIHN0ZDo6cGFpcjxpdGVyYXRvciwgYm9vbD4gaW5zZXJ0KHZhbHVlX3R5cGUgY29uc3QmIHgpCisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiB0aGlzLT5lbXBsYWNlKHgpOworICAgICAgICB9CisKKyAgICAgICAgc3RkOjpwYWlyPGl0ZXJhdG9yLCBib29sPiBpbnNlcnQoQk9PU1RfVU5PUkRFUkVEX1JWX1JFRih2YWx1ZV90eXBlKSB4KQorICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4gdGhpcy0+ZW1wbGFjZShuZG5ib29zdDo6bW92ZSh4KSk7CisgICAgICAgIH0KKworICAgICAgICBpdGVyYXRvciBpbnNlcnQoY29uc3RfaXRlcmF0b3IgaGludCwgdmFsdWVfdHlwZSBjb25zdCYgeCkKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJuIHRoaXMtPmVtcGxhY2VfaGludChoaW50LCB4KTsKKyAgICAgICAgfQorCisgICAgICAgIGl0ZXJhdG9yIGluc2VydChjb25zdF9pdGVyYXRvciBoaW50LAorICAgICAgICAgICAgICAgIEJPT1NUX1VOT1JERVJFRF9SVl9SRUYodmFsdWVfdHlwZSkgeCkKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJuIHRoaXMtPmVtcGxhY2VfaGludChoaW50LCBuZG5ib29zdDo6bW92ZSh4KSk7CisgICAgICAgIH0KKworICAgICAgICB0ZW1wbGF0ZSA8Y2xhc3MgSW5wdXRJdD4gdm9pZCBpbnNlcnQoSW5wdXRJdCwgSW5wdXRJdCk7CisKKyNpZiAhZGVmaW5lZChCT09TVF9OT19DWFgxMV9IRFJfSU5JVElBTElaRVJfTElTVCkKKyAgICAgICAgdm9pZCBpbnNlcnQoc3RkOjppbml0aWFsaXplcl9saXN0PHZhbHVlX3R5cGU+KTsKKyNlbmRpZgorCisgICAgICAgIGl0ZXJhdG9yIGVyYXNlKGNvbnN0X2l0ZXJhdG9yKTsKKyAgICAgICAgc2l6ZV90eXBlIGVyYXNlKGNvbnN0IGtleV90eXBlJik7CisgICAgICAgIGl0ZXJhdG9yIGVyYXNlKGNvbnN0X2l0ZXJhdG9yLCBjb25zdF9pdGVyYXRvcik7CisgICAgICAgIHZvaWQgcXVpY2tfZXJhc2UoY29uc3RfaXRlcmF0b3IgaXQpIHsgZXJhc2UoaXQpOyB9CisgICAgICAgIHZvaWQgZXJhc2VfcmV0dXJuX3ZvaWQoY29uc3RfaXRlcmF0b3IgaXQpIHsgZXJhc2UoaXQpOyB9CisKKyAgICAgICAgdm9pZCBjbGVhcigpOworICAgICAgICB2b2lkIHN3YXAodW5vcmRlcmVkX3NldCYpOworCisgICAgICAgIC8vIG9ic2VydmVycworCisgICAgICAgIGhhc2hlciBoYXNoX2Z1bmN0aW9uKCkgY29uc3Q7CisgICAgICAgIGtleV9lcXVhbCBrZXlfZXEoKSBjb25zdDsKKworICAgICAgICAvLyBsb29rdXAKKworICAgICAgICBjb25zdF9pdGVyYXRvciBmaW5kKGNvbnN0IGtleV90eXBlJikgY29uc3Q7CisKKyAgICAgICAgdGVtcGxhdGUgPGNsYXNzIENvbXBhdGlibGVLZXksIGNsYXNzIENvbXBhdGlibGVIYXNoLAorICAgICAgICAgICAgY2xhc3MgQ29tcGF0aWJsZVByZWRpY2F0ZT4KKyAgICAgICAgY29uc3RfaXRlcmF0b3IgZmluZCgKKyAgICAgICAgICAgICAgICBDb21wYXRpYmxlS2V5IGNvbnN0JiwKKyAgICAgICAgICAgICAgICBDb21wYXRpYmxlSGFzaCBjb25zdCYsCisgICAgICAgICAgICAgICAgQ29tcGF0aWJsZVByZWRpY2F0ZSBjb25zdCYpIGNvbnN0OworCisgICAgICAgIHNpemVfdHlwZSBjb3VudChjb25zdCBrZXlfdHlwZSYpIGNvbnN0OworCisgICAgICAgIHN0ZDo6cGFpcjxjb25zdF9pdGVyYXRvciwgY29uc3RfaXRlcmF0b3I+CisgICAgICAgIGVxdWFsX3JhbmdlKGNvbnN0IGtleV90eXBlJikgY29uc3Q7CisKKyAgICAgICAgLy8gYnVja2V0IGludGVyZmFjZQorCisgICAgICAgIHNpemVfdHlwZSBidWNrZXRfY291bnQoKSBjb25zdCBCT09TVF9OT0VYQ0VQVAorICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4gdGFibGVfLmJ1Y2tldF9jb3VudF87CisgICAgICAgIH0KKworICAgICAgICBzaXplX3R5cGUgbWF4X2J1Y2tldF9jb3VudCgpIGNvbnN0IEJPT1NUX05PRVhDRVBUCisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiB0YWJsZV8ubWF4X2J1Y2tldF9jb3VudCgpOworICAgICAgICB9CisKKyAgICAgICAgc2l6ZV90eXBlIGJ1Y2tldF9zaXplKHNpemVfdHlwZSkgY29uc3Q7CisKKyAgICAgICAgc2l6ZV90eXBlIGJ1Y2tldChjb25zdCBrZXlfdHlwZSYgaykgY29uc3QKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJuIHRhYmxlXy5oYXNoX3RvX2J1Y2tldCh0YWJsZV8uaGFzaChrKSk7CisgICAgICAgIH0KKworICAgICAgICBsb2NhbF9pdGVyYXRvciBiZWdpbihzaXplX3R5cGUgbikKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJuIGxvY2FsX2l0ZXJhdG9yKAorICAgICAgICAgICAgICAgIHRhYmxlXy5iZWdpbihuKSwgbiwgdGFibGVfLmJ1Y2tldF9jb3VudF8pOworICAgICAgICB9CisKKyAgICAgICAgY29uc3RfbG9jYWxfaXRlcmF0b3IgYmVnaW4oc2l6ZV90eXBlIG4pIGNvbnN0CisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiBjb25zdF9sb2NhbF9pdGVyYXRvcigKKyAgICAgICAgICAgICAgICB0YWJsZV8uYmVnaW4obiksIG4sIHRhYmxlXy5idWNrZXRfY291bnRfKTsKKyAgICAgICAgfQorCisgICAgICAgIGxvY2FsX2l0ZXJhdG9yIGVuZChzaXplX3R5cGUpCisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiBsb2NhbF9pdGVyYXRvcigpOworICAgICAgICB9CisKKyAgICAgICAgY29uc3RfbG9jYWxfaXRlcmF0b3IgZW5kKHNpemVfdHlwZSkgY29uc3QKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJuIGNvbnN0X2xvY2FsX2l0ZXJhdG9yKCk7CisgICAgICAgIH0KKworICAgICAgICBjb25zdF9sb2NhbF9pdGVyYXRvciBjYmVnaW4oc2l6ZV90eXBlIG4pIGNvbnN0CisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiBjb25zdF9sb2NhbF9pdGVyYXRvcigKKyAgICAgICAgICAgICAgICB0YWJsZV8uYmVnaW4obiksIG4sIHRhYmxlXy5idWNrZXRfY291bnRfKTsKKyAgICAgICAgfQorCisgICAgICAgIGNvbnN0X2xvY2FsX2l0ZXJhdG9yIGNlbmQoc2l6ZV90eXBlKSBjb25zdAorICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4gY29uc3RfbG9jYWxfaXRlcmF0b3IoKTsKKyAgICAgICAgfQorCisgICAgICAgIC8vIGhhc2ggcG9saWN5CisKKyAgICAgICAgZmxvYXQgbWF4X2xvYWRfZmFjdG9yKCkgY29uc3QgQk9PU1RfTk9FWENFUFQKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJuIHRhYmxlXy5tbGZfOworICAgICAgICB9CisKKyAgICAgICAgZmxvYXQgbG9hZF9mYWN0b3IoKSBjb25zdCBCT09TVF9OT0VYQ0VQVDsKKyAgICAgICAgdm9pZCBtYXhfbG9hZF9mYWN0b3IoZmxvYXQpIEJPT1NUX05PRVhDRVBUOworICAgICAgICB2b2lkIHJlaGFzaChzaXplX3R5cGUpOworICAgICAgICB2b2lkIHJlc2VydmUoc2l6ZV90eXBlKTsKKworI2lmICFCT09TVF9XT1JLQVJPVU5EKF9fQk9STEFORENfXywgPCAweDA1ODIpCisgICAgICAgIGZyaWVuZCBib29sIG9wZXJhdG9yPT08VCxILFAsQT4oCisgICAgICAgICAgICAgICAgdW5vcmRlcmVkX3NldCBjb25zdCYsIHVub3JkZXJlZF9zZXQgY29uc3QmKTsKKyAgICAgICAgZnJpZW5kIGJvb2wgb3BlcmF0b3IhPTxULEgsUCxBPigKKyAgICAgICAgICAgICAgICB1bm9yZGVyZWRfc2V0IGNvbnN0JiwgdW5vcmRlcmVkX3NldCBjb25zdCYpOworI2VuZGlmCisgICAgfTsgLy8gY2xhc3MgdGVtcGxhdGUgdW5vcmRlcmVkX3NldAorCisgICAgdGVtcGxhdGUgPGNsYXNzIFQsIGNsYXNzIEgsIGNsYXNzIFAsIGNsYXNzIEE+CisgICAgY2xhc3MgdW5vcmRlcmVkX211bHRpc2V0CisgICAgeworI2lmIGRlZmluZWQoQk9PU1RfVU5PUkRFUkVEX1VTRV9NT1ZFKQorICAgICAgICBCT09TVF9DT1BZQUJMRV9BTkRfTU9WQUJMRSh1bm9yZGVyZWRfbXVsdGlzZXQpCisjZW5kaWYKKyAgICBwdWJsaWM6CisKKyAgICAgICAgdHlwZWRlZiBUIGtleV90eXBlOworICAgICAgICB0eXBlZGVmIFQgdmFsdWVfdHlwZTsKKyAgICAgICAgdHlwZWRlZiBIIGhhc2hlcjsKKyAgICAgICAgdHlwZWRlZiBQIGtleV9lcXVhbDsKKyAgICAgICAgdHlwZWRlZiBBIGFsbG9jYXRvcl90eXBlOworCisgICAgcHJpdmF0ZToKKworICAgICAgICB0eXBlZGVmIG5kbmJvb3N0Ojp1bm9yZGVyZWQ6OmRldGFpbDo6bXVsdGlzZXQ8QSwgVCwgSCwgUD4gdHlwZXM7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgdHlwZXM6OnRyYWl0cyBhbGxvY2F0b3JfdHJhaXRzOworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHR5cGVzOjp0YWJsZSB0YWJsZTsKKworICAgIHB1YmxpYzoKKworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIGFsbG9jYXRvcl90cmFpdHM6OnBvaW50ZXIgcG9pbnRlcjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBhbGxvY2F0b3JfdHJhaXRzOjpjb25zdF9wb2ludGVyIGNvbnN0X3BvaW50ZXI7CisKKyAgICAgICAgdHlwZWRlZiB2YWx1ZV90eXBlJiByZWZlcmVuY2U7CisgICAgICAgIHR5cGVkZWYgdmFsdWVfdHlwZSBjb25zdCYgY29uc3RfcmVmZXJlbmNlOworCisgICAgICAgIHR5cGVkZWYgc3RkOjpzaXplX3Qgc2l6ZV90eXBlOworICAgICAgICB0eXBlZGVmIHN0ZDo6cHRyZGlmZl90IGRpZmZlcmVuY2VfdHlwZTsKKworICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIHRhYmxlOjpjbF9pdGVyYXRvciBjb25zdF9sb2NhbF9pdGVyYXRvcjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSB0YWJsZTo6Y2xfaXRlcmF0b3IgbG9jYWxfaXRlcmF0b3I7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgdGFibGU6OmNfaXRlcmF0b3IgY29uc3RfaXRlcmF0b3I7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgdGFibGU6OmNfaXRlcmF0b3IgaXRlcmF0b3I7CisKKyAgICBwcml2YXRlOgorCisgICAgICAgIHRhYmxlIHRhYmxlXzsKKworICAgIHB1YmxpYzoKKworICAgICAgICAvLyBjb25zdHJ1Y3RvcnMKKworICAgICAgICBleHBsaWNpdCB1bm9yZGVyZWRfbXVsdGlzZXQoCisgICAgICAgICAgICAgICAgc2l6ZV90eXBlID0gbmRuYm9vc3Q6OnVub3JkZXJlZDo6ZGV0YWlsOjpkZWZhdWx0X2J1Y2tldF9jb3VudCwKKyAgICAgICAgICAgICAgICBjb25zdCBoYXNoZXImID0gaGFzaGVyKCksCisgICAgICAgICAgICAgICAgY29uc3Qga2V5X2VxdWFsJiA9IGtleV9lcXVhbCgpLAorICAgICAgICAgICAgICAgIGNvbnN0IGFsbG9jYXRvcl90eXBlJiA9IGFsbG9jYXRvcl90eXBlKCkpOworCisgICAgICAgIGV4cGxpY2l0IHVub3JkZXJlZF9tdWx0aXNldChhbGxvY2F0b3JfdHlwZSBjb25zdCYpOworCisgICAgICAgIHRlbXBsYXRlIDxjbGFzcyBJbnB1dEl0PgorICAgICAgICB1bm9yZGVyZWRfbXVsdGlzZXQoSW5wdXRJdCwgSW5wdXRJdCk7CisKKyAgICAgICAgdGVtcGxhdGUgPGNsYXNzIElucHV0SXQ+CisgICAgICAgIHVub3JkZXJlZF9tdWx0aXNldCgKKyAgICAgICAgICAgICAgICBJbnB1dEl0LCBJbnB1dEl0LAorICAgICAgICAgICAgICAgIHNpemVfdHlwZSwKKyAgICAgICAgICAgICAgICBjb25zdCBoYXNoZXImID0gaGFzaGVyKCksCisgICAgICAgICAgICAgICAgY29uc3Qga2V5X2VxdWFsJiA9IGtleV9lcXVhbCgpKTsKKworICAgICAgICB0ZW1wbGF0ZSA8Y2xhc3MgSW5wdXRJdD4KKyAgICAgICAgdW5vcmRlcmVkX211bHRpc2V0KAorICAgICAgICAgICAgICAgIElucHV0SXQsIElucHV0SXQsCisgICAgICAgICAgICAgICAgc2l6ZV90eXBlLAorICAgICAgICAgICAgICAgIGNvbnN0IGhhc2hlciYsCisgICAgICAgICAgICAgICAgY29uc3Qga2V5X2VxdWFsJiwKKyAgICAgICAgICAgICAgICBjb25zdCBhbGxvY2F0b3JfdHlwZSYpOworCisgICAgICAgIC8vIGNvcHkvbW92ZSBjb25zdHJ1Y3RvcnMKKworICAgICAgICB1bm9yZGVyZWRfbXVsdGlzZXQodW5vcmRlcmVkX211bHRpc2V0IGNvbnN0Jik7CisKKyAgICAgICAgdW5vcmRlcmVkX211bHRpc2V0KHVub3JkZXJlZF9tdWx0aXNldCBjb25zdCYsIGFsbG9jYXRvcl90eXBlIGNvbnN0Jik7CisKKyNpZiBkZWZpbmVkKEJPT1NUX1VOT1JERVJFRF9VU0VfTU9WRSkKKyAgICAgICAgdW5vcmRlcmVkX211bHRpc2V0KEJPT1NUX1JWX1JFRih1bm9yZGVyZWRfbXVsdGlzZXQpIG90aGVyKQorICAgICAgICAgICAgOiB0YWJsZV8ob3RoZXIudGFibGVfLCBuZG5ib29zdDo6dW5vcmRlcmVkOjpkZXRhaWw6Om1vdmVfdGFnKCkpCisgICAgICAgIHsKKyAgICAgICAgfQorI2VsaWYgIWRlZmluZWQoQk9PU1RfTk9fQ1hYMTFfUlZBTFVFX1JFRkVSRU5DRVMpCisgICAgICAgIHVub3JkZXJlZF9tdWx0aXNldCh1bm9yZGVyZWRfbXVsdGlzZXQmJiBvdGhlcikKKyAgICAgICAgICAgIDogdGFibGVfKG90aGVyLnRhYmxlXywgbmRuYm9vc3Q6OnVub3JkZXJlZDo6ZGV0YWlsOjptb3ZlX3RhZygpKQorICAgICAgICB7CisgICAgICAgIH0KKyNlbmRpZgorCisjaWYgIWRlZmluZWQoQk9PU1RfTk9fQ1hYMTFfUlZBTFVFX1JFRkVSRU5DRVMpCisgICAgICAgIHVub3JkZXJlZF9tdWx0aXNldCh1bm9yZGVyZWRfbXVsdGlzZXQmJiwgYWxsb2NhdG9yX3R5cGUgY29uc3QmKTsKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoQk9PU1RfTk9fQ1hYMTFfSERSX0lOSVRJQUxJWkVSX0xJU1QpCisgICAgICAgIHVub3JkZXJlZF9tdWx0aXNldCgKKyAgICAgICAgICAgICAgICBzdGQ6OmluaXRpYWxpemVyX2xpc3Q8dmFsdWVfdHlwZT4sCisgICAgICAgICAgICAgICAgc2l6ZV90eXBlID0gbmRuYm9vc3Q6OnVub3JkZXJlZDo6ZGV0YWlsOjpkZWZhdWx0X2J1Y2tldF9jb3VudCwKKyAgICAgICAgICAgICAgICBjb25zdCBoYXNoZXImID0gaGFzaGVyKCksCisgICAgICAgICAgICAgICAgY29uc3Qga2V5X2VxdWFsJmwgPSBrZXlfZXF1YWwoKSwKKyAgICAgICAgICAgICAgICBjb25zdCBhbGxvY2F0b3JfdHlwZSYgPSBhbGxvY2F0b3JfdHlwZSgpKTsKKyNlbmRpZgorCisgICAgICAgIC8vIERlc3RydWN0b3IKKworICAgICAgICB+dW5vcmRlcmVkX211bHRpc2V0KCk7CisKKyAgICAgICAgLy8gQXNzaWduCisKKyNpZiBkZWZpbmVkKEJPT1NUX1VOT1JERVJFRF9VU0VfTU9WRSkKKyAgICAgICAgdW5vcmRlcmVkX211bHRpc2V0JiBvcGVyYXRvcj0oCisgICAgICAgICAgICAgICAgQk9PU1RfQ09QWV9BU1NJR05fUkVGKHVub3JkZXJlZF9tdWx0aXNldCkgeCkKKyAgICAgICAgeworICAgICAgICAgICAgdGFibGVfLmFzc2lnbih4LnRhYmxlXyk7CisgICAgICAgICAgICByZXR1cm4gKnRoaXM7CisgICAgICAgIH0KKworICAgICAgICB1bm9yZGVyZWRfbXVsdGlzZXQmIG9wZXJhdG9yPShCT09TVF9SVl9SRUYodW5vcmRlcmVkX211bHRpc2V0KSB4KQorICAgICAgICB7CisgICAgICAgICAgICB0YWJsZV8ubW92ZV9hc3NpZ24oeC50YWJsZV8pOworICAgICAgICAgICAgcmV0dXJuICp0aGlzOworICAgICAgICB9CisjZWxzZQorICAgICAgICB1bm9yZGVyZWRfbXVsdGlzZXQmIG9wZXJhdG9yPSh1bm9yZGVyZWRfbXVsdGlzZXQgY29uc3QmIHgpCisgICAgICAgIHsKKyAgICAgICAgICAgIHRhYmxlXy5hc3NpZ24oeC50YWJsZV8pOworICAgICAgICAgICAgcmV0dXJuICp0aGlzOworICAgICAgICB9CisKKyNpZiAhZGVmaW5lZChCT09TVF9OT19DWFgxMV9SVkFMVUVfUkVGRVJFTkNFUykKKyAgICAgICAgdW5vcmRlcmVkX211bHRpc2V0JiBvcGVyYXRvcj0odW5vcmRlcmVkX211bHRpc2V0JiYgeCkKKyAgICAgICAgeworICAgICAgICAgICAgdGFibGVfLm1vdmVfYXNzaWduKHgudGFibGVfKTsKKyAgICAgICAgICAgIHJldHVybiAqdGhpczsKKyAgICAgICAgfQorI2VuZGlmCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEJPT1NUX05PX0NYWDExX0hEUl9JTklUSUFMSVpFUl9MSVNUKQorICAgICAgICB1bm9yZGVyZWRfbXVsdGlzZXQmIG9wZXJhdG9yPShzdGQ6OmluaXRpYWxpemVyX2xpc3Q8dmFsdWVfdHlwZT4pOworI2VuZGlmCisKKyAgICAgICAgYWxsb2NhdG9yX3R5cGUgZ2V0X2FsbG9jYXRvcigpIGNvbnN0IEJPT1NUX05PRVhDRVBUCisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiB0YWJsZV8ubm9kZV9hbGxvYygpOworICAgICAgICB9CisKKyAgICAgICAgLy8gc2l6ZSBhbmQgY2FwYWNpdHkKKworICAgICAgICBib29sIGVtcHR5KCkgY29uc3QgQk9PU1RfTk9FWENFUFQKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJuIHRhYmxlXy5zaXplXyA9PSAwOworICAgICAgICB9CisKKyAgICAgICAgc2l6ZV90eXBlIHNpemUoKSBjb25zdCBCT09TVF9OT0VYQ0VQVAorICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4gdGFibGVfLnNpemVfOworICAgICAgICB9CisKKyAgICAgICAgc2l6ZV90eXBlIG1heF9zaXplKCkgY29uc3QgQk9PU1RfTk9FWENFUFQ7CisKKyAgICAgICAgLy8gaXRlcmF0b3JzCisKKyAgICAgICAgaXRlcmF0b3IgYmVnaW4oKSBCT09TVF9OT0VYQ0VQVAorICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4gaXRlcmF0b3IodGFibGVfLmJlZ2luKCkpOworICAgICAgICB9CisKKyAgICAgICAgY29uc3RfaXRlcmF0b3IgYmVnaW4oKSBjb25zdCBCT09TVF9OT0VYQ0VQVAorICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4gY29uc3RfaXRlcmF0b3IodGFibGVfLmJlZ2luKCkpOworICAgICAgICB9CisKKyAgICAgICAgaXRlcmF0b3IgZW5kKCkgQk9PU1RfTk9FWENFUFQKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJuIGl0ZXJhdG9yKCk7CisgICAgICAgIH0KKworICAgICAgICBjb25zdF9pdGVyYXRvciBlbmQoKSBjb25zdCBCT09TVF9OT0VYQ0VQVAorICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4gY29uc3RfaXRlcmF0b3IoKTsKKyAgICAgICAgfQorCisgICAgICAgIGNvbnN0X2l0ZXJhdG9yIGNiZWdpbigpIGNvbnN0IEJPT1NUX05PRVhDRVBUCisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiBjb25zdF9pdGVyYXRvcih0YWJsZV8uYmVnaW4oKSk7CisgICAgICAgIH0KKworICAgICAgICBjb25zdF9pdGVyYXRvciBjZW5kKCkgY29uc3QgQk9PU1RfTk9FWENFUFQKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJuIGNvbnN0X2l0ZXJhdG9yKCk7CisgICAgICAgIH0KKworICAgICAgICAvLyBlbXBsYWNlCisKKyNpZiAhZGVmaW5lZChCT09TVF9OT19DWFgxMV9WQVJJQURJQ19URU1QTEFURVMpCisgICAgICAgIHRlbXBsYXRlIDxjbGFzcy4uLiBBcmdzPgorICAgICAgICBpdGVyYXRvciBlbXBsYWNlKEJPT1NUX0ZXRF9SRUYoQXJncykuLi4gYXJncykKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJuIHRhYmxlXy5lbXBsYWNlKG5kbmJvb3N0Ojpmb3J3YXJkPEFyZ3M+KGFyZ3MpLi4uKTsKKyAgICAgICAgfQorCisgICAgICAgIHRlbXBsYXRlIDxjbGFzcy4uLiBBcmdzPgorICAgICAgICBpdGVyYXRvciBlbXBsYWNlX2hpbnQoY29uc3RfaXRlcmF0b3IsIEJPT1NUX0ZXRF9SRUYoQXJncykuLi4gYXJncykKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJuIHRhYmxlXy5lbXBsYWNlKG5kbmJvb3N0Ojpmb3J3YXJkPEFyZ3M+KGFyZ3MpLi4uKTsKKyAgICAgICAgfQorI2Vsc2UKKworI2lmICFCT09TVF9XT1JLQVJPVU5EKF9fU1VOUFJPX0NDLCBCT09TVF9URVNURURfQVQoMHg1MTAwKSkKKworICAgICAgICAvLyAwIGFyZ3VtZW50IGVtcGxhY2UgcmVxdWlyZXMgc3BlY2lhbCB0cmVhdG1lbnQgaW4gY2FzZQorICAgICAgICAvLyB0aGUgY29udGFpbmVyIGlzIGluc3RhbnRpYXRlZCB3aXRoIGEgdmFsdWUgdHlwZSB0aGF0CisgICAgICAgIC8vIGRvZXNuJ3QgaGF2ZSBhIGRlZmF1bHQgY29uc3RydWN0b3IuCisKKyAgICAgICAgaXRlcmF0b3IgZW1wbGFjZSgKKyAgICAgICAgICAgICAgICBuZG5ib29zdDo6dW5vcmRlcmVkOjpkZXRhaWw6OmVtcHR5X2VtcGxhY2UKKyAgICAgICAgICAgICAgICAgICAgPSBuZG5ib29zdDo6dW5vcmRlcmVkOjpkZXRhaWw6OmVtcHR5X2VtcGxhY2UoKSwKKyAgICAgICAgICAgICAgICB2YWx1ZV90eXBlIHYgPSB2YWx1ZV90eXBlKCkpCisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiB0aGlzLT5lbXBsYWNlKG5kbmJvb3N0Ojptb3ZlKHYpKTsKKyAgICAgICAgfQorCisgICAgICAgIGl0ZXJhdG9yIGVtcGxhY2VfaGludChjb25zdF9pdGVyYXRvciBoaW50LAorICAgICAgICAgICAgICAgIG5kbmJvb3N0Ojp1bm9yZGVyZWQ6OmRldGFpbDo6ZW1wdHlfZW1wbGFjZQorICAgICAgICAgICAgICAgICAgICA9IG5kbmJvb3N0Ojp1bm9yZGVyZWQ6OmRldGFpbDo6ZW1wdHlfZW1wbGFjZSgpLAorICAgICAgICAgICAgICAgIHZhbHVlX3R5cGUgdiA9IHZhbHVlX3R5cGUoKQorICAgICAgICAgICAgKQorICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4gdGhpcy0+ZW1wbGFjZV9oaW50KGhpbnQsIG5kbmJvb3N0Ojptb3ZlKHYpKTsKKyAgICAgICAgfQorCisjZW5kaWYKKworICAgICAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgQTA+CisgICAgICAgIGl0ZXJhdG9yIGVtcGxhY2UoQk9PU1RfRldEX1JFRihBMCkgYTApCisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiB0YWJsZV8uZW1wbGFjZSgKKyAgICAgICAgICAgICAgICBuZG5ib29zdDo6dW5vcmRlcmVkOjpkZXRhaWw6OmNyZWF0ZV9lbXBsYWNlX2FyZ3MoCisgICAgICAgICAgICAgICAgICAgIG5kbmJvb3N0Ojpmb3J3YXJkPEEwPihhMCkpCisgICAgICAgICAgICApOworICAgICAgICB9CisKKyAgICAgICAgdGVtcGxhdGUgPHR5cGVuYW1lIEEwPgorICAgICAgICBpdGVyYXRvciBlbXBsYWNlX2hpbnQoY29uc3RfaXRlcmF0b3IsIEJPT1NUX0ZXRF9SRUYoQTApIGEwKQorICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4gdGFibGVfLmVtcGxhY2UoCisgICAgICAgICAgICAgICAgbmRuYm9vc3Q6OnVub3JkZXJlZDo6ZGV0YWlsOjpjcmVhdGVfZW1wbGFjZV9hcmdzKAorICAgICAgICAgICAgICAgICAgICBuZG5ib29zdDo6Zm9yd2FyZDxBMD4oYTApKQorICAgICAgICAgICAgKTsKKyAgICAgICAgfQorCisgICAgICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBBMCwgdHlwZW5hbWUgQTE+CisgICAgICAgIGl0ZXJhdG9yIGVtcGxhY2UoCisgICAgICAgICAgICBCT09TVF9GV0RfUkVGKEEwKSBhMCwKKyAgICAgICAgICAgIEJPT1NUX0ZXRF9SRUYoQTEpIGExKQorICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4gdGFibGVfLmVtcGxhY2UoCisgICAgICAgICAgICAgICAgbmRuYm9vc3Q6OnVub3JkZXJlZDo6ZGV0YWlsOjpjcmVhdGVfZW1wbGFjZV9hcmdzKAorICAgICAgICAgICAgICAgICAgICBuZG5ib29zdDo6Zm9yd2FyZDxBMD4oYTApLAorICAgICAgICAgICAgICAgICAgICBuZG5ib29zdDo6Zm9yd2FyZDxBMT4oYTEpKQorICAgICAgICAgICAgKTsKKyAgICAgICAgfQorCisgICAgICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBBMCwgdHlwZW5hbWUgQTE+CisgICAgICAgIGl0ZXJhdG9yIGVtcGxhY2VfaGludChjb25zdF9pdGVyYXRvciwKKyAgICAgICAgICAgIEJPT1NUX0ZXRF9SRUYoQTApIGEwLAorICAgICAgICAgICAgQk9PU1RfRldEX1JFRihBMSkgYTEpCisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiB0YWJsZV8uZW1wbGFjZSgKKyAgICAgICAgICAgICAgICBuZG5ib29zdDo6dW5vcmRlcmVkOjpkZXRhaWw6OmNyZWF0ZV9lbXBsYWNlX2FyZ3MoCisgICAgICAgICAgICAgICAgICAgIG5kbmJvb3N0Ojpmb3J3YXJkPEEwPihhMCksCisgICAgICAgICAgICAgICAgICAgIG5kbmJvb3N0Ojpmb3J3YXJkPEExPihhMSkpCisgICAgICAgICAgICApOworICAgICAgICB9CisKKyAgICAgICAgdGVtcGxhdGUgPHR5cGVuYW1lIEEwLCB0eXBlbmFtZSBBMSwgdHlwZW5hbWUgQTI+CisgICAgICAgIGl0ZXJhdG9yIGVtcGxhY2UoCisgICAgICAgICAgICBCT09TVF9GV0RfUkVGKEEwKSBhMCwKKyAgICAgICAgICAgIEJPT1NUX0ZXRF9SRUYoQTEpIGExLAorICAgICAgICAgICAgQk9PU1RfRldEX1JFRihBMikgYTIpCisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiB0YWJsZV8uZW1wbGFjZSgKKyAgICAgICAgICAgICAgICBuZG5ib29zdDo6dW5vcmRlcmVkOjpkZXRhaWw6OmNyZWF0ZV9lbXBsYWNlX2FyZ3MoCisgICAgICAgICAgICAgICAgICAgIG5kbmJvb3N0Ojpmb3J3YXJkPEEwPihhMCksCisgICAgICAgICAgICAgICAgICAgIG5kbmJvb3N0Ojpmb3J3YXJkPEExPihhMSksCisgICAgICAgICAgICAgICAgICAgIG5kbmJvb3N0Ojpmb3J3YXJkPEEyPihhMikpCisgICAgICAgICAgICApOworICAgICAgICB9CisKKyAgICAgICAgdGVtcGxhdGUgPHR5cGVuYW1lIEEwLCB0eXBlbmFtZSBBMSwgdHlwZW5hbWUgQTI+CisgICAgICAgIGl0ZXJhdG9yIGVtcGxhY2VfaGludChjb25zdF9pdGVyYXRvciwKKyAgICAgICAgICAgIEJPT1NUX0ZXRF9SRUYoQTApIGEwLAorICAgICAgICAgICAgQk9PU1RfRldEX1JFRihBMSkgYTEsCisgICAgICAgICAgICBCT09TVF9GV0RfUkVGKEEyKSBhMikKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJuIHRhYmxlXy5lbXBsYWNlKAorICAgICAgICAgICAgICAgIG5kbmJvb3N0Ojp1bm9yZGVyZWQ6OmRldGFpbDo6Y3JlYXRlX2VtcGxhY2VfYXJncygKKyAgICAgICAgICAgICAgICAgICAgbmRuYm9vc3Q6OmZvcndhcmQ8QTA+KGEwKSwKKyAgICAgICAgICAgICAgICAgICAgbmRuYm9vc3Q6OmZvcndhcmQ8QTE+KGExKSwKKyAgICAgICAgICAgICAgICAgICAgbmRuYm9vc3Q6OmZvcndhcmQ8QTI+KGEyKSkKKyAgICAgICAgICAgICk7CisgICAgICAgIH0KKworI2RlZmluZSBCT09TVF9VTk9SREVSRURfRU1QTEFDRSh6LCBuLCBfKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgIHRlbXBsYXRlIDwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgQk9PU1RfUFBfRU5VTV9QQVJBTVNfWih6LCBuLCB0eXBlbmFtZSBBKSAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgIGl0ZXJhdG9yIGVtcGxhY2UoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgICAgIEJPT1NUX1BQX0VOVU1fIyN6KG4sIEJPT1NUX1VOT1JERVJFRF9GV0RfUEFSQU0sIGEpICAgICAgXAorICAgICAgICAgICAgKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgcmV0dXJuIHRhYmxlXy5lbXBsYWNlKCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICAgICBuZG5ib29zdDo6dW5vcmRlcmVkOjpkZXRhaWw6OmNyZWF0ZV9lbXBsYWNlX2FyZ3MoICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgIEJPT1NUX1BQX0VOVU1fIyN6KG4sIEJPT1NUX1VOT1JERVJFRF9DQUxMX0ZPUldBUkQsICBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgYSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICkpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgdGVtcGxhdGUgPCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICBCT09TVF9QUF9FTlVNX1BBUkFNU19aKHosIG4sIHR5cGVuYW1lIEEpICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgaXRlcmF0b3IgZW1wbGFjZV9oaW50KCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgY29uc3RfaXRlcmF0b3IsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgICAgIEJPT1NUX1BQX0VOVU1fIyN6KG4sIEJPT1NUX1VOT1JERVJFRF9GV0RfUEFSQU0sIGEpICAgICAgXAorICAgICAgICAgICAgKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgcmV0dXJuIHRhYmxlXy5lbXBsYWNlKCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICAgICBuZG5ib29zdDo6dW5vcmRlcmVkOjpkZXRhaWw6OmNyZWF0ZV9lbXBsYWNlX2FyZ3MoICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgIEJPT1NUX1BQX0VOVU1fIyN6KG4sIEJPT1NUX1VOT1JERVJFRF9DQUxMX0ZPUldBUkQsICBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgYSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICkpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgIH0KKworICAgICAgICBCT09TVF9QUF9SRVBFQVRfRlJPTV9UTyg0LCBCT09TVF9VTk9SREVSRURfRU1QTEFDRV9MSU1JVCwKKyAgICAgICAgICAgIEJPT1NUX1VOT1JERVJFRF9FTVBMQUNFLCBfKQorCisjdW5kZWYgQk9PU1RfVU5PUkRFUkVEX0VNUExBQ0UKKworI2VuZGlmCisKKyAgICAgICAgaXRlcmF0b3IgaW5zZXJ0KHZhbHVlX3R5cGUgY29uc3QmIHgpCisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiB0aGlzLT5lbXBsYWNlKHgpOworICAgICAgICB9CisKKyAgICAgICAgaXRlcmF0b3IgaW5zZXJ0KEJPT1NUX1VOT1JERVJFRF9SVl9SRUYodmFsdWVfdHlwZSkgeCkKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJuIHRoaXMtPmVtcGxhY2UobmRuYm9vc3Q6Om1vdmUoeCkpOworICAgICAgICB9CisKKyAgICAgICAgaXRlcmF0b3IgaW5zZXJ0KGNvbnN0X2l0ZXJhdG9yIGhpbnQsIHZhbHVlX3R5cGUgY29uc3QmIHgpCisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiB0aGlzLT5lbXBsYWNlX2hpbnQoaGludCwgeCk7CisgICAgICAgIH0KKworICAgICAgICBpdGVyYXRvciBpbnNlcnQoY29uc3RfaXRlcmF0b3IgaGludCwKKyAgICAgICAgICAgICAgICBCT09TVF9VTk9SREVSRURfUlZfUkVGKHZhbHVlX3R5cGUpIHgpCisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiB0aGlzLT5lbXBsYWNlX2hpbnQoaGludCwgbmRuYm9vc3Q6Om1vdmUoeCkpOworICAgICAgICB9CisKKyAgICAgICAgdGVtcGxhdGUgPGNsYXNzIElucHV0SXQ+IHZvaWQgaW5zZXJ0KElucHV0SXQsIElucHV0SXQpOworCisjaWYgIWRlZmluZWQoQk9PU1RfTk9fQ1hYMTFfSERSX0lOSVRJQUxJWkVSX0xJU1QpCisgICAgICAgIHZvaWQgaW5zZXJ0KHN0ZDo6aW5pdGlhbGl6ZXJfbGlzdDx2YWx1ZV90eXBlPik7CisjZW5kaWYKKworICAgICAgICBpdGVyYXRvciBlcmFzZShjb25zdF9pdGVyYXRvcik7CisgICAgICAgIHNpemVfdHlwZSBlcmFzZShjb25zdCBrZXlfdHlwZSYpOworICAgICAgICBpdGVyYXRvciBlcmFzZShjb25zdF9pdGVyYXRvciwgY29uc3RfaXRlcmF0b3IpOworICAgICAgICB2b2lkIHF1aWNrX2VyYXNlKGNvbnN0X2l0ZXJhdG9yIGl0KSB7IGVyYXNlKGl0KTsgfQorICAgICAgICB2b2lkIGVyYXNlX3JldHVybl92b2lkKGNvbnN0X2l0ZXJhdG9yIGl0KSB7IGVyYXNlKGl0KTsgfQorCisgICAgICAgIHZvaWQgY2xlYXIoKTsKKyAgICAgICAgdm9pZCBzd2FwKHVub3JkZXJlZF9tdWx0aXNldCYpOworCisgICAgICAgIC8vIG9ic2VydmVycworCisgICAgICAgIGhhc2hlciBoYXNoX2Z1bmN0aW9uKCkgY29uc3Q7CisgICAgICAgIGtleV9lcXVhbCBrZXlfZXEoKSBjb25zdDsKKworICAgICAgICAvLyBsb29rdXAKKworICAgICAgICBjb25zdF9pdGVyYXRvciBmaW5kKGNvbnN0IGtleV90eXBlJikgY29uc3Q7CisKKyAgICAgICAgdGVtcGxhdGUgPGNsYXNzIENvbXBhdGlibGVLZXksIGNsYXNzIENvbXBhdGlibGVIYXNoLAorICAgICAgICAgICAgY2xhc3MgQ29tcGF0aWJsZVByZWRpY2F0ZT4KKyAgICAgICAgY29uc3RfaXRlcmF0b3IgZmluZCgKKyAgICAgICAgICAgICAgICBDb21wYXRpYmxlS2V5IGNvbnN0JiwKKyAgICAgICAgICAgICAgICBDb21wYXRpYmxlSGFzaCBjb25zdCYsCisgICAgICAgICAgICAgICAgQ29tcGF0aWJsZVByZWRpY2F0ZSBjb25zdCYpIGNvbnN0OworCisgICAgICAgIHNpemVfdHlwZSBjb3VudChjb25zdCBrZXlfdHlwZSYpIGNvbnN0OworCisgICAgICAgIHN0ZDo6cGFpcjxjb25zdF9pdGVyYXRvciwgY29uc3RfaXRlcmF0b3I+CisgICAgICAgIGVxdWFsX3JhbmdlKGNvbnN0IGtleV90eXBlJikgY29uc3Q7CisKKyAgICAgICAgLy8gYnVja2V0IGludGVyZmFjZQorCisgICAgICAgIHNpemVfdHlwZSBidWNrZXRfY291bnQoKSBjb25zdCBCT09TVF9OT0VYQ0VQVAorICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4gdGFibGVfLmJ1Y2tldF9jb3VudF87CisgICAgICAgIH0KKworICAgICAgICBzaXplX3R5cGUgbWF4X2J1Y2tldF9jb3VudCgpIGNvbnN0IEJPT1NUX05PRVhDRVBUCisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiB0YWJsZV8ubWF4X2J1Y2tldF9jb3VudCgpOworICAgICAgICB9CisKKyAgICAgICAgc2l6ZV90eXBlIGJ1Y2tldF9zaXplKHNpemVfdHlwZSkgY29uc3Q7CisKKyAgICAgICAgc2l6ZV90eXBlIGJ1Y2tldChjb25zdCBrZXlfdHlwZSYgaykgY29uc3QKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJuIHRhYmxlXy5oYXNoX3RvX2J1Y2tldCh0YWJsZV8uaGFzaChrKSk7CisgICAgICAgIH0KKworICAgICAgICBsb2NhbF9pdGVyYXRvciBiZWdpbihzaXplX3R5cGUgbikKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJuIGxvY2FsX2l0ZXJhdG9yKAorICAgICAgICAgICAgICAgIHRhYmxlXy5iZWdpbihuKSwgbiwgdGFibGVfLmJ1Y2tldF9jb3VudF8pOworICAgICAgICB9CisKKyAgICAgICAgY29uc3RfbG9jYWxfaXRlcmF0b3IgYmVnaW4oc2l6ZV90eXBlIG4pIGNvbnN0CisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiBjb25zdF9sb2NhbF9pdGVyYXRvcigKKyAgICAgICAgICAgICAgICB0YWJsZV8uYmVnaW4obiksIG4sIHRhYmxlXy5idWNrZXRfY291bnRfKTsKKyAgICAgICAgfQorCisgICAgICAgIGxvY2FsX2l0ZXJhdG9yIGVuZChzaXplX3R5cGUpCisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiBsb2NhbF9pdGVyYXRvcigpOworICAgICAgICB9CisKKyAgICAgICAgY29uc3RfbG9jYWxfaXRlcmF0b3IgZW5kKHNpemVfdHlwZSkgY29uc3QKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJuIGNvbnN0X2xvY2FsX2l0ZXJhdG9yKCk7CisgICAgICAgIH0KKworICAgICAgICBjb25zdF9sb2NhbF9pdGVyYXRvciBjYmVnaW4oc2l6ZV90eXBlIG4pIGNvbnN0CisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiBjb25zdF9sb2NhbF9pdGVyYXRvcigKKyAgICAgICAgICAgICAgICB0YWJsZV8uYmVnaW4obiksIG4sIHRhYmxlXy5idWNrZXRfY291bnRfKTsKKyAgICAgICAgfQorCisgICAgICAgIGNvbnN0X2xvY2FsX2l0ZXJhdG9yIGNlbmQoc2l6ZV90eXBlKSBjb25zdAorICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4gY29uc3RfbG9jYWxfaXRlcmF0b3IoKTsKKyAgICAgICAgfQorCisgICAgICAgIC8vIGhhc2ggcG9saWN5CisKKyAgICAgICAgZmxvYXQgbWF4X2xvYWRfZmFjdG9yKCkgY29uc3QgQk9PU1RfTk9FWENFUFQKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJuIHRhYmxlXy5tbGZfOworICAgICAgICB9CisKKyAgICAgICAgZmxvYXQgbG9hZF9mYWN0b3IoKSBjb25zdCBCT09TVF9OT0VYQ0VQVDsKKyAgICAgICAgdm9pZCBtYXhfbG9hZF9mYWN0b3IoZmxvYXQpIEJPT1NUX05PRVhDRVBUOworICAgICAgICB2b2lkIHJlaGFzaChzaXplX3R5cGUpOworICAgICAgICB2b2lkIHJlc2VydmUoc2l6ZV90eXBlKTsKKworI2lmICFCT09TVF9XT1JLQVJPVU5EKF9fQk9STEFORENfXywgPCAweDA1ODIpCisgICAgICAgIGZyaWVuZCBib29sIG9wZXJhdG9yPT08VCxILFAsQT4oCisgICAgICAgICAgICAgICAgdW5vcmRlcmVkX211bHRpc2V0IGNvbnN0JiwgdW5vcmRlcmVkX211bHRpc2V0IGNvbnN0Jik7CisgICAgICAgIGZyaWVuZCBib29sIG9wZXJhdG9yIT08VCxILFAsQT4oCisgICAgICAgICAgICAgICAgdW5vcmRlcmVkX211bHRpc2V0IGNvbnN0JiwgdW5vcmRlcmVkX211bHRpc2V0IGNvbnN0Jik7CisjZW5kaWYKKyAgICB9OyAvLyBjbGFzcyB0ZW1wbGF0ZSB1bm9yZGVyZWRfbXVsdGlzZXQKKworLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKworICAgIHRlbXBsYXRlIDxjbGFzcyBULCBjbGFzcyBILCBjbGFzcyBQLCBjbGFzcyBBPgorICAgIHVub3JkZXJlZF9zZXQ8VCxILFAsQT46OnVub3JkZXJlZF9zZXQoCisgICAgICAgICAgICBzaXplX3R5cGUgbiwgY29uc3QgaGFzaGVyICZoZiwgY29uc3Qga2V5X2VxdWFsICZlcWwsCisgICAgICAgICAgICBjb25zdCBhbGxvY2F0b3JfdHlwZSAmYSkKKyAgICAgIDogdGFibGVfKG4sIGhmLCBlcWwsIGEpCisgICAgeworICAgIH0KKworICAgIHRlbXBsYXRlIDxjbGFzcyBULCBjbGFzcyBILCBjbGFzcyBQLCBjbGFzcyBBPgorICAgIHVub3JkZXJlZF9zZXQ8VCxILFAsQT46OnVub3JkZXJlZF9zZXQoYWxsb2NhdG9yX3R5cGUgY29uc3QmIGEpCisgICAgICA6IHRhYmxlXyhuZG5ib29zdDo6dW5vcmRlcmVkOjpkZXRhaWw6OmRlZmF1bHRfYnVja2V0X2NvdW50LAorICAgICAgICAgICAgaGFzaGVyKCksIGtleV9lcXVhbCgpLCBhKQorICAgIHsKKyAgICB9CisKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVCwgY2xhc3MgSCwgY2xhc3MgUCwgY2xhc3MgQT4KKyAgICB1bm9yZGVyZWRfc2V0PFQsSCxQLEE+Ojp1bm9yZGVyZWRfc2V0KAorICAgICAgICAgICAgdW5vcmRlcmVkX3NldCBjb25zdCYgb3RoZXIsIGFsbG9jYXRvcl90eXBlIGNvbnN0JiBhKQorICAgICAgOiB0YWJsZV8ob3RoZXIudGFibGVfLCBhKQorICAgIHsKKyAgICB9CisKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVCwgY2xhc3MgSCwgY2xhc3MgUCwgY2xhc3MgQT4KKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgSW5wdXRJdD4KKyAgICB1bm9yZGVyZWRfc2V0PFQsSCxQLEE+Ojp1bm9yZGVyZWRfc2V0KElucHV0SXQgZiwgSW5wdXRJdCBsKQorICAgICAgOiB0YWJsZV8obmRuYm9vc3Q6OnVub3JkZXJlZDo6ZGV0YWlsOjppbml0aWFsX3NpemUoZiwgbCksCisgICAgICAgIGhhc2hlcigpLCBrZXlfZXF1YWwoKSwgYWxsb2NhdG9yX3R5cGUoKSkKKyAgICB7CisgICAgICAgIHRhYmxlXy5pbnNlcnRfcmFuZ2UoZiwgbCk7CisgICAgfQorCisgICAgdGVtcGxhdGUgPGNsYXNzIFQsIGNsYXNzIEgsIGNsYXNzIFAsIGNsYXNzIEE+CisgICAgdGVtcGxhdGUgPGNsYXNzIElucHV0SXQ+CisgICAgdW5vcmRlcmVkX3NldDxULEgsUCxBPjo6dW5vcmRlcmVkX3NldCgKKyAgICAgICAgICAgIElucHV0SXQgZiwgSW5wdXRJdCBsLAorICAgICAgICAgICAgc2l6ZV90eXBlIG4sCisgICAgICAgICAgICBjb25zdCBoYXNoZXIgJmhmLAorICAgICAgICAgICAgY29uc3Qga2V5X2VxdWFsICZlcWwpCisgICAgICA6IHRhYmxlXyhuZG5ib29zdDo6dW5vcmRlcmVkOjpkZXRhaWw6OmluaXRpYWxfc2l6ZShmLCBsLCBuKSwKKyAgICAgICAgICAgIGhmLCBlcWwsIGFsbG9jYXRvcl90eXBlKCkpCisgICAgeworICAgICAgICB0YWJsZV8uaW5zZXJ0X3JhbmdlKGYsIGwpOworICAgIH0KKyAgICAKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVCwgY2xhc3MgSCwgY2xhc3MgUCwgY2xhc3MgQT4KKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgSW5wdXRJdD4KKyAgICB1bm9yZGVyZWRfc2V0PFQsSCxQLEE+Ojp1bm9yZGVyZWRfc2V0KAorICAgICAgICAgICAgSW5wdXRJdCBmLCBJbnB1dEl0IGwsCisgICAgICAgICAgICBzaXplX3R5cGUgbiwKKyAgICAgICAgICAgIGNvbnN0IGhhc2hlciAmaGYsCisgICAgICAgICAgICBjb25zdCBrZXlfZXF1YWwgJmVxbCwKKyAgICAgICAgICAgIGNvbnN0IGFsbG9jYXRvcl90eXBlICZhKQorICAgICAgOiB0YWJsZV8obmRuYm9vc3Q6OnVub3JkZXJlZDo6ZGV0YWlsOjppbml0aWFsX3NpemUoZiwgbCwgbiksIGhmLCBlcWwsIGEpCisgICAgeworICAgICAgICB0YWJsZV8uaW5zZXJ0X3JhbmdlKGYsIGwpOworICAgIH0KKyAgICAKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVCwgY2xhc3MgSCwgY2xhc3MgUCwgY2xhc3MgQT4KKyAgICB1bm9yZGVyZWRfc2V0PFQsSCxQLEE+Ojp+dW5vcmRlcmVkX3NldCgpIHt9CisKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVCwgY2xhc3MgSCwgY2xhc3MgUCwgY2xhc3MgQT4KKyAgICB1bm9yZGVyZWRfc2V0PFQsSCxQLEE+Ojp1bm9yZGVyZWRfc2V0KAorICAgICAgICAgICAgdW5vcmRlcmVkX3NldCBjb25zdCYgb3RoZXIpCisgICAgICA6IHRhYmxlXyhvdGhlci50YWJsZV8pCisgICAgeworICAgIH0KKworI2lmICFkZWZpbmVkKEJPT1NUX05PX0NYWDExX1JWQUxVRV9SRUZFUkVOQ0VTKQorCisgICAgdGVtcGxhdGUgPGNsYXNzIFQsIGNsYXNzIEgsIGNsYXNzIFAsIGNsYXNzIEE+CisgICAgdW5vcmRlcmVkX3NldDxULEgsUCxBPjo6dW5vcmRlcmVkX3NldCgKKyAgICAgICAgICAgIHVub3JkZXJlZF9zZXQmJiBvdGhlciwgYWxsb2NhdG9yX3R5cGUgY29uc3QmIGEpCisgICAgICA6IHRhYmxlXyhvdGhlci50YWJsZV8sIGEsIG5kbmJvb3N0Ojp1bm9yZGVyZWQ6OmRldGFpbDo6bW92ZV90YWcoKSkKKyAgICB7CisgICAgfQorCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEJPT1NUX05PX0NYWDExX0hEUl9JTklUSUFMSVpFUl9MSVNUKQorCisgICAgdGVtcGxhdGUgPGNsYXNzIFQsIGNsYXNzIEgsIGNsYXNzIFAsIGNsYXNzIEE+CisgICAgdW5vcmRlcmVkX3NldDxULEgsUCxBPjo6dW5vcmRlcmVkX3NldCgKKyAgICAgICAgICAgIHN0ZDo6aW5pdGlhbGl6ZXJfbGlzdDx2YWx1ZV90eXBlPiBsaXN0LCBzaXplX3R5cGUgbiwKKyAgICAgICAgICAgIGNvbnN0IGhhc2hlciAmaGYsIGNvbnN0IGtleV9lcXVhbCAmZXFsLCBjb25zdCBhbGxvY2F0b3JfdHlwZSAmYSkKKyAgICAgIDogdGFibGVfKAorICAgICAgICAgICAgbmRuYm9vc3Q6OnVub3JkZXJlZDo6ZGV0YWlsOjppbml0aWFsX3NpemUoCisgICAgICAgICAgICAgICAgbGlzdC5iZWdpbigpLCBsaXN0LmVuZCgpLCBuKSwKKyAgICAgICAgICAgIGhmLCBlcWwsIGEpCisgICAgeworICAgICAgICB0YWJsZV8uaW5zZXJ0X3JhbmdlKGxpc3QuYmVnaW4oKSwgbGlzdC5lbmQoKSk7CisgICAgfQorCisgICAgdGVtcGxhdGUgPGNsYXNzIFQsIGNsYXNzIEgsIGNsYXNzIFAsIGNsYXNzIEE+CisgICAgdW5vcmRlcmVkX3NldDxULEgsUCxBPiYgdW5vcmRlcmVkX3NldDxULEgsUCxBPjo6b3BlcmF0b3I9KAorICAgICAgICAgICAgc3RkOjppbml0aWFsaXplcl9saXN0PHZhbHVlX3R5cGU+IGxpc3QpCisgICAgeworICAgICAgICB0YWJsZV8uY2xlYXIoKTsKKyAgICAgICAgdGFibGVfLmluc2VydF9yYW5nZShsaXN0LmJlZ2luKCksIGxpc3QuZW5kKCkpOworICAgICAgICByZXR1cm4gKnRoaXM7CisgICAgfQorCisjZW5kaWYKKworICAgIC8vIHNpemUgYW5kIGNhcGFjaXR5CisKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVCwgY2xhc3MgSCwgY2xhc3MgUCwgY2xhc3MgQT4KKyAgICBzdGQ6OnNpemVfdCB1bm9yZGVyZWRfc2V0PFQsSCxQLEE+OjptYXhfc2l6ZSgpIGNvbnN0IEJPT1NUX05PRVhDRVBUCisgICAgeworICAgICAgICByZXR1cm4gdGFibGVfLm1heF9zaXplKCk7CisgICAgfQorCisgICAgLy8gbW9kaWZpZXJzCisKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVCwgY2xhc3MgSCwgY2xhc3MgUCwgY2xhc3MgQT4KKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgSW5wdXRJdD4KKyAgICB2b2lkIHVub3JkZXJlZF9zZXQ8VCxILFAsQT46Omluc2VydChJbnB1dEl0IGZpcnN0LCBJbnB1dEl0IGxhc3QpCisgICAgeworICAgICAgICB0YWJsZV8uaW5zZXJ0X3JhbmdlKGZpcnN0LCBsYXN0KTsKKyAgICB9CisKKyNpZiAhZGVmaW5lZChCT09TVF9OT19DWFgxMV9IRFJfSU5JVElBTElaRVJfTElTVCkKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVCwgY2xhc3MgSCwgY2xhc3MgUCwgY2xhc3MgQT4KKyAgICB2b2lkIHVub3JkZXJlZF9zZXQ8VCxILFAsQT46Omluc2VydCgKKyAgICAgICAgICAgIHN0ZDo6aW5pdGlhbGl6ZXJfbGlzdDx2YWx1ZV90eXBlPiBsaXN0KQorICAgIHsKKyAgICAgICAgdGFibGVfLmluc2VydF9yYW5nZShsaXN0LmJlZ2luKCksIGxpc3QuZW5kKCkpOworICAgIH0KKyNlbmRpZgorCisgICAgdGVtcGxhdGUgPGNsYXNzIFQsIGNsYXNzIEgsIGNsYXNzIFAsIGNsYXNzIEE+CisgICAgdHlwZW5hbWUgdW5vcmRlcmVkX3NldDxULEgsUCxBPjo6aXRlcmF0b3IKKyAgICAgICAgdW5vcmRlcmVkX3NldDxULEgsUCxBPjo6ZXJhc2UoY29uc3RfaXRlcmF0b3IgcG9zaXRpb24pCisgICAgeworICAgICAgICByZXR1cm4gdGFibGVfLmVyYXNlKHBvc2l0aW9uKTsKKyAgICB9CisKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVCwgY2xhc3MgSCwgY2xhc3MgUCwgY2xhc3MgQT4KKyAgICB0eXBlbmFtZSB1bm9yZGVyZWRfc2V0PFQsSCxQLEE+OjpzaXplX3R5cGUKKyAgICAgICAgdW5vcmRlcmVkX3NldDxULEgsUCxBPjo6ZXJhc2UoY29uc3Qga2V5X3R5cGUmIGspCisgICAgeworICAgICAgICByZXR1cm4gdGFibGVfLmVyYXNlX2tleShrKTsKKyAgICB9CisKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVCwgY2xhc3MgSCwgY2xhc3MgUCwgY2xhc3MgQT4KKyAgICB0eXBlbmFtZSB1bm9yZGVyZWRfc2V0PFQsSCxQLEE+OjppdGVyYXRvcgorICAgICAgICB1bm9yZGVyZWRfc2V0PFQsSCxQLEE+OjplcmFzZSgKKyAgICAgICAgICAgIGNvbnN0X2l0ZXJhdG9yIGZpcnN0LCBjb25zdF9pdGVyYXRvciBsYXN0KQorICAgIHsKKyAgICAgICAgcmV0dXJuIHRhYmxlXy5lcmFzZV9yYW5nZShmaXJzdCwgbGFzdCk7CisgICAgfQorCisgICAgdGVtcGxhdGUgPGNsYXNzIFQsIGNsYXNzIEgsIGNsYXNzIFAsIGNsYXNzIEE+CisgICAgdm9pZCB1bm9yZGVyZWRfc2V0PFQsSCxQLEE+OjpjbGVhcigpCisgICAgeworICAgICAgICB0YWJsZV8uY2xlYXIoKTsKKyAgICB9CisKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVCwgY2xhc3MgSCwgY2xhc3MgUCwgY2xhc3MgQT4KKyAgICB2b2lkIHVub3JkZXJlZF9zZXQ8VCxILFAsQT46OnN3YXAodW5vcmRlcmVkX3NldCYgb3RoZXIpCisgICAgeworICAgICAgICB0YWJsZV8uc3dhcChvdGhlci50YWJsZV8pOworICAgIH0KKworICAgIC8vIG9ic2VydmVycworCisgICAgdGVtcGxhdGUgPGNsYXNzIFQsIGNsYXNzIEgsIGNsYXNzIFAsIGNsYXNzIEE+CisgICAgdHlwZW5hbWUgdW5vcmRlcmVkX3NldDxULEgsUCxBPjo6aGFzaGVyCisgICAgICAgIHVub3JkZXJlZF9zZXQ8VCxILFAsQT46Omhhc2hfZnVuY3Rpb24oKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIHRhYmxlXy5oYXNoX2Z1bmN0aW9uKCk7CisgICAgfQorCisgICAgdGVtcGxhdGUgPGNsYXNzIFQsIGNsYXNzIEgsIGNsYXNzIFAsIGNsYXNzIEE+CisgICAgdHlwZW5hbWUgdW5vcmRlcmVkX3NldDxULEgsUCxBPjo6a2V5X2VxdWFsCisgICAgICAgIHVub3JkZXJlZF9zZXQ8VCxILFAsQT46OmtleV9lcSgpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gdGFibGVfLmtleV9lcSgpOworICAgIH0KKworICAgIC8vIGxvb2t1cAorCisgICAgdGVtcGxhdGUgPGNsYXNzIFQsIGNsYXNzIEgsIGNsYXNzIFAsIGNsYXNzIEE+CisgICAgdHlwZW5hbWUgdW5vcmRlcmVkX3NldDxULEgsUCxBPjo6Y29uc3RfaXRlcmF0b3IKKyAgICAgICAgdW5vcmRlcmVkX3NldDxULEgsUCxBPjo6ZmluZChjb25zdCBrZXlfdHlwZSYgaykgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiB0YWJsZV8uZmluZF9ub2RlKGspOworICAgIH0KKworICAgIHRlbXBsYXRlIDxjbGFzcyBULCBjbGFzcyBILCBjbGFzcyBQLCBjbGFzcyBBPgorICAgIHRlbXBsYXRlIDxjbGFzcyBDb21wYXRpYmxlS2V5LCBjbGFzcyBDb21wYXRpYmxlSGFzaCwKKyAgICAgICAgY2xhc3MgQ29tcGF0aWJsZVByZWRpY2F0ZT4KKyAgICB0eXBlbmFtZSB1bm9yZGVyZWRfc2V0PFQsSCxQLEE+Ojpjb25zdF9pdGVyYXRvcgorICAgICAgICB1bm9yZGVyZWRfc2V0PFQsSCxQLEE+OjpmaW5kKAorICAgICAgICAgICAgQ29tcGF0aWJsZUtleSBjb25zdCYgaywKKyAgICAgICAgICAgIENvbXBhdGlibGVIYXNoIGNvbnN0JiBoYXNoLAorICAgICAgICAgICAgQ29tcGF0aWJsZVByZWRpY2F0ZSBjb25zdCYgZXEpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gdGFibGVfLmdlbmVyaWNfZmluZF9ub2RlKGssIGhhc2gsIGVxKTsKKyAgICB9CisKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVCwgY2xhc3MgSCwgY2xhc3MgUCwgY2xhc3MgQT4KKyAgICB0eXBlbmFtZSB1bm9yZGVyZWRfc2V0PFQsSCxQLEE+OjpzaXplX3R5cGUKKyAgICAgICAgdW5vcmRlcmVkX3NldDxULEgsUCxBPjo6Y291bnQoY29uc3Qga2V5X3R5cGUmIGspIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gdGFibGVfLmNvdW50KGspOworICAgIH0KKworICAgIHRlbXBsYXRlIDxjbGFzcyBULCBjbGFzcyBILCBjbGFzcyBQLCBjbGFzcyBBPgorICAgIHN0ZDo6cGFpcjwKKyAgICAgICAgICAgIHR5cGVuYW1lIHVub3JkZXJlZF9zZXQ8VCxILFAsQT46OmNvbnN0X2l0ZXJhdG9yLAorICAgICAgICAgICAgdHlwZW5hbWUgdW5vcmRlcmVkX3NldDxULEgsUCxBPjo6Y29uc3RfaXRlcmF0b3I+CisgICAgICAgIHVub3JkZXJlZF9zZXQ8VCxILFAsQT46OmVxdWFsX3JhbmdlKGNvbnN0IGtleV90eXBlJiBrKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIHRhYmxlXy5lcXVhbF9yYW5nZShrKTsKKyAgICB9CisKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVCwgY2xhc3MgSCwgY2xhc3MgUCwgY2xhc3MgQT4KKyAgICB0eXBlbmFtZSB1bm9yZGVyZWRfc2V0PFQsSCxQLEE+OjpzaXplX3R5cGUKKyAgICAgICAgdW5vcmRlcmVkX3NldDxULEgsUCxBPjo6YnVja2V0X3NpemUoc2l6ZV90eXBlIG4pIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gdGFibGVfLmJ1Y2tldF9zaXplKG4pOworICAgIH0KKworICAgIC8vIGhhc2ggcG9saWN5CisKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVCwgY2xhc3MgSCwgY2xhc3MgUCwgY2xhc3MgQT4KKyAgICBmbG9hdCB1bm9yZGVyZWRfc2V0PFQsSCxQLEE+Ojpsb2FkX2ZhY3RvcigpIGNvbnN0IEJPT1NUX05PRVhDRVBUCisgICAgeworICAgICAgICByZXR1cm4gdGFibGVfLmxvYWRfZmFjdG9yKCk7CisgICAgfQorCisgICAgdGVtcGxhdGUgPGNsYXNzIFQsIGNsYXNzIEgsIGNsYXNzIFAsIGNsYXNzIEE+CisgICAgdm9pZCB1bm9yZGVyZWRfc2V0PFQsSCxQLEE+OjptYXhfbG9hZF9mYWN0b3IoZmxvYXQgbSkgQk9PU1RfTk9FWENFUFQKKyAgICB7CisgICAgICAgIHRhYmxlXy5tYXhfbG9hZF9mYWN0b3IobSk7CisgICAgfQorCisgICAgdGVtcGxhdGUgPGNsYXNzIFQsIGNsYXNzIEgsIGNsYXNzIFAsIGNsYXNzIEE+CisgICAgdm9pZCB1bm9yZGVyZWRfc2V0PFQsSCxQLEE+OjpyZWhhc2goc2l6ZV90eXBlIG4pCisgICAgeworICAgICAgICB0YWJsZV8ucmVoYXNoKG4pOworICAgIH0KKworICAgIHRlbXBsYXRlIDxjbGFzcyBULCBjbGFzcyBILCBjbGFzcyBQLCBjbGFzcyBBPgorICAgIHZvaWQgdW5vcmRlcmVkX3NldDxULEgsUCxBPjo6cmVzZXJ2ZShzaXplX3R5cGUgbikKKyAgICB7CisgICAgICAgIHRhYmxlXy5yZXNlcnZlKG4pOworICAgIH0KKworICAgIHRlbXBsYXRlIDxjbGFzcyBULCBjbGFzcyBILCBjbGFzcyBQLCBjbGFzcyBBPgorICAgIGlubGluZSBib29sIG9wZXJhdG9yPT0oCisgICAgICAgICAgICB1bm9yZGVyZWRfc2V0PFQsSCxQLEE+IGNvbnN0JiBtMSwKKyAgICAgICAgICAgIHVub3JkZXJlZF9zZXQ8VCxILFAsQT4gY29uc3QmIG0yKQorICAgIHsKKyNpZiBCT09TVF9XT1JLQVJPVU5EKF9fQ09ERUdFQVJDX18sIEJPT1NUX1RFU1RFRF9BVCgweDA2MTMpKQorICAgICAgICBzdHJ1Y3QgZHVtbXkgeyB1bm9yZGVyZWRfc2V0PFQsSCxQLEE+IHg7IH07CisjZW5kaWYKKyAgICAgICAgcmV0dXJuIG0xLnRhYmxlXy5lcXVhbHMobTIudGFibGVfKTsKKyAgICB9CisKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVCwgY2xhc3MgSCwgY2xhc3MgUCwgY2xhc3MgQT4KKyAgICBpbmxpbmUgYm9vbCBvcGVyYXRvciE9KAorICAgICAgICAgICAgdW5vcmRlcmVkX3NldDxULEgsUCxBPiBjb25zdCYgbTEsCisgICAgICAgICAgICB1bm9yZGVyZWRfc2V0PFQsSCxQLEE+IGNvbnN0JiBtMikKKyAgICB7CisjaWYgQk9PU1RfV09SS0FST1VORChfX0NPREVHRUFSQ19fLCBCT09TVF9URVNURURfQVQoMHgwNjEzKSkKKyAgICAgICAgc3RydWN0IGR1bW15IHsgdW5vcmRlcmVkX3NldDxULEgsUCxBPiB4OyB9OworI2VuZGlmCisgICAgICAgIHJldHVybiAhbTEudGFibGVfLmVxdWFscyhtMi50YWJsZV8pOworICAgIH0KKworICAgIHRlbXBsYXRlIDxjbGFzcyBULCBjbGFzcyBILCBjbGFzcyBQLCBjbGFzcyBBPgorICAgIGlubGluZSB2b2lkIHN3YXAoCisgICAgICAgICAgICB1bm9yZGVyZWRfc2V0PFQsSCxQLEE+ICZtMSwKKyAgICAgICAgICAgIHVub3JkZXJlZF9zZXQ8VCxILFAsQT4gJm0yKQorICAgIHsKKyNpZiBCT09TVF9XT1JLQVJPVU5EKF9fQ09ERUdFQVJDX18sIEJPT1NUX1RFU1RFRF9BVCgweDA2MTMpKQorICAgICAgICBzdHJ1Y3QgZHVtbXkgeyB1bm9yZGVyZWRfc2V0PFQsSCxQLEE+IHg7IH07CisjZW5kaWYKKyAgICAgICAgbTEuc3dhcChtMik7CisgICAgfQorCisvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworCisgICAgdGVtcGxhdGUgPGNsYXNzIFQsIGNsYXNzIEgsIGNsYXNzIFAsIGNsYXNzIEE+CisgICAgdW5vcmRlcmVkX211bHRpc2V0PFQsSCxQLEE+Ojp1bm9yZGVyZWRfbXVsdGlzZXQoCisgICAgICAgICAgICBzaXplX3R5cGUgbiwgY29uc3QgaGFzaGVyICZoZiwgY29uc3Qga2V5X2VxdWFsICZlcWwsCisgICAgICAgICAgICBjb25zdCBhbGxvY2F0b3JfdHlwZSAmYSkKKyAgICAgIDogdGFibGVfKG4sIGhmLCBlcWwsIGEpCisgICAgeworICAgIH0KKworICAgIHRlbXBsYXRlIDxjbGFzcyBULCBjbGFzcyBILCBjbGFzcyBQLCBjbGFzcyBBPgorICAgIHVub3JkZXJlZF9tdWx0aXNldDxULEgsUCxBPjo6dW5vcmRlcmVkX211bHRpc2V0KGFsbG9jYXRvcl90eXBlIGNvbnN0JiBhKQorICAgICAgOiB0YWJsZV8obmRuYm9vc3Q6OnVub3JkZXJlZDo6ZGV0YWlsOjpkZWZhdWx0X2J1Y2tldF9jb3VudCwKKyAgICAgICAgICAgIGhhc2hlcigpLCBrZXlfZXF1YWwoKSwgYSkKKyAgICB7CisgICAgfQorCisgICAgdGVtcGxhdGUgPGNsYXNzIFQsIGNsYXNzIEgsIGNsYXNzIFAsIGNsYXNzIEE+CisgICAgdW5vcmRlcmVkX211bHRpc2V0PFQsSCxQLEE+Ojp1bm9yZGVyZWRfbXVsdGlzZXQoCisgICAgICAgICAgICB1bm9yZGVyZWRfbXVsdGlzZXQgY29uc3QmIG90aGVyLCBhbGxvY2F0b3JfdHlwZSBjb25zdCYgYSkKKyAgICAgIDogdGFibGVfKG90aGVyLnRhYmxlXywgYSkKKyAgICB7CisgICAgfQorCisgICAgdGVtcGxhdGUgPGNsYXNzIFQsIGNsYXNzIEgsIGNsYXNzIFAsIGNsYXNzIEE+CisgICAgdGVtcGxhdGUgPGNsYXNzIElucHV0SXQ+CisgICAgdW5vcmRlcmVkX211bHRpc2V0PFQsSCxQLEE+Ojp1bm9yZGVyZWRfbXVsdGlzZXQoSW5wdXRJdCBmLCBJbnB1dEl0IGwpCisgICAgICA6IHRhYmxlXyhuZG5ib29zdDo6dW5vcmRlcmVkOjpkZXRhaWw6OmluaXRpYWxfc2l6ZShmLCBsKSwKKyAgICAgICAgaGFzaGVyKCksIGtleV9lcXVhbCgpLCBhbGxvY2F0b3JfdHlwZSgpKQorICAgIHsKKyAgICAgICAgdGFibGVfLmluc2VydF9yYW5nZShmLCBsKTsKKyAgICB9CisKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVCwgY2xhc3MgSCwgY2xhc3MgUCwgY2xhc3MgQT4KKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgSW5wdXRJdD4KKyAgICB1bm9yZGVyZWRfbXVsdGlzZXQ8VCxILFAsQT46OnVub3JkZXJlZF9tdWx0aXNldCgKKyAgICAgICAgICAgIElucHV0SXQgZiwgSW5wdXRJdCBsLAorICAgICAgICAgICAgc2l6ZV90eXBlIG4sCisgICAgICAgICAgICBjb25zdCBoYXNoZXIgJmhmLAorICAgICAgICAgICAgY29uc3Qga2V5X2VxdWFsICZlcWwpCisgICAgICA6IHRhYmxlXyhuZG5ib29zdDo6dW5vcmRlcmVkOjpkZXRhaWw6OmluaXRpYWxfc2l6ZShmLCBsLCBuKSwKKyAgICAgICAgICAgIGhmLCBlcWwsIGFsbG9jYXRvcl90eXBlKCkpCisgICAgeworICAgICAgICB0YWJsZV8uaW5zZXJ0X3JhbmdlKGYsIGwpOworICAgIH0KKyAgICAKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVCwgY2xhc3MgSCwgY2xhc3MgUCwgY2xhc3MgQT4KKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgSW5wdXRJdD4KKyAgICB1bm9yZGVyZWRfbXVsdGlzZXQ8VCxILFAsQT46OnVub3JkZXJlZF9tdWx0aXNldCgKKyAgICAgICAgICAgIElucHV0SXQgZiwgSW5wdXRJdCBsLAorICAgICAgICAgICAgc2l6ZV90eXBlIG4sCisgICAgICAgICAgICBjb25zdCBoYXNoZXIgJmhmLAorICAgICAgICAgICAgY29uc3Qga2V5X2VxdWFsICZlcWwsCisgICAgICAgICAgICBjb25zdCBhbGxvY2F0b3JfdHlwZSAmYSkKKyAgICAgIDogdGFibGVfKG5kbmJvb3N0Ojp1bm9yZGVyZWQ6OmRldGFpbDo6aW5pdGlhbF9zaXplKGYsIGwsIG4pLCBoZiwgZXFsLCBhKQorICAgIHsKKyAgICAgICAgdGFibGVfLmluc2VydF9yYW5nZShmLCBsKTsKKyAgICB9CisgICAgCisgICAgdGVtcGxhdGUgPGNsYXNzIFQsIGNsYXNzIEgsIGNsYXNzIFAsIGNsYXNzIEE+CisgICAgdW5vcmRlcmVkX211bHRpc2V0PFQsSCxQLEE+Ojp+dW5vcmRlcmVkX211bHRpc2V0KCkge30KKworICAgIHRlbXBsYXRlIDxjbGFzcyBULCBjbGFzcyBILCBjbGFzcyBQLCBjbGFzcyBBPgorICAgIHVub3JkZXJlZF9tdWx0aXNldDxULEgsUCxBPjo6dW5vcmRlcmVkX211bHRpc2V0KAorICAgICAgICAgICAgdW5vcmRlcmVkX211bHRpc2V0IGNvbnN0JiBvdGhlcikKKyAgICAgIDogdGFibGVfKG90aGVyLnRhYmxlXykKKyAgICB7CisgICAgfQorCisjaWYgIWRlZmluZWQoQk9PU1RfTk9fQ1hYMTFfUlZBTFVFX1JFRkVSRU5DRVMpCisKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVCwgY2xhc3MgSCwgY2xhc3MgUCwgY2xhc3MgQT4KKyAgICB1bm9yZGVyZWRfbXVsdGlzZXQ8VCxILFAsQT46OnVub3JkZXJlZF9tdWx0aXNldCgKKyAgICAgICAgICAgIHVub3JkZXJlZF9tdWx0aXNldCYmIG90aGVyLCBhbGxvY2F0b3JfdHlwZSBjb25zdCYgYSkKKyAgICAgIDogdGFibGVfKG90aGVyLnRhYmxlXywgYSwgbmRuYm9vc3Q6OnVub3JkZXJlZDo6ZGV0YWlsOjptb3ZlX3RhZygpKQorICAgIHsKKyAgICB9CisKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoQk9PU1RfTk9fQ1hYMTFfSERSX0lOSVRJQUxJWkVSX0xJU1QpCisKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVCwgY2xhc3MgSCwgY2xhc3MgUCwgY2xhc3MgQT4KKyAgICB1bm9yZGVyZWRfbXVsdGlzZXQ8VCxILFAsQT46OnVub3JkZXJlZF9tdWx0aXNldCgKKyAgICAgICAgICAgIHN0ZDo6aW5pdGlhbGl6ZXJfbGlzdDx2YWx1ZV90eXBlPiBsaXN0LCBzaXplX3R5cGUgbiwKKyAgICAgICAgICAgIGNvbnN0IGhhc2hlciAmaGYsIGNvbnN0IGtleV9lcXVhbCAmZXFsLCBjb25zdCBhbGxvY2F0b3JfdHlwZSAmYSkKKyAgICAgIDogdGFibGVfKAorICAgICAgICAgICAgbmRuYm9vc3Q6OnVub3JkZXJlZDo6ZGV0YWlsOjppbml0aWFsX3NpemUoCisgICAgICAgICAgICAgICAgbGlzdC5iZWdpbigpLCBsaXN0LmVuZCgpLCBuKSwKKyAgICAgICAgICAgIGhmLCBlcWwsIGEpCisgICAgeworICAgICAgICB0YWJsZV8uaW5zZXJ0X3JhbmdlKGxpc3QuYmVnaW4oKSwgbGlzdC5lbmQoKSk7CisgICAgfQorCisgICAgdGVtcGxhdGUgPGNsYXNzIFQsIGNsYXNzIEgsIGNsYXNzIFAsIGNsYXNzIEE+CisgICAgdW5vcmRlcmVkX211bHRpc2V0PFQsSCxQLEE+JiB1bm9yZGVyZWRfbXVsdGlzZXQ8VCxILFAsQT46Om9wZXJhdG9yPSgKKyAgICAgICAgICAgIHN0ZDo6aW5pdGlhbGl6ZXJfbGlzdDx2YWx1ZV90eXBlPiBsaXN0KQorICAgIHsKKyAgICAgICAgdGFibGVfLmNsZWFyKCk7CisgICAgICAgIHRhYmxlXy5pbnNlcnRfcmFuZ2UobGlzdC5iZWdpbigpLCBsaXN0LmVuZCgpKTsKKyAgICAgICAgcmV0dXJuICp0aGlzOworICAgIH0KKworI2VuZGlmCisKKyAgICAvLyBzaXplIGFuZCBjYXBhY2l0eQorCisgICAgdGVtcGxhdGUgPGNsYXNzIFQsIGNsYXNzIEgsIGNsYXNzIFAsIGNsYXNzIEE+CisgICAgc3RkOjpzaXplX3QgdW5vcmRlcmVkX211bHRpc2V0PFQsSCxQLEE+OjptYXhfc2l6ZSgpIGNvbnN0IEJPT1NUX05PRVhDRVBUCisgICAgeworICAgICAgICByZXR1cm4gdGFibGVfLm1heF9zaXplKCk7CisgICAgfQorCisgICAgLy8gbW9kaWZpZXJzCisKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVCwgY2xhc3MgSCwgY2xhc3MgUCwgY2xhc3MgQT4KKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgSW5wdXRJdD4KKyAgICB2b2lkIHVub3JkZXJlZF9tdWx0aXNldDxULEgsUCxBPjo6aW5zZXJ0KElucHV0SXQgZmlyc3QsIElucHV0SXQgbGFzdCkKKyAgICB7CisgICAgICAgIHRhYmxlXy5pbnNlcnRfcmFuZ2UoZmlyc3QsIGxhc3QpOworICAgIH0KKworI2lmICFkZWZpbmVkKEJPT1NUX05PX0NYWDExX0hEUl9JTklUSUFMSVpFUl9MSVNUKQorICAgIHRlbXBsYXRlIDxjbGFzcyBULCBjbGFzcyBILCBjbGFzcyBQLCBjbGFzcyBBPgorICAgIHZvaWQgdW5vcmRlcmVkX211bHRpc2V0PFQsSCxQLEE+OjppbnNlcnQoCisgICAgICAgICAgICBzdGQ6OmluaXRpYWxpemVyX2xpc3Q8dmFsdWVfdHlwZT4gbGlzdCkKKyAgICB7CisgICAgICAgIHRhYmxlXy5pbnNlcnRfcmFuZ2UobGlzdC5iZWdpbigpLCBsaXN0LmVuZCgpKTsKKyAgICB9CisjZW5kaWYKKworICAgIHRlbXBsYXRlIDxjbGFzcyBULCBjbGFzcyBILCBjbGFzcyBQLCBjbGFzcyBBPgorICAgIHR5cGVuYW1lIHVub3JkZXJlZF9tdWx0aXNldDxULEgsUCxBPjo6aXRlcmF0b3IKKyAgICAgICAgdW5vcmRlcmVkX211bHRpc2V0PFQsSCxQLEE+OjplcmFzZShjb25zdF9pdGVyYXRvciBwb3NpdGlvbikKKyAgICB7CisgICAgICAgIHJldHVybiB0YWJsZV8uZXJhc2UocG9zaXRpb24pOworICAgIH0KKworICAgIHRlbXBsYXRlIDxjbGFzcyBULCBjbGFzcyBILCBjbGFzcyBQLCBjbGFzcyBBPgorICAgIHR5cGVuYW1lIHVub3JkZXJlZF9tdWx0aXNldDxULEgsUCxBPjo6c2l6ZV90eXBlCisgICAgICAgIHVub3JkZXJlZF9tdWx0aXNldDxULEgsUCxBPjo6ZXJhc2UoY29uc3Qga2V5X3R5cGUmIGspCisgICAgeworICAgICAgICByZXR1cm4gdGFibGVfLmVyYXNlX2tleShrKTsKKyAgICB9CisKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVCwgY2xhc3MgSCwgY2xhc3MgUCwgY2xhc3MgQT4KKyAgICB0eXBlbmFtZSB1bm9yZGVyZWRfbXVsdGlzZXQ8VCxILFAsQT46Oml0ZXJhdG9yCisgICAgICAgIHVub3JkZXJlZF9tdWx0aXNldDxULEgsUCxBPjo6ZXJhc2UoCisgICAgICAgICAgICAgICAgY29uc3RfaXRlcmF0b3IgZmlyc3QsIGNvbnN0X2l0ZXJhdG9yIGxhc3QpCisgICAgeworICAgICAgICByZXR1cm4gdGFibGVfLmVyYXNlX3JhbmdlKGZpcnN0LCBsYXN0KTsKKyAgICB9CisKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVCwgY2xhc3MgSCwgY2xhc3MgUCwgY2xhc3MgQT4KKyAgICB2b2lkIHVub3JkZXJlZF9tdWx0aXNldDxULEgsUCxBPjo6Y2xlYXIoKQorICAgIHsKKyAgICAgICAgdGFibGVfLmNsZWFyKCk7CisgICAgfQorCisgICAgdGVtcGxhdGUgPGNsYXNzIFQsIGNsYXNzIEgsIGNsYXNzIFAsIGNsYXNzIEE+CisgICAgdm9pZCB1bm9yZGVyZWRfbXVsdGlzZXQ8VCxILFAsQT46OnN3YXAodW5vcmRlcmVkX211bHRpc2V0JiBvdGhlcikKKyAgICB7CisgICAgICAgIHRhYmxlXy5zd2FwKG90aGVyLnRhYmxlXyk7CisgICAgfQorCisgICAgLy8gb2JzZXJ2ZXJzCisKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVCwgY2xhc3MgSCwgY2xhc3MgUCwgY2xhc3MgQT4KKyAgICB0eXBlbmFtZSB1bm9yZGVyZWRfbXVsdGlzZXQ8VCxILFAsQT46Omhhc2hlcgorICAgICAgICB1bm9yZGVyZWRfbXVsdGlzZXQ8VCxILFAsQT46Omhhc2hfZnVuY3Rpb24oKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIHRhYmxlXy5oYXNoX2Z1bmN0aW9uKCk7CisgICAgfQorCisgICAgdGVtcGxhdGUgPGNsYXNzIFQsIGNsYXNzIEgsIGNsYXNzIFAsIGNsYXNzIEE+CisgICAgdHlwZW5hbWUgdW5vcmRlcmVkX211bHRpc2V0PFQsSCxQLEE+OjprZXlfZXF1YWwKKyAgICAgICAgdW5vcmRlcmVkX211bHRpc2V0PFQsSCxQLEE+OjprZXlfZXEoKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIHRhYmxlXy5rZXlfZXEoKTsKKyAgICB9CisKKyAgICAvLyBsb29rdXAKKworICAgIHRlbXBsYXRlIDxjbGFzcyBULCBjbGFzcyBILCBjbGFzcyBQLCBjbGFzcyBBPgorICAgIHR5cGVuYW1lIHVub3JkZXJlZF9tdWx0aXNldDxULEgsUCxBPjo6Y29uc3RfaXRlcmF0b3IKKyAgICAgICAgdW5vcmRlcmVkX211bHRpc2V0PFQsSCxQLEE+OjpmaW5kKGNvbnN0IGtleV90eXBlJiBrKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIHRhYmxlXy5maW5kX25vZGUoayk7CisgICAgfQorCisgICAgdGVtcGxhdGUgPGNsYXNzIFQsIGNsYXNzIEgsIGNsYXNzIFAsIGNsYXNzIEE+CisgICAgdGVtcGxhdGUgPGNsYXNzIENvbXBhdGlibGVLZXksIGNsYXNzIENvbXBhdGlibGVIYXNoLAorICAgICAgICBjbGFzcyBDb21wYXRpYmxlUHJlZGljYXRlPgorICAgIHR5cGVuYW1lIHVub3JkZXJlZF9tdWx0aXNldDxULEgsUCxBPjo6Y29uc3RfaXRlcmF0b3IKKyAgICAgICAgdW5vcmRlcmVkX211bHRpc2V0PFQsSCxQLEE+OjpmaW5kKAorICAgICAgICAgICAgQ29tcGF0aWJsZUtleSBjb25zdCYgaywKKyAgICAgICAgICAgIENvbXBhdGlibGVIYXNoIGNvbnN0JiBoYXNoLAorICAgICAgICAgICAgQ29tcGF0aWJsZVByZWRpY2F0ZSBjb25zdCYgZXEpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gdGFibGVfLmdlbmVyaWNfZmluZF9ub2RlKGssIGhhc2gsIGVxKTsKKyAgICB9CisKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVCwgY2xhc3MgSCwgY2xhc3MgUCwgY2xhc3MgQT4KKyAgICB0eXBlbmFtZSB1bm9yZGVyZWRfbXVsdGlzZXQ8VCxILFAsQT46OnNpemVfdHlwZQorICAgICAgICB1bm9yZGVyZWRfbXVsdGlzZXQ8VCxILFAsQT46OmNvdW50KGNvbnN0IGtleV90eXBlJiBrKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIHRhYmxlXy5jb3VudChrKTsKKyAgICB9CisKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVCwgY2xhc3MgSCwgY2xhc3MgUCwgY2xhc3MgQT4KKyAgICBzdGQ6OnBhaXI8CisgICAgICAgICAgICB0eXBlbmFtZSB1bm9yZGVyZWRfbXVsdGlzZXQ8VCxILFAsQT46OmNvbnN0X2l0ZXJhdG9yLAorICAgICAgICAgICAgdHlwZW5hbWUgdW5vcmRlcmVkX211bHRpc2V0PFQsSCxQLEE+Ojpjb25zdF9pdGVyYXRvcj4KKyAgICAgICAgdW5vcmRlcmVkX211bHRpc2V0PFQsSCxQLEE+OjplcXVhbF9yYW5nZShjb25zdCBrZXlfdHlwZSYgaykgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiB0YWJsZV8uZXF1YWxfcmFuZ2Uoayk7CisgICAgfQorCisgICAgdGVtcGxhdGUgPGNsYXNzIFQsIGNsYXNzIEgsIGNsYXNzIFAsIGNsYXNzIEE+CisgICAgdHlwZW5hbWUgdW5vcmRlcmVkX211bHRpc2V0PFQsSCxQLEE+OjpzaXplX3R5cGUKKyAgICAgICAgdW5vcmRlcmVkX211bHRpc2V0PFQsSCxQLEE+OjpidWNrZXRfc2l6ZShzaXplX3R5cGUgbikgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiB0YWJsZV8uYnVja2V0X3NpemUobik7CisgICAgfQorCisgICAgLy8gaGFzaCBwb2xpY3kKKworICAgIHRlbXBsYXRlIDxjbGFzcyBULCBjbGFzcyBILCBjbGFzcyBQLCBjbGFzcyBBPgorICAgIGZsb2F0IHVub3JkZXJlZF9tdWx0aXNldDxULEgsUCxBPjo6bG9hZF9mYWN0b3IoKSBjb25zdCBCT09TVF9OT0VYQ0VQVAorICAgIHsKKyAgICAgICAgcmV0dXJuIHRhYmxlXy5sb2FkX2ZhY3RvcigpOworICAgIH0KKworICAgIHRlbXBsYXRlIDxjbGFzcyBULCBjbGFzcyBILCBjbGFzcyBQLCBjbGFzcyBBPgorICAgIHZvaWQgdW5vcmRlcmVkX211bHRpc2V0PFQsSCxQLEE+OjptYXhfbG9hZF9mYWN0b3IoZmxvYXQgbSkgQk9PU1RfTk9FWENFUFQKKyAgICB7CisgICAgICAgIHRhYmxlXy5tYXhfbG9hZF9mYWN0b3IobSk7CisgICAgfQorCisgICAgdGVtcGxhdGUgPGNsYXNzIFQsIGNsYXNzIEgsIGNsYXNzIFAsIGNsYXNzIEE+CisgICAgdm9pZCB1bm9yZGVyZWRfbXVsdGlzZXQ8VCxILFAsQT46OnJlaGFzaChzaXplX3R5cGUgbikKKyAgICB7CisgICAgICAgIHRhYmxlXy5yZWhhc2gobik7CisgICAgfQorCisgICAgdGVtcGxhdGUgPGNsYXNzIFQsIGNsYXNzIEgsIGNsYXNzIFAsIGNsYXNzIEE+CisgICAgdm9pZCB1bm9yZGVyZWRfbXVsdGlzZXQ8VCxILFAsQT46OnJlc2VydmUoc2l6ZV90eXBlIG4pCisgICAgeworICAgICAgICB0YWJsZV8ucmVzZXJ2ZShuKTsKKyAgICB9CisKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVCwgY2xhc3MgSCwgY2xhc3MgUCwgY2xhc3MgQT4KKyAgICBpbmxpbmUgYm9vbCBvcGVyYXRvcj09KAorICAgICAgICAgICAgdW5vcmRlcmVkX211bHRpc2V0PFQsSCxQLEE+IGNvbnN0JiBtMSwKKyAgICAgICAgICAgIHVub3JkZXJlZF9tdWx0aXNldDxULEgsUCxBPiBjb25zdCYgbTIpCisgICAgeworI2lmIEJPT1NUX1dPUktBUk9VTkQoX19DT0RFR0VBUkNfXywgQk9PU1RfVEVTVEVEX0FUKDB4MDYxMykpCisgICAgICAgIHN0cnVjdCBkdW1teSB7IHVub3JkZXJlZF9tdWx0aXNldDxULEgsUCxBPiB4OyB9OworI2VuZGlmCisgICAgICAgIHJldHVybiBtMS50YWJsZV8uZXF1YWxzKG0yLnRhYmxlXyk7CisgICAgfQorCisgICAgdGVtcGxhdGUgPGNsYXNzIFQsIGNsYXNzIEgsIGNsYXNzIFAsIGNsYXNzIEE+CisgICAgaW5saW5lIGJvb2wgb3BlcmF0b3IhPSgKKyAgICAgICAgICAgIHVub3JkZXJlZF9tdWx0aXNldDxULEgsUCxBPiBjb25zdCYgbTEsCisgICAgICAgICAgICB1bm9yZGVyZWRfbXVsdGlzZXQ8VCxILFAsQT4gY29uc3QmIG0yKQorICAgIHsKKyNpZiBCT09TVF9XT1JLQVJPVU5EKF9fQ09ERUdFQVJDX18sIEJPT1NUX1RFU1RFRF9BVCgweDA2MTMpKQorICAgICAgICBzdHJ1Y3QgZHVtbXkgeyB1bm9yZGVyZWRfbXVsdGlzZXQ8VCxILFAsQT4geDsgfTsKKyNlbmRpZgorICAgICAgICByZXR1cm4gIW0xLnRhYmxlXy5lcXVhbHMobTIudGFibGVfKTsKKyAgICB9CisKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVCwgY2xhc3MgSCwgY2xhc3MgUCwgY2xhc3MgQT4KKyAgICBpbmxpbmUgdm9pZCBzd2FwKAorICAgICAgICAgICAgdW5vcmRlcmVkX211bHRpc2V0PFQsSCxQLEE+ICZtMSwKKyAgICAgICAgICAgIHVub3JkZXJlZF9tdWx0aXNldDxULEgsUCxBPiAmbTIpCisgICAgeworI2lmIEJPT1NUX1dPUktBUk9VTkQoX19DT0RFR0VBUkNfXywgQk9PU1RfVEVTVEVEX0FUKDB4MDYxMykpCisgICAgICAgIHN0cnVjdCBkdW1teSB7IHVub3JkZXJlZF9tdWx0aXNldDxULEgsUCxBPiB4OyB9OworI2VuZGlmCisgICAgICAgIG0xLnN3YXAobTIpOworICAgIH0KK30gLy8gbmFtZXNwYWNlIHVub3JkZXJlZAorfSAvLyBuYW1lc3BhY2UgbmRuYm9vc3QKKworI2lmIGRlZmluZWQoQk9PU1RfTVNWQykKKyNwcmFnbWEgd2FybmluZyhwb3ApCisjZW5kaWYKKworI2VuZGlmIC8vIEJPT1NUX1VOT1JERVJFRF9VTk9SREVSRURfU0VUX0hQUF9JTkNMVURFRApkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvdW5vcmRlcmVkL3Vub3JkZXJlZF9zZXRfZndkLmhwcCBiL25kbmJvb3N0L3Vub3JkZXJlZC91bm9yZGVyZWRfc2V0X2Z3ZC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjIyZjgzNwotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L3Vub3JkZXJlZC91bm9yZGVyZWRfc2V0X2Z3ZC5ocHAKQEAgLTAsMCArMSw2MyBAQAorCisvLyBDb3B5cmlnaHQgKEMpIDIwMDgtMjAxMSBEYW5pZWwgSmFtZXMuCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIChTZWUgYWNjb21wYW55aW5nCisvLyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKworI2lmbmRlZiBCT09TVF9VTk9SREVSRURfU0VUX0ZXRF9IUFBfSU5DTFVERUQKKyNkZWZpbmUgQk9PU1RfVU5PUkRFUkVEX1NFVF9GV0RfSFBQX0lOQ0xVREVECisKKyNpZiBkZWZpbmVkKF9NU0NfVkVSKSAmJiAoX01TQ19WRVIgPj0gMTAyMCkKKyMgcHJhZ21hIG9uY2UKKyNlbmRpZgorCisjaW5jbHVkZSA8bmRuYm9vc3QvY29uZmlnLmhwcD4KKyNpbmNsdWRlIDxtZW1vcnk+CisjaW5jbHVkZSA8ZnVuY3Rpb25hbD4KKyNpbmNsdWRlIDxuZG5ib29zdC9mdW5jdGlvbmFsL2hhc2hfZndkLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC91bm9yZGVyZWQvZGV0YWlsL2Z3ZC5ocHA+CisKK25hbWVzcGFjZSBuZG5ib29zdAoreworICAgIG5hbWVzcGFjZSB1bm9yZGVyZWQKKyAgICB7CisgICAgICAgIHRlbXBsYXRlIDxjbGFzcyBULAorICAgICAgICAgICAgY2xhc3MgSCA9IG5kbmJvb3N0OjpoYXNoPFQ+LAorICAgICAgICAgICAgY2xhc3MgUCA9IHN0ZDo6ZXF1YWxfdG88VD4sCisgICAgICAgICAgICBjbGFzcyBBID0gc3RkOjphbGxvY2F0b3I8VD4gPgorICAgICAgICBjbGFzcyB1bm9yZGVyZWRfc2V0OworCisgICAgICAgIHRlbXBsYXRlIDxjbGFzcyBULCBjbGFzcyBILCBjbGFzcyBQLCBjbGFzcyBBPgorICAgICAgICBpbmxpbmUgYm9vbCBvcGVyYXRvcj09KHVub3JkZXJlZF9zZXQ8VCwgSCwgUCwgQT4gY29uc3QmLAorICAgICAgICAgICAgdW5vcmRlcmVkX3NldDxULCBILCBQLCBBPiBjb25zdCYpOworICAgICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVCwgY2xhc3MgSCwgY2xhc3MgUCwgY2xhc3MgQT4KKyAgICAgICAgaW5saW5lIGJvb2wgb3BlcmF0b3IhPSh1bm9yZGVyZWRfc2V0PFQsIEgsIFAsIEE+IGNvbnN0JiwKKyAgICAgICAgICAgIHVub3JkZXJlZF9zZXQ8VCwgSCwgUCwgQT4gY29uc3QmKTsKKyAgICAgICAgdGVtcGxhdGUgPGNsYXNzIFQsIGNsYXNzIEgsIGNsYXNzIFAsIGNsYXNzIEE+CisgICAgICAgIGlubGluZSB2b2lkIHN3YXAodW5vcmRlcmVkX3NldDxULCBILCBQLCBBPiAmbTEsCisgICAgICAgICAgICAgICAgdW5vcmRlcmVkX3NldDxULCBILCBQLCBBPiAmbTIpOworCisgICAgICAgIHRlbXBsYXRlIDxjbGFzcyBULAorICAgICAgICAgICAgY2xhc3MgSCA9IG5kbmJvb3N0OjpoYXNoPFQ+LAorICAgICAgICAgICAgY2xhc3MgUCA9IHN0ZDo6ZXF1YWxfdG88VD4sCisgICAgICAgICAgICBjbGFzcyBBID0gc3RkOjphbGxvY2F0b3I8VD4gPgorICAgICAgICBjbGFzcyB1bm9yZGVyZWRfbXVsdGlzZXQ7CisKKyAgICAgICAgdGVtcGxhdGUgPGNsYXNzIFQsIGNsYXNzIEgsIGNsYXNzIFAsIGNsYXNzIEE+CisgICAgICAgIGlubGluZSBib29sIG9wZXJhdG9yPT0odW5vcmRlcmVkX211bHRpc2V0PFQsIEgsIFAsIEE+IGNvbnN0JiwKKyAgICAgICAgICAgIHVub3JkZXJlZF9tdWx0aXNldDxULCBILCBQLCBBPiBjb25zdCYpOworICAgICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVCwgY2xhc3MgSCwgY2xhc3MgUCwgY2xhc3MgQT4KKyAgICAgICAgaW5saW5lIGJvb2wgb3BlcmF0b3IhPSh1bm9yZGVyZWRfbXVsdGlzZXQ8VCwgSCwgUCwgQT4gY29uc3QmLAorICAgICAgICAgICAgdW5vcmRlcmVkX211bHRpc2V0PFQsIEgsIFAsIEE+IGNvbnN0Jik7CisgICAgICAgIHRlbXBsYXRlIDxjbGFzcyBULCBjbGFzcyBILCBjbGFzcyBQLCBjbGFzcyBBPgorICAgICAgICBpbmxpbmUgdm9pZCBzd2FwKHVub3JkZXJlZF9tdWx0aXNldDxULCBILCBQLCBBPiAmbTEsCisgICAgICAgICAgICAgICAgdW5vcmRlcmVkX211bHRpc2V0PFQsIEgsIFAsIEE+ICZtMik7CisgICAgfQorCisgICAgdXNpbmcgbmRuYm9vc3Q6OnVub3JkZXJlZDo6dW5vcmRlcmVkX3NldDsKKyAgICB1c2luZyBuZG5ib29zdDo6dW5vcmRlcmVkOjp1bm9yZGVyZWRfbXVsdGlzZXQ7CisgICAgdXNpbmcgbmRuYm9vc3Q6OnVub3JkZXJlZDo6c3dhcDsKKyAgICB1c2luZyBuZG5ib29zdDo6dW5vcmRlcmVkOjpvcGVyYXRvcj09OworICAgIHVzaW5nIG5kbmJvb3N0Ojp1bm9yZGVyZWQ6Om9wZXJhdG9yIT07Cit9CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvdW5vcmRlcmVkX3NldC5ocHAgYi9uZG5ib29zdC91bm9yZGVyZWRfc2V0LmhwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NmE0NjJkCi0tLSAvZGV2L251bGwKKysrIGIvbmRuYm9vc3QvdW5vcmRlcmVkX3NldC5ocHAKQEAgLTAsMCArMSwxOCBAQAorCisvLyBDb3B5cmlnaHQgKEMpIDIwMDMtMjAwNCBKZXJlbXkgQi4gTWFpdGluLVNoZXBhcmQuCisvLyBDb3B5cmlnaHQgKEMpIDIwMDUtMjAwOCBEYW5pZWwgSmFtZXMuCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIChTZWUgYWNjb21wYW55aW5nCisvLyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKworLy8gIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL3Vub3JkZXJlZCBmb3IgZG9jdW1lbnRhdGlvbgorCisjaWZuZGVmIEJPT1NUX1VOT1JERVJFRF9TRVRfSFBQX0lOQ0xVREVECisjZGVmaW5lIEJPT1NUX1VOT1JERVJFRF9TRVRfSFBQX0lOQ0xVREVECisKKyNpZiBkZWZpbmVkKF9NU0NfVkVSKSAmJiAoX01TQ19WRVIgPj0gMTAyMCkKKyMgcHJhZ21hIG9uY2UKKyNlbmRpZgorCisjaW5jbHVkZSA8bmRuYm9vc3QvdW5vcmRlcmVkL3Vub3JkZXJlZF9zZXQuaHBwPgorCisjZW5kaWYgLy8gQk9PU1RfVU5PUkRFUkVEX1NFVF9IUFBfSU5DTFVERUQKZGlmZiAtLWdpdCBhL25kbmJvb3N0L3V0aWxpdHkvYWRkcmVzc29mLmhwcCBiL25kbmJvb3N0L3V0aWxpdHkvYWRkcmVzc29mLmhwcAppbmRleCA4ZWRkYWI0Li4yMGQ1YjhjIDEwMDY0NAotLS0gYS9uZG5ib29zdC91dGlsaXR5L2FkZHJlc3NvZi5ocHAKKysrIGIvbmRuYm9vc3QvdXRpbGl0eS9hZGRyZXNzb2YuaHBwCkBAIC0xLDQgKzEsNCBAQAotLy8gQ29weXJpZ2h0IChDKSAyMDAyIEJyYWQgS2luZyAoYnJhZC5raW5nQGtpdHdhcmUuY29tKSAKKy8vIENvcHlyaWdodCAoQykgMjAwMiBCcmFkIEtpbmcgKGJyYWQua2luZ0BraXR3YXJlLmNvbSkKIC8vICAgICAgICAgICAgICAgICAgICBEb3VnbGFzIEdyZWdvciAoZ3JlZ29kQGNzLnJwaS5lZHUpCiAvLwogLy8gQ29weXJpZ2h0IChDKSAyMDAyLCAyMDA4IFBldGVyIERpbW92CkBAIC01MCw3ICs1MCw3IEBACiAKIHRlbXBsYXRlPGNsYXNzIFQ+IFQgKiBhZGRyZXNzb2YoIFQgJiB2ICkKIHsKLSNpZiBkZWZpbmVkKCBfX0JPUkxBTkRDX18gKSAmJiBCT09TVF9XT1JLQVJPVU5EKCBfX0JPUkxBTkRDX18sIEJPT1NUX1RFU1RFRF9BVCggMHg2MTAgKSApCisjaWYgKGRlZmluZWQoIF9fQk9STEFORENfXyApICYmIEJPT1NUX1dPUktBUk9VTkQoIF9fQk9STEFORENfXywgQk9PU1RfVEVTVEVEX0FUKCAweDYxMCApICkgKSB8fCBkZWZpbmVkKCBfX1NVTlBST19DQyApCiAKICAgICByZXR1cm4gbmRuYm9vc3Q6OmRldGFpbDo6YWRkcmVzc29mX2ltcGw8VD46OmYoIHYsIDAgKTsKIApkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvdXRpbGl0eS9kZWNsdmFsLmhwcCBiL25kbmJvb3N0L3V0aWxpdHkvZGVjbHZhbC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzIyMTU0YwotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L3V0aWxpdHkvZGVjbHZhbC5ocHAKQEAgLTAsMCArMSw0OSBAQAorLy8gIGNvbW1vbl90eXBlLmhwcCAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLy8KKworLy8gIENvcHlyaWdodCAyMDEwIFZpY2VudGUgSi4gQm90ZXQgRXNjcmliYQorCisvLyAgRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLgorLy8gIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQKKworI2lmbmRlZiBCT09TVF9UWVBFX1RSQUlUU19FWFRfREVDTFZBTF9fSFBQCisjZGVmaW5lIEJPT1NUX1RZUEVfVFJBSVRTX0VYVF9ERUNMVkFMX19IUFAKKworI2luY2x1ZGUgPG5kbmJvb3N0L2NvbmZpZy5ocHA+CisKKy8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS8vCisKKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9hZGRfcnZhbHVlX3JlZmVyZW5jZS5ocHA+CisvLyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9hZGRfbHZhbHVlX3JlZmVyZW5jZS5ocHA+CisKKy8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS8vCisvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLworLy8gICAgICAgICAgICAgICAgICAgICAgICAgICBDKyswMyBpbXBsZW1lbnRhdGlvbiBvZiAgICAgICAgICAgICAgICAgICAgICAgICAgLy8KKy8vICAgICAgICAgICAgICAgICAgICAgICAgICBXcml0dGVuIGJ5IFZpY2VudGUgSi4gQm90ZXQgRXNjcmliYSAgICAgICAgICAgICAgIC8vCisvL34gMjAuMy40IEZ1bmN0aW9uIHRlbXBsYXRlIGRlY2x2YWwgW2RlY2x2YWxdCisvL34gMSBUaGUgbGlicmFyeSBwcm92aWRlcyB0aGUgZnVuY3Rpb24gdGVtcGxhdGUgZGVjbHZhbCB0byBzaW1wbGlmeSB0aGUgZGVmaW5pdGlvbiBvZiBleHByZXNzaW9ucyB3aGljaCBvY2N1ciBhcworLy9+IHVuZXZhbHVhdGVkIG9wZXJhbmRzLgorLy9+IDIgUmVtYXJrczogSWYgdGhpcyBmdW5jdGlvbiBpcyB1c2VkLCB0aGUgcHJvZ3JhbSBpcyBpbGwtZm9ybWVkLgorLy9+IDMgUmVtYXJrczogVGhlIHRlbXBsYXRlIHBhcmFtZXRlciBUIG9mIGRlY2x2YWwgbWF5IGJlIGFuIGluY29tcGxldGUgdHlwZS4KKy8vfiBbIEV4YW1wbGU6CisKKy8vfiB0ZW1wbGF0ZSA8Y2xhc3MgVG8sIGNsYXNzIEZyb20+CisvL34gZGVjbHR5cGUoc3RhdGljX2Nhc3Q8VG8+KGRlY2x2YWw8RnJvbT4oKSkpIGNvbnZlcnQoRnJvbSYmKTsKKworLy9+IGRlY2xhcmVzIGEgZnVuY3Rpb24gdGVtcGxhdGUgY29udmVydCB3aGljaCBvbmx5IHBhcnRpY2lwYXRzIGluIG92ZXJsb2FkaW5nIGlmIHRoZSB0eXBlIEZyb20gY2FuIGJlCisvL34gZXhwbGljaXRseSBjb252ZXJ0ZWQgdG8gdHlwZSBUby4gRm9yIGFub3RoZXIgZXhhbXBsZSBzZWUgY2xhc3MgdGVtcGxhdGUgY29tbW9uX3R5cGUgKDIwLjcuNi42KS4gl2VuZAorLy9+IGV4YW1wbGUgXQorLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8KKy8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS8vCisKK25hbWVzcGFjZSBuZG5ib29zdCB7CisKKy8vI2lmICFkZWZpbmVkKEJPT1NUX05PX1JWQUxVRV9SRUZFUkVOQ0VTKQorICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgorICAgIHR5cGVuYW1lIGFkZF9ydmFsdWVfcmVmZXJlbmNlPFQ+Ojp0eXBlIGRlY2x2YWwoKSBCT09TVF9OT0VYQ0VQVDsgLy8gYXMgdW5ldmFsdWF0ZWQgb3BlcmFuZAorLy8jZWxzZQorLy8gICAgdGVtcGxhdGUgPHR5cGVuYW1lIFQ+CisvLyAgICB0eXBlbmFtZSBhZGRfbHZhbHVlX3JlZmVyZW5jZTxUPjo6dHlwZSBkZWNsdmFsKCkgQk9PU1RfTk9FWENFUFQ7IC8vIGFzIHVuZXZhbHVhdGVkIG9wZXJhbmQKKy8vI2VuZGlmCit9ICAvLyBuYW1lc3BhY2UgbmRuYm9vc3QKKworI2VuZGlmICAvLyBCT09TVF9UWVBFX1RSQUlUU19FWFRfREVDTFZBTF9fSFBQCmRpZmYgLS1naXQgYS9uZG5ib29zdC91dGlsaXR5L2RldGFpbC9yZXN1bHRfb2ZfaXRlcmF0ZS5ocHAgYi9uZG5ib29zdC91dGlsaXR5L2RldGFpbC9yZXN1bHRfb2ZfaXRlcmF0ZS5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2E5ZGMzZgotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L3V0aWxpdHkvZGV0YWlsL3Jlc3VsdF9vZl9pdGVyYXRlLmhwcApAQCAtMCwwICsxLDIwOCBAQAorLy8gQm9vc3QgcmVzdWx0X29mIGxpYnJhcnkKKworLy8gIENvcHlyaWdodCBEb3VnbGFzIEdyZWdvciAyMDA0LiBVc2UsIG1vZGlmaWNhdGlvbiBhbmQKKy8vICBkaXN0cmlidXRpb24gaXMgc3ViamVjdCB0byB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbgorLy8gIDEuMC4gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdAorLy8gIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKworLy8gIENvcHlyaWdodCBEYW5pZWwgV2Fsa2VyLCBFcmljIE5pZWJsZXIsIE1pY2hlbCBNb3JpbiAyMDA4LTIwMTIuCisvLyAgVXNlLCBtb2RpZmljYXRpb24gYW5kIGRpc3RyaWJ1dGlvbiBpcyBzdWJqZWN0IHRvIHRoZSBCb29zdCBTb2Z0d2FyZQorLy8gIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAoU2VlIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvcgorLy8gIGNvcHkgYXQgaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorCisvLyBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnL2xpYnMvdXRpbGl0eQorI2lmICFkZWZpbmVkKEJPT1NUX1BQX0lTX0lURVJBVElORykKKyMgZXJyb3IgQm9vc3QgcmVzdWx0X29mIC0gZG8gbm90IGluY2x1ZGUgdGhpcyBmaWxlIQorI2VuZGlmCisKKy8vIENXUHJvOCByZXF1aXJlcyBhbiBhcmd1bWVudCBpbiBhIGZ1bmN0aW9uIHR5cGUgc3BlY2lhbGl6YXRpb24KKyNpZiBCT09TVF9XT1JLQVJPVU5EKF9fTVdFUktTX18sIEJPT1NUX1RFU1RFRF9BVCgweDMwMDIpKSAmJiBCT09TVF9QUF9JVEVSQVRJT04oKSA9PSAwCisjIGRlZmluZSBCT09TVF9SRVNVTFRfT0ZfQVJHUyB2b2lkCisjZWxzZQorIyBkZWZpbmUgQk9PU1RfUkVTVUxUX09GX0FSR1MgQk9PU1RfUFBfRU5VTV9QQVJBTVMoQk9PU1RfUFBfSVRFUkFUSU9OKCksVCkKKyNlbmRpZgorCisjaWYgIUJPT1NUX1dPUktBUk9VTkQoX19CT1JMQU5EQ19fLCBCT09TVF9URVNURURfQVQoMHg1NTEpKQordGVtcGxhdGU8dHlwZW5hbWUgRiBCT09TVF9QUF9FTlVNX1RSQUlMSU5HX1BBUkFNUyhCT09TVF9QUF9JVEVSQVRJT04oKSx0eXBlbmFtZSBUKT4KK3N0cnVjdCB0cjFfcmVzdWx0X29mPEYoQk9PU1RfUkVTVUxUX09GX0FSR1MpPgorICAgIDogbXBsOjppZl88CisgICAgICAgICAgbXBsOjpvcl88IGlzX3BvaW50ZXI8Rj4sIGlzX21lbWJlcl9mdW5jdGlvbl9wb2ludGVyPEY+ID4KKyAgICAgICAgLCBuZG5ib29zdDo6ZGV0YWlsOjp0cjFfcmVzdWx0X29mX2ltcGw8CisgICAgICAgICAgICB0eXBlbmFtZSByZW1vdmVfY3Y8Rj46OnR5cGUsCisgICAgICAgICAgICB0eXBlbmFtZSByZW1vdmVfY3Y8Rj46OnR5cGUoQk9PU1RfUkVTVUxUX09GX0FSR1MpLAorICAgICAgICAgICAgKG5kbmJvb3N0OjpkZXRhaWw6Omhhc19yZXN1bHRfdHlwZTxGPjo6dmFsdWUpPgorICAgICAgICAsIG5kbmJvb3N0OjpkZXRhaWw6OnRyMV9yZXN1bHRfb2ZfaW1wbDwKKyAgICAgICAgICAgIEYsCisgICAgICAgICAgICBGKEJPT1NUX1JFU1VMVF9PRl9BUkdTKSwKKyAgICAgICAgICAgIChuZG5ib29zdDo6ZGV0YWlsOjpoYXNfcmVzdWx0X3R5cGU8Rj46OnZhbHVlKT4gPjo6dHlwZSB7IH07CisjZW5kaWYKKworI2lmZGVmIEJPT1NUX1JFU1VMVF9PRl9VU0VfREVDTFRZUEUKKworLy8gVXNlcyBkZWNsdmFsIGZvbGxvd2luZyBOMzIyNSAyMC43LjcuNiB3aGVuIEYgaXMgbm90IGEgcG9pbnRlci4KK3RlbXBsYXRlPHR5cGVuYW1lIEYgQk9PU1RfUFBfRU5VTV9UUkFJTElOR19QQVJBTVMoQk9PU1RfUFBfSVRFUkFUSU9OKCksdHlwZW5hbWUgVCk+CitzdHJ1Y3QgcmVzdWx0X29mPEYoQk9PU1RfUFBfRU5VTV9QQVJBTVMoQk9PU1RfUFBfSVRFUkFUSU9OKCksVCkpPgorICAgIDogbXBsOjppZl88CisgICAgICAgICAgaXNfbWVtYmVyX2Z1bmN0aW9uX3BvaW50ZXI8Rj4KKyAgICAgICAgLCBkZXRhaWw6OnRyMV9yZXN1bHRfb2ZfaW1wbDwKKyAgICAgICAgICAgIHR5cGVuYW1lIHJlbW92ZV9jdjxGPjo6dHlwZSwKKyAgICAgICAgICAgIHR5cGVuYW1lIHJlbW92ZV9jdjxGPjo6dHlwZShCT09TVF9QUF9FTlVNX1BBUkFNUyhCT09TVF9QUF9JVEVSQVRJT04oKSxUKSksIGZhbHNlCisgICAgICAgICAgPgorICAgICAgICAsIGRldGFpbDo6Y3BwMHhfcmVzdWx0X29mX2ltcGw8CisgICAgICAgICAgICAgIEYoQk9PU1RfUFBfRU5VTV9QQVJBTVMoQk9PU1RfUFBfSVRFUkFUSU9OKCksVCkpCisgICAgICAgICAgPgorICAgICAgPjo6dHlwZQore307CisKK25hbWVzcGFjZSBkZXRhaWwgeworCisjaWZkZWYgQk9PU1RfTk9fU0ZJTkFFX0VYUFIKKwordGVtcGxhdGU8dHlwZW5hbWUgRj4KK3N0cnVjdCBCT09TVF9QUF9DQVQocmVzdWx0X29mX2NhbGxhYmxlX2Z1bl8yXywgQk9PU1RfUFBfSVRFUkFUSU9OKCkpOworCit0ZW1wbGF0ZTx0eXBlbmFtZSBSIEJPT1NUX1BQX0VOVU1fVFJBSUxJTkdfUEFSQU1TKEJPT1NUX1BQX0lURVJBVElPTigpLCB0eXBlbmFtZSBUKT4KK3N0cnVjdCBCT09TVF9QUF9DQVQocmVzdWx0X29mX2NhbGxhYmxlX2Z1bl8yXywgQk9PU1RfUFBfSVRFUkFUSU9OKCkpPFIoQk9PU1RfUFBfRU5VTV9QQVJBTVMoQk9PU1RfUFBfSVRFUkFUSU9OKCksIFQpKT4geworICAgIFIgb3BlcmF0b3IoKShCT09TVF9QUF9FTlVNX1BBUkFNUyhCT09TVF9QUF9JVEVSQVRJT04oKSwgVCkpIGNvbnN0OworICAgIHR5cGVkZWYgcmVzdWx0X29mX3ByaXZhdGVfdHlwZSBjb25zdCAmKCpwZm5fdCkoLi4uKTsKKyAgICBvcGVyYXRvciBwZm5fdCgpIGNvbnN0IHZvbGF0aWxlOworfTsKKwordGVtcGxhdGU8dHlwZW5hbWUgRj4KK3N0cnVjdCBCT09TVF9QUF9DQVQocmVzdWx0X29mX2NhbGxhYmxlX2Z1bl8sIEJPT1NUX1BQX0lURVJBVElPTigpKTsKKwordGVtcGxhdGU8dHlwZW5hbWUgRj4KK3N0cnVjdCBCT09TVF9QUF9DQVQocmVzdWx0X29mX2NhbGxhYmxlX2Z1bl8sIEJPT1NUX1BQX0lURVJBVElPTigpKTxGICo+CisgIDogQk9PU1RfUFBfQ0FUKHJlc3VsdF9vZl9jYWxsYWJsZV9mdW5fMl8sIEJPT1NUX1BQX0lURVJBVElPTigpKTxGPgore307CisKK3RlbXBsYXRlPHR5cGVuYW1lIEY+CitzdHJ1Y3QgQk9PU1RfUFBfQ0FUKHJlc3VsdF9vZl9jYWxsYWJsZV9mdW5fLCBCT09TVF9QUF9JVEVSQVRJT04oKSk8RiAmPgorICA6IEJPT1NUX1BQX0NBVChyZXN1bHRfb2ZfY2FsbGFibGVfZnVuXzJfLCBCT09TVF9QUF9JVEVSQVRJT04oKSk8Rj4KK3t9OworCit0ZW1wbGF0ZTx0eXBlbmFtZSBGPgorc3RydWN0IEJPT1NUX1BQX0NBVChyZXN1bHRfb2Zfc2VsZWN0X2NhbGxfd3JhcHBlcl90eXBlXywgQk9PU1RfUFBfSVRFUkFUSU9OKCkpCisgIDogbXBsOjpldmFsX2lmPAorICAgICAgICBpc19jbGFzczx0eXBlbmFtZSByZW1vdmVfcmVmZXJlbmNlPEY+Ojp0eXBlPiwKKyAgICAgICAgcmVzdWx0X29mX3dyYXBfY2FsbGFibGVfY2xhc3M8Rj4sCisgICAgICAgIG1wbDo6aWRlbnRpdHk8Qk9PU1RfUFBfQ0FUKHJlc3VsdF9vZl9jYWxsYWJsZV9mdW5fLCBCT09TVF9QUF9JVEVSQVRJT04oKSk8dHlwZW5hbWUgcmVtb3ZlX2N2PEY+Ojp0eXBlPiA+CisgICAgPgore307CisKK3RlbXBsYXRlPHR5cGVuYW1lIEYgQk9PU1RfUFBfRU5VTV9UUkFJTElOR19QQVJBTVMoQk9PU1RfUFBfSVRFUkFUSU9OKCksIHR5cGVuYW1lIFQpPgorc3RydWN0IEJPT1NUX1BQX0NBVChyZXN1bHRfb2ZfaXNfY2FsbGFibGVfLCBCT09TVF9QUF9JVEVSQVRJT04oKSkgeworICAgIHR5cGVkZWYgdHlwZW5hbWUgQk9PU1RfUFBfQ0FUKHJlc3VsdF9vZl9zZWxlY3RfY2FsbF93cmFwcGVyX3R5cGVfLCBCT09TVF9QUF9JVEVSQVRJT04oKSk8Rj46OnR5cGUgd3JhcHBlcl90OworICAgIHN0YXRpYyBjb25zdCBib29sIHZhbHVlID0gKAorICAgICAgICBzaXplb2YocmVzdWx0X29mX25vX3R5cGUpID09IHNpemVvZihkZXRhaWw6OnJlc3VsdF9vZl9pc19wcml2YXRlX3R5cGUoCisgICAgICAgICAgICAobmRuYm9vc3Q6OmRlY2x2YWw8d3JhcHBlcl90PigpKEJPT1NUX1BQX0VOVU1fQklOQVJZX1BBUkFNUyhCT09TVF9QUF9JVEVSQVRJT04oKSwgbmRuYm9vc3Q6OmRlY2x2YWw8VCwgPigpIEJPT1NUX1BQX0lOVEVSQ0VQVCkpLCByZXN1bHRfb2Zfd2VpcmRfdHlwZSgpKQorICAgICAgICApKQorICAgICk7CisgICAgdHlwZWRlZiBtcGw6OmJvb2xfPHZhbHVlPiB0eXBlOworfTsKKwordGVtcGxhdGU8dHlwZW5hbWUgRiBCT09TVF9QUF9FTlVNX1RSQUlMSU5HX1BBUkFNUyhCT09TVF9QUF9JVEVSQVRJT04oKSx0eXBlbmFtZSBUKT4KK3N0cnVjdCBjcHAweF9yZXN1bHRfb2ZfaW1wbDxGKEJPT1NUX1BQX0VOVU1fUEFSQU1TKEJPT1NUX1BQX0lURVJBVElPTigpLFQpKSwgdHJ1ZT4KKyAgICA6IGxhenlfZW5hYmxlX2lmPAorICAgICAgICAgIEJPT1NUX1BQX0NBVChyZXN1bHRfb2ZfaXNfY2FsbGFibGVfLCBCT09TVF9QUF9JVEVSQVRJT04oKSk8RiBCT09TVF9QUF9FTlVNX1RSQUlMSU5HX1BBUkFNUyhCT09TVF9QUF9JVEVSQVRJT04oKSwgVCk+CisgICAgICAgICwgY3BwMHhfcmVzdWx0X29mX2ltcGw8RihCT09TVF9QUF9FTlVNX1BBUkFNUyhCT09TVF9QUF9JVEVSQVRJT04oKSxUKSksIGZhbHNlPgorICAgICAgPgore307CisKK3RlbXBsYXRlPHR5cGVuYW1lIEYgQk9PU1RfUFBfRU5VTV9UUkFJTElOR19QQVJBTVMoQk9PU1RfUFBfSVRFUkFUSU9OKCksdHlwZW5hbWUgVCk+CitzdHJ1Y3QgY3BwMHhfcmVzdWx0X29mX2ltcGw8RihCT09TVF9QUF9FTlVNX1BBUkFNUyhCT09TVF9QUF9JVEVSQVRJT04oKSxUKSksIGZhbHNlPgoreworICB0eXBlZGVmIGRlY2x0eXBlKAorICAgIG5kbmJvb3N0OjpkZWNsdmFsPEY+KCkoCisgICAgICBCT09TVF9QUF9FTlVNX0JJTkFSWV9QQVJBTVMoQk9PU1RfUFBfSVRFUkFUSU9OKCksIG5kbmJvb3N0OjpkZWNsdmFsPFQsID4oKSBCT09TVF9QUF9JTlRFUkNFUFQpCisgICAgKQorICApIHR5cGU7Cit9OworCisjZWxzZSAvLyBCT09TVF9OT19TRklOQUVfRVhQUgorCit0ZW1wbGF0ZTx0eXBlbmFtZSBGIEJPT1NUX1BQX0VOVU1fVFJBSUxJTkdfUEFSQU1TKEJPT1NUX1BQX0lURVJBVElPTigpLHR5cGVuYW1lIFQpPgorc3RydWN0IGNwcDB4X3Jlc3VsdF9vZl9pbXBsPEYoQk9PU1RfUFBfRU5VTV9QQVJBTVMoQk9PU1RfUFBfSVRFUkFUSU9OKCksVCkpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGVuYW1lIHJlc3VsdF9vZl9hbHdheXNfdm9pZDxkZWNsdHlwZSgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmRuYm9vc3Q6OmRlY2x2YWw8Rj4oKSgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJPT1NUX1BQX0VOVU1fQklOQVJZX1BBUkFNUyhCT09TVF9QUF9JVEVSQVRJT04oKSwgbmRuYm9vc3Q6OmRlY2x2YWw8VCwgPigpIEJPT1NUX1BQX0lOVEVSQ0VQVCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICk+Ojp0eXBlPiB7CisgIHR5cGVkZWYgZGVjbHR5cGUoCisgICAgbmRuYm9vc3Q6OmRlY2x2YWw8Rj4oKSgKKyAgICAgIEJPT1NUX1BQX0VOVU1fQklOQVJZX1BBUkFNUyhCT09TVF9QUF9JVEVSQVRJT04oKSwgbmRuYm9vc3Q6OmRlY2x2YWw8VCwgPigpIEJPT1NUX1BQX0lOVEVSQ0VQVCkKKyAgICApCisgICkgdHlwZTsKK307CisKKyNlbmRpZiAvLyBCT09TVF9OT19TRklOQUVfRVhQUgorCit9IC8vIG5hbWVzcGFjZSBkZXRhaWwKKworI2Vsc2UgLy8gZGVmaW5lZChCT09TVF9SRVNVTFRfT0ZfVVNFX0RFQ0xUWVBFKQorCisjaWYgIUJPT1NUX1dPUktBUk9VTkQoX19CT1JMQU5EQ19fLCBCT09TVF9URVNURURfQVQoMHg1NTEpKQordGVtcGxhdGU8dHlwZW5hbWUgRiBCT09TVF9QUF9FTlVNX1RSQUlMSU5HX1BBUkFNUyhCT09TVF9QUF9JVEVSQVRJT04oKSx0eXBlbmFtZSBUKT4KK3N0cnVjdCByZXN1bHRfb2Y8RihCT09TVF9SRVNVTFRfT0ZfQVJHUyk+CisgICAgOiB0cjFfcmVzdWx0X29mPEYoQk9PU1RfUkVTVUxUX09GX0FSR1MpPiB7IH07CisjZW5kaWYKKworI2VuZGlmIC8vIGRlZmluZWQoQk9PU1RfUkVTVUxUX09GX1VTRV9ERUNMVFlQRSkKKworI3VuZGVmIEJPT1NUX1JFU1VMVF9PRl9BUkdTCisKKyNpZiBCT09TVF9QUF9JVEVSQVRJT04oKSA+PSAxCisKK25hbWVzcGFjZSBkZXRhaWwgeworCit0ZW1wbGF0ZTx0eXBlbmFtZSBSLCAgdHlwZW5hbWUgRkFyZ3MgQk9PU1RfUFBfRU5VTV9UUkFJTElOR19QQVJBTVMoQk9PU1RfUFBfSVRFUkFUSU9OKCksdHlwZW5hbWUgVCk+CitzdHJ1Y3QgdHIxX3Jlc3VsdF9vZl9pbXBsPFIgKCopKEJPT1NUX1BQX0VOVU1fUEFSQU1TKEJPT1NUX1BQX0lURVJBVElPTigpLFQpKSwgRkFyZ3MsIGZhbHNlPgoreworICB0eXBlZGVmIFIgdHlwZTsKK307CisKK3RlbXBsYXRlPHR5cGVuYW1lIFIsICB0eXBlbmFtZSBGQXJncyBCT09TVF9QUF9FTlVNX1RSQUlMSU5HX1BBUkFNUyhCT09TVF9QUF9JVEVSQVRJT04oKSx0eXBlbmFtZSBUKT4KK3N0cnVjdCB0cjFfcmVzdWx0X29mX2ltcGw8UiAoJikoQk9PU1RfUFBfRU5VTV9QQVJBTVMoQk9PU1RfUFBfSVRFUkFUSU9OKCksVCkpLCBGQXJncywgZmFsc2U+Cit7CisgIHR5cGVkZWYgUiB0eXBlOworfTsKKworI2lmICFCT09TVF9XT1JLQVJPVU5EKF9fQk9STEFORENfXywgQk9PU1RfVEVTVEVEX0FUKDB4NTUxKSkKK3RlbXBsYXRlPHR5cGVuYW1lIFIsIHR5cGVuYW1lIEZBcmdzIEJPT1NUX1BQX0VOVU1fVFJBSUxJTkdfUEFSQU1TKEJPT1NUX1BQX0lURVJBVElPTigpLHR5cGVuYW1lIFQpPgorc3RydWN0IHRyMV9yZXN1bHRfb2ZfaW1wbDxSIChUMDo6KikKKyAgICAgICAgICAgICAgICAgICAgIChCT09TVF9QUF9FTlVNX1NISUZURURfUEFSQU1TKEJPT1NUX1BQX0lURVJBVElPTigpLFQpKSwKKyAgICAgICAgICAgICAgICAgRkFyZ3MsIGZhbHNlPgoreworICB0eXBlZGVmIFIgdHlwZTsKK307CisKK3RlbXBsYXRlPHR5cGVuYW1lIFIsIHR5cGVuYW1lIEZBcmdzIEJPT1NUX1BQX0VOVU1fVFJBSUxJTkdfUEFSQU1TKEJPT1NUX1BQX0lURVJBVElPTigpLHR5cGVuYW1lIFQpPgorc3RydWN0IHRyMV9yZXN1bHRfb2ZfaW1wbDxSIChUMDo6KikKKyAgICAgICAgICAgICAgICAgICAgIChCT09TVF9QUF9FTlVNX1NISUZURURfUEFSQU1TKEJPT1NUX1BQX0lURVJBVElPTigpLFQpKQorICAgICAgICAgICAgICAgICAgICAgY29uc3QsCisgICAgICAgICAgICAgICAgIEZBcmdzLCBmYWxzZT4KK3sKKyAgdHlwZWRlZiBSIHR5cGU7Cit9OworCit0ZW1wbGF0ZTx0eXBlbmFtZSBSLCB0eXBlbmFtZSBGQXJncyBCT09TVF9QUF9FTlVNX1RSQUlMSU5HX1BBUkFNUyhCT09TVF9QUF9JVEVSQVRJT04oKSx0eXBlbmFtZSBUKT4KK3N0cnVjdCB0cjFfcmVzdWx0X29mX2ltcGw8UiAoVDA6OiopCisgICAgICAgICAgICAgICAgICAgICAoQk9PU1RfUFBfRU5VTV9TSElGVEVEX1BBUkFNUyhCT09TVF9QUF9JVEVSQVRJT04oKSxUKSkKKyAgICAgICAgICAgICAgICAgICAgIHZvbGF0aWxlLAorICAgICAgICAgICAgICAgICBGQXJncywgZmFsc2U+Cit7CisgIHR5cGVkZWYgUiB0eXBlOworfTsKKwordGVtcGxhdGU8dHlwZW5hbWUgUiwgdHlwZW5hbWUgRkFyZ3MgQk9PU1RfUFBfRU5VTV9UUkFJTElOR19QQVJBTVMoQk9PU1RfUFBfSVRFUkFUSU9OKCksdHlwZW5hbWUgVCk+CitzdHJ1Y3QgdHIxX3Jlc3VsdF9vZl9pbXBsPFIgKFQwOjoqKQorICAgICAgICAgICAgICAgICAgICAgKEJPT1NUX1BQX0VOVU1fU0hJRlRFRF9QQVJBTVMoQk9PU1RfUFBfSVRFUkFUSU9OKCksVCkpCisgICAgICAgICAgICAgICAgICAgICBjb25zdCB2b2xhdGlsZSwKKyAgICAgICAgICAgICAgICAgRkFyZ3MsIGZhbHNlPgoreworICB0eXBlZGVmIFIgdHlwZTsKK307CisjZW5kaWYKKworfQorI2VuZGlmCmRpZmYgLS1naXQgYS9uZG5ib29zdC91dGlsaXR5L2VuYWJsZV9pZi5ocHAgYi9uZG5ib29zdC91dGlsaXR5L2VuYWJsZV9pZi5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODVlZDI5MgotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L3V0aWxpdHkvZW5hYmxlX2lmLmhwcApAQCAtMCwwICsxLDExOSBAQAorLy8gQm9vc3QgZW5hYmxlX2lmIGxpYnJhcnkKKworLy8gQ29weXJpZ2h0IDIwMDMgKGMpIFRoZSBUcnVzdGVlcyBvZiBJbmRpYW5hIFVuaXZlcnNpdHkuCisKKy8vIFVzZSwgbW9kaWZpY2F0aW9uLCBhbmQgZGlzdHJpYnV0aW9uIGlzIHN1YmplY3QgdG8gdGhlIEJvb3N0IFNvZnR3YXJlCisvLyBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdAorLy8gaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQorCisvLyAgICBBdXRob3JzOiBKYWFra28gSmFydmkgKGphamFydmkgYXQgb3NsLml1LmVkdSkKKy8vICAgICAgICAgICAgIEplcmVtaWFoIFdpbGxjb2NrIChqZXdpbGxjbyBhdCBvc2wuaXUuZWR1KQorLy8gICAgICAgICAgICAgQW5kcmV3IEx1bXNkYWluZSAobHVtcyBhdCBvc2wuaXUuZWR1KQorCisKKyNpZm5kZWYgQk9PU1RfVVRJTElUWV9FTkFCTEVfSUZfSFBQCisjZGVmaW5lIEJPT1NUX1VUSUxJVFlfRU5BQkxFX0lGX0hQUAorCisjaW5jbHVkZSAibmRuYm9vc3QvY29uZmlnLmhwcCIKKworLy8gRXZlbiB0aGUgZGVmaW5pdGlvbiBvZiBlbmFibGVfaWYgY2F1c2VzIHByb2JsZW1zIG9uIHNvbWUgY29tcGlsZXJzLAorLy8gc28gaXQncyBtYWNyb2VkIG91dCBmb3IgYWxsIGNvbXBpbGVycyB0aGF0IGRvIG5vdCBzdXBwb3J0IFNGSU5BRQorCisjaWZuZGVmIEJPT1NUX05PX1NGSU5BRQorCituYW1lc3BhY2UgbmRuYm9vc3QKK3sKKyAKKyAgdGVtcGxhdGUgPGJvb2wgQiwgY2xhc3MgVCA9IHZvaWQ+CisgIHN0cnVjdCBlbmFibGVfaWZfYyB7CisgICAgdHlwZWRlZiBUIHR5cGU7CisgIH07CisKKyAgdGVtcGxhdGUgPGNsYXNzIFQ+CisgIHN0cnVjdCBlbmFibGVfaWZfYzxmYWxzZSwgVD4ge307CisKKyAgdGVtcGxhdGUgPGNsYXNzIENvbmQsIGNsYXNzIFQgPSB2b2lkPiAKKyAgc3RydWN0IGVuYWJsZV9pZiA6IHB1YmxpYyBlbmFibGVfaWZfYzxDb25kOjp2YWx1ZSwgVD4ge307CisKKyAgdGVtcGxhdGUgPGJvb2wgQiwgY2xhc3MgVD4KKyAgc3RydWN0IGxhenlfZW5hYmxlX2lmX2MgeworICAgIHR5cGVkZWYgdHlwZW5hbWUgVDo6dHlwZSB0eXBlOworICB9OworCisgIHRlbXBsYXRlIDxjbGFzcyBUPgorICBzdHJ1Y3QgbGF6eV9lbmFibGVfaWZfYzxmYWxzZSwgVD4ge307CisKKyAgdGVtcGxhdGUgPGNsYXNzIENvbmQsIGNsYXNzIFQ+IAorICBzdHJ1Y3QgbGF6eV9lbmFibGVfaWYgOiBwdWJsaWMgbGF6eV9lbmFibGVfaWZfYzxDb25kOjp2YWx1ZSwgVD4ge307CisKKworICB0ZW1wbGF0ZSA8Ym9vbCBCLCBjbGFzcyBUID0gdm9pZD4KKyAgc3RydWN0IGRpc2FibGVfaWZfYyB7CisgICAgdHlwZWRlZiBUIHR5cGU7CisgIH07CisKKyAgdGVtcGxhdGUgPGNsYXNzIFQ+CisgIHN0cnVjdCBkaXNhYmxlX2lmX2M8dHJ1ZSwgVD4ge307CisKKyAgdGVtcGxhdGUgPGNsYXNzIENvbmQsIGNsYXNzIFQgPSB2b2lkPiAKKyAgc3RydWN0IGRpc2FibGVfaWYgOiBwdWJsaWMgZGlzYWJsZV9pZl9jPENvbmQ6OnZhbHVlLCBUPiB7fTsKKworICB0ZW1wbGF0ZSA8Ym9vbCBCLCBjbGFzcyBUPgorICBzdHJ1Y3QgbGF6eV9kaXNhYmxlX2lmX2MgeworICAgIHR5cGVkZWYgdHlwZW5hbWUgVDo6dHlwZSB0eXBlOworICB9OworCisgIHRlbXBsYXRlIDxjbGFzcyBUPgorICBzdHJ1Y3QgbGF6eV9kaXNhYmxlX2lmX2M8dHJ1ZSwgVD4ge307CisKKyAgdGVtcGxhdGUgPGNsYXNzIENvbmQsIGNsYXNzIFQ+IAorICBzdHJ1Y3QgbGF6eV9kaXNhYmxlX2lmIDogcHVibGljIGxhenlfZGlzYWJsZV9pZl9jPENvbmQ6OnZhbHVlLCBUPiB7fTsKKworfSAvLyBuYW1lc3BhY2UgbmRuYm9vc3QKKworI2Vsc2UKKworbmFtZXNwYWNlIG5kbmJvb3N0IHsKKworICBuYW1lc3BhY2UgZGV0YWlsIHsgdHlwZWRlZiB2b2lkIGVuYWJsZV9pZl9kZWZhdWx0X1Q7IH0KKworICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KKyAgc3RydWN0IGVuYWJsZV9pZl9kb2VzX25vdF93b3JrX29uX3RoaXNfY29tcGlsZXI7CisKKyAgdGVtcGxhdGUgPGJvb2wgQiwgY2xhc3MgVCA9IGRldGFpbDo6ZW5hYmxlX2lmX2RlZmF1bHRfVD4KKyAgc3RydWN0IGVuYWJsZV9pZl9jIDogZW5hYmxlX2lmX2RvZXNfbm90X3dvcmtfb25fdGhpc19jb21waWxlcjxUPgorICB7IH07CisKKyAgdGVtcGxhdGUgPGJvb2wgQiwgY2xhc3MgVCA9IGRldGFpbDo6ZW5hYmxlX2lmX2RlZmF1bHRfVD4gCisgIHN0cnVjdCBkaXNhYmxlX2lmX2MgOiBlbmFibGVfaWZfZG9lc19ub3Rfd29ya19vbl90aGlzX2NvbXBpbGVyPFQ+CisgIHsgfTsKKworICB0ZW1wbGF0ZSA8Ym9vbCBCLCBjbGFzcyBUID0gZGV0YWlsOjplbmFibGVfaWZfZGVmYXVsdF9UPiAKKyAgc3RydWN0IGxhenlfZW5hYmxlX2lmX2MgOiBlbmFibGVfaWZfZG9lc19ub3Rfd29ya19vbl90aGlzX2NvbXBpbGVyPFQ+CisgIHsgfTsKKworICB0ZW1wbGF0ZSA8Ym9vbCBCLCBjbGFzcyBUID0gZGV0YWlsOjplbmFibGVfaWZfZGVmYXVsdF9UPiAKKyAgc3RydWN0IGxhenlfZGlzYWJsZV9pZl9jIDogZW5hYmxlX2lmX2RvZXNfbm90X3dvcmtfb25fdGhpc19jb21waWxlcjxUPgorICB7IH07CisKKyAgdGVtcGxhdGUgPGNsYXNzIENvbmQsIGNsYXNzIFQgPSBkZXRhaWw6OmVuYWJsZV9pZl9kZWZhdWx0X1Q+IAorICBzdHJ1Y3QgZW5hYmxlX2lmIDogZW5hYmxlX2lmX2RvZXNfbm90X3dvcmtfb25fdGhpc19jb21waWxlcjxUPgorICB7IH07CisKKyAgdGVtcGxhdGUgPGNsYXNzIENvbmQsIGNsYXNzIFQgPSBkZXRhaWw6OmVuYWJsZV9pZl9kZWZhdWx0X1Q+IAorICBzdHJ1Y3QgZGlzYWJsZV9pZiA6IGVuYWJsZV9pZl9kb2VzX25vdF93b3JrX29uX3RoaXNfY29tcGlsZXI8VD4KKyAgeyB9OworCisgIHRlbXBsYXRlIDxjbGFzcyBDb25kLCBjbGFzcyBUID0gZGV0YWlsOjplbmFibGVfaWZfZGVmYXVsdF9UPiAKKyAgc3RydWN0IGxhenlfZW5hYmxlX2lmIDogZW5hYmxlX2lmX2RvZXNfbm90X3dvcmtfb25fdGhpc19jb21waWxlcjxUPgorICB7IH07CisKKyAgdGVtcGxhdGUgPGNsYXNzIENvbmQsIGNsYXNzIFQgPSBkZXRhaWw6OmVuYWJsZV9pZl9kZWZhdWx0X1Q+IAorICBzdHJ1Y3QgbGF6eV9kaXNhYmxlX2lmIDogZW5hYmxlX2lmX2RvZXNfbm90X3dvcmtfb25fdGhpc19jb21waWxlcjxUPgorICB7IH07CisKK30gLy8gbmFtZXNwYWNlIG5kbmJvb3N0CisKKyNlbmRpZiAvLyBCT09TVF9OT19TRklOQUUKKworI2VuZGlmCmRpZmYgLS1naXQgYS9uZG5ib29zdC91dGlsaXR5L3Jlc3VsdF9vZi5ocHAgYi9uZG5ib29zdC91dGlsaXR5L3Jlc3VsdF9vZi5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2NjMmVjNgotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L3V0aWxpdHkvcmVzdWx0X29mLmhwcApAQCAtMCwwICsxLDE5NCBAQAorLy8gQm9vc3QgcmVzdWx0X29mIGxpYnJhcnkKKworLy8gIENvcHlyaWdodCBEb3VnbGFzIEdyZWdvciAyMDA0LiBVc2UsIG1vZGlmaWNhdGlvbiBhbmQKKy8vICBkaXN0cmlidXRpb24gaXMgc3ViamVjdCB0byB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbgorLy8gIDEuMC4gKFNlZSBhY2NvbXBhbnlpbmcgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdAorLy8gIGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKworLy8gRm9yIG1vcmUgaW5mb3JtYXRpb24sIHNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL3V0aWxpdHkKKyNpZm5kZWYgQk9PU1RfUkVTVUxUX09GX0hQUAorI2RlZmluZSBCT09TVF9SRVNVTFRfT0ZfSFBQCisKKyNpbmNsdWRlIDxuZG5ib29zdC9jb25maWcuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9jYXQuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9pdGVyYXRpb24vaXRlcmF0ZS5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvcHJlcHJvY2Vzc29yL3JlcGV0aXRpb24vZW51bV9wYXJhbXMuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9yZXBldGl0aW9uL2VudW1fdHJhaWxpbmdfcGFyYW1zLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9wcmVwcm9jZXNzb3IvcmVwZXRpdGlvbi9lbnVtX2JpbmFyeV9wYXJhbXMuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9yZXBldGl0aW9uL2VudW1fc2hpZnRlZF9wYXJhbXMuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3ByZXByb2Nlc3Nvci9mYWNpbGl0aWVzL2ludGVyY2VwdC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvZGV0YWlsL3dvcmthcm91bmQuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9oYXNfeHh4LmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvaWYuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L21wbC9ldmFsX2lmLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvYm9vbC5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvbXBsL2lkZW50aXR5LmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC9tcGwvb3IuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3R5cGVfdHJhaXRzL2lzX2NsYXNzLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9pc19wb2ludGVyLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9pc19tZW1iZXJfZnVuY3Rpb25fcG9pbnRlci5ocHA+CisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvcmVtb3ZlX2N2LmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC90eXBlX3RyYWl0cy9yZW1vdmVfcmVmZXJlbmNlLmhwcD4KKyNpbmNsdWRlIDxuZG5ib29zdC91dGlsaXR5L2RlY2x2YWwuaHBwPgorI2luY2x1ZGUgPG5kbmJvb3N0L3V0aWxpdHkvZW5hYmxlX2lmLmhwcD4KKworI2lmbmRlZiBCT09TVF9SRVNVTFRfT0ZfTlVNX0FSR1MKKyMgIGRlZmluZSBCT09TVF9SRVNVTFRfT0ZfTlVNX0FSR1MgMTYKKyNlbmRpZgorCisvLyBVc2UgdGhlIGRlY2x0eXBlLWJhc2VkIHZlcnNpb24gb2YgcmVzdWx0X29mIGJ5IGRlZmF1bHQgaWYgdGhlIGNvbXBpbGVyCisvLyBzdXBwb3J0cyBOMzI3NiA8aHR0cDovL3d3dy5vcGVuLXN0ZC5vcmcvSlRDMS9TQzIyL1dHMjEvZG9jcy9wYXBlcnMvMjAxMS9uMzI3Ni5wZGY+LgorLy8gVGhlIHVzZXIgY2FuIGZvcmNlIHRoZSBjaG9pY2UgYnkgZGVmaW5pbmcgZWl0aGVyIEJPT1NUX1JFU1VMVF9PRl9VU0VfREVDTFRZUEUgb3IKKy8vIEJPT1NUX1JFU1VMVF9PRl9VU0VfVFIxLCBidXQgbm90IGJvdGghCisjaWYgZGVmaW5lZChCT09TVF9SRVNVTFRfT0ZfVVNFX0RFQ0xUWVBFKSAmJiBkZWZpbmVkKEJPT1NUX1JFU1VMVF9PRl9VU0VfVFIxKQorIyAgZXJyb3IgQm90aCBCT09TVF9SRVNVTFRfT0ZfVVNFX0RFQ0xUWVBFIGFuZCBCT09TVF9SRVNVTFRfT0ZfVVNFX1RSMSBjYW5ub3QgYmUgZGVmaW5lZCBhdCB0aGUgc2FtZSB0aW1lLgorI2VuZGlmCisKKyNpZm5kZWYgQk9PU1RfUkVTVUxUX09GX1VTRV9UUjEKKyMgIGlmbmRlZiBCT09TVF9SRVNVTFRfT0ZfVVNFX0RFQ0xUWVBFCisjICAgIGlmbmRlZiBCT09TVF9OT19DWFgxMV9ERUNMVFlQRV9OMzI3NiAvLyB0aGlzIGltcGxpZXMgIWRlZmluZWQoQk9PU1RfTk9fQ1hYMTFfREVDTFRZUEUpCisjICAgICAgZGVmaW5lIEJPT1NUX1JFU1VMVF9PRl9VU0VfREVDTFRZUEUKKyMgICAgZWxzZQorIyAgICAgIGRlZmluZSBCT09TVF9SRVNVTFRfT0ZfVVNFX1RSMQorIyAgICBlbmRpZgorIyAgZW5kaWYKKyNlbmRpZgorCituYW1lc3BhY2UgbmRuYm9vc3QgeworCit0ZW1wbGF0ZTx0eXBlbmFtZSBGPiBzdHJ1Y3QgcmVzdWx0X29mOwordGVtcGxhdGU8dHlwZW5hbWUgRj4gc3RydWN0IHRyMV9yZXN1bHRfb2Y7IC8vIGEgVFIxLXN0eWxlIGltcGxlbWVudGF0aW9uIG9mIHJlc3VsdF9vZgorCisjaWYgIWRlZmluZWQoQk9PU1RfTk9fU0ZJTkFFKSAmJiAhZGVmaW5lZChCT09TVF9OT19URU1QTEFURV9QQVJUSUFMX1NQRUNJQUxJWkFUSU9OKQorbmFtZXNwYWNlIGRldGFpbCB7CisKK0JPT1NUX01QTF9IQVNfWFhYX1RSQUlUX0RFRihyZXN1bHRfdHlwZSkKKwordGVtcGxhdGU8dHlwZW5hbWUgRiwgdHlwZW5hbWUgRkFyZ3MsIGJvb2wgSGFzUmVzdWx0VHlwZT4gc3RydWN0IHRyMV9yZXN1bHRfb2ZfaW1wbDsKKworI2lmZGVmIEJPT1NUX05PX1NGSU5BRV9FWFBSCisKKy8vIFRoZXJlIGRvZXNuJ3Qgc2VlbSB0byBiZSBhbnkgb3RoZXIgd2F5IHRvIHR1cm4gdGhpcyBvZmYgc3VjaCB0aGF0IHRoZSBwcmVzZW5jZSBvZgorLy8gdGhlIHVzZXItZGVmaW5lZCBvcGVyYXRvciwoKSBiZWxvdyBkb2Vzbid0IGNhdXNlIHNwdXJpb3VzIHdhcm5pbmcgYWxsIG92ZXIgdGhlIHBsYWNlLAorLy8gc28gdW5jb25kaXRpb25hbGx5IHR1cm4gaXQgb2ZmLgorI2lmIEJPT1NUX01TVkMKKyMgIHByYWdtYSB3YXJuaW5nKGRpc2FibGU6IDQ5MTMpIC8vIHVzZXIgZGVmaW5lZCBiaW5hcnkgb3BlcmF0b3IgJywnIGV4aXN0cyBidXQgbm8gb3ZlcmxvYWQgY291bGQgY29udmVydCBhbGwgb3BlcmFuZHMsIGRlZmF1bHQgYnVpbHQtaW4gYmluYXJ5IG9wZXJhdG9yICcsJyB1c2VkCisjZW5kaWYKKworc3RydWN0IHJlc3VsdF9vZl9wcml2YXRlX3R5cGUge307CisKK3N0cnVjdCByZXN1bHRfb2Zfd2VpcmRfdHlwZSB7CisgIGZyaWVuZCByZXN1bHRfb2ZfcHJpdmF0ZV90eXBlIG9wZXJhdG9yLChyZXN1bHRfb2ZfcHJpdmF0ZV90eXBlLCByZXN1bHRfb2Zfd2VpcmRfdHlwZSk7Cit9OworCit0eXBlZGVmIGNoYXIgcmVzdWx0X29mX3llc190eXBlOyAgICAgIC8vIHNpemVvZihyZXN1bHRfb2ZfeWVzX3R5cGUpID09IDEKK3R5cGVkZWYgY2hhciAoJnJlc3VsdF9vZl9ub190eXBlKVsyXTsgLy8gc2l6ZW9mKHJlc3VsdF9vZl9ub190eXBlKSAgPT0gMgorCit0ZW1wbGF0ZTx0eXBlbmFtZSBUPgorcmVzdWx0X29mX25vX3R5cGUgcmVzdWx0X29mX2lzX3ByaXZhdGVfdHlwZShUIGNvbnN0ICYpOworcmVzdWx0X29mX3llc190eXBlIHJlc3VsdF9vZl9pc19wcml2YXRlX3R5cGUocmVzdWx0X29mX3ByaXZhdGVfdHlwZSk7CisKK3RlbXBsYXRlPHR5cGVuYW1lIEM+CitzdHJ1Y3QgcmVzdWx0X29mX2NhbGxhYmxlX2NsYXNzIDogQyB7CisgICAgcmVzdWx0X29mX2NhbGxhYmxlX2NsYXNzKCk7CisgICAgdHlwZWRlZiByZXN1bHRfb2ZfcHJpdmF0ZV90eXBlIGNvbnN0ICYoKnBmbl90KSguLi4pOworICAgIG9wZXJhdG9yIHBmbl90KCkgY29uc3Qgdm9sYXRpbGU7Cit9OworCit0ZW1wbGF0ZTx0eXBlbmFtZSBDPgorc3RydWN0IHJlc3VsdF9vZl93cmFwX2NhbGxhYmxlX2NsYXNzIHsKKyAgdHlwZWRlZiByZXN1bHRfb2ZfY2FsbGFibGVfY2xhc3M8Qz4gdHlwZTsKK307CisKK3RlbXBsYXRlPHR5cGVuYW1lIEM+CitzdHJ1Y3QgcmVzdWx0X29mX3dyYXBfY2FsbGFibGVfY2xhc3M8QyBjb25zdD4geworICB0eXBlZGVmIHJlc3VsdF9vZl9jYWxsYWJsZV9jbGFzczxDPiBjb25zdCB0eXBlOworfTsKKwordGVtcGxhdGU8dHlwZW5hbWUgQz4KK3N0cnVjdCByZXN1bHRfb2Zfd3JhcF9jYWxsYWJsZV9jbGFzczxDIHZvbGF0aWxlPiB7CisgIHR5cGVkZWYgcmVzdWx0X29mX2NhbGxhYmxlX2NsYXNzPEM+IHZvbGF0aWxlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTx0eXBlbmFtZSBDPgorc3RydWN0IHJlc3VsdF9vZl93cmFwX2NhbGxhYmxlX2NsYXNzPEMgY29uc3Qgdm9sYXRpbGU+IHsKKyAgdHlwZWRlZiByZXN1bHRfb2ZfY2FsbGFibGVfY2xhc3M8Qz4gY29uc3Qgdm9sYXRpbGUgdHlwZTsKK307CisKK3RlbXBsYXRlPHR5cGVuYW1lIEM+CitzdHJ1Y3QgcmVzdWx0X29mX3dyYXBfY2FsbGFibGVfY2xhc3M8QyAmPiB7CisgIHR5cGVkZWYgdHlwZW5hbWUgcmVzdWx0X29mX3dyYXBfY2FsbGFibGVfY2xhc3M8Qz46OnR5cGUgJnR5cGU7Cit9OworCit0ZW1wbGF0ZTx0eXBlbmFtZSBGLCBib29sIFRlc3RDYWxsYWJpbGl0eSA9IHRydWU+IHN0cnVjdCBjcHAweF9yZXN1bHRfb2ZfaW1wbDsKKworI2Vsc2UgLy8gQk9PU1RfTk9fU0ZJTkFFX0VYUFIKKwordGVtcGxhdGU8dHlwZW5hbWUgVD4KK3N0cnVjdCByZXN1bHRfb2ZfYWx3YXlzX3ZvaWQKK3sKKyAgdHlwZWRlZiB2b2lkIHR5cGU7Cit9OworCit0ZW1wbGF0ZTx0eXBlbmFtZSBGLCB0eXBlbmFtZSBFbmFibGUgPSB2b2lkPiBzdHJ1Y3QgY3BwMHhfcmVzdWx0X29mX2ltcGwge307CisKKyNlbmRpZiAvLyBCT09TVF9OT19TRklOQUVfRVhQUgorCit0ZW1wbGF0ZTx0eXBlbmFtZSBGPgorc3RydWN0IHJlc3VsdF9vZl92b2lkX2ltcGwKK3sKKyAgdHlwZWRlZiB2b2lkIHR5cGU7Cit9OworCit0ZW1wbGF0ZTx0eXBlbmFtZSBSPgorc3RydWN0IHJlc3VsdF9vZl92b2lkX2ltcGw8UiAoKikodm9pZCk+Cit7CisgIHR5cGVkZWYgUiB0eXBlOworfTsKKwordGVtcGxhdGU8dHlwZW5hbWUgUj4KK3N0cnVjdCByZXN1bHRfb2Zfdm9pZF9pbXBsPFIgKCYpKHZvaWQpPgoreworICB0eXBlZGVmIFIgdHlwZTsKK307CisKKy8vIERldGVybWluZSB0aGUgcmV0dXJuIHR5cGUgb2YgYSBmdW5jdGlvbiBwb2ludGVyIG9yIHBvaW50ZXIgdG8gbWVtYmVyLgordGVtcGxhdGU8dHlwZW5hbWUgRiwgdHlwZW5hbWUgRkFyZ3M+CitzdHJ1Y3QgcmVzdWx0X29mX3BvaW50ZXIKKyAgOiB0cjFfcmVzdWx0X29mX2ltcGw8dHlwZW5hbWUgcmVtb3ZlX2N2PEY+Ojp0eXBlLCBGQXJncywgZmFsc2U+IHsgfTsKKwordGVtcGxhdGU8dHlwZW5hbWUgRiwgdHlwZW5hbWUgRkFyZ3M+CitzdHJ1Y3QgdHIxX3Jlc3VsdF9vZl9pbXBsPEYsIEZBcmdzLCB0cnVlPgoreworICB0eXBlZGVmIHR5cGVuYW1lIEY6OnJlc3VsdF90eXBlIHR5cGU7Cit9OworCit0ZW1wbGF0ZTx0eXBlbmFtZSBGQXJncz4KK3N0cnVjdCBpc19mdW5jdGlvbl93aXRoX25vX2FyZ3MgOiBtcGw6OmZhbHNlXyB7fTsKKwordGVtcGxhdGU8dHlwZW5hbWUgRj4KK3N0cnVjdCBpc19mdW5jdGlvbl93aXRoX25vX2FyZ3M8Rih2b2lkKT4gOiBtcGw6OnRydWVfIHt9OworCit0ZW1wbGF0ZTx0eXBlbmFtZSBGLCB0eXBlbmFtZSBGQXJncz4KK3N0cnVjdCByZXN1bHRfb2ZfbmVzdGVkX3Jlc3VsdCA6IEY6OnRlbXBsYXRlIHJlc3VsdDxGQXJncz4KK3t9OworCit0ZW1wbGF0ZTx0eXBlbmFtZSBGLCB0eXBlbmFtZSBGQXJncz4KK3N0cnVjdCB0cjFfcmVzdWx0X29mX2ltcGw8RiwgRkFyZ3MsIGZhbHNlPgorICA6IG1wbDo6aWZfPGlzX2Z1bmN0aW9uX3dpdGhfbm9fYXJnczxGQXJncz4sCisgICAgICAgICAgICAgcmVzdWx0X29mX3ZvaWRfaW1wbDxGPiwKKyAgICAgICAgICAgICByZXN1bHRfb2ZfbmVzdGVkX3Jlc3VsdDxGLCBGQXJncz4gPjo6dHlwZQore307CisKK30gLy8gZW5kIG5hbWVzcGFjZSBkZXRhaWwKKworI2RlZmluZSBCT09TVF9QUF9JVEVSQVRJT05fUEFSQU1TXzEgKDMsKDAsQk9PU1RfUkVTVUxUX09GX05VTV9BUkdTLDxuZG5ib29zdC91dGlsaXR5L2RldGFpbC9yZXN1bHRfb2ZfaXRlcmF0ZS5ocHA+KSkKKyNpbmNsdWRlIEJPT1NUX1BQX0lURVJBVEUoKQorCisjZWxzZQorIyAgZGVmaW5lIEJPT1NUX05PX1JFU1VMVF9PRiAxCisjZW5kaWYKKworfQorCisjZW5kaWYgLy8gQk9PU1RfUkVTVUxUX09GX0hQUApkaWZmIC0tZ2l0IGEvbmRuYm9vc3QvdXRpbGl0eS9zd2FwLmhwcCBiL25kbmJvb3N0L3V0aWxpdHkvc3dhcC5ocHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmY0ZTM2NgotLS0gL2Rldi9udWxsCisrKyBiL25kbmJvb3N0L3V0aWxpdHkvc3dhcC5ocHAKQEAgLTAsMCArMSw1NSBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDA3LCAyMDA4IFN0ZXZlbiBXYXRhbmFiZSwgSm9zZXBoIEdhdXRlcmluLCBOaWVscyBEZWtrZXIKKy8vCisvLyBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIChTZWUKKy8vIGFjY29tcGFueWluZyBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0CisvLyBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCisvLyBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlIGh0dHA6Ly93d3cuYm9vc3Qub3JnCisKKworI2lmbmRlZiBCT09TVF9VVElMSVRZX1NXQVBfSFBQCisjZGVmaW5lIEJPT1NUX1VUSUxJVFlfU1dBUF9IUFAKKworLy8gTm90ZTogdGhlIGltcGxlbWVudGF0aW9uIG9mIHRoaXMgdXRpbGl0eSBjb250YWlucyB2YXJpb3VzIHdvcmthcm91bmRzOgorLy8gLSBzd2FwX2ltcGwgaXMgcHV0IG91dHNpZGUgdGhlIGJvb3N0IG5hbWVzcGFjZSwgdG8gYXZvaWQgaW5maW5pdGUKKy8vIHJlY3Vyc2lvbiAoY2F1c2luZyBzdGFjayBvdmVyZmxvdykgd2hlbiBzd2FwcGluZyBvYmplY3RzIG9mIGEgcHJpbWl0aXZlCisvLyB0eXBlLgorLy8gLSBzd2FwX2ltcGwgaGFzIGEgdXNpbmctZGlyZWN0aXZlLCByYXRoZXIgdGhhbiBhIHVzaW5nLWRlY2xhcmF0aW9uLAorLy8gYmVjYXVzZSBzb21lIGNvbXBpbGVycyAoaW5jbHVkaW5nIE1TVkMgNy4xLCBCb3JsYW5kIDUuOS4zLCBhbmQKKy8vIEludGVsIDguMSkgZG9uJ3QgZG8gYXJndW1lbnQtZGVwZW5kZW50IGxvb2t1cCB3aGVuIGl0IGhhcyBhCisvLyB1c2luZy1kZWNsYXJhdGlvbiBpbnN0ZWFkLgorLy8gLSBuZG5ib29zdDo6c3dhcCBoYXMgdHdvIHRlbXBsYXRlIGFyZ3VtZW50cywgaW5zdGVhZCBvZiBvbmUsIHRvCisvLyBhdm9pZCBhbWJpZ3VpdHkgd2hlbiBzd2FwcGluZyBvYmplY3RzIG9mIGEgQm9vc3QgdHlwZSB0aGF0IGRvZXMKKy8vIG5vdCBoYXZlIGl0cyBvd24gbmRuYm9vc3Q6OnN3YXAgb3ZlcmxvYWQuCisKKyNpbmNsdWRlIDxhbGdvcml0aG0+IC8vZm9yIHN0ZDo6c3dhcAorI2luY2x1ZGUgPGNzdGRkZWY+IC8vZm9yIHN0ZDo6c2l6ZV90CisKK25hbWVzcGFjZSBuZG5ib29zdF9zd2FwX2ltcGwKK3sKKyAgdGVtcGxhdGU8Y2xhc3MgVD4KKyAgdm9pZCBzd2FwX2ltcGwoVCYgbGVmdCwgVCYgcmlnaHQpCisgIHsKKyAgICB1c2luZyBuYW1lc3BhY2Ugc3RkOy8vdXNlIHN0ZDo6c3dhcCBpZiBhcmd1bWVudCBkZXBlbmRlbnQgbG9va3VwIGZhaWxzCisgICAgc3dhcChsZWZ0LHJpZ2h0KTsKKyAgfQorCisgIHRlbXBsYXRlPGNsYXNzIFQsIHN0ZDo6c2l6ZV90IE4+CisgIHZvaWQgc3dhcF9pbXBsKFQgKCYgbGVmdClbTl0sIFQgKCYgcmlnaHQpW05dKQorICB7CisgICAgZm9yIChzdGQ6OnNpemVfdCBpID0gMDsgaSA8IE47ICsraSkKKyAgICB7CisgICAgICA6Om5kbmJvb3N0X3N3YXBfaW1wbDo6c3dhcF9pbXBsKGxlZnRbaV0sIHJpZ2h0W2ldKTsKKyAgICB9CisgIH0KK30KKworbmFtZXNwYWNlIG5kbmJvb3N0Cit7CisgIHRlbXBsYXRlPGNsYXNzIFQxLCBjbGFzcyBUMj4KKyAgdm9pZCBzd2FwKFQxJiBsZWZ0LCBUMiYgcmlnaHQpCisgIHsKKyAgICA6Om5kbmJvb3N0X3N3YXBfaW1wbDo6c3dhcF9pbXBsKGxlZnQsIHJpZ2h0KTsKKyAgfQorfQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL25kbmJvb3N0L3ZlcnNpb24uaHBwIGIvbmRuYm9vc3QvdmVyc2lvbi5ocHAKaW5kZXggZTg1ZWQxMi4uZDM4MjZjMiAxMDA2NDQKLS0tIGEvbmRuYm9vc3QvdmVyc2lvbi5ocHAKKysrIGIvbmRuYm9vc3QvdmVyc2lvbi5ocHAKQEAgLTE5LDcgKzE5LDcgQEAKIC8vICBCT09TVF9WRVJTSU9OIC8gMTAwICUgMTAwMCBpcyB0aGUgbWlub3IgdmVyc2lvbgogLy8gIEJPT1NUX1ZFUlNJT04gLyAxMDAwMDAgaXMgdGhlIG1ham9yIHZlcnNpb24KIAotI2RlZmluZSBCT09TVF9WRVJTSU9OIDEwNTMwMAorI2RlZmluZSBCT09TVF9WRVJTSU9OIDEwNTQwMAogCiAvLwogLy8gIEJPT1NUX0xJQl9WRVJTSU9OIG11c3QgYmUgZGVmaW5lZCB0byBiZSB0aGUgc2FtZSBhcyBCT09TVF9WRVJTSU9OCkBAIC0yNyw2ICsyNyw2IEBACiAvLyAgbnVtYmVyLCB5IGlzIHRoZSBtaW5vciB2ZXJzaW9uIG51bWJlciwgYW5kIHogaXMgdGhlIHBhdGNoIGxldmVsIGlmIG5vdCAwLgogLy8gIFRoaXMgaXMgdXNlZCBieSA8Y29uZmlnL2F1dG9fbGluay5ocHA+IHRvIHNlbGVjdCB3aGljaCBsaWJyYXJ5IHZlcnNpb24gdG8gbGluayB0by4KIAotI2RlZmluZSBCT09TVF9MSUJfVkVSU0lPTiAiMV81MyIKKyNkZWZpbmUgQk9PU1RfTElCX1ZFUlNJT04gIjFfNTQiCiAKICNlbmRpZgo=